CN107682466A - Ip地址的地域信息搜索方法及其装置 - Google Patents
Ip地址的地域信息搜索方法及其装置 Download PDFInfo
- Publication number
- CN107682466A CN107682466A CN201710882811.2A CN201710882811A CN107682466A CN 107682466 A CN107682466 A CN 107682466A CN 201710882811 A CN201710882811 A CN 201710882811A CN 107682466 A CN107682466 A CN 107682466A
- Authority
- CN
- China
- Prior art keywords
- address
- target
- regional information
- index entry
- index
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/69—Types of network addresses using geographic information, e.g. room number
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种IP地址的地域信息搜索方法及其装置,其中,方法包括:获取多个IP地址和IP地址对应的地域信息;从隶属于同一地域信息的IP地址中确定该同一地域信息的IP起始地址和IP结束地址,建立IP起始地址、IP结束地址与地域信息之间的映射关系,并为映射关系构建一个索引;获取IP地址检索请求;其中,IP地址检索请求中包括待检索的目标IP地址;生成目标IP地址对应的目标索引项,基于目标索引项查询索引和映射关系,获取与目标IP地址匹配的目标地域信息。该方法能够实现通过生成与IP地址对应的索引项,而后利用索引项查询与该IP地址匹配的地域信息,能够将查询的范围缩小,减少查询的数据量,提高查询效率。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种IP地址的地域信息搜索方法及其装置。
背景技术
在互联网应用中,用户会有根据IP地址获取该IP地址所对应的地域信息的需求。针对该需求,现有技术中,将IP地址转换成十进制数,而后按照转换后的十进制数对IP地址进行排序,最终在服务器侧存储排序后的IP地址与其对应的地域信息。服务器在接收用户发送的IP地址检索请求后,可以根据IP地址检索请求中的IP地址,进行二分查找,获取IP地址所属的地域信息。
实际应用时,可以发现,由于IP地址数据量较大,服务器在接收IP地址检索请求后,查询效率较低。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种IP地址的地域信息搜索方法,以实现通过生成与IP地址对应的索引项,而后利用索引项查询预先构建的索引和映射关系,从而获取与该IP地址匹配的地域信息,能够提高查询效率。此外,利用索引项查询与该IP地址匹配的地域信息,能够将查询的范围缩小,减少查询的数据量,用于解决现有由于IP地址数据量较大,服务器在接收IP地址检索请求后,查询效率较低的问题。
本发明的第二个目的在于提出一种IP地址的地域信息搜索装置。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种计算机程序产品。
本发明的第五个目的在于提出一种非临时性计算机可读存储介质。
为达上述目的,本发明第一方面实施例提出了一种IP地址的地域信息搜索方法,包括:
获取多个IP地址和所述IP地址对应的地域信息;
从隶属于同一地域信息的IP地址中确定该同一地域信息的IP起始地址和IP结束地址,建立所述IP起始地址、IP结束地址与所述地域信息之间的映射关系,并为所述映射关系构建一个索引;
获取IP地址检索请求;其中,所述IP地址检索请求中包括待检索的目标IP地址;
生成所述目标IP地址对应的目标索引项,基于所述目标索引项查询所述索引和所述映射关系,获取与所述目标IP地址匹配的目标地域信息。
本发明实施例的IP地址的地域信息搜索方法,通过获取多个IP地址和IP地址对应的地域信息,从隶属于同一地域信息的IP地址中确定该同一地域信息的IP起始地址和IP结束地址,建立IP起始地址、IP结束地址与地域信息之间的映射关系,并为映射关系构建一个索引,获取IP地址检索请求;其中,IP地址检索请求中包括待检索的目标IP地址,生成目标IP地址对应的目标索引项,基于目标索引项查询索引和映射关系,获取与目标IP地址匹配的目标地域信息。本实施例中,通过生成与IP地址对应的索引项,利用索引项查询预先构建的索引和映射关系,从而获取与该IP地址匹配的地域信息,能够提高查询效率。此外,利用索引项查询与该IP地址匹配的地域信息,能够将查询的范围缩小,减少查询的数据量。
为达上述目的,本发明第二方面实施例提出了一种IP地址的地域信息搜索装置,包括:
第一获取模块,用于获取多个IP地址和所述IP地址对应的地域信息;
构建模块,用于从隶属于同一地域信息的IP地址中确定该同一地域信息的IP起始地址和IP结束地址,建立所述IP起始地址、IP结束地址与所述地域信息之间的映射关系,并为所述映射关系构建一个索引;
第二获取模块,用于获取IP地址检索请求;其中,所述IP地址检索请求中包括待检索的目标IP地址;
查询模块,用于生成所述目标IP地址对应的目标索引项,基于所述目标索引项查询所述索引和所述映射关系,获取与所述目标IP地址匹配的目标地域信息。
本发明实施例的IP地址的地域信息搜索装置,通过获取多个IP地址和IP地址对应的地域信息,从隶属于同一地域信息的IP地址中确定该同一地域信息的IP起始地址和IP结束地址,建立IP起始地址、IP结束地址与地域信息之间的映射关系,并为映射关系构建一个索引,获取IP地址检索请求;其中,IP地址检索请求中包括待检索的目标IP地址,生成目标IP地址对应的目标索引项,基于目标索引项查询索引和映射关系,获取与目标IP地址匹配的目标地域信息。本实施例中,通过生成与IP地址对应的索引项,利用索引项查询预先构建的索引和映射关系,从而获取与该IP地址匹配的地域信息,能够提高查询效率。此外,利用索引项查询与该IP地址匹配的地域信息,能够将查询的范围缩小,减少查询的数据量。
为达上述目的,本发明第三方面实施例提出了一种计算机设备,包括:处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如本发明第一方面实施例所述的IP地址的地域信息搜索方法。
为达上述目的,本发明第四方面实施例提出了一种计算机程序产品,其特征在于,当所述计算机程序产品中的指令由处理器执行时,以用于实现如本发明第一方面实施例所述的IP地址的地域信息搜索方法。
为达上述目的,本发明第五方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如本发明第一方面实施例所述的IP地址的地域信息搜索方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例所提供的一种IP地址的地域信息搜索方法的流程示意图;
图2为本发明实施例所提供的另一种IP地址的地域信息搜索方法的流程示意图;
图3为本发明实施例提供的一种IP地址的地域信息搜索装置的结构示意图;
图4为本发明实施例提供的另一种IP地址的地域信息搜索装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的IP地址的地域信息搜索方法及其装置。
图1为本发明实施例所提供的一种IP地址的地域信息搜索方法的流程示意图。
本实施例的执行主体可以为应用程序和/或服务器,其中,应用程序可以安装至终端设备中,终端设备例如可以为智能手机、平板电脑、个人数字助理、电子书等具有各种操作系统的硬件设备。
如图1所示,该IP地址的地域信息搜索方法包括以下步骤:
步骤101,获取多个IP地址和IP地址对应的地域信息。
实际应用中,每个IP地址都会有一个对应的地域信息。本实施例中,地域信息例如可以包括国家、城市、归属地、街道、具体小区、网络运营商、WiFi和/或移动网络等网络类型信息。地域信息例如可以为:北京市,海淀区,海淀大街;移动;4G网络。
当本发明实施例的执行主体为服务器时,服务器可以通过现有技术采集多个IP地址以及IP地址对应的地域信息。例如可以通过简单网络管理协议(Simple NetworkManagement Protocol,SNMP)、远程登录协议(TELNET)、安全外壳协议(Secure Shell,SSH)等采集多个IP地址以及IP地址对应的地域信息。从而服务器可以获取多个IP地址以及IP地址对应的地域信息。
当本发明实施例的执行主体为应用程序时,应用程序可以向服务器发送获取请求,当服务器接收到该获取请求后,可以向应用程序发送多个IP地址以及IP地址对应的地域信息,从而应用程序可以从服务器中接收多个IP地址以及IP地址对应的地域信息;或者,应用程序可以接收服务器发送的多个IP地址以及IP地址对应的地域信息;其中,多个IP地址以及IP地址对应的地域信息是在服务器检测到对其更新后下发的。
步骤102,从隶属于同一地域信息的IP地址中确定该同一地域信息的IP起始地址和IP结束地址,建立IP起始地址、IP结束地址与地域信息之间的映射关系,并为映射关系构建一个索引。
可选地,应用程序或者服务器可以从隶属于同一地域信息的IP地址中确定该同一地域信息的IP起始地址和IP结束地址,例如,参见表1,地域信息为:北京市,海淀区,中关村东路;联通;WIFI网络,其隶属的IP地址中的IP起始地址为123.134.145.156,IP结束地址为123.134.145.189。或者,地域信息为:杭州市,滨江区,南环路;电信;4G网络,其隶属的IP地址中的起始地址为123.135.149.123,IP结束地址为123.137.152.139。
表1
在确定同一地域信息的IP起始地址和IP结束地址后,可以建立IP起始地址、IP结束地址与地域信息之间的映射关系。具体实现时,可以以IP起始地址、IP结束地址作为Key,以及以地域信息作为Value,形成键值对,则键值对为<Key,Value>,而后将键值对<Key,Value>存储在第一数组中。
例如,当地域信息为<北京市,海淀区,中关村东路;联通;WIFI网络>时,其隶属的IP地址中的IP起始地址为123.134.145.156,IP结束地址为123.134.145.189,则Key为<123.134.145.156,123.134.145.189>,Value为<北京市,海淀区,中关村东路;联通;WIFI网络>,第一数组中存储的键值对为<Key,Value>。
在建立好映射关系后,可以为映射关系构建一个索引。具体实现时,可以对第一数组中的所有键值对,按照Key进行排序得到有序数组,例如,可以针对第一数组中的每个键值对,将Key转换为十进制数,而后按照转换后的十进制数对第一数组中的Key进行排序,形成有序数组。而后,可以为有序数组中的每个Key生成对应的索引项;其中,索引项对应至少一个Key。
例如,参见表1,假设按照IP地址的高16位为Key建立索引项,则Key为<123.134.145.156,123.134.145.189>中的IP起始地址的索引项为:123.134,IP结束地址的索引项为123.134,则Key为<123.134.145.156,123.134.145.189>对应的索引项为123.134。而Key为<123.134.146.123,123.134.147.139>中的IP起始地址的索引项为:123.134,IP结束地址的索引项为123.134,则Key为<123.134.146.123,123.134.147.139>对应的索引项也为123.134。因此,索引项为123.134对应的Key为两个,分别为<123.134.145.156,123.134.145.189>和<123.134.146.123,123.134.147.139>。
由于同一索引项对应至少一个Key,因此,本实施例中,为了区分不同的Key,可以为索引项添加起始下标和结束下标,并存储到第二数组中形成索引;其中,起始下标指示出索引项可索引到的Key在有序数组中的起始位置,结束下标指示出索引项可索引到的Key在有序数组中的结束位置。
为了表达方便,这里只列取了跟数据相关的索引,实际上索引项是从0到65535(对应高16位)或者是从0到16777215的完全数组(对应高24位),索引项位数越大,索引占的内存越大,但检索性能越高,反之,占的内存越小,检索性能会稍差。
例如,参见表1,假设按照IP地址的高16位为Key建立索引项后,为其添加起始下标和结束下标,则Key中的IP起始地址的索引项添加下标后为:
123.134:0
123.135:2
123.136:2
123.137:2
IP结束地址的索引项添加下标后为:
123.134:1
123.135:2
123.136:2
123.137:2
因此,索引项为123.134的起始下标为0,结束下标为1。
或者,假设按照IP地址的高24位为Key建立索引项后,为其添加起始下标和结束下标,则IP起始地址的索引项添加下标后为:
123.134.145:0
123.134.146:1
123.134.147:1
123.134.148:-1(-1表示不存在,无需再检索具体数据)
123.135.149:2
123.135.150:2
123.135.151:2
123.135.152:2
IP结束地址的索引项添加下标后为:
123.134.145:0
123.134.146:1
123.134.147:1
123.134.148:-1
123.134.149:2
123.134.150:2
123.134.151:2
123.137.152:2
因此,索引项为123.134.145的起始下标和结束下标均为0,索引项为123.134.146的起始下标和结束下标均为1。
步骤103,获取IP地址检索请求;其中,IP地址检索请求中包括待检索的目标IP地址。
可选地,当本发明实施例的执行主体为应用程序时,用户可以通过应用程序中的输入装置手动输入目标IP地址,或者,用户可以通过应用程序中的拾音装置语音输入目标IP地址,而后,应用程序可以接收用户输入的目标IP地址,并根据目标IP地址获取IP地址检索请求。或者,应用程序可以从其所在的终端设备的网络配置信息中,抓取其对应的IP地址作为目标IP地址,而后根据抓取的目标IP地址获取IP地址检索请求。
可选地,当本发明实施例的执行主体为服务器时,用户可以通过应用程序中的输入装置手动输入目标IP地址,或者,用户可以通过应用程序中的拾音装置语音输入目标IP地址,而后,应用程序可以将接收的目标IP地址发送至服务器,从而服务器可以根据目标IP地址获取IP地址检索请求。或者,应用程序可以从其所在的终端设备的网络配置信息中,抓取其对应的IP地址作为目标IP地址,而后,应用程序可以将抓取的目标IP地址发送至服务器。从而服务器可以根据目标IP地址获取IP地址检索请求。
步骤104,生成目标IP地址对应的目标索引项,基于目标索引项查询索引和映射关系,获取与目标IP地址匹配的目标地域信息。
可选地,服务器或者应用程序可以生成目标IP地址对应的目标索引项,例如,当目标IP地址为123.134.146.138时,假设按照IP地址的高24位为目标IP地址建立索引项,则目标索引项为123.134.146。而后基于目标索引项查询索引和映射关系,获取与目标IP地址匹配的目标地域信息。
例如,可以根据目标索引项123.134.146,在添加下标后的IP起始地址索引项和IP结束地址索引项中进行查找,获取与123.134.146一致的索引项对应的起始下标和结束下标,由步骤102可知,索引项123.134.146的起始下标和结束下标均为0,此时,由表1可知,与目标IP地址匹配的目标地域信息为<北京市,海淀区,海淀大街;移动;4G网络>。
现有技术中,通过将一个IP地址或一段IP地址范围与其对应的地域信息建立一个映射表,在获取IP地址后,通过查询上述映射表,从中获取对应的地域信息。由于一对一建立映射表,需要占用大量存储空间。而本发明实施例中,存储的为有序数组中每个Key对应的索引项,其中,每个key为一段地址范围的起始地址和结束地址,而不需要将该地址范围内的每个IP地址进行存储,能够有效降低存储空间的内存占用。此外,由于索引项所占的内存较低,因此,可以进一步节省系统的存储空间。
本实施例的IP地址的地域信息搜索方法,通过获取多个IP地址和IP地址对应的地域信息,从隶属于同一地域信息的IP地址中确定该同一地域信息的IP起始地址和IP结束地址,建立IP起始地址、IP结束地址与地域信息之间的映射关系,并为映射关系构建一个索引,获取IP地址检索请求;其中,IP地址检索请求中包括待检索的目标IP地址,生成目标IP地址对应的目标索引项,基于目标索引项查询索引和映射关系,获取与目标IP地址匹配的目标地域信息。本实施例中,通过生成与IP地址对应的索引项,利用索引项查询预先构建的索引和映射关系,从而获取与该IP地址匹配的地域信息,能够提高查询效率。此外,利用索引项查询与该IP地址匹配的地域信息,能够将查询的范围缩小,减少查询的数据量。
作为本发明实施例的一种可能的实现方式,参见图2,在图1所示实施例的基础上,步骤104具体包括以下子步骤:
步骤201,生成目标IP地址对应的目标索引项。
本实施例中,可以按照预设的索引粒度,生成目标IP地址对应的目标索引项。例如,预设的索引粒度为高24位或者16位。
作为一种示例,索引粒度在索引过程中非常关键,本实施例中,可以利用实际采集的IP地址及实际访问日志中的IP地址,训练预设的算法模型,当训练出的算法模型稳定后,可以提取出一个最优的索引粒度,通过该索引粒度构建索引项,可以达到提高性能,并兼顾内存占用。
例如,当目标IP地址为123.134.146.138时,假设按照IP地址的高24位为目标IP地址建立索引项,则目标索引项为123.134.146。而当目标IP地址为123.134.146.138时,假设按照IP地址的高16位为目标IP地址建立索引项,则目标索引项为123.134。
步骤202,根据目标索引项在第二数组中查询,获取与目标索引项一致的第一索引项。
本实施例中,由于同一索引项对应至少一个Key,因此,为了区分不同的Key,可以为索引项添加起始下标和结束下标,并存储到第二数组中形成索引;其中,起始下标指示出索引项可索引到的Key在有序数组中的起始位置,结束下标指示出索引项可索引到的Key在有序数组中的结束位置。
在获取到目标索引项之后,可以在第二数组中,查询到与目标索引项一致的第一索引项。例如,目标索引项为123.134.146,而后,可以根据目标索引项在第二数组中查询,获取与目标索引项一致的第一索引项,即第一索引项为123.134.146。
步骤203,获取第一索引项的起始下标和结束下标。
在从第二数组中获取到第一索引项之后,可以获取到第一索引项的起始下标和结束下标。例如,第一索引项为123.134.146,则可以得到第一索引项的起始下标和结束下标均为1。
步骤204,根据起始下标和结束下标,为有序数组确定查找范围,在确定的查找范围内查找获取目标地域信息。
本实施例中,根据起始下标可以确定出目标索引项可索引到的Key在有序数组中的起始位置,根据结束下标可以确定目标索引项可索引到的Key在有序数组中的结束位置,进而为有序数值确定出了一个查询范围,然后在确定的查找范围内进行二分查找,最后得到目标地域信息。
举例说明,当目标IP地址为123.134.146.138时,假设按照IP地址的高24位为目标IP地址建立索引项,则目标索引项为123.134.146,而后,可以根据目标索引项在第二数组中查询,获取与目标索引项一致的第一索引项,即第一索引项为123.134.146。而后由步骤102可知,第一索引项123.134.146的起始下标和结束下标均为1,因此,由表1可知,为有序数组确定查找范围为<123.134.146.123,123.134.147.139>,则目标地域信息为<北京市,海淀区,海淀大街;移动;4G网络>。
或者,当目标IP地址为123.134.146.138时,假设按照IP地址的高16位为目标IP地址建立索引项,则目标索引项为123.134,而后,可以根据目标索引项在第二数组中查询,获取与目标索引项一致的第一索引项,即第一索引项为123.134。而后由步骤102可知,第一索引项123.134的起始下标为0,结束下标为1,此时为有序数组确定的查找范围为<123.134.145.156,123.134.145.189>和<123.134.146.123,123.134.147.139>。因此,可以以目标IP地址为查询对象,在确定的查找范围内进行二分查找,得到目标地域信息,即根据目标IP地址123.134.146.138在查找范围<123.134.145.156,123.134.145.189>和<123.134.146.123,123.134.147.139>内进行二分查找,最终可以得到目标IP地址123.134.146.138在查找范围<123.134.146.123,123.134.147.139>内,则目标地域信息为<北京市,海淀区,海淀大街;移动;4G网络>。
本实施例的IP地址的地域信息搜索方法,通过根据目标索引项在第二数组中查询,获取与目标索引项一致的第一索引项;获取第一索引项的起始下标和结束下标;根据起始下标和结束下标,为有序数组确定查找范围,在确定的查找范围内查找获取目标地域信息。本实施例中,通过生成与IP地址对应的索引项,利用索引项查询预先构建的索引和映射关系,从而获取与该IP地址匹配的地域信息,能够提高查询效率。此外,利用索引项查询与该IP地址匹配的地域信息,能够将查询的范围缩小,减少查询的数据量。
图3为本发明实施例提供的一种IP地址的地域信息搜索装置的结构示意图。
如图3所示,该IP地址的地域信息搜索装置300可以包括:第一获取模块310、构建模块320、第二获取模块330,以及查询模块340。其中,
第一获取模块310,用于获取多个IP地址和IP地址对应的地域信息。
构建模块320,用于从隶属于同一地域信息的IP地址中确定该同一地域信息的IP起始地址和IP结束地址,建立IP起始地址、IP结束地址与地域信息之间的映射关系,并为映射关系构建一个索引。
第二获取模块330,用于获取IP地址检索请求;其中,IP地址检索请求中包括待检索的目标IP地址。
查询模块340,用于生成目标IP地址对应的目标索引项,基于目标索引项查询索引和映射关系,获取与目标IP地址匹配的目标地域信息。
进一步地,参见图4,在图3所示实施例的基础上,该IP地址的地域信息搜索装置300还可以包括:
可选地,构建模块320,包括:
确定子模块321,用于从隶属于同一地域信息的IP地址中确定该同一地域信息的IP起始地址和IP结束地址。
存储子模块322,用于以IP起始地址、IP结束地址作为Key,以及以地域信息作为Value形成键值对,存储在第一数组中。
构建子模块323,用于为映射关系构建一个索引。
具体实现时,构建子模块323,具体用于对第一数组中的所有键值对按照Key进行排序,得到有序数组;为有序数组中每个Key生成对应的索引项;其中,索引项对应至少一个Key;为索引项添加起始下标和结束下标,并存储到第二数组中形成索引;其中,起始下标指示出索引项可索引到的Key在有序数组中的起始位置,结束下标指示出索引项可索引到的Key在有序数组中的结束位置。
可选地,构建子模块323,还用于针对每个键值对,将Key转换成十进制数;按照转换后的十进制数对数组中的Key进行排序,形成有序数组。
可选地,查询模块340,包括:
生成子模块341,用于生成目标IP地址对应的目标索引项。
第一获取子模块342,用于根据目标索引项在第二数组中查询,获取与目标索引项一致的第一索引项。
第二获取子模块343,用于获取第一索引项的起始下标和结束下标。
查找子模块344,用于根据起始下标和起始下标,为有序数组确定查找范围,在确定的查找范围内查找获取目标地域信息。
具体实现时,查找子模块344,具体用于根据起始下标和起始下标,为有序数组确定查找范围,以目标IP地址为查询对象,在确定的查找范围内进行二分查找,得到目标地域信息。
需要说明的是,前述对IP地址的地域信息搜索方法实施例的解释说明也适用于该实施例的IP地址的地域信息搜索装置300,此处不再赘述。
本实施例的IP地址的地域信息搜索装置,通过获取多个IP地址和IP地址对应的地域信息,从隶属于同一地域信息的IP地址中确定该同一地域信息的IP起始地址和IP结束地址,建立IP起始地址、IP结束地址与地域信息之间的映射关系,并为映射关系构建一个索引,获取IP地址检索请求;其中,IP地址检索请求中包括待检索的目标IP地址,生成目标IP地址对应的目标索引项,基于目标索引项查询索引和映射关系,获取与目标IP地址匹配的目标地域信息。本实施例中,通过生成与IP地址对应的索引项,利用索引项查询预先构建的索引和映射关系,从而获取与该IP地址匹配的地域信息,能够提高查询效率。此外,利用索引项查询与该IP地址匹配的地域信息,能够将查询的范围缩小,减少查询的数据量。
为了实现上述实施例,本发明还提出一种计算机设备,包括处理器和存储器;其中,处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现前述实施例提出的IP地址的地域信息搜索方法。
为了实现上述实施例,本发明还提出一种计算机程序产品,当计算机程序产品中的指令处理器执行时,执行本发明前述实施例提出的IP地址的地域信息搜索方法。
为了实现上述实施例,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现前述实施例提出的IP地址的地域信息搜索方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种IP地址的地域信息搜索方法,其特征在于,包括:
获取多个IP地址和所述IP地址对应的地域信息;
从隶属于同一地域信息的IP地址中确定该同一地域信息的IP起始地址和IP结束地址,建立所述IP起始地址、IP结束地址与所述地域信息之间的映射关系,并为所述映射关系构建一个索引;
获取IP地址检索请求;其中,所述IP地址检索请求中包括待检索的目标IP地址;
生成所述目标IP地址对应的目标索引项,基于所述目标索引项查询所述索引和所述映射关系,获取与所述目标IP地址匹配的目标地域信息。
2.根据权利要求1所述的方法,其特征在于,所述建立所述IP起始地址、IP结束地址与对应的所述地域信息之间的映射关系,包括:
以所述IP起始地址、所述IP结束地址作为Key,以及以所述地域信息作为Value形成键值对,存储在第一数组中。
3.根据权利要求2所述的方法,其特征在于,所述为所述映射关系构建一个索引,包括:
对所述第一数组中的所有键值对按照所述Key进行排序,得到有序数组;
为所述有序数组中每个Key生成对应的索引项;其中,所述索引项对应至少一个Key;
为所述索引项添加起始下标和结束下标,并存储到第二数组中形成所述索引;其中,所述起始下标指示出所述索引项可索引到的Key在所述有序数组中的起始位置,所述结束下标指示出所述索引项可索引到的Key在所述有序数组中的结束位置。
4.根据权利要求3所述的方法,其特征在于,所述对所述第一数组中的所有键值对按照所述Key进行排序,得到有序数组,包括:
针对每个键值对,将所述Key转换成十进制数;
按照转换后的十进制数对所述数组中的Key进行排序,形成所述有序数组。
5.根据权利要求3或4所述的方法,其特征在于,所述基于所述目标索引项查询所述索引和所述映射关系,获取与所述目标IP地址匹配的目标地域信息,包括:
根据所述目标索引项在所述第二数组中查询,获取与所述目标索引项一致的第一索引项;
获取所述第一索引项的起始下标和结束下标;
根据所述起始下标和所述结束下标,为所述有序数组确定查找范围,在确定的所述查找范围内查找获取所述目标地域信息。
6.根据权利要求5所述的方法,其特征在于,所述在确定的所述查找范围内查找获取所述目标地域信息,包括:
以所述目标IP地址为查询对象,在确定的所述查找范围内进行二分查找,得到所述目标地域信息。
7.一种IP地址的地域信息搜索装置,其特征在于,包括:
第一获取模块,用于获取多个IP地址和所述IP地址对应的地域信息;
构建模块,用于从隶属于同一地域信息的IP地址中确定该同一地域信息的IP起始地址和IP结束地址,建立所述IP起始地址、IP结束地址与所述地域信息之间的映射关系,并为所述映射关系构建一个索引;
第二获取模块,用于获取IP地址检索请求;其中,所述IP地址检索请求中包括待检索的目标IP地址;
查询模块,用于生成所述目标IP地址对应的目标索引项,基于所述目标索引项查询所述索引和所述映射关系,获取与所述目标IP地址匹配的目标地域信息。
8.一种计算机设备,其特征在于,包括:处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-6中任一所述的IP地址的地域信息搜索方法。
9.一种计算机程序产品,其特征在于,当所述计算机程序产品中的指令由处理器执行时,以用于实现如权利要求1-6中任一所述的IP地址的地域信息搜索方法。
10.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6中任一所述的IP地址的地域信息搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710882811.2A CN107682466B (zh) | 2017-09-26 | 2017-09-26 | Ip地址的地域信息搜索方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710882811.2A CN107682466B (zh) | 2017-09-26 | 2017-09-26 | Ip地址的地域信息搜索方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107682466A true CN107682466A (zh) | 2018-02-09 |
CN107682466B CN107682466B (zh) | 2020-11-13 |
Family
ID=61137316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710882811.2A Active CN107682466B (zh) | 2017-09-26 | 2017-09-26 | Ip地址的地域信息搜索方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107682466B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110266834A (zh) * | 2019-07-29 | 2019-09-20 | 中国工商银行股份有限公司 | 基于互联网协议地址的地区查找方法及装置 |
CN110505321A (zh) * | 2019-08-26 | 2019-11-26 | 北京泰和纬度网络技术有限公司 | 一种用于访问ip地址的方法及系统 |
CN111327721A (zh) * | 2020-02-28 | 2020-06-23 | 加和(北京)信息科技有限公司 | Ip地址定位方法及装置、存储介质及电子装置 |
CN111343301A (zh) * | 2020-04-21 | 2020-06-26 | 北京字节跳动网络技术有限公司 | 一种定位方法、定位装置、电子设备及存储介质 |
CN111629081A (zh) * | 2020-05-28 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 互联网协议ip地址数据处理方法、装置及电子设备 |
CN111859033A (zh) * | 2020-07-22 | 2020-10-30 | 北京金山云网络技术有限公司 | Ip库查询方法、装置及ip库压缩方法、装置 |
CN111970368A (zh) * | 2020-08-24 | 2020-11-20 | 北京微步在线科技有限公司 | 一种基于ip信誉数据的信息处理方法、服务端及系统 |
CN112307138A (zh) * | 2019-07-30 | 2021-02-02 | 华扬联众数字技术股份有限公司 | 地域信息的存储和查询方法、系统与介质 |
CN112347377A (zh) * | 2020-10-13 | 2021-02-09 | 咪咕视讯科技有限公司 | Ip地址段查找方法与业务调度方法、装置、电子设备 |
CN112671948A (zh) * | 2020-12-28 | 2021-04-16 | 北京锐安科技有限公司 | Ip地址所属区域的确定方法、装置、电子设备及存储介质 |
CN112948376A (zh) * | 2021-02-02 | 2021-06-11 | 厦门服云信息科技有限公司 | 一种ip地理位置信息查询方法、终端设备及存储介质 |
CN113157705A (zh) * | 2021-05-10 | 2021-07-23 | 广州欢网科技有限责任公司 | 快速根据ip查询地域的方法和装置 |
CN114095472A (zh) * | 2021-11-22 | 2022-02-25 | 北京知道创宇信息技术股份有限公司 | 地址管理方法、终端、电子设备及计算机可读存储介质 |
CN114201520A (zh) * | 2021-12-09 | 2022-03-18 | 北京航星永志科技有限公司 | 一种ip地址快速检索方法、装置及电子设备 |
CN116319661A (zh) * | 2023-03-20 | 2023-06-23 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种基于IPv6地址的归属地信息确定方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060539A (zh) * | 2006-04-17 | 2007-10-24 | 中国电信股份有限公司 | 采用统一入口网站地址集成和推送多网站内容的方法及系统 |
WO2014166284A1 (zh) * | 2013-04-10 | 2014-10-16 | 腾讯科技(深圳)有限公司 | Ip地址所在区域的确定方法及装置 |
CN104767839A (zh) * | 2015-03-25 | 2015-07-08 | 五八有限公司 | 一种ip定位方法及装置 |
-
2017
- 2017-09-26 CN CN201710882811.2A patent/CN107682466B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060539A (zh) * | 2006-04-17 | 2007-10-24 | 中国电信股份有限公司 | 采用统一入口网站地址集成和推送多网站内容的方法及系统 |
WO2014166284A1 (zh) * | 2013-04-10 | 2014-10-16 | 腾讯科技(深圳)有限公司 | Ip地址所在区域的确定方法及装置 |
CN104767839A (zh) * | 2015-03-25 | 2015-07-08 | 五八有限公司 | 一种ip定位方法及装置 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110266834A (zh) * | 2019-07-29 | 2019-09-20 | 中国工商银行股份有限公司 | 基于互联网协议地址的地区查找方法及装置 |
CN110266834B (zh) * | 2019-07-29 | 2022-08-26 | 中国工商银行股份有限公司 | 基于互联网协议地址的地区查找方法及装置 |
CN112307138A (zh) * | 2019-07-30 | 2021-02-02 | 华扬联众数字技术股份有限公司 | 地域信息的存储和查询方法、系统与介质 |
CN110505321B (zh) * | 2019-08-26 | 2022-05-31 | 北京泰和纬度网络技术有限公司 | 一种用于访问ip地址的方法及系统 |
CN110505321A (zh) * | 2019-08-26 | 2019-11-26 | 北京泰和纬度网络技术有限公司 | 一种用于访问ip地址的方法及系统 |
CN111327721A (zh) * | 2020-02-28 | 2020-06-23 | 加和(北京)信息科技有限公司 | Ip地址定位方法及装置、存储介质及电子装置 |
CN111343301A (zh) * | 2020-04-21 | 2020-06-26 | 北京字节跳动网络技术有限公司 | 一种定位方法、定位装置、电子设备及存储介质 |
CN111343301B (zh) * | 2020-04-21 | 2022-08-16 | 北京字节跳动网络技术有限公司 | 一种定位方法、定位装置、电子设备及存储介质 |
CN111629081A (zh) * | 2020-05-28 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 互联网协议ip地址数据处理方法、装置及电子设备 |
CN111629081B (zh) * | 2020-05-28 | 2023-07-28 | 腾讯科技(深圳)有限公司 | 互联网协议ip地址数据处理方法、装置及电子设备 |
CN111859033A (zh) * | 2020-07-22 | 2020-10-30 | 北京金山云网络技术有限公司 | Ip库查询方法、装置及ip库压缩方法、装置 |
CN111859033B (zh) * | 2020-07-22 | 2023-10-27 | 北京金山云网络技术有限公司 | Ip库查询方法、装置及ip库压缩方法、装置 |
CN111970368A (zh) * | 2020-08-24 | 2020-11-20 | 北京微步在线科技有限公司 | 一种基于ip信誉数据的信息处理方法、服务端及系统 |
CN111970368B (zh) * | 2020-08-24 | 2021-11-23 | 北京微步在线科技有限公司 | 一种基于ip信誉数据的信息处理方法、服务端及系统 |
CN112347377B (zh) * | 2020-10-13 | 2023-10-20 | 咪咕视讯科技有限公司 | Ip地址段查找方法与业务调度方法、装置、电子设备 |
CN112347377A (zh) * | 2020-10-13 | 2021-02-09 | 咪咕视讯科技有限公司 | Ip地址段查找方法与业务调度方法、装置、电子设备 |
WO2022142499A1 (zh) * | 2020-12-28 | 2022-07-07 | 北京锐安科技有限公司 | Ip地址所属区域的确定方法、装置、电子设备及存储介质 |
CN112671948A (zh) * | 2020-12-28 | 2021-04-16 | 北京锐安科技有限公司 | Ip地址所属区域的确定方法、装置、电子设备及存储介质 |
CN112948376A (zh) * | 2021-02-02 | 2021-06-11 | 厦门服云信息科技有限公司 | 一种ip地理位置信息查询方法、终端设备及存储介质 |
CN113157705A (zh) * | 2021-05-10 | 2021-07-23 | 广州欢网科技有限责任公司 | 快速根据ip查询地域的方法和装置 |
CN114095472A (zh) * | 2021-11-22 | 2022-02-25 | 北京知道创宇信息技术股份有限公司 | 地址管理方法、终端、电子设备及计算机可读存储介质 |
CN114095472B (zh) * | 2021-11-22 | 2023-11-28 | 北京知道创宇信息技术股份有限公司 | 地址管理方法、终端、电子设备及计算机可读存储介质 |
CN114201520A (zh) * | 2021-12-09 | 2022-03-18 | 北京航星永志科技有限公司 | 一种ip地址快速检索方法、装置及电子设备 |
CN116319661A (zh) * | 2023-03-20 | 2023-06-23 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种基于IPv6地址的归属地信息确定方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107682466B (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107682466A (zh) | Ip地址的地域信息搜索方法及其装置 | |
CN107613043A (zh) | Ip地址的地域信息搜索方法及其装置 | |
CN105956183B (zh) | 一种分布式数据库中海量小文件的多级优化存储方法及系统 | |
CN103377252B (zh) | 在物联网中进行数据过滤的方法和装置 | |
CN103189836B (zh) | 用于对图数据流中的对象分类的方法 | |
CN105989076A (zh) | 一种数据统计方法以及装置 | |
CN104239373B (zh) | 为文档添加标签的方法及装置 | |
CN108536813B (zh) | 轨迹查询方法、电子设备及存储介质 | |
CN106649349A (zh) | 用于游戏应用的数据缓存方法、装置和系统 | |
CN109063138A (zh) | 用于在区块链即服务平台搜索数据的方法、设备及存储介质 | |
CN105262833B (zh) | 一种内容中心网络的跨层缓存方法及其节点 | |
CN111831699B (zh) | 数据缓存方法、电子设备及计算机可读介质 | |
CN109359237A (zh) | 一种用于搜索寄宿程序的方法与设备 | |
CN106503008A (zh) | 文件存储方法和装置及文件查询方法和装置 | |
CN110201393A (zh) | 一种配置数据的存储方法、装置及电子设备 | |
CN105224560A (zh) | 缓存数据的查找方法和装置 | |
CN108647266A (zh) | 一种异构数据快速分布存储、交互方法 | |
JP7202558B1 (ja) | ヒューマンサイバーフィジカル融合環境におけるデジタルオブジェクトアクセス方法及びシステム | |
CN104636368A (zh) | 数据检索方法、装置及服务器 | |
CN104424316B (zh) | 一种数据存储方法、数据查询方法、相关装置和系统 | |
KR101273646B1 (ko) | 멀티 모달리티 데이터 색인 및 검색 방법, 그 시스템 | |
CN107665229A (zh) | 信息搜索方法、装置及设备 | |
CN109063215A (zh) | 数据检索方法及装置 | |
CN107506473A (zh) | 一种基于云计算的大数据检索方法 | |
CN105677478A (zh) | 资源管理的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190903 Address after: 100192 Dongsheng Science Park, Zhongguancun, 66 Xixiaokou Road, Haidian District, Beijing Applicant after: Green Bay Network Technology Co., Ltd. Address before: 100089 Beijing Haidian District Xixiaokou Road 66 Zhongguancun Dongsheng Science Park B-6 Building B 5 floors Applicant before: Grass count language (Beijing) Technology Co., Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |