Multi-cloud platform resource management method, device, equipment and storage medium
By acquiring and analyzing the usage data and cost data of cloud resources, using machine learning models to determine the target cloud resources to be optimized, and formulating optimization strategies based on their usage data, adjusting the configuration of cloud resources to reduce costs, solving the problem of wasted usage costs in cloud resources under low utilization, and improving the cost-effectiveness of cloud resources.
Patent Information
- Application Number
- CN202410677700.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-29
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2044-05-29
AI Technical Summary
Cloud resources under low utilization in the existing technology will still incur usage costs, resulting in waste of cloud resource usage costs and reducing the cost-effectiveness of cloud resources.
By obtaining the usage data and cost data of each cloud resource deployed by multiple cloud platforms, inputting a preset machine learning model, determining the target cloud resource to be optimized, and determining the optimization strategy based on its usage data, adjusting the cloud resource configuration to reduce costs.
Without affecting the performance and stability of cloud resource business, the cost of cloud resource usage is reduced, the cost-effectiveness of cloud resource is improved, and the problem of wasteful use of cloud resource under low utilization is solved.
Smart Images

Figure CN118748677B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of cloud computing technology, and in particular to a multi-cloud platform resource management method, device, equipment and storage medium. Background Art
[0002] In the current cloud computing field, game developers widely adopt a multi-cloud strategy, that is, when using cloud computing services, game developers simultaneously adopt cloud computing services provided by multiple cloud platforms to improve business flexibility, cost-effectiveness and reliability to meet the different needs of game developers.
[0003] In the existing technology, in order to support complex development and testing environments, game developers deploy virtual machines, tens of TB of storage space, and complex network architectures on multiple cloud platforms. These cloud resources are always in use during the development, testing, and operation of the game. These cloud resources are charged on demand, that is, as long as they are in use, they will incur usage fees. However, due to the dynamic nature of game projects, some resources will become underutilized after a certain stage, but cloud resources in a low-utilization state will still incur usage fees, resulting in a waste of cloud resource usage costs and reducing the cost-effectiveness of cloud resources. Summary of the invention
[0004] The present application provides a multi-cloud platform resource management method, apparatus, device and storage medium, which solves the problem of wasteful use cost of cloud resources in a low utilization state in the prior art, and improves the cost-effectiveness of cloud resources without affecting the business performance and stability of cloud resources.
[0005] In a first aspect, the present application provides a multi-cloud platform resource management method, comprising:
[0006] Obtaining usage data and cost data of various cloud resources deployed on multiple cloud platforms within a preset time period, wherein the cloud resources include virtual machines, storage space, and network architecture;
[0007] Inputting the usage data and cost data of the cloud resources into a preset machine learning model, and determining a first target cloud resource to be optimized through the machine learning model;
[0008] Determine a corresponding first optimization strategy according to usage data of the first target cloud resource, and adjust the first target cloud resource according to the first optimization strategy.
[0009] In a second aspect, the present application provides a multi-cloud platform resource management device, including:
[0010] A data acquisition module is configured to acquire usage data and cost data of various cloud resources deployed on multiple cloud platforms within a preset time period, wherein the cloud resources include virtual machines, storage space, and network architecture;
[0011] A first resource determination module is configured to input the usage data and cost data of the cloud resource into a preset machine learning model, and determine a first target cloud resource to be optimized through the machine learning model;
[0012] The first resource optimization module is configured to determine a corresponding first optimization strategy according to usage data of the first target cloud resource, and adjust the first target cloud resource according to the first optimization strategy.
[0013] In a third aspect, the present application provides a multi-cloud platform resource management device, including:
[0014] one or more processors;
[0015] A memory stores one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the multi-cloud platform resource management method as described in the first aspect.
[0016] In a fourth aspect, the present application provides a storage medium comprising computer executable instructions, which, when executed by a computer processor, are used to execute the multi-cloud platform resource management method as described in the first aspect.
[0017] In the present application, by obtaining the usage data and cost data of each cloud resource deployed by multiple cloud platforms within a preset time period, the cloud resources include virtual machines, storage space and network architecture; inputting the usage data and cost data of the cloud resources into a preset machine learning model, determining the first target cloud resource to be optimized through the machine learning model; determining the corresponding first optimization strategy according to the usage data of the first target cloud resource, and adjusting the first target cloud resource according to the first optimization strategy. Through the above technical means, the first target cloud resource with lower cost-effectiveness can be determined according to the usage data and cost data of the cloud resources deployed by each cloud platform, and the configuration of the first target cloud resource can be optimized according to the usage data of the first target cloud resource to reduce the use cost of the first target cloud resource, which solves the problem of wasteful use cost of cloud resources in a low utilization state in the prior art, and improves the cost-effectiveness of cloud resources without affecting the business performance and stability of cloud resources. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Figure 1 It is a flow chart of a multi-cloud platform resource management method provided by an embodiment of the present application;
[0019] Figure 2 is a flow chart of determining the first target cloud resource based on a logistic regression model adopted in an embodiment of the present application;
[0020] Figure 3is a flowchart of determining a first optimization strategy according to an operating state and usage data provided by an embodiment of the present application;
[0021] Figure 4 is a flowchart of a first optimization strategy for determining a target virtual machine provided in an embodiment of the present application;
[0022] Figure 5 is a flow chart of determining a first optimization strategy among multiple optimization strategies provided in an embodiment of the present application;
[0023] Figure 6 is a flow chart of migrating cloud resources to another cloud platform provided by an embodiment of the present application;
[0024] Figure 7 It is a structural diagram of a multi-cloud platform resource management device provided in an embodiment of the present application;
[0025] Figure 8 It is a structural diagram of a multi-cloud platform resource management device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0026] In order to make the purpose, technical scheme and advantages of the present application clearer, the specific embodiments of the present application are further described in detail below in conjunction with the accompanying drawings. It is understood that the specific embodiments described herein are only used to explain the present application, rather than to limit the present application. It should also be noted that, for the convenience of description, only the part related to the present application but not all the contents are shown in the accompanying drawings. Before discussing the exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flow charts. Although the flow chart describes each operation (or step) as a sequential process, many of the operations therein can be implemented in parallel, concurrently or simultaneously. In addition, the order of each operation can be rearranged. The process can be terminated when its operation is completed, but it can also have additional steps not included in the accompanying drawings. The process can correspond to a method, a function, a procedure, a subroutine, a subprogram, etc.
[0027] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here, and the objects distinguished by "first", "second", etc. are generally of one type, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification and claims represents at least one of the connected objects, and the character " / " generally indicates that the objects associated with each other are in an "or" relationship.
[0028] In the more common existing implementation methods, game developers deploy virtual machines, tens of TB of storage space, and complex network architectures on multiple cloud platforms. These cloud resources are kept in use during the development, testing, and operation of the game. These cloud resources are charged on demand, that is, as long as they are in use, they will incur usage fees. However, due to the dynamic nature of game projects, some resources will become underutilized after a certain stage, but cloud resources in a low-utilization state will still incur usage fees, resulting in a waste of cloud resource usage costs and reducing the cost-effectiveness of cloud resources.
[0029] To solve the above problems, this embodiment provides a multi-cloud platform resource management method to determine a first target cloud resource with lower cost-effectiveness based on the usage data and cost data of cloud resources deployed on each cloud platform, and optimize the configuration of the first target cloud resource based on the usage data of the first target cloud resource to reduce the usage cost of the first target cloud resource, thereby improving the cost-effectiveness of the cloud resources without affecting the business performance and stability of the cloud resources.
[0030] The multi-cloud platform resource management method provided in this embodiment can be executed by a multi-cloud platform resource management device, which can be implemented by software and / or hardware, and can be composed of two or more physical entities, or one physical entity. For example, the multi-cloud platform resource management device can be a game server that uses cloud resources deployed by various cloud platforms, or a management server for managing cloud resources.
[0031] The multi-cloud platform resource management device is installed with at least one type of operating system, wherein the operating system includes but is not limited to Android system, Linux system and Windows system. The multi-cloud platform resource management device can install at least one application based on the operating system, and the application can be an application that comes with the operating system or an application downloaded from a third-party device or server. In this embodiment, the multi-cloud platform resource management device has at least an application that can execute the multi-cloud platform resource management method.
[0032] For ease of understanding, this embodiment is described by taking the management server as an example of the subject that executes the multi-cloud platform resource management method.
[0033] Figure 1 A flowchart of a multi-cloud platform resource management method provided by an embodiment of the present application is given. Figure 1 , the multi-cloud platform resource management method specifically includes:
[0034] S110. Obtain usage data and cost data of various cloud resources deployed on multiple cloud platforms within a preset time period, where the cloud resources include virtual machines, storage space, and network architecture.
[0035] In this embodiment, the usage data and cost data of each cloud resource deployed by multiple cloud platforms in the corresponding time period can be periodically obtained to analyze the usage data and cost data of each cloud resource, and optimize the configuration of each cloud resource according to the analysis results. Correspondingly, the preset time period is the time period corresponding to each optimization. For example, if the cost settlement period of the cloud platform is quarterly or monthly, the cost settlement period of the cloud platform can be used as the time period for optimizing cloud resources. Therefore, the management server can obtain the usage data and cost data of each cloud resource deployed by multiple cloud platforms in the corresponding month or quarter every month or every quarter, so as to optimize the configuration of each cloud resource according to the obtained usage data and cost data, reduce the cost of cloud resources in the next month or the next quarter, improve the cost-effectiveness of cloud resources, and maximize the economic benefits of cloud resources.
[0036] In order to obtain the usage data of the corresponding deployed cloud resources, the cloud platform can bury points in the cloud resources to obtain the usage data of the cloud resources through burying points. Since there are many types of usage data of cloud resources, including CPU utilization, memory utilization, space occupancy, network bandwidth utilization, etc., but not all types of usage data will affect its cost, the usage data affecting its cost can be obtained in a targeted manner according to the type of cloud resources. Exemplarily, when the cloud resource is a virtual machine, the CPU utilization and memory utilization of the virtual machine are the key data affecting its cost, so the cloud platform that deploys the virtual machine can obtain the CPU utilization and memory utilization of the virtual machine. When the cloud resource is a storage space, the space occupancy of the storage space is the key data affecting its cost, so the cloud platform that deploys the storage space can obtain the space occupancy of the storage space. When the cloud resource is a network architecture, the network bandwidth utilization of the network architecture is the key data affecting its cost, so the cloud platform that deploys the network architecture can obtain the network bandwidth utilization of the network architecture. The cost data of cloud resources is the settlement fee of the corresponding cloud resources counted by the cloud platform.
[0037] The management server is provided with an API interface for data communication with the cloud platform. After obtaining the usage data and cost data of the corresponding cloud resources, the cloud platform can upload the usage data and cost data to the management server through the API interface. After obtaining the usage data and cost data of each cloud resource through the API interface, the management server integrates the usage data and cost data of each cloud resource through the software development kit.
[0038] S120. Input the usage data and cost data of the cloud resources into a preset machine learning model, and determine the first target cloud resource to be optimized through the machine learning model.
[0039] In this embodiment, the machine learning model can be a regression model, a decision tree model, and a random forest model, and each cloud resource corresponds to a machine learning model. The machine learning model is trained in advance based on the sample usage data and sample cost data of the corresponding cloud resource. The trained machine learning model can predict whether the cloud resource needs to be optimized based on the currently input cloud resource usage data and cost data. Among them, the sample usage data can be constructed by the developer, and the sample cost data is the expected settlement fee determined by the developer based on the sample usage data and the billing rules of the cloud resource disclosed by the cloud platform. For example, the billing rule of the cloud platform is that a 50TB storage space is charged x yuan per month. If the developer manually constructs the sample usage data of the storage space with a space occupancy rate of 50%, then the expected settlement fee of the storage space in that month is 50%*x, that is, only half of the storage space is used, so the enterprise also hopes to pay only half of the fee.
[0040] Exemplarily, when the machine learning model is a regression model, it can be a linear regression model, a polynomial regression model, and a logistic regression model. A linear regression model or a polynomial regression model trained with sample usage data and sample cost data can predict the linear relationship or polynomial relationship between the usage data and cost data of cloud resources. After inputting the usage data of cloud resources into the corresponding linear regression model or polynomial regression model, the linear regression model or the polynomial model can output the expected cost corresponding to the cloud resource. If the expected cost is greater than or equal to the cost data of the cloud resource, it is determined that the cloud resource does not need to be optimized. If the expected cost is less than the cost data of the cloud resource, the cloud resource is determined to be the first target cloud resource to be optimized.
[0041] Furthermore, when the machine learning model is a logistic regression model, it can be determined whether the cloud resource is the first target cloud resource to be optimized based on the prediction result of the logistic regression model. Figure 2 FIG. 1 is a flow chart of determining the first target cloud resource based on a logistic regression model in an embodiment of the present application. Figure 2 As shown, the step of determining the first target cloud resource based on the logistic regression model specifically includes S1201-S1202:
[0042] S1201. Input the usage data and cost data of cloud resources into the corresponding logistic regression model to obtain the prediction results output by the logistic regression model. The prediction results include those that need optimization and those that do not need optimization. The logistic regression model is trained by the historical usage data and historical cost data of the corresponding cloud resources.
[0043] S1202: When the prediction result indicates that optimization is required, determine the cloud resource as the first target cloud resource to be optimized.
[0044] This embodiment is described by taking a virtual machine as an example of cloud resources. The CPU utilization and memory utilization of the virtual machine and the settlement fee are input into the corresponding logistic regression model, and the logistic regression model determines the expected fee of the virtual machine according to the CPU utilization and the memory utilization, so as to output a prediction result that does not need to be optimized when the expected fee is greater than or equal to the settlement fee, and output a prediction result that needs to be optimized when the expected fee is less than the settlement fee.
[0045] It can be understood that the logistic regression model, like the linear regression model, can learn the linear relationship between the usage data and cost data of cloud resources based on sample usage data and sample cost data, and then judge whether the cost data exceeds the expected cost corresponding to the usage data based on the linear relationship, usage data and cost data, so as to determine that the cloud resource is the first target cloud resource to be optimized when it is determined that the cost data exceeds the expected cost corresponding to the usage data.
[0046] S130. Determine a corresponding first optimization strategy according to usage data of the first target cloud resource, and adjust the first target cloud resource according to the first optimization strategy.
[0047] The first optimization strategy is a strategy for adjusting the configuration of the first target cloud resource. When it is determined that the settlement fee of the cloud resource is higher than the expected fee, the optimization strategy can be determined based on the usage data of the cloud resource, so that the configuration of the cloud resource can be adjusted based on the optimization strategy to effectively reduce its cost.
[0048] In one embodiment, the operating state of the first target cloud resource may be determined according to the usage data of the first target cloud resource, and the first optimization strategy of the first target cloud resource may be determined according to the operating state and the usage data. Figure 3 1 is a flowchart of determining a first optimization strategy based on operating status and usage data provided by an embodiment of the present application. Figure 3 As shown, the step of determining the first optimization strategy according to the operating status and the usage data specifically includes S1301-S1304:
[0049] S1301. Determine an operating state of a first target cloud resource according to usage data of the first target cloud resource, where the operating state includes a stable operating state and a fluctuating operating state.
[0050] The operation state can be understood as the operation state of the first target cloud resource within the preset time period. This embodiment takes the first target cloud resource as a storage space as an example for description. If the space percentage of the storage space fluctuates up and down during the preset time period, it indicates that the storage space is in a fluctuating operation state. If the space percentage of the storage space remains within a certain range during the preset time period, it indicates that the virtual machine is in a stable operation state.
[0051] In this embodiment, the usage data of cloud resources is composed of usage data of each time node in the corresponding time period. The variance can be calculated based on the space share of each time node in the usage data of the storage space. When the variance is greater than a preset variance threshold, the operation state of the storage space is determined to be a fluctuating operation state. When the variance is less than the preset variance threshold, the operation state of the storage space is determined to be a stable operation state. Alternatively, a corresponding change graph is drawn based on the space share of each time node in the usage data of the storage space, and the operation state of the storage space is determined based on the change graph.
[0052] S1302: When the first target cloud resource is in a stable operating state, if the average value of the usage data of the first target cloud resource is less than or equal to a first preset threshold, determine that the first optimization strategy for the first target cloud resource is to shut down the first target cloud resource.
[0053] The first preset threshold value can be understood as the maximum value of the usage data when the cloud resources are in an idle state. When the average value of the space usage rate of the storage space in the preset time period is less than the corresponding first preset threshold value, it indicates that the storage space is almost idle in the preset time period, so the storage space can be directly closed, that is, the first optimization strategy of the storage space is determined to be closing the storage space.
[0054] S1303. When the first target cloud resource is in a stable operation state, if the average value of the usage data of the first target cloud resource is greater than a first preset threshold, the usage upper limit value of the first target cloud resource is determined according to the average value of the usage data of the first target cloud resource, and the first optimization strategy of the first target cloud resource is determined according to the usage upper limit value.
[0055] Exemplarily, when the average value of the space occupancy rate of the storage space in the preset time period is greater than the first preset threshold value, it indicates that the storage space is almost in working condition in the preset time period. Therefore, the upper limit value of the storage space usage can be determined according to the average value, and the first optimization strategy of the storage space can be determined according to the upper limit value, so as to adjust the configuration of the storage space according to the first optimization strategy. For example, if the average value of the space occupancy rate of the storage space in the preset time period is 40%, that is, more than half of the storage space is not used, then you can choose to reduce the capacity of the storage space as the first optimization strategy for the storage space. If the original capacity of the storage space is 50TB, then 40%*50=20TB is the average usage capacity of the storage space in the preset time period. In order to increase fault tolerance, 30TB can be selected as the upper limit value of the storage space usage, and the capacity of the storage space can be reduced to 30TB as the first optimization strategy for the storage space according to the upper limit value.
[0056] It should be noted that if the original capacity of the storage space is the minimum capacity of the storage space provided by the corresponding cloud platform, then the storage space can be migrated to other cloud platforms according to the capacity of the storage space provided by the corresponding multiple cloud platforms. For example, storage space A is the storage space provided by cloud platform A, and the minimum capacity of the storage space provided by the cloud platform is the current capacity of storage space A, which is 50TB, and the upper limit of storage space A is determined to be 30TB based on the average usage capacity of storage space A. If the minimum capacity of the storage space provided by cloud platform B is 30TB, and the cost is lower than that of cloud platform A, then the first optimization strategy for storage space A is to migrate to cloud platform B to reduce the capacity of storage space A to 30TB.
[0057] S1304: When the first target cloud resource is in a fluctuating operating state, generate a dynamic expansion and contraction strategy according to the usage fluctuation period and usage peak of the first target cloud resource, and determine the dynamic expansion and contraction strategy as the first optimization strategy for the first target cloud resource.
[0058] Exemplarily, when the storage space is in a fluctuating operation state, it indicates that the amount of data stored in the storage space in a certain time period will suddenly increase, while the amount of data stored in a certain time period will suddenly decrease. A corresponding change graph can be drawn according to the space share of the storage space, and the time period when the space share suddenly changes, that is, the usage fluctuation period, can be determined according to the change graph. In the case where the usage fluctuation period is an increase in the space share, the maximum space share of the usage fluctuation period is determined as the usage peak value of the usage fluctuation period, and the usage upper limit value of the corresponding usage fluctuation period is determined according to the usage peak value; in the case where the usage fluctuation period is a decrease in the space share, the minimum space share of the usage fluctuation period is determined as the usage peak value of the usage fluctuation period, and the usage lower limit value of the corresponding usage fluctuation period is determined according to the usage peak value. A dynamic expansion and contraction strategy is generated according to the usage upper limit value or usage lower limit value corresponding to each usage fluctuation period, and the dynamic expansion and contraction strategy is used to specify that the capacity of the storage space in each usage fluctuation period is expanded to the corresponding usage upper limit value or reduced to the corresponding usage lower limit value. The dynamic expansion and contraction strategy is determined as the first optimization strategy of the storage space, so that the capacity of the subsequent storage space in each usage fluctuation period is expanded to the corresponding usage upper limit value or reduced to the corresponding usage lower limit value according to the first optimization strategy. For example, if the upper limit of usage during fluctuation period A is 50 TB and the lower limit of usage during fluctuation period B is 10 TB, the storage space can be configured to expand to 50 TB during fluctuation period A and reduce to 10 TB during fluctuation period B.
[0059] In another embodiment, the first target cloud resource to be optimized may be a target virtual machine to be optimized. When multiple target virtual machines to be optimized are determined based on the machine learning model, the corresponding first optimization strategy may be determined based on the usage data and business functions of any two target virtual machines. Figure 4 1 is a flow chart of a first optimization strategy for determining a target virtual machine provided by an embodiment of the present application. Figure 4 As shown, the step of determining the first optimization strategy of the target virtual machine specifically includes S1305-S1306:
[0060] S1305: When multiple target virtual machines are determined, determine whether the two target virtual machines are in a complementary relationship based on usage data and business functions of any two target virtual machines.
[0061] For example, the high utilization period and low utilization period of the target virtual machine can be determined based on the usage data of the target virtual machine. If the business functions of the two target virtual machines are the same and the high utilization period and the low utilization period are staggered, then the two target virtual machines can be determined to be in a complementary relationship. For example, if the business functions of target virtual machine A and target virtual machine B are both to process game login requests, the high utilization period of target virtual machine A corresponds to the low utilization period of target virtual machine B, and the high utilization period of target virtual machine B corresponds to the low utilization period of target virtual machine A, then target virtual machine A and target virtual machine B are determined to be in a complementary relationship.
[0062] S1306: When the two target virtual machines are in a complementary relationship, the first optimization strategy of the target virtual machine is to borrow resources from the corresponding complementary target virtual machine during peak hours.
[0063] Among them, the peak period is the high utilization period. If the target virtual machine A and the target virtual machine B are in a complementary relationship, the first optimization strategy for determining the target virtual machine A is to borrow the resources of the target virtual machine B to process the game login request during its high utilization period, and the first optimization strategy for determining the target virtual machine B is to borrow the resources of the target virtual machine A to process the game login request during its high utilization period. Since the period when the target virtual machine borrows resources is exactly the low utilization period of the corresponding complementary target virtual machine, the corresponding complementary target virtual machine has sufficient resources to lend to the target virtual machine, which balances the utilization of the two target virtual machines and ensures the operation stability of the target virtual machine.
[0064] In another embodiment, a first target cloud resource may determine multiple optimization strategies, and the corresponding cost can be predicted according to each optimization strategy to select the optimization strategy with the lowest cost as the final first optimization strategy of the first target cloud resource, thereby effectively reducing the cost of the first target cloud resource. Figure 5is a flow chart of determining a first optimization strategy among multiple optimization strategies provided by an embodiment of the present application. Figure 5 As shown, the step of determining the first optimization strategy among multiple optimization strategies specifically includes S1307-S1309:
[0065] S1307. Determine, based on usage data of the first target cloud resource, that the first target cloud resource corresponds to multiple optimization strategies.
[0066] S1308. Predict the cost corresponding to each optimization strategy based on the usage data of each optimization strategy and the first target cloud resource.
[0067] S1309. Determine the optimization strategy with the lowest cost as the first optimization strategy for the first target cloud resource.
[0068] Exemplarily, the optimization scheme described in the above steps S1301-S1304 and steps S1305-S1306 and other optimization algorithms can be combined to determine multiple optimization strategies corresponding to the first target cloud resource. The optimization strategy and the usage data of the first target cloud resource are input into a pre-trained neural network model, and the neural network model is used to predict the usage data of the first target cloud resource in the next cycle after the optimization strategy is adopted. The usage data of the next cycle is input into the linear regression model or polynomial regression model corresponding to the first target cloud resource, and the output of the polynomial regression model is used as the cost of the optimization strategy. The costs of each optimization strategy are compared to determine the optimization strategy with the lowest cost as the first optimization strategy for the first target cloud resource, thereby effectively reducing the subsequent usage cost of the first target cloud resource and improving the cost-effectiveness of the first target cloud resource.
[0069] It should be noted that the utilization rate of cloud resources other than the first target cloud resource is high, but it does not mean that their cost-effectiveness is high. There are different charging rules for different cloud platforms. Therefore, there may be a cloud resource with the same utilization rate and business volume as the cloud resources deployed on another cloud platform, but the cost of this cloud resource is higher than the cost of the cloud resources deployed on another cloud platform. In this case, the cost-effectiveness of this cloud resource is still low compared to the cost-effectiveness of the cloud resources deployed on another cloud platform, and enterprises will tend to choose to deploy cloud resources on cloud platforms with higher cost-effectiveness. In this regard, this embodiment proposes that cloud resources with similar utilization rates and business volumes can be screened out, and the cloud resources with the highest and lowest costs can be determined among these similar cloud resources. The cloud resources with the highest costs can be migrated to the cloud platform where the cloud resources with the lowest costs are deployed, thereby effectively reducing the cost of using cloud resources and improving the cost-effectiveness of cloud resources. Exemplary, Figure 6 This is a flow chart of migrating cloud resources to another cloud platform provided by an embodiment of the present application. Figure 6The step of migrating cloud resources to another cloud platform specifically includes S140-S160:
[0070] S140: Obtain business data and business functions of each cloud resource, cluster each cloud resource according to usage data, business data and business functions of each cloud resource, and determine each category of cloud resources.
[0071] S150: Compare the cost data of each cloud resource in the same category, and use the cloud resource with the highest cost in the corresponding category as the second target cloud resource to be optimized.
[0072] S160: Determine a target cloud platform corresponding to a cloud resource with the lowest cost among the cloud resources in the category corresponding to the second target cloud resource, and migrate the second target cloud resource to the target cloud platform.
[0073] Exemplarily, the business data of cloud resources includes the business volume processed by cloud resources in a preset time period. Each cloud resource can be clustered according to its business data, usage data and business functions, so as to classify cloud resources with similar utilization and business volume and the same business functions into the same category. Compare the cost data of each cloud resource in the same category to determine the second target cloud resource with the highest cost and the target cloud platform corresponding to the cloud resource with the lowest cost. Migrate the second target cloud resource to the target cloud platform, thereby reducing the use cost of the second target cloud resource and improving the cost-effectiveness of the second target cloud resource. For example, virtual machines A and B for processing payment requests are deployed on cloud platform A and cloud platform B respectively. The utilization and business volume of virtual machines A and B in the preset time period are similar, but because cloud platform B charges lower than cloud platform A, the cost of virtual machine A is higher than that of virtual machine B. Therefore, virtual machine A can be migrated to cloud platform B to reduce the cost of virtual machine A and improve the cost-effectiveness of virtual machine A.
[0074] In summary, the multi-cloud platform resource management method provided in the embodiment of the present application obtains the usage data and cost data of each cloud resource deployed by multiple cloud platforms within a preset time period, and the cloud resources include virtual machines, storage space, and network architecture; inputs the usage data and cost data of the cloud resources into a preset machine learning model, and determines the first target cloud resource to be optimized through the machine learning model; determines the corresponding first optimization strategy according to the usage data of the first target cloud resource, and adjusts the first target cloud resource according to the first optimization strategy. Through the above-mentioned technical means, the first target cloud resource with lower cost-effectiveness can be determined according to the usage data and cost data of the cloud resources deployed by each cloud platform, and the configuration of the first target cloud resource is optimized according to the usage data of the first target cloud resource to reduce the use cost of the first target cloud resource, which solves the problem of wasteful use cost of cloud resources in a low utilization state in the prior art, and improves the cost-effectiveness of cloud resources without affecting the business performance and stability of cloud resources.
[0075] Based on the above embodiments, Figure 7 A schematic diagram of the structure of a multi-cloud platform resource management device provided in an embodiment of the present application. Figure 7 The multi-cloud platform resource management device provided in this embodiment specifically includes: a data acquisition module 21, a first resource determination module 22 and a first resource optimization module 23.
[0076] The data acquisition module 21 is configured to acquire usage data and cost data of various cloud resources deployed on multiple cloud platforms within a preset time period, where the cloud resources include virtual machines, storage space, and network architecture;
[0077] The first resource determination module 22 is configured to input the usage data and cost data of the cloud resources into a preset machine learning model, and determine the first target cloud resource to be optimized through the machine learning model;
[0078] The first resource optimization module 23 is configured to determine a corresponding first optimization strategy according to usage data of the first target cloud resource, and adjust the first target cloud resource according to the first optimization strategy.
[0079] On the basis of the above embodiment, the machine learning model is a logistic regression model; accordingly, the first resource determination module 22 includes: a prediction result acquisition unit, configured to input the usage data and cost data of the cloud resources into the corresponding logistic regression model, and obtain the prediction result output by the logistic regression model, and the prediction result includes whether optimization is needed or not; the first resource determination unit is configured to determine the cloud resource as the first target cloud resource to be optimized when the prediction result is that optimization is needed.
[0080] On the basis of the above embodiment, the first resource optimization module 23 includes: an operating state determination unit, configured to determine the operating state of the first target cloud resource according to the usage data of the first target cloud resource, and the operating state includes a stable operating state; a first policy determination unit, configured to, when the first target cloud resource is in a stable operating state, if the average value of the usage data of the first target cloud resource is less than or equal to a first preset threshold, determine that the first optimization policy of the first target cloud resource is to shut down the first target cloud resource; a second policy determination unit, configured to determine the usage upper limit value of the first target cloud resource according to the average value of the usage data of the first target cloud resource if the average value of the usage data of the first target cloud resource is greater than the first preset threshold, and determine the first optimization policy of the first target cloud resource according to the usage upper limit value.
[0081] On the basis of the above embodiments, the operating state also includes a fluctuating operating state; accordingly, the first resource optimization module 23 also includes: after determining the operating state of the first target cloud resource according to the usage data of the first target cloud resource, a third strategy determination unit is configured to generate a dynamic expansion and contraction strategy according to the usage fluctuation period and usage peak of the first target cloud resource when the first target cloud resource is in a fluctuating operating state, and determine the dynamic expansion and contraction strategy as the first optimization strategy for the first target cloud resource.
[0082] On the basis of the above embodiment, the first target cloud resource is a target virtual machine; accordingly, the first resource optimization module 23 also includes: a relationship determination unit, which is configured to determine whether two target virtual machines are in a complementary relationship based on the usage data and business functions of any two target virtual machines when multiple target virtual machines are determined; a fourth strategy determination unit, which is configured to set the first optimization strategy of the target virtual machine to borrow resources from the corresponding complementary target virtual machines during peak hours when the two target virtual machines are in a complementary relationship.
[0083] Based on the above embodiments, the first resource optimization module 23 includes: a fifth strategy determination unit, configured to determine that the first target cloud resource corresponds to multiple optimization strategies based on the usage data of the first target cloud resource; a cost prediction unit, configured to predict the cost corresponding to each optimization strategy based on each optimization strategy and the usage data of the first target cloud resource; a sixth strategy determination unit, configured to determine the optimization strategy with the lowest cost as the first optimization strategy for the first target cloud resource.
[0084] Based on the above embodiments, the multi-cloud platform resource management device includes: a clustering module, configured to obtain business data and business functions of each cloud resource, cluster each cloud resource according to the usage data, business data and business functions of each cloud resource, and determine each category of cloud resources; a second resource determination module, configured to compare the cost data of each cloud resource in the same category, and use the cloud resource with the highest cost in the corresponding category as the second target cloud resource to be optimized; a second resource optimization module, configured to determine the target cloud platform corresponding to the cloud resource with the lowest cost among each cloud resource in the category corresponding to the second target cloud resource, and migrate the second target cloud resource to the target cloud platform.
[0085] As mentioned above, the multi-cloud platform resource management device provided in the embodiment of the present application obtains the usage data and cost data of each cloud resource deployed by multiple cloud platforms within a preset time period, and the cloud resources include virtual machines, storage space and network architecture; inputs the usage data and cost data of the cloud resources into a preset machine learning model, and determines the first target cloud resource to be optimized through the machine learning model; determines the corresponding first optimization strategy according to the usage data of the first target cloud resource, and adjusts the first target cloud resource according to the first optimization strategy. Through the above-mentioned technical means, the first target cloud resource with lower cost-effectiveness can be determined according to the usage data and cost data of the cloud resources deployed by each cloud platform, and the configuration of the first target cloud resource is optimized according to the usage data of the first target cloud resource to reduce the use cost of the first target cloud resource, which solves the problem of wasteful use cost of cloud resources in a low utilization state in the prior art, and improves the cost-effectiveness of cloud resources without affecting the business performance and stability of cloud resources.
[0086] The multi-cloud platform resource management device provided in the embodiment of the present application can be used to execute the multi-cloud platform resource management method provided in the above embodiment, and has corresponding functions and beneficial effects.
[0087] Figure 8 This is a schematic diagram of the structure of a multi-cloud platform resource management device provided in an embodiment of the present application, with reference to Figure 8 , the multi-cloud platform resource management device includes: a processor 31, a memory 32, a communication device 33, an input device 34 and an output device 35. The number of processors 31 in the multi-cloud platform resource management device can be one or more, and the number of memories 32 in the multi-cloud platform resource management device can be one or more. The processor 31, memory 32, communication device 33, input device 34 and output device 35 of the multi-cloud platform resource management device can be connected through a bus or other methods.
[0088] The memory 32, as a computer-readable storage medium, can be used to store software programs, computer executable programs and modules, such as program instructions / modules corresponding to the multi-cloud platform resource management method of any embodiment of the present application (for example, the data acquisition module 21, the first resource determination module 22 and the first resource optimization module 23 in the multi-cloud platform resource management device). The memory 32 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the device, etc. In addition, the memory 32 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some instances, the memory may further include a memory remotely arranged relative to the processor, and these remote memories may be connected to the device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network and a combination thereof.
[0089] The communication device 33 is used for data transmission.
[0090] The processor 31 executes various functional applications and data processing of the device by running software programs, instructions and modules stored in the memory 32, that is, implements the above-mentioned multi-cloud platform resource management method.
[0091] The input device 34 may be used to receive input digital or character information and generate key signal input related to user settings and function control of the device. The output device 35 may include a display device such as a display screen.
[0092] The multi-cloud platform resource management device provided above can be used to execute the multi-cloud platform resource management method provided in the above embodiment, and has corresponding functions and beneficial effects.
[0093] An embodiment of the present application also provides a storage medium containing computer executable instructions, which, when executed by a computer processor, are used to execute a multi-cloud platform resource management method, the multi-cloud platform resource management method comprising: obtaining usage data and cost data of each cloud resource deployed on multiple cloud platforms within a preset time period, the cloud resources including virtual machines, storage space, and network architecture; inputting the usage data and cost data of the cloud resources into a preset machine learning model, and determining a first target cloud resource to be optimized through the machine learning model; determining a corresponding first optimization strategy based on the usage data of the first target cloud resource, and adjusting the first target cloud resource based on the first optimization strategy.
[0094] Storage medium - any of various types of memory devices or storage devices. The term "storage medium" is intended to include: installation media, such as CD-ROM, floppy disk or tape device; computer system memory or random access memory, such as DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc.; non-volatile memory, such as flash memory, magnetic media (such as hard disk or optical storage); registers or other similar types of memory elements, etc. Storage media may also include other types of memory or combinations thereof. In addition, the storage medium may be located in the first computer system in which the program is executed, or may be located in a different second computer system, which is connected to the first computer system via a network (such as the Internet). The second computer system can provide program instructions to the first computer for execution. The term "storage medium" may include two or more storage media residing in different locations (for example, in different computer systems connected by a network). The storage medium may store program instructions (for example, embodied as a computer program) that can be executed by one or more processors.
[0095] Of course, the storage medium containing computer executable instructions provided in an embodiment of the present application is not limited to the multi-cloud platform resource management method as described above, and the computer executable instructions can also execute related operations in the multi-cloud platform resource management method provided in any embodiment of the present application.
[0096] The multi-cloud platform resource management device, storage medium and multi-cloud platform resource management equipment provided in the above embodiments can execute the multi-cloud platform resource management method provided in any embodiment of the present application. For technical details not described in detail in the above embodiments, please refer to the multi-cloud platform resource management method provided in any embodiment of the present application.
[0097] The above are only preferred embodiments of the present application and the technical principles used. The present application is not limited to the specific embodiments herein, and various obvious changes, readjustments and substitutions that can be made by those skilled in the art will not deviate from the protection scope of the present application. Therefore, although the present application is described in more detail through the above embodiments, the present application is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present application, and the scope of the present application is determined by the scope of the claims.
Claims
1. A multi-cloud platform resource management method, characterized in that: include: Obtaining usage data and cost data of various cloud resources deployed on multiple cloud platforms within a preset time period, wherein the cloud resources include virtual machines, storage space, and network architecture; Input the usage data and cost data of the cloud resource into a preset machine learning model, and determine the first target cloud resource to be optimized through the machine learning model; wherein the machine learning model is a logistic regression model; the inputting the usage data and cost data of the cloud resource into the preset machine learning model, and determining the first target cloud resource to be optimized through the machine learning model comprises: inputting the usage data and cost data of the cloud resource into a corresponding logistic regression model, determining the expected cost of the cloud resource according to the usage data of the cloud resource through the logistic regression model, outputting a prediction result that does not require optimization when the expected cost is greater than the cost data, and outputting a prediction result that requires optimization when the expected cost is greater than or equal to the cost data; when the prediction result is that optimization is required, determining the corresponding cloud resource as the first target cloud resource to be optimized; Determine a corresponding first optimization strategy according to the usage data of the first target cloud resource, and adjust the first target cloud resource according to the first optimization strategy; wherein, determining the corresponding first optimization strategy according to the usage data of the first target cloud resource includes: when the first target cloud resource is a target virtual machine, in the case where multiple target virtual machines are determined, determine whether the two target virtual machines are in a complementary relationship based on the usage data and business functions of any two target virtual machines, the two target virtual machines in a complementary relationship have the same business functions and the peak hours and off-peak hours are staggered, and in the case where the two target virtual machines are in a complementary relationship, the first optimization strategy of the target virtual machine is to borrow resources from the corresponding complementary target virtual machines during the peak hours; in the case where it is determined according to the usage data of the first target cloud resource that the first target cloud resource is in a stable operation state, if the average value of the usage data of the first target cloud resource is greater than a first preset threshold value, determine the usage upper limit value of the first target cloud resource according to the average value of the usage data of the first target cloud resource, and determine that the first optimization strategy of the first target cloud resource is to adjust the resource configuration of the first target cloud resource to the usage upper limit value.
2. The multi-cloud platform resource management method according to claim 1, characterized in that: The determining a corresponding first optimization strategy according to the usage data of the first target cloud resource includes: When it is determined that the first target cloud resource is in a stable operating state based on the usage data of the first target cloud resource, if the average value of the usage data of the first target cloud resource is less than or equal to a first preset threshold, the first optimization strategy for the first target cloud resource is determined to be shutting down the first target cloud resource.
3. The multi-cloud platform resource management method according to claim 2, characterized in that: The determining a corresponding first optimization strategy according to the usage data of the first target cloud resource includes: When it is determined that the first target cloud resource is in a fluctuating operating state based on usage data of the first target cloud resource, a dynamic scaling strategy is generated based on the usage fluctuation period and usage peak of the first target cloud resource, and the dynamic scaling strategy is determined as the first optimization strategy for the first target cloud resource.
4. The multi-cloud platform resource management method according to claim 1, characterized in that: The determining a corresponding first optimization strategy according to the usage data of the first target cloud resource includes: Determining, according to the usage data of the first target cloud resource, that the first target cloud resource corresponds to a plurality of optimization strategies; Predicting the cost corresponding to each of the optimization strategies according to the usage data of each of the optimization strategies and the first target cloud resources; The optimization strategy with the lowest cost is determined as the first optimization strategy for the first target cloud resource.
5. The multi-cloud platform resource management method according to claim 1, characterized in that: After obtaining the usage data and cost data of each cloud resource deployed on the multiple cloud platforms within a preset time period, the method further includes: Acquire the service data and service functions of each cloud resource, cluster the cloud resources according to the usage data, service data and service functions of each cloud resource, and determine cloud resources of each category; Compare the cost data of various cloud resources in the same category, and use the cloud resource with the highest cost in the corresponding category as the second target cloud resource to be optimized; Among the cloud resources of the category corresponding to the second target cloud resource, a target cloud platform corresponding to the cloud resource with the lowest cost is determined, and the second target cloud resource is migrated to the target cloud platform.
6. A multi-cloud platform resource management device, characterized in that: include: A data acquisition module is configured to acquire usage data and cost data of various cloud resources deployed on multiple cloud platforms within a preset time period, wherein the cloud resources include virtual machines, storage space, and network architecture; The first resource determination module is configured to input the usage data and cost data of the cloud resource into a preset machine learning model, and determine the first target cloud resource to be optimized through the machine learning model; wherein the machine learning model is a logistic regression model; the first resource determination module is specifically configured to input the usage data and cost data of the cloud resource into a corresponding logistic regression model, and determine the expected cost of the cloud resource according to the usage data of the cloud resource through the logistic regression model, and output a prediction result that does not require optimization when the expected cost is greater than the cost data, and output a prediction result that requires optimization when the expected cost is greater than or equal to the cost data; when the prediction result is that optimization is required, the corresponding cloud resource is determined as the first target cloud resource to be optimized; The first resource optimization module is configured to determine the corresponding first optimization strategy according to the usage data of the first target cloud resource, and adjust the first target cloud resource according to the first optimization strategy; the first resource optimization module is specifically configured as follows: when the first target cloud resource is a target virtual machine, in the case where multiple target virtual machines are determined, based on the usage data and business functions of any two target virtual machines, determine whether the two target virtual machines are in a complementary relationship, the business functions of the two target virtual machines in a complementary relationship are the same and the peak hours and off-peak hours are staggered, and in the case where the two target virtual machines are in a complementary relationship, the first optimization strategy of the target virtual machine is to borrow resources from the corresponding complementary target virtual machines during the peak hours; in the case where it is determined according to the usage data of the first target cloud resource that the first target cloud resource is in a stable operation state, if the average value of the usage data of the first target cloud resource is greater than a first preset threshold value, then determine the usage upper limit value of the first target cloud resource according to the average value of the usage data of the first target cloud resource, and determine that the first optimization strategy of the first target cloud resource is to adjust the resource configuration of the first target cloud resource to the usage upper limit value.
7. A multi-cloud platform resource management device, characterized in that: include: one or more processors; A memory stores one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the multi-cloud platform resource management method as described in any one of claims 1-5.
8. A storage medium containing computer executable instructions, characterized in that: The computer executable instructions, when executed by a computer processor, are used to execute the multi-cloud platform resource management method as described in any one of claims 1-5.
Citation Information
Patent Citations
Web multilayer application dynamic resource adjustment method based on IaaS layer application perception
CN104123189A
Cost management method and device, equipment and storage medium
CN117675603A