CN107707622B - 一种访问桌面云虚拟机的方法、装置及桌面云控制器 - Google Patents

一种访问桌面云虚拟机的方法、装置及桌面云控制器 Download PDF

Info

Publication number
CN107707622B
CN107707622B CN201710765533.2A CN201710765533A CN107707622B CN 107707622 B CN107707622 B CN 107707622B CN 201710765533 A CN201710765533 A CN 201710765533A CN 107707622 B CN107707622 B CN 107707622B
Authority
CN
China
Prior art keywords
target
virtual access
computing node
access gateway
virtual
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
CN201710765533.2A
Other languages
English (en)
Other versions
CN107707622A (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 CN201710765533.2A priority Critical patent/CN107707622B/zh
Priority to PCT/CN2018/076902 priority patent/WO2019041765A1/zh
Publication of CN107707622A publication Critical patent/CN107707622A/zh
Priority to US16/805,255 priority patent/US11294735B2/en
Application granted granted Critical
Publication of CN107707622B publication Critical patent/CN107707622B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种访问桌面云虚拟机的方法、装置及桌面云控制器,该方法包括:桌面云控制器接收来自桌面云客户端的访问请求,所述访问请求指定的目标虚拟机部署在目标计算节点上,然后桌面云控制器在确定所述目标计算节点部署有目标虚拟接入网关时,指示所述桌面云客户端通过所述目标虚拟接入网关与所述目标虚拟机建立通信,这样有助于解决现有的访问方法存在VAG与VM跨服务器通信的问题。

Description

一种访问桌面云虚拟机的方法、装置及桌面云控制器
技术领域
本申请涉及信息技术领域,尤其涉及一种访问桌面云虚拟机的方法、装置及桌面云控制器。
背景技术
桌面云,可以通过瘦客户端或者其他任何与网络相连的设备来访问跨平台的应用程序,以及整个客户桌面。用户的桌面环境通常是集中部署在企业的数据中心,本地终端通常是一个配置相对较低的集成电路机身,具有连接显示、输入设备的常用接口,其本身的处理能力是很弱的,主要依靠连接到远程服务器来共享虚拟化处理器资源池中的虚拟机资源。桌面云提供的托管桌面支持各种终端设备的接入,而且桌面云为企业用户提供了非常灵活的工作处理方式,只要有网络的地方,员工都可以通过网络进入到企业的办公环境来处理工作事务。
在桌面云系统实际部署中,因单个虚拟接入网关(virtual access gate,VAG)本身处理能力存在瓶颈,所支撑的虚拟桌面个数有限,同时为了提高系统可靠性及可用性,通常会部署多台VAG构成VAG集群,然后再采用轮询、加权轮询、随机、最小连接或源地散列等通用算法对VAG集群中的VAG进行调度。这种使用普通负载均衡技术进行调度的方式主要存在以下问题:
1、会出现VAG与大量VM跨服务器(即计算节点)通信,造成东西方向网络流量大;
2、若VAG所在服务器发生故障,不但VAG及其所在服务器上的虚拟桌面VM因服务器故障全挂掉,还影响到其它服务器主机上正依赖于此VAG对外提供服务的虚拟桌面VM。
发明内容
有鉴于此,本申请提供了一种访问桌面云虚拟机的方法、装置及桌面云控制器,用以解决现有的访问方法存在VAG与VM跨服务器通信的问题。
第一方面,本申请实施例提供了一种访问桌面云虚拟机的方法,该方法包括:桌面云控制器先接收来自桌面云客户端的访问请求,因为访问请求中所指定的目标虚拟机部署在目标计算节点上,所述桌面云控制器在确定所述目标计算节点部署有目标虚拟接入网关时,指示所述桌面云客户端通过所述目标虚拟接入网关与所述目标虚拟机建立通信。
这样做,桌面云控制器可以做到尽可能地选择与客户端访问的虚拟机共计算节点的虚拟接入网关。因此可以最大化地避免VM跨服务器(即跨计算节点)通信,有利于降低东西方向的网络流量。再者,因为客户端访问的虚拟机与虚拟接入网关在同一个计算节点上,即便该虚拟接入网关所在计算节点发生故障,也不会影响到其它计算节点。
在一种可能的设计中,当桌面云控制器在确定所述目标计算节点上不存在目标虚拟接入网关时,桌面云控制器就利用现有的负载均衡算法从虚拟接入网关集群中确定一个目标虚拟接入网关。
在一种可能的设计中,执行上述步骤之前,本申请实施例先对各个计算节点上的虚拟接入网关进行部署,部署的规则是各个计算节点上部署有至少一个虚拟接入网关。这样做的目的是尽可能保证不同的虚拟接入网关被分配至不同的计算节点上,进而接下来桌面云控制器可以优先选择与虚拟机共计算节点的虚拟接入网关。
在一个可能的设计中,当可以根据虚拟化平台接口得到VM实例运行所在的计算节点的信息时,桌面云控制器就可以根据所述访问请求指定的所述目标虚拟机,确定所述目标虚拟机所在的目标计算节点;同时,确定多个虚拟接入网关所在的多个计算节点;在所述多个计算节点包括所述目标计算节点时,确定所述目标计算节点部署的所述目标虚拟接入网关。当然,目标计算节点上有多个虚拟接入网关时,采用通用的负载均衡算法,从这几个虚拟接入网关中进行挑选即可。
在一个可能的设计中,如果虚拟化云平台不具备上述接口,则无法获取虚拟接入网关所在的计算节点的信息,这时可以预先配置每个计算节点与VM实例和VAG实例的映射关系表,也就是说每个计算节点均对应一个映射关系表,该映射关系表主要是反映该计算节点内的VM和VAG之间的对应关系。这样,桌面云控制器先根据所述访问请求指定的所述目标虚拟机,确定所述目标虚拟机所在的目标计算节点;然后从计算节点对应的映射关系表中查找出目标计算节点部署的目标虚拟接入网关。
在一个可能的设计中,如果虚拟化云平台不具备上述接口,那么也可以直接建立VM实例和VAG实例的映射关系表,一般VM实例对应VAG实例与该VM共主机,这样,桌面云控制器就可以直接查找出所述目标虚拟机对应的虚拟接入网关,将查找确定的虚拟接入网关作为目标虚拟接入网关。
第二方面,本申请实施例还提供了一种访问桌面云虚拟机的装置,该装置具有实现上述第一方面方法示例中桌面云控制器行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或所述软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述访问桌面云虚拟机的装置的结构中包括接收单元、处理单元、确定单元,这些单元可以执行上述方法示例中相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第三方面,本申请实施例还提供了一种桌面云控制器,该桌面云控制器具有实现上述第一方面方法示例中桌面云控制器行为的功能。所述功能可以通过硬件实现。所述桌面云控制器的结构中包括通信接口、处理器、总线以及存储器,其中,所述处理器以及所述存储器通过所述总线连接;处理器调用存储在所述存储器中的指令执行如下处理:通过所述通信接口接收来自桌面云客户端的访问请求,在所述目标计算节点部署有目标虚拟接入网关时,指示所述桌面云客户端通过所述目标虚拟接入网关与所述目标虚拟机建立通信。
当处理器在确定所述目标计算节点上不存在目标虚拟接入网关时,处理器就利用现有的负载均衡算法从虚拟接入网关集群中确定一个目标虚拟接入网关。这样做,桌面云控制器可以做到尽可能地选择与客户端访问的虚拟机共计算节点的虚拟接入网关。因此可以最大化地避免VM跨服务器(即跨计算节点)通信,有利于降低东西方向的网络流量。再者,因为客户端访问的虚拟机与虚拟接入网关在同一个计算节点上,即便该虚拟接入网关所在计算节点发生故障,也不会影响到其它计算节点。
具体地,处理器先对计算节点上的虚拟接入网关进行部署,部署的规则是每个计算节点上至少部署有一个虚拟接入网关。
在一种可能的设计中,所述处理器还用于:根据所述访问请求指定的所述目标虚拟机,确定所述目标虚拟机所在的目标计算节点;确定多个虚拟接入网关所在的多个计算节点;
在所述多个计算节点包括所述目标计算节点时,确定所述目标计算节点部署的所述目标虚拟接入网关。
在一种可能的设计中,所述处理器还用于:根据所述访问请求指定的所述目标虚拟机,确定所述目标虚拟机所在的目标计算节点;
从多个第一映射关系中查找出所述目标计算节点部署的所述目标虚拟接入网关,所述多个第一映射关系记录多个虚拟接入网关与部署所述多个虚拟接入网关的多个计算节点,所述多个第一映射关系中的一个映射关系记录所述目标虚拟接入网关与部署所述目标虚拟接入网关的所述目标计算节点。
在一种可能的设计中,所述处理器还用于:从多个第二映射关系中查找出所述目标虚拟机对应的所述目标虚拟接入网关,在所述多个第二映射关系中多个虚拟机对应多个虚拟接入网关,所述多个第二映射关系中相互对应的虚拟机与虚拟接入网关部署在同一计算节点,在所述多个第二映射关系中的一个映射关系中所述目标虚拟机对应所述目标虚拟接入网关。
第四方面,本申请还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机可实现第一方面或上述第一方面的任意一种设计提供的方法。
第五方面,本申请还提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述各方面或各种可能的实现方式所述的数据包发送方法。
本申请中,本申请实施例所提供的访问方法可以最大化地避免VM跨服务器通信,有利于降低东西方向的网络流量,这样,如果客户端访问的虚拟机与虚拟接入网关在同一个计算节点上,即便该虚拟接入网关所在计算节点发生故障,也不会影响到其它计算节点。
附图说明
图1为本申请实施例提供的一种桌面云访问系统架构示意图一;
图2为本申请实施例提供的一种访问桌面云虚拟机的方法流程示意图;
图3为本申请实施例提供的桌面云访问系统架构示意图二;
图4为本申请实施例提供的一种访问桌面云虚拟机的装置的结构示意图;
图5为本申请实施例提供的桌面云控制器的结构示意图。
具体实施方式
下面将结合附图对本申请作进一步地详细描述。
本申请中的访问桌面云虚拟机可适用于多种系统架构,图1为本申请适用的一种系统架构示意图,包括:客户端101、网络102、远程桌面协议103、计算节点104、虚拟机105、桌面云控制器106、虚拟接入网关107、虚拟交换机108。
其中,图中左侧是虚拟桌面的客户端,通常称为瘦客户端,客户端的设备形式可以是普通计算机101a、平板电脑101b、智能手机101c等。瘦客户端通过网络102使用远程桌面协议103访问远程桌面服务。计算节点104a至计算节点104n提供了远程桌面的载体,用户的虚拟桌面(Virtual Desktop)以虚拟机(virtual machine,VM)105a、VM 105b直至VM 105n的形式存在于计算节点104a至计算节点104n上。
另外,桌面云控制器106,用于提供用户与虚拟机的映射关系(通过用户名查找虚拟机实例,也就是用户登录后,会从桌面云控制器获取此用户相关的虚拟机实例信息)。客户端首先连接到桌面云控制器106,获取用户的虚拟机地址,进而连接到虚拟机。桌面云控制器106可以为服务器,也可以为个人计算机等,桌面云控制器106还可以为VM,本申请实施例对此不作具体限定。用户通过客户端访问分配给该用户的虚拟机(即虚拟桌面),该虚拟机将用户访问的内容通过远程桌面协议传输到用户的客户端进行显示。
图1中的虚拟接入网关107(Virtual Access Gate,VAG)位于计算节点中,每一个计算节点可以容纳一个或多个VAG,作用在于连通用户接入网络和业务网络,对客户端的接入进行加密保护,提高系统的安全性。具体来说,一方面,客户端通过VAG访问桌面云系统的数据流都会进行安全套接层(secure sockets layer,SSL)加密,这样可以提升系统的安全性。另一方面,客户端101连接的是虚拟接入网关107上的IP地址,虚拟桌面的IP地址就不需要暴露给客户端101。这样,就可以将虚拟桌面的IP地址段与客户端的IP地址段分开建设,进行隔离,提升虚拟桌面数据区的安全性。
图1中的虚拟交换机(Virtual Switch)108位于计算节点中,每一个计算节点可以容纳一个或多个虚拟交换机。虚拟交换机以及虚拟机被创建并且运行在每个服务器上的虚拟层,虚拟层实现服务器上物理资源的虚拟化以及调度,供一个或者多个虚拟机使用。每个虚拟交换机采用运行在计算节点的软件来实现。虚拟交换机108可以实现计算节点中的多个虚拟机之间的通信。
现有技术在桌面云系统实际部署中,因单个VAG本身处理能力存在瓶颈,所支撑的虚拟桌面个数有限,通常需要部署多台VAG组成集群,但是目前VAG集群部署方式比较随意,VAG与虚拟桌面VM可能共主机部署,也可能不共主机部署,再结合当前对VAG集群是基于轮询、加权轮询、随机、最小连接或源地散列等通用算法的负载均衡技术,所以在工作的过程中易导致如下问题:
1、因VAG集群使用通用的负载均衡技术,虽然能达到一定的负载均衡效果,但会出现VAG与大量VM跨服务器(即计算节点)通信,造成东西方向网络流量大,再加上本身南北方向网络流量大,两者流量叠加一起,其VAG所在服务器物理网卡易成为瓶颈,其VAG本身对外提供的能力也会因此大打折扣。
2、VAG所在服务器故障,影响范围相对较广且不可控,不但VAG及其所在服务器上的VM因服务器故障全挂掉,还影响到其它服务器上正依赖于此VAG对外提供服务的虚拟桌面。
3、采用升级VAG所在服务器的硬件配置等方式来应对服务器物理网卡瓶颈问题,如把服务器GE网卡换成10GE网卡,启用SRIOV特性等,这些需要改造或者新建环境,其部署复杂、成本也会上升不少,而且还没有充分挖掘利用原有普通服务器的效能。
基于上述原因,本申请实施例提供一种访问桌面云虚拟机的方法,该方法由桌面云控制器执行,具体步骤如图2所示。
步骤201,桌面云控制器接收来自桌面云客户端的访问请求,所述访问请求指定的目标虚拟机部署在目标计算节点上。
步骤202,在所述目标计算节点部署有目标虚拟接入网关时,桌面云控制器指示所述桌面云客户端通过所述目标虚拟接入网关与所述目标虚拟机建立通信。
也就是说,桌面云控制器先解析客户端发来的访问请求,解析得到访问请求中的目标虚拟机信息,先判断目标虚拟机所在的计算节点上是否存在虚拟接入网关,当存在时,桌面云控制器就把虚拟接入网关的信息发送至客户端,客户端利用该虚拟接入网关访问虚拟机;当不存在时,桌面云控制器就利用现有的负载均衡算法从虚拟接入网关集群中确定一个目标虚拟接入网关。这样做,桌面云控制器可以做到尽可能地选择与客户端访问的虚拟机共计算节点的虚拟接入网关。因此可以最大化地避免VM跨服务器(即计算节点)通信,有利于降低东西方向的网络流量。再者,因为客户端访问的虚拟机与虚拟接入网关在同一个计算节点上,即便该虚拟接入网关所在计算节点发生故障,也不会影响到其它计算节点。
可选地,在执行上述步骤之前,本申请实施例先对VAG集群中的VAG进行部署,部署遵循的原则是:每个计算节点上部署至少一个虚拟接入网关,也就是说尽可能将不同的虚拟接入网关分布在不同的计算节点上。当在创建出所有VAG实例后,虚拟化平台有反亲和机制,就用此机制来自动调度,确保不同VAG实例分布在不同计算节点上;虚拟化平台没有反亲和机制,则需人工指定不同VAG实例运行在不同计算节点上。
举例来说,假设计算节点运行VAG及VM这些实例;另外假设VAG实例的个数为M,计算节点的个数为N。M可能大于N,也能小于或者等于N,分如下三个场景分别说明。
场景一、如果M等于N,配置时只需要分别将每个VAG分配至各个计算节点即可。
场景二、如果M小于N但是与N比较接近,则只有少数几个没有VAG的计算节点上的VM,与其它VAG(注意:不是一个VAG承担了没有VAG的计算节点的VM,是多个VAG分担了没有VAG的计算节点的VM)存在跨服务器通信的现象。
场景三、如果M远小于N,配置时在考虑计算节点负载能力的情况下,优先在有VAG的计算节点上运行VM。
因此,为了确保每个VAG实例运行在不同计算节点上,通常较优的规划部署方式是使M与N相等或者比较接近。
当完成上述部署之后,桌面云控制器收到访问请求,先根据访问请求指定的目标虚拟机,确定该目标虚拟机所在的目标计算节点,然后桌面云控制器就可以从配置完成的虚拟接入网关集群中选择一个作为目标接入网关。
针对不同情况可以采用不同的方法,具体来说,第一方面,当可以根据虚拟化平台接口得到VM实例运行所在的计算节点的信息时,就可以先确定多个虚拟接入网关所在的多个计算节点的信息,当这些计算节点包括所述目标计算节点时,就可以将目标计算节点上的虚拟接入网关作为目标虚拟接入网关。当然,目标计算节点上有多个虚拟接入网关时,采用通用的负载均衡算法,从这几个虚拟接入网关中进行挑选即可。
第二方面,如果虚拟化云平台不具备上述接口,则无法获取虚拟接入网关所在的计算节点的信息,这时可以预先配置多个第一映射关系,这些第一映射关系记录了各个计算节点和各个VAG的对应关系,任意一个第一映射关系反映了该计算节点以及与该计算节点关联的VAG,如图3所示,例如多个第一映射关系可以是VAG1和计算节点1的第一映射关系、VAG2和计算节点2的第一映射关系、VAG3和计算节点3的第一映射关系,以及VAGn和计算节点n的第一映射关系。所以说这n个第一映射关系反映了计算节点1至计算节点n和VAG1至VAGn的对应关系。这样,桌面云控制器就可以先根据所述访问请求中所指定的目标虚拟机,确定出目标虚拟机所在的目标计算节点;然后从该目标计算节点的第一映射关系中查找出该目标计算节点部署的目标虚拟接入网关。
第三方面,如果虚拟化云平台不具备上述接口,那么也可以预先配置多个第二映射关系,这些第二映射关系记录了各个VM和各个VAG的对应关系,任意一个第二映射关系反映了该VM所关联的VAG,如图3所示,例如多个第二映射关系可以是VM1、VM2与VAG1的第二映射关系、VM3、VM4与VAG2的第二映射关系、VM5、VM6与VAG3的第二映射关系等等,所以说这些第二映射关系反映了VAG1至VAGn和VM1至VMn之间的对应关系。这样,桌面云控制器就可以直接查找出所述目标虚拟机对应的虚拟接入网关,将查找确定的虚拟接入网关作为目标虚拟接入网关。
举例来说,如图3所示,假设用户操作客户端,选择登录自身注册登记的虚拟桌面2,也就是说VM2,这时客户端向桌面云控制器发送访问请求,该访问请求包含VM2这一信息,然后桌面云控制器就可以采用上述方法确定VAG,例如先确定VM2所在的计算节点的ID为1,再利用接口获取所有正常使用的VAG所在的计算节点的ID,因为VAG1所在的计算节点的ID与VM2所在的计算节点的ID相同,所以就确定VAG1为目标虚拟接入网关,桌面云控制器将VAG1的连接参数信息反馈至客户端,从而客户端就可以通过VAG1访问计算节点1中的VM2。
当然,如果没有接口的话,桌面云控制器就可以先确定VM2所在的计算节点的ID为1,然后查询预先建立的计算节点1与计算节点1中的VAG的第一映射关系,进而确定出VAG1为目标虚拟接入网关。又或者是,桌面云控制器直接查询VM与VAG的第二映射关系,找到与VM2对应的VAG1,确定VAG1为目标虚拟接入网关。
由此可见,当员工通过客户端选择登录某个虚拟桌面后,会触发桌面云控制器与接入和访问控制层进行交互,按照设定的规则确定出的VAG实例。然后桌面云控制器把该VAG地址、以及所要使用的虚拟桌面实例等信息传给客户端,客户端会提取此VAG地址,并使用远程桌面协议(如HDP桌面协议)与该VAG进行连接通信。待连接成功后,会与用户登录的虚拟机建立连接交互,最终实现客户端通过该VAG实例来访问VM的目的。本申请实施例所提供的访问方法可以最大化地避免VM跨服务器通信,有利于降低东西方向的网络流量,这样,如果客户端访问的虚拟机与虚拟接入网关在同一个计算节点上,即便该虚拟接入网关所在计算节点发生故障,也不会影响到其它计算节点。
针对上述方法流程,本申请提供一种访问桌面云虚拟机的装置,该装置可以集成于桌面控制器中,具体执行内容可参照上述方法实施,图4为本申请实施例提供的一种访问桌面云虚拟机的装置的结构示意图,所述装置包括:接收单元401、处理单元402、确定单元403,其中:
接收单元401,用于接收来自桌面云客户端的访问请求,所述访问请求指定的目标虚拟机部署在目标计算节点上;
处理单元402,用于在所述目标计算节点部署有目标虚拟接入网关时,指示所述桌面云客户端通过所述目标虚拟接入网关与所述目标虚拟机建立通信。
在接收单元401接收来自桌面云客户端的访问请求之前,需要对虚拟访问网关进行部署,部署的原则的是各个目标计算节点部署有至少一个虚拟接入网关。
在一种可能的设计中,所述装置还包括:
确定单元403,用于根据所述访问请求指定的所述目标虚拟机,确定所述目标虚拟机所在的目标计算节点;确定多个虚拟接入网关所在的多个计算节点;并在所述多个计算节点包括所述目标计算节点时,确定所述目标计算节点部署的所述目标虚拟接入网关。当然,如果该目标计算节点上部署多个虚拟接入网关,则尽可能选择未被使用的虚拟接入网关。
在另一种可能的设计中,确定单元403,用于根据所述访问请求指定的所述目标虚拟机,确定所述目标虚拟机所在的目标计算节点;从多个第一映射关系中查找出所述目标计算节点部署的所述目标虚拟接入网关,所述多个第一映射关系记录多个虚拟接入网关与部署所述多个虚拟接入网关的多个计算节点,所述多个第一映射关系中的一个映射关系记录所述目标虚拟接入网关与部署所述目标虚拟接入网关的所述目标计算节点。
又或者,在其它可能的设计中,确定单元403,用于从多个第二映射关系中查找出所述目标虚拟机对应的所述目标虚拟接入网关,在所述多个第二映射关系中多个虚拟机对应多个虚拟接入网关,所述多个第二映射关系中相互对应的虚拟机与虚拟接入网关部署在同一计算节点,在所述多个第二映射关系中的一个映射关系中所述目标虚拟机对应所述目标虚拟接入网关。
另外,在所述目标计算节点没有部署虚拟接入网关时,确定单元403,用于根据负载均衡算法从多个虚拟接入网关中确定出目标虚拟接入网关。
图5为本申请实施例提供的桌面云控制器的结构示意图,所述网络设备包括:通信接口501、处理器502、存储器503和总线系统504;
其中,存储器503,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器503可能为随机存取存储器(random-access memory,RAM),也可能为非易失性存储器(non-volatile memory,NVM),例如至少一个磁盘存储器。图中仅示出了一个存储器,当然,存储器也可以根据需要,设置为多个。存储器503也可以是处理器502中的存储器。
存储器503存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
处理器502控制桌面云控制器500的操作,处理器502还可以称为中央处理单元(英文:central processing unit,CPU)。具体的应用中,桌面云控制器500的各个组件通过总线系统504耦合在一起,其中总线系统504除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统504。为便于表示,图5中仅是示意性画出。
上述本申请实施例揭示的方法可以应用于处理器502中,或者由处理器502实现。处理器502可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器502中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器502可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器503,处理器502读取存储器503中的信息,结合其硬件执行以上方法步骤。
从上述内容,可以看出,本申请实施例提供的访问桌面云虚拟机的方法可以最大化地避免VM跨服务器通信,有利于降低东西方向的网络流量,这样,如果客户端访问的虚拟机与虚拟接入网关在同一个计算节点上,即便该虚拟接入网关所在计算节点发生故障,也不会影响到其它计算节点。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机可实现上述的访问桌面云虚拟机的方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,计算机可实现上述的访问桌面云虚拟机的方法。
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (14)

1.一种访问桌面云虚拟机的方法,其特征在于,该方法包括:
接收来自桌面云客户端的访问请求,所述访问请求指定的目标虚拟机部署在目标计算节点上;
从多个第二映射关系中查找出所述目标虚拟机对应的目标虚拟接入网关,在所述多个第二映射关系中多个虚拟机对应多个虚拟接入网关,所述多个第二映射关系中相互对应的虚拟机与虚拟接入网关部署在同一计算节点,在所述多个第二映射关系中的一个映射关系中所述目标虚拟机对应所述目标虚拟接入网关;
在所述目标计算节点部署有目标虚拟接入网关时,指示所述桌面云客户端通过所述目标虚拟接入网关与所述目标虚拟机建立通信。
2.根据权利要求1所述的方法,其特征在于,在指示所述桌面云客户端通过所述目标虚拟接入网关与所述目标虚拟机建立通信之前,所述方法还包括:
根据所述访问请求指定的所述目标虚拟机,确定所述目标虚拟机所在的目标计算节点;
确定多个虚拟接入网关所在的多个计算节点;
在所述多个计算节点包括所述目标计算节点时,确定所述目标计算节点部署的所述目标虚拟接入网关。
3.根据权利要求1所述的方法,其特征在于,在指示所述桌面云客户端通过所述目标虚拟接入网关与所述目标虚拟机建立通信之前,所述方法还包括:
根据所述访问请求指定的所述目标虚拟机,确定所述目标虚拟机所在的目标计算节点;
从多个第一映射关系中查找出所述目标计算节点部署的所述目标虚拟接入网关,所述多个第一映射关系记录多个虚拟接入网关与部署所述多个虚拟接入网关的多个计算节点,所述多个第一映射关系中的一个映射关系记录所述目标虚拟接入网关与部署所述目标虚拟接入网关的所述目标计算节点。
4.根据权利要求1至3任一项所述的方法,其特征在于,该方法还包括:
在所述目标计算节点没有部署虚拟接入网关时,根据负载均衡算法从多个虚拟接入网关中确定出目标虚拟接入网关。
5.根据权利要求1至3任一项所述的方法,其特征在于,多个虚拟接入网关中的不同虚拟接入网关部署在不同计算节点上,所述多个虚拟接入网关包括所述目标虚拟接入网关,所述目标虚拟接入网关部署在所述目标计算节点上。
6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
从虚拟接入网关集群确定所述目标计算节点部署有至少一个虚拟接入网关,所述虚拟接入网关集群包括的多个虚拟接入网关部署在至少一个计算节点上,所述至少一个计算节点包括所述目标计算节点;
从所述至少一个虚拟接入网关中确定一个虚拟接入网关为所述目标虚拟接入网关。
7.一种访问桌面云虚拟机的装置,其特征在于,该装置包括:
接收单元,用于接收来自桌面云客户端的访问请求,所述访问请求指定的目标虚拟机部署在目标计算节点上;
确定单元,用于从多个第二映射关系中查找出所述目标虚拟机对应的目标虚拟接入网关,在所述多个第二映射关系中多个虚拟机对应多个虚拟接入网关,所述多个第二映射关系中相互对应的虚拟机与虚拟接入网关部署在同一计算节点,在所述多个第二映射关系中的一个映射关系中所述目标虚拟机对应所述目标虚拟接入网关;
处理单元,用于在所述目标计算节点部署有目标虚拟接入网关时,指示所述桌面云客户端通过所述目标虚拟接入网关与所述目标虚拟机建立通信。
8.根据权利要求7所述的装置,其特征在于,
所述确定单元,还用于根据所述访问请求指定的所述目标虚拟机,确定所述目标虚拟机所在的目标计算节点;确定多个虚拟接入网关所在的多个计算节点;并在所述多个计算节点包括所述目标计算节点时,确定所述目标计算节点部署的所述目标虚拟接入网关。
9.根据权利要求7所述的装置,其特征在于,
所述确定单元,还用于根据所述访问请求指定的所述目标虚拟机,确定所述目标虚拟机所在的目标计算节点;从多个第一映射关系中查找出所述目标计算节点部署的所述目标虚拟接入网关,所述多个第一映射关系记录多个虚拟接入网关与部署所述多个虚拟接入网关的多个计算节点,所述多个第一映射关系中的一个映射关系记录所述目标虚拟接入网关与部署所述目标虚拟接入网关的所述目标计算节点。
10.根据权利要求7至9任一项所述的装置,其特征在于,
所述确定单元,还用于在所述目标计算节点没有部署虚拟接入网关时,根据负载均衡算法从多个虚拟接入网关中确定出目标虚拟接入网关。
11.根据权利要求7至9任一项所述的装置,其特征在于,多个虚拟接入网关中的不同虚拟接入网关部署在不同计算节点上,所述多个虚拟接入网关包括所述目标虚拟接入网关,所述目标虚拟接入网关部署在所述目标计算节点上。
12.根据权利要求7或8所述的装置,其特征在于,
所述确定单元,还用于从虚拟接入网关集群确定所述目标计算节点部署有至少一个虚拟接入网关,所述虚拟接入网关集群包括的多个虚拟接入网关部署在至少一个计算节点上,所述至少一个计算节点包括所述目标计算节点;从所述至少一个虚拟接入网关中确定一个虚拟接入网关为所述目标虚拟接入网关。
13.一种桌面云控制器,其特征在于,包括处理器以及存储器;
所述处理器执行在所述存储器中存储的指令,使得桌面云控制器执行权利要求1至6任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求1至6任意一项所述的方法。
CN201710765533.2A 2017-08-30 2017-08-30 一种访问桌面云虚拟机的方法、装置及桌面云控制器 Active CN107707622B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710765533.2A CN107707622B (zh) 2017-08-30 2017-08-30 一种访问桌面云虚拟机的方法、装置及桌面云控制器
PCT/CN2018/076902 WO2019041765A1 (zh) 2017-08-30 2018-02-14 一种访问桌面云虚拟机的方法、装置及桌面云控制器
US16/805,255 US11294735B2 (en) 2017-08-30 2020-02-28 Method and apparatus for accessing desktop cloud virtual machine, and desktop cloud controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710765533.2A CN107707622B (zh) 2017-08-30 2017-08-30 一种访问桌面云虚拟机的方法、装置及桌面云控制器

Publications (2)

Publication Number Publication Date
CN107707622A CN107707622A (zh) 2018-02-16
CN107707622B true CN107707622B (zh) 2020-11-17

Family

ID=61171251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710765533.2A Active CN107707622B (zh) 2017-08-30 2017-08-30 一种访问桌面云虚拟机的方法、装置及桌面云控制器

Country Status (3)

Country Link
US (1) US11294735B2 (zh)
CN (1) CN107707622B (zh)
WO (1) WO2019041765A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109067564B (zh) * 2018-06-28 2019-10-01 星环信息科技(上海)有限公司 分布式处理方法、装置、计算机设备及存储介质
CN109343928B (zh) * 2018-08-28 2022-02-08 广东微云科技股份有限公司 虚拟化集群中虚拟机的虚拟内存文件重定向方法及其系统
CN109450713B (zh) * 2018-12-25 2020-02-21 无锡华云数据技术服务有限公司 基于网关的虚拟化平台和云平台纳管方法、设备、介质
CN111917810B (zh) * 2019-05-09 2022-09-23 Oppo广东移动通信有限公司 一种云通信方法及装置、用户设备、网络设备
EP4206916A4 (en) * 2020-09-29 2024-02-21 Huawei Cloud Computing Technologies Co., Ltd. DESKTOP CLOUD SYSTEM AND ASSOCIATED METHOD, APPARATUS, APPARATUS AND MEDIUM
CN112311855B (zh) * 2020-09-30 2022-07-12 新华三大数据技术有限公司 一种数据传输方法及装置
CN114697266A (zh) * 2020-12-31 2022-07-01 中兴通讯股份有限公司 一种虚拟机接入方法、终端及存储介质
CN113805952B (zh) * 2021-09-17 2023-10-31 中国联合网络通信集团有限公司 外设虚拟化管理方法、服务器和系统
CN114285842A (zh) * 2021-12-09 2022-04-05 华特数字科技有限公司 一种基于云桌面的电子阅览室搭建方法及系统
CN114598700B (zh) * 2022-01-25 2024-03-29 阿里巴巴(中国)有限公司 通信方法及通信系统
CN114915420B (zh) * 2022-03-03 2024-04-26 阿里巴巴(中国)有限公司 用于云桌面的通信方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651743A (zh) * 2009-09-10 2010-02-17 华耀环宇科技(北京)有限公司 一种面向手机终端用户的远程桌面接入系统
CN102404316A (zh) * 2011-10-30 2012-04-04 北京方物软件有限公司 一种应用虚拟化的接入控制方法及装置
WO2013056228A1 (en) * 2011-10-13 2013-04-18 Citrix Systems, Inc. System and method for a distributed virtual desktop infrastructure
CN103220359A (zh) * 2013-04-23 2013-07-24 深圳市京华科讯科技有限公司 桌面一体机管理系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10193864B2 (en) * 2014-09-19 2019-01-29 Comcast Cable Communications, Llc Cloud interface for use of cloud services

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651743A (zh) * 2009-09-10 2010-02-17 华耀环宇科技(北京)有限公司 一种面向手机终端用户的远程桌面接入系统
WO2013056228A1 (en) * 2011-10-13 2013-04-18 Citrix Systems, Inc. System and method for a distributed virtual desktop infrastructure
CN102404316A (zh) * 2011-10-30 2012-04-04 北京方物软件有限公司 一种应用虚拟化的接入控制方法及装置
CN103220359A (zh) * 2013-04-23 2013-07-24 深圳市京华科讯科技有限公司 桌面一体机管理系统及方法

Also Published As

Publication number Publication date
WO2019041765A1 (zh) 2019-03-07
US20200201686A1 (en) 2020-06-25
US11294735B2 (en) 2022-04-05
CN107707622A (zh) 2018-02-16

Similar Documents

Publication Publication Date Title
CN107707622B (zh) 一种访问桌面云虚拟机的方法、装置及桌面云控制器
US10050850B2 (en) Rack awareness data storage in a cluster of host computing devices
US10320674B2 (en) Independent network interfaces for virtual network environments
CN107078969B (zh) 实现负载均衡的计算机设备、系统和方法
US10013189B1 (en) Storage volume backup management for multi-tenant environments
EP3432549B1 (en) Method and apparatus for processing user requests
EP3343364B1 (en) Accelerator virtualization method and apparatus, and centralized resource manager
US10095536B2 (en) Migration of virtual machines with shared memory
US20070028239A1 (en) Dynamic performance management for virtual servers
EP3857364A1 (en) Multi-tenant support on virtual machines in cloud computing networks
US8621081B2 (en) Hypervisor controlled user device that enables available user device resources to be used for cloud computing
US10083098B1 (en) Network function virtualization (NFV) virtual network function (VNF) crash recovery
US20130254762A1 (en) Providing redundant virtual machines in a cloud computing environment
CN107818104B (zh) 一种数据库部署方法、数据库部署装置、控制设备及系统
EP4184323A1 (en) Performance tuning in a network system
US10560535B2 (en) System and method for live migration of remote desktop session host sessions without data loss
US20120198542A1 (en) Shared Security Device
US11301278B2 (en) Packet handling based on multiprocessor architecture configuration
CN107547258B (zh) 一种网络策略的实现方法和装置
US8898314B2 (en) Direct communication between applications in a cloud computing environment
US20150039768A1 (en) Virtualization of management services in a cloud computing environmemt
US20200225972A1 (en) Autonomously reproducing and destructing virtual machines
US9559865B2 (en) Virtual network device in a cloud computing environment
CN111262771A (zh) 虚拟私有云通信系统、系统配置方法及控制器
US20150134941A1 (en) Control center deployment method for cloud-based system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220216

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.