[发明专利]一种IP地址快速检索方法、装置及电子设备有效
申请号: | 202111502948.3 | 申请日: | 2021-12-09 |
公开(公告)号: | CN114201520B | 公开(公告)日: | 2023-04-28 |
发明(设计)人: | 丁祖军 | 申请(专利权)人: | 北京航星永志科技有限公司 |
主分类号: | G06F16/2457 | 分类号: | G06F16/2457;G06F16/2455;G06F16/2453 |
代理公司: | 北京三聚阳光知识产权代理有限公司 11250 | 代理人: | 王娜 |
地址: | 102209 北京市昌平区七*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ip 地址 快速 检索 方法 装置 电子设备 | ||
本发明公开了一种IP地址快速检索方法、装置及电子设备,包括:获取待查询的IP地址;将待查询的IP地址转换为无符号整数,将待查询的IP地址对应的无符号整数索引到预先建立的IP库映射文件中的对应位置,其中预先建立的IP库映射文件中包含IP地址的索引位置的字节值为非0值,为包含的IP地址的索引位置的字节值为0,预先建立的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地址的索引位置的字节值为非0值,未包含IP地址的索引位置的字节值为0,所述预先建立的IP库映射文件的大小根据无符号整数的取值范围确定;根据所述对应位置的字节值确定检索结果。
可选地,所述方法还包括:根据所述无符号整数的取值范围创建目标大小的IP库映射文件并将所述IP库映射文件中包含的字节进行初始化操作;获取可访问的IP地址或不可访问IP地址;将所述可访问的IP地址或不可访问IP地址转换成无符号整数;将可访问的IP地址或不可访问IP地址定位到所述IP库映射文件中,并将对应的索引位置中存储的所述可访问的IP地址或不可访问IP地址对应的无符号整数修改为预设非0值。
可选地,所述根据所述对应位置的字节确定检索结果,包括:当所述待查询IP在IP库映射文件中的对应位置的字节值为非0值时,确定在所述IP库映射文件中检索到所述待查询的IP地址。
可选地,所述方法还包括:当所述IP库映射文件根据可访问的IP地址构建得到且所述待查询IP在IP库映射文件中的对应位置的字节值为非0值时,确定检索到的所述待查询的IP地址具有访问服务权限;或当所述IP库映射文件根据不可访问的IP地址构建得到且所述待查询IP在IP库映射文件中的对应位置的字节值为非0值时,确定检索到的所述待查询的IP地址不具有访问服务权限。
可选地,所述预设非0值根据提供服务的系统类型确定。
根据第二方面,本发明实施例还公开了一种IP地址快速检索装置,所述装置包括:第一获取模块,用于获取待查询的IP地址;索引模块,用于将所述待查询的IP地址转换为无符号整数,将所述待查询的IP地址对应的无符号整数索引到预先建立的IP库映射文件中的对应位置,其中所述预先建立的IP库映射文件中包含IP地址的索引位置的字节值为非0值,未包含IP地址的索引位置的字节值为0,所述预先建立的IP库映射文件的大小根据无符号整数的取值范围确定;第一确定模块,用于根据所述对应位置的字节值确定检索结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航星永志科技有限公司,未经北京航星永志科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111502948.3/2.html,转载请声明来源钻瓜专利网。