WO2021197198A1 - 流量调度方法和网络处理器 - Google Patents

流量调度方法和网络处理器 Download PDF

Info

Publication number
WO2021197198A1
WO2021197198A1 PCT/CN2021/082979 CN2021082979W WO2021197198A1 WO 2021197198 A1 WO2021197198 A1 WO 2021197198A1 CN 2021082979 W CN2021082979 W CN 2021082979W WO 2021197198 A1 WO2021197198 A1 WO 2021197198A1
Authority
WO
WIPO (PCT)
Prior art keywords
scheduling unit
queue
priority
scheduling
level
Prior art date
Application number
PCT/CN2021/082979
Other languages
English (en)
French (fr)
Inventor
王华山
朱智华
石金锋
许建文
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2021197198A1 publication Critical patent/WO2021197198A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2491Mapping quality of service [QoS] requirements between different networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority

Definitions

  • This application relates to the technical field of traffic management, for example, to a traffic scheduling method and a network processor.
  • Network resources are always limited. When there is a situation of snatching network resources, the requirements for Quality of Service (QoS) will appear.
  • QoS Quality of Service
  • Service quality is relative to network services. While ensuring the service quality of one type of service, it may damage the service quality of other services. For example, in the case of a fixed total network bandwidth, if a type of service occupies more bandwidth, then other services can use less bandwidth, thereby affecting the use of other services. Therefore, it is necessary to reasonably plan and allocate network resources according to the characteristics of multiple services, so that network resources can be efficiently used.
  • This application provides a traffic scheduling method and a network processor to meet the requirements of different services.
  • a traffic scheduling method including:
  • the current scheduling unit in the network processor transfers the service queue to the upper-level scheduling unit, wherein the priority of the transferred service queue remains unchanged until the service queue is transferred to the upper-level scheduling unit, so that the upper-level scheduling
  • the unit performs flow authorization and issues the flow authorization according to the priority and flow requirements of all service queues; the current scheduling unit is based on the flow authorization of the upper-level scheduling unit, the priority and flow requirements of the service queue, Perform flow authorization of the service queue.
  • a network processor is also provided, including cascaded multi-level scheduling units; wherein, the current scheduling unit is set to transfer service queues to the upper-level scheduling unit, and the priority of the service queues after the transfer remains unchanged until all The service queue is passed to the uppermost scheduling unit; the uppermost scheduling unit is set to perform flow authorization and issue the flow authorization according to the priority and flow requirements of all service queues; the current scheduling unit is also set to be based on the The flow authorization of the upper-level scheduling unit, the priority and the flow demand of the service queue, and the flow authorization of the service queue are performed.
  • FIG. 1 is a flowchart of a traffic scheduling method provided by an embodiment of the application
  • FIG. 2 is a schematic diagram of a cascading relationship of multiple scheduling units in a network processor provided by an embodiment of the application;
  • Fig. 3 is a schematic structural diagram of a weighted fair queuing 8 (WFQ8) scheduling unit provided by an embodiment of the application;
  • WFQ8 weighted fair queuing 8
  • FIG. 4 is a schematic diagram of the division of a fair queuing (Fair Queuing, FQ) scheduling unit according to an embodiment of the application;
  • FQ Fair Queuing
  • FIG. 5 is a schematic diagram of the division of a WFQ scheduling unit or a strict priority (Strict-Priority, SP) scheduling unit according to an embodiment of the application;
  • FIG. 6 is a flowchart of another traffic scheduling method provided by an embodiment of the application.
  • FIG. 7 is a flowchart of another traffic scheduling method provided by an embodiment of the application.
  • FIG. 8 is a structural diagram of a network processor provided by an embodiment of this application.
  • FIG. 1 is a flow chart of a traffic scheduling method provided by an embodiment of this application.
  • This embodiment is applicable to the situation where the corresponding service queue obtains traffic authorization through traffic scheduling, and the size of the traffic authorization corresponds to the size of the traffic, such as that obtained by service queue A If the traffic authorization is 50M, it can be considered that service queue A has obtained 50M traffic.
  • This method can be executed by a network processor (Network Processor, NP), which is a programmable device and is applied in the communication field.
  • the NP includes a scheduling unit.
  • the scheduling unit is also called a scheduler. It is an important module for traffic scheduling and a basic unit to complete traffic scheduling. It generally includes three types: SP type scheduling unit, FQ type scheduling unit and WFQ type scheduling unit.
  • the SP-type scheduling unit is mainly aimed at some key services, which require priority access to services when congestion occurs to reduce the response delay.
  • This type of scheduling unit can correspond to 12 priority levels, numbered from 0 to 11, and the priority levels decrease sequentially.
  • queue scheduling the SP type scheduling unit sends packets in the higher priority queue in strict accordance with the priority order from high to low, and when the higher priority queue is empty, then sends the packets in the lower priority queue. .
  • the key business packets are placed in a higher priority queue, and the non-critical business packets are placed in a lower priority queue, so as to ensure that the key business packets are transmitted preferentially, and the non-critical business packets are processed in the critical business.
  • the free gap of data is transmitted.
  • the FQ scheduling unit maximizes the delay and jitter of all streams as much as possible. It provides a fair scheduling opportunity for each service queue in a round-robin manner, and overall balances the delays of multiple service queues. .
  • the WFQ-type scheduling unit adds weight considerations when calculating the queue scheduling sequence. From the statistics, the number of scheduling times and the configured weights of multiple queues or schedulers with the same priority under the WFQ-type scheduling unit Directly proportional.
  • the above three types of scheduling units are all composed of scheduling basic units, which are also called minimum scheduling units.
  • the scheduling unit may be composed of multiple scheduling basic units.
  • the FQ type scheduling unit Take the FQ type scheduling unit as an example.
  • the traffic scheduling method may include the following steps:
  • the current scheduling unit in the network processor transfers the corresponding service queue to the upper-level scheduling unit, and the priority of the corresponding service queue after the transfer remains unchanged until the corresponding service queue is transferred to the uppermost scheduling unit, so that the uppermost
  • the scheduling unit performs flow authorization according to the priority and flow requirements of all service queues and issues the flow authorization.
  • the scheduling unit inside the NP can schedule the traffic of the service queue through a certain connection, so as to realize the authorization of the traffic of different service queues.
  • the current scheduling unit, the upper-level scheduling unit, and the upper-level scheduling unit are the scheduling units inside the NP.
  • the current scheduling unit, the upper-level scheduling unit, and the upper-level scheduling unit are based on the cascading relationship between multiple scheduling units.
  • the cascading relationship between the current scheduling unit, the upper-level scheduling unit, and the upper-level scheduling unit can be set according to business requirements.
  • Service queues are services determined by the scheduling unit based on the traffic scheduling request sent by the user. Each service occupies one queue. For example, if the user's traffic scheduling request includes 4 services, there are 4 service queues corresponding to the user.
  • Each business can also correspond to a priority according to demand. The higher the priority, the more important the business is.
  • priority can be granted to the business queue with the higher priority to meet the needs of key services first.
  • the priority corresponding to each business can be set by the user according to actual needs.
  • the priority of multiple services of the same user can be the same or different. Common services include Class Selector 7, CS7, CS6, Expedited Forwarding (EF), Assured Forwarding 4 (AF4), AF3, AF2, AF1, and Default (BE) ,
  • EF Expedited Forwarding
  • AF4 Assured Forwarding 4
  • BE Default
  • the service queue corresponding to this embodiment can be selected from the service queues corresponding to the above-mentioned services.
  • the priority of the corresponding service queue after delivery remains unchanged means that the priority of the service queue corresponding to the current scheduling unit is the same as the priority corresponding to the upper-level scheduling unit.
  • FIG. 2 is a schematic diagram of a cascading relationship of multiple scheduling units in a network processor according to an embodiment of the application.
  • the hierarchy of the scheduling unit and the connection relationship of the multi-level scheduling unit are shown in Figure 2.
  • the number of levels of the scheduling unit and the number of scheduling units included in each level can be set according to requirements.
  • Figure 2 takes four levels as an example.
  • Queue scheduling unit 1 and queue scheduling unit 2 are the first level
  • the intermediate scheduling unit is the second level
  • the port scheduling unit is the third level
  • the uppermost scheduling unit is the fourth level.
  • the current scheduling unit can be a queue scheduling unit 1, a queue scheduling unit 2, an intermediate scheduling unit, or a port scheduling unit.
  • the upper level scheduling unit is the intermediate scheduling unit .
  • connection point SP0 of the intermediate scheduling unit shown in FIG. 2 is connected to two service queue scheduling units, namely queue scheduling unit 1 and Queue scheduling unit 2.
  • Each connection point corresponds to a priority.
  • SP0-SP3 represents four connection points, representing four priority levels, and the priority levels are sequentially reduced.
  • the queue scheduling unit is configured to obtain service queues of multiple users and upload the multiple service queues to the intermediate scheduling unit, from the intermediate scheduling unit to the port scheduling unit, and finally from the port scheduling unit to the uppermost scheduling unit.
  • Figure 2 exemplarily shows two queue scheduling units, namely queue scheduling unit 1 and queue scheduling unit 2.
  • the service queues connected to queue scheduling unit 1 and queue scheduling unit 2 can be the same user or different users. Yes, Figure 2 takes different users as an example. For example, q0-q3 are four service queues for user A, and q4-q7 are four service queues for user B. Each service queue corresponds to a priority, and the same priority can also correspond to multiple Business queue.
  • the top-level scheduling unit can be understood as the central processing unit of the network processor, which is set to perform flow authorization and issue flow authorization according to the priority of the service queue delivered by the lower-level scheduling unit, traffic demand, and the total flow available for authorization.
  • the total traffic available for authorization is 500M, it will be scheduled by the port scheduling unit to first meet the traffic demand of SP0 according to the priority of the port scheduling unit, and then meet the traffic demand of SP1-SP3 in turn, when it can be used for authorization When the total traffic is not enough, low-priority services will not be authorized.
  • the SP0 of the port scheduling unit needs a 500M traffic authorization
  • the SP1-SP3 of the port scheduling unit will get Without authorization, the required traffic cannot be obtained.
  • the port scheduling unit obtains the flow authorization
  • it is issued to the intermediate scheduling unit in turn.
  • the issuing process is similar, that is, the authorization of high-priority services is satisfied first, and the authorization of low-priority services is satisfied in turn.
  • the intermediate scheduling unit obtains the flow authorization, it is issued to the queue scheduling unit in turn, and the queue scheduling unit delivers to the corresponding service queue, and the service queue can be unblocked after the flow is authorized.
  • the type of the multi-level scheduling unit can be selected according to requirements.
  • the multi-level scheduling unit can adopt the same type of scheduling unit or different types of scheduling units.
  • the service queue scheduling unit, intermediate scheduling unit, and port scheduling unit in this embodiment take the WFQ scheduling unit or the FQ scheduling unit or the combination of the WFQ scheduling unit and the FQ scheduling unit as an example to ensure priority in the service queue transmission process The level remains unchanged.
  • the corresponding priorities of service queue q0 and service queue q1 in queue scheduling unit 1 are SP0 and SP1, when passed to the upper level, that is, the intermediate scheduling unit, the corresponding priorities are still SP0 and SP1.
  • Non-priority delivery means that the lower-level scheduling unit can only be connected to the same connection point of the upper-level scheduling unit, that is, the services in the lower-level scheduling unit can only reflect one priority in the upper-level scheduling unit, and cannot distinguish multiple priorities.
  • non-priority delivery means that the four SP0-SP3 of the service queue scheduling unit 1 can only be connected to one of the SP0-SP3 of the intermediate scheduling unit.
  • the current scheduling unit performs flow authorization of the corresponding service queue according to the flow authorization of the upper-level scheduling unit, the priority of the corresponding service queue, and the flow demand.
  • the intermediate scheduling unit issues the traffic authorization corresponding to SP0 to the queue scheduling unit 1 and the queue scheduling unit 2
  • the queue scheduling unit 1 and the queue scheduling unit 2 respectively issue the received traffic authorizations to The corresponding service queue q0 and service queue q4.
  • the traffic authorization finally obtained by the service queue may not be the same as the traffic authorization actually required.
  • the intermediate scheduling unit issues traffic authorizations
  • the traffic authorizations can be issued to the corresponding service queues on average, or they can be issued to the corresponding service queues according to a certain weight.
  • the issuing method is the same as
  • the type of scheduling unit is related. For example, when the intermediate scheduling unit is an FQ type scheduling unit, the flow authorization can be evenly distributed to the queue scheduling unit 1 and the queue scheduling unit 2.
  • the intermediate scheduling unit is a WFQ type scheduling unit, the flow can be authorized It is sent to the queue scheduling unit 1 and the queue scheduling unit 2 according to the set weight. The size of the weight can be set by the user.
  • the intermediate scheduling unit is a WFQ scheduling unit
  • the traffic authorization received by the intermediate scheduling unit SP0 is 30M.
  • the priority of the two service queues corresponding to the SP0 of the intermediate scheduling unit is the same, but the weights are respectively 0.1 and 0.2, the traffic authorization obtained by the SP0 of the service queue unit 1 is 10M, and the traffic authorization obtained by the SP0 of the queue scheduling unit 2 is 20M.
  • the embodiment of the application provides a traffic scheduling method.
  • the method transmits the corresponding service queue to the upper-level scheduling unit through the current scheduling unit in the network processor, and the priority of the corresponding service queue after the transmission remains unchanged until the corresponding service queue is delivered To the highest-level scheduling unit; the highest-level scheduling unit performs flow authorization according to the priority and flow requirements of all service queues and issues the flow authorization; the current scheduling unit is based on the flow authorization of the upper-level scheduling unit and the corresponding service queue Priority and flow requirements, and perform flow authorization for corresponding service queues.
  • the priority of the corresponding service queue is also considered when traffic scheduling is performed, and the priority remains unchanged during the uploading process of the service queue, so that the uppermost scheduling unit can perform flow authorization according to the priority of the corresponding service queue, thereby Meet the needs of different businesses.
  • the top-level scheduling unit pre-determines the number of multi-level scheduling units and the number of multi-level scheduling units according to the received traffic scheduling request before the current scheduling unit passes the corresponding service queue to the next level scheduling unit. Cascade relationship.
  • the traffic scheduling request can include information such as the number of services, business priorities, priority weights, and traffic requirements of each business, and each business priority It can correspond to a priority weight, the magnitude is between 0 and 1, and the priority weights corresponding to multiple business priorities can be the same or different, and they do not affect each other.
  • the network processor determines the number of levels, the type and number of multi-level scheduling units, and the cascade relationship according to the received traffic scheduling request, and creates a traffic scheduling architecture as shown in FIG. 2. Among them, the number of scheduling basic units included in each type of scheduling unit can be dynamically selected according to actual service requirements.
  • the selected scheduling unit may only include two scheduling basic units.
  • the scheduling unit of this embodiment takes an FQ type scheduling unit or a WFQ type scheduling unit as an example, and the number of scheduling basic units included in the FQ type scheduling unit and the WFQ type scheduling unit is 2, 4, or 8. That is, the port scheduling unit, intermediate scheduling unit, and queue scheduling unit of this embodiment can be deployed in FQ2 scheduling unit, FQ4 scheduling unit, FQ8 scheduling unit, WFQ2 scheduling unit, WFQ4 scheduling unit, and WFQ8 scheduling unit according to requirements. In this way, you can ensure that the priority of the service queue remains unchanged during the upload process.
  • the FQX scheduling unit is divided into equal parts according to the minimum scheduling unit in the storage resource design.
  • a minimum scheduling unit can be set to store the storage information of a single FQ scheduling unit, and the combination of two minimum scheduling units can be set to store FQ2 scheduling.
  • the combined splicing of the four minimum scheduling units can be set to store the storage information of the FQ4 scheduling unit, and the combined splicing of the eight minimum scheduling units can be set to store the storage information of the FQ8 scheduling unit.
  • the FQ8 scheduling unit can reflect eight strict priority SP0-SP7 internally for priority scheduling, and it contains eight FQ scheduling units and eight connection points, each connection point corresponding to a priority ,
  • the number of lower-level scheduling units that can be connected to each connection point is not limited, and the same applies to other FQ-type scheduling units.
  • the smallest scheduling unit is also called the basic scheduling unit.
  • the storage resource design of WFQX scheduling unit is also divided into equal parts according to the minimum scheduling unit.
  • a minimum scheduling unit can be set to store the storage information of a single SP scheduling unit or WFQ scheduling unit, and two minimum scheduling units can be combined and spliced.
  • the combined splicing of the four minimum scheduling units can be set to store the storage information of the WFQ4 scheduling unit, and the combined splicing of the eight minimum scheduling units can be set to store the storage information of the FQ8 scheduling unit.
  • the WFQ8 scheduling unit can reflect eight strict priority SP0-SP7 internally for priority scheduling, and it contains eight WFQ scheduling units and eight connection points, each connection point corresponding to a priority
  • the weight can be configured, and the number of lower-level scheduling units that can be connected to each connection point is not limited, and the other WFQ-type scheduling units are analogous to the same.
  • FIG. 3 is a schematic structural diagram of a WFQ8 scheduling unit provided by an embodiment of the application, and the structures of other scheduling units are similar.
  • the WFQ8 scheduling unit embodies eight strict priority SP0-SP7 for priority scheduling, and includes eight WFQ type scheduling units and eight connection points.
  • Each connection point reflects its corresponding Priority and configurable weights, each connection point can be connected to an unlimited number of lower-level schedulers, for example, two FQ4 scheduling units/WFQ4 scheduling units or four FQ2 scheduling units/WFQ2 scheduling units can be connected.
  • the positions corresponding to SP0-SP7 are the connection points.
  • WFQ2, WFQ4, and WFQ8 scheduling units share a resource pool, and the FQ2, FQ4, and FQ8 scheduling units share another resource pool.
  • WFQ2 scheduling unit, WFQ4 scheduling unit and WFQ8 scheduling unit, or FQ2 scheduling unit, FQ4 scheduling unit and FQ8 scheduling unit can be determined according to the threshold. When the threshold is set to 0, it means that no such scheduling is allocated. ⁇ resources.
  • FIG. 4 is a schematic diagram of the division of an FQ scheduling unit according to an embodiment of the application.
  • the scheduling unit threshold For a scheduling unit, the larger the threshold, the greater the number of basic scheduling units included in the scheduling unit.
  • the scheduling unit threshold shown in FIG. 4 increases sequentially from top to bottom.
  • SE represents the minimum scheduling unit, that is, the basic scheduling unit.
  • FIG. 5 is a schematic diagram of the division of a WFQ scheduling unit or an SP scheduling unit according to an embodiment of the application. The threshold value is different, the number of SEs included in the scheduling unit is different, and the type of the corresponding scheduling unit is different. .
  • FIG. 6 is a flowchart of another traffic scheduling method provided by an embodiment of the application.
  • Fig. 6 exemplarily shows the flow scheduling process when the upper-level scheduling unit is an FQ-type scheduling unit.
  • the current scheduling unit in the network processor transfers the corresponding service queue to the upper-level scheduling unit, and the priority of the corresponding service queue after the transfer remains unchanged until the corresponding service queue is transferred to the uppermost
  • the scheduling unit performs flow authorization according to the priority and flow requirements of all service queues and issues the flow authorization.
  • the current scheduling unit receives the flow authorization issued by the upper-level scheduling unit on average, and performs processing according to the priority and flow demand of the corresponding service queue. Corresponding to the traffic authorization of the service queue.
  • the intermediate scheduling unit is an FQ4 scheduling unit
  • SP0 will evenly distribute the received traffic authorization to the SP0 of queue scheduling unit 1 and the SP0 of queue scheduling unit 2.
  • the SP0 of queue scheduling unit 1 and the queue The SP0 of the scheduling unit 2 is then issued to the corresponding service queue q0 and service queue q4, where the traffic authorization actually received by the service queue q0 and the service queue q4 may be less than the traffic authorization required by each.
  • Fig. 7 is a flowchart of another traffic scheduling method provided by an embodiment of the application.
  • Fig. 7 exemplarily shows the flow scheduling process when the upper-level scheduling unit is a WFQ scheduling unit.
  • the current scheduling unit in the network processor transfers the corresponding service queue to the upper-level scheduling unit, and the priority of the corresponding service queue after the transfer remains unchanged until the corresponding service queue is transferred to the uppermost scheduling unit, so that the uppermost
  • the scheduling unit performs flow authorization according to the priority and flow requirements of all service queues and issues the flow authorization.
  • the current scheduling unit receives the traffic authorization issued by the upper-level scheduling unit according to the priority weight corresponding to the priority of the corresponding service queue. And according to the priority and flow demand of the corresponding service queue, the flow authorization of the corresponding service queue is performed.
  • the intermediate scheduling unit is a WFQ4 scheduling unit
  • SP0 will authorize the received traffic according to the priority corresponding to the SP0 of the queue scheduling unit 1 and the SP0 of the queue scheduling unit 2.
  • the priority weights are assigned.
  • the priority weights corresponding to SP0 of queue scheduling unit 1 and SP0 of queue scheduling unit 2 are the priority weights corresponding to service queue q0 and service queue q4, respectively.
  • For the delivery process please refer to the previous section. Go into details.
  • the embodiment of the application provides a traffic scheduling method, which adopts one or more of FQ2 scheduling unit, FQ4 scheduling unit, FQ8 scheduling unit, WFQ2 scheduling unit, WFQ4 scheduling unit, and WFQ8 scheduling unit.
  • FQ2 scheduling unit FQ4 scheduling unit
  • FQ8 scheduling unit WFQ2 scheduling unit
  • WFQ4 scheduling unit WFQ8 scheduling unit
  • FIG. 8 is a structural diagram of a network processor provided by an embodiment of this application.
  • the network processor can execute the above-mentioned traffic scheduling method.
  • the network processor includes cascaded multi-level scheduling units, which are queue scheduling unit 11, intermediate scheduling unit 12, port scheduling unit 13, and central processing unit 14 in a bottom-up order.
  • the central processing unit 14 is also called the uppermost scheduling unit.
  • the cascade relationship of the queue scheduling unit 11, the intermediate scheduling unit 12, the port scheduling unit 13, and the central processing unit 14 can be dynamically determined according to the received traffic scheduling request.
  • the current scheduling unit passes the corresponding service queue to the upper-level scheduling unit, and the priority of the corresponding service queue after the transmission remains unchanged until the corresponding service queue is passed to the uppermost scheduling unit; the uppermost scheduling unit is based on the priority and flow of all service queues
  • the flow authorization is required and the flow authorization is issued; the current scheduling unit performs the flow authorization of the corresponding service queue according to the flow authorization of the upper-level scheduling unit, the priority of the corresponding service queue, and the flow demand.
  • the current scheduling unit may be the queue scheduling unit 11, the intermediate scheduling unit 12, or the port scheduling unit 13.
  • the number of scheduling units included in each level of scheduling unit can be determined according to the number of services to ensure efficient use of resources.
  • the network processor provided by the embodiment of the present application includes a cascaded multi-level scheduling unit, wherein the current scheduling unit transfers the corresponding service queue to the upper-level scheduling unit, and the priority of the corresponding service queue after the transfer remains unchanged until the corresponding service queue is changed. Passed to the highest-level scheduling unit; the highest-level scheduling unit performs flow authorization and issues the flow authorization according to the priority and flow requirements of all service queues; the current scheduling unit is based on the flow authorization of the upper-level scheduling unit and corresponds to the service queue According to the priority and traffic demand, the traffic authorization of the corresponding service queue is performed.
  • the priority of the corresponding service queue is considered at the same time, and the priority of the service queue remains unchanged during the uploading process of the service queue, so that the uppermost scheduling unit can be based on the priority of the corresponding service queue. Perform traffic authorization to meet the needs of different businesses.
  • the uppermost scheduling unit determines the number of multi-level scheduling units and the number of multi-level scheduling units according to the received traffic scheduling request before the current scheduling unit delivers the corresponding service queue to the upper-level scheduling unit.
  • the current scheduling unit is a fair queue scheduling unit or a weighted fair queue scheduling unit
  • the upper-level scheduling unit is a fair queue scheduling unit or a weighted fair queue scheduling unit.
  • the fair queue scheduling unit or weighted fair queue scheduling unit includes 2, 4, or 8 basic scheduling units.
  • the upper-level scheduling unit is a fair queue scheduling unit
  • the upper-level scheduling unit is configured to evenly distribute the received traffic authorization to the current scheduling unit.
  • the upper-level scheduling unit is a weighted fair queue scheduling unit
  • the upper-level scheduling unit is set to authorize the received traffic according to the priority corresponding to the priority of the corresponding service queue
  • the weight is delivered to the current scheduling unit.
  • the network processor provided in the embodiment of the present application and the traffic scheduling method provided in the foregoing embodiment belong to the same concept. For details, reference may be made to the foregoing embodiment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本文公开了一种流量调度方法和网络处理器。该流量调度方法包括:网络处理器中的当前调度单元向上一级调度单元传递业务队列,其中,传递后的业务队列的优先级不变,直至将所述业务队列传递到最上级调度单元,以使所述最上级调度单元根据全部业务队列的优先级和流量需求进行流量授权并下发所述流量授权;所述当前调度单元根据所述上一级调度单元的流量授权、所述业务队列的优先级和流量需求,进行所述业务队列的流量授权。

Description

流量调度方法和网络处理器 技术领域
本申请涉及流量管理技术领域,例如涉及一种流量调度方法和网络处理器。
背景技术
网络资源总是有限的,当存在抢夺网络资源的情况时,会伴随出现服务质量(Quality of Service,QoS)的要求。服务质量是相对网络业务而言的,在保证一类业务服务质量的同时,可能在损害其它业务的服务质量。例如,在网络总带宽固定的情况下,如果一类业务占用的带宽越多,那么其他业务能使用的带宽就越少,从而影响其他业务的使用。因此,需要根据多种业务的特点对网络资源进行合理的规划和分配,从而使网络资源得到高效利用。
在进行业务流量调度时若仅考虑每个业务的流量需求,在对多个业务进行流量授权时,会导致一些重要的业务无法及时获取流量授权。
发明内容
本申请提供一种流量调度方法和网络处理器,以满足不同业务的需求。
提供了一种流量调度方法,包括:
网络处理器中的当前调度单元向上一级调度单元传递业务队列,其中,传递后的业务队列的优先级不变,直至将所述业务队列传递到最上级调度单元,以使所述最上级调度单元根据全部业务队列的优先级和流量需求进行流量授权并下发所述流量授权;所述当前调度单元根据所述上一级调度单元的流量授权、所述业务队列的优先级和流量需求,进行所述业务队列的流量授权。
还提供了一种网络处理器,包括级联的多级调度单元;其中,当前调度单元设置为向上一级调度单元传递业务队列,其中,传递后的业务队列的优先级不变,直至将所述业务队列传递到最上级调度单元;所述最上级调度单元设置为根据全部业务队列的优先级和流量需求进行流量授权并下发所述流量授权;所述当前调度单元还设置为根据所述上一级调度单元的流量授权、所述业务队列的优先级和流量需求,进行所述业务队列的流量授权。
附图说明
图1为本申请实施例提供的一种流量调度方法的流程图;
图2为本申请实施例提供的一种网络处理器内多个调度单元的级联关系示意图;
图3为本申请实施例提供的一种加权公平队列8(Weighted Fair Queuing 8,WFQ8)型调度单元的结构示意图;
图4为本申请实施例提供的一种公平队列(Fair Queuing,FQ)型调度单元的划分示意图;
图5为本申请实施例提供的一种WFQ型调度单元或严格优先级(Strict-Priority,SP)型调度单元的划分示意图;
图6为本申请实施例提供的另一种流量调度方法的流程图;
图7为本申请实施例提供的另一种流量调度方法的流程图;
图8为本申请实施例提供的一种网络处理器的结构图。
具体实施方式
下面结合附图和实施例对本申请进行说明。
图1为本申请实施例提供的一种流量调度方法的流程图,本实施例可适用于通过流量调度使对应业务队列获取流量授权的情况,流量授权大小对应流量大小,例如业务队列A获取的流量授权为50M,则可以认为业务队列A获取了50M流量。该方法可以由网络处理器(Network Processor,NP)来执行,NP是一种可编程器件,应用于通信领域。NP内部包括调度单元,调度单元也称调度器,是流量调度的重要模块,是完成流量调度的基本单元,并一般包括SP型调度单元、FQ型调度单元和WFQ型调度单元三种类型。
SP型调度单元主要针对一些关键业务,这些关键业务在拥塞发生时要求优先获得服务以减小响应的延迟。该类调度单元可以对应12个优先级,编号从0到11,优先级依次降低。在队列调度时,SP型调度单元严格按照优先级从高到低的次序优先发送较高优先级队列中的分组,当较高优先级队列为空时,再发送较低优先级队列中的分组。这样,将关键业务的分组放入较高优先级的队列,将非关键业务的分组放入较低优先级的队列,从而保证关键业务的分组被优先传送,非关键业务的分组在处理关键业务数据的空闲间隙被传送。
FQ型调度单元为了公平的分享网络资源,尽可能使所有流的延迟和抖动达到最优,其按照轮询的方式使每个业务队列获得公平的调度机会,总体上均衡多个业务队列的延迟。与FQ型调度单元相比,WFQ型调度单元在计算队列调度顺序时增加了权重方面的考虑,从统计上WFQ型调度单元下多个相同优先级队列或调度器获得的调度次数与其配置的权重成正比。
上述三种类型的调度单元均由调度基本单元组成,调度基本单元也称最小调度单元。实际应用中,调度单元可能由多个调度基本单元组成,以FQ型调度单元为例,当FQ型调度单元包含多个调度基本单元时,可以表示为FQX,其中X表示调度基本单元的数量,例如当X=2时,即FQ2表示包括两个调度基本单元,当X=1时,即FQ表示包括一个调度基本单元,至于如何设计调度基本单元得到上述三种类型的调度单元,本实施例不进行限定。上述只是示例性的列举了三种类型的调度单元。
参考图1,本申请实施例提供的流量调度方法可以包括如下步骤:
S110、网络处理器中的当前调度单元向上一级调度单元传递对应业务队列,传递后的对应业务队列的优先级不变,直至将对应业务队列传递到最上级调度单元,以使所述最上级调度单元根据全部业务队列的优先级和流量需求进行流量授权并下发所述流量授权。
NP内部的调度单元通过一定的连接,可以对业务队列的流量进行调度,以实现对不同业务队列的流量授权。当前调度单元、上一级调度单元和最上级调度单元是NP内部的调度单元,当前调度单元、上一级调度单元和最上级调度单元是基于多个调度单元之间的级联关系来说的,当前调度单元、上一级调度单元和最上级调度单元之间的级联关系可以根据业务需求设定。业务队列为调度单元基于用户发送的流量调度请求确定的业务,每一个业务占用一条队列,例如该用户的流量调度请求中包括4个业务,则对应该用户的业务队列有4条。每一个业务根据需求还可以对应一个优先级,优先级越高,表示该业务越重要,在进行流量授权时可以优先授权给优先级高的业务队列,以优先满足关键业务的需求。每个业务对应的优先级可以由用户根据实际需求设定。同一用户的多个业务的优先级可以相同也可以不同。常见的业务有类选择器7(Class Selector 7,CS7)、CS6、加速转发(Expedited Forwarding,EF)、保证转发4(Assured Forwarding 4,AF4)、AF3、AF2、AF1和默认(Default,BE),对应的优先级依次降低。本实施例所对应的业务队列可以从上述业务对应的业务队列中选择。传递后的对应业务队列的优先级不变是指业务队列在当前调度单元对应的优先级和在上一级调度单元对应的优先级相同。
图2为本申请实施例提供的一种网络处理器内多个调度单元的级联关系示意图。
调度单元的层级以及多级调度单元的连接关系如图2所示,实际应用过程中,调度单元的层级数量以及每层级所包含调度单元的数量均可以根据需求设定。图2以四个层级为例,其中队列调度单元1和队列调度单元2为第一层级、中间调度单元为第二层级、端口调度单元为第三层级、最上级调度单元为第四 层级,按照图2所示,当前调度单元可以是队列调度单元1、队列调度单元2、中间调度单元或端口调度单元,以当前调度单元为队列调度单元1为例,则上一级调度单元为中间调度单元。每一个调度单元的连接点可连接的下级调度单元或业务队列的数量不限,例如图2所示的中间调度单元的连接点SP0连接了两个业务队列调度单元,分别为队列调度单元1和队列调度单元2。每个连接点对应一个优先级,例如SP0-SP3表示四个连接点,代表四个优先级,而且优先级依次降低。
队列调度单元设置为获取多个用户的业务队列,并将多个业务队列上传至中间调度单元,由中间调度单元上传至端口调度单元,最终由端口调度单元上传至最上级调度单元。图2示例性的给出了两个队列调度单元,分别为队列调度单元1和队列调度单元2,队列调度单元1和队列调度单元2所连接的业务队列可以是同一用户的也可以是不同用户的,图2以不同用户为例,例如q0-q3为A用户的四条业务队列,q4-q7为B用户的四条业务队列,每一条业务队列对应一个优先级,同一优先级还可以对应多个业务队列。
最上级调度单元可以理解为网络处理器的中央处理单元,设置为根据下级调度单元传递的业务队列的优先级、流量需求以及可用于授权的总流量进行流量授权并下发流量授权。参考图2,假设可用于授权的总流量为500M,则经过端口调度单元调度,按照端口调度单元对应的优先级优先满足SP0的流量需求,再依次满足SP1-SP3的流量需求,当可用于授权的总流量不够时,低优先级的业务将得不到授权,例如端口调度单元的SP0需要500M的流量授权,则此时仅能满足端口调度单元SP0的需求,端口调度单元的SP1-SP3得不到授权,即无法获取需求的流量。端口调度单元得到流量授权后依次下发给中间调度单元,下发过程类似,即优先满足高优先级业务的授权,再依次满足低优先级业务的授权。中间调度单元得到流量授权后再依次下发给队列调度单元,由队列调度单元下发给对应的业务队列,业务队列得到流量授权后即可畅通。
多层级调度单元的类型可以根据需求选择,例如多层级调度单元可以采用同一类型的调度单元,也可以采用不同类型的调度单元。本实施例的业务队列调度单元、中间调度单元和端口调度单元以采用WFQ型调度单元或FQ型调度单元或组合使用WFQ型调度单元和FQ型调度单元为例,以保证业务队列传输过程中优先级不变。如图2所示,以业务队列q0和业务队列q1为例,当队列调度单元1采用上述类型的调度单元时,业务队列q0和业务队列q1在队列调度单元1对应的优先级分别为SP0和SP1,传递至上一层级即中间调度单元时,对应的优先级依然为SP0和SP1。
与传统的非优先级传递过程相比,本实施例的业务队列在传递过程中保持 优先级不变,可以满足不同用户在同一端口的优先级调度需求,进而满足不同业务的需求。非优先级传递是下级调度单元只能连接至上级调度单元的同一个连接点上,即下级调度单元中的业务在上级调度单元只能体现一种优先级,不能区分多个优先级。仍以图2为例,非优先级传递是业务队列调度单元1的四个SP0-SP3只能连接至中间调度单元的SP0-SP3中的一个。
S120、所述当前调度单元根据所述上一级调度单元的流量授权、对应业务队列的优先级和流量需求,进行对应业务队列的流量授权。
示例性的,参考图2,中间调度单元将SP0对应的流量授权下发给队列调度单元1和队列调度单元2,队列调度单元1和队列调度单元2将收到的流量授权再分别下发给对应的业务队列q0和业务队列q4。业务队列最终得到的流量授权不一定与实际需求的流量授权相同。
中间调度单元下发流量授权时,如果对应业务队列对应的优先级相同,可以将流量授权平均下发给对应的业务队列,也可以按照一定的权重下发给对应的业务队列,下发方式与调度单元的类型有关,例如当中间调度单元为FQ型调度单元时,可以将流量授权平均分配给队列调度单元1和队列调度单元2,当中间调度单元为WFQ型调度单元时,可以将流量授权按照设定的权重下发给队列调度单元1和队列调度单元2。权重的大小可以由用户自行设定。示例性的,参考图2,中间调度单元为WFQ型调度单元,中间调度单元SP0收到的流量授权为30M,与中间调度单元的SP0对应的两个业务队列的优先级相同,但权重分别为0.1和0.2,则业务队列单元1的SP0得到的流量授权为10M,队列调度单元2的SP0得到的流量授权为20M。
本申请实施例提供一种流量调度方法,该方法通过网络处理器中的当前调度单元向上一级调度单元传递对应业务队列,传递后的对应业务队列的优先级不变,直至将对应业务队列传递到最上级调度单元;所述最上级调度单元根据全部业务队列的优先级和流量需求进行流量授权并下发所述流量授权;当前调度单元根据上一级调度单元的流量授权、对应业务队列的优先级和流量需求,进行对应业务队列的流量授权。本申请实施例在进行流量调度时,同时考虑了对应业务队列的优先级,而且业务队列上传过程中优先级保持不变,使得最上级调度单元可以根据对应业务队列的优先级进行流量授权,从而满足不同业务的需求。
在上述实施例的基础上,最上级调度单元在当前调度单元向上一级调度单元传递对应业务队列之前,根据收到的流量调度请求预先确定多级调度单元的数量以及多级调度单元之间的级联关系。
当用户为一业务申请流量时,可以通过用户端向NP发送流量调度请求,流 量调度请求可以包括业务数量、业务优先级、优先级权重以及每个业务的流量需求等信息,每一个业务优先级可以对应一个优先级权重,大小在0-1之间,多个业务优先级对应的优先级权重可以相同也可以不同,且互不影响。网络处理器根据接收的流量调度请求确定层级数量、多级调度单元的类型、数量以及级联关系,创建如图2所示的流量调度架构。其中,每一类型的调度单元所包含调度基本单元的数量可以根据实际业务的需求动态选择,例如当仅收到两条业务队列时,所选用的调度单元可以仅包含两个调度基本单元,当收到3条业务队列时可以选择包含四个调度基本单元的调度单元,也可以选择包含两个调度基本单元的调度单元,数量为两个,从而实现资源的高效利用。
可选的,本实施例的调度单元以FQ型调度单元或WFQ型调度单元为例,并且FQ型调度单元和WFQ型调度单元所包含的调度基本单元的数量为2个、4个或8个,即本实施例的端口调度单元、中间调度单元和队列调度单元可以根据需求在FQ2型调度单元、FQ4型调度单元、FQ8型调度单元、WFQ2型调度单元、WFQ4型调度单元和WFQ8型调度单元中选择,从而可以保证业务队列在上传过程中优先级保持不变。
FQX型的调度单元在存储资源设计上,按照最小调度单元进行等分,一个最小调度单元可以设置为存储单个FQ型调度单元的存储信息,两个最小调度单元组合拼接可以设置为存储FQ2型调度单元的存储信息,四个最小调度单元组合拼接可以设置为存储FQ4型调度单元的存储信息,八个最小调度单元组合拼接可以设置为存储FQ8型调度单元的存储信息。以FQ8型调度单元为例,其内部可以体现八个严格优先级SP0-SP7,以用于优先级调度,并包含八个FQ型调度单元和八个连接点,每个连接点对应一个优先级,每个连接点可连接的下级调度单元的数量不限,其他的FQ型调度单元同理类推。其中最小调度单元也称为调度基本单元。
WFQX型的调度单元在存储资源设计上,也是按照最小调度单元进行等分,一个最小调度单元可以设置为存储单个SP型调度单元或WFQ型调度单元的存储信息,两个最小调度单元组合拼接可以设置为存储WFQ2型调度单元的存储信息,四个最小调度单元组合拼接可以设置为存储WFQ4型调度单元的存储信息,八个最小调度单元组合拼接可以设置为存储FQ8型调度单元的存储信息。以WFQ8型调度单元为例,其内部可以体现八个严格优先级SP0-SP7,以用于优先级调度,并包含八个WFQ型调度单元和八个连接点,每个连接点对应一个优先级并可配置权重,每个连接点可连接的下级调度单元的数量不限,其他的WFQ型调度单元同理类推。
参考图3,图3为本申请实施例提供的一种WFQ8调度单元的结构示意图, 其他几个调度单元的结构类似。按照前面所述,WFQ8调度单元内部体现了八个严格优先级SP0-SP7,以用于优先级调度,并包含八个WFQ类型调度单元及八个连接点,每个连接点即体现其对应的优先级且可配置权重,每个连接点可连接的下级调度器数量不限,例如可以连接两个FQ4型调度单元/WFQ4型调度单元或四个FQ2型调度单元/WFQ2型调度单元。其中SP0-SP7对应的位置即为连接点。
上述的WFQ2型调度单元、WFQ4型调度单元和WFQ8型调度单元共享一块资源池,FQ2型调度单元、FQ4型调度单元和FQ8型调度单元共享另一块资源池。其中,WFQ2型调度单元、WFQ4型调度单元和WFQ8型调度单元,或者FQ2型调度单元、FQ4型调度单元和FQ8型调度单元可以根据阈值确定,当阈值设置为0时,表示不分配此类调度器资源。
参考图4,图4为本申请实施例提供的一种FQ型调度单元的划分示意图,根据调度单元阈值可以得到FQ型调度单元、FQ2型调度单元、FQ4型调度单元和FQ8型调度单元等几种调度单元,阈值越大,调度单元所包含的调度基本单元的数量越多,例如图4所示的调度单元阈值由上到下依次递增。其中,SE表示最小调度单元,也即调度基本单元。类似的,参考图5,图5为本申请实施例提供的一种WFQ型调度单元或SP型调度单元的划分示意图,阈值不同,调度单元包含的SE的数量不同,对应的调度单元的类型不同。
上一级调度单元在下发流量授权时,其采用的调度单元的类型不同,下发过程略有不同。参考图6,图6为本申请实施例提供的另一种流量调度方法的流程图。图6示例性的给出了上一级调度单元为FQ型调度单元时的流量调度过程。
S210、网络处理器中的当前调度单元向上一级调度单元传递对应业务队列,传递后的对应业务队列的优先级不变,直至将对应业务队列传递到最上级调度单元,以使所述最上级调度单元根据全部业务队列的优先级和流量需求进行流量授权并下发所述流量授权。
S220、当所述上一级调度单元为公平队列调度单元时,所述当前调度单元接收所述上一级调度单元平均下发的流量授权,并根据对应业务队列的优先级和流量需求,进行对应业务队列的流量授权。
参考图2,当中间调度单元为FQ4型的调度单元时,SP0将收到的流量授权平均下发给队列调度单元1的SP0和队列调度单元2的SP0,由队列调度单元1的SP0和队列调度单元2的SP0再下发给对应的业务队列q0和业务队列q4,其中业务队列q0和业务队列q4实际收到的流量授权可能小于各自需求的流量授权。
图7为本申请实施例提供的另一种流量调度方法的流程图。图7示例性的给出了上一级调度单元为WFQ型调度单元时的流量调度过程。
S310、网络处理器中的当前调度单元向上一级调度单元传递对应业务队列,传递后的对应业务队列的优先级不变,直至将对应业务队列传递到最上级调度单元,以使所述最上级调度单元根据全部业务队列的优先级和流量需求进行流量授权并下发所述流量授权。
S320、当所述上一级调度单元为加权公平队列调度单元时,所述当前调度单元接收所述上一级调度单元按照对应业务队列的优先级所对应的优先级权重下发的流量授权,并根据对应业务队列的优先级和流量需求,进行对应业务队列的流量授权。
参考图2,当中间调度单元为WFQ4型的调度单元时,以WFQ4型调度单元的SP0为例,SP0将收到的流量授权按照队列调度单元1的SP0和队列调度单元2的SP0对应的优先级权重进行分配,其中队列调度单元1的SP0和队列调度单元2的SP0对应的优先级权重分别为业务队列q0和业务队列q4对应的优先级权重,下发过程可以参考前面,此处不再赘述。
本申请实施例提供一种流量调度方法,采用FQ2型调度单元、FQ4型调度单元、FQ8型调度单元、WFQ2型调度单元、WFQ4型调度单元和WFQ8型调度单元中的一种或多种,在传递业务队列时,既保证了优先级不变,解决了相关技术中业务队列传递过程中优先级改变的问题,满足了不同用户在同一连接点的优先级调度需求,又可以满足不同用户的调度需求,而且还可以根据业务队列的数量等信息动态选择调度单元的类型和数量,实现了资源的高效利用。
图8为本申请实施例提供的一种网络处理器的结构图。该网络处理器可以执行上述的流量调度方法。
参考图8,该网络处理器包括级联的多级调度单元,按照由下至上的顺序分别为队列调度单元11、中间调度单元12、端口调度单元13和中央处理单元14,其中,中央处理单元14也称为最上级调度单元。队列调度单元11、中间调度单元12、端口调度单元13和中央处理单元14的级联关系可以根据接收的流量调度请求动态确定。
当前调度单元向上一级调度单元传递对应业务队列,传递后的对应业务队列的优先级不变,直至将对应业务队列传递到最上级调度单元;最上级调度单元根据全部业务队列的优先级和流量需求进行流量授权并下发流量授权;当前调度单元根据上一级调度单元的流量授权、对应业务队列的优先级和流量需求,进行对应业务队列的流量授权。
当前调度单元可以是队列调度单元11、中间调度单元12或端口调度单元13。每一层级调度单元包含的调度单元的数量可以根据业务数量确定,以保证资源的高效利用。
本申请实施例提供的网络处理器包括级联的多级调度单元,其中,当前调度单元向上一级调度单元传递对应业务队列,传递后的对应业务队列的优先级不变,直至将对应业务队列传递到最上级调度单元;所述最上级调度单元根据全部业务队列的优先级和流量需求进行流量授权并下发所述流量授权;当前调度单元根据上一级调度单元的流量授权、对应业务队列的优先级和流量需求,进行对应业务队列的流量授权。本申请实施例在利用多级调度单元进行流量调度时,同时考虑了对应业务队列的优先级,而且业务队列上传过程中优先级保持不变,使得最上级调度单元可以根据对应业务队列的优先级进行流量授权,从而满足不同业务的需求。
在上述实施例的基础上,所述最上级调度单元在当前调度单元向上一级调度单元传递对应业务队列之前,还根据接收的流量调度请求,确定多级调度单元的数量以及多级调度单元之间的级联关系。
在上述实施例的基础上,所述当前调度单元为公平队列调度单元或加权公平队列调度单元,所述上一级调度单元为公平队列调度单元或加权公平队列调度单元。
在上述实施例的基础上,所述公平队列调度单元或加权公平队列调度单元包括2个、4个或8个调度基本单元。
在上述实施例的基础上,当所述上一级调度单元为公平队列调度单元时,所述上一级调度单元设置为将接收的流量授权平均下发给所述当前调度单元。
在上述实施例的基础上,当所述上一级调度单元为加权公平队列调度单元时,所述上一级调度单元设置为将接收的流量授权按照对应业务队列的优先级所对应的优先级权重下发给所述当前调度单元。
本申请实施例提供的网络处理器与上述实施例提供的流量调度方法属于同一构思,细节可以参考上述实施例。

Claims (10)

  1. 一种流量调度方法,包括:
    网络处理器中的当前调度单元向上一级调度单元传递业务队列,其中,传递后的业务队列的优先级不变,直至将所述业务队列传递到最上级调度单元,以使所述最上级调度单元根据全部业务队列的优先级和流量需求进行流量授权并下发所述流量授权;
    所述当前调度单元根据所述上一级调度单元的流量授权、所述业务队列的优先级和流量需求,进行所述业务队列的流量授权。
  2. 根据权利要求1所述的方法,其中,所述当前调度单元为公平队列型调度单元或加权公平队列型调度单元,所述上一级调度单元为公平队列型调度单元或加权公平队列型调度单元。
  3. 根据权利要求2所述的方法,其中,所述公平队列型调度单元或加权公平队列型调度单元包括2个、4个或8个调度基本单元。
  4. 根据权利要求3所述的方法,其中,在所述上一级调度单元为公平队列型调度单元的情况下,所述当前调度单元根据上一级调度单元的流量授权、所述业务队列的优先级和流量需求,进行所述业务队列的流量授权,包括:
    所述当前调度单元接收所述上一级调度单元平均下发的流量授权,并根据所述业务队列的优先级和流量需求,进行所述业务队列的流量授权。
  5. 根据权利要求3所述的方法,其中,在所述上一级调度单元为加权公平队列型调度单元的情况下,所述当前调度单元根据上一级调度单元的流量授权、所述业务队列的优先级和流量需求,进行所述业务队列的流量授权,包括:
    所述当前调度单元接收所述上一级调度单元按照所述业务队列的优先级所对应的优先级权重下发的流量授权,并根据所述业务队列的优先级和流量需求,进行所述业务队列的流量授权。
  6. 一种网络处理器,包括级联的多级调度单元;其中,
    当前调度单元设置为向上一级调度单元传递业务队列,其中,传递后的业务队列的优先级不变,直至将所述业务队列传递到最上级调度单元;所述最上级调度单元设置为根据全部业务队列的优先级和流量需求进行流量授权并下发所述流量授权;所述当前调度单元还设置为根据所述上一级调度单元的流量授权、所述业务队列的优先级和流量需求,进行所述业务队列的流量授权。
  7. 根据权利要求6所述的网络处理器,其中,所述最上级调度单元还设置为在所述当前调度单元向所述上一级调度单元传递所述业务队列之前,根据接收的流量调度请求,确定所述多级调度单元的数量以及所述多级调度单元之间 的级联关系。
  8. 根据权利要求6所述的网络处理器,其中,所述当前调度单元为公平队列型调度单元或加权公平队列型调度单元,所述上一级调度单元为公平队列型调度单元或加权公平队列型调度单元。
  9. 根据权利要求8所述的网络处理器,其中,所述公平队列型调度单元或加权公平队列型调度单元包括2个、4个或8个调度基本单元。
  10. 根据权利要求8所述的网络处理器,其中,在所述上一级调度单元为加权公平队列型调度单元的情况下,所述上一级调度单元设置为将接收的流量授权按照所述业务队列的优先级所对应的优先级权重下发给所述当前调度单元。
PCT/CN2021/082979 2020-03-31 2021-03-25 流量调度方法和网络处理器 WO2021197198A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010247302.4A CN113472684A (zh) 2020-03-31 2020-03-31 一种流量调度方法和网络处理器
CN202010247302.4 2020-03-31

Publications (1)

Publication Number Publication Date
WO2021197198A1 true WO2021197198A1 (zh) 2021-10-07

Family

ID=77865716

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/082979 WO2021197198A1 (zh) 2020-03-31 2021-03-25 流量调度方法和网络处理器

Country Status (2)

Country Link
CN (1) CN113472684A (zh)
WO (1) WO2021197198A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621460A (zh) * 2008-06-30 2010-01-06 中兴通讯股份有限公司 一种分组调度方法和装置
US20130201865A1 (en) * 2012-02-08 2013-08-08 Avaya Inc. System and method for detecting rogue traffic using flow statistics with a list of authorized engines
CN104348751A (zh) * 2013-07-31 2015-02-11 中兴通讯股份有限公司 虚拟输出队列授权管理方法及装置
CN104866238A (zh) * 2015-05-25 2015-08-26 华为技术有限公司 访问请求调度方法及装置
CN107872403A (zh) * 2017-11-10 2018-04-03 西安电子科技大学 一种实现层次化QoS的五级队列调度装置及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621460A (zh) * 2008-06-30 2010-01-06 中兴通讯股份有限公司 一种分组调度方法和装置
US20130201865A1 (en) * 2012-02-08 2013-08-08 Avaya Inc. System and method for detecting rogue traffic using flow statistics with a list of authorized engines
CN104348751A (zh) * 2013-07-31 2015-02-11 中兴通讯股份有限公司 虚拟输出队列授权管理方法及装置
CN104866238A (zh) * 2015-05-25 2015-08-26 华为技术有限公司 访问请求调度方法及装置
CN107872403A (zh) * 2017-11-10 2018-04-03 西安电子科技大学 一种实现层次化QoS的五级队列调度装置及方法

Also Published As

Publication number Publication date
CN113472684A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
US9112809B2 (en) Method and apparatus for controlling utilization in a horizontally scaled software application
Blanquer et al. Fair queuing for aggregated multiple links
EP1256214B1 (en) Multi-level scheduling method for multiplexing packets in a communications network
US6909691B1 (en) Fairly partitioning resources while limiting the maximum fair share
US6940861B2 (en) Data rate limiting
RU2643666C2 (ru) Способ и устройство для управления авторизацией виртуальной очереди вывода, а также компьютерный носитель информации
CN101621460B (zh) 一种分组调度方法和装置
US20100302942A1 (en) Shared weighted fair queuing (wfq) shaper
CN105379212B (zh) 管理内容分发网络中电子内容摄取的方法、控制器及系统
US20070116025A1 (en) Methods and system to manage data traffic
CN102170396A (zh) 一种基于区分服务的云存储系统QoS控制方法
Homg et al. An adaptive approach to weighted fair queue with QoS enhanced on IP network
WO2018013490A1 (en) Virtual ccap downstream traffic scheduling
CN101427533A (zh) 宽带接入网容量管理
US20150058485A1 (en) Flow scheduling device and method
US11336582B1 (en) Packet scheduling
EP1461915A1 (en) Hierarchical credit queuing for traffic shaping
WO2023226948A1 (zh) 一种流量控制方法、装置、电子设备及可读存储介质
CN100466593C (zh) 一种支持多业务的综合队列调度的实现方法
US7907632B2 (en) Data output apparatus, communication apparatus and switch apparatus
WO2021197198A1 (zh) 流量调度方法和网络处理器
US8467401B1 (en) Scheduling variable length packets
JP2005236669A (ja) 通信品質制御方法およびその通信品質制御装置
Wang et al. Integrating priority with share in the priority-based weighted fair queuing scheduler for real-time networks
Victoria et al. Efficient bandwidth allocation for packet scheduling

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21779425

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 14/03/2023)

122 Ep: pct application non-entry in european phase

Ref document number: 21779425

Country of ref document: EP

Kind code of ref document: A1