CN110855812B - 基于ip地址的定位方法、装置和设备 - Google Patents
基于ip地址的定位方法、装置和设备 Download PDFInfo
- Publication number
- CN110855812B CN110855812B CN201911188065.2A CN201911188065A CN110855812B CN 110855812 B CN110855812 B CN 110855812B CN 201911188065 A CN201911188065 A CN 201911188065A CN 110855812 B CN110855812 B CN 110855812B
- Authority
- CN
- China
- Prior art keywords
- target
- address
- character segment
- character
- level
- 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.)
- Active
Links
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种基于IP地址的定位方法、装置和设备,其中,该方法包括:获取目标IP地址;将所述目标IP地址按照预设格式分级,得到至少两个分级后的IP字符段;确定与所述至少两个分级后的IP字符段中的第一级目标IP字符段匹配的地理位置是否唯一;在确定与所述第一级目标IP字符段匹配的地理位置唯一的情况下,将与所述第一级目标IP字符段匹配的地理位置作为所述目标IP地址对应的地理位置。在本申请实施例中,通过采用分级匹配的方式,可以有效提高数据处理的效率,在数据量较大的情况下可以快速、准确地基于目标IP地址进行定位。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及一种基于IP地址的定位方法、装置和设备。
背景技术
在互联网环境下,对手机、电脑等移动终端的地理位置的定位具有广泛的应用,其中,基于IP地址进行地理位置的定位是最常见的方法之一,IP(Internet Protocol,互联网协议)地址是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地址采用IPv4的格式。
在一个实施例中,将所述目标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字符段中的第一级目标IP字符段匹配的地理位置是否唯一,在确定与第一级目标IP字符段匹配的地理位置唯一的情况下,则说明根据第一级目标IP字符段可以唯一确定目标IP地址对应的地理位置,则可以将与第一级目标IP字符段匹配的地理位置作为目标IP地址对应的地理位置。从而使得采用分级匹配的方式,可以有效提高数据处理的效率,在数据量较大的情况下可以快速、准确地进行定位。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。在附图中:
图1是根据本申请实施例提供的基于IP地址的定位方法的步骤示意图;
图2是根据本申请具体实施例提供的基于IP地址的定位方法的示意图;
图3是根据本申请实施例提供的基于IP地址的定位装置的结构示意图;
图4是根据本申请实施例提供的基于IP地址的定位设备的示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本申请公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本申请的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本申请公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
考虑到现有的基于IP地址进行定位的方法通常需要将用户的IP地址转化为整型数据,由于每个地区的IP地址对应的整型数据都在一个数值范围内,因此,可以确定用户的IP地址对应的整型数据所属的范围,并与数据库中预先存储的在该范围内的整型数据一一比对,从而确定用户的IP地址对应的地理位置。其中,上述整型数据是指不包含小数部分的数值型数据,只用来表示整数,以二进制形式存储。采用上述方案需要将用户的IP地址转换为整型数据,会花费较多不必要的时间,并且受数据库数据处理速度的限制,在IP地址的数据量较大的情况下无法快速、准确地进行定位。
基于以上问题,本发明实施例提供了一种基于IP地址的定位方法,如图1所示,可以包括以下步骤:
S101:获取目标IP地址。
上述目标IP地址可以是用户希望查询的IP地址也可以是用户正在使用的移动终端、应用软件的当前IP地址,在一个实施例中,可以是用户在查询界面中输入希望查询的IP地址,也可以是服务器直接获取用户使用的移动终端、应用软件的当前IP地址。其中,移动终端可以包括但不限于以下至少之一:智能手机、平板电脑、笔记本电脑、台式计算机、智能手表或者其它可穿戴设备等终端设备。当然,也可以是能运行于上述终端设备中的应用软件。例如:手机淘宝、支付宝或者浏览器等应用软件。
在一个实施例中,上述目标IP地址可以采用IPv4的格式,当然,可以理解的是在一些实施例中还可以采用IPv6等格式,具体的可以根据实际情况确定,本申请对此不作限定。其中,上述IPv4是互联网协议(Internet Protocol,IP)的第四版,IPv4中规定IP地址长度为32,一般书写法为4个用小数点分开的十进制数。
S102:将目标IP地址按照预设格式分级,得到至少两个分级后的IP字符段。
在一个实施例中,按照上述预设格式分级可以是分别将目标IP地址中前预设位数的字符段提取出来,作为目标IP地址分级后的多个IP字符段。可以理解的是,在进行分级之前,可以预先确定分级的级数,在本申请一些实施例中分级的级数可以为大于等于2的正整数,例如:2、3、4等,具体的数值可以根据实际情况确定,本申请对此不作限定。
在一个实施例中,可以将上述目标IP地址中前第一预设位数的字符段作为第一级目标IP字符段,将上述目标IP地址中前第二预设位数的字符段作为第一级目标IP字符段的下一级目标IP字符段,也可以称作为第二级目标IP字符段,其中,上述第二预设位数大于上述第一预设位数,上述第一预设位数和第二预设位数可以为大于等于1的正整数,具体的数值可以根据实际情况确定,本申请对此不作限定。以目标IP地址101.242.231.109为例:可以将101.242.231.109中前6、7、8位分别提取出来得到101.242(第一级目标IP字符段)、101.242.2(第二级目标IP字符段)以及101.242.23(第三级目标IP字符段)。
将目标IP地址按照预设格式进行分级,可以得到至少两个分级后的IP字符段,并且至少两个分级后的IP字符段对应的地理位置与目标IP地址对应的地理位置均是相同的,从而可以根据分级后的IP字符段进行定位。并且由于分级后的各个IP字符段的位数小于原目标IP地址的位数,因此,在定位时可以达到减少数据处理量、提高数据处理效率的技术效果。
S103:确定与至少两个分级后的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地址101.242.231.109分级得到的101.242(第一级目标IP字符段)、101.242.2(第二级目标IP字符段)以及101.242.23(第三级目标IP字符段)关联的地理位置均为IP地址101.242.231.109对应的地理位置。
在得到各个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地址101.242.231.109为例:可以将101.242(第一级目标IP字符段)导入第一级缓存、将101.242.2(第二级目标IP字符段)导入第二级缓存、将101.242.23(第三级目标IP字符段)到第三级缓存,从而达到分级缓存的效果。在一些实施例中,可以根据不同地区对应的IP段进行分段缓存,即每一级缓存中存储的IP数据对可以根据其对应的地区进行分段。以第一级缓存为例,可以将第一级缓存中存储的各个IP数据对按照其对应地区进行划分,得到各个地区对应的IP数据段,即可以将地理位置为相同省市的IP数据对划分进同一个IP段内,可以理解为将江苏省、浙江省、山东省、北京市、上海市等省市对应的IP数据对划分后分段存储。从而可以根据地区对缓存中存储的各个IP数据对进行直观、便捷的查询,在一定程度上可以提高数据匹配的效率。
在进行分级缓存之后,或者在进行匹配检索之前可以按照预设时间间隔更新各级缓存中存储的IP数据对,以确保缓存中存储的数据的可用性,并对存储的数据进行更新。在一些实施例中,可以采用定时任务、计时器等来确定是否需要进行更新,上述预设时间间隔可以为10分钟、一个小时、一天等,具体的可以根据实际情况确定,本申请对此不作限定。
S104:在确定与第一级目标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地址101.242.231.109为例:可以确定目标IP地址的第一级目标IP字符段(101.242)匹配地理位置是否唯一,在得到的匹配结果为{南京、苏州、徐州}的情况下,可以将第二级目标IP字符段作为当前目标IP字符段。并确定与当前目标IP字符段(101.242.2)匹配的地理位置是否唯一,在得到的匹配结果为{南京、苏州}的情况下,可以将第三级目标IP字符段作为当前目标IP字符段。并确定与当前目标IP字符段(101.242.23)匹配的地理位置是否唯一,在得到的匹配结果为{南京}的情况下,即在匹配结果唯一的情况下,可以将南京作为最终的查询结果反馈给用户,从而结束对目标IP地址的定位。
从以上的描述中,可以看出,本申请实施例实现了如下技术效果:可以通过将获取的目标IP地址按照预设格式分级,得到至少两个分级后的IP字符段,以进行分级匹配。确定与至少两个分级后的IP字符段中的第一级目标IP字符段匹配的地理位置是否唯一,在确定与第一级目标IP字符段匹配的地理位置唯一的情况下,则说明根据第一级目标IP字符段可以唯一确定目标IP地址对应的地理位置,则可以将与第一级目标IP字符段匹配的地理位置作为目标IP地址对应的地理位置。从而使得采用分级匹配的方式,可以有效提高数据处理的效率,在数据量较大的情况下可以快速、准确地进行定位。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
本发明实施提供了一种基于IP地址的定位方法,如图2所示,可以包括:
步骤1:建立IP地址词表。
根据运营商提供的脱敏数据获取按照地区分段后的IP地址,作为IP定位数据来源。将分段后的各个IP地址按照预设格式进行分级,并得到分级后的IP地址与其对应的地理位置进行关联,得到IP地址词表,其中,上述IP地址词表可以采用键值对的形式。以江苏省地区的IP地址101.242.231.109分为三级为例,分级后的一级key值为:101.242、对应的value值为:南京;二级key值为:101.242.2、对应的value值为:南京;三级key值为:101.242.23、对应的value值为:南京。
步骤2:建立分级缓存。
根据IP地址分级的级数建立分级缓存,在分级级数为3级的情况下,对应的可以建立三级缓存,并分别将各个级别的上述键值对导入对应级别的缓存中,例如可以将上述一级key值为:101.242的键值对导入一级缓存、将上述二级key值为:101.242.2的键值对导入二级缓存、将上述三级key值为:101.242.23的键值对导入三级缓存,从而实现分级缓存。进一步的,可以采用定时任务按照预定的时间间隔刷新缓存,以保证缓存中数据的可用性。
步骤3:分级检索。
向用户提供IP地址检索API(Application Programming Interface,应用程序编程接口),并在检测到用户输入目标IP地址的情况下,获取用户输入的目标IP地址。将获取的目标IP地址按照预设格式进行分级,得到至少两个分级后的IP字符段,并根基分级后的IP字符段以及其对应的地区段分级检索,进行逐级匹配,如命中则返回匹配的地理位置,若未命中则进行下一级匹配。如果进行分级中的最高级别的匹配检索仍未确定得到唯一的地理位置,在一些实施例中可以向用户反馈报错信息。
以目标IP地址101.242.231.109为例:首先可以根据目标IP地址所属的IP段,确定目标IP地址101.242.231.109为江苏省地区的IP地址,因此,可以根据目标IP地址的一级key值(101.242)匹配一级缓存中江苏省地区的key值,得到的匹配结果为{南京、苏州、徐州},在匹配结果不唯一的情况下进行二级key值检索,即再次匹配二级缓存中江苏省地区的key值,得到匹配结果为{南京、苏州}。结果不唯一再进行三级key值检索,即匹配三级缓存中江苏省地区的key值,得到唯一的匹配结果为南京,将南京作为最终的查询结果反馈给用户。现有的采用数据库进行IP定位的方式,每秒可处理检索数量在1000左右;而本申请中采用缓存进行分级检索方式,每秒处理检索数量可达到100000左右,从而可以实现更高性能的IP地理位置定位。
基于同一发明构思,本申请实施例中还提供了一种基于IP地址的定位装置,如下面的实施例所述。由于基于IP地址的定位装置解决问题的原理与基于IP地址的定位方法相似,因此基于IP地址的定位装置的实施可以参见基于IP地址的定位方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图3是本申请实施例的基于IP地址的定位装置的一种结构框图,如图3所示,可以包括:获取模块301、分级模块302、确定模块303以及处理模块304,下面对该结构进行说明。
获取模块301,可以用于获取目标IP地址。
分级模块302,可以用于将目标IP地址按照预设格式分级,得到至少两个分级后的IP字符段。
确定模块303,可以用于确定与至少两个分级后的IP字符段中的第一级目标IP字符段匹配的地理位置是否唯一。
处理模块304,可以在确定与第一级目标IP字符段匹配的地理位置唯一的情况下,将与第一级目标IP字符段匹配的地理位置作为目标IP地址对应的地理位置。
在一个实施例中,上述基于IP地址的定位装置,还可以包括:获取单元,用于获取多个IP地址;确定单元,用于确定多个IP地址中各个IP地址对应的地理位置;分级单元,用于将多个IP地址中各个IP地址按照预设格式分级,得到各个IP地址的至少两个分级后的IP字符段;第一处理单元,用于将各个IP地址的每一级IP字符段和各个IP地址对应的地理位置进行关联,得到各个IP地址对应的至少两个IP数据对;第二处理单元,用于将各个IP地址对应的至少两个IP数据对按照IP数据对中IP字符段的级别分级导入缓存。
本申请实施方式还提供了一种电子设备,具体可以参阅图4所示的基于本申请实施例提供的基于IP地址的定位方法的电子设备组成结构示意图,电子设备具体可以包括输入设备41、处理器42、存储器43。其中,输入设备41具体可以用于输入目标IP地址。处理器42具体可以用于将目标IP地址按照预设格式分级,得到至少两个分级后的IP字符段;确定与至少两个分级后的IP字符段中的第一级目标IP字符段匹配的地理位置是否唯一;在确定与第一级目标IP字符段匹配的地理位置唯一的情况下,将与第一级目标IP字符段匹配的地理位置作为目标IP地址对应的地理位置。存储器43具体可以用于存储目标IP地址、目标IP地址对应的地理位置等参数。
在本实施方式中,输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。输入设备还可以获取接收其他模块、单元、设备传输过来的数据。处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。存储器具体可以是现代信息技术中用于保存信息的记忆设备。存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该电子设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本申请实施方式中还提供了一种基于IP地址的定位方法的计算机存储介质,计算机存储介质存储有计算机程序指令,在计算机程序指令被执行时可以实现:获取目标IP地址;将目标IP地址按照预设格式分级,得到至少两个分级后的IP字符段;确定与至少两个分级后的IP字符段中的第一级目标IP字符段匹配的地理位置是否唯一;在确定与第一级目标IP字符段匹配的地理位置唯一的情况下,将与第一级目标IP字符段匹配的地理位置作为目标IP地址对应的地理位置。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
虽然本申请提供了如上述实施例或流程图的方法操作步骤,但基于常规或者无需创造性的劳动在方法中可以包括更多或者更少的操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。的方法的在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本申请的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种基于IP地址的定位方法,其特征在于,包括:
获取目标IP地址;
将所述目标IP地址按照预设格式分级,得到至少两个分级后的IP字符段;
确定与所述至少两个分级后的IP字符段中的第一级目标IP字符段匹配的地理位置是否唯一;
在确定与所述第一级目标IP字符段匹配的地理位置唯一的情况下,将与所述第一级目标IP字符段匹配的地理位置作为所述目标IP地址对应的地理位置;
在确定与所述至少两个分级后的IP字符段中的第一级目标IP字符段匹配的地理位置是否唯一之后,还包括:
在确定与所述第一级目标IP字符段匹配的地理位置不唯一的情况下,将所述第一级目标IP字符段的下一级目标IP字符段作为当前目标IP字符段,重复下述步骤:确定与所述当前目标IP字符段匹配的地理位置是否唯一;
在确定与所述当前目标IP字符段匹配的地理位置唯一的情况下,将与所述当前目标IP字符段匹配的地理位置作为所述目标IP地址对应的地理位置;
在确定与所述当前目标IP字符段匹配的地理位置不唯一的情况下,将所述当前目标IP字符段的下一级目标IP字符段作为当前目标IP字符段,直至与所述当前目标IP字符段匹配的地理位置唯一。
2.根据权利要求1所述的方法,其特征在于,所述目标IP地址采用IPv4的格式。
3.根据权利要求2所述的方法,其特征在于,将所述目标IP地址按照预设格式分级,得到至少两个分级后的IP字符段,包括:
将所述目标IP地址中前第一预设位数的字符段作为所述第一级目标IP字符段;
将所述目标IP地址中前第二预设位数的字符段作为所述第一级目标IP字符段的下一级目标IP字符段,其中,所述第二预设位数大于所述第一预设位数。
4.根据权利要求1所述的方法,其特征在于,在获取用户输入的目标IP地址之前,还包括:
获取多个IP地址;
确定所述多个IP地址中各个IP地址对应的地理位置;
将所述多个IP地址中各个IP地址按照所述预设格式分级,得到所述各个IP地址的至少两个分级后的IP字符段;
将所述各个IP地址的每一级IP字符段和所述各个IP地址对应的地理位置进行关联,得到所述各个IP地址对应的至少两个IP数据对;
将所述各个IP地址对应的至少两个IP数据对按照所述IP数据对中IP字符段的级别分级导入缓存。
5.根据权利要求4所述的方法,其特征在于,在将所述各个IP地址对应的至少两个IP数据对分级导入缓存之后,还包括:
按照预设时间间隔更新各级缓存中的IP数据对。
6.根据权利要求4所述的方法,其特征在于,确定与所述至少两个分级后的IP字符段中的第一级目标IP字符段匹配的地理位置是否唯一,包括:
获取第一级缓存中的多个IP数据对;
确定所述多个IP数据对中与所述第一级目标IP字符段匹配的IP数据对;
确定与所述第一级目标IP字符段匹配的IP数据对对应的地理位置是否唯一。
7.根据权利要求6所述的方法,其特征在于,确定所述多个IP数据对中与所述第一级目标IP字符段匹配的IP数据对,包括:
获取所述多个IP数据对中的多个第一级IP字符段;
确定所述多个第一级IP字符段中与所述第一级目标IP字符段相同的第一级IP字符段;
将与所述第一级目标IP字符段相同的第一级IP字符段对应的IP数据对作为与所述第一级目标IP字符段匹配的IP数据对。
8.一种基于IP地址的定位装置,其特征在于,包括:
获取模块,用于获取目标IP地址;
分级模块,用于将所述目标IP地址按照预设格式分级,得到至少两个分级后的IP字符段;
确定模块,用于确定与所述至少两个分级后的IP字符段中的第一级目标IP字符段匹配的地理位置是否唯一;
处理模块,用于在确定与所述第一级目标IP字符段匹配的地理位置唯一的情况下,将与所述第一级目标IP字符段匹配的地理位置作为所述目标IP地址对应的地理位置;
在确定与所述至少两个分级后的IP字符段中的第一级目标IP字符段匹配的地理位置是否唯一之后,还包括:
在确定与所述第一级目标IP字符段匹配的地理位置不唯一的情况下,将所述第一级目标IP字符段的下一级目标IP字符段作为当前目标IP字符段,重复下述步骤:确定与所述当前目标IP字符段匹配的地理位置是否唯一;
在确定与所述当前目标IP字符段匹配的地理位置唯一的情况下,将与所述当前目标IP字符段匹配的地理位置作为所述目标IP地址对应的地理位置;
在确定与所述当前目标IP字符段匹配的地理位置不唯一的情况下,将所述当前目标IP字符段的下一级目标IP字符段作为当前目标IP字符段,直至与所述当前目标IP字符段匹配的地理位置唯一。
9.根据权利要求8所述的装置,其特征在于,还包括:
获取单元,用于获取多个IP地址;
确定单元,用于确定所述多个IP地址中各个IP地址对应的地理位置;
分级单元,用于将所述多个IP地址中各个IP地址按照所述预设格式分级,得到所述各个IP地址的至少两个分级后的IP字符段;
第一处理单元,用于将所述各个IP地址的每一级IP字符段和所述各个IP地址对应的地理位置进行关联,得到所述各个IP地址对应的至少两个IP数据对;
第二处理单元,用于将所述各个IP地址对应的至少两个IP数据对按照所述IP数据对中IP字符段的级别分级导入缓存。
10.一种基于IP地址的定位设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至7中任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911188065.2A CN110855812B (zh) | 2019-11-28 | 2019-11-28 | 基于ip地址的定位方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911188065.2A CN110855812B (zh) | 2019-11-28 | 2019-11-28 | 基于ip地址的定位方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110855812A CN110855812A (zh) | 2020-02-28 |
CN110855812B true CN110855812B (zh) | 2022-05-27 |
Family
ID=69605577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911188065.2A Active CN110855812B (zh) | 2019-11-28 | 2019-11-28 | 基于ip地址的定位方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110855812B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738866B (zh) * | 2020-12-31 | 2024-04-30 | 百果园技术(新加坡)有限公司 | 一种终端接入方法、装置、设备及介质 |
CN114285797B (zh) * | 2021-12-30 | 2024-04-19 | 北京天融信网络安全技术有限公司 | Ip地址的处理方法、装置、存储介质 |
CN115190110B (zh) * | 2022-07-18 | 2024-01-09 | 北京抖音信息服务有限公司 | 一种地理位置确定方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104333609A (zh) * | 2014-10-15 | 2015-02-04 | 北京百度网讯科技有限公司 | Ip地址定位方法和装置 |
CN104767839A (zh) * | 2015-03-25 | 2015-07-08 | 五八有限公司 | 一种ip定位方法及装置 |
CN106599019A (zh) * | 2016-10-21 | 2017-04-26 | 东莞市大易产业链服务有限公司 | 一种精确高效的ip地址定位方法 |
CN107169054A (zh) * | 2017-04-26 | 2017-09-15 | 四川长虹电器股份有限公司 | 基于前缀森林的ip索引方法 |
-
2019
- 2019-11-28 CN CN201911188065.2A patent/CN110855812B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104333609A (zh) * | 2014-10-15 | 2015-02-04 | 北京百度网讯科技有限公司 | Ip地址定位方法和装置 |
CN104767839A (zh) * | 2015-03-25 | 2015-07-08 | 五八有限公司 | 一种ip定位方法及装置 |
CN106599019A (zh) * | 2016-10-21 | 2017-04-26 | 东莞市大易产业链服务有限公司 | 一种精确高效的ip地址定位方法 |
CN107169054A (zh) * | 2017-04-26 | 2017-09-15 | 四川长虹电器股份有限公司 | 基于前缀森林的ip索引方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110855812A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110855812B (zh) | 基于ip地址的定位方法、装置和设备 | |
CN108255958B (zh) | 数据查询方法、装置和存储介质 | |
US20170032117A1 (en) | Identifying Software Components in a Software Codebase | |
US10296497B2 (en) | Storing a key value to a deleted row based on key range density | |
US10628382B2 (en) | Teleporting content over network using hash matches | |
CN111797096A (zh) | 基于ElasticSearch的数据索引方法、装置、计算机设备及存储介质 | |
CN110727663A (zh) | 数据清洗方法、装置、设备及介质 | |
CA2868540C (en) | Entity resolution from documents | |
WO2019040146A1 (en) | KEY ENTRY SYSTEM WITH COMPETITIVE ACCESS WITHOUT LOCKING AND WITH VERSION MANAGEMENT | |
US10664349B2 (en) | Method and device for file storage | |
CN110020272B (zh) | 缓存方法、装置以及计算机存储介质 | |
US20200311029A1 (en) | Key value store using generation markers | |
CN112667636B (zh) | 索引建立方法、装置及存储介质 | |
CN103631955A (zh) | 一种浏览器内核切换匹配库数据更新的方法和装置 | |
CN106682130B (zh) | 相似图片检测方法和装置 | |
CN112307169A (zh) | 地址数据的匹配方法、装置、计算机设备及存储介质 | |
CN110119429B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111935327B (zh) | 域名分配方法、装置、设备及计算机可读存储介质 | |
US20130018911A1 (en) | Variable-Length Nonce Generation | |
CN114268608A (zh) | 一种地址段检索方法、装置、电子设备及存储介质 | |
CN113032368A (zh) | 一种数据迁移方法、装置、存储介质及平台 | |
CN113486025A (zh) | 数据存储方法、数据查询方法及装置 | |
CN110968267A (zh) | 数据管理方法、装置、服务器及系统 | |
CN114153830B (zh) | 数据验证方法及其装置、计算机存储介质、电子设备 | |
US11941004B1 (en) | System and method for executing database operations based on a policy |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |