[发明专利]用于热升级安全容器的虚拟机监控程序的方法及装置有效
申请号: | 202011170679.0 | 申请日: | 2020-10-28 |
公开(公告)号: | CN112199165B | 公开(公告)日: | 2022-07-05 |
发明(设计)人: | 徐权;秦承刚;贺勇 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京永新同创知识产权代理有限公司 11376 | 代理人: | 林锦辉;刘景峰 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 升级 安全 容器 虚拟机 监控 程序 方法 装置 | ||
1.一种用于热升级安全容器的虚拟机监控程序的方法,所述虚拟机监控程序用于运行用户态内核,所述方法包括:
响应于获取到虚拟机监控程序升级请求,挂起容器实例中的用户态线程在系统线程上的运行操作;
解耦各个系统线程与所述容器实例当前使用的第一虚拟处理器集之间的绑定关系,所述第一虚拟处理器集根据第一虚拟机监控程序的虚拟机设备文件创建;
删除所述第一虚拟处理器集;
根据第二虚拟机监控程序的虚拟机设备文件创建第二虚拟处理器集;以及
使用所述第二虚拟处理器集来在各个系统线程上继续运行各个用户态线程。
2.如权利要求1所述的方法,其中,所述容器实例构建有多版本虚拟机监控程序的虚拟机设备文件。
3.如权利要求1所述的方法,其中,所述方法在Go语言编程环境中实现。
4.如权利要求3所述的方法,其中,解耦各个系统线程与所述容器实例当前使用的第一虚拟处理器集之间的绑定关系包括:
将运行在guest ring3模式的系统线程弹回到guest ring0模式;以及
将运行在host ring0模式的第一虚拟处理器弹回到guest ring0模式。
5.如权利要求4所述的方法,其中,解耦各个系统线程与所述容器实例当前使用的第一虚拟处理器集之间的绑定关系还包括:
将系统调用从guest ring0模式返回到host ring3模式。
6.如权利要求1所述的方法,其中,删除所述第一虚拟处理器集包括:
删除所述第一虚拟处理器集中的各个第一虚拟处理器的虚拟处理器位图与各个系统线程的线程标识之间的映射关系,并且拆卸各个第一虚拟处理器的虚拟机状态。
7.如权利要求1所述的方法,其中,所述虚拟机监控程序支持进程级虚拟化。
8.一种用于热升级安全容器的虚拟机监控程序的装置,所述虚拟机监控程序用于运行用户态内核,所述装置包括:
升级请求获取单元,获取虚拟机监控程序升级请求;
实例运行挂起单元,响应于获取到所述虚拟机监控程序升级请求,挂起容器实例中的用户态线程在系统线程上的运行操作;
绑定关系解耦单元,解耦各个系统线程与所述容器实例当前使用的第一虚拟处理器集之间的绑定关系,所述第一虚拟处理器集根据利用第一虚拟机监控程序的虚拟机设备文件创建的第一文件句柄创建;
虚拟处理器处理单元,删除所述第一虚拟处理器集,并且根据第二虚拟机监控程序的虚拟机设备文件创建第二虚拟处理器集;以及
线程重运行单元,使用所述第二虚拟处理器集来在各个系统线程上继续运行各个用户态线程。
9.如权利要求8所述的装置,还包括:
设备文件构建单元,构建所述容器实例的多版本虚拟机监控程序文件的虚拟机设备文件。
10.如权利要求8所述的装置,其中,所述装置在Go语言编程环境中实现,所述绑定关系解耦单元包括:
系统线程弹回模块,将运行在guest ring3模式的系统线程弹回到guest ring0模式;以及
虚拟处理器弹回模块,将运行在host ring0模式的第一虚拟处理器弹回到guestring0模式。
11.如权利要求10所述的装置,其中,所述绑定关系解耦单元还包括:
系统调用返回模块,将系统调用从guest ring0模式返回到host ring3模式。
12.如权利要求8所述的装置,其中,所述虚拟处理器处理单元:
删除所述第一虚拟处理器集中的各个第一虚拟处理器的处理器位图与系统线程的线程标识之间的映射关系,并且拆卸各个第一虚拟处理器的虚拟机状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011170679.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于甲醇水蒸气裂解制氢的催化剂及制氢方法
- 下一篇:一种扎染用设备