[发明专利]用于虚拟机与宿主机的通信方法、装置和系统有效
申请号: | 201810600242.2 | 申请日: | 2018-06-12 |
公开(公告)号: | CN108845863B | 公开(公告)日: | 2022-08-26 |
发明(设计)人: | 倪勋;谢永吉;张宇 | 申请(专利权)人: | 北京百度网讯科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/54 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 虚拟机 宿主 通信 方法 装置 系统 | ||
本申请实施例公开了用于虚拟机与宿主机的通信方法、装置和系统。用于虚拟机与宿主机的通信方法一实施例包括:轮询设置在共享内存中的第一命令完成标识队列;响应于检测到第一命令完成标识队列存在更新,将第一命令完标识成队列与保存在虚拟机中的第二命令完成标识队列进行比对,以确定出当前已完成命令的标识;以及基于当前已完成命令的标识,更新第二命令完成标识队列。该实施方式有利于降低系统访问延迟。
技术领域
本申请实施例涉及计算机技术领域,具体涉及虚拟机与宿主机通信的技术领域,尤其涉及用于虚拟机与宿主机的通信方法、装置和系统。
背景技术
虚拟机(Virtual Machine),是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
Virtio是一种处理虚拟机中的程序和宿主机程序进行通讯的协议。具体地,首先,虚拟机中的前端程序接受命令并把相应的命令放入virtio中的vring。接着,通过eventfd机制通知后端程序进行处理。其中,eventfd机制是一种可以让内核和用户态程序通信的机制。后端程序通过vring收到前端程序发送的命令,然后发送到对应的硬件完成处理。在完成的时候通过eventfd将结果返回给前端程序。
在利用Virtio进行虚拟机上的前端程序与宿主机上的后端程序之间的通信时,需要进行vmentry/vmexit的动作。在这里,vmentry指从宿主机进入虚拟机,vmexit是指从虚拟机退出到宿主机。
发明内容
本申请实施例提出了用于虚拟机与宿主机的通信方法、装置和系统。
第一方面,本申请实施例提供了一种用于虚拟机与宿主机的通信方法,包括:轮询设置在共享内存中的第一命令完成标识队列;响应于检测到第一命令完成标识队列存在更新,将第一命令完标识成队列与保存在虚拟机中的第二命令完成标识队列进行比对,以确定出当前已完成命令的标识;以及基于当前已完成命令的标识,更新第二命令完成标识队列。
在一些实施例中,方法还包括:向待执行命令队列发送输入输出端口读写请求,并更新与待执行命令队列相对应的待执行命令标识队列,以使轮询待执行命令标识队列的宿主机获取当前待执行命令,并在当前待执行命令执行完毕后,更新第一命令完成标识队列。
在一些实施例中,方法还包括:基于当前已完成命令的标识,从命令队列中获取当前已完成命令所对应的返回数据;以及调用函数对返回数据进行处理。
第二方面,本申请实施例还提供了一种用于虚拟机与宿主机的通信系统,包括:包括宿主机以及部署在宿主机上的至少一个虚拟机,其中:对于其中至少一个虚拟机,该虚拟机被配置成:轮询设置在共享内存中的第一命令完成标识队列;响应于检测到第一命令完成标识队列存在更新,将第一命令完标识成队列与保存在虚拟机中的第二命令完成标识队列进行比对,以确定出当前已完成命令的标识;以及基于当前已完成命令的标识,更新第二命令完成标识队列。
在一些实施例中,其中至少一个虚拟机还被配置成:向待执行命令队列发送输入输出端口读写请求,并更新与待执行命令队列相对应的待执行命令标识队列。
在一些实施例中,宿主机被配置成:轮询共享内存中的待执行命令标识队列;响应于检测到待执行命令标识队列存在更新,从待执行命令队列中确定出输入输出端口读写请求作为当前待执行命令;将当前待执行命令发送至硬件设备以使硬件设备执行当前待执行命令;响应于接收到硬件设备返回的命令执行完成消息,向命令完成队列添加当前待执行命令的返回数据,并更新第一命令完成标识。
在一些实施例中,其中至少一个虚拟机,还被配置成:基于当前已完成命令的标识,从命令队列中获取当前已完成命令所对应的返回数据;以及调用函数对返回数据进行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百度网讯科技有限公司,未经北京百度网讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810600242.2/2.html,转载请声明来源钻瓜专利网。