联系hashgameCONTACT hashgame
地址:广东省广州市
手机:13988889999
电话:020-88889999
邮箱:admin@qq.com
查看更多
Rhashgamehashgame
你的位置: 首页 > hashgame

一种OpenGauss哈希连接中哈希表的访问方HASH GAME - Online Skill Game ET 300法pdf

发布时间:2025-03-29 10:59:50  点击量:

  HASH GAME - Online Skill Game GET 300

一种OpenGauss哈希连接中哈希表的访问方HASH GAME - Online Skill Game GET 300法pdf

  本发明涉及一种OpenGauss哈希连接中哈希表的优化访问方法及访问系统。本方法包括构建哈希表,完成对哈希桶数组与哈希冲突数组的填充;遍历哈希桶数组,探测各位置存储的数据是否发生了哈希冲突;根据探测结果利用哈希桶数组与哈希冲突数组中存储的位置信息的空余空间填充提示信息等步骤。本方法融合了链地址法和开放寻址法的优点,针对哈希表的实现从多个角度进行了优化,通过填充提示信息来区别每个冲突的数据究竟是使用了链地址法,还是开放寻址法,很大程度上提高了哈希表的访问性能,另外利用本方法给出的提示信息无需访问H

  (19)国家知识产权局 (12)发明专利申请 (10)申请公布号 CN 116756180 A (43)申请公布日 2023.09.15 (21)申请号 4.8 (22)申请日 2023.05.12 (71)申请人 广州海量数据库技术有限公司 地址 510510 广东省广州市天河区建工路4 号佳都科技大厦2号楼3F301 (仅限办 公) (72)发明人 王皓何小栋 (74)专利代理机构 北京尚钺知识产权代理事务 所(普通合伙) 11723 专利代理师 严田青 (51)Int.Cl. G06F 16/2453 (2019.01) G06F 16/22 (2019.01) 权利要求书2页 说明书6页 附图3页 (54)发明名称 一种OpenGauss哈希连接中哈希表的访问方 法 (57)摘要 本发明涉及一种OpenGauss哈希连接中哈希 表的优化访问方法及访问系统。本方法包括构建 哈希表,完成对哈希桶数组与哈希冲突数组的填 充;遍历哈希桶数组 ,探测各位置存储的数据是 否发生了哈希冲突;根据探测结果利用哈希桶数 组与哈希冲突数组中存储的位置信息的空余空 间填充提示信息等步骤。本方法融合了链地址法 和开放寻址法的优点,针对哈希表的实现从多个 角度进行了优化,通过填充提示信息来区别每个 冲突的数据究竟是使用了链地址法,还是开放寻 址法,很大程度上提高了哈希表的访问性能,另 A 外利用本方法给出的提示信息无需访问 0 HashNext数组即可判断数据是否发生了哈希冲 8 1 6 突,提升了哈希表的内存访问和哈希连接的性 5 7 6 能。 1 1 N C CN 116756180 A 权利要求书 1/2页 1.一种OpenGauss哈希连接中哈希表的访问方法,其特征在于,所述方法包括: S1.构建哈希表,完成对哈希桶数组与哈希冲突数组的填充; S2.从哈希桶数组下标为0的位置开始对哈希桶数组进行遍历,探测存储在该位置的数 据是否发生了哈希冲突; S3.根据步骤S2的探测结果,利用哈希桶数组与哈希冲突数组中存储的原始数据在原 始数据数组中的位置信息的空余空间,填充提示信息; S4.重复步骤S2和步骤S3直至完成对哈希桶数组的探测。 2.根据权利要求1所述的OpenGauss哈希连接中哈希表的访问方法,其特征在于,步骤 S1中所述哈希桶数组与哈希冲突数组中存储的是原始数据在原始数据数组中的位置信息, 所述位置信息由一个整形数据表示,采用int类型或long类型。 3.根据权利要求1所述的OpenGauss哈希连接中哈希表的访问方法,其特征在于,步骤 S1中所述构建哈希表,包括: S11.从数据源获得M个数据,将其放入原始数据数组中; S12.根据M值计算N值,N为从M开始的下一个以2为底次幂值; S13.遍历原始数据数组,计算每一个数据的哈希值H; S14.根据每个数据的哈希值H对N进行取模,通过取模结果计算出其在哈希桶数组中的 下标,并将该新数据在原始数据数组中的位置存储在哈希桶数组中; S15.重复步骤S13和步骤S14,直到将所有数据都存储在哈希桶数组与哈希冲突数组 中。 4.根据权利要求3所述的OpenGauss哈希连接中哈希表的访问方法,其特征在于,S13中 所述计算每一个数据的哈希值H,当数据为整形数据时,计算哈希值H的方式是使用数据本 身的值。 5.根据权利要求3所述的OpenGauss哈希连接中哈希表的访问方法,其特征在于,步骤 S14中所述将该数据在原始数据数组中的位置存储在哈希桶数组中,包括: (1)当哈希桶数组中对应下标的存储位置空间没有被使用时,将新数据在原始数据数 组中的位置直接存储在该存储位置; (2)当哈希桶数组中对应下标的存储位置空间已经被使用时,则先将其中的数据取出, 并根据该数据中的位置信息,将其存储到对应位置的哈希冲突数组中,然后将新数据在原 始数据数组中的位置存储在该存储位置。 6.根据权利要求1所述的OpenGauss哈希连接中哈希表的访问方法,其特征在于,当所 述哈希桶数组与哈希冲突数组中存储的原始数据在原始数据数组中的位置信息为int类型 整形数据时,步骤S3中所述根据步骤S2的探测结果,利用哈希桶数组与哈希冲突数组中存 储的原始数据在原始数据数组中的位置信息的空余空间,填充提示信息,包括: (1)数据间未发生哈希冲突,则在int类型的低位30bit填充原来的位置信息,在最高位 2bit填充提示信息01; (2)数据间发生了哈希冲突,并且哈希桶数组中当前下标+1的空间被使用了,则在int 类型的低位30bit填充原来的位置信息,在最高位2bit填充提示信息11; (3)数据间发生了哈希冲突,并且哈希桶数组中当前下标+1的空间未被使用,则在int 类型的低位30bit填充原来的位置信息,在最高位2bit填充提示信息10,并将本应存储在哈 2 2 CN 116756180 A 权利要求书 2/2页 希冲突数组中的位置信息存储到哈希桶数组当前下标+1的位置,位置信息填充在该int类 型的低位30bit,最高位2bit填充提示信息10; (4)当前哈希桶数组下标的空间未被使用,不做任何处理。 7.根据权利要求6所述的OpenGauss哈希连接中哈希表的访问方法,其特征在于,所述 提示信息的含义如下: 0:表示哈希桶数组中当前下标的空间int类型的低位30bit没用被使用; 01:表示哈希桶数组中当前下标的空间int类型的低位30bit的数据没有发生哈希冲 突; 10:表示哈希桶数组中当前下标的空间int类型的低位30bit的数据发生了哈希冲突, 冲突的数据存储在哈希桶数组当前下标+1的空间中; 11:表示哈希桶数组中当前下标的空间int类型的低位30bit的数据发生了哈希冲突, 冲突的数据存储在哈希冲突数组中。 8.一种OpenGauss哈希连接中哈希表的访问系统,其特征在于,所述系统包括: 哈希表构建模块:用于构建哈希表,并完成对哈希桶数组与哈希冲突数组的填充; 哈希冲突探测模块:用于探测存储在哈希桶数组中的数据是否发生了哈希冲突; 提示信息填充模块:用于向哈希桶数组与哈希冲突数组中存储的位置信息的空余空间 中填充提示信息; 信息识别模块:用于识别提示信息并做出相应的处理决策。 9.一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器 执行时实现权利要求1‑7任一项所述的OpenGauss哈希连接中哈希表的访问方法的步骤。 3 3 CN 116756180 A 说明书 1/6页 一种OpenGauss哈希连接中哈希表的访问方法 技术领域 [0001] 本发明属于哈希表访问方法技术领域,尤其涉及一种OpenGauss哈希连接中哈希 表的优化访问方法及访问系统。 背景技术 [0002] 在数据库系统中,哈希连接是一种通用的将两个表的数据进行连接的方式,通过 计算较小的表中数据的哈希值,并根据哈希值构建哈希表,然后计算较大的表中数据的哈 希值,用此哈希值去哈希表中进行探测,从表中找到相同的数据记录进行连接。可以看出, 哈希连接的性能很大程度上取决于哈希表的访问性能,如果能从哈希表中更快的找到哈希 值对应的数据,则可以更快的完成连接操作,而哈希表的访问性能则取决于多个方面,如哈 希冲突问题,以及数据结构的访存友好性等。 [0003] 哈希冲突是指通过哈希值对哈希表的大小取模,如果两个哈希值取模的结果相 同,那么就发生了哈希冲突,解决哈希冲突的方法一般有开放寻址法、链地址法(拉链法)、 再哈希法、建立公共溢出区法等,上述方法各有一定的优势和缺点,开发更加方便快捷的哈 希冲突解决方法以及哈希表访问方法对提升哈希表的访问性能和哈希连接的性能具有重 要意义。 发明内容 [0004] 为了提升哈希表的访问性能和哈希连接的性能,本发明提出了一种新的 OpenGauss哈希连接中哈希表的优化访问方法。 [0005] 本发明方法通过一定的手段融合了链地址法和开放寻址法的优点,针对哈希表的 实现从多个角度进行了优化,很大程度上提高了哈希表的访问性能,进而使哈希连接的性 能得到了提升。 [0006] 术语解释 [0007] 哈希表存储M个数据值,通过每个数据值计算其哈希值H并将其放入哈希表中,哈 希表由以下三个部分组成: [0008] 原始数据数组DatumArray:大小为M的数组结构,存储原始数据。 [0009] 哈希桶数组HashBucket:根据数据个数M计算获得大小为N的数组结构,存储原始 数据在DatumArray中的位置。 [0010] 哈希冲突数组HashNext:大小为M的数组结构,存储由于哈希冲突导致不能放入 HashBucket中的数据在DatumArray中的位置。 [0011] 本发明针对哈希表的实现进行优化,优化的重点在于利用HashBucket与HashNext 中存储的位置信息的空余空间,由于位置信息由一个整形表示,整形可以采用int类型,一 般int类型在内存中由32个bit表示,而表示位置信息实际上用不了32bit,例如,如果表示 位置4,4的二进制为100,只使用了3个bit,所以我们利用其富裕的空间做出一些Hint提示, 来使哈希表的访问更具可预测性,进而使访问性能得到提升。 4 4 CN 116756180 A 说明书 2/6页 [0012] 本发明方法中将int类型中32bit中的最高位的2bit用作Hint提示,剩余30bit用 于表示位置信息,30bit可以表示的数据量为1,048,576,对于绝大多数位置信息此数据量 是足够的,若位置信息的数据量过大,则可以使用long类型,long类型的容量可达64bit,本 文以下只讨论int类型的实现步骤。 [0013] 本发明通过以下改进手段,来优化哈希表的访问性能: [0014] 如果数据存储在HashBucket数组中,并且该数据与其他数据发生了哈希冲突,则 探测该数据存储在HashBucket数组下标+1的空间是否被使用了,如果被使用了,那么会添 加对应的提示信息,表示冲突的数据在HashNext中;如果没有被使用,那么会将本应该放入 HashNext数组中的数据存储在HashBucket数组下标+1的空间中,并添加对应的提示信息, 由于使用的是连续的内存空间,因此内存访问的性能更友好。 [0015] 2bit可表示的数据量为4,即00,01,10,11,这4种类型的数据其含义如下: [0016] 00(或0):表示低位30bit没用使用; [0017] 01:表示低位30bit存储的数据没有发生哈希冲突; [0018] 11:表示低位30bit存储的数据发生了哈希冲突,冲突的数据存储在HashNext中; [0019] 10:表示低位30bit存储的数据发生了哈希冲突,冲突的数据在当前HashBucket数 组下标+1的空间中。 [0020] 具体地,本发明提供了一种OpenGauss哈希连接中哈希表的访问方法,本方法包 括: [0021] S1.构建哈希表,完成对哈希桶数组与哈希冲突数组的填充; [0022] S2.从哈希桶数组下标为0的位置开始对哈希桶数组进行遍历,探测存储在该位置 的数据是否发生了哈希冲突; [0023] S3.根据步骤S2的探测结果,利用哈希桶数组与哈希冲突数组中存储的原始数据 在原始数据数组中的位置信息的空余空间,填充提示信息; [0024] S4.重复步骤S2和步骤S3直至完成对哈希桶数组的探测。 [0025] 进一步地,根据本发明的一些实施例,本发明OpenGauss哈希连接中哈希表的访问 方法步骤S1中所述哈希桶数组与哈希冲突数组中存储的是原始数据在原始数据数组中的 位置信息,所述位置信息由一个整形数据表示,采用int类型或long类型。 [0026] 进一步地,根据本发明的一些实施例,本发明OpenGauss哈希连接中哈希表的访问 方法步骤S1中所述构建哈希表,包括以下步骤: [0027] S11.从数据源获得M个数据,将其放入原始数据数组中; [0028] S12.根据M值计算N值,N为从M开始的下一个以2为底次幂值,例如:4、8、16、32、 64、……、1024、2048、4096、……; [0029] S13.遍历原始数据数组,计算每一个数据的哈希值H,计算哈希值的具体方式不限 定; [0030] S14.根据每个数据的哈希值H对N进行取模,通过取模结果计算出其在哈希桶数组 中的下标,并将该新数据在原始数据数组中的位置存储在哈希桶数组中; [0031] S15.重复步骤S13和步骤S14,直到将所有数据都存储在哈希桶数组与哈希冲突数 组中。 [0032] 进一步地,上述OpenGauss哈希连接中哈希表的访问方法步骤S13中所述计算每一 5 5 CN 116756180 A 说明书 3/6页 个数据的哈希值H,当数据为整形数据时,计算哈希值H的方式是使用数据本身的值。 [0033] 进一步地,上述OpenGauss哈希连接中哈希表的访问方法步骤S14中所述将该数据 在原始数据数组中的位置存储在哈希桶数组中,存储位置可能存在以下两种情况: [0034] (1)当哈希桶数组中对应下标的存储位置空间没有被使用时,将新数据在原始数 据数组中的位置直接存储在该存储位置即可; [0035] (2)当哈希桶数组中对应下标的存储位置空间已经被使用时,则先将其中的数据 取出,并根据该数据中的位置信息,将其存储到对应位置的哈希冲突数组中,然后将新数据 在原始数据数组中的位置存储在该存储位置。 [0036] 进一步地,根据本发明的一些实施例,本发明OpenGauss哈希连接中哈希表的访问 方法,当所述哈希桶数组与哈希冲突数组中存储的原始数据在原始数据数组中的位置信息 为int类型整形数据时,步骤S3中所述根据步骤S2的探测结果,利用哈希桶数组与哈希冲突 数组中存储的原始数据在原始数据数组中的位置信息的空余空间,填充提示信息,包括: [0037] (1)数据间未发生哈希冲突,则在int类型的低位30bit填充原来的位置信息,在最 高位2bit填充提示信息01; [0038] (2)数据间发生了哈希冲突,并且哈希桶数组中当前下标+1的空间被使用了,则在 int类型的低位30bit填充原来的位置信息,在最高位2bit填充提示信息11; [0039] (3)数据间发生了哈希冲突,并且哈希桶数组中当前下标+1的空间未被使用,则在 int类型的低位30bit填充原来的位置信息,在最高位2bit填充提示信息10,并将本应存储 在哈希冲突数组中的位置信息存储到哈希桶数组当前下标+1的位置,位置信息填充在该 int类型的低位30bit,最高位2bit填充提示信息10;重复此步骤,直到处理完全部哈希冲突 的数据或者当前下标+1的空间被使用了才停止,并按步骤(2)进行处理; [0040] (4)当前哈希桶数组下标的空间未被使用,不做任何处理(因为最高位2bit填充00 后,此数据的值也是0,所以不需要另外处理)。 [0041] 进一步地,上述OpenGauss哈希连接中哈希表的访问方法中所述提示信息的含义 如下: [0042] 0(或00):表示哈希桶数组中当前下标的空间int类型的低位30bit没用被使用; [0043] 01:表示哈希桶数组中当前下标的空间int类型的低位30bit的数据没有发生哈希 冲突; [0044] 10:表示哈希桶数组中当前下标的空间int类型的低位30bit的数据发生了哈希冲 突,冲突的数据存储在哈希桶数组当前下标+1的空间中; [0045] 11:表示哈希桶数组中当前下标的空间int类型的低位30bit的数据发生了哈希冲 突,冲突的数据存储在哈希冲突数组中。 [0046] 此外,本发明还提供了一种OpenGauss哈希连接中哈希表的访问系统,本系统包 括: [0047] 哈希表构建模块:用于构建哈希表,并完成对哈希桶数组与哈希冲突数组的填充; [0048] 哈希冲突探测模块:用于探测存储在哈希桶数组中的数据是否发生了哈希冲突; [0049] 提示信息填充模块:用于向哈希桶数组与哈希冲突数组中存储的位置信息的空余 空间中填充提示信息; [0050] 信息识别模块:用于识别提示信息并做出相应的处理决策。 6 6 CN 116756180 A 说明书 4/6页 [0051] 最后,本发明还提供了一种计算机可读存储介质,所述存储介质上存储有计算机 程序,所述程序被处理器执行时实现上述的OpenGauss哈希连接中哈希表的访问方法的步 骤。 [0052] 由于哈希表的实现取决于其实际需求,所以在实现上虽然处理思路一致,但实现 过程各有不同,本发明的叙述仅针对一种哈希表的实现,并以该哈希表的实现为基础进行 优化,其他哈希表的实现及优化方式可参照本发明的处理思路,结合该哈希表实现的实际 需求,对本发明方法进行适当调整和改变后获得。 [0053] 综上,本发明OpenGauss哈希连接中哈希表的访问方法具有以下优点: [0054] (1)本发明方法结合了链地址法与开放寻址法的优点,使用2bit的提示信息来区 别每个冲突的数据究竟是使用了链地址法,还是开放寻址法,对于使用开放寻址法的数据 提升了内存访问的性能。 [0055] (2)本发明方法对于数据是否发生了哈希冲突也给出了提示信息,无需访问 HashNext数组即可做出判断,大大提升了哈希表的内存访问性能。 附图说明 [0056] 为了更清楚地说明本发明实施例的技术方案,下面对本发明实施例中需要使用的 附图作简要介绍,显而易见地,下述附图仅是本发明中记载的一些实施例,对于本领域技术 人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 [0057] 图1为本发明方法的实施流程图。 [0058] 图2为本发明方法中哈希表的构建流程图。 [0059] 图3为本发明方法中将数据插入哈希表的示例图,图中所示为将14个数据(元素) 插入N为16的哈希表中,其中HashBucket与HashNext中存储的是数据在DatumArray中的位 置。 [0060] 图4为本发明方法中int类型32bit功能划分示意图,图中所示int类型32bit,使用 其中2bit表示提示信息,30bit表示位置信息。 [0061] 图5为本发明方法中哈希冲突数据的存储规则示例图,图中所示数据18与2对N为 16的哈希表取模,计算得到的下标都为2,那么本应存储在HashNext中的2,因为HashBucket 中下标为3(2+1)的空间未被使用,则可以转储到HashBucket下标为3的空间中,从而获得更 好的内存访问性能。 [0062] 图6为本发明系统的组成结构图。 具体实施方式 [0063] 为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的 附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分 实施例,而不是全部的实施例,本发明还可以通过另外不同的具体实施方式加以实施或应 用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行 各种修饰或改变。 [0064] 同时,应理解,本发明的保护范围并不局限于下述特定的具体实施方案;还应当理 解,本发明实施例中使用的术语是为了描述特定的具体实施方案,而不是为了限制本发明 7 7 CN 116756180 A 说明书 5/6页 的保护范围。 [0065] 实施例:一种OpenGauss哈希连接中哈希表的访问方法(如图1所示),本方法包括 下述步骤: [0066] (一)构建哈希表,完成对哈希桶数组与哈希冲突数组的填充(如图2所示),哈希桶 数组与哈希冲突数组中存储的是原始数据在原始数据数组中的位置信息,该位置信息由一 个整形数据表示,采用int类型。 [0067] 1.从数据源获得M个数据,将其放入DatumArray中。 [0068] 2.根据M值计算N值,N为从M开始的下一个以2为底次幂值,例如:4、8、16、32、 64、……、1024、2048、4096、……。 [0069] 3.遍历DatumArray,计算每一个数据的哈希值H,计算哈希值的具体方式不限定。 [0070] 4.根据每个数据的哈希值H对N进行取模,通过取模结果计算出其在HashBucket中 的下标,并将该新数据在DatumArray中的位置存储在HashBucket中,存储位置可能存在以 下两种情况: [0071] (1)当HashBucket中对应下标的存储位置空间没有被使用时,将新数据在 DatumArray中的位置直接存储在该存储位置即可; [0072] (2)当HashBucket中对应下标的存储位置空间已经被使用时,则先将其中的数据 取出,并根据该数据中的位置信息,将其存储到对应位置的HashNext中,然后将新数据在 DatumArray中的位置存储在该存储位置。 [0073] 5.重复步骤3和步骤4,直到将所有数据都存储在HashBucket与HashNext中(如图3 所示)。 [0074] 本实施例中数据为整形数据,计算哈希值的方式是使用数据本身的值,即哈希值H 为数据值本身。 [0075] (二)优化哈希表的访问方式 [0076] 本发明方法中将int类型中32bit中的最高位的2bit用作Hint提示,剩余30bit用 于表示位置信息(如图4所示),30bit可以表示的数据量为1,048,576,对于绝大多数位置信 息此数据量是足够的,若位置信息的数据量过大,则可以使用long类型,long类型的容量可 达64bit,本文以下只讨论int类型的实现步骤。 [0077] 如果数据存储在HashBucket数组中,并且该数据与其他数据发生了哈希冲突,则 探测该数据存储在HashBucket数组下标+1的空间是否被使用了,如果被使用了,那么会添 加对应的提示信息,表示冲突的数据在HashNext中;如果没有被使用,那么会将本应该放入 HashNext数组中的数据存储在HashBucket数组下标+1的空间中(如图5所示),并添加对应 的提示信息,由于使用的是连续的内存空间,因此内存访问的性能更友好。 [0078] 2bit可表示的数据量为4,即00,01,10,11,这4种类型的数据其含义如下: [0079] 0(或00):表示哈希桶数组中当前下标的空间int类型的低位30bit没用被使用; [0080] 01:表示哈希桶数组中当前下标的空间int类型的低位30bit的数据没有发生哈希 冲突; [0081] 10:表示哈希桶数组中当前下标的空间int类型的低位30bit的数据发生了哈希冲 突,冲突的数据存储在哈希桶数组当前下标+1的空间中; [0082] 11:表示哈希桶数组中当前下标的空间int类型的低位30bit的数据发生了哈希冲 8 8 CN 116756180 A 说明书 6/6页 突,冲突的数据存储在哈希冲突数组中。 [0083] 1.从哈希桶数组下标为0的位置开始对哈希桶数组进行遍历,探测存储在该位置 的数据是否发生了哈希冲突。 [0084] 2.根据上步的探测结果,利用哈希桶数组与哈希冲突数组中存储的原始数据在原 始数据数组中的位置信息的空余空间,填充提示信息; [0085] 上步的探测结果会有如下4种情况: [0086] (1)数据间未发生哈希冲突,则在int类型的低位30bit填充原来的位置信息,在最 高位2bit填充提示信息01; [0087] (2)数据间发生了哈希冲突,并且哈希桶数组中当前下标+1的空间被使用了,则在 int类型的低位30bit填充原来的位置信息,在最高位2bit填充提示信息11; [0088] (3)数据间发生了哈希冲突,并且哈希桶数组中当前下标+1的空间未被使用,则在 int类型的低位30bit填充原来的位置信息,在最高位2bit填充提示信息10,并将本应存储 在哈希冲突数组中的位置信息存储到哈希桶数组当前下标+1的位置,位置信息填充在该 int类型的低位30bit,最高位2bit填充提示信息10;重复此步骤,直到处理完全部哈希冲突 的数据或者当前下标+1的空间被使用了才停止,并按步骤(2)进行处理; [0089] (4)当前哈希桶数组下标的空间未被使用,不做任何处理(因为最高位2bit填充00 后,此数据的值也是0,所以不需要另外处理)。 [0090] 3.重复步骤1和步骤2直至完成对哈希桶数组的探测。 [0091] 一种OpenGauss哈希连接中哈希表的访问系统(如图6所示),本系统包括: [0092] 哈希表构建模块:用于构建哈希表,并完成对哈希桶数组与哈希冲突数组的填充; [0093] 哈希冲突探测模块:用于探测存储在哈希桶数组中的数据是否发生了哈希冲突; [0094] 提示信息填充模块:用于向哈希桶数组与哈希冲突数组中存储的位置信息的空余 空间中填充提示信息; [0095] 信息识别模块:用于识别提示信息并做出相应的处理决策。 [0096] 各模块按照上述哈希表的访问方法实施运行。 [0097] 以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员 来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、替换 等,均应包含在本发明的权利要求保护范围之内。 9 9 CN 116756180 A 说明书附图 1/3页 图1 图2 10 10 CN 116756180 A 说明书附图 2/3页 图3 图4 图5 11 11 CN 116756180 A 说明书附图 3/3页 图6 12 12

【返回列表页】

顶部

地址:广东省广州市  电话:020-88889999 手机:13988889999
Copyright © 2018-2025 哈希游戏(hash game)官方网站 版权所有 非商用版本 ICP备案编: