一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2021-11-09 23:12:00 来源:中国专利 TAG:


1.本发明涉及数据库领域,特别是涉及一种数据库迁移方法、装置、可读存储介质及计算机设备。


背景技术:

2.数据库是计算机软件中核心的组成部分,数据库(database)通常按照数据结构来组织,用于存储和管理数据。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
3.数据库迁移也是it系统建设中极为重要的一部分。现有的数据库迁移一般是利用一些现有的数据抽取工具实现数据迁移,例如kettle、datastage和informatica等数据处理软件。目前的数据库迁移方法中,数据导入和导出时,无法确定导入数据的完整性,通常会存在数据库的数据迁移不完整的情况。


技术实现要素:

4.鉴于上述状况,有必要针对现有技术中数据库迁移时存在数据迁移不完整的问题,提供一种数据库迁移方法、装置、可读存储介质及计算机设备。
5.一种数据库迁移方法,包括:
6.获取源数据库的版本信息和目标数据库的版本信息;
7.当所述源数据库的版本信息不同于所述目标数据库的版本信息时,获取所述源数据库中各用户的用户信息;
8.发送所述用户信息至所述目标数据库,以使所述目标数据库进行用户信息配置;
9.导出所述源数据库中所述用户的结构信息和数据信息,并记录导出日志;
10.将所述用户的结构信息和数据信息导入所述目标数据库中,并记录导入日志;
11.比对所述导出日志和所述导入日志,以确定所述源数据库中是否存在未导入至所述目标数据库的目标结构信息和目标数据信息;
12.若是,从所述源数据库中导出所述目标结构信息和所述目标数据信息,并将导出的所述目标结构信息和目标数据信息导入所述目标数据库中。
13.进一步的,上述数据库迁移方法,其中,当所述源数据库的版本信息与所述目标数据库的版本信息相同时,所述方法还包括:
14.获取所述目标数据库的配置文件的存储路径、数据文件的存储路径和日志文件的存储路径;
15.将所述源数据库的配置文件发送至所述目标数据库的配置文件的存储路径,并将所述目标数据库的数据文件的存储路径和日志文件的存储路径共享至所述源数据库作为共享存储路径;
16.将所述源数据库的数据文件、日志文件在线迁移至对应的共享存储路径,所述目标数据库通过所述源数据库的配置文件启动,读取所述共享存储路径中的数据文件、日志
文件后运行。
17.进一步的,上述数据库迁移方法,其中,所述导出所述源数据库中所述用户的结构信息和数据信息的步骤包括:
18.创建与所述源数据库版本相同的数据库客户端,所述数据库客户端中包含数据库逻辑导出导入工具;
19.通过所述数据库逻辑导出导入工具导出所述数据源数据库中所述用户的结构信息和数据信息;
20.所述将所述用户的结构信息和数据信息导入所述目标数据库中的步骤包括:
21.通过所述数据库逻辑导出导入工具将所述用户的结构信息和数据信息导入所述目标数据库中。
22.进一步的,上述数据库迁移方法,其中,所述将导出的所述目标结构信息和目标数据信息导入所述目标数据库中的步骤包括:
23.将导出的所述用户的结构信息和数据信息导出为通用数据库语句;
24.在所述目标数据库中执行所述通用数据库语句,以使所述目标数据库重建对应的信息。
25.进一步的,上述数据库迁移方法,其中,所述获取源数据库的版本信息和所述源数据库中各用户的用户信息,以及获取目标数据库的版本信息的步骤包括:
26.通过数据库语句获取源数据库的版本信息和所述源数据库中各用户的用户信息,以及获取目标数据库的版本信息。
27.本发明还公开了一种数据库迁移装置,包括:
28.第一获取模块,用于获取源数据库的版本信息和目标数据库的版本信息;
29.第二获取模块,用于当所述源数据库的版本信息不同于所述目标数据库的版本信息时,获取所述源数据库中各用户的用户信息;
30.发送模块,用于发送所述用户信息至所述目标数据库,以使所述目标数据库进行用户信息配置;
31.导出模块,用于导出所述源数据库中所述用户的结构信息和数据信息,并记录导出日志;
32.导入模块,用于将所述用户的结构信息和数据信息导入所述目标数据库中,并记录导入日志;
33.确定模块,用于比对所述导出日志和所述导入日志,以确定所述源数据库中是否存在未导入至所述目标数据库的目标结构信息和目标数据信息;
34.所述导出模块还用于从所述源数据库中导出所述目标结构信息和所述目标数据信息;
35.所述导入模块还用于将导出的所述目标结构信息和目标数据信息导入所述目标数据库中。
36.进一步的,上述数据库迁移装置,还包括:
37.第二获取模块,用于获取所述目标数据库的配置文件的存储路径、数据文件的存储路径和日志文件的存储路径;
38.发送及共享模块,用于将所述源数据库的配置文件发送至所述目标数据库的配置
文件的存储路径,并将所述目标数据库的数据文件的存储路径和日志文件的存储路径共享至所述源数据库作为共享存储路径;
39.迁移模块,用于将所述源数据库的数据文件、日志文件在线迁移至对应的共享存储路径,所述目标数据库通过所述源数据库的配置文件启动,读取所述共享存储路径中的数据文件、日志文件后运行。
40.进一步的,上述数据库迁移装置,其中,所述导出所述源数据库中所述用户的结构信息和数据信息的步骤包括:
41.创建与所述源数据库版本相同的数据库客户端,所述数据库客户端中包含数据库逻辑导出导入工具;
42.通过所述数据库逻辑导出导入工具导出所述数据源数据库中所述用户的结构信息和数据信息;
43.所述将所述用户的结构信息和数据信息导入所述目标数据库中的步骤包括:
44.通过所述数据库逻辑导出导入工具将所述用户的结构信息和数据信息导入所述目标数据库中。
45.本发明还公开了一种计算机设备,包括存储器和处理器,所述存储器存储有程序,所述程序被所述处理器执行时实现上述任一所述的方法。
46.本发明还公开了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一所述的方法。
47.本发明中,当不同版本的数据库进行进行数据迁移时,为了检测不同版本数据库间的数据迁移是否完整,在数据库迁移过程中记录导出和导入日志,并根据导入日志和导出日志的比对结果确定是否存在未导入至目标数据库的目标结构信息和目标数据信息。若是,则单独将这部分信息从源数据库导出,并导入至目标数据库中,保证了数据迁移的完整性。
附图说明
48.图1为本发明第一实施例中的数据库迁移方法的流程图;
49.图2为本发明第二实施例中的数据库迁移方法的流程图;
50.图3为本发明第三实施例中的数据库迁移装置的结构框图;
51.图4为本发明实施例中计算机设备的结构框图。
具体实施方式
52.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
53.参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
54.请参阅图1,为本发明第一实施例中的数据库迁移方法,包括步骤s11~s17。
55.步骤s11,获取源数据库的版本信息和目标数据库的版本信息。
56.步骤s12,当所述源数据库的版本信息不同于所述目标数据库的版本信息时,获取所述源数据库中各用户的用户信息。
57.步骤s13,发送所述用户信息至所述目标数据库,以使所述目标数据库进行用户信息配置。
58.数据库通常配置在服务器中,用于存储数据。在实际应用中因数据备份、或服务器更换需要进行数据库的迁移。源数据库即为待迁移数据的数据库,目标数据库即为数据迁移的位置对象。
59.本实施例应用于中间服务器中,进行数据库迁移时,该中间服务器通过无线通讯方式连接至源数据库和目标数据库。当接收到数据库迁移指令时,中间服务器通过数据库语句获取源数据库的版本信息、源数据库中的用户信息,以及目标数据库的版本信息。该源数据中存储有多个用户的用户信息,该用户信息包括用户的表、视图在存储过程等所有对象信息。
60.不同版本的数据库间的数据迁移方法和同版本的数据库间的迁移方法不同。不同版本数据库的迁移设计逻辑导出工具,同版本数据库间的数据迁移,可以采用物理迁移方式。当该源数据库的版本信息不同于目标数据库的版本信息时,将获取得到的用户信息发送至目标数据库。目标数据库接收到用户信息后进行信息配置。
61.步骤s14,导出所述源数据库中所述用户的结构信息和数据信息,并记录导出日志。
62.步骤s15,将所述用户的结构信息和数据信息导入所述目标数据库中,并记录导入日志。
63.数据库中的数据,通过表的数据结构进行管理。结构信息主要为表的结果,例如有多少列、每列记录的信息及采用的格式、对每列值的范围定义,表是否自动根据某一列进行排序等。数据信息基本即为表的内容。
64.中间服务器从源数据中导出源数据库中各用户的结构信息和数据信息,并记录导出日志。源数据库中的信息导出后,再导入至目标数据库中,并记录导入日志。
65.导出和导入的日志是文本格式,中间服务器会记录信息导出、导入过程中每一步操作是否成功,若失败会输出错误信息。
66.步骤s16,比对所述导出日志和所述导入日志,以确定所述源数据库中是否存在未导入至所述目标数据库的目标结构信息和目标数据信息。
67.步骤s17,当存在未导入至所述目标数据库的目标结构信息和目标数据信息时,从所述源数据库中导出所述目标结构信息和所述目标数据信息,并将导出的所述目标结构信息和目标数据信息导入所述目标数据库中。
68.比对导出日志和导入日志,可以确定是否存在未导入至目标数据库中的目标结构信息和目标数据信息。即通过导出日志和导入日志中记录的信息即可确定是否存在导入失败的数据。当存在未导入至目标数据库的目标结构信息和目标数据信息时,从源数据库中查找该目标结构信息和目标数据信息,并导出,导出的信息可以存储在中转服务器的缓存区。中转服务器再将导出的目标结构信息和目标数据信息导入目标数据库中。
69.本实施例中,当不同版本的数据库进行数据迁移时,为了检测不同版本数据库间
的数据迁移是否完整,在数据库迁移过程中记录导出和导入日志,并根据导入日志和导出日志的比对结果确定是否存在未导入至目标数据库的目标结构信息和目标数据信息。若是,则单独将这部分信息从源数据库导出,并导入至目标数据库中,保证了数据迁移的完整性。
70.请参阅图2,为本发明第二实施例中的数据库迁移方法,包括步骤s21~s30。
71.步骤s21,获取源数据库的版本信息和目标数据库的版本信息。
72.步骤s22,判断所述源数据库的版本是否与所述目标数据的版本相同,若否,执行步骤s23,若是,执行步骤s28。
73.步骤s23,获取所述源数据库中各用户的用户信息,并发送所述用户信息至所述目标数据库,以使所述目标数据库进行用户信息配置。
74.本实施例中的数据库迁移方法应用于中间服务器中,该中间服务器可通过数据库语句获取源数据库的版本信息和源数据库中各用户的用户信息,以及获取目标数据库的版本信息。
75.步骤s24,导出所述源数据库中所述用户的结构信息和数据信息,并记录导出日志。
76.步骤s25,将所述用户的结构信息和数据信息导入所述目标数据库中,并记录导入日志。
77.步骤s26,比对所述导出日志和所述导入日志,以确定所述源数据库中是否存在未导入至所述目标数据库的目标结构信息和目标数据信息。
78.步骤s27,当存在未导入至所述目标数据库的目标结构信息和目标数据信息时,从所述源数据库中导出所述目标结构信息和所述目标数据信息,并将导出的所述目标结构信息和目标数据信息导入所述目标数据库中。
79.进一步的,所述导出所述源数据库中所述用户的结构信息和数据信息的步骤包括:
80.创建与所述源数据库版本相同的数据库客户端,所述数据库客户端中包含数据库逻辑导出导入工具;
81.通过所述数据库逻辑导出导入工具导出所述数据源数据库中所述用户的结构信息和数据信息。
82.所述将所述用户的结构信息和数据信息导入所述目标数据库中的步骤包括:
83.通过所述数据库逻辑导出导入工具将所述用户的结构信息和数据信息导入所述目标数据库中。
84.进一步的,所述将导出的所述目标结构信息和目标数据信息导入所述目标数据库中的步骤包括:
85.将导出的所述用户的结构信息和数据信息导出为通用数据库语句;
86.在所述目标数据库中执行所述通用数据库语句,以使所述目标数据库重建对应的信息。
87.具体实施时,中转服务器将未成功导出导入的数据,通过数据库语句导出为文本,再导入到目标数据库,该部分数据重新创建结构信息。
88.步骤s28,获取所述目标数据库的配置文件的存储路径、数据文件的存储路径和日
志文件的存储路径。
89.步骤s29,将所述源数据库的配置文件发送至所述目标数据库的配置文件的存储路径,并将所述目标数据库的数据文件的存储路径和日志文件的存储路径共享至所述源数据库作为共享存储路径。
90.步骤s30,将所述源数据库的数据文件、日志文件在线迁移至对应的共享存储路径,所述目标数据库通过所述源数据库的配置文件启动,读取所述共享存储路径中的数据文件、日志文件后运行。
91.同版本数据库迁移,可以采用物理迁移方式,即保证源数据库和目标数据库的数据库软件安装路径相同,该数据库文件包括但不限于数据文件、控制文件、参数文件、日志文件。
92.中转服务器通过网络传输,将源数据库的数据文件、控制文件、参数文件等数据库文件,传输到目标数据库,保持两端文件路径一致,并启动目标数据库,该目标数据库通过源数据库的配置文件启动,并读取该共享存储路径中的数据文件、日志文件后正常运行。
93.本实施例中,当源数据库与目标数据库版本不同时,中转服务器下载并安装源数据库版本一致的数据库客户端,客户端中包含数据库逻辑导出导入工具。数据库客户端按照完成后,中转服务器通过数据库逻辑导出工具,导出源数据库各用户的结构信息和数据信息。再通过数据库逻辑导入工具,将各用户的结构信息和数据信息导入到目标数据库。通过数据库逻辑导出导入工具进行数据导出和导入,保证了数据迁移效率,同时为了保证数据迁移完整性,通过比对导出日志和导入日志,确定源数据库中是否存在未导入至目标数据库的目标结构信息和目标数据信息,若是,则单独导出这部分信息并导入至目标数据库。当源数据库与目标数据库版本相同时,采用物理迁移方式进行数据迁移,保证数据迁移完整性和效率。
94.请参阅图3,为本发明第三实施例中的数据库迁移装置,包括:
95.第一获取模块31,用于获取源数据库的版本信息和目标数据库的版本信息;
96.第二获取模块32,用于当所述源数据库的版本信息不同于所述目标数据库的版本信息时,获取所述源数据库中各用户的用户信息;
97.发送模块33,用于发送所述用户信息至所述目标数据库,以使所述目标数据库进行用户信息配置;
98.导出模块34,用于导出所述源数据库中所述用户的结构信息和数据信息,并记录导出日志;
99.导入模块35,用于将所述用户的结构信息和数据信息导入所述目标数据库中,并记录导入日志;
100.确定模块36,用于比对所述导出日志和所述导入日志,以确定所述源数据库中是否存在未导入至所述目标数据库的目标结构信息和目标数据信息;
101.所述导出模块34还用于从所述源数据库中导出所述目标结构信息和所述目标数据信息;
102.所述导入模块35还用于将导出的所述目标结构信息和目标数据信息导入所述目标数据库中。
103.进一步的,上述数据库迁移装置,还包括:
104.第二获取模块,用于获取所述目标数据库的配置文件的存储路径、数据文件的存储路径和日志文件的存储路径;
105.发送及共享模块,用于将所述源数据库的配置文件发送至所述目标数据库的配置文件的存储路径,并将所述目标数据库的数据文件的存储路径和日志文件的存储路径共享至所述源数据库作为共享存储路径;
106.迁移模块,用于将所述源数据库的数据文件、日志文件在线迁移至对应的共享存储路径,所述目标数据库通过所述源数据库的配置文件启动,读取所述共享存储路径中的数据文件、日志文件后运行。
107.进一步的,上述数据库迁移装置,其中,所述导出所述源数据库中所述用户的结构信息和数据信息的步骤包括:
108.创建与所述源数据库版本相同的数据库客户端,所述数据库客户端中包含数据库逻辑导出导入工具;
109.通过所述数据库逻辑导出导入工具导出所述数据源数据库中所述用户的结构信息和数据信息;
110.所述将所述用户的结构信息和数据信息导入所述目标数据库中的步骤包括:
111.通过所述数据库逻辑导出导入工具将所述用户的结构信息和数据信息导入所述目标数据库中。
112.本发明实施例所提供的数据库迁移装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
113.本发明另一方面还提出一种计算机设备,请参阅图4,所示为本发明第四实施例当中的计算机设备,包括处理器10、存储器20以及存储在存储器上并可在处理器上运行的计算机程序30,所述处理器10执行所述计算机程序30时实现如上述数据库迁移方法。
114.其中,所述计算机设备可以为但不限于电脑、服务器等计算机设备。处理器10在一些实施例中可以是一中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器20中存储的程序代码或处理数据等。
115.其中,存储器20至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器20在一些实施例中可以是计算机设备的内部存储单元,例如该计算机设备的硬盘。存储器20在另一些实施例中也可以是计算机设备的外部存储装置,例如计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器20还可以既包括计算机设备的内部存储单元也包括外部存储装置。存储器20不仅可以用于存储安装于计算机设备的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。
116.可选地,该计算机设备还可以包括用户接口、网络接口、通信总线等,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light

emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机设备中处理的信息
以及用于显示可视化的用户界面。网络接口可选的可以包括标准的有线接口、无线接口(如wi

fi接口),通常用于在该装置与其他电子装置之间建立通信连接。通信总线用于实现这些组件之间的连接通信。
117.需要指出的是,图4示出的结构并不构成对计算机设备的限定,在其它实施例当中,该计算机设备可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
118.本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的数据库迁移方法。
119.本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或装置(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或装置取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或装置而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或装置或结合这些指令执行系统、装置或装置而使用的装置。
120.计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
121.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
122.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
123.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献