CN113762424A - 比特选位决策树的均衡方法、网络包分类方法及相关装置 - Google Patents
比特选位决策树的均衡方法、网络包分类方法及相关装置 Download PDFInfo
- Publication number
- CN113762424A CN113762424A CN202111316999.7A CN202111316999A CN113762424A CN 113762424 A CN113762424 A CN 113762424A CN 202111316999 A CN202111316999 A CN 202111316999A CN 113762424 A CN113762424 A CN 113762424A
- Authority
- CN
- China
- Prior art keywords
- rule set
- classification rule
- decision tree
- target classification
- candidate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种比特选位决策树的均衡方法、网络包分类方法及相关装置,方法包括确定目标分类规则集的选位比特数;基于选位比特数对目标分类规则集建立候选决策树;对候选决策树中的各大叶节点进行筛选,以得到目标分类规则集对应的决策树及参考分类规则集;将参考分类规则集作为目标分类规则集并继续执行建立候选决策树的步骤直至候选决策树未包括大叶节点,以得到目标分类规则集的若干决策树。本申请通过对大叶节点进行统计,并对大叶节点包括的分类规则进行汇总及以递归的方法建立若干决策树直到所有的决策树都不存在大叶节点,这样可以使得每个决策树内的分类规则都分布均匀,减小决策树的搜索延迟,进而可以提高网络包的分类速度。
Description
技术领域
本申请涉及网络技术领域,特别涉及一种比特选位决策树的均衡方法、网络包分类方法及相关装置。
背景技术
网络包分类可以理解为根据配置的分类规则,对网络包包头中各个不同字段的值进行处理,得到匹配的分类规则,并执行该分类规则配置的操作动作。许多网络设备提供的诸如访问控制、流量控制、负载均衡、入侵检测等功能均需要用到网络包分类。目前常用的网络包分类方法是基于决策树进行网络包分类的,决策树是根据预设的分类规则集生成描述网络包分类过程的一种数据结构,当网络设备接收到网络包时,将按照决策树限定的分类过程最终找到与网络包匹配的分类规则,并按照分类规则中的操作动作对网络包进行处理,比如,丢弃网络包或者接受网络包等。
目前的问题是,在生成上述决策树的过程中可能会出现分类规则复制现象,即某个分类规则被复制到多个子空间。为了避免分类规则复制现象,会在分类规则的有效前缀中进行选位,然而这样会导致节点的多条具有相同前缀的分类规则无法继续划分,进而导致分类规则在决策树中的分布不均匀,这样就会出现节点内部搜索延迟过高的问题,进而影响网络包的分类速度。
因而现有技术还有待改进和提高。
发明内容
本申请要解决的技术问题在于,针对现有技术的不足,提供一种比特选位决策树的均衡方法、网络包分类方法及相关装置。
为了解决上述技术问题,本申请实施例第一方面提供了一种比特选位决策树的均衡方法,所述方法包括:
获取目标分类规则集,并确定所述目标分类规则集对应的选位比特数;
基于所述选位比特数通过离散比特选位方式,对所述目标分类规则集建立候选决策树;
当所述候选决策树包括大叶节点时,对候选决策树中的各大叶节点进行筛选,以得到目标分类规则集对应的决策树及参考分类规则集,其中,所述大叶节点中的分类规则的规则数量大于预设数量;
将所述参考分类规则集作为目标分类规则集,并继续执行基于所述选位比特数通过离散比特选位方式对所述目标分类规则集建立候选决策树的步骤,直至所述候选决策树未包括大叶节点,以得到所述目标分类规则集对应的若干决策树。
所述比特选位决策树的均衡方法,其中,所述若干决策树中的各决策树的叶节点所包含的分类规则数量均不大于预设数量。
所述比特选位决策树的均衡方法,其中,所述当所述候选决策树包括大叶节点时,对候选决策树中的各大叶节点进行筛选,以得到目标分类规则集对应的决策树及参考分类规则集具体包括:
当所述候选决策树包括大叶节点时,选取所述候选决策树中的大叶节点;
按照优先级从高到低的顺序在大叶节点包括的分类规则中选取预设数量的目标分类规则;
将选取到预设数量的目标分类规则作为大叶节点对应的分类规则以优化候选决策树,并将优化后的候选决策树作为所述目标分类规则集的一决策树;
将大叶节点中未被选取的分类规则添加到预设分类规则集中,以得到参考分类规则集。
所述的比特选位决策树的均衡方法,其中,所述参考分类规则集包含于所述目标分类规则集中,并且所述参考分类规则集中的任一分类规则均未包含于任一决策树中。
所述比特选位决策树的均衡方法,其中,所述确定所述目标分类规则集对应的选位比特数之前,所述方法还包括:
分别将所述目标分类规则集中的各分类规则各自对应的有效前缀长度与预设长度阈值进行比较,以得到有效前缀长度小于预设长度阈值的候选分类规则;
将得到的所有候选分类规则从所述目标分类规则集中去除,并将去除后的目标分类规则集作为目标分类规则集。
所述比特选位决策树的均衡方法,其中,所述确定所述目标分类规则集对应的选位比特数具体为:
选取所述目标分类规则集中各分类规则的最大公共有效前缀长度,并将所述最大公共有效前缀长度作为选位比特数。
本申请实施例第二方面提供了一种网络包分类方法,所述方法应用如上所述的比特选位决策树的均衡方法构建目标分类规则集对应的若干决策树;所述方法包括:
当接收到网络包时,遍历所述目标分类规则集对应的若干决策树中的每个决策树,以得到所述网络包所匹配的分类规则。
本申请实施例第三方面提供了一种比特选位决策树的均衡装置,所述的均衡装置包括:
确定模块,用于获取目标分类规则集,并确定所述目标分类规则集对应的选位比特数;
建立模块,用于基于所述选位比特数通过离散比特选位方式,对所述目标分类规则集建立候选决策树;
筛选模块,用于当所述候选决策树包括大叶节点时,对候选决策树中的各大叶节点进行筛选,以得到目标分类规则集对应的决策树及参考分类规则集,其中,所述大叶节点中的分类规则的规则数量大于预设数量;
执行模块,用于将所述参考分类规则集作为目标分类规则集,并继续执行基于所述选位比特数通过离散比特选位方式对所述目标分类规则集建立候选决策树的步骤,直至所述候选决策树未包括大叶节点,以得到所述目标分类规则集对应的若干决策树。
本申请实施例第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的比特选位决策树的均衡方法中的步骤,和/或以实现如上所述的网络包分类方法的步骤。
本申请实施例第五方面提供了一种终端设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如上所述的比特选位决策树的均衡方法中的步骤,和/或实现如上所述的网络包分类方法的步骤。
有益效果:与现有技术相比,本申请提供了一种比特选位决策树的均衡方法、网络包分类方法及相关装置,方法包括获取目标分类规则集并确定所述目标分类规则集对应的选位比特数;基于所述选位比特数通过离散比特选位方式对所述目标分类规则集建立候选决策树;当所述候选决策树包括大叶节点时,对候选决策树中的各大叶节点进行筛选,以得到目标分类规则集对应的决策树及参考分类规则集;将所述参考分类规则集作为目标分类规则集,并继续执行基于所述选位比特数通过离散比特选位方式对所述目标分类规则集建立候选决策树的步骤,直至所述候选决策树未包括大叶节点,以得到所述目标分类规则集对应的若干决策树。本申请通过对大叶节点进行统计,并对大叶节点包括的分类规则进行汇总并以递归的方法建立若干决策树直到所有的决策树都不存在大叶节点,这样可以使得每个决策树内的分类规则都分布均匀,减小每个决策树的搜索延迟,进而可以提高网络包的分类速度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员而言,在不符创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的比特选位决策树的均衡方法的流程图。
图2为本申请提供的比特选位决策树的均衡方法的流程示例图。
图3为本申请提供的比特选位决策树的均衡方法中一包括大叶节点的候选决策树的示意图。
图4为对图3所述的候选决策树中的大叶节点进行筛选所得到的决策树的示意图。
图5为本申请提供的比特选位决策树的均衡方法中一包括大叶节点的候选决策树的示意图。
图6为对图5所述的候选决策树中的大叶节点进行筛选所得到的决策树的示意图。
图7为本申请提供的比特选位决策树的均衡方法中一决策树的示意图。
图8为本申请提供的比特选位决策树的均衡装置的结构原理图。
图9为本申请提供的终端设备的结构原理图。
具体实施方式
本申请提供一种比特选位决策树的均衡方法、网络包分类方法及相关装置,为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
应理解,本实施例中各步骤的序号和大小并不意味着执行顺序的先后,各过程的执行顺序以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
发明人经过研究发现,网络包分类可以理解为根据配置的分类规则,对网络包包头中各个不同字段的值进行处理,得到匹配的分类规则,并执行该分类规则配置的操作动作。许多网络设备提供的诸如访问控制、流量控制、负载均衡、入侵检测等功能均需要用到网络包分类。目前常用的网络包分类方法是基于决策树进行网络包分类的,决策树是根据预设的分类规则集生成描述网络包分类过程的一种数据结构,当网络设备接收到网络包时,将按照决策树限定的分类过程最终找到与网络包匹配的分类规则,并按照分类规则中的操作动作对网络包进行处理,比如,丢弃网络包或者接受网络包等。
目前的问题是,在生成上述决策树的过程中可能会出现分类规则复制现象,即某个分类规则被复制到多个子空间。为了避免分类规则复制现象,会在分类规则的有效前缀中进行选位,然而这样会导致节点的多条具有相同前缀的分类规则无法继续划分,进而导致分类规则在决策树中的分布不均匀,这样就会出现节点内部搜索延迟过高的问题,进而影响网络包的分类速度。
为了解决上述问题,在本申请实施例中,获取目标分类规则集并确定所述目标分类规则集对应的选位比特数;基于所述选位比特数通过离散比特选位方式对所述目标分类规则集建立候选决策树;当所述候选决策树包括大叶节点时,对候选决策树中的各大叶节点进行筛选,以得到目标分类规则集对应的决策树及参考分类规则集;将所述参考分类规则集作为目标分类规则集,并继续执行基于所述选位比特数通过离散比特选位方式对所述目标分类规则集建立候选决策树的步骤,直至所述候选决策树未包括大叶节点,以得到所述目标分类规则集对应的若干决策树。本申请通过对大叶节点进行统计,对大叶节点包括的分类规则进行汇总并以递归的方法建立若干决策树直到所有的决策树都不存在大叶节点,这样可以使得每个决策树内的分类规则都分布均匀,减小每个决策树的搜索延迟,进而可以提高网络包的分类速度。
下面结合附图,通过对实施例的描述,对申请内容作进一步说明。
本实施例提供了一种比特选位决策树的均衡方法,如图1和图2所示,所述方法包括:
S10、获取目标分类规则集,并确定所述目标分类规则集对应的选位比特数。
具体地,目标分类规则集包括若干分类规则,若干分类规则均可以包括维度信息、匹配结果以及优先级,其中,每个维度信息是一个取值范围,例如,源IP地址等;匹配结果为匹配到该分类规则后需要返回的结果,优先级为当多条分类规则满足匹配条件时,用于决定返回哪一条分类规则的匹配结果,如,返回优先级最高的分类规则等。例如,目标分类规则集可以如表1所示。
表1 目标分类规则集
分类规则 | 优先级 | 源IP地址域 | 源IP地址域bit | 动作 |
R<sub>1</sub> | 15 | 251.0.0.0/8 | 11111011************************ | 动作1 |
R<sub>2</sub> | 14 | 153.128.0.0/9 | 100110011*********************** | 动作2 |
R<sub>3</sub> | 13 | 146.0.0.0/8 | 10010010************************ | 动作3 |
R<sub>4</sub> | 12 | 109.192.0.0/10 | 0110110111********************** | 动作4 |
R<sub>5</sub> | 11 | 12.0.0.0/8 | 00001100************************ | 动作5 |
R<sub>6</sub> | 10 | 116.0.0.0/7 | 0111010************************* | 动作6 |
R<sub>7</sub> | 9 | 214.0.0.0/7 | 1101011************************* | 动作7 |
R<sub>8</sub> | 8 | 160.0.0.0/5 | 10100*************************** | 动作8 |
R<sub>9</sub> | 7 | 64.0.0.0/5 | 01000*************************** | 动作9 |
R<sub>10</sub> | 6 | 80.0.0.0/4 | 0101**************************** | 动作10 |
R<sub>11</sub> | 5 | 48.0.0.0/4 | 0011**************************** | 动作11 |
R<sub>12</sub> | 4 | 96.0.0.0/4 | 0110**************************** | 动作12 |
R<sub>13</sub> | 3 | 32.0.0.0/3 | 001***************************** | 动作13 |
R<sub>14</sub> | 2 | 32.0.0.0/3 | 001***************************** | 动作14 |
R<sub>15</sub> | 1 | 224.0.0.0/3 | 111***************************** | 动作15 |
此外,在表1中,*为通配符,例如,001*****************************,其除了001外其余字符均为通配符。
在获取到目标分类规则集后,选择目标分类规则集中进行空间划分的域(即,目标分类规则集中进行空间划分的维度),其中,进行空间划分的域可以采用现有的选域方法进行,这里就不具体说明。例如,在如表1所示的目标分类规则集中选取源IP地址域作为空间划分的域等。此外,在确定了进行空间划分的域后,在确定的域上选取选位比特数,其中,选位比特数为可以用于进行选位的比特个数。
在本实施例的一个实现方式中,所述确定所述目标分类规则集对应的选位比特数具体为:
选取所述目标分类规则集中各分类规则的最大公共有效前缀长度,并将所述最大公共有效前缀长度作为选位比特数。
具体地,有效前缀指的是去除通配符外的字符,例如,如表1所示的目标分类规则集中的进行空间划分的域为源IP地址域,那么分类规则R1的有效前缀为11111011。最大公共有效前缀长度指的是目标分类规则集中的各分类规则的公共有效前缀所占比特位的最小值,也就是说,各分类规则至少包括最大公共有效前缀长度的有效前缀。例如,如表1所示的目标分类规则集中的进行空间划分的域为源IP地址域时,最大公共有效前缀长度为3bit。此外,在确定最大公共有效前缀长度后,将最大公共有效前缀长度作为选位比特数,这可以避免出现一个规则跨越多个子空间的现象,进而可以避免分类规则复制的问题。
在本实施例的一个实现方式中,由于目标分类集中可能存在具有有效前缀少的分类规则,例如,具有仅具有1bit有效前缀的分类规则等,从而在确定目标分类规则集对应的选位比特数之前,可以先对目标分类规则集进行过滤,以去除有效前缀的比特位不满足要求的分类规则。相应的,所述确定所述目标分类规则集对应的选位比特数之前,所述方法还包括:
分别将所述目标分类规则集中的各分类规则各自对应的有效前缀长度与预设长度阈值进行比较,以得到有效前缀长度小于预设长度阈值的候选分类规则;
将得到的所有候选分类规则从所述目标分类规则集中去除,并将去除后的目标分类规则集作为目标分类规则集。
具体地,所述预设长度阈值为预先设置的,用于对目标分类规则进行筛选,其中,预设长度阈值可以根据实际需求设定。当然,在实际应用中,也可以根据目标分类规则集可被筛选掉的分类规则的数量而确定,以使得基于预设长度阈值对目标分类规则集进行筛选时,被筛选掉的分类规则的数量为小于可被筛选掉的分类规则的数量中的最大数量。例如,如表1所述的目标分类规则集,可被筛选掉的分类规则的数量为4,那么预设长度阈值可以为4,当预设长度阈值为4时,目标分类规则集中被筛选掉的分类规则的数量为3,3小于4,而当预设长度阈值为5时,目标分类规则集中被筛选掉的分类规则的数量为6,6大于4。此外,值得说明的是,目标分类规则集中被去除的分类规则仅是不用于建立候选决策树,而在后续网络包分类时,与会在被去除的分类规则中搜索网络包匹配的分类规则,例如,逐一比较等。
S20、基于所述选位比特数通过离散比特选位方式,对所述目标分类规则集建立候选决策树。
具体地,在确定选位比特数后,按照从前向后的方式确定每个分类规则对应的字符串,然后通过离散比特选位方式确定第一级的选位位置,并基于第一级的选位位置来确定各分类规则各自对应的分类字符;并基于各分类规则各自对应的分类字符构建第一级节点,然后在未被选取的比特位中选取第二级的选位位置,依次类推直至所有选位位置均被选取到,以得到目标分类规则集对应的一候选决策树。其中,选位位置的选取方式可以采用现有方式,这里就不具体说明。
举例说明:目标分类规则集为如表1所示的分类规则集,进行空间划分的域为源IP地址域,选位比特数为3bit,第一级选择第2、3比特位进行空间划分,分出4个树节点(子空间),第2、3比特位为00、01、10、11的规则分别划入四个子空间中;所有节点内部的规则数大于预设数量binth,此级的节点都为中间节点,第二级选择第1位进行划分,每个上层节点又分为两个节点,由于没有更多的前缀有效位实现进一步划分,此级的节点都为叶节点,得到如图3所示的候选决策树。
S30、当所述候选决策树包括大叶节点时,对候选决策树中的各大叶节点进行筛选,以得到目标分类规则集对应的决策树及参考分类规则集。
具体地,所述参考分类规则集包含于所述目标分类规则集中,并且所述参考分类规则集中的任一分类规则均未包含于任一决策树中。也就是说,参考分类规则集中的每个分类规则还未被包含于决策树内。所述大叶节点中的分类规则的规则数量大于预设数量,其中,预设数量为预先设置的,用于限定每个正常叶节点至多包括的分类规则数量。可以理解的是,步骤S20中建立的候选决策树中每个正常叶节点均至多包括预设数量的分类规则,而包含分类规则的规则数量大于预设数量的叶节点不是正常叶节点,而是需要被筛选的大叶节点。然而,对于存在大叶节点(大叶节点包括的多于预设数量的分类规则的)的候选决策树,当网络包通过该候选决策树搜索匹配分类规则时,会需要遍历大叶节点中的每个分类规则,这样就会影响网络包的搜索效率,进而影响网络包的分类速度。例如,如图3所示的候选决策树中,当一个包头域为<01111>的网络包进行匹配时,首先取第2、3比特位11,进入一级第4个节点,之后取第一位0,进入叶节点(R4,R6,R12),则需要遍历三条规则匹配到R12。
基于此,在建立候选决策树之后,检测候选决策树中是否存在大叶节点,当未存在大叶节点时完成决策树建立;当存在大叶节点时,选取候选决策树中的所有大叶节点,并对选取到的所有大叶节点进行筛选以使得每个大叶节点中均包含至多预设数量的分类规则,进而使得筛选后的候选决策树中的每个叶节点均至多包含有预设数量的分类规则。此外,将被筛选出来的分类规则放在参考分类规则集,以便于后续基于该参考分类规则集再次建立候选决策树。
在本实施例的一个实现方式中,所述当所述候选决策树包括大叶节点时,对候选决策树中的各大叶节点进行筛选,以得到目标分类规则集对应的决策树及参考分类规则集具体包括:
当所述候选决策树包括大叶节点时,选取所述候选决策树中的大叶节点;
按照优先级从高到低的顺序在大叶节点包括的分类规则中选取预设数量的目标分类规则;
将选取到预设数量的目标分类规则作为大叶节点对应的分类规则以优化候选决策树,并将优化后的候选决策树作为所述目标分类规则集的一决策树;
将大叶节点中未被选取的分类规则添加到预设分类规则集中,以得到参考分类规则集。
具体地,所述选取所述候选决策树中的各大叶节点指的是选取候选决策树中所有包含分类规则的规则数量大于预设数量的叶节点,例如,如图3所示的候选决策树,假设预设数量为1,那么选取到的大叶节点包括叶节点(R2,R3),叶节点(R11,R13,R14),叶节点(R9,R10),叶节点(R4,R6,R12)以及叶节点(R1,R15)。此外,在获取到各大叶节点后,按照优先级从高到低的顺序从各分类规则集中选取预设数量的目标分类规则,将各大叶节点中选取到的目标分类规则作为该大叶节点包含的分类规则以优化候选决策树,并将优化后的候选决策树作为所述目标分类规则集的一决策树,并将各大叶节点未被选取的分类规则添加到预设规则集中,以得到参考分类规则集,其中,参考分类规则集仅包括各大叶节点中未被选取的分类规则。例如,假设预设数量为1,在如表1所示的目标分类规则集建立得到的如图3所示的候选决策树中,对于叶节点(R2,R3),按照表1所示的优先级关系可以知道R2的优先级高于R3优先级,从而将R2作为该叶节点包括的分类规则,将R3放入预设分类规则集内。由此,按照表1所示的优先级关系对如图3所示的候选决策树中的各大叶节点进行筛选后,可得到如图4所示的决策树,以及包括R3,R6,R10,R12,R13,R14以及R15的参考分类规则集。
S40、将所述参考分类规则集作为目标分类规则集,并继续执行基于所述选位比特数通过离散比特选位方式对所述目标分类规则集建立候选决策树的步骤,直至所述候选决策树未包括大叶节点,以得到所述目标分类规则集对应的若干决策树。
具体地,所述若干决策树中的各决策树的叶节点所包含的分类规则数量均不大于预设数量,例如,当预设数量为1时,各决策树的叶节点所包含的分类规则的规则数量均等于1,当预设数量为2时,各决策树的叶节点中可以存在部分叶节点包含的分类规则的规则数量为1,部分叶节点包含的分类规则的规则数量为2,当然,各决策树的叶节点包含的分类规则的规则数量也可以均等于2。此外,在对目标分类规则集进行一次建立候选决策树后,得到未包含于决策树内的分类规则构成的参考分类规则集,然后对参考分类规则集建立候选决策树,也就是说,将参考分类规则集作为目标分类规则集再建立候选决策树。其中,参考分类规则集建立候选决策树的方式与目标分类规则集第一次建立候选决策树的方式相同,这样可以减少决策树建立过程的复杂性。此外,在实际应用中,在对参考分类规则集建立候选决策树时,在通过离散比特选位方式对所述目标分类规则集建立候选决策树的步骤时,候选决策树每级节点选取的比特位可以不同,例如,目标分类规则集第一次建立候选决策树时,第一级节点选2,3比特位,第二级节点选1比特位;参考分类规则集作为目标分类规则集时,第一级节点选1,2比特位,第二级节点选3比特位等。
举例说明:目标分类规则集为如1所示的分类规则集,进行空间划分的域为源IP地址域,选位比特数为3bit,预设数量binth为1。
首先,第一级选择第2、3比特位进行空间划分,分出4个树节点(子空间),第2、3比特位为00、01、10、11的规则分别划入四个子空间中;所有节点内部的规则数均大于预设数量binth,此级的节点都为中间节点,第二级选择第1位进行划分,每个上层节点又分为两个节点,由于没有更多的前缀有效位实现进一步划分,此级的节点都为叶节点可得到如图3所示的决策树,然后对图3所示的决策树中的大叶节点进行筛选,可得到如图4所示的决策树以及包括R3,R6,R10,R12,R13,R14以及R15的参考分类规则集。
其次,将参考分类规则集作为目标分类规则集,第一级选择第2、3比特位进行空间划分,分出4个树节点(子空间),第2、3比特位为00、01、10、11的规则分别划入四个子空间中;存在包括分类规则的规则数量大于预设数量binth的叶节点,此级的节点都为中间节点,第二级选择第1位进行划分,第四中间节点分为两个节点,由于没有更多的前缀有效位实现进一步划分,此级的节点都为叶节点,可得到如图5所示的决策树,然后对图5所示的决策树中的大叶节点进行筛选,可得到如图6所示的决策树以及包括R12和R14的参考分类规则集。
最后,将包括R12和R14的参考分类规则集作为目标分类集,第一级选择第2、3比特位进行空间划分,分出4个树节点(子空间),第2、3比特位为00、01、10、11的规则分别划入四个子空间中;包括分类规则的叶节点的分类规则数均等于预设数量binth,从而得到如图7所示的决策树,进而得到目标分类规则集对应的如图4所示的决策树,如图6所示的决策树以及如图7所示的决策树。
综上所述,本实施例提供了一种比特选位决策树的均衡方法,所述方法包括获取目标分类规则集并确定所述目标分类规则集对应的选位比特数;基于所述选位比特数通过离散比特选位方式对所述目标分类规则集建立候选决策树;当所述候选决策树包括大叶节点时,对候选决策树中的各大叶节点进行筛选,以得到目标分类规则集对应的决策树及参考分类规则集;将所述参考分类规则集作为目标分类规则集,并继续执行基于所述选位比特数通过离散比特选位方式对所述目标分类规则集建立候选决策树的步骤,直至所述候选决策树未包括大叶节点,以得到所述目标分类规则集对应的若干决策树。本申请通过对大叶节点进行统计,并对大叶节点包括的分类规则进行汇总并以递归的方法建立若干决策树直到所有的决策树都不存在大叶节点,这样可以使得每个决策树内的分类规则都分布均匀,减小每个决策树的搜索延迟,进而可以提高网络包的分类速度。
基于上述比特选位决策树的均衡方法,本实施例提供了一种比特选位决策树的均衡装置,如图8所示,所述的均衡装置包括:
确定模块100,用于获取目标分类规则集,并确定所述目标分类规则集对应的选位比特数;
建立模块200,用于基于所述选位比特数通过离散比特选位方式,对所述目标分类规则集建立候选决策树;
筛选模块300,用于当所述候选决策树包括大叶节点时,对候选决策树中的各大叶节点进行筛选,以得到目标分类规则集对应的决策树及参考分类规则集,其中,所述大叶节点中的分类规则的规则数量大于预设数量;
执行模块400,用于将所述参考分类规则集作为目标分类规则集,并继续执行基于所述选位比特数通过离散比特选位方式对所述目标分类规则集建立候选决策树的步骤,直至所述候选决策树未包括大叶节点以得到所述目标分类规则集对应的若干决策树。
基于上述比特选位决策树的均衡方法,本实施例提供了一种网络包分类方法,所述方法应用上述实施例所述的比特选位决策树的均衡方法构建目标规则集对应的若干决策树;所述方法包括:
当接收到网络包时,遍历所述目标分类规则集对应的若干决策树中的每个决策树,以得到所述网络包所匹配的分类规则。
具体地,当接收到网络包时,基于网络包包头中的字符段通过遍历目标分类规则集对应的每个决策树,得到网络包匹配的分类规则,以便于执行该分类规则配置的操作动作。可以理解的是,在对网络包进行分类时,由于目标分类规则集对应的每个决策树均不包括大叶节点,这样在通过同时遍历目标分类规则集对应的每个决策树来确定网络包匹配的分类规则时,可以提高网络包的匹配速度,进而可以提高网络包的分类速度。
基于上述比特选位决策树的均衡方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的比特选位决策树的均衡方法中的步骤。
基于上述比特选位决策树的均衡方法,本申请还提供了一种终端设备,如图9所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述存储介质以及终端设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种比特选位决策树的均衡方法,其特征在于,所述方法包括:
获取目标分类规则集,并确定所述目标分类规则集对应的选位比特数;
基于所述选位比特数通过离散比特选位方式,对所述目标分类规则集建立候选决策树;
当所述候选决策树包括大叶节点时,对候选决策树中的各大叶节点进行筛选,以得到所述目标分类规则集对应的决策树及参考分类规则集,其中,所述大叶节点中的分类规则的规则数量大于预设数量;
将所述参考分类规则集作为目标分类规则集,并继续执行基于所述选位比特数通过离散比特选位方式对目标分类规则集建立候选决策树的步骤,直至所述候选决策树未包括大叶节点以得到所述目标分类规则集对应的若干决策树。
2.根据权利要求1所述比特选位决策树的均衡方法,其特征在于,所述若干决策树中的各决策树的叶节点所包含的分类规则数量均不大于预设数量。
3.根据权利要求1所述比特选位决策树的均衡方法,其特征在于,所述当所述候选决策树包括大叶节点时,对候选决策树中的各大叶节点进行筛选,以得到目标分类规则集对应的决策树及参考分类规则集具体包括:
当所述候选决策树包括大叶节点时,选取所述候选决策树中的大叶节点;
按照优先级从高到低的顺序在大叶节点包括的分类规则中选取预设数量的目标分类规则;
将选取到预设数量的目标分类规则作为大叶节点对应的分类规则以优化候选决策树,并将优化后的候选决策树作为所述目标分类规则集的一决策树;
将大叶节点中未被选取的分类规则添加到预设分类规则集中,以得到参考分类规则集。
4.根据权利要求1-3任一所述的比特选位决策树的均衡方法,其特征在于,所述参考分类规则集包含于所述目标分类规则集中,并且所述参考分类规则集中的任一分类规则均未包含于任一决策树中。
5.根据权利要求1所述的比特选位决策树的均衡方法,其特征在于,所述确定所述目标分类规则集对应的选位比特数之前,所述方法还包括:
分别将所述目标分类规则集中的各分类规则各自对应的有效前缀长度与预设长度阈值进行比较,以得到有效前缀长度小于预设长度阈值的候选分类规则;
将得到的所有候选分类规则从所述目标分类规则集中去除,并将去除后的目标分类规则集作为目标分类规则集。
6.根据权利要求5所述的比特选位决策树的均衡方法,其特征在于,所述确定所述目标分类规则集对应的选位比特数具体为:
选取所述目标分类规则集中各分类规则的最大公共有效前缀长度,并将所述最大公共有效前缀长度作为选位比特数。
7.一种网络包分类方法,其特征在于,所述方法应用如权利要求1-6任一所述的比特选位决策树的均衡方法构建目标分类规则集对应的若干决策树;所述方法包括:
当接收到网络包时,遍历所述目标分类规则集对应的若干决策树中的每个决策树,以得到所述网络包所匹配的分类规则。
8.一种比特选位决策树的均衡装置,其特征在于,所述的均衡装置包括:
确定模块,用于获取目标分类规则集,并确定所述目标分类规则集对应的选位比特数;
建立模块,用于基于所述选位比特数通过离散比特选位方式,对所述目标分类规则集建立候选决策树;
筛选模块,用于当所述候选决策树包括大叶节点时,对候选决策树中的各大叶节点进行筛选,以得到目标分类规则集对应的决策树及参考分类规则集,其中,所述大叶节点中的分类规则的规则数量大于预设数量;
执行模块,用于将所述参考分类规则集作为目标分类规则集,并继续执行基于所述选位比特数通过离散比特选位方式对所述目标分类规则集建立候选决策树的步骤,直至所述候选决策树未包括大叶节点,以得到所述目标分类规则集对应的若干决策树。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-6任意一项所述的比特选位决策树的均衡方法中的步骤,和/或以实现如权利要求7所述的网络包分类方法的步骤。
10.一种终端设备,其特征在于,包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如权利要求1-6任意一项所述的比特选位决策树的均衡方法中的步骤,和/或实现如权利要求7所述的网络包分类方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111316999.7A CN113762424B (zh) | 2021-11-09 | 2021-11-09 | 一种网络包分类方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111316999.7A CN113762424B (zh) | 2021-11-09 | 2021-11-09 | 一种网络包分类方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113762424A true CN113762424A (zh) | 2021-12-07 |
CN113762424B CN113762424B (zh) | 2022-02-01 |
Family
ID=78784666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111316999.7A Active CN113762424B (zh) | 2021-11-09 | 2021-11-09 | 一种网络包分类方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113762424B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114710378A (zh) * | 2022-03-03 | 2022-07-05 | 中国人民解放军国防科技大学 | 一种基于决策树的并行报文分类查找方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1719769A (zh) * | 2004-07-09 | 2006-01-11 | 杭州华为三康技术有限公司 | 在网络设备中对接收数据包进行分类的方法 |
CN1992674A (zh) * | 2005-12-31 | 2007-07-04 | 华为技术有限公司 | 一种基于多比特分割的多维分组分类方法 |
CN101345707A (zh) * | 2008-08-06 | 2009-01-14 | 北京邮电大学 | 一种实现IPv6报文分类的方法及设备 |
US20090190592A1 (en) * | 2008-01-25 | 2009-07-30 | National Taiwan University | Two-stage computer network packet classification method and system |
CN102281196A (zh) * | 2011-08-11 | 2011-12-14 | 中兴通讯股份有限公司 | 决策树生成方法及设备、基于决策树报文分类方法及设备 |
CN103986667A (zh) * | 2014-05-07 | 2014-08-13 | 华为技术有限公司 | 选择数据包分类算法的方法和装置 |
CN108632235A (zh) * | 2017-08-31 | 2018-10-09 | 新华三技术有限公司 | 一种网包分类决策树建立方法及装置 |
US20190347529A1 (en) * | 2018-05-08 | 2019-11-14 | Tsinghua University | Packet classification method and device |
-
2021
- 2021-11-09 CN CN202111316999.7A patent/CN113762424B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1719769A (zh) * | 2004-07-09 | 2006-01-11 | 杭州华为三康技术有限公司 | 在网络设备中对接收数据包进行分类的方法 |
CN1992674A (zh) * | 2005-12-31 | 2007-07-04 | 华为技术有限公司 | 一种基于多比特分割的多维分组分类方法 |
US20090190592A1 (en) * | 2008-01-25 | 2009-07-30 | National Taiwan University | Two-stage computer network packet classification method and system |
CN101345707A (zh) * | 2008-08-06 | 2009-01-14 | 北京邮电大学 | 一种实现IPv6报文分类的方法及设备 |
CN102281196A (zh) * | 2011-08-11 | 2011-12-14 | 中兴通讯股份有限公司 | 决策树生成方法及设备、基于决策树报文分类方法及设备 |
CN103986667A (zh) * | 2014-05-07 | 2014-08-13 | 华为技术有限公司 | 选择数据包分类算法的方法和装置 |
CN108632235A (zh) * | 2017-08-31 | 2018-10-09 | 新华三技术有限公司 | 一种网包分类决策树建立方法及装置 |
US20190347529A1 (en) * | 2018-05-08 | 2019-11-14 | Tsinghua University | Packet classification method and device |
Non-Patent Citations (6)
Title |
---|
WENJUN LI等: "TabTree: A TSS-assisted Bit-selecting Tree Scheme for Packet Classification with Balanced Rule Mapping", 《2019 ACM/IEEE SYMPOSIUM ON ARCHITECTURES FOR NETWORKING AND COMMUNICATIONS SYSTEMS (ANCS)》 * |
尚凤军等: "基于随机分布的多比特Trie树IP数据包分类算法研究", 《通信学报》 * |
李文军等: "基于决策树映射的低功耗TCAM包分类方案", 《计算机应用研究》 * |
李晔: "具有隐私保护的外包数据分类方法研究", 《中国博士学位论文全文数据库 (信息科技辑)》 * |
李清等: "数据中心网络负载均衡问题研究", 《软件学报》 * |
郭鹏: "基于深度增强学习的网络数据包分类算法研究", 《佳木斯大学学报(自然科学版)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114710378A (zh) * | 2022-03-03 | 2022-07-05 | 中国人民解放军国防科技大学 | 一种基于决策树的并行报文分类查找方法及系统 |
CN114710378B (zh) * | 2022-03-03 | 2024-03-26 | 中国人民解放军国防科技大学 | 一种基于决策树的并行报文分类查找方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113762424B (zh) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8468220B2 (en) | Methods of structuring data, pre-compiled exception list engines, and network appliances | |
US9208438B2 (en) | Duplication in decision trees | |
US6473763B1 (en) | System, method and computer program for filtering multi-action rule set | |
US8732110B2 (en) | Method and device for classifying a packet | |
US20150117461A1 (en) | Packet Classification | |
US9595003B1 (en) | Compiler with mask nodes | |
US20120136846A1 (en) | Methods of hashing for networks and systems thereof | |
EP3276501B1 (en) | Traffic classification method and device, and storage medium | |
CN104579940B (zh) | 查找访问控制列表的方法及装置 | |
WO2014000485A1 (zh) | 内容过滤方法和装置 | |
EP2830260B1 (en) | Rule matching method and device | |
CN103281246A (zh) | 报文处理方法及网络设备 | |
US9294390B2 (en) | Hash table storage and search methods and devices | |
US11588821B1 (en) | Systems and methods for access control list (ACL) filtering | |
US8990492B1 (en) | Increasing capacity in router forwarding tables | |
CN113762424B (zh) | 一种网络包分类方法及相关装置 | |
CN108632235A (zh) | 一种网包分类决策树建立方法及装置 | |
CN104253754A (zh) | 一种acl快速匹配的方法和设备 | |
CN106657128B (zh) | 基于通配符掩码规则的数据包过滤方法及装置 | |
US7546281B2 (en) | Reduction of ternary rules with common priority and actions | |
CN110138742B (zh) | 防火墙策略优化方法、系统及计算机可读存储介质 | |
US20040177150A1 (en) | Method for filter selection and array matching | |
CN112187743B (zh) | 一种基于ip地址最长前缀的网络策略匹配方法及系统 | |
CN111835599B (zh) | 一种基于SketchLearn的混合网络测量方法、装置及介质 | |
CN107948091B (zh) | 一种网包分类的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |