分布式爬虫系统中任务管理器的分配方法及系统技术方案

技术编号:17407181 阅读:39 留言:0更新日期:2018-03-07 04:58
本发明专利技术公开了一种分布式爬虫系统中任务管理器的分配方法,所述方法包括如下步骤:分布式设备接收或发起分配消息,所述分配消息用于从分布式爬虫系统中分配出任务管理器;分布式设备将N个数据包依次发送给分布式设备的其他M个设备;分布式设备统计M个设备返回的N个数据包的M个时延和,求该M个时延和的平均值;分布式设备接收其他M个设备发送的M个分配消息得到M个时延和平均值,该分配消息包含本机的时延和平均值;分布式设备按M个时延和平均值倒序向M个设备发送所述分配消息。本发明专利技术提供的技术方案具有效率高的优点。

Assignment method and system of task manager in distributed crawler system

【技术实现步骤摘要】
分布式爬虫系统中任务管理器的分配方法及系统
本专利技术涉及数据处理领域,尤其涉及一种分布式爬虫系统中任务管理器的分配方法及系统。
技术介绍
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。网络爬虫实际是一种网络信息抓取的应用程序,现有的网络爬虫抓取数据量大,任务的分配的任务管理器为随机分配的,其可能影响任务分配的效率,影响爬虫的效率。
技术实现思路
本申请提供一种分布式爬虫系统中任务管理器的分配方法。其解决现有技术的技术方案效率低的缺点。一方面,提供一种分布式爬虫任务分配方法,所述方法包括如下步骤:分布式设备接收或发起分配消息,所述分配消息用于从分布式爬虫系统中分配出任务管理器;分布式设备将N个数据包依次发送给分布式设备的其他M个设备;分布式设备统计M个设备返回的N个数据包的M个时延和,求该M个时延和的平均值;分布式设备接收其他M个设备发送的M个分配消息得到M个时延和平均值,该分配消息包含本机的时延和平均值;按M个时延和平均值倒序向M个设备发送所述分配消息。可选的,所述方法还包括:分布式设备获取历史分享的数据包的大小;提取历史数据包的大小区间,将该大小区间划分成N个子区间,分布式设备虚拟N个数据包,其中N个数据包中的第M个数据包的大小为N个区间中第M个子区间的中值,分布式设备将N个数据包依次发送给M个其他分布式设备,统计其他M个分布式设备中每个接入点的N个数据包的时延和,得到M个时延和。可选的,所述方法还包括:时延=tACK(1a)-t1a;其中,tACK(1a)为第一设备返回数据包A的确认消息的接收时间,t1a为数据包A向第一设备的发送时间。第二方面,提供一种分布式爬虫任务分配系统,所述系统包括:多个分布式设备,所述多个分布式设备包括第一分布式设备和其他N个分布式设备;第一分布式设备,用于接收或发起分配消息,所述分配消息用于从分布式爬虫系统中分配出任务管理器;将N个数据包依次发送给分布式设备的其他M个设备;统计M个设备返回的N个数据包的M个时延和,求该M个时延和的平均值;接收其他M个设备发送的M个分配消息得到M个时延和平均值,该分配消息包含本机的时延和平均值;按M个时延和平均值倒序向M个设备发送所述分配消息;其他N个分布式设备,用于获取本地的时延和,将该本地时延和发送给第一分布式设备。可选的,所述分布式设备,还用于获取历史分享的数据包的大小;提取历史数据包的大小区间,将该大小区间划分成N个子区间,分布式设备虚拟N个数据包,其中N个数据包中的第M个数据包的大小为N个区间中第M个子区间的中值,分布式设备将N个数据包依次发送给M个其他分布式设备,统计其他M个分布式设备中每个接入点的N个数据包的时延和,得到M个时延和。可选的,所述分布式设备,还用于时延=tACK(1a)-t1a;其中,tACK(1a)为第一设备返回数据包A的确认消息的接收时间,t1a为数据包A向第一设备的发送时间。第三方面,提供一种分布式设备,包括:处理器、无线收发器、存储器和总线,所述处理器、无线收发器、存储器通过总线连接,所述无线收发器,用于接收或发起分配消息,所述分配消息用于从分布式爬虫系统中分配出任务管理器;所述处理器,用于将N个数据包依次发送给分布式设备的其他M个设备;统计M个设备返回的N个数据包的M个时延和,求该M个时延和的平均值;接收其他M个设备发送的M个分配消息得到M个时延和平均值,该分配消息包含本机的时延和平均值;按M个时延和平均值倒序向M个设备发送所述分配消息。可选的,所述处理器,用于获取历史分享的数据包的大小;提取历史数据包的大小区间,将该大小区间划分成N个子区间,分布式设备虚拟N个数据包,其中N个数据包中的第M个数据包的大小为N个区间中第M个子区间的中值,分布式设备将N个数据包依次发送给M个其他分布式设备,统计其他M个分布式设备中每个接入点的N个数据包的时延和,得到M个时延和。可选的,所述处理器,用于时延=tACK(1a)-t1a;其中,tACK(1a)为第一设备返回数据包A的确认消息的接收时间,t1a为数据包A向第一设备的发送时间。第四方面,提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行第一方面提供的方法。本专利技术提供的技术方案通过分配的方法实现了按时延和的倒序来分配任务,这样试验和较大的设备能够优先分配到任务进行处理,提高效率。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术第一较佳实施方式提供的一种分布式爬虫系统中任务管理器的分配方法的流程图;图2为本专利技术第二较佳实施方式提供的一种分布式爬虫系统中任务管理器的分配系统的结构图。图3为本专利技术第二较佳实施方式提供的一种分布式设备的硬件结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参考图1,图1是本专利技术第一较佳实施方式提出的一种分布式爬虫系统中任务管理器的分配方法,该方法如图1所示,包括如下步骤:步骤S101、分布式设备接收或发起分配消息,所述分配消息用于从分布式爬虫系统中分配出任务管理器。步骤S102、分布式设备将N个数据包依次发送给分布式设备的其他M个设备。上述步骤S102的实现方法可以为:分布式设备获取历史分享的数据包的大小(即容量,多少个MB或多个KB);提取历史数据包的大小区间,将该大小区间划分成N个子区间,分布式设备虚拟N个数据包,其中N个数据包中的第M个数据包的大小为N个区间中第M个子区间的中值,分布式设备将N个数据包依次发送给M个其他分布式设备,统计其他M个分布式设备中每个接入点的N个数据包的时延和,得到M个时延和。下面以一个实际的例子来说明反馈参数为时间和的计算方式;这里的数据包的大小具体可以包括:6MB、5MB、4MB、3MB、2MB、1MB,这里划分的N个区间以2个区间为例,具体的2个区间的范围可以为,区间1【6MB,4MB】;区间2【3MB,1MB】,那么分布式设备虚拟出2个数据包,为了方便说明,这里以数据包A表示第一区间虚拟数据包,数据包B表示第二区间虚拟数据包,数据包A的大小为5MB,数据包B的大小为2MB,将数据包A以及数据包B依次发送给M个其他设备,(这里以三个AP为例,分别为AP1,AP2以及AP3),AP1接收到数据包A以后会返回ACK(1a),接收时间为tACK(1a),数据包A的发送时间为t1a,AP1接收到数据包B以后会返回ACK(1b),接收时间可以为tACK(1b),数据包B的发送时间为t1b;那么AP1的时间和TAP1=(tACK(1a)-t1a)+(tACK(1b)-t1b)。同理可以本文档来自技高网...
分布式爬虫系统中任务管理器的分配方法及系统

【技术保护点】
一种分布式爬虫系统中任务管理器的分配方法,其特征在于,所述方法包括如下步骤:分布式设备接收或发起分配消息,所述分配消息用于从分布式爬虫系统中分配出任务管理器;分布式设备将N个数据包依次发送给分布式设备的其他M个设备;分布式设备统计M个设备返回的N个数据包的M个时延和,求该M个时延和的平均值;分布式设备接收其他M个设备发送的M个分配消息得到M个时延和平均值,该分配消息包含本机的时延和平均值;分布式设备按M个时延和平均值倒序向M个设备发送所述分配消息。

【技术特征摘要】
1.一种分布式爬虫系统中任务管理器的分配方法,其特征在于,所述方法包括如下步骤:分布式设备接收或发起分配消息,所述分配消息用于从分布式爬虫系统中分配出任务管理器;分布式设备将N个数据包依次发送给分布式设备的其他M个设备;分布式设备统计M个设备返回的N个数据包的M个时延和,求该M个时延和的平均值;分布式设备接收其他M个设备发送的M个分配消息得到M个时延和平均值,该分配消息包含本机的时延和平均值;分布式设备按M个时延和平均值倒序向M个设备发送所述分配消息。2.根据权利要求1所述的方法,其特征在于,所述分布式设备将N个数据包依次发送给分布式设备的其他M个设备;分布式设备统计M个设备返回的N个数据包的M个时延和,求该M个时延和的平均值包括:分布式设备获取历史分享的数据包的大小;提取历史数据包的大小区间,将该大小区间划分成N个子区间,分布式设备虚拟N个数据包,其中N个数据包中的第M个数据包的大小为N个区间中第M个子区间的中值,分布式设备将N个数据包依次发送给M个其他分布式设备,统计其他M个分布式设备中每个接入点的N个数据包的时延和,得到M个时延和。3.根据权利要求1所述的方法,其特征在于,所述时延的获取方式,包括:时延=tACK(1a)-t1a;其中,tACK(1a)为第一设备返回数据包A的确认消息的接收时间,t1a为数据包A向第一设备的发送时间。4.一种分布式爬虫任务分配系统,其特征在于,所述系统包括:多个分布式设备,所述多个分布式设备包括第一分布式设备和其他N个分布式设备;第一分布式设备,用于接收或发起分配消息,所述分配消息用于从分布式爬虫系统中分配出任务管理器;将N个数据包依次发送给分布式设备的其他M个设备;统计M个设备返回的N个数据包的M个时延和,求该M个时延和的平均值;接收其他M个设备发送的M个分配消息得到M个时延和平均值,该分配消息包含本机的时延和平均值;按M个时延和平均值倒序向M个设备发送所述分配消息;其他N个分布式设备,用于获取本地的时延和,将该本地时延和发送给第一分布式设备。5.根据权利要求4所述...

【专利技术属性】
技术研发人员:马岩
申请(专利权)人:麦格创科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1