一种数据库脚本自动实施的方法及装置与流程

文档序号:30929438发布日期:2022-07-30 00:15阅读:142来源:国知局
一种数据库脚本自动实施的方法及装置与流程

1.本技术涉及自动化技术领域,特别是涉及一种数据库脚本自动实施的方法及装置。


背景技术:

2.随着信息技术的发展,各种各样的软件需要进行版本的升级更新,版本的升级更新需要对其数据库进行相应的升级更新,例如对数据库表的创建、删除、修改、更新,以及对数据的转换、增删等,这些升级更新操作可以通过数据库脚本的实施来完成。数据库脚本是指对数据库操作的执行作业,包括ddl、dml等类型的sql语句,在执行数据库脚本时,需要做一些准备工作和收尾工作,准备工作和执行数据库脚本以及收尾工作共同组成了数据库脚本的实施方案。
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.图1为本技术实施例提供的一种数据库脚本自动实施的方法流程图;
34.图2为本技术实施例提供的一种根据目标操作类别确定目标公共机制的方法流程图;
35.图3为本技术实施例提供的一种数据库脚本自动实施的装置的结构示意图。
具体实施方式
36.正如前文描述,目前的软件版本需要升级更新时,由于数据库的升级更新涉及数据库表的新增、删除、修改以及数据的转换等多种不同操作,完成不同操作的数据库脚本所对应的准备工作和收尾工作不尽相同,因此,需要技术人员人工进行准备工作、执行数据库脚本以及收尾工作,但是通过人工操作实施数据库脚本需要花费大量时间,导致数据库的升级更新缓慢,进一步导致软件版本升级更新缓慢。
37.发明人经过研究发现,可以通过梳理多种操作类别中,一个操作类别所对应的多个数据库脚本的实施方案,得到与数据库脚本的操作类别对应的公共机制,所述公共机制包括完成相同操作的多个数据库脚本所对应的相同的准备工作以及收尾工作。在执行数据库脚本时,实施与其对应的公共机制,利用数据库脚本以及与其对应的公共机制共同完成了对数据库脚本的自动实施,从而降低了实施数据库脚本的时间,进而从根本上降低了软件版本升级更新时所花费的时间。
38.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
39.方法实施例
40.本技术实施例提供了一种数据库脚本自动实施的方法。
41.参见图1,该图为本技术实施例提供的一种数据库脚本自动实施的方法流程图,具体包括:
42.s101,获取目标数据库脚本的目标操作类别。
43.在本技术实施例提供的方法中,目标数据库脚本为需要实施的数据库脚本,目标操作类别为需要去实施的数据库脚本所对应的操作类别。因为不同操作所对应的公共机制是不同的,所以需要明确需要实施的数据库脚本是做的何种操作,以便于后续确定需要实施的数据库脚本实施时需要进行的与其对应的公共机制处理。
44.需要说明的是,本技术并不限定具体的获取目标数据库脚本的目标操作类别的方式,在本技术实施例提供的方法中,作为一种可能的实施方式,可以通过解析目标数据库脚本的配置文件,获取所述目标数据库脚本的相关信息;根据所述相关信息,获取所述目标数据库脚本的目标操作类别。
45.需要说明的是,本技术不具体限定目标操作类别分为哪几种,也不具体限定目标操作类别的名称,作为一种示例,操作类别可以分为以下几种:变更数据、新增数据库表、删除和/或变更数据库表、数据库表变更后的数据处理,
46.s102,根据所述目标操作类别,从公共机制集合中确定与所述目标操作类别对应的目标公共机制;所述公共机制集合中包含的各公共机制,为基于与所述公共机制对应的操作类别相关的多个不同数据库脚本建立而成。
47.需要说明的是,本技术不具体限定公共机制的具体内容,其具体内容可以根据实际情况从已有的数据库脚本的实施方案中梳理得出,作为一种示例,公共机制可以包括:在执行数据库脚本前对数据库表进行处理,和/或,在执行数据库脚本后进行的处理动作。
48.在本技术实施例提供的方法中,该公共机制集合为预先建立的,在该公共机制集合中,包含有多个公共机制,该公共机制由预先梳理多种操作类别中,各个操作类别所对应的多个数据库脚本的实施方案,从而得到的与数据库脚本的操作类别对应的公共机制,可以理解的是,该公共机制包含有实施数据库脚本时需要做的准备工作以及收尾工作。
49.需要说明的是,获得公共机制的过程中,所梳理的数据库脚本的实施方案为目前通过人工操作实施数据库脚本时的实施方案。所得到的公共机制为,在实施同一操作类别所对应的不同数据库脚本的方案中,除了数据库脚本本身外,共同需要完成的机制。
50.由于公共机制集合中包含的各公共机制是通过上述方式得到的,因此,各公共机制与操作类别之间存在对应关系,从而可以根据目标操作类别,从公共机制集合中确定与所述目标操作类别对应的目标公共机制,以便于后续利用与目标数据库脚本的目标操作类别对应的目标公共机制,完成对于目标数据库脚本的自动实施。
51.s103,利用所述目标公共机制实施所述目标数据库脚本。
52.在本技术实施例提供的方法中,数据库脚本的实施需要执行数据库脚本前的准备工作,执行数据库脚本后的收尾工作,以及数据库脚本本身的执行,综合以上三步才能完成数据库脚本的实施。在前述步骤中,已确定所述目标数据库脚本对应的目标公共机制,在所述目标公共机制中,包含有实施所述目标数据库脚本所需的执行数据库脚本前的准备工作,以及执行数据库脚本后的收尾工作。可以理解的是,通过对目标公共机制以及数据库脚本本身的执行,也就是完成了执行数据库脚本前的准备工作,执行数据库脚本后的收尾工作,以及数据库脚本本身的执行,因此可以实现数据库脚本的自动实施。
53.需要说明的是,本技术实施例对于被数据库脚本执行操作的数据库的种类并未具体限定,也就是说,本技术实施例可以支持多种数据源的数据库,作为一种可能的实现方式,数据库可以包括:mysql、oracle等。
54.需要说明的是,本技术提供的一种数据库脚本自动实施的方法可用于金融领域以及人工智能领域,上述仅为示例,并不对本技术提供的一种数据库脚本自动实施的方法的应用领域进行限定。
55.本技术实施例提供的数据库脚本自动实施的方法,通过获取目标数据库脚本的目标操作类别,根据所述目标操作类别,从公共机制集合中确定与所述目标操作类别对应的目标公共机制,利用数据库脚本以及与其对应的公共机制共同完成了对数据库脚本的自动实施,从而降低了实施数据库脚本的时间,进而从根本上降低了软件版本升级更新时所花费的时间。
56.本技术实施例提供的方法中,基于上述的实施过程,具体的,根据所述目标操作类别,从公共机制集合中确定与所述目标操作类别对应的目标公共机制,如图2所示,该图为本技术实施例提供的一种根据目标操作类别确定目标公共机制的方法流程图,具体包括:
57.s101,获取目标数据库脚本的目标操作类别。
58.需要说明的是,由于上述实施例提供的是图1中步骤s102的一种示例性实施例,步骤s102需要根据步骤s101获取的目标操作类别确定目标公共机制,因此,将步骤s101体现在图2中,图2中步骤s101与图1中步骤s101为相同步骤。
59.s201,当所述目标操作类别为变更数据、删除和/或变更数据库表、数据库表变更后的数据处理时。
60.需要说明的是,在s101获取的目标操作类型为变更数据、删除和/或变更数据库表、数据库表变更后的数据处理时,对应的步骤为s201。
61.s202,确定所述目标公共机制包括在执行数据库脚本前对数据库表进行处理,和,执行数据库脚本后进行的处理动作。
62.需要说明的是,s201为执行s202的条件,只有符合s201的条件,才会确定所述目标公共机制包括在执行数据库脚本前对数据库表进行处理,和,执行数据库脚本后进行的处理动作。
63.需要说明的是,本技术实施例不具体限定目标操作类别与目标公共机制之间具体的对应关系,该对应关系可以根据实际需要进行调整,作为一种示例,在目标操作类别为变更数据、删除和/或变更数据库表、数据库表变更后的数据处理时,与之对应的目标公共机制可以为确定所述目标公共机制包括在执行数据库脚本前对数据库表进行处理,和执行数据库脚本后进行的处理动作。也就是说,目标数据库脚本对应的目标操作类别为变更数据、删除和/或变更数据库表、数据库表变更后的数据处理时,可以利用所述目标公共机制,包括在执行数据库脚本前对数据库表进行处理,和执行数据库脚本后进行的处理动作,以共同完成目标数据库脚本的自动实施。
64.在本技术实施例中,在执行数据库脚本前对数据库表进行的处理,可以包括:对数据库表的备份处理,以及对数据库中数据的备份处理;在执行数据库脚本后进行的处理动作,可以包括:对数据库中数据的恢复、同义词的创建、授权管理。
65.可以理解的是,与目标操作类别对应的目标公共机制可以根据对已有的数据库脚本的实施方案梳理得到,基于不同的数据库脚本的实施方案,得到的与目标操作类别对应的目标公共机制可能会有所不同。因此,对于与目标操作类别对应的目标公共机制具体的内容,本技术实施例并不做具体限定。
66.s203,当所述目标操作类别为新增数据库表时。
67.需要说明的是,在s101获取的目标操作类型为新增数据库表时,对应的步骤为s203。
68.s204,确定所述目标公共机制包括执行数据库脚本后进行的处理动作。
69.需要说明的是,s203为执行s204的条件,只有符合s203的条件,才会确定所述目标公共机制包括执行数据库脚本后进行的处理动作。
70.需要说明的是,本技术实施例不具体限定目标操作类别与目标公共机制之间具体的对应关系,该对应关系可以根据实际需要进行调整,作为一种示例,在目标操作类别为新增数据库表时,与之对应的目标公共机制可以为执行数据库脚本后进行的处理动作。也就是说,目标数据库脚本对应的目标操作类别为新增数据库表时,可以利用所述目标公共机制,包括在执行数据库脚本后进行的处理动作,以共同完成目标数据库脚本的自动实施。可
以理解的是,由于目标操作类别为新增数据库表,也就是仅在原有的数据库表的基础上增加了内容,因此在执行目标数据库脚本前可以不进行例如数据库表的备份处理,如果需要恢复,仅需将新增的数据库表进行删除即可。
71.需要说明的是,本技术对于s201、s202与s203、s204之间并没有前后顺序的限定,其标号仅为对实施例的清晰描述,不代表其顺序。s201、s202与s203、s204为本技术提供的两个实施例。
72.可以理解的是,除上述实施例所列举的示例外,不排除有其他目标操作类别的可能,当所述目标操作类别为其他目标操作类别时,同样根据步骤s102的方法确定与所述目标操作类型对应的目标公共机制。
73.在本技术的一实施例中,获取目标数据库脚本的目标操作类别,获取到的目标操作类别为变更数据;根据所述目标操作类别,从公共机制集合中确定与所述目标操作类别对应的目标公共机制,因为已经确定了目标操作类别为变更数据,所以可以根据目标操作类别与公共机制之间的对应关系,从公共机制集合中确定与所述目标操作类别对应的目标公共机制,在本实施例中,确定出与“变更数据”对应的目标公共机制为“在执行数据库脚本前对数据库表进行备份,和执行数据库脚本后进行同义词创建和/或授权管理”;利用所述目标公共机制实施所述目标数据库脚本,由于目标数据库脚本的实施需要与其对应公共机制的配合,在本实施例中,确定出了目标数据库脚本的目标操作类别,也确定出了与所述目标操作类别对应的目标公共机制,也就是说,确定出了与目标数据库对应的目标公共机制,因此可以利用所述目标公共机制实施所述目标数据库脚本。
74.在本技术的另一实施例中,获取目标数据库脚本的目标操作类别,获取到的目标操作类别为删除和/或变更数据库表时;根据所述目标操作类别,从公共机制集合中确定与所述目标操作类别对应的目标公共机制,因为已经确定了目标操作类别为删除和/或变更数据库表,所以可以根据目标操作类别与公共机制之间的对应关系,从公共机制集合中确定与所述目标操作类别对应的目标公共机制,在本实施例中,确定出与“删除和/或变更数据库表”对应的目标公共机制为“在执行数据库脚本前对数据库表进行备份,和执行数据库脚本后进行同义词创建和/或授权管理”;利用所述目标公共机制实施所述目标数据库脚本,由于目标数据库脚本的实施需要与其对应公共机制的配合,在本实施例中,确定出了目标数据库脚本的目标操作类别,也确定出了与所述目标操作类别对应的目标公共机制,也就是说,确定出了与目标数据库对应的目标公共机制,因此可以利用所述目标公共机制实施所述目标数据库脚本。需要说明的是,在本实施例中,如果需要对变更的数据库表进行恢复,则确定出的与“变更数据库表”对应的目标公共机制为“在执行数据库脚本前对数据库表进行备份,和执行数据库脚本后进行同义词创建和/或授权管理,以及数据的恢复”。
75.根据上述实施例可见,本技术提供的实施例,通过对于数据库脚本的不同操作类别,确定出了与其操作类别对应的公共机制,利用所述公共机制实施数据库脚本,以此种方式完成了数据库脚本的自动实施,从而降低了实施数据库脚本的时间,进而从根本上降低了软件版本升级更新时所花费的时间。
76.装置实施例
77.本技术实施例还提供了一种数据库脚本自动实施的装置,如图3所示,为本技术实施例提供的一种数据库脚本自动实施的装置的结构示意图,其中,装置包括:类别获取模块
310、机制确定模块320以及脚本实施模块330。
78.所述类别获取模块310,用于:获取目标数据库脚本的目标操作类别;
79.所述机制确定模块320,用于:根据所述目标操作类别,从公共机制集合中确定与所述目标操作类别对应的目标公共机制;所述公共机制集合中包含的各公共机制,为基于与所述公共机制对应的操作类别相关的多个不同数据库脚本建立而成;
80.所述脚本实施模块330,用于:利用所述目标公共机制实施所述目标数据库脚本。
81.本技术实施例提供的一种数据库脚本自动实施的装置,其中,类别获取模块310可以包括:
82.解析获取模块,用于:解析目标数据库脚本的配置文件,获取所述目标数据库脚本的相关信息;
83.类别获取子模块,用于:根据所述相关信息,获取所述目标数据库脚本的目标操作类别。
84.本技术实施例提供的一种数据库脚本自动实施的装置,其中,机制确定模块320可以包括:
85.第一机制确定模块,用于:当所述目标操作类别为变更数据、删除和/或变更数据库表、数据库表变更后的数据处理时,确定所述目标公共机制包括在执行数据库脚本前对数据库表进行处理,和,执行数据库脚本后进行的处理动作;
86.第二机制确定模块,用于:当所述目标操作类别为新增数据库表时,确定所述目标公共机制包括执行数据库脚本后进行的处理动作。
87.由此可见,利用本技术实施例提供的数据库自动实施装置,通过获取目标数据库脚本的目标操作类别;根据所述目标操作类别,从公共机制集合中确定与所述目标操作类别对应的目标公共机制;所述公共机制集合中包含的各公共机制,为基于与所述公共机制对应的操作类别相关的多个不同数据库脚本建立而成;利用所述目标公共机制实施所述目标数据库脚本。利用上述装置,使得数据库脚本以及与其对应的公共机制共同完成了对数据库脚本的自动实施,从而降低了实施数据库脚本的时间,进而从根本上降低了软件版本升级更新时所花费的时间。
88.由于所述装置是与以上方法实施例提供的方法对应的装置,因此,关于所述装置的各个模块的具体实现,可以参考以上方法实施例的描述,此处不再赘述。
89.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
90.以上所述,仅为本技术的一种具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围
为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1