Container service multi-dimensional flexible management system and method
Through the multi-dimensional elastic management system of container services, the use of modules such as engine units and task distribution units to calculate and adjust container capacity according to elastic rules, solving the problem that cloud container suppliers find it difficult to dynamically adjust container capacity, and achieving efficient resource utilization and cost reduce.
Patent Information
- Application Number
- CN202310851186.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-12
- Publication Date
- 2025-01-14
AI Technical Summary
Cloud container suppliers find it difficult to dynamically adjust the capacity of containers based on business traffic, resulting in low resource utilization efficiency and increased costs.
A multi-dimensional elastic management system for container services is designed, including engine unit, task distribution unit, capacity estimation unit and execution unit. The capacity of containers is calculated and adjusted through elastic rules, and supports multi-dimensional clusters, services, instances and containers. Elastic telescopic.
It realizes efficient utilization of container resources, reduces costs, supports dynamic adjustment of the capacity of container clusters, and improves service scalability and stability.
Smart Images

Figure CN119311366A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of cloud containers, and in particular to a multi-dimensional elastic management system, method, electronic equipment, medium, and program product for container services. Background Art
[0002] For cloud container providers, the most cost-effective approach is to maximize the use of host resources to provide more service capabilities to business parties.
[0003] The business traffic of the business side is not static, so the business side's demand for containers also changes. Therefore, cloud container providers need to adjust the capacity of the containers provided to the business in a timely manner according to the business traffic. Summary of the invention
[0004] In order to solve the above-mentioned defects and further improve the expansion and contraction effect of cloud containers, the present invention proposes a multi-dimensional elastic management system, method, electronic device, medium, and program product for container services.
[0005] The present invention first proposes a multi-dimensional elastic management system for container services, including:
[0006] An engine unit, including a plurality of execution engines, for obtaining required indicators and calculating elastic operations required for a target service according to different elasticity rules, wherein the elasticity rules are used to indicate boundary values of container indicators;
[0007] A task distribution unit distributes the elastic rule to a corresponding execution engine according to the category of the elastic rule to perform calculation and adjust the capacity of the container;
[0008] A capacity estimation unit, which estimates the capacity demand of the target service according to the elasticity rules, the history records of elasticity adjustment, and the estimated indicator values, so as to adjust computing resources in advance;
[0009] The execution unit is used to implement elastic adjustment of the container.
[0010] The above method also includes: an indicator aggregation unit, which is used to connect to an external indicator providing system to provide the engine unit with indicator information of the target service and target container. The indicators collected by the indicator aggregation unit include: basic indicators of containers, system monitoring indicators, user-defined indicators and application portraits.
[0011] In the above method, the execution engine includes: a recommendation engine, a timing engine and a system indicator engine.
[0012] In the above method, the task distribution unit further interacts with the elastic rule storage device to obtain the elastic rule.
[0013] In the above method, the elastic rule storage device is arranged outside the management system and is used to store the elastic rules set by the user.
[0014] Based on the same inventive concept, the present invention also provides a multi-dimensional elastic management method for container services, including:
[0015] Get elastic rules: Get all elastic rules set by the user according to the instructions;
[0016] Distribute the elasticity rules to each execution engine, traverse the elasticity rules, and distribute them to corresponding execution engines according to the types of the elasticity rules to perform calculations and adjust the capacity of the container;
[0017] Query the indicator data corresponding to the elastic rule, the execution engine querying the current value or historical value of the target indicator according to the target indicator recorded in the elastic rule;
[0018] The available capacity is calculated from multiple dimensions respectively and a capacity plan is comprehensively decided. The execution engine calculates the target capacity under the target dimension according to the current value, the historical value and the preset calculation rules;
[0019] The target capacity is executed under the corresponding dimension.
[0020] In the above method, the instructions include event notification and timed query plan.
[0021] In the above method, the available capacity is calculated from multiple dimensions respectively, and the capacity plan is comprehensively decided, including:
[0022] Reading and filtering the elasticity rules, wherein the filtering refers to filtering the elasticity rules according to the predictability of the elasticity rules;
[0023] Query the elastic adjustment history of the target service;
[0024] Querying the recommended capacity value of the target service under the target dimension;
[0025] The historical records, the recommended capacity values, and the filtered elasticity rules are integrated to calculate the estimated capacity in the cluster dimension to determine whether the computing resources need to be expanded or reduced in advance.
[0026] Based on the same inventive concept, the present invention also provides an electronic device, including:
[0027] at least one memory for storing computer instructions;
[0028] At least one processor implements the above method when the at least one processor executes the computer instructions.
[0029] Based on the same inventive concept, the present invention also provides a computer-readable storage medium, in which at least one computer instruction is stored. The at least one instruction is loaded and executed by a processor to implement the above method.
[0030] Based on the same inventive concept, the present invention also provides a computer program product, which includes a computer program / instructions. When the computer program / instructions are executed by a processor, the above method is implemented.
[0031] Compared with the prior art, the engine unit of the present application includes multiple execution engines that can support a variety of elasticity strategies. The task distribution unit mobilizes different execution engines according to different elasticity rules to calculate and execute expansion and contraction tasks, making the management logic of the management system clear. The capacity estimation unit evaluates the capacity requirements of the target service and can pre-plan resource allocation, thereby efficiently using system hardware resources. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Figure 1 An application environment diagram proposed according to some embodiments of the present application is shown;
[0033] Figure 2 A system block diagram of a container service multi-dimensional elastic management system proposed according to some embodiments of the present application is shown;
[0034] Figure 3 A flowchart of a multi-dimensional elastic management method for container services proposed according to some embodiments of the present application is shown;
[0035] Figure 4 Shows Figure 3 Detailed flow chart of step S34;
[0036] Figure 5 A hardware structure diagram of an electronic device proposed according to some embodiments of the present application is shown. DETAILED DESCRIPTION
[0037] The following specific embodiments illustrate the implementation of the present invention, and those skilled in the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. Although the description of the present invention will be introduced in conjunction with the preferred embodiment, this does not mean that the features of this invention are limited to this implementation. On the contrary, the purpose of introducing the invention in conjunction with the implementation is to cover other options or modifications that may extend based on the claims of the present invention. In order to provide a deep understanding of the present invention, the following description will include many specific details. The present invention can also be implemented without using these details. In addition, in order to avoid confusion or blurring the focus of the present invention, some specific details will be omitted in the description. It should be noted that the embodiments of the present invention and the features in the embodiments can be combined with each other without conflict.
[0038] In order to make the objectives, technical solutions and advantages of the present invention more clear, the embodiments of the present invention will be further described in detail below with reference to the accompanying drawings.
[0039] Figure 1 An application environment diagram proposed according to some embodiments of the present application is shown.
[0040] In the figure, user terminals 10a and 10b can be desktop terminals or mobile terminals, and mobile terminals can be, but are not limited to, various personal computers, laptops, smart phones, tablet computers, portable wearable devices, etc. User terminals 10a and 10b can also be installed with applications that can access remote services, such as browsers or clients. The applications involved in the various embodiments of the present application can be software clients, or clients such as web pages and applets. If the application is a client such as a web page or applet, the backend server is a backend server corresponding to the software or web page, applet, etc., without limiting the specific type of the client.
[0041] Service 20 is a service provided by the application provider to user terminals 10a and 10b. The user terminals 10a and 10b are installed with the client of the application. Depending on the number of online user terminals and the number of requests made by the user terminals, the number of services that service 20 needs to provide to the user terminals also changes. Most typically, user demand is tidal, that is, there are fewer online users during the day (working hours) and more online users at night (non-working hours). Then service 20 provides fewer services during the day, and needs to provide more services at night.
[0042] When an application provider purchases cloud container services from a cloud container provider, the services provided by the application provider to end users can be run in the form of instance copies. Usually, an instance copy can be composed of one or more containers, and a service can be run by multiple instance copies at the same time. When the number of online user terminals is small, service 20 can run fewer instance copies (reduce traffic demand), such as running only instance copy 30a, and when the number of online user terminals is large, more instance copies can be run (increase traffic demand), such as running instance copies 30b and 30c. Figure 1 In the environment shown, service 20 can run at most instance copies 30a~30c. The purpose of the present invention is to propose a method that can automatically expand or reduce the capacity of a container cluster (i.e., an automatic expansion and contraction method). The capacity of a container cluster includes horizontal capacity and vertical capacity. Horizontal capacity refers to the number of containers in a container cluster. Affected by the hardware resources in the cluster, the maximum horizontal capacity of a container cluster is limited, that is, the number of containers that can be run in a cluster is limited. Vertical capacity refers to the amount of hardware resources occupied by a single container. When a container is enabled, the number of CPUs and the size of the memory that the container can use are usually specified. If the number of CPUs and / or the size of the memory of the container is changed, it can be considered that the capacity has been adjusted vertically (or the vertical capacity has been adjusted).
[0043] Hosts 50a and 50b can be servers, which are hardware resources that support container operation. Hosts 50a and 50b can be independent physical servers. A host can support multiple containers. The collection of containers on the same host is a container group. Each container in the container group shares life cycle, resources, local network and storage volume. When adjusting the capacity of the container cluster, you can delete or create a container in a container group, or you can cross the previous container across hosts.
[0044] The container service multi-dimensional elastic management system 40 is a system that automatically adjusts the capacity of the container group based on the hardware resources of the host and the traffic demand of the service 20. The elastic scaling (Auto Scaling) capability is an important cornerstone for a service to achieve scalability, stability, and high availability. In a containerized environment, the deployment of services is "static", and usually a container cluster is selected for deployment at the time of deployment, such as setting how many instance copies are required, and each instance copy or container needs to apply for various resources (mainly including the number of CPUs and memory size) specifications. However, the user environment that the service 20 actually faces is "dynamic", some services are tidal, some need to face burst traffic, and some will face load changes of a single instance. Therefore, the container service multi-dimensional elastic management system 40 can support the ability of containerized services to elastically scale in all dimensions, including cluster dimensions, service levels, instance dimensions, and container dimensions. In addition, the container service multi-dimensional elastic management system 40 can also dynamically and quickly allocate the underlying computing resources, that is, the hosts 50a and 50b according to actual needs.
[0045] Figure 2 A system block diagram of a multi-dimensional elastic management system for container services proposed according to some embodiments of the present application is shown, including an engine unit 42, a task distribution unit 41, a capacity estimation unit 43, an execution unit 44, and an indicator aggregation unit 45.
[0046] The engine unit 42 includes multiple execution engines, which are used to obtain the required indicators according to different elastic rules (i.e., elastic scaling rules, used to indicate whether the container needs to be expanded or reduced), and calculate the elastic operations that the target service needs to perform, wherein the elastic rules are used to indicate the boundary values of the container indicators. The engine unit 42 is the core of the multi-dimensional elastic management system of the present application, which determines in which dimension to expand or reduce capacity, and whether to expand or reduce capacity. No matter how many dimensions of rules a service is configured with, the engine unit 42 can perform unified calculations based on all the rule configurations of the service to give the final result (in which dimension to expand or reduce capacity, and whether to expand or reduce capacity), instead of using multiple separate systems to calculate the results of each rule separately, which will cause the rules to affect each other.
[0047] According to different functions, the execution engine includes: cluster dimension service elastic scaling engine, recommendation engine, system indicator engine, custom indicator engine, timing engine and elastic engine based on idle resources. Various engines can be configured according to the elastic scaling rules of the service, and based on the changes in indicators, the arrival of timing events, algorithm predictions, etc., the execution service can regulate the replicas or modify the computing resource application amount in the cluster dimension, instance dimension, and container dimension.
[0048] Specifically, the cluster-dimensional service elastic scaling engine can monitor the indicators of the entire service in the cluster and implement elastic scaling at the service granularity. For example, capacity expansion can be manifested as "copying" a service in another cluster.
[0049] The recommendation engine can combine the historical indicators or current indicators of the service to give a recommended value for the number of service instances or the amount of container computing resources requested, that is, it can recommend appropriate indicators to the service 20 based on its historical performance.
[0050] The system indicator engine can perform capacity calculation and elastic scaling based on conventional indicators such as the number of CPU cores and memory size.
[0051] The custom indicator engine supports capacity calculation and elastic scaling based on user-defined indicators, such as message backlog, service response delay, qps and other parameters.
[0052] The timing engine can perform scheduled elastic scaling operations.
[0053] The elastic engine based on idle resources can formulate capacity plans and elastic scaling of services according to the current level of overall idle computing resources. For example, service 20 currently has 10 idle cores, and 8 cores can be released to other services that need CPU resources. Then the elastic engine based on idle resources can add 8 containers for other services to increase the traffic level of other services.
[0054] The task distribution unit 41 distributes the elastic rule to the corresponding execution engine according to the category of the elastic rule to perform calculation and adjust the capacity of the container. In addition, the task distribution unit 41 also interacts with the elastic rule storage device 60 to obtain the elastic rule, and then can create or update the elastic rule.
[0055] The elastic rule storage device 60 is set outside the management system and is used to store the elastic rules set by the user. For example, the elastic rule storage device can be a cloud storage device, which is a storage independent of the physical host (such as host 50a and 50b), so that the storage of rules has no capacity limit and the capacity can be expanded more freely. Compared with the prior art solution of storing elastic rules in the host, more elastic rules can be stored.
[0056] The elastic rule storage device 60 may include an elastic scaling rule configuration module, and the user can configure elastic scaling rules for multiple service indicators for the target service. The rule is used to tell the management system which indicators or events the current target service pays attention to, and trigger elastic operations of the corresponding dimensions when the indicator reaches a certain threshold or an event arrives. For example, according to the elastic rule configured by the user, the CPU usage rate of service A cannot exceed 50% of the CPU processing capacity, then the management system needs to monitor this indicator, and when the CPU usage rate exceeds 50%, the number of containers is expanded.
[0057] Specifically, elastic scaling rules can be specified in multiple dimensions, including cluster dimensions, strength level, and container dimensions, so that container expansion and contraction can be implemented more flexibly.
[0058] In the cluster dimension, elasticity rules of the cluster dimension can be set. The expected "service redundancy" can be configured based on the target indicators (such as service RT, availability, etc.). Then, according to the predetermined algorithm, when the service delay reaches a certain threshold or the availability decreases, the system will expand or shrink the service in the cluster dimension to improve the redundancy and availability of the service cluster dimension. For example, you can set the elasticity rule to indicate that the "cluster redundancy" of the service is 3, and the system will ensure that the service has a minimum number of specified replicas in more than 3 clusters.
[0059] Setting elastic rules in the instance dimension is somewhat similar to the common HPA (Horizontal Pod Autoscaling), which mainly involves horizontal expansion and contraction of the number of instances when the target indicators (such as cpu, memory usage, qps, etc.) of the existing instances of the service reach a certain threshold. For example, the following elastic rule can be set: when the memory usage of an instance copy is less than 30%, the instance copy is deleted, that is, the capacity is contracted.
[0060] Setting elastic rules in the container dimension is somewhat similar to the common VPA (Vertical Pod Autoscaler, vertical instance elastic expansion and contraction). According to some indicators of each container in the target instance (such as CPU, memory usage, etc.), reasonable recommended values are given to perform container-dimensional computing resource specification adjustments. For example, the following elastic rule can be set: when the memory usage of an instance copy is higher than 80%, increase the size of the memory that the instance copy (container) can use.
[0061] The capacity estimation unit 43 estimates the capacity demand of the target service according to the elasticity rule, the history record of elasticity adjustment, and the index estimation value, so as to adjust the computing resources in advance.
[0062] The elastic scaling of services in any dimension cannot be separated from the dynamic adjustment of the computing resources (i.e., hardware resources) used by them, so the entire system needs to manage the capacity used and available by the services globally. The capacity estimation unit 43 can estimate the total computing resources of all hosts and the changing trend of the computing resources of each cluster, and then the elastic engine based on idle resources mentioned above can apply for, recycle, and balance computing resources in advance.
[0063] The execution unit 44 is used to implement elastic adjustment of the container.
[0064] The indicator aggregation unit 45 is used to connect to an external indicator providing system and provide the indicator information of the target service and the target container to the engine unit 42. The indicator aggregation unit 45 can also query relevant indicators from each cluster for aggregation according to each cluster where the target service is located.
[0065] Among them, the indicators collected by the indicator aggregation unit 45 include: basic indicators of the container (such as cpu, memory, io, load, etc.), system monitoring indicators, user-defined indicators (such as message backlog, response time, qps access rate per second, etc.) and application portraits (recommended indicator values can be calculated based on application portraits). Among them, the basic indicators of the container can be obtained from the indicator server 71, for example, from the extended component "metrics server" of k8s, from which the basic indicator information of the instance replica (i.e., container) in the cluster can be queried, such as the usage of cpu, memory, etc. The monitoring indicators of the system can be obtained from the monitoring framework 72. For example, it can be obtained from the Prometheus tool. Prometheus is an open source system monitoring and alarm toolkit that includes a complete set of data search\storage\processing\visualization functions. Use http interface to transmit data (usually used with cAdvisor). Prometheus collects various system monitoring indicators, as well as user-defined indicator data, such as customized qps (access per second); it is not suitable for environments such as estimated capacity, system pressure, task accumulation, etc. Application profile 74 is a multi-dimensional analysis of a single application, including system attributes, configuration relationships, system indicators, system trajectories, system tags, and other information. Application profile 74 can use the profile function for the historical resources of service 20, thereby obtaining the CPU usage of service 20 in a certain period of time as p95, i.e. 95%. Then, the current target capacity is calculated based on such historical data.
[0066] The above embodiments can support the elastic scaling of container services in all dimensions such as clusters, instances, and containers, and the elastic scaling calculation and execution of all scenarios in all these dimensions are planned and executed in a unified manner, avoiding conflicts caused by separate deployment and services in each dimension.
[0067] In addition, the container service multi-dimensional elasticity management system 40 manages all hosts in a unified manner and can support cross-cluster deployment of target services (traditional elasticity-related components are deployed in a single cluster and only support elastic scaling of services within their own cluster, limiting the possibility of cross-cluster deployment of services).
[0068] Diverse execution engines support a variety of elastic strategies, such as elastic scaling of services in the cluster dimension (cluster dimension service elastic scaling engine), intelligent elasticity based on recommended capacity (recommendation engine), and scaling to maximize utilization based on idle resources (elastic engine based on idle resources).
[0069] In the above embodiment, capacity planning is also combined to support cluster capacity estimation and application available capacity constraints, so as to use system hardware resources most efficiently.
[0070] The above embodiment also adopts a traffic-centralized deployment method, and all applications (services) are uniformly managed through the container service multi-dimensional elastic management system 40, so the expansion and contraction service is also oriented to all applications. Compared with the existing technology, management is much simpler.
[0071] Finally, since the container service multi-dimensional elastic management system 40 proposed in this embodiment removes the dependence on k8s' own storage (etcd), for example, HPA, VPA, CA (Cluster Autoscaler) in the prior art all rely on k8s' basic storage. This application provides independent storage independent of the container service multi-dimensional elastic management system 40, so that the system itself has good scalability.
[0072] Figure 3 A flowchart of a multi-dimensional elastic management method for container services proposed according to some embodiments of the present application is shown.
[0073] S31, obtain elasticity rules, and obtain all elasticity rules set by the user according to the instructions. The instructions include starting the system or reducing capacity according to event notifications and scheduled query plans. For example, when capacity adjustment is temporarily required, a capacity adjustment can be triggered by event notification. For another example, for the tidal phenomenon mentioned above, 5 containers can be enabled from 7 am to 5 pm, and 15 containers can be enabled starting at 6 pm.
[0074] S32, distributing the elasticity rules to each execution engine, traversing the elasticity rules, and distributing them to corresponding execution engines according to the types of the elasticity rules to perform calculations and adjust the capacity of the container.
[0075] S33, querying the indicator data corresponding to the elastic rule, the execution engine queries the current value or historical value of the target indicator according to the target indicator recorded in the elastic rule.
[0076] S34, calculating the available capacity from multiple dimensions respectively and making a comprehensive decision on the capacity plan, the execution engine calculates the target capacity under the target dimension according to the current value, the historical value and the preset calculation rules.
[0077] S35, executing the target capacity under the corresponding dimension.
[0078] Figure 4 Shows Figure 3 Detailed flowchart of step S34 in FIG.
[0079] S341, read and filter the elasticity rules, wherein the filtering refers to filtering the elasticity rules according to the predictability of the elasticity rules. For example, the qps indicator focuses on random events, which cannot be predicted and is not suitable as a basis for capacity recommendation.
[0080] S342, querying the history records of elastic adjustment of the target service;
[0081] S343, querying the recommended capacity value of the target service under the target dimension,
[0082] S344, integrating the historical records, the capacity recommendation values and the filtered elastic rules, and calculating the estimated capacity under the cluster dimension to determine whether it is necessary to expand or reduce the computing resources in advance. For example, for cluster X, the elastic rules that have been used and the effective history of these rules (for example, effective during the Double Eleven period) can be analyzed based on the elastic adjustment historical records obtained in step S342, and then based on these elastic rules that have been used (including the effective history of the rules) to summarize and estimate the resource capacity required by cluster X in the future, and finally expand or reduce the resources of cluster X in advance based on the estimated resource capacity.
[0083] The above Figure 3 and Figure 4 The details of the flowchart can be combined with relevant Figure 2 to understand.
[0084] The embodiments of the container service multi-dimensional elastic management method provided by the present invention can be run in various electronic devices such as servers. Figure 5 A basic hardware structure diagram of an electronic device 100 according to some embodiments of the present application is provided.
[0085] like Figure 5As shown, the electronic device 100 at least includes a main processor 101 and a storage medium 103. According to different actual use requirements, the electronic device 100 may also include a coprocessor 102, an I / O unit 104, a network communication unit 105, and some other expansion units 106. The selectivity of the coprocessor 102, the I / O unit 104, the network communication unit 105, and other expansion units 106 is shown in the figure by dotted lines.
[0086] The main processor 101 and / or the coprocessor 102 are used to execute computer instructions stored in the storage medium 103 to implement the method proposed in the present invention. The main processor 101 is the control center of the electronic device 100, which is usually a general-purpose processor (for example, Intel's CPU series), which can achieve logical processing and arithmetic calculations in a relatively balanced manner. The main processor 101 uses various interfaces to connect various parts of the entire electronic device 100, and realizes various functions of the electronic device 100 by running or executing software programs stored in the storage medium 103, and calling data stored in the storage medium 103, thereby monitoring the electronic device 100 as a whole.
[0087] The coprocessor 102 is usually a dedicated processor (e.g., a user-programmable embedded microprocessor) used to implement a single function. For example, the coprocessor 102 may be a graphics processor (GPU) dedicated to processing graphics and images. The main processor 101 does not directly process information about graphics and images at this time, but provides data from other units to the coprocessor 102 or sends management instructions to the coprocessor 102 to instruct the coprocessor 102 to obtain data from other units, and after the coprocessor 102 processes the data, the main processor 101 receives the processing result from the coprocessor 102 so that other decisions can be made based on the processing result. For different professional fields, the coprocessor 102 can also be a signal processor, a network communication processor, a complex computing processor, etc. Usually, the hardware implementation basis of the coprocessor 102 is a digital signal processing (DSP) chip, or a complex programmable logic device (CPLD), a field programmable gate array (FPGA), and other application-specific integrated circuits (ASIC, Application Specific Integrated Circuit).
[0088] The storage medium 103 may include an internal memory and an external memory, or may also include a volatile memory and a non-volatile memory, or may also include a magnetic storage device, a solid-state memory, a flash memory, a floppy disk, and a hard disk. The storage medium 103 may be used to store an operating system (e.g., it may be executed by the main processor 101) and data generated during the operation of the operating system, a software program of an application software and data generated during the operation of the application software, and a software program of a dedicated module (e.g., it may be executed by a certain coprocessor 102) and data generated during the operation of the program. For example, in one embodiment of the present invention, the main processor 101 executes various functional applications and data processing by running a monitoring program stored in the storage medium 103. In some embodiments, the storage medium 103 may also be a remote memory (relative to a memory in the usual sense) remotely arranged relative to the main processor 101, and these remote memories may be connected to the main processor 101 or a certain coprocessor 102 via a network connection (e.g., via a network communication device 105). Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0089] The I / O (Input / Output) unit 104 includes an information input device and an information output device, which enables a user to interact with the electronic device 100. The input device can be used to receive input digital or character information, and specifically can include: a keyboard, a mouse, a joystick, a touch input device or a trackball, etc. The output device can be used to output / display a processing result processed by the electronic device 100, and the processing result can be made based on the information input by the input device. Specifically, the output device can include: a liquid crystal display (Liquid Crystal Display, LCD), an organic light-emitting diode (Organic Light-Emitting Diode, OLED), etc.
[0090] The network communication unit 105 realizes communication between the electronic device 100 and various remote devices through the connection of the wireless network, so that the electronic device 100 can also exchange data with the remote device (for example, the remote storage described above). Alternatively, the electronic device 100 can also realize connection with other electronic devices (for example, electronic devices with clients installed) through the network communication unit 105, so that the electronic device 100 can interact with other electronic devices as part of a large system.
[0091] Other expansion units 106 include a variety of peripheral components and interfaces thereof, so that the electronic device 100 can interact with a variety of devices. For example, through a Bluetooth interface, it can be connected to a Bluetooth headset, so that the audio played by the electronic device 100 can be received by the Bluetooth headset. For another example, through a bus interface (such as an RS-485 bus), the electronic device 100 can be connected to some sensors to obtain some monitoring data to assist the electronic device 100 in implementing specific functions. In various embodiments, other expansion interfaces 106 can exist alone or be integrated with other components of the electronic device 100. At the same time, other expansion interfaces 106 are optional, and their optional nature is represented in the figure by dotted lines.
[0092] The present invention also discloses a computer-readable storage medium, in which at least one computer instruction is stored. The at least one instruction is loaded and executed by a processor to implement the above method.
[0093] The present invention also discloses a computer program product, which includes a computer program / instruction. When the computer program / instruction is executed by a processor, the above method is implemented.
[0094] In the description provided herein, a large number of specific details are described. However, it is understood that embodiments of the present invention can be practiced without these specific details. In some instances, well-known methods, structures and techniques are not shown in detail so as not to obscure the understanding of this description.
[0095] It should be noted that the sequence of the above embodiments of the present invention is only for description and does not represent the advantages and disadvantages of the embodiments. The above describes specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0096] It should be understood that in order to streamline the present invention and aid in understanding one or more of the various inventive aspects, in the above description of exemplary embodiments of the present invention, various features of the present invention are sometimes grouped together into a single embodiment, figure, or description thereof. However, this disclosed method should not be interpreted as reflecting the intention that the claimed invention requires more features than those expressly recited in each claim. Rather, as reflected in the claims, inventive aspects lie in less than all of the features of the individual embodiments previously disclosed. Therefore, the claims that follow the detailed description are hereby expressly incorporated into the detailed description, with each claim itself serving as a separate embodiment of the present invention.
[0097] Those skilled in the art will appreciate that the modules in the devices in the embodiments may be adaptively changed and arranged in one or more devices different from the embodiments. The modules or units or components in the embodiments may be combined into one module or unit or component, and in addition they may be divided into a plurality of submodules or subunits or subcomponents. Except that at least some of such features and / or processes or units are mutually exclusive, all features disclosed in this specification (including the accompanying claims, abstracts and drawings) and all processes or units of any method or device disclosed in this manner may be combined in any combination. Unless otherwise expressly stated, each feature disclosed in this specification (including the accompanying claims, abstracts and drawings) may be replaced by an alternative feature providing the same, equivalent or similar purpose.
[0098] In addition, those skilled in the art will appreciate that, although some embodiments described herein include certain features included in other embodiments but not other features, the combination of features of different embodiments is meant to be within the scope of the present invention and form different embodiments. For example, in the claims, any one of the claimed embodiments may be used in any combination.
Claims
1. A multi-dimensional elastic management system for container services, characterized in that: include: An engine unit, including a plurality of execution engines, for obtaining required indicators and calculating elastic operations required for a target service according to different elasticity rules, wherein the elasticity rules are used to indicate boundary values of container indicators; A task distribution unit distributes the elastic rule to a corresponding execution engine according to the category of the elastic rule to perform calculation and adjust the capacity of the container; A capacity estimation unit, which estimates the capacity demand of the target service according to the elasticity rules, the history records of elasticity adjustment, and the estimated indicator values, so as to adjust computing resources in advance; The execution unit is used to implement elastic adjustment of the container.
2. The management system according to claim 1, characterized in that: Also includes: The indicator aggregation unit is used to connect to an external indicator providing system and provide the indicator information of the target service and the target container to the engine unit.
3. The management system according to claim 1, characterized in that: The indicators collected by the indicator aggregation unit include: basic indicators of the container, system monitoring indicators, user-defined indicators and application portraits.
4. The management system according to claim 1, characterized in that: The execution engine includes: a recommendation engine, a timing engine and a system indicator engine.
5. The management system according to claim 1, characterized in that: The task distribution unit also interacts with the elasticity rule storage device to obtain the elasticity rule.
6. The management system according to claim 5, characterized in that: The elastic rule storage device is arranged outside the management system and is used to store the elastic rules set by the user.
7. A multi-dimensional elastic management method for container services, characterized in that: include: Get elastic rules: Get all elastic rules set by the user according to the instructions; Distribute the elasticity rules to each execution engine, traverse the elasticity rules, and distribute them to corresponding execution engines according to the types of the elasticity rules to perform calculations and adjust the capacity of the container; Query the indicator data corresponding to the elastic rule, the execution engine querying the current value or historical value of the target indicator according to the target indicator recorded in the elastic rule; The available capacity is calculated from multiple dimensions respectively and a capacity plan is comprehensively decided. The execution engine calculates the target capacity under the target dimension according to the current value, the historical value and the preset calculation rules; The target capacity is executed under the corresponding dimension.
8. The method according to claim 7, characterized in that The instructions include event notifications and scheduled query plans.
9. The method according to claim 7, characterized in that The available capacity is calculated from multiple dimensions and the capacity plan is comprehensively decided, including: Reading and filtering the elasticity rules, wherein the filtering refers to filtering the elasticity rules according to the predictability of the elasticity rules; Query the elastic adjustment history of the target service; Querying the recommended capacity value of the target service under the target dimension; The historical records, the recommended capacity values, and the filtered elasticity rules are integrated to calculate the estimated capacity in the cluster dimension to determine whether the computing resources need to be expanded or reduced in advance.
10. An electronic device, characterized in that: include: at least one memory for storing computer instructions; At least one processor, when the at least one processor executes the computer instructions, implements the management system according to any one of claims 1-6.
11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores at least one computer instruction, and the at least one instruction is loaded and executed by a processor to implement the management system according to any one of claims 1 to 6.
12. A computer program product, characterized in that The computer program product comprises a computer program / instruction, and when the computer program / instruction is executed by a processor, the management system according to any one of claims 1 to 6 is implemented.