Cloud product startup method, resource prediction method, system, device, product, and medium
By predicting the future resource requirements of cloud products through pre-trained models and configuring the amount of resources in the preset resource pool, the problem of long startup time of cloud products is solved, and rapid startup and efficient resource utilization are achieved.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
- Filing Date
- 2025-12-12
- Publication Date
- 2026-07-23
AI Technical Summary
Existing cloud products take a certain amount of time from production to launch, which cannot meet users' elasticity needs and rapid response requirements.
By predicting users' future resource needs through pre-trained models and configuring the amount of resources in a preset resource pool, resource configuration during the cloud product startup process can be accelerated.
It enables rapid startup of cloud products, avoids resource configuration time overhead, improves resource utilization efficiency, and reduces resource waste.
Smart Images

Figure CN2025142093_23072026_PF_FP_ABST
Abstract
Description
Cloud product launch, resource prediction methods, systems, equipment, products and media Technical Field
[0001] This disclosure relates to the field of cloud computing technology, and in particular to cloud product launch, resource prediction methods, systems, devices, products and media. Background Technology
[0002] In some cloud computing environments, such as cloud products like containers, most users have elasticity requirements, meaning they want cloud products to be able to start up in a short time to handle changing upstream traffic at a lower cost. However, currently, cloud products often take a certain amount of time from production to startup, which cannot effectively meet user needs. Summary of the Invention
[0003] To overcome the problems existing in related technologies, this disclosure provides cloud product startup, resource prediction methods, systems, devices, products and media.
[0004] According to a first aspect of the present disclosure, a cloud product launch method is provided, the method comprising: in response to receiving a cloud product launch request from a target user, obtaining target cloud product information carried in the cloud product launch request; obtaining resources matching the target cloud product information from a preset resource pool to launch the target cloud product; wherein the resources stored in the preset resource pool are obtained by configuring the number of resources in the preset resource pool based on prediction data obtained according to a preset period, and the prediction data characterizes the future resource requirements of the cloud product.
[0005] According to a second aspect of the present disclosure, a method for predicting the resource requirements of a cloud product is provided. The method includes: acquiring recent historical usage data of a user on a cloud product, the recent historical usage data including: historical actual usage information of the cloud product at each historical moment within a recent historical time period; acquiring predicted usage information of the cloud product at multiple future moments predicted by a time-series prediction model based on the recent historical usage data; acquiring prediction residual information corresponding to the predicted usage information of the cloud product at each future moment predicted by a residual prediction model based on the recent historical usage data; adjusting the predicted usage information using the prediction residual information to obtain predicted data characterizing the future resource requirements of the cloud product; wherein the predicted data is used to configure the quantity of resources stored in a preset resource pool, and the resources are used to start the cloud product.
[0006] According to a third aspect of the present disclosure, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the method embodiments described in the first or second aspect above.
[0007] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored, wherein the computer program, when executed by a processor, implements the steps of the method embodiments described in the first or second aspect above.
[0008] According to a fifth aspect of the present disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps of the method embodiments described in the first or second aspect.
[0009] The technical solutions provided by the embodiments of this disclosure may include the following beneficial effects: In the embodiments of this disclosure, predictive data is acquired according to a preset period, and the quantity of resources stored in a preset resource pool is configured based on the predictive data; wherein, the predictive data can characterize the future resource requirements of cloud products; therefore, this embodiment can accurately predict the user's future resource requirements for cloud products, and constructs a preset resource pool to configure the quantity of resources stored in the resource pool based on the predictive data, preventing resource waste. Since the required resources are pre-configured in the preset resource pool for the user, when a cloud product startup request from a target user is received, resources matching the target cloud product information can be obtained from the preset resource pool, thereby minimizing the time overhead in resource configuration during cloud product startup and achieving the goal of accelerating cloud product startup.
[0010] 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 disclosure. Attached Figure Description
[0011] Figure 1A is a flowchart illustrating a cloud product launch method according to an exemplary embodiment of this disclosure.
[0012] Figure 1B is a schematic diagram of a cloud product launch system according to an exemplary embodiment of this disclosure.
[0013] Figure 1C is a schematic diagram of a scheduling strategy module according to an exemplary embodiment of the present disclosure.
[0014] Figure 1D is a schematic diagram of a negative feedback module according to an exemplary embodiment of the present disclosure.
[0015] Figure 1E is a schematic diagram illustrating historical usage data according to an exemplary embodiment of this disclosure.
[0016] Figure 2 is a flowchart illustrating a resource prediction method for a cloud product according to an exemplary embodiment of this disclosure.
[0017] Figure 3 is a hardware structure diagram of a computer device containing a cloud product initiation device / cloud product resource prediction device according to an exemplary embodiment of the present disclosure.
[0018] Figure 4 is a block diagram of a cloud product launch device according to an exemplary embodiment of the present disclosure.
[0019] Figure 5 is a block diagram of a resource prediction apparatus for a cloud product according to an exemplary embodiment of the present disclosure. Detailed Implementation
[0020] 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 this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.
[0021] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The singular forms “a,” “the,” and “the” as used in this disclosure and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.
[0022] It should be understood that although the terms first, second, third, etc., may be used in this disclosure to describe various information, such information should not be limited to these terms. These terms are used only to distinguish information of the same type from one another. For example, without departing from the scope of this disclosure, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."
[0023] 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 disclosure are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data shall comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points shall be provided for users to choose to authorize or refuse.
[0024] In cloud computing environments, cloud products such as container instances or container computing services need to provide users with elastic services. For example, Elastic Container Instance (ECI) is a containerized cloud product for serverless environments. By shielding users from the details of the underlying servers, it allows users to start services simply by providing an image.
[0025] In these scenarios, the vast majority of users have elasticity requirements, meaning they expect cloud products such as containers to be created and running within seconds, thus handling changes in upstream traffic at a low cost. Currently, however, cloud products often require a certain amount of time from production to completion, such as 20 seconds, which cannot effectively meet user needs.
[0026] Based on this, this disclosure provides a cloud product startup solution that can predict users' future resource needs for cloud products through a pre-trained model, pre-configure the required resources for users in a preset resource pool, avoid resource configuration overhead during the cloud product startup process, and thus achieve the goal of accelerating cloud product startup. The following is a detailed description of this embodiment.
[0027] As shown in Figure 1A, which is a flowchart illustrating a cloud product startup method according to an exemplary embodiment of the present disclosure, the method includes the following steps.
[0028] In step 102, in response to receiving a cloud product launch request from a target user, the target cloud product information carried in the cloud product launch request is obtained.
[0029] The predicted data is generated by a pre-trained model based on recent historical usage data of cloud products by users, and the predicted data represents the future resource requirements of cloud products.
[0030] In step 104, resources matching the target cloud product information are obtained from the preset resource pool to start the target cloud product.
[0031] The resources stored in the preset resource pool are obtained by configuring the number of resources in the preset resource pool based on the predicted data obtained according to a preset period. The predicted data represents the future resource demand of the cloud product.
[0032] The cloud product launch method provided in this disclosure can be applied to computer devices, including but not limited to physical servers of independent hosts, virtual servers hosted by host clusters, server clusters, cloud servers that provide basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud storage, network services, and cloud communication, smartphones / mobile phones, tablet computers, personal digital assistants, laptop computers, desktop computers, or any other type of device.
[0033] As an example, the method of this embodiment can be applied to a server, which can be a program installed on any of the aforementioned computer devices to provide services to users. Optionally, the execution order of the various steps in the method of this embodiment can be arbitrary, and the number of times different steps are executed during the implementation of the solution can also be arbitrary.
[0034] In some examples, cloud products can be any product created based on cloud services, including but not limited to the aforementioned ECI, Elastic Compute Service (ECS), Elastic High Performance Computing (E-HPC), Entry Summary Declaration (ENS), Function Compute (FC), HBase (Apache HBase), or storage services.
[0035] As an example, step 102 can be executed multiple times, such as cyclically according to a preset period. The preset period can be configured according to actual needs, for example, it can be at the second, minute, or hour level. Taking a preset period of 1 minute as an example, the prediction data is obtained every 1 minute.
[0036] In practical applications, prediction data can be obtained in various ways. For example, prediction algorithms can be configured to generate prediction data. Alternatively, machine learning models can be used for prediction. Alternatively, prediction data can be obtained through pre-trained models. In this embodiment, the pre-trained model can be a large model, which refers to a machine learning model with a large number of parameters and complex computational structures. These models are typically built from deep neural networks and have billions or even hundreds of billions of parameters. Predicting user behavior related to cloud products based on pre-trained models allows for complex feature engineering and is applicable to a wide range of scenarios.
[0037] As an example, the pre-trained model can include a general-purpose large model, which can include the user's recent historical usage data of cloud products in the Prompt. By inputting the Prompt into the general-purpose large model, the general-purpose large model is instructed to output predicted data.
[0038] Alternatively, pre-trained models can include general time series prediction models trained using large-scale model techniques, or real-time time series prediction models with contextual capabilities. Pre-trained time series prediction models have already been trained on open-source time series datasets, allowing them to easily learn the general characteristics behind time series prediction tasks and enabling them to be transferred to other time series prediction scenarios without retraining.
[0039] As an example, the pre-trained model makes predictions based on users' recent historical usage data of cloud products. This recent historical usage data can be configured according to actual needs. For example, it can be historical usage data within a historical time range prior to the time point when the model makes predictions; for example, if the model needs to be at time T2, then historical usage data within the time range [T1, T2] is taken as the model input. The duration of the recent historical usage data, i.e., the duration from T1 to T2, can be configured according to actual needs, and this embodiment does not limit it.
[0040] As an example, the historical usage data of [T1,T2] can contain historical actual usage information of cloud products at multiple historical moments. The number of historical moments and the time interval between each historical moment can be configured according to actual needs. This embodiment does not limit this.
[0041] As an example, historical usage information may include one or more types of information, which can be configured as needed in actual applications. For example, it may include description information of cloud products and / or the number of cloud products. The description information of cloud products can also be flexibly configured according to actual needs, such as the type of cloud product, the specifications of cloud products, the region where cloud products are located, etc.
[0042] As an example, the server can provide cloud product services to multiple users. The server can receive cloud product launch requests from each user. The cloud product launch request carries target cloud product information. The target cloud product information represents the description of the target cloud product required by the user, including but not limited to the number of cloud products, the type of cloud products, the specifications of cloud products, the region information where the cloud products are located, etc.
[0043] Optionally, upon receiving a cloud product launch request from a target user, usage data representing the target user's use of the target cloud product can be generated and stored in a preset database. This allows for the retrieval of recent historical usage data from the database when a pre-trained model is needed for prediction.
[0044] As an example, the preset resource pool and its stored resources in this embodiment can be configured according to actual application scenarios. For example, the preset resource pool can include a set of resources pre-prepared in the cloud computing environment for quickly responding to cloud product startup requests. Specifically, the resource pool can include one or more resource pools, such as resource pools storing different types of resources, or resource pools storing different levels of resources, etc., which are not limited in this embodiment. The resources in the resource pool can be initialized and partially configured, such as started virtual machines (VMs), or virtual machines that have completed certain configurations (such as according to operating system, network settings, or cloud disk configuration), etc.
[0045] Based on this, this embodiment sets up a preset resource pool, which can acquire predictive data periodically. Since the predictive data represents the future resource requirements of cloud products, the number of resources in the preset resource pool can be configured based on the predictive data. There are various specific configuration methods; for example, the predictive data can specifically be the number of resources. The number of resources in the resource pool can be adjusted according to the number of resources in the predictive data, so that the resource data in the resource pool matches the predicted quantity. This prevents resource waste in the resource pool and ensures that the number of resources in the resource pool meets future user needs. Therefore, when this embodiment receives a cloud product launch request from a target user, since the required resources are pre-configured in the preset resource pool for the user, upon receiving the cloud product launch request from the target user, resources matching the target cloud product information can be obtained from the preset resource pool, thereby minimizing the time overhead of resource configuration during cloud product launch and achieving the goal of accelerating cloud product launch.
[0046] As an example, the preset resource pool may include resource pools of different levels, ranging from physical servers to virtual machines or containers ready to run user workloads, with each level providing resources to support different startup speeds. For instance, the preset resource pool may include resource pools of different levels, and the speed at which the resources stored in the resource pool are used to start cloud products is negatively correlated with the level of the resource pool; the step of obtaining resources from the preset resource pool that match the target cloud product information to start the target cloud product may include: obtaining resources that match the target cloud product information from resource pools of different levels in descending order of level to start the target cloud product.
[0047] In this embodiment, to optimize resource allocation and improve service response speed in a cloud computing environment, different levels of resource pools are designed. Each level represents a different degree of resource readiness. The higher the level of the resource pool, the closer the resources are to a ready-to-use state, and therefore the faster the cloud product can be launched. At the same time, to balance the cost of maintaining these resources, lower-level resource pools are also set up.
[0048] When a cloud product launch request is received from a target user, the system can attempt to match the most suitable resources in descending order of priority. For example, prioritizing the use of resources in the higher-level resource pool can minimize launch latency. If the higher-level resource pool cannot meet the requirements, the next lower-level resource pool will be used. Therefore, the multi-level resource pool design allows the quantity of resources at each level to be dynamically adjusted according to actual needs, ensuring both rapid response capabilities and effective resource utilization.
[0049] In this embodiment, the resource pool can have two or more levels. The specific level division can be flexibly set according to the actual situation. For example, it can only distinguish between "preheating" and "non-preheating" states. In more complex scenarios, based on the configuration process required for cloud product startup, more levels can be designed to more finely manage and optimize the resource allocation process. This embodiment does not limit this.
[0050] As an example, the different levels of resource pools include the following levels from low to high: a physical resource pool for storing physical resources; a virtual resource preheating pool for storing shared virtual resources created based on the physical resources for multiple users to share; and a user-specific resource pool for storing private virtual resources created based on the shared virtual resources and belonging to the user.
[0051] In this embodiment, research has shown that in cloud computing scenarios, the operation process of cloud products can typically be as follows: based on physical resources (physical machines configured with processors and memory, etc.), virtual resources (such as virtual machines, etc.) are virtualized, and then, based on the virtual resources, the user's cloud products are configured to run within the virtual machines. The configured virtual resources can then run the cloud products. Based on this, this embodiment designs the above three levels of resource pools.
[0052] ① The physical resources stored in the physical resource pool can be raw, unvirtualized physical machine resources, including but not limited to processors, memory, or network devices. These resources are in their most basic state. When starting a cloud product, a virtual environment needs to be created from scratch to obtain virtual resources, and then the user's required configurations need to be made based on these virtual resources. Therefore, using resources from the physical resource pool to start a cloud product is the slowest method. It can be understood that the resources in the physical resource pool are shared by all users.
[0053] ② Shared virtual resources in the virtual resource preheating pool can be understood as having already completed the basic virtualization process. For example, they can be created by scheduling suitable physical resources from the physical resource pool. Each shared virtual resource can be shared by multiple users. Compared to the physical resource pool, shared virtual resources have already had their virtual environments pre-created, but have not yet undergone final user-customized configuration. They can be further configured according to the user's specific needs for cloud products, and their startup speed is faster than that of the physical resource pool.
[0054] ③ User-specific resource pools store private virtual resources created specifically for particular users. These resources have been customized to meet the user's specific needs, such as loading specific images and configuring specific network cards. Based on these resources, users can directly launch their cloud products with less configuration (or no additional configuration), making it the fastest.
[0055] As an example, shared virtual resources may include one or more shared virtual machines; private virtual resources may include one or more private virtual machines on which user-private configurations are deployed. Here, user-private configurations may be the configurations required for the user's cloud products to run within the virtual machine, such as network card configurations, cloud disk configurations, or software configurations. This embodiment does not limit this.
[0056] It is understood that, in addition to the three-level resource pool approach described above, other methods can also be used in practical applications. For example, there could be two levels of resource pools, such as a physical resource pool and a virtual resource preheating pool; or a virtual resource preheating pool and a user-specific resource pool; or even more levels of resource pools. This embodiment does not limit this approach.
[0057] In practical applications, the number of resources stored in each level of resource pool can be flexibly set as needed. From a cost perspective, the size relationship of resource pools can be: physical resource pool > virtual resource preheating pool > user-dedicated resource pool. Of course, in practical applications, it can be flexibly configured as needed, and this embodiment does not limit it.
[0058] Optionally, in this embodiment, as described above, cloud products can be further subdivided into different types of cloud products, such as different regions or different specifications; the user-exclusive resource pool in this embodiment can also be subdivided into different types of resources, that is, supporting private virtual resources for different types of cloud products; similarly, the virtual resource preheating pool in this embodiment can also be subdivided into different types of shared virtual resources, that is, supporting shared virtual resources for different types of cloud products. Similarly, the physical resources in this embodiment can also be subdivided into different types of physical resources. Specifically, the granularity and the subdivision method can be flexibly configured based on the actual scenario, and this embodiment does not limit this.
[0059] As can be seen from the above embodiments, this embodiment designs the above three levels of resource pools, which can support the startup of cloud products, accelerate the startup of cloud products, and prevent resource waste.
[0060] In some examples, the step of acquiring resources matching the target cloud product information in descending order of priority to launch the target cloud product may include: if a target private virtual resource matching the target cloud product information is found in the user-specific resource pool corresponding to the target user, then the target cloud product is launched based on the target private virtual resource; if no such resource is found, and a target shared virtual resource matching the target cloud product information is found in the virtual resource preheating pool, then a target private virtual resource matching the target cloud product information is created based on the target shared virtual resource, and the target cloud product is launched; if no such resource is found, a target physical resource is scheduled from the physical resource pool, a target shared virtual resource matching the target cloud product information is created based on the target physical resource, and then a target private virtual resource matching the target cloud product information is created based on the target shared virtual resource, and the target cloud product is launched.
[0061] Based on this, when this embodiment receives a cloud product launch request from a target user, it can sequentially attempt to match the most suitable resources according to the aforementioned order from highest to lowest priority. First, it checks the target user's dedicated resource pool. If a matching resource is found, the target cloud product is launched directly based on that private virtual resource, achieving the fastest launch speed. If no matching resource is found in the user's dedicated resource pool, it continues to check the virtual resource preheating pool for a target shared virtual resource matching the target cloud product information. If a matching shared virtual resource is found, a private virtual resource matching the target cloud product information is created based on that shared virtual resource, and then the target cloud product is launched. Although this method is slightly slower than directly using the user's dedicated resource pool, it still provides a relatively fast launch speed. If no matching resource is found in the first two resource pools, the target physical resource can only be scheduled from the physical resource pool.
[0062] Optionally, the prediction data includes: a first predicted quantity of private virtual resources for the predicted user at a future time, and a second predicted quantity of shared virtual resources at a future time; configuring the quantity of resources stored in the preset resource pool based on the prediction data includes: configuring the quantity of private virtual resources in the user-specific resource pool based on the difference between the current quantity of the private virtual resources and the first predicted quantity; and configuring the quantity of shared virtual resources in the virtual resource preheating pool based on the difference between the current quantity of the shared virtual resources and the second predicted quantity.
[0063] For the three levels of resource pools mentioned above, this embodiment designs a method to predict the resources stored in the user-specific resource pool and the virtual resource preheating pool to configure the resource quantity of these two resource pools. For example, the aforementioned prediction embodiment can be used. For each user's specific resource pool, the future resource needs of each user can be predicted using each user's recent historical usage data. Based on each user's future resource needs, the private virtual resources stored in each user's specific resource pool can be configured. For the virtual resource preheating pool, the overall future demand for shared virtual resources can be predicted. Similarly, this can be done using the recent historical usage data of all users.
[0064] For example, suppose that at the current time t, the predicted data includes: Data ①: User A, the number of private virtual resources at time ti is k; Data ②: All users, the number of private virtual resources at time ti is j; where time ti is a future time after the current time t, and time ti can be one or more; that is, data for one or more future times can be predicted.
[0065] Before or at time ti, the user-specific resource pool and the virtual resource preheating pool can be configured based on predictions to ensure that the amount of resources in the resource pool is adjusted to match the possible future resource demand, thereby meeting the user's needs and preventing resource waste.
[0066] For example, for a user-specific resource pool, the quantity of private virtual resources in the pool is configured based on the difference between the current quantity and the first predicted quantity. For instance, if the current quantity is the same as the first predicted quantity, the current resource quantity does not need to be adjusted; if the current quantity is lower than the first predicted quantity, the quantity of resources in the pool can be increased to reach the first predicted quantity to meet the user's potential future resource needs; if the current quantity is greater than the first predicted quantity, the quantity of resources in the pool can be reduced to decrease costs. The configuration of the virtual resource preheating pool follows the same principle.
[0067] Optionally, in this embodiment, in addition to the difference between the current number of resources and the predicted number of resources, other configuration strategies can be introduced. For example, the resource pool can be set with other factors such as a capacity limit, and the configuration can be combined with other factors and the difference here.
[0068] In some examples, considering that in real-world scenarios, some users may experience low utilization rates of pre-created resources due to significant business fluctuations, the method may further include the following to improve resource utilization efficiency: after the target cloud product finishes running, obtain the utilization rate of the target cloud product; if the utilization rate of the target cloud product is lower than a set threshold, configure a corresponding cooldown period for the target user; wherein, the utilization rate refers to the ratio of the lifecycle of the target cloud product to the lifecycle of the target private virtual resource; configuring the quantity of private virtual resources in the user-exclusive resource pool based on the difference between the current quantity of the private virtual resources and the first predicted quantity includes: if the current quantity of private virtual machines stored in the user-exclusive resource pool of the predicted user is less than the first predicted quantity, determine whether the predicted user is configured with a cooldown period; if it is determined that the predicted user is configured with a cooldown period and is currently in the cooldown period, end the configuration; otherwise, configure the current quantity of private virtual resources stored in the user-exclusive resource pool of the predicted user to be the same as the first predicted quantity.
[0069] The duration of the cooling period can be configured according to actual needs, and this embodiment does not limit it. Optionally, the specific value of the threshold set here can be configured as needed in actual applications.
[0070] The lifecycle of the target cloud product refers to the duration of its operation from startup to shutdown. Since the cloud product relies on the target private virtual resource (PVR), the shutdown of the target cloud product also terminates the operation of the target PVR. Therefore, the lifecycle of the target PVR is the duration of its operation from creation to shutdown. The ratio of the target cloud product's lifecycle to the target PVR's lifecycle represents the utilization rate in this embodiment. A low utilization rate indicates that the PVR is idle most of the time and not fully utilized; it also indicates that the user's target cloud product has a low runtime.
[0071] In this embodiment, the utilization rate can be obtained after the target cloud product finishes running, and compared with a set threshold. If the utilization rate is lower than the set threshold, it can be determined that the target private virtual resource is not being used efficiently. Therefore, this embodiment can configure a corresponding cooldown period for the target user. That is, a cooldown period can be configured for users with low utilization of the target cloud product. The cooldown period applies to the configuration of the user's dedicated resource pool. For example, when the user is a predicted user, and it is necessary to configure the current number of private virtual machines stored for the predicted user, if the current number of private virtual machines stored in the user's dedicated resource pool is less than the first predicted number, then without a cooldown period, the current number of private virtual machines needs to be increased. However, due to the configuration of the cooldown period, in order to prevent resource waste, this embodiment determines whether the predicted user has a cooldown period configured. If so, the current configuration ends; otherwise, the current number of private virtual resources stored in the predicted user's dedicated resource pool is configured to be the same as the first predicted number. Therefore, during the cooldown period, even if the obtained forecast data indicates a need for increased resources, configuration can be temporarily skipped, and the creation of additional target private virtual resources can be paused. This embodiment, by introducing a cooldown period mechanism, effectively manages resource usage while ensuring rapid response to user needs, avoiding resource waste caused by business fluctuations.
[0072] In some examples, considering the possible errors between prediction and reality, in order to reduce resource waste, the method in this embodiment may further include: if there are long-term private virtual resources with a creation time greater than a first preset threshold in the user-exclusive resource pool, releasing the long-term private virtual resources; and / or, if there are long-term shared virtual resources with a creation time greater than a second preset threshold in the virtual resource preheating pool, releasing the long-term shared virtual resources.
[0073] The first and second preset thresholds can both be set to specific values as needed, and they can be the same or different; this embodiment does not impose any limitations on this. Therefore, in cases where predictions are inaccurate or user behavior fluctuates significantly, these pre-built but unused resources can be released promptly through this embodiment, thereby reducing resource waste.
[0074] In some examples, to improve prediction accuracy, the pre-trained model may include: a pre-trained time-series prediction model and a residual prediction model; the recent historical usage data may include: historical actual usage information of cloud products at each historical moment within the recent historical time period; obtaining prediction data may include: obtaining predicted usage information of cloud products at multiple future moments predicted by the time-series prediction model based on the recent historical usage data; obtaining prediction residual information corresponding to the predicted usage information predicted by the residual prediction model based on long-term historical usage data; adjusting the corresponding predicted usage information using each of the prediction residual information to obtain the prediction data; wherein, the training data of the residual prediction model includes: long-term historical usage data and labels; the long-term historical usage data includes historical actual usage information of cloud products at each historical moment within the long-term historical time period, the duration of the long-term historical time period being greater than the duration of the recent historical time period; the label is the difference between the historical actual usage information at each historical moment within the long-term historical time period and the historical predicted usage information at each historical moment within the long-term historical time period predicted by the time-series prediction model.
[0075] Optionally, the time series prediction model can be an open-source general-purpose time series prediction model, or it can be built by oneself. There are various residual prediction models, such as autoregressive or other linear regression models, or any other machine learning model, such as gradient boosting tree models, etc. This embodiment does not limit them.
[0076] Optionally, the time-series prediction model can be used directly without training based on the vertical domain scenario of this embodiment. The residual prediction model, however, can be trained to some extent.
[0077] Optionally, in the foregoing embodiments, there are two types of prediction data. For this embodiment, a time series prediction model can be used to predict both types of data, and then two trained residual prediction models can be used to predict residual information respectively.
[0078] In this embodiment, considering that the time series prediction scheme based on the large model may not be able to take into account the impact of the user's historical profile on the current behavior, this embodiment designs an additional residual prediction model to fit the residual between the predicted value and the actual value of the time series prediction model, so as to adjust the predicted value of the time series prediction model through the prediction results of the residual prediction model, thereby improving the prediction accuracy of the time series prediction model.
[0079] The training data for the residual prediction model includes long-term historical usage data and labels. The training data spans a long period, allowing the model to learn user behavior patterns over a longer timeframe. For example, long-term historical usage data can include: the user's past 1 day ([T1-1Day, T2-1DAY]), past 7 days ([T1-7Day, T2-7DAY]), past 1 month ([T1-30Day, T2-30DAY]), and negative feedback data. The labels are the difference between the time-series prediction model's predicted value and the actual value for this training data. For example, during training, the residual prediction model can be fed long-term historical usage data into the model. The residual prediction model generates prediction results based on the long-term historical usage data. The prediction results represent the difference between the predicted value and the actual value of the long-term historical usage data by the time series prediction model. This prediction difference can be compared with the label. For example, the difference between the prediction difference and the label can be used as the optimization objective. Based on this optimization objective, that is, the difference between the prediction difference and the label, the model parameters of the residual prediction model can be adjusted.
[0080] Therefore, when using cloud products online, recent historical usage data can be input into the time-series prediction model to obtain predicted usage information for cloud products at multiple future moments. For example, at time T2, recent historical usage data within the time range [T1, T2] can be used as input to the time-series prediction model. The output of the time-series prediction model can be the predicted usage information for cloud products at each future moment, such as the predicted quantity of resources. For example, it could be: "ti: quantity N1; ti+1: quantity N2; ti+2: quantity N3", where ti, ti+1, and ti+2 are the future moments, and quantities N1, N2, and N3 are the predicted quantities of resources.
[0081] Furthermore, long-term historical usage data can be input into the residual prediction model to obtain the prediction residual information corresponding to each predicted usage information. For example, long-term historical usage data (including user usage data of cloud products and negative feedback data of cloud product release) for the past 1 day ([T1-1Day,T2-1DAY]), the past 7 days ([T1-7Day,T2-7DAY]), and the past month ([T1-30Day,T2-30DAY]) can be taken as the input of the residual prediction model; the prediction residual information corresponding to each predicted usage information output by the residual prediction model can be "ti: △n1; ti+1: △n2; ti+2: △n3", where △n1, △n2, and △n3 are the prediction residual information.
[0082] Therefore, by adding the prediction information of each future moment predicted by the time series prediction model to the prediction residual information of each future moment predicted by the residual prediction model, the prediction data can be obtained.
[0083] As can be seen from the above embodiments, this embodiment designs an additional residual prediction model to fit the residual between the predicted value and the actual value of the time series prediction model, so as to adjust the predicted value of the time series prediction model through the prediction results of the residual prediction model, thereby improving the prediction accuracy of the time series prediction model.
[0084] In some examples, the method may further include: generating historical usage data representing the target user's use of the target cloud product based on the cloud product launch request and storing it in a preset database; generating historical usage data representing the unused nature of the released virtual resources and storing it in a preset database for the released virtual resources; wherein the recent historical usage data and the long-term historical usage data are obtained from the preset database.
[0085] In this embodiment, a pre-set database can be used to uniformly store historical usage data, thereby supporting the prediction or training of pre-trained models and improving prediction accuracy. Specifically, this embodiment can generate historical usage data representing the target user's use of the target cloud product whenever a cloud product launch request is received.
[0086] Furthermore, unused virtual resources also exist; for example, regarding released virtual resources, when a private or shared virtual resource is released due to prolonged inactivity, historical usage data representing the unused nature of the released virtual resource can also be generated. Therefore, the historical usage data required for model training and online inference can be obtained from the database. Moreover, the database stores not only data representing user usage of cloud products as positive feedback data, but also historical usage data representing the unused nature of the released virtual resources as negative feedback data. Therefore, this embodiment can improve the model's prediction accuracy.
[0087] The following explanation will take an application in a container scenario as an example.
[0088] As an example, the server used in this embodiment can be configured with different functional modules. For instance, as shown in Figure 1B, which is a schematic diagram of a cloud product launch system according to an embodiment of this disclosure, this embodiment is configured with a resource production system for managing resources in a preset resource pool; and a prediction system for generating prediction data and providing it to the resource production system. As an example, the method of this embodiment can be applied to the resource production system. The prediction system can generate prediction data and provide it to the resource production system. The resource production system manages the preset resource pool, configures the resources in the preset resource pool based on the prediction data, and launches the required cloud product for the user based on the preset resource pool. Of course, other configuration methods can also be used in practical applications, and this embodiment does not limit this.
[0089] 1. Resource production system; responsible for handling container instance startup requests and resource configuration requests.
[0090] Optionally, the resource production system can be configured with a scheduler and a negative feedback module to execute different processing steps respectively; in practical applications, these execution steps can also be flexibly implemented by other functional modules, and this embodiment does not limit this.
[0091] For a user's container instance startup request, the scheduler first records the user's creation behavior in the database. Each creation request corresponds to one line of log in the database. Each log line may include: region ID (Identity), availability zone ID, user UID, switch list, and resource specification list.
[0092] In this embodiment, "region ID" and "availability zone ID" can jointly represent information about a geographical area. For example, the region ID can be a city ID, and the availability zone ID can be the ID of different data centers within the city. Of course, in practical applications, it is also optional to use other methods to distinguish geographical areas, and this embodiment does not limit this.
[0093] The switch list contains one or more switches. A user's request can be a request to start one or more containers. Each container can connect to the requested switch to configure the network environment in which the container is located.
[0094] Similarly, the resource specification list contains one or more resource specifications. Each resource specification represents the specific configuration information of the computing, storage, and network resources required by the corresponding container instance, including but not limited to the number of CPU cores, memory size, disk type and capacity, network bandwidth, etc.
[0095] As an example, a physical resource pool can include one or more physical machines, each configured with one or more processors and one or more memories. The types of processors and memories can be arbitrary. Optionally, a physical resource pool can be configured with various types of processors and memories to obtain a variety of physical machines, thus meeting the needs of different users.
[0096] As an example, shared virtual resources may include one or more shared virtual machines (VMs). Private virtual resources may include one or more private virtual machines (VMs) with user-defined configurations deployed on shared VMs.
[0097] The scheduler is configured with a multi-level scheduling strategy, which searches for matching resources sequentially from the user-specific resource pool, the virtual resource preheating pool, and the physical resource pool. Specifically, it first searches for the corresponding VM in the user-specific resource pool; if no matching VM resource is found there, it searches the virtual resource preheating pool, and so on. The startup efficiency of the three types of resource pools decreases sequentially, while the total number of resources increases sequentially. In other words, the user-specific resource pool has the highest model elasticity speed and the lowest total number of resources.
[0098] Next, the resource production system pulls container images based on the matched resources, produces containers for users, and finally delivers running containers to users.
[0099] During this period, the negative feedback module can periodically monitor unused resources, such as VM resources in the user-specific resource pool and / or VM resources in the virtual resource preheating pool. For example, if there are long-term unused resources in the user-specific resource pool, they can be released from the user-specific resource pool, for example, by being successively demoted to a lower-level resource pool, in order to reduce elasticity costs.
[0100] The prediction system can periodically generate prediction data and provide it to the resource production system. Each transmission of prediction data can be considered a resource configuration request. The prediction data can be of two types, as mentioned in the previous embodiments: prediction data for shared virtual resources and prediction data for private virtual resources, thus the resource configuration requests can also be of two types.
[0101] The scheduler will perform two types of operations based on the request type: scheduling production shared virtual resource VMs from the physical resource pool and preheating them to the virtual resource preheating pool, and preheating private virtual VMs from the virtual resource preheating pool to the user's dedicated resource pool.
[0102] Specifically, for physical resources in the physical resource pool, the optimal physical machine can be selected based on indicators such as physical machine load and sales rate to produce and start VMs, and the running VMs can be placed in the virtual resource preheating pool; for VMs in the virtual resource preheating pool, a primary network card will be produced for the user and connected to the VM, and the resulting private virtual resources can be placed in the user's dedicated resource pool. This embodiment can automatically balance the number of resources in the three types of resource pools based on the predicted number of container instances created by the user every minute (or other custom period). 1.1 Multi-level VM scheduling strategy
[0103] Figure 1C illustrates a multi-level VM scheduling strategy according to an exemplary embodiment of this disclosure. This strategy sequentially attempts to match available resources from a user-specific resource pool, a virtual resource preheating pool, and a physical resource pool. The user-specific resource pool has the fewest available VMs, the strictest matching conditions, and the fastest startup speed. The physical resource pool has the most available resources, but once matched, the startup speed is the slowest. The virtual resource preheating pool falls in between. After successfully matching resources in different resource pools, the container startup process is as follows.
[0104] 1. User-dedicated resource pool: Simply create and mount the cloud disk and auxiliary network card required for user container startup to start the container instance.
[0105] 2. Virtual resource preheating pool: Based on the various stages of the user-exclusive resource pool, it is necessary to additionally create and mount the main network interface card.
[0106] 3. Physical Resource Pool: Based on the various stages of the virtual resource preheating pool, VM scheduling, production, and startup are required.
[0107] For requests to pre-create resources issued by the prediction system, resources will be configured sequentially from the pool to achieve preheating. For resources in the physical resource pool, the physical machine with the optimal load is selected through scheduling, and the VM production and startup process is completed on the physical machine. After that, the shared VM is placed in the virtual resource preheating pool. Similarly, for VMs in the virtual resource preheating pool, after the main network card is created and mounted, the user's private VM is obtained and placed in the user's dedicated resource pool.
[0108] In some examples, further configuration strategies can be added. For instance, to control resource consumption in the physical resource pool, there are quantity limits for the virtual resource preheating pool and the user-specific resource pool, or these limits can be further refined to the availability zone level. For example, an availability zone refers to information representing a geographical area. In this embodiment, the physical resource pool can contain physical resources that can be differentiated by availability zone, meaning that multiple physical resources under different availability zones can be configured, with a preset upper limit on the number of physical resources in each availability zone. Similarly, the other two types of resource pools can be further refined, with quantity limits at the availability zone level.
[0109] To avoid impacting the capacity of user switches and security groups, a threshold is set for creating the primary network interface card (NIC) for each switch. The multi-level VM scheduling policy does not directly place VMs from the physical resource pool into the user-specific resource pool. When there are insufficient VMs in the virtual resource preheating pool that meet the conditions (instance specifications and availability zone conditions), the process of placing them into the user-specific resource pool is skipped.
[0110] In this embodiment, to prevent exceeding the capacity limits of user switches and security groups when creating primary network interface cards (NICs), a threshold for the number of primary NICs that can be created is set for each switch. A switch can connect to one or more primary NICs, and each switch needs to be configured with a primary NIC.
[0111] In a cloud computing environment, a switch is a logical device in a virtual network used to connect multiple virtual machines or container instances, enabling them to communicate with each other within the same network. Each switch has certain capacity limits, including the maximum number of primary network interface cards (NICs) it can mount. Exceeding this limit may lead to network performance degradation or the inability to add new connections. A security group is a set of firewall rules that defines the types of traffic allowed to enter or leave specific resources (such as virtual machines or containers). Security groups also have their own capacity limits, such as the number of rules they can contain and the number of associated network interfaces. Exceeding these limits may affect the effectiveness of network security configurations. To avoid the aforementioned problems caused by creating too many primary NICs, the system sets a reasonable threshold for the number of primary NICs that can be created for each switch. For example, when it is necessary to create a primary NIC for a virtual resource in a resource pool, the system checks the number of primary NICs already existing on the switch and compares it with a preset threshold: if the current number plus the newly created primary NIC does not exceed the threshold, creation is allowed; if it will exceed the threshold, the creation of a new primary NIC is blocked, thus preventing the creation of the user's private virtual resources. 1.2 Negative Feedback Module
[0112] Figure 1D is a schematic diagram of a negative feedback module according to an exemplary embodiment of the present disclosure.
[0113] In this embodiment, for resources that have not been used for a long time, the negative feedback module will release the VMs in the resource pool, for example, by performing degradation in sequence.
[0114] Specifically, for VMs that are not used in the user's dedicated resource pool during the K1 period, the user's primary network card will be uninstalled and deleted, and the VMs will be placed back into the virtual resource preheating pool. For VMs that are not used in the virtual resource preheating pool during the K2 period, they will be released through the VM deletion workflow and returned to the physical resource pool.
[0115] In addition, the negative feedback module records the degraded VMs, forming negative feedback features for the algorithm, and records them in the database to form features for the algorithm to predict users and availability zones.
[0116] For user-specific resource pools, the negative feedback module records the number of VMs of a specified specification that are not used by the user every minute; for virtual resource preheating pools, it records the number of VMs of a specified specification that are not used in a specified availability zone.
[0117] In addition, some users experience high business volatility, resulting in low utilization of pre-created VMs within a certain period. For these users, if the VM utilization falls below a set threshold, the negative feedback module will set a cooling-off period to prevent VM creation.
[0118] The prediction system first collects user creation behavior data per second from the business database in the data acquisition module, including user UID, switch list, and specification list. Then, the system uses clustering to extract ECI creation behaviors with the same switch list and specification list every minute.
[0119] It is understood that this embodiment is also applicable to high-frequency (second-level) creation behavior prediction scenarios. In the ECI scenario, to avoid putting pressure on the resource production system due to frequent resource preheating and degradation, this embodiment selects minutes as the period. A schematic diagram of data processing is shown in Figure 1E, and its format can be [Time; [Switch List] [Specification List]; Quantity]. Data processing can aggregate the number of instances created per minute with the same switch and the same specification. For example, each piece of raw data is generated when a user creates a cloud product, which includes the switch information and instance type information specified by the user during creation. For example, in Figure 1E, "{vsw_1,vsw_2,vsw_3}" represents 3 switch information, and "{ecs_type1,ecs_type_2}" represents 2 instance type information. The raw data can be aggregated based on a preset time period. The aggregated data represents the number of instances created with the same switch and the same instance specification within the preset time period. Compared to the raw data, the number of instances created has increased. For example, in the first piece of data shown in Figure 1E, the last number "2" represents the number of instances created. 2.1. Large Model Prediction and Residual Fitting
[0120] Data processed and aggregated can be used as input for pre-trained models. For example, this embodiment uses a time-series prediction model, which can take data within the range [T1, T2] as input at time T2, and use the model to predict the demand for cloud products at future times.
[0121] In the ECI scenario, the interval between time T1 and time T2 can be set as needed, and the algorithm can predict the number of instances created by the user at each time point in the future, based on the specified specifications and the number of instances in the switch list.
[0122] Based on a pre-trained general time series prediction model, the model is trained on an open-source time series dataset on the Internet. This model can easily learn the general characteristics behind time series prediction tasks and has the characteristic that it can be transferred to other time series prediction scenarios without retraining.
[0123] Since time-series prediction schemes based on large models cannot account for the impact of users' historical profiles on current behavior, this embodiment further trains a residual prediction model based on the boosting strategy in machine learning to fit the residual between additional information and user behavior. Here, the additional information refers to the historical usage data input to the residual prediction model having a larger time span than the time-series prediction model, thus capturing user behavior information over a longer period. For example, the residual prediction model can be trained using data from the past 1 day ([T1-1Day, T2-1DAY]), the past 7 days ([T1-7Day, T2-7DAY]), and the past month ([T1-30Day, T2-30DAY]) to fit the difference between the predicted and actual values of the time-series prediction model in the training set. Here, the residual prediction model can be an autoregressive model or a gradient boosting tree model such as CatBoost, etc., and this embodiment does not limit this.
[0124] Finally, this embodiment adds the predicted values from the time-series prediction model and the residual prediction model at each future time to obtain the predicted creation volume of the specified specification and specified list for each user at each future time. Following the same process, the creation volume of the specified specification per minute for each availability zone can be obtained. The prediction model can make predictions periodically and provide the prediction results to the resource production system.
[0125] Of course, the above model scheme can also be implemented in other ways. For example, based on prompt word engineering, a general large model can be applied to the time series prediction scenario in this embodiment to achieve similar performance.
[0126] As can be seen from the above embodiments, the cloud product launch scheme of this embodiment can accelerate the launch of cloud products, effectively predict the user's cloud product usage behavior in each cycle through the pre-trained model, ensure that the pre-built resources have a high utilization rate, and support the user's elasticity requirements at low cost.
[0127] Some users' historical usage behavior may be random and fluctuating, making it difficult for the algorithm to effectively model the creation patterns of these users. To address this, the negative feedback mechanism in this embodiment utilizes degraded VM resources to further optimize algorithm performance, thereby avoiding invalid resource creation and reducing system overhead.
[0128] This embodiment also incorporates multi-level resource pools to implement a multi-level caching design. In this scenario, some users may temporarily lose instance startup acceleration capabilities, but this will not affect the instance startup itself. Furthermore, a monitoring mechanism can be added to allow developers to intervene promptly.
[0129] The solution in this embodiment also has strong scalability, requiring no pre-trained models or complex feature engineering, and can be directly transferred to other scenarios, significantly saving the cost of implementing the algorithm in engineering scenarios.
[0130] Figure 2 shows a flowchart of a cloud product resource prediction method according to an exemplary embodiment of this disclosure. The method may include: in step 202, obtaining recent historical usage data of the cloud product, the recent historical usage data including: historical actual usage information of the cloud product at each historical moment within the recent historical time period; in step 204, obtaining predicted usage information of the cloud product at multiple future moments predicted by a time series prediction model based on the recent historical usage data; in step 206, obtaining prediction residual information corresponding to the predicted usage information of the cloud product at each future moment predicted by a residual prediction model based on the long-term historical usage data; and in step 208, adjusting the predicted usage information using the prediction residual information to obtain predicted data characterizing the future resource demand of the cloud product.
[0131] The predicted data is used to configure the number of resources stored in the preset resource pool, and the resources are used to launch cloud products. In some examples, the training dataset of the residual prediction model includes: long-term historical usage data and labels. The long-term historical usage data includes the historical usage information of cloud products at each historical moment within a long-term historical time period, and the duration of the long-term historical time period is greater than the duration of the recent historical time period. The labels are the difference between the historical actual usage information at each historical moment within the long-term historical time period and the historical predicted usage information at each historical moment within the long-term historical time period predicted by the time-series prediction model.
[0132] The cloud product resource prediction method in this embodiment describes the process of how to perform cloud product resource prediction from the perspective of the aforementioned prediction system. For specific implementation details, please refer to the description in the aforementioned embodiment, which will not be repeated here.
[0133] Corresponding to the aforementioned embodiments of the cloud product launch method / cloud product resource prediction method, this disclosure also provides embodiments of the cloud product launch device / cloud product resource prediction device and the computer equipment used thereon.
[0134] The embodiments of the cloud product launch device / cloud product resource prediction device disclosed herein can be applied to computer devices, such as servers or terminal devices. The device embodiments can be implemented through software, hardware, or a combination of both. Taking software implementation as an example, as a logical device, it is formed by its processor reading the corresponding computer program instructions from non-volatile memory into memory for execution. From a hardware perspective, as shown in Figure 3, which is a hardware structure diagram of the computer device where the cloud product launch device / cloud product resource prediction device of this disclosure is located, in addition to the processor 310, network interface 320, memory 330, and non-volatile memory 340 shown in Figure 3, the computer device where the cloud product launch device / cloud product resource prediction device is located in the embodiments may also include other hardware depending on the actual function of the computer device, which will not be elaborated further.
[0135] As shown in Figure 4, which is a block diagram of a cloud product launch device according to an exemplary embodiment of this disclosure, the device includes: an acquisition module 41, configured to: in response to receiving a cloud product launch request from a target user, acquire target cloud product information carried in the cloud product launch request; and a launch module 42, configured to: acquire resources matching the target cloud product information from a preset resource pool to launch the target cloud product. The resources stored in the preset resource pool are obtained by configuring the quantity of resources in the preset resource pool based on predicted data acquired according to a preset period, wherein the predicted data characterizes the future resource requirements of the cloud product.
[0136] In some examples, the predicted data is predicted by a pre-trained model based on the user's recent historical usage data of cloud products; the pre-trained model includes: a pre-trained time-series prediction model and a residual prediction model; the recent historical usage data includes: historical actual usage information of cloud products at each historical moment within the recent historical time period; the acquisition module 41 acquires the predicted data, including: acquiring predicted usage information of cloud products at multiple future moments predicted by the time-series prediction model based on the recent historical usage data; acquiring predicted residual information corresponding to the predicted usage information predicted by the residual prediction model based on long-term historical usage data; and adjusting the corresponding predicted usage information using the predicted residual information to obtain the predicted data.
[0137] In some examples, the training data for the residual prediction model includes: long-term historical usage data and labels; the long-term historical usage data includes the historical actual usage information of cloud products at each historical moment within a long-term historical period, the duration of which is longer than the duration of which is more recent; the labels are the difference between the historical actual usage information at each historical moment within the long-term historical period and the historical predicted usage information at each historical moment within the long-term historical period predicted by the time-series prediction model.
[0138] In some examples, the preset resource pool includes resource pools of different levels, and the resources stored in the resource pool are used to start the cloud product at a speed that is negatively correlated with the level of the resource pool; the startup module 42 is also used to: obtain resources that match the target cloud product information from the resource pools of different levels in descending order of level, so as to start the target cloud product.
[0139] In some examples, the different levels of resource pools include the following levels from low to high: a physical resource pool for storing physical resources; a virtual resource preheating pool for storing shared virtual resources created based on the physical resources for multiple users to share; and a user-specific resource pool for storing private virtual resources created based on the shared virtual resources and belonging to the user.
[0140] In some examples, the startup module 42 is further configured to: if it is determined that a target private virtual resource matching the target cloud product information is found in the user-specific resource pool corresponding to the target user, then start the target cloud product based on the target private virtual resource; if no such resource is found, if a target shared virtual resource matching the target cloud product information is found in the virtual resource preheating pool, then create a target private virtual resource matching the target cloud product information based on the target shared virtual resource and start the target cloud product; if no such resource is found, schedule target physical resources from the physical resource pool, create a target shared virtual resource matching the target cloud product information based on the target physical resource, create a target private virtual resource matching the target cloud product information based on the target shared virtual resource, and then start the target cloud product.
[0141] In some examples, the predicted data includes: a first predicted quantity of private virtual resources for the predicted user at a future time, and a second predicted quantity of shared virtual resources at a future time; the acquisition module 41 is further configured to: configure the quantity of private virtual resources in the user-exclusive resource pool based on the difference between the current quantity of the private virtual resources and the first predicted quantity; and configure the quantity of shared virtual resources in the virtual resource preheating pool based on the difference between the current quantity of the shared virtual resources and the second predicted quantity.
[0142] In some examples, the device further includes a configuration module, configured to: after the target cloud product has finished running, obtain the utilization rate of the target cloud product; if the utilization rate of the target cloud product is lower than a set threshold, configure a corresponding cooldown period for the target user; wherein, the utilization rate refers to the ratio of the lifecycle of the target cloud product to the lifecycle of the target private virtual resource; the acquisition module 41 is further configured to: determine whether the predicted user has been configured with a cooldown period if the current number of private virtual machines stored in the user-exclusive resource pool of the predicted user is less than the first predicted number; if it is determined that the predicted user has been configured with a cooldown period and is currently in the cooldown period, end the current configuration; otherwise, configure the current number of private virtual resources stored in the user-exclusive resource pool of the predicted user to be the same as the first predicted number.
[0143] In some examples, the device further includes a release module for: releasing the long-term private virtual resource if there is a long-term private virtual resource in the user-exclusive resource pool with a creation time greater than a first preset threshold; and / or releasing the long-term shared virtual resource if there is a long-term shared virtual resource in the virtual resource preheating pool with a creation time greater than a second preset threshold.
[0144] In some examples, the device further includes a storage module for: generating historical usage data representing the target user's use of the target cloud product based on the cloud product launch request and storing it in a preset database; and generating historical usage data representing the unused nature of the released virtual resources and storing it in the preset database for released virtual resources.
[0145] As shown in Figure 5, which is a block diagram of a cloud product resource prediction device according to an exemplary embodiment of the present disclosure, the device includes: a data acquisition module 51, configured to: acquire recent historical usage data of the cloud product by a user, the recent historical usage data including: historical actual usage information of the cloud product at each historical moment within a recent historical time period; a first prediction module 52, configured to: acquire predicted usage information of the cloud product at multiple future moments predicted by the time-series prediction model based on the recent historical usage data; a second prediction module 53, configured to: acquire prediction residual information corresponding to the predicted usage information of the cloud product at each future moment predicted by the residual prediction model based on the long-term historical usage data; and an adjustment module 54, configured to: adjust the predicted usage information using the prediction residual information to obtain predicted data characterizing the future resource demand of the cloud product.
[0146] In some examples, the predicted data is used to configure the amount of resources stored in a preset resource pool, which are used to launch cloud products; wherein, the training dataset of the residual prediction model includes: long-term historical usage data and labels; the long-term historical usage data includes historical usage information of cloud products at each historical moment within a long-term historical time period, the duration of which is greater than the duration of which is more recent; the labels are the difference between the historical actual usage information at each historical moment within the long-term historical time period and the historical predicted usage information at each historical moment within the long-term historical time period predicted by the time-series prediction model.
[0147] The specific implementation process of the functions and roles of each module in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.
[0148] Accordingly, this disclosure also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the aforementioned cloud product startup method / cloud product resource prediction method embodiments.
[0149] Accordingly, this disclosure also provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of the cloud product launch method / cloud product resource prediction method embodiment.
[0150] Accordingly, this disclosure also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the cloud product startup method / cloud product resource prediction method embodiment.
[0151] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The modules described as separate components may or may not be physically separate, and the components shown as modules may or may not be physical modules, that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this disclosure according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0152] The above embodiments can be applied to one or more computer devices. The computer device is a device that can automatically perform numerical calculations and / or information processing according to pre-set or stored instructions. The hardware of the computer device includes, but is not limited to, microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), embedded devices, etc.
[0153] The computer device can be any electronic product that can interact with the user, such as a personal computer, tablet computer, smartphone, personal digital assistant (PDA), game console, interactive network television (IPTV), smart wearable device, etc.
[0154] The computer equipment may also include network equipment and / or user equipment. The network equipment includes, but is not limited to, a single network server, a server group consisting of multiple network servers, or a cloud based on cloud computing consisting of a large number of hosts or network servers.
[0155] The network in which the computer device is located includes, but is not limited to, the Internet, wide area network, metropolitan area network, local area network, and virtual private network (VPN).
[0156] The foregoing has described specific embodiments of this disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired results. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0157] The steps of the various methods described above are only for clarity. In practice, they can be combined into one step or some steps can be split into multiple steps. As long as they include the same logical relationship, they are all within the scope of protection of this patent. Adding insignificant modifications or introducing insignificant designs to the algorithm or process, but without changing the core design of the algorithm and process, are also within the scope of protection of this application.
[0158] While this disclosure contains numerous specific implementation details, these should not be construed as limiting the scope of any invention or the scope of the claims, but rather are primarily intended to describe features of specific embodiments of a particular invention. Certain features described in the multiple embodiments of this disclosure may also be implemented in combination in a single embodiment. Conversely, various features described in a single embodiment may also be implemented separately in multiple embodiments or in any suitable sub-combination. Furthermore, while features may function in certain combinations as described above and even initially claimed in this way, one or more features from a claimed combination may be removed from that combination in some cases, and a claimed combination may refer to a sub-combination or a variation thereof.
[0159] The terms "specific example" or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with the embodiments or examples, which are included in at least one embodiment or example of this disclosure. In this disclosure, illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0160] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention applied herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not claimed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.
[0161] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.
[0162] The above description is merely a preferred embodiment of this disclosure and is not intended to limit this disclosure. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A cloud product starting method, comprising: in response to receiving a cloud product starting request of a target user, obtaining target cloud product information carried by the cloud product starting request; obtaining resources matching the target cloud product information from a preset resource pool to start a target cloud product; wherein the resources stored in the preset resource pool are obtained by configuring the number of resources in the preset resource pool based on prediction data obtained according to a preset period, the prediction data representing future resource demand of a cloud product.
2. The method of claim 1, the predicted data being predicted by a pre-trained model based on recent historical usage data of the user of the cloud product. The pre-training model comprises a pre-trained time series prediction model and a residual prediction model; the recent historical usage data comprises historical actual usage information of a cloud product at each historical time in a recent historical time period; The method comprises: obtaining predicted usage information of a cloud product at a plurality of future times predicted by the time series prediction model based on the recent historical usage data; obtaining predicted residual information corresponding to the predicted usage information predicted by the residual prediction model based on long-term historical usage data; adjusting the corresponding predicted usage information using the predicted residual information to obtain the prediction data.
3. The method of claim 2, the training data for the residual prediction model comprises: long-term historical usage data and labels; The long-term historical usage data comprises historical actual usage information of a cloud product at each historical time in a long-term historical time period, the length of the long-term historical time period being greater than the length of the recent historical time period; The label is the difference between the historical actual usage information at each historical time in the long-term historical time period and the historical predicted usage information at each historical time in the long-term historical time period predicted by the time series prediction model. 4.The method of any one of claims 1 to 3, wherein the preset resource pool comprises resource pools of different levels, and the speed of resources stored in the resource pool when used to start a cloud product is negatively correlated with the level of the resource pool. The method comprises: from resource pools of different levels, obtaining resources matching the target cloud product information in order of level from high to low to start a target cloud product. 5.The method of claim 4, wherein the resource pools of different levels comprise resource pools of levels from low to high as follows: a physical resource pool for storing physical resources; a virtual resource preheating pool for storing shared virtual resources created based on the physical resources for sharing by multiple users; and a user-specific resource pool for storing private virtual resources created based on the shared virtual resources and belonging to a user. 6.The method of claim 5, wherein the method comprises: if it is determined that target private virtual resources matching the target cloud product information are found in the user-specific resource pool corresponding to the target user, starting a target cloud product based on the target private virtual resources. In the case of not being queried, if a target shared virtual resource matching the target cloud product information is queried from the virtual resource warm-up pool, a target private virtual resource matching the target cloud product information is created based on the target shared virtual resource, and then a target cloud product is started; In the case of not being queried, a target physical resource is scheduled from a physical resource pool, a target shared virtual resource matching the target cloud product information is created based on the target physical resource, a target private virtual resource matching the target cloud product information is created based on the target shared virtual resource, and then a target cloud product is started.
7. The method of claim 5, the prediction data comprising: A first predicted number of private virtual resources of the predicted user at a future time, and a second predicted number of shared virtual resources at the future time; The method further comprises: The number of the private virtual resources in the user-specific resource pool is configured based on a difference between the current number of the private virtual resources and the first predicted number; The number of the shared virtual resources in the virtual resource warm-up pool is configured based on a difference between the current number of the shared virtual resources and the second predicted number.
8. The method of claim 7, further comprising: After the target cloud product ends running, a usage rate of the target cloud product is obtained, and if the usage rate of the target cloud product is lower than a set threshold, a corresponding cooling period is configured for the target user; wherein the usage rate refers to a proportion of a life cycle of the target cloud product relative to a life cycle of the target private virtual resource; The number of the private virtual resources in the user-specific resource pool is configured based on a difference between the current number of the private virtual resources and the first predicted number, comprising: In the case that the current number of the private virtual machines stored in the user-specific resource pool of the predicted user is less than the first predicted number, it is determined whether the predicted user is configured with a cooling period; If it is determined that the predicted user is configured with a cooling period and is currently in the cooling period, the current configuration is ended; otherwise, the current number of the private virtual resources stored in the user-specific resource pool of the predicted user is configured to be the same as the first predicted number.
9. The method of claim 4, further comprising: If there is a long-term private virtual resource with a creation duration greater than a first preset threshold in the user-specific resource pool, the long-term private virtual resource is released; and / or, If there is a long-term shared virtual resource with a creation duration greater than a second preset threshold in the virtual resource warm-up pool, the long-term shared virtual resource is released.
10. The method of claim 1, further comprising: Based on the cloud product start request, historical usage data representing use of the target cloud product by the target user is generated and stored in a preset database; For the released virtual resource, historical usage data representing non-use of the released virtual resource is generated and stored in a preset database.
11. A resource prediction method for cloud products, the method comprising: obtaining recent historical usage data of a cloud product, the recent historical usage data comprising: historical actual usage information of the cloud product at each historical time point in a recent historical time period; obtaining predicted usage information of the cloud product at each future time point predicted by a time series prediction model based on the recent historical usage data; obtaining predicted residual information corresponding to the predicted usage information of the cloud product at each future time point predicted by a residual prediction model based on the recent historical usage data; adjusting the predicted usage information by using the predicted residual information to obtain prediction data representing future resource demand of the cloud product; wherein the prediction data is used to configure the number of resources stored in a preset resource pool, and the resources are used to start the cloud product.
12. The method of claim 11, the training data set for the residual prediction model comprises: long-term historical usage data and labels; the long-term historical usage data comprises historical usage information of the cloud product at each historical time point in a long-term historical time period, and a length of the long-term historical time period is greater than a length of the recent historical time period; the labels are differences between the historical actual usage information at each historical time point in the long-term historical time period and historical predicted usage information at each historical time point in the long-term historical time period predicted by the time series prediction model.
13. A cloud product launch system, the cloud product launch system comprising: a resource production system configured to perform the steps of the method of any one of claims 1 to 10, and a prediction system configured to perform the steps of the method of claim 11 or 12.
14. A computer device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein, the processor, when executing the computer program, is enabled to: in response to receiving a cloud product start request of a target user, obtain target cloud product information carried by the cloud product start request; obtain resources matching the target cloud product information from a preset resource pool to start a target cloud product; wherein the resources stored in the preset resource pool are obtained by configuring the number of resources in the preset resource pool based on prediction data obtained according to a preset period, and the prediction data represents future resource demand of the cloud product.
15. The computer device of claim 14, wherein the predicted data is predicted by a pre-trained model based on recent historical usage data of the user for the cloud product. the pre-trained model comprises a pre-trained time series prediction model and a pre-trained residual prediction model; and the recent historical usage data comprises historical actual usage information of the cloud product at each historical time point in a recent historical time period. the obtaining prediction data comprises: obtaining predicted usage information of the cloud product at each future time point predicted by the time series prediction model based on the recent historical usage data; obtaining predicted residual information corresponding the predicted usage information predicted by the residual prediction model based on long-term historical usage data; 16. The computer device of claim 15, wherein the training data for the residual prediction model comprises: adjusting the corresponding predicted usage information by using the predicted residual information to obtain the prediction data. long-term historical usage data and labels; the long-term historical usage data comprises historical actual usage information of the cloud product at each historical time point in a long-term historical time period, the length of the long-term historical time period is greater than the length of the recent historical time period; The label is the difference between the historical actual use information of each historical time in the long-term historical time period and the historical predicted use information of each historical time in the long-term historical time period predicted by the time series prediction model. 17.The computer device of any one of claims 14-16, wherein the preset resource pool comprises resource pools of different levels, and a speed of resources stored in the resource pool when starting a cloud product is negatively correlated with a level of the resource pool. The method further comprises: obtaining, from the resource pools of different levels, the resources matching the target cloud product information in a descending order of the levels to start the target cloud product.
18. A computer device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein, The processor, when executing the computer program, implements: obtaining recent historical use data of the cloud product by a user, the recent historical use data comprising historical actual use information of the cloud product at each historical time in a recent historical time period; obtaining predicted use information of the cloud product at a plurality of future times predicted by a time series prediction model based on the recent historical use data; obtaining predicted residual information corresponding to the predicted use information of the cloud product at each future time predicted by a residual prediction model based on the recent historical use data; adjusting the predicted use information by using the predicted residual information to obtain predicted data representing future resource demand of the cloud product; wherein the predicted data is used to configure a quantity of resources stored in a preset resource pool, and the resources are used to start the cloud product. 19.A computer program product comprising a computer program, the computer program, when executed by a processor, implements the steps of the method of any one of claims 1-12. 20.A computer-readable storage medium having stored thereon a computer program, the computer program, when executed by a processor, implements the steps of the method of any one of claims 1-12.