CN102308296A - 哈希计算处理方法及装置 - Google Patents

哈希计算处理方法及装置 Download PDF

Info

Publication number
CN102308296A
CN102308296A CN2011800011227A CN201180001122A CN102308296A CN 102308296 A CN102308296 A CN 102308296A CN 2011800011227 A CN2011800011227 A CN 2011800011227A CN 201180001122 A CN201180001122 A CN 201180001122A CN 102308296 A CN102308296 A CN 102308296A
Authority
CN
China
Prior art keywords
hash
subsequent use
key word
list item
storage block
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.)
Pending
Application number
CN2011800011227A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN102308296A publication Critical patent/CN102308296A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例公开了一种哈希计算处理方法及装置,所述方法包括:接收报文,提取所述报文中需要进行哈希计算的关键字;使用主用哈希函数对所述关键字进行哈希计算,判断与主用哈希值对应的主用哈希存储块中的第一冲突表项数是否小于预设的最大冲突数;如果所述主用哈希存储块中的第一冲突表项数小于所述最大冲突数,则在所述主用哈希存储块中建立与所述关键字对应的第一冲突表项;如果所述主用哈希存储块中的第一冲突表项数不小于所述最大冲突数,使用备用哈希函数对所述关键字进行哈希计算,在与备用哈希值对应的备用哈希存储块中建立与所述关键字对应的第二冲突表项。本发明适用于数据处理技术领域中的哈希计算处理。

Description

哈希计算处理方法及装置
技术领域
本发明涉及数据处理技术领域,特别涉及一种哈希计算处理方法及装置。
背景技术
哈希表(Hash Table)也叫散列表,它是一种用途很广且查找效率很高的数据表。通过映射函数将关键字映射成一个值,这个映射函数叫做哈希函数,该值称之为哈希值。哈希值通常作为表的位置来访问记录,以加快查找的速度。但是,对于不同的关键字在执行哈希计算时,可能得到同一个哈希值,即关键字key1≠Key2,而哈希值H(key1)=H(Key2),这种现象称为哈希冲突。
为解决哈希冲突,通常做法是在同一个哈希值下建立哈希桶,每个哈希桶存储N个记录,形成冲突链表,在查找时,首先通过哈希函数H找到给定值K的哈希地址H(K),然后以H(K)为地址读出其哈希桶内的N个记录,最后以关键字K对读出的N个记录进行精确匹配,如果发现有匹配的记录,则查找成功,否则查找失败。但是,这种方法存在的问题是在对报文中的关键字进行哈希计算时产生的哈希冲突链的长度无法控制,如果哈希冲突链的长度太长会导致报文的存储的效率很低。
三态内容寻址存储器(Ternary Content Addressable Memory,简称TCAM)是一种专用于进行查找操作的硬件芯片,主要用于快速查找访问控制列表(AccessControl List,ACL)、路由等表项,将冲突表项放入TCAM中,能够使得哈希冲突链的长度可控。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:现有技术中为解决报文的哈希冲突的问题而采用建立哈希桶的方法,无法控制哈希冲突链的长度,如果哈希冲突链的长度太长会导致报文的存储的效率很低;而通过TCAM实现哈希处理的方法,虽然能够控制哈希冲突链的长度,但是实现成本较高。
发明内容
本发明的实施例提供一种哈希计算处理方法及装置,用于解决现有技术存在着的哈希冲突链长度控制成本较高的问题。
本发明实施例采用的技术方案为:
一种哈希计算处理方法,包括:
接收报文,提取所述报文中需要进行哈希计算的关键字;
使用主用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的主用哈希值;
判断与所述主用哈希值对应的主用哈希存储块中的第一冲突表项数是否小于预设的最大冲突数;其中,所述主用哈希存储块包括至少一个所述第一冲突表项,每个所述第一冲突表项对应一个关键字,每个所述第一冲突表项对应的关键字通过所述主用哈希函数计算后得到的所述主用哈希值相同;
如果所述主用哈希存储块中的第一冲突表项数小于所述最大冲突数,则在所述主用哈希存储块中建立与所述关键字对应的第一冲突表项;
如果所述主用哈希存储块中的第一冲突表项数不小于所述最大冲突数,使用备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值,在与所述备用哈希值对应的备用哈希存储块中建立与所述关键字对应的第二冲突表项;其中,所述主用哈希值与所述备用哈希值不相同,所述备用哈希存储块包括至少一个所述第二冲突表项,每个所述第二冲突表项对应一个关键字,每个所述第二冲突表项对应的关键字通过所述备用哈希函数计算后得到的所述备用哈希值相同。
一种哈希计算处理装置,包括:
接收模块,用于接收报文;
关键字提取模块,用于提取所述报文中需要进行哈希计算的关键字;
主用哈希计算模块,用于使用主用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的主用哈希值;
第一判断模块,用于判断与所述主用哈希值对应的主用哈希存储块中的第一冲突表项数是否小于预设的最大冲突数;其中,所述主用哈希存储块包括至少一个所述第一冲突表项,每个所述第一冲突表项对应一个关键字,每个所述第一冲突表项对应的关键字通过所述主用哈希函数计算后得到的所述主用哈希值相同;
第一冲突表项建立模块,用于当所述主用哈希存储块中的第一冲突表项数小于所述最大冲突数时,在所述主用哈希存储块中建立与所述关键字对应的第一冲突表项;
备用哈希计算模块,用于当所述主用哈希存储块中的第一冲突表项数不小于所述最大冲突数时,使用备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值;
第二冲突表项建立模块,用于在与所述备用哈希值对应的备用哈希存储块中建立与所述关键字对应的第二冲突表项;其中,所述主用哈希值与所述备用哈希值不相同,所述备用哈希存储块包括至少一个所述第二冲突表项,每个所述第二冲突表项对应一个关键字,每个所述第二冲突表项对应的关键字通过所述备用哈希函数计算后得到的所述备用哈希值相同。
本发明实施例提供的哈希计算处理方法及装置,通过提取报文中需要进行哈希计算的关键字,使用主用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的主用哈希值,判断与所述主用哈希值对应的主用哈希存储块中的第一冲突表项数是否小于预设的最大冲突数,如果所述主用哈希存储块中的第一冲突表项数小于所述最大冲突数,则在所述主用哈希存储块中建立与所述关键字对应的第一冲突表项,如果所述主用哈希存储块中的第一冲突表项数不小于所述最大冲突数,使用备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值,在与所述备用哈希值对应的备用哈希存储块中建立与所述关键字对应的第二冲突表项。本发明实施例提供的哈希计算处理方法及装置,在对报文中的关键字进行哈希计算处理时,可以用低成本的方式解决现有技术对报文中的关键字进行哈希计算时生成的哈希冲突链的长度无法控制的问题,从而提高报文的存储效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一提供的哈希计算处理方法流程图;
图2为本发明实施例二提供的哈希计算处理方法流程图;
图3为本发明实施例二提供的哈希存储块的结构示意图;
图4为本发明实施例二提供的第一冲突表项数小于最大冲突数时的主用哈希存储块的结构示意图;
图5(a)为本发明实施例二提供的第一冲突表项数不小于最大冲突数时的主用哈希存储块的结构示意图;
图5(b)为本发明实施例二提供的备用哈希存储块的结构示意图;
图6为本发明实施例三提供的哈希计算处理方法流程图;
图7为本发明实施例四提供的哈希计算处理方法流程图;
图8为本发明实施例五提供的哈希计算处理装置结构示意图;
图9为本发明实施例五提供的哈希计算处理装置工作流程图;
图10为本发明实施例五提供的哈希计算处理装置的硬件电路示意图;
图11为本发明实施例五提供的哈希计算处理装置结构示意图;
图12为本发明实施例五提供的哈希计算处理装置结构示意图;
图13为本发明实施例五提供的哈希计算处理装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为使本发明技术方案的优点更加清楚,下面结合附图和实施例对本发明作详细说明。
实施例一
本实施例提供一种哈希计算处理方法,如图1所示,所述方法包括:
101、接收报文,提取所述报文中需要进行哈希计算的关键字;
102、使用主用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的主用哈希值;
103、判断与所述主用哈希值对应的主用哈希存储块中的第一冲突表项数是否小于预设的最大冲突数;其中,所述主用哈希存储块包括至少一个所述第一冲突表项,每个所述第一冲突表项对应一个关键字,每个所述第一冲突表项对应的关键字通过所述主用哈希函数计算后得到的所述主用哈希值相同;
104、如果所述主用哈希存储块中的第一冲突表项数小于所述最大冲突数,则在所述主用哈希存储块中建立与所述关键字对应的第一冲突表项;
105、如果所述主用哈希存储块中的第一冲突表项数不小于所述最大冲突数,使用备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值,在与所述备用哈希值对应的备用哈希存储块中建立与所述关键字对应的第二冲突表项;其中,所述主用哈希值与所述备用哈希值不相同,所述备用哈希存储块包括至少一个所述第二冲突表项,每个所述第二冲突表项对应一个关键字,每个所述第二冲突表项对应的关键字通过所述备用哈希函数计算后得到的所述备用哈希值相同。
本发明实施例提供的哈希计算处理方法,通过提取报文中需要进行哈希计算的关键字,使用主用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的主用哈希值,判断与所述主用哈希值对应的主用哈希存储块中的第一冲突表项数是否小于预设的最大冲突数,如果所述主用哈希存储块中的第一冲突表项数小于所述最大冲突数,则在所述主用哈希存储块中建立与所述关键字对应的第一冲突表项,如果所述主用哈希存储块中的第一冲突表项数不小于所述最大冲突数,使用备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值,在与所述备用哈希值对应的备用哈希存储块中建立与所述关键字对应的第二冲突表项。本发明实施例提供的哈希计算处理方法,在对报文中的关键字进行哈希计算处理时,可以用低成本的方式解决现有技术对报文中的关键字进行哈希计算时生成的哈希冲突链的长度无法控制的问题,从而提高报文的存储效率。
实施例二
本实施例提供一种哈希计算处理方法,如图2所示,所述方法包括:
201、接收报文,提取所述报文中需要进行哈希计算的IP地址;
202、使用主用哈希函数对所述报文的IP地址进行哈希计算,得到与所述报文的IP地址对应的主用哈希值;
203、判断与所述主用哈希值对应的主用哈希存储块中的第一冲突表项数是否小于预设的最大冲突数;其中,所述主用哈希存储块包括至少一个所述第一冲突表项,每个所述第一冲突表项对应一个报文的IP地址,每个所述第一冲突表项对应的报文的IP地址通过所述主用哈希函数计算后得到的所述主用哈希值相同;
204、如果所述主用哈希存储块中的第一冲突表项数小于所述最大冲突数,则在所述主用哈希存储块中建立与所述报文的IP地址对应的第一冲突表项;
其中,所述冲突表项包括:是否使用备用哈希函数进行哈希计算的标记、表项有效标记以及所述报文的IP地址。如图3所示,图中的冲突表项中的是否使用备用哈希函数进行哈希计算的标记B用于标识对所述报文的IP地址使用主用哈希函数进行哈希计算,还是使用备用哈希函数进行哈希计算。例如,当B=0时,表示使用主用哈希函数对所述报文的IP地址进行哈希计算,当B=1时,表示使用备用哈希函数对所述报文的IP地址进行哈希计算。图中冲突表项中的表项有效标志D用于标识所述冲突表项是否有效,当D=1时,表示所述冲突表项有效,当D=0时,表示所述冲突表项无效。
所述哈希存储块包括:一个是否存在通过备用哈希函数建立的冲突表项的标志和一个备用哈希函数类型标志。具体地,如图3所示,可以在哈希存储块中设置一个公共的备用哈希函数的计数器C,用于对通过备用哈希函数建立的第二冲突表项进行计数,当C=0时,表示不存在通过备用哈希函数建立的第二冲突表项,当C=1时,表示存在一个通过备用哈希函数建立的第二冲突表项。图中的哈希存储块中的备用哈希函数类型标志T,表示是否设置了备用哈希函数,当T=0时,表示没有设置备用哈希函数。
205、当所述主用哈希存储块中的第一冲突表项数不小于所述最大冲突数时,判断所述主用哈希存储块中的所述备用哈希函数类型标志是否被设置;
206、如果所述主用哈希存储块中的所述备用哈希函数类型标志已经被设置,根据所述备用哈希函数类型标志,选择与所述备用哈希函数类型标志对应的哈希函数作为备用哈希函数;
207、如果所述主用哈希存储块中的所述备用哈希函数类型标志没有被设置,选择一个哈希函数作为备用哈希函数,并在所述主用哈希存储块中设置所述备用哈希函数的类型标志;
具体地,可以选择一个比所述主用哈希函数产生哈希冲突少的哈希函数作为备用哈希函数;
或者,通过使用至少一个哈希函数对所述报文的IP地址进行哈希计算,得到至少一个与所述报文的IP地址对应的哈希函数值,选择一个与所述至少一个哈希函数值对应的哈希存储块中的冲突表项数小于所述最大冲突数的哈希函数作为备用哈希函数。
208、使用所述备用哈希函数对所述报文的IP地址进行哈希计算,得到与所述报文的IP地址对应的备用哈希值;
209、在与所述备用哈希值对应的备用哈希存储块中建立与所述报文的IP地址对应的第二冲突表项。
具体地,可以将所述主用哈希存储块中的公共的备用哈希函数的计数器的初始值设为一个预定的数(例如0),当所述主用哈希存储块中的第一冲突表项数不小于所述最大冲突数时,在所述备用哈希存储块中建立与所述报文的IP地址对应的第二冲突表项,并将所述主用哈希存储块中的所述公共的备用哈希函数的计数器的计数值加1。
如图4所示,例如预设在哈希存储块中产生哈希冲突的最大冲突数为6,在接收到报文以后,提取所述报文需要进行哈希计算的IP地址,假设所述报文的IP地址为10.0.0.1,使用主用哈希函数对所述报文的IP地址10.0.0.1进行哈希计算,得到与所述报文的IP地址10.0.0.1对应的主用哈希值为1,判断与所述主用哈希值1对应的主用哈希存储块中的第一冲突表项数为0,小于所述最大冲突数6,在所述主用哈希存储块中建立与所述报文的IP地址10.0.0.1对应的第一冲突表项。如果又接收到报文11.0.0.1,提取所述报文需要进行哈希计算的IP地址11.0.0.1,使用所述主用哈希函数对所述报文的IP地址11.0.0.1进行哈希计算,得到与所述报文的IP地址11.0.0.1对应的主用哈希值也是1,判断与所述主用哈希值1对应的主用哈希存储块中的第一冲突表项数为1,小于所述最大冲突数6,在所述主用哈希存储块中建立与所述报文的IP地址11.0.0.1对应的第一冲突表项,此时所述主用哈希存储块中的第一冲突表项数为2。类似地,依次接收到报文12.0.0.1、报文13.0.0.1、报文14.0.0.1、报文15.0.0.1,使用所述主用哈希函数依次对IP地址12.0.0.1、13.0.0.1、14.0.0.1、15.0.0.1进行哈希计算,得到与IP地址12.0.0.1、13.0.0.1、14.0.0.1、15.0.0.1对应的主用哈希值都为1,判断与所述主用哈希值1对应的主用哈希存储块中的第一冲突表项数分别为2,3,4,5,都小于所述最大冲突数6,在所述主用哈希存储块中建立与IP地址12.0.0.1、13.0.0.1、14.0.0.1、15.0.0.1对应的第一冲突表项,此时所述主用哈希存储块中的第一冲突表项数为6。
如图5所示(a)所示,假如这时接收到IP地址为16.0.0.1的报文,使用所述主用哈希函数对所述报文的IP地址16.0.0.1进行哈希计算,得到与所述报文的IP地址16.0.0.1对应的主用哈希值也为1,判断与所述主用哈希值1对应的主用哈希存储块中的第一冲突表项数为6,不小于所述最大冲突数6,判断所述主用哈希存储块中的所述备用哈希函数类型标志T是否被设置,如果所述主用哈希存储块中的所述备用哈希函数类型标志T=1,表示所述主用哈希存储块中的所述备用哈希函数类型标志已经被设置,根据所述备用哈希函数类型标志,选择与所述备用哈希函数类型标志对应的哈希函数作为备用哈希函数;如果所述主用哈希存储块中的所述备用哈希函数类型标志T=0,表示所述主用哈希存储块中的所述备用哈希函数类型标志没有被设置,选择一个比所述主用哈希函数产生哈希冲突少的哈希函数作为备用哈希函数,或者通过使用至少一个哈希函数对所述报文的IP地址进行哈希计算,得到至少一个与所述报文的IP地址对应的哈希函数值,选择一个与所述至少一个哈希函数值对应的哈希存储块中的冲突表项数小于所述最大冲突数的哈希函数作为备用哈希函数,使用所述备用哈希函数对所述报文的IP地址16.0.0.1进行哈希计算,得到与所述报文的IP地址16.0.0.1对应的备用哈希值为16,并在所述主用哈希存储块中设置所述备用哈希函数类型标志。如图5(b)所示,在与所述备用哈希值16对应的备用哈希存储块中建立与所述报文的IP地址16.0.0.1对应的第二冲突表项,并将所述主用哈希存储块中的备用哈希函数的计数器的计数值加1。
本发明实施例提供的哈希计算处理方法,通过在主用哈希存储块中设置一个是否存在通过备用哈希函数建立的冲突表项的标志和一个备用哈希函数类型标志,当主用哈希存储块中的第一冲突表项数不小于所述最大冲突数时,判断所述主用哈希存储块中的所述备用哈希函数类型标志是否被设置,如果所述主用哈希存储块中的所述备用哈希函数类型标志已经被设置,根据所述备用哈希函数类型标志,选择与所述备用哈希函数类型标志对应的哈希函数作为备用哈希函数,使用所述备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值,在与所述备用哈希值对应的备用哈希存储块中建立与所述关键字对应的第二冲突表项。本发明实施例提供的哈希计算处理方法,在对报文中的关键字进行哈希计算处理时,可以用低成本的方式解决现有技术对报文中的关键字进行哈希计算时生成的哈希冲突链的长度无法控制的问题,从而提高报文的存储效率。
实施例三
本实施例提供一种哈希计算处理方法,如图6所示,所述方法包括:
601、使用主用哈希函数对报文的关键字进行哈希计算,得到与所述关键字对应的主用哈希值;
602、在所述主用哈希存储块中查找与所述关键字对应的所述第一冲突表项,判断在所述主用哈希存储块中是否查到与所述关键字对应的所述第一冲突表项;
603、如果在所述主用哈希存储块中查到与所述关键字对应的所述第一冲突表项,返回查找结果;
604、如果在所述主用哈希存储块中没有查到与所述关键字对应的所述第一冲突表项,获得所述主用哈希存储块中的所述是否存在通过备用哈希函数建立的冲突表项的标志和所述备用哈希函数类型标志;
605、根据所述主用哈希存储块中的所述是否存在通过备用哈希函数建立的冲突表项的标志,判断是否存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项;
606、如果不存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项,返回没有查到;
607、如果存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项,使用所述主用哈希存储块中的所述备用哈希函数类型标志对应的备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值;
608、在与所述备用哈希值对应的备用哈希存储块中查找与所述关键字对应的所述第二冲突表项,判断在与所述备用哈希值对应的备用哈希存储块中是否查到与所述关键字对应的所述第二冲突表项;
609、如果在所述备用哈希存储块中查到与所述关键字对应的所述第二冲突表项,返回查找结果,如果在所述备用哈希存储块中没有查到与所述关键字对应的所述第二冲突表项,则返回没有查到。
本发明实施例提供的哈希计算处理方法,如果在主用哈希存储块中没有查到与关键字对应的第一冲突表项,使用所述主用哈希存储块中的备用哈希函数类型标志对应的备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值,在与所述备用哈希值对应的备用哈希存储块中查找与所述关键字对应的第二冲突表项,返回查找结果。和现有技术相比,本发明实施例提供的哈希计算处理方法,当在主用哈希存储块中没有找到与所述关键字对应的第一冲突表项时,则在备用哈希存储块中查找与所述关键字对应的第二冲突表项,可以缩短报文的查找时间,从而提高报文的查找效率。
实施例四
本实施例提供一种哈希计算处理方法,如图7所示,所述方法包括:
701、在主用哈希存储块中查找与报文的关键字对应的第一冲突表项;
702、判断是否在所述主用哈希存储块中查到与所述关键字对应的第一冲突表项;
703、如果在所述主用哈希存储块中查到与所述关键字对应的所述第一冲突表项,删除所述与所述关键字对应的所述第一冲突表项;
704、如果在所述主用哈希存储块中没有查到与所述关键字对应的第一冲突表项,获得所述主用哈希存储块中的所述是否存在通过备用哈希函数建立的冲突表项的标志和所述备用哈希函数类型标志;
705、根据所述主用哈希存储块中的所述是否存在通过备用哈希函数建立的冲突表项的标志,判断是否存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项;
具体地,可以通过所述主用哈希存储块中的公共的备用哈希函数的计数器判断是否存在通过备用哈希函数建立的第二冲突表项,如果所述主用哈希存储块中的备用哈希函数的计数器的计数值不为0,则存在通过备用哈希函数建立的冲突表项,如果所述主用哈希存储块中的备用哈希函数的计数器的计数值为0,则不存在通过备用哈希函数建立的冲突表项。
706、如果不存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项,返回没有查到;
707、如果存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项,使用所述主用哈希存储块中的所述备用哈希函数类型标志对应的备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值;
708、在所述备用哈希值对应的备用哈希存储块中查找与所述关键字对应的第二的冲突表项;
709、判断在所述备用哈希值对应的备用哈希存储块中是否查找与所述关键字对应的第二的冲突表项;
710、如果在所述备用哈希存储块中查到与所述关键字对应的所述第二冲突表项,删除所述与所述关键字对应的所述第二冲突表项,如果在所述备用哈希值对应的备用哈希存储块中没有查到与所述关键字对应的第二的冲突表项,则返回没有查到。
具体地,在所述备用哈希存储块中删除与所述关键字对应的第二冲突表项之后,将所述主用哈希存储块中的备用哈希函数的计数器的计数值减1。
本发明实施例提供的哈希计算处理方法,如果在主用哈希存储块中查到与报文的关键字对应的第一冲突表项,在所述主用哈希存储块中删除所述与所述关键字对应的第一冲突表项,如果在所述主用哈希存储块中没有查到与所述关键字对应的第一冲突表项,在备用哈希存储块中查找与所述关键字对应的第二冲突表项,如果查到,则在所述备用哈希存储块中删除与所述关键字对应的第二冲突表项。和现有技术相比,本发明实施例提供的哈希计算处理方法,可以用低成本的方式解决现有技术对报文中的关键字进行哈希计算时生成的哈希冲突链的长度无法控制的问题,从而提高报文的存储效率。
实施例五
本实施例提供一种哈希计算处理装置,如图8所示,所述装置包括:
接收模块801,用于接收报文;
关键字提取模块802,用于提取所述报文中需要进行哈希计算的关键字;
主用哈希计算模块803,用于使用主用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的主用哈希值;
第一判断模块804,用于判断与所述主用哈希值对应的主用哈希存储块中的第一冲突表项数是否小于预设的最大冲突数;其中,所述主用哈希存储块包括至少一个所述第一冲突表项,每个所述第一冲突表项对应一个关键字,每个所述第一冲突表项对应的关键字通过所述主用哈希函数计算后得到的所述主用哈希值相同;
第一冲突表项建立模块805,用于当所述主用哈希存储块中的第一冲突表项数小于所述最大冲突数时,在所述主用哈希存储块中建立与所述关键字对应的第一冲突表项;
备用哈希计算模块806,用于当所述主用哈希存储块中的第一冲突表项数不小于所述最大冲突数时,使用备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值;
第二冲突表项建立模块807,用于在与所述备用哈希值对应的备用哈希存储块中建立与所述关键字对应的第二冲突表项;其中,所述主用哈希值与所述备用哈希值不相同,所述备用哈希存储块包括至少一个所述第二冲突表项,每个所述第二冲突表项对应一个关键字,每个所述第二冲突表项对应的关键字通过所述备用哈希函数计算后得到的所述备用哈希值相同。
如图9所示,通过所述接收模块接收到报文以后,通过所述关键字提取模块提取所述报文中需要进行哈希计算的关键字,通过主用哈希计算模块使用主用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的主用哈希值,通过所述第一判断模块判断与所述主用哈希值对应的主用哈希存储块中的第一冲突表项数是否小于预设的最大冲突数,如果所述主用哈希存储块中的第一冲突表项数小于所述最大冲突数,通过所述第一冲突表项建立模块在所述主用哈希存储块中建立与所述关键字对应的第一冲突表项;如果所述主用哈希存储块中的第一冲突表项数不小于所述最大冲突数,通过所述备用哈希计算模块使用备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值,通过第二冲突表项建立模块在与所述备用哈希值对应的备用哈希存储块中建立与所述关键字对应的第二冲突表项。
具体地,如图10所示,所述接收模块在接收到报文以后,所述关键字提取模块通过处理器(如CPU)提取所述报文中需要进行哈希计算的关键字,所述主用哈希计算模块通过所述处理器使用主用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的主用哈希值,并将所述主用哈希值发送到存储器进行存储。所述第一判断模块通过所述处理器判断与所述主用哈希值对应的主用哈希存储块中的第一冲突表项数是否小于在所述存储器中预设的最大冲突数,如果所述主用哈希存储块中的第一冲突表项数小于所述最大冲突数,所述第一冲突表项建立模块通过所述处理器在所述主用哈希存储块中建立与所述关键字对应的第一冲突表项,并通过接口单元将哈希计算处理结果发送到其他设备;如果所述主用哈希存储块中的第一冲突表项数不小于所述最大冲突数,所述备用哈希计算模块通过所述处理器使用备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值,所述第二冲突表项建立模块通过所述处理器在与所述备用哈希值对应的备用哈希存储块中建立与所述关键字对应的第二冲突表项,并通过接口单元将哈希计算处理结果发送到其他设备。
进一步的,所述冲突表项包括:是否使用备用哈希函数进行哈希计算的标记、表项有效标记以及所述关键字。
进一步的,所述哈希存储块包括:一个是否存在通过备用哈希函数建立的冲突表项的标志和一个备用哈希函数类型标志。
进一步的,如图11所示,所述主用哈希计算模块803包括:
判断单元8031,用于判断所述主用哈希存储块中的所述备用哈希函数类型标志是否被设置;
第一选择单元8032,用于当所述主用哈希存储块中的所述备用哈希函数类型标志已经被设置时,根据所述主用哈希存储块中的所述备用哈希函数类型标志,选择与所述备用哈希函数类型标志对应的哈希函数作为备用哈希函数;
第一计算单元8033,用于使用所述备用哈希函数对所述关键字进行哈希计算。
进一步的,如图11所示,所述主用哈希计算模块803还可以包括:
第二选择单元8034,用于当所述主用哈希存储块中的所述备用哈希函数类型标志没有被设置时,选择一个哈希函数作为备用哈希函数;
所述第一计算单元8033,还用于使用所述备用哈希函数对所述关键字进行哈希计算;
设置单元8035,用于在所述主用哈希存储块中设置所述备用哈希函数类型标志。
进一步的,如图11所示,所述第二选择单元8034还包括:
第一选择子单元80341,用于选择一个比所述主用哈希函数产生哈希冲突少的哈希函数作为备用哈希函数;
第二选择子单元80342,用于通过使用至少一个哈希函数对所述关键字进行哈希计算,得到至少一个与所述关键字对应的哈希函数值,选择一个与所述至少一个哈希函数值对应的哈希存储块中的冲突表项数小于所述最大冲突数的哈希函数作为备用哈希函数。
进一步的,如图12所示,所述装置还可以包括:
查找模块808,在所述主用哈希存储块中查找与所述关键字对应的所述第一冲突表项;
返回模块809,用于当在所述主用哈希存储块中查到与所述关键字对应的所述第一冲突表项时,返回查找结果;
获得模块810,用于当在所述主用哈希存储块中没有查到与所述关键字对应的所述第一冲突表项时,获得所述主用哈希存储块中的所述是否存在通过备用哈希函数建立的冲突表项的标志和所述备用哈希函数类型标志;
第二判断模块811,用于根据所述主用哈希存储块中的所述是否存在通过备用哈希函数建立的冲突表项的标志,判断是否存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项;
所述返回模块809,用于当不存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项,返回没有查到;
所述备用哈希计算模块806,还用于当存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项时,使用所述主用哈希存储块中的所述备用哈希函数类型标志对应的备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值;
所述查找模块808,还用于在与所述备用哈希值对应的备用哈希存储块中查找与所述关键字对应的所述第二冲突表项;
所述返回模块809,还用于当在所述备用哈希存储块中查到与所述关键字对应的所述第二冲突表项时,返回查找结果;
所述返回模块809,还用于当在所述备用哈希存储块中没有查到与所述关键字对应的所述第二冲突表项,返回没有查到。
进一步的,如图13所示,所述装置还可以包括:
所述查找模块808,还用于在所述主用哈希存储块中查找与所述关键字对应的所述第一冲突表项;
删除模块812,用于当在所述主用哈希存储块中查到与所述关键字对应的所述第一冲突表项时,删除所述与所述关键字对应的所述第一冲突表项。
进一步的,如图13所示,所述装置还可以包括:
所述获得模块810,还用于当在所述主用哈希存储块中没有查到与所述关键字对应的所述第一冲突表项,获得所述主用哈希存储块中的所述是否存在通过备用哈希函数建立的冲突表项的标志和所述备用哈希函数类型标志;
所述第二判断模块811,还用于根据所述主用哈希存储块中的所述是否存在通过备用哈希函数建立的冲突表项的标志,判断是否存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项;
所述返回模块809,还用于当不存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项时,返回没有查到;
所述备用哈希计算模块806,还用于当存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项时,使用所述主用哈希存储块中的所述备用哈希函数类型标志对应的备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值;
所述查找模块808,还用于在所述备用哈希值对应的备用哈希存储块中查找与所述关键字对应的第二的冲突表项;
所述删除模块812,还用于当在所述备用哈希存储块中查到与所述关键字对应的所述第二冲突表项时,删除所述与所述关键字对应的所述第二冲突表项;
所述返回模块809,还用于当在所述备用哈希值对应的备用哈希存储块中没有查到与所述关键字对应的第二的冲突表项时,返回没有查到。
本发明实施例提供的哈希计算处理装置,通过关键字提取模块提取报文中需要进行哈希计算的关键字,通过主用哈希计算模块使用主用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的主用哈希值,通过第一判断模块判断与所述主用哈希值对应的主用哈希存储块中的第一冲突表项数是否小于预设的最大冲突数,如果所述主用哈希存储块中的第一冲突表项数小于所述最大冲突数,通过第一冲突表项建立模块在所述主用哈希存储块中建立与所述关键字对应的第一冲突表项,如果所述主用哈希存储块中的第一冲突表项数不小于所述最大冲突数,使用备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值,通过第二冲突建立模块在与所述备用哈希值对应的备用哈希存储块中建立与所述关键字对应的第二冲突表项。本发明实施例提供的哈希计算处理装置,在对报文中的关键字进行哈希计算处理时,可以用低成本的方式解决现有技术对报文中的关键字进行哈希计算时生成的哈希冲突链的长度无法控制的问题,从而提高报文的存储效率。
本发明实施例提供的哈希计算处理装置可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。本发明实施例提供的哈希计算处理方法及装置可以适用于数据通信领域或无线通信领域的交换机路由器产品中,但不仅限于此。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (18)

1.一种哈希计算处理方法,其特征在于,包括:
接收报文,提取所述报文中需要进行哈希计算的关键字;
使用主用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的主用哈希值;
判断与所述主用哈希值对应的主用哈希存储块中的第一冲突表项数是否小于预设的最大冲突数;其中,所述主用哈希存储块包括至少一个所述第一冲突表项,每个所述第一冲突表项对应一个关键字,每个所述第一冲突表项对应的关键字通过所述主用哈希函数计算后得到的所述主用哈希值相同;
如果所述主用哈希存储块中的第一冲突表项数小于所述最大冲突数,则在所述主用哈希存储块中建立与所述关键字对应的第一冲突表项;
如果所述主用哈希存储块中的第一冲突表项数不小于所述最大冲突数,使用备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值,在与所述备用哈希值对应的备用哈希存储块中建立与所述关键字对应的第二冲突表项;其中,所述主用哈希值与所述备用哈希值不相同,所述备用哈希存储块包括至少一个所述第二冲突表项,每个所述第二冲突表项对应一个关键字,每个所述第二冲突表项对应的关键字通过所述备用哈希函数计算后得到的所述备用哈希值相同。
2.根据权利要求1述的方法,其特征在于,所述冲突表项包括:是否使用备用哈希函数进行哈希计算的标记、表项有效标记以及所述关键字。
3.根据权利要求2所述的方法,其特征在于,所述哈希存储块包括:一个是否存在通过备用哈希函数建立的冲突表项的标志和一个备用哈希函数类型标志。
4.根据权利要求3所述的方法,其特征在于,所述使用备用哈希函数对所述关键字进行哈希计算,具体包括:
判断所述主用哈希存储块中的所述备用哈希函数类型标志是否被设置,如果所述主用哈希存储块中的所述备用哈希函数类型标志已经被设置,根据所述备用哈希函数类型标志,选择与所述备用哈希函数类型标志对应的哈希函数作为备用哈希函数,使用所述备用哈希函数对所述关键字进行哈希计算。
5.根据权利要求4所述的方法,其特征在于,还包括:
如果所述主用哈希存储块中的所述备用哈希函数类型标志没有被设置,选择一个哈希函数作为备用哈希函数,使用所述备用哈希函数对所述关键字进行哈希计算;
在所述主用哈希存储块中设置所述备用哈希函数类型标志。
6.根据权利要求5所述的方法,其特征在于,所述选择一个哈希函数作为备用哈希函数,包括:
选择一个比所述主用哈希函数产生哈希冲突少的哈希函数作为备用哈希函数;
或者,
通过使用至少一个哈希函数对所述关键字进行哈希计算,得到至少一个与所述关键字对应的哈希函数值,选择一个与所述至少一个哈希函数值对应的哈希存储块中的冲突表项数小于所述最大冲突数的哈希函数作为备用哈希函数。
7.根据权利要求3所述的方法,其特征在于,还包括:
在所述主用哈希存储块中查找与所述关键字对应的所述第一冲突表项,如果在所述主用哈希存储块中查到与所述关键字对应的所述第一冲突表项,返回查找结果;
如果在所述主用哈希存储块中没有查到与所述关键字对应的所述第一冲突表项,获得所述主用哈希存储块中的所述是否存在通过备用哈希函数建立的冲突表项的标志和所述备用哈希函数类型标志;
根据所述主用哈希存储块中的所述是否存在通过备用哈希函数建立的冲突表项的标志,判断是否存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项,如果不存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项,返回没有查到;
如果存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项,使用所述主用哈希存储块中的所述备用哈希函数类型标志对应的备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值;
在与所述备用哈希值对应的备用哈希存储块中查找与所述关键字对应的所述第二冲突表项,如果在所述备用哈希存储块中查到与所述关键字对应的所述第二冲突表项,返回查找结果;
如果在所述备用哈希存储块中没有查到与所述关键字对应的所述第二冲突表项,则返回没有查到。
8.根据权利要求3所述的方法,其特征在于,还包括:
在所述主用哈希存储块中查找与所述关键字对应的所述第一冲突表项,如果在所述主用哈希存储块中查到与所述关键字对应的所述第一冲突表项,删除所述与所述关键字对应的所述第一冲突表项。
9.根据权利要求8所述的方法,其特征在于,还包括:
如果在所述主用哈希存储块中没有查到与所述关键字对应的所述第一冲突表项,获得所述主用哈希存储块中的所述是否存在通过备用哈希函数建立的冲突表项的标志和所述备用哈希函数类型标志;
根据所述主用哈希存储块中的所述是否存在通过备用哈希函数建立的冲突表项的标志,判断是否存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项,如果不存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项,返回没有查到;
如果存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项,使用所述主用哈希存储块中的所述备用哈希函数类型标志对应的备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值;
在所述备用哈希值对应的备用哈希存储块中查找与所述关键字对应的第二的冲突表项,如果在所述备用哈希存储块中查到与所述关键字对应的所述第二冲突表项,删除所述与所述关键字对应的所述第二冲突表项;
如果在所述备用哈希值对应的备用哈希存储块中没有查到与所述关键字对应的第二的冲突表项,则返回没有查到。
10.一种哈希计算处理装置,其特征在于,包括:
接收模块,用于接收报文;
关键字提取模块,用于提取所述报文中需要进行哈希计算的关键字;
主用哈希计算模块,用于使用主用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的主用哈希值;
第一判断模块,用于判断与所述主用哈希值对应的主用哈希存储块中的第一冲突表项数是否小于预设的最大冲突数;其中,所述主用哈希存储块包括至少一个所述第一冲突表项,每个所述第一冲突表项对应一个关键字,每个所述第一冲突表项对应的关键字通过所述主用哈希函数计算后得到的所述主用哈希值相同;
第一冲突表项建立模块,用于当所述主用哈希存储块中的第一冲突表项数小于所述最大冲突数时,在所述主用哈希存储块中建立与所述关键字对应的第一冲突表项;
备用哈希计算模块,用于当所述主用哈希存储块中的第一冲突表项数不小于所述最大冲突数时,使用备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值;
第二冲突表项建立模块,用于在与所述备用哈希值对应的备用哈希存储块中建立与所述关键字对应的第二冲突表项;其中,所述主用哈希值与所述备用哈希值不相同,所述备用哈希存储块包括至少一个所述第二冲突表项,每个所述第二冲突表项对应一个关键字,每个所述第二冲突表项对应的关键字通过所述备用哈希函数计算后得到的所述备用哈希值相同。
11.根据权利要求10所述的装置,其特征在于,所述冲突表项包括:是否使用备用哈希函数进行哈希计算的标记、表项有效标记以及所述关键字。
12.根据权利要求11所述的方法,其特征在于,所述哈希存储块包括:一个是否存在通过备用哈希函数建立的冲突表项的标志和一个备用哈希函数类型标志。
13.根据权利要求12所述的装置,其特征在于,所述主用哈希计算模块还包括:
判断单元,用于判断所述主用哈希存储块中的所述备用哈希函数类型标志是否被设置;
第一选择单元,用于当所述主用哈希存储块中的所述备用哈希函数类型标志已经被设置时,根据所述主用哈希存储块中的所述备用哈希函数类型标志,选择与所述备用哈希函数类型标志对应的哈希函数作为备用哈希函数;
第一计算单元,用于使用所述备用哈希函数对所述关键字进行哈希计算。
14.根据权利要求13所述的装置,其特征在于,所述主用哈希计算模块还包括:
第二选择单元,用于当所述主用哈希存储块中的所述备用哈希函数类型标志没有被设置时,选择一个哈希函数作为备用哈希函数;
所述第一计算单元,还用于使用所述备用哈希函数对所述关键字进行哈希计算;
设置单元,用于在所述主用哈希存储块中设置所述备用哈希函数类型标志。
15.根据权利要求14所述的装置,其特征在于,所述第二选择单元还包括:
第一选择子单元,用于选择一个比所述主用哈希函数产生哈希冲突少的哈希函数作为备用哈希函数;
第二选择子单元,用于通过使用至少一个哈希函数对所述关键字进行哈希计算,得到至少一个与所述关键字对应的哈希函数值,选择一个与所述至少一个哈希函数值对应的哈希存储块中的冲突表项数小于所述最大冲突数的哈希函数作为备用哈希函数。
16.根据权利要求12所述的装置,其特征在于,还包括:
查找模块,在所述主用哈希存储块中查找与所述关键字对应的所述第一冲突表项;
返回模块,用于当在所述主用哈希存储块中查到与所述关键字对应的所述第一冲突表项时,返回查找结果;
获得模块,用于当在所述主用哈希存储块中没有查到与所述关键字对应的所述第一冲突表项时,获得所述主用哈希存储块中的所述是否存在通过备用哈希函数建立的冲突表项的标志和所述备用哈希函数类型标志;
第二判断模块,用于根据所述主用哈希存储块中的所述是否存在通过备用哈希函数建立的冲突表项的标志,判断是否存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项;
所述返回模块,用于当不存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项,返回没有查到;
所述备用哈希计算模块,还用于当存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项时,使用所述主用哈希存储块中的所述备用哈希函数类型标志对应的备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值;
所述查找模块,还用于在与所述备用哈希值对应的备用哈希存储块中查找与所述关键字对应的所述第二冲突表项;
所述返回模块,还用于当在所述备用哈希存储块中查到与所述关键字对应的所述第二冲突表项时,返回查找结果;
所述返回模块,还用于当在所述备用哈希存储块中没有查到与所述关键字对应的所述第二冲突表项,返回没有查到。
17.根据权利要求12所述的装置,其特征在于,还包括:
所述查找模块,还用于在所述主用哈希存储块中查找与所述关键字对应的所述第一冲突表项;
删除模块,用于当在所述主用哈希存储块中查到与所述关键字对应的所述第一冲突表项时,删除所述与所述关键字对应的所述第一冲突表项。
18.根据权利要求17所述的装置,其特征在于,还包括:
所述获得模块,还用于当在所述主用哈希存储块中没有查到与所述关键字对应的所述第一冲突表项,获得所述主用哈希存储块中的所述是否存在通过备用哈希函数建立的冲突表项的标志和所述备用哈希函数类型标志;
所述第二判断模块,还用于根据所述主用哈希存储块中的所述是否存在通过备用哈希函数建立的冲突表项的标志,判断是否存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项;
所述返回模块,还用于当不存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项时,返回没有查到;
所述备用哈希计算模块,还用于当存在通过备用哈希函数建立的与所述关键字对应的所述第二冲突表项时,使用所述主用哈希存储块中的所述备用哈希函数类型标志对应的备用哈希函数对所述关键字进行哈希计算,得到与所述关键字对应的备用哈希值;
所述查找模块,还用于在所述备用哈希值对应的备用哈希存储块中查找与所述关键字对应的第二的冲突表项;
所述删除模块,还用于当在所述备用哈希存储块中查到与所述关键字对应的所述第二冲突表项时,删除所述与所述关键字对应的所述第二冲突表项;
所述返回模块,还用于当在所述备用哈希值对应的备用哈希存储块中没有查到与所述关键字对应的第二的冲突表项时,返回没有查到。
CN2011800011227A 2011-07-22 2011-07-22 哈希计算处理方法及装置 Pending CN102308296A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/077484 WO2012106916A1 (zh) 2011-07-22 2011-07-22 哈希计算处理方法及装置

Publications (1)

Publication Number Publication Date
CN102308296A true CN102308296A (zh) 2012-01-04

Family

ID=45381254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011800011227A Pending CN102308296A (zh) 2011-07-22 2011-07-22 哈希计算处理方法及装置

Country Status (2)

Country Link
CN (1) CN102308296A (zh)
WO (1) WO2012106916A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102930011A (zh) * 2012-10-31 2013-02-13 杭州华三通信技术有限公司 流转发表项的处理方法及装置
CN103577564A (zh) * 2013-10-25 2014-02-12 盛科网络(苏州)有限公司 通过软件搬移降低hash冲突的方法及装置
CN108111421A (zh) * 2017-11-28 2018-06-01 郑州云海信息技术有限公司 一种基于多重哈希的报文分流方法及装置
CN109656468A (zh) * 2017-10-11 2019-04-19 深圳市中兴微电子技术有限公司 一种实现数据存储的方法及装置
CN114710467A (zh) * 2022-03-25 2022-07-05 阿里巴巴(中国)有限公司 Ip地址存储方法、装置和硬件网关
CN114726920A (zh) * 2022-06-07 2022-07-08 恒生电子股份有限公司 Tcp数据的处理方法及装置
CN115065662A (zh) * 2022-06-13 2022-09-16 上海亿家芯集成电路设计有限公司 一种mac地址哈希冲突的处理方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10708040B1 (en) * 2019-10-01 2020-07-07 Tyson York Winarski Collision resistant blockchain

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483605A (zh) * 2009-02-25 2009-07-15 北京星网锐捷网络技术有限公司 数据报文的存储、查找方法和装置
CN101674234A (zh) * 2009-08-21 2010-03-17 曙光信息产业(北京)有限公司 Ip报文的分片重组方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840540B2 (en) * 2006-04-20 2010-11-23 Datascout, Inc. Surrogate hashing
CN100470550C (zh) * 2007-04-02 2009-03-18 华为技术有限公司 一种信息存储的方法、信息查找的方法及引擎装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483605A (zh) * 2009-02-25 2009-07-15 北京星网锐捷网络技术有限公司 数据报文的存储、查找方法和装置
CN101674234A (zh) * 2009-08-21 2010-03-17 曙光信息产业(北京)有限公司 Ip报文的分片重组方法和装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102930011A (zh) * 2012-10-31 2013-02-13 杭州华三通信技术有限公司 流转发表项的处理方法及装置
CN102930011B (zh) * 2012-10-31 2016-08-03 杭州华三通信技术有限公司 流转发表项的处理方法及装置
CN103577564A (zh) * 2013-10-25 2014-02-12 盛科网络(苏州)有限公司 通过软件搬移降低hash冲突的方法及装置
CN109656468A (zh) * 2017-10-11 2019-04-19 深圳市中兴微电子技术有限公司 一种实现数据存储的方法及装置
CN108111421A (zh) * 2017-11-28 2018-06-01 郑州云海信息技术有限公司 一种基于多重哈希的报文分流方法及装置
CN108111421B (zh) * 2017-11-28 2021-02-09 苏州浪潮智能科技有限公司 一种基于多重哈希的报文分流方法及装置
CN114710467A (zh) * 2022-03-25 2022-07-05 阿里巴巴(中国)有限公司 Ip地址存储方法、装置和硬件网关
CN114710467B (zh) * 2022-03-25 2024-03-12 阿里巴巴(中国)有限公司 Ip地址存储方法、装置和硬件网关
CN114726920A (zh) * 2022-06-07 2022-07-08 恒生电子股份有限公司 Tcp数据的处理方法及装置
CN115065662A (zh) * 2022-06-13 2022-09-16 上海亿家芯集成电路设计有限公司 一种mac地址哈希冲突的处理方法及系统

Also Published As

Publication number Publication date
WO2012106916A1 (zh) 2012-08-16

Similar Documents

Publication Publication Date Title
CN102308296A (zh) 哈希计算处理方法及装置
EP3113036B1 (en) Data matching method and apparatus and computer storage medium
CN107368527B (zh) 基于数据流的多属性索引方法
EP3767483A1 (en) Method, device, system, and server for image retrieval, and storage medium
CN105893453B (zh) 用于处理数据库查询的计算机实现的方法和计算机系统
CN107704202B (zh) 一种数据快速读写的方法和装置
CN107357843B (zh) 基于数据流结构的海量网络数据查找方法
WO2015167559A1 (en) Partitionable ternary content addressable memory (tcam) for use with a bloom filter
CN101692651A (zh) 一种哈希查找表的方法和装置
US10802923B2 (en) Method and apparatus for incremental backup based on file paths and a prefix tree
CN103167172A (zh) 将多种聊天记录整合的方法和系统
CN105468642A (zh) 数据的存储方法及装置
CN103544261A (zh) 一种海量结构化日志数据全局索引管理方法及装置
CN104063384A (zh) 一种数据检索方法及装置
CN105589894B (zh) 文档索引建立方法和装置、文档检索方法和装置
CN110888837B (zh) 对象存储小文件归并方法及装置
CN107526542A (zh) 对象存储装置及其操作方法
CN110769079A (zh) 一种检索ip对应地理位置的方法及装置
CN104516921A (zh) 自动回复方法及装置
CN103778120B (zh) 全局文件标识生成方法、生成装置及相应的分布式文件系统
CN103049355A (zh) 一种数据库系统恢复方法及设备
CN103077208A (zh) 统一资源定位符匹配处理方法及装置
CN103914483A (zh) 文件存储方法、装置及文件读取方法、装置
CN107632789A (zh) 基于分布式存储的重删方法、系统及数据重复检测方法
CN104253754A (zh) 一种acl快速匹配的方法和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120104