[发明专利]一种解决哈希碰撞的方法在审
申请号: | 201911107261.2 | 申请日: | 2019-11-13 |
公开(公告)号: | CN110825921A | 公开(公告)日: | 2020-02-21 |
发明(设计)人: | 陈晖;张晓峰;陈伟峰;王东锋 | 申请(专利权)人: | 天津光电通信技术有限公司 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/903 |
代理公司: | 天津中环专利商标代理有限公司 12105 | 代理人: | 李美英 |
地址: | 300220*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 解决 碰撞 方法 | ||
本发明公开了一种解决哈希碰撞的方法。该方法通过使用另外一个哈希函数来对规则再次进行计算,并将规则存入新的哈希表中,从而避免只计算一次哈希而带来的在原有哈希表中规则碰撞覆盖的问题。后面在进行key的搜索匹配时,同样对key也进行两次哈希计算,去两个哈希表中搜索,并将两个搜索结果取或以得到最终结果。这样,虽然原有哈希表由于碰撞问题没有搜索到对应的规则,但新的哈希表搜索到了对应规则,两个哈希表搜索结果取或后的最终结果是搜索到了期望的规则,即结果是命中的。采用本发明提供的方法可很好的解决哈希碰撞的问题,为基于哈希实现搜索匹配技术提供有益参考。
技术领域
本发明涉及数据搜索匹配领域,尤其涉及一种解决哈希碰撞的方法,用于解决在基于哈希实现数据搜索匹配时的碰撞问题。
背景技术
在数据搜索匹配时,通过将接收的数据与已知的数据库规则进行比对,来达到匹配筛选的目的。由于哈希表具有查找速度快、可存储大量规则的优点,而广泛应用于数据搜索匹配技术领域。但采用哈希表来进行数据搜索时,哈希碰撞问题是无法避免的。哈希碰撞是对不同规则或key,在使用相同哈希函数进行计算时,其哈希结果可能相同,也就是都会映射到哈希表的同一个位置上去,从而产生碰撞。一种通常的处理哈希碰撞的方法是,为每一个哈希计算结果预留一定的碰撞深度区间,当出现碰撞时,将不同的规则存到碰撞深度区间不同的位置,从而避免规则覆盖的问题。在进行key的搜索匹配时,要遍历碰撞深度区间内的每一条规则,看是否与待搜索的key相等,从而得到是否命中的结果。这种实现方式是最直接的,但弊端也是显而易见的,即由于碰撞深度区间的存在,导致在进行key的搜索匹配时,要遍历碰撞深度区间内的每一条规则,这会造成搜索性能的下降。此外,如果碰撞深度区间过大,会造成整个哈希表变得很大,需要的存储空间变多,这对于一些存储空间紧张的应用是无法接受的。
发明内容
鉴于上述技术存在的问题,本发明提供一种解决哈希碰撞的方法。本发明的目的就是要解决上述技术中存在的哈希表搜索性能下降、存储空间过大的问题。
本发明采取的技术方案是:一种解决哈希碰撞的方法,该方法在基于FPGA的硬件平台上实现,其特征在于,步骤如下:
假设有两条规则rule_0和rule_1需要存入哈希表,对应的哈希函数为hash,如果经过哈希运算即hash(rule_0)与hash(rule_1)结果相等,那么rule_1的规则会将rule_0的规则覆盖掉,后面如果有与rule_0对应的key_0需要匹配的话,那么key_0是不会匹配成功的;
为此,使用另外一个哈希函数记为hash_s,对rule_0和rule_1再次进行计算,此时hash_s(rule_0)与hash_s(rule_1)的结果已经不同,也就是两条规则都会存入新的哈希表中,不会出现碰撞覆盖的情况,后面如果有与rule_0对应的key_0需要匹配的话,那么哈希函数hash对应的哈希表不会命中,而哈希函数hash_s对应的哈希表可以命中,将两个命中结果取或,最终key_0得到希望的命中结果。
本发明所产生的有益效果是:通过对同一规则采用不同哈希函数计算两次的方法,在第一个哈希函数产生碰撞时,由于第二个哈希函数与第一个哈希函数不同的计算方式,所以第二个哈希函数在处理同样规则时产生碰撞的概率非常低,采用本发明提供的方法可很好的解决哈希碰撞的问题,极大的减少了哈希碰撞,且搜索性能没有任何下降,哈希表的存储空间也没有变得过大。本发明提供的方法在数据搜索匹配领域有广泛的应用价值。
附图说明
图1为哈希碰撞示意图;
图2为本发明解决哈希碰撞的原理图。
具体实施方式
以下结合附图对本发明做进一步说明:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津光电通信技术有限公司,未经天津光电通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911107261.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种导航计算机内场检查仪
- 下一篇:一种富马酸生产废水综合利用方法