CN119397060A 索引结构、插入和删除数据的方法、数据查询方法 (中兴通讯股份有限公司)_第1页
CN119397060A 索引结构、插入和删除数据的方法、数据查询方法 (中兴通讯股份有限公司)_第2页
CN119397060A 索引结构、插入和删除数据的方法、数据查询方法 (中兴通讯股份有限公司)_第3页
CN119397060A 索引结构、插入和删除数据的方法、数据查询方法 (中兴通讯股份有限公司)_第4页
CN119397060A 索引结构、插入和删除数据的方法、数据查询方法 (中兴通讯股份有限公司)_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数用于根据哈希指纹确定二维指纹矩阵中的第用于根据哈希指纹确定一维指纹向量中的第二2所述第一哈希组件包括第一哈希函数、第二哈希函数和二维指纹矩阵,所述第二哈希组件包括第三哈希函数和一维指纹向量,所述第三哈希2.如权利要求1所述的索引结构,所述第二哈希函数用于确定所述二维指纹矩阵的多3.如权利要求2所述的索引结构,所述第二哈希函数包括第一映射哈希函数和第二映其中,所述标志位取值为0表示所述哈希指纹不是重复数据,所述模函数用于确定所述哈希指纹除以所述一维指纹向量的长度的余数,所所述第四哈希函数用于确定所述哈希指纹的指纹标识,所述第二存储位所述商函数用于确定所述哈希指纹与所述一维指纹向量的长度的10.一种在索引结构中插入数据的方法,所述索引结构包括权利要求1至9任一项所述根据所述第一哈希函数确定待插入数据的哈希指纹以及根据所述第二哈希函数确定确定所述第一存储位置是否存储有与所述哈希指纹在所述第一存储位置存储有与所述哈希指纹相同的指纹数据的3在所述第一存储位置未存储与所述哈希指纹相同的指纹数据的储位置存储所述哈希指纹并记录所述哈希指纹不11.如权利要求10所述的方法,所述在所述第二存储位置记录所述哈希指纹的重复次确定所述第一存储位置是否已记录所述哈希在所述第一存储位置未记录所述哈希指纹为重复数据的情记录所述哈希指纹为重复数据以及在所述第二存储位置记录所述哈希指纹的重复次数为在所述第一存储位置已记录所述哈希指纹为重复数据的情13.如权利要求10所述的方法,所述第二哈希函数用于确定所述二维指纹矩阵的多个在所述负载最小的行中存储所述哈希指纹并记录所述哈希指14.一种在索引结构中删除数据的方法,所述索引结构包括权利要求1至9任一项所述根据所述第一哈希函数确定待删除数据的哈希指纹以及根据所述第二哈希函数确定确定所述第一存储位置是否存储有与所述哈希指纹在所述第一存储位置存储有与所述哈希指纹相同的指纹数据的在所述哈希指纹是重复数据的情况下,根据所述第三哈希在满足所述删除条件的情况下,删除所述第二存储位置中存储16.一种基于索引结构的数据查询方法,所述索引结构包括权利要求1至9任一项所述获取与多个数据文件对应的多个索引文件,每个数据文件对4从所述有效文件中查询与所述查询请求对应的目根据所述查询过滤条件查询所述多个索引文件,根据查询结果从所根据所述索引结构中的第一哈希函数确定所述查询过滤条件的哈希指纹以及根据所述索引结构中的第二哈希函数确定二维指纹矩阵中的第确定所述第一存储位置是否存储有与所述哈希指纹在所述第一存储位置存储有与所述哈希指纹相同的指纹数据在所述第一存储位置未存储与所述哈希指纹相同的指纹数据根据所述数据文件中的数据对所述索引结构进行更新,所述更新包括在其中,所述处理器被配置为执行所述指令,以实现如权利要求1使得电子设备能够执行如权利要求10至1922.一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计5[0009]根据所述第一哈希函数确定待插入数据的哈希指纹以及根据所述第二哈希函数一存储位置存储所述哈希指纹并记录所述哈希指6[0014]根据所述第一哈希函数确定待删除数据的哈希指纹以及根据所述第二哈希函数据的记录和/或第二存储位置中对待处理数据的重复次数的记录,实现对待处理数据的快7[0051]布隆过滤器是一种概率性数据结构,可以利用多个哈希函数将元素映射到多个8[0053]商过滤器的核心思想是将元素的哈希值分解为商和余数,根据商值确定存储位定数据的哈希指纹,第二哈希函数用于根据哈希指纹确定二维指纹矩阵中的第一存储位据的记录和/或第二存储位置中对待处理数据的重复次数的记录,实现对待处理数据的快于描述特定的顺序或先后次序。应理解这样使用的数据在适当情况下可以互换,以便本申请能够以除了在这里图示或描述的那些以外的顺序实施。此外,本申请以及权利要求书中系。9[0059]图1所示的系统架构的应用环境从逻辑上可以分为计算层11和存储层12,计算层的数据处理和分析。在开源社区中,常用的大数据计算引擎包括ApacheSpark、Apache[0061]计算层11中的数据湖表格是一种表格格式,可以使数据湖具备ACID(atomicity、[0068]上述(1)至(5)中任一项所述的运行环境可以包括但不限[0073]图2所示的索引结构包括第一哈希组件和第二哈希组件。第一哈希组件包括第一希指纹并记录哈希指纹是否为重复数据。第二哈希组件包括第三哈希函数和一维指纹向可以包括多个映射哈希函数,每个映射哈希函数用于确定二维指纹矩阵中的一个行索引,射哈希函数,第一映射哈希函数用于根据哈希指纹和二维指纹矩阵的行数确定第一行索pppppp数据的哈希指纹不是重复数据(相当于数据希指纹不是重复数据(相当于数据不是重复数据)[0085]为了便于理解二维指纹矩阵的结构,以下将以图3所示的一种更为具体的实现方[0087]第三哈希函数确定的第二存储位置可以是一维指纹向量的多个存储位置中的某指纹除以一维指纹向量的长度的余数,该余数用于指示一维指纹向量中的第二存储位置。pppp[0098]为了便于理解一维指纹向量的结构,以下将以图4所示的一种更为具体的实现方的指纹标识,计数位用于记录该数据位中存储的指纹标识所对应的哈希指纹的重复次数,维指纹向量中的存储位置用于记录哈希指纹的重复次数不用于存储哈希指纹的指纹标识,记录和/或第二存储位置中对待处理数据的重复次数的记录,实现对待处理数据的快速删[0104]图5是本申请的一个实施例在索引结构中插入数据的方法流程示意图,该索引结pp[0110]以第二哈希函数包括两个哈希映射函数B1()和B2()为例,在根据第二哈希函数pppppp[0114]根据上述的两个哈希映射函数B1()和B2()可以得到二维指纹矩阵的两个行索[0117]在一些实施方式中,第一存储位置可以是二维指纹矩阵通过修改索引结构中记录的待插入数据的哈希次数)实现对待插入数据的插入操作,无需在二维指纹矩阵中重复存储待插入数据的哈希[0122]在第二存储位置记录待插入数据的哈希指纹的重复次数位置记录待插入数据的哈希指纹为重复数据以及在第二存储位置记录待插入数据的哈希[0126]第一存储位置用于存储待插入数据的哈希指纹并记录待插入数据的哈希指纹是的取值设置为1。此外,在第一存储位置未记录待插入数据的哈希指纹为重复数据的情况在第一存储位置存储待插入数据的哈希指纹并记录待插入数据的哈希指纹不是重复数据数据的哈希指纹并记录待插入数据的哈希指纹存储位置来存储待插入数据的哈希指纹并记录待插入数据的哈希指纹不是重复数据。其[0136]为了便于理解本申请实施例提供的在索引结构中插入数据的方法,以下将以图6[0138]假设数据表T1中的date列有数据[20000506,20060908,20120504,20151212,[0139]假设后续又有两个date为20230801的数据流入数据表T1,那么就需要更新图6所示的索引结构。具体地,如图7所示,可以先根据指纹哈希函数计算20230801的哈希指纹106,然后根据两个映射哈希函数确定哈希指纹106分别指向二维指纹矩阵中的桶[1]和桶哈希指纹106相对4的商和余数分别是26和2,因此,可以将商26存储到一维指纹向量的槽改第一存储位置中对待处理数据是否为重复数据的记录和/或第二存储位置中对待处理数[0144]图8是本申请的一个实施例在索引结构中删除数据的方法流程示意图,该索引结pp[0150]以第二哈希函数包括两个哈希映射函数B1()和B2()为例,在根据第二哈希函数pppppp[0154]根据上述的两个哈希映射函数B1()和B2()可以得到二维指纹矩阵的两个行索[0157]在一些实施方式中,第一存储位置可以是二维指纹矩阵二存储位置的内容可以是重复次数(对应第二哈三哈希函数和第四哈希函数的情况)。在第一存储位置中记录待删除数据的哈希指纹不是[0175]为了便于理解本申请实施例提供的在索引结构中删除数据的方法,以下将以图7[0176]基于图7所示的索引结构,假设在数据表T1中需要删除一个date为20230801的数除槽[2]中的商26和计数位1,即分别设置为Null和0,同时将二维指纹矩阵中与向量中频繁删除和插入数据影响整体性能,不会在一维指纹向量中数据的计数位为1时马改第一存储位置中对待处理数据是否为重复数据的记录和/或第二存储位置中对待处理数数据文件中的数据构建本申请实施例提供的索引结构,并将索引结构存储在索引文件中,[0191]在得到可用的索引结构后,可以在计算引擎中对索引结构进行索引的格式化操转换后的索引数据写入到存储层(图1所示的存储层[0198]查询请求中包括SQL查询语句,在对查询请求进行语句解析和分析时,可以使用解析器进行词法解析和使用SQL分析器进行语法分析的具体实现方式可以参见相关技术中有索引优化的物理执行计划。[0201]根据索引文件的索引结构中的第一哈希函数确定查询过滤条件的哈希指纹以及根据索引结构中的第二哈希函数确定二维指纹矩阵中的pp[0209]以第二哈希函数包括两个哈希映射函数B1()和B2()为例,在根据第二哈希函数pppppp[0213]根据上述的两个哈希映射函数B1()和B2()可以得到二维指纹矩阵的两个行索[0228]上述步骤1至步骤7的具体实现方式可以参见上述步骤S102至步骤S108中相应步[0231]在进行数据查询时,假设用户输入SQL命令为select*fromT1whereT1.date=到存储层的的索引优化逻辑计划,并在执行物理计划需要扫描表T1所对应数据文件的时[0233]假设用户要查询数据表T1中的data数据等于20240309的所有数据项,并假设对应桶[1]和桶[2],而桶[1]和桶[2]中并不存在相同的指纹数据,即索引文件T1_idx_跳过数据文件T1_data_001.par[0235]上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围[0237]处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(IndustryStandardArchitecture,工业标准体系结构)总线、PCI(Peripheral[0240]根据所述第一哈希函数确定待插入数据的哈希指纹以及根据所述第二哈希函数一存储位置存储所述哈希指纹并记录所述哈希指[0244]上述如本申请图12所示实施例揭示的在索引结构中插入数据的装置执行的方法软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central[0248]根据所述第一哈希函数确定待插入数据的哈希指纹以及根据所述第二哈希函数一存储位置存储所述哈希指纹并记录所述哈希指[0253]处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(IndustryStandardArchitecture,工业标准体系结构)总线、PCI(Peripheral[0256]根据所述第一哈希函数确定待删除数据的哈希指纹以及根据所述第二哈希函数[0261]上述如本申请图13所示实施例揭示的在索引结构中删除数据的装置执行的方法软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central[0265]根据所述第一哈希函数确定待删除数据的哈希指纹以及根据所述第二哈希函数[0271]处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(IndustryStandardArchitecture,工业标准体系结构)总线、PCI(Peripheral[0278]上述如本申请图14所示实施例揭示的基于索引结构的数据查询装置执行的方法软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central[0286]图15是本申请的一个实施例在索引结构中插入数据的装置150的结构示意图。请[0287]第一确定模块151,根据所述第一哈希函数确定待插入数据的哈希指纹以及根据所述第二哈希函数确定所述二维指纹矩阵中的第[0288]第二确定模块152,确定所述第一存储位置是否存储有与所述哈希指纹相同的指[0289]第一插入模块153,在所述第一存储位置存储有与所述哈希指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论