[发明专利]一种基于容器的隔离处理方法及相关设备有效
申请号: | 201710760721.6 | 申请日: | 2017-08-29 |
公开(公告)号: | CN107608757B | 公开(公告)日: | 2021-01-08 |
发明(设计)人: | 陈晓;李龙 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 容器 隔离 处理 方法 相关 设备 | ||
1.一种基于容器的隔离处理方法,其特征在于,应用于主机设备,所述主机设备上运行有多个容器,所述多个容器中的每个容器对应一个容器实例,所述方法包括:
接收用于隔离的操作指令,所述操作指令包含目标容器的标识,所述目标容器为所述多个容器中的至少一个;
根据所述目标容器的标识确定所述目标容器的目标容器实例;
获取所述目标容器实例的检查点文件,所述检查点文件为检查点以文件的形式进行保存的数据,所述检查点用于指示所述目标容器实例运行时的状态数据;
将用于运行所述目标容器实例的执行引擎由容器执行引擎切换至虚拟化容器执行引擎;
根据所述检查点文件将目标容器实例的状态数据迁移至虚拟化容器,以得到目标虚拟化容器实例,所述目标虚拟化容器实例运行于虚拟化容器执行引擎;
所述主机设备包括容器管理引擎和虚拟化容器管理引擎;所述根据所述检查点文件将目标容器实例的数据迁移至虚拟化容器之前,所述方法还包括:
将所述容器管理引擎记录的所述目标容器的标识传递给所述虚拟化容器管理引擎,以使所述虚拟化容器管理引擎管理所述目标虚拟化容器实例。
2.根据权利要求1所述的基于容器的隔离处理方法,其特征在于,所述获取所述目标容器实例的检查点文件,包括:
冻结所述目标容器实例;
对冻结的所述目标容器实例设置检查点;
将所述检查点的数据以检查点文件的形式保存至内存文件系统;
从所述内存文件系统获取所述目标容器实例的检查点文件。
3.根据权利要求1或2所述的基于容器的隔离处理方法,其特征在于,所述根据所述检查点文件将目标容器实例的数据迁移至虚拟化容器,包括:
根据所述检查点文件恢复所述目标容器实例运行时的数据,并启动计数器,所述计数器用于记录所述检查点文件恢复的次数;
若所述目标容器实例运行时的数据恢复失败且所述计数器记录的数值小于预设值,则重复根据所述检查点文件恢复所述目标容器实例运行时的数据的步骤;
当所述目标容器实例运行时的数据恢复成功时,将所述目标容器实例运行时的数据迁移至所述虚拟化容器。
4.根据权利要求1或2所述的基于容器的隔离处理方法,其特征在于,所述根据所述检查点文件将目标容器实例的状态数据迁移至虚拟化容器,以得到目标虚拟化容器实例,包括:
根据所述检查点文件恢复所述目标容器实例运行时的状态数据;
将所述状态数据复制到所述虚拟化容器;
删除所述目标容器实例和所述检查点文件,以得到所述目标虚拟化容器实例。
5.一种主机设备,其特征在于,所述主机设备上运行有多个容器,所述多个容器中的每个容器对应一个容器实例,所述主机设备包括:
接收模块,用于接收用于隔离的操作指令,所述操作指令包含目标容器的标识,所述目标容器为所述多个容器中的至少一个;
确定模块,用于根据所述接收模块接收的所述目标容器的标识从多个容器实例中确定所述目标容器的目标容器实例;
获取模块,用于获取所述目标容器实例的检查点文件,所述检查点文件为检查点以文件的形式进行保存的数据,所述检查点用于指示所述目标容器实例运行时的状态数据;
执行引擎切换模块,用于将用于运行所述目标容器实例的执行引擎由容器执行引擎切换至虚拟化容器执行引擎;
数据迁移模块,用于根据所述获取模块获取的所述检查点文件将所述目标容器实例的状态数据迁移至虚拟化容器,以得到目标虚拟化容器实例,所述目标虚拟化容器实例运行于所述虚拟化容器执行引擎;
所述主机设备包括容器管理引擎和虚拟化容器管理引擎,所述主机设备还包括注册模块;
所述注册模块,用于将容器管理引擎记录的目标容器的标识传递给虚拟化容器管理引擎,以使所述虚拟化容器管理引擎管理所述目标虚拟化容器实例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710760721.6/1.html,转载请声明来源钻瓜专利网。