CN116723109A - Communication path planning method and device - Google Patents

Communication path planning method and device Download PDF

Info

Publication number
CN116723109A
CN116723109A CN202310679012.0A CN202310679012A CN116723109A CN 116723109 A CN116723109 A CN 116723109A CN 202310679012 A CN202310679012 A CN 202310679012A CN 116723109 A CN116723109 A CN 116723109A
Authority
CN
China
Prior art keywords
path
node
directed graph
determining
updated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310679012.0A
Other languages
Chinese (zh)
Inventor
王晨昊
刘朝阳
朱熠
王骞
杨佳雍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202310679012.0A priority Critical patent/CN116723109A/en
Publication of CN116723109A publication Critical patent/CN116723109A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/247Multipath using M:N active or standby paths
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

The present disclosure relates to the field of communication technologies, and to a communication path planning method and apparatus. The method comprises the following steps: determining a shortest distance path between a source node and a destination node as a first path according to the initial directed graph; if the shortest distance path between the source node and the destination node cannot be determined according to the remaining nodes except the passing node of the first path in the initial directed graph, determining a plurality of communication components corresponding to the initial directed graph based on the first path; performing an iterative process until the source node and the destination node are located within the same connected component; each iteration process comprises updating a first path, and combining and updating the connected components based on the updated first path; and determining an updated first path corresponding to the ith iteration process as a first separation path, determining a second separation path based on the first separation path and the initial directed graph, wherein a common passing node does not exist between the second separation path and the first separation path, and i is the total iteration times.

Description

Communication path planning method and device
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a communication path planning method and a communication path planning apparatus.
Background
With the development of the digital age, the security requirements of different demands on communication connection are different. Wherein the pre-planned primary and backup protection paths have the characteristic of fast recovery. For example, by pre-planning a main and a standby path for a service in a transmission network and configuring SNCP (SubNetwork Connection Protection, subnet connection protection) 1+1 protection, main and standby path switching within 50 milliseconds can be realized, so that the influence on upper layer bearing service is reduced. Thus, the way of pre-planning the primary and backup paths is largely applied to the planning of high-level user traffic demands and high-survivability channels between nodes in the communication path planning process in the transmission network. Likewise, primary and backup path pre-planning may also be applied to scenarios where fast recovery is required in other networks.
In practice, when planning the main and standby paths, all the main and standby paths separated by all the routing nodes except the source and destination upper and lower service nodes have higher survivability. Because the paths separated by the nodes can ensure that the faults of a single board card, a single channel and a single node passing through the middle of the main path and the standby path do not influence the working path and the protection path at the same time, when the single fault influences the working path, the service can be quickly switched to the protection path.
In the related art, when planning a communication path, it is often necessary to traverse different paths corresponding to the primary and standby nodes, and then calculate the standby path on the basis of the different paths. The method is still an improvement of violent traversal or violent traversal, and when the telecommunication network is a large-scale sparse network, the result can not be calculated quickly due to overlarge time or space consumption. Moreover, the traversal process may cause the embarrassment that the calculation cannot be obtained after all paths are traversed, resulting in great waste of calculation time and resources.
It should be noted that the information of the present invention in the above background section is only for enhancing understanding of the background of the present disclosure, and thus may include information that does not form the prior art that is already known to those of ordinary skill in the art.
Disclosure of Invention
The disclosure aims to provide a communication path planning method, a communication path planning device, a communication device and a computer readable storage medium, so as to improve the efficiency of communication path planning and avoid the waste of calculation time and resources.
Other features and advantages of the present disclosure will be apparent from the following detailed description, or may be learned in part by the practice of the disclosure.
According to one aspect of the present disclosure, there is provided a communication path planning method including:
determining a shortest distance path between a source node and a destination node as a first path according to an initial directed graph, wherein the initial directed graph is obtained based on a communication network topology where the source node and the destination node are located;
if the shortest distance path between the source node and the destination node cannot be determined according to the rest nodes except the passing nodes of the first path in the initial directed graph, determining a plurality of communication components corresponding to the initial directed graph based on the first path, wherein a public passing node does not exist between each communication component and the first path, and a public node does not exist between each communication component;
performing an iterative process until the source node and the destination node are located within the same connected component; each iteration process comprises the steps of updating the first path, and realizing combination and updating of the connected components based on the updated first path;
the updated first path corresponding to the ith iteration process is determined to be a first separation path, a second separation path is determined based on the first separation path and the initial directed graph, no common passing node exists between the second separation path and the first separation path, and i is the total iteration times; one of the two separate paths serves as a working path and the other path serves as a protection path.
In an exemplary embodiment of the present disclosure, if the shortest distance path can be determined based on the remaining nodes in the initial directed graph except for the passing node of the first path, the method further includes:
determining the two shortest distance paths as the two separation paths; wherein, there is no common via node between the two shortest distance paths.
In an exemplary embodiment of the disclosure, the determining, based on the first path, a plurality of connected components corresponding to the initial directed graph includes:
taking a passing node of the first path as a blocking point, and taking a node with a communication relation in the initial directed graph as a point set; wherein the set of points does not include a pass-through node of the first path; and determining a plurality of connected components corresponding to the initial directed graph according to the obtained plurality of point sets.
In one exemplary embodiment of the present disclosure, each iterative process includes the steps of:
determining a current first path, and cutting the initial directed graph based on the current first path to obtain an updated graph; acquiring a furthest access node of the source node in the update graph, and updating the current first path based on the furthest access node, the current first path and the update graph to obtain an updated first path; determining a communication component corresponding to the initial directed graph based on the updated first path, and judging whether the source node and the destination node are positioned in the same communication component; if yes, iteration is ended, and the current iteration times are determined to be the total iteration times i; otherwise, returning to the step of determining the current first path to continue the next iteration process, wherein the updated first path is determined to be the current first path.
In an exemplary embodiment of the present disclosure, the determining a current first path and performing a clipping operation on the initial directed graph based on the current first path to obtain an updated graph includes:
determining a passing node except the source node and the destination node in the current first path;
and deleting the outgoing edge of the passing node in the initial directed graph to obtain the updated graph.
In an exemplary embodiment of the present disclosure, the obtaining the furthest access node of the source node in the update graph, updating the current first path based on the furthest access node, the current first path and the update graph, to obtain an updated first path includes:
based on the update graph, detecting connectivity between the source node and the passing node of the current first path by taking the source node as a starting point, and determining the furthest access node according to a detection result; based on the update graph, taking the source node as a starting point and the furthest access node as an end point, and acquiring a first sub-path which does not have a public routing node with the current first path; forming a second sub-path according to the node after the furthest access node in the current first path; and splicing the first sub-path and the second sub-path to obtain an updated first path corresponding to the current first path.
In an exemplary embodiment of the present disclosure, before the continuing the next iteration process, the method further comprises: judging whether the shortest distance path can be determined according to the rest nodes except the route nodes of the updated first path in the initial directed graph; if yes, iteration is ended, and the current iteration times are determined to be the total iteration times i; otherwise, the next iteration process is performed.
In an exemplary embodiment of the present disclosure, in the case of the continuing of the next iteration process, the method further includes:
acquiring the furthest access node of the update graph corresponding to the preamble iterative process of the next iterative process, and determining corresponding first position information; determining an update chart corresponding to the next iteration process; acquiring second position information of the furthest access node in the update chart corresponding to the next iteration process; judging whether the second position information is closer to the destination node than the first position information; if yes, allowing the next iteration process to continue; otherwise, the iteration is ended, and prompt information is output to indicate that the two separation paths cannot be determined.
In an exemplary embodiment of the present disclosure, the process of obtaining the initial directed graph based on the communication network topology where the source node and the destination node are located includes:
converting the network node into a vertex set; converting channels carrying weights among network nodes into edge sets; wherein, the channel between the network nodes is determined based on whether the channel meets the service bandwidth; and constructing the initial directed 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.
According to an aspect of the present disclosure, there is provided a communication path planning apparatus including:
the first determining module is used for determining a shortest distance path between a source node and a destination node as a first path according to an initial directed graph, wherein the initial directed graph is obtained based on a communication network topology where the source node and the destination node are located; a second determining module, configured to determine, if a shortest distance path between the source node and the destination node is not determined according to remaining nodes in the initial directed graph except for the routing node of the first path, a plurality of connected components corresponding to the initial directed graph based on the first path, where each connected component and the first path have no common routing node, and no common node exists between each connected component; an execution module for performing an iterative process until the source node and the destination node are located within the same connected component; each iteration process comprises the steps of updating the first path, and realizing combination and updating of the connected components based on the updated first path; a third determining module, configured to determine an updated first path corresponding to an ith iteration process as a first separation path, and determine a second separation path based on the first separation path and the initial directed graph, where there is no common routing node between the second separation path and the first separation path, and i is the total number of iterations; one of the two separate paths serves as a working path and the other path serves as a protection path.
According to one aspect of the present disclosure, there is provided a communication device comprising a processor and a memory; the memory stores instructions executable by the processor; the processor is configured to, when executing the instructions, cause the communication device to implement the communication path planning method of any one of the above.
According to one aspect of the present disclosure, there is provided a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the communication path planning method of any one of the above.
According to the communication path planning method in the exemplary embodiment of the disclosure, on one hand, after the communication network topology where the source node and the destination node are located is converted into the initial directed graph, when the shortest distance path between the source node and the destination node cannot be determined according to the rest nodes except the determined shortest distance path (first path) in the initial directed graph, the network is divided into a plurality of communication components based on the first path, so that when the separation path is established in an iterative manner, the communication path planning method has a clear calculation boundary, compared with the violence traversing manner in the prior art, the first path is updated through an iterative process, the combination and updating of the communication components are realized based on the updated first path until the source node and the destination node are located in the same communication component, the updated first path corresponding to the last iteration is determined to be the first separation path, and the second separation path is determined based on the first separation path and the initial directed graph, and the number of the communication components cannot be exceeded in the whole iteration number of the whole process, namely, after the first path is determined, the first path is effectively planned, the communication path is rapidly planned, the communication path is planned, and the communication cost of the second separation path is reduced, and the dynamic network is planned; on the other hand, in the process of establishing the split path, the number of virtual nodes or connection channels is not increased, that is, the complexity of scheme calculation is not increased.
In addition, the method of the embodiment of the disclosure can quickly and effectively establish the separation path, and for the application scene requiring planning of the separation of the main node and the standby node, when the passing network element or the relay channel of one path fails, the integrity of the other path is not affected, the quick switching recovery of the service is realized, the viability of the communication network service is improved, the quality of the telecommunication service is further improved, and the user perception is enhanced.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The above, as well as additional purposes, features, and advantages of exemplary embodiments of the present disclosure will become readily apparent from the following detailed description when read in conjunction with the accompanying drawings. Several embodiments of the present disclosure are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings, in which:
FIG. 1 illustrates an application scenario diagram according to an embodiment of the present disclosure;
fig. 2 illustrates a flow chart of a communication path planning method according to an exemplary embodiment of the present disclosure;
FIG. 3 illustrates a schematic diagram of an initial directed graph, according to an exemplary embodiment of the present disclosure;
FIG. 4 illustrates a flowchart of one implementation of determining a connected component according to an exemplary embodiment of the present disclosure;
FIG. 5 illustrates a flowchart of an iterative process according to an exemplary embodiment of the present disclosure;
FIG. 6 illustrates a flowchart of one implementation of two split paths to determine that there is no node split according to an exemplary embodiment of the present disclosure;
fig. 7 illustrates a complete flow chart of a communication path planning in accordance with an exemplary embodiment of the present disclosure;
fig. 8 illustrates a communication network topology in which a separate path cannot be established according to an exemplary embodiment of the present disclosure;
fig. 9 is a block diagram showing a communication path planning apparatus according to an exemplary embodiment of the present disclosure;
fig. 10 shows a schematic diagram of a communication device according to an exemplary embodiment of the present disclosure.
In the drawings, the same or corresponding reference numerals indicate the same or corresponding parts.
Detailed Description
Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments may be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The same reference numerals in the drawings denote the same or similar structures, and thus detailed descriptions thereof will be omitted.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the disclosure. One skilled in the relevant art will recognize, however, that the disclosed aspects may be practiced without one or more of the specific details, or with other methods, components, devices, steps, etc. In other instances, well-known structures, methods, devices, implementations, or operations are not shown or described in detail to avoid obscuring aspects of the disclosure.
The block diagrams depicted in the figures are merely functional entities and do not necessarily correspond to physically separate entities. That is, 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.
Telecommunication networks are usually composed of a huge number of network devices, the networking scale is very large, and with the increase of the reliability requirements of services, or in the case of faults of devices, optical fibers and the like, services need to be quickly protected and recovered, for example, in the case that the node scale of the communication network reaches thousands or even tens of thousands of scales, quick service switching recovery needs to be realized. For this reason, it is common to deploy work and protect both paths in the network carrying the same traffic. An application scenario diagram according to an embodiment of the present disclosure is shown in fig. 1, and includes a working path and a protection path that follow a path separation principle. The working paths and the protection paths can be respectively distributed on different links, and the routing nodes on the links are not overlapped.
Based on the two separate paths shown in fig. 1, when the working path fails, the carried service can be quickly switched to the protection path, i.e. in order to ensure the selection of the recovery path, the working path and the protection path follow the path separation principle, i.e. the working path and the protection path are distributed to different nodes and different links as much as possible.
At present, when calculating the separation paths of the main node and the standby node in the prior art, the standby paths are recalculated by traversing different paths in the main node and the standby node. This approach is actually based on brute force traversal or modification of brute force traversal, and when the telecommunications network is a large-scale sparse network, the result may not be calculated quickly due to excessive time or space consumption. And if the traversal algorithm is not combined with connectivity judgment, the calculation is trapped until all paths are traversed, and then the calculation result cannot be obtained, so that the waste of calculation time and resources is caused. In the other prior art, when the separation path of the main node and the standby node is calculated, virtual nodes are added, and negative value cost edges are introduced into the calculation process, however, the virtual nodes are added and negative values are introduced in the process, so that the standard Di Jie Tesla algorithm cannot be directly applied to calculation, the negative value edges increase the time complexity of the basic calculation algorithm by one order of magnitude, and the time complexity is further increased by combining the addition of the virtual nodes in the graph.
In view of one or more of the problems described above, it is desirable to provide a communication path planning method that establishes separate paths quickly and efficiently. That is, the embodiments of the present disclosure provide a communication path planning method, where an execution subject is an associated executor in a network, or a processor configured in the executor executes the communication path planning method. Firstly, converting the topology of a communication network where a source node and a destination node are located into an initial directed graph, and if the shortest distance path between the source node and the destination node cannot be determined according to the rest nodes except for the passing node of a first path in the initial directed graph, providing that the communication components divided into by the network based on the shortest distance path (the first path) are iterated, so that the source node and the destination node are located in the same communication components rapidly through merging and updating the communication components in the iteration process, further determining two separation paths, enabling the iteration process to have a clear calculation boundary, and reducing the calculation amount and the calculation time.
When the next iteration process is performed, the calculation is stopped in time by determining that the main and standby paths separated by the nodes cannot be calculated under the condition that the next iteration process cannot reach the communication component farther than the preamble iteration process, so that the waste of calculation resources and time is avoided.
Fig. 2 is a flowchart illustrating a communication path planning method according to an embodiment of the present disclosure, i.e., a method of planning separate paths separated by nodes in a communication process. Referring to fig. 2, the communication path planning method of the embodiment of the present disclosure may include steps S210 to S240:
in step S210: and determining the shortest distance path between the source node and the destination node as a first path according to an initial directed graph, wherein the initial directed graph is obtained based on the communication network topology where the source node and the destination node are located.
In an exemplary embodiment of the present disclosure, a source node in a communication network topology refers to a network node that acts as a source to send an original data packet, such as a network element that sends information. Accordingly, the network node receiving the information is the destination node (also referred to as the sink node). For bi-directional communication, the source node also serves as the destination node, and the destination node also serves as the source node.
According to the embodiment of the disclosure, according to service requirements, the directed simple graph is converted according to the topology of the communication network where the source node and the destination node are located, and an initial directed graph is obtained. By way of example, the communication network topology may be converted to a dotted graph G (V, E) model, although the embodiments of the present disclosure may actually require conversion of the communication network topology to other types of graph models, which are not particularly limited.
In determining the shortest distance path between the source node and the destination node based on the initial directed graph, a shortest path method may be used for calculation, for example, a Dijkstra algorithm, although other shortest path algorithms, for example, a Bellman-Ford algorithm, may be selected according to actual requirements, and the disclosure is not limited thereto.
If the shortest distance path between the source node and the destination node is calculated based on the initial directed graph, the process goes to step S220, otherwise, it is indicated that there is no reachable path between the source node and the destination node, and the process of establishing the separation path is ended, that is, the process of communication path planning is ended.
In step S220, if the shortest distance path between the source node and the destination node is not determined according to the remaining nodes in the initial directed graph except the routing node of the first path, a plurality of connected components corresponding to the initial directed graph are determined based on the first path, no common routing node exists between each connected component and the first path, and no common node exists between each connected component.
In an exemplary embodiment of the present disclosure, a transit node refers to a network node that is routed through in any path, except for a source node and a destination node. For example, the first path is (s, v 1 ,v 2 ,…,v n D), the routing node of the first path is (v) 1 ,v 2 ,…,v n )。
After the initial directed graph is obtained and the first path is determined, the routing nodes of the first path can be avoided in the initial directed graph, and whether the shortest distance path exists or not is calculated again. The shortest path algorithm, such as the dijkstra algorithm, can also be selected according to actual requirements.
If the shortest distance path is calculated, the shortest distance path and the first path form two separation paths, the shortest distance path and the first path are taken as two separation paths, a common passing node does not exist between the two shortest distance paths, one path in the two separation paths is taken as a working path, and the other path is taken as a protection path. For example, one path of the two separate paths, which is shorter, is used as a working path (i.e., a main path), and the other path is used as a protection path (i.e., a standby path).
If the shortest distance path is not calculated, the routing node indicating the first path divides the initial directed graph into two or more connected components, and the source node and the destination node are in different connected components.
Fig. 3 shows a schematic diagram of an initial directed graph according to an exemplary embodiment of the present disclosure. As shown in fig. 3, if the first path is (s, a) 2 ,a 3 ,c 1 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 D), the routing node of the first path is (a) 2 ,a 3 ,c 1 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 ) The initial directed graph is divided into three connected components: (s, a) 1 ,a 4 )、(c 3 ) And (b) 2 ,b 4 D), each connected component has no common passing node with the first path, and each connected component has no common node.
The subsequent steps gradually combine and update the connected components in an iterative manner, so that the source node and the destination node are positioned in the same connected component, and further two separation paths are calculated.
In step 230, an iterative process is performed until the source node and the destination node are located within the same connected component; each iteration process comprises updating a first path, and combining and updating the connected components based on the updated first path.
In an exemplary embodiment of the present disclosure, after determining the plurality of connected components of the initial directed graph, the number of iterations does not exceed the number of connected components by combining at least two connected components at a time through an iterative process based on the plurality of connected components. When iterating to the point that the source node and the destination node are located in the same connected component, the shortest distance path can be certainly calculated based on the updated first path and the initial directed graph at the moment. A specific iterative process will be described in the subsequent steps.
In step S240, the updated first path corresponding to the ith iteration process is determined as a first separation path, and a second separation path is determined based on the first separation path and the initial directed graph, where no common routing node exists between the second separation path and the first separation path, and i is the total number of iterations; one of the two separate paths serves as a working path and the other path serves as a protection path.
In an exemplary embodiment of the present disclosure, after the end condition is reached, that is, the source node and the destination node are located in the same connected component, the total number of iterations i is obtained, which indicates that after the ith iteration process, the updated first path does not divide the source node and the destination node into different connected components. Therefore, the updated first path corresponding to the ith iteration process is determined to be a first separation path, and a second separation path is calculated through a shortest path method according to the first separation path and the initial directed graph, so that two separation paths are obtained.
One of the two separate paths serves as a working path and the other path serves as a protection path. For example, one path of the two separate paths, which is shorter, is used as a working path (i.e., a main path), and the other path is used as a protection path (i.e., a standby path).
According to the communication path planning method in the exemplary embodiment of the disclosure, after the communication network topology where the source node and the destination node are located is converted into the initial directed graph, the shortest distance path between the source node and the destination node can not be determined according to the rest nodes except the determined path (first path) in the initial directed graph, the network is divided into a plurality of connected components based on the first path, so that when a separation path is established in an iterative manner in the follow-up process, a clear calculation boundary is provided, the first path is updated through an iterative process, the combination and update of the connected components are realized based on the updated first path until the source node and the destination node are located in the same connected component, the updated first path corresponding to the last iteration is determined to be the first separation path, and a second separation path is determined based on the first separation path and the initial directed graph, namely, after the first path is determined, the first path is effectively and quickly established, the second path is planned for the network, the dynamic planning cost of the network is reduced, and the communication time of establishing the separation path is adapted to the dynamic planning requirement of the network is reduced; in the process of establishing the separation path, the number of virtual nodes or connection channels is not increased, that is, the complexity of scheme calculation is not increased.
In addition, the method of the embodiment of the disclosure can rapidly and effectively plan the communication paths separated by the nodes, and for the application scene requiring planning of the separation of the main node and the standby node, when the passing network element or the relay channel of one path fails, the integrity of the other path is not affected, the rapid switching recovery of the service is realized, the survivability of the communication network service is improved, the quality of the telecommunication service is further improved, and the user perception is enhanced.
In an exemplary embodiment, an implementation of determining a connected component is provided. As shown in fig. 4, determining a plurality of connected components corresponding to the initial directed graph based on the first path may include step S410 and step S420:
step S410: taking a passing node of the first path as a blocking point, and taking a node with a communication relation in the initial directed graph as a point set; wherein the set of points does not include a pass-through node of the first path.
Continuing with fig. 3, the first path is routed through node (a 2 ,a 3 ,c 1 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 ) For blocking points, i.e. passing nodes where each connected component does not pass through the first path, the set of points formed by nodes having a connection relationship in the initial directed graph comprises (s, a 1 ,a 4 )、(c 3 ) And (b) 2 ,b 4 D), the nodes in each point set are communicated, and do not pass through the passing nodes of the first path, and do not have common nodes with other point sets.
Step S420: and determining a plurality of connected components corresponding to the initial directed graph according to the obtained plurality of point sets.
Based on the plurality of point sets of fig. 3, a corresponding plurality of connected components (s, a 1 ,a 4 )、(c 3 ) And (b) 2 ,b 4 As can be seen from the plurality of connected components shown in fig. 3, the source node s is located in the connected component (s, a 1 ,a 4 ) In, and the destination node d is located in the connected component (b 2 ,b 4 In d).
The embodiments of the present disclosure innovatively propose to determine a plurality of connected components of an initial directed graph based on a first path (shortest distance path) to facilitate a subsequent merging and updating iterative process of connected components based on the plurality of connected components until a source node and a destination node are located within the same connected components.
Details concerning the one iteration process in step S230 will be described below.
Fig. 5 shows a flowchart of an iterative process according to an exemplary embodiment of the present disclosure, which may include steps S510 to S530:
step S510: and determining a current first path, and cutting the initial directed graph based on the current first path to obtain an updated graph.
In the first iteration process, the current first path is the shortest distance path between the source node and the destination node determined in step S210, and in the subsequent iteration process, the current first path is the updated first path corresponding to the previous iteration process of the current iteration process.
Clipping the initial directed graph based on the current first path to obtain an updated graph may include:
determining a path node except a source node and a destination node in a current first path;
and deleting the outgoing edges of the passing nodes in the initial directed graph to obtain an updated graph.
The outgoing edge of a pass-through node may also be referred to as the outgoing degree of the pass-through node, if the current first path is (s, v 1 ,v 2 ,…,v n D), the routing node of the first path is (v) 1 ,v 2 ,…,v n ) Then the route node (v) is deleted 1 ,v 2 ,…,v n ) Is an updated graph of the outgoing edge of (c).
Step S520: and acquiring the furthest access node of the source node in the update graph, and updating the current first path based on the furthest access node, the current first path and the update graph to obtain an updated first path.
First, based on the update graph, connectivity between the source node and the path node of the current first path can be detected by taking the source node as a starting point, and the path node which is furthest accessible is determined to be the furthest access node.
Wherein the reachable node order is recorded as (v) i ,…,v j ) The record may be empty, if not, 1.ltoreq.i.ltoreq.j.ltoreq.n, v i To v j S is split into one connected component.
Secondly, based on the updated graph, a first sub-path which does not have a public routing node with the current first path can be obtained by taking a source node as a starting point and taking a furthest access node as an end point.
Exemplary, if the furthest access node is determined to be v j Then s is taken as a starting point, v is taken as j For the end point, acquire a first path (s, v 1 ,v 2 ,…,v n D) the first sub-path where no common passing point exists is (s, …, v j )。
It should be noted that the process of determining the first sub-path is still calculated based on the shortest distance path, so that the first sub-path is the source node s and the furthest access node v j The shortest distance path between the first sub-paths and the current first path have no public routing nodes, and the specific algorithm adopted by the embodiment of the disclosure for calculating the first sub-paths is not particularly limited.
Further, a second sub-path is formed according to the node after the furthest access node in the current first path. Illustratively, a current first path (s, v 1 ,v 2 ,…,v n Furthest reaching node v in d) j The latter nodes form a second sub-path (v j+1 ,…,v n ,d)。
And finally, splicing the first sub-path and the second sub-path to obtain an updated first path corresponding to the current first path.
Illustratively, a first sub-path (s, …, v j ) And a second sub-path (v j+1 ,…,v n Splicing to obtain updated first path (s, …, v) j ,v j+1 ,…,v n ,d)。
So far, the updated first path corresponding to the current iteration is obtained, so that the subsequent step of the current iteration is executed based on the updated first path, or the updated first path is used as the current first path of the next iteration process when the current iteration is ended and the next iteration is carried out.
Step S530: and determining a connected component corresponding to the initial directed graph based on the updated first path, and judging whether the source node and the destination node are positioned in the same connected component.
After determining the updated first path (s, …, v j ,v j+1 ,…,v n After d), if the updated first path reduces the connected component of the initial directed graph by at least one compared with the preamble first path, determining the connected component of the initial directed graph according to the updated first path, and judging whether the source node and the destination node are located in the same connected component.
If the source node and the destination node are located in the same connected component, it is indicated that two separate paths exist for node separation, the whole iteration process is ended, the current iteration number is determined as the total iteration number, and correspondingly, the updated first path corresponding to the current iteration process is used as the first separate path.
If the source node and the destination node are located in different connected components, the method indicates that two separated paths separated by the node still cannot be determined at present, and returns to the step of determining the current first path so as to execute the next iteration process, and the updated first path corresponding to the current iteration process is determined as the current first path corresponding to the next iteration process.
According to the content aiming at one iteration process, the updating of the first path is realized in each iteration process, the communication components of the initial directed graph are combined and updated by utilizing the updated first path, and the source node and the destination node are finally positioned in the same communication components in a limited iteration number (the quantity of the communication components is not exceeded at most), so that the two calculated separation paths are greatly improved in establishment efficiency and accuracy compared with the violent traversal in the prior art.
In an exemplary embodiment, before the current iteration process ends and the next iteration process is performed, the method may further include:
and judging whether the shortest distance path can be determined according to the rest nodes except the updated path nodes of the first path in the initial directed graph. If yes, iteration is ended, and the two obtained shortest distance paths are determined to be two separation paths; otherwise, the next iteration process is allowed.
That is, before entering the next iteration process each time, it may be determined whether a shortest distance path separated from the updated first path node exists based on the updated first path and the initial directed graph corresponding to the current iteration process, and if so, the complete iteration process may be ended, and the updated first path and the determined shortest distance path may be used as two separate paths.
In an exemplary embodiment, an implementation of determining that there are two separate paths for node separation is also provided. As shown in fig. 6, in the case of continuing the next iterative process, steps S610 to S640 are further included:
step S610: and acquiring the furthest access node of the update graph corresponding to the preamble iterative process of the next iterative process, and determining the corresponding first position information.
The method of obtaining the update chart can refer to step S510, and is not described herein. Secondly, the furthest access node of the updated graph is obtained, and the furthest access node is obtainedSee step S520, which is not described herein. Finally, the first location information of the furthest reaching node is determined, e.g. recorded as (v) based on the order of the reaching nodes i ,…,v j 1 ) Determining the first location information as v j 1
Step S620: and determining an update chart corresponding to the next iteration process. The manner of determining the updated map corresponding to the next iteration process can also refer to step S510, which is not described herein.
Step S630: and acquiring second position information of the furthest access node in the update diagram corresponding to the next iteration process. For example, the order of nodes based on reachability can be recorded as (v i ,…,v j 2 ) Determining the second position information as v j 2
Step S640: it is determined whether the second location information is closer to the destination node than the first location information.
If the second position information is closer to the destination node than the first position information, allowing the next iteration process to be continued; otherwise, the iteration is ended, and prompt information is output to indicate that two separation paths cannot be determined.
Specifically, if v of the second position information j 2 Far from the first position information v j 1 I.e. the second location information is closer to the destination node than the first location information, it is indicated that there is at least two separate paths to the source node to the v j 2 And v j 2 -1 . To this end, two connected components have been combined by a preamble iterative process.
And if v of the second position information j 2 Not far from the first position information v j 1 I.e. a more distant connected component cannot be reached, it indicates that the source node cannot have a path separated by two nodes going out of the current connected component, nor two separate paths to the destination node. So far, if the current communication network is determined to be incapable of acquiring the separation path of node separation, the iteration process is not required to be continued.
It should be noted thatIn the first iteration process, the first position information of the preamble iteration process does not exist, and the first pass node v of the current first path in the current iteration process can be obtained 1 As v j 1 . Of course, the preset parameter may be used as the first location information according to actual requirements.
Based on the position information comparison result of the furthest access node, the separation path which cannot be obtained by the two nodes in the current communication network can be obtained in time in the iteration process, so that calculation is stopped in time, the situation that the result cannot be obtained after all paths are traversed is avoided, and calculation resources and time are saved.
In an exemplary embodiment, an implementation of determining an initial directed graph is also provided. The process of obtaining the initial directed graph based on the communication network topology of the source node and the destination node comprises the following steps:
converting the network node into a vertex set;
the channels carrying the weights among the network nodes are converted into edge sets; wherein, the channel between the network nodes is determined based on whether the channel meets the service bandwidth;
an initial directed graph is constructed based on the vertex set and the edge set.
When the method is implemented in a communication network, network nodes can be converted into vertex sets (V), channels carrying weights among the nodes are converted into edge sets (E), and an initial directed graph is formed.
The channel between every two network nodes is screened based on whether the traffic bandwidth is met, in particular:
If no channel meeting the service bandwidth exists, no edge exists between the vertexes in the corresponding graph; if there are one or more channels that meet the traffic bandwidth, then the cost (cost) of these edges is set first. Under the optimal path requirement of time delay priority, the cost of the edge is time delay; if the optimal path requirement is the hop count, the cost of all sides is 1; if the resource utilization is prioritized, the channel bandwidth remaining may be converted to a cost. Since the initial directed graph is a simple graph, two vertices hold the least costly edge. The starting point and the end point of the service are respectively used as a source node s and a destination node d.
Fig. 7 shows a complete flow chart of a communication path planning in accordance with an exemplary embodiment of the present disclosure, and the process of communication path planning in accordance with an embodiment of the present disclosure is described below in conjunction with fig. 7 and 3.
Step S710: the communication network is converted into an initial directed graph G (V, E) based on traffic demand.
The initial directed graph can be seen in fig. 3. The starting point of the service is a source node s, and the end point of the service is a destination node d.
Step S720: and determining the shortest distance path between the source node and the destination node as a first path according to the initial directed graph.
Referring to fig. 3, the first path is (s, a 2 ,a 3 ,c 1 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 D) is provided. Of course, the shortest distance path shown in fig. 3 is not unique, and the first path determined in this step in the embodiment of the present disclosure may be any calculated shortest distance path, which does not affect the result of the subsequent communication path planning.
In step S730, it is determined whether the first path is calculated.
If the first path is calculated, go to step S740; otherwise, it is confirmed that there are no two separate paths separated by the node in the current communication network, and the process goes to step S790 to end the process of establishing a separate path, i.e., to end the process of communication path planning.
Step S740: and determining the shortest distance path between the source node and the destination node according to the rest nodes except the path node of the first path in the initial directed graph.
In step S750, if the shortest distance path is obtained in step S740, the shortest distance path and the first path actually form two separate paths with completely separated path nodes, and the process goes to step S7100, where one path of the two separate paths is used as a working path and the other path is used as a protection path.
Otherwise, if the shortest distance path is not obtained, the routing node (a) of the first path is described 2 ,a 3 ,c 1 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 ) G (V, E) is divided into two or more connected components. Referring to fig. 3, the first path divides the initial directed graph into three connected components: (s, a) 1 ,a 4 )、(c 3 ) And (b) 2 ,b 4 D) is provided. In this case, the source node S and the destination node d are located in different connected components, so that the shortest distance path separated from the first path as the node cannot be obtained, and the process goes to step S760 to enter the iterative branch.
Step S760: determining a path node except a source node and a destination node in a current first path; deleting the outgoing edge of the passing node in the initial directed graph to obtain an updated graph, detecting connectivity between the original directed graph and the passing node of the current first path by taking the source node as a starting point, and determining the furthest access node according to the detection result.
Referring to fig. 3, the current routing node of the first path is (a 2 ,a 3 ,c 1 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 ) After deleting the outgoing edges of the routing nodes, detecting connectivity between the routing nodes of the current first path by taking the source node s as a starting point, and recording accessible nodes (not null) to determine that the source node s can access the furthest node of the current first path, namely the furthest access node is c 2 And proceeds to step S770.
Step S770: and judging whether the furthest access node in the iterative process is closer to the destination node d than the furthest access node in the preamble iterative process.
The furthest access node in the preamble iterative process is determined as the first pass node of the current first path, namely a 2 C is 2 Comparison a 2 Closer to the destination node d, go to step S780. Otherwise, the process goes to step S790 to end the process of establishing the separation path, i.e., to end the process of communication path planning.
Step S780: and updating the current first path based on the furthest access node, the current first path and the update graph to obtain an updated first path.
Referring to fig. 3, the furthest access node is determined to be c in the iterative process 2 The current first path is (s, a 2 ,a 3 ,c 1 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 And d), the updated graph is obtained by eliminating the outgoing edge of the passing node of the current first path in the initial graph.
First, based on the update graph, the source node s is taken as a starting point, and the furthest access node c is taken 2 For the end point, acquire a first path (s, a 2 ,a 3 ,c 1 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 D) the first sub-path where no common routing node exists is (s, a) 1 ,a 4 ,c 2 ) The method comprises the steps of carrying out a first treatment on the surface of the Next, according to the current first path (s, a 2 ,a 3 ,c 1 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 Furthest reaching node c in d) 2 The latter nodes form a second sub-path, i.e. (c) 4 ,c 6 ,c 5 ,b 1 ,b 3 D) a step of (d); finally, the first sub-path (s, a 1 ,a 4 ,c 2 ) And a second sub-path (c 4 ,c 6 ,c 5 ,b 1 ,b 3 Splicing the first paths (s, a) 2 ,a 3 ,c 1 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 D) corresponding updated first path (s, a 1 ,a 4 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 ,d)。
Referring to fig. 3, based on the updated first path (s, a 1 ,a 4 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 D) determining to divide the initial directed graph into two connected components: (s, a) 2 ,a 3 ,c 1 ,c 3 ),(b 2 ,b 4 D), i.e. by reducing the number of connected components of the initial directed graph by one through an iterative process, and then going to stepS740, performing a second iteration process.
The second iteration process is described below.
In step S740: and judging whether the shortest distance path can be determined according to the rest nodes except the updated path nodes of the first path in the initial directed graph.
If the shortest distance path can be determined according to the remaining nodes in the initial directed graph except the routing nodes of the updated first path, the process goes to step S7100. Otherwise, go to step S760.
In step S760 of the second iteration process, the transit node of the current first path is (a) 1 ,a 4 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 ) After deleting the outgoing edges of the routing nodes, detecting connectivity between the routing nodes of the current first path by taking the source node s as a starting point, and recording accessible nodes (not null) to determine that the source node s can access the furthest node of the current first path, namely the furthest access node is c 5 And proceeds to step S770.
In step S770 of the second iteration process, it is determined that the furthest access node c of the present iteration process 5 Furthest access node c compared to the preamble iterative procedure 2 Whether or not to be closer to the destination node d.
If the furthest access node c in the iterative process is judged 5 Furthest access node c compared to the preamble iterative procedure 2 Nearer to the destination node d, the process proceeds to step S780.
In step S780 of the second iterative procedure, the furthest reaching node c is based on 5 The current first path (s, a 1 ,a 4 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 D) and updating the map for the current first path (s, a 1 ,a 4 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 D) updating to obtain an updated first path.
First, based on the update graph, the source node s is used as a starting point, and the furthest access node is usedPoint c 5 For the end point, the sum (s, a) 1 ,a 4 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 D) the first sub-path where no common routing node exists is (s, a) 2 ,a 3 ,c 1 ,c 3 ,c 5 ) The method comprises the steps of carrying out a first treatment on the surface of the Next, according to the current first path (s, a 1 ,a 4 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 Furthest reaching node c in d) 5 The latter nodes form a second sub-path, i.e. (b) 1 ,b 3 D) a step of (d); finally, the first sub-path (s, a 2 ,a 3 ,c 1 ,c 3 ,c 5 ) And a second sub-path (b 1 ,b 3 Splicing the first paths (s, a) 1 ,a 4 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 D) corresponding updated first path (s, a 2 ,a 3 ,c 1 ,c 3 ,c 5 ,b 1 ,b 3 ,d)。
Referring to fig. 3, the updated first path (s, a 2 ,a 3 ,c 1 ,c 3 ,c 5 ,b 1 ,b 3 D) does not divide the source node s and the destination node d into different connected components, i.e. the source node and the destination node are located in the same connected component. So far, after the second iteration, the total iteration is finished, and the total iteration number is determined to be 2, the step is transferred to step S7100, and the updated first path (S, a) corresponding to the second iteration process is processed 2 ,a 3 ,c 1 ,c 3 ,c 5 ,b 1 ,b 3 D) determining a first separation path and determining a second separation path, e.g. (s, a), based on the first separation path and the initial directed graph 1 ,a 4 ,c 2 ,c 4 ,c 6 ,b 2 ,b 4 ,d)。
It should be noted that, if the updated first path obtained in the second iteration process does not enable the source node S and the destination node d to be located in the same connected component, the process returns to step S740 to perform the third iteration process, or even more times of i iteration processes, until the updated first path corresponding to the ith iteration process enables the source node S and the destination node d to be located in the same connected component. The embodiments of the present disclosure are merely illustrative of determining two separate paths through two iterations, and are not specific limitations on the number of iterations.
Fig. 8 illustrates a communication network topology in which a separate path cannot be established according to an exemplary embodiment of the present disclosure. The following describes, with reference to fig. 7 and 8, a process for timely determining that two separate paths separated by a node do not exist in a communication network topology in a communication path planning method according to an embodiment of the present disclosure.
Step S710: the communication network is converted into an initial directed graph G (V, E) based on traffic demand.
Step S720: and determining the shortest distance path between the source node and the destination node as a first path according to the initial directed graph.
Referring to fig. 8, the first path is (s, a 2 ,a 3 ,c 1 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 ,d)。
In step S730, it is determined whether the first path is calculated.
If the first path is calculated, go to step S740; otherwise, it is confirmed that there are no two separate paths separated by the node in the current communication network, and the process goes to step S790 to end the process of establishing a separate path, i.e., to end the process of communication path planning.
Step S740: and determining the shortest distance path between the source node and the destination node according to the rest nodes except the path node of the first path in the initial directed graph.
In step S750, if the shortest distance path is obtained, the shortest distance path and the first path actually form two separate paths with completely separated path nodes, and the process goes to step S7100, where one path of the two separate paths is used as a working path and the other path is used as a protection path.
Otherwise, if the shortest distance path is not obtained, the routing node (a) of the first path is described 2 ,a 3 ,c 1 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 ) G (V, E) is divided into two or more connected components. Referring to fig. 8, the first path divides the initial directed graph into three connected components: (s, a) 1 ,a 4 )、(c 3 ) And (b) 2 ,b 4 D) is provided. In this case, the source node S and the destination node d are located in different connected components, so that the shortest distance path separated from the first path as the node cannot be obtained, and the process goes to step S760 to enter the iterative branch.
Step S760: determining a path node except a source node and a destination node in a current first path; deleting the outgoing edge of the passing node in the initial directed graph to obtain an updated graph, detecting connectivity between the original directed graph and the passing node of the current first path by taking the source node as a starting point, and determining the furthest access node according to the detection result.
Referring to fig. 8, the current routing node of the first path is (a 2 ,a 3 ,c 1 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 ) After deleting the outgoing edges of the routing nodes, detecting connectivity between the routing nodes of the current first path by taking the source node s as a starting point, and recording accessible nodes (not null) to determine that the source node s can access the furthest node of the current first path, namely the furthest access node is c 2 And proceeds to step S770.
Step S770: and judging whether the furthest access node in the iterative process is closer to the destination node d than the furthest access node in the preamble iterative process.
The furthest access node in the preamble iterative process is determined as the first pass node of the current first path, namely a 2 C is 2 Comparison a 2 Closer to the destination node d, go to step S780. Otherwise, the process goes to step S790 to end the process of establishing the separation path.
Step S780: and updating the current first path based on the furthest access node, the current first path and the update graph to obtain an updated first path.
Referring to fig. 8, in the iterative process, the furthest access node is determined to be c 2 The current first path is (s, a 2 ,a 3 ,c 1 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 And d), the updated graph is obtained by eliminating the outgoing edge of the passing node of the current first path in the initial graph.
First, based on the update graph, the source node s is taken as a starting point, and the furthest access node c is taken 2 For the end point, acquire a first path (s, a 2 ,a 3 ,c 1 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 D) the first sub-path where no common routing node exists is (s, a) 1 ,a 4 ,c 2 ) The method comprises the steps of carrying out a first treatment on the surface of the Next, according to the current first path (s, a 2 ,a 3 ,c 1 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 Furthest reaching node c in d) 2 The latter nodes form a second sub-path, i.e. (c) 4 ,c 6 ,c 5 ,b 1 ,b 3 D) a step of (d); finally, the first sub-path (s, a 1 ,a 4 ,c 2 ) And a second sub-path (c 4 ,c 6 ,c 5 ,b 1 ,b 3 Splicing the first paths (s, a) 2 ,a 3 ,c 1 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 D) corresponding updated first path (s, a 1 ,a 4 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 ,d)。
Referring to fig. 8, based on the updated first path (s, a 1 ,a 4 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 D) does not reduce the number of connected components corresponding to the initial directed graph. At this time, the connected component is: (s, a) 2 ,a 3 ,c 1 ),(c 3 ) And (b) 2 ,b 4 D), and go to step S740, to perform the second iteration process.
The second iteration process is described below.
In step S740: and judging whether the shortest distance path can be determined according to the rest nodes except the updated path nodes of the first path in the initial directed graph.
If the shortest distance path can be determined according to the remaining nodes in the initial directed graph except the routing nodes of the updated first path, the process goes to step S7100. Otherwise, go to step S760.
In step S760 of the second iteration process, the transit node of the current first path is (a) 1 ,a 4 ,c 2 ,c 4 ,c 6 ,c 5 ,b 1 ,b 3 ) After deleting the outgoing edges of the routing nodes, detecting connectivity between the routing nodes of the current first path by taking the source node s as a starting point, and recording accessible nodes (not null) to determine that the source node s can access the furthest node of the current first path, namely the furthest access node is c 2 And proceeds to step S770.
In step S770 of the second iteration process, it is determined that the furthest access node c of the present iteration process 2 Furthest access node c compared to the preamble iterative procedure 2 Whether or not to be closer to the destination node d.
If the furthest access node c in the iterative process is judged 2 Furthest access node c compared to the preamble iterative procedure 2 If the communication network is not closer to the destination node d, it is indicated that the communication component further away cannot be accessed through the iterative process, that is, it is determined that there are two separate paths separated by the node in the current communication network, and the process goes to step S790, where the process of establishing the separate paths is ended, that is, the process of planning the communication paths is ended.
In the embodiment of the disclosure, by comparing the furthest access nodes in the two iterative processes before and after, two separation paths which cannot be established by the node separation in the current communication network can be timely determined, so that the calculation process can be timely stopped, and the waste of calculation resources and time is reduced.
In an exemplary embodiment, if it is determined that the separate paths cannot be established, i.e., the communication path planning fails, a prompt may be sent to the caller to indicate that two separate paths cannot be determined. If two separate paths are obtained, the paths in the G (V, E) can be converted into ordered information such as network nodes and channels and related information for determining the two separate paths based on the requirement of the caller, and the information is fed back to the caller, so that the caller uses the returned information to perform preemption or activation of the paths in the subsequent network.
As can be seen from the foregoing, in the communication path planning method in the exemplary embodiment of the present disclosure, when the shortest distance path between the source node and the destination node cannot be determined according to the remaining nodes except the determined routing node of the shortest distance path (the first path) in the initial directed graph, the network is divided into a plurality of connected components based on the first path, so that when the separated path is established in an iterative manner, a clear calculation boundary is provided, compared with the manner of violence traversal in the prior art, the first path is updated through an iterative process, and the combination and updating of the connected components are realized based on the updated first path, until the source node and the destination node are located in the same connected component, the updated first path corresponding to the last iteration is determined as the first separated path, and the second separated path is determined based on the first separated path and the initial directed graph, so that the number of iterations in the whole process cannot exceed the number of the connected components, that is, after the first path is determined, the second path is effectively and rapidly planned for the network, and the dynamic planning cost of the network adapted to the communication path is reduced; on the other hand, in the process of establishing the separation path, the number of virtual nodes or connection channels is not increased, namely the complexity of scheme calculation is not increased; on the other hand, the method of the embodiment of the disclosure can quickly and effectively establish the separation path, and can not influence the integrity of one path when the passing network element or the relay channel of the other path fails for the application scene requiring planning of the separation of the main node and the standby node, thereby realizing the quick switching recovery of the service, improving the survivability of the communication network service, further improving the quality of the telecommunication service and enhancing the perception of users.
Further, according to an exemplary embodiment of the present disclosure, there is also provided a communication path planning apparatus. As shown in fig. 9, a communication path planning apparatus 900 of an embodiment of the present disclosure may include:
a first determining module 910, configured to determine, according to an initial directed graph, a shortest distance path between a source node and a destination node as a first path, where the initial directed graph is obtained based on a communication network topology where the source node and the destination node are located;
a second determining module 920, configured to determine, if a shortest distance path between the source node and the destination node is not determined according to remaining nodes in the initial directed graph except for the routing node of the first path, a plurality of connected components corresponding to the initial directed graph based on the first path, where each connected component and the first path have no common routing node, and no common node exists between each connected component;
an execution module 930 configured to execute an iterative process until the source node and the destination node are located within a same connected component; each iteration process comprises the steps of updating the first path, and realizing combination and updating of the connected components based on the updated first path;
A third determining module 940, configured to determine an updated first path corresponding to an ith iteration process as a first separation path, and determine a second separation path based on the first separation path and the initial directed graph, where there is no common routing node between the second separation path and the first separation path, and i is a total number of iterations; one of the two separate paths serves as a working path and the other path serves as a protection path.
The specific details of each module in the above apparatus are already described in the method section, and the details that are not disclosed can be referred to the embodiment of the method section, so that they will not be described in detail.
It should be noted that although in the above detailed description several modules or units of the communication path planning apparatus are mentioned, this division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit in accordance with embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into a plurality of modules or units to be embodied.
Furthermore, in exemplary embodiments of the present disclosure, a computer storage medium capable of implementing the above-described method is also provided. On which a program product is stored which enables the implementation of the method described above in the present specification. In some possible embodiments, the various aspects of the present disclosure may also be implemented in the form of a program product comprising program code for causing a terminal device to carry out the steps according to the various exemplary embodiments of the disclosure as described in the "exemplary methods" section of this specification, when the program product is run on the terminal device.
The disclosed embodiments also provide a program product for implementing the above method, which may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The program product may employ 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 can be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium would include the following: an electrical connection having one or more wires, a portable disk, a hard disk, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The computer readable signal medium may include a data signal propagated in baseband or as part of a carrier wave with readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, the remote computing device may be connected to the user computing device through any kind 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., connected via the Internet using an Internet service provider).
In addition, in an exemplary embodiment of the present disclosure, a communication apparatus capable of implementing the above method is also provided. Those skilled in the art will appreciate that the various aspects of the present disclosure may be implemented as a system, method, or program product. Accordingly, various aspects of the disclosure may be embodied in the following forms, namely: an entirely hardware embodiment, an entirely software embodiment (including firmware, micro-code, etc.) or an embodiment combining hardware and software aspects may be referred to herein as a "circuit," module "or" system.
A communication device 1000 according to such an embodiment of the present disclosure is described below with reference to fig. 10. The communication device 1000 shown in fig. 10 is merely an example and should not be construed as limiting the functionality and scope of use of the disclosed embodiments.
As shown in fig. 10, the communication apparatus 1000 includes: a processor 1001 and a memory 1002; memory 1002 stores instructions executable by processor 1001; the processor 1001 is configured to execute the instructions, causing the communication device 1000 to implement the method as described in the method embodiments described previously.
From the above description of embodiments, those skilled in the art will readily appreciate that the example embodiments described herein may be implemented in software, or in combination with the necessary hardware. Thus, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (may be a CD-ROM, a U-disk, a mobile hard disk, etc.) or on a network, and includes several instructions to cause a computing device (may be a personal computer, a server, a terminal device, or a network device, etc.) to perform the method according to the embodiments of the present disclosure.
Furthermore, the above-described figures are only schematic illustrations of processes included in the method according to the exemplary embodiments of the present disclosure, and are not intended to be limiting. It will be readily appreciated that the processes shown in the above figures do not indicate or limit the temporal order of these processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, for example, among a plurality of modules.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This disclosure is intended to cover any adaptations, uses, or adaptations of the disclosure following the general principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.

Claims (10)

1. A communication path planning method, comprising:
determining a shortest distance path between a source node and a destination node as a first path according to an initial directed graph, wherein the initial directed graph is obtained based on a communication network topology where the source node and the destination node are located;
If the shortest distance path between the source node and the destination node cannot be determined according to the rest nodes except the passing nodes of the first path in the initial directed graph, determining a plurality of communication components corresponding to the initial directed graph based on the first path, wherein a public passing node does not exist between each communication component and the first path, and a public node does not exist between each communication component;
performing an iterative process until the source node and the destination node are located within the same connected component; each iteration process comprises the steps of updating the first path, and realizing combination and updating of the connected components based on the updated first path;
the updated first path corresponding to the ith iteration process is determined to be a first separation path, a second separation path is determined based on the first separation path and the initial directed graph, no common passing node exists between the second separation path and the first separation path, and i is the total iteration times; one of the two separate paths serves as a working path and the other path serves as a protection path.
2. The method of claim 1, wherein if a shortest distance path can be determined based on remaining nodes in the initial directed graph other than the routed nodes of the first path, the method further comprises:
Determining the two shortest distance paths as the two separation paths;
wherein, there is no common via node between the two shortest distance paths.
3. The method of claim 1, wherein the determining a plurality of connected components corresponding to the initial directed graph based on the first path comprises:
taking a passing node of the first path as a blocking point, and taking a node with a communication relation in the initial directed graph as a point set; wherein the set of points does not include a pass-through node of the first path;
and determining a plurality of connected components corresponding to the initial directed graph according to the obtained plurality of point sets.
4. The method of claim 1, wherein each iterative process comprises the steps of:
determining a current first path, and cutting the initial directed graph based on the current first path to obtain an updated graph;
acquiring a furthest access node of the source node in the update graph, and updating the current first path based on the furthest access node, the current first path and the update graph to obtain an updated first path;
determining a communication component corresponding to the initial directed graph based on the updated first path, and judging whether the source node and the destination node are positioned in the same communication component;
If yes, iteration is ended, and the current iteration times are determined to be the total iteration times i;
otherwise, returning to the step of determining the current first path to continue the next iteration process, wherein the updated first path is determined to be the current first path.
5. The method of claim 4, wherein determining the current first path and clipping the initial directed graph based on the current first path results in an updated graph, comprising:
determining a passing node except the source node and the destination node in the current first path;
and deleting the outgoing edge of the passing node in the initial directed graph to obtain the updated graph.
6. The method of claim 5, wherein the obtaining the furthest access node of the source node in the update graph, updating the current first path based on the furthest access node, the current first path, and the update graph, and obtaining an updated first path comprises:
based on the update diagram, detecting connectivity between the source node and the passing node of the current first path by taking the source node as a starting point, and determining the furthest access node according to a detection result;
Based on the update graph, taking the source node as a starting point and the furthest access node as an end point, and acquiring a first sub-path which does not have a public routing node with the current first path;
forming a second sub-path according to the node after the furthest access node in the current first path;
and splicing the first sub-path and the second sub-path to obtain an updated first path corresponding to the current first path.
7. The method of claim 4, wherein prior to the continuing the next iteration process, the method further comprises:
judging whether the shortest distance path can be determined according to the rest nodes except the route nodes of the updated first path in the initial directed graph;
if yes, iteration is ended, and the two obtained shortest distance paths are determined to be the two separation paths;
otherwise, the next iteration process is allowed.
8. The method according to claim 4, wherein in case of the continuing of the next iteration process, the method further comprises:
acquiring the furthest access node of the update graph corresponding to the preamble iterative process of the next iterative process, and determining corresponding first position information;
Determining an update chart corresponding to the next iteration process;
acquiring second position information of the furthest access node in the update chart corresponding to the next iteration process;
judging whether the second position information is closer to the destination node than the first position information;
if yes, allowing the next iteration process to continue; otherwise, the iteration is ended, and prompt information is output to indicate that the two separation paths cannot be determined.
9. The method according to any of claims 1 to 8, wherein the process of deriving the initial directed graph based on the communication network topology in which the source node and the destination node are located comprises:
converting the network node into a vertex set;
converting channels carrying weights among network nodes into edge sets; wherein, the channel between the network nodes is determined based on whether the channel meets the service bandwidth;
and constructing the initial directed 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.
10. A communication path planning apparatus, comprising:
the first determining module is used for determining a shortest distance path between a source node and a destination node as a first path according to an initial directed graph, wherein the initial directed graph is obtained based on a communication network topology where the source node and the destination node are located;
A second determining module, configured to determine, if a shortest distance path between the source node and the destination node is not determined according to remaining nodes in the initial directed graph except for the routing node of the first path, a plurality of connected components corresponding to the initial directed graph based on the first path, where each connected component and the first path have no common routing node, and no common node exists between each connected component;
an execution module for performing an iterative process until the source node and the destination node are located within the same connected component; each iteration process comprises the steps of updating the first path, and realizing combination and updating of the connected components based on the updated first path;
a third determining module, configured to determine an updated first path corresponding to an ith iteration process as a first separation path, and determine a second separation path based on the first separation path and the initial directed graph, where there is no common routing node between the second separation path and the first separation path, and i is the total number of iterations; one of the two separate paths serves as a working path and the other path serves as a protection path.
CN202310679012.0A 2023-06-08 2023-06-08 Communication path planning method and device Pending CN116723109A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310679012.0A CN116723109A (en) 2023-06-08 2023-06-08 Communication path planning method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310679012.0A CN116723109A (en) 2023-06-08 2023-06-08 Communication path planning method and device

Publications (1)

Publication Number Publication Date
CN116723109A true CN116723109A (en) 2023-09-08

Family

ID=87865528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310679012.0A Pending CN116723109A (en) 2023-06-08 2023-06-08 Communication path planning method and device

Country Status (1)

Country Link
CN (1) CN116723109A (en)

Similar Documents

Publication Publication Date Title
US11303565B2 (en) Traffic matrix prediction and fast reroute path computation in packet networks
JP5651756B2 (en) Method and communication system for mapping network topology requirements to physical networks
US8144626B2 (en) Determining disjoint paths with an optimized number of regenerators
US10686544B2 (en) Machine learning techniques for selecting paths in multi-vendor reconfigurable optical add/drop multiplexer networks
US10404546B2 (en) Multi-tier fault tolerant network design with quality of service considerations
US20100086306A1 (en) Dynamic routing of optical signals in optical networks
EP1807983A1 (en) Optical path routing in an optical communications network
CN109429117B (en) Routing method and device
Pašić et al. FRADIR-II: An improved framework for disaster resilience
CN116723109A (en) Communication path planning method and device
US9967053B2 (en) Shortest minimum regeneration path search in networks
CN117581513A (en) Representation and coordination for virtual wide area networks
JP6848688B2 (en) Shortest path search with constraints in the network
CN116566893A (en) Method and device for establishing separation path
Todd et al. Survivable network design and optimization with network families
Castillo et al. Dual‐failure restorability analysis of span‐restorable meta‐mesh networks
JP4124711B2 (en) Optical network design method and optical network design apparatus
WO2021103922A1 (en) Method for determining route for och service, device, and storage medium
CN112491568B (en) Algorithm service system and method for optical transport network
US10673739B2 (en) Detour routing for mesh network
CN114374636A (en) Intelligent routing method, device and network equipment
CN115834392A (en) Network capacity determination method and device, electronic equipment and storage medium
CN117134953A (en) SDH service sharing risk determination method, SDH service sharing risk determination device and related equipment
Cho et al. A fault tolerant channel allocation scheme in distributed cloud networks
KAPTCHOUANG Link weight optimization models against link failure in Internet protocol networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination