Remote desktop service construction method, device, computer equipment and storage medium
By introducing data processing containers and business containers into the Kubernetes cluster and using the remote desktop protocol for unified data processing, the problem of low container resource utilization is solved and efficient remote desktop service construction is achieved.
Patent Information
- Application Number
- CN202311000951.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-09
- Publication Date
- 2025-10-03
- Estimated Expiration
- 2043-08-09
AI Technical Summary
When providing remote desktop services, existing containers run multiple duplicate remote desktop service backend processes, resulting in low resource utilization.
By introducing data processing containers and business containers into the Kubernetes cluster, the remote desktop protocol is used to uniformly process remote desktop service requests, generate data processing results, and build remote desktop services through business containers to avoid the running of duplicate processes.
It improves the resource utilization of containers, reduces resource occupation, and realizes efficient remote desktop service construction.
Smart Images

Figure CN117061511B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of cloud computing technology, and in particular to a remote desktop service construction method, apparatus, computer equipment, and storage medium. Background Art
[0002] With the development of cloud computing technology, Kubernetes clusters have emerged. Kubernetes clusters can be used to orchestrate and manage multiple containers within a Kubernetes cluster and provide various services to users through containers. However, current containers typically provide services in a backend-less form, without providing a visual interface for users.
[0003] In order to provide users with visual interface services, traditional technologies can run multiple remote desktop service backend processes in each container to provide corresponding remote desktop services.
[0004] However, when providing remote desktop services to users, each container needs to run multiple remote desktop service backend processes, and these multiple remote desktop service backend processes may be duplicated. This results in each container consuming a large amount of resources. Therefore, when using traditional methods to provide remote desktop services to users, there is a problem of low container resource utilization. Summary of the Invention
[0005] Based on this, it is necessary to provide a remote desktop service construction method, device, computer equipment and storage medium that can improve container resource utilization in response to the above technical problems.
[0006] In a first aspect, the present application provides a method for establishing a remote desktop service. The method is applied to a Kubernetes cluster, wherein the Kubernetes cluster includes multiple resource management components, each of which includes at least one data processing container and multiple business containers, each of which is communicatively connected to a different terminal device. The method includes:
[0007] For each of the multiple business containers, receiving a remote desktop service request sent by the terminal device through the business container; the remote desktop service request carries a remote desktop protocol;
[0008] Performing data processing on the remote desktop service request based on the remote desktop protocol through the business container and the data processing container to generate a data processing result of the remote desktop service request;
[0009] The remote desktop service of each business container is constructed by each business container based on the data processing result of the remote desktop service request.
[0010] In one embodiment, the performing data processing on the remote desktop service request based on the remote desktop protocol by the business container and the data processing container to generate a data processing result of the remote desktop service request includes:
[0011] parsing the remote desktop service request through the business container to obtain a parsing result and a remote desktop protocol corresponding to the parsing result, and sending the parsing result and the remote desktop protocol to the data processing container;
[0012] performing data processing on the parsing result by the data processing container according to a remote desktop protocol corresponding to the parsing result to generate a data processing result of the parsing result;
[0013] The data processing result of the parsing result is used as the data processing result of the remote desktop service request, and the data processing result of the remote desktop service request is sent to the business container.
[0014] In one embodiment, the parsing result includes an event stream and a data stream corresponding to the event stream; and parsing the remote desktop service request by the business container to obtain the parsing result and the remote desktop protocol corresponding to the parsing result includes:
[0015] parsing the remote desktop service request through the business container to obtain an event stream of the remote desktop service request and a data stream corresponding to the event stream;
[0016] According to the event stream and the data stream, a remote desktop protocol corresponding to the event stream and the data stream is determined.
[0017] In one embodiment, performing data processing on the parsing result by the data processing container according to the remote desktop protocol corresponding to the parsing result to generate a data processing result of the parsing result includes:
[0018] parsing the parsing result by an adapter in the data processing container according to a remote desktop protocol corresponding to the parsing result, and generating an intermediate parsing result corresponding to the parsing result;
[0019] The data processing container uses a preset data processing algorithm to perform data processing on the intermediate analysis result corresponding to the analysis result to generate a data processing result of the analysis result; the preset data processing algorithm includes at least one of a data encoding algorithm, a data decoding algorithm and a data compression algorithm.
[0020] In one embodiment, the intermediate parsing result includes an intermediate event stream and the intermediate data stream; and the data processing container uses a preset data processing algorithm to perform data processing on the intermediate parsing result corresponding to the parsing result to generate a data processing result of the parsing result, including:
[0021] Processing the intermediate event stream by the data processing engine in the data processing container using the preset data processing algorithm to generate a first processing result corresponding to the intermediate event stream;
[0022] Processing the intermediate data stream using the preset data processing algorithm through the data processing engine or the hardware acceleration card to generate a second processing result corresponding to the intermediate data stream;
[0023] A data processing result of the analysis result is generated according to the first processing result and the second processing result.
[0024] In one embodiment, the processing of the intermediate data stream by the data processing engine or the hardware acceleration card using the preset data processing algorithm to generate a second processing result corresponding to the intermediate data stream includes:
[0025] Determine whether the hardware accelerator card exists in the Kubernetes cluster;
[0026] If the hardware accelerator card exists in the Kubernetes cluster, the hardware accelerator card processes the intermediate data stream using the preset data processing algorithm to generate a second processing result corresponding to the intermediate data stream;
[0027] If the hardware acceleration card does not exist in the Kubernetes cluster, the data processing engine uses the preset data processing algorithm to process the intermediate data stream to generate a second processing result corresponding to the intermediate data stream.
[0028] In one embodiment, the method further comprises:
[0029] If the resource management component needs to be updated, the preset data processing algorithm contained in the data processing container in the resource management component is updated to obtain an updated preset data processing algorithm;
[0030] The updated preset data processing algorithm is used by the data processing container to perform data processing on the intermediate analysis result corresponding to the analysis result to generate a data processing result of the analysis result.
[0031] In a second aspect, the present application further provides a remote desktop service construction device. Applied to a Kubernetes cluster, the Kubernetes cluster includes multiple resource management components, each of which includes at least one data processing container and multiple business containers, each of which is communicatively connected to a different terminal device. The device includes:
[0032] a remote desktop service request receiving module, configured to receive, for each of the plurality of business containers, a remote desktop service request sent by the terminal device through the business container; the remote desktop service request carries a remote desktop protocol;
[0033] a data processing module, configured to perform data processing on the remote desktop service request based on the remote desktop protocol through the business container and the data processing container, and generate a data processing result of the remote desktop service request;
[0034] The remote desktop service construction module is configured to construct the remote desktop service of each business container based on the data processing result of the remote desktop service request by each business container.
[0035] In a third aspect, the present application further provides a computer device comprising a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the method in any one of the embodiments of the first aspect.
[0036] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method in any one of the embodiments of the first aspect.
[0037] In a fifth aspect, the present application further provides a computer program product, comprising a computer program that, when executed by a processor, implements the steps of the method in any one of the embodiments of the first aspect.
[0038] The above-mentioned remote desktop service construction method, device, computer equipment and storage medium, for each business container in multiple business containers, respectively receive remote desktop service requests sent by terminal devices through the business container; the remote desktop service request carries the remote desktop protocol; the remote desktop service request is processed based on the remote desktop protocol through the business container and the data processing container to generate a data processing result of the remote desktop service request; and the remote desktop service of each business container is constructed based on the data processing result of the remote desktop service request by each business container. Since the remote desktop service request carries the remote desktop protocol, the present application can uniformly process the remote desktop service request corresponding to each remote desktop protocol based on the remote desktop protocol through the business container and the data processing container, so as to obtain the data processing results of the remote desktop service requests corresponding to various remote desktop protocols, and each remote desktop protocol only needs to perform one data processing operation. Afterwards, the remote desktop service of each business container can be constructed based on the data processing results of the remote desktop service requests corresponding to various remote desktop protocols by each business container. Therefore, the present application does not need to run duplicate processes in the process of building a remote desktop service, so each business container will not occupy a lot of resources in the process of building a remote desktop service. Thus, the present application can improve the resource utilization of the container. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Figure 1 This is an application environment diagram of a remote desktop service construction method in one embodiment;
[0040] Figure 2 A flowchart of a remote desktop service construction method according to an embodiment;
[0041] Figure 3 A flowchart of the steps for generating data processing results of a remote desktop service request in one embodiment;
[0042] Figure 4 Schematic diagram of a process of performing parsing steps through a business container in one embodiment;
[0043] Figure 5 A schematic flow chart of the steps for generating data processing results of parsing results in one embodiment;
[0044] Figure 6 1 is a flow chart of data processing steps performed by a data processing container in one embodiment;
[0045] Figure 7 1 is a flow chart of the first and second processing steps in one embodiment;
[0046] Figure 8 is a flowchart of an updating step in another embodiment;
[0047] Figure 9 A flowchart of a remote desktop service construction method in an optional embodiment;
[0048] Figure 10 A structural block diagram of a remote desktop service building device in one embodiment;
[0049] Figure 11 FIG. 1 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0050] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0051] With the development of cloud computing technology, Kubernetes clusters have emerged. Kubernetes clusters can be used to orchestrate and manage multiple containers within a Kubernetes cluster and provide various services to users through containers. However, current containers typically provide services in a backend-less form, without providing a visual interface for users.
[0052] In order to provide users with visual interface services, traditional technologies can run multiple remote desktop service backend processes in each container to provide corresponding remote desktop services.
[0053] However, when providing remote desktop services to users, each container needs to run multiple remote desktop service backend processes, and these multiple remote desktop service backend processes may be duplicated. This results in each container consuming a large amount of resources. Therefore, when using traditional methods to provide remote desktop services to users, there is a problem of low container resource utilization.
[0054] The remote desktop service construction method provided in the embodiment of the present application can be applied to Figure 1In the application environment shown. Among them, the Kubernetes cluster 100 includes multiple resource management components, each resource management component includes at least one data processing container 140 and multiple business containers 120, the data processing container 140 is in communication with the multiple business containers 120, and the multiple business containers 120 are in communication with different terminal devices respectively. The data processing container 140 includes an adapter and a data processing engine, and the data processing engine can be used to determine whether there is a hardware acceleration card in the resource management component of the Kubernetes cluster 100. For each of the multiple business containers, the Kubernetes cluster 100 receives the remote desktop service request sent by the terminal device through the business container; the remote desktop service request carries the remote desktop protocol; the Kubernetes cluster 100 processes the remote desktop service request based on the remote desktop protocol through the business container and the data processing container, and generates a data processing result of the remote desktop service request; the Kubernetes cluster 100 constructs the remote desktop service of each business container based on the data processing result of the remote desktop service request through each business container.
[0055] In one embodiment, Figure 2 As shown, a remote desktop service construction method is provided, which is applied to Figure 1 This article uses the Kubernetes cluster 100 in the example as an example, and includes the following steps:
[0056] S220 , for each of the multiple business containers, receive a remote desktop service request sent by the terminal device through the business container; the remote desktop service request carries a remote desktop protocol.
[0057] Among them, the Kubernetes cluster is a cluster used to orchestrate and manage multiple containers in the Kubernetes cluster, and to provide various services to users through containers. The Kubernetes cluster includes multiple resource management component Pods. The resource management component Pod is the smallest resource object in the Kubernetes cluster. The resource management component Pod includes at least one data processing container and multiple business containers. A data processing container refers to a container used for data processing. Data processing containers may include but are not limited to sidecar containers, ambassador containers, etc. A business container refers to a container used to execute business. A remote desktop service request refers to a request for creating a remote desktop service. The remote desktop service request carries the remote desktop protocol. Remote desktop protocols may include but are not limited to VNC (Virtual Network Console) protocol, SPICE protocol (Simple Protocol for Independent Computing Environment), RDP protocol (Remote Desktop Protocol), etc.
[0058] Optionally, for each of the multiple business containers, since the multiple business containers are respectively connected to different terminal devices, the terminal device can send a remote desktop service request to the business container connected to the terminal device. Thus, the Kubernetes cluster can receive the remote desktop service request sent by the terminal device through the business container. It should be noted that the remote desktop service request corresponding to each business container carries at least one remote desktop protocol.
[0059] S240 , performing data processing on the remote desktop service request based on the remote desktop protocol through the business container and the data processing container to generate a data processing result of the remote desktop service request.
[0060] Optionally, the Kubernetes cluster can process data on remote desktop service requests based on different remote desktop protocols through the business container and the data processing container, and generate data processing results for the remote desktop service requests. Exemplarily, the Kubernetes cluster can send remote desktop service requests carrying remote desktop protocols to the data processing container through the business container, so that the Kubernetes cluster can uniformly process data on remote desktop service requests corresponding to each remote desktop protocol based on different remote desktop protocols through the data processing container, and generate data processing results for the remote desktop service requests. The data processing results for the remote desktop service requests refer to the results obtained after performing data processing operations on the data in the remote desktop service request. The data processing process may include but is not limited to at least one of encoding, decoding, compression, decompression, and the like.
[0061] S260 , constructing a remote desktop service for each business container through the data processing result of each business container based on the remote desktop service request.
[0062] Optionally, the Kubernetes cluster can send the data processing results of the remote desktop service request to each business container via the data processing container. Thus, the Kubernetes cluster can receive the data processing results of the remote desktop service request via each business container and, based on the data processing results of the remote desktop service request, construct a remote desktop service for each business container in accordance with the remote desktop protocol corresponding to the different remote desktop service requests. Furthermore, the Kubernetes cluster can also send the remote desktop service of each business container to each terminal device via each business container. The remote desktop service refers to a visual interface service provided to users.
[0063] In the above-mentioned remote desktop service construction method, for each business container in multiple business containers, a remote desktop service request sent by a terminal device is received by the business container; the remote desktop service request carries a remote desktop protocol; the remote desktop service request is processed by the business container and the data processing container based on the remote desktop protocol to generate a data processing result of the remote desktop service request; and the remote desktop service of each business container is constructed based on the data processing result of the remote desktop service request. Because the remote desktop service request carries the remote desktop protocol, the present application can uniformly process the remote desktop service request corresponding to each remote desktop protocol based on the remote desktop protocol through the business container and the data processing container, thereby obtaining the data processing result of the remote desktop service request corresponding to each remote desktop protocol, and each remote desktop protocol only needs to perform a data processing operation once. Thereafter, the remote desktop service of each business container can be constructed based on the data processing result of the remote desktop service request corresponding to each remote desktop protocol. Therefore, the present application does not need to run repeated processes in the process of constructing the remote desktop service, so each business container does not occupy a lot of resources in the process of constructing the remote desktop service, thereby improving the resource utilization of the container.
[0064] In the above embodiment, it involves processing data of remote desktop service request based on remote desktop protocol through business container and data processing container, and generating data processing result of remote desktop service request. The specific method is introduced below. Figure 3 As shown, S240 includes:
[0065] S320: Parse the remote desktop service request through the business container to obtain a parsing result and a remote desktop protocol corresponding to the parsing result, and send the parsing result and the remote desktop protocol to the data processing container.
[0066] Alternatively, as Figure 4 As shown, Figure 4 This is a flow chart illustrating the parsing steps performed by the business container in one embodiment. After the business container receives a remote desktop service request carrying the Remote Desktop Protocol in step S402, the Kubernetes cluster can verify the identity of the remote desktop service request using the remote desktop backend Moc program module in the business container in step S404 to ensure that the remote desktop service request is sent by a terminal device that is connected to the business container. Identity verification can be performed using methods such as password verification, though this embodiment of the present application does not limit the method for identity verification.
[0067] Combine Figure 4As shown, after the identity information is verified, S406, the remote desktop service request carrying the remote desktop protocol can be parsed through the remote desktop backend Moc program module in the business container to obtain the parsing result and the remote desktop protocol corresponding to the parsing result. S408, the kubernetes cluster can determine whether the adapter and data processing engine in the data processing container can be used normally. If it is determined that the adapter and data processing engine in the data processing container can be used normally, S410, the remote desktop backend Moc program module in the business container can send the parsing result and the remote desktop protocol corresponding to the parsing result to the data processing container according to the IPC (Inter-Process Communication) communication method.
[0068] In one optional embodiment, the parsing result includes an event stream and a data stream corresponding to the event stream; S320 includes:
[0069] The remote desktop service request is parsed through the business container to obtain the event stream of the remote desktop service request and the data stream corresponding to the event stream.
[0070] According to the event stream and the data stream, determine the remote desktop protocol corresponding to the event stream and the data stream.
[0071] The parsing results include the event stream and the corresponding data stream. The event stream refers to the response process when an event is triggered on the interface. This can include, but is not limited to, events from peripherals such as the user's mouse and keyboard, desktop security policies, and custom commands. The data stream refers to the data involved in the corresponding event response process. This can include, but is not limited to, video streams, audio streams, and image streams.
[0072] Optionally, because the parsing result includes the event stream and the corresponding data stream, the Kubernetes cluster can parse the remote desktop service request using the remote desktop backend Moc program module in the business container to obtain the event stream of the remote desktop service request and the corresponding data stream. The remote desktop backend Moc program module can then determine the remote desktop protocol corresponding to the event stream and the data stream based on the event stream and the data stream.
[0073] S340: Perform data processing on the parsing result according to the remote desktop protocol corresponding to the parsing result through the data processing container to generate a data processing result of the parsing result.
[0074] S360: Use the data processing result of the parsing result as the data processing result of the remote desktop service request, and send the data processing result of the remote desktop service request to the business container.
[0075] Optionally, the kubernetes cluster can receive the parsing results and the remote desktop protocols corresponding to the parsing results sent by each business container through the data processing container, and uniformly perform data processing on the parsing results corresponding to each remote desktop protocol according to the remote desktop protocols corresponding to different parsing results through the data processing container to generate data processing results of the parsing results. Afterwards, the kubernetes cluster can use the data processing results of the parsing results corresponding to the remote desktop service request as the data processing results of the remote desktop service request through the data processing container, thereby obtaining the data processing results of each remote desktop service request. Then, the data processing results of each remote desktop service request can be sent to the business container corresponding to each remote desktop service request through the data processing container according to the IPC (Inter-Process Communication) communication method.
[0076] In this embodiment, only a unified remote desktop backend Moc program module is run in the business container, and the unified remote desktop backend Moc program module is compatible with various remote desktop connection protocols. The remote desktop service request can be uniformly parsed through the business container, thereby obtaining a more accurate parsing result and the remote desktop protocol corresponding to the parsing result, and sending the parsing result and the remote desktop protocol to the data processing container.
[0077] The data processing container then uniformly processes the more accurate parsing results based on the remote desktop protocol corresponding to the parsing results. This allows for more accurate data processing results to be generated, reducing the resource consumption of each business container when running multiple remote desktop service backend processes to accommodate multiple remote desktop protocols. Consequently, by using the more accurate data processing results of the parsing results as the data processing results for the remote desktop service request and sending them to the business container, the data processing results for the remote desktop service request corresponding to various remote desktop protocols can be more accurately determined.
[0078] In the above embodiment, it involves processing the parsing result by using a data processing container according to the remote desktop protocol corresponding to the parsing result to generate a data processing result of the parsing result. The specific method is introduced below. In one embodiment, Figure 5 As shown, S340 includes:
[0079] S520 , parsing the parsing result according to the remote desktop protocol corresponding to the parsing result through the adapter in the data processing container, and generating an intermediate parsing result corresponding to the parsing result.
[0080] Alternatively, as Figure 6 As shown, Figure 6This is a flow diagram illustrating data processing steps performed by a data processing container in one embodiment. The Kubernetes cluster can receive, via an adapter in the data processing container, the parsing results and the remote desktop protocol corresponding to the parsing results from each business container. In step S602, the adapter in the data processing container can then uniformly parse the parsing results corresponding to the same remote desktop protocol based on the remote desktop protocol corresponding to the parsing results, generating an intermediate parsing result corresponding to the parsing results.
[0081] S540, using a preset data processing algorithm through the data processing container to perform data processing on the intermediate analysis result corresponding to the analysis result to generate a data processing result of the analysis result; the preset data processing algorithm includes at least one of a data encoding algorithm, a data decoding algorithm and a data compression algorithm.
[0082] Optionally, the kubernetes cluster can use a preset data processing algorithm through a data processing container to perform data processing on the intermediate parsing result corresponding to the parsing result, and generate a data processing result of the parsing result. Optionally, the data processing engine in the data processing container can use a preset data processing algorithm to perform data processing on the intermediate parsing result corresponding to the parsing result, and generate a data processing result of the parsing result; or, the hardware accelerator card in the resource management component of the kubernetes cluster can use a preset data processing algorithm to perform data processing on the intermediate parsing result corresponding to the parsing result, and generate a data processing result of the parsing result. The preset data processing algorithm includes at least one of a data encoding algorithm, a data decoding algorithm, and a data compression algorithm.
[0083] In this embodiment, the adapter in the data processing container uniformly parses the parsing results corresponding to the same remote desktop protocol based on the remote desktop protocol corresponding to the parsed results, thereby generating intermediate parsing results corresponding to the parsing results corresponding to various remote desktop protocols. Subsequently, the data processing container uses a preset data processing algorithm to perform data processing on the intermediate parsing results corresponding to the various remote desktop protocols, thereby uniformly generating data processing results corresponding to the parsing results corresponding to the various remote desktop protocols.
[0084] In the above embodiment, it involves using a preset data processing algorithm through a data processing container to perform data processing on the intermediate analysis result corresponding to the analysis result to generate a data processing result of the analysis result. The specific method is introduced below. In one embodiment, Figure 7 As shown, the intermediate parsing result includes an intermediate event stream and an intermediate data stream; S540 includes:
[0085] S720: Process the intermediate event stream using a preset data processing algorithm through a data processing engine in the data processing container to generate a first processing result corresponding to the intermediate event stream.
[0086] Optionally, since the parsing result includes the event stream and the data stream corresponding to the event stream, the intermediate parsing result corresponding to the parsing result includes the intermediate event stream and the intermediate data stream. Figure 6 As shown in S604, since the event stream has a small amount of data and computational complexity, the Kubernetes cluster can use the CPU included in the data processing engine in the data processing container to process the intermediate event stream using a preset data processing algorithm to generate a first processing result corresponding to the intermediate event stream. The first processing result refers to the result obtained after data processing the intermediate event stream.
[0087] S740: Process the intermediate data stream using a preset data processing algorithm through a data processing engine or a hardware acceleration card to generate a second processing result corresponding to the intermediate data stream.
[0088] Optionally, due to the large amount of data and computational complexity of the data stream, the Kubernetes cluster may use a preset data processing algorithm through a data processing engine in a data processing container to process the intermediate data stream and generate a second processing result corresponding to the intermediate data stream. Alternatively, a hardware accelerator card in a resource management component of the Kubernetes cluster may use a preset data processing algorithm to process the intermediate data stream and generate a second processing result corresponding to the intermediate data stream. The second processing result refers to the result obtained after processing the intermediate data stream.
[0089] In one optional embodiment, the parsing result includes an event stream and a data stream corresponding to the event stream; S740 includes:
[0090] Determine whether a hardware accelerator card exists in the Kubernetes cluster.
[0091] If there is a hardware acceleration card in the Kubernetes cluster, the intermediate data stream is processed by the hardware acceleration card using a preset data processing algorithm to generate a second processing result corresponding to the intermediate data stream.
[0092] If there is no hardware acceleration card in the Kubernetes cluster, the data processing engine uses a preset data processing algorithm to process the intermediate data stream and generate a second processing result corresponding to the intermediate data stream.
[0093] Optionally, combined Figure 6As shown, S606, the kubernetes cluster can determine whether there is a hardware acceleration card in the kubernetes cluster through the data processing container. If there is a hardware acceleration card in the kubernetes cluster, then S608, the kubernetes cluster can use the hardware acceleration card to use a preset data processing algorithm to process the intermediate data stream, and generate a second processing result corresponding to the intermediate data stream. If there is no hardware acceleration card in the kubernetes cluster, then S610, the kubernetes cluster can use the CPU included in the data processing engine to process the intermediate data stream using a preset data processing algorithm, and generate a second processing result corresponding to the intermediate data stream. For example, since the video encoding and video compression parts in the intermediate data stream have a large amount of computation, the video encoding and video compression parts in the intermediate data stream can be processed to generate a second processing result corresponding to the intermediate data stream.
[0094] S760: Generate a data processing result of the analysis result according to the first processing result and the second processing result.
[0095] Optionally, combined Figure 6 As shown, in S612, the Kubernetes cluster can use the data processing container to integrate the first processing result corresponding to the intermediate event stream and the second processing result corresponding to the intermediate data stream to obtain an integrated processing result. Subsequently, the data processing container can encapsulate the integrated processing result according to each remote desktop protocol to generate a data processing result of the parsed result.
[0096] In this embodiment, the data processing engine in the data processing container directly processes the intermediate event stream using a preset data processing algorithm, which can more accurately generate a first processing result corresponding to the intermediate event stream. The data processing engine or hardware acceleration card processes the intermediate data stream using a preset data processing algorithm, which can more accurately generate a second processing result corresponding to the intermediate data stream. Intermediate data streams with large computational loads can be processed on the hardware acceleration card as much as possible, thereby reducing the load on the CPU in the data processing container and obtaining a higher acceleration ratio and computational density. Subsequently, based on the more accurate first processing result and the more accurate second processing result, a data processing result of the parsing result can be more accurately generated.
[0097] In the above embodiment, it involves using a preset data processing algorithm through a data processing container to perform data processing on the intermediate analysis result corresponding to the analysis result to generate a data processing result of the analysis result. Another implementation method is introduced below. In one embodiment, Figure 8 As shown, the above remote desktop service construction method also includes:
[0098] S820: If the resource management component needs to be updated, the preset data processing algorithm included in the data processing container in the resource management component is updated to obtain an updated preset data processing algorithm.
[0099] S840 , using the updated preset data processing algorithm through the data processing container to perform data processing on the intermediate analysis result corresponding to the analysis result, and generating a data processing result of the analysis result.
[0100] Optionally, if the resource management component needs to be updated, the Kubernetes cluster can update the preset data processing algorithm contained in the data processing container in the resource management component to obtain an updated preset data processing algorithm. Thus, after the adapter in the data processing container parses the parsing result according to the remote desktop protocol corresponding to the parsing result and generates an intermediate parsing result corresponding to the parsing result, the Kubernetes cluster can use the updated preset data processing algorithm in the data processing container to perform data processing on the intermediate parsing result corresponding to the parsing result and generate a data processing result of the parsing result.
[0101] In this embodiment, if the resource management component needs to be updated, the preset data processing algorithm contained in the data processing container in the resource management component is uniformly updated to obtain an updated preset data processing algorithm; the updated preset data processing algorithm is used by the data processing container to perform data processing on the intermediate parsing result corresponding to the parsing result to generate a data processing result of the parsing result. Therefore, when the preset data processing algorithm needs to be updated or upgraded, the present application can only update the data processing container in the resource management component without redeploying the business container in the resource management component, which has good flexibility.
[0102] In an optional embodiment, if Figure 9 As shown, a remote desktop service construction method is provided, which is applied to a kubernetes cluster 100. The remote desktop service construction method includes:
[0103] S902: For each of the multiple business containers, receive a remote desktop service request sent by a terminal device through the business container; the remote desktop service request carries a remote desktop protocol;
[0104] S904, parsing the remote desktop service request through the business container to obtain an event stream of the remote desktop service request and a data stream corresponding to the event stream;
[0105] S906, determining the remote desktop protocol corresponding to the event stream and the data stream based on the event stream and the data stream, and sending the parsing result and the remote desktop protocol to the data processing container;
[0106] S908, parsing the parsing result according to the remote desktop protocol corresponding to the parsing result through the adapter in the data processing container to generate an intermediate parsing result corresponding to the parsing result;
[0107] S910, processing the intermediate event stream using a preset data processing algorithm through a data processing engine in the data processing container to generate a first processing result corresponding to the intermediate event stream;
[0108] S912: Determine whether there is a hardware accelerator card in the Kubernetes cluster.
[0109] S914: If a hardware accelerator card is present in the Kubernetes cluster, the hardware accelerator card processes the intermediate data stream using a preset data processing algorithm to generate a second processing result corresponding to the intermediate data stream.
[0110] S916, if there is no hardware accelerator card in the Kubernetes cluster, the data processing engine uses a preset data processing algorithm to process the intermediate data stream to generate a second processing result corresponding to the intermediate data stream;
[0111] S918, generating a data processing result of the parsing result based on the first processing result and the second processing result;
[0112] S920: Using the data processing result of the parsing result as the data processing result of the remote desktop service request, and sending the data processing result of the remote desktop service request to the business container;
[0113] S922, constructing a remote desktop service for each business container based on the data processing result of the remote desktop service request by each business container;
[0114] S924, if the resource management component needs to be updated, then the preset data processing algorithm contained in the data processing container in the resource management component is updated to obtain an updated preset data processing algorithm;
[0115] S926 , using the updated preset data processing algorithm through the data processing container to perform data processing on the intermediate analysis result corresponding to the analysis result, and generating a data processing result of the analysis result.
[0116] In the above-mentioned remote desktop service construction method, since the remote desktop service request carries the remote desktop protocol, the present application can uniformly process the data of the remote desktop service request corresponding to each remote desktop protocol based on the remote desktop protocol through the business container and the data processing container, so as to obtain the data processing results of the remote desktop service requests corresponding to various remote desktop protocols, and each remote desktop protocol only needs to perform one data processing operation. Afterwards, the remote desktop service of each business container can be constructed based on the data processing results of the remote desktop service requests corresponding to various remote desktop protocols. Therefore, the embodiment of the present application is suitable for providing remote desktop service scenarios of various remote desktop protocols based on multiple business containers of a Kubernetes cluster, and can provide a flexible architecture and extremely high hardware acceleration performance through the data processing container. The present application does not need to run duplicate processes in the process of constructing the remote desktop service, so each business container will not occupy a lot of resources in the process of constructing the remote desktop service, thereby, the present application can improve the resource utilization of the container.
[0117] It should be understood that, although the steps in the flowcharts of the above embodiments are shown in sequence as indicated by the arrows, these steps are not necessarily performed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be performed in other orders. Moreover, at least a portion of the steps in the flowcharts of the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily performed at the same time, but can be performed at different times. The execution order of these steps or stages is not necessarily to be performed in sequence, but can be performed in turn or alternately with other steps or at least a portion of steps or stages in other steps.
[0118] Based on the same inventive concept, embodiments of the present application also provide a remote desktop service construction device for implementing the aforementioned remote desktop service construction method. The solution provided by this device is similar to the solution described in the aforementioned method. Therefore, the specific limitations of one or more embodiments of the remote desktop service construction device provided below can be found in the aforementioned limitations of the remote desktop service construction method and will not be further elaborated here.
[0119] In one embodiment, Figure 10As shown, a remote desktop service construction device 1000 is provided, which is applied to a Kubernetes cluster. The Kubernetes cluster includes multiple resource management components, and the resource management components include at least one data processing container and multiple business containers. The multiple business containers are respectively connected to different terminal devices. The desktop service construction device 1000 includes: a remote desktop service request receiving module 1020, a data processing module 1040 and a remote desktop service construction module 1060, wherein:
[0120] The remote desktop service request receiving module 1020 is configured to receive a remote desktop service request sent by a terminal device through each of the multiple business containers. The remote desktop service request carries a remote desktop protocol.
[0121] The data processing module 1040 is configured to process data of the remote desktop service request based on the remote desktop protocol through the business container and the data processing container, and generate a data processing result of the remote desktop service request.
[0122] The remote desktop service construction module 1060 is configured to construct the remote desktop service of each business container through the data processing result of each business container based on the remote desktop service request.
[0123] In one embodiment, the data processing module 1040 includes:
[0124] A remote desktop service request parsing unit, configured to parse the remote desktop service request through the business container, obtain the parsing result and the remote desktop protocol corresponding to the parsing result, and send the parsing result and the remote desktop protocol to the data processing container;
[0125] A parsing result processing unit, configured to perform data processing on the parsing result according to a remote desktop protocol corresponding to the parsing result through a data processing container, and generate a data processing result of the parsing result;
[0126] The data processing result generating unit is configured to use the data processing result of the parsing result as the data processing result of the remote desktop service request, and send the data processing result of the remote desktop service request to the business container.
[0127] In one embodiment, the parsing result includes an event stream and a data stream corresponding to the event stream; the remote desktop service request parsing unit includes:
[0128] A remote desktop service request parsing subunit is used to parse the remote desktop service request through the business container to obtain the event stream of the remote desktop service request and the data stream corresponding to the event stream;
[0129] The remote desktop protocol determination subunit is used to determine the remote desktop protocol corresponding to the event stream and the data stream according to the event stream and the data stream.
[0130] In one embodiment, the parsing result processing unit includes:
[0131] A parsing result parsing subunit, configured to parse the parsing result according to a remote desktop protocol corresponding to the parsing result through an adapter in the data processing container, and generate an intermediate parsing result corresponding to the parsing result;
[0132] The data processing result generating subunit of the analysis result is used to perform data processing on the intermediate analysis result corresponding to the analysis result by using a preset data processing algorithm through the data processing container to generate a data processing result of the analysis result; the preset data processing algorithm includes at least one of a data encoding algorithm, a data decoding algorithm and a data compression algorithm.
[0133] In one embodiment, the intermediate parsing result includes an intermediate event stream and an intermediate data stream; the data processing result generating subunit of the parsing result includes:
[0134] A first processing result generating subunit is configured to process the intermediate event stream using a preset data processing algorithm through a data processing engine in the data processing container to generate a first processing result corresponding to the intermediate event stream;
[0135] A second processing result generating subunit is used to process the intermediate data stream using a preset data processing algorithm through a data processing engine or a hardware acceleration card to generate a second processing result corresponding to the intermediate data stream;
[0136] The data processing result obtaining subunit of the analysis result is used to generate the data processing result of the analysis result according to the first processing result and the second processing result.
[0137] In one embodiment, the second processing result generating subunit includes:
[0138] The judgment subunit is used to determine whether there is a hardware accelerator card in the Kubernetes cluster;
[0139] The first processing subunit is configured to, when a hardware accelerator card exists in the Kubernetes cluster, process the intermediate data stream using a preset data processing algorithm through the hardware accelerator card to generate a second processing result corresponding to the intermediate data stream;
[0140] The second processing sub-unit is used to process the intermediate data stream using a preset data processing algorithm through a data processing engine when there is no hardware acceleration card in the Kubernetes cluster, and generate a second processing result corresponding to the intermediate data stream.
[0141] In one embodiment, the desktop service construction device 1000 further includes:
[0142] An update module, configured to update a preset data processing algorithm contained in a data processing container in the resource management component when the resource management component needs to be updated, to obtain an updated preset data processing algorithm;
[0143] The data processing update module is used to use the updated preset data processing algorithm through the data processing container to perform data processing on the intermediate analysis result corresponding to the analysis result, and generate a data processing result of the analysis result.
[0144] Each module in the above-mentioned remote desktop service construction device can be implemented in whole or in part through software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in the form of software in a memory in the computer device, so that the processor can call and execute the corresponding operations of each module.
[0145] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 11 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, abbreviated as I / O) and a communication interface. The processor, memory and input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The database of the computer device is used to store remote desktop service construction data. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a remote desktop service construction method is implemented.
[0146] Those skilled in the art will understand that Figure 11 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0147] In one embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:
[0148] For each of the multiple business containers, a remote desktop service request sent by the terminal device is received through the business container; the remote desktop service request carries a remote desktop protocol;
[0149] Through the business container and the data processing container, the remote desktop service request is processed based on the remote desktop protocol to generate the data processing result of the remote desktop service request;
[0150] The remote desktop service of each business container is constructed through the data processing result of each business container based on the remote desktop service request.
[0151] In one embodiment, a business container and a data processing container are used to process data of a remote desktop service request based on a remote desktop protocol to generate a data processing result of the remote desktop service request. When the processor executes the computer program, the following steps are further implemented:
[0152] Parse the remote desktop service request through the business container, obtain the parsing result and the remote desktop protocol corresponding to the parsing result, and send the parsing result and the remote desktop protocol to the data processing container;
[0153] Performing data processing on the parsing result through the data processing container according to the remote desktop protocol corresponding to the parsing result to generate a data processing result of the parsing result;
[0154] The data processing result of the parsing result is used as the data processing result of the remote desktop service request, and the data processing result of the remote desktop service request is sent to the business container.
[0155] In one embodiment, the parsing result includes an event stream and a data stream corresponding to the event stream; the remote desktop service request is parsed by the business container to obtain the parsing result and the remote desktop protocol corresponding to the parsing result, and the processor further implements the following steps when executing the computer program:
[0156] Parsing the remote desktop service request through the business container to obtain the event stream of the remote desktop service request and the data stream corresponding to the event stream;
[0157] According to the event stream and the data stream, determine the remote desktop protocol corresponding to the event stream and the data stream.
[0158] In one embodiment, the data processing container performs data processing on the parsing result according to the remote desktop protocol corresponding to the parsing result to generate a data processing result of the parsing result. When the processor executes the computer program, the following steps are further implemented:
[0159] Parsing the parsing result through the adapter in the data processing container according to the remote desktop protocol corresponding to the parsing result, and generating an intermediate parsing result corresponding to the parsing result;
[0160] The data processing container uses a preset data processing algorithm to perform data processing on the intermediate analysis result corresponding to the analysis result to generate a data processing result of the analysis result; the preset data processing algorithm includes at least one of a data encoding algorithm, a data decoding algorithm and a data compression algorithm.
[0161] In one embodiment, the intermediate parsing result includes an intermediate event stream and an intermediate data stream; a data processing container uses a preset data processing algorithm to perform data processing on the intermediate parsing result corresponding to the parsing result to generate a data processing result of the parsing result. When the processor executes the computer program, the following steps are further implemented:
[0162] Processing the intermediate event stream using a preset data processing algorithm through a data processing engine in the data processing container to generate a first processing result corresponding to the intermediate event stream;
[0163] Processing the intermediate data stream using a preset data processing algorithm through a data processing engine or a hardware acceleration card to generate a second processing result corresponding to the intermediate data stream;
[0164] A data processing result of the analysis result is generated according to the first processing result and the second processing result.
[0165] In one embodiment, the data processing engine or the hardware accelerator card processes the intermediate data stream using a preset data processing algorithm to generate a second processing result corresponding to the intermediate data stream, and the processor further implements the following steps when executing the computer program:
[0166] Determine whether there is a hardware accelerator card in the Kubernetes cluster;
[0167] If there is a hardware accelerator card in the Kubernetes cluster, the intermediate data stream is processed by the hardware accelerator card using a preset data processing algorithm to generate a second processing result corresponding to the intermediate data stream;
[0168] If there is no hardware acceleration card in the Kubernetes cluster, the data processing engine uses a preset data processing algorithm to process the intermediate data stream and generate a second processing result corresponding to the intermediate data stream.
[0169] In one embodiment, when the processor executes the computer program, the processor further implements the following steps:
[0170] If the resource management component needs to be updated, the preset data processing algorithm contained in the data processing container in the resource management component is updated to obtain an updated preset data processing algorithm;
[0171] The updated preset data processing algorithm is adopted by the data processing container to perform data processing on the intermediate analysis result corresponding to the analysis result to generate a data processing result of the analysis result.
[0172] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0173] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0174] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions.
[0175] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, database or other media used in the embodiments provided in this application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processor involved in the various embodiments provided herein may be, but are not limited to, a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, and the like.
[0176] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0177] The above embodiments merely illustrate several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art may make various modifications and improvements without departing from the spirit of the present invention, all of which fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.
Claims
1. A remote desktop service construction method, characterized in that: Applied to a Kubernetes cluster, the Kubernetes cluster includes multiple resource management components, the resource management components include at least one data processing container and multiple business containers, the multiple business containers are respectively connected to different terminal devices in communication, the method includes: For each of the multiple business containers, receiving a remote desktop service request sent by the terminal device through the business container; the remote desktop service request carries a remote desktop protocol; parsing the remote desktop service request through the business container to obtain a parsing result and a remote desktop protocol corresponding to the parsing result, and sending the parsing result and the remote desktop protocol to the data processing container; parsing the parsing result by an adapter in the data processing container according to a remote desktop protocol corresponding to the parsing result, and generating an intermediate parsing result corresponding to the parsing result; The data processing container uses a preset data processing algorithm to perform data processing on the intermediate analysis result corresponding to the analysis result to generate a data processing result of the analysis result; the preset data processing algorithm includes at least one of a data encoding algorithm, a data decoding algorithm, and a data compression algorithm; Using the data processing result of the parsing result as the data processing result of the remote desktop service request, and sending the data processing result of the remote desktop service request to the business container; The remote desktop service of each business container is constructed by each business container based on the data processing result of the remote desktop service request.
2. The method according to claim 1, characterized in that The parsing result includes an event stream and a data stream corresponding to the event stream; The step of parsing the remote desktop service request through the business container to obtain a parsing result and a remote desktop protocol corresponding to the parsing result includes: parsing the remote desktop service request through the business container to obtain an event stream of the remote desktop service request and a data stream corresponding to the event stream; According to the event stream and the data stream, a remote desktop protocol corresponding to the event stream and the data stream is determined.
3. The method according to claim 1, characterized in that The intermediate parsing result includes an intermediate event stream and an intermediate data stream; the data processing container uses a preset data processing algorithm to perform data processing on the intermediate parsing result corresponding to the parsing result to generate a data processing result of the parsing result, including: Processing the intermediate event stream by the data processing engine in the data processing container using the preset data processing algorithm to generate a first processing result corresponding to the intermediate event stream; Processing the intermediate data stream using the preset data processing algorithm through the data processing engine or the hardware acceleration card to generate a second processing result corresponding to the intermediate data stream; A data processing result of the analysis result is generated according to the first processing result and the second processing result.
4. The method according to claim 3, characterized in that The processing of the intermediate data stream by the data processing engine or the hardware acceleration card using the preset data processing algorithm to generate a second processing result corresponding to the intermediate data stream includes: Determine whether the hardware accelerator card exists in the Kubernetes cluster; If the hardware accelerator card exists in the Kubernetes cluster, the hardware accelerator card processes the intermediate data stream using the preset data processing algorithm to generate a second processing result corresponding to the intermediate data stream; If the hardware acceleration card does not exist in the Kubernetes cluster, the data processing engine uses the preset data processing algorithm to process the intermediate data stream to generate a second processing result corresponding to the intermediate data stream.
5. The method according to claim 1, wherein The method further comprises: If the resource management component needs to be updated, the preset data processing algorithm contained in the data processing container in the resource management component is updated to obtain an updated preset data processing algorithm; The updated preset data processing algorithm is used by the data processing container to perform data processing on the intermediate analysis result corresponding to the analysis result to generate a data processing result of the analysis result.
6. A remote desktop service construction device, characterized in that: Applied to a Kubernetes cluster, the Kubernetes cluster includes multiple resource management components, the resource management components include at least one data processing container and multiple business containers, the multiple business containers are respectively connected to different terminal devices in communication, the apparatus includes: a remote desktop service request receiving module, configured to receive, for each of the plurality of business containers, a remote desktop service request sent by the terminal device through the business container; the remote desktop service request carries a remote desktop protocol; a remote desktop service request parsing unit, configured to parse the remote desktop service request through the business container, obtain a parsing result and a remote desktop protocol corresponding to the parsing result, and send the parsing result and the remote desktop protocol to the data processing container; a parsing result parsing subunit, configured to parse the parsing result according to a remote desktop protocol corresponding to the parsing result through an adapter in the data processing container, and generate an intermediate parsing result corresponding to the parsing result; a data processing result generating subunit for the parsing result, configured to perform data processing on the intermediate parsing result corresponding to the parsing result using a preset data processing algorithm via the data processing container to generate a data processing result of the parsing result; the preset data processing algorithm includes at least one of a data encoding algorithm, a data decoding algorithm, and a data compression algorithm; a data processing result generating unit, configured to use a data processing result of the parsing result as a data processing result of the remote desktop service request, and send the data processing result of the remote desktop service request to the business container; The remote desktop service construction module is configured to construct the remote desktop service of each business container based on the data processing result of the remote desktop service request by each business container.
7. The device according to claim 6, characterized in that The parsing result includes an event stream and a data stream corresponding to the event stream; The remote desktop service request parsing unit includes: a remote desktop service request parsing subunit, configured to parse the remote desktop service request through the business container to obtain an event stream of the remote desktop service request and a data stream corresponding to the event stream; The remote desktop protocol determining subunit is configured to determine the remote desktop protocol corresponding to the event stream and the data stream according to the event stream and the data stream.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 5 are implemented.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.
10. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.
Citation Information
Patent Citations
Method and system for supporting web to access multiple remote desktop protocols
CN115412548A