CN103955385A - 一种网络蜘蛛的更新控制方法及装置 - Google Patents

一种网络蜘蛛的更新控制方法及装置 Download PDF

Info

Publication number
CN103955385A
CN103955385A CN201410161869.4A CN201410161869A CN103955385A CN 103955385 A CN103955385 A CN 103955385A CN 201410161869 A CN201410161869 A CN 201410161869A CN 103955385 A CN103955385 A CN 103955385A
Authority
CN
China
Prior art keywords
spider
version
renewal
control
current
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.)
Pending
Application number
CN201410161869.4A
Other languages
English (en)
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 LIANJIA ZHONGYING NETWORK TECHNOLOGY CO., LTD.
Original Assignee
Beijing Connection Time-Space Network Communication Facilities 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 Connection Time-Space Network Communication Facilities Co Ltd filed Critical Beijing Connection Time-Space Network Communication Facilities Co Ltd
Priority to CN201410161869.4A priority Critical patent/CN103955385A/zh
Publication of CN103955385A publication Critical patent/CN103955385A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种网络蜘蛛的更新控制方法及装置,分别应用于多个控制客户端,每个控制客户端均与控制中心相连接且每个控制客户端中设置有网络蜘蛛,控制中心设置有更新数据包,本申请中的方法包括:获取控制中心的更新数据包;依据更新数据包判断网络蜘蛛中的蜘蛛程序是否需要更新,得到更新判断结果;在更新判断结果表明网络蜘蛛中的蜘蛛程序需要更新时,控制蜘蛛程序更新为与更新数据包相对应的程序。本申请通过设置与控制客户端相连接的控制中心形成网络蜘蛛的分布式结构,在每个网络蜘蛛所在的控制客户端通过对控制中心中的更新数据包进行获取,进而实现对每个网络蜘蛛的更新控制,无需手工对每个网络蜘蛛进行更新,提高控制更新的效率。

Description

一种网络蜘蛛的更新控制方法及装置
技术领域
本申请涉及计算机网络技术领域,特别涉及一种网络蜘蛛的更新控制方法及装置。
背景技术
目前,比价购物网站通常采用一个网络蜘蛛***来进行商品数据的抓取与收录,以便为购物网站提供商品数据。
随着电子商务的迅速发展,越来越多的电商网站进行越来越频繁的促销活动,其各自页面改版越来越频繁,导致传统的网络蜘蛛***需要不断更新各个蜘蛛程序进行数据抓取的任务数据,如抓取目标及抓取时间等,现有技术中,可以通过手动依次更新每个蜘蛛的蜘蛛程序。
但由于蜘蛛程序进行处理的电商经营商品数据巨大,蜘蛛程序的分布随之增加,使得蜘蛛程序的更新控制会需要巨大的更新时间及更新工作量,由此使得蜘蛛程序的更新控制效率极低。
发明内容
本申请所要解决的技术问题是提供一种网络蜘蛛的控制方法及装置,用以解决现有技术中的蜘蛛程序的更新控制需要消耗巨大的时间及工作量,使得蜘蛛程序的更新控制效率极低的技术问题。
为实现以上目的,本申请采用如下技术方案:
本申请提供了一种网络蜘蛛的更新控制方法,分别应用于多个控制客户端,每个所述控制客户端分别与控制中心相连接,且每个所述控制客户端中设置有网络蜘蛛,所述控制中心设置有更新数据包,所述方法包括:
步骤A:获取所述控制中心内的更新数据包;
步骤B:依据所述更新数据包,判断所述网络蜘蛛中的蜘蛛程序是否需要更新,得到更新判断结果;
步骤C:在所述更新判断结果表明所述网络蜘蛛中的蜘蛛程序需要更新时,控制所述蜘蛛程序更新为与所述更新数据包相对应的程序。
在本申请的方法中,优选的,所述步骤A具体包括:
获取预设的时间间隔长;
每隔所述时间间隔长,获取所述控制中心内的更新数据包。
在本申请的方法中,优选的,所述步骤B具体包括:
步骤B1:提取所述更新数据包中的更新数据信息;
步骤B2:判断所述网络蜘蛛中蜘蛛程序的当前蜘蛛信息是否与所述更新数据信息相一致,如果是,执行步骤B3,否则,执行步骤B4;
步骤B3:生成表明所述蜘蛛程序无需被更新的更新判断结果;
步骤B4:生成表明所述蜘蛛程序需要被更新的更新判断结果。
在本申请的方法中,优选的,所述更新数据信息包括执行代码更新版本及任务信息更新版本;
其中,所述步骤B2进一步包括:
判断所述当前蜘蛛信息中当前执行代码版本是否与所述更新数据信息中的执行代码更新版本相一致,同时判断所述当前蜘蛛信息中当前任务信息版本是否与所述更新数据信息中的任务信息更新版本相一致。
在本申请的方法中,优选的,所述步骤C具体包括:
控制所述网络蜘蛛停止当前任务;
提取所述更新数据包中的更新内容;
依据所述更新内容,对所述网络蜘蛛中的蜘蛛程序进行更新;
控制更新后的网络蜘蛛以当前蜘蛛程序执行当前蜘蛛任务。
本申请还提供了一种网络蜘蛛的更新控制装置,分别应用于多个控制客户端,每个所述控制客户端分别与控制中心相连接,且每个所述控制客户端中设置有网络蜘蛛,所述控制中心设置有更新数据包,所述装置包括:
A包获取单元,用于获取所述控制中心内的更新数据包;
B更新判断单元,用于依据所述更新数据包,判断所述网络蜘蛛中的蜘蛛中的蜘蛛程序是否需要更新,得到更新判断结果,在所述更新判断结果表明所述网络蜘蛛中的蜘蛛程序需要更新时,触发更新控制单元C;
C更新控制单元,用于控制所述蜘蛛程序更新为与所述更新数据包相对应的程序。
在本申请的装置中,优选的,所述A单元具体包括:
间隔获取子单元,用于获取预设的时间间隔长,每隔所述时间间隔长触发包获取子单元;
包获取子单元,用于获取控制中心内的更新数据包。
在本申请的装置中,优选的,所述B单元具体包括:
B1更新数据提取子单元,用于提取所述更新数据包中的更新数据信息;
B2一致判断子单元,用于判断所述网络蜘蛛中蜘蛛程序的当前蜘蛛信息是否与所述更新数据信息相一致,如果是,触发B3第一结果生成子单元,否则,触发B4第二结果生成子单元;
B3第一结果生成子单元,用于生成表明所述蜘蛛程序无需被更新的更新判断结果;
B4第二结果生成子单元,用于生成表明所述蜘蛛程序需要被更新的更新判断结果。
在本申请的装置中,优选的,所述更新数据信息包括执行代码更新版本及任务信息更新版本;
其中,所述B2单元具体包括:
第一判断模块,用于判断所述当前蜘蛛信息中当前执行代码版本是否与所述更新数据信息中的执行代码更新版本相一致;
第二判断模块,用于判断所述当前蜘蛛信息中当前任务信息版本是否与所述更新数据信息中的任务信息更新版本相一致;
相应的,在所述第一判断模块判断出所述当前蜘蛛信息中当前执行代码版本与所述更新数据信息中的执行代码更新版本相一致,且所述第二判断模块判断所述当前蜘蛛信息中当前任务信息版本与所述更新数据信息中的任务信息更新版本相一致时,触发所述第一结果生成子单元,否则,触发所述第二结果生成子单元。
在本申请的装置中,优选的,所述C单元具体包括:
当前任务停止子单元,用于控制所述网络蜘蛛停止当前任务;
更新内容提取子单元,用于提取所述更新包中的更新内容;
内容更新子单元,用于依据所述更新内容,对所述网络蜘蛛中的蜘蛛程序进行更新;
任务控制执行子单元,用于控制更新后的网络蜘蛛以当前蜘蛛程序执行当前蜘蛛任务。
由上述方案可知,本申请提供的一种网络蜘蛛的更新控制方法及装置,分别应用于设置有网络蜘蛛的多个控制客户端,而每个该控制客户端与设置有更新数据包的控制中心相连接,在每个控制客户端中,本申请通过获取控制中心内的更新数据包,进而在依据该更新数据包判断出网络蜘蛛的蜘蛛程序需要更新时,控制所述蜘蛛程序更新为与该更新数据包相对应的程序,实现对网络蜘蛛的更新控制。本申请通过设置与控制客户端相连接的控制中心,形成网络蜘蛛的分布式结构,即多个分别设置有网络蜘蛛的控制客户端与一个控制中心组成的分布式结构,而在每个网络蜘蛛所在的控制客户端,通过对控制中心中的更新数据包进行获取,进而实现对分布式结构的每个网络蜘蛛的蜘蛛程序的更新控制,无需手工对每个网络蜘蛛进行更新,提高控制更新的效率。
附图说明
图1为本申请提供的一种网络蜘蛛的更新控制方法实施例一的流程图;
图2为本申请实施例的应用示例图;
图3为本申请提供的一种网络蜘蛛的更新控制方法实施例二的部分流程图;
图4为本申请提供的一种网络蜘蛛的更新控制方法实施例三的部分流程图;
图5为本申请提供的一种网络蜘蛛的更新控制方法实施例四的部分流程图;
图6为本申请实施例四的应用流程图;
图7为本申请提供的一种网络蜘蛛的更新控制装置实施例五的结构示意图;
图8为本申请提供的一种网络蜘蛛的更新控制装置实施例六的部分结构示意图;
图9为本申请提供的一种网络蜘蛛的更新控制装置实施例七的部分结构示意图;
图10为本申请提供的一种网络蜘蛛的更新控制装置实施例八的部分结构示意图;
图11为本申请提供的一种网络蜘蛛的更新控制装置实施例九的部分结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一:对应权利要求1
参考图1,为本申请提供的一种网络蜘蛛的更新控制方法实施例一的流程图,所述方法可以应用于分布式结构的每个控制客户端中,其中,所述分布式结构如图2中所示,包括一个控制中心和多个控制客户端,每个所述控制客户端分别于该控制中心相连接,且每个所述控制客户端中设置有网络蜘蛛,该控制中心中设置有更新数据包,本申请实施例的更新控制方法分别针对每个所述控制客户端中的网络蜘蛛进行更新控制,也就是说,每个所述控制客户端中均可同时或非同时执行本申请实施例一中的更新控制方法。
本申请实施例中的方法可以包括以下步骤:
步骤101:获取所述控制中心内的更新数据包。
其中,所述步骤101即为所述步骤A。
而所述更新数据包可以为控制更新的管理人员根据实际需求进行配置发布的更新程序。
需要说明的是,在所述控制中心所在的分布式结构中,当存在一个控制客户端来获取该控制中心内的更新数据包时,该控制中心通过获取该控制客户端的IP地址等信息,判断该控制客户端是否为新添加或第一次参数分布式更新控制的控制客户端,如果是,所述控制中心将初始化的数据根据该IP地址导入到预设的数据库中,该初始化的数据即为蜘蛛结点的IP地址、当前蜘蛛程序版本及蜘蛛当前任务类型等数据,之后,所述控制中心将所述数据库中的当前数据信息按照预设的XML格式返回给该控制客户端,所述数据库中的当前数据信息的XML格式即为所述更新数据包,其中,所述数据库中的当前数据信息可以由:蜘蛛程序的版本信息、目前活动的蜘蛛、蜘蛛需要执行的任务信息等。之后,由本申请实施例获取该更新数据包。
其中,所述数据库可以为SQL server数据库。
步骤102:依据所述更新数据包,判断所述网络蜘蛛中的蜘蛛程序是否需要更新,得到更新判断结果,在所述更新判断结果表明所述网络蜘蛛中的蜘蛛程序需要更新时,执行步骤103。
其中,所述步骤102即为所述步骤B。
步骤103:控制所述蜘蛛程序更新为与所述更新数据包相对应的程序。
其中,所述步骤101至所述步骤103的实现代码可以由安装于该控制客户端中的蜘蛛控制程序实现,也就是说,所述控制客户端中设置有两类程序,即:蜘蛛程序和蜘蛛控制程序,所述蜘蛛程序即为所述网络蜘蛛自身执行任务如进行数据抓取的程序,包括任务执行代码及任务信息代码;所述蜘蛛控制程序即为所述控制客户端中对其网络蜘蛛的蜘蛛程序进行控制更新的程序,即为本申请实施例的实现程序。
需要说明的是,所述步骤103即为所述步骤C。
由上述方案可知,本申请提供的一种网络蜘蛛的更新控制方法实施例一,可以分别应用于设置有网络蜘蛛的多个控制客户端,而每个该控制客户端与设置有更新数据包的控制中心相连接,在每个控制客户端中,本申请实施例一通过获取控制中心内的更新数据包,进而在依据该更新数据包判断出网络蜘蛛的蜘蛛程序需要更新时,控制所述蜘蛛程序更新为与该更新数据包相对应的程序,实现对网络蜘蛛的更新控制。本申请实施例一通过设置与控制客户端相连接的控制中心,形成网络蜘蛛的分布式结构,即多个分别设置有网络蜘蛛的控制客户端与一个控制中心组成的分布式结构,而在每个网络蜘蛛所在的控制客户端,通过对控制中心中的更新数据包进行获取,进而实现对分布式结构的每个网络蜘蛛的蜘蛛程序的更新控制,无需手工对每个网络蜘蛛进行更新,提高控制更新的效率。
在具体实现中,本申请实施例一中的网络蜘蛛可以应用于对电子商务相关数据的获取中,例如对电商商品的全站数据的高频率及高效率的采集等,由此,进一步利用采集到的数据提升消费者购物体验,使得网站访问量上升,增加商品下单量等等。
实施例二
参考图3,为本申请提供的一种网络蜘蛛的更新控制方法实施例二中所述步骤101的流程图,其中,所述步骤101(所述步骤A)可以通过以下步骤实现:
步骤111:获取预设的时间间隔长。
其中,所述时间间隔长可以由控制客户端的用户或管理员根据需求预先设置,可以为10秒或15秒等。
步骤112:每隔所述时间间隔长,获取所述控制中心内的更新数据包。
其中,所述步骤112是指,在所述控制客户端中,每隔一个所述时间间隔长,均会对所述控制中心内的更新数据包进行一次获取,进而对本次获取到的更新数据包进行判断该控制客户端中网络蜘蛛的蜘蛛程序是否需要更新,即为,本申请实施例二通过设置控制客户端中进行更新数据包获取的间隔时间长,实现对控制客户端中网络蜘蛛的蜘蛛程序的定期更新控制,保证网络蜘蛛的时效性。
实施例三:
参考图4,为本申请提供的一种网络蜘蛛的更新控制方法实施例三中所述步骤102的实现流程图,其中,所述步骤102(所述步骤B)可以包括以下实现步骤:
步骤121:提取所述更新数据包中的更新数据信息。
其中,所述更新数据信息是指,所述控制中心中管理员进行配置发布的数据,代表网络蜘蛛的蜘蛛程序需要更新的最新数据。
需要说明的是,所述步骤121即为所述步骤B1。
步骤122:判断所述网络蜘蛛中蜘蛛程序的当前蜘蛛信息是否与所述更新数据信息相一致,如果是,执行步骤123,否则,执行步骤124。
其中,所述蜘蛛程序的当前蜘蛛信息可以为所述蜘蛛程序中的关键字信息,其代表所述蜘蛛程序的当前版本信息。在所述步骤122中,通过将所述蜘蛛程序的当前蜘蛛信息与所述更新数据信息进行一致性比对,可以得出所述蜘蛛程序是否需要被更新的信息。
需要说明的是,所述步骤122即为所述步骤B2。
步骤123:生成表明所述蜘蛛程序无需被更新的更新判断结果。
其中,在所述步骤122中判断出所述蜘蛛程序的当前蜘蛛信息与所述更新数据信息一致时,表明所述蜘蛛程序为最新蜘蛛程序,无需被更新,此时执行步骤123生成表明所述蜘蛛程序无需被更新的更新判断结果。
需要说明的是,所述步骤123即为所述步骤B3。
步骤124:生成表明所述蜘蛛程序需要被更新的更新判断结果。
其中,在所述步骤122中判断出所述蜘蛛程序的当前蜘蛛信息与所述更新数据信息不一致时,表明所述蜘蛛程序并非为最新的蜘蛛程序,需要被更新,此时执行步骤124生成表明所述蜘蛛程序需要被更新的更新判断结果。
需要说明的是,所述步骤124即为所述步骤B4。
具体的,在本申请的以上各个方法实施例中,所述更新数据信息可以包括执行代码更新版本及任务信息更新版本,其中,所述执行代码更新版本是指,网络蜘蛛进行数据抓取时的任务执行代码的最新版本,所述任务信息更新版本是指:网络蜘蛛进行数据抓取的抓取目标及抓取时间等任务信息的最新版本。
相应的,在本申请的以上各个方法实施例中,所述步骤122(所述步骤B2)在判断所述网络蜘蛛的当前蜘蛛信息是否与所述更新数据信息相一致时,进一步包括执行以下两个判断:
第一判断:判断所述当前蜘蛛信息中当前执行代码版本是否与所述更新数据信息中的执行代码更新版本相一致;
第二判断:判断所述当前蜘蛛信息中当前任务信息版本是否与所述更新数据信息中的任务信息更新版本相一致。
其中,所述当前执行代码版本及所述当前任务信息版本,可以由其各自的更新时间进行表示,即在所述步骤122的两个判断为:判断当前蜘蛛信息中的当前执行代码更新时间及当前任务信息的更新时间是否与更新数据信息中的更新时间相一致。
所述步骤122中,只有所述步骤122的两个判断的判断结果均为一致时,也就是说,所述当前蜘蛛信息中当前执行代码版本与所述更新数据信息中的执行代码更新版本相一致,同时所述当前任务信息版本与所述更新数据信息中的任务信息更新版本相一致,此时,表明所述当前蜘蛛信息与所述更新数据信息完全一致,即为所述网络蜘蛛为与所述更新数据包相一致,无需对该网络蜘蛛进行更新,即可执行步骤123,否则,表明所述当前蜘蛛信息与所述更新数据信息中存在不一致的地方,此时执行步骤124。
实施例四
参考图5,为本申请提供的一种网络蜘蛛的更新控制方法实施例四中所述步骤103的流程图,其中,所述步骤103(所述步骤C)可以包括以下步骤:
步骤131:控制所述网络蜘蛛停止当前任务。
其中,所述步骤131中控制所述网络蜘蛛停止当前任务是指,停止所述网络蜘蛛对当前执行任务的暂停。需要说明的是,在所述步骤131控制所述网络蜘蛛停止当前任务的同时,需要保存当前任务的配置信息。
步骤132:提取所述更新数据包中的更新内容。
其中,所述更新内容可以理解为所述步骤102中判断出与所述蜘蛛程序相比,需要更新的数据内容。
步骤133:依据所述更新内容,对所述网络蜘蛛中的蜘蛛程序进行更新。
具体的,所述蜘蛛程序包括有包括任务执行代码及任务信息代码,此时,所述步骤133即为:依据所述更新内容,对所述任务执行代码和/或任务信息代码进行更新。
需要说明的是,在所述步骤132中提取到的更新内容中只包括有执行代码更新内容时,所述步骤133的具体实现步骤为:对所述蜘蛛程序中的任务执行代码更新为所述执行代码更新内容,例如,所述步骤133中,对所述蜘蛛程序中的实现代码如进行数据抓取的执行代码等进行改写更新为与所述更新内容中最新的执行代码,而不对所述蜘蛛程序中的任务信息代码如数据抓取目标及数据抓取时间等信息进行更新操作;
在所述步骤132中提取到的更新内容中只包括有任务信息更新内容时,所述步骤133的具体实现步骤为:对所述蜘蛛程序中的任务信息代码更新为所述任务信息更新内容,例如,所述步骤133中,对所述蜘蛛程序中的任务信息代码如数据抓取目标及数据抓取时间等信息进行改写更新为与所述更新内容中最新的任务信息,而不对所述蜘蛛程序中的任务执行代码进行更新操作;
在所述步骤132中提取到的更新内容中包括有执行代码更新内容及任务信息更新内容时,所述步骤133的具体实现步骤为:对所述蜘蛛程序中的任务执行代码更新为所述执行代码更新内容,同时对所述蜘蛛程序中的任务信息代码更新为所述任务信息更新内容,完成蜘蛛程序的更新,例如,所述步骤133中,对所述蜘蛛程序中的实现代码如进行数据抓取的执行代码等进行改写更新为与所述更新内容中最新的执行代码,同时对所述蜘蛛程序中的任务信息代码如数据抓取目标及数据抓取时间等信息进行更新操作,更新为所述任务信息更新内容。
步骤134:控制更新后的网络蜘蛛以当前蜘蛛程序执行当前蜘蛛任务。
其中,所述步骤134中是指,控制更新蜘蛛程序之后的网络蜘蛛运行更新后的任务执行代码,进而执行更新后的任务信息,如数据抓取目标及抓取时间等。
如图6中所示,为本申请实施例在具体应用中的流程图:
首先,由管理人员发布配置更新程序,存储到控制中心中并生成更新数据包,在控制客户端中,对该更新数据包进行检查更新,在需要进行更新时,触发网络蜘蛛停止当前任务保存任务配置,之后控制客户端下载更新数据包中的更新内容并更新网络蜘蛛,再触发所述网络蜘蛛回复任务配置,重新启动,按照更新的任务信息以更新的执行代码执行任务。
实施例五
参考图7,为本申请提供的一种网络蜘蛛的更新控制装置实施例五的结构示意图,所述装置可以应用于分布式结构的每个控制客户端中,其中,所述分布式结构如图2中所示,包括一个控制中心和多个控制客户端,每个所述控制客户端分别于该控制中心相连接,且每个所述控制客户端中设置有网络蜘蛛,该控制中心中设置有更新数据包,本申请实施例的更新控制装置分别针对每个所述控制客户端中的网络蜘蛛进行更新控制,也就是说,每个所述控制客户端中均可同时设置本申请实施例中的更新控制装置,并同时或非同时运行本申请实施例中的更新控制装置。
其中,本申请实施例中的装置可以包括:
包获取单元701,用于获取所述控制中心内的更新数据包。
其中,所述更新数据包可以为控制更新的管理人员根据实际需求进行配置发布的更新程序。
需要说明的是,在所述控制中心所在的分布式结构中,当存在一个控制客户端来获取该控制中心内的更新数据包时,该控制中心通过获取该控制客户端的IP地址等信息,判断该控制客户端是否为新添加或第一次参数分布式更新控制的控制客户端,如果是,所述控制中心将初始化的数据根据该IP地址导入到预设的数据库中,该初始化的数据即为蜘蛛结点的IP地址、当前蜘蛛程序版本及蜘蛛当前任务类型等数据,之后,所述控制中心将所述数据库中的当前数据信息按照预设的XML格式返回给该控制客户端,所述数据库中的当前数据信息的XML格式即为所述更新数据包,其中,所述数据库中的当前数据信息可以由:蜘蛛程序的版本信息、目前活动的蜘蛛、蜘蛛需要执行的任务信息等。之后,由本申请实施例获取该更新数据包。
其中,所述数据库可以为SQL server数据库。
需要说明的是,所述包获取单元701即为所述A包获取单元或所述A单元。
更新判断单元702,用于依据所述更新数据包,判断所述网络蜘蛛中的蜘蛛中的蜘蛛程序是否需要更新,得到更新判断结果,在所述更新判断结果表明所述网络蜘蛛中的蜘蛛程序需要更新时,触发更新控制单元703。
需要说明的是,所述更新判断单元702即为所述B更新判断单元或所述B单元。
更新控制单元703,用于控制所述蜘蛛程序更新为与所述更新数据包相对应的程序。
其中,所述包获取单元701、所述更新判断单元702及所述更新控制单元703的实现代码可以由安装于该控制客户端中的蜘蛛控制程序实现,也就是说,所述控制客户端中设置有两类程序,即:蜘蛛程序和蜘蛛控制程序,所述蜘蛛程序即为所述网络蜘蛛自身执行任务如进行数据抓取的程序,包括任务执行代码及任务信息代码;所述蜘蛛控制程序即为所述控制客户端中对其网络蜘蛛的蜘蛛程序进行控制更新的程序,即为本申请实施例的实现程序。
需要说明的是,所述更新控制单元703即为所述C更新控制单元或所述C单元。
由上述方案可知,本申请提供的一种网络蜘蛛的更新控制装置实施例五,可以分别应用于设置有网络蜘蛛的多个控制客户端,而每个该控制客户端与设置有更新数据包的控制中心相连接,在每个控制客户端中,本申请实施例五通过获取控制中心内的更新数据包,进而在依据该更新数据包判断出网络蜘蛛的蜘蛛程序需要更新时,控制所述蜘蛛程序更新为与该更新数据包相对应的程序,实现对网络蜘蛛的更新控制。本申请实施例五通过设置与控制客户端相连接的控制中心,形成网络蜘蛛的分布式结构,即多个分别设置有网络蜘蛛的控制客户端与一个控制中心组成的分布式结构,而在每个网络蜘蛛所在的控制客户端,通过对控制中心中的更新数据包进行获取,进而实现对分布式结构的每个网络蜘蛛的蜘蛛程序的更新控制,无需手工对每个网络蜘蛛进行更新,提高控制更新的效率。
实施例六
参考图8,为本申请提供的一种网络蜘蛛的更新控制装置实施例六中所述包获取单元701的结构示意图,其中,所述包获取单元701(所述A单元)可以包括:
间隔获取子单元711,用于获取预设的时间间隔长,每隔所述时间间隔长触发包获取子单元712。
其中,所述时间间隔长可以由控制客户端的用户或管理员根据需求预先设置,可以为10秒或15秒等。
包获取子单元712,用于获取控制中心内的更新数据包。
其中,本申请实施例中所述包获取单元701的结构实现是指,在所述控制客户端中,每隔一个所述时间间隔长,均会对所述控制中心内的更新数据包进行一次获取,进而对本次获取到的更新数据包进行判断该控制客户端中网络蜘蛛的蜘蛛程序是否需要更新,即为,本申请实施例通过设置控制客户端中进行更新数据包获取的间隔时间长,实现对控制客户端中网络蜘蛛的蜘蛛程序的定期更新控制,保证网络蜘蛛的时效性。
实施例七
参考图9,为本申请提供的一种网络蜘蛛的更新控制装置实施例七中所述更新判断单元702的结构示意图,其中,所述更新判断单元702(所述B单元)可以包括:
更新数据提取子单元721,用于提取所述更新数据包中的更新数据信息。
其中,所述更新数据信息是指,所述控制中心中管理员进行配置发布的数据,代表网络蜘蛛的蜘蛛程序需要更新的最新数据。
需要说明的是,所述更新数据提取子单元721即为所述B1更新数据提取子单元。
一致判断子单元722,用于判断所述网络蜘蛛中蜘蛛程序的当前蜘蛛信息是否与所述更新数据信息相一致,如果是,触发第一结果生成子单元723,否则,触发第二结果生成子单元724。
其中,所述蜘蛛程序的当前蜘蛛信息,可以为所述蜘蛛程序中的关键字信息,其代表所述蜘蛛程序的当前版本信息。在所述一致判断子单元722中,通过将所述蜘蛛程序的当前蜘蛛信息与所述更新数据信息进行一致性比对,可以得出所述蜘蛛程序是否需要被更新的信息。
需要说明的是,所述一致判断子单元722即为所述B2一致判断子单元或所述B2单元。
第一结果生成子单元723,用于生成表明所述蜘蛛程序无需被更新的更新判断结果。
其中,在所述一致判断子单元722中判断出所述蜘蛛程序的当前蜘蛛信息与所述更新数据信息一致时,表明所述蜘蛛程序为最新蜘蛛程序,无需被更新,此时触发执行所述第一结果生成子单元723生成表明所述蜘蛛程序无需被更新的更新判断结果。
需要说明的是,所述第一结果生成子单元723即为所述B3第一结果生成子单元。
第二结果生成子单元724,用于生成表明所述蜘蛛程序需要被更新的更新判断结果。
其中,在所述一致判断子单元722中判断出所述蜘蛛程序的当前蜘蛛信息与所述更新数据信息不一致时,表明所述蜘蛛程序并非为最新的蜘蛛程序,需要被更新,此时触发执行所述第二结果生成子单元724生成表明所述蜘蛛程序需要被更新的更新判断结果。
需要说明的是,所述第二结果生成子单元724即为所述B4第二结果生成子单元。
实施例八
具体的,在本申请的以上各个装置实施例中,所述更新数据信息可以包括执行代码更新版本及任务信息更新版本,其中,所述执行代码更新版本是指,网络蜘蛛进行数据抓取时的任务执行代码的最新版本,所述任务信息更新版本是指:网络蜘蛛进行数据抓取的抓取目标及抓取时间等任务信息的最新版本。
相应的,在本申请的以上各个装置实施例中,所述一致判断子单元722可以通过如图10中的结构实现。参考图10,为本申请提供的一种网络蜘蛛的更新控制装置实施例八中所述一致判断子单元722(所述B2单元)的结构示意图,其中,所述一致判断子单元722可以包括以下两个判断模块:
第一判断模块1001,用于判断所述当前蜘蛛信息中当前执行代码版本是否与所述更新数据信息中的执行代码更新版本相一致。
第二判断模块1002,用于判断所述当前蜘蛛信息中当前任务信息版本是否与所述更新数据信息中的任务信息更新版本相一致。
其中,所述当前执行代码版本及所述当前任务信息版本,可以由其各自的更新时间进行表示,即在所述一致判断子单元722的两个判断模块中,为判断当前蜘蛛信息中的当前执行代码更新时间及当前任务信息的更新时间是否与更新数据信息中的更新时间相一致。
相应的,在所述第一判断模块1001判断出所述当前蜘蛛信息中当前执行代码版本与所述更新数据信息中的执行代码更新版本相一致,且所述第二判断模块1002判断所述当前蜘蛛信息中当前任务信息版本与所述更新数据信息中的任务信息更新版本相一致时,此时,表明所述当前蜘蛛信息与所述更新数据信息完全一致,即为所述网络蜘蛛为与所述更新数据包相一致,无需对该网络蜘蛛进行更新,触发所述第一结果生成子单元723,否则,表明所述当前蜘蛛信息与所述更新数据信息中存在不一致的地方,即触发所述第二结果生成子单元724。
实施例九
参考图11,为本申请提供的一种网络蜘蛛的更新控制装置实施例九中所述控制更新单元703的结构示意图,其中,所述控制更新单元703(所述C单元)可以包括:
当前任务停止子单元731,用于控制所述网络蜘蛛停止当前任务。
其中,所述当前任务停止子单元731中控制所述网络蜘蛛停止当前任务是指,停止所述网络蜘蛛对当前执行任务的暂停。需要说明的是,在所述当前任务停止子单元731控制所述网络蜘蛛停止当前任务的同时,需要保存当前任务的配置信息。
更新内容提取子单元732,用于提取所述更新包中的更新内容。
其中,所述更新内容可以理解为所述更新判断单元702中判断出与所述蜘蛛程序相比,需要更新的数据内容。
内容更新子单元733,用于依据所述更新内容,对所述网络蜘蛛中的蜘蛛程序进行更新。
具体的,所述蜘蛛程序包括有包括任务执行代码及任务信息代码,此时,所述内容更新子单元733即为:依据所述更新内容,对所述任务执行代码和/或任务信息代码进行更新。
需要说明的是,在所述更新内容提取子单元732提取到的更新内容中只包括有执行代码更新内容时,所述内容更新子单元733的具体实现功能为:对所述蜘蛛程序中的任务执行代码更新为所述执行代码更新内容,例如,所述内容更新子单元733对所述蜘蛛程序中的实现代码如进行数据抓取的执行代码等进行改写更新为与所述更新内容中最新的执行代码,而不对所述蜘蛛程序中的任务信息代码如数据抓取目标及数据抓取时间等信息进行更新操作;
在所述更新内容提取子单元732提取到的更新内容中只包括有任务信息更新内容时,所述内容更新子单元733的具体实现功能为:对所述蜘蛛程序中的任务信息代码更新为所述任务信息更新内容,例如,所述内容更新子单元733对所述蜘蛛程序中的任务信息代码如数据抓取目标及数据抓取时间等信息进行改写更新为与所述更新内容中最新的任务信息,而不对所述蜘蛛程序中的任务执行代码进行更新操作;
在所述更新内容提取子单元732提取到的更新内容中包括有执行代码更新内容及任务信息更新内容时,所述内容更新子单元733的具体实现功能为:对所述蜘蛛程序中的任务执行代码更新为所述执行代码更新内容,同时对所述蜘蛛程序中的任务信息代码更新为所述任务信息更新内容,完成蜘蛛程序的更新,例如,所述内容更新子单元733对所述蜘蛛程序中的实现代码如进行数据抓取的执行代码等进行改写更新为与所述更新内容中最新的执行代码,同时对所述蜘蛛程序中的任务信息代码如数据抓取目标及数据抓取时间等信息进行更新操作,更新为所述任务信息更新内容。
任务控制执行子单元734,用于控制更新后的网络蜘蛛以当前蜘蛛程序执行当前蜘蛛任务。
其中,所述任务控制执行子单元734是指,控制更新蜘蛛程序之后的网络蜘蛛运行更新后的任务执行代码,进而执行更新后的任务信息,如数据抓取目标及抓取时间等。
需要说明的是,本申请中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种网络蜘蛛的更新控制方法及装置进行了详细介绍,本申请中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本申请内容不应理解为对本申请的限制。

Claims (10)

1.一种网络蜘蛛的更新控制方法,其特征在于,分别应用于多个控制客户端,每个所述控制客户端分别与控制中心相连接,且每个所述控制客户端中设置有网络蜘蛛,所述控制中心设置有更新数据包,所述方法包括:
步骤A:获取所述控制中心内的更新数据包;
步骤B:依据所述更新数据包,判断所述网络蜘蛛中的蜘蛛程序是否需要更新,得到更新判断结果;
步骤C:在所述更新判断结果表明所述网络蜘蛛中的蜘蛛程序需要更新时,控制所述蜘蛛程序更新为与所述更新数据包相对应的程序。
2.根据权利要求1所述的方法,其特征在于,所述步骤A具体包括:
获取预设的时间间隔长;
每隔所述时间间隔长,获取所述控制中心内的更新数据包。
3.根据权利要求1或2所述的方法,其特征在于,所述步骤B具体包括:
步骤B1:提取所述更新数据包中的更新数据信息;
步骤B2:判断所述网络蜘蛛中蜘蛛程序的当前蜘蛛信息是否与所述更新数据信息相一致,如果是,执行步骤B3,否则,执行步骤B4;
步骤B3:生成表明所述蜘蛛程序无需被更新的更新判断结果;
步骤B4:生成表明所述蜘蛛程序需要被更新的更新判断结果。
4.根据权利要求3所述的方法,其特征在于,所述更新数据信息包括执行代码更新版本及任务信息更新版本;
其中,所述步骤B2进一步包括:
判断所述当前蜘蛛信息中当前执行代码版本是否与所述更新数据信息中的执行代码更新版本相一致,同时判断所述当前蜘蛛信息中当前任务信息版本是否与所述更新数据信息中的任务信息更新版本相一致。
5.根据权利要求1、2或4所述的方法,其特征在于,所述步骤C具体包括:
控制所述网络蜘蛛停止当前任务;
提取所述更新数据包中的更新内容;
依据所述更新内容,对所述网络蜘蛛中的蜘蛛程序进行更新;
控制更新后的网络蜘蛛以当前蜘蛛程序执行当前蜘蛛任务。
6.一种网络蜘蛛的更新控制装置,其特征在于,分别应用于多个控制客户端,每个所述控制客户端分别与控制中心相连接,且每个所述控制客户端中设置有网络蜘蛛,所述控制中心设置有更新数据包,所述装置包括:
A包获取单元,用于获取所述控制中心内的更新数据包;
B更新判断单元,用于依据所述更新数据包,判断所述网络蜘蛛中的蜘蛛中的蜘蛛程序是否需要更新,得到更新判断结果,在所述更新判断结果表明所述网络蜘蛛中的蜘蛛程序需要更新时,触发更新控制单元C;
C更新控制单元,用于控制所述蜘蛛程序更新为与所述更新数据包相对应的程序。
7.根据权利要求6所述的装置,其特征在于,所述A单元具体包括:
间隔获取子单元,用于获取预设的时间间隔长,每隔所述时间间隔长触发包获取子单元;
包获取子单元,用于获取控制中心内的更新数据包。
8.根据权利要求6或7所述的装置,其特征在于,所述B单元具体包括:
B1更新数据提取子单元,用于提取所述更新数据包中的更新数据信息;
B2一致判断子单元,用于判断所述网络蜘蛛中蜘蛛程序的当前蜘蛛信息是否与所述更新数据信息相一致,如果是,触发B3第一结果生成子单元,否则,触发B4第二结果生成子单元;
B3第一结果生成子单元,用于生成表明所述蜘蛛程序无需被更新的更新判断结果;
B4第二结果生成子单元,用于生成表明所述蜘蛛程序需要被更新的更新判断结果。
9.根据权利要求8所述的装置,其特征在于,所述更新数据信息包括执行代码更新版本及任务信息更新版本;
其中,所述B2单元具体包括:
第一判断模块,用于判断所述当前蜘蛛信息中当前执行代码版本是否与所述更新数据信息中的执行代码更新版本相一致;
第二判断模块,用于判断所述当前蜘蛛信息中当前任务信息版本是否与所述更新数据信息中的任务信息更新版本相一致;
相应的,在所述第一判断模块判断出所述当前蜘蛛信息中当前执行代码版本与所述更新数据信息中的执行代码更新版本相一致,且所述第二判断模块判断所述当前蜘蛛信息中当前任务信息版本与所述更新数据信息中的任务信息更新版本相一致时,触发所述第一结果生成子单元,否则,触发所述第二结果生成子单元。
10.根据权利要求6、7或9所述的装置,其特征在于,所述C单元具体包括:
当前任务停止子单元,用于控制所述网络蜘蛛停止当前任务;
更新内容提取子单元,用于提取所述更新包中的更新内容;
内容更新子单元,用于依据所述更新内容,对所述网络蜘蛛中的蜘蛛程序进行更新;
任务控制执行子单元,用于控制更新后的网络蜘蛛以当前蜘蛛程序执行当前蜘蛛任务。
CN201410161869.4A 2014-04-22 2014-04-22 一种网络蜘蛛的更新控制方法及装置 Pending CN103955385A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410161869.4A CN103955385A (zh) 2014-04-22 2014-04-22 一种网络蜘蛛的更新控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410161869.4A CN103955385A (zh) 2014-04-22 2014-04-22 一种网络蜘蛛的更新控制方法及装置

Publications (1)

Publication Number Publication Date
CN103955385A true CN103955385A (zh) 2014-07-30

Family

ID=51332661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410161869.4A Pending CN103955385A (zh) 2014-04-22 2014-04-22 一种网络蜘蛛的更新控制方法及装置

Country Status (1)

Country Link
CN (1) CN103955385A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039233A (zh) * 2007-04-27 2007-09-19 成都金山互动娱乐科技有限公司 一种网络游戏服务器端软件的版本更新方法
CN101212336A (zh) * 2006-12-28 2008-07-02 上海广电Nec液晶显示器有限公司 一种客户端自动更新软件的方法及辅助方法以及相应装置
US20090164425A1 (en) * 2007-12-20 2009-06-25 Yahoo! Inc. System and method for crawl ordering by search impact
CN102427466A (zh) * 2011-08-24 2012-04-25 厦门雅迅网络股份有限公司 一种远程升级***以及基于该***的远程软件自动升级方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212336A (zh) * 2006-12-28 2008-07-02 上海广电Nec液晶显示器有限公司 一种客户端自动更新软件的方法及辅助方法以及相应装置
CN101039233A (zh) * 2007-04-27 2007-09-19 成都金山互动娱乐科技有限公司 一种网络游戏服务器端软件的版本更新方法
US20090164425A1 (en) * 2007-12-20 2009-06-25 Yahoo! Inc. System and method for crawl ordering by search impact
CN102427466A (zh) * 2011-08-24 2012-04-25 厦门雅迅网络股份有限公司 一种远程升级***以及基于该***的远程软件自动升级方法

Similar Documents

Publication Publication Date Title
CN107800565B (zh) 巡检方法、装置、***、计算机设备和存储介质
CN106982266A (zh) 一种自动化部署集群的方法和装置
CN103412768A (zh) 一种基于脚本程序自动化部署Zookeeper集群的方法
CN107302443A (zh) 基于网络配置协议的设备配置方法及装置
CN107145556B (zh) 通用的分布式采集***
CN104834530A (zh) 一种pos应用程序的开发方法及云端服务器
CN103699635B (zh) 信息处理方法和装置
CN103970655A (zh) 一种基于expect的服务器自动化集群测试方法
CN103051496A (zh) 一种监测点服务器的监控方法及装置
CN109213498A (zh) 一种互联网web前端的配置方法及服务器
CN113590576A (zh) 数据库参数调整方法、装置、存储介质以及电子设备
CN105095103A (zh) 用于云环境下的存储设备管理方法和装置
CN105159750A (zh) 一种虚拟机创建的方法及装置
CN110109684A (zh) 区块链节点管理代理服务安装方法、电子装置及存储介质
CN104166545A (zh) 一种网页资源的嗅探方法以及装置
CN105207825A (zh) 一种网元快速同步***及网元快速同步方法
CN111552494B (zh) 一种容器组的管理方法、设备、***及介质
CN103198250B (zh) 智能电视应用程序的审核方法
CN103051668B (zh) 一种服务器资源管理***及管理方法
CN106411977A (zh) 标签页同步方法、终端、服务器及***
CN105224327A (zh) 一种嵌入式装置变量交换传输地址离线分配方法
CN109725913A (zh) 数据更新的方法和装置
CN104735173B (zh) 一种通过应用签名来携带服务相关信息的方法和***
CN103186405A (zh) 一种实现设备的统一控制方法和装置
CN103955385A (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
ASS Succession or assignment of patent right

Owner name: BEIJING LIANJIA ZHONGYING NETWORK TECHNOLOGY CO.,

Free format text: FORMER OWNER: NETWORK COMMUNICATIONS EQUIPMENT CO., LTD., BEIJING UNISPACE

Effective date: 20141113

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100029 CHAOYANG, BEIJING TO: 100022 CHAOYANG, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20141113

Address after: 100022 Beijing City, Chaoyang District No. 39 East Third Ring Road, North SOHO office building A Room 302

Applicant after: BEIJING LIANJIA ZHONGYING NETWORK TECHNOLOGY CO., LTD.

Address before: 100029, E, room 705, block 6, North Fourth Ring Road, Chaoyang District, Beijing

Applicant before: Beijing connection time-space network communication facilities company limited

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140730