CN104869079A - Queue scheduling method and device based on dynamic weighted round robin - Google Patents

Queue scheduling method and device based on dynamic weighted round robin Download PDF

Info

Publication number
CN104869079A
CN104869079A CN201510318925.5A CN201510318925A CN104869079A CN 104869079 A CN104869079 A CN 104869079A CN 201510318925 A CN201510318925 A CN 201510318925A CN 104869079 A CN104869079 A CN 104869079A
Authority
CN
China
Prior art keywords
queue
scheduling
weights
threshold value
scheduling weights
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510318925.5A
Other languages
Chinese (zh)
Other versions
CN104869079B (en
Inventor
董志兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Binary Semiconductor Co ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN201510318925.5A priority Critical patent/CN104869079B/en
Publication of CN104869079A publication Critical patent/CN104869079A/en
Application granted granted Critical
Publication of CN104869079B publication Critical patent/CN104869079B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention provides a queue scheduling method based on a dynamic weighted round robin method, which comprises the following steps: setting and storing the scheduling proportion and the scheduling threshold value of each queue; filling corresponding scheduling weight values for each queue according to the scheduling proportion; obtaining the scheduling weight of each non-empty queue to compare the scheduling weight with the scheduling threshold value and selecting the queue to read the data packet according to the comparison result; calculating according to the scheduling weight of the selected queue and the length of the read data packet to update the scheduling weight of the selected queue; and judging whether all queues are empty or whether the scheduling weight of each queue is less than or equal to 0 so as to determine whether to refill the scheduling weight of each queue for scheduling. The method presets a scheduling threshold value and compares the scheduling weight of each queue with the scheduling threshold value to preferentially schedule the queues with the scheduling weights larger than the scheduling threshold value, so that the flow bandwidth distributed by the high-proportion queues is prevented from being smaller than the configuration proportion, and the accuracy of the scheduling proportion is ensured. The invention also provides a scheduling device.

Description

Based on array dispatching method and the device of dynamic weighting round-robin method
Technical field
The present invention relates to the communications field, particularly relate to a kind of array dispatching method based on dynamic weighting round-robin method and device.
Background technology
At present, in data communication field, by the class of business of equipment is various and flow is larger, so all can queue scheduling be used in data communications equipment, dynamic weighting round-robin method (DynamicWeighted Round-Robin, DWRR) array dispatching method be to individual queue according to allocation ratio be each queue increase scheduling weights, take turns in scheduling cyclic process at each, the data packet byte number that each queue is sent is consistent with the scheduling weights of filling, thus arrives the requirement of pro-rata bandwidth.
But, owing to being dispatch queue in turn in the array dispatching method of DWRR, when dispatching device to non-NULL and scheduling weights be positive queue carry out dispatch of taking turns time, the flow bandwidth of the queue assignment of high allocation ratio can be caused to be less than allocation ratio, and when the queue scheduling weights of other low proportional arrangement are for negative or 0, transmit band in a period of time can be there is and be wider than input bandwidth in the queue that scheduling weights are large, under queue spatial cache limited circumstances, cause queue empty's situation, such as, queue a, b, c, the input rate of d is all 120M, the scheduling ratio of DWRR configuration is 1:49:50:100, port speed constraint is 200M, dispatch maximum Bao Changwei 1K, the scheduling weights that then often four queues of wheel scheduling circulation time are filled are respectively 1K, 49K, 50K, 100K, in turn from the non-NULL 4 queues and scheduling weights select a queue to dispatch in being positive queue time, work as a, b, the scheduling weights of c tri-queues are finished the scheduling weights residue 50K of rear queue d, now dispatching device only can be dispatched queue d, input rate due to queue is less than port speed constraint speed, the spatial cache that queue d distributes is limited, thus queue d can be caused empty and namely its scheduling weights residue terminates to take turns schduling cycle, the process of accumulation can cause the scheduling weights of this queue to overflow, the data bandwidth that queue scheduling is sent is less than bandwidth corresponding to allocation ratio and cannot reaches expection bandwidth, thus cause scheduling ratio inaccurate.
Summary of the invention
In view of this, the invention provides a kind of array dispatching method based on dynamic weighting round-robin method and the device that can improve scheduling ratio accuracy.
Based on an array dispatching method for dynamic weighting round-robin method, it is for carrying out the scheduling of queue at dispatching device port, the described array dispatching method based on dynamic weighting round-robin method comprises the following steps:
The scheduling ratio of individual queue and a scheduling threshold value are set and store;
According to the scheduling weights that the scheduling ratio configured is each queue filling correspondence according to need;
Each scheduling weights obtaining non-empty queue when there is non-empty queue select respective queue read data packet according to comparative result to the size of the scheduling weights and described scheduling threshold value that compare individual queue;
According to the scheduling weights of selected queue with the length computation of the corresponding packet read to upgrade the scheduling weights of selected queue;
Judge whether all queues are sky or whether individual queue scheduling weights are all less than or equal to 0 and determine whether to refill the scheduling weights of individual queue to dispatch according to judged result.
A kind of queue scheduling device based on dynamic weighting round-robin method, it is for carrying out the scheduling of queue at dispatching device port, the described queue scheduling device based on dynamic weighting round-robin method comprises a configuration module, a packing module, a judge module, a grouped comparison module, a packet read module and a renewal computing module, described configuration module is dispatched threshold value for the scheduling ratio and arranging individual queue and stores, it is the scheduling weights of each queue filling correspondence according to need that described packing module is used for according to the scheduling ratio of configuration, described judge module is for judging whether there is non-empty queue in individual queue, described grouped comparison module is used for each scheduling weights of the acquisition non-empty queue when there is non-empty queue to the size of the scheduling weights and described scheduling threshold value that compare individual queue, described packet read module is used for selecting corresponding queue read data packet according to comparative result, described renewal computing module be used for according to the scheduling weights of selected queue with the length computation of the corresponding packet read to upgrade the scheduling weights of selected queue, after the scheduling weights upgrading selected queue, described judge module judges whether all queues are sky or whether individual queue scheduling weights are all less than or equal to 0 and determine whether to refill the scheduling weights of individual queue to dispatch according to judged result.
Compared with prior art, array dispatching method based on dynamic weighting round-robin method provided by the invention and device utilize configuration module to pre-set a scheduling threshold value, preferentially be greater than to dispatch threshold value or dispatch weights and be more than or equal to the Priority Queues dispatching threshold value to dispatching weights and dispatch after the scheduling weights that grouped comparison module compares individual queue and the size of scheduling threshold value, the flow bandwidth of the queue assignment of high allocation ratio is avoided to be less than allocation ratio, prevent the queue scheduling weights of high allocation ratio from overflowing, ensure that the accuracy of the queue scheduling ratio of dynamic weighting round-robin method, produce a desired effect to make the bandwidth of queue.
Accompanying drawing explanation
Fig. 1 is the module diagram of the queue scheduling device based on dynamic weighting round-robin method provided by the invention.
Fig. 2 is the flow chart of the array dispatching method that the present invention is based on dynamic weighting round-robin method.
Main element symbol description
Based on the queue scheduling device 100 of DWRR
Configuration module 110
Packing module 120
Radix setting unit 122
Fill computing unit 124
Judge module 130
Grouped comparison module 140
Packet read module 150
Upgrade computing module 160
Following embodiment will further illustrate the present invention in conjunction with above-mentioned accompanying drawing.
Embodiment
Refer to Fig. 1, its one provided for embodiment of the present invention is based on dynamic weighting round-robin method (Dynamic Weighted Round-Robin, DWRR) queue scheduling device 100, it is for carrying out the scheduling of queue at the port of DWRR dispatching device, the described queue scheduling device 100 based on DWRR comprises a configuration module 110, packing module 120, judge module 130, grouped comparison module 140, packet read module 150 and a renewal computing module 160.
Described configuration module 110 is dispatched threshold value for the scheduling ratio and arranging individual queue and stores, in present embodiment, setting four queues a, b, c, d uses DWRR scheduling mode to be mapped to an output port, the scheduling ratio of configuration four queues a, b, c, d is 1:10:20:50, and scheduling threshold settings is 120KB (kilobytes).Be understandable that, scheduling ratio and scheduling threshold value sets itself according to need.
Described packing module 120 comprises a radix setting unit 122 and a filling computing unit 124, described radix setting unit 122 is for determining that is filled a radix value according to need, in present embodiment, for convenience of the process of circuit, the filling radix value determined is one and is greater than the long smallest positive integral value of maximum bag, as the maximum Bao Changwei 1518B (Byte) of Ethernet, then determine that filling radix value is 2K, thus ensure that often each queue of wheel scheduling can dispatch a packet.Described filling computing unit 124 is for being multiplied by determined filling radix value respectively to obtain the scheduling weights of each queue according to the scheduling ratio of configuration module 110 pairs of individual queue configurations.In present embodiment, the scheduling weights of queue a, b, c, d are respectively 1 × 2K, 10 × 2K, 20 × 2K, 50 × 2K, are namely respectively 2K, 20K, 40K, 100K.
Described judge module 130 is for judging that whether the transmission rate that whether there is non-empty queue and port in individual queue is normal, if there is not non-empty queue in queue and the abnormal i.e. port transmission rate of the transmission rate of port not within the scope of normal speed limit time, dispatching device 100 can be in wait state until port transmission rate meets the speed limit scope of port and there is non-empty queue.Be understandable that, judge module 130 can record the queue number of non-empty queue after judging to there is non-empty queue.In present embodiment, judge that port speed constraint uses the mode of single token bucket to realize, represent that when the token of token bucket is positive number port transmission rate is in normal range (NR), without any representing during element that queue is empty queue in queue, as judged whether queue is non-NULL according to the flag bit etc. in the pointer end to end of queue or gauge outfit.
From packing module 120, the scheduling weights of individual queue in corresponding non-empty queue are obtained when described grouped comparison module 140 is for judging to there is non-empty queue in queue at judge module 130, and the size of the scheduling weights of more each non-empty queue and set scheduling threshold value, be understandable that, grouped comparison module 140 obtains the scheduling weights of corresponding queue according to the non-empty queue number that judge module 130 records from packing module.In present embodiment, the scheduling weights of individual queue and the magnitude relationship of scheduling threshold value are divided into dispatches weights and is more than or equal to the Priority Queues of dispatching threshold value and dispatches weights and be less than the queue of dispatching threshold value.Be understandable that, the scheduling weights of individual queue and the magnitude relationship of scheduling threshold value also can be divided into dispatches weights and is greater than the Priority Queues of dispatching threshold value and dispatches weights and be less than or equal to the queue of dispatching threshold value.
In present embodiment, when relatively individual queue dispatches weights and configured threshold value, the weights index signal of 4 bits is used to represent whether queue scheduling weights are greater than configured threshold value, as when the scheduling weights of queue are greater than configured threshold value, index signal corresponding bit is set to 1, otherwise is set to 0.
The packet of described packet read module 150 for selecting corresponding queue to read queue according to the comparative result of grouped comparison module 140, namely after grouped comparison module 140 judges Priority Queues, packet read module 150 first selects a queue read data packet from Priority Queues, in present embodiment, when grouped comparison module 140 judges that there are scheduling weights is more than or equal to the Priority Queues of scheduling threshold value, when namely judging that instruction weights signal is the queue of 1, packet read module 150 is first more than or equal to the Priority Queues of scheduling threshold value from scheduling weights selects a queue read data packet, grouped comparison module 140 more do not exist scheduling weights be more than or equal to scheduling threshold value Priority Queues time, namely the scheduling weights of each non-empty queue are less than scheduling threshold value, packet read module 150 is select a queue read data packet each non-empty queue of 0 from instruction weights.
Be understandable that, if when grouped comparison module 140 judges that there are scheduling weights is greater than the Priority Queues of scheduling threshold value, then packet read module 150 is first greater than a selection queue read data packet the Priority Queues of scheduling threshold value from scheduling weights, if grouped comparison module 140 more do not exist scheduling weights be greater than scheduling threshold value Priority Queues time, namely the scheduling weights of each non-empty queue are less than or equal to scheduling threshold value, then packet read module 150 selects a queue read data packet from the queue being less than or equal to scheduling threshold value.
Described renewal computing module 160 for the scheduling weights of selected queue are deducted the corresponding packet read length after calculate selected queue upgrade after scheduling weights, upgrade the value as current comparison after also namely deducting the physical length of the packet of selection with the scheduling weights of queue.Such as, the scheduling weights of selected queue are 2K, the Bao Changwei 1536B of the packet that selected queue reads, then the scheduling weights of selected queue will be updated to 2KB-1536B=2 × 1024B-1536B=512B, dispatch weights with byte (Byte) for unit.
After the scheduling weights of selected queue are carried out calculating renewal by renewal computing module 160, judge module 130 will judge whether all queues are empty queue or whether individual queue scheduling weights are all less than or equal to 0 and determine whether to refill the scheduling weights of individual queue to dispatch according to judged result, when the scheduling weights that even all queues are empty queue or individual queue are less than or equal to 0 (≤0), epicycle finishing scheduling, packing module 120 is carry out next round scheduling after individual queue fills scheduling weights according to allocation ratio, if all queues for the scheduling weights of empty queue or individual queue be greater than 0 time, whether judge module 130 is dispatched to continue epicycle after normal for the transmission rate again judging whether to exist in individual queue non-empty queue and port.
Refer to Fig. 2, the flow chart of its a kind of array dispatching method based on dynamic weighting round-robin method provided for embodiment of the present invention, it is for carrying out the scheduling of queue at dispatching device port, the described array dispatching method based on dynamic weighting round-robin method comprises the following steps:
S110: the scheduling ratio of individual queue and a scheduling threshold value are set and store;
S120: the scheduling weights according to the scheduling ratio configured being each queue filling correspondence according to need;
S130: judge that port transmission rate is whether normal and judge whether to there is non-empty queue, if so, then entering step S140, if not, then waits for until port transmission rate is normal and enter step S140 after there is non-empty queue;
S140: more whether there is the Priority Queues that scheduling weights are more than or equal to scheduling threshold value, if so, then enter step S150, if not, then enter step S160.
S150: be more than or equal to the Priority Queues of scheduling threshold value from scheduling weights and select a queue to dispatch;
S160: be less than the queue of scheduling threshold value from scheduling weights and select a queue to dispatch;
S170: according to selected queue read data packet;
S180: according to the scheduling weights of selected queue with the length computation of the corresponding packet read to upgrade the scheduling weights of selected queue;
S190: judge whether all queues are sky or whether individual queue scheduling weights are all less than or equal to 0, if so, then return step S120, if not, then return step S130.
In step s 110, utilize configuration module 110 arrange the scheduling ratio of individual queue and a scheduling threshold value and store, in present embodiment, the scheduling ratio of configuration four queues a, b, c, d is 1:10:20:50, and scheduling threshold settings is 120KB.
Comprise the following steps in the step s 120:
A S121: determine that is filled a radix value according to need;
S122: the scheduling ratio according to individual queue configuration is multiplied by determined filling radix value respectively to obtain the scheduling weights of each queue.
In step S121, is filled a radix value to utilize radix setting unit 122 to determine according to need, and in present embodiment, the filling radix value determined is one and is greater than the long smallest positive integral value of maximum bag, as the maximum Bao Changwei 1518B of Ethernet, then determine that filling radix value is 2K.
In step S122, filling computing unit 124 is utilized to be multiplied by determined filling radix value respectively to obtain the scheduling weights of each queue according to the scheduling ratio of configuration module 110 pairs of individual queue configurations.In present embodiment, as queue a, b, c, d residue scheduling weights be respectively-1K, 0,10K, 40K, the scheduling ratio of four queues a, b, c, d is 1:10:20:50, filling radix value is 2K, then the scheduling weights of queue a, b, c, d are respectively 1K, 20K, 50K, 140K after refilling.
In step s 130, which, whether the transmission rate that whether there is non-empty queue and port in individual queue is normal to utilize judge module 130 to judge, if there is not non-empty queue in queue and the abnormal i.e. port transmission rate of the transmission rate of port not within the scope of normal speed limit time, dispatching device 100 can be in wait state until port transmission rate meets the speed limit scope of port and there is non-empty queue.
In step S140, utilize grouped comparison module 140 more whether to there are scheduling weights and be more than or equal to the Priority Queues dispatching threshold value, when there is the queue being greater than or less than scheduling threshold value in the scheduling weights occurring individual queue, all queues divide in order to two groups by grouped comparison module 140, wherein the scheduling weights of one group of Priority Queues are more than or equal to scheduling threshold value, and another scheduling weights of forming a team to arrange are less than scheduling threshold value.In present embodiment, the scheduling weights of queue a, b, c are respectively 1K, 20K, 50K, all be less than scheduling threshold value 120K, the scheduling weights of d queue are 140K, and be greater than scheduling threshold value 120K, namely four queues are divided into two groups, one group is queue a, b, c, weights index signal is 0, and another group is queue d, and weights index signal is 1.
Be understandable that, two set of queue can also be divided into the scheduling weights of one group of Priority Queues to be greater than scheduling threshold value by grouped comparison module 140, another scheduling weights of forming a team to arrange are less than or equal to scheduling threshold value, can determine to dispatch weights according to actual needs and dispatch the equal queue of threshold value whether priority scheduling.
In step S150, judge to exist when scheduling weights are more than or equal to the Priority Queues of scheduling threshold value in grouped comparison module 140 selects a queue to dispatch from Priority Queues, in present embodiment, the scheduling weights of queue d are greater than scheduling threshold value, then can select priority scheduling queue d according to the weights index signal 1 of queue d.Be understandable that, from Priority Queues, select a queue to dispatch during scheduling next time in turn, even Priority Queues comprises two queues, then this scheduling queue, another queue of dispatch of taking turns during scheduling next time.
In step S160, grouped comparison module 140 more do not exist scheduling weights be more than or equal to scheduling threshold value Priority Queues time at random from scheduling weights be less than scheduling threshold value queue select a queue dispatch.Be understandable that, be less than the queue of scheduling threshold value from scheduling weights in turn during scheduling next time and select a queue to dispatch, even non-empty queue comprises two queues, then this scheduling queue, another queue of dispatch of taking turns during scheduling next time.
In step S170, packet read module 150 is utilized to select corresponding queue to read a packet of queue, in present embodiment, if when grouped comparison module 140 judges that there are scheduling weights is more than or equal to the Priority Queues of scheduling threshold value, then select a queue read data packet in the first Priority Queues of packet read module 150, namely packet read module 150 selects according to the weights index signal 1 of queue d the packet reading queue d.
Be understandable that, if grouped comparison module 140 more do not exist scheduling weights be more than or equal to scheduling threshold value Priority Queues time, namely the scheduling weights of each non-empty queue are less than scheduling threshold value, then packet read module 150 is less than Stochastic choice queue read data packet the queue of scheduling threshold value from scheduling weights.
In step S180, after utilizing renewal computing module 160 the scheduling weights of selected queue to be deducted the length of the corresponding packet read, obtain the scheduling weights after selected queue renewal.Such as, the scheduling weights of selected queue are 2K, the Bao Changwei 1536B of the packet that selected queue reads, then the scheduling weights of selected queue will be updated to 2KB-1536B=2 × 1024B-1536B=512B, dispatch weights with byte (Byte) for unit.
In step S190, whether all queues are empty queue or whether individual queue scheduling weights are all less than or equal to 0 to utilize judge module 130 to judge, if when the scheduling weights that all queues are empty queue or individual queue are less than or equal to 0 (≤0), then epicycle finishing scheduling, return step S120, namely packing module 120 is again for individual queue carries out next round scheduling according to after allocation ratio filling scheduling weights.If when judge module 130 judges all queues not as empty queue, return step S130 to continue to judge that port transmission rate continues epicycle scheduling after whether normal, if when judge module 130 judges that the scheduling weights of individual queue are greater than 0, return transmission rate that step S130 continues to judge whether to exist in individual queue non-empty queue and port whether normal after dispatch to continue epicycle.
In queue scheduling device 100 based on dynamic weighting round-robin method provided by the invention and method, configuration module 110 is utilized to pre-set a scheduling threshold value, preferentially be greater than to dispatch threshold value or dispatch weights and be more than or equal to the Priority Queues dispatching threshold value to dispatching weights and dispatch after the scheduling weights that grouped comparison module 140 compares individual queue and the size of scheduling threshold value, the flow bandwidth of the queue assignment of high allocation ratio is avoided to be less than allocation ratio, prevent the queue scheduling weights of high allocation ratio from overflowing, ensure that the accuracy of the scheduling ratio of DWRR queue, produce a desired effect to make the bandwidth of queue.
Be understandable that, for the person of ordinary skill of the art, other various corresponding change and distortion can be made by technical conceive according to the present invention, and all these change the protection range that all should belong to the claims in the present invention with distortion.

Claims (10)

1., based on an array dispatching method for dynamic weighting round-robin method, it is for carrying out the scheduling of queue at dispatching device port, the described array dispatching method based on dynamic weighting round-robin method comprises the following steps:
The scheduling ratio of individual queue and a scheduling threshold value are set and store;
According to the scheduling weights that the scheduling ratio configured is each queue filling correspondence according to need;
Each scheduling weights obtaining non-empty queue when there is non-empty queue select respective queue read data packet according to comparative result to the size of the scheduling weights and described scheduling threshold value that compare individual queue;
According to the scheduling weights of selected queue with the length computation of the corresponding packet read to upgrade the scheduling weights of selected queue;
Judge whether all queues are sky or whether individual queue scheduling weights are all less than or equal to 0 and determine whether to refill the scheduling weights of individual queue to dispatch according to judged result.
2. as claimed in claim 1 based on the array dispatching method of dynamic weighting round-robin method, it is characterized in that, comprise the following steps in the step for individual queue filling scheduling weights:
Determine that is filled a radix value according to need;
Scheduling ratio according to individual queue configuration is multiplied by determined filling radix value respectively to obtain the scheduling weights of each queue.
3. as claimed in claim 1 based on the array dispatching method of dynamic weighting round-robin method, it is characterized in that, comprise the following steps in the step of scheduling weights upgrading selected queue:
The scheduling weights after selected queue renewal are obtained after the scheduling weights of selected queue being deducted the length of the corresponding packet read.
4. as claimed in claim 1 based on the array dispatching method of dynamic weighting round-robin method, it is characterized in that, comprise the following steps in scheduling weights and the size step of scheduling threshold value of relatively individual queue:
More whether there is the Priority Queues that scheduling weights are more than or equal to described scheduling threshold value, if so, then first from Priority Queues, select a queue read data packet, if not, then from non-empty queue, select a queue read data packet.
5. as claimed in claim 1 based on the array dispatching method of dynamic weighting round-robin method, it is characterized in that, comprise the following steps in scheduling weights and the size step of scheduling threshold value of relatively individual queue:
More whether there is the Priority Queues that scheduling weights are greater than described scheduling threshold value, if, then first from Priority Queues, select a queue read data packet, if not, be then less than or equal to the queue of described scheduling threshold value from scheduling weights and select a queue read data packet.
6., as claimed in claim 1 based on the array dispatching method of dynamic weighting round-robin method, it is characterized in that, fill scheduling weights with compare dispatch weights step between further comprising the steps of:
Judge that port transmission rate is whether normal and judge whether to there is non-empty queue.
7., based on a queue scheduling device for dynamic weighting round-robin method, it is for carrying out the scheduling of queue at dispatching device port, the described queue scheduling device based on dynamic weighting round-robin method comprises:
A configuration module, dispatches threshold value for the scheduling ratio and arranging individual queue and stores;
A packing module, for according to the scheduling ratio configured being the scheduling weights of each queue filling correspondence according to need;
A judge module, for judging whether there is non-empty queue in individual queue;
A grouped comparison module, for obtaining each scheduling weights of non-empty queue to the size of the scheduling weights and described scheduling threshold value that compare individual queue when there is non-empty queue;
A packet read module, for selecting corresponding queue read data packet according to comparative result;
One upgrade computing module, for according to the scheduling weights of selected queue with the length computation of the corresponding packet read to upgrade the scheduling weights of selected queue;
After the scheduling weights upgrading selected queue, described judge module judges whether all queues are sky or whether individual queue scheduling weights are all less than or equal to 0 and determine whether to refill the scheduling weights of individual queue to dispatch according to judged result.
8. as claimed in claim 7 based on the queue scheduling device of dynamic weighting round-robin method, it is characterized in that, described packing module comprises a radix setting unit and a filling computing unit, described radix setting unit is used for determining that is filled a radix value according to need, and described filling computing unit is used for being multiplied by determined filling radix value respectively to obtain the scheduling weights of each queue according to the scheduling ratio of individual queue configuration.
9. as claimed in claim 7 based on the queue scheduling device of dynamic weighting round-robin method, it is characterized in that, more described grouped comparison module exists the Priority Queues that scheduling weights are more than or equal to described scheduling threshold value, if, then described packet read module first selects a queue read data packet from Priority Queues, if not, then described packet read module selects a queue read data packet from non-empty queue.
10. as claimed in claim 7 based on the queue scheduling device of dynamic weighting round-robin method, it is characterized in that, more described grouped comparison module exists the Priority Queues that scheduling weights are greater than described scheduling threshold value, if, then described packet read module first selects a queue read data packet from Priority Queues, if not, then described packet read module is less than or equal to a selection queue read data packet the queue of described scheduling threshold value from scheduling weights.
CN201510318925.5A 2015-06-11 2015-06-11 Array dispatching method and device based on dynamic weighting round-robin method Active CN104869079B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510318925.5A CN104869079B (en) 2015-06-11 2015-06-11 Array dispatching method and device based on dynamic weighting round-robin method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510318925.5A CN104869079B (en) 2015-06-11 2015-06-11 Array dispatching method and device based on dynamic weighting round-robin method

Publications (2)

Publication Number Publication Date
CN104869079A true CN104869079A (en) 2015-08-26
CN104869079B CN104869079B (en) 2018-03-20

Family

ID=53914609

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510318925.5A Active CN104869079B (en) 2015-06-11 2015-06-11 Array dispatching method and device based on dynamic weighting round-robin method

Country Status (1)

Country Link
CN (1) CN104869079B (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106533982A (en) * 2016-11-14 2017-03-22 西安电子科技大学 Dynamic queue scheduling device and method based on bandwidth borrowing
CN107185222A (en) * 2017-05-27 2017-09-22 竞技世界(北京)网络技术有限公司 Cards game head is the determination method and device of power
CN107835137A (en) * 2017-10-20 2018-03-23 深圳市楠菲微电子有限公司 Output port for interchanger dispatches system and the interchanger
CN108521343A (en) * 2018-03-26 2018-09-11 烽火通信科技股份有限公司 A kind of processing method and processing device of OAM message
CN113315720A (en) * 2021-04-23 2021-08-27 深圳震有科技股份有限公司 Data flow control method, system and equipment
CN113486042A (en) * 2021-08-11 2021-10-08 腾讯科技(上海)有限公司 Data processing method and device, computer readable medium and electronic equipment
CN116521234A (en) * 2023-06-09 2023-08-01 芯动微电子科技(珠海)有限公司 Method and device for polling and scheduling processor pipeline instructions
CN116560842A (en) * 2023-05-12 2023-08-08 无锡众星微系统技术有限公司 I/O queue scheduling method in SAS storage service

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1111858A2 (en) * 1999-12-22 2001-06-27 Alcatel USA Sourcing, L.P. A weighted round robin scheduling engine
WO2002009358A2 (en) * 2000-07-26 2002-01-31 Santera Systems, Inc. Method of active dynamic resource assignment in a telecommunications network
US6438135B1 (en) * 1999-10-21 2002-08-20 Advanced Micro Devices, Inc. Dynamic weighted round robin queuing
US6470016B1 (en) * 1999-02-09 2002-10-22 Nortel Networks Limited Servicing output queues dynamically according to bandwidth allocation in a frame environment
CN101026558A (en) * 2007-01-18 2007-08-29 华为技术有限公司 Method and device for realizing mass port backpressure
CN101964758A (en) * 2010-11-05 2011-02-02 南京邮电大学 Differentiated service-based queue scheduling method
US20110149977A1 (en) * 2009-12-17 2011-06-23 Juniper Networks, Inc. Avoiding unfair advantage in weighted round robin (wrr) scheduling
CN102231697A (en) * 2011-06-17 2011-11-02 瑞斯康达科技发展股份有限公司 Bandwidth dispatching method of message queues as well as message reporting method and device
CN103873383A (en) * 2012-12-12 2014-06-18 中国移动通信集团上海有限公司 Queue scheduling method and device
CN103888379A (en) * 2013-12-03 2014-06-25 江苏达科信息科技有限公司 Improved queue scheduling algorithm based on trusted scheduling

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6470016B1 (en) * 1999-02-09 2002-10-22 Nortel Networks Limited Servicing output queues dynamically according to bandwidth allocation in a frame environment
US6438135B1 (en) * 1999-10-21 2002-08-20 Advanced Micro Devices, Inc. Dynamic weighted round robin queuing
EP1111858A2 (en) * 1999-12-22 2001-06-27 Alcatel USA Sourcing, L.P. A weighted round robin scheduling engine
WO2002009358A2 (en) * 2000-07-26 2002-01-31 Santera Systems, Inc. Method of active dynamic resource assignment in a telecommunications network
CN101026558A (en) * 2007-01-18 2007-08-29 华为技术有限公司 Method and device for realizing mass port backpressure
US20110149977A1 (en) * 2009-12-17 2011-06-23 Juniper Networks, Inc. Avoiding unfair advantage in weighted round robin (wrr) scheduling
CN101964758A (en) * 2010-11-05 2011-02-02 南京邮电大学 Differentiated service-based queue scheduling method
CN102231697A (en) * 2011-06-17 2011-11-02 瑞斯康达科技发展股份有限公司 Bandwidth dispatching method of message queues as well as message reporting method and device
CN103873383A (en) * 2012-12-12 2014-06-18 中国移动通信集团上海有限公司 Queue scheduling method and device
CN103888379A (en) * 2013-12-03 2014-06-25 江苏达科信息科技有限公司 Improved queue scheduling algorithm based on trusted scheduling

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHRISTOFOROS KACHRIS 等: "A Dynamically Reconfigurable Queue Scheduler", 《IEEE》 *
SOKO DIVANOVIC 等: "Dynamic Weighted Round Robin in Crosspoint Queued Switch", 《IEEE》 *
李静: "基于区分服务的队列调度技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106533982A (en) * 2016-11-14 2017-03-22 西安电子科技大学 Dynamic queue scheduling device and method based on bandwidth borrowing
CN106533982B (en) * 2016-11-14 2019-05-21 西安电子科技大学 The dynamic queue's dispatching device and method borrowed based on bandwidth
CN107185222A (en) * 2017-05-27 2017-09-22 竞技世界(北京)网络技术有限公司 Cards game head is the determination method and device of power
CN107185222B (en) * 2017-05-27 2018-04-24 竞技世界(北京)网络技术有限公司 Cards game head is the definite method and device of power
CN107835137A (en) * 2017-10-20 2018-03-23 深圳市楠菲微电子有限公司 Output port for interchanger dispatches system and the interchanger
CN108521343A (en) * 2018-03-26 2018-09-11 烽火通信科技股份有限公司 A kind of processing method and processing device of OAM message
CN113315720A (en) * 2021-04-23 2021-08-27 深圳震有科技股份有限公司 Data flow control method, system and equipment
CN113486042A (en) * 2021-08-11 2021-10-08 腾讯科技(上海)有限公司 Data processing method and device, computer readable medium and electronic equipment
CN113486042B (en) * 2021-08-11 2024-03-08 腾讯科技(上海)有限公司 Data processing method, device, computer readable medium and electronic equipment
CN116560842A (en) * 2023-05-12 2023-08-08 无锡众星微系统技术有限公司 I/O queue scheduling method in SAS storage service
CN116560842B (en) * 2023-05-12 2024-04-16 无锡众星微系统技术有限公司 I/O queue scheduling method in SAS storage service
CN116521234A (en) * 2023-06-09 2023-08-01 芯动微电子科技(珠海)有限公司 Method and device for polling and scheduling processor pipeline instructions
CN116521234B (en) * 2023-06-09 2023-12-01 芯动微电子科技(珠海)有限公司 Method and device for polling and scheduling processor pipeline instructions

Also Published As

Publication number Publication date
CN104869079B (en) 2018-03-20

Similar Documents

Publication Publication Date Title
CN104869079A (en) Queue scheduling method and device based on dynamic weighted round robin
US8391139B2 (en) Dynamic load balancing using quality/loading bands
CN105512060B (en) Input/output circuitry and data transfer control method
US7415477B2 (en) Method and apparatus for allocating link bandwidth
CN102457571B (en) Method for uniformly distributing data in cloud storage
CN103326953A (en) Flow limiting method and device based on token buckets
TWI261440B (en) Priority queuing method and apparatus
CN103259694B (en) Space-efficient counter for the network equipment
CN110149282B (en) Traffic scheduling method and device
CN104580008A (en) Method and device for improving multi-queue random message discarding accuracy based on hardware
CN108259375B (en) Method and device for realizing dynamic load sharing of queue level
CN1669276B (en) Method for and system for controlling bandwidth allocation
CN108848040B (en) Message sending method, device and computer readable storage medium
CN103078806B (en) A kind of load balance scheduling algorithm based on Q value method
CN107317769A (en) A kind of source bag dispatching method based on orderly priority query
Balogh et al. Average bandwidth allocation model of WFQ
CN107562670B (en) Method and device for transmitting data by using serial port
CN102594670A (en) Multiport multi-flow scheduling method, device and equipment
CN106874009B (en) Network layer ICD packaging method and device
CN106407140B (en) Data processing method and device
JP4806716B2 (en) Communication quality control apparatus and communication quality control method
CN105512090B (en) The method for organizing of data buffering in a kind of network node based on FPGA
KR20150074391A (en) Method for setting capacity of buffer
CN114793216B (en) Token management and information sending method and device, electronic equipment and storage medium
US10742710B2 (en) Hierarchal maximum information rate enforcement

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170607

Address after: 430074, Hubei Wuhan East Lake Development Zone, Kanto Industrial Park, beacon Road, optical communications building, industrial building, two floor

Applicant after: Wuhan flying Microelectronics Technology Co., Ltd.

Address before: 430074 East Lake Development Zone, Hubei, Optics Valley Venture Street, No. 67, No.

Applicant before: Fenghuo Communication Science &. Technology Co., Ltd.

TA01 Transfer of patent application right

Effective date of registration: 20170809

Address after: 430000 East Lake high tech Development Zone, Hubei Province, No. 6, No., high and new technology development zone, No. four

Applicant after: Fenghuo Communication Science &. Technology Co., Ltd.

Applicant after: Wuhan flying Microelectronics Technology Co., Ltd.

Address before: 430074, Hubei Wuhan East Lake Development Zone, Kanto Industrial Park, beacon Road, optical communications building, industrial building, two floor

Applicant before: Wuhan flying Microelectronics Technology Co., Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210726

Address after: 430074 second floor, optical communication building, Fenghuo Road, Guandong Industrial Park, Donghu Development Zone, Wuhan City, Hubei Province

Patentee after: WUHAN FISILINK MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Address before: 430000 No. 6, High-tech Fourth Road, Donghu High-tech Development Zone, Wuhan City, Hubei Province

Patentee before: FIBERHOME TELECOMMUNICATION TECHNOLOGIES Co.,Ltd.

Patentee before: WUHAN FISILINK MICROELECTRONICS TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220526

Address after: 430000 Room 403, 4th floor, Optics Valley Science and technology building, No. 770, Gaoxin Avenue, Wuhan East Lake New Technology Development Zone, Wuhan City, Hubei Province kjdsa2022006 (Wuhan area of the free trade zone)

Patentee after: Wuhan binary semiconductor Co.,Ltd.

Address before: 430074 second floor, optical communication building, Fenghuo Road, Guandong Industrial Park, Donghu Development Zone, Wuhan City, Hubei Province

Patentee before: WUHAN FISILINK MICROELECTRONICS TECHNOLOGY Co.,Ltd.