[发明专利]基于前缀森林的ip索引方法在审

专利信息
申请号: 201710284679.5 申请日: 2017-04-26
公开(公告)号: CN107169054A 公开(公告)日: 2017-09-15
发明(设计)人: 肖尧 申请(专利权)人: 四川长虹电器股份有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 四川省成都市天策商标专利事务所51213 代理人: 蒋金梅,李洁
地址: 621000 四*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 前缀 森林 ip 索引 方法
【说明书】:

技术领域

发明涉及IP地址段索引领域。具体涉及基于前缀森林的ip索引方法。

背景技术

术语定义:

IP:Internet Protocol.因特网协议是为计算机网络相互连接进行通信而设计的协议。

IP address:Internet Protocol address.因特网协议地址是因特网协议中为因特网上的每台计算机和其它设备都规定的一个唯一的地址。

CIDR notation:Classless inter-domain routing notation.无类别域间路由表示法是一种表示IP地址段的方法,由IP地址前缀和掩码两部分组成。掩码内部分等于IP地址前缀的IP地址都属于这一段IP地址段。

trie:又称前缀树或字典树,是一种有序树。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串。

二叉树:每个节点最多有两个子树的树结构。

叶节点:一棵树当中没有子结点的结点。

索引:是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。

时间复杂度:定量描述算法运行时间的函数。

现在越来越多的网络服务会根据访客的IP地址查询出对应的信息(如地理位置)后使用相匹配的语言、时区等配置以及提供个性化的服务,甚至根据IP地址赋予差异化的用户权限,从而提升用户体验和保障安全性,通常,IP地址与其索引的信息呈现“多对一”的映射关系,并且有相同信息的IP地址成段出现,因此IP地址的索引问题等价于IP地址的段的索引问题。

现有技术通常以每个IP地址段的起始地址来唯一标识一段IP地址。查询时按顺序遍历起始地址(这里默认顺序是从小到大),当某一起始地址大于要查询的地址时,获取上一个起始地址所索引的数据块并返回。

例如:用4.30.42.207代表4.30.42.207~4.30.42.255这个IP地址段,用4.30.43.0代表下一个IP地址段。当查询IP地址4.30.42.233时,遍历到4.30.43.0时首次发现4.30.43.0大于4.30.42.233,因此认为4.30.42.233位于前一个也就是4.30.42.207~4.30.42.255这个IP地址段。于是返回4.30.42.207所指向的数据块。

通常会在这种线性遍历之前,加入8位或16位的二级索引,以提高性能。仍然以查询4.30.42.233为例:其前16位是4.30(十进制为1054),于是在二级索引中查询第1054个数据块,这个数据块存储了4.30.0.0这个IP地址段的位置,于是直接跳转到4.30.0.0处开始上述的线性遍历。

现有技术的线性遍历方式逻辑简单,易于实现,适合小规模的应用,但随着IP数据库的丰富,IP地址分段必然越来越多,线性遍历的时间复杂度也会随之等比例上升,无法保证将查询控制在一个常数时间内。

发明内容

本发明的目的是针对上述背景技术中的缺陷,提供一种基于前缀森林的ip索引方法,实现降低IP索引的复杂度,压缩索引数据的大小,节省大量的存储空间的效果。

为了达到上述的技术效果,本发明采取以下技术方案:

基于前缀森林的ip索引方法,包括如下步骤:

步骤一:创建索引;

将IP地址段用CIDR表示法表示,按前16位分别添加到65536棵二叉trie树中的某一棵,对后面在掩码范围内的每一位添加一个0或1的子节点,最后添加的一个子节点成为叶子节点,存储着到达这一叶子节点的最短路径所代表的IP地址段所索引的数据块的位置;

步骤二:查询IP地址。

由前16位的值直接定位到一棵二叉trie树,根据IP地址后面的每一位沿二叉trie树走到叶子节点,取到叶子节点中索引的位置,按此位置查询到目标数据。

本发明与现有技术相比,具有以下的有益效果:本发明将前缀森林应用到ip索引中,在创建索引时,将IP地址段用CIDR表示法表示,同时引入二叉树和节点概念,在查询IP地址时,同样根据这些二叉树和节点查询目标数据。与传统线性遍历方式相比较,该前缀森林索引方式大大降低了IP索引的复杂度,每次查询的时间复杂度由O(n)降低到了O(1),同时该方式不用表示出完整的IP地址,压缩了索引数据的大小。

附图说明

图1是本发明的逻辑示意图;

图2是本发明的效果示意图。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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