CN103856547B - 多虚拟机的映射方法、系统及客户端设备 - Google Patents

多虚拟机的映射方法、系统及客户端设备 Download PDF

Info

Publication number
CN103856547B
CN103856547B CN201210524180.4A CN201210524180A CN103856547B CN 103856547 B CN103856547 B CN 103856547B CN 201210524180 A CN201210524180 A CN 201210524180A CN 103856547 B CN103856547 B CN 103856547B
Authority
CN
China
Prior art keywords
virtual machine
display device
client device
virtual
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.)
Active
Application number
CN201210524180.4A
Other languages
English (en)
Other versions
CN103856547A (zh
Inventor
胡朝阳
高小宏
熊文辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210524180.4A priority Critical patent/CN103856547B/zh
Priority to EP13861331.0A priority patent/EP2882168B1/en
Priority to PCT/CN2013/079682 priority patent/WO2014086151A1/zh
Priority to JP2015545640A priority patent/JP6014274B2/ja
Publication of CN103856547A publication Critical patent/CN103856547A/zh
Priority to US14/673,451 priority patent/US20150205630A1/en
Application granted granted Critical
Publication of CN103856547B publication Critical patent/CN103856547B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/20Details of the management of multiple sources of image data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display 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为本发明客户端设备的另一个实施例框图。
具体实施方式
本发明如下实施例提供了多虚拟机的映射方法、系统及客户端设备。
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
参见图1A,为本发明多虚拟机的映射方法的一个实施例流程图:
步骤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个虚拟机的外设策略,并获取外接设备的类型。
当按照前述图1B或图2B示出的实施例,客户端设备所连接的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 (9)

1.一种多虚拟机的映射方法,其特征在于,所述方法包括:
客户端设备分别获取所连接的N个显示设备的显示参数;
当所述客户端设备连接M个虚拟机时,所述客户端设备分别接收所述M个虚拟机推送的虚拟桌面;
所述客户端设备根据所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备中分别选择显示设备;
所述客户端设备将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备上进行显示;其中,N不小于M,N和M均为自然数,并且M不小于2;
当所述客户端设备连接外接设备时,分别获取所述M个虚拟机的外设策略,并获取所述外接设备的类型;
将所述外接设备映射到外设策略与所述外接设备的类型匹配的L个虚拟机上;其中L为自然数,L不小于1,并且不大于M;
根据所述外接设备的类型将所述外接设备的使用权分配给所映射的所述L个虚拟机中的至少一个虚拟机;
所述根据所述外接设备的类型将所述外接设备的使用权分配给所映射的所述L个虚拟机中的至少一个虚拟机,具体包括:
当所述外接设备的类型为音频类设备时,将所述音频类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述音频类设备使用权的虚拟机为用户当前通过所述客户端设备操作的虚拟机;
当所述外接设备的类型为接口类设备时,通过令牌协商将所述接口类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述接口类设备使用权的虚拟机为请求所述接口类设备的虚拟机;其中,所述接口类设备为并串口类设备或通用串行总线USB口类设备。
2.根据权利要求1所述的方法,其特征在于,
所述客户端设备分别获取所连接的N个显示设备的显示参数,具体包括:所述客户端设备通过调用底层驱动分别获取所述N个显示设备的显示参数,所述显示参数包括显示设备的使用状态参数;
所述客户端设备将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备上进行显示,具体包括:所述客户端设备通过调用所述底层驱动将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备进行显示。
3.根据权利要求1或2所述的方法,其特征在于,所述客户端设备分别接收所述M个虚拟机推送的虚拟桌面,具体包括:
所述客户端设备与所述M个虚拟机之间建立桌面协议通道;
分别接收所述M个虚拟机通过所建立的桌面协议通道传输的虚拟桌面。
4.根据权利要求1所述的方法,其特征在于,所述客户端设备根据所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备中分别选择显示设备,具体包括:
所述客户端设备按照所述M个虚拟机的接入顺序,当新接入虚拟机时,查看所述N个显示设备的显示参数中的使用状态参数;
将所述N个显示设备中使用状态参数为未使用的显示设备分配给所述新接入虚拟机。
5.一种多虚拟机的映射系统,其特征在于,所述系统包括:客户端设备,以及与所述客户端设备所连接的N个显示设备;其中,
所述客户端设备,用于分别获取所述N个显示设备的显示参数,当所述客户端设备连接M个虚拟机时,分别接收所述M个虚拟机推送的虚拟桌面,根据所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备中分别选择显示设备,将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备;其中,N不小于M,N和M均为自然数,并且M不小于2;
所述分别为所述M个虚拟机选择的显示设备,分别用于对所述客户端设备输出的所述M个虚拟机的虚拟桌面进行显示;
所述客户端设备,还用于当连接外接设备时,分别获取所述M个虚拟机的外设策略,并获取所述外接设备的类型;将所述外接设备映射到外设策略与所述外接设备的类型匹配的L个虚拟机上;其中L为自然数,L不小于1,并且不大于M;根据所述外接设备的类型将所述外接设备的使用权分配给所映射的所述L个虚拟机中的至少一个;
所述根据所述外接设备的类型将所述外接设备的使用权分配给所映射的所述L个虚拟机中的至少一个虚拟机,具体包括:
当所述外接设备的类型为音频类设备时,将所述音频类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述音频类设备使用权的虚拟机为用户当前通过所述客户端设备操作的虚拟机;
当所述外接设备的类型为接口类设备时,通过令牌协商将所述接口类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述接口类设备使用权的虚拟机为请求所述接口类设备的虚拟机;其中,所述接口类设备为并串口类设备或通用串行总线USB口类设备。
6.一种客户端设备,其特征在于,所述客户端设备包括:
获取单元,用于分别获取所连接的N个显示设备的显示参数;
接收单元,用于当所述客户端设备连接M个虚拟机时,分别接收所述M个虚拟机推送的虚拟桌面;
选择单元,用于根据所述获取单元获取的所述N个显示设备的显示参数为所述M个虚拟机从所述N个显示设备中分别选择显示设备;
输出单元,用于将所述接收单元接收到的所述M个虚拟机的虚拟桌面输出到所述选择单元为所述M个虚拟机分别选择的显示设备上进行显示;其中,N不小于M,N和M均为自然数,并且M不小于2;
所述获取单元,还用于当所述客户端设备连接外接设备时,分别获取所述M个虚拟机的外设策略,并获取所述外接设备的类型;
所述客户端设备还包括:
映射单元,用于将所述外接设备映射到外设策略与所述外接设备的类型匹配的L个虚拟机上;其中L为自然数,L不小于1,并且不大于M;
分配单元,用于根据所述外接设备的类型将所述外接设备的使用权分配给所述映射单元映射的所述L个虚拟机中的至少一个虚拟机;
所述分配单元包括至少一个下述单元:
第一分配子单元,用于当所述外接设备的类型为音频类设备时,将所述音频类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述音频类设备使用权的虚拟机为用户当前通过所述客户端设备操作的虚拟机;
第二分配子单元,用于当所述外接设备的类型为接口类设备时,通过令牌协商将所述接口类设备的使用权分配给所述L个虚拟机中的一个虚拟机,获得所述接口类设备使用权的虚拟机为请求所述接口类设备的虚拟机;其中,所述接口类设备为并串口类设备或通用串行总线USB口类设备。
7.根据权利要求6所述的客户端设备,其特征在于,
所述获取单元,具体用于通过调用底层驱动分别获取所述N个显示设备的显示参数,所述显示参数包括显示设备的使用状态参数;
所述输出单元,具体用于通过调用所述底层驱动将所述M个虚拟机的虚拟桌面输出到为所述M个虚拟机分别选择的显示设备进行显示。
8.根据权利要求6或7所述的客户端设备,其特征在于,所述接收单元包括:
通道建立子单元,用于与所述M个虚拟机之间建立桌面协议通道;
桌面接收子单元,用于分别接收所述M个虚拟机通过所述通道建立子单元建立的桌面协议通道传输的虚拟桌面。
9.根据权利要求6所述的客户端设备,其特征在于,所述选择单元包括:
状态查看子单元,用于按照所述M个虚拟机的接入顺序,当新接入虚拟机时,查看所述N个显示设备的显示参数中的使用状态参数;
设备分配子单元,用于根据所述状态查看子单元查看的显示设备的使用状态,将所述N个显示设备中使用状态参数为未使用的显示设备分配给所述新接入虚拟机。
CN201210524180.4A 2012-12-07 2012-12-07 多虚拟机的映射方法、系统及客户端设备 Active CN103856547B (zh)

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
PCT/CN2013/079682 WO2014086151A1 (zh) 2012-12-07 2013-07-19 多虚拟机的映射方法、系统及客户端设备
JP2015545640A JP6014274B2 (ja) 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 CN103856547A (zh) 2014-06-11
CN103856547B true 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)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391672A (zh) * 2014-10-27 2015-03-04 深圳市京华科讯科技有限公司 基于虚拟化桌面的耳麦虚拟化实现系统及其音频传输方法
CN107094162A (zh) * 2016-02-18 2017-08-25 深圳市深信服电子科技有限公司 虚拟桌面的显示方法和装置
CN107168768B (zh) * 2016-03-08 2020-04-14 深信服科技股份有限公司 设备与虚拟机的映射方法和装置
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
CN109104416B (zh) * 2018-07-24 2020-10-16 成都电科致远网络科技有限公司 一种基于pon局域网的多设备协作云服务平台
US11205021B2 (en) * 2019-01-21 2021-12-21 Apple Inc. Securing accessory interface
TWI811560B (zh) * 2020-08-17 2023-08-11 宏碁股份有限公司 資源整合系統及資源整合方法
WO2022181899A1 (ko) * 2021-02-26 2022-09-01 엘지전자 주식회사 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101493783A (zh) * 2009-02-11 2009-07-29 魏新成 将两个操作系统桌面集成在一个电脑屏幕上的方法
CN102681887A (zh) * 2010-12-23 2012-09-19 韩国电子通信研究院 用于控制虚拟化屏幕的系统和方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
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
EP2304581A4 (en) * 2008-06-26 2014-01-08 Hewlett Packard Development Co SELF-ADMINISTRATION OF LOCAL OPERATORS SENT FROM THE FOLLOWING
JP2010097567A (ja) * 2008-10-20 2010-04-30 Hitachi Ltd デバイス接続制御方法
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
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101493783A (zh) * 2009-02-11 2009-07-29 魏新成 将两个操作系统桌面集成在一个电脑屏幕上的方法
CN102681887A (zh) * 2010-12-23 2012-09-19 韩国电子通信研究院 用于控制虚拟化屏幕的系统和方法

Also Published As

Publication number Publication date
JP2016505946A (ja) 2016-02-25
EP2882168A4 (en) 2015-10-21
US20150205630A1 (en) 2015-07-23
EP2882168A1 (en) 2015-06-10
EP2882168B1 (en) 2016-12-07
CN103856547A (zh) 2014-06-11
JP6014274B2 (ja) 2016-10-25
WO2014086151A1 (zh) 2014-06-12

Similar Documents

Publication Publication Date Title
CN103856547B (zh) 多虚拟机的映射方法、系统及客户端设备
CN107077377A (zh) 一种设备虚拟化方法、装置、系统及电子设备、计算机程序产品
KR101495862B1 (ko) 제로 클라이언트를 지원하는 가상화 서버 및 가상 머신 관리 방법
CN104580399B (zh) 一种基于OpenStack和Spice的云桌面实现方法
CN106385329B (zh) 资源池的处理方法、装置和设备
CN104572243B (zh) 用于共享Java虚拟机的方法和系统
JP5620506B2 (ja) アプリケーション画像の表示方法及び装置
CN107003892A (zh) Gpu虚拟化方法、装置、系统及电子设备、计算机程序产品
CN101128807A (zh) 用于扩充中断控制器和合成中断来源的系统和方法
CN101150485A (zh) 一种零拷贝缓冲区队列网络数据发送的管理方法
CN107038062A (zh) 一种基于云平台的虚拟机初始化方法及装置
WO2020119189A1 (zh) 一种多虚拟机共享fpga板卡的方法、系统及装置
WO2021135574A1 (zh) 数据存储方法、装置及终端设备
CN114416630A (zh) 基于pcie的通信方法、装置、计算机设备和可读存储介质
WO2017045272A1 (zh) 虚拟机迁移方法和装置
CN108228350A (zh) 一种资源分配方法及装置
CN107608806A (zh) 一种虚拟机间快速访问传输数据的系统及方法
CN103227825A (zh) 桌面一体机架构
CN105373346B (zh) 一种虚拟化存储方法及存储装置
CN107643938A (zh) 数据传输方法、装置及存储介质
CN107967165B (zh) 基于lvm的虚拟机离线迁移方法
WO2022063273A1 (zh) 一种基于numa属性的资源分配方法及装置
CN109388598A (zh) 一种信息处理方法及通用串行总线usb集群服务器
CN107423115A (zh) 显卡虚拟化的方法、装置和系统
CN107562510A (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 Technology 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