[发明专利]一种KVM虚拟化服务系统及其数据通信方法在审
申请号: | 201310596241.2 | 申请日: | 2013-11-21 |
公开(公告)号: | CN103605559A | 公开(公告)日: | 2014-02-26 |
发明(设计)人: | 姚远 | 申请(专利权)人: | 中标软件有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/54 |
代理公司: | 北京聿宏知识产权代理有限公司 11372 | 代理人: | 钟日红;吴大建 |
地址: | 200030 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 kvm 虚拟 服务 系统 及其 数据通信 方法 | ||
技术领域
本发明涉及一种系统虚拟化技术,尤其涉及一种提升虚拟化环境稳定性的KVM虚拟化服务系统及其数据通信方法。
背景技术
基于内核的KVM虚拟机(Kernel-based Virtual Machine)是一种开源的服务器虚拟化技术,自Linux2.6.20之后集成在Linux各个版本的内核中,作为一种主流的虚拟化技术而被广泛使用。KVM虚拟机能够使用Linux的调度器和内存管理功能,无需要付出额外的代价,自动地跟踪记录最新的硬件设备状态并且保持可伸缩性的特点。在宿主操作系统Linux自身的资源管理和CPU硬件虚拟化技术的支持下,KVM虚拟机可以高效地支持多个客户操作系统,使一台计算机能够被当成多台计算机使用。Linux体系结构的最大优势就是模块化,即:内核只包括同步原语、简单的进程调度以及进程间通信机制等基本功能,而文件系统、设备驱动等属于内核上层的功能均采用相应的程序模块加以实现。这些程序模块可以在运行时通过动态链接的方式加载到内核中运行。正因为如此,使得Linux内核运行时会集成大量的扩展代码(主要是设备驱动的程序代码)。扩展代码跟内核代码共享内核地址空间,具有与内核一样的对内核数据结构进行修改的权限。在这种工作模式下,有问题的设备驱动很容易造成操作系统出错甚至崩溃,进而影响系统的KVM虚拟化环境的稳定性。
发明内容
基于上述原因,本发明的目的是提供一种提升虚拟化环境稳定性的KVM虚拟化服务系统及其数据通信方法。该方法能够在不修改KVM虚拟机源代码的前提下,将设备驱动从宿主操作系统中分离到客户操作系统中运行,从而提升系统的KVM虚拟化环境的稳定性。
本发明提供一种KVM虚拟化服务系统,其特征在于,包括:
宿主操作系统,其上运行KVM虚拟机,所述KVM虚拟机设置有域间通信模块;
一个以上的客户操作系统,每一所述客户操作系统设置有域服务模块,每一所述域服务模块配置一与所述域间通信模块共享的数据传输缓冲区;
其中,当一所述客户操作系统设置有设备驱动程序时,其内所述域服务模块从对应的所述数据传输缓冲区获取相关数据,传给所述设备驱动程序,以及从所述设备驱动程序接收相关数据,放入对应的所述数据传输缓冲区;
所述宿主操作系统的域间通信模块在不同客户操作系统的数据传输缓冲区之间来回拷贝数据,以此实现不同客户操作系统之间的数据通信。
上述KVM虚拟化服务系统中,当所述客户操作系统要发送数据时,其内所述域服务模块将数据存储位置和待接收数据的客户操作系统信息发给所述宿主操作系统的域间通信模块。
且,上述KVM虚拟化服务系统中,当待接收数据的客户操作系统的数据传输缓冲区被占用时,所述宿主操作系统的域间通信模块放弃此次拷贝操作。
进一步地,根据本发明的实施例,上述客户操作系统的域服务模块可以于初始化时申请配置一所述数据传输缓冲区,并通过内存映射法与所述宿主操作系统的域间通信模块共享所述数据传输缓冲区。
上述宿主操作系统的域间通信模块还可以监控设置有设备驱动程序的所述客户操作系统的运行状况,当运行出现故障时重启此所述客户操作系统。
此外,本发明还提供一种KVM虚拟化服务系统的数据通信方法,所述KVM虚拟化服务系统包括:宿主操作系统,其上运行KVM虚拟机,所述KVM虚拟机设置有域间通信模块;一个以上的客户操作系统,每一所述客户操作系统设置有域服务模块;所述数据通信方法包括:
所述客户操作系统的域服务模块配置一与所述宿主操作系统的域间通信模块共享的数据传输缓冲区;
当一所述客户操作系统设置有设备驱动程序时,其内域服务模块从对应的数据传输缓冲区获取相关数据,传给设备驱动程序,以及从设备驱动程序接收相关数据,放入对应的数据传输缓冲区;
所述宿主操作系统的域间通信模块在不同客户操作系统的数据传输缓冲区之间来回拷贝数据,以此实现不同客户操作系统之间的数据通信。
上述数据通信方法中,当客户操作系统要发送数据时,其内域服务模块将数据存储位置和待接收数据的客户操作系统信息发给所述宿主操作系统的域间通信模块。
且,当待接收数据的客户操作系统的数据传输缓冲区被占用时,所述宿主操作系统的域间通信模块放弃此次拷贝操作。
进一步地,根据本发明的实施例,上述客户操作系统的域服务模块于初始化时申请配置数据传输缓冲区,并通过内存映射法与所述宿主操作系统的域间通信模块共享数据传输缓冲区。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中标软件有限公司,未经中标软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310596241.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种护肝保健面料制造方法
- 下一篇:一种高镍铬合金半钢轧辊的制造方法