【技术实现步骤摘要】
一种基于主从副本数据解耦的高性能分布式键值存储方法
[0001]本专利技术属于计算机存储系统
,具体涉及在分布式键值存储系统(distributed KV Stores)中,基于主
‑
从副本数据解耦来构建差异化的副本数据存储机制,并在此基础上设计有序度可动态调整的副本数据管理方案,实现高性能和读写性能可调整的分布式键值存储方法。
技术介绍
[0002]为了适应海量非结构化数据的存储与访问需求,并克服传统关系型数据库、文件存储在可扩展性与性能等方面的不足,键值存储(简称为KV存储)系统提供了很好的解决方案,比如谷歌公司的LevelDB、脸书公司的RocksDB等单机键值存储系统,以及为支持大规模数据存储而衍生出的分布式键值存储系统,如PingCAP公司的TiKV,亚马逊公司的DynamoDB,以及阿帕奇基金会的Cassandra。上述主流键值存储系统均采用日志结构合并树(LSM
‑
tree)来管理键值数据(key
‑
value pairs),该架构将磁盘上的数据组织成 ...
【技术保护点】
【技术特征摘要】
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个键值数据都分别...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。