技术新讯 > 电子通信装置的制造及其应用技术 > 基于循环流水线实现的多决策树灵活报文分类方法及设备  >  正文

基于循环流水线实现的多决策树灵活报文分类方法及设备

  • 国知局
  • 2024-08-30 15:05:24

本技术涉及数据处理,特别是涉及一种基于循环流水线实现的多决策树灵活报文分类方法及设备。

背景技术:

1、报文分类是计算机网络的基本问题,解决报文分类问题的算法被广泛应用到路由器、交换机、防火墙和网络入侵检测系统等各种网络设备和功能中。报文分类问题涉及一个规则集,其中每条规则有优先级、匹配域和成功匹配后采取的动作三部分组成。其中规则匹配域由报文头部元数据(如ip地址、端口号等)定义,确定一条规则如何匹配。报文分类问题是从规则集中寻找网络报文匹配的规则,并返回一条优先级最高的匹配规则。

2、现今基于硬件解决报文分类问题的方法有:决策树方法、元组空间方法以及比特向量方法等。其中决策树方法在支持大规模规则集、增量规则更新等方面具有优势,但是已有硬件架构面临着决策树硬件资源映射底效不灵活,从而导致硬件资源浪费的问题。

技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够提高硬件资源利用效率的基于循环流水线实现的多决策树灵活报文分类方法及设备。

2、一种基于循环流水线实现的多决策树灵活报文分类方法,所述方法包括:

3、获取由网络报文头部多个元数据域定义的规则集;根据规则集构造多棵决策树;决策树包括内部节点和叶节点;内部节点上根据分割方法进行子空间切割生成子节点,其中,包含规则数不大于预设阈值的子节点为叶节点;

4、将多棵决策树映射到硬件的多层流水线上,在多层流水线上对网络报文进行分类,首次进入流水线时以第一棵决策树的根节点为起始节点,对内部节点,根据网络报文的元数据域字段值索引子节点指针并进入流水线的下一级访存子节点;

5、对叶节点,从叶节点取规则链表的首地址,并在后续进入多级流水线链表后进行规则比较,若比较成功则记录更新当前最优匹配规则,否则不进行操作;

6、在多级流水线链表中匹配完毕之后,比较当前最优匹配规则与下一棵树的最优规则优先级,若当前最优匹配规则的优先级已高于下一棵树的最优规则优先级,则完成报文分类,当前最优匹配规则即为最优匹配规则,否则进入重新进入流水线头部,并以下一棵决策树的根节点为起始节点继续进行报文分类。

7、在其中一个实施例中,根据规则集构造多棵决策树,包括:

8、将规则集中的全部规则置于第一棵树的根节点中进行子空间切割并划分子节点,将仅映射到单个子空间的规则移动到对应的单个子节点中,而将能够映射到多个子空间的规则提取出来后续用于构建另一棵树;

9、对由根节点分割生成的子节点,若其包含规则数量大于预设阈值则继续按照根节点的方法进行分割,若其包含规则数量不大于预设阈值则该节点为叶节点且不再进行进一步分割;

10、当所有节点均为不包含规则的内部节点或包含规则数不大于预设阈值的叶节点,即完成第一棵决策树的构建,用提取出的规则按照第一棵树的构造流程开始构造第二棵树,当没有提取规则时,完成整个构建过程。

11、在其中一个实施例中,将多棵决策树映射到硬件的多层流水线上,包括:

12、将决策树的内部节点按层依次映射到流水线的各流水级上,若某一流水级存储资源耗尽无法完全容纳对应层决策树的内部节点,则将无法容纳的浅层决策树的内部节点通过引入流水级标识的方法映射到任意更深层流水级上;

13、将所有叶节点的规则统一映射到级数等于叶节点阈值的多级流水线链表中。

14、在其中一个实施例中,将无法容纳的浅层决策树节点通过引入流水级标识的方法映射到任意更深层流水级上,包括:

15、对一个内部节点进行匹配查找得到的每一个子节点索引同时包含一个流水级标识fid和一个存储指针ptr;

16、当在一个流水级上进行内部节点匹配后,索引得到的子节点fid和ptr随流水线数据流移动到下一个流水级;

17、在一个流水级上开始匹配时会判定当前流水级标识id是否等于输入fid,若等于则根据ptr取子节点进行节点匹配,否则不进行操作将输入直接传递给下一流水级。

18、在其中一个实施例中,将所有叶节点的规则统一映射到级数等于阈值的多级流水线链表中,包括:

19、叶节点的规则链表的多级流水线链表设置等于叶节点阈值且每级流水线设置相同最大规则容量;叶节点阈值表示叶节点所能容纳的最大规则数;

20、将叶节点的规则链表按照从前至后的顺序依次映射到每级流水线上,若出现浅层流水级容量已满情况,则采取与树节点映射相同的流水级标识方法将规则映射到任意更深层流水级。

21、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

22、获取由网络报文头部多个元数据域定义的规则集;根据规则集构造多棵决策树;决策树包括内部节点和叶节点;内部节点上根据分割方法进行子空间切割生成子节点,其中,包含规则数不大于预设阈值的子节点为叶节点;

23、将多棵决策树映射到硬件的多层流水线上,在多层流水线上对网络报文进行分类,首次进入流水线时以第一棵决策树的根节点为起始节点,对内部节点,根据网络报文的元数据域字段值索引子节点指针并进入流水线的下一级访存子节点;

24、对叶节点,从叶节点取规则链表的首地址,并在后续进入多级流水线链表后进行规则比较,若比较成功则记录更新当前最优匹配规则,否则不进行操作;

25、在多级流水线链表中匹配完毕之后,比较当前最优匹配规则与下一棵树的最优规则优先级,若当前最优匹配规则的优先级已高于下一棵树的最优规则优先级,则完成报文分类,当前最优匹配规则即为最优匹配规则,否则进入重新进入流水线头部,并以下一棵决策树的根节点为起始节点继续进行报文分类。

26、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

27、获取由网络报文头部多个元数据域定义的规则集;根据规则集构造多棵决策树;决策树包括内部节点和叶节点;内部节点上根据分割方法进行子空间切割生成子节点,其中,包含规则数不大于预设阈值的子节点为叶节点;

28、将多棵决策树映射到硬件的多层流水线上,在多层流水线上对网络报文进行分类,首次进入流水线时以第一棵决策树的根节点为起始节点,对内部节点,根据网络报文的元数据域字段值索引子节点指针并进入流水线的下一级访存子节点;

29、对叶节点,从叶节点取规则链表的首地址,并在后续进入多级流水线链表后进行规则比较,若比较成功则记录更新当前最优匹配规则,否则不进行操作;

30、在多级流水线链表中匹配完毕之后,比较当前最优匹配规则与下一棵树的最优规则优先级,若当前最优匹配规则的优先级已高于下一棵树的最优规则优先级,则完成报文分类,当前最优匹配规则即为最优匹配规则,否则进入重新进入流水线头部,并以下一棵决策树的根节点为起始节点继续进行报文分类。

31、上述基于循环流水线实现的多决策树灵活报文分类方法及设备,本技术通过根据网络报文头部多个元数据域定义的规则集自动构造多棵决策树,将多决策树统一映射到一条流水线上,浅层树节点通过流水级标识的方法可映射到任意深层流水级,规则链表统一映射到级数等于叶节点规则数阈值的流水线中,同样通过流水级标识实现浅层规则映射到任意更深层流水级存储;通过设计基于循环流水线的灵活决策树映射架构,通过应用循环流水线和流水级标识的方法,使得多决策树和规则链表能够在统一固定流水线上进行灵活映射,极大提高了硬件资源利用效率,可基于受限硬件资源支持更大规模规则集,同时减少增量规则更新失败的概率,提供更友好的增量更新能力。

本文地址:https://www.jishuxx.com/zhuanli/20240830/285452.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。