Business flow scheduling method, device and system
By adopting a hierarchical quality of service (HQoS) model in network equipment, adjusting the transmission rate threshold of service flows, the problem that the existing technology cannot meet the service level needs of different service flows is solved, and bandwidth priority allocation to delay-sensitive service flows is achieved, and transmission quality is improved.
Patent Information
- Application Number
- CN202110272534.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-12-24
- Filing Date
- 2021-03-12
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2041-03-12
AI Technical Summary
The prior art cannot effectively meet the service level needs of different service flows, especially in the case of network congestion, the transmission quality of delay-sensitive service flows is difficult to guarantee.
Using the hierarchical quality of service (HQoS) model, by adjusting the transmission rate threshold of service flows with lower priority, the bandwidth allocation of service flows with higher priority is achieved, ensuring that the service level requirements of delay-sensitive service flows are met.
Through traffic shaping technology, the transmission quality of service flows with higher priority is effectively improved, ensuring the satisfaction of their service level requirements, and avoiding excessive impact on the service experience of service flows with lower priority is achieved.
Smart Images

Figure CN114679792B_ABST
Abstract
Description
[0001] This application claims priority to Chinese patent application No. 202011550634.6, filed on December 24, 2020, with invention name “Method, device and system for sending messages”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of communication technology, and in particular to a method, device and system for scheduling business flows. Background Art
[0003] With the development of network technology, the number of service flows in the network is increasing. Different service flows may have different service level requirements. For example, the service level requirements for service flows of delay-sensitive services (such as interactive virtual reality and video conferencing) usually require low latency, high bandwidth and low packet loss rate, while the service level requirements for service flows of non-delay-sensitive services (such as file downloads and video on demand) require high bandwidth, but do not have high requirements for latency and packet loss rate.
[0004] The service flow sent by the server needs to be forwarded to the user's terminal through multi-level network equipment, which generally includes: backbone router, service router (SR), local area network switch (LSW), optical line terminal (OLT) and optical network terminal (ONT). If the above network equipment receives different service flows, they usually mix the different service flows in one queue for scheduling, but this scheduling method cannot meet the service level requirements of different service flows. Summary of the invention
[0005] The present application provides a method, device and system for scheduling business flows to solve the technical problem that the scheduling methods in related technologies cannot meet the service level requirements of different business flows.
[0006] In a first aspect, a method for scheduling a service flow is provided, the method comprising: a first network device schedules a first service flow and a second service flow respectively based on a hierarchical quality of service (HQoS) model, wherein the priority of the first service flow is higher than the priority of the second service flow. When the transmission quality of the first service flow (for example, one or more of the service transmission delay, packet loss rate, data transmission rate, and burst traffic size) does not meet the service level requirement corresponding to the first service flow, the first network device can adjust the HQoS model for the transmission rate threshold of the second service flow to a first threshold, and the first threshold is less than the current data transmission rate of the second service flow. Exemplarily, the service level requirement can be a requirement defined by a service level agreement (SLA) or other agreed requirements.
[0007] Since the first threshold is less than the current data transmission rate of the second service flow with a lower priority, traffic shaping of the second service flow with a lower priority can be achieved. Furthermore, the bandwidth resources of the downlink port of the first network device can be given to the first service flow with a higher priority to ensure that the service level requirements of the first service flow with a higher priority can be met first.
[0008] Optionally, the first threshold is greater than or equal to an average data transmission rate of the second service flow to avoid traffic shaping seriously affecting the transmission quality of the second service flow.
[0009] Optionally, the process of the first network device adjusting the transmission rate threshold of the HQoS model for the second service flow to a first threshold may include: when the transmission quality of the first service flow does not meet the service level requirement corresponding to the first service flow, and the current data transmission rate of the second service flow is greater than the peak threshold of the data transmission rate of the second service flow, adjusting the transmission rate threshold of the HQoS model for the second service flow to the first threshold.
[0010] When the current data transmission rate of the second service flow is greater than the peak value threshold of the data transmission rate of the second service flow, the first network device can determine that the second service flow currently has a traffic burst. Since the traffic burst will seriously occupy the bandwidth resources of other service flows, the first network device performs traffic shaping on the second service flow with the traffic burst based on this, which can effectively improve the transmission quality of the first service flow.
[0011] Optionally, the transmission rate threshold of the second service flow includes one or more of peak information rate (PIR), committed access rate (CAR), committed information rate (CIR) and excess information rate (EIR). It is understandable that the transmission rate threshold of the second service flow includes any one of PIR, CAR, CIR and EIR. If the transmission rate threshold of the second service flow includes multiple rates among PIR, CAR, CIR and EIR, the first network device needs to adjust each rate in the transmission rate threshold separately. In one implementation, the first network device can adjust multiple rates in the transmission rate threshold to the same first threshold, that is, the values of the adjusted rates are equal; in another possible implementation, the first network device can adjust multiple rates in the transmission rate threshold to their respective corresponding thresholds, that is, the values of the adjusted rates can be different.
[0012] Optionally, in a network scenario, a first network device is connected to a terminal through a second network device, wherein the HQoS model includes a multi-level scheduler, such as a first-level scheduler corresponding to a downstream port of the first network device, a second-level scheduler corresponding to a downstream port of the second network device, a first bottom-level scheduler for transmitting a first service flow through the downstream port of the second network device, and a second bottom-level scheduler for transmitting a second service flow through the downstream port of the second network device.
[0013] In the above method, the first bottom layer scheduler corresponds to the first service flow transmitted by the downlink port of the second network device, and the second bottom layer scheduler corresponds to the second service flow transmitted by the downlink port of the second network device. The first network device can respectively implement the scheduling of the first service flow and the second service flow through the two bottom layer schedulers.
[0014] Optionally, the implementation method of the first network device adjusting the HQoS model's transmission rate threshold for the second service flow to a first threshold includes: the first network device adjusts the transmission rate threshold of the second service flow of at least one scheduler among the first-level scheduler, the second-level scheduler and the second bottom-level scheduler to the first threshold.
[0015] For example, in order to avoid affecting the transmission quality of other service flows, the first network device may only adjust the transmission rate threshold of the second underlying scheduler for the second service flow to the first threshold.
[0016] Optionally, the implementation method of the first network device adjusting the transmission rate threshold of the HQoS model for the second service flow to a first threshold includes: determining a target scheduler where network congestion occurs when transmitting the first service flow, and the target scheduler may be a first-level scheduler or a second-level scheduler; and adjusting the transmission rate threshold of the target scheduler for the second service flow to the first threshold.
[0017] By adjusting the transmission rate threshold of the target scheduler for the second service flow, the congestion level when the target scheduler transmits the first service flow can be effectively reduced, thereby improving the transmission quality of the first service flow.
[0018] Optionally, the sum of the transmission rate thresholds of the first-level scheduler for the first business flow and the second business flow may be less than or equal to the maximum bandwidth of the downstream port of the first network device; the sum of the transmission rate thresholds of the second-level scheduler for the first business flow and the second business flow may be less than or equal to the maximum bandwidth of the downstream port of the second network device.
[0019] By making the sum of the transmission rate thresholds of the scheduler for each service flow less than or equal to the maximum bandwidth of the corresponding downlink port of the network device, it can be ensured that the bandwidth of the downlink port of the network device can meet the bandwidth requirements of the service flow scheduled by the scheduler.
[0020] Optionally, the transmission rate threshold of the first underlying scheduler for the first service flow is less than or equal to the maximum bandwidth of the downlink port of the second network device. The transmission rate threshold of the second underlying scheduler for the second service flow is less than or equal to the maximum bandwidth of the downlink port of the second network device.
[0021] Optionally, the first bottom layer scheduler includes a first queue for caching messages of the first service flow, and the second bottom layer scheduler includes a second queue for caching messages of the second service flow. The sum of the maximum queue buffer of the first queue and the maximum queue buffer of the second queue is less than or equal to the maximum port buffer of the downlink port of the second network device.
[0022] By making the sum of the maximum queue caches of the queues in each underlying scheduler less than or equal to the maximum port cache of the downstream port of the second network device, it can be ensured that the port cache of the downstream port of the second network device can meet the cache requirements of the service flow scheduled by the underlying scheduler.
[0023] Optionally, the upper limit of the delay in the service level requirement of the first service flow may be smaller than the upper limit of the delay in the service level requirement of the second service flow. That is, the priority of a service flow with a higher delay requirement (i.e., a high real-time requirement) may be higher, and the priority of a service flow with a lower delay requirement (i.e., a low real-time requirement) may be lower.
[0024] Optionally, the method may also include: the first network device schedules a third business flow based on the HQoS model, the priority of the third business flow is higher than the priority of the second business flow, and lower than the priority of the first business flow; when the transmission rate threshold of the second business flow is less than or equal to the average data transmission rate of the second business flow, or when the current data transmission rate of the second business flow is less than or equal to the peak threshold of the data transmission rate of the second business flow, the first network device adjusts the HQoS model's transmission rate threshold for the third business flow to a second threshold, and the second threshold is less than the current data transmission rate of the third business flow, thereby achieving traffic shaping for the third business flow.
[0025] In the solution provided in the application, when the second service flow no longer meets the conditions for traffic shaping, traffic shaping can be performed on other third service flows with lower priorities to ensure that the service level requirements of the first service flow are met.
[0026] In a second aspect, a scheduling device for a service flow is provided. The scheduling device is applied to a first network device, and the scheduling device includes at least one module. The at least one module can be used to implement the scheduling method for the service flow provided by the above-mentioned first aspect or the optional scheme in the first aspect.
[0027] In a third aspect, a scheduling device for a business flow is provided, which includes a memory and a processor, the memory is used to store a computer program or code, and the processor is used to execute the computer program or code to implement the scheduling method for the business flow provided by the first aspect or the optional scheme in the first aspect.
[0028] In a fourth aspect, a computer-readable storage medium is provided, which includes instructions or codes. When the instructions or codes are executed on a computer, the computer executes the method for scheduling business flows provided by the first aspect or the optional scheme in the first aspect.
[0029] In a fifth aspect, a chip is provided, which includes a programmable logic circuit and / or program instructions, and is used to execute the service flow scheduling method provided by the above-mentioned first aspect or the optional scheme in the first aspect.
[0030] In a sixth aspect, a computer program product is provided, which includes a program or code. When the program or code runs on a computer, the computer executes the method for scheduling business flows provided by the first aspect or the optional scheme in the first aspect.
[0031] In the seventh aspect, a traffic scheduling system is provided, which includes a terminal and a first network device, the first network device is used to schedule a first service flow and a second service flow of the terminal, and the first network device includes a scheduling device for the service flow as provided in the above-mentioned first aspect or the optional scheme in the first aspect.
[0032] Optionally, the traffic scheduling system may further include a second network device, and the first network device may be connected to the terminal through the second network device.
[0033] In summary, the embodiments of the present application provide a method, device and system for scheduling a service flow. When the transmission quality of a service flow with a higher priority does not meet the service level requirement corresponding to the service flow, the first network device adjusts the transmission rate threshold of the HQoS model for the service flow with a lower priority to a first threshold, wherein the first threshold is less than the current data transmission rate of the service flow with a lower priority. This solution can be used to implement traffic shaping for the service flow with a lower priority. Furthermore, the bandwidth of the downlink port of the first network device can be given to the service flow with a higher priority to ensure that the service level requirement of the service flow with a higher priority can be met first. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Figure 1 It is a network scenario schematic diagram of a traffic scheduling system provided in an embodiment of the present application;
[0035] Figure 2 It is a structural diagram of an HQoS model provided in an embodiment of the present application;
[0036] Figure 3 is a structural diagram of another traffic scheduling system provided in an embodiment of the present application;
[0037] Figure 4 It is a structural diagram of another HQoS model provided in an embodiment of the present application;
[0038] Figure 5 It is a flowchart of a method for scheduling a service flow provided in an embodiment of the present application;
[0039] Figure 6 is a structural diagram of a first network device provided in an embodiment of the present application;
[0040] Figure 7 It is a structural diagram of a traffic scheduling system provided in an embodiment of the present application;
[0041] Figure 8 It is a schematic diagram of traffic shaping provided in an embodiment of the present application;
[0042] Fig. 9It is a structural diagram of a service flow scheduling device provided in an embodiment of the present application;
[0043] Fig.10 It is a structural diagram of another service flow scheduling device provided in an embodiment of the present application;
[0044] Fig.11 It is a structural diagram of another service flow scheduling device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0045] The following describes in detail the method, device and system for scheduling business flows provided by the embodiments of the present application in conjunction with the accompanying drawings.
[0046] Figure 1 Schematic diagram of a network scenario of a traffic scheduling system provided by an embodiment of the present application. Figure 1 As shown, in order to avoid the service experience problems and network rental cost problems caused by long-distance data transmission, service providers (such as video content service providers) can build their own data centers (DC) in various key areas, or rent content delivery networks (CDN) provided by operators. As a result, the server used to provide service flows can be set in areas such as cities and counties that are close to the terminal, so that the service flow (such as video flow) obtained by the terminal mainly comes from the server in the DC or CDN that is close to it, thereby effectively improving the experience of the terminal user. Among them, the terminal can also be called a user device, which can be a mobile phone, a computer, a wearable device or a smart home device.
[0047] In the embodiment of the present application, the servers in the DC and CDN can forward the service flow to the terminal through multi-level network devices. Figure 1 As shown, the multi-stage network device may include: a backbone router 10, an SR 20, an LSW 30, an OLT 40, and an ONT 50, which are cascaded in sequence. The uplink port of the backbone router 10 may be connected to a server in a DC and / or a CDN to access the Internet, and the ONT 50 may be connected to one or more terminals. Figure 1The traffic scheduling system may further include a splitter 60, and the OLT 40 may be connected to a plurality of ONTs 50 via the splitter 60. Furthermore, the backbone router 10 and the LSW 30, or the backbone router 10 and the OLT 40 may also be connected via a broadband access server (BAS). For example, the BAS may be a broadband remote access server (BRAS). For ease of description, the nodes between the backbone router 10 and the OLT 40 are collectively referred to as SR / BRAS 20 below.
[0048] It is understandable that in one possible implementation, Figure 1 The SR / BRAS 20 shown may be directly connected to the OLT 40, that is, the traffic scheduling system may not include the LSW 30. In another possible implementation, Figure 1 The SR / BRAS 20 and the OLT 40 shown may be connected via a plurality of cascaded LSWs 30. In another possible implementation, Figure 1 The OLT 40 may not be included between the LSW 30 and the ONT 50. In another possible implementation, Figure 1 The LSW 30 and ONT 50 shown may be connected via a plurality of cascaded OLTs 40. In another possible implementation, Figure 1 The OLT 40 and the terminal may not include the ONT 50. In another possible implementation, Figure 1 The OLT 40 shown in the figure can be connected to the terminal through a plurality of cascaded ONTs 50. In the above description, the cascaded network devices may refer to: a downlink port of a network device is connected to an inbound port of another network device.
[0049] With the development of the fifth generation mobile communication technology (5th generation mobile networks, 5G) and its new services, not only the network traffic continues to grow, but also the types of business flows in the network are becoming more and more abundant. Since the traffic of different types of business flows varies greatly and the service level requirements are also different, higher requirements are placed on the ability to guarantee the service level requirements of the traffic scheduling system. When the number of business flows in the traffic scheduling system is large, network congestion may occur in the traffic scheduling system, which may cause the transmission quality of some business flows to fail to meet the corresponding service level requirements. For the sake of ease of description, the service level requirements corresponding to the business flows are referred to as the service level requirements of the business flows below. It can be understood that in the embodiments of the present application, the service level requirements can be the requirements defined in the SLA.
[0050] In the traffic scheduling system, backbone routers are usually not the bottleneck of network congestion because of their large throughput and strong processing capabilities, and the fact that business flows can be load-shared among backbone routers. The traffic pressure of the traffic scheduling system is mainly concentrated in the metropolitan area network, such as Figure 1 As shown, network congestion usually occurs on the link between SR / BRAS 20 and LSW 30 , the link between LSW 30 and OLT 40 , and the link between OLT 40 and ONT 50 .
[0051] The embodiment of the present application provides a method for scheduling a service flow, which enables a traffic scheduling system to preferentially meet the service level requirements of service flows with higher priority, thereby effectively improving the service level requirement guarantee capability of the traffic scheduling system. The scheduling method can be applied to a first network device in a traffic scheduling system, which can be Figure 1 SR / BRAS 20, LSW 30, OLT 40 or ONT 50 in the system shown.
[0052] In an embodiment of the present application, an HQoS model is deployed in the first network device. The HQoS model can divide the scheduling queue into multiple scheduling levels, and each level can use different traffic characteristics for traffic management, thereby realizing multi-user and multi-service service management. The first network device divides the received multiple service flows into different priorities, and can schedule service flows of different priorities differently based on the HQoS model. For example, when the transmission quality of a service flow with a higher priority does not meet the service level requirements of the service flow, traffic shaping (trafficshaping) can be performed on the service flow with a lower priority. Among them, traffic shaping is a way to adjust the data transmission rate of a service flow, which can limit the burst of the service flow so that the service flow is sent out at a more uniform rate. By performing traffic shaping on the service flow with a lower priority, the bandwidth of the downlink port of the first network device can be given to the service flow with a higher priority to ensure that the service level requirements of the service flow with a higher priority can be met first.
[0053] In one possible implementation, the first network device may be connected to the terminal through the second network device. The HQoS model may include: a first-level scheduler 21 corresponding to the downlink port of the first network device, a second-level scheduler 22 corresponding to the downlink port of the second network device, and N bottom-level schedulers for transmitting L types of service flows of different priorities through the downlink port of the second network device. Wherein, L and N are both integers greater than 1, and N is greater than or equal to L. Each bottom-level scheduler corresponds to a service flow of a priority transmitted by the downlink port of the second network device, and is used to schedule a service flow of a priority corresponding to it. Since the bottom-level scheduler corresponds to the service flow, it can also be called a flow queue (FQ) level scheduler.
[0054] It can be understood that if N=L, a service flow of one priority can correspond to one underlying scheduler, that is, a service flow of one priority can be scheduled by a corresponding underlying scheduler. If N is greater than L, a service flow of one priority can correspond to multiple underlying schedulers, that is, a service flow of one priority can be scheduled by multiple corresponding underlying schedulers. For example, assuming that L=4 and N=8, each service flow of each priority can be scheduled by two underlying schedulers. For another example, assuming that the service flow transmitted by the downlink port of the second network device includes a first service flow of a higher priority and a second service flow of a lower priority, the N underlying schedulers can at least include: a first underlying scheduler 23 for transmitting the first service flow through the downlink port of the second network device, and a second underlying scheduler 24 for transmitting the second service flow through the downlink port of the second network device. Or it can be understood that: the N underlying schedulers at least include a first underlying scheduler 23 corresponding to the first service flow, and a second underlying scheduler 24 corresponding to the second service flow.
[0055] In the embodiment of the present application, it can be understood that the correspondence between the scheduler and the downstream port of the network device may mean: the scheduler establishes a mapping relationship with the downstream port of the network device, and schedules the service flow based on the port parameters of the downstream port (such as maximum bandwidth and maximum port cache, etc.).
[0056] In the embodiment of the present application, it can also be understood that the first network device can be connected to the terminal through multiple cascaded second network devices, and accordingly, the HQoS model can include multiple second-level schedulers 22 corresponding to the downlink ports of the multiple cascaded second network devices. Figure 2, assuming that the first network device is SR / BRAS20, the SR / BRAS 20 can be connected to the first terminal 03 through LSW 30, OLT 40 or ONT 50, that is, the SR / BRAS 20 is connected to the first terminal 03 through LSW 30, OLT 40 or ONT 50 as the second network device. If the downstream port of the ONT 50 can transmit 4 service flows of different priorities (that is, N=4), the HQoS model may include: a first-level scheduler 21 corresponding to the SR / BRAS 20, a second-level scheduler 22 corresponding one-to-one to the second network device, and 4 bottom-level schedulers corresponding one-to-one to the 4 service flows of different priorities.
[0057] Alternatively, if Figure 2 As shown, the first-level scheduler 21 and the second-level scheduler 22 in the HQoS model may include a scheduling unit and a shaping unit, and the bottom-level scheduler may include a shaping unit. Among them, the shaping unit is used to perform traffic shaping on the service flow. The scheduling unit is used to select a message in a scheduler from multiple schedulers connected to it for scheduling according to a pre-configured scheduling strategy. Optionally, the scheduling strategy may include strict priority (SP) scheduling or weighted fair queue (WFQ) scheduling, etc.
[0058] refer to Figure 2 It can also be seen that the structure of multiple schedulers in the HQoS model can be the same as the topological structure of multiple network devices corresponding to the multiple schedulers. That is, the first-level scheduler can be connected to N bottom-level schedulers through a second-level scheduler or multiple cascaded second-level schedulers.
[0059] For a network scenario in which the first network device is SR / BRAS 20, and SR / BRAS 20 is connected to a terminal through sequentially cascaded LSW 30, OLT 40, and ONT 50, the first-level scheduler 21 in the HQoS model may be a dummy port (DP) level scheduler. The three second-level schedulers 22 included in the HQoS model include, specifically, the second-level scheduler 22 corresponding to the downstream egress port of LSW 30 may be a virtual interface (VI) level scheduler; the second-level scheduler 22 corresponding to the downstream egress port of OLT 40 may be a user group queue (GQ) level scheduler; and the second-level scheduler 22 corresponding to the downstream egress port of ONT 50 may be a subscriber queue (SQ) level scheduler.
[0060] Figure 3is a structural diagram of another traffic scheduling system provided in an embodiment of the present application, Figure 4 Schematic diagram of another HQoS model provided in an embodiment of the present application. Figure 1 , Figure 3 and Figure 4 It can be seen that in the traffic scheduling system, SR / BRAS 20 can be connected to multiple LSWs 30, LSWs 30 can be connected to multiple OLTs 40, and OLTs 40 can be connected to multiple ONTs 50. Figure 4 In the network scenario shown, OLT 40 is connected to two ONTs 50, one of which is connected to the first terminal 03 and the second terminal 04, and the other ONT 50 is connected to the third terminal 05. Figure 4 As shown, the HQoS model in the SR / BRAS 20 may include a DP-level scheduler (i.e., a first-level scheduler 21), and may also include: a plurality of VI-level schedulers corresponding to the plurality of LSWs 30, a plurality of GQ-level schedulers corresponding to the plurality of OLTs 40, and a plurality of SQ-level schedulers corresponding to the plurality of ONTs 50. Among them, one SQ-level scheduler may be connected to a plurality of bottom-level schedulers.
[0061] It is understandable that each ONT 50 in the traffic scheduling system can correspond to a user and be used to access the network for one or more terminals of the user. Accordingly, multiple SQ-level schedulers in the HQoS model can be used to distinguish the service flows of different users, that is, each SQ-level scheduler can be used to schedule the service flow of a user. Among them, the user can refer to a virtual local area network (VLAN), a virtual private network (VPN), or a home broadband user, etc. The multiple underlying schedulers connected to each SQ-level scheduler can be used to distinguish the service flows of different priorities of the same user, wherein the service flow of each priority can include one or more types of service flows.
[0062] For example, assume that a user's service flows include four different types of service flows: voice service flow, game service flow, video on demand service flow, and file download service flow. Moreover, among the four different types of service flows, the voice service flow and the game service flow are both high-priority service flows, and the video on demand service flow and the file download service flow are both low-priority service flows. Accordingly, the SQ-level scheduler corresponding to the user can be connected to at least two underlying schedulers, one of which is used to schedule the high-priority service flow, and the other is used to schedule the low-priority service flow.
[0063] It can also be understood that the number of underlying schedulers connected to different SQ-level schedulers can be the same or different. For example, if the service flow of each user can be divided into N different priorities, each SQ-level scheduler can be connected to N underlying schedulers. If the service flow of the first user can be divided into N1 different priorities, and the service flow of the second user can be divided into N2 different priorities, the SQ-level scheduler corresponding to the first user can be connected to N1 underlying schedulers, and the SQ-level scheduler corresponding to the second user can be connected to N2 underlying schedulers. Among them, N1 and N2 are both integers greater than 1, and N1 is not equal to N2.
[0064] It can also be understood that the number of any level of schedulers included in the HQoS model can be greater than the number of network devices of the corresponding level included in the traffic scheduling system. For example, the number of VI-level schedulers in the HQoS model can be greater than the number of LSW 30 connected to SR / BRAS20, the number of GQ-level schedulers can be greater than the number of OLT 40, and the number of SQ-level schedulers can be greater than the number of ONT 50. In addition, if the service flow of the user corresponding to a certain SQ-level scheduler can be divided into N different priorities, the number of underlying schedulers connected to the SQ-level scheduler can be greater than N. By designing a larger number of schedulers in the HQoS model, it can be ensured that when the traffic scheduling system is subsequently expanded or updated, there are enough schedulers in the HQoS model to establish a mapping relationship with the newly added network devices in the traffic scheduling system. As a result, the application flexibility of the HQoS model is effectively improved.
[0065] It can also be understood that the first network device (such as SR / BRAS 20) may include multiple downstream ports, and multiple HQoS models corresponding to the multiple downstream ports may be deployed in the first network device. That is, the HQoS model may be deployed for each downstream port of the first network device.
[0066] It can also be understood that in the embodiment of the present application, the downlink ports of the network device can be physical ports or virtual ports. Among them, the virtual port can be a trunk port composed of multiple physical ports.
[0067] Combination Figure 4The network scenario diagram shown in the figure, the process of scheduling the service flow of the first network device based on the HQoS model is introduced below. After receiving the service flow sent by the upstream device (such as the backbone router 10), the first network device can first determine the user to which the service flow belongs, and determine the target SQ-level scheduler corresponding to the user from the multiple SQ-level schedulers included in the HQoS model. For example, the first network device can determine the user to which the service flow belongs based on the access control list (ACL). Then, the first network device can determine the priority of the service flow based on the type of the service flow, and determine the target underlying scheduler corresponding to the priority of the service flow from the multiple underlying schedulers connected to the target SQ-level scheduler. After that, the first network device can add the message of the service flow to the queue in the target underlying scheduler. Further, the first network device can schedule the message in the target underlying scheduler respectively through the target SQ-level scheduler, the GQ-level scheduler, the VI-level scheduler and the DP-level scheduler, so that the message of the service flow is transmitted to the DP-level scheduler through the target SQ-level scheduler, the GQ-level scheduler and the VI-level scheduler in sequence. The DP-level scheduler may then send the message to a second network device at the next level, for example, to LSW30, through a downlink egress port of the first network device.
[0068] It is understandable that the ONT 50 in the scheduling system can be connected to multiple terminals of the same user, and the types of service flows transmitted by ONT 50 to different terminals can be the same, that is, the priorities of service flows transmitted by ONT 50 to different terminals can be the same. In this scenario, the first network device can schedule multiple service flows transmitted to different terminals but with the same priority through an underlying scheduler. For example, assuming that an ONT 50 is connected to a user's mobile phone and computer respectively, and the mobile phone and computer are downloading files respectively, the HQoS model can schedule the file download service flow transmitted to the mobile phone and the file download service flow transmitted to the computer in the same underlying scheduler.
[0069] Based on the scheduling principle of the above HQoS model, it can be known that the first network device can not only distinguish the service flows of different users based on the HQoS model, but also distinguish different types of service flows of the same user, thereby achieving the purpose of fine-grained scheduling of traffic.
[0070] Figure 5 is a flow chart of a method for scheduling a service flow provided in an embodiment of the present application, which can be applied to a first network device in a traffic scheduling system. The first network device can be Figures 1 to 4 SR / BRAS 20, LSW 30, OLT 40 or ONT 50 as shown in any of the figures. Figure 5 , the method comprising:
[0071] Step 101: Configure a device mapping relationship between a multi-level scheduler included in an HQoS model and each network device in a traffic scheduling system.
[0072] In an embodiment of the present application, the multi-level schedulers in the HQoS model in the first network device correspond to the port parameters of the downlink ports of network devices of different levels. The first network device can record the mapping relationship between each scheduler in the HQoS model and the port parameters of the network device to which it corresponds, thereby obtaining a device mapping model. Among them, the port parameters may at least include: maximum bandwidth. In addition to the maximum bandwidth, the port parameters may also include: maximum port cache.
[0073] Optionally, the network device may include multiple queues of different priorities, each of which is used to cache messages of a service flow of a certain priority, and the downlink port of the network device may schedule messages in the multiple queues according to a certain scheduling ratio. Accordingly, the port parameters of the downlink port of the network device may also include: scheduling ratios for queues of different priorities.
[0074] It can be understood that since the underlying scheduler in the HQoS model corresponds to the service flows of different priorities transmitted by the downstream port of the second network device, the device mapping model can also record the mapping relationship between the port parameters of the underlying scheduler and the downstream port of the second network device, as well as the mapping relationship between the underlying scheduler and service flows of different priorities.
[0075] For example, Figure 6 is a schematic diagram of the structure of a first network device provided in an embodiment of the present application, such as Figure 6 As shown, the first network device includes a model configuration module 201, and the model configuration module 201 includes a mapping model establishment unit 2011. The mapping model establishment unit 2011 can establish a device mapping model based on the port parameters configured in the first network device. Figure 2 and Figure 4 The device mapping model may record the following mapping relationships: port parameters of the DP-level scheduler and its corresponding downstream port of the SR / BRAS 20, port parameters of the VI-level scheduler and its corresponding downstream port of the LSW 30, port parameters of the GQ-level scheduler and its corresponding downstream port of the OLT 40, port parameters of the SQ-level scheduler and its corresponding downstream port of the ONT 50, port parameters of the underlying scheduler and its corresponding downstream port of the ONT 50, and a priority of a service flow of the underlying scheduler and its corresponding service flow. It can be understood that the device mapping model includes one or more schedulers among the VI-level scheduler, the GQ-level scheduler and the SQ-level scheduler.
[0076] The above port parameters can be configured as static parameters, which will not change with the operation of the network device, so the above port parameters can be configured in the first network device in advance. In addition, the above port parameters can be used as constraints for the initial values of the scheduling parameters of each scheduler to be determined later. That is, when determining the initial value of the scheduling parameter of the scheduler, it is necessary to ensure that the initial value can meet the constraints of the port parameters of the downstream port of the network device corresponding to the scheduler.
[0077] Step 102: Configure the service level requirement model of the business flow.
[0078] In an embodiment of the present application, the first network device may save a mapping relationship between a service flow and its service level requirement, thereby obtaining a service level requirement model. The service level requirement of the service flow may include a limitation on at least one of the following parameters: latency, packet loss rate, and data transmission rate, etc. It is understandable that each parameter in the service level requirement may refer to an end-to-end parameter, and end-to-end refers to the first network device to the terminal.
[0079] like Figure 6 As shown, the model configuration module 201 of the first network device also includes a demand model establishment unit 2012. The demand model establishment unit 2012 can establish a service level demand model for the service flow based on the service level demand of each service flow configured in the first network device. Assuming that the service level demand of M service flows is configured in the first network device, and the service level demand is the demand defined in the SLA, then in the service level demand model created by the demand model establishment unit 2012, the service level demand of the i-th service flow can be expressed as: SLA_i = {Xi, Yi, Zi, ...}. Among them, M is an integer greater than 1, and i is a positive integer not greater than M. Xi, Yi and Zi can respectively represent the limit threshold of a parameter in the service level demand.
[0080] For example, Xi can represent the upper limit of latency, Yi can represent the upper limit of packet loss rate, and Zi can represent the lower limit of data transmission rate. Accordingly, to meet the service level requirements of the ith service flow, it is necessary to ensure that the end-to-end latency of the ith service flow is not greater than Xi, the end-to-end packet loss rate is not greater than Yi, and the end-to-end data transmission rate is not less than Zi. Assuming that the ith service flow is a cloud VR service flow, which requires the latency from the first network device to the terminal to be less than 20 milliseconds (ms), Xi in the service level requirement can be 20ms.
[0081] Optionally, the defined thresholds of each parameter in the service level requirement may be empirical values, or may be derived based on modeling theory. For example, the first network device may model the traffic distribution of the service flow and the processing capacity of the network device, thereby estimating the defined thresholds of each parameter in the service level requirement. The modeling theory may include: Poisson distribution modeling, queuing theory modeling, network calculus, and artificial intelligence (AI) modeling, etc. The model obtained by the queuing theory modeling may be an M / D / 1 model.
[0082] Step 103: Based on the device mapping model and the service level requirement model, determine the initial value of the scheduling parameter of each scheduler in the HQoS model.
[0083] For the scheduler in the HQoS model, the first network device can determine the initial value of the scheduling parameter of the scheduler based on the port parameters of the network device corresponding to the scheduler recorded in the device mapping model and the service level requirements of each service flow recorded in the service level requirement model. The scheduling parameter of the scheduler is used to indicate the scheduling strategy for the service flow.
[0084] Optionally, the scheduling parameters may include: a transmission rate threshold of the scheduler for service flows of different priorities, and the transmission rate threshold is used to limit the rate at which the scheduler transmits the service flow. The transmission rate thresholds of the scheduler for service flows of different priorities may be the same or different. Furthermore, the transmission rate threshold of the scheduler for service flows of each priority is less than or equal to the maximum bandwidth of the downlink port of the network device corresponding to the scheduler.
[0085] For example, it is assumed that the service flows received by the first network device include a first service flow and a second service flow, wherein the priority of the first service flow is higher than the priority of the second service flow. Then the sum of the transmission rate thresholds of the first-level scheduler 21 for the first service flow and the second service flow in the HQoS model is less than or equal to the maximum bandwidth of the downstream port of the first network device (e.g., SR / BRAS 20) (the downstream port refers to the downstream port corresponding to the HQoS model). The sum of the transmission rate thresholds of the second-level scheduler 22 for the first service flow and the second service flow is less than or equal to the maximum bandwidth of the downstream port of the second network device (the downstream port refers to the port used to connect to the terminal). For example, the sum of the transmission rate thresholds of the SQ-level scheduler for the first service flow and the second service flow is less than or equal to the maximum bandwidth of the downstream port of ONT 50; the sum of the transmission rate thresholds of the GQ-level scheduler for the first service flow and the second service flow is less than or equal to the maximum bandwidth of the downstream port of OLT 40.
[0086] By making the sum of the transmission rate thresholds of the scheduler for each service flow less than or equal to the maximum bandwidth of the corresponding downlink port of the network device, it can be ensured that the bandwidth of the downlink port of the network device can meet the bandwidth requirements of the service flow scheduled by the scheduler.
[0087] If, among the multiple bottom-layer schedulers included in the HQoS model, the first bottom-layer scheduler 23 is used to transmit the first service flow through the downlink port of the second network device, and the second bottom-layer scheduler 24 is used to transmit the second service flow through the downlink port of the second network device, then the transmission rate threshold of the first bottom-layer scheduler 23 for the first service flow is less than or equal to the maximum bandwidth of the downlink port of the second network device, and the transmission rate threshold of the second bottom-layer scheduler 24 for the second service flow is less than or equal to the maximum bandwidth of the downlink port of the second network device.
[0088] In the examples of this application, refer to Figure 2 and Figure 4 , each bottom-level scheduler may include a queue, which is used to cache messages of a service flow of a priority level corresponding to the bottom-level scheduler. For example, the first bottom-level scheduler 23 may include a first queue for caching messages of the first service flow, and the second bottom-level scheduler 24 may include a second queue for caching messages of the second service flow. For each scheduler in the first-level scheduler and the second-level scheduler (such as an SQ-level scheduler, a GQ-level scheduler, a VI-level scheduler, and a DP-level scheduler) (hereinafter referred to as an upstream scheduler for the convenience of distinguishing from the bottom-level scheduler), the upstream scheduler may include a plurality of queues of different priorities. Among them, if the upstream scheduler includes a plurality of queues of different priorities, the number of queues included in the upstream scheduler may be equal to the number of queues included in the network device corresponding to the upstream scheduler, and the upstream scheduler may schedule the plurality of queues of different priorities included therein. If the upstream scheduler does not include a queue, the upstream scheduler may schedule the queues included in each scheduler to which it is connected.
[0089] Optionally, the number of transmission rate thresholds included in the scheduling parameters of each scheduler in the HQoS model can be equal to the number of queues that the scheduler needs to schedule, where each transmission rate threshold is used to limit the transmission rate of messages in a queue. Therefore, the transmission rate threshold of a scheduler for a service flow of a certain priority can also be understood as: the transmission rate threshold of the scheduler for the queue to which the service flow of the priority belongs.
[0090] For example, since each underlying scheduler includes a queue, the scheduling parameters of each underlying scheduler may include a transmission rate threshold. Assuming that the SQ-level scheduler is connected to N underlying schedulers, and the SQ-level scheduler does not include a queue, the scheduling parameters of the SQ-level scheduler may include: N transmission rate thresholds corresponding to the N queues included in the N underlying schedulers.
[0091] It is understandable that the number of queues included in the upstream scheduler may be equal to or different from the number of bottom-level schedulers connected to the SQ-level scheduler. If the number of queues included in a certain upstream scheduler is less than the number of bottom-level schedulers connected to the SQ-level scheduler, the upstream scheduler may schedule messages from multiple bottom-level schedulers in one queue.
[0092] For example, assuming that each SQ-level scheduler is connected to four underlying schedulers, each upstream scheduler can also include four queues of different priorities. Alternatively, if the network device corresponding to a certain upstream scheduler only includes two queues of different priorities, the upstream scheduler can also include only two queues, and each of the two queues can correspond to a queue in two underlying schedulers. That is, the upstream scheduler can mix the messages in the two underlying schedulers into one queue for scheduling.
[0093] Optionally, the transmission rate threshold may include one or more of PIR, CAR, CIR and EIR. Furthermore, the initial value of each of the above rates may be less than or equal to the maximum bandwidth of the downlink port of the network device corresponding to the scheduler.
[0094] As a possible implementation, the initial value of the transmission rate threshold of each queue of the scheduler may be equal to the maximum bandwidth of the downstream port. As another possible implementation, the initial value of the transmission rate threshold of each queue of the scheduler may be equal to the maximum bandwidth of the downstream port divided by the number of queues that the scheduler needs to schedule. As yet another possible implementation, if the port parameters recorded in the device mapping model also include: the scheduling ratio of the downstream port of the network device to queues of different priorities, the first network device may also allocate the maximum bandwidth of the downstream port based on the scheduling ratio, thereby obtaining the transmission rate threshold for each queue. For example, the ratio of the initial values of the transmission rate thresholds of each queue may be equal to the scheduling ratio.
[0095] For example, assuming that in the traffic scheduling system, the maximum bandwidth of the downstream outbound port of a certain OLT 40 is 1 Gbps, and the GQ-level scheduler corresponding to the OLT 40 includes 4 queues of different priorities, the initial values of the PIR of the 4 queues by the GQ-level scheduler can be configured as 1 / 4 Gbps. Alternatively, assuming that the scheduling ratio of the OLT 40 to the 4 queues of different priorities is 1:2:3:4, the initial values of the PIR of the 4 queues by the GQ-level scheduler can be configured as: 0.1 Gbps, 0.2 Gbps, 0.3 Gbps and 0.4 Gbps respectively. It can be seen that the ratio of the initial values of the PIR of the 4 queues by the GQ-level scheduler is equal to the scheduling ratio.
[0096] Optionally, for the SQ-level scheduler in the HQoS model, the device mapping model may also record the maximum bandwidth of the network package handled by the user corresponding to the SQ-level scheduler. If the maximum bandwidth of the network package is less than the maximum bandwidth of the downstream port of the ONT 50, the first network device may determine the transmission rate threshold of the SQ-level scheduler for queues of different priorities based on the maximum bandwidth of the network package. For example, assuming that the maximum bandwidth of the downstream port of a certain ONT 50 is 1 Gbps, but the user of the ONT 50 purchases a network package with a maximum bandwidth of 100 megabits per second (Mbps), the sum of the initial values of the PIR of the SQ-level scheduler corresponding to the ONT 50 for queues of different priorities may be less than or equal to 100 Mbps.
[0097] If the port parameters of the network device recorded in the device mapping model also include: the maximum port buffer, then for a scheduler including queues, the scheduling parameters of the scheduler may also include: the maximum queue buffer for each queue in the scheduler. For a scheduler that does not include queues, the scheduling parameters of the scheduler may also include: the maximum buffer of the scheduler. Among them, the sum of the maximum queue buffers of each queue in the scheduler may be less than or equal to the maximum port buffer, and the maximum buffer of the scheduler may also be less than or equal to the maximum port buffer. For example, assuming that the SQ-level scheduler includes four queues of different priorities, the sum of the maximum queue buffers of the four queues may be less than or equal to the maximum port buffer of the downstream port of the second network device (e.g., ONT 50).
[0098] It can be understood that the maximum queue buffer of a queue refers to the maximum buffer that can be occupied by the queue, that is, the upper limit of the total data volume of messages that can be buffered by the queue.
[0099] For the N bottom-layer schedulers connected to the SQ-level scheduler, the sum of the maximum queue buffers of the N queues included in the N bottom-layer schedulers should be less than or equal to the maximum port buffer of the downstream port of the second network device corresponding to the SQ-level scheduler. For example, assuming that the bottom-layer scheduler connected to the SQ-level scheduler includes a first bottom-layer scheduler 23 and a second bottom-layer scheduler 24, wherein the queue used to buffer the message of the first service flow in the first bottom-layer scheduler 23 is the first queue, and the queue used to buffer the message of the second service flow in the second bottom-layer scheduler 24 is the second queue. Then the sum of the maximum queue buffer of the first queue and the maximum queue buffer of the second queue can be less than or equal to the maximum port buffer of the downstream port of the second network device (e.g., ONT 50).
[0100] By making the sum of the maximum queue caches of the queues in each underlying scheduler less than or equal to the maximum port cache of the downstream port of the second network device, it can be ensured that the port cache of the downstream port of the second network device can meet the cache requirements of the service flow scheduled by the underlying scheduler.
[0101] In an embodiment of the present application, the first network device can also establish a traffic model of the traffic scheduling system based on the service level demand model, and then determine the maximum queue cache of each queue in the scheduler based on the traffic model. Taking an OLT 40 in the traffic scheduling system as an example, assuming that the service flow in the traffic scheduling system is mainly video flow (for example, the proportion of video flow reaches more than 80%), the first network device can calculate the delay of the GQ-level scheduler corresponding to the OLT 40 based on the M / D / 1 model of queuing theory, and then determine the size of the cache required by the GQ-level scheduler based on the delay. The calculation formula for the delay is as follows:
[0102]
[0103] Wherein, W(t) represents the delay of the GQ-level scheduler at time t. λ is the traffic arrival rate, which obeys the Poisson distribution; μ is the service rate of OLT 40; ρ is the load rate of OLT 40, and the load rate ρ satisfies: ρ = λ / μ; k is greater than or equal to 0 and less than or equal to integer, Indicates that μt is rounded down.
[0104] The first network device can estimate the traffic arrival rate λ in the above formula based on the proportion of different types of business flows in the scene where the OLT 40 is located and the number of business flows of each type. In addition, the first network device can also determine the load rate ρ of the OLT 40 based on the average port load rate of each OLT in the area where the OLT 40 is located. Assuming that the load rate ρ is 50% and the service rate μ is 1 Gbps, the first network device can calculate the size of the cache required by the GQ-level scheduler corresponding to the OLT 40 based on the above formula, thereby configuring the maximum queue cache of each queue in the GQ-level scheduler.
[0105] Alternatively, if Figure 6 As shown, the model configuration module 201 of the first network device further includes a parameter configuration unit 2013. The parameter configuration unit 2013 can configure the initial values of the configuration parameters of each scheduler in the HQoS model based on the device mapping model and the service level requirement model.
[0106] Step 104: Use the HQoS model to schedule each received service flow separately.
[0107] In an embodiment of the present application, after the first network device receives the service flow from the service end through its uplink port, it can distinguish different service flows based on the two characteristics of the user to which the service flow belongs and the type of service flow. For example, the first network device can first determine the user to which the received service flow belongs, and then determine the priority of the service flow based on the type of service flow. After the first network device completes the identification of the service flow, it can determine the target second-level scheduler corresponding to the user to which the service flow belongs from the second-level scheduler 22 (such as the SQ-level scheduler) included in the HQoS model, and determine the target underlying scheduler corresponding to the priority of the service flow from the multiple underlying schedulers connected to the target second-level scheduler. After that, the first network device can add the message of the service flow to the target underlying scheduler for queuing, and schedule the message in the target underlying scheduler based on the first-level scheduler 21 and the target second-level scheduler of the HQoS model.
[0108] Example, reference Figures 2 to 4, assuming that the first network device receives a first service flow from a server 01 and a second service flow from a server 02. The receiver of the first service flow is the first terminal 03, and the receiver of the second service flow is the second terminal 04. The first service flow and the second service flow belong to the same user, and the priority of the first service flow is higher than the priority of the second service flow. Then the first network device can add the message of the first service flow to the first queue in the first bottom-layer scheduler 23, and add the message of the second service flow to the second queue in the second bottom-layer scheduler 24. Since the two service flows belong to the same user, Figure 2 , Figure 4 and Figure 7 As shown, the first bottom-level scheduler 23 and the second bottom-level scheduler 24 are connected to the same second-level scheduler 22 (eg, SQ-level scheduler).
[0109] It is understandable that the server 01 and the server 02 can be deployed on the same server or on different servers. The first terminal 03 and the second terminal 04 can be the same terminal or different terminals, which is not limited in the present embodiment.
[0110] After the first network device adds the message of the service flow to the corresponding bottom-level scheduler, as a possible implementation method, the first network device can schedule the message in the bottom-level scheduler through the second-level scheduler 22 and the first-level scheduler 21 in sequence. For example, the second-level scheduler 22 can first schedule the message in the bottom-level scheduler to the second-level scheduler 22 according to its configured scheduling policy (such as SP scheduling or WFQ scheduling, etc.). Then, the first-level scheduler 21 schedules the message in the second-level scheduler 22 to the first-level scheduler 21 according to its configured scheduling policy.
[0111] As another possible implementation, the first network device may schedule the messages in the bottom-level scheduler through the first-level scheduler 21 and the second-level scheduler 22 in sequence. For example, the first-level scheduler 21 may first allocate scheduling resources (such as bandwidth resources) to the second-level scheduler 22 according to its configured scheduling policy. The second-level scheduler 22 may then allocate scheduling resources to each bottom-level scheduler connected to it based on the scheduling resources allocated by the first-level scheduler 21. Finally, the bottom-level scheduler may transmit the message to the second-level scheduler 22 based on the allocated scheduling resources.
[0112] It can also be understood that the transmission order of any service flow in the various schedulers included in the HQoS model is: bottom-level scheduler, second-level scheduler 22 and first-level scheduler 21. For the scenario where the HQoS model includes multiple cascaded second-level schedulers 22, the transmission order of the message in the multiple cascaded second-level schedulers 22 is: from the direction close to the bottom-level scheduler to the direction away from the bottom-level scheduler. For example, assuming that Figure 2 , Figure 4 and Figure 7 As shown in FIG. 1 , the HQoS model includes an SQ-level scheduler, a GQ-level scheduler, and a VI-level scheduler that are cascaded in sequence. The transmission order of packets at each level of scheduler in the HQoS model is: FQ-level scheduler → SQ-level scheduler → GQ-level scheduler → VI-level scheduler → DP-level scheduler.
[0113] Assume that in the HQoS model, the PIR of the first underlying scheduler 23 for the first service flow is 1000Mbps, and the PIR of the second underlying scheduler 24 for the second service flow is 800Mbps. Then, when the first underlying scheduler 23 transmits the first service flow to the SQ-level scheduler, the data transmission rate of the first service flow can be limited to less than 1000Mbps, and when the second underlying scheduler 24 transmits the second service flow to the SQ-level scheduler, the data transmission rate of the second service flow can be limited to less than 800Mbps.
[0114] refer to Figure 6 The first network device further includes a processing module 202, a network interface 203 and a power supply 204. The processing module 202 includes a service identification unit 2021, and the network interface 203 is connected to an upstream device (e.g., a backbone router 10) to receive a service flow from a service end (e.g., a service end in a DC or CDN) and transmit the service flow to the service identification unit 2021.
[0115] The service identification unit 2021 can identify each received service flow based on the pre-configured service flow identification strategy, and determine the priority of each service flow. Afterwards, the service identification unit 2021 can add the message of the service flow to the corresponding underlying scheduler based on the user to which the service flow belongs and the priority of the service flow. Among them, the service flow identification strategy may include at least one of the following methods: technology for defining QoS attributes based on differentiated services code point (DSCP), deep packet inspection (DPI) technology, identification technology based on traffic identification model, and identification technology based on traffic characteristics, etc. Among them, the traffic identification model can be obtained based on AI algorithm training.
[0116] For example, assume that the first service flow, the second service flow, and the third service flow received by the first network device belong to the same user, but have different priorities. Figure 7 As shown, the service identification unit 2021 can add the message D1 of the first service flow to the corresponding first bottom-layer scheduler 23, add the message D2 of the second service flow to the corresponding second bottom-layer scheduler 24, and add the message D3 of the third service flow to the corresponding third bottom-layer scheduler 25. The third bottom-layer scheduler 25 is also an FQ-level scheduler.
[0117] Step 105: monitor the transmission quality of each service flow between the first network device and the terminal respectively.
[0118] In an embodiment of the present application, the first network device can monitor the transmission quality of each service flow between the first network device and the terminal in real time during the service flow scheduling process. For example, assuming that the service flow scheduled by the first network device includes: a first service flow and a second service flow, the first network device can monitor the transmission quality of the first service flow between the first network device and the first terminal 03, and monitor the transmission quality of the second service flow between the first network device and the second terminal 04. Among them, the measurement parameters of the transmission quality may include one or more of latency, packet loss rate, data transmission rate and burst size (BS).
[0119] like Figure 6 As shown, the processing module 202 in the first network device further includes a data statistics unit 2022 and a calculation unit 2023. The following takes the first service flow as an example to illustrate the process of the first network device monitoring the transmission quality of the service flow.
[0120] First, the data statistics unit 2022 can count the transmission status data of the first service flow in at least one scheduler. The calculation unit 2023 can determine the transmission quality of the first service flow between the first bottom-layer scheduler 23 and the first-level scheduler 21 based on the transmission status data obtained by the data statistics unit 202. Since there is a mapping relationship between the schedulers at all levels in the HQoS model and the network devices at all levels in the traffic scheduling system, the transmission quality of the first service flow between the first bottom-layer scheduler 23 and the first-level scheduler 21 reflects the transmission quality of the first service flow between the first network device and the first terminal 03.
[0121] Optionally, the transmission status data may include at least one of the following data: the number of newly added messages and the number of sent messages of the queue to which the first business flow belongs, the queue length of the queue to which the first business flow belongs, the buffer occupied by the queue to which the first business flow belongs, and the number of packet losses of the queue to which the first business flow belongs. Among them, the number of packet losses PL of the queue to which the first business flow belongs may satisfy: PL = P_in-P_out-P_buffer. P_in, P_out and P_buffer are respectively the number of newly added messages, the number of sent messages, and the number of messages buffered in the queue to which the first business flow belongs within the statistical time length.
[0122] As an optional implementation, for a scenario where each scheduler in the HQoS model includes multiple queues of different priorities, such as Figure 2 As shown, the data statistics unit 2022 can perform statistics on the transmission status data of the queue to which the first service flow belongs in each scheduler. For example, the message count, queue length statistics, buffer occupancy statistics and packet loss statistics can be performed on the queue to which the first service flow belongs. Among them, the message count refers to: counting the number of new messages added to the queue to which the first service flow belongs. The calculation unit 2023 can calculate the transmission status data of the first service flow of each scheduler, so as to obtain the transmission quality of the first service flow in the first network device.
[0123] For example, for delay, the calculation unit 2023 can add the queue lengths of the queues to which the first service flow belongs in each scheduler, and then determine the delay of the first service flow in transmission between the first network device and the first terminal 03 based on the total queue length, and the delay is positively correlated with the total queue length.
[0124] For the packet loss rate, the calculation unit 2023 can add the number of packet losses of the queues to which the first business flow belongs in each scheduler within the statistical time length, and then divide the total number of packet losses by the number of messages newly added to the queue to which the first business flow belongs in the first bottom-level scheduler 23 within the statistical time length, thereby obtaining the packet loss rate of the first business flow within the statistical time length. Among them, the statistical time length can be equal to the transmission time length of the first business flow, that is, the first network device can continue to count the transmission status data of the first business flow after receiving the message of the first business flow. Alternatively, the statistical time length can also be a pre-configured fixed time length, that is, the first network device can count the transmission status data of the first business flow once every statistical time length.
[0125] For the data transmission rate, the calculation unit 2023 may divide the total amount of messages sent by the queue to which the first service flow belongs in the first bottom-layer scheduler 23 within the unit time by the unit time, thereby obtaining the data transmission rate of the first service flow. The unit of the data transmission rate may be bps. The order of magnitude of the unit time may be seconds, for example, the unit time may be 1 second. Alternatively, in order to ensure the accuracy of the statistically obtained data transmission rate, the order of magnitude of the unit time may also be milliseconds, for example, 10 milliseconds.
[0126] For the burst traffic size, the calculation unit 2023 can accumulate the data volume of the continuously added messages in the queue to which the first service flow belongs in the first bottom-layer scheduler 23 within the statistical time length, so as to obtain the burst traffic size. The continuously added messages refer to the messages whose arrival interval with the previous message is less than the time threshold (for example, 1 microsecond).
[0127] It is understandable that since each level of the HQoS model includes multiple schedulers, Figure 2 The data statistics unit 2022 may also record the identification (ID) of each scheduler so as to distinguish the statistical data of different schedulers.
[0128] As another optional implementation, the bottom-layer scheduler in the HQoS model includes queues, and queues of different priorities are not set in the first-level scheduler 21 and / or the second-level scheduler 22. In this implementation, for each scheduler including a queue, the data statistics unit 2022 can perform statistics on the transmission status data of the queue to which the first service flow belongs in the scheduler. For example, if only the bottom-layer scheduler in the HQoS model includes queues, the data statistics unit 2022 can perform statistics on the transmission status data of only the queues in the bottom-layer scheduler.
[0129] It can be understood that since the schedulers at all levels in the HQoS model can schedule the messages in the underlying scheduler according to a certain scheduling order, in this implementation method, the statistical results of the transmission status data of each queue in the scheduler with queues can accurately reflect the overall scheduling of the HQoS model for the first service flow.
[0130] For example, assuming that only the bottom-layer scheduler includes queues in the HQoS model, the calculation unit 2023 can determine the delay of the first service flow between the first network device and the first terminal 03 based on the queue length of the queue (i.e., the first queue) to which the first service flow belongs in the first bottom-layer scheduler 23. The calculation unit 2023 can divide the number of packet losses of the first queue in the first bottom-layer scheduler 23 by the number of newly added messages in the first queue, thereby obtaining the packet loss rate of the first service flow between the first network device and the first terminal 03. In addition, the calculation unit 2023 can divide the number of messages sent by the first queue within the statistical time length by the statistical time length, thereby obtaining the data transmission rate of the first service flow between the first network device and the first terminal 03.
[0131] For example, assume that in the traffic scheduling system, the maximum bandwidth of the downstream port of an ONT 50 with a wireless WIFI function is 1 Gbps, and the user of the ONT 50 purchases a 100 Mbps network bandwidth package. If the user is using the second terminal 04 to watch on-demand video, the traffic scheduling system needs to schedule the video on-demand service flow from the server 02 to the second terminal 04. The following is an example in which the second terminal 04 is far away from the ONT 50, and the data transmission rate of the video on-demand service flow transmitted by the ONT 50 to the second terminal 04 reaches a maximum of 20 Mbps.
[0132] After receiving the video on demand service flow through the network interface 203, the service identification unit 2021 in the first network device can add the message of the video on demand service flow to the queue in the corresponding underlying scheduler (for example, the second queue in the second underlying scheduler 24) for queuing. Assuming that only the underlying scheduler includes queues in the HQoS model, the data statistics unit 2022 can count the number of messages sent by the second queue in the second underlying scheduler 24 within the unit time length, and divide the statistical value by the unit time length to obtain the data transmission rate of the video on demand service flow between the first network device and the second terminal 04. For example, if the unit time length with a granularity of seconds is used for statistics, the calculation unit 2023 can calculate that the data transmission rate of the video stream is 4Mbps. If the unit time length with a granularity of milliseconds is used for statistics, the calculation unit 2023 can calculate that the data transmission rate of the video stream can reach a maximum of 20Mbps.
[0133] It is understandable that in addition to monitoring the end-to-end transmission quality of the service flow, the first network device can also determine the transmission quality of the service flow in the network device corresponding to the scheduler based on the transmission status data of the service flow in each scheduler.
[0134] It can also be understood that in the embodiment of the present application, the transmission quality of each service flow monitored by the first network device can also be used for visual display. For example, the first network device can send the measurement parameters used to measure the transmission quality of each service flow to the controller for display. Alternatively, the first network device can be connected to a display device, and the first network device can display the measurement parameters of the transmission quality of each service flow through the display device.
[0135] Step 106: Detect whether the transmission quality of the first service flow meets the service level requirement corresponding to the first service flow.
[0136] In the embodiment of the present application, after the first network device monitors the transmission quality of the first service flow between the first network device and the first terminal, the transmission quality can be compared with the service level requirement of the first service flow to determine whether the transmission quality of the first service flow meets its service level requirement. If the first network device determines that the transmission quality of the first service flow does not meet its service level requirement, the first network device can execute step 107. If the first network device determines that the transmission quality of the first service flow meets its service level requirement, the first network device can continue to execute step 105, that is, continue to monitor the transmission quality of the first service flow.
[0137] If the service level requirement of the first service flow includes an upper limit on the delay, then when the first network device detects that the end-to-end delay of the first service flow is greater than the upper limit on the delay, it can be determined that the transmission quality of the first service flow does not meet its service level requirement. If the service level requirement of the first service flow includes an upper limit on the packet loss rate, then when the first network device detects that the end-to-end packet loss rate of the first service flow is greater than the upper limit on the packet loss rate, it can be determined that the transmission quality of the first service flow does not meet its service level requirement. If the service level requirement of the first service flow includes a lower limit on the data transmission rate, then when the first network device detects that the end-to-end data transmission rate of the first service flow is less than the lower limit on the data transmission rate, it can be determined that the transmission quality of the first service flow does not meet its service level requirement.
[0138] Example, reference Figure 6 , the processing module 202 may also include a transmission quality monitoring unit 2024, and the transmission quality monitoring unit 2024 may be used to detect whether the transmission quality of the first service flow meets the service level requirement of the first service flow. Assume that the first service flow is a service flow for a game or a video conference, and the upper limit of the delay in its service level requirement is 20ms. If the delay of the first service flow determined by the first network device between the first network device and the first terminal 03 is 30ms, then since the delay is greater than the upper limit of the delay 20ms, the first network device may execute step 107.
[0139] Step 107: Detect whether the second service flow meets the traffic shaping condition.
[0140] In the embodiment of the present application, after detecting that the transmission quality of the first service flow with a higher priority does not meet the service level requirement corresponding to the first service flow, the first network device can detect whether the second service flow with a lower priority meets the conditions for traffic shaping. If the first network device determines that the second service flow meets the conditions for traffic shaping, step 108 can be executed, that is, traffic shaping is performed on the second service flow; if the first network device determines that the second service flow does not meet the conditions for traffic shaping, step 109 can be executed.
[0141] Optionally, the traffic shaping condition may include at least one of the following conditions: the transmission rate threshold of the HQoS model for the second service flow is greater than the average data transmission rate of the second service flow, and the current data transmission rate of the second service flow is greater than the peak threshold of the data transmission rate of the second service flow. Based on the description in step 105 above, it can be seen that the current data transmission rate of the second service flow is measured by the first network device. For example, the first network device can calculate the current data transmission rate of the second service flow based on the transmission status data of the second service flow in the HQoS model.
[0142] In the embodiment of the present application, the first network device can monitor the data transmission rate of the second service flow in real time within the statistical time period. Therefore, it can be understood that the average data transmission rate of the second service flow can refer to the average value of the data transmission rate of the second service flow within the statistical time period.
[0143] If the transmission rate threshold of the HQoS model for the second service flow is less than or equal to the average data transmission rate of the second service flow, the first network device can determine that further reducing the transmission rate threshold of the second service flow will seriously affect the service experience of the second service flow. Therefore, the first network device can use the transmission rate threshold being greater than the average data transmission rate as one of the conditions for traffic shaping.
[0144] If the current data transmission rate of the second service flow is greater than the peak threshold of the data transmission rate of the second service flow, the first network device can determine that the second service flow currently has a traffic burst. The characteristics of the traffic burst include: sending data at a higher data transmission rate in a shorter time period (for example, 10 milliseconds), and then stopping sending data in a longer time period, or sending data at a lower data transmission rate. Taking the second service flow as a video on demand service flow as an example, if 10 milliseconds is used as the unit duration for calculating the data transmission rate, the real-time data transmission rate of the video on demand service flow within a certain statistical duration can reach a maximum of 350Mbps. However, the average data transmission rate of the video on demand service flow within the statistical duration is only about 3Mbps to 5Mbps. The order of magnitude of the statistical duration can be seconds.
[0145] Since traffic bursts will seriously occupy bandwidth resources of other business flows, traffic shaping of business flows with traffic bursts can effectively improve the transmission quality of other business flows. Accordingly, the first network device can also use the current data transmission rate greater than the peak threshold of the data transmission rate of the second business flow as one of the conditions for traffic shaping. In addition, in order to facilitate the first network device to accurately detect whether there is a traffic burst in the second business flow, the unit time length used to calculate the data transmission rate of the second business flow in the above step 105 can be in the order of milliseconds.
[0146] Optionally, the peak value threshold of the data transmission rate of the second service flow may be determined based on the type of the second service flow. Furthermore, the peak value thresholds of the data transmission rate of different types of service flows may be different. It is understandable that the peak value threshold of the data transmission rate of each service flow may also be determined based on the maximum port buffer of the downlink port of each level of network equipment, and the larger the maximum port buffer, the higher the peak value threshold of the data transmission rate of the service flow.
[0147] Take the transmission rate threshold including PIR as an example. If the first network device detects that the PIR of the HQoS model for the second service flow is less than or equal to the average data transmission rate of the second service flow, it can be determined that the second service flow no longer meets the traffic shaping condition, and step 109 can be executed. Alternatively, if the first network device detects that the peak value of the current data transmission rate of the second service flow is less than the peak value threshold of the data transmission rate of the second service flow, it can be determined that the second service flow currently does not have a traffic burst, and therefore it can also be determined that the second service flow does not meet the traffic shaping condition, and step 109 can be executed.
[0148] If the first network device detects that the PIR of the second service flow is greater than the average data transmission rate of the second service flow, and the peak data transmission rate of the second service flow is greater than the peak threshold of the second service flow, it can be determined that the second service flow meets the conditions for traffic shaping, and step 108 can be executed.
[0149] In an embodiment of the present application, the priorities of different service flows may be determined based on the latency requirement, that is, the higher the latency requirement, the higher the priority of the service flow. Accordingly, the upper limit of latency in the service level requirement of the first service flow may be smaller than the upper limit of latency in the service level requirement of the second service flow. Among them, service flows with higher latency requirements (i.e., high real-time requirements) may also be referred to as latency-sensitive service flows, and service flows with lower latency requirements (i.e., low real-time requirements) may also be referred to as non-latency-sensitive service flows. Therefore, in an embodiment of the present application, the priority of service flows for latency-sensitive services may be higher, and the priority of service flows for non-latency-sensitive services may be lower.
[0150] Table 1 shows the traffic size and real-time requirements of some types of business flows in the traffic scheduling system. Referring to Table 1, for interactive and large-traffic business flows such as video conferencing and interactive virtual reality (VR), their service level requirements generally include high bandwidth, low packet loss rate and low latency. For non-interactive and large-traffic business flows such as video on demand and file downloads, their service level requirements generally include high bandwidth, but there are no strict requirements for packet loss rate and latency. For interactive and small-traffic business flows such as voice and games, their service level requirements generally include low packet loss rate and low latency, but there are no strict requirements for bandwidth. For small-traffic business flows such as social chat and email, there are no strict requirements for bandwidth, packet loss rate and latency.
[0151] Table 1
[0152] Business Flow Traffic size Real-time requirements Video conferencing, interactive VR big high Voice, games Small high Video on demand, file download big Low Social chat, email Small Low
[0153] Research shows that the number of service flows with large traffic (such as video conferencing and interactive VR) in the network is small, but they occupy most of the network bandwidth. For example, Table 2 shows the distribution characteristics of the traffic output by a 10G port of a backbone router in a time period of 48 seconds. Among them, a 10G port refers to a downstream port with a bandwidth of 10 Gbps. Assume that the 10G port outputs 1.5×10 6 service flows, then referring to Table 2, it can be seen that the 1.5×10 6Among the service flows, the number of service flows with a total flow of more than 0.1 megabyte (MB) within 48 seconds (hereinafter referred to as large flows) accounts for only about 1.46%. However, the bandwidth occupied by these large flows accounts for 89.21% of the network bandwidth. The remaining service flows, which account for about 98.5%, only account for about 10% of the network bandwidth.
[0154] Table 2
[0155] Total traffic (MB) quantity Quantity ratio Bandwidth share >0.1 22000 1.46% 89.21%
[0156] Among the various types of service flows shown in Table 1, video on demand service flows and file download service flows are typical large flows, which have the characteristics of high data transmission rate, long duration, large message interval, and large burst mode for sending traffic (i.e., traffic bursts). Since traffic bursts will seriously occupy bandwidth resources of other service flows, large flows in the traffic scheduling system are the main cause of network congestion and degradation of network service quality.
[0157] In the traffic scheduling system of the related technology, the network equipment does not differentiate and process different types of service flows after receiving them, that is, the network equipment mixes delay-sensitive service flows with non-delay-sensitive service flows in the same queue for scheduling. As a result, not only does the delay-sensitive service flow not receive priority treatment and its service level requirements cannot be guaranteed, but it may also cause its transmission quality to be affected by non-delay-sensitive service flows and deteriorate. For example, in a home broadband scenario, the traffic of online games is relatively small. If it is mixed with large flows such as video-on-demand service flows or file download service flows in the same queue for scheduling, the transmission quality of the online game will be seriously affected. For example, it may cause problems such as high latency and high packet loss rate in the traffic of online games, which will seriously affect the user's gaming experience.
[0158] In the embodiment of the present application, since the priority of the service flow can be determined based on the delay requirement of the service flow, and the traffic of the low-priority service flow can be shaped when the service level requirement of the high-priority service flow is not met, the service level requirement of the delay-sensitive service flow can be prioritized.
[0159] It is understandable that, in addition to the latency requirement, the priority of the service flow can also be determined based on other parameters in the service level requirement, for example, it can also be determined based on the requirement for the packet loss rate, which is not limited in the embodiments of the present application.
[0160] Step 108: Adjust the transmission rate threshold of the HQoS model for the second service flow to the first threshold.
[0161] After determining that the second service flow meets the conditions for traffic shaping, the first network device can adjust the transmission rate threshold of the HQoS model for the second service flow to the first threshold, and the first threshold is less than the current data transmission rate of the second service flow, thereby achieving traffic shaping for the second service flow.
[0162] Optionally, in order to prevent traffic shaping from affecting the service experience of the second service flow, the first threshold may be greater than or equal to the average data transmission rate of the second service flow. For example, the first threshold may be 1.5 times the average data transmission rate of the second service flow.
[0163] As described above, the transmission rate threshold of the second service flow may include one or more of PIR, CAR, CIR and EIR. If the transmission rate threshold includes multiple rates among PIR, CAR, CIR and EIR, the first network device needs to adjust each rate in the transmission rate threshold separately. In one possible implementation, the first network device may adjust multiple rates in the transmission rate threshold to the same first threshold, that is, the adjusted rates are equal. In another possible implementation, the first network device may adjust multiple rates in the transmission rate threshold to their respective corresponding first thresholds, that is, the adjusted rates may not be equal.
[0164] Figure 8 It is a schematic diagram of the data transmission rates of a first business flow and a second business flow provided in an embodiment of the present application. Figure 8 The horizontal axis represents time t, and the vertical axis represents data transmission rate v. Figure 8 It can be seen that when the first network device does not perform traffic shaping on the second service flow, the second service flow has traffic bursts. In addition, the time period of the traffic burst of the second service flow overlaps with the time period of the traffic burst of the first service flow, which seriously affects the service experience of the first service flow. After the first network device performs traffic shaping on the second service flow, it can achieve smooth processing of the data transmission rate of the second service flow, thereby giving up the network bandwidth to the first service flow with a higher priority.
[0165] Since the first-level scheduler 21, the second-level scheduler 22, and the second bottom-level scheduler 24 in the HQoS model can limit the data transmission rate of the second service flow, in an embodiment of the present application, the first network device can adjust the transmission rate threshold of at least one of the first-level scheduler 21, the second-level scheduler 22, and the second bottom-level scheduler 24 for the second service flow to the first threshold.
[0166] As an optional implementation, the first network device can adjust the transmission rate threshold of the second bottom-level scheduler 24 for the second service flow to the first threshold. Since the second bottom-level scheduler 24 only needs to schedule the messages in one queue included therein, and the first-level scheduler 21 and the second-level scheduler 22 both need to schedule the messages in the multiple schedulers to which they are connected, only adjusting the transmission rate threshold of the second bottom-level scheduler 24 for the second service flow can effectively reduce the impact on other service flows.
[0167] For example, assume that in the traffic scheduling system, the downlink of an ONT 50 with a wireless WIFI function is a link with a rate of 1Gbps, the first terminal 03 wirelessly connected to the ONT 50 is holding a video conference, and the second terminal 04 wirelessly connected to the ONT 50 is playing a video on demand. Then the traffic scheduling system needs to schedule the video stream (i.e., the first service stream) of the video conference from the server 01 to the first terminal 03, and needs to schedule the video on demand service stream (i.e., the second service stream) from the server 02 to the second terminal 04. If the video stream of the video conference is severely backlogged due to a burst of traffic of the video on demand service stream, the transmission quality monitoring unit 2024 in the first network device can monitor that the delay of the video stream of the video conference cannot meet the service level requirements of the video conference stream. Correspondingly, the traffic shaping unit 2025 in the processing module 202 can perform traffic shaping on the video on demand service stream. For example, if the calculation unit 2023 calculates that the average data transmission rate of the video on demand service flow is 4Mbps, the traffic shaping unit 2025 can adjust the PIR of the video on demand service flow to 4Mbps by the second bottom layer scheduler 24. In this way, the video on demand flow is smoothly processed, so that the network bandwidth can be given to the video flow of the video conference that is sensitive to delay.
[0168] Through the above method, it can also be ensured that the data transmission rate of the video on demand stream sent by the first network device is always stable below 4Mbps. Therefore, even if the downstream LSW 30, OLT 40 and ONT 50 do not have the ability to identify service flows and differentiated QoS scheduling, it can be ensured that the video on demand stream after traffic shaping can always give up the network bandwidth to the video conference stream when passing through the downstream network devices at all levels, thereby ensuring the end-to-end service level requirements of the video conference stream. At the same time, the video on demand stream sent at 4Mbps also meets the bit rate of the video stream and does not deteriorate the experience of the video service itself.
[0169] As another optional implementation, the first network device may determine a target scheduler where network congestion occurs when transmitting the first service flow, and adjust the target scheduler's transmission rate threshold for the second service flow to the first threshold. The target scheduler is a first-level scheduler 21 or a second-level scheduler 22. By adjusting the target scheduler's transmission rate threshold for the second service flow, the congestion level when the target scheduler transmits the first service flow can be effectively reduced, thereby improving the transmission quality of the first service flow.
[0170] For the scenario where both the first-level scheduler 21 and the second-level scheduler 22 in the HQoS model include queues, the first network device can compare the transmission status data of the queues to which the first service flow belongs in each scheduler, and determine the target scheduler where network congestion occurs when transmitting the first service flow based on the transmission status data.
[0171] For example, the first network device may compare the queue lengths of the queues to which the first service flow belongs in each scheduler, and determine the scheduler with the longest queue length as the target scheduler where network congestion occurs. Alternatively, the first network device may compare the packet loss rates of the queues to which the first service flow belongs in each scheduler, and determine the scheduler with the highest packet loss rate as the target scheduler where network congestion occurs.
[0172] For the scenario where only some of the first-level schedulers 21 and the second-level schedulers 22 include queues, the first network device can determine the target scheduler where network congestion occurs when transmitting the first service flow based on the topological structure of each scheduler and the transmission status data of each queue in the scheduler with queues.
[0173] For example, assuming that an SQ-level scheduler does not include a queue, but the data volume of messages cached in each queue of the N underlying schedulers connected to the SQ-level scheduler is greater than the maximum queue cache of the queue, or the sum of the data volume of messages cached in each queue is greater than the maximum cache of the SQ-level scheduler, or the packet loss rate of each queue is greater than the packet loss rate threshold, then the first network device can determine that the SQ-level scheduler is the target scheduler where network congestion occurs.
[0174] For example, suppose that a certain SQ-level scheduler is connected to 4 underlying schedulers, the maximum queue caches of the queues in the 4 underlying schedulers are 100 bytes, 200 bytes, 300 bytes and 400 bytes respectively, and the maximum cache of the SQ-level scheduler is 800 bytes. If the data volume of the messages actually cached by the 4 queues at a certain moment is 99 bytes, 199 bytes, 299 bytes and 399 bytes respectively, then since the sum of the data volume of the messages cached by the 4 queues is greater than the maximum cache of the SQ-level scheduler, the first network device can determine that the SQ-level scheduler is the target scheduler for the transmission of the first service flow where network congestion occurs.
[0175] Step 109: Adjust the transmission rate threshold of the HQoS model for the third service flow to the second threshold.
[0176] In an embodiment of the present application, the service flow carried in the traffic scheduling system may also include a third service flow, the priority of the third service flow is higher than the second service flow, and lower than the first service flow. Accordingly, in the above step 104, the first network device may also schedule the third service flow based on the HQoS model.
[0177] In the above step 107, if the first network device detects that the second service flow does not meet the traffic shaping condition, the transmission rate threshold of the HQoS model for the third service flow can be set to the second threshold, and the second threshold is less than the current data transmission rate of the third service flow, thereby realizing traffic shaping for the third service flow. The implementation process of step 109 can refer to the above step 108, which will not be repeated here.
[0178] It is understandable that after the first network device detects that the transmission quality of the high-priority first service flow does not meet the service level requirements of the first service flow, it can detect whether each low-priority service flow meets the conditions for traffic shaping in order from low to high priority. If it is detected that any low-priority service flow meets the conditions for traffic shaping, the HQoS model can lower the transmission rate threshold of the low-priority service flow to achieve traffic shaping for the low-priority service flow. That is, the first network device can perform the above step 109 after determining that the third service flow meets the conditions for traffic shaping.
[0179] It can also be understood that in the embodiment of the present application, for each service flow received by the first network device, the first network device can determine whether the transmission quality of the service flow meets the service level requirement corresponding to the service flow based on the method shown in the above step 106. In addition, when the first network device detects that the transmission quality of any service flow does not meet the service level requirement corresponding to the service flow, it can refer to the method shown in the above steps 107 to 109 to perform traffic shaping on the service flow with a lower priority.
[0180] It should be understood that the order of steps of the method for scheduling the service flow provided in the embodiment of the present application can be adjusted appropriately, and the steps can be increased or decreased accordingly according to the situation. For example, the above step 102 can be performed before step 101. Alternatively, the above steps 101 and 102 can be deleted according to the situation, and accordingly, the initial values of the scheduling parameters of each scheduler in the HQoS model can be directly configured. Alternatively, the above steps 107 and 109 can be deleted according to the situation, that is, the first network device can directly perform traffic shaping on the second service flow.
[0181] In summary, an embodiment of the present application provides a method for scheduling a service flow. When the first network device detects that the transmission quality of a service flow with a higher priority does not meet the service level requirement corresponding to the service flow, the transmission rate threshold of the HQoS model for the service flow with a lower priority can be adjusted to a first threshold. Since the first threshold is less than the current data transmission rate of the service flow with a lower priority, traffic shaping of the service flow with a lower priority can be achieved. Furthermore, the bandwidth of the downlink port of the first network device can be given to the service flow with a higher priority to ensure that the service level requirement of the service flow with a higher priority can be met first.
[0182] Since the first network device is also connected to the terminal through the second network device, after the first network device performs traffic shaping on the service flow with a lower priority, the service flow with a lower priority can be transmitted to the downstream second network device at a stable data transmission rate, that is, the service flow with a lower priority will not experience traffic bursts in the downstream second network device. Therefore, even if the downstream second network device does not have the function of service flow identification and QoS differentiated scheduling, it can also prevent the service flow with a lower priority from occupying the bandwidth resources of the service flow with a higher priority due to traffic bursts. In other words, by performing traffic shaping on the service flow with a lower priority through the first network device, it can ensure that the service flow with a higher priority can obtain a larger bandwidth when passing through the downstream second network device, thereby effectively guaranteeing the service level requirements of the service flow with a higher priority.
[0183] Furthermore, since traffic bursts of lower priority service flows can be avoided in the downstream second network device, the cache requirements of the second network device can be reduced, thereby reducing the device cost of the second network device. Furthermore, since the downstream second network device is not required to have the functions of service flow identification and QoS differentiated scheduling, the solution provided by the embodiment of the present application can be implemented without updating the second network device that does not have the above functions in the existing network, that is, the solution provided by the embodiment of the present application has high application flexibility and compatibility.
[0184] In addition, since the first network device can ensure that the reduced transmission rate threshold is greater than or equal to the average data transmission rate of the lower priority service flow when performing traffic shaping on the lower priority service flow, it can avoid affecting the service experience of the lower priority service flow.
[0185] Fig. 9 1 is a schematic diagram of a structure of a service flow scheduling device provided in an embodiment of the present application. The scheduling device can be applied to the first network device provided in the above method embodiment, and can be used to implement the service flow scheduling method provided in the above embodiment. For example, the scheduling device can implement Figure 5The function and execution of the first device Figure 5 The device may also be Figures 1 to 4 SR / BRAS in Fig. 9 As shown, the scheduling device of the service flow includes:
[0186] The scheduling module 301 is used to schedule the first service flow and the second service flow respectively based on the HQoS model, wherein the priority of the first service flow is higher than the priority of the second service flow. The function of the scheduling module 301 can refer to the relevant description of step 104 in the above method embodiment.
[0187] The adjustment module 302 is used to adjust the transmission rate threshold of the HQoS model for the second service flow to a first threshold when the transmission quality of the first service flow does not meet the service level requirement corresponding to the first service flow, and the first threshold is less than the current data transmission rate of the second service flow. That is, the adjustment module 302 can be used to perform traffic shaping on the second service flow.
[0188] The function of the adjustment module 302 can be realized by referring to the relevant description of step 108 in the above method embodiment. In addition, the adjustment module 302 can be used to realize Figure 6 The functions of the transmission quality monitoring unit 2024 and the traffic shaping unit 2025 in the illustrated embodiment.
[0189] In one implementation, the first threshold may be greater than or equal to an average data transmission rate of the second service flow.
[0190] In one implementation, the adjustment module 302 can be used to: when the transmission quality of the first business flow does not meet the service level requirement corresponding to the first business flow, and the current data transmission rate of the second business flow is greater than the peak threshold of the data transmission rate of the second business flow, adjust the HQoS model's transmission rate threshold for the second business flow to the first threshold.
[0191] The function of the adjustment module 302 can also be realized by referring to the relevant description of step 107 in the above method embodiment. In addition, the adjustment module 302 can also be used to realize Figure 6 The functions of the data statistics unit 2022 and the calculation unit 2023 in the illustrated embodiment.
[0192] In one implementation, the transmission rate threshold of the second service flow may include one or more of PIR, CAR, CIR and EIR.
[0193] In one implementation, the first network device can be connected to the terminal through the second network device; accordingly, the HQoS model may include: a first-level scheduler corresponding to the downlink port of the first network device, a second-level scheduler corresponding to the downlink port of the second network device, a first bottom-level scheduler for transmitting the first service flow through the downlink port of the second network device, and a second bottom-level scheduler for transmitting the second service flow through the downlink port of the second network device.
[0194] In one implementation, the adjustment module 302 may be used to adjust a transmission rate threshold of the second service flow of at least one of the first-level scheduler, the second-level scheduler, and the second bottom-level scheduler to a first threshold.
[0195] In one implementation, the adjustment module 302 may be used to determine a target scheduler where network congestion occurs when transmitting the first service flow, and adjust the transmission rate threshold of the target scheduler for the second service flow to a first threshold. The target scheduler may be a first-level scheduler or a second-level scheduler.
[0196] In one implementation, the sum of the transmission rate thresholds of the first-level scheduler for the first service flow and the second service flow is less than or equal to the maximum bandwidth of the downstream port of the first network device; the sum of the transmission rate thresholds of the second-level scheduler for the first service flow and the second service flow is less than or equal to the maximum bandwidth of the downstream port of the second network device.
[0197] In one implementation, the transmission rate threshold of the first underlying scheduler for the first service flow is less than or equal to the maximum bandwidth of the downstream port of the second network device; the transmission rate threshold of the second underlying scheduler for the second service flow is less than or equal to the maximum bandwidth of the downstream port of the second network device.
[0198] In one implementation, the first underlying scheduler may include a first queue for caching packets of a first service flow, and the second underlying scheduler may include a second queue for caching packets of a second service flow; the sum of the maximum queue cache of the first queue and the maximum queue cache of the second queue is less than or equal to the maximum port cache of a downstream port of the second network device.
[0199] In one implementation, the delay upper limit in the service level requirement of the first service flow may be smaller than the delay upper limit in the service level requirement of the second service flow. That is, the priority of the service flow may be divided based on the delay requirement of the service flow, and the service flow with higher delay requirement may have higher priority.
[0200] In one implementation, the scheduling module 301 may also be used to schedule a third service flow based on the HQoS model, where the priority of the third service flow is higher than the priority of the second service flow and lower than the priority of the first service flow.
[0201] The adjustment module 302 can also be used to: when the transmission rate threshold of the second business flow is less than or equal to the average data transmission rate of the second business flow, or when the current data transmission rate of the second business flow is less than or equal to the peak threshold of the data transmission rate of the second business flow, adjust the HQoS model's transmission rate threshold for the third business flow to a second threshold, and the second threshold is less than the current data transmission rate of the third business flow.
[0202] That is, if the adjustment module 302 determines that the second service flow does not meet the traffic shaping condition, it can perform traffic shaping on the third service flow with the second lowest priority. The function of the adjustment module 302 can also refer to the relevant description of step 109 in the above method embodiment.
[0203] In summary, an embodiment of the present application provides a scheduling device for a service flow, which can adjust the transmission rate threshold of the HQoS model for the service flow with a lower priority to a first threshold when the transmission quality of the service flow with a higher priority does not meet the service level requirement corresponding to the service flow. Since the first threshold is less than the current data transmission rate of the service flow with a lower priority, traffic shaping of the service flow with a lower priority can be achieved. Furthermore, the bandwidth of the downlink port of the first network device can be given to the service flow with a higher priority to ensure that the service level requirement of the service flow with a higher priority can be met first.
[0204] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the above-described scheduling device for the business flow and the specific working process of each module can refer to the corresponding process in the aforementioned method embodiment and will not be repeated here.
[0205] It should be understood that the service flow scheduling device provided in the embodiment of the present application can also be implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), and the above-mentioned PLD can be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof. The service flow scheduling method provided in the above-mentioned method embodiment can also be implemented by software. When the service flow scheduling method provided in the above-mentioned method embodiment is implemented by software, each module in the service flow scheduling device provided in the embodiment of the present application can also be a software module.
[0206] Fig.10 is a schematic diagram of the structure of another service flow scheduling device provided in an embodiment of the present application. For example, the device may be Figures 1 to 4 The service flow scheduling device can be applied to the first network device provided in the above embodiment, for example Figure 5 The method performed by the first device shown and the functions it has. Fig.10 , the scheduling device of the service flow may include: a processor 401, a memory 402, a network interface 403 and a bus 404. The bus 404 is used to connect the processor 401, the memory 402 and the network interface 403. The communication connection with other devices can be realized through the network interface 403. The memory 402 stores a computer program, which is used to realize various application functions.
[0207] It should be understood that in the embodiment of the present application, the processor 401 may be a CPU, and the processor 401 may also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), GPUs or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.
[0208] The memory 402 may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory. Among them, the non-volatile memory may be a ROM, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an EEPROM, or a flash memory. The volatile memory may be a RAM, which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous connection dynamic random access memory (SLDRAM) and direct rambus RAM (DR RAM).
[0209] In addition to the data bus, the bus 404 may also include a power bus, a control bus, a status signal bus, etc. However, for the sake of clarity, various buses are labeled as the bus 404 in the figure.
[0210] The processor 401 is configured to execute the computer program stored in the memory 402. The processor 401 implements the method for scheduling the service flow provided by the above method embodiment by executing the computer program 4021, for example, executing Figure 5 The method is performed by the first network device shown. In one implementation, the processor 401 is used to schedule the first service flow and the second service flow respectively based on the HQoS model, wherein the priority of the first service flow is higher than the priority of the second service flow; and is also used to adjust the transmission rate threshold of the HQoS model for the second service flow to a first threshold when the transmission quality of the first service flow does not meet the service level requirement corresponding to the first service flow, and the first threshold is less than the current data transmission rate of the second service flow.
[0211] Fig.11 is a structural diagram of another service flow scheduling device provided in an embodiment of the present application, for example, it may be Figures 1 to 4 The service flow scheduling device can be applied to the first network device provided in the above embodiment, for example, to execute Figure 5 The method performed by the first network device shown. Fig.11 As shown, the scheduling device 500 may include: a main control board 501, an interface board 502 and an interface board 503. In the case of multiple interface boards, a switching network board (not shown in the figure) may be included, and the switching network board is used to complete data exchange between each interface board (interface board is also called line card or service board).
[0212] The main control board 501 is used to complete functions such as system management, equipment maintenance, and protocol processing. The interface boards 502 and 503 are used to provide various service interfaces, such as packet over SONET / SDH (POS) interface, Gigabit Ethernet (GE) interface, asynchronous transfer mode (ATM) interface, etc., and realize message forwarding. Among them, SONET refers to synchronous optical network, and SDH refers to synchronous digital hierarchy. There are mainly three types of functional units on the main control board 501: system management control unit, system clock unit, and system maintenance unit. The main control board 501, interface board 502, and interface board 503 are connected to the system backplane through the system bus to achieve intercommunication. The interface board 502 includes one or more processors 5021. The processor 5021 is used to control and manage the interface board and communicate with the central processor 5011 on the main control board 501, and is used for message forwarding processing. The memory 5022 on the interface board 502 is used to store forwarding table entries, and the processor 5021 forwards the message by searching the forwarding table entries stored in the memory 5022 .
[0213] The interface board 502 includes one or more network interfaces 5023 for receiving messages sent by the previous hop node and sending processed messages to the next hop node according to the instruction of the processor 5021. The specific implementation process is not repeated here one by one. The specific functions of the processor 5021 are also not repeated here one by one.
[0214] It is understandable that Fig.11 As shown, this embodiment includes multiple interface boards and adopts a distributed forwarding mechanism. Under this mechanism, the structure of the interface board 503 is basically similar to that of the interface board 502, and the operations on the interface board 503 are basically similar to those of the interface board 502. For the sake of brevity, they will not be described in detail. In addition, it can be understood that Fig.11 The processor 5021 and / or 5031 in the interface board can be dedicated hardware or chip, such as a network processor or a dedicated integrated circuit to implement the above functions. This implementation is what is usually called the forwarding plane using dedicated hardware or chip processing. In another embodiment, the processor 5021 and / or 5031 can also use a general-purpose processor, such as a general-purpose CPU to implement the above-described functions.
[0215] In addition, it should be understood that there may be one or more main control boards, and when there are multiple boards, they may include a main main control board and a standby main control board. There may be one or more interface boards, and the stronger the data processing capability of the first network device, the more interface boards are provided. In the case of multiple interface boards, the multiple interface boards can communicate with each other through one or more switching network boards, and when there are multiple boards, load sharing redundant backup can be achieved together. Under a centralized forwarding architecture, the first network device may not need a switching network board, and the interface board assumes the processing function of the business data of the entire system. Under a distributed forwarding architecture, the first network device includes multiple interface boards, and data exchange between multiple interface boards can be achieved through the switching network board, providing large-capacity data exchange and processing capabilities. Therefore, the data access and processing capabilities of network devices with a distributed architecture are greater than those of network devices with a centralized architecture. Which architecture to adopt depends on the specific networking deployment scenario, and no limitation is made here.
[0216] In a specific embodiment, the memory 5022 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a disk or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 5022 may exist independently and be connected to the processor 5021 via a communication bus. The memory 5022 may also be integrated with the processor 5021.
[0217] The memory 5022 is used to store program codes, and is controlled by the processor 5021 to execute the method for scheduling service flows provided in the above embodiment. The processor 5021 is used to execute the program codes stored in the memory 5022. The program codes may include one or more software modules. The one or more software modules may be the above embodiment. Fig. 9 Functional modules in the illustrated embodiment.
[0218] In a specific embodiment, the network interface 5023 can be a device using any network interface type for communicating with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area networks (WLAN), etc.
[0219] The present application also provides a computer-readable storage medium, in which instructions are stored. When the instructions or codes are executed on a computer, the computer is enabled to execute the method for scheduling the service flow provided in the above method embodiment, for example, Figure 5 The method is performed by the first network device shown.
[0220] The present application also provides a computer program product including instructions. When the computer program product is run on a computer, the computer executes the method for scheduling the service flow provided in the above method embodiment, for example, Figure 5 The method is performed by the first network device shown.
[0221] The present application also provides a chip including a programmable logic circuit and / or a program instruction. The chip can be used to execute the method for scheduling the service flow provided in the above method embodiment, for example, to execute Figure 5 The method is performed by the first network device shown. Optionally, the chip may be a traffic management (TM) chip.
[0222] An embodiment of the present application further provides a network device, which may be the first network device in the above embodiment and may be used to implement the service flow scheduling method provided in the above embodiment.
[0223] In a possible implementation, the network device may include the service flow scheduling device provided in the above embodiment. For example, the network device may include Fig. 9 , Fig.10 or Fig.11 The service flow scheduling device shown in FIG. 1 is a flow chart showing a flow chart of a network device. In another possible implementation, the network device may include the chip provided in the above embodiment.
[0224] An embodiment of the present application also provides a traffic scheduling system, which includes a terminal and a first network device, and the first network device is used to schedule a service flow to the terminal.
[0225] In a possible implementation, the first network device may include the service flow scheduling device provided in the above embodiment. For example, the first network device may include Fig. 9 , Fig.10or Fig.11 The service flow scheduling device shown in FIG. 1 is a service flow scheduling device shown in FIG. 1 . In another possible implementation, the first network device may include the chip provided in the above embodiment.
[0226] Optionally, refer to Figures 1 to 4 , the first network device may be SR / BRAS 20, LSW 30, OLT 40 or ONT 50 in the traffic scheduling system. In the embodiment of the present application, the traffic scheduling system may further include one or more cascaded second network devices, and the first network device may be connected to the terminal through the one or more cascaded second network devices. For example, referring to Figures 1 to 4 In one scenario, the first network device is SR / BRAS 20, and the traffic scheduling system may further include a second network device, which is any one of LSW 30, OLT 40 and ONT 50. In another scenario, the first network device is SR / BRAS 20, and the traffic scheduling system may further include two second network devices, which are any two of LSW 30, OLT 40 and ONT 50. In another scenario, the first network device is SR / BRAS 20, and the traffic scheduling system may further include three second network devices cascaded in sequence, which are LSW 30, OLT 40 and ONT 50. That is, SR / BRAS 20 as the first network device can be connected to the terminal through LSW 30, OLT 40 and ONT 50 cascaded in sequence.
[0227] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a digital versatile disc (DVD)), or a semiconductor medium (eg, a solid state disk (SSD)).
[0228] It should be understood that the term "at least one" mentioned herein means one or more, and "plurality" means two or more. In the description of the present application, in order to facilitate the clear description of the technical solutions of the embodiments of the present application, the words "first", "second" and the like are used to distinguish between the same items or similar items with substantially the same functions and effects. Those skilled in the art will understand that the words "first", "second" and the like do not limit the quantity and execution order. The terms "system" and "network" are used interchangeably herein.
[0229] It should also be understood that the "and / or" mentioned in this article indicates that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the objects before and after are in an "or" relationship.
[0230] The above is only an optional implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in the present application, and these modifications or replacements should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.
Claims
1. A method for scheduling a service flow, characterized in that: Applied to a first network device, the method comprises: Scheduling a first service flow and a second service flow respectively based on a hierarchical quality of service HQoS model, wherein a priority of the first service flow is higher than a priority of the second service flow; When the transmission quality of the first service flow does not meet the service level requirement corresponding to the first service flow, and the second service flow meets the traffic shaping condition of the second service flow, adjusting the transmission rate threshold of the HQoS model for the second service flow to a first threshold, where the first threshold is less than the current data transmission rate of the second service flow; Among them, the traffic shaping conditions of the second business flow include: the transmission rate threshold of the HQoS model for the second business flow is greater than the average data transmission rate of the business flow, and the current data transmission rate of the second business flow is greater than the peak threshold of the data transmission rate of the second business flow.
2. The method according to claim 1, characterized in that The first threshold is greater than or equal to an average data transmission rate of the second service flow.
3. The method according to claim 1, characterized in that The transmission rate threshold of the second service flow includes one or more of a peak information rate PIR, a committed access rate CAR, a committed information rate CIR, and an excess information rate EIR.
4. The method according to any one of claims 1 to 3, characterized in that: The first network device is connected to the terminal via the second network device; The HQoS model includes: a first-level scheduler corresponding to the downlink port of the first network device, a second-level scheduler corresponding to the downlink port of the second network device, a first bottom-level scheduler for transmitting the first service flow through the downlink port of the second network device, and a second bottom-level scheduler for transmitting the second service flow through the downlink port of the second network device.
5. The method according to claim 4, characterized in that The step of adjusting the transmission rate threshold of the HQoS model for the second service flow to a first threshold includes: Adjust the transmission rate threshold of at least one of the first-level scheduler, the second-level scheduler and the second bottom-level scheduler for the second service flow to the first threshold.
6. The method according to claim 4, characterized in that The step of adjusting the transmission rate threshold of the HQoS model for the second service flow to a first threshold includes: Determine a target scheduler where network congestion occurs during transmission of the first service flow, the target scheduler being the first-level scheduler or the second-level scheduler; Adjust the transmission rate threshold of the target scheduler for the second service flow to the first threshold.
7. The method according to claim 4, characterized in that The sum of the transmission rate thresholds of the first service flow and the second service flow by the first-level scheduler is less than or equal to the maximum bandwidth of the downlink port of the first network device; The sum of the transmission rate thresholds of the second-level scheduler for the first service flow and the second service flow is less than or equal to the maximum bandwidth of the downlink port of the second network device.
8. The method according to claim 4, characterized in that The first bottom layer scheduler includes a first queue for caching messages of the first service flow, and the second bottom layer scheduler includes a second queue for caching messages of the second service flow; The sum of the maximum queue buffer of the first queue and the maximum queue buffer of the second queue is less than or equal to the maximum port buffer of the downlink port of the second network device.
9. The method according to any one of claims 1 to 3 and 5 to 8, characterized in that: The delay upper limit in the service level requirement of the first service flow is smaller than the delay upper limit in the service level requirement of the second service flow.
10. The method according to any one of claims 1 to 3 and 5 to 8, characterized in that: The method further comprises: Scheduling a third service flow based on the HQoS model, where a priority of the third service flow is higher than a priority of the second service flow and lower than a priority of the first service flow; If it is detected that the second service flow does not meet the traffic shaping condition of the second service flow, the transmission rate threshold of the HQoS model for the third service flow is adjusted to a second threshold, and the second threshold is less than the current data transmission rate of the third service flow.
11. A service flow scheduling device, characterized in that: Applied to the first network device, the scheduling device includes: A scheduling module, configured to schedule a first service flow and a second service flow respectively based on a hierarchical quality of service HQoS model, wherein a priority of the first service flow is higher than a priority of the second service flow; an adjustment module, configured to adjust, when the transmission quality of the first service flow does not meet the service level requirement corresponding to the first service flow and the second service flow meets the traffic shaping condition of the second service flow, a transmission rate threshold of the HQoS model for the second service flow to a first threshold, wherein the first threshold is less than a current data transmission rate of the second service flow; Among them, the traffic shaping conditions of the second business flow include: the transmission rate threshold of the HQoS model for the second business flow is greater than the average data transmission rate of the business flow, and the current data transmission rate of the second business flow is greater than the peak threshold of the data transmission rate of the second business flow.
12. The dispatching device according to claim 11, characterized in that: The first threshold is greater than or equal to an average data transmission rate of the second service flow.
13. The dispatching device according to any one of claim 11, characterized in that: The transmission rate threshold of the second service flow includes one or more of a peak information rate PIR, a committed access rate CAR, a committed information rate CIR, and an excess information rate EIR.
14. The dispatching device according to any one of claims 11 to 13, characterized in that: The first network device is connected to the terminal via the second network device; The HQoS model includes: a first-level scheduler corresponding to the downlink port of the first network device, a second-level scheduler corresponding to the downlink port of the second network device, a first bottom-level scheduler for transmitting the first service flow through the downlink port of the second network device, and a second bottom-level scheduler for transmitting the second service flow through the downlink port of the second network device.
15. The dispatching device according to claim 14, characterized in that: The adjustment module is used for: Adjust the transmission rate threshold of at least one of the first-level scheduler, the second-level scheduler and the second bottom-level scheduler for the second service flow to the first threshold.
16. The dispatching device according to claim 14, characterized in that: The adjustment module is used for: Determine a target scheduler where network congestion occurs during transmission of the first service flow, the target scheduler being the first-level scheduler or the second-level scheduler; Adjust the transmission rate threshold of the target scheduler for the second service flow to the first threshold.
17. The dispatching device according to any one of claim 14, characterized in that: The sum of the transmission rate thresholds of the first service flow and the second service flow by the first-level scheduler is less than or equal to the maximum bandwidth of the downlink port of the first network device; The sum of the transmission rate thresholds of the second-level scheduler for the first service flow and the second service flow is less than or equal to the maximum bandwidth of the downlink port of the second network device.
18. The dispatching device according to any one of claim 14, characterized in that: The first bottom layer scheduler includes a first queue for caching messages of the first service flow, and the second bottom layer scheduler includes a second queue for caching messages of the second service flow; The sum of the maximum queue buffer of the first queue and the maximum queue buffer of the second queue is less than or equal to the maximum port buffer of the downlink port of the second network device.
19. The dispatching device according to any one of claims 11 to 13 and 15 to 18, characterized in that: The delay upper limit in the service level requirement of the first service flow is smaller than the delay upper limit in the service level requirement of the second service flow.
20. The dispatching device according to any one of claims 11 to 13 and 15 to 18, characterized in that: The scheduling module is further used to schedule a third service flow based on the HQoS model, where the priority of the third service flow is higher than the priority of the second service flow and lower than the priority of the first service flow; The adjustment module is also used to adjust the transmission rate threshold of the HQoS model for the third business flow to a second threshold when it is detected that the second business flow does not meet the traffic shaping condition of the second business flow, and the second threshold is less than the current data transmission rate of the third business flow.
21. A service flow scheduling device, characterized in that: The service flow scheduling device includes a memory and a processor, the memory is used to store a computer program or code, and the processor is used to execute the computer program or code to implement the service flow scheduling method as described in any one of claims 1 to 10.
22. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes instructions or codes, and when the instructions or codes are executed on a computer, the computer executes the method for scheduling a service flow as described in any one of claims 1 to 10.
23. A chip, characterized in that: The chip includes a programmable logic circuit and / or program instructions, and the chip is used to execute the service flow scheduling method as described in any one of claims 1 to 10.
24. A traffic scheduling system, characterized in that: The traffic scheduling system includes a terminal and a first network device, the first network device is used to schedule a first service flow and a second service flow of the terminal, and the first network device includes a scheduling device as described in any one of claims 11 to 21.
25. The flow scheduling system according to claim 24, characterized in that: The traffic scheduling system also includes a second network device, and the first network device is connected to the terminal through the second network device.
Citation Information
Patent Citations
Hierarchical QoS behavioral model
US20050249220A1
Congestion processing method, host, and system
US20190068503A1
Cited By
Method, apparatus and system for scheduling service flow
WO2022135202A1