Network path selection method and device, network equipment, medium and program product
By building the shortest path topology of network data flow and selecting the target path, the problem that the existing technology is difficult to meet the complex service quality requirements is solved, and efficient network path selection is achieved under multi-faceted constraints.
Patent Information
- Application Number
- CN202310822065.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-05
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2043-07-05
AI Technical Summary
Existing network path selection methods are difficult to meet the requirements of complex service quality, especially under the constraints of delay, reliability and jitter, the optimal path cannot be selected.
By determining the shortest network path of 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 from it for transmission, considering multiple path selection factors to improve computing power.
It realizes network path selection that meets the requirements of complex service quality, improves the computing power of the optimal path, and can select appropriate network paths under multiple constraints.
Smart Images

Figure CN119276773A_ABST
Abstract
Description
Technical Field
[0001] 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
[0002] With the rapid development of network technology, more and more emerging services are emerging, such as immersive VR (Virtual Reality) / AR (Augmented Reality), live broadcast, cloud gaming, etc. The network data flows of these services usually require more stringent SLA (Service Level Agreement) guarantees, such as low latency guarantees.
[0003] In view of this, the network device on the network side needs to select a suitable network path for the network data flow in the network. In the related art, the shortest network path is usually calculated for a path selection factor, and then the shortest network path is used as the network path carrying the network data flow.
[0004] However, the above network path selection method is difficult to meet complex service quality requirements. Summary of the invention
[0005] The embodiments of the present application provide a network path selection method, apparatus, network equipment, medium and program product, which can meet complex service quality requirements.
[0006] In a first aspect, an embodiment of the present application provides a network path selection method. The method comprises:
[0007] 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;
[0008] 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;
[0009] 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.
[0010] In one embodiment, the number of the network data flows is multiple, and the transmitting the network data flows based on the target network path includes:
[0011] Acquire network transmission constraint conditions, and allocate transmission bandwidth to a target network path of each of the network data flows according to the network transmission constraint conditions;
[0012] 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.
[0013] In one embodiment, the network transmission constraint condition includes at least one of the following:
[0014] a first network constraint condition determined based on a transmission performance requirement of the network data flow;
[0015] A second network constraint condition is determined based on a network performance requirement of a target network to which the target network path belongs.
[0016] 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, respectively, includes:
[0017] 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.
[0018] In one of the embodiments, the number of the plurality of shortest network paths is positively correlated with an 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 routing search is performed on the shortest path topology to obtain the target network path.
[0021] In one embodiment, the performing a multi-factor path search on the shortest path topology to obtain the target network path includes:
[0022] 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.
[0023] In one embodiment, the multi-factor path selection search is performed on the shortest path topology based on a breadth-first search algorithm to obtain the target network path, including:
[0024] 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.
[0025] In one embodiment, the performing a multi-factor path search on the shortest path topology to obtain the target network path includes:
[0026] Performing a multi-factor path selection search on the shortest path topology to obtain a candidate path corresponding to the network data flow;
[0027] The candidate paths are screened using the constraint conditions corresponding to the path selection factors to obtain the target network path.
[0028] In a second aspect, an embodiment of the present application provides a network path selection device. The device includes:
[0029] 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;
[0030] 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;
[0031] 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.
[0032] In a third aspect, an embodiment of the present application provides a network device, wherein the network device comprises a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of the method described in the first aspect are implemented.
[0033] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the method described in the first aspect are implemented.
[0034] 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 running, the steps of the method described in the first aspect are implemented.
[0035] In a sixth aspect, an embodiment of the present application provides a computer program product. 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.
[0036] The above-mentioned network path selection method, apparatus, network equipment, 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 flow to be transmitted, and then determine the shortest path topology corresponding to the network data flow based on the multiple shortest network paths corresponding to each path selection factor, and then determine the target network path based on the shortest path topology, and transmit the network data flow based on the target network path. In this way, since the actual service quality requirements have requirements for delay, reliability, jitter, etc., that is, the path selection factors corresponding to the service quality requirements are usually multifaceted, and the path selection factors are such as delay, reliability, jitter, etc., the embodiment of the present application considers 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. Compared with the traditional technology that only considers a single path selection factor in the network path selection process and cannot meet the constraints of multiple path selection factors, resulting in difficulty in meeting complex service quality requirements, the embodiment of the present application can improve the calculation capability of the optimal path and meet the complex service quality requirements in actual services. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] Figure 1 A diagram of an application environment of a network path selection method in an embodiment;
[0038] Figure 2 A diagram of an application environment of a network path selection method in another embodiment;
[0039] Figure 3 A schematic diagram of a flow chart of a network path selection method in one embodiment;
[0040] Figure 4 is a schematic diagram of a network topology in another embodiment;
[0041] Figure 5 A schematic diagram of the shortest path topology corresponding to a network data flow in another embodiment;
[0042] Figure 6 It is a schematic diagram of a process of transmitting a network data stream based on a target network path in another embodiment;
[0043] Figure 7 A schematic diagram of a flow chart of a network path selection method in another embodiment;
[0044] Figure 8 is a flow chart of step 303 in another embodiment;
[0045] Fig. 9 A schematic diagram of a flow chart of a network path selection method in another embodiment;
[0046] Fig.10 is a structural block diagram of a network path selection device in one embodiment;
[0047] Fig.11 is an internal structure diagram of a network device in one embodiment;
[0048] Fig.12 Schematic diagram of the structure of a chip in one embodiment. DETAILED DESCRIPTION
[0049] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0050] First, three implementation environments that may be involved in the network path selection method provided in the embodiments of the present application are briefly described.
[0051] Figure 1 A schematic diagram of a possible implementation environment of the network path selection method provided in the embodiment of the present application. 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 for example, and data is transmitted between the user terminal 102 and the network device 104 via the network.
[0052] 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.
[0053] The user terminal 102 may be a wireless terminal, which may be a device that provides voice and / or other service data connectivity to the user, or a handheld device with wireless connection function, or other processing equipment connected to a wireless modem. The wireless terminal may communicate with one or more core networks via a radio access network (Radio Access Network, referred to as RAN). The wireless terminal may be a mobile terminal, such as a mobile phone (or "cellular" phone) and a computer with a mobile terminal, for example, a portable, pocket-sized, handheld, computer-built-in or vehicle-mounted mobile device, which exchanges language and / or data with the radio access network. The wireless terminal may also be referred to as a system, a subscriber unit (Subscriber Unit), a subscriber station (Subscriber Station), a mobile station (Mobile Station), a mobile station (Mobile), a remote station (Remote Station), a remote terminal (Remote Terminal), an access terminal (Access Terminal), a user terminal (User Terminal), a user agent (User Agent), a user device (User Device or User Equipment), which is not limited here.
[0054] exist Figure 1 In the implementation environment shown, the network device 104 can receive a network data stream to be transmitted sent by the user device 102, and then, the network device 104 determines a plurality of shortest network paths corresponding to each path selection factor based on a plurality of path selection factors corresponding to the network data stream, and the network device 104 determines a shortest path topology corresponding to the network data stream based on the plurality of shortest network paths corresponding to each path selection factor, and the network device 104 determines a target network path based on the shortest path topology, and transmits the network data stream based on the target network path.
[0055] Figure 2 A schematic diagram of another possible implementation environment of the network path selection method provided in the embodiment of the present application. Figure 2 As shown, 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.
[0056] 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. For example, the core network device may be a server, a router, etc.
[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, 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.
[0058] Of course, 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 the multiple path selection factors corresponding to the network data stream, the network device determines 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 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.
[0059] With the rapid development of network technology, more and more emerging services are emerging, such as immersive VR (Virtual Reality) / AR (Augmented Reality), live broadcast, cloud gaming, etc. The network data flows of these actual services usually have strict service quality requirements, or so-called SLA (Service Level Agreement) guarantees, such as low latency, large bandwidth, high reliability, etc.
[0060] Therefore, the network equipment on the network side needs to select a suitable network path for the network data flow in the network to route its traffic. In traditional technology, corresponding to SLA guarantee, the shortest network path is usually calculated for a path selection factor. Specifically, the traditional shortest path algorithm (such as Dijkstra algorithm, Bellman-Ford algorithm, K-shortest path algorithm, etc.) is used to calculate the shortest network path for a certain path selection factor (such as delay), and then the shortest network path is used as the network path carrying the network data flow.
[0061] However, traditional technologies only consider a single path selection factor in the network path selection process, which is difficult to meet the increasingly complex service quality requirements. The selected shortest network path cannot meet the constraints of multiple path selection factors.
[0062] In view of this, the embodiment of the present application determines 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, and then determines the shortest path topology corresponding to the network data flow based on the multiple shortest network paths corresponding to each path selection factor, and then determines the target network path based on the shortest path topology, and transmits the network data flow based on the target network path. In this way, since the actual service quality requirements have requirements for delay, reliability, jitter, etc., that is, the path selection factors corresponding to the service quality requirements are usually multifaceted, such as delay, reliability, jitter, etc., the embodiment of the present application considers 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, which can improve the computing power of the optimal path, thereby being able to meet the complex service quality requirements in actual business.
[0063] It should be noted that the beneficial effects brought about by the embodiments of the present application or the technical problems solved 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.
[0064] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. 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.
[0065] In one embodiment, Figure 3 As shown, a network path selection method is provided, and the method is applied to a network device as an example for explanation. The network device may be Figure 1 The network device 104 in Figure 2 The second network device 204 in the embodiment can of course also be the network device included in the third implementation environment mentioned above, which is not specifically limited here.
[0066] The method includes the following steps 301, 302 and 303:
[0067] Step 301: The network device determines 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 flow 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 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 the above network data stream.
[0069] Optionally, the network data flow may also be generated by the network device itself, and so on.
[0070] After the network device obtains the network data flow, it needs to select a "suitable" network path in the target network to route its traffic, that is, to transmit the network data flow. The so-called "suitable" may mean that the selection of the network path needs to meet the various SLA guarantee requirements of the network data flow, that is, the service quality requirements, and the network path selection can also be combined with the network performance requirements of the target network, etc. In the embodiment of the present application, the network device first determines multiple path selection factors corresponding to the network data flow.
[0071] First, the concept of path selection factors is introduced exemplarily.
[0072] Path selection factors, or path selection factors, are link attribute parameters in the target network that correspond to various SLA guarantee requirements of network data flows (a network link may 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, jitter, etc. It is understandable that the link attribute parameters of different network links in the target network are different in size, for example, the latency of link A is different from that of link B.
[0073] Next, a method for a network device to obtain multiple path selection factors corresponding to the network data flow is exemplarily introduced.
[0074] 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 systems 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 each path selection factor by identifying the corresponding fields.
[0075] After the network device determines the multiple path selection factors, it then determines the multiple shortest network paths corresponding to each path selection factor.
[0076] As an implementation manner, the resource status information of the target network obtained by the network device may also include the network topology of the target network. For example, see Figure 4 , Figure 4 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 multiple small circles (shown in the figure) is a network link, and at least one network path from the "starting point" to the "end point" constitutes a network path.
[0078] 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, calculates K shortest network paths.
[0079] Continuing with the example of latency, it can be understood that when the network device searches for the shortest path in the network topology, it only considers latency to search for the shortest path, and the multiple shortest network paths obtained are the multiple shortest network paths with the smallest 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 the path selection factors.
[0081] 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, there are m*K shortest network paths. The network links in these 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.
[0082] It should be noted that there may be repeated paths among the m*K shortest network paths. In the process of forming the shortest path topology, only one repeated shortest network path is reflected, that is, the repeated shortest network paths are deduplicated in the process of forming the shortest path topology.
[0083] For example, see Figure 5 , Figure 5 is an exemplary shortest path topology corresponding to network data flow. Figure 4 As shown in the network topology of the target network, it can be seen that the shortest path topology only contains multiple shortest network paths of various path selection factors. Therefore, compared with the overall network topology of the target network, its topology scale is greatly reduced.
[0084] 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.
[0085] After the network device determines the shortest path topology, it can then determine the target network path in the shortest path topology.
[0086] Exemplarily, 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.
[0087] It should be noted that in the embodiment of the present application, the number of network data flows may be one or more.
[0088] 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.
[0089] 2) In the case where 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 network path selection efficiency is greatly improved.
[0090] Of course, in the case of multiple network data flows, network path selection can also be performed based on the priority of each network data flow. Exemplarily, the network device can configure the path selection priority for each network data flow according to the preset configuration rule, and then perform the network path selection method of the above embodiment on each network data flow in descending order of the path selection priority to select the target network path.
[0091] 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.
[0092] The above-mentioned embodiment determines 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, and then determines the shortest path topology corresponding to the network data flow based on the multiple shortest network paths corresponding to each path selection factor, and then determines the target network path based on the shortest path topology, and transmits the network data flow based on the target network path. In this way, since the actual service quality requirements have requirements for delay, reliability, jitter, etc., that is, the path selection factors corresponding to the service quality requirements are usually multifaceted, and the path selection factors are such as delay, reliability, jitter, etc., the embodiment of the present application considers 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. Compared with the traditional technology that only considers a single path selection factor in the network path selection process and cannot meet the constraints of multiple path selection factors, resulting in difficulty in meeting complex service quality requirements, the embodiment of the present application 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 embodiment shown, see Figure 6 In this embodiment, the number of network data flows is multiple, and this embodiment involves how the network device transmits the network data flow based on the target network path. Figure 6 As shown, the process includes step 601 and step 602:
[0094] 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.
[0095] In the actual network transmission process, the allocation of transmission bandwidth is involved. On the one hand, network operators need to comprehensively consider the network status of the entire target network, that is, the network performance requirements of the target network (for example, reducing network latency, improving network utilization, load balancing, etc.), to allocate the transmission bandwidth of each target network path of each network data flow. It should be noted that for a network data flow, the number of its target network paths may also be multiple; on the other hand, for each network data flow, the network data flow also has transmission performance requirements, such as bandwidth requirements.
[0096] Based on this, the network device obtains the network transmission constraint condition and allocates the transmission bandwidth to the target network path of each network data flow according to the network transmission constraint condition.
[0097] As an implementation method, the network transmission constraint condition includes at least one of the following: a first network constraint condition determined based on the transmission performance requirement of the network data flow; a second network constraint condition determined based on the network performance requirement of the target network to which the target network path belongs. The first network constraint condition represents the transmission performance requirement of the network data flow, and the second network constraint condition represents the network performance requirement of the target network. The network performance requirement may be one or more network performance indicators, such as the overall network operation cost, utilization rate, latency, etc. The resource status information of the target network obtained by the network device in the above embodiment may include the one or more network performance indicators.
[0098] 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.
[0099] 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.
[0100] It should be noted that the above embodiment is explained 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 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 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.
[0102] 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.
[0103] 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, latency reduction, etc., and can also combine the transmission performance requirements of the network data flow, adopt heuristic algorithms, linear programming and deep reinforcement learning algorithms, etc., to dynamically adjust the bandwidth of each path of each network data flow, and further optimize the overall network performance on the basis of path selection, thereby achieving overall network performance optimization and improving the utilization rate of network resources.
[0104] In one embodiment, based on Figure 3 The embodiment shown, see Figure 7 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 stream to be transmitted. Figure 7 As shown, step 301 includes Figure 7 Step 3011 shown:
[0105] 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.
[0106] 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.
[0107] Taking the case where the path selection factor is latency, when the network device searches for the shortest path in the network topology, it only considers latency. The multiple shortest network paths obtained are the multiple shortest network paths with the smallest latency in the network topology.
[0108] The shortest path algorithms include Dijkstra algorithm, Bellman-Ford algorithm, K-shortest path algorithm, etc. The specific algorithm type of the shortest path selection algorithm is not limited here.
[0109] 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.
[0110] 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 is.
[0111] In the embodiment of the present application, for each network data flow, the K value can be set in a targeted manner in combination with its expected selection accuracy, that is, the K value of each network data flow may be the same or different. The expected 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 expected selection accuracy, and a more flexible network path selection is achieved.
[0112] In one embodiment, based on Figure 3 The embodiment shown, see Figure 8 , this embodiment relates to how a network device determines a target network path based on the shortest path topology. Figure 8 As shown, step 303 may include Figure 8 Step 801 and step 802 are shown:
[0113] Step 801: The network device performs a multi-factor routing search on the shortest path topology to obtain a 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 embodiment of the present application performs a multi-factor routing search based on a constructed shortest path topology, and trades space for time, that is, improves the calculation speed of the multi-factor routing search by reducing the topology scale, and can be applied to large-scale networks.
[0116] Step 802: The network device transmits the network data stream based on the target network path.
[0117] Then, the network device transmits the network data stream based on the target network path through the implementation method of the above embodiment.
[0118] 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.
[0119] 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 .
[0120] The breadth-first search algorithm (also known as breadth-first search or BFS algorithm) is one of the simplest graph search algorithms. It belongs to the blind search method and its purpose is to systematically expand and check all nodes in the graph to find the result.
[0121] 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.
[0122] During the traversal process, it is necessary to perform constraint pruning in combination with the Pareto optimal path conditions. 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, that is, as long as there is a path selection factor that makes the weight of path p1 strictly better than p2.
[0123] In the embodiment of the present application, when the shortest path topology is traversed using the idea of the breadth-first search algorithm, when a certain network node Vi is searched, the following judgment is made:
[0124] 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, stop the continued expansion search of the current network path and implement "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 end network node, stop the continued expansion search of the current network path and implement "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 path selection search process, only the Pareto optimal path set is calculated, but it is unknown whether the network paths in the Pareto optimal path set meet the SLA guarantee requirements of the network data flow.
[0128] Therefore, the network equipment also needs to continue screening in the Pareto optimal path set according to 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, 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 a target network path, thereby realizing a multi-factor routing search based on a breadth-first search algorithm for the shortest path topology to obtain a target network path.
[0130] The constraint corresponding to a path selection factor is the SLA guarantee requirement of the network data flow for the path selection factor. For example, if the path selection factor is latency, the constraint corresponding to the path selection factor is latency 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 are called SLA constraints.
[0131] In the process of multi-factor path selection search, the network device can use the constraint conditions corresponding to each path selection factor as pruning conditions, and prune the paths that do not meet the constraint conditions corresponding to each path selection factor. In this way, the paths in the obtained Pareto optimal path set are all paths that meet the constraint conditions corresponding to each path selection factor, so that the paths in the Pareto optimal path set can be directly used as the target network paths, and the number of target network paths is one or more.
[0132] It should be noted that the above embodiments are all described by taking the breadth-first search algorithm for multi-factor path selection search as an example. In other possible implementations, other multi-factor path selection search algorithms may also be selected.
[0133] In the implementation method of the above step 801, the judgment and integration of the SLA constraint condition is performed in the multi-factor path selection search process. In another possible implementation method of step 801, the two can also be separated. The network device can perform the following steps A1 and A2 to implement step 801:
[0134] Step A1, perform multi-factor path selection search on the shortest path topology to obtain candidate paths corresponding to the network data flow.
[0135] Step A2, using the constraint conditions corresponding to each path selection factor to screen the candidate paths to obtain the target network path.
[0136] In this implementation, the network device first performs a multi-factor routing search on the shortest path topology. The multi-factor routing search method is similar to the above embodiment. For example, the multi-factor routing search can be 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.
[0137] Then, after the network device obtains the candidate paths, it uses the constraints corresponding to each path selection factor to screen the candidate paths, that is, screens the network paths that meet the SLA constraints to obtain the final target network path.
[0138] In the above embodiment, after obtaining the Pareto optimal path set, i.e., the candidate path, through multi-factor routing search, a screening step of SLA constraints is added on this basis, and a 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.
[0139] In one embodiment, a network path selection method is provided for a network device. Fig. 9 , Fig. 9 The following is a flow chart of an exemplary network path selection method. The method includes:
[0140] Step a, for a network data flow (such as Fig. 9 The network data stream 1, network data stream 2, ..., network data stream n) shown in FIG. 1 is used to perform shortest path searches for each path selection factor corresponding to the network data stream in parallel using the shortest path algorithm to obtain multiple shortest network paths corresponding to each path selection factor (such as Fig. 9 Each network data flow shown corresponds to K shortest network paths 1, K shortest network paths 2, ..., K shortest network paths m, where K represents the number of shortest network paths).
[0141] Among them, the number of multiple shortest network paths is positively correlated with the expected selection accuracy corresponding to the network path selection process.
[0142] 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.
[0143] Step c: perform a multi-factor routing search on the shortest path topology to obtain the target network path.
[0144] Wherein, step c can be implemented in any of the following two ways:
[0145] 1) Based on the breadth-first search algorithm, a multi-factor path selection search is performed on the shortest path topology to obtain the target network path.
[0146] 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.
[0147] 2) If Fig. 9 In the method shown in the figure, the shortest path topology is first searched for multiple factors to obtain the candidate paths corresponding to the network data flow, and then the candidate paths are screened using the constraints corresponding to each path selection factor (i.e. Fig. 9 The target network path is obtained based on the SLA constraint conditions shown in the figure.
[0148] Next, the network device allocates transmission bandwidth based on each network data flow.
[0149] 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.
[0150] Among them, the number of network data flows is multiple.
[0151] Step e: for each network data flow, based on the transmission bandwidth allocated to the target network path, transmit the network data flow through the target network path.
[0152] The network transmission constraint condition includes at least one of the following:
[0153] A first network constraint condition determined based on a transmission performance requirement of a network data flow;
[0154] The second network constraint condition is determined based on a network performance requirement of a target network to which the target network path belongs.
[0155] It should be noted that there are also multi-factor routing methods in the related technology. For example, corresponding weights are set for different path selection factors 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 calculation speed is slow.
[0156] 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.
[0157] The following is an example to illustrate the embodiment of the present application.
[0158] Please combine Figure 4 and Figure 5 , Figure 4 Shown is a schematic diagram of an exemplary target network topology.
[0159] for Figure 4 For each network link in the network, the network device obtains three input path selection factors: latency, normalized cost, and reliability. For example, the bandwidth of network link 0-42 is 100Gbps, the latency is 0.1ms, the normalized cost is 0.5, and the reliability is 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, that is, the SLA constraints, such as the delay needs to be less than 60ms, the normalized cost is less than 5, and the reliability is greater than 0.95. The network device also needs to obtain the bandwidth requirements of the network data flow (that is, the first network constraint), for example, the bandwidth requirement is 1.5Gbps (starting point node 56, end point 8), and obtain the overall network optimization goal of the target network: minimize the maximum link utilization (that is, the second network constraint).
[0161] Next, the network device selects a network path for the network data flow.
[0162] First, the shortest path algorithm is used to search for the shortest paths 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), and then:
[0163] The K shortest network paths for this network data flow with respect to delay are:
[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 network data flows about the K shortest network paths with normalized costs:
[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 K shortest network paths for this network data flow with respect to reliability are:
[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] Among them, reliability is a multiplicative factor and the reliability should be as large as possible, so the shortest path about log(1 / inverse of reliability) is calculated in the calculation process to obtain the above-mentioned K shortest network paths about reliability.
[0176] The network links contained in these 9 paths (some of the network links are repeated) form a sub-topology, that is, Figure 5 The shortest path topology shown.
[0177] exist Figure 5 A multi-factor path selection search is performed on the shortest path topology shown, such as a BFS multi-factor path selection search, to obtain a Pareto optimal 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] Among them, latency refers to delay and reliability refers to reliability.
[0182] Then, these candidate paths are screened based on the SLA constraint conditions, and only path 1 and path 2 meet the SLA constraint conditions 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 perform shortest path topology construction and multi-factor path selection search on all network data flows. The network path selection process of 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 the overall optimization goal: minimizing the maximum link utilization.
[0185] The linear programming model is as follows:
[0186]
[0187]
[0188]
[0189]
[0190]
[0191] Among them, x kp Represents network data flow f k The traffic of the p-th target network path, δ ekp The value of is: If the network data flow f k If 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, P fk Represents network data flow f k The total number of target network paths.
[0192] 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.
[0193] In this way, after solving the linear programming, the transmission bandwidth finally 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 point node 60, end point 8) is: path 1 is 1Gbps, and path 2 is 0.5Gbps.
[0194] It should be understood that, although the various steps in the above flowchart are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear description in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the above flowchart may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0195] In one embodiment, Fig.10 As shown, a network path selection device is provided, comprising:
[0196] The first determination module 1001 is used to determine a plurality of shortest network paths corresponding to each of the path selection factors based on a plurality of path selection factors corresponding to the network data flow to be transmitted;
[0197] A 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 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.
[0199] In one embodiment, the number of the network data flows is multiple, and the second determining module 1003 includes:
[0200] 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;
[0201] 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.
[0202] In one embodiment, the network transmission constraint condition includes at least one of the following:
[0203] a first network constraint condition determined based on a transmission performance requirement of the network data flow;
[0204] A second network constraint condition is determined based on a network performance requirement of a target network to which the target network path belongs.
[0205] In one embodiment, the first determination 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 a plurality of shortest network paths corresponding to each of the path selection factors.
[0206] In one of the embodiments, the number of the plurality of shortest network paths is positively correlated with an 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 a multi-factor path selection search on the shortest path topology to obtain the target network path.
[0209] In one of the embodiments, 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.
[0210] In one of the embodiments, the search unit is specifically used to prune each shortest network path in the shortest path topology using the constraints corresponding to each of the path selection factors during a multi-factor path selection search based on a breadth-first search algorithm to obtain the target network path.
[0211] In one of the embodiments, the search unit is specifically used to perform a multi-factor path selection search on the shortest path topology to obtain a candidate path 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.
[0212] For the specific definition of the network path selection device, please refer to the definition of the network path selection method above, which will not be repeated here. Each module in the above network path selection device can be implemented in whole or in part by software, hardware and a combination thereof. The above modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
[0213] Fig.11 It is a structural diagram of the network device provided in an embodiment of the present application. Fig.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 through a bus system 705. It can be understood that the bus system 705 is used to realize the 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, the bus system 705 is not described in detail. Figure 2 In the figure, various buses are labeled as bus system 705. In addition, in the 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, and is a unit for communicating with various other devices on a transmission medium.
[0214] It can be 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 but 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 memory bus random access memory (DRRAM). The memory 702 of the system and method 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.
[0215] In some implementations, the memory 702 stores the following elements, executable modules or data structures, or their subsets, or their extensions: operating system 7021. The operating system 7021 includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., which are used to implement various basic services and process hardware-based tasks.
[0216] In the embodiment of the present application, by calling the program or instruction stored in the memory 702, the processor is used to execute the steps of the method described in any of the above embodiments.
[0217] Part 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 cooperation with other components (such as a transceiver). The processor 701 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method may be completed by an integrated logic circuit of hardware in the processor 701 or an instruction in the form of software. The above processor 701 may be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The 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 also be any conventional processor, etc. The steps of the method 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 a decoding processor. The software module may be located in a storage medium mature in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 702, and the processor 701 reads the information in the memory 702 and completes the steps of the above method in combination with its hardware.
[0218] It is understood that the embodiments described in the embodiments of the present application can be implemented by 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 (Application Specific Integrated Circuits, ASIC), digital signal processors (Digital Signal Processing, DSP), digital signal processing devices (DSP Device, DSPD), programmable logic devices (Programmable Logic Device, PLD), field programmable gate arrays (Field-Programmable Gate Array, FPGA), general processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in the present application or a combination thereof.
[0219] For software implementation, the technology described in the embodiments of the present application can be implemented by a module (such as a process, function, etc.) that performs 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 outside the processor 701.
[0220] 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:
[0221] 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;
[0222] 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;
[0223] 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.
[0224] In one embodiment, the number of the network data streams is multiple, and the processor further implements the following steps when executing the computer program:
[0225] Acquire network transmission constraint conditions, and allocate transmission bandwidth to a target network path of each of the network data flows according to the network transmission constraint conditions;
[0226] 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.
[0227] In one embodiment, the network transmission constraint condition includes at least one of the following:
[0228] a first network constraint condition determined based on a transmission performance requirement of the network data flow;
[0229] A second network constraint condition is determined based on a network performance requirement of a target network to which the target network path belongs.
[0230] In one embodiment, the processor further implements the following steps when executing the computer program:
[0231] 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.
[0232] In one of the embodiments, the number of the plurality of shortest network paths is positively correlated with an expected selection accuracy corresponding to the network path selection process.
[0233] In one embodiment, the processor further implements the following steps when executing the computer program:
[0234] A multi-factor routing search is performed on the shortest path topology to obtain the target network path.
[0235] In one embodiment, the processor further implements the following steps when executing the computer program:
[0236] 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.
[0237] In one embodiment, the processor further implements the following steps when executing the computer program:
[0238] 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.
[0239] In one embodiment, the processor further implements the following steps when executing the computer program:
[0240] Performing a multi-factor path selection search on the shortest path topology to obtain a candidate path corresponding to the network data flow;
[0241] The candidate paths are screened using the constraint conditions corresponding to the path selection factors to obtain the target network path.
[0242] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:
[0243] 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;
[0244] 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;
[0245] 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.
[0246] In one embodiment, the number of the network data streams is multiple, and when the computer program is executed by the processor, the following steps are also implemented:
[0247] Acquire network transmission constraint conditions, and allocate transmission bandwidth to a target network path of each of the network data flows according to the network transmission constraint conditions;
[0248] 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.
[0249] In one embodiment, the network transmission constraint condition includes at least one of the following:
[0250] a first network constraint condition determined based on a transmission performance requirement of the network data flow;
[0251] A second network constraint condition is determined based on a network performance requirement of a target network to which the target network path belongs.
[0252] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0253] 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.
[0254] In one of the embodiments, the number of the plurality of shortest network paths is positively correlated with an expected selection accuracy corresponding to the network path selection process.
[0255] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0256] A multi-factor routing 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 a processor, the following steps are also implemented:
[0258] 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.
[0259] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0260] 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.
[0261] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0262] Performing a multi-factor path selection search on the shortest path topology to obtain a candidate path corresponding to the network data flow;
[0263] The candidate paths are screened using the constraint conditions corresponding to the path selection factors to obtain the target network path.
[0264] Fig.12 It is a schematic structural diagram of the chip of an embodiment of the present application. Fig.12 The chip 900 shown includes a processor 910, which can call and run a computer program from a memory to implement the method in the embodiment of the present application.
[0265] Alternatively, if Fig.12 As shown, the chip 900 may further include a memory 920. The processor 910 may call and run a computer program from the memory 920 to implement the method in the embodiment of the present application.
[0266] The memory 920 may be a separate device independent of the processor 910 , or may be integrated into the processor 910 .
[0267] Optionally, 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.
[0268] Optionally, 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.
[0269] Optionally, 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, which will not be described here for the sake of brevity.
[0270] 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.
[0271] The present application also provides a computer program product including instructions, which, when executed on a computer, causes the computer to perform the following steps:
[0272] 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;
[0273] 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;
[0274] 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.
[0275] In one embodiment, the number of the network data streams is multiple, and when the computer program is executed by the processor, the following steps are also implemented:
[0276] Acquire network transmission constraint conditions, and allocate transmission bandwidth to a target network path of each of the network data flows according to the network transmission constraint conditions;
[0277] 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.
[0278] In one embodiment, the network transmission constraint condition includes at least one of the following:
[0279] a first network constraint condition determined based on a transmission performance requirement of the network data flow;
[0280] A second network constraint condition is determined based on a network performance requirement of a target network to which the target network path belongs.
[0281] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0282] 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.
[0283] In one of the embodiments, the number of the plurality of shortest network paths is positively correlated with an expected selection accuracy corresponding to the network path selection process.
[0284] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0285] A multi-factor routing 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 a processor, the following steps are also implemented:
[0287] 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.
[0288] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0289] 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.
[0290] In one embodiment, when the computer program is executed by a processor, the following steps are also implemented:
[0291] Performing a multi-factor path selection search on the shortest path topology to obtain a candidate path corresponding to the network data flow;
[0292] The candidate paths are screened using the constraint conditions corresponding to the path selection factors to obtain the target network path.
[0293] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed 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 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 memory, etc. Volatile memory can 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).
[0294] The technical features of the above embodiments may 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.
[0295] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.
Claims
1. A network path selection method, characterized in that: The method comprises: 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; 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; 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, characterized in that There are multiple network data flows, and transmitting the network data flows based on the target network path includes: Acquire network transmission constraint conditions, and allocate transmission bandwidth to a target network path of each of the network data flows according to the network transmission constraint conditions; 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, characterized in that 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; 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, characterized in that: 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, characterized in that 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 claim 1, characterized in that 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, characterized in that 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, characterized in that 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, characterized in that 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. A network path selection device, characterized in that: The device comprises: 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.
11. 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, the steps of the method according to any one of claims 1 to 9 are implemented.
12. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 9 are implemented.
13. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 9 are implemented.
Citation Information
Patent Citations
Method and device for optimizing multi-constraint quality of service (QoS) routing selection
CN102158417A
Route generating method and system for multi-target path with restriction
CN104601473A
SDN architecture-based communication network multidimensional resource regulation method and system
CN106100990A
Satellite network constraint multipath routing setting method, electronic equipment and storage medium
CN112261690A
Method and device for determining multicast path
CN114978982A