A cloud desktop system, method, device, and electronic device
By using streaming media server and message middleware in the cloud desktop system, the synchronous transmission of screen sharing data is achieved, which solves the problem of high computing resources consumed during screen sharing in the cloud desktop system, and improves system performance and bandwidth utilization efficiency. .
Patent Information
- Application Number
- CN202411573204.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-05
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2044-11-05
AI Technical Summary
Existing cloud desktop systems consume a lot of computing resources during screen sharing, resulting in performance degradation.
By introducing streaming media server and message middleware into the cloud desktop system, the target service component will publish the target data stream to the message middleware after receiving the screen sharing instructions and transmit it to the streaming media server synchronously. The sharing receiver will be from the streaming media after receiving the screen sharing instructions. The server obtains data flow to reduce the acquisition of audio and video data flow to the target cloud desktop server.
It effectively reduces the computing resources consumed by cloud desktop screen sharing, improves system performance, and reduces bandwidth consumption.
Smart Images

Figure CN119071343B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data processing technology, and in particular to a cloud desktop system, method, device, and electronic device. Background Art
[0002] The application scope of cloud desktop is very wide, for example, it can be used in teaching, examination and office scenes. In the process of using cloud desktop, screen sharing is a commonly used function, and in the prior art, the implementation method of screen sharing is that the target software as the sharing party running on the cloud desktop server captures the screen content, and forwards the captured screen content to the target software used by the user as the receiving party through the software server corresponding to the target software, so as to achieve the purpose of screen sharing. In this process, the target software as the sharing party needs to perform operations of capturing the screen content and transmitting the data of the screen content, which consumes the computing resources of the cloud desktop.
[0003] Therefore, how to reduce the computing resources consumed by cloud desktop screen sharing has become a technical problem that needs to be solved urgently. Summary of the invention
[0004] The purpose of the embodiments of the present application is to provide a cloud desktop system, method, device, and electronic device to effectively reduce the computing resources consumed by cloud desktop screen sharing. The specific technical solution is as follows:
[0005] In a first aspect of the implementation of the present application, a cloud desktop system is provided, including a plurality of cloud desktop servers, a cloud desktop user terminal and a service component corresponding to each cloud desktop server, and a streaming media server and a message middleware;
[0006] The target cloud desktop server is used to send a screen sharing instruction to a target service component corresponding to the target cloud desktop server in response to a first calling instruction of a target software running on the target cloud desktop server for a first application program interface; wherein the target cloud desktop server is any one of the multiple cloud desktop servers; the first calling instruction is an instruction sent by the target software running on the target cloud desktop server in response to a screen sharing operation;
[0007] The target service component is used to publish a screen sharing message for the target cloud desktop server to the message middleware in response to receiving the screen sharing instruction, and to synchronously transmit the target data stream to the streaming media server during the process of transmitting the target data stream to the target cloud desktop user terminal; wherein the target data stream is an audio and video data stream about the target cloud desktop server;
[0008] Each cloud desktop client is configured to obtain the screen sharing message from the message middleware when monitoring that the message middleware stores the screen sharing message; when judging that the cloud desktop client belongs to the sharing recipient based on the screen sharing message, stop obtaining the audio and video data stream of the corresponding cloud desktop server from the service component corresponding to the cloud desktop client, and obtain the target data stream from the streaming media server to play the obtained target data stream;
[0009] The streaming media server is used to store the target data stream and, in response to an acquisition request for the target data stream from any cloud desktop client, feed back the target data stream to the cloud desktop client.
[0010] In a second aspect of the implementation of the present application, a cloud desktop-based data processing method is provided, which is applied to a target service component in a cloud desktop system; the cloud desktop system includes multiple cloud desktop service terminals, a cloud desktop user terminal and a service component corresponding to each cloud desktop service terminal, and a streaming media service terminal and a message middleware, the target service component is a service component corresponding to a target cloud desktop service terminal; the target cloud desktop service terminal is any cloud desktop service terminal in the cloud desktop system; the method includes:
[0011] Receive a screen sharing instruction sent by a target cloud desktop server; wherein the screen sharing instruction is an instruction sent by the target cloud desktop server to the target service component in response to a first call instruction of a target software running on the target cloud desktop server for a first application program interface; the first call instruction is an instruction sent by the target software running on the target cloud desktop server in response to a screen sharing operation;
[0012] In response to receiving the screen sharing instruction, a screen sharing message for the target cloud desktop server is published to the message middleware, and in the process of transmitting the target data stream to the target cloud desktop user terminal, the target data stream is synchronously transmitted to the streaming media server, so that each cloud desktop user terminal obtains the screen sharing message from the message middleware when it monitors that the message middleware stores the screen sharing message, and stops obtaining the audio and video data stream of the corresponding cloud desktop server from the service component corresponding to the cloud desktop user terminal when it is determined based on the screen sharing message that the cloud desktop user terminal belongs to the sharing recipient, and obtains the target data stream from the streaming media server to play the obtained target data stream;
[0013] The target data stream is an audio and video data stream about the target cloud desktop server.
[0014] In a third aspect of the present application, a data processing device based on a cloud desktop is provided, which is applied to a target service component in a cloud desktop system; the cloud desktop system includes multiple cloud desktop service terminals, a cloud desktop user terminal and a service component corresponding to each cloud desktop service terminal, and a streaming media service terminal and a message middleware, the target service component is a service component corresponding to a target cloud desktop service terminal; the target cloud desktop service terminal is any cloud desktop service terminal in the cloud desktop system; the device includes:
[0015] A receiving module, configured to receive a screen sharing instruction sent by a target cloud desktop server; wherein the screen sharing instruction is an instruction sent by the target cloud desktop server to the target service component in response to a first call instruction of a target software running on the target cloud desktop server for a first application program interface; the first call instruction is an instruction sent by the target software running on the target cloud desktop server in response to a screen sharing operation;
[0016] a publishing module, for publishing a screen sharing message for the target cloud desktop server to the message middleware in response to receiving the screen sharing instruction, and synchronously transmitting the target data stream to the streaming media server in the process of transmitting the target data stream to the target cloud desktop user terminal, so that each cloud desktop user terminal obtains the screen sharing message from the message middleware when it monitors that the message middleware stores the screen sharing message, and stops obtaining the audio and video data stream of the corresponding cloud desktop server from the service component corresponding to the cloud desktop user terminal when it is determined based on the screen sharing message that the cloud desktop user terminal belongs to the sharing recipient, and obtains the target data stream from the streaming media server to play the obtained target data stream;
[0017] The target data stream is an audio and video data stream about the target cloud desktop server.
[0018] In a fourth aspect of the implementation of the present application, there is provided an electronic device, including:
[0019] Memory, used to store computer programs;
[0020] The processor is used to implement any of the above-mentioned cloud desktop-based data processing methods when executing the program stored in the memory.
[0021] In a fifth aspect of the implementation of the present application, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the computer program implements any of the above-mentioned cloud desktop-based data processing methods.
[0022] An embodiment of the present application also provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute any of the cloud desktop-based data processing methods described above.
[0023] Beneficial effects of the embodiments of the present application:
[0024] In the scheme of the embodiment of the present application, since the target service component corresponding to the target cloud desktop server can obtain the target data stream of the target cloud desktop server and send it to the target cloud desktop user terminal when it is working. Therefore, after the target service component receives the screen sharing instruction, it can synchronously transmit the target data stream to the streaming media service during the process of transmitting the target data stream to the target cloud desktop user terminal, and each cloud desktop user terminal belonging to the sharing recipient can obtain the target data stream from the streaming media service, thereby completing the screen sharing of the target cloud desktop server. It can be seen that in the whole process of the scheme of the present application, no additional resources need to be consumed to collect the screen content of the target cloud desktop server, thereby effectively reducing the computing resources consumed by cloud desktop screen sharing.
[0025] Of course, implementing any product or method of the present application does not necessarily require achieving all of the advantages described above at the same time. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other embodiments can also be obtained based on these drawings.
[0027] Figure 1 A schematic diagram of the structure of a cloud desktop system provided in an embodiment of the present application;
[0028] Figure 2 A schematic diagram of interaction when a cloud desktop system performs screen sharing provided in an embodiment of the present application;
[0029] Figure 3 An interactive schematic diagram of a cloud desktop system for collecting user audio data provided by an embodiment of the present application;
[0030] Figure 4 An interactive schematic diagram of another cloud desktop system for collecting user audio data provided by an embodiment of the present application;
[0031] Figure 5 A schematic diagram of interaction when a cloud desktop system is used for multi-user screen sharing provided in an embodiment of the present application;
[0032] Figure 6 An interactive schematic diagram of monitoring a cloud desktop system provided in an embodiment of the present application;
[0033] Figure 7 An interactive schematic diagram of another cloud desktop system for monitoring provided in an embodiment of the present application;
[0034] Figure 8 A flowchart of a data processing method based on a cloud desktop provided in an embodiment of the present application;
[0035] Fig. 9 A schematic diagram of a process flow of a cloud desktop-based data processing device provided in an embodiment of the present application;
[0036] Fig.10 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0037] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. 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 based on the present application belong to the scope of protection of the present application.
[0038] In the technical solution of this application, the operations involved in obtaining, storing, using, processing, transmitting, providing and disclosing user personal information are all carried out with the user's authorization.
[0039] In order to effectively reduce the computing resources consumed by cloud desktop screen sharing, an embodiment of the present application provides a cloud desktop system, which may include multiple cloud desktop servers, a cloud desktop client and service components corresponding to each cloud desktop server, as well as a streaming media server and a message middleware;
[0040] The target cloud desktop server is used to send a screen sharing instruction to a target service component corresponding to the target cloud desktop server in response to a first call instruction of a target software running on the target cloud desktop server for a first application program interface; wherein the target cloud desktop server is any one of the multiple cloud desktop servers; the first call instruction is an instruction sent by the target software running on the target cloud desktop server in response to a screen sharing operation;
[0041] The target service component is used to publish a screen sharing message for the target cloud desktop server to the message middleware in response to receiving the screen sharing instruction, and to synchronously transmit the target data stream to the streaming media server during the process of transmitting the target data stream to the target cloud desktop user terminal; wherein the target data stream is an audio and video data stream about the target cloud desktop server;
[0042] Each cloud desktop client is configured to obtain the screen sharing message from the message middleware when monitoring that the message middleware stores the screen sharing message; when judging that the cloud desktop client belongs to the sharing recipient based on the screen sharing message, stop obtaining the audio and video data stream of the corresponding cloud desktop server from the service component corresponding to the cloud desktop client, and obtain the target data stream from the streaming media server to play the obtained target data stream;
[0043] The streaming media server is used to store the target data stream and, in response to an acquisition request for the target data stream from any cloud desktop client, feed back the target data stream to the cloud desktop client.
[0044] The solution provided by this embodiment is that the target service component corresponding to the target cloud desktop server can obtain the target data stream of the target cloud desktop server and send it to the target cloud desktop user terminal when it is working. Therefore, after the target service component receives the screen sharing instruction, it can synchronously transmit the target data stream to the streaming media service during the process of transmitting the target data stream to the target cloud desktop user terminal. Each cloud desktop user terminal belonging to the sharing recipient can obtain the target data stream from the streaming media service, thereby completing the screen sharing of the target cloud desktop server. It can be seen that in the whole process of the solution of the present application, no additional resources need to be consumed to collect the screen content of the target cloud desktop server, thereby effectively reducing the computing resources consumed by cloud desktop screen sharing.
[0045] A cloud desktop system provided in an embodiment of the present application is introduced below in conjunction with the accompanying drawings. Figure 1 This is a schematic diagram of the structure of a cloud desktop system provided by this application. Figure 1 As shown, the cloud desktop system includes multiple cloud desktop servers 101, a cloud desktop client 102 and a service component 103 corresponding to each cloud desktop server, as well as a streaming media server 104 and a message middleware 105;
[0046] The target cloud desktop server is used to send a screen sharing instruction to a target service component corresponding to the target cloud desktop server in response to a first calling instruction of a target software running on the target cloud desktop server for a first application program interface; wherein the target cloud desktop server is any one of the multiple cloud desktop servers 101; the first calling instruction is an instruction sent by the target software running on the target cloud desktop server in response to a screen sharing operation;
[0047] The cloud desktop server is deployed in the cloud server. For example, Figure 2 The following is a schematic diagram of the interaction when a cloud desktop system is used for screen sharing provided in an embodiment of the present application. Figure 2 As shown, the server has a Host OS (Host Operating System), and QEMU (Quick EMUlator) can be deployed in the Host OS. QEMU is an open source machine simulator and virtualizer that allows you to simulate the hardware environment of another platform on one platform. QEMU can simulate a variety of processor architectures, and can run various operating systems and applications on these simulated hardware. It can be understood that the QEMU can be used as a virtual machine. Guest OS (Guest Operating System) refers to the operating system installed in the virtual machine. In this application, the QEMU can have multiple Guest OS. This application does not limit the specific types of host operating systems and sub-operating systems. The cloud desktop server of this application is the above-mentioned sub-operating system. Of course, the cloud desktop server can also be deployed on the above-mentioned sub-operating system. Figure 2 In the embodiment of the present invention, the VDI Agent (Virtual Desktop Infrastructure Agent) can be used to send operation instructions, optimize transmission protocols and manage desktop resources. It can be understood that the VDI Agent belongs to the module of the cloud desktop server for data processing. The Streaming Media Server is the above-mentioned streaming media server. Figure 2In the description, Client OS is the client operating system, that is, the operating system of the electronic device used by the user. The VDI Client is the cloud desktop user terminal, which is deployed on the Client OS. The VDI Server corresponds to the service component, that is, the VDI Server can be the service component, and VDI is the virtual desktop infrastructure. The VDI Server and the Streaming Media Server, as well as the Streaming Media Server and the VDI Client can communicate via RTSP (Real Time Streaming Protocol). The VDI Server and the VDI Client can communicate via VDI protocol.
[0048] It is understandable that various software can be installed in the cloud desktop server. The cloud desktop server of the present application can provide a corresponding interface for the target software running on the cloud desktop server, and perform corresponding operations after the software calls the interface. It is understandable that the interface of the cloud desktop of the present application can be provided to each software in advance. The teaching software teacher end and the teaching software student end are the target software. It is understandable that the teaching software teacher end and the teaching software student end belong to the same software.
[0049] Below, we briefly introduce how the cloud desktop works. The cloud desktop server can run various software, and the service component can obtain the target data corresponding to the cloud desktop server and send it to the cloud desktop client. The cloud desktop client can obtain the target data for display. The service component has a mouse channel and a keyboard channel. The user uses the mouse and / or keyboard to operate on the cloud desktop client. The corresponding operation information can be sent to the cloud desktop server through the mouse channel and / or keyboard channel of the service component. The cloud desktop server responds to receiving the operation information and performs the corresponding operation, so that the user can remotely operate the cloud desktop server.
[0050] The solution of the present application can be applied to a variety of scenarios, such as teaching scenarios, where teachers and students can have corresponding electronic devices, which are deployed with cloud desktop user terminals, such as Figure 2 As shown, in this scenario, the target software can be divided into a teaching software teacher end and a teaching software student end. In this application, the electronic device can be a customized device specifically used to run the cloud desktop user end, or it can be a conventional mobile phone, tablet, computer and other devices. Any scenario with screen sharing can apply the cloud desktop system of this application.
[0051] Furthermore, it can be understood that in the cloud desktop system of the present application, the cloud desktop client can be used to display the audio and video corresponding to the cloud desktop server based on the target data, and does not need to consume resources for other operations. Therefore, the solution of the present application has low hardware requirements for the device corresponding to the cloud desktop client, so the solution of the present application has strong applicability.
[0052] In a specific usage scenario of the cloud desktop system of the present application, multiple different users each have a corresponding cloud desktop client, and each user's cloud desktop client communicates with the cloud desktop server corresponding to the cloud desktop client through the corresponding service component, so that each cloud desktop client can display the content of the corresponding cloud desktop server. In the present application, each cloud desktop client corresponds to a unique cloud desktop server and a unique service component.
[0053] In this application, if any target user wants to share the screen with other users, he can perform a screen sharing operation on the target software, for example, by clicking a screen sharing button corresponding to the target software. After the user performs the screen sharing operation in the target software, the target software can call the first call instruction. And, it can be understood that the screen sharing operation is an operation issued by the target user through the target cloud desktop user terminal corresponding to the target cloud desktop server terminal. In this application, the user who serves as the screen sharing party is referred to as the target user.
[0054] In this application, after the first call instruction of the target cloud desktop server is triggered, a screen sharing instruction can be sent to the target service component. It is understandable that when the target user performs a screen sharing operation on the target software, the sharing recipient can be selected, for example, user A, user B and user C can be selected as the sharing recipients, and of course, all can be selected for sharing. Therefore, the screen sharing instruction can include the information of the sharing recipient.
[0055] The target service component is used to publish a screen sharing message for the target cloud desktop server to the message middleware in response to receiving the screen sharing instruction, and to synchronously transmit the target data stream to the streaming media server during the process of transmitting the target data stream to the target cloud desktop user terminal; wherein the target data stream is an audio and video data stream about the target cloud desktop server.
[0056] In the present application, the message middleware can communicate with each service component, so that after the target service component publishes the screen sharing message for the target cloud desktop server to the message middleware in response to receiving the screen sharing instruction, each cloud desktop user terminal can obtain the screen sharing message from the message middleware.
[0057] When the cloud desktop is running, the target service component can obtain the target data stream of the cloud desktop service end and transmit it to the cloud desktop user end, so that the cloud desktop user end can display the content of the cloud desktop service end. In this application, after receiving the screen sharing instruction, the target service component can transmit the target data stream of the target cloud desktop service end to the target cloud desktop user end and to the streaming media server end at the same time.
[0058] In the present application, the streaming media server can communicate with each service component and each cloud desktop user terminal.
[0059] Each cloud desktop client 102 is used to obtain the screen sharing message from the message middleware when it monitors that the message middleware stores the screen sharing message; when it is determined based on the screen sharing message that the cloud desktop client belongs to the sharing recipient, stop obtaining the audio and video data stream about the corresponding cloud desktop server from the service component corresponding to the cloud desktop client, and obtain the target data stream from the streaming media server to play the obtained target data stream; the streaming media server is used to store the target data stream, and in response to a request for obtaining the target data stream from any cloud desktop client, feed back the target data stream to the cloud desktop client.
[0060] In the present application, each cloud desktop user terminal can serve as a subscriber to the message middleware, so that each cloud desktop user terminal can obtain messages from the message middleware in real time, that is, it can realize real-time monitoring of the messages stored in the message middleware. In the case where it is monitored that the message middleware stores a screen sharing message, the screen sharing message can be obtained from the message middleware. The shared message includes information about the sharing recipient, such as the identifier of the sharing recipient, etc., so that each cloud desktop user terminal can analyze the shared message to determine whether the cloud desktop user terminal is a sharing recipient.
[0061] The solution of the present application uses the message middleware to transmit screen sharing messages in order to reduce the coupling of the cloud desktop system, thereby improving the scalability, reliability and flexibility of the system.
[0062] Based on the introduction of the above embodiments, it can be known that, without sharing the screen, each cloud desktop client receives the target data of the corresponding cloud desktop server and displays it; and when any cloud desktop client analyzes that the cloud desktop client is a sharing object, it means that the cloud desktop client needs to display the content of the screen sharing party. Therefore, at this time, the cloud desktop client can stop obtaining the audio and video data stream about the corresponding cloud desktop server from the service component corresponding to the cloud desktop client, and obtain the target data stream from the streaming media server to play the obtained target data stream.
[0063] In this embodiment, when the screen is shared, the audio and video stream originally connected to the shared recipient stops transmitting, which can reduce additional bandwidth consumption.
[0064] The solution provided by this embodiment is that the target service component corresponding to the target cloud desktop server can obtain the target data stream of the target cloud desktop server and send it to the target cloud desktop user terminal when it is working. Therefore, after the target service component receives the screen sharing instruction, it can synchronously transmit the target data stream to the streaming media service during the process of transmitting the target data stream to the target cloud desktop user terminal. Each cloud desktop user terminal belonging to the sharing recipient can obtain the target data stream from the streaming media service, thereby completing the screen sharing of the target cloud desktop server. It can be seen that in the whole process of the solution of the present application, no additional resources need to be consumed to collect the screen content of the target cloud desktop server, thereby effectively reducing the computing resources consumed by cloud desktop screen sharing.
[0065] In addition, by applying the solution of the present application, each third-party software does not need to develop its own screen broadcasting function for the cloud desktop, but can directly call the interface provided by the cloud desktop to implement the screen broadcasting function, which can effectively avoid the situation where the software's built-in screen broadcasting function is incompatible with the cloud desktop.
[0066] Optionally, the target service component is further configured to send an audio collection instruction to the target cloud desktop user terminal in response to receiving the screen sharing instruction;
[0067] The target cloud desktop client is used to respond to the audio collection instruction, call the audio collection unit of the device to which the target cloud desktop client belongs, collect audio data, and transmit the collected audio data to the streaming media server;
[0068] The streaming media server is also used to receive audio data sent by the target cloud desktop user terminal, and in response to a request to obtain a target data stream from any cloud desktop user terminal, feed back the received audio data to the cloud desktop user terminal.
[0069] It is understandable that during the screen sharing process, the target user can make a sound, and the target user's voice also needs to be shared.
[0070] like Figure 3 As shown, it is an interactive schematic diagram of a cloud desktop system provided by an embodiment of the present application for collecting user audio data. This schematic diagram is a conventional screen sharing scenario and a solution for collecting user audio data. In this conventional solution, in order to obtain the voice of the target user, the target software running on the Guest OS (referring to the above-mentioned cloud desktop server) collects the microphone sound of the VDI Client (referring to the above-mentioned cloud desktop user terminal) from the virtual machine through the virtual device. This process is called microphone redirection. Figure 3 It can be seen that in this solution, the collected audio data needs to be transmitted from the VDI Client to the VDI Server, then from the VDI Server (referring to the above-mentioned service component) to the VDI Agent, and then from the VDI Agent to the target software. The target software encodes the recording corresponding to the audio data and pushes the stream to the Streaming Media Server (referring to the above-mentioned streaming media server). The Streaming Media Server then takes the stream and sends the audio data to another VDI Client. Since the audio data is transmitted multiple times, the transmission process is relatively complicated and will produce a large delay. Figure 3 The physical meanings of QEMU, Host OS, VDI Agent and Client OS involved in the embodiment are the same as those in the above embodiment and will not be elaborated here.
[0071] like Figure 4 As shown in FIG. 1 , it is an interactive schematic diagram of another cloud desktop system provided by the present application for collecting user audio data. The scheme corresponding to the schematic diagram is an improved scheme of the present application. Specifically, Figure 4 As shown, the Streaming Media Server (referring to the above-mentioned streaming media server) can obtain the audio data of the VDI Client (referring to the above-mentioned cloud desktop user terminal) while obtaining the target data stream of the Guest OS (referring to the above-mentioned cloud desktop server). It can be understood that the audio and video corresponding to the target data stream and the audio corresponding to the audio data are synchronized. Therefore, the Streaming Media Server can synchronously send the target data stream and the audio data to the VDI Client as the shared recipient, or the Streaming Media Server can synthesize the target data stream and the audio data and send the synthesized data to the VDI Client as the shared recipient. And, as Figure 4As shown, the target data stream of the Guest OS can be obtained by capturing and encoding the screen of the VDI Server (referring to the above-mentioned service component). Of course, in this application, the target data stream can also be encoded by the Guest OS for the current content and then sent to the VDI Server. This application does not limit the method for determining the target data stream. Figure 4 As shown, the solution of this embodiment does not require the participation of the target software.
[0072] Figure 4 The physical meanings of QEMU, Host OS, VDI Agent and Client OS involved in the above embodiment are the same as those in the above embodiment, and will not be elaborated here. It can be seen that the solution of the present application can make the audio data of the target cloud desktop user end be sent directly to the streaming media server end, with a simple process, low resource consumption, low delay and good user experience.
[0073] Optionally, the first calling instruction carries target information for representing a user identifier of a sharing recipient; wherein the user identifier of the sharing recipient includes each user account of the target software indicated by the screen sharing operation;
[0074] The target cloud desktop server sends a screen sharing instruction to a target service component corresponding to the target cloud desktop server, specifically:
[0075] Sending a screen sharing instruction carrying the target information to a target service component corresponding to the target cloud desktop server;
[0076] The target service component publishes the screen sharing message for the target cloud desktop server to the message middleware specifically as follows:
[0077] Publishing a screen sharing message for the target cloud desktop server carrying the target information to the message middleware;
[0078] The manner in which each cloud desktop client determines that the cloud desktop client belongs to the sharing recipient based on the screen sharing message includes:
[0079] Determine whether the user identifier corresponding to the cloud desktop client terminal belongs to the user identifier represented by the target message carried by the screen sharing message. If so, determine that the cloud desktop client terminal belongs to the sharing recipient; wherein the user identifier corresponding to the cloud desktop client terminal is the user account of the logged-in user of the target software running on the corresponding cloud desktop server terminal.
[0080] It is understandable that the user of each cloud desktop needs to log in the target software account on the respective cloud desktop server, so that each cloud desktop client and the target software account logged in by the user on the cloud desktop server corresponding to the cloud desktop client have a corresponding relationship. Therefore, after any cloud desktop client obtains the screen sharing message, it can determine whether the user account corresponding to the cloud desktop client belongs to the user account represented by the target information carried in the screen sharing message based on the corresponding relationship between the cloud desktop client and the user account. If so, the cloud desktop client serves as the sharing recipient.
[0081] The implementation method of this embodiment is only one implementation method of determining the sharing recipient, and there may be other methods of determining the sharing recipient. Exemplarily, the first call instruction may carry an identifier for representing the cloud desktop user terminal as the sharing recipient, and the screen sharing message may also carry the identifier of the cloud desktop user terminal representing the sharing recipient, so that each cloud desktop user terminal can use the screen sharing message carrying the identifier of the cloud desktop user terminal representing the sharing recipient to determine whether the cloud desktop user terminal belongs to the sharing recipient. This application does not limit the implementation method of determining the sharing recipient.
[0082] Optionally, the target cloud desktop server is also used to send a sharing termination instruction to the target service component corresponding to the target cloud desktop server in response to a second calling instruction of the target software running on the target cloud desktop server to the second application interface; wherein the second calling instruction is an instruction sent by the target software running on the target cloud desktop server in response to ending the sharing operation.
[0083] In the present application, the first interface and the second interface may be the same or different interfaces. When the first interface and the second interface are the same interface, since the parameters carried by the calling instruction when calling the interface are different, the interface may be triggered to implement different functions.
[0084] The end sharing operation is an operation issued by the target user to the target software through the target cloud desktop user terminal corresponding to the target cloud desktop server terminal.
[0085] In the present application, the screen content of the target cloud desktop server can be shared with each cloud desktop receiver as a sharing receiver according to the scheme of the above embodiment. During the screen sharing process, if it is necessary to end the screen sharing, the target user can perform an operation for ending the screen sharing in the target software running on the target cloud desktop server. For example, the target user can click a button representing the end of sharing for the target software. In response to the target user performing an operation for ending screen sharing on the target software, the target software issues a second call instruction to the second application program interface of the target cloud desktop server. It can be understood that the target user's operation on the target software is performed remotely on the target cloud desktop user end.
[0086] The target service component is further configured to, in response to receiving the end sharing instruction, publish an end sharing message for the target cloud desktop server to the message middleware, and stop synchronously transmitting the target data stream to the streaming media server;
[0087] The transmission method of the end sharing instruction is the same as the transmission method of the screen sharing instruction, which will not be described in detail here.
[0088] Each cloud desktop client is used to stop obtaining the target data stream from the streaming media server if it monitors that the message middleware stores an end sharing message during the process of obtaining the target data stream from the streaming media server, and obtain the audio and video data stream of the corresponding cloud desktop server from the service component corresponding to the cloud desktop client.
[0089] It can be understood that the cloud desktop user terminal, which is the subscriber of the message middleware, can obtain the end sharing message. If any cloud desktop user terminal that obtains the end sharing message is not currently a sharing party, no response is required. If any cloud desktop user terminal that obtains the end sharing message is currently a sharing party, a response can be made to the end sharing message, specifically, stopping obtaining the target data stream from the streaming media server, and obtaining the corresponding audio and video data stream of the cloud desktop server from the service component corresponding to the cloud desktop user terminal.
[0090] It can be seen that the embodiments of the present application can effectively end screen sharing during the process of screen sharing.
[0091] Optionally, the target cloud desktop server is further used to send a target sharing instruction regarding multi-user screen sharing to a target service component corresponding to the target cloud desktop server in response to a third calling instruction of a third application program interface by the target software running on the target cloud desktop server; wherein the third calling instruction is an instruction carrying specified information sent by the target software running on the target cloud desktop server in response to a target operation regarding multi-user screen sharing; the specified information is used to characterize user accounts of multiple users on the target software as screen sharing parties, and the target sharing instruction carries the specified information;
[0092] There may be a scenario where the screen contents of multiple users need to be shared together. In this case, any cloud desktop server can be used as the target cloud desktop server. Of course, under normal circumstances, the target cloud desktop server can be a cloud desktop server used by teachers in a teaching scenario, and can be a cloud desktop server used by the host in a conference scenario. This application does not limit the target cloud desktop server.
[0093] The user corresponding to the target cloud desktop server can operate the target software of the target cloud desktop server to select the users who need to be shared. Based on the operation of the user corresponding to the target cloud desktop server to select the users who need to be shared, the target software of the target cloud desktop server can send a sharing request carrying the specified information to the server corresponding to the target software, and at the same time, the target software issues a third call instruction to the third application program interface of the target cloud desktop server.
[0094] The target service component is further configured to, in response to receiving the target sharing instruction, publish a target sharing message for representing multi-user screen sharing to the message middleware, and send a data stream synthesis instruction carrying the specified information to the streaming media server;
[0095] The specified information is used to represent the user accounts of multiple users who are screen sharing parties on the target software.
[0096] Each cloud desktop server other than the target cloud desktop server is used to send a designated sharing instruction to the first service component corresponding to the cloud desktop server in response to a fourth calling instruction of the target software running on the cloud desktop server for the fourth application program interface; wherein the fourth calling instruction is an instruction sent by the target software running on the cloud desktop server after receiving the multi-user sharing instruction sent by the corresponding software server; the software server is used to send a multi-user sharing instruction to the target software based on the login of each user account after receiving a sharing request carrying the designated information sent by the target software running on the target cloud desktop server.
[0097] For any cloud desktop server other than the target cloud desktop server, if the target software running on the cloud desktop server receives a multi-user sharing instruction sent by the corresponding software server, it means that the account logged in by the target software running on the cloud desktop server is the user account of the screen sharing party. After receiving the multi-user sharing instruction sent by the corresponding software server, the target software running on any cloud desktop server can send a fourth call instruction to the fourth application program interface of the cloud desktop server.
[0098] Each first service component is used to, in response to receiving a specified sharing instruction, stop sending the audio and video data of the corresponding cloud desktop server to the corresponding cloud desktop client, and send the audio and video data about the corresponding cloud desktop server and associated with the target account in the received specified sharing instruction to the streaming media server;
[0099] The first service component refers to the service component corresponding to the cloud desktop server on which the target software being run receives the multi-user sharing instruction sent by the corresponding software server.
[0100] The streaming media server is also used to receive the data stream synthesis instruction, and perform data stream synthesis on each received audio and video data stream to obtain a synthesized data stream.
[0101] In one implementation, the receiving of the data stream synthesis instruction and performing data stream synthesis on each received audio and video data stream to obtain a synthesized data stream may be that after the streaming media server receives the data stream synthesis instruction, it directly performs data stream synthesis on each received audio and video data stream to obtain a synthesized data stream.
[0102] Usually, in a multi-user screen sharing scenario, the audio and video data streams received by the streaming media server are the audio and video data streams of the cloud desktop server running the target software logged in by the user account represented by the specified information. Therefore, after receiving the data stream synthesis instruction, the streaming media server can directly perform data stream synthesis on the received audio and video streams.
[0103] In one implementation, the receiving of the data stream synthesis instruction and performing data stream synthesis on each received audio and video data stream to obtain a synthesized data stream may be that after the streaming media server receives the data stream synthesis instruction carrying the specified information, it determines, for each received audio and video data stream, whether each audio and video data stream is an audio and video data stream of a cloud desktop server run by a target software logged in by a user account represented by the specified information, and performs data stream synthesis on each audio and video data stream of a cloud desktop server run by a target software logged in by a user account represented by the specified information to obtain a synthesized data stream.
[0104] Of course, there are special circumstances that cause the audio and video data streams of the non-screen sharing party to be transmitted to the streaming media server. Therefore, the streaming media server of the present application can analyze the audio and video data streams based on the specified information carried by the data stream synthesis instruction, and only synthesize the audio and video data streams belonging to the screen sharing party.
[0105] Each cloud desktop client is used to stop obtaining the audio and video data stream of the corresponding cloud desktop server from the corresponding service component when monitoring the target sharing message stored in the message middleware, and obtain the synthesized data stream from the streaming media server for playback.
[0106] As the user of the screen sharing party, the corresponding cloud desktop user terminal can also obtain the synthesized data stream for playback. It can be understood that during the screen sharing process, the user of the screen sharing party can also operate the target software of the corresponding cloud desktop server terminal through the cloud desktop user terminal. Of course, as the user of the screen sharing party, the corresponding cloud desktop user terminal can also only display the content of the user's cloud desktop server terminal.
[0107] Figure 5 This is a schematic diagram of interaction when a cloud desktop system provided by the present application performs multi-user screen sharing.
[0108] like Figure 5 As shown, in the scenario of multi-user screen sharing, the Streaming Media Server (referring to the above-mentioned streaming media server) can obtain the audio and video data of the Guest OS (referring to the above-mentioned cloud desktop server) of multiple users as screen sharing parties, synthesize the data streams, and obtain a synthesized data stream. Each VDI Client (referring to the above-mentioned cloud desktop user terminal) can obtain the synthesized data stream for playback, thereby realizing multi-user screen sharing. Specifically, Figure 5The two Guest OS on the right are the sharing parties, and their audio and video data are obtained by the StreamingMedia Server, and the data streams are synthesized to obtain a synthesized data stream, so that each Guest OS can obtain the synthesized data stream from the Streaming Media Server for display. Moreover, in the scheme of the embodiment of the present application, since the VDI Server (referring to the above-mentioned service component) corresponding to the multi-user Guest OS as the screen sharing party can obtain the audio and video data stream of the Guest OS and send it to the corresponding VDI Client when it is working, the scheme of the embodiment of the present application does not need to consume additional resources to collect various audio and video data, thereby effectively reducing the computing resources consumed by cloud desktop screen sharing.
[0109] Figure 5 The physical meanings of the target software, QEMU, Host OS, VDI Agent, API, VDI Protocol, RTSP and Client OS involved in the process are the same as those in the above embodiments and will not be elaborated herein.
[0110] Optionally, the system further includes a video storage terminal;
[0111] Each service component communicates with the video storage end through a designated network, wherein the designated network is a communication network different from a target network, and the target network is a communication network used by each service component to communicate with a corresponding cloud desktop service end;
[0112] Each service component is also used to synchronously send the audio and video data about the corresponding cloud desktop server to the video storage end during the process of sending the audio and video data about the corresponding cloud desktop server to the corresponding cloud desktop user end, so as to store the audio and video data.
[0113] During the application of the cloud desktop, there may be a need to save the cloud desktop screen. Figure 6 An interactive schematic diagram for monitoring a cloud desktop system. Figure 6 The corresponding solution is the conventional solution. Figure 6As shown, it is necessary to install a monitoring program in the Guest OS (referring to the above-mentioned cloud desktop server), and the monitoring program uses the resources of the Guest OS to collect data from the Guest OS in real time, and sends the collected data to the video storage device. It is necessary to consume the resources of the Guest OS, and in this application, each Guest OS communicates internally through a business network. However, in this solution, since the monitoring program is directly connected to the video storage device outside the Guest OS, the external network is connected to the business network, breaking the network isolation, which may affect the network security of the Guest OS. Moreover, since different Guest OSes correspond to different systems, this method requires the development of corresponding monitoring software for different systems. Therefore, this method is costly and has poor versatility.
[0114] Figure 6 The physical meanings of QEMU, Host OS, VDI Agent, VDI Server, VDI Client and ClientOS involved in the above embodiment are the same as those in the above embodiment, and will not be described in detail here. Figure 6 The client here refers to the client that plays back the content of the video storage device.
[0115] Figure 7 An interactive schematic diagram of another cloud desktop system for monitoring provided in an embodiment of the present application. Figure 7 The scheme of is an improved scheme of this application. Figure 7 As shown, the target data sent by the service component to the cloud desktop user terminal can be reused, and the service component pushes the target data to the video storage device, thereby eliminating the need for monitoring software to collect data, reducing resource consumption of the Guest OS (referring to the above-mentioned cloud desktop server). Moreover, in the solution of this embodiment, the network of the virtual machine communicates with the video storage device, which can effectively reduce the impact on the network security of the cloud desktop server.
[0116] Figure 7 The physical meanings of QEMU, Host OS, VDI Agent, VDI Server, VDI Client and ClientOS involved in the above embodiment are the same as those in the above embodiment, and will not be described in detail here. Figure 7 The client here refers to the client that plays back the content of the video storage device.
[0117] Optionally, each service component is further configured to send the target event information as associated information about the audio and video data of the corresponding cloud desktop server to the video storage terminal during the process of sending the audio and video data about the corresponding cloud desktop server to the corresponding cloud desktop user terminal;
[0118] The target event information includes event information of mouse events and keyboard events occurring at the cloud desktop server corresponding to the service component.
[0119] The above embodiment introduces that the service component includes a keyboard channel and a mouse channel, which are used to transmit the keyboard operations and mouse operations performed by the user on the cloud desktop user end to the cloud desktop server end. Therefore, the service component can send the event information of the corresponding mouse events and keyboard events to the video storage end as the associated information of the audio and video data of the cloud desktop server end. The event information of the mouse events and keyboard events is the information corresponding to the keyboard operations and mouse operations performed by the user. When the video storage end is used to play back the audio and video data later, the corresponding keyboard and mouse operations can be displayed.
[0120] Corresponding to the above-mentioned cloud desktop system, an embodiment of the present application provides a data processing method based on a cloud desktop, the method is applied to a target service component in the cloud desktop system, the cloud desktop system includes multiple cloud desktop service terminals, a cloud desktop user terminal and a service component corresponding to each cloud desktop service terminal, and a streaming media service terminal and a message middleware, the target service component is a service component corresponding to a target cloud desktop service terminal; the target cloud desktop service terminal is any cloud desktop service terminal in the cloud desktop system; Figure 8 A flowchart of a data processing method based on a cloud desktop provided in an embodiment of the present application, the method comprising:
[0121] S801, receiving a screen sharing instruction sent by a target cloud desktop server; wherein the screen sharing instruction is an instruction sent by the target cloud desktop server to the target service component in response to a first call instruction of a target software running on the target cloud desktop server for a first application program interface; the first call instruction is an instruction sent by the target software running on the target cloud desktop server in response to a screen sharing operation;
[0122] S802, in response to receiving the screen sharing instruction, publishing a screen sharing message for the target cloud desktop server to the message middleware, and in the process of transmitting the target data stream to the target cloud desktop client, synchronously transmitting the target data stream to the streaming media server, so that each cloud desktop client obtains the screen sharing message from the message middleware when it monitors that the message middleware stores the screen sharing message, and stops obtaining the audio and video data stream of the corresponding cloud desktop server from the service component corresponding to the cloud desktop client when it is determined that the cloud desktop client belongs to the sharing recipient based on the screen sharing message, and obtains the target data stream from the streaming media server to play the obtained target data stream;
[0123] The target data stream is an audio and video data stream about the target cloud desktop server.
[0124] For the specific implementation of each step in the above method, please refer to the content in the above-mentioned embodiment for the cloud desktop system, which will not be repeated here.
[0125] The solution provided by this embodiment is that the target service component corresponding to the target cloud desktop server can obtain the target data stream of the target cloud desktop server and send it to the target cloud desktop user terminal when it is working. Therefore, after the target service component receives the screen sharing instruction, it can synchronously transmit the target data stream to the streaming media service during the process of transmitting the target data stream to the target cloud desktop user terminal. Each cloud desktop user terminal belonging to the sharing recipient can obtain the target data stream from the streaming media service, thereby completing the screen sharing of the target cloud desktop server. It can be seen that in the whole process of the solution of the present application, no additional resources need to be consumed to collect the screen content of the target cloud desktop server, thereby effectively reducing the computing resources consumed by cloud desktop screen sharing.
[0126] Corresponding to the above-mentioned data processing method based on cloud desktop, the present application provides a data processing device for cloud desktop, Fig. 9 A schematic diagram of the structure of a cloud desktop data processing device provided in an embodiment of the present application; the device is applied to a target service component in a cloud desktop system, the cloud desktop system includes multiple cloud desktop servers, a cloud desktop user terminal and a service component corresponding to each cloud desktop server, as well as a streaming media server and a message middleware, the target service component is a service component corresponding to a target cloud desktop server; the target cloud desktop server is any cloud desktop server in the cloud desktop system; the device includes:
[0127] The receiving module 901 is used to receive a screen sharing instruction sent by a target cloud desktop server; wherein the screen sharing instruction is an instruction sent by the target cloud desktop server to the target service component in response to a first call instruction of a target software running on the target cloud desktop server for a first application program interface; the first call instruction is an instruction sent by the target software running on the target cloud desktop server in response to a screen sharing operation;
[0128] A publishing module 902 is used for publishing the screen sharing message for the target cloud desktop server to the message middleware in response to receiving the screen sharing instruction, and synchronously transmitting the target data stream to the streaming media server during the process of transmitting the target data stream to the target cloud desktop client, so that each cloud desktop client obtains the screen sharing message from the message middleware when it monitors that the message middleware stores the screen sharing message, and stops obtaining the audio and video data stream of the corresponding cloud desktop server from the service component corresponding to the cloud desktop client when it is determined that the cloud desktop client belongs to the sharing recipient based on the screen sharing message, and obtains the target data stream from the streaming media server to play the obtained target data stream;
[0129] The target data stream is an audio and video data stream about the target cloud desktop server.
[0130] The solution provided by this embodiment is that the target service component corresponding to the target cloud desktop server can obtain the target data stream of the target cloud desktop server and send it to the target cloud desktop user terminal when it is working. Therefore, after the target service component receives the screen sharing instruction, it can synchronously transmit the target data stream to the streaming media service during the process of transmitting the target data stream to the target cloud desktop user terminal. Each cloud desktop user terminal belonging to the sharing recipient can obtain the target data stream from the streaming media service, thereby completing the screen sharing of the target cloud desktop server. It can be seen that in the whole process of the solution of the present application, no additional resources need to be consumed to collect the screen content of the target cloud desktop server, thereby effectively reducing the computing resources consumed by cloud desktop screen sharing.
[0131] The present application also provides an electronic device, such as Fig.10 As shown, including:
[0132] Memory 1001, used for storing computer programs;
[0133] The processor 1002 is used to implement any of the above-mentioned cloud desktop-based data processing methods when executing the program stored in the memory 1001.
[0134] Furthermore, the electronic device may further include a communication bus and / or a communication interface, and the processor 1002, the communication interface, and the memory 1001 communicate with each other via the communication bus.
[0135] The communication bus mentioned in the above electronic device can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
[0136] The communication interface is used for communication between the above electronic device and other devices.
[0137] The memory may include a random access memory (RAM) or a non-volatile memory (NVM), such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.
[0138] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0139] In another embodiment provided in the present application, a computer-readable storage medium is also provided, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned cloud desktop-based data processing methods are implemented.
[0140] In another embodiment provided in the present application, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute any of the cloud desktop-based data processing methods in the above embodiments.
[0141] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a solid-state hard disk (SSD), etc.
[0142] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0143] Each embodiment in this specification is described in a related manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0144] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application are included in the protection scope of the present application.
Claims
1. A cloud desktop system, characterized in that: It includes multiple cloud desktop servers, cloud desktop clients and service components corresponding to each cloud desktop server, as well as streaming media servers and message middleware; The target cloud desktop server is used to send a screen sharing instruction to a target service component corresponding to the target cloud desktop server in response to a first calling instruction of a target software running on the target cloud desktop server for a first application program interface; wherein the target cloud desktop server is any one of the multiple cloud desktop servers; the first calling instruction is an instruction sent by the target software running on the target cloud desktop server in response to a screen sharing operation; The target service component is used to publish a screen sharing message for the target cloud desktop server to the message middleware in response to receiving the screen sharing instruction, and to synchronously transmit the target data stream to the streaming media server during the process of transmitting the target data stream to the target cloud desktop user terminal; wherein the target data stream is an audio and video data stream about the target cloud desktop server; Each cloud desktop client is configured to obtain the screen sharing message from the message middleware when monitoring that the message middleware stores the screen sharing message; when judging that the cloud desktop client belongs to the sharing recipient based on the screen sharing message, stop obtaining the audio and video data stream of the corresponding cloud desktop server from the service component corresponding to the cloud desktop client, and obtain the target data stream from the streaming media server to play the obtained target data stream; The streaming media server is used to store the target data stream and, in response to an acquisition request for the target data stream from any cloud desktop client, feed back the target data stream to the cloud desktop client.
2. The system according to claim 1, characterized in that The first calling instruction carries target information for representing a user identifier as a sharing recipient; wherein the user identifier as a sharing recipient includes each user account of the target software indicated by the screen sharing operation; The target cloud desktop server sends a screen sharing instruction to a target service component corresponding to the target cloud desktop server, specifically: Sending a screen sharing instruction carrying the target information to a target service component corresponding to the target cloud desktop server; The target service component publishes the screen sharing message for the target cloud desktop server to the message middleware specifically as follows: Publishing a screen sharing message for the target cloud desktop server carrying the target information to the message middleware; The manner in which each cloud desktop client determines that the cloud desktop client belongs to the sharing recipient based on the screen sharing message includes: Determine whether the user identifier corresponding to the cloud desktop client terminal belongs to the user identifier represented by the target message carried by the screen sharing message. If so, determine that the cloud desktop client terminal belongs to the sharing recipient; wherein the user identifier corresponding to the cloud desktop client terminal is the user account of the logged-in user of the target software running on the corresponding cloud desktop server terminal.
3. The system according to claim 1 or 2, characterized in that: The target cloud desktop server is further configured to send a sharing termination instruction to a target service component corresponding to the target cloud desktop server in response to a second calling instruction of the target software running on the target cloud desktop server to a second application program interface; wherein the second calling instruction is an instruction sent by the target software running on the target cloud desktop server in response to terminating the sharing operation; The target service component is further configured to, in response to receiving the end sharing instruction, publish an end sharing message for the target cloud desktop server to the message middleware, and stop synchronously transmitting the target data stream to the streaming media server; Each cloud desktop client is used to stop obtaining the target data stream from the streaming media server if it monitors that the message middleware stores an end sharing message during the process of obtaining the target data stream from the streaming media server, and obtain the audio and video data stream of the corresponding cloud desktop server from the service component corresponding to the cloud desktop client.
4. The system according to claim 1 or 2, characterized in that: The target cloud desktop server is further configured to send a target sharing instruction for multi-user screen sharing to a target service component corresponding to the target cloud desktop server in response to a third calling instruction of a third application program interface by the target software running on the target cloud desktop server; wherein the third calling instruction is an instruction carrying specified information sent by the target software running on the target cloud desktop server in response to a target operation for multi-user screen sharing; the specified information is used to characterize the user accounts of the multiple users as screen sharing parties on the target software, and the target sharing instruction carries the specified information; The target service component is further configured to, in response to receiving the target sharing instruction, publish a target sharing message for representing multi-user screen sharing to the message middleware, and send a data stream synthesis instruction carrying the specified information to the streaming media server; Each cloud desktop server other than the target cloud desktop server is used to send a designated sharing instruction to the first service component corresponding to the cloud desktop server in response to a fourth calling instruction of the target software running on the cloud desktop server for the fourth application program interface; wherein the fourth calling instruction is an instruction sent by the target software running on the cloud desktop server after receiving the multi-user sharing instruction sent by the corresponding software server; the software server is used to send the multi-user sharing instruction to the target software based on the login of each user account after receiving the sharing request carrying the designated information sent by the target software running on the target cloud desktop server; Each first service component is used to, in response to receiving a specified sharing instruction, stop sending the audio and video data of the corresponding cloud desktop server to the corresponding cloud desktop client, and send the audio and video data about the corresponding cloud desktop server and associated with the target account in the received specified sharing instruction to the streaming media server; The streaming media server is further used to receive the data stream synthesis instruction, and synthesize the data streams for each received audio and video data stream to obtain a synthesized data stream; Each cloud desktop client is used to stop obtaining the audio and video data stream of the corresponding cloud desktop server from the corresponding service component when monitoring the target sharing message stored in the message middleware, and obtain the synthesized data stream from the streaming media server for playback.
5. The system according to claim 1 or 2, characterized in that: The target service component is further configured to send an audio collection instruction to the target cloud desktop user terminal in response to receiving the screen sharing instruction; The target cloud desktop client is used to respond to the audio collection instruction, call the audio collection unit of the device to which the target cloud desktop client belongs, collect audio data, and transmit the collected audio data to the streaming media server; The streaming media server is also used to receive the audio data sent by the target cloud desktop user terminal, and in response to a request to obtain the target data stream of any cloud desktop user terminal, feed back the received audio data to the cloud desktop user terminal.
6. The system according to claim 1 or 2, characterized in that: The system also includes a video storage terminal; Each service component communicates with the video storage end through a designated network, wherein the designated network is a communication network different from a target network, and the target network is a communication network used by each service component to communicate with a corresponding cloud desktop service end; Each service component is also used to synchronously send the audio and video data about the corresponding cloud desktop server to the video storage end during the process of sending the audio and video data about the corresponding cloud desktop server to the corresponding cloud desktop user end, so as to store the audio and video data.
7. The system according to claim 6, characterized in that Each service component is further configured to send the target event information as associated information about the audio and video data of the corresponding cloud desktop server to the video storage terminal during the process of sending the audio and video data about the corresponding cloud desktop server to the corresponding cloud desktop user terminal; The target event information includes event information of mouse events and keyboard events occurring at the cloud desktop server corresponding to the service component.
8. A data processing method based on cloud desktop, characterized in that: A target service component applied to a cloud desktop system; the cloud desktop system comprises a plurality of cloud desktop servers, a cloud desktop user terminal and a service component corresponding to each cloud desktop server, as well as a streaming media server and a message middleware, wherein the target service component is a service component corresponding to the target cloud desktop server; The target cloud desktop server is any cloud desktop server in the cloud desktop system; the method includes: Receive a screen sharing instruction sent by a target cloud desktop server; wherein the screen sharing instruction is an instruction sent by the target cloud desktop server to the target service component in response to a first call instruction of a target software running on the target cloud desktop server for a first application program interface; the first call instruction is an instruction sent by the target software running on the target cloud desktop server in response to a screen sharing operation; In response to receiving the screen sharing instruction, a screen sharing message for the target cloud desktop server is published to the message middleware, and in the process of transmitting the target data stream to the target cloud desktop user terminal, the target data stream is synchronously transmitted to the streaming media server, so that each cloud desktop user terminal obtains the screen sharing message from the message middleware when it monitors that the message middleware stores the screen sharing message, and stops obtaining the audio and video data stream of the corresponding cloud desktop server from the service component corresponding to the cloud desktop user terminal when it is determined based on the screen sharing message that the cloud desktop user terminal belongs to the sharing recipient, and obtains the target data stream from the streaming media server to play the obtained target data stream; The target data stream is an audio and video data stream about the target cloud desktop server.
9. A data processing device based on a cloud desktop, characterized in that: A target service component applied to a cloud desktop system; the cloud desktop system comprises a plurality of cloud desktop servers, a cloud desktop user terminal and a service component corresponding to each cloud desktop server, as well as a streaming media server and a message middleware, wherein the target service component is a service component corresponding to the target cloud desktop server; The target cloud desktop server is any cloud desktop server in the cloud desktop system; the device includes: A receiving module, configured to receive a screen sharing instruction sent by a target cloud desktop server; wherein the screen sharing instruction is an instruction sent by the target cloud desktop server to the target service component in response to a first call instruction of a target software running on the target cloud desktop server for a first application program interface; the first call instruction is an instruction sent by the target software running on the target cloud desktop server in response to a screen sharing operation; a publishing module, for publishing a screen sharing message for the target cloud desktop server to the message middleware in response to receiving the screen sharing instruction, and synchronously transmitting the target data stream to the streaming media server in the process of transmitting the target data stream to the target cloud desktop user terminal, so that each cloud desktop user terminal obtains the screen sharing message from the message middleware when it monitors that the message middleware stores the screen sharing message, and stops obtaining the audio and video data stream of the corresponding cloud desktop server from the service component corresponding to the cloud desktop user terminal when it is determined based on the screen sharing message that the cloud desktop user terminal belongs to the sharing recipient, and obtains the target data stream from the streaming media server to play the obtained target data stream; The target data stream is an audio and video data stream about the target cloud desktop server.
10. An electronic device, characterized in that: include: Memory, used to store computer programs; The processor is used to implement the method described in claim 8 when executing the program stored in the memory.
