[发明专利]用于网络处理器的建表和查找方法有效
申请号: | 201410326150.1 | 申请日: | 2014-07-09 |
公开(公告)号: | CN104158744B | 公开(公告)日: | 2017-07-11 |
发明(设计)人: | 张辉;李苗 | 申请(专利权)人: | 中国电子科技集团公司第三十二研究所 |
主分类号: | H04L12/743 | 分类号: | H04L12/743;G06F17/30 |
代理公司: | 上海汉声知识产权代理有限公司31236 | 代理人: | 郭国中 |
地址: | 200233 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种应用于网络处理器中的建表和查表方法,采用建立不同类型的hash表,各表互不相干,独立进行两级查找,首先,根据待建表项的大小建立不同类型的hash表,为各个表分配不同的存储空间,指定表的大小和首地址,然后在查找时,根据从报文提取的信息获得查找关键字key、查找表的类型和该表的首地址,同时对关键字key进行两次hash转换,第一次把key转换成偏移地址以确定其在索引表中的索引值,第二次把key转换成标签用来区分冲突项,接着根据该索引值从结果表中读取内容进行匹配,以获得查找的结果。本发明有效地降低了对存储器的访存次数,进一步提高了网络处理器的查表速度和存储器的资源利用率。 | ||
搜索关键词: | 用于 网络 处理器 查找 方法 | ||
【主权项】:
一种用于网络处理器的建表和查找方法,其特征在于,包括以下步骤:步骤1:根据所需建立的表项的容量大小,分别建立内部int_hash表、外部ext_hash表和内外部混合mix_hash表,分配各个表的存储空间,指定各个索引表的大小和首地址;步骤2:建立hash表,每个hash表均由索引表和结果表两个子表构成,确定索引表中每个表项的容量大小,并为每个hash表配置一个空闲地址队列,每个队列存放结果表的所有地址,索引表的一个存储位置对应一个page,结果表的每个表项entry中存放关键字key和相应的结果;步骤3:建立冲突解决策略,对关键字key进行两次hash转换,第一次把key转换成一个偏移量,第二次把key转换成一个标签,首地址和偏移量共同确定一个page在索引表中的位置;步骤4:建表:步骤41:根据关键字key和其类型,获取所属的hash表类型以及该表的首地址信息,根据hash表的类型信息,确定待建立的表属于内部int_hash表、外部ext_hash表还是内外部混合mix_hash表;步骤42:把key转换成一个地址偏移量和一个标签,首地址和这个偏移量确定了page在索引表中的存放位置,然后读出该存放位置中的page信息,同时,从空闲地址队列中读出一个空闲地址作为索引值;步骤43:若page中存放的标签已满,此时下一页地址有效,标签和索引值存放于下一个page中;否则,找出第一个标签为空的行,把标签和索引值存放于该行中;步骤5:查表:步骤51:从接收的报文中提取用于查表的关键字key以及hash表的类型和该表的首地址信息,根据hash表的类型信息,确定待查找的表项位于内部int_hash表、外部ext_hash表还是内外部混合mix_hash表,把key转换成一个地址偏移量和一个标签,该偏移量和首地址共同确定一个page在索引表中的位置;步骤52:采用两级查找的方式进行查找,第一次查找时读出page信息,遍历比较该page下的所有标签,第二次查找时通过与标签相匹配所对应的索引值读出结果表中的表项entry,如果该entry中存放的key和查找的key相同,说明查找成功,返回相应 的结果,查找结束;否则,如果尚有其它标签匹配的表项,则以相同的方式读出下一个entry进行匹配,如果没有其它标签匹配的表项,而此时下一页有效,则读出该page继续进行查找,否则返回查找失败的结果,查找结束;步骤1中所述的内部int_hash表为索引表和结果表容量都较小的表,其存放在访存速度高但存储容量小的内部存储器中;所述外部ext_hash表为索引表和结果表容量都较大的表,其存放在访存速度不高但存储容量大的外部存储器中;内外部混合mix_hash表为索引表容量较小而结果表容量较大的表,其分别存放于内、外部存储器中。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第三十二研究所,未经中国电子科技集团公司第三十二研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410326150.1/,转载请声明来源钻瓜专利网。