Network path selection method and apparatus, network device, medium, and program product
By considering multiple path selection factors in network path selection, building the shortest path topology and selecting the target network path, the problem that single factor selection in the existing technology is difficult to meet multiple constraints, and the computing power and service of network path selection are improved Quality satisfaction.
Patent Information
- Application Number
- PCT/CN2023/139525
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-05
- Filing Date
- 2023-12-18
- Publication Date
- 2025-01-09
AI Technical Summary
The prior art only considers a single path selection factor in network path selection, making it difficult to meet complex service quality requirements, such as low latency, large bandwidth, high reliability, etc., and cannot meet the constraints of multiple path selection factors at the same time.
By determining multiple shortest network paths corresponding to each path selection factor based on multiple path selection factors corresponding to the network data flow to be transmitted, a shortest path topology is constructed, and the target network path is selected based on the topology, and multiple path selections are considered Factors such as delay, reliability, jitter, etc., path selection is performed using shortest path algorithm, width-first search, linear planning and other methods.
It improves the computing power of network path selection, meets complex service quality requirements, and can more effectively select appropriate paths in the network to transmit network data flow.
Smart Images

Figure CN2023139525_09012025_PF_FP_ABST
Abstract
Description
Network path selection method, device, network equipment, medium and program product
[0001] Related applications
[0002] This application claims priority to Chinese patent application number 2023108220653, filed on July 5, 2023, entitled “Network path selection method, apparatus, network equipment, medium and program product,” the entire text of which is hereby incorporated by reference. Technical Field
[0003] The present application relates to the field of network technology, and in particular to a network path selection method, apparatus, network equipment, medium, and program product. Background Art
[0004] With the rapid development of network technology, more and more emerging services are emerging, such as immersive VR (Virtual Reality) / AR (Augmented Reality), live streaming, and cloud gaming. The network data flows of these services often require more stringent SLA (Service Level Agreement) guarantees, such as low latency.
[0005] In view of this, the network device on the network side needs to select an appropriate network path for the network data flow in the network.
[0006] Summary of the Invention
[0007] In a first aspect, an embodiment of the present application provides a network path selection method. The method includes:
[0008] Determining, based on a plurality of path selection factors corresponding to the network data stream to be transmitted, a plurality of shortest network paths corresponding to each of the path selection factors;
[0009] Determining a shortest path topology corresponding to the network data flow based on a plurality of shortest network paths corresponding to each of the path selection factors;
[0010] A target network path is determined based on the shortest path topology, and the network data flow is transmitted based on the target network path.
[0011] In one embodiment, there are multiple network data flows, and transmitting the network data flows based on the target network path includes:
[0012] Acquiring network transmission constraints, and allocating transmission bandwidth to a target network path of each of the network data flows according to the network transmission constraints;
[0013] For each of the network data flows, the network data flow is transmitted through the target network path based on the transmission bandwidth allocated to the target network path.
[0014] In one embodiment, the network transmission constraint condition includes at least one of the following:
[0015] a first network constraint condition determined based on a transmission performance requirement of the network data flow;
[0016] A second network constraint condition is determined based on a network performance requirement of a target network to which the target network path belongs.
[0017] In one embodiment, the determining, based on a plurality of path selection factors corresponding to the network data flow to be transmitted, a plurality of shortest network paths corresponding to each of the path selection factors, includes:
[0018] By using the shortest path algorithm, the shortest path search is performed in parallel for each of the path selection factors to obtain a plurality of shortest network paths corresponding to each of the path selection factors.
[0019] In one embodiment, the number of the multiple shortest network paths is positively correlated with an expected selection accuracy corresponding to the network path selection process.
[0020] In one embodiment, determining the target network path based on the shortest path topology includes:
[0021] A multi-factor routing search is performed on the shortest path topology to obtain the target network path.
[0022] In one embodiment, performing a multi-factor routing search on the shortest path topology to obtain the target network path includes:
[0023] Based on a breadth-first search algorithm, a multi-factor routing search is performed on the shortest path topology to obtain the target network path.
[0024] In one embodiment, the multi-factor routing search is performed on the shortest path topology based on a breadth-first search algorithm to obtain the target network path, including:
[0025] In the process of performing multi-factor path selection search based on the breadth-first search algorithm, the constraints corresponding to the path selection factors are used to prune the shortest network paths in the shortest path topology to obtain the target network path.
[0026] In one embodiment, performing a multi-factor routing search on the shortest path topology to obtain the target network path includes:
[0027] Performing a multi-factor path selection search on the shortest path topology to obtain a candidate path corresponding to the network data flow;
[0028] The candidate paths are screened using the constraint conditions corresponding to the path selection factors to obtain the target network path.
[0029] In one embodiment, any one of a linear programming method, a greedy algorithm, a genetic algorithm, and a simulated annealing algorithm is used to allocate transmission bandwidth to a target network path of each network data flow according to the network transmission constraint condition.
[0030] In one embodiment, there are multiple network data flows, and the target network paths corresponding to the multiple network data flows are determined in parallel.
[0031] In one embodiment, there are multiple network data flows, and the method includes: configuring path selection priorities for the multiple network data flows according to preset configuration rules, and determining a target network path for each network data flow according to the path selection priority.
[0032] In a second aspect, an embodiment of the present application provides a network path selection device. The device includes:
[0033] A first determining module is configured to determine, based on a plurality of path selection factors corresponding to the network data stream to be transmitted, a plurality of shortest network paths corresponding to each of the path selection factors;
[0034] A topology construction module, configured to determine a shortest path topology corresponding to the network data flow based on a plurality of shortest network paths corresponding to each of the path selection factors;
[0035] The second determining module is configured to determine a target network path based on the shortest path topology, and transmit the network data flow based on the target network path.
[0036] In a third aspect, an embodiment of the present application provides a network device comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the method described in the first aspect when executing the computer program.
[0037] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method described in the first aspect.
[0038] In a fifth aspect, an embodiment of the present application provides a chip, wherein the chip includes a programmable logic circuit and / or program instructions, and when the chip is executed, the steps of the method described in the first aspect are implemented.
[0039] In a sixth aspect, embodiments of the present application provide a computer program product, wherein the computer program product includes a computer program, and when the computer program is executed by a processor, the steps of the method described in the first aspect are implemented.
[0040] The details of one or more embodiments of the present application are set forth in the following drawings and description. Other features, objects, and advantages of the present application will become apparent from the description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the conventional technology, the following briefly introduces the drawings required for use in the embodiments or the conventional technology descriptions. Obviously, the drawings described below are merely embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the disclosed drawings without any creative work.
[0042] FIG1 is a diagram illustrating an application environment of a network path selection method according to an embodiment;
[0043] FIG2 is an application environment diagram of a network path selection method according to another embodiment;
[0044] FIG3 is a schematic diagram of a flow chart of a network path selection method according to an embodiment;
[0045] FIG4 is a schematic diagram of a network topology in another embodiment;
[0046] FIG5 is a schematic diagram of the shortest path topology corresponding to a network data flow in another embodiment;
[0047] FIG6 is a schematic diagram of a process for transmitting a network data stream based on a target network path according to another embodiment;
[0048] FIG7 is a schematic flow chart of a network path selection method according to another embodiment;
[0049] FIG8 is a schematic diagram of the flow of step 303 in another embodiment;
[0050] FIG9 is a schematic flow chart of a network path selection method according to another embodiment;
[0051] FIG10 is a structural block diagram of a network path selection device according to an embodiment;
[0052] FIG11 is a diagram showing the internal structure of a network device according to an embodiment;
[0053] FIG12 is a schematic structural diagram of a chip in one embodiment. DETAILED DESCRIPTION
[0054] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0055] First, the three possible implementation environments of the network path selection method provided in the embodiments of the present application are briefly described.
[0056] FIG1 is a schematic diagram of a possible implementation environment of the network path selection method provided in an embodiment of the present application. As shown in FIG1 , the implementation environment may include at least one user terminal 102 ( FIG1 exemplarily shows only one user terminal 102 ) and a network device 104 , with data being transmitted between the user terminal 102 and the network device 104 via a network.
[0057] Among them, the network device 104 can be an access network device, and the access network device can be a base station (Base Transceiver Station, BTS) in Global System of Mobile communication (GSM) or Code Division Multiple Access (CDMA), or a base station (NodeB, NB) in Wideband Code Division Multiple Access (WCDMA), or an evolved base station (Evolutional Node B, eNB or eNodeB) in LTE, or a relay station or access point, or a base station in a 5G network, etc., which is not limited here.
[0058] User terminal 102 may be a wireless terminal, which may be a device that provides voice and / or other service data connectivity to a user, or a handheld device with wireless connectivity, or other processing device connected to a wireless modem. A wireless terminal may communicate with one or more core networks via a Radio Access Network (RAN). A wireless terminal may 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-built-in, or vehicle-mounted mobile device may exchange voice and / or data with a radio access network. A wireless terminal may 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.
[0059] In the implementation environment shown in Figure 1, the network device 104 can receive a network data stream to be transmitted from the user device 102. Then, the network device 104 determines multiple shortest network paths corresponding to each path selection factor based on multiple path selection factors corresponding to the network data stream. The network device 104 determines the shortest path topology corresponding to the network data stream based on the multiple shortest network paths corresponding to each path selection factor. The network device 104 determines the target network path based on the shortest path topology and transmits the network data stream based on the target network path.
[0060] Figure 2 is a schematic diagram of another possible implementation environment of the network path selection method provided in an embodiment of the present application. As shown in Figure 2, the implementation environment may include a first network device 202 and a second network device 204, and data is transmitted between the first network device 202 and the second network device 204 via a network.
[0061] The first network device 202 may be an access network device. For the concept of access network devices, please refer to the relevant description above and will not be repeated here. The second network device 204 may be a core network device, such as a server or router.
[0062] In the implementation environment shown in Figure 2, the second network device 204 can receive the network data stream to be transmitted sent by the first network device 202, and then, the second network device 204 determines multiple shortest network paths corresponding to each path selection factor based on multiple path selection factors corresponding to the network data stream. The second network device 204 determines the shortest path topology corresponding to the network data stream based on the multiple shortest network paths corresponding to each path selection factor. The second network device 204 determines the target network path based on the shortest path topology, and transmits the network data stream based on the target network path.
[0063] In another implementation environment, the implementation environment of the network path selection method provided in the embodiment of the present application may also include only a network device, which may be an access network device or a core network device. The network device generates a network data stream to be transmitted, and 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. The network device determines the shortest path topology corresponding to the network data stream based on the multiple shortest network paths corresponding to each path selection factor. The network device determines the target network path based on the shortest path topology, and transmits the network data stream based on the target network path.
[0064] With the rapid development of network technology, a growing number of emerging services are emerging, such as immersive VR (Virtual Reality) / AR (Augmented Reality), live streaming, and cloud gaming. The network data flows of these services often have strict quality of service requirements, or SLAs (Service Level Agreements), such as low latency, high bandwidth, and high reliability.
[0065] Therefore, network devices on the network side need to select appropriate network paths within the network to route network data flows. Traditionally, SLA guarantees typically involve calculating the shortest network path based on a path selection factor. Specifically, this involves using a traditional shortest path algorithm (such as Dijkstra, Bellman-Ford, or the K-shortest path algorithm) to calculate the shortest network path for a specific path selection factor (e.g., latency). This shortest network path is then used as the path carrying the network data flow.
[0066] However, traditional technologies only consider a single path selection factor during 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.
[0067] In view of this, the embodiments of the present application determine multiple shortest network paths corresponding to each path selection factor based on multiple path selection factors corresponding to the network data flow 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 flow is determined. The target network path is then determined based on the shortest path topology, and the network data flow is transmitted based on the target network path. In this way, since actual service quality requirements have requirements for latency, reliability, jitter, etc., that is, the path selection factors corresponding to service quality requirements are usually multifaceted, such as latency, reliability, jitter, etc., the embodiments of the present 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 a shortest path topology, and 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.
[0068] It should be noted that the beneficial effects or technical problems solved by the embodiments of the present application are not limited to this one, but may also include other implicit or related problems. For details, please refer to the description of the following embodiments.
[0069] The following specific embodiments describe in detail the technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0070] In one embodiment, as shown in FIG3 , a network path selection method is provided, which is described by taking the application of the method to a network device as an example. The network device may be the network device 104 in FIG1 , or the second network device 204 in FIG2 , or the network device included in the third implementation environment described above. The network device is not specifically limited herein.
[0071] The method includes the following steps 301 , 302 and 303 .
[0072] In step 301 , the network device determines a plurality of shortest network paths corresponding to the respective path selection factors based on a plurality of path selection factors corresponding to the network data flow to be transmitted.
[0073] 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 described above, the network device is an access network device, and the service audio stream, video stream, etc. sent by the user terminal to the access network device can be such a network data stream.
[0074] For another example, the network data flow may also be generated by the network device itself, and so on.
[0075] After a network device receives the network data flow, it must select a suitable network path within the target network to route its traffic, i.e., transmit the network data flow. "Suitable" can mean that the network path selection must meet the various SLA requirements for the network data flow, i.e., service quality requirements. The network path selection can also be based on the network performance requirements of the target network, etc. In the embodiments of the present application, the network device first determines multiple path selection factors corresponding to the network data flow.
[0076] First, the concept of path selection factors is introduced exemplarily.
[0077] Path selection factors, or path selection factors, are link attribute parameters in the target network that correspond to various SLA assurance requirements for network data flows (a network link can be a network channel between two adjacent network nodes, and a network path can be formed by connecting multiple network links). These parameters include latency, reliability, and jitter. It is understood that different network links in the target network may have different values for these link attribute parameters; for example, link A and link B may have different latency.
[0078] Next, a method for a network device to obtain multiple path selection factors corresponding to the network data flow is exemplarily introduced.
[0079] Exemplarily, for network data flows, network equipment can obtain resource status information of the target network through the network management system and related data acquisition system in the target network. The resource status information includes link attribute parameters, that is, fields of link attribute parameters such as delay, reliability, jitter, and utilization. The network equipment determines the path selection factors by identifying the corresponding fields.
[0080] After determining the multiple path selection factors, the network device then determines multiple shortest network paths corresponding to each path selection factor.
[0081] As an implementation manner, the resource status information of the target network acquired by the network device may further include the network topology of the target network. For example, see FIG4 , which is a schematic diagram of an exemplary network topology.
[0082] In this network topology, the network channel between any two network nodes (i.e., the multiple small circles shown in FIG4 ) is a network link, and at least one network path from the “starting point” to the “end point” constitutes a network path.
[0083] For each path selection factor, such as delay, the network device performs a shortest path search in the network topology to obtain multiple shortest network paths corresponding to the path selection factor, for example, calculating K shortest network paths.
[0084] Continuing with the example of latency, it can be understood that when a network device searches for the shortest path in a network topology, it only considers latency. The resulting multiple shortest network paths are the multiple shortest network paths with the smallest latency in the network topology.
[0085] In step 302 , the network device determines a shortest path topology corresponding to the network data flow based on a plurality of shortest network paths corresponding to each path selection factor.
[0086] For network data flow, K shortest network paths are calculated for each path selection factor. Assuming that the number of path selection factors is m, m*K shortest network paths are obtained. The network links in the m*K shortest network paths are combined into a small network topology, that is, the shortest path topology corresponding to the network data flow is obtained.
[0087] 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 reflected, that is, the duplicate shortest network paths are deduplicated in the process of forming the shortest path topology.
[0088] For example, see Figure 5, which shows an exemplary shortest path topology corresponding to a network data flow. Compared to the target network topology shown in Figure 4, the shortest path topology, because it only includes multiple shortest network paths for various path selection factors, is significantly smaller than the overall target network topology.
[0089] Step 303: The network device determines a target network path based on the shortest path topology, and transmits the network data flow based on the target network path.
[0090] After the network device determines the shortest path topology, it can then determine the target network path in the shortest path topology.
[0091] For example, the network device can search for a path in the shortest path topology that satisfies 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.
[0092] It should be noted that in the embodiment of the present application, the number of network data streams can be one or more.
[0093] 1) When there is only one network data flow, the network path selection is performed according to the network path selection method of the above embodiment.
[0094] 2) When there are multiple network data flows, the network device can execute the process of the network path selection method of the above embodiment in parallel for each network data flow. In this way, the shortest path topology of each network data flow can be constructed in parallel, and the target network path of each network data flow can be determined in parallel based on each shortest path topology. In this way, the efficiency of network path selection is greatly improved.
[0095] Of course, when there are multiple network data flows, network path selection can also be performed based on priority for each network data flow. For example, the network device can configure path selection priorities for each network data flow according to preset configuration rules, and then execute the network path selection method of the above embodiment for each network data flow in descending order of path selection priority to select a target network path.
[0096] For the same path selection priority, there may be multiple network data flows. For the multiple network data flows under the same path selection priority, the network device may also execute the process of the network path selection method of the above embodiment in parallel.
[0097] The above-described embodiment 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. Then, based on the multiple shortest network paths corresponding to each path selection factor, a shortest path topology corresponding to the network data stream is determined. A target network path is then 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., i.e., the path selection factors corresponding to service quality requirements are generally multifaceted, such as latency, reliability, and jitter, the embodiments of the present application consider multiple path selection factors during the network path selection process. Specifically, the shortest network path is determined for each path selection factor to form a shortest path topology, and the final target network path is selected from this shortest path topology. Compared to conventional technologies that only consider a single path selection factor during network path selection and fail to meet the constraints of multiple path selection factors, resulting in difficulty in meeting complex service quality requirements, the embodiments of the present application can improve the calculation capability of the optimal path and meet the complex service quality requirements of actual services.
[0098] In one embodiment, based on the embodiment shown in FIG3 , referring to FIG6 , the number of network data flows in this embodiment is multiple, and this embodiment relates to how a network device transmits network data flows based on a target network path. As shown in FIG6 , the process includes steps 601 and 602:
[0099] Step 601: The network device obtains network transmission constraints and allocates transmission bandwidth to a target network path of each network data flow according to the network transmission constraints.
[0100] 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, namely the target network's network performance requirements (for example, reducing network latency, improving network utilization, load balancing, etc.), to allocate transmission bandwidth to each target network path of each network data flow. It should be noted that a network data flow may have multiple target network paths. On the other hand, each network data flow also has transmission performance requirements, such as bandwidth requirements.
[0101] Based on this, the network device obtains the network transmission constraint condition and allocates transmission bandwidth to the target network path of each network data flow according to the network transmission constraint condition.
[0102] As an embodiment, the network transmission constraint includes at least one of the following: a first network constraint determined based on the transmission performance requirements of the network data flow; 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 represents the transmission performance requirements of the network data flow, and the second network constraint represents 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, latency, etc. The resource status information of the target network obtained by the network device in the above embodiment can include these one or more network performance indicators.
[0103] In the embodiment of the present application, the network device can perform a linear programming solution based on the first network constraint condition and the second network constraint condition to obtain the transmission bandwidth ultimately allocated to the target network path of each network data flow.
[0104] Exemplarily, the 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 the overall optimization goal, which is the minimization delay goal of the target network in the second network constraint.
[0105] It should be noted that the above embodiment is described by taking linear programming as an example to allocate transmission bandwidth to the target network path of each network data flow. In other embodiments, the network device may also adopt heuristic algorithms (such as greedy algorithms, genetic algorithms, simulated annealing algorithms, etc.) or deep reinforcement learning algorithms to achieve optimal bandwidth allocation.
[0106] Step 602: For each network data flow, the network device transmits the network data flow through the target network path based on the transmission bandwidth allocated to the target network path.
[0107] After the network device allocates transmission bandwidth to each target network path of each network data flow, it uses the allocated transmission bandwidth to transmit each network data flow through each target network path.
[0108] When allocating transmission bandwidth, the embodiment of the present application takes into account the overall network goals (reflected by the second network constraint condition), such as load balancing, cost reduction, and latency reduction. It can also combine the transmission performance requirements of the network data flow and adopt heuristic algorithms, linear programming, and deep reinforcement learning algorithms to dynamically adjust the bandwidth of each path of each network data flow. On the basis of path selection, it further optimizes the overall network performance, achieves overall network performance optimization, and improves the utilization rate of network resources.
[0109] In one embodiment, based on the embodiment shown in FIG3 , referring to FIG7 , this embodiment relates to a process of how a network device determines multiple shortest network paths corresponding to each path selection factor based on multiple path selection factors corresponding to a network data flow to be transmitted. As shown in FIG7 , step 301 includes step 3011 shown in FIG7 :
[0110] In step 3011 , the network device uses the shortest path algorithm to perform shortest path searches for each path selection factor in parallel, and obtains multiple shortest network paths corresponding to each path selection factor.
[0111] In an embodiment of the present application, there are multiple path selection factors corresponding to the network data flow. 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, and obtains multiple shortest network paths for each path selection factor.
[0112] Taking the case where latency is a factor in path selection as an example, when a network device searches for the shortest path in a network topology, it only considers latency. The resulting shortest network paths are the shortest network paths with the shortest latency in the network topology.
[0113] The shortest path algorithms include Dijkstra algorithm, Bellman-Ford algorithm, K-shortest path algorithm, etc. There is no restriction on the specific algorithm type of the shortest path selection algorithm.
[0114] Since the algorithm complexity of the shortest path algorithm is low, and the shortest path search is performed for each path selection factor in parallel, the selection speed of the shortest network path can be improved, thereby improving the overall path selection efficiency.
[0115] In addition, in the embodiment of the present application, the number of multiple shortest network paths is positively correlated with the expected selection accuracy corresponding to 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.
[0116] In this embodiment of the present application, a K value can be specifically set for each network data flow based on its desired selection accuracy. This means that the K value 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 is understood that the higher the SLA guarantee requirements, the higher the desired selection accuracy, enabling more flexible network path selection.
[0117] In one embodiment, based on the embodiment shown in FIG3 , referring to FIG8 , this embodiment relates to how a network device determines a target network path based on a shortest path topology. As shown in FIG8 , step 303 may include steps 801 and 802 shown in FIG8 :
[0118] Step 801: The network device performs a multi-factor routing search on the shortest path topology to obtain a target network path.
[0119] 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.
[0120] The embodiment of the present application performs multi-factor routing search based on the constructed shortest path topology, and adopts the method of exchanging space for time, that is, improving the calculation speed of multi-factor routing search by reducing the topology scale, and can be applied to large-scale networks.
[0121] Step 802: The network device transmits the network data stream based on the target network path.
[0122] Then, the network device transmits the network data stream based on the target network path through the implementation of the above embodiment.
[0123] The following describes a process in which a network device performs a multi-factor path selection search on a shortest path topology to obtain a target network path.
[0124] In a possible implementation of step 801 , the network device may perform a multi-factor routing search on the shortest path topology based on a breadth-first search algorithm to obtain a target network path, thereby implementing the process of step 801 .
[0125] Breadth-first search (BFS) is one of the simplest graph search algorithms. It is a blind search method that aims to systematically expand and check all nodes in the graph to find the result.
[0126] In the embodiment of the present application, the idea of the breadth-first search algorithm is utilized, multiple path selection factors are comprehensively considered, and each network node is traversed in the shortest path topology.
[0127] During the traversal process, Pareto-optimal path conditions must be combined for constrained pruning. A 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 if there is a path selection factor that makes path p1's weight strictly superior to path p2.
[0128] In the embodiment of the present application, when traversing the shortest path topology using the idea of the breadth-first search algorithm, when a certain network node Vi is searched, the following judgment is made:
[0129] 1) 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 to the network node Vi, then stop the continued expansion search of the current network path and implement "pruning" of the current network path.
[0130] 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 end network node, then stop the continued expansion search of the current network path and implement "pruning" of the current network path.
[0131] In this way, by comprehensively considering multiple path selection factors, traversing each network node in the shortest path topology, and performing path pruning during the traversal process, the Pareto optimal path set is finally calculated.
[0132] It is understandable that in the above multi-factor routing search process, only the Pareto optimal path set is calculated. However, it is unknown whether the network paths in the Pareto optimal path set meet the SLA guarantee requirements of the network data flow.
[0133] Therefore, network devices also need to continue screening in 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.
[0134] Furthermore, in the process of performing a multi-factor routing search based on a breadth-first search algorithm, the network device can utilize the constraints corresponding to each path selection factor to prune each shortest network path in the shortest path topology to obtain the target network path, thereby realizing a multi-factor routing search based on a breadth-first search algorithm for the shortest path topology to obtain the target network path.
[0135] The constraint associated with a path selection factor represents the SLA guarantee requirement for the network data flow for that path selection factor. For example, if the path selection factor is latency, the constraint associated with that path selection factor is latency less than 60ms. Constraints associated with multiple path selection factors represent the SLA guarantee requirement for the network data flow for each path selection factor, or are referred to as SLA constraints.
[0136] During the multi-factor path selection search process, network devices can use the constraints corresponding to each path selection factor as pruning conditions and prune paths that do not meet the constraints corresponding to each path selection factor. In this way, the paths in the obtained Pareto optimal path set are all paths that 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.
[0137] It should be noted that the above embodiments are all described by taking the breadth-first search algorithm to perform multi-factor path selection search as an example. In other possible implementations, other multi-factor path selection search algorithms may also be selected.
[0138] In the implementation of step 801 above, the SLA constraint condition determination is integrated into the multi-factor routing search process. In another possible implementation of step 801, the two factors can also be separated. The network device can perform the following steps A1 and A2 to implement step 801:
[0139] Step A1: Perform a multi-factor routing search on the shortest path topology to obtain candidate paths corresponding to the network data flow.
[0140] Step A2: Screen candidate paths using the constraints corresponding to each path selection factor to obtain the target network path.
[0141] In this embodiment, the network device first performs a multi-factor routing search on the shortest path topology. The multi-factor routing search method is similar to that of the above embodiment. For example, the multi-factor routing search can be performed based on a breadth-first search algorithm. The difference from the above embodiment is that in step A1, during the multi-factor routing search for the shortest path topology, the SLA constraint condition is not judged, and the candidate path is directly obtained.
[0142] Then, after obtaining the candidate paths, the network device uses the constraints corresponding to each path selection factor to screen the candidate paths, that is, screen the network paths that meet the SLA constraints to obtain the final target network path.
[0143] In the above embodiment, after obtaining the Pareto optimal path set, i.e., the candidate path, through the multi-factor routing search, a screening step of SLA constraints is added on this basis, and the network path that meets the SLA constraints is explicitly selected as the final target network path to ensure the SLA guarantee requirements of the service.
[0144] In one embodiment, a network path selection method is provided for use with a network device. FIG9 is a flow chart illustrating an exemplary network path selection method. The method includes:
[0145] Step a: For a network data flow (network data flow 1, network data flow 2, ..., network data flow n as shown in FIG9 ), a shortest path algorithm is used to perform a shortest path search in parallel for each path selection factor corresponding to the network data flow, and obtain multiple shortest network paths corresponding to each path selection factor (K shortest network paths 1, K shortest network paths 2, ..., K shortest network paths m corresponding to each network data flow as shown in FIG9 , where K represents the number of shortest network paths).
[0146] Among them, the number of multiple shortest network paths is positively correlated with the expected selection accuracy corresponding to the network path selection process.
[0147] Step b: determining the shortest path topology corresponding to the network data flow based on the multiple shortest network paths corresponding to the path selection factors.
[0148] Step c: perform a multi-factor routing search on the shortest path topology to obtain the target network path.
[0149] Step c can be implemented in any of the following two ways:
[0150] Based on the breadth-first search algorithm, a multi-factor routing search is performed on the shortest path topology to obtain the target network path.
[0151] In the process of multi-factor path 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 to obtain the target network path.
[0152] As shown in Figure 9, a multi-factor routing search is first performed on the shortest path topology to obtain candidate paths corresponding to the network data flow. Then, the candidate paths are screened using the constraints corresponding to each path selection factor (i.e., the SLA constraint judgment shown in Figure 9) to obtain the target network path.
[0153] Next, the network device allocates transmission bandwidth based on each network data flow.
[0154] Step d: obtaining network transmission constraints and allocating transmission bandwidth to the target network path of each network data flow according to the network transmission constraints.
[0155] There are multiple network data flows.
[0156] Step e: for each network data flow, based on the transmission bandwidth allocated to the target network path, transmitting the network data flow through the target network path.
[0157] The network transmission constraints include at least one of the following:
[0158] a first network constraint condition determined based on a transmission performance requirement of a network data flow;
[0159] The second network constraint condition is determined based on a network performance requirement of a target network to which the target network path belongs.
[0160] It should be noted that there are also multi-factor routing methods in related technologies. For example, different path selection factors are given corresponding weights to form a new path selection factor, and then the shortest path search is performed. However, this method is difficult to use in large-scale networks due to the poor accuracy of weight setting and the slow calculation speed.
[0161] The embodiment of the present application 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 a sub-topology (i.e., the shortest path topology) for each network data flow, which not only meets the multiple SLA constraint routing of each network data flow, but also optimizes the overall network performance.
[0162] The following is an example to illustrate the embodiment of the present application.
[0163] Please refer to FIG. 4 and FIG. 5 . FIG. 4 is a schematic diagram showing an exemplary target network topology.
[0164] For each network link in Figure 4, the network device takes as input three path selection factors: latency, normalized cost, and reliability. For example, network link 0-42 has a bandwidth of 100 Gbps, a latency of 0.1 ms, a normalized cost of 0.5, and a reliability of 0.9.
[0165] For a network data flow, the network device also needs to obtain the constraints for each path selection factor, namely the 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 requirements of the network data flow (the first network constraint), for example, a bandwidth requirement of 1.5 Gbps (starting point 56, ending point 8), and the overall network optimization goal of the target network: minimizing maximum link utilization (the second network constraint).
[0166] Next, the network device selects a network path for the network data flow.
[0167] First, the shortest path algorithm is used to search for the three path selection factors in parallel, and multiple shortest network paths corresponding to the three path selection factors are obtained (assuming that the K value in the shortest path algorithm is set to 3). Then, the following is obtained:
[0168] The K shortest network paths of this network data flow with respect to delay are: Path 1: ['56','21','68','44','3','32','64','8'] Path 2: ['56','21','16','44','3','32','64','8'] Path 3: ['56','21','68','44','59','3','32','64','8']
[0169] The K shortest network paths of this network data flow with respect to normalized cost are: Path 1: ['56','21','68','44','3','32','64','8'] Path 2: ['56','21','68','44','59','3','32','64','8'] Path 3: ['56','21','68','41','51','3','32','64','8']
[0170] The K shortest network paths of this network data flow with respect to reliability are: Path 1: ['56','21','68','41','69','39','64','8'] Path 2: ['56','21','68','41','51','39','64','8'] Path 3: ['56','21','68','41','69','39','55','64','8']
[0171] Reliability is a multiplicative factor and should be as large as possible, so the shortest path with respect to log(1 / inverse of reliability) is calculated during the calculation process to obtain the K shortest network paths with respect to reliability.
[0172] The network links included in these nine paths (some network links are repeated) form a sub-topology, namely the shortest path topology shown in FIG5 .
[0173] Perform a multi-factor routing search on the shortest path topology shown in Figure 5, such as a BFS multi-factor routing search, and obtain the Pareto optimal path (i.e., the candidate path mentioned above): Path 1('56','21','68','41','51','39','64','8'):{'latency':53.0,'network_cost':3.9,'reliability': 0.9664578258517994} Path 2('56','21','68','41','69','39','64','8'):{'latency':53.0,'network_cost':4.0,'reliability': 0.9674369420424926} Path 3('56','21','68','44','3','32','64','8'):{'latency':42.0,'network_cost':2.5,'reliability': 0.9577480905440858}
[0174] Among them, latency refers to delay and reliability refers to reliability.
[0175] Then, these candidate paths are screened based on the SLA constraints. 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.
[0176] Repeat the above process to perform shortest path topology construction and multi-factor routing search on all network data flows. The network path selection process of multiple network data flows can be executed in parallel.
[0177] 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 the overall optimization goal: minimizing the maximum link utilization.
[0178] The linear programming model is as follows:
[0179] Among them, x kp Represents network data flow f kThe traffic of the p-th target network path, δ ekp The value of is: If the network data flow f k The target network path p contains path e, then δ ekp is equal to 1, otherwise it is equal to 0. u represents the maximum link utilization, C e represents the capacity of network link e, Represents network data flow f k The total number of target network paths.
[0180] Among them, Formula 1 and Formula 2 represent the basic transmission requirements of the target network, Formula 3 is the objective function of delay, Formula 4 is the objective function of normalized cost, and Formula 5 is the objective function of reliability.
[0181] In this way, after solving the linear programming, the 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 from node 56 and ending at node 8) is: path 1 is 1 Gbps, and path 2 is 0.5 Gbps.
[0182] It should be understood that, although the various steps in the above flow chart are shown in sequence as indicated by the arrows, these steps are not necessarily performed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be performed in other orders. Moreover, at least a portion of the steps in the above flow chart may include multiple steps or multiple stages, and these steps or stages are not necessarily performed at the same time, but can be performed at different times. The execution order of these steps or stages is not necessarily to be performed in sequence, but can be performed in turn or alternately with other steps or at least a portion of steps or stages in other steps.
[0183] In one embodiment, as shown in FIG10 , a network path selection device is provided, including:
[0184] A first determining module 1001 is configured to determine, based on a plurality of path selection factors corresponding to a network data flow to be transmitted, a plurality of shortest network paths corresponding to each of the path selection factors;
[0185] A topology construction module 1002 is configured to determine a shortest path topology corresponding to the network data flow based on a plurality of shortest network paths corresponding to each of the path selection factors;
[0186] The second determining module 1003 is configured to determine a target network path based on the shortest path topology, and transmit the network data flow based on the target network path.
[0187] In one embodiment, the number of the network data flows is multiple, and the second determining module 1003 includes:
[0188] an allocation unit, configured to obtain a network transmission constraint condition and allocate a transmission bandwidth to a target network path of each of the network data flows according to the network transmission constraint condition;
[0189] A transmission unit is configured to transmit, for each of the network data flows, the network data flow through the target network path based on a transmission bandwidth allocated to the target network path.
[0190] In one embodiment, the network transmission constraint condition includes at least one of the following:
[0191] a first network constraint condition determined based on a transmission performance requirement of the network data flow;
[0192] A second network constraint condition is determined based on a network performance requirement of a target network to which the target network path belongs.
[0193] In one embodiment, the first determining module 1001 is specifically configured to use a shortest path algorithm to perform shortest path searches for each of the path selection factors in parallel, and obtain multiple shortest network paths corresponding to each of the path selection factors.
[0194] In one embodiment, the number of the multiple shortest network paths is positively correlated with an expected selection accuracy corresponding to the network path selection process.
[0195] In one embodiment, the second determining module 1003 further includes:
[0196] The search unit is configured to perform a multi-factor routing search on the shortest path topology to obtain the target network path.
[0197] In one embodiment, the search unit is specifically configured to perform a multi-factor routing search on the shortest path topology based on a breadth-first search algorithm to obtain the target network path.
[0198] In one embodiment, the search unit is specifically used to prune each shortest network path in the shortest path topology using the constraints corresponding to each path selection factor during a multi-factor path selection search based on a breadth-first search algorithm to obtain the target network path.
[0199] In one embodiment, the search unit is specifically used to perform a multi-factor routing search on the shortest path topology to obtain candidate paths corresponding to the network data flow; and to screen the candidate paths using the constraint conditions corresponding to each of the path selection factors to obtain the target network path.
[0200] The specific definition of the network path selection device can be found in the definition of the network path selection method above and will not be repeated here. Each module in the above-mentioned network path selection device can be implemented in whole or in part through software, hardware, or a combination thereof. Each of the above-mentioned modules can be embedded in or independent of the processor of the computer device in hardware form, or can be stored in the memory of the computer device in software form, so that the processor can call and execute the corresponding operations of each of the above modules.
[0201] Figure 11 is a schematic diagram of the structure of a network device provided in an embodiment of the present application. The network device 700 shown in Figure 11 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 through a bus system 705. It can be understood that the bus system 705 is used to achieve connection and communication between these components. In addition to the data bus, the bus system 705 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, various buses are labeled as bus systems 705 in Figure 2. In addition, in an embodiment of the present application, a transceiver 706 is also included. The transceiver can be multiple components, that is, including a transmitter and a receiver, providing a unit for communicating with various other devices on a transmission medium.
[0202] It is understood that the memory 702 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct RAM bus random access memory (DRRAM). The memory 702 of the systems and methods described in the embodiments of the present application is intended to include, but is not limited to, these and any other suitable types of memory.
[0203] In some embodiments, the memory 702 stores the following elements, executable modules or data structures, or subsets thereof, or extended sets thereof: an operating system 7021. The operating system 7021 includes various system programs, such as a framework layer, a core library layer, and a driver layer, for implementing various basic services and processing hardware-based tasks.
[0204] In the embodiment of the present application, by calling the program or instruction stored in the memory 702, the processor is configured to execute the steps of the method described in any of the above embodiments.
[0205] Some or all of the methods disclosed in the above embodiments of the present application may also be applied to the processor 701, or implemented by the processor 701, or implemented by the processor 701 in conjunction with other components (e.g., a transceiver). The processor 701 may be an integrated circuit chip having signal processing capabilities. During implementation, each step of the above method may be performed by an integrated logic circuit of hardware in the processor 701 or by instructions in the form of software. The above processor 701 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. The various methods, steps, and logic block diagrams disclosed in the embodiments of the present application may be implemented or executed. The general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. The steps of the methods disclosed in conjunction with the embodiments of the present application may be directly embodied as being executed by a hardware decoding processor, or may be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. The storage medium is located in memory 702, and processor 701 reads the information in memory 702 and performs the steps of the above method in conjunction with its hardware.
[0206] It is understood that the embodiments described in the embodiments of the present 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 (DSP 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 the present application, or a combination thereof.
[0207] For software implementation, the techniques described in the embodiments of the present application can be implemented by modules (e.g., procedures, functions, etc.) that perform the functions described in the embodiments of the present application. The software code can be stored in a memory and executed by the processor 701. The memory can be implemented in the processor 701 or external to the processor 701.
[0208] In one embodiment, a network device is provided, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0209] Determining, based on a plurality of path selection factors corresponding to the network data stream to be transmitted, a plurality of shortest network paths corresponding to each of the path selection factors;
[0210] Determining a shortest path topology corresponding to the network data flow based on a plurality of shortest network paths corresponding to each of the path selection factors;
[0211] A target network path is determined based on the shortest path topology, and the network data flow is transmitted based on the target network path.
[0212] In one embodiment, there are multiple network data flows, and when the processor executes the computer program, it further implements the following steps:
[0213] Acquiring network transmission constraints, and allocating transmission bandwidth to a target network path of each of the network data flows according to the network transmission constraints;
[0214] For each of the network data flows, the network data flow is transmitted through the target network path based on the transmission bandwidth allocated to the target network path.
[0215] In one embodiment, the network transmission constraint condition includes at least one of the following:
[0216] a first network constraint condition determined based on a transmission performance requirement of the network data flow;
[0217] A second network constraint condition is determined based on a network performance requirement of a target network to which the target network path belongs.
[0218] In one embodiment, when the processor executes the computer program, it further implements the following steps:
[0219] By using the shortest path algorithm, the shortest path search is performed in parallel for each of the path selection factors to obtain a plurality of shortest network paths corresponding to each of the path selection factors.
[0220] In one embodiment, the number of the multiple shortest network paths is positively correlated with an expected selection accuracy corresponding to the network path selection process.
[0221] In one embodiment, when the processor executes the computer program, it further implements the following steps:
[0222] A multi-factor routing search is performed on the shortest path topology to obtain the target network path.
[0223] In one embodiment, when the processor executes the computer program, it further implements the following steps:
[0224] Based on a breadth-first search algorithm, a multi-factor routing search is performed on the shortest path topology to obtain the target network path.
[0225] In one embodiment, when the processor executes the computer program, it further implements the following steps:
[0226] In the process of performing multi-factor path selection search based on the breadth-first search algorithm, the constraints corresponding to the path selection factors are used to prune the shortest network paths in the shortest path topology to obtain the target network path.
[0227] In one embodiment, when the processor executes the computer program, it further implements the following steps:
[0228] Performing a multi-factor path selection search on the shortest path topology to obtain a candidate path corresponding to the network data flow;
[0229] The candidate paths are screened using the constraint conditions corresponding to the path selection factors to obtain the target network path.
[0230] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:
[0231] Determining, based on a plurality of path selection factors corresponding to the network data stream to be transmitted, a plurality of shortest network paths corresponding to each of the path selection factors;
[0232] Determining a shortest path topology corresponding to the network data flow based on a plurality of shortest network paths corresponding to each of the path selection factors;
[0233] A target network path is determined based on the shortest path topology, and the network data flow is transmitted based on the target network path.
[0234] In one embodiment, there are multiple network data flows, and when the computer program is executed by a processor, the following steps are further implemented:
[0235] Acquiring network transmission constraints, and allocating transmission bandwidth to a target network path of each of the network data flows according to the network transmission constraints;
[0236] For each of the network data flows, the network data flow is transmitted through the target network path based on the transmission bandwidth allocated to the target network path.
[0237] In one embodiment, the network transmission constraint condition includes at least one of the following:
[0238] a first network constraint condition determined based on a transmission performance requirement of the network data flow;
[0239] A second network constraint condition is determined based on a network performance requirement of a target network to which the target network path belongs.
[0240] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0241] By using the shortest path algorithm, the shortest path search is performed in parallel for each of the path selection factors to obtain a plurality of shortest network paths corresponding to each of the path selection factors.
[0242] In one embodiment, the number of the multiple shortest network paths is positively correlated with an expected selection accuracy corresponding to the network path selection process.
[0243] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0244] A multi-factor routing search is performed on the shortest path topology to obtain the target network path.
[0245] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0246] Based on a breadth-first search algorithm, a multi-factor routing search is performed on the shortest path topology to obtain the target network path.
[0247] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0248] In the process of performing multi-factor path selection search based on the breadth-first search algorithm, the constraints corresponding to the path selection factors are used to prune the shortest network paths in the shortest path topology to obtain the target network path.
[0249] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0250] Performing a multi-factor path selection search on the shortest path topology to obtain a candidate path corresponding to the network data flow;
[0251] The candidate paths are screened using the constraint conditions corresponding to the path selection factors to obtain the target network path.
[0252] Figure 12 is a schematic structural diagram of a chip according to an embodiment of the present application. The chip 900 shown in Figure 12 includes a processor 910, which can call and run a computer program from a memory to implement the method according to the embodiment of the present application.
[0253] In some embodiments, as shown in FIG12 , the chip 900 may further include a memory 920 , wherein the processor 910 may call and execute a computer program from the memory 920 to implement the method in the embodiment of the present application.
[0254] The memory 920 may be a separate device independent of the processor 910 , or may be integrated into the processor 910 .
[0255] In some embodiments, the chip 900 may further include an input interface 930. The processor 910 may control the input interface 930 to communicate with other devices or chips, and specifically, may obtain information or data sent by other devices or chips.
[0256] In some embodiments, the chip 900 may further include an output interface 940. The processor 910 may control the output interface 940 to communicate with other devices or chips, and specifically, may output information or data to other devices or chips.
[0257] In some embodiments, the chip 900 can be applied to the communication device in the embodiments of the present application, and the chip 900 can implement the corresponding processes implemented in the various methods in the embodiments of the present application. For the sake of brevity, they will not be repeated here.
[0258] It should be understood that the chip 900 mentioned in the embodiment of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.
[0259] The present application also provides a computer program product comprising instructions, which, when executed on a computer, causes the computer to perform the following steps:
[0260] Determining, based on a plurality of path selection factors corresponding to the network data stream to be transmitted, a plurality of shortest network paths corresponding to each of the path selection factors;
[0261] Determining a shortest path topology corresponding to the network data flow based on a plurality of shortest network paths corresponding to each of the path selection factors;
[0262] A target network path is determined based on the shortest path topology, and the network data flow is transmitted based on the target network path.
[0263] In one embodiment, there are multiple network data flows, and when the computer program is executed by a processor, the following steps are further implemented:
[0264] Acquiring network transmission constraints, and allocating transmission bandwidth to a target network path of each of the network data flows according to the network transmission constraints;
[0265] For each of the network data flows, the network data flow is transmitted through the target network path based on the transmission bandwidth allocated to the target network path.
[0266] In one embodiment, the network transmission constraint condition includes at least one of the following:
[0267] a first network constraint condition determined based on a transmission performance requirement of the network data flow;
[0268] A second network constraint condition is determined based on a network performance requirement of a target network to which the target network path belongs.
[0269] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0270] By using the shortest path algorithm, the shortest path search is performed in parallel for each of the path selection factors to obtain a plurality of shortest network paths corresponding to each of the path selection factors.
[0271] In one embodiment, the number of the multiple shortest network paths is positively correlated with an expected selection accuracy corresponding to the network path selection process.
[0272] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0273] A multi-factor routing search is performed on the shortest path topology to obtain the target network path.
[0274] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0275] Based on a breadth-first search algorithm, a multi-factor routing search is performed on the shortest path topology to obtain the target network path.
[0276] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0277] In the process of performing multi-factor path selection search based on the breadth-first search algorithm, the constraints corresponding to the path selection factors are used to prune the shortest network paths in the shortest path topology to obtain the target network path.
[0278] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:
[0279] Performing a multi-factor path selection search on the shortest path topology to obtain a candidate path corresponding to the network data flow;
[0280] The candidate paths are screened using the constraint conditions corresponding to the path selection factors to obtain the target network path.
[0281] The above-described network path selection method, apparatus, network device, medium, and program product determine, based on multiple path selection factors corresponding to the network data stream to be transmitted, multiple shortest network paths corresponding to each path selection factor. Then, based on the multiple shortest network paths corresponding to each path selection factor, a shortest path topology corresponding to the network data stream is determined. A target network path is then determined based on the shortest path topology, and the network data stream is transmitted based on the target network path. In this way, because actual service quality requirements have requirements for latency, reliability, jitter, and the like, i.e., the path selection factors corresponding to service quality requirements are generally multifaceted, such as latency, reliability, and jitter, embodiments of the present application consider multiple path selection factors during the network path selection process. Specifically, the shortest network path is determined for each path selection factor to form a shortest path topology, and the final target network path is selected from this shortest path topology. Compared to conventional techniques that only consider a single path selection factor during network path selection and fail to meet the constraints of multiple path selection factors, resulting in difficulty in meeting complex service quality requirements, embodiments of the present application can improve the computational capability of the optimal path and meet the complex service quality requirements of actual services.
[0282] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory or optical memory, etc. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).
[0283] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, 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.
[0284] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art could make various modifications and improvements without departing from the spirit of the present application, all of which fall within the scope of protection of the present application. Therefore, the scope of protection of the present patent application shall be determined by the appended claims.
Claims
1. A network path selection method, the method comprising: Based on a plurality of path selection factors corresponding to the network data flow to be transmitted, determining a plurality of shortest network paths corresponding to each of the path selection factors; Determining the shortest path topology corresponding to the network data flow based on the multiple shortest network paths respectively corresponding to the path selection factors; and A target network path is determined based on the shortest path topology, and the network data flow is transmitted based on the target network path.
2. The method according to claim 1, wherein: There are multiple network data flows, and transmitting the network data flows based on the target network path includes: Acquiring network transmission constraints, and allocating transmission bandwidth to a target network path of each of the network data flows according to the network transmission constraints; and For each of the network data flows, the network data flow is transmitted through the target network path based on the transmission bandwidth allocated to the target network path.
3. The method according to claim 2, wherein: The network transmission constraint condition includes at least one of the following: a first network constraint condition determined based on a transmission performance requirement of the network data flow; as well as A second network constraint condition is determined based on a network performance requirement of a target network to which the target network path belongs.
4. The method according to any one of claims 1 to 3, wherein: The determining of a plurality of shortest network paths corresponding to each of the path selection factors based on the plurality of path selection factors corresponding to the network data stream to be transmitted includes: By using the shortest path algorithm, the shortest path search is performed in parallel for each of the path selection factors to obtain a plurality of shortest network paths corresponding to each of the path selection factors.
5. The method according to claim 4, wherein: The number of the multiple shortest network paths is positively correlated with the expected selection accuracy corresponding to the network path selection process.
6. The method according to any one of claims 1 to 5, wherein: The determining of the target network path based on the shortest path topology includes: A multi-factor routing search is performed on the shortest path topology to obtain the target network path.
7. The method according to claim 6, wherein: The performing a multi-factor path selection search on the shortest path topology to obtain the target network path includes: Based on a breadth-first search algorithm, a multi-factor path selection search is performed on the shortest path topology to obtain the target network path.
8. The method according to claim 7, wherein: The multi-factor path selection search is performed on the shortest path topology based on the breadth-first search algorithm to obtain the target network path, including: In the process of performing multi-factor path selection search based on the breadth-first search algorithm, the constraints corresponding to each of the path selection factors are used to prune each of the shortest network paths in the shortest path topology to obtain the target network path.
9. The method according to claim 6, wherein: The performing a multi-factor path selection search on the shortest path topology to obtain the target network path includes: Performing a multi-factor path selection search on the shortest path topology to obtain a candidate path corresponding to the network data flow; The candidate paths are screened using the constraint conditions corresponding to the path selection factors to obtain the target network path.
10. The method according to claim 3, wherein: Adopt any one of linear programming method, greedy algorithm, genetic algorithm and simulated annealing algorithm to allocate transmission bandwidth to the target network path of each network data flow according to the network transmission constraint condition.
11. The method according to claim 2, wherein: The target network paths corresponding to the multiple network data flows are determined in parallel.
12. The method according to claim 2, wherein: The method comprises: The path selection priorities are configured for the multiple network data flows according to preset configuration rules, and the target network path of each network data flow is determined according to the path selection priorities.
13. A network path selection device, the device comprising: A first determination module, configured to determine, based on a plurality of path selection factors corresponding to the network data stream to be transmitted, a plurality of shortest network paths corresponding to each of the path selection factors; A topology construction module, used to determine the shortest path topology corresponding to the network data flow based on a plurality of shortest network paths respectively corresponding to each of the path selection factors; The second determination module is used to determine a target network path based on the shortest path topology, and transmit the network data flow based on the target network path.
14. A network device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the method according to any one of claims 1 to 12 when executing the computer program.
15. A computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the method according to any one of claims 1 to 12.
16. A computer program product, comprising a computer program, which, when executed by a processor, implements the steps of the method according to any one of claims 1 to 12.
17. A chip comprising a processor, wherein the processor is configured to call and run a computer program from a memory to implement the steps of the method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Method and device for determining multicast path
CN114978982A
Optimal path determination method and device, readable storage medium and electronic equipment
CN115426310A
System and method for selecting optimal path in multi-media multi-path network
US20200195577A1
Methods, apparatus and computer programs for allocating traffic in a telecommunications network
WO2020088780A1
Cited By
Dynamic network capacity calculation method and device based on topology change characteristics
CN120602385A