CN108111421B - 一种基于多重哈希的报文分流方法及装置 - Google Patents
一种基于多重哈希的报文分流方法及装置 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000004364 calculation method Methods 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
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:用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。
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100957782B1 (ko) * | 2007-11-19 | 2010-05-13 | 한국전자통신연구원 | 캐시 메모리 및 그 제어 방법 |
-
2017
- 2017-11-28 CN CN201711215784.XA patent/CN108111421B/zh active Active
Patent Citations (5)
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 |