CN107992577B - 一种哈希表数据冲突处理方法及装置 - Google Patents
一种哈希表数据冲突处理方法及装置 Download PDFInfo
- Publication number
- CN107992577B CN107992577B CN201711261924.7A CN201711261924A CN107992577B CN 107992577 B CN107992577 B CN 107992577B CN 201711261924 A CN201711261924 A CN 201711261924A CN 107992577 B CN107992577 B CN 107992577B
- Authority
- CN
- China
- Prior art keywords
- conflict
- data
- thread
- stack
- target
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 22
- 238000004590 computer program Methods 0.000 claims description 5
- 238000013500 data storage Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种哈希表数据冲突处理方法及装置,方法包括:若判断获知哈希表数据发生冲突,则启动冲突栈线程和冲突树线程,根据发生冲突的目标冲突数据对哈希桶中的冲突数据进行检索;通过冲突栈线程对冲突栈进行检索,并通过冲突树线程对冲突树进行检索;若判断获知冲突栈线程或冲突树线程检索到目标冲突数据,则获取哈希桶中的目标冲突数据。本发明实施例通过启动冲突栈线程和冲突树线程对哈希桶中的冲突数据进行检索,一旦冲突栈线程或冲突树线程检索到目标冲突数据,则获取目标冲突数据,充分利用了现有计算机系统中的多核、多CPU的硬件特性,采用双线程竞争方式优化了哈希表数据冲突处理时的处理数度,大大提高冲突数据的检索效率。
Description
技术领域
本发明实施例涉及计算机技术领域,具体涉及一种哈希表数据冲突处理方法及装置。
背景技术
在各种软件的开发过程中,经常会用到哈希表,哈希表是根据关键码值(哈希键值)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。在实际使用中,网络设备对网络数据进行管理时通常通过哈希表来实现数据的快速查找。例如防火墙采用哈希表实现对数据的快速查找。在哈希表查找时,键值不同的元素可能会映射到哈希表的同一个地址上,这种现象称之为冲突,并且这种冲突不可避免。
现有的网络设备对冲突的处理方法采用红黑树较多,其检索效率为O(log2n),但是在实际使用过程中,当网络设备端的数据量较大时,红黑树方法的检索效率仍然过低,无法满足用户要求。
发明内容
由于现有方法存在上述问题,本发明实施例提出一种哈希表数据冲突处理方法及装置。
第一方面,本发明实施例提出一种哈希表数据冲突处理方法,包括:
若判断获知哈希表数据发生冲突,则启动冲突栈线程和冲突树线程,根据发生冲突的目标冲突数据对哈希桶中的冲突数据进行检索;
通过所述冲突栈线程对冲突栈进行检索,并通过所述冲突树线程对冲突树进行检索;
若判断获知所述冲突栈线程或所述冲突树线程检索到所述目标冲突数据,则获取所述哈希桶中的所述目标冲突数据。
可选地,所述方法还包括:
若判断获知所述冲突栈线程或所述冲突树线程检索到所述目标冲突数据,则中止所述冲突栈线程和所述冲突树线程。
可选地,所述若判断获知所述冲突栈线程或所述冲突树线程检索到所述目标冲突数据,则获取所述哈希桶中的所述目标冲突数据之后,还包括:
将所述目标冲突数据存储至所述冲突栈的栈顶。
可选地,所述方法还包括:
若判断获知哈希表中需添加、读取或删除目标哈希表数据,则启动所述冲突树线程,对应地将所述目标哈希表数据添加进所述哈希表、或从所述哈希表中读取或删除所述目标哈希表数据。
可选地,所述若判断获知哈希表数据发生冲突,则启动冲突栈线程和冲突树线程,根据发生冲突的目标冲突数据对哈希桶中的冲突数据进行检索,具体包括:
若判断获知哈希表数据发生冲突且发生冲突的目标冲突数据首次发生冲突,则将所述目标冲突数据存储至所述哈希桶。
第二方面,本发明实施例还提出一种哈希表数据冲突处理装置,包括:
线程启动模块,用于若判断获知哈希表数据发生冲突,则启动冲突栈线程和冲突树线程,根据发生冲突的目标冲突数据对哈希桶中的冲突数据进行检索;
数据检索模块,用于通过所述冲突栈线程对冲突栈进行检索,并通过所述冲突树线程对冲突树进行检索;
数据获取模块,用于若判断获知所述冲突栈线程或所述冲突树线程检索到所述目标冲突数据,则获取所述哈希桶中的所述目标冲突数据。
可选地,所述装置还包括:
线程中止模块,用于若判断获知所述冲突栈线程或所述冲突树线程检索到所述目标冲突数据,则中止所述冲突栈线程和所述冲突树线程。
可选地,所述装置还包括:
数据存储模块,用于将所述目标冲突数据存储至所述冲突栈的栈顶。
可选地,所述装置还包括:
数据操作模块,用于若判断获知哈希表中需添加、读取或删除目标哈希表数据,则启动所述冲突树线程,对应地将所述目标哈希表数据添加进所述哈希表、或从所述哈希表中读取或删除所述目标哈希表数据。
第三方面,本发明实施例还提出一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述方法。
第四方面,本发明实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述方法。
由上述技术方案可知,本发明实施例通过启动冲突栈线程和冲突树线程对哈希桶中的冲突数据进行检索,一旦冲突栈线程或冲突树线程检索到目标冲突数据,则获取目标冲突数据,充分利用了现有计算机系统中的多核、多CPU的硬件特性,采用双线程竞争方式优化了哈希表数据冲突处理时的处理数度,大大提高冲突数据的检索效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明一实施例提供的一种哈希表数据冲突处理方法的流程示意图;
图2为本发明另一实施例提供的一种哈希表数据冲突处理方法的流程示意图;
图3为本发明又一实施例提供的一种哈希表数据冲突处理方法的流程示意图;
图4为本发明一实施例提供的一种哈希表数据冲突处理装置的结构示意图;
图5为本发明一实施例提供的电子设备的逻辑框图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
图1示出了本实施例提供的一种哈希表数据冲突处理方法的流程示意图,包括:
S101、若判断获知哈希表数据发生冲突,则启动冲突栈线程和冲突树线程,根据发生冲突的目标冲突数据对哈希桶中的冲突数据进行检索。
其中,所述冲突栈线程用于检索冲突栈中的冲突数据。
所述冲突树线程用于检索冲突树中的冲突数据。
所述哈希桶用于存储哈希表中的冲突数据。
所述目标冲突数据为当前发生冲突的数据。
具体地,网络设备若判断获知哈希表数据发生冲突,则启动冲突栈线程和冲突树线程,根据发生冲突的目标冲突数据对哈希桶中的冲突数据进行检索。
S102、通过所述冲突栈线程对冲突栈进行检索,并通过所述冲突树线程对冲突树进行检索。
其中,所述冲突栈包括后进先出栈,所述冲突树包括红黑树;其中冲突栈和冲突栈中的数据指针指向同一数据内存。
具体地,所述冲突栈线程检索冲突栈中是否存在目标冲突数据,所述冲突树线程检索冲突树中是否存在目标冲突数据,冲突栈线程和冲突树线程并行运行,彼此独立,互不影响。
S103、若判断获知所述冲突栈线程或所述冲突树线程检索到所述目标冲突数据,则获取所述哈希桶中的所述目标冲突数据。
具体地,若所述冲突栈线程检索到所述目标冲突数据,则根据冲突栈获取所述哈希桶中的所述目标冲突数据;若所述冲突树线程检索到所述目标冲突数据,则根据冲突树获取所述哈希桶中的所述目标冲突数据。
本实施例通过启动冲突栈线程和冲突树线程对哈希桶中的冲突数据进行检索,一旦冲突栈线程或冲突树线程检索到目标冲突数据,则获取目标冲突数据,充分利用了现有计算机系统中的多核、多CPU的硬件特性,采用双线程竞争方式优化了哈希表数据冲突处理时的处理数度,大大提高冲突数据的检索效率。
进一步地,在上述方法实施例的基础上,所述若判断获知所述冲突栈线程或所述冲突树线程检索到所述目标冲突数据,则获取所述哈希桶中的所述目标冲突数据之后,还包括:
S104、将所述目标冲突数据存储至所述冲突栈的栈顶。
具体地,若检索到目标冲突数据,则将目标冲突数据从冲突栈中移出,并将其重新压入冲突栈的顶部,若没有检索到对应的哈希值,且在数据需要插入哈希表时,分别将数据放入冲突树和冲突栈的顶端,便于后续的检索。
进一步地,在上述方法实施例的基础上,所述方法还包括:
S105、若判断获知所述冲突栈线程或所述冲突树线程检索到所述目标冲突数据,则中止所述冲突栈线程和所述冲突树线程。
具体地,若冲突树线程首先检索结束,那么立即中止冲突栈线程的检索,反之,若冲突栈线程检索结束,则立即中止冲突树线程的检索。检索结束后冲突栈线程挂起,冲突树线程返回检索结果,并等待下一次调用,节省计算机资源。
需要说明的是,检索结束的含义包括检索到数据和没有检索到数据。
具体地,如图2所示,通过两个相互独立的线程(冲突树线程和冲突栈线程)进行检索,可以提高哈希键值冲突时的查询效率,竞争线程由冲突树线程和冲突栈线程组成,冲突树为红黑树,冲突栈为后进先出链表。当哈希键值发生冲突时,树线程和栈线程同时开始查询,其中任意线程查询结束时立即中止另一线程的查询,无论哪一个线程查询到结果,都把查询到的结果移动到冲突栈顶端。树线程查询效率为O(log2n),因此本实施例的最差查询效率不会超过对数级别。另外一个栈线程的查询效率虽然为O(n),但是由于计算机系统的“最久未使用(LRU)”特性,使最近使用过的数据很大可能还会再次被使用,基于这个特性,栈线程的效率经常会达到O(1)的常数级别,因此本实施例的处理效率趋近于O(1),最坏为O(log2n),实现了对哈希表处理速度的优化,本实施例对多处理器系统的优化尤为明显。
进一步地,在上述方法实施例的基础上,所述方法还包括:
S106、若判断获知哈希表中需添加、读取或删除目标哈希表数据,则启动所述冲突树线程,对应地将所述目标哈希表数据添加进所述哈希表、或从所述哈希表中读取或删除所述目标哈希表数据。
具体地,如图3所示,本实施例包括以下步骤:
A1、令冲突树线程为主线程,提供哈希表的PUT、GET和EARSE方法。PUT方法用于将数据保存到哈希表中,若哈希表中对应的键值已存在则更新处理;GET方法用于将数据从哈希表中取出;EARSE方法用于清除哈希表中的数据。
A2、不论PUT、GET还是EARSE方法,处理之初都会对哈希表进行检索,以确定数据在哈希表中的实际位置。以下将PUT、GET和EARSE三个方法统一称之为HASH_QUERY方法。
A3、HASH_QUERY首先根据数据内容计算哈希键值,根据哈希值寻址到哈希表中对应的数据单元,判断是否存在冲突情况,冲突情况分为一下三种:无冲突,首次冲突,冲突存在(非首次)。若无冲突,那么令dataType=0,dataPointer指向实际数据。
A4、当首次发生哈希键值冲突时,创建一个哈希桶,将数据单元内的dataPointer指向的数据存入这个桶中,并将dataPointer重新指向这个哈希桶。
A5、当哈希键值冲突的时候HASH_QUERY方法同时使用两个线程对哈希桶中两个不同的数据结构进行检索。
其中,哈希表在创建时,需要进行初始化处理,包括以下处理步骤:
B1、分配N个连续的、大小固定的内存数据单元,每个数据单元包含一个类型标记(typeFlag)和一个数据指针(dataPointer),typeFlag的值范围是[0:数据指针指向实际数据,1:数据指针指向哈希桶]。
B2、将哈希表中的每一个数据单元的typeFlag初始化为0。
B3、将哈希表中的每一个数据单元的dataPointer初始化为空(NULL)。
本实施例通过冲突树线程对哈希表进行操作,能够有效利用资源,提高整体的检索效率。
进一步地,在上述方法实施例的基础上,S102具体包括:
若判断获知哈希表数据发生冲突且发生冲突的目标冲突数据首次发生冲突,则将所述目标冲突数据存储至所述哈希桶。
其中,所述哈希桶由一棵红黑树(冲突树),和一个后进先出的栈(冲突栈)组成。
哈希桶内部以“数据块”为基本单元,共享方式保存在冲突树和冲突栈中,每一个“数据块”都包含以下属性:
1)冲突树中指向父节点的指针;
2)冲突树中指向左右子节点的指针;
3)冲突栈中指向后一个节点的指针;
4)指向数据的指针。
举例来说,当数据单元中typeFlag为0且dataPointer为NULL那么表示没有发生冲突;当数据单元中typeFlag为0且dataPointer不为NULL那么表示首次发生冲突;当数据单元中typeFlag为1表示冲突已经存在,dataPointer实际指向是哈希桶。
本实施例提供一种通过竞争方式优化哈希表的方法,充分利用了现有计算机系统中的多核、多CPU的硬件特性,采用双线程竞争方式优化了哈希冲突时的处理数度;同时利用了计算机系统中的“最久未使用(LRU)”软件特性,使冲突栈线程的处理速度趋近于O(1)的常数级别,即使在冲突栈命中率低的情况下,冲突树线程仍然保证了处理效率不会低于O(log2n)。
图4示出了本实施例提供的一种哈希表数据冲突处理装置的结构示意图,所述装置包括:线程启动模块401、数据检索模块402和数据获取模块403,其中:
所述线程启动模块401用于若判断获知哈希表数据发生冲突,则启动冲突栈线程和冲突树线程,根据发生冲突的目标冲突数据对哈希桶中的冲突数据进行检索;
所述数据检索模块402用于通过所述冲突栈线程对冲突栈进行检索,并通过所述冲突树线程对冲突树进行检索;
所述数据获取模块403用于若判断获知所述冲突栈线程或所述冲突树线程检索到所述目标冲突数据,则获取所述哈希桶中的所述目标冲突数据。
具体地,所述线程启动模块401若判断获知哈希表数据发生冲突,则启动冲突栈线程和冲突树线程,根据发生冲突的目标冲突数据对哈希桶中的冲突数据进行检索;所述数据检索模块402通过所述冲突栈线程对冲突栈进行检索,并通过所述冲突树线程对冲突树进行检索;所述数据获取模块403若判断获知所述冲突栈线程或所述冲突树线程检索到所述目标冲突数据,则获取所述哈希桶中的所述目标冲突数据。
本实施例通过启动冲突栈线程和冲突树线程对哈希桶中的冲突数据进行检索,一旦冲突栈线程或冲突树线程检索到目标冲突数据,则获取目标冲突数据,充分利用了现有计算机系统中的多核、多CPU的硬件特性,采用双线程竞争方式优化了哈希表数据冲突处理时的处理数度,大大提高冲突数据的检索效率。
进一步地,在上述装置实施例的基础上,所述装置还包括:
线程中止模块,用于若判断获知所述冲突栈线程或所述冲突树线程检索到所述目标冲突数据,则中止所述冲突栈线程和所述冲突树线程。
进一步地,在上述装置实施例的基础上,所述装置还包括:
数据存储模块,用于将所述目标冲突数据存储至所述冲突栈的栈顶。
进一步地,在上述装置实施例的基础上,所述装置还包括:
数据操作模块,用于若判断获知哈希表中需添加、读取或删除目标哈希表数据,则启动所述冲突树线程,对应地将所述目标哈希表数据添加进所述哈希表、或从所述哈希表中读取或删除所述目标哈希表数据。
本实施例所述的哈希表数据冲突处理装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
参照图5,所述电子设备,包括:处理器(processor)501、存储器(memory)502和总线503;
其中,
所述处理器501和存储器502通过所述总线503完成相互间的通信;
所述处理器501用于调用所述存储器502中的程序指令,以执行上述各方法实施例所提供的方法。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种哈希表数据冲突处理方法,其特征在于,包括:
若判断获知哈希表数据发生冲突,则启动冲突栈线程和冲突树线程,根据发生冲突的目标冲突数据对哈希桶中的冲突数据进行检索;
通过所述冲突栈线程对冲突栈进行检索,并通过所述冲突树线程对冲突树进行检索;
若判断获知所述冲突栈线程或所述冲突树线程检索到所述目标冲突数据,则获取所述哈希桶中的所述目标冲突数据;
其中,冲突栈线程和冲突树线程并行运行,冲突栈和冲突树的数据均存储在哈希桶中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若判断获知所述冲突栈线程或所述冲突树线程检索到所述目标冲突数据,则中止所述冲突栈线程和所述冲突树线程。
3.根据权利要求1所述的方法,其特征在于,所述若判断获知所述冲突栈线程或所述冲突树线程检索到所述目标冲突数据,则获取所述哈希桶中的所述目标冲突数据之后,还包括:
将所述目标冲突数据存储至所述冲突栈的栈顶。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若判断获知哈希表中需添加、读取或删除目标哈希表数据,则启动所述冲突树线程,对应地将所述目标哈希表数据添加进所述哈希表、或从所述哈希表中读取或删除所述目标哈希表数据。
5.根据权利要求1所述的方法,其特征在于,所述若判断获知哈希表数据发生冲突,则启动冲突栈线程和冲突树线程,根据发生冲突的目标冲突数据对哈希桶中的冲突数据进行检索,具体包括:
若判断获知哈希表数据发生冲突且发生冲突的目标冲突数据首次发生冲突,则将所述目标冲突数据存储至所述哈希桶。
6.一种哈希表数据冲突处理装置,其特征在于,包括:
线程启动模块,用于若判断获知哈希表数据发生冲突,则启动冲突栈线程和冲突树线程,根据发生冲突的目标冲突数据对哈希桶中的冲突数据进行检索;
数据检索模块,用于通过所述冲突栈线程对冲突栈进行检索,并通过所述冲突树线程对冲突树进行检索;
数据获取模块,用于若判断获知所述冲突栈线程或所述冲突树线程检索到所述目标冲突数据,则获取所述哈希桶中的所述目标冲突数据;
其中,冲突栈线程和冲突树线程并行运行,冲突栈和冲突树的数据均存储在哈希桶中。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
线程中止模块,用于若判断获知所述冲突栈线程或所述冲突树线程检索到所述目标冲突数据,则中止所述冲突栈线程和所述冲突树线程。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
数据存储模块,用于将所述目标冲突数据存储至所述冲突栈的栈顶。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
数据操作模块,用于若判断获知哈希表中需添加、读取或删除目标哈希表数据,则启动所述冲突树线程,对应地将所述目标哈希表数据添加进所述哈希表、或从所述哈希表中读取或删除所述目标哈希表数据。
10.根据权利要求6所述的装置,其特征在于,所述数据检索模块具体用于若判断获知哈希表数据发生冲突且发生冲突的目标冲突数据首次发生冲突,则将所述目标冲突数据存储至所述哈希桶。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至5任一所述的方法。
12.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行如权利要求1至5任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711261924.7A CN107992577B (zh) | 2017-12-04 | 2017-12-04 | 一种哈希表数据冲突处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711261924.7A CN107992577B (zh) | 2017-12-04 | 2017-12-04 | 一种哈希表数据冲突处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107992577A CN107992577A (zh) | 2018-05-04 |
CN107992577B true CN107992577B (zh) | 2020-08-11 |
Family
ID=62035463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711261924.7A Active CN107992577B (zh) | 2017-12-04 | 2017-12-04 | 一种哈希表数据冲突处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107992577B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885576B (zh) * | 2019-03-06 | 2020-12-01 | 珠海金山网络游戏科技有限公司 | 一种哈希表创建方法及系统、计算设备及存储介质 |
CN110096555B (zh) * | 2019-04-17 | 2021-09-03 | 奇安信科技集团股份有限公司 | 一种分布式系统的表匹配处理方法及装置 |
CN111857982B (zh) * | 2019-04-25 | 2023-10-27 | 浙江大学 | 一种数据处理方法及其装置 |
CN110348250B (zh) * | 2019-06-26 | 2020-12-29 | 中国科学院信息工程研究所 | 多链式哈希栈的硬件开销优化方法及系统 |
CN112148738B (zh) * | 2020-09-24 | 2024-06-11 | 苏州盛科通信股份有限公司 | 哈希冲突处理方法及系统 |
CN117891625A (zh) * | 2024-01-17 | 2024-04-16 | 北京奇虎科技有限公司 | 数据共享方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1929451A (zh) * | 2006-09-29 | 2007-03-14 | 华为数字技术有限公司 | 一种解决Hash冲突的方法及装置 |
CN1952932A (zh) * | 2006-09-06 | 2007-04-25 | 南京中兴软创科技有限责任公司 | 一种多索引散列表的存储和检索方法 |
CN102122285A (zh) * | 2010-01-11 | 2011-07-13 | 卓望数码技术(深圳)有限公司 | 一种数据缓存系统和数据查询方法 |
CN102346735A (zh) * | 2010-07-29 | 2012-02-08 | 高通创锐讯通讯科技(上海)有限公司 | 一种减少哈希冲突的哈希查找方法 |
CN103368852A (zh) * | 2013-06-04 | 2013-10-23 | 华为技术有限公司 | 用于处理哈希冲突的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9519668B2 (en) * | 2013-05-06 | 2016-12-13 | International Business Machines Corporation | Lock-free creation of hash tables in parallel |
-
2017
- 2017-12-04 CN CN201711261924.7A patent/CN107992577B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1952932A (zh) * | 2006-09-06 | 2007-04-25 | 南京中兴软创科技有限责任公司 | 一种多索引散列表的存储和检索方法 |
CN1929451A (zh) * | 2006-09-29 | 2007-03-14 | 华为数字技术有限公司 | 一种解决Hash冲突的方法及装置 |
CN102122285A (zh) * | 2010-01-11 | 2011-07-13 | 卓望数码技术(深圳)有限公司 | 一种数据缓存系统和数据查询方法 |
CN102346735A (zh) * | 2010-07-29 | 2012-02-08 | 高通创锐讯通讯科技(上海)有限公司 | 一种减少哈希冲突的哈希查找方法 |
CN103368852A (zh) * | 2013-06-04 | 2013-10-23 | 华为技术有限公司 | 用于处理哈希冲突的方法和系统 |
Non-Patent Citations (2)
Title |
---|
An Approach to Hash based Rule Mining using Red-Black Trees;Archana Singh;《2015 1st International Conference on Next Generation Computing Technologies (NGCT)》;IEEE;20160111;698-702 * |
哈希红黑树算法在网络信息分析中的应用;周彩兰,张亚芳,郭凤玲;《软件导刊》;20070731(第13期);136-137 * |
Also Published As
Publication number | Publication date |
---|---|
CN107992577A (zh) | 2018-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107992577B (zh) | 一种哈希表数据冲突处理方法及装置 | |
WO2018099107A1 (zh) | 一种哈希表管理的方法和装置、计算机存储介质 | |
CN109522243B (zh) | 一种全闪存储中元数据缓存管理方法、装置及存储介质 | |
CN110555001B (zh) | 数据处理方法、装置、终端及介质 | |
CN104809179B (zh) | 访问哈希表的装置和方法 | |
CN105677580A (zh) | 访问缓存的方法和装置 | |
CN109766318B (zh) | 文件读取方法及装置 | |
CN111400334B (zh) | 数据处理方法、装置、存储介质及电子装置 | |
EP2743833B1 (en) | Method and apparatus for querying and traversing virtual memory area | |
WO2016192057A1 (zh) | 索引表的更新方法和设备 | |
CN108319634B (zh) | 分布式文件系统的目录访问方法和装置 | |
EP2621143A1 (en) | Information processing apparatus, distributed processing system, and distributed processing method | |
CN111046106A (zh) | 缓存数据同步方法、装置、设备及介质 | |
CN114896215A (zh) | 元数据的存储方法及装置 | |
CN104978283A (zh) | 一种内存访问控制方法,及装置 | |
CN112069088B (zh) | 一种地址映射管理方法及相关装置、设备 | |
US11093169B1 (en) | Lockless metadata binary tree access | |
CN110334034B (zh) | 映射表动态加载的方法、装置、计算机设备及存储介质 | |
CN110709824B (zh) | 一种数据查询方法及装置 | |
CN116594562A (zh) | 一种数据处理方法及装置、设备、存储介质 | |
CN104537016B (zh) | 一种确定文件所在分区的方法及装置 | |
CN108804571B (zh) | 一种数据存储方法、装置以及设备 | |
CN110781101A (zh) | 一种一对多映射关系的存储方法、装置、电子设备及介质 | |
CN109492020A (zh) | 一种数据缓存方法、装置、电子设备及存储介质 | |
WO2022028165A1 (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 | ||
CB02 | Change of applicant information |
Address after: 100088 Building 3 332, 102, 28 Xinjiekouwai Street, Xicheng District, Beijing Applicant after: QAX Technology Group Inc. Address before: 100015 Jiuxianqiao Chaoyang District Beijing Road No. 10, building 15, floor 17, layer 1701-26, 3 Applicant before: BEIJING QIANXIN TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |