Intelligent path selection method and system based on service level agreement
By identifying application layer data streams and detecting network path quality in real time, filtering and scoring them, selecting appropriate paths and seamlessly switching between them, the problem of services being scheduled to inferior paths in the network environment in existing technologies is solved, and highly reliable and stable network services are achieved.
Patent Information
- Application Number
- CN202610318924.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-03-16
- Publication Date
- 2026-05-15
AI Technical Summary
Existing technologies cannot monitor fluctuations in key performance indicators such as latency, jitter, and packet loss rate in real time in network environments with multiple heterogeneous links. This results in critical services being scheduled to inferior paths, failing to meet the enterprise's service level agreement requirements, and causing service delays or interruptions.
By identifying the type of application layer data flow, obtaining service quality requirement parameters and business intent identifiers, detecting the quality indicators of candidate network paths in real time, filtering the set of qualified paths, determining the calculation method based on business intent, scoring and sorting to select primary and backup paths, and monitoring and seamlessly switching in real time to ensure business continuity.
It significantly improves the reliability of network services and the quality of user experience, avoiding business interruptions or performance degradation caused by path quality deterioration in traditional solutions, and ensuring business continuity and stability.
Smart Images

Figure CN122053481A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of wide area network path selection technology, specifically to an intelligent path selection method and system based on service level protocol. Background Technology
[0002] With the deepening development of cloud computing and enterprise digital transformation, enterprise wide area network (WAN) architectures are gradually evolving from single MPLS leased lines to hybrid heterogeneous links that include internet broadband, 4G / 5G wireless links, and more. To ensure the efficient operation of different types of applications such as video conferencing, core transaction systems, and big data transmission, enterprises need to rationally allocate bandwidth resources in complex network environments. How to provide reliable Quality of Service (QoS) guarantees based on the differentiated needs of different business applications under the condition of multiple heterogeneous links coexisting has become a key technical challenge in the fields of network traffic engineering and intelligent operation and maintenance.
[0003] In existing technologies, network traffic scheduling and path selection primarily rely on traditional dynamic routing protocols or load balancing technologies based on static policy routing. In these solutions, network devices typically calculate transmission paths based on preset link costs, hop counts, or source / destination IP address hash algorithms. While some early SD-WAN solutions introduced application identification capabilities, they often employed static binding, meaning that during the configuration phase, specific types of service traffic were fixedly mapped to designated physical interfaces or tunnels for transmission, achieving basic traffic offloading.
[0004] However, existing routing protocols typically only focus on the physical connectivity of links or static metrics, failing to monitor fluctuations in key performance indicators such as latency, jitter, and packet loss rate in real time. When network links experience "gray faults" or sudden congestion, existing technologies cannot identify and respond promptly, still routing quality-sensitive critical services to inferior paths, leading to service delays or even interruptions, and failing to meet enterprises' service level agreement (SLA) requirements. Summary of the Invention
[0005] This application provides a method and system for intelligent path selection based on service level agreements (SSAs). This method avoids the business interruption or performance degradation caused by path quality deterioration in traditional single-path schemes, and significantly improves the reliability of network services and the quality of user experience.
[0006] Firstly, this application provides an intelligent path selection method based on a Service Level Agreement (SLA). The method includes: identifying the application type of the application layer data flow; obtaining service quality requirement parameters and business intent identifiers matching the application type; the service quality requirement parameters include at least a threshold indicator for measuring the quality of the link; probing multiple candidate network paths to obtain the real-time quality indicators of each candidate network path; filtering the candidate network paths according to the threshold indicators in the service quality requirement parameters to obtain a set of qualified paths; determining a target calculation method matching the business intent identifier; using the target calculation method to calculate the real-time quality indicators of each path in the set of qualified paths to obtain a path score for each path; sorting the set of qualified paths according to the path scores; selecting the path with the highest path score as the primary path from the sorting results; and selecting the path with the second highest path score as the backup path from the sorting results; guiding the application layer data flow to the primary path for forwarding; and monitoring the current quality indicator of the primary path in real time. If the current quality indicator does not meet the threshold indicators in the service quality requirement parameters, the application layer data flow is seamlessly switched to the backup path for forwarding.
[0007] By adopting the above technical solution, the application type of the application layer data flow is identified, and the service quality requirement parameters and business intent identifiers matching them are obtained. After probing multiple candidate network paths to obtain real-time quality indicators, a preliminary screening is performed based on the threshold indicators in the service quality requirement parameters to form a qualified path set, effectively narrowing the scope of subsequent calculations. Based on the qualified path set, the target calculation method matching the business intent identifier is determined, and the real-time quality indicators of each path are calculated using the target calculation method to obtain a path score. By sorting the qualified path set according to the path score, the path with the highest score is selected as the primary path, and the path with the second highest score is selected as the backup path. While guiding the application layer data flow to the primary path for forwarding, the backup path is prepared in advance. When real-time monitoring finds that the current quality indicator of the primary path does not meet the threshold indicators in the service quality requirement parameters, the application layer data flow can be seamlessly switched to the backup path for forwarding immediately, ensuring the continuity and stability of services. This effectively avoids the service interruption or performance degradation problems caused by path quality degradation in traditional single-path solutions, significantly improving the reliability of network services and the quality of user experience.
[0008] Optionally, the target calculation method is determined based on the business intent identifier, specifically including: parsing the business intent identifier to extract business type tags and service level tags, where the business type tag indicates the sensitivity of the data flow to network performance indicators, and the service level tag indicates the priority level of the data flow when the network is congested; determining the business scenario based on the business type tag; if the business type tag is a real-time interactive service, it is determined to be a comprehensive quality priority scenario, and the weight coefficients of each quality indicator are determined based on the service level tag; the target calculation method is determined to be a weighted summation algorithm based on the comprehensive quality priority scenario and the weight coefficients; if the business type tag is a high-capacity transmission service, it is determined to be a specific resource priority scenario, and the target calculation method is determined to be a bandwidth evaluation algorithm based on the specific resource priority scenario.
[0009] By employing the aforementioned technical solution, the business intent identifier is parsed to extract business type tags and service level tags. Based on these business type tags, a mechanism for determining the business scenario is established. When the business type tag indicates a real-time interactive service, it is classified as a comprehensive quality-priority scenario. The weight coefficients of each quality indicator are determined based on the service level tag, and a weighted summation algorithm is used as the target calculation method. Dynamic adjustment of the weight coefficients ensures that key indicators occupy a reasonable proportion in the path scoring, thereby selecting the most suitable transmission path for real-time interactive applications such as video conferencing and voice calls. Conversely, when the business type tag indicates a high-capacity transmission service, it is classified as a specific resource-priority scenario, and a bandwidth evaluation algorithm is used as the target calculation method. This focuses on evaluating the link's bandwidth capacity and transmission stability, avoiding excessive attention to secondary factors such as latency and jitter. By matching different calculation methods according to the business scenario, compared to traditional unified evaluation methods, this strategy significantly improves the targeting and accuracy of path selection, enabling different types of services to obtain the optimal path that suits their characteristics.
[0010] Optionally, using a target calculation method, the real-time quality indicators of each path in the qualified path set are calculated to obtain the path score corresponding to each path. Specifically, this includes: obtaining the first candidate network path from the qualified path set, and obtaining the real-time latency, real-time jitter, real-time packet loss rate, and link cost value from the real-time quality indicators corresponding to the first candidate network path; mapping the real-time latency, real-time jitter, real-time packet loss rate, and link cost value respectively based on a preset inverse normalization function to obtain latency score, jitter score, packet loss rate score, and cost score; using the weight coefficients corresponding to each quality indicator as the basic weight vector to obtain the current average load rate of the entire network; correcting the basic weight vector according to the average load rate to obtain the dynamic weight coefficients of each quality indicator; and weighting and summing the latency score, jitter score, packet loss rate score, and cost score with their respective dynamic weight coefficients to obtain the path score corresponding to the first candidate network path.
[0011] By adopting the above technical solution, the first candidate network path is obtained from the qualified path set, and real-time latency, jitter, packet loss rate, and link cost are extracted. A preset inverse normalization function is used to map these raw indicators to obtain latency score, jitter score, packet loss rate score, and cost score. The weight coefficients corresponding to each quality indicator are used as the basic weight vector. The current average load rate of the entire network is obtained and the basic weight vector is corrected according to the average load rate to obtain dynamic weight coefficients. The latency score, jitter score, packet loss rate score, and cost score are weighted and summed with their respective dynamic weight coefficients to obtain the path score corresponding to the first candidate network path. This significantly improves the accuracy and timeliness of path scoring and can always select the optimal transmission path for real-time interactive services under different network operating conditions.
[0012] Optionally, the basic weight vector is modified based on the average load rate to obtain the dynamic weight coefficients of each quality indicator. Specifically, this includes: dividing the quality indicators in the basic weight vector into a sensitive indicator set and a suppression indicator set, wherein the sensitive indicator set includes latency indicators, jitter indicators, and packet loss rate indicators, and the suppression indicator set includes link cost indicators; calculating the current congestion potential energy value by performing a reciprocal barrier function on the average load rate and the preset congestion sensitivity index; performing nonlinear expansion and contraction calculations on each quality indicator in the sensitive indicator set and the suppression indicator set based on the current congestion potential energy value to obtain sensitive intermediate weight values and suppression intermediate weight values; and normalizing the sensitive intermediate weight values and suppression intermediate weight values to obtain the dynamic weight coefficients.
[0013] By adopting the above technical solution, the quality indicators in the basic weight vector are divided into a set of sensitive indicators and a set of suppression indicators. The inverse barrier function is used to calculate the current congestion potential value based on the average load rate and the preset congestion sensitivity index. Based on the current congestion potential value, nonlinear expansion and contraction calculations are performed on each quality indicator in the sensitive indicator set and the suppression indicator set to obtain the sensitive intermediate weight value and the suppression intermediate weight value. This realizes the automatic increase of performance indicator weights when network congestion intensifies, ensuring that the transmission quality of services is prioritized rather than cost optimization when network resources are scarce. The sensitive intermediate weight value and the suppression intermediate weight value are normalized to obtain dynamic weight coefficients, so that the weighted summation calculation result remains within a reasonable range.
[0014] Optionally, using a target calculation method, the real-time quality indicators of each path in the qualified path set are calculated to obtain the path score corresponding to each path. Specifically, this includes: obtaining a second candidate network path from the qualified path set, and obtaining the real-time available bandwidth value, real-time packet loss rate, and historical bandwidth variance value of the second candidate network path, where the historical bandwidth variance value represents the fluctuation stability of the path bandwidth; calculating the link integrity coefficient based on the real-time packet loss rate; calculating the link stability coefficient based on the historical bandwidth variance value; multiplying the link integrity coefficient, the link stability coefficient, and the real-time available bandwidth value to obtain the effective transmission capacity score of the second candidate network path; and determining the effective transmission capacity score as the path score of the second candidate network path.
[0015] By adopting the above technical solution, based on the characteristics of high-capacity transmission services, a second candidate network path is obtained from the qualified path set, and the real-time available bandwidth value, real-time packet loss rate, and historical bandwidth variance value are extracted. The link integrity coefficient is calculated using the real-time packet loss rate, and the link stability coefficient is calculated based on the historical bandwidth variance value. The effective transmission capacity score is obtained by multiplying the link integrity coefficient, the link stability coefficient, and the real-time available bandwidth value, and the effective transmission capacity score is determined as the path score of the second candidate network path. Compared with the traditional evaluation method that only focuses on instantaneous bandwidth, this method can screen out reliable paths with truly continuous and efficient transmission capabilities for high-capacity transmission services.
[0016] Optionally, candidate network paths are filtered based on threshold indicators in the service quality requirement parameters to obtain a set of qualified paths. Specifically, this includes: parsing the service quality requirement parameters to obtain latency thresholds, jitter thresholds, and packet loss rate thresholds; selecting the current candidate network path from multiple candidate network paths, obtaining the current latency value, current jitter value, and current packet loss rate of the current candidate network path, and retrieving historical quality data within a preset time window; performing predictive analysis based on the current latency value, current jitter value, and current packet loss rate and the historical quality data to calculate the performance of the current candidate network path in the next time window. The system calculates the predicted latency, jitter, and packet loss rate; it then determines whether the current latency, jitter, and packet loss rate are less than the latency threshold, jitter threshold, and packet loss rate threshold, and whether the predicted latency, jitter, and packet loss rate are also less than the latency threshold, jitter threshold, and packet loss rate threshold, respectively. If the current latency, jitter, and packet loss rate are all less than the latency threshold, jitter threshold, and packet loss rate threshold, respectively, and the predicted latency, jitter, and packet loss rate are all less than the latency threshold, jitter threshold, and packet loss rate threshold, then the current candidate network path is included in the qualified path set.
[0017] By adopting the above technical solution, the service quality requirement parameters are analyzed to obtain latency threshold, jitter threshold, and packet loss rate threshold. After selecting the current candidate network path from multiple candidate network paths, not only are real-time quality indicators such as current latency, jitter, and packet loss rate obtained, but historical quality data within a preset time window is also retrieved. Based on the current latency, jitter, and packet loss rate and the historical quality data, predictive analysis is performed to calculate the predicted latency, jitter, and packet loss rate of the current candidate network path at the next moment. Only when both the current quality indicator and the predicted quality indicator meet the threshold requirements is the current candidate network path included in the qualified path set. Compared with the traditional screening method that only examines the current state, this method can significantly reduce the risk of business interruption caused by sudden changes in path quality, avoid the possibility of quality-degraded paths entering the candidate set in advance, and ensure that all paths in the qualified path set have the ability to continuously meet service quality requirements in the short term.
[0018] Optionally, if the current quality metric does not meet the threshold metric in the service quality requirement parameters, the application layer data stream will be seamlessly switched to the backup path for forwarding. Specifically, this includes: obtaining the current quality metric of the primary path in real time and comparing it with the threshold metric in the service quality requirement parameters; if the current quality metric is found to be greater than the threshold metric, the primary path is determined to be in a suspected degradation state, and the current time is recorded as the abnormal start time; in the suspected degradation state, the latest quality metric of the primary path is obtained; if the time difference between the current time and the abnormal start time is less than a preset tolerance period, and the latest quality metric recovers to less than or equal to the threshold metric, the suspected degradation state is determined to be resolved, and the abnormal start time is cleared; if the time difference between the current time and the abnormal start time is greater than or equal to the preset tolerance period, and the latest quality metric is still greater than the threshold metric, the primary path is confirmed to be in a fault state; based on the fault state, the application layer data stream is seamlessly switched from the primary path to the backup path.
[0019] By adopting the above technical solution, the current quality indicators of the primary path are obtained in real time and continuously compared with the threshold indicators in the service quality requirement parameters. When the current quality indicator is found to be greater than the threshold indicator, the primary path is determined to be in a suspected degradation state, and the current time is recorded as the abnormal start time. This effectively avoids frequent path switching caused by network jitter or short-term fluctuations, preventing the negative impact of switching oscillations on business continuity. In the suspected degradation state, the latest quality indicators of the primary path are continuously obtained and monitored. If the latest quality indicator recovers to less than or equal to the threshold indicator within the time difference between the current time and the abnormal start time is less than the preset tolerance time, the suspected degradation state is determined to be lifted and the abnormal start time is cleared, allowing the primary path to self-recover within the tolerance time. Only when the latest quality indicator is still greater than the threshold indicator when the time difference between the current time and the abnormal start time is greater than or equal to the preset tolerance time is the primary path confirmed as faulty, and the application layer data flow is seamlessly switched from the primary path to the backup path based on this fault state. Compared with the traditional single-point triggered switching method, this significantly improves the accuracy and reliability of path switching decisions.
[0020] A second aspect of this application provides an intelligent path selection system based on a Service Level Agreement (SLA). The system includes an acquisition unit, a filtering unit, a calculation unit, and a forwarding unit. The acquisition unit identifies the application type of the application layer data stream and acquires service quality requirement parameters and business intent identifiers matching the application type. The service quality requirement parameters include at least a threshold indicator for measuring link quality. It also probes multiple candidate network paths to obtain real-time quality indicators for each candidate network path. The filtering unit filters the candidate network paths according to the threshold indicators in the service quality requirement parameters to obtain a set of qualified paths. The calculation unit calculates the forwarding based on the business intent... The system identifies and matches a target calculation method. Using this method, it calculates the real-time quality indicators for each path in the qualified path set, obtaining a path score for each path. The qualified path set is then sorted based on these scores. The path with the highest score is selected as the primary path, and the path with the second highest score is selected as the backup path. The forwarding unit guides the application layer data stream to the primary path for forwarding. The system also monitors the current quality indicators of the primary path in real time. If the current quality indicators do not meet the threshold indicators in the service quality requirements parameters, the application layer data stream is seamlessly switched to the backup path for forwarding.
[0021] In a third aspect, this application provides an electronic device including a processor, a memory, a user interface, and a network interface. The memory is used to store instructions, the user interface and the network interface are used to communicate with other devices, and the processor is used to execute the instructions stored in the memory, causing the electronic device to perform any of the methods described above in this application.
[0022] In a fourth aspect, this application provides a computer-readable storage medium storing instructions that, when executed, perform any of the methods described above in this application.
[0023] In summary, one or more technical solutions provided in the embodiments of this application have at least the following technical effects or advantages: 1. Identify the application type of the application layer data flow and obtain the matching service quality requirement parameters and business intent identifiers. After probing multiple candidate network paths to obtain real-time quality indicators, perform preliminary screening based on the threshold indicators in the service quality requirement parameters to form a qualified path set, effectively narrowing the subsequent calculation scope. Based on the qualified path set, determine the matching target calculation method according to the business intent identifier, and use the target calculation method to calculate the real-time quality indicators of each path to obtain a path score. By sorting the qualified path set according to the path score, select the path with the highest score as the primary path and the path with the second highest score as the backup path. While guiding the application layer data flow to the primary path for forwarding, prepare the backup path in advance. When real-time monitoring finds that the current quality indicator of the primary path does not meet the threshold indicators in the service quality requirement parameters, the application layer data flow can be seamlessly switched to the backup path for forwarding immediately, ensuring the continuity and stability of the business. This effectively avoids the business interruption or performance degradation problems caused by path quality degradation in traditional single-path solutions, significantly improving the reliability of network services and user experience quality. Attached Figure Description
[0024] Figure 1 This is a flowchart illustrating an intelligent path selection method based on a service level agreement provided in an embodiment of this application. Figure 2 This is a schematic diagram of the structure of an intelligent path selection system based on a service level agreement provided in an embodiment of this application; Figure 3 This is a schematic diagram of the structure of an electronic device disclosed in an embodiment of this application.
[0025] Explanation of reference numerals in the attached drawings: 201, acquisition unit; 202, filtering unit; 203, calculation unit; 204, forwarding unit; 300, electronic device; 301, processor; 302, memory; 303, user interface; 304, network interface; 305, communication bus. Detailed Implementation
[0026] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.
[0027] In the description of the embodiments of this application, the words "for example" or "for instance" are used to indicate examples, illustrations, or explanations. Any embodiment or design that is described as "for example" or "for instance" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design options. Rather, the use of the words "for example" or "for instance" is intended to present the relevant concepts in a specific manner.
[0028] In the description of the embodiments of this application, the term "multiple" means two or more. For example, multiple systems means two or more systems, and multiple screen terminals means two or more screen terminals. Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. The terms "comprising," "including," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.
[0029] Therefore, how to avoid service interruption or performance degradation caused by path quality deterioration in traditional single-path solutions is a pressing problem that needs to be solved. This application provides an intelligent path selection method based on a service level agreement (SSA), applied to intelligent edge devices. The intelligent edge device of this application is a platform that provides link selection services for service traffic. Figure 1 This is a flowchart illustrating a smart path selection method based on a service level agreement (SLA) provided in an embodiment of this application. (Refer to...) Figure 1 The method includes the following steps S101-S107.
[0030] S101: Identify the application type of the application layer data flow, obtain the service quality requirement parameters and business intent identifier that match the application type, and the service quality requirement parameters shall include at least the threshold indicators used to measure whether the link quality is qualified.
[0031] In step S101 above, the application type of the application layer data stream is first identified because different types of business applications have significantly different requirements for network transmission quality. For example, video conferencing is extremely sensitive to latency and jitter but has relatively fixed bandwidth requirements, while large file transfers are more concerned with bandwidth capacity and have a higher tolerance for latency and jitter. Only by accurately identifying the application type can a decision-making basis be provided for subsequent differentiated path selection.
[0032] The identification process is implemented through an application identification and classification engine deployed on intelligent edge devices. This engine uses deep packet inspection technology to analyze incoming data packets in real time. By examining multi-dimensional information such as the target IP address, target port number, transport layer protocol type, and application layer protocol characteristics of the data packets, it determines the application type. For example, when the target IP of the data packet is detected to belong to a Zoom or Microsoft Teams server cluster and uses dynamic ports for UDP transmission, the engine identifies the data stream as a real-time video conferencing application. When the target port of the data packet is detected to be 443 and communicating with an enterprise document server, it is identified as a large file transfer application. For some modern applications that support application tag reporting, the engine can also directly read the identification information carried by the application in the data packet to accelerate the identification process. This mechanism, which combines active detection and passive analysis, ensures the accuracy and timeliness of identification.
[0033] Once the application type is identified, the system immediately queries and retrieves the service quality requirement parameters and business intent identifiers matching the application type from a pre-configured service quality policy library. Taking a video trial scenario at a multinational law firm as an example, after the application identification engine marks a data stream as a video trial application, it extracts the corresponding service quality requirement parameters from the policy library. These parameters include a latency threshold of less than 80 milliseconds, a jitter threshold of less than 15 milliseconds, and a packet loss rate threshold of less than 0.5%. These threshold indicators are quantitative standards used to measure whether the link quality is acceptable. Only network paths that meet these threshold requirements are eligible to be included in the subsequent candidate path set for further evaluation. Simultaneously, the system retrieves the corresponding business intent identifier, which includes a business type label indicating whether it is a real-time interactive service or a service level label. This close integration of application type identification and service quality requirement parameter acquisition achieves a precise mapping from business needs to technical indicators, laying a solid foundation for the entire intelligent path selection process. This ensures that subsequent path filtering, scoring, and selection are closely aligned with actual business needs, fundamentally solving the problem of the disconnect between traditional network routing decisions and business experience requirements.
[0034] S102: Probe multiple candidate network paths and obtain the real-time quality indicators of each candidate network path.
[0035] In step S102 above, multiple candidate network paths are probed to obtain real-time quality indicators for each path. This is because the transmission quality of network links is not constant but fluctuates dynamically with various factors such as network load, routing changes, and physical medium conditions. Only through continuous real-time probing can the current true quality status of each path be accurately grasped, thus providing reliable decision data for subsequent path selection and avoiding directing business traffic to links that appear usable but whose actual quality has deteriorated. The probing process is executed by a link quality awareness engine deployed on intelligent edge devices. This engine uses a lightweight, high-frequency measurement system that combines active probing with passive analysis to comprehensively evaluate link quality.
[0036] For a multinational law firm's scenario involving three candidate network paths connecting its Beijing office to New York—MPLS leased line, D3 premium broadband, and D1 regular broadband—the quality awareness engine first deploys probe response points or uses target servers as probe endpoints at the peer of each path. Then, it continuously sends probe packets from the intelligent edge device at the Beijing site to the peers of these three paths at a high frequency of once per second. These probe packets can be encapsulated using ICMP, TCP, or UDP protocols to simulate the transmission characteristics of real business traffic. Once a probe packet arrives at the peer after traversing the candidate network path from the sender, the peer device immediately returns a response packet or records a received timestamp. The sender can measure the bidirectional latency by calculating the round-trip time from sending the probe packet to receiving the response. By measuring the fluctuation range of the latency value through multiple consecutive probes, the jitter value can be calculated. The packet loss rate can be obtained by statistically analyzing the ratio of the total number of probe packets sent to the number of successfully received response packets within a certain time window. Furthermore, by embedding timestamps and sequence number information into the probe packets, one-way latency and packet out-of-order delivery can be further analyzed.
[0037] Taking actual measurement results at a certain moment as an example, the quality awareness engine reports the real-time quality indicators for MPLS leased lines as follows: latency 35 milliseconds, jitter 2 milliseconds, and packet loss rate 0%; for D3 premium broadband, the real-time quality indicators are latency 45 milliseconds, jitter 8 milliseconds, and packet loss rate 0%; and for D1 ordinary broadband, the real-time quality indicators are latency 65 milliseconds, jitter 20 milliseconds, and packet loss rate 0%. These precise quantitative indicators provide an objective basis for subsequent judgments on whether each path meets the service quality requirements. In addition to these basic transmission quality indicators, the quality awareness engine also evaluates the available bandwidth of each candidate network path. This is achieved by sending a series of probe packets of different sizes and analyzing the transmission rate and response time. Especially for high-capacity transmission services, available bandwidth is a key indicator for evaluating the path's carrying capacity. This continuous, high-frequency real-time detection mechanism covers dynamic quality profiles of all candidate network paths, ensuring that path selection decisions are always based on the latest and most accurate network status information rather than outdated static configurations or experience-based judgments. This fundamentally solves the limitation of traditional routing protocols that rely solely on metrics such as hop count or management costs, which are irrelevant to actual transmission experience, for path selection. It ensures that business traffic can be directed to network paths with truly good transmission quality.
[0038] S103: Filter candidate network paths based on the threshold indicators in the service quality requirement parameters to obtain a set of qualified paths.
[0039] In step S103 above, candidate network paths are filtered based on threshold indicators in the service quality requirement parameters to obtain a set of qualified paths. Specifically, this includes: parsing the service quality requirement parameters to obtain latency thresholds, jitter thresholds, and packet loss rate thresholds; selecting the current candidate network path from multiple candidate network paths, obtaining the current latency value, current jitter value, and current packet loss rate of the current candidate network path, and retrieving historical quality data within a preset time window; and performing predictive analysis based on the current latency value, current jitter value, and current packet loss rate and the historical quality data to calculate the current candidate network path's performance. The next time step involves determining the predicted latency, jitter, and packet loss rate; checking if the current latency, jitter, and packet loss rate are less than the latency threshold, jitter threshold, and packet loss rate threshold, and if the predicted latency, jitter, and packet loss rate are also less than the latency threshold, jitter threshold, and packet loss rate threshold; if the current latency, jitter, and packet loss rate are all less than the latency threshold, jitter threshold, and packet loss rate threshold, and the predicted latency, jitter, and packet loss rate are all less than the latency threshold, jitter threshold, and packet loss rate threshold, then the current candidate network path is included in the qualified path set.
[0040] Specifically, the obtained service quality requirement parameters are parsed to obtain latency thresholds, jitter thresholds, and packet loss rate thresholds. This parsing is necessary because service quality requirement parameters are usually stored in the policy library in the form of structured policy configuration files, which contain multiple dimensions of quality constraints and business attribute information. The threshold indicators related to path filtering need to be extracted through parsing operations and transformed into quantitative standards that can be directly used for numerical comparison. Taking a video trial scenario in a multinational law firm as an example, when the service quality requirement parameter named SLA_Video_Court is read from the policy library, this parameter records complete policy configuration information in XML or JSON format. This includes the application type being identified as video trial, the priority being marked as the highest level, and the quality requirements detailing multiple indicators such as latency requirement of less than 80 milliseconds, jitter requirement of less than 15 milliseconds, packet loss rate requirement of less than 0.5%, and bandwidth guarantee requirements. The parsing engine extracts three key threshold indicators by reading specific fields in this configuration file: latency threshold of 80 milliseconds, jitter threshold of 15 milliseconds, and packet loss rate threshold of 0.5%. These threshold indicators constitute the entry threshold for subsequent path selection. Only candidate network paths that do not exceed the corresponding thresholds in all quality dimensions are eligible to enter the qualified path set.
[0041] After parsing the threshold indicators, the current candidate network path is selected sequentially from multiple candidate network paths for evaluation. This iterative approach ensures that each candidate path receives a thorough quality assessment without overlooking any available transmission channels. When the Beijing-New York MPLS leased line is selected as the current candidate network path, the latest detection results obtained from the link quality awareness engine extract the current latency value of 35 milliseconds, the current jitter value of 2 milliseconds, and the current packet loss rate of 0%. These real-time quality indicators reflect the transmission performance of the path at this moment. However, relying solely on current quality indicators for screening has significant limitations because network quality fluctuates dynamically. A path that is of acceptable quality at the current moment does not guarantee its continued acceptable quality at the next moment during actual data transmission. If a path that is about to deteriorate in quality is selected, the service traffic will encounter service quality breaches during transmission and may even require emergency path switching, which not only affects user experience but also increases switching overhead. Therefore, while obtaining the current quality indicators, it also retrieves historical quality data within a preset time window. This historical quality data is a set of quality measurement values continuously detected and recorded by the link quality awareness engine over a period of time. For example, the preset time window may be configured as the most recent 5 minutes. In this case, the retrieval operation will return 300 latency sample values, 300 jitter sample values, and packet loss statistics for the candidate network path collected per second in the past 5 minutes. This historical quality data not only contains numerical information but also implies the trend characteristics of the quality indicators over time.
[0042] Based on the acquired current latency, jitter, and packet loss rate, as well as historical quality data within a preset time window, predictive analysis is performed to calculate the predicted latency, jitter, and packet loss rate of the current candidate network path at the next moment. The core purpose of the prediction mechanism is to identify unstable paths that are currently of acceptable quality but are about to deteriorate, thus excluding them during the path selection phase to avoid quality breaches during subsequent service transmission. After acquiring the current quality indicators and predicting the future quality indicators, the crucial dual verification judgment phase begins. This phase simultaneously checks whether the current latency, jitter, and packet loss rate are less than the latency threshold, jitter threshold, and packet loss rate threshold, and whether the predicted latency, jitter, and packet loss rate are less than the latency threshold, jitter threshold, and packet loss rate threshold. This dual verification mechanism reflects the rigor and foresight of path selection. The underlying logic is that only paths that are currently of acceptable quality and are expected to maintain acceptable quality in the near future are truly suitable for carrying service traffic. If any quality indicator, whether current or predicted, exceeds the corresponding threshold requirement, the candidate network path should not be included in the set of acceptable paths. The process involves a step-by-step comparison: first, the current latency value is compared to a latency threshold; then, the current jitter value is compared to a jitter threshold; and finally, the current packet loss rate is compared to a packet loss rate threshold. If all three comparisons for the current quality metric are less than their respective thresholds, the current quality metric is considered to have passed all three comparisons. The same comparison process is then applied to the predicted quality metric: the predicted latency value is compared to a latency threshold, the predicted jitter value to a jitter threshold, and the predicted packet loss rate to a packet loss rate threshold. All three comparisons for the predicted quality metric must also pass. Only when all six conditions are simultaneously met—that is, the current candidate network path is included in the qualified path set—will the operation of incorporating it into the qualified path set be performed. For MPLS leased lines, since both the current and predicted quality indicators meet the service quality requirements for video court hearings, this path has been successfully included in the qualified path set and has become a candidate for subsequent path scoring and selection.
[0043] Following the above process, all candidate network paths are evaluated sequentially. Each path undergoes a complete screening process, including threshold indicator analysis, current quality indicator acquisition, historical data retrieval, predictive analysis calculation, and dual verification. Finally, all candidate network paths that pass dual verification are aggregated to form a qualified path set. In the actual scenario of a multinational law firm, assuming there are three candidate network paths from Beijing to New York, after screening, the MPLS leased line and D3 premium broadband are included in the qualified path set because both current and predicted quality indicators meet the requirements. The D1 ordinary broadband is excluded because its current jitter value exceeds the standard. The final qualified path set contains two usable paths, providing a quality-compliant candidate set for subsequent path scoring and optimal path selection.
[0044] Furthermore, based on the current latency, jitter, and packet loss rate, and historical quality data, predictive analysis is performed to calculate the predicted latency, jitter, and packet loss rate of the current candidate network path at the next time step. Specifically, this includes: obtaining the historical latency, jitter, and packet loss rate from the historical quality data; calculating the differences between the current latency, jitter, and packet loss rate and their corresponding historical values to obtain the current change increment; retrieving a preset trend correction factor, which is calculated based on the average change increment over the most recent K time windows; weighted summing the current change increment with the trend correction factor to obtain the predicted increment; and adding the current latency, jitter, and packet loss rate to their corresponding predicted increments to obtain the predicted latency, jitter, and packet loss rate.
[0045] Specifically, retrieving historical latency, jitter, and packet loss rate from historical quality data is crucial because network quality indicators evolve continuously over time. Comparing the changes in quality indicators between the current and previous moments allows us to capture the immediate trends in network status, providing the most direct dynamic information for predicting the quality status at the next moment. Taking the MPLS leased line from Beijing to New York for a multinational law firm as an example, assuming the current moment is T, and the current latency is 35 milliseconds, jitter is 2 milliseconds, and packet loss rate is 0%, we need to locate the quality record from the previous moment (T-1) within the historical quality data within the preset time window. Since the link quality awareness engine probes once per second, the previous moment is the probe time point one second ago. Using the timestamp index, we can accurately retrieve the historical latency of the MPLS leased line at moment T-1 from the historical database: 33 milliseconds, 1.5 milliseconds, and 0% packet loss rate. These historical quality indicators from the previous moment constitute the benchmark dataset for comparative analysis with the current quality indicators.
[0046] After obtaining the current quality metrics and the historical quality metrics from the previous moment, the differences between the current latency, jitter, and packet loss rate and their corresponding historical latency, jitter, and packet loss rates are calculated to obtain the current increment of change. The purpose of this calculation is to quantify the instantaneous change in network quality within the most recent time step. This instantaneous change directly reflects the current rate of network state evolution and is an important basis for predicting future trends. Specifically, using a simple difference operation, subtracting the historical latency of 33 milliseconds from the current latency of 35 milliseconds yields a current latency increment of 2 milliseconds. This means that the latency of the MPLS leased line has increased by 2 milliseconds in the last second, showing an upward trend. Similarly, subtracting the historical jitter of 1.5 milliseconds from the current jitter of 2 milliseconds yields a current jitter increment of 0.5 milliseconds, and subtracting the historical packet loss rate of 0% from the current packet loss rate of 0% yields a current packet loss rate increment of 0%. While these current increments may seem small numerically, they can keenly capture the micro-fluctuations in quality indicators in high-frequency time-series analysis. Specifically, consistently positive increments indicate a deterioration in network quality, while negative increments suggest improvement, and near-zero increments indicate relative stability. It's important to note that relying solely on current increments for prediction has significant limitations. Instantaneous fluctuations in network quality can be influenced by random factors, and a single, accidental quality spike does not represent the true trend. Therefore, a more robust trend assessment mechanism is needed.
[0047] To overcome the randomness limitations of single-point increment changes, a preset trend correction factor is retrieved. This trend correction factor is calculated based on the average increment change over the most recent K time windows. By statistically smoothing multiple increment changes over a longer time range, short-term random fluctuations are filtered out to retain the true long-term trend characteristics, thereby making the prediction results more stable and reliable. Assuming the configured K value is 10, which means examining the most recent 10 time windows, since each time window is 1 second, the time span covered is the most recent 10 seconds. We extract the quality records of the MPLS leased line from historical quality data for 10 consecutive time points from time T-10 to time T-1. We calculate the increment of change between each adjacent time point, forming a sequence of increments containing 10 samples. For example, the latency increment sequence might be 1.8 milliseconds, 2.1 milliseconds, 1.5 milliseconds, 2.3 milliseconds, 1.9 milliseconds, 2.0 milliseconds, 1.7 milliseconds, 2.2 milliseconds, 1.6 milliseconds, and 2.4 milliseconds. Calculating the average of these 10 latency increment samples yields an average increment of 1.95 milliseconds. Similarly, we calculate the average increment of jitter as 0.4 milliseconds and the average increment of packet loss rate as 0%. These average increments of change are further normalized and weighted to form trend correction factors. The normalization process involves dividing the average increment of change by the typical fluctuation range of the quality indicator to obtain a dimensionless trend strength indicator. The weighting adjustment assesses the stability of the trend based on the variance or standard deviation of the increment sequence, giving higher weights to stable trends and lower weights to unstable trends with large fluctuations. The final trend correction factor is 0.8 for latency, 0.6 for jitter, and 0 for packet loss. These trend correction factors range from 0 to 1. The closer the value is to 1, the more stable and reliable the trend of the quality indicator. The closer the value is to 0, the more the trend is affected by random interference and the lower the reliability.
[0048] After obtaining the current change increment and trend correction factor, the current change increment and trend correction factor are weighted and summed to obtain the predicted increment. The predicted increment is equal to the current change increment multiplied by the first weight coefficient, plus the average change increment multiplied by the trend correction factor, and then multiplied by the second weight coefficient. The sum of the first weight coefficient and the second weight coefficient is equal to 1 to ensure the reasonableness of the predicted increment in terms of numerical range. Usually, the first weight coefficient is configured as 0.6 and the second weight coefficient is configured as 0.4 to slightly favor the current change information. Taking latency prediction as an example, the predicted increment of latency is equal to the current latency change increment of 2 milliseconds multiplied by 0.6, plus the average latency change increment of 1.95 milliseconds multiplied by the trend correction factor of 0.8, and then multiplied by 0.4. That is, the predicted increment is equal to 2 multiplied by 0.6 plus 1.95 multiplied by 0.8 multiplied by 0.4 equals 1.2 plus 0.624 equals 1.824 milliseconds. Similarly, the predicted increment of jitter is calculated as 0.5 multiplied by 0.6 plus 0.4 multiplied by 0.6 multiplied by 0.4 equals 0.3 plus 0.096 equals 0.396 milliseconds, approximately 0.4 milliseconds. The predicted increment of packet loss rate is 0% multiplied by 0.6 plus 0% multiplied by 0 multiplied by 0.4 equals 0%. These predicted increments comprehensively reflect the most likely change range of each quality indicator in the next moment, making the prediction results smoother and more reliable.
[0049] The predicted latency, jitter, and packet loss rate are obtained by adding the current latency, jitter, and packet loss rate to their corresponding prediction increments. For example, adding the predicted latency increment of 1.824 milliseconds to the current latency of 35 milliseconds gives a predicted latency of 36.824 milliseconds, approximately 37 milliseconds. Adding the predicted jitter increment of 0.4 milliseconds to the current jitter of 2 milliseconds gives a predicted jitter of 2.4 milliseconds, approximately 2.5 milliseconds. Adding the predicted packet loss rate increment of 0% to the current packet loss rate of 0% gives a predicted packet loss rate of 0%. These predicted quality indicators represent the system's estimate of the MPLS leased line's quality status approximately 1 to 3 seconds after the next time step (T+1). By comparing these values with the latency threshold of 80 milliseconds, the jitter threshold of 15 milliseconds, and the packet loss rate threshold of 0.5%, it can be determined that the predicted latency of 37 milliseconds is less than the latency threshold, the predicted jitter of 2.5 milliseconds is less than the jitter threshold, and the predicted packet loss rate of 0% is less than the packet loss rate threshold. Therefore, this path meets the service quality requirements in terms of predicted quality.
[0050] S104: Determine the target calculation method that matches the business intent identifier, and use the target calculation method to calculate the real-time quality indicators of each path in the qualified path set to obtain the path score corresponding to each path.
[0051] In S104 above, determining the target calculation method based on the service intent identifier specifically includes: parsing the service intent identifier to extract service type tags and service level tags, where the service type tag indicates the data flow's sensitivity to network performance indicators, and the service level tag indicates the data flow's priority processing level when the network is congested; determining the service scenario based on the service type tag; if the service type tag is a real-time interactive service, it is determined to be a comprehensive quality priority scenario, and the weight coefficients of each quality indicator are determined based on the service level tag; the target calculation method is determined to be a weighted summation algorithm based on the comprehensive quality priority scenario and the weight coefficients; if the service type tag is a high-capacity transmission service, it is determined to be a specific resource priority scenario, and the target calculation method is determined to be a bandwidth evaluation algorithm based on the specific resource priority scenario.
[0052] Specifically, the business intent identifier is parsed to extract business type and service level tags. Different business types have significantly different focuses on network performance metrics. Real-time interactive services, such as video conferencing, are extremely sensitive to latency and jitter but have relatively moderate bandwidth requirements. High-capacity transmission services, such as data backup, have extremely high bandwidth requirements but can tolerate larger latency fluctuations. Only by accurately identifying business characteristics can a suitable path evaluation algorithm be selected to ensure that the path selection result truly meets the actual business needs. Taking the international video trial scenario of a multinational law firm from Beijing to New York as an example, the received business intent identifier is BizIntent_VideoConf_Critical_BJtoNY. This identifier uses a predefined encoding standard, with the prefix BizIntent indicating that it is a business intent descriptor. The parsing engine uses regular expression matching or string splitting operations to decompose this identifier into multiple semantic fields, which are then mapped to the business type enumeration table to determine that this is a real-time interactive service.
[0053] Based on the parsed business type labels, the business scenario determination logic is executed. The purpose of this logic is to transform the abstract business type labels into specific path evaluation scenario classifications. Different business scenarios correspond to different path selection strategies and quality trade-off principles. First, it checks whether the business type label is a real-time interactive business. Then, it determines that the current business scenario is a comprehensive quality-first scenario. The core characteristic of this scenario is that it is necessary to comprehensively evaluate multiple quality indicators such as latency, jitter, and packet loss rate to find a balanced path that performs well across all quality dimensions, rather than simply pursuing the ultimate optimization of a single indicator. The criteria for determining the overall quality priority scenario lie in the multi-dimensional sensitivity of real-time interactive services to network quality. Video conferencing requires low latency to ensure the immediacy of interaction and avoid significant delays that could lead to communication difficulties. It also requires low jitter to ensure the continuity of audio and video streams and prevent video freezing or audio stuttering that could ruin the meeting experience. At the same time, it requires low packet loss rate to maintain signal integrity and avoid video mosaic or audio noise caused by packet loss. A serious deterioration in any quality indicator will lead to a sharp decline in service experience. Therefore, an overall quality priority evaluation strategy must be adopted to ensure that the selected path meets service quality requirements in all key quality dimensions. This is in stark contrast to the scenario determination for high-capacity transmission services, which mainly focus on the sufficiency of bandwidth resources and can tolerate larger fluctuations in latency and jitter.
[0054] After determining the scenario as prioritizing overall quality, the weight coefficients of each quality indicator are determined based on the service level label. Within this overall quality-first framework, there are still subtle differences in the importance placed on each quality indicator by businesses with different service levels. Businesses with higher service levels typically have stricter requirements for quality stability and therefore need to be given higher weights to predictive quality indicators to mitigate potential risks in advance. A set of weight coefficients matching the service level label is retrieved from a weight configuration library. This library employs a multi-level index structure: the first level index represents the business scenario type, and the second level index represents the service level label. These two levels of indexes locate the weight configuration entries for critical services within the overall quality-first scenario. This differentiated weight design based on service level allows the path evaluation algorithm to accurately match the actual needs of businesses with different levels of importance.
[0055] Based on the overall quality priority scenario and weight coefficients, the target calculation method is determined to be the weighted summation algorithm. The selection logic of this algorithm is that when it is necessary to comprehensively evaluate multiple quality indicators with similar properties, weighted summation is the most intuitive and effective numerical aggregation method. By assigning a weight coefficient that reflects the importance of each quality indicator and accumulating the weighted values of all indicators, a comprehensive score is obtained. This score can accurately reflect the performance level of the path in the overall quality dimension.
[0056] In one possible implementation, when the target calculation method is a weighted summation algorithm, the specific steps for calculating the real-time quality indicators of each path in the qualified path set to obtain the path score for each path include: obtaining a first candidate network path from the qualified path set, and obtaining the real-time latency, real-time jitter, real-time packet loss rate, and link cost from the real-time quality indicators corresponding to the first candidate network path; mapping the real-time latency, real-time jitter, real-time packet loss rate, and link cost based on a preset inverse normalization function to obtain latency score, jitter score, packet loss rate score, and cost score; using the weight coefficients corresponding to each quality indicator as the basic weight vector to obtain the current average load rate of the entire network; correcting the basic weight vector according to the average load rate to obtain the dynamic weight coefficients of each quality indicator; and weighting and summing the latency score, jitter score, packet loss rate score, and cost score with their respective dynamic weight coefficients to obtain the path score corresponding to the first candidate network path.
[0057] Specifically, the core purpose of converting the original multidimensional quality index values into scores with unified dimensions and then weighting and aggregating them is to establish an objective and comparable evaluation system for path quality. This is because different quality indicators have different numerical ranges and physical meanings. Latency is typically measured in milliseconds, ranging from tens to hundreds of milliseconds; jitter is typically measured in milliseconds, ranging from a few milliseconds to tens of milliseconds; packet loss rate is typically expressed as a percentage, ranging from a few tenths to a few percent; and link costs, measured in monetary units, can range from thousands to tens of thousands of yuan per month. These heterogeneous raw data cannot be directly compared and calculated. They must be normalized and mapped to a unified scoring space to achieve effective comprehensive evaluation. At the same time, considering the impact of dynamic changes in network load on path quality stability, the weighting coefficients also need to be adaptively adjusted according to the overall network load to improve the robustness and foresight of path selection.
[0058] Taking a cross-border video court hearing between Beijing and New York as an example, after determining that a weighted summation algorithm would be used as the target calculation method, candidate paths are extracted one by one from the qualified path set for scoring calculation. The qualified path set includes paths that have passed preliminary screening and meet basic accessibility and geographical location matching requirements. Assume that this set includes three candidate paths: the MPLS leased line path, the D3SD-WAN path, and the D1SD-WAN path. The first candidate network path, i.e., the MPLS leased line path, is obtained. The extraction process for this path involves indexing and querying the path information database using path identifiers. The unique identifier is used to locate the record entry for the MPLS leased line path. The latest quality data for the current monitoring period is extracted from the real-time quality indicator field group. The latest quality data includes a real-time latency of 68 milliseconds, a real-time jitter of 8 milliseconds, a real-time packet loss rate of 0.3%, and a link cost of 15,000 yuan.
[0059] The first candidate network path is obtained from the set of qualified paths. The first candidate network path is any path in the set of qualified paths. After obtaining the real-time quality index value of the first candidate network path, these heterogeneous data are mapped to a unified scoring space through a preset inverse normalization function. The design principle of the inverse normalization function is to convert the characteristic that the smaller the value of the quality index represents the better the performance into the scoring logic that the higher the score represents the better the quality, so as to conform to the intuitive cognition of human scoring system. The real-time latency value of 68 milliseconds is mapped and processed by calling the latency inverse normalization function. The mathematical expression of this function is: the latency score equals the maximum value function (0 and 1) minus the real-time latency value divided by the latency threshold, and the larger of the two values is multiplied by 100. The latency threshold is extracted from the business service quality configuration. For real-time interactive businesses, this threshold is set to 150 milliseconds, which represents the maximum acceptable latency limit of the business. Exceeding this threshold will lead to a significant deterioration in user experience. Substituting the real-time latency value of 68 milliseconds into the formula, the latency score is calculated to be 54.67. This score reflects the quality of the current latency relative to the business's tolerable latency limit. The closer the latency is to the threshold, the lower the score, indicating a smaller latency margin and worse path quality. The much lower the latency is to the threshold, the higher the score, indicating a sufficient latency margin and better path quality. The introduction of the maximum value function ensures that when the real-time latency exceeds the threshold, the score will not become negative but will directly return to zero, indicating that the path does not meet the business requirements at all.
[0060] The real-time jitter value of 8 milliseconds is further mapped, and the jitter inverse normalization function is called. The expression of this function is that the jitter score equals the maximum value function 0 and 1 minus the real-time jitter value divided by the jitter threshold and then multiplied by 100. The jitter threshold is extracted from the business service quality configuration. For video court hearings, this threshold is set to 30 milliseconds, which represents the maximum acceptable jitter limit of the business. Exceeding this threshold will cause video stuttering and audio interruption, which will seriously affect the court hearing process. Substituting the real-time jitter value of 8 milliseconds into the formula, the jitter score is calculated to be 73.33 points. This score indicates that the current jitter level is relatively low and there is still a large margin from the upper limit of the business tolerance. The path performs well in the jitter dimension. For the mapping processing of a real-time packet loss rate of 0.3%, the system calls the packet loss rate inverse normalization function. The expression of this function is that the packet loss rate score is equal to the maximum value function 0 and 1 minus the real-time packet loss rate divided by the packet loss rate threshold and then multiplied by 100. The packet loss rate threshold is set to 2%, which means that the maximum packet loss ratio that the video trial business can tolerate will exceed the threshold, which will cause obvious mosaic in the video or noise in the audio. Substituting the real-time packet loss rate of 0.3% into the formula, the packet loss rate score is calculated to be 85 points. This score reflects that the current packet loss rate is far below the upper limit of the business tolerance and the path performs well in the packet loss rate dimension.
[0061] For the mapping of a link cost of 15,000 yuan per month, the system calls the cost inverse normalization function. This function's design considers the trade-off between cost and quality. The function expression is: cost score equals the maximum value (0 and 1) minus the actual cost value divided by the budgeted cost cap, then multiplied by 100. The budgeted cost cap is extracted from the enterprise's financial budget system, representing the maximum acceptable monthly link expenditure for this business, assumed to be 30,000 yuan per month. Substituting the link cost of 15,000 yuan into the formula yields a cost score of 50. This score indicates that the current link cost is at a moderate level within the budget range, with no risk of overspending and room for cost optimization. The introduction of cost indicators allows path scoring to consider not only technical performance but also economic cost dimensions. This is significant for enterprises to achieve cost optimization while meeting business quality requirements, avoiding situations where blindly pursuing the highest performance path leads to excessive costs or excessively pursuing low costs at the expense of key business quality. Through the mapping process of the above-mentioned reverse normalization function, the original indicators of real-time latency, real-time jitter, real-time packet loss rate and link cost, which have different dimensions and numerical ranges, were successfully converted into standardized scores of four unified dimensions: latency score of 54.67, jitter score of 73.33, packet loss rate score of 85 and cost score of 50. This laid the data foundation for subsequent weighted summation calculation.
[0062] After obtaining the standardized scores for each quality indicator, these scores need to be weighted and aggregated according to pre-configured weight coefficients to obtain a comprehensive score. However, static fixed weight coefficients cannot cope with dynamic changes in network load status, which may lead to a lack of stability in path selection under high load scenarios. Therefore, a dynamic weight adjustment mechanism based on the overall network load rate is introduced. First, the weight coefficients corresponding to each quality indicator are retrieved from the weight configuration library as the basic weight vector. This basic weight vector is obtained from the weight configuration determined according to the business intent identifier and service level mentioned above. Specifically, it includes a basic weight of 0.3 for latency, 0.25 for jitter, 0.25 for packet loss rate, and 0.2 for cost. These basic weights reflect the importance distribution of each quality indicator to the path selection decision under standard network conditions. The current average load rate of the entire network is obtained by querying the network monitoring center. The average load rate is calculated by aggregating the bandwidth utilization data of all links in the entire network and calculating the weighted average.
[0063] Furthermore, the basic weight vector is modified based on the average load rate to obtain the dynamic weight coefficients of each quality indicator. Specifically, this includes: dividing the quality indicators in the basic weight vector into a sensitive indicator set and a suppression indicator set, wherein the sensitive indicator set includes latency indicators, jitter indicators, and packet loss rate indicators, and the suppression indicator set includes link cost indicators; calculating the current congestion potential energy value by performing a reciprocal barrier function on the average load rate and the preset congestion sensitivity index; based on the current congestion potential energy value, performing nonlinear expansion and contraction calculations on each quality indicator in the sensitive indicator set and the suppression indicator set respectively to obtain sensitive intermediate weight values and suppression intermediate weight values; and normalizing the sensitive intermediate weight values and suppression intermediate weight values to obtain the dynamic weight coefficients.
[0064] Specifically, the quality indicators in the basic weight vector are divided into two sets: a sensitive indicator set containing three elements: latency, jitter, and packet loss rate. These indicators exhibit performance degradation when network load increases, requiring increased weights to enhance their protective role in path selection decisions. Simultaneously, a suppression indicator set containing one element: link cost. While this indicator still needs to be considered in path selection, its weight should be appropriately reduced under high load scenarios to balance the priority relationship between cost and quality. This load-sensitivity-based indicator classification lays the logical foundation for subsequent differentiated weight adjustments, ensuring that the weight adjustment direction for different types of indicators aligns with their physical characteristics and business needs. Compared to applying a uniform adjustment strategy to all indicators indiscriminately, the classification-based adjustment method can more accurately respond to changes in network status, achieving reasonable and effective weight adjustments. The results of dividing the sensitive indicator set and the suppression indicator set are stored in a memory cache for subsequent weight correction calculations. The data structure of the sensitive indicator set is an array containing three elements to store the base weights of the latency indicator (0.35), jitter indicator (0.25), and packet loss rate indicator (0.25), respectively. The data structure of the suppression indicator set is an array containing one element to store the base weight of the link cost indicator (0.15).
[0065] After classifying the quality indicators, the calculation of congestion potential values begins. The purpose of this calculation is to convert the original average load rate values into a non-linear metric that reflects the severity of congestion risk. This is because network congestion risk is not simply linearly related to the load rate, but exhibits a rapid increase in non-linearity when the load rate approaches 1. When the load rate increases from 60% to 70%, the increase in congestion risk is relatively mild, but when the load rate increases from 90% to 95%, the congestion risk may explode exponentially, leading to a sharp deterioration in network performance. Traditional linear mapping methods cannot capture this non-linear characteristic and are prone to underestimating congestion risk in high-load scenarios, resulting in insufficient weight adjustment. The average load rate of the entire network is obtained from the network monitoring center. This average load rate is calculated by aggregating traffic monitoring probe data distributed across various nodes and links in the network. Assuming that the load rate calculation module of the monitoring center has collected load rate data of 82% for the Beijing data center's outbound links, 75% for the Shanghai data center's outbound links, and 88% for the Guangzhou data center's outbound links, as well as load rate data of each backbone transmission link, these load rate values are weighted and averaged according to the bandwidth capacity of each link to obtain an average load rate of 81% for the entire network. This value indicates that the current network is under high load, and the bandwidth resources of most critical links have been largely occupied, resulting in a high risk of congestion.
[0066] The system configuration library reads the preset congestion sensitivity index. This parameter controls the sensitivity of the congestion potential energy value to changes in load rate. The value range of the congestion sensitivity index is required to be greater than or equal to 2 to ensure that the reciprocal barrier function has sufficient nonlinear characteristics to effectively amplify the congestion risk in high load intervals. The reciprocal barrier function is calculated. This function is a classic mathematical tool in convex optimization theory used to deal with constrained boundary problems. The core idea is that when the variable approaches the constraint boundary, the function value tends to infinity, thus producing a strong repulsion effect. In the network load rate scenario, when the load rate approaches the saturation value of 1, the reciprocal barrier function can generate a rapidly increasing potential energy value, accurately reflecting the nonlinear burst characteristics of congestion risk. The mathematical expression for the reciprocal barrier function is that the current congestion potential value is equal to 1 divided by 1 minus the average load rate raised to the power of the preset congestion sensitivity exponent. The design of this function ensures that when the average load rate approaches 1, the denominator 1 minus the average load rate approaches 0, and the preset congestion sensitivity exponent further amplifies this approach speed, causing the congestion potential value to grow exponentially towards infinity. Substituting the obtained average load rate of 0.81 and the congestion sensitivity exponent of 3 into the formula to perform the calculation process, the current congestion potential value is approximately equal to 145.8.
[0067] After obtaining the current congestion potential energy value of 145.8, nonlinear expansion and contraction calculations are performed on each quality indicator in the sensitive indicator set and the inhibition indicator set respectively. The purpose of this calculation process is to use the congestion potential energy value to correct and amplify the basic weights in opposite directions. For sensitive indicators, the weights need to be expanded according to the congestion potential energy value to enhance their decision influence, and for inhibition indicators, the weights need to be contracted according to the congestion potential energy value to reduce their decision influence, thereby achieving a dynamic balance switch between quality priority and cost priority. For the latency metric in the sensitive metric set, the sensitive metric weight expansion function is called. The mathematical expression of this function is: the sensitive intermediate weight value equals the base weight multiplied by 1 plus the current congestion potential value divided by the square root of 100. The design logic of this formula is to moderately smooth the congestion potential value through the square root function, avoiding excessive weight adjustments that could cause system oscillations. The normalization process of dividing by 100 ensures that the order of magnitude of the congestion potential value matches the order of magnitude of the weight coefficients, guaranteeing the reasonableness of the calculation results. The system substitutes the base weight of 0.35 for the latency metric and the current congestion potential value of 145.8 into the formula to perform the calculation, resulting in a latency sensitive intermediate weight value of approximately 0.7725. Continuing to process the jitter metric, the same sensitive metric weight expansion function is used. Substituting the base weight of 0.25 for the jitter metric and the current congestion potential value of 145.8 into the formula, the jitter sensitive intermediate weight value is calculated to be 0.5518. Then, the packet loss rate metric is processed similarly, with its base weight of 0.25 substituted into the formula, resulting in a packet loss rate sensitive intermediate weight value of approximately 0.5518.
[0068] After completing the weight expansion of sensitive indicators, the link cost indicator in the set of suppression indicators is processed. The suppression indicator weight contraction function is called. The mathematical expression of this function is that the suppression intermediate weight value is equal to the base weight divided by 1 plus the square root of the current congestion potential value divided by 100. The difference between this formula and the expansion function is that it uses division instead of multiplication to achieve the weight contraction effect. The square root and division by 100 are also used for smoothing and normalization to ensure that the contraction magnitude is consistent with the expansion magnitude. Substituting the basic weight of the link cost metric (0.15) and the current congestion potential value (145.8) into the formula for calculation, since the square root of 1 + 145.8 divided by 100 has already been calculated to be 2.207, the intermediate weight value for link cost suppression is equal to 0.0680. This intermediate weight value represents a significant decrease of 54.7% compared to the basic weight of 0.15. This indicates that under high-load network conditions, the system significantly reduces the influence of cost factors in path selection decisions, avoiding the selection of cheap paths that are prone to performance degradation in congested scenarios in pursuit of low costs. This weight contraction strategy ensures that service quality assurance takes precedence over cost optimization, which aligns with the core requirement of enterprises for service stability in critical business scenarios.
[0069] After obtaining the intermediate weight values for all quality indicators, including the intermediate weight values for latency sensitivity (0.7725), jitter sensitivity (0.5518), packet loss rate sensitivity (0.5518), and link cost suppression (0.0680), these intermediate weight values need to be normalized to ensure that the sum of the dynamic weight coefficients still equals 1, satisfying the mathematical constraint of the weight coefficients. This is because the sum of the intermediate weight values is no longer 1 after nonlinear scaling calculations. Calculating the sum of the intermediate weight values yields 0.7725 + 0.5518 + 0.5518 + 0.0680 = 1.9441. This sum is greater than 1, indicating that the increment of weight expansion exceeds the reduction of weight contraction, requiring normalization to proportionally scale each intermediate weight value to a reasonable range. The system performs a normalization operation. The mathematical expression for this operation is that the dynamic weight coefficient equals the intermediate weight value divided by the sum of all intermediate weight values. This formula ensures that the normalized dynamic weight coefficient maintains the relative weight ratio between the indicators while satisfying the constraint that the sum is 1.
[0070] The intermediate weight values of each quality indicator are normalized sequentially. For the latency indicator, the dynamic weight coefficient is calculated as 0.7725 divided by 1.9441, which is approximately 0.3973. Then, for the jitter indicator, the dynamic weight coefficient is calculated as 0.5518 divided by 1.9441, which is approximately 0.2838. Next, for the packet loss rate indicator, the dynamic weight coefficient is calculated as 0.5518 divided by 1.9441, which is approximately 0.2838. Finally, for the link cost indicator, the dynamic weight coefficient is calculated as 0.0680 divided by 1.9441, which is approximately 0.0350. The system sums and verifies the normalized dynamic weight coefficients, obtaining 0.3973 + 0.2838 + 0.2838 + 0.0350 = 0.9999, approximately equal to 1. Due to the precision error in floating-point calculations, in practical applications, the sum can be made strictly equal to 1 by fine-tuning the last weight coefficient. After verification, the system uses the normalized dynamic weight coefficients as the final weight configuration for path scoring calculation.
[0071] Through the above-described nonlinear weight correction process based on the reciprocal barrier function, the basic weights in the basic weight vector—0.35 for latency, 0.25 for jitter, 0.25 for packet loss, and 0.15 for cost—are converted into dynamic weight coefficients of 0.3973 for latency, 0.2838 for jitter, 0.2838 for packet loss, and 0.0350 for cost. The calculated dynamic weighting coefficients (latency 0.3973, jitter 0.2838, packet loss rate 0.2838, cost 0.0350) are applied to the comprehensive score calculation of each candidate path in the qualified path set. Assuming there are three candidate paths, namely the MPLS leased line path, the D3SD-WAN path, and the D1SD-WAN path, the MPLS leased line path is calculated with a latency score of 54.67, a jitter score of 73.33, a packet loss rate score of 85, and a cost score of 50. These scores are weighted and summed with the dynamic weighting coefficients to obtain the MPLS leased line path score, which is 54.67*0.3973+73.33*0.2838+85*0.2838+50*0.0350=68.40 points. For the D3SD-WAN path, the scores are: latency 70, jitter 60, packet loss rate 60, and cost 60. The path score is 70*0.3973+60*0.2838+60*0.2838+60*0.0350=63.97. For the D1SD-WAN path, the scores are: latency 65.33, jitter 80, packet loss rate 90, and cost 40. The path score is 65.33*0.3973+80*0.2838+90*0.2838+40*0.0350=75.59. The dynamic weight coefficients of each quality index are obtained by modifying the basic weight vector based on the average load rate, realizing the transformation from static fixed weights to dynamic adaptive weights. By introducing the inverse barrier function to calculate the congestion potential value, the nonlinear mapping relationship between network load status and congestion risk is accurately captured. The amplification of sensitive index weights and the reduction of inhibitory index weights are realized by nonlinear expansion and contraction calculation based on the congestion potential value. The normalization process ensures that the dynamic weight coefficients meet the mathematical constraints and maintains the integrity of the weight system.
[0072] Furthermore, when the service type label is not a real-time interactive service but a high-capacity transmission service, significant changes will occur to adapt to completely different business requirements. Suppose an enterprise needs to perform a daily incremental data backup task between data centers in Beijing and New York. The service intent identifier for this task is BizIntent_DataBackup_Standard_BJtoNY. The parsing engine extracts the service type label BulkTransfer and the service level label Standard. Checking the service type label reveals it to be a high-capacity transmission service, thus classifying it as a resource-priority scenario. The core characteristic of this scenario is that path selection primarily focuses on the availability and sufficiency of bandwidth resources, while having a higher tolerance for latency and jitter. The basis for classifying it as a resource-priority scenario is that the essential requirement of high-capacity transmission services is to complete the migration of large amounts of data within a reasonable time window. Data backup tasks may require the transfer of hundreds of gigabytes or even terabytes of data files, and whether the transmission time is within the allowable range depends mainly on the continuous bandwidth capacity that the network path can provide. Based on specific resource priority scenarios, the target calculation method is determined to be a bandwidth evaluation algorithm. The design concept of this algorithm is to focus on the quantitative evaluation of path bandwidth resources and capacity matching judgment. By calculating the available bandwidth capacity of the path and comparing it with the bandwidth requirements of the service, it determines whether the path meets the transmission requirements and sorts the paths that meet the requirements from largest to smallest bandwidth capacity.
[0073] Furthermore, when the target calculation method is a bandwidth evaluation algorithm, how to use this method to calculate the real-time quality indicators of each path in the qualified path set and obtain the path score for each path specifically includes: obtaining a second candidate network path from the qualified path set, and obtaining the real-time available bandwidth value, real-time packet loss rate, and historical bandwidth variance value of the second candidate network path, where the historical bandwidth variance value represents the stability of path bandwidth fluctuation; calculating the link integrity coefficient based on the real-time packet loss rate; calculating the link stability coefficient based on the historical bandwidth variance value; multiplying the link integrity coefficient, link stability coefficient, and real-time available bandwidth value to obtain the effective transmission capacity score of the second candidate network path; and determining the effective transmission capacity score as the path score of the second candidate network path.
[0074] Specifically, the first path to be evaluated is selected from the qualified path set as the second candidate network path. This second candidate network path is named to distinguish it from the first candidate network path in the previous path selection phase, indicating that it has passed the basic quality threshold test and entered the refined scoring phase. Assuming the currently obtained second candidate network path is the China D3 international leased line path, its path identifier is 001, its path type is MPLS leased line, its starting point is the Beijing data center egress gateway, and its endpoint is the Singapore data center ingress gateway, passing through the China D3 backbone network and the China D3 international submarine cable system. Three key quality indicators need to be obtained for this path: real-time available bandwidth, real-time packet loss rate, and historical bandwidth variance. These three parameters are collected from different data sources, reflecting different dimensions of path quality evaluation. The real-time available bandwidth reflects the current transmission capacity limit of the path, the real-time packet loss rate reflects the current link integrity and transmission reliability of the path, and the historical bandwidth variance reflects the fluctuation stability characteristics of the path bandwidth within a historical time window.
[0075] The real-time available bandwidth value of the second candidate network path is queried from the real-time performance database of the network monitoring center. This value is obtained by continuously executing the bandwidth probing algorithm through active probing agents deployed at both ends of the path. The bandwidth probing algorithm adopts a capacity estimation method based on UDP packet sequences. It calculates the upper limit of the available bandwidth of the path by sending probe traffic at different rates to the target path and observing the changes in packet loss rate and round-trip delay. Assuming that the monitoring center records the latest bandwidth probing result of the China D3 international leased line path as 850Mbps, this value means that the maximum stable transmission rate that the path can theoretically support under the current network conditions is 850 megabits per second. This value of 850 is stored in a temporary variable for subsequent calculations. At the same time, the timestamp of the bandwidth data collection is recorded in the log to ensure that the freshest performance data is used. Continue querying the real-time packet loss rate of this path from the real-time performance database. This value is obtained by calculating the percentage of lost packets by statistically analyzing the number of actual business data packets sent and received by traffic monitoring probes at both ends of the path. Assuming that the monitoring data shows that in the statistical window of the last 5 minutes, this path sent a total of 1,000,000 data packets, successfully received 998,500 data packets, and lost 1,500 data packets, the real-time packet loss rate is calculated as 1,500 divided by 1,000,000, which equals 0.0015, or 0.15%. This value of 0.0015 is stored in a temporary variable.
[0076] The historical bandwidth variance value of the second candidate network path is retrieved from the historical performance data warehouse. This value quantifies the fluctuation of the path bandwidth over a historical period, reflecting the stability of the path's transmission rate. A smaller bandwidth variance value indicates more stable path bandwidth, less transmission rate fluctuation, and a more consistent user experience. A larger bandwidth variance value indicates drastic path bandwidth fluctuation, with transmission rates fluctuating wildly and making it difficult to provide stable and reliable service quality. The historical data analysis module is invoked. This module extracts 288 sampling points of available bandwidth measurements for this path from the performance data warehouse, sampled every 5 minutes over the past 24 hours. Assuming the extracted bandwidth sequence data is: the first sampling point is 820Mbps, the second sampling point is 865Mbps, the third sampling point is 810Mbps, and so on up to the 288th sampling point is 855Mbps, the statistical variance is calculated for these 288 bandwidth sampling values, and the variance value of 1250 is stored in a temporary variable.
[0077] After obtaining the three key quality indicators for the second candidate network path, the calculation of the link integrity coefficient begins. The purpose of this calculation is to convert the raw performance indicator of real-time packet loss rate into a normalized coefficient that reflects the reliability of link transmission. Because there is a complex nonlinear relationship between packet loss rate and actual transmission throughput, the packet loss rate cannot be simply used as a penalty to directly deduct bandwidth value. When the TCP protocol detects packet loss, it triggers fast retransmission and congestion avoidance mechanisms, which significantly reduce the sending window, causing the actual throughput to drop far more than the packet loss rate itself. For example, a 1% packet loss rate may cause the TCP throughput to drop by more than 50%. At the same time, the impact of packet loss rate on transmission performance exhibits a marginally increasing characteristic. The impact is relatively mild at low packet loss rates, but the destructive effect increases sharply as the packet loss rate rises. Traditional linear penalty models cannot accurately characterize this nonlinear relationship, which may lead to overly optimistic scoring of high packet loss paths or overly conservative scoring of low packet loss paths. A link integrity coefficient calculation model based on the square root function is introduced to accurately capture the nonlinear mapping relationship between packet loss rate and transmission reliability through mathematical transformation. The use of the square root function makes the impact of packet loss rate grow more slowly in the low value range and grow more rapidly in the high value range, which is consistent with the actual behavior characteristics of TCP congestion control. At the same time, the packet loss penalty is converted into a coefficient form with a value range between 0 and 1 through reciprocal operation, which is convenient for multiplying and combining with the bandwidth value to calculate the effective transmission capacity.
[0078] The preset packet loss penalty factor is read from the configuration library. This parameter controls the impact of packet loss rate on the link integrity coefficient. The value of the packet loss penalty factor needs to be greater than 10 to ensure that the significant negative impact of packet loss rate on transmission performance is fully reflected in the coefficient calculation. The mathematical calculation process of the link integrity coefficient is performed, which includes four consecutive operation steps. First, the square root of the real-time packet loss rate is calculated by taking the square root of the real-time packet loss rate value of 0.0015, which is approximately equal to 0.0387. Next, the product of the preset packet loss penalty factor and the square root of the packet loss rate is calculated by multiplying the penalty factor 15 by the square root value of 0.0387, which is approximately equal to 0.581. This product value represents the quantification intensity of the negative impact of packet loss rate on link integrity. The larger the value, the more severe the performance loss caused by packet loss. Then, the above product is added to 1, which is 1 plus 0.581, equaling 1.581. The purpose of adding 1 is to convert the penalty intensity into a positive base value suitable for performing the reciprocal operation to ensure the mathematical validity of the subsequent reciprocal calculation. Finally, take the reciprocal of the sum as the link integrity coefficient. Calculate 1 divided by 1.581 to get a link integrity coefficient of approximately 0.633. The coefficient value ranges from 0 to 1. When the packet loss rate is 0, the coefficient value is 1, indicating that the link is completely intact and without loss. When the packet loss rate increases, the coefficient value gradually decreases, indicating that the link integrity is declining. Store the calculated link integrity coefficient of 0.633 in a temporary variable.
[0079] After calculating the link integrity coefficient, the link stability coefficient is calculated. The purpose of this calculation is to convert the historical bandwidth variance, a statistical fluctuation indicator, into a normalized coefficient that reflects the stability of the path transmission. Bandwidth fluctuations significantly impact user experience and business continuity. Even with a high average bandwidth, frequent and large fluctuations can cause inconsistent transmission speeds, affecting the predictability and planning of data transmission tasks. In large file transfer scenarios, bandwidth fluctuations can lead to inaccurate estimated transmission times, preventing users from scheduling other tasks and wasting time. In video streaming scenarios, bandwidth fluctuations can cause video stuttering or frequent resolution switching, severely impacting the viewing experience. Traditional scoring methods often focus only on instantaneous or average bandwidth values, ignoring the time-series stability characteristics of bandwidth. This results in selected paths with high peak bandwidth but poor actual user experience. A link stability coefficient calculation model based on an exponential decay function is introduced. Through mathematical transformation, the bandwidth variance is mapped to a stability coefficient ranging from 0 to 1. The use of the exponential function means that the larger the bandwidth variance, the smaller the coefficient value, and the faster the decay rate increases with variance, aligning with people's subjective perception of stability. This model effectively distinguishes between stable and fluctuating paths, ensuring that path selection decisions fully consider the dimension of transmission stability.
[0080] The preset fluctuation sensitivity coefficient is read from the system configuration library. This parameter controls the sensitivity of bandwidth variance to the link stability coefficient. The larger the fluctuation sensitivity coefficient, the lower the tolerance for bandwidth fluctuations. Even small variances can lead to a significant decrease in the stability coefficient. The smaller the fluctuation sensitivity coefficient, the more tolerant it is to bandwidth fluctuations. Only large variances will significantly affect the stability score. Assuming the preset fluctuation sensitivity coefficient is configured as 0.002, the unit of which is the reciprocal of the square of Mbps, this is the optimal parameter setting determined through business scenario analysis and user experience testing. Test data shows that when the sensitivity coefficient is set to 0.001, the response to bandwidth fluctuations is too slow, causing paths with large fluctuations to still obtain high scores, making it difficult to effectively identify unstable paths. When the sensitivity coefficient is set to 0.005, it is too sensitive to bandwidth fluctuations, causing even slight fluctuations to be severely penalized, potentially excluding actually usable high-quality paths. Considering the balance between stability requirements and path availability, setting the sensitivity coefficient to 0.002 can achieve reasonable stability quantification in most fluctuation scenarios.
[0081] The mathematical calculation process for the link stability coefficient uses the natural exponential function as the core transformation function. First, a negative value of the preset fluctuation sensitivity coefficient is calculated. This coefficient (0.002) is negative, resulting in -0.002. The purpose of this negative sign is to ensure that the exponential part of the exponential function is negative, thus achieving a monotonically decreasing coefficient value as variance increases. Without the negative sign, the larger the variance, the larger the exponential function value, contradicting the negative correlation with stability. Next, the product of the negative preset fluctuation sensitivity coefficient and the historical bandwidth variance value is calculated. Multiplying -0.002 by the historical bandwidth variance value (1250) yields a product equal to -2.5. This product, as the exponential term of the natural exponential function, reflects the strength of the negative impact of bandwidth fluctuations on stability. A more negative value indicates a more severe stability loss caused by fluctuations. Next, the product is used as the exponent of the natural constant e to calculate e to the power of -2.5, which is approximately 0.0821. The natural exponential function e to the power of x is a continuous monotonic function whose value approaches 0 as x approaches negative infinity, equals 1 when x equals 0, and approaches positive infinity as x approaches positive infinity. When the exponent is negative, the exponential function exhibits exponential decay characteristics, making it very suitable for modeling the relationship between stability and increased volatility. The calculated exponential function value of 0.0821 is stored as a link stability coefficient in a temporary variable. This coefficient ranges from 0 to 1. When the bandwidth variance is 0, the exponent is 0 and the coefficient is e to the power of 0, which equals 1, indicating a completely stable path without fluctuations. As the bandwidth variance increases, the exponent becomes more negative, and the coefficient gradually decreases, tending towards 0, indicating a decrease in path stability.
[0082] After calculating the link integrity coefficient and link stability coefficient, the effective transmission capacity score is calculated. This involves comprehensively considering three dimensions: theoretical bandwidth capacity, link transmission reliability, and bandwidth stability, to determine the true effective transmission capacity the path can provide in real-world business scenarios. Since the simple real-time available bandwidth value is only a theoretical upper limit and does not represent the actual availability of the path, it needs to be corrected based on quality factors such as packet loss rate and bandwidth fluctuations to obtain an accurate capacity assessment. Traditional methods often simply use bandwidth values as the path score, leading to the incorrect selection of inferior paths with high bandwidth but high packet loss or high fluctuations, resulting in service transmission failures or underperformance. The effective transmission capacity score model introduces a method that achieves coordinated correction of multi-dimensional quality factors by multiplying the theoretical bandwidth value by two normalized coefficients. The use of multiplication ensures that quality degradation in any dimension directly lowers the overall score, reflecting the strong coupling relationship between capacity and quality factors. For example, even if the path bandwidth is high, if the packet loss rate is severe, resulting in a low link integrity coefficient, the effective transmission capacity score will also be correspondingly low, accurately reflecting the unavailability of the path. Similarly, if the path bandwidth fluctuates drastically, resulting in a low link stability coefficient, the effective transmission capacity score will also be significantly lowered, reflecting the serious impact of fluctuations on actual transmission capacity.
[0083] The real-time available bandwidth value is obtained as 850 Mbps. Then, the link integrity coefficient of 0.633 and the link stability coefficient of 0.0821 are extracted. Multiplying these three values (850 x 0.633 x 0.0821) yields an effective transmission capacity score of approximately 44.17. This score, in Mbps, indicates that after considering quality factors such as packet loss rate and bandwidth fluctuations, the actual stable effective transmission capacity provided by this path is approximately 44.17 megabits per second. This effective transmission capacity score is determined as the path score for the second candidate network path. Referring to the calculation methods for the first and second candidate network paths described above, scores are calculated for all paths in the qualified network set to obtain their respective path scores.
[0084] S105: Sort the set of qualified paths according to the path score, select the path with the highest path score from the sorting results as the primary path, and select the path with the second highest path score from the sorting results as the backup path.
[0085] In step S105 above, after calculating the scores of each path in the qualified path set, the qualified path set needs to be sorted according to the path scores. The path with the highest score is selected as the primary path, and the path with the second highest score is selected as the backup path. Because the single-path dependency model carries significant availability risks—even if the currently highest-scoring optimal path can provide excellent service quality under normal circumstances—the uncertainty and sudden changes in the network environment mean that any single path may encounter abnormal conditions such as quality degradation, link failure, or load saturation at some point in the future, leading to service interruption or a sharp decline in performance. Traditional path selection methods often only focus on selecting the primary path while neglecting the pre-configuration of backup paths. This results in the need to temporarily execute a complete path discovery, quality detection, and path evaluation process to determine an alternative path when the primary path fails. During this period, business traffic faces a dead end, causing serious user experience damage and business continuity disruption, such as interrupted video conferencing, dropped voice calls, or failed critical transactions. For real-time interactive services and mission-critical applications, even a few seconds of service interruption is enough to cause unacceptable business impact. For example, video interruptions in remote medical diagnosis may delay the diagnosis. Therefore, it is necessary to plan and prepare backup paths in advance while the primary path is running normally. This allows for path switching to be completed in a very short time, within milliseconds to seconds, when the primary path fails. This enables seamless or near-seamless migration of services and minimizes the impact of failures on user experience. This dual-track guarantee mechanism of primary and backup paths reflects the core principle of high availability design for communication systems: ensuring business continuity by minimizing the impact of failures through advance preparation of redundant resources and the construction of rapid switching capabilities.
[0086] Taking the aforementioned multinational law firm's actual scenario as an example, after completing the scoring calculation of the three candidate paths, a set of qualified paths containing complete scoring information was obtained. Assuming that the current business scenario is the data transmission task of a high-definition video court hearing system, the system used the aforementioned comprehensive scoring algorithm based on multi-index weighting to complete the path scoring calculation. The scoring results of the three paths are as follows: China D3 International MPLS Leased Line Path: 92.5 points; China D1 SD-WAN Tunnel Path: 88.3 points; China D2 Internet Direct Connection Path: 45.7 points. The three path objects and scoring data are sorted from largest to smallest. The ranking results are: China D3 International MPLS Leased Line Path 92.5, China D1 SD-WAN Tunnel Path 88.3, and China D2 Internet Direct Connection Path 45.7. The path with the highest score is selected as the primary path. The logic behind this selection is that, under the current network conditions and business requirements, the path with the highest score can provide the best quality of service guarantee and is most likely to meet the service level agreement requirements of the business applications. Therefore, this path should be used to carry business traffic. The positioning of the primary path is not merely a path selection decision, but also the core execution carrier of the entire traffic engineering strategy. The primary path will receive the forwarding rules issued by the system during the subsequent traffic forwarding phase and become the actual transmission channel for business data packets, directly affecting the application performance perceived by end users. Therefore, the China D3 MPLS Leased Line Path is directly selected as the primary path.
[0087] After determining the primary path, the path with the second-highest score is selected from the ranking results as the backup path. The strategic significance of this selection lies in building a path-level fault tolerance mechanism. By pre-locking the backup path and pre-setting corresponding switching strategies, it possesses the ability to respond quickly and recover automatically when the primary path fails. The selection criterion for the backup path is the second-highest score, rather than random selection or fixed designation. This design reflects that the backup path is not simply redundant resources but a suboptimal choice after quality assessment. A second-highest score means that although the path's overall quality is slightly inferior to the primary path, it still possesses good service quality capabilities and can provide an acceptable or even near-primary path-level user experience after taking over business traffic. This score-gradient-based backup path selection strategy is significantly superior to the traditional static primary / backup link binding scheme. Traditional schemes often fix a link as a backup link without considering its real-time quality status, which may result in a poorly performing or even unusable backup path after the primary path fails, exacerbating the business interruption. The dynamic backup path selection mechanism of this invention ensures that the backup path is always the best available path besides the primary path, providing a reliable quality guarantee for fault switching. The selected China D1SD-WAN tunnel path is used as the backup path.
[0088] In one possible implementation, in order to meet the fine-grained traffic scheduling requirements for selecting the primary path in complex business scenarios, path scoring can reflect the overall quality level of the path, but it cannot directly reflect the criticality level and differentiated service requirements of business applications. In the enterprise network environment, different business applications have significantly different degrees of dependence on network resources. For example, critical applications such as video trial systems, remote surgical guidance systems, and financial transaction systems have extremely stringent requirements for network quality. Any delay, jitter, or packet loss can lead to serious business consequences, or even irreparable losses. On the other hand, non-critical applications such as background file backup systems, software updates, downloads, and log synchronization, while also requiring network transmission, have a relatively higher tolerance for transmission quality and timeliness. Even transmission on poor-quality links will not have a fatal impact on core business functions. If all business applications are allocated the same quality level of transmission paths, it will result in a waste of high-cost, high-quality link resources. Critical applications will not be adequately guaranteed, while non-critical applications will occupy valuable resources that should be reserved for critical applications. Traditional path selection methods often ignore these differentiated needs at the business level, forcing enterprises to lease expensive dedicated line resources for all businesses or lower the overall service quality standard under cost pressure, thus failing to achieve Pareto optimality in resource allocation.
[0089] To address this issue, a device priority judgment mechanism based on the criticality level of business applications is introduced into the path selection decision. This mechanism intelligently matches the transmission requirements of data flows with the quality and cost characteristics of network devices and link resources, enabling a differentiated resource allocation strategy where critical applications use high-quality dedicated lines and non-critical applications use inexpensive bandwidth. This strategy not only ensures that critical services receive the most reliable quality of service but also significantly reduces the enterprise's network operating costs and improves the overall network resource utilization efficiency. Before executing path sequencing and primary / backup path selection, the business application type and criticality level of the data flow to be scheduled need to be identified and assessed. This assessment process relies on the identification results of the aforementioned application identification and classification engine and a pre-configured business application priority policy library. In the law firm scenario, the network administrator pre-configures the application priority policy library, dividing business applications into three levels: highest priority (e.g., video court hearings VIDEO_COURT, instant messaging), medium priority (e.g., document synchronization DOC_SYNC, enterprise email), and low priority (e.g., background backup, system updates). When a Beijing lawyer initiates both a video court hearing and document synchronization simultaneously, the application identification engine analyzes the characteristics of data packets through deep packet inspection. The video stream uses the UDP protocol, its payload contains H.264 video encoding characteristics, and is marked as a VIDEO_COURT application, obtaining the highest priority PRIORITY_CRITICAL from the policy library. The document synchronization stream uses TCP port 443, is identified as a DOC_SYNC application through the TLS certificate domain name, and obtains the medium priority PRIORITY_MEDIUM.
[0090] When processing the highest-priority video trial stream, the decision engine found that although the MPLS leased line path scored the highest (92.5 points), its cost coefficient was as high as 10 times. A query of the link resource configuration table revealed that the MPLS leased line was configured as a "dedicated link for critical business," specifically designed to provide low-latency, zero-jitter assurance for the highest-priority real-time applications. Since the criticality level of the video trial perfectly matched the link's positioning, the decision engine determined to use the MPLS leased line as the primary path and the SD-WAN tunnel (scoring 88.3 points) as the backup path.
[0091] For medium-priority document synchronization streams, the decision engine prioritizes cost-effectiveness. While the China D2 internet direct connection only scores 45.7 points, its cost coefficient is 1x, and its available bandwidth of 100Mbps far exceeds the 30Mbps requirement. Although the latency of 65ms and jitter of 20ms are relatively high, the TCP protocol for file transfer applications can effectively handle network fluctuations. Based on the principle of cost optimization, the internet link is used as the primary path for document synchronization, avoiding the consumption of valuable MPLS leased line resources.
[0092] The decision is translated into device configuration instructions and sent to the edge gateway. The video stream policy sets the outgoing interface to the MPLS tunnel, the DSCP tag to EF(46), and the 802.1p priority to 7 to ensure the highest priority processing. The document stream policy sets the outgoing interface to the Internet link, the DSCP tag to AF21(18), and the priority to 3 to ensure medium priority scheduling. When the data packet arrives at the edge gateway, the gateway performs application identification and policy matching. The video RTP packet is identified as the VIDEO_COURT application, marked with the highest priority, and sent to the strict priority queue SP of the MPLS tunnel. After being encapsulated with MPLS tags, it is sent. The document TCP packet is identified as the DOC_SYNC application, marked with a medium priority, and sent to the weighted fair queue WFQ of the Internet egress. After being processed by NAT, it is sent.
[0093] S106: Direct the application layer data stream to the primary path for forwarding.
[0094] In S106 above, after determining the primary path, the selection of the primary path is converted into a forwarding policy configuration instruction executable by the edge gateway device. In the law firm scenario, when the decision engine determines that the video trial stream initiated by the Beijing lawyer should be forwarded through the MPLS leased line, the controller generates a policy routing rule. This rule contains two core parts: matching conditions and execution actions. The matching conditions are defined as RTP video streams with source IP address of lawyer terminal 192.168.1.100, destination IP address of Shanghai court video system 202.120.5.30, protocol type of UDP, and destination port of 5004. The execution action is specified as sending the data packets matching the conditions out from the MPLS tunnel interface Tunnel10, and setting the DSCP field to EF value 46 to mark the highest priority. The controller distributes the policy routing rule to the edge gateway device in the Beijing office via the NETCONF protocol. After receiving the configuration, the gateway immediately writes the rule into the hardware forwarding table entry, ensuring that subsequent video stream data packets can be quickly matched and forwarded at the hardware level.
[0095] When the video trial data packet actually arrives at the edge gateway, the gateway's data plane processing engine first performs deep packet inspection. By parsing the source and destination addresses in the IP header, the protocol type and port number at the transport layer, and the payload characteristics at the application layer, it identifies that this is an RTP data packet for a video trial. The identification engine precisely matches the five-tuple information of the data packet with the policy routing table, successfully matching the forwarding rules issued by the controller. After a successful match, the gateway immediately executes the policy action, rewriting the DSCP field of the data packet to an EF value of 46, ensuring that every hop router in the MPLS network can recognize this as high-priority traffic. Next, the gateway queries the MPLS label forwarding table, pushes the data packet onto the label stack, with the outer label indicating the LSP path to the Shanghai POP node, and the inner label identifying the forwarding equivalence class of the video trial. Then, the encapsulated MPLS data packet is sent from the physical egress of the Tunnel10 interface to the MPLS leased link.
[0096] During transmission over the MPLS leased line, because the data packets carry EF priority tags and MPLS labels, the operator routers along the route place the video stream into a strict priority queue for scheduling, ensuring that the data packets can be forwarded quickly with minimal latency and zero jitter. When the data packets arrive at the Shanghai POP node, the edge gateway performs an MPLS label popping operation to restore the original IP data packets, and then forwards the video stream to the Shanghai court's video system through local routing. Throughout the forwarding process, because the video stream is always transmitted on the primary path of the MPLS leased line, the increased latency and packet loss problems caused by congested Internet links are avoided.
[0097] S107: Monitor the current quality indicators of the primary path in real time. If the current quality indicators do not meet the threshold indicators in the service quality requirements parameters, seamlessly switch the application layer data stream to the backup path for forwarding.
[0098] In S107 above, when forwarding application layer data streams using the primary path, the current quality indicators of the primary path need to be monitored in real time. If the current quality indicators do not meet the threshold indicators in the service quality requirements parameters, the application layer data stream is seamlessly switched to the backup path for forwarding. This is because network link quality can dynamically change due to fiber optic failures, equipment congestion, routing oscillations, etc. Even if the initially selected primary path has the best quality, it may suddenly deteriorate during transmission, causing it to fail to meet the service quality requirements parameters of the application. In this case, the application layer data stream must be quickly switched to the backup path to avoid service interruption or a serious decline in experience. When implementing the switchover, different switching strategies need to be adopted according to the forwarding form of the application layer data stream. For traffic based on packet forwarding, a fast switchover can be achieved, while for traffic based on data stream forwarding, complex issues of state transition and data retransmission need to be handled.
[0099] In the law firm scenario, the video trial stream from the Beijing office is being forwarded via the primary MPLS leased line. Every 500 milliseconds, the quality awareness engine sends a set of probe packets to the peer probe point in the New York court's video system. These probe packets include timestamped UDP packets and ICMP echo requests with specific sequence numbers. After the probe packets travel back and forth via the MPLS leased line, the awareness engine calculates the current quality metrics by analyzing the returned response packets. Specifically, this includes calculating one-way latency by the difference between the sending and receiving timestamps, calculating jitter by the latency variation of multiple consecutive probe packets, and calculating the packet loss rate by the proportion of lost probe packets. Simultaneously, the awareness engine passively analyzes the transmission characteristics of actual video data packets, doubly verifying the true quality status of the link by monitoring the sequence number continuity and reception interval of video RTP packets.
[0100] Under normal circumstances, the current quality indicators of the MPLS leased line are 40 milliseconds latency, 5 milliseconds jitter, and 0.1% packet loss rate. These indicators fully meet the threshold indicators set in the service quality requirements parameters for video court applications, namely, latency less than 80 milliseconds, jitter less than 15 milliseconds, and packet loss less than 0.5%. However, at a certain moment, due to the severing of the international fiber optic cable along the MPLS leased line during construction, traffic was forced to detour through a congested path. In the next monitoring cycle, the quality awareness engine detected a drastic change in the current quality indicators: latency suddenly rose to 150 milliseconds, jitter soared to 50 milliseconds, and packet loss rate reached 3%. The awareness engine immediately compared these current quality indicators with the threshold indicators in the service quality requirements parameters and found that latency exceeded the threshold by 87.5%, jitter exceeded the threshold by 233%, and packet loss exceeded the threshold by 500%. It determined that the primary path had seriously violated the service quality requirements parameters and that a switching mechanism must be triggered immediately. After receiving the quality violation alarm, the decision engine first confirmed the status of the backup path. During the initial path selection, D3 premium broadband was pre-configured as a backup path for the video court hearing stream. At this time, the perception engine reported that the current quality indicators of D3 broadband were 45 milliseconds latency, 8 milliseconds jitter, and 0.2% packet loss rate, which fully met the threshold indicators of the service quality requirements. After the decision engine confirmed that the backup path was available, it immediately generated a switching instruction and sent it to the edge gateway device in the Beijing office. The instruction clearly identified that the application layer data stream to be switched was the video court hearing stream, the target path was the D3 broadband link, and the switching mode was differentiated according to the forwarding form of the application layer data stream.
[0101] For application-layer data streams like video court hearings, which are transmitted using the UDP protocol, the forwarding method is a connectionless transmission at the packet level. Upon receiving the switching instruction, the edge gateway immediately modifies the forwarding table entries, changing the outgoing interface of subsequent data packets matching the characteristics of the video court hearing stream from the MPLS tunnel Tunnel10 to the D3 broadband interface GigabitEthernet0 / 1. Since the UDP protocol itself does not maintain connection state, each data packet is forwarded independently, making the switching process very simple and efficient. When the next video RTP data packet arrives at the gateway, the gateway queries the updated forwarding table entries and directly sends the packet out from the D3 broadband interface, without needing to process the data packets that were previously successfully forwarded via the MPLS leased line. These data packets, which were previously forwarded using the primary path, have already reached their destination or are in the primary path's transmission queue; their lifecycle has ended or is about to end, and the backup path only needs to forward subsequent data packets. The entire switching process was completed within 50 milliseconds. The video conferencing system may experience a very brief frame of lag due to the path switching, but because the UDP video stream has a certain fault tolerance and the decoder has a buffering mechanism, the impact perceived by the user is only a slight momentary shaking of the screen. The sound and picture are completely restored to clear and smooth in less than 1 second, and the entire court hearing session was not interrupted.
[0102] However, for application-layer data streams like document synchronization, which are transmitted via TCP, the forwarding method is connection-oriented and operates at the data stream level, making the switching process far more complex. Suppose that at some point, the D1 broadband link carrying the document synchronization stream experiences severe quality degradation due to congestion in the operator's backbone network, with latency increasing from 65 milliseconds to 300 milliseconds and packet loss reaching 5%, no longer meeting the service quality requirements of the document synchronization application. The decision is made to switch this application-layer data stream from the primary D1 broadband path to the better-quality backup D3 broadband path. Because the TCP protocol maintains complex connection states, including sequence numbers, acknowledgment numbers, window sizes, and congestion control parameters, simply changing the packet forwarding path can lead to serious problems. During the switchover, some TCP packets may have already been sent via the primary path but have not yet been acknowledged by the receiver. These packets may be in transit or need to be retransmitted due to packet loss. If subsequent packets are simply redirected to the backup path without processing these unacknowledged packets, the receiver will trigger numerous duplicate acknowledgments due to out-of-order packets, and the sender will misjudge network congestion and significantly reduce its sending rate, severely impacting transmission performance.
[0103] To address the complexity of TCP data stream switching, a switching mechanism based on stream state synchronization is employed. When a switching command is issued, the edge gateway first suspends sending new TCP packets to the primary path and enters a switching preparation state. The TCP stream state table maintained internally by the gateway records key information about the synchronized stream, including the maximum sequence number currently sent, the maximum acknowledgment number received, and, based on the sequence number, data that has been sent but not yet acknowledged. The gateway immediately synchronizes this information about unacknowledged data to the processing module of the backup path, ensuring that this data can be processed correctly after the switch. Next, the gateway initiates a fast retransmission mechanism, proactively retransmitting these unacknowledged packets through the backup path. Since it's impossible to determine whether they were lost on the primary path or are still in transmission, retransmission ensures data integrity. After the retransmitted packets are sent through the backup path, the gateway forwards subsequent new packets from the backup path as well. At this point, all data streams previously forwarded using the primary path must be forwarded again on the backup path; that is, all unacknowledged data streams previously forwarded on the primary path must be retransmitted on the backup path. This is an inherent requirement determined by the connection-oriented nature of TCP.
[0104] During the document synchronization stream switching process, when the edge gateway detects the need for a switch, it immediately freezes the TCP send buffer. At this point, there are still 32KB of data waiting to be sent in the buffer, while 24KB of data packets are en route. The gateway synchronizes the TCP stream status information, including the sequence number range, window parameters, and RTT estimate, to the backup path processing engine via its internal message bus. The engine initializes the TCP stream state on the backup path based on this information. Subsequently, the gateway retransmits the 24KB of data in transit through the backup path. Due to the lower latency and no packet loss on the backup path, these retransmitted packets arrive at the receiving end quickly. The receiving end's TCP stack may receive some duplicate packets because some packets sent through the primary path, although delayed, eventually arrive. The TCP protocol's sequence number mechanism can automatically identify and discard these duplicate data, without affecting the data integrity of the application layer. After the retransmission is complete, the gateway continues to send the remaining 32KB of new data in the buffer, as well as all subsequent data, through the backup path. The entire switching process is completed within 2 to 3 seconds. Although the document synchronization transfer rate temporarily decreases during the switch, since file transfer applications are not sensitive to short-term rate fluctuations, users will not perceive a significant drop in experience, and the document synchronization task can continue to run smoothly.
[0105] Furthermore, when switching application layer data streams from the primary path to the backup path, a sophisticated fault diagnosis mechanism is needed to avoid frequent erroneous switching caused by momentary fluctuations in network quality. This is because network link quality indicators can experience brief jitters or spikes during actual operation. For example, a router might temporarily increase latency by tens of milliseconds due to processing a large number of data packets at once, or a single data packet might be lost due to occasional signal interference. These momentary anomalies do not indicate that the link has truly entered a state of continuous degradation. If a switch is immediately executed for every instance of a quality indicator exceeding the standard, it will cause frequent path oscillations, increasing the processing burden on network devices and potentially disrupting TCP connection states or causing application session interruptions due to repeated switching, thus worsening the user experience.
[0106] To improve user experience, a multi-stage judgment method based on a time tolerance window is provided to distinguish between instantaneous fluctuations and real faults. If the current quality metric does not meet the threshold metric in the service quality requirement parameters, the application layer data stream is seamlessly switched to the backup path for forwarding. Specifically, this includes: obtaining the current quality metric of the primary path in real time and comparing it with the threshold metric in the service quality requirement parameters; if the current quality metric is found to be greater than the threshold metric, the primary path is determined to be in a suspected degradation state, and the current time is recorded as the abnormal start time; in the suspected degradation state, the latest quality metric of the primary path is obtained; if the time difference between the current time and the abnormal start time is less than the preset tolerance time, and the latest quality metric is found to have recovered to less than or equal to the threshold metric, the suspected degradation state is determined to be lifted, and the abnormal start time is cleared; if the time difference between the current time and the abnormal start time is greater than or equal to the preset tolerance time, and the latest quality metric is still greater than the threshold metric, the primary path is determined to be in a fault state; based on the fault state, the application layer data stream is seamlessly switched from the primary path to the backup path.
[0107] Specifically, the quality awareness engine continuously acquires the current quality metrics of the primary path in real time. In the law firm scenario, the video trial stream from the Beijing office is transmitted via an MPLS leased line. Every 500 milliseconds, the awareness engine sends probe packets to the New York counterpart and calculates the current quality metrics. Under normal circumstances, the latency of the MPLS leased line is stable at around 40 milliseconds, and the threshold metric set in the service quality requirements parameters is a latency of less than 80 milliseconds. The current quality metric is compared with the threshold metric each time. When the latency remains within 45 milliseconds for several consecutive monitoring cycles, the link is determined to be in a healthy state and no action is required. However, at a certain moment, due to a large-scale routing table update being processed by the upstream router of the MPLS leased line, the instantaneous latency spikes to 95 milliseconds. The quality awareness engine acquires this current quality metric of 95 milliseconds in the next monitoring cycle and immediately compares it with the threshold metric of 80 milliseconds, detecting that the current quality metric is greater than the threshold metric. Instead of immediately triggering a switchover, it determines that the primary path has entered a suspected deterioration state and records the current time as the abnormal start time of 14:30:15.500 milliseconds. Once the link enters a suspected degradation state, an observation window is opened. During this window, the link quality is continuously monitored to see if it can recover on its own.
[0108] Different preset tolerance durations are configured for different application types to suit their respective quality sensitivity characteristics. The preset tolerance duration for video court hearing applications is set to 2 seconds because real-time video is very sensitive to continuous quality degradation but can tolerate very brief fluctuations. The preset tolerance duration for document synchronization applications is set to 10 seconds because file transfer applications, through the TCP protocol, have strong fault tolerance capabilities and can tolerate longer periods of quality fluctuation without immediate switching. The preset tolerance duration for background system backup applications is even set to 30 seconds because these non-real-time applications are not sensitive to quality degradation, and providing a longer recovery window can minimize unnecessary switching overhead.
[0109] After entering a suspected degradation state, the system continues to acquire the latest quality metrics of the primary path at a high frequency. In the first monitoring cycle after the anomaly's start time (500 milliseconds), the quality awareness engine sends another probe packet. At this time, the current time is 14:30:16:000 milliseconds, and the latest quality metric measured is 92 milliseconds, still exceeding the threshold of 80 milliseconds. The time difference between the current time and the anomaly's start time is calculated to be 500 milliseconds. A query of the preset tolerance time configuration table reveals that the preset tolerance time for real-time applications like video court hearings is 2 seconds. Since the current time difference of 500 milliseconds is less than the preset tolerance time of 2 seconds, the suspected degradation state is maintained without switching, giving the link a chance to recover itself.
[0110] One second after the abnormal start time, i.e., at 14:30:16:500, the quality awareness engine obtained the latest quality indicator of 75 milliseconds, indicating that the latest quality indicator had recovered to below the threshold of 80 milliseconds. The time difference between the current time and the abnormal start time was calculated to be 1 second, still less than the preset tolerance period of 2 seconds. Therefore, the quality recovery condition was met, the suspected degradation state was determined to be resolved, the abnormal start time record was immediately cleared, and the link status was re-marked as healthy. Subsequent monitoring continued to show that the latency stabilized at around 40 milliseconds, proving that the previous quality exceedance was indeed only a momentary fluctuation, successfully avoiding an unnecessary path switch and maintaining the transmission stability of the video trial stream.
[0111] Furthermore, when the international fiber optic cable of the MPLS leased line was severed during construction, forcing traffic to detour over long distances, the quality awareness engine detected a sudden increase in latency to 150 milliseconds. It also determined that the primary path had entered a suspected degradation state and recorded the anomaly start time as 15:45:30:000 milliseconds. In subsequent continuous monitoring, the latest quality index at 15:45:30:500 milliseconds was 155 milliseconds, at 15:45:31:000 milliseconds it was 148 milliseconds, and at 15:45:31:500 milliseconds it was 152 milliseconds. All of these latest quality indices consistently exceeded the threshold of 80 milliseconds. When the system detected that the current time reached 15:45:32:000 milliseconds, the time difference between the current time and the anomaly start time was calculated to be 2 seconds, exactly equal to the preset tolerance period of 2 seconds. At this point, the latest quality index was still 150 milliseconds, exceeding the threshold. Therefore, it was determined that this was not a momentary fluctuation but a genuine, persistent link failure, and the primary path was confirmed to be in a fault state. Based on the fault status assessment, a switchover process was immediately initiated to seamlessly switch the application layer data stream from the primary path to the backup path. After the decision engine confirmed that the quality indicator of the backup path D3 broadband was met (latency of 45 milliseconds), it issued a switchover command to the edge gateway. The gateway switched the forwarding path of the video trial stream from the MPLS tunnel to the D3 broadband interface. The entire switchover was completed within 50 milliseconds, and the video conference experienced only one frame of slight stuttering before quickly returning to smooth playback.
[0112] In one possible implementation, in a real network environment, some links may experience frequent quality oscillations. Although each quality degradation event recovers spontaneously before reaching the preset tolerance duration, this high-frequency, recurring fluctuation itself indicates that the link is in an unstable state, which will seriously affect the application experience. A sliding time window can be set to count the number of times the primary path enters a suspected degradation state within the sliding time window. If the number exceeds a preset oscillation threshold, even if the duration of a single abnormal event does not reach the preset tolerance duration, the primary path is directly determined to be in a fault state, and the application layer data flow is seamlessly switched from the primary path to the backup path.
[0113] Specifically, a 60-second sliding time window was set for the video court hearing stream, with a preset oscillation threshold of 5 times. When the MPLS leased line experienced repeated fluctuations in link quality due to aging upstream equipment hardware, within the 60-second sliding time window from 14:30:00 to 14:31:00, the primary path was recorded to enter a suspected degradation state five times: at 14:30:10, 14:30:25, 14:30:38, 14:30:47, and 14:30:55. Each time, the quality index exceeded the standard and recovered after 1 to 1.5 seconds. The duration of each abnormality did not reach the preset tolerance duration of 2 seconds. Statistical analysis revealed that the number of suspected degradations within the sliding time window was 5, which is exactly equal to the preset oscillation threshold of 5 times. It was immediately determined that although the primary path did not have a clear and continuous fault, it had entered an unstable state of high-frequency oscillation, and was directly identified as a fault state, triggering a switch to the backup path.
[0114] After implementing this oscillation detection mechanism, three links with acceptable surface quality but actual instability were successfully identified, avoiding video stuttering and audio-visual desynchronization caused by the accumulation of frequent micro-fluctuations.
[0115] This application also provides an intelligent path selection system based on a service level agreement. Figure 2 This is a schematic diagram of the structure of an intelligent path selection system based on a service level agreement (SSPA) provided in an embodiment of this application. (Refer to...) Figure 2 The system includes an acquisition unit 201, a filtering unit 202, a calculation unit 203, and a forwarding unit 204. The acquisition unit 201 identifies the application type of the application layer data stream, acquires the service quality requirement parameters and business intent identifier that match the application type, and the service quality requirement parameters include at least the threshold indicators used to measure whether the link quality is qualified; it probes multiple candidate network paths and obtains the real-time quality indicators of each candidate network path. The filtering unit 202 filters candidate network paths based on the threshold indicators in the service quality requirement parameters to obtain a set of qualified paths; The calculation unit 203 determines the target calculation method that matches the business intent identifier, uses the target calculation method to calculate the real-time quality indicators of each path in the qualified path set, and obtains the path score corresponding to each path; sorts the qualified path set according to the path score, selects the path with the highest path score from the sorting results as the primary path, and selects the path with the second highest path score from the sorting results as the backup path. Forwarding unit 204 guides the application layer data stream to the primary path for forwarding; it monitors the current quality indicators of the primary path in real time, and if the current quality indicators do not meet the threshold indicators in the service quality requirements parameters, it seamlessly switches the application layer data stream to the backup path for forwarding.
[0116] In one possible implementation, the acquisition unit 201 is used to parse the service intent identifier and extract the service type label and service level label, wherein the service type label is the sensitivity of the data flow to network performance indicators, and the service level label is the priority level of the data flow when the network is congested; the calculation unit 203 is used to determine the service scenario based on the service type label; if the service type label is a real-time interactive service, it is determined to be a comprehensive quality priority scenario, and the weight coefficients of each quality indicator are determined based on the service level label; the target calculation method is determined to be a weighted summation algorithm based on the comprehensive quality priority scenario and the weight coefficients; if the service type label is a high-capacity transmission service, it is determined to be a specific resource priority scenario, and the target calculation method is determined to be a bandwidth evaluation algorithm based on the specific resource priority scenario.
[0117] In one possible implementation, the acquisition unit 201 is used to acquire a first candidate network path from the qualified path set, and to acquire real-time latency, real-time jitter, real-time packet loss rate, and link cost from the real-time quality indicators corresponding to the first candidate network path; the calculation unit 203 is used to map the real-time latency, real-time jitter, real-time packet loss rate, and link cost value respectively based on a preset inverse normalization function to obtain latency score, jitter score, packet loss rate score, and cost score; the weight coefficients corresponding to each quality indicator are used as the basic weight vector to obtain the current average load rate of the entire network; the basic weight vector is corrected according to the average load rate to obtain the dynamic weight coefficients of each quality indicator; the latency score, jitter score, packet loss rate score, and cost score are weighted and summed with their respective dynamic weight coefficients to obtain the path score corresponding to the first candidate network path.
[0118] In one possible implementation, the calculation unit 203 is used to divide the quality indicators in the basic weight vector to obtain a sensitive indicator set and a suppression indicator set. The sensitive indicator set includes latency indicators, jitter indicators, and packet loss rate indicators, while the suppression indicator set includes link cost indicators. The unit calculates the current congestion potential energy value by performing a reciprocal barrier function on the average load rate and the preset congestion sensitivity index. Based on the current congestion potential energy value, the unit performs nonlinear expansion and contraction calculations on each quality indicator in the sensitive indicator set and the suppression indicator set to obtain sensitive intermediate weight values and suppression intermediate weight values. The unit normalizes the sensitive intermediate weight values and the suppression intermediate weight values to obtain dynamic weight coefficients.
[0119] In one possible implementation, the acquisition unit 201 is used to acquire a second candidate network path from the qualified path set, and acquire the real-time available bandwidth value, real-time packet loss rate, and historical bandwidth variance value of the second candidate network path, wherein the historical bandwidth variance value is the fluctuation stability of the path bandwidth; the calculation unit 203 is used to calculate the link integrity coefficient based on the real-time packet loss rate; calculate the link stability coefficient based on the historical bandwidth variance value; multiply the link integrity coefficient, the link stability coefficient, and the real-time available bandwidth value to obtain the effective transmission capacity score of the second candidate network path; and determine the effective transmission capacity score as the path score of the second candidate network path.
[0120] In one possible implementation, the filtering unit 202 is used to parse the service quality requirement parameters to obtain latency threshold, jitter threshold, and packet loss rate threshold; select the current candidate network path from multiple candidate network paths, obtain the current latency value, current jitter value, and current packet loss rate of the current candidate network path, and retrieve historical quality data within a preset time window; perform predictive analysis based on the current latency value, current jitter value, and current packet loss rate and the historical quality data to calculate the predicted latency value and predicted jitter value of the current candidate network path at the next moment. The system calculates the current latency value, jitter value, and packet loss rate; it also checks whether the current latency value, jitter value, and packet loss rate are less than the latency threshold, jitter threshold, and packet loss rate threshold, and whether the predicted latency value, jitter value, and packet loss rate are less than the latency threshold, jitter threshold, and packet loss rate threshold, respectively. If the current latency value, jitter value, and packet loss rate are all less than the latency threshold, jitter threshold, and packet loss rate threshold, respectively, and the predicted latency value, jitter value, and packet loss rate are all less than the latency threshold, jitter threshold, and packet loss rate threshold, then the current candidate network path is included in the qualified path set.
[0121] In one possible implementation, the acquisition unit 201 is used to acquire the current quality index of the primary path in real time and compare the current quality index with the threshold index in the service quality requirement parameters; the calculation unit 203 is used to determine that the primary path has entered a suspected degradation state if the current quality index is detected to be greater than the threshold index, and record the current time as the abnormal start time; in the suspected degradation state, the latest quality index of the primary path is acquired; if the time difference between the current time and the abnormal start time is less than a preset tolerance time, and the latest quality index is detected to recover to less than or equal to the threshold index, the suspected degradation state is determined to be lifted, and the abnormal start time is cleared; the forwarding unit 204 is used to determine that the primary path is confirmed to be in a fault state if the latest quality index is still greater than the threshold index when the time difference between the current time and the abnormal start time is greater than or equal to the preset tolerance time; and seamlessly switch the application layer data stream from the primary path to the backup path based on the fault state.
[0122] It should be noted that the system provided in the above embodiments is only illustrated by the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the system and method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.
[0123] This application also discloses an electronic device. (See reference...) Figure 3 , Figure 3 This application provides a schematic diagram of the structure of an electronic device. The electronic device 300 may include: at least one processor 301, at least one network interface 304, a user interface 303, a memory 302, and at least one communication bus 305.
[0124] The communication bus 305 is used to enable communication between these components.
[0125] The user interface 303 may include a display screen and a camera. Optionally, the user interface 303 may also include a standard wired interface and a wireless interface.
[0126] The network interface 304 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface).
[0127] The processor 301 may include one or more processing cores. The processor 301 connects to various parts of the server using various interfaces and lines, and performs various server functions and processes data by running or executing instructions, programs, code sets, or instruction sets stored in memory 302, and by calling data stored in memory 302. Optionally, the processor 301 may be implemented using at least one hardware form of Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). The processor 301 may integrate one or a combination of several of the following: Central Processing Unit (CPU), Graphics Processing Unit (GPU), and modem. The CPU primarily handles the operating system, user interface, and application requests; the GPU is responsible for rendering and drawing the content required for display; and the modem handles wireless communication. It is understood that the modem may also not be integrated into the processor 301 and may be implemented as a separate chip.
[0128] The memory 302 may include random access memory (RAM) or read-only memory. Optionally, the memory 302 may include a non-transitory computer-readable storage medium. The memory 302 may be used to store instructions, programs, code, code sets, or instruction sets. The memory 302 may include a program storage area and a data storage area. The program storage area may store instructions for implementing an operating system, instructions for at least one function (such as touch functionality, sound playback functionality, image playback functionality, etc.), instructions for implementing the various method embodiments described above, etc. The data storage area may store data involved in the various method embodiments described above. Optionally, the memory 302 may also be at least one storage device located remotely from the aforementioned processor 301.
[0129] like Figure 3 As shown, the memory 302, which serves as a computer storage medium, may include an operating system, a network communication module, a user interface module, and an application for intelligent path selection based on a service level agreement.
[0130] exist Figure 3In the electronic device 300 shown, the user interface 303 is mainly used to provide an interface for users to input data and obtain user input data; while the processor 301 can be used to call the application program based on the service level agreement stored in the memory 302 for intelligent path selection. When executed by one or more processors, the electronic device performs one or more of the methods described in the above embodiments.
[0131] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0132] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0133] In the several embodiments provided in this application, it should be understood that the disclosed apparatus can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some service interfaces; indirect couplings or communication connections between devices or units may be electrical or other forms.
[0134] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0135] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0136] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage device (CMD). Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned memory includes various media capable of storing program code, such as USB flash drives, portable hard drives, magnetic disks, or optical disks.
[0137] The above description is merely an exemplary embodiment of this disclosure and should not be construed as limiting the scope of this disclosure. Any equivalent changes and modifications made in accordance with the teachings of this disclosure shall still fall within the scope of this disclosure. Those skilled in the art will readily conceive of other embodiments of this disclosure upon considering the specification and the disclosure of practical truths. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not described in this disclosure.
Claims
1. A smart path selection method based on a service level agreement, characterized in that, The method includes: Identify the application type of the application layer data stream, obtain the service quality requirement parameters and business intent identifier that match the application type, and the service quality requirement parameters include at least a threshold indicator for measuring whether the link quality is qualified. Multiple candidate network paths are probed to obtain real-time quality indicators for each candidate network path; The candidate network paths are filtered based on the threshold indicators in the service quality requirement parameters to obtain a set of qualified paths; Based on the business intent identifier, a matching target calculation method is determined. Using the target calculation method, the real-time quality indicators of each path in the qualified path set are calculated to obtain the path score corresponding to each path. The qualified path set is sorted according to the path score, and the path with the highest path score is selected as the primary path from the sorting results, and the path with the second highest path score is selected as the backup path from the sorting results. The application layer data stream is directed to the primary path for forwarding; The current quality indicators of the primary path are monitored in real time. If the current quality indicators do not meet the threshold indicators in the service quality requirement parameters, the application layer data stream is seamlessly switched to the backup path for forwarding.
2. The method according to claim 1, characterized in that, The step of determining the target calculation method matching the business intent identifier specifically includes: The service intent identifier is parsed to extract the service type label and service level label. The service type label is the sensitivity of the data flow to network performance indicators, and the service level label is the priority level of the data flow when the network is congested. The business scenario is determined based on the aforementioned business type label; If the business type tag is a real-time interactive business, it is determined to be a comprehensive quality priority scenario, and the weight coefficient of each quality indicator is determined based on the service level tag. Based on the comprehensive quality priority scenario and the weighting coefficients, the target calculation method is determined to be a weighted summation algorithm. If the service type label is a high-capacity transmission service, it is determined to be a specific resource priority scenario, and the target calculation method is determined to be a bandwidth evaluation algorithm based on the specific resource priority scenario.
3. The method according to claim 2, characterized in that, The step of using the target calculation method to calculate the real-time quality indicators of each path in the qualified path set to obtain the path score corresponding to each path specifically includes: Obtain a first candidate network path from the qualified path set, and obtain the real-time latency value, real-time jitter value, real-time packet loss rate, and link cost value from the real-time quality indicators corresponding to the first candidate network path; Based on a preset reverse normalization function, the real-time latency value, the real-time jitter value, the real-time packet loss rate, and the link cost value are mapped to obtain latency score, jitter score, packet loss rate score, and cost score. The weight coefficients corresponding to each of the quality indicators are used as the basic weight vector to obtain the current average load rate of the entire network. The basic weight vector is corrected based on the average load rate to obtain the dynamic weight coefficients of each quality indicator. The latency score, jitter score, packet loss rate score, and cost score are weighted and summed with their respective dynamic weight coefficients to obtain the path score corresponding to the first candidate network path.
4. The method according to claim 3, characterized in that, The step of correcting the basic weight vector based on the average load rate to obtain the dynamic weight coefficients of each quality indicator specifically includes: The quality indicators in the basic weight vector are divided into a sensitive indicator set and a suppression indicator set. The sensitive indicator set includes latency indicators, jitter indicators and packet loss rate indicators, and the suppression indicator set includes link cost indicators. The current congestion potential energy value is obtained by calculating the inverse barrier function of the average load rate and the preset congestion sensitivity index; Based on the current congestion potential energy value, nonlinear expansion and contraction calculations are performed on each of the quality indicators in the sensitive indicator set and the inhibition indicator set to obtain the sensitive intermediate weight value and the inhibition intermediate weight value. The sensitive intermediate weight value and the suppression intermediate weight value are normalized to obtain the dynamic weight coefficient.
5. The method according to claim 2, characterized in that, The step of using the target calculation method to calculate the real-time quality indicators of each path in the qualified path set to obtain the path score corresponding to each path specifically includes: Obtain a second candidate network path from the qualified path set, and obtain the real-time available bandwidth value, real-time packet loss rate and historical bandwidth variance value of the second candidate network path, wherein the historical bandwidth variance value is the fluctuation stability of the path bandwidth. Calculate the link integrity coefficient based on the real-time packet loss rate; Calculate the link stability coefficient based on the historical bandwidth variance value; The effective transmission capacity score of the second candidate network path is obtained by multiplying the link integrity coefficient, the link stability coefficient, and the real-time available bandwidth value. The effective transmission capacity score is determined as the path score of the second candidate network path.
6. The method according to claim 1, characterized in that, The step of filtering the candidate network paths based on the threshold indicators in the service quality requirement parameters to obtain a set of qualified paths specifically includes: The service quality requirement parameters are analyzed to obtain the latency threshold, jitter threshold, and packet loss rate threshold. Select the current candidate network path from multiple candidate network paths, obtain the current latency value, current jitter value and current packet loss rate of the current candidate network path, and retrieve historical quality data within a preset time window; Based on the current latency value, the current jitter value, the current packet loss rate, and the historical quality data, a predictive analysis is performed to calculate the predicted latency value, predicted jitter value, and predicted packet loss rate of the current candidate network path at the next moment. Determine whether the current latency value, the current jitter value, and the current packet loss rate are less than the latency threshold, the jitter threshold, and the packet loss rate threshold, and whether the predicted latency value, the predicted jitter value, and the predicted packet loss rate are less than the latency threshold, the jitter threshold, and the packet loss rate threshold; If the current latency value, the current jitter value, and the current packet loss rate are all less than the latency threshold, the jitter threshold, and the packet loss rate threshold, respectively, and the predicted latency value, the predicted jitter value, and the predicted packet loss rate are all less than the latency threshold, the jitter threshold, and the packet loss rate threshold, respectively, then the current candidate network path is included in the qualified path set.
7. The method according to claim 1, characterized in that, If the current quality metric does not meet the threshold metric in the service quality requirement parameters, the application layer data stream will be seamlessly switched to the backup path for forwarding, specifically including: The current quality index of the primary path is obtained in real time, and the current quality index is compared with the threshold index in the service quality requirement parameters; If the current quality index is detected to be greater than the threshold index, the primary path is determined to have entered a suspected deterioration state, and the current time is recorded as the abnormal start time. Under the suspected degradation state, obtain the latest quality index of the primary path; If the time difference between the current moment and the abnormal start time is less than a preset tolerance period, and the latest quality index is detected to have recovered to less than or equal to the threshold index, then the suspected deterioration state is determined to be resolved, and the abnormal start time is cleared. If the latest quality index is still greater than the threshold index when the time difference between the current moment and the abnormal start time is greater than or equal to the preset tolerance time, then the primary path is determined to be in a fault state. Based on the fault state, the application layer data stream is seamlessly switched from the primary path to the backup path.
8. A smart path selection system based on a service level agreement, characterized in that, The system includes an acquisition unit, a filtering unit, a calculation unit, and a forwarding unit. The acquisition unit identifies the application type of the application layer data stream, acquires service quality requirement parameters and business intent identifiers that match the application type, and the service quality requirement parameters include at least a threshold indicator for measuring whether the link quality is qualified; it also probes multiple candidate network paths to obtain the real-time quality indicators of each candidate network path. The filtering unit filters the candidate network paths according to the threshold index in the service quality requirement parameters to obtain a set of qualified paths; The calculation unit determines the target calculation method that matches the business intent identifier, uses the target calculation method to calculate the real-time quality index of each path in the qualified path set, and obtains the path score corresponding to each path; sorts the qualified path set according to the path score, selects the path with the highest path score from the sorting result as the primary path, and selects the path with the second highest path score from the sorting result as the backup path. The forwarding unit directs the application layer data stream to the primary path for forwarding; The current quality indicators of the primary path are monitored in real time. If the current quality indicators do not meet the threshold indicators in the service quality requirement parameters, the application layer data stream is seamlessly switched to the backup path for forwarding.
9. An electronic device, characterized in that, The device includes a processor, a memory, a user interface, and a network interface. The memory is used to store instructions, the user interface and the network interface are used to communicate with other devices, and the processor is used to execute the instructions stored in the memory to cause the electronic device to perform the method as described in any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores instructions that, when executed, perform the method as described in any one of claims 1-7.