数据库的数据迁移方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:36756024 阅读:13 留言:0更新日期:2023-03-04 10:47
本申请提供了一种数据库的数据迁移方法、装置、电子设备及可读存储介质,属于大数据技术领域。本申请通过,针对每张待迁移数据表,获取所述待迁移数据表的数据表标识;基于所述数据表标识在分布式数据库中获取所述待迁移数据表对应的至少两张分片数据表;合并至少两张所述分片数据表得到对应的完整数据表,并将所述完整数据表迁移至目标数据库。通过本申请,在对待迁移数据表进行迁移的过程中,将分布式数据库中与该待迁移数据表对应的每个分片存储的单张表(即,分片数据表),合并为一张完整数据表,进而,将完整数据表传输至目标数据库,由此实现整表级的数据库的数据迁移,从而避免迁移过程中出现语句顺序混乱的情况。迁移过程中出现语句顺序混乱的情况。迁移过程中出现语句顺序混乱的情况。

【技术实现步骤摘要】
数据库的数据迁移方法、装置、电子设备及可读存储介质


[0001]本申请涉及大数据
,尤其涉及一种数据库的数据迁移方法、装置、电子设备及可读存储介质。

技术介绍

[0002]对于分布式数据库来说,同一张数据表上的数据会被存储在分布式数据库中不同的分片上,形成该数据表对应的多张分片数据表,即,每个分片存储的该数据表上的部分数据形成一张分片数据表。
[0003]目前,在将数据从分布式数据库迁移到目标数据库的过程中,是基于分片数据表进行迁移的,即,在接收到对某张数据表的迁移指令时,将该数据表对应的多个分片数据表分别迁移至目标数据库,从而实现对该数据表的数据迁移。
[0004]然而,由于多张分片数据表分布在不同分片,对多个分片数据表分别进行迁移的过程中容易产生执行语句顺序紊乱问题。

技术实现思路

[0005]为了解决上述对多张分片数据表分别进行迁移的过程中容易产生执行语句顺序紊乱问题技术问题,本申请提供了一种数据库的数据迁移方法、装置、电子设备及可读存储介质。
[0006]第一方面,提供了一种数据库的数据迁移方法,所述方法包括:
[0007]针对每张待迁移数据表,获取所述待迁移数据表的数据表标识;
[0008]基于所述数据表标识在分布式数据库中获取所述待迁移数据表对应的至少两张分片数据表;
[0009]合并至少两张所述分片数据表得到对应的完整数据表,并将所述完整数据表迁移至目标数据库。
[0010]在一个可能的实施方式中,所述将所述完整数据表迁移至所述目标数据库,包括:
[0011]将所述完整数据表传输至消息队列中,以通过所述消息队列将所述完整数据表传输至所述目标数据库。
[0012]在一个可能的实施方式中,所述通过所述消息队列将所述完整数据表传输至所述目标数据库,包括:
[0013]获取所述消息队列中每张所述完整数据表对应的等待时间和初始优先级;
[0014]基于每张所述完整数据表对应的所述等待时间和所述初始优先级,确定每张所述完整数据表对应的目标优先级;
[0015]控制所述消息队列按照所述目标优先级将每张所述完整数据表传输至所述目标数据库。
[0016]在一个可能的实施方式中,通过以下步骤获取每张所述完整数据表对应的初始优先级:
[0017]针对每张所述完整数据表,获取所述完整数据表所对应的待迁移数据表的历史操作次数;
[0018]基于所述历史操作次数确定所述完整数据表对应的所述初始优先级,其中,所述历史操作次数越多,则所述初始优先级越高。
[0019]在一个可能的实施方式中,所述基于每张所述完整数据表对应的所述等待时间和所述初始优先级,确定每张所述完整数据表对应的目标优先级,包括:
[0020]针对每张所述完整数据表,在所述完整数据表对应的所述等待时间未超过预设时长的情况下,将所述完整数据表对应的所述初始优先级确定为所述目标优先级;
[0021]在所述完整数据表对应的所述等待时间超过预设时长的情况下,调高所述完整数据表对应的初始优先级得到所述目标优先级。
[0022]在一个可能的实施方式中,所述基于所述数据表标识在分布式数据库中获取所述待迁移数据表对应的至少两张分片数据表,包括:
[0023]基于所述数据表标识在所述分布式数据库中查找所述待迁移数据表对应的至少两张分片数据表,确定查找到的至少两张所述分片数据表的数量;
[0024]利用所述数量个采集线程并行在所述分布式数据库中采集至少两张所述分片数据表,其中,所述采集线程与所述分片数据表一一对应。
[0025]在一个可能的实施方式中,所述将所述完整数据表迁移至所述目标数据库,包括:
[0026]获取所述完整数据表对应的日志文件,所述日志文件用于记录所述完整数据表中每个数据对应的写入信息;
[0027]基于每个所述数据对应的所述写入信息,将所有所述数据写入所述目标数据库。
[0028]第二方面,提供了一种数据库的数据迁移装置,所述装置包括:
[0029]第一获取模块,用于针对每张待迁移数据表,获取所述待迁移数据表的数据表标识;
[0030]第二获取模块,用于基于所述数据表标识在分布式数据库中获取所述待迁移数据表对应的至少两张分片数据表;
[0031]迁移模块,用于合并至少两张所述分片数据表得到对应的完整数据表,并将所述完整数据表迁移至目标数据库。
[0032]在一个可能的实施方式中,所述迁移模块,具体用于:
[0033]将所述完整数据表传输至消息队列中,以通过所述消息队列将所述完整数据表传输至所述目标数据库。
[0034]在一个可能的实施方式中,所述迁移模块,还用于:
[0035]获取所述消息队列中每张所述完整数据表对应的等待时间和初始优先级;
[0036]基于每张所述完整数据表对应的所述等待时间和所述初始优先级,确定每张所述完整数据表对应的目标优先级;
[0037]控制所述消息队列按照所述目标优先级将每张所述完整数据表传输至所述目标数据库。
[0038]在一个可能的实施方式中,所述迁移模块,还用于:
[0039]针对每张所述完整数据表,获取所述完整数据表所对应的待迁移数据表的历史操作次数;
[0040]基于所述历史操作次数确定所述完整数据表对应的所述初始优先级,其中,所述历史操作次数越多,则所述初始优先级越高。
[0041]在一个可能的实施方式中,所述迁移模块,还用于:
[0042]针对每张所述完整数据表,在所述完整数据表对应的所述等待时间未超过预设时长的情况下,将所述完整数据表对应的所述初始优先级确定为所述目标优先级;
[0043]在所述完整数据表对应的所述等待时间超过预设时长的情况下,调高所述完整数据表对应的初始优先级得到所述目标优先级。
[0044]在一个可能的实施方式中,所述第二获取模块,具体用于:
[0045]基于所述数据表标识在所述分布式数据库中查找所述待迁移数据表对应的至少两张分片数据表,确定查找到的至少两张所述分片数据表的数量;
[0046]利用所述数量个采集线程并行在所述分布式数据库中采集至少两张所述分片数据表,其中,所述采集线程与所述分片数据表一一对应。
[0047]在一个可能的实施方式中,所述迁移模块,还用于:
[0048]获取所述完整数据表对应的日志文件,所述日志文件用于记录所述完整数据表中每个数据对应的写入信息;
[0049]基于每个所述数据对应的所述写入信息,将所有所述数据写入所述目标数据库。
[0050]第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0051]存储器,用于存放计算机程序;
[0052]处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。
...

【技术保护点】

【技术特征摘要】
1.一种数据库的数据迁移方法,其特征在于,所述方法包括:针对每张待迁移数据表,获取所述待迁移数据表的数据表标识;基于所述数据表标识在分布式数据库中获取所述待迁移数据表对应的至少两张分片数据表;合并至少两张所述分片数据表得到对应的完整数据表,并将所述完整数据表迁移至目标数据库。2.根据权利要求1所述的方法,其特征在于,所述将所述完整数据表迁移至所述目标数据库,包括:将所述完整数据表传输至消息队列中,以通过所述消息队列将所述完整数据表传输至所述目标数据库。3.根据权利要求2所述的方法,其特征在于,所述通过所述消息队列将所述完整数据表传输至所述目标数据库,包括:获取所述消息队列中每张所述完整数据表对应的等待时间和初始优先级;基于每张所述完整数据表对应的所述等待时间和所述初始优先级,确定每张所述完整数据表对应的目标优先级;控制所述消息队列按照所述目标优先级将每张所述完整数据表传输至所述目标数据库。4.根据权利要求3所述的方法,其特征在于,通过以下步骤获取每张所述完整数据表对应的初始优先级:针对每张所述完整数据表,获取所述完整数据表所对应的待迁移数据表的历史操作次数;基于所述历史操作次数确定所述完整数据表对应的所述初始优先级,其中,所述历史操作次数越多,则所述初始优先级越高。5.根据权利要求3所述的方法,其特征在于,所述基于每张所述完整数据表对应的所述等待时间和所述初始优先级,确定每张所述完整数据表对应的目标优先级,包括:针对每张所述完整数据表,在所述完整数据表对应的所述等待时间未超过预设时长的情况下,将所述完整数据表对应的所述初始优先级确定为所述目标优先级;在所述完整数据表对应的所述等待时间超过预设时长的情况下,调高所述完整数据表对应的初...

【专利技术属性】
技术研发人员:邢沛丰
申请(专利权)人:金篆信科有限责任公司
类型:发明
国别省市:

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

1