一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于TCAM的掩码规则插入方法、电子设备和存储介质与流程

2021-11-18 01:58:00 来源:中国专利 TAG:

一种基于tcam的掩码规则插入方法、电子设备和存储介质
技术领域
1.本发明涉及通信领域,具体涉及一种基于tcam的掩码规则插入方法、电子设备和存储介质。


背景技术:

2.现有网络数据流量处理设备中,掩码规则功能通常由tcam芯片来实现。tcam(ternary content addressable memory)是一种三态内容寻址存储器。一般存储器中每个bit都只能表示两个值:0或1,而tcam每个bit可表示三个值:0、1和x,x表示不关心,这个x其实是靠一个对应的mask bit来控制的,实际上tcam每个bit物理上是2个bit。正是这种“不关心”状态位,使得基于任意掩码匹配成为可能,达到实现模糊查找匹配的目的。
3.基于tcam的掩码表项资源可以分为database和user data两部分,其中database存的是表项匹配内容,其中database存的是表项匹配内容使用tcam三态存储资源,user data存的是匹配后返回的结果使用高速内存资源。本文主要针对tcam存储空间(即database部分)进行设计优化。随着互联网数据流量的爆发式增长,目前网络数据流量处理设备中,需要存储大量的掩码规则来处理接收到的流量,而使用现有实现方法,在新增高优先级掩码规则时会对现有规则进行大量的增删操作并且耗时较长,对网络流量影响较大。


技术实现要素:

4.为解决现有技术存在的问题,本发明提供了一种基于tcam的掩码规则插入方法、电子设备和存储介质,本发明的技术方案如下。
5.一种基于tcam的掩码规则插入方法包括:
6.初始化tcam中对于掩码规则的data base空间,以防止无效优先级误命中;
7.基于优先级对存储空间划分成若干分区,按照优先级下发每个分区的掩码规则;
8.新增优先级为第x级优先级的掩码规则时,判断处于第一优先级区间内的优先级否有未使用的第一空闲优先级;
9.若有则将优先级处于第x级优先级到第一空闲优先级之间的掩码规则依次向后移动一个优先级,否则判断处于第二优先级区间内是否有未使用的第二空闲优先级,若有则将优先级处于第x级优先级到第二空闲优先级之间的掩码规则依次向前移动一个优先级。
10.优选的,所述第一优先级区间为第x级优先级到第(x/c 1)*c级优先级的区间,所述第二优先级区间为第x

x%c级优先级到第x级优先级的区间;其中,c=a/b,为存储空间字节数,b为分区数。
11.一种电子设备,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行上述方法。
12.一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行上述方法。
13.相对于现有技术,本发明的有益技术效果在于:本发明在tcam掩码规则插入高优
先级规则时,重新下发并调整优先级的规则由整个规格空间,缩减到每个分区中,优化了掩码规则的有序插入tcam的流程和时间。
附图说明
14.为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
15.图1为掩码规则插入示意图。
具体实施方式
16.为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
17.实施例一
18.本实施例提供了一种基于tcam的掩码规则插入方法。初始化tcam中对于掩码规则的data base空间,以防止无效优先级误命中;
19.基于优先级对存储空间划分成若干分区,按照优先级下发每个分区的掩码规则;
20.新增优先级为第x级优先级的掩码规则时,判断处于第一优先级区间内的优先级否有未使用的第一空闲优先级;
21.若有则将优先级处于第x级优先级到第一空闲优先级之间的掩码规则依次向后移动一个优先级,否则判断处于第二优先级区间内是否有未使用的第二空闲优先级,若有则将优先级处于第x级优先级到第二空闲优先级之间的掩码规则依次向前移动一个优先级。
22.掩码规则写入tcam前,需要在tcam初始化时申请该规则database的规格信息,该规则表占用tcam的空间信息,而插入新的掩码规则的方法可以采用对该规则规格分区的方式达到优化。示例性的,如图1所示,具体流程如下:
23.初始化tcam中对于该规则的data base空间,防止无效优先级误命中。
24.以优先级对规格a进行平均分区,分区数量为b,这时每个区间中可以下发c=a/b条规则。
25.按照优先级下发每个分区的规则。
26.新增高优先级x的掩码规则时,先判断优先级处于x到(x/c 1)*c是否有空的优先级(未使用的优先级)e,若有则将优先级处于x到e之间的有效规则统一向后移动一个优先级,否则判断优先级处于x

x%c到x是否有空的(未使用的优先级)优先级f,若有则将优先级处于x到f之间的有效规则统一向前移动一个优先级,其中%为求余运算。
27.实施例二
28.本实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行实施例一的方法。
29.实施例三
30.本实施例提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实
施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据实施例一的方法。
31.以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。


技术特征:
1.一种基于tcam的掩码规则插入方法,其特征在于,包括:初始化tcam中对于掩码规则的data base空间,以防止无效优先级误命中;基于优先级对存储空间划分成若干分区,按照优先级下发每个分区的掩码规则;新增优先级为第x级优先级的掩码规则时,判断处于第一优先级区间内的优先级否有未使用的第一空闲优先级;若有则将优先级处于第x级优先级到第一空闲优先级之间的掩码规则依次向后移动一个优先级,否则判断处于第二优先级区间内是否有未使用的第二空闲优先级,若有则将优先级处于第x级优先级到第二空闲优先级之间的掩码规则依次向前移动一个优先级。2.根据权利要求1所述的基于tcam的掩码规则插入方法,其特征在于,包括:所述第一优先级区间为第x级优先级到第(x/c 1)*c级优先级的区间,所述第二优先级区间为第x

x%c级优先级到第x级优先级的区间;其中,c=a/b,为存储空间字节数,b为分区数。3.一种电子设备,其特征在于,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行权利要求1或2所述方法。4.一种存储介质,其中存储有处理器可执行的指令,其特征在于,所述处理器可执行的指令在由处理器执行时用于执行如权利要求1或2所述方法。

技术总结
本发明提供了一种基于TCAM的掩码规则插入方法、电子设备和存储介质。本发明的掩码规则插入方法在新增掩码规则时,判断处于第一优先级区间内的优先级否有未使用的第一空闲优先级,并将优先级处于特定区间的的掩码规则依次向后或向前移动一个优先级。本发明通过重新下发并调整优先级的规则由整个规格空间缩减到每个分区中,优化了掩码规则的有序插入TCAM的流程和时间。的流程和时间。的流程和时间。


技术研发人员:胡燕林 党向磊 张良 李佳 陈训逊 云晓春 吴昊 李瑞轩 李鼎 刘慧君 李忠志
受保护的技术使用者:长安通信科技有限责任公司 北京百卓网络技术有限公司
技术研发日:2021.08.09
技术公布日:2021/11/17
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献