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

技术编号:17472825 阅读:46 留言:0更新日期:2018-03-15 08:57
本发明专利技术公开了一种分布式爬虫系统中任务管理器的分配方法,所述方法包括如下步骤:分布式设备接收或发起分配消息,所述分配消息用于从分布式爬虫系统中分配出任务管理器;分布式设备将设备参数通过广播消息广播至分布式爬虫系统中的其他设备,接收其他设备发送的广播消息,从广播消息中提取设备参数最优的第一分布式设备;分布式设备接收其他设备发送的投票消息,该投票消息包括:票数以及投票的分布式设备,将票数最多的分布式设备确定为任务管理器;如分布式设备为任务管理器,将本地处理的爬虫任务分配给其他分布式设备。本发明专利技术提供的技术方案具有效率高的优点。

Assignment method and system of task manager in distributed crawler system

The invention discloses a distribution method of task manager a distributed crawler system, the method comprises the following steps: receiving or launch distributed equipment allocation message, the message is used to allocate the assigned task manager from the distributed crawler system; distributed equipment equipment parameters through other devices broadcast message broadcast to distributed crawler system the broadcast message sending and receiving equipment, equipment first distributed parameter optimal extraction from the broadcast message sending and receiving equipment distributed voting; other devices, the vote message includes a distributed device number of votes and the vote, the largest number of distributed devices identified as task manager; equipment such as distributed task management is the task of the local processing crawler assigned to other distributed equipment. The technical scheme provided by the invention has the advantages of high efficiency.

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

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

【技术特征摘要】
1.一种分布式爬虫系统中任务管理器的分配方法,其特征在于,所述方法包括如下步骤:分布式设备接收或发起分配消息,所述分配消息用于从分布式爬虫系统中分配出任务管理器;分布式设备将N个数据包依次发送给分布式设备的其他M个设备;分布式设备统计M个设备返回的N个数据包的M个时延和,求该M个时延和的平均值;分布式设备接收其他M个设备发送的M个分配消息得到M个时延和平均值,该分配消息包含本机的时延和平均值;分布式设备从M+1个时延和平均值中选择时延和最小的设备作为任务管理器。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:将时延和次少的分布式设备确定为备用任务管理器,降低备用任务管理器的任务处理阈值。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:如任务管理器故障,启动备用任务管理器作为分布式系统的任务管理器。4.一种分布式爬虫任务分配系统,其特征在于,所述系统包括:多个分布式设备,所述多个分布式设备包括第一分布式设备和其他N个分布式设备;第一分布式设备,用于接收或发起分配消息,所述分配消息用于从分布式爬虫系统中分配出任务管理器;将N个数据包依次发送给分布式设备的其他M个设备;统计M个设备返回的N个数据包的M个时延和,求该M个时延和的平均值;接收其他M个设备发送的M个分配消息得到M个时延和平均值,该分配消息包含本机的时延和平均值;从M+1个时延和平均值中选择时延和最小的设备作为任务管理器;其他N个分布式设备,用于获取...

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

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

1