CN115378955A - 一种数据处理方法以及相关设备 - Google Patents
一种数据处理方法以及相关设备 Download PDFInfo
- Publication number
- CN115378955A CN115378955A CN202110559029.3A CN202110559029A CN115378955A CN 115378955 A CN115378955 A CN 115378955A CN 202110559029 A CN202110559029 A CN 202110559029A CN 115378955 A CN115378955 A CN 115378955A
- Authority
- CN
- China
- Prior art keywords
- data packet
- target
- network device
- packet
- duration
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 125
- 230000005540 biological transmission Effects 0.000 claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 35
- 239000000872 buffer Substances 0.000 claims description 17
- 230000003139 buffering effect Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/266—Stopping or restarting the source, e.g. X-on or X-off
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Abstract
本申请实施例公开了一种数据处理方法以及相关设备,用于提升数据传输的稳定性和可靠性。本申请实施例方法包括:若网络设备上对应于目标优先级的目标缓存达到第一门限值,网络设备向上游设备发送暂停消息,使得上游设备停止发送对应于目标优先级的第一数据包。若网络设备停止缓存第二数据包的时长大于预设时长,且目标缓存回落至第二门限值以下,网络设备向上游设备发送恢复发送消息,使得上游设备发送对应于目标优先级的第三数据包。其中,第二数据包为网络设备发送暂停消息之后,发送恢复发送消息之前缓存的对应于目标优先级的数据包。
Description
技术领域
本申请实施例涉及通信领域,尤其涉及一种数据处理方法以及相关设备。
背景技术
伴随着社会经济的快速增长,数据中心行业也在全球蓬勃发展。数据中心也逐渐成为和人力资源、自然资源一样重要的战略资源。在信息时代的背景下,只有对数据进行大规模和灵活地应用,才能促使我国数据中心行业快速稳步发展。如何使得数据中心中的大量数据得以稳定传输,也成为了亟需解决的问题。
一种数据处理方法中,网络设备可以根据数据包的接收时刻之间的时间间隔,将数据流切分为包含多个数据包的多个子流(flowlet),并按照子流的管理粒度选择负载较轻的链路进行数据包的转发,使得同一个子流中的数据包在同一个链路上进行转发。
在这种数据包的处理方法中,若子流中数据包的数据量过大,在进行转发时,容易出现链路拥塞,导致丢包等情况发生,影响数据传输的稳定性和可靠性。
发明内容
本申请实施例提供了一种数据处理方法以及相关设备,通过控制上游设备的等待时间,将数据流中的数据包分散到不同的子流中,缓解了传输链路的拥塞,提升了数据传输的稳定性和可靠性。
本申请实施例第一方面提供了一种数据处理方法,包括:
在数据传输过程中,网络设备可以接收到来自于上游设备的对应于至少一个优先级的数据包,由于网络设备的处理能力和缓存空间的大小有限,网络设备可以为各个优先级设定缓存门限值,从而保证网络设备的正常运作。若网络设备上对应于目标优先级的目标缓存达到第一门限值,则意味着网络设备的缓存空间不足,网络设备可以向上游设备发送暂停消息,该暂停消息用于指示上游设备停止发送对应于目标优先级的第一数据包。由于网络存在时延,网络设备向上游设备发送的暂停消息需要经过一段时间才能被上游设备接收,同时,上游设备根据该暂停消息做出反应也需要一定的时间。在这段时间内,上游设备会向网络设备发送对应于目标优先级的第二数据包。也就是说,网络设备会继续缓存来自于上游设备的第二数据包。
网络设备还可以向下游设备发送第一数据包和第二数据包中的至少一项,使得目标缓存下降,从而减少报文积压。当目标缓存回落至第二门限值以下时,意味着网络设备的缓存空间有了富余,可以继续缓存对应于目标优先级的数据包。其中,目标缓存回落至第二门限值以下包括目标缓存小于或等于第二门限值。
如果网络设备停止缓存第二数据包的时长大于预设时长,且目标缓存回落至第二门限值以下,则网络设备会向上游设备发送恢复发送消息,该恢复发送消息用于指示上游设备向网络设备发送对应于目标优先级的第三数据包。其中,网络设备停止缓存第二数据包的时长大于第一预设时长,意味着网络设备接收第一数据包或者第二数据包的时刻与接收第三数据包的时刻之间的时间间隔超过了子流间隔时长,第一数据包或者第二数据包,与第三数据包属于不同的子流。
本申请实施例中,在缓存空间不足的情况下,网络设备会向上游设备发送暂停消息,使得上游设备停止发送对应于目标优先级的数据包。网络设备还会控制上游设备停止发送数据包的时长,使得数据流中的数据包分散到不同的子流中,从而缓解了传输链路的拥塞程度,提升了数据传输的稳定性和可靠性。
结合第一方面,本申请实施例第一方面的第一种实现方式中,网络设备在向上游设备发送暂停消息之前,会判断接收的对应于目标优先级的目标数据包是否为首个数据包,并根据结果对该目标数据包进行处理。其中,首个数据包是指,网络设备接收的第一个对应于目标优先级中目标数据流的数据包。具体来说,若网络设备确定目标数据包为首个数据包,则网络设备可以查询转发表得到多个出接口,并基于等价多路由路径(equal-costmulti-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 ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
该网络设备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中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110559029.3A CN115378955A (zh) | 2021-05-21 | 2021-05-21 | 一种数据处理方法以及相关设备 |
EP21940612.1A EP4329261A1 (en) | 2021-05-21 | 2021-12-22 | Data processing method and related device |
PCT/CN2021/140398 WO2022242170A1 (zh) | 2021-05-21 | 2021-12-22 | 一种数据处理方法以及相关设备 |
US18/514,378 US20240089214A1 (en) | 2021-05-21 | 2023-11-20 | Data processing method and related device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110559029.3A CN115378955A (zh) | 2021-05-21 | 2021-05-21 | 一种数据处理方法以及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115378955A true CN115378955A (zh) | 2022-11-22 |
Family
ID=84059637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110559029.3A Pending CN115378955A (zh) | 2021-05-21 | 2021-05-21 | 一种数据处理方法以及相关设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240089214A1 (zh) |
EP (1) | EP4329261A1 (zh) |
CN (1) | CN115378955A (zh) |
WO (1) | WO2022242170A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116488957A (zh) * | 2023-04-25 | 2023-07-25 | 南京金阵微电子技术有限公司 | 信号处理方法、系统及桥接器 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116887418B (zh) * | 2023-09-05 | 2023-12-15 | 浙江国利信安科技有限公司 | Epa网络中对高优先级消息进行调度的方法、设备和介质 |
Family Cites Families (6)
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 |
CN106134138B (zh) * | 2014-12-04 | 2020-02-21 | 华为技术有限公司 | 一种拥塞控制的方法、设备和系统 |
CN108243116B (zh) * | 2016-12-23 | 2021-09-14 | 华为技术有限公司 | 一种流量控制方法及交换设备 |
CN109818879A (zh) * | 2017-11-22 | 2019-05-28 | 华为技术有限公司 | 流量控制方法及装置 |
US11349761B2 (en) * | 2019-03-08 | 2022-05-31 | Hewlett Packard Enterprise Development Lp | Cost effective congestion isolation for lossless ethernet |
CN110266604B (zh) * | 2019-07-09 | 2023-09-01 | 京信网络系统股份有限公司 | 空口带宽自适应控制方法、装置和通信设备 |
-
2021
- 2021-05-21 CN CN202110559029.3A patent/CN115378955A/zh active Pending
- 2021-12-22 WO PCT/CN2021/140398 patent/WO2022242170A1/zh active Application Filing
- 2021-12-22 EP EP21940612.1A patent/EP4329261A1/en active Pending
-
2023
- 2023-11-20 US US18/514,378 patent/US20240089214A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116488957A (zh) * | 2023-04-25 | 2023-07-25 | 南京金阵微电子技术有限公司 | 信号处理方法、系统及桥接器 |
CN116488957B (zh) * | 2023-04-25 | 2023-10-20 | 南京金阵微电子技术有限公司 | 信号处理方法、系统及桥接器 |
Also Published As
Publication number | Publication date |
---|---|
WO2022242170A1 (zh) | 2022-11-24 |
EP4329261A1 (en) | 2024-02-28 |
US20240089214A1 (en) | 2024-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113785541A (zh) | 用于在存在错误的情况下的即时路由的系统和方法 | |
KR100666980B1 (ko) | 트래픽 폭주 제어 방법 및 이를 구현하기 위한 장치 | |
US11870698B2 (en) | Congestion control method and apparatus, communications network, and computer storage medium | |
CN109391557B (zh) | 网络交换机设备中的拥塞避免 | |
US7190669B2 (en) | System, method and computer readable medium for flow control of data traffic | |
US20060203730A1 (en) | Method and system for reducing end station latency in response to network congestion | |
CN111713056B (zh) | 一种数据包发送方法及相关设备 | |
CN115378955A (zh) | 一种数据处理方法以及相关设备 | |
US7675898B2 (en) | Session relay apparatus for relaying data, and a data relaying method | |
Wallace et al. | Concurrent multipath transfer using SCTP: Modelling and congestion window management | |
CN111147573A (zh) | 一种数据传输的方法和装置 | |
CN115134308A (zh) | 数据中心无损网络中通过数据包弹跳避免队头阻塞的方法 | |
WO2008066429A1 (en) | A method for improved handling of traffic congestion in a wireless telecommunications system | |
CN113746743A (zh) | 一种数据报文传输方法及装置 | |
CN111431812B (zh) | 一种报文转发控制方法及装置 | |
US10608948B1 (en) | Enhanced congestion avoidance in network devices | |
US9882820B2 (en) | Communication apparatus | |
US11677673B1 (en) | Low latency flow control in data centers | |
US20220141137A1 (en) | Flow rate control method and apparatus | |
CN115134302A (zh) | 一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法 | |
CN112532535B (zh) | 一种用于优化网络拥塞的方法和装置 | |
CN115022227B (zh) | 数据中心网中基于循环或重路由的数据传输方法和系统 | |
JP5747280B2 (ja) | 通信制御システム及び通信制御方法 | |
WO2022126411A1 (zh) | 一种网络拥塞管理方法以及相关装置 | |
Miao et al. | Buffer sizing with HPCC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |