[发明专利]一种基于OCSSD的持久键值存储方法、设备及系统在审
申请号: | 202210272087.2 | 申请日: | 2022-03-18 |
公开(公告)号: | CN114741028A | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 童薇;冯丹;詹天奇;黄栋 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F12/10 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 夏倩;李智 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ocssd 持久 键值 存储 方法 设备 系统 | ||
1.一种基于OCSSD的持久键值存储方法,利用LSM-tree组织数据,其特征在于,compaction操作包括如下步骤:
键值对排序步骤:将从第L层选中的SSTable以及第L+1层中与所选中的SSTable存在键值范围重叠的SSTable均从所述OCSSD中读取到内存,并对读入内存的SSTable中的键值对进行排序,得到有序键值对序列;所读取的SSTable中的数据块记为原数据块;L和L+1为LSM-tree中的层序号;
数据检测步骤:将所述有序键值对序列中与原数据块完全相同的键值对子序列识别为可重用数据块,并将其余键值对组织为待写回数据块;
重映射步骤:对于所述可重用数据块,为其分配新的第一逻辑地址,并获得与之内容相同的原数据块在所述OCSSD中的第一物理地址,建立所述第一逻辑地址到所述第一物理地址的映射关系;
写回步骤:对于所述待写回数据块,为其分配新的第二逻辑地址,将其写入第L+1层中空闲的第二物理地址,并建立所述第二逻辑地址到所述第二物理地址的映射关系。
2.如权利要求1所述的基于OCSSD的持久键值存储方法,其特征在于,将所述有序键值对序列中与原数据块完全相同的键值对子序列识别为可重用数据块,包括:
利用与数据块大小相同的滑动窗口在所述有序键值对序列上滑动,每滑动至一个位置后,判断是否存在与所述滑动窗口中的键值对子序列相同的原数据块,若是,则将所述滑动窗口中的键值对子序列识别为可重用数据块,并使所述滑动窗口以数据块大小为滑动长度滑动至下一个位置;若否,则使所述滑动窗口以1为滑动长度滑动至下一个位置。
3.如权利要求2所述的基于OCSSD的持久键值存储方法,其特征在于,所述滑动窗口中的键值对子序列与原数据块是否相同的判断方式包括:
将所述滑动窗口中的首、尾两个键值对的键值分别与原数据块的首、尾两个键值对的键值进行比较,若两个键值对的键值对应相等,则判断所述滑动窗口中的键值对子序列与该原数据块相同。
4.如权利要求1所述的基于OCSSD的持久键值存储方法,其特征在于,还包括:
为所述OCSSD中的每一个物理地址维护一个引用计数,用于记录指向该物理地址的逻辑地址的计数;
当某个物理地址的引用计数为0时,将该物理地址置为无效。
5.如权利要求1~4任一项所述的基于OCSSD的持久键值存储方法,其特征在于,所述数据检测步骤中,识别出可重用数据块之后,将其余键值对组织为待写回数据块之前,还包括:
按照闪存页大小将可重用数据块和其余键值对进行数据对齐。
6.如权利要求1~4任一项所述的基于OCSSD的持久键值存储方法,其特征在于,SSTable中的数据块大小为与所述OCSSD中的物理页大小一致。
7.如权利要求1~4任一项所述的基于OCSSD的持久键值存储方法,其特征在于,利用超级块管理所述OCSSD中的闪存物理块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210272087.2/1.html,转载请声明来源钻瓜专利网。