Resource management method and device applied to cloud service platform, equipment and medium

By filtering the target container collection with the same structure and predicting the resource usage based on its historical resource usage, the problem of insufficient resource allocation in the cloud service platform is solved, and more efficient resource management and utilization is achieved.

CN119938324APending Publication Date: 2025-05-06BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411998671.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-05-06

AI Technical Summary

Technical Problem

In cloud service platforms, it is difficult for the existing technology to accurately predict and allocate resource requirements for container collections, resulting in insufficient resource allocation and affecting the utilization rate of hardware resources.

Method used

By filtering out multiple target container sets with the same container number and container type, predict their resource usage based on the historical resource usage of these target container sets, and accurately allocate resources.

Benefits of technology

It improves the accuracy of resource allocation and the utilization rate of hardware resources, ensuring that the resource management of cloud service platforms is more efficient.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119938324A_ABST
    Figure CN119938324A_ABST
Patent Text Reader

Abstract

The invention provides a resource management method and device applied to a cloud service platform, equipment and a medium, and relates to the technical field of cloud computing and cloud service, in particular to the technical field of cloud resource management. According to the implementation scheme, a plurality of target container sets are determined from a plurality of container sets based on the number of containers and the types of the containers included in each container set in the plurality of container sets included in the cloud service platform, and the plurality of target container sets correspond to the same number of the containers and the same types of the containers; based on historical resource usage of target resources used by the plurality of target container sets, determining predicted resource usage for the plurality of target container sets, the target resources including at least one of a processor and a memory; and allocating target resources to the plurality of target container sets based on the predicted resource usage.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the fields of cloud computing and cloud service technologies, in particular to the fields of cloud resource management technologies, and specifically to a resource management method, device, electronic device, computer-readable storage medium, and computer program product applied to a cloud service platform. Background Art

[0002] Cloud computing refers to a technology system that provides network access to elastically scalable shared pools of physical or virtual resources. These resources can include servers, operating systems, networks, software, applications, and storage devices, and can be deployed and managed on an on-demand, self-service basis. Cloud computing technology provides efficient and powerful data processing capabilities for the application of technologies such as artificial intelligence and blockchain, as well as for model training.

[0003] Cloud service platforms can abstractly manage hardware resources such as processors and memory. Containers correspond to a virtualized, independent environment within the cloud service platform. One or more containers can be encapsulated into a container set, which can also include storage and network resources that can be shared by one or more of the containers. In a Kubernetes cluster, a container set (pod) is the smallest unit for cluster-deployed applications and services. It represents a process running in the cluster, and users can use container sets to deploy and manage complex application instances. When managing the physical resources corresponding to each container or container set, resource specifications can be declared based on the actual needs of the container or container set to allocate physical resources.

[0004] The approaches described in this section are not necessarily approaches that have been previously conceived or employed. Unless otherwise indicated, it should not be assumed that any approach described in this section is prior art simply by virtue of its inclusion in this section. Similarly, unless otherwise indicated, the issues raised in this section should not be considered as having been recognized in any prior art. Summary of the Invention

[0005] The present disclosure provides a resource management method, apparatus, electronic device, computer-readable storage medium, and computer program product applied to a cloud service platform.

[0006] According to one aspect of the present disclosure, a resource management method for a cloud service platform is provided, comprising: determining multiple target container sets from multiple container sets included in the cloud service platform based on the number and type of containers included in each container set, wherein the multiple target container sets correspond to the same number and type of containers; determining predicted resource usage for the multiple target container sets based on historical resource usage of target resources by the multiple target container sets, wherein the target resource includes at least one of a processor and a memory; and allocating the target resource to the multiple target container sets based on the predicted resource usage.

[0007] According to another aspect of the present disclosure, a resource management apparatus for a cloud service platform is provided, comprising: a first determining unit configured to determine, from a plurality of container sets included in the cloud service platform, a plurality of target container sets based on the number and type of containers included in each of the plurality of container sets, wherein the plurality of target container sets correspond to the same number and type of containers; a second determining unit configured to determine, based on historical resource usage of target resources by the plurality of target container sets, predicted resource usage for the plurality of target container sets, wherein the target resource includes at least one of a processor and a memory; and an allocating unit configured to allocate the target resource to the plurality of target container sets based on the predicted resource usage.

[0008] According to another aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the above-mentioned resource management method applied to the cloud service platform.

[0009] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the above-mentioned resource management method applied to the cloud service platform.

[0010] According to another aspect of the present disclosure, a computer program product is provided, including a computer program, wherein the computer program can implement the above-mentioned resource management method applied to the cloud service platform when executed by a processor.

[0011] According to one or more embodiments of the present disclosure, resource allocation of a cloud service platform can be optimized and resource utilization can be improved.

[0012] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] The accompanying drawings illustrate exemplary embodiments and constitute a part of the specification. Together with the description of the specification, they serve to explain exemplary implementation of the embodiments. The illustrated embodiments are for illustrative purposes only and do not limit the scope of the claims. Throughout the drawings, the same reference numerals designate similar, but not necessarily identical, elements.

[0014] Figure 1 A schematic diagram illustrating an exemplary system in which the various methods described herein may be implemented according to exemplary embodiments of the present disclosure;

[0015] Figure 2 A flow chart of a resource management method applied to a cloud service platform according to an exemplary embodiment of the present disclosure is shown;

[0016] Figure 3 A flow chart of a resource management method applied to a cloud service platform according to an exemplary embodiment of the present disclosure is shown;

[0017] Figure 4 A structural block diagram of a resource management device applied to a cloud service platform according to an exemplary embodiment of the present disclosure is shown;

[0018] Figure 5 A structural block diagram of an exemplary electronic device that can be used to implement the embodiments of the present disclosure is shown. DETAILED DESCRIPTION

[0019] The following description of exemplary embodiments of the present disclosure is made in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be appreciated by those skilled in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.

[0020] In this disclosure, unless otherwise specified, the use of terms such as "first" and "second" to describe various elements is not intended to limit the positional relationship, temporal relationship, or importance relationship of these elements. Such terms are only used to distinguish one element from another. In some examples, the first element and the second element may refer to the same instance of the element, while in some cases, based on the context of the description, they may also refer to different instances.

[0021] The terms used in the descriptions of the various examples described in this disclosure are for the purpose of describing specific examples only and are not intended to be limiting. Unless the context clearly indicates otherwise, if the number of elements is not specifically limited, the element may be one or more. In addition, the term "and / or" used in this disclosure encompasses any one and all possible combinations of the listed items.

[0022] The embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.

[0023] Figure 1 FIG2 is a schematic diagram of an exemplary system 100 in which the various methods and apparatuses described herein may be implemented according to an embodiment of the present disclosure. Figure 1 , the system 100 includes one or more client devices 101, 102, 103, 104, 105, and 106, a server 120, and one or more communication networks 110 coupling the one or more client devices to the server 120. The client devices 101, 102, 103, 104, 105, and 106 can be configured to execute one or more applications.

[0024] In an embodiment of the present disclosure, the server 120 may run one or more services or software applications that enable execution of a resource management method applied to a cloud service platform.

[0025] In some embodiments, server 120 may also provide other services or software applications, which may include non-virtualized environments and virtualized environments. In some embodiments, these services may be provided as web-based services or cloud services, such as provided to users of client devices 101, 102, 103, 104, 105, and / or 106 under a software as a service (SaaS) model.

[0026] exist Figure 1 In the configuration shown, the server 120 may include one or more components that implement the functions performed by the server 120. These components may include software components, hardware components, or a combination thereof that can be executed by one or more processors. Users operating client devices 101, 102, 103, 104, 105, and / or 106 may, in turn, utilize one or more client applications to interact with the server 120 to utilize the services provided by these components. It should be understood that a variety of different system configurations are possible, which may differ from the system 100. Therefore, Figure 1 is one example of a system for implementing the various methods described herein and is not intended to be limiting.

[0027] The user may use client devices 101, 102, 103, 104, 105 and / or 106 to send a service request. The client device may provide an interface that enables the user of the client device to interact with the client device. The client device may also output information to the user via the interface. Figure 1 Only six client devices are depicted, but one skilled in the art will appreciate that the present disclosure can support any number of client devices.

[0028] Client devices 101, 102, 103, 104, 105, and / or 106 may include various types of computer devices, such as portable handheld devices, general-purpose computers (such as personal computers and laptops), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, gaming systems, thin clients, various messaging devices, sensors or other sensing devices, etc. These computer devices may run various types and versions of software applications and operating systems, such as MICROSOFT Windows, APPLE iOS, UNIX-like operating systems, Linux, or Linux-like operating systems (such as GOOGLE Chrome OS); or include various mobile operating systems, such as MICROSOFT Windows Mobile OS, iOS, Windows Phone, and Android. Portable handheld devices may include cellular phones, smartphones, tablet computers, personal digital assistants (PDAs), etc. Wearable devices may include head-mounted displays (such as smart glasses) and other devices. Gaming systems may include various handheld gaming devices, internet-enabled gaming devices, etc. The client device is capable of executing various different applications, such as various Internet-related applications, communication applications (eg, email applications), Short Message Service (SMS) applications, and may use various communication protocols.

[0029] The network 110 may be any type of network known to those skilled in the art that can support data communications using any of a variety of available protocols, including but not limited to TCP / IP, SNA, IPX, etc. By way of example only, the one or more networks 110 may be a local area network (LAN), an Ethernet-based network, a token ring, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a blockchain network, a public switched telephone network (PSTN), an infrared network, a wireless network (e.g., Bluetooth, WIFI), and / or any combination of these and / or other networks.

[0030] Server 120 may include one or more general-purpose computers, specialized server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and / or combination. Server 120 may include one or more virtual machines running virtual operating systems, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that may be virtualized to maintain a server's virtual storage device). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.

[0031] The computing units in the server 120 may run one or more operating systems including any of the operating systems described above as well as any commercially available server operating systems. The server 120 may also run any of a variety of additional server applications and / or middle-tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, and the like.

[0032] In some implementations, server 120 may include one or more applications to analyze and consolidate data feeds and / or event updates received from users of client devices 101, 102, 103, 104, 105, and 106. Server 120 may also include one or more applications to display the data feeds and / or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105, and 106.

[0033] In some embodiments, server 120 may be a distributed system server or a server integrated with blockchain. Server 120 may also be a cloud server, or an intelligent cloud computing server or intelligent cloud host equipped with artificial intelligence technology. A cloud server is a host product within the cloud computing service system that addresses the management difficulties and poor scalability of traditional physical hosts and virtual private servers (VPS) services.

[0034] The system 100 may also include one or more databases 130. In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 130 may be used to store information such as audio files and video files. The databases 130 may reside in a variety of locations. For example, the database used by the server 120 may be local to the server 120, or may be remote from the server 120 and communicate with the server 120 via a network-based or dedicated connection. The databases 130 may be of different types. In some embodiments, the databases used by the server 120 may be, for example, relational databases. One or more of these databases may store, update, and retrieve data to and from the databases in response to commands.

[0035] In some embodiments, one or more of the databases 130 may also be used by applications to store application data. The databases used by the applications may be different types of databases, such as a key-value store, an object store, or a conventional store backed by a file system.

[0036] Figure 1 The system 100 may be configured and operated in various ways to enable application of the various methods and apparatuses described in accordance with the present disclosure.

[0037] In the cloud service platform, hardware resources such as processors and memories can be abstractly managed to obtain encapsulated containers and container sets including one or more containers. The container set can be used as the smallest unit for deploying applications and services in the cluster to run the workload of cloud service users (specifically, various types of applications and service instances). When managing the physical resources (such as processors and memories) corresponding to each container or container set, resource specifications can be declared according to the actual needs of the container or container set to achieve the allocation of physical resources. In related technologies, when it is necessary to configure the resource specifications of containers in a container set, the resource allocation information is usually determined based on the historical resource usage of the container set or the historical resource usage of other container sets managed by the workload to which the container set belongs. In this case, there is insufficient reference data for resource allocation, and it is difficult to provide accurate and reliable resource usage recommendation information.

[0038] Based on this, the present disclosure provides a resource management method applied to a cloud service platform, which screens out multiple target container sets corresponding to the same number of containers and container types in the cloud service platform, and refers to the historical resource usage of the multiple target container sets to more accurately determine the predicted resource usage, thereby more accurately allocating resources to the group of target container sets and improving the utilization of hardware resources.

[0039] Figure 2FIG. 2 shows a flow chart of a resource management method 200 applied to a cloud service platform according to an exemplary embodiment of the present disclosure. Figure 2 As shown, the method 200 includes:

[0040] Step S201: Based on the number of containers and container types included in each of the multiple container sets included in the cloud service platform, determine multiple target container sets from the multiple container sets, wherein the multiple target container sets correspond to the same number of containers and container types;

[0041] Step S202: Determine predicted resource usage for the multiple target container sets based on historical resource usage of target resources by the multiple target container sets, wherein the target resources include at least one of a processor and a memory; and

[0042] Step S203: Allocate the target resources to the multiple target container sets based on the predicted resource usage.

[0043] By applying the above-mentioned resource management method 200, multiple target container sets corresponding to the same number of containers and container types can be screened out in the cloud service platform, and the historical resource usage of multiple target container sets with the same structure can be used to provide more comprehensive and accurate reference data for the resource allocation of the container sets, thereby more accurately determining the predicted resource usage, thereby achieving more accurate resource allocation and improving the utilization of hardware resources.

[0044] In some examples, the resource management method 200 described above can be applied to a cloud service platform built on a Kubernetes cluster, where a container set can be a Pod in the Kubernetes cluster that includes one or more containers, i.e., the smallest unit that can be used to deploy an application or service instance. In this example, the container set encapsulates one or more containers, storage resources and network resources that can be shared by the containers, and container management policies, providing a shared operating environment for the containers so that the containers can work together and efficiently utilize resources in the cluster, thereby jointly forming a single instance of the application.

[0045] In some examples, when a cloud service user needs to deploy a containerized application in a Kubernetes cluster, the amount of target resources required for each container can be declared in the Pod specification. The target resources may include processors and memories. The processors may include various types such as CPU (Central Processing Unit) or GPU (Graphics Processing Unit), and the memories may include various types such as memory or external memory. In some examples, the declaration for container resources may include at least one of a resource request amount and a resource limit amount. The resource request amount defines the minimum amount of resources required for the normal operation of the container, and the resource limit amount defines the upper limit of the resources that the container can use. The Kubernetes cluster can schedule the Pod to the physical node where the target resources are deployed based on the container's resource declaration, so that the target resources used by each Pod in the physical node meet the resource declaration information.

[0046] In some examples, the specific classification method of container types can be formulated based on actual needs. For example, when the above method is applied to a Kubernetes cluster, container types may include standard containers, initialization containers, sidecar containers, etc. As long as the container type can be used to indicate the container's occupancy of hardware resources, this disclosure does not limit the classification method of container types.

[0047] According to some embodiments, each container set includes a set type tag that can indicate the number of containers and container types included in the container set. In step S201, determining multiple target container sets from the multiple container sets included in the cloud service platform based on the number of containers and container types included in each container set includes: determining the multiple target container sets by querying the set type tags of the multiple container sets. Thus, the set type tags can be used to simply and accurately indicate the number of containers and container types included in the container set, and further, by querying the set type tags, a group of target container sets with the same number of containers and container types can be conveniently and efficiently determined.

[0048] It should be understood that the aforementioned collection type tags can be implemented in various ways. For example, a string-type collection type tag can be manually added to each container set, or a collection type tag comprising a numerical value and a discretized tag can be generated based on the number and type of containers in each container set. This disclosure does not limit the specific definition of the collection type tag, as long as container sets with the same collection type tag correspond to the same number and type of containers.

[0049] In some examples, step S201 may also be implemented in other ways. For example, when the container set includes explicit container quantity information and container type information, multiple target container sets can be determined by querying and comparing the container quantity information and container type information of each container set, thereby preventing possible set type label errors from affecting the determination of the target container set.

[0050] According to some embodiments, the historical resource usage of the multiple target container sets is determined by: determining a historical resource usage query statement for container sets having the target set type tag based on the target container sets; and determining the historical resource usage of the multiple target container sets by executing the historical resource usage query statement. Thus, the query statement can be derived by combining the set type tag information, and executing the historical resource usage query statement can more conveniently query the historical resource usage of the target container sets.

[0051] According to some embodiments, determining the predicted resource usage for the multiple target container sets based on the historical resource usage of the target resources by the multiple target container sets in step S202 includes determining the predicted resource usage based on target percentile values ​​of the historical resource usage of the multiple target container sets. Thus, percentile values ​​can be used to more accurately determine the predicted resource usage, minimizing resource shortages in resources allocated to container sets or containers, while improving hardware resource utilization.

[0052] In some examples, the target percentile can be pre-determined based on actual needs, such as the P99 percentile or P95 percentile. When the target percentile is the P99 percentile, it indicates that 99% of the historical resource usage across multiple historical resource usages is no greater than the target percentile. This is used to determine the predicted resource usage and allocate target resources to the container set, minimizing resource shortages during container set operation and ensuring cloud service reliability.

[0053] According to some embodiments, determining the predicted resource usage based on the target percentile values ​​of the historical resource usage of the plurality of target container sets includes determining the predicted resource usage based on the target percentile value and at least one of a target resource redundancy coefficient and a target resource usage peak coefficient. By determining the predicted resource usage based on at least one of the target resource redundancy coefficient and the target resource usage peak coefficient, resource usage of the cloud platform can be more accurately controlled, improving cloud service reliability while controlling the utilization of cloud service resources.

[0054] In some examples, the predicted resource usage can be obtained by multiplying the target percentile value of the historical resource usage of multiple target container sets by the target resource redundancy coefficient. Alternatively, the predicted resource usage can be determined by dividing the target percentile value of the historical resource usage of the target container set by the target resource usage peak coefficient, so that the target resources allocated to the container set or container based on the predicted resource usage can have a certain redundancy, thereby avoiding resource shortage during the operation of the container set and ensuring the reliability of the cloud service.

[0055] According to some embodiments, method 200 further includes: reacquiring historical resource usage of the target resource by the multiple target container sets based on a target time interval; updating predicted resource usage for the multiple target container sets based on the reacquired historical resource usage of the multiple target container sets; and reallocating the target resource to the multiple target container sets based on the updated predicted resource usage. By updating the predicted resource usage based on a certain time interval, the predicted resource usage can be adapted to changes in resource usage of each container set, thereby obtaining a more accurate predicted resource usage, thereby achieving more accurate resource allocation and improving hardware resource utilization.

[0056] The following examples illustrate the application process of the resource management method provided by the present disclosure. Figure 3 A flowchart of a resource management method 300 applied to a cloud service platform according to an exemplary embodiment of the present disclosure is shown.

[0057] In this example, the resource management method 300 can be applied to a cloud service platform built on a Kubernetes cluster. In this case, the container set corresponds to a Pod in Kubernetes that includes one or more containers. Figure 3 As shown, the resource management method 300 may include the following steps:

[0058] Step S301: Configure label information (collection type label) for the Pod metadata. In this step, label information can be set to ensure that Pods with the same label (collection type label) can correspond to the same number and type of containers.

[0059] In some examples, the above step S301 can be executed immediately after each Pod is created in the Kubernetes cluster. In this case, label information can be pre-configured and stored for the metadata of each Pod, and then the metadata of the Pod can be directly collected when the Pod's label information needs to be applied for resource management.

[0060] Step S302: Use the cluster monitoring component to collect Pod label information. For example, you can modify the startup parameters of the kube-state-metrics component to read and export label information, and configure the collection of label indicators in the collection rules.

[0061] Step S303: Receive user-configured rules for determining predicted resource usage for homogeneous Pods (i.e., Pods with the same number and type of containers). In this step, the user configures the NameSpace (i.e., the isolation partition within the cluster that enables virtual resource isolation) where the Pod resides to indicate the specific information of the target Pod to be screened.

[0062] Step S304: Filter the Pods in the user-specified NameSpace based on the label information, and determine the container filtering result based on the number and name information of the containers contained in the filtered target Pods.

[0063] Step S305: Generate a historical resource usage query statement based on the container screening result, and obtain the historical resource usage of each container in the target Pod by configuring query parameters in the historical resource usage query statement and running it.

[0064] Step S306: Determine the predicted resource usage for the group of target Pods based on the historical resource usage.

[0065] As mentioned above, after determining the predicted resource usage for the group of target Pods, the container specifications (resource declaration) information of the group of Pods can be determined based on this. For example, the predicted resource usage can be recommended to cloud service users so that cloud service users can determine the container specifications based on the recommended predicted resource usage, thereby achieving more accurate physical resource allocation and improving resource utilization.

[0066] According to one aspect of the present disclosure, there is also provided a resource management device applied to a cloud service platform, Figure 4 FIG. 4 shows a structural block diagram of a resource management device 400 applied to a cloud service platform according to an exemplary embodiment of the present disclosure. Figure 4 As shown, the resource management device 400 includes:

[0067] A first determining unit 401 is configured to determine a plurality of target container sets from a plurality of container sets included in the cloud service platform based on the number of containers and the container type included in each container set, wherein the plurality of target container sets correspond to the same number of containers and container type;

[0068] A second determining unit 402 is configured to determine predicted resource usage for the multiple target container sets based on historical resource usage of target resources by the multiple target container sets, wherein the target resources include at least one of a processor and a memory; and

[0069] The allocating unit 403 is configured to allocate the target resources to the multiple target container sets based on the predicted resource usage.

[0070] According to some embodiments, the second determining unit 402 includes: a first determining subunit configured to determine the predicted resource usage based on target percentile values ​​of historical resource usages of the plurality of target container sets.

[0071] According to some embodiments, the first determining subunit is configured to determine the predicted resource usage based on the target percentile value and at least one of a target resource redundancy coefficient and a target resource usage peak coefficient.

[0072] According to some embodiments, each container set includes a set type tag that can indicate the number and type of containers included in the container set. The first determining unit 401 includes: a second determining subunit configured to determine the multiple target container sets by querying the set type tags of the multiple container sets.

[0073] According to some embodiments, the historical resource usage of the multiple target container sets is determined using a third determination unit, and the third determination unit includes: a third determination subunit, configured to determine a historical resource usage query statement for a container set with the target set type tag based on the target set type tags of the multiple target container sets; and a query subunit, configured to determine the historical resource usage of the multiple target container sets by running the historical resource usage query statement.

[0074] According to some embodiments, the resource management device 400 further includes: an acquisition unit configured to re-acquire historical resource usage of the target resources used by the multiple target container sets based on a target time interval, wherein the second determination unit 402 is further configured to update the predicted resource usage for the multiple target container sets based on the re-acquired historical resource usage of the multiple target container sets, and the allocation unit 403 is further configured to re-allocate the target resources to the multiple target container sets based on the updated predicted resource usage.

[0075] In the technical solutions disclosed herein, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0076] According to another aspect of the present disclosure, an electronic device is also provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned resource management method applied to the cloud service platform.

[0077] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is further provided, wherein the computer instructions are used to enable the computer to execute the above-mentioned resource management method applied to the cloud service platform.

[0078] According to another aspect of the present disclosure, a computer program product is further provided, including a computer program, wherein when the computer program is executed by a processor, the computer program implements the above-mentioned resource management method applied to the cloud service platform.

[0079] refer to Figure 5 , a block diagram of an electronic device 500 that can serve as a server or client of the present disclosure will now be described, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.

[0080] like Figure 5 As shown, the device 500 includes a computing unit 501, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 502 or a computer program loaded from a storage unit 508 into a random access memory (RAM) 503. Various programs and data required for the operation of the device 500 can also be stored in the RAM 503. The computing unit 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.

[0081] Multiple components within device 500 are connected to I / O interface 505, including an input unit 506, an output unit 507, a storage unit 508, and a communication unit 509. Input unit 506 can be any device capable of inputting information into device 500. Input unit 506 can receive input numeric or character information and generate key signal input related to user settings and / or function control of the electronic device. It may include, but is not limited to, a mouse, keyboard, touch screen, trackpad, trackball, joystick, microphone, and / or remote control. Output unit 507 can be any device capable of presenting information and may include, but is not limited to, a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. Storage unit 508 may include, but is not limited to, a magnetic disk or an optical disk. Communication unit 509 allows device 500 to exchange information / data with other devices via computer networks such as the Internet and / or various telecommunication networks. It may include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication transceiver and / or chipset, such as a Bluetooth™ device, an 802.11 device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.

[0082] The computing unit 501 can be a variety of general-purpose and / or specialized processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 501 performs the various methods and processes described above, such as the resource management method applied to the cloud service platform. For example, in some embodiments, the resource management method applied to the cloud service platform can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as the storage unit 508. In some embodiments, part or all of the computer program can be loaded and / or installed on the device 500 via the ROM 502 and / or the communication unit 509. When the computer program is loaded into the RAM 503 and executed by the computing unit 501, one or more steps of the resource management method applied to the cloud service platform described above can be performed. Alternatively, in other embodiments, the computing unit 501 may be configured to execute the resource management method applied to the cloud service platform in any other appropriate manner (for example, by means of firmware).

[0083] Various embodiments of the systems and techniques described above can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0084] The program code for implementing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device so that when the program code is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0085] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0086] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0087] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), the Internet, and a blockchain network.

[0088] A computer system may include a client and a server. The client and server are generally remote from each other and typically interact through a communication network. The client-server relationship arises through computer programs running on the respective computers and having a client-server relationship with each other. The server may be a cloud server, a server in a distributed system, or a server integrated with a blockchain.

[0089] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved. This is not limited herein.

[0090] Although the embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the above-mentioned methods, systems and devices are merely exemplary embodiments or examples, and the scope of the present invention is not limited by these embodiments or examples, but is only limited by the claims after authorization and their equivalents. Various elements in the embodiments or examples can be omitted or replaced by their equivalents. In addition, the steps can be performed in an order different from that described in this disclosure. Further, the various elements in the embodiments or examples can be combined in various ways. It is important that as technology evolves, many of the elements described here can be replaced by equivalent elements that appear after this disclosure.

Claims

1. A resource management method applied to a cloud service platform, comprising: Based on the number of containers and the type of containers included in each of the multiple container sets included in the cloud service platform, determine multiple target container sets from the multiple container sets, wherein the multiple target container sets correspond to the same number of containers and the same type of containers; Determining predicted resource usage for the plurality of target container sets based on historical resource usage of a target resource used by the plurality of target container sets, wherein the target resource includes at least one of a processor and a memory; and Based on the predicted resource usage, the target resource is allocated to the plurality of target container sets.

2. The method of claim 1, wherein: The determining, based on the historical resource usage of the target resource used by the multiple target container sets, predicted resource usage for the multiple target container sets includes: The predicted resource usage is determined based on target percentile values ​​of historical resource usage of the plurality of target container sets.

3. The method of claim 2, wherein: The determining the predicted resource usage based on the target percentile values ​​of the historical resource usage of the plurality of target container sets comprises: The predicted resource usage is determined based on the target percentile value and at least one of a target resource redundancy factor and a target resource usage peak factor.

4. The method according to any one of claims 1 to 3, wherein: Each container set includes a set type tag capable of indicating the number of containers and the type of containers included in the container set, and determining multiple target container sets from the multiple container sets based on the number of containers and the type of containers included in each container set in the multiple container sets included in the cloud service platform includes: The multiple target container sets are determined by querying the set type tags of the multiple container sets.

5. The method of claim 4, wherein: The historical resource usage of the multiple target container sets is determined in the following manner: Based on the target set type tags of the multiple target container sets, determining a historical resource usage query statement for the container set having the target set type tag; and The historical resource usage of the plurality of target container sets is determined by running the historical resource usage query statement.

6. The method according to any one of claims 1 to 5, further comprising: Based on the target time interval, re-obtain historical resource usage of the target resource used by the multiple target container sets; Based on the re-acquired historical resource usages of the multiple target container sets, updating the predicted resource usages for the multiple target container sets; as well as Based on the updated predicted resource usage, the target resources are reallocated to the multiple target container sets.

7. A resource management device applied to a cloud service platform, comprising: A first determining unit is configured to determine a plurality of target container sets from the plurality of container sets included in the cloud service platform based on the number of containers and the type of containers included in each container set, wherein the plurality of target container sets correspond to the same number of containers and the same type of containers; A second determining unit is configured to determine predicted resource usage for the multiple target container sets based on historical resource usage of target resources used by the multiple target container sets, wherein the target resource includes at least one of a processor and a memory; and An allocating unit is configured to allocate the target resource to the plurality of target container sets based on the predicted resource usage.

8. The device according to claim 7, wherein: The second determining unit includes: The first determining subunit is configured to determine the predicted resource usage based on target percentile values ​​of historical resource usages of the plurality of target container sets.

9. The device of claim 8, wherein: The first determining subunit is configured as follows: The predicted resource usage is determined based on the target percentile value and at least one of a target resource redundancy factor and a target resource usage peak factor.

10. The device according to any one of claims 7 to 9, wherein: Each container set includes a set type tag capable of indicating the number of containers and container types included in the container set, and the first determining unit includes: The second determining subunit is configured to determine the multiple target container sets by querying the set type tags of the multiple container sets.

11. The device of claim 10, wherein: The historical resource usage of the plurality of target container sets is determined by a third determining unit, and the third determining unit includes: A third determining subunit is configured to determine, based on the target set type tags of the multiple target container sets, a historical resource usage query statement for the container set having the target set type tag; and The query subunit is configured to determine the historical resource usage of the plurality of target container sets by running the historical resource usage query statement.

12. The apparatus according to any one of claims 7 to 11, further comprising: an acquisition unit configured to reacquire historical resource usage of the target resource used by the plurality of target container sets based on a target time interval, The second determining unit is further configured to update the predicted resource usage for the multiple target container sets based on the re-acquired historical resource usage of the multiple target container sets, The allocation unit is further configured to reallocate the target resources to the plurality of target container sets based on the updated predicted resource usage.

13. An electronic device comprising: at least one processor; as well as a memory communicatively coupled to the at least one processor; in The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 6.

14. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to make a computer execute the method according to any one of claims 1-6.

15. A computer program product comprising a computer program, wherein: The computer program implements the method according to any one of claims 1 to 6 when executed by a processor.