Network path optimization method, network node transmission method, equipment and storage medium
By predicting the traffic estimate value and node status of the SDN path and selecting the optimization path, the problem of congestion again after the path optimization of the SDN controller is solved, and the stability and timeliness of the network are improved.
Patent Information
- Application Number
- CN202410020610.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-04
- Publication Date
- 2025-07-04
AI Technical Summary
The existing SDN controller only considers the current network resources in path calculation, which leads to traffic congestion easily occur again after path optimization, increasing the risk of data packet loss and affecting the user experience.
By predicting the traffic estimate value of each transmission link on the candidate path at a preset time point, the node status estimate value of the network node is determined based on the traffic estimate value, thereby selecting the target path and generating path configuration information.
It improves the timeliness of the target path, reduces the possibility of traffic congestion again after path optimization, reduces the risk of data packet loss, and improves the stability of network services.
Smart Images

Figure CN120263720A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present application relate to the field of communication technologies, and in particular, to a network path optimization method, a network node transmission method, a device, and a storage medium. Background Art
[0002] Software Defined Network (SDN) technology is a network management method. The SDN controller has the characteristic of separating forwarding and control. Through the SDN controller, functions such as collection of the whole network topology, path calculation, flow table generation and distribution can be realized.
[0003] Currently, during the path calculation process, the SDN controller usually calculates based on the current network resources. If a certain port has traffic congestion at the current moment, the transmission paths of each service flow will be adjusted so that the port does not have congestion. However, after adjusting the service flow, it is very easy for the port to have traffic congestion again. Frequent congestion and path optimization will increase the risk of data packet loss and affect the user experience. Summary of the Invention
[0004] Embodiments of the present application provide a network path optimization method, a network node transmission method, a device, and a storage medium, so as to at least solve the problem that only the current network resources are considered in the existing path tuning process and traffic congestion is likely to occur again after tuning.
[0005] To solve the above technical problem, the present application is implemented as follows:
[0006] In a first aspect, an embodiment of the present application provides a network path optimization method, including:
[0007] Obtain a path optimization request, where the path optimization request includes a source node identifier, a destination node identifier, and the service data volume of a target service flow;
[0008] According to the network topology data of the target network, determine at least one candidate path between the network node indicated by the source node identifier and the network node indicated by the destination node identifier, and predict the traffic prediction values of the transmission link at a plurality of preset time points according to the historical traffic data of the transmission link between each network node on the candidate path;
[0009] According to the service data volume and the traffic prediction values of each transmission link on the candidate path at the plurality of time points, determine the node state prediction values of each network node;
[0010] According to the node state prediction values of each network node, determine the target path of the target service flow from the at least one candidate path, and generate the path configuration information of the target path.
[0011] In a second aspect, an embodiment of the present application provides a network node transmission method, including:
[0012] Receiving path configuration information sent by a network management controller, and performing data transmission according to the path configuration information, where the path configuration information is generated according to the method described in the first aspect above.
[0013] In a third aspect, an embodiment of the present application provides an electronic device, which includes a processor and a memory. The memory stores at least one computer program, and the at least one computer program is loaded and executed by the processor to implement the above method.
[0014] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which at least one computer program is stored, and the computer program is loaded and executed by a processor to implement the above method.
[0015] The network path optimization method provided by the embodiment of the present application obtains a path optimization request; determines at least one candidate path between the network node indicated by the source node identifier and the network node indicated by the destination node identifier according to the network topology data of the target network, and predicts the traffic prediction values of the transmission link at a plurality of preset time points according to the historical traffic data of the transmission link between each network node on the candidate path; determines the node state prediction values of each network node according to the service data volume and the traffic prediction values of each transmission link on the candidate path at the plurality of time points; and determines the target path of the target service flow from at least one candidate path according to the node state prediction values of each network node, and generates path configuration information of the target path. In the embodiment of the present application, by predicting the traffic prediction values of each transmission link on the candidate path at a plurality of preset time points, determining the node state prediction values of the network nodes according to the traffic prediction values, and thus determining the target path according to the node prediction values of each network node, the timeliness of the target path can be improved, the possibility of traffic congestion occurring again after path optimization can be reduced, so as to be beneficial to reducing the risk of data packet loss caused by frequent congestion and path optimization, and improving the stability of network services.
[0016] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The accompanying drawings herein are incorporated into the specification and constitute a part of this specification, showing embodiments consistent with the present application, and are used together with the specification to explain the principles of the present application.
[0018] Figure 1 Shows a schematic flowchart of the network path optimization method provided by the embodiment of the present application;
[0019] Figure 2 shows a network structure topology diagram provided by an embodiment of the present application;
[0020] Figure 3 shows Figure 2 an example diagram of link information of the network structure topology diagram in
[0021] Figure 4 shows Figure 2 an example diagram of the predicted node states of each network node of the network structure topology diagram in
[0022] Figure 5 shows another process schematic diagram of the network path optimization method provided by an embodiment of the present application;
[0023] Figure 6 shows a process schematic diagram of the network node transmission method provided by an embodiment of the present application;
[0024] Figure 7 shows an application scenario schematic diagram of the network node transmission method provided by an embodiment of the present application;
[0025] Figure 8 shows a schematic diagram of the structure of an electronic device provided by an embodiment of the present application. Detailed implementation manners
[0026] Here, exemplary embodiments will be described in detail, and examples are shown in the drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementation manners described in the following exemplary embodiments do not represent all implementation manners consistent with the present application. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0027] In recent years, Software Define Network (SDN) technology has received extensive attention. The SDN controller has the characteristic of separating forwarding and control. Through the SDN controller, functions such as collection of the whole network topology, path calculation, flow table generation and distribution can be realized.
[0028] For the convenience of understanding the embodiments of the present application, the explanations of relevant terms are as follows:
[0029] Routing: In the SDN network, routing refers to the process of determining how data packets are transmitted in the network. The SDN controller realizes routing by controlling switches in the network, is used to maintain the topology structure information of the network, and according to a specific routing algorithm or strategy, sends data packets from the source node to the target node. Among them, the routing algorithm can be selected based on factors such as the shortest path, load balancing, and bandwidth optimization.
[0030] Tuning: The SDN controller can optimize the performance and efficiency of the network through tuning. Tuning refers to the process of optimizing the configuration and management of network resources in an SDN network. By monitoring network traffic, bandwidth utilization, latency and other metrics, the SDN controller can dynamically adjust routing policies and traffic distribution according to the real-time state and requirements of the network to improve the performance and efficiency of the network. For example, tuning can include rerouting data streams during congestion, dynamically adjusting bandwidth allocation, optimizing load balancing, or scheduling traffic according to the priority of application requirements. The SDN controller collects and analyzes network data, and monitors and manages network resources in real time to achieve network optimization and performance improvement.
[0031] Emulation: The emulation of the SDN controller refers to evaluating and verifying the behavior and performance of the controller by simulating the SDN network environment. Emulation can help network administrators or researchers pre-evaluate the functions, performance and reliability of the SDN controller before actual deployment. By creating a virtual SDN network topology and simulating network traffic, controller behavior and communication between switches, the SDN controller can test and verify its routing algorithms, tuning strategies and performance. Through emulation, the design of the SDN controller can be evaluated and optimized, and its behavior in the actual network can be predicted.
[0032] The above three scenarios all involve path calculation, that is, calculating the path between the source node and the destination node in the network topology. Existing path calculations are all based on the current resources, and the timeliness is poor. If a certain port has traffic congestion at the current moment, the transmission paths of each service flow will be adjusted so that the port does not have congestion. However, after adjusting the service flow, it is very easy for the port to have traffic congestion again. For example, in the above tuning scenario, if port A has traffic congestion at 7 o'clock, the paths of each service will be immediately adjusted so that port A does not have congestion. However, this adjustment only considers the traffic state at 7 o'clock, and it is very easy for port A to have congestion again at other moments after 7 o'clock. Frequent congestion and path optimization will increase the risk of data packet loss, affect the user experience, and at the same time bring a large computational burden to the SDN server.
[0033] In view of the above technical problems in the path tuning process, the embodiment of the present application provides a network path optimization method. This method predicts the traffic pre-estimation values of each transmission link on the candidate path at a plurality of preset time points, determines the node state pre-estimation values of the network nodes according to the traffic pre-estimation values, and thus determines the target path according to the node pre-estimation values of each network node to improve the timeliness of the target path and reduce the possibility of traffic congestion occurring again after path optimization.
[0034] Please refer to Figure 1 ,Figure 1 The figure shows a schematic flow chart of the network path optimization method provided by an embodiment of the present application. This network path optimization method can be applied to an SDN controller and specifically includes the following steps:
[0035] S101: Obtain a path optimization request, where the path optimization request includes a source node identifier, a destination node identifier, and the service data volume of a target service flow.
[0036] In an embodiment of the present application, the path optimization request can be actively triggered through a user interface or passively triggered when the network performance metrics of the target network reach a preset condition. The SDN controller obtains the source node identifier, the destination node identifier, and the service traffic data of the target service flow in the path optimization request. As Figure 2 shown, the source node identifier is A, the destination node identifier is B, the target service flow is transmitted from A to B, and the service data volume carried by this target service flow is [1, 7, 1].
[0037] In a possible implementation manner, in the above step S101, obtaining the path optimization request includes:
[0038] Step 101a: In response to a user's selection operation on the source node and the destination node to be optimized on the operation interface, obtain the source node identifier corresponding to the source node and the destination node identifier corresponding to the destination node; according to the source node identifier, the destination node identifier, and the pre-set service data volume of the target service flow, obtain the path optimization request.
[0039] In an embodiment of the present application, the user can select the source node and the destination node to be optimized on the operation interface of the service client. The SDN controller determines the path optimization request according to the source node, the destination node, and the service data volume of the target service flow selected by the user on the operation interface. For example, in a simulation scenario, the source node identifier corresponding to the source node selected by the user on the operation interface is A, the destination node identifier corresponding to the destination node is B, and the pre-set service data volume of the target service flow is [1, 7, 1]; the SDN controller determines the path optimization request according to the source node identifier A, the destination node identifier B, and the service data volume of the target service flow being [1, 7, 1].
[0040] In another possible implementation manner, in the above step S101, obtaining the path optimization request includes:
[0041] Step 101b: Monitor the network performance metrics of the target network. When the network performance metrics reach a preset performance metric threshold, obtain the path optimization request according to the source node identifier to be optimized, the destination node identifier, and the pre-configured service data volume of the target service flow.
[0042] In the embodiments of the present application, the SDN controller can monitor network performance metrics such as the bandwidth, latency, and throughput of the target network. When the network performance metrics reach the preset performance metric thresholds, the target network is congested. At this time, it can request to optimize the path between the congested node and the target node, use the congested node as the source node, and obtain the path optimization request according to the source node identifier to be optimized, the destination node identifier, and the service data volume of the pre-configured target service flow.
[0043] S102: According to the network topology data of the target network, determine at least one candidate path between the network node indicated by the source node identifier and the network node indicated by the destination node identifier, and predict the traffic prediction values of the transmission link at a plurality of preset time points according to the historical traffic data of the transmission links between the respective network nodes on the candidate path.
[0044] In the embodiments of the present application, after obtaining the path optimization request, the SDN controller collects the network topology data of the target network. Among them, the network topology data may include node information, link information, available resource information of the link, etc. of the target network. Among them, the link information is used to indicate whether there is a link between two nodes, and the available resource information of the link may be the bandwidth of the link. According to the network topology data of the target network, determine at least one candidate path between the network node indicated by the source node identifier and the network node indicated by the destination node identifier. For example, as Figure 2 shown, the candidate paths between the source node A and the destination node B include A→M→D→B and A→N→B, and the bandwidth of each link is 20.
[0045] In SDN, traffic usually travels inside a tunnel (in some scenarios, there are other synonyms, such as policy). The tunnel is equivalent to a transmission link. By predicting the future traffic trend of the tunnel, the traffic prediction values at multiple future time points can be obtained. Predict the traffic prediction values of the transmission link at a plurality of preset time points according to the historical traffic data of the transmission links between the respective network nodes on the candidate path. Here, the historical traffic data can be input into a preset traffic prediction algorithm to obtain the traffic prediction values at a plurality of preset time points; or the traffic change curve within a preset period can be determined according to the historical traffic data, and the traffic prediction values at a plurality of preset time points can be determined through this traffic change curve. Among them, the time points can be set according to actual needs. For example, starting from the current time point, the traffic prediction values of the transmission link in the next three hours can be predicted. For the selection of time points, no specific limitation is made here.
[0046] Take Figure 2For example, using historical traffic to predict the traffic of each transmission link in the next three hours, the predicted traffic values of the two-way traffic of transmission links A-N and B-N in the next three hours are 5, 7, and 5, and the predicted traffic values of other transmission links are 0, 0, 0, as shown in Figure 3 the example diagram of link information shown.
[0047] In a possible implementation, in the above step S102, according to the historical traffic data of the transmission links between each network node on the candidate path, predicting the traffic prediction values of the transmission links at a plurality of preset time points includes:
[0048] Step 1021: According to the historical traffic data of the transmission links between each network node on the candidate path, determine the correspondence between each time point and the traffic value within a preset time period;
[0049] Step 1022: According to the correspondence between each time point and the traffic value within the preset time period, determine the traffic prediction values corresponding to the transmission links at a plurality of preset time points.
[0050] In the embodiments of the present application, the traffic change trends in each transmission link within the same time period are roughly the same. Therefore, according to the historical traffic data of the transmission links between the network nodes on the candidate path, the traffic change curve within the preset time period can be determined, and this traffic change curve can reflect the correspondence between each time point and the traffic value within the preset time period. Furthermore, according to the correspondence between each time point and the traffic value within the preset time period, the traffic prediction values corresponding to the transmission links at a plurality of preset time points can be determined.
[0051] S103: According to the service data volume and the traffic prediction values of each transmission link on the candidate path at a plurality of the time points, determine the node state prediction values of each of the network nodes.
[0052] In the embodiments of the present application, multiple path selection methods can be used to determine the target path of the target service flow from the above at least one candidate path, such as path selection methods like Dijkstra, A*, Bellman-Ford, Floyd-Warshall, etc. Specifically, the path selection model can be selected according to requirements. For example, Dijkstra can be selected to calculate the shortest path between two nodes. The two core points of all shortest path algorithms are to update node information and compare node information. Therefore, according to the service data volume of the target service flow and the traffic prediction values of each transmission link on the candidate path at a plurality of time points, the node state prediction values of each of the network nodes can be determined.
[0053] Suppose there are two network nodes A and B, and the node information of network node B can be updated with the node information of network node A. Conventionally, node updates are generally performed in a metric manner, which can be specifically expressed as metric(B) = metric(A) + weight_metric(A->B). Here, metric() represents the weight of the node, and weight_metric(A->B) represents the weight of the edge from A to B. The traditional method does not consider future information at multiple time points, so both metric(B) and weight_metric(A->B) are scalars. However, after considering the traffic prediction values for a future period (i.e., multiple time points), (A->B) is a vector and cannot be directly calculated. At the same time, on the basis of the original weight, a heterogeneous traffic information is superimposed on the node, increasing the difficulty of node information update.
[0054] In an embodiment of the present application, a new vector is used to represent the node state prediction value of each network node. In a possible implementation manner, in step S103 above, according to the service data volume and the traffic prediction values of each transmission link on the candidate path at multiple time points, determining the node state prediction value of each network node includes:
[0055] Step 1031: Determine the service traffic prediction vector corresponding to the target service flow according to the service data volume of the target service flow at multiple time points;
[0056] Step 1032: Determine the link traffic prediction vector corresponding to each transmission link according to the traffic prediction values of each transmission link on the candidate path at the multiple time points;
[0057] Step 1033: For each network node on the candidate path, perform a vector operation on the service traffic prediction vector and the link traffic prediction vector corresponding to the target transmission link according to a pre-configured path selection strategy to obtain the node state prediction value of the network node; where the target transmission link is the transmission link from the previous node adjacent to the network node to the network node; the vector operation is determined according to the path selection strategy.
[0058] In an embodiment of the present application, according to the service data volume of the target service flow at multiple time points, the service traffic prediction vector corresponding to the target service flow is determined. For example, the service traffic prediction vector is [1, 7, 1]; according to the traffic prediction values of each transmission link on the candidate path at the multiple time points, the link traffic prediction vector corresponding to each transmission link is determined. For example, the link traffic prediction vector corresponding to the transmission link A-N is [5, 7, 5].
[0059] For each network node on the candidate path, perform a vector operation on the service traffic prediction vector and the link traffic prediction vector corresponding to the target transmission link according to a pre-configured path selection policy to obtain the predicted node state value of the network node. Here, the path selection policy can be a path selection policy for an intermediate path (such as the path between network node A and network node B) configured to achieve the final goal during tuning, simulation, or routing. There can be one or more such path selection policies. For example, the minimum bandwidth utilization can be used as the path selection policy for the path between network node A and network node B; or the minimum bandwidth utilization, the minimum bandwidth utilization fluctuation, and the shortest path can be used simultaneously as the path selection policy for the path between network node A and network node B.
[0060] In a specific application, the node information (predicted node state value) is denoted as node() = [metric, traffic], and node(B) = [metric(B), traffic(B)]. For the above update of node B, the original metric calculation remains unchanged. The traffic information based on the vector is calculated as traffic(B) = traffic(A) + traffic(A->B), where traffic(B) and traffic(A) are still scalars, and traffic(A->B) represents converting the traffic vector into a scalar, which can be converted by means such as the maximum value, minimum value, difference between the maximum and minimum values, mean value, sum, standard deviation, etc. The specific vector operation can be determined according to the pre-configured path selection policy.
[0061] It should be noted that the above + is not necessarily the mathematical addition. It represents an operation, which can also be operations such as maximum and minimum. The way of metric in the above example is just an example, and other ways can also be used; the above way of converting the vector to the scalar traffic(A->B) also supports vector calculations such as vector summation and vector averaging, but the calculation amount is relatively large, bringing a relatively large calculation burden to the SDN controller.
[0062] In a possible implementation manner, when the path selection policy is the minimum bandwidth utilization, in step 1033 above, performing a vector operation on the service traffic prediction vector and the link traffic prediction vector corresponding to the target transmission link according to the path selection policy to obtain the predicted node state value of the network node includes:
[0063] Perform a vector addition operation on the service traffic prediction vector and the link traffic prediction vector corresponding to the target transmission link, and determine the bandwidth utilization of the target transmission link at multiple time points according to the vector sum obtained after the vector addition operation and the link bandwidth of the target transmission link;
[0064] Determine the maximum bandwidth utilization rate among the bandwidth utilization rates corresponding to multiple said time points as the first node state prediction value of the network node.
[0065] In the embodiments of the present application, the policy of minimizing the bandwidth utilization rate of the whole network ports can be converted to: minimizing the maximum bandwidth utilization rate, and when the node information is updated, calculate the maximum value of the predicted traffic bandwidth utilization rate of all moments of the port in turn. Taking Figure 3 the link information shown as an example, point A is the initial value, that is, node(A)=[0,0,0]. When the path selection policy is to minimize the bandwidth utilization rate, metric(B)=metric(A)+weight_metric(A->B) becomes bw_util(N)=max(bw_util(A),weight_bw_util(A->N)). The bandwidth utilization rates corresponding to multiple time points of the edge A->N are calculated as [(1 + 5) / 20, (7 + 7) / 20, (1 + 5) / 20], where the bandwidth utilization rate can be the total traffic of the transmission link at multiple time points divided by the link bandwidth. The process of converting the vector to a scalar is weight_bw_util(A->N)=max([(1 + 5) / 20, (7 + 7) / 20, (1 + 5) / 20]) = 14 / 20, then finally bw_util(N)=max(0, 14 / 20)=14 / 20, which is the first node state prediction value of node N.
[0066] In a possible implementation manner, when the path selection policy is to minimize the bandwidth utilization rate fluctuation, it further includes:
[0067] Obtain the maximum bandwidth utilization rate and the minimum bandwidth utilization rate among the bandwidth utilization rates corresponding to multiple said time points; determine the difference between the maximum bandwidth utilization rate and the minimum bandwidth utilization rate as the second node state prediction value of the network node.
[0068] In the embodiments of the present application, converting the minimum fluctuation of the bandwidth utilization rate of the passed ports to: minimizing the volatility of the ports of the obtained path, and when the node is updated, calculate the difference between the maximum value and the minimum value of the predicted traffic at all moments of the port in turn. Similarly, taking Figure 3Taking the link information shown as an example, when the path selection policy is the one with the smallest bandwidth utilization fluctuation, metric(B) = metric(A) + weight_metric(A->B) becomes bw_fluc(N) = max(bw_fluc(A), weight_bw_fluc(A->N)). The bandwidth utilization rates corresponding to multiple time points of the edge A->N are [(1 + 5) / 20, (7 + 7) / 20, (1 + 5) / 20]. The process of converting the vector to a scalar uses the difference between the maximum value and the minimum value as weight_bw_fluc(A->N) = (7 + 7) / 20 - (1 + 5) / 20 = 8 / 20. Then finally, bw_fluc(N) = max(0, 8 / 20) = 8 / 20, which is the second node state prediction value of node N.
[0069] In a possible implementation manner, when the path selection policy is the shortest path, it further includes:
[0070] Configuring a third node state prediction value for the network node indicated by the source node identifier; for each network node on the candidate path, determining the third node state prediction value of the network node according to the third node state prediction value of the previous node adjacent to the network node and a preset increment.
[0071] In the embodiments of the present application, the shortest path is transformed into: the path with the shortest number of hops, and an accumulative method is adopted to calculate the number of hops when the node is updated.
[0072] Similarly taking Figure 3 the link information shown as an example, when the path selection policy is the shortest path, metric(B) = metric(A) + weight_metric(A->B) is changed to dis(B) = dis(A) + weight_dis(A->B). Since passing through a node is 1 hop, the weight value of each edge is 1. Then finally, dis(B) = dis(A) + weight_dis(A->B) = 0 + 1 = 1, which is the third node state prediction value of node N.
[0073] Finally, the node state prediction value of node N is expressed as node(N) = [14 / 20, 8 / 20, 1].
[0074] Repeating the above steps, node(M) = [7 / 20, 6 / 20, 1], node(D) = [7 / 20, 6 / 20, 2], node(B) = [7 / 20, 6 / 20, 3] can be obtained, as specifically shown in Figure 4 shown.
[0075] S104: Determine the target path of the target service flow from the at least one candidate path according to the estimated node states of each network node, and generate path configuration information for the target path.
[0076] In the embodiments of the present application, as described in the above steps, the estimated node state of each network node is in vector form. Methods such as vector summation and vector averaging can be used to compare the estimated node states of each network node, so as to determine the target path of the target service flow from at least one candidate path such as A→M→D→B and A→N→B, and generate path configuration information for the target path to achieve path optimization.
[0077] In a possible implementation manner, in the above step S104, determining the target path of the target service flow from the at least one candidate path according to the estimated node states of each network node includes:
[0078] Obtain the set of estimated node states corresponding to each of the network nodes under multiple path selection policies;
[0079] Determine the target estimated node state in the set of estimated node states of each network node according to the priority corresponding to each path selection policy;
[0080] Determine the target path of the target service flow by comparing the magnitudes of the target estimated node states of the network nodes on the first candidate path and the second candidate path in at least one of the candidate paths; wherein, the at least one candidate path includes the first candidate path and the second candidate path;
[0081] In the case where the target estimated node states of the network nodes on the first candidate path are equal to the target estimated node states of the network nodes on the second candidate path, determine the target path of the target service flow by comparing the magnitudes of the other estimated node states of the network nodes on the first candidate path and the other estimated node states of the network nodes on the second candidate path; wherein, the other estimated node states are the estimated node states in the set of estimated node states other than the target estimated node state.
[0082] In the embodiments of the present application, the method of preferential comparison levels can be used to compare the estimated node states of each network node, select the target estimated node state with the highest priority from the set of estimated node states, and select the target path of the target service flow from the candidate paths according to the comparison results of the estimated node states of each network node.
[0083] In particular, if the estimated value of the target node state of the network node on the first candidate path in the candidate paths is equal to the estimated value of the target node state of the network node on the second candidate path, the target path cannot be selected from the candidate paths based on the estimated value of the target node state at this time. The target path of the target service flow can be determined by comparing the estimated values of other node states of the network node on the first candidate path with those of the network node on the second candidate path; the estimated values of other node states here are the estimated values of node states in the set of estimated values of node states except for the estimated value of the target node state. The estimated values of other node states can also be selected according to the priority corresponding to each path selection strategy.
[0084] Continuing with the above example, compare node M and node N according to Dijkstra's method. Since the priority comparison method is adopted, according to the principle that if the first priorities are equal, the second priorities are compared, and if the first priorities are not equal, the result of the first priority is taken; among them, in the embodiment of the present application, the first priority of M is 7 / 20 and that of N is 14 / 20, so M is better than N.
[0085] Node M is not the destination node, so continue to compare nodes; according to Dijkstra's method, next update node D according to node M. In the same steps as above, then node(D) = [7 / 20, 6 / 20, 2]; according to Dijkstra's method, compare node N and node D, and it is found that node D is better; according to Dijkstra's method, next update node B according to node D, node(B) = [7 / 20, 6 / 20, 3]; according to Dijkstra's method, compare node N and node B, and it is found that node B is better; since B is the destination node, the update ends.
[0086] The finally calculated target path is A - M - D - B, and the path configuration information for generating the target path A - M - D - B is generated.
[0087] As Figure 5 shown, the above network path optimization method may include the following steps:
[0088] S501: Obtain a path optimization request through the user's selection operation on the operation interface or conditions such as congestion; where the path optimization request includes node identifiers, destination node identifiers, and the service data volume of the target service flow;
[0089] S502: Collect network topology data of the target network; where the network topology data includes node information, link information, available resource information of the links, etc.;
[0090] S503: Use the traffic of historical ports for traffic prediction to obtain the traffic estimated values (i.e., future information) of the transmission links at multiple time points;
[0091] S504: Path calculation method selection; here, there are many path selection methods, such as Dijkstra, A*, Bellman-Ford, Floyd-Warshall, etc., and the model is automatically selected according to specific requirements;
[0092] S505: Update node information using future information;
[0093] S506: Compare node information using future information;
[0094] S507: Detect whether the current optimal node is the destination node. If it is the destination node, go to step S508; otherwise, go to step S505;
[0095] S508: Output the path configuration information of the target path and send it to the device.
[0096] In this way, by predicting the traffic prediction values of each transmission link on the candidate path at a plurality of preset time points, determining the node state prediction values of the network nodes according to the traffic prediction values, and thus determining the target path according to the node prediction values of each network node, the timeliness of the target path can be improved, the possibility of traffic congestion occurring again after path optimization can be reduced, which is beneficial to reducing the risk of data packet loss caused by frequent congestion and path optimization, and improving the stability of network services.
[0097] Please refer to Figure 6 , Figure 6 which shows the schematic flow chart of the network node transmission method provided by the embodiment of the present application. The embodiment of the present application also provides a network node transmission method, including:
[0098] S601: Receive the path configuration information sent by the network management controller, and perform data transmission according to the path configuration information, where the path configuration information is generated according to the above network path optimization method.
[0099] In the embodiment of the present application, as Figure 7 shown, the network management controller includes a request processing module, a big data processing module, and a PCE module. The network management controller is communicatively connected to the network devices of the target network through a southbound interface; among them,
[0100] The request processing module is used to receive the path optimization request initiated by the service client, process the path optimization request, and obtain the source node identifier, destination node identifier, and service data volume of the target service flow in the path optimization request;
[0101] The big data processing module is used to provide the ability for relevant data analysis. In the embodiments of the present application, the traffic prediction function provided by big data is mainly used to predict the traffic prediction values of the transmission links at a plurality of preset time points according to the historical traffic data of the transmission links between each network node on the candidate path.
[0102] The PCE module actually includes many modules and is itself a relatively complex system. In the embodiments of the present application, the PCE module is used for path calculation. Specifically, according to the service data volume and the traffic prediction values of each transmission link on the candidate path at a plurality of time points, the node state prediction values of each network node are determined; according to the node state prediction values of each network node, the target path of the target service flow is determined from at least one candidate path, and the path configuration information of the target path is generated.
[0103] Furthermore, the network management controller sends the path configuration information to the network devices of the target network through the southbound interface.
[0104] The network device receives the path configuration information sent by the network management controller and performs data transmission according to the path configuration information. Here, the network device is actually an IP network device, such as a router, a switch, etc.
[0105] The embodiments of the present application provide a network node transmission method, which receives the path configuration information sent by the network management controller and performs data transmission according to the path configuration information. Among them, the network management controller obtains a path optimization request; according to the network topology data of the target network, determines at least one candidate path between the network node indicated by the source node identifier and the network node indicated by the destination node identifier, and predicts the traffic prediction values of the transmission links at a plurality of preset time points according to the historical traffic data of the transmission links between each network node on the candidate path; determines the node state prediction values of each network node according to the service data volume and the traffic prediction values of each transmission link on the candidate path at a plurality of the time points; determines the target path of the target service flow from at least one candidate path according to the node state prediction values of each network node, and generates the path configuration information of the target path.
[0106] In this way, the network management controller predicts the traffic prediction values of each transmission link on the candidate path at a plurality of preset time points, determines the node state prediction values of the network nodes according to the traffic prediction values, so as to determine the target path according to the node prediction values of each network node, which can improve the timeliness of the target path, reduce the possibility of traffic congestion occurring again after path optimization, and furthermore, perform data transmission according to the path configuration information of the target path, which can reduce the risk of data packet loss caused by frequent congestion and path optimization and improve the stability of network services.
[0107] Figure 8The figure shows a schematic diagram of the hardware structure of the electronic device provided in the embodiments of the present application. Referring to this figure, at the hardware level, the electronic device includes a processor, and optionally, an internal bus, a network interface, and a memory. Among them, the memory may include internal memory, such as high-speed random access memory (RAM), and may also include non-volatile memory, such as at least one disk memory, etc. Of course, this computer device may also include other hardware required for other services.
[0108] The processor, network interface, and memory can be interconnected through an internal bus. The internal bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of simplicity of representation, only a bidirectional arrow is used in this figure, but it does not mean that there is only one bus or one type of bus.
[0109] The memory stores programs. Specifically, the program may include program code, and the program code includes computer operation instructions. The memory may include internal memory and non-volatile memory, and provide instructions and data to the processor.
[0110] The processor reads the corresponding computer program from the non-volatile memory into the internal memory and then runs it, forming a device for locating the target user at the logical level. The processor executes the program stored in the memory and specifically executes: Figure 1 、 Figure 5 Or Figure 6 The method disclosed in the illustrated embodiment realizes the functions and beneficial effects of each method described in the foregoing method embodiments, which will not be elaborated herein.
[0111] The above is as in the present application Figure 1 、 Figure 5 Or Figure 6The method disclosed in the illustrated embodiment can be applied in or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by the integrated logic circuit in the hardware of the processor or instructions in software form. The above processor may be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it may also be 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, discrete hardware components. It can implement or execute each method, step, and logic block diagram disclosed in the embodiments of the present application. 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 combination with the embodiments of the present application can be directly embodied as being executed and completed by the hardware decoding processor, or executed and completed by a combination of the hardware and software modules in the decoding processor. The software module may be located in a mature storage medium 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. This storage medium is located in the memory, and the processor reads the information in the memory and combines its hardware to complete the steps of the above method.
[0112] The computer device can also execute each method described in the foregoing method embodiments and achieve the functions and beneficial effects of each method described in the foregoing method embodiments, which will not be elaborated here.
[0113] Of course, in addition to the software implementation manner, the electronic device of the present application does not exclude other implementation manners, such as a logic device or a combination of software and hardware, etc. That is to say, the execution subject of the following processing flow is not limited to each logic unit, and may also be hardware or a logic device.
[0114] The embodiments of the present application also propose a computer-readable storage medium. The computer-readable medium stores one or more programs. When the one or more programs are executed by an electronic device including multiple application programs, the electronic device is caused to execute Figure 1 、 Figure 5 or Figure 6 the method disclosed in the illustrated embodiment and achieve the functions and beneficial effects of each method described in the foregoing method embodiments, which will not be elaborated here.
[0115] Among them, the computer-readable storage medium includes a read-only memory (ROM), a random access memory (RAM), a magnetic disk, an optical disc, and the like.
[0116] Furthermore, an embodiment of the present application also provides a computer program product. The computer program product includes a computer program stored on a non-transitory computer-readable storage medium. The computer program includes program instructions. When the program instructions are executed by a computer, the following processes are implemented: Figure 1 , Figure 5 or Figure 6 The method disclosed in the illustrated embodiment realizes the functions and beneficial effects of each method described in the foregoing method embodiments, and will not be elaborated herein.
[0117] In summary, the above are only the preferred embodiments of the present application, and do not limit the protection scope of the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
[0118] The systems, devices, modules, or units illustrated in the above embodiments may be specifically implemented by a computer chip or an entity, or by a product with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or any combination of these devices.
[0119] Computer-readable media includes both permanent and non-permanent, removable and non-removable media and may be implemented by any method or technology for storing information. The information may be computer-readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile discs (DVDs) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission media that can store information accessible by a computing device. As defined herein, computer-readable media does not include transitory media such as modulated data signals and carrier waves.
[0120] It should also be noted that the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, article or apparatus comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or apparatus. Without further limitation, an element defined by the phrase "comprising an..." does not exclude the presence of additional identical elements in the process, method, article or apparatus comprising said element.
[0121] Each embodiment in this specification is described in a progressive manner. For the same or similar parts among the embodiments, reference can be made to each other. Each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple. For the relevant parts, reference can be made to the description of the method embodiment.
Claims
1. A network path optimization method, characterized in that, Including: Obtain a path optimization request, where the path optimization request includes a source node identifier, a destination node identifier, and the service data volume of the target service flow; According to the network topology data of the target network, determine at least one candidate path between the network node indicated by the source node identifier and the network node indicated by the destination node identifier, and predict the traffic prediction values of the transmission link at a plurality of preset time points according to the historical traffic data of the transmission link between each network node on the candidate path; According to the service data volume and the traffic prediction values of each transmission link on the candidate path at the plurality of time points, determine the node state prediction values of each network node; According to the node state prediction values of each network node, determine the target path of the target service flow from the at least one candidate path, and generate the path configuration information of the target path.
2. The method according to claim 1, characterized in that, The obtaining of the path optimization request includes: In response to a user's selection operation on the source node and the destination node to be optimized on the operation interface, obtain the source node identifier corresponding to the source node and the destination node identifier corresponding to the destination node; According to the source node identifier, the destination node identifier, and the service data volume of the target service flow set in advance, obtain the path optimization request.
3. The method according to claim 1, wherein The obtaining of the path optimization request includes: Monitor the network performance metrics of the target network. When the network performance metrics reach the preset performance metric threshold, obtain the path optimization request according to the source node identifier to be optimized, the destination node identifier, and the service data volume of the target service flow configured in advance.
4. The method according to claim 1, characterized in that The predicting of the traffic prediction values of the transmission link at a plurality of preset time points according to the historical traffic data of the transmission link between each network node on the candidate path includes: According to the historical traffic data of the transmission link between each network node on the candidate path, determine the correspondence between each time point and the traffic value within a preset time period; According to the correspondence between each time point and the traffic value within the preset time period, determine the traffic prediction values corresponding to the transmission link at a plurality of preset time points.
5. The method according to claim 1, wherein The determining of the node state prediction values of each network node according to the service data volume and the traffic prediction values of each transmission link on the candidate path at the plurality of time points includes: According to the service data volume of the target service flow at the plurality of time points, determine the service traffic prediction vector corresponding to the target service flow; According to the traffic prediction values of each transmission link on the candidate path at the plurality of time points, determine the link traffic prediction vector corresponding to each transmission link; For each network node on the candidate path, perform a vector operation on the service traffic prediction vector and the link traffic prediction vector corresponding to the target transmission link according to the preconfigured path selection strategy to obtain the node state prediction value of the network node; where the target transmission link is the transmission link from the previous node adjacent to the network node to the network node; the vector operation is determined according to the path selection strategy.
6. The method according to claim 5, characterized in that When the path selection strategy is to minimize the bandwidth utilization rate, the vector operation is performed on the service traffic prediction vector and the link traffic prediction vector corresponding to the target transmission link according to the path selection strategy to obtain the predicted value of the node state of the network node, including: Performing a vector addition operation on the service traffic prediction vector and the link traffic prediction vector corresponding to the target transmission link, and determining the bandwidth utilization rate of the target transmission link at multiple time points according to the vector obtained after the vector addition operation and the link bandwidth of the target transmission link; Determining the maximum bandwidth utilization rate among the bandwidth utilization rates corresponding to multiple time points as the first predicted value of the node state of the network node.
7. The method according to claim 6, wherein When the path selection strategy is to minimize the bandwidth utilization rate fluctuation, it further includes: Obtaining the maximum bandwidth utilization rate and the minimum bandwidth utilization rate among the bandwidth utilization rates corresponding to multiple time points; Determining the difference between the maximum bandwidth utilization rate and the minimum bandwidth utilization rate as the second predicted value of the node state of the network node.
8. The method according to claim 7, characterized in that, When the path selection strategy is the shortest path, it further includes: Configuring a third predicted value of the node state for the network node indicated by the source node identifier; For each network node on the candidate path, determining the third predicted value of the node state of the network node according to the third predicted value of the previous node adjacent to the network node and a preset increment.
9. The method according to claim 5, wherein The path selection strategy includes multiple ones. Determining the target path of the target service flow from the at least one candidate path according to the predicted values of the node states of each network node includes: Obtaining the set of predicted values of the node states corresponding to each network node under multiple path selection strategies; Determining the target predicted value of the node state in the set of predicted values of the node states of each network node according to the priority corresponding to each path selection strategy; Determining the target path of the target service flow by comparing the magnitudes of the target predicted values of the node states of the network nodes on each candidate path; wherein, the at least one candidate path includes a first candidate path and a second candidate path; When the target predicted value of the node state of the network node on the first candidate path is equal to the target predicted value of the node state of the network node on the second candidate path, determining the target path of the target service flow by comparing the magnitudes of the other predicted values of the node states of the network nodes on the first candidate path and the other predicted values of the node states of the network nodes on the second candidate path; wherein, the other predicted values of the node states are the predicted values of the node states in the set of predicted values of the node states except the target predicted value of the node state.
10. A network node transmission method, characterized in that, Including: Receiving the path configuration information sent by the network management controller, and performing data transmission according to the path configuration information, where the path configuration information is generated according to the method according to any one of claims 1 to 9.
11. An electronic device, characterized in that, The electronic device includes a processor and a memory, and the memory stores a program or instruction that can run on the processor. When the program or instruction is executed by the processor, the steps of the method according to any one of claims 1 to 10 are implemented.
12. A readable storage medium, characterized in that, The program or instruction is stored on the readable storage medium, and when the program or instruction is executed by the processor, the steps of the method according to any one of claims 1 to 10 are implemented.
Citation Information
Cited By
Communication path matching method and system
CN120785756A