数据库迁移方法、装置、计算机可读存储介质及电子设备与流程

专利2023-10-30  92



1.本技术涉及数据库技术领域,尤其涉及一种数据库迁移方法、装置、电子证照系统、计算机可读存储介质及电子设备。


背景技术:

2.在数据爆炸的今天,人们在日常生活和工作中使用并产生了大量的数据,为此通常使用各种数据库来进行海量数据的存储和管理。随着数据量的持续增多,用户原先购买的数据库的容量可能不够,或者原有数据库的性能已经不能满足用户当下以及未来的需求,因此就会产生数据库之间的迁移。但是由于数据库通常是由各个数据存储服务提供商自行开发,因此在规格和使用要求上都具有各自的特点,因此在数据库迁移时需要考虑不同数据库的要求来选择适合的迁移方式。这大大阻碍了数据库的推广和使用。因此,需要一种能够方便快捷地进行不同数据库之间的迁移的技术方案。


技术实现要素:

3.本技术实施例提供一种数据库迁移方法、装置、计算机可读存储介质及电子设备,以消除了对于数据库厂商的依赖性,实现了多类型多版本数据库之间的迁移的普遍适用性。
4.为达到上述目的,本技术实施例提供了一种数据库迁移方法,包括:
5.获取数据库迁移请求,其中,所述数据库迁移请求中包含有源数据库信息和目标数据库信息;
6.根据所述源数据库信息从所述源数据库获取源数据库语法数据;
7.根据所述目标数据库信息,对所述源数据库语法数据进行转换,以生成对应于所述目标数据库信息的目标语法数据;
8.使用所述目标语法数据,对所述源数据库中的存储数据生成所述目标数据库中的目标存储数据;
9.将所述目标存储数据存储到所述目标数据库中。
10.根据本技术实施例的数据库迁移方法中,根据所述目标数据库信息,对所述源数据库语法数据进行转换,以生成对应于所述目标数据库信息的转换语法数据包括:
11.使用预设的第一转换器对所述源数据库语法数据进行转换以生成基础语法数据;
12.使用预设的第二转换器对所述基础语法数据进行转换以生成所述目标语法数据。
13.根据本技术实施例的数据库迁移方法中,使用所述目标语法数据,对所述源数据库中的存储数据生成所述目标数据库中的目标存储数据包括:
14.从所述源数据库逐条获取存储数据;
15.使用所述目标语法数据对获取到的每条存储数据生成目标存储数据。
16.根据本技术实施例的数据库迁移方法中,所述根据所述目标数据库信息,对所述源数据库语法数据进行转换,以生成对应于所述目标数据库信息的目标语法数据还包括:
17.对预设的转换文件进行解析,以获取所述第一转换器和第二转换器。
18.根据本技术实施例的数据库迁移方法,其中,在所述根据所述源数据库信息从所述源数据库获取源数据库语法数据之前,所述方法还包括:
19.使用java数据库连接协议连接到所述源数据库。
20.根据本技术实施例的数据库迁移方法,其中,在所述使用所述目标语法数据,对所述源数据库中的存储数据生成所述目标数据库中的目标存储数据之前,所述方法还包括:
21.测试与所述源数据库和目标数据库的连接;
22.根据预设的转换文件对所述源数据库和所述目标数据库的语法脚本进行测试。
23.本技术实施例还提供了一种数据库迁移装置,包括:
24.请求获取模块,用于获取数据库迁移请求,其中,所述数据库迁移请求中包含有源数据库信息和目标数据库信息;
25.语法获取模块,用于根据所述源数据库信息从所述源数据库获取源数据库语法数据;
26.转换模块,用于根据所述目标数据库信息,对所述源数据库语法数据进行转换,以生成对应于所述目标数据库信息的目标语法数据;
27.生成模块,用于使用所述目标语法数据,对所述源数据库中的存储数据生成所述目标数据库中的目标存储数据;
28.存储模块,用于将所述目标存储数据存储到所述目标数据库中。
29.根据本技术实施例的数据库迁移装置中,所述转换模块包括:第一转换器和第二转换器,其中,
30.所述第一转换器用于对所述源数据库语法数据进行转换以生成基础语法数据;
31.所述第二转换器用于对所述基础语法数据进行转换以生成所述目标语法数据。
32.本技术实施例还提供了一种计算机可读存储介质,其上存储有可被处理器执行的计算机程序,其中,所述程序被处理器执行时实现如本技术实施例提供的集群中的数据库迁移方法。
33.本技术实施例还提供了一种电子设备,包括:
34.存储器,用于存储程序;
35.处理器,用于运行所述存储器中存储的所述程序,以执行如本技术实施例提供的集群中的数据库迁移方法。
36.本技术实施例提供的数据库迁移方法、装置、计算机可读存储介质及电子设备,通过根据用户的数据库迁移请求中的源数据库信息从源数据库获取源数据库语法数据,并根据目标数据库信息,对源数据库语法数据进行转换,以生成对应于目标数据库信息的目标语法数据,因此,可以使用目标语法数据,对源数据库中的各条存储数据生成目标数据库中的目标存储数据。因此,通过根据目标数据库信息对源数据库的语法数据进行转换,获得了符合目标数据库的语法规范的语法数据,从而可以使用该语法数据来将源数据库中存储的数据生成目标数据库中的数据并存储在目标数据库中,这样通过对源数据库的语法数据的转换实现了不同类型不同版本的数据库之间的迁移,消除了对于数据库厂商的依赖,大大提高了用户更换数据库或升级数据库的便利性。
37.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,
而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
38.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
39.图1为本技术实施例提供的数据库迁移方案的应用场景示意图;
40.图2为本技术提供的数据库迁移方法一个实施例的流程图;
41.图3为本技术提供的数据库迁移装置一个实施例的结构示意图;
42.图4为本技术提供的电子设备实施例的结构示意图。
具体实施方式
43.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
44.本技术实施例提供的方案可应用于任何具有数据库能力的设备或系统等等。图1为本技术实施例提供的数据库迁移方案的应用场景示意图,图1所示的场景仅仅是本技术的技术方案可以应用的场景的示例之一。
45.人们在日常生活和工作中使用并产生了大量的数据,为此通常使用各种数据库来进行海量数据的存储和管理。随着数据量的持续增多,用户原先购买的数据库的容量可能不够,或者原有数据库的性能已经不能满足用户当下以及未来的需求,因此就会产生数据库之间的迁移。但是由于数据库通常是由各个数据存储服务提供商自行开发,因此在规格和使用要求上都具有各自的特点,因此在数据库迁移时需要考虑不同数据库的要求来选择适合的迁移方式。这大大阻碍了数据库的推广和使用。
46.用户在使用数据库存储数据时,随着数据存储量的增加,或者随着数据的存储方式或使用需求的变化,往往需要将原数据库的数据转移到新的数据库。由于当前使用的数据库不仅仅是对于数据的存储,而且往往还具有特定的管理系统,以满足用户对于数据的管理需求,因此,这样的数据库之间的迁移过程就不仅仅是将存储的数据本身复制到另外的数据库,而且还需要能够将整套的管理系统也同样迁移过程,从而用户可以以与原来数据库相同的方式直接对新的数据库进行操作。
47.现有技术中针对同类型的数据库迁移提出了由各个数据库提供方自行开发的迁移工具来进行自家类型的数据库之间的迁移,即用户需要根据自己使用的数据库所属的厂商,从该厂商获取迁移用的工具,并且按照该工具的使用要求来进行数据库之间的迁移,该方案严重依赖于开发数据库或提供数据库服务的厂商,并且如果用户的数据分散在多家不同厂商的数据库上,那么用户不仅需要学习和掌握各自厂商所开发的迁移工具的使用方式,而且还需要在存储数据时注意将数据区分存储在不同厂商的数据库上,这是因为各自厂商所提供的数据库开发工具只能用于该厂商的数据库之间的迁移,而无法在不同厂商的
数据库之间进行迁移。
48.此外,现有技术中还提出了基于存储机构的数据库迁移方案,其通过将源数据库中的数据文件、控制文件以及日志文件等全部复制到目标数据库中来实现源数据库到目标数据库的迁移,但是该方案仍然仅能够适用于同类型的数据库的迁移,如果目标数据库与源数据库的类型不同,那么目标数据库无法直接使用源数据库的控制文件以及日志文件等文件,并且该方案由于是对于源数据库的数据的直接复制,因此需要源数据库在复制过程中停机而不能够产生新的数据,以进行静态复制,这对于数据吞吐量较大的用户来说是无法接受的。
49.此外,在现有技术中还提出了基于主从备份方案的数据库迁移,但是该方案的实质是主从备份机制,并且实际上同样是由提供主数据库的厂商提供的,并且其从数据库仅是主数据库的数据备份,实际上并不是真正意义上的数据库迁移。
50.此外,现有技术中还提出了针对不同类型的数据库之间的迁移方案,但是该方案仅内置了预设的常规迁移流程,换言之,应用有该技术方案的工具仅支持开发者所预先针对性开发的数据库之间的迁移,而无法实现各种类型各种版本数据库的迁移的普适性。
51.为此,如图1中所示,图1是示出了根据本技术实施例的数据库迁移方案的应用场景的示意图。在图1中所示的场景中,用户可以通过向数据库管理系统下达数据库迁移指令来将源数据库a迁移到目标数据库b。在该过程中,数据库管理系统可以根据用户下达的数据库迁移指令中的源数据库的标识信息来获取源数据库的数据库信息,该数据库信息可以包括表结构、索引、数据库使用的函数以及表数据等。在获取了源数据库的源数据库信息之后,可以使用预设的数据库转换文件来将该源数据库信息转换为目标数据库能够使用的信息。例如,在本技术实施例中,可以针对不同的数据库以及不同的版本设置转换文件。该转换文件中可以记载数据库的数据类型、函数、索引以及建表、建索引、插入数据等规范写法。因此在本技术实施例中,可以使用该转换文件来实现数据库迁移过程中数据库信息的转换,从而达到支持各种数据库的目的。
52.在开始迁移之前,可以先对源数据库和目标数据库进行测试,例如可以测试与源数据库和目标数据库的连接,以确认源数据库和目标数据库的可连接性。例如,可以向源数据库和目标数据库分别发送连接测试消息,并且根据从源数据库和目标数据库返回的连接反馈消息来确认其可连接性。
53.特别地,在本技术实施例中,该转换文件只能由数据库转换系统的管理员修改,而使用该系统的用户则不具有修改的权限,从而确保了转换过程的安全性和可靠性。此外,该转换文件还支持不同数据库不同版本的核心,并且可以规定数据类型、函数、索引语法、建表语法、数据长度、字符集、大小写等语法规范。在本技术实施例中,可以在该转换文件中指定各种数据库类型、数据库版本以及数据库对应的jdbc驱动文件、连接方式,并且还可以指定不同数据类型与中转语法的对应关系,例如,常用的整数类型/小数类型/字符串类型/时间类型/二进制类型等。在该转换文件中还可以指定各个数据库的版本对应的数据库的关键字、获取表列表sql以及表结构语法等。
54.此外,在本技术实施例中,由于某些数据库可能在使用方式上与常用的大多数数据库稍有不同,但是对于这样的数据库的迁移过程,可以认为不影响迁移的数据库异常是可以忽略的。因此,还可以在该转换文件中添加一些异常忽略关键字,以便于在处理这样的
可忽略异常。
55.此外,在确认了转换文件之后,还可以根据源数据库和目标数据库的信息,分别测试源数据库和目标数据库的语法,以确认是否与转换文件中的语法类型匹配。
56.因此,在例如图1中所示的场景中,数据库转换系统可以在获取到用户的源数据库信息之后,对上述转换文件进行解析,从而实现源数据库到基础语法解析器(正向解析器)的转换,即,将源数据库语法转换为基础语法,并且之后可以通过基础语法到目标数据库解析器(逆向解析器)将基础语法转成目标数据库语法,从而实现数据库语法的转换。
57.之后,可以使用转换后的数据库语法来将源数据库中的数据逐条和/或逐表迁移到目标数据库中,从而完成了源数据库到目标数据库的迁移。
58.根据本技术实施例的数据库迁移方案,通过根据用户的数据库迁移请求中的源数据库信息从源数据库获取源数据库语法数据,并根据目标数据库信息,对源数据库语法数据进行转换,以生成对应于目标数据库信息的目标语法数据,因此,可以使用目标语法数据,对源数据库中的各条存储数据生成目标数据库中的目标存储数据。因此,通过根据目标数据库信息对源数据库的语法数据进行转换,获得了符合目标数据库的语法规范的语法数据,从而可以使用该语法数据来将源数据库中存储的数据生成目标数据库中的数据并存储在目标数据库中,这样通过对源数据库的语法数据的转换实现了不同类型不同版本的数据库之间的迁移,消除了对于数据库厂商的依赖,大大提高了用户更换数据库或升级数据库的便利性。
59.图2为本技术提供的数据库迁移方法一个实施例的流程图。如图2所示,该数据库迁移方法可以包括如下步骤:
60.s201,获取数据库迁移请求。
61.在步骤s201中,可以获取用户通过例如其正在使用的数据库的管理系统下达的数据库迁移请求。例如,用户可以通过登录到云端数据库管理界面来下达这样的数据库迁移请求。例如,该数据库迁移请求中可以包含有源数据库信息和目标数据库信息。在本技术实施例中,该数据库信息可以包括表结构、索引、数据库使用的函数以及表数据等。用户可以通过在迁移请求中输入源数据库的类型、网络地址、使用的端口、数据库名称、用户名以及密码等信息,或者用户也可以仅在请求中指定源数据库的网络地址和端口以及数据库名称等信息,并且由本技术实施例的迁移系统通过使用这些信息连接到源数据库来获取其他的信息。
62.s202,根据源数据库信息从源数据库获取源数据库语法数据。
63.在步骤s201中获取到了源数据库信息之后,可以使用这些信息登录到源数据库来获取源数据库中的语法数据。在本技术实施例中,语法数据可以是数据类型、函数、索引语法、建表语法、数据长度、字符集、大小写等语法规范。
64.s203,根据目标数据库信息,对源数据库语法数据进行转换,以生成对应于目标数据库信息的目标语法数据。
65.在步骤s203中,可以将该源数据库的语法数据转换为符合目标数据库的语法规范的语法数据。例如,在本技术实施例中,可以针对不同的数据库以及不同的版本设置转换文件。该转换文件中可以记载数据库的数据类型、函数、索引以及建表、建索引、插入数据等规范写法。因此在本技术实施例中,可以使用该转换文件来实现数据库迁移过程中数据库语
法数据的转换,从而达到支持各种数据库的目的。
66.特别地,在步骤s203中使用的转换文件可以是xml格式,并且可以只能由数据库转换系统的管理员修改,而使用该系统的用户则不具有修改的权限,从而确保了转换过程的安全性和可靠性。此外,该转换文件还可以支持不同数据库不同版本的核心,并且可以规定数据类型、函数、索引语法、建表语法、数据长度、字符集、大小写等语法规范。在本技术实施例中,可以在该转换文件中指定各种数据库类型、数据库版本以及数据库对应的jdbc驱动文件、连接方式,并且还可以指定不同数据类型与中转语法的对应关系,例如,常用的整数类型/小数类型/字符串类型/时间类型/二进制类型等。在该转换文件中还可以指定各个数据库的版本对应的数据库的关键字、获取表列表sql以及表结构语法等。
67.此外,在本技术实施例中,由于某些数据库可能在使用方式上与常用的大多数数据库稍有不同,但是对于这样的数据库的迁移过程,可以认为不影响迁移的数据库异常是可以忽略的。因此,还可以在该转换文件中添加一些异常忽略关键字,以便于在处理这样的可忽略异常。
68.在步骤s203中,还可以根据源数据库和目标数据库的信息,分别测试源数据库和目标数据库的语法,以确认是否与转换文件中的语法类型匹配。
69.因此在步骤s203中,可以在获取到用户的源数据库信息之后,对所使用的转换文件进行解析,从而实现源数据库到基础语法解析器(正向解析器)的转换,即,将源数据库语法转换为基础语法,并且之后可以通过基础语法到目标数据库解析器(逆向解析器)将基础语法转成目标数据库语法,从而实现数据库语法的转换。
70.此外,在步骤s203生成了目标语法数据之后,可以先对源数据库和目标数据库进行测试,例如可以测试与源数据库和目标数据库的连接,以确认源数据库和目标数据库的可连接性。例如,可以向源数据库和目标数据库分别发送连接测试消息,并且根据从源数据库和目标数据库返回的连接反馈消息来确认其可连接性。
71.s204,使用目标语法数据,对源数据库中的存储数据生成目标数据库中的目标存储数据。
72.s205,将目标存储数据存储到目标数据库中。
73.在步骤s204中可以使用步骤s203中生成的目标语法数据来对于源数据库中的数据逐条进行处理。例如,可以根据生成的目标语法结构创建目标表结构和索引,并将源数据库中的表数据逐条填充到目标表结构中,并且生成相应的索引数据,并在步骤s205中将填充有表数据的表结构和索引数据保存为目标数据库中。
74.根据本技术实施例的数据库迁移方法,通过根据用户的数据库迁移请求中的源数据库信息从源数据库获取源数据库语法数据,并根据目标数据库信息,对源数据库语法数据进行转换,以生成对应于目标数据库信息的目标语法数据,因此,可以使用目标语法数据,对源数据库中的各条存储数据生成目标数据库中的目标存储数据。因此,通过根据目标数据库信息对源数据库的语法数据进行转换,获得了符合目标数据库的语法规范的语法数据,从而可以使用该语法数据来将源数据库中存储的数据生成目标数据库中的数据并存储在目标数据库中,这样通过对源数据库的语法数据的转换实现了不同类型不同版本的数据库之间的迁移,消除了对于数据库厂商的依赖,大大提高了用户更换数据库或升级数据库的便利性。
75.图3为本技术提供的数据库迁移装置的一个实施例的结构示意图,可用于执行如图2所示的方法步骤。如图3所示,该数据库迁移装置可以包括:请求获取模块31、语法获取模块32、转换模块33、生成模块34和存储模块35。
76.请求获取模块31可以用于获取数据库迁移请求。
77.请求获取模块31可以获取用户通过例如其正在使用的数据库的管理系统下达的数据库迁移请求。例如,用户可以通过登录到云端数据库管理界面来下达这样的数据库迁移请求。例如,该数据库迁移请求中可以包含有源数据库信息和目标数据库信息。在本技术实施例中,该数据库信息可以包括表结构、索引、数据库使用的函数以及表数据等。用户可以通过在迁移请求中输入源数据库的类型、网络地址、使用的端口、数据库名称、用户名以及密码等信息,或者用户也可以仅在请求中指定源数据库的网络地址和端口以及数据库名称等信息,并且由本技术实施例的迁移系统通过使用这些信息连接到源数据库来获取其他的信息。
78.语法获取模块32可以用于根据源数据库信息从源数据库获取源数据库语法数据。
79.请求获取模块31获取到了源数据库信息之后,语法获取模块32可以使用这些信息登录到源数据库来获取源数据库中的语法数据。在本技术实施例中,语法数据可以是数据类型、函数、索引语法、建表语法、数据长度、字符集、大小写等语法规范。
80.转换模块33可以用于根据目标数据库信息,对源数据库语法数据进行转换,以生成对应于目标数据库信息的目标语法数据。
81.转换模块33可以将该源数据库的语法数据转换为符合目标数据库的语法规范的语法数据。例如,在本技术实施例中,可以针对不同的数据库以及不同的版本设置转换文件。该转换文件中可以记载数据库的数据类型、函数、索引以及建表、建索引、插入数据等规范写法。因此在本技术实施例中,可以使用该转换文件来实现数据库迁移过程中数据库语法数据的转换,从而达到支持各种数据库的目的。
82.特别地,转换模块33使用的转换文件可以是xml格式,并且可以只能由数据库转换系统的管理员修改,而使用该系统的用户则不具有修改的权限,从而确保了转换过程的安全性和可靠性。此外,该转换文件还可以支持不同数据库不同版本的核心,并且可以规定数据类型、函数、索引语法、建表语法、数据长度、字符集、大小写等语法规范。在本技术实施例中,可以在该转换文件中指定各种数据库类型、数据库版本以及数据库对应的jdbc驱动文件、连接方式,并且还可以指定不同数据类型与中转语法的对应关系,例如,常用的整数类型/小数类型/字符串类型/时间类型/二进制类型等。在该转换文件中还可以指定各个数据库的版本对应的数据库的关键字、获取表列表sql以及表结构语法等。
83.此外,在本技术实施例中,由于某些数据库可能在使用方式上与常用的大多数数据库稍有不同,但是对于这样的数据库的迁移过程,可以认为不影响迁移的数据库异常是可以忽略的。因此,还可以在该转换文件中添加一些异常忽略关键字,以便于在处理这样的可忽略异常。
84.转换模块33还可以根据源数据库和目标数据库的信息,分别测试源数据库和目标数据库的语法,以确认是否与转换文件中的语法类型匹配。
85.因此转换模块33可以在获取到用户的源数据库信息之后,对所使用的转换文件进行解析,从而实现源数据库到基础语法解析器(正向解析器)的转换,即,将源数据库语法转
换为基础语法,并且之后可以通过基础语法到目标数据库解析器(逆向解析器)将基础语法转成目标数据库语法,从而实现数据库语法的转换。
86.此外,在生成了目标语法数据之后,可以先对源数据库和目标数据库进行测试,例如可以测试与源数据库和目标数据库的连接,以确认源数据库和目标数据库的可连接性。例如,可以向源数据库和目标数据库分别发送连接测试消息,并且根据从源数据库和目标数据库返回的连接反馈消息来确认其可连接性。
87.生成模块34可以用于使用目标语法数据,对源数据库中的存储数据生成目标数据库中的目标存储数据。
88.存储模块35可以用于将目标存储数据存储到所述目标数据库中。
89.生成模块34可以使用生成的目标语法数据来对于源数据库中的数据逐条进行处理。例如,可以根据生成的目标语法结构创建目标表结构和索引,并将源数据库中的表数据逐条填充到目标表结构中,并且生成相应的索引数据,并在步骤s205中将填充有表数据的表结构和索引数据保存为目标数据库中。
90.根据本技术实施例的数据库迁移装置,通过根据用户的数据库迁移请求中的源数据库信息从源数据库获取源数据库语法数据,并根据目标数据库信息,对源数据库语法数据进行转换,以生成对应于目标数据库信息的目标语法数据,因此,可以使用目标语法数据,对源数据库中的各条存储数据生成目标数据库中的目标存储数据。因此,通过根据目标数据库信息对源数据库的语法数据进行转换,获得了符合目标数据库的语法规范的语法数据,从而可以使用该语法数据来将源数据库中存储的数据生成目标数据库中的数据并存储在目标数据库中,这样通过对源数据库的语法数据的转换实现了不同类型不同版本的数据库之间的迁移,消除了对于数据库厂商的依赖,大大提高了用户更换数据库或升级数据库的便利性。
91.以上描述了电子证照系统的内部功能和结构,该装置可实现为一种电子设备。图4为本技术提供的电子设备实施例的结构示意图。如图4所示,该电子设备包括存储器41和处理器42。
92.存储器41,用于存储程序。除上述程序之外,存储器41还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
93.存储器41可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
94.处理器42,不仅仅局限于中央处理器(cpu),还可能为图形处理器(gpu)、现场可编辑门阵列(fpga)、嵌入式神经网络处理器(npu)或人工智能(ai)芯片等处理芯片。处理器42,与存储器41耦合,执行存储器41所存储的程序,该程序运行时执行上述实施例的数据库迁移方法。
95.进一步,如图4所示,电子设备还可以包括:通信组件43、电源组件44、音频组件45、显示器46等其它组件。图4中仅示意性给出部分组件,并不意味着电子设备只包括图4所示组件。
96.通信组件43被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如wifi、3g、4g或5g,或它们的组合。在一个示例性实施例中,通信组件43经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件43还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
97.电源组件44,为电子设备的各种组件提供电力。电源组件44可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
98.音频组件45被配置为输出和/或输入音频信号。例如,音频组件45包括一个麦克风(mic),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器41或经由通信组件43发送。在一些实施例中,音频组件44还包括一个扬声器,用于输出音频信号。
99.显示器46包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
100.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
101.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

技术特征:
1.一种数据库迁移方法,包括:获取数据库迁移请求,其中,所述数据库迁移请求中包含有源数据库信息和目标数据库信息;根据所述源数据库信息从所述源数据库获取源数据库语法数据;根据所述目标数据库信息,对所述源数据库语法数据进行转换,以生成对应于所述目标数据库信息的目标语法数据;使用所述目标语法数据,对所述源数据库中的存储数据生成所述目标数据库中的目标存储数据;将所述目标存储数据存储到所述目标数据库中。2.根据权利要求1所述的数据库迁移方法,其中,所述根据所述目标数据库信息,对所述源数据库语法数据进行转换,以生成对应于所述目标数据库信息的转换语法数据包括:使用预设的第一转换器对所述源数据库语法数据进行转换以生成基础语法数据;使用预设的第二转换器对所述基础语法数据进行转换以生成所述目标语法数据。3.根据权利要求1所述的数据库迁移方法,其中,所述使用所述目标语法数据,对所述源数据库中的存储数据生成所述目标数据库中的目标存储数据包括:从所述源数据库逐条获取存储数据;使用所述目标语法数据对获取到的每条存储数据生成目标存储数据。4.根据权利要求2所述的数据库迁移方法,其中,所述根据所述目标数据库信息,对所述源数据库语法数据进行转换,以生成对应于所述目标数据库信息的目标语法数据还包括:对预设的转换文件进行解析,以获取所述第一转换器和第二转换器。5.根据权利要求1所述的数据库迁移方法,其中,在所述根据所述源数据库信息从所述源数据库获取源数据库语法数据之前,所述方法还包括:使用java数据库连接协议连接到所述源数据库。6.根据权利要求4所述的数据库迁移方法,其中,在所述使用所述目标语法数据,对所述源数据库中的存储数据生成所述目标数据库中的目标存储数据之前,所述方法还包括:测试与所述源数据库和目标数据库的连接;根据预设的转换文件对所述源数据库和所述目标数据库的语法脚本进行测试。7.一种数据库迁移装置,包括:请求获取模块,用于获取数据库迁移请求,其中,所述数据库迁移请求中包含有源数据库信息和目标数据库信息;语法获取模块,用于根据所述源数据库信息从所述源数据库获取源数据库语法数据;转换模块,用于根据所述目标数据库信息,对所述源数据库语法数据进行转换,以生成对应于所述目标数据库信息的目标语法数据;生成模块,用于使用所述目标语法数据,对所述源数据库中的存储数据生成所述目标数据库中的目标存储数据;存储模块,用于将所述目标存储数据存储到所述目标数据库中。8.根据权利要求7所述的数据库迁移装置,其中,所述转换模块包括:第一转换器和第二转换器,其中,
所述第一转换器用于对所述源数据库语法数据进行转换以生成基础语法数据;所述第二转换器用于对所述基础语法数据进行转换以生成所述目标语法数据。9.一种计算机可读存储介质,其上存储有可被处理器执行的计算机程序,其中,所述程序被处理器执行时实现如权利要求1至6中任一所述的数据库迁移方法。10.一种电子设备,包括:存储器,用于存储程序;处理器,用于运行所述存储器中存储的所述程序,以执行如权利要求1至6中任一所述的数据库迁移方法。

技术总结
本申请公开了一种数据库迁移方法、装置和计算机可读存储介质及电子设备。该方法包括:获取数据库迁移请求;根据源数据库信息从所述源数据库获取源数据库语法数据;根据目标数据库信息,对源数据库语法数据进行转换,以生成对应于目标数据库信息的目标语法数据;使用目标语法数据,对源数据库中的存储数据生成目标数据库中的目标存储数据;将目标存储数据存储到目标数据库中。本申请通过对源数据库的语法数据的转换实现了不同类型不同版本的数据库之间的迁移,消除了对于数据库厂商的依赖,大大提高了用户更换数据库或升级数据库的便利性。性。性。


技术研发人员:李亚男 韦利东
受保护的技术使用者:上海亘岩网络科技有限公司
技术研发日:2022.05.18
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-6047.html

最新回复(0)