System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种快速数据复制的方法及设备技术_技高网

一种快速数据复制的方法及设备技术

技术编号:41736668 阅读:2 留言:0更新日期:2024-06-19 12:56
本申请的目的是提供一种快速数据复制的方法及设备,本申请通过在每个目标存储节点上接收客户端发送的多个写入请求,基于所述写入请求生成Raft日志;针对每个写入请求,将所述Raft日志中的元数据与数据本身进行数据剥离,得到改进的Raft日志和实际数据;将每一份实际数据进行乱序复制到相应的目标存储节点上,根据改进的Raft日志进行顺序应用。从而在协议层面进行了改进,实际数据只需要写入一次,减少存储空间的占用和改进复制算法的时序,进一步提高性能。

【技术实现步骤摘要】

本申请涉及计算机领域,尤其涉及一种快速数据复制的方法及设备


技术介绍

1、在分布式存储系统中经常使用raft协议,raft日志会记录针对状态机的操作,该状态机是对应实际要同步的分布式存储系统;raft节点之间通过保持相同的日志应用顺序,使得每个节点呈现一致的状态。raft日志通常包括目标地址、目标长度等元数据信息以及实际的数据本身,当进行写数据时,会存在以下问题:第一,日志占用大量空间,直到节点应用日志且做raft快照后才能回收;第二,实际要写入的数据会先写日志,再从日志里解码出来写目标存储,一来性能低下,二来加快了存储的损耗;第三,日志条目(元数据和实际要写入的数据本身)需要顺序执行,影响性能。

2、针对上述问题,中国专利申请文件(cn117492661a)公开了一种数据写入方法、介质、装置和计算设备,响应于领导节点所接收到的数据写入请求,领导节点将数据写入请求写入至领导节点的raft文件中;响应于领导节点所接收到的多数派回复信息,基于多数派回复信息更新领导节点的状态机中的状态,并确定目标数据在虚拟磁盘文件中目标写入地址的第二起始位置;将第一盘块映射关系与第二盘块映射关系相交换。但是,该方案具有较大的局限性,比较依赖文件系统,需要在文件系统层面实现某种重映射,未能提出复制协议层面的改进;可能无法解决raft日志容量占用问题;无法解决raft日志整体顺序写入的问题。


技术实现思路

1、本申请的一个目的是提供一种快速数据复制的方法及设备,解决现有技术中需要额外的复制导致的占用存储空间和加快存储损耗问题以及未能改进复制协议层面的问题。

2、根据本申请的一个方面,提供了一种快速数据复制的方法,该方法包括:

3、在每个目标存储节点上接收客户端发送的多个写入请求,基于所述写入请求生成raft日志;

4、针对每个写入请求,将所述raft日志中的元数据与数据本身进行数据剥离,得到改进的raft日志和实际数据;

5、将每一份实际数据进行乱序复制到相应的目标存储节点上,根据改进的raft日志进行顺序应用,其中,每一份实际数据都可由对应的唯一标识符寻址。

6、可选地,所述每个目标存储节点为同一个raft协议内的存储节点。

7、可选地,在每个目标存储节点上接收客户端发送的多个写入请求,基于多个写入请求生成raft日志,包括:

8、在每个目标存储节点上接收客户端发送的多个携带唯一标识符的写入请求,基于多个写入请求生成raft日志,并将唯一标识符写入到raft日志中。

9、可选地,将每一份实际数据进行乱序复制到相应的目标存储节点上,包括:

10、确定每一目标存储节点以自身接收到的写入请求的顺序生成的实际数据;

11、将每一份实际数据以追加写方式写入到对应的目标存储节点中,完成乱序的复制。

12、可选地,将每一份实际数据以追加写方式写入到对应的目标存储节点中,包括:

13、在每个目标存储节点上按照得到实际数据的顺序逐一写入每一份实际数据,并每写完一份数据后写入该实际数据在存储节点的元数据,其中,所述存储节点存放的实际数据的元数据包括前一实际数据的长度和唯一标识符。

14、可选地,根据改进的raft日志进行顺序应用,包括:

15、根据raft日志中记录的所述唯一标识符查找目标存储节点上的元数据;若查找到,则在存储节点顺序写入含有表明有效数据的提交记录,该记录包含数据的唯一标识符或者直接包含对应数据的起始地址和长度。

16、根据本申请又一个方面,还提供了一种快速数据复制的设备,所述设备包括:

17、一个或多个处理器;以及

18、存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。

19、根据本申请再一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如前述所述的方法。

20、与现有技术相比,本申请通过在每个目标存储节点上接收客户端发送的多个写入请求,基于所述写入请求生成raft日志;针对每个写入请求,将所述raft日志中的元数据与数据本身进行数据剥离,得到改进的raft日志和实际数据;将每一份实际数据进行乱序复制到相应的目标存储节点上,根据改进的raft日志进行顺序应用。从而在协议层面进行了改进,实际数据只需要写入一次,减少存储空间的占用和改进复制算法的时序,进一步提高性能。

本文档来自技高网...

【技术保护点】

1.一种快速数据复制的方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述每个目标存储节点为同一个Raft协议内的存储节点。

3.根据权利要求1所述的方法,其特征在于,在每个目标存储节点上接收客户端发送的多个写入请求,基于多个写入请求生成Raft日志,包括:

4.根据权利要求1所述的方法,其特征在于,将每一份实际数据进行乱序复制到相应的目标存储节点上,包括:

5.根据权利要求4所述的方法,其特征在于,将每一份实际数据以追加写方式写入到对应的目标存储节点中,包括:

6.根据权利要求5所述的方法,其特征在于,根据改进的Raft日志进行顺序应用,包括:

7.一种快速数据复制的设备,其特征在于,所述设备包括:

8.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至6中任一项所述的方法。

【技术特征摘要】

1.一种快速数据复制的方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述每个目标存储节点为同一个raft协议内的存储节点。

3.根据权利要求1所述的方法,其特征在于,在每个目标存储节点上接收客户端发送的多个写入请求,基于多个写入请求生成raft日志,包括:

4.根据权利要求1所述的方法,其特征在于,将每一份实际数据进行乱序复制到相应的目标存储节点上,包括:...

【专利技术属性】
技术研发人员:李群
申请(专利权)人:上海云轴信息科技有限公司
类型:发明
国别省市:

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

1