【技术实现步骤摘要】
一种基于OCSSD的持久键值存储方法、设备及系统
[0001]本专利技术属于键值存储领域,更具体地,涉及一种基于OCSSD的持久键值存储方法、设备及系统。
技术介绍
[0002]持久键值(KV)存储是现代大规模存储基础结构不可或缺的一部分,用于存储大量的非结构化数据。日志结构合并树(LSM
‑
tree)是键值存储实现中最受欢迎的数据结构之一,因为它将随机写转换为顺序写,同时支持高效的单点查询和范围查询。为了加快读取操作,LSM
‑
tree键值存储系统将键值对保持在多层结构中。在处理写入和更新操作时,LSM
‑
tree键值存储系统首先将传入的更新缓存在内存缓冲区中,并在缓冲区已满时将整个缓冲区批量地转储到持久性存储中。LSM
‑
tree键值存储系统的写入和更新操作均以日志结构方式进行追加写,旧数据不会被新写入数据覆盖。因此,LSM
‑
tree键值存储系统被广泛用于大规模生产环境中,包括Google的BigTable和LevelDB,Fac ...
【技术保护点】
【技术特征摘要】
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任一...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。