CN113992588B - 数据传输方法、装置、电子设备及可读存储介质 - Google Patents
数据传输方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN113992588B CN113992588B CN202111226345.5A CN202111226345A CN113992588B CN 113992588 B CN113992588 B CN 113992588B CN 202111226345 A CN202111226345 A CN 202111226345A CN 113992588 B CN113992588 B CN 113992588B
- Authority
- CN
- China
- Prior art keywords
- congestion
- node
- network
- estimated value
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000005540 biological transmission Effects 0.000 title claims abstract description 52
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000011084 recovery Methods 0.000 claims abstract description 12
- 239000000872 buffer Substances 0.000 claims description 48
- 230000008569 process Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 230000001960 triggered effect Effects 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种数据传输方法、装置、电子设备及可读存储介质。其中,方法包括当检测到网络拥塞时,根据每个拥塞节点的子节点和母节点的网络状态信息确定相应拥塞路径对应的拥塞时长估计值;根据每条拥塞路径对应的拥塞时长估计值确定各拥塞节点的最大拥塞疏通时间估计值;最大拥塞疏通时间估计值作为上游节点的超时时间;对每个拥塞节点,将携带最大拥塞疏通时间估计值的PAUSE帧发送给相对应的上游节点;若网络提前完成缓存发送操作,向相应上游节点发送网络恢复请求;若网络发生死锁,则通过超时处理触发网络疏通操作,本申请可有效提高数据传输效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据传输方法、装置、电子设备及可读存储介质。
背景技术
随着高性能计算、大数据分析、人工智能以及物联网等技术的飞速发展,集中式存储、分布式存储以及云数据库的普及,业务应用有越来越多的数据需要从网络中获取,对数据中心网络的交换速度和性能要求越来越高。为了解决传统的TCP/IP(TransmissionControl Protocol/Internet Protocol,传输控制协议/网际协议)软硬件架构及应用存在着网络传输和数据处理的延迟过大、存在多次数据拷贝和中断处理、复杂的TCP/IP协议处理等问题,RDMA(Remote Direct Memory Access,远程直接内存访问)技术应用而生,RDMA可解决网络传输中服务器端数据处理延迟。RDMA将用户应用中的数据直接传入服务器的存储区,通过网络将数据从一个系统快速传输到远程系统的存储器中,消除了传输过程中多次数据复制和文本交换的操作,降低了CPU(central processing unit,中央处理器)的负载。RDMA通过网卡硬件现实数据搬运,跳过了CPU参与网络协议栈,所以具有高带宽和低时延的优势。RDMA技术主要包括:IB(InfiniBand):基于InfiniBand架构的RDMA技术,由IBTA(InfiniBand Trade Association)提出;搭建基于IB技术的RDMA网络需要专用的IB网卡和IB交换机。iWARP(Internet Wide Area RDMA Protocal):基于TCP/IP协议的RDMA技术,由IETF标准定义;iWARP支持在标准以太网基础设施上使用RDMA技术,但服务器需要使用支持iWARP的网卡。RoCE(RDMA over Converged Ethernet,允许通过以太网络使用RDMA):基于以太网的RDMA技术,RoCE支持在标准以太网基础设施上使用RDMA技术,但是需要交换机支持无损以太网传输,需要服务器使用RoCE网卡。
对于运行在以太网的RDMA技术即RoCE,在将用户应用中的数据通过以太网直接传入服务器的存储区的过程中,会发生RoCE拥塞现象。具体来说,整个链路流控,下游发现拥堵,向上游发送PAUSE帧。结合图1来说,当F0/1在转发报文出现拥塞时,交换机B会在端口缓冲区中排队报文,当拥塞超过一定阈值时,端口G0/2向G0/1发PAUSE帧,通知G0/1暂时停止发送报文。G0/1接收到PAUSE帧后暂时停止向G0/2发送报文。暂停时间长短信息由PAUSE帧所携带。交换机A会在这个超时范围内等待,或者直到收到一个Timeout值为0的控制帧后再继续发送。相关技术这种直接向上游设备发送PAUSE帧,等到自身缓存释放以后,再发送继续发送帧给上游设备。一旦出现PFC(Priority Flow Control,优先级的流量控制)死锁问题不好破环,需要依靠定时查询等技术手段检测是否处于PFC死锁状态并破除死锁。或者凭借经验设置一个超时时间,当超时后,上游设备继续发送报文。PFC死锁是指当多个交换机之间因微环路等原因同时出现拥塞,各自端口缓存消耗超过阈值,而又相互等待对方释放资源,从而导致所有交换机上的数据流都永久阻塞的一种网络状态。正常情况下,当一台交换机的端口出现拥塞并触发XOFF水线时,即下游设备将发送PAUSE帧反压,上游设备接收到PAUSE帧后停止发送数据,如果上游设备本地端口缓存消耗超过阈值,则继续向上游反压。如此一级一级反压,直到网络终端服务器在PAUSE帧中指定Pause时间内暂停发送数据,从而消除网络节点因拥塞造成的丢包。但在特殊情况下,例如发生链路故障或设备故障时,BGP路由重新收敛期间可能会出现短暂环路,会导致出现一个循环的缓冲区依赖。如图2和图3所示,当4台交换机都达到XOFF水线,都同时向对端发送PAUSE帧,这个时候该拓扑中所有交换机都处于停流状态,由于PFC的反压效应,整个网络或部分网络的吞吐量将变为零。
但是,无论是定时检测还是设置超时时间,均涉及到凭借用户经验设置经验时间。对于定时检查的超时时间,如果太短会引起不必要的通信负担,如果太长会导致网络长时间中断。对于设置超时时间,这个超时时间设置太长会导致效率太低,太短会导致设备并没有发完缓存中的数据导致拥塞加重。可见,由于这个经验时间往往很难设置精准,导致数据传输效率较低。
发明内容
本申请提供了一种数据传输方法、装置、电子设备及可读存储介质,可提高数据传输效率。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种数据传输方法,包括:
当检测到网络拥塞时,根据每个拥塞节点的子节点和母节点的网络状态信息确定相应拥塞路径对应的拥塞时长估计值;
根据每条拥塞路径对应的拥塞时长估计值确定各拥塞节点的最大拥塞疏通时间估计值;最大拥塞疏通时间估计值作为上游节点的超时时长;
对每个拥塞节点,将携带最大拥塞疏通时间估计值的PAUSE帧发送给相对应的上游节点;
若网络提前完成缓存发送操作,向相应上游节点发送网络恢复请求;若网络发生死锁,则通过超时处理触发网络疏通操作。
可选的,根据每条拥塞路径对应的拥塞时长估计值确定各拥塞节点的最大拥塞疏通时间估计值,包括:
对每个拥塞节点,计算当前拥塞节点分别向母节点、子节点和兄弟节点发送缓存的第一拥塞时长估计值、第二拥塞时长估计值和第三拥塞时长估计值;
将第一拥塞时长估计值、第二拥塞时长估计值和第三拥塞时长估计值中的最大值作为当前拥塞节点的最大拥塞疏通时间估计值。
可选的,计算当前拥塞节点分别向母节点、子节点和兄弟节点发送缓存的第一拥塞时长估计值、第二拥塞时长估计值和第三拥塞时长估计值,包括:
调用母节点拥塞时长预估关系式,计算当前拥塞节点向母节点发送缓存的第一拥塞时长估计值;母节点拥塞时长预估关系式为:
式中,t1为第一拥塞时长估计值,m为子节点总数,M1为从拥塞节点向母节点发送数据所在拥塞路径的拥塞缓存容量值,B1为通往母节点的网络带宽值,A为第一网络属性因子。
可选的,计算当前拥塞节点分别向母节点、子节点和兄弟节点发送缓存的第一拥塞时长估计值、第二拥塞时长估计值和第三拥塞时长估计值,包括:
调用子节点拥塞时长预估关系式,计算当前拥塞节点向子节点发送缓存的第二拥塞时长估计值;子节点拥塞时长预估关系式为:
式中,t2为第二拥塞时长估计值,M2为从拥塞节点向子节点发送数据所在拥塞路径的拥塞缓存容量值,B2为通往子节点的网络带宽值,B为第二网络属性因子。
可选的,计算当前拥塞节点分别向母节点、子节点和兄弟节点发送缓存的第一拥塞时长估计值、第二拥塞时长估计值和第三拥塞时长估计值,包括:
调用同级节点拥塞时长预估关系式,计算当前拥塞节点向兄弟节点发送缓存的第三拥塞时长估计值;同级节点拥塞时长预估关系式为:
式中,t3为第一拥塞时长估计值,M3为从拥塞节点向兄弟节点发送数据所在拥塞路径的拥塞缓存容量值,B3为通往兄弟节点的网络带宽值,C为第三网络属性因子。
可选的,根据每个拥塞节点的子节点和母节点的网络状态信息确定相应拥塞路径对应的拥塞时长估计值之前,还包括:
预先为去往母节点的负载设置流量阈值,以使各网络节点与相应母节点之间的流量大于等于流量阈值;
预先为各兄弟节点间的流量差值设置最小流量阈值,以使同级网络节点所分配的流量值相接近。
可选的,根据每个拥塞节点的子节点和母节点的网络状态信息确定相应拥塞路径对应的拥塞时长估计值之前,还包括:
对发送至同一个端口的数据,设置拥塞缓存数据的优先级高于新生成数据的优先级。
本发明实施例另一方面提供了一种数据传输装置,包括:
拥塞时长估计模块,用于当检测到网络拥塞时,根据每个拥塞节点的子节点和母节点的网络状态信息确定相应拥塞路径对应的拥塞时长估计值;
超时设置模块,用于根据每条拥塞路径对应的拥塞时长估计值确定各拥塞节点的最大拥塞疏通时间估计值;最大拥塞疏通时间估计值作为上游节点的超时时间;
指令发送模块,用于对每个拥塞节点,将携带最大拥塞疏通时间估计值的PAUSE帧发送给相对应的上游节点;
恢复请求模块,用于若网络提前完成缓存发送操作,向相应上游节点发送网络恢复请求;
超时处理模块,用于若网络发生死锁,则通过超时处理触发网络疏通操作。
本发明实施例还提供了一种电子设备,包括处理器,处理器用于执行存储器中存储的计算机程序时实现如前任一项数据传输方法的步骤。
本发明实施例最后还提供了一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前任一项数据传输方法的步骤。
本申请提供的技术方案的优点在于,获取每个网络设备连接的子节点设备和更高层设备母节点信息的网络参数信息,通过网络状态信息的搜集,预估当前网络状态下,并计算发送当前缓存需要的最大时长,在此基础上整合整条路径上的拥塞时长预估统合取最大者,并将最大时长预估设置为上游设备超时时间。拥塞节点发送数据直至拥塞疏通时间估计最大值,并通过这个时间设置超时。如果网络没有死锁,拥塞节点至少会在这个预估时间内畅通,这时发送网络恢复请求给上游节点。如果死锁,等待超时处理,因为超时时间几乎等同最大吞吐量清空缓存的时间,所以不会死锁太久。仅需要很短的时间就能自动恢复网络,有效提升数据传输效率,也无需定时检查网络是否死锁。
此外,本发明实施例还针对数据传输方法提供了相应的实现装置、电子设备及可读存储介质,进一步使得方法更具有实用性,装置、电子设备及可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一个示例性应用场景中RoCE的数据传输示意图;
图2为本发明实施例提供的一个示例性应用场景中PFC死锁原理示意图;
图3为本发明实施例提供的另一个示例性应用场景中PFC死锁原理的示意图;
图4为本发明实施例提供的一种数据传输方法的流程示意图;
图5为本发明实施例提供的数据中心的网络架构示意图;
图6为本发明实施例提供的数据传输装置的一种具体实施方式结构图;
图7为本发明实施例提供的电子设备的一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图4,图4为本发明实施例提供的一种数据传输方法的流程示意图,本发明实施例可包括以下内容:
S401:当检测到网络拥塞时,根据每个拥塞节点的子节点和母节点的网络状态信息确定相应拥塞路径对应的拥塞时长估计值。
本实施例应用于数据中心,数据中心具有例如图5所示的网络结构,由于数据中心具有稳定的网络结构,所以可以通过每个网络设备连接的子节点设备和更高层设备母节点信息,去获取发送当前缓存需要的最大时长也即预估拥塞时长。在执行S101之前,需要进行初始化处理,所谓初始化处理也即各个网络节点搜集自己的子节点和母节点的网络状态信息,网络状态信息包括子节点总数、网络吞吐量、网络带宽和缓存容量值等。当网络拥塞时,基于初始化所搜集的信息,确定整个拥塞路径的拥塞时长估计值,所谓的拥塞时长估计值是指当前拥塞的网络节点将自己的缓存发送至目的网络节点所需时长,目的网络节点包括但并不限制于同级的兄弟网络节点,子网络节点和母网络节点。
S402:根据每条拥塞路径对应的拥塞时长估计值确定各拥塞节点的最大拥塞疏通时间估计值。
可以理解的是,对每个网络节点来说,其可能同时对子节点、母节点和同级兄弟节点均发送数据,相应的,若该节点发生拥塞,则其具体至少三条拥塞路径,而每条拥塞路径所需的发送完缓存数据的时长不同,为了保证拥塞节点可将缓存均成功发送,逐级同步拥塞时长估计值,可根据每条拥塞路径对应的拥塞时长估计值来确定该拥塞节点的最大拥塞疏通时间估计值。同时最大拥塞疏通时间估计值作为上游节点PAUSE帧超时时间,以便在触发超时处理时基于该超时时长进行疏通操作。
S403:对每个拥塞节点,将携带最大拥塞疏通时间估计值的PAUSE帧发送给相对应的上游节点。
其中,PAUSE帧是MAC控制帧的一种,用于控制数据流停止发送,在MAC发送侧产生,在MAC接收侧解析并执行。当拥塞节点输入数据量过大,无法及时处理时会在此端发送侧MAC产生PAUSE帧,发给对端,要求对端在一定时间内停止发送数据。
S404:若网络提前完成缓存发送操作,向相应上游节点发送网络恢复请求;若网络发生死锁,则通过超时处理触发网络疏通操作。
在本实施例中,如果网络没有死锁,拥塞节点至少会在最大拥塞疏通时间估计值内畅通,这时发送网络恢复请求给上游节点。如果死锁,等待超时处理,因为超时几乎等同最大吞吐量清空缓存的时间,所以不会死锁太久,从而通过PAUSE帧时长可破解RoCE PFC死锁。
在本发明实施例提供的技术方案中,获取每个网络设备连接的子节点设备和更高层设备母节点信息的网络参数信息,通过网络状态信息的搜集,预估当前网络状态下,并计算发送当前缓存需要的最大时长,在此基础上整合整条路径上的拥塞时长预估统合取最大者,并将最大时长预估设置为上游设备超时时间。拥塞节点发送数据直至拥塞疏通时间估计最大值,并通过这个时间设置超时。如果网络没有死锁,拥塞节点至少会在这个预估时间内畅通,这时发送网络恢复请求给上游节点。如果死锁,等待超时处理,因为超时时间几乎等同最大吞吐量清空缓存的时间,所以不会死锁太久。仅需要很短的时间就能自动恢复网络,有效提升数据传输效率,也无需定时检查网络是否死锁。
需要说明的是,本申请中各步骤间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图4只是一种示意方式,并不代表只能是这样的执行顺序。
在上述实施例中,对于如何执行步骤S103并不做限定,本实施例中给出各拥塞节点的最大拥塞疏通时间估计值的一种可选的计算方式,可包括如下步骤:
对每个拥塞节点,计算当前拥塞节点分别向母节点、子节点和兄弟节点发送缓存的第一拥塞时长估计值、第二拥塞时长估计值和第三拥塞时长估计值;
将第一拥塞时长估计值、第二拥塞时长估计值和第三拥塞时长估计值中的最大值作为当前拥塞节点的最大拥塞疏通时间估计值。
其中,可调用母节点拥塞时长预估关系式,计算当前拥塞节点向母节点发送缓存的第一拥塞时长估计值;母节点拥塞时长预估关系式为:
式中,t1为第一拥塞时长估计值,m为子节点总数,M1为从拥塞节点向母节点发送数据所在拥塞路径的拥塞缓存容量值,B1为通往母节点的网络带宽值,A为第一网络属性因子。A为固定常量,用于提高容错性,由网络属性决定,相同网络制式可使用同一参数。
可调用子节点拥塞时长预估关系式,计算当前拥塞节点向子节点发送缓存的第二拥塞时长估计值;子节点拥塞时长预估关系式为:
式中,t2为第二拥塞时长估计值,M2为从拥塞节点向子节点发送数据所在拥塞路径的拥塞缓存容量值,B2为通往子节点的网络带宽值,B为第二网络属性因子。B为固定常量,用于提高容错性,通往子节点网络带宽会因为以太网络设置不同而不同,如果没有特别设置,通常为以太网子网总带宽除以网络连接数计算得到第二网络属性因子。
可调用同级节点拥塞时长预估关系式,计算当前拥塞节点向兄弟节点发送缓存的第三拥塞时长估计值;同级节点拥塞时长预估关系式为:
式中,t3为第一拥塞时长估计值,M3为从拥塞节点向兄弟节点发送数据所在拥塞路径的拥塞缓存容量值,B3为通往兄弟节点的网络带宽值,C为第三网络属性因子。C为固定常量,用于提高容错性,通往兄弟节点网络带宽会因为以太网络设置不同而不同,如果没有特别设置,通常为以太网子网总带宽除以网络连接数计算得到第三网络属性因子。
在本实施例中,整个拥塞时长的预估过程为拥塞涉及路径每个节点的最长疏通时间。如:整个拥塞途径有3个网络节点,那么推给上游的超时时间为,上面3个网络节点中,每段释放缓存的时长预估的最大值。如果以太网络各个节点之间做了特殊的流控,上述各计算公式会调整,但是整体思路仍然是预估自己清空当前缓存的时间,并通过这个时间加上一些容错设置PAUSE帧超时时长。此外,预估时间为最长清空缓存的时间,即考虑到其他端口会突发增加到目的端口的流量,在此情况下,拥塞节点仍然可以保障原有缓存发送完毕的时长。
为了保证数据传输的稳定性,在根据每个拥塞节点的子节点和母节点的网络状态信息确定相应拥塞路径对应的拥塞时长估计值之前,还可包括:
预先为去往母节点的负载设置流量阈值,以使各网络节点与相应母节点之间的流量大于等于流量阈值;预先为各兄弟节点间的流量差值设置最小流量阈值,以使同级网络节点所分配的流量值相接近。
在本实施例中,对数据中心的以太网络做相应的流控,去往母节点的负载有相应的最小流量保障,各个兄弟网络节点之间流量也有一定流控,即保障同级的网络节点获得差不多的流量,不会因为某个端口流量过大,而阻塞其他端口数据。流量阈值和最小流量阈值可根据实际应用场景灵活选择,这均不影响本申请的实现。
进一步的,为了保证拥塞现象尽快解决,还可发往同一个端口的数据进行优先级属性信息设置,即拥塞缓存数据优先级更高,新生成数据优先级低,具体的,可对发送至同一个端口的数据,设置拥塞缓存数据的优先级高于新生成数据的优先级。
本发明实施例还针对数据传输方法提供了相应的装置,进一步使得方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的数据传输装置进行介绍,下文描述的数据传输装置与上文描述的数据传输方法可相互对应参照。
基于功能模块的角度,参见图6,图6为本发明实施例提供的数据传输装置在一种具体实施方式下的结构图,该装置可包括:
拥塞时长估计模块601,用于当检测到网络拥塞时,根据每个拥塞节点的子节点和母节点的网络状态信息确定相应拥塞路径对应的拥塞时长估计值。
超时设置模块602,用于根据每条拥塞路径对应的拥塞时长估计值确定各拥塞节点的最大拥塞疏通时间估计值;最大拥塞疏通时间估计值作为上游节点的超时时间。
指令发送模块603,用于对每个拥塞节点,将携带最大拥塞疏通时间估计值的PAUSE帧发送给相对应的上游节点;
恢复请求模块604,用于若网络提前完成缓存发送操作,向相应上游节点发送网络恢复请求。
超时处理模块605,用于若网络发生死锁,则通过超时处理触发网络疏通操作。
可选的,在本实施例的一些实施方式中,上述超时设置模块602可用于:对每个拥塞节点,计算当前拥塞节点分别向母节点、子节点和兄弟节点发送缓存的第一拥塞时长估计值、第二拥塞时长估计值和第三拥塞时长估计值;将第一拥塞时长估计值、第二拥塞时长估计值和第三拥塞时长估计值中的最大值作为当前拥塞节点的最大拥塞疏通时间估计值。
作为本实施例的一种可选的实施方式,上述超时设置模块602还可用于:调用母节点拥塞时长预估关系式,计算当前拥塞节点向母节点发送缓存的第一拥塞时长估计值;母节点拥塞时长预估关系式为:
式中,t1为第一拥塞时长估计值,m为子节点总数,M1为从拥塞节点向母节点发送数据所在拥塞路径的拥塞缓存容量值,B1为通往母节点的网络带宽值,A为第一网络属性因子。
作为本实施例的另一种可选的实施方式,上述超时设置模块602可进一步用于:调用子节点拥塞时长预估关系式,计算当前拥塞节点向子节点发送缓存的第二拥塞时长估计值;子节点拥塞时长预估关系式为:
式中,t2为第二拥塞时长估计值,M2为从拥塞节点向子节点发送数据所在拥塞路径的拥塞缓存容量值,B2为通往子节点的网络带宽值,B为第二网络属性因子。
作为本实施例的其他一些可选的实施方式,上述超时设置模块602还可进一步用于:调用同级节点拥塞时长预估关系式,计算当前拥塞节点向兄弟节点发送缓存的第三拥塞时长估计值;同级节点拥塞时长预估关系式为:
式中,t3为第一拥塞时长估计值,M3为从拥塞节点向兄弟节点发送数据所在拥塞路径的拥塞缓存容量值,B3为通往兄弟节点的网络带宽值,C为第三网络属性因子。
可选的,在本实施例的另一些实施方式中,上述装置例如还可包括流控设置模块,用于预先为去往母节点的负载设置流量阈值,以使各网络节点与相应母节点之间的流量大于等于流量阈值;预先为各兄弟节点间的流量差值设置最小流量阈值,以使同级网络节点所分配的流量值相接近。
可选的,在本实施例的另一些实施方式中,上述装置例如还可包括优先级设置模块,用于对发送至同一个端口的数据,设置拥塞缓存数据的优先级高于新生成数据的优先级。
本发明实施例数据传输装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例可有效提高数据传输效率。
上文中提到的数据传输装置是从功能模块的角度描述,进一步的,本申请还提供一种电子设备,是从硬件角度描述。图7为本申请实施例提供的电子设备在一种实施方式下的结构示意图。如图7所示,该电子设备包括存储器70,用于存储计算机程序;处理器71,用于执行计算机程序时实现如上述任一实施例提到的数据传输方法的步骤。
其中,处理器71可以包括一个或多个处理核心,比如4核心处理器、8核心处理器,处理器71还可为控制器、微控制器、微处理器或其他数据处理芯片等。处理器71可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable GateArray,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器71也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器71可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器71还可以包括AI(ArtificialIntelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器70可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器70还可包括高速随机存取存储器以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。存储器70在一些实施例中可以是电子设备的内部存储单元,例如服务器的硬盘。存储器70在另一些实施例中也可以是电子设备的外部存储设备,例如服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器70还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器70不仅可以用于存储安装于电子设备的应用软件及各类数据,例如:执行漏洞处理方法的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。本实施例中,存储器70至少用于存储以下计算机程序701,其中,该计算机程序被处理器71加载并执行之后,能够实现前述任一实施例公开的数据传输方法的相关步骤。另外,存储器70所存储的资源还可以包括操作系统702和数据703等,存储方式可以是短暂存储或者永久存储。其中,操作系统702可以包括Windows、Unix、Linux等。数据703可以包括但不限于数据传输结果对应的数据等。
在一些实施例中,上述电子设备还可包括有显示屏72、输入输出接口73、通信接口74或者称为网络接口、电源75以及通信总线76。其中,显示屏72、输入输出接口73比如键盘(Keyboard)属于用户接口,可选的用户接口还可以包括标准的有线接口、无线接口等。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。通信接口74可选的可以包括有线接口和/或无线接口,如WI-FI接口、蓝牙接口等,通常用于在电子设备与其他电子设备之间建立通信连接。通信总线76可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extendedindustry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本领域技术人员可以理解,图7中示出的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的组件,例如还可包括实现各类功能的传感器77。
本发明实施例电子设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例可有效提高数据传输效率。
可以理解的是,如果上述实施例中的数据传输方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、多媒体卡、卡型存储器(例如SD或DX存储器等)、磁性存储器、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种可读存储介质,存储有计算机程序,计算机程序被处理器执行时如上任意一实施例数据传输方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的硬件包括装置及电子设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种数据传输方法、装置、电子设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (9)
1.一种数据传输方法,其特征在于,包括:
当检测到网络拥塞时,根据每个拥塞节点的子节点和母节点的网络状态信息确定相应拥塞路径对应的拥塞时长估计值;
根据每条拥塞路径对应的拥塞时长估计值确定各拥塞节点的最大拥塞疏通时间估计值;所述最大拥塞疏通时间估计值作为上游节点的超时时长;
对每个拥塞节点,将携带所述最大拥塞疏通时间估计值的PAUSE帧发送给相对应的上游节点;
若网络提前完成缓存发送操作,向相应上游节点发送网络恢复请求;若网络发生死锁,则通过超时处理触发网络疏通操作;
其中,所述根据每条拥塞路径对应的拥塞时长估计值确定各拥塞节点的最大拥塞疏通时间估计值,包括:
对每个拥塞节点,计算当前拥塞节点分别向母节点、子节点和兄弟节点发送缓存的第一拥塞时长估计值、第二拥塞时长估计值和第三拥塞时长估计值;
将所述第一拥塞时长估计值、所述第二拥塞时长估计值和所述第三拥塞时长估计值中的最大值作为所述当前拥塞节点的最大拥塞疏通时间估计值。
2.根据权利要求1的数据传输方法,其特征在于,所述计算当前拥塞节点分别向母节点、子节点和兄弟节点发送缓存的第一拥塞时长估计值、第二拥塞时长估计值和第三拥塞时长估计值的过程,包括:
调用母节点拥塞时长预估关系式,计算当前拥塞节点向母节点发送缓存的第一拥塞时长估计值;所述母节点拥塞时长预估关系式为:
式中,t1为所述第一拥塞时长估计值,m为子节点总数,M1为从拥塞节点向母节点发送数据所在拥塞路径的拥塞缓存容量值,B1为通往母节点的网络带宽值,A为第一网络属性因子。
3.根据权利要求1的数据传输方法,其特征在于,所述计算当前拥塞节点分别向母节点、子节点和兄弟节点发送缓存的第一拥塞时长估计值、第二拥塞时长估计值和第三拥塞时长估计值的过程,包括:
调用子节点拥塞时长预估关系式,计算当前拥塞节点向子节点发送缓存的第二拥塞时长估计值;所述子节点拥塞时长预估关系式为:
式中,t2为所述第二拥塞时长估计值,M2为从拥塞节点向子节点发送数据所在拥塞路径的拥塞缓存容量值,B2为通往子节点的网络带宽值,B为第二网络属性因子。
4.根据权利要求1的数据传输方法,其特征在于,所述计算当前拥塞节点分别向母节点、子节点和兄弟节点发送缓存的第一拥塞时长估计值、第二拥塞时长估计值和第三拥塞时长估计值的过程,包括:
调用同级节点拥塞时长预估关系式,计算当前拥塞节点向兄弟节点发送缓存的第三拥塞时长估计值;所述同级节点拥塞时长预估关系式为:
式中,t3为所述第三拥塞时长估计值,M3为从拥塞节点向兄弟节点发送数据所在拥塞路径的拥塞缓存容量值,B3为通往兄弟节点的网络带宽值,C为第三网络属性因子。
5.根据权利要求1至4任意一项的数据传输方法,其特征在于,所述根据每个拥塞节点的子节点和母节点的网络状态信息确定相应拥塞路径对应的拥塞时长估计值之前,还包括:
预先为去往母节点的负载设置流量阈值,以使各网络节点与相应母节点之间的流量大于等于所述流量阈值;
预先为各兄弟节点间的流量差值设置最小流量阈值,以使同级网络节点所分配的流量值相接近。
6.根据权利要求5的数据传输方法,其特征在于,所述根据每个拥塞节点的子节点和母节点的网络状态信息确定相应拥塞路径对应的拥塞时长估计值之前,还包括:
对发送至同一个端口的数据,设置拥塞缓存数据的优先级高于新生成数据的优先级。
7.一种数据传输装置,其特征在于,包括:
拥塞时长估计模块,用于当检测到网络拥塞时,根据每个拥塞节点的子节点和母节点的网络状态信息确定相应拥塞路径对应的拥塞时长估计值;
超时设置模块,用于根据每条拥塞路径对应的拥塞时长估计值确定各拥塞节点的最大拥塞疏通时间估计值;所述最大拥塞疏通时间估计值作为上游节点的超时时长;
指令发送模块,用于对每个拥塞节点,将携带所述最大拥塞疏通时间估计值的PAUSE帧发送给相对应的上游节点;
恢复请求模块,用于若网络提前完成缓存发送操作,向相应上游节点发送网络恢复请求;
超时处理模块,用于若网络发生死锁,则通过超时处理触发网络疏通操作;
其中,所述超时设置模块还用于:
对每个拥塞节点,计算当前拥塞节点分别向母节点、子节点和兄弟节点发送缓存的第一拥塞时长估计值、第二拥塞时长估计值和第三拥塞时长估计值;
将所述第一拥塞时长估计值、所述第二拥塞时长估计值和所述第三拥塞时长估计值中的最大值作为所述当前拥塞节点的最大拥塞疏通时间估计值。
8.一种电子设备,其特征在于,包括处理器和存储器,处理器用于执行存储器中存储的计算机程序时实现如权利要求1至6任一项数据传输方法的步骤。
9.一种可读存储介质,其特征在于,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如权利要求1至6任一项数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111226345.5A CN113992588B (zh) | 2021-10-21 | 2021-10-21 | 数据传输方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111226345.5A CN113992588B (zh) | 2021-10-21 | 2021-10-21 | 数据传输方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113992588A CN113992588A (zh) | 2022-01-28 |
CN113992588B true CN113992588B (zh) | 2024-02-09 |
Family
ID=79739899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111226345.5A Active CN113992588B (zh) | 2021-10-21 | 2021-10-21 | 数据传输方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113992588B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666238B (zh) * | 2022-03-16 | 2023-07-25 | 平安科技(深圳)有限公司 | 一种数据链路的可视化监控方法、系统、设备及介质 |
CN115499374B (zh) * | 2022-11-08 | 2023-03-24 | 腾讯科技(深圳)有限公司 | 一种参数调节方法和相关装置 |
CN115987831B (zh) * | 2022-12-19 | 2024-04-12 | 浪潮思科网络科技有限公司 | 一种网络设备的pfc死锁功能测试方法、设备及介质 |
CN115934000B (zh) * | 2023-03-07 | 2023-06-09 | 苏州浪潮智能科技有限公司 | 一种存储系统的定时方法及相关装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000029008A (ko) * | 1998-10-12 | 2000-05-25 | 윤종용 | 패킷 스위치 네트워크에서의 흐름 제어 방법 |
KR20120105321A (ko) * | 2011-03-15 | 2012-09-25 | 광주과학기술원 | 혼잡 탐지 장치, 혼잡 제어 장치 그리고 혼잡 제어 방법 |
CN110099000A (zh) * | 2019-03-27 | 2019-08-06 | 华为技术有限公司 | 一种转发报文的方法和网络设备 |
CN111490943A (zh) * | 2019-01-29 | 2020-08-04 | 中兴通讯股份有限公司 | 拥塞控制方法、终端及可读存储介质 |
CN112104562A (zh) * | 2019-06-17 | 2020-12-18 | 华为技术有限公司 | 拥塞控制方法及装置、通信网络、计算机存储介质 |
-
2021
- 2021-10-21 CN CN202111226345.5A patent/CN113992588B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000029008A (ko) * | 1998-10-12 | 2000-05-25 | 윤종용 | 패킷 스위치 네트워크에서의 흐름 제어 방법 |
KR20120105321A (ko) * | 2011-03-15 | 2012-09-25 | 광주과학기술원 | 혼잡 탐지 장치, 혼잡 제어 장치 그리고 혼잡 제어 방법 |
CN111490943A (zh) * | 2019-01-29 | 2020-08-04 | 中兴通讯股份有限公司 | 拥塞控制方法、终端及可读存储介质 |
CN110099000A (zh) * | 2019-03-27 | 2019-08-06 | 华为技术有限公司 | 一种转发报文的方法和网络设备 |
CN112104562A (zh) * | 2019-06-17 | 2020-12-18 | 华为技术有限公司 | 拥塞控制方法及装置、通信网络、计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113992588A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113992588B (zh) | 数据传输方法、装置、电子设备及可读存储介质 | |
Lu et al. | {Multi-Path} transport for {RDMA} in datacenters | |
US11736402B2 (en) | Fast data center congestion response based on QoS of VL | |
US7839783B2 (en) | Systems and methods of improving performance of transport protocols | |
US7970925B2 (en) | Method and apparatus for an improved bulk read socket call | |
CN109412958A (zh) | 数据中心的拥塞控制方法和装置 | |
CN105357075A (zh) | 基于软件定义网络的流量监测系统和方法 | |
CN101248628A (zh) | 网络接口控制程序以及网络接口控制装置 | |
Li et al. | MPTCP incast in data center networks | |
CN108605292B (zh) | 电力知悉式网络通信 | |
CN114567481B (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN110798412A (zh) | 组播业务处理方法、装置、云平台、设备及可读存储介质 | |
WO2015067144A1 (zh) | 软件部署的方法和装置 | |
Zhang et al. | Shrinking MTU to mitigate TCP incast throughput collapse in data center networks | |
JP5957318B2 (ja) | ネットワークシステム、情報中継装置、及びパケット配信方法 | |
CN103490939A (zh) | 一种处理数据包的方法及装置 | |
US20230038307A1 (en) | Network interface device feedback for adaptive and failover multipath routing | |
Tianfang et al. | STCC: A SDN‐oriented TCP congestion control mechanism for datacenter network | |
WO2018133784A1 (zh) | 报文处理方法、设备及系统 | |
Nikitinskiy et al. | A stateless transport protocol in software defined networks | |
CN111385219B (zh) | 借用硬件中断实现高性能高精度软件tcp限速的方法 | |
US12063156B2 (en) | Fine-granularity admission and flow control for rack-level network connectivity | |
US20230359582A1 (en) | In-network collective operations | |
US20240205143A1 (en) | Management of packet transmission and responses | |
Almasi | Latency Optimization in Datacenters using Adaptive Transport and Reliable Training |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |