分布式网络爬虫的设计与实现——分布式算法研究和系统架构设计


    







    毕 业 文

    分布式网络爬虫设计实现
    ——分布式算法研究系统架构设计












    摘 
    着网络技术发展Web信息海量增加信息需求断加专门负责Web信息采集网络爬虫技术面着巨挑战集中式单机网络爬虫运行效率低搜索时间长等缺点情况已难重分布式网络爬虫单机网络爬虫法拟信息采集速度规模满足日益增长Web信息需求
    文通分布式网络爬虫相关知识技术研究设计中心化拓扑结构基础分布式网络爬虫架构中台机作控制中心节点台机作爬行节点局域网中连接控制中心节点进行务分配协调调度爬行节点行爬取网页信息通务分配策略分配粒度研究系统采二级哈希映射务分配算法实现分布式系统协调机制控制中心节点协调爬行节点避免重复爬行均衡全面采集网页信息
    终开发实现容错力强负载均衡爬行性良分布式网络爬虫系统原型程序进行详细测试评估实验结果验证分布式网络爬虫行性高效性
    关键词:分布式系统网络爬虫务分配




















    Abstract
    With the development of network technology Web information increase rapidlyat the same time people's information needs have also increased so the network technology of Web Crawler is faced with enormous challengesbecause of A single Web Crawler has some disadvantage such as low operating efficiency long search time etcIt is difficult to crawl the whole Web as comprehensive as possible for a single CrawlerDistributed Crawler can run more than one Crawler to crawl the Web information concurrentlyso Distributed Crawler sovle the problem of the increasing Web information on demand
    Based on the knowledge and technology of distributed crawler researchthis paper design the architecture of Distributed Crawler with center of a topologybased including one PC as the control center more than one PC as crawling nodes with the LAN connected Nodes from the control center for distribution of tasks coordination of scheduling a number of parallel crawling node information from the page This paper also study the strategy of task allocation and distribution of particle size achieve a distributed system coordination mechanisms with twolevel hash task distributed algorithm
    Ultimatelythis paper introduce how to develop a balancedcomprehensivestrong and efficient Distributed Crawler to collect Web pages from the Internet
    Key words Distributed System Web Crawler Task Allocation
    目 录
    第章 引言 1
    11 课题研究背景意义 1
    12 文工作容 2
    13 文组织结构 3
    第二章 分布式网络爬虫相关知识 4
    21 搜索引擎工作原理 4
    22 分布式集中式网络爬虫 6
    221 集中式网络爬虫 6
    222 分布式网络爬虫 7
    223 分布式系统优缺点 8
    23 分布式网络爬虫研究现状 9
    第三章 分布式网络爬虫系统架构设计 11
    31 分布式拓扑结构选取 11
    311 中心化拓扑结构 11
    312 全分布式非结构化拓扑结构 12
    313 全分布式结构化拓扑结构 13
    314 半分布式拓扑结构 13
    315 拓扑结构选取 14
    32 系统功分析设计目标 15
    33 系统基结构设计 16
    331 系统总体结构设计 16
    332 控制中心结构设计 17
    333 爬行节点结构设计 19
    第四章 分布式协调机制实现 23
    41分布式务分配 23
    411分配策略 23
    412分配粒度 25
    413务分配函数 26
    414务分配算法 27
    42节点理通信 29
    421控制中心爬行节点理 29
    422控制中心爬行节点信息传输 30
    第五章 系统实现测试分析 32
    51系统实现 32
    511开发环境类组织结构 32
    512系统架构实现 33
    513控制中心类详细设计 35
    52运行结果 37
    53测试分析 40
    531 分布式爬行单机爬行较测试 40
    532 分布式爬行性测试 43
    第六章 结束语 45
    [参考文献] 46
    致谢语 48














    Contents
    CHAPTER 1 INTRODUCTION 1
    11 Background 1
    12 Contents 2
    13 Structure 3
    CHAPTER 2 KNOWLEDGE OF DISTRIBUTED WEB CRAWLER 4
    21 Principles of search engine 4
    22 Distributed and single crawler 6
    221 Single web crawler 6
    222 Distributed web crawler 7
    223 The advantege of distrituted 8
    23 Research status of distributed crawler 9
    CHAPTER 3 DESIGN OF SYSTEM STRUCTURE 11
    31 Selection of Topology 11
    311 Centralized Topology 11
    312 Distributed nonstructure Topology 12
    313 Distributed structure Topology 13
    314 Partially Decentralized Topology 13
    315 Selection 14
    32 Design Objectives 15
    33 Structure Design 16
    331 Structure Design of System 16
    332 Structure Design of Control center 17
    333 Structure Design of Crawling node 19
    CHAPTER 4 IMPLEMENTATION OF COORDINATION MECHANISM 23
    41Task Allocation 23
    411Strategy 23
    412Mission size 25
    413Function 26
    414Algorithm 27
    42Management and Communication 29
    421 Management 29
    422 Communication 30
    CHAPTER 5 RESULTS AND TEST 32
    51Implementation 32
    511Development environment 32
    512Implementation of Structure 33
    513Class of Control center 35
    52Results 37
    53Test and Analysis 40
    531 Test between Distributed and Single 40
    532 Performance testing 43
    CHAPTER 6 CONCLUSIONS 45
    REFERENCES 46
    ACKNOWLEDGEMENTS 48









    第章 引言
    11 课题研究背景意义
    着国际互联网(internet)迅速发展网信息越越全球目前网页超30亿天新增加百万网页浩瀚信息海洋里寻找信息海捞针样困难搜索引擎正解决问题出现技术搜索引擎通互联网搜索信息重途径信息检索工智计算机网络分布式处理数库数挖掘数字图书馆然语言处理等领域理技术具高综合性强挑战性搜索引擎网页信息源种做网络爬虫信息采集程序提供
    网络爬虫指Web漫游定规动Web采集网页计算机程序常称蜘蛛(Spider)机器(Robot)者漫游者(Wanderer)等通俗讲网络爬虫种载网页信息采集程序通常网络爬虫初始URL集合开始首先URL放进队列网络爬虫运行时队列中取出URL载指页面载页面中提取出新URL然新URL放进队列程网络爬虫反复执行直停止运行清晰网络爬虫执行程实际互联网遍历程网络爬虫载页面保存磁盘建立索引供日分析容
    网络爬虫应领域十分广泛目前搜索引擎GoogleAltaVistaExciteMSN等拥实现网络爬虫综合性搜索引擎载量Web页面建立索引户搜索信息提供资源年兴起题搜索中利网络爬虫技术题搜索中网络爬虫访问量Web页面载特定容信息(例邮件址)网络爬虫桌面应爬行器特定户检索感兴趣页面建立页面缓户快速浏览信息提供便利搜索引擎说采集互联网网页目前公布数容量搜索引擎采集整网页数量百分四十左右[1]中原方面网络爬虫技术瓶颈法遍历网页
    [2]许网页法网页链接中找原存储技术处理技术问题果页面均20K计算100亿网页容量100*2000G字节够存储载存问题台机器均秒载20K计算需340台机器停载年时间网页载完毕互联网页面数量迅速增穷载互联网容时果数量太搜索引擎提供搜索时会效率方面影响搜索引擎网络爬虫抓取重网页抓取时候评价重性某网页链接深度
    索引网页数量质量坏评价搜索引擎重指标[3]高效网络爬虫系统搜索引擎重基础出商业机密考虑目前搜索引擎网络爬虫系统技术幕般公开现文献仅限概性介绍[4][5][6]斯坦福学Google康柏研究中心Mercator卡基梅隆学WebSPHINX分布式网络爬虫详细设计实现少涉[3]MercatorWebSPHINX单机运行 信息搜集速度较限目前互联网规模说 已法效时间范围完成次全面搜集整Web务分布式网络爬虫系统采机行工作 提高整系统工作效率 具良扩展性 必然发展趋势
    12 文工作容
    文根分布式网络爬虫技术研究开发容错力强负载均衡爬行性良分布式网络爬虫系统原型程序工作容:
    1研究网络爬虫工作原理组成部分分析分布式网络爬虫相传统集中式网络爬虫优点
    2调研前分布式网络爬虫研究现状
    3设计分布式系统体系结构详细设计控制中心节点爬行节点功组成模块
    4分布式算法进行研究通研究务分配策略务分配粒度务分配函数设计二级哈希映射务分配算法通务分配节点通信协作实现分布式协调机制
    5实现全部控制中心节点程序部分爬行节点程序编写实现控制节点爬行节点交互控制中心实时监控爬行节点
    13 文组织结构
    第章介绍课题研究背景意义概述文工作容文组织结构
    第二章介绍分布式网络爬虫相关知识通搜索引擎工作原理引出网络爬虫搜索引擎中作分布式集中式爬虫做分析较介绍分布式网络爬虫研究现状
    第三章介绍爬虫系统架构设计包括分布式拓扑结构选取系统设计目标系统结构设计着重介绍控制节点爬行节点功模块设计
    第四章介绍分布式协调机制实现包括务分配策略务分配粒度务分配算法节点理通信方法
    第五章介绍系统实现测试包括系统实现细节运行结果较测试性测试
    第六章结束语总结概述全文
    第二章 分布式网络爬虫相关知识
    21 搜索引擎工作原理
    搜索引擎指根定策略运特定计算机程序搜集互联网信息信息进行组织处理信息显示户户提供检索服务系统总体说搜索引擎分目录搜索引擎全文搜索引擎文讨全文搜索引擎技术
    者角度搜索引擎提供包含搜索框页面搜索框输入词语通浏览器提交搜索引擎搜索引擎会返回户输入容相关信息列表
    功角度搜索引擎搜集互联网成千万网页网页中容关键词进行索引建立索引数库供户进行全文搜索户需查找某关键词时页面容中包含该关键词页面会搜索出文研究网络爬虫搜索引擎中负责信息采集程序搜索引擎中数源先通搜索引擎工作原理介绍网络爬虫搜索引擎中作


    图21 搜索引擎基构成

    图描述搜索引擎基构成信息采集器互联网采集存储信息网页分析处理索引器进行处理建立索引数库户通查询接口索引数库中查询信息信息通复杂算法排序结果呈现户百度Google搜索框键入单词进行搜索时搜索需求实时海量互联网信息数中寻找相关页面搜索引擎身前已做许工作搜索引擎工作原理纳三步:互联网抓取网页建立索引数库索引数库中搜索排序查询


    图22 搜索引擎工作原理简图

    图描述搜索引擎工作原理网络爬虫获取互联网量网页信息交索引程序建立索引提交户查询程序供户传统搜索引擎工作功结构划分分三部分:互联网获取信息爬虫模块建立全文索引库索引模块户查询模块面简介绍模块作
    1网络爬虫模块
    网络爬虫实际基 web 程序初始网页集出发遍历Internet动采集网络信息爬虫开某HTML 页面会分析HTML 标记结构获取信息获取指页面超级链接然通定搜索策略选择访问站点理讲果
    Spider 指定适初始文档集适网络搜索策略遍历整网络性程度影响搜索引擎站点规模
    2索引模块
    网络爬虫爬取网页信息固定格式获取索引建立程序信息进行分析针页面中出现关键词建立种利快速查找数结构索引供搜索引擎搜索引擎选择索引数结构时通常考虑两素:紧凑数结构高效检索力搜索引擎建立索引时候面海量信息考虑记录时具体字节中位样达种较合理科学性空间膨胀合理数结构关键词检索更加迅速通常三种索引建立基技术:倒排文件缀数组签名文件倒排文件前数信息获取系统中应关键词搜索非常效缀数组短语查询中具较快速度该结构维护相较麻烦签名文档已倒排索引技术代处理网页程包括部分文档特征量提取网页筛选相关度分析文档分类入库操作
    3户查询模块
    户查询模块搜索引擎户间接口首先获取户查询条件加分析然访问索引数库进行匹配获检索结果然根设定相关度进行降序排序处理返回户
    22 分布式集中式网络爬虫
    221 集中式网络爬虫
    集中式网络爬虫指运行单机集中爬取网页网络爬虫程序工作原理:定组初始URL 种子集合通爬虫体程序线程分获取种子URL URL 应html 页面获取进行分析页面容提取模块页面中供搜索引擎建索引信息获取保存起种子提取模块html 页面中新指页面链接提取出系列处理保存起供继续爬行
    爬虫网络中爬行时候Web 网页集合成图定起始URL 开始着网页中链接定策略进行通常种遍历算法:
    1深度优先算法
    该算法指网络爬虫会选定超链接开始条线路链接访问直达条线路叶子节点包含超链接HTML 文件处理完条线路转入起始页继续访问新起始页面包含链接中条直达叶子结点方法优点网络爬虫设计时候较容易
    2广度优先算法
    广度优先算法指网络爬虫会先抓取起始网页中包含链接网页然选择中链接网页继续抓取网页中链接网页种搜索方法实现通网络爬虫佳方法特点易实现够避免陷进穷深层分支中网络爬虫行处理提高抓取速度
    3启发式搜索算法
    启发式搜索算法源工智先通线获领域知识评价访问链接价值推断信息资源分布情况然定原选择价值链接进行步搜索找达目标节点佳路径删节点保留节点该算法题爬虫
    222 分布式网络爬虫
    着 WWW 信息爆炸性增长网络爬虫信息采集速度越越满足实际应需型信息采集系统Web 覆盖率 30-40%刷新遍已采集页面常常需数周月时间致集中式搜索引擎已出现效率瓶颈网庞数字化信息获取需信息力间矛盾日益突出
    解决问题直接办法升级信息采集器硬件采处理力更强计算机系统然种方法扩展性限性价高找更选择分布式方式进行网页信息采集分布式网络爬虫集中式网络爬虫更高性规模网络爬虫发展重方分布式网络爬虫做集中式网络爬虫组合成分布式系统中节点作集中式网络爬虫分布式爬虫集中式爬虫工作原理基相前者需节点协作完成网页爬行分布式爬虫效率远远高集中式爬虫分布式爬虫系统结构种工作方式相典型分布式爬虫系统节点仅
    web 页面获URL时节点接收URL然节点URL 应网页进行解析属爬行范围URL 转发节点
    223 分布式系统优缺点
    分布式系统优势身缺点首先软件问题部分分布式软件设计较复杂第二问题通信网络关网络丢失数需特殊软件处理载网络饱时换掉增加新网络两种选择需全部部分重新布线更换网卡系统分赖网络时网络中数丢失载会抵消分布式系统优点第三数享导致安全性问题忽视问题
    述潜问题总说分布式优点超缺点见表21

    表21 分布式系统相集中式系统优点
    优点
    说明
    济性
    机微处理器提供型机更性价格
    高效性
    分布式系统利机行计算提高计算力增加工作效率
    分布性
    物理分散机器充分利机器资源

    某台机器崩溃时整系统正常工作
    扩展性
    计算力逐步增加

    分布式系统应越越广泛搜索引擎系统言采分布式系统更利弊
    Internet 身分布式适合采分布式方案搜集信息搜索引擎系统采分布式继承分布式系统身优点时通精心设计避免分布式系统身缺点
    23 分布式网络爬虫研究现状
    搜索引擎中找户需信息求搜索引擎索引网页索引网页数量评价搜索引擎坏关键素采分布式技术短时间搜集网页研制高效搜索引擎关键技术
    目前止分布式网络爬虫系统已少应例现著名 Google Alta Vista 搜索引擎采网络爬虫系统商业机密等素影响较详细介绍分布式网络爬虫系统文章基 Web 信息采集分布式理完善然研究目前较著名分布式爬虫Google CrawlerMercatorInternet Archive CrawlerUbiCrawler 等[7][8]国北天网Web Gather 爬虫系统[9]
    Google 分布式爬虫系统四台机器组成中台机器中央机三台机器负责爬行网页中央机通信中央机文件里读取URL分发机器Crawler 进程爬虫采异步IO 时300 网站获取数Crawler 载页面压缩存放磁盘然Indexer 进程HTML页面中URL 提取出存放磁盘文件中URL Resolver 进程读取存放链接文件中相链接转化绝链接然存入文件供中央机读取足处果中央机失效整系统会停止工作中央机URL 分发模块常常成整系统瓶颈
    Mercator Alta Vista 搜索引擎网络爬虫完全JAVA 写成Mercator 扩展性非常通增减换模块实现功Mercator 采数结构爬行规模占限存数结构部分硬盘中存放Mercator 存放URL checksum 值样节省量存磁盘空间Mercator 访问URL 建立缓存该缓存命中率达85%提高系统性方面Mercator 系统做非常工作重写JAVA 核心库建立缓存采高速硬盘系统Mercator 证明
    JAVA 语言达较高性
    Internet Archive 爬虫系统采机器搜集网页Crawler 进程负责搜集64 Web 站点网页[10]Crawler 起始URL 集合中读取采异步IO 行爬取网页网页载提取出超链接果超链接属Crawler 负责搜集Web 站点加入未访问URL 集合否存储交叉URL 文件中批处理模块定期分配交叉URL文件相应搜集模块程中滤掉重复URL[11]

    表22 种著名分布式网络爬虫较

    Google
    Mercator
    Internet
    Archive
    UbiCrawler
    URL存储结构
    ――
    Hash Table 数结构
    Bloom Filter 数结构
    ――
    编程语言类库
    C++python
    Java重写Java类库
    ――
    Java
    行度(节点)
    异步IO
    300连接
    步 IO 100线程
    异步 IO
    64线程
    步 IO
    4线程

    第三章 分布式网络爬虫系统架构设计
    31 分布式拓扑结构选取
    拓扑结构指分布式系统中计算单元间物理逻辑互联关系结点间拓扑结构直确定系统类型重[12][13]根拓扑结构关系分4 种结构中心化拓扑结构(Centralized Topology)全分布式非结构化拓扑结构(Decentralized Unstructured Topology)全分布式结构化拓扑结构(Decentralized Structured Topology)半分布式拓扑结构(Partially Decentralized Topology)面分介绍种结构特点
    311 中心化拓扑结构
    种结构中节点作中心节点节点中心节点通信[13]爬行节点发现新URL 时提交中心节点然中心节点负责务转发相应节点结构图示:

    图31 中心化拓扑结构图

    种结构优点中心节点存分布式系统理维护较简单节点加入退出时中心节点通信会出现系统视图致情况缺点两性低:果中心节点崩溃整分布式系统会崩溃效率低:爬行节点数量较时中心节点常常堪重负成系统瓶颈
    312 全分布式非结构化拓扑结构
    种结构中节点等节点客户机服务器结构图示:


    图32 全分布式非结构化拓扑结构图

    种结构网络动态变化较容错力性较高[14]缺点网络规模较时节点间相互通信效率较低带宽消耗较
    313 全分布式结构化拓扑结构
    全分布式非结构化拓扑结构处种结构中节点系统中部分节点通信前者节点系统中节点进行通信节点间相互通信赖分布式哈希表(Distributed Hash Table简称DHT)[15]DHT实际广域范围量结点维护巨Hash 表Hash 表分割成连续块节点分配属Hash 块成Hash 块理者Hash表中存储节点通信节点信息种结构着良扩展性健壮性适规模网络结构图示:


    图33 全分布式结构化拓扑结构图

    314 半分布式拓扑结构
    种结构种层次性结构中心化结构全分布式非结构化拓扑结构结合体选择性较高(处理存储带宽等方面性)节点作超级点(Super Node )超级点存储系统中部分节点信息超级点间采全分布式非结构化拓扑结构连接超级点子节点间采中心化拓扑结构连接结构图示:


    图34 半分布式拓扑结构图

    种结构吸取中心化结构全分布式非结构化拓扑结构优点性扩展性较容易理适规模网络缺点系统超级点赖性较容错性健壮性受影响
    315 拓扑结构选取
    前面述分布式系统拓扑结构中半分布式拓扑结构全分布式结构化拓扑结构适规模网络节点间赖关系较复杂规模网络中体现出优势全分布式非结构化拓扑结构中节点做客户机做服务器达容错性节点余节点进行通信占网络资源节点数目逐渐增加时凸显冗余缺点
    考虑课题运行环境局域网中系统中节点数目规模限采中心化拓扑结构实现控制中心协调爬行节点行爬行分布式系统结构爬行节点控制中心进行通信控制中心统协调爬行节点工作
    32 系统功分析设计目标
    文开发分布式网络爬虫系统采CS架构控制中心节点作Server端爬行节点作Client端Server协调控制Client进行行爬取网页程序功需求:
    控制中心(Server端):
    1操作性配置性爬行节点爬行参数配置包括爬行初始网页爬行深度开启爬行线程数目等等
    2监控性爬行节点爬行状态进行动态监控Server端实时显示爬行节点运行状态包括爬行节点ID号爬行起始时间运行时间爬取效网页数量超时网页数量等等
    3动态务分配务分配整分布式爬虫系统关键合理高效务分配爬行节点避免重复爬取达负载衡前提Server端做两件事:分配URL务相应爬行节点接收爬行节点非务(非务属爬行节点务集合)
    4负载衡性控制中心分配爬行节点务量应达负载衡
    5容错性考虑实际应中网络爬虫系统会运行长时间会存某爬行节点障控制中心爬行节点障时做出相应调节包括务分配器调整控制中心节点障出错考虑文选取中心拓扑结构暂讨种情况考虑中心节点障选前面讨全分布式拓扑结构Server端崩溃时爬行节点接Server端工作
    爬行节点(Client端):
    1接收控制中心分配务URL集进行爬取网页行
    2属身URL集发送回控制中心
    3身爬行信息发送控制中心
    33 系统基结构设计
    331 系统总体结构设计
    图35示分布式网络爬虫系统采CS架构控制中心作Server端爬行节点作Client端控制中心控制协调爬行节点行爬取网页处行包含两层含义爬行节点行爬取二单节点开启线程行爬取爬行节点爬取结果存入统数库中便搜索引擎步建立索引数库爬行节点控制中心交互交互信息接收务集合发送非务集合发送节点爬行信息(控制中心监控)


    图35 系统总体结构图

    332 控制中心结构设计
    控制中心节点详细划分5模块:务分配模块信息监控模块URL传输模块节点信息传输模块爬行节点理模块控制中心结构模块间关系图36示


    图36 控制中心工作流程图
    图示控制中心工作流程:
    1户输入爬行参数通节点信息传输模块传递爬行节点作爬取网页行
    2户输入起始URL种子网址通务分配模块分配相应爬行节点
    3接收爬行节点非务集合然通务分配模块URL传输模块分配相应爬行节点
    4爬行节点爬行信息通信息监控模块反馈控制中心
    面功模块具体分析:
    1务分配模块
    务分配模块负责URL分配相应爬行节点做工作接收URL集合通务分配算法确定应节点然发送相应爬行节点
    中务分配算法涉务分配策略URL散列算法务分配粒度等关键技术会章详细介绍务分配应爬行节点进行务派发处涉爬行节点统理Socket通信Java IO技术章详细介绍
    2信息监控模块
    信息监控模块负责实时监控爬行节点爬行状态控制中心动态显示观察爬行节点否负载衡爬行效率速度否均衡便实现操作性体现控制中心协调调度作系统处运行状态信息监控模块实时接收爬行节点发送节点状态信息(隔1s接收次)状态信息包括节点ID爬行开始时间爬行运行时间爬取效网页数量爬取超时网页数量等然信息动态显示控制中心端视化界面起整分布式系统监控作
    3URL传输模块
    URL传输模块负责控制中心爬行节点间传输URL传输务包括接收爬行节点非务发送已分配务应爬行节点
    4节点信息传输模块
    节点信息传输模块负责爬行参数起始URL发送爬行节点爬行节点稳定运行开始互联网爬取网页信息实时爬行节点爬行状态信息发回控制中心
    5爬行节点理模块
    爬行节点理模块负责理爬行节点爬行节点ID号递增形式理模块注册理模块建立爬行节点ID连接线程输入输出流映射关系务分配模块URL分配应爬行节点时调爬行节点理模块找应连接线程输入输出流务分配应爬行节点具体实现细节第五章详细介绍
    爬行节点理模块考虑节点效性监控网络爬虫程序般需运行较长时间存中某者爬行节点出现障性爬行节点减少分动退出动障爬行节点动退出时需控制中心发送退出消息便控制中心做出相应调整遇障出错时控制中心知晓解决问题控制中心爬行节点理模块需做两件事负责接收爬行节点退出信息二间隔段时间爬行节点发送效性判断消息果回应说明爬行节点运行正常果回应说明爬行节点障退出
    333 爬行节点结构设计

    图37 爬行节点工作流程图

    爬行节点详细划分5模块:爬行模块(包含载模块网页解析模块优雅爬行模块三子模块)数存储模块务定位模块URL传输模块节点信息传输模块爬行节点结构模块间关系图37示
    爬行节点工作流程:
    1通URL传输模块接收控制中心务URL开始进行爬取工作爬行参数通节点信息传输模块接收
    2通载模块起始URL进行链接载期间调优雅爬行模块访问网站Robottxt协议
    3载网页容进行网页解析容存储网页容数库时抽取超链接传递务定位模块
    4务定位属身爬行范围添加爬队列继续爬行属添加非务队列非务达定量(URL数目达50)发送回控制中心
    5开始爬行身爬行状态信息发送回控制中心
    面功模块具体分析:
    1爬行模块
    爬行模块负责具体种子URL址开始互联网进行网页爬取分三子模块包含载模块网页解析模块优雅爬行模块
    载模块务级模块提供URL根提供URL址该址指Web服务器建立会话连接读取该URL址指网页数流提供网页解析模块进行进步分析进行网页载时根结点计算机硬件运行情况需行开设线程数控制佳数量样保证web服务器会出现类似拒绝服务攻击(DOS)反应页面漏取基DOS攻击利合理服务请求占服务资源致服务超载法响应请求[1617]Web服务器理员防止种恶意者非意服务器造成障行做防范措施IP发出TCPIP请求必须定数目否视攻击文系统web服务器通信时候必须避免种情况出现
    网页解析模块根载模块获取网页文档数流根HTML语法数流中解析出标签容根标签做出处理通MetaData解析获取网页编码Title解析获取网页标题Contents解析获取摘Links解析获取超链接容存储数库超链接进行处理进步爬行
    优雅爬行模块务遵循网站robotstxt协议避免Web网站服务器短时间频繁访问增加服务器访问负担爬行程中爬虫节点会获取URL址Host进行抽取分析然缓存映射表中查询否已读取该网站robotstxt文件果读取取出映射表中该网站应拒绝列表查询URL址否属拒绝列表中项果判断允许继续访问果拒绝访问该URL址该URL址进行摒弃
    2数存储模块
    数库存储模块爬虫节点采集页面URL标题长度更新日期采集时间页面类型等元数存储数库中页面应数库条记录包含页面简说明样续某处理程中中获必信息必查页面容
    3务定位模块
    务定位效新URL址进行务分配工作URL址进行必判断判断否重复链接判断否已爬行判断否服务器拒绝访问等等URL需进行务分配通控制中心节点相分配算法新增效URL址进行散列重定位果定位该URL属爬行节点ID机爬行节点ID符话URL加入非务队列等传输回控制中心节点控制中心节点负责URL分配URL属爬行节点进行爬行
    4URL传输模块
    URL传输模块负责控制中心爬行节点间传输URL传输务包括接收控制中心分派务URL集合属身非务发送控制中心分配
    5节点信息传输模块
    节点信息传输模块负责接收爬行参数起始URL网址开始爬行负责爬行状态信息发送回控制中心便进行监控URL传输模块节点信息传输模块控制中心爬行节点中逆应关系

    第四章 分布式协调机制实现
    41分布式务分配
    411分配策略
    根域划分分布式网络爬虫分两种:种基局域网网络爬虫种基广域网网络爬虫基局域网网络爬虫节点运行局域网通高速连接进行相互通信完成网页采集基广域网网络爬虫节点分布域较远广域网通广域网进行通信实际应中基局域网爬虫应更广基广域网爬虫实现复杂设计实现成高般实力雄厚采集务较重公司会种爬虫文设计爬虫基局域网爬虫
    整Web视巨图[18]中结点实际中网页
    结点间边代表网页间超链接面讨Web采集务进行划分务分配模式涉链接处理程Web图简化网页集合G务分配目采集进程间达负载均衡考虑采集机器Web站点通信带宽Web服务器性负载差异情况采集进程务量简单载Web页面数衡量整集合G进行完全分配种务分配模式研究问题
    分布式网络爬虫系统中爬行节点行爬取网页根节点间协作方式分配策略分三种[19]:
    1独立方式
    分布式系统中节点单独运行 互通信网络信息复杂性 难找种方法网络信息分成单独块 种方案分布式信息搜集系统中般少采果针信息量搜集言独立方案性例 分布式系统中n 节点 节点搜集性均p 整系统信息量搜集性n×p
    2静态分配策略
    URL 事先分配策略分配节点静态分配方案关键URL 划分策略 URL 划分策略占少系统开销 解决URL 匹配系统负载衡问题静态分配方案存缺陷 跨节点URL 问题 URL 某节点发现 处理搜集程中缺失量信息
    3动态分配策略
    分布式系统存控制模块 系统运行程中 动态分配URL 节点利节点控制模块间通信 动态分配方案实现网络信息搜集工作分布式系统部信息通信占带宽 系统中节点原搜集性p 降 系统信息量搜集性n×p 造成整体性降低
    动态分配策略两种方式[20]:集中方式 N 爬行节点定规 Web 页面集合G 划分 M( M > N ) 务子集 G1G2 … GM然前 N 子集务分配 N 爬行节点进行处理系统存负责务分配控制节点采集进程完成务控制节点分配务子集分配该节点进行处理节点采集程中发现属务子集务时会该务提交控制节点决定该务分配节点二动态哈希方式: URL 哈希函数划分分配爬行节点种分配方式存种跨区链接[21][22](指采集节点提取链接时遇属采集范围链接)难题跨区链接定属爬行节点发现果爬行节点采集重复采集果采集漏采解决问题采取交换模式采集属节点 URL链接保存起积累定数量传输控制节点控制节点分发属爬行节点
    三种方案分析表明 独立方案信息搜集性存重复采集缺陷静态分配方案实现效果较 存技术缺陷动态分配方案处理网络信息搜集理想化[19]
    文设计分布式网络爬虫系统采动态分配策略二级哈希方式台控制中心节点负责务分配调度台爬行节点负责爬取网页URL务集统控制中心通二级哈希散列爬行节点爬行节点负责爬取定位该节点URL爬行网页判断否属身务范围果属继续爬行果属保存非务队列非务达定量时发回控制中心控制中心统进行分配通务分配避免爬行节点重复爬取爬行节点务量均衡提高整系统爬行效率时控制中心爬行节点保证定时定量URL传输降低节点间URL传输带资源消耗
    412分配粒度
    通常务分配粒度种:[20]
    1机划分
    种方法简单网页机判断采集采集两缺
    点首先导致结点采集重复度较高利提高整系统网页
    覆盖率次采集器需重新采集网页时产生划分结
    果利分布式计算文档重度
    2根网页
    通散列函数网页URL进行散列根散列值决定网页采集器负责URL发相应结点缺点需结点间传递较URL通信开销较
    3根网站
    散列象网页URL中网站部分结果表明网页中90链接指身站点意味着降低通信开销HOST(URL)网页址域名部分(称机部分)通常应某台Web服务器URL域名然划分(URL1URL2属划分块仅HOST(URL1)HOST(URL2)记HOST(URLs)元素台机网页集合引起混淆情况方便HOST(URLs)元素成涉机域名
    文采第三种方法基思路HOST(URLs)进行机分配建立HOST(URLs)爬行节点间映射旦HOST(URL)映射某爬行节点该爬行节点负责HOST(URL)面网页收集机网页数量相差互联网HOST(URLs)爬行节点数限分配函数足够机保证分配爬行节点网页数量基均衡实现相简单Java中URL类提供getHost()函数直接取URL字符串机名字符串然根面介绍分配函数host进行散列
    413务分配函数
    根文述URLhost进行散列应爬行节点(ClientID号)进行务分配决定该URL发送爬行节点程具体URL字符串进行哈希散列哈希函数文献[23]中Web信息采集中种哈希函数做详细较分析中包括天罗Web信息采集系统中采Tianlhash函数许文献中推荐字符串哈希效果ELFhash函数天网搜索引擎中HfIp函数hf函数验字符串函数Strhash
    文献[23]中天网搜索引擎搜集19993890URL序列实验数源述五函数分实验考察相URL序列输入情况函数突率50万URL序列间隔19993890URL输入执行函数统计发生哈希值突次数测试结果图示中横轴表示输入URL序列数目轴表示函数哈希突率


    图41 信息采集哈希函数突率较

    图示着输入URL序列增函数突率逐渐减少突率ELFHashStrhashTianlhash三函数表现较ELFHash函数较成熟许文献推荐字符串哈希效果较函数根文设计分布式网络爬虫系统实际情况文采ELFHash函数URLhost进行散列计算
    ELFHash函数接收散列URLhost字符串系统中爬行节点数返回该host应爬行节点号函数具体实现代码图42示


    图42 ELFHash函数
    414务分配算法
    1级哈希映射算法
    级哈希映射算法简单种映射方法采全局Hash 函数运行节点间动态分配新解析出URL数学公式表达该分配函数:
    node_id hash( new_urlhost) physic_num (公式 41)
    中node_idURL发节点号new_urlhost新解析出URL机字符串physic_num 实际运行节点总数
    种方法通正确选取哈希散列函数均匀量URL散列节点分布式网络爬虫爬行节点需长时间运行存某节点障出错系统运行程中爬行节点总数产生变化旦节点数目变化采级哈希散列方法原务分配方法失效
    例网页URLhost总量n爬行节点总数m系统初始运行时哈希函数n 取模保证系统负载衡n→n+1 情况哈希函数n+1取模时保证系统负载衡模数改变原先分配节点ni负责URL 分配nj负责导致重复搜集已搜集网页n→n1 情况具样缺陷弥补种缺陷提出二级哈希映射算法[24]
    2二级哈希映射算法
    该算法首先 Hash 函数新解析出URL 映射张逻辑节点表然逻辑节点表中虚拟节点映射实际节点控制中心通务分配器URL计算哈希值需两次哈希运算确定URL 应该分配节点样系统进行高效均衡分布式URL分配系统具容错性扩展性文讨分布式网络爬虫采种算法
    面具体描述该算法实现细节:
    次爬行周期系统规模般确定假设次爬行周期中爬行节点数目会超逻辑结点数logic_num系统前实际运行物理节点数目physic_num明显logic_num≥physic_num相应节点两张表:张逻辑节点表存储logic_num逻辑节点信息logic_num表元素张物理节点表存储系统前实际存节点信息physic_num表元素存储boolean 类型数组idArray_logic[logic_num]表示逻辑节点表表元素果物理应节点存值true否false存储int类型数组idArray_physic[physic_num]表示物理节点表存储物理节点ID值标准化URL第次哈希运算属逻辑结点号id_logicid_logichash(new_urlhost)logic_num果应元素idArray_logic[id_logic]值true表明该逻辑节点应物理节点id_logic该URL属爬行节点号果false说明该逻辑节点目前没应物理节点需通第二次哈希运算映射该元素URL均分系统前物理节点第二次哈希映射计算出值数组idArray_physic[physic_num]中应元素物理结点号id_physicid_physic idArray_physic[hash(new_urlhost) physic_num]样获应物理节点ID号样系统根计算物理节点ID号传递
    URL达务分配目


    图43 二级哈希映射示意图

    图43表示二级哈希映射方法例爬行节点减少n→n1时逻辑结点总数变物理结点总数减少应逻辑结点表中元素
    idArray_logic[n]true变false第次哈希映射中原散列节点nURL第二次散列均分n1物理结点样解决节点数目变化造成务分配错乱重复爬行网页问题
    42节点理通信
    421控制中心爬行节点理
    分布式系统中分布式协调机制直接决定系统效性性[25]控制中心动态进行务分配通务分配算法URL务定位某爬行节点时找相应爬行节点务派发涉控制中心爬行节点理机制


    图44 节点理映射图

    图44示控制中心爬行节点理实现:首先控制中心爬行节点局域网中连接考虑系统性安全性文实现系统采TCP连接程序启动时Server端(控制中心节点)开启两端口端口URL传输端口节点信息传输然循环监听Client(爬行节点)请求监听第Client连接请求ClientID号赋值0时开启两线程服务线程ServerThread[0]监控线程MonitorThread[0]然监听第二Client连接赋值ID号1开启ServerThread[1] 服务线程MonitorThread[1]监控线程类推Server端爬行节点理模块维护已建立连接Client信息静态量数组Vector分维护服务线程集合监控线程集合ID号数组标建立映射关系
    422控制中心爬行节点信息传输
    控制中心爬行节点信息传输包括URL传输节点信息传输两部分
    具体实现采Java中io包中象输入输出流ObjectInputStreamObjectOutputStream节提Server端Client端建立应关系应关系运行着服务线程ServerThread监控线程MonitorThread线程中维护着通应关系Socket套接字开输入流输出流Server端Client端分维护输出输出流Server端某Client端通信时通映射关系找Client维护输入输出流然调输入流ReadObject()方法读入调WriteObject()方法写出完成节点间通信
    特说明ObjectInputStreamObjectOutputStream传输已序列化象传输定义象时象类必须实现Serializable接口传输基象基象必须序列化系统中采存储URL数结构ArrayList例爬行节点非务集合传输回控制中心非务集合ArrayList类型象时整ArrayList象爬行节点端WriteObject()方法写出Java中writeObject()readObject()序列化分序列化程根JavaAPI描述象默认序列化机制写入容:象类类签名非瞬态非静态字段值象引(瞬态静态字段外)会导致写入象根Java中ArrayList定义中存储数组元素瞬态(Transient)实现时遍历ArrayList中StringString象进行传输




    第五章 系统实现测试分析
    51系统实现
    511开发环境类组织结构
    文实现分布式网络爬虫系统原型程序开发环境
    软件环境:开发语言:Java开发工具:Eclipse Gamymede
    操作系统:Windows XP数库:MySQL 50

    图51 系统类组织结构图
    图51示控制中心(DCrawlerServer)爬行节点(DCrawlerClient)类组织结构图图中出程序包组成类划分中类功实现细节面详细介绍
    512系统架构实现


    图52 爬虫系统架构实现图

    图52描述控制中心爬行节点交互时系统架构实现爬行节点通文述节点理实现类似
    1分布式网络爬虫系统维护4URL队列控制中心维护未分配队列接收爬行节点发非务爬行节点分维护未访问队列取出务进行爬行已访问队列存放访问队列非务队列存放定位属身非务线程队列进行入队出队操作队列静态全局变量线程队列进行操作函数必须步数结构采ArrayList
    2控制中心建立连接爬行节点开启服务线程ServerThread线程中维护控制中心该爬行节点通信输入输出流
    3爬行节点开启爬行线程CrawlThread互联网进行爬取开启爬行线程数取决控制中心配置参数
    4控制中心系统运行时开启三线程爬行节点交互分:
    ReceUDMissionThread接收未分派务线程接收爬行节点属爬行节点非务加入未分配务队列unDistributeQueue
    DistributeThread分派线程调务分配器MissionDistributorURL务分派相应爬行节点务分配器MissionDistributor未分配务队列unDistributeQueue中取出没分派URL根务分配算法定位属爬行节点分派该爬行节点
    MonitorThread信息监控线程系统启动时负责爬行参数起始网址发爬行节点爬行节点运行负责接收爬行节点爬行状态信息控制中心显示
    5爬行节点系统运行时开启三线程控制中心交互分三线程相应:
    sendNotOwnThread发送非务线程爬行节点爬行程中根务定位器发现属身爬行范围URL存入非务队列系统设置50阀值非务队列中URL数量等50时中URL发送控制中心时清空非务队列
    ReceMissionThread接收务线程接收控制中心分派URL务加入未访问队列unVisitedQueue
    SendInfoThread发送爬行状态信息线程爬行节点开始运行隔05秒爬行状态信息发送控制中心包括运行时间爬取效网页数量爬取超时网页数量等具体实现线程循环运行休眠05秒调输出流writeObject()爬行状态信息写出爬行状态信息包成ClientInfo象进行传输
    513控制中心类详细设计


    图53 控制中心类图

    类功详细工作容介绍:
    1ServerMain服务端运行类ServerControlGUI界面视图类实例化调main()函数运行控制中心程序运行main()函数时开启两Socket套接字端口8888端口URL传输9999端口节点信息传输
    2ThreadManager线程理类类部静态类[26]存ServerMain类部静态类直接调节点理中量数组Vector记录爬行节点开启服务线程ServerThread监控线程MonitorThread映射关系节点ID号进行应
    3ServerThread服务线程类该线程控制中心协调支配爬行节点线程爬行节点控制中心间存服务线程该线程实例化开启接收未分配务线程ReceUDMissionThread分派线程DistributeThread两线程需参数处理传入线程时维护静态未分配务队列存储ReceUDMissionThread线程接收未分配务提供务分配器分配服务线程应爬行节点维护输入输出流便进行通信
    4MonitorThread监控线程类服务线程样爬行节点控制中心间存监控线程功相简单开始时负责配置参数传递爬行节点配置参数包装ConfigParameter象中开始运行负责接收爬行节点动态信息
    5 ReceUDMissionThread接收未分配务线程类爬行节点发送非务线程应接收URL添加未分配务队列unDistributeQueue处注意入队操作进行步
    6 DistributeThread分派线程类爬行节点接收务线程应判断unDistributeQueue空调务分配器进行务分派
    7MissionDistributor务分配器类负责接收欲分配URL然分配相应爬行节点包括前文讨哈希函数DLFHash()务定位函数MissionLocate()务分配函数MissionDistribute()URL通务定位函数MissionLocate()应爬行节点ID号然通务分配函数调节点理类ThreadManager通ID号应服务线程进输出流URL发送指定爬行节点完成务分配程
    8ClientInfoConfigParameter节点信息类配置参数类分封装节点信息配置参数信息
    52运行结果


    图54 分布式网络爬虫控制中心节点界面

    控制中心节点程序界面图54示控制面板参数配置面板监控面板组成
    控制面板:执行开始爬行停止爬行清空配置信息退出等操作
    参数配置面板:爬行节点数爬取行参数进行配置
    监控面板:显示系统爬行节点动态爬行信息中系统中运行爬行节点应tab标签页分显示监控信息
    运行时先设置爬行节点数爬行深度单节点爬行线程数起始网址(者)等参数信息点击Set钮然等爬行节点连接爬行节点建立连接点击Start钮开始爬行爬行节点开始工作监控面板分动态显示爬行节点状态信息


    图55 分布式网络爬虫节点爬行结果显示

    爬虫节点程序界面图55图56图57示控制面板基信息显示面板爬行结果显示面板组成
    控制面板:设置连接机IP址连接清空爬行信息退出操作
    基信息显示面板:显示爬行节点基信息包括节点ID爬行深度爬行线程数信息控制中心配置参数设置
    爬行结果显示面板:包括三tab标签页爬行结果URL爬行结果消息交互信息方动态显示节点爬行状态包括爬行网页总数效连接数超时连接数
    运行时设置机(控制中心)IP址点击Connect钮建立连接控制中心执行开始爬行动作爬行节点开始运行爬行程中会量结果显示显示面板便查适时点击
    Clear crawl message钮清空显示信息

    显示模块包括三结果面板:
    图55示爬行结果面板显示爬行节点爬行链接URL


    图56 分布式网络爬虫节点爬行消息显示

    图56示爬行消息面板显示URL应网页标题摘信息户更加清晰解该URL指网页具体容

    图57 分布式网络爬虫节点交互信息显示
    图57示交互信息面板显示爬行节点控制中心节点间交互容包括爬行节点发送控制中心节点非务控制中心节点分派爬行节点务信息
    53测试分析
    531 分布式爬行单机爬行较测试
    节单机爬行分布式爬行进行较测试单机测试运行单爬行节点失般性分布式爬行时运行两行爬行节点测试硬件环境网络环境均相较两种情况爬行结果
    1单机爬行测试
    参数配置:

    表51 单机爬行参数配置
    参数
    参数值
    爬行节点数
    1
    爬行深度
    5
    爬行线程数
    10
    起始网址
    httpwww163com

    爬行结果:

    表52 单机爬行结果
    爬行时间(分钟)
    30
    60
    90
    120
    150
    180
    载网页数
    3560
    7535
    11028
    14040
    17100
    19825
    爬行速度(分钟)
    119
    126
    122
    117
    114
    110

    2两节点行爬行测试
    参数配置:

    表53 两节点爬行参数配置
    参数
    参数值
    爬行节点数
    2
    爬行深度
    5
    爬行线程数
    10
    起始网址
    httpwww163com
    URL转发阀值
    50

    爬行节点1爬行结果:



    表54 行节点1爬行结果
    爬行时间(分钟)
    30
    60
    90
    120
    150
    180
    载网页数
    3300
    6780
    10080
    12600
    15150
    17280
    爬行速度(分钟)
    110
    113
    112
    105
    101
    96

    爬行节点2爬行结果:

    表55 行节点2爬行结果
    爬行时间(分钟)
    30
    60
    90
    120
    150
    180
    载网页数
    3420
    7080
    9000
    11640
    13950
    15840
    爬行速度(分钟)
    114
    118
    100
    97
    93
    88


    图58 分布式单机性较图

    表52表54表55爬行结果数分布式单机性较图示爬虫运行三时测试中测试结果分析:
    1载网页数量着爬行时间均匀增长爬行速度渐慢趋势原系统持续运行资源逐渐增
    2分布式节点行爬行性明显优单机爬行行节点总明显高单机节点爬行网页量
    3单行节点效率单机节点相降点降时必然现象正常范围行节点时爬行时候公外网络接口网络带宽成行爬行瓶颈预测着行爬行节点增单行节点爬行效率单机节点相差越爬行结果总远远高单机节点
    4两行节点负载均衡爬行结果见两行节点爬行速度相
    532 分布式爬行性测试
    节通改变分布式爬行节点数测试分布式爬行性分开启248爬行节点运行3时进行测试爬行节点参数设置节配置相测试结果数:
    2爬行节点爬行结果:

    表56 2爬行节点爬行结果
    爬行时间(分钟)
    30
    60
    90
    120
    150
    180
    单节点载网页数均值
    3422
    7088
    9022
    11602
    13946
    15493
    单节点爬行速度(分钟)
    114
    118
    100
    97
    93
    88
    载网页总数
    6845
    14176
    18043
    23205
    27892
    30987

    4爬行节点爬行结果:

    表57 4爬行节点爬行结果
    爬行时间(分钟)
    30
    60
    90
    120
    150
    180
    单节点载网页数均值
    3060
    5880
    8190
    9960
    11100
    12240
    单节点爬行速度(分钟)
    102
    98
    91
    83
    74
    68
    载网页总数
    12240
    23520
    32760
    39840
    44400
    48960

    8爬行节点爬行结果:


    表58 8爬行节点爬行结果
    爬行时间(分钟)
    30
    60
    90
    120
    150
    180
    单节点载网页数均值
    1920
    3720
    5220
    6480
    7650
    8100
    单节点爬行速度(分钟)
    64
    62
    58
    54
    51
    45
    载网页总数
    15360
    29760
    41760
    51840
    61200
    64800


    图59 变化节点数爬行性较图

    表56表57表58爬行结果数性较图示爬虫运行三时测试中测试结果分析:
    1着爬行节点数增单节点爬行速度降低单节点载网页数量减少爬行节点爬取力降低节点增加重控制中心负担控制中心节点通信量增加通信效率降低
    2着节点增整系统载网页总数增节点数指数增长没带载总量指数增长实验数见8爬行节点相4爬行节点爬行总量没出倍出50着爬行时间延长逐渐降趋势载总量增长幅度理想反单节点爬行效率幅降硬件条件限制(限增加爬行节点数)根系统性分析建议开启46爬行节点进行网页爬取
    第六章 结束语
    网络信息迅速增长天网络爬虫网络信息采集成信息获取重手段传统集中式网络爬虫爬行效率低搜索时间长等缺陷已难应信息获取需求文针问题提出种行分布式网络爬虫系统设计方案
    实现效分布式网络爬虫需解决两问题分布式架构搭建文通分布式拓扑结构研究根系统实际功目标设计分布式系统架构中心化拓扑结构基础台机作控制中心节点台机作爬行节点控制中心节点负责务分配协调调度通信传输爬行节点行进行网页爬取工作文中详细描述控制中心节点爬行节点结构设计功模块划分模块间协工作二分布式协调机制实现什样分布式算法进行务分配节点理信息传输文中通务分配策略分配粒度研究设计二级哈希映射务分配算法时节点理信息传输方法进行介绍
    开发实现容错力强负载均衡爬行性良分布式网络爬虫系统原型程序进行详细测试评估实验结果验证分布式网络爬虫相集中式单机爬虫够更高校进行信息采集工作具较稳定性
    时间限文开发分布式网络爬虫系统改进完善空间例爬行节点动态增加时支持务数迁移分布式爬虫系统支持断点续爬解决系统长时间运行时爬取结果分布式存储等问题希学中进步深入研究系统进行改进完善
    [参考文献]
    [1]Steve LawrenceCLee GilesSearching the World Wide Web[J]Science1998(3) 98100
    [2]尹江等网络爬虫效率瓶颈分析解决方案[J]计算机应2008(5)11141116
    [3]叶允明水张岭分布式Web Crawler研究:结构算法策略[J]电子学报2002
    (12)5558
    [4]BarrosoLADeanJHolzleWeb search for a planetThe Google cluster
    architecture[J]Digital Object Identifier2003(4)107117
    [5]George SamarasOdysseas PapapetrouDistributed Location Aware Web Crawling[J]
    In Proceedings of the 13th international World Wide Web conferenceNew YorkUSAACM Press2004468469
    [6]Boon Thau LooSailesh KrishnamurthyOwen CooperDistributed Web Crawling over
    DHTs[R]UC Berkeley Technical Report UCBCSD413052004(2)
    [7]Dustin Boswell Distributed Highperformance Web Crawlers A Survey of the State ofthe Art[J]2003(5)
    [8]Vladislav ShkapenyukTorsten SuelDesign and Implementation of a
    HighPerformance Distributed Web Crawler[J]Technical Report TRCIS2001(3)
    [9]阎宏飞扩展Web 信息搜集系统设计实现应初探[D]北京:北京学2002(6)
    [10]Allan HeydonMarc NajorkMercatorA scalableextensible web crawler[J] In Proceedings of 8th International World Wide Web ConferenceCanadaACM Press
    1999219229
    [11]李学勇欧阳柳波网络蜘蛛搜索策略较研究[J]计算机工程应2004(8)
    [12]Paolo BoldiBruno Codenotti Massimo Santini and Sebastiano Vigna UbiCrawler
    A Scalable Fully Distributed WebCrawler[J]2003(5)
    [13]王凤红简单分布式网络爬虫模型设计分析[J]中国现代教育装备2008(6)
    [14]李卫疆赵铁军网络爬行器分布式设计[J]计算机工程200935(4)105107
    [15]Boon ThauLooOwen Cooper and Sailesh Krishnamurthy Distributed Web Crawling
    over DHTs[J]2004(4)
    [16]C EEugene Schultz著段海新等译网络安全事件响应[M]北京民邮电出版社
    20022550
    [17]冉晓旻信息安全策略[M]信息网络安全20035070
    [18]TSuel and Jun YuanCompressing the graph structure of the Web[J]2004(5)
    [19]淑庆李村合张培颖URL分级散列分布式搜索引擎中应[J]电子技术应
    2006(7)2527
    [20]苏璇分布式网络爬虫技术研究实现[D]哈尔滨:哈尔滨工业学2006
    [21]Marc NajorkJanet LWienerBreadthFirst Search Crawling Yields High Quality Pages[J]InProceedings of 10th International World Wide Web ConferenceHong KongACM Press2001114118
    [22]Jenny EdwardsKevin McCurleyJohn TomlinAn Adaptive Model for Optimizing
    Performance of an Incremental Web Crawler[J]InProceedings of the 10th
    International World Wide Web ConferenceHong KongACM Press2001106113
    [23]吴丽辉白硕等 Web信息采集中哈希函数较[J]电子学报2006(7)115118
    [24]张岭等种高性分布式Web Crawler 设计实现[J]海:海交通学学报
    200438(1)5961
    [25]赵钦行爬行器架构优化[D]北京:北京工业学2006
    [26]Elliotte Rusty Harold Java network programming[M]O'Reilly Press2004
    致谢语
    值文完成际厦门学科学生活结束谨予私帮助老师学致诚挚谢意
    感谢文指导教师教授林老师严谨治学态度渊博学识孜孜倦工作作风着深远影响次林老师交流获益匪浅 林老师致诚挚感谢敬意
    感谢黄炜师兄毕业设计中提出宝贵建议指明方少走弯路教会研究方法做事态度时感谢完成毕业设计陈迅学间沟通交流互相帮助毕业设计工作利完成
    感谢厦门学软件学院老师学起时光终身难忘
    感谢亲尤感谢父母正关爱支持断前进动力
    谨关心帮助老师学家表示真诚谢意


    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 55 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    毕业设计管理系统的设计与实现

    毕业设计管理系统的设计与实现 摘 要 随着Internet的飞速发展及互联网的普及,计算机已广泛用于政府、军事、科研、商业等部门,连接到千家万户,利用计算机实现毕业设计管...

    5年前   
    2625    0

    分布式数据处理

    分布式数据处理 整个70年代中期,流行的思想是利用大型设备采用集中信息服务的方式来争取公司信息服务的全面性和综合性。随着规模的扩大,灵活性就降低了,这就削弱了信息服务部门的响应能力。这种...

    10年前   
    593    0

    基于BS架构的网络教学平台的设计与实现

    当今是网络信息时代,出现了很多行业都依靠互联网的发展,这就是互联网+的概念。现在中国的网络教育如火如茶,百花齐放,有职业教育,有中小学教育,留学教学,兴趣教育等等,都利用了互联网的便捷性进行着知...

    3年前   
    663    0

    进程调度算法的实现计算机操作系统课程设计

    题目2 进程调度算法的实现2.1 题目的主要研究内容及预期达到的目标(1)设计进程控制块; (2)设计多个进程队列; (3)设计多个进程(≥20); (4)动态生成时间片、执行时间和优先级,...

    3年前   
    580    0

    操作系统课程设计银行家算法的模拟实现

    操作系统课程设计报告专业计算机科学与技术学生姓名班级学号指导教师完成日期信息工程学院题目: 银行家算法的模拟实现 一、设计目的本课程设计是学习完“操作系统原理”课程后进...

    3年前   
    677    0

    —基于机器学习的人脸识别算法的设计与实现

    人脸识别技术是一种新型的生物特征认证技术。人脸识别技术也是一个非常活跃的研究领域,涵盖了许多领域,例如数字图像处理。随着人们对应用程序需求的增长,面部识别技术趋向于大量使用,使用微芯片和标准化。

    3年前   
    815    0

    线索二叉树算法的设计与实现

    随着时代的不断进步,计算机技术也随之得到发展。数据结构在计算机技术的发展中起到巨大的作用。数据结构为构建出高效的计算机算法打下了坚实的基础。良好的数据结构能够提高算法效率的同时也能减少对系统资源的占用[

    3年前   
    999    0

    基于WEB的停车场管理系统设计和实现毕业设计

    20XX 届 毕 业 论 文(设计)论文(设计)题目基于WEB的停车场管理系统的设计和实现院系名称计算机科学与技术系专业(班级)计算机科学与技术2005级本科班姓名(学号) 指导教师 ...

    3年前   
    697    0

    网上书店系统的设计与实现毕业设计

     密级: (2013 — 2017年) 题 目 网上书店系统的设计与实现 ...

    4年前   
    1222    0

    分布式光伏发电系统验收表格

    分布式光伏发电系统验收表格项目编号项目名称项目地址联系人联系电话项目装机规模并网电压工程完工时间验收日期验收当日天气状况验收时间以下由现场验收人员填写第一部分:土建基础、光伏组件及固定支架现场...

    2年前   
    565    0

    基于SpringBoot博客系统的设计与实现

     基于SpringBoot博客系统的设计与实现Design and implementation of bl...

    2年前   
    960    0

    仓库管理系统的设计与实现

    1 绪论随着社会经济的不断进展,各个企业也面临着各种机遇和挑战。为了能够在这个信息化的时代连续进展下去,就必需紧跟上时代的脚步。随着网络技术的不断进展, 现代物流技术也在不断的更换代。传统的人...

    1年前   
    270    0

    电子公文管理系统设计与实现

    电子公文管理系统设计与实现  1 引言   公文是政府军队等各类部门请示汇报、命令下达等工作中的重要部分。传统的公文归档以纸质原件为主,存放在档案局等部门,当归档公文数目逐渐增多时,公文的查找...

    9年前   
    823    0

    双汇物流管理系统的设计与实现

    世纪的前十年是我国物流行业飞速开展的十年,伴随着网络购物的指数性增长,以及城市化商业的迅速开展,物流公司如雨后春笋般崛起,三通一达、德邦、中外运等都已经开展成全国规模型物流企业,然而随着市场的不...

    2年前   
    776    0

    餐饮管理系统的设计与实现

     题 目 餐饮管理系统的设计与实现 学生姓名 焦诚 学号 1121024048 所在学院 ...

    2年前   
    692    0

    餐饮管理系统的设计与实现

    摘 要1.背景目的:随着我国经济发展和人民生活水平显著提高,全社会对餐饮业的需求量也越来越大;伴随着消费的持续增长,餐饮行业已经成为现代社会中发展最快的行业之一。要想在激烈的市场竞争中生存,...

    3年前   
    963    0

    酒店管理系统的设计与实现

     酒店管理系统的设计与实现 摘 要 随着计算机网络的飞速发展,Internet技术越来越广泛的应用,网络覆盖的区域不断扩大,给酒店业计算机应用带来了蓬勃发展的机遇。采用全...

    5年前   
    1713    0

    最终电子教务管理系统设计与实现

    随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。

    2年前   
    665    0

    小区物业管理系统设计与实现

    小区物业管理系统设计与实现 摘 要 随着我国科学技术和社会经济的不断发展,人们对住宅的要求也越来越高,为了适应社会的这一需求,物业管理系统应用而生。本系统利用计算机与互联网的优势,采...

    5年前   
    2021    0

    图书借阅系统的设计与实现

    绪 论图书馆对于我们来说也是耳熟能详了,据我们所知,在各个小到小学,初中、高中,大到大学基本没所学校都有图书馆,它是一个聚集了信息资源的一个地方。在没有当今时代飞速发展的信息网络的时代,图书...

    3年前   
    633    0

    文档贡献者

    山***1

    贡献于2019-05-18

    下载需要 55 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档