(19)
(11)EP 4 027 240 A1

(12)EUROPEAN PATENT APPLICATION
published in accordance with Art. 153(4) EPC

(43)Date of publication:
13.07.2022 Bulletin 2022/28

(21)Application number: 20870185.4

(22)Date of filing:  24.09.2020
(51)International Patent Classification (IPC): 
G06F 9/50(2006.01)
(86)International application number:
PCT/CN2020/117271
(87)International publication number:
WO 2021/057825 (01.04.2021 Gazette  2021/13)
(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR
Designated Extension States:
BA ME
Designated Validation States:
KH MA MD TN

(30)Priority: 24.09.2019 CN 201910906870

(71)Applicant: Huawei Cloud Computing Technologies Co., Ltd.
Guizhou 550025 (CN)

(72)Inventors:
  • GONG, Kai
    Shenzhen, Guangdong 518129 (CN)
  • WANG, Xinhou
    Shenzhen, Guangdong 518129 (CN)
  • WANG, Xueyou
    Shenzhen, Guangdong 518129 (CN)

(74)Representative: Thun, Clemens 
Mitscherlich PartmbB Patent- und Rechtsanwälte Sonnenstraße 33
80331 München
80331 München (DE)

  


(54)CLOUD SYSTEM RESOURCE SET RECOMMENDATION METHOD AND APPARATUS, AND COMPUTING DEVICE CLUSTER


(57) This application provides a cloud system resource set recommendation method and apparatus, and a computing device cluster. After receiving a cloud system resource set recommendation request (401) triggered by a user and used to request to obtain cloud system resource sets that can support a target cloud service and meet a performance requirement, the recommendation apparatus selects, based on the cloud system resource set recommendation request (401), from the existing cloud system resource sets supporting the target cloud service, a target cloud system resource set meeting the performance requirement (402), and feeds back the target cloud system resource set to the user (403). The user does not need to select a required cloud system resource set from several limited resource sets with fixed configurations, but only needs to notify the recommendation apparatus of a target cloud service and a performance requirement that need to be supported by the cloud system resource set. This simplifies a user operation. The recommendation apparatus selects the cloud system resource set from the existing cloud system resource sets supporting the target cloud service. A larger selection range helps to select a cloud system resource set that better meets a requirement of the user.




Description

TECHNICAL FIELD



[0001] This application relates to the field of computer technologies, and in particular, to a cloud system resource set recommendation method and apparatus, and a computing device cluster.

BACKGROUND



[0002] With rapid development of cloud computing technologies, more cloud services may be deployed on a cloud for use by users. Tenants usually need to rent resources on the cloud in advance for the cloud services deployed on the cloud, and a resource set including these resources is constructed as a cloud system. The cloud system may provide cloud services for the users by running applications.

[0003] Currently, the cloud provides only limited resource sets with a plurality of fixed configurations. The tenants can select one of these resource sets based on requirements of the tenants. However, these resource sets with fixed configurations usually cannot fully meet the requirements of the tenants. For example, a tenant A needs to rent a resource set, where a rent is less than 1000 yuan/month, the resource set needs to support 300 concurrencies (300 requests are processed simultaneously), and utilization of a central processing unit (central processing unit, CPU) is higher than 40%. The cloud usually provides only the resource sets with the fixed configurations. Each fixed resource configuration usually supports only one concurrency, and the fixed resource configurations support limited concurrencies. For example, the fixed resource configurations support only 100 concurrencies, 500 concurrencies, and 1000 concurrencies.

[0004] The requirement of the tenant can be met only when the tenant selects a resource set that is provided by the cloud and that supports 500 concurrencies. The cloud system constructed as the resource set can provide a better cloud service. However, because a large quantity of resources are configured in the resource set, costs are relatively high, resources are wasted, and the requirements of the tenants cannot be met.

SUMMARY



[0005] This application provides a cloud system resource set recommendation method and apparatus, and a computing device cluster, to recommend a relatively suitable cloud system resource set to a user.

[0006] According to a first aspect, this application provides a cloud system resource set recommendation method. The method may be performed by a recommendation apparatus. The method includes: a user may send a cloud system resource set recommendation request to the recommendation apparatus in a trigger manner such as tapping a display or typing a parameter, where the cloud system resource set recommendation request is used to request to obtain cloud system resource sets that can support a target cloud service and that meets a performance requirement required by the user, the target cloud service can be provided in cooperation with at least one functional component, and each functional component implements a different function. After receiving the cloud system resource set recommendation request triggered by the user, the recommendation apparatus may select, based on the cloud system resource set recommendation request, a target cloud system resource set from the existing cloud system resource sets supporting the target cloud service, where the target cloud system resource set includes the at least one functional component. The recommendation apparatus may further feed back the target cloud system resource set to the user.

[0007] According to the foregoing method, the user does not need to select the required cloud system resource set from limited several resource sets with fixed configurations, but only needs to notify the recommendation apparatus of the target cloud service that needs to be supported by the cloud system resource set and the performance requirement that needs to be met. This effectively simplifies a user operation. The recommendation apparatus selects from the existing cloud system resource sets supporting the target cloud service. A selection range is no longer limited to several cloud system resource sets, and a larger selection range helps to select a cloud system resource set that better meets the requirement of the user.

[0008] In a possible implementation, the performance requirement may be represented as an overall performance requirement on the target cloud system resource set and a performance requirement on each functional component in the target cloud system resource set. For example, the performance requirement includes a concurrency that needs to be supported by the target cloud system resource set. In addition to the concurrency that needs to be supported by the target cloud system resource set, the performance requirement may further include one or more of the following: average central processing unit CPU utilization that needs to be achieved by the target cloud system resource set, average memory utilization that needs to be achieved by the target cloud system resource set, an average disk read/write rate that needs to be achieved by the target cloud system resource set, average CPU utilization that needs to be achieved by any functional component in the target cloud system resource set, average memory utilization that needs to be achieved by any functional component in the target cloud system resource set, and an average disk read/write rate that needs to be achieved by any functional component in the target cloud system resource set.

[0009] According to the foregoing method, the performance requirement may include a relatively large variety of information, so that the recommendation apparatus selects a target cloud system resource set that can truly approach a user requirement.

[0010] In a possible implementation, the cloud system resource set recommendation request may further include a rent range that needs to be met by the target cloud system resource set, and the recommendation apparatus may select, from the existing cloud system resource sets supporting the target cloud service, the target cloud system resource set whose rent is within the rent range.

[0011] According to the foregoing method, the cloud system resource set recommendation request carries the rent range, so that the selected target cloud system resource set can meet a rent requirement of the user.

[0012] In a possible implementation, when selecting, based on the existing cloud system resource sets supporting the target cloud service, the cloud system resource set meeting the performance requirement, the recommendation apparatus selects, based on system load distribution models corresponding to the existing cloud system resource sets used to support the target cloud service and a component load model corresponding to the at least one functional component, and data determined based on the system load distribution models and the component load model, from the existing cloud system resource sets supporting the target cloud service, the target cloud system resource set meeting the performance requirement.

[0013] A system load distribution model corresponding to each cloud system resource set is used to determine load of each functional component in the cloud system set based on load of the cloud system resource set, and a component load model corresponding to each functional component is used to determine performance data of the functional component based on the load of the functional component.

[0014] By using the foregoing method, the recommendation apparatus can relatively quickly determine the target cloud system resource set by using the system load distribution model and the component load model, so that the target cloud system resource set can be selected effectively.

[0015] In a possible implementation, before determining the target cloud system resource set by using the system load distribution models and the component load model, the recommendation apparatus may generate system load distribution models and a component load model in advance. For example, the recommendation apparatus may first collect structure data and running data of the existing cloud system resource sets supporting the target cloud service, where structure data of any cloud system resource set supporting the target cloud service indicates composition of functional components in the cloud system resource set and a resource configuration of each functional component, and running data of any cloud system resource set supporting the target cloud service is used to indicate performance of the cloud system resource set in a running process and performance of each functional component in the cloud system resource set of the cloud system resource set; and then, generate, based on the structure data and the running data, the system load distribution models corresponding to the existing cloud system resource sets supporting the target cloud service and the component load model corresponding to the functional component. In the foregoing description, only an example in which the recommendation apparatus generates the system load distribution model and the component load model is used. Alternatively, another apparatus may generate the system load distribution model and the component load model, and configure the system load distribution model and the component load model in the recommendation apparatus.

[0016] According to the foregoing method, a process of generating the system load distribution model and the component load model is performed based on the pre-collected structural data and running data that are of the existing cloud system resource sets supporting the target cloud service. This can ensure that the effective system load distribution models and the component load model are generated. The system load distribution model and component load model produce more accurate data.

[0017] In a possible implementation, when generating, based on the structure data and the running data, the system load distribution models corresponding to the existing cloud system resource sets supporting the target cloud service and the component load model corresponding to the at least one functional component, the recommendation apparatus may integrate the structure data and the running data into training sets of a plurality of component load models and training sets of the plurality of system load distribution models; generate, based on the training sets of the component load models, the component load model corresponding to the at least one functional component; and generate, based on the training sets of the system load distribution models, the system load distribution models corresponding to the existing cloud system resource sets supporting the target cloud service.

[0018] By using the foregoing method, the recommendation apparatus may collate the structure data and the running data, to generate the training sets of the plurality of component load models and the training sets of the plurality of system load distribution models, so as to generate the relatively effective system load distribution models and the component load model.

[0019] According to a second aspect, an embodiment of this application further provides a recommendation apparatus. For beneficial effects, refer to the descriptions of the first aspect. Details are not described herein again. The apparatus has a function of implementing actions in the method example in the first aspect. The function may be implemented by hardware, or may be implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the foregoing functions. In a possible design, a structure of the apparatus includes a receiving module, a resource selection module, a sending module, a component load model, a system load distribution model, and a model training module. These modules or models may perform corresponding functions in the method example in the first aspect. For details, refer to detailed descriptions in the method example. Details are not described herein.

[0020] According to a third aspect, an embodiment of this application further provides a computing device, where the computing device includes a processor and a memory, and may further include a communications interface. Optionally, the computing device further includes a display. The processor executes the program instructions in the memory to perform the method according to any one of the first aspect or the possible implementations of the first aspect. The memory is coupled to the processor, and stores program instructions and data that are necessary in a process of determining traffic flows. The communications interface is configured to communicate with another device, for example, receive a cloud system resource set recommendation request. The display is configured to display information to a user under triggering of the processor, for example, display a target cloud system resource set.

[0021] According to a fourth aspect, this application provides a computing device cluster, where the computing device cluster includes at least one computing device. Each computing device includes a memory and a processor. A processor of the at least one computing device is configured to access code in the memory to perform the method according to any one of the first aspect or the possible implementations of the first aspect.

[0022] According to a fifth aspect, this application provides a non-transient readable storage medium. When the non-transient readable storage medium is executed by a computing device, the computing device performs the method provided in any one of the first aspect or the possible implementations of the first aspect. The storage medium stores a program. The storage medium includes but is not limited to a volatile memory, for example, a random access memory, or a nonvolatile memory, such as a flash memory, a hard disk drive (hard disk drive, HDD), and a solid state drive (solid state drive, SSD).

[0023] According to a sixth aspect, this application provides a computer program product. The computer program product includes computer instructions. When the computer instructions are executed by a computing device, the computing device performs the method provided in any one of the first aspect or the possible implementations of the first aspect. The computer program product may be a software installation package. When the method according to any one of the first aspect or the possible implementations of the first aspect needs to be used, the computer program product may be downloaded to and executed on the computing device.

[0024] According to a seventh aspect, this application further provides a computer chip. The chip is connected to a memory, and the chip is configured to read and execute a software program stored in the memory, to perform the method provided in the first aspect or any possible implementation of the first aspect.

BRIEF DESCRIPTION OF DRAWINGS



[0025] 

FIG. 1 is a schematic diagram of a structure of a recommendation apparatus according to this application;

FIG. 2A is a schematic diagram of a structure of a computing device cluster according to this application;

FIG. 2B is a schematic diagram of a system architecture according to this application;

FIG. 3 is a schematic diagram of a training method for a component load model 140 and a system load distribution model 150 according to this application;

FIG. 4 is a schematic diagram of a system recommendation method according to this application;

FIG. 5 is a schematic diagram of a selection interface displayed to a user according to this application;

FIG. 6 is a schematic diagram of another selection interface displayed to a user according to this application;

FIG. 7 is a schematic diagram of another selection interface displayed to a user according to this application; and

FIG. 8 is a schematic diagram of an interface for displaying a target cloud system resource set to a user according to this application.


DESCRIPTION OF EMBODIMENTS



[0026] Usually, a cloud system resource set may be used to support a cloud service (the cloud service may also be referred to as a cloud business), and the cloud service that can be supported by the cloud system resource set depends on an application running on each functional component in the cloud system resource set. From a perspective of a cloud service, a cloud service may be deployed in different cloud system resource sets, and performance of each cloud system resource set affects quality of the provided cloud service.

[0027] Performance of any cloud system resource set is related to a type of a functional component included in the cloud system resource set and a resource configuration of each functional component. The cloud system resource set may include one or more functional components, each functional component is configured to implement one function, and a plurality of functional components jointly support one cloud service. For example, one cloud system resource set supporting a call service may include three functional components: a functional component configured to receive a voice, a functional component configured to process a voice (for example, denoising), and a functional component configured to output a voice. Another cloud system resource set providing the call service may include two functional components: a functional component configured to receive a voice and a functional component configured to output a voice. The two cloud system resource sets both can be used to provide the call service, but include different functional components and provide cloud services of different quality. For example, the one cloud system resource set supporting the call service includes the functional component configured to process the voice, to process the received voice, so that a finally output voice can be clearer. The cloud system resource set can provide a better call service for a user in a noisy environment. However, the another cloud system resource set providing the call service does not include the functional component configured to process the voice, and a voice processing operation is omitted, so that voice transmission efficiency can be improved. Although clarity of the output voice cannot be better ensured, timely performance of voice transmission can be better ensured. The cloud system resource set is applicable to a scenario in which a relatively high requirement is imposed on a voice transmission speed.

[0028] It should be noted that, if the two cloud system resource sets include same functional components, and resource configurations of functional components that can implement a same function in the two cloud system resource sets are different, the two cloud system resource sets also belong to different cloud system resource sets.

[0029] A resource configuration of any functional component includes any one or more of the following: a quantity of virtual machines (virtual machines, VM) included in the functional component, a quantity of containers included in the functional component, a quantity of physical machines (physical machines, PM) included in the functional component, a quantity of virtual central processing units (virtual central processing units, VCPU) of each virtual machine, a memory capacity of each virtual machine, a disk capacity of each virtual machine, a quantity of central processing units (central processing units, CPU) of each physical machine, a memory capacity of each physical machine, and a disk capacity of each physical machine. For ease of description, a virtual machine or a physical machine in a functional component is referred to as an instance in the functional component.

[0030] It can be learned that different cloud system resource sets support cloud services of different quality. When renting a cloud system resource set, a tenant may select an appropriate cloud system resource set based on audience of the cloud service and an application scenario. Several limited cloud system resource sets provided by a cloud cannot meet a requirement of the tenant. Therefore, the embodiments of this application provide a cloud system resource set recommendation method. Before the system recommendation method is described, a system architecture to which the embodiments of this application are applicable is first described.

[0031] An embodiment of this application provides a cloud system resource recommendation method, and the method is executed by a recommendation apparatus. FIG. 1 is a schematic diagram of a structure of a recommendation apparatus according to an embodiment of this application. The recommendation apparatus 100 includes a receiving module 110, a resource selection module 120, and a sending module 130. The recommendation apparatus 100 may include a component load model 140 and a system load distribution model 150. A quantity of component load models 140 and a quantity of system load distribution models 150 are not limited in this embodiment of this application. The quantity of system load distribution models 150 is related to a quantity of existing cloud system resource sets. The quantity of component load models 140 is related to a quantity of types of functional components that may be included in the existing cloud system resource sets.

[0032] The receiving module 110 is configured to receive a cloud system resource set recommendation request triggered by a user. The cloud system resource set recommendation request is used to request to obtain a cloud system resource set that can support a cloud service of a specific type.

[0033] The system load distribution model 150 is configured to determine load of each functional component in a cloud resource set based on input load of the cloud system resource set, where a cloud system resource set corresponds to one system load distribution model.

[0034] The component load model 140 is configured to determine performance data of the corresponding functional component based on input load of the functional component, where one functional component corresponds to one component load model.

[0035] The resource selection module 120 is configured to select a cloud system resource set from the existing cloud system resource sets supporting the cloud service of the type. Specifically, the resource selection module may select, by using the component load model 140 and the system load distribution model 150, the cloud system resource set from the existing cloud system resource sets supporting the cloud service of the type.

[0036] As shown in FIG. 1, for example, two cloud system resource sets selected by the resource selection module 120 are drawn: a cloud system resource set 170 and a cloud system resource set 180. The cloud system resource set 170 includes a functional component 171, a functional component 172, and a functional component 173. The functional component 171 includes one PM and one VM. The PM in the functional component 171 includes two CPUs, a memory, and a disk. A memory capacity and a disk capacity of the PM in the functional component 171 are 128 GB (Gigabyte, GB) and 500 GB respectively. The functional component 172 includes one PM. The PM in the functional component 172 includes a CPU, a memory, and a disk. A memory capacity and a disk capacity of the VM in the functional component 172 are 256 GB and 1 terabyte (Terabyte, T) respectively. The functional component 173 includes one VM and three containers. The VM in the functional component 173 includes one VCPU, a memory, and a disk. A memory capacity and a disk capacity of the VM in the functional component 173 are 256 GB and 1 TB respectively.

[0037] The cloud system resource set 180 includes a functional component 181, a functional component 182, and a functional component 183. The functional component 181 includes one PM. The PM in the functional component 181 includes two CPUs, a memory, and a disk. A memory capacity and a disk capacity in the functional component 181 are 256 GB and 500 GB respectively. The functional component 182 includes one VM. The VM in the functional component 182 includes two VCPUs, a memory, and a disk. A memory capacity and a disk capacity of the VM in the functional component 182 are 256 GB and 1 TB respectively. The functional component 183 includes two VMs. Each VM in the functional component 183 includes one VCPU, a memory, and a disk. A memory capacity and a disk capacity of each VM in the functional component 183 are 128 GB and 500 GB respectively.

[0038] The sending module 130 is configured to send the target cloud system resource set selected by the resource selection module 120 to the user.

[0039] The component load model 140 and the system load distribution model 150 in the recommendation apparatus 100 may be trained by an apparatus other than the recommendation apparatus 100 and configured in the recommendation apparatus. In a possible implementation, the recommendation apparatus 100 may include a model training module 160. The model training module 160 is configured to train the component load model and the system load distribution model, and configure the trained component load model and the system load distribution model in the recommendation apparatus 100.

[0040] The following describes a system architecture to which an embodiment of this application is applicable. FIG. 2A shows a computer cluster according to an embodiment of this application. The computer cluster includes at least one computing device 10. A communication channel is established between computing devices 10 through a communications network.

[0041] Each computing device 10 includes a bus 101, a processor 102, a communications interface 103, and a memory 104. Optionally, the computing device 10 may further include a display 105. The processor 102, the memory 104, and the communications interface 103 communicate with each other by using the bus 101.

[0042] The processor 102 may include one or more general-purpose processors, for example, a central processing unit (central processing unit, CPU), or a combination of a CPU and a hardware chip. The hardware chip may be an application-specific integrated circuit (application-specific integrated circuit, ASIC), a programmable logic device (programmable logic device, PLD), or a combination thereof. The PLD may be a complex programmable logic device (complex programmable logic device, CPLD), a field-programmable gate array (field-programmable gate array, FPGA), a generic array logic (generic array logic, GAL), or any combination thereof.

[0043] The memory 104 may include a volatile memory (volatile memory), for example, a random access memory (random access memory, RAM). Alternatively, the memory 104 may include a non-volatile memory (non-volatile memory, NVM), for example, a read-only memory (read-only memory, ROM), a flash memory, a hard disk drive (hard disk drive, HDD), or a solid-state drive (solid-state drive, SSD). The memory 104 may further include a combination of the foregoing types.

[0044] The memory 104 stores executable code. The processor 102 may read the executable code in the memory 104 to implement a function, and may further communicate with another computing device through the communications interface 103. The processor 102 may further trigger the display 105 to display information to a user, such as information included in interfaces shown in FIG. 5 to FIG. 8 in this embodiment of this application.

[0045] In this embodiment of this application, the processor 102 may implement functions of one or more modules (for example, one or more of the following: the receiving module 110, the resource selection module 120, the sending module 130, the component load model 140, the system load distribution model 150, and the model training module 160) of the recommendation apparatus 100. In this case, the memory 104 stores the receiving module 110, the resource selection module 120, the sending module 130, the component load model 140, and the system load distribution model 150 in the recommendation apparatus 100.

[0046] In this embodiment of this application, the processors 102 in the plurality of computing devices 10 may work in coordination to perform the cloud system resource set recommendation method provided in the embodiments of this application.

[0047] FIG. 2B is a system architecture according to an embodiment of this application. The system architecture includes a client 200 and a cloud device 300 on which a recommendation apparatus is deployed. The client 200 is connected to the cloud device 300 through a network. The cloud device 300 is located in a cloud environment, and may be a server or a virtual machine deployed in a cloud data center. In FIG. 2B, only an example in which the recommendation apparatus is deployed on one cloud device 300 is used. In a possible implementation, the recommendation apparatus may be distributedly deployed on a plurality of cloud devices 300.

[0048] As shown in FIG. 2B, the client 200 includes a bus 201, a processor 202, a communications interface 203, and a memory 204. Optionally, the client 200 further includes a display 205. The processor 202, the memory 204, and the communications interface 203 communicate with each other by using the bus 201. For types of the processor 202 and the memory 204, refer to related descriptions of the processor 102 and the memory 104. Details are not described herein again. The memory 204 stores executable code, and the processor 202 may read the executable code in the memory 204 to implement a function. The processor 202 may further trigger the display 205 to display information to a user, such as the information included in the interfaces shown in FIG. 5 to FIG. 8 in this embodiment of this application. The processor 202 may further communicate with the cloud device through the communications interface 203. For example, the processor 202 may prompt, by using the display, the user to input information, where the information may be information carried in a cloud system resource set recommendation request, for example, a type of a cloud service that needs to be supported by a cloud system resource set and a performance requirement of the cloud system resource set; and send, to the cloud device 300 through the communications interface 203, the cloud system resource set recommendation request carrying the information, for example, the type of the cloud service that needs to be supported by the cloud system resource set and the performance requirement of the cloud system resource set.

[0049] As shown in FIG. 2B, the cloud device 300 includes a bus 301, a processor 302, a communications interface 303, and a memory 304. The processor 302, the memory 304, and the communications interface 303 communicate with each other by using the bus 301. For types of the processor 302 and the memory 304, refer to related descriptions of the processor 102 and the memory 104. Details are not described herein again. The memory 304 stores executable code. The processor 302 may read the executable code in the memory 304 to implement a function, and may further communicate with the client 200 through the communications interface 303. In this embodiment of this application, refer to FIG. 2B. Processors 302 of a plurality of cloud devices 300 may cooperate to implement a function of the recommendation apparatus 100. In this case, the memory 304 stores one or more of the receiving module 110, the resource selection module 120, the sending module 130, the component load model 140, the system load distribution model 150, and the model training module 160.

[0050] After receiving the cloud system resource set recommendation request from the client 200 through the communications interface 303, the processor 302 may invoke the modules stored in the memory 304 to implement the cloud system resource set recommendation method provided in this embodiment of this application, and select a cloud system resource set for the user. The processor 302 may send the selected cloud system resource set to the client 200 through the communications interface 303.

[0051] After the processor 202 in the client 200 receives, through the communications interface 203, the cloud system resource set selected by the cloud device 300, the processor 202 may trigger the display 205 to display the selected cloud system resource set to the user.

[0052] Regardless of which system architecture is used by the recommendation apparatus, two different types of models may be configured in the recommendation apparatus in this embodiment of this application.

[0053] One type is the component load model 140. Each functional component corresponds to one component load model 140. The component load models 140 are generated based on load of the functional components in various existing cloud system resource sets and performance data of the functional components. In this way, the component load models 140 corresponding to the functional components may determine the performance data of the functional components based on the input load of the functional components.

[0054] The load of the functional component may be represented by using a concurrency (that is, a quantity of internal requests received by the functional component at a specific time) of the functional component, and may also be represented by using another parameter used to reflect the load of the functional component.

[0055] The performance data of the functional component includes any one or more of the following: average CPU (including a VCPU) utilization of the functional component, average memory utilization of the functional component, and an average disk read/write rate (input/output operations per second, IOPS) of the functional component. In this embodiment of this application, only an example in which the performance data of the functional component includes the foregoing data is used for description. It should be understood that the performance data of the functional component may further include other data that can reflect performance of the functional component.

[0056] The average CPU (including the VCPU) utilization of the functional component is equal to average CPU utilization of all instances (one instance is a VM or a physical machine) in the functional component. CPU utilization of an instance reflects a proportion of the CPU running duration to total duration in a period.

[0057] The average memory utilization of the functional component reflects a proportion of an occupied memory of the functional component to a total memory of the functional component. Average IOPS of disks of the functional component is equal to average IOPS of disks of all instances in the functional component, and IOPS of disks of one instance is disk read/write times per second.

[0058] The performance data of the foregoing three functional components is merely an example. A specific data type of the performance data of the functional component is not limited in this embodiment of this application. All data that can reflect the performance of the functional component is applicable to this embodiment of this application.

[0059] Another type is the system load distribution model 150. A cloud system resource set corresponds to one system load distribution model 150. The system load distribution model 150 corresponding to the cloud system resource set is generated based on load of the existing cloud system resource set and load of each functional component in the cloud system resource set. In this way, the system load distribution model 150 corresponding to the cloud system resource set may determine the load of each functional component in the cloud system resource set based on the load of the cloud system resource set.

[0060] The load of the cloud system resource set may be represented by a concurrency of the cloud system resource set (that is, a quantity of external requests received by the cloud system at a specific time), and may further be represented by using another parameter used to reflect the load of the cloud system resource set. In this embodiment of this application, the load of the cloud system resource set is represented by using the concurrency of the cloud system resource set. For a manner of representing the load of the functional component, refer to the foregoing description. Details are not described herein again.

[0061] It should be understood that a request involved in the concurrency in the cloud system resource set is an external request, and the external request is a request initiated by a device or a user outside the cloud system resource set, for example, a request triggered when the user needs a cloud service. A request related to the concurrency of the functional component is an internal request initiated by the functional component, and the internal request is a request initiated by the functional component in the cloud system resource set. For example, a cloud service provided by the cloud system resource set for the user is a web page service. The cloud system resource set may include three functional components: a front-end component, a back-end component, and a database component. A web page seen by the user is provided by the front-end component. A conversion operation of a backend web page, for example, the user taps a picture, a link, or an icon in a web page, is performed by the back-end component. The database component stores a related signal of a web page, for example, a text and a picture in the web page, and information about a web page to which the web page can be redirected. When the user taps the picture, the link, or the icon in the web page, the front-end component is triggered to initiate an application programming interface (application programming interface, API) request to the back-end component. The API request is triggered by the user and is an external request. After receiving the API request from the front-end component, the back-end component initiates a data query request to the database component. The back-end component returns a query result fed back by the database component to the front-end component. The data query request is an API request triggered by the functional component in the cloud system resource set, and therefore, is an internal request.

[0062] The recommendation apparatus is configured with the foregoing two types of different models. The resource selection module 120 may select, based on the two types of different models and a user requirement for a cloud system resource set (for example, a cloud service type that needs to be supported by the cloud system resource set and a user's performance requirement for the cloud system resource set), the cloud system resource set meeting the requirement. A type of a model is not limited in this embodiment of this application. The two different types of models may be neural network models, or may be models established according to a statistical machine learning algorithm, for example, models established according to an algorithm such as a polynomial regression algorithm, a ridge regression algorithm, or an elastic network regression algorithm. Specific details in which the resource selection module 120 selects the cloud system resource set meeting the requirement are described below.

[0063] The following first describes training manners of the foregoing two types of models by using an example in which the foregoing two types of models are neural network models, and then describes specific details of determining, by the resource selection module 120, the cloud system resource set meeting the requirement.

1. A training mode of the neural network model.



[0064] An apparatus for training the two types of neural network models is not limited in this embodiment of this application. The two types of neural network models may be trained by the model training module 160 included in the recommendation apparatus. Alternatively, another apparatus may train the two types of neural network models. After training is completed, the trained two types of neural network models are configured in the recommendation apparatus. In this embodiment of this application, only an example in which the model training module 160 trains the two types of neural network models is used for description.

[0065] FIG. 3 is a schematic diagram of a training method for the component load model 140 and the system load distribution model 150. The method includes the following steps.

[0066] Step 301: The model training module 160 collects data from an existing cloud system resource set, where the collected data may be classified into two types: one type is structural data of the cloud system resource set, and the other type is running data of the cloud system resource set.
  1. (1) The structure data of the cloud system resource set is used to indicate a cloud service that is supported by the cloud system resource set, composition of functional components in the cloud system resource set, and a resource configuration of each functional component. The structure data of the cloud system resource set includes any one or more of the following: a cloud service that is supported by each cloud system resource set, functional components included in each cloud system resource set, a quantity of virtual machines in each functional component in each cloud system resource set, a quantity of physical machines, a quantity of CPUs (including VCPUs) of each virtual machine/physical machine, a memory capacity of each virtual machine/physical machine, and a disk capacity of each virtual machine/physical machine.
  2. (2) The running data of the cloud system resource set is data collected in a running process of the cloud system resource set, and the running data may represent overall performance of the cloud system resource set, and specifically, performance of each functional component in the cloud system resource set. The running data of the cloud system resource set includes any one or more of the following: an API call record of the cloud system resource set, and CPU utilization, memory utilization, and disk IOPS of each instance in each functional component in the cloud system resource set.


[0067] A data type included in the performance data of the cloud system resource set is not limited in this embodiment of this application. The data type included in the performance data of the cloud system resource set is related to the component load model 140 that needs to be trained. When the component load model 140 may determine other performance data in addition to determining average CPU (including a VCPU) utilization of the functional component, average memory utilization of the functional component, an average disk read/write rate of the functional component, the performance data that is of the cloud system resource set and that is collected by the model training module 160 also needs to include performance data of a same type, or data that can be used to calculate the other performance data. In this embodiment of this application, an example in which the performance data of the cloud system resource set includes CPU utilization, memory utilization, and disk IOPS of each instance in each functional component is used for description.

[0068] The API call record records execution information of each API request (including any external request executed by the cloud system resource set and any internal request triggered internally by the cloud system resource set) processed by the cloud system resource set, for example, an identifier (identity, ID) of the API request, a triggering time of the API request, an end time of the API request, and a return result of the API request.

[0069] Step 302: The model training module 160 collates the collected data, and separately generates training sets of component load models 140 and training sets of system load distribution models 150.

[0070] Each component load model 140 corresponds to one functional component, and each system load distribution model 150 corresponds to one cloud system resource set. In other words, when there are a plurality of functional components, the model training module 160 needs to generate a training set of the component load model 140 corresponding to each functional component. When there are a plurality of cloud system resource sets, the model training module 160 needs to generate a training set of the component load model 140 corresponding to each cloud system resource set.

[0071] The component load model 140 corresponding to the functional component A is used as an example to describe data included in the training set of the component load model 140. The training set of the component load model 140 corresponding to the functional component A includes a concurrency of the functional component A, a quantity of instances in the functional component A, a quantity of CPUs (including VCPUs) of a single instance in the functional component A, a memory capacity of a single instance in the functional component A, a disk capacity of a single instance in the functional component A, average CPU (including a VCPU) utilization of the functional component A, average memory utilization of the functional component A, and average disk read/write rate of the functional component A.

[0072] It should be noted that in this embodiment of this application, an example in which each instance of the functional component A has a same quantity of CPUs, a same memory capacity, and a same disk capacity. If there are different types of instances in the functional component A, and each type of instance has a different quantity of CPUs, a different memory capacity, or a different disk capacity, the training set of the component load model 140 needs to include the quantity of CPUs, the memory capacity, or the disk capacity of each type of instance.

[0073] To generate the training set of the component load model 140, the model training module 160 needs to further collate the collected data. For example, the model training module 160 obtains, from the API call record, a quantity of internal requests received by the functional components in the cloud system resource set at a moment 1, to determine a concurrency of the functional component A at the moment 1. The model training module 160 analyzes the structural data of the cloud system resource set to determine a quantity of instances in the functional component A, a quantity of CPUs (including VCPUs) of a single instance in the functional component A, a memory capacity of a single instance in the functional component A, and a disk capacity of a single instance in the functional component A. The model training module 160 determines CPU utilization, memory utilization, and disk IOPS of each instance in each functional component in the cloud system resource set at the moment 1, and determines, by solving an average value, average CPU (including a VCPU) utilization in the functional component A corresponding to the moment 1, average memory utilization in the functional component A, and an average disk read/write rate in the functional component A.

[0074] It should be understood that the training set of the component load model 140 may be divided into a plurality of groups of training data based on a moment, and it needs to be ensured that when the component load model 140 is subsequently trained, input data and preset output data correspond to a same moment.

[0075] In a possible implementation, the model training module 160 may number supported cloud services, functional components, and instances of the functional components to form an organization tree, and integrate the collected data into the organization tree. In this way, corresponding data may be queried through a corresponding number, and the training set of the component load model 140 can be relatively quickly generated.

[0076] A system load distribution model 150 corresponding to a cloud system resource set 1 is used as an example to describe data included in a training set of the system load distribution model 150. The training set of the system load distribution model 150 corresponding to the cloud system resource set 1 includes a concurrency of the cloud system resource set 1, and a concurrency of each functional component included in the cloud system resource set 1 under the concurrency of the cloud system resource set 1.

[0077] To generate the training set of the system load distribution model 150, the model training module 160 needs to further collate the collected data. For example, the model training module 160 obtains, from the API call record, the quantity of internal requests received by each functional component in the cloud system resource set at the moment 1, to determine a concurrency of each functional component A at the moment 1, and obtains a quantity of external requests received by the cloud system resource set at the moment 1, to determine a concurrency of the cloud system resource set at the moment 1.

[0078] It should be understood that the training set of the system load distribution model 150 may be divided into a plurality of groups of training data based on a moment, and it needs to be ensured that when the system load distribution model 150 is subsequently trained, input data and preset output data correspond to a same moment.

[0079] After generating the training set of the component load model 140 and the training set of the system load distribution model 150, the model training module 160 may train each component load model 140 and each system load distribution model 150. The following step 303 is a training process of the component load model 140. Step 304 is a training process of the system load distribution model 150.

[0080] Step 303: The model training module 160 trains the component load model 140 based on the training set of the component load model 140.

[0081] The component load model 140 corresponding to the functional component A is used as an example. The model training module 160 configures the concurrency of the functional component A in the training set of the component load model 140 corresponding to the functional component A, the quantity of instances in the functional component A, the quantity of CPUs (including VCPUs) of each instance, the memory capacity of each instance, and the disk capacity of each instance as input values, configures the average CPU (including a VCPU) utilization of the functional component A, the average memory utilization of functional component A, and the average disk read/write rate of functional component A as output values, and trains the component load model 140 corresponding to the functional component A in a supervised learning manner until a loss function converges.

[0082] Step 304: The model training module 160 trains the system load distribution model 150 based on the training set of the system load distribution model 150.

[0083] The system load distribution model 150 corresponding to the cloud system resource set 1 is used as an example. The model training module 160 uses, as an input value, the concurrency of the cloud system resource set 1 in the training set of the system load distribution model 150 corresponding to the cloud system resource set 1, uses, as an output value, the concurrency of each functional component in the cloud system resource set 1 under the input concurrency of the cloud system resource set 1, and trains the system load distribution model 150 corresponding to the cloud system resource set 1 in the supervised learning manner until a loss function converges.

[0084] 2. A manner in which the recommendation apparatus determines a cloud system resource set meeting the user requirement.

[0085] FIG. 4 is a schematic diagram of a system recommendation method according to an embodiment of this application. The method includes the following steps.

[0086] Step 401: The receiving module 110 receives a cloud system resource set recommendation request triggered by a user. The cloud system resource set recommendation request includes a user requirement for a cloud system resource set (referred to as a user requirement for short), where the requirement includes a cloud service that needs to be supported by the cloud system resource set; and may further include any one or more of the following information: a concurrency that needs to be supported by the cloud system resource set, average CPU utilization that needs to be achieved by the cloud system resource set, average memory utilization that needs to be achieved by the cloud system resource set, an average disk read/write rate that needs to be achieved by the cloud system resource set, a rent range of the cloud system resource set, and average CPU utilization, average memory utilization, and average disk read/write rate that need to be achieved by the functional component in the cloud system resource set.

[0087] FIG. 5 is a selection interface displayed on a display of a client 200 or a display of a computing device 10. In the interface, a user is prompted to select a cloud service that needs to be supported by a cloud system resource set. The user can select the cloud service by tapping a corresponding option.

[0088] Further, FIG. 6 is another selection interface displayed to the user on the display of the client 200 or the display of the computing device 10. The user may set load of the cloud system set (for example, the concurrency that needs to be supported by the cloud system resource set) and performance (the average CPU utilization, average memory utilization, and average disk read/write rate that need to be achieved by the cloud system resource collection). Options in FIG. 6 further include a default value. When the user has no requirement on the load and performance of the cloud system set, or cannot determine the load and performance that the cloud system set needs to achieve, the default value may be selected. A concurrency that needs to be supported by the cloud system resource set corresponding to the "default" option, average CPU utilization that needs to be achieved by the cloud system resource set, average memory utilization that needs to be achieved by the cloud system resource set, and an average disk read/write rate that needs to be achieved by the cloud system resource set are preset values. A manner of determining the preset value is not limited in this embodiment of this application, and the preset value may be an empirical value, or may be an average value of data corresponding to all existing cloud system resource sets supporting the cloud service.

[0089] Alternatively, the user may set only one or more parameters of the concurrency that needs to be supported by the cloud system resource set, the average CPU utilization that needs to be achieved by the cloud system resource set, the average memory utilization that needs to be achieved by the cloud system resource set, and the average disk read/write rate that needs to be achieved by the cloud system resource set. A parameter that is not set by the user may be considered as no specific requirement by default, or a parameter that is not set by the user may be set as a preset value. The preset value may be an empirical value, or may be a value matched based on the parameters that are set by the user.

[0090] In a possible implementation, in addition to setting one or more parameters of the concurrency that needs to be supported by the cloud system resource set, the average CPU utilization that needs to be achieved by the cloud system resource set, the average memory utilization that needs to be achieved by the cloud system resource set, and the average disk read/write rate that needs to be achieved by the cloud system resource set, specifically, inside the cloud system resource set, the user may further set one or more parameters of average CPU utilization that needs to be achieved by one or more functional components in the cloud system resource set, average memory utilization that needs to be achieved by the one or more functional components, and average disk read/write rates that need to be achieved by the one or more functional components. A prerequisite for setting is that the user may first determine a type of a functional component included in the cloud system resource set. For example, the user may configure a cloud system resource set in an interface displayed to the user by using the display in the client 200 or by using the display in the computing device 10. The requested cloud system resource set that supports the web page service and that is requested by the cloud system resource set recommendation request includes a front-end component, a back-end component, and a database component. Further, the user configures, in the interface displayed to the user by using the display in the client 200 or the display in the computing device 10, one or more parameters of the average CPU utilization that needs to be achieved by the one or more functional components in the cloud system resource set, the average memory utilization that needs to be achieved by the one or more functional components, and the average disk read/write rate that needs to be achieved by the one or more functional components. For example, the user may configure, in the interface displayed to the user by using the display in the client 200 or the display in the computing device 10, average CPU utilization that needs to be achieved by the front-end component, average memory utilization that needs to be achieved, and an average disk read/write rate.

[0091] FIG. 7 is another selection interface displayed to a user by a display in the client 200 or a display in the computing device 10. The user may select a payment mode (monthly settlement, daily settlement, and annual settlement) and a specific fee for the cloud system resource set.

[0092] By tapping a corresponding option, the user may trigger the client 200 to send a cloud system resource set recommendation request to a recommendation apparatus.

[0093] Step 402: After the receiving module 110 receives the system resource set recommendation request, the resource selection module 120 may select, based on existing cloud system resource sets supporting the cloud service, a target cloud system resource set meeting the user requirement.

[0094] The resource selection module 120 may select, by using a pre-trained system load distribution model 150 corresponding to the cloud system resource set used to support the cloud service and a component load model 140 corresponding to each functional component, the cloud system resource set meeting the user requirement.

[0095] The manner of selecting the cloud system resource set meeting the user requirement is described through an example in which the system resource set recommendation request includes the cloud service (for example, the web page service is supported) that needs to be supported by the cloud system resource set, the concurrency that needs to be supported by the cloud system resource set (300 concurrencies are used as an example), and the average CPU utilization that needs to be achieved by the cloud system resource set (40% is used as an example).

[0096] Step 1: The resource selection module 120 may first determine, based on the system load distribution model 150 corresponding to the existing cloud system resource set used to support the cloud service and the concurrency that needs to be achieved by the cloud system resource set, a concurrency of each functional component in the existing cloud system resource set used to support the cloud service.

[0097] For example, the resource selection module 120 may query, based on the cloud service that needs to be provided by the cloud system resource set and that is carried in the cloud system resource set recommendation request, the system load distribution model 150 corresponding to the existing cloud system resource set used to support the cloud service.

[0098] For the system load distribution model 150 corresponding to any existing cloud system resource set used to support the cloud service, the resource selection module 120 may input, into a system load model corresponding to the cloud system resource set, the concurrency that needs to be supported by the cloud system resource set, and may determine the concurrency of each functional component in the cloud system resource set.

[0099] For example, there are three cloud system resource sets used to support the web page service in the existing cloud system resource sets: a cloud system resource set 1, a cloud system resource set 2, and a cloud system resource set 3. The cloud system resource set 1 includes a functional component A, a functional component B, and a functional component C. The cloud system resource set 2 includes a functional component A and a functional component B. The cloud system resource set 3 includes a functional component A, a functional component B, a functional component C, and a functional component D.

[0100] A system load distribution model f1 (a system concurrency) corresponding to the cloud system resource set 1 = (a concurrency of the functional component A, a concurrency of the functional component B, a concurrency of the functional component C).

[0101] A system load distribution model f2 (a system concurrency) corresponding to the cloud system resource set 2 = (a concurrency of the functional component A, a concurrency of the functional component B).

[0102] A system load distribution model f3 (a system concurrency) corresponding to the cloud system resource set 3 = (a concurrency of the functional component A, a concurrency of the functional component B, a concurrency of the functional component C, a concurrency of the functional component D).

[0103] The resource selection module 120 inputs the concurrency (300) that needs to be supported by the cloud system resource set into the system load distribution model f1 (the system concurrency), so as to obtain the concurrency f1(300)-A of the functional component A, the concurrency f1(300)-B of the functional component B, and the concurrency f1(300)-C of the functional component C.

[0104] The resource selection module 120 inputs the concurrency (300) that needs to be supported by the cloud system resource set into the system load distribution model f2(300), so as to obtain the concurrency f2(300)-A of the functional component A and the concurrency f2(300)-B of the functional component B.

[0105] The resource selection module 120 inputs the concurrency (300) that needs to be supported by the cloud system resource set into the system load distribution model f3 (the system concurrency), so as to obtain the concurrency f3(300)-A of the functional component A, the concurrency f3(300)-B of the functional component B, the concurrency f3(300)-C of the functional component C, and the concurrency f4(300)-D of the functional component D.

[0106] Step 2: The resource selection module 120 determines, based on the component load model 140 and a concurrency of each functional component in the existing cloud system resource sets used to support the cloud service, the average CPU utilization of each functional component in the existing cloud system resource sets used to support the cloud service.

[0107] For any existing cloud system resource set used to provide the cloud service, the resource selection module 120 may input the concurrency of each functional component in the cloud system resource set calculated in the first step into the component load model 140 corresponding to each corresponding functional component, to determine the average CPU utilization of each functional component.

[0108] It is still used as an example in which the cloud service that needs to be provided by the cloud system resource set and that is carried in the cloud system resource set recommendation request is a web page application. There are three cloud system resource sets used for the web page application in the existing cloud system resource sets, and there are four different functional components in total: a functional component A, a functional component B, a functional component C, and a functional component D.

[0109] A component load model Fa corresponding to the functional component A (a concurrency of the functional component A, CPU cores of a single instance of the functional component A, a memory capacity of a single instance of the functional component A, a disk capacity of a single instance of the functional component A, a quantity of instances of the functional component A) = (Average CPU utilization of the functional component A, average memory utilization of the functional component A, an average disk read/write rate of the functional component A).

[0110] A component load model Fb corresponding to the functional component B (a concurrency of the functional component B, CPU cores of a single instance of the functional component B, a memory capacity of a single instance of the functional component B, a disk capacity of a single instance of the functional component B, a quantity of instances of the functional component B) = (average CPU utilization of the functional component B, average memory utilization of the functional component B, an average disk read/write rate of the functional component B).

[0111] A component load model Fc corresponding to the functional component C (a concurrency of the functional component C, CPU cores of a single instance of the functional component C, a memory capacity of a single instance of the functional component C, a disk capacity of a single instance of the functional component C, a quantity of instances of the functional component C) = (average CPU utilization of the functional component C, average memory utilization of the functional component C, an average disk read/write rate of the functional component C).

[0112] A component load model Fd corresponding to the functional component D (a concurrency of the functional component D, CPU cores of a single instance of the functional component D, a memory capacity of a single instance of the functional component D, a disk capacity of a single instance of the functional component D, a quantity of instances of the functional component D) = (average CPU utilization of the functional component D, average memory utilization of the functional component D, an average disk read/write rate of the functional component D).

[0113] For the cloud system resource set 1, the resource selection module 120 may input the concurrency f1(300)-A of the functional component A determined in the first step into the component load model Fa corresponding to the functional component A, input the concurrency f1(300)-B of the functional component B into the component load model Fb corresponding to the functional component B, and input the concurrency f1(300)-C of the functional component C into the component load model Fc corresponding to the functional component C. The average CPU utilization of the functional component A may be determined based on an output value of the component load model Fa corresponding to the functional component A. The average CPU utilization of the functional component B may be determined based on an output value of the component load model Fb corresponding to the functional component B. The average CPU utilization of the functional component C may be determined based on an output value of the component load model Fc corresponding to the functional component C.

[0114] For the cloud system resource set 2, the resource selection module 120 may input the concurrency f2(300)-A of the functional component A determined in the first step into the component load model Fa corresponding to the functional component A, and input the concurrency f2(300)-B of the functional component B into the component load model Fb corresponding to the functional component B. The average CPU utilization of the functional component A may be determined based on an output value of the component load model Fa corresponding to the functional component A. The average CPU utilization of the functional component B may be determined based on an output value of the component load model Fb corresponding to the functional component B.

[0115] For the cloud system resource set 3, the resource selection module 120 may input the concurrency f3(300)-A of the functional component A determined in the first step into the component load model Fa corresponding to the functional component A, input the concurrency f3(300)-B of the functional component B into the component load model Fb corresponding to the functional component B, input the concurrency f3(300)-C of the functional component C into the component load model Fc corresponding to the functional component C, and input the concurrency f4(300)-D of the functional component D into the component load model Fd corresponding to the functional component D. The average CPU utilization of the functional component A may be determined based on an output value of the component load model Fa corresponding to the functional component A. The average CPU utilization of the functional component B may be determined based on an output value of the component load model Fb corresponding to the functional component B. The average CPU utilization of the functional component C may be determined based on an output value of the component load model Fc corresponding to the functional component C. The average CPU utilization of the functional component D may be determined based on an output value of the component load model Fd corresponding to the functional component D.

[0116] Step 3: The resource selection module 120 selects a cloud system resource set, where average CPU utilization of each functional component in the cloud system resource set is greater than average CPU utilization that needs to be supported by the cloud system resource set, and the cloud system resource set is the target resource set.

[0117] The resource selection module 120 may alternatively select a cloud system resource set, where average CPU utilization of each functional component in the cloud system resource set is greater than the average CPU utilization that needs to be supported by the cloud system resource set, and the cloud system resource set is the target resource set.

[0118] If the cloud system resource set recommendation request further carries the rent range, the resource selection module 120 may further filter the target cloud system resource set that meets the rent range from the cloud system resource sets meeting the average CPU utilization of the cloud system resource set. Certainly, before performing the first step, the resource selection module 120 may also remove a cloud system resource set that does not meet the rent range, and perform the first step only for the cloud system resource set that meets the rent range.

[0119] Step 403: The sending module 130 feeds back the selected target cloud system resource set to the user.

[0120] For example, the sending module 130 may feed back the selected target cloud system resource set to the client 200. The client 200 receives the cloud system resource set fed back by the sending module 130, and may push the target cloud system resource set fed back by the sending module 130 to the user, so that the user can view the target cloud system resource set.

[0121] For another example, the sending module 130 may push the selected target cloud system resource set to the user by using the display of the computing device 10, so that the user can view the selected target cloud system resource set.

[0122] As shown in FIG. 8, the client 200 may list the cloud system resource sets fed back by the sending module 130 and present the cloud system resource sets to the user by using the display in the client 200 or the display in the computing device 10. The client 200 may arrange, in an ascending or descending order of prices, the target cloud system resource sets fed back by the sending module 130.

[0123] In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely an example. For example, the unit division is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.

[0124] The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected depending on actual requirements to achieve the objectives of the solutions in the embodiments.

[0125] The foregoing descriptions are merely specific implementations of the present invention. Any variation or replacement figured out by a person skilled in the art according to the specific implementations provided in the present invention shall fall within the protection scope of the present invention.


Claims

1. A cloud system resource set recommendation method, wherein the method comprises:

receiving a cloud system resource set recommendation request triggered by a user, wherein the cloud system resource set recommendation request is used to request to obtain cloud system resource sets that can support a target cloud service and meet a performance requirement, the target cloud service is provided in cooperation with at least one functional component, and each functional component implements a different function;

selecting, based on the cloud system resource set recommendation request from the existing cloud system resource sets supporting the target cloud service, a target cloud system resource set meeting the performance requirement, wherein the target cloud system resource set comprises the at least one functional component; and

feeding back the target cloud system resource set.


 
2. The method according to claim 1, wherein the performance requirement comprises a concurrency that the target cloud system resource set needs to support and one or more of the following:
average central processing unit CPU utilization that needs to be achieved by the target cloud system resource set, average memory utilization that needs to be achieved by the target cloud system resource set, an average disk read/write rate that needs to be achieved by the target cloud system resource set, average CPU utilization that needs to be achieved by any functional component in the target cloud system resource set, average memory utilization that needs to be achieved by any functional component in the target cloud system resource set, and an average disk read/write rate that needs to be achieved by any functional component in the target cloud system resource set.
 
3. The method according to claim 1 or 2, wherein the cloud system resource set recommendation request further comprises a rent range that needs to be met by the target cloud system resource set.
 
4. The method according to claim 1 or 2, wherein the selecting, from the existing cloud system resource sets supporting the target cloud service, a target cloud system resource set meeting the performance requirement comprises:

selecting, based on system load distribution models corresponding to the existing cloud system resource sets supporting the target cloud service and a component load model corresponding to the at least one functional component from the existing cloud system resource sets supporting the target cloud service, the target cloud system resource set meeting the performance requirement, wherein

a system load distribution model corresponding to each cloud system resource set is used to determine load of each functional component in the cloud system set based on load of the cloud system resource set, and a component load model corresponding to each functional component is used to determine performance data of the functional component based on the load of the functional component.


 
5. The method according to claim 4, wherein before the selecting, based on system load distribution models corresponding to the existing cloud system resource sets supporting the target cloud service and a component load model corresponding to the at least one functional component from the existing cloud system resource sets supporting the target cloud service, the target cloud system resource set meeting the performance requirement, the method further comprises:

collecting structure data and running data of the existing cloud system resource sets supporting the target cloud service, wherein structure data of any cloud system resource set supporting the target cloud service indicates composition of functional components in the cloud system resource set and a resource configuration of each functional component, and running data of any cloud system resource set supporting the target cloud service is used to indicate performance of the cloud system resource set in a running process and performance of each functional component in the cloud system resource set; and

generating, based on the structure data and the running data, the system load distribution models corresponding to the existing cloud system resource sets supporting the target cloud service and the component load model corresponding to the at least one functional component.


 
6. The method according to claim 5, wherein the generating, based on the structure data and the running data, the system load distribution models corresponding to the existing cloud system resource sets supporting the target cloud service and the component load model corresponding to the at least one functional component comprises:

integrating the structure data and the running data into training sets of a plurality of component load models and training sets of the plurality of system load distribution models;

generating, based on the training sets of the component load models, the component load model corresponding to the at least one functional component; and

generating, based on the training sets of the system load distribution models, the system load distribution models corresponding to the existing cloud system resource sets supporting the target cloud service.


 
7. A recommendation apparatus, wherein the recommendation apparatus comprises:

a receiving module, configured to receive a cloud system resource set recommendation request triggered by a user, wherein the cloud system resource set recommendation request is used to request to obtain cloud system resource sets that can support a target cloud service and meet a performance requirement, the target cloud service is provided in cooperation with at least one functional component, and each functional component implements a different function;

a resource selection module, configured to select, based on the cloud system resource set recommendation request from the existing cloud system resource sets supporting the target cloud service, a target cloud system resource set meeting the performance requirement, wherein the target cloud system resource set comprises the at least one functional component; and

a sending module, configured to feed back the target cloud system resource set.


 
8. The apparatus according to claim 7, wherein the performance requirement comprises a concurrency that the target cloud system resource set needs to support and one or more of the following:
average central processing unit CPU utilization that needs to be achieved by the target cloud system resource set, average memory utilization that needs to be achieved by the target cloud system resource set, an average disk read/write rate that needs to be achieved by the target cloud system resource set, average CPU utilization that needs to be achieved by any functional component in the target cloud system resource set, average memory utilization that needs to be achieved by any functional component in the target cloud system resource set, and an average disk read/write rate that needs to be achieved by any functional component in the target cloud system resource set.
 
9. The apparatus according to claim 7 or 8, wherein the cloud system resource set recommendation request further comprises a rent range that needs to be met by the target cloud system resource set.
 
10. The apparatus according to claim 7 or 8, wherein the recommendation apparatus further comprises system load distribution models corresponding to the existing cloud system resource sets supporting the target cloud service and a component load model corresponding to the at least one functional component, wherein

a system load distribution model corresponding to each cloud system resource set is used to determine load of each functional component in the cloud system set based on load of the cloud system resource set;

a component load model corresponding to each functional component is used to determine performance data of the functional component based on load of the functional component; and

when selecting, from the existing cloud system resource sets supporting the target cloud service, the target cloud system resource set meeting the performance requirement, the resource selection module is specifically configured to:
select, based on the system load distribution models corresponding to the existing cloud system resource sets supporting the target cloud service and the component load model corresponding to the at least one functional component from the existing cloud system resource sets supporting the target cloud service, the target cloud system resource set meeting the performance requirement.


 
11. The apparatus according to claim 10, wherein the recommendation apparatus further comprises a model training module, and the model training module is configured to:

collect structure data and running data of the existing cloud system resource sets supporting the target cloud service, wherein structure data of any cloud system resource set supporting the target cloud service indicates composition of functional components in the cloud system resource set and a resource configuration of each functional component, and running data of any cloud system resource set supporting the target cloud service is used to indicate performance of the cloud system resource set in a running process and performance of each functional component in the cloud system resource set; and

generate, based on the structure data and the running data, the system load distribution models corresponding to the existing cloud system resource sets supporting the target cloud service and the component load model corresponding to the at least one functional component.


 
12. The apparatus according to claim 11, wherein when generating, based on the structure data and the running data, the system load distribution models corresponding to the existing cloud system resource sets supporting the target cloud service and the component load model corresponding to the at least one functional component, the model training model is specifically configured to:

integrate the structure data and the running data into training sets of a plurality of component load models and training sets of the system load distribution models;

generate, based on the training sets of the component load models, the component load model corresponding to the at least one functional component; and

generate, based on the training sets of the system load distribution models, the system load distribution models corresponding to the existing cloud system resource sets supporting the target cloud service.


 
13. A computing device cluster, wherein the computing device cluster comprises at least one computing device, each computing device comprises a processor and a memory, and the memory in the at least one computing device is configured to store computer program instructions; and
the processor in the at least one computing device invokes the computer program instructions stored in the memory to perform the method according to any one of claims 1 to 6.
 
14. A non-transitory readable storage medium, wherein when the non-transitory readable storage medium is executed by a computing device, the computing device performs the method according to any one of claims 1 to 6.
 
15. A computer program product comprising instructions, wherein when the computer program product runs on a computer device, the computer is enabled to perform the method according to any one of claims 1 to 6.
 




Drawing































Search report