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、构建模块,其用于按照生成时间的先后顺序,基于各补丁软件对应的解析文本文档来自技高网...
【技术保护点】
1.一种软件自动化部署方法,其特征在于,所述软件自动化部署方法包括:
2.如权利要求1所述的软件自动化部署方法,其特征在于,所述基于各补丁软件对应的解析文件集合间的交集状态确定出主软件与补丁软件间或各补丁软件间的依赖关系,包括:
3.如权利要求2所述的软件自动化部署方法,其特征在于,所述根据第一补丁软件对应的第一解析文件集合和与第二补丁软件对应的第二解析文件集合间是否存在交集构建第二补丁软件与第一补丁软件或主软件间的依赖关系,包括:
4.如权利要求3所述的软件自动化部署方法,其特征在于,所述根据第二补丁软件与第一补丁软件间是否存在依赖关系以及与第三补丁软件对应的第三解析文件集合构建第三补丁软件与目标软件间的依赖关系,包括:
5.如权利要求4所述的软件自动化部署方法,其特征在于,所述根据第三解析文件集合与第二解析文件集合、第一解析文件集合间的交集状态构建第三补丁软件与目标软件间的依赖关系,包括:
6.如权利要求2所述的软件自动化部署方法,其特征在于,所述根据第二补丁软件与第一补丁软件间是否存在依赖关系以及与第三补丁软件对应
7.如权利要求1所述的软件自动化部署方法,其特征在于,在所述按照生成时间的先后顺序,基于各补丁软件对应的解析文件集合间的交集状态确定出主软件与补丁软件间或各补丁软件间的依赖关系的步骤之前,还包括:
8.如权利要求1所述的软件自动化部署方法,其特征在于,在所述按照从高至低的执行层级对各软件进行部署的步骤之前,还包括:
9.如权利要求1所述的软件自动化部署方法,其特征在于,在按照从高至低的执行层级对各软件进行部署的过程中,所述方法还包括:
10.一种软件自动化部署系统,其特征在于,所述软件自动化部署系统包括:
...【技术特征摘要】
1.一种软件自动化部署方法,其特征在于,所述软件自动化部署方法包括:
2.如权利要求1所述的软件自动化部署方法,其特征在于,所述基于各补丁软件对应的解析文件集合间的交集状态确定出主软件与补丁软件间或各补丁软件间的依赖关系,包括:
3.如权利要求2所述的软件自动化部署方法,其特征在于,所述根据第一补丁软件对应的第一解析文件集合和与第二补丁软件对应的第二解析文件集合间是否存在交集构建第二补丁软件与第一补丁软件或主软件间的依赖关系,包括:
4.如权利要求3所述的软件自动化部署方法,其特征在于,所述根据第二补丁软件与第一补丁软件间是否存在依赖关系以及与第三补丁软件对应的第三解析文件集合构建第三补丁软件与目标软件间的依赖关系,包括:
5.如权利要求4所述的软件自动化部署方法,其特征在于,所述根据第三解析文件集合与第二解析文件集合、第一解析文件集合间的交集状态构建...
【专利技术属性】
技术研发人员:王璐,陈重琳,陈茜,
申请(专利权)人:烽火通信科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。