WO2016202092A1 - Transmission method and apparatus based on traffic control and back pressure on multilayer queue - Google Patents

Transmission method and apparatus based on traffic control and back pressure on multilayer queue Download PDF

Info

Publication number
WO2016202092A1
WO2016202092A1 PCT/CN2016/080043 CN2016080043W WO2016202092A1 WO 2016202092 A1 WO2016202092 A1 WO 2016202092A1 CN 2016080043 W CN2016080043 W CN 2016080043W WO 2016202092 A1 WO2016202092 A1 WO 2016202092A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
flow control
priority
queue
buffer
Prior art date
Application number
PCT/CN2016/080043
Other languages
French (fr)
Chinese (zh)
Inventor
刘钰
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2016202092A1 publication Critical patent/WO2016202092A1/en

Links

Images

Definitions

  • the present application relates to the field of communication network technologies, for example, to a method and apparatus for transmitting a backpressure based on a multi-layer queue flow control.
  • Multi-layer queues have been highly valued since the development of computers. There are many algorithms for implementing multi-layer queues. In the field of communication, multi-layer queues are also widely used. The multi-layer queues used for QOS (Quality of Service) and protocol packet protection are counted.
  • QOS Quality of Service
  • Multi-layer queue mode generally one-level queue has only 8 levels of scheduling, and the use of multi-level queues, on the one hand, can ensure enough queues, and the pressure of the queue function can be distributed in different modules.
  • the multi-layer queue structure is shown in Figure 1.
  • the queue is divided into 4 layers A, B, C and D.
  • the D layer consists of 9 levels of queues, from top to bottom, queue 1 to queue 9, and top to bottom.
  • the priority of the queue is reduced in turn. According to the priority of the packet, the packet is placed in the queue of the corresponding level.
  • 1 is the queue with the highest priority
  • 9 is the queue with the lowest priority.
  • the multi-layer queue method can accurately guarantee the priority of packets.
  • the front end of the queue when there are sudden or congested scenarios from high-speed to low-speed scenarios, packet loss due to bandwidth is caused by the front end of the queue. There are certain limitations: when only the multi-layer queue is used, the current end queue (such as the A-layer queue in Figure 1) is blocked. When the packet loss event occurs, the front-end queue only distinguishes the priority of the final data, as shown in Figure 1. After the packets in the queues of the 1 and 2 are filtered by the C-layer priority, the packets in the queues of the 4th, 5th, 6th, 7th, 8th, and 9th queues are prioritized by the D and C layers. After the level screening, the B layer is also the queue of the same level of priority.
  • the packets in the queues of the 1 and 2 are in the highest priority. Therefore, the packets in the queues of the 1 and 2 are not lost.
  • the packets in the 4, 5, 6, 7, 8, and 9 queues have lower priority in the B layer than the packets in the 1, 2 queues, so the queues in the 4, 5, 6, 7, 8, and 9 queues. Packets will not be prioritized for packet loss. In fact, in Figure 1, the priority of the packets in the queue is the lowest, and the packets in the queue are discarded first. This causes the current queue to block and the backend queue to packetize the corresponding packets. When there is a problem that the packet loss is not recognized due to the inability to identify the packet priority.
  • the embodiment of the invention provides a method and a device for transmitting a backflow based on a multi-layer queue flow control, which can solve the problem that a high-priority packet is lost without any difference when a traffic burst and a traffic congestion occur.
  • An embodiment of the present invention provides a method for transmitting a backflow based on a multi-layer queue flow control, including:
  • the flow control engine module detects the usage status of the buffer, where the buffer is used to buffer the message from the multi-layer message queue;
  • the flow control engine module instructs the rate shaping module to stop sending low priority messages to the multi-layer message queue through the control module, and continues to the multi-layer message queue. Send high priority messages.
  • it also includes:
  • the flow control engine module instructs the rate shaping module to send the high priority message and the low priority message to the multi-layer message queue.
  • the cache high water line is a cache high water line set by the flow control engine module to a high usage state of the buffer; the cache low water line is a low use of the flow control engine module to the buffer The status is set to the cache low watermark.
  • the flow control engine module instructs the rate shaping module to stop sending low priority packets to the multi-layer message queue through the control module. And continue to send high priority packets to the multi-layer packet queue, including:
  • the flow control engine module When it is detected that the usage status of the buffer exceeds the set cache high water line, the flow control engine module sends a flow control ON frame to the control module;
  • control module When receiving the flow control ON frame, the control module instructs the rate shaping module to stop sending low priority packets to the multi-layer message queue, and continues to send high priority packets to the multi-layer message queue.
  • control module when receiving the flow control ON frame, instructs the rate shaping module to stop sending low priority packets to the multi-layer packet queue, including:
  • the rate shaping module When the rate shaping module receives the first notification message, buffering the low priority packet sent to the multi-layer packet queue, and detecting the buffering capability of the rate shaping module;
  • the cached low priority packet is preferentially scheduled, and the packet with lower priority is discarded.
  • the flow control engine module instructs the rate shaping module to send the high priority packet to the multi-layer packet queue by using the control module when detecting that the usage status of the buffer is less than or equal to the set cache low watermark.
  • low priority messages including:
  • the flow control engine module When it is detected that the usage status of the buffer is less than or equal to the set buffer low water line, the flow control engine module sends a flow control OFF frame to the control module;
  • the control module When receiving the flow control OFF frame, the control module instructs the rate shaping module to send a high priority message and a low priority message to the multi-layer message queue.
  • control module when receiving the flow control OFF frame, instructs the rate shaping module to send the high priority message and the low priority message to the multi-layer message queue, including:
  • the rate shaping module When the rate shaping module receives the second notification message, the high-priority packet and the low-priority packet are sent to the multi-layer packet queue for priority scheduling, and the scheduled packet is sent. Go to the multi-layer message queue.
  • the flow control engine module sends a flow control ON frame or a flow control OFF frame to the control module through a non-flow port.
  • an embodiment of the present invention further provides a multi-queue flow control back pressure based transmission device, including:
  • the detecting module is configured to detect, by the flow control engine module, a usage status of the buffer, where the buffer is used to buffer the message from the multi-layer packet queue;
  • the transmitting module is configured to: when detecting that the usage status of the buffer exceeds the set cache high water line, the flow control engine module instructs the rate shaping module to stop sending low priority messages to the multi-layer message queue through the control module, and continues to The multi-layer packet queue sends high-priority messages.
  • the transmitting device further includes:
  • the transmitting unit is configured to: when detecting that the usage status of the buffer is less than or equal to the set buffer low water line, the flow control engine module instructs the rate shaping module to send the high priority message to the multi-layer message queue and the low Priority message.
  • the embodiment of the invention further provides a computer readable storage medium storing computer executable instructions for performing the above method.
  • Embodiments of the present invention also provide an apparatus including one or more processors, a memory, and one or more programs, the one or more programs being stored in the memory when being one or more When the processor is executed, the above method is executed.
  • the flow control backpressure and the multi-level queue are used, and the flow control backpressure only cuts off the traffic of some queues, which can effectively solve the speed limit inaccuracy caused by the rate limiting module directly limiting the speed limit, and also ensures the priority queue.
  • the high-priority packet transmission in the traffic solves the problem of high-priority packet loss caused by packet lossless packet loss when congestion is caused by flow control backpressure.
  • flow control frames can be sent over non-traffic ports, so traffic bandwidth is not consumed due to flow control.
  • FIG. 1 is a schematic structural diagram of a multi-layer queue provided by a related art
  • FIG. 2 is a flowchart of a method for transmitting a multi-queue flow control back pressure according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of a transmission apparatus based on multi-layer queue flow control back pressure according to an embodiment of the present invention
  • FIG. 4 is a structural diagram of a transmission system based on a multi-tier queue flow control back pressure according to an embodiment of the present invention
  • FIG. 5 is a flowchart of a method for transmitting a multi-queue flow control back pressure according to an embodiment of the present invention
  • FIG. 6 is a schematic diagram of a hardware structure of a device based on a multi-layer queue flow control back pressure transmission method according to an embodiment of the present invention.
  • Speed limit is advanced. In this way, the traffic can be shaped according to the front-end rate. This method can alleviate the problem of inaccurate priority recognition in a certain degree, but in practice, usually in a scenario where the front-end rate is small.
  • the formats of the front-end and back-end messages are also different.
  • the calculation rate of the front-end and the back-end is not calculated according to the same standard. Therefore, the speed limit may be inaccurate.
  • Flow control backpressure can solve a series of problems in communication networks caused by congestion.
  • the flow control backpressure is that the current end has congestion traffic
  • the flow control frame is sent to the module that sends the backend, and the backend is notified to stop the flow.
  • the front-end message is sent out and the cache is sufficient
  • the back-end is notified to continue to send the packet. In this way, it can effectively control the high-speed to low-speed packet delivery, and the sudden problems caused by the hybrid packet length.
  • the format of the packets is the same, that is, the back end can know whether the front end has excess bandwidth to shape the traffic.
  • the flow control backpressure usually adopts the method of directly cutting off all the messages, and this method cannot guarantee the sudden problems in the transmission process of the high-speed and low-speed line cards and the high-priority messages of the congestion flow.
  • FIG. 2 is a flowchart of a method for transmitting a multi-queue flow control back pressure according to an embodiment of the present invention. As shown in FIG. 2, the method includes the following steps:
  • Step S201 The flow control engine module detects the usage status of the buffer, where the buffer is used to buffer the message from the multi-layer message queue.
  • Step S202 When it is detected that the usage status of the buffer exceeds the set cache high watermark, the flow control engine module instructs the rate shaping module to stop sending the low priority message to the multi-layer message queue through the control module, and continues to the multi-layer The packet queue sends high priority packets.
  • the high-priority packet is a packet whose priority is higher than the threshold
  • the low-priority packet is a packet whose priority is lower than or equal to the threshold
  • the method may further include: when detecting that the usage status of the buffer is less than or equal to the set buffer low water line, the flow control engine module instructs the rate shaping module to send a high priority to the multi-layer message queue through the control module. Level message and low priority message.
  • the cache high watermark is an upper limit value set by the flow control engine module to the use state of the buffer; the cache low watermark is a lower limit set by the flow control engine module to the use state of the buffer value.
  • the flow control engine module instructs the rate shaping module to stop sending low priority packets to the multi-layer message queue through the control module when the usage status of the buffer exceeds the set cache high water line.
  • the layer packet queue sends high-priority packets, including:
  • the flow control engine module When it is detected that the usage status of the buffer exceeds the set cache high water line, the flow control engine module sends a flow control ON frame to the control module;
  • control module When receiving the flow control ON frame, the control module notifies the rate shaping module to stop sending the low priority message to the multi-layer message queue, and continues to send the high priority message to the multi-layer message queue.
  • the control module when receiving the flow control ON frame, instructs the rate shaping module to stop sending low priority packets to the multi-layer packet queue, including:
  • the rate shaping module When the rate shaping module receives the first notification message, buffering the low priority packet sent to the multi-layer packet queue, and detecting the buffering capability of the rate shaping module;
  • the cached low priority packet is preferentially scheduled, and the packet with lower priority is discarded.
  • the flow control engine module instructs the rate shaping module to send high priority packets and low priority to the multi-layer packet queue by the control module when detecting that the usage status of the buffer is less than or equal to the set cache low watermark.
  • Level messages including:
  • the flow control engine module When detecting that the usage status of the buffer is less than or equal to the set buffer low water line, the flow control engine module sends a flow control OFF frame to the control module;
  • the control module When receiving the flow control OFF frame, the control module instructs the rate shaping module to send a high priority message and a low priority message to the multi-layer message queue.
  • the control module when receiving the flow control OFF frame, instructs the rate shaping module to send the high priority packet and the low priority packet to the multi-layer packet queue, including:
  • the rate shaping module When the rate shaping module receives the second notification message, the high-priority packet and the low-priority packet sent by the multi-layer packet queue are prioritized, and the scheduled packet is sent to the packet.
  • the multi-layer message queue When the rate shaping module receives the second notification message, the high-priority packet and the low-priority packet sent by the multi-layer packet queue are prioritized, and the scheduled packet is sent to the packet.
  • the multi-layer message queue When the rate shaping module receives the second notification message, the high-priority packet and the low-priority packet sent by the multi-layer packet queue are prioritized, and the scheduled packet is sent to the packet.
  • the multi-layer message queue When the rate shaping module receives the second notification message, the high-priority packet and the low-priority packet sent by the multi-layer packet queue are prioritized, and the scheduled packet is sent to the packet.
  • the multi-layer message queue When the rate shaping module receives the second notification message.
  • the flow control engine module mentioned in the embodiment of the present invention may send a flow control ON frame or a flow control OFF frame to the control module through a non-traffic port, so that the traffic bandwidth is not consumed.
  • FIG. 3 is a schematic diagram of a multi-queue flow control back pressure based transmission device according to an embodiment of the present invention. As shown in FIG. 3, the device includes: a detection module 301 and a stop transmission module 302.
  • the detecting module 301 is configured to check the usage status of the buffer by using the flow control engine module. Measure, wherein the buffer is used to buffer messages from a multi-layer message queue;
  • the flow control engine module instructs the rate shaping module to stop sending low priority packets to the multi-layer message queue through the control module when detecting that the usage status of the buffer exceeds the set cache high water line, and Continue to send high priority messages to the multi-layer message queue.
  • the transmission module 303 is configured to: when detecting that the usage status of the buffer is less than or equal to the set buffer low water line, the flow control engine module instructs the rate shaping module to send the high priority report to the multi-layer message queue through the control module. Text and low priority messages.
  • the transmission system provided by the embodiment of the present invention includes: a flow control engine module, a rate shaping module, and a control module. .
  • the flow control engine module is set to complete the flow control back pressure function
  • a rate shaping module configured to shape a tree queue consisting of two layers of queues M and N;
  • Control module set to complete flow control back pressure frame processing.
  • the transmission system provided by the embodiment of the present invention can implement multi-layer queue flow control back pressure, including:
  • the first step is to complete the tree queue.
  • a corresponding tree queue is created.
  • the tree queue includes two layers of M and N queues.
  • the tree queue can also have more layers of queues if needed.
  • the implementation of the multi-layer queue is not described here. There are multiple implementation methods. Time scheduling is a common way to implement multi-layer queues.
  • the rate shaping module shown in Figure 4 controls the queue.
  • the second step is to complete the flow control back pressure function.
  • the flow control engine module may further include a buffer, wherein the buffer is used to buffer messages from a multi-layer message queue.
  • the flow control engine module sets a cache high water line and a cache low water line for the buffer, and is configured to send a flow control frame (ie, a flow control ON frame) to the control module when the use state of the buffer exceeds the cache high water line. Or when the buffer usage state is less than or equal to the buffer low watermark, send a closed flow control frame (ie, a flow control OFF frame) to the control module. Both the flow control frame and the flow control frame can be sent through the non-flow port of the flow control engine module without affecting the traffic.
  • the flow control back pressure frame processing module is completed.
  • This module is mainly used to open the flow control frame or close the flow control frame sent by the flow control engine module, that is, the control module in FIG.
  • the control module sends a first notification message to the rate shaping module to instruct the rate shaping module to stop the messages in the queue 1' and the queue 2' (the queues in the queue 1' and the queue 2' The priority of the text is lower than the priority of the message in queue 0') and the packet is sent.
  • the control module sends a second notification message to the rate shaping module to instruct the rate shaping module to continue to send packets of the queue 1' and the queue 2'.
  • FIG. 5 is a flowchart of a method for transmitting a multi-queue flow control back pressure according to an embodiment of the present invention. As shown in FIG. 5, the transmission method includes:
  • Step 1 Check the usage status of the buffer
  • step 2 when the usage status of the buffer used for buffering the message exceeds the cache high water line, the process proceeds to step 2; when the usage status of the buffer used to buffer the message is less than or equal to the cache low water line, the process proceeds to step 4.
  • Step 2 Send a flow control ON frame
  • the flow control engine module sends a flow control ON frame to the control module.
  • Step 3 The control module instructs the rate shaping module to stop flowing.
  • the control module When receiving the flow control ON frame sent by the flow control engine module, the control module stops the rate shaping module from sending low priority packets to the multi-layer packet queue, and continues to send high-priority packets to the multi-layer packet queue.
  • Step 4 Send a flow control OFF frame
  • the flow control engine module sends a flow control OFF frame to the control module.
  • Step 5 The control module instructs the rate shaping module to send a flow
  • the control module When receiving the flow control OFF frame sent by the flow control engine module, the control module instructs the rate shaping module to send the high priority packet and the low priority packet to the multi-layer packet queue.
  • Step 6 The rate shaping module sends a packet according to the queue priority.
  • the rate shaping module starts to perform priority scheduling on the locally cached packets, and sends the scheduled packets to the flow control engine module.
  • Example 1 In the case of a mixed-race burst, the multi-queue flow control backpressure transmission method includes:
  • Step 001 The packet is sent by the rate shaping module to the flow control engine module.
  • Step 002 the flow control engine module detects that the usage status of the buffer exceeds the set cache high water line due to the burst, and the flow control engine module sends the flow control ON frame to the control module;
  • Step 003 After receiving the flow control ON frame, the control module stops the rate shaping module from sending a low priority message to the flow control engine module, and continues to send the high priority message to the flow control engine module (in combination with FIG. 4, That is, the packets in the queue 1' and the queue 2' are sent to the flow control engine module, and the packets in the queue 0' are sent to the flow control engine module, so that the queues in the flow control engine module continue to be prioritized for transmission.
  • the bursty message is buffered in the rate shaping module;
  • Step 004 the flow control engine module sends out the message in the buffer, and when the usage state of the buffer is less than or equal to the buffer low water line, the flow control engine module sends the flow control OFF frame to the control module;
  • Step 005 After receiving the flow control OFF frame, the control module instructs the rate shaping module to continue sending low priority packets to the flow control engine module (in combination with FIG. 4, the queue 1' and the queue 2 are continuously sent to the flow control engine module. 'message';
  • step 006 the rate shaping module starts to perform priority scheduling on the locally cached packets, and the low-priority packets (in combination with the packets in queue 1 and queue 2) are scheduled and sent to the flow.
  • Control engine module
  • step 007 the process returns to step 001.
  • Example 2 In the case of a congested stream, the following steps are included:
  • Step 001 The packet is sent by the rate shaping module to the flow control engine module.
  • Step 002 The flow control engine module sends a flow control ON frame to the control module when the flow control engine module detects that the usage status of the buffer exceeds the set cache high water line because the message is congested;
  • Step 003 After receiving the flow control ON frame, the control module stops the rate shaping module from sending low priority packets to the flow control engine module, and continues to send high priority packets to the flow control engine module (in any case, even if congestion occurs)
  • the packet in the flow control engine module is not allowed to be sent to the priority level for transmission.
  • the remaining congested packets (that is, low-priority packets) are cached in the rate shaping module.
  • the rate shaping module detects the packet, the rate shaping module detects the packet.
  • the rate shaping module performs priority scheduling on the locally cached low-priority packets and discards the lower-priority packets.
  • Step 004 the flow control engine module sends out the message in the buffer, and after the use state of the buffer is less than or equal to the cache low water line, the flow control engine module sends a flow control OFF frame to the control module;
  • Step 005 After receiving the flow control OFF frame, the control module instructs the rate shaping module to continue sending low priority packets to the flow control engine module (in combination with FIG. 4, the queue 1' and the queue 2 are continuously sent to the flow control engine module. 'message';
  • step 006 the rate shaping module starts to perform priority scheduling on the locally cached packets, and the low-priority packets (in combination with the packets in queue 1 and queue 2) are scheduled and sent to the flow.
  • Control engine module
  • step 007 the process returns to step 001.
  • the embodiment of the invention further provides a non-volatile computer storage medium storing computer-executable instructions, which can be used to perform the multi-queue flow control back pressure transmission in the above embodiment. method.
  • FIG. 6 is a schematic diagram of a hardware structure of a device based on a multi-layer queue flow control back pressure transmission method according to an embodiment of the present invention.
  • the device includes:
  • One or more processors 410, one processor 410 is taken as an example in FIG. 6;
  • the device may also include an input device 430 and an output device 440.
  • the processor 410, the memory 420, the input device 430, and the output device 440 in the device may be connected by a bus or other means, and the connection through the bus is taken as an example in FIG.
  • the memory 420 is used as a computer readable storage medium, and can be used to store a software program, a computer executable program, and a module, such as a program instruction/module corresponding to a multi-tier queue flow control back pressure based transfer method in the embodiment of the present invention (for example, The detection module 301 and the stop transmission module 302) described in FIG.
  • the processor 410 executes various functional applications and data processing of the server by running software programs, instructions, and modules stored in the memory 420, that is, a multi-queue flow control backpressure transmission method of the foregoing method embodiments.
  • the memory 420 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function; the storage data area may store data created according to usage of the terminal device, and the like.
  • memory 420 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device.
  • memory 420 can further include memory remotely located relative to processor 410, which can be connected to the terminal device over a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
  • Input device 430 can be used to receive input digital or character information and to generate key signal inputs related to user settings and function control of the terminal.
  • Output device 440 can include a display device such as a display screen.
  • the one or more modules are stored in the memory 420, and when executed by the one or more processors 410, the multi-queue flow control backpressure transmission method in the above embodiment is performed.
  • the embodiment of the present invention can effectively solve the speed limit inaccuracy caused by the rate limit of the rate shaping module because the rate is not calculated according to the same format.
  • the lower-rate speed cannot be determined.
  • the priority queue is used to ensure the high-priority transmission in the traffic. This solves the high-priority loss caused by the packet lossless packet loss caused by traffic backpressure. Package problem.
  • the flow control frame is sent through the non-traffic port, so the traffic bandwidth is not consumed due to flow control.
  • the flow control back pressure method is used to solve the problem of packet congestion in the communication network, and the flow control back pressure and the multi-level queue are adopted, wherein the flow control back pressure mode is used to cut off the traffic of some queues.
  • the Queue mode ensures that high-priority packets in the traffic are not lost and can be sent normally. Avoid the occurrence of undifferentiated packet loss.

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A transmission method and apparatus based on traffic control and back pressure on a multilayer queue. The transmission method comprises: a traffic-control engine module detects a usage state of a cache, the cache being used for caching packets from a multiple packet queue; and when detecting that the usage state of the cache exceeds a specified high waterline of the cache, the traffic-control engine module instructs, by using a control module, a rate shaping module to stop sending low-priority packets to the multilayer packet queue, and to continue to send high-priority packets to the multilayer packet queue. Also disclosed is a transmission apparatus based on traffic control and back pressure on a multilayer queue.

Description

基于多层队列流控反压的传送方法及装置Transmission method and device based on multi-layer queue flow control back pressure 技术领域Technical field
本申请涉及通信网络技术领域,例如涉及一种基于多层队列流控反压的传送方法及装置。The present application relates to the field of communication network technologies, for example, to a method and apparatus for transmitting a backpressure based on a multi-layer queue flow control.
背景技术Background technique
多层队列从计算机发展开始就一直备受重视,相关技术有多种算法均可实现多层队列,在通信领域,多层队列也被广泛应用。QOS(Quality of Service,服务质量)、协议报文保护等都用的多层队列进行计数。Multi-layer queues have been highly valued since the development of computers. There are many algorithms for implementing multi-layer queues. In the field of communication, multi-layer queues are also widely used. The multi-layer queues used for QOS (Quality of Service) and protocol packet protection are counted.
多层队列方式,一般一层队列只有8级调度,而利用多层队列,一方面可以保证足够多的队列,并可以让队列功能的压力分布在不同的模块。多层队列结构见图1所示,该队列分为4层A,B,C和D,其中,D层包括9级队列,由上到下依次为队列1-队列9,并且由上至下队列的优先级依次降低。根据报文优先级的不同,将报文放入对应层级的队列中。图1中,1为优先级最高的队列,9为优先级最低的队列。采用多层队列的方法,虽然可以准确地保证报文的优先级,但是当遇到由高速到低速的场景,有突发或者拥塞的情况时,对于队列前端由于带宽原因导致的丢包,会有一定的局限性:只采用多层队列,会导致当前端队列(如图1中的A层队列)阻塞发生丢包事件时,前端队列只区分最终数据的优先级,如图1,可以看到1,2队列中的报文经过C层优先级筛选后,对于B层是同等优先级的报文,4,5,6,7,8,9队列中的报文经过D、C层优先级筛选后,在B层也是同等级优先级的队列。当A层发生拥塞导致B层进行优先级报文丢包时,由于1,2队列中的报文处于B层优先级最高的位置,因此1,2队列中的报文不会被丢包;而由于4,5,6,7,8,9队列中的报文在B层中优先级低于1,2队列中的报文,因此4,5,6,7,8,9队列中的报文就会不分优先级的丢包。而实际上,图1中,9队列中的报文的优先级最低,应首先将9队列中的报文丢包,这样会导致当前端队列阻塞需后端队列对相应的报文进行丢包时,出现无法识别报文优先级导致的丢包不准的问题。 Multi-layer queue mode, generally one-level queue has only 8 levels of scheduling, and the use of multi-level queues, on the one hand, can ensure enough queues, and the pressure of the queue function can be distributed in different modules. The multi-layer queue structure is shown in Figure 1. The queue is divided into 4 layers A, B, C and D. The D layer consists of 9 levels of queues, from top to bottom, queue 1 to queue 9, and top to bottom. The priority of the queue is reduced in turn. According to the priority of the packet, the packet is placed in the queue of the corresponding level. In Figure 1, 1 is the queue with the highest priority and 9 is the queue with the lowest priority. The multi-layer queue method can accurately guarantee the priority of packets. However, when there are sudden or congested scenarios from high-speed to low-speed scenarios, packet loss due to bandwidth is caused by the front end of the queue. There are certain limitations: when only the multi-layer queue is used, the current end queue (such as the A-layer queue in Figure 1) is blocked. When the packet loss event occurs, the front-end queue only distinguishes the priority of the final data, as shown in Figure 1. After the packets in the queues of the 1 and 2 are filtered by the C-layer priority, the packets in the queues of the 4th, 5th, 6th, 7th, 8th, and 9th queues are prioritized by the D and C layers. After the level screening, the B layer is also the queue of the same level of priority. When the A layer is congested and the B layer performs the packet loss of the priority packets, the packets in the queues of the 1 and 2 are in the highest priority. Therefore, the packets in the queues of the 1 and 2 are not lost. The packets in the 4, 5, 6, 7, 8, and 9 queues have lower priority in the B layer than the packets in the 1, 2 queues, so the queues in the 4, 5, 6, 7, 8, and 9 queues. Packets will not be prioritized for packet loss. In fact, in Figure 1, the priority of the packets in the queue is the lowest, and the packets in the queue are discarded first. This causes the current queue to block and the backend queue to packetize the corresponding packets. When there is a problem that the packet loss is not recognized due to the inability to identify the packet priority.
发明内容Summary of the invention
本发明实施例提供一种基于多层队列流控反压的传送方法及装置,可解决流量突发和流量拥塞时的高优先级报文被无差别丢包的问题。The embodiment of the invention provides a method and a device for transmitting a backflow based on a multi-layer queue flow control, which can solve the problem that a high-priority packet is lost without any difference when a traffic burst and a traffic congestion occur.
本发明实施例提供了一种基于多层队列流控反压的传送方法,包括:An embodiment of the present invention provides a method for transmitting a backflow based on a multi-layer queue flow control, including:
流控引擎模块对缓存器的使用状态进行检测,其中,缓存器用于缓存来自多层报文队列的报文;The flow control engine module detects the usage status of the buffer, where the buffer is used to buffer the message from the multi-layer message queue;
当检测到缓存器的使用状态超过设置的缓存高水线时,流控引擎模块通过控制模块指示速率整形模块停止向多层报文队列发送低优先级报文,并继续向多层报文队列发送高优先级报文。When it is detected that the usage status of the buffer exceeds the set cache high water line, the flow control engine module instructs the rate shaping module to stop sending low priority messages to the multi-layer message queue through the control module, and continues to the multi-layer message queue. Send high priority messages.
可选地,还包括:Optionally, it also includes:
当检测到缓存器的使用状态小于等于设置的缓存低水线时,流控引擎模块通过控制模块指示所述速率整形模块向多层报文队列发送高优先级报文和低优先级报文。When it is detected that the usage status of the buffer is less than or equal to the set buffer low watermark, the flow control engine module instructs the rate shaping module to send the high priority message and the low priority message to the multi-layer message queue.
可选地,所述缓存高水线是所述流控引擎模块对缓存器的高使用状态设置的缓存高水线;所述缓存低水线是所述流控引擎模块对缓存器的低使用状态设置的缓存低水线。Optionally, the cache high water line is a cache high water line set by the flow control engine module to a high usage state of the buffer; the cache low water line is a low use of the flow control engine module to the buffer The status is set to the cache low watermark.
可选地,所述的当检测到缓存器的使用状态超过所设置的缓存高水线时,流控引擎模块通过控制模块指示速率整形模块停止向多层报文队列发送低优先级报文,并继续向多层报文队列发送高优先级报文,包括:Optionally, when it is detected that the usage status of the buffer exceeds the set cache high watermark, the flow control engine module instructs the rate shaping module to stop sending low priority packets to the multi-layer message queue through the control module. And continue to send high priority packets to the multi-layer packet queue, including:
当检测到缓存器的使用状态超过设置的缓存高水线时,流控引擎模块向控制模块发送流控ON帧;When it is detected that the usage status of the buffer exceeds the set cache high water line, the flow control engine module sends a flow control ON frame to the control module;
所述控制模块接收到所述流控ON帧时,指示速率整形模块停止向多层报文队列发送低优先级报文,并继续向多层报文队列发送高优先级报文。When receiving the flow control ON frame, the control module instructs the rate shaping module to stop sending low priority packets to the multi-layer message queue, and continues to send high priority packets to the multi-layer message queue.
可选地,所述控制模块接收到所述流控ON帧时,指示速率整形模块停止向多层报文队列发送低优先级报文,包括:Optionally, the control module, when receiving the flow control ON frame, instructs the rate shaping module to stop sending low priority packets to the multi-layer packet queue, including:
所述控制模块接收到所述流控ON帧时,向所述速率整形模块发送第一通知消息;Receiving, by the control module, the first notification message to the rate shaping module when receiving the flow control ON frame;
当所述速率整形模块接收到所述第一通知消息时,将所述停止向多层报文队列发送的低优先级报文进行缓存,并对速率整形模块的缓存能力进行检测;When the rate shaping module receives the first notification message, buffering the low priority packet sent to the multi-layer packet queue, and detecting the buffering capability of the rate shaping module;
当检测到所述速率整形模块的缓存能力超过设置的缓存能力时,将所缓存的低优先级报文进行优先级调度,并丢弃优先级较低的报文。 When the buffering capability of the rate shaping module is exceeded, the cached low priority packet is preferentially scheduled, and the packet with lower priority is discarded.
可选地,所述当检测到缓存器的使用状态小于等于所设置的缓存低水线时,流控引擎模块通过控制模块指示所述速率整形模块向多层报文队列发送高优先级报文和低优先级报文,包括:Optionally, the flow control engine module instructs the rate shaping module to send the high priority packet to the multi-layer packet queue by using the control module when detecting that the usage status of the buffer is less than or equal to the set cache low watermark. And low priority messages, including:
当检测到缓存器的使用状态小于等于所设置的缓存低水线时,流控引擎模块向控制模块发送流控OFF帧;When it is detected that the usage status of the buffer is less than or equal to the set buffer low water line, the flow control engine module sends a flow control OFF frame to the control module;
所述控制模块接收到所述流控OFF帧时,指示速率整形模块向多层报文队列发送高优先级报文和低优先级报文。When receiving the flow control OFF frame, the control module instructs the rate shaping module to send a high priority message and a low priority message to the multi-layer message queue.
可选地,所述控制模块接收到所述流控OFF帧时,指示速率整形模块向多层报文队列发送高优先级报文和低优先级报文,包括:Optionally, the control module, when receiving the flow control OFF frame, instructs the rate shaping module to send the high priority message and the low priority message to the multi-layer message queue, including:
所述控制模块接收到所述流控OFF帧时,向所述速率整形模块发送第二通知消息;Receiving, by the control module, the second notification message to the rate shaping module when receiving the flow control OFF frame;
当所述速率整形模块接收到所述第二通知消息时,将所述向多层报文队列发送高优先级报文和低优先级报文进行优先级调度,并将调度后的报文发送到所述多层报文队列中。When the rate shaping module receives the second notification message, the high-priority packet and the low-priority packet are sent to the multi-layer packet queue for priority scheduling, and the scheduled packet is sent. Go to the multi-layer message queue.
可选地,所述流控引擎模块通过非流量口向所述控制模块发送流控ON帧或流控OFF帧。Optionally, the flow control engine module sends a flow control ON frame or a flow control OFF frame to the control module through a non-flow port.
此外,本发明实施例还提供了一种基于多层队列流控反压的传送装置,包括:In addition, an embodiment of the present invention further provides a multi-queue flow control back pressure based transmission device, including:
检测模块,设置为流控引擎模块对缓存器的使用状态进行检测,其中,缓存器用于缓存来自多层报文队列的报文;The detecting module is configured to detect, by the flow control engine module, a usage status of the buffer, where the buffer is used to buffer the message from the multi-layer packet queue;
传送模块,设置为当检测到缓存器的使用状态超过设置的缓存高水线时,流控引擎模块通过控制模块指示速率整形模块停止向多层报文队列发送低优先级报文,并继续向多层报文队列发送高优先级报文。The transmitting module is configured to: when detecting that the usage status of the buffer exceeds the set cache high water line, the flow control engine module instructs the rate shaping module to stop sending low priority messages to the multi-layer message queue through the control module, and continues to The multi-layer packet queue sends high-priority messages.
可选地,所述传送装置还包括:Optionally, the transmitting device further includes:
传送单元,设置为当检测到缓存器的使用状态小于等于设置的缓存低水线时,流控引擎模块通过控制模块指示所述速率整形模块向多层报文队列发送高优先级报文和低优先级报文。The transmitting unit is configured to: when detecting that the usage status of the buffer is less than or equal to the set buffer low water line, the flow control engine module instructs the rate shaping module to send the high priority message to the multi-layer message queue and the low Priority message.
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述方法。The embodiment of the invention further provides a computer readable storage medium storing computer executable instructions for performing the above method.
本发明实施例还提供一种设备,该设备包括一个或多个处理器、存储器以及一个或多个程序,所述一个或多个程序存储在存储器中,当被一个或多个处 理器执行时,执行上述方法。Embodiments of the present invention also provide an apparatus including one or more processors, a memory, and one or more programs, the one or more programs being stored in the memory when being one or more When the processor is executed, the above method is executed.
本发明实施例利用流控反压和多级队列,流控反压仅截断部分队列的流量,可以有效解决速率整形模块直接限速导致的限速不准,同时,也用优先级队列保证了流量中的高优先级发送,解决了只用流控反压,导致的拥塞时,报文无差别丢包导致的高优先级丢包问题。另外,流控帧可以通过非流量端口发送,因此不会因为流控而消耗流量带宽。In the embodiment of the present invention, the flow control backpressure and the multi-level queue are used, and the flow control backpressure only cuts off the traffic of some queues, which can effectively solve the speed limit inaccuracy caused by the rate limiting module directly limiting the speed limit, and also ensures the priority queue. The high-priority packet transmission in the traffic solves the problem of high-priority packet loss caused by packet lossless packet loss when congestion is caused by flow control backpressure. In addition, flow control frames can be sent over non-traffic ports, so traffic bandwidth is not consumed due to flow control.
附图说明DRAWINGS
图1是相关技术提供的多层队列的结构示意图;1 is a schematic structural diagram of a multi-layer queue provided by a related art;
图2是本发明实施例提供的一种基于多层队列流控反压的传送方法流程图;FIG. 2 is a flowchart of a method for transmitting a multi-queue flow control back pressure according to an embodiment of the present invention; FIG.
图3是本发明实施例提供的一种基于多层队列流控反压的传送装置示意图;3 is a schematic diagram of a transmission apparatus based on multi-layer queue flow control back pressure according to an embodiment of the present invention;
图4是本发明实施例提供的基于多层队列流控反压的传送系统结构图;4 is a structural diagram of a transmission system based on a multi-tier queue flow control back pressure according to an embodiment of the present invention;
图5是本发明实施例提供的基于多层队列流控反压的传送方法流程图;FIG. 5 is a flowchart of a method for transmitting a multi-queue flow control back pressure according to an embodiment of the present invention; FIG.
图6是本发明实施例提供的一种基于多层队列流控反压的传送方法的设备的硬件结构示意图。FIG. 6 is a schematic diagram of a hardware structure of a device based on a multi-layer queue flow control back pressure transmission method according to an embodiment of the present invention.
实施方式Implementation
以下结合附图对本申请的实施例进行说明,应当理解,以下所说明的实施例仅用于说明和解释本申请,并不用于限定本申请。The embodiments of the present application are described below with reference to the accompanying drawings, and it is understood that the embodiments described below are only used to illustrate and explain the present application.
相关技术中有以下几种流控方式:The following technologies have the following flow control methods:
提前进行限速。这种方式可以先将流量按照前端速率进行整形,这种方式在理论情况下是可以在某种程度上缓解上述优先级识别不准的问题,但实际上,通常在前端速率较小的场景中,前端和后端报文的格式也有所不同,这种由于报文格式不同导致的前后计算速率不是按照同一个标准计算,因此会出现限速不准的情况。Speed limit is advanced. In this way, the traffic can be shaped according to the front-end rate. This method can alleviate the problem of inaccurate priority recognition in a certain degree, but in practice, usually in a scenario where the front-end rate is small. The formats of the front-end and back-end messages are also different. The calculation rate of the front-end and the back-end is not calculated according to the same standard. Therefore, the speed limit may be inaccurate.
流控反压可以解决拥塞导致的通信网络中的一系列问题。流控反压是当前端有拥塞流量时,给后端发流的模块发送流控帧,通知后端停止发流。而在前端报文发出去,缓存足够的时候,通知后端继续发包。这种方式,可以有效控制解决高速到低速发包,以及混合包长带来的突发问题。而且还不需要前后端 的报文格式完全一致,即可以达到让后端知道前端是否超带宽,以对流量进行整形的作用。然而,流控反压虽然解决了报文发送过程中前端拥塞的问题,但是并不能在拥塞丢包的情况下,选择性的将重要的报文(协议报文等)保存下来,仍然存在无差别丢包的问题(后果是拥塞流时导致协议震荡等)。Flow control backpressure can solve a series of problems in communication networks caused by congestion. When the flow control backpressure is that the current end has congestion traffic, the flow control frame is sent to the module that sends the backend, and the backend is notified to stop the flow. When the front-end message is sent out and the cache is sufficient, the back-end is notified to continue to send the packet. In this way, it can effectively control the high-speed to low-speed packet delivery, and the sudden problems caused by the hybrid packet length. And there is no need for front and rear ends The format of the packets is the same, that is, the back end can know whether the front end has excess bandwidth to shape the traffic. However, although the flow control backpressure solves the problem of front-end congestion during packet transmission, it cannot selectively save important packets (protocol messages, etc.) in the case of congestion and packet loss. The problem of differential packet loss (the consequence is that the congested stream causes protocol flapping, etc.).
流控反压通常采用直接截断所有的报文的方式,而这种方式对高速和低速线卡传输过程中的突发问题以及拥塞流的高优先级报文无法得到保障问题。The flow control backpressure usually adopts the method of directly cutting off all the messages, and this method cannot guarantee the sudden problems in the transmission process of the high-speed and low-speed line cards and the high-priority messages of the congestion flow.
图2是本发明实施例提供的一种基于多层队列流控反压的传送方法流程图,如图2所示,包括以下步骤:FIG. 2 is a flowchart of a method for transmitting a multi-queue flow control back pressure according to an embodiment of the present invention. As shown in FIG. 2, the method includes the following steps:
步骤S201:流控引擎模块对缓存器的使用状态进行检测,其中,缓存器用于缓存来自多层报文队列的报文;Step S201: The flow control engine module detects the usage status of the buffer, where the buffer is used to buffer the message from the multi-layer message queue.
步骤S202:当检测到缓存器的使用状态超过设置的缓存高水线时,流控引擎模块通过控制模块指示速率整形模块停止向多层报文队列发送低优先级报文,并继续向多层报文队列发送高优先级报文;Step S202: When it is detected that the usage status of the buffer exceeds the set cache high watermark, the flow control engine module instructs the rate shaping module to stop sending the low priority message to the multi-layer message queue through the control module, and continues to the multi-layer The packet queue sends high priority packets.
其中,高优先级报文是优先级高于阈值的报文,低优先级报文是优先级低于等于阈值的报文。The high-priority packet is a packet whose priority is higher than the threshold, and the low-priority packet is a packet whose priority is lower than or equal to the threshold.
在实施例一中,上述方法还可以包括:当检测到缓存器的使用状态小于等于设置的缓存低水线时,流控引擎模块通过控制模块指示速率整形模块向多层报文队列发送高优先级报文和低优先级报文。In the first embodiment, the method may further include: when detecting that the usage status of the buffer is less than or equal to the set buffer low water line, the flow control engine module instructs the rate shaping module to send a high priority to the multi-layer message queue through the control module. Level message and low priority message.
其中,所述缓存高水线是所述流控引擎模块对缓存器的使用状态设置的上限值;所述缓存低水线是所述流控引擎模块对缓存器的使用状态设置的下限值。The cache high watermark is an upper limit value set by the flow control engine module to the use state of the buffer; the cache low watermark is a lower limit set by the flow control engine module to the use state of the buffer value.
其中,所述当检测到缓存器的使用状态超过设置的缓存高水线时,流控引擎模块通过控制模块指示速率整形模块停止向多层报文队列发送低优先级报文,并继续向多层报文队列发送高优先级报文,包括:The flow control engine module instructs the rate shaping module to stop sending low priority packets to the multi-layer message queue through the control module when the usage status of the buffer exceeds the set cache high water line. The layer packet queue sends high-priority packets, including:
当检测到缓存器的使用状态超过设置的缓存高水线时,流控引擎模块向控制模块发送流控ON帧;When it is detected that the usage status of the buffer exceeds the set cache high water line, the flow control engine module sends a flow control ON frame to the control module;
所述控制模块接收到所述流控ON帧时,通知速率整形模块停止向多层报文队列发送低优先级报文,并继续向多层报文队列发送高优先级报文。 When receiving the flow control ON frame, the control module notifies the rate shaping module to stop sending the low priority message to the multi-layer message queue, and continues to send the high priority message to the multi-layer message queue.
其中,所述控制模块接收到所述流控ON帧时,指示速率整形模块停止向多层报文队列发送低优先级报文,包括:The control module, when receiving the flow control ON frame, instructs the rate shaping module to stop sending low priority packets to the multi-layer packet queue, including:
所述控制模块接收到所述流控ON帧时,向所述速率整形模块发送第一通知消息;Receiving, by the control module, the first notification message to the rate shaping module when receiving the flow control ON frame;
当所述速率整形模块接收到所述第一通知消息时,将所述停止向多层报文队列发送的低优先级报文进行缓存,并对速率整形模块的缓存能力进行检测;When the rate shaping module receives the first notification message, buffering the low priority packet sent to the multi-layer packet queue, and detecting the buffering capability of the rate shaping module;
当检测到所述速率整形模块的缓存能力超过设置的缓存能力时,将所缓存的低优先级报文进行优先级调度,并丢弃优先级较低的报文。When the buffering capability of the rate shaping module is exceeded, the cached low priority packet is preferentially scheduled, and the packet with lower priority is discarded.
其中,所述当检测到缓存器的使用状态小于等于设置的缓存低水线时,流控引擎模块通过控制模块指示所述速率整形模块向多层报文队列发送高优先级报文和低优先级报文,包括:The flow control engine module instructs the rate shaping module to send high priority packets and low priority to the multi-layer packet queue by the control module when detecting that the usage status of the buffer is less than or equal to the set cache low watermark. Level messages, including:
当检测到缓存器的使用状态小于等于设置的缓存低水线时,流控引擎模块向控制模块发送流控OFF帧;When detecting that the usage status of the buffer is less than or equal to the set buffer low water line, the flow control engine module sends a flow control OFF frame to the control module;
所述控制模块接收到所述流控OFF帧时,指示速率整形模块向多层报文队列发送高优先级报文和低优先级报文。When receiving the flow control OFF frame, the control module instructs the rate shaping module to send a high priority message and a low priority message to the multi-layer message queue.
其中,所述控制模块接收到所述流控OFF帧时,指示速率整形模块向多层报文队列发送高优先级报文和低优先级报文,包括:The control module, when receiving the flow control OFF frame, instructs the rate shaping module to send the high priority packet and the low priority packet to the multi-layer packet queue, including:
所述控制模块接收到所述流控OFF帧时,向所述速率整形模块发送第二通知消息;Receiving, by the control module, the second notification message to the rate shaping module when receiving the flow control OFF frame;
当所述速率整形模块接收到所述第二通知消息时,将向多层报文队列发送的高优先级报文和低优先级报文进行优先级调度,并将调度后的报文发送到所述多层报文队列中。When the rate shaping module receives the second notification message, the high-priority packet and the low-priority packet sent by the multi-layer packet queue are prioritized, and the scheduled packet is sent to the packet. The multi-layer message queue.
本发明实施例中提到的流控引擎模块可以通过非流量口向所述控制模块发送流控ON帧或流控OFF帧,从而不消耗流量带宽。The flow control engine module mentioned in the embodiment of the present invention may send a flow control ON frame or a flow control OFF frame to the control module through a non-traffic port, so that the traffic bandwidth is not consumed.
图3是本发明实施例提供的一种基于多层队列流控反压的传送装置示意图,如图3所示,该装置包括:检测模块301和停止传送模块302。FIG. 3 is a schematic diagram of a multi-queue flow control back pressure based transmission device according to an embodiment of the present invention. As shown in FIG. 3, the device includes: a detection module 301 and a stop transmission module 302.
其中,检测模块301,设置为通过流控引擎模块对缓存器的使用状态进行检 测,其中,缓存器用于缓存来自多层报文队列的报文;The detecting module 301 is configured to check the usage status of the buffer by using the flow control engine module. Measure, wherein the buffer is used to buffer messages from a multi-layer message queue;
停止传送模块302,设置为当检测到缓存器的使用状态超过设置的缓存高水线时,流控引擎模块通过控制模块指示速率整形模块停止向多层报文队列发送低优先级报文,并继续向多层报文队列发送高优先级报文。Stopping the transmitting module 302, the flow control engine module instructs the rate shaping module to stop sending low priority packets to the multi-layer message queue through the control module when detecting that the usage status of the buffer exceeds the set cache high water line, and Continue to send high priority messages to the multi-layer message queue.
本发明实施例的装置还包括:The device of the embodiment of the invention further includes:
继续传送模块303,设置为:当检测到缓存器的使用状态小于等于设置的缓存低水线时,流控引擎模块通过控制模块指示所述速率整形模块向多层报文队列发送高优先级报文和低优先级报文。The transmission module 303 is configured to: when detecting that the usage status of the buffer is less than or equal to the set buffer low water line, the flow control engine module instructs the rate shaping module to send the high priority report to the multi-layer message queue through the control module. Text and low priority messages.
图4是本发明实施例提供的基于多层队列流控反压的传送系统结构图,如图4所示,本发明实施例提供的传送系统包括:流控引擎模块、速率整形模块以及控制模块。4 is a structural diagram of a multi-queue flow control backpressure based transmission system according to an embodiment of the present invention. As shown in FIG. 4, the transmission system provided by the embodiment of the present invention includes: a flow control engine module, a rate shaping module, and a control module. .
其中,流控引擎模块,设置为完成流控反压功能;Wherein, the flow control engine module is set to complete the flow control back pressure function;
速率整形模块,设置为对由两层队列M和N组成的树形队列进行整形;a rate shaping module configured to shape a tree queue consisting of two layers of queues M and N;
控制模块,设置为完成流控反压帧处理。Control module, set to complete flow control back pressure frame processing.
本发明实施例提供的传送系统可实现多层队列流控反压,包括:The transmission system provided by the embodiment of the present invention can implement multi-layer queue flow control back pressure, including:
第一步,完成树形队列。按照设计需要做出相应的树形队列,如图4所示,该树形队列包括两层M和N队列。如有需要,该树形队列也可以有更多层的队列。多层队列的实现这里不赘述,有多种实现方式,时间调度是实现多层队列的一种常用的方式。图4中示出的速率整形模块对队列进行控制。The first step is to complete the tree queue. According to the design needs, a corresponding tree queue is created. As shown in FIG. 4, the tree queue includes two layers of M and N queues. The tree queue can also have more layers of queues if needed. The implementation of the multi-layer queue is not described here. There are multiple implementation methods. Time scheduling is a common way to implement multi-layer queues. The rate shaping module shown in Figure 4 controls the queue.
第二步,完成流控反压功能。如图4中所示,流控引擎模块还可以包括缓存器,其中,缓存器用于缓存来自多层报文队列的报文。流控引擎模块为缓存器设置一缓存高水线和一缓存低水线,用于当缓存器的使用状态超过缓存高水线时,向控制模块发送开启流控帧(即流控ON帧);或者当缓存器的使用状态小于等于缓存低水线时,向控制模块发送关闭流控帧(即流控OFF帧)。此开启流控帧和关闭流控帧均可以通过流控引擎模块的非流量口发送,不影响流量。The second step is to complete the flow control back pressure function. As shown in FIG. 4, the flow control engine module may further include a buffer, wherein the buffer is used to buffer messages from a multi-layer message queue. The flow control engine module sets a cache high water line and a cache low water line for the buffer, and is configured to send a flow control frame (ie, a flow control ON frame) to the control module when the use state of the buffer exceeds the cache high water line. Or when the buffer usage state is less than or equal to the buffer low watermark, send a closed flow control frame (ie, a flow control OFF frame) to the control module. Both the flow control frame and the flow control frame can be sent through the non-flow port of the flow control engine module without affecting the traffic.
第三步,完成流控反压帧处理模块。这个模块主要是对流控引擎模块发过来的开启流控帧或关闭流控帧进行处理,即图4中的控制模块。当收到流控引擎 模块发送的开启流控帧时,控制模块向速率整形模块发送第一通知消息,以指示速率整形模块停止对队列1’和队列2’中的报文(队列1’和队列2’中的报文优先级低于队列0’中的报文优先级)继续发包。当收到流控引擎模块发送的关闭流控帧时,控制模块向速率整形模块发送第二通知消息,以指示速率整形模块继续对队列1’和队列2’的报文进行发包。In the third step, the flow control back pressure frame processing module is completed. This module is mainly used to open the flow control frame or close the flow control frame sent by the flow control engine module, that is, the control module in FIG. When receiving a flow control engine When the flow control frame is sent by the module, the control module sends a first notification message to the rate shaping module to instruct the rate shaping module to stop the messages in the queue 1' and the queue 2' (the queues in the queue 1' and the queue 2' The priority of the text is lower than the priority of the message in queue 0') and the packet is sent. When receiving the flow control frame sent by the flow control engine module, the control module sends a second notification message to the rate shaping module to instruct the rate shaping module to continue to send packets of the queue 1' and the queue 2'.
图5是本发明实施例提供的基于多层队列流控反压的传送方法流程图,如图5所示,该传送方法包括:FIG. 5 is a flowchart of a method for transmitting a multi-queue flow control back pressure according to an embodiment of the present invention. As shown in FIG. 5, the transmission method includes:
步骤1:检查缓存器的使用状态;Step 1: Check the usage status of the buffer;
当用来缓存报文的缓存器的使用状态超过缓存高水线时,进入步骤2;当用来缓存报文的缓存器的使用状态小于等于缓存低水线时,进入步骤4。When the usage status of the buffer used for buffering the message exceeds the cache high water line, the process proceeds to step 2; when the usage status of the buffer used to buffer the message is less than or equal to the cache low water line, the process proceeds to step 4.
步骤2:发送流控ON帧;Step 2: Send a flow control ON frame;
流控引擎模块向控制模块发送流控ON帧。The flow control engine module sends a flow control ON frame to the control module.
步骤3:控制模块指示速率整形模块停流。Step 3: The control module instructs the rate shaping module to stop flowing.
控制模块接收到流控引擎模块发送的流控ON帧时,指示速率整形模块停止向多层报文队列发送低优先级报文,继续向多层报文队列发送高优先级报文。When receiving the flow control ON frame sent by the flow control engine module, the control module stops the rate shaping module from sending low priority packets to the multi-layer packet queue, and continues to send high-priority packets to the multi-layer packet queue.
步骤4:发送流控OFF帧;Step 4: Send a flow control OFF frame;
流控引擎模块向控制模块发送流控OFF帧。The flow control engine module sends a flow control OFF frame to the control module.
步骤5:控制模块指示速率整形模块发流;Step 5: The control module instructs the rate shaping module to send a flow;
控制模块接收到流控引擎模块发送的流控OFF帧时,指示速率整形模块向多层报文队列发送高优先级报文和低优先级报文。When receiving the flow control OFF frame sent by the flow control engine module, the control module instructs the rate shaping module to send the high priority packet and the low priority packet to the multi-layer packet queue.
步骤6:速率整形模块根据队列优先级发送报文。Step 6: The rate shaping module sends a packet according to the queue priority.
速率整形模块开始对本地缓存的报文进行优先级调度,并将调度之后的报文发送至流控引擎模块。The rate shaping module starts to perform priority scheduling on the locally cached packets, and sends the scheduled packets to the flow control engine module.
下面以两个应用实例来说明本发明实施例的内容:The following describes two embodiments of the present invention:
实例一:在出现混场包突发时,多层队列流控反压的传送方法包括: Example 1: In the case of a mixed-race burst, the multi-queue flow control backpressure transmission method includes:
步骤001,报文由速率整形模块发送给流控引擎模块;Step 001: The packet is sent by the rate shaping module to the flow control engine module.
步骤002,由于突发,导致流控引擎模块检测到缓存器的使用状态超过设置的缓存高水线,流控引擎模块向控制模块发送流控ON帧;Step 002, the flow control engine module detects that the usage status of the buffer exceeds the set cache high water line due to the burst, and the flow control engine module sends the flow control ON frame to the control module;
步骤003,控制模块接收到流控ON帧后,指示速率整形模块停止向流控引擎模块发送低优先级报文,并继续向流控引擎模块发送高优先级报文(结合图4所示,即停止向流控引擎模块发送队列1’和队列2’中的报文,继续向流控引擎模块发送队列0’中的报文),让流控引擎模块中的队列继续区分优先级进行发送,突发的报文缓存在速率整形模块;Step 003: After receiving the flow control ON frame, the control module stops the rate shaping module from sending a low priority message to the flow control engine module, and continues to send the high priority message to the flow control engine module (in combination with FIG. 4, That is, the packets in the queue 1' and the queue 2' are sent to the flow control engine module, and the packets in the queue 0' are sent to the flow control engine module, so that the queues in the flow control engine module continue to be prioritized for transmission. The bursty message is buffered in the rate shaping module;
步骤004,流控引擎模块将缓冲器中的报文发出去,至缓冲器的使用状态小于等于缓存低水线时,流控引擎模块向控制模块发送流控OFF帧;Step 004, the flow control engine module sends out the message in the buffer, and when the usage state of the buffer is less than or equal to the buffer low water line, the flow control engine module sends the flow control OFF frame to the control module;
步骤005,控制模块接收到流控OFF帧后,指示速率整形模块继续向流控引擎模块发送低优先级报文(结合图4所示,即继续向流控引擎模块发送队列1’和队列2’中的报文);Step 005: After receiving the flow control OFF frame, the control module instructs the rate shaping module to continue sending low priority packets to the flow control engine module (in combination with FIG. 4, the queue 1' and the queue 2 are continuously sent to the flow control engine module. 'message';
步骤006,速率整形模块开始对本地缓存的报文进行优先级调度,将低优先级报文(结合图4所示,即队列1’和队列2’中的报文)进行调度后发送至流控引擎模块;In step 006, the rate shaping module starts to perform priority scheduling on the locally cached packets, and the low-priority packets (in combination with the packets in queue 1 and queue 2) are scheduled and sent to the flow. Control engine module
步骤007,回到步骤001。In step 007, the process returns to step 001.
实例二:在拥塞流的情况下,包括以下步骤:Example 2: In the case of a congested stream, the following steps are included:
步骤001,报文由速率整形模块发送给流控引擎模块;Step 001: The packet is sent by the rate shaping module to the flow control engine module.
步骤002,由于报文拥塞,导致流控引擎模块检测到缓存器的使用状态超过设置的缓存高水线时,流控引擎模块向控制模块发送流控ON帧;Step 002: The flow control engine module sends a flow control ON frame to the control module when the flow control engine module detects that the usage status of the buffer exceeds the set cache high water line because the message is congested;
步骤003,控制模块接收到流控ON帧后,指示速率整形模块停止向流控引擎模块发送低优先级报文,并继续向流控引擎模块发送高优先级报文(不论如何,即使拥塞也不允许丢包的报文),让流控引擎模块中的队列继续区分优先级进行发送,剩余拥塞的报文(即低优先级报文)缓存在速率整形模块中,当速率整形模块检测到自身的缓存能力超过设置的缓存能力时,速率整形模块对本地缓存的低优先级报文进行优先级调度,并丢弃优先级较低的报文; Step 003: After receiving the flow control ON frame, the control module stops the rate shaping module from sending low priority packets to the flow control engine module, and continues to send high priority packets to the flow control engine module (in any case, even if congestion occurs) The packet in the flow control engine module is not allowed to be sent to the priority level for transmission. The remaining congested packets (that is, low-priority packets) are cached in the rate shaping module. When the rate shaping module detects the packet, the rate shaping module detects the packet. The rate shaping module performs priority scheduling on the locally cached low-priority packets and discards the lower-priority packets.
步骤004,流控引擎模块将缓存器中的报文发出去,至缓存器的使用状态小于等于缓存低水线后,流控引擎模块向控制模块发送流控OFF帧;Step 004, the flow control engine module sends out the message in the buffer, and after the use state of the buffer is less than or equal to the cache low water line, the flow control engine module sends a flow control OFF frame to the control module;
步骤005,控制模块接收到流控OFF帧后,指示速率整形模块继续向流控引擎模块发送低优先级报文(结合图4所示,即继续向流控引擎模块发送队列1’和队列2’中的报文);Step 005: After receiving the flow control OFF frame, the control module instructs the rate shaping module to continue sending low priority packets to the flow control engine module (in combination with FIG. 4, the queue 1' and the queue 2 are continuously sent to the flow control engine module. 'message';
步骤006,速率整形模块开始对本地缓存的报文进行优先级调度,将低优先级报文(结合图4所示,即队列1’和队列2’中的报文)进行调度后发送至流控引擎模块;In step 006, the rate shaping module starts to perform priority scheduling on the locally cached packets, and the low-priority packets (in combination with the packets in queue 1 and queue 2) are scheduled and sent to the flow. Control engine module
步骤007,回到步骤001。In step 007, the process returns to step 001.
本发明实施例还提供了一种非易失性计算机存储介质,该计算机存储介质存储有计算机可执行指令,该计算机可执行指令可用于执行上述实施例中的多层队列流控反压的传送方法。The embodiment of the invention further provides a non-volatile computer storage medium storing computer-executable instructions, which can be used to perform the multi-queue flow control back pressure transmission in the above embodiment. method.
本发明实施例还提供了一种设备。图6是本发明实施例提供的一种基于多层队列流控反压的传送方法的设备的硬件结构示意图。An embodiment of the present invention further provides an apparatus. FIG. 6 is a schematic diagram of a hardware structure of a device based on a multi-layer queue flow control back pressure transmission method according to an embodiment of the present invention.
参见图6,该设备包括:Referring to Figure 6, the device includes:
一个或多个处理器410,图6中以一个处理器410为例;One or more processors 410, one processor 410 is taken as an example in FIG. 6;
存储器420。 Memory 420.
所述设备还可以包括:输入装置430和输出装置440。所述设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或者其他方式连接,图6中以通过总线连接为例。The device may also include an input device 430 and an output device 440. The processor 410, the memory 420, the input device 430, and the output device 440 in the device may be connected by a bus or other means, and the connection through the bus is taken as an example in FIG.
存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于多层队列流控反压的传送方法对应的程序指令/模块(例如,附图3所述的检测模块301和停止传送模块302)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的多层队列流控反压的传送方法。 The memory 420 is used as a computer readable storage medium, and can be used to store a software program, a computer executable program, and a module, such as a program instruction/module corresponding to a multi-tier queue flow control back pressure based transfer method in the embodiment of the present invention (for example, The detection module 301 and the stop transmission module 302) described in FIG. The processor 410 executes various functional applications and data processing of the server by running software programs, instructions, and modules stored in the memory 420, that is, a multi-queue flow control backpressure transmission method of the foregoing method embodiments.
存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。The memory 420 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function; the storage data area may store data created according to usage of the terminal device, and the like. Moreover, memory 420 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some embodiments, memory 420 can further include memory remotely located relative to processor 410, which can be connected to the terminal device over a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
输入装置430可用于接收输入的数字或字符信息,以及产生与终端的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。 Input device 430 can be used to receive input digital or character information and to generate key signal inputs related to user settings and function control of the terminal. Output device 440 can include a display device such as a display screen.
所述一个或者多个模块存储在所述存储器420中,当被所述一个或者多个处理器410执行时,执行上述实施例中的多层队列流控反压的传送方法。The one or more modules are stored in the memory 420, and when executed by the one or more processors 410, the multi-queue flow control backpressure transmission method in the above embodiment is performed.
综上所述,本发明实施例由于使用的是反压模式,可以有效解决速率整形模块直接限速导致的限速不准(由于计算的报文的速率不是按照同一个格式来计算的,导致不能准确定下限速),同时,也用优先级队列保证了流量中的高优先级发送,解决了只用流量反压,导致的拥塞时,报文无差别丢包导致的高优先级丢包问题。另外,流控帧是通过非流量端口发送,因此不会因为流控而消耗流量带宽。In summary, the embodiment of the present invention can effectively solve the speed limit inaccuracy caused by the rate limit of the rate shaping module because the rate is not calculated according to the same format. The lower-rate speed cannot be determined. At the same time, the priority queue is used to ensure the high-priority transmission in the traffic. This solves the high-priority loss caused by the packet lossless packet loss caused by traffic backpressure. Package problem. In addition, the flow control frame is sent through the non-traffic port, so the traffic bandwidth is not consumed due to flow control.
尽管上文对本发明实施例进行了详细说明,但是本申请不限于此,本领域技术人员可以根据本申请的原理进行各种修改。因此,凡按照本申请原理所作的修改,都应当理解为落入本申请的保护范围。Although the embodiments of the present invention have been described in detail above, the present application is not limited thereto, and various modifications may be made by those skilled in the art in accordance with the principles of the present application. Therefore, modifications made in accordance with the principles of the present application should be understood as falling within the scope of the present application.
工业实用性Industrial applicability
本发明实施例利用流控反压方式解决通信网络中报文拥塞问题的基础上,采用流控反压和多级队列的方式,其中,流控反压方式用于截断部分队列的流量,多级队列方式保证流量中的高优先级报文不会被丢包,可正常进行发送。避免了无差别丢包现象的发生。 In the embodiment of the present invention, the flow control back pressure method is used to solve the problem of packet congestion in the communication network, and the flow control back pressure and the multi-level queue are adopted, wherein the flow control back pressure mode is used to cut off the traffic of some queues. The Queue mode ensures that high-priority packets in the traffic are not lost and can be sent normally. Avoid the occurrence of undifferentiated packet loss.

Claims (11)

  1. 一种基于多层队列流控反压的传送方法,包括:A transmission method based on multi-layer queue flow control back pressure, comprising:
    流控引擎模块对缓存器的使用状态进行检测,其中,所述缓存器用于缓存来自多层报文队列的报文;The flow control engine module detects the usage status of the buffer, where the buffer is used to buffer the message from the multi-layer message queue;
    当检测到缓存器的使用状态超过设置的缓存高水线时,流控引擎模块通过控制模块指示速率整形模块停止向多层报文队列发送低优先级报文,并继续向多层报文队列发送高优先级报文;When it is detected that the usage status of the buffer exceeds the set cache high water line, the flow control engine module instructs the rate shaping module to stop sending low priority messages to the multi-layer message queue through the control module, and continues to the multi-layer message queue. Send high priority packets;
    其中,高优先级报文是优先级高于阈值的报文,低优先级报文是优先级低于等于阈值的报文。The high-priority packet is a packet whose priority is higher than the threshold, and the low-priority packet is a packet whose priority is lower than or equal to the threshold.
  2. 根据权利要求1所述的方法,还包括:The method of claim 1 further comprising:
    当检测到缓存器的使用状态小于等于设置的缓存低水线时,流控引擎模块通过控制模块指示速率整形模块向多层报文队列发送高优先级报文和低优先级报文。When it is detected that the usage status of the buffer is less than or equal to the set buffer low watermark, the flow control engine module instructs the rate shaping module to send the high priority message and the low priority message to the multi-layer message queue through the control module.
  3. 根据权利要求2所述的方法,其中,所述缓存高水线是所述流控引擎模块对缓存器的高使用状态设置的上限值;所述缓存低水线是所述流控引擎模块对缓存器的低使用状态设置的下限值。The method of claim 2, wherein the cache high watermark is an upper limit value of the flow control engine module setting a high usage state of the buffer; the cache low water line is the flow control engine module The lower limit of the low usage state setting for the buffer.
  4. 根据权利要求1所述的方法,其中,所述当检测到缓存器的使用状态超过设置的缓存高水线时,流控引擎模块通过控制模块指示速率整形模块停止向多层报文队列发送低优先级报文,并继续向多层报文队列发送高优先级报文,包括:The method of claim 1, wherein the flow control engine module instructs the rate shaping module to stop sending low to the multi-layer message queue by the control module when it is detected that the usage status of the buffer exceeds the set cache high water line. Priority packets, and continue to send high-priority packets to the multi-layer packet queue, including:
    当检测到缓存器的使用状态超过设置的缓存高水线时,流控引擎模块向控制模块发送流控ON帧;When it is detected that the usage status of the buffer exceeds the set cache high water line, the flow control engine module sends a flow control ON frame to the control module;
    所述控制模块接收到所述流控ON帧时,指示速率整形模块停止向多层报文队列发送低优先级报文,并继续向多层报文队列发送高优先级报文。When receiving the flow control ON frame, the control module instructs the rate shaping module to stop sending low priority packets to the multi-layer message queue, and continues to send high priority packets to the multi-layer message queue.
  5. 根据权利要求4所述的方法,其中,所述控制模块接收到所述流控ON帧时,指示速率整形模块停止向多层报文队列发送低优先级报文,包括:The method of claim 4, wherein the control module, when receiving the flow control ON frame, instructs the rate shaping module to stop sending low priority messages to the multi-layer message queue, including:
    所述控制模块接收到所述流控ON帧时,向所述速率整形模块发送第一通知消息;Receiving, by the control module, the first notification message to the rate shaping module when receiving the flow control ON frame;
    当所述速率整形模块接收到所述第一通知消息时,将所述停止向多层报文队列发送的低优先级报文进行缓存,并对速率整形模块的缓存能力进行检测;When the rate shaping module receives the first notification message, buffering the low priority packet sent to the multi-layer packet queue, and detecting the buffering capability of the rate shaping module;
    当检测到所述速率整形模块的缓存能力超过设置的缓存能力时,将所缓存 的低优先级报文进行优先级调度,并丢弃优先级较低的报文。When the buffering capability of the rate shaping module is detected to exceed the set buffering capability, the buffer will be cached. The low-priority packets are scheduled with priority and the packets with lower priority are discarded.
  6. 根据权利要求2所述的方法,其中,所述当检测到缓存器的使用状态小于等于设置的缓存低水线时,流控引擎模块通过控制模块指示所述速率整形模块向多层报文队列发送高优先级报文和低优先级报文,包括:The method according to claim 2, wherein the flow control engine module instructs the rate shaping module to multi-layer message queue through the control module when detecting that the usage status of the buffer is less than or equal to the set buffer low water line Send high-priority packets and low-priority packets, including:
    当检测到缓存器的使用状态小于等于设置的缓存低水线时,流控引擎模块向控制模块发送流控OFF帧;When detecting that the usage status of the buffer is less than or equal to the set buffer low water line, the flow control engine module sends a flow control OFF frame to the control module;
    所述控制模块接收到所述流控OFF帧时,指示速率整形模块向多层报文队列发送高优先级报文和低优先级报文。When receiving the flow control OFF frame, the control module instructs the rate shaping module to send a high priority message and a low priority message to the multi-layer message queue.
  7. 根据权利要求6所述的方法,其中,所述控制模块接收到所述流控OFF帧时,指示速率整形模块向多层报文队列发送高优先级报文和低优先级报文,包括:The method of claim 6, wherein the control module, when receiving the flow control OFF frame, instructs the rate shaping module to send the high priority message and the low priority message to the multi-layer message queue, including:
    所述控制模块接收到所述流控OFF帧时,向所述速率整形模块发送第二通知消息;Receiving, by the control module, the second notification message to the rate shaping module when receiving the flow control OFF frame;
    当所述速率整形模块接收到所述第二通知消息时,将向多层报文队列发送的高优先级报文和低优先级报文进行优先级调度,并将调度后的报文发送到所述多层报文队列中。When the rate shaping module receives the second notification message, the high-priority packet and the low-priority packet sent by the multi-layer packet queue are prioritized, and the scheduled packet is sent to the packet. The multi-layer message queue.
  8. 根据权利要求4-7任一所述的方法,其中,所述流控引擎模块通过非流量口向所述控制模块发送流控ON帧或流控OFF帧。The method according to any one of claims 4-7, wherein the flow control engine module sends a flow control ON frame or a flow control OFF frame to the control module through a non-flow port.
  9. 一种基于多层队列流控反压的传送装置,包括:A transmission device based on multi-layer queue flow control back pressure, comprising:
    检测模块,设置为:通过流控引擎模块对缓存器的使用状态进行检测,其中,缓存器用于缓存来自多层报文队列的报文;The detecting module is configured to: detect, by using a flow control engine module, a usage status of the buffer, where the buffer is used to buffer the message from the multi-layer packet queue;
    停止传送模块,设置为:当检测到缓存器的使用状态超过设置的缓存高水线时,流控引擎模块通过控制模块指示速率整形模块停止向多层报文队列发送低优先级报文,并继续向多层报文队列发送高优先级报文。The transmission module is stopped, and is set to: when it is detected that the usage status of the buffer exceeds the set cache high water line, the flow control engine module instructs the rate shaping module to stop sending low priority messages to the multi-layer message queue through the control module, and Continue to send high priority messages to the multi-layer message queue.
  10. 根据权利要求9所述的装置,还包括:The apparatus of claim 9 further comprising:
    继续传送模块,设置为:当检测到缓存器的使用状态小于等于设置的缓存低水线时,流控引擎模块通过控制模块指示所述速率整形模块向多层报文队列发送高优先级报文和低优先级报文。The transmission module is configured to: when it is detected that the usage status of the buffer is less than or equal to the set buffer low water line, the flow control engine module instructs the rate shaping module to send the high priority message to the multi-layer message queue through the control module. And low priority messages.
  11. 一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1-8任一项的方法。 A computer readable storage medium storing computer executable instructions for performing the method of any of claims 1-8.
PCT/CN2016/080043 2015-06-19 2016-04-22 Transmission method and apparatus based on traffic control and back pressure on multilayer queue WO2016202092A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510344376.9 2015-06-19
CN201510344376.9A CN106330758A (en) 2015-06-19 2015-06-19 Transfer method and device based on multilayer queue fluid control back pressure

Publications (1)

Publication Number Publication Date
WO2016202092A1 true WO2016202092A1 (en) 2016-12-22

Family

ID=57544897

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/080043 WO2016202092A1 (en) 2015-06-19 2016-04-22 Transmission method and apparatus based on traffic control and back pressure on multilayer queue

Country Status (2)

Country Link
CN (1) CN106330758A (en)
WO (1) WO2016202092A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110297785A (en) * 2019-07-17 2019-10-01 上海仪电(集团)有限公司中央研究院 A kind of finance data flow control apparatus and flow control method based on FPGA
CN111385223A (en) * 2018-12-28 2020-07-07 阿里巴巴集团控股有限公司 Flow control method, device, system and storage medium
CN115242726A (en) * 2022-07-27 2022-10-25 阿里巴巴(中国)有限公司 Queue scheduling method and device and electronic equipment
CN116527584A (en) * 2019-06-17 2023-08-01 华为技术有限公司 Congestion control method and device, communication network and computer storage medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109445855B (en) * 2018-10-30 2021-11-16 天津津航计算技术研究所 Bridging device for multi-path low-speed peripheral integration
CN113141313A (en) * 2020-01-19 2021-07-20 华为技术有限公司 Congestion control method, device and system and storage medium
WO2024010033A1 (en) * 2022-07-05 2024-01-11 株式会社ソラコム System and method for transmitting sms message using api, and program therefor

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594691A (en) * 2012-02-23 2012-07-18 中兴通讯股份有限公司 Method and device for processing message
CN103763204A (en) * 2013-12-31 2014-04-30 华为技术有限公司 Flow control method and device
EP2790360A1 (en) * 2012-01-09 2014-10-15 ZTE Corporation Ethernet flow control device and method based on microwave transmission
CN104378308A (en) * 2014-11-19 2015-02-25 盛科网络(苏州)有限公司 Method and device for detecting message sending rate

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2790360A1 (en) * 2012-01-09 2014-10-15 ZTE Corporation Ethernet flow control device and method based on microwave transmission
CN102594691A (en) * 2012-02-23 2012-07-18 中兴通讯股份有限公司 Method and device for processing message
CN103763204A (en) * 2013-12-31 2014-04-30 华为技术有限公司 Flow control method and device
CN104378308A (en) * 2014-11-19 2015-02-25 盛科网络(苏州)有限公司 Method and device for detecting message sending rate

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385223A (en) * 2018-12-28 2020-07-07 阿里巴巴集团控股有限公司 Flow control method, device, system and storage medium
CN111385223B (en) * 2018-12-28 2023-08-15 阿里巴巴集团控股有限公司 Flow control method, device, system and storage medium
CN116527584A (en) * 2019-06-17 2023-08-01 华为技术有限公司 Congestion control method and device, communication network and computer storage medium
CN116527584B (en) * 2019-06-17 2024-04-12 华为技术有限公司 Congestion control method and device, communication network and computer storage medium
CN110297785A (en) * 2019-07-17 2019-10-01 上海仪电(集团)有限公司中央研究院 A kind of finance data flow control apparatus and flow control method based on FPGA
CN110297785B (en) * 2019-07-17 2023-04-11 上海仪电(集团)有限公司中央研究院 Financial data flow control device and method based on FPGA
CN115242726A (en) * 2022-07-27 2022-10-25 阿里巴巴(中国)有限公司 Queue scheduling method and device and electronic equipment
CN115242726B (en) * 2022-07-27 2024-03-01 阿里巴巴(中国)有限公司 Queue scheduling method and device and electronic equipment

Also Published As

Publication number Publication date
CN106330758A (en) 2017-01-11

Similar Documents

Publication Publication Date Title
WO2016202092A1 (en) Transmission method and apparatus based on traffic control and back pressure on multilayer queue
US7817558B2 (en) Flow based flow control in an ethernet switch backplane
JP5157577B2 (en) Packet buffer management device for determining arrival packet discard and its discard determination method
CN109120544B (en) Transmission control method based on host end flow scheduling in data center network
WO2018113426A1 (en) Flow control method and switching device
WO2017054566A1 (en) Method of preventing cpu packet congestion and device utilizing same
EP3079303B1 (en) Traffic management implementation method and apparatus and network device
CN102804714B (en) Controlling packet transmission
EP2779542B1 (en) System and method for determining a cause of network congestion
CN112104562B (en) Congestion control method and device, communication network and computer storage medium
EP2093945B1 (en) A method for realizing back pressure of masses of ports and the device thereof
EP2933954A1 (en) Network anomaly notification method and apparatus
US8576850B2 (en) Band control apparatus, band control method, and storage medium
US20140269379A1 (en) System And Method For Determining An Effect Of Network Congestion
WO2022016889A1 (en) Congestion control method and device
WO2018218957A1 (en) Traffic control method, device and system
US8139481B2 (en) Method and equipment for shaping transmission speed of data traffic flow
US20070140282A1 (en) Managing on-chip queues in switched fabric networks
WO2015149460A1 (en) Fiber channel over ethernet flow control method, device and system
CN113315720A (en) Data flow control method, system and equipment
US9319329B2 (en) Pacing enhanced packet forwarding/switching and congestion avoidance
US20100074111A1 (en) Method of data traffic shaping, apparatus and wireless device
JP4849270B2 (en) Computer equipment
CN108243117B (en) Flow monitoring method and device and electronic equipment
JP4276094B2 (en) Communication apparatus and priority control method for performing priority control of packet

Legal Events

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

Ref document number: 16810833

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16810833

Country of ref document: EP

Kind code of ref document: A1