Method and device for establishing separation path

By constructing the initial graph and iteratively trimming, the problem of low computational efficiency of separation paths of main and standby nodes in the communication network is solved, and fast and accurate separation path establishment is achieved, which improves the service recovery capability of the communication network.

CN116566893BActive Publication Date: 2025-08-19CHINA TELECOM CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310679218.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-08
Publication Date
2025-08-19
Estimated Expiration
2043-06-08

AI Technical Summary

Technical Problem

The prior art is inefficient when calculating the separation path of the main and spare nodes in the communication network, resulting in wasted computing time and resources, especially in sparse networks, which is difficult to quickly calculate the results.

Method used

By constructing the initial graph and adding it to the image atlas to be verified, the iterative process is performed until the image atlas is empty, and the first path and the second path are determined using the shortest path algorithm. If the second path cannot be determined, the cut point set is obtained for cropping, forming two separate paths to avoid repeated calculations and resource waste.

Benefits of technology

Improve the computing efficiency and accuracy of the separated paths, ensure rapid switching and recovery of services in case of path failure, and improve the survivability of the communication network and the quality of telecommunications services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116566893B_ABST
    Figure CN116566893B_ABST
Patent Text Reader

Abstract

The present disclosure relates to the field of communication technology, and to a method and device for establishing a separation path. The method includes: constructing an initial graph based on source nodes and destination nodes in a communication network topology, and adding the initial graph to a to-be-verified graph set; performing an iterative process until the to-be-verified graph set is empty: obtaining a current graph from the to-be-verified graph set; if a first path of a source node and a destination node is determined based on the current graph and a second path is determined based on the remaining nodes in the initial graph except for the nodes passed through by the first path, forming a current path group based on the first path and the second path to update the optimal path group, and returning to the step of obtaining the current graph from the to-be-verified graph set; if the second path cannot be determined, obtaining a cut point set of the first path, cropping the current graph based on the nodes in the cut point set, adding the cropped subgraphs to the to-be-verified graph set, and returning to the step of obtaining the current graph; determining two separation paths based on the optimal path group corresponding to the i-th iterative process, where i is the total number of iterations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of communication technology, and more particularly, to a method for establishing a separate path and an apparatus for establishing a separate path. Background Art

[0002] With the advent of the digital age, the increasing use of real-time communication applications such as AR (Augmented Reality), VR (Virtual Reality), financial services, and industrial control has led to increasingly stringent user requirements for low latency and stability in communication networks. Transmission networks, as the optical bearer networks in current communication networks, whether using SDH (Synchronous Digital Hierarchy) or OTN (Optical Transport Network) technologies, offer fixed routes and stable latency, making them suitable for providing low-latency services to users. Furthermore, transmission network technologies can provide 1:1 or 1+1 protection switching for services. By pre-configuring primary and backup service routes, service recovery can be achieved within 50 milliseconds in the event of a single-side route failure. To achieve the low latency and rapid recovery characteristics of transmission networks, proper planning of primary and backup service routes is crucial.

[0003] In a communications network, the configuration of the primary and backup paths directly affects the effectiveness of protection switching. To avoid simultaneous failures of the primary and backup routes, the principle of node separation is usually adopted to plan the primary and backup paths. That is, with the exception of the source and destination nodes of the path, the nodes passed through by the primary and backup paths do not overlap, to avoid the simultaneous failure of the primary and backup paths due to single-point failures of the passing nodes. Under this premise, the service operates on the primary path with lower latency most of the time. Once a node or channel in the primary path fails, it can be switched to the backup path within 50 milliseconds. After the switch, the service latency will be worse than the primary, but service connectivity will be maintained. After the primary path fault is repaired, the service can switch back to the primary and continue to use the low-latency path.

[0004] In related technologies, when calculating the separation path between the primary and backup nodes, it is often necessary to traverse the different paths corresponding to the primary and backup nodes and then calculate the backup path based on this. This method is still a brute force traversal or a modified brute force traversal. In large-scale and sparse telecommunications networks, it may not be possible to quickly calculate the result due to excessive time or space consumption. In other words, the efficiency of establishing the separation path is low, which easily leads to a waste of computing time and resources. Summary of the Invention

[0005] The purpose of the present disclosure is to provide a method for establishing a separation path, an apparatus for establishing a separation path, a communication device and a computer-readable storage medium, thereby improving the efficiency of establishing the separation path and avoiding waste of computing time and resources.

[0006] Other features and advantages of the present disclosure will become apparent from the following detailed description, or may be learned in part by practice of the present disclosure.

[0007] According to one aspect of the present disclosure, there is provided a method for establishing a separation path, comprising:

[0008] Constructing an initial graph based on the source nodes, destination nodes, and node connection relationships in the communication network topology, and adding the initial graph to the graph set to be verified;

[0009] Performing an iterative process until the atlas to be verified is empty: obtaining a current image from the atlas to be verified, wherein the current image is removed from the atlas to be verified after each iterative process;

[0010] If a first path between the source node and the destination node is determined based on the current graph and a second path is determined based on the remaining nodes in the initial graph excluding the nodes passed by the first path, a current path group is formed based on the first path and the second path, so as to update the optimal path group based on the shortest path principle, and the process returns to the step of obtaining the current graph from the set of graphs to be verified;

[0011] If the second path cannot be determined, obtaining a cut point set of the first path, and clipping the current graph based on the nodes in the cut point set, adding the clipped subgraphs to the to-be-verified graph set, and returning to the step of obtaining the current graph from the to-be-verified graph set; wherein the cut point set is a set of nodes in the first path that separate the source node and the destination node into disconnected regions;

[0012] Two separate paths are determined according to the optimal path group corresponding to the i-th iterative process, where the two separate paths do not have a common node, and i is the total number of iterations; wherein one of the two separate paths is used as a working path and the other is used as a protection path.

[0013] In an exemplary embodiment of the present disclosure, a process of determining a first path based on the current graph and determining a second path based on remaining nodes in the initial graph except for the nodes passed through by the first path includes:

[0014] According to the initial graph, the shortest distance path between the source node and the destination node is determined as the first path; if the first path appears for the first time, the shortest distance path between the source node and the destination node is determined as the second path based on the remaining nodes in the initial graph except the nodes passed by the first path, and the current round of iteration process is continued; if the first path does not appear for the first time, return to the step of obtaining the current graph from the set of graphs to be verified to execute the next round of iteration process.

[0015] In an exemplary embodiment of the present disclosure, the process of updating the optimal path group based on the shortest path principle includes: obtaining the optimal path group corresponding to the previous iterative process; if the primary path distance of the current path group is less than the primary path distance corresponding to the previous iterative process, updating the current path group to the optimal path group; or, if the primary path distance of the current path group is equal to the primary path distance corresponding to the previous iterative process and the backup path distance of the current path group is less than the backup path distance corresponding to the previous iterative process, updating the current path group to the optimal path group; and if it is determined that the current path group is the first path group to appear, setting the current path group as the optimal path group.

[0016] In an exemplary embodiment of the present disclosure, the process of obtaining the cut point set of the first path includes: based on the initial graph, taking the passing nodes of the first path as blocking points, obtaining the farthest node on the first path that the source node reaches without passing through the blocking point; obtaining the intermediate nodes between the source node and the farthest node in the first path; forming the cut point set based on the farthest nodes and the intermediate nodes; wherein, based on the cut point set, the source node and the destination node are separated in different connected areas, and there are no common nodes between different connected areas.

[0017] In an exemplary embodiment of the present disclosure, the connected area where the source node is located is the first area; the forming of the cut point set based on the farthest node and the intermediate node includes: forming an initial cut point set based on the farthest node and the intermediate node; obtaining a target node from the initial cut point set, and if the target node has an edge connected to an area outside the first area, then forming the cut point set based on the target node.

[0018] In an exemplary embodiment of the present disclosure, before the step of cropping the current graph based on the nodes in the cut point set and adding the cropped subgraphs to the graph set to be verified, it also includes: sorting the nodes in the cut point set according to the node connection order of the first path, obtaining the farthest reachable node close to the destination node; removing the farthest reachable node in the current graph to obtain an updated graph; based on the updated graph, judging whether the source node is reachable to the destination node; wherein, if it is judged that the source node is reachable to the destination node, executing the step of cropping the current graph based on the nodes in the cut point set and adding the cropped subgraphs to the graph set to be verified; otherwise, returning to the step of obtaining the current graph from the graph set to execute the next round of iteration process.

[0019] In an exemplary embodiment of the present disclosure, the current graph is cropped based on the nodes in the cut point set, and the cropped subgraphs are added to the graph set to be verified, including: based on each node in the cut point set, deleting one node at a time in the current graph to obtain a subgraph; and adding each of the obtained subgraphs to the graph set to be verified.

[0020] In an exemplary embodiment of the present disclosure, after executing the iterative process until the to-be-verified atlas is empty, the method further includes: if the optimal path group is empty, outputting a prompt message to indicate that the two separation paths cannot be determined.

[0021] In an exemplary embodiment of the present disclosure, constructing an initial graph based on source nodes, destination nodes, and node connection relationships in a communication network topology includes: converting network nodes into vertex sets; based on the node connection relationships, converting weighted channels between network nodes into edge sets; wherein the channels between network nodes are determined based on whether the channels meet the service bandwidth; constructing the initial graph based on the vertex set and the edge set, wherein the starting point of the service is the source node, and the end point of the service is the destination node.

[0022] According to one aspect of the present disclosure, a device for establishing a separation path is provided, comprising: a construction module for constructing an initial graph based on source nodes, destination nodes, and node connection relationships in a communication network topology, and adding the initial graph to a graph set to be verified; a processing module for performing an iterative process until the graph set to be verified is empty: obtaining a current graph from the graph set to be verified, wherein the current graph is removed from the graph set to be verified after each iterative process; wherein, if a first path between the source node and the destination node is determined based on the current graph and a second path is determined based on the remaining nodes in the initial graph except the nodes passed through by the first path, a current path group is formed based on the first path and the second path, so as to update the optimal path group based on the shortest path principle. , and returns to the step of obtaining the current graph from the to-be-verified graph set; if the second path cannot be determined, obtain the cut point set of the first path, and crop the current graph based on the nodes in the cut point set, add the cropped subgraphs to the to-be-verified graph set, and return to the step of obtaining the current graph from the to-be-verified graph set; wherein the cut point set is a set of nodes in the first path that separates the source node and the destination node in a disconnected area; a determination module is used to determine two separation paths according to the optimal path group corresponding to the i-th iterative process, wherein the two separation paths do not have a common passing node, and i is the total number of iterations; wherein, one of the two separation paths is used as a working path and the other is used as a protection path.

[0023] According to one aspect of the present disclosure, a communication device is provided, comprising: a processor and a memory; the memory storing instructions executable by the processor; and the processor being configured to, when executing the instructions, enable the communication device to implement any one of the above-described methods for establishing a separate path.

[0024] According to one aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the method for establishing a separation path described in any one of the above is implemented.

[0025] The method for establishing a separation path in the exemplary embodiment of the present disclosure constructs an initial graph based on the source node, destination node and node connection relationship in the communication network topology, adds the initial graph to the graph set to be verified, and performs an iterative process based on the graph set to be verified until the graph set to be verified is empty.

[0026] On the one hand, during each iteration, a current graph is obtained from the set of graphs to be verified. If the first path between the source node and the destination node can be determined based on the current graph and the second path is determined based on the remaining nodes in the initial graph except the nodes passed through by the first path, then a current path group is formed based on the first path and the second path, and the optimal path group is updated based on the shortest path principle. In this way, during each iteration, if the current path group can be determined based on the current graph, the optimal path group is continuously updated to obtain two separate paths for node separation, and the main path is the shortest.

[0027] On the other hand, in each iteration process, if the second path cannot be determined, the nodes in the first path that separate the source node and the destination node in the disconnected area are obtained as the cut point set, and the subgraph after the current graph is pruned based on the nodes in the cut point set is added to the graph set to be verified for subsequent iteration processes. Through this process, when the second path cannot be determined, the current graph is pruned in a targeted manner based on the cut point set, which can reduce the amount of calculation and time of the subsequent iteration process. Moreover, in the subsequent iteration process, the time complexity of the path calculation using the subgraph is less than the time complexity of swinging the entire path node on the initial graph, thereby improving the efficiency and accuracy of establishing the separation path. In addition, the method of the embodiment of the present disclosure can quickly and effectively establish a separation path. For application scenarios that require planning the separation of the main and standby nodes, when a network element or relay channel passing through a path fails, it can not affect the integrity of the other path, thereby achieving rapid switching and recovery of the service, improving the survivability of the communication network service, and thus improving the quality of telecommunications services and enhancing user perception.

[0028] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] The above and other objects, features and advantages of the exemplary embodiments of the present disclosure will become readily understood by reading the detailed description below with reference to the accompanying drawings, in which several embodiments of the present disclosure are shown by way of example and not limitation, wherein:

[0030] Figure 1 An application scenario diagram related to an embodiment of the present disclosure is shown;

[0031] Figure 2 A flow chart showing a method for establishing a separation path according to an exemplary embodiment of the present disclosure is shown;

[0032] Figure 3 A flowchart illustrating an implementation method for updating an optimal path group according to an exemplary embodiment of the present disclosure is shown;

[0033] Figure 4A flowchart illustrating an implementation method for determining a cut point set of a first path according to an exemplary embodiment of the present disclosure is shown;

[0034] Figure 5 A communication network topology diagram according to an exemplary embodiment of the present disclosure is shown;

[0035] Figure 6 A flowchart illustrating an implementation method for determining to terminate the current round of iteration process in advance according to an exemplary embodiment of the present disclosure is shown;

[0036] Figure 7 A flowchart illustrating a method for implementing cropping of a current image according to an exemplary embodiment of the present disclosure is shown;

[0037] Figure 8 A complete flow chart of establishing a separation path according to an exemplary embodiment of the present disclosure is shown;

[0038] Figure 9 Another exemplary telecommunication network sparse topology diagram according to an exemplary embodiment of the present disclosure is shown;

[0039] Figure 10 A schematic diagram showing the composition of an apparatus for establishing a separation path according to an exemplary embodiment of the present disclosure is shown;

[0040] Figure 11 A schematic diagram of a communication device according to an exemplary embodiment of the present disclosure is shown.

[0041] In the drawings, the same or corresponding reference numerals denote the same or corresponding parts. DETAILED DESCRIPTION

[0042] The exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, these examples are provided so that this disclosure will be thorough and complete and will fully convey the concepts of the exemplary embodiments to those skilled in the art. Identical reference numerals in the figures represent identical or similar structures, and thus detailed descriptions thereof will be omitted.

[0043] In addition, the described features, structures or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure can be practiced without one or more of the specific details, or other methods, components, devices, steps, etc. can be adopted. In other cases, well-known structures, methods, devices, implementations or operations are not shown or described in detail to avoid obscuring various aspects of the present disclosure.

[0044] The blocks shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically separate entities. Specifically, these functional entities may be implemented in software, or in one or more software-hardened modules, or in different networks and / or processor devices and / or microcontroller devices.

[0045] In communications networks, the configuration of primary and backup paths directly impacts the effectiveness of protection switching. To prevent simultaneous failure of both primary and backup routes, primary and backup paths are typically planned based on node separation. Specifically, with the exception of the source and destination nodes, the primary and backup paths must traverse separate nodes to prevent simultaneous failure of both paths due to a single point of failure.

[0046] like Figure 1 An application scenario diagram related to an embodiment of the present disclosure is shown, including a working path and a protection path that follow the path separation principle. The working path and the protection path can be distributed on different links, and the nodes passed through on the links do not overlap.

[0047] based on Figure 1 The two separate paths shown in the figure allow the services carried to be quickly switched to the protection path when the working path fails. That is, to ensure the selection of this recovery path, the working path and the protection path follow the path separation principle, that is, the working path and the protection path are distributed to different nodes and different links as much as possible.

[0048] In related technologies, routing algorithms, such as the Dijkstra algorithm, typically focus on finding the shortest-distance path. While this can be used to discover the shortest-latency path in a network, due to the sparse connectivity and dual-egress nature of telecommunications networks, it's often impossible to find a separate backup path with separate nodes when the shortest-latency path is used as the primary path. In this case, a feasible approach is to traverse the top N primary paths based on the shortest-distance path. Then, after sequentially removing nodes along the primary path in the network, the shortest-distance path algorithm is used to calculate backup paths until a primary path with a backup is found, forming two separate paths with the shortest primary distance.

[0049] However, this method is essentially a brute-force traversal. In sparse telecommunications networks, the calculated top N primary paths may not even find backup paths, resulting in low efficiency. Furthermore, if there are no separate primary and backup paths in the network, the top N traversal lacks a stopping boundary, and exhaustive traversal may lead to the situation where no matching paths exist. When the number of nodes in a communication network reaches hundreds or even tens of thousands, this method lacks a clear stopping boundary, resulting in a waste of computing time and resources in practical applications.

[0050] In view of one or more of the above problems, there is an urgent need for a non-violent traversal method to establish two separation paths for node separation. The execution subject of the method for establishing the separation path in the embodiment of the present disclosure is a related executor in the network, or a processor configured in the executor. Figure 2 A flowchart of a method for establishing a separation path according to an exemplary embodiment of the present disclosure is shown. Figure 2 The method for establishing a separation path according to an embodiment of the present disclosure may include steps S210 to S230:

[0051] In step S210, an initial graph is constructed according to source nodes, destination nodes, and node connection relationships in the communication network topology, and the initial graph is added to a graph set to be verified.

[0052] In exemplary embodiments of the present disclosure, a source node in a communication network topology refers to a network node that acts as the source of information and sends the original data packet, such as a network element that transmits information. Correspondingly, the network node that receives the information is the destination node (also referred to as a sink node). For bidirectional communication, the source node also serves as the destination node, and the destination node also serves as the source node.

[0053] In accordance with business needs, the disclosed embodiments perform undirected simple graph conversion based on the communication network topology of the source and destination nodes to obtain an initial undirected graph. For example, the communication network topology can be converted to a point-line graph (OG(V,E)) model. Of course, the disclosed embodiments can convert the communication network topology to other types of graph models as needed, without any particular limitation.

[0054] Among them, the atlas to be verified is empty in the initial state. After the initial graph is constructed, the initial graph is added to the atlas to be verified. Each graph in the atlas to be verified corresponds to a subsequent round of iterative process, that is, each round of iterative process is used to perform corresponding processing on a graph in the atlas to be verified. The specific iterative process will be introduced later.

[0055] In step S220 , an iterative process is performed until the atlas to be verified is empty.

[0056] In step S2201, a current image is obtained from the set of images to be verified, and the current image is removed from the set of images to be verified after each iteration.

[0057] In step S2202, if the first path of the source node and the destination node is determined based on the current graph and the second path is determined based on the remaining nodes in the initial graph except the nodes passed through by the first path, then a current path group is formed based on the first path and the second path, which is used to update the optimal path group based on the shortest path principle, and return to the step of obtaining the current graph from the graph set to be verified.

[0058] In an exemplary embodiment of the present disclosure, when determining the first path and the second path between the source node and the destination node based on the initial graph, the shortest path method can be used for calculation, such as the Dijkstra algorithm. Of course, the embodiment of the present disclosure can also select other shortest path algorithms according to actual needs, such as the Bellman-Ford algorithm, the improved Dijkstra algorithm, etc. The embodiment of the present disclosure includes but is not limited to the above shortest path methods.

[0059] Initially, the optimal path group is empty. During each iteration, based on the shortest path principle, if the current path group has a shorter primary or backup path than the historical optimal path group, the current path group is updated to the optimal path group. Otherwise, the optimal path group remains the historical optimal path group. In other words, during each iteration, if the current path group exists, the optimal path group is updated based on the current path group, ensuring that the optimal path group remains the historical optimal path group before the next iteration.

[0060] Furthermore, in each iteration process, if the current path group can be formed and the optimal path group corresponding to this iteration process is determined, the process returns to the step of obtaining the current graph from the graph set to be verified to enter the next iteration process.

[0061] On the contrary, in step S2203, if the second path cannot be determined, the cut point set of the first path is obtained, and the current graph is cropped based on the nodes in the cut point set, and the cropped subgraphs are added to the graph set to be verified, and the process returns to the step of obtaining the current graph from the graph set to be verified; wherein the cut point set is a set of nodes in the first path that separates the source node and the destination node in a disconnected area.

[0062] In an exemplary embodiment of the present disclosure, if a first path between a source node and a destination node is determined based on the current graph, but a second path cannot be determined based on the remaining nodes in the initial graph except for the nodes passed through by the first path, it means that the first path contains a set of cut points that causes the source node and the destination node to be disconnected. In this step, it is necessary to determine the cut point set and crop the current graph based on the cut point set to add the obtained subgraph to the graph set to be verified for subsequent iterative processes, and return to the step of obtaining the current graph from the graph set to be verified to enter the next round of iterative processes.

[0063] It is worth noting that steps S2201 to S2203 in step S220 belong to the same iterative process. However, the method for establishing a separate path in the disclosed embodiment may require one or more rounds of such iterative processes to be performed cyclically. The specific number of iterations is related to information such as the actual communication network topology. The specific details of each iterative process will be described later.

[0064] In step S230, two separate paths are determined based on the optimal path group corresponding to the i-th iteration process, and there is no common node between the two separate paths. i is the total number of iterations; among them, one path of the two separate paths is used as the working path and the other path is used as the protection path.

[0065] In an exemplary embodiment of the present disclosure, when the atlas to be verified is empty, the optimal path group corresponding to the last iteration may be obtained as two separate paths, and the optimal path group corresponding to the last iteration is the historical optimal path group.

[0066] The method for establishing a separation path in the exemplary embodiment of the present disclosure constructs an initial graph based on the source node, destination node and node connection relationship in the communication network topology, and adds the initial graph to the set of graphs to be verified, and performs an iterative process based on the set of graphs to be verified until the set of graphs to be verified is empty. On the one hand, in each iterative process, a current graph is obtained from the set of graphs to be verified. If the first path of the source node and the destination node can be determined based on the current graph and the second path is determined based on the remaining nodes in the initial graph except the nodes passed through by the first path, a current path group is formed based on the first path and the second path, and the optimal path group is updated based on the principle of the shortest path, so that in each iterative process, if the current path group can be determined based on the current graph, the optimal path group is continuously updated to obtain two separation paths for node separation, and the main path is the shortest.

[0067] On the other hand, during each iteration, if the second path cannot be determined, the nodes in the first path that separate the source and destination nodes in disconnected regions are obtained as a cutpoint set. The subgraph created by trimming the current graph based on the nodes in the cutpoint set is added to the set of graphs to be verified for use in subsequent iterations. This process allows targeted trimming of the current graph based on the cutpoint set when the second path cannot be determined, reducing the computational complexity and time of subsequent iterations. Furthermore, the time complexity of path calculation using the subgraph in subsequent iterations is less than the time complexity of oscillating the nodes along the entire path in the initial graph, improving the efficiency and accuracy of establishing separate paths.

[0068] In addition, the method of the embodiment of the present disclosure can quickly and effectively establish a separate path. For application scenarios that require planning the separation of primary and backup nodes, when a network element or relay channel along one path fails, it can not affect the integrity of the other path, thereby achieving rapid switching and recovery of services, improving the survivability of communication network services, and thereby improving the quality of telecommunications services and enhancing user perception.

[0069] The following will describe in detail the contents involved in one iteration process in step S220.

[0070] In an exemplary embodiment, the process of determining the first path based on the current graph and determining the second path based on the remaining nodes in the initial graph except for the nodes passed by the first path may include:

[0071] First, the shortest distance path between the source node and the destination node is determined as a first path based on the initial graph. The first path can be calculated based on any shortest path method, such as Dijkstra's algorithm, and the present embodiment does not impose any special restrictions on this.

[0072] If the shortest distance path between the source node and the destination node cannot be calculated based on the initial graph, it means that the source node and the destination node are not connected in the current graph. In this case, the current iteration process is stopped and the process returns to the step of obtaining the current graph from the graph set to be verified to execute the next iteration process.

[0073] Next, determine whether the first path appears for the first time.

[0074] Among them, if the first path exists and appears for the first time, the shortest distance path between the source node and the destination node is determined as the second path based on the remaining nodes in the initial graph except the nodes passed by the first path, and the current round of iteration process is continued; otherwise, if the first path does not appear for the first time, return to the step of obtaining the current graph from the graph set to be verified to execute the next round of iteration process.

[0075] By determining whether the first path appears for the first time, we can avoid calculating repeated paths and improve iteration efficiency. That is, if the first path does not appear for the first time, we stop the current iteration process and start the next iteration process.

[0076] It should be noted that, in the embodiment of the present disclosure, any shortest path method may be employed when determining the second path based on the remaining nodes in the initial graph, excluding the nodes traversed by the first path. Of course, the embodiment of the present disclosure may also employ a modified Jästra algorithm to calculate the second path. The following describes the process of determining the second path in the embodiment of the present disclosure.

[0077] Using the remaining nodes in the first path, excluding the source and destination nodes, as blocking points (walls), the Jastra algorithm is used to calculate a second path completely separated from the nodes along the first path. In this embodiment, a judgment step is added to the calculation process based on the Jastra algorithm. Specifically, when a subpath is expanded from the source node, if the expansion reaches a node (extension point) among the remaining nodes, the subpath and the corresponding extension point are discarded and not used in subsequent calculations. The extension point is also recorded. The second path is then calculated using the Jastra algorithm with the added judgment step.

[0078] It should be noted that only the improved part of the embodiment of the present disclosure for the Jastra algorithm is described here, and the method content defined by the Jastra algorithm is not repeated here.

[0079] After calculating the first path and the second path in the embodiment of the present disclosure, there are two results: one is that two separation paths with separated nodes are obtained, and the two separation paths form the current path group; the other is that the second path is not obtained, which indicates that the remaining nodes in the first path except the source node and the destination node contain a set of separation points that separate the source node and the destination node.

[0080] In an exemplary embodiment, a method for updating the optimal path group is provided. Figure 3 As shown, the process of updating the optimal path group based on the shortest path principle may include steps S310 to S330:

[0081] Step S310: Obtain the optimal path group corresponding to the previous round of iteration process.

[0082] Initially, the optimal path set is empty. After each iteration, if a current path set exists, it is used to update the optimal path set based on the shortest path principle. The optimal path set corresponding to the previous iteration is the optimal path set determined after the previous iteration, i.e., the historical optimal path set. The existence of a historical optimal path set may or may not depend on the actual communication network topology.

[0083] Step S320: If the optimal path group corresponding to the previous round of iteration is obtained, a distance comparison is performed between the optimal path group and the current path group.

[0084] If the primary path distance of the current path group is less than the primary path distance corresponding to the previous iterative process, the current path group is updated to the optimal path group. Alternatively, if the primary path distance of the current path group is equal to the primary path distance corresponding to the previous iterative process and the backup path distance of the current path group is less than the backup path distance corresponding to the previous iterative process, the current path group is updated to the optimal path group.

[0085] In other words, based on the shortest path principle, if a historically optimal path group exists, the current path group is compared with the optimal path group corresponding to the previous iteration process for primary and backup paths. The current optimal path group is determined based on the comparison results. The primary path in any path group is the shorter path in the group, and the backup path in any path group is the longer path in the group.

[0086] Step S330: If the optimal path group corresponding to the previous iteration process is not obtained, that is, it is determined that the current path group is the first-appearing path group, the current path group is used as the optimal path group.

[0087] It should be noted that if the current path group is not the shortest path compared to the optimal path corresponding to the previous iterative process, the current path group is abandoned and the process returns to the step of obtaining the current graph from the to-be-verified graph set to proceed to the next iterative process.

[0088] Through the above steps S310 to S330, the optimal path group obtained through this iterative process is made the historical optimal. Then, when the atlas to be verified is empty, if an optimal path group exists, the primary path in the optimal path group is the shortest.

[0089] In an exemplary embodiment, a method for determining a set of cut points of a first path is provided. Figure 4 As shown, the process of obtaining the cut point set of the first path may include steps S410 to S430:

[0090] Step S410: Based on the initial graph, taking the nodes along the first path as blocking points, obtain the farthest node on the first path that the source node can reach without passing through the blocking points.

[0091] See also Figure 5A communication network topology diagram according to an exemplary embodiment of the present disclosure is shown, where the first path is (s, a1, a3, c1, c2, c4, c3, b1, b3, d), the blocking point is (a1, a3, c1, c2, c4, c3, b1, b3), and the farthest node on the first path that can be reached by the source node without passing through the blocking point is c2.

[0092] Step S420: Acquire intermediate nodes between the source node and the farthest node in the first path.

[0093] Continue to see Figure 5 As shown, in the first path, the intermediate nodes between the source node s and the farthest node c2 include (a1, a3, c1).

[0094] Step S430: forming a cut point set based on the farthest node and the intermediate node, wherein the source node and the destination node are separated into different connected areas based on the cut point set, and there are no common nodes between different connected areas.

[0095] Continue to see Figure 5 , the cut point set formed by the farthest node c2 and the intermediate node (a1, a3, c1) is (a1, a3, c1, c2), which makes the source node and the destination node located in different connected areas.

[0096] In an exemplary embodiment, the connected area where the source node is located is the first area. The embodiment of the present disclosure also provides an implementation method for narrowing the scope of the cut point set. Forming a cut point set based on the farthest node and the intermediate node may include:

[0097] Form an initial cut point set based on the farthest node and the intermediate node;

[0098] A target node is obtained from the initial cut point set. If the target node has an edge connected to an area outside the first area, a cut point set is formed based on the target node.

[0099] Among them, combined Figure 5 As shown in the figure, the initial cutpoint set is (a1, a3, c1, c2), where only c1 and c2 have edges connecting to areas outside the first region. The cutpoint set after the narrowing is then (c1, c2). In other words, the cutpoint set of the first path logically refers to nodes that can be reached from the source node without passing through any other nodes on the first path, and the nodes in the cutpoint set have edges that can reach nodes outside the first region where the source node is located.

[0100] By narrowing the cut point set of the first path in a targeted manner, the amount of iterative calculations for the subsequent subgraphs determined based on the cut point set can be reduced.

[0101] In an exemplary embodiment, a method for determining to terminate the current round of iteration process in advance is also provided. Figure 6 As shown, before the step of clipping the current graph based on the nodes in the cut point set and adding the clipped subgraphs to the graph set to be verified, steps S610 to S630 may be further included:

[0102] Step S610: sort the nodes in the cut point set according to the node connection order of the first path, and obtain the farthest reachable node close to the destination node.

[0103] If the nodes in the cut point set are sorted according to the node connection order of the first path, (v i ,v i+1 ,…,v j ), then the farthest reachable node is determined to be v j .

[0104] Step S620: Remove the farthest reachable node in the current graph to obtain an updated graph.

[0105] Step S630: Based on the updated graph, determine whether the source node is reachable to the destination node.

[0106] Among them, based on the updated graph, if it is determined that the source node can reach the destination node, the current graph is cropped based on the nodes in the cut point set, and the cropped subgraph is added to the graph set to be verified; otherwise, the farthest reachable node is determined to be the cut point, and the current graph cannot calculate two separation paths for node separation, then return to the step of obtaining the current graph from the graph set to be verified to execute the next round of iterative process.

[0107] It should be noted that the embodiment of the present disclosure does not need to verify other nodes in the cut point set, because the source node can reach the destination node through the farthest node in the cut point set even without passing through other nodes, that is, other nodes are not cut points between the source node and the destination node.

[0108] In an exemplary embodiment, a method for cropping the current image is also provided.

[0109] like Figure 7 A schematic diagram of pruning a current graph according to an exemplary embodiment of the present disclosure is shown, including: based on each node in the cut point set, deleting one node at a time in the current graph to obtain a subgraph, and then adding each obtained subgraph to the graph set to be verified.

[0110] in, Figure 7 The cut point set in the graph is (c1, c2). First, delete c1 and the edges associated with c1 in the current graph to obtain a subgraph. Figure 1 ; Then delete c2 and the edges associated with c2 in the current graph to get a child Figure 2 ; Finally, the obtained child Figure 1 Kazuko Figure 2 Added to the collection of images to be verified.

[0111] Similarly, if in subsequent iterations, Figure 1 Determine the current graph. If the cut point set includes node c3, then in the child Figure 1 Delete c3 and the edges associated with c3 from the current graph to get a child Figure 3 , and add the atlas to be verified for subsequent iterations, etc., and we will not list each subgraph one by one here.

[0112] It should be noted that, in actual implementation, in order to further reduce the computational time and space waste caused by cropping the current graph, the steps of cropping to generate a subgraph can also be performed by recording the cropping points (nodes in the cut point set). That is, the cropping points and edges can be temporarily deleted on the initial graph. After performing the corresponding iterative calculations, the cropping points and edges can be restored for use in subsequent iterative processes, thereby reducing the consumption of computational time and space.

[0113] The disclosed embodiment obtains a subgraph by clipping the current graph with the nodes in the cut point set. Since the time complexity of path calculation for the subgraph is less than the time complexity of swinging the nodes of the entire path on the unclipped graph, the iteration efficiency is greatly improved, thereby improving the efficiency of establishing the separation path.

[0114] In addition, after the iterative process is performed until the atlas to be verified is empty, if the optimal path group is empty, a prompt message is output to indicate that the two separation paths cannot be determined.

[0115] Conversely, if the iteration process continues until the set of graphs to be verified is empty, and if the optimal path group is not empty, two separate paths are determined based on the optimal path group corresponding to the i-th iteration, with i being the total number of iterations. These two separate paths do not share any common nodes, and one of these two separate paths is used as the working path and the other as the protection path. Thus, two separate paths with separate nodes are obtained, and the working path (primary path) is the shortest.

[0116] In an exemplary embodiment, a method for determining an initial graph is also provided. The initial graph is constructed based on source nodes, destination nodes, and node connection relationships in a communication network topology, including:

[0117] Network nodes are converted into vertex sets. Based on the node connectivity, weighted channels between network nodes are converted into edge sets. Channels between network nodes are determined based on whether they meet the service bandwidth. An initial graph is constructed based on the vertex set and edge set. The service origin is the source node, and the service endpoint is the destination node.

[0118] When implemented in a communication network, network nodes can be converted into a vertex set (V), and weighted channels between nodes can be converted into an edge set (E) to form an initial graph.

[0119] The channel between each two network nodes is screened based on whether it meets the service bandwidth. Specifically:

[0120] If no channels meet the service bandwidth requirements, there are no edges between the corresponding vertices in the graph. If one or more channels meet the service bandwidth requirements, the costs of these edges are first set. When latency is the priority for optimal paths, the cost of an edge is latency. If the optimal path requirement is hop count, the cost of all edges is 1. If resource utilization is prioritized, the remaining channel bandwidth can be converted into a cost. Since the initial graph is simple, the edge with the lowest cost between two vertices is retained. The starting and ending points of the service are the source node s and the destination node d, respectively.

[0121] Figure 8 A complete flow chart of establishing a separation path according to an exemplary embodiment of the present disclosure is shown below. Figure 8 , the process of establishing a separation path in an embodiment of the present disclosure is described.

[0122] Step S810: construct an initial graph according to the source nodes, destination nodes and node connection relationships in the communication network topology, and add the initial graph to the graph set to be verified.

[0123] Among them, the initial graph OG(V,E) is constructed, the graph set to be verified is initialized, such as named UG_S, and the initial graph OG(V,E) is added to UG_S.

[0124] At the same time, the historical active path set can be initialized and named UP_S, which is an empty set in the initial state; and the optimal path group can be initialized and named BP, which is empty in the initial state.

[0125] The following describes an iterative process based on the atlas to be verified until the atlas to be verified is empty.

[0126] Step S820: Determine whether the atlas to be verified is empty.

[0127] If the atlas to be verified is empty, the process proceeds to step S8150. In step S8150, it is determined whether an optimal path group exists. If so, the process proceeds to step S8170, where the shorter path in the optimal path group is used as the primary path and the other as the backup path, resulting in two separate paths, and the process of establishing separate paths ends. If the optimal path group does not exist, the process proceeds to step S8160, where it is determined that the current communication network cannot obtain two separate paths with separate nodes, and the process of establishing separate paths ends.

[0128] On the contrary, if it is determined that the atlas to be verified is not empty, the process goes to step S830 and enters the first iterative process.

[0129] Step S830: Obtain the current image from the image set to be verified.

[0130] In this step, the current graph can be obtained from the to-be-verified graph set and named CG(V,E).

[0131] Step S840: Determine a first path between the source node and the destination node based on the current graph.

[0132] Step S850: Determine whether the first path is calculated and whether the first path appears for the first time (does not exist in UP_S).

[0133] If yes, go to step S860, add the first path to UP_S, and record the remaining nodes and edges in the first path except the source node and the destination node in order as (e1, v1, ..., e n Otherwise, if the first path is not calculated, or if the first path is calculated and already exists in UP_S, then this round of iteration ends and the process goes to step S820.

[0134] Step S870: Determine the second path based on the remaining nodes in the initial graph except the nodes passed by the first path.

[0135] Based on the initial graph OG(V, E), the second path is calculated based on the improved Dijkstra algorithm according to the embodiment of the present disclosure.

[0136] Specifically, two node sets RV1 (initialized to include the source node s) and RV2 (initialized to an empty set) are preset. In the process of calculating the second path based on the improved Dijkstra algorithm, the nodes along the first path are used as isolation points to calculate the second path from the source node to the destination node. When the second path is extended, each time a reachable node is reached, the reachable node is recorded in RV1; if the reachable node is included in (e1, v1, …, e n ), the path and the reachable node are discarded and no longer used in subsequent iterations. The reachable node is placed in RV2. This ensures that all subsequently calculated paths will not reach the destination node via a node in the first path.

[0137] In step S880, it is determined whether the second path is calculated.

[0138] If yes, then go to step S890, form a current path group based on the first path and the second path, and the two separate paths in the current path group do not have a common passing node. Otherwise, it means (e1, v1, ..., e n) contains the cut point set, so that there is no way to find a node between the source node and the destination node that does not contain (e1,v1,…,e n ) in the path of one or more nodes, then go to step S8120.

[0139] Step S8100: Determine whether the current path group is better than the historical optimal path group (ie, the optimal path group determined after the previous round of iteration).

[0140] If so, go to step S8110: update the current path group to the optimal path group, and go to step S820 to enter the next round of iteration; otherwise, abandon the current path group and go directly to step S820.

[0141] Step S8120: Obtain the cut point set of the first path.

[0142] Among them, in order to avoid invalid calculations, a cut point set with a narrowed range can be obtained, that is, based on the initial graph, the nodes along the first path are used as blocking points, and the farthest node on the first path reached by the source node without passing through the blocking point is obtained, and the intermediate nodes between the source node and the farthest node are obtained in the first path. An initial cut point set is formed based on the farthest node and the intermediate nodes, and the target node is obtained from the initial cut point set. If the target node has an edge connected to an area outside the first area (the connected area where the source node is located), a cut point set is formed based on the target node.

[0143] This step can be based on the calculation result of step S870, that is, based on RV1, RV2 and (e1, v1, ..., e n ).

[0144] In actual implementation, the nodes in RV2 can be checked for edges. If the peer nodes of the edge of the node are only contained in RV1, the node is deleted from RV2. n ) in the order of sorting, the first node is named v i , the last node is named v j , then (e1,v1,…,e n ) i to v j The nodes between them are the restricted cutpoint set. This cutpoint set separates the source node and the destination node into different connected regions, and there are no common nodes between different connected regions.

[0145] Step S8130: Determine whether there is a cut point in the cut point set. This step determines whether there is a cut point of the current graph CG(V, E) in the cut point set.

[0146] Specifically, first, sort the nodes in the cut point set according to the node connection order of the first path, and obtain the farthest reachable node close to the destination node, that is, v j ; Secondly, remove the farthest reachable node in the current graph CG(V,E) to obtain the updated graph; finally, based on the updated graph, determine whether the source node can reach the destination node.

[0147] If it is determined that the source node can reach the destination node and the farthest reachable node is not a cut point, then go to step S8140. Otherwise, determine v j is a cut point, indicating that the path between the source node and the destination node must pass through v j , and further, if it is impossible for two separation paths with separated nodes to exist in the current graph CG(V,E), then this round of iteration can be ended and the process returns to step S820 to execute the next round of iteration process.

[0148] Step S8140: Crop the current image to obtain a sub-image and add it to the image set to be verified.

[0149] The current graph is pruned based on the nodes in the cut point set, and the pruned subgraphs are added to the graph set to be verified. That is, the current graph CG(V,E) is deleted each time v i to v j A node in the path obtains a subgraph, which is added to the graph set to be verified, and then goes to step S820.

[0150] At this point, after looping through steps S820 to S8170 one or more times, when the graph set to be verified is empty, if an optimal path group exists, two separation paths are obtained; otherwise, it is determined that there are no two separation paths with node separation in the current communication network.

[0151] The following describes the method for establishing a separation path according to an embodiment of the present disclosure with reference to specific examples.

[0152] Figure 5 This diagram shows an example of a sparse telecommunications network topology. Nodes numbered c represent the backbone network. These nodes are generally far apart, so when latency is a trade-off, the path cost is generally high. Nodes numbered a and b represent regional networks, a and b. Regional networks are denser than the backbone and generally have lower path costs. s and d represent the source and destination nodes, respectively.

[0153] The following is based on Figure 5 The method for establishing a separation path according to an embodiment of the present disclosure is described.

[0154] In the first iteration, Figure 5As the initial graph (current graph), the first path calculated is s-a1-a3-c1-c2-c4-c3-b1-b3-d, and according to the remaining nodes in the initial graph except the nodes passed through by the first path, it is determined that the second path cannot be calculated. Based on the initial graph, the nodes passed through by the first path a1-a3-c1-c2-c4-c3-b1-b3 are used as blocking points. The farthest node on the first path s-a1-a3-c1-c2-c4-c3-b1-b3-d reached by the source node s without passing through the blocking point is c2, that is, the nodes (s, a1, a2, a3, a4, c1, c2) that can be reached during the calculation process form the first area.

[0155] Here, we explain the process of determining the cutpoint set for the first path. First, we determine the intermediate nodes (a1, a3, c1) between the source node s and the furthest node c2 in the first path. Next, we form the initial cutpoint set (a1, a3, c1, c2) based on the furthest node c2 and the intermediate nodes (a1, a3, c1). Furthermore, in this initial cutpoint set, only c1 and c2 have edges connecting to regions outside the first region (s, a1, a2, a3, a4, c1, c2), while all edges of a1 and a3 are within the first region. Finally, we form the cutpoint set (c1, c2) based on c1 and c2 (i.e., the narrowed cutpoint set).

[0156] Furthermore, if it is determined based on the method of step S8130 that c1 and c2 are not cut points, the current graph is clipped based on the cut point set (c1, c2), that is, c1 and c2 are deleted from the initial graph to form two subgraphs (see Figure 7 , respectively denoted as sub Figure 1 Kazuko Figure 2 ) and adds the two sub-images to the atlas to be verified. This completes the first iteration. The second iteration is described below.

[0157] First, determine whether the atlas to be verified is non-empty.

[0158] Secondly, get the current graph from the graph set to be verified, that is, the sub Figure 1. The first path calculated for the current graph is s-a1-a4-c2-c4-c3-b1-b3-d, and according to the remaining nodes in the current graph except the nodes passed by the first path, it is determined that the second path cannot be calculated. Moreover, based on the initial graph, the nodes a1-a4-c2-c4-c3-b1-b3-d passed by the first path s-a1-a4-c2-c4-c3-b1-b3-d are used as blocking points, and the farthest node c3 is obtained on the first path s-a1-a4-c2-c4-c3-b1-b3-d reached by the source node s without passing through the blocking point. That is, the nodes (s, a1, a2, a3, a4, c1, c2, c3) that can be reached during the calculation process form the first area.

[0159] Here, we explain the process of determining the cutpoint set for the first path. First, we determine the intermediate nodes (a1, a4, c2, c4) between the source node s and the furthest node c3 in the first path. Next, we form the initial cutpoint set (a1, a4, c2, c3, c4) based on the furthest node c3 and the intermediate nodes (a1, a4, c2, c4). Furthermore, only c3 and c4 in the initial cutpoint set have edges connecting to regions outside the first region (s, a1, a2, a3, a4, c1, c2, c3), while all other nodes have edges within the first region. Finally, we form the cutpoint set (c3, c4) based on c3 and c4 (i.e., the narrowed cutpoint set).

[0160] Furthermore, based on the method of step S8130, it is determined that c3 and c4 are not cut points, and the current graph is clipped based on the cut point set (c3, c4), that is, the subgraph is clipped. Figure 1 After deleting c3 and c4 respectively, two subgraphs are formed, and the two subgraphs (referred to as subgraphs Figure 3 Kazuko Figure 4 ) is added to the atlas to be verified. This completes the second iteration. The third iteration is described below.

[0161] First, determine whether the atlas to be verified is non-empty.

[0162] Secondly, get the current graph from the graph set to be verified, that is, the sub Figure 2 . The first path calculated for the current graph is s-a1-a3-c1-c3-b1-b3-d, and the second path is determined to be s-a2-a4-c2-c4-b2-b4-d based on the remaining nodes in the current graph except the nodes passed by the first path s-a1-a3-c1-c3-b1-b3-d, that is, the current path group is formed based on the first path and the second path.

[0163] Since the current path group appears for the first time, the current path group is determined to be the optimal path group. The second iteration process does not generate a new subgraph.

[0164] Furthermore, since there are still sub- Figure 3 Kazuko Figure 4 , it cannot be determined that the optimal path group obtained in the third iteration is the optimal path group with the shortest primary path in the current communication network, and the fourth iteration process needs to be continued.

[0165] In the fourth iteration, the current graph is obtained from the graph set to be verified, that is, the sub Figure 3 (The subgraph (c1, c3) is deleted from the initial graph.) A first path and a second path with separated nodes are calculated, with the first path being s-a1-a3-c1-c3-b1-b3-d and the second path being s-a2-a4-c2-c4-b2-b4-d. That is, the current path group obtained in the fourth iteration is not the first to appear and is the same as the historical optimal path group. Therefore, the optimal path groups are still determined to be s-a1-a3-c1-c3-b1-b3-d and s-a2-a4-c2-c4-b2-b4-d.

[0166] At this point, the fourth iteration process ends, and this iteration process still does not generate a new subgraph.

[0167] It should be noted that the detailed process of determining the current path combination in the fourth iteration is the same as the process of obtaining the current path combination in the previous iteration, and will not be described in detail here.

[0168] The fifth iteration process is described below.

[0169] In the fifth iteration, the current graph is obtained from the graph set to be verified, that is, the sub Figure 4 (The subgraph (c1, c4) is deleted from the initial graph.) If the first path cannot be calculated during this iteration, the fifth iteration ends and no new subgraph is generated. Accordingly, the optimal path group corresponding to the fifth iteration remains the historical optimal path group, namely, the optimal path groups s-a1-a3-c1-c3-b1-b3-d and s-a2-a4-c2-c4-b2-b4-d corresponding to the third iteration.

[0170] At this point, after the above five iterations, the atlas to be verified is empty, and the complete iterative process is completed. The optimal path groups corresponding to the fifth iteration are s-a1-a3-c1-c3-b1-b3-d and s-a2-a4-c2-c4-b2-b4-d.

[0171] From the above, it can be seen that the method for establishing separation paths based on the embodiment of the present disclosure obtains two separation paths for node separation through only five iterative processes, which is highly efficient and accurate, and greatly reduces computing time and resources compared to the brute force traversal method.

[0172] The following targets Figure 5 The comparison illustrates the process of establishing separation paths using Yen's KSP as the main method using path sorting traversal.

[0173] The shortest path calculated using the shortest path algorithm is s-a1-a3-c1-c2-c4-c3-b1-b3-d. Because the edge costs within regions a and b are low, the subpath consisting of the cutpoint set c1-c2-c4-c3 will always separate s and d into different connected regions before traversing the seven paths from s to c1 and the seven paths from c3 to d. K must be greater than 7*7 to calculate a path that excludes any node in c1-c2-c4-c3, and thus to calculate a path that separates the primary and backup nodes. However, the c1-c2-c4-c3 subpath contains two cutpoint sets (c1, c2) and (c3, c4). Therefore, even after the KSP algorithm calculates 49 paths, there is no guarantee that subsequent iterations will immediately obtain a qualified path.

[0174] In contrast to the above example, in the iterative process, the embodiment of the present disclosure determines two cut point sets (c1, c2) and (c3, c4), and crops the current graph based on the nodes in the cut point sets to obtain a subgraph for subsequent iterative processes, thereby reducing the time complexity of path calculation and improving the efficiency and accuracy of establishing separation paths.

[0175] Furthermore, if Yen's KSP algorithm is not used for traversal, and vertex swinging is used instead, then if no cutpoint set is found, all nodes (a1, a3, b1, b3) must participate in the swinging. This results in a computationally expensive process compared to the targeted path calculation based on the cutpoint set in this application. Furthermore, in actual telecommunications networks, the number of local area nodes far exceeds the number of backbone area nodes, further reducing the efficiency of non-targeted swinging. Furthermore, in cases like this example involving two cutpoint sets (c1, c2) and (c3, c4), swinging a single node cannot guarantee the effective discovery of a primary / backup separation path.

[0176] Figure 9 FIG. 1 shows another exemplary initial diagram of a sparse topology of a telecommunications network. Figure 9 As shown, c1 and c3 are interconnected nodes in the backbone area, a and b are regional networks, s and d are source and destination nodes respectively.

[0177] See also Figure 9, all paths between the source and destination nodes must pass through c1-c3, meaning there are no two separate paths with separate nodes. If the cut point between the source and destination nodes is not determined during the iteration process, then whether using Yen's KSP traversal or node swinging to traverse the primary path, the algorithm's stopping boundary is when all solutions have been traversed. This is unrealistic for large networks with thousands of nodes.

[0178] On the contrary, if based on the method of the embodiment of the present disclosure, c1 can be determined as the cut point between the source node and the destination node after two path calculations, the calculation of the current graph can be stopped in time to avoid wasting too much time on invalid traversal.

[0179] In summary, the method for establishing a separation path in the exemplary embodiment of the present disclosure constructs an initial graph based on the source node, destination node and node connection relationship in the communication network topology, and adds the initial graph to the to-be-verified graph set, and performs an iterative process based on the to-be-verified graph set until the to-be-verified graph set is empty. On the one hand, in each iterative process, a current graph is obtained from the to-be-verified graph set. If the first path of the source node and the destination node can be determined based on the current graph and the second path is determined based on the remaining nodes in the initial graph except the nodes passed through by the first path, a current path group is formed based on the first path and the second path, and the optimal path group is updated based on the shortest path principle, so that in each iterative process, if the current path group can be determined based on the current graph, the optimal path group is continuously updated to obtain two separation paths with node separation, and the main path is the shortest. On the other hand, in each iterative process, if the second path cannot be determined, the nodes in the first path that separate the source node and the destination node in the disconnected area are obtained as the cut point set, and the subgraph after the current graph is clipped based on the nodes in the cut point set is added to the to-be-verified graph set for subsequent iterative processes. Through this process, when the second path cannot be determined, the current graph can be targeted and pruned based on the cut point set, which can reduce the amount of calculation and time of subsequent iterative processes. In addition, the time complexity of path calculation using the subgraph in the subsequent iterative process is less than the time complexity of swinging the entire path node on the initial graph, thereby improving the efficiency and accuracy of establishing separate paths. On the other hand, the method of the embodiment of the present disclosure can quickly and effectively establish separate paths. For application scenarios that require planning the separation of primary and backup nodes, when a network element or relay channel along one path fails, it can achieve rapid switching and recovery of services without affecting the integrity of the other path, thereby improving the survivability of communication network services, and further improving the quality of telecommunications services and enhancing user perception. In addition, the method of the embodiment of the present disclosure can discover the cut point set that separates the source node and the destination node and use it for clipping calculation. After the cut point set of a subgraph (including the original graph) is discovered during the iteration, the subgraph after the nodes in the cut point set are clipped in sequence is pushed into the graph set to be verified, and the optimal path is obtained by calculation and comparison. Based on this optimal path, the complete graph is used to calculate the node separation backup path, and recursive iteration is performed until the graph set to be verified is empty or the cut point is discovered in advance. While obtaining the main shortest optimal path group, the cut point can also be discovered in time to end the iteration of the current graph, avoiding invalid traversal, and improving the accuracy and efficiency of establishing the separation path.

[0180] Furthermore, according to an exemplary embodiment of the present disclosure, a device for establishing a separation path is also provided. Figure 10 As shown, the apparatus 1000 for establishing a separation path according to an embodiment of the present disclosure may include:

[0181] A construction module 1010 is configured to construct an initial graph based on source nodes, destination nodes, and node connection relationships in the communication network topology, and add the initial graph to a graph set to be verified;

[0182] The processing module 1020 is configured to perform an iterative process until the atlas to be verified is empty: obtaining a current image from the atlas to be verified, wherein the current image is removed from the atlas to be verified after each iterative process is completed;

[0183] Wherein, if a first path between the source node and the destination node is determined based on the current graph and a second path is determined based on the remaining nodes in the initial graph except the nodes passed by the first path, a current path group is formed based on the first path and the second path, so as to update the optimal path group based on the shortest path principle, and the process returns to the step of obtaining the current graph from the to-be-verified graph set; if the second path cannot be determined, a cut point set of the first path is obtained, and the current graph is pruned based on the nodes in the cut point set, and the pruned subgraphs are added to the to-be-verified graph set, and the process returns to the step of obtaining the current graph from the to-be-verified graph set; wherein the cut point set is a set of nodes in the first path that separate the source node and the destination node in a disconnected area;

[0184] Determination module 1030 is configured to determine two separate paths based on the optimal path group corresponding to the i-th iteration process, wherein the two separate paths do not have a common node, and i is the total number of iterations; wherein one of the two separate paths serves as a working path and the other serves as a protection path. In an exemplary embodiment of the present disclosure, third processing module 640 is further configured to receive a data packet carrying an end marker sent by a source base station functional network element, the end marker being used to indicate the end of a data flow to the source base station functional network element; wherein the data packet carrying the end marker is sent to the source base station functional network element after the user plane function sends a session modification response to the connection control function.

[0185] The specific details of each module in the above device have been described in detail in the implementation method part. For details not disclosed, please refer to the implementation method part, and they will not be repeated here.

[0186] It should be noted that, although several modules or units of the device for establishing a separation path are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be concretized in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be concretized.

[0187] In addition, in the exemplary embodiments of the present disclosure, a computer storage medium capable of implementing the above-mentioned method is also provided. A program product capable of implementing the above-mentioned method of this specification is stored on the computer storage medium. In some possible embodiments, various aspects of the present disclosure may also be implemented in the form of a program product, which includes program code. When the program product is executed on a terminal device, the program code is used to cause the terminal device to perform the steps according to the various exemplary embodiments of the present disclosure described in the "Exemplary Methods" section of this specification.

[0188] The present disclosure also provides a program product for implementing the above-mentioned method, which can be a portable compact disc read-only memory (CD-ROM) and includes program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto. In this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0189] The program product may be implemented in any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0190] Computer readable signal media may include a data signal propagated in baseband or as part of a carrier wave, wherein readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Readable signal media may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.

[0191] The program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, and the like, as well as conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a stand-alone software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0192] In addition, in an exemplary embodiment of the present disclosure, a communication device capable of implementing the above-mentioned method is also provided. Those skilled in the art will appreciate that various aspects of the present disclosure can be implemented as a system, method, or program product. Therefore, various aspects of the present disclosure can be specifically implemented in the following forms, namely: a complete hardware embodiment, a complete software embodiment (including firmware, microcode, etc.), or an embodiment combining hardware and software aspects, which can be collectively referred to herein as a "circuit," "module," or "system."

[0193] Refer to the following Figure 11 The communication device 1100 according to the embodiment of the present disclosure is described. Figure 11 The communication device 1100 shown is only an example and should not limit the functions and scope of use of the embodiments of the present disclosure. Figure 11 As shown, the communication device 1100 includes: a processor 1101 and a memory 1102; the memory 1102 stores instructions executable by the processor 1101; when the processor 1101 is configured to execute the instructions, the communication device 1100 implements the method described in the above method embodiment.

[0194] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes a number of instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.

[0195] Furthermore, the above-mentioned figures are merely illustrative of the processes included in the methods according to exemplary embodiments of the present disclosure and are not intended to be limiting. It is readily understood that the processes illustrated in the above-mentioned figures do not indicate or limit the temporal order of these processes. Furthermore, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.

[0196] Other embodiments of the present disclosure will readily occur to those skilled in the art after considering the specification and practicing the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the present disclosure that follow from the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the claims.

Claims

1. A method for establishing a separation path, characterized in that: include: Constructing an initial graph based on the source nodes, destination nodes, and node connection relationships in the communication network topology, and adding the initial graph to the graph set to be verified; Performing an iterative process until the atlas to be verified is empty: obtaining a current image from the atlas to be verified, wherein the current image is removed from the atlas to be verified after each iterative process; If a first path between the source node and the destination node is determined based on the current graph and a second path is determined based on the remaining nodes in the initial graph excluding the nodes passed by the first path, a current path group is formed based on the first path and the second path, so as to update the optimal path group based on the shortest path principle, and the process returns to the step of obtaining the current graph from the set of graphs to be verified; If the second path cannot be determined, obtaining a cut point set of the first path, and clipping the current graph based on the nodes in the cut point set, adding the clipped subgraphs to the to-be-verified graph set, and returning to the step of obtaining the current graph from the to-be-verified graph set; wherein the cut point set is a set of nodes in the first path that separate the source node and the destination node into disconnected regions; Two separate paths are determined according to the optimal path group corresponding to the i-th iterative process, where the two separate paths do not have a common node, and i is the total number of iterations; wherein one of the two separate paths is used as a working path and the other is used as a protection path.

2. The method according to claim 1, characterized in that The process of determining a first path based on the current graph and determining a second path based on remaining nodes in the initial graph except for the nodes passed by the first path includes: determining, according to the initial graph, a shortest distance path between the source node and the destination node as the first path; If the first path appears for the first time, then determine the shortest distance path between the source node and the destination node as the second path based on the remaining nodes in the initial graph except the nodes passed by the first path, and continue the current iterative process; If the first path does not appear for the first time, the process returns to the step of obtaining the current graph from the to-be-verified graph set to perform the next round of iteration.

3. The method according to claim 2, characterized in that The process of updating the optimal path group based on the shortest path principle includes: Get the optimal path group corresponding to the previous round of iteration; If the primary path distance of the current path group is less than the primary path distance corresponding to the previous iterative process, the current path group is updated to the optimal path group; or if the primary path distance of the current path group is equal to the primary path distance corresponding to the previous iterative process and the backup path distance of the current path group is less than the backup path distance corresponding to the previous iterative process, the current path group is updated to the optimal path group; If it is determined that the current path group is the first-appearing path group, the current path group is used as the optimal path group.

4. The method according to claim 1, wherein The process of obtaining the cut point set of the first path includes: Based on the initial graph, taking nodes along the first path as blocking points, obtaining the farthest node on the first path that the source node can reach without passing through the blocking points; Acquire an intermediate node between the source node and the farthest node in the first path; Forming the cut point set according to the farthest node and the intermediate node; The source node and the destination node are separated into different connected areas based on the cut point set, and no common nodes exist between different connected areas.

5. The method according to claim 4, characterized in that The connected area where the source node is located is the first area; The forming of the cut point set according to the farthest node and the intermediate node includes: Forming an initial cut point set according to the farthest node and the intermediate node; A target node is obtained from the initial cut point set, and if the target node has an edge connected to an area outside the first area, the cut point set is formed according to the target node.

6. The method according to claim 1, characterized in that Before the step of pruning the current graph based on the nodes in the cut point set and adding the pruned subgraphs to the graph set to be verified, the method further includes: After sorting the nodes in the cut point set according to the node connection order of the first path, obtaining the farthest reachable node close to the destination node; Eliminate the farthest reachable node in the current graph to obtain an updated graph; Based on the updated graph, determining whether the source node is reachable to the destination node; Among them, if it is determined that the source node can reach the destination node, the step of cropping the current graph based on the nodes in the cut point set is executed, and the cropped subgraph is added to the graph set to be verified; otherwise, return to the step of obtaining the current graph from the graph set to be verified to execute the next round of iteration process.

7. The method according to claim 1, characterized in that The step of clipping the current graph based on the nodes in the cut point set and adding the clipped subgraphs to the graph set to be verified includes: Based on each node in the cut point set, deleting one node at a time in the current graph to obtain a subgraph; Add the obtained subgraphs to the atlas to be verified.

8. The method according to any one of claims 1 to 7, characterized in that After executing the iterative process until the atlas to be verified is empty, the method further includes: If the optimal path group is empty, a prompt message is output to indicate that the two separation paths cannot be determined.

9. The method according to any one of claims 1 to 7, characterized in that The constructing of the initial graph according to the source nodes, destination nodes and node connection relationships in the communication network topology includes: Convert network nodes into vertex sets; Based on the node connection relationship, the weighted channels between the network nodes are converted into edge sets; wherein the channels between the network nodes are determined based on whether the channels meet the service bandwidth; The initial graph is constructed based on the vertex set and the edge set, wherein the starting point of the business is the source node and the end point of the business is the destination node.

10. A device for establishing a separation path, characterized in that: include: A construction module, configured to construct an initial graph based on source nodes, destination nodes, and node connection relationships in the communication network topology, and add the initial graph to the graph set to be verified; A processing module is configured to perform an iterative process until the atlas to be verified is empty: obtaining a current image from the atlas to be verified, wherein the current image is removed from the atlas to be verified after each iterative process is completed; Wherein, if a first path between the source node and the destination node is determined based on the current graph and a second path is determined based on the remaining nodes in the initial graph except the nodes passed by the first path, a current path group is formed based on the first path and the second path, so as to update the optimal path group based on the shortest path principle, and the process returns to the step of obtaining the current graph from the to-be-verified graph set; if the second path cannot be determined, a cut point set of the first path is obtained, and the current graph is pruned based on the nodes in the cut point set, and the pruned subgraphs are added to the to-be-verified graph set, and the process returns to the step of obtaining the current graph from the to-be-verified graph set; wherein the cut point set is a set of nodes in the first path that separate the source node and the destination node in a disconnected area; A determination module is used to determine two separate paths based on the optimal path group corresponding to the i-th iterative process, where the two separate paths do not have a common node, and i is the total number of iterations; wherein one of the two separate paths is used as a working path and the other is used as a protection path.

Citation Information

Patent Citations

  • Method for calculating interlayer path by utilizing layer finding information of each layer

    CN101997762A

  • Topology control method of mobile cluster self-organized network

    CN107318146A