WO2022242170A1 - 一种数据处理方法以及相关设备 - Google Patents

一种数据处理方法以及相关设备 Download PDF

Info

Publication number
WO2022242170A1
WO2022242170A1 PCT/CN2021/140398 CN2021140398W WO2022242170A1 WO 2022242170 A1 WO2022242170 A1 WO 2022242170A1 CN 2021140398 W CN2021140398 W CN 2021140398W WO 2022242170 A1 WO2022242170 A1 WO 2022242170A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
target
network device
duration
upstream
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.)
Ceased
Application number
PCT/CN2021/140398
Other languages
English (en)
French (fr)
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.)
Huawei Technologies Co Ltd
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 EP21940612.1A priority Critical patent/EP4329261A4/en
Publication of WO2022242170A1 publication Critical patent/WO2022242170A1/zh
Priority to US18/514,378 priority patent/US20240089214A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • 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/12Avoiding congestion; Recovering from congestion
    • 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
    • H04L47/266Stopping or restarting the source, e.g. X-on or X-off
    • 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/28Flow control; Congestion control in relation to timing considerations
    • 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/29Flow control; Congestion control using a combination of thresholds
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Definitions

  • the embodiments of the present application relate to the communication field, and in particular, to a data processing method and related equipment.
  • the network device can divide the data stream into multiple sub-flows (flowlets) containing multiple data packets according to the time interval between the receiving moments of the data packets, and select the load according to the management granularity of the sub-flows
  • the lighter link forwards the data packets, so that the data packets in the same subflow are forwarded on the same link.
  • the embodiment of the present application provides a data processing method and related equipment. By controlling the waiting time of the upstream equipment, the data packets in the data stream are distributed into different sub-streams, which alleviates the congestion of the transmission link and improves the data transmission. stability and reliability.
  • the first aspect of the embodiment of the present application provides a data processing method, including:
  • the network device can receive data packets corresponding to at least one priority from the upstream device. Due to the limited processing capability and buffer space of the network device, the network device can set a cache gate for each priority Limits, so as to ensure the normal operation of network equipment. If the target cache corresponding to the target priority on the network device reaches the first threshold, it means that the buffer space of the network device is insufficient, and the network device can send a pause message to the upstream device, and the pause message is used to instruct the upstream device to stop sending the corresponding The first packet at the target priority.
  • the upstream device Due to the time delay in the network, it takes a period of time for the pause message sent by the network device to the upstream device to be received by the upstream device, and at the same time, it takes a certain time for the upstream device to respond according to the pause message. During this time, the upstream device will send the second data packet corresponding to the target priority to the network device. That is to say, the network device will continue to buffer the second data packet from the upstream device.
  • the network device may also send at least one of the first data packet and the second data packet to the downstream device, so that the target cache is reduced, thereby reducing the message backlog.
  • the target buffer drops below the second threshold, it means that the buffer space of the network device is sufficient, and the data packets corresponding to the target priority can be continuously buffered.
  • the target cache falling back below the second threshold includes that the target cache is less than or equal to the second threshold.
  • the network device will send a resume sending message to the upstream device, and the resume sending message is used to instruct the upstream device to send
  • the network device sends a third data packet corresponding to the target priority.
  • the duration for the network device to stop buffering the second data packet is greater than the first preset duration, which means that the time interval between the time when the network device receives the first data packet or the second data packet and the time when the third data packet is received exceeds The interval between substreams, the first data packet or the second data packet, and the third data packet belong to different substreams.
  • the network device when the buffer space is insufficient, the network device will send a pause message to the upstream device, so that the upstream device stops sending data packets corresponding to the target priority.
  • the network device will also control the length of time that the upstream device stops sending data packets, so that the data packets in the data flow are dispersed into different sub-flows, thereby alleviating the congestion of the transmission link and improving the stability and reliability of data transmission.
  • the network device before the network device sends a pause message to the upstream device, it will determine whether the received target data packet corresponding to the target priority is the first data packet, And process the target data packet according to the result.
  • the first data packet refers to the first data packet received by the network device corresponding to the target data flow in the target priority.
  • the network device can query the forwarding table to obtain multiple outgoing interfaces, and based on the equal-cost multi-path routing (ECMP) strategy, as The target data packet is routed by hash (hash), and the first outgoing interface corresponding to the target data packet is determined from the multiple outgoing interfaces.
  • ECMP equal-cost multi-path routing
  • the ECMP strategy usually adopts a flow-by-flow load sharing mechanism.
  • This mechanism uses the characteristic field of the data packet as a hash factor, generates a hash key (hash-key) value through a hash algorithm, and then according to the hash-key value Select a member link in the load sharing link to forward data packets, that is, data packets with the same hash-key value will be forwarded through the same outgoing interface.
  • the feature field of the data packet includes fields such as source media access control (media access control address, MAC) address, destination MAC address and IP quintuple.
  • the network device may determine the target cache.
  • the target data packet may be cached in the network device before being sent out, and in this case, the cached target data packet may be regarded as a part of the target cache. If the target cache reaches the first threshold, triggering the step of sending a pause message to the upstream device. If the target buffer does not reach the first threshold, the network device may forward the target data packet through the first outgoing interface.
  • the network device when the target data packet is the first data packet corresponding to the target data flow in the target priority, the network device will perform hash routing based on the ECMP strategy, because the data packets in the same data flow (flow)
  • the feature fields of the data streams are the same, so that different data streams are forwarded on different links, and the timing of each data packet in the same data stream reaching the downstream device is also guaranteed, increasing the reliability of data transmission.
  • the network device determines that the target data packet is not the first data packet, it can determine the subflow based on dynamic load sharing. Outgoing interface for packet forwarding. Specifically, the network device may determine whether the time interval between the target data packet and the previous data packet is greater than the subflow interval. Wherein, the previous data packet corresponds to the target data flow in the target priority. If the time interval is greater than the sub-flow interval, the network device may determine that the target data packet and the previous data packet belong to different sub-flows, and select the second outbound interface to forward the target data packet.
  • the network device can determine that the target data packet and the previous data packet belong to the same sub-flow.
  • dynamic load sharing means that when a network device forwards data packets, a link with a lighter load can be used as a forwarding link, so that data packets in the same subflow are forwarded on the same link.
  • the network device after the network device determines that the target data packet and the previous data packet belong to the same subflow, it can determine the last The third interface corresponding to the data packet.
  • the target data packet may be cached in the network device before being sent out, and in this case, the cached target data packet may be regarded as a part of the target cache.
  • the network device may determine the target cache, and if the target cache reaches the first threshold, trigger the step of sending a pause message to the upstream device. If the target buffer does not reach the first threshold, the network device may forward the target data packet through the third outgoing interface.
  • the network device can also select a link with a lighter load among multiple links to forward data packets based on the dynamic load sharing method according to the management granularity of the subflow, which improves the efficiency of data transmission.
  • the upstream device after the network device sends the pause message to the upstream device, Due to the time delay, the upstream device will still send the second data packet corresponding to the target priority to the network device before receiving the pause message.
  • the network device When the network device receives the second data packet, it will start the first timer. If the duration recorded by the first timer is longer than the preset duration, the network device may determine that the duration for which it stops buffering the second data packet is longer than the preset duration.
  • the network device may also enable the Second timer. If the duration recorded by the second timer is longer than the subflow interval duration, the network device may determine that the duration for which it stops buffering the second data packet is longer than the preset duration.
  • the upstream device after the network device sends the pause message to the upstream device, Due to the time delay, the upstream device will still send the second data packet corresponding to the target priority to the network device before receiving the pause message.
  • the network device can record the time when the second data packet is received, and if the difference between the current time and the receiving time of the second data packet is greater than the preset duration, the network device can determine that the time for which it stops buffering the second data packet is longer than the preset duration. Set duration.
  • the network device can also record that it sends a pause to the upstream device For the time of the message, if the difference between the current time and the sending time of the pause message is greater than the subflow interval, the network device may determine that the time for which it stops buffering the second data packet is greater than the preset time.
  • the preset duration includes sub-stream interval duration and flight The difference in duration, the flight duration is the maximum value of the difference between the first moment and the second moment, the first moment is the moment when the network device sends a pause message to the upstream device, and the second moment is the moment when the network device receives the second data packet .
  • the network device can determine whether the duration for which it stops caching the second data packet is greater than the preset duration in various ways, and which method to choose can be selected according to the needs of actual applications, which improves the flexibility of the technical solution sex.
  • the network device may receive the third data packet sent by the upstream device. Since the time interval between the third data packet and the second data packet is longer than the sub-flow interval, the network device can determine that the first data packet or the second data packet and the third data packet respectively belong to different sub-flows.
  • the upstream device when the corresponding target cache reaches the threshold value, the upstream device can be controlled to stop sending the data packet corresponding to the target priority, and wait for a period of time, so that the data packet sent by the upstream device again is the same as the previous
  • the cached data packets belong to different subflows, which alleviates the congestion of the link.
  • the network device if the network device stops caching the second data packet If the duration is less than or equal to the preset duration, and/or the target cache is greater than the second threshold, then the network device will not send a resume sending message to the upstream device.
  • the network device can continue to wait until the time length for stopping the buffering of the second data packet When the time is longer than the preset time, the resume sending message is sent to the upstream device.
  • the network device will send a data packet corresponding to the target priority to the downstream device to reduce the target cache until the target cache is less than or equal to When the second threshold is reached, a sending resume message is sent to the upstream device.
  • the data packets corresponding to the target priority include at least one of the first data packet and the second data packet.
  • the network device can wait while sending a data packet corresponding to the target priority to the downstream device until A resume sending message is sent to the upstream device only when the duration of stopping buffering the second data packet is longer than the preset duration, and the target buffer falls below the second threshold value.
  • the network device when the network device determines that the condition is not satisfied, that is, the time length for stopping the buffering of the second data packet is not greater than the preset time length, and/or the target cache does not fall back to the second threshold value, the network device will not Sending the resuming sending message to the upstream device, and taking different measures at the same time to meet the conditions for sending the resuming sending message to the upstream device as soon as possible, which improves the practicability and realizability of the technical solution.
  • the data processing method provided in the embodiment of the present application It can be applied to a data center, and the data center includes a network device and an upstream device, the network device may be a switch, and the upstream device may be a server.
  • the second aspect of the embodiment of the present application provides a data processing device, including a sending unit, configured to:
  • a pause message is sent to the upstream device, wherein the pause message is used to instruct the upstream device to stop sending the first data packet corresponding to the target priority .
  • the data processing device stops buffering the second data packet for longer than the preset duration, and the target cache falls below the second threshold value, it sends a resume sending message to the upstream device, wherein the resume sending message is used to instruct the upstream device to send data packets to the upstream device.
  • the processing device sends the third data packet corresponding to the target priority, and the second data packet is a data packet corresponding to the target priority buffered before the data processing device sends the pause message and before sending the resuming sending message.
  • the third aspect of the embodiment of the present application provides a network device, including a processor, a memory and a communication interface, the processor, the memory and the communication interface are connected, and the processor is configured to execute the method of the foregoing first aspect.
  • the fourth aspect of the embodiments of the present application provides a computer-readable storage medium, in which a program is stored, and when the computer executes the program, the method of the first aspect is executed.
  • a fifth aspect of the embodiments of the present application provides a computer program product, which is characterized in that when the computer program product is executed on a computer, the computer executes the method of the first aspect.
  • FIG. 1 is a schematic diagram of a system architecture of a data processing method provided in an embodiment of the present application
  • FIG. 2 is a schematic diagram of a principle of a priority flow control protocol
  • FIG. 3 is a schematic flow chart of a data processing method provided in an embodiment of the present application.
  • FIG. 4 is another schematic flowchart of the data processing method provided by the embodiment of the present application.
  • FIG. 5 is another schematic flowchart of the data processing method provided by the embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of a data processing device provided in an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a network device provided by an embodiment of the present application.
  • the embodiment of the present application provides a data processing method and related equipment. By controlling the waiting time of the upstream equipment, the data packets in the data stream are distributed into different sub-streams, which alleviates the congestion of the transmission link and improves the data transmission. stability and reliability.
  • a subflow can be understood as a collection of data packets including at least one data packet. In the same data flow, if the interval between two adjacent data packets is greater than the flowlet gap time, the two data packets are considered to belong to different sub-flows; if two adjacent If the time interval between data packets is less than or equal to the sub-flow interval length, the two data packets are considered to belong to the same sub-flow.
  • FIG. 1 is a schematic diagram of the system architecture of the data processing method provided by the embodiment of the present application.
  • the data processing method provided in the embodiment of the present application can be applied in a data center, and a common networking structure in a data center is shown in FIG. 1 .
  • Network device 1 can not only communicate with network device A, but also perform data transmission with terminal device 1 and terminal device 2 .
  • network device 2 can also communicate with terminal devices and other network devices.
  • each device in the network needs to enable the priority flow control (PFC) feature, and configure PFC parameters corresponding to port priorities on each network device and terminal device.
  • the PFC parameters include: a first threshold, a second threshold, and a headroom (HDRM).
  • the first threshold refers to a threshold at which the backlog of packets in a certain priority queue requires the upstream device to stop sending, which may be XOFF.
  • the second threshold refers to the threshold at which the backlog of packets in a certain priority queue allows the upstream device to continue sending, which may be XON.
  • the header space is the space for buffering in-flight packets on the line after the downstream device sends a pause message to the upstream device.
  • the PFC protocol is part of the data center bridging (DCB) protocol, which is a set of Ethernet extension protocols defined by the IEEE 802.1 working group for building a packet-free Ethernet.
  • DCB data center bridging
  • FIG. 2 is a schematic diagram of the principle of the priority flow control protocol.
  • the upstream device may send data packets corresponding to multiple priorities, for example, a data packet P1 corresponding to priority 1, to the downstream device.
  • a data packet P1 corresponding to priority 1 When the downstream device finds that the receiving capability is smaller than the sending capability of the upstream device, that is, when the buffer of a certain priority in the downstream device cache reaches the first threshold, it will send a pause message to the upstream device. After the upstream device receives the pause message, it will stop sending packets with this priority. When the backlog of packets falls below the second threshold, the downstream device will send a resume sending message of the priority to the upstream device.
  • FIG. 3 is a schematic flow chart of the data processing method provided by the embodiment of the present application, including:
  • the network device caches a first data packet from an upstream device, where the first data packet corresponds to a target priority.
  • network devices can buffer data packets from upstream devices.
  • the upstream device may send data packets corresponding to multiple priorities to the network device, and the present application takes the network device buffering data packets corresponding to the target priority as an example for illustration.
  • the data packets corresponding to the target priority include the first data packet.
  • the network device can be a switch.
  • switch can be a LAN switch or a WAN switch.
  • it can also be another type of switch, such as an Ethernet switch, as detailed here No limit.
  • the upstream device can be a server.
  • it can also be other devices capable of data transmission with network devices, such as a switch.
  • the type of the upstream device is determined according to the actual networking situation, and is not limited here. .
  • the network device determines whether the target cache corresponding to the target priority reaches the first threshold, if yes, execute step 303; if not, execute step 304.
  • the network device can also record the cached target cache corresponding to the target priority, and judge whether the target cache has reached the first threshold value, and then perform corresponding operations according to the judgment result.
  • the target cache reaching the first threshold includes the target cache being greater than or equal to the first threshold.
  • the network device sends a pause message to the upstream device.
  • the target buffer corresponding to the target priority on the network device reaches the first threshold value, it means that the receiving capability of the network device is less than the sending capability of the upstream device for the data packets corresponding to the target priority. If the upstream device continues to send data packets to the network device When the first data packet is sent, there will be packet loss. Therefore, in order to prevent packet loss, the network device may send a pause message to the upstream device, and the pause message may carry a pause frame for instructing the upstream device to stop sending the first data packet to the network device.
  • the network device continues to buffer the first data packet.
  • the target cache on the network device is smaller than the first threshold, it means that the network device can still process the first data packet in time, and its receiving capability is greater than the sending capability of the upstream device, or it matches the sending capability of the upstream device. In case of packet loss or congestion, the network device may receive and buffer the first data packet.
  • the network device determines whether the duration of the second data packet to stop buffering is greater than a preset duration, and whether the target cache falls below the second threshold value, if yes, execute step 306, and if not, execute step 307.
  • the network device may cache the second data packet in the header space.
  • the target cache on the network device includes the cached first data packet and the cached second data packet.
  • the network device may send at least one of the cached first data packet and the cached second data packet to the downstream device, so that the target cache on the network device is reduced.
  • the network device can determine whether the target buffer falls below the second threshold. Wherein, the target cache falling back below the second threshold includes that the target cache is less than or equal to the second threshold.
  • the network device may also determine whether the time period for stopping buffering the second data packet is greater than a preset time period, and perform corresponding operations according to the determination result.
  • the preset duration includes the difference between the sub-stream interval duration and the flight duration
  • the sub-stream interval duration may be a preset period of time.
  • the flight duration is the maximum value of the difference between the first moment and the second moment. The first moment is the moment when the network device sends a pause message to the upstream device, and the second moment is the moment when the network device receives the second data packet.
  • the network device sends a resume sending message to the upstream device.
  • the buffering condition is defined as satisfying the time condition when the duration of stopping the buffering of the second data packet is greater than the preset duration, and defining the buffering condition as satisfying the buffering condition when the target cache falls back below the second threshold.
  • the network device determines that the duration of the second data packet to stop buffering is greater than the preset duration, that is, if the time condition is met, it means that the time when the network device receives the data packet corresponding to the target priority again is different from the time when the second data packet is received The difference between exceeds the substream interval duration.
  • the network device will regard the data packet received again as a new sub-flow, thereby realizing the cutting of the data flow and alleviating the congestion.
  • the target cache falls back below the second threshold, that is, if the cache condition is met, it indicates that the network device has space to cache data packets corresponding to the target priority.
  • the network device may send a resume sending message to the upstream device, and the resume sending message is used for The upstream device is instructed to send the third data packet corresponding to the target priority to the network device.
  • FIG. 4 is another schematic flowchart of the data processing method provided in the embodiment of the present application.
  • the network device may send a pause message to the upstream device at the first moment.
  • the upstream device may also send a second data packet to the network device, and the moment when the network device receives the second data packet is recorded as the second moment.
  • the network device may send a resume sending message to the upstream device at the third moment, and receive the third data packet at the fourth moment.
  • the network device can start the first timer at the second moment, and if the duration recorded by the first timer is the preset duration, that is, the difference between the sub-flow interval duration and the flight duration, it can be determined that the time condition is satisfied .
  • the sub-stream interval duration may be a preset duration
  • the flight duration is the maximum value of the difference between the first moment and the second moment. Since there may be multiple second data packets, the network device may reset the first timer every time a second data packet is received, so that the first timer starts counting again.
  • the method of dynamically updating the timing is used to judge whether the time condition is met, which makes the judgment method more flexible.
  • the timer is started only when the network device receives the second data packet, which avoids the overhead caused by starting the timer too early and saves resources.
  • the network device may also start a second timer at the first moment, and if the duration recorded by the second timer is longer than the subflow interval duration, it may be determined that the time condition is met.
  • the network device does not need to update the timer frequently, which saves computing resources.
  • the network device may not start the timer.
  • the network device can record the difference between the current moment and the second moment. If the difference is greater than the preset duration, that is, greater than the difference between the sub-stream interval duration and the flight duration, the network device can determine that the time condition is met. It should be understood that in practical applications, the difference between the fourth moment and the third moment is approximately the same as the difference between the second moment and the first moment, so when the time condition is satisfied, the fourth moment The difference between the time point and the second time point will be greater than the sub-stream interval length, that is to say, the second data packet and the third data packet will be divided into different sub-flows, thereby achieving relief from congestion.
  • the network device may also record a difference between the current time and the first time, and if the difference is greater than the sub-stream interval, the network device may determine that the time condition is met.
  • the network device determines whether the time condition is satisfied, which can be selected according to the needs of practical applications, and the details are not limited here.
  • the network device does not send a resume sending message to the upstream device.
  • the network device determines that the current situation does not meet the conditions for sending a resume sending message to the upstream device, the network device will not send a resume sending message to the upstream device at the current moment, but will wait until the conditions are met before sending a resume sending message to the upstream device .
  • the network device can continue to wait; it may also be The cache condition is not satisfied, but the time condition is satisfied, in this case, the network device may send at least one of the cached first data packet and the cached second data packet to the downstream device to reduce the target cache; in addition
  • the network device may also send the buffered first data packet to the downstream device while continuing to wait and at least one of the cached second data packets.
  • the network device may also receive a third data packet sent by the upstream device, where the third data packet corresponds to the target priority. Since the interval between the third data packet and the second data packet is greater than the subflow interval, the network device can determine that the third data packet and the second data packet belong to different subflows, and forward them through the outgoing interface with a lighter load third packet.
  • the network device when the buffer space is insufficient, the network device will send a pause message to the upstream device, so that the upstream device stops sending data packets corresponding to the target priority.
  • the network device will also control the length of time that the upstream device stops sending data packets, so that the data packets in the data flow are dispersed into different sub-flows, thereby alleviating the congestion of the transmission link and improving the stability and reliability of data transmission.
  • the network device has multiple ways to judge whether the time condition is satisfied, and an appropriate way can be selected according to the needs of practical applications, which improves the flexibility and realizability of the technical solution.
  • Figure 5 is a schematic flow chart of the data processing method provided by the embodiment of the present application, including:
  • the network device receives a target data packet, where the target data packet corresponds to a target priority.
  • the network device may receive the target data packet corresponding to the target priority sent by the upstream device.
  • the network device determines whether the target data packet is the first data packet, if yes, execute step 503, and if not, execute step 507.
  • the network device After receiving the target data packet, the network device will determine whether the target data packet is the first data packet. Wherein, the first data packet refers to the first data packet received by the network device corresponding to the target data flow in the target priority.
  • the network device determines the first outbound interface based on the ECMP policy.
  • the network device may perform hash route selection according to the ECMP policy to determine the first outgoing interface for forwarding the target data packet.
  • the network device determines whether the target cache reaches the first threshold, if yes, execute step 506, and if not, execute step 505.
  • the network device After the network device determines the first outbound interface, because the hash route selection does not take cache conditions into consideration, the network device can also determine the relationship between the target cache and the first threshold. And according to the judgment result, make corresponding operation.
  • the network device forwards the target data packet through the first outbound interface.
  • the network device can forward the target data packet through the first outgoing interface.
  • the network device sends a pause message to the upstream device.
  • the network device may send a pause message to the upstream device, which triggers step 303 in the embodiment shown in FIG. 3 .
  • the network device determines whether the target data packet and the previous data packet belong to the same subflow, if yes, execute step 509, and if not, execute step 508.
  • the network device can determine the target by the difference between the time when the target data packet is received and the time when the previous data packet is received, and the sub-flow interval. Whether the packet belongs to the same subflow as the previous packet. If the difference is greater than the subflow interval, the network device can determine that the target data packet belongs to a new subflow; if the difference is less than or equal to the subflow interval, the network device can determine that the target data packet is different from the previous data packet. belong to the same substream.
  • the previous data packet refers to the previous data packet received by the network device corresponding to the target data flow in the target priority before receiving the target data packet, that is to say, the target data packet is the same as the previous data packet. adjacent packets.
  • the network device forwards the target data packet through the second outbound interface.
  • the network device may select a second outbound interface with a lighter load among the multiple outbound interfaces to forward the target data packet.
  • the second outbound interface may be the outbound interface with the smallest load at the current moment among the multiple outbound interfaces.
  • the network device determines the third outbound interface corresponding to the last data packet.
  • the network device determines that the target data packet and the previous data packet belong to the same subflow, it can determine the third outgoing interface corresponding to the previous data packet, and perform corresponding operations according to the relationship between the target cache and the first threshold .
  • the network device determines whether the target buffer reaches the first threshold, if yes, execute step 512, and if not, execute step 511.
  • the network device forwards the target data packet through the third outbound interface.
  • the network device sends a pause message to the upstream device.
  • Steps 510 to 512 are similar to steps 504 to 506 and will not be repeated here. The difference is: in steps 510 to 512, the outgoing interface of the target data packet is the third outgoing interface corresponding to the previous data packet; in 504 to step 506, the outgoing interface of the target data packet is determined based on the ECMP policy The first outgoing interface.
  • FIG. 6 is a schematic structural diagram of a data processing device 600, including:
  • a sending unit 603, configured to:
  • the target buffer corresponding to the target priority on the data processing device reaches the first threshold value, then send a pause message to the upstream device, wherein the pause message is used to instruct the upstream device to stop sending the first data packet corresponding to the target priority;
  • the data processing device stops buffering the second data packet for longer than the preset duration, and the target cache falls below the second threshold value, it sends a resume sending message to the upstream device, wherein the resume sending message is used to instruct the upstream device to send data packets to the upstream device.
  • the processing device sends the third data packet corresponding to the target priority, and the second data packet is a data packet corresponding to the target priority buffered before the data processing device sends the pause message and before sending the resuming sending message.
  • the data processing apparatus 600 further includes: a receiving unit 601 and a processing unit 602;
  • a receiving unit 601 configured to receive a target data packet sent from an upstream device, wherein the target data packet corresponds to a target priority
  • the processing unit 602 is configured to determine the first outbound interface corresponding to the target data packet based on the ECMP policy if the target data packet is the first data packet, wherein the first data packet is the first one received by the data processing device and corresponds to the target priority Packet of the target data flow in the stage.
  • the sending unit 603 is further configured to send the target data packet based on the first outbound interface if the target cache is smaller than the first threshold.
  • processing unit 602 is further configured to:
  • the target data packet is not the first data packet, then determine the time interval between receiving the target data packet and receiving the last data packet of the target data packet, and the last data packet corresponds to the target data flow in the target priority;
  • time interval is greater than the sub-flow interval, then determine that the target data packet and the previous data packet belong to different sub-flows;
  • time interval is less than or equal to the sub-flow interval, it is determined that the target data packet and the previous data packet belong to the same sub-flow;
  • the sending unit 603 is further configured to forward the target data packet through the second outgoing interface if the target data packet and the previous data packet respectively belong to different subflows.
  • the sending unit 603 is further configured to forward the target data packet based on the third outgoing interface corresponding to the last data packet if the target cache is smaller than the first threshold.
  • the processing unit 602 is further configured to:
  • the duration recorded by the first timer is longer than the preset duration, it is determined that the duration for which the data processing device stops buffering the second data packet is longer than the preset duration.
  • processing unit 602 is further configured to:
  • the duration recorded by the second timer is longer than the sub-stream interval duration, it is determined that the duration for which the data processing device stops buffering the second data packet is longer than a preset duration.
  • the receiving unit 601 is further configured to receive a second data packet from an upstream device;
  • the processing unit 602 is further configured to determine that the time period for the data processing device to stop buffering the second data packet is greater than the preset time period if the difference between the current time and the receiving time of the second data packet is greater than the preset time period.
  • processing unit 602 is further configured to:
  • the preset duration includes the difference between the sub-stream interval duration and the flight duration, the flight duration is the maximum value of the difference between the first moment and the second moment, and the first moment is when the data processing device goes up The moment when the upstream device sends the pause message, and the second moment is the moment when the data processing device receives the second data packet.
  • the receiving unit 601 is further configured to receive a third data packet from an upstream device;
  • the processing unit 602 is further configured to determine that the third data packet belongs to a different subflow from the first data packet or the second data packet.
  • the processing unit 602 is further configured to control the The data processing device does not send the resume sending message to the upstream device.
  • the data processing apparatus 600 may perform the operations performed by the downstream device in the embodiment shown in FIG. 2 and the operations performed by the network device in the embodiments shown in FIGS. 3 to 5 , which will not be repeated here.
  • the network device 700 includes: a processor 701 and a memory 702, and the memory 702 stores one or more application programs or data.
  • the storage 702 may be a volatile storage or a persistent storage.
  • the program stored in the memory 702 may include one or more modules, and each module may be used to perform a series of operations performed by the network device 700 .
  • the processor 701 may communicate with the memory 702 , and execute a series of instruction operations in the memory 702 on the network device 700 .
  • the processor 701 may be a central processing unit (central processing units, CPU), or a single-core processor, or other types of processors, such as a dual-core processor, which are not specifically limited here.
  • the network device 700 may also include one or more communication interfaces 703, and one or more operating systems, such as Windows Server TM , Mac OS X TM , Unix TM , Linux TM , FreeBSD TM and so on.
  • operating systems such as Windows Server TM , Mac OS X TM , Unix TM , Linux TM , FreeBSD TM and so on.
  • the network device 700 can perform the operations performed by the downstream device in the embodiment shown in FIG. 2 and the operations performed by the network device in the embodiments shown in FIGS. 3 to 5 , which will not be repeated here.
  • the disclosed system, device and method can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or part of the contribution to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disk or optical disc and other media that can store program codes. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种数据处理方法以及相关设备,用于提升数据传输的稳定性和可靠性。本申请实施例方法包括:若网络设备上对应于目标优先级的目标缓存达到第一门限值,网络设备向上游设备发送暂停消息,使得上游设备停止发送对应于目标优先级的第一数据包。若网络设备停止缓存第二数据包的时长大于预设时长,且目标缓存回落至第二门限值以下,网络设备向上游设备发送恢复发送消息,使得上游设备发送对应于目标优先级的第三数据包。其中,第二数据包为网络设备发送暂停消息之后,发送恢复发送消息之前缓存的对应于目标优先级的数据包。

Description

一种数据处理方法以及相关设备
本申请要求于2021年05月21日提交中国专利局、申请号为202110559029.3、发明名称为“一种数据处理方法以及相关设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及通信领域,尤其涉及一种数据处理方法以及相关设备。
背景技术
伴随着社会经济的快速增长,数据中心行业也在全球蓬勃发展。数据中心也逐渐成为和人力资源、自然资源一样重要的战略资源。在信息时代的背景下,只有对数据进行大规模和灵活地应用,才能促使我国数据中心行业快速稳步发展。如何使得数据中心中的大量数据得以稳定传输,也成为了亟需解决的问题。
一种数据处理方法中,网络设备可以根据数据包的接收时刻之间的时间间隔,将数据流切分为包含多个数据包的多个子流(flowlet),并按照子流的管理粒度选择负载较轻的链路进行数据包的转发,使得同一个子流中的数据包在同一个链路上进行转发。
在这种数据包的处理方法中,若子流中数据包的数据量过大,在进行转发时,容易出现链路拥塞,导致丢包等情况发生,影响数据传输的稳定性和可靠性。
发明内容
本申请实施例提供了一种数据处理方法以及相关设备,通过控制上游设备的等待时间,将数据流中的数据包分散到不同的子流中,缓解了传输链路的拥塞,提升了数据传输的稳定性和可靠性。
本申请实施例第一方面提供了一种数据处理方法,包括:
在数据传输过程中,网络设备可以接收到来自于上游设备的对应于至少一个优先级的数据包,由于网络设备的处理能力和缓存空间的大小有限,网络设备可以为各个优先级设定缓存门限值,从而保证网络设备的正常运作。若网络设备上对应于目标优先级的目标缓存达到第一门限值,则意味着网络设备的缓存空间不足,网络设备可以向上游设备发送暂停消息,该暂停消息用于指示上游设备停止发送对应于目标优先级的第一数据包。由于网络存在时延,网络设备向上游设备发送的暂停消息需要经过一段时间才能被上游设备接收,同时,上游设备根据该暂停消息做出反应也需要一定的时间。在这段时间内,上游设备会向网络设备发送对应于目标优先级的第二数据包。也就是说,网络设备会继续缓存来自于上游设备的第二数据包。
网络设备还可以向下游设备发送第一数据包和第二数据包中的至少一项,使得目标缓存下降,从而减少报文积压。当目标缓存回落至第二门限值以下时,意味着网络设备的缓存空间有了富余,可以继续缓存对应于目标优先级的数据包。其中,目标缓存回落至第二门限值以下包括目标缓存小于或等于第二门限值。
如果网络设备停止缓存第二数据包的时长大于预设时长,且目标缓存回落至第二门限值以下,则网络设备会向上游设备发送恢复发送消息,该恢复发送消息用于指示上游设备向网络设备发送对应于目标优先级的第三数据包。其中,网络设备停止缓存第二数据包的时长大于第一预设时长,意味着网络设备接收第一数据包或者第二数据包的时刻与接收第三数据包的时刻之间的时间间隔超过了子流间隔时长,第一数据包或者第二数据包,与第三数据包属于不同的子流。
本申请实施例中,在缓存空间不足的情况下,网络设备会向上游设备发送暂停消息,使得上游设备停止发送对应于目标优先级的数据包。网络设备还会控制上游设备停止发送数据包的时长,使得数据流中的数据包分散到不同的子流中,从而缓解了传输链路的拥塞程度,提升了数据传输的稳定性和可靠性。
结合第一方面,本申请实施例第一方面的第一种实现方式中,网络设备在向上游设备发送暂停消息之前,会判断接收的对应于目标优先级的目标数据包是否为首个数据包,并根据结果对该目标数据包进行处理。其中,首个数据包是指,网络设备接收的第一个对应于目标优先级中目标数据流的数据包。具体来说,若网络设备确定目标数据包为首个数据包,则网络设备可以查询转发表得到多个出接口,并基于等价多路由路径(equal-cost multi-path routing,ECMP)策略,为目标数据包进行哈希(hash)选路,从多个出接口中确定出该目标数据包对应的第一出接口。其中,ECMP策略通常采用的是逐流负载分担机制,这种机制是将数据包的特征字段作为哈希因子,通过哈希算法生成哈希关键(hash-key)值,然后根据hash-key值在负载分担链路中选取一条成员链路对数据包进行转发,也即hash-key值相同的数据包会通过相同的出接口进行转发。数据包的特征字段包括源媒体存取控制(media access control address,MAC)地址,目的MAC地址和IP五元组等字段。
结合第一方面的第一种实现方式,本申请实施例第一方面的第二种实现方式中,网络设备在确定出第一出接口之后,可以确定目标缓存。目标数据包在被发送出去之前,可以被缓存在网络设备中,在这种情况下,缓存的目标数据包可以视为目标缓存中的一部分。如果目标缓存达到第一门限值,则触发向上游设备发送暂停消息的步骤。如果目标缓存没有达到第一门限值,那么网络设备可以通过第一出接口转发目标数据包。
本申请实施例中,在目标数据包为对应于目标优先级中目标数据流的首个数据包的情况下,网络设备会基于ECMP策略进行hash选路,由于相同数据流(flow)中数据包的特征字段相同,使得不同的数据流在不同的链路上进行转发,也保证了同一数据流中各个数据包到达下游设备的时序性,增加了数据传输的可靠性。
结合第一方面的第一种实现方式,本申请实施例第一方面的第三种实现方式中,若网络设备确定目标数据包不是首个数据包,则可以基于动态负载分担,确定子流中数据包的转发出接口。具体的,网络设备可以确定目标数据包与上一个数据包之间的时间间隔是否大于子流间隔时长。其中,上一个数据包对应于目标优先级中的目标数据流。如果时间间隔大于子流间隔时长,那么网络设备可以确定目标数据包与上一个数据包分别属于不同的子流,并选择第二出接口转发目标数据包。如果时间间隔小于或者等于子流间隔时长,那么网络设备可以确定目标数据包与上一个数据包属于同一个子流。其中,动态负载分担是 指,网络设备在进行数据包的转发时,可以将负载较轻的链路作为转发链路,使得同一个子流中的数据包在相同的链路中进行转发。
结合第一方面的第三种实现方式,本申请实施例第一方面的第四种实现方式中,网络设备在确定出目标数据包和上一个数据包属于同一个子流之后,可以确定出上一个数据包对应的第三接口。目标数据包在被发送出去之前,可以被缓存在网络设备中,在这种情况下,缓存的目标数据包可以视为目标缓存中的一部分。网络设备可以确定目标缓存,如果目标缓存达到第一门限值,则触发向上游设备发送暂停消息的步骤。如果目标缓存没有达到第一门限值,那么网络设备可以通过第三出接口转发目标数据包。
本申请实施例中,网络设备还可以按照子流的管理粒度,基于动态负载分担的方式,在多个链路中选择负载较轻的链路进行数据包的转发,提升了数据传输的效率。
结合第一方面、第一方面的第一种至第四种实现方式中的任一种,本申请实施例第一方面的第五种实现方式中,网络设备在向上游设备发送暂停消息之后,由于存在时延,上游设备在接收到暂停消息之前,仍然会向网络设备发送对应于目标优先级的第二数据包。网络设备在接收第二数据包时,会开启第一定时器。如果第一定时器记录的时长大于预设时长,那么网络设备可以确定其停止缓存第二数据包的时长大于预设时长。
结合第一方面、第一方面的第一种至第四种实现方式中的任一种,本申请实施例第一方面的第六种实现方式中,网络设备还可以在发送暂停消息时,开启第二定时器。如果第二定时器记录的时长大于子流间隔时长,那么网络设备可以确定其停止缓存第二数据包的时长大于预设时长。
结合第一方面、第一方面的第一种至第四种实现方式中的任一种,本申请实施例第一方面的第七种实现方式中,网络设备在向上游设备发送暂停消息之后,由于存在时延,上游设备在接收到暂停消息之前,仍然会向网络设备发送对应于目标优先级的第二数据包。网络设备可以记录接收第二数据包的时刻,如果当前时刻与第二数据包的接收时刻之间的差值,大于预设时长,那么网络设备可以确定其停止缓存第二数据包的时长大于预设时长。
结合第一方面、第一方面的第一种至第四种实现方式中的任一种,本申请实施例第一方面的第八种实现方式中,网络设备还可以记录其向上游设备发送暂停消息的时刻,如果当前时刻与暂停消息的发送时刻之间的差值,大于子流间隔时长,那么网络设备可以确定其停止缓存第二数据包的时长大于预设时长。
结合第一方面、第一方面的第一种至第八种实现方式中的任一种,本申请实施例第一方面的第九种实现方式中,预设时长,包括子流间隔时长与飞行时长的差值,飞行时长为第一时刻和第二时刻之间差值的最大值,第一时刻网络设备向上游设备发送暂停消息的时刻,第二时刻为网络设备接收第二数据包的时刻。
本申请实施例中,网络设备可以通过多种方式确定其停止缓存第二数据包的时长是否大于预设时长,具体选择何种方式,可以根据实际应用的需要进行选择,提升了技术方案的灵活性。
结合第一方面、第一方面的第一种至第九种实现方式中的任一种,本申请实施例第一方面的第十种实现方式中,在网络设备向上游设备发送恢复发送消息之后,网络设备可以 接收到上游设备发送的第三数据包。由于第三数据包与第二数据包之间的时间间隔大于子流间隔时长,因此,网络设备可以确定第一数据包或者第二数据包,与第三数据包分别属于不同的子流。
本申请实施例中,在对应于目标缓存达到门限值的情况下,可以控制上游设备停止发送该对应于目标优先级的数据包,并等待一段时间,使得上游设备再次发送的数据包与之前缓存的数据包分别属于不同的子流,缓解了链路的拥塞程度。
结合第一方面、第一方面的第一种至第十种实现方式中的任一种,本申请实施例第一方面的第十一种实现方式中,如果网络设备停止缓存第二数据包的时长小于或等于预设时长,和/或目标缓存大于第二门限值,那么网络设备均不会向上游设备发送恢复发送消息。
具体来说,如果网络设备停止缓存第二数据包的时长小于或等于预设时长,但是目标缓存回落至第二门限值以下,则网络设备可以继续等待,至停止缓存第二数据包的时长大于预设时长时,才向上游设备发送恢复发送消息。
如果网络设备停止缓存的时长大于预设时长,但是目标缓存大于第二门限值,那么网络设备会向下游设备发送对应于目标优先级的数据包,以减少目标缓存,至目标缓存小于或者等于第二门限值时,向上游设备发送恢复发送消息。其中,对应于目标优先级的数据包包括第一数据包和第二数据包中的至少一项。
如果网络设备停止缓存第二数据包的时长小于或等于预设时长,且目标缓存大于第二门限值,那么网络设备可以边等待,边向下游设备发送对应于目标优先级的数据包,直至停止缓存第二数据包的时长大于预设时长,且目标缓存回落至第二门限值以下,才向上游设备发送恢复发送消息。
本申请实施例中,在网络设备确定不满足条件,即停止缓存第二数据包的时长不大于预设时长,和/或目标缓存不回落至第二门限值的情况下,网络设备不会向上游设备发送恢复发送消息,同时还会采取不同的措施使得尽快达到向上游设备发送恢复发送消息的条件,提升了技术方案的实用性和可实现性。
结合第一方面、第一方面的第一种至第十一种实现方式中的任一种,本申请实施例第一方面的第十二种实现方式中,本申请实施例提供的数据处理方法可以应用于数据中心,该数据中心包括网络设备和上游设备,网络设备可以是交换机,上游设备可以是服务器。
本申请实施例第二方面提供了一种数据处理装置,包括发送单元,用于:
若该数据处理装置上对应于目标优先级的目标缓存达到第一门限值,则向上游设备发送暂停消息,其中,暂停消息用于指示上游设备停止发送对应于目标优先级的第一数据包。
若数据处理装置停止缓存第二数据包的时长大于预设时长,且目标缓存回落至第二门限值以下,则向上游设备发送恢复发送消息,其中,恢复发送消息用于指示上游设备向数据处理装置发送对应于目标优先级的第三数据包,第二数据包为数据处理装置发送暂停消息之后,且发送恢复发送消息之前缓存的对应于目标优先级的数据包。
本方面所示的有益效果与第一方面类似,此处不再赘述。
本申请实施例第三方面提供了一种网络设备,包括处理器,存储器和通信接口,处理器,存储器和通信接口相连,处理器用于执行前述第一方面的方法。
本方面所示的有益效果与第一方面类似,此处不再赘述。
本申请实施例第四方面提供了一种计算机可读存储介质,计算机可读存储介质中保存有程序,当所述计算机执行所述程序时,执行第一方面的方法。
本方面所示的有益效果与第一方面类似,此处不再赘述。
本申请实施例第五方面提供了一种计算机程序产品,其特征在于,当计算机程序产品在计算机上执行时,该计算机执行第一方面的方法。
本方面所示的有益效果与第一方面类似,此处不再赘述。
附图说明
图1为本申请实施例提供的数据处理方法的一个系统架构示意图;
图2为优先级流控协议的一个原理示意图;
图3为本申请实施例提供的数据处理方法的一个流程示意图;
图4为本申请实施例提供的数据处理方法的另一个流程示意图;
图5为本申请实施例提供的数据处理方法的另一个流程示意图;
图6为本申请实施例提供的数据处理装置的一个结构示意图;
图7为本申请实施例提供的网络设备的一个结构示意图。
具体实施方式
本申请实施例提供了一种数据处理方法以及相关设备,通过控制上游设备的等待时间,将数据流中的数据包分散到不同的子流中,缓解了传输链路的拥塞,提升了数据传输的稳定性和可靠性。
首先,对本申请实施例可能涉及的概念进行解释。
子流,可以理解为包含了至少一个数据包的数据包集合。在同一条数据流中,如果相邻的两个数据包之间的间隔大于子流间隔时长(flowlet gap time),便认为这两个数据包分别属于不同的子流;如果相邻的两个数据包之间的时间间隔小于或者等于子流间隔时长小于或者等于子流间隔时长,便认为这两个数据包属于同一个子流。
下面,对本申请实施例提供的数据处理方法的系统架构进行简单说明,请参阅图1,图1为本申请实施例提供的数据处理方法的一个系统架构示意图。
本申请实施例提供的数据处理方法可以应用在数据中心,数据中心中常见的组网结构如图1所示。网络设备1不仅可以和网络设备A进行通信,还可以与终端设备1和终端设备2进行数据传输。类似的,网络设备2同样可以和终端设备以及其他网络设备进行通信。为了保证网络无丢包,组网中的各个设备都需要开启优先级流控(priority flow control,PFC)特性,并在每个网络设备和终端设备上配置对应于端口优先级的PFC参数。PFC参数包括:第一门限值、第二门限值和头部空间(headroom,HDRM)。其中,第一门限值是指某一优先级队列报文积压达到要求上游设备停止发送的门限值,可以是XOFF。第二门限值是指某一优先级队列报文积压允许上游设备继续发送的门限值,可以是XON。头部空间是下游设备向上游设备发送暂停消息之后,缓存线路上的飞行报文的空间。
PFC协议属于数据中心桥接(data center bridging,DCB)协议的一部分,是一组由IEEE 802.1工作组定义的以太网扩展协议,用于构建无丢包以太网。下面,结合图2对PFC协议的原理进行说明。请参阅图2,图2为优先级流控协议的一个原理示意图。
如图2所示,上游设备可以向下游设备发送对应于多个优先级的数据包,例如对应于优先级1的数据包P1。当下游设备发现接收能力小于上游设备的发送能力,即下游设备缓存的某一优先级的缓存达到第一门限值后,就会向上游设备发送暂停消息。上游设备收到暂停消息之后,便会停止该优先级的报文发送。当报文积压回落至第二门限值以下时,下游设备又会向上游设备发送该优先级的恢复发送消息。
下面,对本申请实施例提供的数据处理方法进行说明,请参阅图3,图3为本申请实施例提供的数据处理方法的一个流程示意图,包括:
301.网络设备缓存来自于上游设备的第一数据包,第一数据包对应于目标优先级。
在通信过程中,网络设备可以缓存来自于上游设备的数据包。上游设备可以向网络设备发送对应于多个优先级的数据包,本申请以网络设备缓存对应于目标优先级的数据包为例,进行说明。其中,对应于目标优先级的数据包中包括第一数据包。
可选的,网络设备可以是交换机,交换机的类型有多种情况,可以是局域网交换机,也可以是广域网交换机,除此之外,还可以是其他类型的交换机,例如以太网交换机,具体此处不做限定。
可选的,上游设备可以是服务器,除此之外,也可以是其他能够与网络设备进行数据传输的设备,例如交换机,上游设备的类型根据实际组网的情况确定,具体此处不做限定。
302.网络设备确定对应于目标优先级的目标缓存是否达到第一门限值,若是,则执行步骤303;若否,则执行步骤304。
网络设备还可以记录其所缓存的对应于目标优先级的目标缓存,并判断目标缓存是否达到了第一门限值,然后根据判断结果执行相应的操作。其中,目标缓存达到第一门限值包括目标缓存大于或者等于第一门限值。
303.网络设备向上游设备发送暂停消息。
如果网络设备上对应于目标优先级的目标缓存达到了第一门限值,说明对于对应于目标优先级的数据包,网络设备的接收能力小于上游设备的发送能力,若上游设备继续向网络设备发送第一数据包,会出现丢包的情况。因此,为了防止丢包,网络设备可以向上游设备发送暂停消息,该暂停消息中可以携带暂停帧,用于指示上游设备停止向网络设备发送第一数据包。
304.网络设备继续缓存第一数据包。
如果网络设备上的目标缓存小于第一门限值,意味着网络设备还可以及时处理第一数据包,其接收能力大于上游设备的发送能力,或者与上游设备的发送能力较为匹配,暂时不会出现丢包或者拥塞的情况,网络设备可以接收并缓存第一数据包。
305.网络设备确定停止缓存的第二数据包的时长是否大于预设时长,且目标缓存是否回落至第二门限值以下,若是,则执行步骤306,若否,则执行步骤307。
由于存在时延,从网络设备发出暂停消息到上游设备接收暂停消息并停止发送第一数 据包之间存在一定的时间,在这段时间内,上游设备仍然会向网络设备发送对应于目标优先级的数据包。为了便于理解,本申请实施例把这段时间内对应于目标优先级的数据包称为第二数据包。网络设备可以将第二数据包缓存在头部空间中。
基于此,网络设备上的目标缓存包括缓存的第一数据包和缓存的第二数据包。为了缓解积压情况,网络设备可以向下游设备发送缓存的第一数据包和缓存的第二数据包中的至少一项,使得网络设备上的目标缓存有所下降。网络设备可以判断目标缓存是否回落至第二门限值以下。其中,目标缓存回落至第二门限值以下,包括目标缓存小于或等于第二门限值。
网络设备还可以判断停止缓存第二数据包的时长是否大于预设时长,并根据判断结果执行相应的操作。其中,预设时长包括子流间隔时长与飞行时长的差值,子流间隔时长可以是预先设定的一段时间。飞行时长为第一时刻和第二时刻之间差值的最大值,第一时刻为网络设备向上游设备发送暂停消息的时刻,第二时刻为网络设备接收第二数据包的时刻。
306.网络设备向上游设备发送恢复发送消息。
为了说明的简洁,后文将停止缓存第二数据包的时长大于预设时长的情况定义为满足时间条件,目标缓存回落至第二门限值以下的情况定义为满足缓存条件。
如果网络设备确定停止缓存的第二数据包的时长大于预设时长,即如果满足了时间条件,意味着网络设备再次接收对应于目标优先级的数据包的时刻,与接收第二数据包的时刻之间的差值超过了子流间隔时长。网络设备会将再次接收的数据包视为新的子流,由此实现了对数据流的切割,并缓解了拥塞。
如果目标缓存回落至第二门限值以下,即如果满足了缓存条件,说明网络设备有空间可以缓存对应于目标优先级的数据包。
在网络设备确定停止缓存的第二数据包的时长大于预设时长,且目标缓存回落至第二门限值以下的情况下,网络设备可以向上游设备发送恢复发送消息,该恢复发送消息用于指示上游设备向网络设备发送对应于目标优先级的第三数据包。
本申请实施例中,网络设备确定是否满足时间条件的方式有多种,为了说明的清楚,请参阅图4,图4为本申请实施例提供的数据处理方法的另一个流程示意图。
如图4所述,在目标缓存达到第一门限值的情况下,网络设备可以在第一时刻向上游设备发送暂停消息。在网络设备发送暂停消息之后,上游设备接收暂停消息之前,上游设备还可以向网络设备发送第二数据包,网络设备接收第二数据包的时刻记为第二时刻。在满足时间条件和缓存条件的情况下,网络设备可以在第三时刻向上游设备发送恢复发送消息,并在第四时刻接收到第三数据包。
可选的,网络设备可以在第二时刻开启第一定时器,若第一定时器记录的时长为预设时长,即为子流间隔时长与飞行时长的差值时,则可以确定满足时间条件。其中,子流间隔时长可以是预先设定的时长,飞行时长是第一时刻与第二时刻之间差值的最大值。由于第二数据包的数量可以有多个,网络设备每收到一个第二数据包就可以复位一次第一定时器,使得第一定时器重新开始计时。
在这种方法中,采用动态更新计时的方式,判断是否满足时间条件,使得判断方式更 加灵活。同时,在网络设备收到第二数据包时,才启动定时器,避免了过早开启定时器带来的开销,节约了资源。
可选的,网络设备还可以在第一时刻开启第二定时器,若第二定时器记录的时长大于子流间隔时长,则可以确定满足时间条件。
在这种方式中,网络设备无需频繁更新定时器,节约了运算资源。
可选的,网络设备也可以不开启定时器。网络设备可以记录当前时刻与第二时刻之间的差值,若该差值大于预设时长,也即大于子流间隔时长与飞行时长的差值时,网络设备可以确定满足时间条件。应理解,在实际应用中,第四时刻与第三时刻之间的差值,与第二时刻与第一时刻之间的差值是大致相同的,所以在满足时间条件的情况下,第四时刻与第二时刻之间的差值会大于子流间隔时长,也即是说,第二数据包与第三数据包会被分到不同的子流中,由此实现对拥塞的缓解。
可选的,网络设备还可以记录当前时刻与第一时刻之间的差值,若该差值大于子流间隔时长,则网络设备可以确定满足时间条件。
本申请实施例中,网络设备确定是否满足时间条件的方式有上述多种可能,可以根据实际应用的需要进行选择,具体此处不做限定。
307.网络设备不向上游设备发送恢复发送消息。
如果网络设备确定当前情况不满足向上游设备发送恢复发送消息的条件,那么网络设备在当前时刻并不会向上游设备发送恢复发送消息,而是会等到满足条件时再向上游设备发送恢复发送消息。
具体来说,当前情况不满足向上游设备发送恢复发送消息的条件有多种可能,可以是不满足时间条件,但是满足了缓存条件,在这种情况下,网络设备可以继续等待;也可以是不满足缓存条件,但是满足了时间条件,在这种情况下,网络设备可以向下游设备发送缓存的第一数据包和缓存的第二数据包中的至少一项,以降低目标缓存;除此之外,还可以是其他的情况,例如,既不满足时间条件,又不满足缓存条件,在这种情况下,网络设备在继续等待的同时,也可以向下游设备发送缓存的第一数据包和缓存的第二数据包中的至少一项。在当前不满足向上游设备发送恢复发送消息的条件的情况下,网络设备的操作根据实际应用的需要进行选择,具体此处不做限定。
可选的,在步骤306之后,网络设备还可以接收到上游设备发送的第三数据包,第三数据包对应于目标优先级。由于第三数据包与第二数据包之间的间隔大于子流间隔时长,因此,网络设备可以确定第三数据包与第二数据包属于不同的子流,并通过负载较轻的出接口转发第三数据包。
本申请实施例中,在缓存空间不足的情况下,网络设备会向上游设备发送暂停消息,使得上游设备停止发送对应于目标优先级的数据包。网络设备还会控制上游设备停止发送数据包的时长,使得数据流中的数据包分散到不同的子流中,从而缓解了传输链路的拥塞程度,提升了数据传输的稳定性和可靠性。
进一步的,网络设备有多种方式判断是否满足时间条件,可以根据实际应用的需要选择合适的方式,提升了技术方案的灵活性和可实现性。
可选的,网络设备在收到对应于目标优先级中目标数据流的目标数据包的情况下,会根据图5所示的流程,对目标数据包进行处理。下面,对这一过程进行说明。请参阅图5,图5为本申请实施例提供的数据处理方法的一个流程示意图,包括:
501.网络设备接收目标数据包,目标数据包对应于目标优先级。
网络设备可以接收到上游设备发送的,对应于目标优先级的目标数据包。
502.网络设备确定目标数据包是否为首个数据包,若是,则执行步骤503,若否,则执行步骤507。
网络设备在收到目标数据包后,会确定该目标数据包是否为首个数据包。其中,首个数据包是指,网络设备接收的第一个对应于目标优先级中目标数据流的数据包。
503.网络设备基于ECMP策略,确定第一出接口。
如果网络设备确定目标数据包为首个数据包,则网络设备可以根据ECMP策略,进行hash选路,确定出转发该目标数据包的第一出接口。
504.网络设备确定目标缓存是否达到第一门限值,若是,则执行步骤506,若否,则执行步骤505。
网络设备在确定出第一出接口之后,由于hash选路并不会考虑到缓存情况,因此网络设备还可以确定目标缓存与第一门限值之间的关系。并根据判断结果,做出相应的操作。
505.网络设备通过第一出接口转发目标数据包。
若目标缓存小于第一门限值,那么网络设备可以通过第一出接口转发目标数据包。
506.网络设备向上游设备发送暂停消息。
若目标缓存达到第一门限值,则意味着发生了拥塞,网络设备无法及时转发目标数据包。为了缓解拥塞,网络设备就可以向上游设备发送暂停消息,即触发图3所示实施例中步骤303。
507.网络设备确定目标数据包是否与上一个数据包属于同一个子流,若是,则执行步骤509,若否,则执行步骤508。
在目标数据包不是首个数据包的情况下,网络设备可以通过接收目标数据包的时刻与接收上一个数据包的时刻之间的差值,与子流间隔时长之间的大小关系,确定目标数据包与上一个数据包是否属于同一个子流。若该差值大于子流间隔时长,则网络设备可以确定目标数据包属于一个新的子流;若该差值小于或者等于子流间隔时长,则网络设备可以确定目标数据包与上一个数据包属于同一个子流。其中,上一个数据包是指,网络设备在接收目标数据包之前,接收的前一个对应于目标优先级中目标数据流的数据包,也即是说,目标数据包和上一个数据包是相邻的数据包。
508.网络设备通过第二出接口,转发目标数据包。
如果网络设备确定目标数据包与上一个数据包属于不同的子流,则可以在多个出接口中,选择负载较轻的第二出接口,转发目标数据包。可选的,第二出接口可以是多个出接口中,当前时刻负载最小的出接口。
509.网络设备确定上一个数据包对应的第三出接口。
如果网络设备确定目标数据包与上一个数据包属于同一个子流,则可以确定上一个数 据包对应的第三出接口,并根据目标缓存与第一门限值之间的关系,执行相应的操作。
510.网络设备确定目标缓存是否达到第一门限值,若是,则执行步骤512,若否,则执行步骤511。
511.网络设备通过第三出接口转发目标数据包。
512.网络设备向上游设备发送暂停消息。
步骤510至步骤512,与步骤504至步骤506类似,此处不再赘述。不同之处在于:在步骤510至步骤512中,目标数据包的出接口为上一个数据包对应的第三出接口;在504至步骤506中,目标数据包的出接口为基于ECMP策略确定的第一出接口。
下面,对本申请实施例提供的数据处理装置进行说明,请参阅图6,图6为数据处理装置600的结构示意图,包括:
发送单元603,用于:
若数据处理装置上对应于目标优先级的目标缓存达到第一门限值,则向上游设备发送暂停消息,其中,暂停消息用于指示上游设备停止发送对应于目标优先级的第一数据包;
若数据处理装置停止缓存第二数据包的时长大于预设时长,且目标缓存回落至第二门限值以下,则向上游设备发送恢复发送消息,其中,恢复发送消息用于指示上游设备向数据处理装置发送对应于目标优先级的第三数据包,第二数据包为数据处理装置发送暂停消息之后,且发送恢复发送消息之前缓存的对应于目标优先级的数据包。
在一些可选的实施例中,数据处理装置600还包括:接收单元601和处理单元602;
接收单元601,用于接收来自于上游设备发送的目标数据包,其中,目标数据包对应于目标优先级;
处理单元602,用于若目标数据包为首个数据包,则基于ECMP策略,确定目标数据包对应的第一出接口,其中,首个数据包为数据处理装置接收的第一个对应于目标优先级中目标数据流的数据包。
在一些可选的实施例中,发送单元603,还用于若目标缓存小于第一门限值,则基于第一出接口发送目标数据包。
在一些可选的实施例中,处理单元602,还用于:
若目标数据包不是首个数据包,则确定接收目标数据包与接收目标数据包的上一个数据包之间的时间间隔,上一个数据包对应于目标优先级中的目标数据流;
若时间间隔大于子流间隔时长,则确定目标数据包与上一个数据包分别属于不同的子流;
若时间间隔小于或等于子流间隔时长,则确定目标数据包与上一个数据包属于同一个子流;
发送单元603,还用于若目标数据包与上一个数据包分别属于不同的子流,则通过第二出接口转发目标数据包。
在一些可选的实施例中,
发送单元603,还用于若目标缓存小于第一门限值,则基于上一个数据包对应的第三出接口,转发目标数据包。在一些可选的实施例中,处理单元602,还用于:
接收第二数据包时,开启第一定时器;
若第一定时器记录的时长大于预设时长,则确定数据处理装置停止缓存第二数据包的时长大于预设时长。
在一些可选的实施例中,处理单元602,还用于:
在向上游设备发送暂停消息时,开启第二定时器;
若第二定时器记录的时长大于子流间隔时长,则确定数据处理装置停止缓存第二数据包的时长大于预设时长。
在一些可选的实施例中,接收单元601,还用于接收来自于上游设备的第二数据包;
处理单元602,还用于若当前时刻与第二数据包的接收时刻之间的差值,大于预设时长,则确定数据处理装置停止缓存第二数据包的时长大于预设时长。
在一些可选的实施例中,处理单元602,还用于:
若当前时刻与数据处理装置向上游设备发送暂停消息的时刻之间的差值,大于子流间隔时长,则确定数据处理装置停止缓存第二数据包的时长大于预设时长。
在一些可选的实施例中,预设时长包括子流间隔时长与飞行时长的差值,飞行时长为第一时刻和第二时刻之间差值的最大值,第一时刻为数据处理装置向上游设备发送暂停消息的时刻,第二时刻为数据处理装置接收第二数据包的时刻。
在一些可选的实施例中,接收单元601,还用于接收来自于上游设备的第三数据包;
处理单元602,还用于确定第三数据包与第一数据包或者第二数据包属于不同的子流。
在一些可选的实施例中,处理单元602,还用于若数据处理装置停止缓存第二数据包的时长小于或等于预设时长,和/或,目标缓存大于第二门限值,则控制数据处理装置不向上游设备发送恢复发送消息。
数据处理装置600可以执行前述图2所示实施例中下游设备所执行的操作,以及图3至图5所示实施例中网络设备所执行的操作,此处不再赘述。
下面对本申请实施例提供的网络设备进行说明,请参阅图7,图7为本申请实施例提供的网络设备的一个结构示意图。该网络设备700包括:处理器701和存储器702,存储器702中存储有一个或一个以上的应用程序或数据。
其中,存储器702可以是易失性存储或持久存储。存储在存储器702的程序可以包括一个或一个以上模块,每个模块可以用于执行网络设备700所执行的一系列操作。更进一步地,处理器701可以与存储器702通信,在网络设备700上执行存储器702中的一系列指令操作。处理器701可以是中央处理器(central processing units,CPU),也可以是单核处理器,除此之外,还可以是其他类型的处理器,例如双核处理器,具体此处不做限定。
网络设备700还可以包括一个或一个以上通信接口703,一个或一个以上操作系统,例如Windows Server TM,Mac OS X TM,Unix TM,Linux TM,FreeBSD TM等。
该网络设备700可以执行前述图2所示实施例中下游设备所执行的操作,以及图3至图5所示实施例中网络设备所执行的操作,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装 置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (26)

  1. 一种数据处理方法,其特征在于,包括:
    若网络设备上对应于目标优先级的目标缓存达到第一门限值,则所述网络设备向上游设备发送暂停消息,其中,所述暂停消息用于指示所述上游设备停止发送对应于所述目标优先级的第一数据包;
    若所述网络设备停止缓存第二数据包的时长大于预设时长,且所述目标缓存回落至第二门限值以下,则所述网络设备向所述上游设备发送恢复发送消息,其中,所述恢复发送消息用于指示所述上游设备向所述网络设备发送对应于所述目标优先级的第三数据包,所述第二数据包为所述网络设备发送所述暂停消息之后,且发送所述恢复发送消息之前缓存的对应于所述目标优先级的数据包。
  2. 根据权利要求1所述的方法,其特征在于,在所述网络设备向所述上游设备发送暂停消息之前,所述方法还包括:
    所述网络设备接收来自于所述上游设备发送的目标数据包,其中,所述目标数据包对应于所述目标优先级;
    若所述目标数据包为首个数据包,则所述网络设备基于等价多路由路径ECMP策略,确定所述目标数据包对应的第一出接口,其中,所述首个数据包为所述网络设备接收的第一个对应于所述目标优先级中目标数据流的数据包。
  3. 根据权利要求2所述的方法,其特征在于,在所述确定所述目标数据包对应的第一出接口之后,所述方法还包括:
    若所述目标缓存小于所述第一门限值,则网络设备基于所述第一出接口发送所述目标数据包。
  4. 根据权利要求2所述的方法,其特征在于,若所述目标数据包不是所述首个数据包,则所述网络设备确定接收所述目标数据包与接收所述目标数据包的上一个数据包之间的时间间隔,所述上一个数据包对应于所述目标优先级中的目标数据流;
    若所述时间间隔大于子流间隔时长,则所述网络设备确定所述目标数据包与所述上一个数据包分别属于不同的子流,并通过第二出接口转发所述目标数据包;
    若所述时间间隔小于或等于所述子流间隔时长,则所述网络设备确定所述目标数据包与所述上一个数据包属于同一个子流。
  5. 根据权利要求4所述的方法,其特征在于,在所述网络设备确定所述目标数据包与所述上一个数据包属于同一个子流之后,所述方法还包括:
    若所述目标缓存小于所述第一门限值,则所述网络设备基于所述上一个数据包对应的第三出接口转发所述第三数据包。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,在所述网络设备向上游设备发送暂停消息之后,所述方法还包括:
    所述网络设备接收所述第二数据包时,开启第一定时器;
    若所述第一定时器记录的时长大于所述预设时长,则所述网络设备确定所述网络设备停止缓存所述第二数据包的时长大于所述预设时长。
  7. 根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
    所述网络设备在向所述上游设备发送所述暂停消息时,开启第二定时器;
    若所述第二定时器记录的时长大于子流间隔时长,则所述网络设备确定所述网络设备停止缓存所述第二数据包的时长大于所述预设时长。
  8. 根据权利要求1至5中任一项所述的方法,其特征在于,在所述网络设备向上游设备发送暂停消息之后,所述方法还包括:
    所述网络设备接收来自于所述上游设备的所述第二数据包;
    若当前时刻与所述第二数据包的接收时刻之间的差值,大于所述预设时长,则所述网络设备确定所述网络设备停止缓存所述第二数据包的时长大于所述预设时长。
  9. 根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
    若当前时刻与所述网络设备向所述上游设备发送所述暂停消息的时刻之间的差值,大于子流间隔时长,则所述网络设备确定所述网络设备停止缓存所述第二数据包的时长大于所述预设时长。
  10. 根据权利要求1至9中任一项所述的方法,其特征在于,所述预设时长,包括:
    所述子流间隔时长与飞行时长的差值,所述飞行时长为第一时刻和第二时刻之间差值的最大值,所述第一时刻为所述网络设备向所述上游设备发送所述暂停消息的时刻,所述第二时刻为所述网络设备接收所述第二数据包的时刻。
  11. 根据权利要求1至10中任一项所述的方法,其特征在于,在所述网络设备向所述上游设备发送所述恢复发送消息之后,所述方法还包括:
    所述网络设备接收来自于所述上游设备的所述第三数据包,并确定所述第三数据包与所述第一数据包或者所述第二数据包属于不同的子流。
  12. 根据权利要求1至11中任一项所述的方法,其特征在于,若所述网络设备停止缓存所述第二数据包的时长小于或等于所述预设时长,和/或,所述目标缓存大于所述第二门限值,则所述网络设备不向所述上游设备发送所述恢复发送消息。
  13. 一种数据处理装置,其特征在于,包括:
    发送单元,用于:
    若所述数据处理装置上对应于目标优先级的目标缓存达到第一门限值,则向上游设备发送暂停消息,其中,所述暂停消息用于指示所述上游设备停止发送对应于所述目标优先级的第一数据包;
    若所述数据处理装置停止缓存第二数据包的时长大于预设时长,且所述目标缓存回落至第二门限值以下,则向所述上游设备发送恢复发送消息,其中,所述恢复发送消息用于指示所述上游设备向所述数据处理装置发送对应于所述目标优先级的第三数据包,所述第二数据包为所述数据处理装置发送所述暂停消息之后,且发送所述恢复发送消息之前缓存的对应于所述目标优先级的数据包。
  14. 根据权利要求13所述的数据处理装置,其特征在于,所述数据处理装置还包括:接收单元和处理单元;
    所述接收单元,用于接收来自于所述上游设备发送的目标数据包,其中,所述目标数 据包对应于所述目标优先级;
    所述处理单元,用于若所述目标数据包为首个数据包,则基于ECMP策略,确定所述目标数据包对应的第一出接口,其中,所述首个数据包为所述数据处理装置接收的第一个对应于所述目标优先级中目标数据流的数据包。
  15. 根据权利要求14所述的数据处理装置,其特征在于,所述发送单元,还用于若所述目标缓存小于所述第一门限值,则基于所述第一出接口发送所述目标数据包。
  16. 根据权利要求14所述的数据处理装置,其特征在于,所述处理单元,还用于:
    若所述目标数据包不是所述首个数据包,则确定接收所述目标数据包与接收所述目标数据包的上一个数据包之间的时间间隔,所述上一个数据包对应于所述目标优先级中的目标数据流;
    若所述时间间隔大于子流间隔时长,则确定所述目标数据包与所述上一个数据包分别属于不同的子流;
    若所述时间间隔小于或等于所述子流间隔时长,则确定所述目标数据包与所述上一个数据包属于同一个子流;
    所述发送单元,还用于若所述目标数据包与所述上一个数据包分别属于不同的子流,则通过第二出接口转发所述目标数据包。
  17. 根据权利要求16所述的数据处理装置,其特征在于,所述发送单元,还用于若所述目标缓存小于所述第一门限值,则基于所述上一个数据包对应的第三出接口,转发所述目标数据包。
  18. 根据权利要求13至17中任一项所述的数据处理装置,其特征在于,所述处理单元,还用于:
    接收所述第二数据包时,开启第一定时器;
    若所述第一定时器记录的时长大于所述预设时长,则确定所述数据处理装置停止缓存所述第二数据包的时长大于所述预设时长。
  19. 根据权利要求13至17中任一项所述的数据处理装置,其特征在于,所述处理单元,还用于:
    在向所述上游设备发送所述暂停消息时,开启第二定时器;
    若所述第二定时器记录的时长大于子流间隔时长,则确定所述数据处理装置停止缓存所述第二数据包的时长大于所述预设时长。
  20. 根据权利要求13至17中任一项所述的数据处理装置,其特征在于,所述接收单元,还用于接收来自于所述上游设备的所述第二数据包;
    所述处理单元,还用于若当前时刻与所述第二数据包的接收时刻之间的差值,大于所述预设时长,则确定所述数据处理装置停止缓存所述第二数据包的时长大于所述预设时长。
  21. 根据权利要求13至17中任一项所述的数据处理装置,其特征在于,所述处理单元,还用于:
    若当前时刻与所述数据处理装置向所述上游设备发送所述暂停消息的时刻之间的差值,大于子流间隔时长,则确定所述数据处理装置停止缓存所述第二数据包的时长大于所述预 设时长。
  22. 根据权利要求13至21中任一项所述的数据处理装置,其特征在于,所述预设时长,包括:
    所述子流间隔时长与飞行时长的差值,所述飞行时长为第一时刻和第二时刻之间差值的最大值,所述第一时刻为所述数据处理装置向所述上游设备发送所述暂停消息的时刻,所述第二时刻为所述数据处理装置接收所述第二数据包的时刻。
  23. 根据权利要求13至22中任一项所述的数据处理装置,其特征在于,所述接收单元,还用于接收来自于所述上游设备的所述第三数据包;
    所述处理单元,还用于确定所述第三数据包与所述第一数据包或者第二数据包属于不同的子流。
  24. 根据权利要求13至23中任一项所述的数据处理装置,其特征在于,所述处理单元,还用于若所述数据处理装置停止缓存第二数据包的时长小于或等于所述预设时长,和/或,所述目标缓存大于所述第二门限值,则控制所述数据处理装置不向所述上游设备发送所述恢复发送消息。
  25. 一种网络设备,其特征在于,包括:处理器、存储器和通信接口;
    所述处理器、所述存储器与所述通信接口相连;
    所述处理器用于执行权利要求1至12中任一项所述的方法。
  26. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中保存有程序,当所述计算机执行所述程序时,执行权利要求1至12中任一项所述的方法。
PCT/CN2021/140398 2021-05-21 2021-12-22 一种数据处理方法以及相关设备 Ceased WO2022242170A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21940612.1A EP4329261A4 (en) 2021-05-21 2021-12-22 DATA PROCESSING METHOD AND ASSOCIATED DEVICE
US18/514,378 US20240089214A1 (en) 2021-05-21 2023-11-20 Data processing method and related device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110559029.3A CN115378955A (zh) 2021-05-21 2021-05-21 一种数据处理方法以及相关设备
CN202110559029.3 2021-05-21

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/514,378 Continuation US20240089214A1 (en) 2021-05-21 2023-11-20 Data processing method and related device

Publications (1)

Publication Number Publication Date
WO2022242170A1 true WO2022242170A1 (zh) 2022-11-24

Family

ID=84059637

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/140398 Ceased WO2022242170A1 (zh) 2021-05-21 2021-12-22 一种数据处理方法以及相关设备

Country Status (4)

Country Link
US (1) US20240089214A1 (zh)
EP (1) EP4329261A4 (zh)
CN (1) CN115378955A (zh)
WO (1) WO2022242170A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116887418A (zh) * 2023-09-05 2023-10-13 浙江国利信安科技有限公司 Epa网络中对高优先级消息进行调度的方法、设备和介质
US12010028B1 (en) 2023-05-17 2024-06-11 Huawei Technologies Co., Ltd. Method and apparatus for proactively forming flowlets for a flow in communication network

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116488957B (zh) * 2023-04-25 2023-10-20 南京金阵微电子技术有限公司 信号处理方法、系统及桥接器
US20250150372A1 (en) * 2023-11-06 2025-05-08 Electronics And Telecommunications Research Institute Method and apparatus for estimating total link service rate using packet metadata

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120170462A1 (en) * 2011-01-05 2012-07-05 Alcatel Lucent Usa Inc. Traffic flow control based on vlan and priority
WO2016086385A1 (zh) * 2014-12-04 2016-06-09 华为技术有限公司 一种拥塞控制的方法、设备和系统
WO2018113426A1 (zh) * 2016-12-23 2018-06-28 华为技术有限公司 一种流量控制方法及交换设备
CN109818879A (zh) * 2017-11-22 2019-05-28 华为技术有限公司 流量控制方法及装置
CN110266604A (zh) * 2019-07-09 2019-09-20 京信通信系统(中国)有限公司 空口带宽自适应控制方法、装置和通信设备
US20200287833A1 (en) * 2019-03-08 2020-09-10 Hewlett Packard Enterprise Development Lp Cost effective congestion isolation for lossless ethernet

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9467522B2 (en) * 2013-07-19 2016-10-11 Broadcom Corporation Ingress based headroom buffering for switch architectures

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120170462A1 (en) * 2011-01-05 2012-07-05 Alcatel Lucent Usa Inc. Traffic flow control based on vlan and priority
WO2016086385A1 (zh) * 2014-12-04 2016-06-09 华为技术有限公司 一种拥塞控制的方法、设备和系统
WO2018113426A1 (zh) * 2016-12-23 2018-06-28 华为技术有限公司 一种流量控制方法及交换设备
CN109818879A (zh) * 2017-11-22 2019-05-28 华为技术有限公司 流量控制方法及装置
US20200287833A1 (en) * 2019-03-08 2020-09-10 Hewlett Packard Enterprise Development Lp Cost effective congestion isolation for lossless ethernet
CN110266604A (zh) * 2019-07-09 2019-09-20 京信通信系统(中国)有限公司 空口带宽自适应控制方法、装置和通信设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4329261A4

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12010028B1 (en) 2023-05-17 2024-06-11 Huawei Technologies Co., Ltd. Method and apparatus for proactively forming flowlets for a flow in communication network
CN116887418A (zh) * 2023-09-05 2023-10-13 浙江国利信安科技有限公司 Epa网络中对高优先级消息进行调度的方法、设备和介质
CN116887418B (zh) * 2023-09-05 2023-12-15 浙江国利信安科技有限公司 Epa网络中对高优先级消息进行调度的方法、设备和介质

Also Published As

Publication number Publication date
EP4329261A4 (en) 2024-10-16
EP4329261A1 (en) 2024-02-28
US20240089214A1 (en) 2024-03-14
CN115378955A (zh) 2022-11-22

Similar Documents

Publication Publication Date Title
WO2022242170A1 (zh) 一种数据处理方法以及相关设备
JP7212441B2 (ja) ネットワークにおけるフロー管理
US8854971B2 (en) System and method employing intelligent feedback mechanisms for traffic suspension on a client device
CN109120544B (zh) 一种数据中心网络中基于主机端流量调度的传输控制方法
CN115134302B (zh) 一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法
WO2018113426A1 (zh) 一种流量控制方法及交换设备
CN106533960A (zh) 一种基于Fat‑Tree结构的数据中心网络路由方法
WO2021227947A1 (zh) 网络控制方法及设备
CN108092888A (zh) 一种基于Overlay网络的传输方法、网关及传输系统
CN103647722A (zh) 一种基于信誉的链路拥塞控制方法
WO2017025021A1 (zh) 一种处理流表的方法及装置
Devkota et al. Performance of quantized congestion notification in TCP incast scenarios of data centers
CN111224888A (zh) 发送报文的方法及报文转发设备
CN115460156A (zh) 一种数据中心无损网络拥塞控制方法、装置、设备及介质
CN115766605A (zh) 网络拥塞控制方法、装置及系统
CN106101005B (zh) 一种数据中心网络中基于分组长度的拥塞控制方法
CN105391647A (zh) 一种流量控制的方法及系统
Le et al. Sfc: Near-source congestion signaling and flow control
Deng et al. BBR-based and fairness-guaranteed congestion control and packet scheduling for MPQUIC over heterogeneous networks
CN116346756A (zh) 报文转发方法及相关装置
CN119011476B (zh) 快速传递ecn拥塞信息的方法和系统
CN112787919A (zh) 报文传输方法及设备、可读介质
Jouet et al. Measurement-based TCP parameter tuning in cloud data centers
Yan et al. Pcnp: A rocev2 congestion control using precise cnp
Wang et al. eMPTCP: Towards high performance multipath data transmission by leveraging SDN

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21940612

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2021940612

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2021940612

Country of ref document: EP

Effective date: 20231121

NENP Non-entry into the national phase

Ref country code: DE