Method for determining configuration scheme of hardware resource pool and related equipment

Through the simulation testing and optimization strategies of the cloud management platform, the problem of mismatch in hardware resource pool configuration for public cloud tenants is solved, and low-cost and high-utilization resource configuration is achieved, meeting the needs of tenants.

CN119299307APending Publication Date: 2025-01-10HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202311531768.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-07-08
Filing Date
2023-11-16
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

When public cloud tenants expand their business, it is difficult for them to accurately purchase appropriate computing devices and storage devices, resulting in mismatch in hardware resource pool configurations, unable to achieve low cost and high utilization, and wasted resources or excessive costs.

Method used

Receive the tenant's cloud resource usage through the cloud management platform, generate resource request collections, and conduct simulation tests to optimize the hardware resource pool configuration plan to meet the needs of tenants and improve the matching between the configuration plan and the needs.

Benefits of technology

It realizes a more accurate assessment of whether resource configuration meets tenant needs, reduces configuration costs, improves resource utilization, and provides a hardware resource pool configuration solution that is more consistent with tenant needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119299307A_ABST
    Figure CN119299307A_ABST
Patent Text Reader

Abstract

The invention provides a method for determining a configuration scheme of a hardware resource pool and related equipment. The method is applied to a cloud management platform. The method comprises the following steps: receiving a cloud resource use condition configured by a tenant; generating a first configuration scheme of a resource request set and a first hardware resource pool according to the cloud resource use condition; according to the resource request set and a first configuration scheme of the first hardware resource pool, performing simulation to obtain a first simulation result; when the first configuration scheme does not meet the preset condition, optimizing the first configuration scheme to obtain a target configuration scheme; and when the first configuration scheme meets a preset condition, taking the first configuration scheme as a target configuration scheme. According to the method, the configuration scheme of the resource request set and the hardware resource pool can be generated based on the cloud resource use condition of the tenant, and the simulation test is performed, so that the cost and the resource allocation capability of the configuration scheme can be evaluated more accurately, and the matching degree between the configuration scheme and the demand of the tenant can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on July 8, 2023, with application number 202310833429.8, and priority to the Chinese patent application entitled “A hybrid cloud hardware recommendation method, device and computing device cluster”, all contents of which are incorporated by reference in this application. Technical Field

[0002] The present application relates to the field of cloud computing, and more specifically, to a method for determining a configuration scheme of a hardware resource pool, an apparatus for determining a configuration scheme of a hardware resource pool, a computing device cluster, a computer program product, and a computer-readable storage medium. Background Art

[0003] When the business of public cloud tenants reaches a certain scale, they usually consider building their own computer rooms and migrating some businesses from the public cloud to their own computer rooms, thus building a hybrid cloud system. A hybrid cloud system can be used as a form of cloud computing, allowing private cloud and public cloud to work together, thereby improving the resource utilization of tenants across clouds. A hybrid cloud system has both a self-built computer room and an independent security center, and can also obtain computing resources from the public cloud. Self-built computer rooms can reduce overall costs, ensure asset ownership, ensure the compliance of core businesses, and ensure the security of core data. Tenants can deploy different businesses in their own computer rooms and public clouds according to the characteristics of their own businesses. However, in the process of building their own computer rooms, tenants are not familiar with cloud businesses, so it is difficult to choose suitable computing and storage devices to achieve low cost and high utilization. At present, resource pool design and equipment type recommendation for tenants are mainly based on expert experience, but the results of design and recommendation based on expert experience are often not accurate enough and cannot accurately match the actual usage scale and habits of tenants. If the resource pool size is designed to be too small, it needs to be expanded again. If the resource pool size is designed to be too large, it will cause resource waste and lead to higher costs.

[0004] Therefore, how to determine the configuration plan of the hardware resource pool for tenants and improve the matching degree between the configuration plan and tenant needs has become an urgent problem to be solved. Summary of the invention

[0005] The present application provides a method for determining a configuration scheme of a hardware resource pool, an apparatus for determining a configuration scheme of a hardware resource pool, a computing device cluster, a computer program product, and a computer-readable storage medium, which can determine a configuration scheme of a hardware resource pool for a tenant and improve the matching degree between the configuration scheme and the tenant's needs.

[0006] In a first aspect, a method for determining a configuration scheme of a hardware resource pool is provided, and the method is applied to a cloud management platform. The cloud management platform manages an infrastructure for providing cloud services, and the infrastructure is deployed in one or more data centers. The method includes: receiving cloud resource usage configured by a tenant; generating a resource request set and a first configuration scheme for a first hardware resource pool according to the cloud resource usage; initiating a resource request for simulation to a virtual resource pool corresponding to the first configuration scheme of the first hardware resource pool according to the resource request set, and obtaining a first simulation result; when the first configuration scheme does not meet a preset condition, optimizing the first configuration scheme to obtain a target configuration scheme for the first hardware resource pool; when the first configuration scheme meets the preset condition, using the first configuration scheme as the target configuration scheme.

[0007] Among them, the cloud resource usage includes the tenant's historical cloud resource usage and / or the cloud resource usage of the industry to which the tenant's business belongs. The historical cloud resource usage includes the tenant's usage of at least one of the computing resources, network resources or storage resources in the one or more data centers. The resource request set includes at least one resource request, and each resource request is used to indicate a simulation request for any one of the computing resources, network resources or storage resources. The first configuration scheme of the first hardware resource pool is used to indicate the configuration of the hardware resources, and the configuration of the hardware resources includes: the number of devices and the type of devices. The first simulation result is used to indicate whether at least one resource request is satisfied and / or the allocation of resources in the virtual resource pool corresponding to the first configuration scheme. The preset condition includes at least one of the following: the at least one resource request is satisfied, the allocation of resources meets the preset condition, and the cost of the first hardware resource pool is less than the first cost threshold.

[0008] In the embodiment of the present application, the tenant's demand for resources can be simulated based on the tenant's cloud resource usage, so that a resource request set and a configuration plan for the hardware resource pool can be generated, and the configuration plan can be simulated and tested to obtain simulation results. Through simulation, it is possible to more accurately evaluate whether the configuration plan can meet the tenant's resource request, and it is also possible to more accurately determine the actual cost and resource allocation capacity of the configuration plan. The method in the embodiment of the present application can optimize the configuration plan based on the simulation results, so as to determine the target configuration plan that meets the tenant's needs, and then improve the matching degree between the configuration plan and the tenant's needs.

[0009] In conjunction with the first aspect, in certain implementations of the first aspect, the historical cloud resource usage includes at least one of the following: historical cloud resource usage regions, historical cloud resource usage time, and historical cloud resource usage. The cloud resource usage of an industry includes: the cloud resource usage time of an industry and / or the cloud resource usage of an industry.

[0010] In the embodiment of the present application, the resource request set and the configuration scheme of the hardware resource pool can be determined based on the region, time, and usage of the cloud resources used by the tenant in the historical process. Alternatively, when the tenant has no historical cloud resource usage or the amount of data included in the historical cloud resource usage is small, the resource request set and the configuration scheme of the hardware resource pool can be determined based on the cloud resource usage of the industry to which the tenant's business belongs.

[0011] In conjunction with the first aspect, in some implementations of the first aspect, the first configuration scheme is optimized according to the optimization strategy and the first simulation result to obtain a target configuration scheme. The optimization strategy includes at least one of the following: increasing or decreasing the number of resources, increasing or decreasing the number of devices that carry resources, and changing the type of device.

[0012] In an embodiment of the present application, at least one optimization strategy can be used to optimize the configuration scheme of the hardware resource pool from one or more aspects such as the number of resources, the number of devices, the type of devices, etc., so as to generate a configuration scheme that better matches the needs of tenants.

[0013] In combination with the first aspect, in certain implementations of the first aspect, increasing or decreasing the number of resources includes: increasing or decreasing the number of local resources and / or cloud resources; and / or increasing or decreasing the number of devices that carry resources includes at least one of the following: increasing the number of devices whose costs are lower than or equal to a second cost threshold, and decreasing the number of devices whose costs are higher than the second cost threshold.

[0014] In the embodiments of the present application, the increase or decrease of resources in the configuration scheme can be achieved by increasing or decreasing local resources and / or cloud resources, and the increase or decrease of costs in the configuration scheme can also be achieved by increasing or decreasing the number of devices with different costs.

[0015] In combination with the first aspect, in certain implementations of the first aspect, the resource allocation situation includes the resource allocation rate and / or the fragmentation rate. When the first simulation result indicates that the first resource request is not satisfied, the number of first resources in the first configuration scheme or the number of devices carrying the first resource is increased, the first resource is the resource requested by the first resource request, and the first resource request is any resource request in the resource request set. Alternatively, when the first simulation result indicates that the resource allocation rate is lower than the first allocation threshold, the number of resources in the first configuration scheme or the number of devices carrying the resources is reduced. Alternatively, when the first simulation result indicates that the resource allocation rate is higher than the second allocation threshold, the number of resources in the first configuration scheme or the number of devices carrying the resources is increased, and the first allocation threshold is lower than or equal to the second allocation threshold. Alternatively, when the first simulation result indicates that the resource fragmentation rate is higher than the first fragmentation threshold, the first device in the first configuration scheme is replaced with a second device, and the amount of resources carried by the first device is less than the amount of resources carried by the second device.

[0016] In an embodiment of the present application, the number of resources in the first configuration scheme can be adjusted according to the information indicated by the first simulation result, so as to satisfy each resource request in the resource request set. In an embodiment of the present application, the number of resources in the first configuration scheme can also be reduced or increased according to the allocation rate indicated by the first simulation result, so as to avoid the problem of resource waste in the configuration scheme, or avoid the problem of insufficient resources in the configuration scheme. In an embodiment of the present application, the type of device carrying resources in the first configuration scheme can also be replaced according to the fragmentation rate indicated by the first simulation result, so that the resources in each device can be fully utilized and the waste of resources can be avoided.

[0017] In combination with the first aspect, in certain implementations of the first aspect, when the first configuration scheme does not meet the preset conditions and the first configuration scheme is a scheme in the historical configuration scheme set whose cost is greater than a third cost threshold, the second configuration scheme is optimized according to the second simulation result to determine the third configuration scheme; according to the resource request set, a resource request for simulation is initiated to the virtual resource pool corresponding to the third configuration scheme to obtain a third simulation result; when the third configuration scheme does not meet the preset conditions, the third configuration scheme is optimized to obtain a target configuration scheme; when the third configuration scheme meets the preset conditions, the third configuration scheme is used as the target configuration scheme.

[0018] The second configuration scheme is a scheme in the historical configuration scheme whose cost is less than or equal to the third cost threshold. The second simulation result is a simulation result corresponding to the second configuration scheme. The third simulation result is used to indicate whether at least one resource request is satisfied and / or the allocation of resources in the virtual resource pool corresponding to the third configuration scheme.

[0019] In the embodiment of the present application, when the first configuration scheme does not meet the preset conditions, a second configuration scheme with lower cost can be selected from the historical configuration schemes, and the second configuration scheme can be optimized to determine the third configuration scheme. In the embodiment of the present application, the configuration scheme can be optimized iteratively multiple times to generate a configuration scheme that meets the preset conditions, thereby improving the matching degree between the configuration scheme and the tenant's needs.

[0020] In combination with the first aspect, in certain implementations of the first aspect, cloud resource usage is randomly sampled to determine at least one resource request. Each resource request in the at least one resource request includes timing information and resource usage. The timing information is used to indicate the start time of resource usage, or the timing information is used to indicate the start time and end time of resource usage.

[0021] In an embodiment of the present application, at least one resource request can be generated by sampling the tenant's cloud resource usage, thereby facilitating dynamic simulation of the configuration plan, avoiding the idealization of the static evaluation process, and generating a configuration plan that better matches the tenant's needs.

[0022] In conjunction with the first aspect, in some implementations of the first aspect, resources in a virtual resource pool corresponding to a first configuration scheme are sequentially allocated according to the timing information of each resource request in at least one resource request to obtain a first simulation result. The resource allocation indicated by the first simulation result includes an allocation rate and / or a fragmentation rate of the resource.

[0023] In an embodiment of the present application, the resources in the virtual resource pool corresponding to the configuration scheme can be allocated in sequence according to the timing information of each resource request, so as to determine whether the configuration scheme can meet each resource request. The allocation rate and / or fragmentation rate of the resources in the configuration scheme can also be determined, thereby determining the direction of optimizing the configuration scheme.

[0024] In combination with the first aspect, in some implementations of the first aspect, device configuration information configured by a tenant is received, the device configuration information including the type of device used to carry resources; and a first configuration scheme is determined based on the device configuration information and cloud resource usage.

[0025] In the embodiment of the present application, the tenant can select or upload the type of device that the tenant expects to use, so that the target configuration plan can include the device that the tenant expects to use, thereby improving the matching degree between the configuration plan and the tenant's needs.

[0026] In combination with the first aspect, in certain implementations of the first aspect, a target configuration scheme is provided to a tenant; optimization strategy configuration information of the tenant is received, the optimization strategy configuration information being used to indicate an optimization strategy for optimizing the target configuration scheme; the target configuration scheme is optimized according to the optimization strategy configuration information to obtain an optimized configuration scheme; and the optimized configuration scheme is provided to the tenant.

[0027] In an embodiment of the present application, after the target configuration scheme is provided to the tenant, the tenant can also select or upload the direction in which further optimization is desired, thereby further optimizing the target configuration scheme based on the optimization strategy configuration information selected or uploaded by the tenant, and providing the optimized configuration scheme to the tenant.

[0028] In a second aspect, a device for determining a configuration scheme of a hardware resource pool is provided, wherein the device includes a module for implementing the first aspect or any possible implementation manner of the first aspect.

[0029] In a third aspect, the present application provides a computing device cluster, comprising at least one computing device, each computing device comprising a processor and a memory; the processor of at least one computing device is used to execute instructions stored in the memory of at least one computing device, so that the computing device cluster executes the method of the above-mentioned first aspect or any one of the implementation methods of the first aspect.

[0030] In a fourth aspect, the present application provides a computer program product comprising instructions, which, when executed by a computer device cluster, causes the computer device cluster to execute the method of the first aspect or any one of the implementation modes of the first aspect.

[0031] In a fifth aspect, the present application provides a computer-readable storage medium, including computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster executes the method of the above-mentioned first aspect or any one of the implementation modes of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] Figure 1 It is a schematic structural diagram of a system for determining a configuration scheme of a hardware resource pool according to an embodiment of the present application.

[0033] Figure 2 It is a schematic flowchart of a method for determining a configuration scheme of a hardware resource pool according to an embodiment of the present application.

[0034] Figure 3 It is a schematic flowchart of a method for determining a resource request set and a first configuration scheme according to an embodiment of the present application.

[0035] Figure 4 It is a schematic flowchart of a method for determining a configuration scheme of a hardware resource pool according to another embodiment of the present application.

[0036] Figure 5 It is a schematic flowchart of a method for determining a configuration scheme of a hardware resource pool according to another embodiment of the present application.

[0037] Figure 6 It is a schematic structural block diagram of an apparatus for determining a configuration scheme of a hardware resource pool according to an embodiment of the present application.

[0038] Figure 7 It is a schematic structural block diagram of a computing device according to an embodiment of the present application.

[0039] Figure 8 It is a schematic structural block diagram of a computing device cluster according to an embodiment of the present application.

[0040] Fig. 9 is a schematic diagram of a connection between computing devices 700A and 700B via a network according to an embodiment of the present application. DETAILED DESCRIPTION

[0041] The technical solution in this application will be described below in conjunction with the accompanying drawings.

[0042] The embodiments of the present application will present various aspects, embodiments or features around a system including multiple devices, components, modules, etc. It should be understood and appreciated that each system may include additional devices, components, modules, etc., and / or may not include all devices, components, modules, etc. discussed in conjunction with the figures. In addition, combinations of these schemes may also be used.

[0043] In addition, in the embodiments of the present application, words such as "exemplary" and "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of the word "exemplary" is intended to present concepts in a concrete way.

[0044] The business scenarios described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Ordinary technicians in this field can know that with the evolution of technology and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.

[0045] References to "one embodiment" or "some embodiments" etc. described in this specification mean that a particular feature, structure or characteristic described in conjunction with the embodiment is included in one or more embodiments of the present application. Thus, the phrases "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear at different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0046] In the embodiments of the present application, "at least one" refers to one or more, and "plurality" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can be represented by: including the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and subsequent associated objects are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can be represented by: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.

[0047] The technical solutions in the embodiments of the present application can be applied to computing devices, such as servers, hosts, personal computers, laptops, desktops, and other devices with computing capabilities. The server can be a local server, or it can be a cloud server, which is not limited in the embodiments of the present application. When the server is a cloud server, the technical solutions in the embodiments of the present application can be applied to a cloud management platform.

[0048] Figure 1 It is a schematic structural diagram of a system for determining a configuration scheme for a hardware resource pool provided in an embodiment of the present application. Figure 1 The system 100 in the embodiment includes a cloud management platform 110. The cloud management platform 110 can be used to manage the infrastructure for providing cloud services, which is deployed in one or more data centers. Each data center may include a computing device cluster. The computing device cluster includes at least one computing device. When a computing device cluster includes multiple computing devices, the multiple computing devices in the computing device cluster can be directly connected or connected through a network. The network can be, for example, a local area network or a wide area network. Each computing device in the computing device cluster can execute the method in the embodiment of the present application individually, or multiple computing devices in the computing device cluster can jointly execute the method in the embodiment of the present application.

[0049] The cloud management platform 110 may include a tenant configuration module 120, a solution design module 130, and a simulation module 140. In some embodiments, at least two of the tenant configuration module 120, the solution design module 130, and the simulation module 140 may be deployed in the same or different computing devices, and the embodiments of the present application do not limit the specific modules deployed in each computing device.

[0050] The tenant configuration module 120 may receive the cloud resource usage configured by the tenant. The tenant is a tenant of a public cloud that has registered a public cloud account and purchased public cloud resources or cloud services. The cloud resource usage may include the tenant's usage of any one or more of the computing resources, storage resources, or network resources in one or more data centers. That is, the resources in the embodiments of the present application may include at least one of the following resources: computing resources, storage resources, or network resources.

[0051] In some embodiments, the tenant configuration module 120 can determine the tenant's cloud resource usage by itself. For example, the tenant configuration module 120 can provide a first graphical interface, so that the tenant can upload or select operations in the first graphical interface to obtain the tenant's cloud resource usage. Alternatively, the tenant configuration module 120 can receive the tenant's cloud resource usage from other modules. The other module is a module connected to the tenant configuration module 120, and the other module can be located on the same device or a different device as the tenant configuration module 120.

[0052] In some embodiments, the cloud resource usage of the tenant includes the historical cloud resource usage of the tenant and / or the cloud resource usage of the industry to which the tenant's business belongs. The historical cloud resource usage includes at least one of the following: historical cloud resource usage region, historical cloud resource usage time, and historical cloud resource usage. The cloud resource usage of the industry includes: the cloud resource usage time of the industry and / or the cloud resource usage of the industry.

[0053] In some embodiments, the tenant configuration module 120 may also receive tenant-configured device configuration information. The device configuration information includes the type of device used to carry resources, for example, it may include the model, configuration, maximum amount of resources that can be carried, specifications, and other information of the device. When the device is a computing device, the specifications of the device may include at least one of the following information: the processor model, number of processor cores, storage capacity (e.g., memory capacity, hard disk capacity), etc. included in the device. When the device is a storage device, the specifications of the device may include at least one of the following information: storage capacity, read and write speeds, interface type, etc. The meaning of the "configuration" of a device is similar to the meaning of the "specification".

[0054] For example, the tenant configuration module 120 may provide a second graphical interface, so that the tenant may upload or select in the second graphical interface to obtain device configuration information. Alternatively, the tenant configuration module 120 may receive device configuration information from other modules. The other modules are modules connected to the tenant configuration module 120, and the other modules may be located in the same device or in a different device from the tenant configuration module 120.

[0055] The solution design module 130 can generate a resource request set and a first configuration solution of the first hardware resource pool according to the cloud resource usage of the tenant. The resource request set includes at least one resource request, each resource request is used to indicate a simulation request for a resource. The first configuration solution of the first hardware resource pool is used to indicate the configuration of the hardware resources, and the configuration of the hardware resources includes: the number and type of devices that carry the resources.

[0056] In some embodiments, the solution design module 130 can sample the cloud resource usage of the tenant to determine at least one resource request. Each resource request includes timing information and resource usage. The timing information is used to indicate the start time of resource usage, or can be used to indicate the start time and end time of resource usage.

[0057] In some embodiments, the solution design module 130 may generate a first configuration solution for the first hardware resource pool based on the device configuration information and the cloud resource usage of the tenant. Alternatively, the solution design module 130 may generate a first configuration solution for the first hardware resource pool based on the preset configuration information and the cloud resource usage of the tenant. The preset configuration information includes the type of the preset device for carrying resources, for example, the type of the device may include the model, configuration, maximum amount of resources that can be carried, specifications, and other information of the device.

[0058] The simulation module 140 can initiate a simulated resource request to the virtual resource pool corresponding to the first configuration scheme of the first hardware resource pool according to the resource request set, and obtain a first simulation result. The first simulation result is used to indicate whether at least one resource request in the resource request set is satisfied and / or the allocation of resources in the virtual resource pool corresponding to the first configuration scheme. The simulation module 140 can also determine whether the first configuration scheme meets the preset conditions. The preset conditions include at least one of the following: at least one resource request is satisfied, the allocation of resources meets the preset conditions, and the cost of the first hardware resource pool is less than the first cost threshold. The cost of the first hardware resource pool is the cost of the current configuration scheme of the first hardware resource pool. When the first configuration scheme does not meet the preset conditions, the simulation module 140 can optimize the first configuration scheme to obtain the target configuration scheme of the first hardware resource pool. When the first configuration scheme meets the preset conditions, the simulation module 140 can use the first configuration scheme as the target configuration scheme.

[0059] In some embodiments, the simulation module 140 may allocate resources in the virtual resource pool corresponding to the first configuration scheme in sequence according to the timing information of each resource request in at least one resource request to obtain a first simulation result. The resource allocation indicated by the first simulation result includes the resource allocation rate and / or fragmentation rate.

[0060] When the first configuration scheme does not meet the preset condition, the simulation module 140 can directly optimize the first configuration scheme to obtain the target configuration scheme. Alternatively, the simulation module 140 can optimize the configuration schemes whose cost is less than or equal to the third cost threshold in the historical configuration scheme set to obtain the target configuration scheme. The historical configuration scheme set includes at least one historical configuration scheme, and each historical configuration scheme in the at least one historical configuration scheme is a configuration scheme generated in a historical process. The at least one historical configuration scheme may include the first configuration scheme. In some embodiments, each historical configuration scheme in the historical configuration scheme set can satisfy each resource request in the resource request set.

[0061] When the first configuration scheme is a scheme whose cost is less than or equal to the third cost threshold in the set of historical configuration schemes, the simulation module 140 can optimize the first configuration scheme according to the optimization strategy and the first simulation result to obtain the target configuration scheme. The optimization strategy includes at least one of the following: increasing or decreasing the number of resources, increasing or decreasing the number of devices that carry resources, and changing the type of devices that carry resources. The increasing or decreasing number of resources includes: increasing or decreasing the number of local resources and / or cloud resources. The increasing or decreasing number of devices that carry resources includes at least one of the following: increasing the number of devices with a cost lower than or equal to the second cost threshold, and reducing the number of devices with a cost higher than the second cost threshold.

[0062] When the second configuration scheme is a scheme whose cost is less than or equal to the third cost threshold in the historical configuration scheme set, the simulation module 140 can optimize the second configuration scheme according to the second simulation result to determine the third configuration scheme. The second simulation result is the simulation result corresponding to the second configuration scheme. The simulation module 140 can also initiate a resource request for simulation to the virtual resource pool corresponding to the third configuration scheme according to the resource request set to obtain a third simulation result. The third simulation result is used to indicate whether at least one resource request is satisfied and / or the allocation of resources in the virtual resource pool corresponding to the third configuration scheme. When the third configuration scheme does not meet the preset conditions, the simulation module 140 can optimize the third configuration scheme to obtain the target configuration scheme. When the third configuration scheme meets the preset conditions, the simulation module 140 can use the third configuration scheme as the target configuration scheme.

[0063] In some embodiments, simulation module 140 may determine at least one target configuration scheme.

[0064] Optionally, the cloud management platform 110 may further include a display solution module 150. The display solution module 150 may provide the tenant with at least one target configuration solution determined by the simulation module 140. The display solution module 150 may also provide the tenant with the allocation of resources of the virtual resource pool corresponding to each target configuration solution and / or the cost of each target configuration solution.

[0065] In some embodiments, the display solution module 140 may also provide a third graphical interface to the tenant, so that the tenant can upload or select operations in the third graphical interface to determine the optimization strategy configuration information. The optimization strategy configuration information is used to indicate the optimization strategy for optimizing the target configuration solution. The simulation module 140 may also optimize the target configuration solution according to the optimization strategy configuration information, thereby determining the optimized configuration solution, and providing it to the tenant through the display solution module 150.

[0066] Figure 1The system 100 can simulate the tenant's demand for resources based on the tenant's cloud resource usage, thereby generating a resource request set and a configuration plan for the hardware resource pool, and performing simulation tests on the configuration plan to obtain simulation results. Through simulation, it is possible to more accurately evaluate whether the configuration plan can meet the tenant's resource request, and it is also possible to more accurately determine the actual cost and resource allocation capacity of the configuration plan. The system 100 can also iteratively optimize the configuration plan based on the simulation results, thereby reducing the cost of the configuration plan and improving the utilization of resources, thereby providing the tenant with a configuration plan that has a high degree of match with the tenant's needs.

[0067] Figure 2 It is a schematic flowchart of a method for determining a configuration scheme of a hardware resource pool provided in an embodiment of the present application. Figure 2 The method in can be Figure 1 The cloud management platform 110 is executed. Figure 2 The method comprises the following steps.

[0068] S210: Receive cloud resource usage configured by the tenant.

[0069] The cloud management platform may receive the cloud resource usage configured by the tenant, and the cloud resource usage includes the tenant's historical cloud resource usage and / or the cloud resource usage of the industry to which the tenant's business belongs. The cloud resource usage includes the usage of at least one of computing resources, network resources, or storage resources. The historical cloud resource usage includes the tenant's usage of at least one of computing resources, network resources, or storage resources in one or more data centers.

[0070] In some embodiments, the historical cloud resource usage includes at least one of the following: historical cloud resource usage region, historical cloud resource usage time, and historical cloud resource usage. The cloud resource usage of the industry includes: industry cloud resource usage time and industry cloud resource usage.

[0071] Optionally, the cloud management platform can provide a first graphical interface for the tenant, so that the tenant can upload or select operations in the first graphical interface to obtain the cloud resource usage configured by the tenant. The embodiment of the present application does not limit the specific form of the first graphical interface.

[0072] Optionally, the cloud management platform may also receive tenant-configured device configuration information while receiving tenant-configured cloud resource usage information. The device configuration information includes the type of device used to carry resources. The type of device may include information such as the model, configuration, maximum amount of resources that can be carried, and specifications of the device. When the device is a computing device, the specifications of the device may include at least one of the following information: the processor model, number of processor cores, storage capacity (e.g., memory capacity, hard disk capacity), etc. included in the device. When the device is a storage device, the specifications of the device may include at least one of the following information: storage capacity, read and write speeds, interface type, etc. The meaning of the "configuration" of a device is similar to the meaning of the "specification".

[0073] In some embodiments, the cloud management platform can provide a second graphical interface for the tenant, so that the tenant can upload or select operations in the second graphical interface to obtain the device configuration information configured by the tenant. That is, the cloud management platform can provide at least one type of device to the tenant for the tenant to select, thereby determining the device configuration information. Alternatively, the cloud management platform can receive at least one type of device uploaded by the tenant, thereby determining the device configuration information. The embodiments of the present application do not limit the specific form of expression of the second graphical interface.

[0074] S220: Generate a resource request set and a first configuration plan for a first hardware resource pool according to the cloud resource usage.

[0075] The cloud management platform can generate a resource request set and a first configuration scheme for the first hardware resource pool based on the cloud resource usage of the tenant. The resource includes at least one of the following: computing resources, network resources, or storage resources. The resource request set includes at least one resource request, and each resource request is used to indicate a simulation request for a resource. The first configuration scheme of the first hardware resource pool is used to indicate the configuration of the hardware resources. The first configuration scheme may include the total amount of resources. Alternatively, the first configuration scheme may include the type and number of devices used to carry resources. According to the type and number of devices used to carry resources, the total amount of resources in the first configuration scheme can be determined.

[0076] Optionally, the cloud management platform may sample the cloud resource usage of the tenant to determine the at least one resource request. Each of the at least one resource request includes timing information and resource usage. The timing information included in each resource request is used to indicate the start time of use of the resource requested by the resource request, or may be used to indicate the start time and end time of use of the resource requested by the resource request.

[0077] Optionally, the cloud management platform can directly generate the first configuration scheme according to the cloud resource usage configured by the tenant. The first configuration scheme includes the total amount of resources. The total amount of resources included in the first configuration scheme may or may not meet the maximum resource usage of the tenant, which is not limited in the embodiments of the present application. The maximum resource usage of the tenant is determined according to the cloud resource usage configured by the tenant.

[0078] Optionally, the cloud management platform may generate the first configuration scheme based on the cloud resource usage and device configuration information configured by the tenant. Alternatively, the cloud management platform may generate the first configuration scheme based on the preset configuration information and the cloud resource usage configured by the tenant. The preset configuration information includes the type of device preset for carrying resources. The type of device may include information such as the model, configuration, maximum amount of resources that can be carried, and specifications of the device. The first configuration scheme may include the device configuration information or the device included in the preset configuration information.

[0079] S230: Initiate a resource request for simulation to a virtual resource pool corresponding to the first configuration solution according to the resource request set, and obtain a first simulation result.

[0080] The cloud management platform can simulate the first configuration scheme according to the resource request set to obtain a first simulation result. The first simulation result is used to indicate whether at least one resource request in the resource request set is satisfied and / or the allocation of resources in the virtual resource pool corresponding to the first configuration scheme.

[0081] In some embodiments, the resource allocation includes the resource allocation rate and / or the resource fragmentation rate. The resource allocation rate may include the average resource allocation rate, the maximum resource allocation rate, the resource allocation rate at a preset time, etc. The resource fragmentation rate may include the average resource fragmentation rate, the maximum resource fragmentation rate, and the resource fragmentation rate at a preset time.

[0082] Optionally, the cloud management platform may allocate resources in the virtual resource pool corresponding to the first configuration scheme according to each resource request in the resource request set, thereby obtaining a first simulation result. Each resource request may include timing information. The cloud management platform may allocate resources in the virtual resource pool corresponding to the first configuration scheme in sequence according to the timing information of each resource request, thereby obtaining a first simulation result.

[0083] S240: When the first configuration scheme does not satisfy a preset condition, optimize the first configuration scheme to obtain a target configuration scheme for the first hardware resource pool.

[0084] After simulating the first configuration scheme, the cloud management platform can determine whether the first configuration scheme can meet the preset condition. The preset condition includes at least one of the following: at least one resource request is satisfied, the allocation of resources meets the preset condition, and the cost of the first hardware resource pool is less than the first cost threshold. The cost of the first hardware resource pool is the cost of the current configuration scheme of the first hardware resource pool.

[0085] In some embodiments, the resource allocation situation meets the preset situation, including: the resource allocation rate is greater than or equal to the first allocation threshold and / or the resource fragmentation rate is less than or equal to the first fragmentation threshold. Alternatively, the resource allocation situation meets the preset situation, including: the resource allocation rate is within a first preset range and / or the resource fragmentation rate is within a second preset range. The minimum value in the first preset range is the first allocation threshold. The maximum value in the second preset range is the first fragmentation threshold.

[0086] When the first configuration scheme does not meet the preset condition, the cloud management platform can directly optimize the first configuration scheme to obtain the target configuration scheme. Alternatively, the cloud management platform can optimize the configuration schemes whose costs are less than or equal to the third cost threshold in the historical configuration scheme set to obtain the target configuration scheme. The historical configuration scheme set includes at least one historical configuration scheme, and each of the at least one historical configuration scheme is a configuration scheme generated in a historical process. The at least one historical configuration scheme includes the first configuration scheme. In some embodiments, each historical configuration scheme in the historical configuration scheme set can satisfy each resource request in the resource request set.

[0087] When the first configuration scheme is a scheme whose cost is less than or equal to the third cost threshold in the set of historical configuration schemes, the cloud management platform can optimize the first configuration scheme according to the optimization strategy and the first simulation result to obtain the target configuration scheme. The optimization strategy includes at least one of the following: increasing or decreasing the number of resources, increasing or decreasing the number of devices that carry resources, and changing the type of devices that carry resources. The increasing or decreasing number of resources includes: increasing or decreasing the number of local resources and / or cloud resources. The increasing or decreasing number of devices that carry resources includes at least one of the following: increasing the number of devices with a cost lower than or equal to the second cost threshold, and reducing the number of devices with a cost higher than the second cost threshold.

[0088] When the second configuration scheme is a scheme whose cost is less than or equal to the third cost threshold in the set of historical configuration schemes, the cloud management platform can optimize the second configuration scheme according to the second simulation result to determine the third configuration scheme. The second simulation result is the simulation result corresponding to the second configuration scheme. The way in which the cloud management platform optimizes the second configuration scheme is similar to the way in which the first configuration scheme is optimized, and will not be repeated here. The cloud management platform can also initiate a resource request for simulation to the virtual resource pool corresponding to the third configuration scheme based on the resource request set to obtain a third simulation result. The third simulation result is used to indicate whether at least one resource request is met and / or the allocation of resources in the virtual resource pool corresponding to the third configuration scheme. When the third configuration scheme does not meet the preset conditions, the cloud management platform can also optimize the third configuration scheme to obtain the target configuration scheme. When the third configuration scheme meets the preset conditions, the cloud management platform can also use the third configuration scheme as the target configuration scheme.

[0089] S250: When the first configuration scheme meets a preset condition, use the first configuration scheme as the target configuration scheme.

[0090] When determining that the first configuration scheme meets the preset condition, the cloud management platform can directly provide the first configuration scheme as the target configuration scheme to the tenant. The cloud management platform can also continue to optimize the target configuration scheme to determine at least one target configuration scheme and provide it to the tenant. Each target configuration scheme in the at least one target configuration scheme meets the preset condition.

[0091] Optionally, after providing at least one target configuration scheme to the tenant, the cloud management platform may also receive optimization strategy configuration information configured by the tenant, where the optimization strategy configuration information is used to indicate an optimization strategy for optimizing the target configuration scheme. The cloud management platform may also optimize the target configuration scheme again according to the optimization strategy configuration information to obtain an optimized configuration scheme. The cloud management platform may also provide the optimized configuration scheme to the tenant.

[0092] In some embodiments, the cloud management platform can provide a third graphical interface for the tenant, so that the tenant can upload or select operations in the third graphical interface to obtain the optimization strategy configuration information configured by the tenant. The specific form of the third graphical interface is not limited in the embodiment of the present application.

[0093] Optionally, the cloud management platform may provide the tenant with at least one target configuration solution. The cloud management platform may also provide the tenant with the allocation of resources in the virtual resource pool corresponding to each target configuration solution and / or the cost of each target configuration solution.

[0094] The method in the embodiment of the present application can simulate the tenant's demand for resources based on the tenant's cloud resource usage, thereby generating a resource request set and a configuration plan for the hardware resource pool, and performing simulation testing on the configuration plan to obtain simulation results. Through simulation, it is possible to more accurately evaluate whether the configuration plan can meet the tenant's resource request, and it is also possible to more accurately determine the actual cost and resource allocation capability of the configuration plan. The method can also iteratively optimize the configuration plan based on the simulation results, thereby reducing the cost of the configuration plan and improving the utilization of resources, thereby providing the tenant with a configuration plan that matches the tenant's needs with a high degree of match.

[0095] Figure 3 It is a schematic flowchart of determining a resource request set and a first configuration scheme provided in an embodiment of the present application. Figure 3 The method in can be Figure 1 It should be understood that Figure 3 The method in is only Figure 2 This is a possible implementation of step S220 in , and step S220 can also be implemented in other ways. Figure 3 The method comprises the following steps.

[0096] S310: Determine the historical cloud resource usage of the tenant.

[0097] Optionally, the cloud management platform may provide a first graphical interface to the tenant, so that the tenant can upload or select operations in the first graphical interface to determine the tenant's historical cloud resource usage. The historical cloud resource usage includes at least one of the following: historical cloud resource usage area, historical cloud resource usage time, and historical cloud resource usage. The historical cloud resource usage area may be, for example, a region or availability zone (AZ) where the cloud resources used in the historical process are located. The historical cloud resource usage time may include the start time of the cloud resources used in the historical process, or the historical cloud resource usage time may include the start time and end time of the cloud resources used in the historical process.

[0098] For example, the historical cloud resource usage of a tenant may be shown in Table 1 below.

[0099] Table 1. Historical cloud resource usage of tenants

[0100] resource area time Dosage Computing resources Region 1 Start time 1, end time 1 Dosage 1 Computing resources Region 1 Start time 2, end time 2 Dosage 2 Storage resources Region 1 Start time 1, end time 1 Dosage 3

[0101] As shown in Table 1, the tenant used computing resources with usage 1 and storage resources with usage 3 in region 1 during the time period from start time 1 to end time 1. The tenant also used computing resources with usage 2 in region 1 during the time period from start time 2 to end time 2. It should be understood that Table 1 is only one possible historical cloud resource usage, and the historical cloud resource usage can also be expressed in other forms.

[0102] In some embodiments, the tenant can fill in the historical cloud resource usage in the first graphical interface, as shown in Table 1. Alternatively, the tenant can upload a file in the first graphical interface, which contains the tenant's historical cloud resource usage. When the tenant has used public cloud resources, the tenant can directly select in the first graphical interface so that the cloud management platform can obtain the tenant's cloud resource usage in the public cloud and use the tenant's cloud resource usage in the public cloud as the historical cloud resource usage.

[0103] When the amount of data included in the tenant's historical cloud resource usage is large, or when the tenant has a clearer understanding of its own business, the cloud management platform can directly determine the resource request set based on the historical cloud resource usage after determining the tenant's historical cloud resource usage. That is, the cloud management platform can directly execute step S330 after executing step S310.

[0104] When the amount of data included in the tenant's historical cloud resource usage is small, or when the tenant's understanding of its own business is not clear, the cloud management platform may further execute step S320.

[0105] S320, determining the cloud resource usage of the industry to which the tenant's business belongs according to the industry to which the tenant's business belongs.

[0106] The cloud management platform may provide the tenant with an option or input box in the first graphical interface, so that the tenant can select or input the industry to which his business belongs in the first graphical interface. After determining the industry to which the tenant's business belongs, the cloud management platform may directly determine the cloud resource usage of the industry based on the industry. The cloud resource usage of the industry includes: the cloud resource usage time of the industry and the cloud resource usage of the industry. The cloud resource usage of the industry can be used to describe the average or common usage of cloud resources in the industry.

[0107] For example, the cloud resource usage of the first industry may be shown in the following Table 2. The first industry may be any industry.

[0108] Table 2 Cloud resource usage in the first industry

[0109] resource time Dosage Computing resources Start time 3, End time 3 Dosage 4 Computing resources Start time 4, End time 4 Dosage 5 Storage resources Start time 3, End time 3 Dosage 6

[0110] As shown in Table 2, the first industry generally uses computing resources with a usage of 4 and storage resources with a usage of 6 in the time period from start time 3 to end time 3. The first industry generally uses computing resources with a usage of 5 in the time period from start time 4 to end time 4. It should be understood that Table 2 is only one possible cloud resource usage of the first industry, and the cloud resource usage of the first industry can also be expressed in other forms.

[0111] Optionally, the cloud management platform may determine the cloud resource usage of at least one industry before step S320. The cloud management platform may determine the cloud resource usage of each industry on its own. For example, the cloud management platform may perform statistics based on the massive historical cloud resource usage data of each industry after label classification, thereby determining the cloud resource usage of each industry. Alternatively, the cloud management platform may receive the cloud resource usage of each industry from other devices, which are other devices connected to the cloud management platform.

[0112] S330: Determine a resource request set and a first configuration solution according to the cloud resource usage of the tenant.

[0113] The cloud management platform may determine a resource request set based on the tenant's historical cloud resource usage and / or the cloud resource usage of the industry to which the tenant's business belongs. The resource request set includes at least one resource request, and each resource request includes timing information and resource usage. The timing information may include the start time of the requested resource. Alternatively, the timing information may include the start time and end time of the requested resource.

[0114] Optionally, the cloud management platform can sample the tenant's historical cloud resource usage according to a sampling method to determine at least one resource request. The present application embodiment does not limit the sampling method, for example, the sampling method may include a random sampling method, a fixed-point sampling method, a spot sampling method, etc.

[0115] For example, assuming that the tenant's historical cloud resource usage is as shown in Table 1, the cloud management platform can randomly sample Table 1 to obtain the first row of data and the third row of data in Table 1. The cloud management platform can also determine the resource request set shown in Table 3 based on the first row of data and the third row of data in Table 1.

[0116] Table 3 Resource request set

[0117] resource Timing Information Resource usage Computing resources Start time 1, end time 1 Dosage 1 Storage resources Start time 1, end time 1 Dosage 3

[0118] As shown in Table 3, the cloud management platform can determine a resource request based on the first row of data in Table 1, and the resource request is the first row of data in Table 3. The cloud management platform can determine a resource request based on the third row of data in Table 1, and the resource request is the second row of data in Table 3. That is, the cloud management platform can determine the timing information of a resource request based on a historical cloud resource usage time of a tenant. The cloud management platform can also determine the resource usage in the resource request based on the historical cloud resource usage.

[0119] It should be understood that Table 3 is only one form of expression of the resource request set, and the resource request set may also be expressed in other forms.

[0120] Optionally, the cloud management platform may sample the cloud resource usage of the industry to which the tenant's business belongs according to a sampling method, thereby determining at least one resource request. The specific implementation method is similar to the method for sampling the tenant's historical cloud resource usage, which will not be repeated here. Alternatively, the cloud management platform may fuse the tenant's historical cloud resource usage with the cloud resource usage of the industry to which the tenant's business belongs to obtain fused data. The embodiments of the present application do not limit the specific fusion method. The cloud management platform may also sample the fused data according to a sampling method, thereby determining at least one resource request. The specific implementation method is similar to the method for sampling the tenant's historical cloud resource usage, which will not be repeated here.

[0121] In some embodiments, each resource request may include timing information, resource usage, and region information. The region information is used to indicate the region where the requested resource is located. The region information of each resource request may be determined based on the usage region of the cloud resource in the corresponding tenant's cloud resource usage.

[0122] Figure 4 It is a schematic flowchart of a configuration scheme for determining a hardware resource pool provided in an embodiment of the present application. Figure 4 The method in can be Figure 1 The cloud management platform 110 is executed. Figure 4 The method comprises the following steps.

[0123] S410: Generate a first configuration solution.

[0124] The cloud management platform may generate a first configuration scheme for the first hardware resource pool based on the cloud resource usage configured by the tenant. Alternatively, the cloud management platform may generate an initial configuration scheme based on the cloud resource usage configured by the tenant, and generate a first configuration scheme by optimizing the initial configuration scheme. That is, the first configuration scheme may be an initial configuration scheme, or may be determined based on the initial configuration scheme. The specific implementation method for optimizing the initial configuration scheme may refer to the description in step S450, which will not be repeated here.

[0125] For example, the cloud management platform can determine the total usage or maximum usage of the tenant's resources based on the tenant's cloud resource usage, thereby determining the initial configuration plan. The total usage of the resource is used to indicate the overall usage of the resource. The maximum usage of the resource can be the maximum value of the usage of the resource at different times.

[0126] For example, assuming that the total storage resource usage of the tenant is 500 gigabytes (GB) and the maximum storage resource usage of the tenant is 450 GB, the cloud management platform may determine that the initial configuration plan includes 500 GB of storage resources. Alternatively, the cloud management platform may determine that the initial configuration plan includes 450 GB of storage resources.

[0127] Optionally, the cloud management platform can generate an initial configuration plan based on the device configuration information configured by the tenant and the cloud resource usage. The device configuration information includes the type of device configured by the tenant to carry resources. Alternatively, the cloud management platform can generate an initial configuration plan based on the preset configuration information and cloud resource usage. The preset configuration information includes the preset type of device used to carry resources. The type of device may include information such as the model, configuration, maximum number of resources that can be carried, and specifications of the device. When the device is a computing device, the specifications of the device may include at least one of the following information: the processor model, number of processor cores, storage capacity (such as memory capacity, hard disk capacity), etc. included in the device. When the device is a storage device, the specifications of the device may include at least one of the following information: storage capacity, read and write speeds, interface type, etc. The meaning of the "configuration" of a device is similar to the meaning of the "specification".

[0128] In some embodiments, the cloud management platform may determine the resource capacity carried by each device in the device configuration information or the preset configuration information based on the device configuration information or the preset configuration information. The cloud management platform may also determine an initial configuration plan based on the resource capacity carried by each device and the cloud resource usage of the tenant. The initial configuration plan includes at least one type of device and the number of each device. Alternatively, the initial configuration plan includes at least one type of device, the number of each device, and the resource capacity carried by each device.

[0129] For example, assuming that the maximum usage of the tenant's storage resources is 450 GB, the storage capacity of storage device 1 is 50 GB, and the storage capacity of storage device 2 is 100 GB, the cloud management platform can determine that the initial configuration plan includes 4 storage devices 2 and 1 storage device 1.

[0130] S420: Initiate a resource request for simulation to a virtual resource pool corresponding to the first configuration solution according to the resource request set, and obtain a first simulation result.

[0131] The cloud management platform can allocate resources in the virtual resource pool corresponding to the first configuration scheme according to at least one resource request in the resource request set, thereby obtaining a first simulation result. The first simulation result is used to indicate whether at least one resource request in the resource request set is satisfied and / or the allocation of resources in the virtual resource pool corresponding to the first configuration scheme.

[0132] In some embodiments, the allocation of the resource includes the allocation rate of the resource and / or the fragmentation rate of the resource. The allocation rate of the resource may include the ratio of the allocated resources to the total resources in the virtual resource pool corresponding to the first configuration scheme. The fragmentation rate of the resource may include the ratio of the allocated resources in each device in the virtual resource pool corresponding to the first configuration scheme to the total resources carried by the device. The allocation rate of the resource and / or the fragmentation rate of the resource may be collected according to a preset time interval, or may be collected randomly. The embodiment of the present application does not limit the size of the preset time interval, for example, it may be 1 hour, 10 minutes, 1 second, etc.

[0133] In some embodiments, the allocation rate of resources may also include: an average allocation rate of resources, a maximum allocation rate of resources, and an allocation rate of resources at a preset time. The average allocation rate of resources may be an average value of at least one allocation rate of resources within a preset time period. For example, the average allocation rate of resources may be an average value of the allocation rate of resources per hour within 24 hours. The maximum allocation rate of resources may be a maximum value of the allocation rate of resources within a preset time period. For example, the average allocation rate of resources may be a maximum value of the allocation rate of resources per hour within 24 hours. The embodiment of the present application does not limit the size of the preset time period, for example, it may be from the simulation start time to the simulation end time, or it may be a partial time period from the simulation start time to the simulation end time. The simulation start time is the time when the allocation of resources is first started in the virtual resource pool corresponding to the first configuration scheme. The simulation end time is the time when the allocation of resources is finally finished in the virtual resource pool corresponding to the first configuration scheme.

[0134] Optionally, the cloud management platform may allocate the resources requested by each resource request in the virtual resource pool corresponding to the first configuration scheme in turn according to the timing information of each resource request in the resource request set, thereby obtaining the first simulation result. Resources that have been allocated and not recovered by the cloud management platform cannot be allocated to other resource requests except the resource request corresponding to the resource.

[0135] When the timing information of the resource request includes the end time of the requested resource, the cloud management platform can also recycle the resources requested by the resource request in the virtual resource pool corresponding to the first configuration solution so that resources can be allocated to other resource requests later.

[0136] When the cloud management platform can allocate the first resource in the virtual resource pool corresponding to the first configuration scheme for the first resource request, the first resource request is satisfied, and the first simulation result can indicate that the first resource request is satisfied. The first resource request is any resource request in the resource request set, and the first resource is the resource requested to be allocated by the first resource request. Alternatively, when the cloud management platform cannot allocate the first resource in the virtual resource pool corresponding to the first configuration scheme for the first resource request, the first resource request cannot be satisfied, and the first simulation result can indicate that the first resource request is not satisfied.

[0137] In some embodiments, the first simulation result may be used to indicate whether each resource request in the resource request set is satisfied. Alternatively, the first simulation result may be used to indicate the resource requests in the resource request set that are satisfied. Alternatively, the first simulation result may be used to indicate the resource requests in the resource request set that are not satisfied. Alternatively, the first simulation result may be used to indicate that there are resource requests in the resource request set that are not satisfied. Alternatively, the first simulation result may be used to indicate that all resource requests in the resource request set are satisfied.

[0138] Optionally, the cloud management platform may calculate the resource allocation rate and / or resource fragmentation rate while allocating the resources in the virtual resource pool corresponding to the first configuration solution. Alternatively, the cloud management platform may calculate the resource allocation rate and / or resource fragmentation rate when determining that each resource request in the resource request set is satisfied.

[0139] S430: Whether the first configuration scheme satisfies a preset condition.

[0140] After determining the first simulation result, the cloud management platform can determine whether the first configuration scheme meets the preset condition. The preset condition may include at least one of the following: at least one resource request is satisfied, the allocation of resources meets the preset condition, and the cost of the first hardware resource pool is less than the first cost threshold. The cost of the first hardware resource pool is the cost of the current configuration scheme of the first hardware resource pool. The embodiment of the present application does not limit the size of the first cost threshold.

[0141] In some embodiments, the resource allocation situation meets the preset situation, including: the resource allocation rate is greater than or equal to the first allocation threshold and / or the resource fragmentation rate is less than or equal to the first fragmentation threshold. Alternatively, the resource allocation situation meets the preset situation, including: the resource allocation rate is within a first preset range and / or the resource fragmentation rate is within a second preset range. The minimum value in the first preset range is the first allocation threshold. The maximum value in the second preset range is the first fragmentation threshold.

[0142] In some embodiments, the maximum value in the first preset range is the second allocation threshold. That is, the first allocation threshold is less than or equal to the second allocation threshold. The minimum value in the second preset range is the second fragmentation threshold. That is, the second fragmentation threshold is less than or equal to the first fragmentation threshold. The embodiment of the present application does not limit the size of the first allocation threshold, the second allocation threshold, the first fragmentation threshold, or the second fragmentation threshold.

[0143] Exemplarily, the resource allocation rate being in the first preset range may include at least one of the following: the average allocation rate of the resource is in the first preset range, the maximum allocation rate of the resource is in the first preset range, and the allocation rate of the resource at a preset time is in the first preset range. Similarly, the resource fragmentation rate being in the second preset range may include at least one of the following: the average fragmentation rate of the resource is in the second preset range, the maximum fragmentation rate of the resource is in the second preset range, and the fragmentation rate of the resource at a preset time is in the second preset range.

[0144] In some embodiments, the preset condition may also include that the number of optimizations reaches an optimization threshold. The number of optimizations is the number of times the configuration scheme of the first hardware resource pool is optimized. The embodiment of the present application does not limit the size of the optimization threshold.

[0145] The cloud management platform may execute step S440 when determining that the first configuration solution meets the preset condition.

[0146] The cloud management platform may also execute step S450 when it is determined that the first configuration solution does not meet the preset condition.

[0147] S440: Use the first configuration scheme as a target configuration scheme.

[0148] When the cloud management platform determines that the first configuration scheme meets the preset condition, the cloud management platform can use the first configuration scheme as the target configuration scheme of the first hardware resource pool. The cloud management platform can also provide the target configuration scheme to the tenant.

[0149] Optionally, the cloud management platform may provide a target configuration solution set to the tenant. The target configuration solution set includes at least one target configuration solution. Figure 4 According to the method, at least one target configuration scheme is determined to form a target configuration scheme set for selection by the tenant.

[0150] Optionally, after the cloud management platform provides the target configuration scheme to the tenant, it can also receive the optimization strategy information configured by the tenant. The cloud management platform can also optimize the target configuration scheme again according to the optimization strategy configuration information to obtain the optimized configuration scheme. The optimization strategy configuration information is used to indicate the optimization strategy for optimizing the target configuration scheme. For example, the optimization strategy configuration information may include at least one of the following: increasing the number of resources, reducing the number of resources, increasing the allocation rate of resources, reducing the allocation rate of resources, increasing the fragmentation rate of resources, reducing the fragmentation rate of resources, increasing the cost of the configuration scheme, reducing the cost of the configuration scheme, etc.

[0151] When the optimization strategy configuration information includes increasing the number of resources, the cloud management platform can increase the number of resources in the configuration plan or increase the number of devices that carry resources, thereby determining the optimized configuration plan. When the optimization strategy configuration information includes reducing the number of resources, the cloud management platform can reduce the number of resources in the configuration plan or reduce the number of devices that carry resources, thereby determining the optimized configuration plan.

[0152] For example, assuming that the target configuration includes computing resources of 9000 virtual central processing units (vCPUs), and the optimization strategy configuration information is to increase the number of computing resources. The cloud management platform can further optimize the target configuration according to the optimization strategy configuration information to determine an optimized configuration. The optimized configuration may include computing resources of 14000 vCPUs.

[0153] When the optimization policy configuration information includes increasing the resource allocation rate, the cloud management platform can reduce the number of resources in the configuration scheme or reduce the number of devices that carry resources, thereby determining the optimized configuration scheme. Similarly, when the optimization policy configuration information includes reducing the resource allocation rate, the cloud management platform can increase the number of resources in the configuration scheme or increase the number of devices that carry resources, thereby determining the optimized configuration scheme.

[0154] When the optimization strategy configuration information includes reducing the resource fragmentation rate, the cloud management platform can replace the first device in the configuration scheme with the second device, thereby determining the optimized configuration scheme. The amount of resources carried by the first device is less than the amount of resources carried by the second device. When the optimization strategy configuration information includes increasing the resource fragmentation rate, the cloud management platform can replace the second device in the configuration scheme with the first device, thereby determining the optimized configuration scheme.

[0155] When the optimization policy configuration information includes reducing the cost of the configuration solution, the cloud management platform can replace the devices in the configuration solution with devices with lower costs, thereby determining the optimized configuration solution. When the optimization policy configuration information includes increasing the cost of the configuration solution, the cloud management platform can replace the devices in the configuration solution with devices with higher costs, thereby determining the optimized configuration solution.

[0156] After the cloud management platform determines the optimized configuration plan based on the optimization strategy configuration information, the cloud management platform can also repeat the execution. Figure 4 The method in , thereby providing the tenant with at least one target configuration solution that better meets the tenant's needs.

[0157] S450, optimizing the first configuration scheme according to the optimization strategy and the first simulation result to obtain an optimized first configuration scheme.

[0158] When the cloud management platform determines that the first configuration scheme does not meet the preset condition, the first configuration scheme may be optimized according to the optimization strategy and the first simulation result to determine the optimized first configuration scheme.

[0159] Optionally, the optimization strategy may include at least one of the following: increasing or decreasing the number of resources, increasing or decreasing the number of devices that carry resources, and changing the type of devices that carry resources. Among them, increasing or decreasing the number of resources includes: increasing or decreasing the number of local resources and / or cloud resources. Local resources are resources carried by physical devices. Cloud resources are resources carried by cloud devices. Increasing or decreasing local resources may be increasing or decreasing the resources carried in a physical device, such as increasing or decreasing the number of processors or memory capacity in a computing device. For services with a large number of burst requests, increasing or decreasing the number of cloud resources can achieve the effect of shaving peaks and filling valleys, reducing the waste of local resources. That is, some services can be deployed to the public cloud, and some services can be deployed locally, thereby improving resource utilization while reducing costs.

[0160] In some embodiments, increasing or decreasing the number of devices that bear resources can achieve the effect of increasing or decreasing the total amount of resources in the configuration scheme. Increasing or decreasing the number of devices that bear resources can also include at least one of the following: increasing the number of devices whose cost is less than or equal to the second cost threshold, and reducing the number of devices whose cost is greater than the second cost threshold. That is, while increasing or decreasing the number of devices that bear resources, the impact on the cost of the configuration scheme can be considered, thereby reducing costs on the basis of improving resource utilization. The embodiment of the present application does not limit the size of the second cost threshold.

[0161] In some embodiments, replacing the type of device that carries resources may include: replacing a first device with a second device, and replacing a second device with a first device. The amount of resources carried in the first device is less than the amount of resources carried in the second device. That is, when the resources in a physical device cannot be increased or decreased, the cloud management platform can replace the type of device to achieve the effect of increasing the total amount of resources in the configuration solution or reducing the total amount of resources.

[0162] When the first simulation result indicates that the first resource request is not satisfied, the cloud management platform can increase the number of first resources or increase the number of devices carrying the first resources according to the optimization strategy, thereby determining the optimized first configuration scheme. The first resource is the resource requested by the first resource request, and the first resource request is any resource request in the resource request set.

[0163] When the first simulation result indicates that the resource allocation rate is lower than the first allocation threshold, the cloud management platform can reduce the number of resources or reduce the number of devices that carry resources according to the optimization strategy, thereby determining the optimized first configuration scheme. The resource allocation rate includes the average allocation rate, the maximum allocation rate, or the allocation rate at a preset time of the resource. The embodiment of the present application does not limit the size of the first allocation threshold. The low resource allocation rate indicates that there are more unallocated resources in the virtual resource pool corresponding to the first configuration scheme, so the cloud management platform can reduce the number of resources in the first configuration scheme.

[0164] When the first simulation result indicates that the resource allocation rate is higher than the second allocation threshold, the cloud management platform may not perform optimization. Alternatively, the cloud management platform may increase the number of resources or the number of devices that carry resources according to the optimization strategy, thereby determining the optimized first configuration scheme. The embodiment of the present application does not limit the size of the second allocation threshold. The first allocation threshold may be lower than or equal to the second allocation threshold. A higher resource allocation rate indicates that there are fewer unallocated resources in the virtual resource pool corresponding to the first configuration scheme, and the first configuration scheme is better. However, the cloud management platform can still increase the number of resources in the first configuration scheme according to the tenant's demand for redundancy to prevent the tenant from encountering resource shortage problems during actual use.

[0165] When the first simulation result indicates that the resource fragmentation rate is higher than the first fragmentation threshold, the cloud management platform can replace the first device with the second device according to the optimization strategy, thereby determining the optimized first configuration scheme. The amount of resources carried by the first device is less than the amount of resources carried by the second device. The high resource fragmentation rate indicates that a large proportion of unallocated resources in a device in the virtual resource pool corresponding to the first configuration scheme, so the cloud management platform can replace some devices in the first configuration scheme with devices that carry more resources to solve the problem that the remaining resources in each device are too small to be allocated, thereby reducing the resource fragmentation rate.

[0166] When the first simulation result indicates that the resource fragmentation rate is lower than or equal to the first fragmentation threshold, the cloud management platform may not perform optimization. The embodiment of the present application does not limit the size of the first fragmentation threshold.

[0167] S460, performing simulation according to the optimized first configuration scheme and the resource request set to obtain a target configuration scheme.

[0168] The cloud management platform can initiate a resource request for simulation to the virtual resource pool corresponding to the optimized first configuration scheme based on the resource request set, and obtain a fourth simulation result. The fourth simulation result is used to indicate whether at least one resource request in the resource request set is satisfied and / or the allocation of resources in the virtual resource pool corresponding to the optimized first configuration scheme. The cloud management platform can also obtain a target configuration scheme based on the optimized first configuration scheme. The implementation method for the cloud management platform to obtain the fourth simulation result is similar to step S420, and the implementation method for obtaining the target configuration scheme based on the optimized first configuration scheme is similar to steps S430 to S460, which will not be repeated here.

[0169] The method in the embodiment of the present application can simulate the tenant's demand for resources based on the tenant's cloud resource usage, thereby generating a resource request set and a configuration plan for the hardware resource pool, and performing simulation testing on the configuration plan to obtain simulation results. Through simulation, it is possible to more accurately evaluate whether the configuration plan can meet the tenant's resource request, and it is also possible to more accurately determine the actual cost and resource allocation capability of the configuration plan. The method in the embodiment of the present application can also iteratively optimize the configuration plan based on the simulation results, thereby reducing the cost of the configuration plan and improving the utilization of resources, thereby providing the tenant with a configuration plan that matches the tenant's needs with a high degree of match.

[0170] Figure 5 It is a schematic flowchart of a configuration scheme for determining a hardware resource pool provided in an embodiment of the present application. Figure 5 The method in can be Figure 1 The cloud management platform 110 is executed. Figure 5 The method comprises the following steps.

[0171] S510: Initiate a resource request for simulation to the virtual resource pool corresponding to the first configuration solution according to the resource request set. The specific implementation of step S510 is similar to step S420, which will not be described in detail here.

[0172] S520: Whether each resource request is satisfied.

[0173] The cloud management platform may allocate resources in the virtual resource pool corresponding to the first configuration scheme according to at least one resource request in the resource request set. When the cloud management platform determines that the first resource request cannot be satisfied, step S530 may be executed. The first resource request is any resource request in the resource request set. When the cloud management platform determines that each resource request in the resource request set can be satisfied, step S540 may be executed.

[0174] S530: Optimize the first configuration scheme and determine an optimized first configuration scheme.

[0175] When the cloud management platform determines that the first resource request cannot be satisfied, the first configuration scheme may be optimized to determine an optimized first configuration scheme. For example, the cloud management platform may optimize the first configuration scheme according to at least one of the following optimization strategies: increasing the number of first resources, increasing the number of devices carrying the first resources, or replacing the devices carrying the first resources, thereby determining an optimized first configuration scheme. The first resource is the resource requested by the first resource request.

[0176] In some embodiments, increasing the number of first resources may include: increasing the number of local first resources and / or increasing the number of first resources in the cloud. When increasing the number of devices carrying the first resource, the number of devices with a cost lower than or equal to a second cost threshold may be increased, and the devices may carry the first resource. Replacing the device carrying the first resource includes: replacing the first device carrying the first resource with a second device carrying the first resource, the resource amount of the first resource carried by the first device being less than the resource amount of the first resource carried by the second device.

[0177] After the cloud management platform determines the optimized first configuration scheme, it can initiate a resource request for simulation to the virtual resource pool corresponding to the optimized first configuration scheme according to the resource request set. That is, after step S530, the cloud management platform can continue to execute steps S510 to S570 until the target configuration scheme or target configuration scheme set is determined.

[0178] S540: Determine the allocation status and cost of resources in the virtual resource pool corresponding to the first configuration solution.

[0179] After determining that each resource request in the resource request set can be satisfied, the cloud management platform can determine the allocation of resources in the virtual resource pool corresponding to the first configuration solution and the cost of the first configuration solution.

[0180] In some embodiments, the allocation of the resource includes the allocation rate of the resource and / or the fragmentation rate of the resource. For example, the cloud management platform may calculate the allocation rate and / or fragmentation rate of the resource at fixed time intervals. Alternatively, the cloud management platform may randomly calculate the allocation rate and / or fragmentation rate of the resource. The allocation rate of the resource may include the ratio of the allocated resources to the total resources in the virtual resource pool corresponding to the first configuration scheme. The fragmentation rate of the resource may include the ratio of the allocated resources in each device in the virtual resource pool corresponding to the first configuration scheme to the total resources carried by the device.

[0181] In some embodiments, the cloud management platform may also calculate an average allocation rate and / or a maximum allocation rate of resources. The average allocation rate of resources may be an average value of at least one allocation rate of resources within a preset time period. The maximum allocation rate of resources may be a maximum value of at least one allocation rate of resources within a preset time period.

[0182] After determining that each resource request in the resource request set can be satisfied, the cloud management platform can also determine the cost of the first configuration scheme. The cost of the first configuration scheme can be the total cost of all devices included in the first configuration scheme. Alternatively, the cost of the first configuration scheme can be the total cost of ownership (TCO) of the first configuration scheme, which is the ratio of the cost of all resources in the virtual resource pool corresponding to the first configuration scheme to the cost of the allocated resources. The cost of the allocated resources can be the product of the cost of all resources and the allocation rate of the resources.

[0183] S550, whether the first configuration scheme meets the preset conditions. The implementation of step S550 is similar to step S430 and will not be repeated here. The cloud management platform may execute step S560 when it is determined that the first configuration scheme meets the preset conditions. The cloud management platform may also execute step S570 when it is determined that the first configuration scheme does not meet the preset conditions.

[0184] S560: Use the first configuration scheme as a target configuration scheme.

[0185] When the cloud management platform determines that the first configuration scheme meets the preset conditions, the cloud management platform can use the first configuration scheme as the target configuration scheme. The cloud management platform can also continue to optimize the target configuration scheme, that is, the cloud management platform can repeatedly perform Figure 5 The method in is used to obtain at least one target configuration scheme that meets the preset conditions, thereby forming a target configuration scheme set.

[0186] S570: Determine a configuration solution whose cost is less than or equal to a third cost threshold from the historical configuration solution set, and optimize the configuration solution to obtain a target configuration solution.

[0187] When the cloud management platform determines that the first configuration scheme does not meet the preset condition, it can determine a configuration scheme whose cost is lower than or equal to the third cost threshold from the historical configuration scheme set, thereby optimizing the configuration scheme. The historical configuration scheme set includes at least one historical configuration scheme, and each of the at least one historical configuration scheme is a configuration scheme generated in a historical process. The at least one historical configuration scheme may include the first configuration scheme. In some embodiments, each historical configuration scheme in the historical configuration scheme set can satisfy each resource request in the resource request set.

[0188] The third cost threshold is not limited in the embodiment of the present application. For example, the third cost threshold may be a preset value, or the third cost threshold may be determined according to the cost of the at least one historical configuration scheme. The third cost threshold may be the lowest cost value among the costs of the at least one historical configuration scheme, or the third cost threshold may be a cost value of a preset rank among the costs of the at least one historical configuration scheme.

[0189] For example, assuming that the TCO costs of seven historical configuration solutions are arranged in order from low to high: 1.02, 1.05, 1.08, 1.11, 1.18, 1.25, 1.33. The third cost threshold may be the lowest cost value among the costs of the seven historical configuration solutions, that is, the third cost threshold is 1.02. Alternatively, the third cost threshold may be a cost value of a preset rank among the costs of the seven historical configuration solutions, the preset rank being the third rank when the costs are arranged from small to large, that is, the third cost threshold is 1.08.

[0190] When there are multiple configuration solutions with costs less than the third cost threshold in the historical configuration solution set, the cloud management platform may select one configuration solution from the multiple configuration solutions for optimization. Alternatively, the cloud management platform may optimize the multiple configuration solutions separately.

[0191] When the first configuration scheme is a scheme whose cost is less than or equal to the third cost threshold in the historical configuration scheme set, the cloud management platform can directly optimize the first configuration scheme to obtain the target configuration scheme. The specific implementation method is similar to steps S450 and S460, and will not be repeated here.

[0192] When the second configuration scheme is a scheme whose cost is less than or equal to the third cost threshold in the historical configuration scheme set, the cloud management platform can optimize the second configuration scheme according to the second simulation result to determine the third configuration scheme. The second simulation result is the simulation result corresponding to the second configuration scheme. The cloud management platform optimizes the second configuration scheme in a similar manner to the first configuration scheme, which will not be repeated here. The cloud management platform can also initiate a resource request for simulation to the virtual resource pool corresponding to the third configuration scheme according to the resource request set to obtain a third simulation result. The third simulation result is used to indicate whether at least one resource request is satisfied and / or the allocation of resources in the virtual resource pool corresponding to the third configuration scheme. When the third configuration scheme does not meet the preset conditions, the cloud management platform can also optimize the third configuration scheme to obtain the target configuration scheme. Alternatively, the cloud management platform can also optimize the configuration scheme whose cost is less than or equal to the third cost threshold in the historical configuration scheme set to obtain the target configuration scheme. The historical configuration scheme set includes the first configuration scheme, the second configuration scheme and the third configuration scheme. When the third configuration scheme meets the preset conditions, the cloud management platform can also use the third configuration scheme as the target configuration scheme.

[0193] The method in the embodiment of the present application can simulate the tenant's demand for resources based on the tenant's cloud resource usage, so that a resource request set and a configuration plan for the hardware resource pool can be generated, and the configuration plan can be simulated and tested to obtain simulation results. Through simulation, it is possible to more accurately evaluate whether the configuration plan can meet the tenant's resource request, and it is also possible to more accurately determine the actual cost and resource allocation capability of the configuration plan. The method in the embodiment of the present application can also iteratively optimize the configuration plan based on the simulation results, so as to reduce the cost of the configuration plan and improve the utilization of resources, thereby providing the tenant with a configuration plan that matches the tenant's needs with a high degree of match.

[0194] Figure 6 It is a schematic structural block diagram of an apparatus for determining a configuration scheme of a hardware resource pool provided in an embodiment of the present application. Figure 6 The device 600 in the embodiment may include a receiving module 610 and a processing module 620. The device 600 may implement Figures 2 to 5 The method flow is shown.

[0195] The receiving module 610 may be used to receive the cloud resource usage configured by the tenant, where the cloud resource usage includes the historical cloud resource usage of the tenant and / or the cloud resource usage of the industry to which the tenant's business belongs. Figure 2 Step S210, Figure 3 Steps S310 and S320 in .

[0196] The processing module 620 can be used to generate a resource request set and a first configuration scheme for the first hardware resource pool according to the cloud resource usage. The processing module 620 can also be used to initiate a resource request for simulation to the virtual resource pool corresponding to the first configuration scheme according to the resource request set to obtain a first simulation result. When the first configuration scheme does not meet the preset conditions, the processing module 620 can be used to optimize the first configuration scheme to obtain a target configuration scheme. When the first configuration scheme meets the preset conditions, the processing module 620 can be used to use the first configuration scheme as the target configuration scheme. The processing module 620 can execute Figure 2 Steps S220 to S250, Figure 3 S330 in Figure 4 S410 to S460, Figure 5 S510 to S570 in.

[0197] The receiving module 610 and the processing module 620 can be implemented by software or hardware. For example, the implementation of the processing module 620 is described below by taking the processing module 620 as an example. Similarly, the implementation of the receiving module 610 can refer to the implementation of the processing module 620.

[0198] As an example of a software functional unit, the processing module 620 may include code running on a computing instance. Among them, the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above-mentioned computing instance may be one or more. For example, the processing module 620 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed in the same region (region) or in different regions. Furthermore, the multiple hosts / virtual machines / containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including a data center or multiple data centers with similar geographical locations. Among them, usually a region may include multiple AZs.

[0199] Similarly, multiple hosts / virtual machines / containers used to run the code can be distributed in the same VPC or in multiple VPCs. Usually, a VPC is set up in a region. For cross-region communication between two VPCs in the same region and between VPCs in different regions, a communication gateway needs to be set up in each VPC to achieve interconnection between VPCs through the communication gateway.

[0200] As an example of a hardware functional unit, the processing module 620 may include at least one computing device, such as a server, etc. Alternatively, the processing module 620 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.

[0201] The multiple computing devices included in the processing module 620 can be distributed in the same region or in different regions. The multiple computing devices included in the processing module 620 can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the processing module 620 can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0202] Therefore, the modules of each example described in the embodiments of the present application can be implemented with electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present application.

[0203] It should be noted that: when the device provided in the above embodiment executes the above method, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. For example, the receiving module 610 can be used to execute any step in the above method, and the processing module 620 can be used to execute any step in the above method. The steps that the receiving module 610 and the processing module 620 are responsible for implementing can be specified as needed, and all the functions of the above device can be realized by respectively implementing different steps in the above method through the receiving module 610 and the processing module 620.

[0204] In addition, the device and method embodiments provided in the above embodiments belong to the same concept, and their specific implementation processes are detailed in the method embodiments above, which will not be repeated here.

[0205] The method provided in the embodiment of the present application can be performed by a computing device, which can also be referred to as a computer system. It includes a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as a processing unit, a memory and a memory control unit, and then the function and structure of the hardware are described in detail. The operating system is any one or more computer operating systems that implement business processing through a process, for example, a Linux operating system, a Unix operating system, an Android operating system, an iOS operating system, or a windows operating system. The application layer includes applications such as a browser, an address book, a word processing software, and an instant messaging software. In addition, optionally, the computer system is a handheld device such as a smart phone, or a terminal device such as a personal computer, and the present application is not particularly limited, as long as the method provided by the embodiment of the present application can be used. The execution subject of the method provided in the embodiment of the present application can be a computing device, or a functional module in a computing device that can call a program and execute a program.

[0206] Figure 7 700 is a schematic structural block diagram of a computing device 700 provided in an embodiment of the present application. The computing device 700 may be a server or a computer or other device with computing capabilities. Figure 7 The computing device 700 shown includes at least one processor 710 and a memory 720 .

[0207] It should be understood that the present application does not limit the number of processors and memories in the computing device 700.

[0208] The processor 710 executes the instructions in the memory 720, so that the computing device 700 implements the method provided by the present application. Alternatively, the processor 710 executes the instructions in the memory 720, so that the computing device 700 implements the functional modules provided by the present application, thereby implementing the method provided by the present application.

[0209] Optionally, the computing device 700 further includes a communication interface 730. The communication interface 730 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 700 and other devices or a communication network.

[0210] Optionally, the computing device 700 further includes a system bus 740, wherein the processor 710, the memory 720 and the communication interface 730 are respectively connected to the system bus 740. The processor 710 can access the memory 720 through the system bus 740. For example, the processor 710 can read and write data or execute code in the memory 720 through the system bus 740. The system bus 740 is a peripheral component interconnect express (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The system bus 740 is divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 7 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0211] In a possible implementation, the function of the processor 710 is mainly to interpret the instructions (or codes) of the computer program and process the data in the computer software. The instructions of the computer program and the data in the computer software can be stored in the memory 720 or the cache of the processor 710.

[0212] Optionally, the processor 710 may be an integrated circuit chip with signal processing capabilities. As an example and not limitation, the processor 710 is a general-purpose processor, a digital signal processor (DSP), an ASIC, an FPGA or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. Among them, the general-purpose processor is a microprocessor, etc. For example, the processor 710 is a central processing unit (CPU).

[0213] The memory 720 can provide a running space for the processes in the computing device 700. For example, the computer program (specifically, the program code) used to generate the process is stored in the memory 720. After the computer program is executed by the processor to generate the process, the processor allocates a corresponding storage space for the process in the memory 720. Furthermore, the above storage space further includes a text segment, an initialized data segment, a bit initialized data segment, a stack segment, a heap segment, etc. The memory 720 stores the data generated during the running of the process in the storage space corresponding to the above process, such as intermediate data, process data, etc.

[0214] Optionally, the storage is also called memory, which is used to temporarily store the calculation data in the processor 710 and the data exchanged with the external storage such as the hard disk. As long as the computer is running, the processor 710 will transfer the data to be calculated to the memory for calculation, and transmit the result after the calculation is completed.

[0215] As an example and not limitation, the memory 720 is a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory. Among them, the non-volatile memory is ROM, PROM, EPROM, EEPROM or flash memory. Volatile memory is a random access memory (random access memory, RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (static RAM, SRAM), dynamic random access memory (dynamic RAM, DRAM), synchronous dynamic random access memory (synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (double data rate SDRAM, DDRSDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchronous link dynamic random access memory (synchronous link DRAM, SLDRAM) and direct memory bus random access memory (directrambus RAM, DRDRAM). It should be noted that the memory 720 of the system and method described herein is intended to include but is not limited to these and any other suitable types of memory.

[0216] The structure of the computing device 700 listed above is only an example, and the present application is not limited thereto. The computing device 700 of the embodiment of the present application includes various hardware in the computer system in the prior art. For example, the computing device 700 also includes other memories besides the memory 720, such as disk storage, etc. Those skilled in the art should understand that the computing device 700 may also include other devices necessary for normal operation. At the same time, according to specific needs, those skilled in the art should understand that the above-mentioned computing device 700 may also include hardware devices for implementing other additional functions. In addition, those skilled in the art should understand that the above-mentioned computing device 700 may also include only the devices necessary to implement the embodiment of the present application, and does not necessarily include Figure 7 All devices shown in .

[0217] The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device may be a server. In some embodiments, the computing device may also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0218] like Figure 8 As shown, the computing device cluster includes at least one computing device 700. The memory 720 in one or more computing devices 700 in the computing device cluster may store the same instructions for executing the above method.

[0219] In some possible implementations, the memory 720 in one or more computing devices 700 in the computing device cluster may also store partial instructions for executing the above method. In other words, the combination of one or more computing devices 700 may jointly execute the instructions of the above method.

[0220] It should be noted that the memory 720 in different computing devices 700 in the computing device cluster may store different instructions, which are respectively used to execute part of the functions of the above-mentioned apparatus. That is, the instructions stored in the memory 720 in different computing devices 700 may implement the functions of one or more modules in the above-mentioned apparatus.

[0221] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network, which may be a wide area network or a local area network. Fig. 9 A possible implementation is shown. Fig. 9 As shown, two computing devices 700A and 700B are connected via a network. Specifically, they are connected to the network via a communication interface in each computing device.

[0222] It should be understood that Fig. 9 The functions of the computing device 700A shown in FIG. 7 may also be completed by multiple computing devices 700. Similarly, the functions of the computing device 700B may also be completed by multiple computing devices 700.

[0223] In this embodiment, a computer program product including instructions is also provided, and the computer program product may be software or a program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on a computing device, the computing device is caused to execute the method provided above, or the computing device is caused to implement the function of the apparatus provided above.

[0224] In this embodiment, a computer program product including instructions is also provided, and the computer program product may be software or a program product including instructions that can be run on a computing device cluster or stored in any available medium. When the computer program product is run by a computing device cluster, the computing device cluster executes the method provided above, or the computing device cluster implements the function of the apparatus provided above.

[0225] In this embodiment, a computer-readable storage medium is also provided, and the computer-readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a digital video disc (DVD)), or a semiconductor medium (e.g., a solid-state hard disk), etc. The computer-readable storage medium includes instructions, and when the instructions in the computer-readable storage medium are executed on a computing device, the computing device executes the method provided above.

[0226] In this embodiment, a computer-readable storage medium is also provided, and the computer-readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center that includes one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk), etc. The computer-readable storage medium includes instructions, and when the instructions in the computer-readable storage medium are executed by a computing device cluster, the computing device cluster executes the method provided above.

[0227] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0228] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0229] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0230] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0231] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0232] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0233] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A method for determining a configuration scheme of a hardware resource pool, characterized in that: The method is applied to a cloud management platform, the cloud management platform manages infrastructure for providing cloud services, the infrastructure is deployed in one or more data centers, and the method includes: receiving cloud resource usage configured by a tenant, wherein the cloud resource usage includes historical cloud resource usage of the tenant and / or cloud resource usage of the industry to which the tenant's business belongs, wherein the historical cloud resource usage includes usage of at least one of computing resources, network resources, or storage resources in the one or more data centers by the tenant; Generate a resource request set and a first configuration scheme of a first hardware resource pool according to the cloud resource usage, wherein the resource request set includes at least one resource request, each resource request is used to indicate a simulation request for any one of computing resources, network resources or storage resources, and the first configuration scheme of the first hardware resource pool is used to indicate the configuration of hardware resources, and the configuration of hardware resources includes: the number of devices and the type of devices; Initiate a simulated resource request to the virtual resource pool corresponding to the first configuration scheme according to the resource request set, and obtain a first simulation result, wherein the first simulation result is used to indicate whether the at least one resource request is satisfied and / or the allocation of resources in the virtual resource pool corresponding to the first configuration scheme; When the first configuration scheme does not meet a preset condition, optimizing the first configuration scheme to obtain a target configuration scheme for the first hardware resource pool, wherein the preset condition includes at least one of the following: the at least one resource request is met, the resource allocation situation meets a preset situation, and the cost of the first hardware resource pool is less than a first cost threshold; or When the first configuration scheme meets the preset condition, the first configuration scheme is used as the target configuration scheme.

2. The method according to claim 1, characterized in that The historical cloud resource usage includes at least one of the following: historical cloud resource usage regions, historical cloud resource usage time, and historical cloud resource usage. The cloud resource usage of the industry includes: the cloud resource usage time of the industry and / or the cloud resource usage of the industry.

3. The method according to claim 1 or 2, characterized in that: The optimizing the first configuration scheme to obtain a target configuration scheme for the first hardware resource pool includes: According to the optimization strategy and the first simulation result, the first configuration scheme is optimized to obtain the target configuration scheme, and the optimization strategy includes at least one of the following: increasing or decreasing the number of resources, increasing or decreasing the number of devices that carry resources, and changing the type of devices that carry resources.

4. The method according to claim 3, characterized in that The increasing or decreasing the number of resources includes: increasing or decreasing the number of local resources and / or cloud resources; and / or, The increasing or decreasing the number of devices that bear resources includes at least one of the following: increasing the number of devices whose costs are lower than or equal to a second cost threshold, and decreasing the number of devices whose costs are higher than the second cost threshold.

5. The method according to claim 3 or 4, characterized in that: The resource allocation situation includes a resource allocation rate and / or a fragmentation rate. The optimizing the first configuration scheme according to the optimization strategy and the first simulation result to obtain the target configuration scheme includes: When the first simulation result indicates that the first resource request is not satisfied, increase the number of first resources in the first configuration scheme or the number of devices carrying the first resource, where the first resource is a resource requested by the first resource request, and the first resource request is any one of the resource requests in the resource request set; or When the first simulation result indicates that the resource allocation rate is lower than a first allocation threshold, reducing the number of resources or the number of devices carrying resources in the first configuration scheme; or, When the first simulation result indicates that the resource allocation rate is higher than a second allocation threshold, increasing the number of resources or the number of devices carrying resources in the first configuration scheme, and the first allocation threshold is lower than or equal to the second allocation threshold; or When the first simulation result indicates that the resource fragmentation rate is higher than a first fragmentation threshold, the first device in the first configuration scheme is replaced with a second device, and the amount of resources carried by the first device is less than the amount of resources carried by the second device.

6. The method according to any one of claims 1 to 5, characterized in that When the first configuration scheme does not meet the preset condition, and the first configuration scheme is a scheme in the historical configuration scheme set whose cost is greater than a third cost threshold, the method further includes: According to the second simulation result, the second configuration scheme is optimized to determine a third configuration scheme, wherein the second configuration scheme is a scheme in the historical configuration scheme set whose cost is less than or equal to the third cost threshold, and the second simulation result is a simulation result corresponding to the second configuration scheme; Initiate a simulated resource request to the virtual resource pool corresponding to the third configuration scheme according to the resource request set, and obtain a third simulation result, wherein the third simulation result is used to indicate whether the at least one resource request is satisfied and / or the allocation of resources in the virtual resource pool corresponding to the third configuration scheme; When the third configuration scheme does not meet the preset condition, optimizing the third configuration scheme to obtain the target configuration scheme; When the third configuration scheme meets the preset condition, the third configuration scheme is used as the target configuration scheme.

7. The method according to any one of claims 1 to 6, characterized in that The generating a resource request set according to the cloud resource usage includes: The cloud resource usage is randomly sampled to determine the at least one resource request, each of the at least one resource request includes timing information and resource usage, the timing information is used to indicate the start time of resource usage, or the timing information is used to indicate the start time and end time of resource usage.

8. The method according to claim 7, characterized in that The step of initiating a resource request for simulation to a virtual resource pool corresponding to a first configuration scheme of the first hardware resource pool according to the resource request set to obtain a first simulation result includes: According to the timing information of each resource request in the at least one resource request, the resources in the virtual resource pool corresponding to the first configuration scheme are allocated in sequence to obtain the first simulation result, and the resource allocation status includes the resource allocation rate and / or fragmentation rate.

9. The method according to any one of claims 1 to 8, characterized in that The step of generating a first configuration scheme for a first hardware resource pool according to the cloud resource usage includes: Receive device configuration information configured by the tenant, where the device configuration information includes a type of device used to carry resources; The first configuration scheme is determined according to the device configuration information and the cloud resource usage.

10. The method according to any one of claims 1 to 9, characterized in that The method further comprises: Receiving optimization strategy configuration information of the tenant, where the optimization strategy configuration information is used to indicate an optimization strategy for optimizing the target configuration solution; Optimizing the target configuration scheme according to the optimization strategy configuration information to obtain an optimized configuration scheme; The optimized configuration solution is provided to the tenant.

11. A device for determining a configuration scheme of a hardware resource pool, characterized in that: The device is applied to a cloud management platform, the cloud management platform manages an infrastructure for providing cloud services, the infrastructure is deployed in one or more data centers, and the device includes: a receiving module, configured to receive cloud resource usage configured by a tenant, wherein the cloud resource usage includes historical cloud resource usage of the tenant and / or cloud resource usage of the industry to which the tenant's business belongs, and the historical cloud resource usage includes usage of at least one of computing resources, network resources or storage resources in the one or more data centers by the tenant; a processing module, configured to generate a resource request set and a first configuration scheme of a first hardware resource pool according to the cloud resource usage, wherein the resource request set includes at least one resource request, each resource request is used to indicate a simulation request for any one of computing resources, network resources or storage resources, and the first configuration scheme of the first hardware resource pool is used to indicate the configuration of hardware resources, and the configuration of hardware resources includes: the number of devices and the type of devices; The processing module is further used to initiate a simulated resource request to the virtual resource pool corresponding to the first configuration scheme according to the resource request set, and obtain a first simulation result, wherein the first simulation result is used to indicate whether the at least one resource request is satisfied and / or the allocation of resources in the virtual resource pool corresponding to the first configuration scheme; The processing module is further configured to optimize the first configuration scheme to obtain a target configuration scheme for the first hardware resource pool when the first configuration scheme does not meet a preset condition, wherein the preset condition includes at least one of the following: the at least one resource request is met, the resource allocation situation meets a preset situation, and the cost of the first hardware resource pool is less than a first cost threshold; or The processing module is further configured to use the first configuration scheme as the target configuration scheme when the first configuration scheme meets the preset condition.

12. The device according to claim 11, characterized in that The historical cloud resource usage includes at least one of the following: historical cloud resource usage regions, historical cloud resource usage time, and historical cloud resource usage. The cloud resource usage of the industry includes: the cloud resource usage time of the industry and / or the cloud resource usage of the industry.

13. The device according to claim 11 or 12, characterized in that The processing module is specifically used to optimize the first configuration scheme according to the optimization strategy and the first simulation result to obtain the target configuration scheme, and the optimization strategy includes at least one of the following: increasing or decreasing the number of resources, increasing or decreasing the number of devices carrying resources, and changing the type of devices carrying resources.

14. The device according to claim 13, characterized in that The increasing or decreasing the number of resources includes: increasing or decreasing the number of local resources and / or cloud resources; and / or, The increasing or decreasing the number of devices that bear resources includes at least one of the following: increasing the number of devices whose costs are lower than or equal to a second cost threshold, and decreasing the number of devices whose costs are higher than the second cost threshold.

15. The device according to claim 13 or 14, characterized in that The resource allocation situation includes the resource allocation rate and / or fragmentation rate. The processing module is specifically used for: When the first simulation result indicates that the first resource request is not satisfied, increase the number of first resources in the first configuration scheme or the number of devices carrying the first resource, where the first resource is a resource requested by the first resource request, and the first resource request is any one of the resource requests in the resource request set; or When the first simulation result indicates that the resource allocation rate is lower than a first allocation threshold, reducing the number of resources or the number of devices carrying resources in the first configuration scheme; or, When the first simulation result indicates that the resource allocation rate is higher than a second allocation threshold, increasing the number of resources or the number of devices carrying resources in the first configuration scheme, and the first allocation threshold is lower than or equal to the second allocation threshold; or When the first simulation result indicates that the resource fragmentation rate is higher than a first fragmentation threshold, the first device in the first configuration scheme is replaced with a second device, and the amount of resources carried by the first device is less than the amount of resources carried by the second device.

16. The device according to any one of claims 11 to 15, characterized in that When the first configuration scheme does not meet the preset condition and the first configuration scheme is a scheme in the historical configuration scheme set whose cost is greater than a third cost threshold, the processing module is further configured to: According to the second simulation result, the second configuration scheme is optimized to determine a third configuration scheme, wherein the second configuration scheme is a scheme in the historical configuration scheme set whose cost is less than or equal to the third cost threshold, and the second simulation result is a simulation result corresponding to the second configuration scheme; Initiate a simulated resource request to the virtual resource pool corresponding to the third configuration scheme according to the resource request set, and obtain a third simulation result, wherein the third simulation result is used to indicate whether the at least one resource request is satisfied and / or the allocation of resources in the virtual resource pool corresponding to the third configuration scheme; When the third configuration scheme does not meet the preset condition, optimizing the third configuration scheme to obtain the target configuration scheme; When the third configuration scheme meets the preset condition, the third configuration scheme is used as the target configuration scheme.

17. The device according to any one of claims 11 to 16, characterized in that The processing module is specifically used to randomly sample the cloud resource usage to determine the at least one resource request, each of the at least one resource request includes timing information and resource usage, the timing information is used to indicate the start time of resource usage, or the timing information is used to indicate the start time and end time of resource usage.

18. The device according to claim 17, characterized in that The processing module is specifically used to allocate resources in the virtual resource pool corresponding to the first configuration scheme in sequence according to the timing information of each resource request in the at least one resource request to obtain the first simulation result, and the resource allocation status includes the resource allocation rate and / or fragmentation rate.

19. The device according to any one of claims 11 to 18, characterized in that The receiving module is further used to receive device configuration information configured by the tenant, where the device configuration information includes the type of device used to carry resources; The processing module is further used to determine the first configuration scheme according to the device configuration information and the cloud resource usage.

20. The device according to any one of claims 11 to 19, characterized in that The receiving module is further used to receive the optimization strategy configuration information of the tenant, where the optimization strategy configuration information is used to indicate the optimization strategy for optimizing the target configuration scheme; The processing module is further used to optimize the target configuration scheme according to the optimization strategy configuration information to obtain an optimized configuration scheme; The processing module is further used to provide the optimized configuration solution to the tenant.

21. A computing device cluster, characterized in that: comprising at least one computing device, each computing device comprising a processor and a memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 1 to 10.

22. A computer program product comprising instructions, characterized in that When the instructions are executed by a computing device cluster, the computing device cluster is caused to perform the method according to any one of claims 1 to 10.

23. A computer-readable storage medium, characterized in that: The method comprises computer program instructions, and when the computer program instructions are executed by a computing device cluster, the computing device cluster performs the method according to any one of claims 1 to 10.

Citation Information

Cited By

  • Chip hardware resource configuration method, chip and vehicle

    CN120085935A