Intelligent routing method, device and network equipment
Through intelligent routing methods, deep convolutional neural network is used to predict the router's traffic pattern and optimize routing planning, solving the resource waste and delay problems of traditional routing protocols when facing large-scale networks, and achieving more efficient network transmission.
Patent Information
- Application Number
- CN202111466333.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-03
- Publication Date
- 2025-01-17
- Estimated Expiration
- 2041-12-03
AI Technical Summary
Traditional internal gateway protocols such as RIP and OSPF, in the face of the increasing network link structure, lead to resource waste and increased transmission delay, which cannot effectively solve the problem of network congestion.
Using intelligent routing methods, pre-trained deep convolutional neural network predicts the traffic pattern of the router, and through the convolution pooling network and residual neural network stacking structure, the implicit features of the input samples are quickly and efficiently discovered, routing planning is optimized, and calculation is reduced. Resource consumption and transmission delay.
Optimizing routing planning through deep learning technology reduces network signal overhead, total throughput and average latency of next hop, and improves network transmission efficiency.
Smart Images

Figure CN114448821B_ABST
Abstract
Description
Technical Field
[0001] This document relates to the field of communication technology, and in particular to an intelligent routing method, device and network equipment. Background Art
[0002] In computer network communication, routing technology is a key and core technology. Among them, routing selection protocol is the core part of routing technology. According to the autonomous system of the network, routing protocols are divided into internal gateway protocol IGPI and external gateway protocol EGP. The main focus of this discussion is the network communication protocol in the autonomous system, so the focus is on the internal gateway protocol IGPI.
[0003] Traditional internal gateway protocols mainly include and use RIP (Routing Information Protocol) and OSPF (Open Shortest Path First). The working steps of OSPF are: 1. Establish neighbors. 2. Broadcast link status to all routers in the network and update the routing table. 3. Calculate the optimal route through some traditional shortest path algorithms; RIP and OSPF performed well in the early days, but with the increase in network users and the surge in the amount of data requested for network transmission, the problems of these traditional routing protocols have become increasingly prominent. For example, OSPF needs to broadcast and update the routing table every time it is updated, which greatly consumes computing resources. The transmission delay caused by this computing time will also cause congestion in the network. Simply adding routes and links will lead to an increase in human and material investment, so a new routing algorithm is needed to solve this problem. Summary of the invention
[0004] This specification provides an intelligent routing method to solve the problem of resource waste and transmission delay caused by the inability to meet the increasing network link structure.
[0005] In a first aspect, an embodiment of this specification provides an intelligent routing method, which is applied to a router, including:
[0006] When receiving a transmission service request from a service requester, determining the traffic pattern of each router in the network within a recent preset historical period, wherein the transmission service request includes a sending point route and a receiving point route, wherein the sending point route and the receiving point route correspond to the service requester and the target service provider, respectively;
[0007] The traffic pattern of each router is used as the input of the pre-trained deep convolutional neural network of the originating point route to predict the next route; if the next route is a non-receiving point route, the next route is predicted with the next route as the new originating point route, and so on, until the predicted next route is the receiving point route; the network structure of the pre-trained deep convolutional neural network includes a convolutional pooling network, a residual neural network and an output classification layer connected in sequence, the convolutional pooling network includes at least one convolutional pooling module, the residual neural network includes at least one residual module, the input of the convolutional pooling network is the traffic pattern of each router, and the output of the output classification layer is the position of the next route;
[0008] The service requester is routed to the target service provider based on a routing path, wherein the routing path is used to reflect the predicted sequence of each routing location.
[0009] Optionally, determining the traffic pattern of each router in the network within a recent preset historical period includes:
[0010] The traffic monitoring module in each router in the network records the number of inbound data packets in the most recent preset historical period;
[0011] Based on the number of inbound packets, the traffic pattern of this router is determined, and the traffic pattern of this router is distributed to the edge routes of other routers in the form of broadcast.
[0012] Optionally, the convolutional pooling module includes: a first layer and a second layer, wherein:
[0013] The first layer is a convolutional layer, which contains multiple convolutional filters, the filling method is VALID, and the activation function is the Relu function;
[0014] The second layer is a maximum pooling layer, which retains the maximum value among each pair of neighborhood points in the convolutional layer.
[0015] Optionally, the residual module includes: a first layer, a second layer, a third layer and a fourth layer in sequence, wherein:
[0016] The first layer is the convolution layer, which contains multiple convolution filters, with a sliding step size of 1, a padding method of VALID, and an activation function of Relu.
[0017] The second layer is the Flatten layer, which flattens the output of the convolutional layer and inputs it into the fully connected layer;
[0018] The third layer is a fully connected layer, and the activation function of the fully connected layer is Relu;
[0019] The fourth layer is the convolutional layer, which contains multiple convolutional filters, the filling method is VALID, and the activation function is Relu.
[0020] Among them, the output vector of the residual module is the sum of the output vector of the fourth layer and the input vector.
[0021] Optionally, the loss function of the neural network corresponding to the first layer and the fourth layer of the residual module is a cross entropy loss function.
[0022] Optionally, the position of the next routing output by the output classification layer is in a one-hot encoding form, and the method further includes:
[0023] The one-hot encoding output by the output classification layer is converted into the next routing position.
[0024] Optionally, the predicting a next route as a new originating point route includes:
[0025] Re-determine the traffic pattern of each router in the network within a recent preset historical period;
[0026] The re-determined traffic pattern of each router is used as the input of the pre-trained deep convolutional neural network to predict the next route.
[0027] Optionally, before routing the service requester to the target service provider based on the routing path, the method further includes:
[0028] Each routing position is recorded in sequence in the local routing table to obtain a routing path, so as to route the service requester to the target service provider according to the routing path existing in the routing table.
[0029] In a second aspect, the embodiments of this specification also provide an intelligent routing device, which is mounted on a router and includes: a central control module and a traffic monitoring module, wherein:
[0030] The traffic monitoring module is used to obtain in real time the traffic pattern of each router in the network topology structure within a recent preset historical period;
[0031] The central control module is used to receive a transmission service request from a service requester, wherein the transmission service request includes a transmission point route and a receiving point route, and the transmission point route and the receiving point route correspond to the service requester and the target service provider respectively; the traffic pattern of each router is used as the input of the pre-trained deep convolutional neural network of the transmission point route to predict the next route; if the next route is a non-receiving point route, the next route is predicted with the next route as the new transmission point route, and so on, until the predicted next step route is the receiving point route; the network structure of the pre-trained deep convolutional neural network includes a convolutional pooling network, a residual neural network and an output classification layer connected in sequence, the convolutional pooling network includes at least one convolutional pooling module, the residual neural network includes at least one residual module, the input of the convolutional pooling network is the traffic pattern of each router, and the output of the output classification layer is the position of the next route; the service requester is routed to the target service provider based on the routing path, and the routing path is used to reflect the order of the predicted routing positions of each step.
[0032] Optionally, the flow monitoring module is specifically used to:
[0033] The traffic monitoring module in each router in the network records the number of inbound data packets in the most recent preset historical period;
[0034] Based on the number of inbound packets, the traffic pattern of this router is determined, and the traffic pattern of this router is distributed to the edge routes of other routers in the form of broadcast.
[0035] Optionally, the convolutional pooling module includes: a first layer and a second layer, wherein:
[0036] The first layer is a convolutional layer, which contains multiple convolutional filters, the filling method is VALID, and the activation function is the Relu function;
[0037] The second layer is a maximum pooling layer, which retains the maximum value among each pair of neighborhood points in the convolutional layer.
[0038] Optionally, the residual module includes: a first layer, a second layer, a third layer and a fourth layer in sequence, wherein:
[0039] The first layer is the convolution layer, which contains multiple convolution filters, with a sliding step size of 1, a padding method of VALID, and an activation function of Relu.
[0040] The second layer is the Flatten layer, which flattens the output of the convolutional layer and inputs it into the fully connected layer;
[0041] The third layer is a fully connected layer, and the activation function of the fully connected layer is Relu;
[0042] The fourth layer is the convolutional layer, which contains multiple convolutional filters, the filling method is VALID, and the activation function is Relu.
[0043] Among them, the output vector of the residual module is the sum of the output vector of the fourth layer and the input vector.
[0044] Optionally, the loss function of the neural network corresponding to the first layer and the fourth layer of the residual module is a cross entropy loss function.
[0045] Optionally, the position of the next routing output by the output classification layer is in a one-hot encoding form, and the device further includes:
[0046] The encoding conversion module is used to convert the one-hot encoding output by the output classification layer into the next routing position.
[0047] Optionally, the central control module is specifically used to:
[0048] Re-determine the traffic pattern of each router in the network within a recent preset historical period; use the re-determined traffic pattern of each router as input to the pre-trained deep convolutional neural network to predict the next route.
[0049] Optionally, the device further comprises:
[0050] The recording module is used to record each routing position in sequence in the local routing table to obtain a routing path for routing the service requester to the target service provider according to the routing path existing in the routing table.
[0051] In a third aspect, an embodiment of this specification further provides a network device, including: a communication interface, a processor, and a memory;
[0052] The processor calls the program instructions in the memory to perform the following actions:
[0053] When receiving a transmission service request from a service requester, determining the traffic pattern of each router in the network within a recent preset historical period, wherein the transmission service request includes a sending point route and a receiving point route, wherein the sending point route and the receiving point route correspond to the service requester and the target service provider, respectively;
[0054] The traffic pattern of each router is used as the input of the pre-trained deep convolutional neural network of the originating point route to predict the next route; if the next route is a non-receiving point route, the next route is predicted with the next route as the new originating point route, and so on, until the predicted next route is the receiving point route; the network structure of the pre-trained deep convolutional neural network includes a convolutional pooling network, a residual neural network and an output classification layer connected in sequence, the convolutional pooling network includes at least one convolutional pooling module, the residual neural network includes at least one residual module, the input of the convolutional pooling network is the traffic pattern of each router, and the output of the output classification layer is the position of the next route;
[0055] The service requester is routed to the target service provider based on a routing path, wherein the routing path is used to reflect the predicted sequence of each routing location.
[0056] At least one of the above technical solutions adopted in the embodiments of this specification can achieve the following beneficial effects:
[0057] By constructing a network composed of multiple convolutional network layers and residual network layers, the first few layers of the network include convolutional neural network modules and residual modules, and the last layer uses a softmax fully connected layer for classification, and the output is a one hot encoding vector representing the routing location. This algorithm can quickly and efficiently discover the implicit features of the input samples, so as to better perform routing planning. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0059] Figure 1 A flowchart of an intelligent routing method provided in one embodiment of this specification;
[0060] Figure 2 A schematic diagram of the structure of an intelligent routing device provided in one embodiment of this specification;
[0061] Figure 3 A schematic diagram of the operating principle of a routing algorithm provided in an embodiment of this specification;
[0062] Figure 4 A schematic diagram of an intelligent routing algorithm network provided in an embodiment of this specification.
[0063] Figure 5 A schematic diagram of the structure of a residual module provided in one embodiment of this specification.
[0064] Figure 6A structural diagram of a convolution module provided in an embodiment of this specification
[0065] Figure 7 A schematic diagram of the structure of a network device provided in one embodiment of this specification. DETAILED DESCRIPTION
[0066] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.
[0067] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.
[0068] Figure 1 A flowchart of an intelligent routing method provided in an embodiment of this specification is shown. The method is executed by a source router or a processor inside the source router. Figure 1 , the method may specifically include the following steps:
[0069] Step 102: upon receiving a transmission service request from a service requester, determining a traffic pattern of each router in the network within a recent preset historical period, wherein the transmission service request may be a network request sent by a corresponding client, which may include a sending point route and a receiving point route, wherein the sending point route and the receiving point route correspond to the service requester and the target service provider, respectively; or, the transmission service request may mark the service requester and the target service provider;
[0070] The traffic pattern refers to the network traffic passing through each router at each time Δt; each router may refer to all routers in the network that initiate requests during the current period.
[0071] It should be noted that one implementation of step 102 may be:
[0072] The traffic monitoring module in each router in the network records the number of inbound data packets in the most recent preset historical period; based on the number of inbound data packets, the traffic pattern of this router is determined, and the traffic pattern of this router is distributed to the edge routes of other routers in the form of broadcast. Among them, the routers in the network are divided into edge routes and internal routes. The edge routes belong to servers in different network segments, and the internal routes only have forwarding functions. The internal routes and edge routes distribute the traffic patterns to all edge routes in the form of broadcast.
[0073] Step 104: using the traffic pattern of each router as the input of the pre-trained deep convolutional neural network of the originating point route to predict the next route; if the next route is a non-receiving point route, then using the next route as the new originating point route to predict the next route of the new originating point route, and so on, until the predicted next route is the receiving point route; the network structure of the pre-trained deep convolutional neural network includes a convolutional pooling network, a residual neural network and an output classification layer connected in sequence, the convolutional pooling network includes at least one convolutional pooling module, the residual neural network includes at least one residual module, the input of the convolutional pooling network is the traffic pattern of each router, and the output of the output classification layer is the position of the next route;
[0074] The specific network structure of the deep convolutional neural network can be adjusted as needed, such as the number of network layers, etc. Here, it is preferred that the deep convolutional neural network is stacked with multiple convolutional network layers and residual network layers. Figure 4 In one feasible embodiment, the specific network structure of the deep convolutional neural network may include:
[0075] Input layer: The traffic signals of each router in the network communication form a column vector.
[0076] C1 layer: convolutional pooling module. Preferably, a convolutional pooling module containing 8 filters is selected.
[0077] C2 layer: convolutional pooling module. Preferably, a convolutional pooling module containing 16 filters is selected.
[0078] R1 layer: residual block; through the residual block, the network can become deeper without much change in the stability of the network.
[0079] R2 layer: residual module.
[0080] R3 layer: residual module.
[0081] D1 layer: fully connected layer, this layer is the output classification layer of the network. The number of neurons is the number of routers in the network communication structure, and the activation function is the softmax function. The position of the next route is output in the form of encoding. Then the position of the next route is obtained through the decoding module.
[0082] The following is an expanded description of the convolutional pooling module and the residual module:
[0083] See also Figure 6 , the convolutional pooling module is a component in constructing a neural network, which may include: a first layer and a second layer, wherein:
[0084] The first layer is a convolutional layer, which contains multiple convolutional filters, the filling method is VALID, batch normalization is performed, and the activation function is the Relu function;
[0085] The second layer is a maximum pooling layer, which retains the maximum value among each pair of neighborhood points in the convolutional layer.
[0086] In this way, the high-dimensional features hidden in the data can be extracted.
[0087] See also Figure 5 , the residual module is a component in the network, which may include: a first layer, a second layer, a third layer and a fourth layer in sequence, wherein:
[0088] The first layer is the convolution layer, which contains multiple convolution filters, with a sliding step size of 1, a padding method of VALID, and an activation function of Relu.
[0089] The second layer is the Flatten layer, which flattens the output of the convolutional layer and inputs it into the fully connected layer;
[0090] The third layer is a fully connected layer, and the activation function of the fully connected layer is Relu. Adding the fully connected layer can make the neural network more complex and enhance the expression ability of the neural network;
[0091] The fourth layer is the convolutional layer, which contains multiple convolutional filters, the filling method is VALID, and the activation function is Relu.
[0092] Through the residual module, very deep networks can be constructed without training problems, so the high-dimensional features of the data can be mined more effectively.
[0093] The output vector of the residual module is the sum of the output vector of the fourth layer and the input vector, which can provide the original input vector information, making the network training more stable and more expressive.
[0094] Furthermore, the loss function of the neural network corresponding to the first layer and the fourth layer of the residual module is a cross entropy loss function, which can describe the degree of deviation between the predicted next routing position and the actual next routing position.
[0095] Furthermore, taking into account the timeliness of traffic patterns, in order to ensure the accuracy of intelligent routing, before predicting the next route with the next route as the new origin route, the traffic pattern of each router in the network within the recent preset historical period is re-determined, and the re-determined traffic pattern of each router is used as the input of the pre-trained deep convolutional neural network to predict the next route.
[0096] In addition, considering routing security, the position of the next routing output by the above-mentioned output classification layer can be in a one-hot encoding form, and the method also includes: the decoding module of the router converts the one-hot encoding output by the output classification layer into the next routing position.
[0097] Moreover, it is not difficult to understand that the central control module, the traffic monitoring module and the decoding module exist in each router. After the central control module of the first route determines the location of the next route (recorded as the second route), if the second route is not the receiving point route, the traffic monitoring module of the first route will re-determine the traffic pattern of each router, and the central control module of the first route will determine the location of the new next route (recorded as the third route) with the second route as the originating point route, and so on, until the next route is the receiving point route. In this process, each time the next route location is determined, it is recorded, so as to obtain the routing path from the originating point route to the receiving point route.
[0098] Step 106: Routing the service requester to the target service provider based on the routing path, where the routing path is used to reflect the predicted order of each routing position.
[0099] It should be noted that before executing step 106, the following steps are also included:
[0100] Each routing position is recorded in sequence in the local routing table to obtain a routing path, so as to route the service requester to the target service provider according to the routing path existing in the routing table.
[0101] The local routing table is a spreadsheet (file) or database-like file stored in a router or networked computer. The routing table stores the path to a specific network address (in some cases, the routing metric of the path is also recorded). It can facilitate network transmission along the path recorded in the routing table within a certain period of time, rather than requiring a model calculation for each service request, thus reducing the waste of server resources.
[0102] It can be seen that this embodiment constructs a network composed of multiple convolutional network layers and residual network layers, wherein the first few layers of the network include convolutional neural network modules and residual modules, and the last layer uses a softmax fully connected layer for classification, and the output is a one hot encoding vector representing the routing location. The algorithm can quickly and efficiently discover the implicit features of the input samples, so that routing planning can be better performed.
[0103] Figure 2 This is a schematic diagram of the structure of an intelligent routing device provided in an embodiment of this specification, which is mounted on a router. Figure 2 The device may specifically include: a central control module 302 and a flow monitoring module 301, wherein:
[0104] The traffic monitoring module 301 is used to obtain the traffic pattern of each router in the network topology in real time within a recent preset historical period;
[0105] The central control module 302 is used to receive a transmission service request from a service requester, wherein the transmission service request includes a transmission point route and a receiving point route, wherein the transmission point route and the receiving point route correspond to the service requester and the target service provider respectively; the traffic pattern of each router is used as the input of the pre-trained deep convolutional neural network of the transmission point route to predict the next route; if the next route is a non-receiving point route, the next route is predicted with the next route as the new transmission point route, and so on, until the predicted next step route is the receiving point route; the network structure of the pre-trained deep convolutional neural network includes a convolutional pooling network, a residual neural network and an output classification layer connected in sequence, the convolutional pooling network includes at least one convolutional pooling module, the residual neural network includes at least one residual module, the input of the convolutional pooling network is the traffic pattern of each router, and the output of the output classification layer is the position of the next route; the service requester is routed to the target service provider based on the routing path, and the routing path is used to reflect the order of the predicted routing positions of each step.
[0106] Optionally, the traffic monitoring module 301 is specifically used to:
[0107] The traffic monitoring module in each router in the network records the number of inbound data packets in the most recent preset historical period;
[0108] Based on the number of inbound packets, the traffic pattern of this router is determined, and the traffic pattern of this router is distributed to the edge routes of other routers in the form of broadcast.
[0109] Optionally, the convolutional pooling module includes: a first layer and a second layer, wherein:
[0110] The first layer is a convolutional layer, which contains multiple convolutional filters, the filling method is VALID, and the activation function is the Relu function;
[0111] The second layer is a maximum pooling layer, which retains the maximum value among each pair of neighborhood points in the convolutional layer.
[0112] Optionally, the residual module includes: a first layer, a second layer, a third layer and a fourth layer in sequence, wherein:
[0113] The first layer is the convolution layer, which contains multiple convolution filters, with a sliding step size of 1, a padding method of VALID, and an activation function of Relu.
[0114] The second layer is the Flatten layer, which flattens the output of the convolutional layer and inputs it into the fully connected layer;
[0115] The third layer is a fully connected layer, and the activation function of the fully connected layer is Relu;
[0116] The fourth layer is the convolutional layer, which contains multiple convolutional filters, the filling method is VALID, and the activation function is Relu.
[0117] Among them, the output vector of the residual module is the sum of the output vector of the fourth layer and the input vector.
[0118] Optionally, the loss function of the neural network corresponding to the first layer and the fourth layer of the residual module is a cross entropy loss function.
[0119] Optionally, the position of the next routing output by the output classification layer is in a one-hot encoding form, and the device further includes:
[0120] The encoding conversion module is used to convert the one-hot encoding output by the output classification layer into the next routing position.
[0121] Optionally, the central control module is specifically used to:
[0122] Re-determine the traffic pattern of each router in the network within a recent preset historical period; use the re-determined traffic pattern of each router as input to the pre-trained deep convolutional neural network to predict the next route.
[0123] Optionally, the device further comprises:
[0124] The recording module is used to record each routing position in sequence in the local routing table to obtain a routing path for routing the service requester to the target service provider according to the routing path existing in the routing table.
[0125] A local routing table is a spreadsheet (file) or database-like file stored in a router or networked computer. The routing table stores the path to a specific network address (in some cases, the routing metric of the path). It can facilitate network transmission along the path recorded in the routing table within a certain period of time, rather than requiring a model calculation for each service request, thus reducing the waste of server resources.
[0126] It can be seen that this embodiment constructs a network composed of multiple convolutional network layers and residual network layers, wherein the first few layers of the network include convolutional neural network modules and residual modules, and the last layer uses a softmax fully connected layer for classification, and the output is a one hot encoding vector representing the routing location. The algorithm can quickly and efficiently discover the implicit features of the input samples, so that routing planning can be better performed.
[0127] The following is an explanation of the above from the perspective of the implementation principle. Figure 1 and Figure 2 The corresponding embodiments are described in detail:
[0128] First, the overall architecture includes: convolutional pooling module and residual module, as well as central control module, traffic monitoring module and decoding module widely present in SDN architecture, among which:
[0129] The convolutional pooling module is a component in constructing a neural network. It consists of a convolutional layer and a maximum pooling layer, which can extract high-dimensional features hidden in the data.
[0130] Residual module,The residual module is a component in the network, which consists of two convolutional layers, a fully connected layer, and a flatten layer.,Through the residual module, we can build very deep networks without training problems, so we can mine the high-dimensional features of the data more effectively.
[0131] Central control module, the central control module is a central server responsible for model calculation, its architecture idea is SDN (software define networks, software defined network), through this method we can achieve any method of allocating routing paths, rather than fixed routing protocols. Therefore, we can use deep convolutional neural networks in the central control module to predict the next route based on the traffic pattern obtained in the previous module as network input.
[0132] The traffic monitoring module obtains the traffic pattern of each router in the network topology within the previous Δt time in real time.
[0133] The decoding module converts the one-hot encoding obtained after model prediction into the next routing position.
[0134] Based on this framework, the intelligent routing method includes the following steps:
[0135] Step 1. Deploy a central control server in a network structure and use the traffic monitoring module to record the traffic pattern of each router in the network within the previous Δt time.
[0136] Step 2. Use the pre-trained deep convolutional neural network in the central control module to predict the next route, and then use this route as the starting point to iterate the prediction until the target route is predicted, and record the path in the routing table.
[0137] Step 3: Perform network signal propagation according to the routing path predicted in step 2.
[0138] In step 1, the specific steps of recording the traffic pattern of the router in the network structure are as follows:
[0139] Step 1.1. All routers in the network record the number of incoming packets.
[0140] Step 1.2. Routers in the network are divided into edge routers and internal routers. Edge routers belong to servers in different network segments, and internal routers only have forwarding functions. Internal routers and edge routers distribute traffic patterns to all edge routers in the form of broadcasts.
[0141] In step 2, the specific steps of using the central control module of the edge routing of the origin to perform prediction are:
[0142] Step 2.1. In the built-in central control module of the router at the origin of the planned routing path, the traffic data in the traffic pattern module is input into the pre-trained deep convolutional neural network to predict the next route.
[0143] Step 2.2. If the next route predicted in step 2.1 is not the receiving point of the planned routing path, the next route predicted in step 2.1 is used as the starting point, and the data is input into the pre-trained deep convolutional neural network of the router at the starting point to predict the next route. The iteration stops when the next route is the receiving point route.
[0144] In step 3, network signal transmission is performed according to the path predicted in step 2.
[0145] The input data of the pre-trained deep convolutional neural network in the above steps is the traffic data of each router in the network, and the output is the next routing position of the current router. Its specific network structure includes:
[0146] Input layer: The traffic signals of each router in the network communication form a column vector.
[0147] C1 layer: convolutional pooling module. Preferably, a convolutional pooling module consisting of 8 filters is selected.
[0148] C2 layer: convolutional pooling module. Preferably, a convolutional pooling module consisting of 16 filters is selected.
[0149] R1 layer: residual block; through the residual block, the network can become deeper without much change in the stability of the network.
[0150] R2 layer: residual module.
[0151] R3 layer: residual module.
[0152] D1 layer: fully connected layer, this layer is the output classification layer of the network. The number of neurons is the number of routers in the network communication structure, and the activation function is the softmax function. The position of the next route is output in the form of encoding. Then the position of the next route is obtained through the decoding module.
[0153] Among them, the residual modules can continue to be stacked, preferably 3 layers.
[0154] The following is an exemplary explanation of the operation principle of the routing algorithm:
[0155] Assume that a transmission service request is accepted, and the transmission service request carries a sending point and a receiving point, for example, router No. 1 R1 to router No. 9 R9.
[0156] Example 1: Run a deep convolutional neural network in router R1, with the parameters set to the pre-trained WMs1,9, and output the location of the next router, assuming it is router 3. Then run a deep convolutional neural network in router 1, with the parameters set to WMs3,9, and output the location of the next router, and iterate until it reaches the final router 9. WMs refers to the table that manages all network parameters.
[0157] Example 2: Combination Figure 3 , the specific steps include:
[0158] S1, in the R1 router, sends a data packet to R9 based on all the parameters WMs obtained through training, and calculates the path from R1 to R9;
[0159] S2, use the parameter WMs1,9 to get DL1,9, and calculate the next router position R5;
[0160] S3, use the parameter WMs5,9 to get DL5,9 to calculate the next router position R6;
[0161] S4, use the parameter WM6,9 to get DL6,9 to calculate the next routing position R7;
[0162] S5, use the parameter WMs7,9 to get DL7,9 to calculate the next router position R9;
[0163] S6. Obtain the path R1→R5→R6→R7→R9.
[0164] It can be seen that compared with traditional routing protocols such as RIP, OSPF, etc., this solution applies the popular deep learning technology to the field of network information transmission. Through the three main modules of the central control module, traffic monitoring module, and prediction path module in the router, the transmission paths of a large number of routes in the network are planned. In each step of route transmission, the deep convolutional neural network is used to predict the location of the next route and store it, and then the transmission path of all routes in the network is obtained. In the face of the increasing amount of network signal transmission, the routing transmission method constructed using deep learning technology reduces the network signal overhead, the total network throughput, and the average delay of the next hop in the network.
[0165] Figure 7 A schematic diagram of a network device provided in an embodiment of this specification is shown in FIG. Figure 7 , the network device can implement the details of the intelligent routing method in the above embodiment and achieve the same effect. Figure 7 As shown, the network device 700 includes: a processor 701, a transceiver 702, a memory 703, a user interface 704 and a bus interface, wherein:
[0166] In the embodiment of the present invention, the network device 700 further includes: a computer program stored in the memory 703 and executable on the processor 701, and the computer program is executed by the processor 701 to implement the following steps:
[0167] When receiving a transmission service request from a service requester, determining the traffic pattern of each router in the network within a recent preset historical period, wherein the transmission service request includes a sending point route and a receiving point route, wherein the sending point route and the receiving point route correspond to the service requester and the target service provider, respectively;
[0168] The traffic pattern of each router is used as the input of the pre-trained deep convolutional neural network of the originating point route to predict the next route; if the next route is a non-receiving point route, the next route is predicted with the next route as the new originating point route, and so on, until the predicted next route is the receiving point route; the network structure of the pre-trained deep convolutional neural network includes a convolutional pooling network, a residual neural network and an output classification layer connected in sequence, the convolutional pooling network includes at least one convolutional pooling module, the residual neural network includes at least one residual module, the input of the convolutional pooling network is the traffic pattern of each router, and the output of the output classification layer is the position of the next route;
[0169] The service requester is routed to the target service provider based on a routing path, wherein the routing path is used to reflect the predicted sequence of each routing location.
[0170] exist Figure 7In the embodiment, the bus architecture may include any number of interconnected buses and bridges, specifically one or more processors represented by processor 701 and various circuits of memory represented by memory 703 are linked together. The bus architecture may also link together various other circuits such as peripherals, voltage regulators, and power management circuits, which are well known in the art and are therefore not further described herein. The bus interface provides an interface. The transceiver 702 may be a plurality of components, namely, a transmitter and a receiver, providing a unit for communicating with various other devices on a transmission medium. For different user devices, the user interface 704 may also be an interface capable of externally and internally connecting required devices, and the connected devices include but are not limited to a keypad, a display, a speaker, a microphone, a joystick, and the like.
[0171] The processor 701 is responsible for managing the bus architecture and general processing, and the memory 703 can store data used by the processor 701 when performing operations.
[0172] In the embodiment of the present invention, by configuring a dynamic routing diversion scheme between routers and gateways, high-value traffic is screened out and diverted to the business platform, and most of the invalid traffic is passed to the public network, thereby reducing the consumption of transmission bandwidth and business platform.
[0173] Optionally, when the computer program is executed by the processor 701, the following steps may also be implemented:
[0174] Determining the traffic pattern of each router in the network within the most recent preset historical period includes:
[0175] The traffic monitoring module in each router in the network records the number of inbound data packets in the most recent preset historical period;
[0176] Based on the number of inbound packets, the traffic pattern of this router is determined, and the traffic pattern of this router is distributed to the edge routes of other routers in the form of broadcast.
[0177] The convolutional pooling module includes a first layer and a second layer, wherein:
[0178] The first layer is a convolutional layer, which contains multiple convolutional filters, the filling method is VALID, and the activation function is the Relu function;
[0179] The second layer is a maximum pooling layer, which retains the maximum value among each pair of neighborhood points in the convolutional layer.
[0180] The residual module includes: a first layer, a second layer, a third layer and a fourth layer in sequence, wherein:
[0181] The first layer is the convolution layer, which contains multiple convolution filters, with a sliding step size of 1, a padding method of VALID, and an activation function of Relu.
[0182] The second layer is the Flatten layer, which flattens the output of the convolutional layer and inputs it into the fully connected layer;
[0183] The third layer is a fully connected layer, and the activation function of the fully connected layer is Relu;
[0184] The fourth layer is the convolutional layer, which contains multiple convolutional filters, the filling method is VALID, and the activation function is Relu.
[0185] Among them, the output vector of the residual module is the sum of the output vector of the fourth layer and the input vector.
[0186] Among them, the loss function of the neural network corresponding to the first layer and the fourth layer of the residual module is the cross entropy loss function.
[0187] Wherein, the position of the next routing output by the output classification layer is in one-hot encoding form, and the method further includes:
[0188] The one-hot encoding output by the output classification layer is converted into the next routing position.
[0189] The following step predicts a next route for the new originating point route, including:
[0190] Re-determine the traffic pattern of each router in the network within a recent preset historical period;
[0191] The re-determined traffic pattern of each router is used as the input of the pre-trained deep convolutional neural network to predict the next route.
[0192] Before routing the service requester to the target service provider based on the routing path, the method further includes:
[0193] Each routing position is recorded in sequence in the local routing table to obtain a routing path, so as to route the service requester to the target service provider according to the routing path existing in the routing table.
[0194] Compared with traditional routing protocols, such as RIP, OSPF, etc., this network device applies the popular deep learning technology to the field of network information transmission. Through the central control module and traffic monitoring module in the router, the transmission paths of a large number of routes in the network are planned. In each step of route transmission, the deep convolutional neural network is used to predict the location of the next route and store it, thereby obtaining the transmission path of all routes in the network. In the face of the increasing amount of network signal transmission, the routing transmission method constructed using deep learning technology reduces network signal overhead, total network throughput, and the average delay of the next hop in the network.
[0195] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0196] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0197] These computer program instructions may also be stored in a computer readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0198] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0199] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0200] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0201] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules 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 technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0202] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0203] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0204] The above is only an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.
Claims
1. An intelligent routing method, characterized in that: Applicable to routers, including: When receiving a transmission service request from a service requester, determining the traffic pattern of each router in the network within a recent preset historical period, wherein the transmission service request includes a sending point route and a receiving point route, wherein the sending point route and the receiving point route correspond to the service requester and the target service provider, respectively; The traffic pattern of each router is used as the input of the pre-trained deep convolutional neural network of the originating point route to predict the next route; if the next route is a non-receiving point route, the next route is predicted with the next route as the new originating point route, and so on, until the predicted next route is the receiving point route; the network structure of the pre-trained deep convolutional neural network includes a convolutional pooling network, a residual neural network and an output classification layer connected in sequence, the convolutional pooling network includes at least one convolutional pooling module, the residual neural network includes at least one residual module, the input of the convolutional pooling network is the traffic pattern of each router, and the output of the output classification layer is the position of the next route; Routing the service requester to the target service provider based on a routing path, wherein the routing path is used to reflect the order of each predicted routing position; The step of determining the traffic pattern of each router in the network within a recent preset historical period includes: The traffic monitoring module in each router in the network records the number of inbound data packets in the most recent preset historical period; Based on the number of inbound packets, determine the traffic pattern of this router and distribute the traffic pattern of this router to the edge routes of other routers in the form of broadcast; The following step predicts a next route for the new originating point route, including: Re-determine the traffic pattern of each router in the network within a recent preset historical period; The re-determined traffic patterns of each router are used as input to the pre-trained deep convolutional neural network to predict the next route; Before routing the service requester to the target service provider based on the routing path, the method further includes: Each routing position is recorded in sequence in the local routing table to obtain a routing path, so as to route the service requester to the target service provider according to the routing path existing in the routing table.
2. The method according to claim 1, characterized in that The convolutional pooling module includes: a first layer and a second layer, wherein: The first layer is a convolutional layer, which contains multiple convolutional filters, the filling method is VALID, and the activation function is the Relu function; The second layer is a maximum pooling layer, which retains the maximum value among each pair of neighborhood points in the convolutional layer.
3. The method according to claim 1, characterized in that The residual module includes: a first layer, a second layer, a third layer and a fourth layer in sequence, wherein: The first layer is the convolution layer, which contains multiple convolution filters, with a sliding step size of 1, a padding method of VALID, and an activation function of Relu. The second layer is the Flatten layer, which flattens the output of the convolutional layer and inputs it into the fully connected layer; The third layer is a fully connected layer, and the activation function of the fully connected layer is Relu; The fourth layer is the convolution layer, which contains multiple convolution filters, the filling method is VALID, and the activation function is Relu; Among them, the output vector of the residual module is the sum of the output vector of the fourth layer and the input vector.
4. The method according to claim 3, characterized in that: The loss function of the neural network corresponding to the first layer and the fourth layer of the residual module is a cross entropy loss function.
5. The method according to claim 1, characterized in that The position of the next routing output by the output classification layer is in one-hot encoding form, and the method further includes: The one-hot encoding output by the output classification layer is converted into the next routing position.
6. An intelligent routing device, characterized in that: Equipped with a router, it includes: a central control module and a traffic monitoring module, including: The traffic monitoring module is used to obtain the traffic pattern of each router in the network topology in real time within the latest preset historical period, specifically: record the number of its inbound data packets within the latest preset historical period; determine the traffic pattern of the router based on the number of inbound data packets, and distribute the traffic pattern of the router to the edge routes of other routers in the form of broadcast; The central control module is used to receive a transmission service request from a service requester, wherein the transmission service request includes a transmission point route and a receiving point route, wherein the transmission point route and the receiving point route correspond to the service requester and the target service provider, respectively; the traffic pattern of each router is used as the input of the pre-trained deep convolutional neural network of the transmission point route to predict the next route; if the next route is a non-receiving point route, the next route is predicted as the new transmission point route, specifically: the traffic pattern of each router in the network is re-determined within a recent preset historical period, and the traffic pattern of each router that is re-determined is used as the input of the pre-trained deep convolutional neural network to predict the next route; and so on, until the predicted next route is The invention relates to a method for routing a receiving point; the network structure of the pre-trained deep convolutional neural network comprises a convolutional pooling network, a residual neural network and an output classification layer connected in sequence, the convolutional pooling network comprises at least one convolutional pooling module, the residual neural network comprises at least one residual module, the input of the convolutional pooling network is the traffic pattern of each router, and the output of the output classification layer is the position of the next route; each step of the routing position is recorded in sequence in a local routing table to obtain a routing path for routing the service requester to the target service provider according to the routing path existing in the routing table; the service requester is routed to the target service provider based on the routing path, and the routing path is used to reflect the order of the predicted routing position of each step.
7. A network device, characterized in that: include: Communications interface, processor and memory; The processor calls the program instructions in the memory to perform the following actions: When receiving a transmission service request from a service requester, determining the traffic pattern of each router in the network within a recent preset historical period, wherein the transmission service request includes a sending point route and a receiving point route, wherein the sending point route and the receiving point route correspond to the service requester and the target service provider, respectively; The traffic pattern of each router is used as the input of the pre-trained deep convolutional neural network of the origin routing to predict the next route; If the next route is a non-receiving point route, the next route is predicted with the next route as the new sending point route, and so on, until the predicted next route is a receiving point route; the network structure of the pre-trained deep convolutional neural network includes a convolutional pooling network, a residual neural network and an output classification layer connected in sequence, the convolutional pooling network includes at least one convolutional pooling module, the residual neural network includes at least one residual module, the input of the convolutional pooling network is the traffic pattern of each router, and the output of the output classification layer is the position of the next route; Routing the service requester to the target service provider based on a routing path, wherein the routing path is used to reflect the order of each predicted routing position; The step of determining the traffic pattern of each router in the network within a recent preset historical period includes: The traffic monitoring module in each router in the network records the number of inbound data packets in the most recent preset historical period; Based on the number of inbound packets, determine the traffic pattern of this router and distribute the traffic pattern of this router to the edge routes of other routers in the form of broadcast; The following step predicts a next route for the new originating point route, including: Re-determine the traffic pattern of each router in the network within a recent preset historical period; The re-determined traffic patterns of each router are used as input to the pre-trained deep convolutional neural network to predict the next route; Before routing the service requester to the target service provider based on the routing path, it also includes: Each routing position is recorded in sequence in the local routing table to obtain a routing path, so as to route the service requester to the target service provider according to the routing path existing in the routing table.
Citation Information
Patent Citations
Express route intelligent solution method and device, terminal device and storage medium
CN109784820A
Overlay network routing decision-making method based on deep learning
CN111010341A