基于众包协作的分布式爬虫研究

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:wxthaoa
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在互联网技术迅速发展和人类社交需求日益增长的时代,分布式爬虫已被成熟的应用到各大搜索引擎和检索领域。本文提出众包协作模式的爬虫架构也是分布式系统,但任务分配方式采用“能者多劳”思想,可用资源越多的爬虫节点,获得更多任务,从而提高资源利用率、任务执行效率、节省执行时间和费用开销等。因此,研究基于众包协作模式的最优化任务分配方法有重要的学术意义和应用前景。本文将众包模式下的爬行任务分配问题分为静态爬行任务分配和动态爬行任务分配两大部分。静态爬行任务分配问题是指整个系统尚未执行任务,即任务序列没有被执行,爬虫节点也没有被分配任务;动态爬行任务分配问题是指整个系统在运行过程中,受外界环境和内部资源条件限制,各个任务和爬虫节点的状态动态变化。那么,在整体开销尽可能小时,如何考虑众包模式下爬虫任务的静态和动态分配问题,从而提高爬虫系统执行效率和资源利用率等,成为本文的主要研究内容。针对静态爬行任务分配问题,本文提出一种基于众包协作的静态爬行任务分配算法。该算法建立了多维度计算机资源模型,将爬虫节点自身资源进行有效量化,采用优先匹配启发式爬行任务分配算法进行任务分配,通过对费用目标函数的优化求解,使得整个静态爬行任务分配的费用最小。通过Matlab仿真验证,该算法能在满足系统需求的前提下,使得总费用最小。针对动态爬行任务分配问题,本文在静态爬行任务分配算法的基础上进行改进,提出基于时间模型的可信度定义,用来衡量每个爬虫节点的时效性,设计了融合可信度的多维度计算机资源模型,采用变异的优先匹配启发式爬行任务分配算法进行任务的动态分配,通过对具有多约束条件的费用目标函数进行优化求解,使得整个系统在动态变化的过程中,所用时间和费用都尽可能最小。通过Matlab仿真验证,与传统贪心算法相比,基于众包协作的静态爬行任务分配算法和动态爬行任务分配算法更符合使用规律,且总费用开销也更加合理,具有良好的可使用性。系统实验结果表明,众包协作模式的分布式爬行任务分配算法表现良好。
其他文献
本文利用Laravel框架对燃气报警系统详细的展开了研究。Laravel框架(以下简称“框架”)是PHP语言环境下的一款开源框架,PHP主要用于网络服务应用程序的开发,语言通过封装各种
冠状动脉旁路移植术(cardiac artery bypass graft,CABG)是严重冠心病的主要治疗方式。随着心脏外科手术水平的不断完善,CABG手术成功率显著提高。国际CABG指南推荐改善CABG患
善用批评,必须认识不同性质的矛盾,区别不同程度的人民内部矛盾,针对一般情形的人民内部矛盾科学而灵活地运用各种批评方法.
熟知银川政务微博成长过程的人都知道,从青涩到平稳,经历过很多不平坦的路,很不容易。甚至到现在还在承受着不理解,甚至是非议。不过,这并不妨碍政务微博等利用新媒体的政务模式,探
报纸
目的:建立实验性高脂血症动物模型,观察高脂血症能否直接诱导兔主动脉瓣膜发生退行性主动脉瓣疾病(DAVD)的病理改变,以及他汀干预对瓣膜病变的影响。方法:选择健康新西兰纯种雄性