CN115114296A - 一种基于TemplateB+Tree的索引结构布局方法 - Google Patents
一种基于TemplateB+Tree的索引结构布局方法 Download PDFInfo
- Publication number
- CN115114296A CN115114296A CN202210798484.3A CN202210798484A CN115114296A CN 115114296 A CN115114296 A CN 115114296A CN 202210798484 A CN202210798484 A CN 202210798484A CN 115114296 A CN115114296 A CN 115114296A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- index
- tree
- template
- 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
Links
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/134—Distributed indices
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
Abstract
本发明涉及一种基于TemplateB+Tree的索引结构布局方法,包括以下步骤:S1:建立基于TemplateB+Tree分布式数据处理模型,设计基于主键和时间属性的数据域划分方法,利用数据时空特性构建二维区间,将新进数据和历史数据分配到不同组件并行处理;S2:基于TemplateB+Tree数据的查询分解和多级索引检索,使用数据区域划分和模型的拓扑结构设计,将用户查询请求解析为独立执行的子查询,并通过多级索引将聚合查询解析为相应的谓词函数,充分利用分布式集群的并发处理资源。本方法能够提升高并发数据读写能力、优化索引结构及数据存储能力,提高系统的实时性和可用性,降低对高可用查询的影响,给用户提供无感知变化的低延时复杂条件聚合查询能力。
Description
技术领域
本发明属于数据的高效分布式存储和查询技术领域,涉及一种基于TemplateB+Tree的索引结构布局方法。
背景技术
在社会和经济的现实需求下,以及在技术和政策的双重驱动下,智慧医院以智慧医疗、智慧服务和智慧管理为核心的建设框架逐渐明晰。作为智慧医疗的基础设施,医疗数据的高效存储与查询在医疗领域扮演着重要作用,但当前对于医疗数据处理存在着数据插入系统时引起的索引更新以及数据存储开销较大,不能充分利用索引构建数据存储模型;以及新到数据和历史数据合并的时间开销较大和复杂的聚合条件查询的查询时延大,不能充分利用非主键属性构建索引和分布式系统的并行处理能力。
相比较于大多数的数据存储以及数据查询方法,基于TemplateB+Tree的索引结构布局方法其目的是提升高并发数据读写能力、优化索引结构及数据存储能力和提供数据多维度聚合索引的能力;在接收数据时,根据时空特性进行物理分区,分配到相应的服务器组件进一步做索引存储,处理查询请求时,将查询条件按分区分解为独立子查询,再根据元数据信息分配到指定服务器处理,充分利用本地缓存及集群动态扩展能力。当数据分配到相应组件后,插入系统的内存索引结构中以供实时检索,并在达到阈值大小后设计动态压缩算法并组织压缩,落盘到底层的分布式存储系统中。最后数据在时空特性上构建二维索引,能够高效插入和实现低延时基本查询,但结合其他维度属性进行聚合查询时,需要再构建非主键的索引结构,减少检索无关数据信息。以此来提高系统的实时性和可用性,降低对高可用查询的影响,给用户提供无感知变化的低延时复杂条件聚合查询能力。
综上所述,为解决现有技术中存在的问题,本发明针对性地提出了一种基于TemplateB+Tree的索引结构布局方法。
发明内容
有鉴于此,本发明的目的在于提供一种基于TemplateB+Tree的索引结构布局方法,该方法能够提升高并发数据读写能力、优化索引结构及数据存储能力和提供数据多维度聚合索引的能力,并以此提高系统的实时性和可用性,降低对高可用查询的影响,给用户提供无感知变化的低延时复杂条件聚合查询能力。
为达到上述目的,本发明提供如下技术方案:
一种基于TemplateB+Tree的索引结构布局方法,该方法包括以下步骤:
S1:建立基于TemplateB+Tree分布式数据处理模型,具体包括:设计基于主键和时间属性的数据域划分方法,利用数据时空特性构建二维区间,将新进数据和历史数据分配到不同组件并行处理,避免索引的新旧数据合并开销以及不必要的索引结点分裂时间开销,并充分利用模板索引信息设计存储结构和分组压缩算法,保证了索引的写入和存储效率,从而保证了高并发的数据写入能力;
S2:基于TemplateB+Tree数据的查询分解和多级索引检索,具体包括:使用数据区域划分和模型的拓扑结构设计,将用户查询请求解析为独立执行的子查询,并通过多级索引将聚合查询解析为相应的谓词函数,充分利用分布式集群的并发处理资源。
进一步,所述的基于TemplateB+Tree构建分布式数据处理模型,具体包括以下步骤:S11:数据元祖处理,将数据元祖组织为一个四元组;S12:索引结构的布局及自适应更新,通过改进的TemplateB+Tree方法实现文本系统对大规模数据的高效存储。
进一步,所述的基于TemplateB+Tree数据的查询分解和多级索引检索,具体包括以下步骤:
S21:通过R-Tree实现内存索引及DataChunk检索,实现对子查询矩形区域的快速检索,有效地获取查询请求所覆盖的区域集合;
S22:再通过系统查询解析得到不同区域的独立子查询,独立子查询根据对应的划分区域进行查询操作,提高系统的查询效率;同时结果系统的容错处理维护系统内存索引结果以及对丢失数据进行恢复,当检测查询失败时,就取消查询操作,以此减少系统的性能开销;
S23:最后通过多级索引查询,减少无效数据的访问,提高在并发检索过程中的查询效率。
进一步,步骤S11所述数据元祖处理,具体包括以下步骤:
S111:通过数据元祖将数据组织为一个四元组d=<dx,dy,dt,dz>,其中dx是经度,dy是纬度,dt是时间戳,de是有效负载;
S112:将数据插入到内存索引结构前,设置空间纬度属性作为主键,将dx和dy通过开源的降维算法Z-order转换为dz,dz作为表示位置信息的主键;
S113:同时数据元祖以时间戳正常顺序递增的方式输入系统,并进行对应的数据区域划分,在用户进行数据查询时提供的查询条件包括了时间戳和多维度的键,其中时间域范围和主键键值范围形成了二维空间R=<K,T>,K区间即主键区间,可被定义为K(k-,k+)=(k∈K|k-≤k≤k+},时间域T可被定义为r(t-,t+)={t∈T|t-≤t≤t+};通过用户给定的时间区间和主键区间就可以确定一个二维区域,以此来缩小查询范围,提高查询效率,同时也保证了查询准确率。
进一步,索引结构的布局及自适应更新,具体包括以下步骤:
S121:首先根据对应主键区间和时间区间进行二维空间划分,数据元祖根据不同空间范围分配到指定区间对应的分布式服务节点,即索引服务层中,并写入内存索引结构TemplateB+Tree,同时提供该数据在内存中的读写能力;
S122:当索引服务层内存中的索引结构达到了指定的最大阈值时,同时考虑到内存空间受限及索引结构过于膨胀后带来的性能下降,将数据元祖作为Data Chunk进行压缩并持久化到底层的分布式文件系统CeptFS中;当查询请求的数据范围与DataChunk数据区间相交时,则系统从CephFS中检索并解压、反序列化DataChunk,取出指定范围的数据做进一步的聚合查询处理;
S123:结合自适应的分组压缩算法,根据每次叶节点的数据内容分配每组相应的数量;
S124:根据数据元祖的实际分布情况重新对DataChunk的叶节点进行计算分组;
S125:根据新划分的元祖区间范围Q和叶节点分组个数K,动态调整当前索引结构的叶节点分组情况,生成新的DataChunk文件写入分布式文件系统;
S126:完成重新分组后,记录元祖所在的新数组的DataChunk字节偏移量,以及组内自身的偏移量,使用压缩算法进行持久化存储,便于检索时直接访问;
S127:最后查询请求独立分解为子查询后,文本系统检索相应的DataChunk中是否有符合条件的数据元祖;根据元祖键值区间获取所在叶节点分组的偏移量,找到DataChunk数据层相应的CompressedChunk,然后通过索引层记录的内部偏移量定位到指定的元祖,即查询结果;如果该键值区间没有元祖的偏移量,表示不存在该元祖数据,返回结果为空。
进一步,步骤S21所述的通过R-Tree实现内存索引及DataChunk检索,具体包括以下步骤:
S211:通过对查询主要条件的解析,得出在主键属性和时间属性上的数值范围,并根据两者构建出一个二维的数据矩形区域空间R`;
S212:将二维区域R`与R-Tree中以构建的索引节点进行空间比对,当R`与某个结点的空间Rec有交集或者R`被某个结点空间覆盖时,则表示在Rec中存在本次查询所需要获取的数据;
S213:最后判断Rec的数据存储位置,位于内存索引结构时将该Rec加入内存索引检索查询队列Indexqueue,位于分布式文件系统内则加入DataChunk检索队列chunkqueue。
进一步,步骤S22所述的系统查询解析与容错处理,具体包括以下步骤:
S221:首先用户的查询请求根据划分的数据区域进行解析,得到不同划分区域的子查询;
S222:由于非主键属性的特殊性,在每个区域都不进行划分,因此可以得到非主键字段上的组合查询条件;
S223:得到条件后,通过访问元数据服务器,分配子查询到各自的数据划分区域对应的服务器组件处理执行;
S224:同时在查询分配之前,通过对应的非主键索引表检索相关区域是否存在满足聚合的内存索引,在通过并行的调度和执行工作,充分提高系统的查询效率;
S225:在容错处理时,通过索引结构名称chunkName以及对应的叶节点偏移量offsets来判断缓存中是否已保存了对应的叶节点单元;当结果为否时,说明缓存中未含有所需数据,需要进一步从分布式文件系统Ceph中读取,并将该存储单元更新到本地缓存中;当结果为真时,将叶节点单元在数组中的位置更新到头部并输出;
S226:同时系统容错处理时维护所有内存索引结构的数据主键区间,当检测到数据丢失时会从数据源中间件进行指定partition重写消费,恢复数据;当检测到查询失败时,将取消执行的查询,按当前可用得到拓扑结构重新进行调度分配,减少保存查询状态带来的性能开销。
进一步,步骤S23所述的多级索引查询,具体包括以下步骤:
S231:首先系统输入当前索引结构的数据元祖个数N,网络流量管理中的BloomFilter的最大误判率ε和聚合查询分解的子查询集合P;
S232:通过CreateHashMethod方法计算对应的哈希方法数量K和bit数组长度M;
S233:通过InitBitArray方法搭建Bloom Filter,并初始化Bit数组;
S234:通过GenerateIndex方法构建对应的非主键维度索引;
S235:将接受的用户查询请求分解为独立的子查询;
S236:通过IndexingHasQuery方法就算子查询负责的二维数据区域是否还为持久化至文件系统,如果还未持久化至分布式文件系统,则继续通过Hash方法和Bit数组判断数据是否存在,否则结束查询;
S237:如果通过Hash方法和Bit数组判断数据存在,则返回数据查询结果;不存在,则再通过DataChunkHasQuery方法结合Hash方法和Bit数组判断该数据的是否保存;如果保存则返回查询结果,否则结束查询;最后将查询结果返回给用户;
S238:通过多级索引检索后,对用户查询请求进行解析得到子查询,并通过独立子查询得到对应的数据区域,再判断是否有符合谓词函数条件的数据元祖,如果结果为真时,在进一步获取对应得到数据字节信息,否则将该子查询请求进行清除,这样减少了子查询的无用查询,以此来提高在本并发检索过程中的查询效率。
本发明的有益效果在于:
本方法在智慧医疗数据环境中,使用TemplateB+Tree方法实现高效的索引构建布局存储以及提供多维度的低延时聚合索引查询能力,并通过高效的分布式方案,使得系统能够支持百万条/秒的数据写入工作和毫秒级别的聚合范围查询。通过基于分布式服务的数据处理模型,充分利用集群的拓扑结构实现系统的高并发能力,可用性与容错性;考虑到流数据在生成时间戳上顺序递增的特性,设计以主键和时间属性范围来划分数据二维区域,并基于不同的区域生成对应的索引结构,每个索引结构独立维护该范围的数据写入和查询工作;然后,基于上一阶段的域划分和分布式服务,为了应对索引分裂等操作引起的时间开销,设计索引结构及数据布局,提高数据索引以及持久化存储的能力;最后,描述了在应对多维度属性的聚合查询时,基本的域划分和调度分配步骤,还会包含大量不符合其他维度查询条件的数据元祖,通过构建多级索引结构,进一步解析查询条件和定位数据信息,减少无效数据的访问开销。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为基于TemplateB+Tree的索引结构布局系统架构图;
图2为查询请求流程图;
图3为多级索引算法流程图。
具体实施方式
下面结合附图对本发明技术方案进行详细说明。
图1为基于TemplateB+Tree的索引结构布局系统架构图,如图1所示,本发明所述方法包括:
S101:系统架构由分布式各类组件组成,同时结合数据服务器对组件之间进行资源调度;
S102:数据调度层Dispatchers接受消息中间件连续不断的数据元祖,并根据数据的相关类别进行切分区域,分配到索引服务器组件IndexingServers;
S103:在IndexingServers的索引结构中插入数据元祖,并规定当索引达到预定的值后,根据先关压缩算法进行周期性的分组和压缩,最后再将数据写入分布式文件系统中;
S104:查询调度层QueryCoordinator根据用户的查询请求条件和元祖数据服务器提供的集群节点调度元数据,将查询请求进行区域解析划分为多组不同的子查询,再将这些子查询发送给索引服务层和查询服务层进行并行处理;查询到结果后在聚合服务层进行所有子查询结果合并,在通过QueryCoordinator返回给用户,以此来得到查询结果。
图2为查询请求流程图,如图2所示,具体包括:
S201:首先用户的查询请求根据划分的数据区域进行解析,得到不同划分区域的子查询;
S202:由于非主键属性的特殊性,在每个区域都不进行划分,因此可以得到非主键字段上的组合查询条件;
S203:得到条件后,通过访问元数据服务器,分配子查询到各自的数据划分区域对应的服务器组件处理执行;
S204:同时在查询分配之前,通过对应的非主键索引表检索相关区域是否存在满足聚合的内存索引,在通过并行的调度和执行工作,充分提高系统的查询效率。
图3为多级索引算法流程图,如图3所示,具体包括:
S301:首先系统输入当前索引结构的数据元祖个数N,网络流量管理中的BloomFilter的最大误判率ε和聚合查询分解的子查询集合P;
S302:通过CreateHashMethod方法计算对应的哈希方法数量K和bit数组长度M;
S303:通过InitBitArray方法搭建Bloom Filter,并初始化Bit数组;
S304:通过GenerateIndex方法构建对应的非主键维度索引;
S305:将接受的用户查询请求分解为独立的子查询;
S306:通过IndexingHasQuery方法就算子查询负责的二维数据区域是否还为持久化至文件系统,如果还未持久化至分布式文件系统,则继续通过Hash方法和Bit数组判断数据是否存在,否则结束查询;
S307:如果通过Hash方法和Bit数组判断数据存在,则返回数据查询结果;不存在,则再通过DataChunkHasQuery方法结合Hash方法和Bit数组判断该数据的是否保存;如果保存则返回查询结果,否则结束查询;最后将查询结果返回给用户。
综上,本方法能够提升高并发数据读写能力、优化索引结构及数据存储能力和提供数据多维度聚合索引的能力,并以此提高系统的实时性和可用性,降低对高可用查询的影响,给用户提供无感知变化的低延时复杂条件聚合查询能力。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (8)
1.一种基于TemplateB+Tree的索引结构布局方法,其特征在于:该方法包括以下步骤:
S1:建立基于TemplateB+Tree分布式数据处理模型,具体包括:设计基于主键和时间属性的数据域划分方法,利用数据时空特性构建二维区间,将新进数据和历史数据分配到不同组件并行处理,避免索引的新旧数据合并开销以及不必要的索引结点分裂时间开销,并充分利用模板索引信息设计存储结构和分组压缩算法,保证了索引的写入和存储效率,从而保证了高并发的数据写入能力;
S2:基于TemplateB+Tree数据的查询分解和多级索引检索,具体包括:使用数据区域划分和模型的拓扑结构设计,将用户查询请求解析为独立执行的子查询,并通过多级索引将聚合查询解析为相应的谓词函数,充分利用分布式集群的并发处理资源。
2.根据权利要求1所述的一种基于TemplateB+Tree的索引结构布局方法,其特征在于:所述的基于TemplateB+Tree构建分布式数据处理模型,具体包括以下步骤:
S11:数据元祖处理,将数据元祖组织为一个四元组;
S12:索引结构的布局及自适应更新,通过改进的TemplateB+Tree方法实现文本系统对大规模数据的高效存储。
3.根据权利要求2所述的一种基于TemplateB+Tree的索引结构布局方法,其特征在于:所述的基于TemplateB+Tree数据的查询分解和多级索引检索,具体包括以下步骤:
S21:通过R-Tree实现内存索引及DataChunk检索,实现对子查询矩形区域的快速检索,有效地获取查询请求所覆盖的区域集合;
S22:再通过系统查询解析得到不同区域的独立子查询,独立子查询根据对应的划分区域进行查询操作,提高系统的查询效率;同时结果系统的容错处理维护系统内存索引结果以及对丢失数据进行恢复,当检测查询失败时,就取消查询操作,以此减少系统的性能开销;
S23:最后通过多级索引查询,减少无效数据的访问,提高在并发检索过程中的查询效率。
4.根据权利要求3所述的一种基于TemplateB+Tree的索引结构布局方法,其特征在于:步骤S11所述数据元祖处理,具体包括以下步骤:
S111:通过数据元祖将数据组织为一个四元组d=<dx,dy,dt,dz>,其中dx是经度,dy是纬度,dt是时间戳,de是有效负载;
S112:将数据插入到内存索引结构前,设置空间纬度属性作为主键,将dx和dy通过开源的降维算法Z-order转换为dz,dz作为表示位置信息的主键;
S113:同时数据元祖以时间戳正常顺序递增的方式输入系统,并进行对应的数据区域划分,在用户进行数据查询时提供的查询条件包括了时间戳和多维度的键,其中时间域范围和主键键值范围形成了二维空间R=<K,T>,K区间即主键区间,可被定义为K(k-,k+)={k∈K|k-≤k≤k+},时间域T可被定义为T(t-,t+)={t∈T|t-≤t≤t+};通过用户给定的时间区间和主键区间就可以确定一个二维区域,以此来缩小查询范围,提高查询效率,同时也保证了查询准确率。
5.根据权利要求4所述的一种基于TemplateB+Tree的索引结构布局方法,其特征在于:索引结构的布局及自适应更新,具体包括以下步骤:
S121:首先根据对应主键区间和时间区间进行二维空间划分,数据元祖根据不同空间范围分配到指定区间对应的分布式服务节点,即索引服务层中,并写入内存索引结构TemplateB+Tree,同时提供该数据在内存中的读写能力;
S122:当索引服务层内存中的索引结构达到了指定的最大阈值时,同时考虑到内存空间受限及索引结构过于膨胀后带来的性能下降,将数据元祖作为Data Chunk进行压缩并持久化到底层的分布式文件系统CeptFS中;当查询请求的数据范围与DataChunk数据区间相交时,则系统从CephFS中检索并解压、反序列化DataChunk,取出指定范围的数据做进一步的聚合查询处理;
S123:结合自适应的分组压缩算法,根据每次叶节点的数据内容分配每组相应的数量;
S124:根据数据元祖的实际分布情况重新对DataChunk的叶节点进行计算分组;
S125:根据新划分的元祖区间范围Q和叶节点分组个数K,动态调整当前索引结构的叶节点分组情况,生成新的DataChunk文件写入分布式文件系统;
S126:完成重新分组后,记录元祖所在的新数组的DataChunk字节偏移量,以及组内自身的偏移量,使用压缩算法进行持久化存储,便于检索时直接访问;
S127:最后查询请求独立分解为子查询后,文本系统检索相应的DataChunk中是否有符合条件的数据元祖;根据元祖键值区间获取所在叶节点分组的偏移量,找到DataChunk数据层相应的CompressedChunk,然后通过索引层记录的内部偏移量定位到指定的元祖,即查询结果;如果该键值区间没有元祖的偏移量,表示不存在该元祖数据,返回结果为空。
6.根据权利要求5所述的一种基于TemplateB+Tree的索引结构布局方法,其特征在于:步骤S21所述的通过R-Tree实现内存索引及DataChunk检索,具体包括以下步骤:
S211:通过对查询主要条件的解析,得出在主键属性和时间属性上的数值范围,并根据两者构建出一个二维的数据矩形区域空间R`;
S212:将二维区域R`与R-Tree中以构建的索引节点进行空间比对,当R`与某个结点的空间Rec有交集或者R`被某个结点空间覆盖时,则表示在Rec中存在本次查询所需要获取的数据;
S213:最后判断Rec的数据存储位置,位于内存索引结构时将该Rec加入内存索引检索查询队列Indexqueue,位于分布式文件系统内则加入DataChunk检索队列chunkqueue。
7.根据权利要求6所述的一种基于TemplateB+Tree的索引结构布局方法,其特征在于:步骤S22所述的系统查询解析与容错处理,具体包括以下步骤:
S221:首先用户的查询请求根据划分的数据区域进行解析,得到不同划分区域的子查询;
S222:由于非主键属性的特殊性,在每个区域都不进行划分,因此可以得到非主键字段上的组合查询条件;
S223:得到条件后,通过访问元数据服务器,分配子查询到各自的数据划分区域对应的服务器组件处理执行;
S224:同时在查询分配之前,通过对应的非主键索引表检索相关区域是否存在满足聚合的内存索引,在通过并行的调度和执行工作,充分提高系统的查询效率;
S225:在容错处理时,通过索引结构名称chunkName以及对应的叶节点偏移量offsets来判断缓存中是否已保存了对应的叶节点单元;当结果为否时,说明缓存中未含有所需数据,需要进一步从分布式文件系统Ceph中读取,并将该存储单元更新到本地缓存中;当结果为真时,将叶节点单元在数组中的位置更新到头部并输出;
S226:同时系统容错处理时维护所有内存索引结构的数据主键区间,当检测到数据丢失时会从数据源中间件进行指定partition重写消费,恢复数据;当检测到查询失败时,将取消执行的查询,按当前可用得到拓扑结构重新进行调度分配,减少保存查询状态带来的性能开销。
8.根据权利要求7所述的一种基于TemplateB+Tree的索引结构布局方法,其特征在于:步骤S23所述的多级索引查询,具体包括以下步骤:
S231:首先系统输入当前索引结构的数据元祖个数N,网络流量管理中的BloomFilter的最大误判率ε和聚合查询分解的子查询集合P;
S232:通过CreateHashMethod方法计算对应的哈希方法数量K和bit数组长度M;
S233:通过InitBitArray方法搭建Bloom Filter,并初始化Bit数组;
S234:通过GenerateIndex方法构建对应的非主键维度索引;
S235:将接受的用户查询请求分解为独立的子查询;
S236:通过IndexingHasQuery方法就算子查询负责的二维数据区域是否还为持久化至文件系统,如果还未持久化至分布式文件系统,则继续通过Hash方法和Bit数组判断数据是否存在,否则结束查询;
S237:如果通过Hash方法和Bit数组判断数据存在,则返回数据查询结果;不存在,则再通过DataChunkHasQuery方法结合Hash方法和Bit数组判断该数据的是否保存;如果保存则返回查询结果,否则结束查询;最后将查询结果返回给用户;
S238:通过多级索引检索后,对用户查询请求进行解析得到子查询,并通过独立子查询得到对应的数据区域,再判断是否有符合谓词函数条件的数据元祖,如果结果为真时,在进一步获取对应得到数据字节信息,否则将该子查询请求进行清除,这样减少了子查询的无用查询,以此来提高在本并发检索过程中的查询效率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210798484.3A CN115114296A (zh) | 2022-07-06 | 2022-07-06 | 一种基于TemplateB+Tree的索引结构布局方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210798484.3A CN115114296A (zh) | 2022-07-06 | 2022-07-06 | 一种基于TemplateB+Tree的索引结构布局方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115114296A true CN115114296A (zh) | 2022-09-27 |
Family
ID=83332717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210798484.3A Pending CN115114296A (zh) | 2022-07-06 | 2022-07-06 | 一种基于TemplateB+Tree的索引结构布局方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115114296A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302574A (zh) * | 2023-05-23 | 2023-06-23 | 北京前景无忧电子科技股份有限公司 | 一种基于MapReduce的并发处理方法 |
CN116932470A (zh) * | 2023-09-18 | 2023-10-24 | 江苏正泰泰杰赛智能科技有限公司 | 一种可计算存储物联网时序数据的方法、系统及存储介质 |
-
2022
- 2022-07-06 CN CN202210798484.3A patent/CN115114296A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302574A (zh) * | 2023-05-23 | 2023-06-23 | 北京前景无忧电子科技股份有限公司 | 一种基于MapReduce的并发处理方法 |
CN116302574B (zh) * | 2023-05-23 | 2023-08-18 | 北京前景无忧电子科技股份有限公司 | 一种基于MapReduce的并发处理方法 |
CN116932470A (zh) * | 2023-09-18 | 2023-10-24 | 江苏正泰泰杰赛智能科技有限公司 | 一种可计算存储物联网时序数据的方法、系统及存储介质 |
CN116932470B (zh) * | 2023-09-18 | 2024-01-05 | 江苏正泰泰杰赛智能科技有限公司 | 一种可计算存储物联网时序数据的方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9501550B2 (en) | OLAP query processing method oriented to database and HADOOP hybrid platform | |
CN107423422B (zh) | 基于网格的空间数据分布式存储及检索方法和系统 | |
US8078394B2 (en) | Indexing large-scale GPS tracks | |
CN101727465B (zh) | 分布式列存储数据库索引建立、查询方法及装置与系统 | |
CN115114296A (zh) | 一种基于TemplateB+Tree的索引结构布局方法 | |
WO2013155752A1 (zh) | 面向数据库与Hadoop混合平台的OLAP查询处理方法 | |
US8229916B2 (en) | Method for massively parallel multi-core text indexing | |
CN111597160A (zh) | 分布式数据库系统、分布式数据处理方法和装置 | |
CN102890678A (zh) | 一种基于格雷编码的分布式数据布局方法及查询方法 | |
US11782924B2 (en) | Distributed join index for shared-nothing and log-structured databases | |
CN115114374A (zh) | 事务执行方法、装置、计算设备及存储介质 | |
Juran et al. | Data organization and retrieval on parallel air channels: Performance and energy issues | |
Suganya et al. | Efficient fragmentation and allocation in distributed databases | |
CN115576919A (zh) | 一种数据分库分表的方法 | |
CN115114294A (zh) | 数据库存储模式的自适应方法、装置、计算机设备 | |
Sun et al. | Handling multi-dimensional complex queries in key-value data stores | |
WO2021057824A1 (zh) | 查询数据的方法、装置、计算设备和存储介质 | |
CN113905252A (zh) | 直播间的数据存储方法、装置、电子设备及存储介质 | |
CN110569310A (zh) | 一种云计算环境下的关系大数据的管理方法 | |
CN113672583A (zh) | 基于存储与计算分离的大数据多数据源分析方法及系统 | |
Furfaro et al. | Managing multidimensional historical aggregate data in unstructured P2P networks | |
KR20200029431A (ko) | 효율적인 인덱싱을 제공하기 위한 방법, 장치 및 컴퓨터-판독가능 매체에 포함된 컴퓨터 프로그램 | |
CN111782655A (zh) | 一种基于地理分区的数据库跨区域数据就近访问方法 | |
Yang et al. | GridMesa: A NoSQL-based big spatial data management system with an adaptive grid approximation model | |
US20230091018A1 (en) | Implementing superset-guaranteeing expressions in query execution |
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 |