数据迁移方法技术

技术编号:39860931 阅读:8 留言:0更新日期:2023-12-30 12:55
本申请提供了一种数据迁移方法

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


[0001]本申请涉及数据库
,特别涉及一种数据迁移方法

装置

设备及存储介质


技术介绍

[0002]随着数据库技术的发展,出现了多种多样的数据库

而数据库之间存在数据迁移的需求

现有技术中,一般仅能够在
Oracle、MySQL、Microsoft SQL Server
等关系型数据库之间进行数据迁移,而无法将非关系型数据库的数据迁移到关系型数据库

因此,需要一种数据迁移方法,来实现数据从非关系型数据库到关系型数据库的迁移


技术实现思路

[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]基于所述第二字段类型的多项数据和所述非关系型数据库中第一字段类型以外的数据中每项数据的字段名称和字段类型,生成第一结构化查询语言
SQL
语句,第一
SQL
语句用于建立关系型数据库的表结构,所述表结构包括每项数据的字段名称和字段类型;
[0029]基于所述第二字段类型的多项数据和所述非关系型数据库中第一字段类型以外的数据中每项数据的字段名称和数据内容,生成第二
SQL
语句,所述第二
SQL
语句用于将每项数据的数据内容插入所述表结构;
[0030]运行所述第一
SQL
语句和所述第二
SQL
语句,以将所述第二字段类型的多项数据和所述非关系型数据库中第一字段类型以外的数据添加到关系型数据库中

[0031]在一些实施例中,所述基于所述第二字段类型的多项数据和所述非关系型数据库中第一字段类型以外的数据中每项数据的字段名称和字段类型,生成第一结构化查询语言
SQL
语句,包括:
[0032]基于所述第二字段类型的多项数据和所述非关系型数据库中第一字段类型以外的数据中每项数据的字段名称,生成字段集,所述字段集包括多个字段名称;
[0033]基于所述字段集中每个字段名称和每个字段名称对应的字段类型,建立第二对应
关系,所述第二对应关系包括多个字段名称和所述多个字段名称对应的字段类型;
[0034]基于所述第二对应关系,生成第一
SQL
语句,所述第一
SQL
语句包括多个字段名称和所述多个字段名称对应的字段类型

[0035]在一些实施例中,所述方法还包括:
[0036]将所述非关系型数据库中的多项数据删除

[0037]另一方面,提供了一种数据迁移装置,所述装置包括:
[0038]获取模块,用于获取非关系型数据库中的多项数据和所述多项数据的字段类型;
[0039]确定模块,用于基于所述多项数据的字段类型,从所述多项数据中确定第一字段类型的多项数据,所述第一字段类型为关系型数据库不支持的字段类型;
[0040]转换模块,用于对所述第一字段类型的多项数据进行字段类型转换,得到第二字段类型的多项数据,所述第二字段类型为关系型数据库支持的字段类型;...

【技术保护点】

【技术特征摘要】
1.
一种数据迁移方法,其特征在于,所述方法包括:获取非关系型数据库中的多项数据和所述多项数据的字段类型;基于所述多项数据的字段类型,从所述多项数据中确定第一字段类型的多项数据,所述第一字段类型为关系型数据库不支持的字段类型;对所述第一字段类型的多项数据进行字段类型转换,得到第二字段类型的多项数据,所述第二字段类型为关系型数据库支持的字段类型;将所述第二字段类型的多项数据和所述非关系型数据库中第一字段类型以外的数据添加到关系型数据库中
。2.
根据权利要求1所述的方法,其特征在于,所述第一字段类型包括多种子字段类型,所述对所述第一字段类型的多项数据进行字段类型转换,得到第二字段类型的多项数据,包括:对于所述第一字段类型的多项数据中任一子字段类型的数据,基于所述子字段类型和第一对应关系,确定所述子字段类型对应的第二字段类型,所述第一对应关系包括多种子字段类型和多种子字段类型分别对应的第二字段类型;基于所述子字段类型对应的第二字段类型,对所述子字段类型的数据进行字段类型转换,得到所述子字段类型对应的第二字段类型的数据
。3.
根据权利要求1所述的方法,其特征在于,所述第一字段类型包括对象数组类型,对象数组类型的数据包括以数组方式排列的多项子数据,所述多项子数据由对象的字段名称和对象的多个值组成;所述对所述第一字段类型的多项数据进行字段类型转换,得到第二字段类型的多项数据,包括:对于对象数组类型的数据,将所述多项子数据中多个值的字段类型转换为字符串类型;组合所述对象的字段名称和所述字符串类型的多个值,得到第二字段类型的数据
。4.
根据权利要求1所述的方法,其特征在于,所述第一字段类型的数据包括标识,所述标识用于指示字段类型;所述对所述第一字段类型的多项数据进行字段类型转换,得到第二字段类型的多项数据,包括:将所述第一字段类型的数据包括的标识去除,得到第二字段类型的数据
。5.
根据权利要求4所述的方法,其特征在于,所述将所述第一字段类型的数据包括的标识去除,得到第二字段类型的数据,包括:在所述标识指示的字段类型不是第一字段类型的情况下,将所述第一字段类型的数据包括的标识去除,得到第二字段类型的数据
。6.
根据权利要求4所述的方法,其特征在于,所述方法还包括:在所述标识指示的字段类型是第一字段类型的情况下,将所述第一字段类型的数据包括的标识去除,且对剩余的数据进行字段类型转换,得到第二字段类型的数据
。7.
根据权利要求1所述的方法,其特征在于,所述第一字段类型包括布尔类型,所述布尔类型的数据为第一布尔值或第二布尔值;所述对所述第一字段类型的多项数据进行字段类型转换,得到第二字段类型的多项数
据,包括:在所述布尔类型的数据为第一布尔值的情况下,将所述布尔类型的数据转换为数值类型的第一数值;在所述布尔类型的数据为第二布尔值的情况下,将所述布尔类型的数据转换为数值类型的第二数值
。8.
根据权利要求1所述的方法,其特征在于,每项数据包括字段名称和数据内容,所述字段名称用于指示所述数据内容的属性,所述将所述第二字段类型的多项数据和所述非关系型数据库中第一字段类型以外的数据添加到关系型数据库中,包括:基于所述第二字段类型的多项数据和所述非关系型数据库中第一字段类型以外的数据中每项数...

【专利技术属性】
技术研发人员:李良斌
申请(专利权)人:北京声智科技有限公司
类型:发明
国别省市:

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

1