一种网络爬虫任务调度方法及装置制造方法及图纸

技术编号:17304312 阅读:34 留言:0更新日期:2018-02-18 22:13
本发明专利技术公开了一种网络爬虫任务调度方法及装置,涉及软件工程领域,用以解决现有的爬虫任务调度存在需要频繁读写数据库,数据库容易堵塞,造成工作效率低的问题。该方法包括:第一调度器收到第一爬虫任务,根据第一爬虫任务的状态确定第一爬虫任务的类型;当确认为延时处理时,确定与延时处理对应的执行时间并将第一爬虫任务存储在缓存数据库;第二调度器在更新周期遍历缓存数据库,确定到达执行时间时,将与执行时间对应的第一爬虫任务发送至内存优先级队列内;第三调度器采用时间片轮转算法从内存优先级队列内的依此获取爬虫任务,直至第一爬虫任务被从内存优先级队列内取出。

A network crawler task scheduling method and device

The invention discloses a web crawler task scheduling method and device, relating to the field of software engineering, which is used to solve the problem of existing reptiles scheduling, which needs frequent reading and writing database, easy blocking of database and low work efficiency. The method includes: a first scheduler received the first crawler task, according to the first task of determining the status of the first crawler type crawler task; when the confirmation for delay treatment, and determine the corresponding delay processing the execution time and the first crawler task stored in the cache database; second scheduler in the update cycle traversal cache database, to determine the execution time. And the execution time corresponds to the first crawler task is sent to the memory priority queue; third scheduler using round robin algorithm to obtain the crawler from memory in the priority queue according to this task, until the first crawler is removed from memory tasks in the priority queue.

【技术实现步骤摘要】
一种网络爬虫任务调度方法及装置
本专利技术涉及软件工程领域,更具体的涉及一种网络爬虫任务调度方法及装置。
技术介绍
网络爬虫任务是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。现有的爬虫任务调度只由一个调度模块构成,调度模块在一个循环内执行爬虫任务持久化,数据库查重,任务优先级排序,执行定时任务,爬虫任务状态统计等各种耗时的操作。当爬虫任务数量达到数十个以上时,并发爬虫任务数量将会达到千级别,调度模块处理这些任务需要频繁读写数据库,数据库负担十分严重,调度器整体效率变得十分低下。并且,因为堵塞在数据库操作,系统经常处于假死状态,所有系统资源都用于数据库IO操作,CPU以及网络带宽使用率下降到1%以下,十分浪费服务器资源。综上所述,现有的爬虫任务调度存在需要频繁读写数据库,数据库容易堵塞,造成工作效率低的问题。
技术实现思路
本专利技术实施例提供一种网络爬虫任务调度方法及装置,用以解决,现有的爬虫任务调度存在需要频繁读写数据库,数据库容易堵塞,造成工作效率低的问题。本专利技术实施例提供一种网络爬虫任务调度方法,包括:第一调度器收到第一爬虫任务,根据所述第一爬本文档来自技高网...
一种网络爬虫任务调度方法及装置

【技术保护点】
一种网络爬虫任务调度方法,其特征在于,包括:第一调度器收到第一爬虫任务,根据所述第一爬虫任务的状态确定所述第一爬虫任务的类型;当确认所述第一爬虫任务的类型为延时处理时,确定与所述延时处理对应的执行时间并将所述第一爬虫任务存储在缓存数据库;第二调度器在更新周期遍历所述缓存数据库,确定到达所述执行时间时,将与所述执行时间对应的所述第一爬虫任务发送至内存优先级队列内,根据所述第一爬虫任务的优先级和所述内存优先级队列包括的多个爬虫任务的优先级,确认所述第一爬虫任务在所述内存优先级队列内的排放顺序;第三调度器采用时间片轮转算法从所述内存优先级队列内的依此获取所述爬虫任务,直至所述第一爬虫任务被从所述内存...

【技术特征摘要】
1.一种网络爬虫任务调度方法,其特征在于,包括:第一调度器收到第一爬虫任务,根据所述第一爬虫任务的状态确定所述第一爬虫任务的类型;当确认所述第一爬虫任务的类型为延时处理时,确定与所述延时处理对应的执行时间并将所述第一爬虫任务存储在缓存数据库;第二调度器在更新周期遍历所述缓存数据库,确定到达所述执行时间时,将与所述执行时间对应的所述第一爬虫任务发送至内存优先级队列内,根据所述第一爬虫任务的优先级和所述内存优先级队列包括的多个爬虫任务的优先级,确认所述第一爬虫任务在所述内存优先级队列内的排放顺序;第三调度器采用时间片轮转算法从所述内存优先级队列内的依此获取所述爬虫任务,直至所述第一爬虫任务被从所述内存优先级队列内取出。2.如权利要求1所述的调度方法,其特征在于,所述根据所述第一爬虫任务的状态确定所述第一爬虫任务的类型之后,还包括:当确认所述第一爬虫任务的类型为当前处理时,将所述第一爬虫任务发送至所述内存优先级队列内。3.如权利要求1所述的调度方法,其特征在于,所述缓存数据库内包括多个所述内存优先级队列;所述将与所述执行时间对应的所述第一爬虫任务发送至内存优先级队列内,还包括:根据所述第一爬虫任务所在的所述内存优先级队列的优先级和多个所述内存优先级队列的优先级,确定所述第一爬虫任务所在的所述内存优先级队列在多个所述内存优先级队列内的排放顺序。4.如权利要求3所述的调度方法,其特征在于,所述第三调度器采用时间片轮转算法从所述内存优先级队列内的依此获取所述爬虫任务,包括:所述第三调度器采用时间片轮转算法从多个所述内存优先级队列内确定不同优先优先级队列分配的出队数量,所述第一爬虫任务所在的所述内存优先级队列根据所述出队数量和所述第一爬虫任务在所述内存优先级队列内的排放顺序...

【专利技术属性】
技术研发人员:陈开冉邓楚健
申请(专利权)人:广州探迹科技有限公司
类型:发明
国别省市:广东,44

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

1