Resource arrangement system, method and device and storage medium

Through resource orchestration system and data container isolation technology, the complex problem of cloud platform resource management is solved, lightweight resource scheduling and ease of use are achieved, resource maintenance of industrial cloud operating systems is simplified, and system stability and resource allocation accuracy are improved.

CN120407169APending Publication Date: 2025-08-01BEIJING WELLINTECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510475187.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-16
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

The existing cloud platforms have complex operation and maintenance problems in resource management, especially in industrial cloud operating systems, where resource maintenance is large and complex, making it difficult to achieve ease of use.

Method used

The resource orchestration system is adopted to receive resource indicators of nodes and data containers through the resource management center, analyze the load level, and perform resource scheduling based on this, and use data containers and resource isolation technology to reduce dependence on open source software and achieve lightweight resource scaling and scheduling.

Benefits of technology

It simplifies the resource maintenance process, reduces costs and management complexity, improves the ease of use of resource operation and maintenance, enhances system stability, and provides a reliable basis for rational allocation of resource scheduling, and improves the effect of resource scheduling operation and maintenance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120407169A_ABST
    Figure CN120407169A_ABST
Patent Text Reader

Abstract

The invention relates to a resource arrangement system, method and device and a storage medium, and relates to the technical field of cloud operating system resource management. In the application, the resource arrangement system comprises a resource group and a resource management center; the resource group comprises a plurality of nodes, a data area engine instance can run on each node, and a data container can run on the data area engine instance; the resource management center is used for receiving the resource index of each node and the resource index of each data container, analyzing the load level of each node and the load level of each data container according to the resource index of each node and the resource index of each data container, and carrying out resource scheduling according to an analysis result; wherein the load level of the node represents the current situation of the node load; the load level of the data container represents the actual traffic load of the system. The problem of complex resource operation and maintenance of the industrial cloud operating system can be solved, and the usability of resource operation and maintenance in the industrial cloud operating system is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of resource management in cloud operating systems, and in particular, to a resource orchestration system, method, device, and storage medium. Background Art

[0002] With the continuous development of cloud computing, a cloud operating system is gradually defined as a comprehensive cloud platform management system that is built on basic hardware resources such as servers, storage, and networks, and basic software such as single-node operating systems, middleware, and databases, and manages a large amount of basic hardware / software resources. It plays a role in resource management in the current cloud platform.

[0003] Currently, the cloud management platform in a cloud platform usually integrates virtualization technology, container technology, container orchestration technology, system monitoring technology, distributed storage technology, middleware technology, etc. During the integration of these technologies, most cloud platforms select multiple open-source software to complete the implementation according to the application scenario, such as software like Openstack, Docker, Podman, Kubernetes, Prometheus, Ceph, etc., thus constituting a complete cloud platform infrastructure. Due to the combined use of multiple open-source software, problems such as a large amount of resource maintenance and complex resource operation and maintenance in the cloud platform have occurred.

[0004] In view of this, it is necessary to propose a new resource orchestration system, method, device, and storage medium to solve the above problems. Summary of the Invention

[0005] This application provides a resource orchestration system, method, device, and storage medium, which can solve the problem of complex resource operation and maintenance in an industrial cloud operating system and improve the usability of resource operation and maintenance in the industrial cloud operating system.

[0006] The technical solution of this application is as follows:

[0007] In a first aspect, this application provides a resource orchestration system, which includes: a resource group and a resource management center; wherein, the resource group includes multiple nodes, and a data area engine instance can run on each node, and a data container can run on the data area engine instance; the resource management center is used to receive the resource metrics of each node and the resource metrics of each data container, analyze the load level of each node and the load level of each data container according to the resource metrics of each node and the resource metrics of each data container, and perform resource scheduling according to the analysis results; wherein, the load level of a node represents the current situation of the node load; the load level of a data container represents the actual business load of the resource orchestration system.

[0008] In some implementation manners, the resource management center includes a collection module, an analysis module, and a scheduling module. The collection module is used to receive the resource metrics of each node and the resource metrics of each data container. Each data container includes at least one primary container replica and / or at least one secondary container replica. The resource metrics of each data container include the resource metrics of at least one primary container replica and / or the resource metrics of at least one secondary container replica. The analysis module is used to determine the load level of each node according to the resource metrics of each node, and determine the load level of each data container according to the resource metrics of each data container. The load level of each data container includes the load level of at least one primary container replica and / or the load level of at least one secondary container replica. The analysis module is further used to determine the standard load level of each node according to the load level of each node, and determine a target container replica and a target node according to the standard load level of each node and the load level of each data container. The target container replica is one replica among at least one primary container replica and / or at least one secondary container replica, and the target node is one node among other nodes except the node where the target container replica is located. The scheduling module is used to determine a scheduling policy according to the target container replica and the target node. The scheduling module is further used to distribute the scheduling policy to the node where the target container replica is located.

[0009] In some implementation manners, the node where the target container replica is located is used to execute the scheduling policy. The scheduling policy is to migrate the target container replica from the node where it is located to the target node.

[0010] In some implementation manners, the resource management center further includes a verification module, which is used to verify the scheduling policy. The scheduling module is configured to perform resource scheduling based on the scheduling policy in the case where the scheduling policy is verified successfully.

[0011] In some implementation manners, verifying the scheduling policy includes: determining whether the scheduling policy meets the following conditions: Condition 1: The resource size occupied by the target container replica is less than the remaining resources of the target node; Condition 2: The target variance level of multiple nodes is the minimum value among multiple predicted variance levels of multiple nodes. The predicted variance level is the variance level of multiple nodes assuming that the predicted scheduling policy is executed. The target variance level is one variance level among multiple predicted variance levels. If both Condition 1 and Condition 2 are met, the verification is successful.

[0012] In some implementation manners, the analysis module is used to re-determine the load level of each node according to the resource metrics of each node collected by the collection module after resource scheduling. The scheduling module is used to determine whether to perform resource scheduling again based on the re-determined load level of each node.

[0013] In some implementation manners, the number of resource groups is multiple, and the node resources of each resource group are set to be schedulable only within its own resource group; the node resources of different resource groups are set to be isolated from each other.

[0014] In some implementation manners, the data container is a single-container replica, a double-container replica or a triple-container replica.

[0015] In some implementation manners, the resource management center further includes: a service module, configured to receive an addition instruction, where the addition instruction includes information of a new node; and add the new node based on the addition instruction, and install an instance of a data area engine that can run on the new node.

[0016] In a second aspect, the present application provides a resource orchestration method, which is applied to the resource orchestration system in any of the implementation manners in the first aspect. The method includes: receiving resource metrics of each node and resource metrics of each data container; analyzing the load level of each node and the load level of each data container according to the resource metrics of each node and the resource metrics of each data container; performing resource scheduling according to the analysis result; where the load level of a node represents the current status of the node load; the load level of a data container represents the actual business load of the resource orchestration system.

[0017] In some implementation manners, each data container includes at least one primary container replica and / or at least one secondary container replica; the resource metrics of each data container include the resource metrics of at least one primary container replica and / or the resource metrics of at least one secondary container replica.

[0018] In some implementation manners, analyzing the load level of each node and the load level of each data container according to the resource metrics of each node and the resource metrics of each data container specifically includes: determining the load level of each node according to the resource metrics of each node, and determining the load level of each data container according to the resource metrics of each data container; where the load level of each data container includes the load level of at least one primary container replica and / or the load level of at least one secondary container replica; determining the standard load level of each node according to the load level of each node; determining a target container replica and a target node according to the standard load level of each node and the load level of each data container, where the target container replica is one replica among at least one primary container replica and / or at least one secondary container replica, and the target node is one node among other nodes except the node where the target container replica is located.

[0019] In some implementation manners, performing resource scheduling according to the analysis result specifically includes: determining a scheduling policy according to the target container replica and the target node; distributing the scheduling policy to the node where the target container replica is located.

[0020] In some implementation manners, the method further includes: a node where a target container replica is located executes a scheduling policy; wherein, the scheduling policy is to migrate the target container replica from the node where it is located to a target node.

[0021] In some implementation manners, the method further includes: verifying the scheduling policy; in a case where the scheduling policy verification is successful, performing resource scheduling based on the scheduling policy.

[0022] In some implementation manners, verifying the scheduling policy includes: determining whether the scheduling policy satisfies the following conditions: Condition 1: The size of the resources occupied by the target container replica is smaller than the remaining resources of the target node; Condition 2: The target variance level of multiple nodes is the minimum value among multiple predicted variance levels of multiple nodes; wherein, the predicted variance level is the variance level of multiple nodes assuming that a predicted scheduling policy is executed; the target variance level is one of the multiple predicted variance levels; if Conditions 1 and 2 are satisfied, the verification is successful.

[0023] In some implementation manners, the method further includes: re-determining the load level of each node according to the resource metrics of each node collected by the collection module after resource scheduling; a scheduling module, configured to determine whether to perform resource scheduling again based on the re-determined load level of each node.

[0024] In some implementation manners, the number of resource groups is multiple, and the node resources of each resource group are set to be schedulable only within its own resource group; the node resources of different resource groups are set to be isolated from each other.

[0025] In some implementation manners, the data container is a single-container replica, a dual-container replica, or a triple-container replica.

[0026] In some implementation manners, the method further includes: being configured to receive an addition instruction, where the addition instruction includes information about a new node; and adding the new node based on the addition instruction, and installing a data area engine instance that can run on the new node.

[0027] In a third aspect, the present application provides a resource orchestration device, which is applied to the resource orchestration method in any of the implementation manners in the second aspect. The device includes: a receiving module, configured to receive the resource metrics of each node and the resource metrics of each data container; a processing module, configured to analyze the load level of each node and the load level of each data container according to the resource metrics of each node and the resource metrics of each data container; the processing module is further configured to perform resource scheduling according to the analysis result; wherein, the load level of the node represents the current situation of the node load; the load level of the data container represents the actual business load of the resource orchestration system.

[0028] In some implementation manners, the processing module is specifically configured to receive the resource metrics of each of the nodes and the resource metrics of each of the data containers; wherein each of the data containers includes at least one primary container replica and / or at least one secondary container replica; the resource metrics of each of the data containers include the resource metrics of the at least one primary container replica and / or the resource metrics of the at least one secondary container replica; it is further configured to determine the load level of each of the nodes according to the resource metrics of each of the nodes, and determine the load level of each of the data containers according to the resource metrics of each of the data containers; wherein the load level of each of the data containers includes the load level of the at least one primary container replica and / or the load level of the at least one secondary container replica; it is further configured to determine the standard load level of each of the nodes according to the load level of each of the nodes; determine a target container replica and a target node according to the standard load level of each of the nodes and the load level of each of the data containers, wherein the target container replica is one of the at least one primary container replica and / or the at least one secondary container replica, and the target node is one of the other nodes except the node where the target container replica is located; it is further configured to determine a scheduling policy according to the target container replica and the target node; and it is further configured to distribute the scheduling policy to the node where the target container replica is located.

[0029] In some implementation manners, the node where the target container replica is located executes the scheduling policy; wherein the scheduling policy is to migrate the target container replica from the node where it is located to the target node.

[0030] In some implementation manners, the processing module is further configured to verify the scheduling policy; in the case where the scheduling policy verification is successful, perform resource scheduling based on the scheduling policy.

[0031] In some implementation manners, verifying the scheduling policy includes: determining whether the scheduling policy meets the following conditions: Condition 1: The resource size occupied by the target container replica is less than the remaining resources of the target node; Condition 2: The target variance level of multiple nodes is the minimum of the multiple predicted variance levels of multiple nodes; wherein the predicted variance level is the variance level of multiple nodes assuming that the predicted scheduling policy is executed; the target variance level is one of the multiple predicted variance levels; if Conditions 1 and 2 are met, the verification is successful.

[0032] In some implementation manners, the processing module is configured to re-determine the load level of each node according to the resource metrics of each node collected by the collection module after resource scheduling; the scheduling module is configured to determine whether to perform resource scheduling again based on the re-determined load level of each node.

[0033] In some implementation manners, the number of resource groups is multiple, and the node resources of each resource group are set to be schedulable only within the resource group where they are located; the node resources of different resource groups are set to be isolated from each other.

[0034] In some implementation manners, the data container is a single-container replica, a double-container replica, or a triple-container replica.

[0035] In some implementation manners, the device further includes: a service module, configured to receive an addition instruction, where the addition instruction includes information of a new node; and add the new node based on the addition instruction, and install a data area engine instance that can run on the new node.

[0036] In a fourth aspect, the present application provides a computer-readable storage medium, on which computer program instructions are stored; when the computer program instructions are executed by an electronic device, the electronic device is enabled to implement the method described in any possible implementation manner in the first aspect.

[0037] Based on any one of the above first aspect to fourth aspect, the present application at least has the following beneficial effects:

[0038] In the present application, the resource orchestration system includes a resource group and a resource management center. A data area engine instance can run on each node of the resource group, and a data container can run on the data area engine instance, realizing data container and resource isolation. Without using open-source software, the system can more lightweightly implement computer resource scaling and scheduling, simplify the process of resource maintenance, reduce the resource maintenance cost and management complexity, and improve the usability of resource operation and maintenance in the industrial cloud operating system; and perform resource scheduling within the resource group, effectively alleviating the pressure of resource scheduling and enhancing the system stability. In addition, the resource management center uses the resource metrics of each node and the resource metrics of each data container as the accounting basis for resource scheduling. Based on the above parameters, the current status of the load of each node and the actual business load status of the resource orchestration system can be accurately analyzed, accurately reflecting the current status of resource allocation, providing a reliable basis for resource scheduling, and being able to reasonably perform resource scheduling based on the current status of resource allocation, improving the resource scheduling operation and maintenance effect of the industrial cloud operating system.

[0039] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] The accompanying drawings herein are incorporated into the specification and constitute a part of the specification, showing embodiments consistent with the present application, and are used together with the specification to explain the principles of the present application, and do not constitute an improper limitation to the present application.

[0041] Figure 1Schematic diagram of a cloud platform in the related art;

[0042] Figure 2 Scenario schematic diagram of the resource orchestration system provided by the embodiments of the present application;

[0043] Figure 3 Structural schematic diagram of the resource orchestration system provided by the embodiments of the present application;

[0044] Figure 4 Composition schematic diagram of the resource management center provided by the embodiments of the present application;

[0045] Figure 5 Schematic diagram of the resource scheduling mechanism provided by the embodiments of the present application;

[0046] Figure 6 Another composition schematic diagram of the resource management center provided by the embodiments of the present application;

[0047] Figure 7 Another composition schematic diagram of the resource management center provided by the embodiments of the present application;

[0048] Figure 8 Flow schematic diagram of the resource management method provided by the embodiments of the present application;

[0049] Figure 9 Structural schematic diagram of the resource management device provided by the embodiments of the present application;

[0050] Figure 10 Structural schematic diagram of the electronic device provided by the embodiments of the present application. Detailed implementation manners

[0051] [[ID=4,1]]In order to enable those of ordinary skill in the art to better understand the technical solutions of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings.

[0052] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily need to be used to describe a specific order or sequence. It should be understood that such used data may be interchanged under appropriate circumstances so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. Thus, the features defined with "first", "second" may explicitly or implicitly include one or more of such features. The implementation manners described in the following exemplary embodiments do not represent all implementation manners consistent with the present application. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.

[0053] It should also be understood that the term "comprising" indicates the presence of the described features, wholes, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements and / or components.

[0054] The term "and / or" is used to describe the relationship between associated objects and indicates that three relationships can exist. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone. The character " / " generally indicates that the associated objects before and after are in an "or" relationship.

[0055] The term "exemplary" means "serving as an example, embodiment or illustration". Any embodiment illustrated as "exemplary" does not have to be interpreted as superior to or better than other embodiments.

[0056] The meaning of the term "at least one" is one or more, and "multiple" means two or more; the meaning of the term "at least one kind" is one kind or more, and "multiple kinds" means two kinds or more.

[0057] The design concept of the embodiments of the present application is briefly introduced below:

[0058] With the continuous development of cloud computing, the definition of cloud operating system has become increasingly clear and is gradually defined as a cloud platform integrated management system that is built on basic hardware resources such as servers, storage, and networks and basic software such as single-node operating systems, middleware, and databases, and manages a large amount of basic hardware / software resources, and plays a role in resource management in the current cloud platform. Compared with traditional single-node operating systems, cloud operating systems have great advantages in storage / computation, but the subsequent operation and maintenance problems of multiple nodes and multiple resources become complex, which becomes an important reference for the usability of cloud platforms.

[0059] Currently, cloud platforms are mainly divided into public cloud platforms, private cloud platforms, hybrid cloud platforms, etc. from the application scenarios. The difference is that they are different in the users they face and the deployment and usage scenarios. From the perspective of the current mainstream technology stacks, the overall technology stacks are similar.

[0060] According to research, the mainstream technical solution adopted by cloud management platforms in existing cloud platforms is to integrate virtualization technology + container technology + container orchestration technology + system monitoring technology + distributed storage technology + middleware technology, etc. In the process of integrating these technologies, most cloud platforms select open-source software such as Openstack, Docker, Podman, Kubernetes, Prometheus, Ceph, etc. one or more to complete the implementation, and then the overall constitutes a complete cloud platform infrastructure.

[0061] Such as Figure 1As shown in the figure, the bottom layer of the existing cloud platform structure is physical machines, on which the Linux operating system is installed; virtualization software based on virtualization technology, such as Openstack / vm, etc., is installed on the Linux host system, and more virtualization instances are virtualized; containerization-related technologies such as Docker + Kubernetes + Prometheus, distributed storage, etc. are installed on the virtualization instances; specific applications are run in the containerization instances.

[0062] In summary, the existing cloud platform resource orchestration implementation solution is to use the Figure 1 technical structure shown in the figure, manage node resources through virtualization platform software, use container technology to schedule and plan occupied resources, achieve service isolation or resource separation, and then achieve the effect of resource scaling and operation and maintenance.

[0063] The technology stack of the existing cloud platform is a combination of open-source software from multiple vendors. Therefore, the maintenance volume of the platform is large, and the dependence on the system environment is complex. When applied to the industrial field, due to the diversity of the industrial field site environment and the current situation of industrial data security and confidentiality, the problems of difficult transplantation and complex operation and maintenance of the cloud platform have become a major problem.

[0064] The specific reason is that the rise of cloud computing started from software and Internet technologies. In the Internet field, the construction of cloud platforms is mainly to serve millions of consumer users, and resources can be infinitely expanded. In order to reduce the costs and maintenance problems of small and medium-sized enterprises or individual users in hardware resources, the key problems solved by cloud platforms are resource isolation and elastic contraction, rather than being a software product that can be easily transplanted. The private cloud developed in the later stage of cloud computing is essentially an application scenario of cloud platform transplantation. At present, there are also many solutions for private clouds. Some focus on providing the integration and virtualization management functions of hardware resources, and some focus on using the software technology of existing cloud platforms to provide software management functions. The overall is still in an exploratory stage. This has led to the trend that private cloud or cloud operating system manufacturers directly reuse the technology of the current cloud platform in order to quickly build a cloud platform, that is, converting the containerization technology architecture / virtualization technology, etc. of the cloud platform into the technology architecture of the private cloud or cloud operating system. Therefore, the above problems have occurred in the current cloud platform.

[0065] In view of this, the embodiments of the present application provide a resource orchestration system, method, device and storage medium, which relate to the technical field of cloud operating system resource management, and particularly relate to resource orchestration technology, and are used to solve the problem of complex operation and maintenance of industrial cloud operating system resources and improve the usability of resource operation and maintenance in industrial cloud operating systems.

[0066] The preferred embodiments of the present application will be described below in conjunction with the accompanying drawings of the specification. It should be understood that the preferred embodiments described herein are only for explaining and understanding the present application, and are not used to limit the present application. And without conflict, the embodiments in the present application and the features in the embodiments can be combined with each other.

[0067] Figure 2 It is a schematic diagram of the scenario of the resource orchestration system provided by an embodiment of the present application. As Figure 2 shown, in this application scenario, the resource orchestration system is applied to the industrial cloud operating system. The resource orchestration system divides multiple groups of nodes in units of resource groups. A data area engine instance can run on each node, and multiple data area containers run on the engine instance. Among them, the resource orchestration system sets one of the resource groups as the resource management center, and the resource management center is responsible for managing the scaling and scheduling of other resource groups.

[0068] It should be noted that Figure 2 is only a schematic diagram of the scenario of a resource orchestration system provided by an embodiment of the present application. The embodiments of the present application do not limit Figure 2 the devices included in Figure 2 either, nor do they limit the positional relationship between the devices in

[0069] Next, the technical solutions of the present application will be described in detail through specific embodiments. It should be noted that the following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments.

[0070] As Figure 3 shown, Figure 3 It is a schematic diagram of the structure of the resource orchestration system 300 provided by an embodiment of the present application. The resource orchestration system 300 of the embodiment of the present application includes a resource group 301 and a resource management center 302. Among them:

[0071] The resource group 301 includes multiple nodes. A data area engine instance can run on each node, and a data container can run on the data area engine instance.

[0072] Optionally, the data container can be a single container replica, a double container replica, or a triple container replica. Among them, each node can include a single container replica, a primary container replica and a secondary container replica, two primary container replicas, two secondary container replicas, two primary container replicas and two secondary container replicas, or, two single container replicas and two secondary container replicas. Those skilled in the art can flexibly adjust and set the combination mode and quantity of the container replicas according to the actual resource scheduling requirements, and the present invention does not make any restrictions on this.

[0073] Optionally, there are multiple resource groups 301, and the node resources of each resource group 301 are set to be schedulable only within the resource group 301 where they are located. That is to say, the node resources of different resource groups 301 are set to be isolated from each other, and the node resources between different resource groups 301 cannot be scheduled with each other, thereby limiting the scope of resource scheduling, effectively alleviating the pressure of resource scheduling, and enhancing system stability.

[0074] In the embodiment of the present application, by constructing the resource group 301, a data area engine instance can run on each node of the resource group 301, and a data container can run on the data area engine instance, realizing data container and resource isolation. Without using open-source software, the system can more lightweight realize the scaling and scheduling of computer resources, simplify the process of resource maintenance, reduce the resource maintenance cost and management complexity, and improve the usability of resource operation and maintenance in the industrial cloud operating system.

[0075] The resource management center 302 is used to receive the resource metrics of each node and the resource metrics of each data container, analyze the load level of each node and the load level of each data container according to the resource metrics of each node and the resource metrics of each data container, and perform resource scheduling according to the analysis results.

[0076] Among them, the load level of a node represents the current situation of the node load. Optionally, the load level of a node can be reduced by scheduling data containers.

[0077] Among them, the load level of a data container represents the actual business load of the resource orchestration system. Optionally, the load level of a data container cannot be reduced.

[0078] Optionally, the resource management center 302 includes a node, and a data area engine instance can run on this node, and a single container replica can run on the data area engine instance. That is to say, the resource management center 302 can be considered as a resource group 301 including a node, and is responsible for managing the resource scheduling of other resource groups 301 except the resource management center 302.

[0079] Among them, the resource scheduling can be to collect the resource metrics of the node and the resource metrics of each data container, calculate the load level of the node and the load level of the data container, and schedule the data container with a heavier load to the node with a lighter load, achieving the effect of balanced use of resources in the cloud operating system.

[0080] Optionally, the resource metrics of a node include the total amount and used size of the node's Cpu, memory, and disk. The resource metrics of a data container include the total amount and used size of the data container's Cpu, memory, and disk.

[0081] In the embodiment of the present application, the resource management center 302 uses the resource metrics of each node and the resource metrics of each data container as the accounting basis for resource scheduling. Based on the above parameters, the current status of the load of each node and the actual business load status of the resource orchestration system 300 can be accurately analyzed, the current status of resource allocation can be accurately reflected, providing a reliable basis for resource scheduling. Based on the current status of resource allocation, resource scheduling can be reasonably performed, improving the resource scheduling and operation and maintenance effect of the industrial cloud operating system.

[0082] Next, refer to Figures 4 to 7 for an introduction to the resource management center 302. Figure 4 It is a schematic diagram of the composition of the resource management center provided by the embodiment of the present application; Figure 5 It is a schematic diagram of the resource scheduling mechanism provided by the embodiment of the present application; Figure 6 It is another schematic diagram of the composition of the resource management center provided by the embodiment of the present application; Figure 7 It is another schematic diagram of the composition of the resource management center provided by the embodiment of the present application.

[0083] As Figure 4 shown, in a possible implementation, the resource management center 302 includes a collection module 3021, an analysis module 3022, and a scheduling module 3023. Among them:

[0084] The collection module 3021 is used to receive the resource metrics of each node and the resource metrics of each data container.

[0085] Optionally, as Figure 5 shown, during the operation of the resource orchestration system 300, the node manager reports the resource metrics of the node and the resource metrics of the data container to the collection module 3021 at a preset time interval. The collection module 3021 stores the received resource metrics of the node and the resource metrics of the data container. Those skilled in the art can flexibly adjust and set the preset time interval according to the requirements of operation and maintenance, such as 1 min, 5 min, 10 min, 15 min, etc. Of course, in actual applications, those skilled in the art can also choose to collect the resource metrics of the node and the resource metrics of the data container in real time.

[0086] Among them, each data container includes at least one primary container replica and / or at least one secondary container replica; the resource metrics of each data container include the resource metrics of at least one primary container replica and / or the resource metrics of at least one secondary container replica.

[0087] Among them, the resource metrics of the node and the resource metrics of the data container can refer to the introduction of the relevant resource metrics in the previous text, and will not be elaborated here.

[0088] An analysis module 3022 is configured to determine the load level of each node based on the resource metrics of each node, and determine the load level of each data container based on the resource metrics of each data container; wherein, the load level of each data container includes at least the load level of at least one primary container replica and / or the load level of at least one secondary container replica.

[0089] Optionally, as Figure 5 shown, the analysis module 3022 periodically calculates the load level of each node according to the resource metrics of each node received by the acquisition module 3021, and calculates the load level of each data container according to the resource metrics of each data container received by the acquisition module 3021. It should be noted that for the load level of the data container, the load level of the primary container replica and the load level of the secondary container replica need to be calculated separately. In addition, the analysis module 3022 can also calculate the load level of each node and the load level of each data container in real time. Those skilled in the art can flexibly adjust and set the calculation frequency according to the requirements of operation and maintenance, and this embodiment does not impose any restrictions on this.

[0090] Exemplarily, taking the node as an example, according to the degree of influence of the resource metrics of the node on the performance of the resource orchestration system 300, a weighting coefficient is assigned to each resource metric of the node (for example, the total amount and used size of the node's Cpu, memory, disk, etc.). Based on each resource metric of the node, combined with the weighting coefficient, the product of each resource metric of the node and the corresponding weighting coefficient is calculated to obtain the weighted metric of each resource of the node, and then the sum of the weighted metrics is calculated, and the sum is used as the load level of the node. Of course, the load level of the node can also be calculated according to the calculation rules set by the user or the weighting coefficients initially set by the resource orchestration system. No matter what calculation method is adopted, as long as the load level of the node can be determined.

[0091] It should be noted that the load level of the above-mentioned data container can refer to the calculation process of the load level of the node in the foregoing embodiment, and will not be elaborated here.

[0092] In addition, the analysis module 3022 is further configured to determine the standard load level of each node according to the load level of each node; and determine the target container replica and the target node according to the standard load level of each node and the load level of each data container.

[0093] Wherein, the target container replica is one replica among at least one primary container replica and / or at least one secondary container replica, and the target node is one node among other nodes except the node where the target container replica is located.

[0094] The determination process of the scheduling policy will be described below.

[0095] First, assume that the load level of a node is represented by NLL, the load level of Node 1 is NLL1, and the load level of Node 2 is NLL2. The load level of a data container is represented by DALL. If it is a primary container replica, it is MDALL; if it is a secondary container replica, it is SDALL. The load level of Container Replica 1 is DALL1, and the load level of Container Replica 2 is DALL2.

[0096] The calculation formula for the total load level of any data container is as follows:

[0097] ADALL = MDALL + ∑SDALL (1)

[0098] Among them, ADALL represents the total load level of the data container;

[0099] MDALL represents the load level of the primary container replica;

[0100] SDALL represents the load level of the secondary container replica.

[0101] Among them, the number of secondary container replicas is only 1 or 2. The total load level of the data container is related to the overall business. After the business is determined, the total load level of the data container remains unchanged.

[0102] The basic load level of a node is the load level of the node minus the load levels of all container replicas of that node. The basic load level of a node is calculated according to the following formula:

[0103] NSLL = NLL - ∑DALL (2)

[0104] Among them, NSLL represents the basic load level of the node;

[0105] NLL represents the load level of the node;

[0106] ∑DALL represents the cumulative load levels of all container replicas on that node.

[0107] The basic load level of a node is a constant. Before scheduling, the basic load level of the node needs to be calculated first. During the subsequent process of scheduling container replicas, the load levels of the container replicas running on the node can be accumulated on the basis of the basic load level of the node.

[0108] The average value of the load levels of nodes is calculated according to the following formula:

[0109]

[0110] Among them, NAVG represents the average value of the load levels of nodes;

[0111] i represents the i-th node;

[0112] NCount represents the number of nodes;

[0113] NLL i represents the load level of the i-th node.

[0114] The variance of the node load is calculated according to the following formula:

[0115]

[0116] where NV represents the variance of the node load;

[0117] i represents the i-th node;

[0118] NCount represents the number of nodes;

[0119] NLL i represents the load level of the i-th node;

[0120] NAVG represents the average value of the load levels of the nodes.

[0121] Then, the standard deviation of each node load level is calculated according to the following formula:

[0122]

[0123] where NSD represents the standard deviation of the node load level;

[0124] NV represents the variance of the node load;

[0125] NLL represents the load level of the node;

[0126] NAVG represents the average value of the load levels of the nodes.

[0127] Next, taking Node 1 and Node 2 as examples, it is further elaborated. Suppose before scheduling, the load level of Node 1 is NLL1, and 3 container replicas are running on Node 1. The load levels of the 3 container replicas are DALL1, DALL2, and DALL3 respectively; the load level of Node 2 is NLL2, and 1 container replica is running on Node 2, and the load level of the 1 container replica is DALL4.

[0128] Before scheduling, the basic load level NSLL of the 2 nodes is calculated according to formula (2).

[0129] The basic load level NSLL1 of Node 1, that is, NSLL1 = NLL1 - DALL1 - DALL2 - DALL3.

[0130] The basic load level NSLL2 of Node 2, that is, NSLL2 = NLL2 - DALL4.

[0131] Calculate the average value NAVG of the node load level according to formula (3).

[0132] NAVG = (NLL1 + NLL2) / 2

[0133] Calculate the variance NV of the node load according to formula (4).

[0134] NV = {(NLL1 - NAVG) 2 + (NLL2 - NAVG) 2} / 2

[0135] Calculate the standard deviation NSD of each node load level according to formula (5).

[0136]

[0137] Next, compare the magnitudes of NSD1 and NSD2. Assume NSD1 > NSD2. Then NSD2 is the standard deviation of the minimum node load level, and node 2 is determined as the target node; NSD1 is the standard deviation of the maximum node load level. Compare the magnitudes of the load levels of the 3 container replicas of NSD1. Assume DALL3 > DALL2 > DALL1. Then DALL3 is determined as the target container replica.

[0138] The scheduling module 3023 is used to determine a scheduling policy according to the target container replica and the target node, and distribute the scheduling policy to the node where the target container replica is located.

[0139] Among them, the scheduling policy is to migrate the target container replica from the node where it is located to the target node. Or, the scheduling policy may also be the master-slave switch of the master container replica and the slave container replica of the node where the target container replica is located, or the overall migration of the data container to the target node.

[0140] Among them, the node where the target container replica is located is used to execute the scheduling policy.

[0141] Exemplarily, during the process of executing the scheduling policy by the node where the target container replica is located, the node where the target container replica is located first deletes the target container replica from the node where the target container replica is located, and then adds the target container replica to the target node.

[0142] Continuing to take node 1 and node 2 as examples, that is, DALL3 is the target container replica, node 1 is the node where the target container replica is located, and node 2 is the target node. The scheduling policy is to migrate DALL3 from node 1 to node 2. The specific scheduling process is that node 1 first deletes DALL3 from node 1, and then adds DALL3 to node 2.

[0143] Such as Figure 6As shown, in a possible implementation, the resource management center 302 further includes a verification module 3024, which is used to verify the scheduling policy. The scheduling module 3023 is configured to perform resource scheduling based on the scheduling policy in the case where the scheduling policy verification is successful.

[0144] Among them, verifying the scheduling policy specifically includes:

[0145] Determine whether the scheduling policy meets the following conditions:

[0146] Condition 1: The resource size occupied by the target container replica is less than the remaining resources of the target node;

[0147] Condition 2: The target variance level of multiple nodes is the minimum value among the multiple predicted variance levels of multiple nodes;

[0148] Among them, the predicted variance level is the variance level of multiple nodes assuming that the predicted scheduling policy is executed; the target variance level is one of the multiple predicted variance levels;

[0149] If both Condition 1 and Condition 2 are met, the verification is successful.

[0150] Among them, meeting Condition 1 indicates that the remaining resources of the target node can accommodate the target container replica, which can meet the basic requirements for migrating the target container replica. Otherwise, it indicates that the remaining resources of the target node cannot accommodate the target container replica and the target container replica cannot be migrated, and the verification fails.

[0151] Meeting Condition 2 indicates that the target variance level is reduced to the minimum assuming that the predicted scheduling policy is executed, and it can be considered that the load level of the node is reduced to the minimum. The resource scheduling corresponding to the target variance level is the optimal solution, achieving the best load balancing of the node. Otherwise, it indicates that the optimal scheduling solution has not been reached and the verification has not been successful, and the resource scheduling solution can be further optimized.

[0152] From the above analysis, it can be seen that only when both Condition 1 and Condition 2 are met at the same time does it meet the optimal resource scheduling solution; if Condition 1 is met but Condition 2 is not met, it indicates that resource scheduling can be performed, but the optimal scheduling solution has not been found, and resource scheduling optimization can be continued; if Condition 1 is not met, regardless of whether Condition 2 is met or not, the target container replica resources cannot be scheduled to the target node, indicating that the resource scheduling is inappropriate and cannot be achieved.

[0153] Continuing with Nodes 1 and 2 as an example, the scheduling policy is to migrate DALL3 from Node 1 to Node 2. Assume that after the scheduling policy is executed, the predicted load levels of Nodes 1 and 2 are calculated.

[0154] The predicted load level NLL of Node 1 10 , that is, NLL10 = NSLL1 + DALL1 + DALL2.

[0155] The predicted load level of Node 2, NSLL 20 , that is, NLL 20 = NSLL 20 + DALL4 + DALL3.

[0156] Based on NLL 10 and NSLL 20 , calculate the predicted variance levels of Node 1 and Node 2 according to formulas (2) to (4), and predict the scheduling strategy again. By analogy, through cyclic calculation, obtain the minimum variance level of a node's load, that is, the target variance level in Condition 2, and perform resource scheduling based on the scheduling strategy corresponding to the target variance level.

[0157] In a possible implementation manner, after determining the scheduling strategy, it is not necessary to verify the scheduling strategy, and directly perform resource scheduling based on the determined scheduling strategy. For example, migrate DALL3 from Node 1 to Node 2.

[0158] In a possible implementation manner, a resource management center is configured on each node of the resource group. Each resource management center respectively collects the resource metrics of the corresponding node and the resource metrics of the data containers, and analyzes the load level of each node and the load level of each data container according to the resource metrics of each node and the resource metrics of each data container. The resource management centers communicate with each other. When the load level of a certain node reaches a certain threshold (such as 80%, 85%, 90% of full load, etc.), the resource management center corresponding to this node schedules one of the container replicas of this node to other nodes as the target container replica. Among them, the target container replica is determined based on the remaining resource size of other nodes. For example, the resource size occupied by the target container replica is less than the remaining resource size of other nodes. If there are multiple container replicas that meet the above conditions, compare the resource sizes occupied by the multiple container replicas that meet the conditions, and determine the container replica with the largest occupied resource as the target container replica; if there is only one container replica that meets the above conditions, determine this container replica as the target container replica.

[0159] It should be noted that the load levels of the nodes and the load levels of each data container have been described in detail in the foregoing method embodiments and will not be elaborated here. In addition, the method for determining the scheduling strategy is not limited to the methods listed above, and other methods can also be adopted. No matter what method is adopted, as long as those skilled in the art can determine the scheduling strategy.

[0160] Such as Figures 4 to 6As shown, in a possible implementation, to maintain the stability of the system, after determining the scheduling policy, the analysis module 3022 is configured to re-determine the load level of each node according to the resource metrics of each node collected by the collection module 3021 after resource scheduling.

[0161] It should be noted that the load level of the node has been described in detail in the foregoing method embodiments and will not be elaborated herein.

[0162] The scheduling module 3023 is configured to determine whether to perform resource scheduling again based on the re-determined load level of each node.

[0163] Optionally, the next round of calculation is triggered again only when the load level of a certain node reaches a certain threshold (such as 80%, 85%, 90% of full load, etc.), so as to minimize the scheduling frequency.

[0164] It should be noted that the determination scheme of resource scheduling has been described in detail in the foregoing method embodiments and will not be elaborated herein.

[0165] As Figure 7 shown, in a possible implementation, the resource management center 302 further includes a service module 3025, which is configured to receive an addition instruction. The addition instruction includes information about the new node.

[0166] Optionally, the user sends an addition instruction by calling the service module 3025 of the resource management center 302, specifying the link information or ID information of the node to be added, etc.

[0167] The service module 3025 adds a new node based on the addition instruction and installs a data area engine instance that can run on the new node.

[0168] During use, the user can assign this new node to a certain resource group 301 as needed, and then call the service module 3025 to actively increase the data container that can run on the data area engine instance corresponding to the new node, realizing the scaling of resources.

[0169] Among them, the scaling of resources means that the user can specify the information of the node to be added by calling the external service of the resource management center 302. When the resource management service adds a node, it installs a data area engine instance. The user can assign this node to a certain resource group 301 as needed, and then can call the service to actively increase the data container. The resource management center 302 can not only be responsible for managing the resource scheduling of other resource groups 301 except the resource management center 302, but also be responsible for managing the scaling of resources of other resource groups 301 except the resource management center 302.

[0170] Based on the same inventive concept, an embodiment of the present application further provides a resource orchestration method. The principle of solving problems by this method is similar to that of the system in the above embodiment. Therefore, for the implementation of this method, reference can be made to the implementation of the above system, and the repeated parts will not be elaborated.

[0171] See Figure 8 , Figure 8 is a schematic flowchart of the resource orchestration method provided by an embodiment of the present application. The method includes the following steps:

[0172] Step S801: Receive the resource metrics of each node and the resource metrics of each data container;

[0173] Step S802: Analyze the load level of each node and the load level of each data container according to the resource metrics of each node and the resource metrics of each data container;

[0174] Step S803: Perform resource scheduling according to the analysis result;

[0175] Among them, the load level of a node represents the current situation of the node's load; the load level of a data container represents the actual business load of the resource orchestration system.

[0176] In some implementation manners, each data container includes at least one primary container replica and / or at least one secondary container replica; the resource metrics of each data container include the resource metrics of at least one primary container replica and / or the resource metrics of at least one secondary container replica.

[0177] In some implementation manners, analyzing the load level of each node and the load level of each data container according to the resource metrics of each node and the resource metrics of each data container specifically includes: determining the load level of each node according to the resource metrics of each node, and determining the load level of each data container according to the resource metrics of each data container; among them, the load level of each data container includes the load level of at least one primary container replica and / or the load level of at least one secondary container replica; determining the standard load level of each node according to the load level of each node; determining the target container replica and the target node according to the standard load level of each node and the load level of each data container, where the target container replica is one replica among at least one primary container replica and / or at least one secondary container replica, and the target node is one node among other nodes except the node where the target container replica is located.

[0178] In some implementation manners, performing resource scheduling according to the analysis result specifically includes: determining a scheduling policy according to the target container replica and the target node; distributing the scheduling policy to the node where the target container replica is located.

[0179] In some implementations, the method further includes: the node where the target container replica is located executes a scheduling policy; wherein, the scheduling policy is to migrate the target container replica from the node where it is located to the target node.

[0180] In some implementations, the method further includes: verifying the scheduling policy; in the case where the scheduling policy verification is successful, resource scheduling is performed based on the scheduling policy.

[0181] In some implementations, verifying the scheduling policy includes: determining whether the scheduling policy meets the following conditions: Condition 1: the size of the resources occupied by the target container replica is less than the remaining resources of the target node; Condition 2: the target variance level of multiple nodes is the minimum value among the multiple predicted variance levels of multiple nodes; wherein, the predicted variance level is the variance level of multiple nodes assuming that the predicted scheduling policy is executed; the target variance level is one of the multiple predicted variance levels; if Conditions 1 and 2 are met, the verification is successful.

[0182] In some implementations, the method further includes: based on the resource metrics of each node collected by the collection module after resource scheduling, re-determining the load level of each node; a scheduling module, configured to determine whether to perform resource scheduling again based on the re-determined load level of each node.

[0183] In some implementations, the number of resource groups is multiple, and the node resources of each resource group are set to be schedulable only within its own resource group; the node resources of different resource groups are set to be isolated from each other.

[0184] In some implementations, the data container is a single-container replica, a dual-container replica, or a triple-container replica.

[0185] In some implementations, the method further includes: being configured to receive an addition instruction, the addition instruction including information about a new node; and adding the new node based on the addition instruction and installing a data area engine instance that can run on the new node.

[0186] It should be noted that the order of the above step processes is not fixed, and those skilled in the art can change the order of the steps or delete some steps according to needs, as long as the purpose of this application can be achieved. In an alternative implementation, a production event base model copy can be generated after generating the first derived model.

[0187] Based on the same inventive concept as the above method embodiment, the embodiment of the present application further provides a resource orchestration device. The principle of the device to solve problems is similar to that of the method in the above embodiment. Therefore, the implementation of the device can refer to the implementation of the above method, and the repeated parts will not be described again.

[0188] See Figure 9 , Figure 9The following is a schematic structural diagram of the resource orchestration device provided by an embodiment of this application. The device includes: a receiving module 901 and a processing module 902.

[0189] The receiving module 901 is configured to receive the resource metrics of each node and the resource metrics of each data container.

[0190] The processing module 902 is configured to analyze the load level of each node and the load level of each data container according to the resource metrics of each node and the resource metrics of each data container.

[0191] The processing module 902 is further configured to perform resource scheduling according to the analysis result.

[0192] Among them, the load level of a node represents the current status of the node's load; the load level of a data container represents the actual business load of the resource orchestration system.

[0193] In some implementation manners, the processing module 902 is specifically configured to receive the resource metrics of each node and the resource metrics of each data container; among them, each data container includes at least one primary container replica and / or at least one secondary container replica; the resource metrics of each data container include the resource metrics of at least one primary container replica and / or the resource metrics of at least one secondary container replica; it is further configured to determine the load level of each node according to the resource metrics of each node, and determine the load level of each data container according to the resource metrics of each data container; among them, the load level of each data container includes the load level of at least one primary container replica and / or the load level of at least one secondary container replica; it is further configured to determine the standard load level of each node according to the load level of each node; according to the standard load level of each node and the load level of each data container, determine a target container replica and a target node, where the target container replica is one replica among at least one primary container replica and / or at least one secondary container replica, and the target node is one node among other nodes except the node where the target container replica is located; it is further configured to determine a scheduling policy according to the target container replica and the target node; it is further configured to distribute the scheduling policy to the node where the target container replica is located.

[0194] In some implementation manners, the node where the target container replica is located executes the scheduling policy; among them, the scheduling policy is to migrate the target container replica from its current node to the target node.

[0195] In some implementation manners, the processing module 902 is further configured to verify the scheduling policy; in the case where the scheduling policy verification is successful, perform resource scheduling based on the scheduling policy.

[0196] In some implementation manners, verifying the scheduling policy includes: determining whether the scheduling policy meets the following conditions:

[0197] Condition 1: The resource size occupied by the target container replica is smaller than the remaining resources of the target node;

[0198] Condition 2: The target variance level of multiple nodes is the minimum value among the multiple predicted variance levels of the multiple nodes; wherein, the predicted variance level is the variance level of multiple nodes assuming that the predicted scheduling policy is executed; the target variance level is one of the multiple predicted variance levels;

[0199] If Conditions 1 and 2 are satisfied, the verification is successful.

[0200] In some implementation manners, the processing module 902 is configured to re-determine the load level of each node according to the resource metrics of each node collected by the collection module after resource scheduling; the scheduling module is configured to determine whether to perform resource scheduling again based on the re-determined load level of each node.

[0201] In some implementation manners, the number of resource groups is multiple, and the node resources of each resource group are set to be schedulable only within its own resource group; the node resources of different resource groups are set to be isolated from each other.

[0202] In some implementation manners, the data container is a single-container replica, a double-container replica, or a triple-container replica.

[0203] In some implementation manners, the apparatus further includes: a service module, configured to receive an addition instruction, where the addition instruction includes information about a new node; and add a new node based on the addition instruction, and install a data area engine instance capable of running on the new node.

[0204] Regarding the resource orchestration apparatus in the above embodiments, the specific manners in which each module performs operations and the beneficial effects achieved have been described in detail in the foregoing method embodiments, and will not be elaborated herein.

[0205] In an exemplary embodiment, the embodiments of the present application further provide an electronic device. The electronic device may be a server or a terminal device. In this embodiment, as Figure 10 ? shown, Figure 10 shows a schematic structural diagram of the electronic device. The electronic device 1000 includes: a processor 1001, a communication interface 1002, a memory 1003, and a bus 1004.

[0206] Among them, the processor 1001 is configured to control and manage the operations of the apparatus. For example, the processor 1001 executes each step in the method flow shown in the foregoing method embodiments, and / or is configured to execute other processes of the technologies described herein.

[0207] The processor 1001 may implement or execute various exemplary logical blocks, units, and circuits described in connection with the disclosure of the present invention. The processor may be a central processing unit, a general-purpose processor, a digital signal processor, an application specific integrated circuit, a field programmable gate array, or other programmable logic device, transistor logic device, hardware component, or any combination thereof. It may implement or execute various exemplary logical blocks, units, and circuits described in connection with the disclosure of the present invention. The processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.

[0208] Wherein, the communication interface 1002 is used to support the communication of the device with other network entities, for example, to support the information interaction between the electronic device 1000 and other devices. The communication interface 1002, the processor 1001, and the memory 1003 may be coupled to each other, for example, through the bus 1004.

[0209] Wherein, the memory 1003 is used to store the program code and data of the device and is controlled by the processor 1001 for execution.

[0210] The memory 1003 may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, or may also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM), or other optical disc storage, optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 1003 may exist independently and be connected to the processor 1001 through the bus 1004. The memory 1003 may also be integrated with the processor 1001.

[0211] Wherein, the bus 1004 may be an extended industry standard architecture (EISA) bus, etc. The bus 100... Figure 10 is only represented by a thick line for convenience of representation, but does not mean that there is only one bus or one type of bus.

[0212] It should be noted that Figure 10 the device structure shown in Figure 10 does not constitute a limitation on the electronic device 1000. Except for

[0213] the components shown, the electronic device 1000 may include more or fewer components than those shown in the figure, or combine certain components, or have a different component arrangement.[[ID=~]] Figure 10 the processor 1001 shown call the program code in the memory 1003 to implement.

[0214] Through the description of the above embodiments, those skilled in the art can clearly understand that for the convenience and conciseness of description, only the above division of each functional module is used as an example. In actual applications, the above functions can be allocated to different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. The specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.

[0215] As described above, the embodiments of the present application can divide each execution entity involved in the method for changing the data structure into functional modules according to the above method examples. Among them, the above integrated modules can be implemented in the form of hardware or in the form of software functional modules. In addition, it should be noted that the division of modules in the embodiments of the present application is illustrative, only a logical function division, and there may be other division methods in actual implementation. For example, each functional module can be corresponding to each function, or two or more functions can be integrated into one processing module.

[0216] In an exemplary embodiment, the embodiments of the present application also provide a computer-readable storage medium, on which computer program instructions are stored; when the computer program instructions are executed by an electronic device, the electronic device implements the method as in the foregoing embodiments.

[0217] Optionally, the above computer-readable storage medium may be a non-transitory computer-readable storage medium. For example, the non-transitory computer-readable storage medium may be ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage devices, etc.

[0218] In an exemplary embodiment, the embodiments of the present application also provide a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying the computer-readable code. When the computer-readable code runs in an electronic device, the processor in the electronic device implements the method as in the foregoing embodiments.

[0219] Those skilled in the art will readily conceive of other embodiments of the present application after considering the specification and practicing the invention claimed herein. This application is intended to cover any variations, uses, or adaptations of the present application, which follow the general principles of the present application and include known common knowledge or conventional technical means in the technical field not claimed in the present application. The specification and examples are only illustrative, and the true scope and spirit of the present application are pointed out by the following claims.

[0220] It should be understood that the present application is not limited to the exact structures described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present application is only limited by the appended claims.

Claims

1. A resource orchestration system, characterized in that, The system includes: a resource group and a resource management center; wherein, The resource group includes multiple nodes, and a data area engine instance can run on each node, and a data container can run on the data area engine instance; The resource management center is configured to receive the resource metrics of each node and the resource metrics of each data container, analyze the load level of each node and the load level of each data container according to the resource metrics of each node and the resource metrics of each data container, and perform resource scheduling according to the analysis results; wherein, the load level of the node represents the current status of the node load; the load level of the data container represents the actual business load of the system.

2. The system according to claim 1, wherein The resource management center includes a collection module, an analysis module and a scheduling module; The collection module is configured to receive the resource metrics of each node and the resource metrics of each data container; wherein, each data container includes at least one primary container replica and / or at least one secondary container replica; the resource metrics of each data container include the resource metrics of the at least one primary container replica and / or the resource metrics of the at least one secondary container replica; The analysis module is configured to determine the load level of each node according to the resource metrics of each node, and determine the load level of each data container according to the resource metrics of each data container; wherein, the load level of each data container includes the load level of the at least one primary container replica and / or the load level of the at least one secondary container replica; The analysis module is further configured to determine the standard load level of each node according to the load level of each node; determine a target container replica and a target node according to the standard load level of each node and the load level of each data container, wherein, the target container replica is one of the at least one primary container replica and / or the at least one secondary container replica, and the target node is one of the other nodes except the node where the target container replica is located; The scheduling module is configured to determine a scheduling policy according to the target container replica and the target node; The scheduling module is further configured to distribute the scheduling policy to the node where the target container replica is located.

3. The system according to claim 2, wherein, The node where the target container replica is located is configured to execute the scheduling policy; wherein, the scheduling policy is to migrate the target container replica from the node where it is located to the target node.

4. The system according to claim 2 or 3, characterized in that, The resource management center further includes a verification module, which is configured to verify the scheduling policy; The scheduling module is configured to perform resource scheduling based on the scheduling policy in the case where the scheduling policy is verified successfully.

5. The system according to claim 4, wherein The verification of the scheduling policy includes: Judging whether the scheduling policy meets the following conditions: Condition 1: The resource size occupied by the target container replica is less than the remaining resource size of the target node; Condition 2: The target variance level of the multiple nodes is the minimum of the multiple predicted variance levels of the multiple nodes; wherein, the predicted variance level is the variance level of the multiple nodes assuming that the predicted scheduling policy is executed; the target variance level is one of the multiple predicted variance levels. If Condition 1 and Condition 2 are satisfied, the verification is successful.

6. The system according to claim 2, wherein The analysis module is configured to re-determine the load level of each node according to the resource metrics of each node collected by the collection module after resource scheduling. The scheduling module is configured to determine whether to perform resource scheduling again based on the re-determined load level of each node.

7. The system according to claim 1, characterized in that, The number of the resource groups is multiple, and the node resources of each resource group are set to be schedulable only within its own resource group; the node resources of different resource groups are set to be isolated from each other.

8. The system according to claim 1, wherein The data container is a single-container replica, a double-container replica, or a triple-container replica.

9. The system according to claim 2, wherein The resource management center further includes: A service module, configured to receive an addition instruction, where the addition instruction includes information about a new node; and add the new node based on the addition instruction and install a data area engine instance that can run on the new node.

10. A resource orchestration method, characterized in that, Applied to the resource orchestration system according to any one of claims 1 to 9; the method includes: Receiving the resource metrics of each node and the resource metrics of each data container. Analyzing the load level of each node and the load level of each data container according to the resource metrics of each node and the resource metrics of each data container. Performing resource scheduling according to the analysis result. Wherein, the load level of the node represents the current situation of the node load; the load level of the data container represents the actual service load of the system.

11. A resource orchestration device, characterized in that, The device includes: A receiving module, configured to receive the resource metrics of each node and the resource metrics of each data container. A processing module, configured to analyze the load level of each node and the load level of each data container according to the resource metrics of each node and the resource metrics of each data container. The processing module is further configured to perform resource scheduling according to the analysis result. Wherein, the load level of the node represents the current situation of the node load; the load level of the data container represents the actual service load of the resource orchestration system.

12. A computer-readable storage medium, the computer-readable storage medium comprising a computer program, characterized in that, When the computer program runs on an electronic device, the electronic device is caused to implement the method according to claim 10.