Multi-path routing method suitable for non-order-preserving routing standard

By modeling the network as routing algebra and using the maximum order-preserved reduction technology, combined with D-Dijkstra and KOP algorithms, the limitations of routing algorithms in non-order-preserved environments are solved, global optimal path calculations are realized in complex networks, and network performance and reliability are improved.

CN120474970APending Publication Date: 2025-08-12TSINGHUA UNIVERSITY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510658867.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-21
Publication Date
2025-08-12

AI Technical Summary

Technical Problem

Existing routing algorithms cannot effectively find the global optimal path in non-order-preserved environments, especially in complex networks and quantum networks. Traditional algorithms such as Dijkstra and Yen algorithms fail under non-order-preserved routing standards, resulting in a decline in network performance and reliability.

Method used

A multipath routing method suitable for non-order-preserved routing standards is proposed. By modeling the network as routing algebra, order-preserved reduction technology is used to obtain order-preserved reduction technology, and the optimal path in the directed graph is calculated using D-Dijkstra and KOP algorithms, and the calculation efficiency is optimized by combining the H-KOP algorithm.

Benefits of technology

In a non-order-saving environment, the application scope of routing algorithms has been significantly expanded, ensuring that global optimal paths are found in complex networks, improving network performance and reliability, and is suitable for dynamic network environments such as quantum networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120474970A_ABST
    Figure CN120474970A_ABST
Patent Text Reader

Abstract

The invention provides a multi-path routing method suitable for a non-order-preserving routing standard, and relates to the technical field of network routing, and the method comprises the steps: carrying out the network modeling of a common routing problem into a directed graph, and abstracting the directed graph into a routing algebra; aiming at the routing algebra of which the routing standard meets the monotonicity but does not meet the order-preserving property, obtaining the order-preserving property through a maximum order-preserving reduction technology; and calculating first K optimal paths from a source node to a destination node in the directed graph through a multi-path algorithm based on the routing algebra after order-preserving reduction, and setting an algorithm efficiency and path balance mechanism of the multi-path algorithm. According to the scheme, the method can be applied in a non-order-preserving environment, the application range of a routing algorithm is remarkably expanded, and the method can be widely applied to a routing decision scene in a complex network environment and has the advantages of being high in universality, stable in performance and high in path quality.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of network routing technology, and in particular to a multi-path routing method applicable to non-order-preserving routing standards. Background Art

[0002] As a core technology in network communications, routing algorithms have long held a prominent position in the networking field. Their core function is to ensure that data packets efficiently and reliably find the optimal transmission path from source to destination within complex network topologies. With the evolution of network technology and the diversification of application scenarios, traditional routing algorithms face increasingly severe challenges.

[0003] In existing technologies, the Dijkstra algorithm and the Yen algorithm are widely used to calculate single-path and multi-path optimal paths, respectively. However, both rely on the routing algebra satisfying strict mathematical properties such as monotonicity and order preservation. In practice, in many new network architectures and complex application scenarios, routing metrics often lack order preservation. This can result in the Dijkstra algorithm failing to find the global optimal path, and the Yen algorithm potentially missing some optimal solutions when selecting multiple paths, thus impacting network performance and reliability. Furthermore, with the growing demand for network resilience and load balancing, a single shortest path can no longer meet the needs of modern networks. Current algorithmic research on multi-path routing is relatively insufficient, especially for the problem of selecting multiple optimal paths in non-order-preserving environments, which still lacks a systematic solution. These challenges urgently require innovative theoretical frameworks and algorithmic designs to overcome the limitations of traditional routing technologies and provide more flexible and efficient routing decision support for next-generation networks. Summary of the Invention

[0004] The present application aims to solve one of the technical problems in the related art at least to a certain extent.

[0005] Therefore, the purpose of this application is to propose a multi-path routing method applicable to non-order-preserving routing standards.

[0006] To achieve the above objectives, the present application provides a multipath routing method applicable to non-order-preserving routing standards, including:

[0007] For general routing problems, the network is modeled as a directed graph and abstracted into routing algebra;

[0008] For routing algebras whose routing criteria satisfy monotonicity but not order preservation, order preservation is achieved through maximum order preservation reduction technology;

[0009] Based on the routing algebra after order-preserving reduction, the top K optimal paths from the source node to the destination node in the directed graph are calculated through a multi-path algorithm, and the algorithm efficiency and path balancing mechanism of the multi-path algorithm are set.

[0010] The multi-path routing method applicable to non-order-preserving routing standards in the embodiment of the present application overcomes the defect that traditional routing algorithms fail in non-order-preserving environments, significantly expands the application scope of routing algorithms, and can be widely used in routing decision scenarios in complex network environments. It has the characteristics of strong versatility, stable performance and high path quality.

[0011] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become apparent from the description below, or will be learned through practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:

[0013] Figure 1 A flowchart of a multipath routing method applicable to non-order-preserving routing standards provided in Example 1 of the present application;

[0014] Figure 2 This is a schematic diagram of the quantum network topology of an embodiment of the present application. DETAILED DESCRIPTION

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

[0016] The following describes a multipath routing method applicable to a non-order-preserving routing standard according to an embodiment of the present application with reference to the accompanying drawings.

[0017] Figure 1 This is a flowchart of a multi-path routing method applicable to non-order-preserving routing standards provided in Example 1 of the present application.

[0018] like Figure 1 As shown, the multipath routing method applicable to the non-order-preserving routing standard includes the following steps:

[0019] Step 101: for a general routing problem, the network is modeled as a directed graph and abstracted into routing algebra;

[0020] In this embodiment, the general routing problem is modeled as follows: the network model is a directed graph G = (V, E). The vertex set V of the directed graph represents the set of nodes in the network, and the edge set E of the directed graph represents the set of links in the network. The link from node u to node v in the network is a directed edge (u, v) in the edge set E. u is called the starting point of the link, and v is the end point of the link. u is called v's inner neighbor, and v is u's outer neighbor. The path in the network is a sequence of links, such as u0u1...u n , where u i ∈V(0≤i≤n) is a node, (u i ,u i+1 )∈E(0≤i≤n-1) is a link. u0 is called the starting point of the path, u n is the end point of the path. The number of links in the path is n.

[0021] In this embodiment, the general routing problem is abstracted into a routing algebra (S,≤,L,⊕,w), where: S is a weight set, representing indicators or combinations of indicators such as bandwidth, delay, and throughput; ≤ is a total order or partial order on S, representing the routing criterion; L is a path set; w is a mapping from L to S; ⊕ is a mapping from L×L to L, which is a binary operation on the path and is used to splice two paths.

[0022] In this embodiment, the path set L contains two special elements: trivial paths and invalid paths. A trivial path ε does not contain any links. The concatenation of a path and a trivial path still represents the path itself, which can be expressed as: Invalid path Indicates a link that cannot be used to send data packets. The concatenation of a path and an invalid path is an invalid path, which can be expressed as: The weight of the trivial path ε is the minimum path weight, and the invalid path The weight is the maximum path weight.

[0023] In this embodiment, to study the convergence and optimality of the routing protocol, we also need to pay attention to the monotonicity and order-preserving properties of the routing algebra. The monotonicity of the routing algebra is related to the convergence and acyclicity of the routing algorithm, while the order-preserving property of the routing algebra is related to the optimality of the routing algorithm.

[0024] For routing algebra If satisfied Then define it as left monotone if it satisfies Then define it as right monotone, if the routing algebra If it is left monotone and right monotone, then it is defined as monotone, where a and b are any two paths in the path set L, and a≠b;

[0025] For routing algebra If satisfied Define its left order preservation, if it satisfies Define its right order preservation, if the routing algebra If both left and right order are preserved, then its order preservation is defined as, where c is any path in the path set L that is not the same as a and b.

[0026] Step 102: For a routing algebra whose routing criteria satisfy monotonicity but not order preservation, obtain order preservation through maximum order preservation reduction technology;

[0027] In this embodiment, in order to solve the problem that a non-order-preserving routing algebra cannot be used for routing algorithm selection, the concepts of left and right order-preserving reduction are proposed.

[0028] For routing algebras that satisfy monotonicity but not order preservation Define left-order-preserving reduction ≤ LR is a partial order ≤ a subset, whose goal is to ensure the routing algebra In left-order-preserving reduction ≤ LR Under the left-order preservation property, define the right-order preservation reduction ≤ RR is a partial order ≤ a subset, whose goal is to ensure the routing algebra In right order-preserving reduction ≤ RR The following satisfies the right order preservation property;

[0029] Maximum left-order-preserving reduction of partial order ≤ GLR and maximum right order-preserving reduction ≤ GRR Satisfy respectively:

[0030]

[0031] Among them, the order-preserving reduction that includes all other left order-preserving reductions is called the maximum left order-preserving reduction, and the order-preserving reduction that includes all other right order-preserving reductions is called the maximum right order-preserving reduction.

[0032] It should be noted that while taking small partially ordered subsets helps maintain order preservation, it cannot be reduced indefinitely. Monotonicity requires that the weight of a path be comparable to the weight obtained by concatenating other paths. Therefore, taking subsets is not conducive to monotonicity and, consequently, to routing algorithm convergence. Therefore, this embodiment prefers to use the largest order-preserving reduction.

[0033] Step 103 : Based on the routing algebra after order-preserving reduction, calculate the top K optimal paths from the source node to the destination node in the directed graph through a multi-path algorithm, and set the algorithm efficiency and path balancing mechanism of the multi-path algorithm.

[0034] In this embodiment, facing the non-order-preserving routing problem, in order to calculate the optimal path, order-preserving reduction can be used to obtain order-preserving properties. However, the reduction result is a partial order, and the weights of two paths are not necessarily comparable. Therefore, a routing algorithm based on a general partial order is proposed.

[0035] In this embodiment, the existing Dijkstra algorithm is an algorithm for calculating the shortest path. In each cycle, the node with the best weight is selected from a set of candidate nodes that have not yet become working nodes to become the working node, and the weights of the working node's immediate successors are updated. Each node retains the best weight as the selected weight, and the weights of nodes that have already become working nodes are not updated.

[0036] The core of the Dijkstra algorithm is the "working node." In the Dijkstra algorithm, a node is no longer considered after becoming a working node. However, in the case of a partial order, the dominant path is not necessarily unique. To design a routing algorithm that operates on a partial order, it is necessary to consider the same node multiple times. Therefore, the D-Dijkstra algorithm is proposed to improve the Dijkstra algorithm.

[0037] The D-Dijkstra algorithm can consider the same node multiple times, retain non-local optimal paths that may generate the global optimal path, and can solve all simple dominant paths from the source node to any destination node at one time.

[0038] The D-Dijkstra algorithm process is as follows:

[0039] Input: directed graph G(V,E), routing criterion ≤, source node s, destination node d.

[0040] Output: The set of simple dominant paths from s to d is elected[d].

[0041] 1. Calculate the maximum order-preserving reduction of the total order ≤ GR

[0042] 2. For all v∈V, initialize according to Sorted priority queue Q←{s}

[0043] 3. When When , the loop executes:

[0044] 4. Let the queue Q have The optimal path is dequeued, recorded as current_path, and current_node is the last node of current_path.

[0045] 5. Let elected[current_node] be the value of elected[current_node]∪{current_path} Dominant path

[0046] 6. If elected[current_node] is not updated:

[0047] 7. Skip the current loop

[0048] 8. For all neighbor nodes of current_node that do not appear in current_path:

[0049] 9. Add the new path obtained by splicing the edge (current_node, neighbor) of current_path to Q

[0050] 10. Returns elected[d]

[0051] The core improvement of the D-Dijkstra algorithm is to maintain "multiple dominant paths" rather than "a single shortest path". In each cycle, the algorithm takes out the optimal path current_path from the priority queue Q according to the original routing criteria, records its end point as current_node, merges the path with the existing dominant path set elected[current_node] of the current_node node, and filters through the routing criteria after maximum order-preserving reduction to retain all dominant paths. When elected[current_node] is updated, the algorithm creates a new candidate path for each legal extension of current_path (that is, a neighboring node that does not form a loop) and adds it to the queue Q. Unlike traditional Dijkstra, D-Dijkstra can retain multiple incomparable dominant paths for each node, and these paths have a partial order relationship after reduction. The algorithm is not dominated by other paths under all circumstances, thus ensuring that the global optimal solution will not be missed in non-order-preserving environments. The algorithm solves the limitations of routing algorithms in non-order-preserving environments through maximum order-preserving reduction and multi-path preservation mechanisms.

[0052] The D-Dijkstra algorithm automatically satisfies the acyclic property, and the paths it finds are all simple paths. To ensure the correct operation of the D-Dijkstra algorithm, the following routing properties must hold:

[0053] Convergence, i.e., the algorithm halts: requires right monotonicity of the routing algebra.

[0054] Dominance, i.e. the algorithm will find all dominant weights: requires right-order preservation of the routing algebra.

[0055] For routing algebras that satisfy monotonicity but not order preservation, in order to find the optimal path, maximum right order preservation reduction can be performed to obtain right order preservation, and then the D-Dijkstra algorithm is used for routing, and finally the optimal path is selected from the set of dominant paths.

[0056] In this embodiment, in order to obtain the top K optimal paths, a KOP (K-Optimal Paths) algorithm is further proposed based on the proposed D-Dijkstra algorithm and the Yen algorithm for calculating multiple optimal paths.

[0057] The process of the KOP algorithm is as follows:

[0058] Input: directed graph G(V,E), routing criteria Source node s, destination node d, number of paths K.

[0059] Output: The set of the first K optimal simple paths from s to d A={A0,A1,...,A K-1}.

[0060] 1. Calculate the total order Maximum order-preserving reduction

[0061] 2. Initialize the path list according to Sorted priority queue

[0062] 3. Call D-Dijkstra(G,≤,s,d) and add the result to B

[0063] 4. If

[0064] 5. Remove the path from queue B that is less than or equal to the optimal one, record it as A0, and add it to A.

[0065] 6. Otherwise

[0066] 7. Return

[0067] 8. Loop through k from 1 to K-1:

[0068] 9. For i from 0 to len(A k-1 )-2 loop execution:

[0069] 10.spur_node←A k-1 [i]

[0070] 11.root_path←A k-1 [0,i]

[0071] 12. For each path p in A:

[0072] 13. If root_path = p[0,i]:

[0073] 14. Delete the edge p[i,i+1] in G

[0074] 15. Delete all nodes on root_path in G (except spur_node)

[0075] 16. Call D-Dijkstra(G, spur_node,d), the result is recorded as spur_path

[0076] 17. Restore deleted nodes and edges

[0077] 18. Concatenate root_path with each spur_path and add it to B

[0078] 19. When When the loop executes:

[0079] 20. Let the queue B have The optimal path out of the queue is recorded as b

[0080] 21. If b is not in A:

[0081] 22.A k ←b, A k Join A

[0082] 23. Break out of the loop

[0083] 24. If you cannot find A k :

[0084] 25. Return to A

[0085] 26. Return to A

[0086] Where len(l) represents the number of nodes in path l, l[i] represents the i-th node in path l (numbered starting from 0), and l[i:j] represents the subpath between the i-th node and the j-th node in path l (including the i-th node and the j-th node).

[0087] First, the KOP algorithm calculates the maximum order-preserving reduction of the original routing criteria and obtains all dominant paths from the source node to the destination node through the D-Dijkstra algorithm, adding these paths to the priority queue B. The algorithm then extracts the optimal path A0 from B.

[0088] Next, enter the main loop and search for the kth optimal path (k ranges from 1 to K-1). The algorithm is based on the previous optimal path Ak-1 Generate candidate paths: For each possible fork node spur_node on it, the algorithm decomposes the path into the root path root_path and the fork path spur_path. In order to ensure the generation of new, non-repeated paths, the KOP algorithm adopts the following key strategies: delete those edges that share the same root path and the same next hop as the selected path, and temporarily remove the nodes on the root path (except the fork point). Then, the algorithm uses D-Dijkstra to calculate all possible fork paths from the fork point to the destination node, and splices the root path with each fork path to form a candidate path and adds it to queue B. After completing the candidate path search, the algorithm selects the optimal path from B in turn, checks whether it is repeated with the existing path, and if not, uses it as the kth optimal path A. k If the candidate queue B is empty and the kth path is not found, the algorithm terminates early and returns the set of paths that have been found.

[0089] The KOP algorithm uses maximum order-preserving reduction to process non-order-preserving routing algebra and uses D-Dijkstra instead of the standard Dijkstra algorithm when searching for the optimal path. It can accurately identify the globally optimal K paths in a non-order-preserving environment, significantly expanding the scope of application of the routing algorithm.

[0090] In this embodiment, a balancing mechanism between algorithm efficiency and path quality is provided, and computational efficiency is improved through heuristic methods. Specifically, based on the KOP algorithm, the H-KOP algorithm is further proposed. The H-KOP algorithm is a highly efficient variant of the KOP algorithm, which solves the problem of high computational overhead of the KOP algorithm in large networks. H-KOP maintains the overall framework of KOP but introduces key efficiency optimizations: in the initial stage of the algorithm, the D-Dijkstra algorithm is still used to obtain all dominant paths from the source node to the destination node to ensure the global optimality of the first path; however, when calculating bifurcated paths in subsequent cycles, H-KOP uses the standard Dijkstra algorithm instead of the more computationally complex D-Dijkstra algorithm. This hybrid strategy significantly reduces computational costs while maintaining reasonable path quality. Specifically, H-KOP only retains a single shortest path rather than multiple dominant paths during the bifurcation point exploration phase. This may cause some theoretically optimal paths to be ignored, but in practical applications, it can usually find a sufficiently good approximate solution. Through this balance in algorithm design, H-KOP provides a good compromise between computational efficiency and path quality for multipath routing problems in large networks, and is particularly suitable for scenarios with high real-time requirements or limited computing resources.

[0091] The multi-path routing method applicable to non-order-preserving routing standards in the embodiment of the present application overcomes the defect that traditional routing algorithms fail in non-order-preserving environments, significantly expands the application scope of routing algorithms, and can be widely used in routing decision scenarios in complex network environments. It has the characteristics of strong versatility, stable performance and high path quality.

[0092] This example uses a quantum network as an example to illustrate the algorithm's operation. A quantum network is a novel network architecture based on the principles of quantum mechanics, designed to enable the long-distance transmission and distributed processing of quantum information. Its basic components include quantum nodes and quantum channels. Quantum nodes are typically equipped with quantum memories and quantum processors for storing and manipulating quantum bits (qubits). Quantum channels transmit entangled photons via optical fibers or free space, distributing quantum entanglement between nodes. Compared to traditional networks, quantum networks leverage unique quantum properties such as superposition, entanglement, and non-cloning, enabling applications such as unconditionally secure quantum key distribution, quantum teleportation, and distributed quantum computing. Figure 2 is a schematic diagram of quantum network topology, such as Figure 2 As shown in the figure, since the topological structure of quantum networks is highly dynamic and probabilistic, relevant performance indicators are often described using probabilistic models, which may result in routing metrics not satisfying order preservation, making it difficult for traditional routing algorithms to work effectively in quantum network environments.

[0093] In a quantum network, assuming that the success rate of entanglement exchange at a node is p, the entangled photon source in the link between two nodes u and v can generate C(u,v) entangled pairs per unit time. n The path l=u0u1…u n , and its entanglement generation rate R(l) is defined as:

[0094]

[0095] where p n-1 Represents the probability that entanglement exchange is successful at all n-1 nodes in the middle of path l.

[0096] exist Figure 2 In the topology shown, assume p = 0.9. The number of entangled pairs generated per unit time by each link, C, is marked in the figure. Now, taking the entanglement generation rate as the optimization objective, we select the path with the highest entanglement generation rate. The optimal path weight from u to y is R(uxy) = 9.

[0097] (1) Use the traditional Dijkstra algorithm to find the path from source u to destination y. The process is as follows:

[0098] 1. The source u is labeled with the optimal weight +∞, and other nodes are labeled with the worst weight 0.

[0099] 2. Source u has the best weight +∞ and is selected as the working node. It updates the weights of its neighbors v and x: v's weight is updated to R(uv)=C(u,v)=30, and x's weight is updated to R(ux)=C(u,x)=20.

[0100] 3. Node v has the best weight of 30 and is selected as the working node. The weight of neighbor x is updated: the weight of x is updated to R(uvx)=p·min{C(u,v),C(v,x)}=27 (R(ux)=20 is eliminated).

[0101] 4. Node x has the best weight of 27 and is selected as the working node. The weight of y is updated: the weight of y is updated to R(uvxy)=p 2 ·min{C(u,v),C(v,x),C(x,y)}=8.1.

[0102] 5. The algorithm ends. No optimal path weight is found. The forwarding route is set to uvxy.

[0103] The traditional Dijkstra algorithm encounters a dilemma because the entanglement generation rate routing does not satisfy the right order preservation property, that is:

[0104] R(uvx)≥R(ux) but R(uvxy)≤R(uxy)

[0105] Specifically, there is a discrepancy between the local optimal path and the global optimal path: at x, the path ux is not locally optimal, but it can generate the globally optimal path uxy. However, during the algorithm execution, the path ux is eliminated by the local optimal path uvx at x.

[0106] (2) The above problem is solved by the D-Dijkstra algorithm. First, we need to calculate the maximum right order-preserving reduction and obtain the order-preserving partial order.

[0107]

[0108] Where |l| represents the number of links contained in path l.

[0109] Using w(l) = (R(l), |l|) to represent the weight of path l, the D-Dijkstra algorithm process is as follows:

[0110] 1. Initialization: Priority queue Q={w(u)=(+∞, 0)}.

[0111] 2. w(u) = (+∞, 0) in queue Q has the highest entanglement generation rate. It is removed from the queue and elected[u] = {w(u)} is updated. The weights of its neighbors v and x are calculated as: w(uv) = (30, 1) and w(ux) = (20, 1), and the queue is added.

[0112] 3. w(uv) = (30, 1) in queue Q has the highest entanglement generation rate. It is removed from the queue and elected[v] = {w(uv)} is updated. The weight of its neighbor x is calculated as w(uvx) = (27, 2) and is added to the queue.

[0113] 4. w(uvx) = (27, 2) in queue Q has the highest entanglement generation rate. It is removed from the queue and elected[x] = {w(uvx)} is updated. The weight of its neighbor y is calculated: w(uvxy) = (8.1, 3) and it is added to the queue.

[0114] 5. w(ux) = (20, 1) in queue Q has the largest entanglement generation rate, dequeue, and update elected[x] = {w(uvx), w(ux)}: The entanglement generation rate of path uvx is large, but the number of links is also large, so w(uvx), w(ux) are in the partial order. The weights of neighbors v and y are calculated as: w(uxv) = (18, 2) and w(uxy) = (9, 2), and they are added to the queue.

[0115] 6. w(uxv)=(18,2) in queue Q has the maximum entanglement generation rate, and is dequeued. elected[v]={w(uv)} is not updated because w(uv)< GRR w(uxv).

[0116] 7. w(uxy)=(9, 2) in queue Q has the largest entanglement generation rate, exits the queue, and updates elected[y]={w(uxy)}.

[0117] 8. w(uvxy)=(8.1,3) in queue Q has the maximum entanglement generation rate, and is dequeued. elected[y]={w(uxy)} is not updated because w(uxy)< GRR w(uvxy).

[0118] 9. Queue The algorithm ends, successfully finding the dominant path weight, elected[y] = w(uxy), which also maximizes the entanglement generation rate. Routing forwarding is set to uxy.

[0119] (3) If the KOP algorithm is used to calculate the top two optimal paths from source u to destination y, and w(l) = (R(l), |l|) is used to represent the weight of path l, the process is as follows:

[0120] 1. Initialization: path list Priority Queue

[0121] 2. Call D-Dijkstra(G, u, y), and add the result to B, B = {w(uxy)}.

[0122] 3. w(uxy) in queue B has the largest entanglement generation rate, exits the queue, records A0=uxy, and joins A.

[0123] 4. k = 1, start looking for the second optimal path A1.

[0124] 5. For spur_node = u (i = 0): root_path = u, delete edge ux, call D-Dijkstra (G, u, y) calculate the new path from u to y and get w(uvxy). Restore the deleted edge and add w(uvxy) to B.

[0125] 6. For spur_node = x (i = 1): root_path = ux, delete edge xy, call D-Dijkstra (G, x,y) Compute a new path from x to y, none found. Restore the deleted edge.

[0126] 7. w(uvxy) in queue B has the largest entanglement generation rate, exits the queue, records A1=uvxy, and joins A.

[0127] 8. The algorithm ends and successfully finds the first two optimal paths: uxy and uvxy.

[0128] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example" or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art can combine and combine different embodiments or examples described in this specification and features of different embodiments or examples without contradiction.

[0129] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of the technical features being referred to. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of such features. Throughout the description of this application, "plurality" means at least two, for example, two, three, etc., unless otherwise specifically defined.

[0130] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, segment or portion of code comprising one or more executable instructions for implementing the steps of a custom logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may be performed out of the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by those skilled in the art to which the embodiments of the present application belong.

[0131] The logic and / or steps represented in the flowcharts or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing the logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (e.g., a computer-based system, a system including a processor, or other system that can fetch and execute instructions from an instruction execution system, apparatus, or device). For purposes of this specification, a "computer-readable medium" can be any device that can contain, store, communicate, propagate, or transport a program for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include the following: an electrical connection with one or more wires (electronic devices), a portable computer disk cartridge (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and programmable read-only memory (EPROM or flash memory), fiber optic devices, and a portable compact disc read-only memory (CDROM). Furthermore, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or processing it in another suitable manner if necessary, and then storing it in a computer memory.

[0132] It should be understood that various parts of the present application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented using hardware, as in another embodiment, any one of the following technologies known in the art or a combination thereof can be used to implement: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application-specific integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0133] Those skilled in the art will understand that all or part of the steps in the method of the above embodiment can be completed by instructing related hardware through a program, and the program can be stored in a computer-readable storage medium. When the program is executed, it includes one or a combination of the steps of the method embodiment.

[0134] In addition, the functional units in the various embodiments of the present application may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into a module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.

[0135] The storage medium mentioned above may be a read-only memory, a magnetic disk, or an optical disk, etc. Although the embodiments of the present application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present application. Persons skilled in the art may make changes, modifications, substitutions, and variations to the above embodiments within the scope of the present application.

Claims

1. A multipath routing method suitable for non-order-preserving routing criteria, characterized in that: include: For general routing problems, the network is modeled as a directed graph and abstracted into routing algebra; For routing algebras whose routing criteria satisfy monotonicity but not order preservation, order preservation is achieved through maximum order preservation reduction technology; Based on the routing algebra after order-preserving reduction, the top K optimal paths from the source node to the destination node in the directed graph are calculated through a multi-path algorithm, and the algorithm efficiency and path balancing mechanism of the multi-path algorithm are set.

2. The method according to claim 1, wherein The directed graph is G = (V, E), where the vertex set V represents the set of nodes in the network, the edge set E represents the set of links in the network, and the directed edge (u, v) in the edge set E represents the link from node u to node v in the network, y is the starting point of the link, v is the end point of the link, u is the inner neighbor of v, v is the outer neighbor of u, and the vertex set V contains node u. i ,u i ∈V,0≤i≤n,u0u1…u n is a sequence of links, representing a path in the network, (u i ,u i+1 )∈E, 0≤i≤n-1 is a link, u0 is the starting point of the path, u n is the end point of the path, and the number of links in the path is n.

3. The method according to claim 1, wherein For general routing problems, we abstract them into routing algebra, including: Abstract the general routing problem into routing algebra S is a weight set, representing an indicator or combination of indicators related to the weight. is a total or partial order on S, representing the routing criteria, L is the set of paths; w is the mapping from L to S; It is a mapping from L×L→L, a binary operation on the path, used to join two paths.

4. The method according to claim 3, wherein The method further comprises: When judging the pros and cons of different paths, Compare the weights of the paths, and the path with smaller weight is better; If a is L(s,t) about The smallest element of a is called the optimal path from s to t, w(a) is the optimal weight from s to t, and L(s,t) represents the path starting from s and ending at t. If a is L(s,t) about The smallest element, a is called the dominant path from s to t, and w(a) is the dominant weight from s to t; Assume that the path L includes the trivial path ε and the invalid path A trivial path ε does not contain any links. The concatenation of a path and a trivial path is still the path itself, which can be expressed as: Invalid path Indicates a link that cannot be used to send data packets. The concatenation of a path and an invalid path is an invalid path, which is expressed as: The weight of the trivial path ε is the minimum path weight, and the invalid path The weight is the maximum path weight.

5. The method according to claim 3, wherein The method further comprises: For routing algebra If satisfied Define it as left monotone if it satisfies Define it as right monotone, if the routing algebra Left monotone and right monotone, define it as monotone, where a and b are any two paths in the path set L, and a≠b; For routing algebra If satisfied Define its left order preservation, if it satisfies Define its right order preservation, if the routing algebra Left order preservation and right order preservation are defined as follows: where c is any path in the path set L that is not the same as a or b.

6. The method according to claim 1, wherein The method further comprises: The definition of left and right order-preserving reduction is: For routing algebras that satisfy monotonicity but not order preservation Define left-order-preserving reduction is a partial order A subset whose goal is to ensure routing algebra In left-order-preserving reduction Under the left-order preservation property, define the right-order preservation reduction is a partial order A subset whose goal is to ensure routing algebra In right-order-preserving reduction The following satisfies the right order preservation property; The order-preserving reduction that contains all other left order-preserving reductions is called the maximum left order-preserving reduction, and the order-preserving reduction that contains all other right order-preserving reductions is called the maximum right order-preserving reduction. Partial order Maximum left-order-preserving reduction and maximum right order-preserving reduction Satisfy respectively:

7. The method according to claim 1, wherein The method further comprises: In order for the multipath algorithm to work correctly, the following routing properties must hold: Convergence, which means that the algorithm will stop, corresponds to the right monotonicity of the routing algebra; Dominance means that the algorithm will find all dominant weights, which corresponds to the right-order preservation of the routing algebra; The routing algebra for which the routing criteria satisfy monotonicity but not order preservation obtains order preservation through the maximum order preservation reduction technique, including: When the routing algebra satisfies right monotonicity but not right order preservation, a maximum right order preservation reduction is performed to make the routing algebra obtain right order preservation.

8. The method according to claim 1, wherein Calculate the top K optimal paths using a multi-path algorithm, including: Based on the improvement of the Dijkstra algorithm for a single optimal path, a D-Dijkstra algorithm is proposed to calculate all dominant paths in a partial order. Based on the D-Dijkstra algorithm combined with the Yen algorithm for multiple optimal paths, a KOP algorithm is proposed to calculate the top K optimal paths in a non-order-preserving routing standard. The KOP algorithm is used as the multi-path algorithm.

9. The method according to claim 8, wherein All dominant paths are calculated using the D-Dijkstra algorithm, including: In each loop, the optimal path current_path is taken from the priority queue Q according to the original routing criteria, and its end point is recorded as current_node. This path is merged with the set of dominant paths already in the node current_node, elected[current_node]. Then, all the dominant paths are filtered through the routing criteria after the maximum order-preserving reduction, and all the dominant paths are retained. When elected[current_node] is updated, a new candidate path is created for each legal extension of current_path and added to queue Q; Compute all dominant paths using the D-Dijkstra algorithm, including: Keep multiple incomparable dominant paths for each node, and the partial order relationship of the retained paths after reduction The next is not dominated by other paths; The KOP algorithm is used to calculate the top K optimal paths, including: Calculate the maximum order-preserving reduction of the original routing criteria and use the D-Dijkstra algorithm to obtain all dominant paths from the source node to the destination node. Add the obtained paths to the priority queue B and extract the optimal path A0 from B. Enter the main loop and search for the kth optimal path in sequence, k from 1 to K-1, based on the previous optimal path A k-1 Generate candidate paths, wherein the candidate path search includes: for the optimal path A l-1 For each possible bifurcation node spur_node on the path, decompose the path into the root path root_path and the bifurcation path spur_path, delete the edges that share the same root path and the same next hop as the selected path, and temporarily remove the nodes on the root path. Use D-Dijkstra to calculate all possible bifurcation paths from the bifurcation point to the destination node, and concatenate the root path with each bifurcation path to form a candidate path and add it to queue B; Select the best path from B in sequence and check whether it is repeated with the existing path. If not, take it as the kth best path A k , let k plus 1 to enter the next loop. If the candidate queue B is empty and the k-th path is not found, terminate early and return the set of found paths.

10. The method according to claim 9, wherein Set the algorithm efficiency and path balancing mechanism of the multi-path algorithm, including: In the initial stage of the algorithm, the D-Dijkstra algorithm is used to obtain all dominant paths from the source node to the destination node to ensure the global optimality of the first path; When calculating bifurcated paths in subsequent cycles, the standard Dijkstra algorithm is used instead of the D-Dijkstra algorithm.