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

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

Info

Publication number
CN108111421B
CN108111421B CN201711215784.XA CN201711215784A CN108111421B CN 108111421 B CN108111421 B CN 108111421B CN 201711215784 A CN201711215784 A CN 201711215784A CN 108111421 B CN108111421 B CN 108111421B
Authority
CN
China
Prior art keywords
hash
result
searching
search
index
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.)
Active
Application number
CN201711215784.XA
Other languages
English (en)
Other versions
CN108111421A (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
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent 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

Images

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:用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。
本发明实施例还提供了一种基于多重哈希的报文分流装置,所述的装置包括:
第一计算单元,用于利用hash算法A计算hash结果A;
第二计算单元,用于利用hash算法B计算hash结果B;
第一查找单元,用hash结果A查找hash空间主表并获得查找结果a;
第二查找单元,用hash结果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和hash结果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。
第三,第一查找单元用hash结果A查找hash空间主表并获得查找结果a。
第四,第三计算单元判断查找结果a的冲突情况,并在产生冲突时进入下一环节。
第五,第二查找单元,用hash结果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。
然后,第一查找单元用hash结果A查找hash空间主表并获得查找结果a。
第三,第三计算单元判断查找结果a的冲突情况,并在产生冲突时进入下一环节。
第四,第二计算单元利用与hash算法A正交的hash算法B计算hash结果B。
第五,第二查找单元,用hash结果B查找hash空间子表并获得查找结果b。
第六,第三计算单元计算查找目的表项索引,第三计算单元中,查找结果a的冲突情况与计算查找目的表项索引之间的对应关系为:查找结果a发生冲突,则计算出的查找目的表项索引为a+b;查找结果a未发生冲突,则计算出的查找目的表项索引为a。
尽管说明书及附图和实施例对本发明创造已进行了详细的说明,但是,本领域技术人员应当理解,仍然可以对本发明创造进行修改或者等同替换;而一切不脱离本发明创造的精神和范围的技术方案及其改进,其均涵盖在本发明创造专利的保护范围当中。

Claims (2)

1.一种基于多重哈希的报文分流方法,其特征是:所述的方法利用两个hash算法分别计算出两个hash结果,利用其中一个hash结果查找空间主表的结果作为基准索引,并利用另一个hash结果查找空间子表的结果作为辅助索引修正基准索引;所述的hash算法A和hash算法B具有正交关系;
所述的方法包括以下步骤:
S1:分别利用hash算法A和hash算法B计算hash结果A和hash结果B;
S2:用hash结果A查找hash空间主表;
S3:检查查表结果的冲突标志是否有效,若是,进入下一步,若否,则查找目的表项的索引为查找结果a;
S4:用hash结果B查找hash空间子表并获得查找结果b;
S5:计算查找目的表项的索引为a+b。
2.一种基于多重哈希的报文分流装置,其特征是:所述的装置包括:
第一计算单元,用于利用hash算法A计算hash结果A;
第二计算单元,用于利用hash算法B计算hash结果B;
第一查找单元,用hash结果A查找hash空间主表并获得查找结果a;
第二查找单元,用hash结果B查找hash空间子表并获得查找结果b;
第三计算单元,用于判断查找结果a的冲突情况,以及计算查找目的表项索引;
所述第一计算单元中的hash算法A和所述第二计算单元中的hash算法B具有正交关系;
第三计算单元中,查找结果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 CN108111421A (zh) 2018-06-01
CN108111421B true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111352931A (zh) * 2018-12-21 2020-06-30 中兴通讯股份有限公司 一种哈希冲突的处理方法、装置及计算机可读存储介质
CN111953682A (zh) * 2020-08-11 2020-11-17 北京八分量信息科技有限公司 银行云计算门户网站页面的防篡改方法、装置及相关产品
CN114077380A (zh) * 2020-08-20 2022-02-22 深圳市中兴微电子技术有限公司 一种多通道查表方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034412A (zh) * 2007-04-02 2007-09-12 华为技术有限公司 一种信息存储的方法、信息查找的方法及引擎装置
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算法硬件实现装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100957782B1 (ko) * 2007-11-19 2010-05-13 한국전자통신연구원 캐시 메모리 및 그 제어 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034412A (zh) * 2007-04-02 2007-09-12 华为技术有限公司 一种信息存储的方法、信息查找的方法及引擎装置
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算法硬件实现装置

Also Published As

Publication number Publication date
CN108111421A (zh) 2018-06-01

Similar Documents

Publication Publication Date Title
CN108111421B (zh) 一种基于多重哈希的报文分流方法及装置
US20190058661A1 (en) Storing keys with variable sizes in a multi-bank database
US20160173445A1 (en) Ccn routing using hardware-assisted hash tables
US7930516B1 (en) Linked list traversal with reduced memory accesses
US9009824B1 (en) Methods and apparatus for detecting phishing attacks
US20090274154A1 (en) Double-hash lookup mechanism for searching addresses in a network device
US10938776B2 (en) Apparatus and method for correlating addresses of different internet protocol versions
WO2008119269A1 (fr) Procédé et dispositif de moteur de stockage et de consultation d'informations
WO2011067932A1 (ja) 表検索装置、表検索方法、及び、表検索システム
CN103391272B (zh) 检测虚假攻击源的方法及系统
US9294390B2 (en) Hash table storage and search methods and devices
CN113519144B (zh) 用于网络设备的精确匹配和三元内容可寻址存储器(tcam)混合查找
JP2006180162A (ja) パケット交換装置およびパケット交換方法
US20200296041A1 (en) System and method for range matching
CN108881036B (zh) 一种基于查表运算的网络通信快速匹配方法及设备
WO2010020101A1 (zh) 用于通信系统的图片或多媒体视频图片的监控方法
US11416498B2 (en) Method, electronic device, and computer program product for data stream processing
CN111291078B (zh) 一种域名匹配检测方法及装置
US11695639B2 (en) Method and apparatus for searching for maintenance end point (MEP), and storage medium
CN109981460B (zh) 一种面向服务的融合网络、计算、存储一体化方法及装置
US8526436B2 (en) Address search method and packet processing device
JP2012507064A5 (zh)
CN104657383A (zh) 一种基于关联特性的重复视频检测方法与系统
CN107547390B (zh) 流表创建以及查询的方法及装置
CN112367261B (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