CN102694723B - Method and device for scheduling quality of service for variable-length messages - Google Patents

Method and device for scheduling quality of service for variable-length messages Download PDF

Info

Publication number
CN102694723B
CN102694723B CN201210151998.6A CN201210151998A CN102694723B CN 102694723 B CN102694723 B CN 102694723B CN 201210151998 A CN201210151998 A CN 201210151998A CN 102694723 B CN102694723 B CN 102694723B
Authority
CN
China
Prior art keywords
time
message
actual
expected
arrival
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.)
Expired - Fee Related
Application number
CN201210151998.6A
Other languages
Chinese (zh)
Other versions
CN102694723A (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.)
Meng Degang
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210151998.6A priority Critical patent/CN102694723B/en
Publication of CN102694723A publication Critical patent/CN102694723A/en
Application granted granted Critical
Publication of CN102694723B publication Critical patent/CN102694723B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

The invention discloses a method and a device for scheduling quality of service for variable-length messages, which relates to the technical field of communication network and can consume fewer sources when the specification is determined. The scheme comprises the following steps: determining the time intervals of the messages according to the fixed length and configuration bandwidth of the pre-set messages, and scheduling the calculation of the actual transmitting time of next report according to the time intervals; obtaining the actual length of the current received report, and determining the time increment according to the actual length and the time intervals; updating the expected time at which the next report arrives, and transmitting the next report according to the actual transmitting time. The scheme provided by the embodiment of the invention can be applied when the quality of service for variable-length messages is scheduled.

Description

Method and device for scheduling variable-length message flow control service
Technical Field
The present invention relates to the field of communications network technologies, and in particular, to a method and an apparatus for scheduling a variable length message flow control service.
Background
The QOS (Quality Of Service) scheduling method based on time scale adopts a flow control Algorithm GCRA (general Cell Rate Algorithm) in ATM (Asynchronous Transfer Mode) protocol.
The main ideas of GCRA: the ATM cells are fixed length, and the average interval T between the ATM cells can be calculated according to the QOS configuration bandwidth, wherein M is the bandwidth configured according to the QOS, and the fixed length of the ATM cells is 53 bytes. According to the current cell arrival Time Ta (arrival Time, the Time of receiving data before QOS flow control), the arrival Time of the next cell can be accurately calculated according to TAT (TAT is the expected data arrival Time). When Ta is more than or equal to TAT1, the actual flow is lower than the configured bandwidth, the flow is not violated, the sending time of the cell is Ta, namely the cell is immediately forwarded after receiving the signal, and the theoretical arrival time of the next signal is TAT2 which is Ta + T; when Ta is less than TAT1 and Ta is more than TAT1-L, Ta is within a preset cell arrival time tolerance range, no default exists, the cell sending time is Ta, namely the cell is immediately forwarded after receiving a signal, and the theoretical arrival time of the next signal is TAT2 which is TAT1+ T; and when Ta is less than TAT-P, the flow is violated, and the sending time of the cell is delayed to realize the flow smoothing in the sending direction, wherein P is the tolerance value of the cell arrival time, and the theoretical arrival time of the next signal is TAT2 which is TAT1+ T.
When data exists, scheduling is carried out, the scheduling performance depends on the source flow specification, the source flow specification is not influenced by the configured bandwidth, the consumed logistics resources are less, but the GCRA algorithm is suitable for the field of fixed length, and the conventional algorithm cannot support the application of variable length messages. The common length-variable message QOS algorithm can increase the credit periodically according to the configured bandwidth based on the scheduling of the credit leaky bucket, continuously poll the water level of the credit leaky bucket when the scheduling is needed, and allow to send a data message once when the water level of the credit leaky bucket is accumulated to a preset water level threshold.
However, when scheduling is performed by using the scheduling method based on the credit leaky bucket in the prior art, since the scheduling performance is affected by the total configured bandwidth, the total configured bandwidth is often tens of times of the source traffic specification, and thus when the design specification is determined, more resources are consumed by the credit leaky bucket.
Disclosure of Invention
Embodiments of the present invention provide a method and an apparatus for scheduling a variable length message flow control service, which can consume less resources when a design specification is determined.
In order to achieve the above purpose, the embodiment of the invention adopts the following technical scheme:
a method for scheduling variable-length message flow control service includes:
determining the time interval between messages according to the fixed length of a preset message and the configuration bandwidth, and scheduling the calculation of the actual sending time of the next message according to the time interval;
acquiring the actual length of the received current message, and determining a time increment according to the actual length and the time interval;
and updating the expected time of the next message according to the time increment, and sending the next message according to the actual sending time.
An apparatus for scheduling a variable length packet flow control service, comprising:
the calculating unit is used for determining the time interval between the messages according to the preset message fixed length and the configuration bandwidth, and scheduling the calculation of the actual sending time of the next message according to the time interval;
the acquiring unit is used for acquiring the actual length of the received current message;
the calculation unit is further configured to determine a time increment according to the actual length and the time interval;
the updating unit is used for updating the expected time of the next message according to the time increment;
and the sending unit is used for sending the next message according to the actual sending time.
The embodiment of the invention provides a method and a device for scheduling variable-length message flow control service, which determine the time interval between messages according to the fixed length and the configuration bandwidth of a preset message and schedule the calculation of the actual sending time of the next message according to the time interval; acquiring the actual length of the received current message, and determining a time increment according to the actual length and the time interval; and updating the expected time of the next message according to the time increment, and sending the next message according to the actual sending time. Compared with the prior art that when scheduling is performed based on the scheduling method of the credit leaky bucket, due to the fact that scheduling performance is affected by the total bandwidth, the total configured bandwidth is often tens of times of the source flow specification, and therefore when the design specification is determined, resources consumed by the credit leaky bucket are much lower.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is a flowchart of a method for scheduling a variable length message flow control service according to embodiment 1 of the present invention;
fig. 2 is a block diagram of an apparatus for scheduling a variable length message flow control service according to embodiment 1 of the present invention;
fig. 3 is a flowchart of a method for scheduling a variable length message flow control service according to embodiment 2 of the present invention;
fig. 4 is a schematic diagram of a method for scheduling a variable length message flow control service according to embodiment 2 of the present invention;
fig. 5 is a flowchart of another method for scheduling a variable length message traffic control service according to embodiment 2 of the present invention;
fig. 6 is a schematic diagram of calculating an actual sending time for scheduling a next packet according to embodiment 2 of the present invention;
fig. 7 is a schematic diagram of updating the expected time of arrival of the next packet according to embodiment 2 of the present invention;
fig. 8 is a schematic diagram of another method for scheduling a variable length message traffic control service according to embodiment 2 of the present invention;
fig. 9 is a block diagram of an apparatus for scheduling a variable length packet flow control service according to embodiment 2 of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Example 1
An embodiment of the present invention provides a method for scheduling a variable length message flow control service, as shown in fig. 1, where the method includes:
step 101, determining a time interval between messages according to a preset message fixed length and a configuration bandwidth, and scheduling calculation of actual sending time of a next message according to the time interval;
optionally, determining an actual arrival time of the current packet and an expected arrival time of the current packet;
judging whether the actual arrival time of the current message is greater than the sum of the expected arrival time of the current message and a message arrival time tolerance value;
when the actual arrival time of the current message is greater than the sum of the expected arrival time of the current message and the message arrival time tolerance value, determining the actual sending time of the next message as the actual arrival time of the current message;
when the actual arrival time of the current message is not more than the sum of the expected arrival time of the current message and the message arrival time tolerance value, judging whether the actual arrival time of the current message is more than the difference between the expected arrival time of the current message and the message arrival time tolerance value;
when the actual arrival time of the current message is larger than the difference between the expected arrival time of the current message and the message arrival time tolerance value, determining the actual sending time of the next message as the actual arrival time of the current message;
and when the actual arrival time of the current message is not more than the difference between the expected arrival time of the current message and the tolerance value of the message arrival time, determining the actual sending time of the next message as the expected arrival time of the current message.
102, acquiring the actual length of the received current message, and determining a time increment according to the actual length and the time interval;
optionally, a time increment is determined according to X-L2 × T/L1, where X is the time increment, L2 is the actual length of the received current packet, T is the time interval between the determined packets, and L1 is the fixed length of the preset packet.
And 103, updating the expected time of the next message according to the time increment, and sending the next message according to the actual sending time.
Optionally, determining an actual arrival time of the current packet and an expected arrival time of the current packet;
judging whether the expected time of the current message arrival is greater than the actual arrival time;
when the expected time of the current message arrival is greater than the actual arrival time, updating the expected time of the next message arrival to be the sum of the time arrival time and the time increment;
and when the expected time of the arrival of the current message is not more than the actual arrival time, updating the expected time of the arrival of the next message to be the sum of the expected time of the arrival of the current message and the time increment.
The embodiment of the invention provides a method for scheduling variable-length message flow control service, which determines the time interval between messages according to the preset message fixed length and the configuration bandwidth, and schedules the calculation of the actual sending time of the next message according to the time interval; acquiring the actual length of the received current message, and determining a time increment according to the actual length and the time interval; and updating the expected time of the next message according to the time increment, and sending the next message according to the actual sending time. Compared with the prior art that when scheduling is performed based on the scheduling method of the credit leaky bucket, due to the fact that scheduling performance is affected by the total bandwidth, the total configured bandwidth is often tens of times of the source flow specification, and therefore when the design specification is determined, resources consumed by the credit leaky bucket are much lower.
An embodiment of the present invention provides a device for scheduling a variable length message flow control service, as shown in fig. 2, the device includes: a calculation unit 201, an acquisition unit 202, an update unit 203;
a calculating unit 201, configured to determine a time interval between messages according to a preset message fixed length and a configuration bandwidth, and schedule calculation of actual sending time of a next message according to the time interval;
an obtaining unit 202, configured to obtain an actual length of a received current packet and an expected time of arrival of the current packet;
the calculating unit 201 is further configured to determine a time increment according to the actual length and the time interval;
optionally, the computing unit 201 is specifically configured to:
and determining a time increment according to X-L2T/L1, wherein X is the time increment, L2 is the actual length of the received current message, T is the time interval between the determined messages, and L1 is the fixed length of a preset message.
An updating unit 203, configured to update the expected time of arrival of the next packet according to the time increment;
a sending unit 204, configured to send the next packet according to the actual sending time.
The embodiment of the invention provides a device for scheduling variable-length message flow control service, which is characterized in that a computing unit determines the time interval between messages according to the preset fixed length of the messages and the configuration bandwidth and schedules the calculation of the actual sending time of the next message according to the time interval; the obtaining unit obtains the actual length of the received current message, and the calculating unit determines the time increment according to the actual length and the time interval; and the updating unit updates the expected time of the next message according to the time increment, and the sending unit sends the next message according to the actual sending time. Compared with the prior art that when scheduling is performed based on the scheduling method of the credit leaky bucket, due to the fact that scheduling performance is affected by the total bandwidth, the total configured bandwidth is often tens of times of the source flow specification, and therefore when the design specification is determined, resources consumed by the credit leaky bucket are much lower.
Example 2
The embodiment of the invention provides a method for scheduling variable-length message flow control service, and the application scenario of the embodiment is as follows: the calculation of the actual transmission time of the next packet is scheduled to occur synchronously with the updating of the expected time of arrival of the next packet, and the expected time of arrival of the next packet is updated once every time the calculation of the actual transmission time of one packet is scheduled, as shown in fig. 3, the method includes:
step 301, determining a time interval between messages according to a preset message fixed length and a configuration bandwidth, and scheduling calculation of actual sending time of a next message according to the time interval;
optionally, calculating a time interval between the messages according to T-L1 × 8/M, where T is the time interval between the messages, L1 is a preset message fixed length, and M configures a bandwidth;
as shown in fig. 4, the actual arrival time of the current packet is ta (K), K indicates that the current packet is the kth packet, the determined expected arrival time of the current packet is tat (K), and then, it is determined whether ta (K) is greater than [ tat (K) + P ], where P is a packet arrival time tolerance value;
when ta (k) > [ tat (k) + P ], it is described that the actual traffic used when the current message is sent is lower than the configured bandwidth, and the traffic does not need to be limited, and the actual sending time Ts of the next message is ta (k);
when Ta (K) is less than or equal to [ TAT (K) + P ], the actual flow used when the current message is sent is higher than the configuration bandwidth, and at the moment, whether Ta (K) is greater than [ TAT (K) -P ] is continuously judged;
when ta (k) > [ tat (k) — P ], it is described that the actual traffic used when the current message is sent is higher than the configured bandwidth, but a certain amount of bursts are allowed according to the actual situation, so that within the tolerance range, the traffic does not need to be limited at this time, and the actual sending time Ts of the next message is ta (k);
when ta (k) is less than or equal to [ tat (k) -P ], it is described that the actual traffic used when the current packet is sent is higher than the configured bandwidth, the traffic needs to be limited, and the actual sending time Ts of the next packet is tat (k) to achieve the traffic smoothing in the sending direction.
Step 302, obtaining the actual length of the received current message, and determining a time increment according to the actual length and the time interval;
optionally, after receiving the current packet, writing the current packet into a memory, controlling to read and transmit the packet from the memory according to the actual transmission time, after reading the packet from the memory, obtaining the actual length of the current packet, and determining a time increment according to X ═ L2 × T/L1, where X is the time increment, L2 is the actual length of the received current packet, T is the time interval between the determined packets, and L1 is the fixed length of the preset packet.
Step 303, updating the expected time of arrival of the next message according to the time increment;
optionally, as shown in fig. 4, determining an actual arrival time ta (k) of the current packet, where the expected arrival time of the current packet is tat (k);
judging whether Ta (K) is more than [ TAT (K) + P ];
when ta (K) > [ TAT (K) + P ], then TAT (K +1) ═ ta (K) + X;
when Ta (K) is less than or equal to [ TAT (K) + P ], judging whether Ta (K) is more than [ TAT (K) -P ];
when ta (K) > [ TAT (K) -P ], then TAT (K +1) ═ TAT (K) + X;
when ta (K) ≦ [ TAT (K) -P ], then TAT (K +1) ═ TAT (K) + X.
And step 304, sending the next message according to the actual sending time.
The embodiment of the invention provides a method for scheduling variable-length message flow control service, which determines the time interval between messages according to the preset message fixed length and the configuration bandwidth, and schedules the calculation of the actual sending time of the next message according to the time interval; acquiring the actual length of the received current message, and determining a time increment according to the actual length and the time interval; and updating the expected time of the next message according to the time increment, and sending the next message according to the actual sending time. The scheme provided by the embodiment of the invention controls the flow control service scheduling of the variable length message based on the time scale, the scheduling is accurate, the scheduling performance only depends on the source flow specification, the scheduling performance is not influenced by the total bandwidth, and the consumed resources are less while the scheduling performance is met.
The embodiment of the invention provides another method for scheduling variable-length message flow control services, and the application scenarios of the embodiment are as follows: the calculation of the actual sending time of the next message is scheduled to occur asynchronously with the updating of the expected time of the next message arrival, and the expected time of the next message arrival is updated according to the calculated time increment only after the actual length of the current message is obtained, that is, the scheduling can be performed temporarily according to the preset interval during the period that the expected time is not updated, and the scheduling deviation before the actual length of the message is corrected after the actual length of the message is obtained, as shown in fig. 5, the method includes:
step 501, determining a time interval between messages according to a preset message fixed length and a configuration bandwidth, and scheduling calculation of actual sending time of a next message according to the time interval;
as shown in fig. 6, the calculation of the actual sending time for scheduling the next packet is an independent process, and the calculation of the actual sending time is a loop iteration calculation, that is, ts (k) is calculated successively;
it should be noted that, in the embodiment of the present invention, the calculation of the actual sending time is the same as the calculation of the actual sending time in fig. 4, and reference may be specifically made to the calculation of the actual sending time in fig. 4, which is not described in detail herein. It should be noted that, when calculating the actual sending time in fig. 6 and fig. 4, the difference is that the expected time of the current message arrival is tat (k) and tat (j), respectively, that is, fig. 4 shows that the calculation of the actual sending time of the next message is scheduled and the expected time of the next message arrival is updated synchronously, that is, the subscripts of ts (k) and tat (k) are the same; fig. 6 shows that the calculation of the actual transmission time of the next scheduled packet occurs asynchronously with the update of the expected arrival time of the next packet, i.e. the subscripts of ts (k) and tat (j) are different.
Step 502, transmitting the next message according to the actual transmission time of the next message;
at the moment, the time interval between the messages and the actual sending time of the next message are calculated according to the preset message fixed length, the next message is sent according to the actual sending time of the next message, the process is an independent process and is completely asynchronous with the updating of the expected arrival time of the next message, namely the expected arrival time of the next message is not changed by calculating any scheduling before the actual length of the message is not fed back.
The calculation steps of the expected time of the next message arrival at this time are as follows:
determining the actual arrival time Ta (K) of the current message and the expected arrival time TAT (J) of the current message;
judging whether Ta (K) is greater than TAT (J);
when ta (k) > TAT (J), then TAT (J +1) ═ tc (k) + T;
when Ta (K) ≦ TAT (J), TAT (J +1) ═ TAT (J) + T.
Wherein, T is the time interval between messages, Tc (K) is a QOS global accumulation counter, and the uniform flow of the simulation time. Since the calculation of the actual transmission time Ts of the next message is serial, Tc is equivalent to Ta when Ts is updated.
Step 503, obtaining the actual length of the received current message, and determining a time increment according to the actual length and the time interval;
optionally, a time increment is determined according to X-L2 × T/L1, where X is the time increment, L2 is the actual length of the received current packet, T is the time interval between the determined packets, and L1 is the fixed length of the preset packet.
Step 504, updating the expected time of the next message according to the time increment;
optionally, as shown in fig. 7, determining whether Tc is greater than tat (j);
when Tc > TAT (J), then TAT (J +1) ═ Tc + X;
when Tc is not more than TAT (J), TAT (J +1) ═ TAT (J) + X.
If the TAT lags behind the Tc, the sending flow is larger than the configuration bandwidth, and the TAT needs to increase time increment on the basis of the TAT to ensure the accuracy of current limiting; if TAT is earlier than Tc, it shows that the actual flow is lower than the configuration, TAT needs to be updated, time increment is increased or decreased on the basis of Tc, and the flow does not need to be limited;
the time increment of TAT update is X, that is, TAT increment is modified proportionally according to actual length, and longer message indicates larger sending flow, TAT increment should be increased.
As shown in fig. 8, the time of reading the message may be controlled according to Ts and the message may be sent, the expected time of arrival of the next message is updated only after the actual length information of the message is obtained, and then the actual sending time of the next message is recalculated by comparing the actual time Tc of arrival of the next message with the updated expected time TAT of arrival of the next message.
And 505, sending the next message according to the actual sending time.
For example, in the flow control of the existing 1K flows, each flow specification is maximum 1Gbps, and then 1K × 1Gbps — 1Tbps is actually only a configuration specification, the actual total traffic is limited by a physical bandwidth, the actual total traffic is only 10Gbps, and when scheduling is performed by using a leaky bucket credit method in the prior art, the designed total polling capacity needs 1Tbps, so that more parallel processing resources are needed; when the time scale mode provided by the embodiment of the invention is adopted, 1k streams can share one group of scheduling device for pipelining operation, the scheduling capacity is only required to be greater than the actual total traffic of 10Gbps according to the time trigger scheduling event, the designed total performance requirement is greatly reduced, and the resource cost is also reduced.
The embodiment of the invention provides a method for scheduling variable-length message flow control service, which determines the time interval between messages according to the preset message fixed length and the configuration bandwidth, and schedules the calculation of the actual sending time of the next message according to the time interval; acquiring the actual length of the received current message, and determining a time increment according to the actual length and the time interval; and updating the expected time of the next message according to the time increment, and sending the next message according to the actual sending time. The scheme provided by the embodiment of the invention controls the flow control service scheduling of the variable-length message based on the time scale, the scheduling performance only depends on the source flow specification and is not influenced by the total bandwidth, the scheduling period is not influenced by the reading delay of the memory, the scheduling performance can be greatly improved, and when the design specification is determined, the consumed resources are less.
An embodiment of the present invention provides a device for scheduling a variable length message flow control service, as shown in fig. 9, where the device includes: the system comprises a calculation unit 901, a determination module 9011, a first judgment module 9012, a first calculation module 9013, a second judgment module 9014, a second calculation module 9015, an acquisition unit 902, a control unit 903, an update unit 904, a determination module 9041, a judgment module 9042, a first update module 9043, a second update module 9044 and a sending unit 905;
a calculating unit 901, configured to determine a time interval between messages according to a preset message fixed length and a configuration bandwidth, and schedule calculation of actual sending time of a next message according to the time interval;
optionally, the determining module 9011 in the calculating unit 901 is configured to determine an actual arrival time of the current packet;
a first determining module 9012 in the calculating unit 901, configured to determine whether the actual arrival time of the current packet is greater than a sum of an expected arrival time of the current packet and a packet arrival time tolerance value;
when the actual arrival time of the current packet is greater than the sum of the expected arrival time of the current packet and the packet arrival time tolerance value, the first calculation module 9013 in the calculation unit 901 is configured to determine that the actual sending time of the next packet is the actual arrival time of the current packet;
when the actual arrival time of the current packet is not greater than the sum of the expected arrival time of the current packet and the packet arrival time tolerance value, the second determining module 9014 in the calculating unit 901 is configured to determine whether the actual arrival time of the current packet is greater than the difference between the expected arrival time of the current packet and the packet arrival time tolerance value;
when the actual arrival time of the current packet is greater than the difference between the expected arrival time of the current packet and the tolerance value of the packet arrival time, the first calculation module 9013 is further configured to determine the actual sending time of the next packet as the actual arrival time of the current packet;
when the actual arrival time of the current packet is not greater than the difference between the expected arrival time of the current packet and the tolerance value of the packet arrival time, the second calculation module 9015 in the calculation unit 901 is configured to determine that the actual sending time of the next packet is the expected arrival time of the current packet.
An obtaining unit 902, configured to obtain an actual length of a received current packet;
the calculating unit 901 is further configured to determine a time increment according to the actual length and the time interval;
the calculating unit 901 is specifically configured to: and determining a time increment according to X-L2T/L1, wherein X is the time increment, L2 is the actual length of the received current message, T is the time interval between the determined messages, and L1 is the fixed length of a preset message.
It should be noted that the calculation of the actual sending time of the next message is scheduled to occur synchronously with the updating of the expected arrival time of the next message; or, the calculation of the actual sending time of the next message is scheduled to occur asynchronously with the updating of the expected arrival time of the next message;
a control unit 903, configured to update the expected time of arrival of the next packet once every time the calculation of the actual sending time of one packet is scheduled when the calculation of the actual sending time of the next packet is scheduled and the expected time of arrival of the next packet is updated synchronously;
when the calculation of the actual sending time of the next packet is scheduled to occur asynchronously with the updating of the expected time of arrival of the next packet, the control unit 903 is further configured to update the expected time of arrival of the next packet according to the calculated time increment only after the actual length of the current packet is obtained.
An updating unit 904, configured to update the expected time of arrival of the next packet according to the time increment;
optionally, the determining module 9041 in the updating unit 904 is configured to determine an actual arrival time of the current packet and an expected arrival time of the current packet;
a determining module 9042 in the updating unit 804, configured to determine whether the expected time of arrival of the current packet is greater than the actual arrival time or a sum of the expected time of arrival of the current packet and the tolerance value of the arrival time of the packet;
when the expected time of arrival of the current packet is greater than the actual arrival time or the sum of the expected time of arrival of the current packet and the tolerance value of the arrival time of the packet, the first updating module 9043 in the updating unit 904 updates the expected time of arrival of the next packet to be the sum of the time arrival time and the time increment;
when the expected time of arrival of the current packet is not greater than the actual arrival time or the sum of the expected time of arrival of the current packet and the tolerance value of the arrival time of the packet, the second updating module 9044 in the updating unit 904 is configured to update the expected time of arrival of the next packet to be the sum of the expected time of arrival of the current packet and the time increment.
A sending unit 905, configured to send the next packet according to the actual sending time.
The embodiment of the invention provides a device for scheduling variable-length message flow control service, which is characterized in that a computing unit determines the time interval between messages according to the preset fixed length of the messages and the configuration bandwidth and schedules the calculation of the actual sending time of the next message according to the time interval; the obtaining unit obtains the actual length of the received current message, and the calculating unit determines the time increment according to the actual length and the time interval; and the updating unit updates the expected time of the next message according to the time increment, and the sending unit sends the next message according to the actual sending time. The scheme provided by the embodiment of the invention can consume less resources when the design specification is determined.
The above description is only for the specific embodiments of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present invention, and all the changes or substitutions should be covered within the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

Claims (13)

1. A method for scheduling a variable length message flow control service is characterized by comprising the following steps:
determining the time interval between messages according to the fixed length of a preset message and the configuration bandwidth, and scheduling the calculation of the actual sending time of the next message according to the time interval;
acquiring the actual length of the received current message, and determining a time increment according to the actual length and the time interval;
updating the expected time of the next message according to the time increment, and sending the next message according to the actual sending time;
the updating the expected time of arrival of the next packet according to the time increment comprises:
determining the actual arrival time of the current message and the expected arrival time of the current message;
judging whether the actual arrival time is greater than the expected arrival time of the current message or the sum of the expected arrival time of the current message and the tolerance value of the arrival time of the message;
when the actual arrival time is greater than the sum of the actual arrival time of the current message or the sum of the expected arrival time of the current message and the tolerance value of the message arrival time, updating the expected arrival time of the next message to be the sum of the actual arrival time and the time increment;
and when the actual arrival time is not more than the sum of the expected arrival time of the current message or the sum of the expected arrival time of the current message and the tolerance value of the message arrival time, updating the expected arrival time of the next message to be the sum of the expected arrival time of the current message and the time increment.
2. The method of claim 1,
scheduling the calculation of the actual sending time of the next message to synchronously occur with the updating of the expected arrival time of the next message; or,
the calculation of the actual transmission time of the next message is scheduled to occur asynchronously with the updating of the expected time of arrival of the next message.
3. The method of claim 2,
when the calculation of the actual sending time of the next message is scheduled to be synchronous with the updating of the expected time of the next message, the expected time of the next message is updated once every time the calculation of the actual sending time of one message is scheduled.
4. The method of claim 2,
and when the calculation of the actual sending time of the next message is scheduled to occur asynchronously with the updating of the expected time of the next message, updating the expected time of the next message according to the calculated time increment only after the actual length of the current message is obtained.
5. The method according to claim 3 or 4, wherein the scheduling calculation of the actual transmission time of the next packet comprises:
determining the actual arrival time of the current message and the expected arrival time of the current message;
judging whether the actual arrival time of the current message is greater than the sum of the expected arrival time of the current message and a message arrival time tolerance value;
when the actual arrival time of the current message is greater than the sum of the expected arrival time of the current message and the message arrival time tolerance value, determining the actual sending time of the next message as the actual arrival time of the current message;
when the actual arrival time of the current message is not more than the sum of the expected arrival time of the current message and the message arrival time tolerance value, judging whether the actual arrival time of the current message is more than the difference between the expected arrival time of the current message and the message arrival time tolerance value;
when the actual arrival time of the current message is larger than the difference between the expected arrival time of the current message and the message arrival time tolerance value, determining the actual sending time of the next message as the actual arrival time of the current message;
and when the actual arrival time of the current message is not more than the difference between the expected arrival time of the current message and the tolerance value of the message arrival time, determining the actual sending time of the next message as the expected arrival time of the current message.
6. The method according to any of claims 1-4, wherein said determining a time increment based on said actual length and said time interval comprises:
and determining a time increment according to X-L2T/L1, wherein X is the time increment, L2 is the actual length of the received current message, T is the time interval between the determined messages, and L1 is the fixed length of a preset message.
7. The method of claim 5, wherein determining a time increment based on the actual length and the time interval comprises:
and determining a time increment according to X-L2T/L1, wherein X is the time increment, L2 is the actual length of the received current message, T is the time interval between the determined messages, and L1 is the fixed length of a preset message.
8. An apparatus for scheduling a variable length packet flow control service, comprising:
the calculating unit is used for determining the time interval between the messages according to the preset message fixed length and the configuration bandwidth, and scheduling the calculation of the actual sending time of the next message according to the time interval;
the acquiring unit is used for acquiring the actual length of the received current message;
the calculation unit is further configured to determine a time increment according to the actual length and the time interval;
the updating unit is used for updating the expected time of the next message according to the time increment;
a sending unit, configured to send the next packet according to the actual sending time;
the update unit includes:
a determining module, configured to determine an actual arrival time of the current packet and an expected arrival time of the current packet;
the judging module is used for judging whether the expected time of the arrival of the current message is greater than the actual arrival time or the sum of the expected time of the arrival of the current message and the tolerance value of the arrival time of the message;
a first updating module, configured to update the expected time of arrival of the next packet to be a sum of the time arrival time and the time increment when the expected time of arrival of the current packet is greater than the actual arrival time or the sum of the expected time of arrival of the current packet and the tolerance value of the time of arrival of the packet;
and a second updating module, configured to update the expected time of arrival of the next packet to be the sum of the expected time of arrival of the current packet and the time increment, when the expected time of arrival of the current packet is not greater than the actual arrival time or the sum of the expected time of arrival of the current packet and the tolerance value of the arrival time of the packet.
9. The apparatus of claim 8, further comprising:
and the control unit is used for updating the expected time of the next message when the calculation of the actual sending time of the next message is scheduled and the expected time of the next message is updated synchronously.
10. The apparatus of claim 8,
the control unit is further configured to, when the calculation of the actual transmission time of the next packet is scheduled and the updating of the expected time of arrival of the next packet occurs asynchronously, update the expected time of arrival of the next packet according to the calculated time increment only after the actual length of the current packet is obtained.
11. The apparatus according to claim 9 or 10, wherein the calculation unit comprises:
a determining module, configured to determine an actual arrival time of the current packet and an expected arrival time of the current packet;
the first judgment module is used for judging whether the actual arrival time of the current message is greater than the sum of the expected arrival time of the current message and a message arrival time tolerance value;
the first calculation module is used for determining the actual sending time of the next message as the actual arrival time of the current message when the actual arrival time of the current message is greater than the sum of the expected arrival time of the current message and the message arrival time tolerance value;
a second judging module, configured to, when the actual arrival time of the current packet is not greater than the sum of the expected arrival time of the current packet and a packet arrival time tolerance value, judge whether the actual arrival time of the current packet is greater than a difference between the expected arrival time of the current packet and the packet arrival time tolerance value;
the first calculation module is further configured to determine the actual sending time of the next packet as the actual arrival time of the current packet when the actual arrival time of the current packet is greater than the difference between the expected arrival time of the current packet and the packet arrival time tolerance value;
and the second calculation module is used for determining the actual sending time of the next message as the expected arrival time of the current message when the actual arrival time of the current message is not more than the difference between the expected arrival time of the current message and the message arrival time tolerance value.
12. The apparatus according to any one of claims 8-10, wherein the computing unit is specifically configured to:
and determining a time increment according to X-L2T/L1, wherein X is the time increment, L2 is the actual length of the received current message, T is the time interval between the determined messages, and L1 is the fixed length of a preset message.
13. The apparatus according to claim 11, wherein the computing unit is specifically configured to:
and determining a time increment according to X-L2T/L1, wherein X is the time increment, L2 is the actual length of the received current message, T is the time interval between the determined messages, and L1 is the fixed length of a preset message.
CN201210151998.6A 2012-05-16 2012-05-16 Method and device for scheduling quality of service for variable-length messages Expired - Fee Related CN102694723B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210151998.6A CN102694723B (en) 2012-05-16 2012-05-16 Method and device for scheduling quality of service for variable-length messages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210151998.6A CN102694723B (en) 2012-05-16 2012-05-16 Method and device for scheduling quality of service for variable-length messages

Publications (2)

Publication Number Publication Date
CN102694723A CN102694723A (en) 2012-09-26
CN102694723B true CN102694723B (en) 2015-06-03

Family

ID=46860012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210151998.6A Expired - Fee Related CN102694723B (en) 2012-05-16 2012-05-16 Method and device for scheduling quality of service for variable-length messages

Country Status (1)

Country Link
CN (1) CN102694723B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553613A (en) * 2015-12-10 2016-05-04 中国航空工业集团公司西安航空计算技术研究所 Partition time-triggered communication-based data integrity detection method
CN109547414B (en) * 2018-10-29 2021-04-20 中国人民解放军战略支援部队信息工程大学 Fixed-length message format reversing method based on lighting effect
CN110995598B (en) * 2019-11-12 2022-03-04 芯创智(北京)微电子有限公司 Variable-length message data processing method and scheduling device
CN111862494B (en) * 2020-07-15 2021-06-11 深圳市海恒智能科技有限公司 Book borrowing and returning method and system based on face recognition of terminal self-service equipment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6724726B1 (en) * 1999-10-26 2004-04-20 Mitsubishi Denki Kabushiki Kaisha Method of putting a flow of packets of a network for transporting packets of variable length into conformity with a traffic contract
CN1798099A (en) * 2004-12-29 2006-07-05 华为技术有限公司 Method for implementing dynamic speed adjustment for data packets based on logic

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2003053012A1 (en) * 2001-12-14 2005-04-28 古河電気工業株式会社 Policing control method, control device thereof, and network system using the control device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6724726B1 (en) * 1999-10-26 2004-04-20 Mitsubishi Denki Kabushiki Kaisha Method of putting a flow of packets of a network for transporting packets of variable length into conformity with a traffic contract
CN1798099A (en) * 2004-12-29 2006-07-05 华为技术有限公司 Method for implementing dynamic speed adjustment for data packets based on logic

Also Published As

Publication number Publication date
CN102694723A (en) 2012-09-26

Similar Documents

Publication Publication Date Title
CN112751691B (en) Network flow rate limiting method and device, central control equipment and gateway
EP0647081A2 (en) Method and apparatus for controlling congestion in a communication network
CN102694723B (en) Method and device for scheduling quality of service for variable-length messages
US6385168B1 (en) Fair share bandwidth allocation algorithm and device
CN102326364A (en) Communication apparatus, communication system, and band allocating method
CN112311494B (en) Message transmission method, device and system
CN101599905B (en) Method, device and system for realizing addition of traffic shaping token
US9515940B2 (en) Method for transmitting data in a packet-oriented communications network and correspondingly configured user terminal in said communications network
EP0887973A2 (en) Timing reference for scheduling data traffic on multiple ports
US7333436B2 (en) Network device with traffic shaping functions and bandwidth control method using leaky bucket algorithm
US20230051166A1 (en) Delay Sensitive Network Estimation System
CN110972150A (en) Network capacity expansion method and device, electronic equipment and computer storage medium
Soni et al. Optimizing network calculus for switched ethernet network with deficit round robin
EP1560350A2 (en) Radio communication system
CN104869077A (en) Token based method and system for transmission control
CN105050136A (en) Self-adaptive delay-sensing energy-saving method of optical wireless mixed broadband access network
CN101023455A (en) Method and apparatus for network congestion control using queue control and one-way delay measurements
CN116260772A (en) Bridge end-to-end deterministic forwarding method, bridge transmitting end and receiving end
Yan et al. Optimal traffic scheduling in vehicular delay tolerant networks
CN103826265A (en) Data flow division-based wireless sensor network energy saving method
CN110750486A (en) RDMA data stream control method, system, electronic device and readable storage medium
CN103595552A (en) Analysis method and analysis system for cluster storage network parallel load
CN114826427B (en) Optical network receiving terminal
CN103281732B (en) For improving the method for radio sensing network channel efficiency
CN114157660B (en) Method, device, equipment and storage medium for data transmission

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20170601

Address after: 510640 Guangdong City, Tianhe District Province, No. five, road, public education building, unit 371-1, unit 2401

Patentee after: Guangdong Gaohang Intellectual Property Operation Co., Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: Huawei Technologies Co., Ltd.

TR01 Transfer of patent right
CB03 Change of inventor or designer information

Inventor after: Meng Degang

Inventor before: Xu Xiaofeng

Inventor before: Tu Jun

Inventor before: Lei Chun

CB03 Change of inventor or designer information
TR01 Transfer of patent right

Effective date of registration: 20170905

Address after: 063000 Hebei province Tangshan City Caofeidian area Tanghai Xinli District No. 558 light two

Patentee after: Meng Degang

Address before: 510640 Guangdong City, Tianhe District Province, No. five, road, public education building, unit 371-1, unit 2401

Patentee before: Guangdong Gaohang Intellectual Property Operation Co., Ltd.

TR01 Transfer of patent right
CP02 Change in the address of a patent holder

Address after: 541199 Lingui County, Guilin, Lingui County, Lingui Town, Xinglin Road, No. 1, unit 202, Room 202

Patentee after: Meng Degang

Address before: 063000 Hebei province Tangshan City Caofeidian area Tanghai Xinli District No. 558 light two

Patentee before: Meng Degang

CP02 Change in the address of a patent holder
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150603

Termination date: 20180516

CF01 Termination of patent right due to non-payment of annual fee