Traffic scheduling method and device, electronic equipment and readable storage medium
By acquiring link quality parameters and service category ranges, the target link is dynamically selected to transmit service flows, solving the problem of insufficient bandwidth utilization caused by high-priority services monopolizing links. This enables traffic scheduling optimization in poor network environments, improving network resource utilization and user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- TP-LINK
- Filing Date
- 2026-03-26
- Publication Date
- 2026-06-19
AI Technical Summary
In enterprise network management and WAN interconnection scenarios, existing technologies often result in high-priority services monopolizing premium links, leading to insufficient bandwidth utilization. Furthermore, they lack the elasticity to maintain operation in poor network environments, which can easily cause network congestion and resource waste.
By acquiring link quality parameters, extracting the link quality parameter range corresponding to the service category, detecting matching links, and selecting a baseline link and tolerance range when no matching link is detected, the target link is selected to transmit the service flow, thereby achieving dynamic optimization and allocation of traffic.
It improves bandwidth utilization, reduces the risk of single-link congestion, enhances the overall utilization of network resources and the reliability of scheduled traffic, and improves user experience.
Smart Images

Figure CN122247928A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a traffic scheduling method, apparatus, electronic device, and readable storage medium. Background Technology
[0002] In enterprise network management and WAN interconnection scenarios, network links carry complex and diverse business traffic. Different types of services have different requirements for link quality. For example, core office traffic such as video conferencing and OA systems are sensitive to latency, jitter, and packet loss rate, and need to be prioritized to avoid lag; while background traffic such as large file transfers can easily consume a lot of network resources.
[0003] Related technologies typically periodically test the quality of each link and calculate a weighted score, allocating high-priority traffic to the link with the highest score while forcibly migrating other traffic to the next best link. However, this approach suffers from the problem of high-priority services monopolizing high-quality links, leading to significant resource idleness and insufficient bandwidth utilization if high-priority services do not reach peak bandwidth. Summary of the Invention
[0004] This application provides a traffic scheduling method, apparatus, electronic device, and readable storage medium that can improve the bandwidth utilization of traffic scheduling.
[0005] The technical solution of this application embodiment is implemented as follows: This application provides a traffic scheduling method, the method comprising: Obtain multiple link quality parameters for each of the multiple links; Extract the current service category to which the service flow to be scheduled belongs, wherein the current service category is set with a corresponding link quality parameter range; Based on multiple link quality parameters, a matching link is detected, wherein the matching link is the link whose link quality parameters are all within the link quality parameter range corresponding to the current service category; If no matching link is detected, a benchmark link is selected from multiple links based on the current service category and multiple link quality parameters, and a tolerance range is set based on the link quality parameters of the benchmark link. The target link is then selected from the links whose link quality parameters are within the tolerance range. The scheduled service flow is transmitted through the target link.
[0006] This application provides a traffic scheduling device, the device comprising: The acquisition module is used to acquire multiple link quality parameters for each of the multiple links; The extraction module is used to extract the current service category to which the service flow to be scheduled belongs, wherein the current service category is set with a corresponding link quality parameter range; The detection module is used to detect matching links based on multiple link quality parameters, wherein the matching link is a link in which all the link quality parameters are within the link quality parameter range corresponding to the current service category; The selection module is used to select a benchmark link from multiple links based on the current service category and multiple link quality parameters when no matching link is detected, and to set a tolerance range based on the link quality parameters of the benchmark link, and to select the target link from the links whose link quality parameters are within the tolerance range. The scheduling module is used to transmit the scheduled service flow through the target link.
[0007] This application provides an electronic device, the electronic device comprising: Memory is used to store executable instructions or computer programs. When a processor executes computer-executable instructions or computer programs stored in the memory, it implements the traffic scheduling method provided in the embodiments of this application.
[0008] This application provides a computer-readable storage medium storing a computer program or computer-executable instructions for implementing the traffic scheduling method provided in this application when executed by a processor.
[0009] This application provides a computer program product, including a computer program or computer executable instructions. When the computer program or computer executable instructions are executed by a processor, they implement the traffic scheduling method provided in this application.
[0010] The embodiments of this application have the following beneficial effects: By identifying a baseline link based on link quality parameters when no matching link is detected, and setting a tolerance range based on the values of the baseline link's link quality parameters, the scope of traffic routing is expanded from a single line to a set of lines. This allows for the selection of relatively high-quality links to maintain service operation even in extreme cases where link quality is generally substandard. Furthermore, it effectively disperses traffic pressure that might otherwise flow to a single optimal link, reducing the risk of single-link congestion and improving the overall utilization of network resources. In addition, by extracting the link quality parameter range corresponding to service categories and prioritizing the allocation of traffic to be scheduled to links that meet the performance requirements, the reliability of traffic transmission and user experience are improved. Attached Figure Description
[0011] Figure 1 This is a schematic diagram of the traffic scheduling system architecture provided in the embodiments of this application; Figure 2 This is a schematic diagram of the traffic scheduling device provided in the embodiments of this application; Figure 3 This is a flowchart illustrating the traffic scheduling method provided in an embodiment of this application; Figure 4 This is a schematic diagram of the process of adding specific tags to a link according to an embodiment of this application; Figure 5 This is a schematic diagram of the network topology and service configuration under the alternative routing degradation condition provided in the embodiments of this application; Figure 6 This is a schematic diagram illustrating the calculation process of execution link priority queuing provided in an embodiment of this application; Figure 7 This is a schematic diagram of the calculation process for achieving load balancing by setting a tolerance range, provided in an embodiment of this application. Figure 8 This is a decision flowchart of the traffic scheduling method provided in the embodiments of this application.
[0012] It should be noted that the terms "first" and "second" mentioned above are only used to distinguish between different options and do not represent the degree of superiority or inferiority of the options or their priority in the implementation process. Detailed Implementation
[0013] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0014] In the following description, the terms "first, second, third" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
[0015] Unless otherwise defined, all technical and scientific terms used in the embodiments of this application have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in the embodiments of this application is for the purpose of describing the embodiments of this application only and is not intended to limit this application.
[0016] In related technologies, during traffic scheduling, the latency, packet loss rate, jitter, and other quality metrics (i.e., link quality data) of all network links are periodically monitored, and each link is scored overall using a preset weighted scoring formula. During scheduling, the terminal primarily selects routes strictly based on the relative scores of the links. That is, once a high-priority specific service flow is detected, it is assigned to the single optimal link with the highest overall score. Simultaneously, to ensure the transmission quality of this high-priority traffic, the terminal performs a forced avoidance step, migrating all low-priority service flows or non-core traffic on the current optimal link to other, less optimal links with lower scores, ensuring that high-priority traffic exclusively occupies the optimal link.
[0017] However, the aforementioned scheduling steps in related technologies inevitably lead to several technical problems. First, following the "calculate the relative highest score and allocate traffic" step, the system can only set one relative standard, ensuring traffic flow for only a single category. If multiple service flows with different demands are to be scheduled simultaneously, this logic will cause all high-demand traffic to surge towards the same highest-score link, ultimately leading to network congestion. Second, when executing the "forced migration of low-priority services" avoidance step, this link switching mode may cause existing connections to break, triggering a large number of packet retransmissions and reducing the user experience for ordinary services. Furthermore, if high-priority traffic fails to fully consume the bandwidth of the optimal link, this exclusive step will directly waste valuable network resources. In addition, when the network environment is poor and there are no high-quality links, the related technologies lack flexible degradation maintenance steps, easily leading to the instantaneous overload of the selected relatively better link.
[0018] Based on the problems existing in related technologies, embodiments of this application provide a traffic scheduling method, apparatus, electronic device, and readable storage medium, which can improve the bandwidth utilization of traffic scheduling. The exemplary application of the traffic scheduling device provided in this application embodiment is described below. The electronic device provided in this application embodiment can be implemented as a network device, such as a laptop, tablet, desktop computer, set-top box, smartphone, router, gateway, firewall, scheduler, and other types of terminals, or it can be implemented as a server. The exemplary application when the device is implemented as a terminal will be described below.
[0019] See Figure 1 , Figure 1 This is a schematic diagram of the architecture of the traffic scheduling system 100 provided in this application embodiment. To perform traffic scheduling operations, a traffic scheduling application installed on a terminal can be provided. The terminal 400 is connected to the server 200 through a network 300, which can be a wide area network, a local area network, or a combination of both.
[0020] See Figure 2 , Figure 2This is a schematic diagram of the structure of the terminal 400 provided in the embodiment of this application. Figure 2 The terminal 400 shown includes at least one processor 410, a memory 450, at least one network interface 420, and a user interface 430. The various components in the terminal 400 are coupled together via a bus system 440. It is understood that the bus system 440 is used to implement communication between these components. In addition to a data bus, the bus system 440 also includes a power bus, a control bus, and a status signal bus. However, for clarity, ... Figure 2 All buses are designated as bus system 440. Processor 410 may be an integrated circuit chip with signal processing capabilities. User interface 430 includes one or more output devices 431 that enable the presentation of media content, and also includes one or more input devices 432. Memory 450 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard disk drives, optical disk drives, etc. Memory 450 is capable of storing data to support various operations, examples of which include programs, modules, and data structures or subsets or supersets thereof, as illustrated below. Operating system 451 includes system programs for handling various basic system services and performing hardware-related tasks; network communication module 452 for reaching other electronic devices via one or more network interfaces 420; presentation module 453 for enabling the presentation of information via one or more output devices 431 associated with user interface 430; and input processing module 454 for detecting and translating one or more user inputs or interactions from one or more input devices 432.
[0021] In some embodiments, the traffic scheduling device provided in this application can be implemented in software. Figure 2 A traffic scheduling device 455 stored in memory 450 is shown. This device can be software in the form of programs and plug-ins, and includes the following software modules: an acquisition module 4551, an extraction module 4552, a detection module 4553, a selection module 4554, and a scheduling module 4555. These modules are logically connected and can therefore be arbitrarily combined or further separated according to the functions they implement. The functions of each module will be described below.
[0022] See Figure 3 , Figure 3 This is a flowchart illustrating the traffic scheduling method provided in the embodiments of this application. Figure 1 , will combine Figure 3 The steps shown are explained as follows: Figure 3 As shown, the method is illustrated by taking the terminal as the execution subject of the traffic scheduling method. The method includes the following steps 101 to 105.
[0023] In step 101, multiple link quality parameters for each of the multiple links are obtained.
[0024] Here, a link refers to a physical or logical channel in a communication network that connects two nodes and is capable of carrying data packet transmission. In this application, a link is the smallest unit for traffic scheduling, and each link has independent and detectable link quality attributes. For example, a link can refer to a specific network access medium, such as wired broadband (fiber optic, Ethernet), wireless local area network (Wi-Fi), cellular mobile network (such as 4G, 5G, 6G, etc.), satellite communication link, etc. In the embodiments of this application, multiple links can have different operator attributes, different access technologies (such as dual Wi-Fi and 5G connectivity), or different transmission protocols. The terminal can perform real-time quality evaluation (reflected by link quality parameters) on these parallel links, thereby achieving dynamic optimization allocation of service flows among different links.
[0025] Here, link quality parameters refer to a set of quantitative indicators that characterize the transmission performance of a communication link, such as latency, packet loss, jitter, and available bandwidth.
[0026] In some embodiments, multiple links can be constructed through physical or logical paths such as Wi-Fi networks, cellular mobile networks (such as 5G / 4G), and multiple VPN tunnels that the terminal can connect to simultaneously. The link quality parameters of each link can be collected in real time through the network detection unit or underlying driver interface built into the terminal operating system.
[0027] In some embodiments, obtaining multiple link quality parameters can be achieved by the terminal periodically sending detection packets to a remote server using a network quality analysis protocol (such as Network Quality Analysis, NQA) or a bidirectional forwarding detection mechanism (such as Bidirectional Forwarding Detection, BFD), and maintaining a sliding window to record measurement values over a recent period. For example, the weighted average of multiple sampled values measured within the sliding window can be used as the current latency or packet loss rate parameter of the link.
[0028] In step 102, the current service category to which the service flow to be scheduled belongs is extracted.
[0029] The current service category has a corresponding range of link quality parameters.
[0030] Here, the service category refers to the logical label that divides applications according to their functional characteristics and sensitivity to network quality (link quality parameters), such as network control, signaling, operation and maintenance, voice, broadcast-level video, real-time interactive video, etc. Each category is associated with a set of preset SLA (Service Level Agreement) absolute threshold ranges.
[0031] In some embodiments, different service categories have different traffic characteristics. Specific service categories, corresponding application examples, and traffic characteristics are shown in Table 1: Table 1. Examples of applications and traffic characteristics corresponding to the service categories of the service flows to be scheduled.
[0032] As shown in Table 1, different application categories have varying sensitivities to network quality (link quality parameters). Related technologies typically use a unified formula (Score = Latency + Jitter + Packet Loss) to select a link with the "absolute highest score." However, a link with a slightly lower score (e.g., slight packet loss) but sufficient bandwidth may be more suitable for transmitting large amounts of data, such as FTP, compared to a high-scoring link. In these technologies, FTP might occupy the highest-scoring lossless link, which is urgently needed for voice services, leading to resource mismatch. This results in momentary congestion of high-quality links while other links are left idle and wasted. Therefore, for each service category, this application embodiment no longer calculates the relative score of the link, but instead provides a specific range of link quality parameters (SLA Class parameters, i.e., service level agreement category, which includes a set of preset link quality indicator ranges) that can ensure its normal operation. For example, it stipulates that the absolute standard for VoIP applications is latency <150ms and packet loss <0.1%, and uses the specified range of link quality parameters to measure whether the link can carry the service flow to be scheduled, thereby achieving on-demand allocation instead of allocating based on high scores, and improving the bandwidth utilization of traffic scheduling.
[0033] As an example, when a service flow to be scheduled is found to belong to a certain category in the table, the system directly searches for links that meet the absolute standards of the SLA for that service category (i.e., links with the corresponding tag for that service category). In this way, voice traffic and FTP traffic can be allocated on demand and transmitted on links that meet their respective absolute standards, achieving global concurrency protection for multiple types of traffic and avoiding excessive traffic concentration.
[0034] In some embodiments, the service flow to be scheduled can consist of network request messages initiated by the terminal application layer, and its service category can be identified and associated by reading message header features, application packet name or service 5-tuple information (source IP, destination IP, source port, destination port, protocol type).
[0035] In some embodiments, the link quality parameter range corresponding to the current service category can be extracted in the following way: the terminal queries a preset service requirement mapping table (SLA Class library) to obtain the numerical range of the maximum tolerable latency, maximum packet loss rate, etc., corresponding to the category. For example, for the "voice application" category, the retrieved link quality parameter range is latency less than 150ms, packet loss rate less than 0.1%, and jitter less than 50ms.
[0036] In step 103, a matching link is detected based on multiple link quality parameters.
[0037] Among them, a matching link is a link whose link quality parameters are all within the link quality parameter range corresponding to the current service category.
[0038] Here, a matching link refers to a compliant link that meets the "absolute standard" (i.e., the range of link quality parameters) of the current business operation in all performance indicators. This link can ensure that the application has a standard user experience when it is transmitted on this path.
[0039] In some embodiments, the link quality parameters to be matched can be the real-time average values of each link within a time window calculated in step 101, and the matching criteria can be the link quality parameter range determined in step 102.
[0040] In some embodiments, the detection of matching links can be achieved by logically comparing the real-time parameter values of each link with the link quality parameter ranges of all service categories, and adding a corresponding service category tag (TAG) to the links that meet the conditions. For example, if the latency of link A is 100ms (less than 150ms) and there is no packet loss, then link A is determined to be a matching link for voice services.
[0041] In some embodiments, the detection of matching links based on multiple link quality parameters in step 103 can be implemented through steps 1031 to 1034. If steps 1031 to 1034 are implemented, step 105 is performed after step 1035.
[0042] In step 1031, the link quality parameter ranges corresponding to multiple service categories are obtained.
[0043] Here, the link quality parameter range refers to the range of acceptable values for various network physical performance indicators that are predefined for different types of network services to ensure basic service quality.
[0044] In some embodiments, the link quality parameter ranges corresponding to multiple service categories can be obtained by reading the service level protocol configuration database or local policy file of the network management system.
[0045] In some embodiments, obtaining the link quality parameter ranges corresponding to multiple service categories can be achieved by parsing the service quality configuration file, extracting the upper and lower limits of thresholds such as latency and packet loss rate for various services, and mapping them into a multi-dimensional interval vector. For example, the terminal reads the latency interval constraints of the voice service, parses them, and constructs them into an interval vector. .
[0046] In step 1032, for each of the multiple links, the link quality parameters of the link are compared with the link quality parameter ranges corresponding to the multiple service categories.
[0047] Here, comparison refers to the operation of logically verifying and judging the range of the link quality parameters collected in real time against the preset service qualification standard range.
[0048] In step 1033, if all link quality parameters are within the link quality parameter range corresponding to a specific service category, a label corresponding to the specific service category is added to the link.
[0049] Here, a tag refers to a data marker used in the control plane to identify that a link has met a specific service transmission standard.
[0050] In some embodiments, labels corresponding to specific business categories can be constructed by extending custom metadata fields in the routing table or the flow classification table of multiprotocol label exchange.
[0051] As an example, see Figure 4 , Figure 4 The specific process for adding a specific tag to a link is illustrated. First, the terminal performs the operation through the link state parameter API in the NQA module: 1. Obtain detection data for all links from the NQA module.
[0052] During this stage, the terminal collects raw physical metrics of each underlying physical or logical link in real time. The specific measured data are as follows: For link WAN1, the measured data are: Jitter_average: 50ms, Loss_average: 0, Latency_average: 50ms, Spare_bandwidth: 200Mbps; for link WAN2, the measured data are: Jitter_average: 2ms, Loss_average: 2%, Latency_average: 10ms, Spare_bandwidth: 10Mbps; for link WAN3, the measured data are: Jitter_average: 100ms, Loss_average: 5%, Latency_average: 300ms, Spare_bandwidth: 500Mbps; and for link xfrmi_35525, the measured data are: Jitter_average: 100ms, Loss_average: 5%, Latency_average: 300ms, Spare_bandwidth: 20Mbps.
[0053] Meanwhile, the terminal internally maintains multiple sets of link quality parameter ranges (i.e., SLA standards) corresponding to different service categories. Figure 4 The left side shows four typical business categories and their standards: sla_default (default service): Its metrics range is Jitter: 300ms, Loss: 5%, Latency: 600ms, Bandwidth: 1000Kbps, and its routing criterion is Criteria: Bandwidth; sla_Multimedia (multimedia service): Its metrics range is Jitter: 200ms, Loss: 10%, Latency: 500ms, Bandwidth: 1500Kbps; sla_Internetwork_ctrl (network control service): Its metrics range is Jitter: 300ms, Loss: 5%, Latency: 600ms, Bandwidth: 10 ... Jitter: 50ms, Loss: 0, Latency: 100ms, Bandwidth: 1500Kbps, with Criteria: Latency as the key criterion and a tolerance of Latency_variance: 15ms; sla_VoIP (voice service): with Jitter: 10ms, Loss: 0, Latency: 10ms, Bandwidth: 1000Kbps, with Criteria: Latency as the key criterion and a tolerance of Latency_variance: 15ms.
[0054] Subsequently, the terminal enters the SLA classification process and performs the following operation: 2. Classify the link according to the specific data and SLA standards.
[0055] During this process, the terminal compares the real-time detection values of each link with the link quality parameter ranges for each service category item by item. Based on the comparison results, the terminal adds corresponding Meet_SLAs (labels that meet the requirements of being within the link quality parameter range) to each link, thus obtaining the classified link status: For link WAN1, all its indicators are within the range of network control services and multimedia services, so we add the tags: sla_Internetwork_ctrl (network control services) and sla_Multimedia (multimedia services). For link WAN2, its metrics meet the standards for network control services and multimedia services. Add the tags: sla_Internetwork_ctrl (network control services) and sla_Multimedia (multimedia services). For link WAN3, due to its high latency and packet loss, it is only within the tolerance range of multimedia services, so add the tag: sla_Multimedia (multimedia services). For link xfrmi_35525, it also only meets the requirements of multimedia services, so add the tag: sla_Multimedia (multimedia service).
[0056] Finally, the terminal performs the following operation: 3. Synchronize the classified results to the link information management module.
[0057] Through this operation, the aforementioned tagged link information is uniformly stored in the link information management module, so that when the actual business flow arrives, the scheduling engine can directly and quickly lock the target path from the corresponding link set according to the business category to which the message belongs.
[0058] In step 1034, links with tags that match the current business category are identified as candidate links, and matching links are selected from the candidate links.
[0059] Here, candidate links refer to one or more available network paths that have been pre-labeled and meet the quality of service requirements of the traffic to be scheduled in terms of performance metrics.
[0060] In some embodiments, the identifier of the current service category can be obtained by parsing the quintuple features or application layer signatures of the data packets to be scheduled using deep packet inspection technology.
[0061] In some embodiments, identifying links with tags that match the current business category as candidate links and selecting a matching link can be achieved by retrieving links containing the current business category identifier to form a set of candidate links, and then outputting a specific link from the set.
[0062] In some embodiments, selecting a matching link from candidate links in step 1034 can be achieved through the following step 10341.
[0063] In step 10341, when there are multiple candidate links, a matching link is selected according to a preset load balancing strategy.
[0064] Here, load balancing strategy refers to a predefined traffic distribution algorithm that aims to reasonably distribute the traffic to be scheduled onto multiple candidate paths that meet the performance standards, so as to improve network resource utilization and avoid local link congestion.
[0065] In some embodiments, the preset load balancing policy can be globally issued by the configuration instructions of the network management plane and stored in the policy control index of the traffic scheduling module.
[0066] In some embodiments, selecting a matching link according to a preset load balancing strategy can be achieved by executing a consistent hashing algorithm or a weighted round-robin algorithm. For example, suppose the set of candidate links is... ,in This represents the total number of candidate links. The terminal extracts the characteristic information of the service flow to be scheduled (such as a 5-tuple consisting of source IP, destination IP, source port, destination port, and protocol number) to generate a flow identifier. Using hash functions The flow identifier is calculated to obtain the index value of the matching link. Listed in: ,in, This indicates that the selected matching link is in the set. The logical index position in (the range of values is...) arrive ); This represents the integer value obtained by hashing the convection characteristics. This represents the modulo operation; This indicates the total number of currently available candidate links. For example, if there are currently three candidate links... ,Right now For a specific real-time video stream, its 5-tuple is obtained through hash operation. The value is Calculated by executing the formula: Based on the calculation results, the terminal indexes the candidate set as follows: Extract the corresponding link identifier from the location, that is, extract the link... The link has been identified as a match.
[0067] This application embodiment introduces a preset load balancing strategy after selecting multiple candidate links that meet the performance standards relative to the traffic to be scheduled. Based on the characteristics of the traffic to be scheduled, the traffic is evenly distributed to each candidate link. This achieves global allocation of network physical bandwidth resources while ensuring that the Service Link Quality Parameter Range (SLA) constraints are met. It avoids instantaneous link overload caused by uneven resource allocation and enhances the traffic scheduling performance and the overall robustness of the traffic scheduling architecture.
[0068] In step 1035, the matching link is selected as the target link.
[0069] In some embodiments, the matching link can be used as the target link by directly writing the port index or next-hop address of the matching link into the hardware forwarding information base to guide the actual packet forwarding in the data plane.
[0070] This application's embodiments achieve decoupling between the underlying performance of the links and the upper-layer business standards by pre-calculating parameter measurements and interval comparisons, and adding tags to each link through periodic pre-evaluation. When the actual service to be scheduled arrives, only a low-complexity tag retrieval and matching operation is needed to determine the matching link (and use the matching link as the target link). This logic mechanism of pre-calculating and adding tags in the background and directly forwarding according to tags in the front end not only ensures that the scheduling results conform to the business quality standards in the parameter dimension, achieving deterministic service assurance, but also reduces the forwarding latency caused by real-time flow-by-flow multi-dimensional calculations, and improves the overall throughput performance of the traffic scheduling method under massive concurrent requests.
[0071] In step 104, if no matching link is detected, a benchmark link is selected from multiple links based on the current service category and multiple link quality parameters, and a tolerance range is set based on the link quality parameters of the benchmark link. Then, a target link is selected from the links whose link quality parameters are within the tolerance range.
[0072] Here, the tolerance range refers to a set of relaxed parameters defined by taking the best-performing link as the benchmark and allowing fluctuations within a certain range in the extreme case where all links fail to meet the standard (no matching link is detected).
[0073] In some embodiments, the selection criteria for the baseline link can be derived from the current link parameter snapshot through a sorting algorithm based on the weight preference of the service category (such as voice preferring low packet loss, and game preferring low latency).
[0074] In some embodiments, setting a tolerance range and selecting a target link can be achieved as follows: First, links are prioritized according to the service's preset "alternative routing criteria," and the optimal link is selected as the baseline link; then, a tolerance window is calculated based on a preset variance value. For example, if the baseline link latency is 110ms and a tolerance value of 10ms is set, all links with latency between 110ms and 120ms are considered target links, thereby expanding the routing range while achieving a "relatively optimal selection" and avoiding single-link congestion.
[0075] In some embodiments, the selection of a reference link from multiple links based on the current service category and multiple link quality parameters in step 104 can be achieved through steps 1041 to 1042.
[0076] In step 1041, the link quality parameter type with the highest priority is determined according to the preset priority sequence corresponding to the current service category, and is taken as the optimal link quality parameter type.
[0077] Here, the preset priority sequence refers to the ranking rules of key performance indicators (KPIs) for different network service types, based on their sensitivity to link quality parameters such as network jitter, latency, packet loss rate, and bandwidth.
[0078] In some embodiments, a preset priority sequence can be stored in the device's configuration database and indexed by the identifier of the current service category. For example, when the current service category is a real-time voice service, its corresponding preset priority sequence is set to "latency > packet loss rate > jitter > bandwidth"; when the current service category is a large-capacity download service, its corresponding preset priority sequence can be set to "bandwidth > packet loss rate > latency > jitter".
[0079] In some embodiments, determining the link quality parameter with the highest priority can be achieved by querying a preset priority sequence that matches the current service category and extracting the parameter identifier that is in the first order of the sequence. For example, the preset priority sequence can be defined as a vector. ,in These represent different parameter types. If the current business is a real-time interactive type, and the terminal retrieves... Then, by parsing the first element of the vector, "Latency" is determined as the optimal link quality parameter type.
[0080] In step 1042, the link with the best link quality parameter type among the multiple links is selected as the baseline link.
[0081] Here, the benchmark link refers to the specific network path that is selected as the performance reference anchor point when multiple links do not meet the preset link quality parameter range, and whose core indicators are statistically closest to the business requirements.
[0082] In some embodiments, the link with the best link quality parameters corresponding to the best link quality parameter type is used as the benchmark link, which can be achieved through an extreme value optimization algorithm. For example, suppose the set of multiple links is... For each link The optimal link quality parameters correspond to the following link quality parameters: If the optimal link quality parameter type is a negative indicator (such as latency, packet loss), then the baseline link... The determination logic is as follows: ,in, Indicates a specific base link identifier; This represents the link index that minimizes the parameter value. Indicates the first The measured values for latency or packet loss on each link. If the optimal link quality parameter is a positive indicator (such as bandwidth), then the baseline link... for: ,in, This represents the link index where the parameter value reaches its maximum. For example, if the current service is video conferencing, and the determined optimal link quality parameter type is latency, then the measured link index... The delay is ,link The delay is ,link The delay is The terminal determines this by performing a comparison. To achieve the optimal value, thus link It was determined to be the base link.
[0083] As an example, see Figure 5 and Figure 6 , Figure 5 This diagram illustrates the network topology and service configuration under the alternative routing degradation scenario (no matching link). Figure 6 Combination Figure 5 The specific calculation process for configuring execution link priority queuing. For example... Figure 5 As shown, the network topology contains a core routing device with a terminal computer connected to it. This terminal is initiating Voice traffic (i.e., voice service flow, a service flow to be scheduled). The routing device is connected to three different Internet Service Provider networks (links) upstream, namely ISP1, ISP2, and ISP3, and is connected to them through three independent tunnels, labeled T1, T2, and T3 respectively.
[0084] For this Voice traffic, the terminal has pre-configured judgment criteria based on the Service Level Agreement, such as... Figure 5 The text box in the lower right corner shows that its service category is defined as SLA-class voice; the absolute parameters required to ensure normal operation are: latency: 50ms (maximum latency tolerance is 50 milliseconds), loss: 0% (packet loss rate must be 0%), and jitter: 10ms (maximum jitter tolerance is 10 milliseconds). Simultaneously, to prevent all links from deteriorating to the point where no link can be used for transmission, the terminal is configured with a priority sequence of backup routing strategies for this service, namely fallback-best-tunnel (best link quality parameter type): loss, latency. This indicates that for voice services, when performing degraded relative routing, the core parameter is packet loss, followed by latency.
[0085] Figure 6 It shows in detail the time Figure 5 When the absolute standard cannot be met, the terminal triggers the backup routing strategy to derive the underlying calculation process of the final reference link.
[0086] like Figure 6 As shown at the top, the terminal first obtains the current set of candidate links, which contains real-time measurement data for three tunnels: TunnelT1: Latency: 110msec, Loss: 0.05%, Jitter: 20msec; TunnelT2: Latency: 120msec, Loss: 0.07%, Jitter: 10msec; TunnelT3: Latency: 110msec, Loss: 0%, Jitter: 22msec.
[0087] Comparison revealed that the measured latency (110, 120, 110 msec) for T1, T2, and T3 were all greater than [missing value]. Figure 5 The required absolute standard (50ms) failed to match the absolute SLA (no matching link detected).
[0088] At this point, the terminal strictly calls... Figure 5 The fallback-best-tunnel configuration (best link quality parameter type) includes loss and latency priority sequence rules, which logically queue all links for "relatively optimal selection".
[0089] like Figure 6 As shown in the middle section, the terminal first performs a pre-sorting of the secondary weight parameters, i.e., sorting according to latency. During this stage, the order of the candidate link set is updated as follows: First place: TunnelT1: Latency: 110msec, Loss: 0.05%, Jitter: 20msec (due to the lowest latency). Second place: TunnelT3: Latency: 110msec, Loss: 0%, Jitter: 22msec; Last digit: TunnelT2: Latency: 120msec, Loss: 0.07%, Jitter: 10msec.
[0090] Subsequently, as Figure 6 As shown at the bottom, the terminal performs the primary sorting based on the most critical weight parameter, namely, sorting by loss. Based on the existing latency sorting, the terminal reorders the requests with packet loss rate as the first priority criterion. The final output sorted set of candidate links is as follows: First place: TunnelT3: Latency: 110msec, Loss: 0%, Jitter: 22msec (due to its 0% loss, it performed best in the main feature comparison and was successfully ranked first). Second best: TunnelT1: Latency: 110msec, Loss: 0.05%, Jitter: 20msec (second best loss). Last place: TunnelT2: Latency: 120msec, Loss: 0.07%, Jitter: 10msec (Worst Loss).
[0091] Through the above combination Figure 5 The configuration rules for the fallback-best-tunnel optimal link quality parameter type and Figure 6 The interconnected process of multi-level sorting calculations at the underlying level allows the terminal to accurately determine TunnelT3, which ranks first in the final set, as the relatively optimal baseline link. Therefore, Figure 5 In the final presentation, the dashed arrow representing Voice traffic is ultimately directed by the scheduling engine to tunnel T3 leading to ISP3.
[0092] This application's embodiments determine the optimal link quality parameter type by introducing a preset priority sequence corresponding to the current service category, logically achieving precise anchoring of the core performance requirements of a specific service. Furthermore, it performs single-dimensional extreme value optimization for this optimal link quality parameter type, establishing the link with the optimal parameter type value as the benchmark link. Through the traffic scheduling method of this application's embodiments, the interference of fluctuations in non-critical network parameters (link quality parameters) is shielded to a certain extent, ensuring that the selected benchmark link can provide optimal protection in the current network environment at the most sensitive physical dimension for the current service category. Therefore, this mechanism overcomes, to some extent, the defect of multi-parameter weighted algorithms that easily mask the disadvantages of a single core indicator, maximizing the maintenance of basic availability and transmission quality for different types of services in suboptimal network environments, and laying a reliable data foundation for subsequently constructing a scientific tolerance range based on this benchmark link. It avoids the problem that traditional multi-parameter comprehensive weighted routing schemes are easily interfered with by the weights of non-critical indicators when the overall network environment degrades, leading to the selection of suboptimal links with acceptable overall scores but compromised core service indicators (such as latency indicators for voice services), thus causing service unavailability.
[0093] In some embodiments, the tolerance range for setting the link quality parameters based on the reference link in step 104 can be achieved through steps 1043 to 1045.
[0094] In step 1043, the link quality parameter corresponding to the best link quality parameter type is determined from multiple link quality parameters of the reference link and used as the reference parameter value.
[0095] Here, the baseline parameter value refers to the optimal physical measurement value that can be achieved under the current network environment for the core performance requirements of a specific business.
[0096] In some embodiments, determining the link quality parameter corresponding to the optimal link quality parameter type as the benchmark parameter value can be achieved by extracting the current time value of the data field corresponding to the optimal link quality parameter type from the real-time performance dataset of the benchmark link. For example, if the optimal link quality parameter type is one-way transmission delay, and the currently measured one-way transmission delay of the benchmark link is... Then The value is used as a baseline parameter value.
[0097] In step 1044, a first range is set based on the reference parameter value.
[0098] Here, the first range refers to a numerical fluctuation range with upper and lower limits defined by taking the current optimal network indicators as the benchmark and combining the acceptable performance degradation tolerance of the business.
[0099] In some embodiments, the floating coefficient or absolute offset on which the first range depends can be determined by pre-reading the network controller's configuration file or by dynamically calculating based on a historical network congestion model.
[0100] In some embodiments, setting a first range based on a reference parameter value can be achieved by multiplying the reference parameter value by a preset floating ratio, or by adding a fixed numerical offset to determine the boundary of the interval. For example, suppose the reference parameter value is... The preset floating ratio is (in If the parameter is a negative indicator (such as latency), then the first range The calculation formula is expressed as follows: Assuming , Then the first range is calculated. .
[0101] In step 1045, the first range is defined as the tolerance interval.
[0102] Here, the tolerance range refers to the final judgment standard range used to re-select available links in the extreme case where all links fail to meet the standard (no matching link is detected). Links within the tolerance range will be regarded as alternative qualified links by the terminal.
[0103] In some embodiments, the determined tolerance range can be written into the policy routing memory structure of the forwarding engine to guide subsequent packet distribution operations.
[0104] In some embodiments, the first range can be defined as the tolerance interval by mapping the data structure of the first range to the tolerance interval variable through memory assignment or configuration instructions, so as to trigger subsequent link matching logic.
[0105] As an example, see Figure 7 , Figure 7 This illustrates a specific computational example of expanding the alternative baseline links from a single link to multiple links to achieve load balancing by setting tolerance intervals. For example... Figure 7 As shown in the upper part, the terminal has pre-configured SLA attributes and degradation routing rules for video services. The specific configuration text includes: the service category is defined as sla-classvideo; the absolute indicator parameters required to ensure normal operation are latency cap: 100 and jitter cap: 150; and the fallback-best-tunnel priority sequence is configured as latency, meaning that latency is used as the best link quality parameter type when degrading routing.
[0106] like Figure 7 The lower half shows that the terminal has obtained the real-time link quality parameters of the current three links: TunnelT1:Latency:110msec, Loss:5%, Jitter:200msec; TunnelT2:Latency:115msec, Loss:8%, Jitter:100msec; TunnelT3: Latency: 120msec, Loss: 0%, Jitter: 220msec.
[0107] The terminal first performs a comparison and determination: the measured latency (110, 115, and 120 ms) of tunnels T1, T2, and T3 all exceed the absolute standard latency: 100, and none of the three tunnels meet the original SLA standard. Subsequently, the terminal selects the best tunnel (i.e., the baseline link) according to the fallback-best-tunnel:latency rule. At this stage, since Tunnel T1 has the lowest latency (110 ms), it is established as the baseline link by the terminal. The terminal then extracts the baseline parameter value of the best link quality parameter for this baseline link, i.e., best_latency = 110 ms.
[0108] Furthermore, to prevent all such service traffic from flooding a single TunnelT1 and causing congestion, the terminal introduces a latency tolerance parameter (Latency Variance) to set a first range.
[0109] If no tolerance is set in the terminal (i.e., when the Latency Variance is set to 0), the first range is only a fixed value, and the selected target link is the tunnel with the lowest latency, which is a single TunnelT1.
[0110] In this embodiment, assuming the terminal sets the Latency Variance to 10ms for this service, the standard for determining the target link changes from a single value to a range (i.e., the first range). The formula for calculating this first range is [best_latency, best_latency + latency_variance]. Substituting the extracted baseline parameter value, the latency is 110ms, and the latency plus the tolerance parameter equals 120ms. That is, the first range set by the terminal is [110ms, 120ms].
[0111] Finally, the terminal re-evaluates the candidate set based on this first range. At this point, tunnels with latency in the range of 110-120ms are considered eligible links that can be selected as target links. Under this criterion, the latency parameters of Tunnel T1 (110ms), Tunnel T2 (115ms), and Tunnel T3 (120ms) all fall within the set first range [110ms, 120ms]. Therefore, Tunnel T1, Tunnel T2, and Tunnel T3 are re-identified as available target links, and the terminal will perform load balancing scheduling among these links, thereby effectively improving bandwidth utilization under the backup routing strategy and preventing congestion on suboptimal single links.
[0112] This application's embodiments extract the mechanisms that the current network can objectively achieve as benchmark parameter values, and calculate a first range based on these benchmark parameter values and service tolerance, establishing this first range as a tolerance interval. This dynamically transforms the routing standard from "static absolute compliance" to "proportionally floating compliance relative to the current best," expanding the routing range from a "single point" to "an interval." This design, based on real-time benchmark link expansion range, not only ensures that the performance of the expanded links remains close to the network's best level, but also allows multiple links with slightly inferior but still acceptable performance to participate in traffic sharing, reducing the congestion risk caused by single-link suboptimal monopoly and enhancing the robustness of multi-link concurrent scheduling.
[0113] In some embodiments, the tolerance range for setting the link quality parameters based on the reference link in step 104 can also be achieved through steps 1046 to 1047.
[0114] In step 1046, multiple second ranges are set for the values of multiple link quality parameters of the reference link.
[0115] Here, the second range refers to the range of numerical fluctuations defined by taking the actual physical measurement values of the benchmark link in each specific network performance dimension as a reference, combined with the preset allowable degradation deviation.
[0116] In some embodiments, the preset allowable degradation deviation may be a floating percentage or an absolute threshold configured according to the service level agreement (SLA) degradation policy of the current service category.
[0117] In some embodiments, setting multiple second ranges for the values of multiple link quality parameters of a reference link can be achieved by: extracting the current value of each link quality parameter of the reference link, and applying a corresponding relaxation function to calculate the upper and lower bounds for each value. For example, suppose the set of multiple link quality parameters of the reference link is... The corresponding set of measured values is Regarding parameters The preset degradation fluctuation ratio is (in ).by Taking negative metrics (such as one-way latency and packet loss rate) as an example, the corresponding second range... The calculation formula is expressed as: Assume the measured delay of the reference link. The fluctuation ratio for latency Then the second range of the time delay dimension can be calculated. For example, if the actual packet loss rate is... Floating ratio The second range of the packet loss rate dimension The second range of multiple dimensions is calculated using the above method for different link quality parameters.
[0118] In step 1047, the multiple second ranges are combined into a tolerance interval.
[0119] Here, the tolerance range refers to a multi-dimensional parameter qualification judgment space composed of multiple second ranges, which is used to screen available alternative links under the comprehensive consideration of multiple indicators.
[0120] In some embodiments, combining multiple second ranges into a tolerance interval can be achieved by performing a logical AND operation on the calculated second ranges according to their parameter types, forming a multi-condition decision set. For example, suppose the final tolerance interval is... The second ranges for latency, packet loss rate, and jitter calculated based on step 1046 are respectively , , The combination formula is then expressed as: .in, These represent the measured values of latency, packet loss rate, and jitter of the candidate link to be evaluated, respectively. This indicates a logical AND operation. This means that a candidate link is considered to be within the multidimensional tolerance range only if all its tested parameters fall within their respective second ranges.
[0121] This application embodiment sets corresponding second ranges for multiple link quality parameters of the baseline link and combines these second ranges into a unified multi-dimensional tolerance interval, constructing a "full-indicator constraint space" anchored to the comprehensive performance of the baseline link. This ensures that while relaxing routing criteria to achieve multi-link load balancing, the selected target link not only follows the baseline link in its core parameters, but its performance in other auxiliary dimensions is also strictly constrained to near the optimal level that multiple links in the current network can actually provide. This mechanism effectively prevents links with unbalanced indicators from being mistakenly selected, and guarantees service continuity and global scheduling robustness under degraded conditions from a multi-dimensional collaborative perspective.
[0122] In step 105, the scheduled service flow is transmitted through the target link.
[0123] Here, the target link refers to the physical or logical path that is finally determined after the above tolerance filtering logic and used to actually carry and forward service packets.
[0124] In some embodiments, the service flow to be scheduled can be segmented and encapsulated by the network protocol stack (such as the TCP / IP protocol stack) of the terminal operating system to construct a continuous sequence of IP data packets; while the target link used to carry the flow is the best exit path determined based on the absolute standard of the service or the spare tolerance range.
[0125] In some embodiments, the transmission of the scheduled service flow through the target link can be achieved in the following way: the executing entity uses the policy-based routing (PBR) mechanism to dynamically generate or modify the local forwarding table entry corresponding to the service flow, and forces the next hop of the packet to point to the gateway address corresponding to the selected link.
[0126] This application embodiment obtains multiple link quality parameters from multiple links and extracts the link quality parameter range corresponding to the current service category of the service flow to be scheduled, establishing a multi-dimensional "absolute service standard". By requiring that all link quality parameters of the matching link must be within the specified link quality parameter range, the differentiated underlying network requirements of different types of services (such as voice being sensitive to latency and download being sensitive to bandwidth) can be specifically met. Secondly, in extreme cases where the overall network environment degrades and no matching link is detected, a benchmark link is selected based on the current service category, and a tolerance range is set using the link quality parameters of the benchmark link. This expands the routing range from "single optimal" to "range acceptable". Since any link whose link quality parameters are within the tolerance range can be selected as the target link, the traffic can be smoothly distributed to multiple nearby available links when transmitting the service flow to be scheduled. This reduces the instantaneous congestion caused by excessive concentration of traffic on the same link and improves the global load balancing capability and scheduling robustness of traffic scheduling.
[0127] In some embodiments, the transmission of the scheduled service flow through the target link in step 105 can be achieved by performing steps 1051 to 1053.
[0128] In step 1051, based on the current service category, the target quality of service queue corresponding to the target link is determined for the service flow to be scheduled.
[0129] Here, the target quality of service queue (QoS) refers to the logical buffer channel pre-divided at the forwarding interface of a network device to distinguish the importance of different services and implement differentiated buffering and scheduling mechanisms.
[0130] In some embodiments, the mapping relationship between the current service category and the target quality of service queue can be obtained by parsing the global quality of service policy table issued by the network control panel; this policy table pre-establishes and maintains strict correspondence logic between various service categories and underlying hardware queue indexes.
[0131] In some embodiments, a Quality of Service (QoS) queue is pre-defined for each service type. Determining the target QoS queue for the scheduled service flow on the target link based on the current service category can be achieved by: extracting the current service category of the scheduled service flow and performing a lookup match in the output port queue mapping table of the target link to obtain the corresponding queue index number. For example, if the queue index corresponding to the network control flow is pre-configured... The queue index corresponding to the audio stream Large-volume data streams correspond to queue indexes When the terminal identifies the current service category as voice stream, it retrieves the mapping table and adds the queue index. The target quality of service queue for the service flow to be scheduled is determined.
[0132] In step 1052, the current priority of the service flow to be scheduled in the target link is determined based on the service flow to be scheduled and the target quality of service queue.
[0133] Here, the current priority refers to a numerical level identifier used to determine the absolute order in which packets are retrieved and sent by the scheduler when multiple service flows concurrently compete for the same physical link transmission resources.
[0134] In some embodiments, the current priority of the service flow to be scheduled in the target link can be generated by reading the static priority attribute of the target service quality queue itself, or by dynamically calculating it in combination with the real-time arrival rate of the service flow to be scheduled and the token bucket algorithm state.
[0135] In some embodiments, determining the current priority of a service flow to be scheduled in a target link based on the service flow to be scheduled and the target quality of service queue can be achieved by directly inheriting the absolute scheduling level bound to the target quality of service queue as the current priority. For example, suppose the output port of the target link is configured with a strict priority scheduling algorithm, and the queue... to The priority decreases sequentially, among which Highest priority. When a pending service flow is assigned to the target Quality of Service queue. At that time, the dispatch terminal directly extracts Corresponding priority value And assign it to the current priority variable of the service flow to be scheduled. ,Right now .
[0136] In step 1053, when the current priority is the highest scheduling priority, the scheduled service flow is transmitted through the target link.
[0137] Among them, the highest scheduling priority indicates that there is no service flow with a higher priority than the current priority in the target link.
[0138] Here, the highest scheduling priority refers to the privileged state of a specific service flow to send data first within the physical port scheduling cycle at the current moment.
[0139] In some embodiments, determining whether the current priority is the highest scheduling priority can be achieved by the hardware scheduling chip polling the queue depth and the queue head status indicator bit of each target quality of service queue.
[0140] In some embodiments, transmitting the scheduled service flow through the target link when the current priority is the highest scheduling priority can be achieved as follows: At the start of each transmission cycle, the scheduler scans all queues from top to bottom; when it finds that the queue depth of all queues with a priority higher than the current priority is zero, it determines that the current priority is the highest scheduling priority at that moment, and subsequently triggers a hardware dequeue command to transfer the data packets of the scheduled service flow from the queue to the physical medium for transmission. For example, suppose the scheduled service flow is in... (Current priority is) The scheduler detected a higher priority queue. Packet count Then confirm It is given the highest instantaneous scheduling priority, and then performs dequeue and transmission actions to complete the physical transmission of data.
[0141] As an example, see Figure 8 The decision flowchart of the traffic scheduling method provided in this application embodiment is as follows: When the service flow to be scheduled arrives, the service type of the service flow to be scheduled is extracted. Taking service type 1 as an example, the terminal first confirms that there is a link quality parameter range 1 corresponding to service type 1 in the candidate link set and completes the label addition. Then, it enters the first-level condition judgment: Is there a link in the candidate link set with label 1 corresponding to service type 1? If the judgment is "yes", the terminal directly selects a link with label 1 randomly as the target forwarding path, and then the process ends; if the judgment is "no", it means that there is no link that meets the SLA standard in the current network environment (no link that meets the link quality parameter range 1, i.e., no matching link), and the terminal then performs the second-level judgment: Is the backup link selection standard configured for service type 1? If the second-level judgment is "no", the terminal concludes that the route selection has failed and enters the subsequent routing module, which is handled by the traditional basic routing protocol of the subsequent routing module, and the process ends immediately; if the second-level judgment is "yes", the terminal triggers the degradation calculation, prioritizes all links according to the backup link selection standard, and after the sorting is completed, it enters the final judgment for load balancing: Is the backup link selection standard configured with a tolerance range? If the final level determines "no", the terminal defaults to a single-line exclusive strategy, selects the first-ranked link as the final target link and ends the process; if the final level determines "yes", in order to avoid suboptimal congestion caused by traffic polarization, the terminal will construct an interval based on the first-ranked link (base link) and the tolerance interval, and randomly select one link from the links whose parameters are within the interval range to obtain the target link. At this point, the entire traffic scheduling process based on the integration of absolute standards and relative degradation ends.
[0142] This application's embodiments map different categories of scheduled service flows to the target link's corresponding target quality of service queue and determine their current priority within the link, thereby achieving logical-level forwarding hierarchy division on the same physical link. Subsequently, utilizing the preemptive forwarding characteristic of the highest scheduling priority, it ensures that high-priority service flows have absolute priority in the forwarding cycle within the target link, guaranteeing the deterministic transmission of critical services from the underlying hardware level. On one hand, the traffic scheduling method of this application's embodiments avoids problems such as connection drops, reconnections, or packet retransmissions caused by frequent traffic migration operations, which affect user experience. On the other hand, it solves the problem of insufficient resource utilization caused by high-priority traffic not fully utilizing physical bandwidth, allowing low-priority traffic to dynamically utilize the remaining bandwidth resources of high-quality links during gaps when high-priority traffic is silent or unsaturated. Therefore, this application's embodiments achieve on-demand allocation of global traffic without increasing physical link costs, maximizing overall network bandwidth utilization and scheduling flexibility while ensuring the quality of service for core services.
[0143] The following description continues to illustrate the exemplary structure of the traffic scheduling device 455 provided in the embodiments of this application as a software module. In some embodiments, such as Figure 2 As shown, the software modules stored in the traffic scheduling device 455 in the memory 450 may include: The acquisition module 4551 is used to acquire multiple link quality parameters for each of the multiple links; The extraction module 4552 is used to extract the current service category to which the service flow to be scheduled belongs, wherein the current service category is set with a corresponding link quality parameter range; The detection module 4553 is used to detect matching links based on multiple link quality parameters, wherein the matching link is a link whose link quality parameters are all within the link quality parameter range corresponding to the current service category; The selection module 4554 is used to select a benchmark link from multiple links based on the current service category and multiple link quality parameters when no matching link is detected, and to set a tolerance range based on the link quality parameters of the benchmark link, and select a target link from links whose link quality parameters are within the tolerance range. The scheduling module 4555 is used to transmit the service flow to be scheduled through the target link.
[0144] This application provides a computer program product, which includes a computer program or computer-executable instructions stored in a computer-readable storage medium. A processor of an electronic device reads the computer-executable instructions from the computer-readable storage medium and executes the computer-executable instructions, causing the electronic device to perform the traffic scheduling method described above in this application.
[0145] This application provides a computer-readable storage medium storing computer-executable instructions or a computer program. When the computer-executable instructions or the computer program are executed by a processor, the processor will execute the traffic scheduling method provided in this application. For example, ... Figure 3 The traffic scheduling method is shown.
[0146] In some embodiments, the computer-readable storage medium may be a memory such as RAM, ROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or it may be a variety of devices including one or any combination of the above-mentioned memories.
[0147] In some embodiments, computer-executable instructions may take the form of programs, software, software modules, scripts, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as stand-alone programs or as modules, components, subroutines, or other units suitable for use in a computing environment.
[0148] As an example, computer-executable instructions can be deployed to execute on a single electronic device, or on multiple electronic devices located at one location, or on multiple electronic devices distributed across multiple locations and interconnected via a communication network.
[0149] In summary, by comparing the absolute link quality parameter ranges of each service category with the real-time status of the underlying link and attaching labels in advance through the embodiments of this application, the matching link can be quickly determined based on the label features and load balancing strategy when the service flow to be scheduled arrives. This mechanism transforms the highly complex multi-dimensional parameter traversal into a lightweight discrete feature retrieval, reduces the scheduling latency in massive concurrency scenarios, and achieves deterministic quality assurance for global multi-service types. Furthermore, in degraded scenarios where the overall network quality is insufficient and there are no matching links, the most critical link quality parameters are locked as the optimal link quality parameters based on a preset priority sequence corresponding to the current service type. Using the benchmark link with the best measured link quality parameters as the origin, a multi-dimensional tolerance range is constructed by combining allowable degradation deviation expansion. The target link is selected from this multi-dimensional tolerance range, reducing the risk of suboptimal network congestion caused by traffic polarization. Further, after determining the target forwarding path, the scheduled service flows are precisely mapped to the service quality queue at the bottom layer of the target link, and strict preemptive transmission is executed based on absolute priority. Logical isolation at the service type level is constructed within the same physical channel. This deep integration mechanism of bottom-layer scheduling and upper-layer routing solves the drawbacks of frequent path switching and disconnections caused by forced traffic isolation in traditional solutions. It ensures that high-priority flows can occupy bandwidth during sudden contention, while allowing low-priority flows to dynamically reuse remaining bandwidth during channel idle periods. Thus, without increasing the cost of physical leased lines, the overall network resource utilization and the stability of multi-service mixed transmission are simultaneously improved.
[0150] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, and improvements made within the spirit and scope of this application are included within the scope of protection of this application.
Claims
1. A traffic scheduling method, characterized in that, The method includes: Obtain multiple link quality parameters for each of the multiple links; Extract the current service category to which the service flow to be scheduled belongs, wherein the current service category is set with a corresponding link quality parameter range; Based on multiple link quality parameters, a matching link is detected, wherein the matching link is the link whose link quality parameters are all within the link quality parameter range corresponding to the current service category; If no matching link is detected, a benchmark link is selected from multiple links based on the current service category and multiple link quality parameters, and a tolerance range is set based on the link quality parameters of the benchmark link. The target link is then selected from the links whose link quality parameters are within the tolerance range. The scheduled service flow is transmitted through the target link.
2. The method according to claim 1, characterized in that, The step of selecting a benchmark link from multiple links based on the current service category and multiple link quality parameters includes: According to the preset priority sequence corresponding to the current service category, determine the link quality parameter type with the highest priority as the best link quality parameter type; Among the multiple links, the link with the best link quality parameter type and the optimal link quality parameter is selected as the benchmark link.
3. The method according to claim 2, characterized in that, The setting of tolerance range for the link quality parameters based on the reference link includes: From the multiple link quality parameters of the reference link, determine the link quality parameter corresponding to the optimal link quality parameter type, and use it as the reference parameter value; A first range is set based on the aforementioned benchmark parameter values; The first range is defined as the tolerance interval.
4. The method according to claim 1, characterized in that, The setting of tolerance range for the link quality parameters based on the reference link includes: For the link quality parameters corresponding to multiple link quality parameter types of the reference link, multiple second ranges are set; The plurality of the second ranges are combined into the tolerance interval.
5. The method according to claim 1, characterized in that, The method of detecting and matching links based on multiple link quality parameters includes: Obtain the link quality parameter ranges corresponding to multiple service categories; For each of the plurality of links, compare the plurality of link quality parameters of the link with the link quality parameter ranges corresponding to the plurality of service categories; If all the link quality parameters are within the range of the link quality parameters corresponding to a specific service category, add a tag corresponding to the specific service category to the link. Links with tags that match the current business category are identified as candidate links, and matching links are selected from the candidate links; Before transmitting the scheduled service flow through the target link, the method further includes: The matching link is used as the target link.
6. The method according to claim 5, characterized in that, The step of selecting a matching link from the candidate links includes: When there are multiple candidate links, the matching link is selected according to a preset load balancing strategy.
7. The method according to claim 1, characterized in that, The transmission of the scheduled service flow through the target link includes: Based on the current service category, determine the target quality of service queue corresponding to the target link for the service flow to be scheduled; Based on the service flow to be scheduled and the target quality of service queue, determine the current priority of the service flow to be scheduled in the target link; When the current priority is the highest scheduling priority, the scheduled service flow is transmitted through the target link, wherein the highest scheduling priority indicates that there is no service flow with a higher priority than the current priority in the target link.
8. A flow scheduling device, characterized in that, The device includes: The acquisition module is used to acquire multiple link quality parameters for each of the multiple links; The extraction module is used to extract the current service category to which the service flow to be scheduled belongs, wherein the current service category is set with a corresponding link quality parameter range; The detection module is used to detect matching links based on multiple link quality parameters, wherein the matching link is a link in which all the link quality parameters are within the link quality parameter range corresponding to the current service category; The selection module is used to select a benchmark link from multiple links based on the current service category and multiple link quality parameters when no matching link is detected, and to set a tolerance range based on the link quality parameters of the benchmark link, and to select the target link from the links whose link quality parameters are within the tolerance range. The scheduling module is used to transmit the scheduled service flow through the target link.
9. An electronic device, characterized in that, The electronic device includes: Memory is used to store executable instructions or computer programs. A processor, when executing computer-executable instructions or computer programs stored in the memory, implements the traffic scheduling method according to any one of claims 1 to 7.
10. A computer-readable storage medium storing computer-executable instructions or a computer program, characterized in that, When the computer-executable instructions or computer program are executed by a processor, the traffic scheduling method according to any one of claims 1 to 7 is implemented.