首页 / 专利库 / 软件 / 虚拟机监控器 / 一种虚拟机互斥访问主机设备的方法及装置

一种虚拟机互斥访问主机设备的方法及装置

阅读:203发布:2020-05-12

专利汇可以提供一种虚拟机互斥访问主机设备的方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 提供的一种 虚拟机 互斥 访问 主机设备的方法及装置,通过监测是否接收到虚拟机发送的安插主机设备 请求 ,当监测到虚拟机发送的安插主机设备请求时,查找主机端的N个主机设备中是否存在空闲主机设备,N个主机设备预先配置于主机端,N为大于等于1的正整数;当存在空闲主机设备时,向虚拟机分配空闲主机设备,并将分配的空闲主机设备安插至虚拟机中。本发明提供的技术方案,不仅能够提高主机设备的利用率,还能够解决一个主机设备只能被固定的虚拟机进行访问,而无法为其他需要进行访问的虚拟机提供访问的问题。,下面是一种虚拟机互斥访问主机设备的方法及装置专利的具体信息内容。

1.一种虚拟机互斥访问主机设备的方法,其特征在于,所述方法包括:
监测是否接收到虚拟机发送的安插主机设备请求
当监测到所述虚拟机发送的安插主机设备请求时,查找主机端的N个主机设备中是否存在空闲主机设备,所述N个主机设备预先配置于所述主机端,所述N为大于等于1的正整数;
当存在空闲主机设备时,向所述虚拟机分配所述空闲主机设备,并将分配的空闲主机设备安插至所述虚拟机中。
2.根据权利要求1所述的方法,其特征在于,所述当存在空闲主机设备时,向所述虚拟机分配所述空闲主机设备,并将分配的空闲主机设备安插至所述虚拟机中,包括:
当存在空闲主机设备时,向所述虚拟机分配所述空闲主机设备;
基于虚拟机监控器提供的热插拔机制,将分配的空闲主机设备安插至所述虚拟机中。
3.根据权利要求1所述的方法,其特征在于,所述当监测到所述虚拟机发送的安插主机设备请求时,查找主机端的N个主机设备中是否存在空闲主机设备这一步骤之后,所述方法还包括:
当不存在空闲主机设备时,向所述虚拟机返回错误信息,所述错误信息用于表征当前不存在空闲主机设备。
4.根据权利要求1所述的方法,其特征在于,所述当存在空闲主机设备时,向所述虚拟机分配所述空闲主机设备,并将分配的空闲主机设备安插至所述虚拟机中这一步骤之后,所述方法还包括:
向所述虚拟机返回完成信息,所述完成信息用于表征所述空闲主机设备安插成功。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述虚拟机访问结束的情况下,接收所述虚拟机发送的卸载主机设备请求,并卸载所述虚拟机上安插的所述空闲主机设备;
或者,
在所述虚拟机未访问结束的情况下,监测是否接收到所述虚拟机发送的卸载主机设备请求;
当监测到所述虚拟机发送的卸载主机设备请求时,卸载所述虚拟机上安插的所述空闲主机设备。
6.根据权利要求1所述的方法,其特征在于,所述虚拟机发送的安插主机设备请求携带有与该虚拟机对应的编号,所述方法还包括:
获取所述虚拟机发送的安插主机设备请求中携带的与该虚拟机对应的编号;
获取向所述虚拟机分配的所述空闲主机设备对应的设备名称;
基于所述空闲主机设备对应的设备名称与所述虚拟机对应的编号生成对应的绑定信息,并记录所述绑定信息。
7.一种虚拟机互斥访问主机设备的装置,其特征在于,所述装置包括:
监测单元,用于监测是否接收到虚拟机发送的安插主机设备请求;
查找单元,用于当监测到所述虚拟机发送的安插主机设备请求时,查找主机端的N个主机设备中是否存在空闲主机设备,所述N个主机设备预先配置于所述主机端,所述N为大于等于1的正整数;
主机设备安插单元,用于当存在空闲主机设备时,向所述虚拟机分配所述空闲主机设备,并将分配的空闲主机设备安插至所述虚拟机中。
8.根据权利要求7所述的装置,其特征在于,所述主机设备安插单元,包括:
分配单元,用于当存在空闲主机设备时,向所述虚拟机分配所述空闲主机设备;
主机设备安插子单元,用于基于虚拟机监控器提供的热插拔机制,将分配的空闲主机设备安插至所述虚拟机中。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
错误信息返回单元,用于当不存在空闲主机设备时,向所述虚拟机返回错误信息,所述错误信息用于表征当前不存在空闲主机设备。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
完成信息返回单元,用于向所述虚拟机返回完成信息,所述完成信息用于表征所述空闲主机设备安插成功。

说明书全文

一种虚拟机互斥访问主机设备的方法及装置

技术领域

[0001] 本发明涉及互联网技术领域,尤其涉及一种虚拟机互斥访问主机设备的方法和装置。

背景技术

[0002] 计算是基于互联网相关服务的增加、使用和交互模式,通常涉及通过互联网来提供动态易扩展且是以虚拟化存在的资源。当用户想使用云计算进行服务器部署时,仅需要在相应的云平台上申请服务器资源即可实现服务器部署。其中,云平台指的是为云计算提供服务而开发的虚拟环境。为了能够让多个用户同时在云平台上进行操作,通常在支撑云平台的服务器上配置多个虚拟机。
[0003] 现有技术中,通过在服务器的主板PCIe插槽上安装GPU、FPGA等主机设备,实现虚拟机与服务器上安装的主机设备之间的访问。当有虚拟机请求访问时,通过在服务器的主板PCIe插槽安装的主机设备直接透传给该虚拟机,进而实现虚拟机与服务器上的主机设备之间的访问。但是,由于服务器的主板PCIe插槽有限,只能安装有限个GPU或者FPGA等主机设备,并且当一个主板PCIe插槽中的GPU或者FPGA被一台虚拟机进行访问后,即使这个虚拟机已经访问结束了,该主板PCIe插槽中的GPU或者FPGA也不能为其他的虚拟机提供访问,不仅限制了该主板PCIe插槽中的GPU或者FPGA的利用率,还导致一个主机设备只能被固定的虚拟机进行访问,而无法为其他需要进行访问的虚拟机提供访问。

发明内容

[0004] 有鉴于此,为解决上述问题,本发明提供一种虚拟机互斥访问主机设备的方法及装置,以解决一个主机设备只能被固定的虚拟机进行访问,而无法其他需要进行访问的虚拟机提供访问的问题。技术方案如下:
[0005] 本发明第一方面公开一种虚拟机互斥访问主机设备的方法,包括:
[0006] 监测是否接收到虚拟机发送的安插主机设备请求;
[0007] 当监测到所述虚拟机发送的安插主机设备请求时,查找主机端的N个主机设备中是否存在空闲主机设备,所述N个主机设备预先配置于所述主机端,所述N为大于等于1的正整数;
[0008] 当存在空闲主机设备时,向所述虚拟机分配所述空闲主机设备,并将分配的空闲主机设备安插至所述虚拟机中。
[0009] 可选的,,所述当存在空闲主机设备时,向所述虚拟机分配所述空闲主机设备,并将分配的空闲主机设备安插至所述虚拟机中,包括:
[0010] 当存在空闲主机设备时,向所述虚拟机分配所述空闲主机设备;
[0011] 基于虚拟机监控器提供的热插拔机制,将分配的空闲主机设备安插至所述虚拟机中。
[0012] 可选的,所述当监测到所述虚拟机发送的安插主机设备请求时,查找主机端的N个主机设备中是否存在空闲主机设备这一步骤之后,所述方法还包括:
[0013] 当不存在空闲主机设备时,向所述虚拟机返回错误信息,所述错误信息用于表征当前不存在空闲主机设备。
[0014] 可选的,所述当存在空闲主机设备时,向所述虚拟机分配所述空闲主机设备,并将分配的空闲主机设备安插至所述虚拟机中这一步骤之后,所述方法还包括:
[0015] 向所述虚拟机返回完成信息,所述完成信息用于表征所述空闲主机设备安插成功。
[0016] 可选的,所述方法还包括:
[0017] 在所述虚拟机访问结束的情况下,接收所述虚拟机发送的卸载主机设备请求,并卸载所述虚拟机上安插的所述空闲主机设备;
[0018] 或者,
[0019] 在所述虚拟机未访问结束的情况下,监测是否接收到所述虚拟机发送的卸载主机设备请求;
[0020] 当监测到所述虚拟机发送的卸载主机设备请求时,卸载所述虚拟机上安插的所述空闲主机设备。
[0021] 可选的,所述虚拟机发送的安插主机设备请求携带有与该虚拟机对应的编号,所述方法还包括:
[0022] 获取所述虚拟机发送的安插主机设备请求中携带的与该虚拟机对应的编号;
[0023] 获取向所述虚拟机分配的所述空闲主机设备对应的设备名称;
[0024] 基于所述空闲主机设备对应的设备名称与所述虚拟机对应的编号生成对应的绑定信息,并记录所述绑定信息。
[0025] 本发明第二方面公开一种虚拟机互斥访问主机设备的装置,所述装置包括:
[0026] 监测单元,用于监测是否接收到虚拟机发送的安插主机设备请求;
[0027] 查找单元,用于当监测到所述虚拟机发送的安插主机设备请求时,查找主机端的N个主机设备中是否存在空闲主机设备,所述N个主机设备预先配置于所述主机端,所述N为大于等于1的正整数;
[0028] 主机设备安插单元,用于当存在空闲主机设备时,向所述虚拟机分配所述空闲主机设备,并将分配的空闲主机设备安插至所述虚拟机中。
[0029] 可选的,所述主机设备安插单元,包括:
[0030] 分配单元,用于当存在空闲主机设备时,向所述虚拟机分配所述空闲主机设备;
[0031] 主机设备安插子单元,用于基于虚拟机监控器提供的热插拔机制,将分配的空闲主机设备安插至所述虚拟机中。
[0032] 可选的,所述装置还包括:
[0033] 错误信息返回单元,用于当不存在空闲主机设备时,向所述虚拟机返回错误信息,所述错误信息用于表征当前不存在空闲主机设备。
[0034] 可选的,所述装置还包括:
[0035] 完成信息返回单元,用于向所述虚拟机返回完成信息,所述完成信息用于表征所述空闲主机设备安插成功。
[0036] 基于上述本发明实施例提供的一种虚拟机互斥访问主机设备的方法及装置,通过监测是否接收到虚拟机发送的安插主机设备请求,当监测到所述虚拟机发送的安插主机设备请求时,查找主机端的N个主机设备中是否存在空闲主机设备,所述N个主机设备预先配置于所述主机端,所述N为大于等于1的正整数,当存在空闲主机设备时,向所述虚拟机分配所述空闲主机设备,并将分配的空闲主机设备安插至所述虚拟机中。本发明提供的技术方案,当监测到虚拟机发送的安插主机设备请求时,当查找到主机端的N个主机设备中存在空闲主机设备,向虚拟机分配空闲主机设备,并将分配的空闲主机设备安插至虚拟机中,能够在监测到虚拟机发送的安插主机设备请求,且存在空闲主机设备时,不论该空闲主机设备之前是否被其他虚拟机访问过,只要该主机设备处于空闲状态,便可将该主机设备安插至请求安插主机设备的虚拟机中,不仅提高了主机设备的利用率,还能够解决一个主机设备只能被固定的虚拟机进行访问,而无法为其他需要进行访问的虚拟机提供访问的问题。附图说明
[0037] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0038] 图1为本发明实施例提供的一种虚拟机互斥访问主机设备的方法的流程示意图;
[0039] 图2为本发明实施例提供的另一种虚拟机互斥访问主机设备的方法的流程示意图;
[0040] 图3为本发明实施例提供的一种虚拟机互斥访问主机设备的装置的结构示意图。

具体实施方式

[0041] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0042] 在本发明中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0043] 由上述背景技术可知,通过在服务器的主板PCIe插槽上安装GPU、FPGA等主机设备,实现虚拟机与服务器上安装的主机设备之间的访问。但是,由于服务器的主板PCIe插槽有限,只能安装有限个GPU或者FPGA,并且当一个主板PCIe插槽中的GPU或者FPGA被一台虚拟机进行访问后,即使这个虚拟机已经访问结束了,该主板PCIe插槽中的GPU或者FPGA也不能为其他的虚拟机提供访问,不仅限制了该主板PCIe插槽中的GPU或者FPGA的利用率,还导致了一个主机设备只能被固定的虚拟机进行访问,而无法为其他需要进行访问的虚拟机提供访问。
[0044] 因此,本发明实施例提供了一种虚拟机互斥访问主机设备的方法及装置,通过预先在主机端配置N个主机设备,当监测到虚拟机发送的安插主机设备请求,且存在空闲主机设备时,不论该空闲主机设备之前是否被其他虚拟机访问过,只要该主机设备处于空闲状态,便可将该空闲主机设备安插至请求安插主机设备的虚拟机中,实现主机设备与虚拟机之间的访问。
[0045] 需要说明的是,这N个主机设备均是以透传形式给虚拟机的,且这N个主机设备可支持M台虚拟机进行访问,其中,N为大于等于1的正整数,且M大于N。
[0046] 进一步的,需要说明的是,N个主机设备可支持M台虚拟机进行访问指的是,在这N个主机设备中,只要存在有空闲主机设备,不论该主机设备之前是否该其他虚拟机进行访问过,只要该主机设备当前处于空闲状态,便可将该主机设备安插至请求安插主机设备的虚拟机中,实现虚拟机与主机设备之间的访问。
[0047] 本发明实施例提供的一种虚拟机互斥访问主机设备的方法及装置,是通过网络通信、后指令或者虚拟硬件来传递虚拟机向主机发送的安插主机设备请求。
[0048] 需要说明的是,网络通信指的是在虚拟机内运行一个代理Agent程序与主机中的服务程序,并通过socket来传递虚拟机向主机发送的安插主机设备请求。其中,socket指的是网络上的两个程序通过一个双向的通信连接实现数据交换。
[0049] 后门指令指的是,采用CPU的某个特殊指令来传递虚拟机向主机发送的安插主机设备请求。其中,特殊指令可以为In/Out端口读写指令或者VMCALL,可根据实际应用进行设定,被发明实施例不加以限定。
[0050] 虚拟硬件指的是,在虚拟机内虚拟一个实际不存在的硬件,专门用于传递虚拟机向主机发送的安插主机设备请求。其中,该硬件可为PCI设备,可根据实际应用进行设定,本发明实施例不加以限定。
[0051] 参考图1,示出了本发明实施例提供的一种虚拟机互斥访问主机设备的方法的流程示意图,该虚拟机互斥访问主机设备的方法包括以下步骤:
[0052] S101:监测是否接收到虚拟机发送的安插主机设备请求。
[0053] 在具体执行步骤S101的过程中,通过虚拟机监控器监测是否接收到虚拟机发送的安插主机设备请求。
[0054] 需要说明的是,可以监测到一台虚拟机发送的安插主机设备请求,也可以监测到多台虚拟机同时发送的安插主机设备请求。可根据实际应用进行设定,本发明实施例不加以限定。
[0055] 进一步的,需要说明的是,虚拟机通过执行devopen函数,具体的,在执行devopen函数过程中,虚拟机向主机发送的安插主机设备请求,主机通过虚拟机监控器监测是否接收到虚拟机发送的安插主机设备请求。
[0056] S102:当监测到虚拟机发送的安插主机设备请求时,查找主机端的N个主机设备中是否存在空闲主机设备。
[0057] 需要说明的是,N个主机设备预先配置于主机端,N为大于等于1的正整数。
[0058] 其中,当存在空闲主机设备时,执行步骤S103,否者,执行步骤S104。
[0059] S103:向虚拟机分配空闲主机设备,并将分配的空闲主机设备安插至虚拟机中。
[0060] 在具体执行步骤S103的过程,当存在空闲主机设备时,向虚拟机分配主机设备,并基于虚拟机监控器提供的热插拔机制,将分配的空闲主机设备安插至虚拟机中。
[0061] 需要说明的是,将分配的空闲主机设备安插至虚拟机中后,将该空闲主机设备当前所处的状态修改为忙碌状态。
[0062] 比如,当仅监测到一台虚拟机发送的安插主机设备请求,而在主机端的N个主机设备中查找到两个空闲主机设备时,分别为空闲主机设备1和空闲主机设备2,将空闲主机设备1分配给请求安插主机设备的虚拟机,并基于虚拟机监控器提供的热插拔机制,将空闲主机设备1安插至请求安插主机设备的虚拟机中;当监测到虚拟机1和虚拟机2同时发送的安插主机设备请求,且在主机端的N个主机设备中查找到两个空闲主机设备时,分别为空闲主机设备1和空闲主机设备2,则同时将空闲主机设备1分配给虚拟机1,将空闲主机设备2分配给虚拟机2,或者,同时将空闲主机设备1分配给虚拟机2,将空闲主机设备2分配给虚拟机1。当将空闲主机设备1分配给虚拟机1,将空闲主机设备2分配给虚拟机2时,基于虚拟机监控器提供的热插拔机制,将分配的空闲主机设备1安插至虚拟机1中;基于虚拟机监控器提供的热插拔机制,将分配的空闲主机设备2安插至虚拟机2中。
[0063] S104:向虚拟机返回错误信息。
[0064] 需要说明的是,错误信息用于表征当前不存在空闲主机设备。该错误信息可以为一个非0的数值,可根据实际情况进行设定,本发明实施例不加以限定。
[0065] 在具体执行步骤S104的过程中,当在主机端的N个主机设备中没有查找到空闲主机设备时,向请求安插主机设备的虚拟机发送用于表征当前不存在空闲主机设备的错误信息。比如,当错误信息为一个非零的数值时,当在预先在主机端配置的N个主机设备中查看到不存在空闲主机设备时,向请求安插主机设备的虚拟机返回负1。
[0066] 本发明实施例提供的一种虚拟机互斥访问主机设备的方法,通过监测是否接收到虚拟机发送的安插主机设备请求,当监测到虚拟机发送的安插主机设备请求时,在查找主机端的N个主机设备中是否存在空闲主机设备,N个主机设备预先配置于主机端,N为大于等于1的正整数,当存在空闲主机设备时,向虚拟机分配空闲主机设备,并将分配的空闲主机设备安插至虚拟机中,当不存在空闲主机设备时,向虚拟机返回错误信息,错误信息用于表明当前不存在空闲主机设备。本发明提供的技术方案,当监测到虚拟机发送的安插主机设备请求,当查找到主机端的N个主机设备中存在空闲主机设备,当存在空闲主机设备时,向虚拟机分配空闲主机设备,并将分配的空闲主机设备安插至虚拟机中,能够在监测到虚拟机发送的安插主机设备请求,且存在空闲主机设备时,不论该空闲主机设备之前是否被其他虚拟机访问过,只要该主机设备处于空闲状态,便可为请求安插主机设备的虚拟机提供访问,不仅提高了主机设备的利用率,还能够解决一个主机设备只能被固定的虚拟机进行访问,而无法为其他需要进行访问的虚拟机提供访问的问题。
[0067] 基于上述本发明提供的一种虚拟机互斥访问主机设备的方法的基础上,该虚拟机互斥访问主机设备的方法还包括:向该虚拟机返回完成信息。
[0068] 其中,完成信息用于表征空闲主机设备安插成功。
[0069] 在具体实施过程中,当将虚拟机分配的空闲主机设备安插至所述虚拟机中后,向该虚拟机返回用于表征空闲主机设备安插成功的完成信息,
[0070] 需要说明的是,该完成信息可以是一个为0的数值,可根据实际应用进行设定,本发明实施例不加以限定。
[0071] 进一步的,需要说明的是,虚拟机通过执行devopen函数,具体的,在执行devopen函数过程中,基于接收到的返回数值判断是否获得相应的空闲主机设备,当接收到的返回数值为0,即接收到完成信息时,表明已获取相应的空闲主机设备,当返回数值非0,即接收到错误信息时,说明主机端的N个主机设备中不存在空闲主机设备。
[0072] 在本发明实施例中,通过向虚拟机返回完成信息,提醒用户主机设备已经在虚拟机中安插成功。
[0073] 基于上述本发明提供的一种虚拟机互斥访问主机设备的方法的基础上,该虚拟机互斥访问主机设备的方法还包括:当接收到虚拟机发送的卸载主机设备请求时,卸载虚拟机上安插的空闲主机设备。
[0074] 当接收到虚拟机发送的卸载主机设备请求时,卸载虚拟机上安插的空闲主机设备有两种实施方式。
[0075] 第一种实施方式:在虚拟机访问结束的情况下,接收虚拟机发送的卸载主机设备请求,并卸载虚拟机上安插的空闲主机设备。
[0076] 在具体实施过程中,虚拟机访问结束指的是,当在请求安插主机设备的虚拟机获取相应的空闲主机设备后,通过传统的open操作打开该空闲主机设备,并获得与该空闲主机设备相应的句柄handle,基于该句柄handle对相应的空闲主机设备进行读/写操作,进而运行该空闲主机设备中的程序,当该程序运行终止时,说明该虚拟机与主机之间的访问结束,当虚拟机访问结束时,自动调用devExit操作指令,向主机发送卸载主机设备请求,当主机基于虚拟机监控器监测到该虚拟机发送的卸载主机设备请求时,将安插的该虚拟机中的空闲主机设备进行强制卸载。
[0077] 第二种实施方式,在虚拟机未访问结束的情况下,监测是否接收到虚拟机发送的卸载主机设备请求;当监测到虚拟机发送的卸载主机设备请求时,卸载虚拟机上安插的空闲主机设备。
[0078] 在具体实施过程中,在为虚拟机提供访问的过程中,当基于虚拟机监控器监测到该虚拟机发送的卸载主机设备请求时,卸载虚拟机上安插的空闲主机设备。
[0079] 需要说明的,当将安插至虚拟机中的空闲主机设备卸载后,将该空闲主机设备在主机中的忙碌状态重新修改为空闲状态,以便为下一个请求安插主机设备的虚拟机提供访问。
[0080] 需要说明的,当将安插至虚拟机中的空闲主机设备卸载后,该虚拟机若想继续向主机进行访问,则需要重新向主机发送安插主机设备请求。
[0081] 在本发明实施例中,在虚拟机访问结束的情况下,通过接收虚拟机发送卸载主机设备请求,卸载安插在虚拟机中的空闲主机设备,以便为下一个请求安插主机设备的虚拟机提供访问。
[0082] 基于上述本发明提供的一种虚拟机互斥访问主机设备的方法的基础上,如图2所示,该虚拟机互斥访问主机设备的方法还包括以下步骤:
[0083] S201:获取虚拟机发送的安插主机设备请求中携带有与该虚拟机对应的编号。
[0084] 需要说明的是,虚拟机通过执行devopen函数,具体的,在devopen函数执行过程中,向主机发送的安插主机设备请求,且该请求中携带的与该虚拟机对应的编号。
[0085] S202:获取向虚拟机分配的空闲主机设备对应的主机设备名称。
[0086] 需要说明的是,预先在主机端配置N个主机设备时,分别为这N个主机设备设置了相应的主机设备名称。比如,当N为5时,将这5个主机设备设置的相应的主机设备名称为主机设备1、主机设备2、主机设备3、主机设备4和主机设备5,可根据实际应用进行设置,本发明实施例不加以限定。
[0087] S203:基于空闲主机设备对应的主机设备名称与虚拟机对应的编号生成对应的绑定信息,并记录绑定信息。
[0088] 在具体执行步骤S203的过程中,基于空闲主机设备对应的设备名称与虚拟机对应的编号生成对应的绑定信息,该绑定信息可以为将于设备名称对应的空闲主机设备分配给与虚拟机编号对应的虚拟机,可根据实际应用进行设定,本发明不加以限定。
[0089] 比如,获取虚拟机发送的安插主机设备请求中携带有与该虚拟机对应的编号为1,得到虚拟机1,以及获取向虚拟机分配的空闲设对应的主机设备名称为空闲主机设备2,基于虚拟机1和空闲主机设备2生成将空闲主机设备2分配给虚拟机1的绑定信息,并记录该绑定信息。
[0090] 在在本发明实施例中,通过获取虚拟机发送的安插主机设备请求中携带有与该虚拟机对应编号,以及获取向所述虚拟机分配的所述空闲主机设备对应的设备名称,生成相应的绑定信息,并记录该绑定信息,以便后续进行统计,进而更好对预先在主机端配置的N个主机设备进行管理。
[0091] 与上述本发明实施例公开的一种虚拟机互斥访问主机设备的方法相对应,参考图3,本发明实施例还提供了一种虚拟机互斥访问主机设备的装置结构示意图,该虚拟机互斥访问主机设备的装置300包括:
[0092] 监测单元301:用于监测是否接收到虚拟机发送的安插主机设备请求。
[0093] 查找单元302:用于当监测到虚拟机发送的安插主机设备请求时,查找主机端的N个主机设备中是否存在空闲主机设备,N个主机设备预先配置于所述主机端,N为大于等于1的正整数。
[0094] 其中,当存在空闲主机设备时,执行主机设备安插单元303,否者,执行错误信息返回单元304。
[0095] 主机设备安插单元303:用于当存在空闲主机设备时,向虚拟机分配空闲主机设备,并将分配的空闲主机设备安插至虚拟机中。
[0096] 错误信息单元304:用于当不存在空闲主机设备时,虚拟机返回错误信息,错误信息用于表征当前不存在空闲主机设备。
[0097] 上述本发明实施例公开的虚拟机互斥访问主机设备的装置中各个单元具体的原理和执行过程,与上述本发明实施例公开的虚拟机互斥访问主机设备的方法相同,可参见上述本发明实施例公开的虚拟机互斥访问主机设备的方法中相应的部分,这里不再进行赘述。
[0098] 本发明实施例提供的一种虚拟机互斥访问主机设备的装置,通过监测单元监测是否接收到虚拟机发送的安插主机设备请求,当监测到虚拟机发送的安插主机设备请求时,,通过查找单元查找主机端的N个主机设备中是否存在空闲主机设备,N个主机设备预先配置于所述主机端,N为大于等于1的正整数,通过主机设备安插单元当存在空闲主机设备时,向虚拟机分配空闲主机设备,并将分配的空闲主机设备安插至虚拟机中,通过错误信息单元当不存在空闲主机设备时,向虚拟机返回错误信息,错误信息用于表明当前不存在空闲主机设备。本发明提供的技术方案,当监测到虚拟机发送的安插主机设备请求时,当查找到主机端的N个主机设备中存在空闲主机设备时,向虚拟机分配空闲主机设备,并将分配的空闲主机设备安插至虚拟机中,能够在监测到虚拟机发送的安插主机设备请求,且存在空闲主机设备时,不论该空闲主机设备之前是否被其他虚拟机访问过,只要该主机设备处于空闲状态,便可为请求安插主机设备的虚拟机提供访问,不仅提高了主机设备的利用率,还能够解决一个主机设备只能被固定的虚拟机进行访问,而无法为其他需要进行访问的虚拟机提供访问的问题。
[0099] 优选的,主机设备安插单元303,包括:分配单元3031和主机设备安插子单元3032。
[0100] 分配单元3031,用于当存在空闲主机设备时,向虚拟机分配空闲主机设备。
[0101] 主机设备安插子单元3032,用于基于虚拟机监控器提供的热插拔机制,将分配的空闲主机设备安插至虚拟机中。
[0102] 优选的,该虚拟机互斥访问主机设备的装置,还包括:完成信息返回单元305。
[0103] 完成信息返回单元305,用于向虚拟机返回完成信息,完成信息用于表征空闲主机设备安插成功。
[0104] 在本发明实施例中,通过向虚拟机返回完成信息,提醒用户主机设备已经在虚拟机中安插成功。
[0105] 优选的,该虚拟机互斥访问主机设备的装置,还包括:主机设备卸载单元306。
[0106] 主机设备卸载单元306,用于在虚拟机访问结束的情况下,接收虚拟机发送的卸载主机设备请求,并卸载虚拟机上安插的空闲主机设备;或者,在虚拟机未访问结束的情况下,当监测到虚拟机发送的卸载主机设备请求时,卸载虚拟机上安插的空闲主机设备。
[0107] 在本发明实施例中,在虚拟机访问结束的情况下,通过接收虚拟机发送卸载主机设备请求,卸载安插在虚拟机中的空闲主机设备,以便为下一个请求安插主机设备的虚拟机提供访问。
[0108] 优选的,该虚拟机互斥访问主机设备的装置,还包括:第一获取单元307、第二获取单元308和生成单元309。
[0109] 第一获取单元307,用于获取虚拟机发送的安插主机设备请求中携带有与该虚拟机对应的编号。
[0110] 第二获取单元308,用于获取向虚拟机分配的空闲主机设备对应的设备名称。
[0111] 生成单元309,用于空闲主机设备对应的主机设备名称与虚拟机对应的编号生成对应的绑定信息,并记录绑定信息。
[0112] 在本发明实施例中,通过获取虚拟机发送的安插主机设备请求中携带有与该虚拟机对应的编号,以及获取向虚拟机分配的空闲主机设备对应的设备名称,生成相应的绑定信息,并记录该绑定信息,以便后续进行统计,进而更好对预先在主机端配置的N个主机设备进行管理。
[0113] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0114] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0115] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
[0116] 以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈