[发明专利]虚拟机容错的实现方法和系统有效
| 申请号: | 202010099555.1 | 申请日: | 2020-02-18 |
| 公开(公告)号: | CN111400086B | 公开(公告)日: | 2022-05-06 |
| 发明(设计)人: | 杨帆;李文泰;陈海波 | 申请(专利权)人: | 上海交通大学 |
| 主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F11/07;G06F11/34;G06F9/455;G06F9/445;G06F9/50 |
| 代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 胡晶 |
| 地址: | 200240 *** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 虚拟机 容错 实现 方法 系统 | ||
1.一种虚拟机容错的实现方法,其特征在于,将应用程序所在的虚拟机冗余地运行在多台服务器中,选取一台服务器作为主虚拟机,其余作为从虚拟机,主虚拟机、从虚拟机虚拟化配置相同,主虚拟机、从虚拟机互为冗余备份,以备故障切换;
令主虚拟机和从虚拟机对用户请求冗余处理,通过主从同步协议,保持主虚拟机和从虚拟机对外可见状态的一致性;
通过与虚拟机监视器相互协作的操作系统,降低主虚拟机、从虚拟机频繁状态同步的开销;
所述对用户请求冗余处理包括如下步骤:
预处理步骤:当接收到用户端向虚拟机中的应用程序发送第一请求时,令所述第一请求附加一个同步次数编号生成第二请求,同时将第二请求冗余地发送给主虚拟机和从虚拟机;
执行判定步骤:主虚拟机和从虚拟机根据收到的第二请求中携带的同步次数编号与当前同步次数,执行未被执行过的请求。
2.根据权利要求1所述的虚拟机容错的实现方法,其特征在于,所述保持主虚拟机和从虚拟机中应用程序状态一致性包括如下步骤:
输出比较模块:令主虚拟机的第一输出在预先分配的内存空间中进行缓存,令从虚拟机的第二输出发送至主虚拟机的虚拟机监视器,将第一输出与第二输出进行输出比较;
差异控制模块:对第一输出与第二输出的输出比较进行判断,若第一输出与第二输出相同,则令第一输出释放至用户端,否则,进行主虚拟机和从虚拟机的虚拟机状态同步操作,同步后释放第一输出,回收第二输出。
3.根据权利要求1所述的虚拟机容错的实现方法,其特征在于,所述虚拟机监视器与操作系统相互协作包括以下步骤:
执行记录步骤:主虚拟机内的操作系统在请求执行时记录执行信息,所述执行信息包括各CPU核调度器中应用程序线程的调度顺序和同步原语被线程获取的次序;
日志共享步骤:将执行信息以只追加的形式写入主虚拟机的虚拟机监视器的日志空间,形成调度日志,将调度日志顺序地、异步地发送至从虚拟机的虚拟机监视器;
按日志调度步骤:从虚拟机的虚拟机监视器收到调度日志后,将调度日志写入从虚拟机的虚拟机监视器的日志空间,从虚拟机内的操作系统在进行调度时,会读取调度日志,并按照调度日志以最大努力的方式执行调度;所述最大努力的方式是指从虚拟机内的操作系统不必强制完全按照调度日志执行调度,由于其他不确定性导致其无法按照调度日志进行调度时,仍保证主虚拟机和从虚拟机对外可见的一致性。
4.根据权利要求1所述的虚拟机容错的实现方法,其特征在于,所述故障切换包括以下步骤:
故障监测步骤:主虚拟机的虚拟机监视器定期与从虚拟机的虚拟机监视器进行心跳监测,当经过设定的超时时间没有响应时,监测为故障;
故障恢复步骤:当从虚拟机故障后,主虚拟机不受影响的继续服务;当主虚拟机故障后,从虚拟机升级为主虚拟机提供服务;当从虚拟机数量多于一台时,多台从虚拟机基于分布式共识协议进行投票成为主虚拟机继续服务,以保证冗余虚拟机间实时故障切换,无需等待虚拟机启动、应用程序加载。
5.一种虚拟机容错的实现系统,其特征在于,将应用程序所在的虚拟机冗余地运行在多台服务器中,多台服务器中的虚拟机配置相同,互为冗余备份,以备故障切换;选取一台服务器作为主虚拟机,其余作为从虚拟机,在主从虚拟机之间设置主从同步协议,令主虚拟机和从虚拟机对用户请求冗余处理,并保持主虚拟机和从虚拟机对外可见状态的一致性;通过与虚拟机监视器相互协作的操作系统,降低主从虚拟机频繁状态同步的开销;
所述对用户请求冗余处理包括如下模块:
预处理模块:当接收到用户端向虚拟机中的应用程序发送第一请求时,令所述第一请求附加一个同步次数编号生成第二请求,同时将第二请求冗余地发送给主虚拟机和从虚拟机;
执行判定模块:主虚拟机和从虚拟机根据收到的第二请求中携带的同步次数编号与当前同步次数,执行未被执行过的请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010099555.1/1.html,转载请声明来源钻瓜专利网。





