WO2014201934A1 - 报文调度方法和装置 - Google Patents

报文调度方法和装置 Download PDF

Info

Publication number
WO2014201934A1
WO2014201934A1 PCT/CN2014/078189 CN2014078189W WO2014201934A1 WO 2014201934 A1 WO2014201934 A1 WO 2014201934A1 CN 2014078189 W CN2014078189 W CN 2014078189W WO 2014201934 A1 WO2014201934 A1 WO 2014201934A1
Authority
WO
WIPO (PCT)
Prior art keywords
queue
priority
packets
packet
scheduling
Prior art date
Application number
PCT/CN2014/078189
Other languages
English (en)
French (fr)
Inventor
石柳
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2014201934A1 publication Critical patent/WO2014201934A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport

Definitions

  • the present invention relates to the field of communications, and in particular to a message scheduling method and apparatus.
  • BACKGROUND With the continuous enrichment of network services, the service quality of networks is becoming more and more important, and queue scheduling is attracting more and more attention as a key technology in the field of service quality.
  • queue scheduling methods There are many queue scheduling methods in the related art, most typically strict priority scheduling and weighted round-robin scheduling.
  • the strict priority scheduling algorithm preferentially sends packets in the higher priority queue according to the order of priority from high to low. When the higher priority queue is empty, the packets in the lower priority queue are sent.
  • the packets of the key service are put into the queue of the higher priority, and the packets of the non-critical service are put into the queue of the lower priority, so that the packets of the key service are preferentially transmitted, and the packets of the non-critical service are processed.
  • the idle gap of the traffic data is transmitted.
  • the weighted round robin algorithm assigns a weight to each queue, and performs round-robin scheduling between the queues to ensure that each queue gets a certain service time.
  • the weights represent the number of packets that can be scheduled when the scheduler services each priority queue, and if the packets are scheduled, they can serve the next priority queue.
  • the strict priority scheduling algorithm or the weighted round robin algorithm uses the principle of first in, first out for the packets that have entered the queue. Therefore, if the delay requires different traffic flows to enter the same queue, low delay is required. The time of the message will be queued after entering the queue, resulting in delay performance is not up to standard. In view of the problem that the queue scheduling method in the related art cannot meet the low delay requirement of the service, an effective solution has not been proposed yet.
  • a packet scheduling method including: determining a queue internal priority of a packet, where the number of the packet is multiple; scheduling according to the internal priority of the queue One or more of the packets in the message are in a corresponding queue.
  • the scheduling the one or more packets out of the queue comprises: determining that the internal priority of the queue of the one or more packets is the highest of the packets of the corresponding queue; One or more messages are sent out of the queue.
  • the timer when the one or more packets are scheduled to be sent out of the queue, the timer is started; the method further includes: determining whether the timing of the timer is ended, and whether the one or more packets have been Scheduling the queue; in case the timing ends and the one or more messages do not schedule the queue, scheduling, in addition to the one or more messages, according to the internal priority of the queue The other messages are out of the queue.
  • the timer when the one or more packets are scheduled to be sent out of the queue, the timer is started; the method further includes: determining whether the timing of the timer is ended, and whether the one or more packets have been Scheduling the queue; in case the timing is not over and the one or more messages have been scheduled out of the queue, scheduling the one or more messages according to the internal priority of the queue Other messages outside the queue are out of the queue.
  • the method before scheduling the one or more packets to be sent out of the queue, the method further includes: determining a queue priority of the packet; determining, according to the queue priority, the corresponding packet respectively The queue.
  • determining the queue priority of the packet or the internal priority of the queue includes: determining, according to the identifier information of the packet, the queue priority or the queue internal priority of the packet.
  • the identifier information includes at least one of the following: a virtual local area network tag (VLAN tag) of the Layer 2 packet, and a difference between the priority of the Internet Protocol (IP) packet.
  • IP Internet Protocol
  • DSCP Service Code Point
  • TOS Type of Service
  • MPLS Multi-Protocol Label Switching
  • a message scheduling apparatus including: a first determining module, configured to determine a queue internal priority of the packet, where the number of the packets is multiple;
  • the scheduling module is configured to schedule one or more packets in the packet to be corresponding to the queue according to the internal priority of the queue.
  • the scheduling module includes: a determining unit, configured to determine that the inner priority of the queue of the one or more packets is the highest in the corresponding queue; the scheduling unit is set as a scheduling office One or more messages are described in the queue.
  • the device further includes: a second determining module, configured to determine a queue priority of the packet; and a third determining module, configured to determine, according to the queue priority, the corresponding to the packet respectively queue.
  • the embodiment of the present invention adopts a method for determining a queue internal priority of a plurality of packets, and scheduling a manner in which one or more of the plurality of packets are out of the corresponding queue according to the internal priority of the queue.
  • the problem that the queue scheduling method in the related art cannot meet the low delay requirement of the service is solved, and the quality of the queue scheduling service is improved.
  • FIG. 2 is a structural block diagram of a packet scheduling apparatus according to an embodiment of the present invention
  • FIG. 3 is a packet according to an embodiment of the present invention
  • 1 is a block diagram of a preferred structure of a message scheduling apparatus according to an embodiment of the present invention
  • FIG. 5 is a block diagram 3 of a preferred structure of a message scheduling apparatus according to an embodiment of the present invention.
  • a block diagram of a queue scheduling apparatus according to a preferred embodiment of the present invention is a flow chart showing a strict priority combining time slice scheduling method according to a preferred embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS It should be noted that the embodiments in the present application and the features in the embodiments may be combined with each other without conflict. The invention will be described in detail below with reference to the drawings in conjunction with the embodiments.
  • FIG. 1 is a schematic flowchart of a packet scheduling method according to an embodiment of the present invention. As shown in FIG. 1, the method includes the following steps: Step S102: Determine a plurality of packets. Queue internal priority; Step S104: Schedule one or more of the plurality of packets to output a corresponding queue according to the internal priority of the queue.
  • the internal priority of the queue is set for the multiple packets in the corresponding queue, and one or more packets in the corresponding queue are respectively scheduled according to the internal priority of the queue, where the corresponding queue refers to the report.
  • the queue corresponding to the text For example, the packet corresponding to the service with low delay requirement can be set to a higher internal queue priority, and the corresponding queue is preferentially scheduled.
  • the problem that the queue scheduling method in the related art cannot meet the low delay requirement of the service is solved, and the quality of the queue scheduling service is improved.
  • one or more packets with lower priority in the queue can be scheduled last, and other packets in the queue are still scheduled according to the principle of first in first out.
  • the one or more packets with the highest priority in the queue are scheduled first, for example, determining that the internal priority of a queue is the highest in the corresponding queue; scheduling the one The message is queued.
  • scheduling one or more packets with the highest priority in the queue first you can first set the internal priority of the queue according to the level of the delay requirement. For example, the report with high latency requirement (that is, low latency) is required.
  • the internal priority of the queue is set to the highest, which ensures that the packet with the highest latency requirement is scheduled first.
  • the time of the service (that is, the scheduled out queue) of each packet can be set, for example, when one or more packets are scheduled to be queued. , starting a preset timer, and determining in real time whether the timer is finished, and whether one or more messages have been scheduled out of the queue; at the end of the timer and one or more messages are not scheduled to be queued (eg, the message If one part has been queued and the other part has not been queued, the other queues except one or more of the above-mentioned ones are queued according to the internal priority of the queue.
  • the packets other than the one or more packets are scheduled to be out of the queue according to the internal priority of the queue.
  • the time slice rotation mode is adopted for each outbound queue message, which further improves the support of the queue scheduling for the delay performance.
  • the timer time can be set according to requirements. For example, different timer durations can also be set for packets with different priority internal queues.
  • the queue priority of the packet can be determined. For example, before scheduling one or more packets to be queued, determine the queue priority of the packet, and according to the queue priority.
  • the queue priority or the queue internal priority of the packet is determined according to the identifier information of the packet.
  • the identifier information includes at least one of the following: a virtual local area network label priority of the second layer message, and a difference of the internet protocol message.
  • the Exp field value is an experimental field value, which is also a reserved/trial domain value. It is a reserved field of a multi-protocol label switching message. For example, the field is used to mark a service type (Class of Service, referred to as CoS).
  • the embodiment can also provide a computer program for executing the above embodiment and a carrier for storing the above computer program. That is, the above embodiment of the present application can perform a natural law-compliant operation process through a suitable computing architecture.
  • the present application is described in the above context, the above-described computer programs for implementing the steps are not meant to be limiting, and various aspects of the described actions and operations may be implemented in hardware.
  • the embodiment further provides a message scheduling device, which is used to implement the message scheduling method.
  • 2 is a structural block diagram of a message scheduling apparatus according to an embodiment of the present invention. As shown in FIG. 2, the apparatus includes: a first determining module 22 and a scheduling module 24, wherein the first determining module 22 is configured to determine a packet.
  • the queue internal priority, the number of the packets is multiple; the scheduling module 24 is coupled to the first determining module 22, and is configured to schedule one or more packets in the packet to correspond to the corresponding queue according to the internal priority of the queue.
  • the first determining module 22 is configured to determine the internal priority of the queue, wherein the number of the packets is multiple.
  • the scheduling module 24 schedules one or more packets in the packet according to the internal priority of the queue. The way the corresponding queue is issued.
  • the above device solves the problem that the queue scheduling method in the related art cannot meet the low delay requirement of the service, and improves the quality of the queue scheduling service.
  • the modules and units involved in this embodiment may be implemented by software or by hardware.
  • the modules and units described in this embodiment may also be disposed in a processor.
  • a processor includes a first determining module 22 and a scheduling module 24.
  • the names of these modules do not constitute a limitation on the module itself in some cases.
  • the first determining module may also be described as "a module that is set to determine the internal priority of the queue of the message".
  • the corresponding functions involved in the device can also be combined with the description and description in conjunction with the descriptions of the foregoing methods, and are not described herein again.
  • the scheduling module 24 includes: a determining unit 32 configured to determine a queue internal priority of one or more packets.
  • the level is the highest of the packets of the corresponding queue; the scheduling unit 34 is coupled to the determining unit 32, and is configured to schedule one or more messages to be dequeued.
  • 4 is a block diagram of a preferred structure of a message scheduling apparatus according to an embodiment of the present invention. As shown in FIG.
  • the apparatus further includes a timer 42 coupled to the scheduling module 24, configured to schedule one or more Message When the queue is queued, the timer is started; the determining module 44 is coupled to the timer 42 and the scheduling module 24, and is configured to determine whether the timer is finished, and whether one or more packets have been scheduled out of the queue; The module 24 is further configured to schedule other messages than one or more messages to be queued according to the internal priority of the queue if the timing is over and one or more of the messages are not scheduled to be queued.
  • the scheduling module 24 is further configured to schedule other packets except one or more packets according to the internal priority of the queue if the timing is not ended and one or more packets are scheduled to be out of the queue. queue.
  • the apparatus further includes: a second determining module 52, configured to determine a queue priority of the packet;
  • the third determining module 54 is coupled to the second determining module 52 and the first determining module 22, and is configured to determine a queue corresponding to the packet according to the queue priority.
  • the queue priority or the queue internal priority of the packet is determined according to the identifier information of the packet.
  • the foregoing identification information includes at least one of the following: a virtual local area network label priority of the second layer message, a differential service code point of the Internet Protocol message, and/or a service type identifier, or an Exp field value of the multi-protocol label switching message. .
  • a virtual local area network label priority of the second layer message e.g., a virtual local area network label priority of the second layer message
  • a differential service code point of the Internet Protocol message e.g., a service type identifier
  • an Exp field value of the multi-protocol label switching message e.g., Exp field value of the multi-protocol label switching message.
  • FIG. 6 is a structural block diagram of a queue scheduling apparatus according to a preferred embodiment of the present invention. As shown in FIG. 6, the apparatus includes: a message marking enqueue module 62 and a different priority queue scheduling module 64.
  • the packet marking enqueue module 62 (corresponding to the second determining module 52 above) is configured to set different priorities according to different characteristics of the packets entering the network device, and the priority is called the internal priority of the device (equivalent to The above queue priority).
  • the Layer 2 packet can be marked according to the priority of the VLAN tag.
  • the IP packet it can be marked according to the DSCP or the TOS.
  • the label is marked according to the EXP field value.
  • the internal priority of the device marked on the packet determines the queue from which the packet exits the network device.
  • the different priority queue scheduling modules 64 are configured to schedule the packets to be dequeued according to the configured queue scheduling algorithm according to the configured queue scheduling algorithm.
  • the foregoing apparatus further includes: a message secondary marking module 66 in the queue and a packet scheduling dequeuing module 68 in the queue.
  • the message secondary marking module 66 in the queue (corresponding to the first determining module 22) is set to The packets in the queue according to the internal priority of the device are marked twice.
  • the packets in the cache are marked with the internal priority of the device, which determines the queue from which the device is sent. However, the packets in the same queue need to be marked twice to determine the order of the queues.
  • the criteria for secondary marking can be configured by the user.
  • the priority in the VLAN tag, DSCP, TOS, or EXP is selected.
  • the priority on the tag is called the queue internal priority.
  • the packet scheduling dequeue module 68 (corresponding to the scheduling module 24) in the queue is configured to use the corresponding scheduling algorithm to schedule the packet dequeue in the queue. After the packets in the queue are marked twice, they are marked with the internal priority of the queue.
  • the method used to dequeue a message in a queue can be: Strict priority combined with time slice rotation. That is, the packets with the highest priority in the queue are dequeued first, and the timing is started. Once the set time slice is over, the low priority packets are scheduled to be dequeued.
  • the packet marking enqueue module 62 marks the internal priority of the packet, determines from which queue the packet exits the network device, and the packet is marked twice.
  • the module 66 re-marks the queue internal priority of the packet based on the internal priority of the device; the different priority queue scheduling module 64 schedules the dequeue of the packets of different queues according to the internal priority of the device; According to the internal priority of the queue, the packets are scheduled to be dequeued according to the scheduling algorithm in the same queue.
  • the queue scheduling method provided by the preferred embodiment includes the following steps: Step 1: Mark the internal priority of the device for the packet entering the network device. Step 2: Mark the internal priority of the queue for the packet in the same queue. Step 3: When congestion occurs on the egress port, different queues are dispatched according to the configured queue scheduling algorithm.
  • Step 4 In the same queue, the packets are scheduled to be dequeued according to the internal priority of the queue.
  • the above steps will be described below using a preferred example.
  • Steps 1 to 4 in the foregoing method specifically include the following steps: Step 1: The message enters the device, and the device is internally marked with the priority according to the criteria selected by the user.
  • the marking manners corresponding to different standards are as shown in Table 1, Table 2, and Table 3, respectively. Table 1
  • Step 2 Mark the packet with the internal priority of the device, and determine from which queue the packet is sent out of the network device.
  • the packets are saved in the cache.
  • Step 3 The packets in the same queue are marked twice, and the standard is also selected by the user. Preferably, the marking methods corresponding to different standards are shown in Table 1, Table 2, and Table 3, respectively.
  • Step 4 The user configures a queue scheduling algorithm to determine the total flow of each queue packet dequeue in the case of congestion.
  • Step 5 When a certain queue has a certain amount of deported packet traffic, the queue is scheduled to be dequeued according to the strict priority combined with the time slice scheduling (ie, the time slice rotation) method.
  • 7 is a flow diagram of a strict priority combined time slice scheduling method in accordance with a preferred embodiment of the present invention.
  • the method includes: searching for a packet with the highest priority (in this case, the internal priority of the queue), and if found, allocating a time slice to the priority packet, and starting to schedule the priority. The packet is dequeued. If the time slice is not completed, but the priority packet in the queue has all been dequeued, or the time slice is over, the scheduling of the priority packet is stopped.
  • the next priority is reported in the queue.
  • the text began to dispatch according to the above method.
  • the scheduling packet is immediately dequeued, otherwise the packet is dequeued.
  • the packet enters different egress queues according to the priority configured by the user, and the packet is secondarily marked with priority in the egress queue, and the priority can be adopted according to the priority after the secondary marking.
  • the queue is dispatched and dequeued, which improves the service quality of queue scheduling.
  • Industrial Applicability According to the embodiment of the present invention, a queue internal priority of a plurality of packets is determined. According to the internal priority of the queue, one or more of the plurality of packets are scheduled to output a corresponding queue. The problem that the queue scheduling method in the related art cannot meet the low delay requirement of the service is solved, and the quality of the queue scheduling service is improved.
  • modules or steps of the present invention can be implemented by a general-purpose computing device, which can be concentrated on a single computing device or distributed over a network composed of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device, such that they may be stored in the storage device by the computing device, or they may be separately fabricated into individual integrated circuit modules, or they may be Multiple modules or steps are made into a single integrated circuit module.
  • the invention is not limited to any specific combination of hardware and software.
  • the above is only the preferred embodiment of the present invention, and is not intended to limit the present invention, and various modifications and changes can be made to the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and scope of the present invention are intended to be included within the scope of the present invention.

Landscapes

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

Abstract

本发明公开了一种报文调度方法和装置,其中,该方法包括:确定报文的队列内部优先级,其中,报文的数量为多个;根据队列内部优先级,调度报文中的一个或多个报文出对应的队列。通过本发明,解决了相关技术中的队列调度方法不能满足业务的低延时需求的问题,提高了队列调度服务的质量。

Description

报文调度方法和装置 技术领域 本发明涉及通信领域, 具体而言, 涉及报文调度方法和装置。 背景技术 随着网络业务的不断丰富, 网络的服务质量也日渐重要, 而队列调度作为服务质 量领域中的一个关键技术, 越来越受到关注。 相关技术中的队列调度方法有很多, 最典型是严格优先级调度和加权轮询调度。 严格优先级调度算法按照优先级从高到低的次序, 优先发送较高优先级队列中的 分组, 当较高优先级队列为空时, 再发送较低优先级队列中的分组。 这样, 将关键业 务的分组放入较高优先级的队列, 将非关键业务的分组放入较低优先级的队列, 可以 保证关键业务的分组被优先传送, 而非关键业务的分组在处理关键业务数据的空闲间 隙被传送。 加权轮循算法给每个队列赋予了一个权值, 在队列之间进行轮流调度, 保证每个 队列都得到一定的服务时间。 权值表示当调度器为每个优先级队列提供服务时, 可以 调度的分组数目, 如果这些分组调度完就可以为下一个优先级队列服务。 这样可以保 证最低优先级队列也能获得服务, 避免了采用严格优先级调度时低优先级队列中的报 文可能长时间得不到服务的缺点。 而无论是严格优先级调度算法还是加权轮循算法, 对于已经进入队列中的报文都 是采用先进先出的原则, 因此, 如果延时要求不同的业务流进入了同一个队列, 要求 低延时的报文会因为后进入队列而后出队列, 导致延时性能不达标。 针对相关技术中的队列调度方法不能满足业务的低延时需求的问题, 目前尚未提 出有效的解决方案。 发明内容 本发明实施例提供了一种报文调度方法和装置, 以至少解决相关技术中的队列调 度方法不能满足业务的低延时需求的问题。 根据本发明实施例的一个方面, 提供了一种报文调度方法, 包括: 确定报文的队 列内部优先级, 其中, 所述报文的数量为多个; 根据所述队列内部优先级, 调度所述 报文中的一个或多个报文出对应的队列。 优选地, 调度所述一个或多个报文出所述队列包括: 确定所述一个或多个报文的 所述队列内部优先级为所述对应的队列的报文中最高的; 调度所述一个或多个报文出 所述队列。 优选地, 在调度所述一个或多个报文出所述队列时, 启动计时器; 所述方法还包 括: 判断所述计时器的计时是否结束, 以及所述一个或多个报文是否已调度出所述队 列; 在所述计时结束且所述一个或多个报文未调度出所述队列的情况下, 根据所述队 列内部优先级, 调度除所述一个或多个报文之外的其他报文出所述队列。 优选地, 在调度所述一个或多个报文出所述队列时, 启动计时器; 所述方法还包 括: 判断所述计时器的计时是否结束, 以及所述一个或多个报文是否已调度出所述队 列; 在所述计时未结束且所述一个或多个报文已调度出所述队列的情况下, 根据所述 队列内部优先级, 调度除所述一个或多个报文之外的其他报文出所述队列。 优选地, 在调度所述一个或多个报文出所述队列之前, 所述方法还包括: 确定所 述报文的队列优先级; 根据所述队列优先级, 确定所述报文分别对应的所述队列。 优选地, 确定所述报文的队列优先级或所述队列内部优先级包括: 根据所述报文 的标识信息, 确定所述报文的所述队列优先级或所述队列内部优先级。 优选地, 所述标识信息包括以下至少之一: 二层报文的虚拟局域网标签 (Virtual Local Area Network Tag, 简称为 VLAN Tag) 优先级、 因特网协议 (Internet Protocol, 简称为 IP)报文的差分服务代码点 (Differentiated Services Code Point, 简称为 DSCP) 和 /或服务类型(Type of Service,简称为 TOS)标记,或多协议标签交换(Multi -Protocol Label Switching, 简称为 MPLS) 报文的实验 (Experiment, 简称为 Exp) 域值。 根据本发明实施例的另一个方面, 还提供了一种报文调度装置, 包括: 第一确定 模块, 设置为确定报文的队列内部优先级, 其中, 所述报文的数量为多个; 调度模块, 设置为根据所述队列内部优先级, 调度所述报文中的一个或多个报文出对应的队列。 优选地, 所述调度模块包括: 确定单元, 设置为确定所述一个或多个报文的所述 队列内部优先级为所述对应的队列的报文中最高的; 调度单元, 设置为调度所述一个 或多个报文出所述队列。 优选地, 所述装置还包括: 第二确定模块, 设置为确定所述报文的队列优先级; 第三确定模块, 设置为根据所述队列优先级, 确定所述报文分别对应的所述队列。 通过本发明实施例, 采用了确定多个报文的队列内部优先级; 根据该队列内部优 先级, 调度多个报文中的一个或多个报文出对应的队列的方式。 解决了相关技术中的 队列调度方法不能满足业务的低延时需求的问题, 提高了队列调度服务的质量。 附图说明 此处所说明的附图用来提供对本发明的进一步理解, 构成本申请的一部分, 本发 明的示意性实施例及其说明用于解释本发明, 并不构成对本发明的不当限定。 在附图 中: 图 1是根据本发明实施例的报文调度方法的流程示意图; 图 2是根据本发明实施例的报文调度装置的结构框图; 图 3是根据本发明实施例的报文调度装置的优选结构框图一; 图 4是根据本发明实施例的报文调度装置的优选结构框图二; 图 5是根据本发明实施例的报文调度装置的优选结构框图三; 图 6是根据本发明优选实施例的队列调度装置的结构框图; 图 7是根据本发明优选实施例的严格优先级结合时间片调度方法的流程示意图。 具体实施方式 需要说明的是, 在不冲突的情况下, 本申请中的实施例及实施例中的特征可以相 互组合。 下面将参考附图并结合实施例来详细说明本发明。 需要说明的是, 在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的 计算机系统中执行, 并且, 虽然在流程图中示出了逻辑顺序, 但是在某些情况下, 可 以以不同于此处的顺序执行所示出或描述的步骤。 本发明实施例提供了一种报文调度方法, 图 1是根据本发明实施例的报文调度方 法的流程示意图, 如图 1所示, 包括如下的步骤: 步骤 S102, 确定多个报文的队列内部优先级; 步骤 S104, 根据队列内部优先级, 调度多个报文中的一个或多个报文出对应的队 列。 通过上述步骤, 对对应的队列中的多个报文设置队列内部优先级, 并根据该队列 内部优先级对对应的队列中的一个或多个报文分别进行调度, 其中对应的队列是指报 文所对应的队列。 例如, 可以将低延时需求的业务对应的报文设置较高的队列内部优 先级, 并优先调度出对应的队列。 通过上述步骤解决了相关技术中的队列调度方法不 能满足业务的低延时需求的问题, 提升了队列调度服务的质量。 在根据队列内部优先级进行调度时, 可以对队列内部优先级较低的一个或多个报 文最后进行调度, 而队列中其他的报文仍然遵循先入先出的原则进行调度。 其中, 较 优地, 也可以先对队列内部优先级最高的一个或多个报文进行调度, 例如, 确定一个 报文的队列内部优先级为对应的队列的报文中最高的; 调度该一个报文出队列。 通过 先对队列内部优先级最高的一个或多个报文进行调度, 可以先根据延时需求的高低设 置队列内部优先级的高低, 例如, 将延时需求高 (即需要低延时) 的报文的队列内部 优先级设置为最高, 从而保证了延时需求最高的报文最先进行调度。 优选地, 在对队列中的报文按照队列内部优先级进行调度时, 对于每个报文的服 务 (即调度出队列) 时间可以进行设置, 例如, 在调度一个或多个报文出队列时, 启 动预先设置的计时器, 并实时判断计时器的计时是否结束, 以及一个或多个报文是否 已调度出队列; 在计时结束且一个或多个报文未调度出队列 (例如报文的一部分已经 出队列, 而另一部分尚未出队列) 的情况下, 根据队列内部优先级, 调度除上述的一 个或多个报文之外的其他报文出队列。 优选地, 在判断到计时未结束且上述的一个或多个报文已调度出队列的情况下, 则根据队列内部优先级, 调度除一个或多个报文之外的其他报文出队列。 通过上述两个优选实施方式,对于每一个出队列的报文都采用时间片轮转的方式, 进一步提高了队列的调度对于延时性能的支持。 较优地, 上述的计时器时间可以根据 需求进行设置, 例如, 也可以对不同队列内部优先级的报文设置不同的计时器时长。 在确定报文对应的队列时, 可以采用通过报文的队列优先级的方式确定, 例如, 在调度一个或多个报文出队列之前, 确定报文的队列优先级, 并根据队列优先级, 确 定报文分别对应的队列。 优选地, 根据报文的标识信息, 确定报文的队列优先级或队列内部优先级。 该标 识信息包括以下至少之一: 二层报文的虚拟局域网标签优先级、 因特网协议报文的差 分服务代码点和 /或服务类型标记, 或多协议标签交换报文的 Exp域值。 其中, Exp域 值是实验域值, 又称为保留 /试用域值, 是多协议标签交换报文的保留字段, 例如, 该 字段用于标记服务类型 (Class of Service, 简称为 CoS)。 本实施例还可以提供一个用于执行上述实施例的计算机程序以及保存上述计算机 程序的载体, 即本申请上述实施例可以通过一个合适的计算体系结构来进行符合自然 规律的运行过程。 另外, 尽管在上述上下文中描述本申请, 但上述用于实现执行步骤 的计算机程序并不意味着是限制性的, 所描述的动作和操作的各方面也可用硬件来实 现。 本实施例还提供了一种报文调度装置, 该装置用于实现上述报文调度方法。 图 2 是根据本发明实施例的报文调度装置的结构框图, 如图 2所示, 该装置包括: 第一确 定模块 22和调度模块 24, 其中, 第一确定模块 22, 设置为确定报文的队列内部优先 级, 报文的数量为多个; 调度模块 24耦合至上述第一确定模块 22, 设置为根据队列 内部优先级, 调度报文中的一个或多个报文出对应的队列。 通过上述装置, 采用了第一确定模块 22确定报文的队列内部优先级, 其中, 报文 的数量为多个; 调度模块 24根据队列内部优先级,调度报文中的一个或多个报文出对 应的队列的方式。 通过上述装置解决了相关技术中的队列调度方法不能满足业务的低 延时需求的问题, 提升了队列调度服务的质量。 本实施例中所涉及到的模块、 单元可以通过软件的方式实现, 也可以通过硬件的 方式来实现。 本实施例中所描述的模块、 单元也可以设置在处理器中, 例如, 可以描 述为: 一种处理器包括第一确定模块 22和调度模块 24。 其中, 这些模块的名称在某 些情况下并不构成对该模块本身的限定, 例如, 第一确定模块还可以被描述为"设置为 确定报文的队列内部优先级的模块"。 在该装置中涉及的对应功能也能结合上述方法所对应的描述进行结合描述和说 明, 在此不再赘述。 图 3是根据本发明实施例的报文调度装置的优选结构框图一, 如图 3所示, 优选 地, 调度模块 24包括: 确定单元 32, 设置为确定一个或多个报文的队列内部优先级 为对应的队列的报文中最高的; 调度单元 34耦合至上述确定单元 32, 设置为调度一 个或多个报文出队列。 图 4是根据本发明实施例的报文调度装置的优选结构框图二, 如图 4所示, 优选 地, 该装置还包括计时器 42耦合至上述调度模块 24, 设置为在调度一个或多个报文 出队列时, 启动计时器; 判断模块 44耦合至上述计时器 42和上述调度模块 24, 设置 为判断计时器的计时是否结束, 以及一个或多个报文是否已调度出队列; 其中, 上述 调度模块 24还设置为在计时结束且一个或多个报文未调度出队列的情况下,根据队列 内部优先级, 调度除一个或多个报文之外的其他报文出队列。 优选地,上述调度模块 24还设置为在计时未结束且一个或多个报文已调度出队列 的情况下, 根据队列内部优先级, 调度除一个或多个报文之外的其他报文出队列。 图 5是根据本发明实施例的报文调度装置的优选结构框图三, 如图 5所示, 优选 地, 该装置还包括: 第二确定模块 52, 设置为确定报文的队列优先级; 第三确定模块 54耦合至上述第二确定模块 52和上述第一确定模块 22, 设置为根据队列优先级, 确 定报文分别对应的队列。 优选地, 根据报文的标识信息, 确定报文的队列优先级或队列内部优先级。 优选地, 上述标识信息包括以下至少之一: 二层报文的虚拟局域网标签优先级、 因特网协议报文的差分服务代码点和 /或服务类型标记, 或多协议标签交换报文的 Exp 域值。 需要说明的是,上述"第一确定模块 22"、"第二确定模块 52"等,其中的 "第一"、
"第二"等仅用于对模块或者单元进行标记, 并不应理解为相应的模块或者单元之间 存在顺序关系。 下面将结合优选的实施例对其实现过程进行详细描述。 本优选实施例提供了一种降低延时的队列调度方法和装置, 涉及交换网的服务质 量, 尤其涉及网络设备的优先级调度技术。 图 6是根据本发明优选实施例的队列调度装置的结构框图, 如图 6所示, 该装置 包括: 报文标记入队模块 62和不同优先级队列调度模块 64。 报文标记入队模块 62 (相当于上述第二确定模块 52), 设置为对进入网络设备的 报文根据不同的特征, 打上不同的优先级, 这个优先级称为设备内部优先级 (相当于 上述队列优先级)。 例如, 对于二层报文, 可以根据 VLAN Tag中的优先级进行标记; 对于 IP报文, 可以根据 DSCP或者 TOS进行标记; 对于 MPLS报文, 则根据 EXP域 值进行标记。 给报文标记上的设备内部优先级决定了报文在出端口从哪个队列出网络 设备。 不同优先级队列调度模块 64 (相当于上述第三确定模块 54), 设置为将不同设备 内部优先级的队列按照配置的队列调度算法, 将报文调度出队。 优选的, 上述装置还包括: 队列中报文二次标记模块 66和队列中报文调度出队模 块 68. 队列中报文二次标记模块 66 (相当于上述第一确定模块 22), 设置为对根据设备 内部优先级划分队列的队列中的报文进行二次标记。 缓存中的报文标记上设备内部优 先级, 就决定了从哪个队列出设备, 但是同一个队列中的报文需要二次标记决定出队 列的先后顺序。 二次标记的标准可以用户配置, 例如, 选用 VLAN Tag中的优先级、 DSCP、 TOS、 或者 EXP, 标记上的优先级称为队列内部优先级。 队列中报文调度出队模块 68 (相当于上述调度模块 24), 设置为采用相应的调度 算法调度队列中的报文出队。 队列中的报文经过二次标记, 就被标记上了队列内部优 先级。例如, 队列中的报文出队采用的方法可以采用: 严格优先级结合时间片轮转法。 即, 队列内部优先级高的报文先出队, 同时开始计时, 一旦设定的时间片结束, 就调 度低优先级的报文出队。 如果高优先级的报文在设定的时间片未结束前就已经全部出 队, 则立即调度下一个优先级的报文出队。 需要说明的是, 队列中的报文出队还可以采用其他调度方式 (例如加权轮询) 结 合时间片轮转法的方式, 在本优选实施例中并不限定。 下面对上述模块之间的相互关系进行说明: 报文标记入队模块 62标记报文的设备内部优先级,确定报文在出端口从哪个队列 出网络设备;队列中报文二次标记模块 66在设备内部优先级的基础上再标记报文的队 列内部优先级; 不同优先级队列调度模块 64根据设备内部优先级,调度不同队列的报 文出队; 队列中报文调度出队模块 68根据队列内部优先级,在同一个队列中按照调度 算法调度报文出队。 本优选实施例提供的队列调度方法, 包括以下步骤: 步骤一, 为进入网络设备的报文标记设备内部优先级。 步骤二, 在同一个队列中为报文标记队列内部优先级。 步骤三, 在出端口, 发生拥塞时, 根据配置的队列调度算法调度不同队列报文出 队。 步骤四, 在同一个队列中根据队列内部优先级调度报文出队。 采用本优选实施例中在队列中对报文进行二次区分 (即二次标记) 并调度的方法 和装置, 达到了降低报文转发延时的效果, 提高了队列中重要报文的转发效率。 下面使用一个优选的例子对上述的步骤进行说明。 上述方法中的步骤一至步骤四具体包括如下步骤: 步骤 1, 报文进入设备, 按照用户选定的标准给报文标记设备内部优先级。 优选 地, 不同的标准对应的标记方式分别如表 1、 表 2、 表 3所示。 表 1
Figure imgf000009_0001
表 2
DSCP 设备内部优先级 出端口队列 DSCP 设备内部优先级 出端口队列
0 0 0 32 4 4
1 0 0 33 4 4
2 0 0 34 4 4
3 0 0 35 4 4
4 0 0 36 4 4
5 0 0 37 4 4
6 0 0 38 4 4
7 0 0 39 4 4
8 1 1 40 5 5
9 1 1 41 5 5
10 1 1 42 5 5
11 1 1 43 5 5
12 1 1 44 5 5
13 1 1 45 5 5
14 1 1 46 5 5
15 1 1 47 5 5
16 2 2 48 6 6
17 2 2 49 6 6
18 2 2 50 6 6
19 2 2 51 6 6
20 2 2 52 6 6
21 2 2 53 6 6
22 2 2 54 6 6
23 2 2 55 6 6 24 3 3 56 7 7
25 3 3 57 7 7
26 3 3 58 7 7
27 3 3 59 7 7
28 3 3 60 7 7
DSCP 设备内部优先级 出端口队列 DSCP 设备内部优先级 出端口队列
29 3 3 61 7 7
30 3 3 62 7 7
31 3 3 63 7 7 表 3
Figure imgf000010_0001
步骤 2, 标记上设备内部优先级的报文, 就确定了报文在出端口从哪个队列出网 络设备, 这些报文保存在缓存中。 步骤 3, 对同一个队列中的报文进行二次标记, 标准同样由用户选定。 优选地, 不同的标准对应的标记方式分别表 1、 表 2、 表 3所示。 步骤 4, 用户配置队列调度算法, 在拥塞情况下, 确定每个队列报文出队的总流
步骤 5, 某个队列在出队报文流量一定的情况下, 按照严格优先级结合时间片调 度 (即时间片轮转) 方法调度报文出队。 图 7是根据本发明优选实施例的严格优先级结合时间片调度方法的流程示意图。 在该流程示意图中, 包括: 在队列中查找是否存在最高优先级 (此处指队列内部优先 级) 的报文, 如果查找到, 就分配时间片给此优先级报文, 开始调度此优先级报文出 队, 如果时间片未结束但是队列中此优先级的报文已经全部出队, 或者时间片结束, 则停止调度此优先级报文出队; 在队列中查找下一个优先级的报文并开始按照以上方 法调度出队。 优选的, 在报文出队过程中, 如果出队报文流量达到队列允许出队的总流量, 则 立即停止调度报文出队, 否则继续调度报文出队。 综上所述, 根据本发明的上述实施例和优选实施例, 克服现有技术中存在的在同 一个优先级队列中报文不进行区分而导致的延时问题和缺陷, 提供一种对队列中报文 进行区分并调度出队列的方法和装置。 通过上述的方法和装置, 报文根据用户配置的 优先级进入不同的出口队列, 在出口队列中对报文进行二次标记优先级, 并且可以根 据二次标记后的优先级, 采用严格优先级结合时间片轮转法在队列中进行调度出队, 提高了队列调度的服务质量。 工业实用性 通过本发明实施例, 采用了确定多个报文的队列内部优先级; 根据该队列内部优 先级, 调度多个报文中的一个或多个报文出对应的队列的方式。 解决了相关技术中的 队列调度方法不能满足业务的低延时需求的问题, 提高了队列调度服务的质量。 显然, 本领域的技术人员应该明白, 上述的本发明的各模块或各步骤可以用通用 的计算装置来实现, 它们可以集中在单个的计算装置上, 或者分布在多个计算装置所 组成的网络上, 可选地, 它们可以用计算装置可执行的程序代码来实现, 从而, 可以 将它们存储在存储装置中由计算装置来执行, 或者将它们分别制作成各个集成电路模 块, 或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。 这样, 本发明 不限制于任何特定的硬件和软件结合。 以上所述仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本领域的技 术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和原则之内, 所作的 任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。

Claims

权 利 要 求 书
1. 一种报文调度方法, 包括:
确定报文的队列内部优先级, 其中, 所述报文的数量为多个; 根据所述队列内部优先级, 调度所述报文中的一个或多个报文出对应的队 列。
2. 根据权利要求 1所述的方法,其中,调度所述一个或多个报文出所述队列包括:
确定所述一个或多个报文的所述队列内部优先级为所述对应的队列的报文 中最高的;
调度所述一个或多个报文出所述队列。
3. 根据权利要求 1所述的方法, 其中,
在调度所述一个或多个报文出所述队列时, 启动计时器;
所述方法还包括: 判断所述计时器的计时是否结束, 以及所述一个或多个 报文是否已调度出所述队列; 在所述计时结束且所述一个或多个报文未调度出 所述队列的情况下, 根据所述队列内部优先级, 调度除所述一个或多个报文之 外的其他报文出所述队列。
4. 根据权利要求 1所述的方法, 其中,
在调度所述一个或多个报文出所述队列时, 启动计时器;
所述方法还包括: 判断所述计时器的计时是否结束, 以及所述一个或多个 报文是否已调度出所述队列; 在所述计时未结束且所述一个或多个报文已调度 出所述队列的情况下, 根据所述队列内部优先级, 调度除所述一个或多个报文 之外的其他报文出所述队列。
5. 根据权利要求 1所述的方法, 其中, 在调度所述一个或多个报文出所述队列之 前, 所述方法还包括:
确定所述报文的队列优先级;
根据所述队列优先级, 确定所述报文分别对应的所述队列。
6. 根据权利要求 1至 5中任一项所述的方法, 其中, 确定所述报文的队列优先级 或所述队列内部优先级包括:
根据所述报文的标识信息, 确定所述报文的所述队列优先级或所述队列内 部优先级。
7. 根据权利要求 6所述的方法, 其中, 所述标识信息包括以下至少之一:
二层报文的虚拟局域网标签优先级、因特网协议报文的差分服务代码点和 / 或服务类型标记, 或多协议标签交换报文的实验域值。
8. —种报文调度装置, 包括:
第一确定模块, 设置为确定报文的队列内部优先级, 其中, 所述报文的数 量为多个;
调度模块, 设置为根据所述队列内部优先级, 调度所述报文中的一个或多 个报文出对应的队列。
9. 根据权利要求 8所述的装置, 其中, 所述调度模块包括:
确定单元, 设置为确定所述一个或多个报文的所述队列内部优先级为所述 对应的队列的报文中最高的;
调度单元, 设置为调度所述一个或多个报文出所述队列。
10. 根据权利要求 8所述的装置, 其中, 所述装置还包括: 第二确定模块, 设置为确定所述报文的队列优先级;
第三确定模块, 设置为根据所述队列优先级, 确定所述报文分别对应的所 述队列。
PCT/CN2014/078189 2013-06-21 2014-05-22 报文调度方法和装置 WO2014201934A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310251885.8A CN104243349B (zh) 2013-06-21 2013-06-21 报文调度方法和装置
CN201310251885.8 2013-06-21

Publications (1)

Publication Number Publication Date
WO2014201934A1 true WO2014201934A1 (zh) 2014-12-24

Family

ID=52103935

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/078189 WO2014201934A1 (zh) 2013-06-21 2014-05-22 报文调度方法和装置

Country Status (2)

Country Link
CN (1) CN104243349B (zh)
WO (1) WO2014201934A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713144A (zh) * 2016-12-27 2017-05-24 锐捷网络股份有限公司 一种报文出口信息的读写方法及转发引擎
CN110875887A (zh) * 2018-08-31 2020-03-10 蔚来汽车有限公司 一种基于mqtt协议的通信交互方法及通信交互系统
CN114285780A (zh) * 2021-12-23 2022-04-05 中国电子科技集团公司第十四研究所 一种基于优先级队列的雷达网络测试系统及测试方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108521374B (zh) * 2018-03-28 2021-09-10 新华三技术有限公司 路由的处理方法及装置
CN108768888B (zh) * 2018-04-20 2021-10-15 北京中电普华信息技术有限公司 一种电力系统量子加密业务的队列调度方法
CN109962760B (zh) * 2019-04-09 2022-08-30 湖南智领通信科技有限公司 一种适于无线tdma自组网的业务调度方法
CN111669339B (zh) * 2020-05-25 2022-02-15 武汉大学 智慧能源站站控层业务优先级划分及pdwrr队列调度方法
CN117119056A (zh) * 2022-05-16 2023-11-24 华为技术有限公司 报文处理的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004019573A1 (en) * 2002-08-22 2004-03-04 Ericsson Inc. System and method of scheduling radio resources in a wireless communications network
CN101291279A (zh) * 2007-04-18 2008-10-22 华为技术有限公司 高速下行分组接入中业务数据的调度方法及其装置
CN101984608A (zh) * 2010-11-18 2011-03-09 中兴通讯股份有限公司 报文拥塞避免方法及系统
CN102201988A (zh) * 2011-05-12 2011-09-28 西北工业大学 一种航空电子全双工交换式以太网交换机调度方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6570876B1 (en) * 1998-04-01 2003-05-27 Hitachi, Ltd. Packet switch and switching method for switching variable length packets
JP3698079B2 (ja) * 2001-08-22 2005-09-21 日本電気株式会社 データ転送方法、データ転送装置及びプログラム
JP3970138B2 (ja) * 2002-09-09 2007-09-05 富士通株式会社 イーサネットスイッチにおける輻輳制御装置
WO2005006672A1 (ja) * 2003-07-10 2005-01-20 Mitsubishi Denki Kabushiki Kaisha 階層型スケジューリング装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004019573A1 (en) * 2002-08-22 2004-03-04 Ericsson Inc. System and method of scheduling radio resources in a wireless communications network
CN101291279A (zh) * 2007-04-18 2008-10-22 华为技术有限公司 高速下行分组接入中业务数据的调度方法及其装置
CN101984608A (zh) * 2010-11-18 2011-03-09 中兴通讯股份有限公司 报文拥塞避免方法及系统
CN102201988A (zh) * 2011-05-12 2011-09-28 西北工业大学 一种航空电子全双工交换式以太网交换机调度方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713144A (zh) * 2016-12-27 2017-05-24 锐捷网络股份有限公司 一种报文出口信息的读写方法及转发引擎
CN106713144B (zh) * 2016-12-27 2020-01-21 锐捷网络股份有限公司 一种报文出口信息的读写方法及转发引擎
CN110875887A (zh) * 2018-08-31 2020-03-10 蔚来汽车有限公司 一种基于mqtt协议的通信交互方法及通信交互系统
CN114285780A (zh) * 2021-12-23 2022-04-05 中国电子科技集团公司第十四研究所 一种基于优先级队列的雷达网络测试系统及测试方法
CN114285780B (zh) * 2021-12-23 2023-12-15 中国电子科技集团公司第十四研究所 一种基于优先级队列的雷达网络测试系统及测试方法

Also Published As

Publication number Publication date
CN104243349B (zh) 2018-05-04
CN104243349A (zh) 2014-12-24

Similar Documents

Publication Publication Date Title
WO2014201934A1 (zh) 报文调度方法和装置
US8230110B2 (en) Work-conserving packet scheduling in network devices
WO2015014133A1 (zh) OPENFLOW网络中QoS的实现方法及装置
US8553543B2 (en) Traffic shaping method and device
US8144588B1 (en) Scalable resource management in distributed environment
WO2009086779A1 (zh) 一种转发分组报文的方法、系统及装置
CN101075963B (zh) 一种基于网络QoS的动态控制装置及其方法
EP3073680B1 (en) Methods, queueing system, network element and network system for queueing and processing of packets
WO2014173367A2 (zh) 实现QoS的方法、系统、设备及计算机存储介质
CN101436987A (zh) QoS服务的调度配置方法和装置
WO2007109991A1 (fr) Procédé, dispositif et système de transmission de paquets de données
WO2012171460A1 (zh) 一种报文传输方法及装置
WO2016082603A1 (zh) 一种调度器及调度器的动态复用方法
WO2018149228A1 (zh) 报文发送方法及装置
WO2012171461A1 (zh) 报文转发方法及装置
CN102413051B (zh) 一种服务质量调度方法和装置
WO2008000127A1 (fr) Appareil et procédé pour l'envoi de message
EP2939378B1 (en) Method and network element for packet job scheduler in data processing based on workload self-learning
JP6683711B2 (ja) ネットワーキング装置において効率的な仮想出力キュー(voq)パケットフラッシングスキームをサポートするためのシステムおよび方法
WO2011113264A1 (zh) 交换网中流量管理的方法和装置
CN106899514B (zh) 保障多媒体业务服务质量的队列调度方法
WO2011144157A1 (zh) 传输数据的方法、装置和系统
CN114531399B (zh) 一种内存阻塞平衡方法、装置、电子设备和存储介质
Domżał et al. Efficient congestion control mechanism for flow‐aware networks
JP5183460B2 (ja) パケットスケジューリング方法および装置

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: 14813135

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: 14813135

Country of ref document: EP

Kind code of ref document: A1