一种基于决策树的并行报文分类查找方法及系统技术方案

技术编号:34032593 阅读:45 留言:0更新日期:2022-07-06 11:30
本发明专利技术属于报文数据查找技术领域,提供了一种基于决策树的并行报文分类查找方法及系统。其中,该方法包括获取报文信息;采用多条流水线并行查找若干决策树,得到所述报文信息的类别;所述流水线包括决策树的树节点遍历流水线和报文分类规则并行匹配流水线;其中,所述决策树的构建过程为:基于报文字段的前缀长度彼此接近的规则属于同一子集原则,将报文规则集进行自适应分区,得到多个报文规则子集;基于多比特切割方法为每个报文规则子集构建一棵决策树。棵决策树。棵决策树。

A method and system of parallel message classification and search based on decision tree

【技术实现步骤摘要】
一种基于决策树的并行报文分类查找方法及系统


[0001]本专利技术属于报文数据查找
,尤其涉及一种基于决策树的并行报文分类查找方法及系统。

技术介绍

[0002]本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。
[0003]报文分类是许多网络服务的基础,在服务质量、策略路由、网络安全等服务中得到广泛应用。报文分类的速度和功能将直接影响这些服务的性能,对当前网络性能有关键影响,因此报文分类是当前网络研究的重要课题之一。报文分类的目标是根据预定义的规则列表和报文头部的特定字段值将报文分为不同的流,从而提供差异化的服务。
[0004]基于决策树的解决方案作为主流的报文分类技术得到了广泛研究。由于规则集复杂性的增加及规则集规模的扩大,设计高效的决策树算法非常具有挑战性,而专利技术人发现,已有的决策树算法并未在分类速度和内存开销之间取得较好折衷,且可扩展性较差,无法满足日益正常的网络带宽的需要。

技术实现思路

[0005]为了解决上述
技术介绍
中存在的技术问题,本专利技术提供一种基于决策树的并行报文分类查找方法及系统,其能够提升报文分类速度,并且能支持大规模的规则集。
[0006]为了实现上述目的,本专利技术采用如下技术方案:
[0007]本专利技术的第一个方面提供一种基于决策树的并行报文分类查找方法,其包括:
[0008]获取报文信息;
[0009]采用多条流水线并行查找若干决策树,得到所述报文信息的类别;所述流水线包括决策树的树节点遍历流水线和报文分类规则并行匹配流水线;
[0010]其中,所述决策树的构建过程为:
[0011]基于报文字段的前缀长度彼此接近的规则属于同一子集原则,将报文规则集进行自适应分区,得到多个报文规则子集;
[0012]基于多比特切割方法为每个报文规则子集构建一棵决策树。
[0013]本专利技术的第二个方面提供一种基于决策树的并行报文分类查找系统,其包括:
[0014]报文信息获取模块,其用于获取报文信息;
[0015]报文信息分类模块,其用于采用多条流水线并行查找若干决策树,得到所述报文信息的类别;所述流水线包括决策树的树节点遍历流水线和报文分类规则并行匹配流水线;
[0016]其中,所述决策树的构建过程为:
[0017]基于报文字段的前缀长度彼此接近的规则属于同一子集原则,将报文规则集进行自适应分区,得到多个报文规则子集;
[0018]基于多比特切割方法为每个报文规则子集构建一棵决策树。
[0019]本专利技术的第三个方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的基于决策树的并行报文分类查找方法中的步骤。
[0020]本专利技术的第四个方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于决策树的并行报文分类查找方法中的步骤。
[0021]与现有技术相比,本专利技术的有益效果是:
[0022]本专利技术的基于决策树的并行报文分类查找方法采用多条流水线并行查找若干决策树,得到所述报文信息的类别;其中,流水线包括决策树的树节点遍历流水线和报文分类规则并行匹配流水线,进一步提升了报文分类的速度,降低了并行分类查找方法的内存消耗。
[0023]本专利技术在决策树的构建过程中,基于报文字段的前缀长度彼此接近的规则属于同一子集原则,将报文规则集进行自适应分区,得到多个报文规则子集;基于多比特切割方法为每个报文规则子集构建一棵决策树,使得并行分类查找方法具有良好的可扩展性,能支持较大规模的规则集。
[0024]本专利技术附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0025]构成本专利技术的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。
[0026]图1为本专利技术实施例的基于决策树的并行报文分类查找方法的总体流程图;
[0027]图2为本专利技术实施例的决策树构建算法的框架示意图;
[0028]图3为基于决策树的并行报文分类查找硬件实现示意图;
[0029]图4为本专利技术实施例的规则集的源I本专利技术实施例的P地址前缀长度分布规律;
[0030]图5为本专利技术实施例的规则集的目的IP地址前缀长度分布规律;
[0031]图6为本专利技术实施例的基于决策树的并行报文分类查找系统结构示意图。
具体实施方式
[0032]下面结合附图与实施例对本专利技术作进一步说明。
[0033]应该指出,以下详细说明都是例示性的,旨在对本专利技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本专利技术所属
的普通技术人员通常理解的相同含义。
[0034]需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本专利技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0035]实施例一
[0036]如图1所示,本实施例提供了一种基于决策树的并行报文分类查找方法,其具体包
括如下步骤:
[0037]S101:获取报文信息。
[0038]S102:遍历查找预先构建的若干决策树,得到所述报文信息的类别。
[0039]其中,在步骤S102中,如图2所示,所述决策树的构建过程为:
[0040]S1021:基于报文字段的前缀长度彼此接近的规则属于同一子集原则,将报文规则集进行自适应分区,得到多个报文规则子集。
[0041]具体地,自适应规则集分区:基于对规则集几何分布特征的观察结果,选择一些适当的字段作为规则集分区的基础。然后使用聚类算法K

means实现快速自适应的规则集分区,从而获得多个子集,其中字段的前缀长度彼此接近的规则属于同一子集。因为设置了理想的初始聚类数量和中心点,因此仅需有限的几次迭代就能完成聚类,聚类的迭代次数和时间开销都非常低。
[0042]规则集分布具有一定的几何特征,利用这些特征有助于构建性能更优的决策树,提升算法的性能。分别对ACL、FW和IPC类型规则集进行统计分析,结果如图4和图5所示。
[0043](1)IP地址字段。IP地址字段属于前缀匹配,其中前缀长度倾向于边缘分布,即位于0或32附近,且前缀长度取值在24以上的占很大比例。因此IP地址前缀长度是非均匀分布的,前缀长度较长的规则数占较大比例。
[0044]从图4可以看出源IP与目的IP地址的联合分布与单个IP地址分布具有类似特点,即大部分规则前缀集中在一个小范围内。
[0045](2)端口字段本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于决策树的并行报文分类查找方法,其特征在于,包括:获取报文信息;遍历查找预先构建的若干决策树,得到所述报文信息的类别;其中,所述决策树的构建过程为:基于报文字段的前缀长度彼此接近的规则属于同一子集原则,将报文规则集进行自适应分区,得到多个报文规则子集;基于多比特切割方法为每个报文规则子集构建一棵决策树。2.如权利要求1所述的基于决策树的并行报文分类查找方法,其特征在于,基于多比特切割方法为每个报文规则子集构建一棵决策树的过程为:对报文信息中的IP地址前缀超过设定长度的子集,使用规则中的有效比特将规则分离到不同的树节点中;再判断此时树节点内规则数量是否不大于预定于的阈值或此时规则不可再分离,若是则构造叶节点,否则重复比特选择过程,最终构建层次化的决策树。3.如权利要求1所述的基于决策树的并行报文分类查找方法,其特征在于,采用多条流水线并行查找若干决策树,所述流水线包括决策树的树节点遍历流水线和报文分类规则并行匹配流水线。4.如权利要求1所述的基于决策树的并行报文分类查找方法,其特征在于,在遍历若干决策树的过程中,从决策树的根节点开始遍历,经过中间节点到达叶节点,在叶节点处使用线性搜索来查找报文匹配的规则;在遍历完一棵树之后,将继续遍历剩余的决策树。5.如权利要求4所述的基于决策树的并行报文分类查找方法,其特征在于,为每棵树引入一个优先级,该值设置为树中包含的所有规则的最大优先级;在查找时,如果已匹配规则的优先级大于该决策树的优先级,则跳过该树。6.如权利要求1所述的基于决策树的并行报文分类查找方法,其特征在于,在基于报文...

【专利技术属性】
技术研发人员:吕高锋谭靖毛席龙李韬赵国鸿杨惠刘汝霖李存禄莫露莎
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

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

1