[发明专利]一种基于多重哈希的报文分流方法及装置有效
申请号: | 201711215784.X | 申请日: | 2017-11-28 |
公开(公告)号: | CN108111421B | 公开(公告)日: | 2021-02-09 |
发明(设计)人: | 丁建华 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | H04L12/743 | 分类号: | H04L12/743;H04L12/851 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 王汝银 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 多重 报文 分流 方法 装置 | ||
本发明提供了一种基于多重哈希的报文分流方法及装置,所述的方法利用两个hash算法分别计算出两个hash结果,利用其中一个hash结果查找空间主表的结果作为基准索引,并利用另一个hash结果查找空间子表的结果作为辅助索引修正基准索引。所述的装置包括:第一计算单元,用于利用hash算法A计算hash结果A;第二计算单元,用于利用hash算法B计算hash结果B;第一查找单元,用结果A查找hash空间主表并获得查找结果a;第二查找单元,用结果B查找hash空间子表并获得查找结果b;第三计算单元,用于判断查找结果a的冲突情况,以及计算查找目的表项索引。本发明利用两个哈希函数来构造双哈希探查序列,用以有效地避免冲突,从而节省分流时间,提高分流效率。
技术领域
本发明涉及计算机技术领域,具体的说是一种基于多重哈希的报文分流方法及装置。
背景技术
随着Internet规模的不断扩大与应用技术的不断进步,越来越多的业务需要对数据包进行实时、快速的分类。对于各种各样的网络报文处理功能来说,能准确高效地区分、识别报文是关键,但是报文解析字段越复杂,所需要的处理消耗越大,解析效率也就越低。为此出现了很多的算法,如散列(hash)算法、线性查找表、内容查找算法等,以期望能更准确、更高效的实现报文的分类处理。
Hash,一般翻译做“散列”,也有直接音译为哈希的,就是把任意长度的输入通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。一提到将一个大位宽的值映射到一个小位宽的值,Hash算法总是第一个被人们想到,高效、易于实现和资源占用率低是它突出的优点。
但是,常用的Hash算法不能保证输入值和输出值唯一对应,即产生冲突,导致分流过滤耗时较长。
发明内容
为了解决上述问题,提供了一种基于多重哈希的报文分流方法及装置,利用两个哈希函数来构造双哈希探查序列,用以有效地避免冲突,从而节省分流时间,提高分流效率。
本发明实施例提供了一种基于多重哈希的报文分流方法,所述的方法利用两个hash算法分别计算出两个hash结果,利用其中一个hash结果查找空间主表的结果作为基准索引,并利用另一个hash结果查找空间子表的结果作为辅助索引修正基准索引。
进一步的,所述的hash算法A和hash算法B具有正交关系。
进一步的,所述的方法包括以下步骤:
S1:分别利用hash算法A和hash算法B计算hash结果A和hash结果B;
S2:用hash结果A查找hash空间主表;
S3:检查查表结果的冲突标志是否有效,若是,进入下一步,若否,则查找目的表项的索引为查找结果a;
S4:用查找结果结果B查找hash空间子表并获得查找结果b;
S5:计算查找目的表项的索引为a+b。
进一步的,所述的方法包括以下步骤:
S1:利用hash算法A计算hash结果A;
S2:用查找结果结果A查找hash空间主表;
S3:检查查表结果的冲突标志是否有效,若是,进入下一步,若否,则查找目的表项的索引为查找结果a;
S4:利用hash算法B计算hash结果B;
S5:用查找结果结果B查找hash空间子表并获得查找结果b;
S6:计算查找目的表项的索引为a+b。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711215784.X/2.html,转载请声明来源钻瓜专利网。