Cloud desktop sleep method and apparatus, device, and computer-readable storage medium
By deploying the cloud desktop proxy module in the cloud desktop system and detecting configuration items that affect hibernation, the hibernation reliability problem caused by virtual machine management components is solved, and a more reliable and flexible cloud desktop sleep operation is achieved.
Patent Information
- Application Number
- PCT/CN2024/116394
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-22
- Filing Date
- 2024-09-02
- Publication Date
- 2025-07-17
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, set up configuration items that affect hibernation, and check these configuration items to ensure adaptability to the cloud desktop logic, and perform hibernation operations to improve reliability.
By detecting and adapting the configuration items of the cloud desktop proxy module, we ensure the reliability of hibernation operation, avoid hibernation failure caused by logical mismatch of virtual machine management components, and improve the flexibility and speed of hibernation.
Smart Images

Figure CN2024116394_17072025_PF_FP_ABST
Abstract
Description
Cloud desktop hibernation method, device, equipment, and computer-readable storage medium
[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on March 22, 2024, with application number 202410342122.2 and application name “Cloud desktop hibernation method, device, equipment and computer-readable storage medium”, and claims priority to the Chinese patent application filed with the State Intellectual Property Office on January 11, 2024, with application number 202410043985.X and application name “A cloud desktop hibernation method and device”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of cloud computing technology, and more specifically to a cloud desktop hibernation method, apparatus, device, and computer-readable storage medium. Background Art
[0003] Cloud desktops are deployed in the cloud and connected to clients through the network, providing cloud desktop services to clients, helping users reduce hardware costs and improve work efficiency.
[0004] When users use cloud desktop computing resources, if they do not use them for a short period of time, processes within the cloud desktop may run for a long time, affecting the computing performance of the virtual machine running the cloud desktop. Directly shutting down the virtual machine will result in the loss of desktop processes retained by the user within the cloud desktop. Currently, hibernation of the virtual machine through cloud desktop hibernation preserves desktop processes retained by the user within the cloud desktop.
[0005] Currently, cloud desktop hibernation is primarily achieved by hibernating the virtual machine running the cloud desktop through the virtual machine management component. Because the internal execution logic of the virtual machine management component cannot be modified, the reliability of cloud desktop hibernation is low. If the hibernation logic of the virtual machine management component and the cloud desktop dormancy logic do not match, cloud desktop hibernation may fail.
[0006] Summary of the Invention
[0007] Embodiments of the present application provide a cloud desktop hibernation method, apparatus, device, and computer-readable storage medium to improve hibernation reliability.
[0008] In a first aspect, an embodiment of the present application provides a cloud desktop hibernation method. The cloud desktop hibernation method is executed by a cloud desktop system. The cloud desktop service in which the cloud desktop system is located also includes a client. The cloud desktop system includes an instance for running a target cloud desktop, and the cloud desktop system includes preset configuration items. The configuration items include parameters that affect the hibernation of the cloud desktop. The method includes: the cloud desktop system responds to a hibernation request for requesting a hibernation operation on the target cloud desktop, and detects the target configuration items of the target cloud desktop based on the preset configuration items. When the detection passes, the cloud desktop system issues a hibernation instruction to the instance running the target cloud desktop. The hibernation instruction instructs the instance to perform a hibernation operation.
[0009] Compared with the method of realizing cloud desktop hibernation through virtual management components, the embodiment of the present application presets configuration items of parameters that affect cloud desktop hibernation. When the cloud desktop system responds to the hibernation request, it detects the configuration items of the target cloud desktop through the preset configuration items, and executes the hibernation operation for the target cloud desktop when the configuration item detection passes. In this way, by detecting the configuration items that affect the hibernation of the cloud desktop, and executing the hibernation operation when the configuration item detection passes, the hibernation reliability is guaranteed. And through the configuration item detection, the compatibility 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.
[0010] In one possible implementation, the cloud desktop system generates a sleep request when detecting that the client satisfies a sleep condition, wherein the sleep condition indicates a rule for triggering the cloud desktop to sleep.
[0011] In this way, the hibernation request is automatically triggered by the hibernation condition, which improves the flexibility and convenience of cloud desktop hibernation.
[0012] In one possible implementation, the cloud desktop system generates a sleep request when detecting that the client satisfies the sleep condition. The sleep condition is used to indicate that the cloud desktop is triggered to sleep according to the sleep trigger operation. When the cloud desktop system receives the sleep trigger operation for the client, it generates a sleep request.
[0013] Based on this possible implementation, the hibernation trigger operation is actively triggered by the hibernation trigger operation to achieve batch cloud desktop hibernation, which facilitates the unified management of cloud desktops.
[0014] In one possible implementation, the cloud desktop system generates a sleep request when detecting that a client satisfies a sleep condition. Specifically, the sleep condition is used to indicate that the cloud desktop is triggered to sleep according to a sleep trigger time. When the current time of the client satisfies the sleep trigger time, the cloud desktop system generates a sleep request.
[0015] Based on this possible implementation, by setting a hibernation trigger time, when the current time of the client meets the cloud desktop hibernation trigger time, the client will hibernate the corresponding cloud desktop. In this way, by regularly triggering the cloud desktop to hibernate, the startup lag problem caused by long-term cloud desktop operation can be reduced.
[0016] In one possible implementation, the cloud desktop system generates a hibernation request when detecting that a client satisfies a hibernation condition. Specifically, the hibernation condition indicates that the cloud desktop hibernation is triggered based on the connection status between the client and the target cloud desktop. The cloud desktop system generates a hibernation request when detecting that the connection status between the client and the target cloud desktop is abnormal.
[0017] Based on this possible implementation, based on the sleep condition, when the client and the cloud desktop are abnormally connected, the cloud desktop corresponding to the client will be put into sleep mode, reducing the lag problem caused by long-term operation.
[0018] In one possible implementation, the configuration item includes a sleep function parameter. 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 based on the sleep function parameter. If the sleep function of the target cloud desktop is enabled, the configuration item test is determined to have passed. If the sleep function of the target cloud desktop is disabled, the cloud desktop system enables the sleep function of the target cloud desktop and determines that the sleep function test has passed.
[0019] This ensures that the target cloud desktop has hibernation enabled, preventing hibernation failures caused by a disabled hibernation feature. This improves the reliability of the cloud desktop hibernation. Furthermore, if hibernation is disabled on the target cloud desktop, automatically enabling it prevents the user from manually enabling it, which increases the hibernation time and speeds up the hibernation process.
[0020] In one possible implementation, the specific implementation is as follows: the configuration items include storage resource parameters. When the cloud desktop system detects the target configuration items of the target cloud desktop based on the preset configuration items, 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 target cloud desktop's memory running data. 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 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 requirements of the target cloud desktop, and it is determined that the storage resource detection has passed.
[0021] In this way, storage resource detection ensures that the target cloud desktop will be hibernated if the remaining storage resources meet the storage requirements. This prevents cloud desktop hibernation failures or loss of memory data due to insufficient storage resources, thereby improving the reliability of cloud desktop hibernation.
[0022] In one possible implementation, the configuration item includes a network resource parameter. The network resource parameter is used to indicate the network to be shut down 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 shut down based on the network resource parameter. If the network setting item is shut down, the configuration item test is determined to have passed. If the network setting item is turned on, the network used by the target cloud desktop is shut down, and the network resource test is determined to have passed.
[0023] In this way, all networks to be shut down in the target cloud desktop are guaranteed to be in a shut down state, thereby avoiding cloud hibernation failure caused by network activation, and thus improving the reliability of cloud desktop hibernation.
[0024] In one possible implementation, after the cloud desktop system issues a sleep instruction to an instance running a target cloud desktop, if the sleep duration is less than a sleep threshold and / or the target cloud desktop fails to sleep, the cloud desktop system obtains a new configuration item based on the target cloud desktop's operating data. The new configuration item indicates a parameter that affects the sleep duration and / or sleep result of the target running desktop. The cloud desktop system then updates the pre-set configuration item based on the new configuration item.
[0025] Based on this possible implementation, when the target cloud desktop is dormant, the duration of the target cloud desktop's dormancy operation and the result of the dormancy operation are recorded. After the target cloud desktop is restarted, the configuration items of the target cloud desktop are updated based on the recorded duration of the target cloud desktop's dormancy operation and the result of the dormancy operation. This ensures the compatibility between the configuration items and the corresponding cloud desktop, thereby improving the matching degree with the cloud desktop's dormancy logic and further improving the reliability of the cloud desktop's dormancy.
[0026] In one possible implementation, after the cloud desktop system issues a sleep command to the instance running the target cloud desktop, if it detects that the client corresponding to the target cloud desktop meets the wake-up conditions, the cloud desktop system starts the instance running the target cloud desktop. The cloud desktop system performs initialization operations for the target cloud desktop and connects the target cloud desktop to the client corresponding to the target cloud desktop. The wake-up conditions indicate the rules for waking up the cloud desktop.
[0027] Based on this possible implementation, when the client corresponding to the target cloud desktop meets the wake-up conditions, the cloud desktop system performs initialization operations for the target cloud desktop, connects the target cloud desktop to the client corresponding to the target cloud desktop, and realizes a fast connection between the cloud desktop and the corresponding client, thereby improving the wake-up speed of the cloud desktop.
[0028] In one possible implementation, initializing the target cloud desktop involves: when the target cloud desktop's sleep duration meets a threshold, the cloud desktop system obtains the world time. The cloud desktop system updates the target cloud desktop's display time based on the world time, sends the target cloud desktop's data to the client, and connects to the client corresponding to the target cloud desktop. The target cloud desktop's data includes the display time.
[0029] Based on this possible implementation, after the target cloud desktop wakes up, the target cloud desktop's data is directly sent to the client. There's no need to send heartbeat information to the client corresponding to the target cloud desktop. After receiving the heartbeat from the client corresponding to the target cloud desktop, the client is connected to the target cloud desktop. This improves the connection speed between the cloud desktop and the client.
[0030] In one possible implementation, before the cloud desktop system issues a sleep instruction to the instance running the target cloud desktop, the cloud desktop system sends data of a 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 in the sleep process. After the cloud desktop system issues a sleep instruction to the instance running the target cloud desktop, the cloud desktop system sends data of a 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 has been put into sleep.
[0031] Based on this possible implementation, while the target cloud desktop is in hibernation, the client displays a first hibernation interface indicating the target cloud desktop is in hibernation. After the target cloud desktop has gone into hibernation, the client displays a second hibernation interface indicating that the target cloud desktop has gone into hibernation. This intuitively displays the hibernation process of the target cloud desktop to the user, improving interactivity between the cloud desktop and the user.
[0032] In a second aspect, an embodiment of the present application provides a cloud desktop hibernation device. The cloud desktop hibernation device can be a computing device cluster that executes the cloud desktop hibernation method, or a chip or system-on-chip in the computing device cluster. The cloud desktop hibernation device can implement the functional modules of the method in the above-mentioned first aspect or any possible implementation of the first aspect. The cloud desktop hibernation device can implement the functions performed by the computing device in the above-mentioned first aspect or any possible implementation of the first aspect, and the functional modules can be implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-mentioned functions. For example, a cloud desktop agent module and a cloud desktop management module.
[0033] The cloud desktop management module is used to generate a sleep request when it detects that the client meets the sleep condition; the sleep condition is used to indicate the rule for triggering the cloud desktop sleep.
[0034] The cloud desktop agent module is used to respond to a sleep request and detect the target configuration items of the target cloud desktop based on preset configuration items. When the detection passes, a sleep instruction is issued 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 the target cloud desktop to perform a sleep operation, and the configuration items include parameters that affect the sleep of the cloud desktop.
[0035] Specifically, the relevant 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 of the first aspect, and will not be described in detail.
[0036] In a third aspect, embodiments of the present application provide a computing device cluster. The computing device cluster includes at least one computing device. Each computing device includes a processor and a memory. The processor of at least one computing device is configured to execute instructions stored in the memory of at least one computing device, causing the computing device cluster to perform the method described in the first aspect or any possible implementation of the first aspect.
[0037] In a fourth aspect, embodiments of the present application provide a computer-readable storage medium that summarizes 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 perform the method of the first aspect or any possible implementation of the first aspect.
[0038] In a fifth aspect, embodiments of the present application provide a computer program product that, when executed by a computing device or a computing device cluster, causes the computing device cluster to execute the method in the first aspect or any possible implementation of the first aspect.
[0039] The technical effects brought about by any implementation method from the second aspect to the fifth aspect can be referred to the technical effects brought about from the first aspect to the first aspect or different implementation methods, and will not be repeated here.
[0040] Based on the implementation methods provided in the above aspects, this application can be further combined to provide more implementation methods. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] FIG1 is a schematic diagram of the system architecture of a cloud desktop hibernation method provided in an embodiment of the present application;
[0042] FIG2 is a flow chart of a cloud desktop hibernation method provided in an embodiment of the present application;
[0043] FIG3 is a schematic diagram of a process for timing-triggered cloud desktop hibernation according to an embodiment of the present application;
[0044] FIG4 is a schematic diagram of a process for actively triggering cloud desktop hibernation according to an embodiment of the present application;
[0045] FIG5 is a schematic diagram of a process of triggering cloud desktop hibernation according to an embodiment of the present application;
[0046] FIG6 is a schematic diagram of a detection process for configuration items of a target cloud desktop provided in an embodiment of the present application;
[0047] FIG7 is a flow chart of a cloud desktop wake-up method provided in an embodiment of the present application;
[0048] FIG8 is a schematic diagram of a management interface of a cloud desktop management module provided in an embodiment of the present application;
[0049] FIG9 is a schematic diagram of a sleep display interface of a client provided in an embodiment of the present application;
[0050] FIG10 is a schematic diagram of an interface for a client to actively trigger a cloud desktop wake-up according to an embodiment of the present application;
[0051] FIG11 is a schematic diagram of an interface in which a cloud desktop management module actively triggers cloud desktop wake-up according to an embodiment of the present application;
[0052] FIG12 is a schematic diagram of the structure of a cloud desktop hibernation device provided in an embodiment of the present application;
[0053] FIG13 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0054] FIG14 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;
[0055] FIG15 is a flow chart of a connection method between computing devices in a computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION
[0056] The cloud desktop hibernation method involved in the embodiment of the present application is applied to a cloud desktop or a cloud desktop management module in a cloud desktop system. The cloud desktop system includes a cloud desktop platform and a cloud desktop management module. The cloud desktop platform provides multiple cloud desktops.
[0057] Cloud desktops are a manifestation of cloud computing at the application layer. They are cloud-based desktop services based on cloud computing and virtualization technologies. Interactive operations are achieved by accessing cloud instances through a unique communication protocol. Cloud desktops support the rapid creation, deployment, unified management, and maintenance of computer desktop environments. They surpass traditional computers in convenience, flexibility, security, and high performance, and are widely applicable in a wide range of scenarios, including remote work, software development, design, education and training, secure data storage, and short-term computer use.
[0058] The computing resources of the cloud desktop can be deployed in a data center in the cloud, making it easy to expand computing power on demand. Clients can be deployed on the user side of the cloud desktop. The client connects to the cloud through the public network or a dedicated line. It can be a thin client (Thin Client) or a smart client (Smart Client) presentation. For example, through a thin client, you can connect to the network to log in to the cloud desktop, transmit the mouse, keyboard and other inputs to the server for processing, and the server will then send the processing results back to the corresponding display of the thin client for display; or through a soft terminal, you can install an application on a smart device such as a mobile phone or tablet computer, and use the application to connect to the network to log in to the cloud desktop; or through an external terminal, you can log in to the cloud desktop by accessing the cloud desktop's website. After logging in to the client account, the user can call the various functions of the cloud desktop by accessing the various entrances provided by the client. Using a cloud desktop can achieve the same experience as using a computer, and is the latest solution for mobile office.
[0059] Currently, the usage fee of cloud desktops is charged based on the computing resources actually used by the user. This billing method does not require users to purchase the computing resources of the cloud desktop in advance. Instead, the computing resources used by the user are calculated based on the time the user turns on and off the cloud desktop. 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 that the computing resources used by the user during this period will not be charged. However, this method will cause a lot of inconvenience to the user when the user does not use the cloud desktop for a short period of time, such as attending a meeting in the middle of the office. For example, the desktop process retained by the user in the cloud desktop will be lost due to shutdown, which increases the time cost of using the cloud desktop and thus affects the user's experience of using the cloud desktop.
[0060] Based on this, related technologies utilize a cloud desktop hibernation method to hibernate virtual machines, releasing computing resources while retaining desktop processes reserved by users within the cloud desktop. As described in the background, cloud desktop hibernation methods in related technologies primarily rely on the cloud virtual machine management component. The internal execution logic of the virtual machine management component cannot be modified. Upon receiving a hibernation request, the virtual machine management component collects the memory data currently running within the cloud desktop to be hibernated. This data is then stored in a cloud storage node, and the cloud desktop to be hibernated is stopped after successful storage. Therefore, when the virtual machine management component performs a hibernation operation, it directly collects and saves the cloud desktop's memory data and stops the cloud desktop after saving. When a cloud desktop is hibernated, settings within the cloud desktop can directly or indirectly affect the hibernation result, such as the storage space of the cloud storage node or whether the hibernation function is enabled, potentially causing the cloud desktop to fail to hibernate. However, cloud desktop hibernation methods based on the virtual machine management component do not involve setting check. A mismatch between the execution logic of the virtual machine management component and the hibernation logic of the cloud desktop can cause the cloud desktop to fail to hibernate. This makes the hibernation reliability of cloud desktops based on the cloud desktop hibernation mode of the virtual machine management component low.
[0061] Based on this, in order 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 realizing cloud desktop hibernation through a virtual management component, this method deploys a cloud desktop agent module in the cloud desktop, and the cloud desktop agent module is provided with configuration items for indicating setting items that affect the hibernation of the cloud desktop. When the cloud desktop receives a hibernation request sent by the cloud desktop management module, the configuration items of the target cloud desktop are detected by the cloud desktop agent module, and when the configuration item detection passes, the hibernation operation is performed on the target cloud desktop. In this way, the setting items that affect the hibernation of the cloud desktop are detected, and when the configuration item detection passes, the hibernation operation is performed to ensure the hibernation reliability. And through the configuration item detection, the compatibility 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.
[0062] As shown in FIG1 , FIG1 is a schematic diagram of the system architecture of the cloud desktop hibernation method provided in 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.
[0063] As shown in FIG1 , the cloud desktop system 10 includes a cloud desktop platform 102 and a cloud desktop management module 101 .
[0064] 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 cloud desktop allocation, instance creation, and instance management.
[0065] Among them, instance 1021 can refer to a virtual machine, container, bare metal server, physical server, etc. that includes computing components such as CPU, memory, operating system, network, disk, etc.
[0066] Client 20 requests cloud desktop services from cloud desktop platform 102. Cloud platform management component 1022 assigns a cloud desktop to client 20. The cloud desktop provides cloud desktop services to client 20 and sends cloud desktop interface data to client 20. Client 20 receives the cloud desktop interface data and displays the cloud desktop based on the cloud desktop interface data.
[0067] The client 20 may be an application, such as a cloud computing application. Alternatively, the client 20 may be a web client. The client 20 runs on a terminal device, which includes but is not limited to a mobile phone, tablet computer, personal computer, or laptop computer.
[0068] The cloud desktop management module 101 is configured to monitor the client 20 corresponding to at least one cloud desktop. When at least one client 20 corresponding to the cloud desktop meets a sleep condition, the module sends a sleep request to the cloud desktop. The cloud desktop then performs the sleep operation. Furthermore, when at least one client 20 corresponding to the cloud desktop meets a wake-up condition, the module activates the instance 1021 via the cloud platform management component 1022, waking up the cloud desktop.
[0069] In one possible implementation, an application programming interface is provided 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.
[0070] In one possible implementation, a cloud desktop management module 101 is provided in the client 20 corresponding to each cloud desktop, and each cloud desktop management module 101 monitors the client 20 corresponding to the cloud desktop. For example, when each cloud desktop management module 101 detects that the client 20 thereof meets the sleep condition, it sends a sleep request to the cloud desktop corresponding to the client 20, and the cloud desktop executes the sleep operation.
[0071] In another possible implementation, the cloud desktop management module 101 can 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 conditions, sleep requests are sent to the multiple cloud desktops, and the multiple cloud desktops perform sleep operations.
[0072] In an embodiment of the present application, the cloud desktop receives a sleep request, executes the cloud desktop sleep method provided in the embodiment of the present application, sleeps the cloud desktop, and wakes up the cloud desktop in response to a wake-up operation.
[0073] In one possible implementation, a cloud desktop agent module is deployed in the cloud desktop, and the cloud desktop agent module performs a hibernation operation. For example, when the cloud desktop receives a hibernation request sent by the cloud desktop management module 101, the cloud desktop agent module in the cloud desktop executes the cloud desktop hibernation method provided in an embodiment of the present application to hibernate the cloud desktop. For example, in response to a wake-up operation, the cloud desktop agent module wakes up the cloud desktop to connect the cloud desktop to the client 20 corresponding to the cloud desktop.
[0074] In one example, the cloud desktop management module 101 sends a sleep request to the cloud desktop agent module through an application programming interface.
[0075] In one example, cloud desktop management module 101 sends a wakeup request to cloud platform management component 1022 via an application programming interface. Cloud platform management component 1022 receives the wakeup request and starts running instance 1021 of the cloud desktop, triggering the wakeup operation for the cloud desktop. In response to the wakeup operation, the cloud desktop agent module in the cloud desktop wakes up the cloud desktop, establishing a connection between the cloud desktop and the corresponding client.
[0076] Hibernation can involve the cloud desktop agent module collecting memory operation data currently running in the cloud desktop to be hibernated and storing the collected memory operation data in a cloud storage node. After successful storage, the cloud desktop to be hibernated is stopped. The memory operation data and memory status data are used to indicate the desktop processes currently running on the cloud desktop. The cloud storage node is used to store the cloud desktop's operation data. For example, the cloud storage node can be the disk of the instance 1021 running the cloud desktop. For another example, the cloud storage node can be a database provided by the cloud platform.
[0077] The awakening process involves the cloud desktop agent module searching for the memory running data corresponding to the cloud desktop to be awakened and, based on the memory running data, controlling the awakened cloud desktop to be awakened to return to its pre-hibernation state. This process restores the dormant cloud desktop from its dormant state to its running state. Upon successful awakening, any desktop processes running in the cloud desktop before hibernation remain running.
[0078] It should be noted that Figure 1 is merely an illustrative figure and does not limit the cloud desktop hibernation method provided in the embodiments of this application. The naming and grouping of the cloud system, cloud desktop system, cloud desktop management module, and cloud desktop agent module in Figure 1 are schematic and represent only a logical functional grouping. Other grouping methods may be used in actual implementation.
[0079] The following describes the cloud desktop hibernation method provided by the embodiment of the present application based on the system architecture provided in Figure 1. The cloud desktop hibernation method can be executed by the cloud desktop system in Figure 1 or by a computing device with data processing capabilities.
[0080] Taking the cloud desktop dormancy method executed by the cloud desktop system as an example, the cloud desktop system includes a cloud desktop management module and a cloud desktop agent module. As shown in Figure 2, Figure 2 is a flow chart of the cloud desktop dormancy method provided by an embodiment of the present application. The cloud desktop dormancy method includes at least steps S210 to S240:
[0081] Step S210: When at least one client meets the sleep condition, the cloud desktop management module sends a sleep request for the target cloud desktop to the cloud desktop agent module.
[0082] The target cloud desktop is used to indicate the cloud desktop to be dormant.
[0083] The sleep request is used to instruct the cloud desktop agent module in the target cloud desktop to sleep the target cloud desktop.
[0084] In the embodiment of the present application, the sleep condition is used to indicate the rule for triggering the cloud desktop to sleep, for example, active triggering of sleep and automatic triggering of sleep.
[0085] Active hibernation can be triggered by a user operation. For example, based on a client user operation trigger, the cloud desktop management module generates a hibernation request when it detects that the client has triggered hibernation. Another example is based on a user operation triggering the cloud desktop management module. In response to the hibernation trigger operation input by the user, the cloud desktop management module sends a hibernation request to the target cloud desktop.
[0086] Automatically triggering hibernation can be to set an automatic hibernation policy. When the cloud desktop management module detects that the client meets the automatic hibernation policy, it sends a hibernation request to the target cloud desktop.
[0087] In a possible implementation, when the cloud desktop management module is disposed on the client, when the cloud desktop management module detects that the client satisfies the sleep condition, the module sends a sleep request to the target cloud desktop corresponding to the client.
[0088] In another possible implementation, when the cloud desktop management module is deployed on a computing device, the cloud desktop management module is connected to multiple clients and sends a sleep request to a target cloud desktop when detecting that at least one client meets a sleep condition.
[0089] In one example, multiple clients may set the same sleep condition. In another example, each client may set a corresponding sleep condition.
[0090] In the case where a corresponding sleep condition is set for each client, when the cloud desktop management module detects that at least one client meets the sleep condition corresponding to the client, it sends a sleep request to the target cloud desktop corresponding to the client.
[0091] 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.
[0092] The sleep trigger instruction is used to indicate the target cloud desktop to be put into sleep mode.
[0093] In a first possible implementation manner, after generating a sleep trigger instruction, the cloud desktop management module sends a sleep request to the cloud desktop agent module in the target cloud desktop through an application program interface.
[0094] For example, the sleep instruction indicates a target cloud desktop that needs to sleep. The cloud desktop management module sends a sleep request to the cloud desktop agent module in the target cloud desktop indicated by the sleep trigger instruction through the application program interface.
[0095] In a second possible implementation manner, after generating a sleep trigger instruction, the cloud desktop management module sends a sleep request to the target cloud desktop through an application programming interface.
[0096] Step S220: The cloud desktop agent module in the target cloud desktop receives the sleep request.
[0097] In a first possible implementation manner, when the target cloud desktop receives a sleep request sent by the cloud desktop management module, the cloud desktop agent module in the target cloud desktop is called to receive and respond to the sleep request.
[0098] In a second possible implementation manner, the cloud desktop agent module receives and responds to the sleep request sent by the cloud desktop management module.
[0099] In step S230 , the cloud desktop agent module detects configuration items of the target cloud desktop.
[0100] In a possible implementation, the cloud desktop agent module is provided with preset configuration items, which are used to indicate parameters that affect the cloud desktop hibernation, such as network setting parameters, hibernation function setting parameters, storage space setting parameters, and the like.
[0101] The network setting parameters are used to indicate the network that needs to be shut down when hibernating the cloud desktop, such as wireless network, wired network, Bluetooth connection, etc.
[0102] The sleep function setting parameter is used to detect whether the sleep function of the cloud desktop is enabled.
[0103] Storage space setting parameters are used to indicate the remaining storage resources of the cloud desktop.
[0104] In an embodiment of the present application, after receiving the sleep request, the cloud desktop sleep module detects the target configuration item of the target cloud desktop based on the preset configuration item. When the configuration item detection passes, the cloud desktop sleep module performs the sleep operation.
[0105] In an embodiment of the present application, when a configuration-related check fails, the cloud desktop sends a check failure notification 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 and displays the check failure notification message, allowing the user corresponding to the cloud desktop management module or the client to modify at least one of the settings and desktop processes of the target cloud desktop through the client. The failure notification message includes the configuration item that failed to be checked.
[0106] In a first possible implementation, after the cloud desktop sends a detection failure prompt message, the cloud desktop agent module polls the configuration items of the target cloud desktop for detection, and executes step S240 when the configuration item detection passes.
[0107] In a second possible implementation, after the cloud desktop sends a detection failure prompt, the cloud desktop agent module receives a feedback operation from the cloud desktop management module or the cloud desktop. If the feedback operation indicates to hibernate the cloud desktop, the cloud desktop agent module performs the hibernation operation on the target cloud desktop. If the feedback operation indicates to cancel the hibernation of the cloud desktop, the cloud desktop agent module does not perform the hibernation operation on the target cloud desktop.
[0108] Step S240: When the configuration item detection passes, the cloud desktop agent module performs a hibernation operation on the target cloud desktop.
[0109] In a first possible implementation, if the configuration item passes the check, the cloud desktop agent module directly executes the hibernation operation for the target cloud desktop. For example, the cloud desktop agent module issues a hibernation instruction to the instance running the target cloud desktop. The instance running the target cloud desktop executes the hibernation operation according to the hibernation instruction and stops running the target cloud desktop.
[0110] In a second possible implementation, when the configuration item is detected, the cloud desktop agent module sends a sleep prompt message to the client corresponding to the target cloud desktop, and executes the sleep operation for the target cloud desktop or does not execute the sleep operation for the target cloud desktop based on the feedback information returned by the client.
[0111] For example, the cloud desktop agent 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, based on a sleep confirmation operation or a sleep cancellation operation input by the user based on the sleep prompt message, sends feedback information to the cloud desktop agent module. The cloud desktop agent module receives the feedback information. If the feedback information indicates a sleep confirmation operation, the cloud desktop agent module executes the sleep operation for the target cloud desktop. If the feedback information indicates a sleep cancellation operation, the cloud desktop agent module does not execute the sleep operation for the target cloud desktop.
[0112] In an embodiment of the present application, when the cloud desktop agent module performs a hibernation operation on a target cloud desktop, the cloud desktop agent module collects the memory operation data currently running in the target cloud desktop and stores the collected memory operation data in a cloud storage node. After the storage is successful, the module issues a hibernation instruction to the instance running the target cloud desktop, instructing the instance running the target cloud desktop to stop running the target cloud desktop.
[0113] Based on the cloud desktop hibernation method provided in FIG2 , relative to the method of realizing cloud desktop hibernation through a virtual management component, the embodiment of the present application deploys a cloud desktop agent module in the cloud desktop, and the cloud desktop agent module is provided with configuration items for indicating setting items that affect cloud desktop hibernation. When the cloud desktop receives a hibernation request sent by the cloud desktop management module, the configuration items of the target cloud desktop are detected by the cloud desktop agent module, and when the configuration item detection passes, the hibernation operation is performed on the target cloud desktop. In this way, the setting items that affect the cloud desktop hibernation are detected, and when the configuration item detection passes, the hibernation operation is performed to ensure hibernation reliability. And through the configuration item detection, the compatibility 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.
[0114] Next, we will introduce how the cloud desktop management module generates sleep instructions.
[0115] In a first possible implementation manner, the sleep condition may indicate that the cloud desktop is triggered to sleep according to a sleep triggering time.
[0116] For example, the sleep condition includes a sleep trigger time. As shown in FIG3 , FIG3 is a flow chart of a timed triggering cloud desktop sleep provided by an embodiment of the present application.
[0117] The cloud desktop management module sets the cloud desktop sleep trigger time corresponding to the client (step S31). When the cloud desktop management module detects that the current time of at least one client meets the cloud desktop sleep trigger time, it sends a sleep request to the target cloud desktop corresponding to the at least one client (step S32).
[0118] For example, when the sleep trigger time of client A is 18:00, the cloud desktop management module detects that the current time of client A is 18:00 and sends a sleep request to the target cloud desktop corresponding to client A.
[0119] In one example, consider a cloud desktop management module monitoring multiple clients. In a scenario where each client has the same sleep trigger time, when the cloud desktop management module detects that the client's current time meets the cloud desktop's sleep trigger time, it generates a sleep trigger instruction for each client. This allows batch sleep for the corresponding cloud desktops across multiple clients.
[0120] In another example, consider a cloud desktop management module monitoring multiple clients. A different sleep trigger time is set for each client. When the cloud desktop management module detects that the current time of each client meets the sleep trigger time of the cloud desktop corresponding to that client, a sleep trigger instruction is generated for that client. This allows for flexible sleep for cloud desktops corresponding to multiple clients.
[0121] In an embodiment of the present application, the sleep trigger time can be set by the user. For example, an enterprise or individual user sets the sleep trigger time through the cloud desktop management module.
[0122] In an embodiment of the present application, the sleep trigger time can also be automatically set according to the historical sleep time of the client corresponding to the cloud desktop.
[0123] In one possible implementation, the cloud desktop management module counts the historical sleep time of the client corresponding to the cloud desktop over a period of time to obtain the frequency of occurrence of each historical sleep time. Based on the statistical characteristics of the frequency of occurrence of the historical sleep time, the client's sleep trigger time is obtained. The statistical characteristics include, but are not limited to, the maximum frequency of occurrence or the median frequency of occurrence. For example, the historical sleep time corresponding to the maximum frequency of occurrence of the historical sleep time is set as the client's sleep trigger time.
[0124] The past period of time may be the past week, or the past month, etc., and this embodiment of the present application does not limit this.
[0125] Based on the embodiment shown in Figure 3, by setting a hibernation trigger time, when the cloud desktop management module detects that the current time of at least one client meets the cloud desktop hibernation trigger time, the hibernating client corresponding to the cloud desktop is put into hibernation. In this way, by regularly triggering the cloud desktop to hibernate, the startup lag caused by long-term cloud desktop operation is reduced.
[0126] In a second possible implementation, the sleep condition may indicate that a sleep triggering operation triggers the cloud desktop to sleep.
[0127] As shown in Figure 4, Figure 4 is a schematic diagram of the process of actively triggering cloud desktop hibernation provided by an embodiment of the present application. A hibernation trigger operation for at least one client is monitored (step S41). A hibernation request is sent to the target cloud desktop corresponding to the at least one client (step S42).
[0128] In an embodiment of the present application, the hibernation trigger operation can be triggered by an administrator through the cloud desktop management module.
[0129] 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.
[0130] In the first example, when the cloud desktop management module monitors multiple clients, the cloud desktop management module responds to the sleep trigger operation triggered by the cloud desktop sleep control, generates sleep trigger instructions 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.
[0131] In a second example, when the cloud desktop management module monitors multiple clients, the cloud desktop management module selects at least one client in response to a client selection operation. In response to a sleep trigger operation triggered by a cloud desktop sleep control, the cloud desktop management module generates a sleep trigger instruction for the at least one client and sends a sleep request to a target cloud desktop corresponding to the at least one client.
[0132] In the third example, when the cloud desktop management module is set on the client, the cloud desktop management module generates a sleep trigger instruction for the client where the cloud desktop management module is located in response to a sleep trigger operation triggered by a cloud desktop sleep control, and sends a sleep request to the target cloud desktop corresponding to the client.
[0133] In the embodiment of the present application, the sleep triggering operation may be triggered by the user through the client.
[0134] For example, a user clicks the "Sleep" button on the cloud desktop interface displayed on the client to trigger the sleep trigger operation. For another example, a user of a client such as a laptop closes the screen, briefly presses the power button, or other user actions to trigger the sleep trigger operation.
[0135] Based on the embodiment provided in FIG4 , batches of cloud desktops can be put into hibernation by actively triggering the hibernation trigger operation, facilitating the unified management of multiple cloud desktops.
[0136] In a third possible implementation, the sleep condition may be used to indicate that the cloud desktop sleep is triggered according to the connection status between the client and the cloud desktop.
[0137] The connection status includes the client being disconnected from the cloud desktop and the client being normally connected to the cloud desktop. Disconnection between the client and the cloud desktop may occur when the client is disconnected from the network, powered off, has no data input, or has a locked screen, etc. The present application does not limit this. No data input on the client may occur when there is no keyboard input, no mouse data, or no operation on the client, etc. There is no data interaction between the client and the cloud desktop. The present application does not limit this.
[0138] As shown in FIG5 , a sleep condition is set (step S51 ). The cloud desktop management module detects 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 the at least one client (step S52 ).
[0139] The abnormal connection status between the client and the cloud desktop may refer to a preset length of time during which the client and the cloud desktop are disconnected.
[0140] 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. Accordingly, the sleep condition can be enabled or disabled according to actual application needs. This embodiment of the present application is not limited to this.
[0141] For example, the cloud desktop management module starts timing when it detects that at least one client is disconnected from the corresponding cloud desktop. When the disconnection duration is greater than or equal to a preset duration, it is determined that the connection status between the client and the cloud desktop is abnormal.
[0142] For example, the cloud desktop management module starts timing when it detects that there is no data input from the client. When the no data input time is greater than or equal to the preset time, it is determined that the connection status between the client and the cloud desktop is abnormal.
[0143] In an embodiment 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. Alternatively, the administrator can choose to delegate authority to the corresponding user of the client (an individual in the enterprise), and the corresponding user of the client can set the sleep condition. Correspondingly, the administrator of the cloud desktop platform can also set the sleep condition, and the cloud desktop management module obtains the sleep condition from the cloud desktop platform.
[0144] Based on the embodiment provided in FIG5 , 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 into sleep mode, thereby reducing the lag problem caused by long-term operation.
[0145] It should be noted that the three possible implementations of the sleep condition are only exemplary and do not limit the cloud desktop sleep method provided in the embodiment of the present application. In actual applications, the sleep condition may include a combination of at least two of the three possible implementations.
[0146] For example, the cloud desktop management module detects whether the current time of the client meets the sleep trigger time. When the current time of the client meets the sleep trigger time, a sleep request is sent to the target cloud desktop corresponding to the client. When the current time of the client does not meet the sleep trigger time, it is detected whether a sleep trigger operation is triggered. If a sleep trigger operation is triggered, a sleep request is sent to the target cloud desktop corresponding to the client. If no sleep trigger operation is triggered, 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 sleep condition, a sleep 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 continues to be monitored according to the sleep condition.
[0147] It should be noted that the execution order between the above-mentioned disconnection detection, sleep trigger operation detection and sleep trigger time detection is only an exemplary description and does not constitute a limitation on the cloud desktop sleep method provided in the embodiment of the present application. In actual applications, the execution order between the sleep condition disconnection detection, sleep trigger operation detection and sleep trigger time detection can be adjusted according to the application scenario. For example, first detect whether there is a sleep trigger operation trigger. If there is no sleep trigger operation trigger, 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 sleep trigger time.
[0148] After the cloud desktop management module sends a sleep 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.
[0149] Next, the cloud desktop agent module is introduced to detect the target configuration items of the target cloud desktop based on the preset configuration items.
[0150] First, the preset method of configuration items is introduced.
[0151] In an embodiment of the present application, the configuration item may be pre-set by an administrator of the cloud desktop platform. Alternatively, the configuration item may be set by a cloud desktop management module. Alternatively, the configuration item may be obtained by the cloud desktop system based on historical dormancy data of the cloud desktop.
[0152] The historical sleep data includes historical sleep speeds, historical sleep results, and the cloud desktop settings during each sleep. Sleep results include successful sleep and failed sleep. For example, the cloud desktop analyzes the historical sleep speeds, historical sleep results, and the cloud desktop settings during each sleep to determine the settings that affect the cloud desktop's sleep speed and the settings that affect the cloud desktop's sleep results. The settings that affect the cloud desktop's sleep speed and the settings that affect the cloud desktop's sleep results are determined as preset configuration items.
[0153] In a possible implementation, the historical sleep speed, historical sleep results, and cloud desktop settings during each sleep can be analyzed based on an analysis model, wherein the analysis module can be based on a neural network analysis model.
[0154] In a possible implementation, the cloud desktop hibernation reason can be determined based on the cloud desktop settings when the hibernation result is hibernation failure, and the setting items that affect the cloud desktop hibernation result can be determined based on the cloud desktop hibernation reason.
[0155] Then, the setting items indicated by the configuration items are introduced.
[0156] In a first possible implementation, the configuration item includes a sleep function parameter. The sleep function parameter is used to instruct the cloud desktop agent module to detect whether the sleep function of the cloud desktop is enabled.
[0157] The cloud desktop agent module detects whether the hibernation function of the target cloud desktop is enabled. If the hibernation function of the target cloud desktop is enabled, it is determined that the hibernation function test has passed, and step S240 is executed. If the hibernation function of the target cloud desktop is not enabled, the hibernation function of the target cloud desktop is enabled, and it is determined that the hibernation function test has passed. In this way, by ensuring that the hibernation function of the target cloud desktop is enabled, hibernation failures caused by the hibernation function not being enabled are avoided. The reliability of cloud desktop hibernation is improved. In addition, if the hibernation function of the target cloud desktop is not enabled, by automatically enabling the hibernation function, the increase in the hibernation operation time caused by the user manually enabling the hibernation function is avoided, thereby improving the hibernation speed.
[0158] In one example, the cloud desktop agent module can detect whether the hibernation function of the target cloud desktop is enabled based on the memory operation data of the target cloud desktop. For example, the target cloud desktop's running desktop processes are determined based on the target cloud desktop's memory operation data. If a desktop process matching the enabled hibernation function exists among the target cloud desktop's running desktop processes, the target cloud desktop is determined to have the hibernation function enabled. If a desktop process matching the enabled hibernation function does not exist among the target cloud desktop's running desktop processes, the target cloud desktop is determined to have the hibernation function disabled.
[0159] In another example, the cloud desktop agent module can detect whether the hibernation function of the target cloud desktop is enabled based on the log data of the target cloud desktop. For example, if there is a record of enabling the hibernation function in the log data of the target cloud desktop, and no record of disabling the hibernation function, or if 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 hibernation function is enabled on the target cloud desktop. If there is no record of enabling the hibernation function in the log data of the target cloud desktop, or if 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 hibernation function is not enabled on the target cloud desktop.
[0160] In a second possible implementation, the configuration item includes a storage resource parameter. The storage resource parameter indicates the remaining storage resources of the detected cloud desktop. The remaining storage resources may be the remaining disk space of the instance running the target cloud desktop. Alternatively, the remaining storage resources may be the remaining storage space of the cloud storage node of the target cloud desktop.
[0161] In an embodiment of the present application, the cloud desktop agent module obtains the storage requirements of the target cloud desktop, and determines that the storage resource detection has passed when the remaining storage resources meet the storage requirements 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 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 repeated until the remaining storage resources meet the storage requirements of the target cloud desktop, and it is determined that the storage resource detection has passed. In this way, through 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. Avoiding the failure of cloud desktop hibernation or the loss of memory running data due to insufficient storage resources, thereby improving the reliability of cloud desktop hibernation.
[0162] 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.
[0163] For example, the storage requirements of the target cloud desktop may include the amount of memory running data of the target cloud desktop. The cloud desktop agent module compares the amount of memory running data of the target cloud desktop with the remaining storage resources. If the remaining storage resources are larger than the amount of 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. If the remaining storage resources are smaller than or equal to the amount of 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.
[0164] Closing the desktop process of the target cloud desktop may mean closing at least one desktop process in the target cloud desktop. In an 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 process 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 process to be closed to the target cloud desktop. The target cloud desktop stops running the desktop process to be closed.
[0165] In an 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 closes at least one desktop process based on the displayed prompt information.
[0166] In a third possible implementation, the configuration item may include a network resource parameter, wherein the network resource parameter is used to set the network to be shut down.
[0167] For example, the cloud desktop agent module detects whether the cloud desktop's network is down. If the cloud desktop's network is down, the network resource check is determined to have passed. If the cloud desktop's network is up, the target cloud desktop's network is shut down and the network resource check is determined to have passed. This ensures that all networks to be shut down in the target cloud desktop are in a down state, preventing cloud hibernation failures caused by network activation and improving cloud desktop hibernation reliability.
[0168] In an embodiment of the present application, in step S230, when at least one of the sleep function test, storage resource test, and network resource test of the target cloud desktop passes, it is determined that the configuration item test of the target cloud desktop passes.
[0169] It should be noted that the above three possible implementation methods of configuration item detection are only exemplary and do not constitute a limitation on the cloud desktop hibernation method provided in the embodiment of the present application. In actual application, the cloud desktop agent module detects the configuration items of the target cloud desktop based on any combination of the above three possible implementation methods.
[0170] As shown in FIG6 , FIG6 is a schematic diagram of a detection process of a configuration item of a target cloud desktop provided in an embodiment of the present application. The detection process of the configuration item of the target cloud desktop shown includes steps S61 to S67:
[0171] In step S61 , the cloud desktop agent module detects whether the sleep function of the target cloud desktop is enabled.
[0172] Step S62: When the hibernation function of the target cloud desktop is enabled, the storage requirement of the target cloud desktop is obtained.
[0173] Step S63: If the sleep function of the target cloud desktop is not enabled, enable the sleep function of the target cloud desktop and obtain the storage requirement of the target cloud desktop.
[0174] Step S64: 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 until the remaining storage resources meet the storage requirements of the target cloud desktop, and then the network setting item of the cloud desktop is detected to be closed.
[0175] Step S65: When the remaining storage resources meet the storage requirements of the target cloud desktop, it is detected whether the network used by the cloud desktop is closed.
[0176] Step S66: When the network used by the cloud desktop is closed, it is determined that the configuration item detection passes.
[0177] Step S67: When the network used by the cloud desktop is turned on, the network used by the cloud desktop is turned off, and it is determined that the configuration item detection has passed.
[0178] Based on the example provided in Figure 6, the configuration items of the target cloud desktop are detected from multiple aspects through sleep function activation detection, storage resource detection, and network resource detection to ensure the reliability of cloud desktop sleep.
[0179] If the configuration item of the target cloud desktop passes the test, the cloud desktop agent module performs a hibernation operation on the target cloud desktop. The target cloud desktop stops running, and the cloud desktop agent module in the target cloud desktop stops running.
[0180] In an embodiment of the present application, in order to further improve the reliability of cloud desktop hibernation and increase the hibernation speed, the hibernation operation duration and hibernation result of the target cloud desktop are recorded when the target cloud desktop is hibernated. After the cloud desktop agent module of the target cloud desktop is restarted, the cloud desktop agent module updates the configuration items of the target cloud desktop based on the recorded hibernation operation duration and hibernation result of the target cloud desktop. In this way, the degree of adaptation 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 agent module, thereby improving the hibernation reliability of the cloud desktop.
[0181] Wherein, updating the configuration items of the target cloud desktop may be replacing the configuration items in the cloud desktop agent module with the new configuration items. Alternatively, updating the configuration items of the target cloud desktop may be adding the configuration items in the new configuration items that are inconsistent with the configuration items in the cloud desktop agent module to the configuration items in the cloud desktop agent module. Alternatively, updating the configuration items of the target cloud desktop may be determining that the setting items indicated in the new configuration items are different from the setting items indicated by the configuration items in the cloud desktop agent module, and replacing the configuration items in the cloud desktop agent module that match the different configuration items. Wherein, the configuration item that matches the different configuration item may be the configuration item in the cloud desktop agent module that has the greatest degree of similarity to the setting items indicated by the different configuration items.
[0182] In a first possible implementation, the cloud desktop agent module compares the sleep operation duration with a sleep operation duration threshold. If the sleep operation duration exceeds the sleep operation duration threshold, a setting affecting the sleep operation duration of the target cloud desktop is obtained based on the memory operation data of the target cloud desktop. The setting affecting the sleep operation duration of the target desktop is determined as a new configuration item. The configuration item in the cloud desktop agent module is updated based on the new configuration item.
[0183] The sleep operation duration threshold may be preset.
[0184] In an example, the memory operation data of the target cloud desktop can be analyzed according to the setting method of the above configuration items to obtain the settings that affect the sleep operation duration of the target running desktop.
[0185] In one example, when the sleep operation duration is less than or equal to a sleep operation duration threshold, the configuration item is not updated.
[0186] In a second possible implementation, when the hibernation result is hibernation failure, the cloud desktop agent module obtains a setting that affects the hibernation result of the target running desktop based on the memory operation data of the target cloud desktop. The setting that affects the hibernation result of the target running desktop is determined as a new configuration item. The configuration item in the cloud desktop agent module is updated based on the new configuration item.
[0187] In one example, when the sleep result is successful, the configuration item is not updated. Alternatively, when the sleep result is successful, the sleep operation duration is compared with a sleep operation duration threshold.
[0188] In a third possible implementation, when the hibernation result is a success, the cloud desktop agent module compares the hibernation operation duration with a hibernation operation duration threshold. When the hibernation operation duration is greater than the hibernation operation duration threshold, a setting that affects the hibernation operation duration of the target running desktop is obtained based on the memory operation data of the target cloud desktop. When the hibernation result is a failure, a setting that affects the hibernation result of the target running desktop is obtained based on the memory operation data of the target cloud desktop. Based on the setting that affects the hibernation operation duration of the target running desktop, or the setting that affects the hibernation result of the target running desktop, a new configuration item is obtained. The configuration item in the cloud desktop agent module is updated based on the new configuration item.
[0189] In a fourth possible implementation, the cloud desktop agent module collects statistics on the duration and results of multiple cloud desktop hibernation operations. Based on these statistics, the target cloud desktop's configuration items are updated. This improves the stability of configuration items by using these statistics, avoiding frequent configuration item updates that could affect the stability of cloud desktop hibernation durations and results. This ensures the reliability of cloud desktop hibernation.
[0190] For example, the cloud desktop agent module counts and records the number of times the sleep operation duration of multiple cloud desktop sleep operations that the sleep operation duration is greater than the sleep operation duration threshold, and the number of times the sleep result is a sleep failure. In the case that the number of times the sleep operation duration is greater than the sleep operation duration threshold is greater than or equal to the number threshold, the setting that affects the sleep operation duration of the target running desktop is obtained based on the memory operation data of the target cloud desktop. In the case that the number of times the sleep result is a sleep failure is greater than or equal to the number threshold, the setting that affects the sleep result of the target running desktop is obtained based on the memory operation data of the target cloud desktop. Based on the setting that affects the sleep operation duration of the target running desktop, or the setting that affects the sleep result of the target running desktop, a new configuration item is obtained. The configuration item in the cloud desktop agent module is updated based on the new configuration item.
[0191] If the number of times the sleep operation duration is greater than the sleep operation duration threshold is less than the number threshold, and the number of sleep failures is less than the number threshold, the configuration item is not updated.
[0192] The number threshold may be preset.
[0193] The above mainly describes the solution provided by the embodiment of the present application from the perspective of the dormancy logic of the cloud desktop. After the cloud desktop is dormant, it also involves waking up the cloud desktop. In order to better implement the cloud desktop dormancy method provided by the embodiment of the present application, the embodiment of the present application also provides a cloud desktop wake-up method. As shown in Figure 7, Figure 7 is a schematic diagram of the wake-up process of the cloud desktop provided by the embodiment of the present application. The wake-up process of the cloud desktop shown includes steps S250 to S270:
[0194] Step S250: When at least one client meets the wake-up condition, the cloud desktop management module triggers a wake-up operation to the target cloud desktop corresponding to the client.
[0195] The wake-up condition is used to indicate the rule for waking up the cloud desktop.
[0196] In one possible implementation, the wake-up condition may indicate active wake-up.
[0197] In the first example, the administrator of the cloud desktop management module inputs a wake-up trigger operation by clicking a cloud desktop wake-up control. In response to the wake-up trigger operation, the cloud desktop management module generates a wake-up instruction and triggers the wake-up operation to the target cloud desktop corresponding to the client.
[0198] For example, when the cloud desktop management module monitors multiple clients, the cloud desktop management module selects at least one client in response to a client selection operation input by an administrator. The cloud desktop management module generates a wake-up instruction for at least one client in response to a wake-up trigger operation triggered by a cloud desktop wake-up control.
[0199] For another example, when the cloud desktop management module monitors a 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 a wake-up trigger operation triggered by a cloud desktop wake-up control.
[0200] In a second possible implementation, the wake-up condition may indicate automatic wake-up.
[0201] In the first example, the wake-up condition may include a wake-up trigger time. When the cloud desktop management module detects 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 to the target cloud desktop corresponding to the client.
[0202] In the second example, the wake-up condition may include a sleep duration threshold. After the target cloud desktop goes into sleep, the cloud desktop management module starts counting. When the sleep duration of the target cloud desktop is greater than or equal to the sleep duration threshold, the cloud desktop management module generates a wake-up instruction for the client corresponding to the target cloud desktop, triggering a wake-up operation on the target cloud desktop corresponding to the client.
[0203] In a 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 has sent 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 instructs the cloud desktop platform to log in to the client's cloud desktop, triggering a wake-up operation for the target cloud desktop corresponding to the client.
[0204] In an embodiment of the present application, after generating a wake-up instruction, the cloud desktop management platform can 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.
[0205] Step S260: The cloud desktop agent module responds to the wake-up operation of the target cloud desktop.
[0206] In an embodiment of the present application, the cloud desktop system starts the instance of the target cloud desktop corresponding to the running client, starts the cloud desktop agent module, and calls the cloud desktop agent module to respond to the wake-up operation. Memory operation data is obtained from the cloud storage node or disk corresponding to the target cloud desktop. The cloud desktop agent module restores the memory state of the instance running the target cloud desktop based on the memory operation data, completing the target cloud desktop wake-up. Upon notification of the target cloud desktop wake-up, the cloud desktop agent module executes step S270 to connect the target cloud desktop with the client corresponding to the target cloud desktop.
[0207] Among them, the memory state of the target cloud desktop in the instance running the target cloud desktop before the target cloud desktop is hibernated can be restored, that is, the process data of the target cloud desktop and the process data of the application running on the target cloud desktop can be restored, which may include processes corresponding to basic functions in the target cloud desktop, and / or processes corresponding to plug-in services, etc., such as some services built into the target cloud desktop, such as cloud assistant, antivirus software, weather plug-ins, etc., or some applications opened by the terminal user in the target cloud desktop, such as the word being used, the web page being browsed, the software opened, etc.
[0208] In step S270 , the cloud desktop agent module performs an initialization operation on the target cloud desktop, connecting the target cloud desktop with a client corresponding to the target cloud desktop.
[0209] In a first possible implementation, the initialization operation includes clock repair, that is, modifying the display time of the target cloud desktop.
[0210] The cloud desktop agent module obtains the world time and updates the display time of the target cloud desktop according to the world time.
[0211] In the first example, if the target cloud desktop goes dormant for a short period of time, the internal clock of the instance running the target cloud desktop is still running. Therefore, if the dormant duration of the target cloud desktop does not meet the duration threshold, the cloud desktop agent module obtains the universal time from the internal clock of the instance running the target cloud desktop.
[0212] In the second example, if the target cloud desktop is dormant for a long time, the internal clock of the instance running the target cloud desktop stops running. Therefore, if the dormant 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 universal time returned by the cloud desktop platform.
[0213] The sleep duration of the target cloud desktop can be compared with a duration threshold. When the sleep duration of the target cloud desktop is greater than the duration threshold, it is determined that the sleep duration of the target cloud desktop meets the duration threshold. When the sleep duration of the target cloud desktop is less than or equal to the duration threshold, it is determined that the sleep duration of the target cloud desktop does not meet the duration threshold. The duration threshold can be pre-set.
[0214] In a second possible implementation, the initialization operation includes clock repair and cloud desktop connection.
[0215] 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 an embodiment of the present application, after the target cloud desktop wakes up, the data of the target cloud desktop is sent directly to the client. There is no need to send heartbeat information to the client corresponding to the target cloud desktop. After receiving the heartbeat returned by the client corresponding to the target cloud desktop, the client corresponding to the target cloud desktop is connected. In this way, the connection speed between the cloud desktop and the client is improved.
[0216] Based on the embodiment provided in FIG7 , after responding to the wake-up operation of the target cloud desktop, the cloud desktop agent module performs an initialization operation for the target cloud desktop, and the target cloud desktop is connected to the client corresponding to the target cloud desktop, thereby achieving a fast connection between the cloud desktop and the corresponding client, thereby improving the wake-up speed of the cloud desktop.
[0217] The above mainly introduces the technical solution provided by the embodiment 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 embodiment of the present application, the embodiment of the present application takes the client as a computer terminal as an example and provides an embodiment of the interaction interface between the cloud desktop management module, the client, and the cloud desktop agent module.
[0218] In one 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 hibernate through a hibernation trigger control provided in the management interface of the cloud desktop management module.
[0219] As shown in Figure 8, Figure 8 is a schematic diagram of the management interface of the cloud desktop management module provided in an embodiment of the present application. Figure (a) in Figure 8 is the management interface of the cloud desktop management module, and the interface displays a "sleep" control and a "wake up" control. The administrator clicks the "sleep" control to display the sleep management interface shown in Figure (b) in Figure 8. The identifiers of multiple clients monitored by the cloud desktop management module and the selection controls for each client are displayed in the sleep management interface. As shown in Figure (c) in Figure 8, the administrator clicks the selection controls of client 1, client 2, client 3 and client 4, selects client 1, client 2, client 3 and client 4, and clicks the "sleep confirmation" control in the sleep management interface. Generate sleep instructions for client 1, client 2, client 3 and client 4 respectively. The cloud desktop management module sends a sleep request to the target cloud desktops corresponding to client 1, client 2, client 3 and client 4 respectively.
[0220] In one possible implementation, when the cloud desktop agent module in the target cloud desktop performs a sleep operation, the target cloud desktop sends data of a first sleep interface to the client corresponding to the target cloud desktop. The client receives the data of the first sleep interface, and displays that the target cloud desktop is in sleep processing based on the data of the first sleep interface. As shown in Figure 9 (a), a prompt message of "in sleep processing" is displayed in the interface of the client. After the cloud desktop agent module performs the sleep operation for the target cloud desktop, it sends data of a second sleep interface to the client corresponding to the target cloud desktop. The client receives the data of the second sleep interface, and displays that the target cloud desktop is in sleep processing based on the data of the second sleep interface. As shown in Figure 9 (b), a prompt message of "already in sleep processing" is displayed in the interface of the client.
[0221] In one possible implementation, after the target cloud desktop goes into hibernation, a "login" control is also provided in the client's interface, as shown in Figure 10 (a). 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 to the target cloud desktop. The cloud desktop agent module in the target cloud desktop executes the above steps S260 to S270. The client displays the interface shown in Figure 10 (b), and displays a prompt message "Wake-up in progress" in the interface. 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 the cloud desktop interface as shown in Figure 10 (c).
[0222] In one possible implementation, after the target cloud desktop goes into hibernation, as shown in Figure 11 (a). A "wake up" control is displayed on the management interface of the cloud desktop management module. The administrator clicks the "wake up" control to display the wake-up management interface as shown in Figure 11 (b). The wake-up management interface displays the identifiers of the clients corresponding to the dormant cloud desktops among the multiple clients monitored by the cloud desktop management module and the selection controls for each client. As shown in Figure 11 (c), the administrator clicks the selection controls for client 7, client 8, and client 10, and clicks the "wake up confirmation" control in the wake-up management interface. Generate wake-up instructions for client 7, client 8, and client 10 respectively. The cloud desktop management module triggers a wake-up operation to the target cloud desktops corresponding to client 7, client 8, and client 10 respectively.
[0223] The above mainly introduces the method provided in the embodiment of the present application from the perspective of the interaction between the various modules in the cloud desktop system. It is understandable that the cloud desktop system includes hardware structures and / or software modules corresponding to the execution of various functions. It is easy for those skilled in the art to realize that, in combination with the algorithm steps of each example described in the embodiments disclosed in this application, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0224] In the embodiment of the present application, the functional modules of the cloud desktop system can be grouped according to the above method example. For example, each functional module can be grouped according to each function, or two or more functions can be integrated into one processing module. The above-mentioned 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 groups in the embodiment of the present application are schematic and are only a logical functional grouping. In actual implementation, there may be other grouping methods.
[0225] For example, the cloud desktop system can also be named as a cloud desktop dormancy device. As shown in FIG12 , FIG12 is a schematic diagram of the structure of the cloud desktop dormancy device. The cloud desktop dormancy device 12 includes a cloud desktop agent module 122 and a cloud desktop management module 121 .
[0226] The cloud desktop management module 121 is configured to generate a sleep request when detecting that a client satisfies a sleep condition. The sleep condition indicates a rule for triggering the cloud desktop to sleep. The sleep request is configured to request that a sleep operation be performed on the target cloud desktop. For example, the cloud desktop management module executes step S210 in FIG. 2 .
[0227] The cloud desktop agent module 122 is configured to, in response to a sleep request, test the target configuration items of the target cloud desktop based on pre-set configuration items. If the test passes, it issues a sleep instruction to the instance running the target cloud desktop. The sleep instruction instructs the instance to perform a sleep operation. Configuration items include parameters that affect the sleep state of the cloud desktop. For example, the cloud desktop agent module executes steps S220 to S240 in FIG. 2 .
[0228] The cloud desktop agent module and the cloud desktop management module can be implemented by software or hardware. For example, the cloud desktop management module 121 is used as an example to describe the implementation of the cloud desktop management module 121. Similarly, the cloud desktop agent module 122 can refer to the implementation of the cloud desktop management module 121.
[0229] As an example of a software functional unit, the cloud desktop management module 121 may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Furthermore, the computing instance may be one or more. For example, the cloud desktop management module 121 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed in the same region or in different regions. Furthermore, the multiple hosts / virtual machines / containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including one data center or multiple geographically close data centers. Typically, a region may include multiple AZs.
[0230] Similarly, the multiple hosts / virtual machines / containers running the code can be distributed within the same virtual private cloud (VPC) or across multiple VPCs. Typically, a VPC is located within a region. Cross-region communication between two VPCs within the same region, or between VPCs in different regions, requires a communication gateway within each VPC. Interconnection between VPCs is achieved through the communication gateway.
[0231] 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 be implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0232] The multiple computing devices included in the cloud desktop management module 121 can be distributed in the same region or in different regions. The multiple computing devices included in the communication module 121 can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the communication module 121 can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of servers, ASICs, PLDs, CPLDs, FPGAs, GALs, and other computing devices.
[0233] It should be noted that, in other embodiments, the cloud desktop management module 121 can be used to execute any step in the cloud desktop hibernation method. The cloud desktop agent module 122 can also be used to execute any step in the cloud desktop hibernation method. The steps that the cloud desktop management module 121 and the cloud desktop agent module 122 are responsible for implementing can be specified as needed. The full functionality of the cloud desktop hibernation device 12 is achieved by having the cloud desktop management module 121 and the cloud desktop agent module 122 respectively implement different steps in the cloud desktop hibernation method.
[0234] The embodiment of the present application also provides a computing device 14 for executing the above-mentioned cloud desktop hibernation method.
[0235] In one example, the computing device 14 may include a cloud desktop dormancy device 12 as shown in FIG. 12 . The cloud desktop dormancy device 12 includes a cloud desktop management module 121 and a cloud desktop agent module 122 .
[0236] In another example, as shown in FIG13 , computing device 14 includes a bus 142, a processor 144, a memory 146, and a communication interface 148. Processor 144, memory 146, and communication interface 148 communicate with each other via bus 142. Computing device 14 can be a server or a terminal device. It should be understood that this application does not limit the number of processors 144 and memory 146 in computing device 14.
[0237] Bus 142 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, among others. Buses may be classified as address buses, data buses, control buses, and the like. For ease of illustration, FIG13 shows only one bus line, but this does not imply a single bus or type of bus. Bus 142 may include a path for transmitting information between various components of computing device 14 (e.g., memory 146, processor 144, and communication interface 148).
[0238] The processor 144 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0239] In the present application, processor 144 executes the method shown in FIG. 2 . For example, a sleep request is generated when a client is detected to meet a sleep condition. In response to the sleep request, the target configuration items of the target cloud desktop are tested based on preset configuration items. If the test passes, a sleep instruction is issued to the instance running the target cloud desktop. The sleep instruction instructs the instance to perform a sleep operation.
[0240] 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).
[0241] The memory 146 stores executable program code, 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, thereby implementing the cloud desktop hibernation method. In other words, the memory 146 stores instructions for executing the cloud desktop hibernation method.
[0242] In the embodiment of the present application, the memory 146 stores configuration items and sleep conditions of the target cloud desktop.
[0243] The communication interface 148 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 14 and other devices or a communication network.
[0244] The cloud desktop hibernation method disclosed in the above method embodiment can be applied to the processor 144, or implemented by the processor 144. The processor 144 can be an integrated circuit chip with signal processing capabilities.
[0245] During implementation, each step of the above-described method can be completed by hardware integrated logic circuits or software instructions in processor 144. The 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 vacuum tube or transistor logic devices, or discrete hardware components. It can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of this application. A general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software modules can be located in a storage medium well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. This storage medium is located in memory 146. Processor 144 reads information from memory 146 and, in conjunction with its hardware, completes the steps of the above-described method.
[0246] In one possible implementation, the processor 144 may also be used to execute the cloud desktop sleep method. For specific implementation, reference may be made to the embodiment provided in the above-mentioned cloud desktop sleep method, and the embodiments of the present application will not be repeated here.
[0247] In the embodiment of the present application, the chip system can be composed of chips, or can include chips and other discrete devices.
[0248] The embodiment of the present application also provides a computing device cluster 15 for executing the above-mentioned cloud desktop hibernation method.
[0249] In one example, the computing device cluster 15 may include a cloud desktop dormancy device 12 as shown in FIG12 . The cloud desktop dormancy device 12 includes a cloud desktop management module 121 and a cloud desktop agent module 122 .
[0250] In another example, as shown in FIG14 , the computing device cluster 15 includes at least one computing device 14 as shown in FIG13 . 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 via the bus 142. The computing device 14 can be a server or a terminal device.
[0251] In one possible implementation, one or more computing devices in a computing device cluster may be connected via a network. The network may be a wide area network or a local area network, etc. FIG15 shows a possible implementation. As shown in FIG15 , two computing devices 14A and 14B are connected via a network. Specifically, the connection to the network is made through a communication interface 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.
[0252] The connection method between the computing device clusters shown in Figure 15 can be considered to take into account the cloud desktop hibernation method provided in this application. It is necessary to trigger the hibernation request through the cloud desktop management module 121 and execute the hibernation operation through 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 that the functions implemented by the cloud desktop agent module 122 are performed by computing device 14A, and the functions implemented by the cloud desktop management module 121 are performed by computing device 14B.
[0253] It should be understood that the functionality of computing device 14A shown in FIG15 may also be performed by multiple computing devices 14. Similarly, the functionality of computing device 14B may also be performed by multiple computing devices 14.
[0254] The present application also provides a computer program product containing instructions. The computer program product may be software or a program product containing instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, it causes the at least one computing device to execute the cloud desktop hibernation method described above.
[0255] For example, when the computer program product is run on at least one computing device, the at least one computing device is caused to execute the cloud desktop hibernation method shown in FIG. 2 .
[0256] The embodiments of the present application also provide a computer-readable storage medium. All or part of the processes in the above-mentioned method embodiments can be completed by a computer program to instruct the relevant hardware, and the program can be stored in the above-mentioned computer-readable storage medium. When the program is executed, it can include the processes of the above-mentioned method embodiments. The computer-readable storage medium can be a terminal in any of the above-mentioned embodiments, such as: an internal storage unit including a data transmission end and / or a data receiving end, such as a hard disk or memory of the terminal. The above-mentioned computer-readable storage medium can also be an external storage device of the above-mentioned terminal, such as a plug-in hard disk equipped on the above-mentioned terminal, a smart memory card (smart media card, SMC), a secure digital (secure digital, SD) card, a flash card (flash card), etc. Further, the above-mentioned computer-readable storage medium can also include both the internal storage unit of the above-mentioned terminal and an external storage device. The above-mentioned computer-readable storage medium is used to store the above-mentioned computer program and other programs and data required by the above-mentioned terminal. The above-mentioned computer-readable storage medium can also be used to temporarily store data that has been output or is to be output.
[0257] It should be understood that the collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in the technical solution of this application complies with relevant laws and regulations and does not violate public order and good morals. For example, in the technical solution of this application, the processing of user personal information is carried out with the user's authorization, and the same description is not repeated here.
[0258] It should be noted that the terms "first" and "second" in the specification, claims, and drawings of this application are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "including" and "having," and any variations thereof, are intended to cover non-exclusive inclusions. 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 include steps or units that are not listed, or may optionally include other steps or units that are inherent to such process, method, product, or device.
[0259] It should be understood that in the present application, "at least one (item)" refers to one or more, "more than one" refers to two or more, "at least two (items)" refers to two or three and more than three, and "and / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one 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.
[0260] It should be understood that in the embodiments of the present application, "B corresponding to A" means that B is associated with A. For example, B can be determined based on A. It should also be understood that determining B based on A does not mean determining B based solely on A; B can also be determined based on A and / or other information. In addition, the "connection" in the embodiments of the present application refers to various connection methods, such as direct connection and indirect connection, to achieve communication between devices, and the embodiments of the present application do not impose any limitations on this.
[0261] Unless otherwise specified, the "transmission" (transmit / transmission) appearing in the embodiments of the present application refers to bidirectional transmission, including the actions of sending and / or receiving. Specifically, the "transmission" in the embodiments of the present application includes the sending of data, the receiving of data, or the sending of data and the receiving of data. In other words, the data transmission here includes uplink and / or downlink data transmission. Data may include channels and / or signals, uplink data transmission is uplink channel and / or uplink signal transmission, and downlink data transmission is downlink channel and / or downlink signal transmission. The "network" and "system" appearing in the embodiments of the present application express the same concept, and an all-optical network is an all-optical system.
[0262] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the grouping of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be grouped into different functional modules to complete all or part of the functions described above.
[0263] In the several embodiments provided in this 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 schematic. For example, the grouping of modules or units is only a logical function grouping. There may be other grouping methods in actual implementation. 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 mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0264] Units described as separate components may or may not be physically separate, and components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0265] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0266] 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 embodiment of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a device, such as a single-chip microcomputer, a chip, etc., or a processor to execute all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes various media for storing program codes, such as a USB flash drive, a mobile hard disk, a ROM, a RAM, a magnetic disk, or an optical disk.
[0267] The above are only specific embodiments of the present application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection 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 sleep request, the cloud desktop system detects target configuration items of the target cloud desktop based on the preset configuration items. The sleep request is used to request to perform a sleep operation on the target cloud desktop. The configuration items include parameters affecting cloud desktop sleep. When the detection passes, the cloud desktop system sends a sleep instruction to the instance running the target cloud desktop. The sleep instruction instructs the instance to perform a sleep operation.
2. The method according to claim 1, wherein Before the response to the sleep request, the method further includes: The cloud desktop system generates a sleep request when it monitors that the client meets the sleep condition. The sleep condition is used to indicate the rule for triggering cloud desktop sleep.
3. The method according to claim 2, wherein The sleep condition is used to indicate triggering cloud desktop sleep based on a sleep trigger operation. The cloud desktop system generates a sleep request when it monitors that the client meets the sleep condition, including: The cloud desktop system receives a sleep trigger operation for the client and generates the sleep request.
4. The method according to claim 2 or 3, characterized in that, The sleep condition is used to indicate triggering cloud desktop sleep based on a sleep trigger time. The cloud desktop system generates a sleep request when it monitors that the client meets the sleep condition, including: When the current time of the client meets the sleep trigger time, the cloud desktop system generates the sleep request.
5. The method according to any one of claims 2 to 4, characterized in that The sleep condition is used to indicate triggering cloud desktop sleep based on the connection status between the client and the target cloud desktop. The cloud desktop system generates a sleep request when it monitors that the client meets the sleep condition, including: When the cloud desktop system monitors that the connection status between the client and the target cloud desktop is abnormal, it generates the sleep request.
6. The method according to any one of claims 1 to 5, characterized in that The configuration items include sleep function parameters. The cloud desktop system detects target configuration items of the target cloud desktop based on the preset configuration items, including: 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.
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. The cloud desktop system detects target configuration items of the target cloud desktop based on the preset configuration items, including: The cloud desktop system obtains the storage requirement of the target cloud desktop. The storage requirement of the target cloud desktop is used to indicate the storage requirement of the memory operation 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. 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 shut down 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 shut down according to the network resource parameters. When the network setting item is shut down, it is determined that the configuration item detection passes. When the network setting item is turned on, shut down 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, according to the operation data of the target cloud desktop, obtain new configuration items; 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 monitored that the client corresponding to the target cloud desktop meets the wake-up condition, the cloud desktop system starts to run the instance of 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, characterized in that, 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 the sleep process. 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 has been put to sleep.
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 hibernation request. When the detection passes, a hibernation instruction is sent to an instance running the target cloud desktop; the hibernation instruction instructs the instance to perform a hibernation operation; the hibernation request is used to request to perform a hibernation operation on the target cloud desktop, and the configuration items include parameters affecting cloud desktop hibernation.
14. The device according to claim 13, wherein The cloud desktop hibernation device further includes: A cloud desktop management module, which is used to generate a hibernation request when it is monitored that a client meets the hibernation condition; the hibernation condition is used to indicate a rule for triggering cloud desktop hibernation.
15. The device according to claim 14, characterized in that, The hibernation condition is used to indicate triggering cloud desktop hibernation based on a hibernation trigger operation. The cloud desktop management module is used to receive a hibernation trigger operation for the client and generate the hibernation request.
16. The device according to claim 14 or 15, characterized in that The hibernation condition is used to indicate triggering cloud desktop hibernation based on a hibernation trigger time; The cloud desktop management module is used to generate the hibernation request when the current time of the client meets the hibernation trigger time.
17. The device according to any one of claims 14 to 16, 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; the cloud desktop management module is further used to generate the hibernation request when it is monitored 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 hibernation function parameters; the cloud desktop proxy module is used to detect 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 hibernation function of the target cloud desktop is started, and it is determined that the hibernation 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 operation 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 enabled, 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, when the hibernation operation duration is less than the hibernation operation duration threshold and / or the target cloud desktop hibernation fails, obtain new configuration items according to the running data of the target cloud desktop; the new configuration items are used to indicate parameters affecting the hibernation operation duration and / or hibernation 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 monitors 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, perform an initialization operation on 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 according to 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 according to 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 according to any one of claims 1 to 12.
Citation Information
Patent Citations
Sleep control method, sleep control device and sleep control system for virtual desktop
CN105100125A
Cloud desktop running state management and control method and device, electronic equipment and storage medium
CN116339925A
Nuclear dormancy method, virtual network system and storage medium
CN117240637A
State management method and apparatus for virtual machine, and smart terminal thereof
US20200174823A1
Signaling of dormant bandwidth part
US20220399982A1