[发明专利]一种基于字典树的ip匹配方法在审
申请号: | 201811019306.6 | 申请日: | 2018-09-03 |
公开(公告)号: | CN109376272A | 公开(公告)日: | 2019-02-22 |
发明(设计)人: | 朱静轩;方立权;卢志炜;孟彦 | 申请(专利权)人: | 中新网络信息安全股份有限公司 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/9032 |
代理公司: | 上海精晟知识产权代理有限公司 31253 | 代理人: | 冯子玲 |
地址: | 230088 安徽省合肥*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 字典树 匹配 字段 运算 查询成功 存储空间 节点参数 匹配成功 匹配过程 匹配技术 查询 树节点 空时 条边 填充 转化 占用 返回 转换 | ||
本发明涉及ip匹配技术领域,具体涉及一种基于字典树的ip匹配方法,包括转化格式:将字典树中的参数ip转化为0填充格式、建立Patricia树:建立后的Patricia树,每个节点最多有10条边,每个所述节点包含0‑9字符,每个所述节点含有参数prefix和mask字段、匹配ip:所述步骤2中的mask字段不为空时,表示该节点的参数prefix是mask字段的ip段,将需要进行匹配的待查询ip与该节点中的mask字段进行运算,若与该节点参数prefix一致,查询成功,即,匹配成功并返回。本发明将字典树中的参数IP转换成0格式的Ip段,再通过为patricaia树节点增加mask变量,通过转换成0格式的ip段与mask变量进行运算来实现ip段的匹配,使匹配过程更快捷,另外减少了字典树查询ip时占用的存储空间。
技术领域
本发明涉及ip匹配技术领域,具体涉及一种基于字典树的ip匹配方法。
背景技术
字典树,又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。
Trie最大的缺点是浪费空间。只有叶子节点存储了最终的数据。在多数情况下,整数Trie中有许多只包含一个孩子的节点。为了提高空间利用率,我们可以将一连串“独生子女”压缩成一个节点。Patricia就是这样的数据结构,由Donald R.Morrison在1968年提出。它本质上是一种前缀树。在ip匹配中,使用字典树可以达到常量级的查询速度,但是代价就是字典树所用空间过大,限制了它的应用。
发明内容
本发明的目的在于克服现有技术中存在的问题,提供一种基于字典树的ip匹配方法,它可以通过为patricaia树节点增加mask变量来实现ip段的匹配。
为实现上述技术目的,达到上述技术效果,本发明是通过以下技术方案实现的:
一种基于字典树的ip匹配方法,包括如下步骤:
步骤1、转化格式:将字典树中的参数ip转化为0填充格式;
步骤2、建立Patricia树:建立后的Patricia树,每个节点最多有10条边,每个所述节点包含0-9字符,每个所述节点含有参数prefix和mask字段;
步骤3、匹配ip:所述步骤2中的mask字段不为空时,表示该节点的参数prefix是mask字段的ip段,将需要进行匹配的待查询ip与该节点中的mask字段进行运算,若与该节点参数prefix一致,查询成功,即,匹配成功并返回。
进一步地,所述步骤1中,所述参数ip的前缀为转化后的ip的前缀,长度作为ip段范围。
本发明的有益效果:将字典树中的参数IP转换成0格式的Ip段,再通过为patricaia树节点增加mask变量,通过转换成0格式的ip段与mask变量进行运算来实现ip段的匹配,使匹配过程更快捷,另外减少了字典树查询ip时占用的存储空间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种基于字典树的ip匹配方法的流程示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中新网络信息安全股份有限公司,未经中新网络信息安全股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811019306.6/2.html,转载请声明来源钻瓜专利网。