Cloud desktop management methods, devices, equipment, storage media, and software products
By binding storage resources and user identifiers in the cloud desktop resource library and dynamically allocating idle computing resources, the problem of low utilization of computing resources in cloud desktop services is solved, time-sharing reuse of computing resources is realized, costs are reduced and user experience is guaranteed.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- ALIBABA CLOUD COMPUTING CO LTD
- Filing Date
- 2024-11-26
- Publication Date
- 2026-05-26
AI Technical Summary
In existing technologies, cloud desktop service providers often fail to utilize computing and storage resources effectively, leading to resource waste and increased costs.
By binding storage resources and user identifiers in the cloud desktop resource library and dynamically allocating idle computing resources when a user request is received, a cloud desktop environment is formed. Computing resources are only allocated when the user actually uses the resource, thus realizing time-sharing reuse of computing resources.
It improves the utilization rate of computing resources, reduces the cost of using computing resources, and ensures that users can restore their previous working environment each time they log in, avoiding data loss or reconfiguration.
Smart Images

Figure CN122086499A_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of computer technology, and more particularly to a cloud desktop management method, apparatus, electronic device, computer-readable storage medium, and computer program product. Background Technology
[0002] Cloud desktops, also known as desktop virtualization or cloud computers, are a new alternative to traditional computers. A cloud desktop stores a user's desktop operating system, applications, and data on a remote server, allowing users to access these resources anytime, anywhere via various devices such as PCs, tablets, and mobile phones. As a modern desktop solution, cloud desktops meet the needs of mobile and remote work, providing a flexible, efficient, and secure user experience, and are increasingly being adopted across various industries.
[0003] In related technologies, after a user subscribes to a cloud desktop service provider, the service provider packages the computing and storage resources required to implement the cloud desktop service into a whole to provide the cloud desktop service to the user. This approach has the problem of low utilization of computing resources. Summary of the Invention
[0004] In view of the above, this specification provides one or more embodiments of a cloud desktop management method, apparatus, electronic device, computer-readable storage medium, and computer program product.
[0005] To achieve the above objectives, one or more embodiments of this specification provide the following technical solutions:
[0006] According to a first aspect of one or more embodiments of this specification, a cloud desktop management method is proposed, applied to a server, the server providing a cloud desktop resource library, the cloud desktop resource library including storage resources and computing resources, wherein the number of storage resources is greater than the number of computing resources, and the subscribed storage resources in the cloud desktop resource library are bound to the user identifiers of subscribed users; the method includes:
[0007] If a cloud desktop usage request carrying a target user identifier is received from any user terminal, the target storage resource bound to the target user identifier and the target computing resource in an idle state are obtained from the cloud desktop resource library.
[0008] The target storage resources and the target computing resources are combined to obtain a cloud desktop for use by the user terminal, and the status of the target computing resources is set to the usage status.
[0009] According to a second aspect of the embodiments of this specification, a cloud desktop management device is provided, applied to a server, the server providing a cloud desktop resource library, the cloud desktop resource library including storage resources and computing resources, wherein the number of storage resources is greater than the number of computing resources, and the subscribed storage resources in the cloud desktop resource library are bound to the user identifiers of subscribed users; the device includes:
[0010] The cloud desktop usage module is used to, upon receiving a cloud desktop usage request carrying a first target user identifier from any user terminal, retrieve the target storage resources bound to the target user identifier and the target computing resources in an idle state from the cloud desktop resource library.
[0011] The cloud desktop usage module is further configured to combine the target storage resources and the target computing resources to obtain a cloud desktop for use by the user terminal, and to set the status of the target computing resources to a usage state.
[0012] According to a third aspect of the embodiments of this specification, an electronic device is provided, comprising:
[0013] processor;
[0014] Memory used to store processor-executable instructions;
[0015] Wherein, when the processor executes the executable instructions, it is used to implement the method described in the first aspect.
[0016] According to a fourth aspect of the embodiments of this specification, a computer-readable storage medium is provided that stores a computer program thereon, which, when executed by a processor, implements the steps of any of the methods described above.
[0017] According to a fifth aspect of the embodiments of this specification, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps of any of the methods described above.
[0018] The technical solutions provided in the embodiments of this specification may include the following beneficial effects:
[0019] In the embodiments described in this specification, the server provides a cloud desktop resource library, which includes storage resources and computing resources, with the number of storage resources exceeding the number of computing resources. Subscribed storage resources in the cloud desktop resource library are bound to the user identifiers of the subscribing users. When a cloud desktop usage request is received, the server retrieves the storage resources and idle computing resources bound to the user from the resource library, combines these resources into a cloud desktop, and sets the computing resource status to "in use." The computing resources used to implement the cloud desktop service are only allocated when the user actually uses the cloud desktop; that is, multiple users can share the same computing resources at different times, implementing a time-sharing reuse mechanism for computing resources. This allows a relatively small number of computing resources to support the cloud desktop needs of a large number of users, significantly improving the utilization rate of computing resources and reducing the cost of using them. Furthermore, the binding of storage resources to the user identifiers of the subscribing users ensures that each time a user logs into the cloud desktop, they can restore their previous working environment without worrying about data loss or reconfiguring the desktop.
[0020] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this specification. Attached Figure Description
[0021] Figure 1 This is a schematic diagram of the architecture of a cloud desktop management service system provided in an exemplary embodiment.
[0022] Figure 2 This is a schematic diagram of the architecture of another cloud desktop management service system provided in an exemplary embodiment.
[0023] Figure 3 This is a flowchart illustrating a cloud desktop management method provided in an exemplary embodiment.
[0024] Figure 4 This is a schematic diagram of a cloud desktop resource library provided in an exemplary embodiment.
[0025] Figure 5 This is a schematic diagram of another cloud desktop resource library provided in an exemplary embodiment.
[0026] Figure 6 This is a schematic diagram of the structure of an electronic device provided in an exemplary embodiment. Detailed Implementation
[0027] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with one or more embodiments of this specification. Rather, they are merely examples of apparatuses and methods consistent with some aspects of one or more embodiments of this specification as detailed in the appended claims.
[0028] It should be noted that the steps of the corresponding methods are not necessarily performed in the order shown and described in this specification in other embodiments. In some other embodiments, the methods may include more or fewer steps than described in this specification. Furthermore, a single step described in this specification may be broken down into multiple steps in other embodiments; and multiple steps described in this specification may be combined into a single step in other embodiments.
[0029] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this manual are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation portals are provided for users to choose to authorize or refuse.
[0030] A cloud desktop is a desktop virtualization solution based on cloud computing technology, allowing users to remotely access a virtual desktop through any network-connected device. This virtual desktop actually runs on a server in the cloud, so users don't need a high-performance local computer to enjoy a full desktop experience and application support.
[0031] Cloud desktops include computing resources and storage resources. (1) The computing resources of a cloud desktop include, but are not limited to, processors provided in the cloud, including but not limited to central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.; used to run operating systems and applications. (2) The storage resources of a cloud desktop are used to store the user's operating system, applications, personal data, and configuration files. Each user's desktop environment, files, settings, etc. are stored in the cloud and can be loaded at any time when the user logs in.
[0032] Users can access cloud desktop services via the internet. Access devices can be PCs, laptops, or mobile devices such as tablets and smartphones. Users can access their desktops and applications anytime, anywhere, breaking the limitations of physical devices and greatly improving work flexibility. All desktop management, software updates, and maintenance are centrally handled in the cloud, simplifying IT (Information Technology) management processes. Enterprises can save on operational costs by centrally deploying and managing user desktops. User data is stored in the cloud, avoiding the risk of local data loss. At the same time, cloud service providers typically provide security measures such as encryption, backup, and multi-factor authentication to ensure data and access security. Cloud desktops do not depend on the user's operating system or hardware configuration, so they can be seamlessly accessed on Windows, Mac, Linux, or mobile devices. Users do not need to purchase high-performance equipment because computing and storage are all done in the cloud. Local devices only need basic display and input capabilities, greatly reducing hardware costs.
[0033] Cloud desktops, as a modern desktop virtualization solution, are widely used in enterprise offices, education, development and testing scenarios due to their flexibility, convenience, and efficient management. With the continuous development of cloud computing technology, cloud desktops will provide more users with efficient, economical, and secure desktop services in the future.
[0034] In related technologies, after a user subscribes to a cloud desktop service provider, the cloud desktop service provider packages the computing and storage resources required to implement the cloud desktop service into a whole and provides the cloud desktop service to the user. In other words, during the subscription period of the cloud desktop service, the computing and storage resources packaged into a whole are only provided to the user. This method has the problem of low utilization of computing resources. For example, the inventors found that computing resources may be idle at certain times.
[0035] Based on this, the embodiments of this specification provide a cloud desktop management method to ensure that computing resources for cloud desktop services are allocated only when users actually use the cloud desktop and released after use. That is, multiple users can share the same computing resources at different time periods, without having to reserve fixed computing resources for each user separately. This allows computing resources used to implement cloud desktop services to be reused in a time-sharing manner, thereby achieving the goal of making full use of computing resources.
[0036] Figure 1 This is a schematic diagram of the architecture of a cloud desktop management service system provided in an exemplary embodiment. For example... Figure 1 As shown, the system may include a server 11, a network 12, and several user terminals 13.
[0037] Server 11 can be a physical server containing independent hosts, or it can be a virtual server hosted in a host cluster. During operation, server 11 can run server-side programs for a certain application to implement the relevant functions of that application. For example, when server 11 runs a cloud desktop management service program, it can act as the server for the corresponding cloud desktop management service.
[0038] User terminal 13 includes, but is not limited to, PCs (Personal Computers), mobile phones, tablets, laptops, PDAs (Personal Digital Assistants), and wearable devices (such as smart glasses and smartwatches). During operation, user terminal 13 can run client-side programs for a specific application to implement its functions. For example, when user terminal 13 runs a cloud desktop management service program, it can act as a client for that service. The client application for the cloud desktop management service can be launched and run on user terminal 13. This client-side program can be a native application installed on user terminal 13, or it can be a mini-program, quick app, or other similar form. Alternatively, when using web technologies such as HTML5, the functions can be implemented through a browser-displayed page. This browser can be a standalone browser application or a browser module embedded within an application.
[0039] The network 12 that enables interaction between the user terminal 13 and the server 11 can be either wired or wireless, depending on the communication method supported by the user terminal 13. This specification does not impose any restrictions on this. For example, a PC can support both wired and wireless communication, so it can use either wired or wireless network communication as needed. A mobile phone typically only supports wireless communication, so it can use a wireless network for communication.
[0040] For example, after a user subscribes to the required cloud desktop service from a cloud desktop service provider, the user can send a cloud desktop usage request to the server 11 through the user terminal 13. The server 11 can obtain the computing and storage resources required for the cloud desktop service, thereby starting the virtual cloud desktop, and sending the relevant data of the cloud desktop (such as virtual machine IP address, desktop image, virtual operating system, etc.) to the user terminal 13 through the network 12. After receiving the cloud desktop-related data returned by the server 11, the user terminal 13 will display the cloud desktop interface. The user can operate through the input devices (keyboard, mouse, touchpad, etc.) of the user terminal 13. All operations are transmitted to the server 11 in real time, and the computing tasks of the cloud desktop are also executed on the server 11. The results are returned to the display of the user terminal 13 through the network 12.
[0041] For example, Figure 2 This is a schematic diagram of the architecture of a cloud desktop management service system provided in an exemplary embodiment. Figure 1Based on the cloud desktop management service system shown, the system also includes at least one agent's electronic device 14. The agent's electronic device 14 includes, but is not limited to, smartphones / mobile phones, tablet computers, personal digital assistants (PDAs), laptop computers, desktop computers, wearable devices (e.g., watches, glasses, gloves, headwear (e.g., hats, helmets, virtual reality headsets, augmented reality headsets, head-mounted devices (HMDs), headbands), pendants, armbands, leg rings, shoes, vests) or any other type of device.
[0042] In this cloud desktop management service system, the agent, as a key player in the cloud desktop service provider, can interact with the server 11 through its electronic device 14 to provide cloud desktop services to users. Specifically, the agent sends an agency request to the server 11 through its electronic device 14 to obtain a certain amount of computing and storage resources. These resources are used to support the agent in providing cloud desktop services to its users. The server 11 creates a dedicated cloud desktop resource library for the agent based on the agent's agency request, allocating the resources required by the agent to the agent. This cloud desktop resource library contains the computing resources (such as CPU, memory, GPU, etc.) and storage resources (such as hard disk space, applications, etc.) required by the agent. The agent can then provide cloud desktop subscription services to end users. When a user subscribes to cloud desktop services from the agent, the agent sends subscription information corresponding to that user to the server 11 through its electronic device 14. This subscription information describes the user's subscription status, so that the server 11 can provide cloud desktop services to the user based on this subscription information and the dedicated cloud desktop resource library for the agent.
[0043] The cloud desktop management method provided in the embodiments of this specification will be described by way of example below: Please refer to Figure 3 This illustrates a flowchart of a cloud desktop management method, which can be executed by a server. Please refer to... Figure 4 The server provides a cloud desktop resource library, which includes storage and computing resources, with the number of storage resources exceeding the number of computing resources. Subscribed storage resources in the cloud desktop resource library are bound to the user identifier of the subscribing user. This binding of storage resources to user identifiers (such as accounts or user IDs) ensures that each user has corresponding independent storage space and that user data is retained long-term. The method includes:
[0044] In S301, if a cloud desktop usage request carrying a target user identifier is received from any user terminal, the target storage resource bound to the target user identifier and the target computing resource in an idle state are obtained from the cloud desktop resource library.
[0045] In S302, the target storage resources and target computing resources are combined to obtain a cloud desktop for use by the user terminal, and the status of the target computing resources is set to the usage state.
[0046] For example, when any user wishes to access their cloud desktop, they can send a cloud desktop usage request to the server through their user terminal (such as a PC, mobile phone, etc.). This request carries the user's target user identifier (such as username, user ID, etc.). The server first verifies the user's subscription status using the target user identifier to ensure the user has the right to access cloud desktop resources. After successful verification, the server begins resource allocation. The server first retrieves the target storage resources bound to the target user identifier from the cloud desktop resource library. This is typically the user's previously saved personal data and applications, ensuring the user can restore their previous working environment each time they use the cloud desktop. Simultaneously, the server selects idle computing resources from the cloud desktop resource library. These computing resources include hardware resources such as CPU and memory, responsible for supporting the user's cloud desktop operations. Since computing resources can be dynamically allocated, multiple users can share them according to different time periods, thus achieving full utilization of computing resources. Next, the server combines the target storage resources bound to the target user identifier with the selected idle target computing resources to form a complete cloud desktop environment. At this point, the status of the selected target computing resource changes from idle to used, indicating that the computing resource is being used by the current user. The server delivers the assembled cloud desktop environment to the user terminal, allowing the user to operate the remote cloud desktop on the user terminal and experience a usage scenario similar to local computing.
[0047] In some embodiments, if a cloud desktop release request is received from any user terminal, the server can split the cloud desktop pointed to by the cloud desktop release request into resources and set the status of the split computing resources to idle state.
[0048] For example, after completing a cloud desktop operation, any user can send a cloud desktop release request to the server through their user terminal, informing the server that they no longer need to use the cloud desktop. The server will split the combined cloud desktop into storage resources and computing resources. Although the user no longer uses the cloud desktop, their data still needs to be retained. Therefore, the server will save the storage resources bound to the user's identifier in the cloud desktop resource library to ensure that the user's personal data and settings remain unchanged. The computing resources can be reused. After separating the computing resources from the cloud desktop, the server will reset the status of the computing resources to idle and save them in the cloud desktop resource library so that they can be reassigned when other users need them.
[0049] In this embodiment, through a time-sharing mechanism for computing resources, the server can dynamically allocate and reclaim computing resources according to the usage needs of different users. When a user releases computing resources, the server can allocate these computing resources to other users, thus supporting the cloud desktop needs of a large number of users with relatively few computing resources. This mechanism significantly improves the utilization rate of computing resources and reduces the cost of using computing resources. Furthermore, the storage resources are bound to the user's identifier, ensuring that each time a user logs into the cloud desktop, they can restore their previous working environment without worrying about data loss or reconfiguring the desktop.
[0050] Understandably, when the server simultaneously receives a cloud desktop usage request from user terminal A and a cloud desktop release request from user terminal B, the server can simultaneously perform the cloud desktop combination operation for user terminal A and the cloud desktop resource splitting operation for user terminal B. The two operations can be performed in parallel without any order of priority.
[0051] In some embodiments, the server can interface with the electronic devices of at least one agent. The agent can send proxy requests to the server through its electronic devices to obtain a certain amount of computing and storage resources. These resources are used to support the agent in providing cloud desktop services to its users. For example, the agent may obtain resources for implementing cloud desktop services from the server through its electronic devices on an annual or monthly subscription basis. The server creates a cloud desktop resource library dedicated to the agent based on the agent's proxy request, allocating the resources required by the agent to the agent. This cloud desktop resource library contains the computing resources (such as CPU, memory, GPU, etc.) and storage resources (such as hard disk space, applications, etc.) subscribed to by the agent.
[0052] For example, the agent's electronic devices can determine the amount of computing resources and storage resources to subscribe to based on the total number of users subscribing to the cloud desktop service and each user's cloud desktop usage habits. To fully utilize computing resources, an over-selling strategy can be implemented, meaning the subscribed computing resources can be less than the storage resources. Furthermore, through a time-sharing mechanism for computing resources, the server can dynamically allocate and reclaim computing resources according to the different user needs, improving the utilization rate of computing resources and reducing usage costs for both the agent and subscribing users.
[0053] The server can create a dedicated cloud desktop resource library for each proxy based on the proxy's request, allocating the resources needed by the proxy to the proxy. In the case of multiple proxies, the server includes multiple cloud desktop resource libraries corresponding to different proxies, each cloud desktop resource library being bound to the corresponding proxy's identifier.
[0054] It is understood that this embodiment does not impose any restrictions on the number of computing resources and storage resources that each agent should subscribe to, and specific settings can be made according to the actual application scenario.
[0055] For example, the amount of storage resources included in each cloud desktop resource library is determined based on the number of subscribers who subscribe to the cloud desktop service through the agent corresponding to that cloud desktop resource library. For instance, the amount of storage resources included in each cloud desktop resource library is greater than or equal to the number of subscribers who subscribe to the cloud desktop service through the agent corresponding to that cloud desktop resource library, thus ensuring that each agent has sufficient storage resources to provide to each subscriber. This means that each subscriber has dedicated storage space for storing personal files, system settings, and other information. This model ensures that subscribers can resume their previous working state each time they use the cloud desktop, avoiding data loss or insufficient storage resources.
[0056] For example, the number of computing resources included in each cloud desktop resource library can be determined based on the number of users and the historical cloud desktop usage data of each subscriber. The historical cloud desktop usage data of each subscriber includes at least one of the following: the frequency, time period, and duration of cloud desktop usage by each subscriber who subscribes to the cloud desktop service through an agent corresponding to the cloud desktop resource library. For instance, the electronic devices of each agent can predict the needs of subscribers based on the number of users and the historical cloud desktop usage data, thereby reasonably determining the number of computing resources. This avoids allocating exclusive computing resources to all subscribers, thus reducing the overall computing resource cost. In practice, subscribers are not online simultaneously, so computing resources only need to be dynamically provided to active subscribers.
[0057] In some possible implementations, the concurrent user count of a cloud desktop can be determined by statistically analyzing historical usage data of all subscribers who subscribe to the cloud desktop service through various agents. The concurrent user count refers to the number of users simultaneously using the cloud desktop within a certain statistical period, such as the average, minimum, or maximum concurrent user count per day or week. When considering the concurrent user count, a reserved amount of computing resources should be pre-set to cope with unexpected situations. The reserved amount should increase with the number of users; the more subscribers, the more computing resources need to be reserved to cope with sudden increases in usage demand. A linear or non-linear relationship can be used to determine the reserved amount. For example, the linear relationship between the reserved amount and the number of users is: Reserved amount = α × Number of subscribers; where α is the reservation coefficient, set according to actual needs. For example, α = 0.1 means reserving 1 additional computing resource for every 10 subscribers. For example, in more complex scenarios, a non-linear growth model can be used, such as a logarithmic growth model: Reserved quantity = β × log(number of subscribers); where β is the reservation coefficient. Finally, the number of computing resources in each cloud desktop resource library can be the sum of the number of concurrent users and the reserved quantity. In this embodiment, the number of concurrent users reflects the actual usage of subscribers and is derived through statistical analysis of historical usage data; the reserved quantity is dynamically adjusted according to the number of subscribers to ensure sufficient elasticity to cope with sudden concurrent demands; the number of computing resources can be reasonably determined by the number of concurrent users and the reserved quantity, ensuring the stable operation of the cloud desktops.
[0058] For example, a service provider has 200 subscribers. Based on historical data, the average daily concurrent cloud desktop users are determined to be 50. Using a reservation coefficient α = 0.1, the reserved quantity is: Reserved quantity = 0.1 × 200 = 20. The computing resources required are: Computing resources = 50 + 20 = 70. Therefore, the service provider's cloud desktop resource library needs 70 computing resources to meet user demand.
[0059] Of course, other methods can also be used to determine the amount of computing resources. This embodiment does not impose any restrictions on this. For example, the agent can determine the amount of computing resources based on personal experience, or the amount of computing resources can be half, 70%, or 80% of the amount of storage resources, etc.
[0060] For example, after subscribing to a cloud desktop service for a user, the agent can send cloud desktop subscription information to the server. This subscription information includes the user's identifier and the agent's identifier. Upon receiving cloud desktop subscription information from any agent's electronic device, the server can select unsubscribed storage resources from the cloud desktop resource library bound to the agent's identifier and bind these unsubscribed storage resources to the user identifier included in the cloud desktop subscription information. In this embodiment, each subscriber's storage resources are bound to their user identifier, ensuring the exclusivity of the storage resources. This binding mechanism not only ensures the independence of user data but also prevents data confusion or misuse, improving system security and data isolation. Simultaneously, since the agent's identifier is bound to the cloud desktop resource library, it ensures that subscribers from different agents use their respective allocated resources, further enhancing security and management standardization. The agent only needs to subscribe to the cloud desktop service for the relevant subscribers and submit the relevant user information to the server; the server will automatically complete the resource allocation and binding. This automated resource management greatly reduces the agent's management burden, eliminating the need for the agent to manually manage the storage resource allocation for each subscriber.
[0061] When a subscriber to the cloud desktop service needs to use the service, they can send a cloud desktop usage request to the server. This request carries the target user identifier and the target agent identifier. Upon receiving a cloud desktop usage request from any user terminal, the server can determine the target cloud desktop resource library from multiple cloud desktop resource libraries corresponding to different agents based on the target agent identifier in the request. Then, it retrieves the target storage resource bound to the target user identifier and the idle target computing resource from the target cloud desktop resource library. The target storage resource and target computing resource are combined to obtain a cloud desktop for the user terminal, and the target computing resource is set to a used state. In this embodiment, by using the user identifier and agent identifier, the server can quickly locate the specific cloud desktop resource library to which the agent belongs, thereby accurately obtaining the storage and computing resources required by the subscriber. This method avoids the complexity and ambiguity of resource searching and improves response speed. Furthermore, through a dual binding mechanism of agent identifier and user identifier, the cloud desktop resource libraries of different agents are independent of each other, ensuring resource isolation and security. Subscribers of each agent can only access their own resource library and will not interfere with the resource use of other agents. This resource isolation mechanism enhances security and prevents misuse of resources or data leakage across agents or users.
[0062] When a subscriber no longer needs to use the cloud desktop service, they can send a cloud desktop release request to the server through their user terminal. This cloud desktop release request can carry a proxy identifier, so that after the server splits the cloud desktop pointed to by the cloud desktop release request, it can store the split storage and computing resources back into the cloud desktop resource library bound to the proxy identifier.
[0063] In some embodiments, considering that different users require different specifications of computing resources, such as one type of computing resource being 4 cores and 16GB of memory, and another type being 8 cores and 32GB of memory, but not limited to these, each agent can classify subscribers according to the different specifications of computing resources used by different subscribers, thereby determining the amount of computing resources required by each category of subscribers, and finally summarizing and subscribing to the server for the corresponding amount of storage resources and the corresponding amount of computing resources under different specifications.
[0064] For example, similar to the above method for determining computing resources, for each category of subscribers, the quantity of computing resources of a certain computing specification indicated by that category can be determined based on the number of users in that category and the historical cloud desktop usage data of each subscriber belonging to that category. Then, the quantities of computing resources under different specifications corresponding to all categories can be aggregated. This embodiment supports multiple specifications of computing resources, with different categories of subscribers corresponding to different specifications of computing resources, which can better meet the personalized needs of users. The agent's electronic devices can flexibly adjust the acquisition amount of different specifications of computing resources according to the needs of different categories of users.
[0065] For example, suppose there are two specifications of computing resources: one with 4 cores and 16GB of RAM, and the other with 8 cores and 32GB of RAM. In this case, the agent's electronic devices can categorize users based on their computing resource needs. For example, users in category A require 4 cores and 16GB of RAM, while users in category B require 8 cores and 32GB of RAM. The agent's electronic devices first count the number of users in categories A and B. Let's say category A has 100 users and category B has 50 users. The agent analyzes the historical cloud desktop usage data of users in categories A and B to determine the concurrent cloud desktop user count for each category. Let's assume category A has 50 concurrent users online per day, and category B has 15 concurrent users online per day. To handle peak demand, the agent's electronic devices can reserve a certain amount of extra computing resources based on the number of users. Let's assume the reserve is 10% of the number of users; then, category A has 10 reserved resources, and category B has 5 reserved resources. Ultimately, the agent's electronic devices aggregate the concurrent usage and reserved space for each category to determine the required amount of computing resources: Category A requires 60 quad-core 16GB computing resources, and Category B requires 20 eight-core 32GB computing resources. After aggregating the computing resource requirements for each category, the agent obtains a total of 60 quad-core 16GB and 20 eight-core 32GB computing resources from the server. In addition, the agent will subscribe to sufficient storage resources to support these users, for example, subscribing to 150 storage resources.
[0066] After the agent subscribes to the cloud desktop service for the relevant subscribers, the cloud desktop subscription information sent to the server also carries the specification information of the computing resources subscribed by the user, so that the server can establish a mapping relationship between user identifiers and computing resource specifications. Then, after each user subscribing to the cloud desktop service sends a cloud desktop usage request to the server, when determining the target computing resources to be provided to the user, the server can determine the target specification of the target computing resource to be obtained from the pre-stored mapping relationship between user identifiers and computing resource specifications, based on the target user identifier carried in the cloud desktop usage request. This mapping relationship describes the specifications of the computing resources in the cloud desktop service subscribed to by each subscriber. Then, it retrieves the target computing resources that are idle and meet the target specifications from the cloud desktop resource library; specifically, it retrieves the target computing resources that are idle and meet the target specifications from the target cloud desktop resource library bound to the target agent identifier carried in the cloud desktop usage request. In this embodiment, the server can ensure that computing resources that meet the user's needs are allocated according to the user's subscribed computing resource specifications. When a user initiates a cloud desktop usage request, the server can quickly determine the computing resource specifications required by the subscribing user from the mapping relationship, avoiding resource specification mismatches. For example, if a subscriber subscribes to 8 cores and 32GB of resources, the server will not mistakenly allocate 4 cores and 16GB of resources, thus ensuring the user experience.
[0067] In some embodiments, if the target cloud desktop resource library bound to the target agent's identifier does not have any idle computing resources, the server can obtain idle computing resources from other resource sources (such as a public resource pool) and provide them to the user. The resources in the target cloud desktop resource library are subscribed to by the agent on an annual or monthly basis, with a fixed cost. The computing resources obtained by the server from other resource sources are billed based on actual usage, no longer limited to an annual or monthly subscription model. Consequently, the server generates a corresponding bill for the agent's electronic devices, and the agent needs to pay additional fees for these extra resources. The agent then settles accounts with the subscribing user. In this embodiment, when computing resources are scarce, users do not need to wait for resources to be released; the server can automatically obtain computing resources from other resource pools, ensuring uninterrupted cloud desktop service and improving the user experience.
[0068] In some embodiments, please refer to Figure 5 To enhance the user experience, subscribers can be grouped, with different groups indicating different cloud desktop usage scenarios, such as... Figure 5Subscribers are divided into two groups. Different cloud desktop usage scenarios can be categorized based on user needs and industry characteristics. These scenarios include, but are not limited to, office use, design / graphics processing, game development / operation, video editing / post-production, and virtual reality (VR) / augmented reality (AR) scenarios. This embodiment can provide personalized services to subscribers in each group, tailored to their specific cloud desktop usage scenario. For example, pre-downloading relevant data files, pre-launching certain applications, or pre-displaying certain content can simplify user operations and enhance the user experience. For instance, in an office use scenario, text editors, email clients, spreadsheet software, and lightweight data analysis tools can be pre-downloaded; similarly, in a game development / operation scenario, Unity, Unreal Engine, 3D rendering engines, and testing frameworks can be pre-downloaded.
[0069] In one possible implementation, when providing cloud desktop services to subscribers, each agent can first determine the subscriber's usage needs for the cloud desktop, and then group users according to these needs. The agent's electronic device can send cloud desktop subscription information to the server. This subscription information may include the agent's identifier, the subscriber's user identifier, and the group to which the subscriber belongs. The server receives the cloud desktop subscription information sent by any agent's electronic device, selects unsubscribed storage resources from the cloud desktop resource library bound to the agent's identifier, and binds these unsubscribed storage resources to the user identifier included in the cloud desktop subscription information, thus obtaining bound storage resources. Then, based on the group in the cloud desktop subscription information, it loads data files that match the cloud desktop usage scenario indicated by that group and stores them in the bound storage resources. For example, data files include, but are not limited to, specific applications, configuration files, or operating system images. This embodiment provides personalized configuration according to different user needs, ensuring that each subscriber's cloud desktop environment matches their actual work or study scenario, thus improving the user experience.
[0070] Understandably, the correspondence between different groups and data file types can be preset so that the server can determine the type of data file to be loaded based on the group in the subscription information and the above correspondence, thereby improving the server's configuration efficiency.
[0071] For example, suppose Company A subscribes to a cloud desktop service through an agent. There are two types of subscribers: the first type is office workers who primarily use basic office software such as text editors, email, and lightweight data analysis tools; the second type is designers who need to run high-performance graphics processing software, such as 3D modeling tools and graphics rendering. The agent divides Company A's users into two groups based on their usage needs, such as an office group and a design group. When providing the cloud desktop service, the agent sends the cloud desktop requirements of these two groups to the server via electronic devices. For example, the subscription information sent to the server includes the agent's identifier, the subscriber's user identifier (the user identifiers of the office workers and designers in Company A), and their group (office workers are assigned to the "office group," and designers are assigned to the "design group"). After receiving the subscription information sent by the agent's electronic devices, the server selects unsubscribed storage resources from the cloud desktop resource library bound to that agent and binds them to the user identifiers of the subscribers in Company A. Furthermore, for storage resources bound to user identifiers belonging to the office group, the server loads and stores a basic office environment including text editing, email, and lightweight data analysis software; for storage resources bound to user identifiers belonging to the design group, the server loads and stores a working environment that supports high-performance graphics processing, including 3D modeling tools, graphics renderers, and other resources.
[0072] When Zhang San (an office worker) uses the cloud desktop service, he will receive a lightweight cloud desktop environment suitable for daily office tasks, with minimal system resource usage, primarily configured with tools such as a text editor and email client. Li Si (a designer), on the other hand, will receive a high-performance cloud desktop, supporting the running of computationally intensive software such as 3D modeling and graphics processing, meeting the needs of design tasks. In this way, every employee of Company A can obtain a suitable cloud desktop service.
[0073] In some embodiments, considering that user needs are dynamically changing—for example, a subscriber may convert a cloud desktop environment originally used for gaming into an office environment based on changes in their work—manually changing the configuration of the cloud desktop environment would be cumbersome. Therefore, this embodiment allows subscribers to send a group change request to the server based on their actual usage needs; or, the subscriber communicates the group change request with a corresponding agent, whose electronic device sends the request to the server. The server receives the group change request, which includes the subscriber's user identifier and the target group. It then determines the pending storage resource bound to the user identifier included in the group change request from the cloud desktop resource library; subsequently, it deletes data files in the pending storage resource that match the original cloud desktop usage scenario, loads data files that match the cloud desktop usage scenario indicated by the target group, and stores them in the pending storage resource. In this embodiment, subscribers no longer need to manually change the configuration of the cloud desktop environment, reducing the complexity of the operation; after receiving a group change request, the server can effectively adjust the use of storage resources and respond to user needs more quickly by automatically loading new data files that match the target group, which provides users with greater flexibility.
[0074] Specifically, the group change request also carries an agent identifier. Based on the agent identifier, the server determines the target cloud desktop resource library from multiple cloud desktop resource libraries corresponding to different agents; then, it determines the storage resource to be processed that is bound to the user identifier included in the group change request from the target cloud desktop resource library, and performs the above operations on the storage resource to be processed.
[0075] For example, suppose User A originally used a cloud desktop for game development, requiring high graphics processing capabilities. However, as the project completes, User A's primary needs shift to daily office work. User A can send a group change request through their user terminal, or communicate with an agent to have the agent send a group change request. For instance, User A can send a group change request through their user terminal, including their user identifier and the target group "Office." Upon receiving the group change request, the server determines User A's storage resources, deletes the original game-related data files, and loads new office-related data files (such as document processing, emails, and office applications). Through these operations, User A can quickly and seamlessly transition to the new work mode, improving work efficiency while ensuring that their cloud desktop environment always adapts to their actual needs.
[0076] In another possible implementation, each user subscribing to the cloud desktop service can send a cloud desktop usage request to the server when they need to use the service. This request carries not only the target user identifier and the target agent identifier, but also the group to which the subscribing user belongs; different groups indicate different cloud desktop usage scenarios. Then, after the server combines target storage and computing resources to obtain a cloud desktop for the user's terminal, it can pre-launch applications and / or display content that conforms to the cloud desktop usage scenario indicated by that group, based on the group in the cloud desktop usage request. In this embodiment, users do not need to manually configure applications and can directly enter the relevant cloud desktop usage state, greatly improving efficiency and experience. By preloading applications, users can quickly start working or playing, reducing waiting time. Automatic loading of applications and content reduces errors that may occur during manual configuration, ensuring the cloud desktop is always in good condition.
[0077] For example, for the office user group, the server can pre-launch office software (such as document processing software, email clients, etc.) and display relevant work documents or email interfaces. For the design user group, the server can load graphic design software (such as Adobe Photoshop, AutoCAD, etc.) and open the user's most recently designed files or templates. For the gaming user group, the server can launch the game client and pre-load the games the user has recently played, reducing startup time.
[0078] The various technical features in the above embodiments can be combined arbitrarily, as long as there is no conflict or contradiction between the combinations of features. However, due to space limitations, they are not described one by one. Therefore, the arbitrary combination of various technical features in the above embodiments is also within the scope of this specification.
[0079] In some embodiments, this specification also provides an electronic device, including: a processor; and a memory for storing processor-executable instructions; wherein the processor implements the method described in any one of the above embodiments by executing the executable instructions.
[0080] Figure 6 This is a schematic structural diagram of a device provided in an exemplary embodiment. Please refer to... Figure 6At the hardware level, the device includes a processor 602, an internal bus 604, a network interface 606, memory 608, and non-volatile memory 610, and may also include other hardware required for its functions. One or more embodiments of this specification can be implemented in software, such as the processor 602 reading the corresponding computer program from the non-volatile memory 610 into memory 608 and then running it. Of course, in addition to software implementation, one or more embodiments of this specification do not exclude other implementation methods, such as logic devices or a combination of hardware and software, etc. That is to say, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0081] For example, cloud desktop management devices can be applied to, for example, Figure 6 The device shown implements the technical solution described in this specification. The device provides a cloud desktop resource library, which includes storage resources and computing resources, wherein the number of storage resources is greater than the number of computing resources, and the subscribed storage resources in the cloud desktop resource library are bound to the user identifiers of the subscribing users. The cloud desktop management device may include:
[0082] The cloud desktop usage module is used to, upon receiving a cloud desktop usage request carrying a first target user identifier from any user terminal, retrieve the target storage resources bound to the target user identifier and the target computing resources in an idle state from the cloud desktop resource library.
[0083] The cloud desktop usage module is further configured to combine the target storage resources and the target computing resources to obtain a cloud desktop for use by the user terminal, and to set the status of the target computing resources to a used state. For example, the device also includes a cloud desktop release module, configured to, upon receiving a cloud desktop release request from any user terminal, split the cloud desktop indicated by the cloud desktop release request into resources, and set the status of the split computing resources to an idle state.
[0084] In one implementation, there are multiple cloud desktop resource libraries, and each cloud desktop resource library is bound to the agent identifier of the agent; the cloud desktop usage request also carries the target agent identifier.
[0085] The cloud desktop usage module is specifically used for: determining a target cloud desktop resource library from the plurality of cloud desktop resource libraries corresponding to different agents based on the target agent identifier; obtaining target storage resources bound to the target user identifier from the target cloud desktop resource library; and obtaining target computing resources in an idle state from the target cloud desktop resource library.
[0086] In one implementation, the number of storage resources included in each of the cloud desktop resource libraries is determined based on the number of subscribers who subscribe to cloud desktop services from the agent corresponding to that cloud desktop resource library.
[0087] The number of computing resources included in each of the cloud desktop resource libraries is determined based on the number of users and the cloud desktop historical usage data of each subscriber; wherein, the cloud desktop historical usage data of each subscriber includes at least one of the following: the frequency of use, time period and duration of use of the cloud desktop by each subscriber who subscribes to the cloud desktop service from the agent corresponding to the cloud desktop resource library.
[0088] For example, the number of computing resources included in each of the cloud desktop resource libraries is the sum of the number of concurrent users of the cloud desktops and the reserved number; wherein, the number of concurrent users of the cloud desktops is determined based on statistical analysis of the users' historical cloud desktop usage data; and, the reserved number is positively correlated with the number of users.
[0089] In one implementation, the cloud desktop resource library includes at least two types of computing resources.
[0090] The cloud desktop usage module is specifically used to: determine the target specification of the target computing resource to be acquired from the pre-stored mapping relationship between user identifiers and computing resource specifications based on the target user identifier; the mapping relationship is used to describe the specifications of computing resources in the cloud desktop service subscribed to by each subscriber; and acquire the target computing resource that is idle and has the target specification from the cloud desktop resource library.
[0091] In one implementation, the device further includes a storage resource binding module for receiving cloud desktop subscription information, the cloud desktop subscription information including the user identifier and group of the subscribing user; wherein different groups indicate different cloud desktop usage scenarios; selecting unsubscribed storage resources from the cloud desktop resource library, and binding the unsubscribed storage resources with the user identifier included in the cloud desktop subscription information to obtain bound storage resources; loading data files that conform to the cloud desktop usage scenario indicated by the group according to the group in the cloud desktop subscription information, and storing them in the bound storage resources.
[0092] In one implementation, there are multiple cloud desktop resource libraries, and each cloud desktop resource library is bound to the agent's agent identifier.
[0093] The storage resource binding module is specifically used to receive cloud desktop subscription information sent by any agent's electronic device; wherein, the cloud desktop subscription information also includes an agent identifier; and to select unsubscribed storage resources from the cloud desktop resource library bound to the agent identifier included in the cloud desktop subscription information.
[0094] In one implementation, the device further includes a group replacement module for receiving a group replacement request, the group replacement request including the user identifier of the subscribed user and the target group after replacement; determining, from the cloud desktop resource library, a pending storage resource bound to the user identifier included in the group replacement request; deleting data files in the pending storage resource that conform to the original cloud desktop usage scenario, loading data files that conform to the cloud desktop usage scenario indicated by the target group, and storing them in the pending storage resource.
[0095] In one implementation, the cloud desktop usage request also carries the group to which the subscribed user belongs, as indicated by the target user identifier; different groups indicate different cloud desktop usage scenarios.
[0096] The cloud desktop usage module is further configured to, after combining the target storage resources and the target computing resources to obtain a cloud desktop for the user terminal, pre-launch applications conforming to the cloud desktop usage scenario indicated by the group in the cloud desktop usage request and / or display content conforming to the cloud desktop usage scenario indicated by the group in the cloud desktop usage request. The specific implementation process of the functions and roles of each module in the above device is detailed in the implementation process of the corresponding steps in the above method, and will not be repeated here.
[0097] Based on the same concept as the methods described above, this specification also provides an electronic device, including: a processor; a memory for storing processor-executable instructions; wherein the processor performs the steps of the method as described in any of the above embodiments by executing the executable instructions.
[0098] Based on the same concept as the methods described above, this specification also provides a computer-readable storage medium having computer instructions stored thereon that, when executed by a processor, implement the steps of the methods as described in any of the above embodiments.
[0099] Computer-readable media, including both permanent and non-permanent, removable and non-removable media, can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, disk storage, quantum memory, graphene-based storage media or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0100] Based on the same concept as the methods described above, this specification also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the methods as described in any of the above embodiments.
[0101] The above description is merely a preferred embodiment of one or more embodiments of this specification and is not intended to limit the scope of one or more embodiments of this specification. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of one or more embodiments of this specification should be included within the protection scope of one or more embodiments of this specification.
Claims
1. A cloud desktop management method, applied to a server, wherein the server provides a cloud desktop resource library, the cloud desktop resource library including storage resources and computing resources, and the number of storage resources is greater than the number of computing resources, and the subscribed storage resources in the cloud desktop resource library are bound to the user identifiers of the subscribing users; the method includes: If a cloud desktop usage request carrying a target user identifier is received from any user terminal, the target storage resource bound to the target user identifier and the target computing resource in an idle state are obtained from the cloud desktop resource library. The target storage resources and the target computing resources are combined to obtain a cloud desktop for use by the user terminal, and the status of the target computing resources is set to the usage status.
2. The method according to claim 1, further comprising: If a cloud desktop release request is received from any user terminal, the cloud desktop to which the cloud desktop release request is directed is split into resources, and the status of the split computing resources is set to idle.
3. The method according to claim 1 or 2, wherein there are multiple cloud desktop resource libraries, and each cloud desktop resource library is bound to the agent identifier of the agent; The cloud desktop usage request also carries the target agent identifier; The step of obtaining the target storage resources bound to the target user identifier and the target computing resources in an idle state from the cloud desktop resource library includes: From the multiple cloud desktop resource libraries, determine the target cloud desktop resource library that is bound to the target agent identifier; Obtain target storage resources bound to the target user identifier from the target cloud desktop resource library, and obtain target computing resources that are in an idle state from the target cloud desktop resource library.
4. The method according to claim 3, wherein the number of storage resources included in each of the cloud desktop resource libraries is determined based on the number of subscribers who subscribe to cloud desktop services from the agent corresponding to the cloud desktop resource library; The number of computing resources included in each of the aforementioned cloud desktop resource libraries is determined based on the number of users and the historical cloud desktop usage data of each subscribed user; wherein, The cloud desktop historical usage data of each subscriber includes at least one of the following: the frequency of cloud desktop usage, usage time period, and usage duration of each subscriber who subscribes to cloud desktop services from the agent corresponding to the cloud desktop resource library.
5. The method according to claim 4, wherein the number of computing resources included in each of the cloud desktop resource libraries is the sum of the number of concurrent users and the reserved number of cloud desktops; in, The number of concurrent users of the cloud desktop is determined based on statistical analysis of the user's historical cloud desktop usage data; and the number of reserved users is positively correlated with the number of users.
6. The method according to claim 1, wherein the cloud desktop resource library includes at least two types of computing resources; The step of obtaining idle target computing resources from the cloud desktop resource library includes: Based on the target user identifier, the target specification of the target computing resource to be acquired is determined from the pre-stored mapping relationship between user identifiers and computing resource specifications; the mapping relationship is used to describe the specifications of computing resources in the cloud desktop service subscribed to by each subscriber. Obtain target computing resources that are idle and meet the target specifications from the cloud desktop resource library.
7. The method according to claim 1, further comprising: Receive cloud desktop subscription information, which includes the user identifier and group of the subscribing user; wherein, different groups indicate different cloud desktop usage scenarios; Select unsubscribed storage resources from the cloud desktop resource library and bind the unsubscribed storage resources with the user identifier included in the cloud desktop subscription information to obtain bound storage resources; According to the group in the cloud desktop subscription information, load the data file that matches the cloud desktop usage scenario indicated by the group and store it in the bound storage resource.
8. The method according to claim 7, wherein there are multiple cloud desktop resource libraries, and each cloud desktop resource library is bound to the agent identifier of the agent; The receipt of cloud desktop subscription information includes: Receive cloud desktop subscription information sent by any agent's electronic device; wherein, the cloud desktop subscription information also includes an agent identifier; The step of selecting unsubscribed storage resources from the cloud desktop resource library includes: Select unsubscribed storage resources from the cloud desktop resource library that is bound to the agent identifier included in the cloud desktop subscription information.
9. The method according to claim 7, further comprising: Receive a group change request, wherein the group change request includes the user identifier of the subscribed user and the target group to be changed; From the cloud desktop resource library, determine the storage resources to be processed that are bound to the user identifier included in the group change request; Delete the data files in the storage resources to be processed that match the original cloud desktop usage scenario, load the data files in the cloud desktop usage scenario that match the target group indication, and store them in the storage resources to be processed.
10. The method according to claim 1, wherein the cloud desktop usage request further carries the group to which the subscribed user belongs, as indicated by the target user identifier; different groups indicate different cloud desktop usage scenarios; The method further includes: After combining the target storage resources and the target computing resources to obtain a cloud desktop for the user terminal, according to the group in the cloud desktop usage request, the application that conforms to the cloud desktop usage scenario indicated by the group is pre-launched in the cloud desktop and / or the content that conforms to the cloud desktop usage scenario indicated by the group is displayed.
11. A cloud desktop management device, applied to a server, the server providing a cloud desktop resource library, the cloud desktop resource library including storage resources and computing resources, wherein the quantity of storage resources is greater than the quantity of computing resources, and the subscribed storage resources in the cloud desktop resource library are bound to the user identifiers of subscribed users; the device comprises: The cloud desktop usage module is used to, upon receiving a cloud desktop usage request carrying a first target user identifier from any user terminal, retrieve the target storage resources bound to the target user identifier and the target computing resources in an idle state from the cloud desktop resource library. The cloud desktop usage module is further configured to combine the target storage resources and the target computing resources to obtain a cloud desktop for use by the user terminal, and to set the status of the target computing resources to a usage state.
12. An electronic device, comprising: processor; A memory for storing processor-executable instructions; wherein the processor implements the steps of the method as described in any one of claims 1-10 by executing the executable instructions.
13. A computer-readable storage medium having stored thereon computer instructions that, when executed by a processor, implement the steps of the method as claimed in any one of claims 1-10.
14. A computer program product comprising a computer program / instructions that, when executed by a processor, implement the steps of the method as claimed in any one of claims 1-10.