Route link determination method and apparatus, electronic device, product, and storage medium
By sampling and processing multiple performance metrics of the routing path graph over time, and combining them with real-time device metrics of nodes, routing weights are determined. This solves the problem of low accuracy in existing routing algorithms and achieves higher accuracy in routing links and network transmission simulation.
Patent Information
- Application Number
- CN202410526694.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-29
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2044-04-29
AI Technical Summary
Existing routing and forwarding algorithms are unable to meet the quality of service requirements of new network services, have low accuracy, and cannot accurately perceive dynamic changes in network status.
By sampling multiple performance metrics of each link in the possible routing path graph over a historical period, time-series data is obtained. This data is then processed through segmentation, temporal attention processing, spatial attention processing, and encoding/decoding. Combined with real-time device metrics of the nodes, the routing weight is determined, and finally, the link with the highest routing weight is selected as the next hop until the target node is reached.
It improves the accuracy of determining routing links, better simulates the actual network transmission situation, and comprehensively considers multiple performance indicators and real-time device indicators of nodes, thereby improving the accuracy of future link status.
Smart Images

Figure CN118802703B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, specifically to a routing link determination method, apparatus, electronic device, product, and storage medium. Background Technology
[0002] Existing routing and forwarding algorithms are insufficient to meet the quality of service requirements of new network services. Traditional routing methods only use algorithms such as shortest path for the current network state and cannot accurately perceive dynamic changes in the network state.
[0003] In summary, the accuracy of existing deterministic routing links is low. Summary of the Invention
[0004] This application provides a routing link determination method, apparatus, electronic device, product, and storage medium to solve the technical problem of low accuracy in determining routing links.
[0005] In a first aspect, embodiments of this application provide a method for determining routing links, comprising: performing time sampling of multiple performance indicators for each link in a possible routing path graph within a historical time period to obtain time series data for each performance indicator; the possible routing path graph includes all possible paths between a source node, intermediate nodes, and a target node; performing segmentation processing, time attention processing, spatial attention processing, and encoding / decoding processing on all time series data to obtain the future link state of each link; determining the routing weight of each link in the possible routing path graph based on the future link state and the real-time device indicators of the nodes; starting from the source node, selecting the link with the largest routing weight as the next hop, traversing intermediate nodes until the target node is reached to obtain the routing link.
[0006] In one embodiment, segmentation, temporal attention, spatial attention, and encoding / decoding are performed on all time-series data to obtain the future link state of each link segment. This includes: dividing each time-series data into multiple time-block sequence data according to a set time period; encoding each time-block sequence data and its target location data for segmentation to obtain embedding vectors; concatenating all embedding vectors for the same performance indicator to obtain encoded time-series data for the performance indicator; performing self-attention aggregation on the encoded time-series data in the time dimension to obtain first-time-attention data; performing multi-layer perceptual processing and normalization on the first-time-attention data to complete the temporal attention processing to obtain second-time-attention data; dividing the second-time-attention data into time-attention segments according to a set time period; and performing encoding / decoding on the time-attention segments and preset time-attention segments. Spatial attention segments are obtained by performing multiple spatial dimension self-attention aggregations on the spatial vectors. Based on all spatial attention segments, the first spatial attention data is obtained. The first spatial attention data and the second temporal attention data are then normalized and processed by multi-layer perception to complete the spatial attention processing, resulting in the second spatial attention data. Adjacent spatial attention vectors in the second spatial attention data are merged multiple times to obtain multiple encoding layers. Spatial attention and temporal attention processing are performed on each encoding layer to obtain the encoding vector for each layer. Multi-head attention processing, multi-layer perception processing, and normalization processing are then performed on each encoding vector and the query matrix matching the encoding vector to perform encoding and decoding processing, resulting in the decoding vector for each layer. The spatial attention vector is obtained by dividing the second spatial attention data according to a set time period. The future link state is obtained by linearly summing all the decoding vectors.
[0007] In one embodiment, the query matrix is obtained based on the following steps: performing temporal attention processing and spatial attention processing on the decoding vector of the current layer to obtain the query matrix of the next layer. The query matrix of the first layer is obtained by performing temporal attention processing and spatial attention processing on the preset decoding vector.
[0008] In one embodiment, merging two adjacent spatial attention vectors in the second spatial attention data multiple times to obtain a multi-layer coding layer includes: using the spatial attention vector as the initial coding vector of the first coding layer; merging two adjacent initial coding vectors of the current coding layer to obtain the initial coding vector of the next coding layer.
[0009] In one embodiment, the multiple performance metrics include average latency, maximum latency, minimum latency, average jitter, and maximum jitter.
[0010] In one embodiment, the routing weight of each link in the possible routing path graph is determined based on the future link state and the real-time device metrics of the nodes, including: determining the real-time device metrics of each node based on the real-time CPU utilization, real-time memory utilization, and real-time maximum temperature of the node card in the possible routing path graph; determining the node weights of the two nodes in the link based on the real-time device metrics of the nodes and the future link state; and determining the routing weight of the link based on the node weights of the two nodes and the future link state.
[0011] Secondly, embodiments of this application provide a routing link determination device, comprising: a sampling module, used to perform time sampling of multiple performance indicators for each link in a possible routing path graph within a historical time period to obtain time series data of each performance indicator, wherein the possible routing path graph includes all possible paths between a source node, intermediate nodes, and a target node; a future link state determination module, used to perform segmentation processing, time attention processing, spatial attention processing, and encoding / decoding processing on all time series data to obtain the future link state of each link; a routing weight determination module, used to determine the routing weight of each link in the possible routing path graph based on the future link state and the real-time device indicators of the nodes; and a routing link determination module, used to select the link with the largest routing weight as the next hop, starting from the source node, traversing intermediate nodes until the target node is reached, to obtain the routing link.
[0012] Thirdly, embodiments of this application provide an electronic device, including a processor and a memory storing a computer program, wherein the processor executes the program to implement the routing link determination method of the first aspect.
[0013] Fourthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the routing link determination method of the first aspect.
[0014] Fifthly, embodiments of this application provide a non-transitory computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the routing link determination method of the first aspect.
[0015] The routing link determination method, apparatus, electronic device, product, and storage medium provided in this application embodiment sample multiple performance indicators for each link in a possible routing path graph over a historical time period to obtain time-series data for each performance indicator. The possible routing path graph includes all possible paths between the source node, intermediate nodes, and the target node. All time-series data are processed through segmentation, temporal attention processing, spatial attention processing, and encoding / decoding to obtain the future link state of each link segment. Based on the future link state and real-time device indicators of the nodes, the routing weight of each link in the possible routing path graph is determined. Starting from the source node, the link with the largest routing weight is selected as the next hop, traversing intermediate nodes until the target node is reached to obtain the routing link. This application embodiment obtains the future link state of the link through multiple performance indicators, comprehensively considering multiple performance indicators affecting the link, thus improving the accuracy of determining the future link state. Determining the routing weight of the link based on the future link state and real-time device indicators of the nodes can better simulate the actual situation of network transmission. Determining the routing weight based on multiple performance indicators and real-time device indicators of the nodes, and thus obtaining the routing link, improves the accuracy of determining the routing link. Attached Figure Description
[0016] To more clearly illustrate the technical solutions in this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0017] Figure 1 This is a flowchart illustrating the routing link determination method provided in an embodiment of this application;
[0018] Figure 2 This is a complete routing path diagram provided in the embodiments of this application;
[0019] Figure 3 This is a possible routing path diagram provided in the embodiments of this application;
[0020] Figure 4 This is the spatiotemporal information matrix provided in the embodiments of this application;
[0021] Figure 5 This is a partial flowchart of spatial attention processing provided in an embodiment of this application;
[0022] Figure 6 This is a schematic diagram of the routing link determination device provided in the embodiments of this application;
[0023] Figure 7 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0024] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below with reference to the accompanying drawings of the embodiments. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0025] Existing routing methods optimize various link metrics individually to find the best route for a single metric (such as maximum link utilization). However, these link metrics are correlated, and a single metric cannot fully represent the current actual link state. The resulting route is only the best path for a single objective and does not have a global optimum.
[0026] While existing partial routing determination methods optimize for multivariate metrics, their shortcomings lie in directly fusing multivariate variables at each time step (e.g., through weighted summation, compressed embedding), followed by time-dimensional self-attention. This approach lacks precise modeling of the relationships between different variables. Because different variables in a time series have different meanings in actual business scenarios, it's impossible to predict in advance which time segment each variable should be aligned with. Directly fusing all variables at each time step results in the loss of many important features.
[0027] Existing methods for determining routing links only extract features from link information. However, network topology includes not only links but also the transceiver devices (nodes) at both ends of the links, i.e., real-time device metrics of the nodes. These real-time device metrics also affect the efficiency and quality of routing. Modeling only link information can lead to the loss of crucial node information.
[0028] Figure 1 This is a flowchart illustrating the routing link determination method provided in an embodiment of this application. (Refer to...) Figure 1 This application provides a method for determining a routing link, including steps S100 to S400, each step of which is as follows:
[0029] S100: For each link in the possible routing path map, perform time sampling of multiple performance indicators within a historical time period to obtain time series data for each performance indicator.
[0030] The possible routing path graph includes all possible paths between the source node, intermediate nodes, and the target node.
[0031] like Figure 2As shown, an undirected graph of the IP network topology is constructed based on the existing port interconnection table. This undirected graph represents the complete routing path for all nodes. The port interconnection table records the connection relationships between all nodes (ports). Based on the port interconnection table, nodes at different sites are bidirectionally interconnected, and internal nodes within the same site are also bidirectionally interconnected, thus modeling all devices and links in the actual network to obtain a complete routing path graph. Figure 3 As shown, the possible routing path graph is derived from the specific structure of the current network, based on the source node, intermediate nodes, the connections between intermediate nodes, and the destination node. For example, a path from station A to station D must pass through station B or station C, and stations B and C are interconnected as intermediate stations. Therefore, by traversing the links originating from stations A, B, C, and D, all feasible paths from station A to station D can be obtained, resulting in the possible routing path graph.
[0032] Several performance metrics include average latency, maximum latency, minimum latency, average jitter, and maximum jitter.
[0033] The Two-Way Active Measurement Protocol (TWAMP) is used to measure various performance metrics in the IP link. Several meaningful performance metrics are selected, including average latency (Avg_D), maximum latency (Max_D), minimum latency (Min_D), average jitter (Avg_J), and maximum jitter (Max_J). For each performance metric, sampling is performed at fixed intervals within a historical time period. For example, sampling is performed every 5 minutes. This yields time-series data for each performance metric, such as... Figure 4 As shown, the time series data includes a spatiotemporal information matrix.
[0034] S200: Performs segmentation, temporal attention processing, spatial attention processing, and encoding / decoding processing on all time series data to obtain the future link state of each link segment.
[0035] Multi-source time-series prediction is performed on the time-series data of the aforementioned performance metrics to obtain the future link state for each link. This step includes a Dimension-Segment-Wise Embedding (DSW) module, a Two-Stage Attention Layer (TSA) module, and a Hierarchical Encoder-Decoder (HED) module. The DSW module is used to segment the time-series data. The TSA module is used to perform temporal and spatial attention processing on the segmented time-series data. The HED module is used to encode and decode the spatially attention-processed time-series data.
[0036] The time series data is input sequentially into the DSW module, TSA module, and HED module to obtain the future link status of each link segment.
[0037] S300: Based on future link status and real-time device metrics of nodes, determine the routing weight of each link segment in the possible routing path graph.
[0038] Based on the future link status and real-time device metrics of nodes, the routing weight of each link in the possible routing path graph is determined. Specifically, based on the real-time CPU utilization, real-time memory utilization, and real-time maximum temperature of the node's cardboard in the possible routing path graph, the real-time device metrics of each node are determined. Based on the real-time device metrics of nodes and the future link status, the node weights of the two nodes in the link are determined. Based on the node weights of the two nodes and the future link status, the routing weight of the link is determined.
[0039] The real-time device metrics of the detection node (full-service router) include at least the node's real-time CPU utilization (CU), node's real-time memory utilization (MU), and node's real-time maximum card temperature (BT).
[0040] Based on the real-time device metrics of the nodes and the future link status, determine the node weights of the two nodes in the link. Based on the node weights of the two nodes and the future link status, determine the routing weight of the link.
[0041] The formulas for calculating node weight and route weight are as follows:
[0042]
[0043] Among them, v i Let e be the real-time device metric for the i-th node. k For node v i The future link state of the k-th connected link, v k For node vi Real-time device metrics for connected nodes. For node v i The number of directly connected edges, v i ' represents the node weight of the i-th node, e k 'For node v i The routing weight of the k-th connected link. Let φ be the average node weight of the i-th node. v and φ e Both are 2 fully connected layers. For the concat operation, v sk ' represents the node weight of the first connected node in the k-th link, v rk ' represents the node weight of the second connection node in the k-th link.
[0044] The node weights are iteratively updated according to the above formula for calculating node weights, and the route weights are iteratively updated according to the above formula for calculating route weights. After three rounds of iterative updates, the route weights of the links are obtained.
[0045] S400: Based on the routing weights, determine the routing link between the source node and the target node.
[0046] Based on the routing weight, the routing link between the source node and the target node is determined. Specifically, starting from the source node, the link with the largest routing weight is selected as the next hop, and intermediate nodes are traversed until the target node is reached to obtain the routing link.
[0047] Routing is performed based on route weights. For a possible route map consisting of all possible paths between the user-defined source and destination nodes, the router starts from the source node and selects the link with the highest route weight as the next hop. This process is repeated for all intermediate nodes until the destination node is reached, thus obtaining the routing link.
[0048] The routing link determination method provided in this application embodiment obtains time-series data for each performance indicator by sampling multiple performance metrics of each link in the possible routing path graph over a historical time period. The possible routing path graph includes all possible paths between the source node, intermediate nodes, and the target node. All time-series data are processed through segmentation, temporal attention processing, spatial attention processing, and encoding / decoding to obtain the future link state of each link. Based on the future link state and the real-time device metrics of the nodes, the routing weight of each link in the possible routing path graph is determined. Starting from the source node, the link with the largest routing weight is selected as the next hop, traversing intermediate nodes until the target node is reached to obtain the routing link. This application embodiment obtains the future link state of the link through multiple performance metrics, comprehensively considering multiple performance metrics affecting the link, thus improving the accuracy of determining the future link state. Determining the routing weight of the link based on the future link state and the real-time device metrics of the nodes can better simulate the actual situation of network transmission. Determining the routing weight based on multiple performance metrics and the real-time device metrics of the nodes, and thus obtaining the routing link, improves the accuracy of determining the routing link.
[0049] Based on the above embodiments, all time series data are segmented, processed with temporal attention, spatial attention, and encoded / decoded to obtain the future link state of each segment, including steps S210 to S250, each step as follows:
[0050] S210: Divide each time series data into multiple time block series data according to a set time period, encode each time block series data and the target location data of the time block series data for segmentation processing, and obtain the embedding vector.
[0051] S220: Concatenate all embedding vectors of the same performance metric to obtain the encoded time series data of the performance metric. Perform self-attention aggregation on the encoded time series data in the time dimension to obtain the first time attention data. Perform multi-layer perceptual processing and normalization processing on the first time attention data to complete the time attention processing and obtain the second time attention data.
[0052] S230: Divide the second temporal attention data into temporal attention segments according to a set time period, perform multiple spatial dimension self-attention aggregations on the temporal attention segments and the preset intermediate vector to obtain spatial attention segments, obtain the first spatial attention data based on all spatial attention segments, and perform normalization processing and multi-layer perception processing on the first spatial attention data and the second temporal attention data to complete the spatial attention processing and obtain the second spatial attention data.
[0053] S240: Merge adjacent spatial attention vectors in the second spatial attention data multiple times to obtain multiple coding layers. Perform spatial attention processing and temporal attention processing on each coding layer to obtain each coding vector. Perform multi-head attention processing, multi-layer perception processing and normalization processing on each coding vector and the query matrix matching the coding vector to perform encoding and decoding processing to obtain each decoding vector. The spatial attention vector is obtained by dividing the second spatial attention data according to a set time period.
[0054] S250: Summate all decoded vectors linearly to obtain the future link state.
[0055] The DSW module segments the time series data. Instead of simply embedding all performance metrics' time series data into a single time step, the DSW module segments the time series data for each performance metric and then performs vectorization to capture the correlation between different time blocks across different time periods. Each time series data point is divided into multiple time blocks according to a defined time period. The formula for the time block data is:
[0056]
[0057] Among them, X 1:T For segmented time series data, x i,d This is the time block sequence data for the d-th performance indicator within the i-th defined time period, where T is the historical time period and L is the time block sequence data. seg To set a time period, x t,d This is the time block sequence data for the i-th specified time period (time period t).
[0058] Each time block sequence data and its target location data are encoded to obtain an embedding vector. The formula for calculating the embedding vector is as follows:
[0059]
[0060] in, The learnable matrix is d_model, where d_model is the dimension of the time block sequence data, and h is the number of steps in the matrix. i,d For embedding vectors, This is the encoded time block sequence data. This is the encoded target location data.
[0061] Based on the TSA module, temporal attention processing is performed on the embedding vectors. All embedding vectors for the same performance metric are concatenated to obtain the encoded time-series data of the performance metric. Self-attention aggregation is then performed on the encoded time-series data along the time dimension to obtain the first temporal attention data. All first temporal attention data are concatenated to obtain the third temporal attention data. Multilayer perceptron processing and normalization are then performed on the third temporal attention data to complete the temporal attention processing, resulting in the second temporal attention data. The formula for temporal attention processing is:
[0062]
[0063] Among them, SA time H is a self-attentional aggregation in the time dimension. d The time series data encoded for the d-th performance metric, with LN normalization and MLP multilayer perceptron processing. The first-time attention data for the d-th performance metric. For third-time attention data, H time For the second-time attention data, H∈R num×D×d_model d_model represents the dimension of the time block sequence data, num = T / L seg denoted as the number of time block sequence data, and D as the number of performance metrics.
[0064] Based on the TSA module, spatial attention processing is performed on the second temporal attention data. For example... Figure 5 As shown, the second temporal attention data is divided into temporal attention segments according to a set time period. A first spatial dimension self-attention aggregation is performed on the temporal attention segments and a preset intermediate vector to obtain the initial spatial attention segment. A second spatial dimension self-attention aggregation is performed on the initial spatial attention segment and the temporal attention segment to obtain the spatial attention segment. Based on all spatial attention segments, the first spatial attention data is obtained. Normalization and multilayer perceptron processing are then performed on the first spatial attention data and the second temporal attention data to obtain the second spatial attention data. The formula for spatial attention processing is:
[0065]
[0066] in, For the i-th time attention segment, P i SA1 is the i-th learnable preset intermediate vector. dim For the first self-attention aggregation in the spatial dimension, SA2 dim For self-attention aggregation in the second spatial dimension, H i ' represents the i-th initial spatial attention segment, For the i-th spatial attention segment, Htime This is the second time-based attention data. The data represents the first spatial attention data, with LN used for normalization and MLP used for multilayer perceptron processing. For the first spatial attention data after normalization, H dim This is the second-space attention data.
[0067] The HED module performs encoding and decoding processing on the second spatial attention data. The HED module employs a hierarchical structure to capture features of varying intensity. It includes multiple encoding and decoding layers. The second spatial attention data is then divided into spatial attention vectors according to a defined time period.
[0068] The two adjacent spatial attention vectors in the second spatial attention data are merged multiple times to obtain a multi-layer coding layer. Specifically, the spatial attention vector is used as the initial coding vector of the first coding layer; the two adjacent initial coding vectors of the current coding layer are merged to obtain the initial coding vector of the next coding layer.
[0069] The spatial attention vector is used as the initial coding vector for the first coding layer. For the initial coding vector of the next coding layer, every two adjacent initial coding vectors from the current coding layer are merged in the time domain to obtain the initial coding vector for the next coding layer. The formula for calculating the initial coding vector of each layer is as follows:
[0070]
[0071] in, Let be the initial encoding vector for the d-th performance metric in the i-th time period of the l-th encoding layer (the next encoding layer). Let d be the initial encoding vector for the d-th performance metric in the (2i-1)th time period of the (l-1)th encoding layer (the current encoding layer). Let be the initial encoding vector for the d-th performance metric in the 2i-th time interval of the (l-1)-th encoding layer (the current encoding layer), and let Merge be a learnable merging matrix, where Merge ∈ R. d_model×2d_model .
[0072] Each coding layer is input into the TSA module to perform spatial and temporal attention processing on each coding layer, resulting in a coding vector for each layer. The formula for calculating the coding vector for each layer is as follows:
[0073]
[0074] Among them, H enc,l This is the encoding vector for the l-th layer. This is the l-th coding layer, and TSA is the TSA module, used for... Perform spatial attention processing and temporal attention processing.
[0075] The query matrix is obtained based on the following steps: performing temporal attention processing and spatial attention processing on the decoding vector of the current layer to obtain the query matrix of the next layer. The query matrix of the first layer is obtained by performing temporal attention processing and spatial attention processing on the preset decoding vector.
[0076] Set up learnable preset decoding vectors, import them into the TSA module for temporal and spatial attention processing, and obtain the query matrix for the first layer. Import the current layer's decoding vectors into the TSA module for temporal and spatial attention processing, and obtain the query matrix for the next layer. The formula for calculating the query matrix is:
[0077]
[0078] in, H is the query matrix for the next level (level l). dec,l-1 This is the decoding vector for the current layer (layer l-1). TSA is the TSA module used for H... dec,l-1 Perform spatial attention processing and temporal attention processing.
[0079] Multi-head attention processing is applied to the encoding vector and query matrix of each layer to obtain the first initial decoded vector. The first initial decoded vectors for all performance metrics are merged to obtain the second initial decoded vector. The query matrices for all performance metrics are then merged to obtain the comprehensive query matrix. The comprehensive query matrix and the second initial decoded vector for each layer are normalized to obtain the third initial decoded vector. Multi-layer perceptron processing and normalization are applied to the third initial decoded vector to obtain the decoded vector for each layer. The formula for calculating the decoded vector is:
[0080]
[0081] in, This is the query matrix for the d-th performance metric in the l-th layer. Let be the encoding vector of the d-th performance metric in layer l, and MSA be the multi-head attention processing. This is the first initial decoding vector for the l-th layer. This is the second initial decoding vector for the l-th layer. Let LN be the comprehensive query matrix of the l-th layer, LN be the normalization process, and MLP be the multilayer perceptron processing. H is the third initial decoding vector of the l-th layer. dec,l This is the decoding vector for the l-th layer.
[0082] The future link state is obtained by linearly summing all decoded vectors. The formula for calculating the future link state is:
[0083]
[0084] Where edge_dim is the dimension of the link, fls is the future link state, and fls∈R edge_dim W l For learnable matrices, Let L be the decoding vector of the d-th performance metric in the i-th time period of the l-th layer. seg The dimension for setting the time period is N, where N is the number of layers in the decoding vector, and 5 is the number of performance metrics.
[0085] This application embodiment achieves separate vectorization representation of time block sequence data through segmentation processing, temporal attention processing, spatial attention processing, and encoding / decoding processing, capturing the correlation of different performance indicators in different time periods, and improving the accuracy of future link status.
[0086] The routing link determination apparatus provided in the embodiments of this application is described below. The routing link determination apparatus described below can be referred to in correspondence with the routing link determination method described above. (Refer to...) Figure 6 , Figure 6 This is a schematic diagram of the routing link determination device provided in an embodiment of this application. A routing link determination device includes:
[0087] The sampling module 601 is used to perform time sampling of multiple performance indicators for each link in the possible routing path map within a historical time period to obtain time series data of each performance indicator. The possible routing path map includes all possible paths between the source node, intermediate nodes and the target node.
[0088] The future link state determination module 602 is used to perform segmentation, temporal attention processing, spatial attention processing, and encoding / decoding processing on all time series data to obtain the future link state of each link segment.
[0089] The routing weight determination module 603 is used to determine the routing weight of each link in the possible routing path graph based on the future link status and real-time device indicators of the nodes.
[0090] The routing link determination module 604 is used to select the link with the highest routing weight as the next hop, starting from the source node, and traversing the intermediate nodes until the target node is reached, so as to obtain the routing link.
[0091] The routing link determination device provided in this application embodiment obtains time-series data for each performance indicator by sampling multiple performance metrics of each link in the possible routing path graph over a historical time period. The possible routing path graph includes all possible paths between the source node, intermediate nodes, and the target node. All time-series data are processed through segmentation, temporal attention processing, spatial attention processing, and encoding / decoding to obtain the future link state of each link. Based on the future link state and the real-time device metrics of the nodes, the routing weight of each link in the possible routing path graph is determined. Starting from the source node, the link with the largest routing weight is selected as the next hop, and intermediate nodes are traversed until the target node is reached to obtain the routing link. This application embodiment obtains the future link state of the link through multiple performance metrics, comprehensively considering multiple performance metrics affecting the link, thus improving the accuracy of determining the future link state. Determining the routing weight of the link based on the future link state and the real-time device metrics of the nodes can better simulate the actual situation of network transmission. Determining the routing weight based on multiple performance metrics and the real-time device metrics of the nodes, and thus obtaining the routing link, improves the accuracy of determining the routing link.
[0092] In one embodiment, the future link state determination module 602 is used to: divide each time series data into multiple time block sequence data according to a set time period; encode each time block sequence data and the target position data of the time block sequence data for segmentation processing to obtain an embedding vector; concatenate all embedding vectors of the same performance index to obtain the encoded time series data of the performance index; perform self-attention aggregation on the encoded time series data in the time dimension to obtain first time attention data; perform multi-layer perception processing and normalization processing on the first time attention data to complete the time attention processing to obtain second time attention data; divide the second time attention data into time attention segments according to a set time period; and perform multiple spatial dimension self-attention aggregations on the time attention segments and preset intermediate vectors. A spatial attention segment is obtained. Based on all spatial attention segments, the first spatial attention data is obtained. The first spatial attention data and the second temporal attention data are normalized and processed by multi-layer perception to complete the spatial attention processing and obtain the second spatial attention data. Adjacent spatial attention vectors in the second spatial attention data are merged multiple times to obtain multiple coding layers. Spatial attention processing and temporal attention processing are performed on each coding layer to obtain each layer's coding vector. Multi-head attention processing, multi-layer perception processing, and normalization processing are performed on each layer's coding vector and the query matrix matching the coding vector to perform encoding and decoding processing and obtain each layer's decoding vector. The spatial attention vector is obtained by dividing the second spatial attention data according to a set time period. All decoding vectors are linearly summed to obtain the future link state.
[0093] In one embodiment, the future link state determination module 602 is used to: perform temporal attention processing and spatial attention processing on the decoding vector of the current layer to obtain the query matrix of the next layer, wherein the query matrix of the first layer is obtained by performing temporal attention processing and spatial attention processing on the preset decoding vector.
[0094] In one embodiment, the future link state determination module 602 is used to: use the spatial attention vector as the initial coding vector of the first coding layer; and merge two adjacent initial coding vectors of the current coding layer to obtain the initial coding vector of the next coding layer.
[0095] In one embodiment, the multiple performance metrics include average latency, maximum latency, minimum latency, average jitter, and maximum jitter.
[0096] In one embodiment, the routing weight determination module 603 is used to: determine the real-time device metrics of each node based on the real-time CPU utilization, real-time memory utilization, and real-time maximum temperature of the node card in the possible routing path graph; determine the node weights of two nodes in a link based on the real-time device metrics and future link status; and determine the routing weight of the link based on the node weights of the two nodes and future link status.
[0097] Figure 7 An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 7 As shown, the electronic device may include: a processor 710, a communication interface 720, a memory 730, and a communication bus 740, wherein the processor 710, the communication interface 720, and the memory 730 communicate with each other via the communication bus 740. The processor 710 can call a computer program in the memory 730 to execute a routing link determination method, such as including:
[0098] For each link in the possible routing path graph, time sampling of multiple performance indicators is performed within a historical time period to obtain time series data for each performance indicator. The possible routing path graph includes all possible paths between the source node, intermediate nodes, and the target node. All time series data are processed by segmentation, temporal attention processing, spatial attention processing, and encoding / decoding to obtain the future link state of each link. Based on the future link state and the real-time device indicators of the nodes, the routing weight of each link in the possible routing path graph is determined. Starting from the source node, the link with the largest routing weight is selected as the next hop, and intermediate nodes are traversed until the target node is reached to obtain the routing link.
[0099] Furthermore, the logical instructions in the aforementioned memory 730 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0100] On the other hand, embodiments of this application also provide a computer program product, which includes a computer program that can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the routing link determination methods provided in the above embodiments, such as including:
[0101] For each link in the possible routing path graph, time sampling of multiple performance indicators is performed within a historical time period to obtain time series data for each performance indicator. The possible routing path graph includes all possible paths between the source node, intermediate nodes, and the target node. All time series data are processed by segmentation, temporal attention processing, spatial attention processing, and encoding / decoding to obtain the future link state of each link. Based on the future link state and the real-time device indicators of the nodes, the routing weight of each link in the possible routing path graph is determined. Starting from the source node, the link with the largest routing weight is selected as the next hop, and intermediate nodes are traversed until the target node is reached to obtain the routing link.
[0102] On the other hand, embodiments of this application also provide a non-transitory computer-readable storage medium storing a computer program, the computer program being used to cause a processor to execute the routing link determination method provided in the above embodiments, for example including:
[0103] For each link in the possible routing path graph, time sampling of multiple performance indicators is performed within a historical time period to obtain time series data for each performance indicator. The possible routing path graph includes all possible paths between the source node, intermediate nodes, and the target node. All time series data are processed by segmentation, temporal attention processing, spatial attention processing, and encoding / decoding to obtain the future link state of each link. Based on the future link state and the real-time device indicators of the nodes, the routing weight of each link in the possible routing path graph is determined. Starting from the source node, the link with the largest routing weight is selected as the next hop, and intermediate nodes are traversed until the target node is reached to obtain the routing link.
[0104] The non-transitory computer-readable storage medium can be any available medium or data storage device that the processor can access, including but not limited to magnetic memory (e.g., floppy disk, hard disk, magnetic tape, magneto-optical disk (MO)), optical memory (e.g., CD, DVD, BD, HVD), and semiconductor memory (e.g., ROM, EPROM, EEPROM, non-volatile memory (NAND FLASH), solid-state drive (SSD)).
[0105] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0106] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0107] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.
Claims
1. A method for determining routing links, characterized in that, include: For each link in the possible routing path graph, time sampling of multiple performance indicators is performed within a historical time period to obtain time series data of each performance indicator. The possible routing path graph includes all possible paths between the source node, intermediate nodes and the target node. Each time series data is divided into multiple time block series data according to a set time period. Each time block series data and the target location data of the time block series data are encoded for segmentation processing to obtain an embedding vector. All the embedding vectors of the same performance metric are concatenated to obtain the encoded time series data of the performance metric. The encoded time series data is then self-attention aggregated in the time dimension to obtain the first time attention data. The first time attention data is then subjected to multi-layer perceptual processing and normalization processing to complete the time attention processing and obtain the second time attention data. The second time attention data is divided into time attention segments according to the set time period. The time attention segments and the preset intermediate vector are subjected to multiple spatial dimension self-attention aggregations to obtain spatial attention segments. The first spatial attention data is obtained based on all the spatial attention segments. The first spatial attention data and the second time attention data are subjected to the normalization processing and the multilayer perception processing to complete the spatial attention processing and obtain the second spatial attention data. The adjacent two spatial attention vectors in the second spatial attention data are merged multiple times to obtain multiple coding layers. The spatial attention processing and the temporal attention processing are performed on each coding layer to obtain a coding vector for each layer. The coding vector of each layer and the query matrix matching the coding vector are subjected to multi-head attention processing, multi-layer perception processing and normalization processing for encoding and decoding processing to obtain a decoding vector for each layer. The spatial attention vector is obtained by dividing the second spatial attention data according to the set time period. The future link state is obtained by linearly summing all the decoded vectors. Based on the future link status and real-time device indicators of the nodes, the routing weight of each link in the possible routing path graph is determined. Starting from the source node, the link with the largest routing weight is selected as the next hop, and the intermediate nodes are traversed until the target node is reached to obtain the routing link.
2. The routing link determination method according to claim 1, characterized in that, The query matrix is obtained based on the following steps: The temporal attention processing and spatial attention processing are applied to the decoded vector of the current layer to obtain the query matrix of the next layer. The query matrix of the first layer is obtained by applying the temporal attention processing and spatial attention processing to the preset decoded vector.
3. The routing link determination method according to claim 1, characterized in that, The process of merging two adjacent spatial attention vectors in the second spatial attention data multiple times to obtain a multi-layer coding layer includes: The spatial attention vector is used as the initial encoding vector for the first encoding layer. The two adjacent initial coding vectors of the current coding layer are merged to obtain the initial coding vector of the next coding layer.
4. The routing link determination method according to claim 1, characterized in that, The aforementioned performance metrics include average latency, maximum latency, minimum latency, average jitter, and maximum jitter.
5. The routing link determination method according to claim 1, characterized in that, The step of determining the routing weight of each link segment in the possible routing path graph based on the future link status and real-time device metrics of the nodes includes: Based on the real-time CPU utilization, real-time memory utilization, and real-time maximum temperature of the node card for each node in the possible routing path diagram, the real-time device indicators for each node are determined. Based on the real-time device metrics of the node and the future link status, determine the node weights of the two nodes in the link; The routing weight of the link is determined based on the node weights of the two nodes and the future link state.
6. A routing link determination device, characterized in that, include: The sampling module is used to perform time sampling of multiple performance indicators for each link in the possible routing path graph within a historical time period to obtain time series data of each performance indicator. The possible routing path graph includes all possible paths between the source node, intermediate nodes and the target node. The future link state determination module is used to divide each time series data into multiple time block series data according to a set time period, encode each time block series data and the target position data of the time block series data for segmentation processing to obtain an embedding vector; concatenate all the embedding vectors of the same performance index to obtain the encoded time series data of the performance index; perform self-attention aggregation on the encoded time series data in the time dimension to obtain first time attention data; and perform multi-layer perception processing and normalization processing on the first time attention data to complete the time attention processing to obtain second time attention data. The second time attention data is divided into time attention segments according to the set time period. The time attention segments and the preset intermediate vector are subjected to multiple spatial dimension self-attention aggregations to obtain spatial attention segments. The first spatial attention data is obtained based on all the spatial attention segments. The first spatial attention data and the second time attention data are subjected to the normalization processing and the multilayer perception processing to complete the spatial attention processing and obtain the second spatial attention data. The adjacent spatial attention vectors in the second spatial attention data are merged multiple times to obtain multiple coding layers. Spatial attention processing and temporal attention processing are performed on each coding layer to obtain a coding vector for each layer. Multi-head attention processing, multi-layer perception processing, and normalization processing are performed on each coding vector and the query matrix matching the coding vector for encoding and decoding processing to obtain a decoding vector for each layer. The spatial attention vector is obtained by dividing the second spatial attention data according to the set time period. The future link state is obtained by linearly summing all the decoding vectors. The routing weight determination module is used to determine the routing weight of each link in the possible routing path graph based on the future link status and the real-time device indicators of the nodes. The routing link determination module is used to select the link with the largest routing weight as the next hop, starting from the source node, and traverse the intermediate nodes until the target node is reached, so as to obtain the routing link.
7. An electronic device comprising a processor and a memory storing a computer program, characterized in that, When the processor executes the computer program, it implements the routing link determination method according to any one of claims 1 to 5.
8. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the routing link determination method according to any one of claims 1 to 5.
9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the routing link determination method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Breakage-tolerant reconfigurable routing strategy based on prior knowledge base
CN114286382A
Network traffic matrix prediction method based on self-attention mechanism
CN114553718A