Cloud desktop processing method and related equipment
By establishing a communication connection with the local application through the MQTT message intermediary, the encrypted desktop rendering data stream is obtained and transmitted, which solves the port conflict and data security issues in cloud desktop rendering and realizes stable and secure cloud desktop rendering.
Patent Information
- Application Number
- CN202310267240.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-14
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2043-03-14
AI Technical Summary
The existing technology has problems of port conflict and poor data security when rendering cloud desktops.
Establish a communication connection with the local application through the MQTT message intermediary, obtain the desktop rendering data stream, and send it to the local application through an encrypted data transmission channel to realize the rendering of the cloud desktop.
It avoids port conflicts, improves the security and reliability of data transmission, and ensures stable rendering and user experience of cloud desktops.
Smart Images

Figure CN116483489B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of cloud computing technology, and more specifically, to a cloud desktop processing method and related equipment. Background Art
[0002] This section is intended to provide a background or context to the embodiments of the invention recited in the claims. No admission is made that what is described herein is prior art by its inclusion in this section.
[0003] Cloud desktops, also known as desktop virtualization or cloud computers, are a new model that replaces traditional computers and are cloud server instances. By installing the cloud desktop's native application on a terminal, you can use the cloud desktop and the various cloud applications it provides. Cloud desktops deliver data spaces and management services to operators in a desktop-like manner. They are suitable as a network operating system for micro-mobile applications such as tablets and mobile phones, and can also upgrade traditional personal computers (PCs) to network operations. After installing the cloud desktop's native application on a terminal, a browser (i.e., the cloud desktop client) is required to activate the native application (native app) to render the cloud desktop.
[0004] There are two main methods for rendering cloud desktops:
[0005] 1. WebSocket-based communication. WebSocket is a new network protocol based on TCP. In this method, the native app installed on the PC starts a local websocket service. When the cloud desktop client application based on a regular browser is launched, it actively connects to this websocket to be invoked and communicate with the native app. Because the websocket service requires a local port number, the websocket port number is easily occupied, and a port number that is too large can be disabled by the client.
[0006] 2. The web site launches a native app based on a URL to render cloud apps and cloud desktops. The browser then detects and opens a cloud desktop or cloud application. Disadvantages: This involves waking up a native app through the browser and attaching the ICA file containing the cloud desktop configuration information to the URL. However, this URL is easily accessible, and if intercepted, it poses a high risk of being hacked, making it unsafe.
[0007] It can be seen that the existing technology has problems of port conflict and poor data security when rendering cloud desktops. Summary of the Invention
[0008] The embodiments of the present application provide a cloud desktop processing method and related devices to at least solve the problems of port conflicts and poor data security when rendering cloud desktops in the prior art.
[0009] According to one aspect of the present application, a cloud desktop processing method is also provided. The method is applied to a cloud desktop client, where the cloud desktop client is a browser-based client. The cloud desktop client and the local application of the cloud desktop are installed on a terminal device. The method includes:
[0010] After establishing a communication connection with the local application through an MQTT message broker, requesting and obtaining a desktop rendering data stream for rendering the cloud desktop from a cloud desktop server, wherein the MQTT message broker is a message distribution platform based on a message queue telemetry transmission protocol;
[0011] The application window of the local application is awakened through the MQTT message broker, and the desktop rendering data stream is sent to the local application through the MQTT message broker, so that the local application renders and presents the cloud desktop in the application window according to the desktop rendering data stream.
[0012] In some embodiments, before establishing a communication connection with a local application of the cloud desktop through the MQTT message broker, the method further includes:
[0013] Establish a first communication connection with the MQTT message intermediary, and listen to whether the MQTT message intermediary has issued application information used to describe the local application. If so, establish a communication connection with the local application corresponding to the application information through the MQTT message intermediary, wherein the application information is information obtained by the MQTT message intermediary after the local application establishes a second communication connection with the MQTT message intermediary.
[0014] In some embodiments, when the local application establishes a second communication connection with the MQTT message broker, the method further includes:
[0015] The local application registers first device information for identifying the terminal device, and uploads the first device information to the MQTT message broker;
[0016] Before monitoring whether the MQTT message broker has issued application information describing the local application, the method further includes:
[0017] Register second device information for identifying the terminal device, and report the second device information to the MQTT message broker, so that after the MQTT message broker determines that the first device information and the second device information are the same, it listens to the application information sent by the MQTT message broker.
[0018] In some embodiments, the cloud desktop client is configured with a software development kit. Before requesting and obtaining a desktop rendering data stream for rendering the cloud desktop from the cloud desktop server, the method further includes:
[0019] Sending a request instruction to the cloud desktop server, the request instruction being an instruction for requesting basic attribute information of the cloud desktop, and obtaining the basic attribute information sent by the cloud desktop server in response to the request instruction, wherein the basic attribute information at least includes gateway address information for requesting the desktop rendering data stream;
[0020] Then, the step of requesting and obtaining a desktop rendering data stream for rendering the cloud desktop from the cloud desktop server includes:
[0021] Sending the basic attribute information to the software development kit;
[0022] Pulling the desktop rendering data stream from the cloud desktop server through the software development kit according to the basic attribute information;
[0023] The desktop rendering data stream pulled by the software development tool is sent to the local application through the MQTT message broker.
[0024] According to another aspect of the present application, a cloud desktop processing method is also provided, the method being applied to an MQTT message broker, the MQTT message broker being a message distribution platform based on a message queue telemetry transmission protocol, the method comprising:
[0025] After establishing a communication connection between a cloud desktop client and a local application, requesting and obtaining a desktop rendering data stream for rendering the cloud desktop from a cloud desktop server through the cloud desktop client, wherein the cloud desktop client is a browser-based client, and the cloud desktop client and the local application are installed on a terminal device;
[0026] The desktop rendering data stream obtained by the cloud desktop server is sent to the local application, and the application window of the local application is awakened, so that the local application renders and presents the cloud desktop in the application window according to the desktop rendering data stream.
[0027] In some embodiments, before establishing a communication connection between the cloud desktop client and the local application, the method further includes:
[0028] Establishing a first communication connection with the cloud desktop client, and sending application information describing the local application to the cloud desktop client;
[0029] In response to the cloud desktop client receiving feedback information of the application information, a communication connection is established between the cloud desktop client and the local application corresponding to the application information, wherein the application information is information obtained after establishing a second communication connection with the local application.
[0030] In some embodiments, before sending the application information describing the local application to the cloud desktop client, the method further includes:
[0031] receiving first device information registered by the local application for identifying the terminal device, and receiving second device information registered by the cloud desktop client for identifying the terminal device;
[0032] Determine whether the first device information and the second device information are the same; if so, send the application information to the cloud desktop client.
[0033] According to another aspect of the present application, a cloud desktop processing method is also provided, which is applied to a cloud desktop server and includes:
[0034] After the cloud desktop client establishes a communication connection with the local application through the MQTT message broker, the desktop rendering data stream used to render the cloud desktop is sent to the cloud desktop client, so that the cloud desktop client wakes up the application window of the local application through the MQTT message broker, and then sends the desktop rendering data stream to the local application through the MQTT message broker, ensuring that the local application renders and presents the cloud desktop in the application window according to the desktop rendering data stream;
[0035] Among them, the MQTT message intermediary is a message distribution platform based on the message queue telemetry transmission protocol, the cloud desktop client is a browser-based client, and the cloud desktop client and the local application are installed on the terminal device.
[0036] In some embodiments, the cloud desktop client is configured with a software development kit, and before sending a desktop rendering data stream for rendering the cloud desktop to the cloud desktop client, the method further includes:
[0037] Receiving a request instruction sent by the cloud desktop client, wherein the request instruction is an instruction for the cloud desktop client to request basic attribute information of the cloud desktop;
[0038] In response to the request instruction, sending the basic attribute information to the cloud desktop client, so that the cloud desktop client sends the basic attribute information to the software development kit, wherein the basic attribute information at least includes gateway address information for requesting the desktop rendering data stream;
[0039] Then, the step of sending the desktop rendering data stream for rendering the cloud desktop to the cloud desktop client includes:
[0040] The desktop rendering data stream pulled by the software development kit according to the basic attribute information is sent to the cloud desktop client.
[0041] According to another aspect of the present application, a cloud desktop client is also provided, and the cloud desktop client is used to execute the cloud desktop processing method.
[0042] According to another aspect of the present application, an MQTT message intermediary is also provided. The MQTT message intermediary is a message distribution platform based on the message queue telemetry transmission protocol, and the MQTT message intermediary is used to execute the cloud desktop processing method.
[0043] According to another aspect of the present application, a cloud desktop server is also provided, which is used to execute the cloud desktop processing method.
[0044] According to another aspect of the present application, a terminal device is also provided, which is installed with a local application of the cloud desktop and the cloud desktop client.
[0045] According to another aspect of the present application, a cloud desktop processing system is also provided, including:
[0046] A terminal device having a cloud desktop client and a local application of the cloud desktop installed on the terminal device;
[0047] Cloud desktop server;
[0048] and MQTT message intermediary, which is a message distribution platform based on the message queue telemetry transmission protocol;
[0049] After establishing a communication connection with the local application through the MQTT message broker, the cloud desktop client requests and obtains a desktop rendering data stream for rendering the cloud desktop from the cloud desktop server;
[0050] The cloud desktop client also wakes up the application window of the local application through the MQTT message broker, and sends the desktop rendering data stream to the local application through the MQTT message broker, so that the local application renders and presents the cloud desktop in the application window according to the desktop rendering data stream.
[0051] According to another aspect of the present application, a computer device is also provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the cloud desktop processing method is implemented when the processor executes the computer program.
[0052] According to another aspect of the present application, a computer-readable storage medium is further provided, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the cloud desktop processing method is implemented.
[0053] According to another aspect of the present application, a computer program product is further provided, which includes a computer program, and when the computer program is executed by a processor, the cloud desktop processing method is implemented.
[0054] The cloud desktop client in the embodiment of the present application communicates with the local application through the MQTT message intermediary. This communication method does not require registering a local port, and there is no port conflict. In addition, the proprietary channel for transmitting data through the MQTT message intermediary supports transport layer encryption, is not easily intercepted, and the data is safe and reliable. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] The accompanying drawings, which constitute part of this application, are intended to provide a further understanding of this application. The exemplary embodiments and descriptions of this application are intended to explain this application and do not constitute an improper limitation on this application. In the accompanying drawings:
[0056] Figure 1 A flowchart of a cloud desktop processing method provided by the first embodiment of the present invention;
[0057] Figure 2 A flowchart of a cloud desktop client transmitting a desktop rendering data stream to a local application according to an embodiment of the present invention;
[0058] Figure 3 A flowchart of a cloud desktop processing method provided by the second embodiment of the present invention;
[0059] Figure 4 A flow chart of the MQTT message broker provided by the present invention establishing a communication connection between a cloud desktop client and a local application corresponding to application information;
[0060] Figure 5A flowchart of the MQTT message broker provided by the present invention pairing the cloud desktop client and the local application;
[0061] Figure 6 This is a flow chart of the cloud desktop server sending basic attribute information to the cloud desktop client in the third embodiment of the present invention;
[0062] Figure 7 A schematic diagram of a cloud desktop processing system provided in accordance with an eighth embodiment of the present invention;
[0063] Figure 8 A schematic diagram of the process of rendering a cloud desktop according to the twelve embodiments of the present invention;
[0064] Figure 9 for Figure 8 Timing schematic diagram.
[0065] In the picture:
[0066] 10. Terminal device; 20. Cloud desktop server; 30. MQTT message broker; 40. Data storage platform. DETAILED DESCRIPTION
[0067] It should be noted that, in the absence of conflict, the embodiments and features of the embodiments in this application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0068] It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and that, although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0069] Explanation of terms:
[0070] Local application of cloud desktop: The local application of cloud desktop provided in the embodiment of the present invention is an application installed on the terminal device to render and present the cloud desktop in the cloud desktop rendering technology. The local application needs to be awakened by the browser-based cloud desktop client and execute the rendering and presentation operation of the cloud desktop after the browser-based cloud desktop client establishes a communication connection with it.
[0071] In the prior art, when the local application of the cloud desktop communicates with the cloud desktop client through the webscoket service, the webscoket service needs to register a local port. The webscoket port number is easily occupied, and a port that is too large is easily disabled by the customer himself. Secondly, the web-side website uses the URL to pull up the local application to render the cloud application and cloud desktop. The data is easily attacked by hackers and the data security is poor. In response to the above problems, the first embodiment of the present invention provides a cloud desktop processing method, which is applied to the cloud desktop client. The cloud desktop client is a browser-based client. The cloud desktop client and the local application of the cloud desktop are installed on the terminal device 10, such as Figure 1 As shown, the method includes the following steps:
[0072] Step S11: After establishing a communication connection with the local application through the MQTT message broker 30, the desktop rendering data stream for rendering the cloud desktop is requested and obtained from the cloud desktop server 20, wherein the MQTT message broker 30 is a message distribution platform based on the Message Queuing Telemetry Transport Protocol. The Message Queuing Telemetry Transport Protocol (its full English name is Message Queuing Telemetry Transport, abbreviated as MQTT) is a "lightweight" communication protocol based on the publish / subscribe model. The protocol is built on the TCP / IP protocol and can provide real-time and reliable message services for connecting remote devices with very little code and limited bandwidth. MQTT is bandwidth-efficient and does not occupy resources. It can also run on Secure Sockets Layer (SSL) / Transport Layer Security (TLS) (a security protocol built on TCP / IP) to ensure that all data messages between devices are encrypted and secure. In view of this, the embodiment of the present invention utilizes the above-mentioned advantages of MQTT, that is, it can ensure data security between the cloud desktop client and the local application.
[0073] Step S12: Wake up the application window of the local application through the MQTT message broker 30, and send the desktop rendering data stream to the local application through the MQTT message broker 30, so that the local application renders and presents the cloud desktop in the application window according to the desktop rendering data stream.
[0074] Therefore, the cloud desktop client in the embodiment of the present invention communicates with the local application through the MQTT message broker 30. Since this communication method does not require registering a local port, there is no port conflict, and the dedicated channel for transmitting data through the MQTT message broker 30 supports transport layer encryption, which is not easily intercepted, and the data is safe and reliable.
[0075] In step S11, before establishing a communication connection with the local application of the cloud desktop through the MQTT message broker 30, the method provided by the embodiment of the present invention further includes: the cloud desktop client establishes a first communication connection with the MQTT message broker 30, and monitors whether the MQTT message broker 30 has issued application information used to describe the local application. If so, a communication connection is established with the local application corresponding to the application information through the MQTT message broker 30, wherein the application information is information obtained by the MQTT message broker 30 after the local application establishes a second communication connection with the MQTT message broker 30. Specifically, when the local application establishes a second communication connection with the MQTT message broker 30, the method provided by the embodiment of the present invention further includes: the local application registers first device information used to identify the terminal device 10, and uploads the first device information to the MQTT message broker 30. Among them, before monitoring whether the MQTT message broker 30 has issued application information for describing the local application, the cloud desktop client provided by the embodiment of the present invention also registers the second device information for identifying the terminal device 10, and reports the second device information to the MQTT message broker 30, so that after the MQTT message broker 30 determines that the first device information and the second device information are the same, it monitors the application information issued by the MQTT message broker 30.
[0076] If the cloud desktop client does not listen to the application information sent by the MQTT message broker 30, it means that there is no local application paired with the cloud desktop client, that is, the local application is not installed on the terminal device 10 where the cloud desktop client is located. At this time, the cloud desktop client will notify the user to download the local application. The application information of the local application, such as the version number and UUID of the local application, where UUID is the abbreviation of Universally Unique Identifier, is the unique identification information of the local application. Based on the obtained application information, the cloud desktop client can wake up the local application corresponding to the application information through the MQTT message broker 30 when rendering the cloud desktop, and send the desktop rendering data stream to the local application. The local application is stored in the data storage platform 40. The data storage platform 40 is a massive, secure, low-cost, and highly reliable cloud storage service that can provide 99.99999999999% data persistence and 99.995% data availability. It has multiple storage types to choose from. Storing local applications in the data storage platform 40 has a lower storage cost. When the terminal device 10 has not installed a local application, the user can download and install the local application from the data storage platform 40 .
[0077] The cloud desktop client in the embodiment of the present invention is configured with a software development kit. Generally, a software development kit is a collection of development tools used to build application software for a specific software package, software framework, hardware platform, operating system, etc. The software development kit configured for the cloud desktop client in the embodiment of the present invention is configured with a service for pulling desktop data streams. Then, in step S11, before requesting and obtaining the desktop rendering data stream for rendering the cloud desktop from the cloud desktop server 20, the cloud desktop client provided by the embodiment of the present invention is also used to send a request instruction to the cloud desktop server 20. The request instruction is an instruction for requesting basic attribute information of the cloud desktop, and obtains the basic attribute information sent by the cloud desktop server 20 in response to the request instruction. The basic attribute information at least includes gateway address information for requesting the desktop rendering data stream. In actual applications, the basic attribute information also includes login token, requesting host hosts (i.e., the host where the gateway address is located), instance ID of the requested cloud desktop, port number port, and other information, thereby requesting the desktop rendering data stream from the gateway of the specified host based on the content of the basic attribute information.
[0078] like Figure 2 As shown, step S11 includes the steps of requesting and obtaining a desktop rendering data stream for rendering the cloud desktop from the cloud desktop server 20:
[0079] Step S21: Send basic attribute information to the software development kit.
[0080] Step S22: Pull the desktop rendering data stream from the cloud desktop server 20 based on the basic attribute information through the software development kit.
[0081] Step S23: Send the desktop rendering data stream pulled by the software development tool to the local application through the MQTT message broker 30.
[0082] Therefore, the embodiment of the present invention uses the MQTT message broker 30 to detect cloud desktop clients and wake up local applications on the terminal device 10 (hereinafter referred to as the PC), thereby achieving real-time communication. In this communication mode, local port registration is not required, and there is no port conflict. The data transmission channel of the MQTT message broker 30 supports transport layer encryption, making data difficult to intercept and secure.
[0083] The second embodiment of the present invention also provides a cloud desktop processing method, which is applied to the MQTT message broker 30, which is a message distribution platform based on the message queue telemetry transmission protocol. Figure 3 As shown, the method includes the following steps:
[0084] Step S31: After establishing a communication connection between the cloud desktop client and the local application, the cloud desktop client requests and obtains the desktop rendering data stream used to render the cloud desktop from the cloud desktop server 20 through the cloud desktop client, wherein the cloud desktop client is a browser-based client, and the cloud desktop client and the local application are installed on the terminal device 10.
[0085] Step S32: Send the desktop rendering data stream obtained by the cloud desktop server 20 to the local application, and wake up the application window of the local application, so that the local application renders and presents the cloud desktop in the application window according to the desktop rendering data stream.
[0086] The MQTT message broker 30 provided in the embodiment of the present invention establishes a communication connection between the cloud desktop client and the local application. As an independent service platform, the MQTT message broker 30 does not need to register a local port, and there is no port conflict. In addition, the proprietary channel for transmitting data by the MQTT message broker 30 supports transport layer encryption, which is not easily intercepted, and the data is safe and reliable.
[0087] like Figure 4 As shown, in step S31, before establishing a communication connection between the cloud desktop client and the local application, the method provided by the embodiment of the present invention further includes:
[0088] Step S41: establishing a first communication connection with a cloud desktop client, and sending application information describing a local application to the cloud desktop client.
[0089] Step S42: in response to the cloud desktop client receiving feedback information of the application information, establishing a communication connection between the cloud desktop client and the local application corresponding to the application information, wherein the application information is information obtained after establishing a second communication connection with the local application.
[0090] The application information of the local application, such as the version number and UUID of the local application, where UUID is the abbreviation of the Universally Unique Identifier, is the unique identification information of the local application. After receiving the feedback information from the cloud desktop client, the MQTT message broker 30 establishes a communication connection between the cloud desktop client and the local application corresponding to the application information. Thus, when rendering the cloud desktop, the MQTT message broker 30 can wake up the local application corresponding to the application information and send the desktop rendering data stream transmitted by the cloud desktop client to the local application. The MQTT message broker 30 does not need to register the local port, so there is no port conflict affecting the rendering service. The data transmission channel of the MQTT message broker 30 supports transport layer encryption, and the data is not easily intercepted, which is safe and reliable.
[0091] In step S41, before sending the application information for describing the local application to the cloud desktop client, Figure 5As shown, the method provided by the embodiment of the present invention also includes:
[0092] Step S51: receiving first device information registered by a local application for identifying the terminal device 10 , and receiving second device information registered by a cloud desktop client for identifying the terminal device 10 .
[0093] Step S52: Determine whether the first device information and the second device information are the same. If so, send the application information to the cloud desktop client.
[0094] When the first device information and the second device information of the MQTT message broker 30 in an embodiment of the present invention are the same, the cloud desktop client is paired with the local application to establish mutual communication. Under this mutual communication mode, since the MQTT message broker 30 does not need to register the local port, there is no port conflict, and the data transmission channel of the MQTT message broker 30 supports transport layer encryption, the data is not easily intercepted, it is safe and reliable, the rendering performance of the cloud desktop is improved, and the user experience is good.
[0095] The third embodiment of the present invention also provides a cloud desktop processing method, which is applied to a cloud desktop server 20. The method includes: after the cloud desktop client establishes a communication connection with the local application through the MQTT message broker 30, sending a desktop rendering data stream used to render the cloud desktop to the cloud desktop client, so that the cloud desktop client wakes up the application window of the local application through the MQTT message broker 30, and then sends the desktop rendering data stream to the local application through the MQTT message broker 30, ensuring that the local application renders the cloud desktop in the application window according to the desktop rendering data stream. Among them, the MQTT message broker 30 is a message distribution platform based on the message queue telemetry transmission protocol, the cloud desktop client is a browser-based client, and the cloud desktop client and the local application are installed on the terminal device 10.
[0096] like Figure 6 As shown, the cloud desktop client is configured with a software development kit. Before the cloud desktop server 20 sends the desktop rendering data stream for rendering the cloud desktop to the cloud desktop client, the method provided by the embodiment of the present invention further includes the following steps:
[0097] Step S61: receiving a request instruction sent by a cloud desktop client, where the request instruction is an instruction for the cloud desktop client to request basic attribute information of a cloud desktop.
[0098] Step S62: In response to the request instruction, basic attribute information is sent to the cloud desktop client, so that the cloud desktop client sends the basic attribute information to the software development kit, wherein the basic attribute information at least includes gateway address information for requesting desktop rendering data stream.
[0099] Then, the step of the cloud desktop server 20 sending the desktop rendering data stream for rendering the cloud desktop to the cloud desktop client includes: sending the desktop rendering data stream pulled by the software development kit based on the basic attribute information to the cloud desktop client. The basic attribute information also includes information such as the login token, the requesting host hosts (i.e., the host where the gateway address is located), the instance ID of the requested cloud desktop, the port number port, etc., so that the software development kit requests the gateway of the specified host to pull the desktop rendering data stream based on the content of the basic attribute information.
[0100] After the cloud desktop client establishes a communication connection with the local application through the MQTT message broker 30, the cloud desktop server 20 of the embodiment of the present invention sends the desktop rendering data stream used to render the cloud desktop to the cloud desktop client, so that the cloud desktop client that communicates with the local application through the MQTT message broker 30, when transmitting the desktop rendering data stream to the local application, the data is not easily intercepted, it is safe and reliable, and there is no port conflict, thereby improving the rendering performance of the cloud desktop and providing a good user experience.
[0101] The fourth embodiment of the present invention further provides a cloud desktop client, which is used to execute a cloud desktop processing method. For details of the cloud desktop processing method, please refer to the content provided in the first embodiment of the present invention, and the embodiment of the present invention will not be repeated here.
[0102] The fifth embodiment of the present invention also provides an MQTT message broker 30. The MQTT message broker 30 is a message distribution platform based on the message queue telemetry transmission protocol. The MQTT message broker 30 is used to execute the cloud desktop processing method. For details of the cloud desktop processing method, please refer to the content provided in the second embodiment of the present invention. The embodiment of the present invention will not be repeated here.
[0103] The sixth embodiment of the present invention further provides a cloud desktop server 20, which is used to execute a cloud desktop processing method. For details of the cloud desktop processing method, please refer to the content provided in the third embodiment of the present invention, and the embodiment of the present invention will not be repeated here.
[0104] The seventh embodiment of the present invention also provides a terminal device 10, which is installed with a local application of the cloud desktop and the cloud desktop client provided by the fourth embodiment of the present invention. The cloud desktop client is used to execute the cloud desktop processing method. For details of the cloud desktop processing method, please refer to the content provided in the first embodiment of the present invention. The embodiment of the present invention will not be repeated here.
[0105] like Figure 7As shown, the eighth embodiment of the present invention also provides a cloud desktop processing system, including a terminal device 10, a cloud desktop server 20 and an MQTT message broker 30, wherein the MQTT message broker 30 is a message distribution platform based on the message queue telemetry transmission protocol. The terminal device 10 is installed with a cloud desktop client and a local application of the cloud desktop. After the cloud desktop client establishes a communication connection with the local application through the MQTT message broker 30, it requests and obtains the desktop rendering data stream for rendering the cloud desktop from the cloud desktop server 20. The cloud desktop client also wakes up the application window of the local application through the MQTT message broker 30, and sends the desktop rendering data stream to the local application through the MQTT message broker 30, so that the local application renders the cloud desktop in the application window according to the desktop rendering data stream.
[0106] In the cloud desktop processing system provided by an embodiment of the present invention, the cloud desktop client communicates with the local application through the MQTT message broker 30. Since this communication method does not require registering a local port, there is no port conflict, and the dedicated channel for transmitting data through the MQTT message broker 30 supports transport layer encryption, which is not easily intercepted, and the data is safe and reliable.
[0107] Before establishing a communication connection with the local application of the cloud desktop through the MQTT message broker 30, the cloud desktop client establishes a first communication connection with the MQTT message broker 30 and monitors whether the MQTT message broker 30 has issued application information describing the local application. If so, the cloud desktop client establishes a communication connection with the local application corresponding to the application information through the MQTT message broker 30. The application information is information obtained by the MQTT message broker 30 after the local application establishes a second communication connection with the MQTT message broker 30.
[0108] Specifically, when the local application establishes a second communication connection with the MQTT message broker 30, the local application registers first device information for identifying the terminal device 10 and uploads the first device information to the MQTT message broker 30. Before the cloud desktop client monitors whether the MQTT message broker 30 has issued application information describing the local application, the cloud desktop client provided by the embodiment of the present invention also registers second device information for identifying the terminal device 10 and reports the second device information to the MQTT message broker 30, so that after the MQTT message broker 30 determines that the first device information and the second device information are the same, it monitors the application information issued by the MQTT message broker 30.
[0109] The cloud desktop processing system provided by an embodiment of the present invention also includes a data storage platform 40 (full name: ObjectStorage Service). If the cloud desktop client does not listen to the application information sent by the MQTT message broker 30, it indicates that there is no local application paired with the cloud desktop client, that is, the local application is not installed on the terminal device 10 where the cloud desktop client is located. In this case, the cloud desktop client will notify the user to download the local application. The local application application information, such as the local application version number and UUID, is the abbreviation of the Universally Unique Identifier (UUID), is the unique identification information of the local application. Based on the obtained application information, the cloud desktop client can wake up the local application corresponding to the application information through the MQTT message broker 30 when rendering the cloud desktop and send the desktop rendering data stream to the local application. The local application is stored in the data storage platform 40. The data storage platform 40 is a massive, secure, low-cost, and highly reliable cloud storage service that provides 99.99999999999% data persistence and 99.995% data availability. It has multiple storage types to choose from. Storing local applications in the data storage platform 40 has a low storage cost. When the terminal device 10 has not installed a local application, the user can download and install the local application from the data storage platform 40 .
[0110] The cloud desktop client in the embodiment of the present invention is configured with a software development kit. Generally, a software development kit is a collection of development tools used to build application software for a specific software package, software framework, hardware platform, operating system, etc. The software development kit configured for the cloud desktop client in the embodiment of the present invention is configured with a service for pulling desktop data streams. Then, in step S11, before requesting and obtaining the desktop rendering data stream for rendering the cloud desktop from the cloud desktop server 20, the cloud desktop client provided by the embodiment of the present invention is also used to send a request instruction to the cloud desktop server 20. The request instruction is an instruction for requesting basic attribute information of the cloud desktop, and obtains the basic attribute information sent by the cloud desktop server 20 in response to the request instruction. The basic attribute information at least includes gateway address information for requesting the desktop rendering data stream. In actual applications, the basic attribute information also includes login token, requesting host hosts (i.e., the host where the gateway address is located), instance ID of the requested cloud desktop, port number port, and other information, thereby requesting the desktop rendering data stream from the gateway of the specified host based on the content of the basic attribute information.
[0111] When the cloud desktop client requests and obtains the desktop rendering data stream for rendering the cloud desktop from the cloud desktop server 20, the following steps are specifically performed:
[0112] Step S21: Send basic attribute information to the software development kit.
[0113] Step S22: Pull the desktop rendering data stream from the cloud desktop server 20 based on the basic attribute information through the software development kit.
[0114] Step S23: Send the desktop rendering data stream pulled by the software development tool to the local application through the MQTT message broker 30.
[0115] Therefore, the system provided by the embodiment of the present invention uses the MQTT message broker 30 to detect cloud desktop clients and wake up local applications on terminal devices 10 (hereinafter referred to as PCs) to achieve real-time communication. In this communication mode, local port registration is not required, and there is no port conflict. The data transmission channel of the MQTT message broker 30 supports transport layer encryption, making data difficult to intercept and secure.
[0116] The ninth embodiment of the present invention also provides a computer device, including a memory, a processor, and a computer program stored in the memory and runnable on the processor. When the processor executes the computer program, a cloud desktop processing method is implemented. For details of the cloud desktop processing method, please refer to the content provided in the first embodiment of the present invention. The embodiment of the present invention will not be repeated here.
[0117] The tenth embodiment of the present invention also provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, a cloud desktop processing method is implemented. For details of the cloud desktop processing method, please refer to the content provided in the first embodiment of the present invention. The embodiment of the present invention will not be repeated here.
[0118] The eleventh embodiment of the present invention also provides a computer program product, which includes a computer program. When the computer program is executed by a processor, it implements a cloud desktop processing method. For details of the cloud desktop processing method, please refer to the content provided in the first embodiment of the present invention. The embodiment of the present invention will not be repeated here.
[0119] The twelfth embodiment of the present invention further provides a method of combining the above embodiments and the appended Figures 8 and 9 , introduces an application embodiment of rendering a cloud desktop by implementing mutual communication between a cloud desktop client and a local application based on an MQTT message broker 30. The application embodiment provided by the present invention mainly includes the following steps:
[0120] Step 1. First, if the PC (i.e., terminal device 10) has downloaded and installed the native application (Native APP) locally, the local application (Native APP) needs to establish a long link with the MQTT message broker 30 (MQTT Broker) and register the local PC information (i.e., the first device information). The MQTT Broker will record the first device information of each Native app installed. The long link mainly exists for receiving messages.
[0121] Step 2. When the user needs to open a local application through the cloud desktop client (web Client), the web Client also needs to establish a long link with the MQTT Broker and register the information of the local PC (i.e., the second device information).
[0122] Step 3. If the web client establishes a persistent connection with the MQTT Broker and the registered second device information is the same as the first device information registered by the Native app, the pairing is successful. That is, the MQTT Broker acts as a message distribution platform to relay information between the cloud desktop client and the native application.
[0123] Step 4. The MQTT Broker returns application information to the web client's local PC.
[0124] Step 5. After requesting basic attribute information for the cloud desktop from the cloud desktop server, the web client passes the login token, session, and basic attribute information to the software development kit (web client SDK). The login token and session are used by the cloud desktop server 20 to verify the legitimacy of web client SDK operations. Sessions are known as "session control" in computers, particularly in network applications. The Session object on the cloud desktop server 20 stores the attributes and configuration information required for a specific user session.
[0125] Step 6. The web client transmits the ticket to the MQTT Broker through the MQTT long link. The MQTT Broker then transmits it to the native app on the corresponding PC. The native app renders the cloud desktop in the application window based on the desktop rendering data stream.
[0126] Step 7. If the web client cannot be paired with the local native app in step 3, the web client needs to notify the user to download and install the corresponding native app.
[0127] Step 8. After the user installs the Native app on the PC, start the cloud desktop rendering process from step 1.
[0128] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0129] The above are merely embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.
Claims
1. A cloud desktop processing method, characterized in that: The method is applied to a cloud desktop client, which is a browser-based client. The cloud desktop client and the local application of the cloud desktop are installed on a terminal device (10). The method includes: Establishing a first communication connection with an MQTT message intermediary device (30), and monitoring application information for describing the local application issued by the MQTT message intermediary device (30), establishing a communication connection with the local application corresponding to the application information through the MQTT message intermediary device (30), wherein the application information is information issued when the MQTT message intermediary device (30) determines that the first device information and the second device information are the same after the local application establishes a second communication connection with the MQTT message intermediary device (30), the first device information is information for identifying the terminal device (10) in the local application, and the first device information is information for identifying the terminal device (10) in the cloud desktop client; After establishing a communication connection with the local application through an MQTT message intermediary device (30), a desktop rendering data stream for rendering the cloud desktop is requested and obtained from a cloud desktop server (20), wherein the MQTT message intermediary device (30) is a message distribution platform based on a message queue telemetry transmission protocol; The application window of the local application is awakened by the MQTT message intermediary device (30), and the desktop rendering data stream is sent to the local application by the MQTT message intermediary device (30), so that the local application renders and presents the cloud desktop in the application window according to the desktop rendering data stream.
2. The method according to claim 1, characterized in that When the local application establishes a second communication connection with the MQTT message intermediary device (30), the method further comprises: The local application registers first device information for identifying the terminal device (10), and uploads the first device information to the MQTT message intermediary device (30); Before monitoring whether the MQTT message intermediary device (30) has issued application information for describing the local application, the method further includes: Registering second device information for identifying the terminal device (10), and reporting the second device information to the MQTT message intermediary device (30).
3. The method according to claim 1, characterized in that The cloud desktop client is configured with a software development kit. Before requesting and obtaining a desktop rendering data stream for rendering the cloud desktop from the cloud desktop server (20), the method further includes: Sending a request instruction to the cloud desktop server (20), wherein the request instruction is an instruction for requesting basic attribute information of the cloud desktop, and obtaining the basic attribute information sent by the cloud desktop server (20) in response to the request instruction, wherein the basic attribute information at least includes gateway address information for requesting the desktop rendering data stream; Then, the step of requesting and obtaining a desktop rendering data stream for rendering the cloud desktop from the cloud desktop server (20) includes: Sending the basic attribute information to the software development kit; Pulling the desktop rendering data stream from the cloud desktop server (20) through the software development kit according to the basic attribute information; The desktop rendering data stream pulled by the software development tool is sent to the local application through the MQTT message intermediary device (30).
4. A cloud desktop processing method, characterized in that: The method is applied to an MQTT message intermediary device (30), which is a message distribution platform based on a message queue telemetry transmission protocol. The method comprises: Establishing a first communication connection with a cloud desktop client, and sending application information describing a local application to the cloud desktop client; In response to the cloud desktop client receiving feedback information of the application information, establishing a communication connection between the cloud desktop client and the local application corresponding to the application information, wherein the application information is information obtained after establishing a second communication connection with the local application; After establishing a communication connection between the cloud desktop client and the local application, the cloud desktop client requests and obtains a desktop rendering data stream for rendering the cloud desktop from the cloud desktop server (20), wherein the cloud desktop client is a browser-based client, and the cloud desktop client and the local application are installed on the terminal device (10); The desktop rendering data stream obtained by the cloud desktop server (20) is sent to the local application, and the application window of the local application is awakened, so that the local application renders and presents the cloud desktop in the application window according to the desktop rendering data stream.
5. The method according to claim 4, characterized in that Before sending the application information describing the local application to the cloud desktop client, the method further includes: Receiving first device information registered by the local application for identifying the terminal device (10), and receiving second device information registered by the cloud desktop client for identifying the terminal device (10); Determine whether the first device information and the second device information are the same; if so, send the application information to the cloud desktop client.
6. A cloud desktop processing method, characterized in that: The method is applied to a cloud desktop server (20), and the method comprises: A first communication connection is established between the cloud desktop client and the MQTT message intermediary device (30), and application information describing a local application is monitored by the MQTT message intermediary device (30), wherein the cloud desktop client establishes a communication connection with the local application corresponding to the application information through the MQTT message intermediary device (30), wherein the application information is information issued when the MQTT message intermediary device (30) determines that the first device information and the second device information are the same after the local application establishes a second communication connection with the MQTT message intermediary device (30), the first device information is information used to identify the terminal device (10) in the local application, and the first device information is information used to identify the terminal device (10) in the cloud desktop client; After the cloud desktop client establishes a communication connection with the local application through the MQTT message intermediary device (30), a desktop rendering data stream for rendering the cloud desktop is sent to the cloud desktop client, so that the cloud desktop client wakes up the application window of the local application through the MQTT message intermediary device (30), and then sends the desktop rendering data stream to the local application through the MQTT message intermediary device (30), ensuring that the local application renders and presents the cloud desktop in the application window according to the desktop rendering data stream; The MQTT message intermediary device (30) is a message distribution platform based on a message queue telemetry transmission protocol, the cloud desktop client is a browser-based client, and the cloud desktop client and the local application are installed on a terminal device (10).
7. The method according to claim 6, characterized in that The cloud desktop client is configured with a software development kit. Before sending a desktop rendering data stream for rendering the cloud desktop to the cloud desktop client, the method further includes: Receiving a request instruction sent by the cloud desktop client, wherein the request instruction is an instruction for the cloud desktop client to request basic attribute information of the cloud desktop; In response to the request instruction, sending the basic attribute information to the cloud desktop client, so that the cloud desktop client sends the basic attribute information to the software development kit, wherein the basic attribute information at least includes gateway address information for requesting the desktop rendering data stream; Then, the step of sending the desktop rendering data stream for rendering the cloud desktop to the cloud desktop client includes: The desktop rendering data stream pulled by the software development kit according to the basic attribute information is sent to the cloud desktop client.
8. A cloud desktop client, characterized in that: The cloud desktop client is used to execute the cloud desktop processing method described in any one of claims 1 to 3.
9. An MQTT message intermediary device (30), characterized in that: The MQTT message intermediary device (30) is a message distribution platform based on the message queue telemetry transmission protocol, and the MQTT message intermediary device (30) is used to execute the cloud desktop processing method according to claim 4 or 5.
10. A cloud desktop server (20), characterized in that: The cloud desktop server (20) is used to execute the cloud desktop processing method described in claim 6 or 7.
11. A terminal device (10), characterized in that The terminal device (10) is installed with a local application of the cloud desktop and the cloud desktop client according to claim 8.
12. A cloud desktop processing system, characterized in that: include: A terminal device (10), wherein the terminal device (10) is installed with a cloud desktop client and a local application of the cloud desktop; Cloud desktop server (20); and an MQTT message intermediary device (30), wherein the MQTT message intermediary device (30) is a message distribution platform based on a message queue telemetry transmission protocol; The cloud desktop client establishes a first communication connection with the MQTT message intermediary device (30), and monitors that the MQTT message intermediary device (30) has issued application information for describing the local application, and establishes a communication connection with the local application corresponding to the application information through the MQTT message intermediary device (30), wherein the application information is information issued when the MQTT message intermediary device (30) determines that the first device information and the second device information are the same after the local application establishes a second communication connection with the MQTT message intermediary device (30), the first device information is information used to identify the terminal device (10) in the local application, and the first device information is information used to identify the terminal device (10) in the cloud desktop client; After establishing a communication connection with the local application through the MQTT message intermediary device (30), the cloud desktop client requests and obtains a desktop rendering data stream for rendering the cloud desktop from the cloud desktop server (20); The cloud desktop client also wakes up the application window of the local application through the MQTT message intermediary device (30), and sends the desktop rendering data stream to the local application through the MQTT message intermediary device (30), so that the local application renders and presents the cloud desktop in the application window according to the desktop rendering data stream.
Citation Information
Patent Citations
Methods and systems for accessing and controlling a remote desktop of a remote machine in real time by a web browser at a client device via HTTP API utilizing a transcoding server
US20120151369A1
Methods and systems for persistent communications between client applications and application servers
US20230031140A1