[发明专利]一种哈希查找表的方法和装置有效
申请号: | 200910173981.9 | 申请日: | 2009-09-27 |
公开(公告)号: | CN101692651A | 公开(公告)日: | 2010-04-07 |
发明(设计)人: | 周昶;缪欣;周晓晶 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L29/06 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 李健;龙洪 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 查找 方法 装置 | ||
技术领域
本发明涉及网络通信领域,尤其涉及网络通信中哈希查找表的硬件实现 问题。更具体地说,涉及一种哈希查找表的方法和装置。
背景技术
在网络通信领域,查找表是必不可少的,例如查找MAC表,ARP表, MPLS标签表等,而哈希查找表是一种广泛应用的方法,其基本思想为:在 记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关 键字和哈希表中一个唯一的存储地址相对应。而确定的对应关系f为对应的 哈希函数,每次查找表时,通过哈希函数得到存储表项,提取表项的相关信 息位,与查找的关键字匹配,根据匹配情况返回查找结果。
在实际使用的情况中,关键字数值值域一般很大,而实际存储的空间很 小,对应关系f无法实现关键字与存储地址的一一对应,多个关键字对应同 一个存储地址,造成“哈希冲突”。
目前的冲突解决方法主要从两个方面考虑:
1,提高哈希函数的性能,使经过哈希函数计算后的哈希值最大程度上 的均匀分布。例如专利号为CN200810225868的中国专利申请“具有单轮次 抗碰撞散列函数的方法”,它就是以耦合映射格子为模型,采用浮点运算和 比特操作相结合的方法,提高单轮次运算的复杂性来减少冲突,但是因为实 际存储空间远小于哈希关键字的地址空间,冲突不可能避免,相反哈希函数 操作复杂,反而会带来实现上的困难。
2,发明冲突解决的方案,主流方案目前主要有两种:
第一种是线性探索法,例如专利号为CN200710064368的中国专利申请 “哈希表的操作方法和装置”,它就是对线性探索法进行了改进,采用向上 和向下两个方向进行探索,探索时一次从外部RAM向CPU读入N个表项, 以提高效率,但是在冲突剧烈时,查找的效率会急剧下降。
第二种是增加存储空间,方法有建立冲突链,增加哈希桶,添加哈希表 再次哈希等,例如专利号为CN200610008448的中国专利申请“一种改进的 哈希方法进行查找的方法”,专利号为CN200610152578的中国专利申请“一 种解决哈希冲突的方法和装置”,以及专利号为CN200710175544的中国专 利申请“关键字存储查找方法和设备”都是采用上述几个方法的结合和改进。 而这些发明同样存在着存储资源消耗相对较大,查找效率相对较低等问题。
在网络通信中,信息的存储转发速率的要求越来越高,哈希表的查找处 理速度的要求也越来越快,因此需要一种易于实现,查找迅速,资源消耗较 少的哈希查找方法。
现在相关的专利文献包括:专利号为CN200710049572的中国专利申请 “一种哈希表的操作方法”和专利号为US20080034115的美国专利申请 “Apparatus For Handling Hash Collisions Of Hash Searching And Method Using The Same”(运用相同的哈希查找方法解决哈希冲突的装置),其中:
专利号为CN200710049572的中国专利申请存在以下的不足:一、该发 明的应用采用主从式并行多核处理器,多核处理器的应用的复杂性造成了使 用的局限性;二、该发明采用多个内存管理,也就是多张哈希存储表,这些 存储表之间的信息交互等等问题该发明并没有说明。三、该发明并没有给出 硬件的实现方式。
专利号为US20080034115的美国专利申请存在以下的不足:该发明以 硬件方式实现哈希查表,提出在哈希冲突时信息存储在CAM(Content Addressable Memory内容寻址存储器)中,查找时CAM和哈希表同时查找 的方法,该发明硬件实现需要外挂CAM,需要添加CAM寻址接口,而且 冲突剧烈时,信息集中在CAM中,造成了哈希表存储空间资源的浪费,无 法体现效率和资源之间的公平性。
发明内容
本发明的目的在于,克服现有技术实现哈希查找中存在的速度和哈希冲 突的问题,提出一种以硬件方式实现抗冲突并行哈希表的建立查找的方法和 装置,以节省哈希表的存储资源和提高哈希查找的效率。
为解决上述技术问题,本发明提出一种哈希存储表的方法,包括:
规划出一主表存储空间,该主表存储空间又分为若干个地址空间;
建立多个哈希函数,并利用该多个哈希函数对待存储信息的关键字进行 哈希计算,得到多个索引值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910173981.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种治疗痔疮的中药组合物
- 下一篇:新型外用剂