Network path selection method and device, equipment and storage medium
By obtaining the status information of the network path and using the exception prediction model to predict the probability of abnormality, and comprehensively scoring it with the service type weight, the problem of insufficient reliability of network path selection in the prior art is solved, and the reliability and stability of the network path are improved.
Patent Information
- Application Number
- CN202510406506.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-01
- Publication Date
- 2025-07-22
AI Technical Summary
The existing network path selection method is not reliable in high real-time application scenarios, it is difficult to meet network quality requirements, and it is unable to effectively foresee potential abnormal changes in network paths.
By obtaining network status information of multiple candidate network paths, the abnormality prediction model is used to predict the abnormal probability of the network path, and the target network path is selected based on the abnormal probability, and comprehensively scored based on the network status information and service type weights to select the optimal path.
It reduces the abnormal risks during business transmission and improves the reliability and stability of network paths. It is especially suitable for scenarios with high requirements for data transmission stability and reliability, such as financial transactions and real-time industrial control.
Smart Images

Figure CN120358188A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of network technologies, and in particular, to a network path selection method, apparatus, device, and storage medium. Background Art
[0002] With the advancement of the digitalization process, digital technologies are widely applied in various scenarios such as industrial production, enterprise operation, smart home, financial transactions, and scientific research computing. At the same time, with the continuous expansion of scenario-based services, the scale of data transmission has increased exponentially, which has led to an increasing demand for network quality.
[0003] In this situation, network path selection has become a key factor in determining whether the network can meet the requirements of various scenarios. However, the reliability of existing network path selection methods is not high, and it is difficult to meet the network quality requirements of high-real-time application scenarios. Summary of the Invention
[0004] This application provides a network path selection method, apparatus, device, and storage medium, which can improve the reliability of the network path selected during service transmission.
[0005] In a first aspect, this application provides a network path selection method, which includes: obtaining the current network status information of multiple candidate network paths. Based on the network status information and an anomaly prediction model, determining the respective anomaly probabilities of each candidate network path, where the anomaly prediction model is used to predict the anomaly probability of a network path based on the network status information of the network path. Based on the respective anomaly probabilities of each candidate network path, selecting a target network path from the multiple candidate network paths for the service to be transmitted, where the target network path is used to transmit the data of the service to be transmitted.
[0006] The network path selection method provided in this application can identify the potential anomaly risks of candidate network paths by obtaining the network status parameters of multiple candidate network paths for the service to be transmitted and inputting the network status into a pre-trained anomaly prediction model, and obtaining the predicted anomaly (occurrence) probability of the network path. And based on the prediction result, select a candidate network path with a smaller anomaly probability. Compared with the prior art that mainly selects network paths based on historical data or real-time collected data, this method can consider the impact of short-term future anomaly changes of network paths on the network status, can reduce the anomaly risks during service transmission, and improve the reliability of the selected network path.
[0007] A possible implementation method is to select a target network path for the service to be transmitted from multiple candidate network paths based on the respective exception probabilities of each candidate network path, including: determining the respective comprehensive scores of each candidate network path based on the respective exception probabilities of each candidate network path and the current network status information. Selecting a target network path for the service to be transmitted from multiple candidate network paths based on the respective comprehensive scores of each candidate network path.
[0008] Another possible implementation method is that the network status information includes multiple types. Determining the respective comprehensive scores of each candidate network path based on the respective exception probabilities of each candidate network path and the current network status information includes: obtaining the target service type of the service to be transmitted. Determining the target weight set corresponding to the target service type from the respective weight sets corresponding to multiple service types, where the target weight set includes the weights corresponding to multiple network status information and exception probabilities under the target service type. Determining the respective comprehensive scores of each candidate network path based on the target weight set, multiple network status information, and exception probabilities.
[0009] Another possible implementation method is that the multiple network status information includes: delay information, bandwidth information, and packet loss rate information of the candidate network path. The delay information includes the delay of each transmission node in the candidate network path. The bandwidth information includes the bandwidth of each transmission node in the candidate network path. The packet loss rate information includes the packet loss rate of each transmission node in the candidate network path.
[0010] Another possible implementation method is that for any first candidate network path among multiple candidate network paths, determining the respective comprehensive scores of each candidate network path based on the target weight set, multiple network status information, and exception probabilities includes: normalizing the delay of each transmission node in the first candidate network path based on the delay information of the first candidate network path to obtain the normalized result of the delay of each transmission node. Normalizing the bandwidth of each transmission node in the first candidate network path based on the bandwidth information of the first candidate network path to obtain the normalized result of the bandwidth of each transmission node. Normalizing the packet loss rate of each transmission node in the first candidate network path based on the packet loss rate information of the first candidate network path to obtain the normalized result of the packet loss rate of each transmission node. Determining the comprehensive score of the first candidate network path based on the target weight set, the normalized result of the delay of each transmission node in the first candidate network path, the normalized result of the bandwidth, the normalized result of the packet loss rate, and the exception probability of the first candidate network path.
[0011] Another possible implementation method is to determine the comprehensive score of the first candidate network path based on the target weight set, the normalization results of the delay of each transmission node in the first candidate network path, the normalization result of the bandwidth, the normalization result of the packet loss rate, and the exception probability of the first candidate network path, including:
[0012] Calculate the comprehensive score according to the following formula:
[0013]
[0014] Among them, Score represents the comprehensive score of the first candidate network path, w1, w2, w3, and w4 respectively represent the weights corresponding to the delay, the weights corresponding to the bandwidth, the weights corresponding to the packet loss rate, and the weights corresponding to the exception probability, j(t + 1) represents the exception probability of the first candidate network path, represents the sum of the normalization results of the bandwidth of each transmission node in the first candidate network path.
[0015] represents the sum of the normalization results of the delay of each transmission node in the first candidate network path, represents the sum of the normalization results of the packet loss rate of each transmission node in the first candidate network path.
[0016] Another possible implementation method, the method further includes: obtaining a training sample set, the training sample set includes multiple training samples, each training sample includes a network state information sequence of a network path within a first time period, and an exception probability label at an observation time after the first time period of the network path. Training the initial model of the exception prediction model based on the training sample set to obtain the exception prediction model.
[0017] Another possible implementation method, obtaining a training sample set, including: obtaining a delay sequence of a network path, and selecting the delay information within the first time period in the delay sequence, the delay sequence includes the delay information of the network path at different times, and the delay information includes the delay of each transmission node in the network path. Determining the exception probability label based on the comparison result between the delay of the transmission node in the network path at the observation time after the first time period and the delay threshold. Obtaining a training sample based on the delay information within the first time period and the exception probability label. Determining the training sample set based on the training sample.
[0018] Another possible implementation method determines an abnormal probability label based on the comparison result between the delay at the observation moment after the first time period of the transmission nodes in the network path and the delay threshold, including: when there is a transmission node in the network path whose delay at the observation moment after the first time period is greater than the delay threshold, determining the abnormal probability label as 1; when there is a transmission node in the network path whose delay at the observation moment after the first time period is less than or equal to the delay threshold, determining the abnormal probability label as 0.
[0019] Another possible implementation method determines an abnormal probability label based on the comparison result between the delay at the observation moment after the first time period of the transmission nodes in the network path and the delay threshold, including: determining abnormal nodes based on the comparison result between the delay at the observation moment after the first time period of the transmission nodes in the network path and the delay threshold, where the abnormal nodes are the transmission nodes whose delay at the observation moment after the first time period is greater than the delay threshold; and determining the abnormal probability label based on the number of abnormal nodes and the number of all nodes in the network path.
[0020] Another possible implementation method further includes: determining a respective reference delay threshold for each transmission node in the network path based on the delay of each transmission node in the network path; and selecting the minimum value from the respective delay thresholds of each transmission node as the delay threshold.
[0021] Another possible implementation method, for any first transmission node in the network path, determines a respective reference delay threshold for each transmission node based on the delay of each transmission node in the network path, including: arranging the delays of the first transmission node at different moments in ascending order to obtain a sorting result; determining the delay at the position of the first quartile and the delay at the position of the third quartile in the sorting result; and determining the reference delay threshold corresponding to the first transmission node based on the delay at the position of the first quartile and the delay at the position of the third quartile.
[0022] Another possible implementation method determines the reference delay threshold corresponding to the first transmission node based on the delay at the position of the first quartile and the delay at the position of the third quartile, including:
[0023] Calculating the reference delay threshold corresponding to the first transmission node according to the following formula:
[0024] Threshold(V)=D[P3]+r ( D[P3]-D[P1] ) ;
[0025]
[0026] Among them, V represents the first transmission node, D represents the time delays of the first transmission node arranged in ascending order at different times, D[P3] represents the time delay at the position of the first quartile, D[P1] represents the time delay at the position of the third quartile, r represents the tolerance coefficient of the first transmission node to anomalies, T represents the length of the time delays of the first transmission node arranged in ascending order at different times, and a represents the quartile parameter.
[0027] Another possible implementation manner, the initial model successively includes: an input layer, a first gated recurrent unit (GRU) layer, a first dropout layer, a second GRU layer, a second dropout layer, a third GRU layer, a third dropout layer, and an output layer. The first GRU layer includes 64 GRU units, the second GRU layer includes 64 GRU units, the third GRU layer includes 32 GRU units, and the output layer is a dense layer using the sigmoid activation function.
[0028] In a second aspect, the present application provides a network path selection device, and the device includes each functional module for the method described in the first aspect above.
[0029] In a third aspect, the present application provides an electronic device, and the electronic device includes: a processor and a memory; the memory stores instructions executable by the processor; when the processor is configured to execute the instructions, the electronic device implements the method described in the first aspect above.
[0030] In a fourth aspect, the present application provides a readable storage medium, and the readable storage medium includes: software instructions; when the software instructions run in an electronic device, the electronic device implements the method described in the first aspect above.
[0031] In a fifth aspect, the present application provides a computer program product, including: computer instructions; when the computer instructions run on an electronic device, the electronic device implements the method described in the first aspect above.
[0032] The beneficial effects of the second aspect to the fifth aspect above can be referred to those described in the first aspect and will not be elaborated here. Description of the Drawings
[0033] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the following drawings are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained according to these drawings.
[0034] Figure 1Schematic diagram of an application scenario of a network path selection method provided by an embodiment of the present application;
[0035] Figure 2 Schematic flowchart of a network path selection method provided by an embodiment of the present application;
[0036] Figure 3 Schematic flowchart of another method for determining a comprehensive score of a network path provided by an embodiment of the present application;
[0037] Figure 4 Schematic flowchart of a method for determining a comprehensive score based on service type provided by an embodiment of the present application;
[0038] Figure 5 Schematic flowchart of a method for determining a comprehensive score based on a normalization result provided by an embodiment of the present application;
[0039] Figure 6 Schematic flowchart of a method for obtaining an anomaly prediction model provided by an embodiment of the present application;
[0040] Figure 7 Schematic flowchart of a method for obtaining a training sample set provided by an embodiment of the present application;
[0041] Figure 8 Schematic diagram of obtaining training samples based on a sliding window method provided by an embodiment of the present application;
[0042] Figure 9 Schematic flowchart of a method for obtaining a delay threshold provided by an embodiment of the present application;
[0043] Figure 10 Schematic flowchart of a method for obtaining a reference delay threshold of a transmission node provided by an embodiment of the present application;
[0044] Figure 11 Schematic diagram of the composition of a network path selection device provided by an embodiment of the present application;
[0045] Figure 12 Schematic diagram of the composition of an electronic device provided by an embodiment of the present application. Detailed implementation manners
[0046] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without creative efforts shall fall within the protection scope of the present application.
[0047] It should be noted that in the embodiments of the present application, words such as "exemplarily" or "for example" are used to give examples, illustrations or explanations. Any embodiment or design solution described as "exemplarily" or "for example" in the embodiments of the present application should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of words such as "exemplarily" or "for example" is intended to present related concepts in a specific manner.
[0048] For the convenience of clearly describing the technical solutions of the embodiments of the present application, in the embodiments of the present application, terms such as "first" and "second" are used to distinguish the same items or similar items with basically the same functions and roles. Those skilled in the art can understand that the terms such as "first" and "second" do not limit the quantity and execution order.
[0049] As described in the background art, the existing path selection methods mainly rely on historical data or real-time collected information, and usually fail to consider the impact of short-term abnormal changes such as sudden traffic on the network state. That is, the existing path selection methods fail to effectively predict the potential abnormal changes of the network path, which may lead to a relatively high potential abnormal occurrence probability of the selected network path, affecting the stability of service transmission.
[0050] In view of this, how to analyze the potential abnormal occurrence probability in the network path and reduce the impact of sudden network path anomalies on service transmission has become an urgent problem to be solved in the current network path selection methods.
[0051] Based on this, the present application provides a network path selection method. By obtaining the network state information of multiple services to be transmitted and inputting it into an anomaly prediction model, the anomaly (occurrence) probability of multiple services to be transmitted in the future short term can be obtained, and the target network path of the service to be transmitted can be determined based on the anomaly (occurrence) probability, which can improve the reliability of the selected network path.
[0052] For a better understanding of the embodiments of the present application, the following terms are explained:
[0053] 1. Dijkstra's algorithm: This algorithm is used to calculate the shortest path from a node to all other nodes in a weighted directed graph or undirected graph. Its function is to efficiently find the shortest path in the graph and has a wide range of applications in fields such as traffic navigation, network routing, and logistics distribution.
[0054] 2. Yen's k shortest paths algorithm: An algorithm used to find the top k shortest paths sorted by the sum of weights from a fixed starting point to a fixed ending point in a graph with N nodes. This algorithm is particularly suitable for directed acyclic graph structures with non-negative weighted edges, but can also run in directed or undirected graphs.
[0055] The network path selection method provided by this application can be applied to a scenario as shown in Figure 1 the following figure. In this scenario, it includes: a sending device 110, a receiving device 120, an original data packet 130, a network controller 140, multiple transmission nodes 150, a probe data packet 160, and a network status management node 170.
[0056] Among them, the sending device 110 is communicatively connected to the receiving device 120 through multiple transmission nodes 150 (such as Figure 1 the solid line in the figure). The network controller and the network status management node are communicatively connected to the transmission nodes 150 (such as Figure 1 the dotted line in the figure).
[0057] The sending device 110 sends the original data packet 130 of the service to be transmitted to the receiving device 120.
[0058] In some embodiments, the network controller 140 can determine the shortest path between the sending device 110 and the receiving device 120 according to a default routing method (such as the Dijkstra algorithm) for transmitting the original data packet 130 of the service to be transmitted.
[0059] The receiving device 120 prepares for receiving data after receiving the original data packet 130.
[0060] The network controller 140 determines multiple candidate network paths for the service to be transmitted based on the sending device 110 and the receiving device 120 using the Yen's K shortest path algorithm.
[0061] Among them, each candidate network path includes multiple transmission nodes 150.
[0062] The transmission node 150 is used to forward the data packet to the next transmission node 150 or the final receiving device 120 according to the built-in routing rule and network topology information.
[0063] It should be noted that when the first transmission node 150 of each candidate network path receives the data packet sent from the sending device 110 to the receiving device 120, it needs to insert a probe packet header between the original packet header and the payload of the data packet to form a probe data packet 160. The probe packet header includes the device identity information of the sending device 110, the probe instruction information, and the device status list.
[0064] In some embodiments, the first transmission node 150 of each candidate network path can set a specific bit position in the probe packet header to 1, so that other transmission nodes 150 in this network path can perform network status detection based on the value of the identified specific bit position and store the detected network status information in the device status list.
[0065] In a possible implementation, in the probe instruction, the 0th bit, 2nd bit, 3rd bit, and 7th bit are set to 1, which are respectively used to instruct the network transmission node 150 to insert the device identity information (obtainable from the data packet itself), network status information, and the queue backlog status of the transmission node into the device status list.
[0066] The transmission node 150 is further configured to store the recorded network status information into the device status list based on the probe instruction information of the probe packet in the received probe data packet 160.
[0067] In some embodiments, the network status information includes multiple types, which may include latency, bandwidth, packet loss rate, etc. In this case, the specific process of the transmission node detecting different network status information is as follows:
[0068] Latency detection: When the probe data packet 160 passes through the transmission node 150, the transmission node 150 records the ingress timestamp of the probe data packet 160. When the probe data packet 160 leaves the transmission node 150, the egress timestamp of the probe data packet 160 is recorded. Then, based on the ingress timestamp and the egress timestamp, the latency is calculated.
[0069] Exemplarily, the specific calculation process of the latency can be expressed as:
[0070] opLatency = EgressTimestamp - IngressTimestamp Formula (1)
[0071] Where opLatency represents the latency of the transmission node 150, EgressTimestamp represents the egress timestamp of the probe data packet 160, and IngressTimestamp represents the ingress timestamp of the probe data packet 160.
[0072] Bandwidth detection: Bandwidth detection is to use the hardware statistics module of the transmission node 150 to record the traffic transmission rate of the egress port, that is, by periodic sampling, the usage rate of the port is calculated.
[0073] Exemplarily, the specific calculation process of the bandwidth can be expressed as:
[0074]
[0075] Where LinkBandwidth represents the total bandwidth of the network path, IntervalTime represents the periodic time interval, and TransmittedBytes(Interval) represents the total port transmission amount within the periodic time interval.
[0076] Packet loss rate detection: When the detection data packet 160 is at the first transmission node 150 of the network path, a sequence number is added to each detection data packet 160, and the sequence number of each data packet is incremented. When the detection data packet 160 reaches the last transmission node 150 of the network path, the packet loss rate is calculated based on the number of lost packets and the total number of packets through short-period sampling.
[0077] Exemplarily, the specific calculation process of the packet loss rate can be expressed as:
[0078]
[0079] Among them, PacketLossRate represents the packet loss rate within the cycle time, LostPackets represents the number of data packets with lost sequence numbers, and TotalSentPackets represents the range value of the sequence numbers received in this cycle.
[0080] In some embodiments, when the transmission node 150 is the last transmission node under the candidate network path to which it belongs, the detection data packet storing the network state information of all transmission nodes 150 in the network path to which it belongs can also be sent to the network state management node 170.
[0081] The network state management node 170 stores the network state information of multiple candidate network paths of the service to be transmitted based on the device identity recognition information in the detection data packet.
[0082] The network controller 140 is used to obtain the current network state information of multiple candidate network paths from the network state management node 170.
[0083] The network controller 140 is also used to determine the respective abnormal probabilities of each candidate network path based on the network state information and the abnormal prediction model, and the abnormal prediction model is used to predict the abnormal probability of the network path based on the network state information of the network path.
[0084] The network controller 140 is also used to select a target network path for the service to be transmitted from multiple candidate network paths based on the respective abnormal probabilities of each candidate network path, and the target network path is used to transmit the data of the service to be transmitted.
[0085] In some embodiments, the sending device 110 and the receiving device 120 can be computing devices. Among them, the computing device can be a server cluster composed of multiple servers, or a single server, or a computer, or a processor or processing chip in a server or a computer, etc. The specific device forms of the sending device 110 and the receiving device 120 in the embodiments of the present application are not limited.
[0086] In some embodiments, the network controller 140 may be the core controller in a software-defined network (SDN) architecture. It exists in the form of an independent server, runs specialized control software, communicates with various devices in the network through standard interfaces, and has powerful centralized management and global path calculation capabilities. It may also be an edge intelligent gateway in an industrial Internet. This gateway hardware integrates a high-performance processor, a large-capacity memory, and rich network interfaces, and deploys a network control program on an embedded operating system to achieve refined management of the local industrial network. It may also be a high-level routing and switching integrated machine in an enterprise-level network. This is a device that integrates routing and switching functions, presented in a rack-mounted hardware form, with a customized network control module installed inside, and undertakes network path management tasks in an enterprise network environment. The specific device form of the network controller 140 in the embodiments of the present application is not limited.
[0087] In some embodiments, the transmission node 150 may be a device in the network such as a router, a switch, or a server that has data transmission and network status information detection functions. The specific device form of the transmission node 150 in the embodiments of the present application is not limited.
[0088] The following specifically introduces the embodiments provided by the present application in conjunction with the accompanying drawings of the specification.
[0089] The network path selection method provided by the embodiments of the present application can be applied to the above-mentioned network controller, such as Figure 2 As shown, the method specifically includes:
[0090] S101. Obtain the current network status information of multiple candidate network paths.
[0091] Specifically, the network status information is measured by the transmission nodes in the candidate network paths and stored in the network status management node based on the device identity recognition information of the service to be transmitted. The network controller can obtain the current network status information of multiple candidate network paths corresponding to the service to be transmitted from the network status management node according to the device identity recognition information of the sending device of the service to be transmitted.
[0092] S102. Determine the respective exception probabilities of each candidate network path based on the network status information and the exception prediction model.
[0093] Among them, the exception prediction model is used to predict the exception probability of the network path based on the network status information of the network path.
[0094] Specifically, the exception probability represents the probability of an abnormal change occurring in the corresponding candidate network path in the short term in the future. Among them, the abnormal change may include: abnormal jitter, network congestion, etc.
[0095] It should be noted that for the acquisition of the anomaly prediction model, reference can be made to Figure 6 , which will not be elaborated here.
[0096] It should be understood that the anomaly prediction model is obtained by learning the network state information of the network path in a continuous time span and the corresponding anomaly probability labels after continuous time. By deeply mining and learning the data characteristics contained in the past accumulated data and the actual occurrence status of anomalies, it can perform comparative analysis on the input network state data, and then predict the anomaly (occurrence) probability of the network path in a short period of time.
[0097] S103. Based on the anomaly probability of each candidate network path, select a target network path for the service to be transmitted from multiple candidate network paths.
[0098] Among them, the target network path is used to transmit the data of the service to be transmitted.
[0099] A possible implementation manner is to directly select the candidate network path corresponding to the minimum anomaly probability from the anomaly probabilities of each candidate network path as the target network path for the service to be transmitted for data transmission.
[0100] For example, assume that there are 3 candidate network paths corresponding to the current service to be transmitted, which are respectively represented as Path 1, Path 2, and Path 3. After inputting the network state information of each candidate network path into the anomaly prediction model, the obtained anomaly probabilities of each candidate network path are: 20%, 50%, and 25% respectively. Select Path 3 corresponding to the minimum anomaly probability (25%) as the target network path for the service to be transmitted.
[0101] It can be understood that the implementation manner of directly selecting the minimum anomaly probability from the anomaly probabilities of each candidate network path can reduce the possibility of encountering network anomalies during data transmission, provide a relatively stable and reliable transmission channel for the service to be transmitted, and is especially suitable for service scenarios with extremely high requirements for data transmission stability and reliability, such as financial transaction data transmission, real-time industrial control instruction transmission, etc., and can effectively improve the service operation quality and user experience.
[0102] It can be seen from the above steps S101 - S103 that in this application, by inputting the network state information of multiple candidate network paths into a pre-trained anomaly prediction model, the predicted anomaly (occurrence) probability of the network path is obtained, and potential bottleneck problems of the network path can be identified. Further, by the anomaly probability of each candidate network path, selecting the minimum anomaly occurrence probability can reduce the anomaly risk during service transmission and improve the reliability of the selected network path.
[0103] The process of selecting a target network path in S103 will be specifically introduced below with reference to the accompanying drawings.
[0104] In some embodiments, there may be other network quality requirements for the service to be transmitted in addition to the exception probability. In this case, based on the exception probability corresponding to each candidate network path and combined with the current network state information of each candidate network path, the target network path can be selected from multiple candidate network paths. The specific process is as Figure 3 shown, S103 may specifically include the following steps:
[0105] S201. Determine the comprehensive score of each candidate network path based on the exception probability and the current network state information of each candidate network path.
[0106] A possible implementation manner is to set different quantization score intervals for the exception probability and the network state information, that is, perform quantization assignment according to the specific value intervals of the exception probability and the network state information. And based on the quantization score of the exception probability and the quantization score of the network state information, determine the comprehensive score of the corresponding candidate network path.
[0107] For example, assume that the exception probability is divided into 3 intervals: 0 - 10% corresponds to a score of 90 points, 10% - 20% corresponds to a score of 70 points, and 20% - 30% corresponds to a score of 50 points. When the network quality requirement of the service to be transmitted is mainly a large bandwidth requirement, the network state information can be the bandwidth information. The bandwidth of the candidate network path is divided into 3 intervals: greater than 100 Mbps corresponds to a score of 80 points, 50 - 100 Mbps corresponds to a score of 60 points, and less than 50 Mbps corresponds to a score of 40 points. The exception probability of a certain candidate network path is 8% and the bandwidth is 120 Mbps, then the quantization score of its exception probability is 90 points, and the quantization score of the bandwidth is 80 points. Finally, calculate the comprehensive score of this subsequent network path as 90 + 80 = 170 points.
[0108] S202. Select the target network path for the service to be transmitted from multiple candidate network paths based on the comprehensive score of each candidate network path.
[0109] A possible implementation manner is to select the candidate network path corresponding to the maximum comprehensive score from the comprehensive scores of each candidate network path as the target network path for the service to be transmitted.
[0110] Another possible implementation manner is that since the comprehensive score mainly considers the network performance of the candidate network path, on the other hand, the remaining amount of resources of the candidate network path can be further considered to determine the target network path for the service to be transmitted.
[0111] Specifically, candidate network paths with a comprehensive score greater than the score threshold can be selected from the respective comprehensive scores of each candidate network path, and then the remaining resources of these candidate network paths are calculated. Finally, candidate network paths with sufficient remaining resources are selected as the target network paths for the service to be transmitted.
[0112] Among them, the remaining resources can include the following items: the idle time slots of the paths between transmission nodes, the remaining computing cycles of the transmission nodes, and the idle capacity of the service priority queue, etc.
[0113] The idle time slots of the paths between transmission nodes. In a time-division multiplexing network, the number of them determines the transmission time slots that can be allocated to new service data packets, affecting the concurrency ability and bandwidth allocation. The remaining computing cycles of the transmission nodes. Some transmission nodes have processors, and the remaining computing cycles of the processors can reflect the computing resources provided for the processing of new service data packets. The idle capacity of the service priority queue. The transmission nodes manage the forwarding of data packets by setting different priority queues, and its idle capacity determines the space for high-priority service data packets to wait for forwarding, which is crucial for ensuring the transmission stability of critical services.
[0114] For example, assume that there are 3 candidate network paths, namely path 1, path 2, and path 3. The full score of the comprehensive score is 100 points, and the set score threshold of the comprehensive score is 60 points. The comprehensive score of path 1 is 70 points, the comprehensive score of path 2 is 50 points, and the comprehensive score of path 3 is 80 points. First, since the comprehensive score of path 2 (60 points) is less than the score threshold, path 2 is excluded. Then, the remaining resources of path 1 and path 3 are calculated (taking the remaining computing cycles of the transmission nodes as the remaining resources). There are 3 network transmission nodes in path 1, and their remaining computing cycles are 30%, 25%, and 35% respectively. The smallest 25% is taken as the remaining resource score of path 1. There are 2 network transmission nodes in path 3, and their remaining computing cycles are 50% and 45% respectively. The smallest 45% is taken as the remaining resource score of path 3. By comparison, it can be seen that the remaining resources of path 3 (45%) are greater than those of path 1 (25%), and the remaining resources of path 3 are more sufficient. Therefore, path 3 is selected as the target network path for the service to be transmitted.
[0115] In some embodiments, the network state information can also include multiple types. In this case, different weights can be assigned to the multiple network state information based on the service type of the service to be transmitted, so as to reflect the difference in the demand degrees of different service types for different network state performances. The specific process is as Figure 4 shown. S201 in the method can specifically include:
[0116] S301. Obtain the target service type of the service to be transmitted.
[0117] Among them, the target service type is used to indicate the differentiated requirements of the service to be transmitted for network quality.
[0118] Specifically, the network controller can parse the data packet through the deep packet inspection method, extract the transport layer port identifier therein, and determine the target service type of the service to be transmitted based on the transport layer port identifier.
[0119] In some embodiments, the service types of services can be divided into delay-sensitive services, large-bandwidth transmission services, and ordinary services.
[0120] Among them, the characteristics of delay-sensitive services are that they have relatively high requirements for low latency and high reliability. Large-bandwidth transmission services mainly focus on large-bandwidth requirements and have relatively loose requirements for latency. Ordinary services have no specific requirements for network performance and have high flexibility.
[0121] It should be noted that the services and port numbers involved in delay-sensitive services can be port 502 of the Modbus protocol over transmission control protocol (Modbus TCP) or port 44818 of the Ethernet industrial protocol (EtherNet / IP), etc. The services and port numbers involved in large-bandwidth transmission services can be port 554 of the real-time streaming protocol or port 20 of the file transfer protocol. The services and port numbers involved in ordinary services can be port 80 of the hypertext transfer protocol (HTTP) or port 514 of the system logging protocol (Syslog). Specifically, the correspondence between the transport layer port identifier and the target service type of the service to be transmitted is shown in Table 1:
[0122] Table 1
[0123] Service Type Involved Services and Port Numbers Delay-Sensitive Services Modbus TCP: 502; EtherNet / IP: 44818, etc. Large Bandwidth Transmission Services RTSP: 554; FTP: 20, etc. Ordinary Services HTTP: 80; Syslog: 514, etc.
[0124] S302. Determine the target weight set corresponding to the target service type from the weight sets corresponding to various service types.
[0125] Among them, the target weight set includes the weights corresponding to various network state information and the exception probability under the target service type.
[0126] In some embodiments, the multiple network state information may include: delay information, bandwidth information, and packet loss rate information of candidate network paths.
[0127] Among them, the delay information includes the delay of each transmission node in the candidate network path. The bandwidth information includes the bandwidth of each transmission node in the candidate network path. The packet loss rate information includes the packet loss rate of each transmission node in the candidate network path.
[0128] It should be noted that the specific weight values of the weight sets corresponding to the multiple service types can be set according to the actual scenario of the network, or can be set according to the historical network performance of the network. The embodiments of the present application do not limit the specific values of the weight sets.
[0129] For example, taking the delay-sensitive service as an example, from the foregoing S301, it can be seen that the delay-sensitive service requires low delay and low exception probability (that is, high stability). Then, in the target weight set corresponding to the delay-sensitive service, the weights corresponding to the delay and the exception probability can be set to 0.4 respectively, and the weights of the bandwidth and the packet loss rate can be set to 0.1 respectively.
[0130] For another example, taking the large-bandwidth transmission service as an example, from the foregoing S301, it can be seen that the large-bandwidth transmission service requires high bandwidth. Then, in the target weight set corresponding to the large-bandwidth transmission service, the weight corresponding to the bandwidth can be set to 0.4, and the weights of the delay, the exception probability, and the packet loss rate can be set to 0.3 respectively.
[0131] S303. Determine the comprehensive score of each candidate network path based on the target weight set, the multiple network state information, and the exception probability.
[0132] It should be noted that for the specific introduction of step S303, reference can be made to Figure 5 , which will not be elaborated here.
[0133] It can be seen from steps S301 - S303 that by obtaining the target service type of the service to be transmitted, the network quality requirements of the service to be transmitted can be clarified. Based on the target service type, weights are assigned to the multiple network state information for calculating the comprehensive score of the candidate network path, which can make the network state information with a higher demand degree of the service type occupy a larger proportion in the calculation of the comprehensive score, and can make the comprehensive score accurately reflect the network performance of the candidate network path.
[0134] The following introduces the acquisition method of the multiple network state information in S303.
[0135] From the foregoing Figure 1It can be known that the transmission node performs detection according to the detection instruction information in the detection data packet, and reports the finally obtained network status information to the network status management node. In the case of including multiple network status information, each transmission node needs to detect the delay, bandwidth, and packet loss rate of the transmission node when the data packet passes by according to the detection instruction information of the detection data packet.
[0136] The following introduces the calculation process of the comprehensive score of a candidate network path in S303 with reference to the accompanying drawings.
[0137] In some embodiments, for the method in S303, taking any one of the first candidate network paths among multiple candidate network paths as an example, the comprehensive score of each candidate network path is determined. In this case, as Figure 5 shown, S303 specifically includes:
[0138] S401. Based on the delay information of the first candidate network path, normalize the delay of each transmission node in the first candidate network path to obtain the normalization result of the delay of each transmission node.
[0139] In some embodiments, the maximum-minimum normalization formula can be used to normalize the delay of each transmission node in the first candidate network path.
[0140] Exemplarily, the specific process of normalizing the delay of each transmission node in the first candidate network path can be expressed as:
[0141]
[0142] Among them, D represents the delay information of the first candidate network path, d i represents the delay of the i-th transmission node in the first candidate network path, max(D) represents the maximum delay in the delay information of the first candidate network path, min(D) represents the minimum delay in the delay information of the first candidate network path, and dnorm represents the normalization result of the delay of the i-th transmission node in the first candidate network path.
[0143] For example, assume that there are 5 transmission nodes in the first candidate network path, namely node 1, node 1, node 2, node 3, node 4, and node 5, and their delay information is: [20ms, 10ms, 5ms, 10ms, 50ms]. First, determine that the maximum delay in this delay information is 50ms and the minimum delay is 5ms. Then, calculate according to the above formula (4). Taking node 1 as an example, the calculation process is: (20 - 5) ÷ (50 - 5) = 1 / 3 ≈ 0.33, that is, the normalization result of node 1 is 0.33. Calculate the normalization results of each transmission node in turn to obtain the normalized delay information of the first subsequent network path: [0.33, 0.11, 0, 0.22, 1].
[0144] S402. Based on the bandwidth information of the first candidate network path, normalize the bandwidth of each transmission node in the first candidate network path to obtain the normalization result of the bandwidth of each transmission node.
[0145] Specifically, the process of normalizing the bandwidth information of the first candidate network path can refer to S401 above and will not be elaborated here.
[0146] S403. Based on the packet loss rate information of the first candidate network path, normalize the packet loss rate of each transmission node in the first candidate network path to obtain the normalization result of the packet loss rate of each transmission node.
[0147] Specifically, the process of normalizing the packet loss rate information of the first candidate network path can refer to S401 above and will not be elaborated here.
[0148] S404. Based on the target weight set, the normalization results of the delay, bandwidth, packet loss rate of each transmission node in the first candidate network path, and the exception probability of the first candidate network path, determine the comprehensive score of the first candidate network path.
[0149] A possible implementation method. The specific calculation process of determining the comprehensive score of the first candidate network path based on the target weight set, the normalization results of the delay, bandwidth, packet loss rate of each transmission node in the first candidate network path, and the exception probability of the first candidate network path can be expressed as:
[0150]
[0151] Among them, Score represents the comprehensive score of the first candidate network path; w1, w2, w3, and w4 respectively represent the weights corresponding to the delay, bandwidth, packet loss rate, and exception probability; j(t + 1) represents the exception probability of the first candidate network path;
[0152] Represents the sum of the normalization results of the bandwidths of each transmission node in the first candidate network path; Represents the sum of the normalization results of the latencies of each transmission node in the first candidate network path; Represents the sum of the normalization results of the packet loss rates of each transmission node in the first candidate network path.
[0153] For example, assume that the service type of the service to be transmitted is a latency-sensitive service (the target weight set corresponding to the latency-sensitive service is: [0.3, 0.2, 0.2, 0.3], corresponding to the latency weight, bandwidth weight, packet loss rate weight, and exception probability weight respectively. Assume that there are 3 transmission nodes in a candidate network path of the service to be transmitted, the exception probability of this candidate network path is 0.1, and its corresponding multiple network state information are respectively: latency information [20ms, 40ms, 70ms], bandwidth information: [12Mbps, 18Mbps, 25Mbps], packet loss rate information: [1%, 3%, 5%]. After normalizing the multiple network state information according to formula (4), the results are: latency information normalization result: [0, 0.4, 1], bandwidth information normalization result: [0, 0.46, 1], packet loss rate information normalization result: [0, 0.5, 1]. According to formula (5), the comprehensive score calculation process of this candidate network path is as follows: score = 0.3×(1 - 0.1)×[0.2×(0 + 0.46 + 1) - 0.3×(0 + 0.4 + 1) - 0.2×(0 + 0.5 + 1)] = -0.1156.
[0154] It can be seen from S401 - S404 that by normalizing the network state information, the differences in different index dimensions and value ranges can be eliminated, making the data comparable. Then, based on the target weight set, normalization results, and exception probability to calculate the comprehensive score, the influence of multiple network state information on the path can be comprehensively considered, and the adaptation degree of the candidate network path to the service to be transmitted can be evaluated more accurately, providing a quantitative basis for the selection of the target network path.
[0155] The following specifically introduces the anomaly prediction model in S102 in combination with the accompanying drawings.
[0156] In some embodiments, before the above S102, as Figure 6 shown, the method may further include the following steps:
[0157] S501, Obtain a training sample set.
[0158] Among them, the training sample set includes multiple training samples, and each training sample includes a sequence of network state information of a network path within a first time period, and an anomaly probability label at an observation moment after the first time period.
[0159] Specifically, from the above introduction of Figure 1 , it can be known that the network state management node is used to store the network state information of the network path, and the training samples can be obtained through the network state management node.
[0160] Specifically, for the specific process of obtaining the training sample set, reference can be made to the following Figure 7 , which will not be elaborated here.
[0161] S502. Train the initial model of the anomaly prediction model based on the training sample set to obtain the anomaly prediction model.
[0162] In some embodiments, the initial model can be a time series deep learning model, and this initial model sequentially includes: an input layer, a first gated recurrent unit (GRU) layer, a first Dropout layer, a second GRU layer, a second Dropout layer, a third GRU layer, a third Dropout layer, and an output layer.
[0163] Among them, the first GRU layer includes 64 GRU units, the second GRU layer includes 64 GRU units, the third GRU layer includes 32 GRU units, and the output layer is a Dense Layer with a Sigmoid activation function.
[0164] Exemplarily, the process of one iteration of training the initial model based on the training samples is as follows: Input part or all of the training sample set into the initial model, and complete the forward propagation from the input layer through each GRU layer and Dropout layer to the output layer. Compare the output with the label through the binary cross-entropy loss function to calculate the loss value. Then, use the backpropagation algorithm to calculate the gradient of the loss with respect to the model parameters, and the adaptive moment estimation optimizer (Adam) updates the parameters of the GRU layer and others accordingly. The accuracy is used as the evaluation metric during training. Set the maximum number of training epochs of the training sample set to 100. Continuously monitor the loss value of the validation set during training. If it does not decrease for 5 consecutive training epochs, early stopping is performed. Repeat this process until the end condition is met to complete a full training.
[0165] It should be understood that the initial model uses a three - layer GRU, which can extract features from different abstraction levels and time scales. The first layer captures basic local features, the second layer mines complex features, and the third layer integrates information to extract global features. At the same time, the stacked structure can learn complex functional relationships and can also alleviate the vanishing gradient through the gating mechanism to better process time - series data.
[0166] In some embodiments, the specific steps of obtaining the training sample set in S501 are as Figure 7 shown, and specifically include:
[0167] S601. Obtain the delay sequence of a network path, and select the delay information of the first duration in the delay sequence.
[0168] Among them, the delay sequence includes the delay information of the network path at different times, and the delay information includes the delay of each transmission node in the network path.
[0169] It should be noted that the delay reflects the time consumed by the network path to transmit data. If the delay exceeds the normal range (i.e., the delay threshold), it indicates that abnormal fluctuations may have occurred during the transmission process of the network path, hindering the data transmission. Therefore, the delay of the network path can directly reflect the abnormal situation of the current network path, so the delay information of the network path is used as the training sample.
[0170] In some embodiments, the first duration can be 5 minutes, 10 minutes, or 20 minutes, and the specific value of the first duration is not limited in the embodiments of the present application.
[0171] In some embodiments, the sliding window method can be used to obtain the delay information of the first duration from the delay sequence.
[0172] A possible implementation, the specific process of using the sliding window method is as Figure 8 shown, and includes: In the delay sequence 810 of the network path, each element (such as element A, element B, etc.) represents the delay information of the network path at a time node. Taking the first duration as the time window, starting from element B in the delay sequence 810, a group of delay information t1 is selected. Then the time window is slid to the right, starting from element D, and another group of delay information such as t2 is selected. In this way, by continuously sliding the time window, multiple groups of delay information with the first duration as the time length can be obtained from the delay sequence.
[0173] S602. Determine the abnormal probability label based on the comparison result between the delay of the transmission node in the network path at the observation moment after the first duration and the delay threshold.
[0174] Specifically, when using the sliding window method in S601 to obtain the delay information of the first duration from the delay sequence, the first element after each group of information can also be obtained as the delay at the observation moment.
[0175] It should be noted that the delay threshold is used to indicate the upper limit of the delay of the current network path. It can be understood that if the delay of the transmission node exceeds the upper limit of the delay of the network path, the transmission node may be abnormal.
[0176] S603. Obtain training samples based on the delay information of the first duration and the abnormal probability label.
[0177] Specifically, each training sample includes the delay information of the first duration and the abnormal probability label at the observation moment after the first duration.
[0178] S604. Determine a training sample set based on the training samples.
[0179] It should be noted that since the degree of dispersion of the delay data at different moments in the delay information of the first duration may be relatively large, the delays in the delay information can be normalized using the maximum-minimum normalization formula. Normalization can map these discrete delay data to a unified scale range and eliminate the analysis deviation caused by the difference in data magnitude. Specifically, the specific process of normalizing the delay information can refer to the above formula (4) and will not be elaborated here.
[0180] Specifically, multiple training samples of multiple network paths can be obtained by repeatedly executing steps S601 - S603 to form a training sample set.
[0181] The following introduces the specific method for determining the abnormal probability label in S602.
[0182] In some embodiments, for the method in S602, the transmission nodes with a delay greater than the delay threshold can be marked as abnormal nodes, and the abnormal probability label of the network path at the observation moment can be determined by judging the number of abnormal nodes. In this case, S602 can be specifically implemented as:
[0183] S602a1. Determine abnormal nodes based on the comparison result between the delay of the transmission nodes in the network path at the observation moment after the first duration and the delay threshold.
[0184] Among them, the abnormal nodes are the transmission nodes with a delay greater than the delay threshold at the observation moment after the first duration.
[0185] S602a2. Determine the abnormal probability label based on the number of abnormal nodes and the number of all nodes in the network path.
[0186] In a possible implementation, when the ratio of the number of abnormal nodes to the number of all nodes in the network path is greater than or equal to a preset quantity threshold, the abnormal probability label is determined to be 1, and when the ratio is less than or equal to the preset threshold, the abnormal probability label is determined to be 0.
[0187] For example, assume that there are 5 transmission nodes in a certain network path, and the time delays at the observation moment are [20ms, 50ms, 10ms, 40ms, 100ms] respectively, the time delay threshold is 40ms, and the preset quantity threshold is 2. After comparison, there are 2 abnormal nodes in the network path at the observation moment, which is equal to the preset quantity threshold, so the abnormal probability label of the network path at the current observation moment is determined to be 1.
[0188] In another possible implementation, different intervals of the number of abnormal nodes are predefined, and each interval corresponds to a specific abnormal probability label. According to which interval the actually counted number of abnormal nodes falls into, the corresponding abnormal probability label is determined.
[0189] For example, assume that there are 20 transmission nodes in a certain network path, and the following intervals of the number of abnormal nodes and the corresponding abnormal probability labels are predefined: the abnormal probability label corresponding to [0, 2) is 0, the abnormal probability label corresponding to [2, 5) is 0.2, the abnormal probability label corresponding to [5, 10) is 0.5, the abnormal probability label corresponding to [10, 15) is 0.8, and the abnormal probability label corresponding to [15, 20] is 1. After calculating the comparison result between the time delay of the transmission nodes in a certain network path at the observation moment and the time delay threshold, it is confirmed that the number of abnormal nodes is 4. According to the above intervals of the number of abnormal nodes, the abnormal probability label of the network path at the observation moment is determined to be 0.2.
[0190] In some other embodiments, for the method in S602, it is also possible to directly determine whether there are abnormal nodes in the network path to determine the abnormal probability label of the network path at the observation moment. In this case, S602 can be specifically implemented as:
[0191] S602b1: When there is a transmission node in the network path whose time delay at the observation moment after the first duration is greater than the time delay threshold, the abnormal probability label is determined to be 1.
[0192] S602b2: When there is a transmission node in the network path whose time delay at the observation moment after the first duration is less than or equal to the time delay threshold, the abnormal probability label is determined to be 0.
[0193] For example, assume that there are 5 transmission nodes in a certain network path, and the time delays at the observation moment are [10ms, 20ms, 30ms, 40ms, 10ms] respectively, and the time delay threshold is 50ms. After calculating the comparison result between the time delay of the transmission nodes in a certain network path at the observation moment and the time delay threshold, it is determined that there is no transmission node with a time delay greater than the time delay threshold, then it is determined that the abnormal probability label of this network path at the observation moment is 0.
[0194] It can be seen from the above steps S602a1 - S602a2 and steps S602b1 - S602b2 that S602a1 - S602a2 determines the abnormal probability label by comparing the ratio of the number of abnormal nodes to the number of all nodes in the network. This method is universal and comprehensively considers the time delay conditions of all nodes in the network, and is applicable to both large and complex networks and small and simple network paths. While S602b1 - S602b2 directly determines the abnormal probability label based on whether there is a node with a time delay exceeding the threshold, which is intuitive, fast and simple, and this strict judgment standard can capture the subtle changes in the network in a timely manner, and is very suitable for services with high requirements for time delay sensitivity to ensure the real-time performance and stability of the services.
[0195] The following introduces the specific acquisition of the time delay threshold in S602 in combination with the accompanying drawings.
[0196] In some embodiments, for the time delay threshold in S602, it can be pre-configured by the administrator in the network controller in advance, and this kind of time delay threshold can be applied to the judgment of the abnormal probability labels of multiple network paths.
[0197] In other embodiments, for the time delay threshold in S602, it can be calculated by the network controller according to the historical time delay conditions of the corresponding network path. At this time, this time delay threshold is only applicable to the judgment of the abnormal probability label of the corresponding network path. In this case, as Figure 9 shown, before S602, the method further includes:
[0198] S701. Based on the time delay of each transmission node in the network path, determine the respective reference time delay threshold corresponding to each transmission node.
[0199] Among them, the reference time delay threshold of the transmission node represents the time delay threshold of this transmission node at different historical moments.
[0200] It should be noted that the network path is composed of transmission nodes, and the network performance of each transmission node will affect the network performance of this network path. Therefore, when calculating the time delay threshold of the network path, the reference time delay threshold of each transmission node can be calculated first.
[0201] S702. Select the minimum value from the delay thresholds corresponding to each transmission node as the delay threshold.
[0202] It should be understood that by selecting the minimum reference delay threshold as the delay threshold of the entire network path, this method applies the short board effect. That is, the overall performance of the network path is limited by the transmission node with the longest delay. Therefore, selecting the minimum reference delay threshold can measure whether the network path is abnormal with a relatively strict standard.
[0203] In some embodiments, for the method in S701, taking any first transmission node in the network path as an example, the specific process of obtaining the upper limit of the reference delay threshold of the first transmission node is as Figure 10 shown, S701 may specifically include:
[0204] S801. Arrange the delays of the first transmission node at different times in ascending order to obtain a sorting result.
[0205] It should be noted that the delays of the first transmission node at different times are irregular. At this time, it is necessary to sort the delays of the first transmission node at different times according to the size.
[0206] In some embodiments, the delays of the first transmission node at different times can be sorted in ascending order.
[0207] In other embodiments, the delays of the first transmission node at different times can also be sorted in descending order.
[0208] S802. Determine the delay at the position of the first quartile and the delay at the position of the third quartile in the sorting result.
[0209] Specifically, after S801 sorts the delays of the first transmission node at different times in ascending order, the first quartile and the second quartile of the sorting result can be calculated.
[0210] It should be noted that the delay at the position of the first quartile (i.e., the 25% quartile) represents that 25% of the delay data is less than this value, and it can reflect the boundary of the lower delay level. And the delay at the position of the third quartile (i.e., the 75% quartile) represents that 75% of the delay data is less than this value, and this value presents the boundary of the higher delay.
[0211] In some embodiments, during the calculation of the first quartile or the third quartile, it may occur that the obtained calculation result is a non-integer. At this time, the calculation result can be rounded up to obtain the quartile. Then, obtain the delay at the corresponding position of the quartile in the delay sequence.
[0212] In some other embodiments, if the calculation result of the first quantile or the third quantile is a non-integer, interpolation can also be used to calculate the latency corresponding to the first quantile or the third quantile.
[0213] A possible implementation is that the specific process of the interpolation method is as follows: Round down the value of the calculation result, and use the rounded-down value as an index to obtain the latency at the corresponding position in the sorted result as the first latency. Then round up the value of the calculation result, and use the rounded-up value as an index to obtain the latency at the corresponding position in the sorted result as the second latency. Use the fractional part of the calculation result as the weight of the first latency, and use the difference between the fractional part of the calculation result and 1 as the weight of the second latency. Based on the first latency, the second latency, and their corresponding weights, perform weighted summation, and use the finally obtained result as the latency corresponding to the quantile.
[0214] Exemplarily, the specific calculation processes for determining the first quantile and the third quantile in the sorted result can be expressed as:
[0215]
[0216] Among them, a represents the quartile parameter, T represents the length of the latencies of the first transmission node at different times arranged in ascending order, and Pa represents the quantile position.
[0217] For example, assume that the latency sequence of a transmission node at different times is [12, 25, 8, 18, 30, 22, 10, 15, 28, 9], and the length of this latency sequence is 10. First, sort this latency sequence in ascending order to obtain the sorted result: [8, 9, 10, 12, 15, 18, 22, 25, 28, 30]. Then, based on the sorted result, calculate the first quantile and the third quantile as 2.75 and 8.28 respectively through formula (6). By rounding up, the first quantile is obtained as 3, and the third quantile is obtained as 9. Find the latencies at the corresponding positions in the sorted result, and the latency corresponding to the first quantile is 12, and the latency corresponding to the second quantile is 28.
[0218] For another example, based on the above example, use the interpolation method to calculate the latency corresponding to the first quantile or the third quantile. In the above example, the calculated first quantile and third quantile are 2.75 and 8.28 respectively. Round up and down the calculation result 2.75 of the first quantile to get 2 and 3. Obtain the latencies corresponding to 2 and 3 in the sorted result as 9 and 10 respectively. Use the fractional part 0.75 as the weight of 9, and use 1 - 0.75 = 0.25 as the weight of 10. Perform weighted summation on 9 and 10 to obtain the latency corresponding to the first quantile as 9.25. According to the same method, the latency corresponding to the second quantile can be obtained as 27.16.
[0219] Based on the delay at the position of the first quantile and the delay at the position of the third quantile, determine the reference delay threshold corresponding to the first transmission node.
[0220] A possible implementation is to calculate the interquartile range of the sorting result by calculating the difference between the delays corresponding to the first quantile and the third quantile. Then, multiply the product of the interquartile range and the anomaly tolerance coefficient by the delay corresponding to the third quantile to obtain the reference delay threshold of the first transmission node.
[0221] In some embodiments, the anomaly tolerance coefficient can be set to 1, 1.5, or 2. Specifically, the anomaly tolerance coefficient can be set according to the actual network conditions, and the specific value of the anomaly tolerance coefficient in the embodiments of the present application is not limited.
[0222] Exemplarily, the calculation process for determining the reference delay threshold corresponding to the first transmission node can be expressed as:
[0223] Threshold(V)=D[P3]+r ( D[P3]-D[P1] ) Formula (7)
[0224] Wherein, V represents the first transmission node, D represents the delays of the first transmission node arranged in ascending order at different times, D[P3] represents the delay at the position of the first quantile, D[P1] represents the delay at the position of the third quantile, and r represents the anomaly tolerance coefficient of the first transmission node.
[0225] For example, assume that the delay at the position corresponding to the first quantile in the sorted delay sequence of a transmission node is 10, the delay at the position corresponding to the third quantile is 28, and the anomaly tolerance coefficient of the network where the transmission node is located is 1.5 at this time. Then, according to Formula (7), the reference delay threshold of the transmission node can be calculated to be 56.
[0226] It should be understood that by calculating the interquartile range, the dispersion degree of the delay sequence can be measured, the delay fluctuation condition of the transmission node can be reflected, and data characteristics can be provided for the determination of the reference delay threshold. Further, by introducing the anomaly tolerance coefficient, it can be flexibly adjusted according to actual needs, narrowing the threshold range when the network is stable and widening it when the fluctuation is large, enhancing adaptability. Based on the interquartile range and the third quantile as the calculation basis, extreme value interference can be avoided, and the reference delay threshold can more accurately reflect the normal delay range of the transmission node.
[0227] The above mainly introduces the solution provided by the embodiments of the present application from the perspective of methods. To implement the above functions, it includes the corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should easily realize that, combining the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in the way of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.
[0228] In an exemplary embodiment, the embodiments of the present application further provide a network path selection device, which can be applied to the above computing device. As Figure 11 shown, the device includes: an acquisition module 1110 and a processing module 1120.
[0229] The acquisition module 1110 is used to acquire the current network state information of multiple candidate network paths.
[0230] The processing module 1120 is used to determine the respective anomaly probabilities of each candidate network path based on the network state information and the anomaly prediction model, and the anomaly prediction model is used to predict the anomaly probability of the network path based on the network state information of the network path.
[0231] The processing module 1120 is used to select a target network path for the service to be transmitted from multiple candidate network paths based on the respective anomaly probabilities of each candidate network path, and the target network path is used to transmit the data of the service to be transmitted.
[0232] A possible implementation manner is that the processing module 1120 is specifically used to: determine the respective comprehensive scores of each candidate network path based on the respective anomaly probabilities of each candidate network path and the current network state information. Select a target network path for the service to be transmitted from multiple candidate network paths based on the respective comprehensive scores of each candidate network path.
[0233] Another possible implementation manner is that there are multiple types of network state information. In this case, the processing module 1120 is specifically further used to: acquire the target service type of the service to be transmitted. Determine the target weight set corresponding to the target service type from the weight sets corresponding to the respective service types, and the target weight set includes the weights corresponding to multiple network state information and anomaly probabilities under the target service type. Determine the respective comprehensive scores of each candidate network path based on the target weight set, multiple network state information, and anomaly probabilities.
[0234] Another possible implementation manner, the multiple network state information includes: delay information of candidate network paths, bandwidth information, and packet loss rate information. The delay information includes the delay of each transmission node in the candidate network path. The bandwidth information includes the bandwidth of each transmission node in the candidate network path. The packet loss rate information includes the packet loss rate of each transmission node in the candidate network path.
[0235] Another possible implementation manner, for any first candidate network path among the multiple candidate network paths, based on the target weight set, the multiple network state information, and the abnormal probability, determine the comprehensive score of each candidate network path respectively. The processing module 1120 is further configured to: based on the delay information of the first candidate network path, perform normalization processing on the delay of each transmission node in the first candidate network path to obtain the normalization result of the delay of each transmission node. Based on the bandwidth information of the first candidate network path, perform normalization processing on the bandwidth of each transmission node in the first candidate network path to obtain the normalization result of the bandwidth of each transmission node. Based on the packet loss rate information of the first candidate network path, perform normalization processing on the packet loss rate of each transmission node in the first candidate network path to obtain the normalization result of the packet loss rate of each transmission node. Based on the target weight set, the normalization result of the delay of each transmission node in the first candidate network path, the normalization result of the bandwidth, the normalization result of the packet loss rate, and the abnormal probability of the first candidate network path, determine the comprehensive score of the first candidate network path.
[0236] Another possible implementation manner, the processing module 1120 is specifically configured to: calculate the comprehensive score according to the following formula:
[0237]
[0238] where Score represents the comprehensive score of the first candidate network path, w1, w2, w3, and w4 respectively represent the weight corresponding to the delay, the weight corresponding to the bandwidth, the weight corresponding to the packet loss rate, and the weight corresponding to the abnormal probability, j(t + 1) represents the abnormal probability of the first candidate network path, represents the sum of the normalization results of the bandwidths of each transmission node in the first candidate network path.
[0239] represents the sum of the normalization results of the delays of each transmission node in the first candidate network path, represents the sum of the normalization results of the packet loss rates of each transmission node in the first candidate network path.
[0240] Another possible implementation manner, the processing module 1120 is further configured to: obtain a training sample set, where the training sample set includes a plurality of training samples, and each training sample includes a network state information sequence of a network path within a first duration and an anomaly probability label at an observation moment after the first duration. Train an initial model of the anomaly prediction model based on the training sample set to obtain the anomaly prediction model.
[0241] Another possible implementation manner, the processing module 1120 is specifically configured to obtain a training sample set, including: obtaining a delay sequence of a network path, and selecting delay information of a first duration in the delay sequence, where the delay sequence includes delay information of the network path at different moments, and the delay information includes the delay of each transmission node in the network path. Determine the anomaly probability label based on the comparison result between the delay of the transmission node in the network path at the observation moment after the first duration and the delay threshold. Obtain a training sample based on the delay information of the first duration and the anomaly probability label. Determine the training sample set based on the training samples.
[0242] Another possible implementation manner, the processing module 1120 is specifically configured to: when there is a transmission node in the network path whose delay at the observation moment after the first duration is greater than the delay threshold, determine that the anomaly probability label is 1. When there is a transmission node in the network path whose delay at the observation moment after the first duration is less than or equal to the delay threshold, determine that the anomaly probability label is 0.
[0243] Another possible implementation manner, the processing module 1120 is specifically configured to: determine an anomaly node based on the comparison result between the delay of the transmission node in the network path at the observation moment after the first duration and the delay threshold, where the anomaly node is a transmission node whose delay at the observation moment after the first duration is greater than the delay threshold. Determine the anomaly probability label based on the number of anomaly nodes and the number of all nodes in the network path.
[0244] Another possible implementation manner, the processing module 1120 is further configured to: determine a respective reference delay threshold for each transmission node in the network path based on the delay of each transmission node. Select the minimum value from the respective delay thresholds of each transmission node as the delay threshold.
[0245] Another possible implementation method is as follows. For any first transmission node in the network path, based on the time delays of each transmission node in the network path, a respective reference time delay threshold is determined for each transmission node. The processing module 1120 is further configured to: sort the time delays of the first transmission node at different times in ascending order to obtain a sorting result. Determine the time delay at the position of the first quartile and the time delay at the position of the third quartile in the sorting result. Based on the time delay at the position of the first quartile and the time delay at the position of the third quartile, determine the reference time delay threshold corresponding to the first transmission node.
[0246] Another possible implementation method. The processing module 1120 is specifically configured to calculate the reference time delay threshold corresponding to the first transmission node according to the following formula:
[0247] Threshold(V)=D[P3]+r ( D[P3]-D[P1] ) ;
[0248]
[0249] where V represents the first transmission node, D represents the time delays of the first transmission node at different times arranged in ascending order, D[P3] represents the time delay at the position of the first quartile, D[P1] represents the time delay at the position of the third quartile, r represents the tolerance coefficient of the first transmission node to anomalies, T represents the length of the time delays of the first transmission node at different times arranged in ascending order, and a represents the quartile parameter.
[0250] Another possible implementation method. The initial model sequentially includes: an input layer, a first gated recurrent unit (GRU) layer, a first dropout layer, a second GRU layer, a second dropout layer, a third GRU layer, a third dropout layer, and an output layer. The first GRU layer includes 64 GRU units, the second GRU layer includes 64 GRU units, the third GRU layer includes 32 GRU units, and the output layer is a dense layer with a sigmoid activation function.
[0251] It should be noted that Figure 11 the division of the modules in [description] is illustrative, merely a logical function division. In actual implementation, there may be other division methods. For example, two or more functions can also be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software function modules.
[0252] In an exemplary embodiment, as described above, the network controller may be an electronic device with computing and processing capabilities such as a computer or a service. In this case, the embodiments of the present application further provide an electronic device, Figure 12 which is a schematic diagram of the composition of an electronic device provided by the embodiments of the present application. As Figure 12 shown, the electronic device includes: a processor 10, a memory 20, a communication line 30, a communication interface 40, and an input / output interface 50.
[0253] Among them, the processor 10, the memory 20, the communication interface 40, and the input / output interface 50 can be connected through the communication line 30.
[0254] The processor 10 is configured to execute instructions stored in the memory 20 to implement the network path selection method provided in the above embodiments of the present application. The processor 10 may be a CPU, a general-purpose processor, a network processor (NP), a digital signal processor (DSP), a microprocessor, a micro control unit (MCU) / single-chip microcomputer / microcontroller, a programmable logic device (PLD), or any combination thereof. The processor 10 may also be any other device with processing capabilities, such as a circuit, a device, or a software module, and the embodiments of the present application do not limit this. In one example, the processor 10 may include one or more CPUs, such as Figure 12 CPU0 and CPU1 in Figure 12 shown by the dashed line. As an alternative implementation, the electronic device may include multiple processors. For example, in addition to the processor 10, it may also include a processor 60 (
[0255] A memory 20 for storing instructions. For example, the instructions can be a computer program. Optionally, the memory 20 can be a read-only memory (ROM) or other types of static storage devices that can store static information and / or instructions, or it can be a random access memory (RAM) or other types of dynamic storage devices that can store information and / or instructions. It can also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM), or other optical disc storage, optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices, etc. The embodiments of the present application do not limit this.
[0256] It should be noted that the memory 20 can exist independently of the processor 10 or be integrated with the processor 10. The memory 20 can be located inside the electronic device or outside the electronic device. The embodiments of the present application do not limit this.
[0257] A communication line 30 for transmitting information between the components included in the electronic device.
[0258] A communication interface 40 for communicating with other devices or other communication networks. The other communication network can be an Ethernet, a radio access network (RAN), a wireless local area network (WLAN), etc. The communication interface 40 can be a module, a circuit, a transceiver, or any device capable of implementing communication.
[0259] An input / output interface 50 for implementing human-computer interaction between the user and the electronic device. For example, it realizes action interaction or information interaction between the user and the electronic device.
[0260] Exemplarily, the input / output interface 50 can be a mouse, a keyboard, a display screen, or a touch display screen, etc. Action interaction or information interaction between the user and the electronic device can be realized through a mouse, a keyboard, a display screen, or a touch display screen, etc.
[0261] It should be noted that Figure 12 the structure shown in Figure 12 does not constitute a limitation on the electronic device. In addition to
[0262] In an exemplary embodiment, the embodiment of the present application further provides a computer program product, which includes computer instructions. When the computer instructions run on an electronic device, the electronic device implements the method in the foregoing method embodiment.
[0263] In an exemplary embodiment, the embodiment of the present application further provides a readable storage medium, which includes software instructions. When the software instructions run on an electronic device, the electronic device implements the method in the foregoing method embodiment. The computer-readable storage medium may be a non-transitory computer-readable storage medium. For example, the non-transitory computer-readable storage medium may be ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.
[0264] In the above embodiment, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using a software program, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer-executable instructions. When the computer-executable instructions are loaded and executed on a computer, the processes or functions according to the embodiments of the present application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer-executable instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer-executable instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired manner (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or a wireless manner (such as infrared, wireless, microwave, etc.).
[0265] Although the present application has been described in conjunction with various embodiments herein, however, in the process of implementing the claimed present application, those skilled in the art can understand and achieve other variations of the disclosed embodiments by viewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude a plurality. A single processor or other unit may implement several functions recited in the claims. Certain measures are recited in mutually different dependent claims, but this does not mean that these measures cannot be combined to produce good results.
[0266] Although the present application has been described in connection with specific features and their embodiments, it will be apparent that various modifications and combinations can be made without departing from the spirit and scope of the present application. Accordingly, the present specification and the drawings are merely exemplary illustrations of the present application as defined by the appended claims, and are considered to cover any and all modifications, variations, combinations or equivalents within the scope of the present application. Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalent technologies, the present application is also intended to include these changes and modifications.
[0267] As described above, the above is only the specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A network path selection method, characterized in that, The method includes: Obtaining the current network status information of multiple candidate network paths; Based on the network status information and an anomaly prediction model, determining the anomaly probability of each candidate network path; the anomaly prediction model is used to predict the anomaly probability of a network path based on the network status information of the network path; Based on the anomaly probability of each candidate network path, selecting a target network path from the multiple candidate network paths for the service to be transmitted; the target network path is used to transmit the data of the service to be transmitted.
2. The method according to claim 1, wherein The selecting a target network path from the multiple candidate network paths for the service to be transmitted based on the anomaly probability of each candidate network path includes: Based on the anomaly probability of each candidate network path and the current network status information, determining the comprehensive score of each candidate network path; Based on the comprehensive score of each candidate network path, selecting a target network path from the multiple candidate network paths for the service to be transmitted.
3. The method according to claim 2, wherein The network status information includes multiple types; the determining the comprehensive score of each candidate network path based on the anomaly probability of each candidate network path and the current network status information includes: Obtaining the target service type of the service to be transmitted; Determining the target weight set corresponding to the target service type from the weight sets corresponding to each of the multiple service types; the target weight set includes the weights corresponding to multiple network status information and anomaly probabilities under the target service type; Based on the target weight set, multiple network status information, and anomaly probability, determining the comprehensive score of each candidate network path.
4. The method according to claim 3, characterized in that, The multiple network status information includes: delay information, bandwidth information, and packet loss rate information of the candidate network path; the delay information includes the delay of each transmission node in the candidate network path; the bandwidth information includes the bandwidth of each transmission node in the candidate network path; the packet loss rate information includes the packet loss rate of each transmission node in the candidate network path.
5. The method according to claim 4, wherein For any first candidate network path among the multiple candidate network paths, the determining the comprehensive score of each candidate network path based on the target weight set, multiple network status information, and anomaly probability includes: Based on the delay information of the first candidate network path, performing normalization processing on the delay of each transmission node in the first candidate network path to obtain the normalized result of the delay of each transmission node; Based on the bandwidth information of the first candidate network path, performing normalization processing on the bandwidth of each transmission node in the first candidate network path to obtain the normalized result of the bandwidth of each transmission node; Based on the packet loss rate information of the first candidate network path, performing normalization processing on the packet loss rate of each transmission node in the first candidate network path to obtain the normalized result of the packet loss rate of each transmission node; Based on the target weight set, the normalized result of the delay of each transmission node in the first candidate network path, the normalized result of the bandwidth, the normalized result of the packet loss rate, and the anomaly probability of the first candidate network path, determining the comprehensive score of the first candidate network path.
6. The method according to claim 5, wherein Determining the comprehensive score of the first candidate network path based on the target weight set, the normalized results of the delay, bandwidth, packet loss rate of each transmission node in the first candidate network path, and the exception probability of the first candidate network path, includes: Calculating the comprehensive score according to the following formula: Where, Score represents the comprehensive score of the first candidate network path; w1, w2, w3, and w4 respectively represent the weights corresponding to delay, bandwidth, packet loss rate, and exception probability; j(t + 1) represents the exception probability of the first candidate network path; represents the sum of the normalization results of the bandwidths of each transmission node in the first candidate network path; represents the sum of the normalization results of the delays of each transmission node in the first candidate network path; represents the sum of the normalization results of the packet loss rates of each transmission node in the first candidate network path.
7. The method according to any one of claims 1-6, characterized in that, The method further includes: Obtaining a training sample set; the training sample set includes multiple training samples, and each training sample includes a network state information sequence of a network path within a first time period, and an exception probability label at an observation moment after the first time period of the network path; Training an initial model of the exception prediction model based on the training sample set to obtain the exception prediction model.
8. The method according to claim 7, wherein The obtaining the training sample set includes: Obtaining a delay sequence of a network path and selecting the delay information of the first time period in the delay sequence; the delay sequence includes delay information of the network path at different moments; the delay information includes the delay of each transmission node in the network path; Determining an exception probability label based on a comparison result between the delay of a transmission node in the network path at an observation moment after the first time period and a delay threshold; Obtaining a training sample based on the delay information of the first time period and the exception probability label; Determining the training sample set based on the training sample.
9. The method according to claim 8, characterized in that, The determining the exception probability label based on a comparison result between the delay of a transmission node in the network path at an observation moment after the first time period and a delay threshold includes: When there is a transmission node in the network path whose delay at an observation moment after the first time period is greater than the delay threshold, determining the exception probability label as 1; When there is a transmission node in the network path whose delay at an observation moment after the first time period is less than or equal to the delay threshold, determining the exception probability label as 0.
10. The method according to claim 8, characterized in that The determining the exception probability label based on a comparison result between the delay of a transmission node in the network path at an observation moment after the first time period and a delay threshold includes: Determining an exception node based on a comparison result between the delay of a transmission node in the network path at an observation moment after the first time period and a delay threshold; the exception node is a transmission node whose delay at an observation moment after the first time period is greater than the delay threshold; Determining the exception probability label based on the number of exception nodes and the number of all nodes in the network path.
11. The method according to claim 8, characterized in that, The method further includes: Determining a respective reference delay threshold for each transmission node in the network path based on the delay of each transmission node; Selecting the minimum value from the respective delay thresholds of each transmission node as the delay threshold.
12. The method according to claim 11, wherein For any first transmission node in the network path; determining a respective reference delay threshold for each transmission node based on the delays of each transmission node in the network path includes: Sort the delays of the first transmission node at different times in ascending order to obtain a sorting result; Determine the delay at the position of the first quartile and the delay at the position of the third quartile in the sorting result; Based on the delay at the position of the first quartile and the delay at the position of the third quartile, determine the reference delay threshold corresponding to the first transmission node.
13. The method according to claim 12, wherein The determining the reference delay threshold corresponding to the first transmission node based on the delay at the position of the first quartile and the delay at the position of the third quartile includes: Calculate the reference delay threshold corresponding to the first transmission node according to the following formula: Threshold(V) = D[P3] + r ( D[P3] - D[P1] ) ; Where V represents the first transmission node; D represents the delays of the first transmission node at different times sorted in ascending order; D[P3] represents the delay at the position of the first quartile; D[P1] represents the delay at the position of the third quartile; r represents the tolerance coefficient of the first transmission node to anomalies; T represents the length of the delays of the first transmission node at different times sorted in ascending order; a represents the quartile parameter.
14. The method according to claim 7, characterized in that, The initial model sequentially includes: an input layer, a first gated recurrent unit (GRU) layer, a first dropout layer, a second GRU layer, a second dropout layer, a third GRU layer, a third dropout layer, and an output layer; the first GRU layer includes 64 GRU units; the second GRU layer includes 64 GRU units; the third GRU layer includes 32 GRU units; the output layer is a dense layer using the sigmoid activation function.
15. A network path selection device, characterized in that, The device includes: an acquisition module and a processing module; The acquisition module acquires the current network status information of multiple candidate network paths; The processing module is configured to determine the respective anomaly probabilities of each candidate network path based on the network status information and the anomaly prediction model; the anomaly prediction model is used to predict the anomaly probability of a network path based on the network status information of the network path; The processing module is further configured to select a target network path for the service to be transmitted from the multiple candidate network paths based on the respective anomaly probabilities of each candidate network path; the target network path is used to transmit the data of the service to be transmitted.
16. An electronic device, characterized in that, Includes: A processor and a memory; The memory stores instructions executable by the processor; When the processor is configured to execute the instructions, the electronic device implements the method according to any one of claims 1-14.
17. A readable storage medium, characterized in that, Includes: Software instructions; When the software instructions run in an electronic device, the electronic device implements the method according to any one of claims 1-14.
18. A computer program product, characterized in that, Includes: Computer instructions; When the computer instructions run in an electronic device, the electronic device implements the method according to any one of claims 1-14.
Citation Information
Cited By
Communication path matching method and system
CN120785756A
Network closed-loop control method and device based on tail time delay prediction, medium and program product
CN122316949A
Network closed-loop control method and device based on tail delay prediction, medium and program product
CN122316949B