CN108111421A - 一种基于多重哈希的报文分流方法及装置 - Google Patents
一种基于多重哈希的报文分流方法及装置 Download PDFInfo
- Publication number
- CN108111421A CN108111421A CN201711215784.XA CN201711215784A CN108111421A CN 108111421 A CN108111421 A CN 108111421A CN 201711215784 A CN201711215784 A CN 201711215784A CN 108111421 A CN108111421 A CN 108111421A
- Authority
- CN
- China
- Prior art keywords
- hash
- result
- lookup
- index
- algorithm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000000694 effects Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于多重哈希的报文分流方法及装置,所述的方法利用两个hash算法分别计算出两个hash结果,利用其中一个hash结果查找空间主表的结果作为基准索引,并利用另一个hash结果查找空间子表的结果作为辅助索引修正基准索引。所述的装置包括:第一计算单元,用于利用hash算法A计算hash结果A;第二计算单元,用于利用hash算法B计算hash结果B;第一查找单元,用结果A查找hash空间主表并获得查找结果a;第二查找单元,用结果B查找hash空间子表并获得查找结果b;第三计算单元,用于判断查找结果a的冲突情况,以及计算查找目的表项索引。本发明利用两个哈希函数来构造双哈希探查序列,用以有效地避免冲突,从而节省分流时间,提高分流效率。
Description
技术领域
本发明涉及计算机技术领域,具体的说是一种基于多重哈希的报文分流方法及装置。
背景技术
随着Internet规模的不断扩大与应用技术的不断进步,越来越多的业务需要对数据包进行实时、快速的分类。对于各种各样的网络报文处理功能来说,能准确高效地区分、识别报文是关键,但是报文解析字段越复杂,所需要的处理消耗越大,解析效率也就越低。为此出现了很多的算法,如散列(hash)算法、线性查找表、内容查找算法等,以期望能更准确、更高效的实现报文的分类处理。
Hash,一般翻译做“散列”,也有直接音译为"哈希"的,就是把任意长度的输入通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。一提到将一个大位宽的值映射到一个小位宽的值,Hash算法总是第一个被人们想到,高效、易于实现和资源占用率低是它突出的优点。
但是,常用的Hash算法不能保证输入值和输出值唯一对应,即产生冲突,导致分流过滤耗时较长。
发明内容
为了解决上述问题,提供了一种基于多重哈希的报文分流方法及装置,利用两个哈希函数来构造双哈希探查序列,用以有效地避免冲突,从而节省分流时间,提高分流效率。
本发明实施例提供了一种基于多重哈希的报文分流方法,所述的方法利用两个hash算法分别计算出两个hash结果,利用其中一个hash结果查找空间主表的结果作为基准索引,并利用另一个hash结果查找空间子表的结果作为辅助索引修正基准索引。
进一步的,所述的hash算法A和hash算法B具有正交关系。
进一步的,所述的方法包括以下步骤:
S1:分别利用hash算法A和hash算法B计算hash结果A和hash结果B;
S2:用结果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。
本发明实施例还提供了一种基于多重哈希的报文分流装置,所述的装置包括:
第一计算单元,用于利用hash算法A计算hash结果A;
第二计算单元,用于利用hash算法B计算hash结果B;
第一查找单元,用结果A查找hash空间主表并获得查找结果a;
第二查找单元,用结果B查找hash空间子表并获得查找结果b;
第三计算单元,用于判断查找结果a的冲突情况,以及计算查找目的表项索引。
进一步的,所述第一计算单元中的hash算法A和所述第二计算单元中的hash算法B具有正交关系。
进一步的,第三计算单元中,查找结果a的冲突情况与计算查找目的表项索引之间的对应关系为:
查找结果a发生冲突,则计算出的查找目的表项索引为a+b;
查找结果a未发生冲突,则计算出的查找目的表项索引为a。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
1、利用两个哈希函数来构造双哈希探查序列,能够有效避免冲突,得到更小的分流候选集,提高了索引的构建效率,从而更有效的提交了分流效率。
2、两个哈希算法存在正交关系,可以更叫准确的修正冲突,提高分流质量,提升分流效率。
附图说明
图1是本发明实施例1的方法流程图;
图2是本发明实施例1的装置原理图;
图3是本发明实施例2的方法流程图;
图4是本发明实施例2的装置原理图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
本方法的原理是采用两级哈希算法实现报文的分流。当报文分流时,两个任意的数值用hash算法A进行查表存在冲突的话,用与算法A正交的算法B再进行hash处理。只有冲突时才会执行再次的hash查找。当一级hash查表结果发生冲突时,hash算法A的结果与hash算法B的结果共同作为结果表的查找索引。
实施例1
如图1所示,本发明实施例1提供了一种基于多重哈希的报文分流方法,所述的方法包括以下步骤:
S1:对于待查表的数值,分别用存在正交关系的hash算法A和hash算法B进行计算,分别得到hash结果a和b。
S2:用hash结果a作为索引查找hash空间主表。
S3:检查查表结果的冲突标志是否有效,如果查表结果的冲突标志位有效,代表发生冲突,进入下一步,如果查主表结果的冲突标志指示未发生冲突,则用于查找目的表项的索引为a。
S4:用hash结果b作为索引查找hash空间子表,查找的结果为b。
S5:计算最终的目的表项索引为a+b。
如图2所示,本明实施例1提供了一种基于多重哈希的报文分流装置,所述的装置包括第一计算单元、第二计算单元、第一查找单元、第二查找单元、第三计算单元。
首先,第一计算单元利用hash算法A计算hash结果A。
然后,第二计算单元利用与hash算法A正交的hash算法B计算hash结果B。
第三,第一查找单元用结果A查找hash空间主表并获得查找结果a。
第四,第三计算单元判断查找结果a的冲突情况,并在产生冲突时进入下一环节。
第五,第二查找单元,用结果B查找hash空间子表并获得查找结果b。
第六,第三计算单元计算查找目的表项索引,第三计算单元中,查找结果a的冲突情况与计算查找目的表项索引之间的对应关系为:查找结果a发生冲突,则计算出的查找目的表项索引为a+b;查找结果a未发生冲突,则计算出的查找目的表项索引为a。
实施例2
如图3所示,本发明实施例1提供了一种基于多重哈希的报文分流方法,所述的方法包括以下步骤:
S1:对于待查表的数值,用hash算法A进行计算,得到hash结果a。
S2:用hash结果a作为索引查找hash空间主表。
S3:检查查表结果的冲突标志是否有效,如果查表结果的冲突标志位有效,代表发生冲突,进入下一步,如果查主表结果的冲突标志指示未发生冲突,则用于查找目的表项的索引为a。
S4:对于待查表的数值,用和hash算法A存在正交关系的hash算法B进行计算,得到hash结果b。
S5:用hash结果b作为索引查找hash空间子表,查找的结果为b。
S6:计算最终的目的表项索引为a+b。
如图4所示,本明实施例1提供了一种基于多重哈希的报文分流装置,所述的装置包括第一计算单元、第二计算单元、第一查找单元、第二查找单元、第三计算单元。
首先,第一计算单元利用hash算法A计算hash结果A。
然后,第一查找单元用结果A查找hash空间主表并获得查找结果a。
第三,第三计算单元判断查找结果a的冲突情况,并在产生冲突时进入下一环节。
第四,第二计算单元利用与hash算法A正交的hash算法B计算hash结果B。
第五,第二查找单元,用结果B查找hash空间子表并获得查找结果b。
第六,第三计算单元计算查找目的表项索引,第三计算单元中,查找结果a的冲突情况与计算查找目的表项索引之间的对应关系为:查找结果a发生冲突,则计算出的查找目的表项索引为a+b;查找结果a未发生冲突,则计算出的查找目的表项索引为a。
尽管说明书及附图和实施例对本发明创造已进行了详细的说明,但是,本领域技术人员应当理解,仍然可以对本发明创造进行修改或者等同替换;而一切不脱离本发明创造的精神和范围的技术方案及其改进,其均涵盖在本发明创造专利的保护范围当中。
Claims (7)
1.一种基于多重哈希的报文分流方法,其特征是:所述的方法利用两个hash算法分别计算出两个hash结果,利用其中一个hash结果查找空间主表的结果作为基准索引,并利用另一个hash结果查找空间子表的结果作为辅助索引修正基准索引。
2.根据权利要求1所述的一种基于多重哈希的报文分流方法,其特征是:所述的hash算法A和hash算法B具有正交关系。
3.根据权利要求2所述的一种基于多重哈希的报文分流方法,其特征是:所述的方法包括以下步骤:
S1:分别利用hash算法A和hash算法B计算hash结果A和hash结果B;
S2:用结果A查找hash空间主表;
S3:检查查表结果的冲突标志是否有效,若是,进入下一步,若否,则查找目的表项的索引为a;
S4:用结果B查找hash空间子表并获得查找结果b;
S5:计算查找目的表项的索引为a+b。
4.根据权利要求2所述的一种基于多重哈希的报文分流方法,其特征是:所述的方法包括以下步骤:
S1:利用hash算法A计算hash结果A;
S2:用结果A查找hash空间主表;
S3:检查查表结果的冲突标志是否有效,若是,进入下一步,若否,则查找目的表项的索引为a;
S4:利用hash算法B计算hash结果B;
S5:用结果B查找hash空间子表并获得查找结果b;
S6:计算查找目的表项的索引为a+b。
5.一种基于多重哈希的报文分流装置,其特征是:所述的装置包括:
第一计算单元,用于利用hash算法A计算hash结果A;
第二计算单元,用于利用hash算法B计算hash结果B;
第一查找单元,用结果A查找hash空间主表并获得查找结果a;
第二查找单元,用结果B查找hash空间子表并获得查找结果b;
第三计算单元,用于判断查找结果a的冲突情况,以及计算查找目的表项索引。
6.根据权利要求5所述的一种基于多重哈希的报文分流装置,其特征是:所述第一计算单元中的hash算法A和所述第二计算单元中的hash算法B具有正交关系。
7.根据权利要求5或6所述的一种基于多重哈希的报文分流装置,其特征是:第三计算单元中,查找结果a的冲突情况与计算查找目的表项索引之间的对应关系为:
查找结果a发生冲突,则计算出的查找目的表项索引为a+b;
查找结果a未发生冲突,则计算出的查找目的表项索引为a。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711215784.XA CN108111421B (zh) | 2017-11-28 | 2017-11-28 | 一种基于多重哈希的报文分流方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711215784.XA CN108111421B (zh) | 2017-11-28 | 2017-11-28 | 一种基于多重哈希的报文分流方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108111421A true CN108111421A (zh) | 2018-06-01 |
CN108111421B CN108111421B (zh) | 2021-02-09 |
Family
ID=62208539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711215784.XA Active CN108111421B (zh) | 2017-11-28 | 2017-11-28 | 一种基于多重哈希的报文分流方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108111421B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020125741A1 (zh) * | 2018-12-21 | 2020-06-25 | 中兴通讯股份有限公司 | 哈希冲突的处理方法、装置、设备及计算机可读存储介质 |
CN111953682A (zh) * | 2020-08-11 | 2020-11-17 | 北京八分量信息科技有限公司 | 银行云计算门户网站页面的防篡改方法、装置及相关产品 |
CN114077380A (zh) * | 2020-08-20 | 2022-02-22 | 深圳市中兴微电子技术有限公司 | 一种多通道查表方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034412A (zh) * | 2007-04-02 | 2007-09-12 | 华为技术有限公司 | 一种信息存储的方法、信息查找的方法及引擎装置 |
US20090132784A1 (en) * | 2007-11-19 | 2009-05-21 | Lee Jung Keun | Cache memory and method of operating the same |
CN102308296A (zh) * | 2011-07-22 | 2012-01-04 | 华为技术有限公司 | 哈希计算处理方法及装置 |
CN102880724A (zh) * | 2012-10-23 | 2013-01-16 | 盛科网络(苏州)有限公司 | 处理哈希冲突的方法及系统 |
CN103425725A (zh) * | 2012-05-20 | 2013-12-04 | 国际商业机器公司 | 散列冲突降低系统 |
CN105827394A (zh) * | 2016-03-10 | 2016-08-03 | 浙江亿邦通信科技股份有限公司 | 一种基于FPGA的Hash算法硬件实现装置 |
-
2017
- 2017-11-28 CN CN201711215784.XA patent/CN108111421B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034412A (zh) * | 2007-04-02 | 2007-09-12 | 华为技术有限公司 | 一种信息存储的方法、信息查找的方法及引擎装置 |
US20090132784A1 (en) * | 2007-11-19 | 2009-05-21 | Lee Jung Keun | Cache memory and method of operating the same |
CN102308296A (zh) * | 2011-07-22 | 2012-01-04 | 华为技术有限公司 | 哈希计算处理方法及装置 |
CN103425725A (zh) * | 2012-05-20 | 2013-12-04 | 国际商业机器公司 | 散列冲突降低系统 |
CN102880724A (zh) * | 2012-10-23 | 2013-01-16 | 盛科网络(苏州)有限公司 | 处理哈希冲突的方法及系统 |
CN105827394A (zh) * | 2016-03-10 | 2016-08-03 | 浙江亿邦通信科技股份有限公司 | 一种基于FPGA的Hash算法硬件实现装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020125741A1 (zh) * | 2018-12-21 | 2020-06-25 | 中兴通讯股份有限公司 | 哈希冲突的处理方法、装置、设备及计算机可读存储介质 |
CN111953682A (zh) * | 2020-08-11 | 2020-11-17 | 北京八分量信息科技有限公司 | 银行云计算门户网站页面的防篡改方法、装置及相关产品 |
CN114077380A (zh) * | 2020-08-20 | 2022-02-22 | 深圳市中兴微电子技术有限公司 | 一种多通道查表方法和装置 |
WO2022037436A1 (zh) * | 2020-08-20 | 2022-02-24 | 深圳市中兴微电子技术有限公司 | 一种多通道查表方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108111421B (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11102120B2 (en) | Storing keys with variable sizes in a multi-bank database | |
Kogan et al. | SAX-PAC (scalable and expressive packet classification) | |
CN108111421A (zh) | 一种基于多重哈希的报文分流方法及装置 | |
US20160048585A1 (en) | Bloom filter with memory element | |
US9336203B2 (en) | Semantics-oriented analysis of log message content | |
EP2944059B1 (en) | High performance hash-based lookup for packet processing in a communication network | |
US20110295779A1 (en) | Regular expression matching method and system | |
Kogan et al. | Exploiting order independence for scalable and expressive packet classification | |
Schätzle et al. | Large-scale bisimulation of RDF graphs | |
JPWO2011004846A1 (ja) | 情報検索システム、情報管理装置、情報検索方法、情報管理方法、及び、記録媒体 | |
US20140222870A1 (en) | System, Method, Software, and Data Structure for Key-Value Mapping and Keys Sorting | |
US20150256450A1 (en) | Generating a Shape Graph for a Routing Table | |
RU2015102520A (ru) | Способы и системы автоматического распознавания символов с использованием дерева решений | |
KR101311031B1 (ko) | 검증 블룸 필터를 포함하는 멀티 블룸 필터 | |
CN103077208A (zh) | 统一资源定位符匹配处理方法及装置 | |
CN106372202A (zh) | 文本相似度计算方法及装置 | |
US20130191410A1 (en) | Document similarity evaluation system, document similarity evaluation method, and computer program | |
CN106933844B (zh) | 面向大规模rdf数据的可达性查询索引的构建方法 | |
US9753484B1 (en) | Satisfiability filter and query tool and method of building a satisfiability filter and query tool | |
CN113821533B (zh) | 数据查询的方法、装置、设备以及存储介质 | |
Del Santo et al. | Reply to “Comment on ‘Physics without determinism: Alternative interpretations of classical physics’” | |
CN101848091B (zh) | 数据查找处理方法及系统 | |
US20200210493A1 (en) | Method for obtaining intersection of plurality of documents and document server | |
US9280573B2 (en) | System and method for array-based data storage and search | |
CN112637070B (zh) | 一种表项查找的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20201230 Address after: Building 9, No.1, guanpu Road, Guoxiang street, Wuzhong Economic Development Zone, Wuzhong District, Suzhou City, Jiangsu Province Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd. Address before: Room 1601, floor 16, 278 Xinyi Road, Zhengdong New District, Zhengzhou City, Henan Province Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |