一种分布式爬虫任务的调度系统及方法技术方案

技术编号:23604434 阅读:30 留言:0更新日期:2020-03-28 05:35
本申请涉及爬虫任务相关技术领域,尤其涉及一种分布式爬虫任务的调度方法及系统。本申请提供的分布式爬虫任务的调度方法包括:获取用户自定义的爬虫任务;确认所述爬虫任务所需虚拟节点个数;获取各虚拟节点的状态;基于所述各虚拟节点的状态和所述爬虫任务所需虚拟节点个数,向各个虚拟节点分配所述爬虫任务,供所述虚拟节点执行。本申请提供的方案中,可以获取用户自定义的爬虫任务;并执行所述爬虫任务。如此设置,可以为用户提供可定制的爬虫任务,基于用户的需求爬取数据,为用户爬取更加具有针对性的更加符合用户需求的数据。

A scheduling system and method for distributed crawler tasks

【技术实现步骤摘要】
一种分布式爬虫任务的调度系统及方法
本申请涉及爬虫任务相关
,尤其涉及一种分布式爬虫任务的调度方法及系统。
技术介绍
随着互联网的飞速发展,大数据已经渗透到各个行业和业务功能领域,大数据的其价值也越来越显著,提取出有意义有价值的数据变得越来越重要。因此用于互联网信息采集的网络爬虫面临着巨大的机遇和挑战。目前国内外一些大型搜索引擎只给用户提供不可定制的搜索服务,这种方式可以为用户获取数据带来了一定的便利。但是,由于大型搜索引擎为用户提供服务是不可定制,当用户需要爬取某些数据时,这些大型搜索引擎为用户提供服务往往无法满足客户的个性化需求。而单机网络爬虫受限于自身效率低下无法有效快速地获取用户需要的数据。
技术实现思路
为至少在一定程度上克服相关技术中存在的问题,本申请提供一种分布式爬虫任务的调度方法及系统。本申请的目的是通过以下技术方案实现的:基于本申请第一方面,提供一种分布式爬虫任务的调度方法,应用于分布式爬虫任务系统,包括:获取用户自定义的爬虫任务;确认所述爬虫任务所需虚拟节点个本文档来自技高网...

【技术保护点】
1.一种分布式爬虫任务的调度方法,应用于分布式爬虫任务系统,其特征在于,包括:/n获取用户自定义的爬虫任务;/n确认所述爬虫任务所需虚拟节点个数;/n获取各虚拟节点的状态;/n基于所述各虚拟节点的状态和所述爬虫任务所需虚拟节点个数,向各个虚拟节点分配所述爬虫任务,供所述虚拟节点执行。/n

【技术特征摘要】
1.一种分布式爬虫任务的调度方法,应用于分布式爬虫任务系统,其特征在于,包括:
获取用户自定义的爬虫任务;
确认所述爬虫任务所需虚拟节点个数;
获取各虚拟节点的状态;
基于所述各虚拟节点的状态和所述爬虫任务所需虚拟节点个数,向各个虚拟节点分配所述爬虫任务,供所述虚拟节点执行。


2.根据权利要求1所述的方法,其特征在于,所述获取用户自定义的爬虫任务,包括:
获取用户自定义的爬虫任务脚本;
若所述爬虫任务脚本中存在循环列表,基于循环列表将所述爬虫任务脚本拆分为多个爬虫任务;
若所述爬虫任务脚本中不存在循环列表,基于爬虫任务脚本生成爬虫任务。


3.根据权利要求2所述的方法,其特征在于,当所述爬虫任务脚本拆分为多个爬虫任务时,所述确认所述爬虫任务所需虚拟节点个数,包括:
根据用户配置表中该用户所拥有的虚拟节点数,以及所述爬虫任务的数量,计算出每个爬虫任务的所需虚拟节点个数。


4.根据权利要求1所述的方法,其特征在于,向各个虚拟节点分配所述爬虫任务,包括:
基于受限负载均衡算法向各个虚拟节点分配所述爬虫任务,将所述爬虫任务所需的虚拟节点尽量分配在同一个从节点上;其中,各所述从节点内部设置有多个虚拟节点。


5.根据权利要求4所述的方法,其特征在于,还包括:基于自适应虚拟节点调整算法,调整各个虚拟节点,使得所述从节点负载是否超过预设的阀值的前提下,所能承载的虚拟节点数量达到最多。


6.一种分布式爬虫任务的调度系统,其特征在于,包括:客户端、主节点和多个从节点;
所述主节点包括调度器和Redis数据库;其中,所述Redis数据库用于存储、用户相关配置信息、待爬取任务信息、任务分配表、节点状态表;所述用户相关配置信息内包括用户有用的虚拟节点数量;
各所述从节点包括任务分配器、爬虫管理器和至少一个数据采集器;所述从节点用于执行至少一个虚拟节点;
所述客户端用于供用户输入用户自定义的爬虫任务脚本,并将所述爬虫任务脚本发送至所述调度器;
所述调度器用于基于所述爬虫任务脚本生成爬虫任务,并存储在所述Redis数据库的待爬取任务信息中;
所述调度器,用于检测到Redis中有待执行的...

【专利技术属性】
技术研发人员:田丹田俊豪银虹宇李奇宇
申请(专利权)人:电子科技大学成都精准云教育科技有限公司
类型:发明
国别省市:四川;51

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

1