[发明专利]一种基于日志结构合并树的键值存储方法有效
申请号: | 201510802190.3 | 申请日: | 2015-11-19 |
公开(公告)号: | CN105468298B | 公开(公告)日: | 2018-11-13 |
发明(设计)人: | 岳银亮;刘帆;李宇哲;王伟平 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 司立彬 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 日志 结构 合并 键值 存储 方法 | ||
1.一种基于日志结构合并树的键值存储方法,其步骤为:
1)为磁盘上的每一数据存储组件在内存中设置一对应的缓存组件,并对每一缓存组件设置一布隆过滤器;为每个磁盘键值对表SSTable的每一数据块设置一布隆过滤器;
2)对于第i个数据存储组件Ci中待合并的键值对,采用相应的布隆过滤器在数据存储组件和缓存组件中逐级对该数据存储组件Ci当前数据块的每一键值对进行跳转判断,确定其能跳至的数据存储组件Ci+M或缓存组件Bi+N;其中M大于或等于0,N大于或等于1;跳转条件为:若跳跃至数据存储组件Ci+M,则数据存储组件Ci+M及其之前各级数据存储组件、缓存组件中没有包含待跳键值对中键key对应的任何版本的键值对,而缓存组件Bi+M+1中包含待跳键值对中键key一对应版本的键值对;然后将跳跃到数据存储组件Ci+M的键值对置于对应的缓存组件Bi+M中;如果缓存组件Bi+M中的键值对数量达到对应的设定条件,则将其中的键值对写入数据存储组件Ci+M中;若跳跃至缓存组件Bi+N,则跳跃条件为缓存组件Bi+N及其之前各级数据存储组件、缓存组件中没有包含待跳键值对中键key对应的任何版本的键值对,而数据存储组件Ci+N中包含待跳键值对中键key一对应版本的键值对;然后将待跳键值对跳跃到缓存组件Bi+N中;
3)对于第i个缓存组件Bi中待合并的键值对,采用相应的布隆过滤器在数据存储组件和缓存组件中逐级对该键值对进行跳转判断,确定其能跳至的数据存储组件Ci+M或缓存组件Bi+N-1;其中M大于或等于0,N大于或等于1;跳转条件为:若跳跃至数据存储组件Ci+M,则跳跃条件为数据存储组件Ci+M及其之前各级数据存储组件、缓存组件中没有包含待跳键值对中键key对应的任何版本的键值对,而缓存组件Bi+M+1中包含待跳键值对中键key一对应版本的键值对;然后将跳跃到数据存储组件Ci+M的键值对置于对应的缓存组件Bi+M中;如果缓存组件Bi+M中的键值对数量达到对应的设定条件,则将其中的键值对写入数据存储组件Ci+M中;若跳跃至缓存组件Bi+N-1,则跳跃条件为缓存组件Bi+N-1及其之前各级数据存储组件、缓存组件中没有包含待跳键值对中键key对应的任何版本的键值对,而数据存储组件Ci+N-1中包含待跳键值对中键key一对应版本的键值对;然后将待跳键值对跳跃到缓存组件Bi+N-1中。
2.如权利要求1所述的方法,其特征在于,所述步骤2)中,确定出其跳至的数据存储组件Ci+M或缓存组件Bi+N并根据该键值对的来源标记该键值对的状态、跳转动作和路径;所述步骤3)中,确定其能跳至的数据存储组件Ci+M或缓存组件Bi+N-1并标记该键值对的状态、跳转动作和路径;所述状态包括InSSTable、InBuffer,InSSTable表示键值对存储在磁盘上的SSTable文件内,InBuffer表示键值对存储在内存中的缓存内。
3.如权利要求2所述的方法,其特征在于,所述跳转动作包括:从SSTable跳跃到SSTable、从SSTable跳跃到Buffer、从Buffer跳跃到SSTable和从Buffer跳跃到Buffer;其中,Buffer表示缓存组件。
4.如权利要求1或2或3所述的方法,其特征在于,所述N值小于或等于设定的最大值Nmax。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510802190.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种信息处理方法及电子设备
- 下一篇:个性飞图触摸一体机的图片传送方法