【技术实现步骤摘要】
数据迁移方法、系统、设备及存储介质
[0001]本说明书一个或多个实施例涉及数据库
,尤其涉及一种数据迁移方法、数据库系统、电子设备及计算机可读存储介质。
技术介绍
[0002]在对数据库进行管理的场景下,为了确保数据的存储安全,通常需要将数据库中存储的数据迁移到另一个数据库中进行备份,或对数据库中的部分数据进行拷贝等操作。在实际应用场景中,数据迁移装置可以将用户在源数据库中选定的待迁移的数据表迁移到目标数据库中。数据迁移装置在迁移上述数据表的过程中,基于实际业务发展需要,用户可能存在修改同步对象(例如新增数据表)的需求;因此,有必要提供一种数据迁移方法,以满足上述需求。
技术实现思路
[0003]有鉴于此,本说明书一个或多个实施例提供一种数据迁移方法、数据库系统、电子设备及计算机可读存储介质。
[0004]为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0005]根据本说明书一个或多个实施例的第一方面,提出了一种数据迁移方法,在源数据库和目标数据库之间建立有用于运行第一迁移任务的迁移链路,所述第一迁移任务用于将源数据库中的至少一个数据表迁移到目标数据库中;所述方法包括:
[0006]在所述第一迁移任务运行过程中,响应于表新增指令,确定所述源数据库中新增迁移的目标数据表;
[0007]创建第二迁移任务,以至少实现所述目标数据表的增量迁移;
[0008]在所述迁移链路中并行运行第一迁移任务和第二迁移任务的过程中,轮询检测第一迁移任务中增量迁移的 ...
【技术保护点】
【技术特征摘要】
1.一种数据迁移方法,在源数据库和目标数据库之间建立有用于运行第一迁移任务的迁移链路,所述第一迁移任务用于将源数据库中的至少一个数据表迁移到目标数据库中;所述方法包括:在所述第一迁移任务运行过程中,响应于表新增指令,确定所述源数据库中新增迁移的目标数据表;创建第二迁移任务,以至少实现所述目标数据表的增量迁移;在所述迁移链路中并行运行第一迁移任务和第二迁移任务的过程中,轮询检测第一迁移任务中增量迁移的时间位点和第二迁移任务中增量迁移的时间位点之间的同步情况;若两者同步,将所述第二迁移任务合并到所述第一迁移任务中,以使得合并后的第一迁移任务能够基于同步的时间位点实现所述至少一个数据表和所述目标数据表的增量迁移。2.根据权利要求1所述的方法,所述轮询检测所述第一迁移任务中增量迁移的时间位点和所述第二迁移任务中增量迁移的时间位点之间的同步情况,包括:轮询检测所述第一迁移任务中增量迁移的时间位点与当前时间之间的第一延迟时长、以及所述第二迁移任务中增量迁移的时间位点与当前时间之间的第二延迟时长,直到两者均小于第一阈值;或者,轮询检测所述第一迁移任务中增量迁移的时间位点和第二迁移任务中增量迁移的时间位点,直到两者之间的差异小于第二阈值。3.根据权利要求1所述的方法,所述若两者同步,将所述第二迁移任务合并到所述第一迁移任务中,以使得合并后的第一迁移任务能够实现所述至少一个数据表和所述目标数据表的增量迁移,包括:若两者同步,结束所述第二迁移任务,在所述第一迁移任务的任务信息中新增迁移所述目标数据表,并重启所述第一迁移任务;其中,重启后的第一迁移任务能够基于重启前记录的增量迁移的时间位点来进行修改后的任务信息指示的所有数据表的增量迁移。4.根据权利要求1所述的方法,还包括:在所述第一迁移任务运行过程中,响应于表修改指令,根据所述表修改指令携带的修改信息修改所述第一迁移任务的任务信息,并重启所述第一迁移任务;其中,所述修改信息用于指示以下至少一种修改事件:删除数据表、修改数据表名称、修改数据表中的列的名称、向数据表中增加列、以及修改数据类型。5.根据权利要求1至4任意一项所述的方法,还包括:在接收到表新增指令或表修改指令的情况下,检测所述第一迁移任务是否为正常执行状态;若是,将所述第一迁移任务从正常执行状态修改为同步对象修改状态,所述同步对象修改状态指示在接收到的表新增指令或表修改指令执行完成之前,不再响应其他的表新增指令和/或其他的表修改指令;以及在重启所述第一迁移任务之后,将所述第一迁移任务从同步对象修改状态修改为正常执行状态;若否,不响应接收到的表新增指令或表修改指令,并输出无法修改同步对象的提示信息。6.根据权利要求3或4所述的方法,还包括:
在重启所述第一迁移任务之后,将重启前记录的增量迁移的时间位点回退预设时长,得到目标时间位点;基于所述目标时间位点来进行修改后的任务信息中所有数据表的增量迁移。7.根据权利要求1至4任意一项所述的方法,所述源数据库包括分布式数据库;所述第一迁移任务包括第一父任务和第一子任务,所述第一子任务的数量根据所述第一迁移任务中的数据表对应的分区数量确定;其中,所述第一父任务至少用于实现源数据库和目标数据库之间的全局预检查;不同第一子任务至少用于实现源数据库和目标数据库之间的分区预检查、以及所述第一迁移任务中的数据表在不同分区中的分表的增量迁移;所述第二迁移任务包括第二父任务和第二子任务,所述第二子任务的数量根据所述目标数据表对应的分区数量确定;其中,所述第二父任务至少用于实现源数据库和目标数据库之间的全...
【专利技术属性】
技术研发人员:吴沛林,郭寿敏,付大超,
申请(专利权)人:阿里云计算有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。