[发明专利]哈希计算处理方法及装置无效
申请号: | 201180001122.7 | 申请日: | 2011-07-22 |
公开(公告)号: | CN102308296A | 公开(公告)日: | 2012-01-04 |
发明(设计)人: | 卢胜文 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L12/56 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算 处理 方法 装置 | ||
技术领域
本发明涉及数据处理技术领域,特别涉及一种哈希计算处理方法及装置。
背景技术
哈希表(Hash Table)也叫散列表,它是一种用途很广且查找效率很高的数据表。通过映射函数将关键字映射成一个值,这个映射函数叫做哈希函数,该值称之为哈希值。哈希值通常作为表的位置来访问记录,以加快查找的速度。但是,对于不同的关键字在执行哈希计算时,可能得到同一个哈希值,即关键字key1≠Key2,而哈希值H(key1)=H(Key2),这种现象称为哈希冲突。
为解决哈希冲突,通常做法是在同一个哈希值下建立哈希桶,每个哈希桶存储N个记录,形成冲突链表,在查找时,首先通过哈希函数H找到给定值K的哈希地址H(K),然后以H(K)为地址读出其哈希桶内的N个记录,最后以关键字K对读出的N个记录进行精确匹配,如果发现有匹配的记录,则查找成功,否则查找失败。但是,这种方法存在的问题是在对报文中的关键字进行哈希计算时产生的哈希冲突链的长度无法控制,如果哈希冲突链的长度太长会导致报文的存储的效率很低。
三态内容寻址存储器(Ternary Content Addressable Memory,简称TCAM)是一种专用于进行查找操作的硬件芯片,主要用于快速查找访问控制列表(Access Control List,ACL)、路由等表项,将冲突表项放入TCAM中,能够使得哈希冲突链的长度可控。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:现有技术中为解决报文的哈希冲突的问题而采用建立哈希桶的方法,无法控制哈希冲突链的长度,如果哈希冲突链的长度太长会导致报文的存储的效率很低;而通过TCAM实现哈希处理的方法,虽然能够控制哈希冲突链的长度,但是实现成本较高。
发明内容
本发明的实施例提供一种哈希计算处理方法及装置,用于解决现有技术存在着的哈希冲突链长度控制成本较高的问题。
本发明实施例采用的技术方案为:
一种哈希计算处理方法,包括:
接收报文,提取所述报文中需要进行哈希计算的关键字;
使用主用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的主用哈希值;
判断与所述主用哈希值对应的主用哈希存储块中的第一冲突表项数是否小于预设的最大冲突数;其中,所述主用哈希存储块包括至少一个所述第一冲突表项,每个所述第一冲突表项对应一个关键字,每个所述第一冲突表项对应的关键字通过所述主用哈希函数计算后得到的所述主用哈希值相同;
如果所述主用哈希存储块中的第一冲突表项数小于所述最大冲突数,则在所述主用哈希存储块中建立与所述关键字对应的第一冲突表项;
如果所述主用哈希存储块中的第一冲突表项数不小于所述最大冲突数,使用备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值,在与所述备用哈希值对应的备用哈希存储块中建立与所述关键字对应的第二冲突表项;其中,所述主用哈希值与所述备用哈希值不相同,所述备用哈希存储块包括至少一个所述第二冲突表项,每个所述第二冲突表项对应一个关键字,每个所述第二冲突表项对应的关键字通过所述备用哈希函数计算后得到的所述备用哈希值相同。
一种哈希计算处理装置,包括:
接收模块,用于接收报文;
关键字提取模块,用于提取所述报文中需要进行哈希计算的关键字;
主用哈希计算模块,用于使用主用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的主用哈希值;
第一判断模块,用于判断与所述主用哈希值对应的主用哈希存储块中的第一冲突表项数是否小于预设的最大冲突数;其中,所述主用哈希存储块包括至少一个所述第一冲突表项,每个所述第一冲突表项对应一个关键字,每个所述第一冲突表项对应的关键字通过所述主用哈希函数计算后得到的所述主用哈希值相同;
第一冲突表项建立模块,用于当所述主用哈希存储块中的第一冲突表项数小于所述最大冲突数时,在所述主用哈希存储块中建立与所述关键字对应的第一冲突表项;
备用哈希计算模块,用于当所述主用哈希存储块中的第一冲突表项数不小于所述最大冲突数时,使用备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180001122.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:顶开窗型单栋塑料大棚
- 下一篇:一种视频连接的控制方法和设备