一种识别ip地址的区域归属地信息的方法和装置制造方法

文档序号:6519267阅读:189来源:国知局
一种识别ip地址的区域归属地信息的方法和装置制造方法
【专利摘要】本发明涉及一种识别IP地址的区域归属地信息的方法和装置,获取用户的IP地址;将所述IP地址转换成特定进制的数字串;基于所述特定进制的数字串,查询预先建立的查询表以确定所述数字串所属的数字串区间,其中,所述查询表包含一个或多个数字串区间,并且每个数字串区间与一个特定区域的IP地址的区域归属地信息相对应;以及基于所述数字串所属的数字串区间,确定所述IP地址的区域归属地信息。本发明通过简单的方法对海量IP地址进行转换从而能够将快速有效地确定与IP地址相对应的区域归属地信息。通过本发明的技术方案,降低了运算量和运算复杂度,提高了查询IP地址的区域归属地信息的速度和准确度。
【专利说明】一种识别IP地址的区域归属地信息的方法和装置
【技术领域】
[0001]本发明涉及互联网【技术领域】,更具体地涉及一种识别IP地址的区域归属地信息的方法和装置。
【背景技术】
[0002]在互联网应用中,对于IP归属地址识别有着许多的实际应用。例如在天气预报系统中,天气发布者在天气预报系统中预报天气,例如可以指定只在某个特定的区域自动推送该区域的天气预报,例如针对北京自动推送北京的天气预报,则当系统对一个用户显示天气预报时需要通过他的IP地址确定他是否是北京用户,如果是,则显示北京的天气预报;如果不是,则不显示。再例如,在广告系统中,广告主在广告系统中投放广告,会指定只在某个特定的区域进行投放,例如只在北京投放,则当系统对一个用户展示广告时需要通过他的IP地址确定他是否是北京用户,如果是,则投放广告;如果不是,则不投放。由于广告系统需要在短时间内处理大量的用户请求,所以IP归属地址识别系统需要很高的效率。
[0003]综上所述,为了进一步提高IP归属地查询的效率,本发明提出利用一种创新的方法来实现针对IP地址的区域性的归属地信息的快速查询,从而提升系统的处理速度。

【发明内容】

[0004]鉴于上述问题,提出了本发明以提供一种识别IP地址的区域归属地信息的方法和装置,以在的过程中,降低运算量和复杂度,提高准确率和时间效率,扩大应用范围。
[0005]为了解决上述技术问题,本发明的目的是通过以下技术方案实现:
[0006]本发明提供了一种识别IP地址的区域归属地信息的方法,其特征在于,包括:获取用户的IP地址;将所述IP地址转换成特定进制的数字串;基于所述特定进制的数字串,查询预先建立的查询表以确定所述数字串所属的数字串区间,其中,所述查询表包含一个或多个数字串区间,并且每个数字串区间与一个特定区域的IP地址的区域归属地信息相对应;以及基于所述数字串所属的数字串区间,确定所述IP地址的区域归属地信息。
[0007]其中,将所述IP地址转换成特定进制的数字串,包括:将所述IP地址转换成十进制的十二位数字串。
[0008]其中,所述数字串区间通过数字串区间两端的最大数字串和最小数字串来定义。
[0009]其中,基于所述特定进制的数字串,查询预先建立的查询表以确定所述数字串所属的数字串区间,进一步包括:基于所述特定进制的数字串,查找所述查询表以确定与所述特定进制的数字串距离最近的最大数字串;确定所述最大数字串所属的数字串区间;判断所述特定进制的数字串是否大于该数字串区间的最小数字串;并且,如果大于该数字串区间的最小数字串,则确定所述数字串属于所述数字串区间。
[0010]其中,基于所述特定进制的数字串,查找所述查询表以确定与所述特定进制的数字串距离最近的最大数字串,进一步包括:将所述特定进制的数字串与所述查询表中的各个数字串区间的最大数字串进行比较以确定与所述特定进制的数字串距离最近的最大数字串。
[0011]其中,基于所述数字串所属的数字串区间,确定所述IP地址的区域归属地信息,进一步包括:基于所述数字串所属的数字串区间,获取与之对应的区域归属地信息;以及将所述区域归属地信息确定为所述IP地址的区域归属地信息。
[0012]其中,所述预先建立的查询表是通过以下步骤预先建立的:将数据库中的IP地址各个地转换成相应的所述特定进制的数字串,其中所述数据库中包含IP地址、IP地址的归属地信息及二者的对应关系;以及基于预定区域划分规则所定义的区域归属地信息并且基于IP地址的归属地信息,将IP地址所对应的特定进制的数字串映射到区域归属地信息;通过映射到每个区域归属地信息的数字串形成与该区域归属地信息相对应的一个或多个数字串区间,其中每个数字串区间利用数字串区间两端的最大数字串和最小数字串来定义;基于数字串区间与区域归属地信息的对应关系,建立所述查询表。
[0013]本发明还提供了一种识别IP地址的区域归属地信息的装置,其特征在于,包括:获取模块,用于获取用户的IP地址;转换模块,用于将所述IP地址转换成特定进制的数字串;查询模块,用于基于所述特定进制的数字串,查询预先建立的查询表以确定所述数字串所属的数字串区间,其中,所述查询表包含一个或多个数字串区间,并且每个数字串区间与一个特定区域的IP地址的区域归属地信息相对应;以及确定模块,用于基于所述数字串所属的数字串区间,确定所述IP地址的区域归属地信息。
[0014]其中,所述转换模块被配置成将所述IP地址转换成十进制的十二位数字串。
[0015]其中,所述数字串区间通过数字串区间两端的最大数字串和最小数字串来定义。
[0016]其中,所述查询模块进一步包括:查找子模块,用于基于所述特定进制的数字串,查找所述查询表以确定与所述特定进制的数字串距离最近的最大数字串;第一确定子模块,用于确定所述最大数字串所属的数字串区间;判断子模块,用于判断所述特定进制的数字串是否大于该数字串区间的最小数字串;以及第二确定子模块,用于如果大于该数字串区间的最小数字串,则确定所述数字串属于所述数字串区间。
[0017]其中,所述查询模块进一步包括:比较子模块,用于将所述特定进制的数字串与所述查询表中的各个数字串区间的最大数字串进行比较以确定与所述特定进制的数字串距离最近的最大数字串。
[0018]其中,所述确定模块进一步包括:获取子模块,用于基于所述数字串所属的数字串区间,获取与之对应的区域归属地信息;以及第三确定子模块,用于将所述区域归属地信息确定为所述IP地址的区域归属地信息。
[0019]其中,所述预先建立的查询表是通过转换模块中的以下子模块预先建立的:转换子模块,用于将数据库中的IP地址各个地转换成相应的所述特定进制的数字串,其中所述数据库中包含IP地址、IP地址的归属地信息及二者的对应关系;映射子模块,用于基于预定区域划分规则所定义的区域归属地信息并且基于IP地址的归属地信息,将IP地址所对应的特定进制的数字串映射到区域归属地信息;形成子模块,用于通过映射到每个区域归属地信息的数字串形成与该区域归属地信息相对应的一个或多个数字串区间,其中每个数字串区间利用数字串区间两端的最大数字串和最小数字串来定义;建立子模块,用于基于数字串区间与区域归属地信息的对应关系,建立所述查询表。
[0020]与现有技术相比,根据本发明的技术方案存在以下有益效果:(I)本发明的技术方案能够利用简单的数学运算将IP地址转换为查询表的键(数字串),从而提高识别效率;(2 )并且该转换处理能够在IP地址数量巨大时也保证转换后的键(数字串)的唯一性,不会出现不同的IP地址被识别为同一个字符串的情形;并且(3)对某个特定的区域,当它有多个IP地址的时候,可以合并,从而减少查询表内的键(数字串)的数量,提高查询速度,降低
存储量。
[0021]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【专利附图】

【附图说明】
[0022]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0023]图1是根据本发明一实施例的识别IP地址的区域归属地信息的方法的流程图;
[0024]图2是根据本发明一实施例的建立查询表的方法的流程图;
[0025]图3是用于说明数字串区间与区域归属地信息的对应关系的示意图;
[0026]图4是根据本发明一实施例的识别IP地址的区域归属地信息的装置的结构图。
【具体实施方式】
[0027]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0028]本发明的主要思想在于,通过将所述IP地址转换成特定进制的数字串;以所述特定进制的数字串为基础,查询预先建立的查询表以确定所述数字串所属的数字串区间;并基于所述数字串所属的数字串区间,确定所述IP地址的区域归属地信息。
[0029]为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030]在一个实现方式中,例如可以通过如下方法确定IP地址的详细归属地信息。首先,搜集详细地址的IP映射字典,具体例子如下:IP =123.0.0.1省:北京市:北京区:朝阳地址:酒仙桥路6号院电子科技大厦。然后将每个IP认为是一系列符号的组合,例如:123.0.0.1可以理解为1,2,3,.,0,.,0,.,I这九个符号的组合。再次,可以利用多种方法建立查询字典,例如:将“123.0.0.1”这九个符号利用一个特定的算法(例如md5算法,hash算法等)转化为某个特定长度的字符串;将该字符串作为字典的key,对应的详细内容(省:北京市:北京区:朝阳地址:酒仙桥路6号院电子科技大厦)作为字典的value,建立一个查询字典。最后,当某个实际用户的IP访问时,系统首先利用建立字典key的算法将IP转化为某个特定长度的字符串,再通过在字典中的查询得到这个实际用户IP的实际地址,再返回给访问方。
[0031]但是,该实现方式存在如下缺点:
[0032]( I)现有技术通过现有的一些方法将IP转化为字符串,但是往往转化的方法不是简单的数学运算,在转化过程中会存在一定的效率损耗。
[0033](2)在实际运用中,往往某个特定地址有多个IP,这样就需要对每个IP进行字典key的建立,增加了字典key的数量,导致实际查询速度变慢(任何查询方法的速度都是与字典的key的数量成正比的,字典的key的数量越多,查询速度越慢)。
[0034](3)将IP地址转化为字符串需要保证唯一性,现有技术中使用的转化方法在IP数据巨大时有可能不能保证唯一性,从而导致不同的IP被转化成了同一个字符串,这将导致系统识别错误,无法保证系统的正确识别。
[0035]下面将参考附图,详细描述本发明改进的技术方案。
[0036]如图1所示,图1是根据本发明一实施例的识别IP地址的区域归属地信息的方法的流程图。
[0037]在步骤SllO处,获取用户的IP地址。
[0038]具体而言,在业务应用中,获取用户的IP地址。举例来说,例如一个用户打开一个网站进行浏览,则通过服务器操作获取用户的IP地址。
[0039]在步骤S120处,将所述IP地址转换成特定进制的数字串。
[0040]具体而言,获取到用户的IP地址后,需要将IP地址进行转换以获得特定进制的数字串。可选地,在本发明的一个实施例中,可以将IP地址转换成十进制的十二位数字串。
[0041]例如,获取到的用户的IP地址为IP:123.0.0.2,按十进制将IP转换成为12位的整数,举例:123.0.0.2 转换为 123000000002。
[0042]应该理解,本发明不限于此,而是还可以采用其他任何合适的进制来将每个IP转化成为一个数字。
[0043]接下来,在步骤S130处,基于该特定进制的数字串,查询预先建立的查询表以确定该数字串所属的数字串区间,其中,查询表包含一个或多个数字串区间,并且每个数字串区间与一个特定区域的IP地址的区域归属地信息相对应。
[0044]具体而言,例如如图3所示,查询表包含多个数字串区间:
[0045][123000000004,123000000001]
[0046][124000000003,124000000001]
[0047][125000000006,125000000002]
[0048][126000000010,126000000001]等等。
[0049]其中,例如,前两个数字串区间与北京市的IP地址的区域归属地信息——北京市相对应;第三个数字串区间与上海市的IP地址的区域归属地信息——上海市相对应;第四个数字串区间与广州市的IP地址的区域归属地信息一广州市相对应。
[0050]可选地,每个数字串区间可以通过数字串区间两端的最大数字串和最小数字串来定义。例如第三个数字串区间包含在[125000000006,125000000002]之间的数字串,其由该数字串区间两端的最大数字串125000000006和最小数字串125000000002来定义。
[0051 ] 在了解了数字串区间的含义之后,接下来具体描述基于所述特定进制的数字串来查询预先建立的查询表以确定该数字串所属的数字串区间的过程。[0052]首先,可以基于所述特定进制的数字串,查找所述查询表以确定与所述特定进制的数字串距离最近的最大数字串。具体而言,可以将所述特定进制的数字串与所述查询表中的各个数字串区间的最大数字串进行比较以确定与所述特定进制的数字串距离最近的最大数字串。
[0053]承接上例,用户的IP地址所转换成的数字串为123000000002,查找查询表确定与该数字串距离最近的最大数字串为123000000004。
[0054]然后,基于确定的最大数字串123000000004,确定该最大数字串所属的数字串区间为[123000000004,123000000001]。
[0055]应该理解,本发明不限于此,而是还可以采用任何其他合适的方法来确定与该数字串距离最近的最大数字串。
[0056]接下来,判断所述特定进制的数字串是否大于该数字串区间的最小数字串。可选地,例如可以将与用户的IP地址相对应的数字串123000000002与该数字串区间的最小数字串123000000001进行比较以确定其是否小于该数字串区间的最小数字串。
[0057]应该理解,本发明不限于此,而是还可以采用任何其他合适的方法来确定该数字串是否大于该数字串区间的最小数字串。
[0058]如果大于该数字串区间的最小数字串,则确定该数字串属于所述数字串区间。
[0059]继续前面的例子,可以看到,与用户的IP地址相对应的数字串123000000002大于该数字串区间的最小数字串123000000001。因此确定该数字串123000000002属于数字串区间[123000000004,123000000001]。
[0060]关于查询表的建立过程可以参见稍后图2的详细描述。
[0061]接下来,在步骤S140处,基于该数字串所属的数字串区间,确定该IP地址的区域归属地信息。
[0062]具体而言,可选地,基于该数字串所属的数字串区间,获取与之对应的区域归属地信息,然后,将所述区域归属地信息确定为所述IP地址的区域归属地信息。
[0063]例如,通过查询表中数字串区间与区域归属地信息之间的对应关系,可以获知数字串区间[123000000004,123000000001]相对应的区域归属地信息为北京市。然后,将该区域归属地信息——北京市确定为用户的IP地址123.0.0.2的区域归属地信息。
[0064]至此描述了根据本发明一个实施例的识别IP地址的区域归属地信息的方法。关于其中查询表的建立过程,下面结合图2进行详细描述。
[0065]参照图2,其中示出了根据本发明一实施例的建立查询表的方法的流程图。
[0066]如图2所示,在步骤S210处,将数据库中的IP地址各个地转换成相应的所述特定进制的数字串,其中所述数据库中包含IP地址、IP地址的归属地信息及二者的对应关系。
[0067]为了更清楚地描述建立查询表的过程,下面参考图3的数字串区间与区域归属地信息的对应关系的示意图来进行描述。
[0068]如图3所示,例如将数据库中的IP地址各个地转换成相应的所述特定进制的数字串。例如,在本发明的一个实施例中,将其转换成十进制的十二位数字串。举例而言,数据库中的一个IP地址123.0.0.1,该IP地址的归属地信息为:省:北京市;北京区:朝阳;地址:酒仙桥路6号院电子科技大厦,并且该IP地址与其归属地信息相对应。
[0069]按照本发明的方法,将IP地址123.0.0.1转换成十进制的十二位数字串123000000001。按照同样的方式,将数据库中所有的IP地址都转换成数字串。
[0070]在步骤S220处,基于预定区域划分规则所定义的区域归属地信息并且基于IP地址的归属地信息,将IP地址所对应的特定进制的数字串映射到区域归属地信息。
[0071]具体而言,预定区域划分规则例如可以是以市为区域划分规则的级别,定义区域归属地信息。也即是说,北京市为一个区域归属地信息,上海市为另一个区域归属地信息,其他城市也进行类似的划分,然后基于该区域归属地信息并且基于IP地址的归属地信息,将IP地址所对应的特定进制的数字串映射到区域归属地信息。
[0072]参考图3,承接上面的例子,例如有IP地址所对应的如下字符串:123000000004,123000000002,123000000001,124000000003,124000000001, 125000000006,125000000005,125000000002,126000000010,126000000009,126000000008,126000000001 o其中第1-5个数字串的归属地信息均对应北京市、第6-8个数字串的归属地信息均对应上海市,第9-12个数字串的归属地信息均对应广州市。
[0073]应该理解,在实际应用中,IP地址、归属地信息以及区域归属地信息都可以包含更多数量。
[0074]从而基于各个市级的区域归属地信息,并且基于上述数字串的归属地信息,将第1-5个数字串映射到区域归属地信息——北京市、将第6-8个数字串映射到区域归属地信息——上海市、并将第9-12个数字串映射到区域归属地信息——广州市。
[0075]应该理解,上述示例仅仅是示意性的,本发明并不限于此,而是可以有任意多个数字串与某个区域归属地信息相映射。
[0076]还应该理解,本发明的区域归属地信息不限于此,而是还可以采用任何其他级别的区域作为区域划分规则来定义其他级别的区域归属地信息。例如,可以以华北、华南、东北、西北、西南、华东等等区域级别作为区域划分规则的级别来进行区域归属地信息的划分。
[0077]接下来,在步骤S230处,通过映射到每个区域归属地信息的数字串形成与该区域归属地信息相对应的一个或多个数字串区间,其中每个数字串区间利用数字串区间两端的最大数字串和最小数字串来定义。
[0078]参考图3,映射到北京市区域归属地信息的第1-5个数字串形成了两个数字串区间[123000000004,123000000001]和[124000000003,
[0079]124000000001]、映射到上海市区域归属地信息的第6-8个数字串形成了一个数字串区间[125000000006,125000000002]、映射到广州市区域归属地信息的第9_12个数字串形成了一个数字串区间[126000000010,126000000001]。
[0080]应该理解,上述示例仅仅是示意性的,本发明并不限于此,而是每个区域归属地信息可能与一个或多个数字串区间相对应。
[0081]还应该理解,与同一个区域归属地信息相对应的数字串形成的数字串区间的数目并非仅仅上述的数字区间,本发明并不限于此。按照本发明,与同一个区域归属地信息相对应的数字串形成多少数字串区间是可以按照实际情况或者按照优化的方式进行适当调整的。
[0082]最后,在步骤S240处,基于数字串区间与区域归属地信息的对应关系,
[0083]建立所述查询表。[0084]具体而言,如图3所示,将得到的所有数字串区间与区域归属地信息对应起来,基于它们的对应关系,建立查询表。
[0085]至此结合图2和图3描述了根据本发明一个实施例的预先建立查询表的方法的过程。利用本发明的查询表建立过程,能够建立对应关系简单且并且本身大小相对较小的查询表。然后,基于预先建立的查询表,利用本发明的方法可以进行快速、有效、准确的IP地址的区域归属地信息的查询。
[0086]与上述识别IP地址的区域归属地信息的方法类似,本发明还提供相应的一种识别IP地址的区域归属地信息的装置。如图4所示,图4是根据本发明一实施例的识别IP地址的区域归属地信息的装置的结构图400。
[0087]该装置可以包括:获取模块410,转换模块420,查询模块430以及确定模块440。
[0088]其中,获取模块410可以用于获取用户的IP地址。转换模块420可以用于将所述IP地址转换成特定进制的数字串。查询模块430可以用于基于所述特定进制的数字串,查询预先建立的查询表以确定所述数字串所属的数字串区间,其中,所述查询表包含一个或多个数字串区间,并且每个数字串区间与一个特定区域的IP地址的区域归属地信息相对应。确定模块440可以用于基于所述数字串所属的数字串区间,确定所述IP地址的区域归属地信息。
[0089]根据本发明的实施例,转换模块420进一步被配置成将IP地址转换成十进制的
十二位数字串。
[0090]根据本发明的实施例,所述数字串区间通过数字串区间两端的最大数字串和最小数字串来定义。
[0091]根据本发明的实施例,查询模块430可以进一步包括:比较子模块,用于将所述特定进制的数字串与所述查询表中的各个数字串区间的最大数字串进行比较以确定与所述特定进制的数字串距离最近的最大数字串。
[0092]根据本发明的实施例,查询模块430可以进一步包括:查找子模块,用于基于所述特定进制的数字串,查找所述查询表以确定与所述特定进制的数字串距离最近的最大数字串;第一确定子模块,用于确定所述最大数字串所属的数字串区间;判断子模块,用于判断所述特定进制的数字串是否大于该数字串区间的最小数字串;以及第二确定子模块,用于如果大于该数字串区间的最小数字串,则确定所述数字串属于所述数字串区间。
[0093]根据本发明的实施例,确定模块440可以进一步包括:获取子模块,用于基于所述数字串所属的数字串区间,获取与之对应的区域归属地信息;以及确定子模块,用于将所述区域归属地信息确定为所述IP地址的区域归属地信息。
[0094]根据本发明的实施例,所述预先建立的查询表是通过转换模块中的以下子模块预先建立的:转换子模块,用于将数据库中的IP地址各个地转换成相应的所述特定进制的数字串,其中所述数据库中包含IP地址、IP地址的归属地信息及二者的对应关系;以及映射子模块,用于基于预定区域划分规则所定义的区域归属地信息并且基于IP地址的归属地信息,将IP地址所对应的特定进制的数字串映射到区域归属地信息;形成子模块,用于通过映射到每个区域归属地信息的数字串形成与该区域归属地信息相对应的一个或多个数字串区间,其中每个数字串区间利用数字串区间两端的最大数字串和最小数字串来定义;建立子模块,用于基于数字串区间与区域归属地信息的对应关系,建立所述查询表。[0095]以上描述的识别IP地址的区域归属地信息的装置与之前描述的识别IP地址的区域归属地信息的方法的处理是对应的,因此,关于更详细的技术细节,可以参见之前描述的方法。
[0096]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0097]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0098]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0099]本领域那些技术人员可以理解,可以对实施例中的客户端中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个客户端中。可以把实施例中的模块组合成一个模块,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者客户端的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0100]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0101 ] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的加载有排序网址的客户端中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0102]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0103]本发明公开了 B8、一种识别IP地址的区域归属地信息的装置,其特征在于,包括:
[0104]获取模块,用于获取用户的IP地址;
[0105]转换模块,用于将所述IP地址转换成特定进制的数字串;
[0106]查询模块,用于基于所述特定进制的数字串,查询预先建立的查询表以确定所述数字串所属的数字串区间,其中,所述查询表包含一个或多个数字串区间,并且每个数字串区间与一个特定区域的IP地址的区域归属地信息相对应;以及
[0107]确定模块,用于基于所述数字串所属的数字串区间,确定所述IP地址的区域归属地信息。
[0108]B9、根据权利要求B8所述的装置,其特征在于,所述转换模块被配置成将所述IP地址转换成十进制的十二位数字串。
[0109]B10、根据权利要求B8所述的装置,其特征在于,所述数字串区间通过数字串区间两端的最大数字串和最小数字串来定义。
[0110]B11、根据权利要求BlO所述的装置,其特征在于,所述查询模块进一步包括:
[0111]查找子模块,用于基于所述特定进制的数字串,查找所述查询表以确定与所述特定进制的数字串距离最近的最大数字串;
[0112]第一确定子模块,用于确定所述最大数字串所属的数字串区间;
[0113]判断子模块,用于判断所述特定进制的数字串是否大于该数字串区间的最小数字串;以及,
[0114]第二确定子模块,用于如果大于该数字串区间的最小数字串,则确定所述数字串属于所述数字串区间。
[0115]B12、根据权利要求Bll所述的装置,其特征在于,所述查询模块进一步包括:
[0116]比较子模块,用于将所述特定进制的数字串与所述查询表中的各个数字串区间的最大数字串进行比较以确定与所述特定进制的数字串距离最近的最大数字串。
[0117]B13、根据权利要求B8所述的装置,其特征在于,所述确定模块进一步包括:
[0118]获取子模块,用于基于所述数字串所属的数字串区间,获取与之对应的区域归属地信息;以及
[0119]第三确定子模块,用于将所述区域归属地信息确定为所述IP地址的区域归属地信息。
[0120]B14、根据权利要求B8所述的装置,其特征在于,所述预先建立的查询表是通过转换模块中的以下子模块预先建立的:
[0121]转换子模块,用于将数据库中的IP地址各个地转换成相应的所述特定进制的数字串,其中所述数据库中包含IP地址、IP地址的归属地信息及二者的对应关系;
[0122]映射子模块,用于基于预定区域划分规则所定义的区域归属地信息并且基于IP地址的归属地信息,将IP地址所对应的特定进制的数字串映射到区域归属地信息;
[0123]形成子模块,用于通过映射到每个区域归属地信息的数字串形成与该区域归属地信息相对应的一个或多个数字串区间,其中每个数字串区间利用数字串区间两端的最大数字串和最小数字串来定义;以及
[0124]建立子模块,用于基于数字串区间与区域归属地信息的对应关系,建立所述查询表。
【权利要求】
1.一种识别IP地址的区域归属地信息的方法,其特征在于,包括: 获取用户的IP地址; 将所述IP地址转换成特定进制的数字串; 基于所述特定进制的数字串,查询预先建立的查询表以确定所述数字串所属的数字串区间,其中,所述查询表包含一个或多个数字串区间,并且每个数字串区间与一个特定区域的IP地址的区域归属地信息相对应;以及 基于所述数字串所属的数字串区间,确定所述IP地址的区域归属地信息。
2.根据权利要求1所述的方法,其特征在于,将所述IP地址转换成特定进制的数字串,包括:将所述IP地址转换成十进制的十二位数字串。
3.根据权利要求1所述的方法,其特征在于,所述数字串区间通过数字串区间两端的最大数字串和最小数字串来定义。
4.根据权利要求3所述的方法,其特征在于,基于所述特定进制的数字串,查询预先建立的查询表以确定所述数字串所属的数字串区间,进一步包括: 基于所述特定进制的数字串,查找所述查询表以确定与所述特定进制的数字串距离最近的最大数字串; 确定所述最大数字串所属的数字串区间; 判断所述特定进制的数字串是否大于该数字串区间的最小数字串;并且, 如果大于该数字串区间的最小数字串,则确定所述数字串属于所述数字串区间。
5.根据权利要求4所述的方法,其特征在于,基于所述特定进制的数字串,查找所述查询表以确定与所述特定进制的数字串距离最近的最大数字串,进一步包括: 将所述特定进制的数字串与所述查询表中的各个数字串区间的最大数字串进行比较以确定与所述特定进制的数字串距离最近的最大数字串。
6.根据权利要求1所述的方法,其特征在于,基于所述数字串所属的数字串区间,确定所述IP地址的区域归属地信息,进一步包括: 基于所述数字串所属的数字串区间,获取与之对应的区域归属地信息;以及 将所述区域归属地信息确定为所述IP地址的区域归属地信息。
7.根据权利要求1所述的方法,其特征在于,所述预先建立的查询表是通过以下步骤预先建立的: 将数据库中的IP地址各个地转换成相应的所述特定进制的数字串,其中所述数据库中包含IP地址、IP地址的归属地信息及二者的对应关系; 基于预定区域划分规则所定义的区域归属地信息并且基于IP地址的归属地信息,将IP地址所对应的特定进制的数字串映射到区域归属地信息; 通过映射到每个区域归属地信息的数字串形成与该区域归属地信息相对应的一个或多个数字串区间,其中每个数字串区间利用数字串区间两端的最大数字串和最小数字串来定义;以及 基于数字串区间与区域归属地信息的对应关系,建立所述查询表。
8.一种识别IP地址的区域归属地信息的装置,其特征在于,包括: 获取模块,用于获取用户的IP地址; 转换模块,用于将所述IP地址转换成特定进制的数字串;查询模块,用于基于所述特定进制的数字串,查询预先建立的查询表以确定所述数字串所属的数字串区间,其中,所述查询表包含一个或多个数字串区间,并且每个数字串区间与一个特定区域的IP地址的区域归属地信息相对应;以及 确定模块,用于基于所述数字串所属的数字串区间,确定所述IP地址的区域归属地信肩、O
9.根据权利要求8所述的装置,其特征在于,所述转换模块被配置成将所述IP地址转换成十进制的十二位数字串。
10.根据权利要求8所 述的装置,其特征在于,所述数字串区间通过数字串区间两端的最大数字串和最小数字串来定义。
【文档编号】G06F17/30GK103617205SQ201310575020
【公开日】2014年3月5日 申请日期:2013年11月15日 优先权日:2013年11月15日
【发明者】张涛, 郭宁 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1