Container application computing power horizontal telescoping device and method in one-cloud multi-core cluster
By measuring container computing power and dynamically adjusting resource allocation in a multi-chip cloud cluster, the problem of uneven resource utilization caused by heterogeneous chip architecture is solved, and linear scaling and resource optimization of container applications are achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-01
- Publication Date
- 2026-03-13
AI Technical Summary
In a multi-chip cloud cluster, the difference in computing power caused by heterogeneous chip architecture leads to uneven performance improvement of containers, making it impossible to make full use of resources.
The main controller calculates the computing power of the container, monitors its operating status, and uploads the data metrics to the elastic scaling controller. Based on preset strategies, it adjusts the number of container application replicas and dynamically adjusts resource allocation.
It enables linear scaling of containers based on specified computing power and actual computing power requirements during elastic scaling, thereby improving resource utilization efficiency.
Smart Images

Figure CN121664802A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of power cloud computing technology, and more specifically, to a device and method for horizontal scaling of computing power for container applications in a multi-core cloud cluster. Background Technology
[0002] Currently, the independent and controllable digitalization of the power industry is mainly based on the localization of CPU technology. At present, multiple architectures (such as x86, ARM, etc.) coexist. Application systems such as power dispatching and substation monitoring will be developed and run on different architectures according to the needs of the scenario. This means that the power cloud computing platform running the application needs to support servers with different architectures at the same time.
[0003] "One cloud, multiple chips" refers to using a single cloud operating system to manage a cluster of hardware servers with different architectures. In this article, it specifically refers to servers within the same container cluster using different architectures (e.g., x86, ARM) and different models of CPU chips from multiple vendors (e.g., Intel, AMD, Phytium, Kunpeng, etc.). These servers have differences in computing power; even with the same number of cores, application computation will take different times to process on servers with different architectures. For a "one cloud, multiple chips" container cluster in a power cloud computing scenario, horizontal scaling only increases the number of container replicas without changing the resource configuration of the containers themselves. In a "one cloud, multiple chips" scenario, the different available computing power due to heterogeneous chip architectures leads to uneven and non-linear performance improvements for containers under workloads, making it impossible to fully utilize the resources of the entire heterogeneous container cluster. Summary of the Invention
[0004] To address the above problems, this invention proposes a horizontal scaling device for container application computing power in a multi-core cloud cluster, comprising:
[0005] The main controller is used to create the pod process. After the pod process is started, it calculates the corresponding computing power of each business container according to the model of each business container in the cloud multi-core cluster, monitors the running status of each business container in the cloud multi-core cluster, obtains monitoring data, and uploads the corresponding computing power and monitoring data as data indicators to the elastic scaling controller.
[0006] The elastic scaling controller is used to adjust the number of application replicas in a cloud multi-core cluster based on the data metrics and according to a preset horizontal scaling strategy.
[0007] Optionally, the main controller can use a general-purpose CPU computing power measurement tool to calculate the corresponding computing power of each business container based on the model of each business container in the multi-core cloud cluster.
[0008] Optionally, the computing power of each service container in the multi-core cloud cluster can be horizontally scaled to inject a control container into each service container in the multi-core cloud cluster during the deployment process.
[0009] Optionally, the main controller can monitor each service container in the cloud multi-core cluster in real time by controlling the container to obtain the monitoring data of each service container in the cloud multi-core cluster.
[0010] The monitoring data includes the actual usage of resources in the business container.
[0011] Optional, actual resource usage includes:
[0012] The actual CPU and memory usage of the business container.
[0013] Optionally, the number of application replicas in a multi-core cloud cluster can be adjusted according to a preset horizontal scaling strategy, including:
[0014] Based on the preset horizontal scaling strategy and data indicators, the system determines whether the main controller needs to adjust the replicas of the multi-core cloud cluster. If so, it increases or deletes the application replicas in the multi-core cloud cluster.
[0015] The process of increasing or deleting application replicas in a multi-core cloud cluster includes:
[0016] Adjust the CPU and memory of the business container to the actual required amount.
[0017] Optional, multi-core cloud clusters include:
[0018] x86 node clusters and AMR node clusters.
[0019] Furthermore, this invention also proposes a method for horizontal scaling of container application computing power in a multi-core cloud cluster, including:
[0020] The process of creating a pod through the main controller is followed by starting the pod process. Then, the corresponding computing power of each business container is calculated based on the model of each business container in the multi-core cloud cluster.
[0021] The main controller monitors the running status of each business container in the multi-core cloud cluster, obtains monitoring data, and uploads the corresponding computing power and monitoring data as data indicators to the elastic scaling controller.
[0022] Based on the data metrics, the number of application replicas in a cloud multi-core cluster is adjusted using the elastic scaling controller according to a preset horizontal scaling strategy.
[0023] In another aspect, the present invention also provides a computing device, comprising: one or more processors;
[0024] A processor is used to execute one or more programs;
[0025] When the one or more programs are executed by the one or more processors, the method described above is implemented.
[0026] In another aspect, the present invention also provides a computer-readable storage medium having a computer program stored thereon, which, when executed, implements the method described above.
[0027] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0028] This invention provides a horizontal scaling device for container application computing power in a multi-core cloud cluster, comprising: a main controller, used to create a pod process; after starting the pod process, calculating the corresponding computing power of each business container according to its model in the multi-core cloud cluster, monitoring the running status of each business container in the multi-core cloud cluster, acquiring monitoring data, and uploading the corresponding computing power and monitoring data as data indicators to an elastic scaling controller; and an elastic scaling controller, used to adjust the number of application replicas in the multi-core cloud cluster based on the data indicators and a preset horizontal scaling strategy. This invention achieves linear scaling of containers based on specified computing power and actual computing power requirements during elastic scaling by controlling the dynamic adjustment of the actual allocated resources of container applications. Attached Figure Description
[0029] Figure 1 This is a structural diagram of the device of the present invention;
[0030] Figure 2 This is a flowchart of the method of the present invention. Detailed Implementation
[0031] Exemplary embodiments of the invention will now be described with reference to the accompanying drawings. However, the invention may be embodied in many different forms and is not limited to the embodiments described herein. These embodiments are provided to fully and completely disclose the invention and to fully convey its scope to those skilled in the art. The terminology used in the exemplary embodiments illustrated in the drawings is not intended to limit the invention. In the drawings, the same units / elements are referred to by the same reference numerals.
[0032] Unless otherwise stated, the terms used herein (including technical terms) have their common meaning as understood by one of ordinary skill in the art. Furthermore, it is understood that terms defined in commonly used dictionaries should be understood to have a meaning consistent with the context of their relevant field, and not to be interpreted as having an idealized or overly formal meaning.
[0033] Example 1:
[0034] This invention proposes a horizontal scaling device for container application computing power in a multi-core cloud cluster, such as... Figure 1As shown, it includes:
[0035] The main controller is used to create the pod process. After the pod process is started, it calculates the corresponding computing power of each business container according to the model of each business container in the cloud multi-core cluster, monitors the running status of each business container in the cloud multi-core cluster, obtains monitoring data, and uploads the corresponding computing power and monitoring data as data indicators to the elastic scaling controller.
[0036] The elastic scaling controller is used to adjust the number of application replicas in a cloud multi-core cluster based on the data metrics and according to a preset horizontal scaling strategy.
[0037] The main controller uses a general-purpose CPU computing power calculation tool to calculate the corresponding computing power of each business container based on the model of each business container in the multi-core cloud cluster.
[0038] Among them, the computing power horizontal scaling device of each business container in the One Cloud Multi-Core Cluster injects control containers into each business container in the One Cloud Multi-Core Cluster during the deployment process.
[0039] The main controller monitors each service container in the multi-core cloud cluster in real time by controlling the container, so as to obtain the monitoring data of each service container in the multi-core cloud cluster.
[0040] The monitoring data includes the actual usage of resources in the business container.
[0041] The actual usage of resources includes:
[0042] The actual CPU and memory usage of the business container.
[0043] This includes adjusting the number of application replicas in a multi-core cloud cluster according to a preset horizontal scaling strategy, including:
[0044] Based on the preset horizontal scaling strategy and data indicators, the system determines whether the main controller needs to adjust the replicas of the multi-core cloud cluster. If so, it increases or deletes the application replicas in the multi-core cloud cluster.
[0045] The process of increasing or deleting application replicas in a multi-core cloud cluster includes:
[0046] Adjust the CPU and memory of the business container to the actual required amount.
[0047] Among them, the multi-core cluster of one cloud includes:
[0048] x86 node clusters and AMR node clusters.
[0049] The basic principles of this invention include the following:
[0050] (1) Based on the custom resource standard in the Kubernetes cluster, an elastic scaling resource adapted to multi-core cloud applications is defined. This resource defines the metrics and other information when expanding or shrinking multi-core cloud applications. For example, when the CPU utilization reaches 80%, the number of replicas increases, up to a maximum of 10 replicas.
[0051] (2) An elastic scaling controller for a cloud multi-core cluster application in a cloud multi-core cluster is defined. The controller polls the elastic scaling resources periodically and inspects the container groups under the cloud multi-core container application periodically according to the defined elastic scaling information to obtain corresponding performance data. Based on the available resources of cloud multi-core elastic scaling, the cloud multi-core application is subjected to linear elastic scaling based on computing power.
[0052] (3) A control container is defined, which is injected into the container under the one-cloud multi-core application in the mode of a sidecar container when the container starts. The control container mainly implements the following functions:
[0053] Monitor the running information of the entire pod, such as current CPU usage, memory usage, and real-time bandwidth of the pod, and record this information in the current container.
[0054] Interact with the elastic scaling controller and report various pod metrics;
[0055] When a pod is created, the CPU and memory of the pod are adjusted based on the computing power of the current node and the CPU and memory settings of the multi-core cloud application, according to the computing power standard.
[0056] Its specific implementation process includes:
[0057] (1) Based on the CPU chip specifications and model, the computing power of each node is measured by CPU computing power measurement standards (such as SPECCPU). The computing power of the node with the lowest computing power test value is set as 100, and the computing power data of the remaining nodes are written into the basic information of the node in proportion according to the architecture.
[0058] (2) The One-Cloud-Multi-Core Cluster Elastic Scaling Controller handles the entire lifecycle of the One-Cloud-Multi-Core application, such as creating the One-Cloud-Multi-Core application, modifying the One-Cloud-Multi-Core application parameter configuration, adjusting the number of replicas of the One-Cloud-Multi-Core application, and setting basic information for the One-Cloud-Multi-Core container group, such as CPU, memory, environment variables, startup commands, business images, etc.
[0059] (3) When creating a cloud multi-core cluster elastic scaling controller, a corresponding injection control device is set up. The purpose of this device is to inject control containers into the container group of the cloud multi-core container application when creating the cloud multi-core application.
[0060] (4) When the multi-core application container group of a cloud starts, the control container also starts. When the control container starts, it reads the specification computing power information of the node where the container is located, and dynamically adjusts the actual CPU quota used by the container group based on the application to set the CPU size and specification computing power ratio for the pod. After starting, the control container can read the actual usage of the pod's CPU, memory, etc. and report it to the elastic scaling controller at regular intervals.
[0061] (5) Users can set corresponding elastic scaling indicators for multi-core cloud applications by setting elastic scaling resources (mHpa) for multi-core cloud applications.
[0062] (6) The OneCloud Multi-Core Cluster Elastic Scaling Controller makes decisions on replica control based on the monitoring data and corresponding indicators reported by the control container, and notifies the controller to adjust the number of replicas (number of container groups) of the OneCloud Multi-Core application, increasing or decreasing the number of replicas (increasing the number of replicas means starting more pods, and decreasing the number of replicas means recycling pods).
[0063] (7) For newly launched cloud multi-core applications, the control container in the node group pod adjusts the CPU and memory size of the entire pod based on the standard computing power ratio, thus completing an elastic scaling process.
[0064] (8) Control the container to report monitoring data periodically, thereby performing periodic copy control.
[0065] The specific deployment process includes:
[0066] (1) When deploying k8s, standard computing power strategies are implemented for all nodes of the entire host through speccpu (a general CPU computing power measurement tool), and recorded in the form of labels on each node.
[0067] (2) When a user deploys a multi-core cloud application, the interceptor mechanism in Kubernetes identifies the creation of the multi-core cloud container group and injects a control container into the container group.
[0068] (3) The control container will periodically collect the actual usage of resources such as CPU in the entire container and report it to the OneCloud Multi-Core Cluster Elastic Scaling Controller.
[0069] (4) The One-Cloud-Multi-Core Cluster Elastic Scaling Controller determines whether the controller needs to increase or decrease the number of replicas for the One-Cloud-Multi-Core application based on the horizontal scaling strategy set by the user.
[0070] (5) The One-Cloud-Multi-Core Cluster Elastic Scaling Controller adjusts the One-Cloud-Multi-Core application replicas. The controller starts the pod creation process. When the pod starts, it adjusts the CPU and memory required by the container application by injecting the control container and according to the actual computing power of the current node.
[0071] This invention designs a horizontal elastic scaling controller for a multi-core container cluster within a cloud, defining a controller based on the specified computing power of the multi-core application. By injecting control containers into the container applications to collect and report the resource usage of the current container applications, the availability and reliability of the overall horizontal elastic scaling are improved. At the node level, based on the specified computing power, the actual allocated resources of the container applications are dynamically adjusted by controlling the containers, achieving linear scaling of containers based on specified computing power and actual computing power requirements during elastic scaling.
[0072] Example 2:
[0073] This invention also proposes a method S200 for horizontal scaling of container application computing power in a multi-core cloud cluster, such as... Figure 2 As shown, it includes:
[0074] S201 creates a pod process through the main controller. After starting the pod process, it calculates the corresponding computing power of each business container based on the model of each business container in the multi-core cloud cluster.
[0075] S202, the main controller monitors the running status of each business container in the cloud multi-core cluster, obtains monitoring data, and uploads the corresponding computing power and monitoring data as data indicators to the elastic scaling controller.
[0076] S203, using the elastic scaling controller, based on the data metrics, adjusts the number of application replicas in a cloud multi-core cluster according to a preset horizontal scaling strategy.
[0077] This invention achieves linear scaling of containers based on specified computing power and actual computing power requirements during elastic scaling by controlling the dynamic adjustment of the actual allocated resources of the container application.
[0078] Example 3:
[0079] Based on the same inventive concept, this invention also provides a computer device, which includes a processor and a memory. The memory stores a computer program, which includes program instructions. The processor executes the program instructions stored in the computer storage medium. The processor may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. It is the computing and control core of the terminal, suitable for implementing one or more instructions, specifically suitable for loading and executing one or more instructions in the computer storage medium to implement corresponding method flows or corresponding functions, thereby implementing the steps of the methods in the above embodiments.
[0080] Example 4:
[0081] Based on the same inventive concept, this invention also provides a storage medium, specifically a computer-readable storage medium (Memory), which is a memory device in a computer device used to store programs and data. It is understood that the computer-readable storage medium here can include both the built-in storage medium in the computer device and extended storage media supported by the computer device. The computer-readable storage medium provides storage space that stores the terminal's operating system. Furthermore, this storage space also stores one or more instructions suitable for loading and execution by a processor. These instructions can be one or more computer programs (including program code). It should be noted that the computer-readable storage medium here can be high-speed RAM or non-volatile memory, such as at least one disk storage device. The processor can load and execute one or more instructions stored in the computer-readable storage medium to implement the steps of the method in the above embodiments.
[0082] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code. The solutions in the embodiments of the present invention can be implemented using various computer languages, such as the object-oriented programming language Java and the interpreted scripting language JavaScript.
[0083] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0084] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0085] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0086] Although preferred embodiments of the invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including both the preferred embodiments and all changes and modifications falling within the scope of the invention.
[0087] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention also intends to include these modifications and variations.
Claims
1. A device for horizontal scaling of computing power for container applications in a multi-core cloud cluster, characterized in that, include: The main controller is used to create the pod process. After the pod process is started, it calculates the corresponding computing power of each business container according to the model of each business container in the cloud multi-core cluster, monitors the running status of each business container in the cloud multi-core cluster, obtains monitoring data, and uploads the corresponding computing power and monitoring data as data indicators to the elastic scaling controller. The elastic scaling controller is used to adjust the number of application replicas in a cloud multi-core cluster based on the data metrics and according to a preset horizontal scaling strategy.
2. The horizontal scaling device for container application computing power in a multi-core cloud cluster according to claim 1, characterized in that, The main controller uses a general-purpose CPU computing power measurement tool to calculate the corresponding computing power of each service container based on the model of each service container in the multi-core cloud cluster.
3. The horizontal scaling device for container application computing power in a multi-core cloud cluster according to claim 1, characterized in that, The application computing power horizontal scaling device of each service container in the multi-core cloud cluster injects control containers into each service container in the multi-core cloud cluster during the deployment process.
4. The horizontal scaling device for container application computing power in a multi-core cloud cluster according to claim 1, characterized in that, The main controller monitors each service container in the cloud multi-core cluster in real time by controlling the container, so as to obtain the monitoring data of each service container in the cloud multi-core cluster. The monitoring data includes the actual usage of resources in the business container.
5. The horizontal scaling device for container application computing power in a multi-core cloud cluster according to claim 4, characterized in that, The actual usage of the resources includes: The actual CPU and memory usage of the business container.
6. The horizontal scaling device for container application computing power in a multi-core cloud cluster according to claim 1, characterized in that, The step of adjusting the number of application replicas in a multi-core cloud cluster according to a preset horizontal scaling strategy includes: Based on the preset horizontal scaling strategy and data indicators, the system determines whether the main controller needs to adjust the replicas of the multi-core cloud cluster. If so, it increases or deletes the application replicas in the multi-core cloud cluster. The process of increasing or deleting application replicas in a multi-core cloud cluster includes: Adjust the CPU and memory of the business container to the actual required amount.
7. The horizontal scaling device for container application computing power in a multi-core cloud cluster according to claim 1, characterized in that, The cloud multi-core cluster includes: x86 node clusters and AMR node clusters.
8. A method for horizontal scaling of container application computing power in a cloud-multi-core cluster using any one of the horizontal scaling devices for container application computing power in a cloud-multi-core cluster as described in claims 1-7, characterized in that, include: The process of creating a pod through the main controller is followed by starting the pod process. Then, the corresponding computing power of each business container is calculated based on the model of each business container in the multi-core cloud cluster. The main controller monitors the running status of each business container in the multi-core cloud cluster, obtains monitoring data, and uploads the corresponding computing power and monitoring data as data indicators to the elastic scaling controller. Based on the data metrics, the number of application replicas in a cloud multi-core cluster is adjusted using the elastic scaling controller according to a preset horizontal scaling strategy.
9. A computer device, characterized in that, include: One or more processors; A processor is used to execute one or more programs; When the one or more programs are executed by the one or more processors, the method of claim 8 is implemented.
10. A computer-readable storage medium, characterized in that, It contains a computer program, which, when executed, implements the method as described in claim 8.