CN113312147B - 一种对象存储跨集群海量数据迁移方法及*** - Google Patents
一种对象存储跨集群海量数据迁移方法及*** Download PDFInfo
- Publication number
- CN113312147B CN113312147B CN202110654199.XA CN202110654199A CN113312147B CN 113312147 B CN113312147 B CN 113312147B CN 202110654199 A CN202110654199 A CN 202110654199A CN 113312147 B CN113312147 B CN 113312147B
- Authority
- CN
- China
- Prior art keywords
- migration
- task
- module
- plug
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种对象存储跨集群海量数据迁移方法及***,方法包括:步S1,接收用户发出的迁移任务请求和建立的子任务;步S2,根据建立子任务的相关信息,生成迁移任务的对应配置文件,并将建立的子任务和迁移任务的对应配置文件相关信息以OSS对象存储至后端数据库的任务队列中;步S3,按预定时长扫描后端数据库中已存储的任务队列,将处于正在等待状态和暂停状态的迁移任务调度起并执行;步S4,被调起的迁移任务以Docker容器、K8S的job、进程中的任一种方式运行;步S5,根据迁移任务的类型启动对应类型的迁移插件进行迁移操作;步S6,所调用的对应迁移插件采用多级任务的方式完成数据迁移。该方法能实现弹性的跨集群的海量数据的迁移。
Description
技术领域
本发明涉及云存储数据迁移领域,尤其涉及一种对象存储跨集群海量数据迁移***及***。
背景技术
数据迁移是各大云服务厂商必备的产品和工具,比如微软Azure、阿里云、华为云、腾讯云,都有自己的数据迁移工具;各种存储集群和框架也有自己的数据迁移和均衡方案。
目前阿里云的DTS(Data Transmission service)方案集中于OSS集群之间的数据迁移,以一个云化的中心服务提供多种不同的OSS存储到阿里云OSS的数据迁移,不支持异构类型集群的数据迁移;也不支持非阿里云存储之间的数据迁移。
华为云的迁移是以事务的方式进行数据迁移,在迁移失败时回滚全部操作。
现有云存储数据迁移技术大多以一个中心化的服务作为迁移中心,大多数为特定类型数据集群之间的迁移,如果有不同的需求需要重新建设一套迁移***;同时除了少数公有云厂商,大多数的迁移***都是临时搭建响应完需求后该***即废弃;同时现有技术很少会实现异构集群间的数据迁移,或者仅实现特种需求的异构集群间的数据迁移。
发明内容
基于现有技术所存在的问题,本发明的目的是提供一种对象存储跨集群海量数据迁移***及***,能解决现有云存储数据迁移***,所存在大多不支持对异构集群间的数据迁移或者仅支持特种需求的异构集群间数据迁移的问题。
本发明的目的是通过以下技术方案实现的:
本发明实施方式提供一种对象存储跨集群海量数据迁移方法,包括:
步骤S1,接收用户发出的迁移任务请求和该迁移任务请求发出的建立子任务的请求;
步骤S2,根据所述建立子任务的相关信息,生成被创建迁移任务的对应配置文件,并将所述建立子任务和被创建迁移任务的对应配置文件相关信息以OSS对象存储至后端数据库;
步骤S3,定时扫描所述后端数据库中已存储的任务信息,将处于正在等待状态和暂停状态的迁移任务调度起执行迁移任务;
步骤S4,被调起的迁移任务以Docker容器、K8S的job、进程方式中的任一种方式运行;
步骤S5,根据任务的类型以对应类型的迁移插件启动任务实例进行迁移操作;
步骤S6,所述迁移插件采用多级任务的方式完成数据的迁移。
本发明实施方式提供一种对象存储跨集群海量数据迁移***,用于实现本发明所述的方法,包括:
入口服务单元、迁移任务调度单元、迁移任务执行单元和后端数据库;其中,
所述入口服务单元,与所述后端数据库通信连接,能接收用户发出的迁移任务请求和该迁移任务请求建立的子任务,根据建立子任务的相关信息,生成所述迁移任务的对应配置文件,并将建立的所述子任务和所述迁移任务的对应配置文件相关信息以OSS对象存储至后端数据库的任务队列中;
所述迁移任务调度单元,与所述后端数据库通信连接,能按预定时长扫描所述后端数据库中已存储的任务队列,将处于正在等待状态和暂停状态的迁移任务调度起并执行,所述被调起的所述迁移任务以Docker容器、K8S的job、进程中的任一种方式运行;
所述迁移任务执行单元,分别与所述迁移任务调度单元和所述后端数据库通信连接,能根据迁移任务的类型启动对应类型的迁移插件以进行迁移操作,所述迁移插件采用多级任务的方式完成数据迁移。
由上述本发明提供的技术方案可以看出,本发明实施例提供的对象存储跨集群海量数据迁移***及***,其有益效果为:
通过根据迁移任务的联系以对应类型的迁移插件启动任务实例进行迁移操作,能方便的实现异构集群间的海量数据迁移,由于是基于云原生技术的数据迁移异构插件,支持迁移任务服务组件一键自动化部署与销毁,对于不同存储***的数据迁移支持插件式接入。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的对象存储跨集群海量数据迁移方法的流程图;
图2为本发明实施例提供的对象存储跨集群海量数据迁移***的框图;
图3为本发明实施例提供的对象存储跨集群海量数据迁移***的入口服务单元框图;
图4为本发明实施例提供的对象存储跨集群海量数据迁移***的迁移任务调度单元框图;
图5为本发明实施例提供的对象存储跨集群海量数据迁移***的迁移任务执行单元框图;
图6为本发明实施例提供的对象存储跨集群海量数据迁移***的入口服务单元处理流程图;
图7为本发明实施例提供的对象存储跨集群海量数据迁移***的任务调度单元处理流程图;
图8为本发明实施例提供的对象存储跨集群海量数据迁移***的任务执行单元处理流程图;
图9为本发明实施例提供的对象存储跨集群海量数据迁移方法的入口服务处理流程图;
图10为本发明实施例提供的对象存储跨集群海量数据迁移***的具体构成示意图;
图11为本发明实施例提供的对象存储跨集群海量数据迁移方法中的任务生成和调度流程图;
图12为本发明实施例提供的对象存储跨集群海量数据迁移***的account级别数据迁移插件的逻辑结构示意图;
图13为本发明实施例提供的对象存储跨集群海量数据迁移***的container/bucket级别数据迁移插件的逻辑结构示意图;
图14为本发明实施例提供的对象存储跨集群海量数据迁移***的FileList级别数据迁移插件的逻辑结构示意图。
具体实施方式
下面结合本发明的具体内容,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
参见图1,本发明实施方式提供一种对象存储跨集群海量数据迁移方法,包括:
步骤S1,接收用户发出的迁移任务请求和该迁移任务请求发出的建立子任务的请求;
步骤S2,根据所述建立子任务的相关信息,生成被创建迁移任务的对应配置文件,并将所述建立子任务和被创建迁移任务的对应配置文件相关信息以OSS对象存储至后端数据库;
步骤S3,定时扫描所述后端数据库中已存储的任务信息,将处于正在等待状态和暂停状态的迁移任务调度起执行迁移任务;
步骤S4,被调起的迁移任务以Docker容器、K8S的job、进程方式中的任一种方式运行;
步骤S5,根据任务的类型以对应类型的迁移插件启动任务实例进行迁移操作;
步骤S6,所述迁移插件采用多级任务的方式完成数据的迁移。
上述方法的步骤S6中,迁移插件采用多级任务的方式完成数据迁移的方式如下:
步骤S61)按接收的用户迁移任务的请求调度起对应的迁移任务镜像,如果用户需要迁移整个账户(account),则启动账户迁移任务,该账户迁移任务遍历所有桶(即container或bucket)后创建桶迁移任务;
步骤S62)创建的所述桶迁移任务被调度起后遍历桶下的所有文件,并按预先规定的数量n,每n个文件创建一个文件迁移任务;
步骤S63)创建的文件迁移任务被调度起后,将比较源端集群的源文件和目标端集群的目标文件,若源文件和目标文件相同则跳过该文件的复制迁移,如果源文件与目标文件不同,则复制迁移该文件。
上述方法还包括:
步骤S7,故障恢复,所有被调起的任务,会定时向后端数据库***检查点(即checkpoint),当故障后重新调度起则从上一个完成的检查点开始重新运行;
所述检查点为内部事件,该事件激活后会触发数据库写进程将数据缓冲中的脏数据块写出到数据文件中。
参见图2,本发明实施例还提供一种对象存储跨集群海量数据迁移***,用于实现上述的方法,包括:
入口服务单元1、迁移任务调度单元2、迁移任务执行单元3和后端数据库4;其中,
所述入口服务单元,与所述后端数据库通信连接,能接收用户发出的迁移任务请求和该迁移任务请求建立的子任务,根据建立子任务的相关信息,生成所述迁移任务的对应配置文件,并将建立的所述子任务和所述迁移任务的对应配置文件相关信息以OSS对象存储至后端数据库的任务队列中;
所述迁移任务调度单元,与所述后端数据库通信连接,能按预定时长扫描所述后端数据库中已存储的任务队列,将处于正在等待状态和暂停状态的迁移任务调度起并执行,所述被调起的所述迁移任务以Docker容器、K8S的job、进程中的任一种方式运行;
所述迁移任务执行单元,分别与所述迁移任务调度单元和所述后端数据库通信连接,能根据迁移任务的类型启动对应类型的迁移插件以进行迁移操作,所述迁移插件采用多级任务的方式完成数据迁移。
图2是整个***的逻辑架构图:分为入口服务单元1、迁移任务调度单元2、迁移任务执行单元3这三个主要的逻辑单元;其中,
入口服务单元以接收来自用户或者任务执行过程中的指令并执行;
迁移任务调度单元按照一定的调度算法调度迁移任务,实现任务的并发执行;
迁移任务执行单元是真实迁移任务的执行者,访问源和目标集群收集信息,并执行数据迁移拷贝。
参见图3,上述***中,所述入口服务单元1包括:
任务创建请求模块11、任务请求子模块12、生成配置信息模块13、***队列模块14、数据库操作模块15、任务调度模块16、调整容器云资源模块17和启动容器模块18;其中,
所述任务创建请求模块,用于接收用户发出的迁移任务请求,并根据所述迁移任务请求建立迁移任务;
所述任务请求子模块,与所述任务创建请求模块通信连接,用于根据所述迁移任务建立对应的子任务;
所述生成配置信息模块,分别与所述任务创建请求模块和所述任务请求子模块通信连接,用于根据建立子任务的相关信息,生成所述迁移任务的对应配置文件;
所述***队列模块,分别与所述任务创建请求模块、任务请求子模块和生成配置信息模块通信连接,将建立的所述子任务和所述迁移任务的对应配置文件相关信息***任务队列中;
所述数据库操作模块,与所述***队列模块通信连接,将任务队列的各任务以OSS对象存储至后端数据库中;
所述任务调度模块,分别与所述迁移任务调度单元、所述数据库操作模块和所述调整容器云资源模块通信连接,能将调度任务请求发送至所述迁移任务调度单元,并接收所述迁移任务调度单元调度起的迁移任务,并分别发送至所述数据库操作模块和所述调整容器云资源模块;
所述调整容器云资源模块,与所述任务调度模块通信连接,用于根据所述任务调度模块发送的迁移任务调整容器云资源;
所述启动容器模块,与所述调整容器云资源模块通信连接,用于将所述被调起的所述迁移任务以Docker容器、K8S的job、进程中的任一种方式启动运行。
图6示意了上述入口服务单元的处理流程。
参见图4,上述***中,所述迁移任务调度单元2包括:
任务扫描判断模块21和迁移任务确定模块22;其中,
所述任务扫描判断模块,与所述迁移任务确定模块通信连接,能按预定时长扫描所述后端数据库中已存储的任务队列,将处于正在等待状态和暂停状态的迁移任务发送至所述迁移任务确定模块;
所述迁移任务确定模块,将所述任务扫描判断模块发送的迁移任务调度起并执行。
图7示意了上述迁移任务调度单元的处理流程。
参见图5,上述***中,所述迁移任务执行单元3包括:
迁移插件选择模块31和多个迁移插件模块32、32、33……3n;其中,
所述插件选择模块,分别与各迁移插件模块通信连接,能根据迁移任务的类型启动对应类型的迁移插件以进行迁移操作;
每个迁移插件模块,能在被所述迁移插件选择模块启动后采用多级任务的方式完成数据迁移。
上述***中,所述迁移任务执行单元还包括:故障恢复模块,分别与所述后端数据库和各迁移插件通信连接,用于插件模块在对所有被调度起的文件迁移任务时,按预先设定时长向所述后端数据库***检查点(即checkpoint),当故障后重新调度起文件迁移任务时,则从上一个完成的检查点开始重新运行;所述检查点是一个内部事件,这个事件激活后会触发后端数据库写进程将数据缓冲中的脏数据块写出到数据文件中。
图8示意了上述迁移任务执行单元的处理流程。
本发明的数据迁移***,是一种完全弹性的插件式跨集群数据迁移***,通过设置可按迁移任务类型可对应选择的不同类型的迁移插件,能弹性化调度实现迁移***在无工作时不占用资源,在需要工作时调度必要资源,在完成工作后释放所使用资源;通过迁移插件来实现不同的迁移需求,支持各式各样的异构集群间的数据迁移;任务失败时可以从过程中中断的位置继续运行。
下面对本发明实施例具体作进一步地详细描述。
参见图1、9、10和11,本发明的对象存储跨集群海量数据迁移方法,包括以下步骤:
步骤S1,构建用于接收用户发出的迁移任务请求的InterFaceServer上的服务,该服务除了接收来及用户的创建任务请求,还接收来自任务发出的建立子任务的请求;
步骤S2,InterFaceServer将创建任务的相关信息写入后端数据库,生成需要被创建起的任务的配置文件并上传至后端的统一存储,本实施例中使用了OSS对象存储;
步骤S3,任务调度器定时扫描后端数据库中的任务队列,将处在waiting和pause状态的任务调度起来执行迁移任务;
步骤S4,被调度起的迁移任务可以运行在Docker容器中,也可以以K8S的job方式启动运行,也可以在物理机上生成一个进程运行任务;
步骤S5,任务调度器会根据任务的类型,调度不同的插件启动任务实例;本实施例中的例子,是根据任务类型,下载对应的Docker容器的镜像,启动job实例执行迁移操作;
步骤S6,具体的,采用多级任务的方式实现迁移插件:
步骤S61)接收到用户任务后,按用户任务的需求调度起对应的迁移任务镜像,如果用户需要迁移整个account,则启动account迁移任务,该account迁移任务遍历所有container,创建container迁移任务;
步骤S62)被创建的container迁移任务被调度后将遍历container下的文件,并按照规定的文件数量(假设为n),则每n个文件创建一个文件迁移任务;
步骤S63)被创建的文件迁移任务被调度后,将比较源端集群的源文件和目标端集群的目标文件,如果源文件与目标文件一样,则跳过该源文件的复制迁移,如果源文件与目标文件不一样,则复制迁移该文件;
步骤S7,故障恢复,所有被调度起的任务,会定时向数据库***checkpoint,当故障后重新调度起,则从上一个完成的checkpoint开始重新运行(参见图9)。
上述方法的各步骤具体按如下方式实现:图9示意了InterFaceServer的执行流程:用户创建任务及子任务的创建、运维指令的执行过程以及调度,图10示意了对象存储跨集群海量数据迁移***的具体构成;
实现和部署InterFaceServer;InterFaceServer接收用户的请求可以使用RestAPI,可以基于RPC或者CMD(命令行)模式;
(1)InterfaceServer接收到创建人物的请求后,将需要创建的任务信息写入到数据库或者将需要创建的任务写入到可以公共读的存储或者内存块中,并置状态为等待;
(2)调度器根据数据库或者公共读的存储或者内存块中的任务信息,在物理机中调度起对应类型的任务进程,并将该任务所需的相关信息一同指定,置状态为运行中;
(3)调度器也可以在K8s中调度起对应的任务或者pod,置状态为运行中;
(4)调度器也可以在Docker容器中调度器对应的任务,置状态为运行中;
(5)任务结束后关闭自身进程/job/pod,并置状态为结束;
(6)迁移插件的实现:
参见图12,(61)account级别数据迁移插件:
(611)任务启动后向数据库或者共享存储中写入checkpoint;
(612)根据任务配置信息从源端集群list该account下所有container/bucket信息;
(613)根据list出的container信息向InterfaceServer申请创建container级别迁移任务;
(614)每扫描一定数量的container就创建一条checkpoint信息写入共享存储或者数据库中;
参见图13,(62)Container级别数据迁移插件
(621)任务启动后向数据库或者共享存储中写入checkpoint;
(622)根据任务配置信息从源端集群list该container下所有文件信息;
(623)将list出的的文件列表每1000条(或其他数目)组织成数据库表或者串化文件形式信息向InterfaceServer申请创建FileList级别迁移任务;
(624)每扫描一定数量的FileList就创建一条checkpoint信息写入共享存储或者数据库中;
参见图14,(63)FileList级别数据迁移插件:
(631)任务启动后向数据库或者共享存储中写入checkpoint;
(632)根据任务配置信息获取该任务对应的数据库表或者串化文件;
(633)根据获取到的文件列表将文件从源端集群拷贝置目标集群;
(634)完成后结束自身。
本发明的迁移***及方法至少具有以下优点:
(1)本发明采用流行的容器化方案,可以很容易的实现基于K8S编排的任务,从而实现完全弹性化调度,在设计上更贴近迁移任务的特点:任务相对集中,无任务时无需***资源;
(2)本发明采用插件式的扩展方案,可以很容易的扩展新的需求,在不同类型的集群之间迁移,而非传统的只能在同一种集群中进行数据迁移;
(3)本发明基于checkpoint的方式实现故障自动恢复,具有恢复速度快,故障恢复点易追踪,恢复点记录信息少,实现方法简单便捷。
本领域普通技术人员可以理解:实现本发明实施例方法中的全部或部分流程是可以通过程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (8)
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、进程中的任一种方式运行;
所述迁移任务执行单元,分别与所述迁移任务调度单元和所述后端数据库通信连接,能根据迁移任务的类型启动对应类型的迁移插件以进行迁移操作,所述迁移插件采用多级任务的方式完成数据迁移;对应类型的迁移插件包括:账户级别数据迁移插件、桶级别数据迁移插件和文件列表级别数据迁移插件中的任一种。
5.根据权利要求4所述的对象存储跨集群海量数据迁移***,其特征在于,所述入口服务单元包括:
任务创建请求模块、任务请求子模块、生成配置信息模块、***队列模块、数据库操作模块、任务调度模块、调整容器云资源模块和启动容器模块;其中,
所述任务创建请求模块,用于接收用户发出的迁移任务请求,并根据所述迁移任务请求建立迁移任务;
所述任务请求子模块,与所述任务创建请求模块通信连接,用于根据所述迁移任务建立对应的子任务;
所述生成配置信息模块,分别与所述任务创建请求模块和所述任务请求子模块通信连接,用于根据建立子任务的相关信息,生成所述迁移任务的对应配置文件;
所述***队列模块,分别与所述任务创建请求模块、任务请求子模块和生成配置信息模块通信连接,将建立的所述子任务和所述迁移任务的对应配置文件相关信息***任务队列中;
所述数据库操作模块,与所述***队列模块通信连接,将任务队列的各任务以OSS对象存储至后端数据库中;
所述任务调度模块,分别与所述迁移任务调度单元、所述数据库操作模块和所述调整容器云资源模块通信连接,能将调度任务请求发送至所述迁移任务调度单元,并接收所述迁移任务调度单元调度起的迁移任务,并分别发送至所述数据库操作模块和所述调整容器云资源模块;
所述调整容器云资源模块,与所述任务调度模块通信连接,用于根据所述任务调度模块发送的迁移任务调整容器云资源;
所述启动容器模块,与所述调整容器云资源模块通信连接,用于将所述被调起的所述迁移任务以Docker容器、K8S的job、进程中的任一种方式启动运行。
6.根据权利要求4或5所述的对象存储跨集群海量数据迁移***,其特征在于,所述迁移任务调度单元包括:
任务扫描判断模块和迁移任务确定模块;其中,
所述任务扫描判断模块,与所述迁移任务确定模块通信连接,能按预定时长扫描所述后端数据库中已存储的任务队列,将处于正在等待状态和暂停状态的迁移任务发送至所述迁移任务确定模块;
所述迁移任务确定模块,将所述任务扫描判断模块发送的迁移任务调度起并执行。
7.根据权利要求4或5所述的对象存储跨集群海量数据迁移***,其特征在于,所述迁移任务执行单元包括:
迁移插件选择模块和多个迁移插件模块;其中,
所述迁移插件选择模块,分别与各迁移插件模块通信连接,能根据迁移任务的类型启动对应类型的迁移插件模块以进行迁移操作;
每个迁移插件模块,能在被所述迁移插件选择模块启动后采用多级任务的方式完成数据迁移。
8.根据权利要求7所述的对象存储跨集群海量数据迁移***,其特征在于,所述迁移任务执行单元还包括:
故障恢复模块,分别与所述后端数据库和各迁移插件通信连接,用于插件模块在对所有被调度起的文件迁移任务时,按预先设定时长向所述后端数据库***检查点,当故障后重新调度起文件迁移任务时,则从上一个完成的checkpoint开始重新运行;
所述检查点为内部事件,该事件激活后会触发后端数据库写进程将数据缓冲中的脏数据块写出到数据文件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110654199.XA CN113312147B (zh) | 2021-06-11 | 2021-06-11 | 一种对象存储跨集群海量数据迁移方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110654199.XA CN113312147B (zh) | 2021-06-11 | 2021-06-11 | 一种对象存储跨集群海量数据迁移方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113312147A CN113312147A (zh) | 2021-08-27 |
CN113312147B true CN113312147B (zh) | 2022-12-30 |
Family
ID=77378560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110654199.XA Active CN113312147B (zh) | 2021-06-11 | 2021-06-11 | 一种对象存储跨集群海量数据迁移方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312147B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114398153A (zh) * | 2022-01-21 | 2022-04-26 | 平安科技(深圳)有限公司 | 虚拟机热迁移的控制方法、***、电子设备及存储介质 |
CN116016568A (zh) * | 2022-12-20 | 2023-04-25 | 浪潮云信息技术股份公司 | 一种基于minio的分布式存储方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999537A (zh) * | 2011-09-19 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据迁移***和方法 |
WO2017167100A1 (zh) * | 2016-03-31 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 一种数据迁移方法和装置 |
CN109189324A (zh) * | 2018-07-09 | 2019-01-11 | 华为技术有限公司 | 一种数据迁移方法及装置 |
CN111459415A (zh) * | 2020-04-15 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 跨云数据迁移方法、装置、设备及存储介质 |
CN111984395A (zh) * | 2019-05-22 | 2020-11-24 | 中移(苏州)软件技术有限公司 | 一种数据迁移方法和***,及计算机可读存储介质 |
CN112148709A (zh) * | 2020-09-11 | 2020-12-29 | 深圳市科思科技股份有限公司 | 数据迁移方法、***及存储介质 |
CN112860186A (zh) * | 2021-02-05 | 2021-05-28 | 中国科学技术大学 | 一种千亿级别的对象存储桶的扩容方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9773012B2 (en) * | 2013-11-08 | 2017-09-26 | Seagate Technology Llc | Updating map structures in an object storage system |
-
2021
- 2021-06-11 CN CN202110654199.XA patent/CN113312147B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999537A (zh) * | 2011-09-19 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据迁移***和方法 |
WO2017167100A1 (zh) * | 2016-03-31 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 一种数据迁移方法和装置 |
CN109189324A (zh) * | 2018-07-09 | 2019-01-11 | 华为技术有限公司 | 一种数据迁移方法及装置 |
CN111984395A (zh) * | 2019-05-22 | 2020-11-24 | 中移(苏州)软件技术有限公司 | 一种数据迁移方法和***,及计算机可读存储介质 |
CN111459415A (zh) * | 2020-04-15 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 跨云数据迁移方法、装置、设备及存储介质 |
CN112148709A (zh) * | 2020-09-11 | 2020-12-29 | 深圳市科思科技股份有限公司 | 数据迁移方法、***及存储介质 |
CN112860186A (zh) * | 2021-02-05 | 2021-05-28 | 中国科学技术大学 | 一种千亿级别的对象存储桶的扩容方法 |
Non-Patent Citations (2)
Title |
---|
Data migration algorithms in heterogeneous storage systems: A comparative performance evaluation;Gary Roberts;《2017 IEEE 16th International Symposium on Network Computing and Applications (NCA)》;20171211;第1-4页 * |
基于异构平台的开源VIRT-V2V虚拟化迁移自动化实现的研究;富宇;《电力信息与通信技术》;20190712;第17卷(第6期);第63-68页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113312147A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11425194B1 (en) | Dynamically modifying a cluster of computing nodes used for distributed execution of a program | |
CN113312147B (zh) | 一种对象存储跨集群海量数据迁移方法及*** | |
CN107943555B (zh) | 一种云计算环境下的大数据存储和处理平台及处理方法 | |
CN104461744B (zh) | 一种资源分配方法及装置 | |
CN106547613B (zh) | 任务处理流程的调度及故障恢复方法 | |
US6154852A (en) | Method and apparatus for data backup and recovery | |
US8321558B1 (en) | Dynamically monitoring and modifying distributed execution of programs | |
CN100530123C (zh) | 在单处理器或多处理器计算机***中优化多任务应用的存入和重放的方法 | |
CN112418438A (zh) | 基于容器的机器学习流程化训练任务执行方法及*** | |
CN111143133B (zh) | 虚拟机备份方法和备份虚拟机恢复方法 | |
CN110888719A (zh) | 一种基于web服务的分布式任务调度***及方法 | |
CN102946413B (zh) | 虚拟机调度和执行部署过程中的资源预处理方法及*** | |
CN113645300A (zh) | 一种基于Kubernetes集群的节点智能调度方法和*** | |
CN112527489A (zh) | 一种任务调度方法、装置、设备及计算机可读存储介质 | |
CN103064717A (zh) | 一种集群***并行安装软件的装置和方法 | |
Mateescu | Quality of service on the grid via metascheduling with resource co-scheduling and co-reservation | |
CN102681894A (zh) | 一种多任务并发调度方法及*** | |
CN104102535A (zh) | 进程迁移方法和可迁移操作*** | |
CN106469117A (zh) | 一种用于虚拟机存储迁移的存储资源管理方法及装置 | |
CN105955820A (zh) | 作业流控制方法、装置和*** | |
CN114385349A (zh) | 容器组部署方法和装置 | |
US20230155958A1 (en) | Method for optimal resource selection based on available gpu resource analysis in large-scale container platform | |
CN116974689A (zh) | 集群容器调度方法、装置、设备及计算机可读存储介质 | |
CN116339911A (zh) | 一种基于K8S的弹性仿真Modelica模型的方法、***、设备及介质 | |
CN114579364A (zh) | 一种基于混合云的云原生数据库备份方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |