[发明专利]查找数据库中显性定义记录表项优先级的方法无效
申请号: | 201210332634.8 | 申请日: | 2012-09-11 |
公开(公告)号: | CN102819617A | 公开(公告)日: | 2012-12-12 |
发明(设计)人: | 谢国敏 | 申请(专利权)人: | 苏州雄立科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市振邦律师事务所 11389 | 代理人: | 李朝辉 |
地址: | 215021 江苏省苏州市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 查找 数据库 显性 定义 记录 优先级 方法 | ||
技术领域
本发明涉及数据库查找和网络通信技术领域,特别是涉及一种在查找数据库中显性定义记录表项优先级的方法。
背景技术
随着网络应用对网络带宽需求的不断增加,特别是在线音频、视频节目的普及,IPV6的步步推广,3G、4G手机网络的发展,以及人们对网络安全的需求,导致各种数据查找不断增加,高速查找搜索芯片TCAM被广泛地使用在数据查找,数据通信系统中。
TCAM(Ternary Content Addressable Memory)即“三态内容寻址存储器”是目前广泛使用的查找芯片。TCAM中每个bit位有三种状态,除掉“0”和“1”外,还有一个“don’t care”状态,所以称为“三态”,它是通过掩码来实现的。
由于固有的电路架构原因,TCAM查找芯片只能提供最长匹配查找(LPM,Longest Prefix Matching,精确匹配部分必须放置在don’t care部分之前)。TCAM需要保证前缀较长的记录表项保存在前缀较短的记录表项之前,即TCAM的低地址存贮前缀较长的记录表项,高地址存储前缀较短的记录表项。TCAM这种电路架构隐性定义了各个记录表项的优先级关系,即地址越高,优先级越低,记录表项的存贮地址和记录表项的优先级绑定;使得TCAM数据库维护算法复杂,特别是记录表项的添加和删除部分。
针对TCAM的数据库维护更新算法,目前主要有下面几种:
1、顺序移动法
所有前缀记录按照长度组成前缀块,按照前缀由长到短从TCAM的低地址空间开始顺序排列,空闲记录集中放在TCAM的高地址。当需要增加一个新记录时,将已有记录中长度小于该记录的条目依次向后移动一个位置,然后将要新记录添加到腾出的位置处。显然,这种方式记录移动关联性太大,效率极低,最差的情况复杂度为O(N),其中N是TCAM中保存的记录个数。
2、带预留记录的顺序移动法
相对于顺序移动法,该算法的改进在于把空闲记录分散到每个前缀记录块里。若添加的记录对应的集合存在空闲记录时,直接写入,其它记录不须移动;当不存在空闲记录时,只须从相邻的记录集合中借用一个空闲地址即可写入。但是在删除记录时,要把该集合中删除记录以下的记录都向上移动一个位置,以保持空闲记录的连续性。该算法只是减少了平均表项移动次数,但在最坏情况下,如预置的空闲记录出现连续满状态时,算法复杂度显然仍是O(N)。
3、选择移动法
结合TCAM工作原理分析,路由前缀查找只需要保证不同长度记录的顺序关系,而对于相同长度的记录则可以不用严格要求,由此提出了选择移动法,TCAM中记录结构与顺序移动法一致,在添加新记录时,只需要将每个前缀块的第一个记录移到最后一个位置即可,表项的移动次数大大减少。该算法复杂度为O(W),其中W为前缀块的个数。
4、带预留记录的选择移动法
该算法将预留记录的思想运用到选择移动法。当需要添加新记录时,如果预置空闲记录非满,直接写入;若空闲记录已满,但相邻前缀块存在空闲地址,也直接写人;否则,才按照选择移动法的添加方式进行,直到腾出空闲地址写入新记录。删除记录操作跟预留记录法的相同。因为只有在空闲记录非空的情况下,才会有记录选择移动,使得该算法的平均移动次数进一步降低。
不管上面哪种算法,复杂度都很高,可能需要移动记录,占用TCAM的查找时间,降低查找带宽,从而降低系统性能,影响数据通信速度。
发明内容
为了解决上述方法中TCAM查找芯片中记录表项地址和优先级绑定,数据库更新维护复杂,占用大量TCAM查找时间,降低TCAM的查找速度,从而降低整个系统查找速度,影响系统性能的问题,本发明提出了一种在查找数据库中显性定义记录表项优先级的方法,其特征在于,包括以下步骤:
S1:系统划分查找数据库优先级,给每条记录表项分配优先级标签,每条记录表项都分配一个优先级标签,不同优先级用不同数字表示;
S2:系统把记录表项和其优先级标签一同提交给查找芯片;
S3:查找芯片把记录表项和其优先级标签贮存到内部存贮单元中。
作为上述技术方案的优选,所述方法还包括以下步骤:
S4:系统执行键值查找时,系统提交键值及查找指令给查找芯片,查找芯片得到键值及查找指令;
S5:查找芯片启动内部查找电路,对内部存贮单元的记录表项并发查找;
S6:查找芯片把所有匹配记录表项的优先级标签发送给优先级比较电路;
S7:优先级标签符合要求的记录表项作为最终查找结果,返回给系统。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州雄立科技有限公司,未经苏州雄立科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210332634.8/2.html,转载请声明来源钻瓜专利网。