数据库更新方法、装置、计算机设备和存储介质与流程

文档序号:33152642发布日期:2023-02-03 23:09阅读:24来源:国知局
数据库更新方法、装置、计算机设备和存储介质与流程

1.本技术涉及数据库或智能运维技术领域,特别是涉及一种数据库更新方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.对于各业务场景的测试环境,数据是重要的测试资源,服务器需要定期对数据库进行铲库(即将数据库版本回退到历史版本),在使用完铲库后的数据库时,需要将数据库恢复最新的版本。对于数据库恢复到当前日期之前的某个版本后,如何快速将数据库版本更新到最新的版本成为急需解决的问题。
3.传统技术中,是对服务器需要更新的数据库版本一个个进行人工迭代安装,重复多次类似的操作。若多个不同的服务器都需要进行数据库版本的更新,则工作量将成倍增长,耗费大量时间和人力。


技术实现要素:

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.图1为一个实施例中数据库更新方法的应用环境图;
47.图2为一个实施例中数据库更新方法的流程示意图;
48.图3为另一个实施例中数据库更新方法的流程示意图;
49.图4为一个实施例中提供本技术的数据库更新方法的系统结构框图;
50.图5为一个实施例中系统执行本技术的数据库更新方法的流程示意图;
51.图6为一个实施例中数据库更新装置的结构框图;
52.图7为一个实施例中计算机设备的内部结构图。
具体实施方式
53.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
54.本技术实施例提供的数据库更新方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络分别与目标服务器104和存储设备106进行通信。在本技术的应用场景中,终端102获取目标服务器104中待更新数据库的当前版本信息和目标版本信息,根据当前版本信息和目标版本信息,从预设的存储设备106中获取待更新数据库所需的目标更新版本包和目标更新版本包的安装信息,推送目标更新版本包和目标更新版本包的安装信息至目标服务器106,使目标服务器106基于目标更新版本包和安装信息进行待更新数据库的版本更新。
55.其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
56.在一个实施例中,如图2所示,提供了一种数据库更新方法,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:
57.步骤201,获取目标服务器中待更新数据库的当前版本信息和目标版本信息;目标服务器为待进行数据库版本更新的服务器。
58.其中,待更新数据库表示待进行内容恢复的数据库。
59.其中,目标版本信息对应的目标版本的版本级别高于当前版本信息对应的当前版本的版本级别,也就是说,对当前版本进行迭代更新一定次数后,可以得到目标版本。
60.其中,目标版本信息和当前版本信息中的版本表示不同时期的数据库,不同时期数据库中存储的内容不同。
61.其中,目标版本信息和当前版本信息的表示形式可以为版本时间,例如,目标版本信息为202207版本,当前版本信息为202228版本。
62.需要说明的是,由于本技术的应用场景为对数据库进行铲库后的版本更新,即将数据库的版本回退到历史版本(即当前版本)后,再从回退到的历史版本恢复到最新版本
(即目标版本),因此,目标版本的版本级别高于当前版本。
63.具体实现中,终端102可以通过终端页面接收用户输入的目标服务器的服务器标识,基于服务器标识确定目标服务器中待更新数据库的当前版本信息,同时,终端102还可以通过终端页面接收用户输入的待更新数据库的目标版本信息,由此得到目标服务器中待更新数据库的当前版本信息和目标版本信息。
64.步骤202,根据当前版本信息和目标版本信息,从预设的存储设备中获取待更新数据库所需的目标更新版本包和目标更新版本包的安装信息;目标更新版本包为待更新数据库从当前版本更新至目标版本所需的版本包;存储设备存储有多种已更新数据库在版本更新过程中所使用的多个更新版本包及各个更新版本包的安装信息。
65.其中,当前版本表示当前版本信息对应的数据库版本。
66.其中,目标版本表示目标版本信息对应的数据库版本。
67.其中,目标更新版本包可以包含多个更新版本包,每个更新版本包均具有对应的安装信息,安装信息表示更新版本包安装至服务器的过程中所使用的信息。安装信息可以包含更新版本包的安装脚本和安装脚本的执行指令;每个安装脚本用于执行对应的更新版本包的安装操作;目标服务器104根据每个安装脚本的执行指令完成对应安装脚本的运行。
68.具体实现中,可以预先获取多种已更新数据库在版本更新过程中所使用的多个更新版本包及各个更新版本包的安装信息,并将多种已更新数据库的各个更新版本包及各个更新版本包的安装信息存储至存储设备106中。当终端102获取到目标服务器104中待更新数据库的当前版本信息和目标版本信息后,可根据待更新数据库的当前版本信息和目标版本信息,确定待更新数据库从当前版本更新至目标版本所需要的更新版本包信息,进一步地,根据所需要的更新版本包信息,从存储设备106中获取待更新数据库所需的目标更新版本包和目标更新版本包的安装信息。
69.需要说明的是,存储设备106中存储的已更新数据库的更新版本包为已更新数据库从初始版本迭代到最新版本的过程中的所有更新版本包和所有更新版本包的安装信息,由此可以从存储设备106中获取待更新数据库从当前版本更新到任一版本的版本更新包和安装信息,实现待更新数据库从当前版本到任一版本的更新。
70.步骤203,推送目标更新版本包和目标更新版本包的安装信息至目标服务器,使目标服务器基于目标更新版本包和安装信息进行待更新数据库的版本更新。
71.具体实现中,终端102将目标更新版本包和对应的安装信息推送到目标服务器104中,目标服务器104接收到目标更新版本包和对应的安装信息后,可以通过安装信息中的目标更新版本包的安装脚本和安装脚本的执行指令,将目标更新版本包安装至目标服务器104中,由此实现目标服务器104中待更新数据库的版本更新。
72.上述数据库更新方法中,通过预先将数据库完成更新的过程中所使用到的更新版本包和对应的安装信息存储至存储设备,使得后续在目标服务器需要对相同类型的数据库进行更新时,可以直接从存储设备中提取该数据库的更新版本包和安装信息,推送给目标服务器,使目标服务器基于安装信息进行更新版本包的安装,无需重新编写安装信息,从而可减少在不同服务器中重复进行安装信息的编写所耗费的人力和时间。
73.在其中一个实施例中,在上述步骤202根据当前版本信息和目标版本信息,从预设的存储设备中获取待更新数据库所需的目标更新版本包和目标更新版本包的安装信息之
前,具体还包括以下步骤:
74.步骤2021,针对每种已更新数据库,确定已更新数据库所对应的服务器,作为已更新服务器;
75.步骤2022,从已更新服务器中,获取已更新数据库在版本更新过程中的各个更新版本包和各个更新版本包的安装信息;
76.步骤2023,存储每种已更新数据库的各个更新版本包和各个更新版本包的安装信息至存储设备,并建立各个已更新数据库与对应的更新版本包和安装信息之间的映射关系。
77.其中,已更新数据库可以包括不同类型的数据库或者相同类型但存储不同存储数据的数据库。同时,每个数据库仅和一个服务器对应,每个服务器也仅和一个数据库对应。
78.需要说明的是,不同数据库之间有不同类型或者存储不同数据,因此不同数据库对应的部署内容和方式是不相同的,因此,不同数据库的更新版本包也是不相同的。
79.具体实现中,针对各种已更新服务器中的不同已更新数据库,获取每种已更新数据库在从初始版本到最新版本的更新过程中所用到各个更新版本包和各个更新版本包的安装信息,并建立各个更新版本包和安装信息与对应的不同已更新数据库之间的映射关系,存储设备将获取到的每种已更新数据库的各个更新版本包和对应的安装信息、上述映射关系存储,得到随时可以调用的各种数据库的各个更新版本包和对应的安装信息。
80.本实施例中,预先存储各种已更新数据库的各个更新版本包和对应的安装信息,需要更新相同类型数据库的服务器可以随时调用对应的更新版本包和对应的安装信息进行对应数据库的版本更新,减少了相同数据库更新时重复编写安装信息耗费的时间。
81.在其中一个实施例中,上述步骤2022从已更新服务器中,获取已更新数据库在版本更新过程中的各个更新版本包和各个更新版本包的安装信息,具体还可以通过以下步骤实现:
82.步骤2022a,从已更新服务器中,获取已更新服务器的完整版本包;完整版本包包括更新服务器中部署的各个应用的更新版本包和安装信息;
83.步骤2022b,从完整版本包中,提取出已更新数据库在版本更新过程中的各个更新版本包和各个更新版本包的安装信息。
84.需要说明的是,服务器的铲库是指对数据库进行回退历史版本的操作,因此,只需要提取数据库的更新版本包,而无需提取完整版本包或完整版本包中除数据库的更新版本包之外的内容。
85.具体实现中,获取到已更新服务器的完整版本包,完整版本包包括更新服务器的全部更新数据,包括数据库更新数据、程序更新数据和系统更新数据等。从完整版本包中,提取出已更新数据库在之前更新过程中所需要更新数据,即各个更新版本包和对应的安装信息,将各个更新版本包和对应的安装信息存储在存储设备中。
86.本实施例中,将已更新服务器的完整版本包中的已更新数据库的更新版本包和对应的安装信息提取出来并单独存储,当目标服务器需要更新数据库时,仅仅需要调用更新数据库的更新版本包和对应的安装信息(不需要调用完整版本包),减少了需要使用的存储空间。
87.在其中一个实施例中,在上述步骤202根据当前版本信息和目标版本信息,从预设
的存储设备中获取待更新数据库所需的目标更新版本包和目标更新版本包的安装信息之前,具体还包括以下步骤:
88.步骤2024,获取待更新数据库的数据库标识;
89.根据当前版本信息和目标版本信息,从预设的存储设备中获取待更新数据库所需的目标更新版本包和目标更新版本包的安装信息,包括:
90.步骤2025,根据数据库标识、当前版本信息和目标版本信息,从预设的存储设备中获取待更新数据库所需的目标更新版本包和目标更新版本包的安装信息。
91.其中,数据库标识包括数据库类型、存储的数据,以及对应的服务器的标识。
92.具体实现中,需要获取到待更新数据库的数据库标识,即获取到待更新数据库的类型和存储数据内容,根据数据库标识和待更新数据库的当前版本信息和目标版本信息,从预设的存储设备中获取到对应类型和存储数据的目标更新版本包和对应的安装信息,使待更新数据库基于符合类型和存储数据的更新版本包和对应的安装信息进行数据库版本更新。
93.本实施例中,通过数据库标识识别出不同类型或相同类型但存储不同存储数据的数据库,基于待更新数据库的数据库标识,获取到相匹配的更新版本包和对应的安装信息,可以实现不同类型或相同类型但存储不同存储数据的数据库版本更新。
94.在其中一个实施例中,安装信息包括目标更新版本包的版本清单信息;在上述步骤203推送目标更新版本包和目标更新版本包的安装信息至目标服务器之前,具体还包括以下步骤:
95.步骤2031,基于版本清单信息对目标更新版本包进行完整性校验;
96.步骤2032,在校验结果为不完整的情况下,输出提示信息。
97.其中,版本清单信息记录有对应更新版本包的具体内容清单。
98.具体实现中,终端获取存储设备中每个更新版本包对应的版本清单信息,根据版本清单信息中记录的对应更新版本包的具体内容清单,对存储设备中的更新版本包进行内容完整性校验,确定更新版本包中内容的完整性。若更新版本包内容不完整,则输出提示信息,帮助用户做出对不完整更新版本包的处理决定。
99.本实施例中,存储设备获取的更新版本包对应的安装信息包括版本清单信息,版本清单信息用以校验更新版本包的完整性,保证待更新数据库版本更新的正确性,减少出错的可能性和所带来的维护成本。
100.在其中一个实施例中,在上述步骤203推送目标更新版本包和目标更新版本包的安装信息至目标服务器之前,具体还包括以下步骤:
101.步骤2033,获取目标服务器的目标服务器标识,通过目标服务器标识替换目标更新版本包中的服务器标识,得到替换后的更新版本包;
102.推送目标更新版本包和目标更新版本包的安装信息至目标服务器,使目标服务器基于目标更新版本包和安装信息进行待更新数据库的版本更新,包括:
103.步骤2034,推送替换后的更新版本包和安装信息至目标服务器,使目标服务器基于替换后的更新版本包和安装信息进行待更新数据库的版本更新。
104.其中,目标更新版本包的服务器标识用于表示目标更新版本包需要被推送到的服务器。初始目标更新版本包中的服务器标识表示获取目标更新版本包的已更新服务器。
105.其中,服务器标识可以用服务器的ip信息表示。
106.具体实现中,在存储设备获取到更新版本包时,更新版本包的服务器标识为获取来源(即已更新服务器的服务器标识),当目标服务器需要对应的更新版本包时,存储设备中的目标更新版本包的服务器标识将被替换为目标服务器的服务器标识,因此终端可以根据服务器标识推送目标更新版本包到对应的目标服务器中,目标服务器可以基于目标更新版本包进行数据库版本更新。
107.本实施例中,通过替换更新版本包中的服务器标识,可以推送到不同的服务器中进行版本更新,实现了更新版本包的复用,减少了各个服务器更新版本时编写安装信息消耗的时间。
108.在其中一个实施例中,上述安装信息还包括目标更新版本包的安装脚本和安装脚本的执行指令。
109.其中,安装脚本是针对于目标更新版本包中每个更新版本包的数据库安装指令。
110.其中,安装脚本的执行指令是针对于每个安装脚本的操作系统执行指令。
111.具体实现中,终端获取到的目标更新版本包对应的安装信息包括目标更新版本包的安装脚本和安装脚本的执行指令;使得目标服务器能够基于安装脚本人的执行指令让操作系统执行安装脚本,安装脚本则执行对应更新版本包在数据库的安装操作。
112.本实施例中,通过获取到目标安装版本包对应的安装脚本和安装脚本的执行指令,能够减少更新数据库时重新编写安装脚本和执行指令所需的时间和人力。
113.在另一个实施例中,如图3所示,提供了一种数据库更新的方法,本实施例中,包括以下步骤:
114.步骤301,针对每种已更新数据库,确定已更新数据库所对应的服务器,作为已更新服务器。
115.步骤302,从已更新服务器中,获取已更新服务器的完整版本包;完整版本包包括更新服务器中部署的各个应用的更新版本包和安装信息。
116.步骤303,从完整版本包中,提取出已更新数据库在版本更新过程中的各个更新版本包和各个更新版本包的安装信息。
117.步骤304,存储每种已更新数据库的各个更新版本包和各个更新版本包的安装信息至存储设备,并建立各个已更新数据库与对应的更新版本包和安装信息之间的映射关系。
118.步骤305,基于版本清单信息对更新版本包进行完整性校验。
119.步骤306,在校验结果为不完整的情况下,输出提示信息。
120.步骤307,获取目标服务器中待更新数据库的数据库标识,获取待更新数据库的当前版本信息和目标版本信息;目标服务器为待进行数据库版本更新的服务器。
121.步骤308,根据数据库标识、当前版本信息和目标版本信息,从预设的存储设备中获取待更新数据库所需的目标更新版本包和目标更新版本包的安装信息。
122.步骤309,获取目标服务器的目标服务器标识,通过目标服务器标识替换目标更新版本包中的服务器标识,得到替换后的更新版本包。
123.步骤310,推送替换后的更新版本包和安装信息至目标服务器,使目标服务器基于替换后的更新版本包和安装信息进行待更新数据库的版本更新。
124.具体实现中,针对多种已经从初始版本更新到最新版本的已更新数据库,确定已更新数据库对应的已更新服务器,存储设备获取已更新数据库在更新过程中所使用的完整版本包,完整版本包含更新服务器中应用程序、更新服务器的操作系统和更新服务器对应的数据库的各种更新版本包和对应的安装信息。从完整版本包中,提取出已更新数据库在版本更新过程中的各个更新版本包(每个版本的更新版本包可以通过版本号标识)和各个更新版本包的安装信息。其中,安装信息包含版本清单信息、版本安装策略表(每个版本安装策略表的记录对应的更新版本包的具体更新内容)、更新版本包的安装脚本和安装脚本的执行指令。基于预设的目录结构,和提取出的更新版本包和对应的安装信息按照版本号的顺序,建立对应的文件夹,将提取出的更新版本包和对应的安装信息放入对应的文件夹中,然后存储于存储设备中。并且记录每种不同类型或者相同类型但存储不同存储数据的数据库与对应的更新版本包和安装信息之间的映射关系。同时,根据安装信息中的版本清单信息对更新版本包进行完整性校验,若校验结果为不完整,则输出提示信息,用户可以根据提示信息对不完整的更新版本包重新进行获取。
125.当有服务器对应的数据库需要更新版本时,终端获取用户输入的需要更新数据库的目标服务器的服务器标识(可以是服务器的ip信息);根据服务器标识,查询目标服务器中待更新数据库的数据库标识、待更新数据库的当前版本信息;同时获取用户输入的待更新数据库需要更新到的数据库版本的目标版本信息;根据数据库标识、当前版本信息和目标版本信息,从预设的存储设备中获取待更新数据库所需的目标更新版本包和目标更新版本包的安装信息,其中,目标更新版本包包含至少一个更新版本包,是待更新数据库从当前版本更新到目标版本全部所需的更新版本包。根据目标服务器标识,通过目标服务器标识替换目标更新版本包中的服务器标识,得到替换后的更新版本包。根据替换后的更新版本包中的服务器标识,将替换后的更新版本包和安装信息推送至目标服务器,使目标服务器基于替换后的更新版本包,运行安装信息中的更新版本包的安装脚本和安装脚本的执行指令完成待更新数据库的版本更新。
126.本实施例中,通过预先提取多种服务器从初始版本更新到最新版本过程中所需要的完整版本包中的数据库更新版本包和对应的安装信息,将多种服务器对应的多种数据库从初始版本更新到最新版本过程中所需要的更新版本包和对应的安装信息存储于存储设备中,当有相同的数据库需要更新到其中一个版本节点时,可以直接调用对应的数据库更新版本包和对应的安装信息,基于需要的更新版本包和对应的安装信息完成数据库的版本更新。能够达到当需要更新数据库的服务器调用更新版本包时,可以减少更新版本包需要占用的空间;并且在更新数据库过程中,可以减少重复编写相应的安装信息所消耗的时间。同时每个服务器可以个性化更新对应的服务器到需要的版本。
127.为了便于本领域技术人员理解本技术实施例,以下将以一个提供本技术的数据库更新方法的系统为例,结合附图的具体示例对本技术进行说明,如图4所示,本实施例中的系统包括初始终止模块401、版本打点模块402、变量检索模块403、安装模块404、日志模块405、前台展示模块406,其中,
128.初始终止模块401接收来自前台展示模块406中用户输入的“初始化”命令和“终止化”命令。若收到“初始化”命令,则会在执行数据库更新方法的服务器上创建一个相对根文件夹,根文件夹命名由前台展示模块406输入,默认为ip+日期命名(假设为12.34.56.78_
20220216),其中ip为前台展示模406块中用户输入的获取更新版本包的已更新服务器的ip。若收到“终止化”命令后,本技术会对12.34.56.78_20220216文件夹进行打包存档,方便后续调用(假设为打完包后的版本包叫做12.34.56.78_20220216.zip)。
129.版本打点模块402可以接收来自406前台展示模块中用户输入的“开始”命令和“停止”命令。若收到“开始”命令,则会在12.34.56.78_20220216文件夹下面创建默认以来自前台展示模块406中用户输入版本号命名的文件夹(我们假定文件夹命名为version202201a01),同时本模块会去12.34.56.78服务器上通过二进制方式获取包含数据库内容的版本包并存放在version202201a01下,一般情况下,版本的安装目录是标准化的,故此处不需要单独输入获取版本包的目录结构。同时此模块需要获取12.34.56.78服务器中该版本包的安装策略表(一个后缀为xls的excel表)以及版本清单表vsersion.txt。其中根据xls表生成start.sh脚本(操作系统脚本,即安装脚本的执行指令),同时系统会根据vsersion.txt检索本模块获取的数据库版本包是否完整,若不完整则会输出日志提醒用户。若数据库版本内容+start.sh脚本+安装策略表+版本清单表均获取到了存储设备中,并校验清单成功,则会返回给前台展示模块406成功的信息。若收到“结束”命令,则不会再对version202201a01进行操作。在同一个初始化和终止化的周期之内,若收到“结束”命令后,再次受到“开始”命令,则在12.34.56.78_20220216下继续创建version202201a02文件夹,以此类推。
130.变量检索模块403可以实现对初始终止模块401中得到的大时间周期版本包里的涉及ip信息内容进行变量替换,本模块基于shell命令筛选出来ip信息,并传输给前台展示模块406,对于传给前台展示模块406的每一个ip,都会收到前台传回来的是否替换的命令。若收到“是”,则ip信息会被替换成前台展示模块406中用户输入的ip;若收到“否”,则不对此ip进行处理。
131.安装模块404可以实现对12.34.56.78_20220216.zip包在各种服务器上进行数据库更新版本安装。其中安装此更新版本的服务器ip由前台展示模块406输入。本模块推送到服务器的版本包是替换好新ip后的版本包。同时,对于每一个12.34.56.78_20220216.zip包含的多个小版本周期版本包version202201a01,前台展示模块406是可以相应于用户的选择,执行哪个小版本包安装,哪个小版本包不安装。
132.日志模块405接收来自各个模块运行过程中的日志信息。
133.前台展示模块406可以相应于用户输入的“初始”、“开始”、“结束”“终止”、“搜索变量”、“替换变量输入”和“安装服务器ip输入”等信息。其中“初始”是一个大时间周期版本包制作的初始。“终止”是一个大时间周期版本包制作的终止。在初始开始之前要先输入“初始ip”和“根文件夹名字”传给初始终止模块401。每个初始开始之前每一个大时间周期版本包里包含多个小版本周期版本包。每一个小版本周期版本包的是由“开始”和“结束”标识的。“搜索变量”点击后会对变量检索模块403发送检索大时间周期版本包是否包含目标ip信息,并将变量检索模块403检索结果返回给前台展示模块406,若包含ip信息,并且需要将此ip替换成变量,则需要使用“替换变量输入”功能。“安装服务器ip输入”是指对于存在多套环境时,版本包需要在哪台服务器上运行就输入哪个ip。
134.本系统执行本技术的数据库更新方法的步骤流程如图5所示,其中包括更新版本包获取和数据库更新两部分。其中,
135.更新版本包获取包括以下步骤:
136.步骤501,初始化大周期。
137.步骤502,获取已更新服务器的ip、版本包名字等信息。
138.步骤503,开始小周期。
139.步骤504,从已更新服务器的ip对应的服务器中获取更新版本包。
140.步骤505,生成脚本文件、小版本包等。
141.步骤506,结束小周期。其中,若接收到终止化命令则执行步骤507,若没有则返回步骤503继续新的小周期。
142.步骤507,终止化大周期。
143.数据库更新包括以下步骤:
144.步骤508,ip变量检索并展示。
145.步骤509,输入多个要安装的ip信息和需要安装的版本等变量信息。
146.步骤510,执行安装。
147.本实施例中,通过预先将数据库完成更新的过程中所使用到的更新版本包和对应的安装信息存储至存储设备,使得后续在目标服务器需要对相同类型的数据库进行更新时,可以直接从存储设备中提取该数据库的更新版本包和安装信息,推送给目标服务器,使目标服务器基于安装信息进行更新版本包的安装,无需重新编写安装信息,从而可减少在不同服务器中重复进行安装信息的编写所耗费的人力和时间。
148.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
149.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的数据库更新方法的数据库更新装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据库更新装置实施例中的具体限定可以参见上文中对于数据库更新方法的限定,在此不再赘述。
150.在一个实施例中,如图6所示,提供了一种数据库更新装置,包括:信息获取模块、安装内容获取模块和安装数据推送模块,其中:
151.信息获取模块601,用于获取目标服务器中待更新数据库的当前版本信息和目标版本信息;目标服务器为待进行数据库版本更新的服务器;
152.安装内容获取模块602,用于根据当前版本信息和目标版本信息,从预设的存储设备中获取待更新数据库所需的目标更新版本包和目标更新版本包的安装信息;目标更新版本包为待更新数据库从当前版本更新至目标版本所需的版本包;存储设备存储有多种已更新数据库在版本更新过程中所使用的多个更新版本包及各个更新版本包的安装信息;
153.安装内容推送模块603,用于推送目标更新版本包和目标更新版本包的安装信息至目标服务器,使目标服务器基于目标更新版本包和安装信息进行待更新数据库的版本更
新。
154.在一个实施例中,上述安装内容获取模块602还用于,针对每种已更新数据库,确定已更新数据库所对应的服务器,作为已更新服务器;从已更新服务器中,获取已更新数据库在版本更新过程中的各个更新版本包和各个更新版本包的安装信息;存储每种已更新数据库的各个更新版本包和各个更新版本包的安装信息至存储设备,并建立各个已更新数据库与对应的更新版本包和安装信息之间的映射关系。
155.在一个实施例中,上述安装内容获取模块602还用于,从已更新服务器中,获取已更新服务器的完整版本包;完整版本包包括更新服务器中部署的各个应用的更新版本包和安装信息;从完整版本包中,提取出已更新数据库在版本更新过程中的各个更新版本包和各个更新版本包的安装信息。
156.在一个实施例中,上述安装内容推送模块603还用于,取目标服务器的目标服务器标识,通过目标服务器标识替换目标更新版本包中的服务器标识,得到替换后的更新版本包;推送替换后的更新版本包和安装信息至目标服务器,使目标服务器基于替换后的更新版本包和安装信息进行待更新数据库的版本更新。
157.在一个实施例中,上述安装内容获取模块602还用于,获取待更新数据库的数据库标识;根据数据库标识、当前版本信息和目标版本信息,从预设的存储设备中获取待更新数据库所需的目标更新版本包和目标更新版本包的安装信息。
158.在一个实施例中,安装信息包括目标更新版本包的版本清单信息,上述安装内容推送模块603还用于,基于版本清单信息对目标更新版本包进行完整性校验;在校验结果为不完整的情况下,输出提示信息。
159.在一个实施例中,安装信息还包括目标更新版本包的安装脚本和安装脚本的执行指令。
160.上述数据库更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
161.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据库更新方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
162.本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
163.在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储
有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
164.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
165.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
166.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
167.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
168.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
169.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1