基于Actor模型的廣域分布式爬蟲的設(shè)計(jì)與實(shí)現(xiàn)
本文選題:分布式 + 爬蟲; 參考:《北京郵電大學(xué)》2016年碩士論文
【摘要】:計(jì)算機(jī)技術(shù)與網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展將我們帶入了一個全新的互聯(lián)網(wǎng)時代。網(wǎng)民們每天在互聯(lián)網(wǎng)上可以產(chǎn)生大量的行為數(shù)據(jù)。本課題實(shí)現(xiàn)的基于Actor模型的廣域分布式網(wǎng)絡(luò)爬蟲系統(tǒng)就是用于獲取互聯(lián)網(wǎng)上大量公開數(shù)據(jù)的一個基礎(chǔ)框架系統(tǒng)。該系統(tǒng)通過搭建一套完整的分布式爬蟲框架,為爬蟲的開發(fā)提供了一體化的服務(wù)。得益于開源社區(qū)的活躍,目前已經(jīng)有了一些比較成熟的開源爬蟲系統(tǒng),其中以Java版的Heritrix/Nutch和Python版的Scrapy較為被大家熟知。這些框架大都功能齊全,文檔豐富,但是也存在一定的問題,在特定場景下,可能并不是最佳的選擇。且由于長期的發(fā)展,其代碼規(guī)模也十分龐大,在出現(xiàn)問題時較難診斷。另外,它們對于分布式的支持要么比較薄弱,要么依賴于其它分布式框架,在現(xiàn)今機(jī)器資源充足的條件下,顯得比較單薄。在此背景下,本課題實(shí)現(xiàn)的基于Actor模型的廣域分布式爬蟲框架,是一個供爬蟲開發(fā)者使用的系統(tǒng)。在該框架之上,開發(fā)者可以快速有效的完成一個分布式爬蟲任務(wù)。本課題從實(shí)際的爬蟲任務(wù)的功能和性能需求出發(fā),制定了總體的設(shè)計(jì)方案,并以此為基礎(chǔ)設(shè)計(jì)了一套完成的爬蟲框架。從總體上看,本課題實(shí)現(xiàn)的系統(tǒng)分為五個模塊,包括Master模塊,Slave模塊,Client模塊,Worker模塊和存儲模塊。其中,Master模塊負(fù)責(zé)框架整體的運(yùn)行;Slave模塊負(fù)責(zé)在Slave節(jié)點(diǎn)建立運(yùn)行進(jìn)程;Worker模塊負(fù)責(zé)具體頁面的爬取解析和存儲;Client模塊負(fù)責(zé)作業(yè)的提交和運(yùn)行時的操作管理;后端存儲模塊提供了數(shù)據(jù)的存儲方式。各個模塊在功能和運(yùn)行態(tài)上相互獨(dú)立,模塊間的通信主要通過HTTP方式進(jìn)行。在各個模塊內(nèi)部,又包含多個子模塊。模塊內(nèi)各個子模塊之間主要通過Actor模型進(jìn)行消息通信。本文從詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)角度對系統(tǒng)進(jìn)行了全面的剖析,并對系統(tǒng)進(jìn)行了功能和性能測試。最后,本文對本課題完成的系統(tǒng)做了總結(jié)和展望,提出一些可行的改進(jìn)方案。
[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.
【學(xué)位授予單位】:北京郵電大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2016
【分類號】:TP311.52
【相似文獻(xiàn)】
相關(guān)期刊論文 前10條
1 李侃,,王兵山;Actor模型的繼承機(jī)制研究[J];計(jì)算機(jī)工程與科學(xué);1995年01期
2 金玉凈;朱文文;伏玉琛;劉全;;基于Tile Coding編碼和模型學(xué)習(xí)的Actor-Critic算法[J];計(jì)算機(jī)科學(xué);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模型的并發(fā)面向?qū)ο笳Z言AC++[J];軟件學(xué)報(bào);1997年03期
5 唐昊;陳棟;周雷;吳玉華;;SMDP基于Actor網(wǎng)絡(luò)的統(tǒng)一NDP方法[J];控制與決策;2007年02期
6 吳眾欣;錢德沛;黃泳翔;;基于軟件管道Actor模型的BPEL流程轉(zhuǎn)化研究[J];計(jì)算機(jī)技術(shù)與發(fā)展;2009年07期
7 王尋羽,朱淼良,徐文淵;基于Actor的虛擬環(huán)境系統(tǒng)研究[J];計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào);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中使用協(xié)程[J];程序員;2010年03期
10 馮嵩;;.net平臺下的Agent遷移設(shè)計(jì)與實(shí)現(xiàn)[J];電腦與電信;2008年07期
相關(guān)會議論文 前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年
相關(guān)博士學(xué)位論文 前1條
1 趙新元;無線傳感器/執(zhí)行器網(wǎng)絡(luò)協(xié)作機(jī)制研究[D];華東師范大學(xué);2017年
相關(guān)碩士學(xué)位論文 前7條
1 陳凌鵬;基于Actor模型的廣域分布式爬蟲的設(shè)計(jì)與實(shí)現(xiàn)[D];北京郵電大學(xué);2016年
2 黃善柒;基于Actor模型的數(shù)據(jù)分發(fā)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D];北京郵電大學(xué);2017年
3 高宇翔;Actor模型在工業(yè)流水線控制系統(tǒng)的應(yīng)用[D];華南理工大學(xué);2012年
4 符琦;WSANs中Sensor與Actor協(xié)調(diào)機(jī)制的研究[D];國防科學(xué)技術(shù)大學(xué);2006年
5 鄭蘭琴;事件驅(qū)動的服務(wù)生成系統(tǒng)[D];北京郵電大學(xué);2016年
6 彭佳;Twelve Years a Slave(節(jié)選)翻譯實(shí)踐報(bào)告[D];南昌大學(xué);2015年
7 閆浩潔;加拿大Slave克拉通Muskox金伯利巖中橄欖巖包體的含水量和組構(gòu)[D];南京大學(xué);2017年
本文編號:1871352
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/1871352.html