[发明专利]基于补丁机制的Windows虚拟机与KVM宿主机的通信方法及系统有效
| 申请号: | 201910552215.7 | 申请日: | 2019-06-25 |
| 公开(公告)号: | CN110262875B | 公开(公告)日: | 2021-04-27 |
| 发明(设计)人: | 邢希双 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455 |
| 代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 王汝银 |
| 地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 补丁 机制 windows 虚拟机 kvm 宿主 通信 方法 系统 | ||
1.一种基于补丁机制的Windows虚拟机与KVM宿主机的通信方法,其特征在于,所述方法包括:
当Windows虚拟机业务驱动实现时,在所述Windows虚拟机的内核业务驱动模块中预先分配一块内存;
在所述Windows虚拟机中,利用内核业务驱动模块数据结构中的补丁信息指针字段,挂接所述内存;
KVM宿主机根据当前Windows虚拟机的内核模块链表中内核业务驱动的补丁信息指针偏移量,确定所述内存;
Windows虚拟机与KVM宿主机基于所述内存进行双向通信;
其中,在所述Windows虚拟机中,利用内核业务驱动模块数据结构中的补丁信息指针字段,挂接所述内存的方法,包括:
当Windows虚拟机业务驱动实现时,在初始化函数中获取第一补丁信息指针,所述第一补丁信息指针为挂接前内核模块数据结构中的原始补丁信息指针;
将所述第一补丁信息指针替换为第二补丁信息指针,并保存所述第一补丁信息指针,所述第二补丁信息指针为所述内存的指针;
当加载业务驱动时,内核业务驱动模块数据结构中的补丁信息指针更新为第二补丁信息指针;
当卸载业务驱动时,内核业务驱动模块数据结构中的补丁信息指针变更为第一补丁信息指针。
2.根据权利要求1所述的一种基于补丁机制的Windows虚拟机与KVM宿主机的通信方法,其特征在于,KVM宿主机根据当前Windows虚拟机的内核模块链表中内核业务驱动的补丁信息指针偏移量,确定所述内存的方法,包括:
KVM宿主机遍历Windows虚拟机的内核模块列表,根据内核模块列表中的驱动名称,确定需要通过内存进行通信的内核业务驱动;
根据Windows虚拟机中当前内核业务驱动模块的补丁信息指针偏移量,确定所述内核业务驱动的补丁信息指针;
根据所述内核业务驱动的补丁信息指针,获取所述内核业务驱动分配的内存。
3.根据权利要求2所述的一种基于补丁机制的Windows虚拟机与KVM宿主机的通信方法,其特征在于,所述KVM宿主机遍历Windows虚拟机的内核模块列表的方法,具体为:
KVM宿主机利用Libvmi技术,遍历Windows虚拟机的内核模块列表。
4.根据权利要求1-3中任一所述的一种基于补丁机制的Windows虚拟机与KVM宿主机的通信方法,其特征在于,当Windows虚拟机业务驱动实现时,在所述Windows虚拟机的内核业务驱动模块中预先分配一块内存之后,所述方法还包括:
对所述内存进行分段,且不同的段用于执行不同的读写操作。
5.一种基于补丁机制的Windows虚拟机与KVM宿主机的通信系统,其特征在于,所述系统包括:
内存分配模块,设置于Windows虚拟机中,用于当Windows虚拟机业务驱动实现时,在所述Windows虚拟机的内核业务驱动模块中预先分配一块内存;
挂接模块,设置于Windows虚拟机中,用于在所述Windows虚拟机中,利用内核业务驱动模块数据结构中的补丁信息指针字段,挂接所述内存;
内存确定模块,设置于KVM宿主机中,用于根据当前Windows虚拟机的内核模块链表中内核业务驱动的补丁信息指针偏移量,确定所述内存;
通信模块,用于在Windows虚拟机与KVM宿主机中,基于所述内存进行双向通信;
其中,所述挂接模块包括:
第一补丁信息指针获取单元,用于当Windows虚拟机业务驱动实现时,在初始化函数中获取第一补丁信息指针,所述第一补丁信息指针为挂接前内核模块数据结构中的原始补丁信息指针;
替换单元,用于将所述第一补丁信息指针替换为第二补丁信息指针,并保存所述第一补丁信息指针,所述第二补丁信息指针为所述内存的指针;
第一更新单元,用于当加载业务驱动时,将内核业务驱动模块数据结构中的补丁信息指针更新为第二补丁信息指针;
第二更新单元,用于当卸载业务驱动时,将内核业务驱动模块数据结构中的补丁信息指针变更为第一补丁信息指针。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910552215.7/1.html,转载请声明来源钻瓜专利网。





