[发明专利]一种对象存储跨集群海量数据迁移方法及系统有效
申请号: | 202110654199.X | 申请日: | 2021-06-11 |
公开(公告)号: | CN113312147B | 公开(公告)日: | 2022-12-30 |
发明(设计)人: | 张致江;凌震华;王智国;王芝斌 | 申请(专利权)人: | 中国科学技术大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F16/21 |
代理公司: | 北京凯特来知识产权代理有限公司 11260 | 代理人: | 郑立明;付久春 |
地址: | 230026 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 对象 存储 集群 海量 数据 迁移 方法 系统 | ||
1.一种对象存储跨集群海量数据迁移方法,其特征在于,包括:
步骤S1,接收用户发出的迁移任务请求和该迁移任务请求建立的子任务;
步骤S2,根据建立子任务的相关信息,生成所述迁移任务的对应配置文件,并将建立的所述子任务和所述迁移任务的对应配置文件相关信息以OSS对象存储至后端数据库的任务队列中;
步骤S3,按预定时长扫描所述后端数据库中已存储的任务队列,将处于正在等待状态和暂停状态的迁移任务调度起并执行;
步骤S4,被调起的所述迁移任务以Docker容器、K8S的job、进程中的任一种方式运行;
步骤S5,根据迁移任务的类型启动对应类型的迁移插件进行迁移操作;
步骤S6,所调用的迁移插件采用多级任务的方式完成数据迁移;
所述步骤S6中,迁移插件采用多级任务的方式完成数据迁移的方式如下:
步骤S61)按接收的用户迁移任务的请求调度起对应的迁移任务镜像,如果用户需要迁移整个账户,则启动账户迁移任务,该账户迁移任务遍历所有桶后创建桶迁移任务;
步骤S62)创建的所述桶迁移任务被调度起后遍历桶下的所有文件,并按每n个文件创建一个文件迁移任务,所述n为预先规定的数量;
步骤S63)创建的文件迁移任务被调度起后,将比较源端集群的源文件和目标端集群的目标文件,若源文件和目标文件相同则跳过该源文件的复制迁移,如果源文件与目标文件不同,则将该源文件复制迁移至目标端集群作为目标文件。
2.根据权利要求1所述的对象存储跨集群海量数据迁移方法,其特征在于,所述方法还包括:
步骤S7,故障恢复,所有被调度起的文件迁移任务,按预先设定时长向所述后端数据库插入检查点,当故障后重新调度起文件迁移任务时,则从上一个完成的检查点开始重新运行;
所述检查点为内部事件,该事件激活后会触发后端数据库写进程将数据缓冲中的脏数据块写出到数据文件中。
3.根据权利要求1所述的对象存储跨集群海量数据迁移方法,其特征在于,所述步骤S5中,对应类型的迁移插件包括:账户级别数据迁移插件、桶级别数据迁移插件和文件列表级别数据迁移插件中的任一种。
4.一种对象存储跨集群海量数据迁移系统,其特征在于,用于实现权利要求1至3任一项所述的方法,包括:
入口服务单元、迁移任务调度单元、迁移任务执行单元和后端数据库;其中,
所述入口服务单元,与所述后端数据库通信连接,能接收用户发出的迁移任务请求和该迁移任务请求建立的子任务,根据建立子任务的相关信息,生成所述迁移任务的对应配置文件,并将建立的所述子任务和所述迁移任务的对应配置文件相关信息以OSS对象存储至后端数据库的任务队列中;
所述迁移任务调度单元,与所述后端数据库通信连接,能按预定时长扫描所述后端数据库中已存储的任务队列,将处于正在等待状态和暂停状态的迁移任务调度起并执行,所述被调起的所述迁移任务以Docker容器、K8S的job、进程中的任一种方式运行;
所述迁移任务执行单元,分别与所述迁移任务调度单元和所述后端数据库通信连接,能根据迁移任务的类型启动对应类型的迁移插件以进行迁移操作,所述迁移插件采用多级任务的方式完成数据迁移;对应类型的迁移插件包括:账户级别数据迁移插件、桶级别数据迁移插件和文件列表级别数据迁移插件中的任一种。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学,未经中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110654199.X/1.html,转载请声明来源钻瓜专利网。