CN107733812B - Data packet scheduling method, device and equipment - Google Patents

Data packet scheduling method, device and equipment Download PDF

Info

Publication number
CN107733812B
CN107733812B CN201711065673.5A CN201711065673A CN107733812B CN 107733812 B CN107733812 B CN 107733812B CN 201711065673 A CN201711065673 A CN 201711065673A CN 107733812 B CN107733812 B CN 107733812B
Authority
CN
China
Prior art keywords
data packet
network node
sending
sending queue
feedback information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711065673.5A
Other languages
Chinese (zh)
Other versions
CN107733812A (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.)
Neusoft Corp
Original Assignee
Neusoft Corp
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 Neusoft Corp filed Critical Neusoft Corp
Priority to CN201711065673.5A priority Critical patent/CN107733812B/en
Publication of CN107733812A publication Critical patent/CN107733812A/en
Application granted granted Critical
Publication of CN107733812B publication Critical patent/CN107733812B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits

Abstract

The invention discloses a method, a device and equipment for scheduling data packets, wherein the method comprises the following steps: after receiving a data packet from a second network node, a first network node inserts the data packet into a corresponding first sending queue and acquires the current length of the first sending queue; and the first network node judges whether the current length exceeds a preset threshold value, and if so, the first network node sends first feedback information to the second network node so that the second network node suspends sending the data packet in a second sending queue corresponding to the data packet. According to the invention, the first network node sends the first feedback information to the second network node, so that the phenomenon that the first network node loses packets due to the fact that the second network node continues to send data packets can be avoided.

Description

Data packet scheduling method, device and equipment
Technical Field
The present application relates to the field of data processing, and in particular, to a method, an apparatus, and a device for scheduling data packets.
Background
At present, a conventional data packet scheduling method is that a network node, after receiving a data packet sent by a previous-stage network node, determines whether a corresponding sending queue is full, if not, the data packet is inserted into the corresponding sending queue, and if the corresponding sending queue is full, the data packet is directly discarded.
Once the corresponding transmission queue in the network node is full, the data packet from the previous-stage network node is continuously discarded, resulting in a large amount of packet loss.
Disclosure of Invention
The invention provides a data packet scheduling method, a data packet scheduling device and data packet scheduling equipment, which can avoid the phenomenon of generating a large amount of packet loss.
In a first aspect, the present invention provides a method for scheduling a data packet, where the method includes:
after receiving a data packet from a second network node, a first network node inserts the data packet into a corresponding first sending queue and acquires the current length of the first sending queue;
and the first network node judges whether the current length exceeds a preset threshold value, and if so, the first network node sends first feedback information to the second network node so that the second network node suspends sending the data packet in a second sending queue corresponding to the data packet.
Optionally, the method further includes:
after determining that the current length exceeds a preset threshold value, the first network node marks a preset mark for the data packet;
and when the first network node sends the data packet carrying the preset mark, sending second feedback information to the second network node so that the second network node starts to send the data packet in the second sending queue.
In a second aspect, the present invention provides a method for scheduling data packets, where the method includes:
a second network node receives first feedback information from the first network node, wherein the first feedback information carries information of any data packet;
and the second network node suspends the sending of the data packet in the second sending queue corresponding to the data packet according to the first feedback information.
Optionally, the method further includes:
and when the second network node receives second feedback information from the first network node, starting to transmit the data packet in the second transmission queue.
Optionally, the first feedback information and the second feedback information both carry five-tuple information and a sequence number of the data packet;
the second network node suspends sending the data packet in the second sending queue corresponding to the data packet according to the first feedback information, and the method includes the following steps:
the second network node determines a second sending queue corresponding to the data packet according to the quintuple information of the data packet carried by the first feedback information;
the second network node inserts a preset data packet carrying the sequence number into the second sending queue, wherein the sending of the data packet is suspended when the preset data packet is processed;
correspondingly, when the second network node receives the second feedback information from the first network node, the starting to transmit the data packet in the second transmit queue includes:
the second network node determines a second sending queue corresponding to the data packet according to the quintuple information of the data packet carried by the second feedback information;
and the second network node deletes the preset data packet carrying the sequence number in the second sending queue so as to facilitate the data packet in the second sending queue to be sent continuously.
Optionally, the preset data packet is an empty packet.
In a third aspect, the present invention further provides a packet scheduling apparatus, where the apparatus includes:
the device comprises an inserting module, a sending module and a receiving module, wherein the inserting module is used for inserting a data packet into a corresponding first sending queue after receiving the data packet from a second network node;
an obtaining module, configured to obtain a current length of the first sending queue;
the judging module is used for judging whether the current length exceeds a preset threshold value or not;
and the first sending module is configured to send first feedback information to the second network node when the result of the determining module is yes, so that the second network node suspends sending the data packet in the second sending queue corresponding to the data packet.
Optionally, the apparatus further comprises:
the marking module is used for marking a preset mark for the data packet after the current length is determined to exceed a preset threshold value;
and the second sending module is configured to send second feedback information to the second network node when sending the data packet carrying the preset flag, so that the second network node starts sending the data packet in the sending queue corresponding to the data packet in the second network node.
In a fourth aspect, the present invention further provides a packet scheduling apparatus, where the apparatus includes:
a receiving module, configured to receive first feedback information from a first network node, where the first feedback information carries information of any data packet;
and the pause module is used for pausing the transmission of the data packets in the second transmission queue corresponding to the data packets according to the first feedback information.
Optionally, the apparatus further comprises:
a starting module, configured to start sending the data packet in the second sending queue when receiving the second feedback information from the first network node.
Optionally, the first feedback information and the second feedback information both carry five-tuple information and a sequence number of the data packet;
the pause module, comprising:
the first determining submodule is used for determining a second sending queue corresponding to the data packet according to quintuple information of the data packet carried by the first feedback information;
the inserting submodule is used for inserting a preset data packet carrying the sequence number into the second sending queue, wherein the data packet is suspended to be sent when the preset data packet is processed;
accordingly, the start module includes:
a second determining submodule, configured to determine a second sending queue corresponding to the data packet according to five-tuple information of the data packet carried by the second feedback information;
and the deleting submodule is used for deleting the preset data packet carrying the sequence number in the second sending queue so as to facilitate the data packet in the second sending queue to be sent continuously.
In a fifth aspect, the present invention provides a packet scheduling apparatus, the apparatus comprising a memory and a processor,
the memory is used for storing program codes and transmitting the program codes to the processor;
the processor is configured to perform the following steps according to instructions in the program code: after receiving a data packet from a second network node, inserting the data packet into a corresponding first sending queue, and acquiring the current length of the first sending queue; and judging whether the current length exceeds a preset threshold value, if so, sending first feedback information to the second network node so as to enable the second network node to suspend sending the data packet in a second sending queue corresponding to the data packet.
In a sixth aspect, the present invention also provides a packet scheduling apparatus, comprising a memory and a processor,
the memory is used for storing program codes and transmitting the program codes to the processor;
the processor is configured to perform the following steps according to instructions in the program code: after sending a data packet to a first network node, receiving first feedback information from the first network node; and according to the first feedback information, stopping sending the data packet in the second sending queue corresponding to the data packet.
In the data packet scheduling method provided by the invention, after inserting a received data packet into a corresponding first sending queue, a first network node acquires the current length of the first sending queue, and when the current length of the first sending queue exceeds a preset threshold value, first feedback information is sent to a second network node to indicate the second network node to suspend sending the data packet in a second sending queue corresponding to the data packet. According to the invention, the first network node sends the first feedback information to the second network node, so that the phenomenon that the first network node loses packets due to the fact that the second network node continues to send data packets can be avoided.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without inventive labor.
Fig. 1 is a flowchart of a data packet scheduling method according to an embodiment of the present application;
fig. 2 is a schematic diagram of a network system architecture according to an embodiment of the present application;
fig. 3 is a flowchart of another data packet scheduling method according to an embodiment of the present application;
fig. 4 is a signaling interaction diagram of a data packet scheduling method according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of a packet scheduling apparatus according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of another packet scheduling apparatus according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of a packet scheduling apparatus according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, 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 application.
In the process of scheduling the data packets, the network node inserts the received data packets into the corresponding sending queues, if the corresponding sending queues are full, the network node directly discards the data packets, and if the network node continuously discards the data packets, a large amount of packet loss phenomena are generated.
To this end, an embodiment of the present invention provides a data packet scheduling method, and referring to fig. 1, a flowchart of the data packet scheduling method provided in the embodiment of the present invention is shown.
The data packet scheduling method provided by the embodiment of the present invention is applied to a first network node, wherein, in a data transmission process, the first network node may be a lower-level network node of a second network node, and both the first network node and the second network node may be network devices such as a network forwarding device. Fig. 2 is a schematic diagram of a network system architecture, where a network device a may be a lower-level network node of a network device B, that is, the network device B sends a data packet to the network device a; meanwhile, the network device B may also be a lower-level network node of the network device C, that is, the network device C sends a data packet to the network device B. That is, the first network node may be network device a, in which case network device B corresponds to the second network node; the first network node may also be network device B, in which case network device C corresponds to the second network node.
The following describes a data packet scheduling method provided by an embodiment of the present invention in detail, where the method specifically includes:
s101: after receiving a data packet from a second network node, a first network node inserts the data packet into a corresponding first sending queue and obtains the current length of the first sending queue.
In the embodiment of the present invention, after receiving a data packet from a previous-stage network node (i.e., a second network node), a first network node parses the data packet to obtain five-tuple information of the data packet, where the five-tuple information includes a source IP, a destination IP, a source port, a destination port, and a protocol type of the data packet. Because the quintuple information of the data packets belonging to the same data flow is the same, and the data packets belonging to the same data flow are usually stored in the same sending queue, the embodiment of the invention can determine the sending queue which needs to be stored by the data packets according to the quintuple information of the data packets.
The first network node inserts the data packet into the first sending queue after determining the first sending queue corresponding to the data packet, and obtains the current length of the first sending queue. In one implementation, the first network node may determine the current length of the first transmit queue from the insertion location of the packet. It should be noted that the present invention is not limited to other embodiments for determining the current length of the first transmit queue.
S102: the first network node judges whether the current length exceeds a preset threshold value, if so, the step S103 is executed.
S103: and the first network node sends first feedback information to the second network node so that the second network node suspends sending the data packet in a second sending queue corresponding to the data packet.
In the embodiment of the invention, after acquiring the current length of the first sending queue, the first network node judges whether the current length of the first sending queue exceeds a preset threshold value. The preset threshold may be determined by a total length of the first transmission queue and a preset congestion threshold, and the preset congestion threshold may be a positive number smaller than 1.
Assuming that the total length of the first transmission queue is L EN, the current length of the first transmission queue is len, the preset congestion threshold is a (0< a <1), and the preset threshold may be a × L EN.
In practical application, the first network node judges the size relationship between len and a × L EN, and when len > a × L EN, the first network node sends first feedback information to the second network node, where the first feedback information is used to indicate that the second network node suspends sending other data packets in a second sending queue corresponding to the data packet in the second network node, so as to avoid packet loss of the first network node caused by the fact that the second network node continues to send the data packets.
Corresponding to the above embodiment, the present invention further provides a data packet scheduling method, where the data packet scheduling method is applied to a second network node, and the second network node is a previous-level node of a first network node. Referring to fig. 3, a flowchart of another data packet scheduling method provided in the embodiment of the present invention is shown, where the method specifically includes:
s301: the second network node receives first feedback information from the first network node, wherein the first feedback information carries information of any data packet.
In the embodiment of the present invention, after a second network node sends a data packet to a first network node, if the first network node determines that the current length of a first sending queue corresponding to the data packet exceeds a preset threshold, the second network node sends first feedback information to the second network node, and correspondingly, the second network node receives the first feedback information from the first network node.
The first feedback information at least carries quintuple information of the data packet.
S302: and the second network node suspends the sending of the data packet in the second sending queue corresponding to the data packet according to the first feedback information.
In the embodiment of the invention, after receiving the first feedback information, the second network node analyzes the first feedback information to obtain five-tuple information. Because the quintuple information of the data packets belonging to the same data flow is the same, and the data packets belonging to the same data flow are usually stored in the same sending queue, the embodiment of the invention can determine the sending queue to which the data packet carrying the quintuple information belongs according to the quintuple information.
The second sending queue is a sending queue of the second network node, and the second network node controls the data packets in the second sending queue to pause sending after determining the second sending queue corresponding to the data packets, so as to avoid the phenomenon that the first network node loses packets due to the fact that the second network node continues to send the data packets in the second sending queue.
In the data packet scheduling method provided in the embodiment of the present invention, after inserting a received data packet into a corresponding first sending queue, a first network node obtains a current length of the first sending queue, and when the current length of the first sending queue exceeds a preset threshold, sends first feedback information to a second network node, and instructs the second network node to suspend sending the data packet in the sending queue corresponding to the data packet. In the embodiment of the invention, the first network node sends the first feedback information to the second network node, so that the phenomenon that the first network node loses packets due to the fact that the second network node continues to send data packets can be avoided.
In order to introduce the data packet scheduling method provided by the embodiment of the present invention more completely, the present invention further provides a data packet scheduling method, and referring to fig. 4, the method specifically includes:
s401: the first network node receives a data packet from the second network node.
S402: and inserting the data packet into a corresponding first sending queue, and acquiring the current length of the first sending queue.
S403: the first network node judges whether the current length exceeds a preset threshold value, if so, a preset mark is marked for the data packet, and S404 is executed.
In the embodiment of the present invention, when a first network node receives any data packet and inserts the data packet into a corresponding first sending queue, and a current length of the first sending queue obtained after the data packet is inserted exceeds a preset threshold, a preset mark is marked on the data packet.
S404: and the first network node sends first feedback information to the second network node, wherein the first feedback information carries the quintuple information and the sequence number of the data packet.
The quintuple information includes a source IP, a destination IP, a source port, a destination port, a protocol type of the packet, and a sequence number may be a sequence number of the packet in a corresponding data stream.
S405: and the second network node determines a second sending queue corresponding to the data packet according to the quintuple information of the data packet.
Because the quintuple information of the data packets belonging to the same data flow is the same, and the data packets belonging to the same data flow are usually stored in the same sending queue, the embodiment of the invention can determine the second sending queue corresponding to the data packet according to the quintuple information of the data packet.
S406: and the second network node inserts a preset data packet carrying the sequence number into the second sending queue, wherein the data packet is suspended to be sent when the preset data packet is processed.
In the embodiment of the invention, after the second network node receives the first feedback information, the first feedback information is analyzed to obtain the quintuple information and the sequence number of the data packet, and the second sending queue corresponding to the data packet is determined. In order to control the data packet in the second sending queue to suspend sending, in the embodiment of the present invention, a preset data packet carrying the sequence number is inserted into the second sending queue, and specifically, the preset data packet may be set to have a characteristic of suspending sending the data packet in the sending queue where the preset data packet is located when being processed, so that the data packet in the second sending queue is suspended when the second network node processes the preset data packet.
In an implementation manner, since the empty packet occupies a small space, the embodiment of the present invention may set the preset data packet as the empty packet. Specifically, when the second network node processes the empty packet, the data packet in the second transmission queue is suspended from being transmitted.
S407: and when the first network node sends a data packet carrying the preset mark, sending second feedback information to the second network node, wherein the second feedback information carries quintuple information and a sequence number of the data packet.
In practical application, when a data packet carrying a preset flag in a first network node is sent, the first network node is triggered to send second feedback information to a second network node, where the second feedback information is used to indicate the second network node to start sending the data packet in a second sending queue.
Specifically, when the second network node receives the second feedback information, the second feedback information is analyzed to obtain five-tuple information and a sequence number of the data packet.
S408: and the second network node determines a second sending queue corresponding to the data packet according to the quintuple information of the data packet.
Because the quintuple information of the data packets belonging to the same data flow is the same, and the data packets belonging to the same data flow are usually stored in the same sending queue, the embodiment of the invention can determine the second sending queue corresponding to the data packet according to the quintuple information of the data packet.
S409: and deleting the preset data packet carrying the sequence number in the second sending queue by the second network node so as to facilitate the data packet in the second sending queue to be sent continuously.
In practical application, after determining the second sending queue corresponding to the data packet, the second network node deletes the preset data packet (e.g., an empty packet) carrying the sequence number in the second sending queue, so that the second network node resumes the sending function of the data packet in the second sending queue.
In the data packet scheduling method provided by the embodiment of the present invention, the first network node sends the first feedback information to the second network node, so that the second network node controls the data packet to be suspended from sending by inserting a preset data packet (e.g., an empty packet), and skillfully controls the packet sending rhythm, thereby avoiding the packet loss phenomenon of the first network node caused by the second network node continuing to send the data packet.
Corresponding to the foregoing method implementation, an embodiment of the present invention further provides a data packet scheduling apparatus, and referring to fig. 5, a schematic structural diagram of the data packet scheduling apparatus provided in the embodiment of the present invention is shown, where the apparatus includes:
an inserting module 501, configured to insert a data packet into a corresponding first sending queue after receiving the data packet from a second network node;
an obtaining module 502, configured to obtain a current length of the first sending queue;
a judging module 503, configured to judge whether the current length exceeds a preset threshold;
a first sending module 504, configured to send first feedback information to the second network node when the result of the determining module is yes, so that the second network node suspends sending the data packet in the second sending queue corresponding to the data packet.
In addition, the apparatus further comprises:
the marking module is used for marking a preset mark for the data packet after the current length is determined to exceed a preset threshold value;
and the second sending module is configured to send second feedback information to the second network node when sending the data packet carrying the preset flag, so that the second network node starts sending the data packet in the sending queue corresponding to the data packet in the second network node.
Corresponding to the above device implementation, the present invention further provides a data packet scheduling device, and referring to fig. 6, the device is a schematic structural diagram of the data packet scheduling device provided in the embodiment of the present invention, and the device includes:
a receiving module 601, configured to receive first feedback information from a first network node, where the first feedback information carries information of any data packet;
a suspending module 602, configured to suspend sending the data packet in the second sending queue corresponding to the data packet according to the first feedback information.
In addition, the apparatus further comprises:
a starting module, configured to start sending the data packet in the second sending queue when receiving the second feedback information from the first network node.
In one embodiment, the first feedback information and the second feedback information both carry five-tuple information and a sequence number of the data packet;
the pause module, comprising:
the first determining submodule is used for determining a second sending queue corresponding to the data packet according to quintuple information of the data packet carried by the first feedback information;
the inserting submodule is used for inserting a preset data packet carrying the sequence number into the second sending queue, wherein the data packet is suspended to be sent when the preset data packet is processed;
accordingly, the start module includes:
a second determining submodule, configured to determine a second sending queue corresponding to the data packet according to five-tuple information of the data packet carried by the second feedback information;
and the deleting submodule is used for deleting the preset data packet carrying the sequence number in the second sending queue so as to facilitate the data packet in the second sending queue to be sent continuously.
In the data packet scheduling apparatus provided in the embodiment of the present invention, after inserting a received data packet into a corresponding first sending queue, a current length of the first sending queue is obtained, and when the current length of the first sending queue exceeds a preset threshold, first feedback information is sent to a second network node to instruct the second network node to suspend sending the data packet in a second sending queue corresponding to the data packet. The embodiment of the invention sends the first feedback information to the second network node, and can avoid the packet loss phenomenon of the next-stage node caused by the fact that the second network node continues to send the data packet.
Correspondingly, an embodiment of the present invention further provides a packet scheduling apparatus, as shown in fig. 7, where the packet scheduling apparatus may include:
a processor 701, a memory 702, an input device 703, and an output device 704. The number of the processors 701 in the packet scheduling apparatus may be one or more, and one processor is taken as an example in fig. 7. In some embodiments of the invention, the processor 701, the memory 702, the input device 703 and the output device 704 may be connected by a bus or other means, wherein the connection by the bus is exemplified in fig. 7.
The memory 702 may be used to store software programs and modules, and the processor 701 executes various functional applications of the packet scheduling apparatus and data processing by operating the software programs and modules stored in the memory 702. The memory 702 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application program required for at least one function, and the like. Further, the memory 702 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device. The input device 703 may be used to receive input numeric or character information and to generate signal inputs relating to user settings and function control of the packet scheduling apparatus.
Specifically, in this embodiment, the processor 701 may load an executable file corresponding to a process of one or more application programs into the memory 702 according to the following instructions, and the processor 701 runs the application program stored in the memory 702, so as to implement the following functions:
after receiving a data packet from a second network node, inserting the data packet into a corresponding first sending queue, and acquiring the current length of the first sending queue; and judging whether the current length exceeds a preset threshold value, if so, sending first feedback information to the second network node so as to enable the second network node to suspend sending the data packet in a second sending queue corresponding to the data packet.
In addition, in this embodiment, the processor 701 further loads an executable file corresponding to a process of one or more application programs into the memory 702 according to the following instructions, and the processor 701 executes the application program stored in the memory 702, so as to implement the following functions:
receiving first feedback information from the first network node, wherein the first feedback information carries information of any data packet; and according to the first feedback information, stopping sending the data packet in the second sending queue corresponding to the data packet.
For the device embodiments, since they substantially correspond to the method embodiments, reference may be made to the partial description of the method embodiments for relevant points. The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The foregoing describes a packet scheduling method, apparatus and device provided in the embodiments of the present application in detail, and a specific example is applied in the present application to explain the principle and implementation of the present application, and the description of the foregoing embodiments is only used to help understand the method and core ideas of the present application; meanwhile, for a person skilled in the art, according to the idea of the present application, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present application.

Claims (7)

1. A method for scheduling packets, the method comprising:
after receiving a data packet from a second network node, a first network node inserts the data packet into a corresponding first sending queue and acquires the current length of the first sending queue;
the first network node judges whether the current length exceeds a preset threshold value, if so, a preset mark is marked for the data packet, first feedback information is sent to the second network node, the first feedback information carries quintuple information and a sequence number of the data packet, so that the second network node determines a second sending queue corresponding to the data packet according to the quintuple information of the data packet, a preset data packet carrying the sequence number is inserted into the second sending queue, and the data packet is suspended to be sent when the preset data packet is processed;
when the first network node sends a data packet carrying the preset mark, second feedback information is sent to the second network node, and the second feedback information carries quintuple information and a sequence number of the data packet, so that the second network node determines a second sending queue corresponding to the data packet according to the quintuple information of the data packet, and deletes the preset data packet carrying the sequence number in the second sending queue, so that the data packet in the second sending queue is sent continuously.
2. A method for scheduling packets, the method comprising:
after sending a data packet to a first network node, a second network node receives first feedback information from the first network node, wherein the first feedback information carries quintuple information and a sequence number of the data packet;
the second network node determines a second sending queue corresponding to the data packet according to quintuple information of the data packet, and inserts a preset data packet carrying the sequence number into the second sending queue, wherein the sending of the data packet is suspended when the preset data packet is processed;
the second network node receives second feedback information from the first network node, wherein the second feedback information carries quintuple information and a sequence number of the data packet;
the second network node determines a second sending queue corresponding to the data packet according to the quintuple information of the data packet carried by the second feedback information;
and the second network node deletes the preset data packet carrying the sequence number in the second sending queue so as to facilitate the data packet in the second sending queue to be sent continuously.
3. The method of claim 2, wherein the predetermined packet is a null packet.
4. An apparatus for scheduling packets, the apparatus comprising:
the device comprises an inserting module, a sending module and a receiving module, wherein the inserting module is used for inserting a data packet into a corresponding first sending queue after receiving the data packet from a second network node;
an obtaining module, configured to obtain a current length of the first sending queue;
the judging module is used for judging whether the current length exceeds a preset threshold value or not;
the marking module is used for marking a preset mark for the data packet when the result of the judging module is yes;
a first sending module, configured to send first feedback information to the second network node when a result of the determining module is yes, where the first feedback information carries quintuple information and a sequence number of the data packet, so that the second network node determines, according to the quintuple information of the data packet, a second sending queue corresponding to the data packet, and inserts a preset data packet carrying the sequence number into the second sending queue, where sending of the data packet is suspended when the preset data packet is processed;
and the second sending module is used for sending second feedback information to the second network node when sending the data packet carrying the preset mark, wherein the second feedback information carries quintuple information and the sequence number of the data packet, so that the second network node determines a second sending queue corresponding to the data packet according to the quintuple information of the data packet, and deletes the preset data packet carrying the sequence number in the second sending queue, so that the data packet in the second sending queue is sent continuously.
5. An apparatus for scheduling packets, the apparatus comprising:
the receiving module is used for receiving first feedback information from a first network node after sending a data packet to the first network node, wherein the first feedback information carries quintuple information and a sequence number of the data packet;
a pause module, configured to determine a second sending queue corresponding to the data packet according to quintuple information of the data packet, and insert a preset data packet carrying the sequence number into the second sending queue, where sending of the data packet is paused when the preset data packet is processed;
a start module, configured to receive second feedback information from the first network node, where the second feedback information carries five-tuple information and a sequence number of the data packet; determining a second sending queue corresponding to the data packet according to quintuple information of the data packet carried by the second feedback information; and deleting the preset data packet carrying the sequence number in the second sending queue so as to ensure that the data packet in the second sending queue is continuously sent.
6. A packet scheduling apparatus, comprising a memory and a processor,
the memory is used for storing program codes and transmitting the program codes to the processor;
the processor is configured to perform the following steps according to instructions in the program code:
after receiving a data packet from a second network node, inserting the data packet into a corresponding first sending queue, and acquiring the current length of the first sending queue;
judging whether the current length exceeds a preset threshold value, if so, marking a preset mark for the data packet, sending first feedback information to the second network node, wherein the first feedback information carries quintuple information and a sequence number of the data packet, so that the second network node determines a second sending queue corresponding to the data packet according to the quintuple information of the data packet, and inserts a preset data packet carrying the sequence number into the second sending queue, wherein the sending of the data packet is suspended when the preset data packet is processed;
and when a data packet carrying the preset mark is sent, sending second feedback information to the second network node, wherein the second feedback information carries quintuple information and a sequence number of the data packet, so that the second network node determines a second sending queue corresponding to the data packet according to the quintuple information of the data packet, and deletes the preset data packet carrying the sequence number in the second sending queue, so that the data packet in the second sending queue is sent continuously.
7. A packet scheduling apparatus, comprising a memory and a processor,
the memory is used for storing program codes and transmitting the program codes to the processor;
the processor is configured to perform the following steps according to instructions in the program code:
after a data packet is sent to a first network node, first feedback information from the first network node is received, wherein the first feedback information carries quintuple information and a sequence number of the data packet;
determining a second sending queue corresponding to the data packet according to the quintuple information of the data packet, and inserting a preset data packet carrying the sequence number into the second sending queue, wherein the data packet is suspended to be sent when the preset data packet is processed;
receiving second feedback information from the first network node, wherein the second feedback information carries quintuple information and a sequence number of the data packet; determining a second sending queue corresponding to the data packet according to quintuple information of the data packet carried by the second feedback information; and deleting the preset data packet carrying the sequence number in the second sending queue so as to ensure that the data packet in the second sending queue is continuously sent.
CN201711065673.5A 2017-11-02 2017-11-02 Data packet scheduling method, device and equipment Active CN107733812B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711065673.5A CN107733812B (en) 2017-11-02 2017-11-02 Data packet scheduling method, device and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711065673.5A CN107733812B (en) 2017-11-02 2017-11-02 Data packet scheduling method, device and equipment

Publications (2)

Publication Number Publication Date
CN107733812A CN107733812A (en) 2018-02-23
CN107733812B true CN107733812B (en) 2020-08-07

Family

ID=61221295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711065673.5A Active CN107733812B (en) 2017-11-02 2017-11-02 Data packet scheduling method, device and equipment

Country Status (1)

Country Link
CN (1) CN107733812B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110708255B (en) * 2018-07-09 2021-11-19 华为技术有限公司 Message control method and node equipment
CN113014511B (en) * 2021-03-12 2023-05-09 神彩科技股份有限公司 Data processing method and device, electronic equipment and storage medium
CN115118782B (en) * 2022-06-27 2023-08-22 平安银行股份有限公司 Data control method, device, electronic equipment and computer readable storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7061868B1 (en) * 2000-10-25 2006-06-13 Switchcore, Ab Method for flow control in a switch and a switch controlled thereby
CN105245465A (en) * 2015-08-28 2016-01-13 上海斐讯数据通信技术有限公司 Flow control system and method of switch
CN105391647A (en) * 2015-11-25 2016-03-09 中国联合网络通信集团有限公司 Method and system for flow control
CN106230748A (en) * 2016-07-29 2016-12-14 四川九洲电器集团有限责任公司 A kind of packet sending, receiving method and equipment
CN106664303A (en) * 2014-08-18 2017-05-10 思科技术公司 Congestion control for media flows

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9894005B2 (en) * 2015-03-31 2018-02-13 Mellanox Technologies, Ltd. Adaptive routing controlled by source node

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7061868B1 (en) * 2000-10-25 2006-06-13 Switchcore, Ab Method for flow control in a switch and a switch controlled thereby
CN106664303A (en) * 2014-08-18 2017-05-10 思科技术公司 Congestion control for media flows
CN105245465A (en) * 2015-08-28 2016-01-13 上海斐讯数据通信技术有限公司 Flow control system and method of switch
CN105391647A (en) * 2015-11-25 2016-03-09 中国联合网络通信集团有限公司 Method and system for flow control
CN106230748A (en) * 2016-07-29 2016-12-14 四川九洲电器集团有限责任公司 A kind of packet sending, receiving method and equipment

Also Published As

Publication number Publication date
CN107733812A (en) 2018-02-23

Similar Documents

Publication Publication Date Title
CN109412964B (en) Message control method and network device
CN107733812B (en) Data packet scheduling method, device and equipment
EP4258611A2 (en) Message sending method, network node and system
US10454850B2 (en) Apparatus and method for buffering data in a switch
EP3787244B1 (en) Packet sending method, network node, and system
CN108432194B (en) Congestion processing method, host and system
US9444741B2 (en) Facilitating network flows
US9985892B1 (en) System and method for providing congestion notification in layer 3 networks
JP2010050857A (en) Route control apparatus and packet discarding method
CN111801911B (en) Traffic function chain congestion tracking
CN112039796B (en) Data packet transmission method and device, storage medium and electronic equipment
CN107005467B (en) Apparatus and method for routing data in a switch
CN109286584B (en) Fragmentation recombination method, device and equipment in multi-core system
CN114844842A (en) Data transmission method and device, electronic equipment and readable storage medium
CN112491715B (en) Routing device and routing equipment of network on chip
CN115499387B (en) Message processing method and device, electronic equipment and storage medium
JP2013141140A (en) Communication device and program for communication device
CN111147379A (en) Data transmission method, system and related equipment
CN111245744A (en) Message transmission control method and device
US20220264441A1 (en) Slice gateway, quality calculation apparatus, inspection packet processing method and program
US10270701B2 (en) Management node, terminal, communication system, communication method, and program storage medium
US20150172175A1 (en) Switch, communication system, switch control method, and program
KR101469244B1 (en) Apparatus and method for eliminating unnecessary packets in received data
CN113099504B (en) Communication method and related device of wireless self-organizing network
CN114793217A (en) Intelligent network card, data forwarding method and device and electronic equipment

Legal Events

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