[发明专利]键值分组方法在审
申请号: | 201210187221.5 | 申请日: | 2012-06-08 |
公开(公告)号: | CN103473237A | 公开(公告)日: | 2013-12-25 |
发明(设计)人: | 林彦竹;张建杰;熊冰 | 申请(专利权)人: | 苏州雄立科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市振邦律师事务所 11389 | 代理人: | 何自力 |
地址: | 211600 江苏省苏州工业园区*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 键值 分组 方法 | ||
技术领域
本发明属于网络技术领域,特别是涉及一种网络查找中的键值分组方法。
背景技术
现有的基于查找引擎(例如TCAM)的网络查找中,对于查找引擎里存储规则中的重复出现部分,一直缺乏有效的方法实现对重复出现部分的复用,以节省查找引擎的存储空间。另外,对于网络中所要实现的超长表项的查找,也同样缺乏有效的对超长表项的分解,以完成超长表项的查找。
在网络处理器(交换机,路由器等对数据报文进行处理的设备)对报文处理的过程中,需要用查找引擎以完成各种查找,查找引擎会返回查找到的规则表项地址以读取关联数据或者直接返回关联数据,然后网络处理器会根据返回的关联数据决定对该数据包文如何处理。
在查找引擎所存储的规则表项中,存在着多个规则表项同时都包含了同样的部分,如果不对该部分数据进行复用,查找引擎里要花费很大的空间以完成对这些表项的存储,特别是随着ipv6地址逐步取代ipv4地址,这个问题越来越突出。
另外,对于超长的表项查找,目前也缺乏有效的表项拆分手段以完成拆分表项查找结果的合并。
如果规则表项中所重复的部分是完全精确匹配(要查找的)的,目前已有技术方案可以对该问题提供方法(Netlogic公司所申请的一项美国专利,专利号:US7,694,068 B1,专利名称:RE-ENTRANT PROCESSING IN A CONTENT ADDRESSABLE MEMORY),该专利本来的目的是为了节省网络处理器与查找引擎之间的带宽,但客观上也可用来提供精确匹配重复部分的重复利用。根据该专利所提供的方法,可以对表项进行拆分,然后先对表项的重复出现部分进行查找,再将查找返回的结果与后面要查找的部分重新组成一个新的表项以完成后续的查找。这样查找引擎里只需要存储一次该重复部分,就可以代表所有含有该重复部分的表项。另外,对于超长查找表项中的重复出现部分,如果所重复部分是完全精确匹配的,也可以通过2次或多次查找完成。
现有技术只能完成对重复部分为精确匹配的重复部分表项共享,否则对重复部分的查找会遇到多重匹配的问题,例如:将规则A拆分为{a0,a1},规则B拆分为{a0,b1},规则C拆分为{c0,c1},其中规则A和规则B中的a0部分复用,如果在进行表项查找的时候a0,c0同时与查找键值的相应部分匹配(由于a0,c0不为精确匹配,因此可能发生多重匹配),则初始查找到的结果为两个,无法只将一个结果返回以完成后续查找。这样就无法完成查找引擎存储空间上的节省。
同样地,对于超长表项的拆分仍然会遇到多重匹配从而无法完成后续查找的问题。
发明内容
为了至少解决上述问题之一,本发明提出了一种查找引擎的把规则拆分后的键值分组方法,包括以下步骤:
首先,将查找引擎从物理上划分为不同的查找单元,在查找引擎进行查找的时候,每个查找单元都可以独立的输出匹配优先级最高的规则;
其次,在将查找规则拆分成的键值写入搜索引擎时,将互相之间会发生多重匹配的拆分键值写入不同的查找单元中,这样在查找时即使发生了多重匹配,各个查找单元仍然可以保留这些发生了多重匹配的各个结果;
最后,将保留的这些结果与其他拆分键值匹配的结果进行合并及优先级比较。
优选地,查找单元所存放的数据包括数据段,掩码段,起始标志位,组编号和后续标志位,其中所述数据段和掩码段共同表示被拆分后的键值,起始标志位用于标示该键值是否为起始键值,组编号用于标示键值之间的关联,相同的组编号表示这两条键值的关联,后续标志位用于标示该键值是否有后续键值。
优选地,查找单元所存放的数据包括数据段,掩码段,起始段和结束段,其中所述数据段和掩码段共同表示被拆分后的键值,所述起始段为0时表示该段键值为起始键值,所述结束段为0时表示该段键值为结束键值,当每个键值的起始段与上一键值的结束段相等表示他们属于同一条规则拆分后的键值。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解。
图1本发明实施例的查找规则拆分示意图;
图2本发明实施例的键值匹配电路示意图;
图3本发明实施例的一种写入查找单元的数据格式示意图;
图4本发明实施例的利用图3的数据格式对拆分键值编组的关联示意图;
图5本发明实施例的另一种写入查找单元的数据格式示意图;
图6本发明实施例的利用图5的数据格式对拆分键值编组的关联示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州雄立科技有限公司,未经苏州雄立科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210187221.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种非关系型数据库数据更新方法和装置
- 下一篇:编辑对象的方法及电子设备