WO2019011338A1 - Method for determining shortest path and controller - Google Patents

Method for determining shortest path and controller Download PDF

Info

Publication number
WO2019011338A1
WO2019011338A1 PCT/CN2018/095702 CN2018095702W WO2019011338A1 WO 2019011338 A1 WO2019011338 A1 WO 2019011338A1 CN 2018095702 W CN2018095702 W CN 2018095702W WO 2019011338 A1 WO2019011338 A1 WO 2019011338A1
Authority
WO
WIPO (PCT)
Prior art keywords
path
network topology
attribute
edge
node
Prior art date
Application number
PCT/CN2018/095702
Other languages
French (fr)
Chinese (zh)
Inventor
黄荣锋
盛镇醴
李翰林
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2019011338A1 publication Critical patent/WO2019011338A1/en

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/14Routing performance; Theoretical aspects
    • 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
    • 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

Definitions

  • the present application relates to the field of communications technologies, and in particular, to a shortest path determining method and a controller.
  • SDN Software Defined Networking
  • the path set of each node in the network may be determined first, and the path set of each node includes The path from the source node to the node is determined based on the path set of each node, and the service path from the source node to the sink node is determined, and then the service data between the source node and the sink node is forwarded according to the service path.
  • the source node refers to a node that serves as a source to send service data
  • the sink node refers to a node that acts as a sink to receive service data.
  • the factors generally considered are relatively simple. For example, only factors such as cost or delay are considered to obtain a quality of service (Quality of Service, QoS) path, so that the calculated shortest path may not be the optimal path.
  • QoS Quality of Service
  • the advantage of the determined shortest path is not High, can not meet the actual application, so how to obtain a better shortest path is an urgent problem to be solved.
  • the present application provides a shortest path determination method and controller for solving the problem of how to determine a shortest path between a source node and a sink node.
  • An embodiment of the present application provides a shortest path determining method, where the method includes:
  • the multiplier corresponding to the shortest path determined by the Lagrangian relaxation algorithm is a fixed value, which is pulling In the last iteration of the Grande relaxation algorithm, the multiplier corresponding to the shortest path is determined.
  • the K paths are K paths whose weights in the path from the source node to the sink node in the network topology are small to large, and K is a positive integer greater than 1; the weight of the path The sum of the weights of all the edges in the path.
  • the threshold is a user equipment that requests the SDN controller to determine the shortest path from the source node to the sink node, and is set according to its actual network requirement.
  • the preset threshold may also be a default value, or the SDN controller may be based on the actual situation of the network. Settings.
  • the first attribute is an attribute of a link corresponding to the edge in the network topology
  • the second attribute is another attribute of the link corresponding to the edge in the network topology different from the first attribute.
  • the sum of the first attribute of the path is the sum of the first attributes of all edges in the path
  • the sum of the second attributes of the path is the sum of the second attributes of all sides in the path.
  • the weight of each edge in the network topology according to the multiplier, and according to each The weight of the edge determines the path with the least weight of the K paths. Finally, the first shortest path is determined from the K paths.
  • the determined first path is based on the constraint that the first attribute of the path is less than or equal to the preset threshold, and the minimum constraint condition of the second attribute of the path is considered, so The first path is better than the path determined only according to the constraint of the first attribute of the path and less than or equal to the preset threshold, that is, the determined second attribute of the first path is determined by the LARAC algorithm.
  • the sum of the second attributes of the shortest path is smaller, thereby achieving a better shortest path.
  • the method before determining the weight of each edge in the network topology according to the multiplier, the method further includes:
  • 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 path determined based on the LALAC algorithm is less than or equal to a preset difference coefficient.
  • the shortest path determined by the LALAC algorithm is not an optimal path, so that the first shortest path can be determined according to the multiplier corresponding to the shortest path determined by the LALAC algorithm, thereby improving the accuracy of determining the shortest path between the source node and the sink node. Sex.
  • determining the shortest path determined based on the LALAC algorithm as a source node in the network topology The shortest path to the sink node.
  • the average difference coefficient of the shortest path determined based on the LALAC algorithm satisfies the following formula:
  • av(D) is the node density of the network topology
  • E is the number of edges included in the network topology
  • V is the number of nodes included in the network topology.
  • the preset node density is specifically determined, which is not limited by the embodiment of the present application.
  • the preset node density may be used to determine whether there are multiple heavy edges between nodes in the network topology, thereby determining the minimum determined based on the LARAC algorithm. Whether the path is optimal.
  • the average difference coefficient of the second path satisfies the following formula:
  • av(CV) is the average difference coefficient of the shortest path determined by the LALAC algorithm
  • the CV i is a difference coefficient of the weight of the heavy edge between the adjacent two nodes corresponding to the i-th edge of the shortest path determined by the LALAC algorithm
  • S i is the shortest path determined by the LARAC algorithm
  • n is a positive integer greater than or equal to 1
  • n is the based on the LARAC
  • the shortest path determined by the algorithm includes the number of edges.
  • the preset difference coefficient is specifically determined.
  • the embodiment of the present application is not limited to this.
  • the preset node density and the preset difference coefficient may be used to determine whether there are multiple heavy edges between nodes in the network topology, thereby determining the basis. Whether the shortest path determined by the LALAC algorithm is optimal.
  • determining a weight of each edge in the network topology based on the multiplier includes:
  • the sum of the product of the first attribute of the edge and the multiplier and the second attribute of the edge is determined as the weight of the edge.
  • the method further includes:
  • the first attribute is any one of a cost, a delay, a delay jitter, and a packet loss rate
  • the second attribute is any one of a cost, a delay, a delay jitter, and a packet loss rate.
  • the cost is a fee or distance or energy consumption.
  • the cost refers to the overhead required when the data packet arrives from the sending node in the network topology to the receiving node in the network topology.
  • it may refer to the cost or energy consumption of the data packet from the sending node in the network topology to the receiving node in the network topology, and may also indicate that the data packet arrives at the receiving node in the network topology from the sending node in the network topology. The distance of the link that passes through.
  • Delay is the time it takes for a packet to travel through a channel and then reach a receiving node in the network topology after it is sent from the transmitting node in the network topology.
  • Delay jitter refers to the change in delay and can reflect the degree of change in delay.
  • the packet loss rate refers to the ratio of the number of lost data packets to the total number of transmitted data packets in the data packets sent from the sending node in the network topology to the receiving node in the network topology.
  • An embodiment of the present application provides a controller, including:
  • a receiving module configured to receive source node information and sink node information; the source node information indicates a source node, and the sink node information indicates a sink node;
  • a storage module configured to use the storage network topology information, where the network topology information includes a network topology and a first attribute and a second attribute of each edge in the network topology, where the first attribute is the network topology An attribute of the link corresponding to the middle side, where the second attribute is another attribute of the link corresponding to the edge in the network topology that is different from the first attribute;
  • a processing module configured to determine a multiplier corresponding to a shortest path determined by a Lagrangian relaxed LALAC algorithm from a source node to a sink node in a network topology; determining, according to the multiplier, a weight of each edge in the network topology And determining K paths according to the weight of each edge, where the K paths are K paths whose weights in the path from the source node to the sink node in the network topology are small to large, K is a positive integer greater than 1; a weight of the path is a sum of weights of all edges in the path; a sum of first attributes of the paths in the K paths is less than or equal to a preset threshold, and a second attribute of the path And the smallest path is determined as a first path, the first path being a shortest path from the source node to the sink node in the network topology, wherein a sum of the first attributes of the path is a first attribute of all edges in the path And the sum of the second attribute of the path and the sum
  • the processing module is further configured to:
  • 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 path determined based on the LALAC algorithm is less than or equal to a preset difference coefficient.
  • the node density of the network topology satisfies the following formula:
  • av(D) is the node density of the network topology
  • E is the number of edges included in the network topology
  • V is the number of nodes included in the network topology.
  • the average difference coefficient of the second path satisfies the following formula:
  • av(CV) is the average difference coefficient of the second path
  • CV i is a difference coefficient of the weight of the heavy edge between the adjacent two nodes corresponding to the i-th edge of the second path
  • S i is the weight between the adjacent two nodes corresponding to the i-th edge in the second path
  • n is a positive integer greater than or equal to 1
  • n is the number of edges included in the second path.
  • the processing module is specifically configured to:
  • the sum of the product of the first attribute of the edge and the multiplier and the second attribute of the edge is determined as the weight of the edge.
  • the processing module is further configured to:
  • 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 to route a message between the source node and the sink node.
  • the first attribute is any one of a cost, a delay, a delay jitter, and a packet loss rate
  • the second attribute is any one of a cost, a delay, a delay jitter, and a packet loss rate.
  • the present application also provides a computer readable storage medium storing computer software instructions for use in any of the designed functions of any of the shortest path determination methods described above, when the instructions are run on a computer Computer software instructions for performing any of the functions of any of the shortest path determination methods described above.
  • the embodiment of the present application also provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform the shortest path determination method described in the above aspects.
  • FIG. 1 is a schematic diagram of a scenario applicable to an embodiment of the present application
  • FIG. 2 is a schematic flowchart of a method for determining a shortest path according to an embodiment of the present application
  • FIG. 3 is a schematic diagram of path calculation according to an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a network topology structure according to an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of a method for determining a shortest path according to an embodiment of the present application
  • FIG. 6 is a schematic structural diagram of a controller according to an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a controller according to an embodiment of the present application.
  • GSM Global System of Mobile communication
  • CDMA Code Division Multiple Access
  • Wideband Code Division Multiple Access Wideband Code Division Multiple Access
  • Code Division Multiple Access WCDMA
  • GPRS General Packet Radio Service
  • LTE Long Term Evolution
  • LTE-A Advanced Long Term Evolution
  • UMTS Universal Mobile Telecommunication System
  • eLTE evolved Long Term Evolution
  • 5G New Radio
  • the execution subject of the shortest path determining method provided by the embodiment of the present application may be a device such as an SDN controller.
  • FIG. 1 it is a schematic diagram of a scenario applicable to an embodiment of the present application.
  • the SDN controller collects network topology information of the underlying network topology in real time through the southbound interface.
  • the network topology information includes but is not limited to the number of nodes included in the network, the number of edges, the cost and delay of each edge, and the nodes adjacent to each node. And other information.
  • the northbound interface of the SDN controller receives the downlink service request sent by the user equipment or the like, the SDN controller calculates the shortest path that satisfies the constraint condition for the source node and the sink node of the service.
  • the SDN controller generates a forwarding routing table according to the shortest path and sends it to the underlying transponder through the southbound interface.
  • the underlying device can send the service packet from the source node to the sink node.
  • the execution subject may be a device such as an SDN controller.
  • SDN controller is described as an execution subject in the following description.
  • the method includes:
  • Step 201 Determine a multiplier corresponding to the shortest path determined by the Lagrangian relaxation algorithm from the source node to the sink node in the network topology;
  • Step 202 Determine weights of each edge in the network topology according to the multiplier, and determine K paths according to weights of each edge.
  • the K paths are K paths whose weights in the path from the source node to the sink node in the network topology are small to large, and K is a positive integer greater than 1; the weight of the path The sum of the weights of all the edges in the path.
  • Step 203 Determine a path in which the sum of the first attributes of the paths in the K paths is less than or equal to a preset threshold, and the path of the second attribute of the path is the smallest path, where the first path is the network.
  • the first attribute is an attribute of a link corresponding to the edge in the network topology
  • the second attribute is another attribute of the link corresponding to the edge in the network topology different from the first attribute.
  • the sum of the first attribute of the path is the sum of the first attributes of all edges in the path
  • the sum of the second attributes of the path is the sum of the second attributes of all sides in the path.
  • the SDN controller can 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 the connection relationship between each node in the network topology.
  • the southbound interface is an interface that provides access and management to other vendors or operators, that is, a downward interface.
  • the SDN controller may determine the source node according to the source node information in the service request message, determine the sink node and other information according to the information of the sink node, and the service request message may further include a constraint condition.
  • the SDN controller can determine the shortest path that satisfies the constraint based on the constraints.
  • the SDN controller determines, according to a Lagrangian Relaxation Based Aggregated Cost (LARAC) algorithm, that the shortest path from the source node to the sink node is a path that satisfies the constraint condition, and the constraint condition may be the first path.
  • LARAC Lagrangian Relaxation Based Aggregated Cost
  • the process of determining the shortest path based on the Lagrangian relaxation algorithm may be as follows:
  • Step 1 Using the Dijkstra algorithm to calculate the second attribute and the minimum path P1 of the path in the path from the source node to the sink node in the network topology, if the sum d(P1) of the first attribute of the path P1 is less than or equal to a preset threshold, Then it is determined that the path P1 is the shortest path determined based on the LALAC algorithm, and the result is output and the entire algorithm is ended, otherwise it is transferred to Step 2.
  • the first attribute may be any one of a cost, a delay, a delay jitter, and a packet loss rate
  • the second attribute may be any one of a cost, a delay, a delay jitter, and a packet loss rate.
  • the first attribute can be a time delay and the second attribute can be a cost.
  • the cost refers to the overhead required when the data packet arrives from the sending node in the network topology to the receiving node in the network topology.
  • it may refer to the cost or energy consumption of the data packet from the sending node in the network topology to the receiving node in the network topology, and may also indicate that the data packet arrives at the receiving node in the network topology from the sending node in the network topology. The distance of the link that passes through.
  • Delay is the time it takes for a packet to travel through a channel and then reach a receiving node in the network topology after it is sent from the transmitting node in the network topology.
  • the delay can also be referred to as delay or delay (transmission) time and the like.
  • Delay jitter refers to the change in delay and can reflect the degree of change in delay.
  • the packet loss rate refers to the ratio of the number of lost data packets to the total number of transmitted data packets in the data packets sent from the sending node in the network topology to the receiving node in the network topology.
  • Step 2 Calculate the first attribute and the minimum path P2 of the path in the path from the source node to the sink node in the network topology by using the Dijkstra algorithm, and determine if the sum d(P2) of the first attribute of the path P2 is greater than a preset threshold. There is no shortest path that meets the first attribute that satisfies the path and is less than or equal to the preset threshold, otherwise it goes to Step 3.
  • Step 3 Calculate the multiplier according to the path P1 and the path P2, and update the weight of each edge in the entire network topology by using the formula (1) according to the calculated multiplier.
  • c ⁇ i is the weight of the ith side
  • c i is the first attribute of the ith side
  • d i is the second attribute of the ith side
  • is the multiplier
  • c(P2) is the sum of the second attribute of the path P2
  • c(P1) is the sum of the second attribute of the path P1.
  • Step 4 Calculate the path P3 of the minimum weight of the source node s to the sink node t using the Dijkstra algorithm.
  • Step 5 If the weight d ⁇ (P3) of the path P3 is equal to the weight d ⁇ (P2) of the path P2, determine that the path P2 is the shortest path from the source node to the sink node, output the result and end the entire algorithm, otherwise use the path P3 Replace path P2 and go to Step 3.
  • the shortest path determined by the LALAC algorithm may not be the shortest path from the source node to the sink node.
  • the embodiment of the present application will be based on LALAC.
  • the shortest path determined by the algorithm is optimized to obtain a substantial shortest path from the source node to the sink node. The process of optimization is described later and will not be described here.
  • the multiplier is an iterative value in the iterative process of the algorithm, which is a variable, but after determining the shortest path based on the LALAC algorithm, the multiplier corresponding to the shortest path determined by the LALAC algorithm is a The fixed value is the multiplier corresponding to the shortest path during the last iteration of the LARAC algorithm.
  • the two constraint parameters (the first attribute and the second attribute) in the network topology are aggregated into a constraint parameter by using the multiplier ⁇ : weight, so that the Dijkstra algorithm can be used to solve the network topology in which multiple constraint parameters exist.
  • the shortest path problem In the above method, only one constraint parameter is considered, that is, the sum of the first attributes of the path is less than or equal to a preset threshold, so the calculated shortest path may not be optimal.
  • the SDN controller determines the shortest path based on the LALAC algorithm, it may be determined whether the preset condition is met: determining whether the node density of the network topology is greater than or equal to a preset node density, and determining that the LALAC is based on Whether the average difference coefficient of the shortest path determined by the algorithm is less than or equal to the preset difference coefficient.
  • the shortest path determined based on the LALAC algorithm can be directly determined as the shortest path from the source node to the sink node in the network topology.
  • the SDN controller may perform the following steps to determine whether the preset condition is met:
  • Step 301 The SDN controller determines a node density of the network topology.
  • the SDN controller can determine the node density of the network topology according to the following formula:
  • av(D) is the node density of the network topology
  • E is the number of edges included in the network topology
  • V is the number of nodes included in the network topology.
  • Step 302 The SDN controller determines whether the node density is greater than or equal to the preset node density, and if so, then proceeds to step 303, otherwise proceeds to step 306;
  • the value of the preset node density is not limited, and the specific value may be close to whether there are multiple critical values of the heavy edge between the nodes in the network topology, so that the preset node density may be used to determine Whether there are multiple heavy edges 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 there are no multiple heavy edges between the nodes in the network topology, so that the shortest path determined by the LALAC algorithm may be determined to be the optimal path.
  • the node density of the network topology is greater than or equal to the preset node density, it may be determined that there may be multiple heavy edges between the nodes in the network topology (whether or not there are certain heavy edges that may be determined by the average difference coefficient of the combined paths), It can be determined that the shortest path determined based on the LALAC algorithm is not necessarily optimal, and the shortest path determined based on the LALAC algorithm may need to be optimized.
  • Step 303 The SDN controller determines an average difference coefficient of the shortest path determined by the LALAC algorithm.
  • the SDN controller may determine an average difference coefficient of the shortest path determined by the LALAC algorithm according to the following formula:
  • av(CV) is the average difference coefficient of the shortest path determined by the LALAC algorithm
  • the CV i is a difference coefficient of the weight of the heavy edge between the adjacent two nodes corresponding to the i-th edge of the shortest path determined by the LALAC algorithm
  • S i is the i-th edge corresponding to the shortest path determined by the LALAC algorithm
  • n is a positive integer greater than or equal to 1
  • n is the shortest determined by the LALAC algorithm The number of edges included in the path.
  • each edge corresponds to two adjacent nodes, but there may be multiple edges between the adjacent two nodes. These edges may be called heavy edges, and each heavy edge corresponds to a first attribute and a second edge. Attributes.
  • the method for determining the weight of each heavy edge between adjacent nodes corresponding to the i-th edge of the shortest path determined by the LALAC algorithm and the method for determining the weight of each edge in the network topology Similarly, specifically, for any one of the adjacent two nodes corresponding to the i-th edge of the shortest path determined by the LALAC algorithm, the product of the first attribute of the heavy side and the multiplier may be The sum of the second attributes of the heavy edges is determined as the weight of the heavy edge.
  • the standard deviation of the weights of the heavy edges and the average weights of the heavy edges between the adjacent two nodes corresponding to the i-th edge can be determined, thereby determining the difference of the weights of the heavy edges between the adjacent two nodes corresponding to the i-th edge. coefficient.
  • the adjacent two nodes corresponding to the i-th edge of the shortest path determined by the LALAC algorithm include four heavy edges, and the corresponding first attribute and second attribute are: (2, 2), (1 , 6), (2, 1), (5, 1).
  • the first parameter in parentheses is the first attribute
  • the second parameter is the second attribute.
  • the multiplier is 3, the weight of each heavy side is: 8, 9, 7, 16 respectively.
  • the standard deviation of the weights of the heavy edges and the average weights of the heavy edge weights between the adjacent two nodes corresponding to the i-th edge are: 3.53, 10, and finally the adjacent two nodes corresponding to the i-th edge can be determined.
  • the coefficient of variation between the weights of the heavy edges is 0.353.
  • Step 304 The SDN controller determines whether the average difference coefficient of the shortest path determined by the LALAC algorithm is less than or equal to the preset difference coefficient, and if yes, proceeds to step 305, otherwise proceeds to step 306;
  • the average difference coefficient is the average difference between the weight of each heavy edge and the average of the weight of the heavy edge.
  • the larger the mean difference coefficient the greater the difference between the weight of each heavy edge and the average of the heavy edge weights; the smaller the average difference coefficient, the difference between the weight of each heavy edge and the average of the heavy edge weights. The difference is less.
  • the average difference coefficient exceeds the preset difference coefficient, it can be considered that the degree of difference between each heavy side is very large, and each heavy side can be regarded as an independent side, so there are multiple heavy-edge network topologies between nodes, essentially It can be thought of as a network topology where there are no multiple heavy edges between nodes.
  • the specific value of the preset difference coefficient may be close to a critical value of a network topology in which a plurality of heavy edges exist substantially as a network topology in which no multiple heavy edges exist.
  • the preset difference coefficient is specifically determined, which is not limited by the embodiment of the present application.
  • the preset difference coefficient can determine whether there are substantially multiple heavy edges 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 path is less than or equal to the preset difference coefficient, it may be determined that there are substantially multiple heavy edges between the nodes in the network topology. Therefore, it can be determined that the shortest path determined based on the LALAC algorithm is not necessarily optimal, and the shortest path determined based on the LALAC algorithm needs to be optimized.
  • the network topology 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 path is greater than the preset difference coefficient, the network topology can be regarded as a network topology without multiple heavy edges, so the LARAC algorithm can be determined.
  • the shortest path determined is the optimal path.
  • Step 305 According to the judgment result of step 304, it is determined that there are multiple heavy edges between the nodes in the current network topology, so the shortest path determined by the LALAC algorithm determined by the LALAC algorithm is not optimal, and needs to be determined based on the LALAC algorithm. The shortest path is optimized.
  • Step 306 Generate a routing table from the source node to the sink node according to the shortest path determined based on the LALAC algorithm.
  • the nodes in the current network topology may be determined. There is no multiple heavy edges, so the shortest path determined based on the LALAC algorithm is the optimal path, so that the routing table from the source node to the sink node can be directly generated according to the shortest path determined by the LALAC algorithm, thereby improving the determination of the source node to The efficiency of the shortest path between sink nodes.
  • the preset condition when it is determined that the preset condition is not met, it may be determined that there are multiple heavy edges between the two nodes in the current network topology, so the goodness of the shortest path determined by the LALAC algorithm is not high, and the actual application cannot be satisfied. Need to be optimized.
  • step 202 for any one of the network topologies, 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, in the network topology.
  • the weight of the i-th edge satisfies the formula (1).
  • FIG. 4 it is a schematic diagram of a network topology provided by an embodiment of the present application.
  • the network topology includes nodes A, B, C, D, E, and F; the first attribute and the second attribute corresponding to the edge included in the network topology are: (2, 2), (1, 6), ( 3, 3), (1, 2), (2, 1), (1, 1), (5, 1), (4, 3).
  • the first parameter in parentheses is the first attribute, and the second parameter is the second attribute. If the multiplier is 3, the weights of each side are: 8, 9, 12, 5, 7, 4, 16, and 15, respectively.
  • the SDN controller may determine the K paths according to the shortest path algorithm, and the shortest path algorithm may be a Dijkstra algorithm, a Yen algorithm, an Eppstein algorithm, etc., which is not limited by the embodiment of the present application.
  • the SDN controller may determine that the sum of the first attributes of the paths in the K paths is less than or equal to a preset threshold, and the path with the smallest sum of the second attributes of the paths is determined as the first path, thereby
  • the first path acts as the shortest path from the source node to the sink node in the network topology. That is, unlike the shortest path determined by the LARAC algorithm in the prior art as the shortest path from the source node to the sink node, in the embodiment of the present invention, the first path that satisfies the condition is used as the shortest path from the source node to the sink node, SDN.
  • the 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 a message between the source node and the sink node.
  • the preset threshold is a user equipment that requests the SDN controller to determine the shortest path from the source node to the sink node, and is set according to its actual network requirement.
  • the first attribute is a delay
  • the user equipment A needs a shortest path with a low delay.
  • the user equipment A can set the preset threshold to a smaller value, for example, set to 1, and the user equipment A can
  • the preset threshold is set to notify the SDN controller, and the SDN controller can thus determine the shortest path for the user equipment A that the delay is less than or equal to 1.
  • the preset threshold can also be a default value, or the SDN controller can be set according to the actual situation of the network.
  • the value of the preset threshold may further restrict the K paths, and whether the sum of the first attributes of the path is less than or equal to a preset threshold, and the K paths are filtered, thereby further according to the sum of the second attributes of the path. Determine the first path.
  • the larger the preset threshold is the larger the sum of the first attributes of the paths selected from the K paths is, so that the sum of the first attributes of the determined first path is larger; otherwise, the smaller the preset threshold is.
  • the smaller the sum of the first attributes of the paths filtered from the K paths the smaller the sum of the first attributes of the determined first paths.
  • the preset threshold may be determined according to actual conditions, and details are not described herein again.
  • the weight of each edge in the network topology according to the multiplier, and according to the weight of each edge Determine the path with the least weight of the K paths. Finally, the first path is determined from the K paths.
  • the determined first path is based on the constraint that the first attribute of the path is less than or equal to the preset threshold, and the minimum constraint of the second attribute of the path is considered, Determining the first path is better than the path determined according to the constraint of the first attribute of the path and less than or equal to the preset threshold, that is, the determined sum of the second attributes of the first path is determined according to the LARAC algorithm.
  • the sum of the second attributes of the shortest path is smaller, thereby achieving a better shortest path.
  • FIG. 5 it is a schematic flowchart of a method for determining a shortest path according to an embodiment of the present application.
  • 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 sink node, and a delay constraint.
  • the delay constraint condition is that the sum of the delays of the path 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, according to the LALAC algorithm, a path that satisfies the delay constraint condition from all paths of the source node to the sink node in the network topology, that is, the shortest path determined based on the LALAC algorithm, and determines the shortest path determined by the LALAC algorithm. The corresponding multiplier.
  • Step 503 The 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 yes, go to step 505, otherwise, The shortest path determined based on the LALAC algorithm is determined to be the shortest path from the source node to the sink node in the network topology, and proceeds to step 508.
  • Step 505 The SDN controller determines a weight of each edge in the network topology according to the multiplier, and determines K paths according to the weight of each edge.
  • Step 506 The SDN controller determines a first path by using a sum of delays of the paths in the K paths that are less than or equal to a preset threshold, and a minimum of the cost of the path, and determines the first path as the The shortest path from the source node to the sink node in the network topology.
  • Step 507 The SDN controller generates a routing table from the source node to the sink node according to the first path.
  • Step 508 The SDN controller generates a routing table from the source node to the sink node according to the shortest path determined based on the LALAC algorithm.
  • the embodiment of the present application further provides a controller.
  • the embodiment of the present application provides a schematic structural diagram of a controller.
  • the controller can execute the flow shown in FIG. 2.
  • the controller 600 includes a receiving module 601, a processing module 602, and a storage module 603.
  • the receiving module 601 is configured to receive source node information and sink node information; the source node information indicates a source node, and the sink node information indicates a sink node;
  • the storage module 603 is configured to use the storage network topology information, where the network topology information includes a network topology and a first attribute and a second attribute of each edge in the network topology, where the first attribute is the network An attribute of the link corresponding to the edge in the topology, where the second attribute is another attribute of the link corresponding to the edge in the network topology that is different from the first attribute;
  • the processing module 602 is configured to determine a multiplier corresponding to the shortest path determined by the Lagrangian relaxed LALAC algorithm from the source node to the sink node in the network topology; and determine, according to the multiplier, each side of the network topology Weighting, and determining K paths according to the weight of each edge, the K paths being K paths with small to large weights of paths in the path from the source node to the sink node in the network topology, K a positive integer greater than 1; the weight of the path is the sum of the weights of all edges in the path; the sum of the first attributes of the paths in the K paths is less than or equal to a preset threshold, and the second attribute of the path And a minimum path determined as a first path, the first path being a shortest path from the source node to the sink node in the network topology, wherein a sum of the first attributes of the path is the first of all sides in the path The sum of the attributes, the sum of the second attributes of the path, and the sum of the second attributes of
  • the receiving module 601, the processing module 602, and the storage module 603 can also perform other content.
  • the receiving module 601, the processing module 602, and the storage module 603 can also perform other content.
  • details refer to the descriptions in steps 201 to 203, and details are not described herein.
  • the embodiment of the present application further provides a controller.
  • the embodiment of the present application provides a schematic structural diagram of a controller.
  • the controller can execute the flow shown in FIG. 2.
  • the controller 700 includes a processor 701, a memory 702, and an input/output interface 703.
  • the processor 701 can be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or the like. Programming logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field-programmable gate array
  • Memory 702 can include read only memory and random access memory and can provide instructions and data to processor 701. A portion of the memory 702 may also include a Non-Volatile Random Access Memory (NVRAM).
  • NVRAM Non-Volatile Random Access Memory
  • bus system 704 which may include, in addition to the data bus, a power bus, a control bus, a status signal bus, and the like. However, for clarity of description, various buses are labeled as bus system 704 in the figure.
  • An input/output interface 703, configured to receive source node information and sink node information; the source node information indicates a source node, and the sink node information indicates a sink node;
  • a memory 702 configured to: store the network topology information, where the network topology information includes a network topology and a first attribute and a second attribute of each edge in the network topology, where the first attribute is the network topology An attribute of the link corresponding to the middle side, where the second attribute is another attribute of the link corresponding to the edge in the network topology that is different from the first attribute;
  • the processor 701 is configured to determine a multiplier corresponding to the shortest path determined by the Lagrangian relaxed LALAC algorithm from the source node to the sink node in the network topology, and determine, according to the multiplier, each side of the network topology Weighting, and determining K paths according to the weight of each edge, the K paths being K paths with small to large weights of paths in the path from the source node to the sink node in the network topology, K a positive integer greater than 1; the weight of the path is the sum of the weights of all edges in the path; the sum of the first attributes of the paths in the K paths is less than or equal to a preset threshold, and the second attribute of the path And a minimum path determined as a first path, the first path being a shortest path from the source node to the sink node in the network topology, wherein a sum of the first attributes of the path is the first of all sides in the path The sum of the attributes, the sum of the second attributes of the path, and the sum of the second attributes of all
  • the processor 701 is further configured to:
  • 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 path determined based on the LALAC algorithm is less than or equal to a preset difference coefficient.
  • the node density of the network topology satisfies the following formula:
  • av(D) is the node density of the network topology
  • E is the number of edges included in the network topology
  • V is the number of nodes included in the network topology.
  • the average difference coefficient of the second path satisfies the following formula:
  • av(CV) is the average difference coefficient of the second path
  • CV i is a difference coefficient of the weight of the heavy edge between the adjacent two nodes corresponding to the i-th edge of the second path
  • S i is the weight between the adjacent two nodes corresponding to the i-th edge in the second path
  • n is a positive integer greater than or equal to 1
  • n is the number of edges included in the second path.
  • the processor 701 is specifically configured to:
  • the sum of the product of the first attribute of the edge and the multiplier and the second attribute of the edge is determined as the weight of the edge.
  • the processor 701 is further configured to:
  • the memory 702 is further configured to store a routing table
  • the processor 701 is further configured to instruct the memory 702 to update the routing table, where the routing table is used to route a message between the source node and the sink node.
  • the first attribute is any one of a cost, a delay, a delay jitter, and a packet loss rate
  • the second attribute is any one of a cost, a delay, a delay jitter, and a packet loss rate.
  • the embodiment of the present application further provides a computer readable storage medium for storing computer software instructions required to execute the foregoing processor, which includes a program for executing the above-mentioned processor.
  • embodiments of the present application can be provided as a method, system, or computer program product.
  • the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment in combination of software and hardware.
  • the application can 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, etc.) including computer usable program code.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

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

A method for determining a shortest path and a controller, the method comprising: determining a multiplier corresponding to a shortest path that is determined on the basis of a Lagrange Relaxation based Aggregatd Cost (LARAC) algorithm from a source node to a sink node within a network topology; determining the weight of each side in the network topology according to the multiplier, and according to the weight of each side, determining K paths, the K paths being K paths which are in sequence from smallest path weight to largest path weight among the paths from the source node to the sink node in the network topology, and K being a positive integer greater than 1, wherein the weight of a path is the sum of the weights of all sides in the path; the sum of first attributes of the paths among the K paths is made to be less than or equal to a preset threshold, a path having the smallest sum of path second attributes is determined as a first path, and the first path serves as the shortest path from the source node to the sink node in the network topology.

Description

一种最短路径确定方法及控制器Shortest path determination method and controller
本申请要求在2017年7月13日提交国家专利局、申请号为201710571119.8、发明名称为“一种最短路径确定方法及控制器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese Patent Application filed on Dec. 13, 2017, the National Patent Office, Application No. 201710571119.8, entitled "A Shortest Path Determination Method and Controller", the entire contents of which are incorporated herein by reference. In the application.
技术领域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 technique
随着通信技术的发展,软件定义网络(Software Defined Networking,SDN)作为一种新型网络架构,受到越来越多的重视。SDN的核心思想是将网络的控制平面与转发平面进行分离,控制平面上的SDN控制器可以统一控制转发平面上某一网络中数据的转发,以实现网络流量的灵活调配。其中,SDN控制器在控制某一网络中数据的转发时,对于某个业务的源节点与宿节点所在网络,可以先确定该网络中每个节点的路径集合,每个节点的路径集合包括有源节点到该节点的路径,再基于每个节点的路径集合,确定源节点到宿节点的业务路径,进而根据该业务路径进行源节点与宿节点之间业务数据的转发。其中,源节点是指充当信源发送业务数据的节点,宿节点是指充当信宿接收业务数据的节点。With the development of communication technology, Software Defined Networking (SDN), as a new type of network architecture, has received more and more attention. The core idea of SDN is to separate the control plane of the network from the forwarding plane. The SDN controller on the control plane can uniformly control the forwarding of data in a network on the forwarding plane to achieve flexible deployment of network traffic. When the SDN controller controls the forwarding of data in a certain network, for the network where the source node and the sink node of a certain service are located, the path set of each node in the network may be determined first, and the path set of each node includes The path from the source node to the node is determined based on the path set of each node, and the service path from the source node to the sink node is determined, and then the service data between the source node and the sink node is forwarded according to the service path. The source node refers to a node that serves as a source to send service data, and the sink node refers to a node that acts as a sink to receive service data.
SDN控制器在进行源节点与宿节点之间的路由计算时,一般考虑的因素较为单一,例如只考虑代价(cost)或时延(delay)等因素,获得一条满足服务质量(Quality of Service,QoS)的路径,从而导致计算出的最短路径可能并不是最优的路径,例如,在网络中的两个节点之间存在多个重边的场景下,确定出的最短路径的优度并不高,不能满足实际应用,因此如何获得较优的最短路径,是一个亟待解决的问题。When the SDN controller performs the route calculation between the source node and the sink node, the factors generally considered are relatively simple. For example, only factors such as cost or delay are considered to obtain a quality of service (Quality of Service, QoS) path, so that the calculated shortest path may not be the optimal path. For example, in the scenario where there are multiple heavy edges between two nodes in the network, the advantage of the determined shortest path is not High, can not meet the actual application, so how to obtain a better shortest path is an urgent problem to be solved.
发明内容Summary of the invention
本申请提供一种最短路径确定方法及控制器,用以解决如何确定源节点与宿节点之间较优的最短路径的问题。The present application provides a shortest path determination method and controller for solving the problem of how to determine a shortest path between a source node and a sink node.
本申请实施例提供一种最短路径确定方法,该方法包括:An embodiment of the present application provides a shortest path determining method, where the method includes:
确定网络拓扑中从源节点至宿节点的基于拉格朗日松弛算法确定的最短路径对应的乘子;基于拉格朗日松弛算法确定的最短路径对应的乘子是一个固定值,是在拉格朗日松弛算法的最后一个迭代过程中,确定最短路径时所对应的乘子。Determining a multiplier corresponding to the shortest path determined by the Lagrangian relaxation algorithm from the source node to the sink node in the network topology; the multiplier corresponding to the shortest path determined by the Lagrangian relaxation algorithm is a fixed value, which is pulling In the last iteration of the Grande relaxation algorithm, the multiplier corresponding to the shortest path is determined.
根据所述乘子确定所述网络拓扑中的每条边的权重,并根据每条边的权重确定K条路径。其中,所述K条路径为所述网络拓扑中从所述源节点至所述宿节点的路径中路径的权重从小到大的K条路径,K为大于1的正整数;所述路径的权重为该路径中所有边的权重的和。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. The K paths are K paths whose weights in the path from the source node to the sink node in the network topology are small to large, and K is a positive integer greater than 1; the weight of the path The sum of the weights of all the edges in the path.
将所述K条路径中路径的第一属性的和小于或等于预设阈值,且路径的第二属性的和最小的路径确定为第一路径,所述第一路径为所述网络拓扑中从源节点至宿节点的最短路径。设阈值为请求SDN控制器确定从源节点到宿节点的最短路径的用户设备,根据自身 实际的网络需求设置的,当然预设阈值也可以为一个默认值,或SDN控制器根据网络的实际情况设置。Determining, as the first path, a path in which the sum of the first attributes of the paths in the K paths is less than or equal to a preset threshold, and the sum of the second attributes of the paths is the first path The shortest path from the source node to the sink node. The threshold is a user equipment that requests the SDN controller to determine the shortest path from the source node to the sink node, and is set according to its actual network requirement. Of course, the preset threshold may also be a default value, or the SDN controller may be based on the actual situation of the network. Settings.
其中,所述第一属性为所述网络拓扑中边所对应的链路的一种属性,第二属性为所述网络拓扑中边所对应的链路的与第一属性不同的另一种属性;路径的第一属性的和为该路径中所有边的第一属性的和,路径的第二属性的和为该路径中所有边的第二属性的和。The first attribute is an attribute of a link corresponding to the edge in the network topology, and the second attribute is another attribute of the link corresponding to the edge in the network topology different from the first attribute. The sum of the first attribute 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 sides in the path.
根据本申请实施例提供的方法,在确定基于拉格朗日松弛算法确定的最短路径对应的乘子之后,根据所述乘子确定所述网络拓扑中的每条边的权重,并根据每条边的权重确定K条路径的权重最小的路径。最后从所述K条路径中确定出第一最短路径。本申请实施例,确定出的第一路径是在满足路径的第一属性的和小于或等于预设阈值的约束条件的基础上,考虑了路径的第二属性的和最小的约束条件,因此确定出的第一路径优于只根据路径的第一属性的和小于或等于预设阈值的约束条件确定出的路径,即确定出的第一路径的第二属性的和比基于LARAC算法确定出的最短路径的第二属性的和更小,从而实现了获得较优的最短路径。According to the method provided by the embodiment of the present application, after determining the multiplier corresponding to the shortest path determined by the Lagrangian relaxation algorithm, determining the weight of each edge in the network topology according to the multiplier, and according to each The weight of the edge determines the path with the least weight of the K paths. Finally, the first shortest path is determined from the K paths. In the embodiment of the present application, the determined first path is based on the constraint that the first attribute of the path is less than or equal to the preset threshold, and the minimum constraint condition of the second attribute of the path is considered, so The first path is better than the path determined only according to the constraint of the first attribute of the path and less than or equal to the preset threshold, that is, the determined second attribute of the first path is determined by the LARAC algorithm. The sum of the second attributes of the shortest path is smaller, thereby achieving a better shortest path.
在一些实施例中,根据所述乘子确定所述网络拓扑中的每条边的权重之前,还包括:In some embodiments, before determining the weight of each edge in the network topology according to the multiplier, the method further includes:
确定满足以下预设条件:Make sure the following preset conditions are met:
所述网络拓扑的节点密度大于或等于预设节点密度,且所述基于所述LARAC算法确定的最短路径的平均差异系数小于或等于预设差异系数。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 path determined based on the LALAC algorithm is less than or equal to a preset difference coefficient.
通过上述方法,确定所述节点密度大于或等于预设节点密度,且确定所述基于所述LARAC算法确定的最短路径的平均差异系数小于或等于预设差异系数时,可以确定当前获得的基于所述LARAC算法确定的最短路径不是最优的路径,从而可以根据基于所述LARAC算法确定的最短路径对应的乘子确定第一最短路径,从而提高了确定源节点至宿节点之间最短路径的准确性。And determining, by using the foregoing method, that the node density is greater than or equal to a preset node density, and determining that the average difference coefficient of the shortest path determined by the LALAC algorithm is less than or equal to a preset difference coefficient, determining a currently obtained basis The shortest path determined by the LALAC algorithm is not an optimal path, so that the first shortest path can be determined according to the multiplier corresponding to the shortest path determined by the LALAC algorithm, thereby improving the accuracy of determining the shortest path between the source node and the sink node. Sex.
在一些实施例中,若确定所述基于所述LARAC算法确定的最短路径不满足所述预设条件,则将所述基于所述LARAC算法确定的最短路径确定为所述网络拓扑中从源节点至宿节点的最短路径。In some embodiments, if it is determined that the shortest path determined by the LALAC algorithm does not satisfy the preset condition, determining the shortest path determined based on the LALAC algorithm as a source node in the network topology The shortest path to the sink node.
在一些实施例中,所述基于所述LARAC算法确定的最短路径的平均差异系数满足以下公式:In some embodiments, the average difference coefficient of the shortest path determined based on the LALAC algorithm satisfies the following formula:
av(D)=|E|×2/|V|Av(D)=|E|×2/|V|
其中,av(D)为所述网络拓扑的节点密度,E为所述网络拓扑所包括的边数,V为所述网络拓扑所包括的节点数。Where 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.
预设节点密度具体如何确定,本申请实施例对此并不限定,预设节点密度可以用来判断网络拓扑中的节点之间是否存在多个重边,从而确定基于所述LARAC算法确定的最短路径是否最优。The preset node density is specifically determined, which is not limited by the embodiment of the present application. The preset node density may be used to determine whether there are multiple heavy edges between nodes in the network topology, thereby determining the minimum determined based on the LARAC algorithm. Whether the path is optimal.
在一些实施例中,所述第二路径的平均差异系数满足以下公式:In some embodiments, the average difference coefficient of the second path satisfies the following formula:
Figure PCTCN2018095702-appb-000001
Figure PCTCN2018095702-appb-000001
其中,av(CV)为所述基于所述LARAC算法确定的最短路径的平均差异系数,
Figure PCTCN2018095702-appb-000002
CV i为所述基于所述LARAC算法确定的最短路径的第i条边对应的相邻两节 点之间重边权重的差异系数,S i为所述基于所述LARAC算法确定的最短路径中第i条边对应的相邻两节点之间重边权重的标准差,
Figure PCTCN2018095702-appb-000003
为所述基于所述LARAC算法确定的最短路径的第i条边对应的相邻两节点之间重边权重的平均值,n为大于或等于1的正整数,n为所述基于所述LARAC算法确定的最短路径包括的边数。
Where av(CV) is the average difference coefficient of the shortest path determined by the LALAC algorithm,
Figure PCTCN2018095702-appb-000002
The CV i is a difference coefficient of the weight of the heavy edge between the adjacent two nodes corresponding to the i-th edge of the shortest path determined by the LALAC algorithm, where S i is the shortest path determined by the LARAC algorithm The standard deviation of the weight of the heavy edge between the adjacent two nodes corresponding to the i-edge,
Figure PCTCN2018095702-appb-000003
An average value of the weights of the heavy edges between the adjacent two nodes corresponding to the i-th edge of the shortest path determined by the LALAC algorithm, n is a positive integer greater than or equal to 1, and n is the based on the LARAC The shortest path determined by the algorithm includes the number of edges.
预设差异系数具体如何确定,本申请实施例对此并不限定,可以通过结合预设节点密度以及预设差异系数来判断网络拓扑中的节点之间是否存在多个重边,从而确定基于所述LARAC算法确定的最短路径是否最优。The preset difference coefficient is specifically determined. The embodiment of the present application is not limited to this. The preset node density and the preset difference coefficient may be used to determine whether there are multiple heavy edges between nodes in the network topology, thereby determining the basis. Whether the shortest path determined by the LALAC algorithm is optimal.
在一些实施例中,根据所述乘子确定所述网络拓扑中的每条边的权重,包括:In some embodiments, determining a weight of each edge in the network topology based on the multiplier includes:
针对所述网络拓扑中的任意一条边,将该边的所述第一属性与所述乘子的乘积与该边的所述第二属性之和确定为该边的权重。For any one of the network topologies, the sum of the product of the first attribute of the edge and the multiplier and the second attribute of the edge is determined as the weight of the edge.
在一些实施例中,将所述第一路径作为所述网络拓扑中从源节点至宿节点的最短路径之后,还包括:In some embodiments, after the first path is used as the shortest path from the source node to the sink node in the network topology, the method further includes:
根据所述第一路径生成从源节点至宿节点的路由表。Generating a routing table from the source node to the sink node according to the first path.
在一些实施例中,所述第一属性为代价、时延、时延抖动和丢包率中的任意一个;In some embodiments, the first attribute is any one of a cost, a delay, a delay jitter, and a packet loss rate;
所述第二属性为代价、时延、时延抖动和丢包率中的任意一个。The second attribute is any one of a cost, a delay, a delay jitter, and a packet loss rate.
在一些实施例中,所述代价为费用或者距离或者能耗。In some embodiments, the cost is a fee or distance or energy consumption.
本申请实施例中,代价是指数据包从网络拓扑中的发送节点到达网络拓扑中的接收节点时所需的开销。例如,可以是指数据包从网络拓扑中的发送节点到达网络拓扑中的接收节点时所需的费用或者能耗,也可以指示指数据包从网络拓扑中的发送节点到达网络拓扑中的接收节点时所经过的链路的距离。In the embodiment of the present application, the cost refers to the overhead required when the data packet arrives from the sending node in the network topology to the receiving node in the network topology. For example, it may refer to the cost or energy consumption of the data packet from the sending node in the network topology to the receiving node in the network topology, and may also indicate that the data packet arrives at the receiving node in the network topology from the sending node in the network topology. The distance of the link that passes through.
时延是指数据包从网络拓扑中的发送节点发送之后,通过信道传输,到达网络拓扑中的接收节点时所花费的时间。时延抖动是指时延的变化,可以反映时延的变化程度。丢包率是指从网络拓扑中的发送节点发送至网络拓扑中的接收节点的数据包中,丢失的数据包的数量占所发送数据包的总数量的比率。Delay is the time it takes for a packet to travel through a channel and then reach a receiving node in the network topology after it is sent from the transmitting node in the network topology. Delay jitter refers to the change in delay and can reflect the degree of change in delay. The packet loss rate refers to the ratio of the number of lost data packets to the total number of transmitted data packets in the data packets sent from the sending node in the network topology to the receiving node in the network topology.
本申请实施例提供一种控制器,包括:An embodiment of the present application provides a controller, including:
接收模块,用于接收源节点信息以及宿节点信息;所述源节点信息指示出源节点,所述宿节点信息指示出宿节点;a receiving module, configured to receive source node information and sink node information; the source node information indicates a source node, and the sink node information indicates a sink node;
存储模块,用于所述存储网络拓扑信息,所述网络拓扑信息包括网络拓扑结构以及所述网络拓扑结构中每条边的第一属性和第二属性,所述第一属性为所述网络拓扑中边所对应的链路的一种属性,第二属性为所述网络拓扑中边所对应的链路的与第一属性不同的另一种属性;a storage module, configured to use the storage network topology information, where the network topology information includes a network topology and a first attribute and a second attribute of each edge in the network topology, where the first attribute is the network topology An attribute of the link corresponding to the middle side, where the second attribute is another attribute of the link corresponding to the edge in the network topology that is different from the first attribute;
处理模块,用于确定网络拓扑中从源节点至宿节点的基于拉格朗日松弛LARAC算法确定的最短路径对应的乘子;根据所述乘子确定所述网络拓扑中的每条边的权重,并根据每条边的权重确定K条路径,所述K条路径为所述网络拓扑中从所述源节点至所述宿节点的路径中路径的权重从小到大的K条路径,K为大于1的正整数;所述路径的权重为该路径中所有边的权重的和;将所述K条路径中路径的第一属性的和小于或等于预设阈值,且路径的第二属性的和最小的路径确定为第一路径,所述第一路径为所述网络拓扑中从源节点至宿节点的最短路径,其中,路径的第一属性的和为该路径中所有边的第一属性的和,路径的第二属性的和为该路径中所有边的第二属性的和。a processing module, configured to determine a multiplier corresponding to a shortest path determined by a Lagrangian relaxed LALAC algorithm from a source node to a sink node in a network topology; determining, according to the multiplier, a weight of each edge in the network topology And determining K paths according to the weight of each edge, where the K paths are K paths whose weights in the path from the source node to the sink node in the network topology are small to large, K is a positive integer greater than 1; a weight of the path is a sum of weights of all edges in the path; a sum of first attributes of the paths in the K paths is less than or equal to a preset threshold, and a second attribute of the path And the smallest path is determined as a first path, the first path being a shortest path from the source node to the sink node in the network topology, wherein a sum of the first attributes of the path is a first attribute of all edges in the path And the sum of the second attribute of the path and the sum of the second attributes of all edges in the path.
在一些实施例中,所述处理模块还用于:In some embodiments, the processing module is further configured to:
确定满足以下预设条件:Make sure the following preset conditions are met:
所述网络拓扑的节点密度大于或等于预设节点密度,且所述基于所述LARAC算法确定的最短路径的平均差异系数小于或等于预设差异系数。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 path determined based on the LALAC 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|Av(D)=|E|×2/|V|
其中,av(D)为所述网络拓扑的所述节点密度,E为所述网络拓扑所包括的边数,V为所述网络拓扑所包括的节点数。Where 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 of the second path satisfies the following formula:
Figure PCTCN2018095702-appb-000004
Figure PCTCN2018095702-appb-000004
其中,av(CV)为所述第二路径的平均差异系数,
Figure PCTCN2018095702-appb-000005
CV i为所述第二路径的第i条边对应的相邻两节点之间重边权重的差异系数,S i为所述第二路径中第i条边对应的相邻两节点之间重边权重的标准差,
Figure PCTCN2018095702-appb-000006
为所述第二路径的第i条边对应的相邻两节点之间重边权重的平均值,n为大于或等于1的正整数,n为所述第二路径包括的边数。
Where av(CV) is the average difference coefficient of the second path,
Figure PCTCN2018095702-appb-000005
CV i is a difference coefficient of the weight of the heavy edge between the adjacent two nodes corresponding to the i-th edge of the second path, and S i is the weight between the adjacent two nodes corresponding to the i-th edge in the second path The standard deviation of the edge weights,
Figure PCTCN2018095702-appb-000006
An average value of the weights of the heavy edges between the adjacent two nodes corresponding to the i-th edge of the second path, where 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 one of the network topologies, the sum of the product of the first attribute of the edge and the multiplier and the second attribute of the edge is determined as the weight of the edge.
在一些实施例中,所述处理模块还用于:In some embodiments, the processing module is further configured to:
根据所述第一路径生成从源节点至宿节点的路由表。Generating a routing table from the source node to the sink 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 to route a message between the source node and the sink node.
在一些实施例中,所述第一属性为代价、时延、时延抖动和丢包率中的任意一个;In some embodiments, the first attribute is any one of a cost, a delay, a delay jitter, and a packet loss rate;
所述第二属性为代价、时延、时延抖动和丢包率中的任意一个。The second attribute is any one of a cost, a delay, a delay jitter, and a packet loss rate.
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有上述任一最短路径确定方法的任意一种设计的功能所用的计算机软件指令,当所述指令在计算机上运行时,用于执行上述任一最短路径确定方法的任意一种设计的功能所用的计算机软件指令。The present application also provides a computer readable storage medium storing computer software instructions for use in any of the designed functions of any of the shortest path determination methods described above, when the instructions are run on a computer Computer software instructions for performing any of the functions of any of the shortest path determination methods described above.
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的最短路径确定方法。The embodiment of the present application also provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform the shortest path determination method described in the above aspects.
附图说明DRAWINGS
图1为适用于本申请实施例的一种场景示意图;FIG. 1 is a schematic diagram of a scenario applicable to an embodiment of the present application;
图2为本申请实施例提供的一种最短路径确定方法流程示意图;2 is a schematic flowchart of a method for determining a shortest path according to an embodiment of the present application;
图3为本申请实施例提供的一种路径计算示意图;FIG. 3 is a schematic diagram of path calculation according to an embodiment of the present application;
图4为本申请实施例提供的一种网络拓扑结构示意图;FIG. 4 is a schematic diagram of a network topology structure according to an embodiment of the present application;
图5为本申请实施例提供的一种最短路径确定方法流程示意图;FIG. 5 is a schematic flowchart of a method for determining a shortest path according to an embodiment of the present application;
图6为本申请实施例提供的一种控制器结构示意图;FIG. 6 is a schematic structural diagram of a controller according to an embodiment of the present application;
图7为本申请实施例提供的一种控制器结构示意图。FIG. 7 is a schematic structural diagram of a controller according to an embodiment of the present application.
具体实施方式Detailed ways
下面将结合附图对本申请作进一步地详细描述。The present application will be further described in detail below with reference to the accompanying drawings.
本申请实施例可以应用于各种移动通信系统,例如:全球移动通讯(Global System of Mobile communication,GSM)系统、码分多址(Code Division Multiple Access,CDMA)系统、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)系统、通用分组无线业务(General Packet Radio Service,GPRS)、长期演进(Long Term Evolution,LTE)系统、先进的长期演进(Advanced long term evolution,LTE-A)系统、通用移动通信系统(Universal Mobile Telecommunication System,UMTS)、演进的长期演进(evolved Long Term Evolution,eLTE)系统、5G系统(例如新无线(New Radio,NR)系统)等其它移动通信系统。The embodiments of the present application can be applied to various mobile communication systems, such as: Global System of Mobile communication (GSM) system, Code Division Multiple Access (CDMA) system, and Wideband Code Division Multiple Access (Wideband). Code Division Multiple Access (WCDMA) system, General Packet Radio Service (GPRS), Long Term Evolution (LTE) system, Advanced Long Term Evolution (LTE-A) system, general purpose Other mobile communication systems such as the Universal Mobile Telecommunication System (UMTS), the evolved Long Term Evolution (eLTE) system, and the 5G system (for example, New Radio (NR) system).
执行本申请实施例提供的最短路径确定方法的执行主体可以为SDN控制器等设备。如图1所示,为适用于本申请实施例的一种场景示意图。SDN控制器通过南向接口实时收集底层网络拓扑的网络拓扑信息,网络拓扑信息包括但不限于网络中包括的节点数、边数、每条边的代价和时延、每个节点相邻的节点等信息。当SDN控制器的北向接口接收到由用户设备等设备发送的下放业务请求时,SDN控制器为业务的源节点、宿节点计算满足约束条件的最短路径。SDN控制器根据最短路径生成转发路由表,并通过南向接口下发给底层的转发器。底层设备就可以将业务包从源节点发送到宿节点。The execution subject of the shortest path determining method provided by the embodiment of the present application may be a device such as an SDN controller. As shown in FIG. 1 , it is a schematic diagram of a scenario applicable to an embodiment of the present application. The SDN controller collects network topology information of the underlying network topology in real time through the southbound interface. The network topology information includes but is not limited to the number of nodes included in the network, the number of edges, the cost and delay of each edge, and the nodes adjacent to each node. And other information. When the northbound interface of the SDN controller receives the downlink service request sent by the user equipment or the like, the SDN controller calculates the shortest path that satisfies the constraint condition for the source node and the sink node of the service. The SDN controller generates a forwarding routing table according to the shortest path and sends it to the underlying transponder through the southbound interface. The underlying device can send the service packet from the source node to the sink node.
结合上述描述,如图2所示,为本申请实施例提供的一种最短路径确定方法流程示意图。图2中,执行主体可以为SDN控制器等设备,为描述方便,以下描述中以SDN控制器为执行主体进行描述。As shown in FIG. 2, a schematic flowchart of a shortest path determining method provided by an embodiment of the present application is shown. In FIG. 2, the execution subject may be a device such as an SDN controller. For convenience of description, the SDN controller is described as an execution subject in the following description.
参见图2,该方法包括:Referring to Figure 2, the method includes:
步骤201:确定网络拓扑中从源节点至宿节点的基于拉格朗日松弛算法确定的最短路径对应的乘子;Step 201: Determine a multiplier corresponding to the shortest path determined by the Lagrangian relaxation algorithm from the source node to the sink node in the network topology;
步骤202:根据所述乘子确定所述网络拓扑中的每条边的权重,并根据每条边的权重确定K条路径。Step 202: Determine weights of each edge in the network topology according to the multiplier, and determine K paths according to weights of each edge.
其中,所述K条路径为所述网络拓扑中从所述源节点至所述宿节点的路径中路径的权重从小到大的K条路径,K为大于1的正整数;所述路径的权重为该路径中所有边的权重的和。The K paths are K paths whose weights in the path from the source node to the sink node in the network topology are small to large, and K is a positive integer greater than 1; the weight of the path The sum of the weights of all the edges in the path.
步骤203:将所述K条路径中路径的第一属性的和小于或等于预设阈值,且路径的第二属性的和最小的路径确定为第一路径,所述第一路径为所述网络拓扑中从源节点至宿节点的最短路径。Step 203: Determine a path in which the sum of the first attributes of the paths in the K paths is less than or equal to a preset threshold, and the path of the second attribute of the path is the smallest path, where the first path is the network. The shortest path from the source node to the sink node in the topology.
其中,所述第一属性为所述网络拓扑中边所对应的链路的一种属性,第二属性为所述网络拓扑中边所对应的链路的与第一属性不同的另一种属性;路径的第一属性的和为该路径中所有边的第一属性的和,路径的第二属性的和为该路径中所有边的第二属性的和。The first attribute is an attribute of a link corresponding to the edge in the network topology, and the second attribute is another attribute of the link corresponding to the edge in the network topology different from the first attribute. The sum of the first attribute 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 sides in the path.
步骤201之前,SDN控制器可以从南向接口获取底层网络拓扑的网络拓扑信息,从而确定整个网络拓扑。网络拓扑信息包括网络拓扑中每个节点之间的连接关系等信息。其中,南向接口为提供给其他厂家或运营商进行接入和管理的接口,即向下的接口。Before step 201, the SDN controller can 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 the connection relationship between each node in the network topology. The southbound interface is an interface that provides access and management to other vendors or operators, that is, a downward interface.
SDN控制器在接收到用户设备发送的业务请求消息后,可以根据业务请求消息中的源节点信息确定源节点、根据宿节点信息确定宿节点等信息,同时业务请求消息中还可以包括约束条件,SDN控制器可以基于约束条件确定满足所述约束条件的最短路径。After receiving the service request message sent by the user equipment, the SDN controller may determine the source node according to the source node information in the service request message, determine the sink node and other information according to the information of the sink node, and the service request message may further include a constraint condition. The SDN controller can determine the shortest path that satisfies the constraint based on the constraints.
步骤201中,SDN控制器基于拉格朗日松弛(Lagrange Relaxation based Aggregated Cost,LARAC)算法确定从源节点至宿节点的最短路径为满足约束条件的路径,所述约束条件可以为路径的第一属性的和小于或等于预设阈值。本申请实施例中,确定基于拉格朗日松弛算法确定最短路径的过程可以如下:In step 201, the SDN controller determines, according to a Lagrangian Relaxation Based Aggregated Cost (LARAC) algorithm, that the shortest path from the source node to the sink node is a path that satisfies the constraint condition, and the constraint condition may be the first path. The sum of the attributes is less than or equal to the 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:利用Dijkstra算法计算网络拓扑中源节点到宿节点的路径中路径的第二属性的和最小的路径P1,如果路径P1的第一属性的和d(P1)小于或等于预设阈值,则确定路径P1为基于LARAC算法确定的最短路径,输出结果并结束整个算法,否则转至Step 2。Step 1: Using the Dijkstra algorithm to calculate the second attribute and the minimum path P1 of the path in the path from the source node to the sink node in the network topology, if the sum d(P1) of the first attribute of the path P1 is less than or equal to a preset threshold, Then it is determined that the path P1 is the shortest path determined based on the LALAC algorithm, and the result is output and the entire algorithm is ended, otherwise it is transferred to Step 2.
其中,所述第一属性可以为代价、时延、时延抖动和丢包率中的任意一个,所述第二属性可以为代价、时延、时延抖动和丢包率中的任意一个。举例来说,第一属性可以为时延,第二属性可以为代价。The first attribute may be any one of a cost, a delay, a delay jitter, and a packet loss rate, and the second attribute may be any one of a cost, a delay, a delay jitter, and a packet loss rate. For example, the first attribute can be a time delay and the second attribute can be a cost.
本申请实施例中,代价是指数据包从网络拓扑中的发送节点到达网络拓扑中的接收节点时所需的开销。例如,可以是指数据包从网络拓扑中的发送节点到达网络拓扑中的接收节点时所需的费用或者能耗,也可以指示指数据包从网络拓扑中的发送节点到达网络拓扑中的接收节点时所经过的链路的距离。In the embodiment of the present application, the cost refers to the overhead required when the data packet arrives from the sending node in the network topology to the receiving node in the network topology. For example, it may refer to the cost or energy consumption of the data packet from the sending node in the network topology to the receiving node in the network topology, and may also indicate that the data packet arrives at the receiving node in the network topology from the sending node in the network topology. The distance of the link that passes through.
时延是指数据包从网络拓扑中的发送节点发送之后,通过信道传输,到达网络拓扑中的接收节点时所花费的时间。时延也可以称为延时或延误(传输)时间等。时延抖动是指时延的变化,可以反映时延的变化程度。Delay is the time it takes for a packet to travel through a channel and then reach a receiving node in the network topology after it is sent from the transmitting node in the network topology. The delay can also be referred to as delay or delay (transmission) time and the like. Delay jitter refers to the change in delay and can reflect the degree of change in delay.
丢包率是指从网络拓扑中的发送节点发送至网络拓扑中的接收节点的数据包中,丢失的数据包的数量占所发送数据包的总数量的比率。The packet loss rate refers to the ratio of the number of lost data packets to the total number of transmitted data packets in the data packets sent from the sending node in the network topology to the receiving node in the network topology.
Step 2:利用Dijkstra算法计算网络拓扑中源节点到宿节点的路径中路径的第一属性的和最小的路径P2,如果路径P2的第一属性的和d(P2)大于预设阈值,则确定没有符合满足路径的第一属性的和小于或等于预设阈值的最短路径,否则转至Step 3。Step 2: Calculate the first attribute and the minimum path P2 of the path in the path from the source node to the sink node in the network topology by using the Dijkstra algorithm, and determine if the sum d(P2) of the first attribute of the path P2 is greater than a preset threshold. There is no shortest path that meets the first attribute that satisfies the path and is less than or equal to the preset threshold, otherwise it goes to Step 3.
Step 3:根据路径P1以及路径P2计算乘子,并根据计算出的乘子采用公式(1)更新整个网络拓扑中每条边的权重。Step 3: Calculate the multiplier according to the path P1 and the path P2, and update the weight of each edge in the entire network topology by using the formula (1) according to the calculated multiplier.
其中公式(1)为:Where formula (1) is:
c λi=c i+λ×d i······(1) c λi =c i +λ×d i ········(1)
公式(1)中,c λi为第i条边的权重,c i为第i条边的第一属性,d i为第i条边的第二属性,λ为乘子。 In the formula (1), c λi is the weight of the ith side, c i is the first attribute of the ith side, d i is the second attribute of the ith side, and λ is the multiplier.
其中,计算出的乘子λ满足公式(2):Wherein, the calculated multiplier λ satisfies the formula (2):
Figure PCTCN2018095702-appb-000007
Figure PCTCN2018095702-appb-000007
公式(2)中,c(P2)为路径P2的第二属性的和,c(P1)为路径P1的第二属性的和。In the formula (2), c(P2) is the sum of the second attribute of the path P2, and c(P1) is the sum of the second attribute of the path P1.
Step 4:利用Dijkstra算法计算源节点s到宿节点t的最小权重的路径P3。Step 4: Calculate the path P3 of the minimum weight of the source node s to the sink node t using the Dijkstra algorithm.
Step 5:如果路径P3的权重d λ(P3)等于路径P2的权重d λ(P2),则确定路径P2为从源节点到宿节点的最短路径,输出结果并结束整个算法,否则用路径P3替换路径P2,并转 至Step 3。 Step 5: If the weight d λ (P3) of the path P3 is equal to the weight d λ (P2) of the path P2, determine that the path P2 is the shortest path from the source node to the sink node, output the result and end the entire algorithm, otherwise use the path P3 Replace path P2 and go to Step 3.
需要说明的是,基于LARAC算法确定的最短路径可能并不是从源节点到宿节点的实质的最短路径,本申请实施例为了确定出从源节点到宿节点的实质的最短路径,会对基于LARAC算法确定的最短路径进行优化,从而获得从源节点到宿节点的实质的最短路径,优化的过程在后面描述,在此不再赘述。It should be noted that the shortest path determined by the LALAC algorithm may not be the shortest path from the source node to the sink node. In order to determine the shortest path from the source node to the sink node, the embodiment of the present application will be based on LALAC. The shortest path determined by the algorithm is optimized to obtain a substantial shortest path from the source node to the sink node. The process of optimization is described later and will not be described here.
结合前面的流程,本申请实施例中,乘子是在算法迭代过程中的迭代值,是一个变量,但基于LARAC算法确定出最短路径之后,基于LARAC算法确定的最短路径对应的乘子是一个固定值,是在LARAC算法的最后一个迭代过程中,确定最短路径时所对应的乘子。In conjunction with the foregoing process, in the embodiment of the present application, the multiplier is an iterative value in the iterative process of the algorithm, which is a variable, but after determining the shortest path based on the LALAC algorithm, the multiplier corresponding to the shortest path determined by the LALAC algorithm is a The fixed value is the multiplier corresponding to the shortest path during the last iteration of the LARAC algorithm.
上述方法中,通过乘子λ将网络拓扑中的两个约束参数(第一属性和第二属性)聚合为一个约束参数:权重,从而可以实现利用Dijkstra算法解决存在多个约束参数的网络拓扑的最短路径的问题。然而上述方法中,只考虑了一个约束参数,即路径的的第一属性的和小于或等于预设阈值,所以计算出的最短路径可能并不是最优的。In the above method, the two constraint parameters (the first attribute and the second attribute) in the network topology are aggregated into a constraint parameter by using the multiplier λ: weight, so that the Dijkstra algorithm can be used to solve the network topology in which multiple constraint parameters exist. The shortest path problem. However, in the above method, only one constraint parameter is considered, that is, the sum of the first attributes of the path is less than or equal to a preset threshold, so the calculated shortest path may not be optimal.
在一些实施例中,SDN控制器基于LARAC算法确定出最短路径之后,可以判断是否满足预设条件:即判断所述网络拓扑的节点密度是否大于或等于预设节点密度,且判断所述基于LARAC算法确定的最短路径的平均差异系数是否小于或等于预设差异系数。In some embodiments, after the SDN controller determines the shortest path based on the LALAC algorithm, it may be determined whether the preset condition is met: determining whether the node density of the network topology is greater than or equal to a preset node density, and determining that the LALAC is based on Whether the average difference coefficient of the shortest path determined by the algorithm is less than or equal to the preset difference coefficient.
若确定所述网络拓扑的节点密度大于或等于预设节点密度,且确定所述基于LARAC算法确定的最短路径的平均差异系数小于或等于预设差异系数,则继续执行步骤201后面的步骤,否则可以直接将基于LARAC算法确定的最短路径确定为所述网络拓扑中从源节点至宿节点的最短路径。If it is determined that the node density of the network topology is greater than or equal to the preset node density, and determining that the average difference coefficient of the shortest path determined by the LALAC algorithm is less than or equal to the preset difference coefficient, proceeding to the steps subsequent to step 201, otherwise The shortest path determined based on the LALAC algorithm can be directly determined as the shortest path from the source node to the sink node in the network topology.
具体的,SDN控制器可以执行以下步骤,从而确定是否满足预设条件:Specifically, the SDN controller may perform the following steps to determine whether the preset condition is met:
步骤301:SDN控制器确定所述网络拓扑的节点密度;Step 301: The SDN controller determines a node density of the network topology.
SDN控制器可以根据以下公式确定所述网络拓扑的节点密度:The SDN controller can determine the node density of the network topology according to the following formula:
av(D)=|E|×2/|V|······(3)Av(D)=|E|×2/|V|·······(3)
其中,av(D)为所述网络拓扑的节点密度,E为所述网络拓扑所包括的边数,V为所述网络拓扑所包括的节点数。Where 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.
步骤302:SDN控制器判断所述节点密度是否大于或等于预设节点密度,若是,则转至步骤303,否则转至步骤306;Step 302: The SDN controller determines whether the node density is greater than or equal to the preset node density, and if so, then proceeds to step 303, otherwise proceeds to step 306;
本申请实施例中,预设节点密度的取值并不限定,具体的取值可以接近于网络拓扑中的节点之间是否存在多个重边的临界值,这样预设节点密度可以用来判断网络拓扑中的节点之间是否存在多个重边。具体的,若网络拓扑的节点密度小于预设节点密度,则可以确定网络拓扑中的节点之间不存在多个重边,因此可以确定基于LARAC算法确定的最短路径为最优的路径。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 whether there are multiple critical values of the heavy edge between the nodes in the network topology, so that the preset node density may be used to determine Whether there are multiple heavy edges 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 there are no multiple heavy edges between the nodes in the network topology, so that the shortest path determined by the LALAC algorithm may be determined to be the optimal path.
若网络拓扑的节点密度大于或等于预设节点密度,则可以确定网络拓扑中的节点之间可能存在多个重边(具体是否一定存在多个重边可以结合路径的平均差异系数确定),因此可以确定基于LARAC算法确定的最短路径不一定最优,可能需要对基于LARAC算法确定的最短路径进行优化。If the node density of the network topology is greater than or equal to the preset node density, it may be determined that there may be multiple heavy edges between the nodes in the network topology (whether or not there are certain heavy edges that may be determined by the average difference coefficient of the combined paths), It can be determined that the shortest path determined based on the LALAC algorithm is not necessarily optimal, and the shortest path determined based on the LALAC algorithm may need to be optimized.
步骤303:SDN控制器确定所述基于LARAC算法确定的最短路径的平均差异系数;Step 303: The SDN controller determines an average difference coefficient of the shortest path determined by the LALAC algorithm.
SDN控制器可以根据以下公式确定所述基于LARAC算法确定的最短路径的平均差异系数:The SDN controller may determine an average difference coefficient of the shortest path determined by the LALAC algorithm according to the following formula:
Figure PCTCN2018095702-appb-000008
Figure PCTCN2018095702-appb-000008
其中,av(CV)为所述基于LARAC算法确定的最短路径的平均差异系数,
Figure PCTCN2018095702-appb-000009
CV i为所述基于LARAC算法确定的最短路径的第i条边对应的相邻两节点之间重边权重的差异系数,S i为所述基于LARAC算法确定的最短路径中第i条边对应的相邻两节点之间重边权重的标准差,
Figure PCTCN2018095702-appb-000010
为所述基于LARAC算法确定的最短路径的第i条边对应的相邻两节点之间重边权重的平均值,n为大于或等于1的正整数,n为所述基于LARAC算法确定的最短路径包括的边数。
Where av(CV) is the average difference coefficient of the shortest path determined by the LALAC algorithm,
Figure PCTCN2018095702-appb-000009
The CV i is a difference coefficient of the weight of the heavy edge between the adjacent two nodes corresponding to the i-th edge of the shortest path determined by the LALAC algorithm, and S i is the i-th edge corresponding to the shortest path determined by the LALAC algorithm The standard deviation of the weight of the heavy edge between two adjacent nodes,
Figure PCTCN2018095702-appb-000010
The average value of the weights of the heavy edges between the adjacent two nodes corresponding to the i-th edge of the shortest path determined by the LALAC algorithm, n is a positive integer greater than or equal to 1, and n is the shortest determined by the LALAC algorithm The number of edges included in the path.
需要说明的是,每条边对应相邻两节点,但是所述相邻两节点之间可能存在多条边,这些边可以称为重边,每条重边对应一个第一属性和一个第二属性。本申请实施例中,基于LARAC算法确定的最短路径的第i条边对应的相邻两节点之间的每条重边的权重的确定方法,和网络拓扑中的每条边的权重的确定方法相同,具体的,针对基于LARAC算法确定的最短路径的第i条边对应的相邻两节点之间的任意一条重边,可以将该重边的第一属性与所述乘子的乘积与该重边的第二属性之和确定为该重边的权重。最后可以确定出第i条边对应的相邻两节点之间重边权重的标准差和重边权重的平均值,从而确定出第i条边对应的相邻两节点之间重边权重的差异系数。It should be noted that each edge corresponds to two adjacent nodes, but there may be multiple edges between the adjacent two nodes. These edges may be called heavy edges, and each heavy edge corresponds to a first attribute and a second edge. Attributes. In the embodiment of the present application, the method for determining the weight of each heavy edge between adjacent nodes corresponding to the i-th edge of the shortest path determined by the LALAC algorithm, and the method for determining the weight of each edge in the network topology Similarly, specifically, for any one of the adjacent two nodes corresponding to the i-th edge of the shortest path determined by the LALAC algorithm, the product of the first attribute of the heavy side and the multiplier may be The sum of the second attributes of the heavy edges is determined as the weight of the heavy edge. Finally, the standard deviation of the weights of the heavy edges and the average weights of the heavy edges between the adjacent two nodes corresponding to the i-th edge can be determined, thereby determining the difference of the weights of the heavy edges between the adjacent two nodes corresponding to the i-th edge. coefficient.
举例来说,基于LARAC算法确定的最短路径的第i条边对应的相邻两节点之间包括4条重边,对应的第一属性和第二属性分别为:(2、2)、(1、6)、(2、1)、(5、1)。其中括号中的第一个参数为第一属性,第二个参数为第二属性。若乘子为3,则每条重边的权重依次分别为:8、9、7、16。该第i条边对应的相邻两节点之间重边权重的标准差和重边权重的平均值分部为:3.53、10,最终可以确定出该第i条边对应的相邻两节点之间重边权重的差异系数为0.353。For example, the adjacent two nodes corresponding to the i-th edge of the shortest path determined by the LALAC algorithm include four heavy edges, and the corresponding first attribute and second attribute are: (2, 2), (1 , 6), (2, 1), (5, 1). The first parameter in parentheses is the first attribute, and the second parameter is the second attribute. If the multiplier is 3, the weight of each heavy side is: 8, 9, 7, 16 respectively. The standard deviation of the weights of the heavy edges and the average weights of the heavy edge weights between the adjacent two nodes corresponding to the i-th edge are: 3.53, 10, and finally the adjacent two nodes corresponding to the i-th edge can be determined. The coefficient of variation between the weights of the heavy edges is 0.353.
步骤304:SDN控制器判断所述基于LARAC算法确定的最短路径的平均差异系数是否小于或等于预设差异系数,若是,则转至步骤305,否则转至步骤306;Step 304: The SDN controller determines whether the average difference coefficient of the shortest path determined by the LALAC algorithm is less than or equal to the preset difference coefficient, and if yes, proceeds to step 305, otherwise proceeds to step 306;
平均差异系数是反应每条重边的权重与重边权重的平均值之间的平均差异。平均差异系数越大,表明每条重边的权重与重边权重的平均值之间的差异程度越大;平均差异系数越小,表明每条重边的权重与重边权重的平均值之间的差异程度越小。The average difference coefficient is the average difference between the weight of each heavy edge and the average of the weight of the heavy edge. The larger the mean difference coefficient, the greater the difference between the weight of each heavy edge and the average of the heavy edge weights; the smaller the average difference coefficient, the difference between the weight of each heavy edge and the average of the heavy edge weights. The difference is less.
当平均差异系数超过预设差异系数时,可以认为每条重边的差异程度非常大,每条重边可以看成一条独立的边,因此节点之间存在多个重边的网络拓扑,实质上可以视为节点之间不存在多个重边的网络拓扑。预设差异系数具体的取值可以接近于将存在多个重边的网络拓扑实质上视为不存在多个重边的网络拓扑的临界值。When the average difference coefficient exceeds the preset difference coefficient, it can be considered that the degree of difference between each heavy side is very large, and each heavy side can be regarded as an independent side, so there are multiple heavy-edge network topologies between nodes, essentially It can be thought of as a network topology where there are no multiple heavy edges between nodes. The specific value of the preset difference coefficient may be close to a critical value of a network topology in which a plurality of heavy edges exist substantially as a network topology in which no multiple heavy edges exist.
本申请实施例中,预设差异系数具体如何确定,本申请实施例对此并不限定。预设差异系数可以通过结合预设节点密度以及预设差异系数来判断网络拓扑中的节点之间是否实质上存在多个重边。具体的,当网络拓扑的节点密度大于或等于预设节点密度时,若路径的平均差异系数小于或等于预设差异系数,则可以确定网络拓扑中的节点之间实质上存在多个重边,因此可以确定基于LARAC算法确定的最短路径不一定最优,需要对基于LARAC算法确定的最短路径进行优化。In the embodiment of the present application, the preset difference coefficient is specifically determined, which is not limited by the embodiment of the present application. The preset difference coefficient can determine whether there are substantially multiple heavy edges 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 path is less than or equal to the preset difference coefficient, it may be determined that there are substantially multiple heavy edges between the nodes in the network topology. Therefore, it can be determined that the shortest path determined based on the LALAC algorithm is not necessarily optimal, and the shortest path determined based on the LALAC algorithm needs to be optimized.
当网络拓扑的节点密度大于或等于预设节点密度时,若路径的平均差异系数大于预设差异系数,则可以将网络拓扑视为不存在多个重边的网络拓扑,因此可以确定基于LARAC算法确定的最短路径为最优的路径。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 path is greater than the preset difference coefficient, the network topology can be regarded as a network topology without multiple heavy edges, so the LARAC algorithm can be determined. The shortest path determined is the optimal path.
步骤305:根据步骤304的判断结果,确定当前的网络拓扑中的节点之间存在多个重边,因此通过LARAC算法确定出的基于LARAC算法确定的最短路径不是最优,需要对基于LARAC算法确定的最短路径进行优化。Step 305: According to the judgment result of step 304, it is determined that there are multiple heavy edges between the nodes in the current network topology, so the shortest path determined by the LALAC algorithm determined by the LALAC algorithm is not optimal, and needs to be determined based on the LALAC algorithm. The shortest path is optimized.
步骤306:根据基于LARAC算法确定的最短路径生成从源节点至宿节点的路由表。Step 306: Generate a routing table from the source node to the sink node according to the shortest path determined based on the LALAC algorithm.
通过上述过程,在确定所述节点密度小于或等于预设节点密度、且所述基于LARAC算法确定的最短路径的平均差异系数大于预设差异系数时,可以确定当前的网络拓扑中的节点之间不存在多个重边,因此基于LARAC算法确定的最短路径是最优的路径,从而可以直接根据基于LARAC算法确定的最短路径生成从源节点至宿节点的路由表,从而提高了确定源节点至宿节点之间最短路径的效率。相应的,当确定不满足预设条件时,可以确定当前的网络拓扑中的两个节点之间存在多个重边,因此基于LARAC算法确定的最短路径的优度并不高,不能满足实际应用,需要进行优化。Through the above process, when it is determined that the node density is less than or equal to a preset node density, and the average difference coefficient of the shortest path determined by the LALAC algorithm is greater than a preset difference coefficient, the nodes in the current network topology may be determined. There is no multiple heavy edges, so the shortest path determined based on the LALAC algorithm is the optimal path, so that the routing table from the source node to the sink node can be directly generated according to the shortest path determined by the LALAC algorithm, thereby improving the determination of the source node to The efficiency of the shortest path between sink nodes. Correspondingly, when it is determined that the preset condition is not met, it may be determined that there are multiple heavy edges between the two nodes in the current network topology, so the goodness of the shortest path determined by the LALAC algorithm is not high, and the actual application cannot be satisfied. Need to be optimized.
步骤202中,针对所述网络拓扑中的任意一条边,可以将该边的第一属性与所述乘子的乘积与该边的第二属性之和确定为该边的权重,即网络拓扑中的第i条边的权重满足公式(1)。In step 202, for any one of the network topologies, 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, in the network topology. The weight of the i-th edge satisfies the formula (1).
举例来说,如图4所示,为本申请实施例提供的一种网络拓扑示意图。图4中,网络拓扑包括节点A、B、C、D、E、F;网络拓扑包括的边对应的第一属性和第二属性分别为:(2、2)、(1、6)、(3、3)、(1、2)、(2、1)、(1、1)、(5、1)、(4、3)。其中括号中的第一个参数为第一属性,第二个参数为第二属性。若乘子为3,则每条边的权重依次分别为:8、9、12、5、7、4、16、15。For example, as shown in FIG. 4, it is a schematic diagram of a network topology provided by an embodiment of the present application. In FIG. 4, the network topology includes nodes A, B, C, D, E, and F; the first attribute and the second attribute corresponding to the edge included in the network topology are: (2, 2), (1, 6), ( 3, 3), (1, 2), (2, 1), (1, 1), (5, 1), (4, 3). The first parameter in parentheses is the first attribute, and the second parameter is the second attribute. If the multiplier is 3, the weights of each side are: 8, 9, 12, 5, 7, 4, 16, and 15, respectively.
随后,SDN控制器可以根据最短路径算法确定K条路径,最短路径算法可以为Dijkstra算法、Yen算法、Eppstein算法等,本申请实施例对此并不限定。Then, the SDN controller may determine the K paths according to the shortest path algorithm, and the shortest path algorithm may be a Dijkstra algorithm, a Yen algorithm, an Eppstein algorithm, etc., which is not limited by the embodiment of the present application.
步骤203中,SDN控制器可以将所述K条路径中路径的第一属性的和小于或等于预设阈值,且路径的第二属性的和最小的路径确定为第一路径,从而将所述第一路径作为所述网络拓扑中从源节点至宿节点的最短路径。即,不同于现有技术中将LARAC算法确定的最短路径作为源节点至宿节点的最短路径,本发明实施例中用满足所述条件的第一路径作为源节点至宿节点的最短路径,SDN控制器可以根据所述第一路径生成从源节点至宿节点的路由表,所述路由表用于路由所述源节点与所述宿节点之间的报文。In step 203, the SDN controller may determine that the sum of the first attributes of the paths in the K paths is less than or equal to a preset threshold, and the path with the smallest sum of the second attributes of the paths is determined as the first path, thereby The first path acts as the shortest path from the source node to the sink node in the network topology. That is, unlike the shortest path determined by the LARAC algorithm in the prior art as the shortest path from the source node to the sink node, in the embodiment of the present invention, the first path that satisfies the condition is used as the shortest path from the source node to the sink node, SDN. The 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 a message between the source node and the sink node.
其中,预设阈值为请求SDN控制器确定从源节点到宿节点的最短路径的用户设备,根据自身实际的网络需求设置的。例如,第一属性为时延,用户设备A需要一个时延较低的最短路径,用户设备A可以将预设阈值设置为一个较小的值,例如设置为1,此时用户设备A可以将设置的预设阈值通知SDN控制器,SDN控制器从而可以为用户设备A确定出一条时延小于或等于1的最短路径。当然预设阈值也可以为一个默认值,或SDN控制器根据网络的实际情况设置。The preset threshold is a user equipment that requests the SDN controller to determine the shortest path from the source node to the sink node, and is set according to its actual network requirement. For example, the first attribute is a delay, and the user equipment A needs a shortest path with a low delay. The user equipment A can set the preset threshold to a smaller value, for example, set to 1, and the user equipment A can The preset threshold is set to notify the SDN controller, and the SDN controller can thus determine the shortest path for the user equipment A that the delay is less than or equal to 1. Of course, the preset threshold can also be a default value, or the SDN controller can be set according to the actual situation of the network.
预设阈值的取值,可以对K条路径做进一步限制,实现通过路径的第一属性的和是否小于或等于预设阈值,对K条路径进行筛选,从而进一步根据路径的第二属性的和确定第一路径。预设阈值越大,从K条路径中筛选出的路径的第一属性的和就越大,从而确定出的第一路径的第一属性的和就越大;反之,预设阈值越小,从K条路径中筛选出的路径的 第一属性的和就越小,从而确定出的第一路径的第一属性的和就越小。The value of the preset threshold may further restrict the K paths, and whether the sum of the first attributes of the path is less than or equal to a preset threshold, and the K paths are filtered, thereby further according to the sum of the second attributes of the path. Determine the first path. The larger the preset threshold is, the larger the sum of the first attributes of the paths selected from the K paths is, so that the sum of the first attributes of the determined first path is larger; otherwise, the smaller the preset threshold is. The smaller the sum of the first attributes of the paths filtered from the K paths, the smaller the sum of the first attributes of the determined first paths.
需要说明的是,本申请实施例中,预设阈值可以根据实际情况确定,在此不再赘述。It should be noted that, in the embodiment of the present application, the preset threshold may be determined according to actual conditions, and details are not described herein again.
根据本申请实施例提供的方法,在确定网络拓扑中从源节点至宿节点的乘子之后,根据所述乘子确定所述网络拓扑中的每条边的权重,并根据每条边的权重确定K条路径的权重最小的路径。最后从所述K条路径中确定出第一路径。本申请实施例中,确定出的第一路径是在满足路径的第一属性的和小于或等于预设阈值的约束条件的基础上,考虑了路径的第二属性的和最小的约束条件,因此确定出的第一路径优于只根据路径的第一属性的和小于或等于预设阈值的约束条件确定出的路径,即确定出的第一路径的第二属性的和比基于LARAC算法确定的最短路径的第二属性的和更小,从而实现了获得较优的最短路径。According to the method provided by the embodiment of the present application, after determining the multiplier from the source node to the sink node in the network topology, determining the weight of each edge in the network topology according to the multiplier, and according to the weight of each edge Determine the path with the least weight of the K paths. Finally, the first path is determined from the K paths. In the embodiment of the present application, the determined first path is based on the constraint that the first attribute of the path is less than or equal to the preset threshold, and the minimum constraint of the second attribute of the path is considered, Determining the first path is better than the path determined according to the constraint of the first attribute of the path and less than or equal to the preset threshold, that is, the determined sum of the second attributes of the first path is determined according to the LARAC algorithm. The sum of the second attributes of the shortest path is smaller, thereby achieving a better shortest path.
下面通过一个具体的实施例描述前面的过程。The foregoing process is described below by a specific embodiment.
如图5所示,为本申请实施例提供的一种最短路径确定方法流程示意图。As shown in FIG. 5, it is a schematic flowchart of a method for determining a shortest path according to an embodiment of the present application.
图5所示的流程中,第一属性为时延,第二属性为代价。In the flow shown in Figure 5, the first attribute is a delay and the second attribute is a cost.
步骤501:SDN控制器获取到源节点、宿节点、时延约束条件等信息。其中,时延约束条件为:网络拓扑中源节点到宿节点的路径的时延的和小于或等于预设阈值。Step 501: The SDN controller acquires information such as a source node, a sink node, and a delay constraint. The delay constraint condition is that the sum of the delays of the path from the source node to the sink node in the network topology is less than or equal to a preset threshold.
步骤502:SDN控制器根据LARAC算法从网络拓扑中从源节点至宿节点的所有路径中确定满足时延约束条件的路径,即基于LARAC算法确定的最短路径,并确定基于LARAC算法确定的最短路径所对应的乘子。Step 502: The SDN controller determines, according to the LALAC algorithm, a path that satisfies the delay constraint condition from all paths of the source node to the sink node in the network topology, that is, the shortest path determined based on the LALAC algorithm, and determines the shortest path determined by the LALAC algorithm. The corresponding multiplier.
LARAC算法的具体迭代过程,可以参考前面的描述,在此不再赘述。For a specific iterative process of the LARAC algorithm, reference may be made to the foregoing description, and details are not described herein again.
步骤503:SDN控制器确定所述网络拓扑的节点密度和所述第二路径的平均差异系数。Step 503: The SDN controller determines a node density of the network topology and an average difference coefficient of the second path.
步骤504:SDN控制器判断所述节点密度是否大于或等于预设节点密度、且所述第二路径的平均差异系数是否小于或等于预设差异系数,若是,则转至步骤505,否则,将基于LARAC算法确定的最短路径确定为所述网络拓扑中从源节点至宿节点的最短路径,并转至步骤508。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 yes, go to step 505, otherwise, The shortest path determined based on the LALAC algorithm is determined to be the shortest path from the source node to the sink node in the network topology, and proceeds to step 508.
步骤505:SDN控制器根据所述乘子确定所述网络拓扑中的每条边的权重,并根据每条边的权重确定K条路径。Step 505: The SDN controller determines a weight of each edge in the network topology according to the multiplier, and determines K paths according to the weight of each edge.
步骤506:SDN控制器将所述K条路径中路径的时延的和小于或等于预设阈值,且路径的代价的和最小的路径确定第一路径,并将所述第一路径确定为所述网络拓扑中从源节点至宿节点的最短路径。Step 506: The SDN controller determines a first path by using a sum of delays of the paths in the K paths that are less than or equal to a preset threshold, and a minimum of the cost of the path, and determines the first path as the The shortest path from the source node to the sink node in the network topology.
步骤507:SDN控制器根据所述第一路径生成从源节点至宿节点的路由表。Step 507: The SDN controller generates a routing table from the source node to the sink node according to the first path.
步骤508:SDN控制器根据基于LARAC算法确定的最短路径生成从源节点至宿节点的路由表。Step 508: The SDN controller generates a routing table from the source node to the sink node according to the shortest path determined based on the LALAC algorithm.
基于相同的技术构思,本申请实施例还提供一种控制器。Based on the same technical concept, the embodiment of the present application further provides a controller.
如图6所示,本申请实施例提供一种控制器结构示意图。该控制器可以执行图2所示的流程。As shown in FIG. 6, the embodiment of the present application provides a schematic structural diagram of a controller. The controller can execute the flow shown in FIG. 2.
参见图6,该控制器600包括:接收模块601、处理模块602、存储模块603。Referring to FIG. 6, the controller 600 includes a receiving module 601, a processing module 602, and a storage module 603.
接收模块601,用于接收源节点信息以及宿节点信息;所述源节点信息指示出源节点,所述宿节点信息指示出宿节点;The receiving module 601 is configured to receive source node information and sink node information; the source node information indicates a source node, and the sink node information indicates a sink node;
存储模块603,用于所述存储网络拓扑信息,所述网络拓扑信息包括网络拓扑结构以及所述网络拓扑结构中每条边的第一属性和第二属性,所述第一属性为所述网络拓扑中边 所对应的链路的一种属性,第二属性为所述网络拓扑中边所对应的链路的与第一属性不同的另一种属性;The storage module 603 is configured to use the storage network topology information, where the network topology information includes a network topology and a first attribute and a second attribute of each edge in the network topology, where the first attribute is the network An attribute of the link corresponding to the edge in the topology, where the second attribute is another attribute of the link corresponding to the edge in the network topology that is different from the first attribute;
处理模块602,用于确定网络拓扑中从源节点至宿节点的基于拉格朗日松弛LARAC算法确定的最短路径对应的乘子;根据所述乘子确定所述网络拓扑中的每条边的权重,并根据每条边的权重确定K条路径,所述K条路径为所述网络拓扑中从所述源节点至所述宿节点的路径中路径的权重从小到大的K条路径,K为大于1的正整数;所述路径的权重为该路径中所有边的权重的和;将所述K条路径中路径的第一属性的和小于或等于预设阈值,且路径的第二属性的和最小的路径确定为第一路径,所述第一路径为所述网络拓扑中从源节点至宿节点的最短路径,其中,路径的第一属性的和为该路径中所有边的第一属性的和,路径的第二属性的和为该路径中所有边的第二属性的和。The processing module 602 is configured to determine a multiplier corresponding to the shortest path determined by the Lagrangian relaxed LALAC algorithm from the source node to the sink node in the network topology; and determine, according to the multiplier, each side of the network topology Weighting, and determining K paths according to the weight of each edge, the K paths being K paths with small to large weights of paths in the path from the source node to the sink node in the network topology, K a positive integer greater than 1; the weight of the path is the sum of the weights of all edges in the path; the sum of the first attributes of the paths in the K paths is less than or equal to a preset threshold, and the second attribute of the path And a minimum path determined as a first path, the first path being a shortest path from the source node to the sink node in the network topology, wherein a sum of the first attributes of the path is the first of all sides in the path The sum of the attributes, the sum of the second attributes of the path, and the sum of the second attributes of all edges in the path.
应理解,以上各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。It should be understood that the division of each module above is only a division of logic functions, and the actual implementation may be integrated into one physical entity in whole or in part, or may be physically separated.
上述接收模块601、处理模块602以及存储模块603还可以执行其他内容,具体可以参考步骤201至步骤203中的描述,在此不再赘述。The receiving module 601, the processing module 602, and the storage module 603 can also perform other content. For details, refer to the descriptions in steps 201 to 203, and details are not described herein.
基于相同的技术构思,本申请实施例还提供一种控制器。Based on the same technical concept, the embodiment of the present application further provides a controller.
如图7所示,本申请实施例提供一种控制器结构示意图。该控制器可以执行图2所示的流程。As shown in FIG. 7, the embodiment of the present application provides a schematic structural diagram of a controller. The controller can execute the flow shown in FIG. 2.
参见图7,该控制器700包括:处理器701、存储器702、输入/输出接口703。Referring to FIG. 7, the controller 700 includes a processor 701, a memory 702, and an input/output interface 703.
处理器701可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。The processor 701 can be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or the like. Programming logic devices, discrete gates or transistor logic devices, discrete hardware components.
存储器702可包括只读存储器和随机存取存储器,并可向处理器701提供指令和数据。存储器702的一部分还可以包括非易失性随机存取存储器(Non-Volatile Random Access Memory,NVRAM)。 Memory 702 can include read only memory and random access memory and can provide instructions and data to processor 701. A portion of the memory 702 may also include a Non-Volatile Random Access Memory (NVRAM).
控制器700的各个组件通过总线系统704耦合在一起,其中总线系统704除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统704。The various components of controller 700 are coupled together by a bus system 704, which may include, in addition to the data bus, a power bus, a control bus, a status signal bus, and the like. However, for clarity of description, various buses are labeled as bus system 704 in the figure.
输入/输出接口703,用于接收源节点信息以及宿节点信息;所述源节点信息指示出源节点,所述宿节点信息指示出宿节点;An input/output interface 703, configured to receive source node information and sink node information; the source node information indicates a source node, and the sink node information indicates a sink node;
存储器702,用于所述存储网络拓扑信息,所述网络拓扑信息包括网络拓扑结构以及所述网络拓扑结构中每条边的第一属性和第二属性,所述第一属性为所述网络拓扑中边所对应的链路的一种属性,第二属性为所述网络拓扑中边所对应的链路的与第一属性不同的另一种属性;a memory 702, configured to: store the network topology information, where the network topology information includes a network topology and a first attribute and a second attribute of each edge in the network topology, where the first attribute is the network topology An attribute of the link corresponding to the middle side, where the second attribute is another attribute of the link corresponding to the edge in the network topology that is different from the first attribute;
处理器701,用于确定网络拓扑中从源节点至宿节点的基于拉格朗日松弛LARAC算法确定的最短路径对应的乘子;根据所述乘子确定所述网络拓扑中的每条边的权重,并根据每条边的权重确定K条路径,所述K条路径为所述网络拓扑中从所述源节点至所述宿节点的路径中路径的权重从小到大的K条路径,K为大于1的正整数;所述路径的权重为该路径中所有边的权重的和;将所述K条路径中路径的第一属性的和小于或等于预设阈值,且路径的第二属性的和最小的路径确定为第一路径,所述第一路径为所述网络拓扑中从源 节点至宿节点的最短路径,其中,路径的第一属性的和为该路径中所有边的第一属性的和,路径的第二属性的和为该路径中所有边的第二属性的和。The processor 701 is configured to determine a multiplier corresponding to the shortest path determined by the Lagrangian relaxed LALAC algorithm from the source node to the sink node in the network topology, and determine, according to the multiplier, each side of the network topology Weighting, and determining K paths according to the weight of each edge, the K paths being K paths with small to large weights of paths in the path from the source node to the sink node in the network topology, K a positive integer greater than 1; the weight of the path is the sum of the weights of all edges in the path; the sum of the first attributes of the paths in the K paths is less than or equal to a preset threshold, and the second attribute of the path And a minimum path determined as a first path, the first path being a shortest path from the source node to the sink node in the network topology, wherein a sum of the first attributes of the path is the first of all sides in the path The sum of the attributes, the sum of the second attributes of the path, and the sum of the second attributes of all edges in the path.
在一些实施例中,所述处理器701还用于:In some embodiments, the processor 701 is further configured to:
确定满足以下预设条件:Make sure the following preset conditions are met:
所述网络拓扑的节点密度大于或等于预设节点密度,且所述基于所述LARAC算法确定的最短路径的平均差异系数小于或等于预设差异系数。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 path determined based on the LALAC 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|Av(D)=|E|×2/|V|
其中,av(D)为所述网络拓扑的所述节点密度,E为所述网络拓扑所包括的边数,V为所述网络拓扑所包括的节点数。Where 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 of the second path satisfies the following formula:
Figure PCTCN2018095702-appb-000011
Figure PCTCN2018095702-appb-000011
其中,av(CV)为所述第二路径的平均差异系数,
Figure PCTCN2018095702-appb-000012
CV i为所述第二路径的第i条边对应的相邻两节点之间重边权重的差异系数,S i为所述第二路径中第i条边对应的相邻两节点之间重边权重的标准差,
Figure PCTCN2018095702-appb-000013
为所述第二路径的第i条边对应的相邻两节点之间重边权重的平均值,n为大于或等于1的正整数,n为所述第二路径包括的边数。
Where av(CV) is the average difference coefficient of the second path,
Figure PCTCN2018095702-appb-000012
CV i is a difference coefficient of the weight of the heavy edge between the adjacent two nodes corresponding to the i-th edge of the second path, and S i is the weight between the adjacent two nodes corresponding to the i-th edge in the second path The standard deviation of the edge weights,
Figure PCTCN2018095702-appb-000013
An average value of the weights of the heavy edges between the adjacent two nodes corresponding to the i-th edge of the second path, where n is a positive integer greater than or equal to 1, and n is the number of edges included in the second path.
在一些实施例中,所述处理器701具体用于:In some embodiments, the processor 701 is specifically configured to:
针对所述网络拓扑中的任意一条边,将该边的所述第一属性与所述乘子的乘积与该边的所述第二属性之和确定为该边的权重。For any one of the network topologies, the sum of the product of the first attribute of the edge and the multiplier and the second attribute of the edge is determined as the weight of the edge.
在一些实施例中,所述处理器701还用于:In some embodiments, the processor 701 is further configured to:
根据所述第一路径生成从源节点至宿节点的路由表。Generating a routing table from the source node to the sink node according to the first path.
在一些实施例中,所述存储器702还用于存储路由表;In some embodiments, the memory 702 is further configured to store a routing table;
所述处理器701还用于指示所述存储器702更新所述路由表,所述路由表用于路由所述源节点与所述宿节点之间的报文。The processor 701 is further configured to instruct the memory 702 to update the routing table, where the routing table is used to route a message between the source node and the sink node.
在一些实施例中,所述第一属性为代价、时延、时延抖动和丢包率中的任意一个;In some embodiments, the first attribute is any one of a cost, a delay, a delay jitter, and a packet loss rate;
所述第二属性为代价、时延、时延抖动和丢包率中的任意一个。The second attribute is any one of a cost, a delay, a delay jitter, and a packet loss rate.
本申请实施例还提供了一种计算机可读存储介质,用于存储为执行上述处理器所需执行的计算机软件指令,其包含用于执行上述处理器所需执行的程序。The embodiment of the present application further provides a computer readable storage medium for storing computer software instructions required to execute the foregoing processor, which includes a program for executing the above-mentioned processor.
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art will appreciate that embodiments of the present application can be provided as a method, system, or computer program product. Thus, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment in combination of software and hardware. Moreover, the application can 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, etc.) including computer usable program code.
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/ 或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present application is described with reference to flowchart illustrations and/or block diagrams of the method, apparatus (system), and computer program product according to the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing device to produce a machine for the execution of instructions for execution by a processor of a computer or other programmable data processing device. Means for implementing the functions specified in one or more of the flow or in a block or blocks of the flow chart.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。The computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device. The apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device. The instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.
以上仅为本申请的部分实施例,本申请保护范围不限于此。The above is only a part of the embodiments of the present application, and the scope of protection of the present application is not limited thereto.

Claims (17)

  1. 一种最短路径确定方法,其特征在于,该方法包括:A shortest path determining method, the method comprising:
    确定网络拓扑中从源节点至宿节点的基于拉格朗日松弛LARAC算法确定的最短路径对应的乘子;Determining a multiplier corresponding to the shortest path determined by the Lagrangian relaxed LARAC algorithm from the source node to the sink node in the network topology;
    根据所述乘子确定所述网络拓扑中的每条边的权重,并根据每条边的权重确定K条路径,所述K条路径为所述网络拓扑中从所述源节点至所述宿节点的路径中路径的权重从小到大的K条路径,K为大于1的正整数;所述路径的权重为该路径中所有边的权重的和;Determining, according to the multiplier, a weight of each edge in the network topology, and determining K paths according to weights of each edge, where the K paths are from the source node to the sink in the network topology The path of the node in the path is weighted from small to large K paths, 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;
    将所述K条路径中路径的第一属性的和小于或等于预设阈值,且路径的第二属性的和最小的路径确定为第一路径,所述第一路径为所述网络拓扑中从所述源节点至所述宿节点的最短路径,其中,所述第一属性为所述网络拓扑中边所对应的链路的一种属性,所述第二属性为所述网络拓扑中边所对应的链路的与第一属性不同的另一种属性;路径的第一属性的和为该路径中所有边的第一属性的和,路径的第二属性的和为该路径中所有边的第二属性的和。Determining, as the first path, a path in which the sum of the first attributes of the paths in the K paths is less than or equal to a preset threshold, and the sum of the second attributes of the paths is the first path a shortest path from the source node to the sink node, where the first attribute is an attribute of a link corresponding to an edge in the network topology, and the second attribute is an edge of the network topology Another attribute of the corresponding link that is different from the first attribute; the sum of the first attribute 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 all sides of the path The sum of the second attribute.
  2. 根据权利要求1所述的方法,其特征在于,根据所述乘子确定所述网络拓扑中的每条边的权重之前,还包括:The method according to claim 1, wherein before determining the weight of each edge in the network topology according to the multiplier, the method further comprises:
    确定满足以下预设条件:Make sure the following preset conditions are met:
    所述网络拓扑的节点密度大于或等于预设节点密度,且所述基于所述LARAC算法确定的最短路径的平均差异系数小于或等于预设差异系数。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 path determined based on the LALAC algorithm is less than or equal to a preset difference coefficient.
  3. 根据权利要求2所述的方法,其特征在于,所述网络拓扑的所述节点密度满足以下公式:The method of claim 2 wherein said node density of said network topology satisfies the following formula:
    av(D)=|E|×2/|V|Av(D)=|E|×2/|V|
    其中,av(D)为所述网络拓扑的所述节点密度,E为所述网络拓扑所包括的边数,V为所述网络拓扑所包括的节点数。Where 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. 根据权利要求2或3所述的方法,其特征在于,所述基于所述LARAC算法确定的最短路径的平均差异系数满足以下公式:The method according to claim 2 or 3, wherein the average difference coefficient of the shortest path determined based on the LALAC algorithm satisfies the following formula:
    Figure PCTCN2018095702-appb-100001
    Figure PCTCN2018095702-appb-100001
    其中,av(CV)为所述基于所述LARAC算法确定的最短路径的平均差异系数,
    Figure PCTCN2018095702-appb-100002
    CV i为所述基于所述LARAC算法确定的最短路径的第i条边对应的相邻两节点之间重边权重的差异系数,S i为所述基于所述LARAC算法确定的最短路径中第i条边对应的相邻两节点之间重边权重的标准差,
    Figure PCTCN2018095702-appb-100003
    为所述基于所述LARAC算法确定的最短路径的第i条边对应的相邻两节点之间重边权重的平均值,n为大于或等于1的正整数,n为所述基于所述LARAC算法确定的最短路径包括的边数。
    Where av(CV) is the average difference coefficient of the shortest path determined by the LALAC algorithm,
    Figure PCTCN2018095702-appb-100002
    The CV i is a difference coefficient of the weight of the heavy edge between the adjacent two nodes corresponding to the i-th edge of the shortest path determined by the LALAC algorithm, where S i is the shortest path determined by the LARAC algorithm The standard deviation of the weight of the heavy edge between the adjacent two nodes corresponding to the i-edge,
    Figure PCTCN2018095702-appb-100003
    An average value of the weights of the heavy edges between the adjacent two nodes corresponding to the i-th edge of the shortest path determined by the LALAC algorithm, n is a positive integer greater than or equal to 1, and n is the based on the LARAC The shortest path determined by the algorithm includes the number of edges.
  5. 根据权利要求1至4任一所述的方法,其特征在于,根据所述乘子确定所述网络拓扑中的每条边的权重,包括:The method according to any one of claims 1 to 4, wherein determining the weight of each edge in the network topology according to the multiplier comprises:
    针对所述网络拓扑中的任意一条边,将该边的所述第一属性与所述乘子的乘积与该边 的所述第二属性之和确定为该边的权重。For any one of the network topologies, the sum of the product of the first attribute of the edge and the multiplier and the second attribute of the edge is determined as the weight of the edge.
  6. 根据权利要求1至5任一所述的方法,其特征在于,还包括:The method according to any one of claims 1 to 5, further comprising:
    根据所述第一路径生成从所述源节点至所述宿节点的路由表。Generating a routing table from the source node to the sink node according to the first path.
  7. 根据权利要求1至6任一所述的方法,其特征在于,所述第一属性为代价、时延、时延抖动和丢包率中的任意一个;The method according to any one of claims 1 to 6, wherein the first attribute is any one of a cost, a delay, a delay jitter, and a packet loss rate;
    所述第二属性为代价、时延、时延抖动和丢包率中的任意一个且与所述第一属性不同。The second attribute is any one of a cost, a delay, a delay jitter, and a packet loss rate and is different from the first attribute.
  8. 一种控制器,其特征在于,包括:A controller, comprising:
    接收模块,用于接收源节点信息以及宿节点信息;所述源节点信息指示出源节点,所述宿节点信息指示出宿节点;a receiving module, configured to receive source node information and sink node information; the source node information indicates a source node, and the sink node information indicates a sink node;
    存储模块,用于所述存储网络拓扑信息,所述网络拓扑信息包括网络拓扑结构以及所述网络拓扑结构中每条边的第一属性和第二属性,所述第一属性为所述网络拓扑中边所对应的链路的一种属性,所述第二属性为所述网络拓扑中边所对应的链路的与第一属性不同的另一种属性;a storage module, configured to use the storage network topology information, where the network topology information includes a network topology and a first attribute and a second attribute of each edge in the network topology, where the first attribute is the network topology An attribute of the link corresponding to the middle side, where the second attribute is another attribute of the link corresponding to the edge in the network topology that is different from the first attribute;
    处理模块,用于确定网络拓扑中从源节点至宿节点的基于拉格朗日松弛LARAC算法确定的最短路径对应的乘子;根据所述乘子确定所述网络拓扑中的每条边的权重,并根据每条边的权重确定K条路径,所述K条路径为所述网络拓扑中从所述源节点至所述宿节点的路径中路径的权重从小到大的K条路径,K为大于1的正整数;所述路径的权重为该路径中所有边的权重的和;将所述K条路径中路径的第一属性的和小于或等于预设阈值,且路径的第二属性的和最小的路径确定为第一路径,所述第一路径为所述网络拓扑中从源节点至宿节点的最短路径,其中,路径的第一属性的和为该路径中所有边的第一属性的和,路径的第二属性的和为该路径中所有边的第二属性的和。a processing module, configured to determine a multiplier corresponding to a shortest path determined by a Lagrangian relaxed LALAC algorithm from a source node to a sink node in a network topology; determining, according to the multiplier, a weight of each edge in the network topology And determining K paths according to the weight of each edge, where the K paths are K paths whose weights in the path from the source node to the sink node in the network topology are small to large, K is a positive integer greater than 1; a weight of the path is a sum of weights of all edges in the path; a sum of first attributes of the paths in the K paths is less than or equal to a preset threshold, and a second attribute of the path And the smallest path is determined as a first path, the first path being a shortest path from the source node to the sink node in the network topology, wherein a sum of the first attributes of the path is a first attribute of all edges in the path And the sum of the second attribute of the path and the sum of the second attributes of all edges in the path.
  9. 根据权利要求8所述的控制器,其特征在于,所述处理模块还用于:The controller according to claim 8, wherein the processing module is further configured to:
    确定满足以下预设条件:Make sure the following preset conditions are met:
    所述网络拓扑的节点密度大于或等于预设节点密度,且所述基于所述LARAC算法确定的最短路径的平均差异系数小于或等于预设差异系数。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 path determined based on the LALAC algorithm is less than or equal to a preset difference coefficient.
  10. 根据权利要求9所述的控制器,其特征在于,所述网络拓扑的所述节点密度满足以下公式:The controller of claim 9 wherein said node density of said network topology satisfies the following formula:
    av(D)=|E|×2/|V|Av(D)=|E|×2/|V|
    其中,av(D)为所述网络拓扑的所述节点密度,E为所述网络拓扑所包括的边数,V为所述网络拓扑所包括的节点数。Where 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. 根据权利要求9所述的控制器,其特征在于,所述第二路径的平均差异系数满足以下公式:The controller according to claim 9, wherein the average difference coefficient of said second path satisfies the following formula:
    Figure PCTCN2018095702-appb-100004
    Figure PCTCN2018095702-appb-100004
    其中,av(CV)为所述第二路径的平均差异系数,
    Figure PCTCN2018095702-appb-100005
    CV i为所述第二路径的第i条边对应的相邻两节点之间重边权重的差异系数,S i为所述第二路径中第i条边对应的相邻两节点之间重边权重的标准差,
    Figure PCTCN2018095702-appb-100006
    为所述第二路径的第i条边对应的相邻两节点之间重 边权重的平均值,n为大于或等于1的正整数,n为所述第二路径包括的边数。
    Where av(CV) is the average difference coefficient of the second path,
    Figure PCTCN2018095702-appb-100005
    CV i is a difference coefficient of the weight of the heavy edge between the adjacent two nodes corresponding to the i-th edge of the second path, and S i is the weight between the adjacent two nodes corresponding to the i-th edge in the second path The standard deviation of the edge weights,
    Figure PCTCN2018095702-appb-100006
    An average value of the weights of the heavy edges between the adjacent two nodes corresponding to the i-th edge of the second path, where n is a positive integer greater than or equal to 1, and n is the number of edges included in the second path.
  12. 根据权利要求8至11任一所述的控制器,其特征在于,所述处理模块具体用于:The controller according to any one of claims 8 to 11, wherein the processing module is specifically configured to:
    针对所述网络拓扑中的任意一条边,将该边的所述第一属性与所述乘子的乘积与该边的所述第二属性之和确定为该边的权重。For any one of the network topologies, the sum of the product of the first attribute of the edge and the multiplier and the second attribute of the edge is determined as the weight of the edge.
  13. 根据权利要求8至12任一所述的控制器,其特征在于,所述处理模块还用于:The controller according to any one of claims 8 to 12, wherein the processing module is further configured to:
    根据所述第一路径生成从源节点至宿节点的路由表。Generating a routing table from the source node to the sink node according to the first path.
  14. 根据权利要求13所述的控制器,其特征在于,所述存储模块还用于存储路由表;The controller according to 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 to route a message between the source node and the sink node.
  15. 根据权利要求8至14任一所述的控制器,其特征在于,所述第一属性为代价、时延、时延抖动和丢包率中的任意一个;The controller according to any one of claims 8 to 14, wherein the first attribute is any one of a cost, a delay, a delay jitter, and a packet loss rate;
    所述第二属性为代价、时延、时延抖动和丢包率中的任意一个。The second attribute is any one of a cost, a delay, a delay jitter, and a packet loss rate.
  16. 一种计算机可读存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1-7任意一项所述的方法。A computer readable storage medium comprising computer readable instructions which, when read and executed by a computer, cause a computer to perform the method of any of claims 1-7.
  17. 一种计算机程序产品,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令,使得计算机执行如权利要求1-7任意一项所述的方法。A computer program product comprising computer readable instructions which, when read and executed by a computer, cause a computer to perform the method of any of claims 1-7.
PCT/CN2018/095702 2017-07-13 2018-07-13 Method for determining shortest path and controller WO2019011338A1 (en)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2019011338A1 true WO2019011338A1 (en) 2019-01-17

Family

ID=65001535

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/095702 WO2019011338A1 (en) 2017-07-13 2018-07-13 Method for determining shortest path and controller

Country Status (2)

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

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111917645A (en) * 2020-08-20 2020-11-10 深圳多拉多通信技术有限公司 SDN-based path optimization method and system for mobile network
CN112231142A (en) * 2020-09-22 2021-01-15 南方电网调峰调频发电有限公司信息通信分公司 System backup recovery method and device, computer equipment and storage medium
CN112769696A (en) * 2019-11-06 2021-05-07 中兴通讯股份有限公司 Routing method, network controller, system and storage medium
CN113347083A (en) * 2021-05-31 2021-09-03 北京字跳网络技术有限公司 Network path determination and switching method, device, equipment, medium and program product
CN113923099A (en) * 2021-09-03 2022-01-11 华为技术有限公司 Root cause positioning method for communication network fault and related equipment
CN113965474A (en) * 2020-06-29 2022-01-21 中兴通讯股份有限公司 Network quality evaluation method, electronic device and storage medium
CN113965973A (en) * 2021-10-21 2022-01-21 中国电力科学研究院有限公司 Heterogeneous network wireless communication technology selection method, system, device and storage medium
CN114640622A (en) * 2022-03-22 2022-06-17 中国电信股份有限公司 Method and device for determining data transmission path and software defined network controller
CN115766882A (en) * 2022-10-19 2023-03-07 北京奇艺世纪科技有限公司 Distributed source data returning method and device, storage medium and electronic equipment
CN115827185A (en) * 2022-10-31 2023-03-21 中电信数智科技有限公司 6G aerial base station and Beidou aerial obstacle avoidance combined method, storage medium and equipment
CN115865783A (en) * 2022-11-22 2023-03-28 中国联合网络通信集团有限公司 Method and device for determining target node and computer readable storage medium
CN116016199A (en) * 2023-02-21 2023-04-25 山东海量信息技术研究院 Information control method, system, electronic equipment and readable storage medium
CN116886591A (en) * 2023-09-06 2023-10-13 芯来智融半导体科技(上海)有限公司 Topology structure and routing method of network on chip

Families Citing this family (6)

* 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
CN111245720B (en) * 2020-01-03 2021-10-26 烽火通信科技股份有限公司 Path calculation method and system
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
CN115529246A (en) * 2021-06-25 2022-12-27 华为技术有限公司 Determination method, device, equipment and system of topological structure

Citations (3)

* 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
CN101753425A (en) * 2008-12-01 2010-06-23 北京航空航天大学 Heuristic method for working out a plurality of shortest simple routes in network under multiple constraints
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 (3)

* 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
CN101753425A (en) * 2008-12-01 2010-06-23 北京航空航天大学 Heuristic method for working out a plurality of shortest simple routes in network under multiple constraints
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 (2)

* Cited by examiner, † Cited by third party
Title
EGILMEZ, H.E. ET AL.: "A Distributed QoS Routing Architecture for Scalable Video Streaming over Multi-Domain Openflow Networks", 2012 19TH IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, 15 March 2017 (2017-03-15), XP055567403 *
GONG, WENJUAN: "A Service- Oriented Load Balancing Mechanism for Software-Defined Networking", CHINA MASTER'S THESES FULL-TEXT DATABASE, 15 March 2017 (2017-03-15), pages 45 - 50, XP010852183 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112769696A (en) * 2019-11-06 2021-05-07 中兴通讯股份有限公司 Routing method, network controller, system and storage medium
CN112769696B (en) * 2019-11-06 2023-09-26 中兴通讯股份有限公司 Routing method, network controller, system and storage medium
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
CN112231142A (en) * 2020-09-22 2021-01-15 南方电网调峰调频发电有限公司信息通信分公司 System backup recovery method and device, computer equipment and storage medium
CN112231142B (en) * 2020-09-22 2024-04-05 南方电网调峰调频发电有限公司信息通信分公司 System backup recovery method, device, computer equipment and storage medium
CN113347083A (en) * 2021-05-31 2021-09-03 北京字跳网络技术有限公司 Network path determination and switching method, device, equipment, medium and program product
CN113347083B (en) * 2021-05-31 2022-09-23 北京字跳网络技术有限公司 Network path determination and switching method, device, equipment, medium and program product
CN113923099A (en) * 2021-09-03 2022-01-11 华为技术有限公司 Root cause positioning method for communication network fault and related equipment
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
CN114640622A (en) * 2022-03-22 2022-06-17 中国电信股份有限公司 Method and device for determining data transmission path and software defined network controller
CN115766882A (en) * 2022-10-19 2023-03-07 北京奇艺世纪科技有限公司 Distributed source data returning method and device, storage medium and electronic equipment
CN115827185A (en) * 2022-10-31 2023-03-21 中电信数智科技有限公司 6G aerial base station and Beidou aerial obstacle avoidance combined method, storage medium and 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
CN115865783A (en) * 2022-11-22 2023-03-28 中国联合网络通信集团有限公司 Method and device for determining target node and computer readable storage medium
CN115865783B (en) * 2022-11-22 2024-04-09 中国联合网络通信集团有限公司 Method and device for determining target node and computer readable storage medium
CN116016199A (en) * 2023-02-21 2023-04-25 山东海量信息技术研究院 Information control method, system, electronic equipment and readable storage medium
CN116016199B (en) * 2023-02-21 2023-06-09 山东海量信息技术研究院 Information control method, system, electronic equipment and readable storage medium
CN116886591A (en) * 2023-09-06 2023-10-13 芯来智融半导体科技(上海)有限公司 Topology structure and routing method of network on chip
CN116886591B (en) * 2023-09-06 2023-12-15 芯来智融半导体科技(上海)有限公司 Computer network system and routing method

Also Published As

Publication number Publication date
CN109257287B (en) 2020-08-25
CN109257287A (en) 2019-01-22

Similar Documents

Publication Publication Date Title
WO2019011338A1 (en) Method for determining shortest path and controller
Chen et al. RL-routing: An SDN routing algorithm based on deep reinforcement learning
WO2020119648A1 (en) Computing task unloading algorithm based on cost optimization
EP2615802B1 (en) Communication apparatus and method of content router to control traffic transmission rate in content-centric network (CCN), and content router
CN112346854B (en) In-network resource scheduling method and system for hierarchical collaborative decision and storage medium
WO2017070970A1 (en) Route determining method and corresponding apparatus and system
Wang et al. Wireless network capacity versus Ollivier-Ricci curvature under Heat-Diffusion (HD) protocol
Lin et al. Three-tier capacity and traffic allocation for core, edges, and devices for mobile edge computing
US9401868B2 (en) Method of traffic engineering for provisioning routing and storage in content-oriented networks
JP5943431B2 (en) Network, data transfer node, communication method and program
US11095553B2 (en) Method, apparatus and system for controlling routing information advertising
CN108476175B (en) Transfer SDN traffic engineering method and system using dual variables
US9565102B2 (en) Method and apparatus for determining energy efficient route
CN103312606A (en) Wireless Mesh network routing based on multi-path concurrence and method thereof
US10764161B2 (en) Method for traffic engineering in communications network and controller
Huang et al. Admission control with flow aggregation for QoS provisioning in software-defined network
WO2018137361A1 (en) Method and device for forwarding data
Yu et al. A multipath routing protocol using congestion control in wireless multimedia sensor networks
CN106105282B (en) The system and method for carrying out traffic engineering using link buffer zone state
CN108366015B (en) Route calculation method for software defined network
US9722913B2 (en) System and method for delay management for traffic engineering
Wang et al. NWBBMP: a novel weight-based buffer management policy for DTN routing protocols
Chiang et al. Jointly optimal congestion control and power control in wireless multihop networks
WO2015170474A1 (en) Packet transport apparatus, packet transport system and packet transport method
WO2022166348A1 (en) Routing method, routing apparatus, controller and computer-readable storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18831309

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18831309

Country of ref document: EP

Kind code of ref document: A1