CN115495107A - 一种版本部署方法、装置及电子设备 - Google Patents
一种版本部署方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115495107A CN115495107A CN202211228234.2A CN202211228234A CN115495107A CN 115495107 A CN115495107 A CN 115495107A CN 202211228234 A CN202211228234 A CN 202211228234A CN 115495107 A CN115495107 A CN 115495107A
- Authority
- CN
- China
- Prior art keywords
- database
- deployment
- program
- sequence
- version
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种版本部署方法、装置及电子设备,可应用于金融领域或其他领域。基于业务需求信息,确定任务变更记录集,并对任务变更记录集中的各个数据库程序进行组包操作,获取预先配置的部署节点信息,以及部署节点与各个数据库程序对应的数据库节点之间的访问连通性信息,读取预先配置的各个数据库程序的依赖关系和部署顺序,动态配置各个数据库程序内部的子程序并行度,并通过部署节点与各个数据库程序对应的数据库节点之间的访问连通性信息,按照各个数据库程序内部的子程序并行度、各个数据库程序的依赖关系和部署顺序,并行进行数据库程序部署操作。即本发明能够在异构数据库系统的版本部署时并行进行版本部署,提高部署效率。
Description
技术领域
本发明涉及版本部署领域,更具体的说,涉及一种版本部署方法、装置及电子设备。
背景技术
版本部署是指让软件开发者设计出来的测试版本或者正式版本在某个环境上运行起来的方法或者步骤。
常见的数据库版本部署一般需要下列步骤:一般先将版本FTP(File TransferProtocol,文件传输协议)到指定的数据库服务器节点,然后访问数据库,进行安装部署。
但对于一个包含有多个数据库系统的异构数据库系统的复合型版本而言,各个数据库程序需要单独组包,单独串行安装部署,软件部署效率较低。
发明内容
有鉴于此,本发明提供一种版本部署方法、装置及电子设备,以解决异构数据库系统的软件部署效率较低的问题。
为解决上述技术问题,本发明采用了如下技术方案:
一种版本部署方法,包括:
获取异构数据库系统的业务需求信息,并基于所述业务需求信息,确定任务变更记录集;
按照预设的版本组包策略,对所述任务变更记录集中的各个数据库程序进行组包操作;
获取预先配置的部署节点信息,以及部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息;
读取预先配置的各个所述数据库程序的依赖关系和部署顺序;
动态配置各个所述数据库程序内部的子程序并行度,并通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,按照各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,并行进行数据库程序部署操作。
可选地,读取预先配置的各个所述数据库程序的依赖关系和部署顺序,包括:
读取预先配置的各个所述数据库程序之间的依赖关系和部署顺序,以及读取预先配置的各个所述数据库程序内部的子程序之间的依赖关系和部署顺序。
可选地,通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,按照各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,并行进行数据库程序部署操作,包括:
通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,调用数据库连接程序进行数据库连接操作;
基于各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,调用安装检查程序检查安装顺序以及程序完整性,并在安装顺序正确以及程序完整的情况下,调用不同的数据库部署程序进行不同的数据库程序部署操作。
可选地,调用不同的数据库部署程序进行不同的数据库程序部署操作,包括:
针对不同数据库之间,调用所述数据库部署程序按照读取数据库间的目录顺序进行串行部署;所述目录顺序基于各个所述数据库程序的依赖关系和部署顺序确定;
在同一数据库内,针对存在依赖关系的子程序,调用数据库部署程序按照读取的各个安装顺序文件中的默认文件顺序或者动态调整后的文件顺序进行串行部署操作,以及针对不存在依赖关系的子程序,调用数据库部署程序基于安装顺序文件内的排列顺序,按照子程序并行度并行进行部署操作;其中,在同一数据库内,存在依赖关系的子程序会按照依赖关系分类放在不同的安装顺序文件中;不存在依赖关系的子程序会放在相同的安装顺序文件中。
可选地,按照预设的版本组包策略,对所述任务变更记录集中的各个数据库程序进行组包操作,包括:
获取预设的版本组包策略;所述版本组包策略包括:不同数据库程序按照目录、程序类型以及用户的分类原则进行单独存放的组包方式;
基于所述版本组包策略,将所述任务变更记录集中的各个数据库程序存放到相应位置;
基于存放位置,提取所述任务变更记录集中的各个数据库程序。
一种版本部署装置,包括:
记录集确定模块,用于获取异构数据库系统的业务需求信息,并基于所述业务需求信息,确定任务变更记录集;
组包模块,用于按照预设的版本组包策略,对所述任务变更记录集中的各个数据库程序进行组包操作;
信息获取模块,用于获取预先配置的部署节点信息,以及部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息;
数据读取模块,用于读取预先配置的各个所述数据库程序的依赖关系和部署顺序;
程序部署模块,用于动态配置各个所述数据库程序内部的子程序并行度,并通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,按照各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,并行进行数据库程序部署操作。
可选地,所述数据读取模块具体用于:
读取预先配置的各个所述数据库程序之间的依赖关系和部署顺序,以及读取预先配置的各个所述数据库程序内部的子程序之间的依赖关系和部署顺序。
可选地,所述程序部署模块包括:
连接操作子模块,用于通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,调用数据库连接程序进行数据库连接操作;
程序部署子模块,用于基于各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,调用安装检查程序检查安装顺序以及程序完整性,并在安装顺序正确以及程序完整的情况下,调用不同的数据库部署程序进行不同的数据库程序部署操作。
可选地,所述程序部署子模块具体用于:
针对不同数据库之间,调用所述数据库部署程序按照读取数据库间的目录顺序进行串行部署;所述目录顺序基于各个所述数据库程序的依赖关系和部署顺序确定;
在同一数据库内,针对存在依赖关系的子程序,调用数据库部署程序按照读取的各个安装顺序文件中的默认文件顺序或者动态调整后的文件顺序进行串行部署操作,以及针对不存在依赖关系的子程序,调用数据库部署程序基于安装顺序文件内的排列顺序,按照子程序并行度并行进行部署操作;其中,在同一数据库内,存在依赖关系的子程序会按照依赖关系分类放在不同的安装顺序文件中;不存在依赖关系的子程序会放在相同的安装顺序文件中。
一种电子设备,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于执行上述的一种版本部署方法。
相较于现有技术,本发明具有以下有益效果:
本发明提供了一种版本部署方法、装置及电子设备,获取异构数据库系统的业务需求信息,并基于所述业务需求信息,确定任务变更记录集,按照预设的版本组包策略,对所述任务变更记录集中的各个数据库程序进行组包操作,获取预先配置的部署节点信息,以及部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,读取预先配置的各个所述数据库程序的依赖关系和部署顺序,动态配置各个所述数据库程序内部的子程序并行度,并通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,按照各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,并行进行数据库程序部署操作。即通过本发明,能够在异构数据库系统的版本部署时,并行进行版本部署,提高部署效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种版本部署方法的方法流程图;
图2为本发明实施例提供的一种版本部署方法的场景示意图;
图3为本发明实施例提供的另一种版本部署方法的场景示意图;
图4为本发明实施例提供的再一种版本部署方法的场景示意图;
图5为本发明实施例提供的另一种版本部署方法的方法流程图;
图6为本发明实施例提供的又一种版本部署方法的场景示意图;
图7为本发明实施例提供的一种版本部署装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了本领域技术人员能够更加清楚的了解本发明,现对本发明中的一些术语进行解释。
信息安全:是指为数据处理系统而采取技术的和管理的安全保护,保护计算机硬件、软件、数据不因偶然的或者恶意的原因而遭到破坏、更改、显露。
版本部署:是指让软件开发者设计出来的测试版本或者正式版本在某个环境上运行起来的方法或者步骤。
异构数据库系统:是指相关的多个数据库系统的集合,可以实现数据的共享和透明访问,几个数据库系统在加入异构数据库系统之前本身就已经存在,拥有自己的数据库管理系统、异构数据库的各个组成部分具有自身的自治性,实现数据共享的同时,每个数据库系统仍有自己的应用特性、完整性控制和安全性控制。
在实际应用中,常见的数据库版本部署一般需要下列步骤:一般先将版本FTP(File Transfer Protocol,文件传输协议)到指定的数据库服务器节点,然后访问数据库,进行安装部署。如:ORACLE数据库通过sqlplus命令访问数据库,MYSQL数据库通过mysql命令访问数据库,而GBASE分布式数据库通过gccli命令实现访问数据库。
但随着国产数据库产品的发展,目前涌现出了各种不同类型的数据库,并且已经应用到各种不同的业务场景之中,当前一个软件产品往往包含多种不同种类的数据库。对于一个包含有多个数据库系统的异构数据库系统的复合型版本而言,各个数据库程序需要单独组包,单独串行安装部署,软件部署效率较低,且运行错误日志记录不完整。
另外,还存在以下问题:
1)若版本涉及多个异构数据库系统,进行版本安装时,需要在各个异构数据库节点之间来回切换。
2)当版本之间有前后顺序和相互依赖时关系时,容易人为犯错,无法自动控制程序执行顺序以及模块之间的安装步骤。
3)常见的安装方式安全性不高,安装前缺少自动检查和确认环节。
针对上述问题,本发明提供了一种版本部署方法、装置及电子设备,获取异构数据库系统的业务需求信息,并基于所述业务需求信息,确定任务变更记录集,按照预设的版本组包策略,对所述任务变更记录集中的各个数据库程序进行组包操作,获取预先配置的部署节点信息,以及部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,读取预先配置的各个所述数据库程序的依赖关系和部署顺序,动态配置各个所述数据库程序内部的子程序并行度,并通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,按照各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,并行进行数据库程序部署操作。即通过本发明,能够在异构数据库系统的版本部署时,并行进行版本部署,提高部署效率。
另外,本发明具有一次性安全认证、一次性覆盖检查、无感切换节点、支持反复重跑的优点,极大地提高了版本的安装部署效率。同时,还可以根据每次需求任务的差异,灵活设置版本部署的并行度和版本之间的依赖关系。
需要说明的是,本发明提供的一种版本部署方法、装置及电子设备可用于金融领域或其他领域,例如,可用于金融领域中的版本部署应用场景。其他领域为除金融领域之外的任意领域。上述仅为示例,并不对本发明提供的一种版本部署方法、装置及电子设备的应用领域进行限定。
在上述内容的基础上,本发明的一实施例提供了一种版本部署方法,参照图1,可以包括:
S11、获取异构数据库系统的业务需求信息,并基于所述业务需求信息,确定任务变更记录集。
在实际应用中,若是有版本部署的需求,则会获取到用户提供的异构数据库系统的业务需求信息,该业务需求信息主要需要对哪些数据库的哪些版本进行部署操作。
在获取到业务需求信息之后,需要基于业务需求信息,确定任务变更记录集。
其中,任务变更记录集包括各个需要进行版本部署的数据库程序,本实施例中,以数据库程序为ORACEL、MYSQL和GBASE数据库程序为例进行介绍。其它数据库程序除了访问数据的方式不同之外,基本思路与Gbase、Oracle、Mysql数据库程序一致。
S12、按照预设的版本组包策略,对所述任务变更记录集中的各个数据库程序进行组包操作。
在实际应用中,针对本次业务需求信息对应的版本部署操作,需要预先进行统筹规划:了解整个软件产品的整体架构,规划软件产品所选择的数据类型和数量。然后人工进行版本管理策略规划、版本组包策略规划、版本部署方案规划,会把异构数据库系统按照数据库进行分目录,分程序类型,分用户进行单独存放。
其中,版本管理策略的好与坏直接关系到版本的稳定性和版本部署的便捷性。本发明在产品设计过程中,就充分考虑了产品实现后所涉及的用户权限、异构数据库的类型、数量、每种数据库的程序类型,制定了一套完整的开发dev分支流和master主流相互分离的管理策略,并在访问权限,提交和工作目录上进行了规范。
版本组包策略规划:本发明按照版本管理规划策略,把异构数据库程序按照数据库进行分目录,分程序类型,分用户进行单独存放。每个开发者都需要在指定的数据库主目录、程序子目录、以及用户目录下面进行相应权限的操作(如配置数据库程序与对应的数据库节点的关联关系等)。如图2,通过ORACEL、MYSQL和GBASE控制三个数据库的存放目录。如图3,通过GBASE数据库所涉及的程序类型,约定不同的程序类型的存放bak,data,prc,syn,tab等目录。
版本部署方案规划:版本部署是否方便快捷,跟版本管理策略、版本组包策略紧密相关。考虑到应用系统中可能包含多种不同的数据库程序,可以按照具体应用场景的不同,确定不同数据库程序的部署顺序和访问权限。如:在mysqluserlist中控制MYSQL数据库程序的用户范围,在gbaseqluserlist中控制GBASE数据库程序的用户范围,在oracleuserlist中控制ORACLE数据库程序的用户范围。如图4,通过mysqluserlist,gbaseqluserlist和oracleuserlist控制每种数据库类型的用户范围。还可以通过主目录设置控制MYSQL、GBASE和ORACLE三种数据库程序的部署顺序。
其中,在设置MYSQL、GBASE和ORACLE三种数据库程序的部署顺序时,会考虑三者的依赖关系,则也可以同时设置MYSQL、GBASE和ORACLE三种数据库程序的依赖关系和部署顺序。
在进行软件产品统筹规划时,需要兼顾版本管理策略、版本组包策略、版本部署方案三者的相关性。版本管理策略需要考虑到版本组包和版本部署方案的可行性和便捷性,简单地说,版本管理策略提供产品级别的版本管理指导,版本组包策略是版本管理策略的具体落地,版本部署方案是版本组包后的具体部署方法或者步骤。
在实际应用中,确定了上述的版本管理策略、版本组包策略、版本部署方案之后,若是需要进行版本部署,即获取业务需求信息并确定任务变更记录集之后,即可按照预设的版本组包策略,对所述任务变更记录集中的各个数据库程序进行组包操作。
在实际应用中,参照图2,“按照预设的版本组包策略,对所述任务变更记录集中的各个数据库程序进行组包操作”,可以包括:
S21、获取预设的版本组包策略。
其中,所述版本组包策略包括:不同数据库程序按照目录、程序类型以及用户的分类原则进行单独存放的组包方式。
具体版本组包策略可以参照上述相应说明。
S22、基于所述版本组包策略,将所述任务变更记录集中的各个数据库程序存放到相应位置。
针对每次业务需求信息的变更,都会按照变更记录集抽取版本的范围,以确定任务变更记录集。然后将提取出来的数据库程序按照规划好的版本组包策略分目录、分程序类型、分用户存放。
然后,根据当前任务的特点,可以修改userlist中单次数据库版本的用户范围,并可以根据orderlist控制数据库程序内的子程序以及异构数据库程序之间的依赖关系和执行顺序。
S23、基于存放位置,提取所述任务变更记录集中的各个数据库程序。
在将数据库程序分目录、分程序类型、分用户存放之后,需要在进行版本部署之前,基于数据库程序的存放位置,提取出任务变更记录集中的各个数据库程序,以便于进行后续的版本部署。
S13、获取预先配置的部署节点信息,以及部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息。
具体的,在一套应用产品中选取一个或者极少数几个存放数据库版本的部署节点,获取部署节点信息。然后,人工统一配置部署节点与各个数据库程序对应的数据库节点的访问连通性(连通性和访问权限),就可以实现版本的分布式安装部署。无需到各个数据库服务器节点单独配置环境变量,从而节省了大量的环境配置工作。
如:通过一个ETL节点,可以同时配置跟MYSQL数据库、ORACLE数据库、GBASE数据库的连通性和访问权限相关的环境变量,实现单一或者极少数部署节点访问多个数据库访问权限的功能。
本实施例中,配置部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,是为了后续进行数据库节点的连接。
S14、读取预先配置的各个所述数据库程序的依赖关系和部署顺序。
具体的,可以读取预先配置的各个所述数据库程序之间的依赖关系和部署顺序,以及读取预先配置的各个所述数据库程序内部的子程序之间的依赖关系和部署顺序。具体内容可以参照上述相应说明。
S15、动态配置各个所述数据库程序内部的子程序并行度,并通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,按照各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,并行进行数据库程序部署操作。
具体的,若是同一数据库程序内的子程序之间不存在依赖关系,则可以对不存在依赖关系的子程序并行进行子程序的部署操作。在实际应用中,可以使用子程序set_parallel动态设置程序部署过程中的子程序并行度,提高版本部署的效率。
若是子程序之间存在依赖关系,则对存在依赖关系的子程序进行串行部署操作。
为了在软件部署时,便于查找子程序。在同一数据库内,可以将存在依赖关系的子程序按照依赖关系分类放在不同的安装顺序文件中(如:第一安装顺序文件和第二安安装顺序文件,两者之间存在依赖关系),各个安装顺序文件中配置有默认文件顺序或者动态调整后的文件顺序。不存在依赖关系的子程序会放在相同的安装顺序文件中。
本发明的一实现方式中,“通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,按照各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,并行进行数据库程序部署操作”,可以包括:
1)通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,调用数据库连接程序进行数据库连接操作。
具体的,在进行数据库程序的部署之前,需要进行数据库连接操作,此时,可以基于访问连通性信息,使用数据库连接程序set_linkDb进行数据库连接操作。
2)基于各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,调用安装检查程序检查安装顺序以及程序完整性,并在安装顺序正确以及程序完整的情况下,调用不同的数据库部署程序进行不同的数据库程序部署操作。
在实际应用中,可以配置主程序install.sh,通过install.sh集成了访问MYSQL、ORACLE和GBASE三种异构数据库的连接访问方式,并在版本部署过程会进行并行度控制,程序完整性检查,顺序检查以及记录详细的部署日志。主程序install.sh的运行逻辑可以参照图6。
主程序install.sh包括多个子程序,具体为:
子程序set_parallel用来设置程序部署过程中的子程序并行度,提高版本部署的效率。子程序set_linkDb用来设置访问三种数据库的连接串,通过指定IP地址,指定用户及密文显示密码的方式访问数据库,可以实现一个版本,一次认证,反复执行,安全高效的功能。子程序check_orderlist(安装检查程序)用于检查安装顺序以及程序完整性,子程序orderlist版本中程序不相符或者存在遗漏时,会自动提示。子程序install_mysql,install_oracle,install_gbase分别用于部署MYSQL数据库,MORACLE数据库和GBASE数据库,而详细的部署日志通过printlog来完成。
在实际应用中,在进行版本部署时,调起install.sh主程序,并通过主程序依次调度子程序set_parallel设置子程序并行度,set_linkDb设置数据库连接,check_orderlist检查安装顺序和程序完整性、install_mysql,install_oracle,install_oracle分别部署MYSQL数据库程序,ORACLE数据库程序和GBASE数据库程序。当然,所有的详细日志都通过printlog来完成。
在使用install_mysql,install_oracle,install_oracle分别部署MYSQL数据库程序,ORACLE数据库程序和GBASE数据库程序时,针对不同数据库之间,调用所述数据库部署程序按照读取数据库间的目录顺序进行串行部署。
其中,所述目录顺序基于各个所述数据库程序的依赖关系和部署顺序确定。具体的,目录顺序可以为部署顺序,或者是基于部署顺序确定出的目标顺序。
在同一数据库内,针对存在依赖关系的子程序,调用数据库部署程序(install_mysql,install_oracle,或install_oracle)按照读取的各个安装顺序文件中的默认文件顺序或者动态调整后的文件顺序进行串行部署操作,以及针对不存在依赖关系的子程序,调用数据库部署程序基于安装顺序文件内的排列顺序,按照子程序并行度并行进行部署操作。
其中,在同一数据库内,存在依赖关系的子程序会按照依赖关系分类放在不同的安装顺序文件中;不存在依赖关系的子程序会放在相同的安装顺序文件中。
在实际应用中,可以按照各个安装顺序文件进行串行部署,同一安装顺序文件内进行并行部署。
在部署过程中,判断程序是否部署成功。只有全部部署成功,才会成功退出,否则,会提示报错或者警告,并记录整详细的日志信息,直到所有程序全部部署成功才会提示成功并退出。
本实施例中,获取异构数据库系统的业务需求信息,并基于所述业务需求信息,确定任务变更记录集,按照预设的版本组包策略,对所述任务变更记录集中的各个数据库程序进行组包操作,获取预先配置的部署节点信息,以及部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,读取预先配置的各个所述数据库程序的依赖关系和部署顺序,动态配置各个所述数据库程序内部的子程序并行度,并通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,按照各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,并行进行数据库程序部署操作。即通过本发明,能够在异构数据库系统的版本部署时,并行进行版本部署,提高部署效率。
另外,本发明只需要在按照规划好的版本组包策略提取任务变更记录集,组成一个任务包,就可以分布部署到各个不同的数据库节点。将一个复杂的版本部署工作规范化、配置花、标准化处理,很好地满足了多样化异构数据库系统的版本部署工作,极大地提高了开发者和运维者的工作效率。
可选地,在上述版本部署方法的实施例的基础上,本发明的另一实施例提供了一种版本部署装置,参照图7,可以包括:
记录集确定模块11,用于获取异构数据库系统的业务需求信息,并基于所述业务需求信息,确定任务变更记录集;
组包模块12,用于按照预设的版本组包策略,对所述任务变更记录集中的各个数据库程序进行组包操作;
信息获取模块13,用于获取预先配置的部署节点信息,以及部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息;
数据读取模块14,用于读取预先配置的各个所述数据库程序的依赖关系和部署顺序;
程序部署模块15,用于动态配置各个所述数据库程序内部的子程序并行度,并通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,按照各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,并行进行数据库程序部署操作。
进一步,所述数据读取模块具体用于:
读取预先配置的各个所述数据库程序之间的依赖关系和部署顺序,以及读取预先配置的各个所述数据库程序内部的子程序之间的依赖关系和部署顺序。
进一步,所述程序部署模块包括:
连接操作子模块,用于通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,调用数据库连接程序进行数据库连接操作;
程序部署子模块,用于基于各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,调用安装检查程序检查安装顺序以及程序完整性,并在安装顺序正确以及程序完整的情况下,调用不同的数据库部署程序进行不同的数据库程序部署操作。
进一步,所述程序部署子模块具体用于:
针对不同数据库之间,调用所述数据库部署程序按照读取数据库间的目录顺序进行串行部署;所述目录顺序基于各个所述数据库程序的依赖关系和部署顺序确定;
在同一数据库内,针对存在依赖关系的子程序,调用数据库部署程序按照读取的各个安装顺序文件中的默认文件顺序或者动态调整后的文件顺序进行串行部署操作,以及针对不存在依赖关系的子程序,调用数据库部署程序基于安装顺序文件内的排列顺序,按照子程序并行度并行进行部署操作;其中,在同一数据库内,存在依赖关系的子程序会按照依赖关系分类放在不同的安装顺序文件中;不存在依赖关系的子程序会放在相同的安装顺序文件中。
进一步,组包模块具体用于:
获取预设的版本组包策略;所述版本组包策略包括:不同数据库程序按照目录、程序类型以及用户的分类原则进行单独存放的组包方式;
基于所述版本组包策略,将所述任务变更记录集中的各个数据库程序存放到相应位置;
基于存放位置,提取所述任务变更记录集中的各个数据库程序。
本实施例中,获取异构数据库系统的业务需求信息,并基于所述业务需求信息,确定任务变更记录集,按照预设的版本组包策略,对所述任务变更记录集中的各个数据库程序进行组包操作,获取预先配置的部署节点信息,以及部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,读取预先配置的各个所述数据库程序的依赖关系和部署顺序,动态配置各个所述数据库程序内部的子程序并行度,并通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,按照各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,并行进行数据库程序部署操作。即通过本发明,能够在异构数据库系统的版本部署时,并行进行版本部署,提高部署效率。
另外,本发明只需要在按照规划好的版本组包策略提取任务变更记录集,组成一个任务包,就可以分布部署到各个不同的数据库节点。将一个复杂的版本部署工作规范化、配置花、标准化处理,很好地满足了多样化异构数据库系统的版本部署工作,极大地提高了开发者和运维者的工作效率。
需要说明的是,本实施例中的各个模块和子模块的工作过程,请参照上述实施例中的相应说明,在此不再赘述。
可选地,在上述版本部署方法及装置的实施例的基础上,本发明的另一实施例提供了一种电子设备,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于执行上述的一种版本部署方法。
本实施例中,获取异构数据库系统的业务需求信息,并基于所述业务需求信息,确定任务变更记录集,按照预设的版本组包策略,对所述任务变更记录集中的各个数据库程序进行组包操作,获取预先配置的部署节点信息,以及部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,读取预先配置的各个所述数据库程序的依赖关系和部署顺序,动态配置各个所述数据库程序内部的子程序并行度,并通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,按照各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,并行进行数据库程序部署操作。即通过本发明,能够在异构数据库系统的版本部署时,并行进行版本部署,提高部署效率。
另外,本发明只需要在按照规划好的版本组包策略提取任务变更记录集,组成一个任务包,就可以分布部署到各个不同的数据库节点。将一个复杂的版本部署工作规范化、配置花、标准化处理,很好地满足了多样化异构数据库系统的版本部署工作,极大地提高了开发者和运维者的工作效率。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种版本部署方法,其特征在于,包括:
获取异构数据库系统的业务需求信息,并基于所述业务需求信息,确定任务变更记录集;
按照预设的版本组包策略,对所述任务变更记录集中的各个数据库程序进行组包操作;
获取预先配置的部署节点信息,以及部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息;
读取预先配置的各个所述数据库程序的依赖关系和部署顺序;
动态配置各个所述数据库程序内部的子程序并行度,并通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,按照各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,并行进行数据库程序部署操作。
2.根据权利要求1所述的版本部署方法,其特征在于,读取预先配置的各个所述数据库程序的依赖关系和部署顺序,包括:
读取预先配置的各个所述数据库程序之间的依赖关系和部署顺序,以及读取预先配置的各个所述数据库程序内部的子程序之间的依赖关系和部署顺序。
3.根据权利要求2所述的版本部署方法,其特征在于,通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,按照各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,并行进行数据库程序部署操作,包括:
通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,调用数据库连接程序进行数据库连接操作;
基于各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,调用安装检查程序检查安装顺序以及程序完整性,并在安装顺序正确以及程序完整的情况下,调用不同的数据库部署程序进行不同的数据库程序部署操作。
4.根据权利要求3所述的版本部署方法,其特征在于,调用不同的数据库部署程序进行不同的数据库程序部署操作,包括:
针对不同数据库之间,调用所述数据库部署程序按照读取数据库间的目录顺序进行串行部署;所述目录顺序基于各个所述数据库程序的依赖关系和部署顺序确定;
在同一数据库内,针对存在依赖关系的子程序,调用数据库部署程序按照读取的各个安装顺序文件中的默认文件顺序或者动态调整后的文件顺序进行串行部署操作,以及针对不存在依赖关系的子程序,调用数据库部署程序基于安装顺序文件内的排列顺序,按照子程序并行度并行进行部署操作;其中,在同一数据库内,存在依赖关系的子程序会按照依赖关系分类放在不同的安装顺序文件中;不存在依赖关系的子程序会放在相同的安装顺序文件中。
5.根据权利要求1所述的版本部署方法,其特征在于,按照预设的版本组包策略,对所述任务变更记录集中的各个数据库程序进行组包操作,包括:
获取预设的版本组包策略;所述版本组包策略包括:不同数据库程序按照目录、程序类型以及用户的分类原则进行单独存放的组包方式;
基于所述版本组包策略,将所述任务变更记录集中的各个数据库程序存放到相应位置;
基于存放位置,提取所述任务变更记录集中的各个数据库程序。
6.一种版本部署装置,其特征在于,包括:
记录集确定模块,用于获取异构数据库系统的业务需求信息,并基于所述业务需求信息,确定任务变更记录集;
组包模块,用于按照预设的版本组包策略,对所述任务变更记录集中的各个数据库程序进行组包操作;
信息获取模块,用于获取预先配置的部署节点信息,以及部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息;
数据读取模块,用于读取预先配置的各个所述数据库程序的依赖关系和部署顺序;
程序部署模块,用于动态配置各个所述数据库程序内部的子程序并行度,并通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,按照各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,并行进行数据库程序部署操作。
7.根据权利要求6所述的版本部署装置,其特征在于,所述数据读取模块具体用于:
读取预先配置的各个所述数据库程序之间的依赖关系和部署顺序,以及读取预先配置的各个所述数据库程序内部的子程序之间的依赖关系和部署顺序。
8.根据权利要求7所述的版本部署装置,其特征在于,所述程序部署模块包括:
连接操作子模块,用于通过所述部署节点与各个所述数据库程序对应的数据库节点之间的访问连通性信息,调用数据库连接程序进行数据库连接操作;
程序部署子模块,用于基于各个所述数据库程序内部的子程序并行度、各个所述数据库程序的依赖关系和部署顺序,调用安装检查程序检查安装顺序以及程序完整性,并在安装顺序正确以及程序完整的情况下,调用不同的数据库部署程序进行不同的数据库程序部署操作。
9.根据权利要求8所述的版本部署装置,其特征在于,所述程序部署子模块具体用于:
针对不同数据库之间,调用所述数据库部署程序按照读取数据库间的目录顺序进行串行部署;所述目录顺序基于各个所述数据库程序的依赖关系和部署顺序确定;
在同一数据库内,针对存在依赖关系的子程序,调用数据库部署程序按照读取的各个安装顺序文件中的默认文件顺序或者动态调整后的文件顺序进行串行部署操作,以及针对不存在依赖关系的子程序,调用数据库部署程序基于安装顺序文件内的排列顺序,按照子程序并行度并行进行部署操作;其中,在同一数据库内,存在依赖关系的子程序会按照依赖关系分类放在不同的安装顺序文件;不存在依赖关系的子程序会放在相同的安装顺序文件中。
10.一种电子设备,其特征在于,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于执行如权利要求1-5任一项所述的一种版本部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211228234.2A CN115495107A (zh) | 2022-10-08 | 2022-10-08 | 一种版本部署方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211228234.2A CN115495107A (zh) | 2022-10-08 | 2022-10-08 | 一种版本部署方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115495107A true CN115495107A (zh) | 2022-12-20 |
Family
ID=84474273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211228234.2A Pending CN115495107A (zh) | 2022-10-08 | 2022-10-08 | 一种版本部署方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115495107A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737393A (zh) * | 2023-08-11 | 2023-09-12 | 腾讯科技(深圳)有限公司 | 资源部署方法、装置和存储介质及电子设备 |
CN118075059A (zh) * | 2024-04-17 | 2024-05-24 | 南京石原子科技有限公司 | 基于MySQL协议的网关执行方法、装置和设备 |
-
2022
- 2022-10-08 CN CN202211228234.2A patent/CN115495107A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737393A (zh) * | 2023-08-11 | 2023-09-12 | 腾讯科技(深圳)有限公司 | 资源部署方法、装置和存储介质及电子设备 |
CN116737393B (zh) * | 2023-08-11 | 2024-05-10 | 腾讯科技(深圳)有限公司 | 资源部署方法、装置和存储介质及电子设备 |
CN118075059A (zh) * | 2024-04-17 | 2024-05-24 | 南京石原子科技有限公司 | 基于MySQL协议的网关执行方法、装置和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115495107A (zh) | 一种版本部署方法、装置及电子设备 | |
US6202207B1 (en) | Method and a mechanism for synchronized updating of interoperating software | |
JP3385590B2 (ja) | コンピュータ・ネットワークを通してコンピュータ・プログラムを更新する場合に使用するためのソフトウエア更新プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US7774762B2 (en) | System including run-time software to enable a software application to execute on an incompatible computer platform | |
US5617533A (en) | System and method for determining whether a software package conforms to packaging rules and requirements | |
US6493594B1 (en) | System and method for improved software configuration and control management in multi-module systems | |
US8261354B2 (en) | System, method and program product for dynamically performing an audit and security compliance validation in an operating environment | |
US20070240134A1 (en) | Software packaging model supporting multiple entity types | |
CN106991035A (zh) | 一种基于微服务架构的主机监控系统 | |
CN109032824A (zh) | 数据库校验方法、装置、计算机设备和存储介质 | |
US20160378458A1 (en) | Method and device for system application installation package, and terminal | |
CN108959385B (zh) | 数据库部署方法、装置、计算机设备和存储介质 | |
US20040088397A1 (en) | System and method for management of software applications | |
CN113434158B (zh) | 一种大数据组件的自定义管理方法、装置、设备及介质 | |
US20080066064A1 (en) | Computer readable storage medium for incremental application deployment | |
CN113835713B (zh) | 源码包下载方法、装置、计算机设备和存储介质 | |
CN104573497A (zh) | 一种启动项的处理方法和装置 | |
US11704114B2 (en) | Data structures for managing configuration versions of cloud-based applications | |
US11966732B2 (en) | Data structures for managing configuration versions of cloud-based applications | |
US6966052B1 (en) | Method and apparatus for top-down testing based on end user documentation | |
CN117055501A (zh) | 可信dcs上位机系统的部署方法、系统、设备及存储介质 | |
US20160364262A1 (en) | System and method for generating service operation implementation | |
CN117251247A (zh) | 运维审计平台部署方法、装置、电子设备及存储介质 | |
CN115617668A (zh) | 一种兼容性测试方法、装置及设备 | |
CN112214502A (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 |