[发明专利]一种半虚拟化实现方法、装置、设备及介质在审
申请号: | 202310342064.9 | 申请日: | 2023-03-29 |
公开(公告)号: | CN116360925A | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 刘邦国 | 申请(专利权)人: | 山东云海国创云计算装备产业创新中心有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 张涛;张元 |
地址: | 250000 山东省济南市中国(山东)自由贸*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟 实现 方法 装置 设备 介质 | ||
1.一种半虚拟化实现方法,其特征在于,所述方法包括:
在物理服务器的用户态中运行若干Qemu应用程序;
利用每个Qemu应用程序在进程空间中启动一个虚拟机,并在虚拟机启动时创建共享内存;
响应于虚拟机中的应用程序请求访问物理服务器挂载的硬件设备时,则通过所述共享内存完成Qemu应用程序与虚拟机之间的数据交互。
2.根据权利要求1所述的半虚拟化实现方法,其特征在于,所述方法还包括:
在每个虚拟机的内核态中运行设备前端驱动,其中,所述设备前端驱动用于将数据转换成内核态数据;
在每个Qemu应用程序中运行设备驱动,其中,所述设备驱动用于将内核态数据转换成用户态数据;
在物理服务器的内核态中运行设备后端驱动,所述设备后端驱动用于将用户态数据转换成内核态数据。
3.根据权利要求2所述的半虚拟化实现方法,其特征在于,所述方法还包括:
需要访问物理服务器挂载的硬件设备时,虚拟机中的应用程序通过ioctl接口从用户态访问内核态的所述设备前端驱动,以向所述设备前端驱动发送调用请求。
4.根据权利要求3所述的半虚拟化实现方法,其特征在于,通过所述共享内存完成Qemu应用程序与虚拟机之间的数据交互,包括:
利用所述设备前端驱动将与调用请求相关的数据转换成内核态数据后写入到所述共享内存中,并通知所述Qemu应用程序去共享内存读取;
响应于Qemu应用程序读取完与调用请求相关的数据,则利用所述设备驱动将读取的数据转换为物理服务器上的用户态数据,并调用物理服务器上的ioctl接口将用户态的数据传递给物理服务器的所述设备后端驱动;
所述设备后端驱动接收到用户态的数据后转换成内核态数据,以使物理服务器根据转换后的内核态数据读写硬件设备的寄存器;
响应于物理服务器完成对硬件设备的寄存器的读写,由物理服务器将访问结果返回给对应的Qemu应用程序,再由对应的Qemu应用程序将所述访问结果返回给虚拟机中的应用程序。
5.一种半虚拟化实现装置,其特征在于,所述装置包括:
运行模块,所述运行模块配置用于在物理服务器的用户态中运行若干Qemu应用程序;
内存创建模块,所述内存创建模块配置用于利用每个Qemu应用程序在进程空间中启动一个虚拟机,并在虚拟机启动时创建共享内存;
数据交互模块,所述数据交互模块配置用于响应于虚拟机中的应用程序请求访问物理服务器挂载的硬件设备时,则通过所述共享内存完成Qemu应用程序与虚拟机之间的数据交互。
6.根据权利要求5所述的半虚拟化实现装置,其特征在于,所述装置还包括驱动模块,所述驱动模块配置用于:
在每个虚拟机的内核态中运行设备前端驱动,其中,所述设备前端驱动用于将数据转换成内核态数据;
在每个Qemu应用程序中运行设备驱动,其中,所述设备驱动用于将内核态数据转换成用户态数据;
在物理服务器的内核态中运行设备后端驱动,所述设备后端驱动用于将用户态数据转换成内核态数据。
7.根据权利要求6所述的半虚拟化实现装置,其特征在于,所述装置还包括调用模块,所述调用模块配置用于:
需要访问物理服务器挂载的硬件设备时,虚拟机中的应用程序通过ioctl接口从用户态访问内核态的所述设备前端驱动,以向所述设备前端驱动发送调用请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东云海国创云计算装备产业创新中心有限公司,未经山东云海国创云计算装备产业创新中心有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310342064.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于陶瓷釉表面装饰的陶泥化妆土及其使用方法
- 下一篇:镀膜方法和设备