【技术实现步骤摘要】
一种索引存储方法、系统和存储介质
[0001]本专利技术涉及存储
,特别涉及一种索引存储方法、系统和存储介质。
技术介绍
[0002]PM(Persistent Memory)持久化内存和DRAM(Dynamic Random Access Memory)之间最显著的区别是数据的持久化特性。持久化,是指写入PM的数据将被持久化在存储介质中,并且在断电后仍然存在。目前,在存储体系结构中PM位于多级CPU缓存后面,数据可以直接从CPU缓存达到PM中。但是往PM写数据时,数据并不能直接保证已经存在于PM中,有可能还留存在CPU缓存中,因此需要执行缓存行刷写指令或等待缓存行被隐式的刷写。由于PM的持久化特性、字节粒度寻址、纳秒级延迟、介于DRAM和块设备之间的存储容量,它非常适合用来存储一些索引结构,可以极大的提升系统的整体性能,因此它开始被业界的系统所使用。
[0003]常用的索引主要包括树形索引和哈希索引。树形索引天然支持范围查询。树形索引中常用的主要包括B+树索引和基数树。目前,在许多工业界系统中,都选择使用B+ ...
【技术保护点】
【技术特征摘要】
1.一种索引存储方法,其特征在于,包括以下步骤:确定原索引中键值对数量小于设定数量的子树,将每棵所述子树的数据分别存储到对应的一页中,得到对应的SPRT索引。2.如权利要求1所述的方法,其特征在于,所述将每棵所述子树的数据分别存储到对应的一页中,包括以下步骤:将对应子树中的数据对应的元数据,从对应的一个页的头部开始,按照从前往后的顺序存储;将对应子树中的数据,从所述页的尾部开始,按照从后往前的顺序存储。3.如权利要求2所述的方法,其特征在于,每个所述元数据的存储格式包括SPRT节点类型、SPRT节点深度、SPRT节点版本、SPRT节点前缀、SPRT节点的锁、下一次数据插入的位置、SPRT节点中数据的个数、SPRT节点中每个数据的位置、SPRT节点中每个数据键的长度、SPRT节点中每个数据键的哈希值和SPRT节点中每个数据排序后的位置。4.如权利要求2所述的方法,其特征在于,每个所述对应子树中的数据的存储格式包括值、键、有效位、键长度和值长度。5.如权利要求3所述的方法,其特征在于,当使用所述SPRT索引进行查询时,找到对应的SPRT节点后,从SPRT节点头部到所述下一次数据插入的位置,对比SPRT节点中每个数据键的哈希值,确定哈希值匹配的数据键。6.如权利要求4所述的方法,其特征在于,当使用所述SPRT索引进行查询时,确定哈希值匹配的数据键后,读取所述数据键对应的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。