Large-scale optical network fast routing calculation method based on relay topology and electronic equipment

By constructing a relay topology and using a double-layer A* algorithm to alternately calculate routes on the physical topology and relay topology, the problem of low routing calculation efficiency under the limitation of relay nodes in large-scale WDM optical networks is solved, fast routing and wavelength allocation are achieved, and network costs are reduced.

CN120640159APending Publication Date: 2025-09-12BEIJING UNIV OF POSTS & TELECOMM
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510816680.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-18
Publication Date
2025-09-12

AI Technical Summary

Technical Problem

In large-scale WDM optical networks, how to select the optimal node relay for the service to minimize the number of relays, achieve fast routing calculation and allocate wavelengths? Existing algorithms have difficulty taking into account the relay node limitations, resulting in low routing calculation efficiency.

Method used

A relay topology is constructed to separate the physical topology from signal relay restrictions. A double-layer A* algorithm is used to alternately calculate routes and allocate wavelengths based on the physical topology and relay topology. The physical topology and signal relay restrictions are separated by constructing the first relay topology and the second relay topology to determine the reachable path between the source node and the destination node.

Benefits of technology

It minimizes the number of service relays, quickly builds optical paths, and improves the routing calculation efficiency and network carrying capacity of the optical network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120640159A_ABST
    Figure CN120640159A_ABST
Patent Text Reader

Abstract

The invention provides a large-scale optical network fast routing calculation method based on relay topology and electronic equipment, and the method comprises the steps: receiving a to-be-calculated routing service, and determining a source node and a destination node of the routing service on a physical topology; a first relay topology and a second relay topology are constructed according to the physical topology, nodes in the first relay topology are the same as the physical topology, and nodes in the second relay topology are all common nodes. And determining whether the source node and the destination node have corresponding edges in the second relay topology or not, and if yes, determining a routing path between the source node and the destination node by adopting a routing algorithm according to the physical topology and the second relay topology. And if not, determining a routing path between the source node and the destination node by adopting a routing algorithm according to the physical topology and the first relay topology. According to the method provided by the embodiment of the invention, the number of service relays can be minimized, and the optical path can be quickly constructed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of network distribution technology, and in particular to a fast routing calculation method and electronic device for a large optical network based on relay topology. Background Art

[0002] With the advancement of wavelength division multiplexing (WDM), coding, and parallel transmission technologies, optical network capacity has grown dramatically, carrying a vast amount of terrestrial communications services. In WDM optical networks, it is necessary to calculate appropriate routes and allocate wavelengths for each end-to-end service, establishing a reliable optical path between the source and destination nodes. The use of relay nodes can improve signal transmission quality, but their number is limited. Given the inherent limitations of optical networks, selecting the optimal node relay for each service to minimize the number of relays, and implementing fast route calculation and wavelength allocation, have become extremely difficult tasks in large-scale optical networks. Summary of the Invention

[0003] In view of this, the purpose of this application is to propose a large-scale optical network fast routing calculation method and electronic equipment based on relay topology to solve the problem of difficulty in rapid deployment of services in optical networks.

[0004] Based on the above objectives, the present application provides a fast routing calculation method for a large optical network based on relay topology, comprising: receiving a routing service to be calculated, and determining a source node and a destination node of the routing service in a physical topology; wherein the physical topology includes ordinary nodes and relay nodes; Constructing a first relay topology and a second relay topology respectively according to the physical topology, wherein the nodes in the first relay topology are the same as those in the physical topology, and the nodes in the second relay topology are all common nodes; Determine whether there is a corresponding edge between the source node and the destination node in the second relay topology. If so, use a routing algorithm to determine the routing path between the source node and the destination node based on the physical topology and the second relay topology; if not, use a routing algorithm to determine the routing path between the source node and the destination node based on the physical topology and the first relay topology.

[0005] Based on the same inventive concept, the present application also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable by the processor, wherein the processor implements the method described above when executing the computer program.

[0006] Based on the same inventive concept, the present application also provides a non-transitory computer-readable storage medium, which stores computer instructions, and the computer instructions are used to enable a computer to execute the method as described above.

[0007] As can be seen from the above, the present application provides a method and electronic device for fast routing calculation in a large optical network based on relay topology. The method includes: receiving a routing service to be calculated, determining the source node and destination node of the routing service in a physical topology; wherein the physical topology includes ordinary nodes and relay nodes. A first relay topology and a second relay topology are constructed based on the physical topology, respectively. The nodes in the first relay topology are identical to the physical topology, and the nodes in the second relay topology are all ordinary nodes. By constructing the first relay topology and the second relay topology, the physical topology is separated from signal relay constraints. A determination is made as to whether corresponding edges exist between the source node and the destination node in the second relay topology. If so, a reachable path between the source node and the destination node that does not require signal relay exists. Based on the physical topology and the second relay topology, a routing algorithm is used to determine the routing path between the source node and the destination node. If not, a signal relay is required to establish a reachable path between the source node and the destination node. Based on the physical topology and the first relay topology, a routing algorithm is used to determine the routing path between the source node and the destination node. The method of this embodiment can minimize the number of service relays and rapidly construct an optical path. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] In order to more clearly illustrate the technical solutions in this application or related technologies, the following is a brief introduction to the drawings required for use in the embodiments or related technical descriptions. Obviously, the drawings described below are only embodiments of this application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0009] Figure 1 A schematic diagram of a flow chart of a fast routing calculation method for a large optical network based on a relay topology according to an embodiment of the present application; Figure 2 A schematic diagram of the physical topology of an embodiment of the present application; Figure 3 This is a schematic diagram of the structure of the first relay topology according to an embodiment of the present application; Figure 4 This is a schematic diagram of the structure of the second relay topology according to an embodiment of the present application; Figure 5 This is a flow chart of routing calculation for an optical network according to an embodiment of the present application; Figure 6This is a schematic diagram of the structure of a large-scale optical network fast routing calculation device based on relay topology according to an embodiment of the present application; Figure 7 This is a schematic diagram of the hardware structure of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0010] In order to make the objectives, technical solutions and advantages of this application more clear, this application is further described in detail below in combination with specific embodiments and with reference to the accompanying drawings.

[0011] It should be noted that, unless otherwise defined, the technical terms or scientific terms used in the embodiments of the present application should have the usual meanings understood by people with ordinary skills in the field to which this application belongs. The "first", "second" and similar words used in the embodiments of the present application do not indicate any order, quantity or importance, but are only used to distinguish different components. "Include" or "comprise" and similar words mean that the elements or objects appearing before the word cover the elements or objects listed after the word and their equivalents, without excluding other elements or objects. "Connect" or "connected" and similar words are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "Up", "down", "left", "right" and the like are only used to indicate relative positional relationships. When the absolute position of the described object changes, the relative positional relationship may also change accordingly.

[0012] As described in the background, with the advancement of wavelength division multiplexing (WDM), coding, and parallel transmission technologies, optical network capacity has grown dramatically, carrying a vast amount of terrestrial communications services. From metropolitan area networks to interprovincial trunk lines, ultra-large-scale optical networks enable ultra-wide, highly reliable, and low-latency communications transmission. In WDM optical networks, it is necessary to calculate appropriate routes and assign wavelengths for each end-to-end service to build a reliable optical path connecting the source and destination nodes. Signals propagate along the optical path with power attenuation, necessitating the deployment of fiber amplifiers, such as erbium-doped fiber amplifiers (EDFAs), at specified intervals to extend signal transmission distance. At the same time, interference factors such as dispersion, four-wave mixing (FWM), and cross-phase modulation (XPM) in optical fibers, as well as amplifier-induced spontaneous emission (ASE) noise, further degrade the quality of optical signal transmission. This necessitates the use of optical nodes with relay functions. These nodes, called relay nodes, perform optical-to-electrical-to-optical conversion, amplify, shape, and regenerate signals in a timely manner to improve signal transmission quality (QoT).

[0013] Relay nodes can relay or bypass signals, effectively transmitting them transparently. If an optical path doesn't pass through a node relay, all optical links must be assigned the same wavelength, thus meeting wavelength consistency requirements. For services occupying multiple wavelengths, wavelength continuity constraints must be met. Factors limiting signal transmission quality include optical signal transmission distance, the number of Optical Transmission Section (OTS) hops, and the maximum optical signal-to-noise ratio (OSNR) attenuation. If end-to-end routing doesn't meet these constraints, a direct optical path cannot be constructed and must involve node relays. However, the number of relay nodes is limited, and service routing requires the most efficient use of relay nodes, minimizing the number of relays used for each service to reduce network costs and improve network carrying capacity. This route calculation process is particularly time-consuming in large-scale optical networks. Therefore, given the inherent constraints of optical networks, selecting the optimal node relays for each service to minimize the number of relays, and achieving fast route calculation and wavelength allocation, become extremely challenging in large-scale optical networks.

[0014] Currently, commonly used routing algorithms include the Dijkstra algorithm (D algorithm) and the A-Star algorithm (A* algorithm). The D algorithm uses a strategy of gradually expanding from the source node to adjacent nodes, updating the estimated shortest distance between nodes after each expansion until the destination node is found. However, its search efficiency is relatively low in large-scale networks. The A* algorithm is a heuristic algorithm improved upon the D algorithm. It uses precomputed shortest distances between pairs of nodes as prior information and employs an evaluation function to determine the search direction. Compared to the D algorithm, the A* algorithm has stronger directionality, a smaller search space, and higher routing computational efficiency. The A* algorithm can be categorized as either global or local optimal. The global optimal search considers all currently scalable nodes, evaluates their values, and selects the node with the lowest value as the next hop. The local optimal search, on the other hand, only considers the values ​​of the scalable children of the currently checked node and selects the next hop. For large-scale networks, the local optimal search has shorter computation time and higher search efficiency. However, the D and A* algorithms struggle to simultaneously select the optimal node relay scheme while calculating the path, making them inappropriate for optical networks with relay node constraints.

[0015] Currently, there are relatively few fast routing calculation solutions that do not involve the limitations of optical relays on routing solutions. They can be mainly divided into the following three categories: (1) Routing table lookup method: Centrally manage the link status and simplify the routing calculation to lookup the routing table. It does not involve limiting factors such as wavelength allocation and node relay. It is suitable for computer networks and cannot be directly transplanted to WDM optical networks.

[0016] (2) Machine learning and heuristic algorithms: The routing and wavelength assignment (RWA) problem is transformed into a supervised classification problem, and routes are calculated using logistic regression or deep neural networks. Some solutions use historical network traffic information for traffic prediction and solve the RWA problem through genetic algorithms or reinforcement learning. However, for large-scale optical networks, the training process of such algorithms is computationally expensive and converges slowly.

[0017] (3) Graph theory method: First, the network topology is divided into several sub-topologies through the topology pruning method, and then the RWA algorithm is executed on each sub-topology. This method is suitable for satellite networks with regular topological structures, but not for terrestrial optical networks with significant differences in node degrees.

[0018] Existing fast routing algorithms have limited applicability and are difficult to adapt to the requirements of optical networks for signal relay, and cannot be directly applied to large-scale WDM optical networks.

[0019] In view of this, this application proposes a fast routing calculation method for large optical networks based on relay topology, constructs a relay topology to separate the physical topology and signal relay restrictions, uses a double-layer A* algorithm to alternately calculate routes and allocate wavelengths on the physical topology and relay topology, minimizes the number of service relays, and realizes the rapid construction of optical paths.

[0020] The embodiments of the present application are described in detail below with reference to the accompanying drawings.

[0021] This application proposes a fast routing calculation method for large optical networks based on relay topology. Figure 1 , including the following steps: Step 101: Receive a routing service to be calculated, and determine a source node and a destination node of the routing service in a physical topology; wherein the physical topology includes common nodes and relay nodes.

[0022] Specifically, the optical network in this embodiment is a core optical network or a backbone optical network. The routing service to be calculated is an end-to-end service, including the source node and the destination node, as well as the number of wavelengths occupied by the routing service. G It includes ordinary nodes and relay nodes, and the physical topology is represented by a directed graph G ( V , E ) indicates that. V Represents a collection of optical nodes (including relay nodes and ordinary nodes), ; E represents the optical link set, ; The set of all wavelengths on the optical link is W , . length ( e ) indicates a link e The length of the , in km; LOSS ( e ) indicates a link e The OSNR attenuation value, in dB; OTS ( e ) indicates a link e The limiting factor of the optical path is expressed as ( length max , LOSS max , OTS max ),in length max Indicates the maximum transmission distance of the optical path without signal relay; LOSS max Indicates the maximum OSNR attenuation value accumulation allowed by the optical receiving end; OTS maxIndicates the maximum OTS hop count limit for an optical path that does not pass through a signal relay.

[0023] Figure 2 Figure 2 shows a schematic diagram of the physical topology. Figure 2 As shown, the physical topology G The limiting factors that allow the establishment of optical paths are ( length max =800km, LOSS max =22dB, OTS max =10). Nodes D and F are relay nodes, and nodes A, B, C, E, G, and H are common nodes. The link length between each pair of optical nodes is length (Unit: km), OSNR attenuation value LOSS (Unit: dB), OTS hop count OTS The wavelength occupancy is marked in the figure. Each link is a unidirectional link. The parameters of each pair of unidirectional links in opposite directions are the same, and the current wavelength occupancy is also the same. Each link can carry up to 4 wavelengths. W ={1, 2,3, 4}.

[0024] Step 102: Construct a first relay topology and a second relay topology according to the physical topology. The nodes in the first relay topology are the same as those in the physical topology, and the nodes in the second relay topology are all common nodes.

[0025] Specifically, the first relay topology includes all nodes in the physical topology, including common nodes and relay nodes. The second relay topology includes all common nodes in the physical topology, excluding relay nodes.

[0026] Furthermore, the method for constructing the first relay topology includes: Calculating the shortest feasible paths between any two nodes in the physical topology that satisfy preset optical path constraints, and combining all the shortest feasible paths to obtain a first path set; For any two nodes, in response to determining that the two nodes include at least one relay node and there is a shortest feasible path between the two nodes in the first path set that does not use the relay function, an edge between the two nodes is constructed in the first relay topology to construct the first relay topology.

[0027] Furthermore, the method for constructing the second relay topology includes: For any two nodes, in response to determining that the two nodes do not include a relay node and there is a shortest feasible path between the two nodes in the first path set that does not use the relay function, an edge between the two nodes is constructed in the second relay topology to construct the second relay topology.

[0028] When implementing it, first calculate the physical topology G The shortest feasible paths between two nodes that meet the preset light path constraints are combined to obtain the first path set. Specifically, the physical topology G All relay nodes in the network are transformed into ordinary nodes, which is recorded as the physical topology G' . Traversing the physical topology G' Each pair of optical nodes ( a , b ), taking them as the source node and destination node respectively, the steps of each traversal process are as follows: Use the Depth-First-Search (DFS) algorithm to G' Search from a arrive b The shortest feasible route that meets the lightpath constraints r a,b , if the node a arrive b There are reachable paths between them, which are counted in the set R C , If the node a arrive b If there is no reachable path between them, no record will be made. The maximum search depth of DFS is limited to H max , Formula (1) to Formula (3) are expressions of optical path limitation factors.

[0029] (1) (2) (3) Calculated Figure 2 The set of all reachable node pairs in is as follows: R C ={ r A,B , r B,A , r A,D , r D,A , r A,E , r E,A , r A,F , r F,A , r B,C , r C,B, r B,D , r D,B , r B,E , r E,B , r B,F , r F,B , r C,D , r D,C , r C,E , r E,C , r C,F , r F,C , r C,G , r G,C , r C,H , r H,C , r D,E , r E,D , r D,F , r F,D , r D,G , r G,D , r D,H , r H,D , r E,F , r F,E , r E,G , r G,E , r E,H , r H,E , r F,G , r G,F , r F,H , r H,F , r G,H , r H,G}。

[0030] Create a new empty topology G R1 and G R2 For two sub-topologies, copy G All nodes in G R1 ,copy G All common nodes in G R2 For any two nodes, if the two nodes contain at least one relay node, and the two nodes are in the set R C There are some that do not use the relay function r a,b , then in G R1 Construct a directed edge with a corresponding edge weight of 1 e ( a , b ), after completing the above path judgment for all two nodes, the first relay topology is constructed G R1 It should be noted that even if r a,b After passing through the relay node, the relay function of the relay node may not be used, that is, the relay node is used as an ordinary node. Figure 3 A schematic structural diagram of a first relay topology is shown. Figure 3 In , the link represented by each edge is a unidirectional link.

[0031] For any two nodes, if there is no relay node between the two nodes, that is, both nodes are ordinary nodes, and the two nodes are in the set R C There are some that do not use the relay function r a,b , then in G R2 Construct a directed edge with a corresponding edge weight of 1 e ( a , b ), after completing the above path judgment for all two nodes, the second relay topology is constructed G R2 . Figure 4 A schematic structural diagram of a second relay topology is shown. Figure 4 In , the link represented by each edge is a unidirectional link.

[0032] Step 103: Determine whether there is a corresponding edge between the source node and the destination node in the second relay topology. If so, use a routing algorithm to determine the routing path between the source node and the destination node based on the physical topology and the second relay topology. If not, use a routing algorithm to determine the routing path between the source node and the destination node based on the physical topology and the first relay topology.

[0033] Specifically, if a corresponding edge exists between the source node and the destination node in the second relay topology, indicating that a reachable path exists between the source node and the destination node without using a relay, a routing algorithm can be used to determine the routing path between the source node and the destination node based on the physical topology and the second relay topology, without involving the first relay topology. If a corresponding edge does not exist between the source node and the destination node in the second relay topology, indicating that a reachable path between the source node and the destination node must use a relay node, a routing algorithm can be used to determine the routing path between the source node and the destination node.

[0034] Based on steps 101 to 103 above, the relay topology-based fast routing calculation method for a large-scale optical network provided in this embodiment includes: receiving a routing service to be calculated, determining the source node and destination node of the routing service in a physical topology; wherein the physical topology includes ordinary nodes and relay nodes. A first relay topology and a second relay topology are constructed based on the physical topology, respectively. The nodes in the first relay topology are identical to those in the physical topology, while the nodes in the second relay topology are all ordinary nodes. By constructing the first relay topology and the second relay topology, the physical topology is separated from signal relay constraints. A determination is made as to whether corresponding edges exist between the source node and the destination node in the second relay topology. If so, a reachable path between the source node and the destination node that does not require signal relay exists. A routing algorithm is then used to determine a routing path between the source node and the destination node based on the physical topology and the second relay topology. If not, a reachable path between the source node and the destination node requires signal relay. A routing algorithm is then used to determine a routing path between the source node and the destination node based on the physical topology and the first relay topology. The method of this embodiment can minimize the number of service relays and quickly build an optical path.

[0035] In order to facilitate the subsequent determination of the routing path between the source node and the destination node, it is also necessary to pre-calculate the prior information required by the A* algorithm. The pre-calculation specifically includes: Traversing the physical topology G Each pair of nodes ( m , n ), without considering the limiting factors, use the D algorithm to calculate the shortest routing distance between nodes and save it to the collection DP , . Combined Figure 2 , calculated D P ={ dp A,B , dp B,A , dp A,C , dp C,A , dp A,D , dp D,A , dp A,E , dp E,A , dp A,F , dp F,A , dp A,G , dp G,A , dp A,H , dp H,A , dp B,C , dp C,B , dp B,D , dp D,B , dp B,E , dp E,B , dp B,F , dp F,B , dp B,G , dp G,B , dp B,H , dp H,B , dp C,D , dp D,C , dp C,E , dp E,C , dp C,F , dp F,C , dp C,G , dp G,C ,dp C,H , dp H,C , dp D,E , d p E,D , dp D,F , dp F,D , dp D,G , dp G,D , dp D,H , dp H,D , dp E,F , dp F,E , dp E,G , dp G,E , dp E,H , dp H,E , dp F,G , dp G,F , dp F,H , dp H,F , dp G,H , dp H,G}={500, 500, 900, 900, 600, 600, 500,500, 590, 590, 890, 890, 850, 850, 400, 400, 400, 400, 700, 700, 700, 700,900, 900, 1000, 1000, 300, 300, 590, 590, 500, 500, 500, 500, 800, 800, 300,300, 300, 300, 600, 600, 600, 600, 90, 90, 390, 390, 350, 350, 300, 300, 300,300, 400, 400}.

[0036] Traversing the first relay topology G R1 Each pair of nodes ( j , k ), for each pair of nodes, from G R1Temporarily remove a node j and k All common nodes and directly connected edges other than , use the D algorithm to calculate the shortest routing distance between nodes and save it to the collection D R , , after each calculation is completed, the original topology is restored. The second relay topology G R2 Does not participate in pre-calculation. Get the set: D R ={ dr A,B , dr B,A , dr A,C , dr C,A , dr A,D , dr D,A , dr A,E , dr E,A , dr A,F , dr F,A , dr A,G , dr G,A , dr A,H , dr H,A , dr B,C , dr C,B , dr B,D , dr D,B , dr B,E , dr E,B , dr B,F , dr F,B , dr B,G , dr G,B , dr B,H , dr H,B , dr C,D , dr D,C , dr C,E , drE,C , dr C,F , dr F,C , dr C,G , dr G,C , dr C,H , dr H,C , dr D,E , dr E,D , dr D,F , dr F,D , dr D,G , dr G,D , dr D,H , dr H,D , dr E,F , dr F,E , dr E,G , dr G,E , dr E,H , dr H,E , dr F,G , dr G,F , dr F,H , dr H,F , dr G,H , dr H,G}={2, 2,2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1,2, 2, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1,2, 2}.

[0037] In some embodiments, determining the routing path between the source node and the destination node using a routing algorithm according to the physical topology and the second relay topology includes: Constructing a first set of nodes to be detected, a second set of nodes to be detected, and a first current node, wherein the first set of nodes to be detected includes the destination node, the second set of nodes to be detected includes the source node, and the first current node is the destination node; Perform multiple rounds of first operations. For each round of first operation: Determine whether the second set of nodes to be detected is empty, and if not, use the first node in the second set of nodes to be detected as the second current node; Determine whether the updated second current node is the same as the first current node, If different, determining, in the physical topology according to the second current node, a next hop node that meets a preset wavelength allocation condition and is adjacent to the second current node, and updating the second set of nodes to be detected according to the next hop node, and entering the next round of the first operation; If they are the same, exit multiple rounds of the first operation, and construct a path between the second current node and the previous hop node of the first current node in the physical topology; determine whether the first current node is the destination node, and if so, merge all paths as the routing path between the source node and the destination node.

[0038] Specifically, for the source node of the routing service to be calculated x and destination node y , if the source node x and destination node y They are all ordinary nodes, and the source node x and destination node y There is a direct edge between them in the second relay topology e ( x , y ), represents the source node x and destination node y There is a reachable path that does not use the relay function. The routing algorithm is used to determine the source node through the physical topology and the second relay topology. x and destination node y The routing path between them.

[0039] Construct the first set of nodes to be detected openlist ={ y}, the second set of nodes to be detected openlist' ={ x}, first current node current = y , camefrom ( current )= x , indicating the first current node current The previous hop node is x . Create a new empty set closelist'Record checked nodes and invalid nodes, and create a new collection W ( x ) Record all wavelength numbers in the optical network and create a new source node x The actual distance estimate to each node g' ,in g' ( x )=0, indicating the source node x To the source node x The distance to the source node x The distances to other nodes are initially set to g' =∞.

[0040] Perform multiple rounds of first operations. For each round of first operation: Determine the second set of nodes to be detected openlist' Is it empty? If not, set the second node to be detected openlist' The first node in the current node is the second current node current' . Determine the first current node current Is it related to the second current node current' Same, if different, according to the second current node current' In physical topology G Determine whether the preset wavelength allocation condition is met and the second current node current' The preset wavelength allocation condition includes the wavelength occupation requirement of the routing service to be calculated. For example, if the wavelength occupation requirement is 2 wavelengths, the second current node current' The link between the node and the next hop node must have at least two available wavelengths, and the wavelengths must be continuous. After determining at least one candidate next hop node that meets the wavelength occupation requirement, it is also necessary to determine whether at least one candidate next hop node is included in the closelist' If included, it will be excluded and will not be included in closelist' The candidate next hop node in the second current node current' Adjacent next-hop node neighbor' .

[0041] The second set of nodes to be detected is determined based on at least one next hop node. openlist' To update: For the second current node current' Each next hop node neighbor' , the physical topology G Edge e ( current' , neighbor' ) of the available wavelength set and set W ( current' ) Take the intersection and record it as I .like IIf it is empty or does not meet the service wavelength quantity and wavelength continuity requirements, the next hop node neighbor' Deposit closelist' , continue to check the next neighbor' On the contrary, the calculation is based on the current path, from the source node to neighbor' Estimated distance temp_g' ( neighbor' )= g' ( current' )+Physical topology G middle e ( current' , neighbor' ).like temp_g' ( neighbor' ) is greater than or equal to g' ( neighbor' ), directly neighbor' Deposit openlist' Otherwise, update g' ( neighbor' )for temp_g' ( neighbor' ), record the corresponding previous hop node camefrom' ( neighbor' )= current' , recorded via neighbor' Estimated routing cost to reach the destination node f' ( neighbor' )= g' ( neighbor' )+ dp neighbor',current (gather D P Precomputed neighbor' To the current segment destination current shortest distance). Record W ( neighbor' )= I , the neighbor' Deposit openlist' , for the final openlist' Each node in f' The values ​​are sorted in ascending order and enter the first operation of the next round.

[0042] If the first current node current With the second current node current' Same, exit multiple rounds of the first operation, in the physical topology G Construct the second current node current' To the first current node current Previous hop node camefrom ( current ) between the first current node. current Is it the destination node? yIf so, all paths are merged as the routing path between the source node and the destination node.

[0043] In some embodiments, after constructing a path between the second current node and the previous hop node of the first current node in the physical topology, it also includes: determining whether there is an available wavelength for the path; if so, allocating an available wavelength to the path; if not, determining the routing path between the source node and the destination node using a routing algorithm based on the physical topology and the first relay topology.

[0044] Specifically, if an available optical wavelength that meets the routing service requirements exists in the constructed path, the available wavelength is directly allocated. If not, a routing path between the source node and the destination node is determined using a routing algorithm based on the physical topology and the first relay topology until a path and available wavelength that meet the service requirements are found.

[0045] Figure 5 The figure shows the routing calculation flow chart of the optical network. Figure 5 The following specific example is described. The source node of the routing service {A, E} to be calculated is Figure 2 Node A in the target node is Figure 2 Since nodes A and E are in the second relay topology G R2 There are direct edges in the , construct the first set of nodes to be detected openlist ={E}, the second set of nodes to be detected openlist' ={A}, the first current node current =E, camefrom ( current )=A. Create a new empty set closelist' Record checked nodes and invalid nodes, and create a new collection W (A) Record all wavelength numbers in the optical network and create an estimated value of the actual distance from source node A to each node g' ,in g' (A)=0, the distance from source node A to other nodes is initially set to g' =∞.

[0046] Perform multiple rounds of first operations. For each round of first operation: Determine the second set of nodes to be detected openlist' = Is {A} empty? If it is not empty, set the second node to be detected openlist' The first node A is taken as the second current node current' =A, at this time openlist' ={}. Determine the first current node current =E and the second current node current'=A is different, according to the second current node current' =A in physical topology G Determine whether the preset wavelength allocation condition is met and the second current node current' = the next hop node adjacent to A. The wavelength occupation requirement of the routing service {A, E} to be calculated is 1, indicating that one wavelength is required. Figure 2 As shown, in the physical topology G , with the second current node current' =A's adjacent next-hop nodes include B, D, and E. The available wavelengths of the link between node A and node B are {1, 2, 4}, the available wavelengths of the link between node A and node D are {2, 3, 4}, and the available wavelengths of the link between node A and node E are {2, 4}. Next-hop nodes B, D, and E all meet the wavelength occupation requirements and serve as candidate next-hop nodes. At this time, closelist' If it is an empty set, then B, D, and E are all used as the second current node. current' =A's adjacent next-hop node neighbor' .

[0047] According to the nodes B, D, and E, the second set of nodes to be detected openlist' To update: The physical topology G Edge e (A, neighbor' ) of the available wavelength set and set W (A) Take the intersection and get I (B)={1, 2, 4}, I (D)={2, 3, 4}, I (E)={2, 4}. At this time, I are not empty and meet the requirements of business wavelength quantity and wavelength continuity. Calculate the current path from the source node to neighbor' Estimated distance temp_g' ( neighbor' ). temp_g' (B)= g' (A)+ e (A, B)=0+500=500, temp_g' (D)= g' (A)+ e (A, D)=0+600=600, temp_g' (E)= g' (A)+ e (A, E)=0+500=500. At this time, g' (B)=∞, g' (D)=∞, g' (E)=∞, temp_ g' (B)g' (B), temp_g' (D)< g' (D), 1]temp_g' (E)< g' (E), then update g' (B)=500, g' (D)=600, g' (E)=500. W (B)= I (B), W (D)= I (D), W (E)= I (E). camefrom' (B)=A, camefrom' (D)=A, camefrom' (E)=A. Store nodes B, D, and E in openlist' ,at this time openlist' ={B, D, E}. Calculation yields: f' (B)= g' (B)+ dp B,E =500+700=1200, f' (D)= g' (D)+ dp D,E =600+300=900, f' (E)= g' (E)+ dp E,E =500+0=500. f' Arrange the values ​​in ascending order, and get openlist' ={E, D, B}, enter the first operation of the next round.

[0048] at this time openlist' ={E, D, B} is not empty, and node E is used as the second current node current' =E, first current node current =E and the second current node current' =E is the same, exit the first operation of multiple rounds. G Construct the second current node current' =E to the first current node current =E's previous hop node camefrom ( current )=A is A→E, at this time the first current node current The destination node is E. The routing path between the source node A and the destination node E is A→E, and the available wavelength is wavelength 2. The routing allocation of the routing service {A, E} to be calculated is completed.

[0049] In some embodiments, determining a routing path between the source node and the destination node using a routing algorithm according to the physical topology and the first relay topology includes: Constructing a first set of nodes to be detected and a first current node, wherein the first set of nodes to be detected includes the source node, and the first current node is the source node; Determine whether the first set of nodes to be detected is empty. If not, use the first node in the first set of nodes to be detected as the updated first current node. Determine whether the updated first current node is the source node. If not, construct a second set of nodes to be detected, add the updated first current node to the second set of nodes to be detected, and perform multiple rounds of the second operation. For each round of the second operation: Determine whether the second set of nodes to be detected is empty, and if not, use the first node in the second set of nodes to be detected as the second current node; Determine whether the second current node is the same as the first current node, If different, determining, according to the second current node, a next hop node in the physical topology that meets the preset wavelength allocation condition and is adjacent to the second current node, and updating the second set of nodes to be detected according to the next hop node, and entering the next round of the second operation; If they are the same, exit the multiple rounds of the second operation, and construct a path between the second current node and the previous hop node of the first current node in the physical topology; Determine whether the first current node is the destination node. If so, merge all paths as the routing path between the source node and the destination node; if not, determine the next hop node adjacent to the first current node in the first relay topology, and update the first set of nodes to be detected based on the next hop node; return to the step of determining whether the first set of nodes to be detected is empty.

[0050] Specifically, if the source node and destination node of the routing service to be calculated are determined in the second relay topology G R2 There is no direct edge in the physical topology. G and the first relay topology G R1 , a routing algorithm is used to determine the routing path between the source node and the destination node.

[0051] Construct the first set of nodes to be detected openlist , used to record the nodes being checked and potential next hop nodes. First current node current , the first set of nodes to be detected openlist Including source nodes x , openlist ={ x}, first current node current = x . Create a new collection closelist Record the nodes that have been checked and the invalid nodes, closelist The initial value in is all common nodes except the source node and the destination node. The actual distance estimate from the new source node to each node g ,in g ( x )=0, other nodes g =∞.

[0052] Determine the first set of nodes to be detected openlist Is it empty? If it is an empty set, routing fails and routing service is blocked. You can return to execute the next routing service until all routing services are completed. If it is not empty, the first node set to be detected will be openlist The first node in is used as the first current node after the update current . Determine the first current node after the update current Is it a source node? If not, build the second set of nodes to be detected openlist' , create a new empty set closelist' Record the checked and invalid nodes. Create a new collection W ( camefrom ( current )) Record all wavelength numbers in the optical network. Establish node camefrom ( current ) to each other node's actual distance estimate g' , g' ( camefrom ( current ))= g' (A)=0, for other nodes, g' =∞.

[0053] The first current node after the update current Add to the second set of nodes to be detected openlist' , perform multiple rounds of the second operation, for each round of the second operation: Determine the second set of nodes to be detected openlist' Is it empty? If not, set the second node to be detected openlist' The first node in the current node is the second current node current' . Determine the second current node current' Is it related to the first current node? current Same, if different, according to the second current node current' In physical topology G Determine whether the preset wavelength allocation condition is met and the second current node current' The preset wavelength allocation condition includes the wavelength occupation requirement of the routing service to be calculated. For example, if the wavelength occupation requirement is 2 wavelengths, the second current node current' The link between the node and the next hop node must have at least two available wavelengths, and the wavelengths must be continuous. After determining at least one candidate next hop node that meets the wavelength occupation requirement, it is also necessary to determine whether at least one candidate next hop node is included in the closelist' If included, it will be excluded and will not be included in closelist' The candidate next hop node in the second current node current' Adjacent next-hop node neighbor' .

[0054] The second set of nodes to be detected is determined based on at least one next hop node. openlist' Update the second current node current' Each next hop node neighbor' , the physical topology G Edge e ( current' , neighbor' ) of the available wavelength set and set W ( current' ) Take the intersection and record it as I .like I If it is empty or does not meet the service wavelength quantity and wavelength continuity requirements, the next hop node neighbor' Deposit closelist' , continue to check the next neighbor' On the contrary, the calculation is based on the current path, from the source node to neighbor' Estimated distance temp_g' ( neighbor' )= g' ( current' )+Physical topology G middle e ( current' , neighbor' ).like temp_g' ( neighbor' ) is greater than or equal to g' ( neighbor' ), directly neighbor' Deposit openlist' Otherwise, update g' ( neighbor' )for temp_g' ( neighbor' ), record the corresponding previous hop node camefrom' ( neighbor' )= current' , recorded via neighbor' Estimated routing cost to reach the destination node f' ( neighbor' )=g' ( neighbor' )+ dp neighbor',current (gather D P Precomputed neighbor' To the current segment destination current shortest distance). Record W ( neighbor' )= I , the neighbor' Deposit openlist' , for the final openlist' Each node in f' The values ​​are sorted in ascending order and enter the first operation of the next round.

[0055] If the first current node current With the second current node current' Same, exit multiple rounds of second operation, in the physical topology G Construct the second current node current' To the first current node current Previous hop node camefrom ( current ) between the paths. Determine the first current node current Is it the destination node? y If yes, all paths are merged as the routing path between the source node and the destination node. If no, in the first relay topology G R1 Determine the first current node current Adjacent and not in closelist The next hop node in the , calculate the corresponding next hop node temp_g ( neighbor )= g ( current )+First relay topology G R1 middle e ( current , neighbor ).like temp_g ( neighbor ) is greater than or equal to g ( neighbor ), directly neighbor Deposit openlist Otherwise, update g ( neighbor )for temp_g ( neighbor ), record the corresponding previous hop node camefrom ( neighbor ), record via neighbor Estimated routing cost to reach the destination node f ( neighbor )=g ( neighbor )+ dr neighbor,current (gather D R Precomputed neighbor To the current segment destination current shortest distance). Record W ( neighbor )= I , the neighbor Deposit openlist , for the final openlist Each node in f Arrange the values ​​in ascending order and return the first set of nodes to be detected openlist Whether the step is empty.

[0056] Furthermore, when determining the second set of nodes to be detected openlist' After checking whether the node is empty, the method further includes: if the node is empty, exiting multiple rounds of the second operation, and selecting the node from the first set of nodes to be detected openlist Remove the first current node current , return to determine the first set of nodes to be detected openlist Whether the step is empty.

[0057] Furthermore, in the physical topology G Construct the second current node current' To the first current node current After calculating the path between the previous hop node, the algorithm also includes: allocating an available wavelength to the path. Unlike the classic A* algorithm, which attempts to allocate wavelengths after calculating the entire route, the embodiment of the present application immediately attempts wavelength allocation after calculating each path segment, and decides whether to continue the current solution or change the next hop node based on the result, which provides greater flexibility and higher computational efficiency.

[0058] Furthermore, after determining the updated first current node current Whether it is a source node, it also includes: If so, in the first relay topology G R1 Determine the first current node current The adjacent next hop node, and the first set of nodes to be detected according to the next hop node openlist Update and return to determine the first set of nodes to be detected openlist Whether the step is empty.

[0059] Specifically, in the first relay topology G R1 Determine the first current node current Adjacent next-hop nodes, calculate the corresponding temp_g (neighbor )= g ( current )+First relay topology G R1 middle e ( current , neighbor ).like temp_g ( neighbor ) is greater than or equal to g ( neighbor ), directly neighbor Deposit openlist Otherwise, update g ( neighbor )for temp_g ( neighbor) , record the corresponding previous hop node camefrom ( neighbor ), record via neighbor Estimated routing cost to reach the destination node f ( neighbor )= g ( neighbor )+ dr neighbor,current (gather D R Precomputed neighbor To the current segment destination current shortest distance). Record W ( neighbor )= I , the neighbor Deposit openlist , for the final openlist Each node in f Arrange the values ​​in ascending order and return the first set of nodes to be detected openlist Whether the step is empty.

[0060] Combine Figure 5 The following specific example is described. The source node of the routing service {A, G} to be calculated is Figure 2 Node A in the target node is Figure 2 Node G in the second relay topology. Node A and Node G in the second relay topology G R2 There is no direct edge in the physical topology. G and the first relay topology G R1 , a routing algorithm is used to determine the routing path between the source node A and the destination node G.

[0061] Record the first relay topology G R1 The first current node current =A, create the first set of nodes to be detectedopenlist ={A} records the nodes being checked and potential next hop nodes. Create a new set closelist Record checked and invalid nodes, closelist ={B, C, E, H}. Create an estimated value of the actual distance from the source node A to each node, where g (A)=0, other nodes g =∞. The first set of nodes to be detected openlist ={A} is not empty, from the first set of nodes to be detected openlist ={A} Take out the first node A and assign it to the first current node current ,at this time current =A, openlist Become an empty set. current =A is stored in the collection closelist ,get closelist ={B,C, E, H, A}. current =A is the source node. Check the first relay topology G R1 middle current = Each neighboring node of A neighbor , that is, nodes D and F, calculate the path from the source node A to [[ID=4 Estimated distance ​ ( ​ ).in, g (A)=0, first relay topology G R1 Middle side e (A, D) and e The distances of (A, F) are 1 and 1 respectively, ​ As the sum of the two, we get ​ (D)=1, ​ (F)=1. At this time, both are smaller than the corresponding g (D)=∞ and g (F) = ∞, update g (D)=1, g (F)=1, record the corresponding previous hop node respectively ​ (D)=A, ​ (F)=A, record via ​ Estimated routing cost to reach the destination node f ( ​ ), and we can calculate: f (D)= g (D)+ dr D,G =1+1=2, f (F)= g (F)+ d rF,G =1+1=2. ​ Deposit ​ , and ​ Midpoint f The values ​​are sorted in ascending order. ​ ={D, F}.

[0062] gather ​ Not empty, from ​ Take out the first node and assign it to ​ ,at this time ​ =D, ​ ={F}. ​ =D deposit ​ ,get ​ ={B, C, E, H, A, D}. ​ Not a source node, create a new collection ​ ={ ​ ( ​ )}={A}. Create a new empty set ​ Record the checked and invalid nodes. Create a new collection W ( ​ ( ​ ))= W (A)= W Record all wavelength numbers in the optical path. Create a new node ​ ( ​ ) to each other node, where g' ( ​ ( ​ ))= g' (A)=0, for other nodes, g' =∞.

[0063] In physical topology G Perform A* routing search on . ​ Not empty, from ​ Take the first node as ​ ,at this time ​ =A, store the node in ​ ,get ​ ={A}.Node ​ =A is not equal to ​ =D, check the physical topology G midpoint ​ Every absence ​ Neighboring nodes in ​ , which are nodes B, D, and E respectively.

[0064] right ​ Each neighboring node of ​ :B, D, E, the physical topology G Edgee ( ​ , ​ ) of the available wavelength set and set W ( ​ ) Take the intersection and record it as I .get I (B)={1, 2, 4}, I (D)={2, 3, 4}, I (E)={2, 4}, all non-empty. I (B) I (D) There are two continuous wavelengths that meet the service requirements, I (E) does not meet the requirements, store node E in ​ ,at this time ​ ={A, E}. Calculate the distance from the starting point to each ​ Estimated distance ​ ( ​ ).in, g' (A)=0, physical topology G Middle side e (A, B) and e The distances of (A, D) are 500 and 600 respectively, ​ As the sum of the two, we get ​ (B)=500, ​ (D)=600. Both are smaller than the corresponding g' (B)=∞ and g' (D)=∞,update g' (B)=500, g' (D)=600, record the corresponding previous hop node respectively ​ (B)=A, ​ (D)=A. Recorded via ​ Estimated routing cost to reach the destination node f' ( ​ ), and we can calculate: f' (B)= g' (B)+ ​ B,D =500+400=900, f' (D)= g' (D)+ ​ D,D =600+0=600. Record W (B)= I (B)={1, 2, 4}, W (D)= I (D)={2, 3, 4}, ​ Deposit ​ , and​ Midpoint f' The values ​​are sorted in ascending order. ​ ={D,B}.

[0065] ​ Not empty, from ​ Take the first node as ​ ,at this time ​ '=D, store the node in ​ ,get ​ ={A, E, D}. Node ​ =D is ​ =D, the slave node has been found ​ ( ​ ) = A to ​ =D's feasible physical routes and available wavelengths, from ​ Start searching for the previous hop node in sequence. ​ Node, until node ​ ( ​ ), get the complete optical path: A→D. After checking, the routing parameters meet the optical path constraint factors. According to the number of business wavelengths required, select W According to the service requirements, find the two consecutive wavelengths with the smallest numbers in (D)={2, 3, 4} and assign them to the routing service, namely wavelengths 2 and 3, to construct this optical path.

[0066] at this time, ​ =D is not a node for business purposes G, check the first relay topology G R1 middle ​ =D's every absence closelist = neighboring nodes in {B, C, E, H, A, D} neighbor , that is, nodes F and G. Calculate the path from the source node A to neighbor Estimated distance temp_g ( neighbor )= g ( current )+First relay topology G R1 Middle side e ( current , neighbor ) distance, we get temp_g (F)= g (D)+1=2, temp_g (G)= g (D)+1=2. (At this time g (D) The value has been updated to 1). temp_g (F) greater than g (F) (At this time g(F) value has been updated to 1 before), directly store node F in openlist ,renew g (G)=2. Record the corresponding previous hop node camefrom (G)=D. Recorded via neighbor Estimated routing cost to reach the destination node f ( neighbor ), f ( neighbor )= g ( neighbor )+ dr neighbor,y , f (G)=2, store node G in openlist . openlist Midpoint f The values ​​are sorted in ascending order. openlist ={G, F}. If f (G)= f (F), in openlist Can be arranged randomly.

[0067] gather openlist Not empty, from openlist Take out the first node and assign it to current ,at this time current =G, openlist ={F}. current =G deposit closelist ,get closelist ={B, C, E, H, A, D, G}. current Non-business source node, create a new collection openlist' ={ camefrom ( current )}={D}. Create a new empty set closelist' Record the checked and invalid nodes. Create a new collection W (D)= W Record all wavelength numbers in the optical path. Create a new node camefrom ( current ) to each other node, where g' ( camefrom ( current ))= g' (D)=0, for other nodes, g' =∞.

[0068] openlist' Not empty, from openlist' Take the first node as current' ,at this time current' =D, store the node in closelist' ,get closelist'={D}.Node current' =D is not current =G, check topology G midpoint current' Every absence closelist' Neighboring nodes in neighbor' , respectively nodes A, B, C, E, F. For each neighboring node neighbor' :A, B, C, E, F, the physical topology G Edge e ( current' , neighbor' ) of the available wavelength set and set W ( current' ) Take the intersection and record it as I .get I (A)={2, 3, 4}, I (B)={2, 3}, I (C)={2,4}, I (E)={1, 2}, I (F)={1, 3, 4}, all non-empty. I (A) I (B) I (E) I (F) There are two continuous wavelengths that meet the service requirements, I (C) does not meet the requirements, store node C in closelist' ,at this time closelist' ={D, C}. Calculate the distance from the starting point to each neighbor' Estimated distance temp_g' ( neighbor' ),get temp_ g' (A)=600, temp_g' (B)=400, temp_g' (E)=300, temp_g' (F)=300, which are all smaller than the corresponding g' ,renew g' (A)=600, g' (B)=400, g' (E)=300, g' (F)=300. Record the corresponding previous hop node respectively camefrom' (A)=D, camefrom' (B)=D, camefrom' (E)=D, camefrom' (F)=D, record via neighbor' Estimated routing cost to reach the destination node f' ( neighbor' ), and we can calculate: f' (A)=g' (A)+ dp A,G =1490, f' (B)= g' (B)+ dp B,G =1300, f' (E)= g' (E)+ dp E,G =690, f' (F)= g' (F)+ dp F,G =600. Record W (A)={1, 2, 4}, W (B)={2, 3, 4}, W (E)={1, 2}, W (F)={1, 3, 4}, neighbor' Deposit openlist' , and openlist' Midpoint f' The values ​​are sorted in ascending order. openlist' ={F, E, B, A}.

[0069] openlist' Not empty, from openlist' Take the first node as current' ,at this time current' =F, store the node in closelist' ,get closelist' ={D, C, F}. Node current' =F is not current =G, check topology G midpoint current' Every absence closelist' Neighboring nodes in neighbor' , respectively nodes E, H, G. For each neighboring node neighbor' :E, H, G, the physical topology G Edge e ( current' , neighbor' ) of the available wavelength set and set W ( current' )= W (F)={1, 3, 4} Take the intersection. Get the intersection I (E)={1, 3}, I (H)={3, 4}, I (G)={1, 3, 4}, all non-empty. I (H) I (G) There are two continuous wavelengths that meet the service requirements,I (E) does not meet the requirements, store node E in closelist' ,at this time closelist' ={D, C, F, E}. Calculate the distance from the starting point to each neighbor' Estimated distance temp_g' ( neighbor' ),get temp_g' (H)=600, temp_g' (G)=600, which are all smaller than the corresponding g' ,renew g' (H)=600, g' (G)=600, record the corresponding previous hop node respectively camefrom' (H)=F, camefrom' (G)=F. Recorded via neighbor' Estimated routing cost to reach the destination node f' ( neighbor' ), and we can calculate: f' (H)= g' (H)+ dp H,G =1000, f' (G)= g' (G)+ dp G,G =600. Record W (H)={3, 4}, W (G)={1, 3, 4}, neighbor' Deposit openlist' , and openlist' Midpoint f' The values ​​are sorted in ascending order. openlist' ={G, E, H, B, A}.

[0070] openlist' Not empty, from openlist' Take the first node as current' ,at this time current' =G, store the node in closelist' ,get closelist' ={D, C, F, E, G}. Node current' =G is current =G. The slave node has been found. camefrom ( current ) = D to current =G feasible physical routing and available wavelengths, from current' Start searching for the previous hop node in sequence. [[ID=]]camefrom Node, until node camefrom ( current), and get the complete optical path: D→F→G. After checking, the routing parameters meet the optical path constraint factors. W According to the service requirements, find the two smallest consecutive wavelengths in (G)={1, 3, 4} and assign them to the service, namely wavelengths 3 and 4, to construct this optical path.

[0071] current =G is the service destination node G. The current service routing and wavelength allocation are successful. The previously obtained routing segments are merged in sequence to obtain the complete route: A→D→F→G. The wavelength occupancy is w A,D ={2, 3}, w D,F ={3, 4}, w F,G ={3, 4}, except for the source node A and the destination node G, the routing G R1 The only node D that the signal passes through performs a relay function for the signal.

[0072] The method of this application minimizes the number of service relays and quickly and accurately calculates and constructs lightpaths in large-scale optical networks by checking whether there are reachable paths between node pairs that do not require signal relaying, constructing a relay topology, and using a two-layer A* algorithm to alternately calculate routes and allocate wavelengths based on the physical and relay topologies. This method enables operators and researchers to efficiently construct lightpaths for end-to-end services in large-scale optical networks.

[0073] It should be noted that the method of the embodiment of the present application can be performed by a single device, such as a computer or server. The method of this embodiment can also be applied in a distributed scenario and performed by multiple devices working together. In such a distributed scenario, one of the multiple devices may only perform one or more steps of the method of the embodiment of the present application, and the multiple devices will interact with each other to complete the method.

[0074] It should be noted that the above describes some embodiments of the present application. In some cases, the actions or steps described in the above embodiments can be performed in an order different from that in the above embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0075] Based on the same inventive concept, corresponding to any of the above-mentioned embodiments and methods, the present application also provides a large-scale optical network fast routing calculation device based on relay topology.

[0076] refer to Figure 6 The large-scale optical network fast routing calculation device based on relay topology includes: The determination module 601 is configured to receive a routing service to be calculated and determine a source node and a destination node of the routing service in a physical topology, wherein the physical topology includes ordinary nodes and relay nodes; A construction module 602 is configured to construct a first relay topology and a second relay topology according to the physical topology, wherein the nodes in the first relay topology are the same as those in the physical topology, and the nodes in the second relay topology are all common nodes; The routing module 603 is configured to determine whether there is a corresponding edge between the source node and the destination node in the second relay topology. If so, a routing algorithm is used to determine the routing path between the source node and the destination node based on the physical topology and the second relay topology; if not, a routing algorithm is used to determine the routing path between the source node and the destination node based on the physical topology and the first relay topology.

[0077] In some embodiments, the construction module 602 is further configured to respectively calculate the shortest feasible paths between any two nodes in the physical topology that satisfy the preset lightpath constraint condition, and combine all the shortest feasible paths to obtain a first path set; For any two nodes, in response to determining that the two nodes include at least one relay node and there is a shortest feasible path between the two nodes in the first path set that does not use the relay function, an edge between the two nodes is constructed in the first relay topology to construct the first relay topology.

[0078] In some embodiments, the construction module 602 is further configured to, for any two nodes, in response to determining that the two nodes do not contain a relay node and there is a shortest feasible path between the two nodes in the first path set that does not use the relay function, construct an edge between the two nodes in the second relay topology to construct the second relay topology.

[0079] In some embodiments, the routing module 603 is further configured to construct a first set of nodes to be detected, a second set of nodes to be detected, and a first current node, wherein the first set of nodes to be detected includes the destination node, the second set of nodes to be detected includes the source node, and the first current node is the destination node; Perform multiple rounds of first operations. For each round of first operation: Determine whether the second set of nodes to be detected is empty, and if not, use the first node in the second set of nodes to be detected as the second current node; Determine whether the updated second current node is the same as the first current node, If different, determining, in the physical topology according to the second current node, a next hop node that meets a preset wavelength allocation condition and is adjacent to the second current node, and updating the second set of nodes to be detected according to the next hop node, and entering the next round of the first operation; If they are the same, exit multiple rounds of the first operation, and construct a path between the second current node and the previous hop node of the first current node in the physical topology; determine whether the first current node is the destination node, and if so, merge all paths as the routing path between the source node and the destination node.

[0080] In some embodiments, after constructing a path between the second current node and the previous hop node of the first current node in the physical topology, the routing module 603 is further configured to determine whether there is an available wavelength for the path, and if so, allocate an available wavelength to the path; if not, determine the routing path between the source node and the destination node using a routing algorithm based on the physical topology and the first relay topology.

[0081] In some embodiments, the routing module 603 is further configured to construct a first set of nodes to be detected and a first current node, wherein the first set of nodes to be detected includes the source node, and the first current node is the source node; Determine whether the first set of nodes to be detected is empty. If not, use the first node in the first set of nodes to be detected as the updated first current node. Determine whether the updated first current node is the source node. If not, construct a second set of nodes to be detected, add the updated first current node to the second set of nodes to be detected, and perform multiple rounds of the second operation. For each round of the second operation: Determine whether the second set of nodes to be detected is empty, and if not, use the first node in the second set of nodes to be detected as the second current node; Determine whether the second current node is the same as the first current node, If different, determining, according to the second current node, a next hop node in the physical topology that meets the preset wavelength allocation condition and is adjacent to the second current node, and updating the second set of nodes to be detected according to the next hop node, and entering the next round of the second operation; If they are the same, exit the multiple rounds of the second operation, and construct a path between the second current node and the previous hop node of the first current node in the physical topology; Determine whether the first current node is the destination node. If so, merge all paths as the routing path between the source node and the destination node; if not, determine the next hop node adjacent to the first current node in the first relay topology, and update the first set of nodes to be detected based on the next hop node; return to the step of determining whether the first set of nodes to be detected is empty.

[0082] In some embodiments, after determining whether the second set of nodes to be detected is empty, the method further includes: If it is empty, exit the multiple rounds of second operations, remove the first current node from the first set of nodes to be detected, and return to the step of determining whether the first set of nodes to be detected is empty.

[0083] In some embodiments, after constructing a path between the second current node and the previous hop node of the first current node in the physical topology, the method further includes: allocating an available wavelength to the path.

[0084] In some embodiments, after determining whether the updated first current node is the source node, the method further includes: If so, determine a next hop node adjacent to the first current node in the first relay topology, and update the first set of nodes to be detected according to the next hop node; and return to the step of determining whether the first set of nodes to be detected is empty.

[0085] For the convenience of description, the above devices are described as being divided into various modules according to their functions. Of course, when implementing this application, the functions of each module can be implemented in the same or multiple software and / or hardware.

[0086] The apparatus of the above embodiment is used to implement the corresponding large-scale optical network fast routing calculation method based on relay topology in any of the above embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be described in detail here.

[0087] Based on the same inventive concept, corresponding to any of the above-mentioned embodiments and methods, the present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and runnable on the processor. When the processor executes the program, it implements the large-scale optical network fast routing calculation method based on relay topology described in any of the above embodiments.

[0088] Figure 7A more specific hardware structure diagram of an electronic device provided in this embodiment is shown. The device may include: a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, the memory 1020, the input / output interface 1030, and the communication interface 1040 are communicatively connected to each other within the device via the bus 1050.

[0089] The processor 1010 can be implemented using a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.

[0090] The memory 1020 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage devices, dynamic storage devices, etc. The memory 1020 can store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 1020 and is called and executed by the processor 1010.

[0091] The input / output interface 1030 is used to connect to input / output modules to enable information input and output. The input / output modules can be configured as components within the device (not shown) or externally connected to the device to provide corresponding functions. Input devices may include a keyboard, mouse, touch screen, microphone, and various sensors. Output devices may include a display, speaker, vibrator, indicator light, and the like.

[0092] The communication interface 1040 is used to connect to a communication module (not shown) to enable communication between the device and other devices. The communication module can communicate via wired means (such as USB, network cable, etc.) or wireless means (such as mobile network, Wi-Fi, Bluetooth, etc.).

[0093] The bus 1050 comprises a pathway for transmitting information between various components of the device, such as the processor 1010 , the memory 1020 , the input / output interface 1030 , and the communication interface 1040 .

[0094] It should be noted that although the above device only shows the processor 1010, the memory 1020, the input / output interface 1030, the communication interface 1040, and the bus 1050, in a specific implementation, the device may also include other components necessary for normal operation. In addition, it will be understood by those skilled in the art that the above device may only include the components necessary to implement the embodiments of this specification, and does not necessarily include all the components shown in the figure.

[0095] The electronic device of the above embodiment is used to implement the corresponding large-scale optical network fast routing calculation method based on relay topology in any of the above embodiments, and has the beneficial effects of the corresponding method embodiment, which will not be repeated here.

[0096] Based on the same inventive concept, corresponding to any of the above-mentioned embodiment methods, the present application also provides a non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores computer instructions, and the computer instructions are used to enable the computer to execute the large-scale optical network fast routing calculation method based on relay topology as described in any of the above embodiments.

[0097] The computer-readable media of this embodiment includes permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device.

[0098] The computer instructions stored in the storage medium of the above embodiment are used to enable the computer to execute the large-scale optical network fast routing calculation method based on relay topology as described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0099] Based on the same concept, corresponding to any of the above-mentioned embodiments, the present application also provides a computer program product, including computer program instructions. When the computer program instructions are run on a computer, the computer executes the method described in any of the above embodiments, which has the beneficial effects of the corresponding method embodiments and will not be repeated here.

[0100] Those skilled in the art should understand that the discussion of any of the above embodiments is merely illustrative and is not intended to imply that the scope of the present application is limited to these examples. In line with the present application, the technical features in the above embodiments or different embodiments may be combined, the steps may be implemented in any order, and there are many other variations of the different aspects of the embodiments of the present application as described above, which are not provided in detail for the sake of simplicity.

[0101] In addition, to simplify the description and discussion, and to avoid obscuring the understanding of the embodiments of the present application, well-known power / ground connections to integrated circuit (IC) chips and other components may or may not be shown in the provided figures. Furthermore, devices may be shown in block diagram form to avoid obscuring the understanding of the embodiments of the present application, and this also takes into account the fact that the implementation details of these block diagram devices are highly dependent on the platform on which the embodiments of the present application will be implemented (i.e., these details should be fully understood by those skilled in the art). Where specific details (e.g., circuits) are set forth to describe the exemplary embodiments of the present application, it will be apparent to those skilled in the art that the embodiments of the present application can be implemented without these specific details or with variations therefrom. Therefore, these descriptions should be considered illustrative rather than restrictive.

[0102] Although the present invention has been described in conjunction with specific embodiments thereof, many alternatives, modifications, and variations of these embodiments will be apparent to those skilled in the art based on the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may utilize the discussed embodiments.

[0103] The embodiments of the present application are intended to cover all such substitutions, modifications, and variations that fall within the broad scope of the present application. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present application should be included in the scope of protection of the present application.

Claims

1. A fast routing calculation method for a large optical network based on relay topology, characterized in that: include: receiving a routing service to be calculated, and determining a source node and a destination node of the routing service in a physical topology; wherein the physical topology includes ordinary nodes and relay nodes; Constructing a first relay topology and a second relay topology respectively according to the physical topology, wherein the nodes in the first relay topology are the same as those in the physical topology, and the nodes in the second relay topology are all common nodes; Determine whether there is a corresponding edge between the source node and the destination node in the second relay topology. If so, use a routing algorithm to determine the routing path between the source node and the destination node based on the physical topology and the second relay topology; if not, use a routing algorithm to determine the routing path between the source node and the destination node based on the physical topology and the first relay topology.

2. The method according to claim 1, characterized in that The method for constructing the first relay topology includes: Calculating the shortest feasible paths between any two nodes in the physical topology that satisfy preset optical path constraints, and combining all the shortest feasible paths to obtain a first path set; For any two nodes, in response to determining that the two nodes include at least one relay node and there is a shortest feasible path between the two nodes in the first path set that does not use the relay function, an edge between the two nodes is constructed in the first relay topology to construct the first relay topology.

3. The method according to claim 2, characterized in that The method for constructing the second relay topology includes: For any two nodes, in response to determining that the two nodes do not include a relay node and there is a shortest feasible path between the two nodes in the first path set that does not use the relay function, an edge between the two nodes is constructed in the second relay topology to construct the second relay topology.

4. The method according to claim 1, wherein Determining a routing path between the source node and the destination node using a routing algorithm according to the physical topology and the second relay topology includes: Constructing a first set of nodes to be detected, a second set of nodes to be detected, and a first current node, wherein the first set of nodes to be detected includes the destination node, the second set of nodes to be detected includes the source node, and the first current node is the destination node; Perform multiple rounds of first operations. For each round of first operation: Determine whether the second set of nodes to be detected is empty, and if not, use the first node in the second set of nodes to be detected as the second current node; Determine whether the updated second current node is the same as the first current node, If different, determining, in the physical topology according to the second current node, a next hop node that meets a preset wavelength allocation condition and is adjacent to the second current node, and updating the second set of nodes to be detected according to the next hop node, and entering the next round of the first operation; If they are the same, exit multiple rounds of the first operation, and construct a path between the second current node and the previous hop node of the first current node in the physical topology; determine whether the first current node is the destination node, and if so, merge all paths as the routing path between the source node and the destination node.

5. The method according to claim 4, characterized in that After constructing a path between the second current node and the previous hop node of the first current node in the physical topology, the method further includes: determining whether there is an available wavelength for the path; if so, allocating an available wavelength to the path; if not, determining a routing path between the source node and the destination node using a routing algorithm based on the physical topology and the first relay topology.

6. The method according to claim 1, characterized in that Determining a routing path between the source node and the destination node using a routing algorithm according to the physical topology and the first relay topology includes: Constructing a first set of nodes to be detected and a first current node, wherein the first set of nodes to be detected includes the source node, and the first current node is the source node; Determine whether the first set of nodes to be detected is empty. If not, use the first node in the first set of nodes to be detected as the updated first current node. Determine whether the updated first current node is the source node. If not, construct a second set of nodes to be detected, add the updated first current node to the second set of nodes to be detected, and perform multiple rounds of the second operation. For each round of the second operation: Determine whether the second set of nodes to be detected is empty, and if not, use the first node in the second set of nodes to be detected as the second current node; Determine whether the second current node is the same as the first current node, If different, determining, according to the second current node, a next hop node in the physical topology that meets the preset wavelength allocation condition and is adjacent to the second current node, and updating the second set of nodes to be detected according to the next hop node, and entering the next round of the second operation; If they are the same, exit the multiple rounds of the second operation, and construct a path between the second current node and the previous hop node of the first current node in the physical topology; Determine whether the first current node is the destination node. If so, merge all paths as the routing path between the source node and the destination node; if not, determine the next hop node adjacent to the first current node in the first relay topology, and update the first set of nodes to be detected based on the next hop node; return to the step of determining whether the first set of nodes to be detected is empty.

7. The method according to claim 6, characterized in that After determining whether the second set of nodes to be detected is empty, the method further includes: If it is empty, exit the multiple rounds of second operations, remove the first current node from the first set of nodes to be detected, and return to the step of determining whether the first set of nodes to be detected is empty.

8. The method according to claim 6, characterized in that After constructing a path between the second current node and the previous-hop node of the first current node in the physical topology, the method further includes: allocating an available wavelength to the path.

9. The method according to claim 6, characterized in that After determining whether the updated first current node is the source node, the method further includes: If so, determine a next hop node adjacent to the first current node in the first relay topology, and update the first set of nodes to be detected according to the next hop node; and return to the step of determining whether the first set of nodes to be detected is empty.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that: When the processor executes the computer program, the method according to any one of claims 1 to 9 is implemented.