[go: up one dir, main page]

WO2018024200A1 - Virtual desktop multicast control method, terminal, proxy terminal, and cloud desktop server - Google Patents

Virtual desktop multicast control method, terminal, proxy terminal, and cloud desktop server Download PDF

Info

Publication number
WO2018024200A1
WO2018024200A1 PCT/CN2017/095484 CN2017095484W WO2018024200A1 WO 2018024200 A1 WO2018024200 A1 WO 2018024200A1 CN 2017095484 W CN2017095484 W CN 2017095484W WO 2018024200 A1 WO2018024200 A1 WO 2018024200A1
Authority
WO
WIPO (PCT)
Prior art keywords
multicast
terminal
virtual desktop
multicast mode
data
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.)
Ceased
Application number
PCT/CN2017/095484
Other languages
French (fr)
Chinese (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Publication of WO2018024200A1 publication Critical patent/WO2018024200A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • 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/56Provisioning of proxy services

Definitions

  • the present disclosure relates to, but is not limited to, the field of communications, and in particular, to a virtual desktop multicast control method, a terminal, a proxy terminal, and a cloud desktop server.
  • virtual desktop is not to configure each user with a desktop PC (Personal Computer) running the operating system, but through the data.
  • the operating system runs on the central server to virtualize the user's desktop.
  • the user establishes a connection with the cloud desktop server through the virtual desktop client in the terminal to access the corresponding virtual desktop, and the user virtual desktop is like accessing the locally installed desktop.
  • the local input of the terminal such as a common mouse and keyboard operation, is sent to the virtual desktop in the cloud desktop server through the network, the virtual desktop responds, and the updated desktop is sent to the terminal for display through the network.
  • the data exchange between the terminal and the cloud desktop server is usually unicast or multicast.
  • the common multicast schemes are as follows: common solution 1: cloud desktop server 3 and terminal are on the same network segment, cloud desktop The server 3 uses the direct UDP (User Datagram Protocol) multicast method.
  • the common solution 2 the cloud desktop server 3 and the terminal cross-network segment, that is, on different network segments. And support multicast protocol switch mode to achieve multicast.
  • the multicast of some virtual desktops cannot be adaptively selected according to the current networking environment. In the scenario of inter-network segment, the multicast cost is increased and the resource utilization is low.
  • the embodiment of the present disclosure provides a virtual desktop multicast control method, a terminal, a proxy terminal, and a cloud desktop server, which can prevent the multicast of the virtual desktop from being adaptively selected according to the current networking environment, and is in an inter-network segment.
  • the multicast cost is low and the resource utilization is high.
  • the embodiment of the present disclosure provides a virtual desktop multicast control method, including:
  • the multicast mode is an indirect multicast mode, sending an indirect multicast communication request to the proxy terminal;
  • the embodiment of the present disclosure further provides a virtual desktop multicast control method, including:
  • the virtual desktop data is sent to the terminal in a multicast manner.
  • the embodiment of the present disclosure further provides a virtual desktop multicast control method, including:
  • Corresponding virtual desktop data is sent to the proxy terminal, and is multicast to the corresponding terminal by the proxy terminal.
  • the embodiment of the present disclosure further provides a terminal, including:
  • the multicast capability detection module is configured to: detect the current network environment of the terminal, and determine the multicast mode according to the detection result.
  • the virtual desktop client module is configured to: when the multicast mode is an indirect multicast mode, send an indirect multicast communication request to the proxy terminal, and set to: receive the proxy terminal to obtain from the cloud desktop server, and The virtual desktop data sent by the multicast mode to the terminal.
  • the embodiment of the present disclosure further provides a proxy terminal, including:
  • the data acquisition module is configured to: receive an indirect multicast communication request sent by the terminal, establish communication with the cloud desktop server, and obtain corresponding virtual desktop data from the cloud desktop server;
  • the multicast data forwarding module is configured to: send the virtual desktop data to the terminal in a multicast manner.
  • the embodiment of the present disclosure further provides a cloud desktop server, including:
  • a communication processing module configured to: establish communication with the proxy terminal
  • the virtual desktop management module is configured to: send corresponding virtual desktop data to the proxy terminal, and multicast to the corresponding terminal by using the proxy terminal.
  • Embodiments of the present disclosure also provide a computer storage medium having stored therein computer executable instructions for performing the aforementioned virtual desktop multicast control method.
  • Embodiments of the present disclosure also provide a computer readable storage medium storing computer executable instructions that, when executed, implement the virtual desktop multicast control method described above.
  • the virtual desktop multicast control method is used to detect the current network environment of the terminal, and the multicast is determined according to the detection result.
  • the determined multicast mode is the indirect multicast mode
  • the indirect multicast communication request is sent to the proxy terminal, and the proxy terminal establishes a connection with the cloud desktop server to obtain the corresponding virtual desktop data, and then sends the virtual to the terminal in a multicast manner.
  • the embodiment of the present disclosure may detect the network environment in which the terminal is located, and determine the multicast mode adaptively according to the detection result, and obtain the virtual desktop data directly from the cloud desktop server through the proxy terminal when determining to adopt the indirect multicast.
  • the need to add a multicast server and support a multicast protocol switch can reduce the cost of implementing indirect multicast and improve resource utilization.
  • FIG. 1 is a schematic flowchart of a terminal side virtual desktop multicast control method
  • FIG. 2 is a schematic flowchart of a proxy terminal side virtual desktop multicast control method
  • FIG. 3 is a schematic flowchart of a virtual desktop multicast control method on a cloud desktop server side
  • Figure 4 is a virtual desktop communication system
  • Figure 5 is a schematic diagram of a terminal structure
  • FIG. 6 is a schematic structural diagram of a proxy terminal
  • Figure 7 is a schematic diagram of the structure of a cloud desktop server.
  • a proxy terminal may be set up, and the proxy terminal may establish communication with a user terminal (hereinafter referred to as a terminal) and a cloud desktop server at the same time, and the proxy terminal and the cloud desktop server can implement communication through multicast mode. Communication is achieved by unicast.
  • the proxy terminal in this embodiment may be a user terminal, and may set one proxy terminal or multiple proxy terminals. It can be flexibly set according to the application scenario. That is, the proxy terminal in this embodiment may have the capability of acquiring virtual desktop data from the cloud desktop server and forwarding the obtained virtual desktop data to the terminal.
  • the following describes the virtual desktop multicast control process on the terminal side, the proxy terminal side, and the cloud desktop server side respectively.
  • the virtual desktop multicast control method is shown in Figure 1, including:
  • S101 Detecting a network environment where the terminal is currently located.
  • the step may be performed by the terminal to detect the current network environment of the terminal, and the detection of the network environment includes, but is not limited to, performing a transmission delay time value, or a packet loss rate, or a transmission delay time value and a packet loss rate of the current network. Detection.
  • the current network environment can be detected through netstat (network information statistics). Netstat is a very useful tool for monitoring TCP (Transmission Control Protocol)/IP (Internet Protocol) networks. It can display routing tables, actual network connections, and status information of each network interface device. Inspect the network connection of each port of the terminal.
  • S102 Determine whether to use the indirect multicast mode or the direct multicast mode according to the detection result. If the indirect multicast mode is used, go to S103; otherwise, go to S105.
  • S103 Send an indirect multicast communication request to the proxy terminal to establish communication with the cloud desktop server.
  • the indirect multicast communication request in this step may include information about the virtual desktop data to be acquired, and after the proxy terminal establishes a communication connection with the cloud desktop server, the virtual desktop data may be acquired according to the virtual desktop data to be obtained.
  • the information obtains the corresponding virtual desktop data from the cloud desktop server, and sends the obtained virtual desktop data to the terminal in a multicast manner.
  • the proxy terminal can initiate a communication connection to the cloud desktop server.
  • the indirect multicast communication request in this step may also include the information about the virtual desktop data to be obtained, and if the indirect multicast mode is determined according to the detection result, the multicast mode may also be sent to the cloud desktop server (in this case, In the indirect multicast mode, the multicast mode control message may include information about the virtual desktop data to be acquired.
  • the cloud desktop server may initiate a communication connection to the proxy terminal, and send the corresponding virtual desktop data to the proxy terminal, and the proxy terminal sends the virtual desktop data to the terminal in a multicast manner.
  • the proxy terminal when the proxy terminal multicasts the virtual desktop data to the terminal, it may pass UDP multicast or other multicast mode.
  • the cloud desktop server sends the virtual desktop data to the proxy terminal, it can be sent to the proxy terminal in a unicast manner, for example, using a TCP connection manner to implement virtual desktop data interaction.
  • S104 Receive virtual desktop data obtained by the proxy terminal from the cloud desktop server and sent to the terminal in a multicast manner.
  • S105 Send a direct multicast communication request to the cloud desktop server, where the direct multicast communication request may include data information to be acquired.
  • S106 Receive corresponding virtual desktop data that is sent by the cloud desktop server to the terminal in a direct multicast manner according to the direct multicast communication request.
  • the multicast mode in this step may also include, but is not limited to, UDP multicast.
  • detecting the network environment where the terminal is currently located, and determining the multicast mode according to the detection result may include, but is not limited to, any one of the following manners:
  • the value of the transmission delay time of the network where the terminal is currently located is detected.
  • the network environment is poor.
  • the network environment may be in a cross-network segment. Indirect multicast mode is adopted. Otherwise, direct multicast mode is determined.
  • the packet loss rate of the network where the terminal is currently located when the detected packet loss rate is greater than the default When the packet rate threshold is set, the network environment is poor. For example, the indirect multicast mode is determined. Otherwise, the direct multicast mode is adopted.
  • the network environment is poor.
  • the network may be in a cross-network segment networking environment.
  • the indirect multicast mode is determined. Otherwise, the direct multicast mode is determined.
  • the detection of the network environment can also detect any other network indicator that can reflect the network environment.
  • the virtual desktop multicast control method is shown in Figure 2, including:
  • S201 Receive an indirect multicast communication request sent by the terminal.
  • the proxy terminal When the proxy terminal receives the indirect multicast communication request sent by the terminal, it indicates that the current network environment of the terminal is poor, for example, it is currently in the inter-network segment phase.
  • S202 Establish communication with the cloud desktop server, and obtain corresponding virtual desktop data from the cloud desktop server.
  • the connection between the proxy terminal and the cloud desktop server can be initiated by either of them.
  • the cloud desktop server can actively send the corresponding virtual desktop data to the proxy terminal according to the information of the virtual desktop data to be obtained, or the proxy terminal can actively obtain the corresponding virtual desktop data from the cloud desktop server according to the information of the virtual desktop data to be acquired.
  • the cloud desktop server When the cloud desktop server sends the virtual desktop data to the proxy terminal, it can be sent to the proxy terminal in a unicast manner.
  • the virtual desktop data is sent to the terminal in a multicast manner, and the multicast mode in the step may include, but is not limited to, UDP multicast.
  • the virtual desktop multicast control method is shown in Figure 3. It includes:
  • S301 Establish communication with the proxy terminal.
  • the terminal when the terminal determines to use the indirect multicast mode, the terminal may first send a multicast mode control message including the multicast mode to the cloud desktop server before the cloud desktop server establishes communication with the proxy terminal; the cloud desktop server may receive the terminal.
  • the multicast mode control message is sent in multicast mode.
  • the multicast mode is indirect multicast mode, communication can be established with the proxy terminal.
  • S302 Send the corresponding virtual desktop data to the proxy terminal, and multicast to the corresponding terminal by using the proxy terminal.
  • the cloud desktop server can actively send the corresponding virtual desktop data to the proxy terminal according to the information of the virtual desktop data to be obtained, or the proxy terminal can actively obtain the corresponding virtual desktop data from the cloud desktop server according to the information of the virtual desktop data to be acquired.
  • the cloud desktop server When the cloud desktop server sends the virtual desktop data to the proxy terminal, it can be sent to the proxy terminal in a unicast manner.
  • the cloud desktop server may directly establish a communication connection with the terminal, and directly multicast the corresponding virtual desktop data to the terminal.
  • the multicast mode may include, but is not limited to, UDP multicast.
  • the terminal in this embodiment can detect the network environment, determine the multicast mode adaptively according to the detection result, and obtain the virtual desktop data from the cloud desktop server directly through the proxy terminal when determining to use the indirect multicast. There is no need to add a multicast server and support a multicast protocol switch, which can reduce the cost of implementing indirect multicast and improve resource utilization.
  • the embodiment provides a virtual desktop communication system, including a terminal 1, a proxy terminal 2, and a cloud desktop server 3.
  • the terminal 1 can detect the current network environment, and determine the multicast mode according to the detection result, and determine that the indirect multicast mode is determined by the indirect multicast mode, and the proxy terminal 2 and the cloud desktop server can be used.
  • the detection result when the multicast mode determined by the direct multicast mode is the direct multicast mode, the terminal 1 can directly establish communication with the cloud desktop server 3, and the desktop server can perform UDP multicast.
  • the corresponding virtual desktop data is sent to the terminal 1 in an equal manner.
  • the virtual desktop data in this embodiment may include, but is not limited to, content data of the virtual desktop and various operational data.
  • the terminal 1 in this embodiment may be various PCs or mobile terminals, and includes:
  • the multicast capability detecting module 11 is configured to: detect a network environment where the terminal 1 is currently located, and determine a multicast mode according to the detection result.
  • the detection of the network environment by the multicast capability detecting module 11 may include, but is not limited to, detecting a transmission delay time value, or a packet loss rate, or a transmission delay time value and a packet loss rate of the current network.
  • the multicast capability detecting module 11 can detect the current network environment by using a tool such as netstat.
  • the multicast capability detection module 11 determines whether to use the indirect multicast mode or the direct multicast mode according to the detection result. When the current network environment is detected to be good, the indirect multicast mode may be determined. Otherwise, the direct multicast mode may be determined.
  • the multicast capability detecting module 11 detects the network environment where the terminal 1 is currently located, and determines the multicast mode according to the detection result, which may include, but is not limited to, any one of the following manners:
  • the value of the transmission delay time of the network where the terminal is currently located is detected.
  • the network environment is poor.
  • the network environment may be in a cross-network segment. Indirect multicast mode is adopted. Otherwise, direct multicast mode is determined.
  • the packet loss rate of the network where the terminal is currently located is detected.
  • the network environment is poor.
  • the network may be in a cross-network segment networking environment. Indirect multicast mode. Otherwise, the direct multicast mode is determined.
  • the transmission delay time value and the packet loss rate of the network currently in the terminal when the detected transmission delay time value is greater than the preset transmission delay threshold, or the detected packet loss rate is greater than the preset packet loss rate threshold, or detecting The transmitted delay time value is greater than the preset transmission delay threshold and the detected packet loss rate If the threshold is greater than the default packet loss rate, the network environment is poor. For example, the indirect multicast mode is determined. The indirect multicast mode is determined. Otherwise, the direct multicast mode is determined. .
  • the detection of the network environment can also detect any other network indicator that can reflect the network environment.
  • the virtual desktop client module 12 is configured to: when the multicast mode is the indirect multicast mode, send an indirect multicast communication request to the proxy terminal 2, and set to: the receiving proxy terminal 2 obtains from the cloud desktop server, and sets the group The virtual desktop data sent by the broadcast mode to the terminal 1.
  • the indirect multicast communication request sent by the virtual desktop client module 12 may include information about the virtual desktop data to be acquired.
  • the proxy terminal 2 establishes a communication connection with the cloud desktop server 3
  • the information may be obtained from the cloud desktop according to the information of the virtual desktop data to be obtained.
  • the server 3 acquires the corresponding virtual desktop data, and sends the acquired virtual desktop data to the terminal 1 in a multicast manner.
  • the agent terminal 2 can actively initiate a communication connection to the cloud desktop server 1.
  • the indirect multicast communication request in this embodiment may not include the information of the virtual desktop data to be acquired, and when the indirect multicast mode is determined according to the detection result, the virtual desktop client module 12 may also send the inclusion to the cloud desktop server 3.
  • the multicast mode control message in the multicast mode (in this case, the indirect multicast mode).
  • the multicast mode control message may include information about the virtual desktop data to be obtained.
  • the cloud desktop server 3 can initiate the establishment of the communication connection to the proxy terminal, and send the corresponding virtual desktop data to the proxy terminal 2, and the proxy terminal 2 sends the virtual desktop data to the terminal in a multicast manner.
  • the proxy terminal 2 when the proxy terminal 2 multicasts the virtual desktop data to the terminal, it can pass UDP multicast or other multicast mode.
  • the cloud desktop server 3 sends the virtual desktop data to the proxy terminal 2, it can be sent to the proxy terminal 1 by means of unicast, for example, using the TCP (Transmission Control Protocol) connection method to implement virtual desktop data interaction.
  • TCP Transmission Control Protocol
  • the functions of the multicast capability detecting module 11 and the virtual desktop client module 12 in this embodiment may be implemented by a processor or a controller in the terminal, and the two may be configured inside the processor or the controller.
  • the proxy terminal 2 in this embodiment includes:
  • the data obtaining module 21 is configured to: receive an indirect multicast communication request sent by the terminal, and the cloud table
  • the surface server establishes communication and obtains corresponding virtual desktop data from the cloud desktop server.
  • the data acquisition module 21 When the data acquisition module 21 receives the indirect multicast communication request sent by the terminal, it indicates that the network environment where the terminal is currently located is poor, for example, currently in the inter-network segment phase.
  • the connection between the data acquisition module 21 and the cloud desktop server (eg, establishing a TCP connection) can be initiated by either of them.
  • the cloud desktop server can actively send the corresponding virtual desktop data to the data acquiring module 21 according to the information of the virtual desktop data to be obtained, or the data acquiring module 21 can actively obtain the corresponding virtual desktop data from the cloud desktop server according to the information of the virtual desktop data to be obtained. .
  • the multicast data forwarding module 22 is configured to: send the virtual desktop data acquired by the data obtaining module 21 to the terminal in a multicast manner.
  • the multicast mode adopted by the multicast data forwarding module 22 includes, but is not limited to, UDP multicast.
  • the functions of the data acquisition module 21 and the multicast data forwarding module 22 in this embodiment may be implemented by a processor or a controller in the proxy terminal, and the two may be configured inside the processor or the controller.
  • the cloud desktop server 3 in this embodiment includes:
  • the communication processing module 31 is configured to establish communication with the proxy terminal.
  • the communication processing module 31 establishes communication with the proxy terminal when the terminal 1 determines to adopt the indirect multicast mode, including, for example, but not limited to, establishing TCP communication.
  • the terminal 1 determines that the direct multicast mode is adopted, communication can be established directly with the terminal.
  • the virtual desktop management module 32 is configured to: when the terminal 1 determines that the indirect multicast mode is adopted, send the corresponding virtual desktop data to the proxy terminal (which may be sent in a unicast manner or in a multicast manner). The proxy terminal multicasts to the corresponding terminal.
  • the virtual desktop management module 32 may also be configured to: when the terminal 1 determines to adopt the direct multicast mode, directly multicast the virtual desktop data corresponding to the terminal (including but not limited to the UDP multicast mode).
  • the virtual desktop management module 32 transmits the virtual desktop data to the proxy terminal 2, it can transmit to the proxy terminal 2 by means of unicast.
  • the cloud desktop server 3 in this embodiment may further include a virtual desktop pool 33, and the virtual desktop management module 32 may extract corresponding virtual desktop data from the virtual desktop pool 33 of the cloud desktop server to the proxy terminal 2 or the terminal 1.
  • the functions of the communication processing module 31 and the virtual desktop management module 32 in this embodiment may be served by A processor or controller implementation within the server, both of which may be internal to the processor or controller.
  • modules or steps of the embodiments of the present disclosure may be implemented by a general-purpose computing device, which may be centralized on a single computing device or distributed over a network of multiple computing devices. Alternatively, they may be implemented by program code executable by a computing device such that they may be stored by a computing device in a computer storage medium (ROM/RAM, diskette, optical disk) and, in some cases, The steps shown or described may be performed in a different order than that herein, or they may be separately fabricated into different integrated circuit modules, or a plurality of the modules or steps may be implemented as a single integrated circuit module. Therefore, embodiments of the present disclosure are not limited to any particular combination of hardware and software.
  • the embodiments of the present disclosure are exemplified below in conjunction with the entire control flow of the terminal, the proxy terminal, and the cloud desktop server.
  • the multicast capability detecting module 11 can determine which multicast mode is currently applicable according to the current network environment, and save the information.
  • the virtual desktop client module 12 is started, and the multicast capability detection module 11 can obtain the information suitable for the multicast mode of the terminal, and simultaneously initiate communication with the server communication processing module 31, and send the multicast mode control message to notify the currently suitable multicast mode.
  • Cloud Desktop Server 3 optionally:
  • the virtual desktop client module 12 can initiate udp registration to the cloud desktop server 3, establish a multicast listening port by using the direct multicast mode, and wait for the cloud desktop server 3 to multicast data.
  • the virtual desktop client module 12 may initiate a control message to the proxy terminal 2, initiate an control message to the cloud desktop server 3 in an indirect multicast manner, and the virtual desktop client module 12 initiates a udp registration with the proxy terminal. Waiting for the multicast data forwarded by the proxy terminal.
  • the proxy terminal may start the data obtaining module 21, first initiate a tcp link to the cloud desktop server 3, and wait for the multicast data of the cloud desktop server 3; then the multicast data forwarding module 22 will data.
  • the multicast data acquired by the obtaining module 21 is sent to the terminal in a multicast manner.
  • the communication processing module 31 of the server may notify the virtual desktop management module 32 of the cloud desktop server 3, and may perform the following processing:
  • the virtual desktop management module 32 starts the multicast port and prepares to broadcast the multicast data directly to the multicast terminal.
  • the server waits for the proxy terminal tcp link, and sends the multicast data to the proxy terminal in tcp mode after the link.
  • the proxy terminal may send the multicast data to the terminal in a broadcast manner.
  • the embodiments of the present disclosure can use multicast in a common local area network environment, and can easily solve multicast in the following scenarios: for example, the cloud desktop server 3 is in a certain operator data center or the education bureau data center, and the terminal 1 is in a large exhibition hall or a remote place. Rural school; at this time, cloud desktop server 3 is far away from terminal 1, network environment is complex, network environment layout is unknown, and common direct broadcast mode is used, which is basically unworkable, or the network is unreachable, or data delay, packet loss is serious, multicast Basically unavailable; the solution provided by the embodiments of the present disclosure can be easily handled. It can improve user experience satisfaction while reducing cost and resource consumption.
  • Embodiments of the present disclosure also provide a computer readable storage medium storing computer executable instructions that, when executed, implement the virtual desktop multicast control method described above.
  • Computer storage medium includes volatile and nonvolatile, implemented in any method or technology for storing information, such as computer readable instructions, data structures, program modules or other data. Sex, removable and non-removable media.
  • Computer storage media include, but are not limited to, Random Access Memory (RAM), Read-Only Memory (ROM), EEPROM (Electrically Erasable Programmable Read-only) Memory), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical disc storage, magnetic cassette, magnetic tape, disk storage or other magnetic storage device Or any other medium that can be used to store the desired information and that can be accessed by the computer.
  • communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and can include any information delivery media. .
  • the virtual desktop multicast control method is used to detect the current network environment of the terminal; and the indirect group is determined according to the detection result.
  • the indirect multicast communication request is sent to the proxy terminal, and the proxy terminal establishes a connection with the cloud desktop server to obtain the corresponding virtual desktop data, and then sends the virtual desktop data to the terminal in a multicast manner.
  • the embodiment of the present disclosure may detect the network environment in which the terminal is located, and determine the multicast mode adaptively according to the detection result, and obtain the virtual desktop data directly from the cloud desktop server through the proxy terminal when determining to adopt the indirect multicast.
  • the need to add a multicast server and support a multicast protocol switch can reduce the cost of implementing indirect multicast and improve resource utilization.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A virtual desktop multicast control method comprises: detecting a network environment where a terminal currently is located; determining, according to a detection result, a multicast method; when the multicast method is an indirect multicast method, transmitting, to a proxy terminal, an indirect multicast communication request; and receiving virtual desktop data acquired from a cloud desktop server and by the proxy terminal and transmitted using multicast to the terminal.

Description

虚拟桌面组播控制方法、终端、代理终端及云桌面服务器Virtual desktop multicast control method, terminal, proxy terminal and cloud desktop server 技术领域Technical field

本公开涉及但不限于通信领域,尤其是一种虚拟桌面组播控制方法、终端、代理终端及云桌面服务器。The present disclosure relates to, but is not limited to, the field of communications, and in particular, to a virtual desktop multicast control method, a terminal, a proxy terminal, and a cloud desktop server.

背景技术Background technique

随着云计算技术的发展,虚拟桌面的应用也越来越广泛,虚拟桌面的概念不是给每个用户都配置一台运行操作系统的桌面PC(Personal Computer,个人计算机),而是通过在数据中心的服务器上运行操作系统,将用户的桌面进行虚拟化。用户通过终端中的虚拟桌面客户端与云桌面服务器建立连接访问对应的虚拟桌面,用户虚拟桌面就像是访问本地安装的桌面一样。实际上,终端的本地输入,比如常见的鼠标、键盘操作通过网络发送给云桌面服务器中的虚拟桌面,虚拟桌面做出响应,并将更新后的桌面通过网络发送给终端进行显示。With the development of cloud computing technology, the application of virtual desktop is more and more extensive. The concept of virtual desktop is not to configure each user with a desktop PC (Personal Computer) running the operating system, but through the data. The operating system runs on the central server to virtualize the user's desktop. The user establishes a connection with the cloud desktop server through the virtual desktop client in the terminal to access the corresponding virtual desktop, and the user virtual desktop is like accessing the locally installed desktop. In fact, the local input of the terminal, such as a common mouse and keyboard operation, is sent to the virtual desktop in the cloud desktop server through the network, the virtual desktop responds, and the updated desktop is sent to the terminal for display through the network.

在虚拟桌面使用的过程中,终端和云桌面服务器的数据交互通常采用单播或者组播的方式;通常的组播方案有:常用方案一:云桌面服务器3和终端在同一网段,云桌面服务器3采用直接UDP(User Datagram Protocol,用户数据报协议)组播的方式;常用方案二:云桌面服务器3和终端跨网段,也即在不同的网段,此时需要采用增加组播服务器和支持组播协议交换机方式实现组播。In the process of using the virtual desktop, the data exchange between the terminal and the cloud desktop server is usually unicast or multicast. The common multicast schemes are as follows: common solution 1: cloud desktop server 3 and terminal are on the same network segment, cloud desktop The server 3 uses the direct UDP (User Datagram Protocol) multicast method. The common solution 2: the cloud desktop server 3 and the terminal cross-network segment, that is, on different network segments. And support multicast protocol switch mode to achieve multicast.

发明内容Summary of the invention

以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。The following is an overview of the topics detailed in this document. This Summary is not intended to limit the scope of the claims.

有些虚拟桌面的组播并不能根据当前组网环境自适应地选择组播方式,且在跨网段场景下通过增加组播服务器和支持组播协议交换机实现组播成本高,资源利用率低。 The multicast of some virtual desktops cannot be adaptively selected according to the current networking environment. In the scenario of inter-network segment, the multicast cost is increased and the resource utilization is low.

本公开实施例提供了一种虚拟桌面组播控制方法、终端、代理终端及云桌面服务器,能够避免虚拟桌面的组播不能根据当前组网环境自适应地选择组播方式,且在跨网段场景下实现组播成本低,资源利用率高。The embodiment of the present disclosure provides a virtual desktop multicast control method, a terminal, a proxy terminal, and a cloud desktop server, which can prevent the multicast of the virtual desktop from being adaptively selected according to the current networking environment, and is in an inter-network segment. The multicast cost is low and the resource utilization is high.

本公开实施例提供一种虚拟桌面组播控制方法,包括:The embodiment of the present disclosure provides a virtual desktop multicast control method, including:

对终端当前所处网络环境进行检测;Detecting the current network environment of the terminal;

根据检测结果确定组播方式;Determine the multicast mode based on the detection result;

当所述组播方式为间接组播方式时,向代理终端发送间接组播通信请求;When the multicast mode is an indirect multicast mode, sending an indirect multicast communication request to the proxy terminal;

接收所述代理终端从云桌面服务器获取的、并以组播方式向所述终端发送的虚拟桌面数据。Receiving virtual desktop data obtained by the proxy terminal from the cloud desktop server and sent to the terminal in a multicast manner.

本公开实施例还提供一种虚拟桌面组播控制方法,包括:The embodiment of the present disclosure further provides a virtual desktop multicast control method, including:

接收终端发送的间接组播通信请求;Receiving an indirect multicast communication request sent by the terminal;

与云桌面服务器建立通信,从所述云桌面服务器获取相应的虚拟桌面数据;Establishing communication with the cloud desktop server, and obtaining corresponding virtual desktop data from the cloud desktop server;

将所述虚拟桌面数据以组播方式向所述终端发送。The virtual desktop data is sent to the terminal in a multicast manner.

本公开实施例还提供一种虚拟桌面组播控制方法,包括:The embodiment of the present disclosure further provides a virtual desktop multicast control method, including:

与代理终端建立通信;Establish communication with the agent terminal;

将相应的虚拟桌面数据发给所述代理终端,通过所述代理终端组播给对应的终端。Corresponding virtual desktop data is sent to the proxy terminal, and is multicast to the corresponding terminal by the proxy terminal.

本公开实施例还提供一种终端,包括:The embodiment of the present disclosure further provides a terminal, including:

组播能力检测模块,设置为:对终端当前所处网络环境进行检测,根据检测结果确定组播方式,The multicast capability detection module is configured to: detect the current network environment of the terminal, and determine the multicast mode according to the detection result.

虚拟桌面客户端模块,设置为:在所述组播方式为间接组播方式时,向代理终端发送间接组播通信请求,以及设置为:接收所述代理终端从云桌面服务器获取的、并以组播方式向所述终端发送的虚拟桌面数据。The virtual desktop client module is configured to: when the multicast mode is an indirect multicast mode, send an indirect multicast communication request to the proxy terminal, and set to: receive the proxy terminal to obtain from the cloud desktop server, and The virtual desktop data sent by the multicast mode to the terminal.

本公开实施例还提供一种代理终端,包括:The embodiment of the present disclosure further provides a proxy terminal, including:

数据获取模块,设置为:接收终端发送的间接组播通信请求,与云桌面服务器建立通信,从所述云桌面服务器获取相应的虚拟桌面数据; The data acquisition module is configured to: receive an indirect multicast communication request sent by the terminal, establish communication with the cloud desktop server, and obtain corresponding virtual desktop data from the cloud desktop server;

组播数据转发模块,设置为:将所述虚拟桌面数据以组播方式向所述终端发送。The multicast data forwarding module is configured to: send the virtual desktop data to the terminal in a multicast manner.

本公开实施例还提供一种云桌面服务器,包括:The embodiment of the present disclosure further provides a cloud desktop server, including:

通信处理模块,设置为:与代理终端建立通信;a communication processing module, configured to: establish communication with the proxy terminal;

虚拟桌面管理模块,设置为:将相应的虚拟桌面数据发给所述代理终端,通过所述代理终端组播给对应的终端。The virtual desktop management module is configured to: send corresponding virtual desktop data to the proxy terminal, and multicast to the corresponding terminal by using the proxy terminal.

本公开实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述的虚拟桌面组播控制方法。Embodiments of the present disclosure also provide a computer storage medium having stored therein computer executable instructions for performing the aforementioned virtual desktop multicast control method.

本公开实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现上述虚拟桌面组播控制方法。Embodiments of the present disclosure also provide a computer readable storage medium storing computer executable instructions that, when executed, implement the virtual desktop multicast control method described above.

本公开实施例的有益效果是:The beneficial effects of the embodiments of the present disclosure are:

根据本公开实施例提供的虚拟桌面组播控制方法、终端、代理终端、云桌面服务器及存储介质,虚拟桌面组播控制方法,对终端当前所处网络环境进行检测;根据检测结果确定采用组播方式,当确定的组播方式为间接组播方式时,向代理终端发送间接组播通信请求,代理终端则与云桌面服务器建立连接获取对应的虚拟桌面数据,然后以组播方式向终端发送虚拟桌面数据。本公开实施例可以根据对终端所处网络环境进行检测,根据检测结果自适应的确定组播方式,同时在确定采用间接组播时,直接通过代理终端从云桌面服务器获取虚拟桌面数据,并不需要增加组播服务器和支持组播协议交换机,既能降低实现间接组播的成本,又能提升资源利用率。According to the virtual desktop multicast control method, the terminal, the proxy terminal, the cloud desktop server and the storage medium, and the virtual desktop multicast control method, the virtual desktop multicast control method is used to detect the current network environment of the terminal, and the multicast is determined according to the detection result. In the method, when the determined multicast mode is the indirect multicast mode, the indirect multicast communication request is sent to the proxy terminal, and the proxy terminal establishes a connection with the cloud desktop server to obtain the corresponding virtual desktop data, and then sends the virtual to the terminal in a multicast manner. Desktop data. The embodiment of the present disclosure may detect the network environment in which the terminal is located, and determine the multicast mode adaptively according to the detection result, and obtain the virtual desktop data directly from the cloud desktop server through the proxy terminal when determining to adopt the indirect multicast. The need to add a multicast server and support a multicast protocol switch can reduce the cost of implementing indirect multicast and improve resource utilization.

在阅读并理解了附图和详细描述后,可以明白其他方面。Other aspects will be apparent upon reading and understanding the drawings and detailed description.

附图概述BRIEF abstract

图1为终端侧虚拟桌面组播控制方法流程示意图;1 is a schematic flowchart of a terminal side virtual desktop multicast control method;

图2为代理终端侧虚拟桌面组播控制方法流程示意图;2 is a schematic flowchart of a proxy terminal side virtual desktop multicast control method;

图3为云桌面服务器侧虚拟桌面组播控制方法流程示意图;3 is a schematic flowchart of a virtual desktop multicast control method on a cloud desktop server side;

图4为虚拟桌面通信系统; Figure 4 is a virtual desktop communication system;

图5为终端结构示意图;Figure 5 is a schematic diagram of a terminal structure;

图6为代理终端结构示意图;6 is a schematic structural diagram of a proxy terminal;

图7为云桌面服务器结构示意图。Figure 7 is a schematic diagram of the structure of a cloud desktop server.

本公开的较佳实施方式Preferred embodiment of the present disclosure

下面结合附图对本公开的实施方式进行描述。Embodiments of the present disclosure will be described below with reference to the accompanying drawings.

本公开实施例中可设置代理终端,该代理终端可以同时与用户终端(以下简称终端)和云桌面服务器建立通信,且该代理终端与云桌面服务器既可以通过组播的方式实现通信,又可以通过单播的方式实现通信。本实施例中的代理终端可以是用户终端,且可以设置一个代理终端,也可以设置多个代理终端。可以根据应用场景灵活设定。也即本实施例中的代理终端可具有从云桌面服务器获取虚拟桌面数据以及将获取的虚拟桌面数据转发给终端的能力。下面分别以终端侧、代理终端侧以及云桌面服务器侧的虚拟桌面组播控制过程进行示例说明。In the embodiment of the present disclosure, a proxy terminal may be set up, and the proxy terminal may establish communication with a user terminal (hereinafter referred to as a terminal) and a cloud desktop server at the same time, and the proxy terminal and the cloud desktop server can implement communication through multicast mode. Communication is achieved by unicast. The proxy terminal in this embodiment may be a user terminal, and may set one proxy terminal or multiple proxy terminals. It can be flexibly set according to the application scenario. That is, the proxy terminal in this embodiment may have the capability of acquiring virtual desktop data from the cloud desktop server and forwarding the obtained virtual desktop data to the terminal. The following describes the virtual desktop multicast control process on the terminal side, the proxy terminal side, and the cloud desktop server side respectively.

在终端侧,虚拟桌面组播控制方法参见图1所示,包括:On the terminal side, the virtual desktop multicast control method is shown in Figure 1, including:

S101:对终端当前所处网络环境进行检测。S101: Detecting a network environment where the terminal is currently located.

该步骤可以由终端对自身当前所处网络环境进行检测,对网络环境进行检测包括但不限于对当前所处网络的传输延迟时间值、或丢包率、或传输延迟时间值和丢包率进行检测。本实施例中可以通过netstat(网络信息统计)检测当前网络环境情况。netstat是一个监控TCP(Transmission Control Protocol传输控制协议)/IP(Internet Protocol,网络协议)网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,可用于检验本终端每一个端口的网络连接情况。The step may be performed by the terminal to detect the current network environment of the terminal, and the detection of the network environment includes, but is not limited to, performing a transmission delay time value, or a packet loss rate, or a transmission delay time value and a packet loss rate of the current network. Detection. In this embodiment, the current network environment can be detected through netstat (network information statistics). Netstat is a very useful tool for monitoring TCP (Transmission Control Protocol)/IP (Internet Protocol) networks. It can display routing tables, actual network connections, and status information of each network interface device. Inspect the network connection of each port of the terminal.

S102:根据检测结果确定采用间接组播方式还是直接组播方式,如采用间接组播方式,转至S103;否则,转至S105。S102: Determine whether to use the indirect multicast mode or the direct multicast mode according to the detection result. If the indirect multicast mode is used, go to S103; otherwise, go to S105.

S103:向代理终端发送间接组播通信请求,与云桌面服务器建立通信。S103: Send an indirect multicast communication request to the proxy terminal to establish communication with the cloud desktop server.

本步骤中的间接组播通信请求中可以包含待获取虚拟桌面数据的信息,代理终端与云桌面服务器建立通信连接后,即可根据待获取虚拟桌面数据的 信息从云桌面服务器获取相应的虚拟桌面数据,并以组播的方式向终端发送获取的虚拟桌面数据。此时代理终端可以主动向云桌面服务器发起建立通信连接。The indirect multicast communication request in this step may include information about the virtual desktop data to be acquired, and after the proxy terminal establishes a communication connection with the cloud desktop server, the virtual desktop data may be acquired according to the virtual desktop data to be obtained. The information obtains the corresponding virtual desktop data from the cloud desktop server, and sends the obtained virtual desktop data to the terminal in a multicast manner. At this point, the proxy terminal can initiate a communication connection to the cloud desktop server.

本步骤中的间接组播通信请求中也可以不包含待获取虚拟桌面数据的信息,且根据检测结果确定采用间接组播方式时,还可向云桌面服务器发送包含组播方式(此时则为间接组播方式)的组播方式控制消息,该组播方式控制消息中可以包含待获取虚拟桌面数据的信息。此时可以由云桌面服务器主动向代理终端发起建立通信连接,并向代理终端发送对应的虚拟桌面数据,代理终端以组播的方式向终端发送该虚拟桌面数据。The indirect multicast communication request in this step may also include the information about the virtual desktop data to be obtained, and if the indirect multicast mode is determined according to the detection result, the multicast mode may also be sent to the cloud desktop server (in this case, In the indirect multicast mode, the multicast mode control message may include information about the virtual desktop data to be acquired. At this time, the cloud desktop server may initiate a communication connection to the proxy terminal, and send the corresponding virtual desktop data to the proxy terminal, and the proxy terminal sends the virtual desktop data to the terminal in a multicast manner.

本实施例中,代理终端向终端组播虚拟桌面数据时,可以通过UDP组播或者其他组播方式。云桌面服务器向代理终端发送虚拟桌面数据时,则可以通过单播的方式向代理终端发送,例如采用TCP连接方式实现虚拟桌面数据的交互。In this embodiment, when the proxy terminal multicasts the virtual desktop data to the terminal, it may pass UDP multicast or other multicast mode. When the cloud desktop server sends the virtual desktop data to the proxy terminal, it can be sent to the proxy terminal in a unicast manner, for example, using a TCP connection manner to implement virtual desktop data interaction.

S104:接收代理终端从云桌面服务器获取的、并以组播方式向终端发送的虚拟桌面数据。S104: Receive virtual desktop data obtained by the proxy terminal from the cloud desktop server and sent to the terminal in a multicast manner.

S105:向云桌面服务器发送直接组播通信请求,该直接组播通信请求中可以包含待获取数据信息。S105: Send a direct multicast communication request to the cloud desktop server, where the direct multicast communication request may include data information to be acquired.

S106:接收云桌面服务器根据直接组播通信请求以直接组播方式向终端发送的相应的虚拟桌面数据。本步骤中的组播方式也可包括但不限于UDP组播。S106: Receive corresponding virtual desktop data that is sent by the cloud desktop server to the terminal in a direct multicast manner according to the direct multicast communication request. The multicast mode in this step may also include, but is not limited to, UDP multicast.

本实施例中,对终端当前所处网络环境进行检测,并根据检测结果确定组播方式可包括但不限于以下方式中的任意一种:In this embodiment, detecting the network environment where the terminal is currently located, and determining the multicast mode according to the detection result may include, but is not limited to, any one of the following manners:

方式一:method one:

对终端当前所处网络的传输延迟时间值进行检测,当检测到的传输延迟时间值大于预设传输延迟阈值时,此时表明网络环境较差,例如当前可能处于跨网段组网环境,确定采用间接组播方式,否则,确定采用直接组播方式。The value of the transmission delay time of the network where the terminal is currently located is detected. When the detected transmission delay time value is greater than the preset transmission delay threshold, the network environment is poor. For example, the network environment may be in a cross-network segment. Indirect multicast mode is adopted. Otherwise, direct multicast mode is determined.

方式二:Method 2:

对终端当前所处网络的丢包率进行检测,当检测到的丢包率大于预设丢 包率阈值时,此时表明网络环境较差,例如当前可能处于跨网段组网环境,确定采用间接组播方式,否则,确定采用直接组播方式。Detecting the packet loss rate of the network where the terminal is currently located, when the detected packet loss rate is greater than the default When the packet rate threshold is set, the network environment is poor. For example, the indirect multicast mode is determined. Otherwise, the direct multicast mode is adopted.

方式三:Method three:

对终端当前所处网络的传输延迟时间值和丢包率进行检测,当检测到的传输延迟时间值大于预设传输延迟阈值,或检测到的丢包率大于预设丢包率阈值,或检测到的传输延迟时间值大于预设传输延迟阈值且检测到的丢包率大于预设丢包率阈值时,此时表明网络环境较差,例如当前可能处于跨网段组网环境,确定采用间接组播方式,确定采用间接组播方式,否则,确定采用直接组播方式。Detecting the transmission delay time value and the packet loss rate of the network currently in the terminal, when the detected transmission delay time value is greater than the preset transmission delay threshold, or the detected packet loss rate is greater than the preset packet loss rate threshold, or detecting If the transmission delay time is greater than the preset transmission delay threshold and the detected packet loss rate is greater than the preset packet loss threshold, the network environment is poor. For example, the network may be in a cross-network segment networking environment. In the multicast mode, the indirect multicast mode is determined. Otherwise, the direct multicast mode is determined.

可以理解的是,对网络环境的检测除了上述示例的传输延迟时间值和丢包率外,还可对其他任意能体现网络环境的网络指标进行检测。It can be understood that, in addition to the transmission delay time value and the packet loss rate of the above example, the detection of the network environment can also detect any other network indicator that can reflect the network environment.

在代理终端侧,虚拟桌面组播控制方法参见图2所示,包括:On the agent terminal side, the virtual desktop multicast control method is shown in Figure 2, including:

S201:接收终端发送的间接组播通信请求。S201: Receive an indirect multicast communication request sent by the terminal.

代理终端接收到终端发送的间接组播通信请求时,表明终端当前所处网络环境差,例如当前处于跨网段阶段。When the proxy terminal receives the indirect multicast communication request sent by the terminal, it indicates that the current network environment of the terminal is poor, for example, it is currently in the inter-network segment phase.

S202:与云桌面服务器建立通信,从云桌面服务器获取相应的虚拟桌面数据。S202: Establish communication with the cloud desktop server, and obtain corresponding virtual desktop data from the cloud desktop server.

如上述分析,代理终端与云桌面服务器之间通信的连接,可以由二者中的任意一个发起。云桌面服务器可以根据待获取虚拟桌面数据的信息主动向代理终端发送相应的虚拟桌面数据,也可由代理终端根据待获取虚拟桌面数据的信息主动向云桌面服务器获取相应的虚拟桌面数据。As described above, the connection between the proxy terminal and the cloud desktop server can be initiated by either of them. The cloud desktop server can actively send the corresponding virtual desktop data to the proxy terminal according to the information of the virtual desktop data to be obtained, or the proxy terminal can actively obtain the corresponding virtual desktop data from the cloud desktop server according to the information of the virtual desktop data to be acquired.

云桌面服务器向代理终端发送虚拟桌面数据时,则可以通过单播的方式向代理终端发送。When the cloud desktop server sends the virtual desktop data to the proxy terminal, it can be sent to the proxy terminal in a unicast manner.

S203:将虚拟桌面数据以组播方式向终端发送,该步骤中的组播方式可包括但不限于UDP组播。S203: The virtual desktop data is sent to the terminal in a multicast manner, and the multicast mode in the step may include, but is not limited to, UDP multicast.

在云桌面服务器侧,虚拟桌面组播控制方法参见图3所示,包括:On the cloud desktop server side, the virtual desktop multicast control method is shown in Figure 3. It includes:

S301:与代理终端建立通信。 S301: Establish communication with the proxy terminal.

云桌面服务器与代理终端之间建立通信的过程可参见上述分析,在此不再赘述。The process of establishing communication between the cloud desktop server and the proxy terminal can be referred to the above analysis, and details are not described herein again.

本实施例中,终端确定采用间接组播方式时,当云桌面服务器与代理终端建立通信之前,终端可以先向云桌面服务器发送包含组播方式的组播方式控制消息;云桌面服务器可接收终端发送的包含组播方式的组播方式控制消息,在组播方式为间接组播方式时,可与代理终端建立通信。In this embodiment, when the terminal determines to use the indirect multicast mode, the terminal may first send a multicast mode control message including the multicast mode to the cloud desktop server before the cloud desktop server establishes communication with the proxy terminal; the cloud desktop server may receive the terminal. The multicast mode control message is sent in multicast mode. When the multicast mode is indirect multicast mode, communication can be established with the proxy terminal.

S302:将相应的虚拟桌面数据发给代理终端,通过代理终端组播给对应的终端。S302: Send the corresponding virtual desktop data to the proxy terminal, and multicast to the corresponding terminal by using the proxy terminal.

云桌面服务器可以根据待获取虚拟桌面数据的信息主动向代理终端发送相应的虚拟桌面数据,也可由代理终端根据待获取虚拟桌面数据的信息主动向云桌面服务器获取相应的虚拟桌面数据。The cloud desktop server can actively send the corresponding virtual desktop data to the proxy terminal according to the information of the virtual desktop data to be obtained, or the proxy terminal can actively obtain the corresponding virtual desktop data from the cloud desktop server according to the information of the virtual desktop data to be acquired.

云桌面服务器向代理终端发送虚拟桌面数据时,则可以通过单播的方式向代理终端发送。When the cloud desktop server sends the virtual desktop data to the proxy terminal, it can be sent to the proxy terminal in a unicast manner.

本实施例中,当根据检测结果确定采用直接组播方式时,云桌面服务器还可与终端直接建立通信连接,将相应的虚拟桌面数据直接组播给该终端。该组播方式可包括但不限于UDP组播。In this embodiment, when the direct multicast mode is determined according to the detection result, the cloud desktop server may directly establish a communication connection with the terminal, and directly multicast the corresponding virtual desktop data to the terminal. The multicast mode may include, but is not limited to, UDP multicast.

本实施例中的终端可以对所处网络环境进行检测,根据检测结果自适应地确定组播方式,同时在确定采用间接组播时,可以直接通过代理终端从云桌面服务器获取虚拟桌面数据,并不需要增加组播服务器和支持组播协议交换机,既能降低实现间接组播的成本,又能提升资源利用率。The terminal in this embodiment can detect the network environment, determine the multicast mode adaptively according to the detection result, and obtain the virtual desktop data from the cloud desktop server directly through the proxy terminal when determining to use the indirect multicast. There is no need to add a multicast server and support a multicast protocol switch, which can reduce the cost of implementing indirect multicast and improve resource utilization.

参见图4所示,本实施例提供了一种虚拟桌面通信系统,包括终端1、代理终端2和云桌面服务器3。终端1可以对自身当前所处网络环境进行检测,根据检测结果确定组播方式,且确定采用间接组播方式即确定的组播方式为间接组播方式时,可以通过代理终端2与云桌面服务器3获取对应的虚拟桌面数据,代理终端2获取到虚拟桌面数据后以组播的方式发给终端1。根据检测结果确定采用直接组播方式即确定的组播方式为直接组播方式时,终端1可以直接与云桌面服务器3建立通信,与桌面服务器可以以UDP组播 等方式将对应的虚拟桌面数据发送给终端1。As shown in FIG. 4, the embodiment provides a virtual desktop communication system, including a terminal 1, a proxy terminal 2, and a cloud desktop server 3. The terminal 1 can detect the current network environment, and determine the multicast mode according to the detection result, and determine that the indirect multicast mode is determined by the indirect multicast mode, and the proxy terminal 2 and the cloud desktop server can be used. 3: Obtain the corresponding virtual desktop data, and the proxy terminal 2 obtains the virtual desktop data and sends the data to the terminal 1 in a multicast manner. According to the detection result, when the multicast mode determined by the direct multicast mode is the direct multicast mode, the terminal 1 can directly establish communication with the cloud desktop server 3, and the desktop server can perform UDP multicast. The corresponding virtual desktop data is sent to the terminal 1 in an equal manner.

本实施例中的虚拟桌面数据可包括但不限于虚拟桌面的内容数据以及各种操作数据。The virtual desktop data in this embodiment may include, but is not limited to, content data of the virtual desktop and various operational data.

参见图5所示,本实施例中的终端1可以是各种PC或者移动终端等,包括:As shown in FIG. 5, the terminal 1 in this embodiment may be various PCs or mobile terminals, and includes:

组播能力检测模块11,设置为:对终端1当前所处网络环境进行检测,根据检测结果确定组播方式。The multicast capability detecting module 11 is configured to: detect a network environment where the terminal 1 is currently located, and determine a multicast mode according to the detection result.

组播能力检测模块11对网络环境进行检测可包括但不限于对当前所处网络的传输延迟时间值、或丢包率、或传输延迟时间值和丢包率进行检测。本实施例中组播能力检测模块11可以通过netstat等工具检测当前网络环境情况。The detection of the network environment by the multicast capability detecting module 11 may include, but is not limited to, detecting a transmission delay time value, or a packet loss rate, or a transmission delay time value and a packet loss rate of the current network. In this embodiment, the multicast capability detecting module 11 can detect the current network environment by using a tool such as netstat.

组播能力检测模块11根据检测结果确定采用间接组播方式还是直接组播方式,在检测到当前网络环境较好时,可确定采用间接组播方式,否则,可确定采用直接组播方式。The multicast capability detection module 11 determines whether to use the indirect multicast mode or the direct multicast mode according to the detection result. When the current network environment is detected to be good, the indirect multicast mode may be determined. Otherwise, the direct multicast mode may be determined.

组播能力检测模块11对终端1当前所处网络环境进行检测,并根据检测结果确定组播方式可包括但不限于以下方式中的任意一种:The multicast capability detecting module 11 detects the network environment where the terminal 1 is currently located, and determines the multicast mode according to the detection result, which may include, but is not limited to, any one of the following manners:

方式一:method one:

对终端当前所处网络的传输延迟时间值进行检测,当检测到的传输延迟时间值大于预设传输延迟阈值时,此时表明网络环境较差,例如当前可能处于跨网段组网环境,确定采用间接组播方式,否则,确定采用直接组播方式。The value of the transmission delay time of the network where the terminal is currently located is detected. When the detected transmission delay time value is greater than the preset transmission delay threshold, the network environment is poor. For example, the network environment may be in a cross-network segment. Indirect multicast mode is adopted. Otherwise, direct multicast mode is determined.

方式二:Method 2:

对终端当前所处网络的丢包率进行检测,当检测到的丢包率大于预设丢包率阈值时,此时表明网络环境较差,例如当前可能处于跨网段组网环境,确定采用间接组播方式,否则,确定采用直接组播方式。The packet loss rate of the network where the terminal is currently located is detected. When the detected packet loss rate is greater than the default packet loss rate threshold, the network environment is poor. For example, the network may be in a cross-network segment networking environment. Indirect multicast mode. Otherwise, the direct multicast mode is determined.

方式三:Method three:

对终端当前所处网络的传输延迟时间值和丢包率进行检测,当检测到的传输延迟时间值大于预设传输延迟阈值,或检测到的丢包率大于预设丢包率阈值,或检测到的传输延迟时间值大于预设传输延迟阈值且检测到的丢包率 大于预设丢包率阈值时,此时表明网络环境较差,例如当前可能处于跨网段组网环境,确定采用间接组播方式,确定采用间接组播方式,否则,确定采用直接组播方式。Detecting the transmission delay time value and the packet loss rate of the network currently in the terminal, when the detected transmission delay time value is greater than the preset transmission delay threshold, or the detected packet loss rate is greater than the preset packet loss rate threshold, or detecting The transmitted delay time value is greater than the preset transmission delay threshold and the detected packet loss rate If the threshold is greater than the default packet loss rate, the network environment is poor. For example, the indirect multicast mode is determined. The indirect multicast mode is determined. Otherwise, the direct multicast mode is determined. .

可以理解的是,对网络环境的检测除了上述示例的传输延迟时间值和丢包率外,还可对其他任意能体现网络环境的网络指标进行检测。It can be understood that, in addition to the transmission delay time value and the packet loss rate of the above example, the detection of the network environment can also detect any other network indicator that can reflect the network environment.

虚拟桌面客户端模块12,设置为:在组播方式为间接组播方式时,向代理终端2发送间接组播通信请求,以及设置为:接收代理终端2从云桌面服务器获取的、并以组播方式向终端1发送的虚拟桌面数据。The virtual desktop client module 12 is configured to: when the multicast mode is the indirect multicast mode, send an indirect multicast communication request to the proxy terminal 2, and set to: the receiving proxy terminal 2 obtains from the cloud desktop server, and sets the group The virtual desktop data sent by the broadcast mode to the terminal 1.

虚拟桌面客户端模块12发送的间接组播通信请求中可以包含待获取虚拟桌面数据的信息,代理终端2与云桌面服务器3建立通信连接后,即可根据待获取虚拟桌面数据的信息从云桌面服务器3获取相应的虚拟桌面数据,并以组播的方式向终端1发送获取的虚拟桌面数据。此时代理终端2可以主动向云桌面服务器1发起建立通信连接。The indirect multicast communication request sent by the virtual desktop client module 12 may include information about the virtual desktop data to be acquired. After the proxy terminal 2 establishes a communication connection with the cloud desktop server 3, the information may be obtained from the cloud desktop according to the information of the virtual desktop data to be obtained. The server 3 acquires the corresponding virtual desktop data, and sends the acquired virtual desktop data to the terminal 1 in a multicast manner. At this time, the agent terminal 2 can actively initiate a communication connection to the cloud desktop server 1.

本实施例中的间接组播通信请求中也可以不包含待获取虚拟桌面数据的信息,且根据检测结果确定采用间接组播方式时,虚拟桌面客户端模块12还可向云桌面服务器3发送包含组播方式(此时则为间接组播方式)的组播方式控制消息,该组播方式控制消息中可以包含待获取虚拟桌面数据的信息。此时可以由云桌面服务器3主动向代理终端发起建立通信连接,并向代理终端2发送对应的虚拟桌面数据,代理终端2以组播的方式向终端发送该虚拟桌面数据。The indirect multicast communication request in this embodiment may not include the information of the virtual desktop data to be acquired, and when the indirect multicast mode is determined according to the detection result, the virtual desktop client module 12 may also send the inclusion to the cloud desktop server 3. The multicast mode control message in the multicast mode (in this case, the indirect multicast mode). The multicast mode control message may include information about the virtual desktop data to be obtained. At this time, the cloud desktop server 3 can initiate the establishment of the communication connection to the proxy terminal, and send the corresponding virtual desktop data to the proxy terminal 2, and the proxy terminal 2 sends the virtual desktop data to the terminal in a multicast manner.

本实施例中,代理终端2向终端组播虚拟桌面数据时,可以通过UDP组播或者其他组播方式。云桌面服务器3向代理终端2发送虚拟桌面数据时,则可以通过单播的方式向代理终端1发送,例如采用TCP(Transmission Control Protocol传输控制协议)连接方式实现虚拟桌面数据的交互。In this embodiment, when the proxy terminal 2 multicasts the virtual desktop data to the terminal, it can pass UDP multicast or other multicast mode. When the cloud desktop server 3 sends the virtual desktop data to the proxy terminal 2, it can be sent to the proxy terminal 1 by means of unicast, for example, using the TCP (Transmission Control Protocol) connection method to implement virtual desktop data interaction.

本实施例中的组播能力检测模块11、虚拟桌面客户端模块12的功能可以由终端内的处理器或控制器实现,二者可以构造于处理器或控制器内部。The functions of the multicast capability detecting module 11 and the virtual desktop client module 12 in this embodiment may be implemented by a processor or a controller in the terminal, and the two may be configured inside the processor or the controller.

参见图6所示,本实施例中的代理终端2包括:Referring to FIG. 6, the proxy terminal 2 in this embodiment includes:

数据获取模块21,设置为:接收终端发送的间接组播通信请求,与云桌 面服务器建立通信,从云桌面服务器获取相应的虚拟桌面数据。The data obtaining module 21 is configured to: receive an indirect multicast communication request sent by the terminal, and the cloud table The surface server establishes communication and obtains corresponding virtual desktop data from the cloud desktop server.

数据获取模块21接收到终端发送的间接组播通信请求时,表明终端当前所处网络环境差,例如当前处于跨网段阶段。数据获取模块21与云桌面服务器之间通信的连接(例如建立TCP连接),可以由二者中的任意一个发起。云桌面服务器可以根据待获取虚拟桌面数据的信息主动向数据获取模块21发送相应的虚拟桌面数据,也可由数据获取模块21根据待获取虚拟桌面数据的信息主动向云桌面服务器获取相应的虚拟桌面数据。When the data acquisition module 21 receives the indirect multicast communication request sent by the terminal, it indicates that the network environment where the terminal is currently located is poor, for example, currently in the inter-network segment phase. The connection between the data acquisition module 21 and the cloud desktop server (eg, establishing a TCP connection) can be initiated by either of them. The cloud desktop server can actively send the corresponding virtual desktop data to the data acquiring module 21 according to the information of the virtual desktop data to be obtained, or the data acquiring module 21 can actively obtain the corresponding virtual desktop data from the cloud desktop server according to the information of the virtual desktop data to be obtained. .

组播数据转发模块22,设置为:将数据获取模块21获取的虚拟桌面数据以组播方式向终端发送。组播数据转发模块22采用的组播方式包括但不限于UDP组播。The multicast data forwarding module 22 is configured to: send the virtual desktop data acquired by the data obtaining module 21 to the terminal in a multicast manner. The multicast mode adopted by the multicast data forwarding module 22 includes, but is not limited to, UDP multicast.

本实施例中的数据获取模块21、组播数据转发模块22的功能可以由代理终端内的处理器或控制器实现,二者可以构造于处理器或控制器内部。The functions of the data acquisition module 21 and the multicast data forwarding module 22 in this embodiment may be implemented by a processor or a controller in the proxy terminal, and the two may be configured inside the processor or the controller.

请参见图7所示,本实施例中的云桌面服务器3包括:Referring to FIG. 7, the cloud desktop server 3 in this embodiment includes:

通信处理模块31,设置为:与代理终端建立通信。The communication processing module 31 is configured to establish communication with the proxy terminal.

通信处理模块31在终端1确定采用间接组播方式时,与代理终端建立通信,例如包括但不限于建立TCP通信。当终端1确定采用直接组播方式时,可与终端直接建立通信。The communication processing module 31 establishes communication with the proxy terminal when the terminal 1 determines to adopt the indirect multicast mode, including, for example, but not limited to, establishing TCP communication. When the terminal 1 determines that the direct multicast mode is adopted, communication can be established directly with the terminal.

虚拟桌面管理模块32,设置为:在终端1确定采用间接组播方式时,将相应的虚拟桌面数据发给代理终端(可以采用单播的方式发送,也可以采用组播的方式发送),通过代理终端组播给对应的终端。虚拟桌面管理模块32还可设置为:在终端1确定采用直接组播方式时,直接向该终端组播(包括但不限于UDP组播方式)对应的虚拟桌面数据。The virtual desktop management module 32 is configured to: when the terminal 1 determines that the indirect multicast mode is adopted, send the corresponding virtual desktop data to the proxy terminal (which may be sent in a unicast manner or in a multicast manner). The proxy terminal multicasts to the corresponding terminal. The virtual desktop management module 32 may also be configured to: when the terminal 1 determines to adopt the direct multicast mode, directly multicast the virtual desktop data corresponding to the terminal (including but not limited to the UDP multicast mode).

虚拟桌面管理模块32向代理终端2发送虚拟桌面数据时,可以通过单播的方式向代理终端2发送。When the virtual desktop management module 32 transmits the virtual desktop data to the proxy terminal 2, it can transmit to the proxy terminal 2 by means of unicast.

本实施例中的云桌面服务器3还可包括虚拟桌面池33,虚拟桌面管理模块32可以从云桌面服务器的虚拟桌面池33中提取相应的虚拟桌面数据发给代理终端2或终端1。The cloud desktop server 3 in this embodiment may further include a virtual desktop pool 33, and the virtual desktop management module 32 may extract corresponding virtual desktop data from the virtual desktop pool 33 of the cloud desktop server to the proxy terminal 2 or the terminal 1.

本实施例中的通信处理模块31、虚拟桌面管理模块32的功能可以由服 务器内的处理器或控制器实现,二者可以构造于处理器或控制器内部。The functions of the communication processing module 31 and the virtual desktop management module 32 in this embodiment may be served by A processor or controller implementation within the server, both of which may be internal to the processor or controller.

本领域的技术人员可以明白,上述本公开实施例的模块或步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成不同集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本公开实施例不限制于任何特定的硬件和软件结合。Those skilled in the art will appreciate that the above-described modules or steps of the embodiments of the present disclosure may be implemented by a general-purpose computing device, which may be centralized on a single computing device or distributed over a network of multiple computing devices. Alternatively, they may be implemented by program code executable by a computing device such that they may be stored by a computing device in a computer storage medium (ROM/RAM, diskette, optical disk) and, in some cases, The steps shown or described may be performed in a different order than that herein, or they may be separately fabricated into different integrated circuit modules, or a plurality of the modules or steps may be implemented as a single integrated circuit module. Therefore, embodiments of the present disclosure are not limited to any particular combination of hardware and software.

为了更好地理解本公开实施例,下面结合终端、代理终端和云桌面服务器的整个控制流程,对本公开实施例做示例说明。In order to better understand the embodiments of the present disclosure, the embodiments of the present disclosure are exemplified below in conjunction with the entire control flow of the terminal, the proxy terminal, and the cloud desktop server.

终端开机后,组播能力检测模块11可根据当前网络环境判断当前适用哪种组播方式,并将该信息保存。After the terminal is powered on, the multicast capability detecting module 11 can determine which multicast mode is currently applicable according to the current network environment, and save the information.

虚拟桌面客户端模块12启动,可向组播能力检测模块11获取终端适合组播方式信息,并同时启动与服务器通信处理模块31通信,通过发送组播方式控制消息将当前适合的组播方式告诉云桌面服务器3,可选地:The virtual desktop client module 12 is started, and the multicast capability detection module 11 can obtain the information suitable for the multicast mode of the terminal, and simultaneously initiate communication with the server communication processing module 31, and send the multicast mode control message to notify the currently suitable multicast mode. Cloud Desktop Server 3, optionally:

如果当前网络环境良好,则虚拟桌面客户端模块12可向云桌面服务器3发起udp注册,采用直接组播方式,建立组播侦听端口,等待云桌面服务器3组播数据;If the current network environment is good, the virtual desktop client module 12 can initiate udp registration to the cloud desktop server 3, establish a multicast listening port by using the direct multicast mode, and wait for the cloud desktop server 3 to multicast data.

如果当前网络环境较差,则虚拟桌面客户端模块12可向代理终端2发起控制消息,采用间接组播方式,向云桌面服务器3发起控制消息,虚拟桌面客户端模块12向代理终端发起udp注册,等待代理终端转发过来的组播数据。If the current network environment is poor, the virtual desktop client module 12 may initiate a control message to the proxy terminal 2, initiate an control message to the cloud desktop server 3 in an indirect multicast manner, and the virtual desktop client module 12 initiates a udp registration with the proxy terminal. Waiting for the multicast data forwarded by the proxy terminal.

代理终端收到终端发送的间接组播通信请求后,可启动数据获取模块21,首先向云桌面服务器3发起tcp链接,等待云桌面服务器3的组播数据;然后组播数据转发模块22将数据获取模块21获取的组播数据以组播方式向终端发送。After receiving the indirect multicast communication request sent by the terminal, the proxy terminal may start the data obtaining module 21, first initiate a tcp link to the cloud desktop server 3, and wait for the multicast data of the cloud desktop server 3; then the multicast data forwarding module 22 will data. The multicast data acquired by the obtaining module 21 is sent to the terminal in a multicast manner.

服务器的通信处理模块31收到终端发上来的组播方式控制信息后,可通知云桌面服务器3的虚拟桌面管理模块32,并可做如下处理: After receiving the multicast mode control information sent by the terminal, the communication processing module 31 of the server may notify the virtual desktop management module 32 of the cloud desktop server 3, and may perform the following processing:

如果当前网络环境良好,则按照直接组播方式进行组播,虚拟桌面管理模块32开启组播端口,并准备将组播数据直接广播到组播终端。If the current network environment is good, multicast is performed according to the direct multicast mode. The virtual desktop management module 32 starts the multicast port and prepares to broadcast the multicast data directly to the multicast terminal.

如果当前环境网络较差,则按照间接组播方式,则服务器等待代理终端tcp链接,链接后将组播数据以tcp方式发往代理终端。If the current environment network is poor, according to the indirect multicast mode, the server waits for the proxy terminal tcp link, and sends the multicast data to the proxy terminal in tcp mode after the link.

代理终端收到虚拟桌面管理模块32发送的组播数据后,可将组播数据以广播方式发往终端。After receiving the multicast data sent by the virtual desktop management module 32, the proxy terminal may send the multicast data to the terminal in a broadcast manner.

本公开实施例能够使用普通局域网环境下的组播,并且能够轻松解决以下场景的组播:例如云桌面服务器3在某运营商数据中心或教育局数据中心,终端1在某大型展厅或某偏远乡村学校;此时云桌面服务器3与终端1距离较远,网络环境复杂,网络环境布局不可知,运用常用直接广播方式,基本行不通,要么网络不通,要么数据延迟、丢包严重,组播基本不可用;运用本公开实施例提供的方案则能够轻松应对。既能提升用户体验满意度,又能降低成本和资源消耗。The embodiments of the present disclosure can use multicast in a common local area network environment, and can easily solve multicast in the following scenarios: for example, the cloud desktop server 3 is in a certain operator data center or the education bureau data center, and the terminal 1 is in a large exhibition hall or a remote place. Rural school; at this time, cloud desktop server 3 is far away from terminal 1, network environment is complex, network environment layout is unknown, and common direct broadcast mode is used, which is basically unworkable, or the network is unreachable, or data delay, packet loss is serious, multicast Basically unavailable; the solution provided by the embodiments of the present disclosure can be easily handled. It can improve user experience satisfaction while reducing cost and resource consumption.

本公开实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现上述虚拟桌面组播控制方法。Embodiments of the present disclosure also provide a computer readable storage medium storing computer executable instructions that, when executed, implement the virtual desktop multicast control method described above.

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(RAM,Random Access Memory)、只读存储器(ROM,Read-Only Memory)、电可擦除只读存储器(EEPROM,Electrically Erasable Programmable Read-only  Memory)、闪存或其他存储器技术、光盘只读存储器(CD-ROM,Compact Disc Read-Only Memory)、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。Those of ordinary skill in the art will appreciate that all or some of the steps, systems, and functional blocks/units of the methods disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be composed of several physical The components work together. Some or all of the components may be implemented as software executed by a processor, such as a digital signal processor or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on a computer readable medium, which may include computer storage media (or non-transitory media) and communication media (or transitory media). As is well known to those of ordinary skill in the art, the term computer storage medium includes volatile and nonvolatile, implemented in any method or technology for storing information, such as computer readable instructions, data structures, program modules or other data. Sex, removable and non-removable media. Computer storage media include, but are not limited to, Random Access Memory (RAM), Read-Only Memory (ROM), EEPROM (Electrically Erasable Programmable Read-only) Memory), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical disc storage, magnetic cassette, magnetic tape, disk storage or other magnetic storage device Or any other medium that can be used to store the desired information and that can be accessed by the computer. Moreover, it is well known to those skilled in the art that communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and can include any information delivery media. .

本领域的普通技术人员可以理解,可以对本公开的技术方案进行修改或者等同替换,而不脱离本公开技术方案的精神和范围,均应涵盖在本公开的权利要求范围当中。A person skilled in the art can understand that the technical solutions of the present disclosure may be modified or equivalent, without departing from the spirit and scope of the present disclosure, and should be included in the scope of the claims of the present disclosure.

工业实用性Industrial applicability

根据本公开实施例提供的虚拟桌面组播控制方法、终端、代理终端、云桌面服务器及存储介质,虚拟桌面组播控制方法,对终端当前所处网络环境进行检测;根据检测结果确定采用间接组播方式时,向代理终端发送间接组播通信请求,代理终端则与云桌面服务器建立连接获取对应的虚拟桌面数据,然后以组播方式向终端发送虚拟桌面数据。本公开实施例可以根据对终端所处网络环境进行检测,根据检测结果自适应的确定组播方式,同时在确定采用间接组播时,直接通过代理终端从云桌面服务器获取虚拟桌面数据,并不需要增加组播服务器和支持组播协议交换机,既能降低实现间接组播的成本,又能提升资源利用率。 According to the virtual desktop multicast control method, the terminal, the proxy terminal, the cloud desktop server and the storage medium, and the virtual desktop multicast control method, the virtual desktop multicast control method is used to detect the current network environment of the terminal; and the indirect group is determined according to the detection result. In the broadcast mode, the indirect multicast communication request is sent to the proxy terminal, and the proxy terminal establishes a connection with the cloud desktop server to obtain the corresponding virtual desktop data, and then sends the virtual desktop data to the terminal in a multicast manner. The embodiment of the present disclosure may detect the network environment in which the terminal is located, and determine the multicast mode adaptively according to the detection result, and obtain the virtual desktop data directly from the cloud desktop server through the proxy terminal when determining to adopt the indirect multicast. The need to add a multicast server and support a multicast protocol switch can reduce the cost of implementing indirect multicast and improve resource utilization.

Claims (12)

一种虚拟桌面组播控制方法,包括:A virtual desktop multicast control method includes: 对终端当前所处网络环境进行检测;Detecting the current network environment of the terminal; 根据检测结果确定组播方式;Determine the multicast mode based on the detection result; 当所述组播方式为间接组播方式时,向代理终端发送间接组播通信请求;When the multicast mode is an indirect multicast mode, sending an indirect multicast communication request to the proxy terminal; 接收所述代理终端从云桌面服务器获取的、并以组播方式向所述终端发送的虚拟桌面数据。Receiving virtual desktop data obtained by the proxy terminal from the cloud desktop server and sent to the terminal in a multicast manner. 如权利要求1所述的虚拟桌面组播控制方法,其中,对所述终端当前所处网络环境进行检测;根据检测结果确定组播方式包括:The virtual desktop multicast control method according to claim 1, wherein the network environment in which the terminal is currently located is detected; and the determining the multicast mode according to the detection result includes: 对所述终端当前所处网络的传输延迟时间值进行检测,当检测到的传输延迟时间值大于预设传输延迟阈值时,确定所述组播方式为间接组播方式;当检测到的传输延迟时间值不大于预设传输延迟阈值时,确定所述组播方式为直接组播方式;Detecting a transmission delay time value of the network where the terminal is currently located, and determining that the multicast mode is an indirect multicast mode when the detected transmission delay time value is greater than a preset transmission delay threshold; when the detected transmission delay When the time value is not greater than the preset transmission delay threshold, determining that the multicast mode is a direct multicast mode; 或,or, 对所述终端当前所处网络的丢包率进行检测,当检测到的丢包率大于预设丢包率阈值时,确定所述组播方式为间接组播方式;当检测到的丢包率大于预设丢包率阈值时,确定所述组播方式为直接组播方式;The packet loss rate of the network where the terminal is currently located is detected. When the detected packet loss rate is greater than the preset packet loss rate threshold, the multicast mode is determined to be an indirect multicast mode; when the detected packet loss rate is detected When the threshold is greater than the preset packet loss rate, the multicast mode is determined to be a direct multicast mode. 或,or, 对所述终端当前所处网络的传输延迟时间值和丢包率进行检测,当检测到的传输延迟时间值大于预设传输延迟阈值,或检测到的丢包率大于预设丢包率阈值,或检测到的传输延迟时间值大于预设传输延迟阈值且检测到的丢包率大于预设丢包率阈值时,确定所述组播方式为间接组播方式;当检测到的传输延迟时间值不大于预设传输延迟阈值,或检测到的丢包率不大于预设丢包率阈值时,确定所述组播方式为直接组播方式。Detecting a transmission delay time value and a packet loss rate of the network where the terminal is currently located, when the detected transmission delay time value is greater than a preset transmission delay threshold, or the detected packet loss rate is greater than a preset packet loss rate threshold, Or when the detected transmission delay time value is greater than the preset transmission delay threshold and the detected packet loss rate is greater than the preset packet loss rate threshold, determining that the multicast mode is an indirect multicast mode; when the detected transmission delay time value is If the preset transmission delay threshold is not greater than the preset transmission delay threshold, or the detected packet loss ratio is not greater than the preset packet loss rate threshold, the multicast mode is determined to be the direct multicast mode. 如权利要求2所述的虚拟桌面组播控制方法,根据检测结果确定所述组播方式为直接组播方式时,还包括:The virtual desktop multicast control method according to claim 2, wherein when the multicast mode is determined to be a direct multicast mode according to the detection result, the method further includes: 向云桌面服务器发送直接组播通信请求; Send a direct multicast communication request to the cloud desktop server; 接收所述云桌面服务器根据所述直接组播通信请求以直接组播方式向所述终端发送的虚拟桌面数据。Receiving virtual desktop data sent by the cloud desktop server to the terminal in a direct multicast manner according to the direct multicast communication request. 如权利要求1至3中任一项所述的虚拟桌面组播控制方法,根据检测结果确定所述组播方式为间接组播方式时,还包括:向所述云桌面服务器发送包含组播方式的组播方式控制消息。The virtual desktop multicast control method according to any one of claims 1 to 3, wherein when the multicast mode is determined to be an indirect multicast mode according to the detection result, the method further includes: sending the multicast mode to the cloud desktop server Multicast mode control message. 一种虚拟桌面组播控制方法,包括:A virtual desktop multicast control method includes: 接收终端发送的间接组播通信请求;Receiving an indirect multicast communication request sent by the terminal; 与云桌面服务器建立通信,从所述云桌面服务器获取相应的虚拟桌面数据;Establishing communication with the cloud desktop server, and obtaining corresponding virtual desktop data from the cloud desktop server; 将所述虚拟桌面数据以组播方式向所述终端发送。The virtual desktop data is sent to the terminal in a multicast manner. 一种虚拟桌面组播控制方法,包括:A virtual desktop multicast control method includes: 与代理终端建立通信;Establish communication with the agent terminal; 将相应的虚拟桌面数据发给所述代理终端,通过所述代理终端组播给对应的终端。Corresponding virtual desktop data is sent to the proxy terminal, and is multicast to the corresponding terminal by the proxy terminal. 如权利要求6所述的虚拟桌面组播控制方法,其中,将相应的虚拟桌面数据发给所述代理终端包括:The virtual desktop multicast control method of claim 6, wherein the sending the corresponding virtual desktop data to the proxy terminal comprises: 通过单播的组播方式将所述虚拟桌面数据发给所述代理终端。The virtual desktop data is sent to the proxy terminal by a unicast multicast mode. 如权利要求6或7所述的虚拟桌面组播控制方法,与所述代理终端建立通信之前,还包括:The virtual desktop multicast control method according to claim 6 or 7, before establishing communication with the proxy terminal, the method further includes: 接收终端发送的包含组播方式的组播方式控制消息;Receiving a multicast mode control message including a multicast mode sent by the terminal; 在所述组播方式为间接组播方式时,与所述代理终端建立通信。When the multicast mode is an indirect multicast mode, communication is established with the proxy terminal. 一种终端,包括:A terminal comprising: 组播能力检测模块,设置为:对终端当前所处网络环境进行检测,根据检测结果确定组播方式;The multicast capability detection module is configured to: detect a network environment where the terminal is currently located, and determine a multicast mode according to the detection result; 虚拟桌面客户端模块,设置为:在所述组播方式为间接组播方式时,向代理终端发送间接组播通信请求,以及设置为:接收所述代理终端从云桌面服务器获取的、并以组播方式向所述终端发送的虚拟桌面数据。 The virtual desktop client module is configured to: when the multicast mode is an indirect multicast mode, send an indirect multicast communication request to the proxy terminal, and set to: receive the proxy terminal to obtain from the cloud desktop server, and The virtual desktop data sent by the multicast mode to the terminal. 一种代理终端,包括:A proxy terminal comprising: 数据获取模块,设置为:接收终端发送的间接组播通信请求,与云桌面服务器建立通信,从所述云桌面服务器获取相应的虚拟桌面数据;The data acquisition module is configured to: receive an indirect multicast communication request sent by the terminal, establish communication with the cloud desktop server, and obtain corresponding virtual desktop data from the cloud desktop server; 组播数据转发模块,设置为:将所述虚拟桌面数据以组播方式向所述终端发送。The multicast data forwarding module is configured to: send the virtual desktop data to the terminal in a multicast manner. 一种云桌面服务器,包括:A cloud desktop server that includes: 通信处理模块,设置为:与代理终端建立通信;a communication processing module, configured to: establish communication with the proxy terminal; 虚拟桌面管理模块,设置为:将相应的虚拟桌面数据发给所述代理终端,通过所述代理终端组播给对应的终端。The virtual desktop management module is configured to: send corresponding virtual desktop data to the proxy terminal, and multicast to the corresponding terminal by using the proxy terminal. 一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被执行时实现如权利要求1至8中任一权利要求所述的虚拟桌面组播控制方法。 A computer readable storage medium storing computer executable instructions that, when executed, implement the virtual desktop multicast control method of any one of claims 1-8.
PCT/CN2017/095484 2016-08-01 2017-08-01 Virtual desktop multicast control method, terminal, proxy terminal, and cloud desktop server Ceased WO2018024200A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610621427.2 2016-08-01
CN201610621427.2A CN107682384A (en) 2016-08-01 2016-08-01 Virtual desktop multicast control method, terminal, proxy terminal and cloud desktop server

Publications (1)

Publication Number Publication Date
WO2018024200A1 true WO2018024200A1 (en) 2018-02-08

Family

ID=61074070

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/095484 Ceased WO2018024200A1 (en) 2016-08-01 2017-08-01 Virtual desktop multicast control method, terminal, proxy terminal, and cloud desktop server

Country Status (2)

Country Link
CN (1) CN107682384A (en)
WO (1) WO2018024200A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112672094A (en) * 2020-12-23 2021-04-16 迈普通信技术股份有限公司 Cloud desktop conference sharing method and device, electronic equipment and storage medium
CN114629897A (en) * 2022-03-08 2022-06-14 阿里巴巴(中国)有限公司 Data processing method and system
CN118764540A (en) * 2024-09-03 2024-10-11 安徽省交通规划设计研究总院股份有限公司 Method and device for network optimization of VDI desktop

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112929410B (en) * 2021-01-20 2022-04-22 深圳市瑞驰信息技术有限公司 System and method for supporting cloud desktop multi-terminal display
CN114020395B (en) * 2021-11-17 2023-06-23 湖南麒麟信安科技股份有限公司 Virtual desktop network acceleration method, device, terminal and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050220074A1 (en) * 2004-03-30 2005-10-06 Naokazu Kawamura Multicast data communication system, data communication apparatus multicast data communication method, program and computer readable information recording medium
CN103516762A (en) * 2012-06-29 2014-01-15 华为技术有限公司 Virtual desktop generation method, equipment and system
CN104092760A (en) * 2014-07-15 2014-10-08 东莞市微云系统科技有限公司 System and method for cloud terminal multicast redirection
CN104580308A (en) * 2013-10-21 2015-04-29 中兴通讯股份有限公司 Virtual desktop reappearing and pushing method and device and virtual desktop system
CN105025047A (en) * 2014-04-22 2015-11-04 中兴通讯股份有限公司 Cloud desktop pushing method, system and pushing end and receiving end
CN105281921A (en) * 2014-06-10 2016-01-27 中兴通讯股份有限公司 Method and device enabling virtual desktop to realize multicast

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101764816B (en) * 2009-12-25 2013-01-09 浙江宇视科技有限公司 Data transmission method and device
CN102271079B (en) * 2010-06-04 2014-11-05 华为技术有限公司 Message forwarding method, node and system
CN101977151B (en) * 2010-11-09 2012-10-03 中南大学 Congestion control method used for wide area network environment with high packet loss rate
CN103095749A (en) * 2011-10-28 2013-05-08 浙江大华技术股份有限公司 Method and system used for achieving discovery of cross-network-segment equipment
CN105635222A (en) * 2014-11-06 2016-06-01 中兴通讯股份有限公司 Cloud terminal upgrading method and system, network management server and proxy server
CN104660952B (en) * 2015-03-04 2018-06-08 苏州科达科技股份有限公司 Video conference communication method and system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050220074A1 (en) * 2004-03-30 2005-10-06 Naokazu Kawamura Multicast data communication system, data communication apparatus multicast data communication method, program and computer readable information recording medium
CN103516762A (en) * 2012-06-29 2014-01-15 华为技术有限公司 Virtual desktop generation method, equipment and system
CN104580308A (en) * 2013-10-21 2015-04-29 中兴通讯股份有限公司 Virtual desktop reappearing and pushing method and device and virtual desktop system
CN105025047A (en) * 2014-04-22 2015-11-04 中兴通讯股份有限公司 Cloud desktop pushing method, system and pushing end and receiving end
CN105281921A (en) * 2014-06-10 2016-01-27 中兴通讯股份有限公司 Method and device enabling virtual desktop to realize multicast
CN104092760A (en) * 2014-07-15 2014-10-08 东莞市微云系统科技有限公司 System and method for cloud terminal multicast redirection

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112672094A (en) * 2020-12-23 2021-04-16 迈普通信技术股份有限公司 Cloud desktop conference sharing method and device, electronic equipment and storage medium
CN114629897A (en) * 2022-03-08 2022-06-14 阿里巴巴(中国)有限公司 Data processing method and system
CN118764540A (en) * 2024-09-03 2024-10-11 安徽省交通规划设计研究总院股份有限公司 Method and device for network optimization of VDI desktop

Also Published As

Publication number Publication date
CN107682384A (en) 2018-02-09

Similar Documents

Publication Publication Date Title
US9332583B2 (en) Multipoint communication device and method of performing switching from multipoint communication to point-to-point communication
CN110611691B (en) Message pushing method, system and storage medium
JP5891559B2 (en) Instant messaging method, terminal, server and system
WO2018024200A1 (en) Virtual desktop multicast control method, terminal, proxy terminal, and cloud desktop server
CN108512885A (en) Network packet to being identified as message queue telemetering transmission packet executes specific action
US9065788B2 (en) Method, device and system for voice communication
WO2014044075A1 (en) A data-sharing method, terminal, server, and system
JP2014501978A5 (en) Method and system for multi-connection in a file system session
CN107135279A (en) It is a kind of to handle the method and apparatus that request is set up in long connection
US12452938B2 (en) Dual-network casting system
US20160006827A1 (en) Selection of proxy device for connection pooling
WO2017054547A1 (en) Bidirectional forwarding detection method and apparatus
US8650309B2 (en) Cascading architecture for audio and video streams
JP2016063425A (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND COMMUNICATION METHOD
US20140324950A1 (en) Connection method and management server
CN102685218B (en) Method and system for reporting and downloading information
US20140089430A1 (en) Data-sharing method, terminal, server, and system
CN104780230A (en) Method, system and cloud system for automatically obtaining cloud server IP address
US9866644B2 (en) Terminal, message distribution system, message distribution method, and computer-readable medium
US10044590B2 (en) Method of effective retaining of NAT channel service
CN114915748A (en) Method, system and related device for dynamically switching audio and video communication modes
US9025612B2 (en) Multicasting using peer-to-peer and client-server transmission modes
CN101510901B (en) Communication method, communication apparatus and system between distributed equipment
CN108632355A (en) A kind of home appliances network route selecting method, device, readable storage medium storing program for executing and equipment
US20200177675A1 (en) Communication device and method of controlling same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17836382

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17836382

Country of ref document: EP

Kind code of ref document: A1