[发明专利]IP地址或者手机号码的分组方法和归属地的查询方法有效
| 申请号: | 201110432897.1 | 申请日: | 2011-12-21 |
| 公开(公告)号: | CN103177000A | 公开(公告)日: | 2013-06-26 |
| 发明(设计)人: | 唐轶贤;董庆军;黄科峰;张啸雄 | 申请(专利权)人: | 卓望数码技术(深圳)有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 李琴 |
| 地址: | 518057 广东省深圳市南山区高*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | ip 地址 或者 手机号码 分组 方法 属地 查询 | ||
技术领域
本发明涉及网络通信领域,更具体地说,涉及一种IP地址或者手机号码的分组方法和归属地的查询方法。
背景技术
电信运营商存在对IP地址和手机号码进行分组查询的需要。例如,查询IP地址的归属地和手机号码的归属地等。
现有的查询方法有两种:
第一种,将手机号码段、IP地址子网段与省份的对应关系保存在数据库中,查询时遍历数据库查询。
第二种,将手机号码段、IP地址子网段和省份的对应关系保存在分布式存储系统(Key-Value)的内存对应关系中,查询时直接以手机号码或者IP地址为主键(Key)进行查询。
其中,分布式存储系统查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询,但不能进行复杂的条件查询。
上述两种现有技术存在以下缺点:
首先,从数据库查询对系统资源消耗大,并发处理能力不高;
其次,虽然从内存中的Key-Value对应关系查询,系统消耗大幅度降低,处理能力也得到提高,但是对于大量数据的初始化(数据从数据库和文件加载到内存中)需要消耗一定时间,在此时间内,无法对外提供业务服务。
综上所述,需要提供一种能够降低系统消耗、具有高并发处理能力、查询速度比数据库查询和内存查询更快且具备比内存分布式存储(Key-Value)的对应关系查询更快的初始化时间的IP地址和手机号码的分组查询方法。
发明内容
本发明针对现有技术的上述缺陷,提供一种能够降低系统消耗、具有高并发处理能力、查询速度比数据库查询和内存查询更快且具备比内存分布式存储(Key-Value)的对应关系查询更快的初始化时间的IP地址和手机号码的分组查询方法。
本发明解决其技术问题所采用的技术方案为:提供一种IP地址的分组方法,包括以下步骤:
S110、根据归属地对数据库中的IP地址进行分组;
S120、将每组的IP地址转换为整型数字并按照数值自增进行排序;
S130、将每组中数值最小的整型数字作为IP地址的初始值并存入数组,对所述IP地址的初始值自增并与其相邻的整型数字比较;若相等,则继续对所述IP地址的初始值自增并与下一个整型数字比较;若不相等,则将与自增后的所述IP地址的初始值相等的最后一个整型数字存入数组;若没有与自增后的IP地址的初始值相等的整型数字,则将IP地址的初始值再次存入数组;
S140、将与步骤S130中自增后的所述IP地址的初始值不相等的第一个整型数字作为IP地址的下一个初始值,并相应地重复步骤S130中的过程;
S150、在每组IP地址转换成的整型数字中,重复步骤S130和步骤S140的过程直至完成所有整型数字的入数组处理;
对每组的整型数字相应地执行步骤S130至步骤S150的过程,以生成完整的数组列表,所述数组列表中的每一数组与归属地一一对应。
本发明的IP地址的分组方法,在步骤S120中,IP地址表达为:IP1.IP2.IP3.IP4,IP地址转换成的整型数字A=IP1*255*255+IP2*255+IP3。
本发明的IP地址的分组方法,步骤S11O中的所述归属地为省份或者是省份和城市。
提供一种IP地址归属地的查询方法,包括以下步骤:
S100、根据本发明的IP地址的分组方法对数据库中的IP地址进行分组并生成数组列表;
S210、将请求查询归属地的IP地址转换为整型数字;
S220、在所述数组列表中用二分法逐组查询与请求查询归属地的IP地址转换成的整型数字匹配的整型数字的位置;
S230、若查询成功,则输出相应的归属地信息;若查询失败,则输出失败信息。
本发明的IP地址归属地的查询方法,请求查询归属地的IP地址表达为:IP1’.IP2’.IP3’.IP4’,请求查询归属地的IP地址转换成的整型数字A’=IP1’*255*255+IP2’*255+IP3’。
本发明的IP地址归属地的查询方法,步骤S220还包括步骤:
S221:若查询到:当前查询位置的整型数字≤请求查询归属地的PI地址转换成的整型数字<当前查询位置加一的整型数字,判断当前查询位置上的整型数字与当前查询位置减一上的整型数字是否相同;相同,则返回当前查询位置减一的位置;不相同,则返回当前查询位置;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于卓望数码技术(深圳)有限公司,未经卓望数码技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110432897.1/2.html,转载请声明来源钻瓜专利网。





