Methods, devices and electronic equipment for emergency dispatching of optical network failures
Patent Information
- Application Number
- CN202610913009.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-23
- Publication Date
- 2026-09-11
AI Technical Summary
在实际操作过程中发现,该方案对节点数过万的光网络进行应急路由,需要计算出TopN路径并维护一个庞大的候选路径集,并对候选路径集中的候选路径进行频繁的排序和扩展,导致计算时间的复杂度高,无法满足大规模光网络对应急路由的秒级计算要求
Smart Images

Figure CN122741431A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of optical communication network technology, and in particular to methods, devices and electronic equipment for emergency dispatching of optical network faults. Background Technology
[0002] Optical transport network is a transmission technology used in optical networks to provide reliable end-to-end connections for high-speed, high-capacity customer services (such as government and enterprise leased lines). When a node in the optical network fails, a new routing path needs to be determined to bypass the failed node and restore communication.
[0003] Among related technologies, there exists a dynamic recovery scheme based on the traditional K-shortest path algorithm. This scheme, upon detecting a fault, dynamically calculates K shortest candidate paths and selects one that avoids the fault point for recovery. However, in practice, it has been found that for emergency routing in optical networks with tens of thousands of nodes, this scheme requires calculating the Top N paths and maintaining a massive candidate path set. Frequent sorting and expansion of these candidate paths leads to high computational complexity, failing to meet the second-level computation requirements of large-scale optical networks for emergency routing. Summary of the Invention
[0004] In view of this, the main objective of the embodiments of this application is to propose an emergency scheduling method and related equipment for optical network failures, which can reduce the number of candidate paths generated, reduce the complexity of computation time, and meet the second-level computation requirements of large-scale optical networks for emergency routing.
[0005] To achieve the above objectives, one aspect of this application proposes an emergency dispatch method for optical network failures, the method comprising the following steps: Receive fault list information, load optical network topology map, and determine the shortest path from source node to destination node based on the fault list information and the optical network topology map; A candidate path queue is determined. Based on the shortest path and the candidate path queue, the comprehensive weight of adjacent nodes is determined. The adjacent node with the smallest comprehensive weight is selected to expand the candidate path. The candidate path queue is updated. The comprehensive weight is used to characterize the distance between the adjacent node and the shortest path. The adjacent node is adjacent to the end node of the candidate path. Select obstacle avoidance paths from the updated candidate path queue. If the number of obstacle avoidance paths reaches a preset number or the updated candidate path queue is empty, configure the first routing table according to the obstacle avoidance paths. If the number of obstacle avoidance paths does not reach the preset number and the updated candidate path queue is not empty, return to the execution step: determine the candidate path queue. Perform routing operations based on the first routing table.
[0006] In some embodiments, determining the candidate path queue, determining the comprehensive weight of neighboring nodes based on the shortest path and the candidate path queue, selecting the neighboring node with the smallest comprehensive weight to expand the candidate path, and updating the candidate path queue includes: Determine whether the candidate path queue exists. If not, generate a candidate path queue with the source node as the node to be expanded. If yes, use the end node of the candidate path as the node to be expanded. The comprehensive weight is obtained based on the distance between each adjacent node and the weight reduction node of the node to be expanded, wherein the weight reduction node includes the intermediate node of the shortest path; The neighboring node with the smallest comprehensive weight is determined, and the neighboring node with the smallest comprehensive weight is connected to the node to be expanded to generate a new candidate path queue.
[0007] In some embodiments, obtaining the comprehensive weight value based on the distance between each neighboring node and the weight reduction node of the node to be expanded includes: Using the intermediate node of the shortest path as the weight reduction node, calculate the minimum distance from the adjacent nodes of the node to be expanded to the weight reduction node; The comprehensive weight is determined based on the minimum distance and the delay of the current candidate path, wherein the minimum distance approaches 0 when the end node of the candidate path approaches or reaches the weight reduction node.
[0008] In some embodiments, selecting obstacle avoidance paths from the updated candidate path queue includes: Determine whether the end node of the candidate path in the candidate path queue is a destination node. If yes, determine the current candidate path as the obstacle avoidance path. If no, keep the current candidate path in the candidate path queue until the candidate paths in the candidate path queue are traversed.
[0009] In some embodiments, when the second routing table scheduling fails, the method further includes: Calculate K optimal paths from the source node to the destination node from the optical network topology graph, and calculate the similarity between the optimal paths and the routing paths before the failure, where K is an integer greater than or equal to 2. From the K optimal paths, paths with similarity greater than a preset similarity threshold are selected as highly similar paths, and the path with the shortest length is selected from the highly similar paths as the first restoration path. Configure a third routing table based on the first restoration path, and perform routing operations based on the third routing table.
[0010] In some embodiments, when selecting paths with a similarity greater than a preset similarity threshold from the K optimal paths as highly similar paths, the method further includes: If the number of highly similar paths selected is 0, calculate the comprehensive score of each of the K optimal paths, and select the path with the highest comprehensive score as the second restoration path. The comprehensive score is used to characterize the length, delay and similarity of the optimal path. Configure a fourth routing table according to the second restoration path, and perform routing operations according to the fourth routing table.
[0011] In some embodiments, calculating the comprehensive score of each of the K optimal paths includes: Select any path from the optimal paths, calculate the length / delay of the current optimal path to obtain the first index; Obtain historical routing data of the current optimal path, and determine the second indicator based on the historical routing data of the current optimal path; Read the similarity of the current optimal path and use the similarity of the current optimal path as a third indicator; The comprehensive score is determined based on the first indicator, the second indicator, the third indicator, and the weight parameters of each indicator. The comprehensive score is then calculated by traversing the K optimal paths.
[0012] To achieve the above objectives, another aspect of this application proposes an optical network fault emergency dispatching device, the device comprising: The receiving module is used to receive fault list information, load the optical network topology map, and determine the shortest path from the source node to the destination node based on the fault list information and the optical network topology map. The candidate path generation module is used to determine the candidate path queue, determine the comprehensive weight of adjacent nodes based on the shortest path and the candidate path queue, select the adjacent node with the smallest comprehensive weight to expand the candidate path, and update the candidate path queue. The obstacle avoidance path determination module is used to filter obstacle avoidance paths from the updated candidate path queue. If the number of obstacle avoidance paths reaches a preset number or the updated candidate path queue is empty, the first routing table is configured according to the obstacle avoidance path. If the number of obstacle avoidance paths does not reach the preset number and the updated candidate path queue is not empty, the execution step is returned: determine candidate path queue. The routing module is used to perform routing operations based on the first routing table.
[0013] To achieve the above objectives, another aspect of this application provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the methods described above.
[0014] To achieve the above objectives, another aspect of the embodiments of this application proposes a computer-readable storage medium storing a computer program that, when executed by a processor, implements the methods described above.
[0015] To achieve the above objectives, another aspect of the embodiments of this application proposes a computer program product, including a computer program that, when executed by a processor, implements the methods described above.
[0016] The embodiments of this application include at least the following beneficial effects: This application provides an optical network fault emergency scheduling method, apparatus, and electronic device. The scheme calculates the shortest path from the source node to the destination node from the optical network topology based on the fault list information, determines a candidate path queue, determines the comprehensive weight of adjacent nodes based on the shortest path and the candidate path queue, selects the adjacent node with the smallest comprehensive weight to expand the candidate path, and updates the candidate path queue to reduce the generation of candidate paths that are too far apart. Obstacle avoidance paths are then selected from the updated candidate path queue. If the number of obstacle avoidance paths reaches a preset number or the updated candidate path queue is empty, a first routing table is configured based on the obstacle avoidance paths. If the number of obstacle avoidance paths does not reach the preset number and the updated candidate path queue is not empty, the update step is returned, and routing operations are performed based on the first routing table. Thus, using the smallest comprehensive weight as the selection criterion concentrates the target on the area adjacent to the shortest path during path expansion. When a faulty node occurs, this application can quickly calculate the obstacle avoidance path, meeting the second-level calculation requirements for emergency routing in large-scale optical networks. Attached Figure Description
[0017] Figure 1 This is a flowchart of the optical network fault emergency dispatch method provided in the embodiments of this application; Figure 2 This is a flowchart of the candidate path queue update steps provided in the embodiments of this application; Figure 3 This is a flowchart of the comprehensive weight calculation steps provided in the embodiments of this application; Figure 4 This is a flowchart of the third routing table generation steps provided in the embodiments of this application; Figure 5 This is a flowchart of the fourth routing table generation step provided in the embodiments of this application; Figure 6 This is a structural diagram of the faulty optical network topology provided in the embodiments of this application; Figure 7 This is a structural diagram of the optical network topology after emergency dispatch provided in the embodiments of this application; Figure 8 This is a structural diagram of the optical network topology after service restoration provided in the embodiments of this application; Figure 9 Another flowchart illustrating the method shown in the embodiments of this application is provided, (a) the steps performed during route obstacle avoidance, and (b) the steps performed during route restoration. Figure 10 This is a schematic diagram of the structure of the optical network fault emergency dispatching device provided in the embodiments of this application. Figure 11 This is a schematic diagram of the hardware structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0018] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit it. In the following description, when referring to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with those of this application; they are merely examples of apparatuses and methods consistent with some aspects of the embodiments of this application as detailed in the appended claims.
[0019] It is understood that the terms “first,” “second,” etc., used in this application may be used herein to describe various concepts, but unless otherwise stated, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another. For example, without departing from the scope of the embodiments of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the words “if,” “when,” or “in response to a determination” as used herein may be interpreted as “when…” or “when…” or “in response to a determination.”
[0020] As used in this application, the terms "at least one", "multiple", "each", "any", etc., "at least one" includes one, two or more, "multiple" includes two or more, "each" refers to each of the corresponding multiples, and "any" refers to any one of the multiples.
[0021] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0022] Before providing a detailed description of the embodiments of this application, some of the nouns and terms involved in the embodiments of this application will be explained first. The nouns and terms involved in the embodiments of this application are subject to the following interpretations.
[0023] 1) Emergency dispatch: refers to a series of automated operations performed to quickly switch services from the faulty path to an available backup path in order to restore services when network services are interrupted.
[0024] 2) Service restoration: This refers to the operation of switching services back from the emergency dispatch path to the original optimal path after the original network fault has been repaired. This patent specifically refers to automated intelligent restoration.
[0025] 3) Fault point: The physical or logical resource where the root cause of the service interruption lies, such as a broken optical cable, a faulty port, or a network element. This is the object that the routing calculation in this patent needs to avoid.
[0026] 4) Without Set: A set of constraints used in route calculation. The calculated path must avoid all elements (i.e., fault points) in this set.
[0027] Optical transport network is a transmission technology used in optical networks to provide reliable end-to-end connections for high-speed, high-capacity customer services (such as government and enterprise leased lines). When a node in the optical network fails, a new routing path needs to be determined to bypass the failed node and restore communication.
[0028] Among related technologies, there exists a dynamic recovery scheme based on the traditional K-shortest path algorithm. This scheme, upon detecting a fault, dynamically calculates K shortest candidate paths and selects one that avoids the fault point for recovery. However, in practice, it has been found that for emergency routing in optical networks with tens of thousands of nodes, this scheme requires calculating the Top N paths and maintaining a massive candidate path set. Frequent sorting and expansion of these candidate paths leads to high computational complexity, failing to meet the second-level computation requirements of large-scale optical networks for emergency routing.
[0029] In view of this, this application provides an optical network fault emergency scheduling method, device, and electronic device. This scheme expands candidate paths by selecting the neighboring node with the smallest comprehensive weight and updates the candidate path queue. Using the smallest comprehensive weight as a screening index can concentrate the target in the area adjacent to the shortest path during path expansion, reduce the generation of candidate paths that are too far apart, reduce the complexity of path calculation time, and quickly complete the iteration of candidate paths and calculate the obstacle avoidance path when a faulty node occurs, thus meeting the second-level calculation requirements of emergency routing for large-scale optical networks.
[0030] The optical network fault emergency dispatching method provided in this application relates to the field of optical communication network technology. This method can be applied to a terminal, a server, or software running on either a terminal or a server. In some embodiments, the terminal can be a smartphone, tablet, laptop, desktop computer, smart speaker, smartwatch, or vehicle terminal, but is not limited to these. The server can be configured as an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The server can also be a node server in a blockchain network. The software can be an application implementing the optical network fault emergency dispatching method, but is not limited to the above forms.
[0031] This application can be used in a wide variety of general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics devices, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices. This application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform specific tasks or implement specific abstract data types. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.
[0032] It should be noted that in all specific embodiments of this application, when processing data related to user identity or characteristics, such as user information, user behavior data, user historical data, and user location information, user permission or consent is obtained first. Furthermore, the collection, use, and processing of this data comply with relevant laws, regulations, and standards. In addition, when embodiments of this application require access to sensitive personal information of users, separate permission or consent from the user is obtained through pop-ups or redirection to confirmation pages. Only after obtaining the user's separate permission or consent is the necessary user-related data required for the proper functioning of these embodiments acquired.
[0033] Figure 1 This is an optional flowchart of the optical network fault emergency dispatching method provided in the embodiments of this application. Figure 1 The method may include, but is not limited to, steps 101 to 104.
[0034] Step 101: Receive fault list information, load optical network topology map, and determine the shortest path from source node to destination node based on the fault list information and the optical network topology map.
[0035] Receive fault list information, determine the non-path set based on the fault list information, load the optical network topology graph, and perform path optimization on the optical network topology graph with the non-path set as a constraint to obtain the shortest path from the source node to the destination node.
[0036] In step 101, the current optical network topology graph from the source node to the destination node is loaded, a hash table adjacency matrix is constructed, the Dijkstra algorithm is used to calculate the Top 1 shortest path from the source node S to the destination node D, and all node sequences are recorded. In the process of calculating the Top 1 shortest path, the non-passage set is embedded as a constraint condition into the calculation process.
[0037] Understandably, Dijkstra's algorithm is a common routing optimization algorithm in network topology graphs, used to find the shortest path between two nodes. In optical network scheduling, the shortest path is usually calculated, and multiple alternative paths are generated around it. The routing table is configured using these alternative paths. Selecting alternative paths separately for routing can lead to network congestion on the shortest path.
[0038] Step 102: Determine the candidate path queue, determine the comprehensive weight of adjacent nodes based on the shortest path and the candidate path queue, select the adjacent node with the smallest comprehensive weight to expand the candidate path, and update the candidate path queue.
[0039] In step 102, the comprehensive weight is used to characterize the distance between the neighboring node and the shortest path. The neighboring node is adjacent to the end node of the candidate path. The candidate path queue includes several candidate paths. The initial node of the candidate path is the source node. During the update process, the end node of the candidate path continuously connects to the neighboring node, so that the candidate path extends towards the destination node until it reaches the destination node.
[0040] Step 103: Select obstacle avoidance paths from the updated candidate path queue. If the number of obstacle avoidance paths reaches a preset number or the updated candidate path queue is empty, configure the first routing table according to the obstacle avoidance paths. If the number of obstacle avoidance paths does not reach the preset number and the updated candidate path queue is not empty, return to the execution step: determine the candidate path queue. In step 103, when a candidate path appears in the candidate path queue that connects to the destination node, it is used as an obstacle avoidance path. When the number of obstacle avoidance paths is sufficient, or when the number of candidate paths in the candidate path queue is 0, the iteration stops.
[0041] Step 104: Perform routing operations according to the first routing table.
[0042] The first routing table records the obstacle avoidance path generated by the above steps. The router performs routing operations according to the first routing table, and the source node connects to the destination node along the obstacle avoidance path to complete the emergency dispatch.
[0043] Steps 101 to 104 of this embodiment involve calculating the shortest path from the source node to the destination node in the optical network topology based on the fault list information, determining a candidate path queue, determining the comprehensive weight of adjacent nodes based on the shortest path and the candidate path queue, selecting the adjacent node with the smallest comprehensive weight to extend the candidate path, updating the candidate path queue, and reducing the generation of candidate paths that are too far apart. Obstacle avoidance paths are then selected from the updated candidate path queue. If the number of obstacle avoidance paths reaches a preset number or the updated candidate path queue is empty, a first routing table is configured based on the obstacle avoidance paths. If the number of obstacle avoidance paths does not reach the preset number and the updated candidate path queue is not empty, the process returns to the update step, and routing operations are performed based on the first routing table. In this way, using the smallest comprehensive weight as the selection criterion concentrates the target on the area adjacent to the shortest path during path extension. When a faulty node occurs, this application can quickly calculate the obstacle avoidance path, meeting the second-level calculation requirements for emergency routing in large-scale optical networks.
[0044] See Figure 2In some embodiments, determining the candidate path queue, determining the comprehensive weight of adjacent nodes based on the shortest path and the candidate path queue, selecting the adjacent node with the smallest comprehensive weight to expand the candidate path, and updating the candidate path queue includes: Step 201: Determine whether the candidate path queue exists. If not, generate a candidate path queue with the source node as the node to be expanded. If yes, use the end node of the candidate path as the node to be expanded. When updating the candidate path queue for the first time, the candidate path queue needs to be generated with the source node as the node to be expanded. In subsequent updates of the candidate path queue, the candidate path queue of the previous iteration is used as the basis.
[0045] Step 202: Obtain the comprehensive weight value based on the distance between each adjacent node and the weight reduction node of the node to be expanded, wherein the weight reduction node includes the intermediate node of the shortest path; Step 203: Determine the neighboring node with the smallest comprehensive weight, connect the neighboring node with the smallest comprehensive weight to the node to be expanded, and generate a new candidate path queue.
[0046] Traditional KSP algorithms (such as Yen's algorithm) require maintaining a large set of candidate paths and frequently sorting and expanding them when calculating the Top N paths, resulting in high computational complexity and failing to meet the second-level computation requirements of large-scale optical networks for emergency routing.
[0047] In this embodiment, the candidate path queue is updated through steps 201 to 203. When generating a candidate path, the neighboring nodes of the end node of the candidate path are determined, and the comprehensive weight of the neighboring nodes is calculated. That is, the distance between the neighboring node and the shortest path is calculated, and some of the neighboring nodes are selected to join the candidate path. In this way, the search direction of the candidate path is guided by the comprehensive weight, avoiding blindly traversing all network nodes, which can greatly improve the efficiency of candidate path generation.
[0048] See Figure 3 The step of obtaining the comprehensive weight value based on the distance between each adjacent node and the weight reduction node of the node to be expanded includes: Step 301: Take the intermediate node of the shortest path as the weight reduction node, and calculate the minimum distance from the adjacent nodes of the node to be expanded to the weight reduction node. In step 301, all intermediate nodes {V1,V2,...,Vk} on the shortest path, excluding the source and destination nodes, are defined as weight reduction nodes. The weight reduction function is defined as: H(Path)=min(distance(Path.end,Vi)), where Path.end represents the end node of the candidate path Path, Vi represents the i-th weight reduction node, and distance(Path.end,Vi) represents the distance between the end node of the candidate path Path and the i-th weight reduction node.
[0049] Step 302: Determine the comprehensive weight based on the minimum distance and the delay of the current candidate path, wherein the minimum distance approaches 0 when the end node of the candidate path approaches or reaches the weight reduction node.
[0050] In step 302, the comprehensive weight F of the path is defined as: F(Path) = G(Path) - α*H(Path), where F(Path) is the comprehensive weight of the current candidate path, G(Path) is the time delay of the current candidate path, H(Path) is the distance between the end node of the current candidate path Path and the i-th weight reduction node, and α is a weight coefficient greater than 0, used to adjust the guiding strength of the comprehensive weight.
[0051] In this embodiment, a larger H(Path) indicates that the end of the current candidate path is farther from the weight reduction node, the larger the F value, and the lower the priority. Conversely, when the end of the candidate path approaches or reaches a weight reduction node, the H value approaches 0, the F value is approximately equal to the G value, and the path will receive high priority and be expanded preferentially. This actively guides the search process towards the shortest nearby region, which is more likely to contain high-quality 2nd, 3rd...Nth shortest paths.
[0052] In this embodiment, the weight reduction mechanism in steps 301 to 302 effectively restricts the search space to the neighborhood of the shortest path, avoiding the deviation calculation of the full graph traversal of the traditional KSP algorithm. Its computation time complexity is close to O(nlogn+m+plogp), where p is the number of paths in the queue. Moreover, p is much smaller than the number of candidate paths in the traditional KSP algorithm. In the actual test of the 10,000-node network, when calculating the Top 100 paths, p is usually less than 2,000. Therefore, the actual efficiency is much higher than that of the traditional KSP algorithm.
[0053] In some embodiments, the step of selecting an obstacle avoidance path from the updated candidate path queue includes: determining whether the end node of a candidate path in the candidate path queue is a destination node; if so, determining the current candidate path as the obstacle avoidance path; if not, retaining the current candidate path in the candidate path queue; and traversing the candidate paths in the candidate path queue to complete the above determination step.
[0054] In some embodiments, if a fault repair completion message is received, the method further includes: querying the routing path before the fault, configuring a second routing table according to the routing path before the fault, and performing routing operations according to the second routing table.
[0055] After the optical network fault is repaired, this embodiment reads the previously recorded routing path before the fault, reconfigures the second routing table, and controls the router to switch back to the routing path before the fault.
[0056] See Figure 4 In some embodiments, when the second routing table scheduling fails, the method further includes: Step 401: Calculate K optimal paths from the source node to the destination node from the optical network topology graph, and calculate the similarity between the optimal paths and the routing paths before the failure, where K is an integer greater than or equal to 2. After confirming that the original fault has been repaired, in case the original path becomes unavailable for other reasons, the above-mentioned path optimization algorithm (without setting fault point constraints) is first used to calculate the Top K optimal paths from the source node to the destination node as the candidate path set C.
[0057] Step 402: Select paths with similarity greater than a preset similarity threshold from the K optimal paths as highly similar paths, and select the path with the smallest length / delay from the highly similar paths as the first restoration path; In step 402, for each path Pi in the candidate set C, the similarity between it and the original routing path P_original before the failure is calculated.
[0058] For example, Jaccard similarity is used, and its calculation formula is: J(Pi,P_original)=|N(Pi)∩N(P_original)| / |N(Pi)∪N(P_original)|, where N(Pi) is the set of nodes traversed by path Pi, N(P_original) is the set of nodes traversed by the routing path before the failure, and J(Pi,P_original) is the Jaccard similarity. The value of Jaccard similarity is between 0 and 1. The larger the value, the more nodes the two paths share and the more similar the paths are.
[0059] For example, a similarity threshold is set. .
[0060] Filter out all candidates from candidate set C with a similarity greater than [value missing]. The paths are combined to form a highly similar path set C_high. The path with the shortest length / delay from the highly similar path set C_high is selected and attempted for activation.
[0061] Step 403: Configure a third routing table according to the first restoration path, and perform routing operations according to the third routing table; The routing path before the failure may fail to switch due to resource consumption. Existing recovery methods either select a new path completely randomly or re-select the path according to the KSP algorithm.
[0062] This embodiment finds the path that is "most similar" to the original route and has good performance through steps 401 to 403. This preserves the optimization intention of the original route planning (such as the lowest latency) and improves the success rate of finding an available path in a dynamic network by relaxing node consistency constraints.
[0063] See Figure 5 In some embodiments, when selecting paths with a similarity greater than a preset similarity threshold from the K optimal paths as highly similar paths, the method further includes: Step 501: If the number of highly similar paths selected is 0, calculate the comprehensive score of each of the K optimal paths, and select the path with the highest comprehensive score as the second restoration path. The comprehensive score is used to characterize the length, delay and similarity of the optimal path. Step 502: Configure a fourth routing table according to the second restoration path, and perform routing operations according to the fourth routing table.
[0064] This embodiment uses steps 501 to 502 to switch back to the routing path before the failure as much as possible. If the original path fails to switch, it switches to a path similar to the routing path before the failure. If the similar path fails to switch, it then tries to find the path with the smallest length, latency and similarity index to switch to, so as to ensure a high success rate of restoration operation.
[0065] In some specific embodiments of step 501, step 502: calculating the comprehensive score of each of the K optimal paths, including: Step 5011: Select any one of the optimal paths and calculate the length / delay of the current optimal path to obtain the first index; Step 5012: Obtain the historical routing data of the current optimal path, and determine the second indicator based on the historical routing data of the current optimal path; Step 5013: Read the similarity of the current optimal path and use the similarity of the current optimal path as the third indicator; Step 5014: Determine the comprehensive score based on the first indicator, the second indicator, the third indicator, and the weight parameters of each indicator, and calculate the comprehensive score by traversing the K optimal paths respectively.
[0066] Understandably, by assigning appropriate weights to these three indicators, calculating the overall score for each path, and selecting the path with the highest score for activation, the approach can be optimized.
[0067] This embodiment elevates the selection of the restoration path from a "binary judgment" (can or cannot) to a "multi-objective optimization" problem through steps 5011 to 501, making the decision-making process more intelligent and reasonable.
[0068] See below Figures 6 to 9 The following is a detailed introduction and explanation of the solutions in this embodiment of the invention, combined with specific scenarios of emergency dispatch and recovery of optical networks: Scenario 1: A critical OTN leased line (Business ID: SVCOO1) for a financial client suddenly becomes interrupted. The client initiates a complaint. The steps for applying the solution of this invention are as follows: S100, Task Trigger: The electronic operation and maintenance system creates an emergency dispatch work order, which triggers this system.
[0069] S200 Fault Diagnosis: The system, through querying the network management system, found that the "LOS (Loss of Signal)" alarm appeared on the "Fiber-AB" section through which the service path passes, and confirmed it as the root cause fault point.
[0070] S300, Record the route before adjustment: The system records the original route as: NE1->(Fiber-AB)->NE2->NE3->NE4.
[0071] S400, Obstacle Avoidance Route Calculation: The system adds "Fiber-AB" to an undefined set and quickly calculates an emergency route: NE1->(Fiber-AC)->NE5->(Fiber-CD)->NE3->NE4. This route completely avoids the fault point.
[0072] S500 Emergency Activation: The system automatically distributes the configuration and switches the service to the new route. The entire scheduling process takes about 3 minutes, and the service is restored.
[0073] S600, Service Restoration: A few hours later, the maintenance personnel repaired "Fiber-AB", and the system triggered restoration: Attempt at precise restoration: Using the original node sequence NE1->NE2->NE3->NE4 as a necessary condition, the calculation was successful (resources are available), and the service was switched back to the original route.
[0074] Scenario 2: Multiple fault handling and recovery in complex network scenarios. An unexpected event causes fiber optic cable interruptions between multiple nodes, affecting multiple services. The steps of applying the solution of this invention include: 1. For one of the affected services, the system diagnosed two fault points: Fault_Point_1 and Fault_Point_2.
[0075] 2. The obstacle avoidance route calculation module successfully calculated a complex emergency route, Emergency_Route_B, that can simultaneously avoid two fault points.
[0076] 3. The service is rerouted to Emergency_Route_B.
[0077] 4. After the fault was repaired, it was found during the restoration process that a critical port on the original path was temporarily adjusted and occupied, causing the accurate restoration calculation to fail.
[0078] 5. The system automatically triggers the secondary route calculation mode, removes the mandatory constraints, and calculates a new feasible restoration path Restore_Route_B (which may differ from the original path but connectivity is guaranteed).
[0079] 6. The service has been successfully switched to Restore_Route_B.
[0080] Scenario 3: Performance comparison test of weighted subtractor algorithm.
[0081] Test environment: Simulate an optical network topology with 5000 nodes and 15000 edges.
[0082] Test content: Randomly select 100 source and destination node pairs, and calculate the Top 10 shortest paths using the traditional Yen's algorithm and the weight reduction guided algorithm of this invention.
[0083] Test results: Yen's algorithm: average computation time was 12.5 seconds, with some complex requests timed out (>30 seconds); the algorithm of this invention: average computation time was 0.8 seconds, with no timeouts.
[0084] Scenario 4: Success Rate Test of Two-Stage Reduction Algorithm Test scenario: During service restoration, a 30% probability is manually set to temporarily occupy the original route.
[0085] Test content: Perform 1000 restore operations.
[0086] Test results: Simple backtracking strategy: success rate of approximately 70% (consistent with the availability probability of the original route); This invention's two-stage algorithm: success rate as high as 98.5%. Among them, 85% are completed through the first stage of highly similar paths, and 13.5% are completed through the second stage of multi-objective decision-making.
[0087] Please see Figure 10This application also provides an optical network fault emergency dispatch device that can implement the above-mentioned method. The device includes: The receiving module is used to receive fault list information, load the optical network topology map, and determine the shortest path from the source node to the destination node based on the fault list information and the optical network topology map. This module is responsible for receiving fault work orders from the upper-layer operation and maintenance system or proactively triggering diagnostic processes. It obtains circuit alarm information for specified services in real time by calling southbound interfaces (such as querying the OTN network management system NCE).
[0088] The shortest path calculation module is used to calculate the shortest path from the source node to the destination node from the second network topology graph; The candidate path generation module is used to determine the candidate path queue, determine the comprehensive weight of adjacent nodes based on the shortest path and the candidate path queue, select the adjacent node with the smallest comprehensive weight to expand the candidate path, and update the candidate path queue. The obstacle avoidance path determination module is used to filter obstacle avoidance paths from the updated candidate path queue. If the number of obstacle avoidance paths reaches a preset number or the updated candidate path queue is empty, the first routing table is configured according to the obstacle avoidance path. If the number of obstacle avoidance paths does not reach the preset number and the updated candidate path queue is not empty, the execution step is returned: determine candidate path queue. The routing module is used to perform routing operations based on the first routing table.
[0089] The routing module is responsible for performing specific service switching operations. Once the obstacle avoidance routing calculation module provides an available emergency route, this module issues path establishment commands to the underlying all-optical network controller through a standard control interface (such as RESTful API) to complete the cross-connect configuration and service activation.
[0090] In some embodiments, the apparatus further includes a service restoration module, used to perform the route restoration steps described in the above method embodiments.
[0091] Once the original fault is detected to have been repaired (e.g., fiber optic cable restoration is completed), the service restoration module is responsible for initiating and switching services back from the emergency route to the original route. To balance the accuracy and success rate of restoration, this module employs a dual-mode restoration strategy.
[0092] This device is typically deployed in a platform that integrates network management (NM) and operations support system (OSS) functions (such as a digital scheduling / energy adjustment platform) and works in conjunction with the underlying all-optical network controller (responsible for network device control).
[0093] In some embodiments, the device further includes a state recording module. The state recording module defines a complete state machine (such as "scheduling started", "routing in progress", "activation successful", "waiting to restore", "restoring", "restoring completed", "task failed", etc.) and records the timestamp and associated context information of each state transition in real time.
[0094] In some embodiments, the apparatus further includes a routing record module. The routing record module is responsible for recording and maintaining detailed information about the end-to-end original route of the service during service creation or normal operation. This information includes all nodes (network elements), links (fibers) traversed by the path, and cross-connections and wavelength allocations at the optical layer (e.g., OCH optical channels and OMS optical multiplexers traversed).
[0095] It is understood that the content of the above method embodiments is applicable to the present device embodiments. The specific functions implemented by the present device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0096] This application also provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the above-described method. This electronic device can be any smart terminal, including tablet computers, in-vehicle computers, etc.
[0097] It is understood that the content of the above method embodiments is applicable to this device embodiment. The specific functions implemented by this device embodiment are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0098] Please see Figure 11 , Figure 11 The hardware structure of an electronic device according to another embodiment is illustrated. The electronic device includes: The processor 1101 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this application. The memory 1102 can be implemented as a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 1102 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 1102 and is called and executed by the processor 1101 using the methods described in the embodiments of this application. Input / output interface 1103 is used to implement information input and output; The communication interface 1104 is used to enable communication and interaction between this device and other devices. Communication can be achieved through wired means (such as USB, network cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.). Bus 1105 transmits information between various components of the device (e.g., processor 1101, memory 1102, input / output interface 1103, and communication interface 1104); The processor 1101, memory 1102, input / output interface 1103 and communication interface 1104 are connected to each other within the device via bus 1105.
[0099] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method.
[0100] It is understood that the content of the above method embodiments is applicable to this storage medium embodiment. The specific functions implemented in this storage medium embodiment are the same as those in the above method embodiments, and the beneficial effects achieved are also the same as those achieved in the above method embodiments.
[0101] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.
[0102] It is understood that the content of the above method embodiments is applicable to the embodiments of this program product. The specific functions implemented by the embodiments of this program product are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0103] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory may optionally include memory remotely located relative to the processor, and these remote memories can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0104] The embodiments described in this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. As those skilled in the art will know, with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.
[0105] Those skilled in the art will understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of this application, and may include more or fewer steps than shown, or combine certain steps, or different steps.
[0106] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0107] Those skilled in the art will understand that all or some of the steps in the methods disclosed above, as well as the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, or suitable combinations thereof.
[0108] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0109] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0110] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of the units described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0111] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0112] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0113] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes multiple instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing programs, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0114] The preferred embodiments of the present application have been described above with reference to the accompanying drawings, but this does not limit the scope of the claims of the present application. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and substance of the embodiments of the present application shall be within the scope of the claims of the present application.
Claims
1. A method for emergency dispatching in optical network failures, characterized in that, The method includes the following steps: Receive fault list information, load optical network topology map, and determine the shortest path from source node to destination node based on the fault list information and the optical network topology map; A candidate path queue is determined. Based on the shortest path and the candidate path queue, the comprehensive weight of adjacent nodes is determined. The adjacent node with the smallest comprehensive weight is selected to expand the candidate path, and the candidate path queue is updated. Select obstacle avoidance paths from the updated candidate path queue. If the number of obstacle avoidance paths reaches a preset number or the updated candidate path queue is empty, configure the first routing table according to the obstacle avoidance paths. If the number of obstacle avoidance paths does not reach the preset number and the updated candidate path queue is not empty, return to the execution step: determine the candidate path queue. Perform routing operations based on the first routing table.
2. The method as described in claim 1, characterized in that, The process of determining the candidate path queue, which involves determining the comprehensive weight of adjacent nodes based on the shortest path and the candidate path queue, selecting the adjacent node with the smallest comprehensive weight to expand the candidate path, and updating the candidate path queue, includes: Determine whether the candidate path queue exists. If not, generate a candidate path queue with the source node as the node to be expanded. If yes, use the end node of the candidate path as the node to be expanded. The comprehensive weight is obtained based on the distance between each adjacent node and the weight reduction node of the node to be expanded, wherein the weight reduction node includes the intermediate node of the shortest path; The neighboring node with the smallest comprehensive weight is determined, and the neighboring node with the smallest comprehensive weight is connected to the node to be expanded to generate a new candidate path queue.
3. The method as described in claim 2, characterized in that, The step of obtaining the comprehensive weight value based on the distance between each adjacent node and the weight reduction node of the node to be expanded includes: Using the intermediate node of the shortest path as the weight reduction node, calculate the minimum distance from the adjacent nodes of the node to be expanded to the weight reduction node; The comprehensive weight is determined based on the minimum distance and the delay of the current candidate path, wherein the minimum distance approaches 0 when the end node of the candidate path approaches or reaches the weight reduction node.
4. The method as described in claim 1, characterized in that, The step of selecting obstacle avoidance paths from the updated candidate path queue includes: Determine whether the end node of the candidate path in the candidate path queue is a destination node. If yes, determine the current candidate path as the obstacle avoidance path. If no, keep the current candidate path in the candidate path queue until the candidate paths in the candidate path queue are traversed.
5. The method according to claim 1, characterized in that, If a fault repair completion message is received, the method further includes: Query the routing path before the failure, configure a second routing table based on the routing path before the failure, and perform routing operations based on the second routing table.
6. The method according to claim 5, characterized in that, When the second routing table scheduling fails, the method further includes: Calculate K optimal paths from the source node to the destination node from the optical network topology graph, and calculate the similarity between the optimal paths and the routing paths before the failure, where K is an integer greater than or equal to 2. From the K optimal paths, paths with similarity greater than a preset similarity threshold are selected as highly similar paths, and the path with the shortest length is selected from the highly similar paths as the first restoration path. Configure a third routing table based on the first restoration path, and perform routing operations based on the third routing table.
7. The method according to claim 6, characterized in that, The method further includes selecting paths with similarity greater than a preset similarity threshold from the K optimal paths as highly similar paths: If the number of highly similar paths selected is 0, calculate the comprehensive score of each of the K optimal paths, and select the path with the highest comprehensive score as the second restoration path. The comprehensive score is used to characterize the length, delay and similarity of the optimal path. Configure a fourth routing table according to the second restoration path, and perform routing operations according to the fourth routing table.
8. The method according to claim 7, characterized in that, The calculation of the comprehensive score for each of the K optimal paths includes: Select any path from the optimal paths, calculate the length / delay of the current optimal path to obtain the first index; Obtain historical routing data of the current optimal path, and determine the second indicator based on the historical routing data of the current optimal path; Read the similarity of the current optimal path and use the similarity of the current optimal path as a third indicator; The comprehensive score is determined based on the first indicator, the second indicator, the third indicator, and the weight parameters of each indicator. The comprehensive score is then calculated by traversing the K optimal paths.
9. An optical network fault emergency dispatch device, characterized in that, The device includes: The receiving module is used to receive fault list information, load the optical network topology map, and determine the shortest path from the source node to the destination node based on the fault list information and the optical network topology map. A candidate path generation module is used to determine a candidate path queue, determine the comprehensive weight of adjacent nodes based on the shortest path and the candidate path queue, select the adjacent node with the smallest comprehensive weight to expand the candidate path, and update the candidate path queue. The comprehensive weight is used to characterize the distance between the adjacent node and the shortest path, and the adjacent node is adjacent to the end node of the candidate path. The obstacle avoidance path determination module is used to filter obstacle avoidance paths from the updated candidate path queue. If the number of obstacle avoidance paths reaches a preset number or the updated candidate path queue is empty, the first routing table is configured according to the obstacle avoidance path. If the number of obstacle avoidance paths does not reach the preset number and the updated candidate path queue is not empty, the execution step is returned: determine candidate path queue. The routing module is used to perform routing operations based on the first routing table.
10. An electronic device, characterized in that, include: At least one processor; At least one memory for storing at least one program; when said at least one program is executed by said at least one processor, said at least one processor implements the method as described in any one of claims 1 to 8.