一种基于OCSSD的持久键值存储方法、设备及系统技术方案

技术编号:34128211 阅读:22 留言:0更新日期:2022-07-14 14:44
本发明专利技术公开了一种基于OCSSD的持久键值存储方法、设备及系统,属于键值存储领域,其compaction操作包括:将从第L层选中的SSTable以及第L+1层中与所选中的SSTable存在键值范围重叠的SSTable读取到内存,并对键值对进行排序,得到有序键值对序列;将有序键值对序列中与读取的原数据块完全相同的键值对子序列识别为可重用数据块,并将其余键值对组织为待写回数据块;对于可重用数据块,为其分配第一逻辑地址,并映射到对应的原数据块在OCSSD中的第一物理地址;对于待写回数据块,将其写入第L+1层中空闲的第二物理地址,为其分配第二逻辑地址,并映射到第二物理地址的映射关系。本发明专利技术能够有效减少compaction操作过程中数据的写入量,从而减小对写性能和SSD寿命的影响。响。响。

【技术实现步骤摘要】
一种基于OCSSD的持久键值存储方法、设备及系统


[0001]本专利技术属于键值存储领域,更具体地,涉及一种基于OCSSD的持久键值存储方法、设备及系统。

技术介绍

[0002]持久键值(KV)存储是现代大规模存储基础结构不可或缺的一部分,用于存储大量的非结构化数据。日志结构合并树(LSM

tree)是键值存储实现中最受欢迎的数据结构之一,因为它将随机写转换为顺序写,同时支持高效的单点查询和范围查询。为了加快读取操作,LSM

tree键值存储系统将键值对保持在多层结构中。在处理写入和更新操作时,LSM

tree键值存储系统首先将传入的更新缓存在内存缓冲区中,并在缓冲区已满时将整个缓冲区批量地转储到持久性存储中。LSM

tree键值存储系统的写入和更新操作均以日志结构方式进行追加写,旧数据不会被新写入数据覆盖。因此,LSM

tree键值存储系统被广泛用于大规模生产环境中,包括Google的BigTable和LevelDB,Facebook中的Cas本文档来自技高网...

【技术保护点】

【技术特征摘要】
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任一...

【专利技术属性】
技术研发人员:童薇冯丹詹天奇黄栋
申请(专利权)人:华中科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1