IP地址或者手机号码的分组方法和归属地的查询方法技术

技术编号:8862354 阅读:241 留言:0更新日期:2013-06-28 01:33
本发明专利技术公开了一种IP地址或者手机号码的分组方法和归属地的查询方法,分组方法包括步骤:首先根据归属地对IP地址或者手机号码进行分组,然后将每组中的IP地址或者手机号码转换成整型数字并排序后存入数组;在根据本发明专利技术的分组方法对IP地址或者手机号码分组生成数组列表后,本发明专利技术的查询方法包括步骤:首先将请求查询的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.1P2.1P3.1P4,IP地址转换成的整型数字A = IP1*255*255+IP2*255+IP3。本专利技术的IP地址的分组方法,步骤SllO中的所述归属地为省份或者是省份和城市。提供一种IP地址归属地的查询方法,包括以下步骤:S100、根据本专利技术的IP地址的分组方法对数据库中的IP地址进行分组并生成数组列表;S210、将请求查询归属地的IP地址转换为整型数字;S220、在所述数组列表中用二分法逐组查询与请求查询归属地的IP地址转换成的整型数字匹配的整型数字的位置;S230、若查询成功,则输出相应的归属地信息;若查询失败,则输出失败信息。本专利技术的IP地址归属地的查询方法,请求查询归属地的IP地址表达为:ΙΡΓ.ΙΡ2’.ΙΡ3’.ΙΡ4’,请求查询归属地的IP地址转换成的整型数字A’ =ΙΡΓ *255*255+ΙΡ2> Φ255+ΙΡ3’。本专利技术的IP地址归属地的查询方法,步骤S220还包括步骤:S221:若查询到:当前查询位置的整型数字<请求查询归属地的PI地址转换成的整型数字<当前查询位置加一的整型数字,判断当前查询位置上的整型数字与当前查询位置减一上的整型数字是否相同;相同,则返回当前查询位置减一的位置;不相同,则返回当前查询位置;S222、判断返回的位置所对应的数组序号是偶数还是奇数;若为偶数,查询成功,返回相应的归属地信息;若为奇数,则在下一数组中进行步骤S221的操作;若在最后的数组中查询返回的位置所对应的数组序号为奇数,则返回失败信息;在步骤SlOO与步骤S210之间,还包括步骤:S201、检查数据库中IP地址与归属地的对应关系是否更新,是则进入步骤S203,否则进入S202 ;S202、加载所述数组列表,进入步骤S210 ;S203、从数据库读取更新的IP地址与归属地的对应关系,进入步骤S100。提供一种手机号码的分组方法,包括以下步骤:S310、根据归属地对数据库中的手机号码进行分组;S320、将每组的手机号码取前7位作为整型数字并按照数值自增进行排序;S330、将每组中数值最小的整型数字作为手机号码的初始值并存入数组,对所述手机号码的初始值自增并与其相邻的整型数字比较;若相等,则继续对所述手机号码的初始值自增并与下一个整型数字比较;若不相等,则将与自增后的所述手机号码的初始值相等的最后一个整型数字存入数组;若没有与自增后的手机号码的初始值相等的整型数字,则将手机号码的初始值再次存入数组;S340、将与步骤S330中自增后的所述手机号码的初始值不相等的第一个整型数字作为手机号码的下一个初始值,并相应地重复步骤S330中的过程;S350、在每组手机号码转换成的整型数字中,重复步骤S330和步骤S340的过程直至完成所有整型数字的入数组处理;对每组的整型数字相应地执行步骤S330至步骤S350的过程,以生成完整的数组列表,所述数组列表中的每一数组与归属地一一对应。本专利技术的手机号码的分组方法,步骤S310中的所述归属地为省份或者是省份和城市。提供一种手机号码归属地的查询方法,包括以下步骤:S400、根据本专利技术的手机号码的分组方法对数据库中的手机号码进行分组并生成数组列表;S410、将请求查询归属地的手机号码取前7位作为整型数字;S420、在所述数组列表中用二分法逐组查询与请求查询归属地的手机号码转换成的整型数字匹配的整型数字的位置;S430、若查询成功,贝U输出相应的归属地信息;若查询失败,贝1J输出失败信息。本专利技术的手机号码归属地的查询方法,步骤S320还包括步骤:S321:若查询到:当前查询位置的整型数字<请求查询归属地的手机号码转换成的整型数字 <当前查询位置加一的整型数字,判断当前查询位置上的整型数字与当前查询位置减一上的整型数字是否相同;相同,则返回当前查询位置减一的位置;不相同,则返回当前查询位置;S322、判断返回的位置所对应的数组序号是偶数还是奇数;若为偶数,查询成功,返回相应的归属地信息;若为奇数,则在下一数组中进行步骤S321的操作;若在最后的数组中查询返回的位置所对应的数组序号为奇数,则返回失败信息;在步骤S400与步骤S410之间,还包括步骤:S401、检查数据库中手机号码与归属地的对应关系是否更新,是则进入步骤S403,否则进入S402 ;S402、加载所述数组列表,进入步骤S410 ;S403、从数据库读取更新的手机号码与归属地的对应关系,进入步骤本文档来自技高网...

【技术保护点】
一种IP地址的分组方法,其特征在于,包括以下步骤:S110、根据归属地对数据库中的IP地址进行分组;S120、将每组的IP地址转换为整型数字并按照数值自增进行排序;S130、将每组中数值最小的整型数字作为IP地址的初始值并存入数组,对所述IP地址的初始值自增并与其相邻的整型数字比较;若相等,则继续对所述IP地址的初始值自增并与下一个整型数字比较;若不相等,则将与自增后的所述IP地址的初始值相等的最后一个整型数字存入数组;若没有与自增后的IP地址的初始值相等的整型数字,则将IP地址的初始值再次存入数组;S140、将与步骤S130中自增后的所述IP地址的初始值不相等的第一个整型数字作为IP地址的下一个初始值,并相应地重复步骤S130中的过程;S150、在每组IP地址转换成的整型数字中,重复步骤S130和步骤S140的过程直至完成所有整型数字的入数组处理;对每组的整型数字相应地执行步骤S130至步骤S150的过程,以生成完整的数组列表,所述数组列表中的每一数组与归属地一一对应。

【技术特征摘要】
1.一种IP地址的分组方法,其特征在于,包括以下步骤: S110、根据归属地对数据库中的IP地址进行分组; S120、将每组的IP地址转换为整型数字并按照数值自增进行排序; S130、将每组中数值最小的整型数字作为IP地址的初始值并存入数组,对所述IP地址的初始值自增并与其相邻的整型数字比较;若相等,则继续对所述IP地址的初始值自增并与下一个整型数字比较;若不相等,则将与自增后的所述IP地址的初始值相等的最后一个整型数字存入数组;若没有与自增后的IP地址的初始值相等的整型数字,则将IP地址的初始值再次存入数组; S140、将与步骤S130中自增后的所述IP地址的初始值不相等的第一个整型数字作为IP地址的下一个初始值,并相应地重复步骤S130中的过程; S150、在每组IP地址转换成的整型数字中,重复步骤S130和步骤S140的过程直至完成所有整型数字的入数组处理; 对每组的整型数字相应地执行步骤S130至步骤S150的过程,以生成完整的数组列表,所述数组列表中的每一数组与归属地一一对应。2.根据权利要求1所述的IP地址的分组方法,其特征在于,在步骤S120中,IP地址表达为:IPl.1P2.1P3.1P4, IP 地址转换成的整型数字 A=IP1*255*255+IP2*255+IP3。3.根据权利要求1所述的IP地址的分组方法,其特征在于,步骤SI10中的所述归属地为省份或者是省份和城市。4.一种IP地址归属地的查询方法,其特征在于,所述查询方法包括以下步骤: S100、根据权利要求1所述的IP地址的分组方法对数据库中的IP地址进行分组并生成数组列表; S210、将请求查询归属地的IP地址转换为整型数字; S220、在所述数组列表中用二分法逐组查询与请求查询归属地的IP地址转换成的整型数字匹配的整型数字的位置; S230、若查询成功,则输出相应的归属地信息;若查询失败,则输出失败信息。5.根据权利要求4所述的IP地址归属地的查询方法,其特征在于,请求查询归属地的IP地址表达为:IP1’.ΙΡ2’.ΙΡ3’.ΙΡ4’,请求查询归属地的IP地址转换成的整型数字A’ =IPr *255*255+ΙΡ2’ *255+ΙΡ3’。6.根据权利要求4所述的IP地址归属地的查询方法,其特征在于,步骤S220还包括步骤: S221:若查询到:当前查询位置的整型数字<请求查询归属地的PI地址转换成的整型数字〈当前查询位置加一的整型数字,判断当前查询位置上的整型数字与当前查询位置减一上的整型数字是否相同;相同,则返回当前查询位置减一的位置;不相同,则返回当前查询位置; S222、判断返回的位置所对应的数组序号是偶数还是奇数;若为偶数,查询成功,返回相应的归属地信息;若为奇数,则在下一数组中进行步骤S221的操作;若在最后的数组中查询返回的位置所对应的数组序号为奇数,则返回失败信息; 在步骤SlOO与步骤S210之间,还包括步骤: S201、检查数据...

【专利技术属性】
技术研发人员:唐轶贤董庆军黄科峰张啸雄
申请(专利权)人:卓望数码技术深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1