一种基于字典树的ip匹配方法与流程

文档序号:16931717发布日期:2019-02-22 20:20阅读:977来源:国知局
一种基于字典树的ip匹配方法与流程

本发明涉及ip匹配技术领域,具体涉及一种基于字典树的ip匹配方法。



背景技术:

字典树,又称单词查找树,trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。

trie最大的缺点是浪费空间。只有叶子节点存储了最终的数据。在多数情况下,整数trie中有许多只包含一个孩子的节点。为了提高空间利用率,我们可以将一连串“独生子女”压缩成一个节点。patricia就是这样的数据结构,由donaldr.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匹配方法的流程示意图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面对结合附图说明,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

一种基于字典树的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段。

以下通过实例说明本发明的使用过程:

待查询ip:10.20.168.60,通过所述步骤1转换格式后,转化后为010020168060,将此转换后的ip标记为p;

在所述步骤3匹配ip中,查询时根据0前缀查找对应的0开头边str1;

若mask为空,str1为p的前缀则继续沿着0往下查找,相等则查询成功,若不是则查询失败;

若mask不为空,则将p与mask(比如为8)运算得到01002016,将其与prefix比较是否相等,若相等则可提前成功结束。

其中ip段与mask即掩码,运算为现有技术,此处不在叙述。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。



技术特征:

技术总结
本发明涉及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时占用的存储空间。

技术研发人员:朱静轩;方立权;卢志炜;孟彦
受保护的技术使用者:中新网络信息安全股份有限公司
技术研发日:2018.09.03
技术公布日:2019.02.22
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1