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

技术编号:33621526 阅读:14 留言:0更新日期:2022-06-02 00:45
本公开涉及数据库迁移方法、装置、存储介质和电子设备,上述方法建立映射模型,所述映射模型用于将源数据库的数据项信息一一对应的转换为目标数据库中的数据项信息,所述数据项信息包括下述至少之一:库名、表名、字段类型和字段名称,所述源数据库和所述目标数据库为异构数据库;根据所述映射模型,将所述源数据库的全量数据写入所述目标数据库;响应于在写入过程中接收到所述源数据库的增量数据日志的情况,根据所述增量数据日志变更所述目标数据库。本公开可以直接进行异构数据库之间的数据迁移,能够根据增量数据日志实时更新目标数据库,实现数据同步。实现数据同步。实现数据同步。

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


[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]应当本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库迁移方法,其特征在于,所述方法包括:建立映射模型,所述映射模型用于将源数据库的数据项信息一一对应的转换为目标数据库中的数据项信息,所述数据项信息包括下述至少之一:库名、表名、字段类型和字段名称,所述源数据库和所述目标数据库为异构数据库;根据所述映射模型,将所述源数据库的全量数据写入所述目标数据库;响应于在写入过程中接收到所述源数据库的增量数据日志的情况,根据所述增量数据日志变更所述目标数据库。2.根据权利要求1所述的方法,其特征在于,根据所述增量数据日志变更所述目标数据库,包括:对所述增量数据日志进行过滤,得到第一缓存文件,所述第一缓存文件包括所述增量数据日志中数据库管理语言对应的语句;针对所述第一缓存文件中的每一目标数据变更记录,对所述目标数据变更记录进行记录内部合并,得到第二缓存文件,每一所述目标数据变更记录包括至少两个关联数据变更记录,所述至少两个关联数据变更记录用于记录对具备相同主键的数据记录的数据变更操作;响应于写入完成的情况,基于所述第二缓存文件,变更所述目标数据库。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:将所述第二缓存文件中的第一数据记录利用第一线程写入所述目标数据库;将所述第二缓存文件中的第二数据记录利用第二线程写入所述目标数据库;其中,所述第一数据记录中的任一数据变更记录与所述第二数据记录中的任一数据变更记录指向不同主键对应的数据记录;所述第二线程与所述第一线程不同,并且所述第二线程和所述第一线程异步运行。4.根据权利要求1至3中至少一项所述的方法,其特征在于,所述方法还包括:实时核对所述源数据库的数据表和对应迁移到所述目标数据库的数据表的行数是否一致;若所述行数不一致,判断核对所述行数的当前时间是否在预设的核对时间窗口内;若所述核对所述行数的当前时间在所述核对时间窗口内,继续核对所述源数据库的数据表和对应迁移到所述目标数据库的数据表的行数;若所述核对所述行数的当前时间不在所述核对时间窗口内,输出第一核对结果,所述第一核对结果包括行数的核对结果。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:若所述行数一致,核对所述源数据库的数据表和对应迁移到所述目标数据库的数据表的数据内容是否一致;若所述数据内容不一致,判断核对所述数据内容的当前时间是否在所述核对时间窗口内;若所述核对所述数据内容的当前时间在所述核对时间窗口内,继续核对所述源数据库的数据表和对应迁移到所述目标数据库的数据表的行数;若所述核对所述数据内容的当前时间不处于所述核对时间窗口内,输出第二核对结果,所述第二核对结果包括行数的核对结果和数据内容的核对结果。
6.根据权利要求2所述的方法,其特征在于,所述针对所述第一缓存文件中的每一目标数据变...

【专利技术属性】
技术研发人员:应章豪孔万群周涛明邵幸丽
申请(专利权)人:连连杭州信息技术有限公司
类型:发明
国别省市:

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

1