- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于流水线负载平衡模型的并行爬虫研究,并行爬虫,流水线并行,流水线平衡,流水线平衡率,流水线平衡案例,装配流水线设计与平衡,网络负载平衡,负载平衡,三相负载不平衡
第35卷 第2期 计 算 机 工 程 2009年 1月
Vo1.35 No.2 ComputerEngineering January2009
· 软件技术与数据库 · 文章编号:100_3428(2oo9)o2—_0o34一I3 文献标识码:A 中圈分类号:TP311
基于流水线负载平衡模型的并行爬虫研究
盂祥乾,叶允明,邓 斌
(哈尔滨工业大学深圳研究生院,深圳 518055)
摘 要:针对并行爬虫系统在多任务并发执行时所遇到的模块间负载平衡问题,提出流水线负载平衡模型(PLB),将不同的任务抽象为独
立模块而达到各模块的处理速度相等,采用多线程的方式实现基于PLB的并行爬虫,根据线程的休眠和缓冲区的变化对线程数量进行动态
调整以实现PLB。实验结果表明该方法具有良好的运行效率和稳定性。
关健词:爬虫;并行;流水线;负载平衡
StudyonParallelCrawlerBasedonPipelineLoadBalancingM odel
MENG Xiang-qian,YEYun-ming,DENG Bin
(ShenzhenGraduateSchool,HarbinInstituteofTechnology,Shenzhen518055)
[Abstract]ThispaperproposesaloadbalancingmodelnamedPipelineLoadBalancing(PLB),tOaddresstheloadbalancingproblemamong
concurrentmodulesinapraallelcrawlingsystem.DifferenttasksinPLB raeimplementedasindependentmoduleswhichhavesimilarprocessing
abilities.Dynamicmulti-threadingandbufferingmechanismsraeemployedtoimplementaPLB—basedpraallelcrawler.Thenumberofthreadsis
adjustedaccordingtothechanginginbuffersizeandwaitingintervalofahtread.ExperimentalresultsshowthatthePLB—basedcrawlerprovides
highperformanceaswellasgoodstability.
[Keywords]crawler;parallel;pipeline;loadbalancing
高效的网络爬虫(crawler)是搜索引擎的重要基础。采用 大小等因素的影响波动较大,所以实现动态的负载平衡调整
多任务并发执行,实现类似于CPU的流水线(pipeline)运行方 十分必要。
式,可极大地提高网络和计算资源的利用率等性能。流水线
稳定高效运行的关键在于各执行单元问的动态负载平衡,但
目前对并行爬虫的研究大多集中于对任务进行有效分割和各
模块的实现方法上 l【J,很少涉及多任务间的并发执行。本文
研究了并行化爬虫中流水线式的动态负载平衡问题,抽象出
流水线负载平衡(PipelineLoadBalancing,PLB)模型,介绍了
针对该目标模型的多线程式实现方法,包括增加与减少线程
数量的测算与实现算法,通过对比实验验证了该模型及其实
现的有效性。
1 面向网络爬虫的PLB模型
一 个爬行对象的爬行过程需执行如下的任务 :对一个
URL进行DNS,获取主机对应的IP地址,再通过HTTP协
议下载该页面,从中抽取超链接,并根据所定义的过滤规则
逐个进行过滤,最后将其作为新的爬行对象加入待爬行队列
中。采用单任务串行的方式执行,即任意时刻只有一个任务
在运行,必然会导致网络和计算资源的浪费。
本文提出采用爬虫的流水线运行方式,即多个任务同时
文档评论(0)