CN103324522A - 对从各服务器抓取数据的任务进行调度的方法和设备 - Google Patents

对从各服务器抓取数据的任务进行调度的方法和设备 Download PDF

Info

Publication number
CN103324522A
CN103324522A CN2013102479961A CN201310247996A CN103324522A CN 103324522 A CN103324522 A CN 103324522A CN 2013102479961 A CN2013102479961 A CN 2013102479961A CN 201310247996 A CN201310247996 A CN 201310247996A CN 103324522 A CN103324522 A CN 103324522A
Authority
CN
China
Prior art keywords
task
server
list
addressable
tabulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013102479961A
Other languages
English (en)
Other versions
CN103324522B (zh
Inventor
杨涛
吕本伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201310247996.1A priority Critical patent/CN103324522B/zh
Publication of CN103324522A publication Critical patent/CN103324522A/zh
Application granted granted Critical
Publication of CN103324522B publication Critical patent/CN103324522B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种对从各服务器抓取数据的任务进行调度的方法和设备。该方法包括从目标服务器列表获取要进行任务调度的预定数量台服务器;以及针对所述预定数量台服务器中的服务器,根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务,并且执行所获取的任务。本发明能够解决因为频繁从服务器获取数据,导致使服务器拒绝访问,造成抓取数据失败的技术问题。

Description

对从各服务器抓取数据的任务进行调度的方法和设备
技术领域
本发明涉及计算机网络领域,具体涉及一种对从各服务器抓取数据的任务进行调度的方法和设备。
背景技术
现有技术中的网络搜索等多种应用中都需要进行网络数据抓取来为应用提供网络数据。现有的进行网络数据抓取的技术方案为:访问端将抓取数据的任务批量发送给抓取器,抓取器接收到这些抓取数据的任务后,按任务指示从服务器中获得数据。
但是,通过上述技术方案进行网络中数据抓取容易造成抓取失败。其主要原因在于,网络中多数服务器会对某个客户端访问的频率进行限制,以避免恶意攻击。当某一客户端对服务器访问过于频繁时,服务器就会认为该客户端为恶意访问者,从而拒绝该客户端的访问。由于抓取器进行数据抓取的任务量较大,可能频繁从服务器获取数据,容易使服务器认为其为恶意访问者,因此拒绝抓取器的访问,造成抓取数据失败。
发明内容
鉴于上述问题,提出了本发明,以便提供一种克服上述问题或者至少部分地解决上述问题的对从各服务器抓取数据的任务进行调度的方法和设备。
依据本发明的一个方面,提供了一种对从各服务器抓取数据的任务进行调度的方法。该方法包括从目标服务器列表获取要进行任务调度的预定数量台服务器;以及针对所述预定数量台服务器中的服务器,根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务,并且执行所获取的任务。
可选地,上述从目标服务器列表获取要进行任务调度的预定数量台服务器的步骤包括按服务器中任务最近一次被调度的时间由早到晚的顺序从目标服务器列表中选取出预定数量台服务器。
可选地,上述根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务的步骤之前还包括针对所述预定数量台服务器中的每台服务器,判断当前时间是否已经晚于与该服务器相关联的下次访问时间。若是,则对该服务器进行所述根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务的步骤,并更新与该服务器相关联的下次访问时间为当前时间与预设的时间间隔之和。
可选地,上述根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务的步骤之前还包括针对所述预定数量台服务器中的每台服务器,判断与该服务器相关联的任务数量限制信息中的可访问任务数量是否大于0。若是,则对该服务器进行所述根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务的步骤。
可选地,上述根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务的步骤具体包括从该服务器的任务中提取不超过与该服务器相关联的任务数量限制信息中的可访问任务数量的任务;以及更新所述可访问任务数量为该可访问任务数量减去提取的任务数量后的差值。并且,上述执行所获取的任务的步骤包括每当服务器的一个任务执行完成后,将与该服务器相关联的任务数量限制信息中的可访问任务数量加1。
根据本发明的另一方面,提供了一种对从各服务器抓取数据的任务进行调度的设备,该设备包括任务发送器和抓取器。任务发送器适于从目标服务器列表获取要进行任务调度的预定数量台服务器,针对所述预定数量台服务器中的服务器,根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务,发送获取的任务所组成的抓取任务列表。抓取器适于接收任务发送器发送的抓取任务列表,执行抓取任务列表中的任务。
可选地,任务发送器适于按服务器中任务最近一次被调度的时间由早到晚的顺序从目标服务器列表中选取出预定数量台服务器。
可选地,所述设备除包括还包括任务发送器和抓取器外还包括检测器。任务发送器适于在从目标服务器列表获取要进行任务调度的预定数量台服务器后,将获取的服务器所组成的服务器列表发送给检测器。检测器适于针对接收的服务器列表中的每台服务器,判断当前时间是否已经晚于与该服务器相关联的下次访问时间,若是,则将该服务器添加到可访问服务器列表中,并将最终确定的可访问服务器列表发送给任务发送器。任务发送器还适于对于可访问服务器列表中的每个服务器,根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务,并更新与该服务器相关联的下次访问时间为当前时间与预设的时间间隔之和。
可选地,所述设备除包括还包括任务发送器和抓取器外还包括检测器。任务发送器适于在从目标服务器列表获取要进行任务调度的预定数量台服务器后,将获取的服务器所组成的服务器列表发送给检测器。检测器适于针对接收的服务器列表中的每台服务器,判断与该服务器相关联的任务数量限制信息中的可访问任务数量是否大于0,若是,则将该服务器添加到可访问服务器列表中,并将最终确定的可访问服务器列表发送给任务发送器。任务发送器还适于对于可访问服务器列表中的每个服务器,根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务。
可选地,任务发送器具体适于从该服务器的任务中提取不超过与该服务器相关联的任务数量限制信息中的可访问任务数量的任务,并更新可访问任务数量为该可访问任务数量减去提取的任务数量后的差值。抓取器则适于每当服务器的一个任务执行完成后,将与该服务器相关联的任务数量限制信息中的可访问任务数量加1。
根据本发明的技术方案,从目标服务器列表获取要进行任务调度的预定数量台服务器;以及针对预定数量台服务器中的服务器,根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务,并且执行所获取的任务。
因此,能够依据服务器的任务数量限制信息进行任务调度,保证对服务器的访问不超出服务器的访问限制。解决了因为频繁从服务器获取数据,导致使服务器拒绝访问,造成抓取数据失败的技术问题。取得了提高抓取数据的成功率,进而节约网络带宽资源和抓取操作所消耗的系统资源的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的对从各服务器抓取数据的任务进行调度的设备的结构图;
图2示出了根据本发明一个实施例的服务器分数队列的示意图;以及
图3示出了根据本发明一个实施例的对从各服务器抓取数据的任务进行调度的方法的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参见图1,示出了根据本发明一个实施例的对从各服务器抓取数据的任务进行调度的设备的结构图。所述设备包括任务发送器110、抓取器120和检测器130。
任务发送器110适于从目标服务器列表获取要进行任务调度的预定数量台服务器,将获取的服务器所组成的服务器列表发送给检测器130。
具体地,任务发送器110按服务器中任务最近一次被调度的时间由早到晚的顺序从目标服务器列表中选取出预定数量台服务器。
举例而言,参见图2,示出了根据本发明一个实施例的服务器分数队列的示意图。分数队列中存储目标服务器列表中的服务器,以服务器被调度时的时间戳为分数。分数队列中服务器按分数从大到小的顺序排列。任务发送器110从分数队列的队头开始获取预定数量台服务器。之后,任务发送器110修改获取的服务器的分数为当前时间。修改完服务器的分数后,在分数队列中根据分数对服务器进行排序,上述被获取的服务器自动插入分数队列的队尾。
由此,通过按服务器中任务最近一次被调度的时间由早到晚的顺序从目标服务器列表中选取出预定数量台服务器,能够保证优先调度等待时间较长的服务器中任务,避免任务被处理的延时过长,也能够避免同一服务器总被优先调度,而导致该服务器被频繁访问,进一步增加了抓取数据的成功率。
检测器130适于针对接收的服务器列表中的每台服务器,判断该服务器的当前状态是否满足可访问条件,如果满足,则将该服务器添加到可访问服务器列表中,并将最终确定的可访问服务器列表发送给任务发送器110。
服务器的可访问条件包括:
条件一,当前时间已经晚于与该服务器相关联的下次访问时间;和/或,
条件二,与该服务器相关联的任务数量限制信息中的可访问任务数量大于0。
在一个实施例中,以满足条件一作为可访问条件。检测器130具体适于针对接收的服务器列表中的每台服务器,判断当前时间是否已经晚于与该服务器相关联的下次访问时间,若是,则将该服务器添加到可访问服务器列表中,并将最终确定的可访问服务器列表发送给任务发送器110。
由此,通过对服务器的访问时间间隔进行限制,避免对同一服务器在短时间内进行密集访问,进一步提高了抓取数据的成功率,节约了网络带宽资源和抓取操作所消耗的系统资源。
在另一个实施例中,以满足条件二作为可访问条件。检测器130具体适于针对接收的服务器列表中的每台服务器,判断与该服务器相关联的任务数量限制信息中的可访问任务数量是否大于0,若是,则将该服务器添加到可访问服务器列表中,并将最终确定的可访问服务器列表发送给任务发送器110。
由此,在进行服务器的任务提取前,先判断与该服务器相关联的任务数量限制信息中的可访问任务数量是否大于0,仅在大于0时提取该服务器中任务,并且通过可访问任务数量对提取的服务器中任务数量进行控制,避免了对服务器访问量过多导致的数据抓取失败,提高抓取数据的成功率,节约了网络带宽资源和抓取操作所消耗的系统资源。
上面虽然以分别满足条件一和二为例进行了描述,但是应当理解,在本发明中,可以对条件一和二进行组合,即同时满足条件一和二,而且二者的任意顺序排列都在本发明的保护范围之内。
下面以同时满足条件一和条件二作为可访问条件,对本发明进行举例说明。
首先,检测器130中存储的各个服务器的关联信息包括:下次访问的时间Next_time,时间间隔Interval,以及任务数量限制信息。任务数量限制信息包括:可访问任务数量Can_do和访问数量限制值Limit。此处仅为举例说明,本发明不限于此,可以根据调度需要,在关联信息添加或削减参数。
其中,Interval和Limit为常量参数,Next_time和Can_do为变量参数。其中,Can_do的初始值为Limit,Next_time的初始值为启动时的时间。
检测器130针对接收的服务器列表中的每台服务器,判断是否同时满足:该服务器的Can_do的值大于0,以及当前时间已经晚于该服务器的Next_time的值,如果都满足,则将该服务器添加到可访问服务器列表中,并在各个服务器都检测完成后,将最终确定的可访问服务器列表发送给任务发送器110。
任务发送器110还适于对于可访问服务器列表中的每个服务器,根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务,向抓取器120发送获取的任务所组成的抓取任务列表。
具体地,任务发送器110可以从各个服务器的任务中提取不超过与该服务器相关联的任务数量限制信息中的可访问任务数量的任务,更新可访问任务数量为该可访问任务数量减去提取的任务数量后的差值。
在一个实施例中,任务发送器110还适于在从与该服务器相关联的任务列表中获取任务后,更新与该服务器相关联的下次访问时间为当前时间与预设的时间间隔之和。
接续前述举例,下面以同时满足条件一和条件二作为可访问条件,对任务发送器110的处理操作进行说明。
任务发送器110对于可访问服务器列表中的每个服务器,从该服务器的任务中提取不超过该服务器的Can_do参量的值的任务,将Can_do更新为Can_do=Can_do-提取的任务数量。如果服务器的任务列表中具有的任务数量大于等于Can_do参量的值,则从服务器的任务列表中取出Can_do数量的任务,之后更新Can_do为0。如果服务器的任务列表中具有的任务数量小于Can_do,则从其中取出全部任务,之后更新Can_do为Can_do=Can_do-提取的任务数量。
任务发送器110还适于在从与该服务器相关联的任务列表中获取任务后,更新服务器的Next_time为Next_time=当前时间+Interval。
任务发送器110在对可访问服务器列表中的每个服务器都完成提取之后,将提取的任务组成抓取任务列表,向抓取器120发送抓取任务列表。
抓取器120,适于接收任务发送器110发送的抓取任务列表,执行抓取任务列表中的任务。
抓取器120还适于每当服务器的一个任务执行完成后,将与该服务器相关联的可访问任务数量加1。
抓取器120每当服务器的一个任务执行完成后,就将该服务器的Can_do更新为Can_do=Can_do+1。
上述设备包括任务发送器110、抓取器120和检测器130的结构为一种可选的实现方式,本发明不限于此。特别地,检测器130为可选装置。解决前述背景技术中现有技术问题的一个基本技术方案中可以仅包括任务发送器110、抓取器120。即基本技术方案为设备包括任务发送器110和抓取器120。任务发送器110适于从目标服务器列表获取要进行任务调度的预定数量台服务器,针对预定数量台服务器中的服务器,根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务,发送获取的任务所组成的抓取任务列表。抓取器120适于接收任务发送器110发送的抓取任务列表,执行抓取任务列表中的任务。
参见图3,示出了根据本发明一个实施例的对从各服务器抓取数据的任务进行调度的方法的流程图。
该方法始于步骤S310,在步骤S310中从目标服务器列表获取要进行任务调度的预定数量台服务器。具体地,在步骤S310中按服务器中任务最近一次被调度的时间由早到晚的顺序从目标服务器列表中选取出预定数量台服务器。
举例而言,在分数队列中存储目标服务器列表中服务器,以服务器被调度的时间戳为分数。分数队列中服务器按分数从小到大的顺序排列。从分数队列的队头开始获取预定数量台服务器。之后,修改获取的服务器的分数为当前时间。修改完服务器的分数后,在分数队列中根据分数对服务器进行排序,上述被获取的服务器自动插入分数队列的队尾。
由此,通过按服务器中任务最近一次被调度的时间由早到晚的顺序从目标服务器列表中选取出预定数量台服务器,能够保证优先调度等待时间较长的服务器中任务,避免任务被处理的延时过长,也能够避免同一服务器总被优先调度,而导致该服务器被频繁访问,进一步增加了抓取数据的成功率。
在步骤S310中完成预定数量台服务器的获取后,执行步骤S320。在步骤S320中,针对获取的预定数量台服务器中的每台服务器进行检查,判断该服务器的当前状态是否满足可访问条件,如果满足,则执行步骤S330,否则,执行步骤S340。在步骤S330中,从该服务器的任务中提取不超过与该服务器相关联的可访问任务数量的任务,更新该服务器的可访问任务数量为该可访问任务数量减去提取的任务数量后的差值。在步骤S340中,不从与当前检查的服务器相关联的任务列表中获取任务。
服务器的可访问条件包括:
条件一,当前时间已经晚于与该服务器相关联的下次访问时间;或者,
条件二,与该服务器相关联的任务数量限制信息中的可访问任务数量大于0。
在一个实施例中,以满足条件一作为可访问条件。在步骤S320中包括针对接收的服务器列表中的每台服务器进行检查,判断服务器的当前状态是否满足可访问条件,在此实施例中具体为判断当前时间是否已经晚于与检查的服务器相关联的下次访问时间。若是,则执行步骤S330,从该服务器的任务中提取不超过与该服务器相关联的可访问任务数量的任务,更新该服务器的可访问任务数量为该可访问任务数量减去提取的任务数量后的差值,并且还更新与该服务器相关联的下次访问时间为当前时间与预设的时间间隔之和。由此,通过对服务器的访问时间间隔进行限制,避免对同一服务器在短时间内进行密集访问,进一步提高了抓取数据的成功率,节约了网络带宽资源和抓取操作所消耗的系统资源。
在另一个实施例中,以满足条件二作为可访问条件。在步骤S320中具体包括针对接收的服务器列表中的每台服务器进行检查,判断服务器的当前状态是否满足可访问条件,在此实施例中具体为判断与检查的服务器相关联的任务数量限制信息中的可访问任务数量是否大于0,若是,则执行步骤S330,从该服务器的任务中提取不超过与该服务器相关联的可访问任务数量的任务,更新该服务器的可访问任务数量为该可访问任务数量减去提取的任务数量后的差值。由此,在进行服务器的任务提取前,先判断与该服务器相关联的任务数量限制信息中的可访问任务数量是否大于0,仅在大于0时提取该服务器中任务,并且通过可访问任务数量对提取的服务器中任务数量进行控制,避免了对服务器访问量过多导致的数据抓取失败,提高抓取数据的成功率,节约了网络带宽资源和抓取操作所消耗的系统资源。
下面以同时满足条件一和条件二作为可访问条件,对本发明进行举例说明。
首先,各个服务器的关联信息包括:下次访问的时间Next_time,时间间隔Interval,以及任务数量限制信息。任务数量限制信息包括:可访问任务数量Can_do和访问数量限制值Limit。此处仅为举例说明,本发明不限于此,可以根据调度需要,在关联信息添加或削减参量。
其中,Interval和Limit为常量参量,Next_time和Can_do为变量参量。其中,Can_do的初始值为Limit,Next_time的初始值为启动时的时间。
在步骤S320中,针对接收的服务器列表中的每台服务器进行检查,判断是否同时满足,检查的服务器的Can_do的值大于0,当前时间已经晚于该服务器的Next_time的值,如果都满足,则执行步骤S330。在S330中从检查的服务器的任务中提取不超过该服务器的Can_do参量的值任务,将Can_do更新为Can_do=Can_do-提取的任务数量,更新服务器的Next_time为Next_time=当前时间+Interval。如果服务器的任务列表中具有的任务数量大于等于Can_do参量的值,则从从服务器的任务列表中取出Can_do数量的任务,之后更新Can_do为0。如果服务器的任务列表中具有的任务数量小于Can_do,则从其中取出全部任务,之后更新Can_do为Can_do=Can_do-提取的任务数量。
在步骤S350中,执行所获取的任务进行数据抓取,每当服务器的一个任务执行完成后,将与该服务器相关联的可访问任务数量加1。即每当服务器的一个任务执行完成后,就将该服务器的Can_do更新为Can_do=Can_do+1。
上述方法包括步骤S310至S350的流程为一种可选的实现方式,本发明不限于此。特别地,步骤S320为可选步骤。解决前述背景技术中现有技术问题的一个基本技术方案中可以不包括步骤S320。即基本技术方案包括从目标服务器列表获取要进行任务调度的预定数量台服务器;以及针对所述预定数量台服务器中的服务器,根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务,并且执行所获取的任务。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的对从各服务器抓取数据的任务进行调度的设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种对从各服务器抓取数据的任务进行调度的方法,该方法包括:
从目标服务器列表获取要进行任务调度的预定数量台服务器;以及
针对所述预定数量台服务器中的服务器,根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务,并且执行所获取的任务。
2.根据权利要求1所述的方法,其中,
所述从目标服务器列表获取要进行任务调度的预定数量台服务器的步骤包括:
按服务器中任务最近一次被调度的时间由早到晚的顺序从目标服务器列表中选取出预定数量台服务器。
3.根据权利要求1或2所述的方法,其中,
所述根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务的步骤之前还包括:
针对所述预定数量台服务器中的每台服务器,判断当前时间是否已经晚于与该服务器相关联的下次访问时间,若是,则对该服务器进行所述根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务的步骤,并更新与该服务器相关联的下次访问时间为当前时间与预设的时间间隔之和。
4.根据权利要求1或2所述的方法,其中,
所述根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务的步骤之前还包括:
针对所述预定数量台服务器中的每台服务器,判断与该服务器相关联的任务数量限制信息中的可访问任务数量是否大于0,若是,则对该服务器进行所述根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务的步骤。
5.根据权利要求1-4中任一个所述的方法,其中,
所述根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务的步骤具体包括:
从该服务器的任务中提取不超过与该服务器相关联的任务数量限制信息中的可访问任务数量的任务;
更新所述可访问任务数量为该可访问任务数量减去提取的任务数量后的差值;
所述执行所获取的任务的步骤包括:
每当服务器的一个任务执行完成后,将与该服务器相关联的任务数量限制信息中的可访问任务数量加1。
6.一种对从各服务器抓取数据的任务进行调度的设备,该设备包括:
任务发送器,适于从目标服务器列表获取要进行任务调度的预定数量台服务器,针对所述预定数量台服务器中的服务器,根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务,发送获取的任务所组成的抓取任务列表;
抓取器,适于接收所述任务发送器发送的抓取任务列表,执行所述抓取任务列表中的任务。
7.根据权利要求6所述的设备,其中,
所述任务发送器,适于按服务器中任务最近一次被调度的时间由早到晚的顺序从目标服务器列表中选取出预定数量台服务器。
8.根据权利要求6或7所述的设备,其中,所述设备还包括检测器;
所述任务发送器,适于在从目标服务器列表获取要进行任务调度的预定数量台服务器后,将获取的服务器所组成的服务器列表发送给所述检测器;
所述检测器,适于针对接收的服务器列表中的每台服务器,判断当前时间是否已经晚于与该服务器相关联的下次访问时间,若是,则将该服务器添加到可访问服务器列表中,并将最终确定的可访问服务器列表发送给所述任务发送器;
所述任务发送器,适于对于可访问服务器列表中的每个服务器,根据与该服务器相关联的任务数量限制信息,从与该服务器相关联的任务列表中获取任务,并更新与该服务器相关联的下次访问时间为当前时间与预设的时间间隔之和。
9.根据权利要求8所述的设备,其中
所述检测器还适于针对接收的服务器列表中的每台服务器,判断与该服务器相关联的任务数量限制信息中的可访问任务数量是否大于0,若是,则将该服务器添加到可访问服务器列表中,并将最终确定的可访问服务器列表发送给所述任务发送器。
10.根据权利要求6-9中任一个所述的设备,其中,
所述任务发送器,适于从该服务器的任务中提取不超过与该服务器相关联的任务数量限制信息中的可访问任务数量的任务,并更新所述可访问任务数量为该可访问任务数量减去提取的任务数量后的差值;
所述抓取器,适于每当服务器的一个任务执行完成后,将与该服务器相关联的任务数量限制信息中的可访问任务数量加1。
CN201310247996.1A 2013-06-20 2013-06-20 对从各服务器抓取数据的任务进行调度的方法和设备 Expired - Fee Related CN103324522B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310247996.1A CN103324522B (zh) 2013-06-20 2013-06-20 对从各服务器抓取数据的任务进行调度的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310247996.1A CN103324522B (zh) 2013-06-20 2013-06-20 对从各服务器抓取数据的任务进行调度的方法和设备

Publications (2)

Publication Number Publication Date
CN103324522A true CN103324522A (zh) 2013-09-25
CN103324522B CN103324522B (zh) 2016-09-28

Family

ID=49193286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310247996.1A Expired - Fee Related CN103324522B (zh) 2013-06-20 2013-06-20 对从各服务器抓取数据的任务进行调度的方法和设备

Country Status (1)

Country Link
CN (1) CN103324522B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105162840A (zh) * 2015-07-31 2015-12-16 清华大学 在线分布式请求调度和服务管理方法及代理系统
CN110287245A (zh) * 2019-05-15 2019-09-27 北方工业大学 用于分布式etl任务调度执行的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005107688A (ja) * 2003-09-29 2005-04-21 Nippon Telegr & Teleph Corp <Ntt> 情報表示方法及びシステム及び情報表示プログラム
CN101089856A (zh) * 2007-07-20 2007-12-19 李沫南 一种提取网页数据的方法和Web爬虫系统
CN102469132A (zh) * 2010-11-15 2012-05-23 北大方正集团有限公司 从网站中多个不同ip的服务器抓取网页的方法及系统
CN102609456A (zh) * 2012-01-12 2012-07-25 凤凰在线(北京)信息技术有限公司 一种文章实时智能抓取系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005107688A (ja) * 2003-09-29 2005-04-21 Nippon Telegr & Teleph Corp <Ntt> 情報表示方法及びシステム及び情報表示プログラム
CN101089856A (zh) * 2007-07-20 2007-12-19 李沫南 一种提取网页数据的方法和Web爬虫系统
CN102469132A (zh) * 2010-11-15 2012-05-23 北大方正集团有限公司 从网站中多个不同ip的服务器抓取网页的方法及系统
CN102609456A (zh) * 2012-01-12 2012-07-25 凤凰在线(北京)信息技术有限公司 一种文章实时智能抓取系统和方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105162840A (zh) * 2015-07-31 2015-12-16 清华大学 在线分布式请求调度和服务管理方法及代理系统
CN105162840B (zh) * 2015-07-31 2018-12-28 清华大学 在线分布式请求调度和服务管理方法及代理系统
CN110287245A (zh) * 2019-05-15 2019-09-27 北方工业大学 用于分布式etl任务调度执行的方法及系统

Also Published As

Publication number Publication date
CN103324522B (zh) 2016-09-28

Similar Documents

Publication Publication Date Title
JP6922538B2 (ja) Api学習
CN104915285A (zh) 一种容器进程监控方法、装置及系统
CN104239133A (zh) 一种日志处理方法、装置及服务器
CN102915380A (zh) 用于对数据进行搜索的方法和系统
CN104520815A (zh) 一种任务调度的方法、装置及设备
CN102982169A (zh) 用于隔离网页插件的浏览器和方法
CN111770002B (zh) 测试数据转发控制方法、装置、可读存储介质和电子设备
CN103365692A (zh) 软件升级提示信息的推送方法及装置
CN105183564A (zh) 基于云测试平台的设备调度方法、装置及系统
CN103927305B (zh) 一种对内存溢出进行控制的方法和设备
CN103034495A (zh) 对网页中插件进行隔离的浏览器及网页插件的隔离方法
CN106155806A (zh) 一种多任务调度方法及服务器
CN104111847A (zh) 一种提高游戏运行速度的方法及装置
CN103034540A (zh) 分布式消息系统及其设备和协调方法
CN103177115A (zh) 一种提取网页页面链接的方法和装置
CN103886092A (zh) 一种提供终端故障问题解决方案的方法及装置
CN103034541A (zh) 一种分布式消息系统及其中的设备和方法
CN104166570B (zh) 一种在线更新文件的方法、设备及系统
CN103440453A (zh) 浏览器运行环境检测方法、客户端、服务器及系统
CN107357885A (zh) 数据写入方法及装置、电子设备、计算机存储介质
CN105718307A (zh) 进程管理方法及进程管理装置
CN102902784A (zh) 网页分类存储系统及方法
CN109634569B (zh) 基于注解的流程实现方法、装置、设备及可读存储介质
CN103136477A (zh) 文件样本的扫描方法和系统
CN103324522A (zh) 对从各服务器抓取数据的任务进行调度的方法和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160928

Termination date: 20210620