CN115729473A - 数据迁移方法、数据迁移装置、数据迁移设备及存储介质 - Google Patents
数据迁移方法、数据迁移装置、数据迁移设备及存储介质 Download PDFInfo
- Publication number
- CN115729473A CN115729473A CN202211509086.1A CN202211509086A CN115729473A CN 115729473 A CN115729473 A CN 115729473A CN 202211509086 A CN202211509086 A CN 202211509086A CN 115729473 A CN115729473 A CN 115729473A
- Authority
- CN
- China
- Prior art keywords
- data
- storage cluster
- change log
- incremental
- target storage
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及存储技术领域,具体公开了一种数据迁移方法、数据迁移装置、数据迁移设备及存储介质,通过在执行将源存储集群至目标存储集群的全量数据迁移任务时,记录源存储集群相较于目标存储集群的数据变更日志,在执行完全量数据迁移任务之后,能够根据数据变更日志确定源存储集群相较于目标存储集群的增量数据,继而执行将增量数据自源存储集群至目标存储集群迁移的增量数据迁移任务,通过基于数据变更日志确定增量数据,相较于迁移工具将源存储集群中的所有数据以及目标存储集群中的所有数据读取到内存中比较得到增量数据的现有增量迁移方案,能够更快地确定增量数据,显著提升增量数据迁移任务的效率,继而提升存储集群间数据迁移的整体效率。
Description
技术领域
本申请涉及存储技术领域,特别是涉及一种数据迁移方法、数据迁移装置、数据迁移设备及存储介质。
背景技术
在执行存储集群间的主备同步、或故障迁移任务时,需要采用迁移工具执行源存储集群到目标存储集群的全量迁移任务。由于全量迁移任务的执行时间较长,如停止源存储集群的业务服务,将极大破坏用户体验、甚至带来破坏性影响,故目前在执行存储集群的全量迁移任务时,源存储集群依然提供业务服务。这也就导致在执行全量迁移任务时,用户不会停止对源存储集群的增加、删除、修改、查询文件等操作,导致源存储集群会发生数据变更。此时就需要进行源存储集群到目标存储集群间的增量数据迁移,以保证源存储集群的数据和目标存储集群的数据完全一致。
在执行增量数据迁移任务时,迁移工具首先需要将源存储集群中的全部数据和目标存储集群中的全部数据均获取至内存中进行逐一对比,发现不一致的数据时,即确认为增量数据,对比得到所有增量数据后,启动将增量数据从源存储集群迁移到目标存储集群的任务。
然而,由于存储集群中的数据量较大,进行存储集群间的增量数据迁移任务时,比较源存储集群的全部数据和目标存储集群的全部数据以确定增量数据的时间会非常漫长,可能会以周为单位进行计算。
提供一种针对迁移工具在执行存储集群间的增量数据迁移任务时的优化改进方案,以提高迁移工具增量迁移的效率,是本领域技术人员需要解决的技术问题。
发明内容
本申请的目的是提供一种数据迁移方法、数据迁移装置、数据迁移设备及存储介质,用于提高迁移工具在执行存储集群间增量迁移的效率。
为解决上述技术问题,本申请提供一种数据迁移方法,包括:
在执行源存储集群至目标存储集群的全量数据迁移任务时,记录所述源存储集群相较于所述目标存储集群的数据变更日志;
在执行完所述全量数据迁移任务之后,根据所述数据变更日志确定所述源存储集群相较于所述目标存储集群的增量数据;
执行将所述增量数据自所述源存储集群至所述目标存储集群迁移的增量数据迁移任务。
可选的,所述执行源存储集群至目标存储集群的全量数据迁移任务,具体包括:
调用迁移工具遍历所述源存储集群的全量数据,记为第一待迁移数据;
调用所述迁移工具执行将所述第一待迁移数据自所述源存储集群迁移至所述目标存储集群的所述全量数据迁移任务。
可选的,所述记录所述源存储集群相较于所述目标存储集群的数据变更日志,具体为:
自所述迁移工具开始遍历所述源存储集群的全量数据的第一时间点开始,记录所述源存储集群相较于所述目标存储集群的所述数据变更日志。
可选的,所述执行所述增量数据自所述源存储集群至所述目标存储集群迁移的增量数据迁移任务,具体包括:
对所述第一时间点到所述迁移工具开始执行对所述第一待迁移数据的所述全量数据迁移任务时的第二时间点之间的第一数据变更日志,判断所述目标存储集群是否包含与所述第一数据变更日志对应的增量数据;
若所述目标存储集群包含与所述第一数据变更日志对应的所有增量数据,则跳过所述第一数据变更日志;
若所述目标存储集群未包含与所述第一数据变更日志对应的所有增量数据,则执行对与所述第一数据变更日志对应的增量数据的第一增量数据迁移任务;
确定所述第二时间点之后的第二数据变更日志对应的增量数据后,直接执行对所述第二数据变更日志对应的增量数据的第二增量数据迁移任务。
可选的,所述判断所述目标存储集群是否包含与所述第一数据变更日志对应的增量数据,具体包括:
在所述迁移工具遍历到的所述第一待迁移数据的文件名中,确定与所述第一数据变更日志对应的待检查文件名;
在所述目标存储集群中查询得到与所述待检查文件名对应的待检查文件,根据所述第一数据变更日志确定各所述待检查文件是否均已执行与所述第一数据变更日志对应的操作;
若各所述待检查文件均已执行与所述第一数据变更日志对应的操作,则确认所述目标存储集群包含与所述第一数据变更日志对应的所有增量数据;
若各所述待检查文件未全部执行与所述第一数据变更日志对应的操作,则确认所述目标存储集群未包含与所述第一数据变更日志对应的所有增量数据。
可选的,还包括:
在所述调用所述迁移工具执行将所述第一待迁移数据自所述源存储集群迁移至所述目标存储集群的所述全量数据迁移任务时,对无法查询到的所述第一待迁移数据生成报错日志;
所述根据所述数据变更日志确定所述源存储集群相较于所述目标存储集群的增量数据,具体为:
根据所述报错日志和所述数据变更日志确定所述源存储集群相较于所述目标存储集群的增量数据。
可选的,所述记录所述源存储集群相较于所述目标存储集群的数据变更日志,具体为:
记录所述源存储集群的第一数据变更日志,以所述第一数据变更日志为所述源存储集群相较于所述目标存储集群的所述数据变更日志。
可选的,所述记录所述源存储集群相较于所述目标存储集群的数据变更日志,具体包括:
记录所述源存储集群的第二数据变更日志,同时记录所述目标存储集群的第三数据变更日志;
根据所述第二数据变更日志和所述第三数据变更日志确定所述源存储集群相较于所述目标存储集群的所述数据变更日志。
可选的,还包括:
在执行所述增量数据迁移任务时,记录所述源存储集群相较于所述目标存储集群的增量数据变更日志;
在执行完所述增量数据迁移任务之后,根据所述增量数据变更日志确定所述源存储集群相较于所述目标存储集群的二次增量数据;
执行将所述二次增量数据自所述源存储集群至所述目标存储集群迁移的二次增量数据迁移任务。
可选的,所述源存储集群和所述目标存储集群均具体为对象存储集群。
为解决上述技术问题,本申请还提供一种数据迁移装置,包括:
第一记录单元,用于在执行源存储集群至目标存储集群的全量数据迁移任务时,记录所述源存储集群相较于所述目标存储集群的数据变更日志;
第一确定单元,用于在执行完所述全量数据迁移任务之后,根据所述数据变更日志确定所述源存储集群相较于所述目标存储集群的增量数据;
第一增量执行单元,用于执行将所述增量数据自所述源存储集群至所述目标存储集群迁移的增量数据迁移任务。
为解决上述技术问题,本申请还提供一种数据迁移设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,所述计算机程序被所述处理器执行时实现如上述任意一项所述数据迁移方法的步骤。
为解决上述技术问题,本申请还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述数据迁移方法的步骤。
本申请所提供的数据迁移方法,通过在执行源存储集群至目标存储集群的全量数据迁移任务时,记录源存储集群相较于目标存储集群的数据变更日志,从而在执行完全量数据迁移任务之后,能够根据数据变更日志确定源存储集群相较于目标存储集群的增量数据,继而执行将增量数据自源存储集群至目标存储集群迁移的增量数据迁移任务,通过基于数据变更日志确定增量数据,相较于迁移工具将源存储集群中的所有数据以及目标存储集群中的所有数据读取到内存中比较得到增量数据的现有增量迁移方案,能够更快地确定增量数据,显著提升增量数据迁移任务的效率,继而提升存储集群间数据迁移的整体效率。
本申请还提供一种数据迁移装置、数据迁移设备及存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据迁移方法的流程图;
图2为本申请实施例提供的一种数据迁移装置的结构示意图;
图3为本申请实施例提供的一种数据迁移设备的结构示意图。
具体实施方式
本申请的核心是提供一种数据迁移方法、数据迁移装置、数据迁移设备及存储介质,用于提高迁移工具在执行存储集群间增量迁移的效率。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
图1为本申请实施例提供的一种数据迁移方法的流程图。
如图1所示,本申请实施例提供的数据迁移方法包括:
S101:在执行源存储集群至目标存储集群的全量数据迁移任务时,记录源存储集群相较于目标存储集群的数据变更日志。
S102:在执行完全量数据迁移任务之后,根据数据变更日志确定源存储集群相较于目标存储集群的增量数据。
S103:执行将增量数据自源存储集群至目标存储集群迁移的增量数据迁移任务。
在具体实施中,本申请实施例中的源存储集群和目标存储集群可以为任意类型的存储集群。在一种实施办法中,源存储集群和目标存储集群均具体为对象存储集群,则源存储集群为源端桶,目标存储集群为目标桶,要迁移的数据为对象。
对于S101来说,可以调用预先部署的迁移工具来执行将源存储集群至目标存储集群的全量数据迁移任务。则S101中执行源存储集群至目标存储集群的全量数据迁移任务,具体可以包括:
调用迁移工具遍历源存储集群的全量数据,记为第一待迁移数据;
调用迁移工具执行将第一待迁移数据自源存储集群迁移至目标存储集群的全量数据迁移任务。
现有的针对对象存储的迁移工具的迁移策略中,在每次迁移时,首先会给源端桶发送请求来遍历源端桶存在多少对象,而且源端桶内有多少对象,便会往源端桶发送多少请求,直至将源端桶内数据全部遍历完成。迁移工具将遍历出的对象记录在迁移工具内部实例化的一个数组中,以启动源端桶到目标桶的全量数据迁移任务。将源端桶内对象全部遍历完成后,以相同的方式继续遍历目标桶内的数据,将源端桶的数据和目标桶全部遍历完成后,对两桶内的对象进行比较,找出差异的对象,再次将有差异的对象进行增量迁移。以此种方式进行增量迁移的效率极其低下,有可能会出现源端桶仅增加了一个对象,增量迁移的时间却达到了一周乃至更久的情况,这是难以接受的。
故本申请提供的数据迁移方法,对现有的迁移工具进行优化,除了采用迁移工具遍历源存储集群的数据确定第一待迁移数据外,增加对数据操作的日志记录机制,具体仅需记录执行全量数据迁移任务过程中的数据变更日志即可,将生成的数据变更日志记录在指定文件中。
其中,涉及到的数据操作可以包括对数据的增加、删除、更改、查询等。查询操作往往不会造成数据变更,故可以省略查询操作对应的数据变更日志。
为快速便捷地确定源存储集群相较于目标存储集群的增量数据,增加的对数据操作的日志记录机制,在记录源存储集群相较于目标存储集群的数据变更日志时,具体可以为:记录源存储集群的第一数据变更日志,以第一数据变更日志为源存储集群相较于目标存储集群的数据变更日志。即可以仅记录源存储集群发生数据变更的数据变更日志,以此确定源存储集群相较于目标存储集群的增量数据。
或者,为了更准确地确定源存储集群相较于目标存储集群的增量数据,增加的对数据操作的日志记录机制,在记录源存储集群相较于目标存储集群的数据变更日志时,具体可以包括:记录源存储集群的第二数据变更日志,同时记录目标存储集群的第三数据变更日志;根据第二数据变更日志和第三数据变更日志确定源存储集群相较于目标存储集群的数据变更日志。即可以在执行全量数据迁移任务时,可以同时记录源存储集群的第二数据变更日志和目标存储集群的第三数据变更日志,根据目标存储集群的第三数据变更日志可以确定被成功执行的全量数据迁移任务,配合迁移工具遍历到的第一待迁移数据可以确定未成功迁移的数据,结合第二数据变更日志和未成功迁移的数据界定源存储集群相较于目标存储集群的增量数据,可以更加准确地确定增量数据。在实际应用中,若存在执行全量数据迁移任务中未成功迁移到目标存储集群中的数据,而经过第二数据变更日志确定该数据被在源存储集群中删除,则可以省略该数据对应的数据变更日志。
对于S102来说,在执行完全量数据迁移任务之后,根据源存储集群相较于目标存储集群的数据变更日志确定源存储集群相较于目标存储集群的增量数据,具体可以参考上述步骤说明,配合数据变更日志的生成方式执行对应的确定增量数据的操作。
对于S103来说,在确定增量数据后,即可调用迁移工具执行对增量数据的增量数据迁移任务。
如源存储集群和目标存储集群均为对象存储集群,则增量数据为发生数据变更的对象,增量数据迁移任务为针对发生数据变更的对象的迁移任务。
如源存储集群和目标存储集群为其他类型的存储集群,可以根据具体的存储结构,确定增量数据迁移任务的迁移单位,如以最小的文件为单位进行迁移,或以页、表等为单位进行迁移并替换目标存储集群中的对应页、表。
本申请实施例提供的数据迁移方法,通过在执行将源存储集群至目标存储集群的全量数据迁移任务时,记录源存储集群相较于目标存储集群的数据变更日志,从而在执行完全量数据迁移任务之后,能够根据数据变更日志确定源存储集群相较于目标存储集群的增量数据,继而执行将增量数据自源存储集群至目标存储集群迁移的增量数据迁移任务,通过基于数据变更日志确定增量数据,相较于迁移工具将源存储集群中的所有数据以及目标存储集群中的所有数据读取到内存中比较得到增量数据的现有增量迁移方案,能够更快地确定增量数据,显著提升增量数据迁移任务的效率,继而提升存储集群间数据迁移的整体效率。
实施例二
在上述实施例的基础上,记录源存储集群相较于目标存储集群的数据变更日志的起始点可以为迁移工具开始遍历源存储集群的全量数据的时间点,也可以为开始执行全量数据迁移任务的时间点。迁移工具遍历源存储集群的全量数据以确定第一待迁移数据通常只需很短的时间,但不排除会在这段时间内源存储集群产生数据变更,故S101中记录源存储集群相较于目标存储集群的数据变更日志,具体可以为:自迁移工具开始遍历源存储集群的全量数据的第一时间点开始,记录源存储集群相较于目标存储集群的数据变更日志。
由于无法确定迁移工具遍历源存储集群的全量数据的过程中,源存储集群的数据变更是否会被迁移工具遍历到,故需要在S102根据数据变更日志确定源存储集群相较于目标存储集群的增量数据的过程中,或S103执行将增量数据自源存储集群至目标存储集群迁移的增量数据迁移任务的过程中,对这部分数据变更日志对应的增量数据进行重新界定。
则S103中执行增量数据自源存储集群至目标存储集群迁移的增量数据迁移任务,具体可以包括:
对自迁移工具开始遍历源存储集群的全量数据的第一时间点到迁移工具开始执行对第一待迁移数据的全量数据迁移任务时的第二时间点之间的第一数据变更日志,判断目标存储集群是否包含与第一数据变更日志对应的增量数据;
若目标存储集群包含与第一数据变更日志对应的所有增量数据,则跳过第一数据变更日志;
若目标存储集群未包含与第一数据变更日志对应的所有增量数据,则执行对与第一数据变更日志对应的增量数据的第一增量数据迁移任务;
确定第二时间点之后的第二数据变更日志对应的增量数据后,直接执行对第二数据变更日志对应的增量数据的第二增量数据迁移任务。
由于在遍历确认全量数据的过程中也可能产生增量数据,且不确定这些增量数据是否被遍历到,故分别对遍历过程中和遍历后的增量数据执行增量数据迁移任务,对于遍历后产生的增量数据可以执行增量迁移,而对遍历过程中产生的增量数据则筛除全量数据迁移任务已经迁移过的数据,再进行增量迁移,减少不必要的增量迁移操作。
在实际应用中,在迁移工具在执行全量数据迁移任务中遍历第一待迁移数据时产生的变更操作,包括增加、删除、更改、查询。将查询操作排除后,可能存在按照源存储集群的存储结构以及迁移工具的遍历顺序,在迁移工具已经遍历过的文件中新增了文件,则新增的文件不会被记录到迁移工具的指定文件中。也可能存在迁移工具已经遍历并记录进指定文件的第一待迁移数据中有数据被删除,则迁移工具在执行全量数据迁移任务时将因在源存储集群中无法找到该数据而产生报错。则本申请实施例提供的数据迁移方法还可以包括:在调用迁移工具执行将第一待迁移数据自源存储集群迁移至目标存储集群的全量数据迁移任务时,对无法查询到的第一待迁移数据生成报错日志;相应的,S102中根据数据变更日志确定源存储集群相较于目标存储集群的增量数据,具体可以为:根据报错日志和数据变更日志确定源存储集群相较于目标存储集群的增量数据。通过迁移工具在执行全量数据迁移任务时记录已被删除的第一待迁移数据的报错日志,与源存储集群相较于目标存储集群的数据变更日志进行对比,确定第一待迁移数据中已被删除的数据,消除迁移工具的报错。
其中,判断目标存储集群是否包含与第一数据变更日志对应的增量数据,具体可以包括:
在迁移工具遍历到的第一待迁移数据的文件名中,确定与第一数据变更日志对应的待检查文件名;
在目标存储集群中查询得到与待检查文件名对应的待检查文件,根据第一数据变更日志确定各待检查文件是否均已执行与第一数据变更日志对应的操作;
若各待检查文件均已执行与第一数据变更日志对应的操作,则确认目标存储集群包含与第一数据变更日志对应的所有增量数据;
若各待检查文件未全部执行与第一数据变更日志对应的操作,则确认目标存储集群未包含与第一数据变更日志对应的所有增量数据。
根据迁移工具遍历到的第一待迁移数据的文件名,对遍历过程中产生的第一数据变更日志涉及到的增量数据进行核对,若目标存储集群中包含第一数据变更日志中所有涉及到的增量数据,则无需对第一数据变更日志对应的增量数据进行增量迁移。若目标存储集群中并非包含第一数据变更日志中所有涉及到的增量数据,即产生了全量数据迁移任务中未迁移的数据,则仅针对未迁移的数据执行增量迁移。
实施例三
由于在执行增量数据迁移任务的过程中,源存储集群可能还会产生新的增量数据,导致执行完第一次增量数据迁移任务后源存储集群和目标存储集群还是存在数据不一致的情况。则在上述实施例的基础上,本申请实施例提供的数据迁移方法还可以包括:
在执行增量数据迁移任务时,记录源存储集群相较于目标存储集群的增量数据变更日志;
在执行完增量数据迁移任务之后,根据增量数据变更日志确定源存储集群相较于目标存储集群的二次增量数据;
执行将二次增量数据自源存储集群至目标存储集群迁移的二次增量数据迁移任务。
在具体实施中,在执行源存储集群至目标存储集群的全量数据迁移任务的过程中,记录数据变更日志,以在执行完全量数据迁移任务之后,执行第一次增量数据迁移任务。而在执行第一次增量数据迁移任务的过程中,可以按照记录源存储集群相较于目标存储集群的数据变更日志的办法,记录执行第一次增量数据迁移任务的过程中的增量数据变更日志,即第二次数据变更日志,以在执行完第一次增量数据迁移任务之后,执行与第二次数据变更日志对应的二次增量数据迁移任务。在执行二次增量数据迁移任务的过程中,按照记录源存储集群相较于目标存储集群的数据变更日志的办法,记录执行二次增量数据迁移任务的过程中的二次增量数据变更日志,即第三次数据变更日志,以在执行完二次增量数据迁移任务之后,执行与第三次数据变更日志对应的第三次增量数据迁移任务……以此类推。
存储集群间的数据迁移任务有时是为了主备存储集群间的数据同步,有时是为了存储集群的切换。在因为数据同步而执行存储集群间的数据迁移时,可以在执行完全量数据迁移任务以及增量数据迁移任务、并确认源存储集群和目标存储集群数据一致后,每当源存储集群产生增量数据则执行一次源存储集群到目标存储集群的增量数据迁移任务。在因为存储集群的切换而执行存储集群间的数据迁移时,则可以在执行完全量数据迁移任务以及增量数据迁移任务、乃至二次增量数据迁移任务、三次增量数据迁移任务……直至增量数据量降至预设阈值以下时,暂停源存储集群的业务服务,执行剩下的增量数据的增量数据迁移任务后,在目标存储集群开启业务源存储集群的业务服务。
上文详述了数据迁移方法对应的各个实施例,在此基础上,本申请还公开了与上述方法对应的数据迁移装置、数据迁移设备及存储介质。
实施例四
图2为本申请实施例提供的一种数据迁移装置的结构示意图。
如图2所示,本申请实施例提供的数据迁移装置包括:
第一记录单元201,用于在执行源存储集群至目标存储集群的全量数据迁移任务时,记录源存储集群相较于目标存储集群的数据变更日志;
第一确定单元202,用于在执行完全量数据迁移任务之后,根据数据变更日志确定源存储集群相较于目标存储集群的增量数据;
第一增量执行单元203,用于执行将增量数据自源存储集群至目标存储集群迁移的增量数据迁移任务。
进一步的,第一记录单元201执行源存储集群至目标存储集群的全量数据迁移任务,具体包括:
调用迁移工具遍历源存储集群的全量数据,记为第一待迁移数据;
调用迁移工具执行将第一待迁移数据自源存储集群迁移至目标存储集群的全量数据迁移任务。
进一步的,第一记录单元201记录源存储集群相较于目标存储集群的数据变更日志,具体为:
自迁移工具开始遍历源存储集群的全量数据的第一时间点开始,记录源存储集群相较于目标存储集群的数据变更日志。
进一步的,第一增量执行单元203具体包括:
第一增量执行子单元,用于对第一时间点到迁移工具开始执行对第一待迁移数据的全量数据迁移任务时的第二时间点之间的第一数据变更日志,判断目标存储集群是否包含与第一数据变更日志对应的增量数据;若目标存储集群包含与第一数据变更日志对应的所有增量数据,则跳过第一数据变更日志;若目标存储集群未包含与第一数据变更日志对应的所有增量数据,则执行对与第一数据变更日志对应的增量数据的第一增量数据迁移任务;
第二增量执行子单元,用于确定第二时间点之后的第二数据变更日志对应的增量数据后,直接执行对第二数据变更日志对应的增量数据的第二增量数据迁移任务。
进一步的,第一增量执行子单元判断目标存储集群是否包含与第一数据变更日志对应的增量数据,具体包括:
在迁移工具遍历到的第一待迁移数据的文件名中,确定与第一数据变更日志对应的待检查文件名;
在目标存储集群中查询得到与待检查文件名对应的待检查文件,根据第一数据变更日志确定各待检查文件是否均已执行与第一数据变更日志对应的操作;
若各待检查文件均已执行与第一数据变更日志对应的操作,则确认目标存储集群包含与第一数据变更日志对应的所有增量数据;
若各待检查文件未全部执行与第一数据变更日志对应的操作,则确认目标存储集群未包含与第一数据变更日志对应的所有增量数据。
进一步的,本申请实施例提供的数据迁移装置还可以包括:
报错单元,用于在调用迁移工具执行将第一待迁移数据自源存储集群迁移至目标存储集群的全量数据迁移任务时,对无法查询到的第一待迁移数据生成报错日志;
第一确定单元202根据数据变更日志确定源存储集群相较于目标存储集群的增量数据,具体为:
根据报错日志和数据变更日志确定源存储集群相较于目标存储集群的增量数据。
进一步的,第一记录单元201记录源存储集群相较于目标存储集群的数据变更日志,具体为:
记录源存储集群的第一数据变更日志,以第一数据变更日志为源存储集群相较于目标存储集群的数据变更日志。
或者,第一记录单元201记录源存储集群相较于目标存储集群的数据变更日志,具体包括:
记录源存储集群的第二数据变更日志,同时记录目标存储集群的第三数据变更日志;
根据第二数据变更日志和第三数据变更日志确定源存储集群相较于目标存储集群的数据变更日志。
进一步的,本申请实施例提供的数据迁移装置还可以包括:
第二记录单元,用于在执行增量数据迁移任务时,记录源存储集群相较于目标存储集群的增量数据变更日志;
第二确定单元,用于在执行完增量数据迁移任务之后,根据增量数据变更日志确定源存储集群相较于目标存储集群的二次增量数据;
第二增量执行单元,用于执行将二次增量数据自源存储集群至目标存储集群迁移的二次增量数据迁移任务。
进一步的,源存储集群和目标存储集群均具体为对象存储集群。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
实施例五
图3为本申请实施例提供的一种数据迁移设备的结构示意图。
如图3所示,本申请实施例提供的数据迁移设备包括:
存储器310,用于存储计算机程序311;
处理器320,用于执行计算机程序311,该计算机程序311被处理器320执行时实现如上述任意一项实施例所述数据迁移方法的步骤。
其中,处理器320可以包括一个或多个处理核心,比如3核心处理器、8核心处理器等。处理器320可以采用数字信号处理DSP(Digital Signal Processing)、现场可编程门阵列FPGA(Field-Programmable Gate Array)、可编程逻辑阵列PLA(Programmable LogicArray)中的至少一种硬件形式来实现。处理器320也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器CPU(CentralProcessing Unit);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器320可以集成有图像处理器GPU(Graphics Processing Unit),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器320还可以包括人工智能AI(Artificial Intelligence)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器310可以包括一个或多个存储介质,该存储介质可以是非暂态的。存储器310还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器310至少用于存储以下计算机程序311,其中,该计算机程序311被处理器320加载并执行之后,能够实现前述任一实施例公开的数据迁移方法中的相关步骤。另外,存储器310所存储的资源还可以包括操作系统312和数据313等,存储方式可以是短暂存储或者永久存储。其中,操作系统312可以为Windows。数据313可以包括但不限于上述方法所涉及到的数据。
在一些实施例中,数据迁移设备还可包括有显示屏330、电源340、通信接口350、输入输出接口360、传感器370以及通信总线380。
本领域技术人员可以理解,图3中示出的结构并不构成对数据迁移设备的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的数据迁移设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如上所述的数据迁移方法,效果同上。
实施例六
需要说明的是,以上所描述的装置、设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。
为此,本申请实施例还提供一种存储介质,该存储介质上存储有计算机程序,计算机程序被处理器执行时实现如数据迁移方法的步骤。
该存储介质可以包括:U盘、移动硬盘、只读存储器ROM(Read-Only Memory)、随机存取存储器RAM(Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例中提供的存储介质所包含的计算机程序能够在被处理器执行时实现如上所述的数据迁移方法的步骤,效果同上。
以上对本申请所提供的一种数据迁移方法、数据迁移装置、数据迁移设备及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (13)
1.一种数据迁移方法,其特征在于,包括:
在执行源存储集群至目标存储集群的全量数据迁移任务时,记录所述源存储集群相较于所述目标存储集群的数据变更日志;
在执行完所述全量数据迁移任务之后,根据所述数据变更日志确定所述源存储集群相较于所述目标存储集群的增量数据;
执行将所述增量数据自所述源存储集群至所述目标存储集群迁移的增量数据迁移任务。
2.根据权利要求1所述的数据迁移方法,其特征在于,所述执行源存储集群至目标存储集群的全量数据迁移任务,具体包括:
调用迁移工具遍历所述源存储集群的全量数据,记为第一待迁移数据;
调用所述迁移工具执行将所述第一待迁移数据自所述源存储集群迁移至所述目标存储集群的所述全量数据迁移任务。
3.根据权利要求2所述的数据迁移方法,其特征在于,所述记录所述源存储集群相较于所述目标存储集群的数据变更日志,具体为:
自所述迁移工具开始遍历所述源存储集群的全量数据的第一时间点开始,记录所述源存储集群相较于所述目标存储集群的所述数据变更日志。
4.根据权利要求3所述的数据迁移方法,其特征在于,所述执行所述增量数据自所述源存储集群至所述目标存储集群迁移的增量数据迁移任务,具体包括:
对所述第一时间点到所述迁移工具开始执行对所述第一待迁移数据的所述全量数据迁移任务时的第二时间点之间的第一数据变更日志,判断所述目标存储集群是否包含与所述第一数据变更日志对应的增量数据;
若所述目标存储集群包含与所述第一数据变更日志对应的所有增量数据,则跳过所述第一数据变更日志;
若所述目标存储集群未包含与所述第一数据变更日志对应的所有增量数据,则执行对与所述第一数据变更日志对应的增量数据的第一增量数据迁移任务;
确定所述第二时间点之后的第二数据变更日志对应的增量数据后,直接执行对所述第二数据变更日志对应的增量数据的第二增量数据迁移任务。
5.根据权利要求4所述的数据迁移方法,其特征在于,所述判断所述目标存储集群是否包含与所述第一数据变更日志对应的增量数据,具体包括:
在所述迁移工具遍历到的所述第一待迁移数据的文件名中,确定与所述第一数据变更日志对应的待检查文件名;
在所述目标存储集群中查询得到与所述待检查文件名对应的待检查文件,根据所述第一数据变更日志确定各所述待检查文件是否均已执行与所述第一数据变更日志对应的操作;
若各所述待检查文件均已执行与所述第一数据变更日志对应的操作,则确认所述目标存储集群包含与所述第一数据变更日志对应的所有增量数据;
若各所述待检查文件未全部执行与所述第一数据变更日志对应的操作,则确认所述目标存储集群未包含与所述第一数据变更日志对应的所有增量数据。
6.根据权利要求2所述的数据迁移方法,其特征在于,还包括:
在所述调用所述迁移工具执行将所述第一待迁移数据自所述源存储集群迁移至所述目标存储集群的所述全量数据迁移任务时,对无法查询到的所述第一待迁移数据生成报错日志;
所述根据所述数据变更日志确定所述源存储集群相较于所述目标存储集群的增量数据,具体为:
根据所述报错日志和所述数据变更日志确定所述源存储集群相较于所述目标存储集群的增量数据。
7.根据权利要求1所述的数据迁移方法,其特征在于,所述记录所述源存储集群相较于所述目标存储集群的数据变更日志,具体为:
记录所述源存储集群的第一数据变更日志,以所述第一数据变更日志为所述源存储集群相较于所述目标存储集群的所述数据变更日志。
8.根据权利要求1所述的数据迁移方法,其特征在于,所述记录所述源存储集群相较于所述目标存储集群的数据变更日志,具体包括:
记录所述源存储集群的第二数据变更日志,同时记录所述目标存储集群的第三数据变更日志;
根据所述第二数据变更日志和所述第三数据变更日志确定所述源存储集群相较于所述目标存储集群的所述数据变更日志。
9.根据权利要求1所述的数据迁移方法,其特征在于,还包括:
在执行所述增量数据迁移任务时,记录所述源存储集群相较于所述目标存储集群的增量数据变更日志;
在执行完所述增量数据迁移任务之后,根据所述增量数据变更日志确定所述源存储集群相较于所述目标存储集群的二次增量数据;
执行将所述二次增量数据自所述源存储集群至所述目标存储集群迁移的二次增量数据迁移任务。
10.根据权利要求1所述的数据迁移方法,其特征在于,所述源存储集群和所述目标存储集群均具体为对象存储集群。
11.一种数据迁移装置,其特征在于,包括:
第一记录单元,用于在执行源存储集群至目标存储集群的全量数据迁移任务时,记录所述源存储集群相较于所述目标存储集群的数据变更日志;
第一确定单元,用于在执行完所述全量数据迁移任务之后,根据所述数据变更日志确定所述源存储集群相较于所述目标存储集群的增量数据;
第一增量执行单元,用于执行将所述增量数据自所述源存储集群至所述目标存储集群迁移的增量数据迁移任务。
12.一种数据迁移设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至10任意一项所述数据迁移方法的步骤。
13.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10任意一项所述数据迁移方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211509086.1A CN115729473A (zh) | 2022-11-29 | 2022-11-29 | 数据迁移方法、数据迁移装置、数据迁移设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211509086.1A CN115729473A (zh) | 2022-11-29 | 2022-11-29 | 数据迁移方法、数据迁移装置、数据迁移设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115729473A true CN115729473A (zh) | 2023-03-03 |
Family
ID=85298922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211509086.1A Pending CN115729473A (zh) | 2022-11-29 | 2022-11-29 | 数据迁移方法、数据迁移装置、数据迁移设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115729473A (zh) |
-
2022
- 2022-11-29 CN CN202211509086.1A patent/CN115729473A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113297182B (zh) | 数据迁移方法、设备、存储介质及程序产品 | |
CN105573859A (zh) | 一种数据库的数据恢复方法和设备 | |
CN110147203B (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
CN109033365B (zh) | 一种数据处理方法及相关设备 | |
CN115599764A (zh) | 一种表格数据的迁移方法、设备及介质 | |
CN115114232A (zh) | 一种历史版本对象列举方法、装置及其介质 | |
CN107315652B (zh) | 一种数据备份方法及云hdfs系统 | |
CN112000971B (zh) | 一种文件权限记录方法、系统及相关装置 | |
CN102495838B (zh) | 数据处理方法及装置 | |
CN115729473A (zh) | 数据迁移方法、数据迁移装置、数据迁移设备及存储介质 | |
CN112269530A (zh) | 一种数据存储管理方法及相关装置 | |
CN116501700A (zh) | 一种app格式化文件离线存储方法、装置、设备及存储介质 | |
CN111435327A (zh) | 一种日志记录的处理方法、装置及系统 | |
CN114003203B (zh) | 一种活动计数变量的维护方法、装置、设备及可读介质 | |
WO2022166265A1 (zh) | 一种数据恢复方法、装置、设备及介质 | |
CN114861003A (zh) | 一种指定目录下的对象列举方法、装置及其介质 | |
CN109241027B (zh) | 数据迁移的方法、装置、电子设备及计算机可读存储介质 | |
CN113886342A (zh) | 文件的格式转换方法、装置、存储介质及处理器 | |
CN109284237B (zh) | 一种全闪存储阵列中的垃圾回收方法及系统 | |
CN113467997A (zh) | 一种数据恢复方法、装置、移动设备和存储介质 | |
CN117873785A (zh) | 一种分布式存储的增量备份方法、装置以及介质 | |
TW202036326A (zh) | 資料庫遷移的方法、裝置、設備及電腦可讀媒體 | |
CN112711627B (zh) | 一种Greenplum数据库的数据导入方法、装置及设备 | |
CN108958654B (zh) | 一种存储系统的管理方法及相关装置 | |
CN112527762B (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 |