A method, device, and storage medium for accessing cloud applications within a cloud desktop
By deploying corresponding modules on the cloud desktop terminal and server terminal, and directly receiving undecoded data streams from the cloud application server and decoding and rendering them on the cloud desktop terminal, the resource overhead, image quality loss and network delay problems when cloud desktop accesses cloud applications in the existing technology are solved, and a more efficient cloud desktop access experience is achieved.
Patent Information
- Application Number
- CN202310703466.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-13
- Publication Date
- 2025-06-13
- Estimated Expiration
- 2043-06-13
AI Technical Summary
When accessing cloud applications in cloud desktops in the prior art, two streaming and two stages of network delay are required, resulting in increased resource overhead of cloud desktop servers, loss of cloud application image quality and increase network delay.
Deploy the cloud application connection module in the cloud desktop terminal, deploy the cloud application client in the cloud desktop server, obtain the authentication information of the target cloud application through the cloud application client, and connect the cloud application connection module with the cloud application server, and directly receive the undecoded data stream to transmit it to the cloud desktop terminal for decoding and rendering.
It effectively avoids the secondary streaming problem when accessing cloud applications in cloud desktops, saves the two stages of network delay required in traditional solutions, reduces resource overhead for cloud desktop servers, improves cloud application image quality and reduces network latency.
Smart Images

Figure CN116708422B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of cloud desktops, and particularly to a method, device, and storage medium for accessing cloud applications within a cloud desktop. Background Art
[0002] Currently, in the implementation solution for accessing cloud applications within a cloud desktop, it is necessary to decode the data stream of the cloud application in the cloud desktop server. The cloud desktop server also needs to encode the cloud desktop data and the decoded cloud application data together, and then send the encoded data stream to the cloud desktop terminal for display.
[0003] It can be seen that the existing implementation solution requires two times of streaming and introduces network delays in two stages. This not only brings additional resource overhead to the cloud desktop server, but also causes image quality loss of the cloud application and brings relatively large network delays. Summary of the Invention
[0004] Multiple aspects of this application provide a method, device, and storage medium for accessing cloud applications within a cloud desktop, so as to reduce the resource overhead on the cloud desktop server, improve the image quality of the cloud application, and / or reduce network delays.
[0005] An embodiment of this application provides a method for accessing a cloud application within a cloud desktop, which is applicable to a cloud desktop server. A cloud desktop protocol server and a cloud application client are deployed in the cloud desktop server. The method includes:
[0006] In response to an access instruction for a target cloud application in the cloud desktop, use the cloud application client to obtain authentication information corresponding to the target cloud application;
[0007] Transmit the authentication information to a cloud application connection establishment module deployed in the cloud desktop terminal, so as to trigger the cloud application connection establishment module to establish a connection with the cloud application server where the target cloud application is located based on the authentication information and receive an undecoded data stream corresponding to the target cloud application from the cloud application server;
[0008] Use the cloud desktop protocol server to transmit the cloud desktop data stream to a cloud desktop protocol client deployed in the cloud desktop terminal, so that the cloud desktop protocol client can display the target cloud application in the cloud desktop based on the cloud desktop data stream and the undecoded data stream received from the cloud application connection establishment module.
[0009] An embodiment of this application also provides a method for accessing a cloud application within a cloud desktop, which is applicable to a cloud desktop terminal. A cloud desktop protocol client and a cloud application connection establishment module are deployed in the cloud desktop terminal. The method includes:
[0010] If the authentication information corresponding to the target cloud application sent by the cloud desktop server is received, the cloud application connection module is used to establish a connection with the cloud application server where the target cloud application is located based on the authentication information, where the authentication information is obtained by the cloud application client deployed in the cloud desktop server in response to an access instruction for the target cloud application in the cloud desktop;
[0011] The cloud application connection module is used to receive the undecoded data stream corresponding to the target cloud application from the cloud application server and transmit it to the cloud desktop protocol client;
[0012] The cloud desktop protocol client is used to receive the cloud desktop data stream from the cloud desktop server;
[0013] The cloud desktop protocol client is used to display the target cloud application in the cloud desktop based on the cloud desktop data stream and the undecoded data stream.
[0014] An embodiment of the present application further provides a cloud desktop server, including a memory and a processor;
[0015] The memory is used to store one or more computer instructions;
[0016] The processor is coupled to the memory and is used to execute the one or more computer instructions to execute the foregoing method for accessing a cloud application in a cloud desktop.
[0017] An embodiment of the present application further provides a cloud desktop terminal, including a memory and a processor;
[0018] The memory is used to store one or more computer instructions;
[0019] The processor is coupled to the memory and is used to execute the one or more computer instructions to execute the foregoing method for accessing a cloud application in a cloud desktop.
[0020] An embodiment of the present application further provides a computer-readable storage medium storing computer instructions, which when executed by one or more processors, cause the one or more processors to execute the foregoing method for accessing a cloud application in a cloud desktop.
[0021] In the embodiments of the present application, a cloud application connection module is deployed in the cloud desktop terminal and a cloud application client is deployed in the cloud desktop server. Based on this, when an access instruction for a target cloud application occurs in the cloud desktop, the cloud application client does not establish a connection with the cloud application server where the target cloud application is located. Instead, it provides the authentication information corresponding to the target cloud application to the cloud application connection module, and the cloud application connection module establishes a connection with the cloud application server and receives the undecoded data stream corresponding to the target cloud application. In this way, the undecoded data stream can be directly transmitted to the cloud desktop terminal, and the cloud desktop terminal can display the target cloud application in the cloud desktop based on the undecoded data stream and the cloud desktop data stream originally received, thereby realizing the access to the cloud application within the cloud desktop. Accordingly, in the embodiments of the present application, the cloud desktop server does not need to perform any decoding and re-encoding work for the target cloud application. The cloud desktop terminal can directly obtain the undecoded data stream from the cloud application server and perform decoding and rendering, which can effectively avoid the problem of secondary streaming when accessing cloud applications in the cloud desktop, and eliminate the network delay in two stages required in the traditional solution, thereby effectively reducing the resource overhead on the cloud desktop server, improving the image quality of cloud applications, and / or reducing network latency. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] The drawings described herein are used to provide a further understanding of the present application and form a part of the present application. The schematic embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation to the present application. In the drawings:
[0023] Figure 1 is a schematic structural diagram of a communication system provided by an exemplary embodiment of the present application;
[0024] Figure 2 is an alternative implementation structure of a communication system provided by an exemplary embodiment of the present application;
[0025] Figure 3 is another alternative implementation structure of a communication system provided by an exemplary embodiment of the present application;
[0026] Figure 4 is a schematic diagram of the communication logic within a communication system provided by an exemplary embodiment of the present application;
[0027] Figure 5 is a schematic diagram of the rendering result of a cloud desktop provided by an exemplary embodiment of the present application;
[0028] Figure 6 is a schematic flowchart of a method for accessing a cloud application within a cloud desktop provided by another exemplary embodiment of the present application;
[0029] Figure 7A flowchart of another method for accessing a cloud application in a cloud desktop provided by another exemplary embodiment of the present application;
[0030] Figure 8 A schematic diagram of the structure of a cloud desktop server provided for another exemplary embodiment of the present application;
[0031] Figure 9 A schematic structural diagram of a cloud desktop terminal is provided as another exemplary embodiment of the present application. DETAILED DESCRIPTION
[0032] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.
[0033] At present, in the implementation scheme of accessing cloud applications in a cloud desktop, two streams are required and two stages of network delay are introduced, which not only brings additional resource overhead to the cloud desktop server, but also causes image quality loss of the cloud application and brings large network delay. To this end, in some embodiments of the present application: a cloud application connection module is deployed in the cloud desktop terminal and a cloud application client is deployed in the cloud desktop server. Based on this, when an access instruction for a target cloud application occurs in the cloud desktop, the cloud application client will not establish a connection with the cloud application server where the target cloud application is located, but will provide the authentication information corresponding to the target cloud application to the cloud application connection module, and the cloud application connection module will establish a connection with the cloud application server and receive the undecoded data stream corresponding to the target cloud application. In this way, the undecoded data stream can be directly transmitted to the cloud desktop terminal, and the cloud desktop terminal can display the target cloud application in the cloud desktop based on the undecoded data stream and the originally received cloud desktop data stream, thereby realizing access to the cloud application in the cloud desktop. Accordingly, in the embodiment of the present application, the cloud desktop server does not need to perform any decoding and re-encoding work for the target cloud application. The cloud desktop terminal can directly obtain the undecoded data stream from the cloud application server and perform decoding and rendering. This can effectively avoid the secondary streaming problem when accessing cloud applications in the cloud desktop, and eliminates the two stages of network delay required in traditional solutions, thereby effectively reducing the resource overhead on the cloud desktop server, improving the image quality of cloud applications and / or reducing network delays.
[0034] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.
[0035] Figure 1The structural schematic diagram of a communication system provided for an exemplary embodiment of the present application. As Figure 1 shown, the communication system includes: a cloud desktop server, a cloud desktop terminal, and a cloud application server. Among them, different cloud applications may be in cloud application servers that are not exactly the same. Figure 1 Only one cloud application server is shown herein to assist in describing the solution for accessing a certain cloud application within the cloud desktop. However, it should be understood that multiple cloud application servers can be accessed within this communication system.
[0036] First, several concepts involved in this embodiment are briefly described below:
[0037] A cloud desktop, also known as desktop virtualization or cloud computer, is a new model that replaces traditional computers.
[0038] A cloud desktop server may refer to a cloud server used to support the operation of a cloud desktop. It should be understood that a cloud desktop server may include components such as a CPU, memory, image, and cloud hard disk, and is a cloud server that can be obtained at any time and is elastically scalable.
[0039] A cloud desktop terminal may refer to a terminal device that supports the operation of a cloud desktop. It can connect to the cloud desktop server, render the cloud desktop to the front end, and redirect output and input data such as mouse operations at the front end to the cloud desktop server.
[0040] A cloud application is a new type of application that changes the usage mode of traditional software from "locally installed and locally operated" to "instant use". It connects to and controls a remote cloud application server through the Internet or local area network to complete processing logic or computing tasks. The main carrier of cloud applications is Internet technology, presented in the form of a thin client or a smart client. Cloud applications can not only help users reduce IT costs, but also greatly improve work efficiency. Therefore, the development wave of the transformation of traditional software to cloud applications is irresistible.
[0041] A cloud application server may refer to a cloud server used to support the operation of a cloud application. The processing logic and computing tasks of cloud applications are all completed in the cloud application server. Similar to cloud desktops, in cloud application technology, a cloud application terminal is required for front-end display.
[0042] In this embodiment, based on the foregoing communication system, a solution for accessing cloud applications within a cloud desktop is proposed.
[0043] In this embodiment, it is proposed to use the cloud desktop server as the cloud application terminal corresponding to the target cloud application, where the target cloud application can be any cloud application that needs to be accessed within the cloud desktop. Figure 2 An alternative implementation structure of a communication system provided for an exemplary embodiment of the present application. Refer toFigure 2 In the cloud desktop server, a cloud desktop protocol server and a cloud application client can be deployed. In the cloud desktop terminal, a cloud desktop protocol client is deployed. Among them, the cloud desktop protocol server and the cloud desktop protocol client can transmit data related to cloud desktop operation according to the cloud desktop protocol. The cloud application client can cooperate with the cloud application server to support the operation of cloud applications.
[0044] Optionally, in this embodiment, access to a cloud application can be initiated in the cloud desktop through a browser or a soft terminal. For this purpose, the cloud application client deployed in the cloud desktop server can be implemented as a browser client or a soft terminal, etc. In this way, in the front-end interface of the cloud desktop in this embodiment, the application screen of the cloud application can be displayed in a cloud application window, and the cloud application window can be a browser window or a soft terminal window. It should be understood that the cloud application window is one of the display windows included in the cloud desktop. Therefore, various operations can be performed on the cloud application window in the cloud desktop, such as dragging, scrolling, or resizing, etc.
[0045] It should also be noted here that the cloud desktop originally contains many system applications and local applications. The local applications can be understood as applications running in the cloud desktop server, which are equivalent to applications already installed in the "cloud computer". Moreover, display windows are originally configured for these local applications and system applications in the front-end interface of the cloud desktop. In the case of accessing a cloud application in the cloud desktop, it can be understood that on the basis of the display windows originally included in the front-end interface of the cloud desktop, a display window for displaying the cloud application is added, so as to support the display of the application screen of the cloud application in the cloud desktop.
[0046] Reference Figure 2 In this embodiment, the cloud application client can obtain the authentication information corresponding to the target cloud application in response to an access instruction for the target cloud application occurring in the cloud desktop. In actual application, the cloud application client can display a cloud application login interface in the corresponding display window in the front-end interface of the cloud desktop, and the user can input authentication information in the cloud application login interface to trigger the generation of an access instruction for the target cloud application. In this way, the cloud application client can obtain the authentication information corresponding to the target cloud application in response to the access instruction. Among them, the authentication information can include various information required for connection establishment, such as connection establishment address, username, and password, etc.
[0047] Reference Figure 2, To implement the relevant functional logics mentioned in the cloud application client in this embodiment, in an optional implementation architecture, a Software Development Kit (SDK) can be deployed in the cloud application client. The SDK can be implemented as a browser process or a soft terminal process in the cloud desktop server, etc. Further, a custom plugin can be preset in the SDK included in the cloud application client. After the cloud application client runs, the custom plugin can be executed. Based on the custom plugin, the aforementioned access instruction can be intercepted, the connection between the cloud application client and the cloud application server can be prohibited, and the aforementioned authentication information can be obtained.
[0048] On this basis, in the cloud desktop server, the authentication information can be transmitted to the cloud application connection module deployed in the cloud desktop terminal. Among them, the cloud application connection module can also be implemented as an SDK, and this module is specifically used to handle the connection work with the cloud application server. It should be understood that connection means that both parties establish a connection channel and transmit data streams through the connection channel.
[0049] In an optional implementation solution, the authentication information can be transmitted to the cloud application connection module in a pass-through manner. For this purpose, refer to Figure 2 , a first transmission module can be deployed in the cloud application client, and a second transmission module can be deployed in the cloud desktop protocol server. A transmission protocol can be pre-agreed between the first transmission module and the second transmission module. Based on this, the first transmission module can transmit the obtained authentication information to the second transmission module according to the transmission protocol. Among them, the transmission protocol agreed upon by both parties here can be the websocket protocol. Of course, in this embodiment, the transmission protocol can also be the pipe protocol, as well as other protocols that can meet the inter-process transmission requirements that may appear now or in the future. This embodiment is not limited to this. Refer to Figure 2In addition to the data channel originally used to transmit cloud desktop related data between the cloud desktop protocol server and the cloud desktop protocol client, more customized channels can be added. These customized channels can provide transmission support for the data that needs to be transmitted from the cloud desktop protocol server to the cloud desktop protocol client in this embodiment. Based on this, the cloud desktop protocol server can transmit the authentication information received by the second transmission module to the cloud desktop protocol client through the corresponding customized channel. Under these customized channels, serialization and deserialization technology can be used for data interaction between the cloud desktop protocol server and the cloud desktop protocol client. Using serialization and deserialization technology, content can be efficiently transmitted between processes and networks. Among them, serialization can be understood as saving an object into a byte sequence, and deserialization can be understood as converting the byte sequence into the original object for use. Based on this, the cloud desktop protocol server can serialize the authentication information and then send it to the cloud desktop protocol client. The cloud desktop protocol client can deserialize the authentication information sent by the cloud desktop protocol server to restore the authentication information. Continue to refer to Figure 2 The cloud desktop protocol client and the cloud application connection module can be implemented as two SDK instances in the cloud desktop terminal. In this way, the cloud desktop protocol client can transmit the authentication information to the cloud application connection module according to the existing or future inter-instance communication method.
[0050] Thus, in the above optional implementation scheme, the transparent transmission path of the authentication message can be: cloud application client (first transmission module) - cloud desktop protocol server (second transmission module) - cloud desktop protocol client - cloud application connection module.
[0051] It should be understood that in this embodiment, other implementation schemes may also be used to transmit the authentication message to the cloud application connection module, for example, directly transmitting through the network, etc., and this embodiment is not limited thereto.
[0052] Afterwards, after receiving the authentication information, the cloud application connection module can establish a connection with the cloud application server where the target cloud application is located based on the authentication information. And after the connection is successfully established, the undecoded data stream corresponding to the target cloud application can be received from the cloud application server. It can be seen that in this embodiment, the cloud application server can transmit the undecoded data stream corresponding to the target cloud application directly to the cloud desktop terminal, and it is no longer necessary to transmit it to the cloud desktop server. Compared with the traditional solution, this eliminates the two-stage network delay and secondary streaming problems, that is, in this embodiment, the cloud desktop server no longer needs to receive the undecoded data stream, no longer needs to decode it, no longer needs to encode the decoded cloud application data together with the cloud desktop data, and no longer needs to transmit the cloud application data to the cloud desktop terminal based on the re-encoded data stream.
[0053] refer to Figure 2, in this embodiment, the cloud desktop protocol server may also transmit the cloud desktop data stream to the cloud desktop protocol client. It should be understood that the undecoded data stream corresponding to the target cloud application and the cloud desktop data stream mentioned here may include image data, voice data, and / or keyboard and mouse data, etc. This embodiment does not limit the data types included in the data stream, and can be set according to the operation requirements of the cloud application and the cloud desktop.
[0054] In addition, the cloud desktop protocol client may also receive the undecoded data stream corresponding to the target cloud application from the cloud application connection establishment module. In this way, the cloud desktop protocol client can obtain the cloud desktop data stream and the undecoded data stream corresponding to the target cloud application. On this basis, the cloud desktop protocol client can display the target cloud application in the cloud desktop based on these two data streams.
[0055] In summary, in this embodiment, the cloud application connection establishment module is deployed in the cloud desktop terminal and the cloud application client is deployed in the cloud desktop server. Based on this, when an access instruction for the target cloud application occurs in the cloud desktop, the cloud application client will not establish a connection with the cloud application server where the target cloud application is located, but provide the authentication information corresponding to the target cloud application to the cloud application connection establishment module, and the cloud application connection establishment module will establish a connection with the cloud application server and receive the undecoded data stream corresponding to the target cloud application. In this way, the undecoded data stream can be directly transmitted to the cloud desktop terminal, and the cloud desktop terminal can display the target cloud application in the cloud desktop based on the undecoded data stream and the originally received cloud desktop data stream, so as to realize the access to the cloud application within the cloud desktop. Accordingly, in the embodiment of the present application, there is no need to perform any decoding and re-encoding work for the target cloud application in the cloud desktop server, and the cloud desktop terminal can directly obtain the undecoded data stream from the cloud application server and perform decoding and rendering, which can effectively avoid the problem of secondary streaming when accessing the cloud application in the cloud desktop, and eliminate the network delay in two stages required in the traditional solution, thereby effectively reducing the resource overhead on the cloud desktop server, improving the image quality of the cloud application and / or reducing the network delay.
[0056] In the above or following embodiments, in order to cope with various emergencies or the problem of restricted access to some cloud applications, in addition to the direct connection solution (the cloud application server directly connects to the cloud desktop terminal) provided in the foregoing embodiments, a relay solution is also provided. The switching timing of the two solutions will be described in detail below, and the relay solution will be described in detail.
[0057] Figure 3 It is an alternative implementation structure of another communication system provided for an exemplary embodiment of the present application. Refer to Figure 3, in this embodiment, for the cloud desktop server, in the case where it is determined that the cloud application connection module fails to establish a connection with the cloud application server where the target cloud application is located, the transfer scheme can be switched. That is, after the cloud application connection module fails to establish a connection with the cloud application server, the cloud application connection module no longer attempts to establish a connection with the cloud application server. In practical applications, the cloud application connection module can transmit a connection failure notification to the cloud desktop server. For example, referring to the exemplary pass-through path provided for the authentication information in the foregoing embodiment, the connection failure notification can be transmitted back to the cloud application client through this pass-through path.
[0058] Under this trigger, the cloud application client can establish a connection with the cloud application server based on the authentication information corresponding to the target cloud application and receive the undecoded data stream corresponding to the target cloud application from the cloud application server. Refer to Figure 3 , the cloud application server is no longer directly connected to the cloud desktop terminal, but is communicatively connected to the cloud desktop server, specifically, connected to the cloud application client deployed in the cloud desktop server.
[0059] In the transfer scheme provided in this embodiment, the cloud application client will not decode the undecoded data stream corresponding to the target cloud application either, but will transmit the undecoded data stream to the cloud desktop protocol server; and the cloud desktop protocol server will then transmit the undecoded data stream to the cloud desktop protocol client. It can be understood that in the transfer scheme, the undecoded data stream will also be finally transmitted to the cloud desktop protocol client just like in the direct connection scheme. After the undecoded data stream is transmitted to the cloud desktop protocol client, the cloud desktop protocol client can adopt the same processing logic in both the transfer scheme and the direct connection scheme to display the target cloud application on the cloud desktop.
[0060] Here, refer to Figure 3 , in an optionally implemented solution, referring to the exemplary pass-through path provided for the authentication information in the foregoing embodiment, the undecoded data stream corresponding to the target cloud application can be passed through from the cloud application client to the cloud desktop protocol client. It should be noted here that more customized channels added additionally between the cloud desktop protocol server and the cloud desktop protocol client can be used to transmit different types of data that occur additionally in this embodiment. For example, the foregoing authentication information can be transmitted through the first customized channel, and the undecoded data stream required here can be transmitted through the second customized channel. In this way, appropriate channels can be selected for different types of data to ensure the timeliness and accuracy of data transmission.
[0061] In addition, in the transfer scheme, the cloud application connection module deployed in the cloud desktop terminal is no longer used. Of course, it should be understood that the cloud application connection module can be used in the access process of other cloud applications.
[0062] Figure 4A schematic diagram of communication logic within a communication system provided by an exemplary embodiment of the present application. Refer to Figure 4 , based on the relay solution provided in this embodiment, a judgment logic can be added to the cloud application client: after receiving the aforementioned access instruction, it can be determined whether a cloud application connection module is deployed in the cloud desktop terminal. If not, the relay solution can be switched to, and it is no longer necessary to transmit the aforementioned authentication information to the cloud desktop terminal; if so, the authentication information can continue to be transmitted to the cloud application connection module according to the direct connection solution; afterwards, it can be further determined whether the cloud application connection module is successfully connected to the cloud application server. If so, the direct connection solution can continue to be executed; if not, the relay solution can be switched to.
[0063] In this way, in the event of an emergency or problems with restricted access to some cloud applications, a fallback mechanism can be supported to fallback from the direct connection solution to the relay solution, thereby addressing emergencies or problems with restricted access to some cloud applications. The emergencies or problems with restricted access to some cloud applications here may include, but are not limited to, that the target cloud application is only allowed to be accessed in a virtual private cloud (VPC) environment, or that the cloud application connection module is not deployed in the cloud desktop terminals used by some users, etc.
[0064] Accordingly, in this embodiment, a relay solution is provided. The cloud application server is connected to the cloud desktop server. However, neither the cloud application client nor the cloud desktop protocol server deployed in the cloud desktop server will decode the undecoded data stream provided by the cloud application server, but instead transparently transmit the undecoded data stream to the cloud desktop protocol client. It can be seen that the relay solution can also avoid the problem of secondary streaming, thereby avoiding image quality loss. Since a lot of encoding and decoding work is eliminated, the network latency can also be reduced to a certain extent.
[0065] In the above or following embodiments, since it is necessary to display cloud applications on the cloud desktop, therefore, how to ensure the accuracy of the display is an urgent problem to be solved. For this reason, a solution is proposed in this embodiment. It should be noted that the solution provided in this embodiment is common to the aforementioned direct connection solution and relay solution.
[0066] Refer to Figure 2 and Figure 3, in this embodiment, the cloud application client can obtain the position information of the application screen of the target cloud application in the cloud application window. In practical applications, the cloud application client can obtain the required position information by calling the specified data collection interface provided by the cloud application server. For example, if the cloud application uses the JAVA framework, the data collection interface here can be a JS interface. It should be understood that although the cloud application client is not connected to the cloud application server in this embodiment, it still has the permission to access the relevant interfaces provided by the cloud application server. As mentioned above, in the cloud desktop, the access to the cloud application can be initiated through a browser or a soft terminal. Therefore, the position information obtained here can be used to describe the coordinate position of the application screen in the browser window or the soft terminal window. In practical applications, the application screen can fill the display window where it is located, or it can also occupy only a part of the window area.
[0067] After that, the cloud application client can transmit the obtained position information to the cloud desktop protocol server. Here, the cloud application client can transmit the position information to the second transmission module in the cloud desktop protocol server through the first transmission module deployed in it to achieve the transparent transmission of the position information.
[0068] In this embodiment, an application window manager can be deployed in the cloud desktop protocol server. On the one hand, the application window manager can obtain the position information of the application screen of the target cloud application provided by the cloud application client in the cloud application window; on the other hand, it can also obtain the position relationship between the cloud application window and other display windows in the cloud desktop.
[0069] An exemplary solution for obtaining the position relationship can be: using the application window manager to call the specified interface to capture the coordinate information and display order of each display window in the cloud desktop; determining the position relationship between each display window according to the coordinate information and display order. Since the cloud application window is one of the display windows in the cloud desktop, the application window manager will also obtain the coordinate information and display order of the cloud application window in the desktop image. In this way, the application window manager has sufficient reference data to determine the position relationship between the cloud application window and other display windows in the cloud desktop. In practical applications, the application window manager can call the specified interface provided by the operating system to capture the coordinate information and display order of each display window in the cloud desktop. For example, for a cloud desktop using the windows operating system, the application window manager can call the WinEventHook interface to obtain the coordinate information and display order of each display window in the cloud desktop. Among them, the display order is used to reflect the order of the display windows in the Z-order. The display window with a higher display order may block the display window with a lower display order.
[0070] On this basis, the application window manager can calculate the occlusion information corresponding to the application screen according to the position information and the positional relationship; it can also transmit the position information and the occlusion information to the cloud desktop protocol client.
[0071] For the cloud desktop protocol client, based on the cloud desktop data stream and the undecoded data stream, the target cloud application can be displayed in the cloud desktop according to the received position information and occlusion information.
[0072] An exemplary rendering scheme can be: according to the occlusion information, crop the application screen decoded from the undecoded data stream; according to the position information, splice the cropped application screen and the desktop image of the cloud desktop; display the spliced screen to display the target cloud application in the cloud desktop according to the occlusion information. In practical applications, since the application screen is not decoded in the cloud desktop protocol server, therefore, the display area of the application screen in the cloud application window included in the desktop image can be displayed as a specified pattern, and the specified pattern includes a pure white pattern, a pure black pattern or a mosaic pattern.
[0073] Figure 5 This is a schematic diagram of the rendering result of a cloud desktop provided by an exemplary embodiment of the present application. Refer to Figure 5 , according to the occlusion information, the occluded part in the cloud application screen can be cropped off, and then the remaining part of the application screen after cropping is spliced into the cloud application window included in the desktop image according to the position information, and finally the rendering result as shown in Figure 5 is generated.
[0074] It is worth noting that in practical applications, the application screen of the cloud application can fill the cloud application window, so that the user will not distinguish between local applications and cloud applications in terms of visual, auditory, tactile and other interaction experiences, thus better improving the user experience.
[0075] Accordingly, in this embodiment, the occlusion information corresponding to the application screen can be accurately calculated and provided to the cloud desktop protocol client in the cloud desktop terminal for the cloud desktop protocol client to accurately render the application screen of its target cloud application in the desktop image of the cloud desktop, thereby ensuring the display accuracy of the cloud application in the cloud desktop.
[0076] Figure 6 This is a schematic flowchart of a method for accessing a cloud application in a cloud desktop provided by another exemplary embodiment of the present application, and this method is applicable to a cloud desktop server. Refer to Figure 6 , a cloud desktop protocol server and a cloud application client are deployed in the cloud desktop server, and the method includes:
[0077] Step 600, in response to an access instruction for a target cloud application occurring in the cloud desktop, use the cloud application client to obtain the authentication information corresponding to the target cloud application;
[0078] Step 601: Transmit the authentication information to the cloud application connection establishment module deployed in the cloud desktop terminal to trigger the cloud application connection establishment module to establish a connection with the cloud application server where the target cloud application is located based on the authentication information and receive the undecoded data stream corresponding to the target cloud application from the cloud application server;
[0079] Step 602: Use the cloud desktop protocol server to transmit the cloud desktop data stream to the cloud desktop protocol client deployed in the cloud desktop terminal, so that the cloud desktop protocol client can display the target cloud application in the cloud desktop based on the cloud desktop data stream and the undecoded data stream received from the cloud application connection establishment module.
[0080] In an optional embodiment, the method may further include:
[0081] If it is determined that the cloud application connection establishment module is not deployed in the cloud desktop terminal or the connection between the cloud application connection establishment module and the cloud application server fails, use the cloud application client to establish a connection with the cloud application server based on the authentication information and receive the undecoded data stream corresponding to the target cloud application from the cloud application server;
[0082] Use the cloud application client to transmit the undecoded data stream to the cloud desktop protocol server;
[0083] Use the cloud desktop protocol server to transmit the undecoded data stream to the cloud desktop protocol client.
[0084] In an optional embodiment, the method may further include:
[0085] Use the cloud application client to obtain the position information of the application screen of the target cloud application in the cloud application window;
[0086] Transmit the position information to the cloud desktop protocol server;
[0087] Use the application window manager deployed in the cloud desktop protocol server to obtain the position relationship between the cloud application window and other display windows in the cloud desktop;
[0088] Use the application window manager to calculate the occlusion information corresponding to the application screen according to the position information and the position relationship;
[0089] Transmit the position information and the occlusion information to the cloud desktop protocol client, so that the cloud desktop protocol client can display the target cloud application in the cloud desktop according to the position information and the occlusion information.
[0090] In an alternative embodiment, the step of using the application window manager deployed in the cloud desktop protocol server to obtain the positional relationship between the cloud application window and other display windows in the cloud desktop may include:
[0091] Using the application window manager to call a specified interface to capture the coordinate information and display order of each display window in the cloud desktop;
[0092] Determining the positional relationship between the respective display windows according to the coordinate information and the display order;
[0093] Wherein, the cloud application window is one of the display windows in the cloud desktop.
[0094] In an alternative embodiment, the cloud application client includes a first transmission module, and the cloud desktop protocol server includes a second transmission module; the first transmission module transmits the obtained authentication information, the location information, and / or the undecoded data stream to the second transmission module according to a pre-agreed transmission protocol; the cloud desktop protocol server transmits the authentication information and / or the undecoded data stream received by the second transmission module to the cloud desktop protocol client through a customized channel; the cloud desktop protocol client transmits the received authentication information to the cloud application connection module.
[0095] In an alternative embodiment, the cloud application client uses a browser client or a soft terminal, and the cloud application connection module uses a software development kit (SDK).
[0096] It should be noted that for the technical details in the above embodiments of the method for accessing cloud applications within a cloud desktop, reference may be made to the relevant descriptions of the cloud desktop server in the foregoing system embodiments. To save space, they will not be elaborated herein, but this should not cause any loss to the protection scope of this application.
[0097] Figure 7 The following is a schematic flowchart of another method for accessing cloud applications within a cloud desktop provided for another exemplary embodiment of this application. This method is applicable to a cloud desktop terminal. Refer to Figure 7 , where a cloud desktop protocol client and a cloud application connection module may be deployed in the cloud desktop terminal. The method includes:
[0098] Step 700: If receiving the authentication information corresponding to the target cloud application sent by the cloud desktop server, use the cloud application connection module to establish a connection with the cloud application server where the target cloud application is located based on the authentication information. Wherein, the authentication information is obtained by the cloud application client deployed in the cloud desktop server in response to an access instruction for the target cloud application in the cloud desktop;
[0099] Step 701: Use the cloud application connection module to receive the undecoded data stream corresponding to the target cloud application from the cloud application server and transmit it to the cloud desktop protocol client;
[0100] Step 702: Use the cloud desktop protocol client to receive the cloud desktop data stream from the cloud desktop server;
[0101] Step 703: Use the cloud desktop protocol client to display the target cloud application in the cloud desktop based on the cloud desktop data stream and the undecoded data stream.
[0102] In an optional embodiment, the method may further include:
[0103] If the connection between the cloud application connection module and the cloud application server fails, stop the connection and notify the cloud desktop server, so that the cloud desktop server can use the cloud application client to establish a connection with the cloud application server based on the authentication information and obtain the undecoded data stream;
[0104] Receive the undecoded data stream sent by the cloud desktop protocol server, where the undecoded data stream is transmitted by the cloud application client to the cloud desktop protocol server.
[0105] In an optional embodiment, the step of using the cloud desktop protocol client to display the target cloud application in the cloud desktop based on the cloud desktop data stream and the undecoded data stream includes:
[0106] Use the cloud desktop protocol client to receive the position information of the application screen of the target cloud application in the cloud application window and the occlusion information corresponding to the application screen of the target cloud application sent by the cloud desktop protocol server. The occlusion information is calculated by the cloud desktop protocol server according to the position information obtained by the cloud application client and the position relationship between the cloud application window and other display windows in the cloud desktop;
[0107] Use the cloud desktop protocol client to display the target cloud application in the cloud desktop according to the position information and the occlusion information based on the cloud desktop data stream and the undecoded data stream.
[0108] In an optional embodiment, the step of using the cloud desktop protocol client to display the target cloud application in the cloud desktop according to the position information and the occlusion information based on the cloud desktop data stream and the undecoded data stream includes:
[0109] Crop the application screen decoded from the undecoded data stream according to the occlusion information;
[0110] According to the position information, splice the cropped application screen and the desktop image of the cloud desktop;
[0111] Display the spliced screen to display the target cloud application in the cloud desktop according to the occlusion information.
[0112] It should be noted that for the technical details in the above embodiments of the method for accessing cloud applications in a cloud desktop, reference can be made to the relevant descriptions of the cloud desktop terminal in the foregoing system embodiments. To save space, they will not be elaborated here, but this should not cause loss of the protection scope of this application.
[0113] In addition, in some of the processes described in the above embodiments and the accompanying drawings, there are multiple operations that appear in a specific order. However, it should be clearly understood that these operations may not be executed in the order in which they appear in this document or may be executed in parallel. The operation numbers such as 601 and 602 are only used to distinguish different operations, and the numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel. It should be noted that the descriptions such as "first" and "second" in this document are used to distinguish different transmission modules, etc., and do not represent a sequence, nor do they limit that "first" and "second" are of different types.
[0114] Figure 8 This is a schematic structural diagram of a cloud desktop server provided by another exemplary embodiment of the present application. As Figure 8 shown, the cloud desktop server may include: a memory 80 and a processor 81. A cloud desktop protocol server and a cloud application client can be deployed in the processor 81.
[0115] The processor 81, coupled to the memory 80, is used to execute the computer program in the memory 80 for:
[0116] In response to an access instruction for a target cloud application in the cloud desktop, use the cloud application client to obtain the authentication information corresponding to the target cloud application;
[0117] Transmit the authentication information to the cloud application connection establishment module deployed in the cloud desktop terminal to trigger the cloud application connection establishment module to establish a connection with the cloud application server where the target cloud application is located based on the authentication information and receive the undecoded data stream corresponding to the target cloud application from the cloud application server;
[0118] Use the cloud desktop protocol server to transmit the cloud desktop data stream to the cloud desktop protocol client deployed in the cloud desktop terminal, so that the cloud desktop protocol client can display the target cloud application in the cloud desktop based on the cloud desktop data stream and the undecoded data stream received from the cloud application connection establishment module.
[0119] In an alternative embodiment, the processor 81 may further be configured to:
[0120] If it is determined that the cloud application connection module is not deployed in the cloud desktop terminal or the connection between the cloud application connection module and the cloud application server fails, the cloud application client is used to establish a connection with the cloud application server based on the authentication information and receive the undecoded data stream corresponding to the target cloud application from the cloud application server;
[0121] The cloud application client is used to transmit the undecoded data stream to the cloud desktop protocol server;
[0122] The cloud desktop protocol server is used to transmit the undecoded data stream to the cloud desktop protocol client.
[0123] In an alternative embodiment, the processor 81 may further be configured to:
[0124] The cloud application client is used to obtain the position information of the application screen of the target cloud application in the cloud application window;
[0125] The position information is transmitted to the cloud desktop protocol server;
[0126] The application window manager deployed in the cloud desktop protocol server is used to obtain the position relationship between the cloud application window and other display windows in the cloud desktop;
[0127] The application window manager is used to calculate the occlusion information corresponding to the application screen according to the position information and the position relationship;
[0128] The position information and the occlusion information are transmitted to the cloud desktop protocol client for the cloud desktop protocol client to display the target cloud application in the cloud desktop according to the position information and the occlusion information.
[0129] In an alternative embodiment, when the processor 81 uses the application window manager deployed in the cloud desktop protocol server to obtain the position relationship between the cloud application window and other display windows in the cloud desktop, it may specifically be configured to:
[0130] The application window manager is used to call a specified interface to capture the coordinate information and display order of each display window in the cloud desktop;
[0131] According to the coordinate information and the display order, the position relationship between the respective display windows is determined;
[0132] Wherein, the cloud application window is one of the display windows in the cloud desktop.
[0133] In an alternative embodiment, a first transmission module is included in the cloud application client, and a second transmission module is included in the cloud desktop protocol server; the first transmission module transmits the obtained authentication information, the location information, and / or the undecoded data stream to the second transmission module according to a pre-agreed transmission protocol; the cloud desktop protocol server transmits the authentication information and / or the undecoded data stream received by the second transmission module to the cloud desktop protocol client through a customized channel; the cloud desktop protocol client transmits the received authentication information to the cloud application connection establishment module.
[0134] In an alternative embodiment, the cloud application client uses a browser client or a soft terminal, and the cloud application connection establishment module uses a software development kit (SDK).
[0135] Further, as Figure 8 shown, the cloud desktop server further includes: a communication component 82, a power supply component 83, and other components. Figure 8 Only some components are schematically shown in Figure 8 and it does not mean that the cloud desktop server only includes
[0136] It should be noted that for the technical details in the above embodiments of the cloud desktop server, reference can be made to the relevant descriptions of the cloud desktop server in the foregoing system embodiments. For the sake of brevity, they will not be elaborated here, but this should not cause loss of the protection scope of this application.
[0137] Figure 9 This is a schematic structural diagram of a cloud desktop terminal provided in another exemplary embodiment of this application. As Figure 9 shown, the cloud desktop terminal may include: a memory 90 and a processor 91. The cloud desktop protocol client and the cloud application connection establishment module may be deployed in the processor 91.
[0138] The processor 91, which is coupled to the memory 90, is configured to execute a computer program in the memory 90 for:
[0139] If receiving the authentication information corresponding to the target cloud application sent by the cloud desktop server, using the cloud application connection establishment module to establish a connection with the cloud application server where the target cloud application is located based on the authentication information, where the authentication information is obtained by the cloud application client deployed in the cloud desktop server in response to an access instruction for the target cloud application in the cloud desktop;
[0140] Using the cloud application connection establishment module to receive the undecoded data stream corresponding to the target cloud application from the cloud application server and transmit it to the cloud desktop protocol client;
[0141] Receive the cloud desktop data stream from the cloud desktop server by using the cloud desktop protocol client;
[0142] Use the cloud desktop protocol client to display the target cloud application in the cloud desktop based on the cloud desktop data stream and the undecoded data stream.
[0143] In an optional embodiment, the processor 91 may also be used for:
[0144] If the connection between the cloud application connection module and the cloud application server fails, stop the connection and notify the cloud desktop server, so that the cloud desktop server can use the cloud application client to establish a connection with the cloud application server based on the authentication information and obtain the undecoded data stream;
[0145] Receive the undecoded data stream sent by the cloud desktop protocol server, where the undecoded data stream is transmitted from the cloud application client to the cloud desktop protocol server.
[0146] In an optional embodiment, when the processor 91 uses the cloud desktop protocol client to display the target cloud application in the cloud desktop based on the cloud desktop data stream and the undecoded data stream, it may specifically be used for:
[0147] Use the cloud desktop protocol client to receive the position information of the application screen of the target cloud application in the cloud application window and the occlusion information corresponding to the application screen of the target cloud application sent by the cloud desktop protocol server, where the occlusion information is calculated by the cloud desktop protocol server according to the position information obtained by the cloud application client and the position relationship between the cloud application window and other display windows in the cloud desktop;
[0148] Use the cloud desktop protocol client to display the target cloud application in the cloud desktop according to the position information and the occlusion information based on the cloud desktop data stream and the undecoded data stream.
[0149] In an optional embodiment, when the processor 91 uses the cloud desktop protocol client to display the target cloud application in the cloud desktop according to the position information and the occlusion information based on the cloud desktop data stream and the undecoded data stream, it may specifically be used for:
[0150] Crop the application screen decoded from the undecoded data stream according to the occlusion information;
[0151] Stitch the cropped application screen and the desktop image of the cloud desktop according to the position information;
[0152] Display the stitched screen to display the target cloud application in the cloud desktop according to the occlusion information.
[0153] Further, as Figure 9 shown, the cloud desktop terminal further includes: other components such as a communication component 92, a power supply component 93, a display 94, and an audio component 95. Figure 9 Only some components are schematically shown in Figure 9 and it does not mean that the cloud desktop terminal only includes
[0154] It should be noted that for the technical details in the above embodiments of the cloud desktop terminal, reference can be made to the relevant descriptions of the cloud desktop terminal in the foregoing system embodiments. For the sake of brevity, they will not be elaborated here, but this should not cause loss of the protection scope of this application.
[0155] Correspondingly, an embodiment of the present application further provides a computer-readable storage medium storing a computer program, and when the computer program is executed, it can implement each step executed in the above method embodiment.
[0156] The above Figure 8 and Figure 9 The memory is used to store a computer program and can be configured to store various other data to support operations on the computing platform. Examples of such data include instructions for any application or method operating on the computing platform, contact data, phone book data, messages, pictures, videos, etc. The memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
[0157] The above Figure 8 and Figure 9 The communication component in the above
[0158] The above Figure 9The display in [description] includes a screen, which may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen can be implemented as a touch screen to receive input signals from a user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors can sense not only the boundaries of touch or swipe actions, but also detect the duration and pressure associated with the touch or swipe operation.
[0159] The above-mentioned Figure 8 and Figure 9 The power supply component in [description] provides power for various components of the device where the power supply component is located. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device where the power supply component is located.
[0160] The above-mentioned Figure 9 The audio component in [description] can be configured to output and / or input audio signals. For example, the audio component includes a microphone (MIC), which is configured to receive external audio signals when the device where the audio component is located is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals can be further stored in a memory or transmitted via a communication component. In some embodiments, the audio component also includes a speaker for outputting audio signals.
[0161] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) containing computer-usable program code.
[0162] The present application is described with reference to the flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams, and the combination of flows and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing devices generate means for implementing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.
[0163] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a particular manner, such that the instructions stored in the computer-readable memory produce a manufacture including an instruction device that implements the functions specified in one or more processes and / or blocks Figure 1 in one or more processes and / or blocks Figure 1 specified in the block or blocks.
[0164] These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operational steps are performed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes and / or blocks Figure 1 in one or more processes and / or blocks Figure 1 specified in the block or blocks.
[0165] It should also be noted that the term "including", "comprising" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, commodity or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, commodity or device. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, commodity or device comprising the element.
[0166] 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 for analysis, stored data, displayed data, etc.) involved in this application are all information and data that have been authorized by the user or fully authorized by all parties. The collection, use and processing of relevant data need to comply with the relevant laws, regulations and standards of relevant countries and regions, and corresponding operation entrances are provided for users to choose to authorize or reject.
[0167] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, various changes and modifications can be made to the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included within the protection scope of the present application.
Claims
1. A method for accessing cloud applications within a cloud desktop, applicable to a cloud desktop server, where a cloud desktop protocol server and a cloud application client are deployed in the cloud desktop server, the method comprises: In response to an access instruction for a target cloud application in the cloud desktop, using the cloud application client to obtain authentication information corresponding to the target cloud application; Transmitting the authentication information to a cloud application connection establishment module deployed in the cloud desktop terminal to trigger the cloud application connection establishment module to establish a connection with the cloud application server where the target cloud application is located based on the authentication information and receive an undecoded data stream corresponding to the target cloud application from the cloud application server; Using the cloud desktop protocol server to transmit a cloud desktop data stream to a cloud desktop protocol client deployed in the cloud desktop terminal, so that the cloud desktop protocol client can display the target cloud application in the cloud desktop based on the cloud desktop data stream and the undecoded data stream received from the cloud application connection establishment module.
2. The method according to claim 1, further comprises: If it is determined that the cloud application connection establishment module is not deployed in the cloud desktop terminal or the connection between the cloud application connection establishment module and the cloud application server fails, using the cloud application client to establish a connection with the cloud application server based on the authentication information and receive an undecoded data stream corresponding to the target cloud application from the cloud application server; Using the cloud application client to transmit the undecoded data stream to the cloud desktop protocol server; Using the cloud desktop protocol server to transmit the undecoded data stream to the cloud desktop protocol client.
3. The method according to any one of claims 1 or 2, further comprises: Using the cloud application client to obtain the position information of the application screen of the target cloud application in the cloud application window; Transmitting the position information to the cloud desktop protocol server; Using an application window manager deployed in the cloud desktop protocol server to obtain the position relationship between the cloud application window and other display windows in the cloud desktop; Using the application window manager to calculate occlusion information corresponding to the application screen according to the position information and the position relationship; Transmitting the position information and the occlusion information to the cloud desktop protocol client, so that the cloud desktop protocol client can display the target cloud application in the cloud desktop according to the position information and the occlusion information.
4. For the method according to claim 3, using an application window manager deployed in the cloud desktop protocol server to obtain the position relationship between the cloud application window and other display windows in the cloud desktop, comprises: Using the application window manager to call a specified interface to capture the coordinate information and display order of each display window in the cloud desktop; Determining the position relationship between the respective display windows according to the coordinate information and the display order; wherein, the cloud application window is one of the display windows in the cloud desktop.
5. The method according to claim 3, wherein the cloud application client includes a first transmission module, and the cloud desktop protocol server includes a second transmission module; the first transmission module transmits the obtained authentication information, the location information, and / or the undecoded data stream to the second transmission module according to a pre-agreed transmission protocol. ; The cloud desktop protocol server transmits the authentication information and / or the undecoded data stream received by the second transmission module to the cloud desktop protocol client through a customized channel. The cloud desktop protocol client transmits the received authentication information to the cloud application connection establishment module.
6. The method according to claim 1, wherein the cloud application client uses a browser client or a soft terminal, and the cloud application connection establishment module uses a software development kit (SDK).
7. A method for accessing a cloud application within a cloud desktop, applicable to a cloud desktop terminal, wherein a cloud desktop protocol client and a cloud application connection establishment module are deployed in the cloud desktop terminal, and the method comprises: If receiving the authentication information corresponding to the target cloud application sent by the cloud desktop server, using the cloud application connection establishment module to establish a connection with the cloud application server where the target cloud application is located based on the authentication information, wherein the authentication information is obtained by the cloud application client deployed in the cloud desktop server in response to an access instruction for the target cloud application occurring in the cloud desktop. Using the cloud application connection establishment module to receive the undecoded data stream corresponding to the target cloud application from the cloud application server and transmit it to the cloud desktop protocol client. Using the cloud desktop protocol client to receive the cloud desktop data stream from the cloud desktop server. Using the cloud desktop protocol client to display the target cloud application in the cloud desktop based on the cloud desktop data stream and the undecoded data stream.
8. The method according to claim 7, further comprises: If the connection establishment between the cloud application connection establishment module and the cloud application server fails, stopping the connection establishment and notifying the cloud desktop server, so that the cloud desktop server uses the cloud application client to establish a connection with the cloud application server based on the authentication information and obtain the undecoded data stream. Receiving the undecoded data stream sent by the cloud desktop protocol server deployed in the cloud desktop server, where the undecoded data stream is transmitted by the cloud application client to the cloud desktop protocol server.
9. The method according to any one of claims 7 or 8, wherein using the cloud desktop protocol client to display the target cloud application in the cloud desktop based on the cloud desktop data stream and the undecoded data stream comprises: Using the cloud desktop protocol client to receive the position information of the application screen of the target cloud application in the cloud application window and the occlusion information corresponding to the application screen of the target cloud application sent by the cloud desktop protocol server deployed in the cloud desktop server, wherein the occlusion information is calculated by the cloud desktop protocol server according to the position information obtained by the cloud application client and the position relationship between the cloud application window and other display windows in the cloud desktop. Using the cloud desktop protocol client, based on the cloud desktop data stream and the undecoded data stream, display the target cloud application in the cloud desktop according to the position information and the occlusion information.
10. The method according to claim 9, wherein using the cloud desktop protocol client, based on the cloud desktop data stream and the undecoded data stream, display the target cloud application in the cloud desktop according to the position information and the occlusion information, comprises: Cropping the application screen decoded from the undecoded data stream according to the occlusion information; Stitching the cropped application screen and the desktop image of the cloud desktop according to the position information; Displaying the stitched screen to display the target cloud application in the cloud desktop according to the occlusion information.
11. A cloud desktop server, comprising a memory and a processor; The memory is used to store one or more computer instructions; The processor is coupled to the memory and is used to execute the one or more computer instructions to execute the method for accessing a cloud application in a cloud desktop according to any one of claims 1-6.
12. A cloud desktop terminal, comprising a memory and a processor; The memory is used to store one or more computer instructions; The processor is coupled to the memory and is used to execute the one or more computer instructions to execute the method for accessing a cloud application in a cloud desktop according to any one of claims 7-10.
13. A computer-readable storage medium storing computer instructions, when the computer instructions are executed by one or more processors, causing the one or more processors to execute the method for accessing a cloud application in a cloud desktop according to any one of claims 1-10.
Citation Information
Patent Citations
Application debugging method, device and system
CN107277107A
Cloud application access method and device
CN114844871A