地理位置信息查询方法、装置、存储介质及设备制造方法及图纸

技术编号:27772377 阅读:13 留言:0更新日期:2021-03-23 12:53
本申请公开了一种地理位置信息查询方法、装置、存储介质及设备,在获取IPV6地址之后,先将该IPV6地址转换为数字串;然后基于所述数字串,查询预先建立的第一查询表以确定该数字串所属的数字串区间;再确定与该数字串区间对应的地理位置编码;最后基于所述地理位置编码,查询预先建立的第二查询表以确定与该地理位置编码对应的地理位置信息。基于上述方案,通过将IPV6地址信息和IPV6的地理位置信息分别独立保存,通过地理位置编码关联,节省了很大内存空间,在此基础上,能够快速查询IPV6地址的地理位置信息。

【技术实现步骤摘要】
地理位置信息查询方法、装置、存储介质及设备
本申请涉及互联网
,具体而言,涉及一种地理位置信息查询方法、装置、存储介质及设备。
技术介绍
随着互联网的飞速发展,在越来越多的场景中,都需要查找访问互联网的IP地址对应的地理位置,比如,在需要确定访问某网页的一个访客的位置,可通过查找该访客在访问该网页时的IP地址对应的地理位置,确定该访客来自哪个国家、省份、城市。现有技术中,对于IPV4地址,可以预先保存各个IPV4地址与地理位置信息的对应关系,当需要获取某个IPV4地址对应的地理位置信息时,再进行查找。但是,目前IPV6地址已经开始启用,每个IPV6地址长度是128位,这样IPv6地址就可以有2128个,也就是全球可分配地址数理论上无限大。这种情况下,当需要获取某个IPV6地址对应的地理位置信息时,如果从预先保存的各个IPV6地址与地理位置信息的对应关系中查找,需要查找的数据量非常大,导致查找速度过慢。
技术实现思路
鉴于上述问题,本申请提供一种克服上述问题或者至少部分地解决上述问题的地理位置信息查询方法、装置、存储介质及设备。方案如下:一种地理位置信息查询方法,所述方法包括:获取IPV6地址;将所述IPV6地址转换为数字串;基于所述数字串,查询预先建立的第一查询表以确定所述数字串所属的数字串区间;确定与所述数字串区间对应的地理位置编码;基于所述地理位置编码,查询预先建立的第二查询表以确定与所述地理位置编码对应的地理位置信息;r>其中,所述第一查询表中包含至少一个数字串区间,且每个数字串区间对应一个地理位置编码;所述第二查询表中包含至少一个地理位置编码,且每个地理位置编码对应一个地理位置信息。可选地,所述基于所述数字串,查询预先建立的第一查询表以确定所述数字串所属的数字串区间,包括:基于所述数字串,通过二分查找的方式查询预先建立的第一查询表以确定所述数字串所属的数字串区间。可选地,在所述获取IPV6地址之前,所述方法还包括:将已发布的各个IPV6地址段分别转换成各自对应的数字串区间,并将所述各个IPV6地址段对应的地理位置信息按照预定格式分别转换为各自对应的地理位置编码;根据各个数字串区间与对应的地理位置编码生成第一记录,将第一记录存储至所述第一查询表;并根据所述各个地理位置信息与对应的地理位置编码生成第二记录,将第二记录存储至所述第二查询表。可选地,所述将已发布的各个IPV6地址段分别转换成各自对应的数字串区间包括:对已发布的多个IPV6地址段中的任一IPV6地址段进行如下处理:将所述任一IPV6地址段的首地址转换为第一数字串,将所述任一IPV6地址段的尾地址转换为第二数字串;根据所述第一数字串与所述第二数字串生成所述任一IPV6地址段对应的数字串区间,所述数字串区间的最小数字串为所述第一数字串,所述数字串区间的最大数字串为所述第二数字串。可选地,所述将所述任一IPV6地址段的首地址转换为第一数字串,将所述任一IPV6地址段的尾地址转换为第二数字串,包括:基于JavaBigInteger类将所述任一IPV6地址段的首地址转换为BigInteger类型的第一数字串,基于JavaBigInteger类将所述任一IPV6地址段的尾地址转换为BigInteger类型的第二数字串。可选地,所述将所述各个IPV6地址段对应的地理位置信息按照预定格式分别转换为各自对应的地理位置编码,包括:对已发布的多个IPV6地址段中的任一IPV6地址段对应的地理位置信息进行如下处理:根据所述任一IPV6地址段对应的地理位置信息获取所述任一IPV6地址段对应的国家级别、省份级别、城市级别和区县级别;分别获取所述国家级别的编码、所述省份级别的编码、所述城市级别的编码和所述区县级别的编码;依次组合所述国家级别的编码、所述省份级别的编码、所述城市级别的编码和所述区县级别的编码,将组合结果作为地理位置编码。可选地,所述将所述第二记录存储至所述第二查询表,包括:将所述第二记录存储至Map缓存表,所述Map缓存表中包括多个Map缓存,每个Map缓存的key即为一个所述第二记录中的地理位置编码,value即为所述第二记录中的地理位置信息。一种地理位置信息查询装置,所述装置包括:获取单元,用于获取IPV6地址;转换单元,用于将所述IPV6地址转换为数字串;第一查询单元,用于基于所述数字串,查询预先建立的第一查询表以确定所述数字串所属的数字串区间;确定单元,用于确定与所述数字串区间对应的地理位置编码;第二查询单元,用于基于所述地理位置编码,查询预先建立的第二查询表以确定与所述地理位置编码对应的地理位置信息;其中,所述第一查询表中包含至少一个数字串区间,且每个数字串区间对应一个地理位置编码;所述第二查询表中包含至少一个地理位置编码,且每个地理位置编码对应一个地理位置信息。一种存储介质,其上存储有程序,该程序被处理器执行时实现如上所述的地理位置信息查询方法。一种设备,所述设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、存储器通过总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以实现如上所述的地理位置信息查询方法。借由上述技术方案,本申请提供的地理位置信息查询方法、装置、存储介质及处理器,在获取IPV6地址之后,先将该IPV6地址转换为数字串;然后基于所述数字串,查询预先建立的第一查询表以确定该数字串所属的数字串区间;再确定与该数字串区间对应的地理位置编码;最后基于所述地理位置编码,查询预先建立的第二查询表以确定与该地理位置编码对应的地理位置信息。基于上述方案,通过将IPV6地址信息和IPV6的地理位置信息分别独立保存,通过地理位置编码关联,节省了很大内存空间,在此基础上,能够快速查询IPV6地址的地理位置信息。上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1为本申请实施例提供的一种地理位置信息查询方法的流程示意图;图2为本申请实施例提供的又一种地理位置信息查询方法的流程示意图;图3为本申请实施例提供的一种地理位置信息查询装置的结构示意图;图4为本申请实施例提供的一种设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理本文档来自技高网...

【技术保护点】
1.一种地理位置信息查询方法,其特征在于,所述方法包括:/n获取IPV6地址;/n将所述IPV6地址转换为数字串;/n基于所述数字串,查询预先建立的第一查询表以确定所述数字串所属的数字串区间;/n确定与所述数字串区间对应的地理位置编码;/n基于所述地理位置编码,查询预先建立的第二查询表以确定与所述地理位置编码对应的地理位置信息;/n其中,所述第一查询表中包含至少一个数字串区间,且每个数字串区间对应一个地理位置编码;所述第二查询表中包含至少一个地理位置编码,且每个地理位置编码对应一个地理位置信息。/n

【技术特征摘要】
1.一种地理位置信息查询方法,其特征在于,所述方法包括:
获取IPV6地址;
将所述IPV6地址转换为数字串;
基于所述数字串,查询预先建立的第一查询表以确定所述数字串所属的数字串区间;
确定与所述数字串区间对应的地理位置编码;
基于所述地理位置编码,查询预先建立的第二查询表以确定与所述地理位置编码对应的地理位置信息;
其中,所述第一查询表中包含至少一个数字串区间,且每个数字串区间对应一个地理位置编码;所述第二查询表中包含至少一个地理位置编码,且每个地理位置编码对应一个地理位置信息。


2.根据权利要求1所述的方法,其特征在于,所述基于所述数字串,查询预先建立的第一查询表以确定所述数字串所属的数字串区间,包括:
基于所述数字串,通过二分查找的方式查询预先建立的第一查询表以确定所述数字串所属的数字串区间。


3.根据权利要求1或2所述的方法,其特征在于,在所述获取IPV6地址之前,所述方法还包括:
将已发布的各个IPV6地址段分别转换成各自对应的数字串区间,并将所述各个IPV6地址段对应的地理位置信息按照预定格式分别转换为各自对应的地理位置编码;
根据各个数字串区间与对应的地理位置编码生成第一记录,将所述第一记录存储至所述第一查询表;并根据各个地理位置信息与对应的地理位置编码生成第二记录,将所述第二记录存储至所述第二查询表。


4.根据权利要求3所述的方法,其特征在于,所述将已发布的各个IPV6地址段分别转换成各自对应的数字串区间包括:
对已发布的多个IPV6地址段中的任一IPV6地址段进行如下处理:
将所述任一IPV6地址段的首地址转换为第一数字串,将所述任一IPV6地址段的尾地址转换为第二数字串;
根据所述第一数字串与所述第二数字串生成所述任一IPV6地址段对应的数字串区间,该数字串区间的最小数字串为所述第一数字串,该数字串区间的最大数字串为所述第二数字串。


5.根据权利要求4所述的方法,其特征在于,所述将所述任一IPV6地址段的首地址转换为第一数字串,将所述任一IPV6地址段的尾地址转换为第二数字串,包括:
基于JavaBigInteger类将所述任一IPV6地址段的首地址转换为BigInteger类型的第一数字串,基于JavaBigI...

【专利技术属性】
技术研发人员:韩学明
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1