CN107846341B - Method, related device and system for scheduling message - Google Patents

Method, related device and system for scheduling message Download PDF

Info

Publication number
CN107846341B
CN107846341B CN201610835484.0A CN201610835484A CN107846341B CN 107846341 B CN107846341 B CN 107846341B CN 201610835484 A CN201610835484 A CN 201610835484A CN 107846341 B CN107846341 B CN 107846341B
Authority
CN
China
Prior art keywords
qos
output queue
data
data packet
message
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201610835484.0A
Other languages
Chinese (zh)
Other versions
CN107846341A (en
Inventor
蒋柏梁
李国峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610835484.0A priority Critical patent/CN107846341B/en
Publication of CN107846341A publication Critical patent/CN107846341A/en
Application granted granted Critical
Publication of CN107846341B publication Critical patent/CN107846341B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • 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/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues

Abstract

The embodiment of the application provides a method for scheduling messages, a related device and a system. The method comprises the following steps: the QoS scheduling device receives first data messages respectively sent by at least two message classification devices, wherein each first data message in the first data messages carries a virtual channel identifier; the QoS scheduling device determines the virtual channel scheduling parameters included in the corresponding QoS adjustment parameters according to the virtual channel identification; the QoS scheduling device adds each first data message in the first data message into the output queue according to the QoS adjusting parameter. The technical scheme can realize centralized scheduling of the messages scattered in a plurality of links. In addition, the QoS scheduling device is not responsible for the data message classification work any more, so the QoS scheduling device can have more resources to realize message scheduling. In this case, the capability of the QoS scheduling apparatus to schedule the packet can be greatly improved.

Description

Method, related device and system for scheduling message
Technical Field
The present invention relates to the field of information technology, and in particular, to a method, a related apparatus, and a system for scheduling packets.
Background
In order to meet the requirements of users for different applications and different Service qualities, Quality of Service (QoS) technology is proposed in the industry. Service Analysis (SA) devices can classify the acquired packets and schedule the acquired packets according to the type of the packets. The network environment with QoS is configured, so that the predictability of the network performance is improved, the network bandwidth can be effectively distributed, and the network resources are more reasonably utilized.
In a scenario where QoS service needs to be provided for multiple links, a distributed QoS scheduling system composed of multiple SA devices is usually required. The plurality of SA devices in the distributed QoS scheduling system are independent from each other. Each SA device of the plurality of SA devices may schedule the packet in the link corresponding to each SA device according to a preset QoS scheduling policy. The QoS scheduling result of each SA device does not affect other SA devices. Therefore, the distributed QoS scheduling system cannot perform centralized scheduling on messages scattered in multiple links.
Disclosure of Invention
The embodiment of the application provides a method for scheduling messages, a QoS scheduling device and a system, and aims to perform centralized scheduling on messages scattered in a plurality of links.
In a first aspect, an embodiment of the present application provides a method for scheduling a packet, where the method includes: the QoS scheduling device receives first data messages respectively sent by at least two message classification devices, wherein each first data message in the first data messages carries a virtual channel identifier, and the virtual channel identifier is used for indicating attribute information of the data message carrying the virtual channel identifier; the QoS scheduling device determines virtual channel scheduling parameters included in corresponding QoS adjustment parameters according to the virtual channel identification, wherein the virtual channel scheduling parameters are used for indicating the total bandwidth of an output queue; the QoS scheduling device adds each first data message in the first data message into the output queue according to the QoS adjusting parameter. The technical scheme can realize centralized scheduling of the messages scattered in a plurality of links. In addition, the QoS scheduling device is not responsible for the data message classification work any more, so the QoS scheduling device can have more resources to realize message scheduling. In this case, the capability of the QoS scheduling apparatus to schedule the packet can be greatly improved.
With reference to the first aspect, in a first possible implementation manner of the first aspect, the attribute information includes at least one of the following information: a source IP address, a destination IP address, a source port number, a destination port number, a protocol type, a tunnel type, an uplink number, a downlink number, a source AS number, and a destination AS number. According to the technical scheme, the data messages scheduled by the QoS scheduling device can follow different attribute information, so that the data messages with different attribute information can be flexibly scheduled.
With reference to the first aspect or the first possible implementation manner of the first aspect, in a second possible implementation manner of the first aspect, the adding, by the QoS scheduling apparatus, each first data packet in the first data packet to the output queue according to the QoS adjustment parameter includes: the QoS scheduling device determines that the current occupied total bandwidth of the output queue is smaller than a first bandwidth threshold value, and adds each first data message in the first data message into the output queue, wherein the first bandwidth threshold value is smaller than or equal to the total bandwidth of the output queue. The technical scheme can avoid errors caused by the fact that the total bandwidth used currently exceeds the total bandwidth of the output queue.
With reference to the first aspect or the first possible implementation manner of the first aspect, in a third possible implementation manner of the first aspect, each first data packet in the first data packet further carries an output queue identifier, where the output queue identifier is used to indicate information of a load of each first data packet in the first data packet; the method further comprises the following steps: the QoS scheduling device determines an output queue parameter included in the corresponding QoS adjustment parameter according to the output queue identifier, wherein the output queue parameter is used for indicating the sub-bandwidth of the output queue or the priority of the output queue, and the sub-bandwidth of the output queue is smaller than or equal to the total bandwidth of the output queue. The technical scheme can realize further scheduling of the data message according to the type of the data message.
With reference to the third possible implementation manner of the first aspect, in a fourth possible implementation manner of the first aspect, the information of the payload is at least one of the following information: application layer protocol, data type, data content of payload. According to the technical scheme, the data messages scheduled by the QoS scheduling device can follow different classification rules, so that the data messages of different types can be flexibly scheduled.
With reference to the third possible implementation manner of the first aspect or the fourth possible implementation manner of the first aspect, in a fifth possible implementation manner of the first aspect, when the output queue parameter determined by the QoS scheduling apparatus is used to indicate a sub-bandwidth of the output queue, the QoS scheduling apparatus adds each first data packet in the first data packet to the output queue according to the QoS adjustment parameter, including: the QoS scheduling device determines that the current total bandwidth occupied by the output queue is smaller than a first bandwidth threshold, determines that the current occupied sub-bandwidth of the output queue is smaller than a second bandwidth threshold, and adds each first data message in the first data message into the output queue, wherein the first bandwidth threshold is smaller than or equal to the total bandwidth of the output queue, and the second bandwidth threshold is smaller than or equal to the sub-bandwidth of the output queue. The technical scheme can avoid errors caused by the fact that the total bandwidth used currently exceeds the total bandwidth and the sub-bandwidth of the output queue.
With reference to the third possible implementation manner of the first aspect or the fourth possible implementation manner of the first aspect, in a sixth possible implementation manner of the first aspect, when the output queue parameter determined by the QoS scheduling apparatus is used to indicate the priority of the output queue, the QoS scheduling apparatus adds each first data packet in the first data packet to the output queue according to the QoS adjustment parameter, including: the QoS scheduling device determines that the current occupied total bandwidth of the output queue is smaller than a first bandwidth threshold, determines that the priority of the output queue is higher than the priority of other output queues sharing the total bandwidth of the output queue, and adds each first data message in the first data message into the output queue, wherein the first bandwidth threshold is smaller than or equal to the total bandwidth of the output queue. The technical scheme can realize the scheduling of the data messages according to the priority.
With reference to the first aspect or any one of the foregoing possible implementations of the first aspect, in a seventh possible implementation of the first aspect, the method further includes: the QoS scheduling device receives second data messages respectively sent by the at least two message classification devices, wherein each second data message in the second data messages carries the virtual channel identifier; the QoS scheduling device determines that the flow of the data message currently processed by the QoS scheduling device is greater than a flow threshold value; the QoS scheduling apparatus transmits each of the second data messages to an output apparatus. The technical scheme can avoid errors caused when the flow of the data message received by the QoS scheduling device is greater than the processing capacity.
With reference to the seventh possible implementation manner of the first aspect, in an eighth possible implementation manner of the first aspect, the method further includes: the QoS scheduling device sends a flow warning message to a QoS management device, wherein the flow warning message is used for indicating that the flow of the data message currently processed by the QoS scheduling device is greater than the flow threshold value. According to the technical scheme, the QoS scheduling device can inform the QoS management device that the flow of the data message currently processed by the QoS scheduling device is larger than the flow threshold value in time, so that the QoS management device can select a proper processing scheme in time.
With reference to the seventh possible implementation manner of the first aspect, in a ninth possible implementation manner of the first aspect, the determining, by the QoS scheduling apparatus, that a flow of a data packet currently processed by the QoS scheduling apparatus is greater than a flow threshold includes: the QoS scheduling device sends flow information to a QoS management device, wherein the flow information is used for indicating the flow of a data message currently processed by the QoS scheduling device; the QoS scheduling device receives flow feedback information sent by the QoS management device, wherein the flow feedback information is used for indicating whether the flow of a data message currently processed by the QoS scheduling device is greater than the flow threshold value; and the QoS scheduling device determines that the flow of the data message currently processed by the QoS scheduling device is greater than the flow threshold according to the flow feedback information. According to the technical scheme, the QoS management device can timely acquire the flow of the data message currently processed by the QoS scheduling device and timely inform the QoS scheduling device when the flow exceeds the flow threshold.
In a second aspect, an embodiment of the present application provides a method for scheduling a packet, where the method includes: the message classification device receives a first data message sent by an input device; the message classification device determines whether attribute information matched with the virtual channel matching information exists in the attribute information of the first data message; the message classification device generates a second data message according to the first data message under the condition that the attribute information of the first data message is determined to have attribute information matched with the virtual channel matching information, wherein the second data message carries a virtual channel identifier which is used for indicating that the attribute information of the first data message comprises the attribute information matched with the virtual channel matching information; the message classification device sends the second data message to a QoS scheduling device. According to the technical scheme, the message classification device can send the message to be scheduled to the QoS scheduling device, so that the QoS scheduling device can schedule the message to be scheduled.
With reference to the second aspect, in a first possible implementation manner of the second aspect, the attribute information of the first data packet includes at least one of the following information: a source IP address, a destination IP address, a source port number, a destination port number, a protocol type, a tunnel type, an uplink number, a downlink number, a source AS number, and a destination AS number. According to the technical scheme, the message classification device can select the data messages needing to be scheduled according to the attribute information, so that the data messages scheduled by the QoS scheduling device can follow different attribute information, and the data messages with different attribute information can be flexibly scheduled.
With reference to the second aspect or any one of the foregoing possible implementations of the second aspect, in a second possible implementation of the second aspect, the method further includes: and the message classification device sends the first data message to an output device under the condition that the attribute information of the first data message is determined to have no attribute information matched with the virtual channel matching information. According to the technical scheme, the message classification device can directly send the data messages which do not need to be scheduled to the output device.
With reference to the second aspect or the first possible implementation manner of the second aspect, in a third possible implementation manner of the second aspect, the second data packet further carries an output queue identifier, where the output queue identifier is used to indicate information of a payload of the first data packet. Therefore, the QoS scheduling device can further schedule the data message according to the type of the data message.
With reference to the third possible implementation manner of the second aspect, in a fourth possible implementation manner of the second aspect, the information of the payload of the first data packet is at least one of the following information: application layer protocol, data type, data content of payload. According to the technical scheme, the message classification device can select classification rules according to needs when classifying the data messages, so that the data messages scheduled by the QoS scheduling device can follow different classification rules, and thus, the data messages of different types can be flexibly scheduled.
In a third aspect, an embodiment of the present application provides a method for scheduling a packet, where the method includes: determining virtual channel matching information and QoS adjustment parameters; sending first QoS scheduling policy information to a QoS scheduling device, wherein the first QoS scheduling policy information comprises the QoS adjustment parameter; and sending second QoS scheduling strategy information to each of at least two message classification devices, wherein the second QoS scheduling strategy information comprises the virtual channel matching information. According to the technical scheme shown in fig. 3, the QoS management apparatus may configure the virtual channel matching information and the QoS adjustment parameter to the QoS scheduling apparatus and the packet classification apparatus in a unified manner. This may facilitate the adjustment of the QoS scheduling policy.
With reference to the third aspect, in a first possible implementation manner of the third aspect, the method further includes: the QoS management apparatus determines output queue matching information, and the second QoS scheduling policy information further includes the output queue matching information. According to the technical scheme, the message classification device can select classification rules according to needs when classifying the data messages, so that the data messages scheduled by the QoS scheduling device can follow different classification rules, and the QoS scheduling device can further schedule the data messages according to the types of the data messages.
With reference to the third aspect or the first possible implementation manner of the third aspect, in a second possible implementation manner of the third aspect, the method further includes: the QoS management device receives a flow warning message sent by the QoS scheduling device, wherein the flow warning message is used for indicating that the flow of a data message currently processed by the QoS scheduling device is greater than a flow threshold value. According to the technical scheme, the QoS management device can timely determine that the flow of the data message currently processed by the QoS scheduling device is larger than the flow threshold value, so that a proper processing scheme can be timely selected.
With reference to the third aspect or the first possible implementation manner of the third aspect, in a third possible implementation manner of the third aspect, the method further includes: the QoS management device receives the flow of the currently processed data message sent by the QoS scheduling device; the QoS management device determines whether the flow of the data message currently processed by the QoS scheduling device is greater than the flow threshold value according to the flow of the data message currently processed and the flow threshold value; the QoS management apparatus sends flow feedback information to the QoS scheduling apparatus, where the flow feedback information is used to indicate whether the flow of the data packet currently processed by the QoS scheduling apparatus is greater than the flow threshold. According to the technical scheme, the QoS management device can timely acquire the flow of the data message currently processed by the QoS scheduling device and timely inform the QoS scheduling device when the flow exceeds the flow threshold.
In a fourth aspect, an embodiment of the present application provides a QoS scheduling apparatus, which includes means for performing the first aspect or any possible implementation manner of the first aspect.
In a fifth aspect, an embodiment of the present application provides a packet classification apparatus, which includes a unit configured to execute the second aspect or any possible implementation manner of the second aspect.
In a sixth aspect, an embodiment of the present application provides a QoS management apparatus, where the QoS management apparatus includes a unit configured to execute the third aspect or any possible implementation manner of the third aspect.
In a seventh aspect, an embodiment of the present application provides a system for scheduling packets, where the system includes at least one QoS scheduling apparatus of the fourth aspect, Q packet classification apparatuses of the fifth aspect, P input apparatuses, and P output apparatuses, where Q is a positive integer greater than or equal to 2, and P is a positive integer greater than or equal to 2.
With reference to the seventh aspect, in a first possible implementation manner of the seventh aspect, the system further includes the QoS management apparatus of the sixth aspect.
In an eighth aspect, an embodiment of the present application provides a QoS scheduling apparatus, where the QoS scheduling apparatus includes a transceiver, a processor, and a memory, where the processor is configured to execute instructions stored in the memory, and the instructions stored in the memory can execute the first aspect or any possible implementation manner of the first aspect.
In a ninth aspect, an embodiment of the present application provides a message classification apparatus, where the message classification apparatus includes a transceiver, a processor, and a memory, where the processor is configured to execute instructions stored in the memory, and the instructions stored in the memory can execute any possible implementation manner of the second aspect or the second aspect.
In a tenth aspect, embodiments of the present application provide a QoS management apparatus, where the QoS management apparatus includes a transceiver, a processor, and a memory, where the processor is configured to execute instructions stored in the memory, and the instructions stored in the memory can execute any possible implementation manner of the third aspect or the third aspect.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed to be used in the embodiments of the present application will be briefly described below, and it is obvious that the drawings described below are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a block diagram of a system for scheduling packets according to an embodiment of the present application;
fig. 2 is a block diagram of a method for scheduling packets according to an embodiment of the present application;
fig. 3 is a block diagram of a QoS scheduling apparatus provided according to an embodiment of the present application;
fig. 4 is a block diagram of a structure of a packet classification apparatus according to an embodiment of the present application;
fig. 5 is a block diagram of a QoS management apparatus provided according to an embodiment of the present application;
fig. 6 is a block diagram of a QoS scheduling apparatus provided according to an embodiment of the present application;
fig. 7 is a block diagram of a structure of a packet classification apparatus according to an embodiment of the present application;
fig. 8 is a block diagram of a QoS management apparatus according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the embodiments described are some embodiments of the present application, but not all embodiments. All other embodiments that can be derived by a person skilled in the art from the embodiments given herein without making any creative effort shall fall within the protection scope of the present application.
A distributed QoS scheduling system does not efficiently schedule packets in multiple links in a centralized manner. For example, assume that two SA devices, SA device 1 and SA device 2, are included in the distributed QoS scheduling system. The SA device 1 and the SA device 2 both preset the following QoS scheduling policy: the method comprises the steps of allocating 60% of output bandwidth of SA equipment for messages with the address range of 192.101.1.1-192.1.1.10 and the application layer Protocol being HyperText Transfer Protocol (HTTP), allocating 30% of output bandwidth of SA equipment for messages with the source IP address of 192.101.1.1-192.1.1.10 and the application layer Protocol being point-to-point (P2P), allocating 10% of output bandwidth of SA equipment for messages with the source IP address of 192.101.1.1-192.1.1.10 and the application layer Protocol for messages with other application layer protocols. Under the condition that a QoS scheduling policy is not adopted, the HTTP message received by the SA device 1 occupies 70% of the output bandwidth of the SA device and the P2P message occupies 30% of the output bandwidth of the SA device, the HTTP message received by the SA device 2 occupies 10% of the output bandwidth of the SA device and the P2P message occupies 90% of the output bandwidth of the SA device, and the source IP addresses of the messages received by the SA device 1 and the SA device 2 are both within the source IP address range. If the QoS scheduling policy is adopted, the SA device 1 will discard part of the HTTP messages, so that the HTTP messages output by the SA device 1 occupy 60% of the output bandwidth of the SA device 1, and the SA device 2 will discard part of the P2P messages, so that the P2P messages output by the SA device 2 occupy 30% of the output bandwidth of the SA device 1. Thus, in the total output bandwidth of the distributed QoS scheduling system, the bandwidth occupied by the P2P message is 30%, and the bandwidth occupied by the HTTP message is 35%. If the proportion occupied by the P2P message and the HTTP message in the total output bandwidth of the QoS scheduling system is required to be adjusted, the QoS scheduling strategy of each SA device needs to be adjusted respectively.
In addition, since the SA devices in the distributed QoS scheduling system are independent from each other, the distributed QoS scheduling system cannot implement some existing QoS scheduling algorithms, such as a Strict Priority (SP) scheduling algorithm, a Weighted Round Robin (WRR) scheduling algorithm, and the like. Taking the distributed QoS scheduling system as an example, assume that the QoS scheduling policy adopted is: the SP scheduling algorithm is adopted, and the priority of the HTTP message is higher than that of the P2P message. In this case, if the SA device 1 and the SA device 2 both receive the HTTP message and the P2P message, the SA device 1 and the SA device 2 will preferentially send the HTTP message, and will send the P2P message after the HTTP message is sent. Assume that the SA device 1 has not sent the HTTP message, and the SA device 2 has sent the HTTP message. Then, the messages output by the distributed QoS scheduling system include both HTTP messages and P2P messages, and cannot output only HTTP messages or P2P messages. It can be seen that the distributed QoS scheduling system cannot effectively adopt SP scheduling for QoS scheduling.
Fig. 1 is a block diagram of a system for scheduling packets according to an embodiment of the present application. As shown in fig. 1, the system 100 includes an input device 101, an input device 102, a message classification device 111, a message classification device 112, an output device 121, an output device 122, a QoS scheduling device 130, and a QoS management device 140.
The various devices in the system shown in fig. 1 may be connected by a bus. Specifically, the input device 101 is connected to the message classification device 111 and the message classification device 112, respectively, and the input device 102 is connected to the message classification device 111 and the message classification device 112, respectively. The message classifying device 111 is connected to the QoS scheduling device 130, the output device 121, and the output device 122, respectively, and the message classifying device 112 is connected to the QoS scheduling device 130, the output device 121, and the output device 122, respectively. The QoS scheduler 130 is connected to the output device 121 and the output device 122, respectively. The QoS management means 140 is connected to the packet classification means 111, the packet classification means 112 and the QoS scheduling means 130, respectively. A message received by the system 100 via the input means 101 is sent to the destination device of the message via the output means 121, and a message received by the system 100 via the input means 102 is sent to the destination device of the message via the output means 122. For convenience of description, the input device 101 may be referred to as the output device 121, and the input device 102 may be referred to as the output device 122.
Optionally, in some embodiments, the system 100 shown in fig. 1 may be a structural block diagram of a complete system for scheduling packets.
Optionally, in other embodiments, the system 100 shown in fig. 1 may also be a part of an entire system for scheduling messages. Specifically, in these embodiments, a system for scheduling packets may include P input devices (P is a positive integer greater than or equal to 2), P output devices, Q packet classification devices (Q is a positive integer greater than or equal to 2), at least one QoS scheduling device, and one QoS management device. The two message classification devices in the system 100 shown in fig. 1 may be any two message classification devices in the Q message classification devices, the two input devices in the system 100 are any two input devices in the P input devices that can communicate with the two classification devices, the two output devices in the system 100 are any two output devices in the P output devices that can be used to transmit messages received by the two input devices, the QoS scheduler 130 in the system 100 may be a QoS scheduler that any one of the at least one QoS scheduler can communicate with the two message classification devices, and the QoS manager in the system 100 may be the QoS manager in the system for scheduling messages.
The present application will be further described in connection with the system shown in fig. 1.
Fig. 2 is a block diagram of a structure of a method for scheduling packets according to an embodiment of the present application. In the system shown in fig. 1, the specific functions of the input device 101 and the input device 102 are the same, the specific functions of the message classification device 111 and the message classification device 112 are the same, and the specific functions of the output device 121 and the output device 122 are the same. In addition, the specific process of the QoS scheduling apparatus 130 processing the data packet sent by the packet classification apparatus 111 and the specific process of processing the data packet sent by the packet classification apparatus 112 are the same. The embodiment shown in fig. 2 will therefore be described only with respect to the input device 101, the message classification device 111, the QoS scheduling device 130, the QoS management device 140 and the output device 121. The operation of the input device 102, the message classification device 112 and the output device 122 is similar.
S201, the input device 101 sends the first data packet to the packet classification device 111.
Specifically, after receiving an input packet sent by a source device, the input device 101 may add a frame header before the input packet. The frame header includes the uplink number and the downlink number allocated by the input device 101 for the input message. The input device 101 sends the input packet with the added frame header to the packet classification device 111. For convenience of description, the input packet with the frame header added thereto may be referred to as a data packet. In addition, in some cases, different devices in the system 100 may add some information in the frame headers separately. In order to distinguish these data messages, the data message sent by the input device 101 may therefore be referred to as the first data message. The incoming message may be an IP message. An incoming message may include a header and payload (or message user data). The header may carry some attribute information of the incoming packet, such as a source IP address, a destination IP address, a source port number, a destination port number, a protocol type, a tunnel type, and the like.
Optionally, in some embodiments, the input device 101 may send the received message to different message classification devices according to the splitting policy. In one possible implementation, the offloading policy may be implemented in a load balancing manner. Specifically, the input device 101 may send the first data packet to the packet classification device 111 in a load-balanced manner. The load balancing is implemented according to a hash algorithm.
Optionally, in some embodiments, the input device 101 may send the message sent by the same source device to the same message classification device. Specifically, after receiving an input message, the input device 101 may parse the input message to obtain a source IP address carried by a message header in the input message. The input device 101 may send the input packet sent by the same source device to the same packet classification device according to the source IP address. For example, after determining that the received input packet is the input packet sent by the device 1, the input device 101 may send the input packet sent by the device 1 to the packet classification device 111 according to the splitting policy. After determining that the received input packet is the input packet sent by the device 2, the input device 101 may send the input packet sent by the device 2 to the packet classification device 112 according to the splitting policy.
Further, in some embodiments, the input device 101 may also parse the input message to obtain information carried in a header of the input message, such as a source IP address, a destination IP address, a source port number, a destination port number, a protocol type, and a tunnel type. The input means 101 may add the information carried in these headers to the frame headers and send the incoming message to the message classification means. It should be understood that the Protocol type refers to a Protocol type carried in a header of the packet, and may be, for example, a Transmission Control Protocol (TCP), a User Data Protocol (UDP), or the like.
Furthermore, in some embodiments, the input device 101 may further determine some information, such AS an originating Autonomous System (AS) number and a destination AS number, according to information in a header of the input message. Specifically, the input device 101 may determine the source AS number and the destination AS number according to the correspondence between the AS numbers and the IP addresses. The input device 101 may add this information to the frame header as well and send it to the packet classification device in accordance with the incoming packet.
Because the input device 101 can add the source IP address, the destination IP address, the source port number, the destination port number, the protocol type, and the tunnel type carried in the input packet, the source autonomous system AS number and the destination AS number determined according to the information carried in the packet, and the uplink number and the downlink number allocated by the input device 101 to the frame header, the packet classification device 111 can directly obtain these information from the frame header of the packet without parsing the input packet in the packet again. Thus, the resource consumption of the packet classification device can be reduced, so that the packet classification device 111 can have more resources to apply to packet classification.
S202, the packet classification device 111 determines whether attribute information matching the virtual channel matching information exists in the attribute information of the first data packet.
S203, the message classifying device 111 generates a second data message according to the first data message when determining that the attribute information of the first data message includes the attribute information matching with the virtual channel matching information, where the second data message carries a virtual channel identifier, and the virtual channel identifier is used to indicate that the attribute information of the first data message includes the attribute information matching with the virtual channel matching information.
The attribute information of the first data packet may include one or more of information carried in the input packet, information determined according to the information carried in the data packet, and information assigned by the input device 101. Specifically, the attribute information of the first data packet may include at least one of the following information: a source IP address, a destination IP address, a source port number, a destination port number, a protocol type, a tunnel type, an uplink number, a downlink number, a source AS number, and a destination AS number. According to the technical scheme, the message classification device can select the data messages needing to be scheduled according to the attribute information, so that the data messages scheduled by the QoS scheduling device can follow different attribute information, and the data messages with different attribute information can be flexibly scheduled.
The virtual channel matching information may include one or more virtual channel identifiers, each virtual channel identifier may correspond to one or more virtual channel matching items, and each virtual channel matching item may have a corresponding matching value. The match value may be a range of values or a specific value. If the attribute information of the first data packet is the same as the matching values of all the virtual channel matching items corresponding to one virtual channel identifier in the virtual channel matching information or is within the value range of the matching values of the virtual channel matching items, the packet classification device 111 may determine that the attribute information of the first data packet includes the attribute information matching with the virtual channel matching information. For convenience of description, the first data packet may be said to be matched with the virtual channel identifier. In this case, the packet classification device 111 may add the virtual channel identifier matched with the first data packet to the header of the first data packet. Since the packet classification device 111 adds the virtual channel identifier to the header of the first data packet, the content of the data packet changes. The data packet generated by the packet classification device 111 from the first data packet may therefore be referred to as a second data packet.
Further, in some embodiments, the packet classification device 111 sends the first data packet to the output device 121 when determining that the attribute information matching the virtual channel matching information does not exist in the attribute information of the first data packet. Specifically, if the attribute information of the first data packet is different from the matching value of one or more virtual channel matching items corresponding to any virtual channel identifier in the virtual channel matching information or is not within the value range of the matching value of the virtual channel matching item, the packet classification device 111 may determine that the attribute information of the first data packet does not include the attribute information matched with the virtual channel matching information.
Table 1 is an illustration of virtual channel matching information.
Figure BDA0001117401010000121
TABLE 1
The virtual channel matching information shown in table 1 includes a virtual channel identifier and a virtual channel matching item. Each virtual channel id in table 1 corresponds to two matching entries: source IP address and protocol type. The source IP address is a range of addresses and the protocol type is a specific protocol type. After receiving the first data packet, the packet classification device 111 may determine whether the virtual channel matching information includes a virtual channel identifier, where a range of a source IP address in a virtual channel matching item corresponding to the virtual channel identifier includes the source IP address of the first data packet, and a protocol type in the virtual channel matching item corresponding to the virtual channel identifier and a protocol type of the first data packet. If such a virtual channel identifier exists, it may be determined that the first data packet matches the virtual channel identifier. If there is no such virtual channel identifier, it may be determined that the first data packet does not match any of the virtual channel identifiers.
For example, assuming that the source IP address of the first datagram is 192.108.1.8 and the protocol type of the first datagram is TCP, the first datagram matches the virtual channel identifier 1001. In this case, the packet classification device 111 may add the virtual channel identifier 1001 to the header of the first data packet, thereby generating the second data packet.
For another example, if the source IP address of the first datagram is 102.108.1.8 and the protocol type of the first datagram is UDP, the first datagram does not match with the matching entry corresponding to any virtual channel id. In this case, the message classification device 111 may send the first data message to the output device 121.
S204, the QoS scheduling apparatus 130 receives the second data packet sent by the packet classification apparatus 121.
S205, the QoS scheduling apparatus 130 determines, according to the virtual channel identifier in the second data packet, a virtual channel scheduling parameter included in the corresponding QoS adjustment parameter, where the virtual channel scheduling parameter is used to indicate a total bandwidth of the output queue.
S206, the QoS scheduler 130 adds the second data packet to the output queue according to the QoS adjustment parameter.
For example, table 2 is an illustration of QoS adjustment parameters.
Figure BDA0001117401010000131
TABLE 2
In the QoS adjustment parameters shown in table 2, each virtual channel identifies the total bandwidth of a corresponding output queue. For example, the total bandwidth of the output queue of the virtual channel identifier 1001 is 100 megabits per second (Mbit/s, Mbps for short), the total bandwidth of the output queue of the virtual channel identifier 1002 is 50Mbps, and the total bandwidth of the output queue of the virtual channel identifier 1003 is 100 Mbps. Assuming that the virtual channel identifier carried by the second data packet is 1001, the total bandwidth of the output queue of the second data packet is 100 Mbps. The QoS scheduler 130 may add the second data packet to an output queue with a total bandwidth of 100 Mbps.
Optionally, in some embodiments, the adding, by the QoS scheduling apparatus 130, the second data packet to the output queue according to the QoS adjustment parameter includes: the QoS scheduler 130 determines that the currently occupied total bandwidth of the output queue is less than a first bandwidth threshold, and adds the second data packet to the output queue, where the first bandwidth threshold may be less than or equal to the total bandwidth. The technical scheme can avoid errors caused by the fact that the total bandwidth used currently exceeds the total bandwidth of the output queue. E.g., congestion, packet loss, etc.
Optionally, in some embodiments, the QoS scheduling apparatus 130 may further receive a third data packet sent by the packet classification apparatus 111. The determination process and the specific content of the third data packet sent by the packet classification device 111 are similar to those of the second data packet, and thus are not described herein again. The QoS scheduling apparatus 130 may determine the virtual channel scheduling parameter included in the corresponding QoS adjustment parameter according to the virtual channel identifier carried in the third data packet. The QoS scheduler 130 determines that the currently occupied total bandwidth of the output queue is greater than the first bandwidth threshold, and discards the third data packet (i.e., does not add the third data packet to the output queue).
Optionally, in some embodiments, the second data packet generated by the packet classification device 111 further carries an output queue identifier, where the output queue identifier is used to indicate information of a load of the first data packet.
The information of the payload may include at least one of the following information: application layer protocol, data type, and data content of the payload. The application layer protocol may be HTTP, File Transfer Protocol (FTP), P2P protocol, etc. The data type may be text data, multimedia data, etc. The data content of the payload may be some keywords in the payload, such as a Uniform Resource Locator (URL), or preset keywords, etc. The Packet classification device may determine the information of the payload by using a Deep Packet Inspection (DPI) technique. According to the technical scheme, the message classification device can select classification rules according to needs when classifying the data messages, so that the data messages scheduled by the QoS scheduling device can follow different classification rules, and thus, the data messages of different types can be flexibly scheduled.
Specifically, the packet classification device 111 may further determine load information that matches the output queue matching information in the load information of the first data packet, and add the matched output queue identifier to the frame header of the first data packet, so as to generate a second data packet.
Similar to the virtual channel match information, the output queue match information may include one or more output queue identifications, each of which may correspond to one or more matches, each of which may have a corresponding match value. The match value may be a range of values or a specific value. If the information of the load of the first data packet is the same as the matching values of all the output queue matching items corresponding to one output queue identifier in the output queue matching information or is within the value range of the matching values of the output queue matching items, the packet classification device 111 may determine that the information of the load matching the output queue matching information exists in the information of the load of the first data packet. For convenience of description, the first data packet may be said to match the output queue identifier. In this case, the packet classification device 111 may add the output queue id matched with the first datagram to the header of the first datagram. At this time, the frame header of the first data packet includes an output queue identifier matched with the first data packet in addition to the virtual channel identifier matched with the first data packet. Since the packet classification device 111 adds the virtual channel identifier and the output queue identifier to the header of the first data packet, the content of the data packet changes. The data packet generated by the packet classification device 111 from the first data packet may therefore be referred to as a second data packet.
Table 3 is an illustration of output queue match information.
Figure BDA0001117401010000151
TABLE 3
The output queue matching information shown in table 3 includes an output queue identifier and an output queue matching entry, where the output queue matching entry includes an application layer protocol. The "others" in the output queue matching entry corresponding to the output queue identification 2003 in table 3 refer to any application layer protocol other than HTTP and P2P, such as FTP or the like. Assuming that the application layer protocol type of the first datagram is P2P, the first datagram matches an output queue, identified as 2002. In this case, the packet classification device 111 may add the output queue identification 2002 to the header of the first data packet, thereby generating the second data packet.
Table 4 is an illustration of another output queue match information.
Figure BDA0001117401010000152
TABLE 4
The output queue matching information shown in table 4 includes an output queue identifier and an output queue matching entry, where the output queue matching entry includes a data type. Assuming the data type of the first datagram is multimedia, the first datagram matches the output queue with output queue identification 2004. In this case, the packet classification device 111 may add the output queue identification 2004 to the header of the first data packet, thereby generating the second data packet.
Each data packet matching a virtual channel may have a matching output queue identification. Thus, the packet classification device may first determine the virtual channel that matches the data packet, and then determine the output queue that matches the data packet. This avoids the occurrence of the situation where there is an output queue match and the virtual channels do not match.
Each data message matched with the virtual channel can have a matched output queue identifier, so that the virtual channel matching information and the output queue matching information are corresponding. Each virtual channel may have a corresponding output queue match information. The output queue matching information for different virtual channels may be different.
Tables 1, 3 and 4 are given as examples. The virtual channel identified as 1001 and the virtual channel identified as 1002 may correspond to the output queue matching information shown in table 3. The virtual channel identified as 1003 may correspond to the output queue match information shown in table 4.
For example, assuming that the source IP address of the first datagram is 192.108.1.8, the protocol type of the first datagram is TCP and the application layer protocol of the first datagram is P2P, the virtual channel id of the first datagram is 1001 and the output queue id is 2002.
For another example, if the source IP address of the first datagram is 192.108.1.16, the protocol type of the first datagram is TCP, and the application layer protocol of the first datagram is FTP, the virtual channel identifier of the first datagram is 1002, and the output queue identifier is 2003. In a case that the second data packet carries the output queue id, the method may further include: the QoS scheduler 130 determines an output queue parameter included in the QoS adjustment parameter according to the output queue identifier, where the output queue parameter is used to indicate a sub-bandwidth of the output queue or a priority of the output queue, and the sub-bandwidth of the output queue is less than or equal to a total bandwidth of the output queue. It is understood that this step is performed before step S206. The technical scheme can realize further scheduling of the data message according to the type of the data message.
Optionally, in some embodiments, the output queue parameter is used to indicate a sub-bandwidth of the output queue.
Table 5 is an illustration of QoS adjustment parameters.
Figure BDA0001117401010000161
Figure BDA0001117401010000171
TABLE 5
In the QoS parameters shown in table 5, each virtual channel id corresponds to the total bandwidth of one virtual channel. Each output queue id has a corresponding output queue sub-bandwidth. The output queue parameters shown in table 5 indicate the percentage of the sub-bandwidth to the total bandwidth. Assuming that the virtual channel identifier in the second data packet is 1001 and the output queue identifier is 2002, the QoS scheduler 130 may add to the output queue with a total bandwidth of 100Mbps and a sub-bandwidth of 30Mbps (i.e., 100Mbps 30%). For convenience of description, the output queue with the total bandwidth of 100Mbps and the sub-bandwidth of 30Mbps may be referred to as an output queue corresponding to the second data packet.
Of course, the output queue parameter may indicate the sub-bandwidth of the output queue in other ways than shown in table 5, for example, the output queue parameter may also indicate a specific value of the sub-bandwidth of each output queue. As another example, the output queue parameter may also indicate a weight value of each output queue, and the QoS scheduler 130 may determine the sub-bandwidth of each output queue according to the weight value of the output queue. As another example, the output queue parameter may also indicate a priority of each output queue, and the QoS scheduler 130 may determine the sub-bandwidth of each output queue according to the priority of the output queue.
Optionally, in some embodiments, in a case that the output queue parameter determined by the QoS scheduling apparatus is used to indicate a sub-bandwidth of an output queue, the QoS scheduling apparatus 130 adds the second data packet to the output queue according to the QoS adjustment parameter, including: the QoS scheduler 130 determines that the total bandwidth currently occupied by the output queue is less than a first bandwidth threshold, determines that the sub-bandwidth currently occupied by the output queue is less than a second bandwidth threshold, and adds the second data packet to the output queue, where the first bandwidth threshold may be less than or equal to the total bandwidth of the output queue, and the second bandwidth threshold is less than or equal to the sub-bandwidth of the output queue. The technical scheme can avoid errors caused by the fact that the total bandwidth used currently exceeds the total bandwidth and the sub-bandwidth of the output queue.
Optionally, in some embodiments, in a case that the output queue parameter determined by the QoS scheduling apparatus is used to indicate the priority of the output queue, the QoS scheduling apparatus 130 adds the second data packet to the output queue according to the QoS adjustment parameter, including: the QoS scheduler 130 determines that the currently occupied total bandwidth of the output queue is less than a first bandwidth threshold, determines that the priority of the output queue is higher than the priority of other output queues sharing the total bandwidth of the output queue, and adds each of the second data packets to the output queue, where the first bandwidth threshold is less than or equal to the total bandwidth of the output queue. The technical scheme can realize the scheduling of the data messages according to the priority.
For example, assume that the virtual channel corresponding to the second data packet is identified as 1001 and the output queue corresponding to the second data packet is identified as 2002. Meanwhile, assume that an output queue with an output queue identifier 2001, an output queue with an output queue identifier 2002, and an output queue with an output queue identifier 2003 share the total bandwidth of the virtual channel identifier 1001, and the priorities of the output queues are, in order from high to low: an output queue identified as 2001, an output queue identified as 2002, and an output queue identified as 2003. In this case, after receiving the second data packet, if the QoS scheduler 130 determines that the output queue with the virtual channel identifier 1001 and the output queue identifier 2001 is not empty (i.e., there is a data packet in the output queue), it temporarily does not add the second data packet to the output queue with the virtual channel identifier 1001 and the output queue identifier 2002. The QoS scheduler 130 may add the second data packet to the output queue with virtual channel identifier 1001 and output queue identifier 2002 when the output queue with virtual channel identifier 1001 and output queue identifier 2001 is empty, and the total bandwidth currently occupied by the output queue with virtual channel identifier 1001 and output queue identifier 2002 is less than the first bandwidth threshold.
Optionally, in some embodiments, the QoS scheduling apparatus 130 may further receive a fourth data packet sent by the packet classification apparatus 111. The determination process and specific content of the fourth data packet sent by the packet classification device 111 are similar to those of the second data packet carrying the output queue identifier, and thus are not described herein again. The QoS scheduling apparatus 130 may determine the virtual channel scheduling parameter included in the corresponding QoS adjustment parameter according to the virtual channel identifier carried in the fourth data packet, and/or determine the output queue parameter included in the corresponding QoS adjustment parameter according to the output queue identifier carried in the fourth data packet. The QoS scheduler 130 determines that the currently occupied total bandwidth of the output queue is greater than the first bandwidth threshold, and/or determines that the currently occupied sub-bandwidth of the output queue is greater than the second bandwidth threshold, and discards the fourth data packet (i.e., does not add the fourth data packet to the output queue).
The QoS scheduling apparatus 130 may refer to a QoS scheduling algorithm in the prior art for performing a specific scheduling process for scheduling the second data packet according to the total bandwidth of the virtual channel and the sub-bandwidth of the output queue or the priority of the output queue. For example, it may be an SP scheduling algorithm, a WRR scheduling algorithm, etc. And need not be described in detail herein.
Further, in some embodiments, after receiving the second data packet sent by the packet classification device 121, the QoS scheduling device 130 may determine whether the flow of the data packet currently processed by the QoS scheduling device 130 is greater than the flow threshold. The QoS scheduling apparatus 130 determines the virtual channel scheduling parameters included in the corresponding QoS adjustment parameters according to the virtual channel identifier, including: the QoS scheduling apparatus 130 determines that the flow of the data packet currently processed by the QoS scheduling apparatus 130 is smaller than the flow threshold, and determines the virtual channel scheduling parameter included in the corresponding QoS adjustment parameter according to the virtual channel identifier in the second data packet.
Optionally, in some embodiments, the QoS scheduling apparatus 130 may further receive a fifth data packet sent by the packet classification apparatus 111. The determination process and specific content of the fifth data packet sent by the packet classification device 111 are similar to those of the second data packet (the second data packet may be the second data packet carrying the output queue identifier, or the second data packet not carrying the output queue identifier), and thus need not be described herein again. After receiving the fifth data packet, the QoS scheduler 130 may determine whether the flow of the data packet currently processed by the QoS scheduler 130 is greater than a flow threshold. The QoS scheduler 130 may directly send the fifth data packet to the output device 121 when determining that the flow of the data packet currently processed by the QoS scheduler 130 is greater than or equal to the flow threshold. The QoS scheduler 130 may also discard the fifth data packet if it is determined that the flow of the data packet currently processed by the QoS scheduler 130 is greater than or equal to the flow threshold. The technical scheme can avoid errors caused when the flow of the data message received by the QoS scheduling device is greater than the processing capacity.
Further, the QoS scheduler 130 may further send a traffic alert message to the QoS management apparatus 140, where it is determined that the traffic of the currently processed data packet is greater than or equal to the traffic threshold, and the traffic alert message is used to indicate that the traffic of the currently processed data packet of the QoS scheduler 130 is greater than the traffic threshold. The QoS management device 140 may indicate that the flow of the data packet currently processed by the administrator QoS scheduling device 130 of the system 100 is greater than the flow threshold set by the QoS scheduling device 130 after receiving the flow alarm message. According to the technical scheme, the QoS scheduling device can inform the QoS management device that the flow of the data message currently processed by the QoS scheduling device is larger than the flow threshold value in time, so that the QoS management device can process the data message in time. For example, the QoS management device 140 may notify the administrator QoS scheduler 130 of the system 100 that the flow of the currently processed data packet is greater than the flow threshold. An administrator may make adjustments to system 100. For example, the virtual channel matching information and/or output queue matching information used by the packet classification device for classification may be adjusted. As another example, a QoS scheduler may be added to the system 100 to schedule data packets to be scheduled.
Optionally, in some embodiments, the traffic threshold may be set in the QoS scheduler 130, and the QoS scheduler 130 may directly determine whether the traffic of the currently processed data packet is greater than the traffic threshold.
Optionally, in other embodiments, the QoS scheduler 130 may periodically send the traffic of the currently processed data packets to the QoS management device 140. The QoS management device 140 may determine whether the flow of the data packet currently processed by the QoS scheduling device 130 is greater than the flow threshold according to the flow of the data packet currently processed and the flow threshold, and send the determination result to the QoS scheduling device 130. The QoS scheduler 130 may determine whether the traffic of the currently processed data packet is greater than the traffic threshold according to the received determination result. Specifically, the QoS management device 140 may send traffic feedback information to the QoS scheduling device 130, where the traffic feedback information is used to indicate whether the traffic of the data packet currently processed by the QoS scheduling device 130 is greater than the traffic threshold. The QoS scheduler 130 may determine that the flow of the data packet currently processed by the QoS scheduler 130 is greater than the flow threshold according to the flow feedback information; alternatively, it may be determined that the traffic of the data packet currently processed by the QoS scheduler 130 is less than or equal to the traffic threshold according to the traffic feedback information. According to the technical scheme, the QoS management device can timely acquire the flow of the data message currently processed by the QoS scheduling device and timely inform the QoS scheduling device when the flow exceeds the flow threshold.
Optionally, in some embodiments, the virtual channel matching information and the output queue matching information may be stored in the packet classifying device 111, and the QoS adjustment parameter may be stored in the QoS scheduling device 130.
Optionally, in other embodiments, the message classifying device 111 may receive the QoS scheduling policy sent by the QoS managing device 140, where the QoS scheduling policy may include the virtual channel matching information and the output queue matching information. The QoS scheduler 130 may receive the QoS scheduling policy sent by the QoS manager 140, and the QoS scheduling policy may include the QoS adjustment parameter. In this way, when the virtual channel matching information, the output queue matching information, and the QoS adjustment parameter need to be adjusted, the setting can be performed only in the QoS management apparatus 140, without setting each packet classification apparatus and QoS scheduling apparatus.
S207, the output device 121 sends the input message to the destination device.
Specifically, after the QoS scheduling apparatus adds the second data packet to the output queue, the second output packet may be sent to the output apparatus 121. After receiving the second output packet, the output device 121 may remove the frame header from the second output packet, and then send the second output packet with the frame header removed to the destination device. As shown in step S201, the data packet transmitted in the system 100 is the input packet including the frame header. Therefore, after removing the frame header, the message sent by the output device 121 is the input message.
The source device referred to in this application may be any device that can send an IP packet. For example, the device may be a terminal device (e.g., a computer, a mobile phone, a tablet computer, etc.), or may be a network-side device (e.g., a server, etc.). Similarly, the destination device may be any device that can receive and process the IP packet. For example, the device may be a terminal device (e.g., a computer, a mobile phone, a tablet computer, etc.), or may be a network-side device (e.g., a server, etc.).
The method shown in fig. 2 can realize centralized scheduling of messages scattered in multiple links. Specifically, a plurality of data packets scattered in a plurality of links may be classified by a plurality of packet classification devices, respectively, and the plurality of packet classification devices may send the data packets to be scheduled to the same QoS scheduling device. The QoS scheduling device can uniformly schedule the data messages. The method shown in fig. 2 can directly adjust the QoS scheduling policy of the system, thereby adjusting the QoS scheduling result of the system. In addition, the method shown in fig. 2 can also implement scheduling algorithms (e.g., SP scheduling algorithm, WRR scheduling algorithm, etc.) for QoS that cannot be implemented in the distributed QoS scheduling system. Also take the example of using SP scheduling algorithm and priority of HTTP message higher than that of P2P message. The data message received by the QoS scheduling apparatus includes both an HTTP message and a P2P message. The QoS scheduling apparatus will send the P2P message after the HTTP message is sent. Therefore, the message output by the system can only comprise an HTTP message or a P2P message.
In addition, the QoS scheduling device is not responsible for the data message classification work any more, so the QoS scheduling device can have more resources to realize message scheduling. In this case, the capability of the QoS scheduling apparatus to schedule the packet can be greatly improved.
Fig. 3 is a block diagram of a QoS scheduling apparatus according to an embodiment of the present application. As shown in fig. 3, the QoS scheduler 300 includes a receiving unit 301 and a processing unit 302.
A receiving unit 301, configured to receive first data packets sent by at least two packet classification devices, where each first data packet in the first data packet carries a virtual channel identifier, and the virtual channel identifier is used to indicate attribute information of the data packet carrying the virtual channel identifier.
A processing unit 302, configured to determine, according to the virtual channel identifier, a virtual channel scheduling parameter included in the corresponding QoS adjustment parameter, where the virtual channel scheduling parameter is used to indicate a total bandwidth of the output queue.
The processing unit 302 is further configured to add each first data packet in the first data packet to the output queue according to the QoS adjustment parameter.
Optionally, in some implementation manners, the processing unit 302 is specifically configured to determine that the currently occupied total bandwidth of the output queue is smaller than a first bandwidth threshold, and add each first data packet in the first data packet to the output queue, where the first bandwidth threshold is smaller than or equal to the total bandwidth of the output queue.
Optionally, in some implementation manners, each first data packet in the first data packet further carries an output queue identifier, where the output queue identifier is used to indicate information of a load of each first data packet in the first data packet. The processing unit 302 is further configured to determine, according to the output queue identifier, an output queue parameter included in the corresponding QoS adjustment parameter, where the output queue parameter is used to indicate a sub-bandwidth of the output queue or a priority of the output queue, and the sub-bandwidth of the output queue is smaller than or equal to a total bandwidth of the output queue.
Optionally, in some implementation manners, in a case that the output queue parameter is used to indicate a sub-bandwidth of the output queue, the processing unit 302 is specifically configured to determine that a total bandwidth currently occupied by the output queue is smaller than a first bandwidth threshold, determine that a sub-bandwidth currently occupied by the output queue is smaller than a second bandwidth threshold, add each first data packet in the first data packet to the output queue, where the first bandwidth threshold is smaller than or equal to the total bandwidth of the output queue, and the second bandwidth threshold is smaller than or equal to the sub-bandwidth of the output queue.
Optionally, in some implementations, in a case that the output queue parameter is used to indicate a priority of the output queue, the processing unit 302 is specifically configured to determine that a currently occupied total bandwidth of the output queue is smaller than a first bandwidth threshold, determine that the priority of the output queue is higher than priorities of other output queues sharing the total bandwidth of the output queue, and add each first data packet in the first data packet to the output queue, where the first bandwidth threshold is smaller than or equal to the total bandwidth of the output queue.
Optionally, in some implementation manners, the receiving unit 301 is further configured to receive second data packets sent by the at least two packet classification devices, where each second data packet in the second data packets carries the virtual channel identifier. The processing unit 302 is further configured to determine that the flow of the data packet currently processed by the QoS scheduling apparatus is greater than a flow threshold. The QoS scheduling apparatus further includes: a sending unit 303, configured to send each second data packet in the second data packets to an output device.
Optionally, in some implementation manners, the sending unit 303 is further configured to send a traffic alarm message to the QoS management apparatus, where the traffic alarm message is used to indicate that a traffic of the data packet currently processed by the QoS scheduling apparatus is greater than the traffic threshold.
Optionally, in some implementation manners, the sending unit is further configured to send, to the QoS management apparatus, traffic information, where the traffic information is used to indicate a traffic of a data packet currently processed by the QoS scheduling apparatus. The receiving unit 301 is further configured to receive traffic feedback information sent by the QoS management apparatus, where the traffic feedback information is used to indicate whether a flow of a data packet currently processed by the QoS scheduling apparatus is greater than the traffic threshold. The processing unit 302 is specifically configured to determine, according to the traffic feedback information, that the traffic of the data packet currently processed by the QoS scheduling apparatus is greater than the traffic threshold.
The operations and functions of the receiving unit 301, the processing unit 302, and the transmitting unit 303 of the QoS scheduling apparatus 300 may refer to the method of fig. 2, and are not described herein again to avoid repetition.
The QoS scheduler 300 may be the QoS scheduler 130 in the system 100 shown in fig. 1.
Fig. 4 is a block diagram of a structure of a packet classification apparatus according to an embodiment of the present application. As shown in fig. 4, the packet classification apparatus 400 includes a receiving unit 401, a processing unit 402, and a transmitting unit 403.
The receiving unit 401 is configured to receive a first data packet sent by an input device.
A processing unit 402, configured to determine whether attribute information matched with the virtual channel matching information exists in the attribute information of the first data packet.
The processing unit 402 is further configured to, when it is determined that attribute information that matches the virtual channel matching information exists in the attribute information of the first data packet, generate a second data packet according to the first data packet, where the second data packet carries a virtual channel identifier, and the virtual channel identifier is used to indicate that the attribute information of the first data packet includes attribute information that matches the virtual channel matching information.
A sending unit 403, configured to send the second data packet to a QoS scheduling apparatus.
Optionally, in some implementation manners, the sending unit 403 is further configured to send the first data packet to an output device when the processing unit 302 determines that the attribute information of the first data packet does not include the attribute information that matches the virtual channel matching information.
The operations and functions of the receiving unit 401, the processing unit 402, and the sending unit 403 of the packet classification apparatus 400 may refer to the method in fig. 2, and are not described herein again to avoid repetition.
The message classification device 400 may be the message classification device 111 or the message classification device 112 in the system 100 shown in fig. 1.
Fig. 5 is a block diagram of a QoS management apparatus according to an embodiment of the present application. As shown in fig. 5, the QoS management apparatus 500 includes: a sending unit 501 and a processing unit 502.
A processing unit 502, configured to determine virtual channel matching information and QoS adjustment parameters.
A sending unit 501, configured to send first QoS scheduling policy information to a QoS scheduling apparatus, where the first QoS scheduling policy information includes the QoS adjustment parameter.
The sending unit 501 is further configured to send second QoS scheduling policy information to each of the at least two packet classification devices, where the second QoS scheduling policy information includes the virtual channel matching information.
Optionally, in some embodiments, the processing unit 502 is further configured to determine output queue matching information. The second QoS scheduling policy information also includes the output queue matching information.
Optionally, in some embodiments, the QoS management apparatus 500 further includes a receiving unit 503, configured to receive a traffic alert message sent by the QoS scheduling apparatus, where the traffic alert message is used to indicate that a traffic of a data packet currently processed by the QoS scheduling apparatus is greater than a traffic threshold.
Optionally, in some embodiments, the receiving unit 503 is further configured to receive a flow of a currently processed data packet sent by the QoS scheduling apparatus. The processing unit 502 is further configured to determine whether the flow of the data packet currently processed by the QoS scheduling apparatus is greater than the flow threshold according to the flow of the data packet currently processed and the flow threshold. The sending unit 501 is further configured to send traffic feedback information to the QoS scheduling apparatus, where the traffic feedback information is used to indicate whether the traffic of the data packet currently processed by the QoS scheduling apparatus is greater than the traffic threshold.
The operations and functions of the sending unit 501, the processing unit 502 and the receiving unit 503 of the QoS management apparatus 500 may refer to the method of fig. 2, and are not described herein again to avoid redundancy.
The QoS management device 500 may be the QoS management device 140 in the system 100 shown in fig. 1.
Fig. 6 is a block diagram of a QoS scheduling apparatus according to an embodiment of the present application. The QoS scheduler 600 shown in fig. 6 includes a processor 601, a memory 602, and a transceiver 603.
The method disclosed in the embodiments of the present application may be applied to the processor 601, or implemented by the processor 601. The processor 601 may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuits of hardware or instructions in the form of software in the processor 601. The Processor 601 may be a general-purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic device, or discrete hardware components. The various methods, steps, and logic blocks disclosed in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software module may be located in a Random Access Memory (RAM), a flash Memory, a Read-Only Memory (ROM), a programmable ROM, an electrically erasable programmable Memory, a register, or other storage media that are well known in the art. The storage medium is located in the memory 602, and the processor 601 reads the instructions in the memory 602, and performs the steps of the above method in combination with the hardware thereof.
In particular, the memory 602 may store instructions for performing the method performed by the QoS scheduling apparatus in the method shown in fig. 2. The processor 601 may execute the instructions stored in the memory 602 to complete the steps performed by the QoS scheduling apparatus in the method shown in fig. 2 in combination with other hardware (e.g., the transceiver 603), and specific working procedures and beneficial effects can be referred to the description of the QoS scheduling apparatus in the embodiment shown in fig. 2.
Fig. 7 is a block diagram of a structure of a packet classification apparatus according to an embodiment of the present application. The message classification apparatus 700 shown in fig. 7 comprises a processor 701, a memory 702 and a transceiver 703.
The method disclosed in the embodiments of the present application may be applied to the processor 701, or implemented by the processor 701. The processor 701 may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be implemented by integrated logic circuits of hardware or instructions in the form of software in the processor 701. The Processor 701 may be a general-purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic device, or discrete hardware components. The various methods, steps, and logic blocks disclosed in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software module may be located in a Random Access Memory (RAM), a flash Memory, a Read-Only Memory (ROM), a programmable ROM, an electrically erasable programmable Memory, a register, or other storage media that are well known in the art. The storage medium is located in the memory 702, and the processor 701 reads the instructions in the memory 702, and combines the instructions with hardware to complete the steps of the above-described method.
In particular, the memory 702 may store instructions for performing the method performed by the packet classification device of the method of fig. 2. The processor 701 may execute the instructions stored in the memory 702 to complete the steps performed by the message classification apparatus in the method shown in fig. 2 in combination with other hardware (for example, the transceiver 703), and specific working processes and beneficial effects may refer to the description of the message classification apparatus in the embodiment shown in fig. 2.
Fig. 8 is a block diagram of a QoS management apparatus according to an embodiment of the present application. The QoS management apparatus 800 shown in fig. 8 includes a processor 801, a memory 802, and a transceiver 803.
The method disclosed in the embodiments of the present application may be applied to the processor 801 or implemented by the processor 801. The processor 801 may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuits of hardware or instructions in the form of software in the processor 801. The Processor 801 may be a general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic device, or discrete hardware components. The various methods, steps, and logic blocks disclosed in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software module may be located in a Random Access Memory (RAM), a flash Memory, a Read-Only Memory (ROM), a programmable ROM, an electrically erasable programmable Memory, a register, or other storage media that are well known in the art. The storage medium is located in the memory 802, and the processor 801 reads the instructions in the memory 802, and combines the hardware to complete the steps of the method.
In particular, the memory 802 may store instructions for performing the method performed by the QoS management apparatus in the method shown in fig. 2. The processor 801 may execute the instructions stored in the memory 802 to perform the steps performed by the QoS management apparatus in the method shown in fig. 2 in combination with other hardware (e.g., the transceiver 803), and the specific working process and beneficial effects can be referred to the description of the QoS management apparatus in the embodiment shown in fig. 2.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, a network device, or the like) or a processor (processor) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any changes or substitutions that can be easily conceived by those skilled in the art within the technical scope of the present application shall be covered by the scope of the present application, and therefore the scope of the present application shall be subject to the protection scope of the claims.

Claims (27)

1. A method for scheduling packets, the method comprising:
a QoS scheduling device receives first data messages respectively sent by at least two message classification devices, wherein each first data message in the first data messages carries a virtual channel identifier, and the virtual channel identifier is used for indicating attribute information of the data message carrying the virtual channel identifier;
the QoS scheduling device determines virtual channel scheduling parameters included in corresponding QoS adjustment parameters according to the virtual channel identifiers, wherein the virtual channel scheduling parameters are used for indicating the total bandwidth of an output queue;
and the QoS scheduling device adds each first data message in the first data message into the output queue according to the QoS adjusting parameter.
2. The method of claim 1, wherein the attribute information comprises at least one of: a source internet protocol IP address, a destination IP address, a source port number, a destination port number, a protocol type, a tunnel type, an uplink number, a downlink number, a source autonomous domain system AS number, and a destination AS number.
3. The method of claim 1 or 2, wherein the QoS scheduling means adding each of the first data packets to the output queue according to the QoS adjustment parameter comprises:
and the QoS scheduling device determines that the current occupied total bandwidth of the output queue is smaller than a first bandwidth threshold value, and adds each first data message in the first data message into the output queue, wherein the first bandwidth threshold value is smaller than or equal to the total bandwidth of the output queue.
4. The method according to claim 1 or 2, wherein each first data packet in the first data packet further carries an output queue identifier, wherein the output queue identifier is used for indicating information of a payload of each first data packet in the first data packet;
the method further comprises the following steps:
and the QoS scheduling device determines output queue parameters included by the corresponding QoS adjustment parameters according to the output queue identification, wherein the output queue parameters are used for indicating the sub-bandwidth of the output queue or the priority of the output queue, and the sub-bandwidth of the output queue is less than or equal to the total bandwidth of the output queue.
5. The method of claim 4, wherein the payload information is at least one of: application layer protocol, data type, data content of payload.
6. The method of claim 4, wherein the QoS scheduler adding each first data packet in the first data packets to the output queue according to the QoS adjustment parameter if the output queue parameter determined by the QoS scheduler is used to indicate the sub-bandwidth of the output queue, comprises:
the QoS scheduling device determines that the total bandwidth currently occupied by the output queue is smaller than a first bandwidth threshold, determines that the sub-bandwidth currently occupied by the output queue is smaller than a second bandwidth threshold, and adds each first data message in the first data message into the output queue, wherein the first bandwidth threshold is smaller than or equal to the total bandwidth of the output queue, and the second bandwidth threshold is smaller than or equal to the sub-bandwidth of the output queue.
7. The method of claim 4, wherein the QoS scheduling device adds each first data packet in the first data packet to the output queue according to the QoS adjustment parameter if the output queue parameter determined by the QoS scheduling device is used to indicate the priority of the output queue, comprising:
and the QoS scheduling device determines that the current occupied total bandwidth of the output queue is smaller than a first bandwidth threshold, determines that the priority of the output queue is higher than the priority of other output queues sharing the total bandwidth of the output queue, and adds each first data message in the first data message into the output queue, wherein the first bandwidth threshold is smaller than or equal to the total bandwidth of the output queue.
8. The method of claim 1 or 2, wherein the method further comprises:
the QoS scheduling apparatus receives second data packets respectively sent by the at least two packet classification apparatuses, where each of the second data packets carries the virtual channel identifier;
the QoS scheduling device determines that the flow of the data message currently processed by the QoS scheduling device is greater than a flow threshold value;
and the QoS scheduling device sends each second data message in the second data messages to an output device.
9. The method of claim 8, wherein the method further comprises: and the QoS scheduling device sends a flow warning message to a QoS management device, wherein the flow warning message is used for indicating that the flow of the data message currently processed by the QoS scheduling device is greater than the flow threshold value.
10. The method of claim 8, wherein the QoS scheduler determining that the flow of data packets currently processed by the QoS scheduler is greater than a flow threshold comprises:
the QoS scheduling device sends flow information to a QoS management device, wherein the flow information is used for indicating the flow of a data message currently processed by the QoS scheduling device;
the QoS scheduling device receives flow feedback information sent by the QoS management device, wherein the flow feedback information is used for indicating whether the flow of a data message currently processed by the QoS scheduling device is greater than the flow threshold value;
and the QoS scheduling device determines that the flow of the data message currently processed by the QoS scheduling device is greater than the flow threshold according to the flow feedback information.
11. A method for scheduling packets, the method comprising:
the message classification device receives a first data message sent by an input device;
the message classification device determines whether attribute information matched with the virtual channel matching information exists in the attribute information of the first data message;
the message classification device generates a second data message according to the first data message under the condition that the attribute information of the first data message is determined to have attribute information matched with the virtual channel matching information, wherein the second data message carries a virtual channel identifier, and the virtual channel identifier is used for indicating that the attribute information of the first data message comprises the attribute information matched with the virtual channel matching information;
and the message classification device sends the second data message to a QoS scheduling device.
12. The method of claim 11, wherein the attribute information of the first data packet includes at least one of: a source internet protocol IP address, a destination IP address, a source port number, a destination port number, a protocol type, a tunnel type, an uplink number, a downlink number, a source autonomous domain system AS number, and a destination AS number.
13. The method of claim 11 or 12, wherein the method further comprises: and the message classification device sends the first data message to an output device under the condition that the attribute information of the first data message is determined to have no attribute information matched with the virtual channel matching information.
14. The method of claim 11 or 12, wherein the second data packet further carries an output queue identification, the output queue identification being used for information indicating a payload of the first data packet.
15. The method of claim 14, wherein the information of the payload of the first data packet is at least one of: application layer protocol, data type, data content of payload.
16. A quality of service, QoS, scheduler, characterized in that the QoS scheduler comprises:
a receiving unit, configured to receive first data packets sent by at least two packet classification devices, where each first data packet in the first data packets carries a virtual channel identifier, and the virtual channel identifier is used to indicate attribute information of the data packet carrying the virtual channel identifier;
a processing unit, configured to determine, according to the virtual channel identifier, a virtual channel scheduling parameter included in the corresponding QoS adjustment parameter, where the virtual channel scheduling parameter is used to indicate a total bandwidth of an output queue;
the processing unit is further configured to add each first data packet in the first data packet to the output queue according to the QoS adjustment parameter.
17. The QoS scheduling apparatus of claim 16, wherein the processing unit is specifically configured to determine that a currently occupied total bandwidth of the output queue is less than a first bandwidth threshold, and add each first data packet in the first data packet to the output queue, where the first bandwidth threshold is less than or equal to the total bandwidth of the output queue.
18. The QoS scheduling apparatus of claim 16, wherein each first data packet in the first data packet further carries an output queue id, and the output queue id is used to indicate information of a payload of each first data packet in the first data packet;
the processing unit is further configured to determine an output queue parameter included in the corresponding QoS adjustment parameter according to the output queue identifier, where the output queue parameter is used to indicate a sub-bandwidth of the output queue or a priority of the output queue, and the sub-bandwidth of the output queue is less than or equal to a total bandwidth of the output queue.
19. The QoS scheduling apparatus of claim 18, wherein, when the output queue parameter is used to indicate the sub-bandwidth of the output queue, the processing unit is specifically configured to determine that the total currently occupied bandwidth of the output queue is less than a first bandwidth threshold, determine that the currently occupied sub-bandwidth of the output queue is less than a second bandwidth threshold, add each first data packet in the first data packet to the output queue, where the first bandwidth threshold is less than or equal to the total bandwidth of the output queue, and the second bandwidth threshold is less than or equal to the sub-bandwidth of the output queue.
20. The QoS scheduling apparatus of claim 18, wherein, when the output queue parameter is used to indicate the priority of the output queue, the processing unit is specifically configured to determine that a total currently occupied bandwidth of the output queue is less than a first bandwidth threshold, determine that the priority of the output queue is higher than priorities of other output queues sharing the total bandwidth of the output queue, and add each first data packet in the first data packet to the output queue, where the first bandwidth threshold is less than or equal to the total bandwidth of the output queue.
21. The QoS scheduling apparatus according to any one of claims 16 to 20, wherein the receiving unit is further configured to receive second data packets sent by the at least two packet classification apparatuses, respectively, where each of the second data packets carries the virtual channel identifier;
the processing unit is further configured to determine that a flow of a data packet currently processed by the QoS scheduling apparatus is greater than a flow threshold;
the QoS scheduling apparatus further includes: a sending unit, configured to send each of the second data messages to an output device.
22. The QoS scheduling apparatus of claim 21, wherein the sending unit is further configured to send a traffic alert message to a QoS management apparatus, where the traffic alert message is used to indicate that the traffic of the data packet currently processed by the QoS scheduling apparatus is greater than the traffic threshold.
23. The QoS scheduling apparatus of claim 21, wherein the sending unit is further configured to send traffic information to a QoS management apparatus, where the traffic information is used to indicate the traffic of data packets currently processed by the QoS scheduling apparatus;
the receiving unit is further configured to receive traffic feedback information sent by the QoS management apparatus, where the traffic feedback information is used to indicate whether a flow of a data packet currently processed by the QoS scheduling apparatus is greater than the traffic threshold;
the processing unit is specifically configured to determine, according to the traffic feedback information, that the traffic of the data packet currently processed by the QoS scheduling apparatus is greater than the traffic threshold.
24. A packet classification apparatus, characterized in that the packet classification apparatus comprises:
the receiving unit is used for receiving a first data message sent by the input device;
the processing unit is used for determining whether attribute information matched with the virtual channel matching information exists in the attribute information of the first data message;
the processing unit is further configured to generate a second data packet according to the first data packet when it is determined that attribute information matched with the virtual channel matching information exists in the attribute information of the first data packet, where the second data packet carries a virtual channel identifier, and the virtual channel identifier is used to indicate that the attribute information of the first data packet includes attribute information matched with the virtual channel matching information;
and the sending unit is used for sending the second data message to a QoS (quality of service) scheduling device.
25. The message classification device according to claim 24, wherein the sending unit is further configured to send the first data message to an output device if the processing unit determines that the attribute information matching the virtual channel matching information does not exist in the attribute information of the first data message.
26. A system for scheduling packets, comprising at least one quality of service, QoS, scheduling device according to any one of claims 16 to 23, Q packet classification devices according to claim 24 or 25, P input devices and P output devices, where Q is a positive integer greater than or equal to 2 and P is a positive integer greater than or equal to 2.
27. The system of claim 26, wherein the system further comprises at least one QoS management device.
CN201610835484.0A 2016-09-20 2016-09-20 Method, related device and system for scheduling message Active CN107846341B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610835484.0A CN107846341B (en) 2016-09-20 2016-09-20 Method, related device and system for scheduling message

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610835484.0A CN107846341B (en) 2016-09-20 2016-09-20 Method, related device and system for scheduling message

Publications (2)

Publication Number Publication Date
CN107846341A CN107846341A (en) 2018-03-27
CN107846341B true CN107846341B (en) 2021-02-12

Family

ID=61656767

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610835484.0A Active CN107846341B (en) 2016-09-20 2016-09-20 Method, related device and system for scheduling message

Country Status (1)

Country Link
CN (1) CN107846341B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110868364B (en) * 2018-08-28 2023-04-18 阿里巴巴集团控股有限公司 Bandwidth isolation device and method
CN110808913B (en) * 2018-08-30 2021-02-23 华为技术有限公司 Message processing method, device and related equipment
CN109962760B (en) * 2019-04-09 2022-08-30 湖南智领通信科技有限公司 Service scheduling method suitable for wireless TDMA ad hoc network
CN111277456B (en) * 2020-01-15 2021-10-15 福建奇点时空数字科技有限公司 Network congestion monitoring method based on bandwidth channel multi-dimensional correlation analysis
CN116800693A (en) * 2022-03-16 2023-09-22 华为技术有限公司 Queue scheduling method and device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030229714A1 (en) * 2002-06-05 2003-12-11 Amplify.Net, Inc. Bandwidth management traffic-shaping cell
JP4207940B2 (en) * 2005-08-31 2009-01-14 ヤマハ株式会社 Communication device
CN101127686B (en) * 2006-08-18 2012-04-04 华为技术有限公司 A network data processing method and device
CN100544321C (en) * 2006-09-06 2009-09-23 杭州华三通信技术有限公司 Support bandwidth management method and device that dynamic bandwidth is cut apart
CN102404206A (en) * 2011-11-04 2012-04-04 深圳市海思半导体有限公司 Enqueueing processing method and device
US20140105218A1 (en) * 2012-10-12 2014-04-17 Prashant H. Anand Queue monitoring to filter the trend for enhanced buffer management and dynamic queue threshold in 4g ip network/equipment for better traffic performance

Also Published As

Publication number Publication date
CN107846341A (en) 2018-03-27

Similar Documents

Publication Publication Date Title
CN107846341B (en) Method, related device and system for scheduling message
US10135636B2 (en) Method for generating forwarding information, controller, and service forwarding entity
CN109981471B (en) Method, equipment and system for relieving congestion
JP5677588B2 (en) System and method for multi-channel packet transmission
US8908522B2 (en) Transmission rate control
US9125089B2 (en) Method and apparatus for packet aggregation in a network controller
WO2020063339A1 (en) Method, device and system for realizing data transmission
US9094871B2 (en) Traffic management gateway for machine-to-machine network
EP2920931B1 (en) Content based overload protection
JP2013034164A (en) Relay device, and relay method
JP2021512567A (en) Systems and methods for identifying candidate flows in data packet networks
US11153221B2 (en) Methods, systems, and devices for classifying layer 4-level data from data queues
US11223568B2 (en) Packet processing method and apparatus
CN109005126B (en) Data stream processing method, device and computer readable storage medium
WO2013152229A2 (en) Systems and methods for selective data redundancy elimination for resource constrained hosts
CN107547425B (en) Convergence layer data transmission method and system
JP2023500143A (en) Service traffic adjustment method and apparatus
CN101958841A (en) Method and equipment for limiting P2P application
US11012378B2 (en) Methods and apparatus for shared buffer allocation in a transport node
WO2014177293A1 (en) Methods and apparatus
CN114979002A (en) Flow control method and flow control device
KR101003505B1 (en) Dynamic control method of traffic according to network congestion and Apparatus
EP3716549A1 (en) Bandwidth management
CN113691410B (en) Network performance data acquisition method, device and server
CN116846834A (en) Data transmission method, device and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant