Url检测任务的分配方法、分配器及url检测系统的制作方法

文档序号:9249333阅读:382来源:国知局
Url检测任务的分配方法、分配器及url检测系统的制作方法
【技术领域】
[0001]本发明涉及互联网技术领域,具体涉及一种URL检测任务的分配方法、分配器及URL检测系统。
【背景技术】
[0002]随着互联网技术的快速发展和普及,越来越多的商家或企业将其创意投放到基于互联网的平台上,利用互联网在网页上推广信息,吸引更多的人群了解和关注其产品服务等,一方面商家或企业能够通过点击率获得更多转换率,进而从中获利;另一方面,利用互联网推广信息,能够降低推广费用,为商家或企业节省推广成本。
[0003]互联网平台的开发者需要对创意的链接地址(URL)进行检测,以确保用户可以正确地链接到创意的内容,然而现有方法一般是将创意的链接地址统一分配给网络爬虫,由该网络爬虫进行检测,其并未考虑爬虫频繁请求商家或企业的网站,而被商家或企业的防火墙屏蔽掉的风险,从而造成检测失败。

【发明内容】

[0004]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的URL检测任务的分配方法、URL检测任务的分配器和相应的URL检测系统。
[0005]根据本发明的一个方面,提供了一种URL检测任务的分配方法,其中,URL为物料的链接地址,方法包括:
[0006]将从数据库中获取的URL检测任务存储在URL任务列表中;
[0007]接收多个网络爬虫发送的获取URL检测任务的请求;
[0008]响应请求,根据预设的分配策略将URL任务列表中的URL检测任务分配给多个网络爬虫中的其中一个,以供该网络爬虫检测URL的连通性。
[0009]根据本发明的另一方面,提供了一种URL检测任务的分配器,其中,URL为物料的链接地址,分配器包括:
[0010]存储模块,适于将从数据库中获取的URL检测任务存储在URL任务列表中;
[0011]接收模块,适于接收多个网络爬虫发送的获取URL检测任务的请求;
[0012]分配模块,适于响应请求,根据预设的分配策略将URL任务列表中的URL检测任务分配给多个网络爬虫中的其中一个,以供该网络爬虫检测URL的连通性。
[0013]根据本发明的另一方面,提供了一种URL检测系统,包括:分配器、网络爬虫、数据库、监控模块、消息队列服务器、订阅服务器。
[0014]网络爬虫,适于向分配器发送获取URL检测任务的请求,以及对获取到的URL进行连通性检测;
[0015]数据库,适于存储URL检测任务,以及连通性检测结果;
[0016]监控模块,适于对网络爬虫的检测进度进行监控;
[0017]消息队列服务器,适于存储连通性检测结果;
[0018]订阅者服务器,适于通过订阅消息的方式获取连通性检测结果,并根据连通性检测结果对物料进行上线或下架处理。
[0019]根据本发明提供的方案,将从数据库中获取的URL检测任务存储在URL任务列表中;接收多个网络爬虫发送的获取URL检测任务的请求;响应该请求,根据预设的分配策略将URL任务列表中的URL检测任务分配给多个网络爬虫中的其中一个,以供该网络爬虫检测URL的连通性,根据预设的分配策略将URL检测任务分配给网络爬虫,可以防止网络爬虫频繁请求任务,降低被用户防火墙屏蔽掉的风险。
[0020]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0021]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0022]图1示出了根据本发明一个实施例的URL检测任务的分配方法的流程图;
[0023]图2示出了根据本发明另一个实施例的URL检测任务的分配方法的流程图;
[0024]图3示出了根据本发明另一个实施例的URL检测任务的分配方法的流程图;
[0025]图4示出了根据本发明另一个实施例的URL检测任务的分配方法的流程图;
[0026]图5示出了根据本发明一个实施例的URL检测任务的分配器的结构框图;
[0027]图6示出了根据本发明另一个实施例的URL检测任务的分配器的结构框图;
[0028]图7示出了根据本发明一个实施例的URL检测系统的结构框图。
【具体实施方式】
[0029]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0030]图1示出了根据本发明一个实施例的URL检测任务的分配方法的流程图。其中,URL为物料的链接地址。这里的物料可以是创意或关键词。每一个物料都对应的有一个URL,通过点击该URL可以查看具体的内容,例如标题、描述等。如图1所示,该方法包括以下步骤:
[0031]步骤S100,将从数据库中获取的URL检测任务存储在URL任务列表中。
[0032]可选地,数据库为关系型数据库(MySQL),MySQL支持多线程服务,在处理事务和并发请求时性能有明显的优势,且数据存储于MySQL中,相对于其他类型的数据库更安全可靠,便于查询问题。
[0033]这里的URL检测任务具体是指需要进行连通性检测的URL。
[0034]具体地,分配器利用获取任务接口,从MySQL中获取URL检测任务,并将所获取的任务存储到URL任务列表中,分配器实时维护该要分配的URL任务列表,例如,将URL任务列表中的URL检测任务分配给网络爬虫进行连通性检测以及将所获取的任务存储到URL任务列表中。
[0035]步骤SlOl,接收多个网络爬虫发送的获取URL检测任务的请求。
[0036]具体地,多个网络爬虫以HTTP GET方式向分配器发送获取URL检测任务的请求,分配器接收多个网络爬虫发送的请求,该请求可携带有网络爬虫的IP地址。
[0037]可选地,网络爬虫包括Java网络爬虫和PHP网络爬虫。
[0038]Java网络爬虫主要应用于Strom系统,其中,Strom系统是一种分布式的实时计算系统,在Strom系统中设置有2个机房,每个机房设有100个网络爬虫机器。
[0039]PHP网络爬虫代码为单文件编程,部署简单方便,分设在6-8个机房中,每个机房设有2-3个网络爬虫机器,且这些爬虫可以同时运行,其作为Java网络爬虫的备用爬虫,当Java网络爬虫出现问题时,可以由PHP网络爬虫代替Java网络爬虫,继续连通性检测工作。
[0040]步骤S102,响应请求,根据预设的分配策略将URL任务列表中的URL检测任务分配给多个网络爬虫中的其中一个,以供该网络爬虫检测URL的连通性。
[0041]可选地,预设的分配策略限定了 URL的分配条件,分配器在接收到多个网络爬虫发送的获取URL检测任务的请求后,对该请求作出响应,根据预设的IP地址限制条件和/或URL主域限制条件,将URL任务列表中的URL检测任务分配给多个网络爬虫中的其中一个,以供该网络爬虫检测URL的连通性其中,每个网络爬虫都具有一个IP地址,这里的IP地址限制条件主要是针对每个网络爬虫所具有的IP地址进行限制。
[0042]本步骤中,检测URL的连通性主要是检测该URL是否能够正确地链接到物料的具体内容,使用户查看到URL对应的内容,在网络爬虫检测URL的连通性之前,首先需要检测URL是否为恶意的,在该URL不是恶意的情况下,对URL进行连通性检测。
[0043]根据本发明上述实施例提供的方法,将从数据库中获取的URL检测任务存储在URL任务列表中;接收多个网络爬虫发送的获取URL检测任务的请求;响应该请求,根据预设的分配策略将URL任务列表中的URL检测任务分配给多个网络爬虫中的其中一个,以供该网络爬虫检测URL的连通性,根据预设的分配策略将URL检测任务分配给网络爬虫,可以防止网络爬虫频繁请求任务,降低被用户防火墙屏蔽掉的风险。
[0044]以下实施例中的URL为物料的链接地址,这里的物料可以是创意或关键词。每一个物料都对应的有一个URL,通过点击该URL可以查看具体的内容,例如标题、描述等。数据库中存储有需实时检测的URL检测任务和需巡查的URL检测任务,其中,需实时检测的URL检测任务主要是指未对物料的URL进行过连通性检测的,需要进行连通性检测的任务,例如,用户需要发布新的物料,则对新增的物料进行检测,以确定是否将物料上线;需巡查的URL检测任务主要是指已对物料的URL进行过连通性检测,且通过了连通性检测的物料的URL,对物料的URL进行巡查主要是防止物料的URL在上线时是连通的,而过一段时间之后,该URL变成了不连通的。
[0045]预设的分配策略包括:根据预设的IP地址限制条件和/或URL主域限制条件,以及分配给属于不同网段的另一网络爬虫。本领域技术人员应该理解,上述预设的分配策略可以单独使用,也可以结合使用。下面针对具体的预设的分配策略,详细介绍URL检测任务的分配方法。
[0046]图2示出了根据本发明另一个实施例的URL检测任务的分配方法的流程图。在本实施例中,主要是根据预设的IP地址限制条件,将URL任务列表中的URL检测任务分配给多个网络爬虫中的其中一个。如图2所示,该方法包括以下步骤:
[0047]步骤S200,将从数据库中获取的URL检测任务存储在URL任务列表中。
[0048]具体地,优先将数据库中需要实时检测的URL检测任务存储在URL任务列表中。上面介绍了需实时检测的URL检测任务是还未对物料的URL进行过连通性检测的任务,而需巡查的URL检测任务是已对物料的URL进行过连通性检测且通过了连通性检测的物料的URL,这些URL需要定期巡查。因此,需实时检测的URL检测任务的检测等级高于需巡查的URL检测任务。
[0049]步骤S201,接收多个网络爬虫发送的获取URL检测任务的请求。
[0050]步骤S202,响应该请求,检测在第一预设时间内是否向第一网络爬虫分配过URL检测任务,若是,则执行步骤S203 ;若否,则执行步骤S204。
[0051]在本步骤中,第一预设时间是根据网络爬虫处理所获取的URL检测任务所需时间进行设置的。例如,网络爬虫处理1000个URL检测任务所需的时间为I秒,则这里的第一预设时间即为I秒,I秒结束后,网络爬虫会再次向分配器发送获取URL检测任务的请求。
[0052]具体地,第一网络爬虫具有IP地址:127.0.0.3,检测在I秒内是否向具有该IP地址的第一网络爬虫分配过URL检测任务,更具体地,分配器中记录有已分配过URL检测任务的网络爬虫的IP地址,当网络爬虫向分配器发送获取URL检测任务的请求时,分配器根据请求中携带的IP地址,通过查询分配记录来判断是否向该爬虫分配过URL检测任务。这里仅仅
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1