基于Actor模型的广域分布式爬虫的设计与实现
本文选题:分布式 + 爬虫 ; 参考:《北京邮电大学》2016年硕士论文
【摘要】:计算机技术与网络技术的迅猛发展将我们带入了一个全新的互联网时代。网民们每天在互联网上可以产生大量的行为数据。本课题实现的基于Actor模型的广域分布式网络爬虫系统就是用于获取互联网上大量公开数据的一个基础框架系统。该系统通过搭建一套完整的分布式爬虫框架,为爬虫的开发提供了一体化的服务。得益于开源社区的活跃,目前已经有了一些比较成熟的开源爬虫系统,其中以Java版的Heritrix/Nutch和Python版的Scrapy较为被大家熟知。这些框架大都功能齐全,文档丰富,但是也存在一定的问题,在特定场景下,可能并不是最佳的选择。且由于长期的发展,其代码规模也十分庞大,在出现问题时较难诊断。另外,它们对于分布式的支持要么比较薄弱,要么依赖于其它分布式框架,在现今机器资源充足的条件下,显得比较单薄。在此背景下,本课题实现的基于Actor模型的广域分布式爬虫框架,是一个供爬虫开发者使用的系统。在该框架之上,开发者可以快速有效的完成一个分布式爬虫任务。本课题从实际的爬虫任务的功能和性能需求出发,制定了总体的设计方案,并以此为基础设计了一套完成的爬虫框架。从总体上看,本课题实现的系统分为五个模块,包括Master模块,Slave模块,Client模块,Worker模块和存储模块。其中,Master模块负责框架整体的运行;Slave模块负责在Slave节点建立运行进程;Worker模块负责具体页面的爬取解析和存储;Client模块负责作业的提交和运行时的操作管理;后端存储模块提供了数据的存储方式。各个模块在功能和运行态上相互独立,模块间的通信主要通过HTTP方式进行。在各个模块内部,又包含多个子模块。模块内各个子模块之间主要通过Actor模型进行消息通信。本文从详细设计与实现角度对系统进行了全面的剖析,并对系统进行了功能和性能测试。最后,本文对本课题完成的系统做了总结和展望,提出一些可行的改进方案。
[Abstract]:The rapid development of computer technology and network technology has brought us into a new Internet era. Internet users can produce a lot of behavior data on the Internet every day. The Wide-area distributed Web crawler system based on Actor model is a basic framework system for obtaining a large number of open data on the Internet. The system provides an integrated service for crawler development by building a complete distributed crawler framework. Thanks to the active open source community, there are some mature open source crawler systems, among which the Java version of Heritrix/Nutch and the Python version of Scrapy are well known. Most of these frameworks are fully functional and well documented, but there are some problems, which may not be the best choice in a particular scenario. And because of the long-term development, its code scale is very large, when the problem is difficult to diagnose. In addition, their support for distributed systems is either weak or dependent on other distributed frameworks. In this context, the Wide-area distributed crawler framework based on Actor model is a system for crawler developers. On top of this framework, developers can quickly and effectively complete a distributed crawler task. Based on the functional and performance requirements of the actual crawler task, the overall design scheme is formulated and a set of completed crawler framework is designed. On the whole, the system is divided into five modules, including Master module, client module and storage module. The master module is responsible for the running process of the Slave node and the storage client module is responsible for the submission of the job and the operation management of the run time. The module is responsible for establishing the running process in the Slave node and taking charge of the crawling and parsing of the page and the storage client module. The back-end storage module provides a way to store data. Each module is independent of each other in function and running state. The communication between modules is mainly carried out by HTTP. Within each module, there are several sub-modules. The message communication between each sub-module of the module is mainly carried out by Actor model. In this paper, the detailed design and implementation of the system from the point of view of a comprehensive analysis, and the system function and performance test. Finally, this paper summarizes and prospects the system completed in this paper, and puts forward some feasible improvement schemes.
【学位授予单位】:北京邮电大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP311.52
【相似文献】
相关期刊论文 前10条
1 李侃,,王兵山;Actor模型的继承机制研究[J];计算机工程与科学;1995年01期
2 金玉净;朱文文;伏玉琛;刘全;;基于Tile Coding编码和模型学习的Actor-Critic算法[J];计算机科学;2014年06期
3 ;A Proposal of Adaptive PID Controller Based on Reinforcement Learning[J];Journal of China University of Mining & Technology;2007年01期
4 董哲,刘琳,田籁声;基于ACTOR模型的并发面向对象语言AC++[J];软件学报;1997年03期
5 唐昊;陈栋;周雷;吴玉华;;SMDP基于Actor网络的统一NDP方法[J];控制与决策;2007年02期
6 吴众欣;钱德沛;黄泳翔;;基于软件管道Actor模型的BPEL流程转化研究[J];计算机技术与发展;2009年07期
7 王寻羽,朱淼良,徐文渊;基于Actor的虚拟环境系统研究[J];计算机辅助设计与图形学学报;2001年01期
8 ;A Formal Method to Model Early Requirement of Multi-Agent System[J];Wuhan University Journal of Natural Sciences;2004年04期
9 林昊;;在Java中使用协程[J];程序员;2010年03期
10 冯嵩;;.net平台下的Agent迁移设计与实现[J];电脑与电信;2008年07期
相关会议论文 前3条
1 ;Synchronization of Master-slave System With Mixed Delays Using Intermittent Control[A];第二十九届中国控制会议论文集[C];2010年
2 ;Chaos Synchronization of Master-slave Hyperbolic-type Generalized Lorenz Systems via Linear State Error Feedback Control[A];第二十七届中国控制会议论文集[C];2008年
3 ;Synchronization of Master-Slave Systems with Mixed Time Delays and Mismatched Parameters[A];第二十七届中国控制会议论文集[C];2008年
相关博士学位论文 前1条
1 赵新元;无线传感器/执行器网络协作机制研究[D];华东师范大学;2017年
相关硕士学位论文 前7条
1 陈凌鹏;基于Actor模型的广域分布式爬虫的设计与实现[D];北京邮电大学;2016年
2 黄善柒;基于Actor模型的数据分发系统的设计与实现[D];北京邮电大学;2017年
3 高宇翔;Actor模型在工业流水线控制系统的应用[D];华南理工大学;2012年
4 符琦;WSANs中Sensor与Actor协调机制的研究[D];国防科学技术大学;2006年
5 郑兰琴;事件驱动的服务生成系统[D];北京邮电大学;2016年
6 彭佳;Twelve Years a Slave(节选)翻译实践报告[D];南昌大学;2015年
7 闫浩洁;加拿大Slave克拉通Muskox金伯利岩中橄榄岩包体的含水量和组构[D];南京大学;2017年
本文编号:1871352
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/1871352.html