Cloud desktop dormancy method, device and equipment and computer readable storage medium
By deploying the cloud desktop proxy module in the cloud desktop system, using preset configuration items to detect the configuration items of the cloud desktop, the hibernation reliability problem caused by virtual machine management components is solved, and a more reliable cloud desktop sleep operation is achieved.
Patent Information
- Application Number
- CN202410342122.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-01-11
- Filing Date
- 2024-03-22
- Publication Date
- 2025-07-11
AI Technical Summary
The existing cloud desktop sleep mode relies on virtual machine management components, resulting in low hibernation reliability. Especially when the hibernation logic of the virtual machine management component does not match the cloud desktop logic, it is easy to cause hibernation failure.
Deploy the cloud desktop proxy module in the cloud desktop system, detect the configuration items of the target cloud desktop through preset configuration items to ensure the reliability of hibernation operations, including detecting parameters such as sleep function, storage resources, and network resources, and ensure that the hibernation logic of the cloud desktop proxy module is adapted to the cloud desktop logic.
Improves the reliability of cloud desktop hibernation, avoids hibernation failures caused by logical mismatch, and ensures the integrity of stored data and user experience.
Smart Images

Figure CN120295676A_ABST
Abstract
Description
[0001] This application claims the priority of a Chinese patent application titled "A Cloud Desktop Hibernation Method and Device" with the application number 202410043985.X and filed with the National Intellectual Property Administration on January 11, 2024. The entire content of which is incorporated herein by reference. Technical Field
[0002] This application relates to the field of cloud computing technology, and more specifically to a cloud desktop hibernation method, device, equipment, and computer-readable storage medium. Background Art
[0003] A cloud desktop is deployed in the cloud, connected to the client through the network, and provides cloud desktop services to the client. It helps users reduce hardware costs and improve work efficiency.
[0004] When a user uses the computing resources of the cloud desktop, in the case where the user does not use the computing resources of the cloud desktop for a short time, the processes in the cloud desktop run for a long time, affecting the computing performance of the virtual machine running the cloud desktop. Directly shutting down the virtual machine will cause the desktop processes retained by the user in the cloud desktop to be lost. Currently, the virtual machine is hibernated through the cloud desktop hibernation method to retain the desktop processes retained by the user in the cloud desktop.
[0005] Currently, the hibernation method of the cloud desktop mainly hibernates the virtual machine running the cloud desktop through the virtual machine management component to achieve the hibernation of the cloud desktop. Since the internal execution logic of the virtual machine management component cannot be changed, the hibernation reliability of the cloud desktop is not high. When the hibernation logic of the virtual machine management component does not match the hibernation logic of the cloud desktop, it may cause the hibernation of the cloud desktop to fail. Summary of the Invention
[0006] The embodiments of the present application provide a cloud desktop hibernation method, device, equipment, and computer-readable storage medium to improve hibernation reliability.
[0007] In a first aspect, the embodiments of the present application provide a cloud desktop hibernation method. This cloud desktop hibernation method is executed by the cloud desktop system. The cloud desktop service where the cloud desktop system is located further includes a client. The cloud desktop system includes an example for running the target cloud desktop, and the cloud desktop system includes preset configuration items. This configuration item includes parameters that affect cloud desktop hibernation. The method includes: The cloud desktop system responds to a hibernation request for requesting to perform a hibernation operation on the target cloud desktop, and detects the target configuration item of the target cloud desktop based on the preset configuration item. When the detection passes, the cloud desktop system issues a hibernation instruction to the example running the target cloud desktop. The instance is instructed to perform a hibernation operation through the hibernation instruction.
[0008] Compared with the method of implementing the hibernation of cloud desktops through virtual management components, the embodiments of the present application preset configuration items for parameters affecting the hibernation of cloud desktops. When the cloud desktop system responds to a hibernation request, it detects the configuration items of the target cloud desktop through the preset configuration items, and when the configuration item detection passes, it performs the hibernation operation on the target cloud desktop. In this way, by detecting the configuration items affecting the hibernation of cloud desktops and performing the hibernation operation when the configuration item detection passes, the reliability of hibernation is guaranteed. And through the configuration item detection, the adaptability between the hibernation logic of the cloud desktop agent module and the hibernation logic of the cloud desktop is ensured, avoiding the problem of low hibernation reliability caused by the mismatch between the hibernation logic of the virtual machine management component and the hibernation logic of the cloud desktop.
[0009] In a possible implementation, the specific implementation is as follows: when the cloud desktop system detects that the client meets the hibernation condition, it generates a hibernation request. Among them, the hibernation condition is used to indicate the rule for triggering the hibernation of the cloud desktop.
[0010] In this way, the hibernation request is automatically triggered through the hibernation condition. The flexibility and convenience of cloud desktop hibernation are improved.
[0011] In a possible implementation, the specific implementation of the cloud desktop system generating a hibernation request when it detects that the client meets the hibernation condition is as follows: the hibernation condition is used to indicate triggering the hibernation of the cloud desktop according to the hibernation trigger operation. When the cloud desktop system receives the hibernation trigger operation for the client, it generates a hibernation request.
[0012] Based on this possible implementation, the hibernation trigger operation is actively triggered through the hibernation trigger operation, and the batch hibernation of cloud desktops is realized. It is convenient for the unified management of cloud desktops.
[0013] In a possible implementation, the specific implementation of the cloud desktop system generating a hibernation request when it detects that the client meets the hibernation condition is as follows: the hibernation condition is used to indicate triggering the hibernation of the cloud desktop according to the hibernation trigger time. When the current time of the client meets the hibernation trigger time, the cloud desktop system generates a hibernation request.
[0014] Based on this possible implementation, by setting the hibernation trigger time, when it is detected that the current time of the client meets the hibernation trigger time of the cloud desktop, the cloud desktop corresponding to the client is hibernated. In this way, by triggering the hibernation of the cloud desktop regularly, the problem of boot lag caused by the long-term operation of the cloud desktop is reduced.
[0015] In a possible implementation, the specific implementation of the cloud desktop system generating a hibernation request when it detects that the client meets the hibernation condition is as follows: the hibernation condition is used to indicate triggering the hibernation of the cloud desktop according to the connection status between the client and the target cloud desktop. When the cloud desktop system detects that the connection status between the client and the target cloud desktop is abnormal, it generates a hibernation request.
[0016] Based on this possible implementation method, when the connection between the client and the cloud desktop is abnormal based on the sleep condition, the cloud desktop corresponding to the client is put into sleep. This reduces the lag problem caused by long-term operation.
[0017] In a possible implementation method, the specific implementation is as follows: The configuration item includes sleep function parameters. When the cloud desktop system detects the target configuration item of the target cloud desktop based on the preset configuration item, the cloud desktop system detects whether the sleep function of the target cloud desktop is enabled according to the sleep function parameters. When the sleep function of the target cloud desktop is enabled, it is determined that the configuration item detection passes. When the sleep function of the target cloud desktop is disabled, the cloud desktop system starts the sleep function of the target cloud desktop and determines that the sleep function detection passes.
[0018] In this way, by ensuring that the sleep function of the target cloud desktop is enabled, it avoids sleep failure caused by the sleep function not being enabled. This improves the reliability of cloud desktop sleep. And when the sleep function of the target cloud desktop is not enabled, by automatically enabling the sleep function, it avoids the increase in sleep operation duration caused by the user manually enabling the sleep function and improves the sleep speed.
[0019] In a possible implementation method, the specific implementation is as follows: The configuration item includes storage resource parameters. When the cloud desktop system detects the target configuration item of the target cloud desktop based on the preset configuration item, the cloud desktop system obtains the storage requirement of the target cloud desktop. Among them, the storage requirement of the target cloud desktop is used to indicate the storage requirement of the memory running data of the target cloud desktop. When the remaining storage resources do not meet the storage requirement of the target cloud desktop, the cloud desktop system sends a prompt message to the client corresponding to the target cloud desktop. Through this prompt message, it instructs the client corresponding to the target cloud desktop to close the desktop process of the target cloud desktop. Repeat the above process until the remaining storage resources meet the storage requirement of the target cloud desktop, and then determine that the storage resource detection passes.
[0020] In this way, through the storage resource detection, it is ensured that the cloud desktop sleep is executed when the remaining storage resources meet the storage requirement of the target cloud desktop. This avoids cloud desktop sleep failure or loss of memory running data caused by insufficient storage resources, thereby improving the reliability of cloud desktop sleep.
[0021] In a possible implementation method, the specific implementation is as follows: The configuration item includes network resource parameters. The network resource parameters are used to indicate the network to be closed for the target cloud desktop. When the cloud desktop system detects the target configuration item of the target cloud desktop based on the preset configuration item, the cloud desktop system detects whether the network used by the target cloud desktop is closed according to the network resource parameters. When the network setting item is closed, it is determined that the configuration item detection passes. When the network setting item is open, the network used by the target cloud desktop is closed, and it is determined that the network resource detection passes.
[0022] In this way, it is ensured that all the networks to be closed in the target cloud desktop are in the closed state, thereby avoiding the failure of cloud hibernation caused by the enabling of the network, and further improving the reliability of cloud desktop hibernation.
[0023] In a possible implementation manner, the specific implementation is as follows: after the cloud desktop system issues a hibernation instruction to the instance running the target cloud desktop, when the hibernation operation duration is less than the hibernation operation duration threshold and / or the target cloud desktop hibernation fails, the cloud desktop system obtains new configuration items according to the running data of the target cloud desktop. Among them, the new configuration items are used to indicate the parameters that affect the hibernation operation duration and / or hibernation result of the target running desktop. The cloud desktop system updates the preset configuration items based on the new configuration items.
[0024] Based on this possible implementation manner, record the hibernation operation duration and hibernation result of the target cloud desktop when hibernating the target cloud desktop. After the target cloud desktop restarts, update the configuration items of the target cloud desktop according to the recorded hibernation operation duration and hibernation result of the target cloud desktop. In this way, the adaptation degree between the configuration items and the corresponding cloud desktop is ensured, thereby improving the matching degree with the hibernation logic of the cloud desktop, and further improving the hibernation reliability of the cloud desktop.
[0025] In a possible implementation manner, the specific implementation is as follows: after the cloud desktop system issues a hibernation instruction to the instance running the target cloud desktop, when it is detected that the client corresponding to the target cloud desktop meets the wake-up condition, the cloud desktop system starts the instance running the target cloud desktop. The cloud desktop system performs the initialization operation of the target cloud desktop and connects the target cloud desktop to the client corresponding to the target cloud desktop. Among them, the wake-up condition is used to indicate the rule for waking up the cloud desktop.
[0026] Based on this possible implementation manner, when the client corresponding to the target cloud desktop meets the wake-up condition, the cloud desktop system performs the initialization operation for the target cloud desktop, connects the target cloud desktop to the client corresponding to the target cloud desktop, and realizes the quick connection between the cloud desktop and the corresponding client. The wake-up speed of the cloud desktop is improved.
[0027] In a possible implementation manner, the specific implementation of performing the initialization operation of the target cloud desktop is as follows: when the hibernation duration of the target cloud desktop meets the duration threshold, the cloud desktop system obtains the world time. The cloud desktop system updates the display time of the target cloud desktop according to the world time, sends the data of the target cloud desktop to the client, and connects to the client corresponding to the target cloud desktop. Among them, the data of the target cloud desktop includes the display time.
[0028] Based on this possible implementation, after the target cloud desktop is awakened, the data of the target cloud desktop is directly sent to the client. There is no need to send a heartbeat message to the client corresponding to the target cloud desktop. After receiving the heartbeat returned by the client corresponding to the target cloud desktop, connect to the client corresponding to the target cloud desktop. In this way, the connection speed between the cloud desktop and the client is improved.
[0029] In a possible implementation, the specific implementation is as follows: Before the cloud desktop system sends a sleep instruction to the instance running the target cloud desktop, the cloud desktop system sends the data of the first sleep interface to the client corresponding to the target cloud desktop. Among them, the data of the first sleep interface indicates that the target cloud desktop is showing the sleep process. After the cloud desktop system sends a sleep instruction to the instance running the target cloud desktop, the cloud desktop system sends the data of the second sleep interface to the client corresponding to the target cloud desktop. Among them, the data of the second sleep interface indicates that the target cloud desktop is shown as being in the sleep state.
[0030] Based on this possible implementation, during the sleep process of the target cloud desktop, the client shows the first sleep interface indicating that the target cloud desktop is in the sleep process. After the target cloud desktop goes to sleep, the client shows the second sleep interface indicating that the target cloud desktop is shown as being in the sleep state. In this way, the sleep process of the target cloud desktop is visually displayed to the user, improving the interactivity between the cloud desktop and the user.
[0031] In a second aspect, an embodiment of the present application provides a cloud desktop sleep device. The cloud desktop sleep device can be a cluster of computing devices that execute the cloud desktop sleep method, or a chip or system-on-chip in the cluster of computing devices. The cloud desktop sleep device can implement the functional modules of the method in the first aspect or any possible implementation of the first aspect. The functions performed by the computing device in the first aspect or any possible implementation of the first aspect can be implemented by the cloud desktop sleep device. The hardware or software includes one or more modules corresponding to the above functions. For example, a cloud desktop proxy module and a cloud desktop management module.
[0032] Among them, the cloud desktop management module is used to generate a sleep request when it is detected that the client meets the sleep condition; the sleep condition is used to indicate the rule for triggering the cloud desktop to go to sleep.
[0033] The cloud desktop proxy module is used to, in response to the sleep request, detect the target configuration item of the target cloud desktop based on the preset configuration items. When the detection passes, send a sleep instruction to the instance running the target cloud desktop; the sleep instruction instructs the instance to perform a sleep operation; the sleep request is used to request to perform a sleep operation on the target cloud desktop, and the configuration items include parameters that affect the cloud desktop sleep.
[0034] Specifically, the related processing actions and beneficial effects of the cloud desktop management module and the cloud desktop agent module can be referred to in the first aspect or any possible implementation manner of the first aspect, and will not be elaborated here.
[0035] In a third aspect, an embodiment of the present application provides a computing device cluster. The computing device cluster includes at least one computing device. Each computing device includes a processor and a memory. The processors of at least one computing device are configured to execute instructions stored in the memory of at least one computing device, so that the computing device cluster executes the method in the first aspect or any possible implementation manner of the first aspect as described above.
[0036] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium storing computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster executes the computer program instructions stored in the computer-readable storage medium to execute the method in the first aspect or any possible implementation manner of the first aspect as described above.
[0037] In a fifth aspect, an embodiment of the present application provides a computer program product. When the instructions are run on a computing device or a computing device cluster, the computing device cluster is caused to execute the method in the first aspect or any possible implementation manner of the first aspect as described above.
[0038] For the technical effects brought by any implementation manner in the second aspect to the fifth aspect, reference can be made to the technical effects brought by the first aspect to the first aspect or different implementation methods, and will not be elaborated here.
[0039] Based on the implementation manners provided in the above aspects, the present application can be further combined to provide more implementation manners. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Figure 1 It is a schematic diagram of the system architecture of the cloud desktop hibernation method provided by an embodiment of the present application;
[0041] Figure 2 It is a schematic flowchart of the cloud desktop hibernation method provided by an embodiment of the present application;
[0042] Figure 3 It is a schematic flowchart of timing-triggered cloud desktop hibernation provided by an embodiment of the present application;
[0043] Figure 4 It is a schematic flowchart of actively-triggered cloud desktop hibernation provided by an embodiment of the present application;
[0044] Figure 5 It is a schematic flowchart of policy-triggered cloud desktop hibernation provided by an embodiment of the present application;
[0045] Figure 6Schematic diagram of the detection process for configuration items of the target cloud desktop provided by the embodiments of the present application;
[0046] Figure 7 Schematic diagram of the process for the cloud desktop wake-up method provided by the embodiments of the present application;
[0047] Figure 8 Schematic diagram of the management interface of the cloud desktop management module provided by the embodiments of the present application;
[0048] Figure 9 Schematic diagram of the sleep display interface of the client provided by the embodiments of the present application;
[0049] Figure 10 Schematic diagram of the interface for the client to actively trigger the wake-up of the cloud desktop provided by the embodiments of the present application;
[0050] Figure 11 Schematic diagram of the interface for the cloud desktop management module to actively trigger the wake-up of the cloud desktop provided by the embodiments of the present application;
[0051] Figure 12 Schematic diagram of the structure of the cloud desktop sleep device provided by the embodiments of the present application;
[0052] Figure 13 Schematic diagram of the structure of the computing device provided by the embodiments of the present application;
[0053] Figure 14 Schematic diagram of the structure of the computing device cluster provided by the embodiments of the present application;
[0054] Figure 15 Schematic diagram of the process of the connection method between computing devices in the computing device cluster provided by the embodiments of the present application. Specific embodiments
[0055] The cloud desktop sleep method involved in the embodiments of the present application is applied to the cloud desktop or the cloud desktop management module in the cloud desktop system. Among them, the cloud desktop system includes a cloud desktop platform and a cloud desktop management module. The cloud desktop platform provides multiple cloud desktops.
[0056] Among them, the cloud desktop is one of the manifestations of cloud computing at the application layer, and is a cloud-based desktop service based on cloud computing and virtualization technologies. Interactive operations are achieved by accessing instances in the cloud through a specific communication protocol. The cloud desktop can support the rapid creation, deployment, unified management, and operation and maintenance of the computer desktop environment, and has advantages over traditional computers in terms of convenience, elasticity, security, high performance, etc., and can be widely applied to many scenarios such as remote office, software development, design, education and training, data security storage, and short-term use of computers.
[0057] The computing resources of the cloud desktop can be deployed in the cloud data center, facilitating on-demand expansion of computing power. On the user side of the cloud desktop, a client can be deployed. The client connects to the cloud through the public network or a dedicated line and can be in the form of a thin client or a smart client. For example, by connecting to the network through a thin client to log in to the cloud desktop, the inputs such as the mouse and keyboard are transmitted to the server for processing, and the server then sends the processing results back to the corresponding monitor of the thin client for display; or in the form of a soft terminal, an application is installed on intelligent devices such as mobile phones and tablets, and the cloud desktop is logged in through this application; or in the form of an external terminal, the cloud desktop is logged in by accessing the website of the cloud desktop. After the user logs in to the account of the client, various functions of the cloud desktop can be called by accessing the various entrances provided by the client. Using the cloud desktop can achieve the same experience effect as using a computer and is the latest solution for mobile office.
[0058] Currently, the usage fee of the cloud desktop is billed according to the computing resources actually used by the user. This billing method does not require the user to purchase the computing resources of the cloud desktop in advance, but calculates the computing resources used by the user based on the on / off time of the cloud desktop used by the user. Therefore, after the user turns on the computer and starts using the cloud desktop, the user needs to release the computing resources of the cloud desktop by shutting down the computer so as not to charge the user for the computing resources used during this period. However, this method will bring more inconvenience to the user when the user does not use the cloud desktop for a short time, such as in the scenario of attending a meeting during work. For example, it will cause the desktop processes retained by the user in the cloud desktop to be lost due to shutdown, increasing the time cost of using the cloud desktop and thus affecting the user experience of using the cloud desktop.
[0059] Based on this, related technologies use the cloud desktop hibernation method to hibernate virtual machines in the cloud desktop hibernation method, releasing computing resources while retaining the desktop processes reserved by users within the cloud desktop. As described in the background technology, the cloud desktop hibernation method in related technologies is mainly implemented by a virtual machine management component in the cloud. The internal execution logic of the virtual machine management component cannot be modified. When receiving a hibernation request, the virtual machine management component collects the memory operation data that is running within the cloud desktop to be hibernated. And stores the collected memory operation data in the cloud storage node, and stops running the cloud desktop to be hibernated after successful storage. It can be seen that when the virtual machine management component performs the hibernation operation, it directly collects and saves the memory operation data of the cloud desktop, and stops running the cloud desktop after saving. When the cloud desktop hibernates, since the settings in the cloud desktop will directly or indirectly affect the cloud desktop hibernation result, for example, the storage space of the cloud storage node, whether the hibernation function of the cloud desktop is enabled, all may cause the cloud desktop hibernation to fail. And the cloud desktop hibernation method based on the virtual machine management component does not involve setting item detection. When the execution logic of the virtual machine management component does not match the hibernation logic of the cloud desktop, it may cause the cloud desktop hibernation to fail. This makes the hibernation reliability of the cloud desktop using the cloud desktop hibernation method based on the virtual machine management component not high.
[0060] Based on this, to improve the hibernation reliability of the cloud desktop. An embodiment of the present application provides a cloud desktop hibernation method. Compared with the method of implementing cloud desktop hibernation through a virtual management component, this method deploys a cloud desktop proxy module in the cloud desktop. In the cloud desktop proxy module, there is a configuration item for indicating the settings that affect the cloud desktop hibernation. When the cloud desktop receives a hibernation request sent by the cloud desktop management module, it detects the configuration item of the target cloud desktop through the cloud desktop proxy module. When the configuration item detection passes, it performs the hibernation operation on the target cloud desktop. In this way, it detects the settings that affect the cloud desktop hibernation, and when the configuration item detection passes, it performs the hibernation operation to ensure the hibernation reliability. And through the configuration item detection, it ensures the adaptability between the hibernation logic of the cloud desktop proxy module and the hibernation logic of the cloud desktop, avoiding the problem of low hibernation reliability caused by the mismatch between the hibernation logic of the virtual machine management component and the hibernation logic of the cloud desktop.
[0061] As Figure 1 shown, Figure 1 shown, Figure 1 is a schematic diagram of the system architecture of the cloud desktop hibernation method provided by an embodiment of the present application. The system architecture of the cloud desktop hibernation method shown includes a cloud system 100. The cloud system 100 includes a cloud desktop system 10 and a client 20.
[0062] As Figure 1 shown, the cloud desktop system 10 includes a cloud desktop platform 102 and a cloud desktop management module 101.
[0063] Among them, the cloud desktop platform 102 includes a cloud platform management component 1022 and multiple instances 1021. The instances 1021 run multiple cloud desktops. The cloud platform management component 1022 is used to implement the allocation of cloud desktops, the creation of instances, and the management of instances.
[0064] Among them, the instance 1021 may refer to a virtual machine, a container, a bare metal server, a physical server, etc. that include computing components such as a CPU, memory, an operating system, a network, and a disk.
[0065] The client 20 requests a cloud desktop service from the cloud desktop platform 102. The cloud platform management component 1022 allocates a cloud desktop corresponding to the client 20, and the cloud desktop provides a cloud desktop service to the client 20 and sends the data of the cloud desktop interface to the client 20. The client 20 receives the data of the cloud desktop interface and displays the cloud desktop based on the data of the cloud desktop interface.
[0066] The client 20 may be an application program, such as a cloud computer application program. Or the client 20 may be a web client. The client 20 runs on a terminal device. Among them, the terminal device includes but is not limited to a mobile phone terminal, a tablet computer, a personal computer, or a notebook computer, etc.
[0067] The cloud desktop management module 101 is used to monitor the client 20 corresponding to at least one cloud desktop. When the client 20 corresponding to at least one cloud desktop meets the sleep condition, a sleep request is sent to the cloud desktop. The cloud desktop performs a sleep operation. And when the client 20 corresponding to at least one cloud desktop meets the wake-up condition, the instance 1021 is started through the cloud platform management component 1022 to wake up the cloud desktop.
[0068] In a possible implementation manner, an application programming interface is set in the cloud desktop management module 101. The cloud desktop management module 101 sends a sleep request to the cloud desktop through the application programming interface and instructs the cloud platform management component 1022 to wake up the cloud desktop.
[0069] In a possible implementation manner, a cloud desktop management module 101 is set in the client 20 corresponding to each cloud desktop, and each cloud desktop management module 101 monitors the client 20 corresponding to one cloud desktop. For example, when each cloud desktop management module 101 monitors that the client 20 where it is located meets the sleep condition, a sleep request is sent to the cloud desktop corresponding to the client 20, and the cloud desktop performs a sleep operation.
[0070] In another possible implementation manner, the cloud desktop management module 101 may be deployed in a computing device to monitor the clients corresponding to multiple cloud desktops. For example, when the clients corresponding to multiple cloud desktops meet the sleep condition, a sleep request is sent to multiple cloud desktops, and multiple cloud desktops perform a sleep operation.
[0071] In an embodiment of the present application, when the cloud desktop receives a sleep request, it executes the cloud desktop sleep method provided by the embodiment of the present application to sleep the cloud desktop. And in response to a wake-up operation, the cloud desktop is woken up.
[0072] In a possible implementation, a cloud desktop proxy module is deployed in the cloud desktop, and the cloud desktop proxy module performs the sleep operation. For example, when the cloud desktop receives a sleep request sent by the cloud desktop management module 101, the cloud desktop proxy module in the cloud desktop executes the cloud desktop sleep method provided by the embodiment of the present application to sleep the cloud desktop. For example, the cloud desktop proxy module wakes up the cloud desktop in response to a wake-up operation, so that the cloud desktop is connected to the client 20 corresponding to the cloud desktop.
[0073] In one example, the cloud desktop management module 101 sends a sleep request to the cloud desktop proxy module through an application programming interface.
[0074] In one example, the cloud desktop management module 101 sends a wake-up request to the cloud platform management component 1022 through an application programming interface. The cloud platform management component 1022 receives the wake-up request, starts the instance 1021 running the cloud desktop, and triggers the wake-up operation of the cloud desktop. The cloud desktop proxy module in the cloud desktop wakes up the cloud desktop in response to the wake-up operation, so that the cloud desktop is connected to the client corresponding to the cloud desktop.
[0075] Among them, for sleep, the cloud desktop proxy module can collect the memory operation data that is running in the cloud desktop to be slept, and store the collected memory operation data in the cloud storage node. And after the storage is successful, stop running the cloud desktop to be slept. Among them, the memory operation data is memory state data, which is used to indicate the desktop processes that the cloud desktop is running. The cloud storage node is used to store the operation data of the cloud desktop. For example, the cloud storage node can be the disk of the instance 1021 running the cloud desktop. Another example is that the cloud storage node can be a database provided by the cloud platform.
[0076] For wake-up, the cloud desktop proxy module can find the memory operation data corresponding to the cloud desktop to be woken up, and control the cloud desktop to be woken up to resume the running state before sleep according to the memory operation data. That is, adjust the already-slept cloud desktop from the sleep state to the running state. After the wake-up is successful, the desktop processes that were running before sleep in the cloud desktop still remain running.
[0077] It should be noted that Figure 1 are only exemplary drawings and do not constitute a limitation on the cloud desktop sleep method provided by the embodiment of the present application. Figure 1 The naming and grouping of the cloud system, cloud desktop system, cloud desktop management module, and cloud desktop proxy module in are schematic, and are only a logical function grouping. In actual implementation, there may be other grouping methods.
[0078] Next, based onFigure 1 The provided system architecture introduces the cloud desktop hibernation method provided in the embodiments of this application. The cloud desktop hibernation method can be executed by the Figure 1 cloud desktop system in
[0079] or by a computing device with data processing capabilities. Figure 2 As shown in Figure 2 FIG. 10 is a schematic flow chart of the cloud desktop hibernation method provided in the embodiments of this application. The cloud desktop hibernation method at least includes steps S210 to S240:
[0080] Step S210, when at least one client meets the hibernation condition, the cloud desktop management module sends a hibernation request for the target cloud desktop to the cloud desktop agent module.
[0081] Among them, the target cloud desktop is used to indicate the cloud desktop to be hibernated.
[0082] Among them, the hibernation request is used to indicate the cloud desktop agent module in the target cloud desktop to hibernate the target cloud desktop.
[0083] In the embodiments of this application, the hibernation condition is used to indicate the rule for triggering cloud desktop hibernation. For example, active triggering of hibernation and automatic triggering of hibernation.
[0084] Among them, active triggering of hibernation can be triggered by a user operation. For example, triggered by a user operation on the client, when the cloud desktop management module monitors that the client triggers hibernation, a hibernation request is generated. Another example is triggered by a user operation of the cloud desktop management module. The cloud desktop management module responds to a hibernation trigger operation input by the user and sends a hibernation request to the target cloud desktop.
[0085] Automatic triggering of hibernation can be setting an automatic hibernation policy. When the cloud desktop management module monitors that the client meets the automatic hibernation policy, a hibernation request is sent to the target cloud desktop.
[0086] In a possible implementation manner, when the cloud desktop management module is set on the client, when the cloud desktop management module monitors that the client where it is located meets the hibernation condition, a hibernation request is sent to the target cloud desktop corresponding to the client where it is located.
[0087] In another possible implementation manner, when the cloud desktop management module is deployed on a computing device, the cloud desktop management module is connected to multiple clients. When it monitors that at least one client meets the hibernation condition, the cloud desktop management module sends a hibernation request to the target cloud desktop.
[0088] In one example, multiple clients can set the same sleep condition. In another example, each client separately sets its corresponding sleep condition.
[0089] When each client separately sets its corresponding sleep condition, when the cloud desktop management module detects that at least one client meets the sleep condition corresponding to that client, it sends a sleep request to the target cloud desktop corresponding to that client.
[0090] In an embodiment of the present application, when at least one client meets the sleep condition, the cloud desktop management module generates a sleep trigger instruction and sends a sleep request to the target cloud desktop based on the sleep trigger instruction.
[0091] Among them, the sleep trigger instruction is used to indicate the target cloud desktop to be put to sleep.
[0092] In a first possible implementation manner, after the cloud desktop management module generates a sleep trigger instruction, it sends a sleep request to the cloud desktop proxy module in the target cloud desktop through an application programming interface.
[0093] For example, the sleep instruction indicates the target cloud desktop that needs to be put to sleep. The cloud desktop management module sends a sleep request to the cloud desktop proxy module in the target cloud desktop indicated by the sleep trigger instruction through an application programming interface.
[0094] In a second possible implementation manner, after the cloud desktop management module generates a sleep trigger instruction, it sends a sleep request to the target cloud desktop through an application programming interface.
[0095] Step S220, the cloud desktop proxy module in the target cloud desktop receives the sleep request.
[0096] In a first possible implementation manner, when the target cloud desktop receives the sleep request sent by the cloud desktop management module, it calls the cloud desktop proxy module in the target cloud desktop to receive and respond to the sleep request.
[0097] In a second possible implementation manner, the cloud desktop proxy module receives and responds to the sleep request sent by the cloud desktop management module.
[0098] Step S230, the cloud desktop proxy module detects the configuration items of the target cloud desktop.
[0099] In a possible implementation manner, preset configuration items are set in the cloud desktop proxy module. The configuration items are used to indicate parameters that affect the sleep of the cloud desktop, such as network setting parameters, sleep function setting parameters, storage space setting parameters, etc.
[0100] Among them, the network setting parameters are used to indicate the networks that need to be turned off when the cloud desktop is put to sleep, such as wireless networks, wired networks, Bluetooth connections, etc.
[0101] The sleep function setting parameter is used to indicate whether the sleep function of the cloud desktop is enabled.
[0102] The storage space setting parameter is used to indicate the remaining storage resources of the cloud desktop.
[0103] In an embodiment of the present application, after the cloud desktop sleep module receives a sleep request, it detects the target configuration item of the target cloud desktop based on a preset configuration item. When the configuration item passes the detection, the cloud desktop sleep module performs a sleep operation.
[0104] In an embodiment of the present application, when the relevant configuration detection fails, the cloud desktop sends a detection failure prompt message to the cloud desktop management module or the client corresponding to the cloud desktop. The cloud desktop management module or the client corresponding to the cloud desktop receives the detection failure prompt message and displays it. So that the cloud desktop management module or the client can modify at least one of the settings of the target cloud desktop and the desktop process for the corresponding user through the client. Among them, the failure prompt message includes the configuration item for which the detection fails.
[0105] In a first possible implementation manner, after the cloud desktop sends a detection failure prompt message, the cloud desktop proxy module polls to detect the configuration item of the target cloud desktop until the configuration item passes the detection, and then step S240 is executed.
[0106] In a second possible implementation manner, after the cloud desktop sends a detection failure prompt message, the cloud desktop proxy module receives a feedback operation returned by the cloud desktop management module or the cloud desktop. When the feedback operation indicates to sleep the cloud desktop, the cloud desktop proxy module performs a sleep operation on the target cloud desktop. When the feedback operation indicates to cancel the sleep of the cloud desktop, the cloud desktop proxy module does not perform the sleep operation on the target cloud desktop.
[0107] Step S240, when the configuration item passes the detection, the cloud desktop proxy module performs a sleep operation on the target cloud desktop.
[0108] In a first possible implementation manner, when the configuration item passes the detection, the cloud desktop proxy module directly performs a sleep operation on the target cloud desktop. For example, the cloud desktop proxy module sends a sleep instruction to the instance running the target cloud desktop. The instance running the target cloud desktop performs a sleep operation according to the sleep instruction and stops running the target cloud desktop.
[0109] In a second possible implementation manner, when the configuration item passes the detection, the cloud desktop proxy module sends a sleep prompt message to the client corresponding to the target cloud desktop. Based on the feedback information returned by the client, it performs a sleep operation on the target cloud desktop, or does not perform a sleep operation on the target cloud desktop.
[0110] For example, the cloud desktop proxy module sends a sleep prompt message to the client corresponding to the target cloud desktop. The client corresponding to the target cloud desktop receives the sleep prompt message and sends feedback information to the cloud desktop proxy module based on the sleep confirmation operation or sleep cancellation operation input by the user based on the sleep prompt message. The cloud desktop proxy module receives the feedback information. In the case where the feedback information indicates a sleep confirmation operation, the cloud desktop proxy module performs a sleep operation on the target cloud desktop. In the case where the feedback information performs a sleep cancellation operation, the cloud desktop proxy module does not perform a sleep operation on the target cloud desktop.
[0111] In the embodiment of the present application, when the cloud desktop proxy module performs a sleep operation on the target cloud desktop, the cloud desktop proxy module collects the memory operation data that is running in the target cloud desktop and stores the collected memory operation data in the cloud storage node. And after the storage is successful, a sleep instruction is sent to the instance running the target cloud desktop, instructing the instance running the target cloud desktop to stop running the target cloud desktop.
[0112] Based on Figure 2 The provided cloud desktop sleep method, compared with the method of implementing cloud desktop sleep through a virtual management component, in the embodiment of the present application, a cloud desktop proxy module is deployed in the cloud desktop, and a configuration item for indicating a setting item that affects cloud desktop sleep is set in the cloud desktop proxy module. When the cloud desktop receives a sleep request sent by the cloud desktop management module, the configuration item of the target cloud desktop is detected through the cloud desktop proxy module. When the configuration item passes the detection, a sleep operation is performed on the target cloud desktop. In this way, the setting items that affect cloud desktop sleep are detected, and when the configuration item passes the detection, a sleep operation is performed to ensure sleep reliability. And through the configuration item detection, the adaptability between the sleep logic of the cloud desktop proxy module and the sleep logic of the cloud desktop is ensured, avoiding the problem of low sleep reliability caused by the mismatch between the sleep logic of the virtual machine management component and the sleep logic of the cloud desktop.
[0113] Next, the generation of the sleep instruction by the cloud desktop management module will be introduced.
[0114] In the first possible implementation manner, the sleep condition may indicate that the cloud desktop sleep is triggered according to the sleep trigger time.
[0115] For example, the sleep condition includes the sleep trigger time. As Figure 3 shown, Figure 3 is a schematic flowchart of timing-triggered cloud desktop sleep provided by the embodiment of the present application.
[0116] Set the cloud desktop sleep trigger time corresponding to the client in the cloud desktop management module (step S31). When the cloud desktop management module monitors that the current time of at least one client meets the cloud desktop sleep trigger time, a sleep request is sent to the target cloud desktop corresponding to at least one client (step S32).
[0117] For example, when the sleep trigger time of client A is 18:00, when the cloud desktop management module monitors that the current time of client A is 18:00, it sends a sleep request to the target cloud desktop corresponding to client A.
[0118] In one example, take the cloud desktop management module monitoring multiple clients as an example. Under the condition that the same sleep trigger time is set for each client, when the cloud desktop management module monitors that the current time of the client meets the cloud desktop sleep trigger time, a sleep trigger instruction for each client is generated. In this way, batch sleep of the cloud desktops corresponding to multiple clients is achieved.
[0119] In another example, take the cloud desktop management module monitoring multiple clients as an example. Different sleep trigger times are set for each client. When the cloud desktop management module monitors that the current time of each client meets the cloud desktop sleep trigger time corresponding to that client, a sleep trigger instruction for that client is generated. In this way, flexible sleep of the cloud desktops corresponding to multiple clients is achieved.
[0120] In the embodiments of the present application, the sleep trigger time can be set by the user. For example, enterprise or individual users set the sleep trigger time through the cloud desktop management module.
[0121] In the embodiments of the present application, the sleep trigger time can also be automatically set according to the historical sleep time of the cloud desktop corresponding to the client.
[0122] In a possible implementation manner, the cloud desktop management module statistics the historical sleep time of the cloud desktop corresponding to the client in the past period of time, and obtains the occurrence frequency of each historical sleep time. According to the statistical characteristics of the occurrence frequency of the historical sleep time, the sleep trigger time of the client is obtained. Among them, the statistical characteristics include but are not limited to the maximum value of the occurrence frequency or the median of the occurrence frequency. For example, the historical sleep time corresponding to the maximum value of the occurrence frequency of the historical sleep time is set as the sleep trigger time of the client.
[0123] Among them, the past period of time can be the past week, or the past month, etc., and the embodiments of the present application do not limit this.
[0124] Based on Figure 3 the provided embodiments, by setting the sleep trigger time, when the cloud desktop management module monitors that the current time of at least one client meets the cloud desktop sleep trigger time, the cloud desktop corresponding to the client is put to sleep. In this way, by triggering the cloud desktop sleep regularly, the problem of boot lag caused by the long-term operation of the cloud desktop is reduced.
[0125] In the second possible implementation manner, the sleep condition can indicate that the sleep trigger operation triggers the cloud desktop to sleep.
[0126] As shown Figure 4 in Figure 4 Figure 1, it is a schematic flow chart of actively triggering the cloud desktop to enter the sleep state provided by the embodiment of the present application. A sleep trigger operation for at least one client is detected (step S41). A sleep request is sent to the target cloud desktop corresponding to at least one client (step S42).
[0127] In the embodiment of the present application, the sleep trigger operation may be triggered by an administrator through the cloud desktop management module.
[0128] For example, the cloud desktop management module provides a cloud desktop sleep control, and the user clicks the cloud desktop sleep control to trigger the sleep trigger operation.
[0129] In the first example, when the cloud desktop management module monitors multiple clients, in response to the sleep trigger operation triggered by the cloud desktop sleep control, the cloud desktop management module generates a sleep trigger instruction for the multiple clients monitored by the cloud desktop management module, and sends a sleep request to the target cloud desktop corresponding to at least one client.
[0130] In the second example, when the cloud desktop management module monitors multiple clients, in response to the client selection operation, the cloud desktop management module selects at least one client. In response to the sleep trigger operation triggered by the cloud desktop sleep control, the cloud desktop management module generates a sleep trigger instruction for at least one client. A sleep request is sent to the target cloud desktop corresponding to at least one client.
[0131] In the third example, when the cloud desktop management module is set on the client, in response to the sleep trigger operation triggered by the cloud desktop sleep control, the cloud desktop management module generates a sleep trigger instruction for the client where the cloud desktop management module is located. A sleep request is sent to the target cloud desktop corresponding to the client where it is located.
[0132] In the embodiment of the present application, the sleep trigger operation may be triggered by the user through the client.
[0133] For example, the user clicks the "Sleep" button in the cloud desktop interface displayed on the client to trigger the sleep trigger operation. Another example is that the user of a client such as a laptop closes the screen, presses the power-off button briefly, etc. to trigger the sleep trigger operation.
[0134] Based on Figure 4 the embodiments provided, by actively triggering the sleep trigger operation, batch cloud desktop sleep is realized. It is convenient for unified management of multiple cloud desktops.
[0135] In the third possible implementation manner, the sleep condition may be used to indicate triggering the cloud desktop to enter the sleep state according to the connection state between the client and the cloud desktop.
[0136] Among them, the connection status includes the disconnection between the client and the cloud desktop, and the normal connection between the client and the cloud desktop. Among them, the disconnection between the client and the cloud desktop may be situations where the client is disconnected from the network, powered off, has no data input, or the client is locked, etc., when the user temporarily does not use the cloud desktop. The embodiments of the present application do not limit this. The client having no data input may be a situation where there is no keyboard input on the client, or no mouse data, or no operation on the client, etc., where there is temporarily no data interaction between the client and the cloud desktop. The embodiments of the present application do not limit this.
[0137] As Figure 5 shown, a sleep condition is set (step S51). The cloud desktop management module monitors that the connection status between at least one client and the cloud desktop is abnormal, and sends a sleep request to the target cloud desktop corresponding to at least one client (step S52).
[0138] Among them, the abnormal connection status between the client and the cloud desktop may refer to that the disconnection between the client and the cloud desktop lasts for a preset duration.
[0139] The preset duration can be set by the user, and after setting the sleep condition, the user can modify the preset duration in the sleep condition. Correspondingly, the sleep condition can be enabled or disabled according to actual application needs. The embodiments of the present application do not limit this.
[0140] For example, when the cloud desktop management module monitors that at least one client is disconnected from the corresponding cloud desktop, it starts timing. When the disconnection duration is greater than or equal to the preset duration, it is determined that the connection status between the client and the cloud desktop is abnormal.
[0141] For example, when the cloud desktop management module monitors that there is no data input on the client, it starts timing. When the duration of no data input is greater than or equal to the preset duration, it is determined that the connection status between the client and the cloud desktop is abnormal.
[0142] In the embodiments of the present application, when the cloud desktop management module monitors multiple clients, the sleep condition can be set by the administrator of the cloud desktop management module of the enterprise IT department. Or the administrator can choose to delegate the power to the corresponding user of the client (an individual in the enterprise), and the corresponding user of the client sets the sleep condition. Correspondingly, the sleep condition can also be set by the administrator corresponding to the cloud desktop platform, and the cloud desktop management module obtains the sleep condition from the cloud desktop platform.
[0143] Based on Figure 5 the provided embodiments, based on the sleep condition, when the client is disconnected from the cloud desktop or there is no data input on the client, the cloud desktop corresponding to the client is put to sleep. The problem of lag caused by long-term operation is reduced.
[0144] It should be noted that the three possible implementation manners of the above-mentioned hibernation conditions are only for illustrative purposes and do not constitute a limitation on the cloud desktop hibernation method provided by the embodiments of the present application. In practical applications, the hibernation conditions may include the combination of at least two of the above three possible implementation manners.
[0145] For example, the cloud desktop management module detects whether the current time of the client meets the hibernation trigger time. When the current time of the client meets the hibernation trigger time, a hibernation request is sent to the target cloud desktop corresponding to the client. When the current time of the client does not meet the hibernation trigger time, it is detected whether there is a hibernation trigger operation. If there is a hibernation trigger operation, a hibernation request is sent to the target cloud desktop corresponding to the client. If there is no hibernation trigger operation, it is detected whether the client is disconnected from the corresponding cloud desktop. If the client is disconnected from the corresponding cloud desktop, the disconnection duration is recorded. When the disconnection duration is greater than or equal to the preset duration specified by the hibernation conditions, a hibernation request is sent to the target cloud desktop corresponding to the client. If the client is normally connected to the corresponding cloud desktop, the client is continuously monitored according to the hibernation conditions.
[0146] It should be noted that the execution order among the above disconnection detection, hibernation trigger operation detection, and hibernation trigger time detection is only for illustrative purposes and does not constitute a limitation on the cloud desktop hibernation method provided by the embodiments of the present application. In practical applications, the execution order among the disconnection detection, hibernation trigger operation detection, and hibernation trigger time detection in the hibernation conditions can be adjusted according to the application scenario. For example, first detect whether there is a hibernation trigger operation. If there is no hibernation trigger operation, then detect whether the client is disconnected from the corresponding cloud desktop. When the client is normally connected to the corresponding cloud desktop, detect whether the current time of the client meets the hibernation trigger time.
[0147] After the cloud desktop management module sends a hibernation request to the target cloud desktop, the cloud desktop agent module in the target cloud desktop detects the configuration items of the target cloud desktop.
[0148] Next, an introduction is made to the target configuration item of the target cloud desktop detected by the cloud desktop agent module based on the preset configuration items.
[0149] First, an introduction is made to the preset manner of the configuration items.
[0150] In the embodiments of the present application, the configuration items can be pre-set by the administrator of the cloud desktop platform. Or the configuration items can be set by the cloud desktop management module. Or, the configuration items can be obtained by the cloud desktop system according to the historical hibernation data of the cloud desktop.
[0151] Among them, the historical hibernation data includes the historical hibernation speed, the historical hibernation result, and the settings of the cloud desktop during each hibernation. The hibernation result includes successful hibernation and failed hibernation. For example, the cloud desktop analyzes the historical hibernation speed, the historical hibernation result, and the settings of the cloud desktop during each hibernation to obtain the setting items that affect the hibernation speed of the cloud desktop and the setting items that affect the hibernation result of the cloud desktop. The setting items that affect the hibernation speed of the cloud desktop and the setting items that affect the hibernation result of the cloud desktop are determined as preset configuration items.
[0152] In a possible implementation manner, the analysis of the historical hibernation speed, the historical hibernation result, and the settings of the cloud desktop during each hibernation can be performed according to an analysis model. Among them, the analysis module can be an analysis model based on a neural network.
[0153] In a possible implementation manner, the hibernation reason of the cloud desktop can be determined according to the settings of the cloud desktop when the hibernation result is a failed hibernation. The setting items that affect the hibernation result of the cloud desktop are determined based on the hibernation reason of the cloud desktop.
[0154] Then, the setting items indicated by the configuration items are introduced.
[0155] In the first possible implementation manner, the configuration item includes a hibernation function parameter. The hibernation function parameter is used to instruct the cloud desktop proxy module to detect whether the hibernation function of the cloud desktop is enabled.
[0156] The cloud desktop proxy module detects whether the hibernation function of the target cloud desktop is enabled. When the hibernation function of the target cloud desktop is enabled, it is determined that the hibernation function detection is passed, and step S240 is executed. When the hibernation function of the target cloud desktop is not enabled, the hibernation function of the target cloud desktop is started, and it is determined that the hibernation function detection is passed. In this way, by ensuring that the hibernation function of the target cloud desktop is enabled, the hibernation failure caused by the non - enabled hibernation function is avoided. The hibernation reliability of the cloud desktop is improved. And when the hibernation function of the target cloud desktop is not enabled, by automatically enabling the hibernation function, the increase in the hibernation operation duration caused by the user manually enabling the hibernation function is avoided, and the hibernation speed is increased.
[0157] In an example, the cloud desktop proxy module can detect whether the hibernation function of the target cloud desktop is enabled according to the memory operation data of the target cloud desktop. For example, the desktop processes running on the target cloud desktop are determined according to the memory operation data of the target cloud desktop. When there is a desktop process in the desktop processes running on the target cloud desktop that matches the enabled hibernation function, it is determined that the hibernation function of the target cloud desktop is enabled. When there is no desktop process in the desktop processes running on the target cloud desktop that matches the enabled hibernation function, it is determined that the hibernation function of the target cloud desktop is not enabled.
[0158] In another example, the cloud desktop agent module can detect whether the hibernation function of the target cloud desktop is enabled according to the log data of the target cloud desktop. For example, when there is a record of enabling the hibernation function in the log data of the target cloud desktop and there is no record of disabling the hibernation function, or there is a record of disabling the hibernation function and the hibernation function disabling time is earlier than the hibernation function enabling time, it is determined that the target cloud desktop enables the hibernation function. When there is no record of enabling the hibernation function in the log data of the target cloud desktop, or there is a record of disabling the hibernation function and the hibernation function disabling time is later than the hibernation function enabling time, it is determined that the target cloud desktop does not enable the hibernation function.
[0159] In the second possible implementation, the configuration item includes storage resource parameters. Among them, the storage resource parameters are used to indicate detecting the remaining storage resources of the cloud desktop. Among them, the remaining storage resources can be the size of the remaining disk space of the instance running the target cloud desktop. Or, the remaining storage resources can be the size of the remaining storage space of the cloud storage node of the target cloud desktop.
[0160] In the embodiment of the present application, the cloud desktop agent module obtains the storage requirements of the target cloud desktop. When the remaining storage resources meet the storage requirements of the target cloud desktop, it is determined that the storage resource detection passes. When the remaining storage resources do not meet the storage requirements of the target cloud desktop, a prompt message is sent to the cloud desktop management module or the client corresponding to the target cloud desktop. The prompt message is used to instruct the cloud desktop management module or the client corresponding to the target cloud desktop to close the desktop process of the target cloud desktop. The above process is repeatedly executed until the remaining storage resources meet the storage requirements of the target cloud desktop, and it is determined that the storage resource detection passes. In this way, through the storage resource detection, it is ensured that the cloud desktop hibernation is executed when the remaining storage resources meet the storage requirements of the target cloud desktop. It avoids the failure of cloud desktop hibernation or the loss of in-memory running data caused by insufficient storage resources, thereby improving the reliability of cloud desktop hibernation.
[0161] Among them, the storage requirements of the target cloud desktop are used to indicate the storage requirements of the in-memory running data of the target cloud desktop.
[0162] For example, the storage requirements of the target cloud desktop can include the data volume of the in-memory running data of the target cloud desktop. The cloud desktop agent module compares the data volume of the in-memory running data of the target cloud desktop with the remaining storage resources. When the size of the remaining storage resources is greater than the data volume of the in-memory running data of the target cloud desktop, it is determined that the remaining storage resources meet the storage requirements of the target cloud desktop. When the size of the remaining storage resources is less than or equal to the data volume of the in-memory running data of the target cloud desktop, it is determined that the remaining storage resources do not meet the storage requirements of the target cloud desktop.
[0163] Among them, closing the desktop process of the target cloud desktop may be closing at least one desktop process in the target cloud desktop. In the embodiment of the present application, after receiving the prompt information, the cloud desktop management module sends a process closing request to the client corresponding to the target cloud desktop. The client corresponding to the target cloud desktop receives the process closing request and displays the running desktop processes. The client determines the desktop processes to be closed in response to the process selection operation input by the user based on the running desktop processes. The client sends the desktop processes to be closed to the target cloud desktop. The target cloud desktop stops running the desktop processes to be closed.
[0164] In the embodiment of the present application, the client corresponding to the target cloud desktop receives the prompt information and displays the prompt information, so that the user can close at least one desktop process based on the displayed prompt information.
[0165] In the third possible implementation manner, the configuration item may include network resource parameters. Among them, the network resource parameters are used to set the network to be closed.
[0166] For example, the cloud desktop proxy module detects whether the network used by the cloud desktop is closed. When the network used by the cloud desktop is closed, it is determined that the network resource detection passes. When the network used by the cloud desktop is open, the network used by the target cloud desktop is closed, and it is determined that the network resource detection passes. In this way, it is ensured that the networks to be closed in the target cloud desktop are all in a closed state, thereby avoiding the failure of cloud hibernation caused by network enablement, and further improving the reliability of cloud desktop hibernation.
[0167] In the embodiment of the present application, in step S230, when at least one of the hibernation function detection, storage resource detection, and network resource detection of the target cloud desktop passes, it is determined that the configuration item detection of the target cloud desktop passes.
[0168] It should be noted that the above three possible implementation manners of the configuration item detection are only for illustrative purposes and do not constitute a limitation on the cloud desktop hibernation method provided by the embodiment of the present application. In actual applications, the cloud desktop proxy module detects the configuration items of the target cloud desktop based on any combination of the above three possible implementation manners.
[0169] As Figure 6 shown, Figure 6 is a schematic diagram of the detection process of the configuration items of the target cloud desktop provided by the embodiment of the present application. The shown detection process of the configuration items of the target cloud desktop includes steps S61 to S67:
[0170] Step S61, the cloud desktop proxy module detects whether the hibernation function of the target cloud desktop is enabled.
[0171] Step S62, in the case that the target cloud desktop enables the hibernation function, obtain the storage requirements of the target cloud desktop.
[0172] Step S63, when the hibernation function of the target cloud desktop is not enabled, start the hibernation function of the target cloud desktop and obtain the storage requirement of the target cloud desktop.
[0173] Step S64, when the remaining storage resources do not meet the storage requirement of the target cloud desktop, send a prompt message to the cloud desktop management module or the client corresponding to the target cloud desktop until the remaining storage resources meet the storage requirement of the target cloud desktop, and then detect whether the network setting item of the cloud desktop is closed.
[0174] Step S65, when the remaining storage resources meet the storage requirement of the target cloud desktop, detect whether the network used by the cloud desktop is closed.
[0175] Step S66, when the network used by the cloud desktop is closed, determine that the configuration item detection passes.
[0176] Step S67, when the network used by the cloud desktop is open, close the network used by the cloud desktop and determine that the configuration item detection passes.
[0177] Based on Figure 6 the provided example, by detecting the hibernation function start, storage resources, and network resources, the configuration items of the target cloud desktop are detected from multiple aspects to ensure the reliability of cloud desktop hibernation.
[0178] When the configuration item detection of the target cloud desktop passes, the cloud desktop proxy module performs the hibernation operation for the target cloud desktop. The target cloud desktop stops running, and the cloud desktop proxy module in the target cloud desktop stops running.
[0179] In the embodiments of the present application, to further improve the reliability of cloud desktop hibernation and at the same time improve the hibernation speed, the hibernation operation duration and hibernation result of the target cloud desktop are recorded when hibernating the target cloud desktop. After the cloud desktop proxy module of the target cloud desktop restarts, the cloud desktop proxy module updates the configuration items of the target cloud desktop according to the recorded hibernation operation duration and hibernation result of the target cloud desktop. In this way, the adaptation degree between the configuration items and the corresponding cloud desktop is ensured, thereby improving the matching degree between the hibernation logic of the cloud desktop and the hibernation logic executed by the cloud desktop proxy module, and further improving the reliability of cloud desktop hibernation.
[0180] Among them, the configuration item of the target cloud desktop to be updated can be to replace the configuration item in the cloud desktop proxy module with a new configuration item. Or, the configuration item of the target cloud desktop to be updated can also be to add the configuration items in the new configuration item that are inconsistent with the configuration items in the cloud desktop proxy module to the configuration items in the cloud desktop proxy module. Or, the configuration item of the target cloud desktop to be updated can also be to determine the differential configuration item where the setting item indicated in the new configuration item is different from the setting item indicated in the configuration item in the cloud desktop proxy module, and replace the configuration item in the cloud desktop proxy module that matches the differential configuration item. Among them, the configuration item that matches the differential configuration item can be the configuration item in the cloud desktop proxy module with the highest similarity to the setting item indicated by the differential configuration item.
[0181] In the first possible implementation, the cloud desktop proxy module compares the sleep operation duration with the sleep operation duration threshold. When the sleep operation duration is greater than the sleep operation duration threshold, based on the memory operation data of the target cloud desktop, obtain the settings that affect the sleep operation duration of the target running desktop. Determine the settings that affect the sleep operation duration of the target running desktop as the new configuration item. Update the configuration item in the cloud desktop proxy module based on the new configuration item.
[0182] Among them, the sleep operation duration threshold can be pre-set.
[0183] In one example, the memory operation data of the target cloud desktop can be analyzed according to the above-mentioned configuration item setting method to obtain the settings that affect the sleep operation duration of the target running desktop.
[0184] In one example, when the sleep operation duration is less than or equal to the sleep operation duration threshold, no configuration item update is performed.
[0185] In the second possible implementation, when the sleep result is a sleep failure, the cloud desktop proxy module, based on the memory operation data of the target cloud desktop, obtains the settings that affect the sleep result of the target running desktop. Determine the settings that affect the sleep result of the target running desktop as the new configuration item. Update the configuration item in the cloud desktop proxy module based on the new configuration item.
[0186] In one example, when the sleep result is a sleep success, no configuration item update is performed. Or, when the sleep result is a sleep success, compare the sleep operation duration with the sleep operation duration threshold.
[0187] In the third possible implementation, when the hibernation result is successful, the cloud desktop proxy module compares the hibernation operation duration with the hibernation operation duration threshold. When the hibernation operation duration is greater than the hibernation operation duration threshold, based on the memory operation data of the target cloud desktop, a setting affecting the hibernation operation duration of the target running desktop is obtained. When the hibernation result is a failure, based on the memory operation data of the target cloud desktop, a setting affecting the hibernation result of the target running desktop is obtained. According to the setting affecting the hibernation operation duration of the target running desktop, or the setting affecting the hibernation result of the target running desktop, a new configuration item is obtained. The configuration item in the cloud desktop proxy module is updated based on the new configuration item.
[0188] In the fourth possible implementation, the cloud desktop proxy module statistically records the hibernation operation durations and hibernation results of multiple cloud desktop hibernations. Based on the hibernation operation durations and hibernation results of multiple cloud desktop hibernations, the configuration item of the target cloud desktop is updated. In this way, through the hibernation operation durations and hibernation results of multiple cloud desktop hibernations, the stability of the configuration item is improved, and frequent updates of the configuration item are avoided, which may affect the stability of the hibernation operation duration and hibernation result of the cloud desktop. Thereby, the reliability of the cloud desktop hibernation is ensured.
[0189] For example, the cloud desktop proxy module statistically records the number of times the hibernation operation duration is greater than the hibernation operation duration threshold and the number of times the hibernation result is a hibernation failure among the hibernation operation durations of multiple cloud desktop hibernations. When the number of times the hibernation operation duration is greater than the hibernation operation duration threshold is greater than or equal to the number threshold, based on the memory operation data of the target cloud desktop, a setting affecting the hibernation operation duration of the target running desktop is obtained. When the number of times the hibernation result is a hibernation failure is greater than or equal to the number threshold, based on the memory operation data of the target cloud desktop, a setting affecting the hibernation result of the target running desktop is obtained. According to the setting affecting the hibernation operation duration of the target running desktop, or the setting affecting the hibernation result of the target running desktop, a new configuration item is obtained. The configuration item in the cloud desktop proxy module is updated based on the new configuration item.
[0190] Among them, when the number of times the hibernation operation duration is greater than the hibernation operation duration threshold is less than the number threshold and the number of times the hibernation result is a hibernation failure is less than the number threshold, no configuration item update is performed.
[0191] Among them, the number threshold can be preset.
[0192] The above mainly describes the solution provided by the embodiments of the present application from the hibernation logic of the cloud desktop. After the cloud desktop hibernates, the wake-up of the cloud desktop is also involved. To better implement the cloud desktop hibernation method provided by the embodiments of the present application, the embodiments of the present application also provide a cloud desktop wake-up method. As Figure 7 shown, Figure 7It is a schematic diagram of the wake-up process of the cloud desktop provided by an embodiment of the present application. The wake-up process of the cloud desktop shown includes steps S250 to S270:
[0193] Step S250, when at least one client meets the wake-up condition, the cloud desktop management module triggers a wake-up operation on the target cloud desktop corresponding to the client.
[0194] Among them, the wake-up condition is used to indicate the rule for waking up the cloud desktop.
[0195] In a possible implementation manner, the wake-up condition can indicate active wake-up.
[0196] In the first example, the administrator of the cloud desktop management module inputs a wake-up trigger operation by clicking the cloud desktop wake-up control. The cloud desktop management module generates a wake-up instruction in response to the wake-up trigger operation and triggers a wake-up operation on the target cloud desktop corresponding to the client.
[0197] For example, when the cloud desktop management module monitors multiple clients, the cloud desktop management module selects at least one client in response to the client selection operation input by the administrator. The cloud desktop management module generates a wake-up instruction for at least one client in response to the wake-up trigger operation triggered by the cloud desktop wake-up control.
[0198] For another example, when the cloud desktop management module monitors one client, or the cloud desktop management module is deployed on the client, the cloud desktop management module generates a wake-up instruction in response to the wake-up trigger operation triggered by the cloud desktop wake-up control.
[0199] In a second possible implementation manner, the wake-up condition can indicate automatic wake-up.
[0200] In the first example, the wake-up condition can include a wake-up trigger time. When the cloud desktop management module monitors that the current time of the client corresponding to the dormant cloud desktop meets the wake-up trigger time, it generates a wake-up instruction for the client corresponding to the dormant cloud desktop and triggers a wake-up operation on the target cloud desktop corresponding to the client.
[0201] In the second example, the wake-up condition can include a dormant duration threshold. After the target cloud desktop goes dormant, the cloud desktop management module starts timing. When the dormant duration of the target cloud desktop is greater than or equal to the dormant duration threshold, the cloud desktop management module generates a wake-up instruction for the client corresponding to the target cloud desktop and triggers a wake-up operation on the target cloud desktop corresponding to the client.
[0202] In the third example, the wake-up condition may include a login request. After the target cloud desktop goes into hibernation, the client corresponding to the target cloud desktop may send a login request to the cloud desktop platform. When the cloud desktop management module detects that the client corresponding to the target cloud desktop sends a login request to the cloud desktop platform, it generates a wake-up instruction for the client corresponding to the target cloud desktop. The login request is used to instruct the cloud desktop platform to log in to the cloud desktop of the client and trigger a wake-up operation for the target cloud desktop corresponding to the client.
[0203] In the embodiment of the present application, after generating the wake-up instruction, the cloud desktop management platform may send the wake-up instruction to the cloud platform management component of the cloud desktop platform. The cloud platform management component receives the wake-up instruction, starts the instance, and triggers the wake-up operation of the target cloud desktop corresponding to the client.
[0204] Step S260, the cloud desktop proxy module responds to the wake-up operation of the target cloud desktop.
[0205] In the embodiment of the present application, the cloud desktop system starts and runs the instance of the target cloud desktop corresponding to the client, starts the cloud desktop proxy module, and calls the cloud desktop proxy module to respond to the wake-up operation. It obtains the memory operation data from the cloud storage node or disk corresponding to the target cloud desktop. The cloud desktop proxy module restores the memory state of the instance of the target cloud desktop according to the memory operation data to complete the wake-up of the target cloud desktop. When notifying the wake-up of the target cloud desktop, the cloud desktop proxy module executes step S270 to connect the target cloud desktop to the client corresponding to the target cloud desktop.
[0206] Among them, restoring the memory state in the instance of the target cloud desktop before hibernation, that is, restoring the process data of the target cloud desktop and the process data of the application programs running on the target cloud desktop, may include the processes corresponding to the basic functions in the target cloud desktop, and / or the processes corresponding to the plugin services, etc. For example, some services built into the target cloud desktop, such as cloud assistants, antivirus software, weather plugins, etc., or some application programs opened by the end user in the target cloud desktop, such as the word being used, the web page being browsed, the software being opened, etc.
[0207] Step S270, the cloud desktop proxy module performs an initialization operation for the target cloud desktop and connects the target cloud desktop to the client corresponding to the target cloud desktop.
[0208] In the first possible implementation manner, the initialization operation includes clock repair. That is, modifying the display time of the target cloud desktop.
[0209] The cloud desktop proxy module obtains the world time and updates the display time of the target cloud desktop according to the world time.
[0210] In the first example, when the target cloud desktop goes into hibernation for a short period of time, the internal clock of the instance running the target cloud desktop is still running. Therefore, when the hibernation duration of the target cloud desktop does not meet the duration threshold, the cloud desktop agent module obtains the world time from the internal clock of the instance running the target cloud desktop.
[0211] In the second example, when the target cloud desktop goes into hibernation for a long period of time, the internal clock of the instance running the target cloud desktop stops running. Therefore, when the hibernation duration of the target cloud desktop meets the duration threshold, the cloud desktop agent module requests time information from the cloud desktop platform and receives the world time returned by the cloud desktop platform.
[0212] Among them, the hibernation duration of the target cloud desktop can be compared with the duration threshold. When the hibernation duration of the target cloud desktop is greater than the duration threshold, it is determined that the hibernation duration of the target cloud desktop meets the duration threshold. When the hibernation duration of the target cloud desktop is less than or equal to the duration threshold, it is determined that the hibernation duration of the target cloud desktop does not meet the duration threshold. Among them, the duration threshold can be preset.
[0213] In the second possible implementation, the initialization operation includes clock repair and cloud desktop connection.
[0214] The cloud desktop agent module obtains the world time and updates the display time of the target cloud desktop according to the world time. The target cloud desktop sends the data of the target cloud desktop to the client of the target cloud desktop and connects to the client corresponding to the target cloud desktop. In the embodiment of the present application, after the target cloud desktop is awakened, it directly sends the data of the target cloud desktop to the client. There is no need to send a heartbeat message to the client corresponding to the target cloud desktop. After receiving the heartbeat returned by the client corresponding to the target cloud desktop, it connects to the client corresponding to the target cloud desktop. In this way, the connection speed between the cloud desktop and the client is improved.
[0215] Based on Figure 7 the provided embodiments, after the cloud desktop agent module responds to the wake-up operation of the target cloud desktop, it performs the initialization operation for the target cloud desktop, and the target cloud desktop connects to the client corresponding to the target cloud desktop, realizing the fast connection between the cloud desktop and the corresponding client. The wake-up speed of the cloud desktop is improved.
[0216] The above mainly introduces the technical solutions provided by the embodiments of the present application from the perspective of the interaction between the cloud desktop agent module, the cloud desktop management module, and the client. To better illustrate the cloud desktop hibernation method provided by the embodiments of the present application, the embodiments of the present application take the client as a computer terminal as an example to provide the interaction interface embodiments among the cloud desktop management module, the client, and the cloud desktop agent module.
[0217] In a possible implementation, the cloud desktop management module is deployed in a computing device different from the client. The administrator actively triggers the cloud desktop to go into hibernation through the hibernation trigger control provided by the management interface of the cloud desktop management module.
[0218] As Figure 8 shown, Figure 8 is a schematic diagram of the management interface of the cloud desktop management module provided by an embodiment of the present application. Figure 8 In figure (a) therein is the management interface of the cloud desktop management module, and a "hibernate" control and a "wake up" control are displayed on the interface. The administrator clicks the "hibernate" control, and the hibernation management interface shown in figure (b) as Figure 8 therein is displayed. The identities of multiple clients monitored by the cloud desktop management module and the selection controls for each client are displayed in the hibernation management interface. As Figure 8 shown in figure (c) therein, the administrator clicks the selection controls for client 1, client 2, client 3, and client 4, selects client 1, client 2, client 3, and client 4, and clicks the "hibernate confirmation" control in the hibernation management interface. Hibernation instructions for client 1, client 2, client 3, and client 4 are generated respectively. The cloud desktop management module sends hibernation requests to the target cloud desktops corresponding to client 1, client 2, client 3, and client 4 respectively.
[0219] In a possible implementation, when the cloud desktop proxy module in the target cloud desktop performs the hibernation operation, the target cloud desktop sends the data of the first hibernation interface to the client corresponding to the target cloud desktop. The client receives the data of the first hibernation interface and displays that the target cloud desktop is in the hibernation process based on the data of the first hibernation interface. As Figure 9 shown in figure (a) therein, a prompt message of "hibernation in progress" is displayed in the interface of the client. After the cloud desktop proxy module performs the hibernation operation on the target cloud desktop, it sends the data of the second hibernation interface to the client corresponding to the target cloud desktop. The client receives the data of the second hibernation interface and displays that the target cloud desktop is in the hibernated state based on the data of the second hibernation interface. As Figure 9 shown in figure (b) therein, a prompt message of "hibernated" is displayed in the interface of the client.
[0220] In a possible implementation, after the target cloud desktop goes into hibernation, a "login" control is further provided in the interface of the client, as Figure 10 shown in figure (a) therein. The user clicks the "login" control, and the client corresponding to the target cloud desktop sends a login request to the cloud desktop platform. The cloud desktop management module triggers a wake-up operation for the target cloud desktop. The cloud desktop proxy module in the target cloud desktop performs the above steps S260 to S270. The client displays as Figure 10The interface shown in Figure (b) in [it] displays a prompt message of "Waking up process in progress". The target cloud desktop is connected to the client and sends the data of the cloud desktop interface of the target cloud desktop to the client. Based on the data of the cloud desktop interface of the target cloud desktop, the client displays a cloud desktop interface as shown in Figure 10 Figure (c) in [it].
[0221] In a possible implementation manner, after the target cloud desktop goes to sleep, as shown in Figure 11 Figure (a) in [it]. There is a "Wake up" control displayed on the management interface of the cloud desktop management module. The administrator clicks the "Wake up" control, and a wake-up management interface as shown in Figure 11 Figure (b) in [it] is displayed. The identifiers of the clients corresponding to the cloud desktops that have gone to sleep among multiple clients monitored by the cloud desktop management module and the selection controls for each client are displayed on the wake-up management interface. As shown in Figure 11 Figure (c) in [it], the administrator clicks the selection controls of Client 7, Client 8, and Client 10, and clicks the "Wake up confirmation" control on the wake-up management interface. Wake-up instructions for Client 7, Client 8, and Client 10 are generated respectively. The cloud desktop management module triggers a wake-up operation for the target cloud desktops corresponding to Client 7, Client 8, and Client 10 respectively.
[0222] The above mainly introduces the method provided by the embodiments of the present application from the perspective of the interaction between various modules in the cloud desktop system. It can be understood that the cloud desktop system includes the corresponding hardware structures and / or software modules for executing various functions. Those skilled in the art can easily realize that, in combination with the algorithm steps of each example described in the embodiments disclosed in the present application, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in the way of hardware or computer software driving hardware depends on the specific application and design constraint conditions of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.
[0223] The embodiments of the present application can group the functional modules of the cloud desktop system according to the above method examples. For example, each functional module can be grouped corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the naming and grouping of the module grouping in the embodiments of the present application are illustrative, only a logical functional grouping, and there can be other grouping methods in actual implementation.
[0224] For example, the cloud desktop system can also be named as a cloud desktop sleep device. As shown in Figure 12 shown, Figure 12It is a schematic structural diagram of a cloud desktop hibernation device. The cloud desktop hibernation device 12 includes a cloud desktop proxy module 122 and a cloud desktop management module 121.
[0225] Among them, the cloud desktop management module 121 is used to generate a hibernation request when it detects that the client meets the hibernation conditions. Among them, the hibernation conditions are used to indicate the rules for triggering cloud desktop hibernation. The hibernation request is used to request to perform a hibernation operation on the target cloud desktop. For example, the cloud desktop management module executes the above Figure 2 step S210 in it.
[0226] The cloud desktop proxy module 122 is used to detect the target configuration items of the target cloud desktop based on the preset configuration items in response to the hibernation request. When the detection passes, a hibernation instruction is sent to the instance running the target cloud desktop. Among them, the hibernation instruction instructs the instance to perform a hibernation operation. The configuration items include parameters that affect cloud desktop hibernation. For example, the cloud desktop proxy module executes the above Figure 2 steps S220 to S240 in it.
[0227] Among them, the cloud desktop proxy module and the cloud desktop management module can be implemented by software or by hardware. Exemplarily, next, taking the cloud desktop management module 121 as an example, the implementation manner of the cloud desktop management module 121 is introduced. Similarly, the cloud desktop proxy module 122 can refer to the implementation manner of the cloud desktop management module 121.
[0228] As an example of a software functional unit, the cloud desktop management module 121 can be code running on a computing instance. Among them, the computing instance can include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above computing instance can be one or more. For example, the cloud desktop management module 121 can include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run this code can be distributed in the same region, or can be distributed in different regions. Further, the multiple hosts / virtual machines / containers used to run this code can be distributed in the same availability zone (AZ), or can be distributed in different AZs. Each AZ includes one data center or multiple geographically close data centers. Among them, generally one region can include multiple AZs.
[0229] Similarly, multiple hosts / virtual machines / containers for running the code can be distributed within the same virtual private cloud (VPC) or across multiple VPCs. Usually, one VPC is set up within one region. For cross-region communication between two VPCs within the same region or between VPCs in different regions, a communication gateway needs to be set up within each VPC, and the interconnection between VPCs is achieved through the communication gateway.
[0230] As an example of a hardware functional unit, the cloud desktop management module 121 may include at least one computing device, such as a server. Alternatively, the cloud desktop management module 121 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). Among them, the above PLD may be implemented by a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0231] The multiple computing devices included in the cloud desktop management module 121 may be distributed in the same region or in different regions. The multiple computing devices included in the communication module 121 may be distributed in the same availability zone (AZ) or in different AZs. Similarly, the multiple computing devices included in the communication module 121 may be distributed within the same VPC or across multiple VPCs. Among them, the multiple computing devices may be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
[0232] It should be noted that in other embodiments, the cloud desktop management module 121 may be used to execute any step in the cloud desktop hibernation method. The cloud desktop agent module 122 may be used to execute any step in the cloud desktop hibernation method. The steps to be implemented by the cloud desktop management module 121 and the cloud desktop agent module 122 can be specified as needed. The cloud desktop hibernation device 12's entire function is achieved by implementing different steps in the cloud desktop hibernation method through the cloud desktop management module 121 and the cloud desktop agent module 122 respectively.
[0233] The embodiment of the present application also provides a computing device 14 for executing the above cloud desktop hibernation method.
[0234] In one example, the computing device 14 may include a cloud desktop hibernation device 12 as shown in Figure 12 Figure 1. The cloud desktop hibernation device 12 includes a cloud desktop management module 121 and a cloud desktop agent module 122.
[0235] In another example, as shown in Figure 13 Figure 2, the computing device 14 includes: a bus 142, a processor 144, a memory 146, and a communication interface 148. The processor 144, the memory 146, and the communication interface 148 communicate with each other through the bus 142. The computing device 14 may be a server or a terminal device. It should be understood that the present application does not limit the number of processors 144 and memories 146 in the computing device 14.
[0236] The bus 142 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For the sake of simplicity, Figure 13 only one line is shown in Figure 2, but it does not mean that there is only one bus or one type of bus. The bus 142 may include a path for transmitting information between various components of the computing device 14 (for example, the memory 146, the processor 144, and the communication interface 148).
[0237] The processor 144 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP), etc.
[0238] In the present application, the processor 144 executes the method shown in Figure 2 Figure 3. For example, when it is detected that the client meets the hibernation condition, a hibernation request is generated. In response to the hibernation request, the target configuration item of the target cloud desktop is detected based on a preset configuration item. When the detection passes, a hibernation instruction is sent to the instance running the target cloud desktop. The instance is instructed to perform a hibernation operation through the hibernation instruction.
[0239] The memory 146 may include volatile memory, such as random access memory (RAM). The processor 144 may also include non-volatile memory, such as read-only memory (ROM), flash memory, a hard disk drive (HDD), or a solid state drive (SSD).
[0240] The executable program code is stored in the memory 146, and the processor 144 executes the executable program code to implement the functions of the aforementioned cloud desktop management module 121 and cloud desktop agent module 122 respectively, thereby implementing the cloud desktop hibernation method. That is to say, the instructions for executing the cloud desktop hibernation method are stored on the memory 146.
[0241] In the embodiment of the present application, the configuration items and hibernation conditions of the target cloud desktop are stored in the memory 146.
[0242] The communication interface 148 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement the communication between the computing device 14 and other devices or communication networks.
[0243] The cloud desktop hibernation method disclosed in the above method embodiment can be applied to or implemented by the processor 144. The processor 144 may be an integrated circuit chip with signal processing capabilities.
[0244] In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in the processor 144 or the instructions in the form of software. The above-mentioned processor 144 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 electron tubes or transistor logic devices, discrete hardware components. It can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as being executed and completed by the hardware decoding processor, or executed and completed by a combination of the hardware and software modules in the decoding processor. The software module can be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. This storage medium is located in the memory 146, and the processor 144 reads the information in the memory 146 and combines its hardware to complete the steps of the above method.
[0245] In a possible implementation manner, the processor 144 can also be used to execute the cloud desktop hibernation method. For the specific implementation, reference can be made to the embodiments provided by the above cloud desktop hibernation method, and the embodiments of the present application will not be elaborated herein.
[0246] In the embodiments of the present application, the chip system can be composed of chips or can also include chips and other discrete devices.
[0247] The embodiments of the present application also provide a computing device cluster 15 for executing the above cloud desktop hibernation method.
[0248] In one example, the computing device cluster 15 may include, as Figure 12 shown, the cloud desktop hibernation device 12. The cloud desktop hibernation device 12 includes a cloud desktop management module 121 and a cloud desktop agent module 122.
[0249] In another example, as Figure 14 shown, the computing device cluster 15 includes at least one computing device 14 as Figure 13 shown. The computing device 14 includes: a bus 142, a processor 144, a memory 146, and a communication interface 148. The processor 144, the memory 146, and the communication interface 148 communicate with each other through the bus 142. The computing device 14 can be a server or a terminal device.
[0250] In a possible implementation, one or more computing devices in a computing device cluster can be connected via a network. The network can be a wide area network, a local area network, or the like. Figure 15 A possible implementation is shown. As Figure 15 shown, two computing devices 14A and 14B are connected via a network. Specifically, they are connected to the network through the communication interfaces in each computing device. In this type of possible implementation, the memory 146 in the computing device 14A stores instructions for executing the functions of the cloud desktop agent module 122. At the same time, the memory 146 in the computing device 14B stores instructions for executing the functions of the cloud desktop management module 121.
[0251] Figure 15 Regarding the connection method between the computing device clusters shown, considering the cloud desktop hibernation method provided in this application, a hibernation request needs to be triggered by the cloud desktop management module 121, and the hibernation operation is executed by the cloud desktop agent module 122. The cloud desktop management module 121 and the cloud desktop agent module 122 can be deployed on different devices. Therefore, it is considered to implement the functions of the cloud desktop agent module 122 by the computing device 14A, and implement the functions of the cloud desktop management module 121 by the computing device 14B.
[0252] It should be understood that Figure 15 the functions of the computing device 14A shown can also be completed by multiple computing devices 14. Similarly, the functions of the computing device 14B can also be completed by multiple computing devices 14.
[0253] An embodiment of this application also provides a computer program product containing instructions. The computer program product can be software or a program product that contains instructions and can run on a computing device or be stored in any available medium. When the computer program product runs on at least one computing device, it causes at least one computing device to execute the above-mentioned cloud desktop hibernation method.
[0254] For example, when the computer program product runs on at least one computing device, it causes at least one computing device to execute Figure 2 the cloud desktop hibernation method shown.
[0255] The embodiments of the present application also provide a computer-readable storage medium. All or part of the processes in the above method embodiments can be completed by a computer program instructing relevant hardware. This program can be stored in the above computer-readable storage medium. When this program is executed, it can include the processes of the above method embodiments. The computer-readable storage medium can be the terminal in any of the foregoing embodiments, such as an internal storage unit including a data transmission end and / or a data reception end, for example, the hard disk or memory of the terminal. The above computer-readable storage medium can also be an external storage device of the above terminal, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the above terminal. Further, the above computer-readable storage medium can also include both the internal storage unit and the external storage device of the above terminal. The above computer-readable storage medium is used to store the above computer program and other programs and data required by the above terminal. The above computer-readable storage medium can also be used to temporarily store the data that has been output or will be output.
[0256] It should be understood that in the technical solution of the present application, the collection, storage, use, processing, transmission, provision, and disclosure of the user's personal information and other processing all comply with relevant laws and regulations and do not violate public order and good customs. For example, in the technical solution of the present application, the processing of the user's personal information is carried out under the authorization of the user. It is hereby explained once and will not be repeated hereinafter.
[0257] It should be noted that the terms "first" and "second" in the description, claims, and drawings of the present application are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally further include steps or units that are not listed, or may optionally further include other steps or units inherent to these processes, methods, products, or devices.
[0258] It should be understood that in this application, "at least one (item)" means one or more, "a plurality" means two or more, "at least two (items)" means two, three or more, and "and / or" is used to describe the association relationship of associated objects, indicating that three relationships can exist. For example, "A and / or B" can mean: only A exists, only B exists, and both A and B exist at the same time. Among them, A and B can be singular or plural. The character " / " generally means that the associated objects before and after are in an "or" relationship. "At least one (item) of the following" or its similar expression refers to any combination of these items, including any combination of single item (item) or plural items (items). For example, at least one (item) of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.
[0259] It should be understood that in the embodiments of this application, "B corresponding to A" means that B is associated with A. For example, B can be determined according to A. It should also be understood that determining B according to A does not mean determining B only according to A, and B can also be determined according to A and / or other information. In addition, the "connection" that appears in the embodiments of this application refers to various connection methods such as direct connection or indirect connection to achieve communication between devices, and this application does not make any limitation on this.
[0260] Unless otherwise specified, the "transmission" (transmit / transmission) that appears in the embodiments of this application refers to two-way transmission, including the actions of sending and / or receiving. Specifically, the "transmission" in the embodiments of this application includes the sending of data, the receiving of data, or the sending and receiving of data. Or rather, the data transmission here includes uplink and / or downlink data transmission. Data can include channels and / or signals. Uplink data transmission is the transmission of uplink channels and / or uplink signals, and downlink data transmission is the transmission of downlink channels and / or downlink signals. The "network" and "system" that appear in the embodiments of this application express the same concept, and an all-optical network is an all-optical system.
[0261] Through the description of the above embodiments, those skilled in the art can clearly understand that for the convenience and conciseness of description, only the grouping of the above function modules is used as an example. In actual applications, the above functions can be allocated to different function modules according to needs, that is, the internal structure of the device is divided into different function modules to complete all or part of the functions described above.
[0262] In several embodiments provided in the present application, it should be understood that the disclosed cloud desktop hibernation device and method can be implemented in other ways. For example, the cloud desktop hibernation device embodiments described above are merely illustrative. For example, the grouping of modules or units is only a logical function grouping. In actual implementation, there may be other grouping methods. For example, multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections between each other can be through some interfaces. The indirect couplings or communication connections of devices or units can be in electrical, mechanical or other forms.
[0263] The units described as separate components may or may not be physically separated. The components displayed as units may be one physical unit or multiple physical units, that is, they can be located in one place, or they can also be distributed to multiple different places. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0264] In addition, in each embodiment of the present application, each functional unit can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
[0265] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiments of the present application, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions for causing a device, such as a single-chip microcomputer, a chip, etc., or a processor to execute all or part of the steps of the methods in the various embodiments of the present application. The aforementioned storage medium includes various media for storing program codes, such as USB flash drives, mobile hard disks, ROM, RAM, magnetic disks or optical discs.
[0266] The above is only the specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed in the present application can easily think of changes or substitutions, which should all be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A cloud desktop hibernation method, characterized in that, The cloud desktop service includes a cloud desktop system and a client. The cloud desktop system includes an instance for running a target cloud desktop. The cloud desktop system includes preset configuration items. The method includes: In response to a hibernation request, the cloud desktop system detects target configuration items of the target cloud desktop based on the preset configuration items. The hibernation request is used to request to perform a hibernation operation on the target cloud desktop. The configuration items include parameters affecting cloud desktop hibernation; When the detection passes, the cloud desktop system sends a hibernation instruction to the instance running the target cloud desktop. The hibernation instruction instructs the instance to perform a hibernation operation.
2. The method according to claim 1, wherein Before the step of responding to the hibernation request, the method further includes: When the cloud desktop system monitors that the client meets the hibernation condition, a hibernation request is generated; the hibernation condition is used to indicate the rule for triggering cloud desktop hibernation.
3. The method according to claim 2, wherein The hibernation condition is used to indicate triggering cloud desktop hibernation based on a hibernation trigger operation; When the cloud desktop system monitors that the client meets the hibernation condition and generates a hibernation request, it includes: The cloud desktop system receives a hibernation trigger operation for the client and generates the hibernation request.
4. The method according to claim 2 or 3, characterized in that, The hibernation condition is used to indicate triggering cloud desktop hibernation based on a hibernation trigger time; When the cloud desktop system monitors that the client meets the hibernation condition and generates a hibernation request, it includes: When the current time of the client meets the hibernation trigger time, the cloud desktop system generates the hibernation request.
5. The method according to any one of claims 2 to 4, characterized in that The hibernation condition is used to indicate triggering cloud desktop hibernation based on the connection status between the client and the target cloud desktop; When the cloud desktop system monitors that the client meets the hibernation condition and generates a hibernation request, it includes: When the cloud desktop system monitors that the connection status between the client and the target cloud desktop is abnormal, the hibernation request is generated.
6. The method according to any one of claims 1 to 5, characterized in that, The configuration items include hibernation function parameters; When the cloud desktop system detects the target configuration items of the target cloud desktop based on the preset configuration items, it includes: The cloud desktop system detects whether the hibernation function of the target cloud desktop is enabled according to the hibernation function parameters; When the hibernation function of the target cloud desktop is enabled, it is determined that the configuration item detection passes; When the hibernation function of the target cloud desktop is disabled, the cloud desktop system starts the hibernation function of the target cloud desktop and determines that the hibernation function detection passes.
7. The method according to any one of claims 1 to 6, characterized in that, The configuration items include storage resource parameters; the storage resource parameters are used to indicate detecting the remaining storage resources of the cloud desktop; When the cloud desktop system detects the target configuration items of the target cloud desktop based on the preset configuration items, it includes: The cloud desktop system obtains the storage requirements of the target cloud desktop; the storage requirements of the target cloud desktop are used to indicate the storage requirements of the memory operation data of the target cloud desktop; When the remaining storage resources do not meet the storage requirements of the target cloud desktop, the cloud desktop system sends a prompt message to the client corresponding to the target cloud desktop; the prompt message is used to instruct the client corresponding to the target cloud desktop to close the desktop process of the target cloud desktop. Repeat the above process until the remaining storage resources meet the storage requirements of the target cloud desktop, and then determine that the storage resource detection passes.
8. The method according to any one of claims 1 to 7, characterized in that, The configuration item includes network resource parameters; the network resource parameters are used to indicate the network to be closed for the target cloud desktop. The cloud desktop system detects the target configuration item of the target cloud desktop based on the preset configuration item, including: The cloud desktop system detects whether the network used by the target cloud desktop is closed according to the network resource parameters. When the network setting item is closed, determine that the configuration item detection passes. When the network setting item is open, close the network used by the target cloud desktop and determine that the network resource detection passes.
9. The method according to any one of claims 1 to 8, characterized in that, After the cloud desktop system sends a sleep instruction to the instance running the target cloud desktop, the method further includes: When the sleep operation duration is less than the sleep operation duration threshold, and / or when the target cloud desktop fails to sleep, obtain new configuration items according to the running data of the target cloud desktop; the new configuration items are used to indicate the parameters affecting the sleep operation duration and / or sleep result of the target running desktop. Update the preset configuration item based on the new configuration item.
10. The method according to any one of claims 1 to 9, characterized in that, After the cloud desktop system sends a sleep instruction to the instance running the target cloud desktop, the method further includes: When it is detected that the client corresponding to the target cloud desktop meets the wake-up condition, the cloud desktop system starts the instance running the target cloud desktop; the wake-up condition is used to indicate the rule for waking up the cloud desktop. The cloud desktop system performs the initialization operation of the target cloud desktop and connects the target cloud desktop to the client corresponding to the target cloud desktop.
11. The method according to claim 10, wherein Performing the initialization operation of the target cloud desktop includes: When the sleep duration of the target cloud desktop meets the duration threshold, the cloud desktop system obtains the world time. The cloud desktop system updates the display time of the target cloud desktop according to the world time, sends the data of the target cloud desktop to the client, and connects to the client corresponding to the target cloud desktop. The data of the target cloud desktop includes the display time.
12. The method according to any one of claims 1 to 11, characterized in that, Before the cloud desktop system sends a sleep instruction to the instance running the target cloud desktop, the method further includes: The cloud desktop system sends the data of the first sleep interface to the client corresponding to the target cloud desktop; the data of the first sleep interface indicates that the target cloud desktop is showing sleep processing. After the cloud desktop system sends a sleep instruction to the instance running the target cloud desktop, the method further includes: The cloud desktop system sends the data of the second sleep interface to the client corresponding to the target cloud desktop; the data of the second sleep interface indicates that the target cloud desktop is showing that it has slept.
13. A cloud desktop hibernation device, characterized in that, The device includes: A cloud desktop proxy module, which is used to detect target configuration items of a target cloud desktop based on preset configuration items in response to a sleep request. When the detection passes, a sleep instruction is sent to an instance running the target cloud desktop; the sleep instruction instructs the instance to perform a sleep operation; the sleep request is used to request to perform a sleep operation on the target cloud desktop, and the configuration items include parameters affecting cloud desktop sleep.
14. The device according to claim 13, characterized in that, The cloud desktop sleep device further includes: A cloud desktop management module, which is used to generate a sleep request when it monitors that the client meets the sleep conditions; the sleep conditions are used to indicate the rules for triggering cloud desktop sleep.
15. The device according to claim 14, characterized in that, The sleep conditions are used to indicate triggering cloud desktop sleep according to a sleep trigger operation. The cloud desktop management module is used to receive the sleep trigger operation for the client and generate the sleep request.
16. The device according to claim 14 or 15, characterized in that, The sleep conditions are used to indicate triggering cloud desktop sleep according to a sleep trigger time; The cloud desktop management module is used to generate the sleep request when the current time of the client meets the sleep trigger time.
17. The device according to any one of claims 14 to 16, characterized in that, The sleep conditions are used to indicate triggering cloud desktop sleep according to the connection status between the client and the target cloud desktop; the cloud desktop management module is further used to generate the sleep request when it monitors that the connection status between the client and the target cloud desktop is abnormal.
18. The device according to any one of claims 13 to 17, characterized in that The configuration items include sleep function parameters; the cloud desktop proxy module is used to detect whether the sleep function of the target cloud desktop is enabled according to the sleep function parameters; when the sleep function of the target cloud desktop is enabled, it is determined that the configuration item detection passes; when the sleep function of the target cloud desktop is disabled, the sleep function of the target cloud desktop is started, and it is determined that the sleep function detection passes.
19. The device according to any one of claims 14 to 18, characterized in that, The configuration items include storage resource parameters; the cloud desktop proxy module is used to obtain the storage requirements of the target cloud desktop; the storage requirements of the target cloud desktop are used to indicate the storage requirements of the memory running data of the target cloud desktop; when the remaining storage resources do not meet the storage requirements of the target cloud desktop, a prompt message is sent to the client corresponding to the target cloud desktop; the prompt message is used to instruct the client corresponding to the target cloud desktop to close the desktop process of the target cloud desktop; the above process is repeated until the remaining storage resources meet the storage requirements of the target cloud desktop, and it is determined that the storage resource detection passes.
20. The device according to any one of claims 14 to 19, characterized in that, The configuration items include network resource parameters; the cloud desktop proxy module is used to detect whether the network used by the target cloud desktop is closed according to the network resource parameters; when the network setting item is closed, it is determined that the configuration item detection passes; when the network setting item is open, the network used by the target cloud desktop is closed, and it is determined that the network resource detection passes.
21. The device according to any one of claims 14 to 20, characterized in that, The cloud desktop proxy module is further used to obtain new configuration items according to the running data of the target cloud desktop when the sleep operation duration is less than the sleep operation duration threshold and / or the target cloud desktop sleep fails; the new configuration items are used to indicate parameters affecting the sleep operation duration and / or sleep result of the target running desktop; Update the preset configuration items based on the new configuration items.
22. The device according to any one of claims 14 to 21, characterized in that, The desktop management module is used to trigger a cloud wake-up operation to the cloud desktop proxy module when it is detected that the client corresponding to the target cloud desktop meets the wake-up condition; the wake-up condition is used to indicate the rule for waking up the cloud desktop. The cloud desktop proxy module is used to, in response to the cloud wake-up operation, start running an instance of the target cloud desktop, execute the initialization operation of the target cloud desktop, and connect the target cloud desktop to the client corresponding to the target cloud desktop.
23. The device according to claim 22, characterized in that, The cloud desktop proxy module is used to, when the sleep duration of the target cloud desktop meets the duration threshold, obtain the world time; update the display time of the target cloud desktop according to the world time, send the data of the target cloud desktop to the client, and connect to the client corresponding to the target cloud desktop, where the data of the target cloud desktop includes the display time.
24. The device according to any one of claims 14 to 23, characterized in that, The cloud desktop proxy module is used to send the data of the first sleep interface to the client corresponding to the target cloud desktop; the data of the first sleep interface indicates that the target cloud desktop is showing that the sleep process is in progress. And it is used to send the data of the second sleep interface to the client corresponding to the target cloud desktop; the data of the second sleep interface indicates that the target cloud desktop is showing that it has been put to sleep.
25. A cluster of computing devices, characterized in that, It includes at least one computing device, and each computing device includes a processor and a memory. The processor of the at least one computing device is used to execute the instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method described in any one of claims 1 to 12.
26. A computer program product comprising instructions, characterized in that, When the instructions are run by the computing device cluster, the computing device cluster executes the method described in any one of claims 1 to 12.
27. A computer-readable storage medium, characterized in that, It includes computer program instructions, and when the computer program instructions are executed by the computing device cluster, the computing device cluster executes the method described in any one of claims 1 to 12.