[发明专利]一种半虚拟化实现方法、装置、设备及介质在审
申请号: | 202310342064.9 | 申请日: | 2023-03-29 |
公开(公告)号: | CN116360925A | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 刘邦国 | 申请(专利权)人: | 山东云海国创云计算装备产业创新中心有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 张涛;张元 |
地址: | 250000 山东省济南市中国(山东)自由贸*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟 实现 方法 装置 设备 介质 | ||
本发明涉及虚拟化领域,尤其涉及一种半虚拟化实现方法、装置、设备及介质。所述方法包括:在物理服务器的用户态中运行若干Qemu应用程序;利用每个Qemu应用程序在进程空间中启动一个虚拟机,并在虚拟机启动时创建共享内存;响应于虚拟机中的应用程序请求访问物理服务器挂载的硬件设备时,则通过所述共享内存完成Qemu应用程序与虚拟机之间的数据交互。本发明的方案不再依赖于VirtIO框架,而是基于Qemu和共享内存实现了半虚拟化技术,在模拟不同的硬件设备时更具灵活性;此外以共享内存的方式传递数据在处理多任务并发时有一定性能优势。
技术领域
本发明涉及虚拟化领域,尤其涉及一种半虚拟化实现方法、装置、设备及介质。
背景技术
随着服务器的单机性能提升,如果一台服务器只部署一个业务,会极大的浪费服务器资源;如果部署多个相似业务,又会造成彼此冲突。半虚拟化技术的诞生解决了这个问题,其既能充分发挥服务器性能、共享使用服务器的硬件设备,又能解决业务之间的冲突问题,并且在性能上,比全虚拟化技术要强很多。目前,现有成熟的半虚拟化技术大多是基于virtio框架,在Guest端(指运行在物理机上的虚拟机系统)的前端驱动里,模拟设备的功能,当用户层的应用程序访问驱动的接口时,前端驱动通过解析,把数据与请求加入到virt队列中,然后通知Qemu程序,Qemu程序读取virt队列中的请求与数据,根据请求和数据再去访问物理服务器的驱动接口,从而实现对硬件设备的io读写。
请参照图1所示,现有技术基于virtio框架实现半虚拟化主要分为三部分:(1)虚拟机系统里的virtio前端驱动,用来接收与转化虚拟机apps的请求与数据;(2)Virtqueue队列,主要用来传输数据,属于Qemu应用程序与虚拟机系统的数据桥梁;(3)基于Qemu的virtio后端驱动,用来处理虚拟机系统发送过来的数据,并转化为host端用户态的数据,最终调用Host端ioctl接口完成读写硬件设备。基于virtio框架实现半虚拟化整体流程为:虚拟机的APPs通过用户态访问内核态的virtio前端驱动接口,virtio前端驱动接收到请求与数据后,写入到virtqueue中,并通知QEMU数据写入完毕;Qemu的virtio后端驱动根据virtio框架协议,从virtqueue队列中读取数据,由于Qemu是服务器端运行的应用程序,把从virtqueue读取的数据转化为服务器端用户态的数据后,再调用服务器的驱动接口,完成设备读写。最后,Qemu把请求结果,写入到virtqueue中,返回给虚拟机系统。
然而,由于现有技术是基于virtio框架,而virtio框架作为一种通用的半虚拟化io设备的协议,因为是通用框架,并不完全适合所有虚拟化设备,有它本身的局限性。主要表现有以下几点:一方面,数据需要转化成virtqueue结构体,即数据需要额外的组装与打包,会有额外的时间与空间成本。另一方面,数据只能通过队列传输,不够灵活,多任务并发时,会有性能上的问题,例如技术成熟的virtio-net使用了两个virtqueue队列,一个用于收数据,一个用于发数据。
发明内容
有鉴于此,有必要针对以上技术问题,提供一种半虚拟化实现方法、装置、设备及介质。
根据本发明的第一方面,提供了一种半虚拟化实现方法,所述方法包括:
在物理服务器的用户态中运行若干Qemu应用程序;
利用每个Qemu应用程序在进程空间中启动一个虚拟机,并在虚拟机启动时创建共享内存;
响应于虚拟机中的应用程序请求访问物理服务器挂载的硬件设备时,则通过所述共享内存完成Qemu应用程序与虚拟机之间的数据交互。
在一些实施例中,所述方法还包括:
在每个虚拟机的内核态中运行设备前端驱动,其中,所述设备前端驱动用于将数据转换成内核态数据;
在每个Qemu应用程序中运行设备驱动,其中,所述设备驱动用于将内核态数据转换成用户态数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东云海国创云计算装备产业创新中心有限公司,未经山东云海国创云计算装备产业创新中心有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310342064.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于陶瓷釉表面装饰的陶泥化妆土及其使用方法
- 下一篇:镀膜方法和设备