CN101692651B - 一种哈希查找表的方法和装置 - Google Patents
一种哈希查找表的方法和装置 Download PDFInfo
- Publication number
- CN101692651B CN101692651B CN200910173981.9A CN200910173981A CN101692651B CN 101692651 B CN101692651 B CN 101692651B CN 200910173981 A CN200910173981 A CN 200910173981A CN 101692651 B CN101692651 B CN 101692651B
- Authority
- CN
- China
- Prior art keywords
- hash
- storage
- information
- space
- stored
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种哈希查找表的方法和装置,在存储表时,包括:规划出一主表存储空间,该主表存储空间又分为若干个地址空间;建立多个哈希函数,并利用该多个哈希函数对待存储信息的关键字进行哈希计算,得到多个索引值;比较该多个索引值对应的地址空间的空满程度,将该待存储信息存储至存储信息最少的地址空间。在查找表时,包括:使用已经建立的多个不同的哈希函数并行对待查找的关键字进行哈希计算,得到多个索引值,并行将该多个索引值对应的地址空间位置的表项的关键字与待查找的关键字进行匹配检索。采用本发明哈希查找表的方法和装置,可以节省哈希表的存储资源和提高哈希查找的效率。
Description
技术领域
本发明涉及网络通信领域,尤其涉及网络通信中哈希查找表的硬件实现问题。更具体地说,涉及一种哈希查找表的方法和装置。
背景技术
在网络通信领域,查找表是必不可少的,例如查找MAC表,ARP表,MPLS标签表等,而哈希查找表是一种广泛应用的方法,其基本思想为:在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字和哈希表中一个唯一的存储地址相对应。而确定的对应关系f为对应的哈希函数,每次查找表时,通过哈希函数得到存储表项,提取表项的相关信息位,与查找的关键字匹配,根据匹配情况返回查找结果。
在实际使用的情况中,关键字数值值域一般很大,而实际存储的空间很小,对应关系f无法实现关键字与存储地址的一一对应,多个关键字对应同一个存储地址,造成“哈希冲突”。
目前的冲突解决方法主要从两个方面考虑:
1,提高哈希函数的性能,使经过哈希函数计算后的哈希值最大程度上的均匀分布。例如专利号为CN200810225868的中国专利申请“具有单轮次抗碰撞散列函数的方法”,它就是以耦合映射格子为模型,采用浮点运算和比特操作相结合的方法,提高单轮次运算的复杂性来减少冲突,但是因为实际存储空间远小于哈希关键字的地址空间,冲突不可能避免,相反哈希函数操作复杂,反而会带来实现上的困难。
2,发明冲突解决的方案,主流方案目前主要有两种:
第一种是线性探索法,例如专利号为CN200710064368的中国专利申请“哈希表的操作方法和装置”,它就是对线性探索法进行了改进,采用向上和向下两个方向进行探索,探索时一次从外部RAM向CPU读入N个表项,以提高效率,但是在冲突剧烈时,查找的效率会急剧下降。
第二种是增加存储空间,方法有建立冲突链,增加哈希桶,添加哈希表再次哈希等,例如专利号为CN200610008448的中国专利申请“一种改进的哈希方法进行查找的方法”,专利号为CN200610152578的中国专利申请“一种解决哈希冲突的方法和装置”,以及专利号为CN200710175544的中国专利申请“关键字存储查找方法和设备”都是采用上述几个方法的结合和改进。而这些发明同样存在着存储资源消耗相对较大,查找效率相对较低等问题。
在网络通信中,信息的存储转发速率的要求越来越高,哈希表的查找处理速度的要求也越来越快,因此需要一种易于实现,查找迅速,资源消耗较少的哈希查找方法。
现在相关的专利文献包括:专利号为CN200710049572的中国专利申请“一种哈希表的操作方法”和专利号为US20080034115的美国专利申请“Apparatus For Handling Hash Collisions Of Hash Searching And MethodUsing The Same”(运用相同的哈希查找方法解决哈希冲突的装置),其中:
专利号为CN200710049572的中国专利申请存在以下的不足:一、该发明的应用采用主从式并行多核处理器,多核处理器的应用的复杂性造成了使用的局限性;二、该发明采用多个内存管理,也就是多张哈希存储表,这些存储表之间的信息交互等等问题该发明并没有说明。三、该发明并没有给出硬件的实现方式。
专利号为US20080034115的美国专利申请存在以下的不足:该发明以硬件方式实现哈希查表,提出在哈希冲突时信息存储在CAM(ContentAddressable Memory内容寻址存储器)中,查找时CAM和哈希表同时查找的方法,该发明硬件实现需要外挂CAM,需要添加CAM寻址接口,而且冲突剧烈时,信息集中在CAM中,造成了哈希表存储空间资源的浪费,无法体现效率和资源之间的公平性。
发明内容
本发明的目的在于,克服现有技术实现哈希查找中存在的速度和哈希冲突的问题,提出一种以硬件方式实现抗冲突并行哈希表的建立查找的方法和装置,以节省哈希表的存储资源和提高哈希查找的效率。
为解决上述技术问题,本发明提出一种哈希存储表的方法,包括:
规划出一主表存储空间,该主表存储空间又分为若干个地址空间;
建立多个哈希函数,并利用该多个哈希函数对待存储信息的关键字进行哈希计算,得到多个索引值;
比较该多个索引值对应的地址空间的空满程度,将该待存储信息存储至存储信息最少的地址空间。
进一步地,上述哈希存储表的方法还可具有以下特点:
还规划出一附属表存储空间;
当判断出该多个索引值对应的地址空间均已满时,将该待存储信息存储至该附属表存储空间。
进一步地,上述哈希存储表的方法还可具有以下特点:
该主表存储空间大小是根据关键字取值范围和实际需要的存储空间范围来设置的;
该附属表存储空间大小是根据主表溢出情况来设置的。
进一步地,上述哈希存储表的方法还可具有以下特点:
为该主表存储空间中的每个地址空间设置并维护一指示该地址空间空满程度的空满标志位;
比较该多个索引值对应的地址空间的空满程度时,是通过比较该多个索引值对应的地址空间的空满标志位的取值来实现的。
为解决上述技术问题,本发明还提出一种哈希查找表的方法,包括:
使用已经建立的多个不同的哈希函数并行对待查找的关键字进行哈希计算,得到多个索引值;
并行将该多个索引值对应的地址空间位置的表项的关键字与待查找的关键字进行匹配检索。
进一步地,上述哈希查找表的方法还可具有以下特点:
在获取到该多个索引值后,先判断该各索引值对应的地址空间的空满标志位,如果均为空,则认为查找失败;否则,从空满标志位为非空的存储空间位置预读存储表项的关键字,并将预读出的关键字与该待查找的关键字进行匹配检索。
进一步地,上述哈希查找表的方法还可具有以下特点:
在根据该计算出的多个索引值进行查找均失败时,则在附属表中顺序查找表项的关键字并与该待查找的关键字进行匹配检索。
为解决上述技术问题,本发明提出一种哈希表项建立装置,包括哈希运算模块、判断模块和信息存储模块,其中:
哈希运算模块,用以建立多个哈希函数,并利用该多个哈希函数对待存储信息的关键字进行哈希计算,得到多个索引值;
判断模块,用以在存储器上规划出一主表存储空间,该主表存储空间又分为若干个地址空间;为该主表存储空间中的每个地址空间设置并维护一指示该地址空间空满程度的空满标志位;以及根据哈希运算模块计算出的多个索引值查找哈希存储表,根据该多个索引值对应的地址空间的空满标志位取值来判断该各地址空间的空满程度,控制信息存储模块将该待存储信息存储至存储信息最少的地址空间;
信息存储模块,用以在判断模块的控制下将待存储的信息存储至相应的哈希表项中。
进一步地,上述哈希表项建立装置还可具有以下特点:
判断模块,还用以在存储器上规划出一附属表存储空间;以及在判断出该多个索引值对应的地址空间均已满时,控制信息存储模块将该待存储信息存储至该附属表存储空间。
进一步地,上述哈希表项建立装置还可具有以下特点:
该主表存储空间大小是根据关键字取值范围和实际需要的存储空间范围来确定的;
该附属表存储空间大小是根据主表溢出情况来确定的。
为解决上述技术问题,本发明还提出一种哈希表项查找装置,包括并行哈希运算模块、并行哈希查找模块,以及并行检索模块,其中:
并行哈希运算模块,用以使用已经建立的多个不同的哈希函数并行对待查找的关键字进行哈希计算,得到多个索引值;
并行哈希查找模块,用以并行查找哈希运算模块计算出的多个索引值在存储器中对应的地址空间中的表项,并完成表项中关键字信息的预读;
并行检索模块,用以将并行哈希查找模块预读出的表项的关键字与该待查找的关键字进行并行匹配检索。
进一步地,上述哈希表项查找装置还可具有以下特点:
并行哈希查找模块,用以在执行表项中关键字信息的预读之前,先并行判断并行哈希运算模块计算出的该多个索引值对应的地址空间的空满标志位,如果均为空,则认为查找失败;否则,从空满标志位为非空的存储空间位置预读存储表项的关键字。
进一步地,上述哈希表项查找装置还可具有以下特点:
还包括顺序查找模块,其中:
该顺序查找模块,用以在并行检索模块将并行哈希查找模块预读出的表项的关键字与该待查找的关键字进行并行匹配检索失败时,在附属表中顺序查找表项的关键字并与该待查找的关键字进行匹配检索。
相比较现有的哈希方法,本发明的技术方案带来的有益效果是:
1、在本发明中,通过多哈希方法存储信息,减少了哈希冲突的发生率,提高了哈希表存储空间的利用率,从而节省了大量的存储资源;
2、查找时采用并行哈希并行查找,并行哈希查找检索都可以严格意义上同时进行,互不干扰,查找效率非常高。
3、使用者可以根据情况,动态的调整哈希函数的建立参数,哈希桶大小以及修改并行处理模块为串行处理,极大程度上保证了效率和资源的公平性。
附图说明
图1是本发明的哈希存储表的存储结构示意图;
图2是本发明提供硬件的模块示意图;
图3是本发明的哈希表建立和信息存储实施示例的流程图;
图4是本发明的哈希表查找实施示例的流程图。
具体实施方式
下面将结合附图对本发明的实施方案进行详细介绍。
如图1所示,本发明的哈希存储表的存储结构为二维结构,其中哈希存储表主表的地址空间为0~(N-1),即表地址0~(N-1),也就是每次哈希运算后得到的索引值0~(N-1)。每个地址空间存储K1个表项。每次信息存储按顺序先后填入表项即可。附属表只有一个地址空间,这个地址空间可以存储K2个表项,顺序存储主表中冲突溢出的信息。整个哈希存储表存放在硬件的存储器中。
如图2所示,本发明的硬件电路包括哈希表项建立装置21和哈希表项查找装置22,其中:
哈希表项建立装置21包括3个子模块:哈希运算模块211,判断模块212,信息存储模块213,其中:
哈希运算模块211,用以建立多个哈希函数,并利用该多个哈希函数对待存储信息的关键字进行哈希计算,得到多个索引值。
判断模块212,用以在存储器上规划出一主表存储空间,该主表存储空间又分为若干个地址空间;为该主表存储空间中的每个地址空间设置并维护一指示该地址空间空满程度的空满标志位;以及根据哈希运算模块211计算出的多个索引值查找哈希存储表,根据该多个索引值对应的地址空间的空满标志位取值来判断该各地址空间的空满程度,控制信息存储模块213将该待存储信息存储至存储信息最少的地址空间。
进一步地,判断模块212,还用以在存储器上规划出一附属表存储空间;以及在判断出该多个索引值对应的地址空间均已满时,控制信息存储模块213将该待存储信息存储至该附属表存储空间。
其中,该主表存储空间大小是根据关键字取值范围和实际需要的存储空间范围来确定的,该附属表存储空间大小是根据主表溢出情况来确定的。
信息存储模块213,用以在判断模块212的控制下将待存储的信息存储至相应的哈希表项中。
哈希表项查找装置22包括4个子模块:并行哈希运算模块221,并行哈希查找模块222,并行检索模块223,顺序查找模块224,其中:
并行哈希运算模块221,用以使用已经建立的多个不同的哈希函数并行对待查找的关键字进行哈希计算,得到多个索引值。
并行哈希查找模块222,用以并行查找哈希运算模块计算出的多个索引值在存储器中对应的地址空间中的表项,并完成表项中关键字信息的预读。
进一步地,并行哈希查找模块222,用以在执行表项中关键字信息的预读之前,先并行判断并行哈希运算模块221计算出的该多个索引值对应的地址空间的空满标志位,如果均为空,则认为查找失败;否则,从空满标志位为非空的存储空间位置预读存储表项的关键字。
并行检索模块223,用以将并行哈希查找模块222预读出的表项的关键字与该待查找的关键字进行并行匹配检索。
该顺序查找模块224,用以在并行检索模块223将并行哈希查找模块222预读出的表项的关键字与该待查找的关键字进行并行匹配检索失败时,在附属表中顺序查找表项的关键字并与该待查找的关键字进行匹配检索。
参见图3,该图示出了应用本发明建立哈希表和存储信息的方法流程,以双哈希运算为例,包括以下步骤:
步骤301:提取存储信息中一个或多个有效信息位,组成存储信息的关键字,并将提取的关键字作为哈希函数的键值KEY;
步骤302:根据实际需要表项的存储空间,预留哈希存储表的存储空间,包括主表和附属表空间;
其中预留的主表存储空间与实际需要的存储空间,存在一个比值,这个比值反映的是哈希冲突允许的深度,附属表的空间大小反映了主表的溢出深度。
步骤303:选取合适的哈希参数1并记录,建立对应的哈希函数H1;
步骤304:选取合适的哈希参数2并记录,建立对应的哈希函数H2;
建立哈希函数的方法可以是,例如,取关键字KEY=(MPLS标签+PORT号),数据宽度为20BITS,实际需要的1K个表项,选取的哈希表深度为4(常用选择),附属表地址空间为16,确保附属表无溢出;预留的存储空间为(4K+16)*表项空间,需要建立哈希函数使得H(KEY)=索引值=表地址,表地址取值范围在0-1K。选取两个质数使得数据宽度[KEY*质数]=数据宽度[乘积]=30,选取两个质数分别为523和521,乘积数据宽度达不到30位的高位补0。选取的质数数值为被存储在寄存器中以便查找中使用,这样便建立了两个哈希函数:
H1(KEY)=KEY值的高10位^KEY值的中间10位^KEY值的低10位。其中,KEY=KEY*523,“^”为异或运算符;
H2(KEY)=KEY值的高10位^KEY值的中间10位^KEY值的低10位。其中,KEY=KEY*521;“^”为异或运算符;
步骤305:使用哈希运算模块211将键值KEY转化为索引值1;
步骤306:使用哈希运算模块211将键值KEY转化为索引值2;
步骤307:找到步骤305和步骤306计算得到的索引值对应的表地址,使用判断模块212查看两个索引值对应的表地址空满程度标识位,若任一空满标志位非满,则跳至步骤308,若两个空满标志位都为满则跳至步骤309;
步骤308:比较两个地址对应的空满标志位值的大小,将信息存储在表地址空满程度标识较小的地址表项中,修改存储地址的空满标志位,跳至步骤310;
步骤309:将该信息存储在附属表中,跳至步骤310;
步骤310:信息是否存储结束,若结束跳至步骤311,没有结束跳至步骤305;
步骤311:哈希表建立和信息存储过程结束。
参见图4,该图示出了应用本发明查找哈希表的方法流程,以双哈希运算为例,包括以下步骤:
步骤401:使用哈希函数H1将关键字转换为索引值1;
步骤402:使用哈希函数H2将关键字转换为索引值2;
步骤401与步骤402严格同步并发执行;
步骤403:根据索引值1对应的表地址读相应的表地址空满程度标志位,判断表地址对应得表项空间是否为空,如果不为空,则跳至步骤405;若并行哈希查找,两个表地址都为空,才跳至步骤411;
如果索引值1对应的表地址为空,而索引值2对应的表地址不为空的时候,结束对索引值1这侧的查找,但不认为查找失败;
步骤404:根据索引值2对应的表地址读相应的表地址空满程度标志位,判断表地址对应得表项空间是否为空,如果不为空,则跳至步骤406;若并行哈希查找,两个表地址都为空,才跳至步骤411;
如果索引值2对应的表地址为空,而索引值1对应的表地址不为空的时候,结束对索引值2这侧的查找,但不认为查找失败;
步骤403与步骤404严格同步并发执行;
步骤405:将表地址下的多个表项分别预读出来;
步骤406:将表地址下的多个表项分别预读出来;
步骤405与步骤406严格同步并发执行;
步骤407:提取预读的表项的关键字,并匹配查找关键值KEY,若步骤405和步骤406中任一匹配成功,跳至步骤410,都没有匹配成功跳至步骤409;
步骤408:同步骤407;
步骤407与步骤408严格同步并发执行;
步骤409:预读出附属表的表项,并查找检索若查找命中,跳至步骤410,否则跳至步骤411;
步骤410:查找命中,查找结束。
步骤411:查找失败,查找结束。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (7)
1.一种建立哈希存储表的方法,其特征在于,包括:
规划出一主表存储空间,该主表存储空间又分为若干个地址空间;
建立多个哈希函数,并利用该多个哈希函数对待存储信息的关键字进行哈希计算,得到多个索引值;
比较该多个索引值对应的地址空间的空满程度,将该待存储信息存储至存储信息最少的地址空间。
2.如权利要求1所述的建立哈希存储表的方法,其特征在于:
还规划出一附属表存储空间;
当判断出该多个索引值对应的地址空间均已满时,将该待存储信息存储至该附属表存储空间。
3.如权利要求2所述的建立哈希存储表的方法,其特征在于:
该主表存储空间大小是根据关键字取值范围和实际需要的存储空间范围来设置的;
该附属表存储空间大小是根据主表存储空间溢出情况来设置的。
4.如权利要求1所述的建立哈希存储表的方法,其特征在于:
为该主表存储空间中的每个地址空间设置并维护一指示该地址空间空满程度的空满标志位;
比较该多个索引值对应的地址空间的空满程度时,是通过比较该多个索引值对应的地址空间的空满标志位的取值来实现的。
5.一种哈希表项建立装置,其特征在于,包括哈希运算模块、判断模块和信息存储模块,其中:
哈希运算模块,用以建立多个哈希函数,并利用该多个哈希函数对待存储信息的关键字进行哈希计算,得到多个索引值;
判断模块,用以在存储器上规划出一主表存储空间,该主表存储空间又分为若干个地址空间;为该主表存储空间中的每个地址空间设置并维护一指示该地址空间空满程度的空满标志位;以及根据哈希运算模块计算出的多个索引值查找哈希存储表,根据该多个索引值对应的地址空间的空满标志位取值来判断该各地址空间的空满程度,控制信息存储模块将该待存储信息存储至存储信息最少的地址空间;
信息存储模块,用以在判断模块的控制下将待存储的信息存储至相应的哈希表项中。
6.如权利要求5所述的哈希表项建立装置,其特征在于:
判断模块,还用以在存储器上规划出一附属表存储空间;以及在判断出该多个索引值对应的地址空间均已满时,控制信息存储模块将该待存储信息存储至该附属表存储空间。
7.如权利要求6所述的哈希表项建立装置,其特征在于:
该主表存储空间大小是根据关键字取值范围和实际需要的存储空间范围来确定的;
该附属表存储空间大小是根据主表存储空间溢出情况来确定的。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910173981.9A CN101692651B (zh) | 2009-09-27 | 2009-09-27 | 一种哈希查找表的方法和装置 |
PCT/CN2010/073044 WO2011035595A1 (zh) | 2009-09-27 | 2010-05-21 | 一种哈希查找表的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910173981.9A CN101692651B (zh) | 2009-09-27 | 2009-09-27 | 一种哈希查找表的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101692651A CN101692651A (zh) | 2010-04-07 |
CN101692651B true CN101692651B (zh) | 2014-12-31 |
Family
ID=42081309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910173981.9A Active CN101692651B (zh) | 2009-09-27 | 2009-09-27 | 一种哈希查找表的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101692651B (zh) |
WO (1) | WO2011035595A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108196662A (zh) * | 2017-12-28 | 2018-06-22 | 中国科学院计算技术研究所 | 哈希分区加速器 |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101692651B (zh) * | 2009-09-27 | 2014-12-31 | 中兴通讯股份有限公司 | 一种哈希查找表的方法和装置 |
CN102314653B (zh) * | 2010-06-30 | 2016-09-14 | 腾讯科技(北京)有限公司 | 一种广告位纬度冲突计算方法及装置 |
US9798831B2 (en) | 2011-04-01 | 2017-10-24 | Google Inc. | Processing data in a MapReduce framework |
WO2011100924A2 (zh) * | 2011-04-14 | 2011-08-25 | 华为技术有限公司 | 在哈希表中添加、查找或删除键值的方法及装置 |
CN102609487B (zh) * | 2012-01-20 | 2014-04-02 | 东华大学 | 一种面向列存储的桶内索引哈希连接方法 |
CN103257977B (zh) * | 2012-02-21 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 获取标识号码的方法及装置 |
CN102682116B (zh) * | 2012-05-14 | 2014-06-11 | 中兴通讯股份有限公司 | 基于哈希表的表项处理方法及其装置 |
WO2014000305A1 (zh) * | 2012-06-30 | 2014-01-03 | 华为技术有限公司 | 内容匹配方法和装置 |
CN102930011B (zh) * | 2012-10-31 | 2016-08-03 | 杭州华三通信技术有限公司 | 流转发表项的处理方法及装置 |
CN103001878B (zh) * | 2012-11-26 | 2018-02-16 | 中兴通讯股份有限公司 | Mac地址哈希冲突的确定方法及装置 |
CN103905503B (zh) * | 2012-12-27 | 2017-09-26 | 中国移动通信集团公司 | 数据存取方法、调度方法、设备及系统 |
US9537771B2 (en) * | 2013-04-04 | 2017-01-03 | Marvell Israel (M.I.S.L) Ltd. | Exact match hash lookup databases in network switch devices |
US9405783B2 (en) * | 2013-10-02 | 2016-08-02 | Netapp, Inc. | Extent hashing technique for distributed storage architecture |
CN104866502B (zh) * | 2014-02-25 | 2020-10-13 | 深圳市中兴微电子技术有限公司 | 数据匹配的方法及装置 |
CN104536958B (zh) * | 2014-09-26 | 2018-03-16 | 杭州华为数字技术有限公司 | 一种复合索引方法及装置 |
CN104504038A (zh) * | 2014-12-15 | 2015-04-08 | 北京更快互联网技术有限公司 | 一种减少哈希冲突的哈希查找方法 |
CN106302172A (zh) * | 2015-05-18 | 2017-01-04 | 深圳市中兴微电子技术有限公司 | 同时支持哈希查找和路由查找的存储、查找方法和装置 |
US10229145B2 (en) | 2015-08-31 | 2019-03-12 | International Business Machines Corporation | Building of a hash table |
CN110036381B (zh) * | 2016-09-22 | 2024-05-28 | 维萨国际服务协会 | 存储器内数据搜索技术 |
CN108153757B (zh) * | 2016-12-02 | 2020-04-03 | 深圳市中兴微电子技术有限公司 | 一种哈希表管理的方法和装置 |
CN106777240A (zh) * | 2016-12-27 | 2017-05-31 | 广州创显科教股份有限公司 | 一种基于哈希计算的快速检索方法及系统 |
CN108572958B (zh) * | 2017-03-07 | 2022-07-29 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置 |
CN108874803B (zh) * | 2017-05-09 | 2023-05-12 | 腾讯科技(深圳)有限公司 | 数据存储方法、装置及存储介质 |
CN109947762A (zh) * | 2017-08-16 | 2019-06-28 | 深圳市中兴微电子技术有限公司 | 一种哈希表管理方法及装置、计算机可读存储介质 |
CN108255912B (zh) * | 2017-08-17 | 2020-02-11 | 新华三技术有限公司 | 一种表项数据存储、查询方法及其装置 |
CN107729053B (zh) * | 2017-10-17 | 2020-11-27 | 安徽皖通邮电股份有限公司 | 一种实现高速缓存表的方法 |
CN110399530A (zh) * | 2018-04-20 | 2019-11-01 | 杭州海康威视数字技术股份有限公司 | 数据匹配方法、装置及计算机设备 |
CN109189792A (zh) * | 2018-09-12 | 2019-01-11 | 天津芯海创科技有限公司 | 一种并行Hash查表架构和方法 |
CN109684418A (zh) * | 2018-11-22 | 2019-04-26 | 全球能源互联网研究院有限公司 | 基于电网图数据库的数据存储方法及装置 |
CN111352931A (zh) * | 2018-12-21 | 2020-06-30 | 中兴通讯股份有限公司 | 一种哈希冲突的处理方法、装置及计算机可读存储介质 |
CN109885576B (zh) * | 2019-03-06 | 2020-12-01 | 珠海金山网络游戏科技有限公司 | 一种哈希表创建方法及系统、计算设备及存储介质 |
CN110019250A (zh) * | 2019-03-06 | 2019-07-16 | 清华大学 | 基于哈希函数的网络测量方法和计算机可读存储介质 |
CN110647665B (zh) * | 2019-08-21 | 2022-02-11 | 丁贤根 | 一种超并行比对的方法与系统 |
CN111177476B (zh) * | 2019-12-05 | 2023-08-18 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备及可读存储介质 |
CN112995037B (zh) * | 2019-12-12 | 2022-08-23 | 烽火通信科技股份有限公司 | 数据报文发生ARP Miss的防护方法及系统 |
CN111625534A (zh) * | 2020-04-09 | 2020-09-04 | 中国人民解放军战略支援部队信息工程大学 | 用于哈希运算的数据结构及基于该结构的哈希表存储、查询方法 |
CN111831662B (zh) * | 2020-07-24 | 2021-01-12 | 深圳市网通兴技术发展有限公司 | 一种医疗数据信息处理方法及系统 |
CN111953682A (zh) * | 2020-08-11 | 2020-11-17 | 北京八分量信息科技有限公司 | 银行云计算门户网站页面的防篡改方法、装置及相关产品 |
CN112632069B (zh) * | 2020-12-22 | 2021-08-31 | 中科驭数(北京)科技有限公司 | 哈希表数据存储管理方法、装置、介质和电子设备 |
CN112597522A (zh) * | 2020-12-30 | 2021-04-02 | 联芸科技(杭州)有限公司 | 信息发布系统及方法 |
CN112988754B (zh) * | 2021-04-08 | 2023-07-14 | 中煤科工集团重庆研究院有限公司 | 一种面向数据集成的快速查询方法 |
CN113448996B (zh) * | 2021-06-11 | 2022-09-09 | 成都三零嘉微电子有限公司 | 一种IPSec安全策略数据库高速查找方法 |
CN114422478A (zh) * | 2021-12-21 | 2022-04-29 | 福建星网智慧科技有限公司 | 一种gemport id和mac地址映射的方法和存储设备 |
TWI819943B (zh) * | 2022-12-30 | 2023-10-21 | 康和綜合證券股份有限公司 | 資料索引值產生裝置、資料索引值產生方法及其電腦程式產品 |
CN117390029B (zh) * | 2023-12-11 | 2024-05-17 | 格创通信(浙江)有限公司 | 一种表项插入方法、装置、电子设备及存储介质 |
CN117472838B (zh) * | 2023-12-28 | 2024-03-15 | 苏州元脑智能科技有限公司 | 高速串行计算机扩展总线设备识别方法、装置及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034412A (zh) * | 2007-04-02 | 2007-09-12 | 华为技术有限公司 | 一种信息存储的方法、信息查找的方法及引擎装置 |
CN101140592A (zh) * | 2007-09-30 | 2008-03-12 | 华为技术有限公司 | 关键字存储、查找方法和设备 |
CN101350716A (zh) * | 2007-07-20 | 2009-01-21 | 飞思卡尔半导体公司 | 用于可变位宽的哈希值的有效生成的系统和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6775281B1 (en) * | 1999-09-30 | 2004-08-10 | Mosaid Technologies, Inc. | Method and apparatus for a four-way hash table |
US6804767B1 (en) * | 1999-11-26 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Method and system for automatic address table reshuffling in network multiplexers |
CN101604337B (zh) * | 2009-07-13 | 2011-08-24 | 中兴通讯股份有限公司 | 一种哈希表项存储、查找装置及方法 |
CN101692651B (zh) * | 2009-09-27 | 2014-12-31 | 中兴通讯股份有限公司 | 一种哈希查找表的方法和装置 |
-
2009
- 2009-09-27 CN CN200910173981.9A patent/CN101692651B/zh active Active
-
2010
- 2010-05-21 WO PCT/CN2010/073044 patent/WO2011035595A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034412A (zh) * | 2007-04-02 | 2007-09-12 | 华为技术有限公司 | 一种信息存储的方法、信息查找的方法及引擎装置 |
CN101350716A (zh) * | 2007-07-20 | 2009-01-21 | 飞思卡尔半导体公司 | 用于可变位宽的哈希值的有效生成的系统和方法 |
CN101140592A (zh) * | 2007-09-30 | 2008-03-12 | 华为技术有限公司 | 关键字存储、查找方法和设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108196662A (zh) * | 2017-12-28 | 2018-06-22 | 中国科学院计算技术研究所 | 哈希分区加速器 |
CN108196662B (zh) * | 2017-12-28 | 2021-03-30 | 中国科学院计算技术研究所 | 哈希分区加速器 |
Also Published As
Publication number | Publication date |
---|---|
CN101692651A (zh) | 2010-04-07 |
WO2011035595A1 (zh) | 2011-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101692651B (zh) | 一种哈希查找表的方法和装置 | |
RU2586010C2 (ru) | Способ и устройство для сохранения данных с использованием хэширования | |
CN100445999C (zh) | 一种数据存储及搜索方法 | |
US8266116B2 (en) | Method and apparatus for dual-hashing tables | |
CN102035727B (zh) | 一种路由的处理方法和设备 | |
US20020138648A1 (en) | Hash compensation architecture and method for network address lookup | |
CN101655861A (zh) | 基于双计数布鲁姆过滤器的哈希方法和哈希装置 | |
CN106599091B (zh) | 基于键值存储的rdf图结构存储和索引方法 | |
CN104158744A (zh) | 用于网络处理器的建表和查找方法 | |
CN101140592A (zh) | 关键字存储、查找方法和设备 | |
CN102271087A (zh) | 一种路由查找方法和装置 | |
CN105515997B (zh) | 基于bf_tcam实现零范围扩张的高效范围匹配方法 | |
CN100450100C (zh) | 一种路由方法和路由设备 | |
CN104102586A (zh) | 一种地址映射处理的方法、装置 | |
CN109600313A (zh) | 报文转发方法及装置 | |
CN112148217B (zh) | 全闪存储系统的重删元数据的缓存方法、装置及介质 | |
CN101741737B (zh) | 路由表的维护方法与装置 | |
CN107291630B (zh) | 一种高速缓冲存储器处理方法及装置 | |
CN103049445B (zh) | 一种查询图片信息的方法、系统和图片状态服务器 | |
CN103077198A (zh) | 一种操作系统及其文件缓存定位方法 | |
CN102984071B (zh) | 分段地址路由的路由表组织方法及查找路由的方法 | |
CN101945139B (zh) | IPv6地址存储和查找方法及相关设备 | |
CN103186542A (zh) | 一种数据查询的方法及装置 | |
CN106095770B (zh) | 数据快速查找装置、查找方法、添加方法及删除方法 | |
CN103902693A (zh) | 一种读优化的内存数据库t树索引结构的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |