Virtualization-based data intermediate station resource isolation scheduling method

The method uses virtualization and adaptive load balancing to isolate and balance resources among tenants in data middle platforms, addressing interference and inefficiency in existing systems.

CN119149167APending Publication Date: 2024-12-17JIANGSU ELECTRIC POWER INFORMATION TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411036577.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-07-31
Publication Date
2024-12-17

AI Technical Summary

Technical Problem

Current data middle platforms fail to adequately isolate tenants' resources and account for load fluctuations, leading to potential interference and inefficient resource allocation.

Method used

Implement a method using container and network virtualization to isolate tenant systems and resources, combined with an adaptive load balancing strategy that includes node load calculation, optimization, load stack construction, and load transfer to maintain resource independence and balance.

Benefits of technology

Ensures resource isolation and load stability across tenants, preventing interference and optimizing resource usage in the data middle platform.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119149167A_ABST
    Figure CN119149167A_ABST
Patent Text Reader

Abstract

The invention discloses a virtualization-based data-in-channel resource isolation scheduling method, which comprises virtualization-based data-in-channel resource isolation and self-adaptive load balancing scheduling, and the self-adaptive load balancing scheduling comprises four stages of node load calculation, strategy optimization, load stack construction and load transfer. According to the method, data resources, network resources and computing resources of all departments in the data platform are isolated through the virtualization technology, independence among all the departments is ensured, and each department has an independent node for distinguishing the computing resources; the resources between the nodes are monitored by the Kubernetes management node and are scheduled through a self-adaptive load balancing scheduling strategy, and the self-adaptive scheduling algorithm is used for controlling the internal load condition of the data medium station, so that the situation that the service cannot be executed due to the fact that the load of each department is too high or too low is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of data middle platform, and relates to isolation mechanism and resource scheduling strategy, specifically, a data middle platform resource isolation scheduling method based on virtualization. Background Art

[0002] In modern information systems, with the growth of data volume within enterprises, the huge data accumulated by various departments have formed independent data islands. In order to solve the problem of data interoperability, the concept of data middle platform has been proposed. The data middle platform can integrate data and break down the barriers between heterogeneous data. At the same time, it can also purify and process data and turn data into assets.

[0003] However, the current research on the data middle platform focuses on how to combine the self-built capabilities of the data middle platform with the company's own business, while ignoring some overall issues, such as: the computing systems used by the tenants in the data middle platform are different, and the data assets generated by the analysis cannot be shared. These situations require the data middle platform to isolate each tenant to a certain extent internally in order to distinguish the data assets of different tenants. In addition, different tenants have different businesses and require different resources. Allowing tenants to call resources at will will affect the business of other tenants in the middle platform, so it is necessary to reasonably allocate the tenants' resource usage. The current resource load balancing strategy does not take into account the current resource load of each tenant, so it is necessary to improve the existing strategy and take into account the tenants' resource load as fully as possible. Summary of the invention

[0004] In response to the current problems of multi-tenant isolation and resource scheduling in the data middle platform, the purpose of the present invention is to provide a data middle platform resource isolation and scheduling method based on virtualization, which can increase the independence between tenants and reduce the load fluctuation of nodes in the cluster.

[0005] To achieve the above object, the technical solution of the present invention is as follows:

[0006] A method for isolating and scheduling data middle-end resources based on virtualization, characterized in that: the method includes isolating data middle-end resources based on virtualization and adaptive load balancing scheduling, wherein the adaptive load balancing scheduling includes four stages: node load calculation, optimization strategy, load stack construction, and load transfer; the details are as follows:

[0007] 1) Data center resource isolation

[0008] Container virtualization is used to isolate system computing resources. Each tenant system is virtualized by Docker (an open source application container engine used to package applications into portable containers) and then managed uniformly by Kubernetes. The network resource isolation of tenants is achieved by virtualization, and different tenants are assigned to different virtual network segments. The data resources of tenants are isolated at the row level.

[0009] 3) Node load calculation

[0010] The node resource load calculation takes into account the resource usage of four aspects, namely CPU resources, memory resources, network data transmission bandwidth resources and disk input and output resources. First, the load of a certain type of resource in the cluster is calculated, and then the load of the corresponding type of resource of each node is calculated based on the cluster load.

[0011] 3) Optimal strategy

[0012] For a newly created Pod (the smallest deployable computing unit in Kubernetes, which encapsulates one or more containers), the default pre-selection strategy is first used to filter out nodes with resource conflicts and affinity conflicts. The load variable of the selected nodes after the Pod is added is then calculated, and the Pod is assigned to the node with the smallest load change.

[0013] 4) Load stack construction

[0014] Two types of load piles are maintained in the node cluster, namely, high load pile and low load pile. The cluster sets upper and lower threshold value intervals [min, max]. If the node load evaluation is lower than min, it is added to the low load pile, and if it is higher than max, it is added to the high load pile.

[0015] 5) Load transfer

[0016] The cluster performs load scheduling, revokes the Pod in the root node of the high-load heap, and transfers it to the root node of the low-load heap.

[0017] In this invention, container virtualization technology is used to isolate system computing resources. Each department system is virtualized by Docker and then managed uniformly by Kubernetes. Multiple containers are aggregated into a Pod, and usually one tenant has multiple Pods. Kubernetes uses namespaces to plan the ownership of Pods. Tenants can call all Pods in their namespaces, but cannot call other Pods across namespaces, ensuring that the computing resources of each tenant are isolated. Network between tenants

[0018] Isolation can be achieved using network virtualization. Different tenants will be assigned different virtual network segments, and tenants can divide network segments into finer segments for internal users. Communication between different virtual network segments needs to pass the network policy specified by Kubernetes to ensure the secure transmission of information between tenants. For the storage of tenant data assets, row isolation is used to isolate data from different tenants.

[0019] Corresponding to the isolation solution is the resource scheduling strategy of Kubernetes. The main process of this strategy is divided into four steps, including node load calculation stage, optimization strategy, load stack construction, and load transfer.

[0020] Node load calculation stage: Calculate the load of four types of resources in the cluster, namely: CPU resources, memory resources, network data transmission bandwidth resources and disk input and output resources. Calculate the node resource load based on the overall cluster resource load. Finally, considering the different resource requirements of different nodes, introduce the weights of the four resources and calculate the final load score of the node.

[0021] Optimal strategy stage: Nodes are screened using the default Kubernetes pre-selection strategy, and then a new optimal strategy is executed on the screened nodes: the least load change strategy LeastLoadChange. By comparing the load fluctuations of each node after loading the Pod, the node with the smallest load change is selected to maintain the overall load balance of the cluster.

[0022] Load pile construction phase: Two load piles are built inside the cluster, namely the high load pile and the low load pile. The low load pile is a small root pile, and the top node of the pile is the node with the lowest cluster load; the high load node is a large root pile, and the top node of the pile is the node with the highest cluster load. Only nodes outside the load threshold range will be added to the load pile.

[0023] Load transfer phase: The cluster determines whether the root node of the high-load heap is in a Pod revocable state. If it is in a revocable state, the Pod is revoked until its load is within the load threshold range, and then the revoked Pod is transferred to the root node of the low-load heap. Each node maintains a LoadNum value, which is used to count the number of times it is recorded as a high-load node. At the same time, the cluster sets a maxLoadNum value, which represents the maximum number of high loads allowed. When LoadNum exceeds maxLoadNum, the node is marked as a revocable Pod state. When a node is determined to be a low-load node, LoadNum is cleared.

[0024] The beneficial effects of the present invention are:

[0025] This method uses virtualization technology to isolate the data resources, network resources, and computing resources of each department in the data center to ensure the independence of each department. Each department has a separate node to distinguish computing resources. The resources between nodes are monitored by the Kubernetes management node and scheduled through an adaptive load balancing scheduling strategy. The adaptive scheduling algorithm is used to control the internal load status of the data center to avoid the situation where the load of each department is too high or too low, resulting in the inability to execute business. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] Figure 1 This is a schematic diagram of a data center resource isolation method based on virtualization;

[0027] Figure 2 It is the flow chart of adaptive load balancing algorithm;

[0028] Figure 3 Construct an algorithm flow chart for the load pile. DETAILED DESCRIPTION

[0029] The present invention will be further described below in conjunction with the accompanying drawings.

[0030] A virtualization-based data middle station resource isolation scheduling method, including virtualization-based data middle station resource isolation and adaptive load balancing scheduling, wherein the adaptive load balancing scheduling includes four stages: node load calculation, optimization strategy, load stack construction, and load transfer;

[0031] Use container virtualization technology to isolate system computing resources. Figure 1 This is a schematic diagram of the resource isolation method of the data center based on virtualization; the systems of each department are virtualized by Docker and then uniformly managed by Kubernetes. The aggregation of multiple containers is called a Pod, and usually one tenant has multiple Pods. Kubernetes plans the ownership of Pods through namespaces. Tenants can call all Pods under their namespaces, but cannot call other Pods across namespaces to ensure that the computing resources of each tenant are isolated. Network isolation between tenants can be achieved using network virtualization. Different tenants will be assigned different virtual network segments, and tenants can divide the network segments into finer segments for internal users. Communication between different virtual network segments needs to be carried out through the network policy specified by Kubernetes to ensure the secure transmission of information between tenants. For the storage of tenant data assets, row isolation is used to isolate data from different tenants, and the data is distinguished by the tenant's unique ID.

[0032] The main process of adaptive load balancing scheduling is divided into four steps, including node load calculation, optimization strategy, load stack construction, and load transfer;

[0033] The specific process of the node load calculation stage is: calculating the load of four types of resources within the cluster: CPU, memory, network data transmission bandwidth, and disk input and output.

[0034] Cluster Load calculation formula:

[0035]

[0036] TotalLoad indicates the amount of resources in this type of cluster. i represents the actual usage of each node i, tr i Indicates the resource ownership of the i-th node.

[0037] The calculation formula for node resource load evaluation NodeLoad is:

[0038]

[0039] Where r represents the actual usage of the node, and ClusterLoad represents the overall load of the cluster.

[0040] Then, the overall load evaluation of the node is calculated. Considering that different nodes have different demands for a certain resource, the resource weight parameter λ needs to be added when evaluating the overall load of the node. The node weight parameter set is R = {λ1,λ2,λ3,λ4}, which represent the CPU resource weight parameter, memory resource weight parameter, bandwidth resource weight parameter, and disk input and output resource weight parameter from front to back.

[0041] The calculation formula for the node overall load evaluation Score is:

[0042]

[0043] where λ i Represents the weight parameter of the i-th resource in the collection, NodeLoad i Represents the load assessment of the i-th type of resources on the node.

[0044] The specific process of the optimization strategy stage is: the nodes are screened by the default pre-selection strategy of Kubernetes, and then the new optimization strategy LeastLoadChange is implemented on the screened nodes. The LeastLoadChange strategy first calculates the load of a certain type of resource on the node after loading the Pod

[0045] The calculation formula for resource evaluation PodaLoad after loading the Pod is:

[0046]

[0047] Where r represents the actual usage of the node, and pr represents the resource usage of the loaded Pod

[0048] The calculation formula for PodScore, which evaluates the overall load of a node after loading the Pod, is:

[0049]

[0050] where λ i Represents the weight parameter of the i-th resource in the collection, PodLoad i Represents the load assessment of the i-th resource of the node after the Pod is loaded.

[0051] The calculation formula of node load fluctuation LoadChange is:

[0052] LoadChange=∣PodScore-Score∣ (6)

[0053] Compare the calculated LoadChange sizes and select the smallest node as the scheduling node for the Pod.

[0054] The specific process of the load heap construction phase is as follows: the cluster sets a load threshold interval [min, max], and when the stage load is higher than max, it is added to the high load heap, and when the stage load is lower than min, it is added to the low load heap. The process of load heap construction is as follows Figure 3 As shown, including:

[0055] (1) Enter the node list in the cluster.

[0056] (2) Initialize the load pile construction algorithm parameters.

[0057] Initialize the low load threshold min, high load threshold max, resource set of each node and resource weight set of the node respectively.

[0058] (3) Traverse the nodes and calculate the node load evaluation.

[0059] Read the data of the node resource collection, use formula (2) to calculate the load evaluation of a certain resource, and then use formula

[0060] (3) Calculate the overall load evaluation of the node by combining the node resource weight set. If the resource load score calculated by formula (3) is less than 0, it means that the resource load of the node is lower than the cluster load average. If it is greater than 0, it means that it is higher than the cluster average. The higher the score, the higher the load, and vice versa. If the score is equal to 0, it means that the overall evaluation of the node resources is closest to the overall load of the cluster.

[0061] (4) Compare the calculated node load assessment with the load threshold interval.

[0062] If the node load evaluation is greater than the high load threshold, it is added to the high load pile, and the high load count value of the node is increased by one; if the node load evaluation is less than the low load threshold, it is added to the low load pile, and the high load count value of the node is reset to zero; nodes whose load evaluation is between the high load threshold and the low load threshold are not added to the high load pile or the low load pile.

[0063] The specific process of the load transfer stage is: the cluster determines whether the root node of the high-load heap is in a Pod revocable state. If it is in a revocable state, the Pod is revoked until its load is within the load threshold range, and then the revoked Pod is transferred to the root node of the low-load heap. After the Pod is revoked, the LoadNum value of the heap node is set to 0.

[0064] By adopting the present invention, the resources between tenants in the data center are isolated from each other. At the same time, each time a new Pod is created in the cluster, the node with the least impact on the cluster load is selected for scheduling according to the resource scheduling strategy, and the Pod on the high-load node is actively scheduled to the low-load node, so as to achieve load balancing within the cluster.

Claims

1. A method for isolating and scheduling data middle station resources based on virtualization, characterized in that: The method includes virtualized data center resource isolation and adaptive load balancing scheduling, wherein the adaptive load balancing scheduling includes four stages: node load calculation, optimization strategy, load stack construction, and load transfer; the details are as follows: 1) Data center resource isolation Use container virtualization to isolate system computing resources. Each tenant system is virtualized by Docker and then managed uniformly by Kubernetes. Tenant network resource isolation is achieved by virtualization, and different tenants are assigned to different virtual network segments. Tenant data resources are isolated at the row level. 2) Node load calculation The node resource load calculation takes into account the resource usage of four aspects, namely CPU resources, memory resources, network data transmission bandwidth resources and disk input and output resources. First, the load of a certain type of resource in the cluster is calculated, and then the load of the corresponding type of resource of each node is calculated based on the cluster load. 3) Optimal strategy For newly created Pods, the default pre-selection strategy is first used to filter out nodes with resource conflicts and affinity conflicts. The load variable of the filtered nodes after the Pod is added is then calculated, and the Pod is assigned to the node with the smallest load change. 4) Load stack construction Two types of load piles are maintained in the node cluster, namely, high load pile and low load pile. The cluster sets upper and lower threshold value intervals [min, max]. If the node load evaluation is lower than min, it is added to the low load pile, and if it is higher than max, it is added to the high load pile. 5) Load transfer The cluster performs load scheduling, revokes the Pod in the root node of the high-load heap, and transfers it to the root node of the low-load heap.

2. According to the virtualization-based data center resource isolation scheduling method of claim 1, it is characterized by: In step 2), the calculation formula for cluster resource load ClusterLoad is: TotalLoad indicates the amount of resources in this type of cluster. i represents the actual usage of each node i, tr i Indicates the resource ownership of the i-th node; The calculation formula for node resource load evaluation NodeLoad is: Where r represents the actual usage of the node, and ClusterLoad represents the overall load of the cluster; Then the overall load evaluation of the node is calculated. Considering that different nodes have different demands for a certain resource, the resource weight parameter λ is added when evaluating the overall load of the node. The node weight parameter set is R = {λ1,λ2,λ3,λ4}, which represent the CPU resource weight parameter, memory resource weight parameter, bandwidth resource weight parameter, and disk input and output resource weight parameter from front to back. The calculation formula for the node overall load evaluation Score is: where λ i Represents the weight parameter of the i-th resource in the collection, NodeLoad i Represents the load assessment of the i-th type of resources on the node.

3. The method for isolating and scheduling data middle station resources based on virtualization according to claim 1 is characterized in that: In step 3), the calculation formula for resource evaluation PodaLoad after loading the Pod is: Among them, r represents the actual usage of the node, and pr represents the resource usage of the loaded Pod. The calculation formula for PodScore, which evaluates the overall load of a node after loading the Pod, is: where λ i Represents the weight parameter of the i-th resource in the collection, PodLoad i Represents the load evaluation of the i-th resource of the node after the Pod is loaded; The calculation formula of node load fluctuation LoadChange is: LoadChange=∣PodScore-Score∣ (6) Compare the calculated LoadChange sizes and select the smallest node as the scheduling node for the Pod.

4. The method for isolating and scheduling data middle station resources based on virtualization according to claim 1 is characterized in that: In step 4), the cluster sets a load threshold interval [min, max]. When the stage load is higher than max, it is added to the high load pile, and when it is lower than min, it is added to the low load pile; including: (1) Enter the node list in the cluster; (2) Initialize the parameters of the load pile construction algorithm; respectively initialize the low load threshold min, the high load threshold max, the resource set of each node, and the resource weight set of the node; (3) Traverse the nodes and calculate the node load evaluation; read the data of the node resource set, calculate the load evaluation of a certain resource, and calculate the overall load evaluation of the node in combination with the node resource weight set. If the resource load score obtained by calculation is less than 0, it means that the node resource load is lower than the cluster load average, and if it is greater than 0, it is higher than the cluster average. The higher the score, the higher the load, and vice versa. If the score is equal to 0, it means that the overall evaluation of the node resource is closest to the overall load of the cluster. (4) Compare the calculated node load assessment with the load threshold interval; If the node load evaluation is greater than the high load threshold, it is added to the high load pile, and the high load count value of the node is increased by one; if the node load evaluation is less than the low load threshold, it is added to the low load pile, and the high load count value of the node is reset to zero; nodes whose load evaluation is between the high load threshold and the low load threshold are not added to the high load pile or the low load pile.

5. The method for isolating and scheduling data middle station resources based on virtualization according to claim 1 is characterized in that: In step 5), the cluster determines whether the root node of the high-load heap is in a Pod revocable state. If it is in a revocable state, the Pod is revoked until its load is within the load threshold range, and then the revoked Pod is transferred to the root node of the low-load heap; each node maintains a LoadNum value, which is used to count the number of times it is recorded as a high-load node each time. At the same time, the maxLoadNum value is set in the cluster, which represents the maximum allowable number of high loads. When LoadNum exceeds maxLoadNum, the node is marked as a revocable Pod state; when the node is determined to be a low-load node, LoadNum is cleared.