发明内容
本申请所要解决的技术问题是提供一种网络蜘蛛的控制方法及装置,用以解决现有技术中的蜘蛛程序的更新控制需要消耗巨大的时间及工作量,使得蜘蛛程序的更新控制效率极低的技术问题。
为实现以上目的,本申请采用如下技术方案:
本申请提供了一种网络蜘蛛的更新控制方法,分别应用于多个控制客户端,每个所述控制客户端分别与控制中心相连接,且每个所述控制客户端中设置有网络蜘蛛,所述控制中心设置有更新数据包,所述方法包括:
步骤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
参考图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是指,控制更新蜘蛛程序之后的网络蜘蛛运行更新后的任务执行代码,进而执行更新后的任务信息,如数据抓取目标及抓取时间等。
需要说明的是,本申请中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
最后,还需要说明的是,在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种网络蜘蛛的更新控制方法及装置进行了详细介绍,本申请中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本申请内容不应理解为对本申请的限制。