一种对象存储数据迁移方法及装置与流程
- 国知局
- 2024-07-31 23:00:00
本发明属于对象存储数据迁移,尤其涉及一种对象存储数据迁移方法及装置。
背景技术:
1、云计算的高速发展带来了海量非结构化数据的存储需求,分布式存储领域中对象存储应运而生。相较于传统的块存储或对象存储数据存储,对象存储凭借高可靠的服务、灵活的伸展性、简单的restful接入等特点赢得了市场青睐。海量存储最棘手的问题之一就是迁移数据,对象存储也不例外。而当用户因为成本或服务质量等因素想更换云厂商,或者想将传统存储升级到对象存储时,海量数据的迁移让他们犹豫不定。毕竟tb级甚至pb级数据迁移,时间成本让人难以接受。因此提高海量数据的迁移效率是很有实用价值的。
2、目前提高对象存储迁移效率主要有以下几个方面:1、增加迁移服务端可用服务数或者客户端多进程多线程并发地迁移。此类方法是通过增加服务端或者客户端资源来提高迁移效率。2、镜像回源热迁移,此方法是一种曲线救国的方式,当数据被客户访问时才去源端同步。3、物理介质迁移,此方式通过把原有数据存储物理介质整体取出,更换到新的系统中对数据进行恢复。
3、以上列出的现有技术方案能在一定程度上提高效率,但同时也引入了新的问题。1、成本问题,增加服务是直接增加了资源,必然也带来了增加成本的问题;镜像回源,只有被客户访问才会被迁移,在相当长的时间内,迁移前后两套系统同时使用,导致成本的加大;物理介质迁移,直接增加空间传输的成本。2、迁移后系统稳定性的问题,镜像回源方式除非数据全被访问过,不然在每一次访问新数据时都会有一次慢响应;物理介质迁移在前后两套系统异构的情况下,数据恢复是很复杂,数据读写的问题也大概率会出现。
技术实现思路
1、鉴于以上现有技术的不足,发明的目的在于提供一种对象存储数据迁移方法、装置、电子设备和存储介质,保证了每个数据包互相独立,可多线程无序发送,实现了真正的多路复用;另外,数据包头部编码占比极小,可提高数据有效传输率,二级分片编码减小了分片元数据管理的压力。
2、本发明的第一方面,提出了一种对象存储数据迁移方法,包括:
3、迁移客户端在待迁移对象存储数据二级分片编码流程中获取待迁移对象存储数据对应的元数据,将元数据发送至服务端进行缓存;
4、确定迁移客户端是否接收到所述服务端的响应,若确定结果为所述迁移客户端接收到所述服务端的响应;
5、服务端向存储引擎申请分片上传初始化,迁移客户端把数据包进行并发传输至存储引擎;
6、存储引擎接收到编码好的数据包后根据解码重组流程对待迁移对象存储数据进行迁移。
7、进一步地,上述一种对象存储数据迁移方法中,二级分片编码流程包括:
8、获取至少一个待迁移对象存储数据;
9、对于每个待迁移对象存储数据,根据分片大小、对象存储数据总大小以及路径最大传输单元确定数据包数量以及序列号步长;
10、向元数据缓存服务申请序列号区间,并更新对应关系到元数据缓存服务中同时标记每个分片的第一个数据包;
11、在每个数据包数据流头部加上对应的序列号;
12、其中,元数据至少包括:对象存储数据名、序列号区间以及序列号步长。
13、进一步地,上述一种对象存储数据迁移方法中,确定迁移客户端是否接收到服务端的响应,还包括:
14、若确定结果为迁移客户端没有接收到服务端的响应;
15、在预设时间段后,重新确定迁移客户端是否接收到服务端的响应。
16、进一步地,上述一种对象存储数据迁移方法中,解码重组流程包括:
17、判断数据包长度是否满足预设要求,若数据包长度满足预设要求;
18、解析出数据包对应的头部序列号,通过元数据缓存服务找到数据包对应的对象存储数据以及分片并更新元数据缓存。
19、进一步地,上述一种对象存储数据迁移方法中,在迁移过程中,所述方法还包括:
20、服务端每隔预设时间间隔t向客户端反馈一次信息;
21、客户端接收到反馈信息后,找到对应缺失的数据包,对数据包重新编码,迁移客户端把重新编码后数据包重新进行并发传输;
22、信息至少包括:[t-2,t-1]时间内对象存储数据、分片、数据包三级数据中对应的缺失数据合成的对象数组。
23、进一步地,上述一种对象存储数据迁移方法,还包括:
24、在迁移过程中没有丢失数据的对象存储数据或分片,清空元数据缓存。
25、进一步地,上述一种对象存储数据迁移方法中,迁移客户端把编码好的数据包进行并发传输至存储引擎中并发的大小是通过如下公式确定的:
26、
27、其中,rt为当前计算的成功率,rs为设置的理想成功率,α为经验常量系数,ct-1表示上一时刻的并发大小,ct表示当前时刻的并发大小。
28、本发明的第二方面,还提供一种对象存储数据迁移装置,包括:
29、获取模块:用于迁移客户端在待迁移对象存储数据二级分片编码流程中获取待迁移对象存储数据对应的元数据,将所述元数据发送至服务端进行缓存;
30、确定模块:用于确定所述迁移客户端是否接收到所述服务端的响应,若确定结果为所述迁移客户端接收到所述服务端的响应;
31、申请模块和并发模块:用于所述服务端向存储引擎申请分片上传初始化,所述迁移客户端把数据包进行并发传输至存储引擎;
32、迁移模块:用于所述存储引擎接收到编码好的数据包后根据解码重组流程对所述待迁移对象存储数据进行迁移。
33、本发明的第三方面,还提出了一种电子设备,包括:处理器和存储器;
34、所述处理器通过调用所述存储器存储的程序或指令,用于执行如上所述任一项所述一种对象存储数据迁移方法。
35、本发明的第四方面,还提出了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如上所述任一项所述一种对象存储数据迁移方法。
36、本发明的有益效果如下:本发明通过二级分片编码流程,保证了每个数据包互相独立,可多线程无序发送,实现了真正的多路复用;另外,二级分片编码流程的数据包头部占比极小,提高数据有效传输率;二级分片还减小了分片元数据管理的压力;利用传输效率更高的udp协议,同时通过延迟反馈校验机制补偿udp协议的不可靠性,提高了传输效率,同时保证了数据的最终一致性,同时自适应调节并发大小的机制,能够自适应不同的网络环境,充分利用资源。
技术特征:1.一种对象存储数据迁移方法,其特征在于,包括:
2.根据权利要求1所述的一种对象存储数据迁移方法,其特征在于,所述二级分片编码流程包括:
3.根据权利要求1所述的一种对象存储数据迁移方法,其特征在于,所述确定所述迁移客户端是否接收到所述服务端的响应,还包括:
4.根据权利要求1所述的一种对象存储数据迁移方法,其特征在于,所述解码重组流程包括:
5.根据权利要求1所述的一种对象存储数据迁移方法,其特征在于,在迁移过程中,所述方法还包括:
6.根据权利要求1所述的一种对象存储数据迁移方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的一种对象存储数据迁移方法,其特征在于,所述迁移客户端把编码好的数据包进行并发传输至存储引擎中并发大小是通过如下公式确定的:
8.一种对象存储数据迁移装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:处理器和存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求1至7任一项所述一种对象存储数据迁移方法。
技术总结本发明涉及一种对象存储数据迁移方法及装置,属于数据迁移技术领域,该方法包括:迁移客户端在待迁移对象存储数据二级分片编码流程中获取待迁移对象存储数据对应的元数据,将元数据发送至服务端进行缓存;确定迁移客户端是否接收到服务端的响应,若确定结果为迁移客户端接收到所述服务端的响应;服务端向存储引擎申请分片上传初始化,迁移客户端把数据包进行并发传输至存储引擎;存储引擎接收到编码好的数据包后根据解码重组流程对待迁移对象存储数据进行迁移。本发明的二级分片编码保证了每个数据包互相独立,多线程无序发送,实现了多路复用;另外,数据包头部编码占比极小,可提高数据有效传输率,二级分片编码减小了分片元数据管理的压力。技术研发人员:商金辉,郑文远受保护的技术使用者:天翼云科技有限公司技术研发日:技术公布日:2024/7/29本文地址:https://www.jishuxx.com/zhuanli/20240730/195652.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。