CN109376156B - 读取具有存储感知的混合索引的方法 - Google Patents
读取具有存储感知的混合索引的方法 Download PDFInfo
- Publication number
- CN109376156B CN109376156B CN201811375886.2A CN201811375886A CN109376156B CN 109376156 B CN109376156 B CN 109376156B CN 201811375886 A CN201811375886 A CN 201811375886A CN 109376156 B CN109376156 B CN 109376156B
- Authority
- CN
- China
- Prior art keywords
- index
- memory
- layer
- node
- tree
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000013507 mapping Methods 0.000 claims abstract description 29
- 230000008447 perception Effects 0.000 claims abstract description 10
- 230000008676 import Effects 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 4
- 239000010410 layer Substances 0.000 description 134
- 238000005516 engineering process Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000009191 jumping Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000002688 persistence Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000000547 structure data Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000011229 interlayer Substances 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
- 238000012216 screening 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了读取具有存储感知的混合索引的方法,属于数据库查询的技术领域。混合索引结构采用由上至下划分为位于主存中的顶层、位于内存中的中间层、位于外存中的底层这三部分的树状索引结构,顶层、中间层、底层数据在内存充足时均存储在内存中,中间层数据在内存不足时局部或全部存储在外存中。本发明还公开了混合索引结构的创建方法、读取方法、范围查询方法、重构方法,通过内存映射长度在内存不足时将部分索引数据存储在外存中,有效地利用内存、外存等存储资源,能够根据***情况或用户效率需求合理决策索引结构内外存占用比例,提高查询效率。
Description
技术领域
本发明公开了读取具有存储感知的混合索引的方法,属于数据库查询的技术领域,是申请号为201510310349.X的发明专利的分案申请,母案的申请日为2015年6月8日。
背景技术
现有数据库索引按照存储方式可分为两种,其一是采用完全基于硬盘的频繁访问方式来进行查询等操作,而未充分利用主存和缓存等处理速度更快的设备,性能无法突破设备瓶颈。另一种则是主存索引技术,即将索引完全建立在主存中,作为一种高效的索引方式,往往利用缓存技术,在现代计算机框架下性能非常高效,但当数据量大到一定程度时,如目前采用异构的计算资源的进行海量数据处理的云计算场景下,内存容量差异较大,如在内存容量一般的主机上,将无法容纳空间占用较大的索引结构。限于内存空间和存储等问题,主存索引不具有传统硬盘索引技术的可重用性和空间不受限等优点;而限于硬盘读写效率问题,传统硬盘索引不具有主存索引的高效性。
主存容量相对于硬盘等外存设备往往差距较大,因此当索引结构占用空间较大时,将整个索引结构置于主存中将不实际,根据主存占用情况进行自适应性的将底层调整至硬盘中,结合两种索引技术,动态利用外存、内存,以保证索引结构同时具有空间不受限、高效、持久化等特点。创建于主存中的索引结构的存储问题决定着数据完整性和***实时性,若未在外存中存储相应的数据结构,***重启时需重新创建将浪费大量的计算资源,因此将主存中的索引结构存储到硬盘中对于索引的持久性和重用性十分重要。
FD-tree是一种采用分散层叠技术和对数技术的高效索引结构,最小化随机读写的次数和限制随机读写的区域,有限提高了索引结构更新的效率。但是该索引结构仅将位于索引树顶层的B+-树导入到主存中,在内存能够容纳索引结构时却无法将整个结构导入内存中而未充分利用主存和缓存,因此效率仍有待提高。
发明内容
本发明所要解决的技术问题是针对上述背景技术的不足,提供了读取具有存储感知的混合索引的方法,基于FD-tree索引结构进行改进,基于内存空间决定索引树的内外存分布,将存储在硬盘上的索引结构局部或全部导入到主存中,提高查询和更新效率,同时不破坏***的持久性特征,解决了仅将位于索引树顶层的B+-树导入到主存中的索引结构存在索引效率低的技术问题。
本发明为实现上述发明目的采用如下技术方案:
创建具有存储感知的混合索引的方法,具有存储感知的混合索引,采用由上至下划分为位于主存中的顶层、位于内存中的中间层、位于外存中的底层这三部分的树状索引结构,顶层、中间层、底层数据在内存充足时均存储在内存中,中间层数据在内存不足时局部或全部存储在外存中,
索引头文件创建在映射区域起始段,所述索引头文件包括:指示索引树含有常规键值与否的全局脏标记、记录索引树每一层节点描述信息的分层地址表、记录用于调整内存中存储数据的内存映射长度,索引树每一层节点描述信息包括:起始偏移量、结束偏移量、区域长度、头节点偏移量、导入比例、指示该层节点含有常规键值与否的局部脏标记;
方法具体如下:
计算内存可用连续空间大小以及索引结构占用空间并初始化分层地址表,
创建位于外存中的初始索引文件以形成索引结构底层,
采用内存映射技术并考虑内存可用连续空间,按照分层地址表将初始索引文件部分映射入内存以形成若干有序索引项节点序列构成的中间层,
在映射区域起始段创建索引头并初始化分层地址表,
在主存中建立索引树并根据分层地址表从上层叶子节点开始逐层向下层叶子节点***键值以形成顶层,在上层叶子节点溢出时将其与下层叶子节点合并,取出下层叶子节点的第一项作为上层叶子节点的指针项后构造上层叶子节点,迭代此过程直至完成索引树的构造,在顶层占用空间超出阈值时将溢出的节点与中间层进行合并,
同步内外存的索引结构数据。
读取具有存储感知的混合索引的方法,
具有存储感知的混合索引,采用由上至下划分为位于主存中的顶层、位于内存中的中间层、位于外存中的底层这三部分的树状索引结构,顶层、中间层、底层数据在内存充足时均存储在内存中,中间层数据在内存不足时局部或全部存储在外存中,
索引头文件创建在映射区域起始段,所述索引头文件包括:指示索引树含有常规键值与否的全局脏标记、记录索引树每一层节点描述信息的分层地址表、记录用于调整内存中存储数据的内存映射长度,索引树每一层节点描述信息包括:起始偏移量、结束偏移量、区域长度、头节点偏移量、导入比例、指示该层节点含有常规键值与否的局部脏标记;
方法通过溢出检测实现索引树的查询和更新,具体如下:获取索引头中的内存映射长度,在节点偏移量大于内存映射长度溢出时采用文件读写方式读出整个节点块,在节点偏移量小于内存映射长度时通过节点偏移量计算内存地址并按照指针方式直接读写。
具有存储感知的混合索引的范围查询方法,
具有存储感知的混合索引,采用由上至下划分为位于主存中的顶层、位于内存中的中间层、位于外存中的底层这三部分的树状索引结构,顶层、中间层、底层数据在内存充足时均存储在内存中,中间层数据在内存不足时局部或全部存储在外存中,
索引头文件创建在映射区域起始段,所述索引头文件包括:指示索引树含有常规键值与否的全局脏标记、记录索引树每一层节点描述信息的分层地址表、记录用于调整内存中存储数据的内存映射长度,索引树每一层节点描述信息包括:起始偏移量、结束偏移量、区域长度、头节点偏移量、导入比例、指示该层节点含有常规键值与否的局部脏标记;
方法具体如下:
在中间层局部脏标记均为非脏时跳至底层进行范围查询,
在中间层有局部脏标记为脏时从顶层开始依次检查索引树每一层的局部脏标记:该层所有局部脏标记非脏时跳至下一层,该层有局部脏标记为脏时将其中的常规键值筛选加入到查询结果集中。
重构具有存储感知的混合索引的方法,
具有存储感知的混合索引,采用由上至下划分为位于主存中的顶层、位于内存中的中间层、位于外存中的底层这三部分的树状索引结构,顶层、中间层、底层数据在内存充足时均存储在内存中,中间层数据在内存不足时局部或全部存储在外存中,
索引头文件创建在映射区域起始段,所述索引头文件包括:指示索引树含有常规键值与否的全局脏标记、记录索引树每一层节点描述信息的分层地址表、记录用于调整内存中存储数据的内存映射长度,索引树每一层节点描述信息包括:起始偏移量、结束偏移量、区域长度、头节点偏移量、导入比例、指示该层节点含有常规键值与否的局部脏标记;
方法具体如下:获取缓存索引树全局脏标记以及每一层的局部脏标记,仅在全局脏标记为脏时依次将标记为脏状态的层和标记为脏状态的最近下层合并,直至将所有上层常规键值合并到叶子层为止,根据当前运行环境设置参数并基于叶子层构造上层。
本发明采用上述技术方案,具有以下有益效果:有效地利用内存、外存等存储资源,能够根据***情况或用户效率需求合理决策索引结构内外存占用比例,特别在针对不同的数据负载情况时,能有效解决主存索引的空间占用问题和硬盘索引的效率折中问题,实现索引结构在效率和空间占用上的有效均衡与双赢,对拥有异构的计算资源并进行海量数据处理的云计算场景,具有较好的实用性和通用性。
附图说明
图1是本发明的原理示意图。
图2是索引头示意图。
图3是索引创建操作示意图。
图4是范围查询操作示意图。
图5是索引合并操作示意图。
图6是索引重构操作示意图。
具体实施方式
下面详细描述本发明的实施方式,下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本领域的技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有本发明所属技术领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本发明涉及的是一种具有存储感知的自调整混合索引,为实现索引树的持久化特征,采用内存映射技术将索引结构高效地保存到外存中。如图1所示采用树状索引结构,上下划分为三部分,分别为位于主存的缓存敏感树(CSB+-树),称为顶层,同样位于内存的中间层和位于外存中的底层,中间层和底层均由若干层有序索引项节点序列组成。当内存充足时三部分全部置于内存中,内存不足时中间层可局部位于外存中,主要通过对内存映射长度的设置进行适应性变化。索引项分为四种类型,分为常规项(键值+类型+行标识符)、待删项(键值+类型)、内部指针项(键值+类型+本层指针)、外部指针项(键值+类型+下层指针),采用统一的数据结构存储,基于类型进行区分。
索引头文件创建在映射区域(索引树内存中的区域)起始段,索引头文件如图2所示包括:指示索引树含有常规键值与否的全局脏标记、记录索引树每一层节点描述信息的分层地址表、调整内存中存储数据的内存映射长度,索引树每一层节点描述信息包括:起始偏移量、结束偏移量、区域长度(结束偏移量与起始偏移量之差)、头节点偏移量、导入比例、指示该层节点含有常规键值与否的局部脏标记。
进行索引创建前,先获取***当前可用连续内存空间,同时根据键值数计算索引空间占用、节点大小、相邻层次比。然后创建索引文件并根据分层地址表将其映射入主存中,初始化分层地址表并开始创建索引树,可最大程度地利用内存空间同时保证最高的查询效率。
为解决主存索引空间占用问题,特别应对海量数据索引场景时,宝贵的内存空间将不足以容纳索引树,采用基于存储感知的适应性分层方法对索引树进行创建,将能够根据内存空间占用,动态地将部分索引结构置于外存中,利用基于溢出检测的节点读写方法,保证了索引树的普适性同时最大化效率,为对索引树进行高效管理,利用分层地址表对索引树的每一层的信息进行高效存储。
对于不同的设备环境,相同的索引结构将无法满足最优性能,为能够对索引进行自调整以满足多样性环境需求,本发明采用基于跨层合并的索引重构算法,实现将键值全部集中到叶子层中并对节点大小进行调整。
针对范围查询需从顶层开始扫描至叶子层浪费大量资源的问题,本发明应用一种基于标记的范围查询算法,能有效降低读写开销。
实施例一:索引创建及重构过程,具体步骤流程如图3、图6所示,包括:
1、索引创建
A.获取内存可占用的连续空间大小,根据键值数计算索引结构空间占用,初始化分层地址表:
首先计算完全采用顶层树的空间占用,若超过阈值(根据可内存占用计算*50%),则计算B+-树的最适宜层数的占用空间,其余层采用有序索引项序列层,分别计算层数和分层地址表;
B.创建相应大小的初始索引文件:
索引文件即存储整个索引结构的文件,位于外存中,索引文件的目的在于当***断电后,内存数据丢失,重启后能够基于索引文件快速启动进行查询;
C.采用内存映射技术按照分层地址表将索引文件部分映射入内存;
D.在映射区域起始段创建索引头并初始化;
E.将键值逐步***位于内存中的上层B+-树,若溢出则将其与下层合并:
该过程将全部在主存中进行,当顶层占用空间超出阈值,则将其与下层进行合并,合并过程是对两个有序链表进行合并,合并过程中下层节点全部预留30%空间以供后期合并以减少不必要的写入开销;
F.合并完成后重构上层直至顶层:
重构过程中,取出下层有序链表的起始键值即代表键,初始化为指向该节点的指针项,并按序构造上层序列,迭代此过程直至完成B+-树的构造;
G.进行内外存索引结构数据同步:
数据同步主要采用内存映射提供刷新方法,即对映射区域进行刷新,相对于文件读写的方法,该方法能在短时间内完成对一个较大文件的刷新,效率非常高。
、索引重构
A.读取索引树的脏标记,若为否,直接跳至F;否则跳至B;
脏标记位于索引头中,指示着该层中除了指针项是否存在常规键值,若显示为脏状态,则说明除叶子层外某一层中存在常规键值。否则只有叶子层中存在常规键,可直接重构;
B.获取顶层的根节点并到达叶子层;
C.获取索引头中当前层的脏标记;
D.若为真,则与标记为脏状态的最近下层进行合并,跳至该层并跳至F:
该步骤的目的在于将上层的常规键值合并至同样存在常规键值的层中,最终将索引常规键合并至叶子层,优点是避免扫描只含有指针项的层,节约大量时间;
E.若为否,跳至下一层;
F.若未到达叶子层则跳至C;否则跳至G;
G.基于运行环境设置新的节点大小和层比例,基于叶子层构建上层:
运行环境主要包括查询负载和内外存环境,通过设置不同的节点大小和层间比进行适应性自调整。
实施例二:对索引的***、删除、点查询、范围查询和修改等五项操作,具体如下所示:
1.点查询操作
A.在顶层中进行查找,找到相应叶节点;
B.在该节点内进行键值比较;
C.若找到相应键值,判断是否为索引项,若是则返回相应的行标识符;
D.若为待删项,则该键值不存在,查询失败,返回;否则获取相应的子节点偏移量;
E.若未找到相应键值,则找到小于其的最大指针项并获取子节点偏移量;
F.根据基于溢出检测的节点读写方法访问该子节点;
G.重复B-E步骤,直至到达底层节点;
H.若节点中存在该键值,则返回对应的行标识符;
I.否则查询失败。
范围查询如图4所示
A.获取顶层的根节点并到达叶子层;
B.获得该层对应的起始节点和结束节点地址:
范围查询拥有给定的范围,根据范围分别进行点查询找到该层中对应的子节点;
C.从索引头中获取该层的脏标记;
D.若标记为真,则在起始节点和结束节点之间搜索键值并加入到结果集中:
加入到结果集时,若出现冲突,即表示为待删项,将丢弃该键值并删除结果集中原有的键值;
E.否则更新起始节点和结束节点;
F.若起始节点和结束节点均不为空则跳至B步骤;
G.否则停止并返回结果集:
当起始节点和结束节点均为空时,表示已遍历完叶子层,无子节点,便将其赋为空以预示查询结束。
***操作
A.将键值初始化为常规索引项***至B+-树中;
B.若B+-树溢出则执行合并操作;
C.否则***成功;
4.合并操作如图5所示
A.根据分层地址表分别获取待合并上下层头节点地址;
待合并层分别为Li层和Li+1层,分别读取索引头中的分层地址表,获取头节点偏移量,即为头节点位于索引文件中的相对位置。
B.从头开始选取上层的节点,并获取其在下层的子节点:
遍历节点内所有键值,判断类型为外部索引项,获取其键值部分,即为指向子节点的偏移量;
C.将上层中的常规项或待删项与下层的子节点进行合并:
若在子节点中出现待删键,则在上下层中直接删除该项;若为常规项,则按序合并,由于节点中通常保留部分空余空间,所以将不会出现新的节点空间申请,当节点溢出时将申请新节点,重新分配子节点间的键值数以达到平衡;
D.重新构造Li层及以上层:
待合并完成后即不再出现溢出时,选择下层节点的第一项作为新的上层指针项,不断迭代直至完成B+-树的构造。
删除操作
A.在顶层B+-树中先实施删除操作:
由于B+-树中可能存在后期***常规项键值,所以先在顶层进行查询,若未检索到相关项,则查询下层节点;若查询到常规项,而未合并到下层中,则采用传统的B+-树删除操作即可;
B.若待删键位于下层,则***标记为待删项的键值至B+-树中:
当该键处于下层时,则采用懒惰删除方法,并非真正删除,而是***类型为待删键到B+-树中,进行查询时,根据类型能较快判断为待删键值,而不用遍历到更下层中查找;
C.等待合并操作以将待删项完全清除:
为减少I/O开销,因此在合并过程中统一将待删项去除。具体方法是合并过程中若出现两个相同的键值,其中一项为常规项,另一项为待删项,则直接将两项删除,此方法避免频繁的节点变化,而将更新操作集中到一个小的区域。
综上所述,本发明根据内外存信息进行适应性调整索引结构内外存占用比例,进一步利用主存索引技术提高查询效率,同时将整个索引结构持久化到硬盘中,当内存无空间可容纳索引结构时,仍能基于硬盘上的索引文件进行查询,使其具有可伸缩性和拓展性;当内存空间充足时,直接将整索引树导入内存中,作为主存索引,具有高效的查询效率,当可用连续内存空间不足时,局部导入内存进行查询。根据***占用情况,本发明不仅可以作为主存索引方案,同时也可以作为传统的基于硬盘的索引方案,调整导入内外存的分布比例,以解决内存占用和性能的均衡问题。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案实质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器,或者网络设备等)执行本发明的实施例或实施例的某些部分所述的方法。
Claims (1)
1.读取具有存储感知的混合索引的方法,其特征在于:
具有存储感知的混合索引,采用由上至下划分为位于主存中的顶层、位于内存中的中间层、位于外存中的底层这三部分的树状索引结构,顶层、中间层、底层数据在内存充足时均存储在内存中,中间层数据在内存不足时局部或全部存储在外存中,
索引头文件创建在映射区域起始段,所述索引头文件包括:指示索引树含有常规键值与否的全局脏标记、记录索引树每一层节点描述信息的分层地址表、记录用于调整内存中存储数据的内存映射长度,索引树每一层节点描述信息包括:起始偏移量、结束偏移量、区域长度、头节点偏移量、导入比例、指示该层节点含有常规键值与否的局部脏标记;
方法通过溢出检测实现索引树的查询和更新,具体如下:
获取索引头中的内存映射长度,
在节点偏移量大于内存映射长度时,采用文件读写方式读出整个节点块,
在节点偏移量小于内存映射长度时,通过节点偏移量计算内存地址并按照指针方式直接读写。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811375886.2A CN109376156B (zh) | 2015-06-08 | 2015-06-08 | 读取具有存储感知的混合索引的方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510310349.XA CN104899297B (zh) | 2015-06-08 | 2015-06-08 | 创建具有存储感知的混合索引的方法 |
CN201811375886.2A CN109376156B (zh) | 2015-06-08 | 2015-06-08 | 读取具有存储感知的混合索引的方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510310349.XA Division CN104899297B (zh) | 2015-06-08 | 2015-06-08 | 创建具有存储感知的混合索引的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109376156A CN109376156A (zh) | 2019-02-22 |
CN109376156B true CN109376156B (zh) | 2021-09-21 |
Family
ID=54031959
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811376700.5A Active CN109284299B (zh) | 2015-06-08 | 2015-06-08 | 重构具有存储感知的混合索引的方法 |
CN201510310349.XA Expired - Fee Related CN104899297B (zh) | 2015-06-08 | 2015-06-08 | 创建具有存储感知的混合索引的方法 |
CN201811375860.8A Active CN109299113B (zh) | 2015-06-08 | 2015-06-08 | 具有存储感知的混合索引的范围查询方法 |
CN201811375886.2A Active CN109376156B (zh) | 2015-06-08 | 2015-06-08 | 读取具有存储感知的混合索引的方法 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811376700.5A Active CN109284299B (zh) | 2015-06-08 | 2015-06-08 | 重构具有存储感知的混合索引的方法 |
CN201510310349.XA Expired - Fee Related CN104899297B (zh) | 2015-06-08 | 2015-06-08 | 创建具有存储感知的混合索引的方法 |
CN201811375860.8A Active CN109299113B (zh) | 2015-06-08 | 2015-06-08 | 具有存储感知的混合索引的范围查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (4) | CN109284299B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018205151A1 (zh) * | 2017-05-09 | 2018-11-15 | 华为技术有限公司 | 数据更新方法和存储装置 |
CN107480299B (zh) * | 2017-08-30 | 2021-08-27 | 上海联影医疗科技股份有限公司 | 一种信息处理的方法及装置 |
CN110110186A (zh) * | 2018-01-23 | 2019-08-09 | 微软技术许可有限责任公司 | 空间划分树与邻近图结合的向量检索技术 |
CN110309368B (zh) * | 2018-03-26 | 2023-09-22 | 腾讯科技(深圳)有限公司 | 数据地址的确定方法、装置、存储介质和电子装置 |
CN108920552B (zh) * | 2018-06-19 | 2022-04-29 | 浙江工业大学 | 一种面向多源大数据流的分布式索引方法 |
CN111198877B (zh) * | 2018-10-31 | 2023-08-25 | 北京国双科技有限公司 | 数据存储和查询方法及装置 |
CN109918380A (zh) * | 2019-03-08 | 2019-06-21 | 上海拉扎斯信息科技有限公司 | 数据处理方法、装置、存储介质和电子设备 |
CN110083601B (zh) * | 2019-04-04 | 2021-11-30 | 中国科学院计算技术研究所 | 面向键值存储***的索引树构建方法及*** |
CN110413611B (zh) * | 2019-06-24 | 2023-05-12 | 腾讯科技(深圳)有限公司 | 数据存储、查询方法及装置 |
CN110597805B (zh) * | 2019-07-24 | 2022-04-12 | 浙江大学 | 一种内存索引结构处理方法 |
CN112486979B (zh) * | 2019-09-12 | 2023-12-22 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和***、电子设备以及计算机可读存储介质 |
CN110825733B (zh) * | 2019-10-08 | 2022-08-09 | 华中科技大学 | 一种面向多采样流的时间序列数据管理方法及*** |
CN111241108B (zh) * | 2020-01-16 | 2023-12-26 | 北京百度网讯科技有限公司 | 基于键值对kv***的索引方法、装置、电子设备和介质 |
CN111309258B (zh) | 2020-02-14 | 2021-10-15 | 苏州浪潮智能科技有限公司 | 一种b+树的存取方法、装置和计算机可读存储介质 |
CN111611212A (zh) * | 2020-05-15 | 2020-09-01 | 交通运输部规划研究院 | 对栅格地图文件进行打包的方法、装置以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339538A (zh) * | 2007-07-04 | 2009-01-07 | 三星电子株式会社 | 使用页结构的数据树存储方法、***和计算机程序产品 |
CN102339256A (zh) * | 2011-09-15 | 2012-02-01 | 东北大学 | 基于imf内外存置换策略的复杂事件检测方法 |
CN103823865A (zh) * | 2014-02-25 | 2014-05-28 | 南京航空航天大学 | 一种数据库主存索引方法 |
CN104424204A (zh) * | 2013-08-21 | 2015-03-18 | 华为技术有限公司 | 索引机制合并方法、搜索方法、装置及设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7200623B2 (en) * | 1998-11-24 | 2007-04-03 | Oracle International Corp. | Methods to perform disk writes in a distributed shared disk system needing consistency across failures |
US7293028B2 (en) * | 2001-06-08 | 2007-11-06 | Sap Ag | Cache-conscious concurrency control scheme for database systems |
US7096235B2 (en) * | 2003-03-27 | 2006-08-22 | Sand Technology Systems International, Inc. | Computer implemented compact 0-complete tree dynamic storage structure and method of processing stored data |
CN101763415B (zh) * | 2009-12-16 | 2012-10-17 | 北京握奇数据***有限公司 | 一种数据库的b树索引的生成方法及装置 |
US8375012B1 (en) * | 2011-08-10 | 2013-02-12 | Hewlett-Packard Development Company, L.P. | Computer indexes with multiple representations |
CN102364474B (zh) * | 2011-11-17 | 2014-08-20 | 中国科学院计算技术研究所 | 用于机群文件***的元数据存储***和管理方法 |
CN102609490B (zh) * | 2012-01-20 | 2014-07-02 | 东华大学 | 一种面向列存储dwms的b+树索引方法 |
US10114908B2 (en) * | 2012-11-13 | 2018-10-30 | International Business Machines Corporation | Hybrid table implementation by using buffer pool as permanent in-memory storage for memory-resident data |
CN103198150B (zh) * | 2013-04-24 | 2016-04-20 | 清华大学 | 一种大数据索引方法及*** |
CN104268146A (zh) * | 2014-08-21 | 2015-01-07 | 南京邮电大学 | 一种适合分析型应用的静态b+树索引方法 |
-
2015
- 2015-06-08 CN CN201811376700.5A patent/CN109284299B/zh active Active
- 2015-06-08 CN CN201510310349.XA patent/CN104899297B/zh not_active Expired - Fee Related
- 2015-06-08 CN CN201811375860.8A patent/CN109299113B/zh active Active
- 2015-06-08 CN CN201811375886.2A patent/CN109376156B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339538A (zh) * | 2007-07-04 | 2009-01-07 | 三星电子株式会社 | 使用页结构的数据树存储方法、***和计算机程序产品 |
CN102339256A (zh) * | 2011-09-15 | 2012-02-01 | 东北大学 | 基于imf内外存置换策略的复杂事件检测方法 |
CN104424204A (zh) * | 2013-08-21 | 2015-03-18 | 华为技术有限公司 | 索引机制合并方法、搜索方法、装置及设备 |
CN103823865A (zh) * | 2014-02-25 | 2014-05-28 | 南京航空航天大学 | 一种数据库主存索引方法 |
Non-Patent Citations (2)
Title |
---|
Tree Indexing on Flash Disks;Yinan Li etc.;《2009 IEEE International Conference on Data Engineering》;20091230;全文 * |
可持久化CSB+-树索引技术研究;王胜等;《Journal of Frontiers of Computer Science and Technology》;20140928;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109284299A (zh) | 2019-01-29 |
CN104899297A (zh) | 2015-09-09 |
CN109299113B (zh) | 2021-03-30 |
CN104899297B (zh) | 2019-02-26 |
CN109299113A (zh) | 2019-02-01 |
CN109376156A (zh) | 2019-02-22 |
CN109284299B (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109376156B (zh) | 读取具有存储感知的混合索引的方法 | |
CN105117415B (zh) | 一种优化的ssd数据更新方法 | |
CN105320775B (zh) | 数据的存取方法和装置 | |
CN107463447B (zh) | 一种基于远程直接非易失内存访问的b+树管理方法 | |
Liao et al. | Multi-dimensional index on hadoop distributed file system | |
US9149054B2 (en) | Prefix-based leaf node storage for database system | |
US20130297613A1 (en) | Indexing based on key ranges | |
CN113377868B (zh) | 一种基于分布式kv数据库的离线存储*** | |
CN112000846B (zh) | 基于gpu分组lsm树索引的方法 | |
JPH07191891A (ja) | 多次元データを格納しかつアクセスするコンピュータ方法及び格納構造 | |
CN108021717B (zh) | 一种轻量级嵌入式文件***的实现方法 | |
CN100424699C (zh) | 一种属性可扩展的对象文件*** | |
CN104035925B (zh) | 数据存储方法、装置和存储*** | |
CN103942301B (zh) | 一种面向多数据类型访问应用的分布式文件*** | |
Challa et al. | DD-Rtree: A dynamic distributed data structure for efficient data distribution among cluster nodes for spatial data mining algorithms | |
CN111125120A (zh) | 一种面向流数据的快速索引方法、装置、设备及存储介质 | |
CN106055679A (zh) | 一种多层次缓存感知型索引方法 | |
CN112947860A (zh) | 一种分布式数据副本的分级存储与调度方法 | |
CN110597805B (zh) | 一种内存索引结构处理方法 | |
CN106021414B (zh) | 一种访问多级缓存参数信息的方法及*** | |
US10558636B2 (en) | Index page with latch-free access | |
CN111857582B (zh) | 一种键值存储*** | |
CN106547484A (zh) | 一种基于raid5的实现内存数据可靠性方法及*** | |
CN113722274A (zh) | 一种高效的R-tree索引遥感数据存储模型 | |
KR102127785B1 (ko) | 효율적인 인덱싱을 제공하기 위한 방법, 장치 및 컴퓨터-판독가능 매체에 포함된 컴퓨터 프로그램 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |