[发明专利]一种基于NVM的LSM树的存储结构及其数据存储方法在审
| 申请号: | 202111179858.5 | 申请日: | 2021-10-11 |
| 公开(公告)号: | CN113821177A | 公开(公告)日: | 2021-12-21 |
| 发明(设计)人: | 庄铸滔;陈志广 | 申请(专利权)人: | 中山大学 |
| 主分类号: | G06F3/06 | 分类号: | G06F3/06 |
| 代理公司: | 深圳市创富知识产权代理有限公司 44367 | 代理人: | 高冰 |
| 地址: | 510275 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 nvm lsm 存储 结构 及其 数据 方法 | ||
本发明公开了一种基于NVM的LSM树的存储结构及其数据存储方法,包括:DRAM层,用于将数据插入到数据结构WriteBatch并构建写入对象队列,根据写入对象队列将数据结构WriteBatch的数据写入MemTable;DISK层,用于将MemTable转换为SSTable并基于NVM对SSTable进行合并,完成写操作。本发明将NVM作为SSTabl的存储载体,以提升系统的吞吐速率。本发明作为一种基于NVM的LSM树的存储结构及其数据存储方法,可广泛应用于存储设备领域。
技术领域
本发明涉及存储设备领域,尤其涉及一种基于NVM的LSM树的存储结构及其数据存储方法。
背景技术
在数据存储领域中,基于LSM树存储结构实现对数据的存储是较为常见的,目前的LSM树存储结构是以传统的块存储设备作为SSTable的存储载体,其存在的问题是灵活度不足,需要将硬盘上的数据先读入DRAM再进行操作,从而使得整个系统的读写性能一般,吞吐速率较低。
发明内容
为了解决上述技术问题,本发明的目的是提供一种基于NVM的LSM树的存储结构及其数据存储方法,将NVM作为SSTabl的存储载体,以提升系统的吞吐速率。
本发明所采用的第一技术方案是:一种基于NVM的LSM树的存储结构,包括以下步骤:
DRAM层,用于将数据插入到数据结构WriteBatch并构建写入对象队列,根据写入对象队列将数据结构WriteBatch的数据写入MemTable;
DISK层,用于将MemTable转换为SSTable并基于NVM对SSTable进行合并,完成写操作。
本发明所采用的第二技术方案是:一种基于NVM的LSM树存储结构的数据存储方法,包括写操作:
将数据插入到数据结构WriteBatch并构建写入对象队列;
根据写入对象队列将数据结构WriteBatch的数据写入MemTable;
将MemTable转换为SSTable;
基于NVM对SSTable进行合并,完成写操作。
进一步,所述将数据结构WriteBatch的数据写入MemTable具体还包括:
判断当前MemTable是否填满;
判断到MemTable填满,将MemTable转为Immutable MemTable并新创建一个MenTable。
进一步,所述将MemTable转换为SSTable这一步骤,其具体包括:
将MemTable转换为SSTable;
遍历一遍Immutable MemTable,得到Immutable MemTable的数据项数量;
新建一个数据项数量与Immutable MemTable相同的SSTable,将ImmutableMemTable的数据项在SSTable的最尾部插入。
进一步,所述基于NVM对SSTable进行合并,完成写操作这一步骤,其具体包括:
创建Compaction对象和SSTable数组,所述Compaction对象包括SSTable合并的记录信息,所述SSTable数组设有可容纳键值对的数目阈值;
对将要合并的SSTable构建一个迭代器,所述迭代器将将要合并的SSTable的键值对从按键的大小从小到大依次返回;
遍历该迭代器,对于每个返回的键值对,根据预设规则判断该键值对是否可丢弃;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111179858.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于圣诞树制备的喷绒装置
- 下一篇:储气库节流装置





