网包规则集的分类方法及装置与流程

文档序号:13763275阅读:195来源:国知局
网包规则集的分类方法及装置与流程

本申请涉及通信技术领域,尤其涉及一种网包规则集的分类方法及装置。



背景技术:

随着互联网的发展,传统路由技术已经不能满足网络业务的需求,因此,网包分类技术应运而生。网包分类技术是指根据网包中的信息,按照预设的网包规则集(网包规则集包括多个网包规则)对网包进行分类的过程。网包分类规则的划分通过对预设的规则集进行预处理,生成多个规则子集,可以有效地提高网包分类时对网包规则的查找速度,提高网包分类性能。

然而,上述网包规则集中的网包规则中可能含有通配符。相关技术中,当根据网包规则中的通配符节点划分分类规则子集时,会生成网包规则较多的规则子集,从而占用较大的存储空间。



技术实现要素:

有鉴于此,本申请提供一种网包规则集的分类方法及装置,来解决相关技术中网包分类方法占用较大存储空间的问题。

具体地,本申请是通过如下技术方案实现的:

本申请提供一种网包规则集的分类方法,所述网包规则集包括若干网包规则,所述方法应用于网络设备上,所述方法包括:

基于预设的编码规则对网包规则集中的网包规则进行编码;

完成对所述网包规则集中的网包规则的编码后,基于编码后的网包规则集中的网包规则构建网包规则集状态机;

根据所述网包规则集状态机对网包规则集进行分类。

可选的,所述基于预设的编码规则对网包规则集中的网包规则进行编码,包括:

基于预设的映射关系将所述网包规则的每个维度对应的字符编码为由特定字符集组成的字符串;

将所述网包规则的每个维度编码后的字符串基于指定顺序组合。

可选的,所述基于编码后的网包规则集构建网包规则集状态机,包括:

依次根据所述编码后的网包规则构建网包规则集状态机。

可选的,所述基于编码后的网包规则集构建网包规则集状态机,包括:

当所述编码后的网包规则中有通配符时,将所述编码后的网包规则中的通配符替换为预设值;

依次根据所述替换通配符后的网包规则构建网包规则集状态机。

可选的,所述基于编码后的网包规则集构建网包规则集状态机,包括:

当编码后的网包规则集中的网包规则包括多个比特时,依次根据所述编码后的网包规则构建多比特网包规则集状态机。

本申请同时提供一种网包规则集的分类装置,所述网包规则集包括若干网包规则,所述方法应用于网络设备上,所述装置包括:

编码单元,用于基于预设的编码规则对网包规则集中的网包规则进行编码;

构建单元,用于完成对所述网包规则集中的网包规则的编码后,基于编码后的网包规则集中的网包规则构建网包规则集状态机;

分类单元,用于根据所述网包规则集状态机对网包规则集进行分类。

可选的,所述编码单元具体用于:

基于预设的映射关系将所述网包规则的每个维度对应的字符编码为由特定字符集组成的字符串;

将所述网包规则的每个维度编码后的字符串基于指定顺序组合。

可选的,所述构建单元具体用于:

依次根据所述编码后的网包规则构建网包规则集状态机。

可选的,所述构建单元具体用于:

当所述编码后的网包规则中有通配符时,将所述编码后的网包规则中的通配符替换为预设值;

依次根据所述替换通配符后的网包规则构建网包规则集状态机。

可选的,所述构建单元具体用于:

当编码后的网包规则集中的网包规则包括多个比特时,依次根据所述编码后的网包规则构建多比特网包规则集状态机。

在本申请中,网络设备可以基于预设的编码规则对网包规则集中的网包规则进行编码,然后在完成对该网包规则集中的网包规则的编码后,可以基于编码后的网包规则集构建网包规则集状态机,并根据该网包规则集状态机对网包规则集进行分类。应用本申请可以通过将网包规则集中的网包规则从多维降到一维来构建网包规则集状态机,并根据构建出的网包规则集状态机对网包规则集中的网包规则进行分类,由于可以生成较少的网包规则,因此可以解决相关技术的问题。

附图说明

图1是本申请示出的一种网包规则集的分类方法的实施例流程图;

图2是本申请示出的一种规则集状态机;

图3是本申请示出的另一种规则集状态机;

图4是本申请示出的一种多比特规则集状态机;

图5是本申请网包规则集的分类装置所在设备的一种硬件结构图;

图6是本申请网包规则集的分类装置的一个实施例框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

相关技术中,网包规则集可以包括若干网包规则,其中,该若干网包规则中可以含有通配符。当根据网包规则中的通配符节点划分规则子集时,会生成网包规则较多的规则子集。

例如,上述网包规则集可以为二维网包规则集,其中,每一维度可取值0或1,可以假设该网包规则集包括4条网包规则,且该4条网包规则分别为:R1:0,*、R2:1,0、R3:1,1以及R4:*,0。当对该二维网包规则集进行划分时,可以得到如下的结果:0,0组:R1以及R4;0,1组:R1;1,0组:R2以及R4;1,1组:R3。从该结果可知,该网包规则集被划分的规则总数可以为6。

在另一个假设中,上述二维网包规则集中的分类规则中不含有通配符,且该网包规则集中的4条网包规则分别为:R1:0,1、R2:1,0、R3:1,1以及R4:1,0。则当对该二维网包规则集进行划分时,可以得到如下结果:0,0组:无;0,1组:R1;1,0组:R2以及R4;1,1组:R3。从该结果可知,该网包规则集被划分的规则总数可以为4。

由上述两个例子可知,当根据网包规则中的通配符节点划分规则子集时,会生成网包规则较多的规则子集,从而占用较大的存储空间。

为了解决相关技术中网包分类方法占用较大存储空间的问题,本申请提供一种网包规则集的分类方法及装置。在本申请中,网络设备可以基于预设的编码规则对网包规则集中的网包规则进行编码,然后在完成对该网包规则集中的网包规则的编码后,可以基于编码后的网包规则集构建网包规则集状态机,并根据该网包规则集状态机对网包规则集进行分类。应用本申请可以通过将网包规则集中的网包规则从多维降到一维来构建网包规则集状态机,并根据构建出的网包规则集状态机对网包规则集中的网包规则进行分类,由于可以生成较少的网包规则,因此可以解决相关技术的问题。

请参考图1,为本申请示出的一种网包规则集的分类方法的实施例流程图,所述方法应用于网络设备,包括以下步骤:

步骤101:基于预设的编码规则对网包规则集中的网包规则进行编码。

在本申请中,网络设备可以预设编码规则,并根据该预设的编码规则对网包规则集中的网包规则进行编码。

具体地,网络设备可以基于预设的映射关系将上述网包规则集中的网包规则的每一个维度对应的字符编码为由特定字符集组成的字符串,然后将该网包规则的每一个维度编码后的字符串基于指定顺序组合。需要说明的是上述预设的映射关系可以由用户自定义设置,例如,可以为F(x)=X,本申请对此不做限制。类似地,上述特定字符集以及指定顺序也可以由用户自定义设置,本申请对此同样不做限制。

在示出的一个实施例中,可以假设上述网包规则集包括4条网包规则,且该4条网包规则分别为:R1:0,*、R2:1,0、R3:1,1以及R4:*,0。则网络设备在对该网包规则集中的网包规则进行编码的过程中,可以先基于预设的映射关系将上述每个网包规则的每一个维度对应的字符编码为由特定字符集组成的字符串,可以假设预设的映射关系为F(x)=X,特定字符集可以为集合{0,1,*},则网络设备在基于上述映射关系将上述每个网包规则的每一个维度对应的字符编码为由上述集合组成的字符串后,可以得到如下所示的4条网包规则:R1′:0,*、R2′:1,0、R3′:1,1以及R4′:*,0。然后,网络设备可以将上述每个网包规则的每个维度编码后的字符串基于指定顺序组合,在一个实施例中,上述4条网包规则的每个维度编码后的字符串在基于指定顺序组合后,可以如下所示的4条规则:R1″:0*、R2″:10、R3″:11以及R4″:*0。

步骤102:完成对所述网包规则集中的网包规则的编码后,基于编码后的网包规则集中的网包规则构建网包规则集状态机。

在本申请中,网络设备在完成对上述网包规则集中的网包规则的编码后,可以基于编码后的网包规则集中的网包规则构建网包规则集状态机。具体地,网络设备可以依次根据上述网包规则集中已编码的网包规则构建网包规则集状态机。

在一个实施例中,网络设备可以通过将上述网包规则集中已编码的网包规则逐条插入字符集为上述预设字符集的状态机的方式来构建上述网包规则集状态机。

在示出的一个实施例中,可以假设上述编码后的网包规则集中的网包规则为:R1″:0*、R2″:10、R3″:11以及R4″:*0,则网络设备可以将该4条编码后的网包规则逐条插入字符集为{0,1,*}的状态机中,然后,网络设备可以获得如图2所示的规则集状态机。

在一个实施例中,当上述编码后的网包规则中有通配符时,可以将该编码后的网包规则中的通配符替换为预设值,其中,该预设值可以由用户自定义设置,例如可以为上述特定字符集中非通配符的字符,即该预设值可以为1或0。替换完成后,网络设备可以依次根据替换通配符后的网包规则构建网包规则集状态机。由于根据网包规则构建网包规则集状态机的过程已在上述实施例中说明,故本申请在此不再赘述。

在示出的一个实施例中,可以假设上述编码后的网包规则集中的网包规则为:R1′′:0*、R2′′:10、R3″:11以及R4″:*0。由于网包规则R1″以及R4′′中有通配符,因此,网络设备可以将网包规则R1′′以及R4″中的通配符替换为0或1,并根据替换后的网包规则构建如图3所示的规则集状态机。

在一个实施例中,当编码后的网包规则集中的网包规则包括多个比特时,网络设备可以根据编码后的网包规则构建多比特规则集状态机。

在示出的一个实施例中,可以假设上述编码后的网包规则集中的网包规则为:R1′′:0*、R2′′:10、R3″:11以及R4″:*0。由于上述网包规则集中的网包规则包括2个比特,因此,网络设备可以在将网包规则中的通配符替换为预设值后,根据替换后的网包规则生成如图4所示的多比特网包规则集状态机。

步骤103:根据所述网包规则集状态机对网包规则集进行分类。

在本申请,网络设备在完成对网包规则集状态机的构建之后,可以根据该网包规则集状态机完成对网包规则集的分类。

由上述实施例可知,当网络设备构建的网包规则集状态机如图2所示时,网络设备可以根据该网包规则集状态机对网包规则集进行划分,可以假设网包规则集为:R1:0,*、R2:1,0、R3:1,1以及R4:*,0,则网络设备在对该网包规则集进行划分后,可以得到如下所示的4条网包规则:r1:0*、r2:10、r3:11以及r4:*0;当网络设备构建的网包规则集状态机如图3所示时,网络设备可以根据该网包规则集状态机将上述网包规则集划分为:r1′:00、r2′:01、r3′:10以及r4′:11共4条网包规则;当网络设备构建如图4所示的多比特网包规则集状态机时,网络设备可以根据该多比特网包规则集状态机较快地将上述网包规则集划分为:r1″:00、r2″:01、r3″:10以及r4″:11共4条网包规则。

在本申请中,网络设备可以基于预设的编码规则对网包规则集中的网包规则进行编码,然后在完成对该网包规则集中的网包规则的编码后,可以基于编码后的网包规则集构建网包规则集状态机,并根据该网包规则集状态机对网包规则集进行分类。应用本申请可以通过将网包规则集中的网包规则从多维降到一维来构建网包规则集状态机,并根据构建出的网包规则集状态机对网包规则集中的网包规则进行分类,由于可以生成较少的网包规则,因此可以解决相关技术的问题。

与前述网包规则集的分类方法的实施例相对应,本申请还提供了网包规则集的分类装置的实施例。

本申请网包规则集的分类装置的实施例可以应用在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请网包规则集的分类装置所在设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的网络设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。

请参考图6,是本申请网包规则集的分类装置的一个实施例框图。

该装置可以包括:编码单元610、构建单元620以及分类单元630。

其中,编码单元610,用于基于预设的编码规则对网包规则集中的网包规则进行编码;

构建单元620,用于完成对所述网包规则集中的网包规则的编码后,基于编码后的网包规则集中的网包规则构建网包规则集状态机;

分类单元630,用于根据所述网包规则集状态机对网包规则集进行分类。

在一个可选的实现方式中,所述编码单元610可以具体用于:

基于预设的映射关系将所述网包规则的每个维度对应的字符编码为由特定字符集组成的字符串;

将所述网包规则的每个维度编码后的字符串基于指定顺序组合。

在一个可选的实现方式中,所述构建单元620可以具体用于:

依次根据所述编码后的网包规则构建网包规则集状态机。

在一个可选的实现方式中,所述构建单元620可以具体用于:

当所述编码后的网包规则中有通配符时,将所述编码后的网包规则中的通配符替换为预设值;

依次根据所述替换通配符后的网包规则构建网包规则集状态机。

在一个可选的实现方式中,所述构建单元620可以具体用于:

当编码后的网包规则集中的网包规则包括多个比特时,依次根据所述编码后的网包规则构建多比特网包规则集状态机。

在本申请中,网络设备可以基于预设的编码规则对网包规则集中的网包规则进行编码,然后在完成对该网包规则集中的网包规则的编码后,可以基于编码后的网包规则集构建网包规则集状态机,并根据该网包规则集状态机对网包规则集进行分类。应用本申请可以通过将网包规则集中的网包规则从多维降到一维来构建网包规则集状态机,并根据构建出的网包规则集状态机对网包规则集中的网包规则进行分类,由于可以生成较少的网包规则,因此可以解决相关技术的问题。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1