[发明专利]一种基于二分查找法实现IP范围定位的方法及系统在审

专利信息
申请号: 201710058866.1 申请日: 2017-01-23
公开(公告)号: CN106940708A 公开(公告)日: 2017-07-11
发明(设计)人: 郝宇亮 申请(专利权)人: 北京思特奇信息技术股份有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京轻创知识产权代理有限公司11212 代理人: 杨立
地址: 100086 北京市海淀*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 二分 查找 实现 ip 范围 定位 方法 系统
【说明书】:

技术领域

发明涉及IP查询领域,具体涉及一种基于二分查找法实现IP范围定位的方法及系统。

背景技术

随着业务不断拓展,需要从某厂家提供的一个IP库里判断来访者IP是否在此IP库中,如果IP在IP库里,输出对应的IP段信息。IP库是一个文本文件,文件大小为29M,内容38万多行,接近39万行。将39万的数据存储在传统数据库中,如果访问量太大,会对数据库造成很大压力甚至导致数据库崩溃。

发明内容

本发明提供了一种基于二分查找法实现IP范围定位的方法及系统,能够提高IP的查询定位效率。

本发明解决上述技术问题的技术方案如下:一种基于二分查找法实现IP范围定位的方法,包括:

S1,根据待查找IP,利用二分查找法在数据库中顺序存储的起始IP集合中找到比待查找IP小且最大的起始IP;

S2,根据查找到的起始IP,从所述数据库的IP段信息集合中找到对应的IP段信息,并找到该IP段信息中对应的终止IP;

S3,判断所述终止IP是否大于待查找IP,若是,则输出所述IP段信息,若否,则输出所述待查找IP不在数据库中的提示信息。

本发明的有益效果为:采用二分查找法从海量IP库中定位需要查找的IP,相比传统的查找方式,加快了查找的效率,减轻对存储IP的数据库的内存压力。

在上述技术方案的基础上,本发明还可以作如下改进。

进一步的,步骤S1之前还包括:

S01,将所有的起始IP顺序写入Redis数据库有序集合中;

S02,以起始IP为主键,将与每一个起始IP对应的IP段信息写入Redis数据库的Hash结构中;

所述步骤S1具体包括:

根据待查找IP,利用二分查找法从Redis数据库有序集合中查找到比待查找IP小且最大的起始IP;

所述步骤S2具体包括:

根据查找到的起始IP,从Redis数据库的Hash结构中找到对应的IP段信息,并找到该IP段信息中对应的终止IP。

所述进一步的有益效果为:将所有的起始IP和对应的IP段信息存储在Redis数据库中,Redis数据库属于NoSQL数据库,相比传统的关系型数据库,存储容量大,同时将起始IP和对应的IP段信息分开存储,避免存储在一起由于访问量大造成数据库崩溃。

进一步的,所述步骤S01具体包括:

将所有的起始IP转换为long型,并从前到后升序写入Redis数据库有序集合中;

所述步骤S02具体包括:

以long型的起始IP为主键,将与每一个起始IP对应的IP段信息写入Redis数据库的Hash结构中;

所述步骤S1具体包括:

将待查找IP转换为long型,利用二分查找法从Redis数据库有序集合中查找到比待查找IP小且最大的起始IP;

所述步骤S2具体包括:

根据查找到的long型的起始IP,从Redis数据库的Hash结构中找到对应的IP段信息,并找到该IP段信息中对应的终止IP,且将终止IP转换为long型。

进一步的,所述步骤S01将所有的起始IP转换为long型,并从前到后升序写入Redis数据库有序集合中具体包括:

将所有的起始IP转换为long型,写入数组,将数组升序排列,转换后的long值作为value,并将数组写入Redis数据库中。

进一步的,所述步骤S1具体包括:

S11,将待查找IP分别与Redis数据库有序集合中的中间起始IP以及中间起始IP的下一个起始IP进行比较;

S12;当待查找IP大于中间起始IP且小于中间起始IP的下一个起始IP时,该中间起始IP为最大的且比待查找IP小的起始IP;

S13,若待查找IP小于中间起始IP,则以该中间起始IP为界,将整个Redis数据库有序集合划分为前后两部分,将前半部分作为新的Redis数据库有序集合,返回步骤S11;

S14,若待查找IP大于中间起始IP的下一个起始IP,则以该中间起始IP的下一个起始IP为界,将整个Redis数据库有序集合划分为前后两部分,将后半部分作为新的Redis数据库有序集合,返回步骤S11。

所述进一步的有益效果为:根据待查找IP,采用二分查找法从整个Redis有序集合中逐渐缩小范围,能够加快查询定位的速度。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710058866.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top