System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据库,提供一种数据迁移方法、装置、设备及介质。
技术介绍
1、datax是一个开源的被广泛使用的离线数据同步工具/平台,实现了各种异构数据源之间高效的数据同步功能,例如:mysql、oracle、oceanbase、sqlserver、postgre、hdfs、hive、ads、hbase、tablestore(ots)、maxcompute(odps)、hologres、drds、databend等。
2、datax-web是一个b/s架构的,它建立在datax之上,为开发人员提供了更简便的数据源管理、迁移任务管理、迁移配置文件在线编辑、任务超时控制、失败自动重试、在线配置java虚拟机(jvm)参数等功能,但不支持迁移表结构和一些国产数据库。
技术实现思路
1、本申请实施例提供一种数据迁移方法、装置、设备及介质,用于解决datax-web不支持表结构迁移的问题。
2、第一方面,提供一种数据迁移方法,应用数据同步工具datax-web中,所述数据迁移方法包括:
3、获取待迁移数据的相关信息;所述相关信息包括是否进行表结构迁移的指示信息;
4、若所述指示信息指示进行表结构迁移,则通过所述数据同步工具datax-web的统一接口调用源数据库的插件,获取所述源数据库的表结构信息;所述源数据库的插件是根据所述源数据库的操作方法定义的;
5、通过所述统一接口调用目标数据库的插件,根据所述源数据库的表结构信息,在所述目标
6、将所述待迁移数据从所述源数据库迁移至所述目的表。
7、可选的,在获取待迁移数据的相关信息之前,所述数据迁移方法还包括:
8、根据多个数据库中每个数据库的语法,编写每个数据库对应的sql语句;
9、对每个数据库对应的sql语句进行打包,获得每个数据库的插件。
10、可选的,所述多个数据库包括所述数据同步工具datax-web支持的多个第一类数据库;所述根据多个数据库中每个数据库的语法,编写每个数据库对应的sql语句,包括:
11、根据每个所述第一类数据库的语法,编写每个所述第一类数据库对应的第一sql语句;所述第一sql语句包括操作表结构信息的sql语句。
12、可选的,所述多个数据库包括所述数据同步工具datax-web不支持的多个第二类数据库;所述根据多个数据库中每个数据库的语法,编写每个数据库对应的sql语句,包括:
13、根据每个所述第二类数据库的语法,编写每个所述第二类数据库对应的第二sql语句;所述第二sql语句包括操作表结构信息的sql语句、操作表数据的sql语句、返回错误的sql语句;所述错误用于指示所述待迁移数据迁移失败的原因。
14、可选的,所述相关信息包括源数据库的类型;所述将所述待迁移数据从所述源数据库迁移至所述目的表,包括:
15、根据所述源数据库的类型,若确定所述源数据库属于所述第二类数据库,则通过所述统一接口调用所述源数据库的插件,从所述源数据库读取所述待迁移数据;
16、将所述待迁移数据写入所述目的表。
17、可选的,所述相关信息包括目标数据库的类型;所述将所述待迁移数据写入所述目的表,包括:
18、根据所述目标数据库的类型,若确定所述目标数据库属于所述第二类数据库,则通过所述统一接口调用所述目标数据库的插件,将所述待迁移数据写入所述目的表。
19、可选的,在将所述待迁移数据迁移至所述目的表之后,所述数据迁移方法还包括:
20、若迁移失败,则返回来自所述源数据库和/或所述目标数据库的错误。
21、第二方面,提供一种数据迁移装置,该数据迁移装置设置于所述数据同步工具datax-web中,所述数据迁移装置包括:
22、相关信息获取模块,用于获取待迁移数据的相关信息;所述相关信息包括是否进行表结构迁移的指示信息;
23、表结构信息获取模块,用于若所述指示信息指示进行表结构迁移,则通过所述datax-web的统一接口调用源数据库的插件,获取所述源数据库的表结构信息;所述源数据库的插件是根据所述源数据库的操作方法定义的;
24、表结构迁移模块,用于通过所述统一接口调用目标数据库的插件,根据所述源数据库的表结构信息,在所述目标数据库中创建目的表;所述目标数据库的插件是根据所述目标数据库的操作方法定义的;
25、表数据迁移模块,用于将所述待迁移数据迁移至所述目的表。
26、第三方面,本申请提供了一种计算机设备,该计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,实现第一方面中所述的数据迁移方法。
27、第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,处理器执行所述计算机程序,实现第一方面中所述的数据迁移方法。
28、与现有技术相比,本申请实施例的有益效果如下:
29、本申请实施例提供一种数据迁移方法,该方法应用数据同步工具datax-web中,该方法包括:获取待迁移数据的相关信息;相关信息包括是否进行表结构迁移的指示信息;若指示信息指示进行表结构迁移,则通过datax-web的统一接口调用源数据库的插件,获取源数据库的表结构信息;源数据库的插件是根据源数据库的操作方法定义的;通过统一接口调用目标数据库的插件,根据源数据库的表结构信息,在目标数据库中创建目的表;目标数据库的插件是根据目标数据库的操作方法定义的;将待迁移数据迁移至目的表。该方法通过datax-web的统一接口调用源数据库和目标数据库的插件,可以读取和写入表结构信息,从而使datax-web实现表结构迁移。这种插件式的设计,为datax-web提供插件式的驱动配置,即使后续数据库版本发生变更,只需要修改各个数据库的插件对应的jar逻辑,无需更改datax-web代码,对现有datax-web代码侵入性低。
本文档来自技高网...【技术保护点】
1.一种数据迁移方法,其特征在于,应用数据同步工具DATAX-WEB中,所述数据迁移方法包括:
2.如权利要求1所述的数据迁移方法,其特征在于,在获取待迁移数据的相关信息之前,所述数据迁移方法还包括:
3.如权利要求2所述的数据迁移方法,其特征在于,所述多个数据库包括所述数据同步工具DATAX-WEB支持的多个第一类数据库;所述根据多个数据库中每个数据库的语法,编写每个数据库对应的SQL语句,包括:
4.如权利要求2所述的数据迁移方法,其特征在于,所述多个数据库包括所述数据同步工具DATAX-WEB不支持的多个第二类数据库;所述根据多个数据库中每个数据库的语法,编写每个数据库对应的SQL语句,包括:
5.如权利要求4所述的数据迁移方法,其特征在于,所述相关信息包括源数据库的类型;所述将所述待迁移数据从所述源数据库迁移至所述目的表,包括:
6.如权利要求5所述的数据迁移方法,其特征在于,所述相关信息包括目标数据库的类型;所述将所述待迁移数据写入所述目的表,包括:
7.如权利要求4所述的数据迁移方法,其特征在于,
8.一种数据迁移装置,其特征在于,所述数据迁移装置设置于所述数据同步工具DATAX-WEB中,所述数据迁移装置包括:
9.一种计算机设备,其特征在于,该计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,实现如权利要求1-7中任一项所述的数据迁移方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,处理器执行所述计算机程序,实现如权利要求1-7中任一项所述的数据迁移方法。
...【技术特征摘要】
1.一种数据迁移方法,其特征在于,应用数据同步工具datax-web中,所述数据迁移方法包括:
2.如权利要求1所述的数据迁移方法,其特征在于,在获取待迁移数据的相关信息之前,所述数据迁移方法还包括:
3.如权利要求2所述的数据迁移方法,其特征在于,所述多个数据库包括所述数据同步工具datax-web支持的多个第一类数据库;所述根据多个数据库中每个数据库的语法,编写每个数据库对应的sql语句,包括:
4.如权利要求2所述的数据迁移方法,其特征在于,所述多个数据库包括所述数据同步工具datax-web不支持的多个第二类数据库;所述根据多个数据库中每个数据库的语法,编写每个数据库对应的sql语句,包括:
5.如权利要求4所述的数据迁移方法,其特征在于,所述相关信息包括源数据库的类型;所述将所述待迁移数据从所述源数据库迁移...
【专利技术属性】
技术研发人员:王汉瑛,罗杰,曹茜,吴生勇,苏德财,梅杰,李文彬,曾彬,冯治龙,
申请(专利权)人:成都虚谷伟业科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。