IP Library › Granted Patent US 11,258,723
Granted Patent B2
US 11,258,723 · App. 16/722,215 · Granted Feb 22, 2022

Data processing method and apparatus, and switching device using footprint queues

Inventor: Binzhang Fu (Beijing, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L47/6255H04L43/0882H04L45/742H04L45/745
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,258,723
App. No.
16/722,215
Granted
Feb 22, 2022
Kind
B2
Abstract

This application discloses a data processing method and apparatus, and a switching device. The data processing method includes: obtaining a destination address of a data packet received by an input port; determining an available output port based on the destination address; determining a busy degree of the available output port, when there is no non-busy available output port in the available output port, determining a quantity of footprint queues on the available output port, and selecting an available output port with a largest quantity of footprint queues as a target output port; determining a busy degree of a queue on the target output port, and when there is no non-busy queue on the target output port, selecting a footprint queue on the target output port as a target output queue. In the foregoing manners, a network resource is properly used, and network blocking can be effectively alleviated.

Claims (52)

1. A data processing method, comprising:

receiving a data packet carrying a destination address by an input port;

determining a plurality of available output ports based on the destination address;

determining there is no non-busy available output port in the plurality of available output ports;

selecting an available output port with a largest quantity of footprint queues as a target output port from the plurality of available output ports, wherein a destination address of a data packet at a queue tail of the footprint queue is the same as the destination address of the received data packet;

selecting a non-busy queue on the target output port as a target output queue;

sending the data packet to the target output queue on the target output port.

2. The method according to claim 1 , wherein the determining there is no non-busy available output port in the plurality of available output ports comprises:

determining a quantity of non-busy queues on each of the plurality of available output ports, obtaining a percentage of the quantity of non-busy queues in a total quantity of queues on each of the plurality of available output ports, determining that there is no available output port with a percentage which is greater than a first threshold.

3. The method according to claim 1 , wherein the determining there is no non-busy available output port in the plurality of available output ports comprises:

determining there is no non-busy queues on each of the plurality of available output ports.

4. The method according to claim 1 , wherein the selecting a non-busy queue on the target output port as a target output queue comprises:

determining a cache space occupied by a data packet in the queue, and when a percentage of the cache space occupied by the data packet to a cache capacity of the queue is not greater than a second threshold, determining that the queue is a non-busy queue.

5. A data processing method, comprising:

receiving a data packet carrying a destination address by an input port;

determining a plurality of available output ports based on the destination address;

determining there is no non-busy available output port in the plurality of available output ports;

selecting an available output port with a largest quantity of footprint queues as a target output port from the plurality of available output ports, wherein a destination address of a data packet at a queue tail of the footprint queue is the same as the destination address of the received data packet;

selecting a footprint queue on the target output port as the target output queue;

sending the data packet to the target output queue on the target output port.

6. The method according to claim 5 , wherein the determining there is no non-busy available output port in the plurality of available output ports comprises:

determining a quantity of non-busy queues on each of the plurality of available output ports, obtaining a percentage of the quantity of non-busy queues in a total quantity of queues on each of the plurality of available output ports, determining that there is no available output port when there is no percentage which is greater than a first threshold.

7. The method according to claim 5 , wherein the determining there is no non-busy available output port in the plurality of available output ports comprises:

determining there is no non-busy queue on each of the plurality of available output ports.

8. The method according to claim 5 , wherein before the selecting a non-busy queue on the target output port as a target output queue, the method comprises:

determining a cache space occupied by a data packet in the queue, and when a percentage of the cache space occupied by the data packet to a cache capacity of the queue in each queue of the target output port is greater than a second threshold, determining that there is no non-busy queue in the target output port.

9. A switching device, comprising an input port, output ports, a processor, a memory, and a bus, wherein the input port, the output ports, the processor, and the memory each are connected to the bus, the memory stores a program instruction, and the processor runs the program instruction to perform the following steps:

receiving a data packet carrying a destination address by an input port;

determining a plurality of available output ports based on the destination address;

determining there is no non-busy available output port in the plurality of available output ports;

selecting an available output port with a largest quantity of footprint queues as the target output port from the plurality of available output ports, wherein a destination address of a data packet at a queue tail of the footprint queue is the same as the destination address of the received data packet;

selecting a non-busy queue on the target output port as a target output queue;

sending the data packet to the target output queue on the target output port.

10. The switching device according to claim 9 , wherein the processor runs the program instruction to perform the following steps:

determining a quantity of non-busy queues on each of the plurality of available output ports, obtaining a percentage of the quantity of non-busy queues in a total quantity of queues on each of the plurality of available output ports, determining that there is no available output port with a percentage which is greater than a first threshold.

11. The switching device according to claim 9 , wherein the processor runs the program instruction to perform the following step:

determining there is no non-busy queues on each of the plurality of available output ports.

12. The switching device according to claim 9 , wherein the processor runs the program instruction to perform the following steps:

determining a cache space occupied by a data packet in the queue, and when a percentage of the cache space occupied by the data packet to a cache capacity of the queue is not greater than a second threshold, determining that the queue is a non-busy queue.

13. A switching device, comprising an input port, output ports, a processor, a memory, and a bus, wherein the input port, the output ports, the processor, and the memory each are connected to the bus, the memory stores a program instruction, and the processor runs the program instruction to perform the following steps:

receiving a data packet carrying a destination address by an input port;

determining a plurality of available output ports based on the destination address;

determining there is no non-busy available output port in the plurality of available output ports;

selecting an available output port with a largest quantity of footprint queues as a target output port from the plurality of available output ports, wherein a destination address of a data packet at a queue tail of the footprint queue is the same as the destination address of the received data packet;

selecting a footprint queue on the target output port as the target output queue;

sending the data packet to the target output queue on the target output port.

14. The switching device according to claim 13 , wherein the processor runs the program instruction to perform the following steps:

determining a quantity of non-busy queues on each of the plurality of available output ports, obtaining a percentage of the quantity of non-busy queues in a total quantity of queues on each of the plurality of available output ports, determining that there is no available output port with a percentage which is greater than a first threshold.

15. The switching device according to claim 13 , wherein the processor runs the program instruction to perform the following step:

determining there is no non-busy queues on each of the plurality of available output ports.

16. The switching device according to claim 13 , wherein the processor runs the program instruction to perform the following steps:

determining a cache space occupied by a data packet in the queue, and when a percentage of the cache space occupied by the data packet to a cache capacity of the queue in each queue of the target output port is greater than a second threshold, determining that there is no non-busy queue in the target output port.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2020
From: FU, BINZHANG
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 051933/0668 →
Priority Claims (1)
WO PCT/CN2017/089877 · Jun 23, 2017 · international
Continuity (2)
Continuation PCTCN2017090812 · Jun 29, 2017
Related Publication 20200127934A1 · Apr 23, 2020