CN113411263B - 一种数据传输方法、装置、设备及存储介质 - Google Patents
一种数据传输方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113411263B CN113411263B CN202110676906.5A CN202110676906A CN113411263B CN 113411263 B CN113411263 B CN 113411263B CN 202110676906 A CN202110676906 A CN 202110676906A CN 113411263 B CN113411263 B CN 113411263B
- Authority
- CN
- China
- Prior art keywords
- node
- switch
- queue
- sent
- cnp
- 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
Images
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/11—Identifying congestion
- H04L47/115—Identifying congestion using a dedicated packet
-
- 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/263—Rate modification at the source after receiving feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本文属于金融技术领域,具体提供了一种数据传输方法、装置、设备及存储介质,所述方法适应于交换机,所述方法包括:当监测到第二节点产生拥塞通知CNP报文时,监测所述第二节点在第一时间段内是否持续产生所述CNP报文;若是,则判断待发送队列长度是否持续增加;若所述待发送队列长度持续增加,则控制所述交换机按照第一频率向第一节点发送所述CNP报文,以使所述第一节点调整向第二节点数据传输的速率;若所述待发送队列长度没有持续增加,则控制所述交换机按照第二频率向所述第一节点发送所述CNP报文,以使所述第一节点调整向第二节点数据传输的速率,所述第一频率大于所述第二频率,本文能提高数据传输的效率。
Description
技术领域
本文属于金融技术领域,具体涉及一种数据传输方法、装置、设备及存储介质。
背景技术
远程直接数据存储(Remote Direct Memory Acess,RDMA)技术为了减少网络传输中服务器端数据处理的延迟,允许客户端的应用程序直接远程读取和写入服务器端的内存。RDMA技术中在端节点的网卡(Network Interface Cards,NICs)上通过已注册的缓存直接收发数据,网络协议全部部署在NICs上,不需要经过主机的网络协议栈,这种方式显著减少了主机中的中央处理器(Central Processing Unit,CPU)的占有率和整体时延。
在实施RDMA技术后,数据中心(data center,DC)内部,各节点之间通过部署在网络中的交换机进行通信。比如多个源节点与一个目的节点通过交换机进行通信,如果交换机的出口资源不足(例如带宽不足),交换机向目的节点发送若干数据报文时会出现数据拥塞现象。如果不对数据拥塞现象加以控制,将造成数据丢包。现有技术采用显示拥塞通知(Explicit Congestion Notification,ECN)机制避免网络发生数据拥塞。但是在实际工作中由于只是考虑交换机端口队列长度,当其长度超过阈值就进行拥塞通知并进行降速处理,反而在一些偶发式的拥塞现象会出现过渡降速的处理,从而影响了数据传输的效率,因此如何提高对数据传输的准确调整成为目前亟需解决的技术问题。
发明内容
针对现有技术的上述问题,本文的目的在于,提供一种数据传输方法、装置、设备及存储介质,能提高数据传输的效率。
为了解决上述技术问题,本文的具体技术方案如下:
一方面,本文提供一种数据传输方法,所述方法适应于交换机,所述方法包括:
当监测到第二节点产生拥塞通知CNP报文时,监测所述第二节点在第一时间段内是否持续产生所述CNP报文;
若是,则判断待发送队列长度是否持续增加;
若所述待发送队列长度持续增加,则控制所述交换机按照第一频率向第一节点发送所述CNP报文,以使所述第一节点调整向第二节点数据传输的速率;
若所述待发送队列长度没有持续增加,则控制所述交换机按照第二频率向所述第一节点发送所述CNP报文,以使所述第一节点调整向第二节点数据传输的速率,所述第一频率大于所述第二频率。
进一步地,所述若所述待发送队列长度持续增加,则控制所述交换机按照第一频率向所述第一节点发送所述CNP报文,还包括:
若所述待发送队列长度持续增加,则判断所述待发送队列长度增加速度是否持续变大;
若待发送队列长度增加速度持续变大,则提高所述交换机中显式拥塞控制ECN标记阈值,所述ECN标记阈值用于判断所述交换机是否发生拥塞情况,当发生拥塞时所述交换机向所述第二节点发送ECN标记,以使所述第二节点生成并向所述交换机发送所述CNP报文。
进一步地,所述若所述待发送队列长度持续增加,则控制所述交换机按照第一频率向所述第一节点发送所述CNP报文,还包括:
当所述待发送队列长度持续增加时,调整所述交换机中的ECN标记阈值;
确定所述待发送队列所对应的每个业务类型;
根据每个所述业务类型和调整后的所述ECN标记阈值,建立每个所述业务类型和调整后的所述ECN标记阈值的映射关系;
存储所述映射关系,以使再次传输与所述业务类型对应的数据时,采用该业务类型的ECN标记阈值。
进一步地,所述若待发送队列长度增加速度持续变大,则提高所述交换机中显式拥塞控制ECN标记阈值,还包括:
当所述待发送队列长度增加速度持续变大时,确定该待发送队列对应的目标业务类型;
当所述交换机再次接收所述目标业务类型的数据时,将采用提高后的ECN标记阈值。
进一步地,所述若所述待发送队列长度持续增加,则控制所述交换机按照第一频率向所述第一节点发送所述CNP报文,还包括:
判断所述待发送队列长度是否超过第一门限值;
若是,则控制所述交换机按照第一频率向所述第一节点发送所述CNP报文;
若否,则控制所述交换机按照第三频率向所述第一节点发送所述CNP报文。
进一步地,所述若所述待发送队列长度没有持续增加,则控制所述交换机按照第二频率向所述第一节点发送所述CNP报文,包括:
判断所述待发送队列长度是否超过第二门限值;
若是,则控制所述交换机按照第二频率向所述第一节点发送所述CNP报文;
若否,则控制所述交换机不发送所述CNP报文,同时降低所述交换机中显式拥塞控制ECN标记阈值。
进一步地,当所述第二节点在第一时间段内没有持续产生所述CNP报文,则控制所述交换机不发送所述CNP报文。
进一步地,所述当监测到所述第二节点产生拥塞通知CNP报文时,监测所述第二节点在第一时间段内是否持续产生所述CNP报文,包括:
交换机接收所述第二节点产生的CNP报文,并将所述CNP报文存储至日志库中;
实时监测所述日志库中是否存储CNP报文;
若所述日志库中存储有所述CNP报文,则继续监测在第一时间段内是否持续存储相同类型的CNP报文。
另一方面,本文还提供一种数据传输装置,所述装置适应于交换机,所述装置包括:
监测模块,用于当监测到所述第二节点产生拥塞通知CNP报文时,监测所述第二节点在第一时间段内是否持续产生所述CNP报文;
判断模块,用于若所述第二节点在第一时间段内持续产生所述CNP报文,则判断待发送队列长度是否持续增加;
第一控制模块,用于若所述待发送队列长度持续增加,则控制所述交换机按照第一频率向所述第一节点发送所述CNP报文,以使所述第一节点调整向第二节点数据传输的速率;
第二控制模块,用于若所述待发送队列长度没有持续增加,则控制所述交换机按照第二频率向所述第一节点发送所述CNP报文,以使所述第一节点调整向第二节点数据传输的速率,所述第一频率大于所述第二频率。
另一方面,本文还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述所述的方法。
最后,本文还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的方法。
采用上述技术方案,本文所述一种数据传输方法、装置、设备及存储介质,在第二节点产生CNP报文时,监测所述第二节点在第一时间段内是否持续产生所述CNP报文,若持续产生CNP报文则根据待发送队列长度是否持续增加的情况控制交换机选择不同的发送频率向第一节点发送所述CNP报文,从而调节第一节点发送待发送数据的速率,进而在有效解决交换机拥塞的基础上,还能保证较高的数据传输效率。
为让本文的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本文实施例提供方法的实施环境示意图;
图2示出了本文实施例提供的数据传输方法的步骤示意图;
图3示出了本文实施例中CNP报文持续生成判断步骤示意图;
图4示出了本文实施例中对ECN标记阈值调整步骤示意图;
图5示出了本文实施例中持续增加队列进一步处理步骤示意图;
图6示出了本文实施例中没有持续增加队列进一步处理步骤示意图;
图7示出了本文实施例提供的数据传输装置的结构示意图;
图8示出了本文实施例提供的计算机设备结构示意图。
附图符号说明:
10、第一节点;
20、第二节点;
30、交换机;
40、监测控制器;
100、监测模块;
200、判断模块;
300、第一控制模块;
400、第二控制模块;
802、计算机设备;
804、处理器;
806、存储器;
808、驱动机构;
810、输入/输出模块;
812、输入设备;
814、输出设备;
816、呈现设备;
818、图形用户接口;
820、网络接口;
822、通信链路;
824、通信总线。
具体实施方式
下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先对文中技术名词做出解释:
ECN机制:显示拥塞通知(Explicit Congestion Notification,ECN)机制,能够避免网络发生数据拥塞。如果交换机的出端口检测到数据拥塞(比如交换机出端口待发送队列长度超过了预设值,则表示出现了数据拥塞),将源节点发送给目的节点的数据报文中的ECN标志的值进行修改,修改后的ECN标志的值用于指示所述源节点和所述目的节点之间的通信链路发生拥塞。交换机将携带修改后的ECN标志的值的数据报文发送给目的节点。目的节点根据数据报文中ECN标志的值,确定所述源节点和所述目的节点之间发生了数据拥塞,则按照固定的周期向所述源节点发送拥塞通知报文(Congestion Notification Packet,CNP),以向所述源节点通知在所述源节点与所述目的节点之间发生了数据拥塞。如此,所述源节点通过降低向所述目的节点发送数据报文的发送速率,减轻网络负载,减缓网络拥塞。
而在实际工作中由于只是考虑交换机端口队列长度,当其长度超过阈值就进行拥塞通知并进行降速处理,反而在一些偶发式的拥塞现象会出现过渡降速的处理,从而影响了数据传输的效率。
为了解决上述问题,本文实施例提供了数据传输方法,如图1所示,为本说明书实施例提供的方法实施环境示意图,该实施环境包括第一节点10、第二节点20、交换机30以及监测控制器40,所述第一节点10、第二节点20和交换机30均配置有ECN技术,即能够对线路拥塞进行及时反馈和调整,其中所述第一节点10通过所述交换机30向所述第二节点20传输数据,所述监测控制器40实时监测交换机30是否有从所述第二节点20接收的CNP报文,从而进一步判断是否能继续接收相同类型的CNP报文,这样可以准确确定由该CNP报文对应的数据(或业务类型)出现的拥塞是不是偶发性质的拥塞,进而根据是否偶发采用不同的调控策略,从而避免了现有技术中在出现CNP报文后就进行降速处理,提高了流速调控的准确性,进而提高了数据传输的效率。
其中,所述第一节点10和所述第二节点20可以为RDMA技术中的端节点,每个端节点内部设有相应的网卡(NICs),网卡之间通过配置网络协议实现数据的直接传输,因此通过RDMA技术可以减少主机中CPU的占有率和整体延时,在RDMA技术中配属上述方法的实时环境,可以提高网卡之间数据传输的效率和可靠性。
所述监测控制器40可以包括监控器和调节器,其中监控器可以为监控软件FabricInsight(简称FI),可以实时监控队列的变化以及交换机内部CNP报文的接收情况,进而通过调节器根据不同的情况选择不同的调节手段。本文能进一步完善ECN拥塞控制技术,可以实现RDMA网络的稳定运行。
具体地,请参考图2,是本文实施例提供的一种数据传输方法的步骤示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。具体的如图2所示,所述方法可以包括:
S101:当监测到第二节点产生拥塞通知CNP报文时,监测所述第二节点在第一时间段内是否持续产生所述CNP报文;
S102:若是,则判断待发送队列长度是否持续增加;
S103:若所述待发送队列长度持续增加,则控制所述交换机按照第一频率向第一节点发送所述CNP报文,以使所述第一节点调整向第二节点数据传输的速率;
S104:若所述待发送队列长度没有持续增加,则控制所述交换机按照第二频率向所述第一节点发送所述CNP报文,以使所述第一节点调整向第二节点数据传输的速率,所述第一频率大于所述第二频率。
其中,本文所述的方法适应于交换机,通过判断交换机是否存在所述CNP报文,即可知道交换机出端口中是否存在拥塞现象,为了进一步了解该拥塞现象是否是持续性拥塞,避免是偶发式的拥塞,还需要判断其在第一时间段内是否持续接收来自第二节点的CNP报文,当是持续接收所述CNP报文时,则控制所述交换机按照第一频率向所述第一节点发送所述CNP报文,否则的话,则按照第二频率向所述第一节点发送所述CNP报文,所述第一节点根据接收所述CNP报文的频率控制调节发送数据的速率。
实际工作中,所述第一节点通过交换机向所述第二节点发送数据文件,当交换机出端口中待发送队列(如无损队列)出现拥塞时,由于其配置ECN控制技术,因此在向第二节点发送的数据文件中ECN标志的值进行修改,并将修改后的ECN标志的值的数据文件发送给第二节点,第二节点根据数据文件中ECN标志中的值确定第一节点到第二节点之间发送的数据拥塞,则需要第一节点进行降速处理,则第二节点生成CNP报文发送给交换机。监测控制器通过实时监测交换机中是否存在CNP报文,作为可选地,可以通过syslog采集的纳管日志,判断是否有CNP报文,若有CNP报文则可以持续监测该类型CNP报文是否持续接收,若是,则表示该数据拥塞的状态正在持续发生,需要第一节点进行主动降速。为了提高对其降速控制的效率,因此可以通过判断待发送队列的增长趋势来进一步调整第一节点的发送速率,因此本文能够避免偶发拥塞导致的过渡降速,同时还能根据队列增长情况适应性的调整第一节点发送速率,提高了数据传输效率。
因此,如图3所示,所述当监测到所述第二节点产生拥塞通知CNP报文时,监测所述第二节点在第一时间段内是否持续产生所述CNP报文,包括:
S201:交换机接收所述第二节点产生的CNP报文,并将所述CNP报文存储至日志库中;
S202:实时监测所述日志库中是否存储CNP报文;
S203:若所述日志库中存储有所述CNP报文,则继续监测在第一时间段内是否持续存储相同类型的CNP报文。
其中,所述第一时间段根据实际情况设置,比如根据交换机连接节点的数量设定,当连接的第一节点越多,则表示所述交换机接收到的数据文件可能更频繁,数据量更大,因此所述第一时间段可以设置小一点,比如15s,30s等,具体的设置规则在本说明书不做限定。
所述第一节点在接到所述CNP报文后,会根据预设速率调整规则实现数据发送的调整,作为可选地,在本说明书所述第一节点根据接收CNP报文频率的不同选择不同的发送速率,比如当接收CNP报文频率较大时,即更频繁的接收所述CNP报文,选择更小的发送速率发送数据,这样可以尽快的解决交换机中出现的拥塞状况,因此可以建立CNP报文接收频率和数据发送速率之间的负相关关系,比如建立相应的CNP报文和数据发送速率之间公式可以更快的调整相应的发送速率。
详细的说,本文通过判断交换机中待发送队列长度是否持续增加,来了解所述交换中数据拥塞情况是否加重,当待发送队列长度持续增加,则表明数据拥塞情况加重,此时通过第一频率控制交换机向第一节点发送所述CNP报文,从而能更快的降低第一节点发送数据的速率,加快环节拥塞情况;当所述待发送队列长度没有持续增加,则表明现有的数据发送速率没有导致拥塞情况加重,但是也会导致一定拥塞,因此也需要进行较小降速处理即可,从而保证更多的数据更快的被传输。相当于现有技术中交换机只有被动转发数据(数据按照接收时序发送)相比,本文能通过交换机的主动转发实现CNP报文的快速转发,从而能准备控制CNP报文按照相应的频率转发,因此能够实现对第一节点速率的准备调节。
作为可选地,可以在第二时间段内判断所述待发送队列长度是否持续增加,所述第二时间段可以为包括第一时间段内的较长的时间段,也可以为在第一时间段之后的时间段,具体的设置方式在本说明书不做限定。
在一些其他实施例中,在交换机中可以设置CNP报文队列,每个所述CNP报文队列包含相同类型的CNP报文(不同第一节点对应不同CNP报文,或者不同待发送队列对应不同CNP报文),从而在转发CNP报文时,按照所述CNP报文队列进行依次转发即可,通过设置独立的CNP报文队列可以准确有效的控制CNP报文的发送频率,提高数据传输的可靠性。
需要说明的是,一个交换机可以连接着多个第一节点(比如A、B、C、D)和多个第二节点(比如a、b、c、d),多个第一节点通过该交换机向一个或多个第二节点传输数据,因此在实际工作中,交换机中针对每个第一节点的传输数据可以通过一个或多个队列进行发送,每个队列的长度阈值可以根据交换机及实际传输延时需求设定,因此当某个待发送队列过长超过所述长度阈值时(表明该待发送队列可能会出现拥塞现象),则可以将该发送队列中的数据文件进行ECN标志的修改,从而在第二节点接收到该修改后的ECN标志值的数据文件后,生成只针对该待发送队列的CNP报文,即生成对应类型的CNP报文,所述交换机在接收到该CNP报文时,通过其类型确定第一节点A(即确定第一节点的位置),进而将该CNP报文发送给该第一节点A,第一节点A根据接收到的CNP报文及其接收频率调整针对该类型数据文件的发送速率。
进一步实施例中,本文提供的方法还包括:
S105:当所述第二节点在第一时间段内没有持续产生所述CNP报文,则控制所述交换机不发送所述CNP报文。
可以理解为,当时所述第二节点没有持续产生所述CNP报文,表示交换机中出现了短暂的偶发式的拥塞,并且交换机能够自动解除拥塞反馈,因此可以不需要向第一节点发送所述CNPC报文,避免过度降速影响吞吐性能。
在本说明书实施例中,如图4所示,所述若所述待发送队列长度持续增加,则控制所述交换机按照第一频率向所述第一节点发送所述CNP报文,还包括:
S301:若所述待发送队列长度持续增加,则判断所述待发送队列长度增加速度是否持续变大;
S302:若待发送队列长度增加速度持续变大,则提高所述交换机中显式拥塞控制ECN标记阈值,所述ECN标记阈值用于判断所述交换机是否发生拥塞情况,当发生拥塞时所述交换机向所述第二节点发送ECN标记,以使所述第二节点生成并向所述交换机发送所述CNP报文。
可以理解为,通过判断待发送队列长度增加速度的变化趋势,即可确定第一节点发送数据量情况,由于所述第一节点数据发送速率暂时不可能增加,因此在待发送队列长度增加速度持续变大的情况下,表明当前阶段传输的数据为大流量数据才会导致交换机中的待发送队列长度(无损队列)增加速度持续变大,在实际传输过程中,交换机中数据拥塞判断的阈值(即ECN水线)是根据实际情况设置的,因此该阈值应该是在适中大小范围(即能满足交换机正常的工作转发效率),很难对大流量数据进行准确的反馈(常规的ECN水线会会大流量数据一直进行拥塞反馈),因此需要适当提高该ECN标记阈值(即ECN水线),降低交换机拥塞的反馈敏感性,进而减少交换机对数据文件ECN标记的修改(减少了数据处理的性能损耗),从而提升交换机的吞吐能力,提高数据的传输效率。
由于上述大流量数据针对该交换机也是偶发式的一种,因此下次重复传输数据时,按照原先的ECN水线也会进行实时的拥塞反馈,因此为了提高交换机对该大流量数据的传输能力,作为可选地,所述若待发送队列长度增加速度持续变大,则提高所述交换机中显式拥塞控制ECN标记阈值,还包括:
当所述待发送队列长度增加速度持续变大时,确定该待发送队列对应的目标业务类型;
当所述交换机再次接收所述目标业务类型的数据时,将采用提高后的ECN标记阈值。
可以理解为,当出现该大流量数据对应的目标业务类型传输数据时,即可调整所述交换机自身的ECN标记阈值,从而能够降低交换机拥塞反馈敏感性,提高数据传输的效率。
需要说明的是,在上述大流量数据传输完成之后,所述交换机的ECN标记阈值调整为原先值,这样可以避免交换机出现数据拥塞时没有及时反馈,提高数据传输的针对性处理。作为可选地,为了提高交换机对不同传输数据的转发效率,所述若所述待发送队列长度持续增加,则控制所述交换机按照第一频率向所述第一节点发送所述CNP报文,还包括:
当所述待发送队列长度持续增加时,调整所述交换机中的ECN标记阈值;
确定所述待发送队列所对应的每个业务类型;
根据每个所述业务类型和调整后的所述ECN标记阈值,建立每个所述业务类型和调整后的所述ECN标记阈值的映射关系;
存储所述映射关系,以使再次传输与所述业务类型对应的数据时,采用该业务类型的ECN标记阈值。
可以理解为,本文根据不同的业务类型确定不同的ECN标记阈值,可以实现交换机ECN标记阈值针对性的调节,同一业务类型或相似的业务类型可以作为一个队列来传输数据,因此针对单个待发送队列可以确定一个ECN标记阈值,而在实际传输过程中是以业务类型对应的数据进行传输,因此需要确定每个待发送队列对应的至少一个业务类型,将业务类型和调整后的ECN标记阈值建立映射关系,从而实现交换机ECN标记阈值的针对性调节。
进一步实施例中,当所述待发送队列长度持续增加时,则表示交换机中数据拥塞情况持续加重,此时数据传输出现高延时低吞吐能力的情况,因此可以根据不同类型业务的数据传输要求来调整所述ECN标记阈值,比如有些业务需要低延时的传输,则可以进一步降低ECN标记阈值或者保持所述ECN标记阈值不变,从而能够较高效率的进行降速处理,提升交换机的延时性能。
在本说明书实施例中,如图5所示,所述若所述待发送队列长度持续增加,则控制所述交换机按照第一频率向所述第一节点发送所述CNP报文,还包括:
S401:判断所述待发送队列长度是否超过第一门限值;
S402:若是,则控制所述交换机按照第一频率向所述第一节点发送所述CNP报文;
S403:若否,则控制所述交换机按照第三频率向所述第一节点发送所述CNP报文。
其中,所述第一门限值可以理解为交换机中待发送队列长度可容忍最大值,根据实际情况自行设置,因此当超过所述第一门限值时,表明此时交换机中数据拥塞情况很严重,需要尽快的处理,因此可以使用更大的第一频率控制向第一节点发送所述CNP报文,快速降低第一节点发送速率,较快的缓解拥塞;而当所述待发送队列长度没有超过第一门限值时,则表示此时交换机中数据拥塞情况不是很严重,因此可以使用较小的第三频率向第一节点发送所述CNP报文,从而可以在有效缓解拥塞的基础上,保证了较高的吞吐性能,从而保证了较高的数据传输能力。
根据所述第一频率和所述第三频率根据实际情况设置,在本说明书不做赘述。
进一步实施例中,如图6所示,所述若所述待发送队列长度没有持续增加,则控制所述交换机按照第二频率向所述第一节点发送所述CNP报文,包括:
S501:判断所述待发送队列长度是否超过第二门限值;
S502:若是,则控制所述交换机按照第二频率向所述第一节点发送所述CNP报文;
S503:若否,则控制所述交换机不发送所述CNP报文,同时降低所述交换机中显式拥塞控制ECN标记阈值。
其中,所述第二门限值可以和所述第一门限值一致,也可以不一样,根据实际情况设置,其表示交换机待发送队列需要快速调整的门限值,当超过所述第二门限值时,则需要对第一节点的发送速率进行较快的降速,从而实现快速缓解当前的拥塞。由于当前所述交换机中待发送队列长度没有持续增加,因此上述调节过程的强度没有通过第一频率发送CNP报文调节第一节点发送速率的强度大。
当所述待发送队列长度没有持续增加,而且所述待发送队列长度没有超过第二门限值,则表明此时交换机数据拥塞情况正在缓解,从而为了保证较低的延时兼具较高的吞吐性能,控制交换机不发送所述CNP报文,同时降低所述交换机中显式拥塞控制ECN标记阈值。
在一些其他实施例中,还可以通过待发送队列缓存使用率来实现CNP报文发送频率和ECN标记阈值的调整,具体调节过程在本说明书不做赘述。
本说明书实施例提供的数据传输方法,在第二节点产生CNP报文时,监测所述第二节点在第一时间段内是否持续产生所述CNP报文,若持续产生CNP报文则根据待发送队列长度是否持续增加的情况控制交换机选择不同的发送频率向第一节点发送所述CNP报文,从而调节第一节点发送待发送数据的速率,进而在有效解决交换机拥塞的基础上,还能保证较高的数据传输效率。
基于同一发明构思,本说明书实施例还提供一种数据传输装置,如图7所示,所述装置包括:
监测模块100,用于当监测到所述第二节点产生拥塞通知CNP报文时,监测所述第二节点在第一时间段内是否持续产生所述CNP报文;
判断模块200,用于若所述第二节点在第一时间段内持续产生所述CNP报文,则判断所述交换机中待发送队列长度是否持续增加;
第一控制模块300,用于若所述待发送队列长度持续增加,则控制所述交换机按照第一频率向所述第一节点发送所述CNP报文,以使所述第一节点调整向第二节点数据传输的速率;
第二控制模块400,用于若所述待发送队列长度没有持续增加,则控制所述交换机按照第二频率向所述第一节点发送所述CNP报文,以使所述第一节点调整向第二节点数据传输的速率,所述第一频率大于所述第二频率。
通过上述装置所取得的有益效果和上述方法所取得的有益效果一致,本说明书实施例不做赘述。
需要说明的是,本说明书实施例提供的数据传输方法及装置可以用于金融领域中的RDMA技术,也可用于除金融领域之外的任意领域,本说明书实施例提供的数据传输方法及装置的应用领域不做限定。
如图8所示,为本文实施例提供的一种计算机设备,所述计算机设备802可以包括一个或多个处理器804,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算机设备802还可以包括任何存储器806,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器806可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备802的固定或可移除部件。在一种情况下,当处理器804执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备802可以执行相关联指令的任一操作。计算机设备802还包括用于与任何存储器交互的一个或多个驱动机构808,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备802还可以包括输入/输出模块810(I/O),其用于接收各种输入(经由输入设备812)和用于提供各种输出(经由输出设备814))。一个具体输出机构可以包括呈现设备816和相关联的图形用户接口(GUI)818。在其他实施例中,还可以不包括输入/输出模块810(I/O)、输入设备812以及输出设备814,仅作为网络中的一台计算机设备。计算机设备802还可以包括一个或多个网络接口820,其用于经由一个或多个通信链路822与其他设备交换数据。一个或多个通信总线824将上文所描述的部件耦合在一起。
通信链路822可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路822可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
对应于图2-图6中的方法,本文实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。
本文实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行如图2至图6所示的方法。
应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。
还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。
Claims (10)
1.一种数据传输方法,所述方法适应于交换机,其特征在于,所述方法包括:
当监测到第二节点产生拥塞通知CNP报文时,监测所述第二节点在第一时间段内是否持续产生所述CNP报文;
若是,则判断待发送队列长度是否持续增加;
若所述待发送队列长度持续增加,则控制所述交换机按照第一频率向第一节点发送所述CNP报文,以使所述第一节点调整向第二节点数据传输的速率;
若所述待发送队列长度没有持续增加,判断所述待发送队列长度是否超过第二门限值;若是,则控制所述交换机按照第二频率向所述第一节点发送所述CNP报文,以使所述第一节点调整向第二节点数据传输的速率,所述第一频率大于所述第二频率;若否,则控制所述交换机不发送所述CNP报文,同时降低所述交换机中显式拥塞控制ECN标记阈值。
2.根据权利要求1所述的方法,其特征在于,所述若所述待发送队列长度持续增加,则控制所述交换机按照第一频率向所述第一节点发送所述CNP报文,还包括:
若所述待发送队列长度持续增加,则判断所述待发送队列长度增加速度是否持续变大;
若待发送队列长度增加速度持续变大,则提高所述交换机中显式拥塞控制ECN标记阈值,所述ECN标记阈值用于判断所述交换机是否发生拥塞情况,当发生拥塞时所述交换机向所述第二节点发送ECN标记,以使所述第二节点生成并向所述交换机发送所述CNP报文。
3.根据权利要求2所述的方法,其特征在于,所述若所述待发送队列长度持续增加,则控制所述交换机按照第一频率向所述第一节点发送所述CNP报文,还包括:
当所述待发送队列长度持续增加时,调整所述交换机中的ECN标记阈值;
确定所述待发送队列所对应的每个业务类型;
根据每个所述业务类型和调整后的所述ECN标记阈值,建立每个所述业务类型和调整后的所述ECN标记阈值的映射关系;
存储所述映射关系,以使再次传输与所述业务类型对应的数据时,采用该业务类型的ECN标记阈值。
4.根据权利要求2所述的方法,其特征在于,所述若待发送队列长度增加速度持续变大,则提高所述交换机中显式拥塞控制ECN标记阈值,还包括:
当所述待发送队列长度增加速度持续变大时,确定该待发送队列对应的目标业务类型;
当再次接收所述目标业务类型的数据时,将采用提高后的ECN标记阈值。
5.根据权利要求1所述的方法,其特征在于,所述若所述待发送队列长度持续增加,则控制所述交换机按照第一频率向所述第一节点发送所述CNP报文,还包括:
判断所述待发送队列长度是否超过第一门限值;
若是,则控制所述交换机按照第一频率向所述第一节点发送所述CNP报文;
若否,则控制所述交换机按照第三频率向所述第一节点发送所述CNP报文。
6.根据权利要求1所述的方法,其特征在于,
当所述第二节点在第一时间段内没有持续产生所述CNP报文,则控制所述交换机不发送所述CNP报文。
7.根据权利要求1所述的方法,其特征在于,所述当监测到所述第二节点产生拥塞通知CNP报文时,监测所述第二节点在第一时间段内是否持续产生所述CNP报文,包括:
交换机接收所述第二节点产生的CNP报文,并将所述CNP报文存储至日志库中;
实时监测所述日志库中是否存储CNP报文;
若所述日志库中存储有所述CNP报文,则继续监测在第一时间段内是否持续存储相同类型的CNP报文。
8.一种数据传输装置,所述装置适应于交换机,其特征在于,所述装置包括:
监测模块,用于当监测到第二节点产生拥塞通知CNP报文时,监测所述第二节点在第一时间段内是否持续产生所述CNP报文;
判断模块,用于若所述第二节点在第一时间段内持续产生所述CNP报文,则判断待发送队列长度是否持续增加;
第一控制模块,用于若所述待发送队列长度持续增加,则控制所述交换机按照第一频率向第一节点发送所述CNP报文,以使所述第一节点调整向第二节点数据传输的速率;
第二控制模块,用于若所述待发送队列长度没有持续增加,判断所述待发送队列长度是否超过第二门限值;若是,则控制所述交换机按照第二频率向所述第一节点发送所述CNP报文,以使所述第一节点调整向第二节点数据传输的速率,所述第一频率大于所述第二频率;若否,则控制所述交换机不发送所述CNP报文,同时降低所述交换机中显式拥塞控制ECN标记阈值。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110676906.5A CN113411263B (zh) | 2021-06-18 | 2021-06-18 | 一种数据传输方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110676906.5A CN113411263B (zh) | 2021-06-18 | 2021-06-18 | 一种数据传输方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113411263A CN113411263A (zh) | 2021-09-17 |
CN113411263B true CN113411263B (zh) | 2023-03-14 |
Family
ID=77681368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110676906.5A Active CN113411263B (zh) | 2021-06-18 | 2021-06-18 | 一种数据传输方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113411263B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113938432B (zh) * | 2021-12-02 | 2024-01-02 | 中国人民解放军国防科技大学 | 一种高速互连网络拥塞控制打标方法和装置 |
CN114500544A (zh) * | 2022-01-23 | 2022-05-13 | 山东云海国创云计算装备产业创新中心有限公司 | 一种节点间负载均衡方法、系统、设备以及介质 |
CN115314442B (zh) * | 2022-08-08 | 2023-09-12 | 北京云脉芯联科技有限公司 | 拥塞控制和基于Group的限速限窗装置及方法、限速限窗方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109391560A (zh) * | 2017-08-11 | 2019-02-26 | 华为技术有限公司 | 网络拥塞的通告方法、代理节点及计算机设备 |
CN111108728A (zh) * | 2017-09-29 | 2020-05-05 | 华为技术有限公司 | 对报文进行处理方法及装置 |
CN112104562A (zh) * | 2019-06-17 | 2020-12-18 | 华为技术有限公司 | 拥塞控制方法及装置、通信网络、计算机存储介质 |
CN112242956A (zh) * | 2019-07-18 | 2021-01-19 | 华为技术有限公司 | 流速控制方法和装置 |
CN112511323A (zh) * | 2019-09-16 | 2021-03-16 | 华为技术有限公司 | 处理网络拥塞的方法和相关装置 |
CN112532530A (zh) * | 2019-09-18 | 2021-03-19 | 华为技术有限公司 | 一种拥塞通知信息调整的方法及设备 |
CN112953842A (zh) * | 2021-04-28 | 2021-06-11 | 中国工商银行股份有限公司 | 处理rdma网络拥塞的方法、装置、设备及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9049271B1 (en) * | 2009-07-16 | 2015-06-02 | Teradici Corporation | Switch-initiated congestion management method |
US10944660B2 (en) * | 2019-02-08 | 2021-03-09 | Intel Corporation | Managing congestion in a network |
CN112910789A (zh) * | 2019-12-03 | 2021-06-04 | 华为技术有限公司 | 拥塞控制方法以及相关设备 |
-
2021
- 2021-06-18 CN CN202110676906.5A patent/CN113411263B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109391560A (zh) * | 2017-08-11 | 2019-02-26 | 华为技术有限公司 | 网络拥塞的通告方法、代理节点及计算机设备 |
CN111108728A (zh) * | 2017-09-29 | 2020-05-05 | 华为技术有限公司 | 对报文进行处理方法及装置 |
CN112104562A (zh) * | 2019-06-17 | 2020-12-18 | 华为技术有限公司 | 拥塞控制方法及装置、通信网络、计算机存储介质 |
CN112242956A (zh) * | 2019-07-18 | 2021-01-19 | 华为技术有限公司 | 流速控制方法和装置 |
CN112511323A (zh) * | 2019-09-16 | 2021-03-16 | 华为技术有限公司 | 处理网络拥塞的方法和相关装置 |
CN112532530A (zh) * | 2019-09-18 | 2021-03-19 | 华为技术有限公司 | 一种拥塞通知信息调整的方法及设备 |
CN112953842A (zh) * | 2021-04-28 | 2021-06-11 | 中国工商银行股份有限公司 | 处理rdma网络拥塞的方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113411263A (zh) | 2021-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113411263B (zh) | 一种数据传输方法、装置、设备及存储介质 | |
CN113411264B (zh) | 一种网络队列的监控方法、装置、计算机设备和存储介质 | |
JP2018508151A (ja) | 伝送制御プロトコルtcpデータパケットを送信する方法及び装置、並びにシステム | |
EP3267639B1 (en) | Congestion control within a communication network | |
CN109714267B (zh) | 管理反向队列的传输控制方法及系统 | |
CN102148662B (zh) | 一种数据发送速率的调整方法及装置 | |
Taheri et al. | RoCC: robust congestion control for RDMA | |
WO2011105065A1 (ja) | 通信システム、ネットワーク管理方法およびスイッチ装置 | |
CN106936730B (zh) | 一种报文发送方法、tcp代理以及tcp客户端 | |
EP3413514B1 (en) | Method and device for managing network apparatus | |
CN104683259A (zh) | Tcp拥塞控制方法及装置 | |
Arslan et al. | Switches know the exact amount of congestion | |
CN110661733A (zh) | 网络接口卡、交换卡及线路卡 | |
JP5181181B2 (ja) | コンピュータ・システムの省電力化法 | |
EP2245537B1 (en) | Network message management device and methods thereof | |
EP3582455B1 (en) | Method and apparatus for multiple subflows network transmission | |
CN115378955A (zh) | 一种数据处理方法以及相关设备 | |
US11444882B2 (en) | Methods for dynamically controlling transmission control protocol push functionality and devices thereof | |
US11622028B2 (en) | Explicit notification of operative conditions along a network path | |
CN108322402B (zh) | 报文处理方法、设备及系统 | |
US20200145478A1 (en) | Method, electronic device, and computer program product for handling congestion of data transmission | |
Lu et al. | Ts-tcp: Two-stage congestion control algorithm for high concurrency tcps in data center networks | |
WO2022126411A1 (zh) | 一种网络拥塞管理方法以及相关装置 | |
CN115883465B (zh) | 流量控制方法、装置、服务器、系统及存储介质 | |
CN114422441A (zh) | 控制流量的方法及装置 |
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 |