CN112350937A - 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
CN112350937A
CN112350937A CN202010841673.5A CN202010841673A CN112350937A CN 112350937 A CN112350937 A CN 112350937A CN 202010841673 A CN202010841673 A CN 202010841673A CN 112350937 A CN112350937 A CN 112350937A
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.)
Granted
Application number
CN202010841673.5A
Other languages
Chinese (zh)
Other versions
CN112350937B (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

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

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 terms of SDN link load balancing, the academia proposes a LABERIO algorithm, an L2RM framework and a genetic ant colony optimization algorithm to perform on the networkAnd all links are subjected to load balancing, so that the performance of a network system is improved, and the time delay and the packet loss rate are reduced. 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 a path starting point strat to a start reachable point and storing the distance into a dis array, and the path is stored in a path vector container; in one 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 strat, the end point of each path is 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 table to be a maximum value, wherein the value of the point in the new _ path container is empty; modifying the value of the point which is 0 in the update table in the distance table 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 container 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: if distance [ n ] is not ∞, then new _ path [ n ] is added to 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 a path starting point strat to a start reachable point and storing the distance into a dis array, and the path is stored in a path vector container; in one 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 strat, the end point of each path is 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 table to be a maximum value, wherein the value of the point in the new _ path container is empty; modifying the value of the point which is 0 in the update table in the distance table 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 container 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: if distance [ n ] is not ∞, then new _ path [ n ] is added to 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 strat 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 a path starting point strat to a start reachable point and storing the distance into a dis array, and the path is stored in a path vector container; in one 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 strat, the end point of each path is 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 table to be a maximum value, wherein the value of the point in the new _ path container is empty; modifying the value of the point which is 0 in the update table in the distance table 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 container 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: if distance [ n ] is not ∞, then new _ path [ n ] is added to 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 true CN112350937A (en) 2021-02-09
CN112350937B 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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150181465A1 (en) * 2013-12-24 2015-06-25 Futurewei Technologies Inc. On-demand radio coordination in a software-defined network
CN105340241A (en) * 2013-11-27 2016-02-17 华为技术有限公司 Method and system for balancing load in a sdn network
CN106411770A (en) * 2016-09-08 2017-02-15 重庆邮电大学 Data center network energy-saving routing algorithm based on software defined network (SDN) architecture
CN107707471A (en) * 2017-09-08 2018-02-16 南京邮电大学 The energy-saving scheme of minimum conversion link number based on extensive SDN

Patent Citations (4)

* 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
US20150181465A1 (en) * 2013-12-24 2015-06-25 Futurewei Technologies Inc. On-demand radio coordination in a software-defined network
CN106411770A (en) * 2016-09-08 2017-02-15 重庆邮电大学 Data center network energy-saving routing algorithm based on software defined network (SDN) architecture
CN107707471A (en) * 2017-09-08 2018-02-16 南京邮电大学 The energy-saving scheme of minimum conversion link number based on extensive SDN

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
YANNICK CARLINET,等: ""Energy-efficient load balancing in a SDN-based Data-Center network"", 《2016 17TH INTERNATIONAL TELECOMMUNICATIONS NETWORK STRATEGY AND PLANNING SYMPOSIUM (NETWORKS)》 *
胡滢: ""软件定义网络节能技术研究"", 《中国博士学位论文全文数据库 信息科技辑 2018年第02期》 *
鲁垚光,等: ""软件定义网络中的动态负载均衡与节能机制"", 《计算机学报. 2019(单篇优先)》 *

Also Published As

Publication number Publication date
CN112350937B (en) 2021-11-19

Similar Documents

Publication Publication Date Title
US11057300B2 (en) Energy-efficient traffic scheduling algorithm for SDN data center network based on multi-layer virtual topology
CN104820865B (en) Intelligent distribution network fault recovery intelligent optimization method based on graph theory
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
CN111770019A (en) Q-learning optical network-on-chip self-adaptive route planning method based on Dijkstra 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
WO2023245740A1 (en) Fourth-party logistics transportation edge planning method based on ant colony optimization algorithm
CN106209618A (en) A kind of communication mixed networking method and system improving intelligence adapted electric energy effect
CN103685011A (en) Method and device of determining energy-saving routing
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
Kantarci et al. Greening the availability design of optical WDM networks
CN102075582B (en) Storage method for data storage model of credible cloud storage system
Li et al. Receiving-capacity-constrained rapid and fair disaster backup for multiple datacenters in SDN
CN107707471A (en) The energy-saving scheme of minimum conversion link number based on extensive SDN
CN111062515B (en) Distribution network distributed power supply configuration method
CN106092109A (en) The road of the efficient pathfinding of a kind of electronic chart connects logically method and application
WO2020252895A1 (en) Deployment method, apparatus and device for hybrid software self-defined network, and storage medium
Lin et al. ANN-assisted resource allocation scheme for edge-computing-enabled elastic optical networks
CN111683376B (en) Optimized deployment method for nodes of field collaborative irrigation communication network
CN112434437B (en) Method for constructing equipment support super-network dynamic evolution model by considering node recombination
Guo et al. Service function chain optimization deployment mechanism based on node and link influence

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