[发明专利]具有业务快速恢复功能的容器组更新方法及系统有效
申请号: | 202010063953.8 | 申请日: | 2020-01-20 |
公开(公告)号: | CN111290767B | 公开(公告)日: | 2021-06-08 |
发明(设计)人: | 谭光明;汤瑞;邵恩;王紫阳;马立贤;孙凝晖 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F9/455 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国 |
地址: | 100080 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 具有 业务 快速 恢复 功能 容器 更新 方法 系统 | ||
1.一种具有业务快速恢复功能的容器组更新方法,其特征在于,包括:
步骤1、根据对容器组的更新请求,暂停该容器组的服务,通过比较更新请求和容器组当前状态,确定该容器组中待更新容器,并将该容器组中除该待更新容器以外的容器全都暂停,并将除该待更新容器以外的容器的进程持久化到磁盘;
步骤2、保存该待更新容器的运行状态,根据该更新请求中需要更新的容器镜像文件构建新的容器镜像,销毁该待更新容器后根据该运行状态重新运行新的容器镜像,得到更新容器,恢复运行该容器组以完成对该容器组的更新;
该步骤1包括:
步骤11、根据该更新请求,获得业务所有的容器组副本信息列表,容器组副本信息列表包括容器组运行节点以及容器组中所有容器,遍历该容器组副本信息列表中的每一个容器组副本;
步骤12、对于该更新请求,检查用户提交的作业配置文件,并和相同作业前一个版本的作业配置文件进行对比,根据对比结果判断当前容器组副本对应容器组中的容器是否需要更新,若是则执行该步骤2,否则容器进入容器暂停状态;
步骤13、容器更新完成之后,判断是否是容器组中最后一个容器,若是则容器组进入容器重启状态,重启容器,否则,重复步骤12;
步骤14 、检查容器组是否是最后一个容器组副本,若是则生成更新完成消息,否则,重复步骤12至步骤13。
2.如权利要求1所述的具有业务快速恢复功能的容器组更新方法,其特征在于,该容器组中的容器之间通过管道或套接字方式,实现容器间通信,在暂停该容器组的服务时保存进程间的连接状态,按照该连接状态重建更新容器与其余容器的通信。
3.如权利要求1所述的具有业务快速恢复功能的容器组更新方法,其特征在于,该步骤2包括:
步骤21、检查容器镜像仓库是否存在更新后的容器镜像,若存在,则执行步骤22,否则执行步骤23;
步骤22、从容器镜像仓库拉取新的容器镜像,容器从运行状态进入状态保存状态,保存容器的状态信息,容器状态从状态保存变为容器更新状态,销毁待更新容器,容器状态由容器更新变为容器恢复状态,按照该状态信息重新启动新容器,容器变为容器重启状态;
步骤23、从容器信息中拉取用户提交的程序源码、环境变量和配置文件,根据环境变量编译程序代码,生成可执行文件,根据该配置文件和该可执行文件构建新的容器镜像,并且将新的容器镜像存入容器镜像仓库中,执行步骤22。
4.如权利要求1所述的具有业务快速恢复功能的容器组更新方法,其特征在于,该步骤1包括:
步骤31、暂停当前容器的运行,并将当前容器的进程持久化为文件存放在磁盘中并释放系统资源;
该步骤2包括:
步骤32、根据更新完成消息中的容器进程号,恢复该容器进程号所在容器组中所有容器,容器状态由容器暂停状态恢复为容器运行状态。
5.一种具有业务快速恢复功能的容器组更新系统,其特征在于,包括:
模块1、根据对容器组的更新请求,暂停该容器组的服务,通过比较更新请求和容器组当前状态,确定该容器组中待更新容器,并将该容器组中除该待更新容器以外的容器全都暂停,并将除该待更新容器以外的容器的进程持久化到磁盘;
模块2、保存该待更新容器的运行状态,根据该更新请求中需要更新的容器镜像文件构建新的容器镜像,销毁该待更新容器后根据该运行状态重新运行新的容器镜像,得到更新容器,恢复运行该容器组以完成对该容器组的更新;
该模块1包括:
模块11、根据该更新请求,获得业务所有的容器组副本信息列表,容器组副本信息列表包括容器组运行节点以及容器组中所有容器,遍历该容器组副本信息列表中的每一个容器组副本;
模块12、对于该更新请求,检查用户提交的作业配置文件,并和相同作业前一个版本的作业配置文件进行对比,根据对比结果判断当前容器组副本对应容器组中的容器是否需要更新,若是则执行该模块2,否则容器进入容器暂停状态;
模块13、容器更新完成之后,判断是否是容器组中最后一个容器,若是则容器组进入容器重启状态,重启容器,否则,重复模块12;
模块14 、检查容器组是否是最后一个容器组副本,若是则生成更新完成消息,否则,重复模块12至模块13。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010063953.8/1.html,转载请声明来源钻瓜专利网。