一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于主从副本数据解耦的高性能分布式键值存储方法

2022-05-18 06:39:44 来源:中国专利 TAG:

技术特征:
1.一种基于主从副本数据解耦的高性能分布式键值存储方法,其特征是应用于包含若干个节点的存储集群中,若任一节点第i次接收到键值数据,则对第i个键值数据进行解耦操作和差异化存储操作;所述解耦操作包括:对所接收到的第i个键值数据中的键进行哈希计算得到第i个哈希值,然后根据第i个哈希值和一致性哈希环计算得到所述第i个键值数据中的键所映射到的一个节点编号;如果计算得到的节点编号等于当前接收到第i个键值数据的节点编号,则将所述第i个键值数据识别为主副本;否则,将所述第i个键值数据识别为从副本;所述差异化存储操作包括:若所述第i个键值数据为主副本,则将所述第i个键值数据写入节点的日志结构合并树中进行存储和管理;若所述第i个键值数据为从副本,则将所述第i个键值数据写入一个两层日志架构中进行存储和管理。2.根据权利要求1所述的高性能分布式键值存储方法,其特征是,所述两层日志架构的写入步骤包括:(i)两层日志架构接收到第i个键值数据时,判断i>nmax是否成立,若成立,则执行步骤(ii),否则,将第i个键值数据写入第一层全局日志中;(ii)对于第一层全局日志中的nmax个键值数据,后台线程计算得到每个键值数据中的键所映射的节点编号;并根据不同的节点编号建立对应的本地日志,且在每个本地日志中均设置有若干个范围组;(iii)分割nmax个键值数据:a、定义变量j并初始化j=1;b、对于第j个键值数据,后台线程计算得到第j个键值数据中的键所映射的节点编号为l,则将其映射到第l个本地日志;并判断在第l个本地日志中,第j个键值数据的键所属于的范围组;然后将第j个键值数据写入第l个本地日志中对应的范围组中;c、将j 1赋值给j后,判断j>nmax是否成立,若成立,则表示将nmax个键值数据都分别写入不同本地日志的不同范围组中,并将每个范围组内所写入的若干个键值数据保存在一个文件内,以形成每个范围组所对应的有序段;否则,返回步骤b执行。3.根据权利要求2所述的高性能分布式键值存储方法,其特征是,对两层日志架构中的键值数据按如下步骤进行有序度可调操作:若所述高性能分布式键值存储方法应用于读密集型的存储系统中,则增加范围组内有序段间的合并操作,即当一个范围组内有序段的个数超过阈值δ1时,则将相应范围组内所有的有序段合并为一个有序段,使得范围组内有序段的个数维持在阈值δ1内;若所述高性能分布式键值存储方法应用于写密集型的存储系统中,则减少范围组内有序段间的合并操作,即当一个范围组内有序段的个数超过δ2时,将相应范围组内所有的有序段合并为一个有序段,从而将范围组内有序段的个数维持在阈值δ2内;δ1<δ2。4.根据权利要求1所述的高性能分布式键值存储方法,其特征是,对故障节点中的键值数据按如下步骤进行并行数据恢复操作:(i)使用两个线程并行地从每个节点上的日志结构合并树和两层日志中读取数据,并
根据读取的键值数据,计算每个键值数据的哈希值,并将其存储在梅克尔树的各个结点中,从而构建每个节点上的梅克尔树;(ii)将故障节点上构建的梅克尔树分别与其他节点构建的梅克尔树依次进行比较,判断故障节点和其他梅克尔树在相同位置的结点的值是否相同;若相同,则表示相应结点所对应的键值数据未丢失,并结束流程,否则,表示相应结点所对应的键值数据已丢失;(iii)在非故障节点上使用两个线程并行地从日志结构合并树和两层日志中读取丢失数据所在的结点上对应的键值数据作为恢复数据,并发送到故障节点;(iv)所述故障节点收到所述恢复数据后,使用两个线程并行地向日志结构合并树和两层日志中写入所述恢复数据。

技术总结
本发明公开了一种基于主从副本数据解耦的高性能分布式键值存储方法,是应用于包含若干个节点的存储集群中,若任一节点第i次接收到键值数据,则对第i个键值数据进行解耦操作和差异化存储操作,使得所述第i个键值数据写入日志结构合并树或两层日志架构进行存储和管理,并对两层日志架构中的键值数据进行有序度可调操作,对故障节点中的键值数据按进行并行数据恢复操作。本发明能提升分布式键值系统的整体性能,并提供可根据应用的性能需求动态调整读写性能的机制,从而解决现有分布式键值存储系统中统一的多副本数据管理方案加剧系统读写放大的关键问题。统读写放大的关键问题。统读写放大的关键问题。


技术研发人员:李永坤 张强 许胤龙
受保护的技术使用者:中国科学技术大学
技术研发日:2022.01.20
技术公布日:2022/5/17
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献