[发明专利]确定IP地址所属地区的方法及装置有效
申请号: | 201810621336.8 | 申请日: | 2018-06-15 |
公开(公告)号: | CN108875006B | 公开(公告)日: | 2021-03-30 |
发明(设计)人: | 龙飞 | 申请(专利权)人: | 泰康保险集团股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/24 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 罗英;刘芳 |
地址: | 100031 北京市西*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 确定 ip 地址 所属 地区 方法 装置 | ||
1.一种确定IP地址所属地区的方法,其特征在于,包括:
将待查询的IP地址值转换为二进制值;
根据转换后的二进制值,在预先构建的地址二叉树中,查找与之匹配的节点,所述地址二叉树的深度与IP地址包括的二进制位数相同,所述地址二叉树包括具有地区信息的节点;
根据所述与之匹配的节点包括的地区信息,确定所述待查询的IP地址的所属地区;
所述方法还包括:
根据各个地区的起始IP地址和终止IP地址构建所述地址二叉树;
所述根据各个地区的起始IP地址和终止IP地址构建所述地址二叉树包括:
将所述起始IP地址和所述终止IP地址转换为二进制值;
分别根据同一地区的起始IP地址和终止IP地址的二进制值,按照从高位到低位的顺序,若二进制值为0,则建立左子树,若二进制值为1,则建立右子树,初始化所述地址二叉树;
从第一标志位开始,为所述同一地区的起始IP地址中二进制值为0的节点创建同深度的节点并初始化相应的地区信息,为所述同一地区的终止IP地址中二进制值为1的节点创建同深度的节点并初始化相应的地区信息;所述第一标志位的前一位为所述同一地区的起始IP地址和终止IP地址的二进制值第一次出现不同的位。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
为所述各个地区的起始IP地址和终止IP地址的二进制值的最低位对应的节点初始化相应的地区信息。
3.根据权利要求1或2所述的方法,其特征在于,所述根据转换后的二进制值,在预先构建的地址二叉树中,查找与之匹配的节点包括:
按照所述转换后的二进制值从高位到低位的顺序,从所述地址二叉树的根节点开始搜索;
若所述二进制值为0,则搜索左子树;
若所述二进制值为1,则搜索右子树。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若搜索到的节点包括地址信息,则停止搜索,并将包括所述地址信息的节点确定为所述与之匹配的的节点。
5.一种确定IP地址所属地区的装置,其特征在于,包括:
转换模块,用于将待查询的IP地址值转换为二进制值;
查询模块,用于根据转换后的二进制值,在预先构建的地址二叉树中,查找与之匹配的节点,所述地址二叉树的深度与IP地址包括的二进制位数相同;
确定模块,用于根据所述与之匹配的节点包括的地区信息,确定所述待查询的IP地址的所属地区;
确定模块,还用于根据各个地区的起始IP地址和终止IP地址构建所述地址二叉树;
所述确定模块,具体用于将所述起始IP地址和所述终止IP地址转换为二进制值;
分别根据同一地区的起始IP地址和终止IP地址的二进制值,按照从高位到低位的顺序,若二进制值为0,则建立左子树,若二进制值为1,则建立右子树,初始化所述地址二叉树;
从第一标志位开始,为所述同一地区的起始IP地址中二进制值为0的节点创建同深度的节点并初始化相应的地区信息,为所述同一地区的终止IP地址中二进制值为1的节点创建同深度的节点并初始化相应的地区信息;所述第一标志位的前一位为所述同一地区的起始IP地址和终止IP地址的二进制值第一次出现不同的位。
6.一种确定IP地址所属地区的设备,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-4任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-4任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于泰康保险集团股份有限公司,未经泰康保险集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810621336.8/1.html,转载请声明来源钻瓜专利网。