System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及分布式集群,特别是涉及一种分布式系统补丁升级方法、装置、设备及存储介质。
技术介绍
1、分布式系统是指由多个计算机节点组成的系统,节点之间通过网络互相通信协作,共同完成一个任务或提供一个服务。分布式系统具有高可用性、高性能、可扩展性等优点,因此被广泛应用于大规模计算、存储、处理等场景。
2、软件补丁,是针对一些大型软件系统在使用过程中暴露出的问题而发布的修补漏洞的程序。由于分布式系统涉及大量计算机节点,软件部署复杂,采用目前针对单个软件模块的漏洞进行补丁升级的方案,时常会导致某个软件模块升级后与其他软件模块对接失败,无法保证补丁升级对整个分布式系统的安全性。
3、通过一种适用于分布式系统的补丁升级方案,是本领域技术人员需要解决的技术问题。
技术实现思路
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、若所述待升级软件模块补丁升级本文档来自技高网...
【技术保护点】
1.一种分布式系统补丁升级方法,其特征在于,包括:
2.根据权利要求1所述的分布式系统补丁升级方法,其特征在于,所述根据各所述补丁文件对应的软件模块之间的调用关系,确定待升级软件模块和补丁升级顺序,包括:
3.根据权利要求1所述的分布式系统补丁升级方法,其特征在于,所述根据所述待升级软件模块对应的所述补丁文件和所述补丁升级顺序,生成所述分布式系统的补丁升级脚本以及对各所述待升级软件模块的升级回退脚本,包括:
4.根据权利要求3所述的分布式系统补丁升级方法,其特征在于,所述利用所述系统补丁升级包执行对所述分布式系统的补丁升级任务,包括:
5.根据权利要求1所述的分布式系统补丁升级方法,其特征在于,所述利用所述系统补丁升级包执行对所述分布式系统的补丁升级任务,包括:
6.根据权利要求1所述的分布式系统补丁升级方法,其特征在于,所述利用所述系统补丁升级包执行对所述分布式系统的补丁升级任务,包括:
7.根据权利要求1所述的分布式系统补丁升级方法,其特征在于,所述利用所述系统补丁升级包执行对所述分布式系统的补丁升级任务
8.一种分布式系统补丁升级装置,其特征在于,包括:
9.一种分布式系统补丁升级设备,其特征在于,包括:
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述分布式系统补丁升级方法的步骤。
...【技术特征摘要】
1.一种分布式系统补丁升级方法,其特征在于,包括:
2.根据权利要求1所述的分布式系统补丁升级方法,其特征在于,所述根据各所述补丁文件对应的软件模块之间的调用关系,确定待升级软件模块和补丁升级顺序,包括:
3.根据权利要求1所述的分布式系统补丁升级方法,其特征在于,所述根据所述待升级软件模块对应的所述补丁文件和所述补丁升级顺序,生成所述分布式系统的补丁升级脚本以及对各所述待升级软件模块的升级回退脚本,包括:
4.根据权利要求3所述的分布式系统补丁升级方法,其特征在于,所述利用所述系统补丁升级包执行对所述分布式系统的补丁升级任务,包括:
5.根据权利要求1所述的分布式系统补丁升级方法,其特征...
【专利技术属性】
技术研发人员:张大帅,
申请(专利权)人:济南浪潮数据技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。