分布式网络爬虫任务的调度方法及装置制造方法及图纸

技术编号:18302126 阅读:21 留言:0更新日期:2018-06-28 12:01
本发明专利技术提供一种分布式网络爬虫任务的调度方法及装置,方法包括:获取分布式网络中每个爬虫节点的处理能力;按照预设的优先级顺序并根据每个爬虫节点的处理能力为每个爬虫节点分配相应的待处理任务,以使得爬虫节点对所分配的待处理任务进行处理。本发明专利技术提供的分布式网络爬虫任务的调度方法及装置,按照预设的优先级顺序并根据每个爬虫节点的处理能力为爬虫节点分配相应数量的待处理任务,实现了对爬虫节点的有效管理,并且保证了每个爬虫节点按照自身处理能力对所分配的待处理任务进行处理的效率,进而提高了该调度方法的实用性。

Scheduling method and device for distributed web crawler task

The invention provides a scheduling method and device for a distributed network crawler task. The method includes: obtaining the processing capability of each crawler node in the distributed network, and assigning the corresponding pending task for each crawler node according to the predetermined priority order and the processing ability of each crawler node to make the crawler node. Deal with the assigned tasks to be treated. The scheduling method and device of the distributed network crawler task provided by the invention, according to the predefined priority order and assigning the corresponding number of pending tasks to the crawler node according to the processing ability of each crawler node, realizes the effective management of the crawler node, and ensures that each crawler node is capable of handling its own ability. The efficiency of the allocated tasks is improved, and the practicability of the scheduling method is improved.

【技术实现步骤摘要】
分布式网络爬虫任务的调度方法及装置
本专利技术涉及爬虫节点
,尤其涉及一种分布式网络爬虫任务的调度方法及装置。
技术介绍
大数据时代,数据的价值不言而喻,搜索引擎、舆情系统、比价系统等都是以获取大量数据为基础的,故爬虫节点成为不可或缺的重要组成部分。随着互联网的发展,信息和知识正在呈爆炸式增长,这给爬虫节点带来了更高的挑战。单节点爬虫结构已无法满足需求,分布式爬虫节点应运而生。分布式爬虫节点由多个爬虫节点组成,按照通信方式不同可分为主从模式、自治模式与混合模式。其中主从模式方式,是指由一台主机作为调度端负责所有运行的爬虫节点进行管理,爬虫节点只需要从调度端那里接收抓取任务,并把新生成抓取任务提交给调度端再分配就可以了,在这个过程中不必与其他爬虫通信,这种方式实现简单明晰且有利于管理。在现有技术中,通过共享任务目录实现分布式爬虫任务的协同任务调度,然而,上述任务调度方式缺乏对爬虫节点的统一管理,且缺少基于不同任务对资源的需求而对爬虫节点进行分别管理,从而未实现对网络爬点的有效管理,进而降低了网络爬点的任务处理效率。
技术实现思路
本专利技术提供一种分布式网络爬虫任务的调度方法及装置,可以有效地克服现有技术中存在的未实现对网络爬点的有效管理,进而降低了网络爬点的任务处理效率的问题。本专利技术的一方面提供了一种分布式网络爬虫任务的调度方法,包括:获取分布式网络中每个爬虫节点的处理能力;按照预设的所述优先级顺序并根据每个爬虫节点的处理能力为每个爬虫节点分配相应的待处理任务,以使得所述爬虫节点对所分配的待处理任务进行处理。本专利技术的另一方面提供了一种分布式网络爬虫任务的调度装置,包括:获取模块,用于获取分布式网络中每个爬虫节点的处理能力;分配模块,用于按照预设的优先级顺序并根据每个爬虫节点的处理能力为每个爬虫节点分配相应的待处理任务,以使得所述爬虫节点对所分配的待处理任务进行处理。本专利技术提供的分布式网络爬虫任务的调度方法及装置,通过按照预设的优先级并根据每个爬虫节点的处理能力为爬虫节点分配相应数量的待处理任务,实现了对爬虫节点的有效管理,并且保证了每个爬虫节点按照自身处理能力对所分配的待处理任务进行处理的效率,进而提高了该调度方法的实用性,有利于市场的推广与应用。附图说明图1为本专利技术一实施例提供的一种分布式网络爬虫任务的调度方法的流程示意图;图2为本专利技术另一实施例提供的一种分布式网络爬虫任务的调度方法的流程示意图;图3为本专利技术又一实施例提供的一种分布式网络爬虫任务的调度方法的流程示意图;图4为本专利技术再一实施例提供的一种分布式网络爬虫任务的调度方法的流程示意图;图5为本专利技术又一实施例提供的一种分布式网络爬虫任务的调度方法的流程示意图;图6为本专利技术再一实施例提供的一种分布式网络爬虫任务的调度方法的流程示意图;图7为本专利技术实施例提供的一种分布式网络爬虫任务的调度装置的结构示意图;图8为本专利技术具体应用实施例提供的分布式网络爬虫架构的结构示意图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实例用于说明本专利技术,但不用来限制本专利技术的范围。图1为本专利技术一实施例提供的一种分布式网络爬虫任务的调度方法的流程示意图;参考附图1可知,本实施例提供了一种分布式网络爬虫任务的调度方法,该调度方法用于根据网络爬虫的处理能力以及任务的优先级顺序为网络爬虫分配任务,具体的,该方法包括:S101:获取分布式网络中每个爬虫节点的处理能力;其中,分布式网络中存在多个爬虫节点,为了便于为每个爬虫节点分配任务,需要获取每个爬虫节点的处理能力,该处理能力可以用于作为判断为该爬虫节点分配任务量的参考因数,例如:若爬虫节点的处理能力较高,那么可以为该爬虫节点分配数量较大的任务;若该爬虫节点的处理能力较低,则可以为该爬虫节点分配数量较小的任务,以保证对任务进行处理的速度和效率。S102:按照预设的优先级顺序并根据每个爬虫节点的处理能力为每个爬虫节点分配相应的待处理任务,以使得爬虫节点对所分配的待处理任务进行处理。其中,优先级顺序为预先设置的,一般情况下,可以按照优先级由高到低的顺序获取待处理任务,而对于待处理任务而言,可以根据所需要的处理时间、紧急程度、重要程度等等判断优先级顺序,具体的,本领域技术人员可以根据具体的设计需求确定优先级判断标准,在此不再赘述;当确定好优先级之后,根据最大并发访问量并按照优先级顺序分配处理任务;例如,可以预先设置n个优先级,RES_PRIORITY_LEVEL_1为最高优先级,RES_PRIORITY_LEVEL_n为最低优先级。假如每次固定取fetch_num个任务,其步骤如下;首先,取RES_PRIORITY_LEVEL_1的任务,若取到的任务不足fetch_num个,还差n个,则继续获取其他优先级的任务;其次,取RES_PRIORITY_LEVEL_2的任务,取最多(n/2+1)个任务。此时假设还差m个;再次,RES_PRIORITY_LEVEL_3,RES_PRIORITY_LEVEL_4以此类推,剩余k个;最后,RES_PRIORITY_LEVEL_n取最多k个任务。其中,需要注意的是所获取的fetch_num个任务量小于最大并发访问量,以保证分布式网络对每个获取的任务进行稳定、有效的处理。当分布式网络获取完待处理任务后,则可以按照待处理任务的优先级顺序并结合每个爬虫节点的处理能力为每个爬虫节点进行任务分配,本实施例对于具体的分配原则不做限定,本领域技术人员可以根据具体的设计需求进行设置,只要能够使得每个爬虫节点均可以按照自身的处理能够对待处理任务进行分析处理即可,在此不再赘述。本实施例提供的分布式网络爬虫任务的调度方法,通过按照预设的优先级并根据每个爬虫节点的处理能力为爬虫节点分配相应数量的待处理任务,实现了对爬虫节点的有效管理,并且保证了每个爬虫节点按照自身处理能力对所分配的待处理任务进行处理的效率,进而提高了该调度方法的实用性,有利于市场的推广与应用。图2为本专利技术另一实施例提供的一种分布式网络爬虫任务的调度方法的流程示意图;在上述实施例的基础上,继续参考附图1-2可知,本实施例将方法设置为还包括:S201:根据每个爬虫节点的处理能力确定分布式网络的最大并发访问量;由于分布式网络包括多个爬虫节点,因此,可以根据每个爬虫节点的处理能力分析出该分布式网络的最大并发访问量,该最大并发访问量为该分布式网络可以处理的任务最大量,可以在分布式网络接收任务时作为接收任务量的上限值。S202:获取所述待处理任务,并根据所获取的待处理任务确定待处理任务量;当获取待处理任务之后,可以确定待处理任务量,其中,需要说明的是,待处理任务量与待处理任务所需要的处理能力呈正比;而按照优先级级别由高到低的顺序获取待处理任务,有效地满足了用户对待处理任务区别对待的需要,进一步提高了该调度方法使用的方便可靠性。S203:若所获取的待处理任务量大于或者等于最大并发访问量,则停止获取待处理任务;或者,当确定待处理任务量之后,将待处理任务量与最大并发访问量进行分析比较,若待处理任务量大于或等于最大并发访问量,则说明此时所获取的待处理任务量所需要的处理能力已经大于分布式网络的最大处理能力,此时,为了保证分布式网络对每个待处理任本文档来自技高网...
分布式网络爬虫任务的调度方法及装置

【技术保护点】
1.一种分布式网络爬虫任务的调度方法,其特征在于,包括:获取分布式网络中每个爬虫节点的处理能力;按照预设的优先级顺序并根据每个爬虫节点的处理能力为每个爬虫节点分配相应的待处理任务,以使得所述爬虫节点对所分配的待处理任务进行处理。

【技术特征摘要】
1.一种分布式网络爬虫任务的调度方法,其特征在于,包括:获取分布式网络中每个爬虫节点的处理能力;按照预设的优先级顺序并根据每个爬虫节点的处理能力为每个爬虫节点分配相应的待处理任务,以使得所述爬虫节点对所分配的待处理任务进行处理。2.根据权利要求1所述的方法,其特征在于,还包括:根据每个爬虫节点的处理能力确定所述分布式网络的最大并发访问量;获取所述待处理任务,并根据所获取的待处理任务确定待处理任务量;若所获取的待处理任务量大于或者等于所述最大并发访问量,则停止获取所述待处理任务;或者,若所获取的待处理任务量小于所述最大并发访问量,则继续获取所述待处理任务。3.根据权利要求1所述的方法,其特征在于,所述获取分布式网络中每个爬虫节点的处理能力,具体包括:按照预设的时间周期向每个爬虫节点发送心跳请求,以使得所述爬虫节点根据所述心跳请求发送所述爬虫节点的处理能力;接收所述爬虫节点发送的处理能力,其中,所述处理能力包括以下至少之一:下载能力、解析能力、负载信息、内存信息、未分配任务时间、处理正确率和处理时间。4.根据权利要求3所述的方法,其特征在于,按照预设的优先级顺序并根据每个爬虫节点的处理能力为每个爬虫节点分配相应的待处理任务,以使得所述爬虫节点对所分配的待处理任务进行处理,具体包括:若所述爬虫节点的未分配任务时间大于预设的时间阈值,则优先为该爬虫节点按照所述优先级由高到低的顺序分配所述待处理任务;或者,若所述爬虫节点的负载信息小于预设的负载阈值,则继续按照所述优先级由高到低的顺序为所述爬虫节点分配所述待处理任务;或者,若所述爬虫节点的负载信息大于或等于预设的负载阈值,则向其他爬虫节点按照所述优先级由高到低的顺序分配所述待处理任务;其中,所分配的待处理任务所需要的处理能力小于所述爬虫节点的处理能力。5.根据权利要求3所述的方法,其特征在于,在按照预设的时间周期向每个爬虫节点发送心跳请求之后,所述方法还包括:在预设时间段内,若未收到所述爬虫节点发送的处理能力,则确定所述爬虫节点的未响应信息,其中,所述未响应信息包括:未响应时间信息和未响应次数信息;若所述未响应次数信息大于预设的次数阈值信息,则按照预设的调整策略调整所述爬虫节点的处理能力。6.根据权利要求3所述的方法,其特征在于,所述方法还包括:在预设的时间段内,根据所述处理正确率和处理时间对所述爬虫节点进行管理;若所述爬虫节点对第一数量的待处理任务进行处理的处理时间大于预设的时间阈值,则将该爬虫节点删除,其中,所述第一数量大于预设的第一数量阈值;和/或,若所述爬虫节点对第二数量的待处理任务进行处理的处理正确率小于预设的正确率阈值,则将该爬虫节点删除,其中,所述第二数量大于预设的第二数量...

【专利技术属性】
技术研发人员:张学颖张丹于晓明曹六一
申请(专利权)人:北大方正集团有限公司北京北大方正电子有限公司
类型:发明
国别省市:北京,11

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

1