一种检测推广URL的有效性的方法和系统与流程

文档序号:12182909阅读:232来源:国知局
一种检测推广URL的有效性的方法和系统与流程

本发明涉及互联网技术领域,具体涉及一种检测推广URL的有效性的方法和系统。



背景技术:

随着互联网技术的不断发展,互联网用户日益增多,形成巨大的推广受众,越来越多的具有推广需求的推广方希望通过互联网进行推广和宣传,以提高推广效率。通常情况下,推广方通过URL链接的方式将推广内容发布给浏览者,该URL表征了一个具体的推广内容在互联网上的地址,被称作“推广URL”,当浏览者点击推广URL时,对应的目标推广内容将显示在浏览器上,并且根据目标推广内容的类型进行打开和运行,实现了向浏览者推送推广内容的方案。

然而,当推广URL中包含的目标推广内容的信息发生异常,如信息过期或信息删除等情况时,将导致浏览者无法访问该推广URL,即该推广URL失效,成为失效的推广链接。大量失效的推广链接在白白占用互联网资源的同时,不仅无法满足推广方的推广需求,也无法满足浏览者对推广内容的浏览需求。

目前,在发布的推广URL中,有相当一部分推广URL尤其是人工维护的推广URL,只通过人工来检测推广URL的有效性,该检测方案效率较低且检测结果误差较大。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种检测推广URL的有效性的方法和系统。

依据本发明的一个方面,提供了一种检测推广URL的有效性的方法,该方法包括:

获取待检测的推广URL;

对于获取的每个推广URL,按照预设策略从检测服务器集群中选择一个检测服务器,将该推广URL发送给该选择的检测服务器;

各检测服务器将收到的推广URL分发到多个爬虫调度器上;

各爬虫调度器将收到的推广URL分发给相应的多个爬虫程序,由爬虫程序通过访问收到的推广URL,获得推广URL的有效性的检测结果;

各爬虫程序将获得的推广URL的有效性的检测结果返回给相应的爬虫调度器,再由爬虫调度器返回给相应的检测服务器。

可选地,所述检测服务器集群中包括多个检测服务器组,每个检测服务器组中包括多个检测服务器;

则所述对于获取的每个推广URL,按照预设策略从检测服务器集群中选择一个检测服务器包括:根据该推广URL的域名的哈希值从检测服务器集群中选择一个检测服务器组,从选择的该检测服务器组中选择一个检测服务器。

可选地,所述从选择的该检测服务器组中选择一个检测服务器包括:

向该检测服务器组中的各检测服务器发送Ping请求,获得各检测服务器的当前响应时间,选择当前响应时间最短的检测服务器。

可选地,所述从选择的该检测服务器组中选择一个检测服务器包括:

向该检测服务器组中的各检测服务器发送Ping请求,获得各检测服务器的当前响应时间;

将当前响应时间最短的检测服务器与前一次检测所述推广URL时选择的检测服务器的当前响应时间进行比较,如果二者差距超过预设范围,则选择当前响应时间最短的检测服务器;如果二者差距未超过预设范围,则沿用前一次检测所述推广URL时选择的检测服务器。

可选地,该方法进一步包括:

所述选择的该检测服务器组中的各检测服务器同步保存爬虫调度器返回的推广URL的有效性的检测结果。

可选地,所述各检测服务器将收到的推广URL分发到多个爬虫调度器上包括:

各检测服务器将收到的每个推广URL分发到与该URL的IP地址属于 同一地区的爬虫调度器上。

可选地,所述各爬虫调度器将收到的推广URL分发给相应的多个爬虫程序包括:

对于每个爬虫调度器,将收到的推广URL的IP地址转换为整数,按大小排序后得到整数序列,依据爬虫程序的数量均匀分割该整数序列,得到与多个爬虫程序一一对应的多个分割段;

对于每个分割段,将其中包含的整数转换为IP地址,将IP地址对应的推广URL分发给与该分割段对应的爬虫程序。

依据本发明的另一个方面,提供了一种检测推广URL的有效性的系统,该系统包括:

任务代理器,适于获取待检测的推广URL;对于获取的每个推广URL,按照预设策略从检测服务器集群中选择一个检测服务器,将该推广URL发送给该选择的检测服务器;

检测服务器,适于将收到的推广URL分发到多个爬虫调度器上;

爬虫调度器,适于将收到的推广URL分发给相应的多个爬虫程序,由爬虫程序通过访问收到的推广URL,获得推广URL的有效性的检测结果;以及适于接收各爬虫程序返回的推广URL的有效性的检测结果,再将该推广URL有效性的检测结果返回给相应的检测服务器。

可选地,所述检测服务器集群中包括多个检测服务器组,每个检测服务器组中包括多个检测服务器;

则任务代理器,适于根据该推广URL的域名的哈希值从检测服务器集群中选择一个检测服务器组,从选择的该检测服务器组中选择一个检测服务器。

可选地,任务代理器,适于向该检测服务器组中的各检测服务器发送Ping请求,获得各检测服务器的当前响应时间,选择当前响应时间最短的检测服务器。

可选地,任务代理器,适于向该检测服务器组中的各检测服务器发送Ping请求,获得各检测服务器的当前响应时间;将当前响应时间最短的检测服务器与前一次检测所述推广URL时选择的检测服务器的当前响应时间进 行比较,如果二者差距超过预设范围,则选择当前响应时间最短的检测服务器;如果二者差距未超过预设范围,则沿用前一次检测所述推广URL时选择的检测服务器。

可选地,检测服务器,进一步适于在接收到爬虫调度器返回的推广URL的有效性的检测结果时,将该推广URL的有效性的检测结果在该检测服务器所属的检测服务器组中进行广播,使得同一检测服务器组中的各检测服务器均保存该推广URL的有效性的检测结果。

可选地,检测服务器,适于将收到的每个推广URL分发到与该推广URL的IP地址属于同一地区的爬虫调度器上。

可选地,爬虫调度器,适于将收到的推广URL的IP地址转换为整数,按大小排序后得到整数序列,依据爬虫程序的数量均匀分割该整数序列,得到与多个爬虫程序一一对应的多个分割段;对于每个分割段,将其中包含的整数转换为IP地址,将IP地址对应的推广URL分发给与该分割段对应的爬虫程序。

由上述可知,在通过推广URL推送推广内容的场景中,需要对推广URL的有效性进行高效、准确地检测,以保证推送的有效性;本发明提供的技术方案将待检测的推广URL发送给合适的检测服务器,由检测服务器获得推广URL的有效性的检测结果;具体地,在检测过程中,各检测服务器将收到的推广URL分发到多个爬虫调度器上,各爬虫调度器将收到的推广URL分发给相应的多个爬虫程序,通过爬虫程序访问推广URL的访问结果,获得推广URL的有效性的检测结果并返回给相应的检测服务器。本方案将检测推广URL的有效性的过程分为多个阶段,由多个层级配合完成,各层级的工作量大大简化,只需负责从上层级接收任务以及向下层级分配任务,细化了处理粒度,降低了故障发生率,在发生故障时也很容易追溯到故障源头;而且由于每个层级中均包括多个等效的节点,能够实现负载均衡,在其中一个发生故障时可以将当前处理事项转移到同层级的其他节点上,不会中断整体检测过程。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它 目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的一种检测推广URL的有效性的方法的流程图;

图2示出了根据本发明一个实施例的一种检测推广URL的有效性的系统的示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

在互联网领域中,对于推广方利用推广URL向浏览者推送推广内容的场景,为保证推送过程的有效性,需要定期检测推广URL的有效性,以避免由于推广URL失效而给推广方和浏览方带来的不便与损失。基于此,本发明提供了一种检测推广URL的有效性的方法和系统,下文将通过具体的实施例对其进行详细的说明。

图1示出了根据本发明一个实施例的一种检测推广URL的有效性的方法的流程图。如图1所示,该方法包括:

步骤S110,获取待检测推广URL。

步骤S120,对于获取的每个推广URL,按照预设策略从检测服务器集群中选择一个检测服务器,将该推广URL发送给该选择的检测服务器。

步骤S130,各检测服务器将收到的推广URL分发到多个爬虫调度器上。

步骤S140,各爬虫调度器将收到的推广URL分发给相应的多个爬虫程 序,由爬虫程序通过访问收到的推广URL,获得推广URL的有效性的检测结果。

步骤S150,各爬虫程序将获得的推广URL的有效性的检测结果返回给相应的爬虫调度器,再由爬虫调度器返回给相应的检测服务器。

可见,图1所示的方法将待检测推广URL发送给合适的检测服务器,由检测服务器获得推广URL的有效性的检测结果;具体地,在检测过程中,各检测服务器将收到的推广URL分发到多个爬虫调度器上,各爬虫调度器将收到的推广URL分发给相应的多个爬虫程序,通过爬虫程序访问推广URL的访问结果,获得推广URL的有效性的检测结果并返回给相应的检测服务器。本方案将检测推广URL的有效性的过程分为多个阶段,由多个层级配合完成,各层级的工作量大大简化,只需负责从上层级接收任务以及向下层级分配任务,细化了处理粒度,降低了故障发生率,在发生故障时也很容易追溯到故障源头;而且由于每个层级中均包括多个等效的节点,能够实现负载均衡,在其中一个发生故障时可以将当前处理事项转移到同层级的其他节点上,不会中断整体检测过程。

在本发明的一个实施例中,所述检测服务器集群中包括多个检测服务器组,每个检测服务器组中包括多个检测服务器;则图1所示方法的步骤S120,对于获取的每个推广URL,按照预设策略从检测服务器集群中选择一个检测服务器包括:根据该推广URL的域名的哈希值从检测服务器集群中选择一个检测服务器组,从选择的该检测服务器组中选择一个检测服务器。通过这样的设置,大量待检测的推广URL被分散到多个检测服务器组中的多个检测服务器上进行处理,大大减轻了各检测服务器的检测压力,提高检测效率,降低检测故障发生率。

具体地,在本发明的一个实施例中,上述从选择的该检测服务器组中选择一个检测服务器包括:向该检测服务器组中的各检测服务器发送Ping请求,获得各检测服务器的当前响应时间,选择当前响应时间最短的检测服务器,即从选择的该检测服务器中选择当前响应最快的一个检测服务器,用于接收当前待检测的推广URL。

在一些情况下,在上述向该检测服务器组中的各检测服务器发送Ping 请求,获得各检测服务器的当前响应时间的过程中,经常会由于网络抖动而导致各检测服务器的当前响应时间不稳定,为克服该问题,在本发明的另一个实施例中,在获得各检测服务器的当前响应时间后,将当前响应时间最短的检测服务器与前一次检测所述推广URL时选择的检测服务器的当前响应时间进行比较,如果二者差距超过预设范围,则选择当前响应时间最短的检测服务器;如果二者差距未超过预设范围,则沿用前一次检测所述推广URL时选择的检测服务器。

例如,在一个检测服务器组中,向该检测服务器组中的各检测服务器发送Ping请求,获得各检测服务器的响应时间,在上一个时间段,响应时间最短的检测服务器为A检测服务器,而在当前时间段,响应时间最短的检测服务器为B服务器,为去除网络抖动造成的影响,预设T0,将A检测服务器的当前响应时间TA和B检测服务器的当前响应时间TB进行比较,如果TA-TB≥T0,则表明在当前时间段内B检测服务器的性能确实优于A检测服务器,因此选择B检测服务器;如果TA-TB<T0,则表明在当前时间段内B检测服务器的响应速度快于A检测服务器可能是网络抖动所造成的,不能确定B检测服务器的性能确实优于A检测服务器,因此依然沿用A检测服务器。

在图1所示的方法中,步骤S150,各爬虫程序获得的推广URL的有效性的检测结果最终将返回给相应的检测服务器,在此之后,图1所示的方法进一步包括:步骤S160,相应的检测服务器所在的检测服务器组中的所有检测服务器同步保存返回的推广URL的有效性的检测结果。通过这样的设置,使得同一个检测服务器组中的所有检测服务器能够分享其中任一个检测服务器所得到的推广URL的有效性的检测结果,保持组内同步更新的状态,当调用同一个检测服务器组中的任一个检测服务器时,即可获知历史检测结果,在一定时间段内无需对相同的推广URL进行重复检测。在具体实施过程中,可以利用广播(Broadcast)接口将返回的推广URL的有效性的检测结果广播到对应检测服务器组内的所有检测服务器上去,使得所有检测服务器同步更新检测结果。

在本发明的一个实施例中,爬虫调度器可以是检测服务器中的模块,也可以是硬件上独立于检测服务器的机器,当爬虫调度器是硬件上独立于检测 服务器的机器时,图1所示方法的步骤S130各检测服务器将收到的推广URL分发到多个爬虫调度器上包括:各检测服务器将收到的每个推广URL进行DNS解析,得到该推广URL对应的IP地址,将该推广URL分发到与其IP地址属于同一地区的爬虫调度器上。其中,各检测服务器可以监测到多个爬虫调度器的运行状况,当一个爬虫调度器发生故障时,检测服务器会将该爬虫调度器上的待检测的推广URL转移分配给附近的其他爬虫调度器。

为了进一步提高本方案的检测能力、灵活性和可靠性,在本发明的一个实施例中,各爬虫程序具有等价的地位,各爬虫调度器基于负载均衡的原则将收到的URL分发给相应的多个爬虫程序,即将收到的推广URL均匀地分配给多个爬虫程序。在具体的实施过程中,图1所示方法的步骤S140各爬虫调度器将收到的推广URL分发给相应的多个爬虫程序包括:

步骤S141,对于每个爬虫调度器,将收到的推广URL的IP地址转换为整数,按大小排序后得到整数序列,依据爬虫程序的数量均匀分割该整数序列,得到与多个爬虫程序一一对应的多个分割段。

步骤S142,对于每个分割段,将其中包含的整数转换为IP地址,将IP地址对应的推广URL分发给与该分割段对应的爬虫程序。

图2示出了根据本发明一个实施例的一种检测推广URL的有效性的系统的示意图。如图2所示,该检测推广URL的有效性的系统200包括:

任务代理器210,适于获取待检测的推广URL;对于获取的每个推广URL,按照预设策略从检测服务器集群中选择一个检测服务器,将该推广URL发送给该选择的检测服务器220。

其中,图2所示的系统中可以包括一个或多个任务代理器210,多个任务代理器210的地位是等价的,且其中的每个任务代理器210与一个任务代理器210的执行逻辑是一致的,因此,图2中仅示出一个任务代理器210作为代表进行说明。

检测服务器220,适于将收到的推广URL分发到多个爬虫调度器230上。

爬虫调度器230,适于将收到的推广URL分发给相应的多个爬虫程序,由爬虫程序通过访问收到的推广URL,获得推广URL的有效性的检测结果; 以及适于接收各爬虫程序返回的推广URL的有效性的检测结果,再将该推广URL的有效性的检测结果返回给相应的检测服务器220。

其中,检测服务器集群中的各检测服务器220与爬虫调度器230的交互关系对应相同,因此,图2中仅示出第一个检测服务器220与多个爬虫调度器230的交互关系作为代表进行说明。

可见,图2所示的系统通过任务代理器将待检测的推广URL发送给合适的检测服务器,由检测服务器获得推广URL的有效性的检测结果;具体地,在检测过程中,各检测服务器将收到的推广URL分发到多个爬虫调度器上,各爬虫调度器将收到的推广URL分发给相应的多个爬虫程序,通过爬虫程序访问推广URL的访问结果,获得推广URL的有效性的检测结果并返回给相应的检测服务器。本方案将检测推广URL的有效性的过程分为多个阶段,由多个层级配合完成,各层级的工作量大大简化,只需负责从上层级接收任务以及向下层级分配任务,细化了处理粒度,降低了故障发生率,在发生故障时也很容易追溯到故障源头;而且由于每个层级中均包括多个等效的节点,能够实现负载均衡,在其中一个发生故障时可以将当前处理事项转移到同层级的其他节点上,不会中断整体检测过程。

在本发明的一个实施例中,所述检测服务器集群中包括多个检测服务器组,每个检测服务器组中包括多个检测服务器220;则任务代理器210选择检测服务器组的策略是:适于根据该推广URL的域名的哈希值从检测服务器集群中选择一个检测服务器组。

则任务代理器210选择检测服务器220的策略是:向上述选择的检测服务器组中的各检测服务器220发送Ping请求,获得各检测服务器220的当前响应时间,选择当前响应时间最短的检测服务器220。

在一些情况下,在上述任务代理器210向各检测服务器220发送Ping请求,获得各检测服务器220的当前响应时间的过程中,经常会由于网络抖动而导致各检测服务器220的当前响应时间不稳定,为克服该问题,在本发明的另一个实施例中,任务代理器210,适于向该检测服务器组中的各检测服务器发送Ping请求,获得各检测服务器220的当前响应时间;将当前响应时间最短的检测服务器220与前一次检测所述推广URL时选择的检测服务器 220的当前响应时间进行比较,如果二者差距超过预设范围,则选择当前响应时间最短的检测服务器220;如果二者差距未超过预设范围,则沿用前一次检测所述推广URL时选择的检测服务器220。

在本发明的一个实施例中,为了同步更新同一个检测服务器组中的各监测服务器的检测结果,检测服务器220,进一步适于在接收到爬虫调度器230返回的推广URL的有效性的检测结果时,将该推广URL的有效性的检测结果在该检测服务器220所属的检测服务器组中进行广播,使得同一检测服务器组中的各检测服务器220均保存该推广URL的有效性的检测结果。

在本发明的一个实施例中,检测服务器220选择爬虫调度器230的策略是:将收到的每个推广URL分发到与该推广URL的IP地址属于同一地区的爬虫调度器上。

在本发明的一个实施例中,爬虫调度器230调度爬虫程序依据负载均衡的策略,在具体的实施过程中,爬虫调度器230适于将收到的推广URL的IP地址转换为整数,按大小排序后得到整数序列,依据爬虫程序的数量均匀分割该整数序列,得到与多个爬虫程序一一对应的多个分割段;对于每个分割段,将其中包含的整数转换为IP地址,将IP地址对应的推广URL分发给与该分割段对应的爬虫程序。

需要说明的是,图2所示装置的各实施例与上文图1所示方法的各实施例对应相同,上文已详细说明,在此不再赘述。

综上所述,在通过推广URL推送推广内容的场景中,需要对推广URL的有效性进行高效、准确地检测,以保证推送的有效性;本发明提供的技术方案将待检测URL发送给合适的检测服务器,由检测服务器获得URL有效性的检测结果;具体地,在检测过程中,各检测服务器将收到的URL分发到多个爬虫调度器上,各爬虫调度器将收到的URL分发给相应的多个爬虫程序,通过爬虫程序访问URL的访问结果,获得URL有效性的检测结果并返回给相应的检测服务器。本方案将检测URL的有效性的过程分为多个阶段,由多个层级配合完成,各层级的工作量大大简化,只需负责从上层级接收任务以及向下层级分配任务,细化了处理粒度,降低了故障发生率,在发生故障时也很容易追溯到故障源头;而且由于每个层级中均包括多个等效的节点, 能够实现负载均衡,在其中一个发生故障时可以将当前处理事项转移到同层级的其他节点上,不会中断整体检测过程;提供了高效、准确、可靠的检测推广URL的有效性的方案,保证了推广内容的推送过程的有效性,能够更完美地满足当前互联网领域的推广需求。

需要说明的是:

在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相 似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的检测推广URL的有效性的系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了A1、一种检测推广URL的有效性的方法,其中,该方法包括:

获取待检测的推广URL;

对于获取的每个推广URL,按照预设策略从检测服务器集群中选择一个检测服务器,将该推广URL发送给该选择的检测服务器;

各检测服务器将收到的推广URL分发到多个爬虫调度器上;

各爬虫调度器将收到的推广URL分发给相应的多个爬虫程序,由爬虫程序通过访问收到的推广URL,获得推广URL的有效性的检测结果;

各爬虫程序将获得的推广URL的有效性的检测结果返回给相应的爬虫调度器,再由爬虫调度器返回给相应的检测服务器。

A2、如A1所述的方法,其中,所述检测服务器集群中包括多个检测服务器组,每个检测服务器组中包括多个检测服务器;

则所述对于获取的每个推广URL,按照预设策略从检测服务器集群中选择一个检测服务器包括:根据该推广URL的域名的哈希值从检测服务器集群中选择一个检测服务器组,从选择的该检测服务器组中选择一个检测服务器。

A3、如A2所述的方法,其中,所述从选择的该检测服务器组中选择一个检测服务器包括:

向该检测服务器组中的各检测服务器发送Ping请求,获得各检测服务器的当前响应时间,选择当前响应时间最短的检测服务器。

A4、如A2所述的方法,其中,所述从选择的该检测服务器组中选择一个检测服务器包括:

向该检测服务器组中的各检测服务器发送Ping请求,获得各检测服务器的当前响应时间;

将当前响应时间最短的检测服务器与前一次检测所述推广URL时选择的检测服务器的当前响应时间进行比较,如果二者差距超过预设范围,则选择当前响应时间最短的检测服务器;如果二者差距未超过预设范围,则沿用前一次检测所述推广URL时选择的检测服务器。

A5、如A2所述的方法,其中,该方法进一步包括:

所述选择的该检测服务器组中的各检测服务器同步保存爬虫调度器返回的推广URL的有效性的检测结果。

A6、如A1所述的方法,其中,所述各检测服务器将收到的推广URL分发到多个爬虫调度器上包括:

各检测服务器将收到的每个推广URL分发到与该推广URL的IP地址属于同一地区的爬虫调度器上。

A7、如A1所述的方法,其中,所述各爬虫调度器将收到的推广URL分发给相应的多个爬虫程序包括:

对于每个爬虫调度器,将收到的推广URL的IP地址转换为整数,按大小排序后得到整数序列,依据爬虫程序的数量均匀分割该整数序列,得到与多个爬虫程序一一对应的多个分割段;

对于每个分割段,将其中包含的整数转换为IP地址,将IP地址对应的推广URL分发给与该分割段对应的爬虫程序。

本发明还公开了B8、一种检测推广URL的有效性的系统,其中,该系统包括:

任务代理器,适于获取待检测的推广URL;对于获取的每个推广URL,按照预设策略从检测服务器集群中选择一个检测服务器,将该推广URL发送给该选择的检测服务器;

检测服务器,适于将收到的推广URL分发到多个爬虫调度器上;

爬虫调度器,适于将收到的推广URL分发给相应的多个爬虫程序,由爬虫程序通过访问收到的推广URL,获得推广URL的有效性的检测结果;以及适于接收各爬虫程序返回的推广URL的有效性的检测结果,再将该推广URL的有效性的检测结果返回给相应的检测服务器。

B9、如B8所述的系统,其中,所述检测服务器集群中包括多个检测服务器组,每个检测服务器组中包括多个检测服务器;

则任务代理器,适于根据该推广URL的域名的哈希值从检测服务器集群中选择一个检测服务器组,从选择的该检测服务器组中选择一个检测服务器。

B10、如B9所述的系统,其中,

任务代理器,适于向该检测服务器组中的各检测服务器发送Ping请求,获得各检测服务器的当前响应时间,选择当前响应时间最短的检测服务器。

B11、如B9所述的系统,其中,

任务代理器,适于向该检测服务器组中的各检测服务器发送Ping请求,获得各检测服务器的当前响应时间;将当前响应时间最短的检测服务器与前一次检测所述推广URL时选择的检测服务器的当前响应时间进行比较,如果 二者差距超过预设范围,则选择当前响应时间最短的检测服务器;如果二者差距未超过预设范围,则沿用前一次检测所述推广URL时选择的检测服务器。

B12、如B9所述的系统,其中,

检测服务器,进一步适于在接收到爬虫调度器返回的推广URL的有效性的检测结果时,将该推广URL的有效性的检测结果在该检测服务器所属的检测服务器组中进行广播,使得同一检测服务器组中的各检测服务器均保存该推广URL的有效性的检测结果。

B13、如B8所述的系统,其中,

检测服务器,适于将收到的每个推广URL分发到与该推广URL的IP地址属于同一地区的爬虫调度器上。

B14、如B8所述的系统,其中,

爬虫调度器,适于将收到的推广URL的IP地址转换为整数,按大小排序后得到整数序列,依据爬虫程序的数量均匀分割该整数序列,得到与多个爬虫程序一一对应的多个分割段;对于每个分割段,将其中包含的整数转换为IP地址,将IP地址对应的推广URL分发给与该分割段对应的爬虫程序。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1