一种动态分配设备的方法及装置的制作方法

文档序号:7647507阅读:143来源:国知局
专利名称:一种动态分配设备的方法及装置的制作方法
技术领域
本发明涉及计算机设备分配方法,特别是指一种基于虚拟化技术的动态分 配设备的方法及装置。
技术背景现有的虛拟机系统一般分为两种类型,一类为包括输入输出管理虛拟机的 虚拟机系统,另 一类为不包括输入输出管理虚拟机的虚拟机系统。图1给出了不包括输入输出管理虚拟机的虚拟机系统结构图。图中包括第一用户虛拟机101、第二用户虛拟机102、第三用户虚拟机103、虛拟机管理 器104、系统硬件105,其中第一用户虛拟机101包括第一设备驱动模块1011, 第二用户虛拟机102包括第二设备驱动模块1021,第三用户虚拟机103包括 第三设备驱动模块1031,虛拟机管理器104包括设备模拟模块1041,系统硬 件105包括物理设备1051。该系统结构下,用户虛拟机访问物理设备1051的 模式有以下两种模式l:直接访问物理设备参见图2所示,该模式下,第一用户虛拟机IOI通过其内部的第一设备驱 动模块1011与系统硬件105中的物理设备1051建立连接,直接对物理设备 1051的进行访问。模式2:多个用户虚拟机通过虚拟机管理器104访问物理设备参见图3所示,该模式下,每个用户虛拟机的设备驱动模块与虛拟机管理 器104中的设备模拟模块1041建立连接后,发送需要使用物理设备1051的命 令给虚拟机管理器中的设备模拟模块1041,设备模拟模块1041接收到命令后, 以共享的模式将物理设备1051提供给每个用户虚拟机,实现用户虚拟机对物 理设备1051的访问。图4给出了包括输入输出管理虛拟机的虚拟机系统结构图。图中包括第一 用户虛拟机IOI、第二用户虛拟机102、输入输出管理虛拟机201、虚拟机管理器104、系统硬件105。其中,第一用户虚拟机IOI包括第一设备驱动模块 1011,第二用户虚拟机102包括第二设备驱动模块1021,输入输出管理虛拟 机201包括设备模拟模块2012,系统硬件105包括物理设备1051。该系统结 构下,用户虛拟机访问物理设备1051的模式有以下两种 模式l:直接访问物理设备参见图5所示,该模式下,第一用户虛拟机101通过其内部的第一设备驱 动模块1011与系统硬件105中的物理设备1051建立连接,直接对物理设备 1051的进行访问。模式2:多个用户虚拟机通过输入输出管理虚拟机201访问物理设备参见图6所示,该模式下,第一用户虛拟机101通过其内部的第一设备驱 动模块1011,第二用户虚拟机102通过其内部的第二设备驱动模块1021与输 入输出管理虚拟机201中的设备模拟模块2012建立连接后,发送需要使用物 理设备1051的命令给输入输出管理虚拟机201中的设备模拟模块2012,设备 模拟模块2012接收到命令后,以共享的方式将物理设备1051提供给第一用户 虚拟机101和第二用户虛拟机102,实现对物理设备1051的访问。现有虚拟化技术下的设备分配方法,虽然也是根据具体情况选择相应的访 问物理设备的模式,但是直接访问物理设备模式下,用户虚拟机没有通过虚拟 机管理器的管理,就直接对物理设备进行访问。另外,现有虚拟化技术下的设 备分配方法都是针对单个用户虚拟机访问物理设备的情况,物理设备的使用权 始终被单个用户虛拟机掌控。当多个用户虛拟机通过虚拟机管理器或输入输出 管理虛拟机间接对物理设备访问时,用户虚拟机需要主动向虚拟机管理器或输 入输出管理虚拟机发出请求来进行访问模式切换,虚拟才几管理器或输入输出管 理虚拟机并不会自动根据用户虚拟机的请求和物理设备的使用情况自动地为 用户虚拟机动态地分配物理设备。 发明内容有鉴于此,本发明的目的在于提供一种动态分配设备的方法及装置,根据 用户虚拟机对物理设备的访问请求和当前物理设备的使用情况,自动地为用户 虛拟机动态地分配物理i更备。基于上述目的,本发明提供了一种动态分配设备的方法,包括以下步骤a) 监控用户虛拟机向物理设备发出的访问请求;b) ^艮据监控获得的信息确定该用户虚拟机访问该物理设备的访问模式;c) 将访问模式转换为步骤b)确定的访问模式。该方法步骤b)所述监控获得的信息包括当前其它用户虛拟机访问该物理 设备的访问模式、访问该物理设备的用户虛拟机数目以及该物理设备被使用的情况。该方法步骤b)所述访问模式包括直接访问物理设备模式、共享访问物理设 备模式和由直接访问物理设备模式和共享访问物理设备模式构成的组合访问 物理设备模式。该方法步骤b)所述确定该用户虛拟机访问该物理i殳备的访问4莫式包括 对于单个用户虚拟机访问单个物理设备,或多个用户虛拟机访问多个物理 设备、并且用户虛拟机要访问的设备数小于或等于物理设备数,确定访问模式 为直接访问物理设备模式;对于多个用户虛拟机访问单个物理设备,或单个用 户虚拟机要访问的设备数大于物理设备数,确定访问模式为共享访问物理设备 模式;对于多个用户虛拟机访问多个物理设备,且用户虛拟机要访问的设备数 大于物理设备数,确定访问模式为共享访问物理设备模式或由直接访问物理设 备模式和共享访问物理设备模式的组合模式。 该方法步骤c)所述执行访问模式转换包括直接访问物理设备模式转换为共享访问物理设备模式停止当前用户虚拟 机对物理设备的直接访问,将物理设备的资源和对应于用户虛拟机的虚拟设备 资源进行同步,发出访问请求的用户虚拟机通过资源映射单元映射的虛拟设备 资源间接对物理设备进行访问;共享访问物理设备模式转换为直接访问物理设备模式停止当前用户虚拟 机对物理设备的共享访问,发出访问请求的用户虚拟机通过资源映射单元直接 对物理设备进行访问。该方法步骤c)后进一步包括在虛拟机管理器中设置中断路由模块,该模块 将物理设备发出的中断信号转发给访问该物理设备的用户虛拟机;在直接访问 物理设备模式下,中断路由模块将中断信号直接转发给用户虚拟机,在共享访 问物理设备模式下,中断路由模块将中断信号转发给输入输出管理虚拟机的设备驱动模块,该中断信号依次经过设备资源模块、资源映射模块,到达用户虚 拟机的设备驱动模块。本发明还提供了一种动态分配设备的装置,包括用户虚拟机、虚拟机管理器、输入输出管理虛拟^L和物理设备;其特征在于,该装置进一步包括设备访 问监控模块和设备访问模式控制模块;设备访问监控模块,用于监控虛拟机对设备的访问,为设备访问模式控制模块提供当前所有用户虚拟机要访问的设备个数和当前物理设备的使用情况; 设备访问模式控制模块,用于根据当前所有用户虚拟机要访问设备个数和 当前物理设备的使用情况,确定采用共享访问物理设备模式或直接访问物理设 备模式。该装置所述设备访问监控模块设置于虚拟机管理器中;所述设备访问模式 控制模块设置于虛拟机管理器或输入输出管理虛拟机中。该装置所述虚拟机管理器进一步包括资源映射模块,该模块用于根据设备 访问模式控制模块提供的访问模式进行资源映射,如果是共享访问物理设备模 式则映射到虛拟设备资源模块;如果是直接访问物理设备模式则映射到物理设 备。该装置所述虚拟机管理器进一步包括中断路由模块,该模块用于根据设备访问模式控制模块确定的访问模式对物理设备发出的中断信号进行转发,如果 是共享访问物理设备模式则将中断信号转发给输入输出管理虚拟机,通过输入输出管理虛拟机进一步转发给对应的用户虚拟机;如果是直接访问物理设备模 式则将中断信号转发给对应的用户虚拟机。从上面所述可以看出,本发明提供的一种动态分配设备的方法及装置,通 过虛拟机管理器和输入输出管理虚拟机,兼顾性能和共享两个方面的考虑,动 态地为多个用户虛拟机分配设备。对于单个虛拟机访问单个物理设备的情况, 采取直接访问物理设备模式,从而尽可能的提高设备的使用性能,对于多个用 户虚拟机对多个物理设备进行访问的情况,采取共享访问物理设备模式或者有 针对性地结合直接访问物理设备模式与共享访问物理设备模式两种模式,来保 证每个用户虚拟机都能成功访问其所要访问的物理设备。


图1为现有技术一中不包括输入输出管理虚拟机的虛拟机系统结构图; 图2为现有技术一中直接访问物理设备模式下的系统内部模块连接示意图;图3为现有技术一中多个用户虛拟机通过虚拟机管理器访问物理设备的系统内部模块连接示意图;图4为现有技术二中包括输入输出管理虚拟机的虚拟机系统结构图;图5为现有技术二中直接访问物理设备的模式下的系统内部模块连接示意图;图6为现有技术二中多个用户虛拟机通过虚拟机管理器访问物理设备的系统内部模块连接示意图;图7为本发明基于虛拟化技术的动态分配设备的系统结构图;图8A和图8B为本发明中直接访问物理设备模式下的系统内部模块连接示意图;图9A和图9B为本发明中共享访问物理设备模式下的系统内部模块连接 示意图;图IO为本发明中动态分配设备的流程图;图11为本发明实施例中多个用户虛拟机共享访问物理设备模式转换为单 个用户虛拟机直接访问物理设备模式的动态分配设备的流程图;图12为本发明实施例中单个用户虛拟机直接访问物理设备模式转换为多 个用户虛拟机共享访问物理设备模式动态分配设备的流程图;图13为本发明实施例中两个用户虚拟机访问两个物理设备情况下的设备 动态分配结构示意图;图14为本发明实施例中第一种三个用户虛拟机访问两个物理设备情况下 的设备动态分配结构示意图;图15为本发明实施例中第二种三个用户虛拟机访问两个物理设备情况下 的设备动态分配结构示意图;图16为本发明实施例中第三种三个用户虛拟机访问两个物理设备情况下 的设备动态分配结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。图7为本发明基于虚拟化技术的动态分配设备的系统结构图,包括第一用 户虚拟机101、第二用户虛拟机102、输入输出管理虚拟机701、虚拟机管理 器702、系统硬件105。其中,第一用户虛拟机101包括第一设备驱动模块1011, 第二用户虚拟机102包括第二设备驱动模块1021,输入输出管理虚拟机7011 包括第一虛拟设备资源模块7011、第二虛拟设备资源模块7012和输入输出管 理虛拟机驱动模块7013,虛拟机管理器包括设备访问监控模块7021、资源映 射模块7022、中断路由模块7023和设备访问模式控制模块7024,系统硬件 105包括物理i殳备1051。设备访问监控模块7021用于监控用户虛拟机对物理设备的访问,为设备 访问模式控制模块7024提供当前所有用户虚拟机要访问的设备个数和当前物 理设备的使用情况等信息。设备访问模式控制模块7024用于根据当前所有用户虛拟机要访问的设备 个数和当前物理设备的使用情况,确定是采用共享访问物理设备模式还是采用 访问物理设备模式。资源映射模块7022用于根据设备访问模式控制模块7024确定的访问模式 进行资源映射,如果是共享访问物理设备模式则映射到虚拟设备资源模块 7011、 7012;如果是直接访问物理设备模式则映射到物理设备1051。中断路由模块7023用于根据设备访问模式控制模块7024确定的访问模式 对物理设备发出的中断信号进行转发,如果是共享访问物理设备模式则将中断 信号转发给输入输出管理虚拟机201,通过输入输出管理虚拟机201进一步转 发给对应的用户虛拟机;如果是直接访问物理设备模式则将中断信号直接给对 应的用户虛拟机。图8A和图8B为本发明中直接访问物理设备模式下的系统内部模块连接 示意图。图8A中,第一用户虚拟机101通过第一设备驱动才莫块1011发送访 问物理设备1051的请求给资源映射模块7022,资源映射模块7022接到第一 用户虛拟机101的访问请求后,直接映射到物理设备1051。图8B中物理设备 1051通过中断路由模块7023将中断信号发给第一用户虛拟机101的第一设备 驱动模块。最终,实现第一虚拟机单元101对物理设备1051的直接使用。图9A和图9B为本发明中共享访问物理设备模式下的系统内部模块连接 示意图。图9A中,第一用户虛拟机101通过第一设备驱动模块1011发送使 用物理设备1051的请求给资源映射模块7022,第二用户虚拟机102通过第二 设备驱动模块1021发送访问物理设备1051的请求给资源映射模块7022,资 源映射模块7022接到第一用户虚拟机101的访问请求后,映射到输入输出管 理虚拟机701中的第一虚拟设备资源模块7011;资源映射模块7022接到第二 用户虚拟机102的访问请求后,映射到输入输出管理虛拟机701中的第二虛拟 设备资源模块7012,然后第一虚拟设备资源模块7011和第二虛拟设备资源模 块7012通过输入输出管理虛拟机驱动模块7013与物理设备1051建立连接。 图9B中,物理设备1051通过中断路由模块7023将中断信号给输入输出管理 虚拟机驱动模块7013,由输入输出管理虚拟机驱动模块7013进一步转发给第 一用户虚拟机101的第一设备驱动模块1011和第二用户虛拟机102的第二设 备驱动模块1021。最终,实现第一虛拟机单元101和第二虛拟机单元102对 物理设备1051的共享访问。图IO给出了本发明中动态分配设备的流程图,具体实施步骤如下 步骤1001:设备访问监控模块接收到用户虚拟机发出的访问物理设备的 请求。步骤1002:设备访问模式控制模块判断当前物理设备是否被其他用户虛 拟机以直接访问模式访问,如果是,则执行步骤1003;否则,执行步骤1004。步骤1003:将直接访问物理设备模式转换为共享访问物理设备模式,进 入步骤1005。步骤1004:设备访问模式控制模块进一步判断当前物理设备是否可以以 直接访问模式被用户虛拟机访问,如果是,则执行步骤1006;否则,执行步 骤1005。步骤1005:资源映射模块将访问请求转发给输入输出管理虚拟机,进入 步骤1007。步骤1006:将共享访问物理设备模式转换为直接访问物理设备模式,进 入步骤1007。步骤1007:物理设备执行用户虚拟机的访问请求。在执行过程中,如果用户虛拟机需要其访问的物理设备发送反馈信号或数 据,则由物理设备发出中断信号给虚拟机管理器中的中断路由模块,再由中断 路由模块转发该中断信号给用户虚拟机。根据访问物理设备的方式,中断路由转发中断信号分为两种情况情况l:如果物理设备处在直接访问物理设备模式下,中断路由模块直接 转发该中断信号给用户虚拟机中的设备驱动模块。情况2:如果物理设备处在共享访问物理设备模式下,中断路由模块接收 物理设备发出的中断信号后,转发给输入输出管理虚拟机的设备驱动模块,该 中断信号依次经过设备资源模块、资源映射模块,到达用户虛拟机的设备驱动 模块。图11给出了本发明中多个用户虚拟机共享访问物理设备才莫式转换为单个 用户虛拟机直接访问物理设备模式的动态分配设备的流程图,具体实施步骤如 下步骤1101:输入输出管理虚拟机的设备驱动模块停止对物理设备的操作。 步骤1102:设备访问模式控制模块保存输入输出管理虛拟机中物理设备 的状态。步骤1103:设备访问模式控制模块保存第一虛拟设备资源模块的状态。 步骤1104:设备访问模式控制模块将第二虚拟设备资源模块的状态加载 到物理设备。步骤1105:设备访问模式控制模块将物理设备的状态和第二虛拟设备资 源模块的状态进行同步。该步骤中,由于在共享访问物理设备模式下,输入输出管理虚拟机为第一 用户虛拟机配置相应的第 一虚拟i殳备资源模块,为第二用户虚拟机配置相应的 第二虚拟设备资源模块,第一用户虛拟机和第二用户虚拟机通过访问输入输出 管理虚拟机中的第一虚拟设备资源模块和第二虚拟设备资源模块实现对物理 设备的访问。因此,在从共享访问物理设备模式转换为直接访问物理设备模式 的动态分配设备过程中,设备访问模式控制模块对共享访问物理设备模式下第 二虛拟设备资源模块的状态信息进行复制,并加载给物理设备,作为当前物理 设备的状态信息。步骤1106:设备访问模式控制模块根据物理设备的当前状态配置资源映 射模块,第二用户虛拟机的第二设备驱动模块通过资源映射模块直接访问物理 设备。所述物理设备的当前状态包括当前正在访问物理设备的用户虚拟机和当 前物理设备的使用情况。步骤1107:设备访问模式控制模块配置中断路由模块,中断路由模块将 物理设备发出的中断响应转发给第二用户虚拟机的第二设备驱动模块,从而使 第二用户虚拟机能够直接接收到所访问的物理设备以中断方式发出的反馈信 号或数据。图12给出了本发明中单个用户虚拟机直接访问物理设备模式转换为多个 用户虚拟机共享访问物理设备模式动态分配设备的流程图,具体实施步骤如 下步骤1201:设备访问模式控制模块停止第二用户虚拟机对物理设备的直 接访问操作。步骤1202:设备访问模式控制模块保存第二用户虚拟机中物理设备的状态。步骤1203:设备访问模式控制模块将物理设备的资源和第二虛拟设备资 源模块的资源进行同步。该步骤中,由于在直接访问物理设备模式下,第二用户虛拟机直接通过资 源映射模块实现对物理设备的直接访问。因此,在访问模式转换为共享访问物 理设备模式后,设备访问模式控制模块对直接访问物理设备模式下物理设备的 状态信息进行复制,并加载给输入输出管理虛拟机中的第二虚拟设备资源模 块,作为当前第二虛拟设备资源模块的状态信息。步骤1204:设备访问模式控制模块加载输入输出管理虛拟机中物理设备 的状态信息。步骤1205:设备访问模式控制模块加载第一虚拟设备资源模块的状态信息。步骤1206:设备访问模式控制模块配置资源映射模块,使输入输出管理 虚拟机能够通过其内部的第三设备驱动模块访问物理设备。步骤1207:设备访问模式控制模块根据第一虚拟设备资源模块的状态信息和第二虚拟设备资源模块的状态信息配置资源映射模块。第 一用户虚拟机通过资源映射模块访问第 一虛拟设备资源模块实现对物 理设备的间接访问,第二用户虚拟机通过资源映射模块访问第二虚拟设备资源 模块实现对物理设备的间接访问。步骤1208:设备访问模式控制模块配置中断路由模块。 中断路由模块接收物理设备发出的中断信号后,转发给输入输出管理虚拟 机的设备驱动模块,该中断信号依次经过第一虚拟设备资源模块和第二设备资 源模块、资源映射模块,分别到达第一用户虚拟机的第一设备驱动模块和第二 用户虛拟机的第二设备驱动模块,从而使第 一用户虛拟机和第二用户虚拟机能 够间接接收到所访问的物理设备以中断方式发出的反馈信号或数据。 下面是不同情况下实现本发明的具体实施例下述实施例中,将设备访问监控模块、资源映射模块、中断路由模块和设 备访问模式控制模块设置在设备模拟模块中。 具体实施例1构示意图,图中包括输入输出管理虛拟机1301、第一用户虛拟机IOI、第二用 户虛拟机102、虚拟机管理器1302、系统硬件1303。输入输出管理虛拟机1301 包括设备模拟模块13011,第一用户虛拟机101包括第一设备驱动模块1011, 第二用户虛拟机102包括第二设备驱动模块1021,系统硬件1303包括第一物 理设备13031和第二物理设备13032。在该情况下,由于系统硬件1303包括第一物理设备13031和第二物理设备 13032,并且只有第一用户虚拟机101和第二用户虛拟机102需要访问系统硬 件,因此,第一用户虚拟机101和第二用户虚拟机102均可以以直接访问物理 设备模式访问系统硬件1303。具体为,第一用户虚拟机101通过其内部的第 一设备驱动模块1011直接访问第一物理设备13031,第二用户虛拟机102通 过其内部的第一设备驱动模块1021直接访问第一物理设备13032。 具体实施例2图14给出了第一种三个用户虛拟机访问两个物理设备情况下的设备动态 分配结构示意图,图中包括输入输出管理虛拟机1401、第一用户虚拟机IOI、第二用户虛拟机102、第三用户虛拟机1402、虚拟机管理器1403、系统硬件 1404。输入输出管理虚拟机1401包括设备模拟模块14011,第一用户虚拟机 101包括第一设备驱动模块1011,第二用户虚拟机102包括第二设备驱动模块 1021,第三用户虚拟机1402包括第三设备驱动模块14021,系统硬件1404包 括第一物理设备14041和第二物理设备14042。在该情况下,系统硬件1404包括第一物理设备14041和第二物理设备 14042,并且有三个用户虚拟机需要访问系统硬件1404,其中,第一用户虚拟 机101和第二用户虚拟机102同时需要访问第一物理设备14041,第三用户虛 拟机103需要访问第二物理设备14042。为此,采用直接访问物理设备模式和 共享访问物理设备模式相结合的访问模式。第一用户虚拟机101和第二用户虚拟机102以共享访问物理设备模式访问 第一物理设备14041,具体为,第一用户虚拟机101通过其内部的第一设备驱 动模块1011与输入输出管理虛拟机1401中的设备模拟模块14011连接,第二 用户虚拟机102通过其内部的第一设备驱动模块1021与输入输出管理虚拟机 1401中的设备模拟模块14011连接,设备模拟模块14011与系统硬件的第一 物理设备14041连接,第一用户虛拟机101和第二用户虛拟机102通过设备模 拟模块14011以共享访问物理设备模式访问第一物理设备14041。第三用户虚拟机1402以直接访问物理设备模式访问第二物理设备14042, 具体为,第三用户虚拟机1402通过其内部的第三设备驱动模块14021直接访 问第一物理设备14042。具体实施例3图15给出了第二种三个用户虚拟机访问两个物理设备情况下的设备动态 分配结构示意图,图中包括输入输出管理虛拟机1401、第一用户虛拟机IOI、 第二用户虚拟才几102、第三用户虛拟才几1402、虚拟4几管理器1403、系统硬件 1404。输入输出管理虚拟机1401包括设备模拟模块14011,第一用户虚拟机 101包括第一设备驱动模块1011,第二用户虚拟机102包括第二设备驱动模块 1021,第三用户虛拟机1402包括第三设备驱动模块14021,系统硬件1404包 括第一物理设备14041和第二物理设备14042。在该情况下,系统硬件1404包括第一物理设备14041和第二物理设备14042,并且有三个用户虛拟机需要访问系统硬件1404,其中,第一用户虛拟 机101、第二用户虚拟机102和第三用户虚拟机103同时需要访问第一物理设 备14041和第二物理设备14042。为此,采用共享访问物理设备模式的访问模式。第一用户虛拟机101、笫二用户虚拟机102和第三用户虛拟机1402以共 享访问物理设备模式访问第一物理设备14041和第二物理设备14042。具体为, 第一用户虛拟机101通过其内部的第一设备驱动模块1011与输入输出管理虚 拟机1401中的设备模拟模块14011连接,第二用户虚拟机102通过其内部的 第一设备驱动模块1021与输入输出管理虚拟机1401中的设备模拟模块14011 连接,第三用户虛拟机1402通过其内部的第一设备驱动模块14021与输入输 出管理虚拟机1401中的设备模拟模块14011连接,设备模拟模块14011分别 与系统硬件的第一物理设备14041和第二物理设备14042连接,第一用户虚拟 机101、第二用户虛拟机102和第三用户虚拟机1402通过设备模拟模块14011 以共享访问物理设备模式访问第一物理设备14041和第二物理设备14042。具体实施例4图16给出了第三种三个用户虚拟机访问两个物理设备情况下的设备动态 分配结构示意图,图中包括输入输出管理虛拟机1401、第一用户虚拟机IOI、 第二用户虛拟机102、第三用户虛拟机1601、虛拟机管理器1403、系统硬件 1404。输入输出管理虛拟机1401包括设备模拟模块14011,第一用户虛拟机 101包括第一设备驱动模块1011,第二用户虛拟机102包括第二设备驱动模块 1021,第三用户虛拟机1601包括第三设备驱动模块16011和第四设备驱动模 块16012,系统硬件1403包括第一物理设备14031和第二物理设备14032。在该情况下,系统硬件1404包括第一物理设备14041和第二物理设备 14042,并且有三个用户虛拟机需要访问系统硬件1404,其中第三用户虚拟机 的第三设备驱动模块和第四设备驱动模块需要分别访问系统硬件1403中的第 一物理设备14031和第二物理设备14032。为此,采用直接访问物理设备模式 和共享访问物理设备模式相结合的访问模式。第一用户虛拟机101、第二用户虛拟机102和第三用户虛拟机1601以共 享访问物理设备模式访问第一物理设备14041和第二物理设备14042。具体为,第一用户虛拟机101通过其内部的第一设备驱动模块1011与输入输出管理虚 拟机1401中的设备模拟模块14011连接;第二用户虛拟机102通过其内部的 第一设备驱动模块1021与输入输出管理虚拟机1401中的设备模拟模块14011 连接;第三用户虛拟机1601通过其内部的第一设备驱动模块16011与输入输 出管理虚拟机1401中的设备模拟模块14011连接;设备模拟模块14011与系 统硬件的第一物理设备14041连接,第一用户虚拟机101、第二用户虚拟机102 和第三用户虚拟机1601通过设备模拟模块14011以共享访问物理设备模式访 问第一物理设备14041和第二物理设备14042。第三用户虛拟机1601采用直接访问物理设备模式访问第二物理设备 14042。具体为,第三用户虚拟机1601通过其内部的第三设备驱动模块16012 直接访问第一物理设备14042。上述实施例仅对存在三个用户虛拟机和包括两个物理设备的系统硬件的 情况如何进行物理设备动态分配进行了分析,对于三个以上用户虚拟机和包括 两个以上物理设备的系统硬件的情况,可以很容易地根据上述实施例中的方法 进行物理设备的动态分配。的当前状态,将直接访问物理设备模式和共享访问物理设备模式有机的结合, 形成由直接访问物理设备模式和共享访问物理设备模式构成的组合访问物理 设备模式。本发明中的设备访问模式控制模块不仅可以设置在虛拟机管理器中,也可 以设置在输入输出管理虛拟机中,还可以将前两种模式相结合,在输入输出管 理虛拟机中设置设备访问控制调用模块,在虚拟机管理器中设置设备访问控制 执行模块,通过输入输出管理虛拟机中的设备访问控制调用模块调用虚拟机管 理器中的设备访问控制执行模块来控制用户虛拟机对物理设备的访问模式。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发 明的保护范围之内。
权利要求
1. 一种动态分配设备的方法,其特征在于,包括以下步骤a)监控用户虚拟机向物理设备发出的访问请求;b)根据监控获得的信息确定该用户虚拟机访问该物理设备的访问模式;c)将访问模式转换为步骤b)确定的访问模式。
2. 根据权利要求1所述的方法,其特征在于,步骤b)所述监控获得的信 息包括当前其它用户虚拟机访问该物理设备的访问模式、访问该物理设备的用 户虚拟机数目以及该物理设备被使用的情况。
3. 根据权利要求1所述的方法,其特征在于,步骤b)所述访问模式包括 直接访问物理设备模式、共享访问物理设备模式和由直接访问物理设备模式和 共享访问物理设备^t式构成的组合访问物理设备才莫式。
4. 根据权利要求2或3所述的方法,其特征在于,步骤b)所迷确定该用 户虛拟机访问该物理设备的访问模式包括对于单个用户虛拟机访问单个物理设备,或多个用户虛拟机访问多个物理 设备、并且用户虚拟机要访问的设备数小于或等于物理设备数,确定访问模式 为直接访问物理设备模式;对于多个用户虚拟机访问单个物理设备,或单个用 户虚拟机要访问的设备数大于物理设备数,确定访问模式为共享访问物理设备 模式;对于多个用户虚拟机访问多个物理设备,且用户虛拟机要访问的设备数 大于物理设备数,确定访问模式为共享访问物理设备模式或由直接访问物理设 备模式和共享访问物理设备模式的组合模式。
5. 根据权利要求3所述的方法,其特征在于,步骤c)所述执行访问模式 转换包括直接访问物理设备模式转换为共享访问物理设备模式停止当前用户虛拟 机对物理设备的直接访问,将物理设备的资源和对应于用户虚拟机的虛拟设备 资源进行同步,发出访问请求的用户虛拟机通过资源映射单元映射的虚拟设备 资源间接对物理设备进行访问;共享访问物理设备模式转换为直接访问物理设备模式停止当前用户虚拟 机对物理设备的共享访问,发出访问请求的用户虛拟机通过资源映射单元直接对物理设备进行访问。
6. 根据权利要求1或5所述的方法;其特征在于,步骤c)后进一步包括 在虚拟机管理器中设置中断路由模块,该模块将物理设备发出的中断信号转发 给访问该物理设备的用户虛拟机;在直接访问物理设备模式下,中断路由模块 将中断信号直接转发给用户虛拟机,在共享访问物理设备模式下,中断路由模 块将中断信号转发给输入输出管理虚拟机的设备驱动才莫块,该中断信号依次经 过设备资源模块、资源映射模块,到达用户虚拟机的设备驱动模块。
7. —种动态分配设备的装置,包括用户虛拟机、虛拟机管理器、输入输 出管理虛拟机和物理设备;其特征在于,该装置进一步包括设备访问监控模块 和设备访问模式控制模块;设备访问监控模块,用于监控虚拟机对设备的访问,为设备访问模式控制 模块提供当前所有用户虚拟机要访问的设备个数和当前物理设备的使用情况;设备访问模式控制模块,用于根据当前所有用户虛拟机要访问设备个数和 当前物理设备的使用情况,确定采用共享访问物理设备模式或直接访问物理设 备模式。
8. 根据权利要求7所述的装置,其特征在于,所述设备访问监控模块设 置于虚拟机管理器中;所述设备访问模式控制模块设置于虚拟机管理器或输入 输出管理虛拟机中。
9. 根据权利要求7所述的装置,其特征在于,所述虛拟机管理器进一步 包括资源映射模块,该模块用于根据设备访问模式控制模块提供的访问模式进 行资源映射,如果是共享访问物理设备模式则映射到虚拟设备资源模块;如果 是直接访问物理设备模式则映射到物理设备。
10. 根据权利要求7所述的装置,其特征在于,所述虚拟机管理器进一步 包括中断路由模块,该模块用于根据设备访问模式控制模块确定的访问模式对 物理设备发出的中断信号进行转发,如果是共享访问物理设备模式则将中断信 号转发给输入输出管理虛拟机,通过输入输出管理虚拟机进一步转发给对应的 用户虛拟机;如果是直接访问物理设备模式则将中断信号转发给对应的用户虚 拟机。
全文摘要
本发明公开了一种动态分配设备的方法,该方法中的设备访问监控单元对用户虚拟机访问物理设备进行监控,设备访问模式控制单元根据监控获得的信息确定用户虚拟机访问物理设备的访问模式,然后将访问模式自动转换确定后的访问模式。同时还公开了一种动态分配设备的装置,包括用户虚拟机、输入输出管理虚拟机、虚拟机管理器、系统硬件、虚拟机管理器,进一步包括设备访问监控模块和设备访问模式控制模块。本发明根据用户虚拟机向设备发出的访问请求和当前物理设备的使用情况,兼顾性能和共享两个方面的考虑,自动地为用户虚拟机动态地分配设备,使得有限的物理设备可以供多个虚拟机使用并保证设备在虚拟机中可以达到很好的性能。
文档编号H04L12/24GK101267334SQ20071006437
公开日2008年9月17日 申请日期2007年3月13日 优先权日2007年3月13日
发明者王碧波 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1