一种蜘蛛调度中心采集动态调整算法

文档序号:6490222阅读:342来源:国知局
一种蜘蛛调度中心采集动态调整算法
【专利摘要】本发明公开了一种蜘蛛调度中心采集动态调整算法,该算法主要从两个方面入手:一是在蜘蛛的运行过程中自动的根据采集到的数据对任务的采集间隔进行动态调整,以达到运行时间越长,性能越优;二是通过分析蜘蛛的采集日志,挖掘数据量采集最大的时间段,对该时间段在任务配置中进行重点照顾;任务调度中有两个重要参数:采集间隔、重点更新时间段;无需人工干预,根据不同网站的更新频率以及更新时间段自动适应。达到采集最大化效率的目的。
【专利说明】一种蜘蛛调度中心采集动态调整算法
【技术领域】
[0001]本发明涉及互联网【技术领域】,特别是蜘蛛调度中心采集动态调整算法。
【背景技术】
[0002]在搜索引擎中,网页数据全部是由蜘蛛程序自动请求采集提供的。由于互联网上网站有很多,为了方便管理,蜘蛛任务的界定通常由网站来决定。
[0003]蜘蛛程序通常分布在不同集群的服务器上,为了统一协调管理,蜘蛛程序会自动的向统一的任务调度中心请求任务。不同的网站有不同的更新频率,因此任务的调度时间和调度间隔对蜘蛛的性能以及有效率具有非常重大的影响。
[0004]因此任务调度中心最重要的工作就是任务分发以及相关参数的设置。
[0005]任务调度中心采用轮询,先进先出的机制。所有的被采集网站按照发现的时间顺序等待被采集。
[0006]没有考虑到不同网站的更新频率不一致,导致效率低下。
[0007]在技术一的基础上针对不同网站采用人工设置固定采集时间间隔的方式。
[0008]需要人工干预调整,由于网站数量众多,维护成本很高。很多网站自身的更新频率经常发生变更,没法及时的调整。

【发明内容】

[0009]本发明的目的是解决上问题,提供一种蜘蛛调度中心自动化的采集间隔调整机制,无需人工干预,根据不同网站的更新频率以及更新时间段自动适应。达到采集最大化效率的目的。
[0010]为达到上述目的,本发明所采用的技术方案是:一种蜘蛛调度中心采集动态调整算法,其特征在于:该算法主要从两个方面入手:一是在蜘蛛的运行过程中自动的根据采集到的数据对任务的采集间隔进行动态调整,以达到运行时间越长,性能越优;二是通过分析蜘蛛的采集日志,挖掘数据量采集最大的时间段,对该时间段在任务配置中进行重点照顾;任务调度中有两个重要参数:采集间隔、重点更新时间段。
[0011]算法步骤:
[0012]1、蜘蛛向任务调度中心发起一个获取任务的请求。
[0013]2、调度中心对所有网站进行一次分组,分组条件为当前时间段是否是该网站的重点更新时间段。
[0014]3、对两个分组的数据进行分别排序,排序条件为上一次采集时间加上采集间隔。取时间最小的且小于当前时间的任务返回。如果没有符合条件的则直接返回为空。两个分组的返回优先级为先取在重点更新时间段的组。
[0015]4、蜘蛛如果没有成功获取到任务则返回流程1,如果成功获取则进行数据采集。
[0016]5、记录当前的采集量到日志。如果当前有采集到新的数据,通知调度中心自动的将采集间隔调小,如乘以一个小于I的权重值如0.9,如果没有采集到新的数据则增加一定的采集间隔,入乘以大于I的权重值1.1。
[0017]6、继续返回I获取下一个任务。
[0018]7、同时另外有一个后台程序根据采集日志,绘制采集量统计图,综合多天的数据获取采集量的波峰对应时间段,更新到调度中心。
[0019]该算法无需人工干预,根据不同网站的更新频率以及更新时间段自动适应。达到采集最大化效率的目的。
【具体实施方式】:
[0020]为使本发明的技术方案便于理解,以下结合【具体实施方式】对本发明作进一步的说明。
[0021]实施例:一种蜘蛛调度中心采集动态调整算法,其特征在于:该算法主要从两个方面入手:一是在蜘蛛的运行过程中自动的根据采集到的数据对任务的采集间隔进行动态调整,以达到运行时间越长,性能越优;二是通过分析蜘蛛的采集日志,挖掘数据量采集最大的时间段,对该时间段在任务配置中进行重点照顾;任务调度中有两个重要参数:采集间隔、重点更新时间段。
[0022]算法步骤:
[0023]1、蜘蛛向任务调度中心发起一个获取任务的请求。
[0024]2、调度中心对所有网站进行一次分组,分组条件为当前时间段是否是该网站的重点更新时间段。
[0025]3、对两个分组的数据进行分别排序,排序条件为上一次采集时间加上采集间隔。取时间最小的且小于当前时间的任务返回。如果没有符合条件的则直接返回为空。两个分组的返回优先级为先取在重点更新时间段的组。
[0026]4、蜘蛛如果没有成功获取到任务则返回流程1,如果成功获取则进行数据采集。
[0027]5、记录当前的采集量到日志。如果当前有采集到新的数据,通知调度中心自动的将采集间隔调小,如乘以一个小于I的权重值如0.9,如果没有采集到新的数据则增加一定的采集间隔,入乘以大于I的权重值1.1。
[0028]6、继续返回I获取下一个任务。
[0029]7、同时另外有一个后台程序根据采集日志,绘制采集量统计图,综合多天的数据获取采集量的波峰对应时间段,更新到调度中心。
[0030]该算法无需人工干预,根据不同网站的更新频率以及更新时间段自动适应。达到采集最大化效率的目的。
[0031]以上所述,仅为本发明的较佳实施例,并非对本发明作任何形式上和实质上的限制,凡熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用以上所揭示的技术内容,而作出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对以上实施例所作的任何等同变化的更动、修饰与演变,均仍属于本发明的技术方案的范围内。
【权利要求】
1.一种蜘蛛调度中心采集动态调整算法,其特征在于:该算法主要从两个方面入手:一是在蜘蛛的运行过程中自动的根据采集到的数据对任务的采集间隔进行动态调整,以达到运行时间越长,性能越优;二是通过分析蜘蛛的采集日志,挖掘数据量采集最大的时间段,对该时间段在任务配置中进行重点照顾;任务调度中有两个重要参数:采集间隔、重点更新时间段。 算法步骤: . 1、蜘蛛向任务调度中心发起一个获取任务的请求。 . 2、调度中心对所有网站进行一次分组,分组条件为当前时间段是否是该网站的重点更新时间段。 . 3、对两个分组的数据进行分别排序,排序条件为上一次采集时间加上采集间隔。取时间最小的且小于当前时间的任务返回。如果没有符合条件的则直接返回为空。两个分组的返回优先级为先取在重点更新时间段的组。 . 4、蜘蛛如果没有成功获取到任务则返回流程1,如果成功获取则进行数据采集。 . 5、记录当前的采集量到日志。如果当前有采集到新的数据,通知调度中心自动的将采集间隔调小,如乘以一个小于I的权重值如0.9,如果没有采集到新的数据则增加一定的采集间隔,入乘以大于I的权重值1.1。 . 6、继续返回I获取下一个任务。 . 7、同时另外有一个后台程序根据采集日志,绘制采集量统计图,综合多天的数据获取采集量的波峰对应时间段,更新到调度中心。
【文档编号】G06F17/30GK103778165SQ201210414966
【公开日】2014年5月7日 申请日期:2012年10月26日 优先权日:2012年10月26日
【发明者】李旭日 申请人:广州市邦富软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1