SDN controller load balancing method based on bidirectional Astar algorithm
By adopting bidirectional Astar algorithm and multi-criteria optimization objective function in SDN networks, the shortcomings of SDN load balancing and link utilization optimization in the existing technology are solved, and more accurate path selection and network performance improvement are achieved.
Patent Information
- Application Number
- CN202411422714.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-12
- Publication Date
- 2025-01-07
AI Technical Summary
The existing SDN load balancing scheme lacks the ability to respond to dynamic changes in network state and lacks comprehensive optimization goals. Traditional schemes only focus on a single indicator and cannot effectively realize the integration of controller load balancing and link utilization in complex networks. optimization.
Using a method based on the two-way Astar algorithm, the network topology graph is constructed, node and edge weights are set, and the multi-criteria optimization objective function is set based on the normalized maximum load difference and link control message utilization. The two-way search optimization is used to find the most Excellent paths, and real-time monitoring and update weights, and dynamically adjust optimization goals.
It improves the accuracy and network performance of path selection, reduces the possibility of wrong path selection, enhances the adaptability and stability of the network, and realizes comprehensive load balancing and link utilization optimization.
Smart Images

Figure CN119276874A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the fields of computer network optimization and controller load balancing, and in particular to a method for SDN controller load balancing based on a bidirectional Astar algorithm. Background Art
[0002] Controller load balancing in SDN networks is a core issue, which mainly involves how to distribute network traffic and control tasks in the context of multiple controllers to ensure the efficiency and reliability of the network. Controller load balancing understands the topology of the network. When switches and other devices in the network encounter data packets, they send requests to the controller. The controller processes these requests according to network policies and rules and decides how to process the data packets. When the controller decides how to process the data, it generates flow table entries to guide the switch on how to process the data flow. In this process, the controller continuously monitors the traffic in the network and its own load. When the controller's load is too high, it reallocates tasks based on the current load of the controller.
[0003] Many existing SDN load balancing solutions rely on preset routing strategies, lack the ability to respond to dynamic changes in network status, and lack comprehensive optimization goals. Traditional solutions often only focus on a single indicator without comprehensively considering load balancing and link utilization. Traditional path search algorithms are not suitable for dynamic environments, consume a lot of resources, and perform poorly in complex networks. Summary of the invention
[0004] The purpose of the present invention is to provide a method for SDN controller load balancing based on the bidirectional Astar algorithm to solve the above technical problems.
[0005] The purpose of the present invention can be achieved through the following technical solutions:
[0006] A method for load balancing of an SDN controller based on a bidirectional Astar algorithm comprises the following steps:
[0007] S1. Build a network topology, set node weights and edge weights, and initialize the weights of each controller and the weights of the connecting edges;
[0008] S2, setting a multi-criteria optimization objective function in combination with the normalized maximum load difference and the normalized actual utilization rate of the link control message;
[0009] S3, judging whether the threshold is exceeded according to the result of multi-criteria optimization objective function, and choosing whether to perform controller load balancing;
[0010] S4, use the bidirectional search Astar algorithm to optimize and find the best path from the source node to the target node, and obtain the best path by continuously calculating the total cost of the path;
[0011] S5. Continuously monitor the load and network traffic status of each controller, update the node weights and edge weights of the network topology in real time, and recalculate the multi-criteria optimization objective function.
[0012] As a further technical solution, S1 comprises the following steps:
[0013] S1-1. Model the network as a weighted graph G(V, E), where V is a node set, representing a controller set, and E is an edge set, representing a network link set connecting the controllers;
[0014] S1-2. Each node V has a weight ω v , using the collected CPU u 、Mem u , Th, Packet calculates the controller node weight, each link has an edge weight C uv , use the collected Band u , Laten, Packetloss calculate edge weights;
[0015] Node weight ω v The calculation formula is as follows:
[0016] ω v =τ*CPU u +σ*Mem u +γ*Th+δ*Packet (1)
[0017] In formula (1): v is the weight of the V node; τ, σ, γ, δ are weight coefficients; CPU u is the CPU usage; Mem u is the memory usage; Th is the network throughput; Packet is the Packet-In rate received by the controller from the switch.
[0018] 3. The method for load balancing of SDN controller based on bidirectional Astar algorithm according to claim 2, characterized in that the edge weight C uv The formula is as follows:
[0019] C uv =θ*Band u +μ*Laten+ρ*Packetloss (2)
[0020] In formula (2): C uv is the edge weight; θ, μ, ρ are weight coefficients; Band u is bandwidth utilization; Laten represents delay; Packetloss represents packet loss rate.
[0021] As a further technical solution, S2 comprises the following steps:
[0022] S2-1, query the maximum and minimum values in the node weights, calculate the maximum load difference in the network, and perform normalization processing, query the transmission volume of the link control message and the maximum control message capacity of the link, calculate the sum of the control message utilization of the link, and perform normalization processing;
[0023] The normalized formula for the maximum load difference is as follows:
[0024]
[0025] In formula (3), MAXD represents the maximum difference between the maximum and minimum values of node load in historical data; D represents the normalized result;
[0026] The calculation formula for the sum of link control message utilization is as follows:
[0027]
[0028] In formula (4), |E| represents the total number of links;
[0029] The normalized formula for the actual utilization of link control messages is as follows:
[0030]
[0031] In formula (5), F represents the normalized result of the actual utilization rate of the link control message; f uv represents the actual control message traffic on the link (u, v), x uv Indicates the maximum control message capacity of the link;
[0032] S2-2, use quartiles to define four intervals: low, medium-low, medium-high, and high, and set four α and β weight coefficients corresponding to the four intervals;
[0033] S2-3, setting a multi-criteria objective optimization function in combination with the normalized maximum load difference and the normalized link utilization;
[0034] The calculation formula of the multi-criteria objective optimization function is as follows:
[0035] Ob=α*D+β*F (6)
[0036] In formula (6), Ob is the result of the objective optimization function; α and β represent weight coefficients.
[0037] 5. The method for load balancing of SDN controller based on bidirectional Astar algorithm according to claim 4, characterized in that said S3 comprises the following steps:
[0038] S3-1. Based on the result of the multi-criteria optimization objective function, first determine whether the result of the optimization function exceeds the threshold. If it does not exceed the threshold, it means that the controller load in the network is balanced and the link traffic utilization is reasonable. If it exceeds the threshold, it means that there is a serious load imbalance in the network or the link is overcrowded, and load balancing needs to be performed immediately.
[0039] S3-2. If the result of the multi-criteria optimization objective function exceeds the threshold, it indicates that load balancing is required. The controller with the highest node load is set as the source node S, and the controller with the lowest node load is set as the target node T, that is,
[0040] As a further technical solution, S4 comprises the following steps:
[0041] S4-1. Set four lists Open_S, Open_T, Close_S and Close_T. Open_S contains the nodes to be explored starting from the starting node S, and initially only contains S. Open_T contains the nodes to be explored starting from the target node T, and initially only contains T. Close_S and Close_T represent two closed lists, which are used to store the evaluated nodes explored from the starting node S and the target node T, respectively.
[0042] S4-2, the path from the starting node S to the target node T passes through a series of intermediate nodes, and any intermediate node in the direction of exploration from the starting node S is set as n s , n s Each neighbor node of s Set any intermediate node in the direction of exploration from the target node to n t , n t Each neighbor node of t ;
[0043] S4-3, define the cost function from the current node to the neighboring node in the bidirectional search process, which represents the actual path cost from the current node to the neighboring node;
[0044] The cost function calculation formula is:
[0045] g new (m) = g(n) + C mn (7)
[0046] In formula (7), g new (m) represents the actual path cost from the current node to the neighboring node in the bidirectional search; Cmn Represents the edge weight from the current node to the neighboring node;
[0047] S4-4, define a heuristic function to estimate the estimated cost from the neighboring node m to the target node T;
[0048] The calculation formula of the heuristic function h(m) is as follows:
[0049]
[0050] In formula (8), h(m) represents the estimated cost from neighbor node m to target node T; ψ1 and ψ2 represent the weight coefficients of delay and bandwidth; E(m,T) represents the estimated average distance from m to T, calculated using the average number of hops; AD represents the average data transmission rate in the network; AB represents the average network bandwidth;
[0051] S4-5, define the total cost function as f(m), and estimate the total cost value from the current node to the target node;
[0052] f(m)=g(m)+h(m) (9)
[0053] In formula (9), f(m) represents the total cost of the path;
[0054] S4-6. Calculate f(S) and f(T) from the starting node S and the target node T respectively. Initially set g(S) to 0 and calculate g(T) to 0. Traverse all neighboring nodes of S and T and calculate g new (m s ), if g new (m s ) is smaller than the known g(m s ), or m s If it is not in Open_S or Open_T, update g(m s ) and f(m s ), and m s Add in Open_S or Open_T;
[0055] S4-7, continuously perform bidirectional iterative updates, and select the node with the lowest f value from Open_S as the current node n s , select the node with the lowest f value from Open_T as the current node n t After the update is completed, move the current node to the Close list, and check whether the two directions intersect each time. If n s Appears on Close_T or n t Appearing in Close_S, it indicates that the two search directions meet and path reconstruction begins;
[0056] S4-8. When a meeting point is found, the paths from the starting node to the meeting node and from the target node to the meeting node are connected to form a complete path. If Open_S or Open_T is empty, it indicates that the path cannot be found.
[0057] As a further technical solution, S5 comprises the following steps:
[0058] S5-1. Continuously monitor the CPU utilization rate, memory utilization rate, network throughput, Packet-In rate of switch control messages, link bandwidth utilization rate, delay rate, and packet loss rate indicators of each controller, update the node weights and edge weights of the network topology map in real time, and recalculate the multi-criteria optimization objective function, and dynamically update the parameters and weights based on real-time feedback.
[0059] Beneficial effects of the invention:
[0060] (1) The multi-factor weights of nodes and links are integrated. When calculating node weights, not only traditional distance and cost are considered, but also factors such as CPU usage, memory usage, throughput, and control message processing rate are introduced to make the weights more consistent with the actual operating status. Edge weights take into account indicators such as delay and packet loss rate, which improves the accuracy of path selection and network performance.
[0061] (2) Introducing a multi-criteria optimization objective function, the network load and link utilization are comprehensively considered. By adjusting the weight coefficient, the priority of node load balancing and link utilization can be dynamically optimized according to the actual network conditions;
[0062] (3) The Astar algorithm uses a bidirectional search. Bidirectional search reduces the number of nodes that need to be explored, reduces the consumption of computing resources, and reduces the possibility of choosing the wrong path. It also uses an adaptive heuristic function that combines the estimated cost from the current node to the target node and the real-time state of the network, rather than relying solely on static estimation. The path cost not only considers the mobility cost, but also incorporates real-time network state feedback, allowing the algorithm to adapt to changes in network load.
[0063] (5) Monitor network status in real time and adjust parameters based on monitoring data to achieve continuous network optimization. Continuously adjust network strategies through feedback mechanisms to improve network adaptability and stability. BRIEF DESCRIPTION OF THE DRAWINGS
[0064] The present invention will be further described below in conjunction with the accompanying drawings.
[0065] Figure 1 This is a flow chart of a method for implementing load balancing of an SDN controller based on a bidirectional Astar algorithm according to the present invention;
[0066] Figure 2A system structure diagram of a method for load balancing of an SDN controller based on a bidirectional Astar algorithm according to the present invention;
[0067] Figure 3 This is the implementation process of the Astar algorithm for bidirectional search. DETAILED DESCRIPTION
[0068] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0069] See also Figure 1-Figure 3 As shown, the present invention is a method for SDN controller load balancing based on a bidirectional Astar algorithm and is performed in the following steps:
[0070] S1. Build a network topology, set node weights and edge weights, and initialize the weights of each controller and the weights of the connecting edges;
[0071] S1-1. Model the network as a weighted graph G(V, E), where V is a node set, representing a controller set, and E is an edge set, representing a network link set connecting the controllers;
[0072] S1-2. Each node V has a weight ω v , using the collected CPU u 、Mem u , Th, Packet calculates the controller node weight, each link has an edge weight C uv , use the collected Band u , Laten, Packetloss calculate edge weights;
[0073] In this embodiment, the network environment consists of multiple data centers, each of which is managed by an SDN controller. The controllers are connected through high-bandwidth links. The SDN controller of each data center is responsible for network traffic management within the local data center. NetFlow or SNMP is used to regularly collect data such as CPU usage, memory usage, network throughput, and control message processing rate from the controllers and network devices. The OpenFlow protocol is used to collect real-time bandwidth utilization data and delay indicators on the links between all controllers.
[0074] S2, setting a multi-criteria optimization objective function in combination with the normalized maximum load difference and the normalized actual utilization rate of the link control message;
[0075] S2-1, query the maximum and minimum values in the node weights, calculate the maximum load difference in the network, and perform normalization processing, query the transmission volume of the link control message and the maximum control message capacity of the link, calculate the sum of the control message utilization of the link, and perform normalization processing;
[0076] S2-2, use quartiles to define four intervals: low, medium-low, medium-high, and high, and set four α and β weight coefficients corresponding to the four intervals;
[0077] S2-3, setting a multi-criteria objective optimization function in combination with the normalized maximum load difference and the normalized link utilization;
[0078] In this embodiment, the network management system is set to collect current network status data at fixed intervals, and a program is developed to regularly calculate the node weight of each controller and the weight of each link. The weight parameters are adjusted according to the network operation strategy and priority. If it is necessary to focus on latency, it is necessary to pay attention to reducing the utilization of the link. If it is necessary to focus on the balance of processing power, it is necessary to focus on the load balancing of the controller. 1 is divided into four intervals, namely [0, 0.25], [0.25, 0.5], [0.5, 0.75], and [0.75, 1]. Different weight coefficient values are set for these four intervals. When the normalized maximum load difference and the normalized link utilization fall into the four intervals respectively, the corresponding weight coefficients are selected to multiply, and the multi-criteria optimization objective function is calculated. According to the result, it is decided whether to perform load balancing optimization.
[0079] S3, judging whether the threshold is exceeded according to the result of multi-criteria optimization objective function, and choosing whether to perform controller load balancing;
[0080] S3-1. Based on the result of the multi-criteria optimization objective function, first determine whether the result of the optimization function exceeds the threshold. If it does not exceed the threshold, it means that the controller load in the network is balanced and the link traffic utilization is reasonable. If it exceeds the threshold, it means that there is a serious load imbalance in the network or the link is overcrowded, and load balancing needs to be performed immediately.
[0081] S3-2. If the result of the multi-criteria optimization objective function exceeds the threshold, it indicates that load balancing is required, and the controller with the highest node load is set as the source node S, and the controller with the lowest node load is set as the target node T;
[0082] In this embodiment, a threshold is defined to determine when to trigger load balancing measures. This threshold is set based on network performance indicators and historical data. After each calculation of the multi-criteria optimization objective function, it is checked whether the value exceeds the threshold. If it exceeds the threshold, the node with the largest weight is used as the node with high controller load, and the node with the smallest weight is used as the node with low controller load. By redistributing tasks between controllers, the pressure on high-load nodes is reduced and the idle resources of low-load nodes are utilized.
[0083] S4, use the bidirectional search Astar algorithm to optimize and find the best path from the source node to the target node, and compare and obtain the best path by continuously calculating the total cost of the path;
[0084] S4-1. Set four lists Open_S, Open_T, Close_S and Close_T. Open_S contains the nodes to be explored starting from the starting node S, and initially only contains S. Open_T contains the nodes to be explored starting from the target node T, and initially only contains T. Close_S and Close_T represent two closed lists, which are used to store the evaluated nodes explored from the starting node S and the target node T, respectively.
[0085] S4-2, the path from the starting node S to the target node T passes through a series of intermediate nodes, and any intermediate node in the direction of exploration from the starting node S is set as n s , n s Each neighbor node of s Set any intermediate node in the exploration direction from the target node to n t , n t Each neighbor node of t ;
[0086] S4-3, define the cost function from the current node to the neighboring node in the bidirectional search process, which represents the actual path cost from the current node to the neighboring node;
[0087] S4-4, define a heuristic function to estimate the estimated cost from the neighboring node m to the target node T;
[0088] S4-5, define the total cost function as f(m), and estimate the total cost value from the current node to the target node;
[0089] S4-6. Calculate f(S) and f(T) from the starting node S and the target node T respectively. Initially set g(S) to 0 and calculate g(T) to 0. Traverse all neighboring nodes of S and T and calculate g new (m s ), if g new (m s ) is smaller than the known g(ms ), or m s If it is not in Open_S or Open_T, update g(m s ) and f(m s ), and m s Add in Open_S or Open_T;
[0090] S4-7, continuously perform bidirectional iterative updates, and select the node with the lowest f value from Open_S as the current node n s , select the node with the lowest f value from Open_T as the current node n t After the update is completed, move the current node to the Close list, and check whether the two directions intersect each time. If n s Appears on Close_T or n t Appearing in Close_S, it indicates that the two search directions meet and path reconstruction begins;
[0091] S4-8, if a meeting point is found, the path from the starting node to the meeting node and the path from the target node to the meeting node are connected to form a complete path. If Open_S or Open_T is empty, it indicates that the path cannot be found;
[0092] In this embodiment, Figure 3 As shown in the figure, the bidirectional search Astar algorithm is used to find the optimal path. In the bidirectional search Astar algorithm, the Open_S and Open_T lists are initialized to S and T respectively, while the Close_S and Close_T lists are initialized to empty. Each bidirectional search selects the node with the lowest f value from the list as the current node, and continuously checks whether the two search directions intersect. If there is no intersection, the neighboring nodes are continuously updated until the encountering nodes are found, and then the connection path is backtracked. The bidirectional Astar algorithm integrates the real-time transmission rate and bandwidth into the heuristic function, so that the path selection takes into account multiple factors. In the bidirectional search Astar algorithm, the path cost is not fixed, but is dynamically adjusted according to the real-time network performance data, which improves the accuracy of the algorithm.
[0093] S5, continuously monitor the load and network traffic status of each controller, update the node weights and edge weights of the network topology in real time, and recalculate the multi-criteria optimization objective function;
[0094] S5-1, continuously monitor the CPU usage rate, memory usage rate, network throughput, switch control message Packet-In rate, link bandwidth utilization rate, delay rate, packet loss rate and other indicators of each controller, update the node weight and edge weight of the network topology map in real time, and recalculate the multi-criteria optimization objective function, dynamically update parameters and weights according to real-time feedback, and optimize the accuracy of the algorithm;
[0095] In this embodiment, the integrated monitoring system Prometheus is used to continuously collect network performance data, a predetermined algorithm is used to adjust the weight coefficient, a feedback mechanism is established, and the controller load balancing is optimized based on the performance data.
[0096] It should be noted that the calculation formulas and various parameters involved in the calculation in the present invention have been dimensionally processed in advance, and the process of dimensionless processing is well known in the industry and will not be described here.
[0097] The above is a detailed description of an embodiment of the present invention, but the content is only a preferred embodiment of the present invention and cannot be considered to limit the scope of implementation of the present invention. All equivalent changes and improvements made within the scope of the present invention should still fall within the scope of the patent coverage of the present invention.
Claims
1. A method for load balancing of SDN controller based on bidirectional Astar algorithm, characterized in that: The following steps are involved: S1. Build a network topology, set node weights and edge weights, and initialize the weights of each controller and the weights of the connecting edges; S2, setting a multi-criteria optimization objective function in combination with the normalized maximum load difference and the normalized actual utilization rate of the link control message; S3, judging whether the threshold is exceeded according to the result of multi-criteria optimization objective function, and choosing whether to perform controller load balancing; S4, use the bidirectional search Astar algorithm to optimize and find the best path from the source node to the target node, and obtain the best path by continuously calculating the total cost of the path; S5. Continuously monitor the load and network traffic status of each controller, update the node weights and edge weights of the network topology in real time, and recalculate the multi-criteria optimization objective function.
2. The method for SDN controller load balancing based on the bidirectional Astar algorithm according to claim 1 is characterized in that: The S1 comprises the following steps: S1-1. Model the network as a weighted graph G(V, E), where V is a node set, representing a controller set, and E is an edge set, representing a network link set connecting the controllers. S1-2. Each node V has a weight ω v , using the collected CPU u 、Mem u , Th, Packet calculates the controller node weight, each link has an edge weight C uv , use the collected Band u , Laten, Packetloss calculate edge weights; Node weight ω v The calculation formula is as follows: oh v =τ*CPU u +σ*Mem u +γ*Th+δ*Packet (1) In formula (1): v is the weight of the V node; τ, σ, γ, δ are weight coefficients; CPU u is the CPU usage; Mem u is the memory usage; Th is the network throughput; Packet is the Packet-In rate received by the controller from the switch.
3. The method for SDN controller load balancing based on the bidirectional Astar algorithm according to claim 2 is characterized in that: The edge weight C uv The formula is as follows: C uv =θ*band u +μ*Latency+ρ*Packet Loss (2) In formula (2): C uv is the edge weight; θ, μ, ρ are weight coefficients; Band u is bandwidth utilization; Laten represents delay; Packetloss represents packet loss rate.
4. The method for SDN controller load balancing based on the bidirectional Astar algorithm according to claim 3 is characterized in that: The S2 comprises the following steps: S2-1, query the maximum and minimum values in the node weights, calculate the maximum load difference in the network, and perform normalization processing, query the transmission volume of the link control message and the maximum control message capacity of the link, calculate the sum of the control message utilization of the link, and perform normalization processing; The normalized formula for the maximum load difference is as follows: In formula (3), MAXD represents the maximum difference between the maximum and minimum values of node load in historical data; D represents the normalized result; The calculation formula for the sum of link control message utilization is as follows: In formula (4), |E| represents the total number of links; The normalized formula for the actual utilization of link control messages is as follows: In formula (5), F represents the normalized result of the actual utilization rate of the link control message; f uv represents the actual control message traffic on the link (u, v), x uv Indicates the maximum control message capacity of the link; S2-2, use quartiles to define four intervals: low, medium-low, medium-high, and high, and set four α and β weight coefficients corresponding to the four intervals; S2-3, setting a multi-criteria objective optimization function in combination with the normalized maximum load difference and the normalized link utilization; The calculation formula of the multi-criteria objective optimization function is as follows: Ob=α*D+β*F(6) In formula (6), Ob is the result of the objective optimization function; α and β represent weight coefficients.
5. The method for SDN controller load balancing based on the bidirectional Astar algorithm according to claim 4 is characterized in that: The S3 comprises the following steps: S3-1. Based on the result of the multi-criteria optimization objective function, first determine whether the result of the optimization function exceeds the threshold. If it does not exceed the threshold, it means that the controller load in the network is balanced and the link traffic utilization is reasonable. If it exceeds the threshold, it means that there is a serious load imbalance in the network or the link is overcrowded, and load balancing needs to be performed immediately. S3-2. If the result of the multi-criteria optimization objective function exceeds the threshold, it indicates that load balancing is required. The controller with the highest node load is set as the source node S, and the controller with the lowest node load is set as the target node T, that is, 6. The method for SDN controller load balancing based on the bidirectional Astar algorithm according to claim 5 is characterized in that: The S4 comprises the following steps: S4-1. Set four lists Open_S, Open_T, Close_S and Close_T. Open_S contains the nodes to be explored starting from the starting node S, and initially only contains S. Open_T contains the nodes to be explored starting from the target node T, and initially only contains T. Close_S and Close_T represent two closed lists, which are used to store the evaluated nodes explored from the starting node S and the target node T, respectively. S4-2, the path from the starting node S to the target node T passes through a series of intermediate nodes, and any intermediate node in the direction of exploration from the starting node S is set as n s , n s Each neighbor node of s Set any intermediate node in the exploration direction from the target node to n t , n t Each neighbor node of t ; S4-3, define the cost function from the current node to the neighboring node in the bidirectional search process, which represents the actual path cost from the current node to the neighboring node; The cost function calculation formula is: g new (m)=g(n)+C mn (7) In formula (7), g new (m) represents the actual path cost from the current node to the neighboring node in the bidirectional search; C mn Represents the edge weight from the current node to the neighboring node; S4-4, define a heuristic function to estimate the estimated cost from the neighboring node m to the target node T; The calculation formula of the heuristic function h(m) is as follows: In formula (8), h(m) represents the estimated cost from neighbor node m to target node T; ψ1 and ψ2 represent the weight coefficients of delay and bandwidth; E(m, T) represents the estimated average distance from m to T, calculated using the average number of hops; AD represents the average data transmission rate in the network; AB represents the average network bandwidth; S4-5. Define the total cost function as f(m) and estimate the total cost value from the current node to the target node; f(m)=g(m)+h(m) (9) In formula (9), f(m) represents the total cost of the path; S4-6. Calculate f(S) and f(T) from the starting node S and the target node T respectively. Initially set g(B) to 0, initially calculate g(T) to 0, traverse all neighboring nodes of B and T, and calculate g new (m s ), if g new (m s ) is smaller than the known g(m s ), or m s If it is not in Open_S or Open_T, update g(m s ) and f(m s ), and m s Add in Open_S or Open_T: S4-7, continuously perform bidirectional iterative updates, and select the node with the lowest f value from Open_S as the current node n s , select the node with the lowest f value from Open_T as the current node n t After the update is completed, move the current node to the Close list, and check whether the two directions intersect each time. If n s Appears on Close_T or n t Appearing in Close_S, it indicates that the two search directions meet and path reconstruction begins; S4-8. When a meeting point is found, the paths from the starting node to the meeting node and from the target node to the meeting node are connected to form a complete path. If Open_S or Open_T is empty, it indicates that the path cannot be found.
7. The method for SDN controller load balancing based on the bidirectional Astar algorithm according to claim 1 or 6, characterized in that: The S5 comprises the following steps: S5-1. Continuously monitor the CPU utilization rate, memory utilization rate, network throughput, packet-ln rate of switch control messages, link bandwidth utilization rate, delay rate, and packet loss rate indicators of each controller, update the node weights and edge weights of the network topology map in real time, and recalculate the multi-criteria optimization objective function, and dynamically update the parameters and weights based on real-time feedback.