CN103856547A - 多虚拟机的映射方法、系统及客户端设备 - Google Patents
多虚拟机的映射方法、系统及客户端设备 Download PDFInfo
- Publication number
- CN103856547A CN103856547A CN201210524180.4A CN201210524180A CN103856547A CN 103856547 A CN103856547 A CN 103856547A CN 201210524180 A CN201210524180 A CN 201210524180A CN 103856547 A CN103856547 A CN 103856547A
- Authority
- CN
- China
- Prior art keywords
- virtual machines
- display
- virtual
- client device
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000002093 peripheral effect Effects 0.000 claims description 55
- 238000012545 processing Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/04—Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/20—Details of the management of multiple sources of image data
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Digital Computer Display Output (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了多虚拟机的映射方法、系统及客户端设备,所述方法包括:客户端设备分别获取所连接的N个显示设备的显示参数;当客户端设备连接M个虚拟机时,客户端设备分别接收M个虚拟机推送的虚拟桌面;所述客户端设备根据N个显示设备的显示参数为M个虚拟机从所述N个显示设备中分别选择显示设备;客户端设备将M个虚拟机的虚拟桌面输出到为M个虚拟机分别选择的显示设备上进行显示;其中,N不小于M,N和M均为自然数,并且M不小于2。应用本发明实施例,当客户端设备连接了多个显示设备时,可以将所连接的多个虚拟机的虚拟桌面分别映射到不同的显示设备上显示,从而提高了客户端设备的利用率,满足了用户在使用多虚拟机时的需求。
Description
技术领域
本发明涉及云计算技术领域,特别涉及多虚拟机的映射方法、系统及客户端设备。
背景技术
云计算(Cloud Computing)是一种通过互联网提供动态易扩展的虚拟化资源的技术,通过云计算可以便捷地访问网络,并且通过配置大量的存储设备,可以实现海量数据的存储和管理。虚拟机(Virtual Machine,VM)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通常可以在一台物理计算机上模拟出多台VM,用户在客户端上通过网络可以访问其在云服务器上的虚拟机。
现有技术中,用户可以通过客户端设备,基于远程桌面协议访问某个VM,并将该VM映射的虚拟桌面通过连接到该客户端设备的显示屏进行显示,当所访问的VM同时运行多个应用时,不同的应用可以通过连接到该客户端设备的不同显示屏进行显示。但是,当用户分配了多个VM时,每次仅能通过客户端设备访问一个VM。
发明内容
本发明实施例中提供了多虚拟机的映射方法、系统及客户端设备,以解决现有技术中多个VM不能同时映射,导致用户应用体验不高的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
第一方面,提供一种多虚拟机的映射方法,所述方法包括:
客户端设备分别获取所连接的N个显示设备的显示参数;
当所述客户端设备连接M个虚拟机时,所述客户端设备分别接收所述M个虚拟机推送的虚拟桌面;
所述客户端设备根据所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备中分别选择显示设备;
所述客户端设备将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备上进行显示;其中,N不小于M,N和M均为自然数,并且M不小于2。
结合第一方面,在第一方面的第一种可能的实现方式中,
所述客户端设备分别获取所连接的N个显示设备的显示参数,具体包括:所述客户端设备通过调用底层驱动分别获取所述N个显示设备的显示参数,所述显示参数包括显示设备的使用状态参数;
所述客户端设备将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备上进行显示,具体包括:所述客户端设备通过调用所述底层驱动将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备进行显示。
结合第一方面,或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述客户端设备分别接收所述M个虚拟机推送的虚拟桌面,具体包括:
所述客户端设备与所述M个虚拟机之间建立桌面协议通道;
分别接收所述M个虚拟机通过所建立的桌面协议通道传输的虚拟桌面。
结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述客户端设备根据所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备中分别选择显示设备,具体包括:
所述客户端设备按照所述M个虚拟机的接入顺序,当新接入虚拟机时,查看所述N个显示设备的显示参数中的使用状态参数;
将所述N个显示设备中使用状态参数为未使用的显示设备分配给所述新接入虚拟机。
结合第一方面,或第一方面的第一种可能的实现方式,或第一方面的第二种可能的实现方式,或第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述方法还包括:
当所述客户端设备连接外接设备时,分别获取所述M个虚拟机的外设策略,并获取所述外接设备的类型;
将所述外接设备映射到外设策略与所述外接设备的类型匹配的L个虚拟机上;其中L为自然数,L不小于1,并且不大于M;
根据所述外接设备的类型将所述外接设备的使用权分配给所映射的所述L个虚拟机中的至少一个虚拟机。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述根据所述外接设备的类型将所述外接设备的使用权分配给所映射的所述L个虚拟机中的至少一个虚拟机,具体包括:
当所述外接设备的类型为音频类设备时,将所述音频类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述音频类设备使用权的虚拟机为用户当前通过所述客户端设备操作的虚拟机;
当所述外接设备的类型为接口类设备时,通过令牌协商将所述接口类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述接口类设备使用权的虚拟机为请求所述接口类设备的虚拟机;其中,所述接口类设备为并串口类设备或通用串行总线USB口类设备。
第二方面,提供一种多虚拟机的映射系统,所述系统包括:客户端设备,以及与所述客户端设备所连接的N个显示设备;其中,
所述客户端设备,用于分别获取所述N个显示设备的显示参数,当所述客户端设备连接M个虚拟机时,分别接收所述M个虚拟机推送的虚拟桌面,根据所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备中分别选择显示设备,将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备;其中,N不小于M,N和M均为自然数,并且M不小于2;
所述分别为所述M个虚拟机选择的显示设备,分别用于对所述客户端设备输出的所述M个虚拟机的虚拟桌面进行显示。
结合第二方面,在第二方面的第一种可能的实现方式中,
所述客户端设备,还用于当连接外接设备时,分别获取所述M个虚拟机的外设策略,并获取所述外接设备的类型;将所述外接设备映射到外设策略与所述外接设备的类型匹配的L个虚拟机上;其中L为自然数,L不小于1,并且不大于M;根据所述外接设备的类型将所述外接设备的使用权分配给所映射的所述L个虚拟机中的至少一个。
第三方面,提供一种客户端设备,所述客户端设备包括:
获取单元,用于分别获取所连接的N个显示设备的显示参数;
接收单元,用于当所述客户端设备连接M个虚拟机时,分别接收所述M个虚拟机推送的虚拟桌面;
选择单元,用于根据所述获取单元获取的所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备中分别选择显示设备;
输出单元,用于将所述接收单元接收到的所述M个虚拟机的虚拟桌面输出到所述选择单元为所述M个虚拟机分别选择的显示设备上进行显示;其中,N不小于M,N和M均为自然数,并且M不小于2。
结合第三方面,在第三方面的第一种可能的实现方式中,
所述获取单元,具体用于通过调用底层驱动分别获取所述N个显示设备的显示参数,所述显示参数包括显示设备的使用状态参数;
所述输出单元,具体用于通过调用所述底层驱动将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备进行显示。
结合第三方面,或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述接收单元包括:
通道建立子单元,用于与所述M个虚拟机之间建立桌面协议通道;
桌面接收子单元,用于分别接收所述M个虚拟机通过所述通道建立子单元建立的桌面协议通道传输的虚拟桌面。
结合第三方面,或第三方面的第一种可能的实现方式,或第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述选择单元包括:
状态查看子单元,用于按照所述M个虚拟机的接入顺序,当新接入虚拟机时,查看所述N个显示设备的显示参数中的使用状态参数;
设备分配子单元,用于根据所述状态查看子单元查看的显示设备的使用状态,将所述N个显示设备中使用状态参数为未使用的显示设备分配给所述新接入虚拟机。
结合第三方面,或第三方面的第一种可能的实现方式,或第三方面的第二种可能的实现方式,或第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述获取单元,还用于当所述客户端设备连接外接设备时,分别获取所述M个虚拟机的外设策略,并获取所述外接设备的类型;
所述客户端设备还包括:
映射单元,用于将所述外接设备映射到外设策略与所述外接设备的类型匹配的L个虚拟机上;其中L为自然数,L不小于1,并且不大于M;
分配单元,用于根据所述外接设备的类型将所述外接设备的使用权分配给所述映射单元映射的所述L个虚拟机中的至少一个虚拟机。
结合第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式中,所述分配单元包括至少一个下述单元:
第一分配子单元,用于当所述外接设备的类型为音频类设备时,将所述音频类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述音频类设备使用权的虚拟机为用户当前通过所述客户端设备操作的虚拟机;
第二分配子单元,用于当所述外接设备的类型为接口类设备时,通过令牌协商将所述接口类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述接口类设备使用权的虚拟机为请求所述接口类设备的虚拟机;其中,所述接口类设备为并串口类设备或通用串行总线USB口类设备。
第四方面,提供一种客户端设备,所述客户端设备包括:总线,以及通过所述总线连接的网络接口、外设接口、驱动接口及处理器,其中,
所述外设接口,用于连接N个显示设备;
所述网络接口,用于连接M个虚拟机;
所述处理器,用于分别获取所述N个显示设备的显示参数,以及分别接收所述M个虚拟机推送的虚拟桌面,根据所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备中分别选择显示设备,将所述M个虚拟机的虚拟桌面通过所述驱动接口输出到为所述M个虚拟机分别选择的显示设备上进行显示;其中,N不小于M,N和M均为自然数,并且M不小于2。
结合第四方面,在第四方面的第一种可能的实现方式中,
所述处理器,具体用于通过所述驱动接口调用底层驱动分别获取所述N个显示设备的显示参数,所述显示参数包括显示设备的使用状态参数,以及通过所述驱动接口调用所述底层驱动将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备进行显示。
结合第四方面,或第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述处理器,具体用于通过所述网络接口与所述M个虚拟机之间建立桌面协议通道,并分别接收所述M个虚拟机通过所建立的桌面协议通道传输的虚拟桌面。
结合第四方面,或第四方面的第一种可能的实现方式,或第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述处理器,具体用于按照所述M个虚拟机的接入顺序,当新接入虚拟机时,查看所述N个显示设备的显示参数中的的使用状态参数,将所述N个显示设备中使用状态参数为未使用的显示设备分配给所述新接入虚拟机。
结合第四方面,或第四方面的第一种可能的实现方式,或第四方面的第二种可能的实现方式,或第四方面的第三种可能的实现方式,在第四方面的第四种可能的实现方式中,所述外设接口,还用于连接外接设备;
所述驱动接口,还用于向所述处理器上报所述外接设备的接入事件;
所述处理器,还用于根据所述驱动接口上报的接入事件,分别获取所述M个虚拟机的外设策略,并获取所述外设接口接入的外接设备的类型,将所述外接设备映射到外设策略与所述外接设备的类型匹配的L个虚拟机上,其中L为自然数,L不小于1,并且不大于M;并根据所述外接设备的类型将所述外接设备的使用权分配给所映射的所述L个虚拟机中的至少一个虚拟机。
结合第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现方式中,
所述处理器,具体用于当所述外接设备的类型为音频类设备时,将所述音频类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述音频类设备使用权的虚拟机为用户当前通过所述客户端设备操作的虚拟机,当所述外接设备的类型为接口类设备时,通过令牌协商将所述接口类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述接口类设备使用权的虚拟机为请求所述接口类设备的虚拟机;其中,所述接口类设备为并串口类设备或通用串行总线USB口类设备。
本发明实施例中,客户端设备可以分别获取所连接的N个显示设备的显示参数,当客户端设备连接M个虚拟机时,分别接收M个虚拟机推送的虚拟桌面,根据N个显示设备的显示参数为M个虚拟机从N个显示设备中分别选择显示设备,并将M个虚拟机的虚拟桌面输出到为M个虚拟机分别选择的显示设备上进行显示,其中N和M均为自然数,N不小于M,且M不小于2。应用本发明实施例,当客户端设备连接了多个显示设备时,可以将所连接的多个虚拟机的虚拟桌面分别映射到不同的显示设备上显示,从而提高了客户端设备的利用率,满足了用户在使用多虚拟机时的需求;并且,当客户端设备连接了外接设备时,也可以将该外接设备映射到所连接的多个虚拟机,并按照策略控制将外接设备的使用权分配给虚拟机,由此提高了多虚拟机映射的灵活性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A为本发明多虚拟机的映射方法的一个实施例流程图;
图1B为应用本发明实施例的一个多虚拟机分屏显示结构示意图;
图2A为本发明多虚拟机的映射方法的另一个实施例流程图;
图2B为实现图2A实施例的一种客户端设备的内部逻辑示意图;
图3A为本发明多虚拟机的映射方法的另一个实施例流程图;
图3B为实现图3A实施例的一种客户端设备的内部逻辑示意图;
图4为本发明多虚拟机的映射系统的实施例框图;
图5为本发明客户端设备的一个实施例框图;
图6为本发明客户端设备的另一个实施例框图;
图7为本发明客户端设备的另一个实施例框图。
具体实施方式
本发明如下实施例提供了多虚拟机的映射方法、系统及客户端设备。
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
参见图1,为本发明多虚拟机的映射方法的一个实施例流程图:
步骤101:客户端设备分别获取所连接的N个显示设备的显示参数。
本实施例中客户端设备可以具体指瘦客户端(Thin Client,TC)设备。该客户端设备上可以设置多个用于连接显示设备的外设接口,该显示设备可以具体为液晶显示屏。客户端设备可以通过调用底层驱动分别获取所述N个显示设备的显示参数,其中N为不小于2的自然数,该显示参数可以包括显示设备的使用状态参数,进一步,该显示参数还可以包括显示设备的个数,每个显示设备的分辨率参数等。
步骤102:当客户端设备连接M个虚拟机时,客户端设备分别接收M个虚拟机推送的虚拟桌面。
通常一个用户可以分配M个虚拟机,用户可以通过客户端设备获取到M个虚拟机列表。客户端设备可以与M个虚拟机之间建立桌面协议通道,并分别接收M个虚拟机通过所建立的桌面协议通道传输的虚拟桌面。其中,M为不小于2,且不大于N的自然数。
参见图1B,为应用本发明实施例的一个多虚拟机分屏显示结构示意图:其中,客户端设备连接四个显示设备,分别为显示设备1、显示设备2、显示设备3和显示设备4,同时该客户端设备连接为用户分配的四台虚拟机,分别为虚拟机1、虚拟机2、虚拟机3和虚拟机4。
步骤103:客户端设备根据N个显示设备的显示参数为M个虚拟机从N个显示设备中分别选择显示设备。
其中,客户端设备按照M个虚拟机的接入顺序,当新接入虚拟机时,查看N个显示设备的显示参数中的使用状态参数,将N个显示设备中使用状态参数为未使用的显示设备分配给新接入虚拟机。例如,客户端设备可以预先记录多个显示设备的序号,初始时每个显示设备的使用状态参数为未使用,结合图1A,假设虚拟机1接入客户端设备时,客户端设备可以检测所有显示设备的使用状态参数为未使用,则将显示设备1分配给虚拟机1,后续当虚拟机2接入客户端设备时,客户端设备可以检测到显示设备1的使用状态参数为已使用,则顺序将未使用的显示设备2分配给虚拟机2,以此类推,直至将显示设备3分配给虚拟机3,将显示设备4分配给虚拟机4。
步骤104:客户端设备将M个虚拟机的虚拟桌面输出到为M个虚拟机分别选择的显示设备上进行显示。
本实施例中,客户端设备可以通过调用底层驱动将M个虚拟机的虚拟桌面输出到为M个虚拟机分别选择的显示设备进行显示。结合图1B可知,客户端设备将虚拟机1的虚拟桌面输出到显示设备1进行显示,将虚拟机2的虚拟桌面输出到显示设备2进行显示,将虚拟机3的虚拟桌面输出到显示设备3进行显示,以及将虚拟机4的虚拟桌面输出到显示设备4进行显示。
由上述实施例可见,当客户端设备连接了多个显示设备时,可以将所连接的多个虚拟机的虚拟桌面分别映射到不同的显示设备上显示,从而提高了客户端设备的利用率,满足了用户在使用多虚拟机时的需求。
参见图2A,为本发明多虚拟机的映射方法的另一个实施例流程图,该实施例示出了多虚拟机分屏显示的映射过程:
步骤201:客户端设备通过调用底层驱动分别获取所连接的N个显示设备的显示参数。
参见图2B,为实现图2A实施例的一种客户端设备的内部逻辑示意图:包括操作系统(Operating System,OS)内核驱动、显示处理模块和协议通信模块,其中,OS内核驱动上设置有供显示处理模块调用的接口。在实际应用中,图2B中的显示处理模块和协议通信模块的功能可以集成在一个芯片上,OS内核驱动可以保存在客户端设备的存储器中;或者,显示处理模块、协议通信模块和OS内核驱动均集成在一块芯片上。
其中,OS内核驱动为客户端设备内设置的底层驱动,该OS内核驱动可以用于检测所连接的N个显示设备的显示参数,该显示参数包括显示设备的使用状态参数,进一步还可以包括所连接的显示设备的数量,显示设备的分辨率参数等,其中,N为不小于2的自然数。该OS内核驱动可以通过与显示处理模块之间的接口将显示设备的显示参数传输到显示处理模块,如图2B中,OS内核驱动可以通过与显示处理模块之间的P1接口将显示设备的显示参数传输到显示处理模块。
步骤202:当客户端设备连接M个虚拟机时,客户端设备与M个虚拟机之间建立桌面协议通道。
通常一个用户可以分配M个虚拟机,用户可以通过客户端设备获取到M个虚拟机列表,其中,M为不小于2,且不大于N的自然数。结合图2B,本实施例中,当客户端设备每连接一个虚拟机时,通过协议通信模块与该虚拟机之间建立桌面协议通道,建立协议通道的过程与现有客户端设备连接一个虚拟机的过程一致,在此不再赘述。
步骤203:分别接收M个虚拟机通过所建立的桌面协议通道传输的虚拟桌面。
结合图2B,当协议通信模块与虚拟机之间建立了桌面协议通道后,该虚拟机可以将映射的虚拟桌面的数据通过该桌面协议通道推送到协议通信模块,由协议通信模块将虚拟桌面的数据发送到显示处理模块进行处理。
步骤204:客户端设备按照M个虚拟机的接入顺序,当新接入虚拟机时,查看N个显示设备的显示参数中的使用状态参数。
结合图2B,显示处理模块内保存了OS内核驱动通过P1接口上报的显示设备的显示参数,该显示参数中包括显示设备的使用状态参数,在为虚拟机分配显示设备时,显示处理模块需要查看每个显示设备的使用状态参数,以便从使用状态参数为未使用的显示设备中选择显示设备分配给新接入虚拟机。
步骤205:将N个显示设备中使用状态参数为未使用的显示设备分配给新接入虚拟机。
例如,显示处理模块内记录了多个显示设备的序号,初始时OS内核驱动上报的每个显示设备的使用状态参数为未使用,结合图1A,假设虚拟机1接入客户端设备时,显示处理模块可以获取到所有显示设备的使用状态参数为未使用,则将显示设备1分配给虚拟机1,后续当虚拟机2接入客户端设备时,显示处理模块可以获取到显示设备1的使用状态参数为已使用,则顺序将未使用的显示设备2分配给虚拟机2,以此类推,直至将显示设备3分配给虚拟机3,将显示设备4分配给虚拟机4。
步骤206:客户端设备通过调用底层驱动将M个虚拟机的虚拟桌面输出到为M个虚拟机分别选择的显示设备进行显示。
结合图2B,显示处理模块按照为M个虚拟机分配的显示设备,将分配的每个显示设备的坐标信息发送到OS内核驱动,并调用P2接口将虚拟桌面的数据传输到OS内核驱动,并按照每个显示设备的坐标信息将每个显示设备对应的虚拟机的虚拟桌面输出到每个显示设备上,并按照该显示设备显示分辨率参数进行显示。
由上述实施例可见,当客户端设备连接了N个显示设备时,可以将所连接的M个虚拟机的虚拟桌面分别映射到不同的显示设备上显示,从而提高了客户端设备的利用率,满足了用户在使用多虚拟机时的需求。
参见图3A,为本发明多虚拟机的映射方法的另一个实施例流程图,该实施例示出了在前述多虚拟机的虚拟桌面映射到多显示屏后,客户单设备所接入的外接设备与多虚拟机之间的映射过程:
步骤301:当客户端设备连接外接设备时,客户端设备分别获取M个虚拟机的外设策略,并获取外接设备的类型。
当按照前述图1或图2示出的实施例,客户端设备所连接的M个虚拟机的虚拟桌面分别映射到不同的显示设备进行显示后,当客户端设备进一步连接了其它外接设备,例如,耳机等音频类设备,或者U盘等接口类设备,需要将这些外接设备与虚拟机之间进行映射,并确定由哪一个虚拟机使用该外接设备。
本实施例中,接口类设备可以包括并串口类设备或者通用串行总线(UniversalSerial Bus,USB)口类设备。其中,并串口类设备分为并口类设备和串口类设备,并口即并行接口,指采用并行传输方式来传输数据的接口标准,串口即串行接口,指采用串行通信方式传输数据的接口标准。
本实施例中,客户端设备内可以预先保存不同虚拟机的外设策略,例如,对于任意一个虚拟机,可以设置其可以映射所有类型的外接设备,或者设置其不能映射的某个类型的外接设备等。因此,当客户端设备连接外接设备时,客户端设备获取外接设备的类型及所连接的M个虚拟机的外设策略,以便将每个虚拟机的外设策略与外接设备的类型进行匹配,以便确定外接设备是否可以映射到这些虚拟机上。
步骤302:将外接设备映射到外设策略与外接设备的类型匹配的L个虚拟机上。
本实施例中,根据每个虚拟机的外设策略与外接设备的类型的匹配结果,获得与外接设备的类型匹配的外设策略,将外接设备映射到这些外设策略对应的L个虚拟机上,其中L为不小于1,并且不大于M的自然数。
步骤303:根据外接设备的类型将外接设备的使用权分配给所映射的L个虚拟机中的至少一个虚拟机。
本实施例中,当外接设备的类型为音频类设备时,客户端设备可以将外接设备的使用权分配给用户当前通过客户设备操作的一个虚拟机。例如,当客户端设备上接入一个耳机,且该耳机映射到了多个虚拟机,则客户端设备可以获取鼠标坐标当前控制的虚拟机,即鼠标坐标当前所在的显示设备对应的虚拟机,该虚拟机为客户当前激活的虚拟机,则客户端设备将耳机的音频输出权限释放给该虚拟机,而其它虚拟机则无法输出音频信号。
本实施例中,当外接设备的类型为接口类设备时,可以通过令牌协商将外接设备的使用权分配给一个请求所述外接设备的虚拟机。例如,当客户端设备上接入一个U盘,且该U盘映射到了多个虚拟机时,如果多个虚拟机有向U盘写数据的需求时,则多个虚拟机向客户端设备发送令牌请求,客户端设备按照令牌请求发送的顺序,将令牌每次分配给一个虚拟机,当该虚拟机执行完向U盘写入数据后,将令牌交换给客户端设备,客户端设备再将该令牌分配给下一虚拟机,直至所有虚拟机都向U盘写入数据,则结束本次令牌协商过程。
参见图3B,为实现图3A实施例的一种客户端设备的内部逻辑示意图:包括OS内核驱动、外设处理模块和协议通信模块,其中,OS内核驱动与外设处理模块之间设置M1接口,外设处理模块与协议通信模块之间分别通过M2接口和M3接口进行交互。在实际应用中,图3B中的外设处理模块和协议通信模块的功能可以集成在一个芯片上,OS内核驱动可以保存在客户端设备的存储器中;或者,显示处理模块、协议通信模块和OS内核驱动均集成在一块芯片上。
其中,协议通信模块可以接收所连接的虚拟机推送的外设策略,将该外设策略发送到外设处理模块;OS内核驱动检测到客户端设备插入外接设备的事件后,通过M1接口将该事件及外接设备的类型上报到外设处理模块;外设处理模块根据每个虚拟机的外设策略,将该外接设备映射到与外设策略匹配的虚拟机上,其中,可以根据外设策略的设置,确保某个虚拟机可以独占某类外接设备。
由上述实施例可见,当客户端设备连接了多个显示设备时,可以将所连接的多个虚拟机的虚拟桌面分别映射到不同的显示设备上显示,从而提高了客户端设备的利用率,满足了用户在使用多虚拟机时的需求;并且,当客户端设备连接了外接设备时,也可以将该外接设备映射到所连接的多个虚拟机,并按照策略控制将外接设备的使用权分配给虚拟机,由此提高了多虚拟机映射的灵活性。
与本发明多虚拟机的映射方法的实施例相对应,本发明还提供了多虚拟机的映射系统及客户端设备的实施例。
参见图4,为本发明多虚拟机的映射系统的实施例框图:
该系统包括:客户端设备410,以及与所述客户端设备410所连接的N个显示设备420,图4中为了示例方便,示出了三个显示设备420。
其中,所述客户端设备410,用于分别获取所述N个显示设备420的显示参数,当所述客户端设备连接M个虚拟机时,分别接收所述M个虚拟机推送的虚拟桌面,根据所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备420中分别选择显示设备,将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备420;其中,N不小于M,N和M均为自然数,并且M不小于2;
所述分别为所述M个虚拟机选择的显示设备420,分别用于对所述客户端设备410输出的所述M个虚拟机的虚拟桌面进行显示。
可选的,所述客户端设备410,还可以用于当连接外接设备时,分别获取所述M个虚拟机的外设策略,并获取所述外接设备的类型;将所述外接设备映射到外设策略与所述外接设备的类型匹配的L个虚拟机上;其中L为自然数,L不小于1,并且不大于M;根据所述外接设备的类型将所述外接设备的使用权分配给所映射的所述L个虚拟机中的至少一个。
上述客户端设备的具体结构实施例可以参见后续图5和图6示出的实施例,在此不再赘述。
参见图5,为本发明客户端设备的一个实施例框图:
该客户端设备包括:获取单元510、接收单元520、选择单元530和输出单元540。
其中,获取单元510,用于分别获取所连接的N个显示设备的显示参数;
接收单元520,用于当所述客户端设备连接M个虚拟机时,分别接收所述M个虚拟机推送的虚拟桌面;
选择单元530,用于根据所述获取单元510获取的所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备中分别选择显示设备;
输出单元540,用于将所述接收单元520接收到的所述M个虚拟机的虚拟桌面输出到所述选择单元530为所述M个虚拟机分别选择的显示设备上进行显示;其中,N不小于M,N和M均为自然数,并且M不小于2。
可选的,所述获取单元510,可以具体用于通过调用底层驱动分别获取所述N个显示设备的显示参数,所述显示参数包括显示设备的使用状态参数;
所述输出单元540,可以具体用于通过调用所述底层驱动将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备进行显示。
可选的,所述接收单元520可以包括(图5中未示出):
通道建立子单元,用于与所述M个虚拟机之间建立桌面协议通道;
桌面接收子单元,用于分别接收所述M个虚拟机通过所述通道建立子单元建立的桌面协议通道传输的虚拟桌面。
可选的,所述选择单元530可以包括(图5中未示出):
状态查看子单元,用于按照所述M个虚拟机的接入顺序,当新接入虚拟机时,查看所述N个显示设备的显示参数中的使用状态参数;
设备分配子单元,用于根据所述状态查看子单元查看的显示设备的使用状态,将所述N个显示设备中使用状态参数为未使用的显示设备分配给所述新接入虚拟机。
参见图6,为本发明客户端设备的另一个实施例框图:
该客户端设备包括:获取单元610、接收单元620、选择单元630、输出单元640、映射单元650和分配单元660。
其中,获取单元610,用于分别获取所连接的N个显示设备的显示参数;
接收单元620,用于当所述客户端设备连接M个虚拟机时,分别接收所述M个虚拟机推送的虚拟桌面;
选择单元630,用于根据所述获取单元620获取的所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备中分别选择显示设备;
输出单元640,用于将所述接收单元620接收到的所述M个虚拟机的虚拟桌面输出到所述选择单元630为所述M个虚拟机分别选择的显示设备上进行显示;其中,N不小于M,N和M均为自然数,并且M不小于2;
所述获取单元610,还用于当所述客户端设备连接外接设备时,分别获取所述M个虚拟机的外设策略,并获取所述外接设备的类型;
映射单元650,用于将所述外接设备映射到外设策略与所述外接设备的类型匹配的L个虚拟机上;其中L为自然数,L不小于1,并且不大于M;
分配单元660,用于根据所述外接设备的类型将所述外接设备的使用权分配给所述映射单元650映射的所述L个虚拟机中的至少一个虚拟机。
可选的,所述获取单元610,可以具体用于通过调用底层驱动分别获取所述N个显示设备的显示参数,所述显示参数包括显示设备的使用状态参数;
所述输出单元640,可以具体用于通过调用底层驱动将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备进行显示。
可选的,所述接收单元620可以包括(图6中未示出):
通道建立子单元,用于与所述M个虚拟机之间建立桌面协议通道;
桌面接收子单元,用于分别接收所述M个虚拟机通过所述通道建立子单元建立的桌面协议通道传输的虚拟桌面。
可选的,所述选择单元630可以包括(图6中未示出):
状态查看子单元,用于按照所述M个虚拟机的接入顺序,当新接入虚拟机时,查看所述N个显示设备的显示参数中的使用状态参数;
设备分配子单元,用于根据所述状态查看子单元查看的显示设备的使用状态,将所述N个显示设备中使用状态参数为未使用的显示设备分配给所述新接入虚拟机。
可选的,所述分配单元660可以包括至少一个下述单元(图6中未示出):
第一分配子单元,用于当所述外接设备的类型为音频类设备时,将所述音频类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述音频类设备使用权的虚拟机为用户当前通过所述客户端设备操作的虚拟机;
第二分配子单元,用于当所述外接设备的类型为接口类设备时,通过令牌协商将所述接口类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述接口类设备使用权的虚拟机为请求所述接口类设备的虚拟机;其中,所述接口类设备为并串口类设备或通用串行总线USB口类设备。
参见图7,为本发明客户端设备的另一个实施例框图:
该客户端设备包括:总线710,以及通过所述总线710连接的网络接口720、外设接口730、驱动接口740及处理器750。
其中,所述外设接口730,用于连接N个显示设备;
所述网络接口720,用于连接M个虚拟机;
所述处理器750,用于分别获取所述N个显示设备的显示参数,以及分别接收所述M个虚拟机推送的虚拟桌面,根据所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备中分别选择显示设备,将所述M个虚拟机的虚拟桌面通过所述驱动接口740输出到为所述M个虚拟机分别选择的显示设备上进行显示;其中,N不小于M,N和M均为自然数,并且M不小于2。
进一步,所述外设接口730,还用于连接外接设备;
所述驱动接口740,还用于向所述处理器上报所述外接设备的接入事件;
所述处理器750,还用于根据所述驱动接口740上报的接入事件,分别获取所述M个虚拟机的外设策略,并获取所述外设接口730接入的外接设备的类型,将所述外接设备映射到外设策略与所述外接设备的类型匹配的L个虚拟机上,其中L为自然数,L不小于1,并且不大于M;并根据所述外接设备的类型将所述外接设备的使用权分配给所映射的所述L个虚拟机中的至少一个虚拟机。
可选的,所述处理器750,可以具体用于通过所述驱动接口740调用底层驱动分别获取所述N个显示设备的显示参数,所述显示参数包括显示设备的使用状态参数,以及通过所述驱动接口740调用所述底层驱动将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备进行显示。
可选的,所述处理器750,可以具体用于通过所述网络接口720与所述M个虚拟机之间建立桌面协议通道,并分别接收所述M个虚拟机通过所建立的桌面协议通道传输的虚拟桌面。
可选的,所述处理器750,可以具体用于按照所述M个虚拟机的接入顺序,当新接入虚拟机时,查看所述N个显示设备的显示参数中的的使用状态参数,将所述N个显示设备中使用状态参数为未使用的显示设备分配给所述新接入虚拟机。
可选的,所述处理器750,可以具体用于当所述外接设备的类型为音频类设备时,将所述音频类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述音频类设备使用权的虚拟机为用户当前通过所述客户端设备操作的虚拟机,当所述外接设备的类型为接口类设备时,通过令牌协商将所述接口类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述接口类设备使用权的虚拟机为请求所述接口类设备的虚拟机;其中,所述接口类设备为并串口类设备或通用串行总线USB口类设备。
由上述实施例可见,客户端设备可以分别获取所连接的N个显示设备的显示参数,当客户端设备连接M个虚拟机时,分别接收M个虚拟机推送的虚拟桌面,根据N个显示设备的显示参数为M个虚拟机从N个显示设备中分别选择显示设备,并将M个虚拟机的虚拟桌面输出到为M个虚拟机分别选择的显示设备上进行显示,其中N和M均为自然数,N不小于M,且M不小于2。应用本发明实施例,当客户端设备连接了多个显示设备时,可以将所连接的多个虚拟机的虚拟桌面分别映射到不同的显示设备上显示,从而提高了客户端设备的利用率,满足了用户在使用多虚拟机时的需求;并且,当客户端设备连接了外接设备时,也可以将该外接设备映射到所连接的多个虚拟机,并按照策略控制将外接设备的使用权分配给虚拟机,由此提高了多虚拟机映射的灵活性。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种多虚拟机的映射方法,其特征在于,所述方法包括:
客户端设备分别获取所连接的N个显示设备的显示参数;
当所述客户端设备连接M个虚拟机时,所述客户端设备分别接收所述M个虚拟机推送的虚拟桌面;
所述客户端设备根据所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备中分别选择显示设备;
所述客户端设备将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备上进行显示;其中,N不小于M,N和M均为自然数,并且M不小于2。
2.根据权利要求1所述的方法,其特征在于,
所述客户端设备分别获取所连接的N个显示设备的显示参数,具体包括:所述客户端设备通过调用底层驱动分别获取所述N个显示设备的显示参数,所述显示参数包括显示设备的使用状态参数;
所述客户端设备将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备上进行显示,具体包括:所述客户端设备通过调用所述底层驱动将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备进行显示。
3.根据权利要求1或2所述的方法,其特征在于,所述客户端设备分别接收所述M个虚拟机推送的虚拟桌面,具体包括:
所述客户端设备与所述M个虚拟机之间建立桌面协议通道;
分别接收所述M个虚拟机通过所建立的桌面协议通道传输的虚拟桌面。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述客户端设备根据所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备中分别选择显示设备,具体包括:
所述客户端设备按照所述M个虚拟机的接入顺序,当新接入虚拟机时,查看所述N个显示设备的显示参数中的使用状态参数;
将所述N个显示设备中使用状态参数为未使用的显示设备分配给所述新接入虚拟机。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述方法还包括:
当所述客户端设备连接外接设备时,分别获取所述M个虚拟机的外设策略,并获取所述外接设备的类型;
将所述外接设备映射到外设策略与所述外接设备的类型匹配的L个虚拟机上;其中L为自然数,L不小于1,并且不大于M;
根据所述外接设备的类型将所述外接设备的使用权分配给所映射的所述L个虚拟机中的至少一个虚拟机。
6.根据权利要求5所述的方法,其特征在于,所述根据所述外接设备的类型将所述外接设备的使用权分配给所映射的所述L个虚拟机中的至少一个虚拟机,具体包括:
当所述外接设备的类型为音频类设备时,将所述音频类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述音频类设备使用权的虚拟机为用户当前通过所述客户端设备操作的虚拟机;
当所述外接设备的类型为接口类设备时,通过令牌协商将所述接口类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述接口类设备使用权的虚拟机为请求所述接口类设备的虚拟机;其中,所述接口类设备为并串口类设备或通用串行总线USB口类设备。
7.一种多虚拟机的映射系统,其特征在于,所述系统包括:客户端设备,以及与所述客户端设备所连接的N个显示设备;其中,
所述客户端设备,用于分别获取所述N个显示设备的显示参数,当所述客户端设备连接M个虚拟机时,分别接收所述M个虚拟机推送的虚拟桌面,根据所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备中分别选择显示设备,将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备;其中,N不小于M,N和M均为自然数,并且M不小于2;
所述分别为所述M个虚拟机选择的显示设备,分别用于对所述客户端设备输出的所述M个虚拟机的虚拟桌面进行显示。
8.根据权利要求7所述的系统,其特征在于,
所述客户端设备,还用于当连接外接设备时,分别获取所述M个虚拟机的外设策略,并获取所述外接设备的类型;将所述外接设备映射到外设策略与所述外接设备的类型匹配的L个虚拟机上;其中L为自然数,L不小于1,并且不大于M;根据所述外接设备的类型将所述外接设备的使用权分配给所映射的所述L个虚拟机中的至少一个。
9.一种客户端设备,其特征在于,所述客户端设备包括:
获取单元,用于分别获取所连接的N个显示设备的显示参数;
接收单元,用于当所述客户端设备连接M个虚拟机时,分别接收所述M个虚拟机推送的虚拟桌面;
选择单元,用于根据所述获取单元获取的所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备中分别选择显示设备;
输出单元,用于将所述接收单元接收到的所述M个虚拟机的虚拟桌面输出到所述选择单元为所述M个虚拟机分别选择的显示设备上进行显示;其中,N不小于M,N和M均为自然数,并且M不小于2。
10.根据权利要求9所述的客户端设备,其特征在于,
所述获取单元,具体用于通过调用底层驱动分别获取所述N个显示设备的显示参数,所述显示参数包括显示设备的使用状态参数;
所述输出单元,具体用于通过调用所述底层驱动将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备进行显示。
11.根据权利要求9或10所述的客户端设备,其特征在于,所述接收单元包括:
通道建立子单元,用于与所述M个虚拟机之间建立桌面协议通道;
桌面接收子单元,用于分别接收所述M个虚拟机通过所述通道建立子单元建立的桌面协议通道传输的虚拟桌面。
12.根据权利要求9至11任意一项所述的客户端设备,其特征在于,所述选择单元包括:
状态查看子单元,用于按照所述M个虚拟机的接入顺序,当新接入虚拟机时,查看所述N个显示设备的显示参数中的使用状态参数;
设备分配子单元,用于根据所述状态查看子单元查看的显示设备的使用状态,将所述N个显示设备中使用状态参数为未使用的显示设备分配给所述新接入虚拟机。
13.根据权利要求9至12任意一项所述的客户端设备,其特征在于,
所述获取单元,还用于当所述客户端设备连接外接设备时,分别获取所述M个虚拟机的外设策略,并获取所述外接设备的类型;
所述客户端设备还包括:
映射单元,用于将所述外接设备映射到外设策略与所述外接设备的类型匹配的L个虚拟机上;其中L为自然数,L不小于1,并且不大于M;
分配单元,用于根据所述外接设备的类型将所述外接设备的使用权分配给所述映射单元映射的所述L个虚拟机中的至少一个虚拟机。
14.根据权利要求13所述的客户端设备,其特征在于,所述分配单元包括至少一个下述单元:
第一分配子单元,用于当所述外接设备的类型为音频类设备时,将所述音频类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述音频类设备使用权的虚拟机为用户当前通过所述客户端设备操作的虚拟机;
第二分配子单元,用于当所述外接设备的类型为接口类设备时,通过令牌协商将所述接口类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述接口类设备使用权的虚拟机为请求所述接口类设备的虚拟机;其中,所述接口类设备为并串口类设备或通用串行总线USB口类设备。
15.一种客户端设备,其特征在于,所述客户端设备包括:总线,以及通过所述总线连接的网络接口、外设接口、驱动接口及处理器,其中,
所述外设接口,用于连接N个显示设备;
所述网络接口,用于连接M个虚拟机;
所述处理器,用于分别获取所述N个显示设备的显示参数,以及分别接收所述M个虚拟机推送的虚拟桌面,根据所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备中分别选择显示设备,将所述M个虚拟机的虚拟桌面通过所述驱动接口输出到为所述M个虚拟机分别选择的显示设备上进行显示;其中,N不小于M,N和M均为自然数,并且M不小于2。
16.根据权利要求15所述的客户端设备,其特征在于,
所述处理器,具体用于通过所述驱动接口调用底层驱动分别获取所述N个显示设备的显示参数,所述显示参数包括显示设备的使用状态参数,以及通过所述驱动接口调用所述底层驱动将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备进行显示。
17.根据权利要求15或16所述的客户端设备,其特征在于,
所述处理器,具体用于通过所述网络接口与所述M个虚拟机之间建立桌面协议通道,并分别接收所述M个虚拟机通过所建立的桌面协议通道传输的虚拟桌面。
18.根据权利要求15至17任意一项所述的客户端设备,其特征在于,
所述处理器,具体用于按照所述M个虚拟机的接入顺序,当新接入虚拟机时,查看所述N个显示设备的显示参数中的的使用状态参数,将所述N个显示设备中使用状态参数为未使用的显示设备分配给所述新接入虚拟机。
19.根据权利要求15至18任意一项所述的客户端设备,其特征在于,
所述外设接口,还用于连接外接设备;
所述驱动接口,还用于向所述处理器上报所述外接设备的接入事件;
所述处理器,还用于根据所述驱动接口上报的接入事件,分别获取所述M个虚拟机的外设策略,并获取所述外设接口接入的外接设备的类型,将所述外接设备映射到外设策略与所述外接设备的类型匹配的L个虚拟机上,其中L为自然数,L不小于1,并且不大于M;并根据所述外接设备的类型将所述外接设备的使用权分配给所映射的所述L个虚拟机中的至少一个虚拟机。
20.根据权利要求15至19任意一项所述的客户端设备,其特征在于,
所述处理器,具体用于当所述外接设备的类型为音频类设备时,将所述音频类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述音频类设备使用权的虚拟机为用户当前通过所述客户端设备操作的虚拟机,当所述外接设备的类型为接口类设备时,通过令牌协商将所述接口类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述接口类设备使用权的虚拟机为请求所述接口类设备的虚拟机;其中,所述接口类设备为并串口类设备或通用串行总线USB口类设备。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210524180.4A CN103856547B (zh) | 2012-12-07 | 2012-12-07 | 多虚拟机的映射方法、系统及客户端设备 |
EP13861331.0A EP2882168B1 (en) | 2012-12-07 | 2013-07-19 | Method, system and client device for mapping multiple virtual machines |
JP2015545640A JP6014274B2 (ja) | 2012-12-07 | 2013-07-19 | 複数のバーチャルマシーンをマッピングする方法及びシステム並びにクライアント装置 |
PCT/CN2013/079682 WO2014086151A1 (zh) | 2012-12-07 | 2013-07-19 | 多虚拟机的映射方法、系统及客户端设备 |
US14/673,451 US20150205630A1 (en) | 2012-12-07 | 2015-03-30 | Method and System for Mapping Multiple Virtual Machines, and Client Device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210524180.4A CN103856547B (zh) | 2012-12-07 | 2012-12-07 | 多虚拟机的映射方法、系统及客户端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103856547A true CN103856547A (zh) | 2014-06-11 |
CN103856547B CN103856547B (zh) | 2017-07-07 |
Family
ID=50863754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210524180.4A Active CN103856547B (zh) | 2012-12-07 | 2012-12-07 | 多虚拟机的映射方法、系统及客户端设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20150205630A1 (zh) |
EP (1) | EP2882168B1 (zh) |
JP (1) | JP6014274B2 (zh) |
CN (1) | CN103856547B (zh) |
WO (1) | WO2014086151A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391672A (zh) * | 2014-10-27 | 2015-03-04 | 深圳市京华科讯科技有限公司 | 基于虚拟化桌面的耳麦虚拟化实现系统及其音频传输方法 |
CN107094162A (zh) * | 2016-02-18 | 2017-08-25 | 深圳市深信服电子科技有限公司 | 虚拟桌面的显示方法和装置 |
CN107168768A (zh) * | 2016-03-08 | 2017-09-15 | 深圳市深信服电子科技有限公司 | 设备与虚拟机的映射方法和装置 |
CN109104416A (zh) * | 2018-07-24 | 2018-12-28 | 成都电科致远网络科技有限公司 | 一种基于pon局域网的多设备协作云服务平台 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10126999B1 (en) | 2016-09-23 | 2018-11-13 | Apple Inc. | Display scaling |
US20180331900A1 (en) * | 2017-05-11 | 2018-11-15 | Intel Corporation | Reconfigurable device manager |
US10834210B1 (en) * | 2017-08-03 | 2020-11-10 | Amazon Technologies, Inc. | Synchronizing a personal workspace across multiple computing systems in a coding environment |
US10706493B2 (en) * | 2017-12-29 | 2020-07-07 | Intel Corporation | Apparatus and method for display virtualization using mapping between virtual and physical display planes |
US11205021B2 (en) * | 2019-01-21 | 2021-12-21 | Apple Inc. | Securing accessory interface |
TWI811560B (zh) * | 2020-08-17 | 2023-08-11 | 宏碁股份有限公司 | 資源整合系統及資源整合方法 |
EP4307112A1 (en) * | 2021-02-26 | 2024-01-17 | LG Electronics Inc. | Signal processing device, and vehicle display device including same |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09269886A (ja) * | 1996-04-02 | 1997-10-14 | Hitachi Ltd | 情報処理装置およびコントローラ |
US8028040B1 (en) * | 2005-12-20 | 2011-09-27 | Teradici Corporation | Method and apparatus for communications between a virtualized host and remote devices |
US9860344B2 (en) * | 2008-06-26 | 2018-01-02 | Hewlett-Packard Development Company, L.P. | Self-management of local resources allocated remotely |
JP2010097567A (ja) * | 2008-10-20 | 2010-04-30 | Hitachi Ltd | デバイス接続制御方法 |
CN101493783A (zh) * | 2009-02-11 | 2009-07-29 | 魏新成 | 将两个操作系统桌面集成在一个电脑屏幕上的方法 |
US9507618B2 (en) * | 2009-05-31 | 2016-11-29 | Red Hat Israel, Ltd. | Virtual machine system supporting a large number of displays |
US8473958B2 (en) * | 2009-05-31 | 2013-06-25 | Red Hat Israel, Ltd. | Adjusting client display devices based on settings included in a notification from remote virtual machine host prior to connection establishment |
US8467631B2 (en) * | 2009-06-30 | 2013-06-18 | Red Hat Israel, Ltd. | Method and apparatus for identification of image uniqueness |
US8886708B2 (en) * | 2009-12-02 | 2014-11-11 | Vmware, Inc. | Centralized computer network virtualization environment |
WO2011073973A1 (en) * | 2009-12-14 | 2011-06-23 | Tako Technology Ltd. | A computerized tool, system and method for remote access to a computer program |
US9477531B2 (en) * | 2010-01-27 | 2016-10-25 | Vmware, Inc. | Accessing virtual disk content of a virtual machine without running a virtual desktop |
CN201876864U (zh) * | 2010-09-29 | 2011-06-22 | 长沙行成信息科技有限公司 | 一种支持多嵌入式设备计算迁移的系统 |
US8589800B2 (en) * | 2010-12-10 | 2013-11-19 | Wyse Technology Inc. | Methods and systems for accessing and controlling a remote desktop of a remote machine in real time by a web browser at a client device via HTTP API utilizing a transcoding server |
KR20120072246A (ko) * | 2010-12-23 | 2012-07-03 | 한국전자통신연구원 | 가상화 화면제어시스템 및 그 방법 |
US8959514B2 (en) * | 2012-11-06 | 2015-02-17 | Red Hat Israel, Ltd. | Virtual machine monitor display split using multiple client devices in a virtualization system |
-
2012
- 2012-12-07 CN CN201210524180.4A patent/CN103856547B/zh active Active
-
2013
- 2013-07-19 JP JP2015545640A patent/JP6014274B2/ja active Active
- 2013-07-19 EP EP13861331.0A patent/EP2882168B1/en active Active
- 2013-07-19 WO PCT/CN2013/079682 patent/WO2014086151A1/zh active Application Filing
-
2015
- 2015-03-30 US US14/673,451 patent/US20150205630A1/en not_active Abandoned
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391672A (zh) * | 2014-10-27 | 2015-03-04 | 深圳市京华科讯科技有限公司 | 基于虚拟化桌面的耳麦虚拟化实现系统及其音频传输方法 |
CN107094162A (zh) * | 2016-02-18 | 2017-08-25 | 深圳市深信服电子科技有限公司 | 虚拟桌面的显示方法和装置 |
CN107168768A (zh) * | 2016-03-08 | 2017-09-15 | 深圳市深信服电子科技有限公司 | 设备与虚拟机的映射方法和装置 |
CN107168768B (zh) * | 2016-03-08 | 2020-04-14 | 深信服科技股份有限公司 | 设备与虚拟机的映射方法和装置 |
CN109104416A (zh) * | 2018-07-24 | 2018-12-28 | 成都电科致远网络科技有限公司 | 一种基于pon局域网的多设备协作云服务平台 |
CN109104416B (zh) * | 2018-07-24 | 2020-10-16 | 成都电科致远网络科技有限公司 | 一种基于pon局域网的多设备协作云服务平台 |
Also Published As
Publication number | Publication date |
---|---|
US20150205630A1 (en) | 2015-07-23 |
WO2014086151A1 (zh) | 2014-06-12 |
JP2016505946A (ja) | 2016-02-25 |
EP2882168A1 (en) | 2015-06-10 |
JP6014274B2 (ja) | 2016-10-25 |
EP2882168B1 (en) | 2016-12-07 |
EP2882168A4 (en) | 2015-10-21 |
CN103856547B (zh) | 2017-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103856547B (zh) | 多虚拟机的映射方法、系统及客户端设备 | |
CN106874128B (zh) | 数据传输方法及装置 | |
CN107003892B (zh) | Gpu虚拟化方法、装置、系统及电子设备、计算机程序产品 | |
EP2899687B1 (en) | Method and device for processing graphics data | |
KR101495862B1 (ko) | 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법 | |
JP5620506B2 (ja) | アプリケーション画像の表示方法及び装置 | |
CN109634720B (zh) | 一种多虚拟机共享fpga板卡的方法、系统及装置 | |
CN107077375B (zh) | 用于多操作系统的显示方法、装置和电子设备 | |
CN113886019B (zh) | 虚拟机创建方法、装置、系统、介质和设备 | |
CN104363486B (zh) | 一种组合电视的usb共享方法及组合电视 | |
CN116774933A (zh) | 存储设备的虚拟化处理方法、桥接设备、系统及介质 | |
CN114416630A (zh) | 基于pcie的通信方法、装置、计算机设备和可读存储介质 | |
US20150145876A1 (en) | Graphics Data Processing Method, Apparatus, and System | |
CN113485791B (zh) | 配置方法和访问方法、装置、虚拟化系统和存储介质 | |
US20240062450A1 (en) | Cloud Image Rendering for Concurrent Processes | |
KR100902982B1 (ko) | 그래픽 시스템을 사용한 다중 사용자 컴퓨터 시스템의인에이블 | |
CN114253704A (zh) | 一种分配资源的方法及装置 | |
CN105988871B (zh) | 一种远端内存分配方法、装置和系统 | |
CN110083323A (zh) | 一种实现多显示和多用户并发的方法及装置 | |
CN110708359A (zh) | 一种基于usb通信的仪表信息传输装置及方法 | |
CN113923167B (zh) | 联邦学习中数据传输优化方法 | |
US10142288B1 (en) | Machine application interface to influence virtual environment | |
CN102388376B (zh) | 远程usb环境中的混合或复合usb设备的划分 | |
US20160026567A1 (en) | Direct memory access method, system and host module for virtual machine | |
CN104396207B (zh) | 实现多显示器接入的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220211 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |