本发明涉及异构数据库迁移以及国产化数据改造,具体为一种异构数据库表结构转换方法及系统。
背景技术:
1、目前,企业在进行异构数据库迁移时,会对源端及目标端的表字段类型进行一一映射。当源端和目标端的数据库类型很少时,这种方式尚且可行。当源端和目标端数据库类型较多时,源端和目标端每次新增加数据库类型时,都需要分别对多个源端或目标端进行映射适配,造成工作量剧增且映射关系网复杂不易维护。
2、综上所述,本发明通过设计一种异构数据库表结构转换方法及系统来解决存在的问题。
技术实现思路
1、为了解决异构数据库迁移表结构映射关系复杂且映射工作量大的问题,本发明创造了一种异构数据库表结构转换方法,该方法能做到源端或目标端数据库表字段数据类型只需要做一次映射即可与源端或目标端的所有类型的数据库进行表结构转换。
2、为实现上述目的,本发明提供如下技术方案:
3、一种异构数据库表结构转换方法,其特征在于,包括以下具体步骤:
4、s1,根据源数据库类型实现源端映射接口形成源端转换插件;
5、s2,根据目标数据库类型实现目标端映射接口形成目标端转换插件;
6、s3,通过与源数据建立查询链接,获取源数据库待迁移表的列数据字段的元数据信息;
7、s4,根据源数据库类型获取已经开发好的源端转换插件,通过源端插件将源数据表的列数据字段转化为自定义中间数据字段,并且根据目标端数据库类型获取已经开发好的目标端转换插件,通过目标端插件将自定义中间数据字段转换为目标库列数据字段,从而根据源端和目标端数据库类型找到对应插件生成目标端数据库创建表ddl。
8、作为本发明优选的方案,所述元数据信息包含但不仅限于字段名称、字段类型、字段长度、默认值、编码、是否自增、是否允许为空属性。
9、一种异构数据库表结构转换系统,包括:数据库元数据信息获取模块、中间数据字段定义模块、源数据库数据字段映射模块、目标数据库数据字段映射模块和建表ddl语句生成模块。
10、作为本发明优选的方案,所述数据库元数据信息获取模块,用于获取源数据库待迁移表的数据列信息。
11、作为本发明优选的方案,所述中间数据字段定义模块,用于定义中间数据字段的属性。
12、作为本发明优选的方案,所述源数据库数据字段映射模块,用于定义源数据库数据字段映射接口,该接口定义了源数据库必须实现的功能标准,用于将源数据库的数据字段映射转换为中间数据字段。
13、作为本发明优选的方案,所述目标数据库数据字段映射模块,用于定义目标端数据字段映射接口,该接口定义了目标数据库必须实现的功能标准,用于将中间数据字段映射转换为目标数据库数据字段。
14、作为本发明优选的方案,所述建表ddl语句生成模块,用于根据转化后的目标数据库字段生成建表ddl并在目标库执行。
15、与现有技术相比,本发明的有益效果是:
16、本发明中,通过设计一种异构数据库表结构转换方法及系统针对异构数据库迁移场景下表结构转换问题,实现一种数据结构转换工具,能够一键式的进行异构数据库表结构转换,并实现了源端和目标端的插件式开发,简化了源端和目标端数据字段映射关系梳理,从而可以大大降低多种异构数据库迁移场景下表结构转换复杂度及工作量。
1.一种异构数据库表结构转换方法,其特征在于,包括以下具体步骤:
2.根据权利要求1所述的一种异构数据库表结构转换方法,其特征在于:所述元数据信息包含但不仅限于字段名称、字段类型、字段长度、默认值、编码、是否自增、是否允许为空属性。
3.一种异构数据库表结构转换系统,包括:数据库元数据信息获取模块、中间数据字段定义模块、源数据库数据字段映射模块、目标数据库数据字段映射模块和建表ddl语句生成模块。
4.根据权利要求3所述的一种异构数据库表结构转换系统,其特征在于:所述数据库元数据信息获取模块,用于获取源数据库待迁移表的数据列信息。
5.根据权利要求3所述的一种异构数据库表结构转换系统,其特征在于:所述中间数据字段定义模块,用于定义中间数据字段的属性。
6.根据权利要求3所述的一种异构数据库表结构转换系统,其特征在于:所述源数据库数据字段映射模块,用于定义源数据库数据字段映射接口,该接口定义了源数据库必须实现的功能标准,用于将源数据库的数据字段映射转换为中间数据字段。
7.根据权利要求3所述的一种异构数据库表结构转换系统,其特征在于:所述目标数据库数据字段映射模块,用于定义目标端数据字段映射接口,该接口定义了目标数据库必须实现的功能标准,用于将中间数据字段映射转换为目标数据库数据字段。
8.根据权利要求3所述的一种异构数据库表结构转换系统,其特征在于:所述建表ddl语句生成模块,用于根据转化后的目标数据库字段生成建表ddl并在目标库执行。