Network path selection method and apparatus, network device, medium and program product

CN119276773BActive Publication Date: 2026-09-22CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310822065.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-05
Publication Date
2026-09-22
Estimated Expiration
2043-07-05

AI Technical Summary

Technical Problem

[0004]但是,上述网络路径选择方式难以满足复杂的业务质量要求

Benefits of technology

[0036]上述网络路径选择方法、装置、网络设备、介质和程序产品,通过基于待传输的网络数据流对应的多个路径选择因素,确定各路径选择因素所分别对应的多条最短网络路径,而后,基于各路径选择因素所分别对应的多条最短网络路径,确定网络数据流对应的最短路径拓扑,再基于最短路径拓扑确定目标网络路径,并基于目标网络路径传输网络数据流,这样,由于实际的业务质量要求对时延、可靠性、抖动等均有要求,即业务质量要求对应的路径选择因素通常是多方面的,路径选择因素例如时延、可靠性、抖动等,本申请实施例在网络路径选择过程中考虑了多个路径选择因素,具体是对每个路径选择因素分别确定最短网络路径来构成最短路径拓扑,再从该最短路径拓扑中选择最终的目标网络路径,相较于传统技术在网络路径选择过程中仅考虑单个路径选择因素而无法满足多方面的路径选择因素的约束,导致难以满足复杂的业务质量要求而言,本申请实施例能够提升最优路径的计算能力,满足实际业务中复杂的业务质量要求。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119276773B_ABST
    Figure CN119276773B_ABST
Patent Text Reader

Abstract

The application relates to a network path selection method and device, a network equipment, a medium and a program product. The method comprises the following steps: determining a plurality of shortest network paths corresponding to each path selection factor based on a plurality of path selection factors corresponding to a network data stream to be transmitted; determining a shortest path topology corresponding to the network data stream based on the plurality of shortest network paths corresponding to each path selection factor; determining a target network path based on the shortest path topology, and transmitting the network data stream based on the target network path. The method can improve the calculation ability of the optimal path and meet the complex service quality requirements in actual services.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of network technology, and in particular to a network path selection method, apparatus, network device, medium, and program product. Background Technology

[0002] With the rapid development of network technology, more and more emerging services are constantly appearing, such as immersive VR (Virtual Reality) / AR (Augmented Reality), live streaming, and cloud gaming. The network data streams of these services usually require more stringent SLA (Service Level Agreement) guarantees, such as low latency guarantees.

[0003] Therefore, network devices on the network side need to select appropriate network paths for network data flows. In related technologies, the shortest network path is typically calculated for a given path selection factor, and then this shortest network path is used as the network path to carry the network data flow.

[0004] However, the above-mentioned network path selection method is difficult to meet complex service quality requirements. Summary of the Invention

[0005] This application provides a network path selection method, apparatus, network device, medium, and program product that can meet complex service quality requirements.

[0006] Firstly, embodiments of this application provide a network path selection method. The method includes:

[0007] Based on multiple path selection factors corresponding to the network data stream to be transmitted, determine multiple shortest network paths corresponding to each of the path selection factors.

[0008] Based on the multiple shortest network paths corresponding to each of the aforementioned path selection factors, the shortest path topology corresponding to the network data flow is determined.

[0009] The target network path is determined based on the shortest path topology, and the network data stream is transmitted based on the target network path.

[0010] In one embodiment, the number of network data streams is multiple, and transmitting the network data streams based on the target network path includes:

[0011] Obtain network transmission constraints and allocate transmission bandwidth to the target network path of each network data stream according to the network transmission constraints;

[0012] For each of the network data streams, the network data stream is transmitted through the target network path based on the transmission bandwidth allocated to the target network path.

[0013] In one embodiment, the network transmission constraints include at least one of the following:

[0014] The first network constraint condition is determined based on the transmission performance requirements of the network data stream;

[0015] The second network constraint is determined based on the network performance requirements of the target network to which the target network path belongs.

[0016] In one embodiment, determining multiple shortest network paths corresponding to each of the multiple path selection factors corresponding to the network data stream to be transmitted includes:

[0017] Using the shortest path algorithm, the shortest path search is performed in parallel for each of the path selection factors to obtain multiple shortest network paths corresponding to each of the path selection factors.

[0018] In one embodiment, the number of the multiple shortest network paths is positively correlated with the expected selection accuracy corresponding to the network path selection process.

[0019] In one embodiment, determining the target network path based on the shortest path topology includes:

[0020] A multi-factor route selection search is performed on the shortest path topology to obtain the target network path.

[0021] In one embodiment, the step of performing a multi-factor route selection search on the shortest path topology to obtain the target network path includes:

[0022] Based on the breadth-first search algorithm, a multi-factor route selection search is performed on the shortest path topology to obtain the target network path.

[0023] In one embodiment, the multi-factor route selection search based on the breadth-first search algorithm to obtain the target network path includes:

[0024] In the process of multi-factor route selection search based on the breadth-first search algorithm, the constraints corresponding to each of the path selection factors are used to prune each shortest network path in the shortest path topology to obtain the target network path.

[0025] In one embodiment, the step of performing a multi-factor route selection search on the shortest path topology to obtain the target network path includes:

[0026] A multi-factor route selection search is performed on the shortest path topology to obtain candidate paths corresponding to the network data flow;

[0027] The candidate paths are filtered using the constraints corresponding to each of the path selection factors to obtain the target network path.

[0028] Secondly, embodiments of this application provide a network path selection device. The device includes:

[0029] The first determining module is used to determine multiple shortest network paths corresponding to each of the multiple path selection factors based on the network data stream to be transmitted.

[0030] The topology construction module is used to determine the shortest path topology corresponding to the network data flow based on the multiple shortest network paths corresponding to each of the path selection factors.

[0031] The second determining module is used to determine the target network path based on the shortest path topology and to transmit the network data stream based on the target network path.

[0032] Thirdly, embodiments of this application provide a network device. The network device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the steps of the method described in the first aspect above.

[0033] Fourthly, embodiments of this application provide a computer-readable storage medium. The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the method described in the first aspect above.

[0034] Fifthly, embodiments of this application provide a chip. The chip includes programmable logic circuitry and / or program instructions, which, when executed, implement the steps of the method described in the first aspect above.

[0035] Sixthly, embodiments of this application provide a computer program product. The computer program product includes a computer program that, when executed by a processor, implements the steps of the method described in the first aspect above.

[0036] The aforementioned network path selection method, apparatus, network device, medium, and program product determine multiple shortest network paths corresponding to each path selection factor based on multiple path selection factors corresponding to the network data stream to be transmitted. Then, based on the multiple shortest network paths corresponding to each path selection factor, the shortest path topology corresponding to the network data stream is determined. Finally, the target network path is determined based on the shortest path topology, and the network data stream is transmitted based on the target network path. In this way, since actual service quality requirements have requirements for latency, reliability, jitter, etc., the path selection factors corresponding to service quality requirements are usually multifaceted, such as latency, reliability, jitter, etc. In the network path selection process, this application embodiment considers multiple path selection factors. Specifically, it determines the shortest network path for each path selection factor to form the shortest path topology, and then selects the final target network path from the shortest path topology. Compared with traditional technologies that only consider a single path selection factor in the network path selection process and cannot meet the constraints of multiple path selection factors, thus making it difficult to meet complex service quality requirements, this application embodiment can improve the calculation capability of the optimal path and meet the complex service quality requirements in actual services. Attached Figure Description

[0037] Figure 1 This is an application environment diagram of a network path selection method in one embodiment;

[0038] Figure 2 This is a diagram illustrating the application environment of the network path selection method in another embodiment;

[0039] Figure 3 This is a flowchart illustrating a network path selection method in one embodiment;

[0040] Figure 4 This is a schematic diagram of the network topology in another embodiment;

[0041] Figure 5 This is a schematic diagram of the shortest path topology corresponding to the network data flow in another embodiment;

[0042] Figure 6 This is a flowchart illustrating the transmission of network data streams based on a target network path in another embodiment;

[0043] Figure 7 This is a flowchart illustrating the network path selection method in another embodiment;

[0044] Figure 8 This is a flowchart illustrating step 303 in another embodiment;

[0045] Figure 9 This is a flowchart illustrating the network path selection method in another embodiment;

[0046] Figure 10 This is a structural block diagram of a network path selection device in one embodiment;

[0047] Figure 11 This is a diagram of the internal structure of a network device in one embodiment;

[0048] Figure 12 This is a schematic structural diagram of a chip in one embodiment. Detailed Implementation

[0049] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0050] First, a brief description will be given of the three possible implementation environments involved in the network path selection method provided in the embodiments of this application.

[0051] Figure 1 This is a schematic diagram illustrating a possible implementation environment for the network path selection method provided in this application embodiment. For example... Figure 1 As shown, the implementation environment may include at least one user terminal 102. Figure 1 Only one user terminal 102 and a network device 104 are shown as an example, and the user terminal 102 and the network device 104 transmit data over the network.

[0052] Among them, network equipment 104 can be access network equipment, which can be a base station (BTS) in Global System for Mobile communication (GSM) or Code Division Multiple Access (CDMA), a base station (NodeB, NB) in Wideband Code Division Multiple Access (WCDMA), an evolved Node B (eNB or eNodeB) in LTE, a relay station or access point, or a base station in a 5G network, etc., and is not limited here.

[0053] User terminal 102 can be a wireless terminal, which can be a device providing voice and / or other service data connectivity to a user, a handheld device with wireless connectivity, or other processing devices connected to a wireless modem. The wireless terminal can communicate with one or more core networks via a Radio Access Network (RAN). The wireless terminal can be a mobile terminal, such as a mobile phone (or "cellular" phone) or a computer with a mobile terminal, for example, a portable, pocket-sized, handheld, computer-embedded, or vehicle-mounted mobile device, which exchanges voice and / or data with the radio access network. The wireless terminal can also be referred to as a system, subscriber unit, subscriber station, mobile station, mobile, remote station, remote terminal, access terminal, user terminal, user agent, user device, or user equipment, without limitation herein.

[0054] exist Figure 1 In the implementation environment shown, network device 104 can receive the network data stream to be transmitted sent by user equipment 102. Then, based on multiple path selection factors corresponding to the network data stream, network device 104 determines multiple shortest network paths corresponding to each path selection factor. Based on the multiple shortest network paths corresponding to each path selection factor, network device 104 determines the shortest path topology corresponding to the network data stream. Based on the shortest path topology, network device 104 determines the target network path and transmits the network data stream based on the target network path.

[0055] Figure 2 This is a schematic diagram illustrating another possible implementation environment for the network path selection method provided in the embodiments of this application. For example... Figure 2 As shown, the implementation environment may include a first network device 202 and a second network device 204, and the first network device 202 and the second network device 204 transmit data through a network.

[0056] The first network device 202 can be an access network device. For a definition of access network devices, please refer to the relevant description above; it will not be repeated here. The second network device 204 can be a core network device, such as a server or router.

[0057] exist Figure 2In the implementation environment shown, the second network device 204 can receive the network data stream to be transmitted sent by the first network device 202. Then, based on multiple path selection factors corresponding to the network data stream, the second network device 204 determines multiple shortest network paths corresponding to each path selection factor. Based on the multiple shortest network paths corresponding to each path selection factor, the second network device 204 determines the shortest path topology corresponding to the network data stream. Based on the shortest path topology, the second network device 204 determines the target network path and transmits the network data stream based on the target network path.

[0058] Of course, the implementation environment of the network path selection method provided in this application embodiment may also include only a network device. The network device may be an access network device or a core network device. The network device generates a network data stream to be transmitted. Then, based on multiple path selection factors corresponding to the network data stream, the network device determines multiple shortest network paths corresponding to each path selection factor. Based on the multiple shortest network paths corresponding to each path selection factor, the network device determines the shortest path topology corresponding to the network data stream. Based on the shortest path topology, the network device determines the target network path and transmits the network data stream based on the target network path.

[0059] With the rapid development of network technology, more and more emerging services are constantly appearing, such as immersive VR (Virtual Reality) / AR (Augmented Reality), live streaming, and cloud gaming. The network data streams of these real-world services typically have strict quality of service requirements, or SLA (Service Level Agreement) guarantees, such as low latency, high bandwidth, and high reliability.

[0060] Therefore, network devices on the network side need to select appropriate network paths to route network data flows. In traditional technologies, in response to SLA guarantees, the shortest network path is usually calculated for a path selection factor. Specifically, traditional shortest path algorithms (such as Dijkstra's algorithm, Bellman-Ford algorithm, K-shortest path algorithm, etc.) are used to calculate the shortest network path for a certain path selection factor (such as latency), and then this shortest network path is used as the network path to carry the network data flow.

[0061] However, traditional technologies only consider a single path selection factor in the network path selection process, which makes it difficult to meet the increasingly complex service quality requirements. The shortest network path selected cannot meet the constraints of multiple path selection factors.

[0062] In view of this, the embodiments of this application determine multiple shortest network paths corresponding to each path selection factor based on multiple path selection factors corresponding to the network data stream to be transmitted. Then, based on the multiple shortest network paths corresponding to each path selection factor, the shortest path topology corresponding to the network data stream is determined. Then, based on the shortest path topology, the target network path is determined, and the network data stream is transmitted based on the target network path. In this way, since the actual service quality requirements have requirements for latency, reliability, jitter, etc., the path selection factors corresponding to the service quality requirements are usually multifaceted, such as latency, reliability, jitter, etc. The embodiments of this application consider multiple path selection factors in the network path selection process. Specifically, the shortest network path is determined for each path selection factor to form the shortest path topology, and then the final target network path is selected from the shortest path topology. This can improve the calculation capability of the optimal path, thereby meeting the complex service quality requirements in actual services.

[0063] It should be noted that the beneficial effects or technical problems solved by the embodiments of this application are not limited to this one, but may also be other implicit or related problems. For details, please refer to the description of the embodiments below.

[0064] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.

[0065] In one embodiment, such as Figure 3 As shown, a network path selection method is provided. Taking the application of this method to a network device as an example, the network device can be... Figure 1 Network device 104 in the middle can also be Figure 2 The second network device 204 in the above-mentioned third implementation environment can also be a network device included in the above-mentioned third implementation environment, and no specific limitation is made here.

[0066] The method includes the following steps 301, 302 and 303:

[0067] Step 301: The network device determines the multiple shortest network paths corresponding to each path selection factor based on the multiple path selection factors corresponding to the network data stream to be transmitted.

[0068] A network data stream is a data stream that needs to be transmitted through the target network to which the network device belongs. For example, as mentioned above, if the network device is an access network device, the audio stream, video stream, etc., sent by the user terminal to the access network device can be the aforementioned network data stream.

[0069] Alternatively, the network data stream can also be generated by the network device itself, and so on.

[0070] When a network device receives a network data stream, it needs to select a "suitable" network path within the target network to route the traffic, i.e., to transmit the network data stream. "Suitable" can mean that the selected network path meets various SLA (Service Level Agreement) requirements of the network data stream, i.e., service quality requirements, or it can consider the network performance requirements of the target network, and so on. In this embodiment, the network device first determines multiple path selection factors corresponding to the network data stream.

[0071] First, we will introduce the concept of path selection factors by way of example.

[0072] Path selection factors, also known as path choice parameters, are link attribute parameters in the target network that correspond one-to-one with various SLA guarantee requirements of the network data flow (a network link can refer to a network channel between two adjacent network nodes, and a network path may be formed by connecting multiple network links), such as latency, reliability, and jitter. It is understandable that different network links in the target network have different values ​​for their link attribute parameters; for example, link A and link B have different latencies.

[0073] Next, an exemplary description will be given of how network devices obtain multiple path selection factors corresponding to the network data stream.

[0074] For example, for network data streams, network devices can obtain resource status information of the target network through the network management system and related data acquisition system in the target network. This resource status information includes link attribute parameters, namely, fields such as latency, reliability, jitter, and utilization. By identifying the corresponding fields, network devices can determine the path selection factors.

[0075] After determining multiple path selection factors, the network device then determines the multiple shortest network paths corresponding to each path selection factor.

[0076] As one implementation method, the resource status information of the target network acquired by the network device may also include the network topology of the target network. For example, see [link to relevant documentation]. Figure 4 , Figure 4 This is a schematic diagram of an exemplary network topology.

[0077] In this network topology, any two network nodes (i.e. Figure 4 A network channel between the multiple small circles shown is a network link, and at least one network path from the "start point" to the "end point" constitutes a network path.

[0078] For each path selection factor, such as latency, the network device performs a shortest path search in the network topology to obtain multiple shortest network paths corresponding to that path selection factor. For example, K shortest network paths are calculated.

[0079] Continuing with latency as an example, it can be understood that when a network device searches for the shortest path in the network topology, it only considers latency. The resulting shortest network paths are the shortest network paths with the lowest latency in the network topology.

[0080] Step 302: The network device determines the shortest path topology corresponding to the network data flow based on the multiple shortest network paths corresponding to each path selection factor.

[0081] For a network data flow, calculate K shortest network paths for each path selection factor. Assuming there are m path selection factors, there are m*K shortest network paths. The network links in these m*K shortest network paths are combined to form a small network topology, which is the shortest path topology corresponding to the network data flow.

[0082] It should be noted that there may be duplicate paths among the m*K shortest network paths. In the process of forming the shortest path topology, only one duplicate shortest network path is represented. That is, duplicate shortest network paths are deduplicated in the process of forming the shortest path topology.

[0083] For example, see Figure 5 , Figure 5 This is an example of a shortest path topology corresponding to a network data flow. (Comparison) Figure 4 As can be seen from the network topology of the target network, the shortest path topology, which only includes multiple shortest network paths for each path selection factor, has a significantly smaller topology size compared to the overall network topology of the target network.

[0084] Step 303: The network device determines the target network path based on the shortest path topology and transmits network data streams based on the target network path.

[0085] Once the network device determines the shortest path topology, it can then determine the target network path within that shortest path topology.

[0086] For example, network devices can find paths in the shortest path topology that satisfy the constraints corresponding to each path selection factor. The constraints corresponding to each path selection factor are the various SLA guarantee requirements of the network data flow. In this way, the target network path is obtained, and then the network data flow can be transmitted based on the target network path.

[0087] It should be noted that in this embodiment of the application, the number of network data streams can be one or more. Wherein:

[0088] 1) If there is only one network data stream, then the network path selection method described in the above embodiment shall be used for network path selection.

[0089] 2) When there are multiple network data streams, the network device can execute the network path selection method of the above embodiment in parallel for each network data stream. In this way, the shortest path topology of each network data stream can be constructed in parallel, and the target network path of each network data stream can be determined in parallel based on each shortest path topology. This greatly improves the efficiency of network path selection.

[0090] Of course, when there are multiple network data streams, network path selection can also be performed by prioritizing each network data stream. For example, the network device can configure path selection priorities for each network data stream according to preset configuration rules, and then execute the network path selection method described above for each network data stream in descending order of path selection priority to select the target network path.

[0091] For the same path selection priority, there may be multiple network data streams. For multiple network data streams under the same path selection priority, the network device can also execute the network path selection method of the above embodiment in parallel.

[0092] The above embodiments determine multiple shortest network paths corresponding to each path selection factor based on multiple path selection factors corresponding to the network data stream to be transmitted. Then, based on the multiple shortest network paths corresponding to each path selection factor, the shortest path topology corresponding to the network data stream is determined. Finally, the target network path is determined based on the shortest path topology, and the network data stream is transmitted based on the target network path. In this way, since actual service quality requirements have requirements for latency, reliability, jitter, etc., the path selection factors corresponding to service quality requirements are usually multifaceted, such as latency, reliability, jitter, etc. In the network path selection process, this application embodiment considers multiple path selection factors. Specifically, the shortest network path is determined for each path selection factor to form the shortest path topology, and then the final target network path is selected from the shortest path topology. Compared with traditional technologies that only consider a single path selection factor in the network path selection process and cannot meet the constraints of multiple path selection factors, thus making it difficult to meet complex service quality requirements, this application embodiment can improve the calculation capability of the optimal path and meet the complex service quality requirements in actual services.

[0093] In one embodiment, based on Figure 3 The illustrated embodiment can be found in [reference]. Figure 6 In this embodiment, there are multiple network data streams, and this embodiment relates to how network devices transmit network data streams based on a target network path. For example... Figure 6 As shown, the process includes steps 601 and 602:

[0094] Step 601: The network device obtains the network transmission constraints and allocates transmission bandwidth to the target network path of each network data stream according to the network transmission constraints.

[0095] In actual network transmission, bandwidth allocation is involved. On the one hand, network operators need to comprehensively consider the network status of the entire target network, i.e., the network performance requirements of the target network (e.g., reducing network latency, improving network utilization, load balancing, etc.), to allocate bandwidth for each target network path of each network data stream. It should be noted that for a single network data stream, there may be multiple target network paths. On the other hand, each network data stream also has transmission performance requirements, such as bandwidth requirements.

[0096] Based on this, the network device obtains the network transmission constraints and allocates transmission bandwidth to the target network path of each network data stream according to the network transmission constraints.

[0097] As one implementation method, the network transmission constraints include at least one of the following: a first network constraint determined based on the transmission performance requirements of the network data stream; and a second network constraint determined based on the network performance requirements of the target network to which the target network path belongs. The first network constraint characterizes the transmission performance requirements of the network data stream, and the second network constraint characterizes the network performance requirements of the target network. The network performance requirements can be one or more network performance indicators, such as overall network operating cost, utilization rate, latency, etc. The resource status information of the target network obtained by the network device in the above embodiments can include one or more network performance indicators.

[0098] In this embodiment of the application, the network device can perform linear programming based on the first network constraint and the second network constraint to obtain the final transmission bandwidth allocated to the target network path of each network data stream.

[0099] For example, a network device can substitute the bandwidth requirement in the first network constraint of the network data flow as a variable into the objective function, and use linear programming to solve for the overall optimization objective, which is the minimum latency objective of the target network in the second network constraint.

[0100] It should be noted that the above embodiments are illustrated by using linear programming to allocate transmission bandwidth to the target network path of each network data stream. In other embodiments, network devices may also use heuristic algorithms (such as greedy algorithms, genetic algorithms, simulated annealing algorithms, etc.) or deep reinforcement learning algorithms to achieve optimal bandwidth allocation.

[0101] Step 602: For each network data stream, the network device transmits the network data stream through the target network path based on the transmission bandwidth allocated for the target network path.

[0102] After the network device allocates transmission bandwidth to each target network path of each network data stream, it uses the allocated transmission bandwidth to transmit each network data stream through each target network path.

[0103] In the transmission bandwidth allocation of this application embodiment, the overall network objectives (reflected by the second network constraints) are considered, such as load balancing, cost reduction, and latency reduction. Furthermore, the transmission performance requirements of network data streams can be combined with heuristic algorithms, linear programming, and deep reinforcement learning algorithms to dynamically adjust the bandwidth of each path of each network data stream. Based on path selection, the overall network performance is further optimized to achieve overall network performance optimization and improve the utilization rate of network resources.

[0104] In one embodiment, based on Figure 3 The illustrated embodiment can be found in [reference]. Figure 7 This embodiment relates to the process by which a network device determines multiple shortest network paths corresponding to each path selection factor based on multiple path selection factors corresponding to the network data stream to be transmitted. For example... Figure 7 As shown, step 301 includes Figure 7 Step 3011 shown:

[0105] Step 3011: The network device uses the shortest path algorithm to search for the shortest path in parallel for each path selection factor, and obtains multiple shortest network paths corresponding to each path selection factor.

[0106] In this embodiment of the application, there are multiple path selection factors corresponding to the network data stream. For multiple different path selection factors, the network device uses the shortest path algorithm in parallel to search for the shortest path for each path selection factor, thereby obtaining multiple shortest network paths for each path selection factor.

[0107] Taking latency as an example, when network devices search for the shortest path in the network topology, they only consider latency. The resulting shortest network paths are the shortest network paths with the minimum latency in the network topology.

[0108] Shortest path algorithms include Dijkstra's algorithm, Bellman-Ford algorithm, K-shortest path algorithm, etc. The specific type of shortest path selection algorithm is not restricted here.

[0109] Because the shortest path algorithm has low computational complexity, and because it searches for the shortest path in parallel for each path selection factor, it can improve the speed of shortest network path selection, thereby improving the overall path selection efficiency.

[0110] In addition, in this embodiment, the number of shortest network paths is positively correlated with the expected selection accuracy of the network path selection process. That is, the larger the K value of the K shortest network paths is set, the higher the selection accuracy of the network path selection.

[0111] In this embodiment, for each network data flow, a K value can be specifically set based on its desired selection accuracy. That is, the K values ​​for each network data flow may be the same or different. The desired selection accuracy is determined by the SLA guarantee requirements of the network data flow. It can be understood that the higher the SLA guarantee requirements, the higher the desired selection accuracy, thus achieving more flexible network path selection.

[0112] In one embodiment, based on Figure 3 The illustrated embodiment can be found in [reference]. Figure 8 This embodiment relates to how a network device determines a target network path based on the shortest path topology. For example... Figure 8 As shown, step 303 may include Figure 8 Steps 801 and 802 are shown below:

[0113] Step 801: The network device performs a multi-factor route search on the shortest path topology to obtain the target network path.

[0114] On the shortest path topology formed by multiple shortest network paths, the network device performs path traversal, comprehensively considers multiple path selection factors, and selects the target network path.

[0115] The embodiments of this application perform multi-factor route selection search based on the constructed shortest path topology, using space to trade for time, that is, improving the computation speed of multi-factor route selection search by reducing the topology size, which can be applied to large-scale networks.

[0116] Step 802: The network device transmits network data streams based on the target network path.

[0117] Then, the network device transmits network data streams based on the target network path through the implementation methods described in the above embodiments.

[0118] The following describes the process by which network devices perform multi-factor routing searches on the shortest path topology to obtain the target network path.

[0119] In one possible implementation of step 801, the network device can perform multi-factor routing search on the shortest path topology based on the breadth-first search algorithm to obtain the target network path, thus realizing the process of step 801.

[0120] Breadth-first search (BFS) is one of the simplest graph search algorithms. It is a blind search method that aims to systematically expand and examine all nodes in the graph to find the result.

[0121] In this embodiment, the idea of ​​breadth-first search algorithm is used to comprehensively consider multiple path selection factors and traverse each network node in the shortest path topology.

[0122] During the traversal, Pareto optimal path conditions need to be considered for constraint pruning. The Pareto optimal path set is defined as a set of paths that do not dominate each other. For example, path p1 is not dominated by path p2, meaning that there exists a path selection factor such that the weight of path p1 with respect to that factor is strictly better than that of p2.

[0123] In this embodiment of the application, when traversing the shortest path topology using the breadth-first search algorithm, when a network node Vi is found, the following judgment is made:

[0124] 1) If the current network path from the starting network node to network node Vi is dominated by a path in the Pareto optimal path set leading to network node Vi, then stop the continued expansion search of the current network path, thus achieving "pruning" of the current network path.

[0125] 2) If the current network path from the starting network node to the network node Vi is dominated by the path in the Pareto optimal path set of the ending network node, then stop the continued expansion search of the current network path, thus achieving "pruning" of the current network path.

[0126] In this way, by comprehensively considering multiple path selection factors, each network node is traversed in the shortest path topology, and path pruning is performed during the traversal process, and finally the Pareto optimal path set is calculated.

[0127] It is understandable that in the above multi-factor route selection search process, only the Pareto optimal path set is calculated. However, it is unknown whether the network paths in this Pareto optimal path set meet the SLA guarantee requirements of network data flow.

[0128] Therefore, network devices also need to further filter the Pareto optimal path set based on the constraints corresponding to each path selection factor (i.e., the SLA constraints corresponding to the SLA guarantee requirements of the network data flow), and select the path that meets the constraints as the target network path.

[0129] Furthermore, during the multi-factor routing search based on the breadth-first search algorithm, the network device can prune each shortest network path in the shortest path topology by utilizing the constraints corresponding to each path selection factor to obtain the target network path. This realizes the process of performing multi-factor routing search on the shortest path topology based on the breadth-first search algorithm to obtain the target network path.

[0130] The constraint corresponding to a path selection factor is the SLA guarantee requirement of the network data flow for that path selection factor. For example, if the path selection factor is latency, the constraint corresponding to the path selection factor is that the latency is less than 60ms. The constraints corresponding to multiple path selection factors represent the SLA guarantee requirements of the network data flow for each path selection factor, or SLA constraints.

[0131] During the multi-factor routing search process, network devices can use the constraints corresponding to each path selection factor as pruning conditions to prune paths that do not meet the constraints. In this way, all paths in the Pareto optimal path set will meet the constraints corresponding to each path selection factor. Therefore, the paths in the Pareto optimal path set can be directly used as target network paths, and the number of target network paths can be one or more.

[0132] It should be noted that the above embodiments are all illustrated using the breadth-first search algorithm for multi-factor route selection. In other possible implementations, other multi-factor route selection algorithms may also be selected.

[0133] In the above implementation of step 801, the determination and fusion of SLA constraints are performed during the multi-factor routing search process. In another possible implementation of step 801, the two can be separated, and the network device can execute the following steps A1 and A2 to achieve step 801:

[0134] Step A1: Perform a multi-factor route search on the shortest path topology to obtain candidate paths corresponding to the network data flow.

[0135] Step A2: Use the constraints corresponding to each path selection factor to filter the candidate paths and obtain the target network path.

[0136] In this embodiment, the network device first performs a multi-factor route selection search on the shortest path topology. The multi-factor route selection search method is similar to that in the previous embodiment. For example, it can be based on the breadth-first search algorithm. The difference from the previous embodiment is that in step A1, during the multi-factor route selection search on the shortest path topology, the SLA constraint condition is not judged, and the candidate path is obtained directly.

[0137] Then, after obtaining candidate paths, the network devices use the constraints corresponding to each path selection factor to filter the candidate paths, that is, to filter network paths that meet the SLA constraints, and obtain the final target network path.

[0138] The above embodiment obtains the Pareto optimal path set, i.e. candidate paths, through multi-factor routing search. Then, it adds a screening step for SLA constraints to explicitly select the network path that meets the SLA constraints as the final target network path, thus ensuring the SLA guarantee requirements of the service.

[0139] In one embodiment, a network path selection method is provided for a network device. Please refer to [the relevant documentation]. Figure 9 , Figure 9 This is a flowchart illustrating an exemplary network path selection method. The method includes:

[0140] Step a, for a network data stream (such as...) Figure 9 The network data streams shown (1, 2, ..., n) are used to perform parallel shortest path searches for each path selection factor corresponding to the network data streams using a shortest path algorithm, resulting in multiple shortest network paths corresponding to each path selection factor (e.g., ...). Figure 9 The diagram shows the K shortest network path 1, K shortest network path 2, ..., K shortest network path m for each network data stream, where K represents the number of shortest network paths.

[0141] The number of shortest network paths is positively correlated with the expected selection accuracy of the network path selection process.

[0142] Step b: Based on the multiple shortest network paths corresponding to each path selection factor, determine the shortest path topology corresponding to the network data flow.

[0143] Step c: Perform a multi-factor route search on the shortest path topology to obtain the target network path.

[0144] Step c can be implemented in either of the following two ways:

[0145] 1) Based on the breadth-first search algorithm, perform multi-factor route selection search on the shortest path topology to obtain the target network path.

[0146] In the process of multi-factor route selection search based on the breadth-first search algorithm, the constraints corresponding to each path selection factor are used to prune each shortest network path in the shortest path topology in order to obtain the target network path.

[0147] 2) such as Figure 9 The method shown first performs a multi-factor route search on the shortest path topology to obtain candidate paths corresponding to the network data flow. Then, it uses the constraints corresponding to each path selection factor to filter the candidate paths (i.e., Figure 9 (As shown in the SLA constraint condition judgment), the target network path is obtained.

[0148] Next, the network devices allocate transmission bandwidth based on each network data stream.

[0149] Step d: Obtain network transmission constraints and allocate transmission bandwidth to the target network path of each network data stream according to the network transmission constraints.

[0150] The number of network data streams is multiple.

[0151] Step e: For each network data stream, transmit the network data stream through the target network path based on the transmission bandwidth allocated to the target network path.

[0152] The network transmission constraints include at least one of the following:

[0153] The first network constraint is determined based on the transmission performance requirements of network data streams;

[0154] The second network constraint is determined based on the network performance requirements of the target network to which the target network path belongs.

[0155] It should be noted that there are also multi-factor routing methods in related technologies. For example, different path selection factors are assigned corresponding weights to form a new path selection factor, and then the shortest path is searched. However, this method is difficult to use in large-scale networks due to the poor accuracy of weight setting and the slow computation speed.

[0156] This application embodiment comprehensively considers multiple path selection factors, the constraints corresponding to the path selection factors and the network performance requirements of the target network, and constructs sub-topologies (i.e. shortest path topologies) for each network data flow. This not only satisfies the multiple SLA constraints of each network data flow for route selection, but also optimizes the overall network performance.

[0157] The following example illustrates an embodiment of this application.

[0158] Please combine Figure 4 and Figure 5 , Figure 4 The diagram shown is an exemplary target network topology.

[0159] for Figure 4 For each network link in the network, network devices obtain input based on three path selection factors: latency, normalized cost, and reliability. For example, network link 0-42 has a bandwidth of 100Gbps, a latency of 0.1ms, a normalized cost of 0.5, and a reliability of 0.9.

[0160] For a network data flow, the network device also needs to obtain the constraints of the network data flow for each path selection factor, i.e., SLA constraints, such as latency less than 60ms, normalized cost less than 5, and reliability greater than 0.95. The network device also needs to obtain the bandwidth requirement of the network data flow (i.e., the first network constraint), for example, a bandwidth requirement of 1.5Gbps (starting node 56, ending node 8), and obtain the overall network optimization objective of the target network: minimizing the maximum link utilization (i.e., the second network constraint).

[0161] Next, the network device selects a network path for the network data stream.

[0162] First, using the shortest path algorithm, shortest path searches are performed in parallel for the three path selection factors, resulting in multiple shortest network paths corresponding to each of the three path selection factors (assuming the K value in the shortest path algorithm is set to 3). Then:

[0163] The K-shortest network path for the network data stream with respect to latency is:

[0164] Path 1: ['56','21','68','44','3','32','64','8']

[0165] Path 2: ['56','21','16','44','3','32','64','8']

[0166] Path 3: ['56','21','68','44','59','3','32','64','8']

[0167] The K-shortest network path for the network data flow with respect to normalized cost is:

[0168] Path 1: ['56','21','68','44','3','32','64','8']

[0169] Path 2: ['56','21','68','44','59','3','32','64','8']

[0170] Path 3: ['56','21','68','41','51','3','32','64','8']

[0171] The network data flow has the following K-shortest network path with respect to reliability:

[0172] Path 1: ['56','21','68','41','69','39','64','8']

[0173] Path 2: ['56','21','68','41','51','39','64','8']

[0174] Path 3: ['56','21','68','41','69','39','55','64','8']

[0175] In this context, reliability is a multiplicative factor and should be as large as possible. Therefore, during the calculation process, the shortest path with respect to log(1 / reciprocal of reliability) is calculated to obtain the above-mentioned K shortest network path with respect to reliability.

[0176] These nine paths contain network links (some of which overlap) that form a sub-topology, i.e. Figure 5 The shortest path topology is shown.

[0177] exist Figure 5 A multi-factor route search is performed on the shortest path topology shown, such as a BFS multi-factor route search, to obtain the Pareto optimized path (i.e., the candidate path mentioned above):

[0178] Path 1('56','21','68','41','51','39','64','8'):{'latency':53.0,'network_cost':3.9,'reliability':0.9664578258517994}

[0179] Path 2('56','21','68','41','69','39','64','8'):{'latency':53.0,'network_cost':4.0,'reliability':0.9674369420424926}

[0180] Path 3('56','21','68','44','3','32','64','8'):{'latency':42.0,'network_cost':2.5,'reliability':0.9577480905440858}

[0181] Here, latency refers to time delay, and reliability refers to reliability.

[0182] Then, based on the SLA constraints, these candidate paths are filtered out. Only path 1 and path 2 meet the SLA constraints of the network data flow, so path 1 and path 2 are finally determined as the target network paths.

[0183] Repeat the above process to construct the shortest path topology and search for multiple factors for all network data flows. The network path selection process for multiple network data flows can be executed in parallel.

[0184] After the selection is completed, the bandwidth requirements corresponding to each target network path of each network data flow are used as variables, and linear programming is used to solve for the overall optimization objective: minimizing the maximum link utilization.

[0185] The linear programming model is as follows:

[0186]

[0187]

[0188]

[0189]

[0190]

[0191] Where, x kp Represents network data flow f k The traffic of the p-th target network path, δ ekp The value of f is: if the network data stream f k If the target network path p contains path e, then δ ekp It equals 1 if it is not equal to 0 otherwise. u represents the maximum link utilization, C e P represents the capacity of network link e. fk Represents network data flow f k The total number of target network paths.

[0192] Formulas 1 and 2 represent the basic transmission requirements of the target network, Formula 3 is the objective function for delay, Formula 4 is the objective function for normalized cost, and Formula 5 is the objective function for reliability.

[0193] Thus, after solving the linear programming problem, the final transmission bandwidth allocated to each target network path of each network data flow is obtained. For example, the bandwidth of the final target network path of the network data flow (starting node 60, ending node 8) is: 1Gbps for path 1 and 0.5Gbps for path 2.

[0194] It should be understood that although the steps in the flowchart above are shown sequentially as indicated by the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowchart above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps.

[0195] In one embodiment, such as Figure 10 As shown, a network path selection device is provided, comprising:

[0196] The first determining module 1001 is used to determine multiple shortest network paths corresponding to each of the multiple path selection factors based on the multiple path selection factors corresponding to the network data stream to be transmitted.

[0197] The topology construction module 1002 is used to determine the shortest path topology corresponding to the network data flow based on the multiple shortest network paths corresponding to each of the path selection factors.

[0198] The second determining module 1003 is used to determine the target network path based on the shortest path topology and to transmit the network data stream based on the target network path.

[0199] In one embodiment, the number of network data streams is multiple, and the second determining module 1003 includes:

[0200] The allocation unit is used to obtain network transmission constraints and allocate transmission bandwidth to the target network path of each network data stream according to the network transmission constraints.

[0201] A transmission unit is configured to transmit each of the network data streams through the target network path based on the transmission bandwidth allocated to the target network path.

[0202] In one embodiment, the network transmission constraints include at least one of the following:

[0203] The first network constraint condition is determined based on the transmission performance requirements of the network data stream;

[0204] The second network constraint is determined based on the network performance requirements of the target network to which the target network path belongs.

[0205] In one embodiment, the first determining module 1001 is specifically used to use a shortest path algorithm to perform shortest path searches in parallel for each of the path selection factors, and obtain multiple shortest network paths corresponding to each of the path selection factors.

[0206] In one embodiment, the number of the multiple shortest network paths is positively correlated with the expected selection accuracy corresponding to the network path selection process.

[0207] In one embodiment, the second determining module 1003 further includes:

[0208] The search unit is used to perform multi-factor route selection search on the shortest path topology to obtain the target network path.

[0209] In one embodiment, the search unit is specifically used to perform multi-factor route selection search on the shortest path topology based on the breadth-first search algorithm to obtain the target network path.

[0210] In one embodiment, the search unit is specifically used to prune each shortest network path in the shortest path topology by utilizing the constraints corresponding to each of the path selection factors during the multi-factor route selection search based on the breadth-first search algorithm, so as to obtain the target network path.

[0211] In one embodiment, the search unit is specifically used to perform multi-factor route selection search on the shortest path topology to obtain candidate paths corresponding to the network data flow; and to filter the candidate paths using the constraints corresponding to each of the path selection factors to obtain the target network path.

[0212] Specific limitations regarding the network path selection device can be found in the limitations of the network path selection method above, and will not be repeated here. Each module in the aforementioned network path selection device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in the computer device in hardware form, or stored in the memory of the computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0213] Figure 11 This is a schematic diagram of the network device provided in the embodiments of this application. Figure 11The network device 700 shown includes at least one processor 701, a memory 702, and at least one network interface 704. The various components in the access network device 700 are coupled together via a bus system 705. It is understood that the bus system 705 is used to implement communication between these components. In addition to a data bus, the bus system 705 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in… Figure 2 Various buses are designated as bus system 705. Additionally, embodiments of this application also include a transceiver 706, which may consist of multiple elements, including a transmitter and a receiver, providing a unit for communicating with various other devices over a transmission medium.

[0214] It is understood that the memory 702 in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DRRAM). The memory 702 of the systems and methods described in the embodiments of this application is intended to include, but is not limited to, these and any other suitable types of memory.

[0215] In some implementations, memory 702 stores executable modules or data structures, or subsets thereof, or extended sets thereof, such as operating system 7021. Operating system 7021 includes various system programs, such as a framework layer, core library layer, and driver layer, used to implement various basic business functions and handle hardware-based tasks.

[0216] In the embodiments of this application, by calling the program or instructions stored in memory 702, the processor is made to execute the steps of the method described in any of the above embodiments.

[0217] The methods disclosed in some or all of the above embodiments of this application can also be applied to processor 701, or implemented by processor 701, or implemented by processor 701 in conjunction with other components (e.g., transceivers). Processor 701 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in processor 701 or by instructions in the form of software. The processor 701 mentioned above may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this application can be directly embodied as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory 702, and processor 701 reads the information from memory 702 and, in conjunction with its hardware, completes the steps of the above method.

[0218] It is understood that the embodiments described in this application can be implemented using hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in this application, or combinations thereof.

[0219] For software implementation, the technology described in the embodiments of this application can be implemented by modules (e.g., procedures, functions, etc.) that perform the functions described in the embodiments of this application. The software code can be stored in memory and executed by processor 701. The memory can be implemented in processor 701 or external to processor 701.

[0220] In one embodiment, a network device is provided, including a memory and a processor, the memory storing a computer program, the processor executing the computer program to perform the following steps:

[0221] Based on multiple path selection factors corresponding to the network data stream to be transmitted, determine multiple shortest network paths corresponding to each of the path selection factors.

[0222] Based on the multiple shortest network paths corresponding to each of the aforementioned path selection factors, the shortest path topology corresponding to the network data flow is determined.

[0223] The target network path is determined based on the shortest path topology, and the network data stream is transmitted based on the target network path.

[0224] In one embodiment, the number of network data streams is multiple, and the processor, when executing the computer program, further performs the following steps:

[0225] Obtain network transmission constraints and allocate transmission bandwidth to the target network path of each network data stream according to the network transmission constraints;

[0226] For each of the network data streams, the network data stream is transmitted through the target network path based on the transmission bandwidth allocated to the target network path.

[0227] In one embodiment, the network transmission constraints include at least one of the following:

[0228] The first network constraint condition is determined based on the transmission performance requirements of the network data stream;

[0229] The second network constraint is determined based on the network performance requirements of the target network to which the target network path belongs.

[0230] In one embodiment, the processor, when executing the computer program, further performs the following steps:

[0231] Using the shortest path algorithm, the shortest path search is performed in parallel for each of the path selection factors to obtain multiple shortest network paths corresponding to each of the path selection factors.

[0232] In one embodiment, the number of the multiple shortest network paths is positively correlated with the expected selection accuracy corresponding to the network path selection process.

[0233] In one embodiment, the processor, when executing the computer program, further performs the following steps:

[0234] A multi-factor route selection search is performed on the shortest path topology to obtain the target network path.

[0235] In one embodiment, the processor, when executing the computer program, further performs the following steps:

[0236] Based on the breadth-first search algorithm, a multi-factor route selection search is performed on the shortest path topology to obtain the target network path.

[0237] In one embodiment, the processor, when executing the computer program, further performs the following steps:

[0238] In the process of multi-factor route selection search based on the breadth-first search algorithm, the constraints corresponding to each of the path selection factors are used to prune each shortest network path in the shortest path topology to obtain the target network path.

[0239] In one embodiment, the processor, when executing the computer program, further performs the following steps:

[0240] A multi-factor route selection search is performed on the shortest path topology to obtain candidate paths corresponding to the network data flow;

[0241] The candidate paths are filtered using the constraints corresponding to each of the path selection factors to obtain the target network path.

[0242] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:

[0243] Based on multiple path selection factors corresponding to the network data stream to be transmitted, determine multiple shortest network paths corresponding to each of the path selection factors.

[0244] Based on the multiple shortest network paths corresponding to each of the aforementioned path selection factors, the shortest path topology corresponding to the network data flow is determined.

[0245] The target network path is determined based on the shortest path topology, and the network data stream is transmitted based on the target network path.

[0246] In one embodiment, the number of network data streams is multiple, and the computer program, when executed by a processor, further implements the following steps:

[0247] Obtain network transmission constraints and allocate transmission bandwidth to the target network path of each network data stream according to the network transmission constraints;

[0248] For each of the network data streams, the network data stream is transmitted through the target network path based on the transmission bandwidth allocated to the target network path.

[0249] In one embodiment, the network transmission constraints include at least one of the following:

[0250] The first network constraint condition is determined based on the transmission performance requirements of the network data stream;

[0251] The second network constraint is determined based on the network performance requirements of the target network to which the target network path belongs.

[0252] In one embodiment, when the computer program is executed by the processor, it further performs the following steps:

[0253] Using the shortest path algorithm, the shortest path search is performed in parallel for each of the path selection factors to obtain multiple shortest network paths corresponding to each of the path selection factors.

[0254] In one embodiment, the number of the multiple shortest network paths is positively correlated with the expected selection accuracy corresponding to the network path selection process.

[0255] In one embodiment, when the computer program is executed by the processor, it further performs the following steps:

[0256] A multi-factor route selection search is performed on the shortest path topology to obtain the target network path.

[0257] In one embodiment, when the computer program is executed by the processor, it further performs the following steps:

[0258] Based on the breadth-first search algorithm, a multi-factor route selection search is performed on the shortest path topology to obtain the target network path.

[0259] In one embodiment, when the computer program is executed by the processor, it further performs the following steps:

[0260] In the process of multi-factor route selection search based on the breadth-first search algorithm, the constraints corresponding to each of the path selection factors are used to prune each shortest network path in the shortest path topology to obtain the target network path.

[0261] In one embodiment, when the computer program is executed by the processor, it further performs the following steps:

[0262] A multi-factor route selection search is performed on the shortest path topology to obtain candidate paths corresponding to the network data flow;

[0263] The candidate paths are filtered using the constraints corresponding to each of the path selection factors to obtain the target network path.

[0264] Figure 12 This is a schematic structural diagram of the chip according to an embodiment of this application. Figure 12 The chip 900 shown includes a processor 910, which can call and run computer programs from memory to implement the methods in the embodiments of this application.

[0265] Optionally, such as Figure 12 As shown, chip 900 may further include memory 920. Processor 910 can retrieve and run computer programs from memory 920 to implement the methods described in this embodiment.

[0266] The memory 920 can be a separate device independent of the processor 910, or it can be integrated into the processor 910.

[0267] Optionally, the chip 900 may also include an input interface 930. The processor 910 can control the input interface 930 to communicate with other devices or chips; specifically, it can acquire information or data sent by other devices or chips.

[0268] Optionally, the chip 900 may also include an output interface 940. The processor 910 can control the output interface 940 to communicate with other devices or chips, specifically, to output information or data to other devices or chips.

[0269] Optionally, the chip 900 can be applied to the communication device in the embodiments of this application, and the chip 900 can implement the corresponding processes implemented in the various methods of the embodiments of this application. For the sake of brevity, it will not be described in detail here.

[0270] It should be understood that the chip 900 mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.

[0271] This application also provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the following steps:

[0272] Based on multiple path selection factors corresponding to the network data stream to be transmitted, determine multiple shortest network paths corresponding to each of the path selection factors.

[0273] Based on the multiple shortest network paths corresponding to each of the aforementioned path selection factors, the shortest path topology corresponding to the network data flow is determined.

[0274] The target network path is determined based on the shortest path topology, and the network data stream is transmitted based on the target network path.

[0275] In one embodiment, the number of network data streams is multiple, and the computer program, when executed by a processor, further implements the following steps:

[0276] Obtain network transmission constraints and allocate transmission bandwidth to the target network path of each network data stream according to the network transmission constraints;

[0277] For each of the network data streams, the network data stream is transmitted through the target network path based on the transmission bandwidth allocated to the target network path.

[0278] In one embodiment, the network transmission constraints include at least one of the following:

[0279] The first network constraint condition is determined based on the transmission performance requirements of the network data stream;

[0280] The second network constraint is determined based on the network performance requirements of the target network to which the target network path belongs.

[0281] In one embodiment, when the computer program is executed by the processor, it further performs the following steps:

[0282] Using the shortest path algorithm, the shortest path search is performed in parallel for each of the path selection factors to obtain multiple shortest network paths corresponding to each of the path selection factors.

[0283] In one embodiment, the number of the multiple shortest network paths is positively correlated with the expected selection accuracy corresponding to the network path selection process.

[0284] In one embodiment, when the computer program is executed by the processor, it further performs the following steps:

[0285] A multi-factor route selection search is performed on the shortest path topology to obtain the target network path.

[0286] In one embodiment, when the computer program is executed by the processor, it further performs the following steps:

[0287] Based on the breadth-first search algorithm, a multi-factor route selection search is performed on the shortest path topology to obtain the target network path.

[0288] In one embodiment, when the computer program is executed by the processor, it further performs the following steps:

[0289] In the process of multi-factor route selection search based on the breadth-first search algorithm, the constraints corresponding to each of the path selection factors are used to prune each shortest network path in the shortest path topology to obtain the target network path.

[0290] In one embodiment, when the computer program is executed by the processor, it further performs the following steps:

[0291] A multi-factor route selection search is performed on the shortest path topology to obtain candidate paths corresponding to the network data flow;

[0292] The candidate paths are filtered using the constraints corresponding to each of the path selection factors to obtain the target network path.

[0293] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the methods described above. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, or optical storage, etc. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc.

[0294] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0295] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.

Claims

1. A network path selection method, characterized in that, The method includes: Using the shortest path algorithm, shortest path searches are performed in parallel for multiple path selection factors corresponding to the transmitted network data stream, resulting in multiple shortest network paths corresponding to each of the path selection factors; the path selection factors include latency, reliability, and jitter. Based on the multiple shortest network paths corresponding to each of the aforementioned path selection factors, the shortest path topology corresponding to the network data flow is determined. Based on the breadth-first search algorithm, a multi-factor route selection search is performed on the shortest path topology to obtain the target network path. Obtain network transmission constraints and allocate transmission bandwidth to the target network path of each network data stream according to the network transmission constraints; For each of the network data streams, the network data stream is transmitted through the target network path based on the transmission bandwidth allocated to the target network path, and there are multiple network data streams.

2. The method according to claim 1, characterized in that, The network transmission constraints include at least one of the following: The first network constraint condition is determined based on the transmission performance requirements of the network data stream; The second network constraint is determined based on the network performance requirements of the target network to which the target network path belongs.

3. The method according to claim 1, characterized in that, The number of the multiple shortest network paths is positively correlated with the expected selection accuracy of the network path selection process.

4. The method according to claim 1, characterized in that, The breadth-first search algorithm performs multi-factor route selection search on the shortest path topology to obtain the target network path, including: In the process of multi-factor route selection search based on the breadth-first search algorithm, the constraints corresponding to each of the path selection factors are used to prune each shortest network path in the shortest path topology to obtain the target network path.

5. The method according to claim 1, characterized in that, The process of performing a multi-factor route selection search on the shortest path topology to obtain the target network path includes: A multi-factor route selection search is performed on the shortest path topology to obtain candidate paths corresponding to the network data flow; The candidate paths are filtered using the constraints corresponding to each of the path selection factors to obtain the target network path.

6. A network path selection device, characterized in that, The device includes: The first determining module is used to perform shortest path searches in parallel for multiple path selection factors corresponding to the transmitted network data stream using a shortest path algorithm, and to obtain multiple shortest network paths corresponding to each of the path selection factors; the path selection factors include latency, reliability and jitter. The topology construction module is used to determine the shortest path topology corresponding to the network data flow based on the multiple shortest network paths corresponding to each of the path selection factors. The second determining module is used to perform multi-factor route selection search on the shortest path topology based on the breadth-first search algorithm to obtain the target network path; obtain network transmission constraints, and allocate transmission bandwidth to the target network path of each network data stream according to the network transmission constraints; for each network data stream, transmit the network data stream through the target network path based on the transmission bandwidth allocated to the target network path, wherein there are multiple network data streams.

7. The network path selection device according to claim 6, characterized in that, The second determining module further includes a search unit, which is used to perform multi-factor route selection search on the shortest path topology to obtain candidate paths corresponding to the network data flow; and to filter the candidate paths using the constraints corresponding to each of the path selection factors to obtain the target network path.

8. A network device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 5.

9. 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 steps of the method according to any one of claims 1 to 5.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Method and device for determining multicast path

    CN114978982A