CN111092815A - Dynamic minimum delay routing method and system based on data stream - Google Patents

Dynamic minimum delay routing method and system based on data stream Download PDF

Info

Publication number
CN111092815A
CN111092815A CN201911398608.3A CN201911398608A CN111092815A CN 111092815 A CN111092815 A CN 111092815A CN 201911398608 A CN201911398608 A CN 201911398608A CN 111092815 A CN111092815 A CN 111092815A
Authority
CN
China
Prior art keywords
node
source node
time delay
delay
minimum
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
CN201911398608.3A
Other languages
Chinese (zh)
Other versions
CN111092815B (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201911398608.3A priority Critical patent/CN111092815B/en
Publication of CN111092815A publication Critical patent/CN111092815A/en
Application granted granted Critical
Publication of CN111092815B publication Critical patent/CN111092815B/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
    • H04L45/121Shortest path evaluation by minimising delays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention provides a dynamic minimum time delay routing method and a dynamic minimum time delay routing system based on data flow.A weight from a source node to each direct node in a network topology and a weight from the source node to each indirect node are determined aiming at the data flow in the network topology, time delay from the source node to each node is respectively determined based on the determined weights, minimum time delay and precursor nodes are respectively recorded in a first array and a second array, in the last step, the source node is used as an element in a first set, and nodes except the source node are used as elements in a second set; selecting a node with the minimum delay from the second set to the source node, changing the selected node from the second set to a first set element, taking the node as an intermediate node, determining a first minimum delay from the source node to the second set node through the node and a second minimum delay from the source node to the second set node through the node, and updating the first array and the second array when the first minimum delay is smaller than the second minimum delay; repeating the above steps until the first set comprises the destination node of the data stream.

Description

Dynamic minimum delay routing method and system based on data stream
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a dynamic minimum delay routing method and system based on data streams.
Background
Delay is an important parameter of QoS (Quality of Service), and the time spent by a data stream from a source node to a target node through a plurality of communication links is called delay, and the delay has an important influence on an upper-layer application program. The transmission of data packets in a network is a complex process, which causes various delays in passing through switches, routers and individual transmission links, and the delay experienced by each data stream is different.
In the existing network communication, as the traffic flow of the internet service increases, when an intermediate node on a path with the least number of hops is overloaded, if the path is continuously used, the problems of unbalanced traffic distribution, network congestion, increased time delay, insufficient utilization of network resources and the like can be caused.
Disclosure of Invention
In view of this, embodiments of the present invention provide a dynamic minimum delay routing method and system based on data flow, so as to eliminate or improve the existing technologies in the prior art.
The technical scheme of the invention is as follows:
according to an aspect of the embodiments of the present invention, there is provided a dynamic minimum delay routing method based on data streams, the method including the following steps:
an initial step, aiming at a specific data stream in a network topology, determining weights from a source node to each direct node in the network topology and weights from the source node to each indirect node in the network topology, respectively determining time delay from the source node to each node in the network topology based on the determined weights, and respectively recording the minimum time delay from the source node to each node in the network topology and precursor nodes from the source node to each node in the network topology in a first array and a second array, wherein in the initial step, the source node is used as an element in a first set, and all nodes except the source node in the network topology are used as elements in a second set;
an updating step of selecting a node from the second set with a minimum delay from a source node, changing the selected node from an element in the second set to an element in the first set, and taking the selected node as an intermediate node, determining a first minimum delay from the source node to a node in the second set through the selected node and a second minimum delay from the source node to a node in the second set through the selected node, and updating a minimum delay of a corresponding node in the first array and a predecessor node of the corresponding node in the second array if the first minimum delay is smaller than the second minimum delay;
and repeating the updating step until the destination node of the data stream is included in the first set.
In some embodiments, the method further comprises:
and traversing, and repeating the updating step under the condition that the first minimum time delay is not less than the second minimum time delay.
In some embodiments, the weight from the source node to each direct node in the network topology is determined to be equal to the time delay from the source node to the corresponding node in the network topology;
the weight from the source node to each indirect node in the network topology is determined to be infinite, and the time delay from the source node to each indirect node in the network topology is determined to be infinite based on the weight from the source node to each indirect node in the network topology.
In some embodiments, a predecessor node from a non-direct node in the second array is assigned a value of 0.
In some embodiments, determining whether the first minimum delay is less than the second minimum delay is done using the following equation:
D[k]+d(k,j)<D[j];
d [ k ] is the time delay from the source node to the intermediate node k, D (k, j) is the time delay from the intermediate node k to the node j in the second set, D [ k ] + D (k, j) is the time delay from the source node to the node j in the second set through the intermediate node k, and D [ j ] is the time delay from the source node to the node j in the second set.
In some embodiments, updating the minimum latency in the first array if the first minimum latency is less than the second minimum latency includes:
the first minimum delay is less than the second minimum delay, and the first minimum delay is assigned to the second minimum delay.
In some embodiments, the time delay from the source node to each direct node in the network topology is determined using the following formula:
Figure BDA0002346969200000021
wherein d (s, j) is the link time delay from the source node s to the node j; l is the average packet length; b issjThe actual link bandwidth corresponding to the source node s to the node j is obtained; lambda [ alpha ]sjThe flow arrival rate on the actual link corresponding to the source node s to the node j.
In some embodiments, the method further comprises updating the data flow arrival rate for each link using the following formula:
λijnew=λij+λ;
wherein λ isijnewThe updated link data flow arrival rate from the node i to the node j is obtained; lambda [ alpha ]ijThe data flow arrival rate of the link between the node i and the node j is obtained; λ is the data stream arrival rate of the source node.
According to some embodiments of the present invention, there is provided a dynamic minimum latency routing system based on data flow, comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps of the method according to any one of the above embodiments when executing the program.
According to another aspect of embodiments of the present invention, there is provided a computer-readable storage medium, on which a computer program is stored, which when executed by a processor, performs the steps of the method of any one of the embodiments.
According to the dynamic minimum delay routing method and system based on the data stream, provided by the embodiment of the invention, the delay is used as a routing standard through the dynamic minimum delay routing method based on the stream, and then a minimum delay path is calculated, so that the network flow balance is realized, the service delay is ensured and the utilization rate of network resources is improved.
Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
It will be appreciated by those skilled in the art that the objects and advantages that can be achieved with the present invention are not limited to the specific details set forth above, and that these and other objects that can be achieved with the present invention will be more clearly understood from the detailed description that follows.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the principles of the invention. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. For purposes of illustrating and describing some portions of the present invention, corresponding parts of the drawings may be exaggerated, i.e., may be larger, relative to other components in an exemplary apparatus actually manufactured according to the present invention. In the drawings:
fig. 1 is a schematic flow chart of a dynamic minimum delay routing method based on data flow according to an embodiment of the present invention;
fig. 2 is a schematic flow chart of a dynamic minimum delay routing method based on data flow according to an embodiment of the present invention;
fig. 3 is an example of a network topology.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be described in further detail with reference to the following embodiments and accompanying drawings. The exemplary embodiments and descriptions of the present invention are provided to explain the present invention, but not to limit the present invention.
It should be noted that, in order to avoid obscuring the present invention with unnecessary details, only the structures and/or processing steps closely related to the scheme according to the present invention are shown in the drawings, and other details not so relevant to the present invention are omitted.
The terms "first," "second," and the like in the description and in the claims, and in the drawings described above, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, or system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
The traditional Dijkstra routing algorithm only uses the hop count as a standard for selecting an optimal path simply, and lacks dynamics, and if all data flows are subjected to the simple hop count as a routing standard, link congestion is likely to be caused, and link resources are not fully utilized. Therefore, the invention provides a dynamic minimum time delay algorithm, which changes the hop count in the Dijkstra algorithm as a routing standard into the time delay as the routing standard, and generates a minimum time delay path from a source node to a destination node by calculating the time delay according to the link bandwidth and the stream arrival rate, thereby realizing the balance of network flow and improving the utilization rate of network resources while ensuring the service time delay.
Fig. 1 is a flowchart illustrating a dynamic minimum delay routing method based on data flow according to an embodiment of the present invention, and referring to fig. 1, the method includes the following steps S110 to S130.
Step S110: the method comprises the steps of initially, aiming at a specific data stream in the network topology, determining weights from a source node to each direct node in the network topology and weights from the source node to each indirect node in the network topology, respectively determining time delay from the source node to each node in the network topology based on the determined weights, respectively recording the minimum time delay from the source node to each node in the network topology and predecessor nodes from the source node to each node in the network topology in a first array and a second array, in the initial step, taking the source node as an element in a first set, and taking all nodes except the source node in the network topology as elements in a second set.
Wherein, the direct node is a node directly connected with the source node in the network topology, and an edge is arranged between the two nodes; the indirect node is a node which is not directly connected with the source node in the network topology, and no directly connected edge exists between the two nodes.
In one embodiment, the weight from the source node to each direct node in the network topology may be determined to be equal to the time delay from the source node to the corresponding node in the network topology; the weight from the source node to each non-direct node in the network topology may be determined to be infinite, the time delay from the source node to each non-direct node in the network topology is determined to be infinite based on the weight from the source node to each non-direct node in the network topology, and a predecessor node of the non-direct node in the second group is assigned a value of 0.
In other embodiments, the weight from the source node to each direct node in the network topology may be set to 1, and the determined time delay from the source node to each direct node in the network topology may be determined by multiplying the weight by the time delay from the source node to the corresponding node.
Specifically, for a data flow from a source node to a destination node, the source node is added into a first set, other nodes except the source node are all placed into a second set, if the source node and any node in the second set have an edge, the weight from the source node to the edge of any node in the second set is the time delay from the source node to the node, the time delay from the source node to the node in the first array is the weight from the source node to the edge of the node, and a precursor node of the node in the second array is the source node; if any node in the second set is not a neighbor node of the source node, the weight from the node to the source node is infinite, so that the time delay of the node is determined to be infinite, and the value of a precursor node of the node is assigned to be 0; in addition, if there is no direct connection between two nodes, the weight and the time delay between two nodes are infinite.
Step S120: and an updating step of selecting a node with the smallest time delay from the source node from the second set, changing the selected node from the elements in the second set to the elements in the first set, taking the selected node as an intermediate node, determining a first minimum time delay from the source node to the nodes in the second set through the selected node and a second minimum time delay from the source node to the nodes in the second set without passing through the selected node, and updating the minimum time delay of the corresponding node in the first array and the predecessor nodes of the corresponding node in the second array if the first minimum time delay is smaller than the second minimum time delay.
In this step S120, whether the first minimum delay time is smaller than the second minimum delay time can be determined by using the following formula:
D[k]+d(k,j)<D[j];
d [ k ] is the time delay from the source node to the intermediate node k, D (k, j) is the time delay from the intermediate node k to the node j in the second set, D [ k ] + D (k, j) is the time delay from the source node to the node j in the second set through the intermediate node k, and D [ j ] is the time delay from the source node to the node j in the second set.
Specifically, by observing whether the newly added node in the first set can directly reach other nodes and calculating whether the time delay of reaching other nodes through the node is smaller than the time delay recorded in the previous first array, if so, the time delay of the nodes in the first array and the predecessor nodes of the nodes in the second array are updated; finally, the minimum delay value is found out from the first array. And assigning the first minimum delay to the second minimum delay when the first minimum delay is less than the second minimum delay.
If the time delay of the node to reach other nodes is not less than the time delay recorded in the previous first array, executing a traversal step, wherein the traversal step comprises the following steps: and repeating the updating step under the condition that the first minimum time delay is not less than the second minimum time delay.
Specifically, the time delay from the source node to all other nodes in the second set through the intermediate node is calculated in a traversing manner, if the time delay of a path from the source node to the other nodes through the intermediate node is smaller than the time delay of a path from the source node to the other nodes without passing through the intermediate node, the time delay of the intermediate node in the first array is updated, the precursor node in the second array is updated to the node, and otherwise, the nodes in the second set are continuously traversed; until the traversal is finished.
And determining the time delay from the source node to each direct node in the network topology by using the following formula:
Figure BDA0002346969200000061
wherein d (s, j) is the link time delay from the source node s to the node j; l is the average packet length; b issjThe actual link bandwidth corresponding to the source node s to the node j is obtained; lambda [ alpha ]sjThe flow arrival rate on the actual link corresponding to the source node s to the node j.
Step S130: the updating step is repeated until the first set comprises the destination node of the data stream.
Specifically, the updating step is repeated until the destination node is included in the first set, and the minimum delay path from the source node to the destination node is derived through the second array.
And after the minimum time delay from the source node to the destination node is obtained, the stream arrival rate of each path on the path with the minimum time delay from the source node to the destination node is updated by using the following formula:
λijnew=λij+λ;
wherein λ isijnewThe updated link data flow arrival rate from the node i to the node j is obtained; lambda [ alpha ]ijThe data flow arrival rate of the link between the node i and the node j is obtained; λ is the data stream arrival rate of the source node.
The algorithm idea of the embodiment of the invention is as follows: taking the network topology graph G ═ { V, E } as an example, the node set in the topology is V ═ { V ═1,v2,....vi...},viDenotes a node numbered i, and the set of edges E ═ E in the topologyij,vi∈V,vj∈V},eijIs a node viAnd node vjEdges connected between, weights w of edges in topologyijD (i, j) (d (i, j) is the time delay of the data packet passing through the link, and corresponds to the bandwidth B on the actual linkijStream arrival rate λijRelative to the average packet length L), array D2]And array P [ alpha ], [ alpha]And respectively storing the minimum time delay from the source point to each node and the precursor nodes from the source point to each node. Firstly, the middle section of the figureThe set of points V is divided into two groups, the first group being a set of nodes for which the minimum delay paths have been found (i.e. the first group, denoted as Closed, which initially has only one source point s, the weight of the source point s (i.e. the path delay) being assigned a value of 0(D [ s ]]=0,P[s]0), each time one node v is found out lateriWill be the node viAdding the vertex set into the set Closed until all the nodes are added into the set Closed, finishing the algorithm), and setting the second set as the vertex set of the rest undetermined minimum delay paths (namely, the second set, which is expressed by Open, if an edge e which can be directly reached exists for the node s)sj(i.e., the node is a direct node), D [ j ] is transmitted]Let d (s, j), P [ j]Set s while setting the delay of all other nodes (i.e., nodes that s cannot reach directly, i.e., non-direct nodes) to infinity). Then, selecting the minimum value from the array D, wherein the value is the minimum time delay from the source point s to the node corresponding to the value, and adding the node into Closed; then, observing whether the newly added node can directly reach other vertexes and calculating whether the time delay of reaching other nodes through the node is smaller than the time delay recorded by the previous array D, and if so, updating the values of the nodes in D and the predecessor nodes of the nodes; and finally, finding out the minimum value from the D, repeating the steps until the Closed node D comprises a target node D, deducing the minimum delay path from the source node s to the target node D through the array P, and calculating the stream arrival rate lambda of each link on the minimum delay path from the source node to the target nodeijAnd updating, and continuously calculating the minimum delay path of the next data flow by using the algorithm.
For a network topology graph G ═ V, E }, a dynamic minimum delay algorithm flowchart of the embodiment of the present invention is shown in fig. 2, and the specific algorithm steps are as follows:
step S1, initialization: for the data flow with the arrival rate lambda from the source node s to the destination node d, adding the source node s into the set Closed, putting other nodes except s into the set Open, and if s and the node j in the Open have an edge, then the edge esjWeight w ofsjIs D (s, j), Dj]Is wsj,P[j]Is s; if node j is not a neighbor of s, then edge esjWeight w ofijIs ∞, Dj]Is also ∞, Pj]Is 0; in addition, if there is no direct connection between two nodes i, j, the weight w between the pair of nodesijAnd the time delay d (i, j) is ∞, and then step S2 is executed.
Step S2, selecting a node k with the smallest time delay from the node S from the Open (i.e. the time delay D [ k ] from the node S to the node k is the smallest) and adding the node k into the Closed, and executing step S3.
Step S3, judging whether the Closed includes the destination node d, if not, executing step S4; otherwise, step S5 is executed.
Step S4, with the node k as an intermediate node, traversing and calculating the time delay from the source node S to all other nodes in Open, if the time delay of the path from the node k to the other nodes is smaller than the time delay of the path from the node k to the other nodes, updating the time delay of the node in the array D and the predecessor node in the array P as k, otherwise, continuing traversing; after the traversal is completed, step S2 is executed.
Step S5, deducing the minimum delay path from the source node S to the destination node d through the array P, and carrying out flow arrival rate lambda of each link on the minimum delay path from the source node to the destination nodeijUpdating is carried out, and the algorithm is ended.
Further, the link delay d (S, j) from the node S to the node j in the step S1 is calculated as follows:
Figure BDA0002346969200000071
wherein, BsjIs an edge esjCorresponding actual link bandwidth, L is the average packet length, λsjIs an edge esjThe stream arrival rate on the corresponding actual link.
Further, in step S3, the node k is used as an intermediate node, the time delay from the source node S to any node j in Open is D [ k ] + D (k, j), the time delay from the source node S to any node j in Open without passing through the node k is D [ j ], and if D [ k ] + D (k, j) < D [ j ], the value obtained by D [ k ] + D (k, j) is assigned to D [ j ].
Further, in step S5, the method for deriving the minimum delay path through the array P includes the steps of:
step S501, finding a predecessor node v1 reaching a destination node d as P [ d ] through an array P;
step S502, continuing to search a predecessor node v2 of v1 to be P [ v1] through the node v1 and the array P;
and S503, repeating the steps, and continuously searching the precursor node of the v2 until the source node S is found, so as to obtain the minimum delay path from the source node S to the destination node d as (S), (v) 2, v1, d).
Further, after the step S5 calculates the minimum delay path of a data stream, the stream arrival rate λ of each link on the path is required to be calculatedijUpdating with formula of λij=λij+ λ, λ is the arrival rate of the data stream.
The dynamic minimum delay routing method according to the embodiment of the present invention is described below by taking the network topology shown in fig. 3 as an example.
First, according to the service flow requirement, assume that there are two service flows f1And f2The source and destination nodes of the first flow are v1 and v4, respectively, and the arrival rate λ1Is 400 pkt/s; the source and destination nodes of the second stream are v2 and v4, respectively, and the arrival rate λ2Is 400 pkt/s; the average packet length L is 1000b, and the bandwidth of each link is 1 Mbps.
First of all, the traffic flow f is calculated1The minimum delay path of (2), when the stream arrival rate on each link is lambdaijAre both 0.
Step S1, initializing, adding the source node v1 to an empty set Closed, where Closed is { v1}, putting all the nodes except v1 into an empty set Open, where Open is { v2, v3, v4, v5, v6}, and v1 have edges with the nodes v2 and v6 in Open, respectively, and then the edge e is an edge12And edge e16Weight w of12And w16Respectively D (1,2) and D (1,6), D [ v2]And D [ v6]Are respectively w12And w16,P[v2]And P [ v6]Are both v 1; the remaining three nodes v3, v4, v5 are not neighbors of v1, then edge e13,e14,e15Weight w of13,w14,w15Is ∞, D3],D[4],D[5]Is also ∞, P3],P[4],P[5]0, the time delays d (2,4), d (2,5), …, d (6,3) and d (6,4) between the node pairs which are not directly connected are all infinity, d (1,2) and d (1,6) are respectively calculated according to the formula, and the values are updated
Figure BDA0002346969200000081
Figure BDA0002346969200000082
Figure BDA0002346969200000083
Then step S2 is executed;
step S2, selecting a node v2 with the smallest time delay from the node v1 (i.e., when the time delay D [2] from the node v1 to the node v2 is smallest) from the Open ═ v2, v3, v4, v5, v6, adding the node v2 to the Closed, when the Closed ═ { v1, v2}, and Open ═ v3, v4, v5, v6}, and executing step S3;
step S3, judging whether the Closed includes the destination node v4, and executing step S4 if the Closed does not include the destination node v 4;
step S4, with the node v2 as an intermediate node, traverse the time delay from the source node v1 to all nodes { v3, v4, v5, v6} in Open. The time delay of the source node v1 from the node v2 as an intermediate node to the node v3 in Open is
Figure BDA0002346969200000084
When the time delay from the node v2 to the node v3 in Open is D [3]]=∞,
Figure BDA0002346969200000091
D2]The value obtained by + d (2,3) is given
Figure BDA0002346969200000092
And updating P [ v3]V 2. And continuing to calculate the time delay from the source node v1 to the rest nodes { v4, v5, v6} in the Open by taking the node v2 as an intermediate node.
After the end of this step S4,
Figure BDA0002346969200000093
P[v3]=v2,D[4],D[5]is still infinity, P4],P[5]The number of bits is still 0, and,
Figure BDA0002346969200000094
P[v6]v 1; then, the process proceeds to step S2;
selecting a node v6 with the smallest delay from the node v1 from the Open ═ { v3, v4, v5 and v6} (i.e., when the delay D [6] from the node v1 to the node v6 is the smallest), adding the node v6 to the Closed, when the Closed ═ v1, v2 and v6}, and the Open ═ { v3, v4 and v5}, and executing step S3;
judging whether the Closed includes the destination node v4, and executing step S4 if the Closed does not include the destination node v 4;
and with the node v6 as an intermediate node, the time delay from the source node v1 to all nodes { v3, v4, v5} in the Open is calculated in a traversal mode. The time delay of the source node v1 from the node v6 as an intermediate node to the node v3 in Open is
Figure BDA0002346969200000095
The time delay from the node v6 to the node v3 in Open is
Figure BDA0002346969200000096
And continuing to calculate the time delay from the source node v1 to the rest nodes { v4, v5} in Open by taking the node v2 as an intermediate node.
After the end of this step S4,
Figure BDA0002346969200000097
P[v3]=v2,D[4]is still infinity, P4]Is still as
Figure BDA0002346969200000098
P[v6]V 1; continuing to execute step S2;
selecting a node v3 with the smallest delay from the node v1 (i.e., when the delay D [3] from the node v1 to the node v3 is the smallest) from the Open ═ v3, v4, v5, adding the node v3 into the Closed, when the Closed ═ v1, v2, v3, v6, and the Open ═ v4, v5}, and executing step S3;
judging whether the Closed includes the destination node v4, and executing step S4 if the Closed does not include the destination node v 4;
by nodev3 is an intermediate node, and the traversal calculates the time delay from the source node v1 to all nodes { v4, v5} in Open. The time delay of the source node v1 from the node v3 as an intermediate node to the node v4 in Open is
Figure BDA0002346969200000099
When the time delay from the node v3 to the node v4 in Open is D [4]]=∞,
Figure BDA00023469692000000910
Will D3]The value obtained by + d (3,4) is given
Figure BDA00023469692000000911
And updating P [ v4]V 3. And continuing to calculate the time delay from the source node v1 to the remaining nodes { v5} in Open by taking the node v3 as an intermediate node.
After the end of this step S4,
Figure BDA00023469692000000912
P[v2]=v1,
Figure BDA00023469692000000913
P[v3]=v2,
Figure BDA00023469692000000914
P[4]=v3,
Figure BDA0002346969200000101
P[5]=v6,
Figure BDA0002346969200000102
P[v6]v 1; continuing to execute step S2;
selecting a node v5 with the smallest delay from the node v1 (namely, the delay D [5] from the node v1 to the node v5 is smallest) from Open-v 4, v5, and adding the selected node v5 into Closed, wherein the Closed is { v1, v2, v3, v5, v6}, and Open-v 4 }; step S2 is executed;
judging whether the Closed includes the destination node v4, and if not, executing step S3:
with the node v5 as an intermediate node, the time delay from the source node v1 to all nodes { v4} in Open is calculated in a traversal mode. The time delay of the source node v1 from the node v5 as an intermediate node to the node v4 in Open is
Figure BDA0002346969200000103
The time delay from the node v5 to the node v4 in Open is
Figure BDA0002346969200000104
Figure BDA0002346969200000105
After the end of this step S4,
Figure BDA0002346969200000106
P[v2]=v1,
Figure BDA0002346969200000107
P[v3]=v2,
Figure BDA0002346969200000108
P[4]=v3,
Figure BDA0002346969200000109
P[5]=v6,
Figure BDA00023469692000001010
P[v6]v 1; execution continues with step S2:
selecting a node v4 with the smallest time delay from a node v1 (namely, when the time delay D [4] from the node v1 to the node v4 is the smallest) from Open ═ { v4}, adding the node v4 to Closed, when Closed ═ { v1, v2, v3, v5, v6}, and Open { }; step S3 is executed:
judging whether the Closed includes the destination node v4, and executing step S5:
pushing flow f by array P1The predecessor node of the destination node v4 is P [ v 4]]The predecessor node for v3 is P [ v3 ═ v3]The predecessor node for v2 is P [ v2 ═ v2]Finding the source node v1, the minimum delay path from the source node v1 to the destination node v2 is obtained as v1<v1,v2,v3,v4>。
Finally, for each pathStream arrival rate λ for bar linkijIs updated, i.e.
λ12=λ121=0+400=400;
λ23=λ231=0+400=400;
λ34=λ341=0+400=400。
The flow f is then determined by the algorithm described above2The minimum delay path.
Step S1, initializing, adding the source node v2 to an empty set Closed, where Closed is { v2}, putting all the nodes except v2 into an empty set Open, where Open is { v1, v3, v4, v5, v6}, and v2 have edges with nodes v1, v3, and v6 in Open, respectively, and then edge e is an edge21、e23、e26Weight w of21、w23、w26Are respectively D (2, 1), D (2,3), D (2, 6), D [ v1]、D[v3]、D[v6]Are respectively w21、w23、w26,P[v1]、P[v3]、P[v6]Are both v 2; the remaining two nodes v4, v5 are not neighbors of v2, then edge e24,e25Weight w of24,w25Is ∞, D4],D[5]Is also ∞, P4],P[5]0, the time delays d (1, 3), d (1, 4), … …, d (6,3) and d (6,4) between the nodes which are not directly connected are infinite, d (2, 1), d (2,3) and d (2, 6) are respectively calculated according to the formula, and the values are updated
Figure BDA0002346969200000111
Figure BDA0002346969200000112
Figure BDA0002346969200000113
Figure BDA0002346969200000114
Figure BDA0002346969200000115
Then step S2 is executed;
step S2, selecting a node v1 with the smallest time delay from the node v2 (i.e., when the time delay D [1] from the node v2 to the node v1 is smallest) from the Open ═ v1, v3, v4, v5, v6, adding the node v1 to the Closed, when the Closed ═ { v1, v2}, and Open ═ v3, v4, v5, v6}, and executing step S3;
step S3, judging whether the Closed includes the destination node v4, and executing step S4 if the Closed does not include the destination node v 4;
step S4, with the node v1 as an intermediate node, traverse the time delay from the source node v2 to all nodes { v3, v4, v5, v6} in Open. The time delay of the source node v2 from the node v1 as an intermediate node to the node v3 in Open is
Figure BDA0002346969200000116
The time delay from the node v1 to the node v3 in Open is
Figure BDA0002346969200000117
And continuing to calculate the time delay from the source node v2 to the rest nodes { v4, v5, v6} in the Open by taking the node v1 as an intermediate node.
After the end of this step S4,
Figure BDA0002346969200000118
P[v1]=v2,
Figure BDA0002346969200000119
P[v3]=v2,D[4],D[5]is still infinity, P4],P[5]The number of bits is still 0, and,
Figure BDA00023469692000001110
P[v6]v 2; then, the process proceeds to step S2;
a node v6 with the smallest delay from the node v2 (i.e., when the delay D [6] from the node v2 to the node v6 is the smallest) is selected from the Open ═ v3, v4, v5, v6} and added to the Closed, when the Closed ═ v1, v2, v6}, and the Open ═ v3, v4, v5}, step S3 is executed:
judging whether the Closed includes the destination node v4, and if not, executing step S4:
and with the node v6 as an intermediate node, the time delay from the source node v2 to all nodes { v3, v4, v5} in the Open is calculated in a traversal mode. The time delay of the source node v2 from the node v6 as an intermediate node to the node v3 in Open is
Figure BDA00023469692000001111
The time delay from the node v6 to the node v3 in Open is
Figure BDA00023469692000001112
And continuing to calculate the time delay from the source node v2 to the rest nodes { v4, v5} in Open by taking the node v6 as an intermediate node.
After the end of this step S4,
Figure BDA0002346969200000121
P[v1]=v2,
Figure BDA0002346969200000122
P[v3]=v2,D[4]is still infinity, P4]The number of bits is still 0, and,
Figure BDA0002346969200000123
P[5]=v6,
Figure BDA0002346969200000124
P[v6]v 2; continuing to execute step S2;
selecting a node v5 with the smallest delay from the node v2 (i.e., when the delay D [5] from the node v2 to the node v5 is the smallest) from the Open ═ v3, v4, v5} and adding the selected node v5 to the Closed, when the Closed ═ v1, v2, v5, v6}, and the Open ═ { v3, v4}, and executing step S3;
judging whether the Closed includes the destination node v4, and executing step S4 if the Closed does not include the destination node v 4;
and with the node v5 as an intermediate node, the time delay from the source node v2 to all nodes { v3, v4} in Open is calculated in a traversal mode. The time delay of the source node v2 from the node v5 as an intermediate node to the node v3 in Open is
Figure BDA0002346969200000125
The time delay from the node v5 to the node v3 in Open is
Figure BDA0002346969200000126
Figure BDA0002346969200000127
And continuing to calculate the time delay from the source node v2 to the remaining nodes { v4} in Open by taking the node v3 as an intermediate node.
After the end of this step S4,
Figure BDA0002346969200000128
P[v2]=v1,
Figure BDA0002346969200000129
P[v3]=v2,
Figure BDA00023469692000001210
P[4]=v5,
Figure BDA00023469692000001211
P[5]=v6,
Figure BDA00023469692000001212
P[v6]v 2; continuing to execute step S2;
selecting a node v3 with the smallest delay from the node v2 (namely, the delay D [3] from the node v2 to the node v3 is smallest) from Open-v 3, v4, and adding the selected node v3 into Closed, wherein the Closed is { v1, v2, v3, v5, v6}, and Open-v 4 }; step S2 is executed:
judging whether the Closed includes the destination node v4, and executing step S4 if the Closed does not include the destination node v 4;
with the node v3 as an intermediate node, the time delay from the source node v2 to all nodes { v4} in Open is calculated in a traversal mode. The time delay of the source node v2 from the node v3 as an intermediate node to the node v4 in Open is
Figure BDA00023469692000001213
The time delay from the node v5 to the node v4 in Open is
Figure BDA00023469692000001214
Figure BDA00023469692000001215
After the end of this step S4,
Figure BDA00023469692000001216
P[v1]=v2,
Figure BDA00023469692000001217
P[v3]=v2,
Figure BDA00023469692000001218
P[4]=v5,
Figure BDA00023469692000001219
P[5]=v6,
Figure BDA00023469692000001220
P[v6]v 2; continuing to execute step S2;
selecting a node v4 with the minimum time delay from a node v2 (namely, when the time delay D [4] from the node v2 to the node v4 is minimum) from Open ═ { v4} to be added into Closed, wherein Closed ═ { v1, v2, v3, v5, v6}, and Open { }; step S3 is executed:
judging whether the Closed includes the destination node v4, and executing step S5;
pushing flow f by array P2The predecessor node of the destination node v4 is P [ v 4]]The predecessor node for v5 is P [ v5 ═ v5]The predecessor node for v6 is P [ v6 ═ v6]Finding the source node v2, the minimum delay path from the source node v2 to the destination node v4 is obtained as v2<v2,v6,v5,v4>。
Finally, the stream arrival rate λ for each link on the pathijIs updated, i.e.
λ26=λ262=0+400=400;
λ65=λ652=0+400=400;
λ54=λ542=0+400=400。
In summary, in the dynamic minimum delay routing method for acquiring a data stream according to the embodiment of the present invention, by taking a delay as a standard, recording a bandwidth and a data stream arrival rate on each link, and dynamically updating the data stream arrival rate on each link, a path with the minimum delay in the current state can be provided for each data stream, so as to ensure the delay performance of each data stream. Based on data flow, the method of the invention is suitable for the existing network architecture, such as Software Defined Network (SDN), aiming at different service flows, the SDN controller calculates different routing paths through the algorithm, thereby ensuring the time delay performance of each service in the network, and providing a changing direction for improving the network environment and improving the utilization rate of network resources.
Correspondingly to the foregoing method, an embodiment of the present invention further provides a dynamic minimum latency routing system based on a data stream, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements the steps of any of the methods described in any of the foregoing embodiments when executing the program.
Embodiments of the present invention further provide a computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, implements the steps of the method according to any of the embodiments.
Those of ordinary skill in the art will appreciate that the various illustrative components, systems, and methods described in connection with the embodiments disclosed herein may be implemented as hardware, software, or combinations of both. Whether this is done in hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention. When implemented in hardware, it may be, for example, an electronic circuit, an Application Specific Integrated Circuit (ASIC), suitable firmware, plug-in, function card, or the like. When implemented in software, the elements of the invention are the programs or code segments used to perform the required tasks. The program or code segments may be stored in a machine-readable medium or transmitted by a data signal carried in a carrier wave over a transmission medium or a communication link. A "machine-readable medium" may include any medium that can store or transfer information. Examples of a machine-readable medium include electronic circuits, semiconductor memory devices, ROM, flash memory, Erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, Radio Frequency (RF) links, and so forth. The code segments may be downloaded via computer networks such as the internet, intranet, etc.
The above description is only a preferred embodiment of the present invention, and is not intended to limit the present invention, and various modifications and changes may be made to the embodiment of the present invention by those skilled in the art. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (10)

1. A dynamic minimum delay routing method based on data flow is characterized by comprising the following steps:
an initial step, aiming at a specific data stream in a network topology, determining weights from a source node to each direct node in the network topology and weights from the source node to each indirect node in the network topology, respectively determining time delay from the source node to each node in the network topology based on the determined weights, and respectively recording the minimum time delay from the source node to each node in the network topology and precursor nodes from the source node to each node in the network topology in a first array and a second array, wherein in the initial step, the source node is used as an element in a first set, and all nodes except the source node in the network topology are used as elements in a second set;
an updating step of selecting a node from the second set with a minimum delay from a source node, changing the selected node from an element in the second set to an element in the first set, and taking the selected node as an intermediate node, determining a first minimum delay from the source node to a node in the second set through the selected node and a second minimum delay from the source node to a node in the second set through the selected node, and updating a minimum delay of a corresponding node in the first array and a predecessor node of the corresponding node in the second array if the first minimum delay is smaller than the second minimum delay;
and repeating the updating step until the destination node of the data stream is included in the first set.
2. The method of claim 1, further comprising:
and traversing, and repeating the updating step under the condition that the first minimum time delay is not less than the second minimum time delay.
3. The method of claim 1,
the weight from the source node to each direct node in the network topology is determined to be equal to the time delay from the source node to the corresponding node in the network topology;
the weight from the source node to each indirect node in the network topology is determined to be infinite, and the time delay from the source node to each indirect node in the network topology is determined to be infinite based on the weight from the source node to each indirect node in the network topology.
4. The method of claim 1, wherein a predecessor node of a non-direct node in the second array is assigned a value of 0.
5. The method of claim 1, wherein determining whether the first minimum delay is less than the second minimum delay is performed using the following equation:
D[k]+d(k,j)<D[j];
d [ k ] is the time delay from the source node to the intermediate node k, D (k, j) is the time delay from the intermediate node k to the node j in the second set, D [ k ] + D (k, j) is the time delay from the source node to the node j in the second set through the intermediate node k, and D [ j ] is the time delay from the source node to the node j in the second set.
6. The method of claim 1, wherein updating the minimum delay in the first array if the first minimum delay is less than the second minimum delay comprises:
the first minimum delay is less than the second minimum delay, and the first minimum delay is assigned to the second minimum delay.
7. The method of claim 1, wherein the time delay from a source node to each direct node in the network topology is determined using the following equation:
Figure FDA0002346969190000021
wherein d (s, j) is the link time delay from the source node s to the node j; l is the average packet length; b issjThe actual link bandwidth corresponding to the source node s to the node j is obtained; lambda [ alpha ]sjThe flow arrival rate on the actual link corresponding to the source node s to the node j.
8. The method of claim 7, further comprising updating the data stream arrival rate for each link using the following formula:
λijnew=λij+λ;
wherein λ isijnewThe updated link data flow arrival rate from the node i to the node j is obtained; lambda [ alpha ]ijThe data flow arrival rate of the link between the node i and the node j is obtained; λ is the data stream arrival rate of the source node.
9. A dynamic minimum latency routing system based on data flows, comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor, when executing the program, implements the steps of the method according to any one of claims 1 to 8.
10. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 8.
CN201911398608.3A 2019-12-30 2019-12-30 Dynamic minimum delay routing method and system based on data stream Active CN111092815B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911398608.3A CN111092815B (en) 2019-12-30 2019-12-30 Dynamic minimum delay routing method and system based on data stream

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911398608.3A CN111092815B (en) 2019-12-30 2019-12-30 Dynamic minimum delay routing method and system based on data stream

Publications (2)

Publication Number Publication Date
CN111092815A true CN111092815A (en) 2020-05-01
CN111092815B CN111092815B (en) 2021-04-23

Family

ID=70397661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911398608.3A Active CN111092815B (en) 2019-12-30 2019-12-30 Dynamic minimum delay routing method and system based on data stream

Country Status (1)

Country Link
CN (1) CN111092815B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1968122A (en) * 2006-09-04 2007-05-23 南京理工大学 Simulated annealing-based dynamically distributed multicast routing method
CN101527680A (en) * 2009-02-20 2009-09-09 西部矿业股份有限公司 DDMC-based delay-constrained multicast routing method
US20120063472A1 (en) * 2009-03-12 2012-03-15 Michel Le Pallec Method for processing distributed data having a chosen type for synchronizing communication nodes of a data packet network, and associated device
CN103685025A (en) * 2013-12-04 2014-03-26 中国空间技术研究院 Cross-layer dynamic self-adapting routing method based on LEO satellite network
US20150334031A1 (en) * 2011-07-19 2015-11-19 Cisco Technology, Inc. Delay budget based forwarding in communication networks
CN107294852A (en) * 2017-07-01 2017-10-24 台州学院 A kind of network route method using the scattered short path collection of topology
CN108768713A (en) * 2018-05-09 2018-11-06 西安工业大学 A kind of guarantee QoS dynamic routing algorithms in SDN

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1968122A (en) * 2006-09-04 2007-05-23 南京理工大学 Simulated annealing-based dynamically distributed multicast routing method
CN101527680A (en) * 2009-02-20 2009-09-09 西部矿业股份有限公司 DDMC-based delay-constrained multicast routing method
US20120063472A1 (en) * 2009-03-12 2012-03-15 Michel Le Pallec Method for processing distributed data having a chosen type for synchronizing communication nodes of a data packet network, and associated device
US20150334031A1 (en) * 2011-07-19 2015-11-19 Cisco Technology, Inc. Delay budget based forwarding in communication networks
CN103685025A (en) * 2013-12-04 2014-03-26 中国空间技术研究院 Cross-layer dynamic self-adapting routing method based on LEO satellite network
CN107294852A (en) * 2017-07-01 2017-10-24 台州学院 A kind of network route method using the scattered short path collection of topology
CN108768713A (en) * 2018-05-09 2018-11-06 西安工业大学 A kind of guarantee QoS dynamic routing algorithms in SDN

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
宋海权等: "《基于网络时延的SDN逻辑一致性策略研究》", 《电子科技大学学报》 *

Also Published As

Publication number Publication date
CN111092815B (en) 2021-04-23

Similar Documents

Publication Publication Date Title
CN108900419B (en) Routing decision method and device based on deep reinforcement learning under SDN framework
US6584071B1 (en) Routing with service level guarantees between ingress-egress points in a packet network
US6538991B1 (en) Constraint-based routing between ingress-egress points in a packet network
EP1757026B1 (en) Method and apparatus for forwarding data in a data communications network
US6377551B1 (en) QoS based route determination method for communications networks
US8279753B2 (en) Efficient determination of fast routes when voluminous data is to be sent from a single node to many destination nodes via other intermediate nodes
US20070076615A1 (en) Non-Blocking Destination-Based Routing Networks
JP5915545B2 (en) Route selection method and control server
CN107431968A (en) A kind of method for establishing routing table, electronic equipment and network
US9049145B2 (en) Method and apparatus for calculating MPLS traffic engineering paths
US20180316599A1 (en) Routing packets considering the propagation delay of routes
US10122627B2 (en) Network routing through an overlay network
US20130132542A1 (en) Method and System for Effective BGP AS-Path Pre-pending
CN108476170B (en) Bidirectional constraint path searching method and device
JP5235622B2 (en) Method for routing and load balancing in a communication network
CN113612692B (en) Centralized optical on-chip network self-adaptive route planning method based on DQN algorithm
WO2016186861A1 (en) Method and apparatus for self-tuned adaptive routing
Chavula et al. Using SDN and reinforcement learning for traffic engineering in UbuntuNet Alliance
CN107046504B (en) Method and controller for traffic engineering in a communication network
CN111092815B (en) Dynamic minimum delay routing method and system based on data stream
CN111901237B (en) Source routing method and system, related device and computer readable storage medium
JP6085260B2 (en) Route control system, route control device, and route control method
J# x00F3; zsa et al. An efficient algorithm for global path optimization in MPLS networks
Garg et al. Adaptive optimized open shortest path first algorithm using enhanced moth flame algorithm
KR20070115893A (en) Method for iterative routing with the aid of a path-dependent routing metric

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