[发明专利]一种应用升级方法及设备在审
申请号: | 201811531989.3 | 申请日: | 2018-12-14 |
公开(公告)号: | CN111324361A | 公开(公告)日: | 2020-06-23 |
发明(设计)人: | 王蕊;康姝婷;姚勇;魏嘉宁;张雨晴;王衎;宋哲;杨晶 | 申请(专利权)人: | 中国移动通信集团北京有限公司;中国移动通信集团有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
地址: | 100007 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用 升级 方法 设备 | ||
本发明公开了一种应用升级方法及设备,用于保证业务能够在升级和更新过程中持续提供服务不中断。其中的应用升级方法包括:接收到针对第一应用进行的升级指令时,获取用于所述第一应用升级的镜像包;其中,所述镜像包包括所述第一应用的升级文件和/或配置文件;将所述镜像包分发给至少一个集群目标节点;从所述至少一个集群目标节点中选择第一集群目标节点,并基于所述第一集群目标节点根据所述镜像包创建并启动至少一个新容器实例,其中,所述至少一个新容器实例用于升级第一应用。
技术领域
本发明涉及升级技术领域,特别涉及一种应用升级方法及设备。
背景技术
服务器集群大量使用到Docker容器运行应用,进而提供服务。应用调度服务器会将应用部署到服务器集群的各个集群节点。使用Docker容器的服务器集群在长时间运行应用后,在此期间应用可能会升级。
为了保证应用升级过程中,业务能够在升级和更新过程中持续提供服务不中断。现有技术将升级的文件存储在应用可以访问的路径,通过记载工具例如hotswap进行加载,以实现应用的升级。但是这种升级方式只能针对应用代码的升级,而如果是配置文件的升级或修改应用启动阶段的缓存,就需要重启应用实例,那么就会导致业务在升级和更新过程中无法持续提供服务而导致中断。
可见,目前的应用升级无法保证业务能够在升级和更新过程中持续提供服务不中断。
发明内容
本发明实施例提供一种应用升级方法及设备,用于保证业务能够在升级和更新过程中持续提供服务不中断。
第一方面,本发明实施例提供了一种应用升级方法,应用于集群节点,该应用升级方法包括:
接收到针对第一应用进行的升级指令时,获取用于所述第一应用升级的镜像包;其中,所述镜像包包括所述第一应用的升级文件和/或配置文件;
将所述镜像包分发给至少一个集群目标节点;
从所述至少一个集群目标节点中选择第一集群目标节点,并基于所述第一集群目标节点根据所述镜像包创建并启动至少一个新容器实例,其中,所述至少一个新容器实例用于升级第一应用。
本发明实施例中,镜像包除了包括升级文件之外还可以包括配置文件,从容根据该镜像包创建新容器实例,不需要中断业务就可以通过新容器实例实现对第一应用的升级。相较于现有技术中通过hotswap进行加载升级文件只能针对应用代码的升级,需要重启应用实例才能实现配置文件的升级而导致中断业务来说,既可以实现针对配置文件的升级又可以保证业务不中断。
可选的,接收到针对第一应用进行的升级指令时,获取用于所述第一应用升级的镜像包,包括:
接收到针对第一应用进行的升级指令时,向服务器发送请求消息,其中,所述请求消息用于请求获取所述第一应用的最新镜像包;
接收来自所述服务器的所述最新镜像包,或者,从所述服务器发送的多个镜像包中选取所述最新镜像包。
本发明实施例中,服务器可以存储针对第一应用的多个镜像包,向客户端反馈最新镜像包,也可以向客户端反馈多个镜像包供用户从中选取最新镜像包,较为灵活。
可选的,还包括:
接收删除指令;
根据所述删除指令,删除所述至少一个旧容器实例;其中,所删除的所述旧容器实例的数量与所述新容器实例的数量相同。
可选的,根据所述删除指令,删除所述至少一个旧容器实例,包括:
向当前容器实例运行的第一进程发送程序终止信号;
根据所述程序终止信号中携带的进程号注销所述至少一个旧容器实例,其中,一个进程号对应一个旧容器实例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团北京有限公司;中国移动通信集团有限公司,未经中国移动通信集团北京有限公司;中国移动通信集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811531989.3/2.html,转载请声明来源钻瓜专利网。