规则集更新方法、装置、规则匹配方法及装置制造方法及图纸

技术编号:19023274 阅读:19 留言:0更新日期:2018-09-26 19:02
本发明专利技术实施例提供了规则集更新方法、装置、规则匹配方法及装置,涉及计算机技术领域,应用于三态内容寻址存储器,其中,该规则集更新方法包括:在划分三态内容寻址存储器的目标规则集所得到的各个第一规则组中,确定目标规则所属的目标规则组;然后在目标规则组中插入该目标规则,完成对目标规则集的更新。其中,对于目标规则集中存在相交关系的任一规则,其所处的第一规则组中与其相交的规则数量,不大于目标规则集中与其相交的规则总数。应用本发明专利技术实施例提供的方案进行规则集的更新时,可以减少规则集的更新开销。

【技术实现步骤摘要】
规则集更新方法、装置、规则匹配方法及装置
本专利技术涉及计算机
,特别是涉及规则集更新方法、装置、规则匹配方法及装置。
技术介绍
三态内容寻址存储器,简称TCAM(TernaryContentAddressableMemory),其存储有由大量规则组成的规则集,各个规则中每一比特位除了可以为0和1以外,还可以为*(don’tcare,wildcard),即不管是输入内容中的某一位是0或1,均可以匹配规则中相应位置的*。*比特的引入,使得TCAM中的规则具有了匹配范围的能力,比如一条规则为1***,表示匹配从1000到1111范围内的所有二进制序列。TCAM中存储的各个规则所处的位置具有一定的顺序,如按照预先定义的各个规则的优先级对所有规则排序。由于顺序的存在,使得规则集的更新存在困难,如图1所示,如果要在第一个规则r1前插入一条规则,那么所有规则r1~r6都需要向后移动一个位置。当规则集中的规则数量巨大时,进行规则集的更新时,需要移动大量规则的位置,此时规则集更新的开销是巨大的;而TCAM在更新规则集时,是不能进行匹配查找的,只能将要进行匹配查找的内容缓存起来,等待TCAM上的规则集更新完成后再进行查找;所以,降低TCAM更新规则集时的更新开销是十分重要的。TCAM中,如果两个规则具有相交的匹配范围,则可以称这两个规则相交或重叠,即这两个规则为一对相交的规则,例如,两条规则11**和111*,其都可以匹配1110,则规则11**和111*相交。另外,如果TCAM获得的输入内容可以与至少两个规则匹配,TCAM会从所匹配的各个规则中,选择顺序最靠前的规则,然后输出所选择的规则所对应的地址,即其所处的位置。在实际应用中,TCAM中规则的摆放顺序可能与优先级定义的顺序不同,但是,只要对于任意输入内容,TCAM分别按照其中实际的规则摆放顺序以及优先级定义的顺序进行匹配查找时所命中的规则相同,则认为两种顺序语义等价,所以TCAM中只需要保证相交的规则之间的前后顺序,即只有相交的规则之间的顺序才需要维护,而不相交的规则之间的顺序则可以不用维护。所以TCAM会利用语义等价特点更新规则集,以降低规则位置的调整次数。在现有技术中,为了进一步的降低规则集更新时的开销,通常会将规则集划分为多个规则组,且利用语义等价特点更新规则集时,只会对待插入的规则所属的规则组进行更新;而相交的一对规则可能会被划分到不同的规则组,所以待插入的规则所属的规则组中需要调整位置的规则数量会有所减少,达到降低规则集更新开销的目的。但是,现有技术中划分规则集所得到的每个规则组中,依然存在大量相交的规则,所以利用语义等价的特点来进行规则集的更新时,依然存在更新开销大的问题。
技术实现思路
本专利技术实施例的目的在于提供一种规则集更新方法、装置、规则匹配方法及装置,以在利用语义等价的特点来进行规则集的更新时,实现降低更新开销的目的。具体技术方案如下:为达上述目的,第一方面,本专利技术实施例提供了一种规则集更新方法,应用于三态内容寻址存储器,所述方法包括:在划分三态内容寻址存储器的目标规则集所得到的各个第一规则组中,确定目标规则所属的目标规则组;其中,对于所述目标规则集中存在相交关系的任一规则,其所处的第一规则组中与其相交的规则数量,小于所述目标规则集中与其相交的规则总数;所述目标规则为待插入到所述目标规则集中的规则;在所述目标规则组中插入所述目标规则,完成对所述目标规则集的更新。优选的,划分所述目标规则集的方式包括:确定所述目标规则集为第一规则集;划分所述第一规则集为两个新的规则组,作为第二规则组和第三规则组;其中,第二规则组由所述第一规则集中的第一规则、与其它规则均不相交的规则以及与自身相交的规则的优先级不高于自身优先级的规则构成;所述第一规则的所有父规则中,处于所述第二规则组中的父规则数量不大于处于所述第三规则组中的父规则数量;一个规则的父规则为:与该规则相交并且优先级大于该规则的优先级的规则;针对最新得到的两个规则组中的每一个,判断是否满足预设条件,如果满足,将该规则组确定为第一规则组,如果不满足,更新第一规则集为该规则组,返回执行划分所述第一规则集为两个新的规则组,作为第二规则组和第三规则组的步骤。优选的,所述划分所述第一规则集为两个新的规则组,作为第二规则组和第三规则组的步骤,包括:从所述第一规则集中确定第二规则,并对所述第二规则添加第一标记;其中,所述第二规则包括:所述第一规则集中,与其它规则均不相交的规则,以及与自身相交的规则的优先级均不高于自身优先级的规则;从所述第一规则集中,确定父规则均为第二规则的第三规则,并对所述第三规则添加第二标记;针对所述第一规则集中无标记的每一规则,判断其所有父规则是否均有标记;如果是,判断其所有父规则中,添加有第一标记的父规则数量是否大于添加有第二标记的父规则数量,如果大于,对该规则添加所述第二标记;如果不大于,对该规则添加所述第一标记;判断所述第一规则集中是否存在无标记的规则;如果存在,返回执行针对所述第一规则集中无标记的每一规则,判断其所有父规则是否均有标记的步骤;如果不存在,创建两个新的规则组,作为第二规则组和第三规则组,并将所述第一规则集中添加有所述第一标记的所有规则以及添加有所述第二标记的所有规则,分别划分到所述第二规则组和所述第三规则组中;相应的,在所述更新第一规则集为该规则组的步骤之后,所述方法还包括:去除所述第一规则集中所有规则的标记,再返回执行所述从所述第一规则集中确定第二规则,并对所述第二规则添加第一标记的步骤。优选的,所述针对最新得到的两个规则组中的每一个,判断是否满足预设条件的步骤,包括:针对最新得到的两个规则组中的每一个,判断是否满足条件:当前已划分得到的规则组的数目未达到预设数目,且在最新得到的两个规则组中,该规则组的规则相交程度小于另一规则组;或当前已划分得到的规则组的数目达到预设数目;其中,所述规则相交程度包括规则组中存在相交关系的规则总数量、相交的规则对数或者目标相交链所包含的规则的数量,所述目标相交链为规则组中其包含的规则连续相交且数量最多的一组规则。优选的,所述预设条件包括:该规则组的规则相交程度不大于预设阈值;其中,所述规则相交程度包括规则组中存在相交关系的规则总数量、相交的规则对数或者目标相交链所包含的规则的数量,所述目标相交链为规则组中其包含的规则连续相交且数量最多的一组规则。优选的,所述在划分三态内容寻址存储器的目标规则集所得到的各个第一规则组中,确定目标规则所属的目标规则组的步骤,包括:在划分三态内容寻址存储器的目标规则集所得到的各个第一规则组中,确定目标规则所属的目标规则组为:随机选择的一个第一规则组。优选的,所述在划分三态内容寻址存储器的目标规则集所得到的各个第一规则组中,确定目标规则所属的目标规则组的步骤,包括:针对划分三态内容寻址存储器的目标规则集所得到的每个第一规则组,确定其中的相交规则对数;确定目标规则所属的目标规则组为:相交规则对数最小的第一规则组。优选的,所述在所述目标规则组中插入所述目标规则的步骤,包括:确定所述目标规则为第四规则;在所述目标规则组中,判断是否存在与所述第四规则相交、且优先级低于所述第四规则的第五规则;如果存在,从所有第五规本文档来自技高网
...

【技术保护点】
1.一种规则集更新方法,其特征在于,应用于三态内容寻址存储器,所述方法包括:在划分三态内容寻址存储器的目标规则集所得到的各个第一规则组中,确定目标规则所属的目标规则组;其中,对于所述目标规则集中存在相交关系的任一规则,其所处的第一规则组中与其相交的规则数量,小于所述目标规则集中与其相交的规则总数;所述目标规则为待插入到所述目标规则集中的规则;在所述目标规则组中插入所述目标规则,完成对所述目标规则集的更新。

【技术特征摘要】
1.一种规则集更新方法,其特征在于,应用于三态内容寻址存储器,所述方法包括:在划分三态内容寻址存储器的目标规则集所得到的各个第一规则组中,确定目标规则所属的目标规则组;其中,对于所述目标规则集中存在相交关系的任一规则,其所处的第一规则组中与其相交的规则数量,小于所述目标规则集中与其相交的规则总数;所述目标规则为待插入到所述目标规则集中的规则;在所述目标规则组中插入所述目标规则,完成对所述目标规则集的更新。2.根据权利要求1所述的方法,其特征在于,划分所述目标规则集的方式包括:确定所述目标规则集为第一规则集;划分所述第一规则集为两个新的规则组,作为第二规则组和第三规则组;其中,第二规则组由所述第一规则集中的第一规则、与其它规则均不相交的规则以及与自身相交的规则的优先级不高于自身优先级的规则构成;所述第一规则的所有父规则中,处于所述第二规则组中的父规则数量不大于处于所述第三规则组中的父规则数量;一个规则的父规则为:与该规则相交并且优先级大于该规则的优先级的规则;针对最新得到的两个规则组中的每一个,判断是否满足预设条件,如果满足,将该规则组确定为第一规则组,如果不满足,更新第一规则集为该规则组,返回执行划分所述第一规则集为两个新的规则组,作为第二规则组和第三规则组的步骤。3.根据权利要求2所述的方法,其特征在于,所述划分所述第一规则集为两个新的规则组,作为第二规则组和第三规则组的步骤,包括:从所述第一规则集中确定第二规则,并对所述第二规则添加第一标记;其中,所述第二规则包括:所述第一规则集中,与其它规则均不相交的规则,以及与自身相交的规则的优先级均不高于自身优先级的规则;从所述第一规则集中,确定父规则均为第二规则的第三规则,并对所述第三规则添加第二标记;针对所述第一规则集中无标记的每一规则,判断其所有父规则是否均有标记;如果是,判断其所有父规则中,添加有第一标记的父规则数量是否大于添加有第二标记的父规则数量,如果大于,对该规则添加所述第二标记;如果不大于,对该规则添加所述第一标记;判断所述第一规则集中是否存在无标记的规则;如果存在,返回执行针对所述第一规则集中无标记的每一规则,判断其所有父规则是否均有标记的步骤;如果不存在,创建两个新的规则组,作为第二规则组和第三规则组,并将所述第一规则集中添加有所述第一标记的所有规则以及添加有所述第二标记的所有规则,分别划分到所述第二规则组和所述第三规则组中;相应的,在所述更新第一规则集为该规则组的步骤之后,所述方法还包括:去除所述第一规则集中所有规则的标记,再返回执行所述从所述第一规则集中确定第二规则,并对所述第二规则添加第一标记的步骤。4.根据权利要求2所述的方法,其特征在于,所述针对最新得到的两个规则组中的每一个,判断是否满足预设条件的步骤,包括:针对最新得到的两个规则组中的每一个,判断是否满足条件:当前已划分得到的规则组的数目未达到预设数目,且在最新得到的两个规则组中,该规则组的规则相交程度小于另一规则组;或当前已划分得到的规则组的数目达到预设数目;其中,所述规则相交程度包括规则组中存在相交关系的规则总数量、相交的规则对数或者目标相交链所包含的规则的数量,所述目标相交链为规则组中其包含的规则连续相交且数量最多的一组规则。5.根据权利要求2所述的方法,其特征在于,所述预设条件包括:该规则组的规则相交程度不大于预设阈值;其中,所述规则相交程度包括规则组中存在相交关系的规则总数量、相交的规则对数或者目标相交链所包含的规则的数量,所述目标相交链为规则组中其包含的规则连续相交且数量最多的一组规则。6.根据权利要求1所述的方法,其特征在于,所述在划分三态内容寻址存储器的目标规则集所得到的各个第一规则组中,确定目标规则所属的目标规则组的步骤,包括:在划分三态内容寻址存储器的目标规则集所得到的各个第一规则组中,确定目标规则所属的目标规则组为:随机选择的一个第一规则组。7.根据权利要求1所述的方法,其特征在于,所述在划分三态内容寻址存储器的目标规则集所得到的各个第一规则组中,确定目标规则所属的目标规则组的步骤,包括:针对划分三态内容寻址存储器的目标规则集所得到的每个第一规则组,确定其中的相交规则对数;确定目标规则所属的目标规则组为:相交规则对数最小的第一规则组。8.根据权利要求1~7任一项所述的方法,其特征在于,所述在所述目标规则组中插入所述目标规则的步骤,包括:确定所述目标规则为第四规则;在所述目标规则组中,判断是否存在与所述第四规则相交、且优先级低于所述第四规则的第五规则;如果存在,从所有第五规则中确定顺序最靠前的第六规则,并将所述第四规则插入到所述第六规则所处的位置,同时将所述第六规则从其所处的位置移出,将所述第六规则作为第四规则,返回执行所述在所述目标规则组中,判断是否存在与所述第四规则相交、且顺序排在所述第四规则后的第五规则的步骤;如果不存在,将所述第四规则插入到所述目标规则组末端的空位上。9.一种规则匹配方法,其特征在于,应用于三态内容寻址存储器,所述方法包括:获得目标输入内容;针对划分三态内容寻址存储器的目标规则集所得到的每个第一规则组,确定该第一规则组中与所述目标输入内容相匹配的规则;其中,所述目标规则集为按照权利要求1~8任一项所述的规则集更新方法进行更新的规则集;将所确定的所有规则中优先级最高的...

【专利技术属性】
技术研发人员:贺鹏
申请(专利权)人:北京金山云网络技术有限公司北京金山云科技有限公司
类型:发明
国别省市:北京,11

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

1