数据迁移方法、装置、设备以及存储介质制造方法及图纸

技术编号:36090108 阅读:15 留言:0更新日期:2022-12-24 11:06
本公开提供了一种数据迁移方法、装置、设备以及存储介质,涉及云计算、云存储、云网络和云数据库技术,可应用在智能云场景下。具体实现方案为:响应于接收到数据迁移请求,获取与数据迁移请求对应的待迁移数据表,其中,待迁移数据表包括至少一个待迁移数据集的数据信息,待迁移数据集包括存储在第一数据库中的第一数据和存储在第二数据库中的第二数据;针对待迁移数据表中的每个数据信息,从第一数据库中获取与每个数据信息对应的第一数据,并将第一数据写入消息队列;以及针对消息队列中的每个第一数据,从第二数据库中获取与每个第一数据对应的第二数据,并将每个第一数据和与每个第一数据对应的第二数据写入目标数据库。第一数据对应的第二数据写入目标数据库。第一数据对应的第二数据写入目标数据库。

【技术实现步骤摘要】
数据迁移方法、装置、设备以及存储介质


[0001]本公开涉及人工智能领域,具体涉及云计算、云存储、云网络和云数据库技术,可应用在智能云场景下。

技术介绍

[0002]数据库是按照数据结构来组织、储存和管理数据的仓库。随着互联网技术的发展,数据库会进行更新换代,此时需要将旧的数据库中的数据迁移到新的数据库中。人工参与数据库迁移,操作繁琐,数据迁移的效率较低。

技术实现思路

[0003]本公开提供了一种数据迁移方法、装置、设备、存储介质以及程序产品。
[0004]根据本公开的一方面,提供了一种数据迁移方法,包括:响应于接收到数据迁移请求,获取与所述数据迁移请求对应的待迁移数据表,其中,所述待迁移数据表包括至少一个待迁移数据集的数据信息,所述待迁移数据集包括存储在第一数据库中的第一数据和存储在第二数据库中的第二数据;针对所述待迁移数据表中的每个数据信息,从所述第一数据库中获取与所述每个数据信息对应的第一数据,并将所述第一数据写入消息队列;以及针对所述消息队列中的每个第一数据,从所述第二数据库中获取与所述每个第一数据对应的第二数据,并将所述每个第一数据和与所述每个第一数据对应的第二数据写入目标数据库。
[0005]根据本公开的另一方面,提供了一种数据迁移装置,包括:获取模块,用于响应于接收到数据迁移请求,获取与所述数据迁移请求对应的待迁移数据表,其中,所述待迁移数据表包括至少一个待迁移数据集的数据信息,所述待迁移数据集包括存储在第一数据库中的第一数据和存储在第二数据库中的第二数据;第一写入模块,用于针对所述待迁移数据表中的每个数据信息,从所述第一数据库中获取与所述每个数据信息对应的第一数据,并将所述第一数据写入消息队列;以及第二写入模块,用于针对所述消息队列中的每个第一数据,从所述第二数据库中获取与所述每个第一数据对应的第二数据,并将所述每个第一数据和与所述每个第一数据对应的第二数据写入目标数据库。
[0006]本公开的另一个方面提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例所示的方法。
[0007]根据本公开实施例的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开实施例所示的方法。
[0008]根据本公开实施例的另一方面,提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现本公开实施例所示方法的步骤。
[0009]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特
征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0010]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0011]图1是根据本公开实施例的系统架构的示意图;
[0012]图2示意性示出了根据本公开的实施例的数据迁移方法的流程图;
[0013]图3示意性示出了根据本公开另一实施例的数据迁移方法的流程图;
[0014]图4示意性示出了根据本公开另一实施例的数据迁移方法的流程图;
[0015]图5示意性示出了根据本公开的实施例的迁移状态的示意图;
[0016]图6示意性示出了根据本公开的实施例的数据迁移的示意图;
[0017]图7示意性示出了根据本公开实施例的数据迁移装置的框图;以及
[0018]图8示意性示出了可以用来实施本公开的实施例的示例电子设备的框图。
具体实施方式
[0019]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0020]以下将结合图1对本公开提供的可以应用数据迁移方法和装置的系统架构进行描述。
[0021]图1是根据本公开实施例的系统架构的示意图。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的
技术实现思路
,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
[0022]如图1所示,该系统架构100可以包括源数据库101、102、数据传输系统103和目标数据库104。
[0023]根据本公开的实施例,数据传输系统103例如可以提供数据迁移、数据同步、数据订阅等数据库数据传输服务(Data Transmission Service,DTS)。
[0024]根据本公开的实施例,源数据库101、源数据库102和目标数据库104可以是不同类型的数据库,也可以是相同类型的数据库,本公开对此不作具体限定。其中,类型包括但不限于MySQL、mola和TafDB。
[0025]根据本公开的实施例,源数据库101、源数据库102和目标数据库104中的任意多个可以位于同一数据库系统中,源数据库101、源数据库102和目标数据库104也可以分别位于不同的数据库系统中,本公开对此不作具体限定。
[0026]根据本公开的实施例,数据在存储时,可以将数据分为任意比例的两个部分,一部分存储在源数据库101中,另一部分存储在源数据库102中。
[0027]当需要将源数据库101和源数据库102中的数据迁移至目标数据库104时,数据传输系统103可以从源数据库101和102中获取待迁移数据,然后将待迁移数据写入目标数据库104。
[0028]数据传输系统103可以是云服务器,又称为云计算服务器或云主机,是云计算服务
体系中的一项主机产品,以解决了传统物理主机与VPS服务(

Virtual Private Server

,或简称

VPS

)中,存在的管理难度大,业务扩展性弱的缺陷。数据传输系统103也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0029]应该理解,图1中的源数据库、目标数据库和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的源数据库、目标数据库和服务器。
[0030]在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
[0031]在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
[0032]以下将结合图2对本公开提供的数据迁移方法进行描述。
[0033]图2示意性示出了根据本公开的实施例的数据迁移方法的流程图。该数据迁移方法例如可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据迁移方法,包括:响应于接收到数据迁移请求,获取与所述数据迁移请求对应的待迁移数据表,其中,所述待迁移数据表包括至少一个待迁移数据集的数据信息,所述待迁移数据集包括存储在第一数据库中的第一数据和存储在第二数据库中的第二数据;针对所述待迁移数据表中的每个数据信息,从所述第一数据库中获取与所述每个数据信息对应的第一数据,并将所述第一数据写入消息队列;以及针对所述消息队列中的每个第一数据,从所述第二数据库中获取与所述每个第一数据对应的第二数据,并将所述每个第一数据和与所述每个第一数据对应的第二数据写入目标数据库。2.根据权利要求1所述的方法,应用于数据传输系统,其中,所述数据传输系统包括多个第一节点,所述方法还包括:根据共识算法,从所述多个第一节点中确定启动节点;其中,所述针对所述待迁移数据表中的每个数据信息,从所述第一数据库中获取与所述每个数据信息对应的第一数据,并将所述第一数据写入消息队列,包括:利用所述启动节点,从所述第一数据库中获取与所述每个数据信息对应的第一数据,并将所述第一数据写入消息队列。3.根据权利要求2所述的方法,其中,所述数据传输系统包括多个第二节点,所述方法还包括:根据共识算法,从所述多个第一节点中确定数据迁移节点,并为所述数据迁移节点配置至少一个工人节点;其中,所述针对所述消息队列中的每个第一数据,从所述第二数据库中获取与所述每个第一数据对应的第二数据,并将所述每个第一数据和与所述每个第一数据对应的第二数据写入目标数据库,包括:利用所述数据迁移节点,根据所述消息队列中的每个第一数据,生成至少一个迁移任务,并将所述至少一个迁移任务分配给与所述数据迁移节点对应的至少一个工人节点;以及利用所述至少一个工人节点,根据分配的迁移任务,以从所述第二数据库中获取与所述每个第一数据对应的第二数据,并将所述每个第一数据与所述每个第二数据写入目标数据库。4.根据权利要求1所述的方法,还包括:在将所述每个第一数据和与所述每个第一数据对应的第二数据写入目标数据库的情况下,检查所述目标数据库中写入的数据与所述第一数据库和所述第二数据库中的待迁移数据集是否一致;以及在所述目标数据库中写入的数据与所述第一数据库和所述第二数据库中的待迁移数据集不一致的情况下,删除已写入所述目标数据库中的数据。5.根据权利要求1所述的方法,还包括:获取第一数据库的数据库变更日志;根据所述数据库变更日志,确定接收到数据迁移请求之后预定时间内,所述第一数据库中发生变更的增量数据;以及
将所述增量数据作为第一数据写入所述消息队列。6.根据权利要求2所述的方法,还包括:确定所述数据迁移节点中的水位信息;以及在所述水位信息满足预定条件的情况下,将针对所述待迁移数据集的读写请求转发至所述目标数据库。7.一种数据迁移装置,包括:获取模块,用于响应于接收到数据迁移请求,获取与所述数据迁移请求对应的待迁移数据表,其中,所述待迁移数据表包括至少一个待迁移数据集的数据信息,所述待迁移数据集包括存储在第一数据库中的第一数据和存储在第二数据库中的第二数据;第一写入模块,用于针对所述待迁移...

【专利技术属性】
技术研发人员:汪长水段立国贾宝雷
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1