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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
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
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,
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.
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015078498A1 (en) * | 2013-11-27 | 2015-06-04 | Huawei Technologies Co., Ltd. | 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 |
-
2020
- 2020-08-20 CN CN202010841673.5A patent/CN112350937B/en active Active
Patent Citations (1)
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 |
---|---|---|
US20210111994A1 (en) | Energy-efficient traffic scheduling algorithm for sdn data center network based on multi-layer virtual topology | |
CN112954763B (en) | WSN clustering routing method based on goblet sea squirt algorithm optimization | |
CN108540204B (en) | Satellite network topology generation method using fast convergence ant colony algorithm | |
CN109257287A (en) | A kind of shortest path determines method and controller | |
CN107343302B (en) | Sensor network routing structure optimization method based on multi-core processor | |
CN101677286B (en) | Optimization method of carrier network | |
WO2023245740A1 (en) | Fourth-party logistics transportation edge planning method based on ant colony optimization algorithm | |
CN111970044A (en) | Satellite network time slot allocation and routing planning method based on Lagrange relaxation | |
CN113691391B (en) | Underwater acoustic network medium access control method with variable node number based on Q learning | |
CN116170327B (en) | Segmented routing network incremental deployment method based on graph neural network and reinforcement learning | |
CN107360031B (en) | Virtual network mapping method based on optimized overhead-to-revenue ratio | |
CN103685011A (en) | Method and device of determining energy-saving routing | |
Enachescu et al. | Reducing maximum stretch in compact routing | |
CN112350937B (en) | Efficient routing calculation method integrating load balancing and routing energy saving | |
Kantarci et al. | Greening the availability design of optical WDM networks | |
CN113488996A (en) | Power distribution network protogram modeling method based on distributed parallel graph computing framework | |
CN102075582A (en) | Storage method for data storage model of credible cloud storage system | |
CN116132354B (en) | Unmanned aerial vehicle cluster networking transmission path optimization method and system | |
Zhao et al. | Partial critical path based greedy offloading in small cell cloud | |
CN110662272A (en) | Minimum-number pilot selection method based on swarm unmanned aerial vehicle | |
Li et al. | Receiving-capacity-constrained rapid and fair disaster backup for multiple datacenters in SDN | |
CN112434437B (en) | Method for constructing equipment support super-network dynamic evolution model by considering node recombination | |
CN111062515B (en) | Distribution network distributed power supply configuration method | |
CN113239622B (en) | Fault recovery reconstruction method for direct-current distribution network | |
CN107707471A (en) | The energy-saving scheme of minimum conversion link number based on extensive SDN |
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 |