CN117579576A - 数据传输方法、装置、电子设备及计算机存储介质 - Google Patents
数据传输方法、装置、电子设备及计算机存储介质 Download PDFInfo
- Publication number
- CN117579576A CN117579576A CN202311666308.5A CN202311666308A CN117579576A CN 117579576 A CN117579576 A CN 117579576A CN 202311666308 A CN202311666308 A CN 202311666308A CN 117579576 A CN117579576 A CN 117579576A
- Authority
- CN
- China
- Prior art keywords
- queue
- sending
- data
- message
- transmission
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 121
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000000875 corresponding effect Effects 0.000 claims description 49
- 238000004891 communication Methods 0.000 claims description 18
- 230000002596 correlated effect Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 238000012545 processing Methods 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/50—Queue scheduling
-
- 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
Abstract
本申请提供了一种数据传输方法、装置、电子设备及计算机存储介质。该方法包括根据接收的当前批次的数据读写请求,在所述网卡的设定区域获取待发送数据报文;根据所述待发送数据报文的报文类型,将所述待发送报文存储至对应的发送队列;根据所述发送队列中每个所述待发送数据报文的报文长度,确定所述发送队列的第一等效带宽值;在检测到所述发送队列的所述第一等效带宽值不为0的情况下,将所述发送队列中的所述待发送数据报文发送对应的所述目标设备。本发明可以利用不同优先级的发送队列对数据报文的报文类型进行精细化管理,优先保证高优先级发送队列的带宽,以提高网卡的服务质量。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种数据传输方法、装置、电子设备及计算机存储介质。
背景技术
随着高性能计算(HPC)技术、云技术、数据中心的发展,RDMA(Remote DirectMemory Access)作为一种直接进行远程内存存取的技术,因其具有高带宽、低时延及低CPU占用率的特点,在数据传输领域得到了广泛的应用。
随着网络拥塞的情况加剧,需要对具有RDMA功能的网卡进行流量管理,以确保网卡的服务质量。
发明内容
有鉴于此,本申请实施例提供一种数据传输方法、装置、电子设备及计算机存储介质,可以利用不同优先级的发送队列对数据报文的报文类型进行精细化管理,优先保证高优先级发送队列的带宽,以提高网卡的服务质量。
根据本申请实施例的第一方面,提供了一种数据传输方法,应用于具有RDMA功能的网卡,所述网卡的一端与主设备连接,另一端连接有多个目标设备,所述方法包括:
根据接收的当前批次的数据读写请求,在所述网卡的设定区域获取待发送数据报文;
根据所述待发送数据报文的报文类型,将所述待发送报文存储至对应的发送队列,其中,所述网卡中设置有多个所述发送队列,多个所述发送队列之间存储的数据报文的所述报文类型是不同的,多个所述发送队列之间的优先级是不同的,所述发送队列的优先级与所述发送队列的预设带宽值呈正相关;
根据所述发送队列中每个所述待发送数据报文的报文长度,确定所述发送队列的第一等效带宽值;
在检测到所述发送队列的所述第一等效带宽值不为0的情况下,将所述发送队列中的所述待发送数据报文发送至对应的所述目标设备。
在一些实施例中,所述方法还包括:
在当前批次数据传输完成时,根据所述发送队列的所述第一等效带宽值和所述发送队列的所述预设带宽值,确定带宽差值;
在所述带宽差值小于0的情况下,根据所述发送队列的所述预设带宽值与所述带宽差值,确定第二等效带宽值,并将所述第二等效带宽值确定为,下一批次传输数据时所述发送队列的所述预设带宽值;
在所述带宽差值大于等于0的情况下,不调整所述发送队列下一批次传输数据的所述预设带宽值。
在一些实施例中,所述根据所述发送队列中每个所述待发送数据报文的报文长度,确定所述发送队列的第一等效带宽值,包括:
依次获取所述发送队列中每个所述待发送数据报文的报文长度;
根据每个所述待发送数据报文的报文长度确定所述发送队列中所述待发送数据报文的总报文长度,并将所述总报文长度确定为所述发送队列的所述第一等效带宽值。
在一些实施例中,根据所述发送队列中每个所述待发送数据报文的报文长度,确定所述发送队列的第一等效带宽值,包括:
在检测到所述发送队列为最高优先级的所述发送队列的情况下,确定所述发送队列的所述第一等效带宽值为无穷小;
在检测到所述发送队列为非最高优先级的所述发送队列的情况下,根据所述发送队列中每个所述待发送数据报文的报文长度,确定所述发送队列的所述第一等效带宽值。
在一些实施例中,所述将所述发送队列中的所述待发送数据报文发送至对应的所述目标设备,包括:
在检测到所述发送队列的数量大于或等于2的情况下,使用轮询调度的方式将每个所述发送队列中的所述待发送数据报文发送至对应的所述目标设备。
在一些实施例中,所述方法还包括:
在检测到全部所述发送队列的总等效带宽值大于所述网卡的预设总带宽值的持续时间大于预设时间的情况下,使用优先级的调度方式将每个所述发送队列中的所述待发送数据报文发送至对应的所述目标设备。
根据本申请实施例的第二方面,提供了一种数据传输装置,应用于具有RDMA功能的网关,所述网卡的一端与主设备连接,另一端连接有多个目标设备,所述装置包括:
获取模块,用于根据接收的当前批次的数据读写请求,在所述网卡的设定区域获取待发送数据报文;
存储模块,用于根据所述待发送数据报文的报文类型,将所述待发送报文存储至对应的发送队列,其中,所述网卡中设置有多个所述发送队列,多个所述发送队列之间存储的数据报文的所述报文类型是不同的,多个所述发送队列之间的优先级是不同的,所述发送队列的优先级与所述发送队列的预设带宽值呈正相关;
确定模块,用于根据所述发送队列中每个所述待发送数据报文的报文长度,确定所述发送队列的第一等效带宽值;
发送模块,用于在检测到所述发送队列的所述第一等效带宽值不为0的情况下,将所述发送队列中的所述待发送数据报文发送至对应的所述目标设备。
根据本申请实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的数据传输方法对应的操作。
根据本申请实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的数据传输方法。
根据本申请实施例提供的数据传输方案,通过将不同报文类型的待发送数据报文,存储至对应的发送队列,可以利用多个发送队列对待发送数据报文进行精细化管理,进一步地,不同的发送队列之间具有不同的优先级,并通过为高优先级的发送队列配置高带宽值,可以优先保证高优先级发送队列的带宽,提高了网卡的服务质量。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为根据本申请实施例的一种数据传输方法的步骤流程图;
图2为根据本申请另一实施例的一种数据传输方法的步骤流程图;
图3为根据本申请实施例的一种数据传输装置的结构框图;
图4为根据本申请实施例的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
下面结合本申请实施例附图进一步说明本申请实施例具体实现。
本申请实施例提供一种数据传输方法,应用于具有RDMA的网卡,该网卡的一端与主设备连接,另一端连接有多个目标设备,其中,主设备可以为服务器,两个目标设备之间可以通过网卡进行数据交换,具体步骤如图1所示,该方法包括:
S101,根据接收的当前批次的数据读写请求,在网卡的设定区域获取待发送数据报文。
本实施例中,在网卡接收到目标设备发送的数据读写请求后,网卡对数据读写请求进行解析,在网卡的设定区域中查到与读写请求对应的待发送数据报文。
在一个示例中,本申请实施例中多个目标设备可以同时向网卡发送数据读写请求,在网卡接收到多个目标设备同时发送的数据读写请求时,网卡对接收的当前批次数据读写请求进行解析,在网卡的设定区域分别确定每个数据读写请求的待发送数据报文。
在一个示例中,网卡的设定区域可以为网卡的本地存储,也可以为与网卡连接的云端存储。
S102,根据待发送数据报文的报文类型,将待发送报文存储至对应的发送队列。
本实施例中,在网卡确定数据读写请求对应的待发送数据报文后,网卡依次确定每个获取待发送数据报文的报文类型,并根据待发送数据报文的报文类型,将待发送数据报文存储到对应的发送队列。具体地,本申请实施例中网卡中设置有多个所述发送队列,多个发送队列之间存储的数据报文的报文类型是不同的,多个发送队列之间的优先级是不同的,发送队列的优先级与发送队列的预设带宽值呈正相关。
在一个示例中,本申请实施例的网卡根据待发送数据报文的报头确定待发送数据报文的报文类型,即,网卡在数据报文存储至设定区域时,会根据数据报文的报文类型对数据报文进行封装,并在封装过程中添加对应的报头,进而网卡可以根据待发送数据报文的报头,确定待发送数据报文的报文类型。
在一个示例中,待发送数据报文的报文类型可以根据主设备和/或目标设备与网卡之间的通信协议确定,具体地,待发送数据报文的报文类型可以划分为RoCEv2数据报文、TCP数据报文和其他数据报文。
进一步地,网卡中的发送队列也可以根据主设备和/或目标设备与网卡之间的通信协议确定,具体地,发送队列可以包括RoCEv2发送队列、TCP发送队列和其他数据报文发送队列。
进一步地,在网卡确定待发送数据报文的报文类型为RoCEv2数据报文时,网卡将该待发送数据报文存储至RoCEv2发送队列,在网卡确定待发送数据报文的报文类型为TCP数据报文时,网卡将该待发送数据报文存储至TCP发送队列,以此类推,网卡将当前批次的待发送数据报文存储至对应的发送队列。
在一个示例中,本申请实施例中发送队列之间的优先级可以设置为:RoCEv2发送队列大于TCP发送队列大于其他数据报文发送队列,并可以根据配置的发送队列带宽比,确定每个发送队列的带宽。具体地,本申请实施例中,高优先级发送队列相较于低优先级发送队列具有更高的带宽。
S103,根据发送队列中每个待发送数据报文的报文长度,确定发送队列的第一等效带宽值。
本申请实施例中,在网卡将全部待发送数据报文存储到对应的发送队列之后,网卡依次获取每个发送队列中每个待发送数据报文的报文长度,进而确定发送队列的第一等效带宽值,其中,第一等效带宽值可以用于表示发送队列中是否存在待发送数据报文。
S104,在检测到发送队列的第一等效带宽值不为0的情况下,将发送队列中的待发送数据报文发送至对应的目标设备。
本实施例中,在网卡确定发送队列的第一等效带宽值不为0的情况下,网卡确定该发送队列中存在待发送数据,进一步地,网卡将该发送队列中的待发送数据发送至对应的目标设备。
在一个示例中,例如,网卡确定的RoCEv2发送队列的第一等效带宽值为1000bps,TCP发送队列的第一等效带宽值为500bps,其他数据报文发送队列的第一等效带宽值为0,网卡则将RoCEv2发送队列和TCP发送队列中存储的待发送数据发送至对应的目标设备。
本申请实施例的数据传输方法,通过将不同报文类型的待发送数据报文,存储至对应的发送队列,可以利用多个发送队列对待发送数据报文进行精细化管理,进一步地,不同的发送队列之间具有不同的优先级,并通过为高优先级的发送队列配置高带宽值,可以优先保证高优先级发送队列的带宽,提高了网卡的服务质量。
进一步地,本申请实施例的数据传输发方法还可以包括以下步骤:
S105,在当前批次数据传输完成时,根据发送队列的所述第一等效带宽值和发送队列的预设带宽值,确定带宽差值。
本实施例中,在网卡将当前批次的待发送数据报文发送至对应的目标设备之后,网卡计算发送队列的第一等效带宽值与其对应的预设带宽值的差值,以确定带宽差值,进而确定发送队列的实际使用的带宽是否超过发送队列的预设带宽。具体地,在带宽差值大于或等于0的情况下,则确定发送队列实际使用的带宽未超过发送队列的预设带宽,确定发送队列的带宽正常,在带宽差值小于0的情况下,则确定发送队列实际使用的带宽超过发送队列的预设带宽,确定发送队列的带宽异常。
在一个示例中,网卡计算的TCP发送队列的第一等效带宽值为800bps,TCP发送队列的预设带宽值为500bps,网卡将TCP队列中全部的待发送数据发送至目标设备后,网卡计算TCP队列的带宽差值为-300bps,进而网卡确定TCP队列的带宽异常。
在一个示例中,网卡在发送队列的带宽差值时,可以在发送队列每发送一个待发送数据时,在发送队列的预设带宽值减已发送数据的等效带宽值,直至发送队列为空时,网卡可以确定发送队列的带宽差值。
S106,在带宽差值小于0的情况下,根据发送队列的预设带宽值与带宽差值,确定第二等效带宽值,并将第二等效带宽值确定为,下一批次传输数据时发送队列的预设带宽值。
本实施例中,在网卡确定发送队列的带宽差值小于0的情况下,网卡利用发送队列的预设带宽值和带宽差值,确定第二等效带宽值,并将该第二等效带宽值作为下一批次传输数据时所述发送队列的所述预设带宽值,进而通过在下一批次传输数据时,降低发送队列的预设带宽,以弥补发送队列在当前批次中多占用的带宽,从而维持发送队列的带宽正常,保证网卡的服务质量。
在一个示例中,在TCP发送队列的带宽差值为-300的情况下,在下一批次传输数据时,网卡将TCP发动队列的预设带宽设置为200bps。
S107,在带宽差值大于等于0的情况下,不调整发送队列下一批次传输数据的预设带宽值。
本实施例中,在带宽差值大于等于0的情况下,网卡确定发送队列的带宽正常,进而在进行下一批次数据传输时,网卡将不调整该发送队列的预设带宽值。
进一步地,本申请实施例的根据发送队列中每个待发送数据报文的报文长度,确定发送队列的第一等效带宽值,可以包括以下步骤:
S1031,依次获取发送队列中每个待发送数据报文的报文长度。
本实施例中,在网卡确定发送队列的第一等效带宽值时,首先依次获取发送队列中每个待发送数据报文的报文长度。
在一个示例中,本申请实施例的待发送数据报文的报文长度也可以根据待发送数据报文报头确定。
S1032,根据每个待发送数据报文的报文长度确定发送队列中所述待发送数据报文的总报文长度,并将总报文长度确定为发送队列的第一等效带宽值。
本实施例中,网卡统计发送队列中每个待发送数据报文的报文长度,并将全部待发送数据报文对应的总报文长度确定为发送队列的第一等效带宽值。
在一个示例中,例如TCP发送队列中存储有3个待发送数据报文,分别为待发送数据报文1、待发送数据报文2和待发送数据报文3,其报文长度分别为100比特、200比特和300比特,则TCP发送队列的第一等效带宽值为600bps。
在一个示例中,网卡确定发送队列的第一等效带宽值时,检测发送队列的优先级是否为最高优先级,在网卡检测到发送队列为最高优先级的发送队列时,网卡将最高优先级发送队列的第一等效带宽值确定为无穷小,以保证高优先级流量的服务质量,在检测到发送队列为非最高优先级的发送队列的情况下,网卡将全部待发送数据报文对应的总报文长度确定为发送队列的第一等效带宽值。
在一个示例中,本申请实施例中的RoCEv2发送队列可以设置为最高优先级发送队列。
进一步地,本申请实施例中的将发送队列中的待发送数据报文发送至对应的目标设备,可以包括以下步骤:
S1041,在检测到发送队列的数量大于或等于2的情况下,使用轮询调度的方式将每个发送队列中的待发送数据报文发送至对应的目标设备。
本实施例中,网卡在将发送队列中的待发送数据报文时,网卡检测符合发送条件的发送队列的数量,即发送队列的第一等效带宽值大于0的发送队列的数量,在符合发送条件的发送队列的数量大于或等于2时,网卡采用轮询调度的方式,将发送队列中的待发送数据报文发送至目标设备。进而可以通过轮询调度的方式,使各个优先级的发送队列均可以进行数据传输,在保证高优先级流量的服务质量的同时,也保证了低优先级流量的服务质量。
在一个示例中,网卡在使用轮调度的方式将每个发送队列中的待发送数据报文发送至对应的目标设备之前,网卡获取网卡中全部发送队列的总等效带宽值,在全部发送队列的总等效带宽值大于网卡的预设总带宽值的情况下,网卡则使用优先级的调度方式,将每个发送队列中的待发送数据报文发送至目标设备,即在优先级调度的方式下,网卡首先发送最高优先级的发送队列,在最高优先级的发送队列中待发送数据报文发送完成时,网卡按照优先级高低依次将发送队列中的待发送数据报文发送至目标设备,以保证高优先级流量的服务质量。
在全部发送队列的总等效带宽值小于或等于网卡的预设总带宽值,且符合发送条件的发送队列的数量大于或等于2时,网卡采用轮询调度的方式,将发送队列中的待发送数据报文发送至目标设备。
进一步地,本申请实施例提供又一种数据传输方法,具体步骤图2所示,包括:
网卡接收目标设备发送的当前批次的数据读写请求,并根据接收的数据读写请求,在网卡的设定区域中获取,与数据读写请求对应的待发送数据,进一步地,网卡根据待发送数据报文的报头,确定待发送数据报文的报文类型,并在确定待发送数据报文的报文类型后,将待发送数据报文存储至对应的发送队列中,其中,网卡中设置有多个发送队列,多个发送队列之间存储的数据报文的报文类型是不同的,多个发送队列之间的优先级是不同的,发送队列的优先级与发送队列的预设带宽值呈正相关。
进一步地,在网卡将待发送数据报文存储至发送队列之后,网卡依次获取发送队列中每个待发送数据报文的报文长度,以计算发送队列的第一等效带宽值,网卡确定发送队列的第一等效带宽值时,检测发送队列的优先级是否为最高优先级,在网卡检测到发送队列为最高优先级的发送队列时,网卡将最高优先级发送队列的第一等效带宽值确定为无穷小,在检测到发送队列为非最高优先级的发送队列的情况下,根据发送队列中每个所述待发送数据报文的报文长度,确定发送队列的所述第一等效带宽值。
进一步地,在网卡发送数据时,网卡获取网卡中全部发送队列的总等效带宽值,在全部发送队列的总等效带宽值大于网卡的预设总带宽值的情况下,网卡则使用优先级的调度方式,将每个发送队列中的待发送数据报文发送至目标设备,在全部发送队列的总等效带宽值小于或等于网卡的预设总带宽值,且所述发送队列的数量大于或等于2的情况下,网卡使用轮询调度的方式将每个发送队列中的待发送数据报文发送至对应的目标设备。
进一步地,在当前批次数据报文发送完成时,网卡计算发送队列的第一等效带宽值与其对应的预设带宽值的差值,以确定带宽差值,在网卡确定发送队列的带宽差值小于0的情况下,网卡利用发送队列的预设带宽值和带宽差值,确定第二等效带宽值,并将该第二等效带宽值作为下一批次传输数据时所述发送队列的所述预设带宽值,在带宽差值大于等于0的情况下,网卡确定发送队列的带宽正常,进而在进行下一批次数据传输时,网卡将不调整该发送队列的预设带宽值。
进一步地,本申请实施例提供一种数据传输装置,如图3所示,所述装置包括:
获取模块301,用于根据接收的当前批次的数据读写请求,在所述网卡的设定区域获取待发送数据报文;
存储模块302,用于根据所述待发送数据报文的报文类型,将所述待发送报文存储至对应的发送队列,其中,所述网卡中设置有多个所述发送队列,多个所述发送队列之间存储的数据报文的所述报文类型是不同的,多个所述发送队列之间的优先级是不同的,所述发送队列的优先级与所述发送队列的预设带宽值呈正相关;
确定模块303,用于根据所述发送队列中每个所述待发送数据报文的报文长度,确定所述发送队列的第一等效带宽值;
发送模块304,用于在检测到所述发送队列的所述第一等效带宽值不为0的情况下,将所述发送队列中的所述待发送数据报文发送至对应的所述目标设备。
本实施例的数据传输装置用于实现前述多个方法实施例中相应的数据传输方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的数据传输装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
参照图4,示出了根据本申请实施例的一种电子设备的结构示意图,本申请具体实施例并不对电子设备的具体实现做限定。
如图4所示,该电子设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它电子设备或服务器进行通信。
处理器402,用于执行程序410,具体可以执行上述校验码生成方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行以下操作:
在一种可选的实施方式中,程序410还用于使得处理器402在程序410中各步骤的具体实现可以参见上述数据传输方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
本申请实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一数据传输方法对应的操作。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的校验码生成方法。此外,当通用计算机访问用于实现在此示出的校验码生成方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的校验码生成方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。
Claims (10)
1.一种数据传输方法,应用于具有RDMA功能的网卡,所述网卡的一端与主设备连接,另一端连接有多个目标设备,其特征在于,所述方法包括:
根据接收的当前批次的数据读写请求,在所述网卡的设定区域获取待发送数据报文,其中,所述数据读写请求是所述目标设备发送的;
根据所述待发送数据报文的报文类型,将所述待发送报文存储至对应的发送队列,其中,所述网卡中设置有多个所述发送队列,多个所述发送队列之间存储的数据报文的所述报文类型是不同的,多个所述发送队列之间的优先级是不同的,所述发送队列的优先级与所述发送队列的预设带宽值呈正相关;
根据所述发送队列中每个所述待发送数据报文的报文长度,确定所述发送队列的第一等效带宽值;
在检测到所述发送队列的所述第一等效带宽值不为0的情况下,将所述发送队列中的所述待发送数据报文发送至对应的所述目标设备。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在当前批次数据传输完成时,根据所述发送队列的所述第一等效带宽值和所述发送队列的所述预设带宽值,确定带宽差值;
在所述带宽差值小于0的情况下,根据所述发送队列的所述预设带宽值与所述带宽差值,确定第二等效带宽值,并将所述第二等效带宽值确定为,下一批次传输数据时所述发送队列的所述预设带宽值;
在所述带宽差值大于等于0的情况下,不调整所述发送队列下一批次传输数据的所述预设带宽值。
3.根据权利要求1所述的方法,其特征在于,所述根据所述发送队列中每个所述待发送数据报文的报文长度,确定所述发送队列的第一等效带宽值,包括:
依次获取所述发送队列中每个所述待发送数据报文的报文长度;
根据每个所述待发送数据报文的报文长度确定所述发送队列中所述待发送数据报文的总报文长度,并将所述总报文长度确定为所述发送队列的所述第一等效带宽值。
4.根据权利要求3所述的方法,其特征在于,根据所述发送队列中每个所述待发送数据报文的报文长度,确定所述发送队列的第一等效带宽值,包括:
在检测到所述发送队列为最高优先级的所述发送队列的情况下,确定所述发送队列的所述第一等效带宽值为无穷小;
在检测到所述发送队列为非最高优先级的所述发送队列的情况下,根据所述发送队列中每个所述待发送数据报文的报文长度,确定所述发送队列的所述第一等效带宽值。
5.根据权利要求1所述的方法,其特征在于,所述将所述发送队列中的所述待发送数据报文发送至对应的所述目标设备,包括:
在检测到所述发送队列的数量大于或等于2的情况下,使用轮询调度的方式将每个所述发送队列中的所述待发送数据报文发送至对应的所述目标设备。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在检测到全部所述发送队列的总等效带宽值大于所述网卡的预设总带宽值的情况下,使用优先级的调度方式将每个所述发送队列中的所述待发送数据报文发送至对应的所述目标设备。
7.一种数据传输装置,应用于具有RDMA功能的网关,所述网卡的一端与主设备连接,另一端连接有多个目标设备,其特征在于,所述装置包括:
获取模块,用于根据接收的当前批次的数据读写请求,在所述网卡的设定区域获取待发送数据报文;
存储模块,用于根据所述待发送数据报文的报文类型,将所述待发送报文存储至对应的发送队列,其中,所述网卡中设置有多个所述发送队列,多个所述发送队列之间存储的数据报文的所述报文类型是不同的,多个所述发送队列之间的优先级是不同的,所述发送队列的优先级与所述发送队列的预设带宽值呈正相关;
确定模块,用于根据所述发送队列中每个所述待发送数据报文的报文长度,确定所述发送队列的第一等效带宽值;
发送模块,用于在检测到所述发送队列的所述第一等效带宽值不为0的情况下,将所述发送队列中的所述待发送数据报文发送至对应的所述目标设备。
8.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6中任一项所述的数据传输方法对应的操作。
9.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-6中任一所述的数据传输方法。
10.一种计算机程序产品,包括计算机指令,所述计算机指令指示计算设备执行如权利要求1-6中任一所述的数据传输方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311666308.5A CN117579576A (zh) | 2023-12-06 | 2023-12-06 | 数据传输方法、装置、电子设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311666308.5A CN117579576A (zh) | 2023-12-06 | 2023-12-06 | 数据传输方法、装置、电子设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117579576A true CN117579576A (zh) | 2024-02-20 |
Family
ID=89864132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311666308.5A Pending CN117579576A (zh) | 2023-12-06 | 2023-12-06 | 数据传输方法、装置、电子设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117579576A (zh) |
-
2023
- 2023-12-06 CN CN202311666308.5A patent/CN117579576A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111683019B (zh) | 在通信设备中管理待发送的确认数据包 | |
CN106034084B (zh) | 一种数据传输方法及装置 | |
US20080049617A1 (en) | System for fine grained flow-control concurrency to prevent excessive packet loss | |
CN112118191B (zh) | 多路径传输拥塞控制方法、装置、控制设备及存储介质 | |
US20200142734A1 (en) | Service scheduling method and apparatus, and network device | |
US11258717B2 (en) | Method for sending service packet, network device, and system | |
CN114157603A (zh) | 拥塞控制方法、装置、设备及存储介质 | |
CN112242956B (zh) | 流速控制方法和装置 | |
WO2017097201A1 (zh) | 一种数据传输方法、发送装置及接收装置 | |
EP3726787A1 (en) | Data stream sending method, device and system | |
US20220248259A1 (en) | Data processing method and apparatus | |
US11477121B2 (en) | Packet transfer apparatus, method, and program | |
JP2007013449A (ja) | シェーパー制御方法、データ通信システム、ネットワークインタフェース装置及びネットワーク中継装置 | |
CN112532536B (zh) | 一种文件传输方法、系统、计算机可读存储介质及设备 | |
JP6283879B2 (ja) | 無線通信装置、cw最大値取得装置、cw最大値取得方法、及びプログラム | |
CN112202896A (zh) | 边缘计算方法、框架、终端和存储介质 | |
CN109605383B (zh) | 一种信息通信方法、机器人及存储介质 | |
CN117579576A (zh) | 数据传输方法、装置、电子设备及计算机存储介质 | |
WO2022001737A1 (zh) | 数据传输方法、装置以及计算机存储介质 | |
CN115344405A (zh) | 一种数据处理方法、网络接口卡、电子设备及存储介质 | |
CN115514709A (zh) | 拥塞控制事件队列调度方法、装置、设备和存储介质 | |
CN106899510B (zh) | 一种基于iSCSI协议的传输速率控制方法和装置 | |
CN112367265A (zh) | 一种适用于窄带弱连接网络的可靠数据传输方法和装置 | |
JP4915345B2 (ja) | 試験装置測定システム | |
CN110289937B (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 |