CN112350937B - Efficient routing calculation method integrating load balancing and routing energy saving - Google Patents

Efficient routing calculation method integrating load balancing and routing energy saving Download PDF

Info

Publication number
CN112350937B
CN112350937B CN202010841673.5A CN202010841673A CN112350937B CN 112350937 B CN112350937 B CN 112350937B CN 202010841673 A CN202010841673 A CN 202010841673A CN 112350937 B CN112350937 B CN 112350937B
Authority
CN
China
Prior art keywords
point
path
edge
node
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010841673.5A
Other languages
Chinese (zh)
Other versions
CN112350937A (en
Inventor
耿海军
高原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanxi University
Original Assignee
Shanxi University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanxi University filed Critical Shanxi University
Priority to CN202010841673.5A priority Critical patent/CN112350937B/en
Publication of CN112350937A publication Critical patent/CN112350937A/en
Application granted granted Critical
Publication of CN112350937B publication Critical patent/CN112350937B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Abstract

The invention discloses a high-efficiency routing calculation method integrating load balancing and routing energy saving, belongs to the technical field of internet, and solves the problem that the running efficiency of the existing routing algorithm integrating load balancing and routing energy saving is too low. The scheme provided by the invention not only has the same load balancing and energy saving effects as the existing routing algorithm integrating load balancing and routing energy saving, but also has smaller time complexity and higher operation efficiency. Therefore, the invention is an efficient scheme which can deploy load balancing and route energy saving in a large network.

Description

Efficient routing calculation method integrating load balancing and routing energy saving
Technical Field
The invention belongs to the technical field of internet, relates to a route calculation method, and particularly relates to a high-efficiency route calculation method integrating load balancing and route energy saving.
Background
With the rise of cloud computing, big data and mobile internet, network traffic is increasing day by day. The traditional network soft and hard combined load balancing strategy has the problems of poor expandability, complex exchange technology, poor self-regulation capability and the like.
In the face of the above problems, the academic world adopts an SDN architecture, dynamically adjusts a load balancing strategy, and effectively improves the utilization of network resources. In the aspect of load balancing of SDN links, the academic community proposes an laberrio algorithm, an L2RM framework, and a genetic ant colony optimization algorithm to perform load balancing on all links in a network, thereby improving the network system performance and reducing the delay and packet loss rate. In the aspect of SDN network level energy saving, an academic community provides an energy perception route, a low-complexity greedy heuristic algorithm, an LBGA algorithm, a flow mapping algorithm and a Willow flow scheduling algorithm, and redundant equipment in a network is dormant, so that the energy consumption of the whole network is reduced. The academia proposes a loadbE-it algorithm which gives consideration to load balancing and energy saving, and the algorithm has good performance in medium and small network topologies, but the time complexity is O (n)4) It is not conducive to deployment in large-scale networks.
Disclosure of Invention
The invention provides a high-efficiency routing calculation method integrating load balancing and routing energy saving, a LoadbE-it-M algorithm improves the operation efficiency by gradually reducing the number of links needing to be calculated in a network topology, and has the same load balancing and energy saving effects as the LoadbE-it algorithm.
The technical scheme adopted by the invention for solving the technical problems is as follows: a high-efficiency routing calculation method integrating load balancing and routing energy saving is constructed, and the method comprises the following steps:
step 1: in the routing calculation, the Dijkstra algorithm is used for obtaining the distance from the starting point start of the path to the reachable point of the start, the distance is stored in a dis array, and the path is stored in a path vector container; in a network topology, nodes which need to be sequentially passed by information forwarding of a source node and a destination node are defined as paths, the starting point of each path is defined as start, the end point of each path is defined as end, a dis array is used for storing the distance of reachable points, and a path vector container is used for storing reachable point paths;
step 2: constructing a shortest path tree with a path starting point start as a root node according to the operation result of the step 1;
and step 3: setting a v _ node vector container to store a node group, disconnecting each edge of the shortest path from a starting point start to an end of the path in a reverse order, acquiring an increment group of nodes on a subtree connected with the edge, and placing the node group in the v _ node;
and 4, step 4: setting whether the hash table update storage node needs to be updated or not, initializing to 0 and 1, wherein 0 represents no need of updating, 1 represents need of updating, and setting all nodes in the current v _ node to be 1 in the update table;
and 5: setting an all _ path array to store the shortest path from a starting point start to an end of the path after the edge is removed, sequentially enumerating each edge of the shortest path from the starting point start to the end of the path, and executing steps 6, 7, 8 and 9 once when each edge is removed;
step 6: setting fibonacci _ max _ heap as a Fibonacci heap, setting heap _ itr as a Fibonacci heap iterator, storing the distance of reachable points by a distance array, and storing a path by a new _ path array; modifying the value of the point which is 1 in the update table in the distance array to be a maximum value, wherein the value of the point in the new _ path array is null; modifying the value of the point which is 0 in the update table in the distance array to be the point value in the dis table, and pressing the point into fibonacci _ max _ heal, wherein the value of the point in the new _ path array is the value of the point in the path;
and 7: traversing the last item of the v _ node, setting the value corresponding to the point in the item in update as 0, and deleting the last item of the v _ node;
and 8: the following operations are cycled until fibonacci _ max _ heal is empty: popping up a point at the top of the heap, traversing an adjacent edge of the point, and if the position (the value of the distance array + the weight of the edge) of the point is less than the value of the adjacent point at distance, updating the values of the adjacent point in the fibonacci _ max _ heal, distance and new _ path; if the value of the adjacent point in update is 0, deleting the edge;
and step 9: and if the distance from any starting point to the reachable point stored in the distance array is not infinity, adding the corresponding storage path stored in the new _ path array to the all _ path.
The method for obtaining an edge of the shortest path from the start point to the end point of the broken path and then solving the path from the source point to the destination point in the steps 3 to 9 comprises the following steps:
1. defining a Shortest Path Tree (SPT) with a source point as a root node, and constructing a set for recording nodes of which the shortest path changes after one edge of a path from the source point to a destination point in the SPT is disconnected;
2. traversing a path from a source point to a destination point in the SPT in a reverse order, and disconnecting an edge when the edge which is not disconnected exists, and stopping traversing; after the edge is disconnected, the shortest path in the SPT is changed and points which are not in the set are found, the points are used as increments to be placed at the tail end of the set, and the step is repeated until the paths from the source point to the destination point in the SPT are disconnected once;
3. sequentially traversing the shortest path from the source point to the destination point, and disconnecting the edge and stopping traversing when the edge which is not disconnected exists; solving and storing the shortest path from the source point to the destination node based on the shortest path of the points which are not in the set, and popping up the value at the tail end of the set; repeating the steps until the shortest paths from the source point to the destination point are all disconnected once.
Different from the prior art, the efficient routing computation method integrating load balancing and routing energy saving has the same load balancing and energy saving effects as the existing routing computation method integrating load balancing and routing energy saving, has smaller time complexity and higher operation efficiency, and is an efficient scheme capable of deploying load balancing and routing energy saving in a large network.
Drawings
The invention will be further described with reference to the accompanying drawings and examples, in which:
fig. 1 is an algorithm flow diagram of a routing computation method for efficient merging load balancing and routing energy saving provided by the present invention.
Fig. 2 is a schematic diagram of a network topology structure of an embodiment of the efficient routing computation method combining load balancing and routing energy saving provided by the present invention.
Detailed Description
For a more clear understanding of the technical features, objects and effects of the present invention, embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
Referring to fig. 1, the present invention provides a high-efficiency route calculation method integrating load balancing and route energy saving, including the steps of:
step 1: in the routing calculation, the Dijkstra algorithm is used for obtaining the distance from the starting point start of the path to the reachable point of the start, the distance is stored in a dis array, and the path is stored in a path vector container; in a network topology, nodes which need to be sequentially passed by information forwarding of a source node and a destination node are defined as paths, the starting point of each path is defined as start, the end point of each path is defined as end, a dis array is used for storing the distance of reachable points, and a path vector container is used for storing reachable point paths;
step 2: constructing a shortest path tree with a path starting point start as a root node according to the operation result of the step 1;
and step 3: setting a v _ node vector container to store a node group, disconnecting each edge of the shortest path from a starting point start to an end of the path in a reverse order, acquiring an increment group of nodes on a subtree connected with the edge, and placing the node group in the v _ node;
and 4, step 4: setting whether the hash table update storage node needs to be updated or not, initializing to 0 and 1, wherein 0 represents no need of updating, 1 represents need of updating, and setting all nodes in the current v _ node to be 1 in the update table;
and 5: setting an all _ path array to store the shortest path from a starting point start to an end of the path after the edge is removed, sequentially enumerating each edge of the shortest path from the starting point start to the end of the path, and executing steps 6, 7, 8 and 9 once when each edge is removed;
step 6: setting fibonacci _ max _ heap as a Fibonacci heap, setting heap _ itr as a Fibonacci heap iterator, storing the distance of reachable points by a distance array, and storing a path by a new _ path array; modifying the value of the point which is 1 in the update table in the distance array to be a maximum value, wherein the value of the point in the new _ path array is null; modifying the value of the point which is 0 in the update table in the distance array to be the point value in the dis table, and pressing the point into fibonacci _ max _ heal, wherein the value of the point in the new _ path array is the value of the point in the path;
and 7: traversing the last item of the v _ node, setting the value corresponding to the point in the item in update as 0, and deleting the last item of the v _ node;
and 8: the following operations are cycled until fibonacci _ max _ heal is empty: popping up a point at the top of the heap, traversing an adjacent edge of the point, and if the position (the value of the distance array + the weight of the edge) of the point is less than the value of the adjacent point at distance, updating the values of the adjacent point in the fibonacci _ max _ heal, distance and new _ path; if the value of the adjacent point in update is 0, deleting the edge;
and step 9: and if the distance from any starting point to the reachable point stored in the distance array is not infinity, adding the corresponding storage path stored in the new _ path array to the all _ path.
The method for obtaining an edge of the shortest path from the start point to the end point of the broken path and then solving the path from the source point to the destination point in the steps 3 to 9 comprises the following steps:
1. defining a Shortest Path Tree (SPT) with a source point as a root node, and constructing a set for recording nodes of which the shortest path changes after one edge of a path from the source point to a destination point in the SPT is disconnected;
2. traversing a path from a source point to a destination point in the SPT in a reverse order, and disconnecting an edge when the edge which is not disconnected exists, and stopping traversing; after the edge is disconnected, the shortest path in the SPT is changed and points which are not in the set are found, the points are used as increments to be placed at the tail end of the set, and the step is repeated until the paths from the source point to the destination point in the SPT are disconnected once;
3. sequentially traversing the shortest path from the source point to the destination point, and disconnecting the edge and stopping traversing when the edge which is not disconnected exists; solving and storing the shortest path from the source point to the destination node based on the shortest path of the points which are not in the set, and popping up the value at the tail end of the set; repeating the steps until the shortest paths from the source point to the destination point are all disconnected once.
The steps of the present embodiment are explained in detail with reference to fig. 2.
As shown in fig. 2, the network topology of the embodiment is:
5 nodes and 6 bidirectional edges,
node 0 < - > node 2 has a weight of 7,
node 0 < - > node 3 has a weight of 7,
node 1 < - > node 3 has a weight of 2,
node 1 < - > node 4 has a weight of 5,
node 2 < - > node 3 has a weight of 8,
node 3 < - > node 4 has a weight of 5,
the source point is node 0 and the destination point is node 4;
step 1: and (3) calculating the distance from the start to the start reachable point by using a Dijkstra algorithm, storing the distance in dis, and storing the path in path.
At this time, dis has a value of {0,9,7,7,12}, and path has a value of { {0}, {0,3,1}, {0,2}, {0,3}, and {0,3,4} }.
Step 2: and constructing a shortest path tree with the start as a root node according to the operation result of the step 1. The structure of the shortest path tree is 0- >2, 0- >3, 3- >4, 3- > 1.
And step 3: and setting a v _ node vector container storage node group, breaking each edge from start to end shortest path in a reverse order, acquiring an increment group of nodes on a subtree connected by the edge, and placing the node group in the v _ node, wherein the values of the v _ node are { {4}, {3,1} }.
And 4, step 4: at this time, update has a value of {0,1,0,1,1}
And 5: steps 6-9 are performed a total of 2 times in this example.
The value of all _ path after the 1 st execution of steps 6-9 is: { {0,2,3,4} }, the value of v _ node is { {4} }.
The value of all _ path after the 2 nd execution of steps 6-9 is: the value of { {0,2,3,4}, {0,3,1,4} }, v _ node is { }.
While the present invention has been described with reference to the embodiments shown in the drawings, the present invention is not limited to the embodiments, which are illustrative and not restrictive, and it will be apparent to those skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope of the invention as defined in the appended claims.

Claims (2)

1. A high-efficiency routing calculation method integrating load balancing and routing energy saving comprises the following steps:
step 1: in the routing calculation, the Dijkstra algorithm is used for obtaining the distance from the starting point start of the path to the reachable point of the start, the distance is stored in a dis array, and the path is stored in a path vector container; in a network topology, nodes which need to be sequentially passed by information forwarding of a source node and a destination node are defined as paths, the starting point of each path is defined as start, the end point of each path is defined as end, a dis array is used for storing the distance of reachable points, and a path vector container is used for storing reachable point paths;
step 2: constructing a shortest path tree with a path starting point start as a root node according to the operation result of the step 1;
and step 3: setting a v _ node vector container to store a node group, disconnecting each edge of the shortest path from a starting point start to an end of the path in a reverse order, acquiring an increment group of nodes on a subtree connected with the edge, and placing the node group in the v _ node;
and 4, step 4: setting whether the hash table update storage node needs to be updated or not, initializing to 0 and 1, wherein 0 represents no need of updating, 1 represents need of updating, and setting all nodes in the current v _ node to be 1 in the update table;
and 5: setting an all _ path array to store the shortest path from a starting point start to an end of the path after the edge is removed, sequentially enumerating each edge of the shortest path from the starting point start to the end of the path, and executing steps 6, 7, 8 and 9 once when each edge is removed;
step 6: setting fibonacci _ max _ heap as a Fibonacci heap, setting heap _ itr as a Fibonacci heap iterator, storing the distance of reachable points by a distance array, and storing a path by a new _ path array; modifying the value of the point which is 1 in the update table in the distance array to be a maximum value, wherein the value of the point in the new _ path array is null; modifying the value of the point which is 0 in the update table in the distance array to be the point value in the dis table, and pressing the point into fibonacci _ max _ heal, wherein the value of the point in the new _ path array is the value of the point in the path;
and 7: traversing the last item of the v _ node, setting the value corresponding to the point in the item in update as 0, and deleting the last item of the v _ node;
and 8: the following operations are cycled until fibonacci _ max _ heal is empty: popping up a point at the top of the heap, traversing an adjacent edge of the point, and if the position (the value of the distance array + the weight of the edge) of the point is less than the value of the adjacent point at distance, updating the values of the adjacent point in the fibonacci _ max _ heal, distance and new _ path; if the value of the adjacent point in update is 0, deleting the edge;
and step 9: and if the distance from any starting point to the reachable point stored in the distance array is not infinity, adding the corresponding storage path stored in the new _ path array to the all _ path.
2. The method for efficient routing computation with converged load balancing and routing power saving according to claim 1, wherein: the method for solving the path from the source point to the destination point after obtaining one edge of the shortest path from the starting point to the end of the broken path in the steps 3 to 9 comprises the following steps:
1. defining a Shortest Path Tree (SPT) with a source point as a root node, and constructing a set for recording nodes of which the shortest path changes after one edge of a path from the source point to a destination point in the SPT is disconnected;
2. traversing a path from a source point to a destination point in the SPT in a reverse order, and disconnecting an edge when the edge which is not disconnected exists, and stopping traversing; after the edge is disconnected, the shortest path in the SPT is changed and points which are not in the set are found, the points are used as increments to be placed at the tail end of the set, and the step is repeated until the paths from the source point to the destination point in the SPT are disconnected once;
3. sequentially traversing the shortest path from the source point to the destination point, and disconnecting the edge and stopping traversing when the edge which is not disconnected exists;
solving and storing the shortest path from the source point to the destination node based on the shortest path of the points which are not in the set, and popping up the value at the tail end of the set; repeating the steps until the shortest paths from the source point to the destination point are all disconnected once.
CN202010841673.5A 2020-08-20 2020-08-20 Efficient routing calculation method integrating load balancing and routing energy saving Active CN112350937B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010841673.5A CN112350937B (en) 2020-08-20 2020-08-20 Efficient routing calculation method integrating load balancing and routing energy saving

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010841673.5A CN112350937B (en) 2020-08-20 2020-08-20 Efficient routing calculation method integrating load balancing and routing energy saving

Publications (2)

Publication Number Publication Date
CN112350937A CN112350937A (en) 2021-02-09
CN112350937B true CN112350937B (en) 2021-11-19

Family

ID=74357895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010841673.5A Active CN112350937B (en) 2020-08-20 2020-08-20 Efficient routing calculation method integrating load balancing and routing energy saving

Country Status (1)

Country Link
CN (1) CN112350937B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107707471A (en) * 2017-09-08 2018-02-16 南京邮电大学 The energy-saving scheme of minimum conversion link number based on extensive SDN

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105340241A (en) * 2013-11-27 2016-02-17 华为技术有限公司 Method and system for balancing load in a sdn network
US9986461B2 (en) * 2013-12-24 2018-05-29 Huawei Technologies Co., Ltd On-demand radio coordination in a software-defined network
CN106411770B (en) * 2016-09-08 2019-05-31 重庆邮电大学 A kind of data center network energy-saving routing algorithm based on SDN framework

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107707471A (en) * 2017-09-08 2018-02-16 南京邮电大学 The energy-saving scheme of minimum conversion link number based on extensive SDN

Also Published As

Publication number Publication date
CN112350937A (en) 2021-02-09

Similar Documents

Publication Publication Date Title
CN104820865B (en) Intelligent distribution network fault recovery intelligent optimization method based on graph theory
CN109257287A (en) A kind of shortest path determines method and controller
CN108540204B (en) Satellite network topology generation method using fast convergence ant colony algorithm
CN107343302B (en) Sensor network routing structure optimization method based on multi-core processor
CN101677286B (en) Optimization method of carrier network
CN111970044A (en) Satellite network time slot allocation and routing planning method based on Lagrange relaxation
CN112954763B (en) WSN clustering routing method based on goblet sea squirt algorithm optimization
WO2023245740A1 (en) Fourth-party logistics transportation edge planning method based on ant colony optimization algorithm
CN113691391B (en) Underwater acoustic network medium access control method with variable node number based on Q learning
Chatap et al. Review on various routing protocols for heterogeneous wireless sensor network
CN107360031B (en) Virtual network mapping method based on optimized overhead-to-revenue ratio
CN112350937B (en) Efficient routing calculation method integrating load balancing and routing energy saving
CN103685011A (en) Method and device of determining energy-saving routing
Kantarci et al. Greening the availability design of optical WDM networks
CN102075582B (en) Storage method for data storage model of credible cloud storage system
CN113488996A (en) Power distribution network protogram modeling method based on distributed parallel graph computing framework
Zhao et al. Partial critical path based greedy offloading in small cell cloud
Li et al. Receiving-capacity-constrained rapid and fair disaster backup for multiple datacenters in SDN
CN111062515B (en) Distribution network distributed power supply configuration method
Hou et al. A hop-by-hop energy efficient distributed routing scheme
CN107707471A (en) The energy-saving scheme of minimum conversion link number based on extensive SDN
CN110058970B (en) Double-virtual-machine quasi-synchronous evacuation method under disaster risk model
CN111683376B (en) Optimized deployment method for nodes of field collaborative irrigation communication network
CN105610712B (en) The method for reducing whole network data stream forward delay based on software defined network framework
Karuppasamy et al. Energy Efficient Cloud Networks Towards A Sustainable Green Environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant