CN108111421A - 一种基于多重哈希的报文分流方法及装置 - Google Patents

一种基于多重哈希的报文分流方法及装置 Download PDF

Info

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
Application number
CN201711215784.XA
Other languages
English (en)
Other versions
CN108111421B (zh
Inventor
丁建华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201711215784.XA priority Critical patent/CN108111421B/zh
Publication of CN108111421A publication Critical patent/CN108111421A/zh
Application granted granted Critical
Publication of CN108111421B publication Critical patent/CN108111421B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing 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。
CN201711215784.XA 2017-11-28 2017-11-28 一种基于多重哈希的报文分流方法及装置 Active CN108111421B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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算法硬件实现装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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