【技术实现步骤摘要】
一种任务队列生成方法、装置及设备
本说明书实施例涉及信息
,尤其涉及一种任务队列生成方法、装置及设备。
技术介绍
在进行诸如批量取证、下载等任务时,经常需要利用到爬虫技术。例如,采用爬虫节点对于某个与证据相关的页面进行资料的爬取下载等等。在批量爬取的过程中,如果对于任务不做处理,就会经常会发生对于同一爬虫节点对于某个站点访问过于频繁而导致爬虫节点被封,进而影响资料的爬取,降低了爬取效率。基于此,需要一种可以提高爬取效率的任务队列生成方案。
技术实现思路
本申请实施例的目的是提供一种可以提高爬取效率的任务队列生成方案。为解决上述技术问题,本申请实施例是这样实现的:一方面,本说明书实施例提供一种任务队列生成方法,包括:获取多个待处理任务,其中,任一待处理任务中包含统一资源定位符URL;针对任一待处理任务,确定其所包含的URL中的主机名,计算所述主机名的哈希值;基于预定义的长度为N的数组,确定所述主机名的哈希值对所述长度N的余数;将该待处理任务分配至所述数组中与所述余数对应的数组元素中,其中,所述数组元素用于存储待分配任务;从所述数组的每个数组元素中各取出一个待处理任务,将取出的N个待处理任务,添加至当前的任务队列中的端部,生成新的任务队列。另一方面,本说明书实施例还提供一种基于前述的任务队列的分配方法,包括:针对任一任务处理节点,获取该任务处理节点的权重;从所述任务队列的另一端依次取出待处理任务,根据各任务处 ...
【技术保护点】
1.一种任务队列生成方法,包括:/n获取多个待处理任务,其中,任一待处理任务中包含统一资源定位符URL;/n针对任一待处理任务,确定其所包含的URL中的主机名,计算所述主机名的哈希值;/n基于预定义的长度为N的数组,确定所述主机名的哈希值对所述长度N的余数;/n将该待处理任务分配至所述数组中与所述余数对应的数组元素中,其中,所述数组元素用于存储待分配任务;/n从所述数组的每个数组元素中各取出一个待处理任务,将取出的N个待处理任务,添加至当前的任务队列中的端部,生成新的任务队列。/n
【技术特征摘要】
1.一种任务队列生成方法,包括:
获取多个待处理任务,其中,任一待处理任务中包含统一资源定位符URL;
针对任一待处理任务,确定其所包含的URL中的主机名,计算所述主机名的哈希值;
基于预定义的长度为N的数组,确定所述主机名的哈希值对所述长度N的余数;
将该待处理任务分配至所述数组中与所述余数对应的数组元素中,其中,所述数组元素用于存储待分配任务;
从所述数组的每个数组元素中各取出一个待处理任务,将取出的N个待处理任务,添加至当前的任务队列中的端部,生成新的任务队列。
2.如权利要求1所述的方法,获取包含统一资源定位符URL的待处理任务,包括:
对所述URL进行规范化预处理,获取包含规范化预处理的URL的待处理任务。
3.如权利要求1所述的方法,将取出的N个待处理任务,添加至当前的任务队列中的端部,包括:
确定所述N个待处理任务中各任务的优先级别,将优先级别高的待处理任务从端部移除,并添加至当前的任务队列中的另一端。
4.如权利要求1所述的方法,还包括:
若所述新的任务队列中待处理任务的数量超过预设值,则暂停获取新的待处理任务。
5.如权利要求1所述的方法,将该待处理任务分配至所述数组中与所述余数对应的数组元素中,包括:
确定所述数组元素的索引标识对应的分类标识,生成包含所述分类标识的待处理任务,其中,所述分类标识与所述索引标识一一对应;
将包含分类标识的待处理任务分配至所述数组中与所述余数对应的数组元素中。
6.一种基于权利要求1至5任一所述的任务队列的分配方法,包括:
针对任一任务处理节点,获取该任务处理节点的权重;
从所述任务队列的另一端依次取出待处理任务,根据各任务处理节点的权重将取出的待分类任务分配给各任务处理节点,其中,任务处理节点的权重与被分配到任务的概率正相关。
7.如权利要求6所述的方法,当所述任务队列中的待处理任务还包含分类标识时,
相应的,获取该任务处理节点的权重,包括:分别获取该任务处理节点对于各类任务的权重,其中,该任务处理节点对于i类任务的权重与该任务处理节点当前正在处理的第i类任务的数量负相关,N≥i≥1;
相应的,根据各任务处理节点的权重分配给各任务处理节点,包括:根据各任务处理节点对于i类任务的权重,将第i类待处理任务分配给各任务处理节点。
8.一种任务队列生成装置,包括:
获取模块,获取多个待处理任务,其中,任一待处理任务中包含统一资源...
【专利技术属性】
技术研发人员:官砚楚,彭雪银,金戈,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。