IP地址信息库的更新方法和装置与流程

文档序号:26939590发布日期:2021-10-12 14:54阅读:311来源:国知局
IP地址信息库的更新方法和装置与流程
ip地址信息库的更新方法和装置
技术领域
1.本发明涉及计算机技术领域,尤其涉及一种ip地址信息库的更新方法和装置。


背景技术:

2.随着互联网技术的日益普及,每天都会产生大量的线上数据,包括浏览数据、点击数据等。针对线上数据进行地域分析是一项基础的分析工作。
3.当网站接收到用户的访问请求时,可以获取到用户网络出口ip地址(ip,为internet protocol的简称,是一种网络之间互联的协议)。在互联网中,ip地址代表着用户出处,企业往往会维护一份ip地址对应的归属地信息数据表(可称为ip地址信息库,或者“ip库”)。在进行地域分析时,可直接从ip库中获取ip地址对应的归属地信息。
4.在现有技术中,一般通过以下方法建立并更新ip库:直接将某个网站上公布的ip库下载到本地进行使用,同时,定期人为地从该网站上下载最新ip库、并更新至本地。
5.在实现本发明过程中,发明人发现现有技术中至少存在如下问题:在现有技术中,本地ip库的更新完全依赖于某个网站公布的ip库的更新,这很可能导致ip地址信息更新不及时,影响分析结果,同时,依靠人为方式进行更新,增加了ip库更新成本,降低了ip库更新效率;而且,单纯依靠某个网站提供的ip地址查询服务,来对本地ip库进行更新,当网站提供的数据不准确时,会导致本地ip库地址信息数据不准确。


技术实现要素:

6.有鉴于此,本发明提供一种ip地址信息库的更新方法和装置,能够提高ip地址信息库的更新效率以及ip地址信息库的数据准确性。
7.为实现上述目的,根据本发明的一个方面,提供了一种ip地址信息库的更新方法。
8.本发明的ip地址信息库的更新方法包括:根据抓取模板从多个网站上抓取目标ip地址的候选归属地信息;对所述候选归属地信息进行评分,并将评分值最大的候选归属地信息作为所述目标ip地址的可信归属地信息;根据所述目标ip地址的可信归属地信息更新本地的ip地址信息库。
9.可选地,所述抓取模板包括:多个网站的网址、与所述网站对应的正则表达式;所述根据抓取模板从多个网站上抓取目标ip地址的候选归属地信息包括:以目标ip地址作为请求参数,向所述网站的网址发起查询请求,然后接收所述网站返回的查询结果;根据与所述网站对应的正则表达式,从所述查询结果中提取目标ip地址的候选归属地信息。
10.可选地,所述对所述候选归属地信息进行评分包括:根据抓取到同一候选归属地信息的各个网站的权重系数,计算该候选归属地信息的评分值。
11.可选地,所述根据所述目标ip地址的可信归属地信息更新本地的ip地址信息库包括:以所述目标ip地址作为左边界ip地址和右边界ip地址,构建新的ip地址段;将所述新的ip地址段的归属地信息更新为所述目标ip地址的可信归属地信息;以所述目标ip地址为临界参考值,将其所处的原有ip地址段划分为第一ip地址段和第二ip地址段;其中,第一ip地
址段中的ip地址的取值小于所述目标ip地址,第二ip地址段中的ip地址的取值大于所述目标ip地址。
12.可选地,所述方法还包括:在所述根据所述目标ip地址的可信归属地信息更新本地的ip地址信息库之前,确认所述可信归属地信息与所述本地ip地址信息库中存储的所述目标ip地址的归属地信息不一致。
13.可选地,所述方法还包括:将位于所述第一ip地址段中间位置的ip地址、以及位于所述第二ip地址段中间位置的ip地址均作为新的目标ip地址;根据抓取模板从多个网站上抓取所述新的目标ip地址的候选归属地信息。
14.可选地,所述方法还包括:在所述对所述候选归属地信息进行评分之前,确认从所述多个网站上抓取到的目标ip地址的候选归属地信息不完全一致。
15.可选地,所述方法还包括:在所述根据所述目标ip地址的可信归属地信息更新本地的ip地址信息库之后,对所述ip地址信息库中对应同一归属地信息的相邻ip地址段进行合并。
16.可选地,所述对所述ip地址信息库中对应同一归属地信息的相邻ip地址段进行合并包括:按照ip地址的取值由小到大、或者由大到小的顺序,对所述ip地址信息库中的ip地址段进行轮询;在当前ip地址段与上一个ip地址段的归属地信息不同时,对位于所述当前ip地址段之前、且归属地信息相同的相邻ip地址段进行合并,然后继续轮询下一个ip地址段;在当前ip地址段与上一个ip地址段的地址信息相同时,继续轮询下一个ip地址段。
17.为实现上述目的,根据本发明的另一方面,提供了一种ip地址信息库的更新装置。
18.本发明的ip地址信息库的更新装置包括:抓取模块,用于根据抓取模板从多个网站上抓取目标ip地址的候选归属地信息;分析模块,用于对所述候选归属地信息进行评分,并将评分值最大的候选归属地信息作为所述目标ip地址的可信归属地信息;更新模块,用于根据所述目标ip地址的可信归属地信息更新本地的ip地址信息库。
19.为实现上述目的,根据本发明的再一个方面,提供了一种电子设备。
20.本发明的电子设备,包括:一个或多个处理器;以及,存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明的ip地址信息库的更新方法。
21.为实现上述目的,根据本发明的又一个方面,提供了一种计算机可读介质。
22.本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明的ip地址信息库的更新方法。
23.上述发明中的一个实施例具有如下优点或有益效果:通过根据抓取模板从多个网站上抓取目标ip地址的候选归属地信息,对所述候选归属地信息进行评分,并将评分值最大的候选归属地信息作为所述目标ip地址的可信归属地信息,根据所述目标ip地址的可信归属地信息更新本地的ip地址信息库这些步骤,能够提高ip地址信息库的更新效率以及ip地址信息库的数据准确性。
24.上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
25.附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
26.图1是根据本发明第一实施例的ip地址信息库的更新方法的主要流程示意图;
27.图2是根据本发明第二实施例的ip地址信息库的更新方法的主要流程示意图;
28.图3是根据本发明第三实施例的抓取目标ip地址的候选归属地信息的主要流程示意图;
29.图4是根据本发明第四实施例的更新ip地址信息库与选取新的目标ip地址的主要流程示意图;
30.图5是采用二分法选取新的目标ip地址的示意图;
31.图6是根据本发明第五实施例的合并ip地址段的主要流程示意图。
32.图7是根据本发明第六实施例的ip地址信息库的更新装置的主要模块示意图;
33.图8是本发明实施例可以应用于其中的示例性系统架构图;
34.图9是适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
35.以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
36.需要指出的是,在不冲突的情况下,本发明中的实施例以及实施例中的特征可以相互组合。
37.在详细介绍本发明的各个实施例之前,首先对本发明的实施例涉及的部分技术术语进行说明。
38.httpclient:是apache jakarta common下的子项目,可以用来提供高效的、最新的、功能丰富的支持http协议的客户端编程工具包,并且它支持http协议最新的版本和建议。
39.图1是根据本发明第一实施例的ip地址信息库的更新方法的主要流程示意图。如图1所示,本发明实施例的ip地址信息库的更新方法包括:
40.步骤s101、根据抓取模板从多个网站上抓取目标ip地址的候选归属地信息。
41.示例性地,所述抓取模板可包括预先配置的多个网站的网址;所述多个网站具体为多个能够提供ip地址信息查询服务的网站,其可以为app(应用程序)形式的网站,也可以为web(网页)形式的网站。例如,某个抓取模板中包括网站1的url(统一资源定位符)、网站2的url、网站3的url。
42.在该步骤中,可将目标ip地址(又可称为“种子ip地址”或者“种子ip”)作为请求入参,向抓取模板中配置的多个网站的url发起访问请求,以抓取到目标ip的候选归属地信息。具体实施时,可基于httpclient技术模拟访问请求,抓取目标ip地址在各个网站上对应的候选归属地信息。例如,对于目标ip地址1来说,某次从网站1上抓取的候选归属地信息为“四川成都”、从网站2上抓取的候选归属地信息为“四川绵阳”,从网站3上抓取的候选归属地信息为“四川绵阳”;对于目标ip地址2来说,某次从网站1上抓取的候选归属地信息为“北
京通州”,从网站2上抓取的候选归属地信息为“北京通州”、从网站3上抓取的候选归属地信息为“北京通州”。
43.步骤s102、对所述候选归属地信息进行评分,并将评分值最大的候选归属地信息作为所述目标ip地址的可信归属地信息。
44.在该步骤中,可对通过步骤s101抓取到的目标ip对应的所有候选归属地信息进行评分,然后将评分值最大的候选归属地信息作为目标ip地址的可信归属地信息。例如,对于目标ip地址1来说,假设从网站1上抓取的与之对应的候选归属地信息为“四川成都”、从网站2上抓取的与之对应的候选归属地信息为“四川绵阳”,从网站3上抓取的与之对应的候选归属地信息为“四川绵阳”,则可对候选归属地信息“四川成都”、“四川绵阳”分别进行评分,然后将这两者中评分较大的作为目标ip地址1对应的可信归属地信息。
45.在一个可选实施方式中,可根据抓取到同一候选归属地信息的各个网站的权重系数,计算该候选归属地信息的评分值。比如,可将抓取到同一候选归属地信息的各个网站的权重系数进行相加,并将相加求出的和作为该候选归属地信息的评分值。例如,假设网站1的权重系数为1,网站2的权重系数为2,网站3的权重系数为3,且从网站1上抓取到候选归属地信息“四川成都”、从网站2和网站3上抓取到候选归属地信息“四川绵阳”,则候选归属地信息“四川成都”的评分值为1,候选归属地信息“四川绵阳”的评分值为5,进而将评分值最大的“四川绵阳”作为目标ip地址的可信归属地信息。
46.步骤s103、根据所述目标ip地址的可信归属地信息更新本地的ip地址信息库。
47.其中,所述ip地址信息库用于存储ip地址、以及与ip地址对应的归属地信息。在一个可选示例中,在通过步骤s102确定目标ip地址的可信归属地信息之后,可直接根据所述目标ip地址的可信归属地信息更新本地的ip地址信息库。
48.在另一个可选示例中,在步骤s102确定目标ip地址的可信归属地信息之后,还需判断目标ip地址的可信归属地信息与ip地址信息库中存储的该目标ip地址的归属地信息是否一致,并且在两者不一致的情况下,执行步骤s103;而在两者一致的情况下,则无需执行步骤s103。
49.在本发明实施例中,通过根据抓取模板从多个网站上抓取目标ip地址的候选归属地信息,对所述候选归属地信息进行评分,并将评分值最大的候选归属地信息作为所述目标ip地址的可信归属地信息,根据所述目标ip地址的可信归属地信息更新本地的ip地址信息库这些步骤,不仅能够提高ip地址信息库的更新效率,而且能够提高ip地址信息库的数据准确性。
50.图2是根据本发明第二实施例的ip地址信息库的更新方法的主要流程示意图。如图2所示,本发明实施例的ip地址信息库的更新方法包括:
51.步骤s201、根据抓取模板从多个网站上抓取目标ip地址的候选归属地信息。
52.示例性地,所述抓取模板可包括预先配置的多个网站的网址;所述多个网站具体为多个能够提供ip地址信息查询服务的网站,其可以为app(应用程序)形式的网站,也可以为web(网页)形式的网站。例如,某个抓取模板中包括网站1的url(统一资源定位符)、网站2的url、网站3的url。
53.在该步骤中,可将目标ip地址(又可称为“种子ip地址”或者“种子ip”)作为请求入参,向抓取模板中配置的多个网站的url发起访问请求,以抓取到目标ip的候选归属地信
息。具体实施时,可基于httpclient技术模拟访问请求,抓取目标ip地址在各个网站上对应的候选归属地信息。例如,对于目标ip地址1来说,某次从网站1上抓取的候选归属地信息为“四川成都”、从网站2上抓取的候选归属地信息为“四川绵阳”,从网站3上抓取的候选归属地信息为“四川绵阳”;对于目标ip地址2来说,某次从网站1上抓取的候选归属地信息为“北京通州”,从网站2上抓取的候选归属地信息为“北京通州”、从网站3上抓取的候选归属地信息为“北京通州”。
54.进一步,在步骤s201之前,本发明实施例的方法还可以包括以下步骤:确定目标ip的初始值。具体来说,可先获取ip地址信息库中的所有ip地址段,然后将位于各个ip地址段的中间位置的ip地址作为目标ip地址。例如,假设ip地址信息库中存在4个连续的ip地址段,分别为125.0.0.0~126.255.255.255、127.0.0.0~128.255.255.255、129.0.0.0~129.125.125.125、129.125.125.126~129.255.255.255,则可将位于各个ip地址段中间位置的ip地址作为目标ip地址。具体实施时,如果位于某个ip地址段中间位置的ip地址为一个,则可将该ip地址作为目标ip地址;如果位于某个ip地址段中间位置的ip地址为两个,则可将这两个ip地址中的任意一个作为目标ip地址。
55.进一步,在步骤s201之前,本发明实施例的方法还可包括以下步骤:配置抓取模板以及抓取模板所涉及的网站的权重系数。其中,各个网站的权重系数可采用样本统计的方法进行确定。比如,人为搜集100个ip地址、以及这100个ip地址的实际归属地信息;然后在抓取模板所涉及的网站上抓取这100个ip地址对应的归属地信息,并将网站返回的归属地信息与实际归属地信息进行比较,进而统计出每个网站的准确率,然后根据各个网站的准确率设置对应的权重系数。通常,一个网站的准确率越高,其对应的权重系数可配置地越高。在一个具体示例中,可将权重系数的取值范围设为1~5,权重系数越高,代表从该网站上查询出的ip地址对应的归属地信息越准确。
56.步骤s202、判断从多个网站抓取的目标ip地址的候选归属地信息是否不完全一致。
57.在该步骤中,可将从多个网站抓取的目标ip地址的候选归属地信息进行比较。在从多个网站抓取的目标ip地址的候选归属地信息完全一致的情况下,可执行步骤s203;在从多个网站抓取的目标ip地址的候选归属地信息不完全一致的情况下,可执行步骤s204。
58.步骤s203、将候选归属地信息作为目标ip地址的可信归属地信息。
59.例如,对于目标ip地址2来说,假设从网站1、网站2、网站3上抓取的与之对应的候选归属地信息都为“北京通州”,则可直接将候选归属地信息“北京通州”作为目标ip地址2对应的可信归属地信息。
60.在本发明实施例中,通过步骤s202判断从多个网站抓取的目标ip地址的候选归属地信息是否不完全一致,并在完全一致的情况下直接将候选归属地信息作为目标ip地址的可信归属地信息,有助于提高候选归属地信息的分析效率,进而有助于提高本地ip地址信息库的更新效率。
61.步骤s204、对所述候选归属地信息进行评分,并将评分值最大的候选归属地信息作为所述目标ip地址的可信归属地信息。
62.在该步骤中,可对通过步骤s201抓取到的目标ip对应的所有候选归属地信息进行评分,然后将评分值最大的候选归属地信息作为目标ip地址的可信归属地信息。例如,对于
目标ip地址1来说,假设从网站1上抓取的与之对应的候选归属地信息为“四川成都”、从网站2上抓取的与之对应的候选归属地信息为“四川绵阳”,从网站3上抓取的与之对应的候选归属地信息为“四川绵阳”,则可对候选归属地信息“四川成都”、“四川绵阳”分别进行评分,然后将这两者中评分较大的作为目标ip地址1对应的可信归属地信息。
63.在一个可选实施方式中,可根据抓取到同一候选归属地信息的各个网站的权重系数,计算该候选归属地信息的评分值。比如,可将抓取到同一候选归属地信息的各个网站的权重系数进行相加,并将相加求出的和作为该候选归属地信息的评分值。例如,假设网站1的权重系数为1,网站2的权重系数为2,网站3的权重系数为3,且从网站1上抓取到候选归属地信息“四川成都”、从网站2和网站3上抓取到候选归属地信息“四川绵阳”,则候选归属地信息“四川成都”的评分值为1,候选归属地信息“四川绵阳”的评分值为5,进而将评分值最大的“四川绵阳”作为目标ip地址的可信归属地信息。
64.在本发明实施例中,通过抓取目标ip地址在多个网站上的候选归属地信息,对候选归属地信息进行评分,并将评分值最大的候选归属地信息作为目标ip地址的可信归属地信息,有助于提高ip地址信息库的数据准确性。
65.步骤s205、判断可信归属地信息与ip地址信息库中目标ip的归属地信息是否不一致。
66.在该步骤中,可先根据目标ip地址查询本地的ip地址信息库,以查询出目标ip地址对应的归属地信息,然后将抓取到的目标ip地址的可信归属地信息与ip地址信息库中目标ip地址对应的归属地信息进行对比,若两者一致,则可执行步骤s207;若两者不一致,则可执行步骤s206,即结束此次流程。
67.步骤s207、根据所述目标ip地址的可信归属地信息更新本地的ip地址信息库。
68.在本发明实施例中,通过判断可信归属地信息与ip地址信息库中目标ip的归属地信息是否不一致,并在两者不一致的情况下更新本地的ip地址信息库,在两者一致的情况下不更新本地的ip地址信息库,有助于减少不必要的ip地址信息库更新操作,提高系统性能。
69.步骤s208、采用二分法从所述ip地址信息库的ip地址段中选取信息的目标ip地址。
70.关于步骤s208具体如何实施,可参考下文中关于图4所示实施例的相关说明。进一步,在步骤s208之后,可再次执行步骤s201,即根据抓取模板从多个网站上抓取新的目标ip地址的候选归属地信息。
71.在本发明实施例中,通过以上步骤能够实现自动对本地的ip地址信息库进行更新,相比现有技术中手动更新ip地址信息库,能够提高更新效率,降低更新所用的人工成本;通过从多个网站上抓取目标ip地址的候选归属地信息,并通过对候选归属地信息进行评分从而选取出可信归属地信息,相比单纯依靠某个网站提供的ip地址查询服务对本地ip地址信息库进行更新,能够提高ip地址信息库的数据准确性;另外,通过采取二分法选取目标ip地址,并针对目标ip地址进行信息抓取、评分、更新等步骤,相比对ip地址信息库中的所有ip地址都进行信息抓取、评分、更新等步骤,能够进一步提高ip地址信息库的更新效率。
72.图3是根据本发明第三实施例的抓取目标ip地址的候选归属地信息的主要流程示
意图。在本发明实施例中,抓取模板包括多个网站的网址、与所述网站对应的正则表达式。如图3所示,在本发明实施例中,根据抓取模板抓取目标ip地址的候选归属地信息主要包括:
73.步骤s301、以目标ip地址作为请求参数,向所述网站的网址发起查询请求。
74.其中,所述网站具体为能够提供ip地址信息查询服务的网站,其可以为app(应用程序)形式的网站,也可以为web(网页)形式的网站。
75.其中,所述目标ip可根据如下方式确定:获取ip地址信息库中的所有ip地址段,然后将位于各个ip地址段的中间位置的ip地址作为目标ip地址。例如,假设ip地址信息库中存在4个连续的ip地址段,分别为125.0.0.0~126.255.255.255、127.0.0.0~128.255.255.255、129.0.0.0~129.125.125.125、129.125.125.126~129.255.255.255,则可将位于各个ip地址段中间位置的ip地址作为目标ip地址。具体实施时,如果位于某个ip地址段中间位置的ip地址为一个,则可将该ip地址作为目标ip地址;如果位于某个ip地址段中间位置的ip地址为两个,则可将这两个ip地址中的任意一个作为目标ip地址。
76.在该步骤中,可将目标ip地址(又可称为“种子ip地址”或者“种子ip”)作为请求入参,向抓取模板中配置的网站的网址(比如url)发起访问请求。具体实施时,可基于httpclient技术模拟访问请求。
77.步骤s302、接收所述网站返回的查询结果。
78.在该步骤中,所述网站返回的查询结果可以为包含目标ip地址的候选归属地信息的html(超文本标记语言)片段内容。
79.步骤s303、根据与所述网站对应的正则表达式,从所述查询结果中提取目标ip地址的候选归属地信息。
80.具体实施时,考虑到每个网站的页面结构通常是不一样的,因此可针对每个网站设置与之对应的正则表达式,并基于该正则表达式提取目标ip地址的候选归属地信息。
81.在本发明实施例中,通过以上步骤能够实现从多个网站上自动抓取目标ip地址的候选归属地信息,进而有助于提高更新效率。
82.图4是根据本发明第四实施例的更新ip地址信息库与选取新的目标ip地址的主要流程示意图。如图4所示,在本发明实施例中,更新ip地址信息库与选取新的目标ip地址主要包括:
83.步骤s401、以目标ip地址作为左边界ip地址和右边界ip地址,构建新的ip地址段。
84.例如,假设目标ip地址为0.0.0.40,则可将0.0.0.40作为左边界ip地址、将0.0.0.40作为右边界ip地址,构建如下新的ip地址段:0.0.0.40~0.0.0.40。
85.步骤s402、将所述新的ip地址段的归属地信息更新为所述目标ip地址的可信归属地信息。
86.例如,假设通过步骤s401构建的新的ip地址段为0.0.0.40~0.0.0.40,则可将ip地址段0.0.0.40~0.0.0.40对应的归属地信息更新为目标ip地址“0.0.0.40”对应的可信归属地信息。
87.步骤s403、以所述目标ip地址为临界参考值,将其所处的原有ip地址段划分为第一ip地址段和第二ip地址段。
88.其中,第一ip地址段中的ip地址的数值小于所述目标ip地址,第二ip地址段中的
ip地址的数值大于所述目标ip地址。示例性地,假设目标ip地址为0.0.0.40,且其在ip地址信息库中所处的原有ip地址段为0.0.0.~0.0.0.100,则切分原有ip地址段得到的第一ip地址段为0.0.0.1~0.0.0.39,切分原有ip地址段得到的第二ip地址段0.0.0.41~0.0.0.100。
89.步骤s404、将位于所述第一ip地址段中间位置的ip地址、以及位于所述第二ip地址段中间位置的ip地址均作为新的目标ip地址。
90.例如,假设第一ip地址段为0.0.0.1~0.0.0.39、第二ip地址段为0.0.0.41~0.0.0.100,则可将位于第一ip地址段中间位置的0.0.0.29作为新的目标ip地址,并且将位于第二ip地址段中间位置的0.0.0.70或者0.0.0.71也作为新的目标ip地址。
91.在本发明实施例中,通过以目标ip地址为临界参考值,将原有ip地址段拆分成两段,并将拆分后的两个ip地址段作为新的ip地址段,能够保证在ip地址信息库中同一个ip地址段对应的归属地信息是一样的,同时,相比于一个ip地址对应存储一个归属地信息的存储方式,本技术通过令一个ip地址段对应存储一个归属地信息,可以减少ip地址信息库的存储量,提高ip地址信息库的查询效率。
92.图5是采用二分法选取新的目标ip地址的示意图。如图5所示,以种子ip(即目标ip地址)为临界参考值,将种子ip所处原有ip地址段的左侧部分划分为第一ip地址段,将种子ip所处原有ip地址段的右侧部分划分为第二ip地址段。并且,将位于第一ip地址段中间位置的ip地址(即图中所示左侧中间ip)、以及位于第二ip地址段中间位置的ip地址(即图中所示右侧中间ip)作为新的种子ip。
93.图6是根据本发明第五实施例的合并ip地址段的主要流程示意图。在本发明实施例中,ip地址信息库的更新方法除了包括图2所示步骤之外,还包括:在根据目标ip地址的可信归属地信息更新本地的ip地址信息库之后,对所述ip地址信息库中对应同一归属地信息的相邻ip地址段进行合并。如图6所示,在本发明实施例中,合并ip地址段主要包括以下步骤:
94.步骤s601、按照ip地址的取值由小到大的顺序,对ip地址信息库中的ip地址段进行轮询。
95.例如,假设本地的ip地址信息库中存储有如下四个ip地址段:125.0.0.0~126.255.255.255、127.0.0.0~128.255.255.255、129.0.0.0~129.125.125.125、129.125.125.126~129.255.255.255,则可先对ip地址段125.0.0.0~126.255.255.255进行轮询,然后依次对ip地址段127.0.0.0~128.255.255.255、129.0.0.0~129.125.125.125、129.125.125.126~129.255.255.255进行轮询。
96.在另一个可选实施例中,也可按照ip地址的取值由大到小的顺序,对ip地址信息库中的ip地址段进行轮询。
97.步骤s602、判断当前ip地址段与上一个ip地址段的归属地信息是否不同。
98.在该步骤中,可将当前ip地址段对应的归属地信息与上一个ip地址段对应的归属地信息进行比较。在当前ip地址段与上一个ip地址段的归属地信息不同的情况下,执行步骤s603;在当前ip地址段与上一个ip地址段的归属地信息相同的情况下,执行步骤s604。例如,假设当前ip地址段“127.0.0.0~128.255.255.255”对应的归属地信息为“四川绵阳”,上一个ip地址段“125.0.0.0~126.255.255.255”对应的归属地信息为“四川成都”,则执行
步骤s603。
99.步骤s603、对位于所述当前ip地址段之前、且归属地信息相同的相邻ip地址段进行合并。
100.在该步骤中,如果位于所述当前ip地址段之前、且归属地信息相同的相邻ip地址段(或者说连续的ip地址段)有多个,则将这些相邻ip地址段进行合并,然后继续执行步骤s604。如果上一个ip地址段与上上个ip地址段对应的归属地信息不同,则无需进行合并处理,而是继续执行步骤s604。
101.步骤s604、判断是否轮询完所有ip地址段。若是,结束此次流程;若否,可再次执行步骤s602。
102.在本发明实施例中,考虑到本地ip地址信息库的更新很可能导致致对应相同归属地信息的连续ip地址不在同一个ip地址分段内的情况,鉴于此,通过以上步骤能够将ip地址信息库中对应相同归属地信息的多个连续ip地址合并为一个ip段,进而能够减少整个ip地址信息库内存储的数据量,提高ip地址信息库的查询效率。
103.图7是根据本发明第六实施例的ip地址信息库的更新装置的主要模块示意图。如图7所示,本发明实施例的ip地址信息库的更新装置700包括:抓取模块701、分析模块702、更新模块703。
104.抓取模块701,用于根据抓取模板从多个网站上抓取目标ip地址的候选归属地信息。
105.示例性地,所述抓取模板可包括预先配置的多个网站的网址;所述多个网站具体为多个能够提供ip地址信息查询服务的网站,其可以为app(应用程序)形式的网站,也可以为web(网页)形式的网站。例如,某个抓取模板中包括网站1的url(统一资源定位符)、网站2的url、网站3的url。
106.具体来说,抓取模块701可将目标ip地址(又可称为“种子ip地址”或者“种子ip”)作为请求入参,向抓取模板中配置的多个网站的url发起访问请求,以抓取到目标ip的候选归属地信息。具体实施时,可基于httpclient技术模拟访问请求,抓取目标ip地址在各个网站上对应的候选归属地信息。例如,对于目标ip地址1来说,某次从网站1上抓取的候选归属地信息为“四川成都”、从网站2上抓取的候选归属地信息为“四川绵阳”,从网站3上抓取的候选归属地信息为“四川绵阳”;对于目标ip地址2来说,某次从网站1上抓取的候选归属地信息为“北京通州”,从网站2上抓取的候选归属地信息为“北京通州”、从网站3上抓取的候选归属地信息为“北京通州”。
107.分析模块702,用于对所述候选归属地信息进行评分,并将评分值最大的候选归属地信息作为所述目标ip地址的可信归属地信息。
108.在该步骤中,可对通过抓取模块701抓取到的目标ip对应的所有候选归属地信息进行评分,然后将评分值最大的候选归属地信息作为目标ip地址的可信归属地信息。例如,对于目标ip地址1来说,假设从网站1上抓取的与之对应的候选归属地信息为“四川成都”、从网站2上抓取的与之对应的候选归属地信息为“四川绵阳”,从网站3上抓取的与之对应的候选归属地信息为“四川绵阳”,则可对候选归属地信息“四川成都”、“四川绵阳”分别进行评分,然后将这两者中评分较大的作为目标ip地址1对应的可信归属地信息。
109.在一个可选实施方式中,分析模块702可根据抓取到同一候选归属地信息的各个
网站的权重系数,计算该候选归属地信息的评分值。比如,分析模块702可将抓取到同一候选归属地信息的各个网站的权重系数进行相加,并将相加求出的和作为该候选归属地信息的评分值。例如,假设网站1的权重系数为1,网站2的权重系数为2,网站3的权重系数为3,且从网站1上抓取到候选归属地信息“四川成都”、从网站2和网站3上抓取到候选归属地信息“四川绵阳”,则候选归属地信息“四川成都”的评分值为1,候选归属地信息“四川绵阳”的评分值为5,进而将评分值最大的“四川绵阳”作为目标ip地址的可信归属地信息。
110.更新模块703,用于根据所述目标ip地址的可信归属地信息更新本地的ip地址信息库。
111.其中,所述ip地址信息库用于存储ip地址、以及与ip地址对应的归属地信息。在一个可选示例中,在通过分析模块702确定目标ip地址的可信归属地信息之后,更新模块703可直接根据所述目标ip地址的可信归属地信息更新本地的ip地址信息库。
112.在另一个可选示例中,在通过分析模块702确定目标ip地址的可信归属地信息之后,还需判断目标ip地址的可信归属地信息与ip地址信息库中存储的该目标ip地址的归属地信息是否一致,并且在两者不一致的情况下,通过更新模块703更新本地的ip地址信息库;而在两者一致的情况下,则无需通过更新模块703更新本地的ip地址信息库。
113.在本发明实施例的装置中,通过抓取模块根据抓取模板从多个网站上抓取目标ip地址的候选归属地信息,通过分析模块对所述候选归属地信息进行评分,并将评分值最大的候选归属地信息作为所述目标ip地址的可信归属地信息,通过更新模块根据所述目标ip地址的可信归属地信息更新本地的ip地址信息库,不仅能够提高ip地址信息库的更新效率,而且能够提高ip地址信息库的数据准确性。
114.图8示出了可以应用本发明实施例的ip地址信息库的更新方法或ip地址信息库的更新装置的示例性系统架构800。
115.如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
116.用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用,例如ip地址信息库管理类应用、购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
117.终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
118.服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所浏览的ip地址信息库管理类应用或网站提供支持的后台管理服务器。后台管理服务器可以对接收到的ip地址信息库更新请求等数据进行分析等处理,并将处理结果(例如ip地址信息库更新成功的应答信息等)反馈给终端设备。
119.需要说明的是,本发明实施例所提供的ip地址信息库的更新方法一般由服务器805执行,相应地,ip地址信息库的更新装置一般设置于服务器805中。
120.应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
121.下面参考图9,其示出了适于用来实现本发明实施例的电子设备的计算机系统900的结构示意图。图9示出的计算机系统仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
122.如图9所示,计算机系统900包括中央处理单元(cpu)901,其可以根据存储在只读存储器(rom)902中的程序或者从存储部分908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。在ram 903中,还存储有系统900操作所需的各种程序和数据。cpu 901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
123.以下部件连接至i/o接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
124.特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(cpu)901执行时,执行本发明的系统中限定的上述功能。
125.需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
126.附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所
标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
127.描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括抓取模块、分析模块、更新模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,抓取模块还可以被描述为“抓取目标ip地址的归属地信息的模块”。
128.作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备执行以下流程:根据抓取模板从多个网站上抓取目标ip地址的候选归属地信息;对所述候选归属地信息进行评分,并将评分值最大的候选归属地信息作为所述目标ip地址的可信归属地信息;根据所述目标ip地址的可信归属地信息更新本地的ip地址信息库。
129.根据本发明实施例提供的技术方案,能够提高ip地址信息库的更新效率以及ip地址信息库的数据准确性。
130.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1