CN116260887A - 数据传输方法、数据发送装置、数据接收装置和存储介质 - Google Patents
数据传输方法、数据发送装置、数据接收装置和存储介质 Download PDFInfo
- Publication number
- CN116260887A CN116260887A CN202111507325.5A CN202111507325A CN116260887A CN 116260887 A CN116260887 A CN 116260887A CN 202111507325 A CN202111507325 A CN 202111507325A CN 116260887 A CN116260887 A CN 116260887A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- message
- transmission method
- sending
- 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 141
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000015654 memory Effects 0.000 claims description 40
- 238000004458 analytical method Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000010485 coping Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种数据传输方法、数据发送装置、数据接收装置和存储介质,该数据传输方法通过获取多个目标数据包,为各个所述目标数据包分配对应的初始地址段,根据各个所述目标数据包和对应的所述初始地址段生成数据报文,将所述数据报文发送至数据接收装置,以供所述数据接收装置根据所述初始地址段存储对应的目标数据包,由于数据报文中携带了目标数据包对应的初始地址段,因此数据接收装置在接收到数据报文后可以根据初始地址段来对应存储目标数据包,从而可以应对数据包乱序的情况,提高数据传输的可靠性。
Description
技术领域
本发明涉及但不限于通信技术领域,尤其涉及一种数据传输方法、数据发送装置、数据接收装置和存储介质。
背景技术
由于传统的主机网络堆栈无法再维持低延迟和带宽要求,将网络堆栈卸载到硬件中是高速网络中不可避免的方向。通过RoCEv2(融合以太网RDMA协议)在数据中心部署了具有RDMA(Remote Direct Memory Access,远程直接内存访问)的大型网络,作为当前的硬件卸载解决方案。
然而,在基于RDMA技术进行数据传输时,可能会遇到数据包的发送乱序问题,从而使得数据传输的可靠性下降。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供了一种数据传输方法、数据发送装置、数据接收装置和存储介质,能够应对数据包乱序的情况,提高数据传输的可靠性。
第一方面,本发明实施例提供了一种数据传输方法,应用于数据发送装置,所述数据传输方法包括:
获取多个目标数据包,为各个所述目标数据包分配对应的初始地址段;根据各个所述目标数据包和对应的所述初始地址段生成数据报文;将所述数据报文发送至数据接收装置,以供所述数据接收装置根据所述初始地址段存储对应的目标数据包。
第二方面,本发明实施例还提供了一种数据传输方法,应用于数据接收装置,所述数据传输方法包括:
接收数据报文,所述数据报文携带有多个目标数据包以及各个所述目标数据包对应的初始地址段;根据所述初始地址段存储对应的目标数据包。
第三方面,本发明实施例还提供了一种数据发送装置,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的数据传输方法。
第四方面,本发明实施例还提供了一种数据接收装置,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第二方面所述的数据传输方法。
第五方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行时实现第一方面或者第二方面所述的数据传输方法。
本发明实施例至少具有以下有益效果:通过获取多个目标数据包,为各个所述目标数据包分配对应的初始地址段,根据各个所述目标数据包和对应的所述初始地址段生成数据报文,将所述数据报文发送至数据接收装置,以供所述数据接收装置根据所述初始地址段存储对应的目标数据包,由于数据报文中携带了目标数据包对应的初始地址段,因此数据接收装置在接收到数据报文后可以根据初始地址段来对应存储目标数据包,从而可以应对数据包乱序的情况,提高数据传输的可靠性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例提供的网络架构示意图;
图2为本发明实施例提供的智能网卡的结构示意图;
图3为本发明实施例提供的智能网卡的功能示意图;
图4为本发明实施例提供的应用于数据发送装置的数据传输方法的流程示意图;
图5为本发明实施例提供的数据传输方法的补充步骤的流程示意图;
图6为本发明实施例提供的数据发送装置和数据接收装置的报文处理示意图;
图7为本发明实施例提供的应用于数据接收装置的数据传输方法的流程示意图;
图8为本发明实施例提供的数据发送装置和数据接收装置的具体结构示意图;
图9为本发明实施例提供的数据发送装置的结构示意图;
图10为本发明实施例提供的数据接收装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在本发明的描述中,需要理解的是,涉及到方位描述,例如“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本发明的描述中,需要说明的是,除非另有明确的限定,术语“安装”、“连接”等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
由于传统的主机网络堆栈无法再维持低延迟和带宽要求,将网络堆栈卸载到硬件中是高速网络中不可避免的方向。通过RoCEv2在数据中心部署了具有RDMA的大型网络,作为当前的硬件卸载解决方案。
然而,在基于RDMA技术进行数据传输时,可能会遇到数据包的发送乱序问题,从而使得数据传输的可靠性下降。
例如,数据发送端发送的数据包的序列号应该为1-2-3-4-5-6,但数据接收端实际接收到的数据包的序列号为1-2-3-5-4-6,此时就会出现数据包的发送乱序问题。
基于此,本发明实施例提供了一种数据传输方法、数据发送装置、数据接收装置和存储介质,能够避免数据包乱序的情况出现,提高数据传输的可靠性。
本发明实施例提供的数据传输方法可以应用于数据发送装置和数据接收装置中,在一个实施例中,数据发送装置和数据接收装置可以是智能网卡,智能网卡对外出光口,对内采用PCIe X16的标准结构。本发明实施例中的智能网卡可以部署在通用服务器中,服务器部署在数据中心机房中。参照图1,图1为本发明实施例提供的网络架构示意图,进行数据发送和接收的计算服务器均设置有RDMA智能网卡,进行数据发送和接收的计算服务器通过交换机或者路由器进行通信。
参照图2,图2为本发明实施例提供的智能网卡的结构示意图,本发明实施例提供的RDMA智能网卡基于FPGA(Field Programmable Gate Array,现场可编程门阵列)实现,智能网卡与主机(计算服务器)采用*16的PCIe接口通信,通过100G的网口与外部通信,内部含有FPGA主芯片以及用于存储的DDR4(Double DataRate,双倍速率同步动态随机存储器)芯片。可以理解的是,除了在FPGA中实现本发明实施例提供的技术方案外,可以用多核处理器的技术达到同样的目的。
参照图3,图3为本发明实施例提供的智能网卡的功能示意图,本发明实施例提供的RDMA智能网卡的功能逻辑包括二层协议、三层协议、四层UDP协议、四层IB协议的各层协议的解析和生成处理,本发明实施例提供的RDMA智能网卡的功能逻辑最核心部分含有IB/ROCE协议中的QP(Queue Pairs,队列对)状态管理、QP资源管理、QP连接管理、QP任务管理、地址等控制元组查表写表管理、流量控制、拥塞控制、丢包重传等主要功能。
基于图1所示的网络架构,本发明实施例提供了一种数据传输方法,应用于数据发送装置,其中,数据发送装置可以为RDMA智能网卡,具体执行各个方法步骤的可以是FPGA,参照图4,图4为本发明实施例提供的应用于数据发送装置的数据传输方法的流程示意图,该数据传输方法包括但不限于以下步骤401至步骤403。
步骤401:获取多个目标数据包,为各个目标数据包分配对应的初始地址段;
步骤402:根据各个目标数据包和对应的初始地址段生成数据报文;
步骤403:将数据报文发送至数据接收装置,以供数据接收装置根据初始地址段存储对应的目标数据包。
其中,目标数据包为待发送的数据包,目标数据包的类型可以是文本、音频、视频等。每个目标数据包分配的初始地址段各不相同,并且,在分配初始地址段时,可以根据目标数据包的顺序来确定初始地址段的顺序,从而使得多个目标数据包的发送顺序与初始地址段的顺序相对应。接着,根据各个目标数据包和对应的初始地址段生成数据报文,因此,数据接收装置在接收到数据报文后可以根据初始地址段存储对应的目标数据包,即使目标数据包在发送过程中出现乱序,由于目标数据包对应有初始地址段,则数据接收装置可以根据初始地址段来还原出目标数据包的顺序,从而可以应对数据包乱序的情况,提高数据传输的可靠性。
可见,上述步骤401至步骤403中,通过获取多个目标数据包,为各个目标数据包分配对应的初始地址段,根据各个目标数据包和对应的初始地址段生成数据报文,将数据报文发送至数据接收装置,以供数据接收装置根据初始地址段存储对应的目标数据包,由于数据报文中携带了目标数据包对应的初始地址段,因此数据接收装置在接收到数据报文后可以根据初始地址段来对应存储目标数据包,从而可以应对数据包乱序的情况,提高数据传输的可靠性。
另外,除了上述的乱序问题以外,还可能会出现丢包问题,例如,数据发送端发送的数据包的序列号为1-2-3-4-5-6时,序列号为4的数据包发送失败,在相关技术中,数据接收端会通知数据发送端丢包情况,数据发送端会将序列号4-5-6的数据包全部重传,从而增加了网络的拥塞度。
基于此,在一个实施例中,参照图5,图5为本发明实施例提供的数据传输方法的补充步骤的流程示意图,上述数据传输方法还可以包括以下步骤501至步骤502。
步骤501:当目标数据包发送失败,接收数据接收装置发送的重传请求,重传请求中携带有发送异常的目标地址段;
步骤502:根据重传请求将目标地址段对应的目标数据包重新发送至数据接收装置。
其中,当某个目标数据包发送失败时,数据接收装置可以将发送失败的目标数据包对应的目标地址段通知数据发送装置,数据发送装置根据目标地址段即可得知发送失败的目标数据包,并可以根据目标地址段重新发送对应的目标数据包,而无需将目标数据包后续的所有数据包发送,从而可以降低网络拥塞度,减少传输资源的消耗。
在一个实施例中,上述步骤401中,为各个目标数据包分配对应的初始地址段,具体可以是确定多个目标数据包对应的地址空间,对地址空间进行分析处理,根据分析处理的分析结果对地址空间进行拆分,得到各个目标数据包对应的初始地址段。
其中,为各个目标数据包分配对应的初始地址段,可以先确定一个整体的地址空间,该地址空间包括了多个地址段,每个地址段可以用于对应一个目标数据包。
其中,分析处理包括有效性分析或者容量大小分析中的至少一种,对地址空间进行有效性分析,可以确定该地址空间中每个地址段的有效性,若某个地址段无效,则不进行分配,从而提高目标数据包发送的可靠性;而对地址空间进行容量大小分析,可以根据目标数据包的数量或者容量来确定每个地址段的大小,从而达到地址段合理分配的效果。可以理解的是,上述有效性分析或者容量大小分析可以择一执行,也可以均执行,本发明实施例不做限定。
在一个实施例中,多个目标数据包可以分别对应不同的数据文件(例如不同的视频文件),相应地数据报文的数量为多个,即多个目标数据包可以分为不同的数据报文来进行发送,上述步骤403中,将数据报文发送至数据接收装置,具体可以对数据报文进行优先级分析,得到数据报文对应的优先级,根据优先级将数据报文发送至数据接收装置。
其中,通过对数据报文进行优先级分析,可以根据多个数据报文的优先级来确定发送至数据接收装置的顺序,从而可以适应不同场景的数据发送需求。
相关技术中,RDMA的传输模式有多种模式,例如RD传输模式、RC传输模式、XRC传输模式等,其中,RD传输模式的优点是可以节约大量的QP端口资源,主要是节约了大量的RQ缓存资源;RC传输模式的优点是可以并行发送多个报文并发带宽高;RD传输模式的缺点是必须等待前一个报文ACK(Acknowledge character,确认字符)后才能发下一个报文,带宽利用率低导致网络上会有空闲;RC传输模式的缺点是缓存资源消耗大。对于XRC传输模式来说,其实就是RD传输模式和RC传输模式的组合体,但是主机的配置和管理非常复杂。由于通用RDMA方案在握手阶段就明确采用哪种传输模式,在数据发送过程中传输模式是不能随意变换,这种方式灵活性低,不利于提高数据传输的效率。
基于此,在一个实施例中,上述步骤403中,将数据报文发送至数据接收装置,具体可以接收传输模式切换指令,根据传输模式切换指令确定数据报文的目标传输模式,根据目标传输模式将数据报文发送至数据接收装置。
其中,传输模式切换指令基于数据发送装置和数据接收装置之间的网络连接状态得到,传输模式切换指令可以是由主机生成并发送至智能网卡中,通过在发送数据报文时根据传输模式切换指令来调整数据报文的传输模式,使得数据报文的传输模式适配当前的网络连接状态,从而提高数据报文传输的灵活性,提高数据传输的效率。
在一个实施例中,数据发送装置除了发送数据报文以外,还可以发送消息报文,消息报文可以用于携带控制信令,因此,数据发送装置还可以进一步接收计算设备发送的消息报文,将消息报文发送至数据接收装置。
其中,参照图6,图6为本发明实施例提供的数据发送装置和数据接收装置的报文处理示意图,本发明实施例在IB层进行协议处理将数据报文和消息报文进行分离处理,以图2所示的智能网卡的结构为例,本发明实施例将带有地址的数据报文直接由FPGA完成搬移,消息报文由主机的消息处理模块处理。由于主机需要处理的仅仅是消息报文,缓存规模比数据报文和消息报文全部上传到主机内存进行缓存的规模小得多,因此对于主机来说,QP对缓存资源的消耗极大降低。
例如,通用方案对于数据报文需要开辟4K宽度8K深度的缓存,那么一个QP的缓存就高达32M,如果支持QP数量达到1M,那么缓存需求就高达32T,对于主机来说不可接受。
本发明实施例通过将数据报文和消息报文进行分离处理,仅仅需要开辟4Byte宽度8K深度的缓存,如果支持1M的QP数量仅仅需要32G的缓存,对于主机来说可以接受。
综述,本发明实施例中,通过对数据报文和消息报文的有效分离,对于缓存需求降低,因此QP数量可以数倍扩大,从而可以实现标准协议中QP数量的最大化(协议支持24bit,也就是最大支持16M数量的QP端口),高效地解决了主机的内存资源占用问题。
本发明将数据报文和消息报文的分离,数据报文由FPGA直接进行搬移处理,数据报文由FPGA直接进行搬移处理,FPGA无需对全部数据进行缓存处理。本发明采用全部带地址的操作码进行报文传输,通过对报文带有的地址直接进行搬移操作。
另外,本发明实施例还提供了一种数据传输方法,应用于数据接收装置,其中,数据接收装置也可以为RDMA智能网卡,具体执行各个方法步骤的可以是FPGA,参照图7,图7为本发明实施例提供的应用于数据接收装置的数据传输方法的流程示意图,该数据传输方法包括但不限于以下步骤701至步骤702。
步骤701:接收数据报文;
步骤702:根据初始地址段存储对应的目标数据包。
其中,数据报文携带有多个目标数据包以及各个目标数据包对应的初始地址段,图7所示的数据传输方法与图4所示的数据传输方法基于相同的发明构思,因此数据接收装置在接收到数据报文后可以根据初始地址段来对应存储目标数据包,从而可以应对数据包乱序的情况,提高数据传输的可靠性。
在一个实施例中,针对丢包的情况,数据接收装置还可以根据初始地址段判断各个目标数据包的发送状态,当发送状态表征目标数据包发送失败,从初始地址段中确定发送失败的目标地址段,根据目标地址段生成重传请求,将重传请求发送至数据发送装置,以使数据发送装置根据重传请求确定目标地址段对应的目标数据包,接收数据发送装置重新发送的目标数据包。
当某个目标数据包发送失败时,数据接收装置可以将发送失败的目标数据包对应的目标地址段通知数据发送装置,使得数据发送装置根据目标地址段即可得知发送失败的目标数据包,并可以根据目标地址段重新发送对应的目标数据包,而无需将目标数据包后续的所有数据包发送,从而可以降低网络拥塞度,减少传输资源的消耗。
在一个实施例中,数据接收装置可以获取发送地址表单,根据初始地址段在发送地址表单中对应的参考地址段进行标记,得到地址空间标识,根据地址空间标识判断各个目标数据包的发送状态。
具体地,发送地址表单用于记录数据报文所涉及的地址段,数据发送装置在发送数据报文的时候就可以一并将发送地址表单发送至数据接收装置,或者,发送地址表单可以预存于数据接收装置中。数据接收装置在接收到数据报文后,可以分别根据各个目标数据包所对应的初始地址段在发送地址表单对应的参考地址段进行标记,例如目标数据包对应的初始地址段为A,则在发送地址表单对应的参考地址段A中进行标记,最后,根据标记得到的地址空间标识即可判断哪个目标数据包丢失。
在一个实施例中,根据地址空间标识判断各个目标数据包的发送状态时,可以获取定时器参数,根据定时器参数确定检测频率,基于检测频率,根据地址空间标识判断各个目标数据包的发送状态,即通过定时器参数来定时地判断各个目标数据包的发送状态。
或者,也可以当确定接收到数据发送装置发送的最后一个数据报文,根据地址空间标识判断各个目标数据包的发送状态,即所有数据报文均发送完成后再确定目标数据包的发送状态。
在一个实施例中,数据发送装置会将消息报文一并发送至数据接收装置,对于数据接收装置来说,同样将数据报文和消息报文进行分离处理,具体地,数据接收装置接收数据发送装置发送的消息报文,将消息报文发送至计算设备,以供计算设备根据消息报文执行对应的控制指令。即数据接收发送装置接收到数据报文和消息报文后,通过FPGA对数据报文进行处理,而仅将消息报文上传至主机,从而可以减低主机的缓存资源的消耗。
下面以一具体例子说明本发明实施例提供的数据传输方法。
参照图8,图8为本发明实施例提供的数据发送装置和数据接收装置的具体结构示意图,具体地,数据发送装置包括任务接收装置、任务分析装置、地址分析装置、地址分配装置以及报文地址封装装置,数据接收装置包括报文接收装置、地址记录装置、地址查表装置、丢包分析装置以及重传通知装置。
数据发送装置从与数据接收装置的握手阶段触发的任务地址空间开始启动。
第一步,任务接收装置功能是处理来自主机***的发送请求任务或者处理网络侧来的发送响应任务。
第二步,任务分析装置对主机***任务或者网络侧任务进行优先级分析以及对任务类别大小的进一步分析,对分析的结果进行仲裁。
第三步,地址分析装置功能是对当前发送命令涉及的地址空间有效性以及对地址空间的大小进行分析,对地址进行拆分操作。
第四步,地址分配装置功能是对数据段以及具体地址段进行同步并且预分配满足***配置要求。
第五步,报文地址封装装置功能是将对应地址的报文封装成标准的RoCE报文发送出去。
数据接收装置从接收到报文开始启动。
第一步,报文接收装置功能是接收网络中的报文并且对报文进行缓存处理。
第二步,地址记录装置功能是将接收到的报文涉及的地址进行分析,根据当前报文的具体地址对本机地址表单中该项目进行标记。
第三步,地址查表装置功能根据定时器参数或者最后一个报文已经到达等条件定期进行地址空间标志位进行检测。
第四步,丢包分析装置对地址表项中的标志位以及***配置的定时器参数等分析,根据分析结果判断是否属于丢包。
第五步,重传通知装置功能是将上一阶段检测到丢包的地址通知发送方重传模块,通过特定的报文格式发送出去。
对比业界通用的方案,本发明实施例提供的数据传输方法,既可以避免全部报文重传导致网络恶化,也可以避免全部缓存重组导致内存资源恶化,从而可以高效地进行数据传输。
可以理解的是,虽然上述各个流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本实施例中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
参照图9,图9为本发明实施例提供的数据发送装置的结构示意图。数据发送装置900包括:存储器901、处理器902及存储在存储器901上并可在处理器902上运行的计算机程序,计算机程序运行时用于执行上述的数据传输方法。
处理器902和存储器901可以通过总线或者其他方式连接。
存储器901作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本发明实施例描述的数据传输方法。处理器902通过运行存储在存储器901中的非暂态软件程序以及指令,从而实现上述的数据传输方法。
存储器901可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储执行上述的数据传输方法。此外,存储器901可以包括高速随机存取存储器901,还可以包括非暂态存储器901,例如至少一个储存设备存储器件、闪存器件或其他非暂态固态存储器件。在一些实施方式中,存储器901可选包括相对于处理器902远程设置的存储器901,这些远程存储器901可以通过网络连接至该数据发送装置900。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述的数据传输方法所需的非暂态软件程序以及指令存储在存储器901中,当被一个或者多个处理器902执行时,执行上述的数据传输方法。
本发明实施例还提供了计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行上述的数据传输方法。
参照图10,图10为本发明实施例提供的数据接收装置的结构示意图。数据接收装置1000包括:存储器1001、处理器1002及存储在存储器1001上并可在处理器1002上运行的计算机程序,计算机程序运行时用于执行上述的数据传输方法。
处理器1002和存储器1001可以通过总线或者其他方式连接。
存储器1001作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如本发明实施例描述的数据传输方法。处理器1002通过运行存储在存储器1001中的非暂态软件程序以及指令,从而实现上述的数据传输方法。
存储器1001可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储执行上述的数据传输方法。此外,存储器1001可以包括高速随机存取存储器1001,还可以包括非暂态存储器1001,例如至少一个储存设备存储器件、闪存器件或其他非暂态固态存储器件。在一些实施方式中,存储器1001可选包括相对于处理器1002远程设置的存储器1001,这些远程存储器1001可以通过网络连接至该数据接收装置1000。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述的数据传输方法所需的非暂态软件程序以及指令存储在存储器1001中,当被一个或者多个处理器1002执行时,执行上述的数据传输方法。
本发明实施例还提供了计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行上述的数据传输方法。
在一实施例中,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,可以实现上述的数据传输方法。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、储存设备存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包括计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
还应了解,本发明实施例提供的各种实施方式可以任意进行组合,以实现不同的技术效果。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
Claims (14)
1.一种数据传输方法,其特征在于,应用于数据发送装置,所述数据传输方法包括:
获取多个目标数据包,为各个所述目标数据包分配对应的初始地址段;
根据各个所述目标数据包和对应的所述初始地址段生成数据报文;
将所述数据报文发送至数据接收装置,以供所述数据接收装置根据所述初始地址段存储对应的目标数据包。
2.根据权利要求1所述的数据传输方法,其特征在于,所述数据传输方法还包括:
当所述目标数据包发送失败,接收所述数据接收装置发送的重传请求,所述重传请求中携带有发送异常的目标地址段;
根据所述重传请求将所述目标地址段对应的目标数据包重新发送至所述数据接收装置。
3.根据权利要求1所述的数据传输方法,其特征在于,所述为各个所述目标数据包分配对应的初始地址段,包括:
确定多个所述目标数据包对应的地址空间;
对所述地址空间进行分析处理,根据所述分析处理的分析结果对所述地址空间进行拆分,得到各个目标数据包对应的初始地址段;
其中,所述分析处理包括有效性分析或者容量大小分析中的至少一种。
4.根据权利要求1所述的数据传输方法,其特征在于,所述数据报文的数量为多个,所述将所述数据报文发送至数据接收装置,包括:
对各个所述数据报文进行优先级分析,得到各个所述数据报文对应的优先级;
根据所述优先级将所述数据报文发送至数据接收装置。
5.根据权利要求1所述的数据传输方法,其特征在于,所述将所述数据报文发送至数据接收装置,包括:
接收传输模式切换指令,所述传输模式切换指令基于所述数据发送装置和所述数据接收装置之间的网络连接状态得到;
根据所述传输模式切换指令确定所述数据报文的目标传输模式,根据所述目标传输模式将所述数据报文发送至数据接收装置。
6.根据权利要求1所述的数据传输方法,其特征在于,所述数据发送装置设置于计算设备中,所述数据传输方法还包括:
接收所述计算设备发送的消息报文;
将所述消息报文发送至所述数据接收装置。
7.一种数据传输方法,其特征在于,应用于数据接收装置,所述数据传输方法包括:
接收数据报文,所述数据报文携带有多个目标数据包以及各个所述目标数据包对应的初始地址段;
根据所述初始地址段存储对应的目标数据包。
8.根据权利要求7所述的数据传输方法,其特征在于,所述数据传输方法还包括:
根据所述初始地址段判断各个目标数据包的发送状态;
当所述发送状态表征所述目标数据包发送失败,从所述初始地址段中确定发送失败的目标地址段,根据所述目标地址段生成重传请求,将所述重传请求发送至所述数据发送装置,以使所述数据发送装置根据所述重传请求确定所述目标地址段对应的目标数据包;
接收所述数据发送装置重新发送的所述目标地址段对应的目标数据包。
9.根据权利要求8所述的数据传输方法,其特征在于,所述根据所述初始地址段判断各个目标数据包的发送状态,包括:
获取发送地址表单,根据所述初始地址段在所述发送地址表单中对应的参考地址段进行标记,得到地址空间标识;
根据所述地址空间标识判断各个目标数据包的发送状态。
10.根据权利要求8所述的数据传输方法,其特征在于,所述根据所述地址空间标识判断各个目标数据包的发送状态,包括:
获取定时器参数,根据所述定时器参数确定检测频率,基于所述检测频率,根据所述地址空间标识判断各个目标数据包的发送状态;
或者,当确定接收到所述数据发送装置发送的最后一个数据报文,根据所述地址空间标识判断各个目标数据包的发送状态。
11.根据权利要求7所述的数据传输方法,其特征在于,所述数据接收装置设置于计算设备中,所述数据传输方法还包括:
接收所述数据发送装置发送的消息报文;
将所述消息报文发送至所述计算设备,以供所述计算设备根据所述消息报文执行对应的控制指令。
12.一种数据发送装置,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任意一项所述的数据传输方法。
13.一种数据接收装置,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求7至11任意一项所述的数据传输方法。
14.一种计算机可读存储介质,所述存储介质存储有程序,其特征在于,所述程序被处理器执行时实现权利要求1至11任意一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111507325.5A CN116260887A (zh) | 2021-12-10 | 2021-12-10 | 数据传输方法、数据发送装置、数据接收装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111507325.5A CN116260887A (zh) | 2021-12-10 | 2021-12-10 | 数据传输方法、数据发送装置、数据接收装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116260887A true CN116260887A (zh) | 2023-06-13 |
Family
ID=86684895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111507325.5A Pending CN116260887A (zh) | 2021-12-10 | 2021-12-10 | 数据传输方法、数据发送装置、数据接收装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116260887A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116974977A (zh) * | 2023-07-26 | 2023-10-31 | 中科驭数(北京)科技有限公司 | 数据传输方法、装置、设备及存储介质 |
CN117278504A (zh) * | 2023-09-21 | 2023-12-22 | 中科驭数(北京)科技有限公司 | 报文数据转发方法及装置 |
-
2021
- 2021-12-10 CN CN202111507325.5A patent/CN116260887A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116974977A (zh) * | 2023-07-26 | 2023-10-31 | 中科驭数(北京)科技有限公司 | 数据传输方法、装置、设备及存储介质 |
CN117278504A (zh) * | 2023-09-21 | 2023-12-22 | 中科驭数(北京)科技有限公司 | 报文数据转发方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11765074B2 (en) | System and method for facilitating hybrid message matching in a network interface controller (NIC) | |
US20220014312A1 (en) | Data transmission method and apparatus | |
CN106664290B (zh) | 一种光电混合网络的数据传输方法及装置 | |
US11381514B2 (en) | Methods and apparatus for early delivery of data link layer packets | |
US8605578B1 (en) | System and method for handling of destination host side congestion | |
CN116260887A (zh) | 数据传输方法、数据发送装置、数据接收装置和存储介质 | |
US20130138771A1 (en) | Apparatus and method for transmitting data | |
US7725556B1 (en) | Computer system with concurrent direct memory access | |
CN110312283B (zh) | 一种信息处理方法及装置 | |
US20050169309A1 (en) | System and method for vertical perimeter protection | |
US20230403229A1 (en) | System and method for facilitating efficient host memory access from a network interface controller (nic) | |
CN113973091A (zh) | 一种报文处理方法、网络设备以及相关设备 | |
WO2023133697A1 (zh) | 丢包处理方法、装置、交换机、发送设备和数据传输*** | |
US8539113B2 (en) | Indicators for streams associated with messages | |
CN112422457B (zh) | 报文处理方法、装置和计算机存储介质 | |
US11336592B2 (en) | Flexible link level retry for shared memory switches | |
CN117294642A (zh) | 适用于rdma网络的多租户在网聚合传输***及方法 | |
CN117675890A (zh) | 一种rdma动态连接传输服务提供方法和装置 | |
CN117714746A (zh) | 基于多通道的数据包传输方法、装置、设备和介质 | |
CN117640530A (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 |