全量数据迁移方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:26845468 阅读:13 留言:0更新日期:2020-12-25 13:07
本申请提供了一种全量数据迁移方法、装置、设备及计算机可读存储介质,应用于云技术领域,方法包括:获取源数据库中的全量数据;全量数据包括至少一个迁移对象;依次从全量数据的至少一个迁移对象中提取迁移对象作为待迁移对象,并通过至少一个迁移进程中的空闲迁移进程将待迁移对象从源数据库迁移至目标数据库;在至少一个迁移对象均被迁移至目标数据库的情况下,完成全量数据迁移过程。通过本申请提供的全量数据迁移方法,能够提升全量数据的迁移效率。

【技术实现步骤摘要】
全量数据迁移方法、装置、设备及计算机可读存储介质
本申请涉及数据迁移技术,尤其涉及一种全量数据迁移方法、装置、设备及计算机可读存储介质。
技术介绍
数据库是按照数据结构来组织、存储和管理数据的仓库。随着互联网技术的发展,在对数据库服务器硬件升级等场景中,数据库的数据往往需要由一个电子设备迁移到另一个电子设备。在相关技术中,在将源数据库中的全量数据传输至目标数据库的过程中,会将全量数据全量导出至外部存储池中,在全量导出完毕后,再将存储池中的全量数据全量导入目标数据库。可以看出,相关技术中对全量数据存在全量导出和全量导入过程,且必须完成全量导出,才能开始进行全量导入,存在全局同步屏障,严重影响全量数据的迁移效率。
技术实现思路
本申请实施例提供一种全量数据迁移方法、装置、设备及计算机可读存储介质,能够提升全量数据的迁移效率。本申请实施例的技术方案是这样实现的:本申请实施例提供一种全量数据迁移方法,包括:一种全量数据迁移方法,其特征在于,包括:获取源数据库中的全量数据;全量数据包括至少一个迁移对象;依次从全量数据的至少一个迁移对象中提取迁移对象作为待迁移对象,并通过至少一个迁移进程中的空闲迁移进程将待迁移对象从源数据库迁移至目标数据库;在至少一个迁移对象均被迁移至目标数据库的情况下,完成全量数据迁移过程。在本申请的一些实施例中,所述依次从全量数据的至少一个迁移对象中提取迁移对象作为待迁移对象,并通过至少一个迁移进程中的空闲迁移进程将待迁移对象从源数据库迁移至目标数据库,包括:在至少一个迁移进程中存在空闲迁移进程的情况下,从至少一个迁移对象中提取迁移对象作为待迁移对象;将待迁移对象分配至空闲迁移进程;通过空闲迁移进程将待迁移对象从源数据库迁移至目标数据库。在本申请的一些实施例中,所述通过空闲迁移进程将待迁移对象从源数据库迁移至目标数据库,包括:通过空闲迁移进程中的读取线程从源数据库取出待迁移对象,并将待迁移对象写入内存中空闲迁移进程对应的数据队列;通过空闲迁移进程中的写入线程从数据队列中取出待迁移对象,并将待迁移对象写入目标数据库。在本申请的一些实施例中,所述通过空闲迁移进程中的读取线程从源数据库取出待迁移对象,并将待迁移对象写入内存中空闲迁移进程对应的数据队列,包括:通过读取线程从源数据库读取待迁移对象的结构数据至数据队列;通过读取进程从源数据库读取待迁移对象的源库数据至数据队列。在本申请的一些实施例中,所述通过空闲迁移进程中的写入线程从数据队列中取出待迁移对象,并将待迁移对象写入目标数据库,包括:通过写入线程从数据队列中取出待迁移对象的结构数据,并将结构数据写入目标数据库,以完成根据结构数据对目标数据库的配置过程;通过写入线程从数据队列中取出待迁移对象的源库数据,并将源库数据写入经过结构数据配置的目标数据库。在本申请的一些实施例中,所述方法还包括:监测至少一个迁移进程中每一迁移进程的进程状态;进程状态包括读取线程状态和写入线程状态;根据每一迁移进程对应的读取线程状态和写入线程状态在至少一个迁移进程中确定空闲迁移进程。在本申请的一些实施例中,所述根据每一迁移进程对应的读取线程状态和写入线程状态在至少一个迁移进程中确定空闲迁移进程,包括以下至少之一:在迁移进程对应的读取线程状态与写入线程状态均为空闲状态的情况下,将迁移进程确定为空闲迁移进程;在迁移进程对应的读取线程状态为空闲状态,且写入线程状态均为工作状态的情况下,将迁移进程确定为空闲迁移进程。在本申请的一些实施例中,所述方法还包括:在通过空闲迁移进程中的读取线程从源数据库取出待迁移对象,并将待迁移对象写入内存中空闲迁移进程对应的数据队列的过程中,若数据队列已满,将读取线程挂起;在通过空闲迁移进程中的写入线程从数据队列中取出待迁移对象,并将待迁移对象写入目标数据库的过程中,获取数据队列中的负载量化值,在负载量化值低于预设阈值的情况下,恢复读取线程。本申请实施例提供一种全量数据迁移装置,所述装置包括:获取模块,用于获取源数据库中的全量数据;全量数据包括至少一个迁移对象;迁移模块,用于依次从全量数据的至少一个迁移对象中提取迁移对象作为待迁移对象,并通过至少一个迁移进程中的空闲迁移进程将待迁移对象从源数据库迁移至目标数据库;迁移模块,还用于在至少一个迁移对象均被迁移至目标数据库的情况下,完成全量数据迁移过程。本申请实施例提供一种全量数据迁移设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的全量数据迁移方法。本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的全量数据迁移方法。本申请实施例具有以下有益效果:本申请实施例通过将全量数据细化至多个迁移对象,相对于传统技术中先将全量数据读取至读写存储池,在完成读取过程之后将全量数据写入至目标数据库的方案,由于细化至迁移对象,可以分别将各迁移对象直接迁移至目标数据库中,省去为了读写存储池,不仅提高了迁移速度,还减少了存储开销,降低了运营成本。减少组件依赖,也提高了系统整体可靠性。并且,由于通过多个迁移进程对各迁移对象进行并行迁移,在整体上实现了对全量数据同时进行全量导出和全量导入的技术效果,提升了全量数据的整体迁移效率。附图说明图1是本申请实施例提供的全量数据迁移系统的一个可选的架构示意图;图2是本申请实施例提供的全量数据迁移设备的结构示意图;图3是本申请实施例提供的全量数据迁移方法的一个可选的流程示意图;图4是本申请实施例提供的全量数据迁移方法的一个可选的流程示意图;图5是本申请实施例提供的全量数据迁移方法的一个可选的流程示意图;图6是本申请实施例提供的全量数据迁移方法的一个可选的流程示意图;图7是本申请实施例提供的全量数据迁移方法的一个可选的流程示意图;图8是本申请实施例提供的全量数据迁移方法的一个可选的迁移过程示意图;图9是本申请实施例提供的一个可选的数据库迁移服务的交互界面示意图;图10是本申请实施例提供的一个可选的交互界面二级菜单示意图;图11是本申请实施例提供的全量数据迁移方法的一个可选的迁移过程示意图;图12是本申请实施例提供的全量数据迁移方法的一个可选的迁移过程示意图。具体实施方式为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\本文档来自技高网...

【技术保护点】
1.一种全量数据迁移方法,其特征在于,包括:/n获取源数据库中的全量数据;所述全量数据包括至少一个迁移对象;/n依次从所述全量数据的至少一个迁移对象中提取迁移对象作为待迁移对象,并通过至少一个迁移进程中的空闲迁移进程将所述待迁移对象从所述源数据库迁移至目标数据库;/n在所述至少一个迁移对象均被迁移至所述目标数据库的情况下,完成所述全量数据迁移过程。/n

【技术特征摘要】
1.一种全量数据迁移方法,其特征在于,包括:
获取源数据库中的全量数据;所述全量数据包括至少一个迁移对象;
依次从所述全量数据的至少一个迁移对象中提取迁移对象作为待迁移对象,并通过至少一个迁移进程中的空闲迁移进程将所述待迁移对象从所述源数据库迁移至目标数据库;
在所述至少一个迁移对象均被迁移至所述目标数据库的情况下,完成所述全量数据迁移过程。


2.根据权利要求1所述的方法,其特征在于,所述依次从所述全量数据的至少一个迁移对象中提取迁移对象作为待迁移对象,并通过至少一个迁移进程中的空闲迁移进程将所述待迁移对象从所述源数据库迁移至目标数据库,包括:
在所述至少一个迁移进程中存在所述空闲迁移进程的情况下,从所述至少一个迁移对象中提取迁移对象作为待迁移对象;
将所述待迁移对象分配至所述空闲迁移进程;
通过所述空闲迁移进程将所述待迁移对象从所述源数据库迁移至目标数据库。


3.根据权利要求2所述的方法,其特征在于,所述通过所述空闲迁移进程将所述待迁移对象从所述源数据库迁移至目标数据库,包括:
通过所述空闲迁移进程中的读取线程从所述源数据库取出所述待迁移对象,并将所述待迁移对象写入内存中所述空闲迁移进程对应的数据队列;
通过所述空闲迁移进程中的写入线程从所述数据队列中取出所述待迁移对象,并将所述待迁移对象写入所述目标数据库。


4.根据权利要求3所述的方法,其特征在于,所述通过所述空闲迁移进程中的读取线程从所述源数据库取出所述待迁移对象,并将所述待迁移对象写入内存中所述空闲迁移进程对应的数据队列,包括:
通过所述读取线程从所述源数据库读取所述待迁移对象的结构数据至所述数据队列;
通过所述读取进程从所述源数据库读取所述待迁移对象的源库数据至所述数据队列。


5.根据权利要求3或4所述的方法,其特征在于,所述通过所述空闲迁移进程中的写入线程从所述数据队列中取出所述待迁移对象,并将所述待迁移对象写入所述目标数据库,...

【专利技术属性】
技术研发人员:何威吴双桥王珏
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1