CN113901021A - 用于多版本数据库的升级脚本生成方法、装置与电子设备 - Google Patents
用于多版本数据库的升级脚本生成方法、装置与电子设备 Download PDFInfo
- Publication number
- CN113901021A CN113901021A CN202110968372.3A CN202110968372A CN113901021A CN 113901021 A CN113901021 A CN 113901021A CN 202110968372 A CN202110968372 A CN 202110968372A CN 113901021 A CN113901021 A CN 113901021A
- Authority
- CN
- China
- Prior art keywords
- version
- upgrading
- database
- script
- upgrade
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提出的用于多版本数据库的升级脚本生成方法、装置与电子设备,包括获取针对多版本数据库的维护记录,解析维护记录获取对多版本数据库中不同版本数据库的修改信息;根据修改信息构建对应不同数据库的升级脚本模板;获取用户发出的针对目标数据库的版本升级请求,解析版本升级请求获取目标数据库类型以及升级版本区间;从已构建的升级脚本模板中选取对应待目标数据库类型的升级脚本模板,结合得到的升级版本区间对升级脚本模板进行筛选排序,得到对应版本升级请求的升级脚本。通过在预先构建的升级脚本模版中筛选对应版本升级请求的升级脚本,降低了现有数据库升级流程中需要人工比对数据库信息的缺陷,提高了数据库升级效率。
Description
技术领域
本申请涉及数据库领域,尤其涉及用于多版本数据库的升级脚本生成方法、装置与电子设备。
背景技术
数据库系统上线运行后,随着业务的变更会导致一套系统在同一时期存在多个版本,同时还会出现同一套系统部署在不同数据库系统中,在系统升级中涉及到数据库结构变化时,现有方案是通过手工维护或者简单SQL比较方式生成升级脚本,如果涉及版本较多,现有方案必然带来大量相似重复性工作,而且版本升级固化,一般只能从低版本顺序向上升级,无法自由选择版本升级,例如系统存在版本V1.0、V2.0、V3.0、V4.0、V5.0时,如果想要自由选择版本升级,则需要维护当前版本与所需升级版本之间的升级脚本,另外如果同一系统涉及到多数据库时,还需要维护不同数据库的升级脚本,导致系统升级维护效率低下。
发明内容
本申请实施例提出了用于多版本数据库的升级脚本生成方法,通过在预先构建的升级脚本模版中筛选对应版本升级请求的升级脚本,降低了现有数据库升级流程中需要人工比对数据库信息的缺陷,提高了数据库升级效率。
具体的,根据本公开实施例的第一方面,本申请实施例提出的用于多版本数据库的升级脚本生成方法,包括:
获取针对多版本数据库的维护记录,解析维护记录获取对多版本数据库中不同版本数据库的修改信息;
根据修改信息构建对应不同数据库的升级脚本模板;
获取用户发出的针对目标数据库的版本升级请求,解析版本升级请求获取目标数据库类型以及升级版本区间;
从已构建的升级脚本模板中选取对应待目标数据库类型的升级脚本模板,结合得到的升级版本区间对升级脚本模板进行筛选排序,得到对应版本升级请求的升级脚本。
可选的,所述获取针对多版本数据库的维护记录,解析维护记录获取对多版本数据库中不同版本数据库的修改信息,包括:
从数据库历史维护记录中基于数据库唯一标识选取对应同一数据库的维护记录;
对维护记录进行解析,得到对应不同版本数据库的修改信息。
可选的,所述根据修改信息构建对应不同数据库的升级脚本模板,包括:
根据得到的修改信息确定当前修改记录待处理的数据库资源修改类型;
基于已确定的数据库资源修改类型调用预设的对应不同类型的数据库的升级脚本处理引擎;
根据升级脚本处理引擎构建对应每个类型的升级脚本模板。
可选的,所述获取用户发出的针对目标数据库的版本升级请求,解析版本升级请求获取目标数据库类型以及升级版本区间,包括:
获取用户发出的版本升级请求;
对版本升级请求进行解析得到对应目标数据库类型的唯一标识以及升级版本号;
根据唯一标识确定目标数据库的版本取值范围,结合升级版本号确定升级版本区间。
可选的,所述从已构建的升级脚本模板中选取对应待目标数据库类型的升级脚本模板,结合得到的升级版本区间对升级脚本模板进行筛选排序,得到对应版本升级请求的升级脚本,包括:
获取目标数据库的类型特征码;
在已构建的升级脚本模版中选取对应类型特征码的升级脚本模版;
获取升级版本区间中的最小版本号以及最大版本号;
基于最小版本号以及最大版本号对得到的升级脚本模版进行筛选,将筛选得到的升级脚本模版按版本号大小进行排序,得到最终对应版本升级请求的升级脚本。
根据本公开实施例的第二方面,本申请实施例提出的用于多版本数据库的升级脚本生成装置,包括:
信息获取单元,用于获取针对多版本数据库的维护记录,解析维护记录获取对多版本数据库中不同版本数据库的修改信息;
模板构建单元,用于根据修改信息构建对应不同数据库的升级脚本模板;
请求解析单元,用于获取用户发出的针对目标数据库的版本升级请求,解析版本升级请求获取目标数据库类型以及升级版本区间;
脚本构建单元,用于从已构建的升级脚本模板中选取对应待目标数据库类型的升级脚本模板,结合得到的升级版本区间对升级脚本模板进行筛选排序,得到对应版本升级请求的升级脚本。
可选的,所述信息获取单元,包括:
数据获取子单元,用于从数据库历史维护记录中基于数据库唯一标识选取对应同一数据库的维护记录;
信息获取子单元,用于对维护记录进行解析,得到对应不同版本数据库的修改信息。
可选的,所述模板构建单元,包括:
类型确定子单元,用于根据得到的修改信息确定当前修改记录待处理的数据库资源修改类型;
引擎选取子单元,用于基于已确定的数据库资源修改类型调用预设的对应不同类型的数据库的升级脚本处理引擎;
模板构建子单元,用于根据升级脚本处理引擎构建对应每个类型的升级脚本模板。
可选的,所述请求解析单元,包括:
请求获取子单元,用于获取用户发出的版本升级请求;
标识解析子单元,用于对版本升级请求进行解析得到对应目标数据库类型的唯一标识以及升级版本号;
区间确定子单元,用于根据唯一标识确定目标数据库的版本取值范围,结合升级版本号确定升级版本区间。
可选的,所述脚本构建单元,包括:
特征码获取子单元,用于获取目标数据库的类型特征码;
模板选取子单元,用于在已构建的升级脚本模版中选取对应类型特征码的升级脚本模版;
版本号选取子单元,用于获取升级版本区间中的最小版本号以及最大版本号;
模板选取子单元,用于基于最小版本号以及最大版本号对得到的升级脚本模版进行筛选,将筛选得到的升级脚本模版按版本号大小进行排序,得到最终对应版本升级请求的升级脚本。
根据本公开实施例的第三方面,本申请实施例提出的一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行用于多版本数据库的升级脚本生成方法的步骤。
根据本公开实施例的第四方面,本申请实施例提出的一种计算机可读存储介质其上存储有计算机程序,所述计算机程序被处理器执行用于多版本数据库的升级脚本生成方法的步骤。
有益效果:
无需保存维护各个版本的升级脚本;可以灵活自由选择需要升级的版本,可以自动实现跳跃版本升级脚本生成。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提出的用于多版本数据库的升级脚本生成方法的流程示意图;
图2为本申请实施例提出的用于多版本数据库的升级脚本生成装置的结构示意图;
图3为本申请实施例提出的一种电子设备的结构示意图。
具体实施方式
为使本申请的结构和优点更加清楚,下面将结合附图对本申请的结构作进一步地描述。
具体的,本申请实施例提出的用于多版本数据库的升级脚本生成方法,如图1所示,包括:
11,获取针对多版本数据库的维护记录,解析维护记录获取对多版本数据库中不同版本数据库的修改信息;
12,根据修改信息构建对应不同数据库的升级脚本模板;
13,获取用户发出的针对目标数据库的版本升级请求,解析版本升级请求获取目标数据库类型以及升级版本区间;
14,从已构建的升级脚本模板中选取对应待目标数据库类型的升级脚本模板,结合得到的升级版本区间对升级脚本模板进行筛选排序,得到对应版本升级请求的升级脚本。
在实施中,本申请实施例提出的用于数据库升级脚本的生成方法,主要分为两个阶段,第一是在升级脚本生成的时间间隔中,基于数据库的维护记录,主动记录并存储维护记录中的操作信息作为修改信息,并根据修改信息构建对应不同数据库、不同版本下的升级脚本模版。其二则是在接收到版本升级请求时,根据版本升级请求中的具体内容从已构建的升级脚本模版中选取所需的升级脚本。由于已构建的升级脚本模版中存储有对应不同类型数据库、不同版本下的信息,因此可以直接生成所需的升级脚本,用于完成版本升级请求中所需的数据库升级或降级操作。
具体的,上述方案中基于维护记录生成修改信息的操作即步骤11具体包括:
111,从数据库历史维护记录中基于数据库唯一标识选取对应同一数据库的维护记录;
112,对维护记录进行解析,得到对应不同版本数据库的修改信息。
在实施中,目前数据库的维护记录中主要包含两类信息,结构信息以及记录信息,结构信息主要用来描述数据库的构建结构,例如数据库表的字段、数据类型、索引等结构信息,记录信息用来描述数据库表在数据库系统中的数据记录,此处以数据库表为例,不同数据库还会维护其他数据库资源信息,例如数据库视图、数据库序列等。结构信息和记录信息可以同时维护在一份资源中也可以分开维护到不同资源中,维护到不同资源中可以通过唯一标识来标识当前结构信息和记录信息属于同一个数据库资源。
每次对数据库进行维护时,生成的维护记录一方面会在结构信息中增加修改记录,每一条修改记录增加固定的内容设定,例如修改时间、修改版本、修改单号、修改人、修改内容等;同时每一条修改记录都会对应数据库资源结构的一种操作,例如是新增表、增加表字段、修改表字段、增加索引、删除索引等操作。
另一方面则会在数据记录信息中增加修改记录,每一条修改记录增加固定的内容设定,例如修改时间、修改版本、修改单号、修改人、修改内容等;同时每一条修改记录都会对应数据库资源记录的一种操作,例如新增记录、修改记录、删除记录。
可参考的数据库资源修改记录描述信息如表1所示:
可参考的数据库资源修改类型描述信息为:
修改类型属性 | 属性说明 |
新增表 | 表示当前表基于当前版本才添加 |
增加表字段 | 为当前表新增加一条或者多条表字段信息 |
删除表字段 | 为当前表新删除一条或者多条表字段信息 |
重命名表字段 | 为当前表新重命名一条或者多条表字段信息 |
增加索引 | 为当前表增加一条或者多条表索引信息 |
删除索引 | 为当前表删除一条或者多条表索引信息 |
增加索引字段 | 为当前表一条表索引信息增加索引字段 |
删除索引字段 | 为当前表一条表索引信息删除索引字段 |
调整索引字段顺序 | 为当前表一条表索引信息调整索引字段顺序 |
调整索引唯一性 | 为当前表一条表索引信息调整唯一性 |
修改表字段类型 | 为当前表一条或者多条表字段信息修改类型 |
修改索引 | 为当前表修改一条或者多条表索引信息 |
修改表字段为空 | 为当前表一条或者多条表字段信息修改为空属性 |
表1
可选的,上述方案中构建对应不同数据库的升级脚本模板的操作即步骤12具体包括:
121,根据得到的修改信息确定当前修改记录待处理的数据库资源修改类型;
122,基于已确定的数据库资源修改类型调用预设的对应不同类型的数据库的升级脚本处理引擎;
123,根据升级脚本处理引擎构建对应每个类型的升级脚本模板。
在实施中,本步骤构建升级脚本模板的操作是基于前述步骤中得到的结构信息和数据信息执行的。根据结构信息、数据信息的不同类型以及不同内容调用预设的升级脚本处理引擎来完成构建升级脚本的操作。
在调用过程前需要确定当前是否存在指定数据库类型升级脚本引擎,如果存在则直接调用对应数据库类型脚本生成引擎,升级脚本引擎根据不同数据库类型分别封装相应的数据库操作脚本语句。
如果不存在则判断是否需要添加所需的数据库类型升级脚本引擎,若需要则对应数据库类型脚本生成引擎。
具体的,在实际执行过程中,上述数据库类型脚本生成引擎生成升级脚本模板的主要流程为:
步骤1,根据数据库类型确定当前数据库资源的修改模式。
步骤2,编写匹配每类修改模式的升级脚本,将制定的操作脚本以及当前数据库类型内置于执行数据库脚本升级的当前装置中。
步骤3,重新执行前序的生成数据库升级脚本操作。
可选的,上述方案中解析版本升级请求获取目标数据库类型以及升级版本区间的操作即步骤13具体包括:
131,获取用户发出的版本升级请求;
132,对版本升级请求进行解析得到对应目标数据库类型的唯一标识以及升级版本号;
133,根据唯一标识确定目标数据库的版本取值范围,结合升级版本号确定升级版本区间。
在实施中,由于在用户发出的版本升级请求中会指明待升级的目标数据库类型,并且类型一般是用数据库的唯一标识进行记录的,因此根据对应目标数据库类型的唯一标识能够快速确定目标数据库的类型,用于确定目标数据库的版本取值范围,例如确定的目标数据库已存在的版本取值范围为V1.0至V5.0。
同时在根据版本升级请求还用于获取目标数据库的升级版本号,该升级版本号用于结合版本取值范围确定升级版本区间为V1.9至V4.8。
可选的,所述从已构建的升级脚本模板中选取对应待目标数据库类型的升级脚本模板,结合得到的升级版本区间对升级脚本模板进行筛选排序,得到对应版本升级请求的升级脚本,包括:
141,获取目标数据库的类型特征码;
142,在已构建的升级脚本模版中选取对应类型特征码的升级脚本模版;
143,获取升级版本区间中的最小版本号以及最大版本号;
144,基于最小版本号以及最大版本号对得到的升级脚本模版进行筛选,将筛选得到的升级脚本模版按版本号大小进行排序,得到最终对应版本升级请求的升级脚本。
在实施中,此时根据目标数据库的类型特征码可以在已构建的升级脚本模版中确定对应升级版本区间每个版本号的升级脚本模版,例如V1.9至V4.8。进一步的根据最小版本号V1.9、最大版本号V4.8对升级脚本模版按从大到小或从小到大的顺序进行排序,最终得到多个对应版本升级请求的升级脚本。
本申请实施例提供一种多版本多数据库升级脚本自动生成方法,可以有效地根据数据库差异以及系统版本差异,自动生成相应数据库系统对应版本的升级脚本,另外还提供一种图形化生成装置,用于维护数据库数据和升级脚本的自动生成。
实施例二
根据本公开实施例的第二方面,本申请实施例提出的用于多版本数据库的升级脚本生成装置2,如图2所示,包括:
信息获取单元21,用于获取针对多版本数据库的维护记录,解析维护记录获取对多版本数据库中不同版本数据库的修改信息;
模板构建单元22,用于根据修改信息构建对应不同数据库的升级脚本模板;
请求解析单元23,用于获取用户发出的针对目标数据库的版本升级请求,解析版本升级请求获取目标数据库类型以及升级版本区间;
脚本构建单元24,用于从已构建的升级脚本模板中选取对应待目标数据库类型的升级脚本模板,结合得到的升级版本区间对升级脚本模板进行筛选排序,得到对应版本升级请求的升级脚本。
在实施中,本申请实施例提出的用于数据库升级脚本的生成方法,主要分为两个阶段,第一是在升级脚本生成的时间间隔中,基于数据库的维护记录,主动记录并存储维护记录中的操作信息作为修改信息,并根据修改信息构建对应不同数据库、不同版本下的升级脚本模版。其二则是在接收到版本升级请求时,根据版本升级请求中的具体内容从已构建的升级脚本模版中选取所需的升级脚本。由于已构建的升级脚本模版中存储有对应不同类型数据库、不同版本下的信息,因此可以直接生成所需的升级脚本,用于完成版本升级请求中所需的数据库升级或降级操作。
具体的,上述方案中执行基于维护记录生成修改信息操作的信息获取单元21包括:
数据获取子单元211,用于从数据库历史维护记录中基于数据库唯一标识选取对应同一数据库的维护记录;
信息获取子单元212,用于对维护记录进行解析,得到对应不同版本数据库的修改信息。
在实施中,目前数据库的维护记录中主要包含两类信息,结构信息以及记录信息,结构信息主要用来描述数据库的构建结构,例如数据库表的字段、数据类型、索引等结构信息,记录信息用来描述数据库表在数据库系统中的数据记录,此处以数据库表为例,不同数据库还会维护其他数据库资源信息,例如数据库视图、数据库序列等。结构信息和记录信息可以同时维护在一份资源中也可以分开维护到不同资源中,维护到不同资源中可以通过唯一标识来标识当前结构信息和记录信息属于同一个数据库资源。
每次对数据库进行维护时,生成的维护记录一方面会在结构信息中增加修改记录,每一条修改记录增加固定的内容设定,例如修改时间、修改版本、修改单号、修改人、修改内容等;同时每一条修改记录都会对应数据库资源结构的一种操作,例如是新增表、增加表字段、修改表字段、增加索引、删除索引等操作。
另一方面则会在数据记录信息中增加修改记录,每一条修改记录增加固定的内容设定,例如修改时间、修改版本、修改单号、修改人、修改内容等;同时每一条修改记录都会对应数据库资源记录的一种操作,例如新增记录、修改记录、删除记录。
可参考的数据库资源修改记录描述信息如表1所示:
可参考的数据库资源修改类型描述信息为:
修改类型属性 | 属性说明 |
新增表 | 表示当前表基于当前版本才添加 |
增加表字段 | 为当前表新增加一条或者多条表字段信息 |
删除表字段 | 为当前表新删除一条或者多条表字段信息 |
重命名表字段 | 为当前表新重命名一条或者多条表字段信息 |
增加索引 | 为当前表增加一条或者多条表索引信息 |
删除索引 | 为当前表删除一条或者多条表索引信息 |
增加索引字段 | 为当前表一条表索引信息增加索引字段 |
删除索引字段 | 为当前表一条表索引信息删除索引字段 |
调整索引字段顺序 | 为当前表一条表索引信息调整索引字段顺序 |
调整索引唯一性 | 为当前表一条表索引信息调整唯一性 |
修改表字段类型 | 为当前表一条或者多条表字段信息修改类型 |
修改索引 | 为当前表修改一条或者多条表索引信息 |
修改表字段为空 | 为当前表一条或者多条表字段信息修改为空属性 |
表1
可选的,执行构建对应不同数据库的升级脚本模板的操作的模板构建单元22,包括:
类型确定子单元221,用于根据得到的修改信息确定当前修改记录待处理的数据库资源修改类型;
引擎选取子单元222,用于基于已确定的数据库资源修改类型调用预设的对应不同类型的数据库的升级脚本处理引擎;
模板构建子单元223,用于根据升级脚本处理引擎构建对应每个类型的升级脚本模板。
在实施中,本步骤构建升级脚本模板的操作是基于前述步骤中得到的结构信息和数据信息执行的。根据结构信息、数据信息的不同类型以及不同内容调用预设的升级脚本处理引擎来完成构建升级脚本的操作。
在调用过程前需要确定当前是否存在指定数据库类型升级脚本引擎,如果存在则直接调用对应数据库类型脚本生成引擎,升级脚本引擎根据不同数据库类型分别封装相应的数据库操作脚本语句。
如果不存在则判断是否需要添加所需的数据库类型升级脚本引擎,若需要则对应数据库类型脚本生成引擎。
具体的,在实际执行过程中,上述数据库类型脚本生成引擎生成升级脚本模板的主要流程为:
步骤1,根据数据库类型确定当前数据库资源的修改模式。
步骤2,编写匹配每类修改模式的升级脚本,将制定的操作脚本以及当前数据库类型内置于执行数据库脚本升级的当前装置中。
步骤3,重新执行前序的生成数据库升级脚本操作。
可选的,所述请求解析单元23,包括:
请求获取子单元231,用于获取用户发出的版本升级请求;
标识解析子单元232,用于对版本升级请求进行解析得到对应目标数据库类型的唯一标识以及升级版本号;
区间确定子单元233,用于根据唯一标识确定目标数据库的版本取值范围,结合升级版本号确定升级版本区间。
在实施中,由于在用户发出的版本升级请求中会指明待升级的目标数据库类型,并且类型一般是用数据库的唯一标识进行记录的,因此根据对应目标数据库类型的唯一标识能够快速确定目标数据库的类型,用于确定目标数据库的版本取值范围,例如确定的目标数据库已存在的版本取值范围为V1.0至V5.0。
同时在根据版本升级请求还用于获取目标数据库的升级版本号,该升级版本号用于结合版本取值范围确定升级版本区间为V1.9至V4.8。
可选的,所述脚本构建单元24,包括:
特征码获取子单元241,用于获取目标数据库的类型特征码;
模板选取子单元242,用于在已构建的升级脚本模版中选取对应类型特征码的升级脚本模版;
版本号选取子单元243,用于获取升级版本区间中的最小版本号以及最大版本号;
模板选取子单元244,用于基于最小版本号以及最大版本号对得到的升级脚本模版进行筛选,将筛选得到的升级脚本模版按版本号大小进行排序,得到最终对应版本升级请求的升级脚本。
在实施中,此时根据目标数据库的类型特征码可以在已构建的升级脚本模版中确定对应升级版本区间每个版本号的升级脚本模版,例如V1.9至V4.8。进一步的根据最小版本号V1.9、最大版本号V4.8对升级脚本模版按从大到小或从小到大的顺序进行排序,最终得到多个对应版本升级请求的升级脚本。
本申请实施例提供一种多版本多数据库升级脚本自动生成装置,可以有效地根据数据库差异以及系统版本差异,自动生成相应数据库系统对应版本的升级脚本,另外还提供一种图形化生成装置,用于维护数据库数据和升级脚本的自动生成。
实施例三
根据本公开实施例的第三方面,本实施例提供了一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行用于多版本数据库的升级脚本生成方法的步骤。
根据本公开实施例的第四方面,本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行用于多版本数据库的升级脚本生成方法的步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。作为模块或单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本示例实施方式中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例中所述用于多版本数据库的升级脚本生成方法的步骤。所述用于多版本数据库的升级脚本生成方法的具体步骤可参考前述实施例中关于上述数据处理步骤的详细描述,此处不再赘述。所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本示例实施方式中,还提供一种电子设备,该电子设备可以包括处理器以及用于存储所述处理器的可执行指令的存储器。其中,所述处理器配置为经由执行所述可执行指令来执行上述任一实施例中所述用于多版本数据库的升级脚本生成方法的步骤。该生成方法的步骤可参考前述方法实施例中的详细描述,此处不再赘述。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
图3示出根据本公开示例实施方式中一种电子设备的示意图。例如,装置可以被提供为一服务器或客户端。参照图3,设备包括处理组件422,其进一步包括一个或多个处理器,以及由存储器432所代表的存储器资源,用于存储可由处理组件422执行的指令,例如应用程序。存储器432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件422被配置为执行指令,以执行上述方法。
装置800还可以包括一个电源组件426被配置为执行装置400的电源管理,一个有线或无线网络接口450被配置为将装置400连接到网络,和一个输入输出(I/O)接口458。装置800可以操作基于存储在存储器432的操作系统,例如Windows Server TM,Mac OS XTM,Unix TM、Linux TM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本实施例旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
Claims (12)
1.用于多版本数据库的升级脚本生成方法,其特征在于,所述生成方法包括:
获取针对多版本数据库的维护记录,解析维护记录获取对多版本数据库中不同版本数据库的修改信息;
根据修改信息构建对应不同数据库的升级脚本模板;
获取用户发出的针对目标数据库的版本升级请求,解析版本升级请求获取目标数据库类型以及升级版本区间;
从已构建的升级脚本模板中选取对应待目标数据库类型的升级脚本模板,结合得到的升级版本区间对升级脚本模板进行筛选排序,得到对应版本升级请求的升级脚本。
2.根据权利要求1所述的用于多版本数据库的升级脚本生成方法,其特征在于,所述获取针对多版本数据库的维护记录,解析维护记录获取对多版本数据库中不同版本数据库的修改信息,包括:
从数据库历史维护记录中基于数据库唯一标识选取对应同一数据库的维护记录;
对维护记录进行解析,得到对应不同版本数据库的修改信息。
3.根据权利要求1所述的用于多版本数据库的升级脚本生成方法,其特征在于,所述根据修改信息构建对应不同数据库的升级脚本模板,包括:
根据得到的修改信息确定当前修改记录待处理的数据库资源修改类型;
基于已确定的数据库资源修改类型调用预设的对应不同类型的数据库的升级脚本处理引擎;
根据升级脚本处理引擎构建对应每个类型的升级脚本模板。
4.根据权利要求1所述的用于多版本数据库的升级脚本生成方法,其特征在于,所述获取用户发出的针对目标数据库的版本升级请求,解析版本升级请求获取目标数据库类型以及升级版本区间,包括:
获取用户发出的版本升级请求;
对版本升级请求进行解析得到对应目标数据库类型的唯一标识以及升级版本号;
根据唯一标识确定目标数据库的版本取值范围,结合升级版本号确定升级版本区间。
5.根据权利要求1所述的用于多版本数据库的升级脚本生成方法,其特征在于,所述从已构建的升级脚本模板中选取对应待目标数据库类型的升级脚本模板,结合得到的升级版本区间对升级脚本模板进行筛选排序,得到对应版本升级请求的升级脚本,包括:
获取目标数据库的类型特征码;
在已构建的升级脚本模版中选取对应类型特征码的升级脚本模版;
获取升级版本区间中的最小版本号以及最大版本号;
基于最小版本号以及最大版本号对得到的升级脚本模版进行筛选,将筛选得到的升级脚本模版按版本号大小进行排序,得到最终对应版本升级请求的升级脚本。
6.用于多版本数据库的升级脚本生成装置,其特征在于,所述生成装置包括:
信息获取单元,用于获取针对多版本数据库的维护记录,解析维护记录获取对多版本数据库中不同版本数据库的修改信息;
模板构建单元,用于根据修改信息构建对应不同数据库的升级脚本模板;
请求解析单元,用于获取用户发出的针对目标数据库的版本升级请求,解析版本升级请求获取目标数据库类型以及升级版本区间;
脚本构建单元,用于从已构建的升级脚本模板中选取对应待目标数据库类型的升级脚本模板,结合得到的升级版本区间对升级脚本模板进行筛选排序,得到对应版本升级请求的升级脚本。
7.根据权利要求1所述的用于多版本数据库的升级脚本生成装置,其特征在于,所述信息获取单元,包括:
数据获取子单元,用于从数据库历史维护记录中基于数据库唯一标识选取对应同一数据库的维护记录;
信息获取子单元,用于对维护记录进行解析,得到对应不同版本数据库的修改信息。
8.根据权利要求1所述的用于多版本数据库的升级脚本生成装置,其特征在于,所述模板构建单元,包括:
类型确定子单元,用于根据得到的修改信息确定当前修改记录待处理的数据库资源修改类型;
引擎选取子单元,用于基于已确定的数据库资源修改类型调用预设的对应不同类型的数据库的升级脚本处理引擎;
模板构建子单元,用于根据升级脚本处理引擎构建对应每个类型的升级脚本模板。
9.根据权利要求1所述的用于多版本数据库的升级脚本生成装置,其特征在于,所述请求解析单元,包括:
请求获取子单元,用于获取用户发出的版本升级请求;
标识解析子单元,用于对版本升级请求进行解析得到对应目标数据库类型的唯一标识以及升级版本号;
区间确定子单元,用于根据唯一标识确定目标数据库的版本取值范围,结合升级版本号确定升级版本区间。
10.根据权利要求1所述的用于多版本数据库的升级脚本生成装置,其特征在于,所述脚本构建单元,包括:
特征码获取子单元,用于获取目标数据库的类型特征码;
模板选取子单元,用于在已构建的升级脚本模版中选取对应类型特征码的升级脚本模版;
版本号选取子单元,用于获取升级版本区间中的最小版本号以及最大版本号;
模板选取子单元,用于基于最小版本号以及最大版本号对得到的升级脚本模版进行筛选,将筛选得到的升级脚本模版按版本号大小进行排序,得到最终对应版本升级请求的升级脚本。
11.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至5任一项所述用于多版本数据库的升级脚本生成方法的步骤。
12.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行根据权利要求1至5任一项所述用于多版本数据库的升级脚本生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110968372.3A CN113901021A (zh) | 2021-08-23 | 2021-08-23 | 用于多版本数据库的升级脚本生成方法、装置与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110968372.3A CN113901021A (zh) | 2021-08-23 | 2021-08-23 | 用于多版本数据库的升级脚本生成方法、装置与电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113901021A true CN113901021A (zh) | 2022-01-07 |
Family
ID=79187792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110968372.3A Pending CN113901021A (zh) | 2021-08-23 | 2021-08-23 | 用于多版本数据库的升级脚本生成方法、装置与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113901021A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860314A (zh) * | 2022-07-06 | 2022-08-05 | 深圳华锐分布式技术股份有限公司 | 基于数据库兼容的部署升级方法、装置、设备及介质 |
CN116088926A (zh) * | 2023-01-10 | 2023-05-09 | 睿智合创(北京)科技有限公司 | 一种决策组件版本管理方法 |
-
2021
- 2021-08-23 CN CN202110968372.3A patent/CN113901021A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860314A (zh) * | 2022-07-06 | 2022-08-05 | 深圳华锐分布式技术股份有限公司 | 基于数据库兼容的部署升级方法、装置、设备及介质 |
CN114860314B (zh) * | 2022-07-06 | 2022-10-04 | 深圳华锐分布式技术股份有限公司 | 基于数据库兼容的部署升级方法、装置、设备及介质 |
CN116088926A (zh) * | 2023-01-10 | 2023-05-09 | 睿智合创(北京)科技有限公司 | 一种决策组件版本管理方法 |
CN116088926B (zh) * | 2023-01-10 | 2023-10-20 | 睿智合创(北京)科技有限公司 | 一种决策组件版本管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739894B (zh) | 补充元数据描述的方法、装置、设备及存储介质 | |
CN110908997B (zh) | 数据血缘构建方法、装置、服务器及可读存储介质 | |
CN113901021A (zh) | 用于多版本数据库的升级脚本生成方法、装置与电子设备 | |
CN111339171B (zh) | 数据查询的方法、装置及设备 | |
CN108197091B (zh) | 一种创建数据表的方法、系统及相关设备 | |
CN108415998B (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
CN112364014B (zh) | 数据查询方法、装置、服务器及存储介质 | |
CN111427784B (zh) | 一种数据获取方法、装置、设备及存储介质 | |
CN111125213A (zh) | 数据采集的方法、装置及其系统 | |
CN110990055B (zh) | 一种基于程序分析的Pull Request功能分类方法 | |
CN112395307A (zh) | 执行语句的方法、装置、服务器及存储介质 | |
CN116595044A (zh) | 数据库选择率计算的优化方法、存储介质与设备 | |
CN112100168A (zh) | 一种确定数据关联关系的方法和装置 | |
CN116204428A (zh) | 一种测试用例生成方法和装置 | |
CN110909072A (zh) | 一种数据表建立方法、装置及设备 | |
CN112835932B (zh) | 业务表的批量处理方法及装置、非易失性存储介质 | |
CN113448985A (zh) | 一种api接口生成方法、调用方法、装置及电子设备 | |
CN115237998A (zh) | 一种信息审核的处理方法和装置 | |
CN114661753A (zh) | 话单检索方法及装置 | |
CN113760489B (zh) | 一种资源配置方法和装置 | |
CN116431677B (zh) | 基于内存数据库的数据路由方法、系统和可读存储介质 | |
CN110532084B (zh) | 平台任务的调度方法、装置、设备及存储介质 | |
Schäfer et al. | Sampling with incremental mapreduce | |
CN116501367A (zh) | 应用程序接口api的生成方法、装置、设备及介质 | |
CN115827668A (zh) | 数据筛选方法、装置、存储介质及计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |