WO2024093328A1 - 一种虚拟桌面连接方法及装置 - Google Patents

一种虚拟桌面连接方法及装置 Download PDF

Info

Publication number
WO2024093328A1
WO2024093328A1 PCT/CN2023/105182 CN2023105182W WO2024093328A1 WO 2024093328 A1 WO2024093328 A1 WO 2024093328A1 CN 2023105182 W CN2023105182 W CN 2023105182W WO 2024093328 A1 WO2024093328 A1 WO 2024093328A1
Authority
WO
WIPO (PCT)
Prior art keywords
host
virtual desktop
information
connection
client
Prior art date
Application number
PCT/CN2023/105182
Other languages
English (en)
French (fr)
Inventor
关勇
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2024093328A1 publication Critical patent/WO2024093328A1/zh

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/451Execution arrangements for user interfaces
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Definitions

  • the present disclosure relates to the field of cloud computing, and in particular to a virtual desktop connection method and device.
  • Cloud desktop is a cloud computing method that places computing and storage in the cloud through transmission protocols to provide virtual desktop services. Users can access the virtual desktop locally using a client.
  • the cloud platform environment is divided into management nodes and computing nodes.
  • the management node is responsible for the scheduling and management of the entire virtual desktop system, such as registering new virtual desktops and pointing to available virtual desktops based on client connection requests. Users complete authentication by interacting with the authentication module and obtain authorized desktops.
  • the management node In actual production activities, even if the management node is set as a master-slave redundant system, there is still a risk of failure.
  • the management node fails, even if the computing node of the existing virtual desktop is normal and the desktop virtual machine used by the user is normal, the client system used by the user can no longer interact with the management node, resulting in the inability to obtain the user's desktop configuration information. Once the virtual desktop is logged out, it cannot be logged in again.
  • the existing virtual desktop emergency connection solution is to enable the emergency solution when the management node fails and the authentication verification information returns a timeout.
  • the client reads the local cache configuration information of the last successful connection.
  • the configuration information records the host address, port and protocol information of the virtual desktop where the last successful connection is located.
  • the client uses a master key for authentication, so that it can successfully connect to the desktop system on the server.
  • the emergency connection scheme in the prior art still has many defects.
  • the cached configuration information is lagging. Once the operation and maintenance personnel maintain the virtual machine, the existing state of the virtual machine changes, such as the host is migrated, the virtual machine is shut down, etc., and the existing cached information cannot be used to successfully connect to the desktop.
  • the embodiments of the present disclosure provide a virtual desktop connection method and device to at least solve the problem in the related art that when the state of a virtual machine changes, the virtual desktop cannot be successfully connected using existing cache information.
  • a virtual desktop connection method comprising:
  • connection with the virtual desktop fails according to the first connection request, obtaining information of a second host where the virtual desktop is currently located through a remote dictionary service (Remote Dictionary Server, Redis for short) cluster;
  • remote dictionary service Remote Dictionary Server, Redis for short
  • the information of the second host is sent to the client, wherein the information of the second host is used to instruct the client to establish a connection with the virtual desktop through the second host.
  • a virtual desktop connection device comprising:
  • a first receiving module configured to receive a first connection request for connecting to a virtual desktop sent by a client, wherein the first connection request is sent by the client according to cached configuration information
  • a first acquisition module is configured to acquire information of a second host where the virtual desktop is currently located through a remote dictionary service Redis cluster when a connection with the virtual desktop fails according to the first connection request;
  • the first sending module is configured to send information about the second host to the client, wherein the information about the second host is used to instruct the client to establish a connection with the virtual desktop through the second host.
  • a computer-readable storage medium in which a computer program is stored.
  • the computer program is executed by a processor, the steps in any one of the above method embodiments are executed.
  • an electronic device including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
  • FIG1 is a hardware structure block diagram of a virtual desktop connection method according to an embodiment of the present disclosure
  • FIG2 is a flow chart of a virtual desktop connection method according to an embodiment of the present disclosure
  • FIG3 is a framework diagram of a cloud desktop system according to an embodiment of the present disclosure.
  • FIG4 is a flowchart of a virtual desktop connection method according to another embodiment of the present disclosure.
  • FIG. 5 is a flowchart of a virtual desktop connection method according to another embodiment of the present disclosure.
  • FIG6 is a block diagram of a virtual desktop connection device according to an embodiment of the present disclosure.
  • FIG. 7 is a block diagram of a virtual desktop connection system according to another embodiment of the present disclosure.
  • FIG1 is a hardware structure block diagram of the virtual desktop connection method of the embodiment of the present disclosure.
  • the hardware board may include one or more (only one is shown in FIG1 ) processors 102 (the processor 102 may include but is not limited to a microprocessor (Microcontroller Unit, referred to as MCU) or a processing device such as a programmable logic device) and a memory 104 for storing data, wherein the above-mentioned mobile terminal may also include a transmission device 106 and an input and output device 108 for communication functions.
  • MCU microprocessor
  • MCU Microcontroller Unit
  • a processing device such as a programmable logic device
  • FIG1 is only for illustration and does not limit the structure of the above-mentioned mobile terminal.
  • the mobile terminal may also include more or fewer components than those shown in FIG1 , or have a configuration different from that shown in FIG1 .
  • the memory 104 may be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the virtual desktop connection method in the embodiment of the present disclosure.
  • the processor 102 executes various functional applications and virtual desktop connections by running the computer programs stored in the memory 104, that is, implements the above method.
  • the memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory.
  • the memory 104 may further include a memory remotely located relative to the processor 102, and these remote memories may be connected to the mobile terminal via a network. Examples of the above-mentioned network include but are not limited to: Limited to the Internet, corporate intranet, local area network, mobile communication network and their combination.
  • the transmission device 106 is used to receive or send data via a network.
  • the specific example of the above network may include a wireless network provided by a communication provider.
  • the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet.
  • the transmission device 106 can be a radio frequency (Radio Frequency, referred to as RF) module, which is used to communicate with the Internet wirelessly.
  • RF Radio Frequency
  • FIG. 2 is a flow chart of the virtual desktop connection method according to an embodiment of the present disclosure. As shown in FIG. 2 , the flow chart includes the following steps:
  • Step S202 receiving a first connection request for connecting to a virtual desktop sent by a client, wherein the first connection request is sent by the client according to cached configuration information;
  • Step S204 when the connection with the virtual desktop fails according to the first connection request, obtaining information of the second host where the virtual desktop is currently located through the remote dictionary service Redis cluster;
  • Step S206 Send the information of the second host to the client, wherein the information of the second host is used to instruct the client to establish a connection with the virtual desktop through the second host.
  • the remote dictionary service (Remote Dictionary Server, Redis for short) cluster in the above step S204 is an open source, high-availability distributed storage library.
  • step S204 may specifically include the following steps:
  • Step S2042 obtaining status information of the virtual desktop through the Redis cluster
  • Step S2044 when the status information is the power-on status, obtaining information of the second host where the virtual desktop is currently located;
  • Step S2046 When the status information is in a closed state, a host is selected as a second host according to the startup request sent by the client, and the information of the second host is obtained.
  • a host is selected as the second host according to the startup request sent by the client, which may specifically include: sending status information to the client; receiving the startup request sent by the client according to the status information; based on the load balancing strategy, selecting a host from the resource pool as the second host according to the startup request.
  • the method after selecting a host as the second host according to the startup request sent by the client, the method also includes: notifying the second host to start the virtual desktop; after the second host starts the virtual desktop, updating the information of the second host where the virtual desktop is currently located in the Redis cluster.
  • the client fails to connect to the virtual desktop.
  • One is that the host is migrated, but the virtual desktop is still powered on, and the information of the migrated second host can be directly obtained through the Redis cluster; the other is that the virtual desktop is shut down.
  • the client when the virtual desktop is in a closed state, the client will send a startup request to the first host where the virtual desktop was originally located after receiving the status information, and then select a new host to start the virtual desktop.
  • the startup request may include the universally unique identifier (UUID) and port of the virtual desktop.
  • the Redis cluster in the above step S204 is used to perform incremental synchronization of management data when the management node is normal and the management data of the virtual desktop in the management node changes; when the management node fails or restarts, the management data is fully synchronized, wherein the management node is used to schedule and manage virtual desktops and store management data, and the management data includes information about the second host where the virtual desktop is located and status information of the virtual desktop.
  • the Redis cluster is deployed in a master-slave mode, where the Redis The master service (Master) and slave service (Slave) of the cluster are deployed on different hosts.
  • Master master service
  • Slave slave service
  • the Redis cluster can also be deployed redundantly, deploying the master service and slave service of two different Redis clusters on the same node, thereby improving the reliability of the entire system.
  • the method may further include the following steps:
  • Step S2022 Requesting to establish a connection with the virtual desktop according to the first connection request, wherein the first connection request carries information of the first host and information of the virtual desktop;
  • Step S2024 if no connection response is received within the preset time period, it is determined that the connection with the virtual desktop is unsuccessful, and a new request is made to establish a connection with the virtual desktop;
  • Step S2026 If the connection with the virtual desktop is not successful and the number of re-requests is greater than a preset number, it is determined that the connection with the virtual desktop has failed.
  • the configuration information in step S202 includes the host's Internet Protocol IP address, virtual desktop address and port, and the first connection request also carries the host's Internet Protocol IP address, virtual desktop address and port.
  • step S206 may specifically include:
  • the information of the second host is sent to the client through a connection failure message
  • the state information of the virtual desktop is a shutdown state
  • the information of the second host is sent to the client through a response message of the startup request.
  • the virtual desktop connection method further includes: in a case where the connection with the virtual desktop is successful according to the first connection request, notifying the client to update the cached configuration information.
  • the host information in the configuration information is updated to the information of the first host; when the second host is successfully connected to the virtual desktop, the host information in the configuration information is updated to the information of the second host.
  • FIG3 is a framework diagram of a cloud desktop system according to an embodiment of the present disclosure.
  • the cloud desktop system includes: a client 32 , a first host 34 and a second host 36 .
  • the client 32 is installed in the user terminal device.
  • the terminal information processing module in the client 32 interacts with the message distribution module tunnel in the host node to realize information interaction inside and outside the cloud desktop and cache the information of the most recent successful connection.
  • the cloud desktop system there are multiple computing nodes in the cloud desktop system, and a host agent module is deployed on each computing node.
  • a host agent module is deployed on each computing node.
  • only the first host 34 and the second host 36 are taken as examples, and the number of nodes is not limited.
  • a message distribution module tunnel and a host agent host are deployed on the host nodes of the first host 34 and the second host 36 , respectively, wherein the tunnel is used to interact with the terminal information processing module in the client 32 .
  • the distributed storage module redis is deployed in any host node in a master-slave device mode.
  • the distributed storage module can also interact with the host agents on other computing nodes to feedback the virtual machine status to each host agent. and host resource information.
  • the distributed storage module can also be configured using a management page, and some cloud desktop computing node hosts are selected to deploy a redis cluster. After the configuration is issued, the background uses an automated script to perform installation and deployment.
  • the redis cluster of the distributed storage module adopts a redundant deployment mode, and two redis cluster master services and slave services are started on each host.
  • the master service and slave service of the same redis cluster cannot be deployed on the same host node to prevent single point failure.
  • redis is a persistent in-memory database used to store cloud desktop management data.
  • the data storing the virtual machine status in the management node will be incrementally synchronized to the in-memory database in real time.
  • the memory library will synchronize all the data once. At this time, it can temporarily replace the management node to perform daily operations such as virtual machine login.
  • the system deployment has a high degree of automation, the deployment process is convenient and fast, the deployment method can be selected to be deployed jointly with the management center or to use another machine for deployment, the deployment structure is flexible, and new nodes of distributed storage can be integrated into the original system through the installation interface, with strong scalability.
  • FIG4 is a flowchart of a virtual desktop connection method according to another embodiment of the present disclosure, which is applied to a scenario where a management node fails, a virtual machine is powered on, and a host where the virtual machine is located sends a migration request. As shown in FIG4 , the method includes the following steps:
  • Step S401 read the virtual machine connection cache information
  • Step S402 sending a connection message (to the original host tunnel service);
  • Step S403 forwarding the connection message to the host agent
  • Step S404 query the virtual machine status, current host, and port through the Redis cluster
  • Step S405 the virtual machine is in the boot state, and the host IP and port are returned (from the Redis cluster to the host agent);
  • Step S406 the virtual machine is in the boot state, and the host IP and port are returned (from the host proxy to the tunnel service);
  • Step S407 the virtual machine is in the boot state, and the host IP and port are returned (from the tunnel service to the client);
  • Step S408 sending a new connection message (to the current host tunnel service).
  • Step S409 returning a connection success message
  • Step S410 updating the virtual machine connection cache information.
  • the management node fails, the virtual desktop is still in the power-on state, but the virtual desktop is migrated to another host.
  • the client logs in to connect to the previously cached host IP and port.
  • the client sends a connection message to the message forwarding module tunnel of the original host. Tunnel forwards the message to the host agent host. Due to the migration of the virtual machine, the connection fails.
  • the host agent host queries the current host and port information of the virtual machine in the redis cluster, and returns the new host IP and port to the client through the tunnel.
  • the client connects to the desktop through the new host IP and port, and updates the local cache after the connection is successful.
  • FIG5 is a flowchart of a virtual desktop connection method according to another embodiment of the present disclosure, which is applied to a case where a management node fails and a virtual machine is shut down. As shown in FIG5 , the method includes the following steps:
  • Step S501 read the virtual machine connection cache information
  • Step S502 sending a connection message (to the first host tunnel service);
  • Step S503 forwarding the connection message to the first host agent
  • Step S504 query the virtual machine status through the Redis cluster
  • Step S505 the virtual machine is in a closed state (from the Redis cluster to the first host agent);
  • Step S506 the virtual machine is in a closed state, and the connection fails (from the first host proxy to the first host tunnel service);
  • Step S507 the virtual machine is in a closed state, and the connection fails (from the first host tunnel service to the client);
  • Step S508 sending a startup message (to the first host tunnel service);
  • Step S509 forwarding the startup message to the first host agent
  • Step S510 selecting a suitable host to start the virtual machine (to the second host proxy) according to the load balancing algorithm
  • Step S511 updating the virtual machine status
  • Step S512 returning the host IP and port (from the second host proxy to the first host proxy);
  • Step S513 returning the host IP and port (from the first host proxy to the first host tunnel service);
  • Step S51 return the host IP and port (from the first host tunnel service to the client);
  • Step S517 updating the virtual machine connection cache information.
  • the first host is the host to which the virtual desktop was successfully connected last time, also called the original host
  • the second host is a new host selected from the resource pool to start the virtual desktop, also called the current host.
  • the client when the management node fails, the virtual machine desktop is in a shutdown state, the client connects to the cached IP and port port, and sends a connection message to the message forwarding module tunnel of the first host.
  • the virtual machine is in a shutdown state, the connection fails, and the connection failure message is returned to the client.
  • the client sends a start virtual machine message again (the startup message will carry the uuid and port of the virtual machine) to the tunnel of the first host.
  • the tunnel forwards the message to the first host agent host.
  • the first host agent interacts with the host agents of other hosts under the resource pool, selects a host (the second host) according to load balancing to start the virtual machine, updates the second host IP and port to the redis cluster, and returns it to the client.
  • the client attempts to connect to the virtual desktop through the first host/second host IP and port. If the connection is successful, the client will update the local cache information. If the connection times out, a corresponding retry count is set. If the retry count is exceeded, a connection failure message is returned to the client, and the above steps S502 to S515 are repeated until the virtual desktop is successfully connected.
  • a management node when a management node fails, regardless of whether the user is in use or about to log in, the impact on the user side is minimal.
  • the user can use the cloud desktop normally throughout the entire process, and the fault is resolved without the user being aware of it.
  • FIG6 is a block diagram of the virtual desktop connection device according to an embodiment of the present disclosure. As shown in FIG6 , the device includes:
  • a first receiving module 62 is configured to receive a first connection request sent by a client to connect to a virtual desktop, wherein the first connection request is sent by the client according to cached configuration information;
  • a first acquisition module 64 is configured to acquire information of a second host where the virtual desktop is currently located through a remote dictionary service Redis cluster when the connection with the virtual desktop fails according to the first connection request;
  • the first sending module 66 is configured to send information about the second host to the client, wherein the information about the second host is used to instruct the client to establish a connection with the virtual desktop through the second host.
  • the first acquisition module 64 includes:
  • a first acquisition unit used to acquire status information of the virtual desktop through a Redis cluster
  • the second acquisition unit is used to obtain the second host where the virtual desktop is currently located when the state information is the boot state.
  • Machine information
  • the third acquisition unit is used to select a host as a second host according to the startup request sent by the client when the state information is in a closed state, and acquire information of the second host.
  • the third acquisition unit is further used to send the status information to the client; receive the startup request sent by the client according to the status information; and select a host from the resource pool as the second host according to the startup request based on the load balancing strategy.
  • the third acquisition unit is further used to notify the second host to start the virtual desktop; after the second host starts the virtual desktop, update the information of the second host where the virtual desktop is currently located in the Redis cluster.
  • the device also includes: a connection module, configured to request to establish a connection with the virtual desktop according to a first connection request, wherein the first connection request carries information of the first host and information of the virtual desktop; if no connection response is received within a preset time period, it is determined that the connection with the virtual desktop is unsuccessful, and a request is made to establish a connection with the virtual desktop again; if the connection with the virtual desktop is unsuccessful and the number of re-requests is greater than a preset number, it is determined that the connection with the virtual desktop has failed.
  • a connection module configured to request to establish a connection with the virtual desktop according to a first connection request, wherein the first connection request carries information of the first host and information of the virtual desktop; if no connection response is received within a preset time period, it is determined that the connection with the virtual desktop is unsuccessful, and a request is made to establish a connection with the virtual desktop again; if the connection with the virtual desktop is unsuccessful and the number of re-requests is greater than a prese
  • the first sending module 66 is further configured to send the information of the second host to the client through a connection failure message when the status information of the virtual desktop is in the power-on state; and to send the information of the second host to the client through a response message of the startup request when the status information of the virtual desktop is in the power-off state.
  • the first sending module 66 is further configured to notify the client to update the cached configuration information when the connection with the virtual desktop is successful according to the first connection request.
  • a virtual desktop connection system for implementing the virtual desktop connection solution in the above embodiments.
  • FIG. 7 is a block diagram of a virtual desktop connection system according to another embodiment of the present disclosure. As shown in Figure 7, the system includes the following modules: a cloud desktop module 71, a distributed storage module 72, a message transmission and distribution module 73, a host agent module 74, and a terminal information processing module 75.
  • the cloud desktop module 71 includes a cloud desktop management center and an authentication module, which is mainly responsible for virtual machine log maintenance management, data synchronization and user login authentication.
  • the distributed storage module 72 adopts clustered redundant deployment, interacts with the management center to achieve real-time synchronization of data, and interacts with each host agent module 74 to achieve feedback of virtual machine status and host resource information.
  • the message transmission and distribution module 73 is deployed on each host computing node, interacts with the client and host agent module 74, and is responsible for the round-trip forwarding of client connection information and desktop stream transmission of the connection channel.
  • the host agent module 74 is deployed on each host computing node, and interacts with the distributed storage module 72, the message transmission and distribution module 73, and the host agent modules 74 of other nodes to complete the query of the current status of the virtual machine and the resource allocation for the virtual machine startup.
  • the terminal information processing module 75 is deployed on the terminal connected by the user, interacts with the message transmission and distribution module 73, and the client is responsible for information exchange inside and outside the cloud desktop and caches connection information.
  • the timeliness of system data synchronization is ensured through the cooperation of multiple modules.
  • the distributed storage module 72 can be used as a temporary data management center. The two systems exist concurrently to ensure the robustness of the system.
  • An embodiment of the present disclosure further provides a computer-readable storage medium, in which a computer program is stored.
  • a computer program is stored.
  • the steps of any of the above method embodiments are executed.
  • the above-mentioned computer-readable storage medium may include, but is not limited to: a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and other media that can store computer programs.
  • An embodiment of the present disclosure further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
  • the electronic device may further include a transmission device and an input/output device, wherein the transmission device is connected to the processor, and the input/output device is connected to the processor.
  • modules or steps of the present disclosure can be implemented by a general-purpose computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order than here, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. In this way, the present disclosure is not limited to any specific combination of hardware and software.

Landscapes

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

Abstract

本申请提供了一种虚拟桌面连接方法及装置。该方法包括:接收客户端发送的连接虚拟桌面的第一连接请求,其中,该第一连接请求是客户端根据缓存的配置信息发送的;在根据第一连接请求与虚拟桌面连接失败的情况下,通过远程字典服务Redis集群获取虚拟桌面当前所在的第二主机的信息;将第二主机的信息发送给所述客户端,其中,该第二主机的信息用于指示客户端通过第二主机与虚拟桌面建立连接。本申请可以解决相关技术中虚拟机状态发生变化时,使用已有缓存信息无法成功连接虚拟桌面的问题。本申请能够在管理节点故障且虚拟桌面所在主机发生变化的情况下,从分布式内存数据库获取虚拟桌面相关信息,提高了连接虚拟桌面的成功率。

Description

一种虚拟桌面连接方法及装置
相关申请的交叉引用
本公开基于2022年11月02日提交的发明名称为“一种虚拟桌面连接方法及装置”的中国专利申请CN202211367194.X,并且要求该专利申请的优先权,通过引用将其所公开的内容全部并入本公开。
技术领域
本公开涉及云计算领域,具体而言,涉及一种虚拟桌面连接方法及装置。
背景技术
云桌面是一种运用云计算方式,通过传输协议,将计算和存储放在云端,提供虚拟桌面的服务,用户可在本地使用客户端完成虚拟桌面的访问,云平台环境分管理节点和计算节点,管理节点负责整个虚拟桌面系统的调度管理,例如新虚拟桌面的注册以及根据客户端的连接请求指向可用的虚拟桌面;用户通过与鉴权模块交互完成认证,获得授权使用的桌面。
实际生产活动中,即使管理节点设置为主备机冗余系统,也会存在发生故障的风险。在管理节点故障时,现有的虚拟桌面即使计算节点正常,用户使用的桌面虚机正常,但由于用户使用的客户端系统无法再和管理节点进行交互,导致无法获取用户桌面的配置信息,虚拟桌面一旦退出就无法再次登录。
现有的虚拟桌面应急连接方案是在管理节点故障,鉴权验证信息返回超时启用应急方案,客户端读取上一次成功连接的本地缓存配置信息,配置信息中记录有上次成功连接的虚拟桌面所在的主机地址、端口及协议信息,客户端使用万能钥匙进行认证,从而可以成功连接服务端上的桌面系统。
现有技术中的应急连接方案还存在很多缺陷。在实际使用的过程中,缓存的配置信息存在滞后性,一旦运维管理人员维护虚机时,虚机现有的状态发生改变,例如所在的主机发生迁移,虚机被关闭等,使用已有缓存信息无法成功连接上桌面。
综上,针对相关技术中虚拟机状态发生变化时,使用已有缓存信息无法成功连接虚拟桌面的问题,还没有一种合理的解决方案。
发明内容
本公开实施例提供了一种虚拟桌面连接方法及装置,以至少解决相关技术中虚拟机状态发生变化时,使用已有缓存信息无法成功连接虚拟桌面的问题。
根据本公开的一个实施例,提供了一种虚拟桌面连接方法,所述方法包括:
接收客户端发送的连接虚拟桌面的第一连接请求,其中,所述第一连接请求是所述客户端根据缓存的配置信息发送的;
在根据所述第一连接请求与所述虚拟桌面连接失败的情况下,通过远程字典服务(Remote Dictionary Server,简称Redis)集群获取所述虚拟桌面当前所在的第二主机的信息;
将所述第二主机的信息发送给所述客户端,其中,所述第二主机的信息用于指示所述客户端通过所述第二主机与所述虚拟桌面建立连接。
根据本公开的另一个实施例,提供了一种虚拟桌面连接装置,所述装置包括:
第一接收模块,设置为接收客户端发送的连接虚拟桌面的第一连接请求,其中,所述第一连接请求是所述客户端根据缓存的配置信息发送的;
第一获取模块,设置为在根据所述第一连接请求与所述虚拟桌面连接失败的情况下,通过远程字典服务Redis集群获取所述虚拟桌面当前所在的第二主机的信息;
第一发送模块,设置为将所述第二主机的信息发送给所述客户端,其中,所述第二主机的信息用于指示所述客户端通过所述第二主机与所述虚拟桌面建立连接。
根据本公开的又一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被处理器运行时执行上述任一项方法实施例中的步骤。
根据本公开的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
附图说明
图1是本公开实施例的虚拟桌面连接方法的硬件结构框图;
图2是根据本公开实施例的虚拟桌面连接方法的流程图;
图3是根据本公开实施例的云桌面系统的框架图;
图4是根据本公开另一实施例的虚拟桌面连接方法的工作流程图;
图5是根据本公开另一实施例的虚拟桌面连接方法的工作流程图;
图6是根据本公开实施例的虚拟桌面连接装置的框图;
图7是根据本公开另一实施例的虚拟桌面连接系统的框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本公开的实施例。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本公开实施例中所提供的方法实施例可以在移动终端、计算机终端、云服务器或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本公开实施例的虚拟桌面连接方法的硬件结构框图,如图1所示,硬件单板可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器(Microcontroller Unit,简称MCU)或可编程逻辑器件等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本公开实施例中的虚拟桌面连接方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及虚拟桌面连接,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不 限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种虚拟桌面连接方法,图2是根据本公开实施例的虚拟桌面连接方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,接收客户端发送的连接虚拟桌面的第一连接请求,其中,第一连接请求是客户端根据缓存的配置信息发送的;
步骤S204,在根据第一连接请求与虚拟桌面连接失败的情况下,通过远程字典服务Redis集群获取虚拟桌面当前所在的第二主机的信息;
步骤S206,将第二主机的信息发送给客户端,其中,第二主机的信息用于指示客户端通过第二主机与虚拟桌面建立连接。
在本实施例中,上述步骤S204中的远程字典服务(Remote Dictionary Server,简称Redis)集群,是一种开源的,高可用性的分布式存储库。
在本实施例中,上述步骤S204具体可以包括以下步骤:
步骤S2042,通过Redis集群获取虚拟桌面的状态信息;
步骤S2044,在状态信息为开机状态的情况下,获取虚拟桌面当前所在的第二主机的信息;
步骤S2046,在状态信息为关闭状态的情况下,根据客户端发送的启动请求选择一个主机作为第二主机,并获取第二主机的信息。
在本实施例中,在上述步骤S2046中,根据客户端发送的启动请求选择一个主机作为第二主机,具体可以包括:将状态信息发送给客户端;接收客户端根据状态信息发送的启动请求;基于负载均衡策略,根据启动请求从资源池中选择一个主机作为第二主机。
在本实施例中,在上述步骤S2046中,在根据客户端发送的启动请求选择一个主机作为第二主机之后,所述方法还包括:通知第二主机启动虚拟桌面;在第二主机启动虚拟桌面之后,更新Redis集群中虚拟桌面当前所在的第二主机的信息。
在本实施例中,客户端连接虚拟桌面失败的原因主要有两类,一类是主机发生迁移,但虚拟桌面仍处于开机状态,可直接通过Redis集群获取迁移后的第二主机的信息;另一类是虚拟桌面被关闭。
进一步的,当虚拟桌面处于关闭状态,客户端在收到状态信息后会向虚拟桌面原本所在的第一主机发送启动请求,进而选择新的主机来启动该虚拟桌面。启动请求中可以包括虚拟桌面的通用唯一识别码(Universally Unique Identifier,简称UUID)和端口port。
在另一实施例中,上述步骤S204中的Redis集群用于在管理节点正常且管理节点中的虚拟桌面的管理数据发生变化的情况下,对管理数据进行增量同步;在管理节点故障或重启的情况下,对管理数据进行全量同步,其中,管理节点用于调度管理虚拟桌面和存储管理数据,管理数据包括虚拟桌面所在的第二主机的信息和虚拟桌面的状态信息。
在本实施例中,Redis集群采用主从设备模式(Master-Slave)部署,其中,所述Redis 集群的主服务(Master)和从服务(Slave)部署在不同的主机上。
进一步的,Redis集群也可以采用冗余部署,在同一节点上分别部署两个不同Redis集群的主服务和从服务,从而提高整个系统的可靠性。
在另一实施例中,在步骤S202之后,该方法具体还可以包括以下步骤:
步骤S2022,根据第一连接请求,请求与虚拟桌面建立连接,其中,第一连接请求携带有第一主机的信息和虚拟桌面的信息;
步骤S2024,在预设时间段未收到连接响应的情况下,确定与虚拟桌面未连接成功,重新请求与虚拟桌面建立连接;
步骤S2026,在与虚拟桌面未连接成功,且重新请求的次数大于预设次数的情况下,确定与虚拟桌面连接失败。
进一步的,步骤S202中的配置信息包括主机的互联网协议IP地址、虚拟桌面地址及端口port,第一连接请求中也携带有主机的互联网协议IP地址、虚拟桌面地址及端口port。
在本实施例中,步骤S206具体可以包括:
在虚拟桌面的状态信息为开机状态的情况下,通过连接失败消息将第二主机的信息发送给客户端;
在虚拟桌面的状态信息为关机状态的情况下,通过启动请求的响应消息将第二主机的信息发送给客户端。
在本实施例中,所述虚拟桌面连接方法还包括:在根据第一连接请求与虚拟桌面连接成功的情况下,通知客户端更新缓存的配置信息。
进一步的,在第一主机与虚拟桌面连接成功的情况下,将配置信息中的主机信息更新为第一主机的信息;在第二主机与虚拟桌面连接成功的情况下,将配置信息中的主机信息更新为第二主机的信息。
在本实施例中,通过上述步骤S202至S206,可以解决相关技术中虚拟机状态发生变化时,使用已有缓存信息无法成功连接虚拟桌面的问题,在管理节点故障,且虚拟桌面所在主机发生迁移或虚拟桌面被关闭的情况下,提高了应急情况下虚拟桌面连接的成功率,同时也完成了对虚拟桌面当前状态的查询和虚拟桌面启动资源的调配工作,保障了正常的使用需求。
本公开另一实施例还提供了一种云桌面系统,用于实现上述实施例中的虚拟桌面连接方法。图3是根据本公开实施例的云桌面系统的框架图,如图3所示,该云桌面系统包括:客户端32,第一主机34以及第二主机36。
在本实施例中,客户端32安装于用户终端设备。客户端32中的终端信息处理模块与主机节点中的消息分发模块tunnel交互,实现云桌面内外的信息交互,并缓存最近一次成功连接的信息。
在本实施例中,云桌面系统中有多个计算节点,每个计算节点上部署一个主机代理模块。本公开实施例中仅以第一主机34和第二主机36为例,对节点数量并不做限制。
在本实例中,在第一主机34和第二主机36的主机节点上各部署一个消息分发模块tunnel和一个主机代理host,其中,tunnel用于与客户端32中的终端信息处理模块交互。
在本实施例中,分布式存储模块redis采用主从设备模式部署于任意主机节点中,该分布式存储模块也可以与其他计算节点上的主机代理实现交互,向各个主机代理反馈虚机状态 和主机资源信息。
在本实施例中,分布式存储模块还可以采用管理页面进行配置,选择部分云桌面计算节点主机部署redis集群,下发配置后,后台采用自动化脚本执行安装部署。
在本实施例中,分布式存储模块redis集群采用冗余的部署方式,在每台主机上启动两个redis集群的主服务master和从服务slave。
进一步的,同一个redis集群的主服务master和从服务slave不能部署于同一个主机节点,防止单点故障。
在本实施例中,redis是可以持久化的内存数据库,用来保存云桌面管理数据,管理节点中存放虚机状态的数据会实时增量同步到内存数据库中,当管理节点故障时,内存库会全量同步一次数据,此时可以临时代替管理节点,进行虚机登录等日常操作。
在本实施例中,系统部署的自动化程度高,部署过程方便快捷,部署方式可选择与管理中心合设部署或采用另外的机器部署,部署结构灵活,分布式存储新增节点可通过安装界面融合到原有系统中,可扩展性强。
图4是根据本公开另一实施例的虚拟桌面连接方法的工作流程图,应用于管理节点故障,且虚机开机,虚机所在主机发送迁移的场景,如图4所示,该方法包括以下步骤:
步骤S401,读取虚机连接缓存信息;
步骤S402,发送连接消息(到原主机tunnel服务);
步骤S403,转发连接消息到主机代理;
步骤S404,通过Redis集群查询虚机状态、当前所在主机、端口;
步骤S405,虚机处于开机状态,返回主机IP和端口(从Redis集群到主机代理);
步骤S406,虚机处于开机状态,返回主机IP和端口(从主机代理到tunnel服务);
步骤S407,虚机处于开机状态,返回主机IP和端口(从tunnel服务到客户端);
步骤S408,发送新的连接消息(到当前主机tunnel服务);
步骤S409,返回连接成功消息;
步骤S410,更新虚机连接缓存信息。
在本实施例中,管理节点发生故障,虚机桌面仍处于开机状态,但虚拟桌面被迁移到其他主机的场景,客户端登录连接之前缓存的主机IP、端口,客户端发送连接消息到原主机的消息转发模块tunnel,tunnel将消息转发给主机代理host,由于虚机发生迁移,连接失败,主机代理host到redis集群中查询虚机当前所在主机、端口信息,并将新的主机IP、端口通过tunnel返回给客户端,客户端通过新的主机IP和端口连接桌面,并在连接成功后更新本地缓存。
图5是根据本公开另一实施例的虚拟桌面连接方法的工作流程图,应用于管理节点故障,且虚机关闭的情况下,如图5所示,该方法包括以下步骤:
步骤S501,读取虚机连接缓存信息;
步骤S502,发送连接消息(到第一主机tunnel服务);
步骤S503,转发连接消息到第一主机代理;
步骤S504,通过Redis集群查询虚机状态;
步骤S505,虚机处于关闭状态(从Redis集群到第一主机代理);
步骤S506,虚机处于关闭状态,连接失败(从第一主机代理到第一主机tunnel服务);
步骤S507,虚机处于关闭状态,连接失败(从第一主机tunnel服务到客户端);
步骤S508,发送启动消息(到第一主机tunnel服务);
步骤S509,转发启动消息到第一主机代理;
步骤S510,根据负载均衡算法选择合适的主机启动虚机(到第二主机代理);
步骤S511,更新虚机状态;
步骤S512,返回主机IP和端口(从第二主机代理到第一主机代理);
步骤S513,返回主机IP和端口(从第一主机代理到第一主机tunnel服务);
步骤S514,返回主机IP和端口(从第一主机tunnel服务到客户端);
步骤S515,发送新的连接消息(到第二主机tunnel服务);
步骤S516,返回连接成功消息;
步骤S517,更新虚机连接缓存信息。
在本实施例中,第一主机即虚拟桌面上一次成功连接的主机,也称为原主机,第二主机为从资源池中选择的用来启动虚拟桌面的新主机,也称为当前所在主机。
在本实施例中,管理节点发生故障时,虚机桌面处于关机状态,客户端连接缓存的IP、端口port,发送连接消息到第一主机的消息转发模块tunnel,此时虚机处于关闭状态,连接失败,并将连接失败消息返回给客户端,客户端再次发送启动虚机消息(启动消息中会携带虚机的uuid和port)到第一主机的tunnel,tunnel将消息转发到第一主机代理host,第一主机代理与资源池下其他主机的主机代理进行交互,根据负载均衡选择一个主机(第二主机)启动虚机,将第二主机IP和port更新到redis集群中,并返回给客户端。
在本实施例中,客户端通过第一主机/第二主机IP和port尝试连接虚拟桌面,如果连接成功,客户端会更新本地缓存信息。如果连接超时,则设定相应的重试次数,超过重试次数,则将连接失败消息返回给客户端,并重复上述步骤S502至S515直到最后成功连接上虚拟桌面。
在本公开实施例中,当管理节点发生故障时,不管用户处于使用中或者是将要登录的阶段,对用户侧的影响都是微小的,整个过程中用户都能够正常使用云桌面,在用户全程无感知的情况下解决故障。
根据本公开实施例的另一方面,还提供了一种虚拟桌面连接装置,该装置应用于第一主机,图6是根据本公开实施例的虚拟桌面连接装置的框图,如图6所示,所述装置包括:
第一接收模块62,设置为接收客户端发送的连接虚拟桌面的第一连接请求,其中,第一连接请求是客户端根据缓存的配置信息发送的;
第一获取模块64,设置为在根据第一连接请求与虚拟桌面连接失败的情况下,通过远程字典服务Redis集群获取虚拟桌面当前所在的第二主机的信息;
第一发送模块66,设置为将第二主机的信息发送给客户端,其中,第二主机的信息用于指示客户端通过第二主机与虚拟桌面建立连接。
在本实施例中,第一获取模块64包括:
第一获取单元,用于通过Redis集群获取虚拟桌面的状态信息;
第二获取单元,用于在状态信息为开机状态的情况下,获取虚拟桌面当前所在的第二主 机的信息;
第三获取单元,用于在状态信息为关闭状态的情况下,根据客户端发送的启动请求选择一个主机作为第二主机,并获取第二主机的信息。
在本实施例中,第三获取单元,还用于将状态信息发送给客户端;接收客户端根据状态信息发送的启动请求;基于负载均衡策略,根据启动请求从资源池中选择一个主机作为第二主机。
在本实施例中,第三获取单元,还用于通知第二主机启动虚拟桌面;在第二主机启动虚拟桌面之后,更新Redis集群中虚拟桌面当前所在的第二主机的信息。
在本实施例中,所述装置还包括:连接模块,设置为根据第一连接请求,请求与虚拟桌面建立连接,其中,第一连接请求携带有第一主机的信息和虚拟桌面的信息;在预设时间段未收到连接响应的情况下,确定与虚拟桌面未连接成功,重新请求与虚拟桌面建立连接;在与虚拟桌面未连接成功,且重新请求的次数大于预设次数的情况下,确定与虚拟桌面连接失败。
在本实施例中,第一发送模块66,还设置为在虚拟桌面的状态信息为开机状态的情况下,通过连接失败消息将第二主机的信息发送给客户端;在虚拟桌面的状态信息为关机状态的情况下,通过启动请求的响应消息将第二主机的信息发送给客户端。
在本实施例中,第一发送模块66,还设置为在根据第一连接请求与虚拟桌面连接成功的情况下,通知客户端更新缓存的配置信息。
根据本公开实施例的另一方面,还提供了一种虚拟桌面连接系统,用于实现上述实施例中的虚拟桌面连接方案。
图7是根据本公开另一实施例的虚拟桌面连接系统的框图,如图7所示,该系统包括以下模块:云桌面模块71、分布式存储模块72、消息传输和分发模块73、主机代理模块74、终端信息处理模块75。
在本实施例中,云桌面模块71,包括云桌面管理中心和鉴权模块,主要负责虚机的日志维护管理、数据同步和用户登录鉴权。
在本实施例中,分布式存储模块72采用集群化冗余部署,与管理中心交互,实现数据的实时同步,与各主机代理模块74交互,实现虚机状态和主机资源信息的反馈。
在本实施例中,消息传输和分发模块73,部署在各个主机计算节点上,与客户端和主机代理模块74交互,负责客户端连接信息的往返转发和连接通道的桌面流传输。
在本实施例中,主机代理模块74部署在各个主机计算节点上,与分布式存储模块72、消息传输和分发模块73、其他节点的主机代理模块74进行消息交互,完成虚拟机当前状态的查询和虚机启动的资源调配。
在本实施例中,终端信息处理模块75部署在用户连接的终端上,与消息传输和分发模块73交互,客户端负责云桌面内外的信息交换,缓存连接信息。
在本实施例中,通过多个模块的相互配合,保证了系统数据同步的及时性,紧急情况下分布式存储模块72可作为临时的数据管理中心,两套系统同时并发存在,保证了系统的健壮性。
本公开的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被处理器运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本公开的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本公开的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (12)

  1. 一种虚拟桌面连接方法,应用于第一主机,所述方法包括:
    接收客户端发送的连接虚拟桌面的第一连接请求,其中,所述第一连接请求是所述客户端根据缓存的配置信息发送的;
    在根据所述第一连接请求与所述虚拟桌面连接失败的情况下,通过远程字典服务Redis集群获取所述虚拟桌面当前所在的第二主机的信息;
    将所述第二主机的信息发送给所述客户端,其中,所述第二主机的信息用于指示所述客户端通过所述第二主机与所述虚拟桌面建立连接。
  2. 根据权利要求1所述的方法,其中,通过远程字典服务Redis集群获取所述虚拟桌面当前所在的第二主机的信息,包括:
    通过所述Redis集群获取所述虚拟桌面的状态信息;
    在所述状态信息为开机状态的情况下,获取所述虚拟桌面当前所在的所述第二主机的信息;
    在所述状态信息为关闭状态的情况下,根据所述客户端发送的启动请求选择一个主机作为所述第二主机,并获取所述第二主机的信息。
  3. 根据权利要求2所述的方法,其中,根据所述客户端发送的启动请求选择一个主机作为所述第二主机包括:
    将所述状态信息发送给所述客户端;
    接收所述客户端根据所述状态信息发送的所述启动请求;
    基于负载均衡策略,根据所述启动请求从资源池中选择一个主机作为所述第二主机。
  4. 根据权利要求2所述的方法,其中,在根据所述客户端发送的启动请求选择一个主机作为所述第二主机之后,所述方法还包括:
    通知所述第二主机启动所述虚拟桌面;
    在所述第二主机启动所述虚拟桌面之后,更新所述Redis集群中所述虚拟桌面当前所在的所述第二主机的信息。
  5. 根据权利要求2至4中任一项所述的方法,其中,
    所述Redis集群用于在管理节点正常且所述管理节点中的所述虚拟桌面的管理数据发生变化的情况下,对所述管理数据进行增量同步;在所述管理节点故障或重启的情况下,对所述管理数据进行全量同步,其中,所述管理节点用于调度管理所述虚拟桌面和存储所述管理数据,所述管理数据包括所述第二主机的信息和所述状态信息。
  6. 根据权利要求2至4中任一项所述的方法,其中,
    所述Redis集群采用主从设备模式部署,其中,所述Redis集群的主服务和从服务部署在不同的主机上。
  7. 根据权利要求1至4中任一项所述的方法,其中,在接收客户端发送的连接虚拟桌面的第一连接请求之后,所述方法还包括:
    根据所述第一连接请求,请求与所述虚拟桌面建立连接,其中,所述第一连接请求携带有所述第一主机的信息和所述虚拟桌面的信息;
    在预设时间段未收到连接响应的情况下,确定与所述虚拟桌面未连接成功,重新请求与 所述虚拟桌面建立连接;
    在与所述虚拟桌面未连接成功,且重新请求的次数大于预设次数的情况下,确定与所述虚拟桌面连接失败。
  8. 根据权利要求2至4中任一项所述的方法,其中,所述将所述第二主机的信息发送给所述客户端,包括:
    在所述虚拟桌面的状态信息为开机状态的情况下,通过连接失败消息将所述第二主机的信息发送给所述客户端;
    在所述虚拟桌面的状态信息为关机状态的情况下,通过所述启动请求的响应消息将所述第二主机的信息发送给所述客户端。
  9. 根据权利要求1至4中任一项所述的方法,其中,所述方法还包括:
    在根据所述第一连接请求与所述虚拟桌面连接成功的情况下,通知所述客户端更新缓存的所述配置信息。
  10. 一种虚拟桌面连接装置,应用于第一主机,所述装置包括:
    第一接收模块,设置为接收客户端发送的连接虚拟桌面的第一连接请求,其中,所述第一连接请求是所述客户端根据缓存的配置信息发送的;
    第一获取模块,设置为在根据所述第一连接请求与所述虚拟桌面连接失败的情况下,通过远程字典服务Redis集群获取所述虚拟桌面当前所在的第二主机的信息;
    第一发送模块,设置为将所述第二主机的信息发送给所述客户端,其中,所述第二主机的信息用于指示所述客户端通过所述第二主机与所述虚拟桌面建立连接。
  11. 一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被处理器运行时执行所述权利要求1至9任一项中所述的方法。
  12. 一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至9任一项中所述的方法。
PCT/CN2023/105182 2022-11-02 2023-06-30 一种虚拟桌面连接方法及装置 WO2024093328A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211367194.XA CN117997941A (zh) 2022-11-02 2022-11-02 一种虚拟桌面连接方法及装置
CN202211367194.X 2022-11-02

Publications (1)

Publication Number Publication Date
WO2024093328A1 true WO2024093328A1 (zh) 2024-05-10

Family

ID=90896128

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/105182 WO2024093328A1 (zh) 2022-11-02 2023-06-30 一种虚拟桌面连接方法及装置

Country Status (2)

Country Link
CN (1) CN117997941A (zh)
WO (1) WO2024093328A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103218178A (zh) * 2013-04-23 2013-07-24 深圳市京华科讯科技有限公司 一体机的高可靠性实现方法
CN104182306A (zh) * 2014-08-08 2014-12-03 成都致云科技有限公司 一种低成本的云主机智能故障瞬时切换方法
CN107122229A (zh) * 2017-04-21 2017-09-01 紫光华山信息技术有限公司 一种虚拟机恢复方法及装置
CN107566433A (zh) * 2016-06-30 2018-01-09 中兴通讯股份有限公司 一种云终端登录虚拟桌面方法及装置
US10228959B1 (en) * 2011-06-02 2019-03-12 Google Llc Virtual network for virtual machine communication and migration

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10228959B1 (en) * 2011-06-02 2019-03-12 Google Llc Virtual network for virtual machine communication and migration
CN103218178A (zh) * 2013-04-23 2013-07-24 深圳市京华科讯科技有限公司 一体机的高可靠性实现方法
CN104182306A (zh) * 2014-08-08 2014-12-03 成都致云科技有限公司 一种低成本的云主机智能故障瞬时切换方法
CN107566433A (zh) * 2016-06-30 2018-01-09 中兴通讯股份有限公司 一种云终端登录虚拟桌面方法及装置
CN107122229A (zh) * 2017-04-21 2017-09-01 紫光华山信息技术有限公司 一种虚拟机恢复方法及装置

Also Published As

Publication number Publication date
CN117997941A (zh) 2024-05-07

Similar Documents

Publication Publication Date Title
US7869373B2 (en) High-availability network systems
US8375001B2 (en) Master monitoring mechanism for a geographical distributed database
US8533525B2 (en) Data management apparatus, monitoring apparatus, replica apparatus, cluster system, control method and computer-readable medium
CN105607954A (zh) 一种有状态容器在线迁移的方法和装置
EP3210367B1 (en) System and method for disaster recovery of cloud applications
JP6191159B2 (ja) サーバ、バックアップシステム、バックアップ方法、および、コンピュータ・プログラム
CN105025084A (zh) 一种基于同步代理和混合存储的云存储系统
US11741075B2 (en) Methods and system of tracking transactions for distributed ledger
WO2004025466A2 (en) Distributed computing infrastructure
CN104935672A (zh) 负载均衡服务高可用实现方法和设备
CN107623703B (zh) 全局事务标识gtid的同步方法、装置及系统
US7499987B2 (en) Deterministically electing an active node
CN103209090A (zh) 远程网管系统及其业务操作方法
Dustdar et al. Dynamic replication and synchronization of web services for high availability in mobile ad-hoc networks
CN113515316A (zh) 一种新型边缘云操作系统
WO2014147817A1 (ja) 情報処理装置、プログラム更新方法、及びプログラム
WO2024093328A1 (zh) 一种虚拟桌面连接方法及装置
CN111901395A (zh) 多集群切换方法及装置
CN116346834A (zh) 一种会话同步方法、装置、计算设备及计算机存储介质
CN109660428B (zh) 高可用性集群系统
CN111066339B (zh) 用于分布式移动网络的系统和方法
CN116132530A (zh) 一种基于Netty框架应用Raft算法实现MQTT Broker服务器的方法
CN116560904A (zh) Nas数据备份容灾方法、系统、终端及存储介质
CN116010174A (zh) 切换服务器的方法及装置、存储介质、电子装置
CN111382132A (zh) 医学影像数据云存储系统