Communication path determination method and related device

CN122994221APending Publication Date: 2026-10-27CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611123252.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-27
Publication Date
2026-10-27

Smart Images

  • Figure CN122994221A_ABST
    Figure CN122994221A_ABST
Patent Text Reader

Abstract

The disclosure provides a communication path determination method and related equipment, and relates to the technical field of communication. The method comprises the following steps: obtaining the failure probability and bandwidth of each communication link between a communication source node and a communication destination node; determining the bandwidth overhead score and availability overhead score of each communication link based on the failure probability and bandwidth of each communication link; determining the multi-factor overhead score of each communication link based on the bandwidth overhead score and availability overhead score of each communication link; and determining the first shortest path between the communication source node and the communication destination node based on the multi-factor overhead score of each communication link. Through the above technical means, the problem that the communication link overhead calculation factor is single and cannot provide differentiated path selection in the related art is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of communication technology, and in particular to a communication path determination method and related equipment. Background Technology

[0002] With the development of communication technology, cloud computing, and the Industrial Internet, critical services such as financial transactions and industrial control have placed stringent demands on low latency, high bandwidth, and high availability. However, the traditional shortest path first algorithm has a single cost calculation factor, which cannot provide differentiated path selection for highly reliable services, thus hindering the improvement of network service quality.

[0003] Public content

[0004] This disclosure provides a communication path determination method and related equipment, which comprehensively considers various communication link overhead calculation factors to improve network service quality.

[0005] According to one aspect of this disclosure, a communication path determination method is provided, comprising: obtaining the failure probability and bandwidth of each communication link between a communication source node and a communication destination node; determining the bandwidth overhead score and availability overhead score of each communication link based on the failure probability and bandwidth of each communication link; determining the multi-factor overhead score of each communication link based on the bandwidth overhead score and availability overhead score of each communication link; and determining a first shortest path between the communication source node and the communication destination node based on the multi-factor overhead score of each communication link.

[0006] In some exemplary embodiments, the bandwidth overhead score and availability overhead score of each communication link are determined based on the failure probability and bandwidth of each communication link, including: determining the availability score of each communication link based on the failure probability of each communication link; determining the bandwidth-availability index of each communication link based on the availability score and bandwidth of each communication link; determining the bandwidth overhead score of each communication link based on the bandwidth-availability index of each communication link; and determining the availability overhead score of each communication link based on the availability score of each communication link.

[0007] In some exemplary embodiments, a multi-factor cost score for each communication link is determined based on the bandwidth cost score and the availability cost score of each communication link. This includes determining the multi-factor cost score of each communication link based on a first weight corresponding to the bandwidth cost score and the bandwidth cost score of each communication link, and a second weight corresponding to the availability cost score and the availability cost score of each communication link.

[0008] In some exemplary embodiments, the method further includes: real-time acquisition of the average link load rate and average availability score of all communication links in the communication network; when the average link load rate is greater than a preset load rate threshold, increasing the first weight by a first step size until the first threshold is reached; when the average availability is greater than a preset availability threshold, increasing the second weight by a second step size until the second threshold is reached.

[0009] In some exemplary embodiments, each communication link is a single physical link or a physical link aggregation group, wherein a physical link aggregation group includes multiple single physical links; the availability score of a physical link aggregation group is the cumulative product of the availability scores of all single physical links in the physical link aggregation group, and the availability score of a single physical link is determined by the difference between the number of units and the failure probability of the single physical link; the bandwidth-availability index of a physical link aggregation group is the cumulative value of the bandwidth-availability index of all single physical links in the physical link aggregation group, and the bandwidth-availability index of a single physical link is determined by the product of the number of units, the availability score of the single physical link, and the bandwidth.

[0010] In some exemplary embodiments, the multi-factor cost score of each communication link is determined based on the bandwidth cost score and availability cost score of each communication link. This includes: setting a first set and a second set, where the first set initially contains only the communication source node, and the second set initially contains all other nodes except the communication source node; selecting the first node with the smallest distance from the second set and moving it into the first set, where the distance of the first node is positively correlated with the multi-factor cost score of the communication link between the communication source node and the first node; traversing all neighbor nodes corresponding to the first node's communication links, skipping any neighbor node already in the first set; if the neighbor node is not in the first set, and if the distance of the first node and the sum of the multi-factor cost scores of the communication links between the first node and the neighbor node are less than the distance of the neighbor node, then updating the distance of the neighbor node to the sum of the distance of the first node and the multi-factor cost scores of the communication links between the first node and the neighbor node, and recording the predecessor node of the neighbor node as the first node in the predecessor node array; repeating the above first iteration process until the second set is empty, and generating a first shortest path based on the final predecessor node array.

[0011] In some exemplary embodiments, after determining the multi-factor cost score of each communication link based on the bandwidth cost score and availability cost score of each communication link, the method further includes: determining multiple second shortest paths between the communication source node and the communication destination node based on the multi-factor cost score of each communication link and the first shortest path.

[0012] In some exemplary embodiments, a third set and a fourth set are set. The third set initially contains only the first shortest path, and the fourth set is initially an empty set. Based on the multi-factor cost score of each communication link and the first shortest path, multiple second shortest paths between the communication source node and the communication destination node are determined, including: traversing all nodes except the communication destination node on the k-th shortest path in the third set as deviation nodes, and performing the following path generation operation on each deviation node, where k is initially 1 and is the addition index of the path in the third set: extracting the prefix sub-path from the communication source node to the deviation node on the k-th shortest path; and removing all communication links in the third set originating from the deviation node. The process involves: 1) removing all nodes from the prefix sub-path except for the deviated node; 2) performing the first iteration from the deviated node to the communication destination node to obtain the suffix sub-path; 3) concatenating the prefix and suffix sub-paths to generate a candidate path and adding it to the fourth set; 4) adding the candidate path with the smallest distance from the fourth set to the third set, where the distance of the candidate path is the sum of the multi-factor cost scores of all communication links in the candidate path, and updating k with k + 1; 5) repeating the second iteration process until the number of paths in the third set reaches a preset number, and then using the path in the third set other than the first shortest path as the second shortest path.

[0013] In some exemplary embodiments, adding the candidate path with the smallest distance in the fourth set to the third set includes: performing the following loop: calculating the link overlap between the candidate path and the k-th shortest path; if the link overlap is greater than a preset overlap threshold, removing the candidate path from the fourth set and reselecting the next candidate path with the smallest distance; if the link overlap is not greater than the preset overlap threshold, adding the candidate path to the third set and exiting the loop.

[0014] In some exemplary embodiments, the method further includes: during the execution of the first iteration, if the bandwidth-availability index of all communication links in the latest suffix subpath corresponding to the deviation node is less than the minimum bandwidth score of the user service, or the availability score of all communication links in the latest suffix subpath corresponding to the deviation node is less than the minimum availability score of the user service, then the first iteration process of the deviation node is terminated and the process jumps to the next deviation node.

[0015] In some exemplary embodiments, the method further includes: traversing each communication link: if the bandwidth-availability index of the communication link is less than the minimum bandwidth score of the user service, or the availability score of the communication link is less than the minimum availability score of the user service, then the communication link is removed from the list.

[0016] According to another aspect of this disclosure, a communication path determination apparatus is provided, comprising: an acquisition unit configured to acquire the failure probability and bandwidth of each communication link between a communication source node and a communication destination node; a first determination unit configured to determine a bandwidth overhead score and an availability overhead score of each communication link based on the failure probability and bandwidth of each communication link; a second determination unit configured to determine a multi-factor overhead score of each communication link based on the bandwidth overhead score and availability overhead score of each communication link; and a third determination unit configured to determine a first shortest path between the communication source node and the communication destination node based on the multi-factor overhead score of each communication link.

[0017] According to another aspect of this disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform any of the methods described above by executing the executable instructions.

[0018] According to another aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements any of the methods described above.

[0019] According to another aspect of this disclosure, a computer program product is provided, including computer instructions stored in a computer-readable storage medium, which, when executed by a processor, implement operation instructions for any of the methods described above.

[0020] In the embodiments of this disclosure, based on the failure probability and bandwidth of each communication link, the bandwidth overhead score and availability overhead score of each communication link are determined. Based on the bandwidth overhead score and availability overhead score of each communication link, the multi-factor overhead score of each communication link is determined, and then the first shortest path between the communication source node and the communication destination node is determined. This solves the problem that the communication link overhead calculation factor is singular in related technologies and cannot provide differentiated path selection. Furthermore, by comprehensively considering multiple communication link overhead calculation factors, the quality of network services can be improved.

[0021] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0022] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.

[0023] Figure 1A schematic diagram of a communication system according to an embodiment of this disclosure is shown.

[0024] Figure 2 A flowchart of a communication path determination method according to an embodiment of this disclosure is shown.

[0025] Figure 3 A flowchart illustrating a method for determining communication link availability overhead score according to an embodiment of this disclosure is shown.

[0026] Figure 4 A flowchart of a weight dynamic adjustment method according to an embodiment of this disclosure is shown.

[0027] Figure 5 A flowchart of a candidate path filtering method according to an embodiment of this disclosure is shown.

[0028] Figure 6 An original network topology diagram is shown in an embodiment of this disclosure.

[0029] Figure 7 This illustration shows a filtered network topology diagram according to an embodiment of the present disclosure.

[0030] Figure 8 This illustrates a first shortest path in an embodiment of the present disclosure.

[0031] Figure 9 A schematic diagram of a communication path determination device according to an embodiment of the present disclosure is shown.

[0032] Figure 10 A schematic diagram of an electronic device provided in an embodiment of this disclosure is shown. Detailed Implementation

[0033] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided so that this disclosure will be more comprehensive and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0034] Furthermore, the accompanying drawings are merely illustrative of this disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0035] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.

[0036] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.

[0037] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0038] It should be noted that, unless otherwise specified, the embodiments of this disclosure and the technical features thereof can be combined with each other.

[0039] To facilitate understanding, the following is an explanation of several terms used in this disclosure: MLT (Multi-Link Topology) refers to a network structure that simultaneously includes multiple types of transmission media, such as single physical links and link aggregation groups. Its characteristic is that communication connection methods with different granularities and different redundancy mechanisms coexist in the same topology. Path planning algorithms need to perform differentiated modeling and unified calculation for the bandwidth, reliability and overhead characteristics of various links in order to support end-to-end optimal path selection across heterogeneous links.

[0040] LAG (Link Aggregation Group): A logical channel formed by bundling multiple physical links. It presents itself as a single high-bandwidth, high-reliability transmission interface. Its total bandwidth is usually the sum of the bandwidths of its member links. Its availability is significantly higher than that of a single physical link through a parallel redundancy mechanism. In path calculation, it should be treated as a whole unit to participate in bandwidth-availability index evaluation and multi-factor cost calculation, rather than being broken down into independent physical links for processing.

[0041] BAI (Bandwidth-Availability Index) is an indicator used to comprehensively quantify the joint performance of a communication link in terms of both bandwidth carrying capacity and transmission reliability. It is usually derived by multiplying or weighting the effective bandwidth and availability rate. It reflects the equivalent transmission efficiency that the link can actually meet the service requirements. It is the core basis for determining whether the link meets the minimum service quality threshold of the user during the link selection stage, and it is also the basic input parameter for bandwidth component normalization in subsequent multi-factor overhead calculations.

[0042] Figure 1 The diagram illustrates a communication system according to an embodiment of the present disclosure. The communication system includes: a server 101, a communication source node 102, a communication destination node 103, and a communication intermediate node 104.

[0043] There are multiple communication intermediate nodes 104. The communication source node 102 and the communication destination node 103, or the communication source node 102 and any one or more communication intermediate nodes 104, or any one or more communication intermediate nodes 104 and the communication destination node 103, or the communication source node 102 and any one or more communication intermediate nodes 104 and the communication destination node 103, form a series of communication links.

[0044] Both base station 101 and terminal 102 can be equipped with an application program to perform the following actions: obtaining the failure probability and bandwidth of each communication link between the communication source node and the communication destination node; determining the bandwidth overhead score and availability overhead score of each communication link based on the failure probability and bandwidth of each communication link; determining the multi-factor overhead score of each communication link based on the bandwidth overhead score and availability overhead score of each communication link; and determining the first shortest path between the communication source node and the communication destination node based on the multi-factor overhead score of each communication link.

[0045] Figure 2 This diagram illustrates a flowchart of a communication path determination method according to an embodiment of the present disclosure. The method is as follows: Figure 2 As shown, it includes the following steps: S201, obtain the failure probability and bandwidth of each communication link between the communication source node and the communication destination node.

[0046] As an example, the communication source node is the network node that initiates the data transmission.

[0047] In this example, the communication destination node is the target network node for data reception.

[0048] As an example, a communication link is a physical or logical transmission channel that connects two network nodes.

[0049] For example, the probability of failure is the probability that a communication link will experience transmission interruption or performance degradation within a specific time period. It can be a link failure risk value obtained based on historical statistics or real-time monitoring.

[0050] As an example, bandwidth is the maximum amount of data that a communication link can transmit per unit of time.

[0051] As an example, the communication links between the communication source node and the communication destination node include the communication link formed by the communication source node 102 and the communication destination node 103, the communication link formed by the communication source node 102 and any one or more communication intermediate nodes 104, the communication link formed by any one or more communication intermediate nodes 104 and the communication destination node 103, and the communication link formed by the communication source node 102 and any one or more communication intermediate nodes 104 and the communication destination node 103.

[0052] S202, based on the failure probability and bandwidth of each communication link, determine the bandwidth overhead score and availability overhead score of each communication link.

[0053] As an example, the bandwidth overhead score reflects the degree to which communication link bandwidth resources affect path selection.

[0054] As an example, the availability overhead score reflects the degree to which communication link reliability affects path selection.

[0055] S203, based on the bandwidth cost score and availability cost score of each communication link, determine the multi-factor cost score of each communication link.

[0056] S204. Based on the multi-factor cost scores of each communication link, determine the first shortest path between the communication source node and the communication destination node.

[0057] As an example, the first shortest path is the transmission path with the minimum sum of multi-factor overhead scores (or the shortest distance) between the communication source node and the communication destination node.

[0058] In this embodiment, the bandwidth overhead score and availability overhead score of each communication link are determined based on the failure probability and bandwidth of each link. Then, the bandwidth overhead score and availability overhead score of each communication link are merged to determine the multi-factor overhead score of each communication link. Finally, the first shortest path between the communication source node and the communication destination node is determined based on the multi-factor overhead scores of each communication link. This technique solves the problem in related technologies where a single communication link overhead calculation factor fails to provide differentiated path selection, thereby comprehensively considering multiple communication link overhead calculation factors and improving network service quality.

[0059] In data center or cloud computing network scenarios, communication source nodes and communication destination nodes are typically servers, storage arrays, or virtual machine hosts, while communication intermediate nodes are switches, aggregation switches, or core routers. In mobile communication bearer network scenarios, communication source nodes can be base stations, communication destination nodes can be core network gateway devices, and communication intermediate nodes are transmission aggregation nodes or access / aggregation routers. In enterprise campus or wide area network scenarios, communication source nodes and communication destination nodes can be user terminals, office computers, or branch office edge devices, while communication intermediate nodes are enterprise-grade routers or metropolitan area transmission devices. In optical transmission or backbone network scenarios, various nodes can also correspond to optical transmission network devices, reconfigurable optical add-drop multiplexers, or backbone core routers.

[0060] For example, in a financial transaction scenario, the communication source node is the transaction terminal, and the communication destination node is the transaction center server. There are multiple communication links between the two. Some of these links have high bandwidth but also a high probability of failure, while others have moderate bandwidth but a low probability of failure. By obtaining the failure probability and bandwidth of each communication link, the bandwidth overhead score and availability overhead score of each link are determined. These scores are then combined to obtain a multi-factor overhead score for each link. Finally, based on the multi-factor overhead score, the first shortest path with sufficient bandwidth and a low probability of failure is determined, thereby ensuring low latency and high reliability of financial transaction data transmission.

[0061] Figure 3 This invention discloses a flowchart illustrating a method for determining communication link availability cost score according to an embodiment of the present disclosure. The method is as follows: Figure 3 As shown, it includes the following steps: S301, Based on the failure probability of each communication link, determine the availability score of each communication link; S302, Based on the availability score and bandwidth of each communication link, determine the bandwidth-availability index of each communication link; S303, based on the bandwidth-availability index of each communication link, determines the bandwidth overhead score of each communication link; S304, Based on the availability score of each communication link, determine the availability cost score of each communication link.

[0062] As an example, the availability score is an indicator used to characterize the stable transmission capability of a link, derived from the failure probability conversion.

[0063] As an example, the bandwidth-availability index is used to uniformly characterize the link's transmission capacity and reliability.

[0064] In this embodiment, the availability score of each communication link is determined based on the failure probability of each link. Then, the bandwidth-availability index of each communication link is determined based on the availability score and bandwidth. Subsequently, the bandwidth overhead score of each communication link is determined based on the bandwidth-availability index, and the availability overhead score of each communication link is determined based on the availability score. This embodiment couples bandwidth and availability by introducing the bandwidth-availability index as an intermediate calculation variable, embedding availability information into the bandwidth overhead score generation process. This avoids path selection bias caused by completely independent evaluation of bandwidth and availability, and thus enables the final multi-factor overhead score to more accurately reflect the comprehensive performance level of the communication link in actual service carrying.

[0065] In some exemplary embodiments, each communication link is a single physical link or a physical link aggregation group, wherein a physical link aggregation group includes multiple single physical links; the availability score of a physical link aggregation group is the cumulative product of the availability scores of all single physical links in the physical link aggregation group, and the availability score of a single physical link is determined by the difference between the number of units and the failure probability of the single physical link; the bandwidth-availability index of a physical link aggregation group is the cumulative value of the bandwidth-availability index of all single physical links in the physical link aggregation group, and the bandwidth-availability index of a single physical link is determined by the product of the number of units, the availability score of the single physical link, and the bandwidth.

[0066] In this embodiment, each communication link can be a single physical link or a group of physical links. A single physical link is a link with only two nodes.

[0067] The availability score of each individual physical link is determined by the difference between the unit number and the failure probability of that individual physical link, for example, the unit number is 1. The availability score of a physical link aggregation group is obtained by multiplying the availability scores of all individual physical links in that physical link aggregation group. The bandwidth-availability index of each individual physical link is determined by multiplying the unit number by the availability score and bandwidth of that individual physical link. The bandwidth-availability index of a physical link aggregation group is obtained by summing the bandwidth-availability indices of all individual physical links in that physical link aggregation group. Through the above technical means, it is possible to adapt to hybrid link topologies that include individual physical links and physical link aggregation groups.

[0068] In some exemplary embodiments, each physical link aggregation group (LAG) contains m single physical links, where the parameters of the i-th single physical link are: Bandwidth B i (Unit: bps): Maximum transmission bandwidth of the link; Fault Overview i : Obtained through statistical analysis of historical fault data, satisfying 0≤x i≤1; Single physical link availability R i :R i =1-x i ; Bandwidth-Availability Index (BAI) for a single physical link: BAI = B for the i-th physical link. i ×R i .

[0069] Calculate the BAI of LAG using the first formula: (1) Calculate the LAG usability score using the second formula: (2) In some exemplary embodiments, a multi-factor cost score for each communication link is determined based on the bandwidth cost score and the availability cost score of each communication link. This includes determining the multi-factor cost score of each communication link based on a first weight corresponding to the bandwidth cost score and the bandwidth cost score of each communication link, and a second weight corresponding to the availability cost score and the availability cost score of each communication link.

[0070] In this embodiment, the bandwidth overhead score and availability overhead score of each communication link are weighted and summed based on the first weight and the second weight, respectively, to obtain a multi-factor overhead score. Through the above technical means, the weight ratio of bandwidth and availability in path selection can be dynamically adjusted according to business needs, thereby improving the adaptability of the path determination method to diverse business scenarios.

[0071] In some exemplary embodiments, a third formula is used to calculate the multi-factor cost score. : (3) in, Score based on bandwidth overhead. As the first weight, Availability overhead score, It is the second weight.

[0072] In some exemplary embodiments, actual user business scenarios are taken into consideration. + =1. For low-latency user service scenarios, the bandwidth factor weight can be appropriately increased. Similarly, for high-reliability user service scenarios, the availability factor weight can be appropriately increased. The percentage.

[0073] Figure 4 This diagram illustrates a flowchart of a dynamic weight adjustment method according to an embodiment of the present disclosure. The method is as follows: Figure 4 As shown, it includes the following steps: S401 collects the average link load rate and average availability score of all communication links in the communication network in real time; S402, When the average link load rate is greater than the preset load rate threshold, increase the first weight by the first step length until the first threshold is reached; S403, when the average availability is greater than the preset availability threshold, increase the second weight by the second step size until the second threshold is reached.

[0074] As an example, the average link load rate is the statistical mean of the current load levels of all communication links in a communication network.

[0075] As an example, the average availability score is the statistical mean of the current availability scores of all communication links in a communication network.

[0076] The preset load rate threshold, first step length, first weight, first threshold, preset availability threshold, second step length, second weight, and second threshold are all set values.

[0077] This embodiment introduces a dynamic weight adjustment mechanism based on real-time network status, enabling the first and second weights to adaptively adjust with changes in network load and reliability levels. This automatically increases the priority of bandwidth in path selection to alleviate load pressure when the network becomes congested, and automatically increases the priority of availability to strengthen transmission assurance when network reliability is sufficient. This achieves a closed-loop feedback between the path selection strategy and the network operating status, avoiding the path selection lag problem caused by static weight configuration failing to respond to dynamic network changes.

[0078] In some exemplary embodiments, average link load rate is collected in real time. and average availability score The first weight is dynamically adjusted through the fourth formula. Second weight : (4) When the average link load rate is monitored Greater than the preset link load rate threshold When triggered The adaptive adjustment process, in which, For the first step, The first threshold, In other words, the upper limit of the bandwidth factor weight is adaptively adjusted.

[0079] When monitoring average availability score Greater than the preset availability threshold When triggered The adaptive adjustment process, in which For the second step length, The second threshold, This means that the upper limit of the availability factor weight is adaptively adjusted; + =1.

[0080] In some exemplary embodiments, the multi-factor cost score of each communication link is determined based on the bandwidth cost score and availability cost score of each communication link. This includes: setting a first set and a second set, where the first set initially contains only the communication source node, and the second set initially contains all other nodes except the communication source node; selecting the first node with the smallest distance from the second set and moving it into the first set, where the distance of the first node is positively correlated with the multi-factor cost score of the communication link between the communication source node and the first node; traversing all neighbor nodes corresponding to the first node's communication links, skipping any neighbor node already in the first set; if the neighbor node is not in the first set, and if the distance of the first node and the sum of the multi-factor cost scores of the communication links between the first node and the neighbor node are less than the distance of the neighbor node, then updating the distance of the neighbor node to the sum of the distance of the first node and the multi-factor cost scores of the communication links between the first node and the neighbor node, and recording the predecessor node of the neighbor node as the first node in the predecessor node array; repeating the above first iteration process until the second set is empty, and generating a first shortest path based on the final predecessor node array.

[0081] As an example, the predecessor node array is a data structure used to record the index of the direct predecessor node of each node on the current optimal path, including a topology mapping table used to backtrack and generate the complete shortest path after the iteration ends.

[0082] In this embodiment, by setting an initial first set containing only the communication source node and a second set containing the remaining nodes, the node with the smallest cumulative multi-factor cost score to the communication source node is repeatedly selected from the second set and moved to the first set. The following operation is performed on its neighboring nodes: if the cumulative multi-factor cost score to a neighboring node via this node is less than the distance currently recorded by the neighboring node, the distance is updated and the predecessor node is set as the current node. This process continues until the second set is empty, at which point the first shortest path is reconstructed based on the predecessor node array. Through this technique, the multi-factor cost score, which combines bandwidth cost score and availability cost score, is used as the edge weight metric, allowing the path search process to simultaneously consider both transmission capacity and reliability. Furthermore, multiple iterations ensure that the generated path is globally optimal in terms of the comprehensive multi-factor cost.

[0083] In some exemplary embodiments, after determining the multi-factor cost score of each communication link based on the bandwidth cost score and availability cost score of each communication link, the method further includes: determining multiple second shortest paths between the communication source node and the communication destination node based on the multi-factor cost score of each communication link and the first shortest path.

[0084] As an example, the second shortest path is the alternative optimal path from the communication source node to the communication destination node, other than the first shortest path.

[0085] This embodiment continues to explore other alternative paths that meet the multi-factor optimality conditions based on the first shortest path, so that when the main path becomes unavailable due to sudden failure, momentary congestion or maintenance operations, it can immediately switch to the pre-calculated second shortest path, thereby improving the fault tolerance capability and service assurance level of the path determination method for network anomalies.

[0086] In some exemplary embodiments, a third set and a fourth set are set. The third set initially contains only the first shortest path, and the fourth set is initially an empty set. Based on the multi-factor cost score of each communication link and the first shortest path, multiple second shortest paths between the communication source node and the communication destination node are determined, including: traversing all nodes except the communication destination node on the k-th shortest path in the third set as deviation nodes, and performing the following path generation operation on each deviation node, where k is initially 1 and is the addition index of the path in the third set: extracting the prefix sub-path from the communication source node to the deviation node on the k-th shortest path; and removing all communication links in the third set originating from the deviation node. The process involves: 1) removing all nodes from the prefix sub-path except for the deviated node; 2) performing the first iteration from the deviated node to the communication destination node to obtain the suffix sub-path; 3) concatenating the prefix and suffix sub-paths to generate a candidate path and adding it to the fourth set; 4) adding the candidate path with the smallest distance from the fourth set to the third set, where the distance of the candidate path is the sum of the multi-factor cost scores of all communication links in the candidate path, and updating k with k + 1; 5) repeating the second iteration process until the number of paths in the third set reaches a preset number, and then using the path in the third set other than the first shortest path as the second shortest path.

[0087] As an example, the prefix subpath is a sequence of consecutive communication links from the communication source node to the current offset node along the k-th shortest path.

[0088] As an example, the suffix sub-path is the optimal path segment to the communication destination node, which is recalculated from the current offset node through the first iteration process.

[0089] In this embodiment, by initializing a third set containing only the first shortest path and an empty fourth set, each non-destination node on the k-th shortest path in the third set is sequentially selected as a deviation node, and the first shortest path becomes the first shortest path. Prefix sub-paths from the source node to the deviation node are extracted, while all edges originating from the deviation node in the third set and all nodes in the prefix sub-path other than the deviation node are removed. The first iteration process based on multi-factor cost scores is then re-executed from the deviation node to obtain suffix sub-paths. The prefix and suffix sub-paths are concatenated to form a candidate path and added to the fourth set. After each round of traversal, the candidate path with the smallest cumulative multi-factor cost score in the fourth set is moved to the third set and incremented by k. This second iteration process is repeated until the number of paths in the third set reaches a preset number. Finally, the paths other than the first shortest path are output as the second shortest paths. Through the above techniques, multiple acyclic and balanced candidate paths can be efficiently generated based on multi-factor cost scores, thereby improving the path diversity guarantee level of the path determination method in complex network topologies.

[0090] Figure 5 This diagram illustrates a flowchart of a candidate path filtering method according to an embodiment of the present disclosure. The method is as follows: Figure 5 As shown, it includes the following steps: Execute the following loop: S501, calculate the link overlap between the candidate path and the k-th shortest path; S502, if the link overlap is greater than the preset overlap threshold, then remove the candidate path from the fourth set and reselect the next candidate path with the smallest distance. S503, if the link overlap is not greater than the preset overlap threshold, then add the candidate path to the third set and exit the loop.

[0091] As an example, link overlap is the ratio of the number of shared communication links between a candidate path and the current k-th shortest path to the number of non-shared communication links between them.

[0092] In this embodiment, before adding the candidate path with the smallest distance from the fourth set to the third set, a link overlap verification step is added: the link overlap between the candidate path and the k-th shortest path is calculated. If the overlap exceeds a preset overlap threshold, the candidate path is determined to have high overlap with existing paths and lack independent disaster recovery value. Therefore, it is removed from the fourth set, and the next candidate path with the smallest distance is selected for verification. Only when the link overlap of the candidate path is not greater than the preset overlap threshold is it formally added to the third set and the loop is exited. Through the above technical means, the topological independence of the candidate paths can be enforced while ensuring their performance, thereby improving the disaster recovery robustness of the multi-path set generated by the path determination method.

[0093] In some exemplary embodiments, the candidate path P and the k-th shortest path P are calculated using the fifth formula. k The degree of overlap is O, and the fifth formula is: (5) In some exemplary embodiments, the method further includes: during the execution of the first iteration, if the bandwidth-availability index of all communication links in the latest suffix subpath corresponding to the deviation node is less than the minimum bandwidth score of the user service, or the availability score of all communication links in the latest suffix subpath corresponding to the deviation node is less than the minimum availability score of the user service, then the first iteration process of the deviation node is terminated and the process jumps to the next deviation node.

[0094] In this embodiment, the bandwidth-availability index of all communication links in the latest suffix sub-path is the sum of the bandwidth-availability indices of each communication link in the latest suffix sub-path. The availability score of all communication links in the latest suffix sub-path is the product of the availability scores of each communication link in the latest suffix sub-path. Through the above technical means, path segments that do not meet the user's service requirements can be dynamically filtered during the multi-path generation process.

[0095] In some exemplary embodiments, the method further includes: traversing each communication link: if the bandwidth-availability index of the communication link is less than the minimum bandwidth score of the user service, or the availability score of the communication link is less than the minimum availability score of the user service, then the communication link is removed from the list.

[0096] In this embodiment, all communication links are traversed, and each link's bandwidth-availability index is checked against the minimum bandwidth score or availability score of the user service. If either condition is met, the communication link is directly removed from the graph model for subsequent path calculations. This technique enables precise pruning of substandard links in the early stages of path planning.

[0097] In some exemplary embodiments, the bandwidth overhead score for each communication link is determined using a sixth formula. : (6) in, This is a constant that represents the bandwidth reference value; This is the bandwidth-availability index.

[0098] In some exemplary embodiments, the availability overhead score of each communication link is obtained through Formula 7. : (7) in, This is a constant that represents an availability reference value. A usability score.

[0099] Figure 6 An original network topology diagram is shown in an embodiment of this disclosure.

[0100] Figure 7 This illustration shows a filtered network topology diagram according to an embodiment of the present disclosure.

[0101] Figure 8 This illustrates a first shortest path in an embodiment of the present disclosure.

[0102] In one application example, the original network topology G is as follows: Figure 1 As shown, there are 6 nodes in total: R1, R2, R3, R4, R5, and R6 (R1 is the communication source node and R6 is the communication destination node). The link set includes 9 physical link aggregation groups: LAG1, LAG2, LAG3, LAG4, LAG5, LAG6, LAG7, LAG8, and LAG9, as well as a single communication link 1.

[0103] User service requirements: minimum bandwidth score Bd=15Gbps, minimum availability score Rd=99%.

[0104] Static link cost weight configuration: WB=0.5, WR=0.5.

[0105] Parameter configuration: K B =108, K R =103, number of second shortest paths K=3, overlap threshold Omax=30%.

[0106] Phase 1: Link selection based on business needs: Calculate the Bandwidth-Availability Index (BAI) and Availability Score for each communication link, taking single communication links 1 (R1-R4) and LAG1 (R1-R3) as examples: The bandwidth of a single communication link 1 is 16Gbps, and the probability of failure is 0.02. Its bandwidth-availability index (BAI) is 16Gbps × (1-0.01) = 15.84Gbps, and its availability is 1-0.01 = 99%.

[0107] LAG1 consists of two 14Gbps links, each with a failure probability of 0.001. The BAI of LAG1 is 14Gbps×(1-0.001)×2=27.972Gbps, and the total availability is (1-0.001)×(1-0.001)=99.8001%.

[0108] Traverse each communication link: if the bandwidth-availability index of the communication link is less than the minimum bandwidth score of the user service, or the availability score of the communication link is less than the minimum availability score of the user service, the communication link is eliminated. The network topology G' after link screening is as Figure 2 shown. The screening process is demonstrated by taking single communication link 1 and LAG1 as examples: The BAI of single communication link 1 is 15.84Gbps>Bd, but the availability score is 98%<Rd, so this link is eliminated; The BAI of LAG1 is 27.972Gbps>Bd, and the availability is 99.8001%>Rd, so this link is retained.

[0109] In the second stage, the second shortest path is determined based on the multi-factor link cost: Taking LAG1 as an example: Cost B =[10 8 / (27.972×10 6 )]=3; Cost R =[1000×(1-99.8001%)]=1; Cost LAG1 =2. Similarly, the multi-factor cost scores of all links in the network topology after link screening can be calculated, and the calculation results are marked in Figure 2 .

[0110] First iteration process: The generated first shortest path is as shown in the accompanying Figure 3 drawing, and the shortest path from R1 to R6 is R1-R3-R4-R6, which is denoted as P1.

[0111] Second iteration process: In the first round of iteration, at this time the third set PKSP={P1}, k=1, and P2 needs to be obtained on the basis of P1 (R1-R3-R4-R6).

[0112] Select R1 as the departure point: the path from the source node to the departure point is empty; the path R1-R3 needs to be eliminated, and no nodes need to be eliminated; run the SPF algorithm with R1 as the source node, generate the shortest path from the departure point to the destination node as R1-R2-R4-R6; splice out the complete path R1-R2-R4-R6, calculate the cost of this path as 8, and put it into the fourth set; Select R3 as the departure point: the path from the source node to the departure point is R1-R3; the path R3-R4 needs to be eliminated, and the node R1 needs to be eliminated; run the SPF algorithm with R3 as the source node, generate the shortest path from the departure point to the destination node as R3-R5-R6, splice out the complete path R1-R3-R5-R6, calculate the cost of this path as 7, and put it into the fourth set; Select R4 as the deviation point: the path from the source node to the deviation point is R1-R3-R4; the path R4-R6 needs to be removed, and nodes R1 and R3 need to be removed; run the SPF algorithm with R4 as the source node to generate the shortest path from the deviation point to the destination node, which is R4-R5-R6. Concatenate the shortest path R1-R3-R4-R5-R6, calculate the cost of this path as 8, and put it into the fourth set; Traverse all candidate paths in the fourth set T, and find that the path R1-R3-R5-R6 has the smallest cost. Calculate the overlap between this path and P1 O=1 / (3+3-1)=20%<preset overlap threshold Omax, remove it from the fourth set T, and add it to PKSP as the second shortest path P2.

[0113] Let k=2, and start the next iteration.

[0114] The second iteration follows a similar process to the first iteration, ultimately adding the path R1-R2-R4-R6 as P3 to PKSP, and setting k=3.

[0115] The iteration terminates when k=K. The final paths output from PKSP are P1 (R1-R3-R4-R6, multi-factor cost score of 5), P2 (R1-R3-R5-R6, multi-factor cost score of 7), and P3 (R1-R2-R4-R6, multi-factor cost score of 8). P2 and P3 are both the second shortest paths.

[0116] Based on the same disclosed concept, this disclosure also provides a communication path determination device, as shown in the following embodiments. Since the principle by which the communication path determination device solves the problem is similar to that of the above method embodiments, the implementation of the communication path determination device can refer to the implementation of the above method embodiments, and repeated details will not be elaborated further.

[0117] Figure 9 This diagram illustrates a communication path determination device according to an embodiment of the present disclosure, such as... Figure 9 As shown, the communication path determination device may include: The acquisition unit 901 is configured to acquire the failure probability and bandwidth of each communication link between the communication source node and the communication destination node; The first determining unit 902 is configured to determine the bandwidth overhead score and availability overhead score of each communication link based on the failure probability and bandwidth of each communication link. The second determining unit 903 is configured to determine the multi-factor cost score of each communication link based on the bandwidth cost score and availability cost score of each communication link. The third determining unit 904 is configured to determine the first shortest path between the communication source node and the communication destination node based on the multi-factor overhead score of each communication link.

[0118] In some exemplary embodiments, the first determining unit 902 is further configured to determine the availability score of each communication link based on the failure probability of each communication link; determine the bandwidth-availability index of each communication link based on the availability score and bandwidth of each communication link; determine the bandwidth overhead score of each communication link based on the bandwidth-availability index of each communication link; and determine the availability overhead score of each communication link based on the availability score of each communication link.

[0119] In some exemplary embodiments, the second determining unit 903 is further configured to determine the multi-factor overhead score of each communication link based on the first weight corresponding to the bandwidth overhead score and the bandwidth overhead score of each communication link, and the second weight corresponding to the availability overhead score and the availability overhead score of each communication link.

[0120] In some exemplary embodiments, the second determining unit 903 is further configured to collect the average link load rate and average availability score of all communication links in the communication network in real time; when the average link load rate is greater than a preset load rate threshold, the first weight is increased by a first step size until the first threshold is reached; when the average availability is greater than a preset availability threshold, the second weight is increased by a second step size until the second threshold is reached.

[0121] In some exemplary embodiments, each communication link is a single physical link or a physical link aggregation group, wherein a physical link aggregation group includes multiple single physical links; the availability score of a physical link aggregation group is the cumulative product of the availability scores of all single physical links in the physical link aggregation group, and the availability score of a single physical link is determined by the difference between the number of units and the failure probability of the single physical link; the bandwidth-availability index of a physical link aggregation group is the cumulative value of the bandwidth-availability index of all single physical links in the physical link aggregation group, and the bandwidth-availability index of a single physical link is determined by the product of the number of units, the availability score of the single physical link, and the bandwidth.

[0122] In some exemplary embodiments, the second determining unit 903 is further configured to set a first set and a second set, wherein the first set initially contains only the communication source node, and the second set initially contains other nodes besides the communication source node; select the first node with the smallest distance from the second set and move it into the first set, wherein the distance of the first node is positively correlated with the multi-factor cost score of the communication link between the communication source node and the first node; traverse all neighbor nodes corresponding to the communication links of the first node, skipping any neighbor node already in the first set; if the neighbor node is not in the first set, and if the distance of the first node and the sum of the multi-factor cost scores of the communication links between the first node and the neighbor node are less than the distance of the neighbor node, update the distance of the neighbor node to the sum of the distance of the first node and the multi-factor cost scores of the communication links between the first node and the neighbor node, and record the predecessor node of the neighbor node as the first node in the predecessor node array; repeat the above first iteration process until the second set is empty, and generate a first shortest path based on the final predecessor node array.

[0123] In some exemplary embodiments, the second determining unit 903 is also configured to determine multiple second shortest paths between the communication source node and the communication destination node based on the multi-factor overhead scores of each communication link and the first shortest path.

[0124] In some exemplary embodiments, the second determining unit 903 is further configured to set a third set and a fourth set, wherein the third set initially contains only the first shortest path and the fourth set is initially an empty set; traverse all nodes on the k-th shortest path in the third set except for the communication destination node as deviation nodes, and perform the following path generation operation on each deviation node, where k is initially 1 and k is the addition sequence number of the path in the third set: extract the prefix sub-path from the communication source node to the deviation node on the k-th shortest path; remove all communication links originating from the deviation node in the third set, and remove all communication links from the prefix sub-path except for the deviation node. There is a node; starting from the deviation node and proceeding to the communication destination node, perform the first iteration process to obtain the suffix sub-path from the deviation node to the communication destination node; concatenate the prefix sub-path and the suffix sub-path to generate a candidate path, and add the candidate path to the fourth set; add the candidate path with the smallest distance in the fourth set to the third set, where the distance of the candidate path is the sum of the multi-factor cost scores of all communication links in the candidate path, and update k with the value of k plus 1; repeat the above second iteration process until the number of paths in the third set reaches the preset number, and use the paths in the third set other than the first shortest path as the second shortest path.

[0125] In some exemplary embodiments, the second determining unit 903 is further configured to perform the following loop: calculate the link overlap between the candidate path and the k-th shortest path; if the link overlap is greater than a preset overlap threshold, remove the candidate path from the fourth set and reselect the next candidate path with the smallest distance; if the link overlap is not greater than the preset overlap threshold, add the candidate path to the third set and exit the loop.

[0126] In some exemplary embodiments, the second determining unit 903 is further configured to, during the execution of the first iteration, terminate the first iteration process of the deviation node and jump to the next deviation node if, during the execution of the first iteration, the bandwidth-availability index of all communication links in the latest suffix subpath corresponding to the deviation node is less than the minimum bandwidth score of the user service, or the availability score of all communication links in the latest suffix subpath corresponding to the deviation node is less than the minimum availability score of the user service.

[0127] In some exemplary embodiments, the first determining unit 902 is further configured to traverse each communication link: if the bandwidth-availability index of the communication link is less than the minimum bandwidth score of the user service, or the availability score of the communication link is less than the minimum availability score of the user service, then the communication link is removed from the list.

[0128] Those skilled in the art will understand that various aspects of this disclosure can be implemented as a system, method, or program product. Therefore, various aspects of this disclosure can be specifically implemented in the following forms: a completely hardware implementation, a completely software implementation (including firmware, microcode, etc.), or a combination of hardware and software aspects, collectively referred to herein as a "circuit," "module," or "system."

[0129] The following reference Figure 10 To describe an electronic device 1000 according to such an embodiment of the present disclosure. Figure 10 The electronic device 1000 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.

[0130] like Figure 10 As shown, the electronic device 1000 is presented in the form of a general-purpose computing device. The components of the electronic device 1000 may include, but are not limited to: at least one processor 1010, at least one memory 1020, and a bus 1030 connecting different system components (including memory 1020 and processor 1010).

[0131] The memory stores program code that can be executed by the processor 1010, causing the processor 1010 to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure. For example, the processor 1010 can perform the following steps of the above method embodiments: obtaining the failure probability and bandwidth of each communication link between the communication source node and the communication destination node; determining the bandwidth overhead score and availability overhead score of each communication link based on the failure probability and bandwidth of each communication link; determining the multi-factor overhead score of each communication link based on the bandwidth overhead score and availability overhead score of each communication link; and determining the first shortest path between the communication source node and the communication destination node based on the multi-factor overhead score of each communication link.

[0132] The memory 1020 may include a readable medium in the form of volatile memory, such as random access memory (RAM) 10201 and / or cache memory 10202, and may further include read-only memory (ROM) 10203.

[0133] The memory 1020 may also include a program / utility 10204 having a set (at least one) of program modules 10205, such program modules 10205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of these examples may include an implementation of a network environment.

[0134] Bus 1030 can represent one or more of several types of bus structures, including a memory bus or memory controller, peripheral bus, graphics acceleration port, processor, or a local bus using any of the various bus structures.

[0135] Electronic device 1000 can also communicate with one or more external devices 1040 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more networks that enable users to interact with electronic device 1000, and / or with any device that enables electronic device 1000 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 1050. Furthermore, electronic device 1000 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 1060. As shown, network adapter 1060 communicates with other modules of electronic device 1000 via bus 1030. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 1000, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0136] In the disclosed exemplary embodiments, a computer-readable storage medium is also provided, which may be a readable signal medium or a readable storage medium.

[0137] In some possible implementations, various aspects of this disclosure may also be implemented as a program product comprising program code that, when run on a terminal device, causes the terminal device to perform the steps described in the foregoing “Detailed Description” section of this specification according to various exemplary embodiments of this disclosure.

[0138] More specific examples of computer-readable storage media in this disclosure may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0139] In this disclosure, a computer-readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of transmitting, propagating, or transmitting a program for use by or in connection with an instruction execution system, apparatus, or device.

[0140] Optionally, the program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.

[0141] In practical implementation, program code for performing the operations of this disclosure can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's computing device, partially on a terminal device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0142] This disclosure provides a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform a communication path determination method provided in various alternative embodiments of this disclosure.

[0143] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0144] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.

[0145] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile terminal, or network device, etc.) to execute the methods according to the embodiments of this disclosure.

[0146] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the disclosure herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope of this disclosure is indicated by the appended claims.

Claims

1. A method for determining a communication path, characterized in that, include: Obtain the failure probability and bandwidth of each communication link between the communication source node and the communication destination node; Based on the failure probability and bandwidth of each communication link, determine the bandwidth overhead score and availability overhead score of each communication link; Based on the bandwidth overhead score and availability overhead score of each communication link, the multi-factor overhead score of each communication link is determined. Based on the multi-factor cost scores of each communication link, the first shortest path between the communication source node and the communication destination node is determined.

2. The method according to claim 1, characterized in that, The determination of bandwidth overhead score and availability overhead score for each communication link based on the failure probability and bandwidth of each link includes: Based on the failure probability of each communication link, the availability score of each communication link is determined; Based on the availability score and bandwidth of each communication link, the bandwidth-availability index of each communication link is determined; Based on the bandwidth-availability index of each communication link, determine the bandwidth overhead score of each communication link; Based on the availability score of each communication link, the availability cost score of each communication link is determined.

3. The method according to claim 1, characterized in that, The determination of the multi-factor cost score for each communication link based on the bandwidth cost score and availability cost score of each communication link includes: Based on the first weight corresponding to the bandwidth overhead score and the bandwidth overhead score of each communication link, and the second weight corresponding to the availability overhead score and the availability overhead score of each communication link, the multi-factor overhead score of each communication link is determined.

4. The method according to claim 3, characterized in that, The method further includes: Real-time acquisition of average link load rate and average availability score of all communication links in the communication network; When the average link load rate is greater than the preset load rate threshold, the first weight is increased by the first step length until the first threshold is reached. When the average availability is greater than the preset availability threshold, the second weight is increased by the second step size until the second threshold is reached.

5. The method according to claim 2, characterized in that, Each communication link is a single physical link or a group of physical links, wherein the group of physical links includes multiple single physical links; The availability score of the physical link aggregation group is the cumulative product of the availability scores of all individual physical links in the physical link aggregation group. The availability score of an individual physical link is determined by the difference between the number of units and the failure probability of that individual physical link. The bandwidth-availability index of the physical link aggregation group is the sum of the bandwidth-availability indices of all individual physical links in the physical link aggregation group. The bandwidth-availability index of an individual physical link is determined by the product of the number of units and the availability score and bandwidth of that individual physical link.

6. The method according to claim 1, characterized in that, The determination of the multi-factor cost score for each communication link based on the bandwidth cost score and availability cost score of each communication link includes: Set up a first set and a second set. The first set initially contains only the communication source node, and the second set initially contains other nodes besides the communication source node. Select the first node with the smallest distance from the second set and move it into the first set, wherein the distance of the first node is positively correlated with the multi-factor overhead score of the communication link between the communication source node and the first node; Iterate through all the neighboring nodes corresponding to the communication links of the first node, and skip if the neighboring node is already in the first set. If the neighboring node is not in the first set, and if the sum of the distance of the first node and the multi-factor cost score of the communication link between the first node and the neighboring node is less than the distance of the neighboring node, then the distance of the neighboring node is updated to the sum of the distance of the first node and the multi-factor cost score of the communication link between the first node and the neighboring node, and the predecessor of the neighboring node is recorded as the first node in the predecessor node array. Repeat the first iteration process described above until the second set is empty, and generate the first shortest path based on the final predecessor node array.

7. The method according to claim 1 or 6, characterized in that, After determining the multi-factor cost score of each communication link based on its bandwidth cost score and availability cost score, the method further includes: Based on the multi-factor cost scores of each communication link and the first shortest path, multiple second shortest paths are determined between the communication source node and the communication destination node.

8. The method according to claim 7, characterized in that, Set a third set and a fourth set. The third set initially contains only the first shortest path, and the fourth set is initially an empty set. The determination of multiple second shortest paths between the communication source node and the communication destination node based on the multi-factor cost scores of each communication link and the first shortest path includes: Traverse all nodes on the k-th shortest path in the third set, excluding the communication destination node, as deviation nodes. Perform the following path generation operation on each deviation node, where k is initially 1 and is the addition index of the path in the third set: Extract the prefix sub-path from the communication source node to the offset node on the k-th shortest path; Remove all communication links originating from the offset node in the third set, and remove all nodes in the prefix sub-path except for the offset node; Starting from the offset node and proceeding to the communication destination node, perform the first iteration process to obtain the suffix sub-path from the offset node to the communication destination node; The prefix sub-path and the suffix sub-path are concatenated to generate a candidate path, and the candidate path is added to the fourth set; The candidate path with the smallest distance in the fourth set is added to the third set, where the distance of the candidate path is the sum of the multi-factor cost scores of all communication links in the candidate path, and k is updated with the value of k plus 1. Repeat the second iteration process described above until the number of paths in the third set reaches a preset number, and then use the paths in the third set other than the first shortest path as the second shortest path.

9. The method according to claim 8, characterized in that, Adding the candidate path with the smallest distance in the fourth set to the third set includes: Execute the following loop: Calculate the link overlap between the candidate path and the k-th shortest path; If the link overlap is greater than a preset overlap threshold, the candidate path is removed from the fourth set and the next candidate path with the smallest distance is selected. If the link overlap is not greater than the preset overlap threshold, then the candidate path is added to the third set and the loop is exited.

10. The method according to claim 8, characterized in that, The method further includes: During the first iteration, if the bandwidth-availability index of all communication links in the latest suffix subpath corresponding to the deviation node is less than the minimum bandwidth score of the user service, or the availability score of all communication links in the latest suffix subpath corresponding to the deviation node is less than the minimum availability score of the user service, then the first iteration process of the deviation node is terminated and the process jumps to the next deviation node.

11. The method according to claim 2, characterized in that, The method further includes: Traverse each communication link: If the bandwidth-availability index of the communication link is less than the minimum bandwidth score of the user service, or the availability score of the communication link is less than the minimum availability score of the user service, then remove the communication link from the list.

12. A communication path determination device, characterized in that, include: The acquisition unit is configured to acquire the failure probability and bandwidth of each communication link between the communication source node and the communication destination node; The first determining unit is configured to determine the bandwidth overhead score and availability overhead score of each communication link based on the failure probability and bandwidth of each communication link. The second determining unit is configured to determine the multi-factor cost score of each communication link based on the bandwidth cost score and availability cost score of each communication link. The third determining unit is configured to determine the first shortest path between the communication source node and the communication destination node based on the multi-factor overhead score of each communication link.

13. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to execute the method of any one of claims 1-11 by executing the executable instructions.

14. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method described in any one of claims 1-11.

15. A computer program product comprising computer instructions stored in a computer-readable storage medium, wherein the computer instructions, when executed by a processor, implement the operation instructions of the method according to any one of claims 1-11.