补丁部署方法、部署装置和可读存储介质制造方法及图纸

技术编号:27515254 阅读:27 留言:0更新日期:2021-03-02 18:47
本发明专利技术提出了补丁部署方法、部署装置和可读存储介质。其中,补丁部署方法包括:获取原始态补丁,确定对应的多个微服务;将原始态补丁拆分为多个微服务对应的多个补丁;将多个补丁对应部署到多个微服务,得到对应的多个部署态补丁;对多个部署态补丁中任一部署态补丁进行验证对多个部署态补丁中任一补丁进行验证;基于验证成功的情况下,任一部署态补丁转换为固态化补丁;基于验证失败的情况下,执行补丁回滚操作。通过本发明专利技术的补丁部署方法,将开发模型和部署模型分开,不同的角色感知复杂的云原生环境下补丁管理的不同部分,极大地减少了云原生应用补丁管理的复杂程度和难易程度。原生应用补丁管理的复杂程度和难易程度。原生应用补丁管理的复杂程度和难易程度。

【技术实现步骤摘要】
补丁部署方法、部署装置和可读存储介质


[0001]本专利技术涉及企业数字化云平台
,具体而言,涉及一种补丁部署方法,一种补丁部署装置,一种可读存储介质。

技术介绍

[0002]在云原生的背景下,复杂的运维环境,导致云原生应用的补丁版本管理,补丁拆分合并,补丁的部署,补丁的回滚等业务功能愈加的复杂化。传统的补丁管理已经不太适用于云原生应用自带的多环境,多服务,多镜像,多角色,多用户场景的特性。

技术实现思路

[0003]本专利技术旨在至少解决现有技术或相关技术中存在的技术问题之一。
[0004]为此,本专利技术的一个方面在于提出了一种补丁部署方法。
[0005]本专利技术的另一个方面在于提出了一种补丁部署装置。
[0006]本专利技术的再一个方面在于提出了一种可读存储介质。
[0007]有鉴于此,根据本专利技术的一个方面,提出了一种补丁部署方法,包括:获取原始态补丁,确定对应的多个微服务;将原始态补丁拆分为多个微服务对应的多个补丁;将多个补丁对应部署到多个微服务,得到对应的多个部署态补丁;对多个部署态补丁中任一部署态补丁进行验证对多个部署态补丁中任一补丁进行验证;基于验证成功的情况下,任一部署态补丁转换为固态化补丁;基于验证失败的情况下,执行补丁回滚操作。
[0008]本专利技术提供的补丁部署方法,首先获取原始态补丁,原始态补丁为开发人员根据业务需求,在当前开发环境编译而成的补丁压缩包。然后通过对原始态补丁进行补丁分析,确定云原生背景下其对应的多个微服务。再通过将原始态补丁拆分为多个微服务对应的多个补丁,并多个补丁对应部署到多个微服务上,从而将原始态补丁的单体架构自动转换成云原生背景下的微服务架构,补丁的状态相应的由原始态转换为部署态。最后对处于部署态的任一补丁(部署态补丁)进行验证,如果验证成功,也就是对应的微服务启动补丁生效的情况下,此任一补丁的状态由部署态转换为固化态;如果验证失败,则执行补丁回滚操作,将当前版本的补丁库版本回退到打补丁之前(部署前)的补丁库版本。通过本专利技术的补丁部署方法,实现将业务系统的开发模型和部署模型分开,一方面可以对开发人员屏蔽掉云原生微服务的细节,开发人员只需关注自身领域的业务逻辑即可,另一方面不同的角色感知复杂的云原生环境下补丁管理的不同部分,极大地减少了云原生应用补丁管理的复杂程度和难易程度。
[0009]不同的角色可分为开发人员、运维人员、测试人员、用户。
[0010]根据本专利技术的上述补丁部署方法,还可以具有以下技术特征:
[0011]在上述技术方案中,补丁部署方法还包括:根据多个部署态补丁对应的多个固化态补丁,制作镜像版本。
[0012]在该技术方案中,当部署态补丁通过验证后,转换为固化态补丁,固化态补丁可用
于制作镜像。对于一次部署生效的多个固化态补丁可以固化成一个新的镜像版本。当然,也可根据环境、上线时间窗口等约束条件,拉取指定版本的补丁库来快速地制作新镜像版本。通过本专利技术的技术方案,可根据在交付态,客户补丁管理的特点,以及环境、上线时间窗口的不同,将补丁测试场景划分为以补丁为管理维度的补丁拉取、补丁部署、补丁验证,线上环境以镜像为管理维度,通过拉取指定版本的补丁库来快速地进行镜像的制作上线,回滚部署等,维护稳定的线上环境,从而对测试人员降低多环境特性下的补丁部署策略的复杂性,对运维人员降低多镜像特性下的补丁版本管理的复杂性。
[0013]在上述任一技术方案中,将多个补丁对应部署到多个微服务的步骤之后,还包括:生成对应的补丁部署记录。
[0014]在该技术方案中,对原始态补丁进行分析,确定对应的多个微服务。将原始态补丁拆分为多个微服务对应的多个补丁,将多个补丁对应部署到多个微服务上,并且生成一条补丁部署记录。部署记录用于问题排查,问题定位,从而对运维人员降低多镜像特性下的补丁版本管理的复杂性。
[0015]在上述任一技术方案中,确定对应的多个微服务的步骤,具体包括:基于原始态补丁代码确定对应的补丁目录;根据补丁目录确定原始态补丁关联的业务场景;根据业务场景确定多个微服务。
[0016]在该技术方案中,通过分析原始态补丁涉及的业务场景,具体地,通过分析原始态补丁的补丁目录结构确定其涉及的业务场景。每个业务场景对应一个微服务,从而确定出原始态补丁对应的多个微服务。通过本专利技术的技术方案,将单体架构的原始态补丁自动转换为云原生背景下的微服务架构,从而可以实现不同用户场景下的多用户环境下的补丁管理。
[0017]在上述任一技术方案中,将原始态补丁拆分为多个微服务对应的多个补丁的步骤,具体包括:根据业务场景关联的多个预设补丁规则,将原始态补丁进行拆分和合并,得到多个微服务对应的多个补丁。
[0018]在该技术方案中,通过根据业务场景关联的多个预设补丁规则,每个预设补丁规则均包括功能模块服务的拆分逻辑和基于资源文件路径等变量的部署逻辑,故而可将原始态补丁拆分为多个功能模块。由于每个微服务可包含多个功能模块,不同微服务因业务需求可能包含相同的功能模块,将多个功能模块进行合并,从而得到多个微服务对应的多个补丁。
[0019]其中预设补丁规则可以是软件发布前预先设置好的。
[0020]在上述任一技术方案中,多个预设补丁规则中任一规则用于定义多个微服务中任一微服务所包含的功能模块及关联的镜像版本。
[0021]在该技术方案中,每个业务场景对应一个微服务,实现一个业务场景通常需要多个功能模块,故而一个微服务通常包含了多个功能模块。多个预设补丁规则中任一规则均定义了一个微服务,具体地定义了该微服务所涉及的功能模块及关联的镜像版本。从而根据业务场景关联的多个预设补丁规则,可将原始态补丁进行拆分和合并,得到与多个微服务对应的多个补丁。
[0022]在上述任一技术方案中,对多个部署态补丁中任一部署态补丁进行验证的步骤,具体包括:对多个微服务中任一微服务对应的实例进行重启;根据任一微服务的环境拉取
对应的任一部署态补丁,并拷贝到实例的指定目录;基于实例启动成功的情况下,任一部署态补丁生效。
[0023]在该技术方案中,通过对任一微服务对应的实例进行重启,并根据此微服务的部署环境,拉取对应的部署态补丁到该实例指定目录下,如果此微服务的实例成功启动了,则认为部署补丁生效,此部署态补丁转换为固化态补丁。如果此微服务未成功启动,则验证失败,对此微服务对应的补丁进行撤回,退回到部署前的版本状态。
[0024]在上述任一技术方案中,在获取原始态补丁之前,补丁部署方法还包括:接收用户基于业务需求编译生成的原始态补丁,并将原始态补丁进行存储。
[0025]在该实施例中,对于(开发)用户来说,只需根据业务需求,在当前环境中编译生成原始态补丁,并上传到业务系统的部署系统,部署系统接收原始态补丁,并将原始态补丁进行存储。
[0026]根据本专利技术的另一个方面,提出了一种补丁部署装置,包括:存储器,存储器存储有程序;处理器,处理器执行程序时实现如上述任一技术方案的补丁部署方法本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种补丁部署方法,其特征在于,包括:获取原始态补丁,确定对应的多个微服务;将所述原始态补丁拆分为所述多个微服务对应的多个补丁;将所述多个补丁对应部署到所述多个微服务,得到对应的多个部署态补丁;对所述多个部署态补丁中任一部署态补丁进行验证;基于验证成功的情况下,所述任一部署态补丁转换为固态化补丁;基于验证失败的情况下,执行补丁回滚操作。2.根据权利要求1所述的补丁部署方法,其特征在于,还包括:根据所述多个部署态补丁对应的多个固化态补丁,制作镜像版本。3.根据权利要求2所述的补丁部署方法,其特征在于,所述将所述多个补丁对应部署到所述多个微服务的步骤之后,还包括:生成对应的补丁部署记录。4.根据权利要求1至3中任一项所述的补丁部署方法,其特征在于,所述确定对应的多个微服务的步骤,具体包括:基于所述原始态补丁代码确定对应的补丁目录;根据所述补丁目录确定所述原始态补丁关联的业务场景;根据所述业务场景确定所述多个微服务。5.根据权利要求4所述的补丁部署方法,其特征在于,所述将所述原始态补丁拆分为所述多个微服务对应的多个补丁的步骤,具体包括:根据所述业务场景关联的多...

【专利技术属性】
技术研发人员:朱威张成梅琳
申请(专利权)人:用友网络科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1