基于站点配额的均衡调度系统及方法

文档序号:7862319阅读:182来源:国知局
专利名称:基于站点配额的均衡调度系统及方法
技术领域
本发明涉及互联网技术领域,具体涉及ー种基于站点配额的均衡调度系统及方法。
背景技术
对于搜索引擎来说,从互联网上抓取页面是其处理的第一歩。然而互联网累积的页面数巨大,而每天新更新和新产生的页面数同样非常巨大。如何及时地获取这些页面,是搜索引擎面临的首要问题。为了能及时地抓取这些海量页面,必须进行合理而有效的调度。因此,采用何种调度算法就非常重要了。目前,网页搜索在进行网页抓取调度时,对于新发现的页面按顺序进行排队。对于历史页面,则根据历史页面的更新频率来决定其重新调度的频度。 在网页搜索中,由于所有页面都采用统一的策略,下载延迟的时间几乎都是按天来计的。这对于很多垂直捜索来说是无法容忍的。特殊情况下,大数据量网站将影响其他网站的及时处理。如果服务器数量不足,一些数据量大的网站的页面,将占去大部分处理能力,导致其他网站无法及时处理。

发明内容
鉴于上述问题,提出了本发明以便提供ー种克服上述问题或者至少部分地解决上述问题的基于站点配额的均衡调度系统及方法。依据本发明的ー个方面,提供了ー种基于站点配额的均衡调度系统,包括调度任务获取模块,适于获取站点的域名队列中的调度任务;调度模块,适于对所述调度任务所指定的服务器按照预配置的一次可调度页面数从所述服务器中下载相应数量的页面。可选地,所述调度任务获取模块适于按预定的任务优先级获取站点的域名队列中的调度任务。可选地,所述系统还包括反馈调整模块,适于在调度ー个页面后将所述服务器的上次调度时间更新为所述上次调度时间加上页面超时时间。可选地,所述系统还包括反馈调整模块,适于在下载ー个页面后将所述服务器的上次调度时间更新为所述上次调度时间减去回调时间,所述回调时间为页面超时时间与所述页面下载时间之差。可选地,当页面实际下载时间小于预设的下载耗时,则所述页面下载时间为所述预设的下载耗时,否则为页面实际下载时间。可选地,所述系统还包括配额分配模块,具体包括站点结构定位模块,适于获取当前服务器上的站点总数,根据站点序号,直接定位站点结构;域名配额分配模块,适于从站点结构中获取该站点的域名总数和首尾域名序号,对站点域名按上次调度时间进行排序,从选择排序后的域名中选择预定数量的域名;域名IP定位模块,适于对选定的域名根据其域名IP总数和域名IP首尾序号定位其域名I P地址,通过域名I P中的IP偏移定位IP结构地址,依次选取并记录IP的上次调度时间,选择上次调度时间最早的IP对应的服务器;调度时间设置模块,适于定位IP结构后,比较IP结构里的上次调度时间与当前时间。如果上次调度时间大于或等当前时间,不为该服务器分配所述一次可调度页面数,如果上次调度时间小于当前时间,为该服务器分配所述一次可调度页面数,同时将该IP的上次调度时间置为当前时间;循环分配模块,适于如果该域名中IP结构分配完成,循环处理下ー个域名,否则在剩下的IP中选择上次调度时间最早的ー个IP继续处理,当前站点中所有域名分配完成后,将站点序号加1,以便处理下ー个站点,如果站点数达到最大值,序号重置为0,如果在所有站点都检查过一次后没有可分配站点,休眠预定时间后再对所有站点循环分配。
可选地,预定时间为I秒。根据本发明的另一方面,提供了基于站点配额的均衡调度方法,包括以下步骤获取站点的域名队列中的调度任务;对所述调度任务所指定的服务器按照预配置的一次可调度页面数从所述服务器中下载相应数量的页面。可选地,按预定的任务优先级获取站点的域名队列中的调度任务。可选地,调度ー个页面后还包括步骤将所述服务器的上次调度时间更新为所述上次调度时间加上页面超时时间。可选地,下载ー个页面后还包括步骤将所述服务器的上次调度时间更新为所述上次调度时间减去回调时间,所述回调时间为页面超时时间与所述页面下载时间之差。可选地,当页面实际下载时间小于预设的下载耗时,则所述页面下载时间为所述预设的下载耗时,否则为页面实际下载时间。可选地,对所述调度任务中的服务器按照预配置的一次可调度页面数从所述服务器中下载相应数量的页面具体包括获取当前服务器上的站点总数,根据站点序号,直接定位站点结构;从站点结构中获取该站点的域名总数和首尾域名序号;对站点域名按上次调度时间进行排序,从排序后的域名中选择预定数量的域名;对选定的域名根据其域名IP总数和域名IP首尾序号定位其域名IP地址,通过域名IP中的IP偏移定位IP结构地址,依次选取并记录各IP的上次调度时间,选择上次调度时间最早的IP对应的服务器;定位IP结构后,比较IP结构里的上次调度时间与当前时间。如果上次调度时间大于或等于当前时间,不为该服务器分配所述一次可调度页面数,如果上次调度时间小于当前时间,为该服务器分配所述一次可调度页面数,同时将该IP的上次调度时间置为当前时间;如果该域名中IP结构分配完成,循环处理下ー个域名,否则在剩下的IP中选择上次调度时间最早的ー个IP继续处理;当前站点中所有域名分配完成后,将站点序号加1,以便处理下ー个站点,如果站点数达到最大值,序号重置为O,如果在所有站点都检查过一次后没有可分配站点,休眠预定时间后再对所有站点循环分配。可选地,预定时间为I秒。根据本发明的基于站点配额的均衡调度系统将方法保证所有站点在任何情况下都能获得一定的下载机会。同时,可以根据实际情况设置不同的配额限制,以兼顾效率与时效性,满足不同搜索产品的需求。这也为全网搜索能与垂直搜索统ー处理奠定了基础。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式



通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的參考符号表示相同的部件。在附图中图I示出了根据本发明一个实施例的基于站点配额的均衡调度方法流程图;图2示出了图I中步骤S120的具体流程图;图3示出了根据本发明一个实施例的基于站点配额的均衡调度系统结构示意图;图4示出了图3中调度模块具体结构示意图。
具体实施例方式下面将參照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本实施例的基于站点配额的均衡调度方法流程如图I所示,包括步骤S110,获取站点的域名队列中的调度任务。可以从全网搜索系统的域名队列中获取调度任务。步骤S120,对调度任务所指定的服务器按照预配置的一次可调度页面数从服务器中下载相应数量的页面。通过控制从服务器中下载网页的数量,保证了所有站点在任何情况下都能获得一定的下载机会,不会因为某些数据量大的网站的页面,将占去大部分下载机会,导致其他网站无法及时下载及处理。进ー步地,若域名队列中的任务具有优先级,则按预定的任务优先级获取站点的域名队列中的调度任务。在从每台网站服务器下载网页时,除了限制一定下载数量以外还要通过一定的调度算法控制在何时下载这一次可调度页面数量的网页,以保证网站服务器在自身的压カ容忍范围内。压カ控制必须针对ip,即服务器(一般来说,ー个ip对应一台网站的服务器,所以压カ控制必须按ip进行以免对网站特定服务器造成太大的压力。ip与域名对应,ー个域名可以有多个ip,也可能只有ー个ip。ー个url里可能使用的是域名,也可能直接使用ip),ー个ip可能同时属于多个域名,所以对于ー个ip的反复调度过程中,就要对所属域名进行轮转调度,举例说,如果有两个域名对应同一个ip,那么这次调度该ip时调度了第一个域名的ー批url,那么下次调度该ip时就应该调度另ー个域名的ー批url。因此,需要控制服务器中页面的调度时间。在调度ー个页面后还将该页面的上次调度时间更新为上次调度时间加上页面超时时间,其中,上次调度时间为页面的ー个属性,每当调用该页面后就更新该属性,即更新为上次调度时间加上页面超时时间。也就是说在一个页面超时时间内不再调度该页面。由于不同页面的下载时间有长有短,因此当页面下载完成后,除非页面真的超时了,那么在页面超时时间内再无法得到调度,若未超吋,则下载一个页面后还将该页面的上次调度时间更新为上次调度时间减去回调时间,所述回调时间为页面超时时间与页面下载时间之差。其中,为了方便对同一站点同一管理,设置ー个约定时间为页面的下载时间,若页面实际下载时间小于预设的下载时间,则页面下载时间为所述约定时间,否则为页面实际下载时间。 例如ー个ip上(一台网站服务器)最快不能超过5秒(约定时间)下载ー个页面,但有的时候网站非常忙,可能10秒甚至超过了超时时间都无法下载ー个页面。所以为了保证不给服务器压カ太大,毎次调度时直接将下次可下载时间増加了ー个超时时间,比如说60秒。这样这个ip在60秒内都不能被再次调度到,而不是最初的约定时间(上述5秒)。由于只有下载程序清楚这个页面下载用了多长时间。如果这个页面最终超时了,也就是说下载耗时为全部超时时间,如60秒。那么这个时间就不需要在调度了,说明这个网站确实很忙,5秒调度ー个页面根本就下载不过来。但如果下载耗时少于超时时间,那就要分两种情況。一种情况是下载时间甚至少于约定的最快时间,如5秒。那么这时的回调时间应该是超时时间减去最快约定时间,就是回调55秒,即将上次调度时间设置为上次调度时间加上5秒,在这5秒之后可调度该页面。因为如果回调更多的话,就打破了最快5秒下载ー个页面的約定。另ー种情况是如果下载耗时超过了约定的时间,比如15秒,这时的回调时间才应该是超时时间减去实际下载时间,也就是回调45秒。这样在下载速度很快时,也能按约定时间进行控制,而在下载比较慢时,也能按实际情況,以慢于约定的时间去下载,而且可以保证在前面的页面下载完成后才会继续调度页面,而不会出现更新慢的网站也总是按约定时间调度,结果页面越积攒越多的情況。在下载页面之前还包括循环分配站点下载配额的步骤,如图2所示,具体包括步骤S210,获取当前服务器上的站点总数,根据站点序号,直接定位站点结构。步骤S220,从站点结构中获取该站点的域名总数和首尾域名序号,对站点域名按上次调度时间进行排序,从排序后的域名中选择预定数量的域名。步骤S230,对选定的域名根据其域名IP总数和域名IP首尾序号定位其域名IP地址,通过域名IP中的IP偏移定位IP结构地址,依次选取并记录各IP的上次调度时间,选择上次调度时间最早的IP对应的服务器。步骤S240,定位IP结构后,比较IP结构里的上次调度时间与当前时间。如果上次调度时间大于或等于当前时间(上次调度时间属性中记录的时间值,由上述步骤S120中对该属性值调整得到),不为该服务器分配所述一次可调度页面数,如果上次调度时间小于当前时间,为该服务器分配所述一次可调度页面数,同时将该IP对应的服务器的上次调度时间置为当前时间。
步骤S250,如果该域名中IP结构分配完成,循环处理下ー个域名,否则在剩下的IP中选择上次调度时间最早的ー个IP继续处理。步骤S250,当前站点中所有域名分配完成后,将站点序号加1,以便处理下ー个站点,如果站点数达到最大值,序号重置为0,如果在所有站点都检查过一次后没有可分配站点,休眠预定时间(如I秒)后再对所有站点循环分配。所有站点连续排列,第一个站点序号为0,以后逐次加1,调度时先从O号站点开始,下次加I调度I号站点。调度到最后ー个站点后,下次就要折回去再从O号站点调度。本发明还提供了ー种基于站点配额的均衡调度系统,具体结构如图3所示,包括调度任务获取模块310和调度模块320。调度任务获取模块310适于获取站点的域名队列中的调度任务,若域名队列中的调度任务有优先级顺序,则按预定的任务优先级获取站点的域名队列中的调度任务。调度模块320适于对所述调度任务所指定的服务器按照预配置的一次可调度页面数从所述服务器中下载相应数量的页面。本实施例的系统还包括反馈调整模块,适于在调度ー个页面后将所述服务器的 上次调度时间更新为所述上次调度时间加上页面超时时间。本实施例的系统还包括反馈调整模块,适于在下载ー个页面后将所述服务器的上次调度时间更新为所述上次调度时间减去回调时间,所述回调时间为页面超时时间与所述页面下载时间之差。其中,当页面实际下载时间小于预设的下载耗时,则所述页面下载时间为所述预设的下载耗时,否则为页面实际下载时间。本实施例的系统还包括配额分配模块4,具体如图4所示,包括站点结构定位模块410,适于获取当前服务器上的站点总数,根据站点序号,直接定位站点结构;域名配额分配模块420,适于从站点结构中获取该站点的域名总数和首尾域名序号,对站点域名按上次调度时间进行排序,从选择排序后的域名中选择预定数量的域名;域名IP定位模块430,适于对选定的域名根据其域名IP总数和域名IP首尾序号定位其域名IP地址,通过域名IP中的IP偏移定位IP结构地址,依次选取并记录IP的上次调度时间,选择上次调度时间最早的IP对应的服务器;调度时间设置模块440,适于定位IP结构后,比较IP结构里的上次调度时间与当前时间。如果上次调度时间大于或等当前时间,不为该服务器分配所述一次可调度页面数,如果上次调度时间小于当前时间,为该服务器分配所述一次可调度页面数,同时将该IP的上次调度时间置为当前时间;循环分配模块450,适于如果该域名中IP结构分配完成,循环处理下ー个域名,否则在剩下的IP中选择上次调度时间最早的ー个IP继续处理,当前站点中所有域名分配完成后,将站点序号加1,以便处理下ー个站点,如果站点数达到最大值,序号重置为0,如果在所有站点都检查过一次后没有可分配站点,休眠预定时间(如I秒)后再对所有站点循环分配。在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技木,以便不模糊对本说明书的 理解。类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的ー个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式
的权利要求书由此明确地并入该具体实施方式
,其中每个权利要求本身都作为本发明的单独实施例。本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成ー个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者単元中的至少ー些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或単元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。本发明的各个部件实施例可以以硬件实现,或者以在ー个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的基于站点配额的均衡调度系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有ー个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何參考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“ー个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
权利要求
1.ー种基于站点配额的均衡调度系统,包括 调度任务获取模块,适于获取站点的域名队列中的调度任务; 调度模块,适于对所述调度任务所指定的服务器按照预配置的一次可调度页面数从所述服务器中下载相应数量的页面; 其中,所述调度任务获取模块适于按预定的任务优先级获取站点的域名队列中的调度任务。
2.如权利要求I所述的基于站点配额的均衡调度系统,其特征在于,所述系统还包括反馈调整模块,适于在调度ー个页面后将所述页面的上次调度时间更新为所述上次调度时间加上页面超时时间。
3.如权利要求Γ2中任一项所述的基于站点配额的均衡调度系统,其特征在于,所述系统还包括反馈调整模块,适于在下载ー个页面后将所述页面的上次调度时间更新为所述上次调度时间减去回调时间,所述回调时间为页面超时时间与所述页面下载时间之差。
4.如权利要求Γ3中任一项所述的基于站点配额的均衡调度系统,其特征在干,当页面实际下载时间小于预设的下载耗时,则所述页面下载时间为所述预设的下载耗时,否则为页面实际下载时间。
5.如权利要求f4中任一项所述的基于站点配额的均衡调度系统,其特征在干,所述系统还包括配额分配模块,具体包括 站点结构定位模块,适于获取当前服务器上的站点总数,根据站点序号,直接定位站点结构; 域名配额分配模块,适于从站点结构中获取该站点的域名总数和首尾域名序号,对站点域名按上次调度时间进行排序,从选择排序后的域名中选择预定数量的域名; 域名IP定位模块,适于对选定的域名根据其域名IP总数和域名IP首尾序号定位其域名IP地址,通过域名IP中的IP偏移定位IP结构地址,依次选取并记录IP的上次调度时间,选择上次调度时间最早的IP对应的服务器; 调度时间设置模块,适于定位IP结构后,比较IP结构里的上次调度时间与当前时间,如果上次调度时间大于或等当前时间,不为该服务器分配所述一次可调度页面数,如果上次调度时间小于当前时间,为该服务器分配所述一次可调度页面数,同时将该IP的上次调度时间置为当前时间; 循环分配模块,适于如果该域名中IP结构分配完成,循环处理下ー个域名,否则在剩下的IP中选择上次调度时间最早的ー个IP继续处理,当前站点中所有域名分配完成后,将站点序号加1,以便处理下ー个站点,如果站点数达到最大值,序号重置为O,如果在所有站点都检查过一次后没有可分配站点,休眠预定时间后再对所有站点循环分配。
6.如权利要求Γ5中任一项所述的基于站点配额的均衡调度系统,其特征在干,预定时间为I秒。
7.ー种基于站点配额的均衡调度方法,包括以下步骤 获取站点的域名队列中的调度任务; 对所述调度任务所指定的服务器按照预配置的一次可调度页面数从所述服务器中下载相应数量的页面; 其中,按预定的任务优先级获取站点的域名队列中的调度任务。
8.如权利要求7所述的基于站点配额的均衡调度方法,其特征在于,调度一个页面后还包括步骤将所述页面的上次调度时间更新为所述上次调度时间加上页面超时时间。
9.如权利要求71中任一项所述的基于站点配额的均衡调度方法,其特征在于,下载ー个页面后还包括步骤将所述页面的上次调度时间更新为所述上次调度时间减去回调时间,所述回调时间为页面超时时间与所述页面下载时间之差。
10.如权利要求7、中任一项所述的基于站点配额的均衡调度方法,其特征在干,当页面实际下载时间小于预设的下载耗时,则所述页面下载时间为所述预设的下载耗时,否则为页面实际下载时间。
11.如权利要求疒10中任一项所述的基于站点配额的均衡调度方法,其特征在干,在下载页面之前还包括 获取当前服务器上的站点总数,根据站点序号,直接定位站点结构; 从站点结构中获取该站点的域名总数和首尾域名序号,对站点域名按上次调度时间进行排序,从排序后的域名中选择预定数量的域名; 对选定的域名根据其域名IP总数和域名IP首尾序号定位其域名IP地址,通过域名IP中的IP偏移定位IP结构地址,依次选取并记录各IP的上次调度时间,选择上次调度时间最早的IP对应的服务器; 定位IP结构后,比较IP结构里的上次调度时间与当前时间,如果上次调度时间大于或等于当前时间,不为该服务器分配所述一次可调度页面数,如果上次调度时间小于当前时间,为该服务器分配所述一次可调度页面数,同时将该IP的上次调度时间置为当前时间; 如果该域名中IP结构分配完成,循环处理下ー个域名,否则在剩下的IP中选择上次调度时间最早的ー个IP继续处理,当前站点中所有域名分配完成后,将站点序号加1,以便处理下ー个站点,如果站点数达到最大值,序号重置为0,如果在所有站点都检查过一次后没有可分配站点,休眠预定时间后再对所有站点循环分配。
12.如权利要求8 11中任一项所述的基于站点配额的均衡调度方法,其特征在干,预定时间为I秒。
全文摘要
本发明公开了一种基于站点配额的均衡调度系统,涉及互联网技术领域,该系统包括调度任务获取模块,适于获取站点的域名队列中的调度任务;调度模块,适于对所述调度任务所指定的服务器按照预配置的一次可调度页面数从所述服务器中下载相应数量的页面;其中,所述调度任务获取模块适于按预定的任务优先级获取站点的域名队列中的调度任务。本发明还公开了一种基于站点配额的均衡调度方法。根据本发明的基于站点配额的均衡调度系统将方法保证所有站点在任何情况下都能获得一定的下载机会。同时,可以根据实际情况设置不同的配额限制,以兼顾效率与时效性,满足不同搜索产品的需求。这也为全网搜索能与垂直搜索统一处理奠定了基础。
文档编号H04L12/865GK102868639SQ20121037639
公开日2013年1月9日 申请日期2012年9月29日 优先权日2012年9月29日
发明者卢宏林 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1