SPOTN network tunnel rerouting method

By improving the re-routing method in the SPOTN network, using the Dijkstra algorithm and fullSuper to determine the optimal path, the traditional SDN re-routing method has solved the stability and reliability of the stability and reliability of the traditional SDN re-routing method, and improved the network's damage resistance and the recovery speed of user services.

CN119697531APending Publication Date: 2025-03-25THE 34TH RES INST OF CHINA ELECTRONICS TECH CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411811945.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-10
Publication Date
2025-03-25

AI Technical Summary

Technical Problem

The traditional SDN re-routing method has poor stability in scenarios such as strict network stability requirements and deep fusion of multiple communication links, which is difficult to meet the user's usage requirements.

Method used

Provide a SPOTN network tunnel re-routing method. By initializing the data structure, deleting nodes and links that need to be filtered, clearing the relevant paths in the alternative path set, using the Dijkstra algorithm to calculate the shortest path, and judging the authenticity of the fullSuper of the path, and calculating the complete or partial deviation path to obtain the optimal path.

Benefits of technology

It improves the reliability and damage resistance of the SPOTN network, reduces the probability of user service interruption, and can quickly recover in extreme network failures, meeting users' strict requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119697531A_ABST
    Figure CN119697531A_ABST
Patent Text Reader

Abstract

The invention relates to the field of software defined packet enhanced optical transport networks, in particular to an SPOTN network tunnel rerouting method, which comprises the following steps of: optimizing a traditional ksp algorithm by utilizing informed search; firstly, a topological graph is processed by utilizing informed information, and then separation paths of different degrees are sequentially calculated based on the updated topological graph. The method has the advantages that the similarity of planned tunnel paths is small, the tunnel rerouting method is stable and reliable when a network fault occurs, the risk of user service interruption is reduced, it is guaranteed that high-priority services are transmitted preferentially, the stability and reliability of a communication system are guaranteed, and the network communication quality and experience of users are improved. Therefore, the problem that a traditional SDN rerouting method is poor in stability is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the field of software defined packet enhanced optical transport network, and in particular to a SPOTN network tunnel rerouting method. Background Art

[0002] Packet transport network (PTN) is currently widely deployed. Its advantages such as separation of forwarding and control, centralized management, and control architecture make it have great evolutionary advantages. The packet-enhanced optical transport network based on optical transport network (OTN) fully absorbs the characteristics of high bandwidth, low latency, and high transmission efficiency. Software defined network (SDN) is an inevitable trend in the current network development. Combining SDN and POTN can fully meet the needs of convenient service activation, improve maintenance efficiency, improve network resource utilization, and improve anti-destruction capabilities.

[0003] In packet-enhanced optical transport networks, since the available time slots of each link are extremely limited, flexible service activation based on user needs and tunnel rerouting in the event of network failures require extremely high service path planning. The controller software must plan paths with the largest possible dissimilarity based on limited resources to minimize the possibility that all working paths and protection paths of the service are simultaneously out of date. In the event of a service tunnel path failure, the controller software should provide a sufficiently fast and stable rerouting method to ensure that the replanned alternative paths are reasonable enough to enable the service to recover from the failure as soon as possible. In software-defined packet-enhanced transport networks, when the network topology changes due to various reasons, how to quickly, stably and reliably replan tunnel paths is a research focus in the field of software-defined networks.

[0004] In scenarios with strict requirements on network stability and deep integration of multiple communication links, traditional SDN rerouting methods cannot meet the user's requirements. The current SDN network rerouting methods have the following shortcomings:

[0005] 1. The planned protection path may be highly similar to the working path, or there may be a large degree of similarity between multiple protection paths. When devices or links are damaged at the same geographical location due to force majeure, the risk of user service interruption cannot be ignored.

[0006] 2. For scenarios where multiple physical links coexist, such as fiber links, Ethernet links, SDH links, and multiple wireless links, the rerouting availability may be poor due to limited link bandwidth, or rerouting may fail or take too long when wired links and wireless links are integrated and switched in special scenarios.

[0007] 3. When the link experiences large jitter, the traditional tunnel rerouting method cannot adapt, resulting in frequent rerouting triggers and a significant reduction in the computing efficiency of the controller software, affecting the availability of the SPOTN network. Summary of the invention

[0008] The present invention aims to provide a SPOTN network tunnel rerouting method, aiming to solve the problem of poor stability of traditional SDN rerouting methods.

[0009] To achieve the above object, the present invention provides a SPOTN network tunnel rerouting method, comprising the following steps:

[0010] Initialize data structures;

[0011] Delete the nodes and links that need to be filtered in the directed graph, and clear the related paths in the candidate path set;

[0012] Calculate the shortest path through Dijkstra algorithm;

[0013] The shortest path is judged, if it fails or the used path set is empty, a path or an empty path is returned, otherwise, the next step is entered;

[0014] The existence of the shortest path is judged. If it does not exist in the alternative path set alternativePaths, the shortest path is added to the alternative path set and the next step is entered. If it exists, the next step is entered directly.

[0015] Determine the truth or falsity of fullSuper of the shortest path. If it is true, calculate the complete deviation path and return the optimal path. If it is false or the calculation of the complete deviation path fails, calculate the partial deviation path and return the optimal path or an empty path.

[0016] Among them, in "determine the truth or falsity of fullSuper of the shortest path, if it is true, calculate the completely deviated path and return the optimal path, if it is false or the calculation of the completely deviated path fails, calculate the partially deviated path and return the optimal path or an empty path", the completely deviated path calculation steps are:

[0017] Copy the directed graph as graph A, delete all nodes included in the used paths in A, calculate a shortest path in graph A through the Dijkstra algorithm, if the path is calculated, return the shortest path, if not, copy the directed graph as graph B, delete all links included in the used paths in B, calculate a shortest path in graph B through the Dijkstra algorithm, if the path is calculated, return the shortest path, if not, set the fullSupr flag to false.

[0018] Among them, in "determine the truth or falsity of fullSuper of the shortest path, if it is true, calculate the completely deviated path and return the optimal path, if it is false or the calculation of the completely deviated path fails, calculate the partially deviated path and return the optimal path or an empty path", the partially deviated path calculation steps are:

[0019] Determine whether the iteration position start is greater than the length of the alternativePaths collection. If so, return an empty path directly;

[0020] Select the path at the iteration position start in the alternativePaths collection as the latestPath, and initialize all nodes except the tail node in the latestPath as the node set to be separated, suprNodeList;

[0021] Traverse all nodes to be separated to calculate partial separation paths, and record the index of each traversed separation node as idx;

[0022] Select the path with the smallest similarity to the path in the usedPathList set from the set alternativePaths;

[0023] Delete the path with the smallest path similarity from the alternativePaths set. If the path is located after the iteration position start, add 1 to start. If the path exists in usedPathList, select a new latestPath and repeat the above steps. Otherwise, the path is taken as the final result.

[0024] Among them, in "traversing all nodes to be separated to calculate partial separation paths, and recording the index of each traversed separation node as idx", it includes:

[0025] Copy the directed graph to graph C, traverse the used path set usedPathList, for a used path, if the number of path nodes is less than the number of nodes from the first node to the node to be separated, select the next used path to continue the judgment; otherwise, determine whether the link between the first node to the node to be separated in latestPath is the same as the link between the first node to the subsequent idx-th node in the used path. If they are the same, delete the link from the idx-th node to the next node on the used path in graph C;

[0026] In Figure C, delete all nodes before the current separated node of latestPath;

[0027] In Figure C, the Dijkstra algorithm is used to calculate the shortest path from the current separation node to the destination node. If the calculation fails, the next node to be separated is selected to repeat the above judgment steps. If the calculation succeeds, proceed to the next step;

[0028] If the calculation is successful, combine the path from the first node of latestPath to the separation node and the shortest path into a complete path t;

[0029] Determine whether path t is in alternativePaths or usedPathList. If not, add t to alternativePaths.

[0030] Among them, in "selecting the path with the smallest similarity to the path in the set usedPathList from the set alternativePaths", it includes:

[0031] Initialize the minimum similarity path set similarityMinPathSet, and initialize the minimum similarity and similaritySumMin to the maximum integer;

[0032] Traverse the paths in the set alternativePaths and process each path pathB;

[0033] The paths in the similarity minimum path set similarityMinPathSet are sorted according to the total path consumption, and the path with the minimum consumption is selected as the result.

[0034] A SPOTN network tunnel rerouting method of the present invention comprises the following steps: filtering nodes and links to remove relevant paths in an alternative path set; calculating the shortest path by a Dijkstra algorithm; judging the shortest path, if it fails or the used path set is empty, returning a path or an empty path, otherwise proceeding to the next step; judging the existence of the shortest path, if it exists, proceeding to the next step, if it does not exist, putting the shortest path into the path set and proceeding to the next step; judging the fullSuper truth or falsehood of the shortest path, if it is true, calculating the completely deviated path and returning the optimal path, if it is false or the calculation of the completely deviated path fails, calculating the partially deviated path and returning the optimal path or an empty path. In the SPOTN network system, the present invention improves the original KSP algorithm when establishing a service connection between two nodes according to the service needs of the user, not only being satisfied with planning a number of shortest paths, but also paying attention to the user's strict usage scenarios, ensuring that the multiple tunnel paths of the same service planned are as far as possible deviated in the topology, the distance from the starting point to the end point is as short as possible, and the available time slots do not overlap on the link as much as possible. The reliability and anti-destruction capability of the entire communication system are improved. The present invention has reasonable tunnel path planning, low probability of user service interruption, good response to extreme network failures, improved reliability and stability of the communication network, and meets the stringent requirements of users, thereby solving the problem of poor stability of traditional SDN rerouting methods. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0036] Figure 1 It is a schematic diagram of the tunnel path planning process.

[0037] Figure 2 The tunnel path planning completely deviates from the path calculation flow chart.

[0038] Figure 3 It is the tunnel path planning part that deviates from the path calculation flow chart.

[0039] Figure 4 This is a communication diagram between node 1 to node 7.

[0040] Figure 5 The present invention provides a flow chart of a SPOTN network tunnel rerouting method.

[0041] Figure 6 It is a flowchart that determines the truth or falsity of fullSuper of the shortest path. If it is true, the completely deviated path is calculated and the optimal path is returned. If it is false or the calculation of the completely deviated path fails, the partially deviated path is calculated and the optimal path or an empty path is returned.

[0042] Figure 7 It is a flowchart that traverses all nodes to be separated to calculate partial separation paths, and records the index of each traversed separation node as idx.

[0043] Figure 8 It is a flowchart for selecting the path with the smallest similarity to the path in the set usedPathList from the set alternativePaths. DETAILED DESCRIPTION

[0044] Embodiments of the present invention are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present invention, and should not be construed as limiting the present invention.

[0045] See also Figures 1 to 8 The present invention provides a SPOTN network tunnel rerouting method, comprising the following steps:

[0046] S0 initializes the data structure;

[0047] Specifically, initialize related data structures, including graph structure, Vertex structure and ShortestPath structure; create a tunnel path generation function named KspGenerate, define the fullSupr flag, which is used to determine whether the solution is a completely separated path. The alternative path set alternativePaths stores the available alternative paths when calling the CalculatePath function in this round. The return value of KspGenerate is an anonymous function. For the convenience of description, the anonymous function is named CalculatePath. The parameters and return values ​​of the KspGenerate function and the CalculatePath function and their meanings are shown in Table 1 and Table 2:

[0048]

[0049] Table 1 KspGenerate function description

[0050]

[0051]

[0052] Table 2 CalculatePath function description

[0053] After receiving the usedPathListInit parameter, KspGenerate calculates all the paths in the set and checks whether each link of each path exists in the graph. If so, it is added to the alternativePaths set.

[0054] Vertex structure and ShortestPath structure; create a tunnel path generation function named KspGenerate. In the KspGenerate function, initialize the fullSupr flag to true, save the path start node srcNode as node 1 and the end node dstNode as node 4. Initialize the alternative path set alternativePaths. Initialize the iteration position start to 0. Traverse the paths in the received usedPathListInit, check whether each link in each path exists in the directed graph, and put it into alternativePaths if it exists. At this time, alternativePaths contains the path [1->4], the path [1->2->5->4], and the path [1->3->4].

[0055] S1 deletes the nodes and links that need to be filtered in the directed graph, and clears the related paths in the candidate path set;

[0056] Specifically, delete edge 1<->2, edge 2<->5, edge 5<->4, and node 5 on the directed graph, and delete the path [1->2->5->4] in alternativePaths.

[0057] S2 calculates the shortest path using the Dijkstra algorithm;

[0058] Specifically, the path [1->4] is obtained through Dijkstra based on the directed graph.

[0059] S3 judges the shortest path, if it fails or the used path set is empty, returns a path or an empty path, otherwise, proceeds to the next step;

[0060] Specifically, if the used path is not empty, proceed to the next step.

[0061] S4 determines whether the shortest path exists. If it does not exist in the alternative path set alternativePaths, the shortest path is added to the alternative path set and the next step is entered. If it exists, the next step is entered directly.

[0062] Specifically, the shortest path exists in alternativePaths, and the process directly proceeds to the next step. At this time, alternativePaths includes the path [1->4] and the path [1->3->4].

[0063] S5 determines the truth or falsity of fullSuper of the shortest path. If it is true, the completely deviated path is calculated and the optimal path is returned. If it is false or the calculation of the completely deviated path fails, the partially deviated path is calculated and the optimal path or an empty path is returned.

[0064] Specifically, if fullSuper is true, the calculation completely deviates from the path;

[0065] Copy the directed graph as graph A, delete node 3, edge 1<->3, edge 3<->4, edge 2<->3, and edge 1<->4 on A, and calculate a shortest path using the Dijkstra algorithm. A shortest path cannot be calculated; copy the directed graph as graph B, delete edges 1<->3, edge 3<->4, and edge 1<->4 on B, and calculate a shortest path using the Dijkstra algorithm. A shortest path cannot be calculated, so set the fullSupr flag to false.

[0066] Start calculating partial deviations from the path;

[0067] S51 determines whether the iteration position start is greater than the length of the alternativePaths set, and if so, directly returns an empty path;

[0068] Specifically, determine that the iteration position start is 0, which is less than the length of the alternativePaths set, and proceed to the next step;

[0069] S52 selects the path at the iteration position start in the alternativePaths collection as the latestPath, and initializes all nodes except the tail node in the latestPath as the node set to be separated suprNodeList;

[0070] Specifically, the path at the iteration position start in the alternativePaths collection is selected as the latestPath, that is, the path [1->4]. All nodes except the tail node in the latestPath are initialized as the node set to be separated, suprNodeList, which contains node 1.

[0071] S53 traverses all nodes to be separated to calculate partial separation paths, and records the index of each traversed separation node as idx;

[0072] S531 copies the directed graph to graph C, traverses the used path set usedPathList, and if the number of path nodes is less than the number of nodes from the first node to the node to be separated, selects the next used path to continue the judgment; otherwise, determines whether the link from the first node to the node to be separated in latestPath is the same as the link from the first node to the subsequent idx-th node in the used path. If they are the same, deletes the link from the idx-th node to the next node in the used path on graph C;

[0073] Specifically, copy the directed graph as graph C. Traverse the used paths in usedPathList. The number of nodes in the first used path [1->4] is greater than the number of nodes from the first node to the node to be separated. The link between the first node 1 and the node to be separated 1 in the latestPath is the same as the link between the first node and the 0th node 1 in the used path (if there is no link, they are the same by default). Delete edge 1<->4 on graph C. The number of nodes in the second path [1->3->4] is greater than the number of nodes from the first node to the node to be separated. The link between the first node 1 and the node to be separated 1 in the latestPath is the same as the link between the first node and the 0th node 1 in the used path (if there is no link, they are the same by default). Delete edge 1<->3 on graph C.

[0074] S532 deletes all nodes before the current separated node of latestPath in Figure C;

[0075] Specifically, in Figure C, all nodes before the current separation node of latestPath are deleted. Since there is no preceding node, no processing is performed.

[0076] S533 uses the Dijkstra algorithm in Figure C to calculate the shortest path from the current separation node to the destination node. If the calculation fails, the next node to be separated is selected to repeat the above judgment step. If the calculation succeeds, proceed to the next step;

[0077] Specifically, in Figure C, the Dijkstra algorithm is used to calculate the shortest path from the current separation node 1 to the destination node 4, but a shortest path cannot be obtained.

[0078] S534 combines the path from the first node of latestPath to the separation node and the shortest path into a complete path t;

[0079] Specifically, without a preceding node, the final path t is the path 1->3->4.

[0080] S535 determines whether path t is in alternativePaths or usedPathList. If not, t is added to alternativePaths.

[0081] Specifically, it is determined that the path t is already in the usedPathList, and the next step is entered.

[0082] S54 selects a path from the set alternativePaths that has the smallest similarity to the path in the set usedPathList;

[0083] S541 initializes the minimum similarity path set similarityMinPathSet, and initializes the minimum similarity and similaritySumMin to the maximum integer;

[0084] Specifically, the minimum similarity path set similarityMinPathSet is initialized, and the minimum similarity and similaritySumMin are initialized to the maximum integer.

[0085] S542 traverses the paths in the set alternativePaths and processes each path pathB;

[0086] Specifically, first select path [1->4] as pathB, and initialize similaritySum to 0. Traverse the paths in the usedPathList set, and calculate the similarity S of each path pathA with pathB. The similarity S of [1->4] to [1->4] is 1, with a weight of 1, the similarity of [1->4] to [1->3->4] is 0, with a weight of 2, and the similarity of [1->4] to [1->2->5->4] is 0, with a weight of 3. The weighted average is 1, that is, similaritySum is 1. The similarity is less than similaritySumMin, update similaritySumMin, and add path [1->4] to similarityMinPathSet. Traverse and select path [1->3->4] as pathB, and initialize similaritySum to 0. Traverse the paths in the usedPathList set, and calculate the similarity S between each path pathA and pathB. The similarity S between [1->3->4] and [1->4] is 0, with a weight of 1; the similarity between [1->3->4] and [1->3->4] is 1, with a weight of 2; the similarity between [1->3->4] and [1->2->5->4] is 0, with a weight of 3. The weighted average is 1, i.e., similaritySum is 2.

[0087] S543 sorts the paths in the similarity minimum path set similarityMinPathSet according to the total path consumption, and selects the path with the minimum consumption as the result.

[0088] Specifically, the path [1->4] is selected as the result in similarityMinPathSet.

[0089] S55 deletes the path with the smallest path similarity from the alternativePaths set. If the path is located after the iteration position start, start is increased by 1; if the path exists in usedPathList, a new latestPath is selected and the above steps are repeated. Otherwise, the path is taken as the final result.

[0090] Specifically, delete the path [1->4] in alternativePaths, and keep start unchanged. This path is in usedPathList. Reselect a new latestPath and repeat the above steps. Return to S51.

[0091] Example:

[0092] like Figure 4As shown, in a SPOTN network, a tunnel path between node 1 and node 4 is planned, and the communication starting point 1, end point 4 and weighted directed graph set by the user are obtained as inputs of the method; different from blind search, the search in the present invention is an informed search, and the search informed information mainly includes: the used path set usedPathList, which is assumed to contain three used paths in this embodiment, one is [1->4], one is path [1->2->5->4] and one is path [1->3->4]. The link set linkFilterList that needs to be filtered is assumed to be link 1<->2 in this embodiment. The node set deviceFilterList that needs to be filtered is assumed to be node 5 in this embodiment. It is planned to plan 1 tunnel path. The weight of each edge is 1.

[0093] Check if the iteration position start is greater than the length of the alternativePaths collection. If so, return an empty path directly.

[0094] Determine that the iteration position start is 0, which is less than the length of the alternativePaths collection, and proceed to the next step;

[0095] Select the path at the iteration position start in the alternativePaths collection as the latestPath, and initialize all nodes except the tail node in the latestPath as the node set to be separated, suprNodeList;

[0096] Specifically, the path at the iteration position start in the alternativePaths collection is selected as the latestPath, that is, the path [1->3->4]. All nodes except the tail node in the latestPath are initialized as the node set to be separated, suprNodeList, which now contains node 1 and node 3.

[0097] Copy the directed graph as graph C. Traverse the used paths in usedPathList. The number of nodes in the first used path [1->4] is greater than the number of nodes from the first node to the node to be separated. The link between the first node 1 and the node to be separated 1 in the latestPath is the same as the link between the first node and the 0th node 1 in the used path (if there is no link, they are the same by default). Delete edge 1<->4 on graph C. The number of nodes in the second path [1->3->4] is greater than the number of nodes from the first node to the node to be separated. The link between the first node 1 and the node to be separated 1 in the latestPath is the same as the link between the first node and the 0th node 1 in the used path (if there is no link, they are the same by default). Delete edge 1<->3 on graph C.

[0098] Since there is no preceding node, no processing is performed.

[0099] In Figure C, the Dijkstra algorithm cannot calculate the shortest path from the current separation node 1 to the destination node 4, so a new separation node is selected and the above steps are repeated, returning to step S531.

[0100] Node 3 is used as the separation node, and the directed graph is copied as graph C. Traverse the used paths in usedPathList. The number of nodes in the first used path [1->4] is equal to the number of nodes from the first node to the node to be separated. The link between the first node 1 and the node to be separated 3 in the latestPath is different from the link between the first node and the first node 4 in the used path. No processing is done in graph C. The number of nodes in the second used path [1->3->4] is greater than the number of nodes from the first node to the node to be separated. The link between the first node 1 and the node to be separated 3 in the latestPath is the same as the link between the first node and the first node 3 in the used path. Delete edge 3<->4 in graph C.

[0101] In graph C, delete all nodes before the current separated node of latestPath. Specifically, delete node 1 and the related edges 1<->4 and 1<->3.

[0102] In Figure C, the Dijkstra algorithm is used to calculate the shortest path from the current separation node 3 to the destination node 4, that is, the path [3->2->4].

[0103] Combine the path from the first node of latestPath to the separation node and the shortest path into a complete path t;

[0104] The final path t is the path [1->3->2->4].

[0105] Determine whether path t is in alternativePaths or usedPathList. If not, add t to alternativePaths.

[0106] Determine if path t is not in alternativePaths or usedPathList, and add t to alternativePaths.

[0107] Select the path with the smallest similarity to the path in the usedPathList set from the set alternativePaths;

[0108] Initialize the minimum similarity path set similarityMinPathSet, and initialize the minimum similarity and similaritySumMin to the maximum integer;

[0109] Initialize the minimum similarity path set similarityMinPathSet, and initialize the minimum similarity and similaritySumMin to the maximum integer.

[0110] Traverse the paths in the set alternativePaths and process each path pathB;

[0111] First, select the path [1->3->4] as pathB, and initialize the similarity and similaritySum to 0. Traverse the paths in the set usedPathList, and calculate the similarity S of each path pathA with pathB. The similarity of [1->-3->4] to [1->4] is 0, and the weight is 1. The similarity of [1->3->4] to [1->3->4] is 1, and the weight is 2. The similarity of [1->3->4] to [1->2->5->4] is 0, and the weight is 3. The weighted average is 2, that is, the similaritySum is 2. The similarity is less than similaritySumMin, update similaritySumMin, and add the path [1->3->4] to similarityMinPathSet. Traverse and select the path [1->3->2->4] as pathB, and initialize the similarity and similaritySum to 0. Traverse the paths in the usedPathList set, and calculate the similarity S between each path pathA and pathB. The similarity S between [1->3>2->4] and [1->4] is 0, with a weight of 1. The similarity between [1->3->2->4] and [1->3->4] is 1 / 3, with a weight of 2. The similarity between [1->3->2->4] and [1->2->5->4] is 0, with a weight of 3. The weighted average is 2 / 3, that is, similaritySum is 2 / 3.

[0112] The paths in the similarity minimum path set similarityMinPathSet are sorted according to the total path consumption, and the path with the minimum consumption is selected as the result.

[0113] Select the path [1->3->2->4] in similarityMinPathSet as the result.

[0114] Delete the path with the smallest path similarity from the alternativePaths set. If the path is located after the iteration position start, add 1 to start; if the path exists in usedPathList, select a new latestPath and repeat the above steps. Otherwise, the path is taken as the final result.

[0115] The path is not in alternativePaths, start remains unchanged. The path is not in usedPathList, the path [1->3->2->4] is used as the final result.

[0116] Beneficial effects:

[0117] First, in the SPOTN network system, according to the user's business needs, when establishing a business connection between two nodes, this method improves the original KSP algorithm. It is not only satisfied with planning a number of shortest paths, but also focuses on the user's strict usage scenarios, ensuring that the planned multiple tunnel paths of the same business are as deviated as possible in the topology, the distance from the starting point to the end point is as short as possible, and the available time slots do not overlap on the link as much as possible.

[0118] Second, it is extremely important for the SPOTN network system. From the initial stage of deployment, it can reduce the probability of user service interruption and improve the reliability and anti-destruction capability of the entire communication system. When the SPOTN network fails, whether it is equipment or link damage or other situations that cause tunnel time-out, the tunnel path rerouting method of this solution is rigorously designed and can automatically restore user services without high requirements on network conditions.

[0119] 3. This method has reasonable tunnel path planning, low probability of user service interruption, good response to extreme network failures, improved reliability and stability of the communication network, and met the stringent requirements of users.

[0120] The above disclosure is only a preferred embodiment of the SPOTN network tunnel rerouting method of the present invention, and it is certainly not used to limit the scope of the present invention. A person skilled in the art can understand that all or part of the processes of the above embodiment are implemented, and equivalent changes made according to the claims of the present invention still fall within the scope of the invention.

Claims

1. A SPOTN network tunnel rerouting method, characterized in that: The following steps are involved: Initialize data structures; Delete the nodes and links that need to be filtered in the directed graph, and clear the related paths in the candidate path set; Calculate the shortest path through Dijkstra algorithm; The shortest path is judged, if it fails or the used path set is empty, a path or an empty path is returned, otherwise, proceed to the next step; The existence of the shortest path is judged. If it does not exist in the alternative path set alternativePaths, the shortest path is added to the alternative path set and the next step is entered. If it exists, the next step is entered directly. Determine the truth or falsity of fullSuper of the shortest path. If it is true, calculate the complete deviation path and return the optimal path. If it is false or the calculation of the complete deviation path fails, calculate the partial deviation path and return the optimal path or an empty path.

2. The SPOTN network tunnel rerouting method according to claim 1, characterized in that: In "Judge the truth or falsity of fullSuper of the shortest path. If it is true, calculate the completely deviated path and return the optimal path. If it is false or the calculation of the completely deviated path fails, calculate the partially deviated path and return the optimal path or an empty path", the completely deviated path calculation steps are: Copy the directed graph as graph A, delete all nodes included in the used paths in A, calculate a shortest path in graph A through the Dijkstra algorithm, if the path is calculated, return the shortest path, if not, copy the directed graph as graph B, delete all links included in the used paths in B, calculate a shortest path in graph B through the Dijkstra algorithm, if the path is calculated, return the shortest path, if not, set the fullSupr flag to false.

3. The SPOTN network tunnel rerouting method according to claim 1, characterized in that: In "Judge the truth or falsity of fullSuper of the shortest path. If it is true, calculate the completely deviated path and return the optimal path. If it is false or the calculation of the completely deviated path fails, calculate the partially deviated path and return the optimal path or an empty path", the partially deviated path calculation steps are: Determine whether the iteration position start is greater than the length of the alternativePaths collection. If so, return an empty path directly; Select the path at the iteration position start in the alternativePaths collection as the latestPath, and initialize all nodes except the tail node in the latestPath as the node set to be separated, suprNodeList; Traverse all nodes to be separated to calculate partial separation paths, and record the index of each traversed separation node as idx; Select the path with the smallest similarity to the path in the usedPathList set from the set alternativePaths; Delete the path with the smallest path similarity from the alternativePaths set. If the path is located after the iteration position start, add 1 to start. If the path exists in usedPathList, select a new latestPath and repeat the above steps. Otherwise, the path is taken as the final result.

4. The SPOTN network tunnel rerouting method according to claim 3, characterized in that: In "traversing all nodes to be separated to calculate partial separation paths, and recording the index of each traversed separation node as idx", it includes: Copy the directed graph to graph C, traverse the used path set usedPathList, for a used path, if the number of path nodes is less than the number of nodes from the first node to the node to be separated, select the next used path to continue the judgment; otherwise, determine whether the link between the first node to the node to be separated in latestPath is the same as the link between the first node to the subsequent idx-th node in the used path. If they are the same, delete the link from the idx-th node to the next node on the used path in graph C; In Figure C, delete all nodes before the current separated node of latestPath; In Figure C, the Dijkstra algorithm is used to calculate the shortest path from the current separation node to the destination node. If the calculation fails, the next node to be separated is selected to repeat the above judgment steps. If the calculation succeeds, proceed to the next step; If the calculation is successful, combine the path from the first node of latestPath to the separation node and the shortest path into a complete path t; Determine whether path t is in alternativePaths or usedPathList. If not, add t to alternativePaths.

5. The SPOTN network tunnel rerouting method according to claim 3, characterized in that: In "selecting the path with the least similarity to the path in the set usedPathList from the set alternativePaths", include: Initialize the minimum similarity path set similarityMinPathSet, and initialize the minimum similarity and similaritySumMin to the maximum integer; Traverse the paths in the set alternativePaths and process each path pathB; The paths in the similarity minimum path set similarityMinPathSet are sorted according to the total path consumption, and the path with the minimum consumption is selected as the result.

Citation Information

Patent Citations

  • PeOTN network routing planning method based on service requirements

    CN112511924A

  • Method and system for optimizing packet transport network

    CN112671631A

  • SPTN network tunnel rerouting method

    CN114124791A

  • Method and device for calculating k-shortest paths

    WO2011015057A1