CN109257287B - Shortest path determining method and controller - Google Patents

Shortest path determining method and controller Download PDF

Info

Publication number
CN109257287B
CN109257287B CN201710571119.8A CN201710571119A CN109257287B CN 109257287 B CN109257287 B CN 109257287B CN 201710571119 A CN201710571119 A CN 201710571119A CN 109257287 B CN109257287 B CN 109257287B
Authority
CN
China
Prior art keywords
network topology
path
edge
paths
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710571119.8A
Other languages
Chinese (zh)
Other versions
CN109257287A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710571119.8A priority Critical patent/CN109257287B/en
Priority to PCT/CN2018/095702 priority patent/WO2019011338A1/en
Publication of CN109257287A publication Critical patent/CN109257287A/en
Application granted granted Critical
Publication of CN109257287B publication Critical patent/CN109257287B/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/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • 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/123Evaluation of link metrics
    • 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/124Shortest path evaluation using a combination of metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Landscapes

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

Abstract

The application discloses a shortest path determining method and a controller, wherein the method comprises the following steps: determining a multiplier corresponding to the shortest path determined based on Lagrangian relaxation LARAC algorithm from a source node to a destination node in the network topology; determining the weight of each edge in the network topology according to the multiplier, and determining K paths according to the weight of each edge, wherein the K paths are K paths from small to large in weight in the path from the source node to the sink node in the network topology, and K is a positive integer greater than 1; the weight of a path is the sum of the weights of all edges in the path; and determining the path with the minimum sum of the first attributes of the paths in the K paths as a first path, and taking the first path as the shortest path from the source node to the sink node in the network topology.

Description

Shortest path determining method and controller
Technical Field
The present application relates to the field of communications technologies, and in particular, to a shortest path determining method and a controller.
Background
With the development of communication technology, Software Defined Networking (SDN) is receiving more and more attention as a new network architecture. The core idea of the SDN is to separate a control plane and a forwarding plane of a network, and an SDN controller on the control plane can uniformly control forwarding of data in a certain network on the forwarding plane, so as to implement flexible deployment of network traffic. When the SDN controller controls forwarding of data in a certain network, for a network where a source node and a destination node of a certain service are located, a path set of each node in the network may be determined first, where the path set of each node includes a path from the source node to the node, and then a service path from the source node to the destination node is determined based on the path set of each node, so as to forward service data between the source node and the destination node according to the service path. The source node is a node serving as a source for transmitting service data, and the sink node is a node serving as a sink for receiving the service data.
When performing routing calculation between a source node and a sink node, an SDN controller generally considers a single factor, for example, only considers factors such as cost (cost) or delay (delay), and obtains a path that satisfies Quality of service (QoS), so that the calculated shortest path may not be an optimal path.
Disclosure of Invention
The application provides a shortest path determining method and a controller, which are used for solving the problem of how to determine a better shortest path between a source node and a destination node.
The embodiment of the application provides a method for determining a shortest path, which comprises the following steps:
determining a multiplier corresponding to a shortest path determined based on a Lagrangian relaxation algorithm from a source node to a sink node in a network topology; the multiplier corresponding to the shortest path determined based on the Lagrange relaxation algorithm is a fixed value, and is the multiplier corresponding to the shortest path determined in the last iteration process of the Lagrange relaxation algorithm.
And determining the weight of each edge in the network topology according to the multipliers, and determining K paths according to the weight of each edge. The K paths are K paths with the weights from small to large in the paths from the source node to the sink node in the network topology, and K is a positive integer greater than 1; the weight of the path is the sum of the weights of all edges in the path.
And determining a path with the minimum sum of the first attributes of the paths in the K paths as a first path, wherein the first path is a shortest path from a source node to a sink node in the network topology. The threshold is set as a user equipment requesting the SDN controller to determine the shortest path from the source node to the sink node, and is set according to the actual network requirement of the user equipment, although the preset threshold may also be a default value, or the SDN controller is set according to the actual situation of the network.
The first attribute is one attribute of a link corresponding to an edge in the network topology, and the second attribute is another attribute different from the first attribute of the link corresponding to the edge in the network topology; the sum of the first attributes of the path is the sum of the first attributes of all edges in the path, and the sum of the second attributes of the path is the sum of the second attributes of all edges in the path.
According to the method provided by the embodiment of the application, after the multiplier corresponding to the shortest path determined based on the Lagrange relaxation algorithm is determined, the weight of each edge in the network topology is determined according to the multiplier, and the path with the minimum weight of the K paths is determined according to the weight of each edge. And finally, determining a first shortest path from the K paths. According to the embodiment of the application, the determined first path is the constraint condition with the smallest sum of the second attributes of the paths on the basis of meeting the constraint condition that the sum of the first attributes of the paths is smaller than or equal to the preset threshold, so that the determined first path is superior to the path determined only according to the constraint condition that the sum of the first attributes of the paths is smaller than or equal to the preset threshold, namely the sum of the second attributes of the determined first path is smaller than the sum of the second attributes of the shortest paths determined based on the LARAC algorithm, and therefore the shortest path with better quality is obtained.
In some embodiments, before determining the weight of each edge in the network topology from the multiplier, further comprising:
determining that the following preset conditions are met:
the node density of the network topology is greater than or equal to a preset node density, and the average difference coefficient of the shortest paths determined based on the LARAC algorithm is less than or equal to a preset difference coefficient.
By the method, when the node density is determined to be greater than or equal to the preset node density, and the average difference coefficient of the shortest paths determined based on the LARAC algorithm is determined to be less than or equal to the preset difference coefficient, the shortest path determined based on the LARAC algorithm and obtained currently can be determined to be not the optimal path, so that the first shortest path can be determined according to a multiplier corresponding to the shortest path determined based on the LARAC algorithm, and the accuracy of determining the shortest path between the source node and the sink node is improved.
In some embodiments, if it is determined that the shortest path determined based on the larc algorithm does not satisfy the preset condition, the shortest path determined based on the larc algorithm is determined as a shortest path from a source node to a sink node in the network topology.
In some embodiments, the average difference coefficient for the shortest path determined based on the LARAC algorithm satisfies the following formula:
av(D)=|E|×2/|V|
wherein av (d) is the node density of the network topology, E is the number of edges included in the network topology, and V is the number of nodes included in the network topology.
The embodiment of the present application does not limit how the preset node density is specifically determined, and the preset node density may be used to determine whether multiple edges exist between nodes in a network topology, so as to determine whether a shortest path determined based on the larc algorithm is optimal.
In some embodiments, the average difference coefficient for the second path satisfies the following equation:
Figure GDA0002430536430000021
wherein av (CV) is an average difference coefficient of the shortest paths determined based on the LARAC algorithm,
Figure GDA0002430536430000022
CVia difference coefficient of the weight of the heavy edge between two adjacent nodes corresponding to the ith edge of the shortest path determined based on the LARAC algorithm, SiFor the standard deviation of the heavy edge weight between two adjacent nodes corresponding to the ith edge in the shortest path determined based on the LARAC algorithm,
Figure GDA0002430536430000031
for the ith edge of the shortest path determined based on the LARAC algorithmAnd the average value of the weight of the heavy edges between two corresponding adjacent nodes, wherein n is a positive integer greater than or equal to 1, and n is the number of edges included in the shortest path determined based on the LARAC algorithm.
How to determine the preset difference coefficient specifically is not limited in the embodiment of the present application, and whether multiple edges exist between nodes in the network topology may be determined by combining the preset node density and the preset difference coefficient, so as to determine whether the shortest path determined based on the LARAC algorithm is optimal.
In some embodiments, determining a weight for each edge in the network topology from the multiplier comprises:
for any edge in the network topology, determining the sum of the product of the first attribute of the edge and the multiplier and the second attribute of the edge as the weight of the edge.
In some embodiments, after taking the first path as the shortest path from the source node to the sink node in the network topology, the method further includes:
and generating a routing table from the source node to the destination node according to the first path.
In some embodiments, the first attribute is any one of cost, delay jitter, and packet loss rate;
the second attribute is any one of cost, time delay jitter and packet loss rate.
In some embodiments, the cost is expense or distance or energy consumption.
In the embodiment of the present application, the cost refers to an overhead required when a data packet arrives at a receiving node in a network topology from a sending node in the network topology. For example, it may refer to the cost or energy consumption required for a data packet to reach a receiving node in the network topology from a sending node in the network topology, and may also refer to the distance of a link through which the data packet passes when reaching the receiving node in the network topology from the sending node in the network topology.
The time delay refers to the time taken for a data packet to reach a receiving node in the network topology after being transmitted from a transmitting node in the network topology and transmitted through a channel. The delay jitter refers to the variation of the delay and can reflect the variation degree of the delay. The packet loss rate is a ratio of the number of lost packets to the total number of transmitted packets among the packets transmitted from the transmitting node to the receiving node in the network topology.
An embodiment of the present application provides a controller, including:
the receiving module is used for receiving source node information and sink node information; the source node information indicates a source node, the sink node information indicates a sink node;
a storage module, configured to store network topology information, where the network topology information includes a network topology structure and a first attribute and a second attribute of each edge in the network topology structure, where the first attribute is an attribute of a link corresponding to an edge in the network topology, and the second attribute is another attribute different from the first attribute of the link corresponding to the edge in the network topology;
the processing module is used for determining a multiplier corresponding to the shortest path determined based on Lagrangian relaxation LARAC algorithm from a source node to a destination node in the network topology; determining the weight of each edge in the network topology according to the multiplier, and determining K paths according to the weight of each edge, wherein the K paths are K paths from small to large in weight of the paths from the source node to the sink node in the network topology, and K is a positive integer greater than 1; the weight of the path is the sum of the weights of all edges in the path; and determining a path with the smallest sum of the first attributes of the paths in the K paths as a first path, wherein the first path is the shortest path from the source node to the sink node in the network topology, the sum of the first attributes of the paths is the sum of the first attributes of all edges in the path, and the sum of the second attributes of the paths is the sum of the second attributes of all edges in the path.
In some embodiments, the processing module is further to:
determining that the following preset conditions are met:
the node density of the network topology is greater than or equal to a preset node density, and the average difference coefficient of the shortest paths determined based on the LARAC algorithm is less than or equal to a preset difference coefficient.
In some embodiments, the node density of the network topology satisfies the following formula:
av(D)=|E|×2/|V|
wherein av (D) is the node density of the network topology, E is the number of edges included in the network topology, and V is the number of nodes included in the network topology.
In some embodiments, the average difference coefficient for the second path satisfies the following equation:
Figure GDA0002430536430000041
wherein av (CV) is an average coefficient of difference of the second path,
Figure GDA0002430536430000042
CViis the difference coefficient of the weight of the heavy edge between two adjacent nodes corresponding to the ith edge of the second path, SiThe standard deviation of the heavy edge weight between two adjacent nodes corresponding to the ith edge in the second path is obtained,
Figure GDA0002430536430000043
and the weighted average value of the heavy edges between two adjacent nodes corresponding to the ith edge of the second path is obtained, n is a positive integer greater than or equal to 1, and n is the number of edges included in the second path.
In some embodiments, the processing module is specifically configured to:
for any edge in the network topology, determining the sum of the product of the first attribute of the edge and the multiplier and the second attribute of the edge as the weight of the edge.
In some embodiments, the processing module is further to:
and generating a routing table from the source node to the destination node according to the first path.
In some embodiments, the storage module is further configured to store a routing table;
the processing module is further configured to instruct the storage module to update the routing table, where the routing table is used for routing the packet between the source node and the sink node.
In some embodiments, the first attribute is any one of cost, delay jitter, and packet loss rate;
the second attribute is any one of cost, time delay jitter and packet loss rate.
The present application also provides a computer readable storage medium storing computer software instructions for any of the designed functions of any of the shortest path determining methods described above, which when run on a computer, are operable to perform any of the designed functions of any of the shortest path determining methods described above.
Embodiments of the present application also provide a computer program product containing instructions, which when run on a computer, cause the computer to perform the shortest path determining method described in the above aspects.
Drawings
FIG. 1 is a schematic diagram of a scenario suitable for use in embodiments of the present application;
fig. 2 is a schematic flowchart of a shortest path determining method according to an embodiment of the present disclosure;
fig. 3 is a schematic diagram of path computation according to an embodiment of the present application;
fig. 4 is a schematic diagram of a network topology according to an embodiment of the present application;
fig. 5 is a schematic flowchart of a shortest path determining method according to an embodiment of the present disclosure;
fig. 6 is a schematic structural diagram of a controller according to an embodiment of the present disclosure;
fig. 7 is a schematic structural diagram of a controller according to an embodiment of the present application.
Detailed Description
The present application will be described in further detail below with reference to the accompanying drawings.
The embodiment of the application can be applied to various mobile communication systems, such as: global System for Mobile communications (GSM) System, Code Division Multiple Access (CDMA) System, Wideband Code Division Multiple Access (WCDMA) System, General Packet Radio Service (GPRS), Long Term Evolution (Long Term Evolution, LTE) System, LTE-a System, UMTS (Universal Mobile telecommunications System, UMTS), evolved Long Term Evolution (LTE) System, and 5G System (e.g. New Radio (NR) System).
An executing subject executing the shortest path determining method provided by the embodiment of the present application may be a device such as an SDN controller. Fig. 1 is a schematic view of a scenario applicable to the embodiment of the present application. The SDN controller collects network topology information of an underlying network topology in real time through a southbound interface, wherein the network topology information includes but is not limited to information of the number of nodes, the number of edges, cost and time delay of each edge, nodes adjacent to each node and the like in a network. When a northbound interface of the SDN controller receives a service transfer request sent by equipment such as user equipment, the SDN controller calculates shortest paths meeting constraint conditions for source nodes and destination nodes of the service. And the SDN controller generates a forwarding routing table according to the shortest path and issues the forwarding routing table to the bottom-layer forwarder through a southbound interface. The underlying device may send the traffic packets from the source node to the sink node.
With reference to the above description, as shown in fig. 2, a flow chart of a shortest path determining method provided in the embodiment of the present application is shown. In fig. 2, the execution subject may be a device such as an SDN controller, and for convenience of description, the SDN controller is used as the execution subject in the following description.
Referring to fig. 2, the method includes:
step 201: determining a multiplier corresponding to a shortest path determined based on a Lagrangian relaxation algorithm from a source node to a sink node in a network topology;
step 202: and determining the weight of each edge in the network topology according to the multipliers, and determining K paths according to the weight of each edge.
The K paths are K paths with the weights from small to large in the paths from the source node to the sink node in the network topology, and K is a positive integer greater than 1; the weight of the path is the sum of the weights of all edges in the path.
Step 203: and determining a path with the minimum sum of the first attributes of the paths in the K paths as a first path, wherein the first path is a shortest path from a source node to a sink node in the network topology.
The first attribute is one attribute of a link corresponding to an edge in the network topology, and the second attribute is another attribute different from the first attribute of the link corresponding to the edge in the network topology; the sum of the first attributes of the path is the sum of the first attributes of all edges in the path, and the sum of the second attributes of the path is the sum of the second attributes of all edges in the path.
Prior to step 201, the SDN controller may obtain network topology information of the underlying network topology from the southbound interface, thereby determining the entire network topology. The network topology information includes information such as connection relationships between each node in the network topology. The southbound interface is an interface provided for other manufacturers or operators to access and manage, namely a downward interface.
After receiving a service request message sent by user equipment, the SDN controller may determine a source node according to source node information in the service request message, determine a destination node according to destination node information, and determine information such as the destination node according to destination node information, and meanwhile, the service request message may further include a constraint condition, and the SDN controller may determine a shortest path that satisfies the constraint condition based on the constraint condition.
In step 201, the SDN controller determines, based on a lagrangian Relaxation (LARAC) algorithm, that a shortest path from a source node to a sink node is a path that satisfies a constraint condition, where the constraint condition may be that a sum of first attributes of the paths is less than or equal to a preset threshold. In the embodiment of the present application, the process of determining the shortest path based on the lagrangian relaxation algorithm may be as follows:
step 1: and calculating a path P1 with the minimum sum of second attributes of paths in the paths from the source node to the sink node in the network topology by utilizing a Dijkstra algorithm, if the sum d (P1) of the first attributes of the path P1 is less than or equal to a preset threshold value, determining the path P1 as the shortest path determined based on the LARAC algorithm, outputting a result and finishing the whole algorithm, and otherwise, turning to Step 2.
The first attribute may be any one of cost, delay variation and packet loss rate, and the second attribute may be any one of cost, delay variation and packet loss rate. For example, the first attribute may be latency and the second attribute may be cost.
In the embodiment of the present application, the cost refers to an overhead required when a data packet arrives at a receiving node in a network topology from a sending node in the network topology. For example, it may refer to the cost or energy consumption required for a data packet to reach a receiving node in the network topology from a sending node in the network topology, and may also refer to the distance of a link through which the data packet passes when reaching the receiving node in the network topology from the sending node in the network topology.
The time delay refers to the time taken for a data packet to reach a receiving node in the network topology after being transmitted from a transmitting node in the network topology and transmitted through a channel. The delay may also be referred to as a delay or a delay (transmission) time, etc. The delay jitter refers to the variation of the delay and can reflect the variation degree of the delay.
The packet loss rate is a ratio of the number of lost packets to the total number of transmitted packets among the packets transmitted from the transmitting node to the receiving node in the network topology.
Step 2: and calculating a path P2 with the minimum sum of the first attributes of the paths in the paths from the source node to the sink node in the network topology by utilizing Dijkstra algorithm, if the sum d (P2) of the first attributes of the path P2 is greater than a preset threshold value, determining that no shortest path which meets the condition that the sum of the first attributes of the path is less than or equal to the preset threshold value is met, and otherwise, turning to Step 3.
Step 3: and calculating multipliers according to the path P1 and the path P2, and updating the weight of each edge in the whole network topology according to the calculated multipliers by adopting the formula (1).
Wherein the formula (1) is:
cλi=ci+λ×di······(1)
in the formula (1), cλiIs the weight of the ith edge, ciIs a first attribute of the ith edge, diIs the second property of the ith edge and lambda is a multiplier.
Wherein the calculated multiplier λ satisfies formula (2):
Figure GDA0002430536430000061
in formula (2), c (P2) is the sum of the second attributes of the path P2, and c (P1) is the sum of the second attributes of the path P1.
Step 4: the path P3 with the smallest weight from the source node s to the sink node t is calculated using Dijkstra's algorithm.
Step 5: if the weight d of the path P3λ(P3) is equal to the weight d of path P2λ(P2), determining the path P2 as the shortest path from the source node to the sink node, outputting the result and ending the whole algorithm, otherwise, replacing the path P2 with the path P3 and turning to Step 3.
It should be noted that the shortest path determined based on the larc algorithm may not be the substantial shortest path from the source node to the sink node, and in order to determine the substantial shortest path from the source node to the sink node in the embodiment of the present application, the shortest path determined based on the larc algorithm may be optimized, so as to obtain the substantial shortest path from the source node to the sink node, and the optimization process is described later and is not described herein again.
In the embodiment of the present application, in combination with the above process, the multiplier is an iteration value in an algorithm iteration process, and is a variable, but after the shortest path is determined based on the larc algorithm, the multiplier corresponding to the shortest path determined based on the larc algorithm is a fixed value, and is a multiplier corresponding to the shortest path determined in the last iteration process of the larc algorithm.
In the above method, two constraint parameters (a first attribute and a second attribute) in the network topology are aggregated into one constraint parameter by a multiplier λ: and the weight is adopted, so that the problem of solving the shortest path of the network topology with a plurality of constraint parameters by utilizing the Dijkstra algorithm can be solved. However, in the above method, only one constraint parameter, that is, the sum of the first attributes of the paths is less than or equal to the preset threshold value, is considered, so the calculated shortest path may not be optimal.
In some embodiments, after determining the shortest path based on the LARAC algorithm, the SDN controller may determine whether a preset condition is satisfied: that is, it is determined whether the node density of the network topology is greater than or equal to a preset node density, and it is determined whether the average difference coefficient of the shortest paths determined based on the LARAC algorithm is less than or equal to a preset difference coefficient.
If the node density of the network topology is determined to be greater than or equal to the preset node density and the average difference coefficient of the shortest paths determined based on the larc algorithm is determined to be less than or equal to the preset difference coefficient, the steps after step 201 are continuously executed, otherwise, the shortest paths determined based on the larc algorithm can be directly determined as the shortest paths from the source nodes to the sink nodes in the network topology.
Specifically, the SDN controller may perform the following steps to determine whether a preset condition is satisfied:
step 301: an SDN controller determines a node density of the network topology;
the SDN controller may determine a node density of the network topology according to the following formula:
av(D)=|E|×2/|V|······(3)
wherein av (d) is the node density of the network topology, E is the number of edges included in the network topology, and V is the number of nodes included in the network topology.
Step 302: the SDN controller judges whether the node density is larger than or equal to a preset node density, if so, the step is carried out to a step 303, otherwise, the step is carried out to a step 306;
in the embodiment of the present application, the value of the preset node density is not limited, and the specific value may be close to a critical value of whether multiple heavy edges exist between nodes in the network topology, so that the preset node density may be used to determine whether multiple heavy edges exist between nodes in the network topology. Specifically, if the node density of the network topology is less than the preset node density, it may be determined that multiple heavy edges do not exist between nodes in the network topology, and therefore, the shortest path determined based on the LARAC algorithm may be determined as the optimal path.
If the node density of the network topology is greater than or equal to the preset node density, it may be determined that multiple edges may exist between nodes in the network topology (specifically, whether multiple edges may exist or not may be determined by combining with an average difference coefficient of a path), and therefore it may be determined that the shortest path determined based on the larc algorithm is not necessarily optimal, and it may be necessary to optimize the shortest path determined based on the larc algorithm.
Step 303: the SDN controller determines the average difference coefficient of the shortest path determined based on the LARAC algorithm;
the SDN controller may determine the average difference coefficient for the shortest path determined based on the LARAC algorithm according to the following formula:
Figure GDA0002430536430000081
wherein av (CV) is an average difference coefficient of the shortest paths determined based on the LARAC algorithm,
Figure GDA0002430536430000082
CVia difference coefficient of the weight of the heavy edge between two adjacent nodes corresponding to the ith edge of the shortest path determined based on the LARAC algorithm, SiFor the standard deviation of the heavy edge weight between two adjacent nodes corresponding to the ith edge in the shortest path determined based on the LARAC algorithm,
Figure GDA0002430536430000083
and averaging the weighted average of the heavy edges between two adjacent nodes corresponding to the ith edge of the shortest path determined based on the LARAC algorithm, wherein n is a positive integer greater than or equal to 1, and n is the number of edges included in the shortest path determined based on the LARAC algorithm.
It should be noted that each edge corresponds to two adjacent nodes, but there may be multiple edges between the two adjacent nodes, and these edges may be referred to as heavy edges, and each heavy edge corresponds to one first attribute and one second attribute. In this embodiment of the present application, a method for determining a weight of each heavy edge between two adjacent nodes corresponding to an i-th edge of a shortest path determined based on a larc algorithm is the same as a method for determining a weight of each edge in a network topology, and specifically, for any heavy edge between two adjacent nodes corresponding to the i-th edge of the shortest path determined based on the larc algorithm, a sum of a product of a first attribute of the heavy edge and the multiplier and a second attribute of the heavy edge may be determined as the weight of the heavy edge. And finally, determining the standard deviation of the heavy edge weight between two adjacent nodes corresponding to the ith edge and the average value of the heavy edge weight, thereby determining the difference coefficient of the heavy edge weight between two adjacent nodes corresponding to the ith edge.
For example, two adjacent nodes corresponding to the ith edge of the shortest path determined based on the LARAC algorithm include 4 heavy edges, and the corresponding first attribute and second attribute are respectively: (2, 2), (1, 6), (2, 1), (5, 1). Wherein the first parameter in brackets is a first attribute and the second parameter is a second attribute. If the multiplier is 3, the weight of each heavy edge is respectively: 8. 9, 7 and 16. The standard deviation of the heavy edge weight between two adjacent nodes corresponding to the ith edge and the average value of the heavy edge weight are divided into: 3.53 and 10, finally determining that the difference coefficient of the heavy edge weight between two adjacent nodes corresponding to the ith edge is 0.353.
Step 304: the SDN controller judges whether the average difference coefficient of the shortest path determined based on the LARAC algorithm is smaller than or equal to a preset difference coefficient, if so, the step is carried out to the step 305, and if not, the step is carried out to the step 306;
the average difference coefficient is an average difference between the weight reflecting each heavy edge and the average of the heavy edge weights. The larger the average difference coefficient is, the larger the difference degree between the weight of each heavy edge and the average value of the heavy edge weight is; the smaller the average difference coefficient is, the smaller the degree of difference between the weight of each heavy edge and the average of the heavy edge weights is.
When the average difference coefficient exceeds the preset difference coefficient, the difference degree of each heavy edge can be considered to be very large, and each heavy edge can be considered to be an independent edge, so that a network topology with multiple heavy edges exists between nodes, and the network topology can be considered to be a network topology without multiple heavy edges between nodes. The specific value of the preset difference coefficient may be close to a critical value of a network topology where multiple heavy edges exist, which is substantially regarded as a network topology where multiple heavy edges do not exist.
In the embodiment of the present application, how to determine the preset difference coefficient is specifically determined, which is not limited in the embodiment of the present application. The preset difference coefficient may determine whether multiple heavy edges substantially exist between nodes in the network topology by combining the preset node density and the preset difference coefficient. Specifically, when the node density of the network topology is greater than or equal to the preset node density, if the average difference coefficient of the paths is less than or equal to the preset difference coefficient, it may be determined that multiple edges substantially exist between the nodes in the network topology, and therefore it may be determined that the shortest path determined based on the larc algorithm is not necessarily optimal, and the shortest path determined based on the larc algorithm needs to be optimized.
When the node density of the network topology is greater than or equal to the preset node density, if the average difference coefficient of the paths is greater than the preset difference coefficient, the network topology can be regarded as the network topology without multiple edges, and therefore the shortest path determined based on the LARAC algorithm can be determined as the optimal path.
Step 305: according to the judgment result in step 304, it is determined that multiple heavy edges exist between nodes in the current network topology, and therefore the shortest path determined based on the LARAC algorithm determined by the LARAC algorithm is not optimal, and the shortest path determined based on the LARAC algorithm needs to be optimized.
Step 306: and generating a routing table from the source node to the destination node according to the shortest path determined based on the LARAC algorithm.
Through the process, when the node density is determined to be less than or equal to the preset node density and the average difference coefficient of the shortest paths determined based on the LARAC algorithm is greater than the preset difference coefficient, a plurality of heavy edges do not exist among the nodes in the current network topology, so that the shortest paths determined based on the LARAC algorithm are optimal paths, a routing table from the source node to the destination node can be directly generated according to the shortest paths determined based on the LARAC algorithm, and the efficiency of determining the shortest paths between the source node and the destination node is improved. Correspondingly, when the preset condition is determined not to be met, a plurality of heavy edges exist between two nodes in the current network topology, so that the goodness of the shortest path determined based on the LARAC algorithm is not high, the practical application cannot be met, and optimization is needed.
In step 202, for any edge in the network topology, the sum of the product of the first attribute of the edge and the multiplier and the second attribute of the edge may be determined as the weight of the edge, that is, the weight of the ith edge in the network topology satisfies formula (1).
For example, as shown in fig. 4, a network topology diagram provided for the embodiment of the present application is shown. In fig. 4, the network topology includes node A, B, C, D, E, F; the first attribute and the second attribute corresponding to the edge included in the network topology are respectively: (2, 2), (1, 6), (3, 3), (1, 2), (2, 1), (1, 1), (5, 1), (4, 3). Wherein the first parameter in brackets is a first attribute and the second parameter is a second attribute. If the multiplier is 3, the weight of each edge is respectively: 8. 9, 12, 5, 7, 4, 16, 15.
Subsequently, the SDN controller may determine K paths according to a shortest path algorithm, where the shortest path algorithm may be Dijkstra algorithm, Yen algorithm, Eppstein algorithm, and the like, and the embodiments of the present application do not limit this.
In step 203, the SDN controller may determine, as the first path, a path in which a sum of first attributes of paths in the K paths is less than or equal to a preset threshold and a sum of second attributes of the paths is the minimum, so as to use the first path as a shortest path from a source node to a sink node in the network topology. That is, unlike the prior art in which the shortest path determined by the LARAC algorithm is used as the shortest path from the source node to the sink node, in the embodiment of the present invention, the first path satisfying the condition is used as the shortest path from the source node to the sink node, and the SDN controller may generate a routing table from the source node to the sink node according to the first path, where the routing table is used to route the packet between the source node and the sink node.
The preset threshold is set according to actual network requirements of a user equipment requesting the SDN controller to determine the shortest path from the source node to the destination node. For example, the first attribute is a delay, the user equipment a needs a shortest path with a lower delay, the user equipment a may set the preset threshold to a smaller value, for example, set to 1, at this time, the user equipment a may notify the SDN controller of the set preset threshold, and the SDN controller may determine a shortest path with a delay less than or equal to 1 for the user equipment a. Of course, the preset threshold may also be a default value, or the SDN controller may set according to the actual situation of the network.
The value of the preset threshold value can further limit the K paths, and the K paths are screened if the sum of the first attributes of the passing paths is less than or equal to the preset threshold value, so that the first paths are further determined according to the sum of the second attributes of the paths. The larger the preset threshold value is, the larger the sum of the first attributes of the paths screened from the K paths is, so that the larger the sum of the first attributes of the determined first paths is; conversely, the smaller the preset threshold value is, the smaller the sum of the first attributes of the paths screened from the K paths is, and thus the smaller the sum of the first attributes of the determined first paths is.
It should be noted that, in the embodiment of the present application, the preset threshold may be determined according to an actual situation, and details are not described herein.
According to the method provided by the embodiment of the application, after the multiplier from the source node to the sink node in the network topology is determined, the weight of each edge in the network topology is determined according to the multiplier, and the path with the minimum weight of the K paths is determined according to the weight of each edge. And finally, determining a first path from the K paths. In the embodiment of the application, the determined first path is a constraint condition that the sum of the first attributes of the paths is the minimum on the basis of meeting the constraint condition that the sum of the first attributes of the paths is less than or equal to the preset threshold, so that the determined first path is superior to the path determined only according to the constraint condition that the sum of the first attributes of the paths is less than or equal to the preset threshold, that is, the sum of the second attributes of the determined first path is smaller than the sum of the second attributes of the shortest paths determined based on the larc algorithm, and thus the shortest path with better quality is obtained.
The foregoing process is described below by way of a specific example.
Fig. 5 is a schematic flow chart of a shortest path determining method according to an embodiment of the present application.
In the flow shown in fig. 5, the first attribute is a delay, and the second attribute is a cost.
Step 501: the SDN controller acquires information such as a source node, a destination node, a time delay constraint condition and the like. Wherein, the time delay constraint conditions are as follows: the sum of the delays of the paths from the source node to the sink node in the network topology is less than or equal to a preset threshold.
Step 502: the SDN controller determines paths meeting a delay constraint condition from all paths from a source node to a destination node in a network topology according to a LARAC algorithm, namely, the shortest paths determined based on the LARAC algorithm, and determines multipliers corresponding to the shortest paths determined based on the LARAC algorithm.
The detailed iteration process of the LARAC algorithm can refer to the foregoing description, and is not described herein again.
Step 503: an SDN controller determines a node density of the network topology and an average difference coefficient of the second path.
Step 504: the SDN controller determines whether the node density is greater than or equal to a preset node density and whether the average difference coefficient of the second path is less than or equal to a preset difference coefficient, if so, the process goes to step 505, otherwise, the shortest path determined based on the LARAC algorithm is determined as the shortest path from the source node to the sink node in the network topology, and the process goes to step 508.
Step 505: and the SDN controller determines the weight of each edge in the network topology according to the multipliers and determines K paths according to the weight of each edge.
Step 506: and the SDN controller determines a first path from a path with the smallest sum of the costs of the paths when the sum of the delays of the paths in the K paths is less than or equal to a preset threshold value, and determines the first path as a shortest path from a source node to a sink node in the network topology.
Step 507: and the SDN controller generates a routing table from a source node to a sink node according to the first path.
Step 508: and the SDN controller generates a routing table from the source node to the destination node according to the shortest path determined based on the LARAC algorithm.
Based on the same technical concept, the embodiment of the application also provides a controller.
As shown in fig. 6, an embodiment of the present application provides a schematic structural diagram of a controller. The controller may execute the process illustrated in fig. 2.
Referring to fig. 6, the controller 600 includes: a receiving module 601, a processing module 602, and a storage module 603.
A receiving module 601, configured to receive source node information and sink node information; the source node information indicates a source node, the sink node information indicates a sink node;
a storage module 603, configured to store network topology information, where the network topology information includes a network topology structure and a first attribute and a second attribute of each edge in the network topology structure, where the first attribute is one attribute of a link corresponding to an edge in the network topology, and the second attribute is another attribute different from the first attribute of the link corresponding to an edge in the network topology;
a processing module 602, configured to determine a multiplier corresponding to a shortest path determined based on a lagrangian relaxation LARAC algorithm from a source node to a sink node in a network topology; determining the weight of each edge in the network topology according to the multiplier, and determining K paths according to the weight of each edge, wherein the K paths are K paths from small to large in weight of the paths from the source node to the sink node in the network topology, and K is a positive integer greater than 1; the weight of the path is the sum of the weights of all edges in the path; and determining a path with the smallest sum of the first attributes of the paths in the K paths as a first path, wherein the first path is the shortest path from the source node to the sink node in the network topology, the sum of the first attributes of the paths is the sum of the first attributes of all edges in the path, and the sum of the second attributes of the paths is the sum of the second attributes of all edges in the path.
It should be understood that the above division of the modules is only a division of logical functions, and the actual implementation may be wholly or partially integrated into one physical entity or may be physically separated.
The receiving module 601, the processing module 602, and the storage module 603 may also execute other contents, which may specifically refer to the descriptions in step 201 to step 203 and are not described herein again.
Based on the same technical concept, the embodiment of the application also provides a controller.
As shown in fig. 7, an embodiment of the present application provides a schematic structural diagram of a controller. The controller may execute the process illustrated in fig. 2.
Referring to fig. 7, the controller 700 includes: a processor 701, a memory 702, and an input/output interface 703.
The Processor 701 may be a general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic, discrete hardware components.
Memory 702 may include both read-only memory and random access memory, and may provide instructions and data to processor 701. A portion of the Memory 702 may also include Non-Volatile random access Memory (NVRAM).
The various components of the controller 700 are coupled together by a bus system 704, where the bus system 704 may include a power bus, a control bus, a status signal bus, and the like, in addition to a data bus. For clarity of illustration, however, the various buses are designated in the figure as the bus system 704.
An input/output interface 703 for receiving source node information and sink node information; the source node information indicates a source node, the sink node information indicates a sink node;
a memory 702, configured to store network topology information, where the network topology information includes a network topology structure and a first attribute and a second attribute of each edge in the network topology structure, where the first attribute is one attribute of a link corresponding to an edge in the network topology, and the second attribute is another attribute different from the first attribute of the link corresponding to an edge in the network topology;
a processor 701, configured to determine a multiplier corresponding to a shortest path determined based on a lagrangian relaxation LARAC algorithm from a source node to a sink node in a network topology; determining the weight of each edge in the network topology according to the multiplier, and determining K paths according to the weight of each edge, wherein the K paths are K paths from small to large in weight of the paths from the source node to the sink node in the network topology, and K is a positive integer greater than 1; the weight of the path is the sum of the weights of all edges in the path; and determining a path with the smallest sum of the first attributes of the paths in the K paths as a first path, wherein the first path is the shortest path from the source node to the sink node in the network topology, the sum of the first attributes of the paths is the sum of the first attributes of all edges in the path, and the sum of the second attributes of the paths is the sum of the second attributes of all edges in the path.
In some embodiments, the processor 701 is further configured to:
determining that the following preset conditions are met:
the node density of the network topology is greater than or equal to a preset node density, and the average difference coefficient of the shortest paths determined based on the LARAC algorithm is less than or equal to a preset difference coefficient.
In some embodiments, the node density of the network topology satisfies the following formula:
av(D)=|E|×2/|V|
wherein av (D) is the node density of the network topology, E is the number of edges included in the network topology, and V is the number of nodes included in the network topology.
In some embodiments, the average difference coefficient for the second path satisfies the following equation:
Figure GDA0002430536430000121
wherein av (CV) is an average coefficient of difference of the second path,
Figure GDA0002430536430000122
CViis the difference coefficient of the weight of the heavy edge between two adjacent nodes corresponding to the ith edge of the second path, SiThe standard deviation of the heavy edge weight between two adjacent nodes corresponding to the ith edge in the second path is obtained,
Figure GDA0002430536430000123
and the weighted average value of the heavy edges between two adjacent nodes corresponding to the ith edge of the second path is obtained, n is a positive integer greater than or equal to 1, and n is the number of edges included in the second path.
In some embodiments, the processor 701 is specifically configured to:
for any edge in the network topology, determining the sum of the product of the first attribute of the edge and the multiplier and the second attribute of the edge as the weight of the edge.
In some embodiments, the processor 701 is further configured to:
and generating a routing table from the source node to the destination node according to the first path.
In some embodiments, the memory 702 is also used to store routing tables;
the processor 701 is further configured to instruct the memory 702 to update the routing table, which is used for routing the packet between the source node and the sink node.
In some embodiments, the first attribute is any one of cost, delay jitter, and packet loss rate;
the second attribute is any one of cost, time delay jitter and packet loss rate.
The embodiment of the present application further provides a computer-readable storage medium, which is used for storing computer software instructions required to be executed for executing the processor, and which contains a program required to be executed for executing the processor.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above are only some examples of the present application, and the scope of protection of the present application is not limited thereto.

Claims (16)

1. A shortest path determining method, the method comprising:
determining a multiplier corresponding to the shortest path determined based on Lagrangian relaxation LARAC algorithm from a source node to a destination node in the network topology;
determining the weight of each edge in the network topology according to the multiplier, and determining K paths according to the weight of each edge, wherein the K paths are K paths from small to large in weight of the paths from the source node to the sink node in the network topology, and K is a positive integer greater than 1; the weight of the path is the sum of the weights of all edges in the path;
determining a path with a minimum sum of first attributes of the paths in the K paths smaller than or equal to a preset threshold value and a second attribute of the path as a first path, where the first path is a shortest path from the source node to the sink node in the network topology, the first attribute is one attribute of a link corresponding to an edge in the network topology, and the second attribute is another attribute different from the first attribute of the link corresponding to the edge in the network topology; the sum of the first attributes of the path is the sum of the first attributes of all edges in the path, and the sum of the second attributes of the path is the sum of the second attributes of all edges in the path.
2. The method of claim 1, wherein prior to determining the weight for each edge in the network topology from the multiplier, further comprising:
determining that the following preset conditions are met:
the node density of the network topology is greater than or equal to a preset node density, and the average difference coefficient of the shortest paths determined based on the LARAC algorithm is less than or equal to a preset difference coefficient.
3. The method of claim 2, wherein the node density of the network topology satisfies the following equation:
av(D)=|E|×2/|V|
wherein av (D) is the node density of the network topology, E is the number of edges included in the network topology, and V is the number of nodes included in the network topology.
4. The method of claim 2, wherein the average difference coefficient for the shortest path determined based on the LARAC algorithm satisfies the following formula:
Figure FDA0002430536420000011
wherein av (CV) is an average difference coefficient of the shortest paths determined based on the LARAC algorithm,
Figure FDA0002430536420000012
CVia difference coefficient of the weight of the heavy edge between two adjacent nodes corresponding to the ith edge of the shortest path determined based on the LARAC algorithm, SiFor said based on said LARAC algorithmThe standard deviation of the weight of the heavy edge between two adjacent nodes corresponding to the ith edge in the determined shortest path,
Figure FDA0002430536420000013
and averaging the weighted average of the heavy edges between two adjacent nodes corresponding to the ith edge of the shortest path determined based on the LARAC algorithm, wherein n is a positive integer greater than or equal to 1, and n is the number of edges included in the shortest path determined based on the LARAC algorithm.
5. The method of any of claims 1 to 4, wherein determining the weight of each edge in the network topology from the multiplier comprises:
for any edge in the network topology, determining the sum of the product of the first attribute of the edge and the multiplier and the second attribute of the edge as the weight of the edge.
6. The method of any of claims 1 to 4, further comprising:
and generating a routing table from the source node to the sink node according to the first path.
7. The method according to any one of claims 1 to 4, wherein the first attribute is any one of cost, delay jitter and packet loss rate;
the second attribute is any one of cost, time delay jitter and packet loss rate, and is different from the first attribute.
8. A controller, comprising:
the receiving module is used for receiving source node information and sink node information; the source node information indicates a source node, the sink node information indicates a sink node;
a storage module, configured to store network topology information, where the network topology information includes a network topology structure and a first attribute and a second attribute of each edge in the network topology structure, where the first attribute is an attribute of a link corresponding to an edge in the network topology, and the second attribute is another attribute different from the first attribute of the link corresponding to the edge in the network topology;
the processing module is used for determining a multiplier corresponding to the shortest path determined based on Lagrangian relaxation LARAC algorithm from a source node to a destination node in the network topology; determining the weight of each edge in the network topology according to the multiplier, and determining K paths according to the weight of each edge, wherein the K paths are K paths from small to large in weight of the paths from the source node to the sink node in the network topology, and K is a positive integer greater than 1; the weight of the path is the sum of the weights of all edges in the path; and determining a path with the smallest sum of the first attributes of the paths in the K paths as a first path, wherein the first path is the shortest path from the source node to the sink node in the network topology, the sum of the first attributes of the paths is the sum of the first attributes of all edges in the path, and the sum of the second attributes of the paths is the sum of the second attributes of all edges in the path.
9. The controller of claim 8, wherein the processing module is further configured to:
determining that the following preset conditions are met:
the node density of the network topology is greater than or equal to a preset node density, and the average difference coefficient of the shortest paths determined based on the LARAC algorithm is less than or equal to a preset difference coefficient.
10. The controller of claim 9, wherein the node density of the network topology satisfies the following equation:
av(D)=|E|×2/|V|
wherein av (D) is the node density of the network topology, E is the number of edges included in the network topology, and V is the number of nodes included in the network topology.
11. The controller according to claim 9, wherein the average difference coefficient for the shortest path determined based on the LARAC algorithm satisfies the following formula:
Figure FDA0002430536420000021
wherein av (CV) is an average difference coefficient of the shortest paths determined based on the LARAC algorithm,
Figure FDA0002430536420000022
CVia difference coefficient of the weight of the heavy edge between two adjacent nodes corresponding to the ith edge of the shortest path determined based on the LARAC algorithm, SiFor the standard deviation of the heavy edge weight between two adjacent nodes corresponding to the ith edge in the shortest path determined based on the LARAC algorithm,
Figure FDA0002430536420000031
and averaging the weighted average of the heavy edges between two adjacent nodes corresponding to the ith edge of the shortest path determined based on the LARAC algorithm, wherein n is a positive integer greater than or equal to 1, and n is the number of edges included in the shortest path determined based on the LARAC algorithm.
12. The controller according to any one of claims 8 to 11, wherein the processing module is specifically configured to:
for any edge in the network topology, determining the sum of the product of the first attribute of the edge and the multiplier and the second attribute of the edge as the weight of the edge.
13. The controller according to any one of claims 8 to 11, wherein the processing module is further configured to:
and generating a routing table from the source node to the destination node according to the first path.
14. The controller of claim 13, wherein the storage module is further configured to store a routing table;
the processing module is further configured to instruct the storage module to update the routing table, where the routing table is used for routing the packet between the source node and the sink node.
15. The controller according to any one of claims 8 to 11 and 14, wherein the first attribute is any one of cost, delay jitter and packet loss rate;
the second attribute is any one of cost, time delay jitter and packet loss rate.
16. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, causes a controller to carry out the method of any one of claims 1 to 7.
CN201710571119.8A 2017-07-13 2017-07-13 Shortest path determining method and controller Active CN109257287B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710571119.8A CN109257287B (en) 2017-07-13 2017-07-13 Shortest path determining method and controller
PCT/CN2018/095702 WO2019011338A1 (en) 2017-07-13 2018-07-13 Method for determining shortest path and controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710571119.8A CN109257287B (en) 2017-07-13 2017-07-13 Shortest path determining method and controller

Publications (2)

Publication Number Publication Date
CN109257287A CN109257287A (en) 2019-01-22
CN109257287B true CN109257287B (en) 2020-08-25

Family

ID=65001535

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710571119.8A Active CN109257287B (en) 2017-07-13 2017-07-13 Shortest path determining method and controller

Country Status (2)

Country Link
CN (1) CN109257287B (en)
WO (1) WO2019011338A1 (en)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110390421B (en) * 2019-06-12 2022-05-10 北京交通大学 Space-time network-based method for coordinating and controlling passenger flow of congested subway line
CN112769696B (en) * 2019-11-06 2023-09-26 中兴通讯股份有限公司 Routing method, network controller, system and storage medium
CN111245720B (en) * 2020-01-03 2021-10-26 烽火通信科技股份有限公司 Path calculation method and system
CN113965474A (en) * 2020-06-29 2022-01-21 中兴通讯股份有限公司 Network quality evaluation method, electronic device and storage medium
CN111917645A (en) * 2020-08-20 2020-11-10 深圳多拉多通信技术有限公司 SDN-based path optimization method and system for mobile network
CN112231142B (en) * 2020-09-22 2024-04-05 南方电网调峰调频发电有限公司信息通信分公司 System backup recovery method, device, computer equipment and storage medium
CN112261690B (en) * 2020-10-10 2022-04-01 北京航空航天大学 Satellite network constrained multipath routing setting method, electronic device and storage medium
CN112966122B (en) * 2021-03-03 2024-05-10 平安科技(深圳)有限公司 Corpus intention recognition method and device, storage medium and computer equipment
CN113098766A (en) * 2021-04-07 2021-07-09 北京字跳网络技术有限公司 Communication method and device
CN113347083B (en) * 2021-05-31 2022-09-23 北京字跳网络技术有限公司 Network path determination and switching method, device, equipment, medium and program product
CN115529246A (en) * 2021-06-25 2022-12-27 华为技术有限公司 Determination method, device, equipment and system of topological structure
CN113923099B (en) * 2021-09-03 2022-12-27 华为技术有限公司 Root cause positioning method for communication network fault and related equipment
CN113965973A (en) * 2021-10-21 2022-01-21 中国电力科学研究院有限公司 Heterogeneous network wireless communication technology selection method, system, device and storage medium
CN114640622B (en) * 2022-03-22 2023-07-18 中国电信股份有限公司 Method and device for determining data transmission path and software-defined network controller
CN115766882B (en) * 2022-10-19 2024-10-15 北京奇艺世纪科技有限公司 Method and device for distributing back source data, storage medium and electronic equipment
CN115827185B (en) * 2022-10-31 2023-12-01 中电信数智科技有限公司 Method, storage medium and equipment for combining 6G air base station with Beidou air obstacle avoidance
CN115865783B (en) * 2022-11-22 2024-04-09 中国联合网络通信集团有限公司 Method and device for determining target node and computer readable storage medium
CN116016199B (en) * 2023-02-21 2023-06-09 山东海量信息技术研究院 Information control method, system, electronic equipment and readable storage medium
CN116886591B (en) * 2023-09-06 2023-12-15 芯来智融半导体科技(上海)有限公司 Computer network system and routing method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104168191A (en) * 2014-08-31 2014-11-26 西安电子科技大学 Routing method for meeting multiple constrained parameter conditions in large-scale software-defined network

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7020086B2 (en) * 2000-07-03 2006-03-28 Telefonaktiebolaget Lm Ericsson (Publ) Lagrange quality of service routing
CN101753425B (en) * 2008-12-01 2011-11-09 北京航空航天大学 Heuristic method for working out a plurality of shortest simple routes in network under multiple constraints
US10009287B2 (en) * 2013-12-26 2018-06-26 Huawei Technologies Co., Ltd. Hierarchical software-defined network traffic engineering controller
CN105897575A (en) * 2016-06-03 2016-08-24 中国电子科技集团公司第三十研究所 Path computing method based on multi-constrained path computing strategy under SDN

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104168191A (en) * 2014-08-31 2014-11-26 西安电子科技大学 Routing method for meeting multiple constrained parameter conditions in large-scale software-defined network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
软件定义网络中面向服务的负载均衡机制;龚文娟;《中国优秀硕士学位论文全文数据库信息科技辑(月刊 )2017 年 第 03 期》;20170315;第37-55页 *

Also Published As

Publication number Publication date
WO2019011338A1 (en) 2019-01-17
CN109257287A (en) 2019-01-22

Similar Documents

Publication Publication Date Title
CN109257287B (en) Shortest path determining method and controller
CN107547393B (en) Method for calculating forwarding path and network equipment
USRE49275E1 (en) System and methods for improved network routing
CN112346854B (en) In-network resource scheduling method and system for hierarchical collaborative decision and storage medium
CN107370673B (en) Method, controller and system for establishing forwarding path in network
US8493869B2 (en) Distributed constraints-based inter-domain network traffic management
Lin et al. Three-tier capacity and traffic allocation for core, edges, and devices for mobile edge computing
CN105490939B (en) Method, system and computer medium for routing in a mobile wireless network
JP5943431B2 (en) Network, data transfer node, communication method and program
CN113923125B (en) Tolerance analysis method and device for multi-service flow converged communication in industrial heterogeneous network
US11095553B2 (en) Method, apparatus and system for controlling routing information advertising
Shen et al. Security and qos self-optimization in mobile ad hoc networks
CN101841487A (en) Configuration method for aggregating link service flow and packet switching device
CN109274589B (en) Service transmission method and device
WO2023082815A1 (en) Method and apparatus for constructing deterministic routing, and storage medium
CN107046504B (en) Method and controller for traffic engineering in a communication network
CN106105282B (en) The system and method for carrying out traffic engineering using link buffer zone state
CN109039951B (en) Method and system for realizing QoS (quality of service) strategy of heterogeneous network
CN105207906A (en) Service path determining method and device
US20120063362A1 (en) Method and apparatus for computing paths to destinations in networks having link constraints
Noskov et al. Development of an adaptive routing mechanism in software-defined networks
Alkasassbeh et al. Optimizing traffic engineering in software defined networking
CN112448890B (en) Path determining method, device and storage medium
CN107070792A (en) A kind of route selection method based on SDN
Abrishamchi Investigation of Routing Optimization Schemes for Future All-IP Dynamic Access Network Structures

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