CN117376273A - 一种数据传输方法、装置、设备及介质 - Google Patents
一种数据传输方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117376273A CN117376273A CN202311471572.3A CN202311471572A CN117376273A CN 117376273 A CN117376273 A CN 117376273A CN 202311471572 A CN202311471572 A CN 202311471572A CN 117376273 A CN117376273 A CN 117376273A
- Authority
- CN
- China
- Prior art keywords
- frame
- combined frame
- data
- combined
- feedback information
- 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 83
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000003139 buffering effect Effects 0.000 claims abstract description 74
- 238000010276 construction Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction 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/10—Flow control; Congestion control
- H04L47/43—Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Communication Control (AREA)
Abstract
本申请公开了一种数据传输方法、装置、设备及介质,本申请属于计算机技术领域。该方法包括:根据组合帧协议信息,构建第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;向接收端发送所述第一组合帧;接收所述接收端的反馈信息;其中,所述反馈信息包括接收端的剩余缓存能力;根据所述剩余缓存能力和所述组合帧协议信息构建第二组合帧。通过本技术方案,可以达到在不增加单个数据包大小的前提下,同时传输多个数据帧的目的,提高了数据传输的效率以及灵活性。
Description
技术领域
本申请属于计算机技术领域,具体涉及一种数据传输方法、装置、设备及介质。
背景技术
随着通信行业的不断发展,利用数据帧的形式传输数据变得十分普遍。数据帧就是数据链路层的协议数据单元,它包括三部分:帧头、数据部分以及帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如IP数据包等。
相关技术中,利用数据帧传输数据的方式主要是将待传输数据进行打包,将打包好的数据包放入数据帧中,并通过逐帧传输数据帧的方式将数据传输至接收端。为了提高数据传输效率,往往通过增加数据包中的数据量来减小数据传输次数。
由于现有技术只能逐帧传输数据帧,存在数据传输效率较低的问题,同时,现有技术增大了数据包的大小,虽然在一定程度上减少了数据传输的次数,但数据一旦打包后就无法再随意进行拆分组合,存在数据传输灵活性较差的问题。
发明内容
本申请实施例的目的是提供一种数据传输方法、装置、设备及介质,解决了现有技术中数据传输效率低以及传输灵活性差的问题,通过根据组合帧协议信息构建组合帧,并向接收端发送组合帧,再根据接收端的反馈信息确定新的组合帧,可以达到在不增加单个数据包大小的前提下同时传输多个数据帧的目的,提高了数据传输的效率以及传输的灵活性。
第一方面,本申请实施例提供了一种数据传输方法,所述方法由发送端执行;所述方法包括:
根据组合帧协议信息,构建第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;
向接收端发送所述第一组合帧;
接收所述接收端的反馈信息;其中,所述反馈信息包括接收端的剩余缓存能力;
根据所述剩余缓存能力和所述组合帧协议信息构建第二组合帧。
进一步的,所述根据所述剩余缓存能力和所述组合帧协议信息构建第二组合帧,包括:
根据所述剩余缓存能力确定所述接收端的当前可接收帧数;
识别所述当前可接收帧数是否达到所述最大帧数;
若是,则根据所述最大帧数以及待发送数据帧的帧序列构建第二组合帧;
若否,则根据所述当前可接收帧数以及待发送数据帧的帧序列构建第二组合帧。
进一步的,在接收所述接收端的反馈信息之后,所述方法还包括:
根据所述反馈信息确定所述接收端成功接收的数据帧数;
根据所述接收端成功接收的数据帧数以及已发送数据帧的帧序列,确定所述第一组合帧中的待重发数据帧。
进一步的,所述根据所述剩余缓存能力和所述组合帧协议信息构建第二组合帧,包括:
根据所述剩余缓存能力和所述组合帧协议信息确定所述第二组合帧的帧数;
根据所述第二组合帧的帧数、所述待重发数据帧的帧数以及待发送数据帧的帧序列构建第二组合帧。
第二方面,本申请实施例提供了一种数据传输方法,所述方法由接收端执行;所述方法包括:
接收第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;
将所述第一组合帧中包括一个或者多个数据帧写入至预设缓存区间;
识别所述预设缓存区间的剩余缓存能力;
根据所述剩余缓存能力构建反馈信息,并发送所述反馈信息至发送端。
进一步的,所述根据所述剩余缓存能力构建反馈信息,并发送所述反馈信息至发送端,包括:
识别所述剩余缓存能力是否达到所述最大帧数;
若是,则构建反馈信息,并发送所述反馈信息至发送端;
若否,则生成等待指令,直至所述剩余缓存能力达到所述最大帧数,构建反馈信息,并发送所述反馈信息至发送端。
进一步的,在将所述第一组合帧中包括一个或者多个数据帧写入至预设缓存区间之后,所述方法还包括:
识别成功接收的数据帧数;
相应的,根据所述剩余缓存能力构建反馈信息,包括:
根据所述剩余缓存能力以及所述成功接收的数据帧数,构建反馈信息。
第三方面,本申请实施例提供了一种数据传输装置,所述装置配置于发送端;所述装置包括:
第一组合帧构建模块,用于根据组合帧协议信息,构建第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;
第一组合帧发送模块,用于向接收端发送所述第一组合帧;
反馈信息接收模块,用于接收所述接收端的反馈信息;其中,所述反馈信息包括接收端的剩余缓存能力;
第二组合帧构建模块,用于根据所述剩余缓存能力和所述组合帧协议信息构建第二组合帧。
第四方面,本申请实施例提供了一种数据传输装置,所述装置配置于接收端;所述装置包括:
第一组合帧接收模块,用于接收第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;
数据帧写入模块,用于将所述第一组合帧中包括一个或者多个数据帧写入至预设缓存区间;
缓存能力识别模块,用于识别所述预设缓存区间的剩余缓存能力;
反馈信息构建模块,用于根据所述剩余缓存能力构建反馈信息,并发送所述反馈信息至发送端。
第五方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面或者如第二方面所述的方法的步骤。
第六方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面或者如第二方面所述的方法的步骤。
第七方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面或者如第二方面所述的方法。
在本申请实施例中,根据组合帧协议信息,构建第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;向接收端发送所述第一组合帧;接收所述接收端的反馈信息;其中,所述反馈信息包括接收端的剩余缓存能力;根据所述剩余缓存能力和所述组合帧协议信息构建第二组合帧。通过上述数据传输方法,解决了现有技术中数据传输效率低以及传输灵活性差的问题,通过根据组合帧协议信息构建组合帧,并向接收端发送组合帧,再根据接收端的反馈信息确定新的组合帧,可以达到在不增加单个数据包大小的前提下同时传输多个数据帧的目的,提高了数据传输的效率以及传输的灵活性。
附图说明
图1是本申请实施例一提供的数据传输方法的流程示意图;
图2是本申请实施例二提供的数据传输装置的流程示意图;
图3为本申请提供的发送端与接收端的通信结构示意图;
图4为本申请提供的组合数据帧的传输流程图;
图5是本申请实施例三提供的数据传输装置的结构示意图;
图6是本申请实施例四提供的数据传输装置的结构示意图;
图7是本申请实施例五提供的电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的数据传输方法、装置、设备及介质进行详细地说明。
实施例一
图1是本申请实施例一提供的数据传输方法的流程示意图。如图1所示,具体包括如下步骤:
S101,根据组合帧协议信息,构建第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;
首先,本方案的使用场景可以是需要进行数据传输的场景,尤其是传输较大数据量的场景。
基于上述使用场景,可以理解的,本方案的执行主体可以是数据发送端。
其中,数据帧可以是数据链路层的协议数据单元,它包括三部分:帧头,数据部分,帧尾。所述帧头和所述帧尾包含一些必要的控制信息,如:同步信息、地址信息、差错控制信息等。所述数据部分则包含网络层传下来的数据,比如IP数据包等。数据包可以是TCP/IP协议通信传输中的数据单位,在局域网中,“数据包”是包含在“数据帧”里的。
组合帧协议信息可以是用于规定待发送数据帧如何进行组合发送的协议信息。所述组合帧协议信息可以包括:数据帧的组合方式、组合帧的格式、组合帧的帧数以及最大帧数等。本方案的组合帧格式可以是:组合数据帧=组合帧头+数据帧1+数据帧2+……+数据帧N+CRC校验。所述组合帧头以及所述CRC校验分别作为所述组合帧的帧头以及帧尾,所述组合帧头用于标识所述组合帧的身份信息、位置信息以及组合帧长度等;所述CRC校验用于校验所述组合帧中的数据帧是否被篡改。所述待发送数据帧可以是发送端待发送的全部数据帧,且所述待发送数据帧具有帧序列。
第一组合帧可以是将所述待发送数据帧的部分帧进行首次组合发送的组合帧。所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数。最大帧数可以是发送端能够一次性发送的最大帧数。
在一个实施例中,可以根据组合帧协议信息确定第一组合帧的帧数,根据所述第一组合帧的帧数以及所述待发送数据帧的帧序列,按照所述帧序列的顺序确定所述第一组合帧中的数据帧,并根据所述组合帧协议信息中规定的组合帧格式将所述第一组合帧中的数据帧进行封装,以构建第一组合帧。其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数。
S102,向接收端发送所述第一组合帧;
在一个实施例中,可以通过有线或者无线的方式向接收端发送所述第一组合帧。
S103,接收所述接收端的反馈信息;其中,所述反馈信息包括接收端的剩余缓存能力;
其中,接收端的反馈信息可以是所述接收端发出的确认已收到组合数据帧的信息。所述反馈信息可以包括所述接收端成功接收的数据帧数以及剩余的缓存能力等。例如:将构建一个ACKI帧作为所述接收端的反馈信息,所述ACKI帧=ACKI帧头+成功接的数据帧数+剩余的缓存能力+CRC校验。所述反馈信息可以是在所述接收端接收到所述第一组合数据帧之后立即反馈的;还可以是在所述接收端接收到所述第一组合数据帧之后,等待剩余缓存能力达到发送端能够发送的最大帧数时反馈的。所述反馈信息包括接收端的剩余缓存能力。所述剩余缓存能力可以是所述接收端在接收到当前组合帧之后,还能够继续接收并缓存的帧数。所述剩余缓存能力可以是所述接收端根据当前接收到的数据帧的帧数以及可接收的最大帧数计算得到的。所述当前组合帧可以是所述第一组合帧。
在一个实施例中,可以通过有线或者无线的方式接收所述接收端的反馈信息。其中,所述反馈信息包括接收端的剩余缓存能力。
在一个可行的实施例中,可选的,在接收所述接收端的反馈信息之后,所述方法还包括:
根据所述反馈信息确定所述接收端成功接收的数据帧数;
根据所述接收端成功接收的数据帧数以及已发送数据帧的帧序列,确定所述第一组合帧中的待重发数据帧。
其中,接收端成功接收的数据帧数可以是所述接收端成功接收并写入缓存队列中的数据帧数。由于接收端在接收到组合数据帧之后可能存在无法将所有的数据帧全部正确写入缓存的情况,因此可以将被正确写入所述接收端缓存队列中的数据帧作为所述接收端成功接收的数据帧。待重发数据帧可以是已发送数据帧中未被所述接收端成功接收的数据帧。当已发送数据帧中存在未被所述接收端成功接收的数据帧时,发送端可以将所述未被所述接收端成功接收的数据帧与其他待发送数据帧进行重新组合,并通过新的组合数据帧重新发送。
在一个实施例中,可以根据所述反馈信息确定所述接收端成功接收的数据帧数。根据所述接收端成功接收的数据帧数以及已发送数据帧的帧序列,按照所述帧序列的排列顺序确定所述已发送数据帧中未被所述接收端成功接收的数据帧的帧序列,并将所述未被所述接收端成功接收的数据帧的帧序列确定为所述第一组合帧中的待重发数据帧。
本方案,通过根据反馈信息确定接收端成功接收的数据帧数,并根据所述接收端成功接收的数据帧数以及已发送数据帧的帧序列,确定所述第一组合帧中的待重发数据帧,可以避免由于接收端的缓存写入问题导致的数据遗漏,提高了数据传输的可靠性。
S104,根据所述剩余缓存能力和所述组合帧协议信息构建第二组合帧。
其中,第二组合帧可以是将所述待发送数据帧中除所述第一组合帧之外的部分数据帧进行封装得到的组合帧;还可以是将所述第一组合帧中的待重发数据帧与所述待发送数据帧中除所述第一组合帧之外的部分数据帧进行重新打包封装的数据帧。所述第二组合帧与所述第一组合帧的格式可以相同。
在一个实施例中,可以根据所述剩余缓存能力确定所述接收端当前能够接收的数据帧数。其中,所述接收端当前能够接收的数据帧数可以大于、小于或者等于所述组合帧协议信息中的最大帧数。若所述接收端当前能够接收的数据帧数大于或者等于所述最大帧数,则可以将所述最大帧数作为第二组合帧的帧数;若所述接收端当前能够接收的数据帧数小于所述最大帧数,则可以将所述接收端当前能够接收的数据帧数作为第二组合帧的帧数。根据所述第二组合帧的帧数以及所述第一组合帧中的待重发数据帧的帧数确定所述待发送数据帧中除所述第一组合帧之外的部分数据帧,进而根据所述待重发数据帧、所述待发送数据帧中除所述第一组合帧之外的部分数据帧以及所述组合帧协议信息构建第二组合帧。其中,所述第一组合帧中的待重发数据帧的帧数可以为0。
在一个实施例中,在构建完毕所述第二组合帧之后,可以按照与所述第一组合帧相同的方式向接收端发送所述第二组合帧,并接收所述接收端的反馈信息。所述反馈信息包括接收端在接收并缓存所述第二组合帧之后的剩余缓存能力。根据所述剩余缓存能力和所述组合帧协议信息构建第三组合帧,并按照上述发送组合帧以及接收反馈信息的方式循环构建并发送组合帧,直至待发送数据帧发送完毕。
在一个可行的实施例中,可选的,所述根据所述剩余缓存能力和所述组合帧协议信息构建第二组合帧,包括:
根据所述剩余缓存能力确定所述接收端的当前可接收帧数;
识别所述当前可接收帧数是否达到所述最大帧数;
若是,则根据所述最大帧数以及待发送数据帧的帧序列构建第二组合帧;
若否,则根据所述当前可接收帧数以及待发送数据帧的帧序列构建第二组合帧。
其中,接收端的当前可接收帧数可以是所述接收端在接收并缓存所述第一组合帧之后,缓存队列中空闲的帧数。
在一个实施例中,可以根据所述剩余缓存能力确定所述接收端的当前可接收帧数,并识别所述当前可接收帧数是否大于或者等于所述最大帧数。若大于或者等于,则将所述最大帧数作为第二组合帧的帧数,并根据所述第二组合帧的帧数以及待发送数据帧的帧序列确定第二组合帧中的数据帧,根据所述第二组合帧中的数据帧以及所述组合帧协议信息构建第二组合帧。若小于,则可以将所述当前可接收帧数作为第二组合帧的帧数,并根据所述第二组合帧的帧数以及待发送数据帧的帧序列确定第二组合帧中的数据帧,根据所述第二组合帧中的数据帧以及所述组合帧协议信息构建第二组合帧。其中,所述第二组合帧中的数据帧可以包括所述第一组合帧中的待重发数据帧以及待发送数据帧中除所述第一组合帧之外数据帧。
本方案,通过根据剩余缓存能力确定所述接收端的当前可接收帧数,识别所述当前可接收帧数是否达到所述最大帧数,若是,则根据所述最大帧数以及待发送数据帧的帧序列构建第二组合帧,若否,则根据所述当前可接收帧数以及待发送数据帧的帧序列构建第二组合帧,可以达到根据反馈信息调整发送数据帧数的目的,在接收端的数据帧接收能力足够的前提下,以最大帧数发送数据帧,进一步提高了数据发送的效率以及可靠性。
在一个可行的实施例中,可选的,所述根据所述剩余缓存能力和所述组合帧协议信息构建第二组合帧,包括:
根据所述剩余缓存能力和所述组合帧协议信息确定所述第二组合帧的帧数;
根据所述第二组合帧的帧数、所述待重发数据帧的帧数以及待发送数据帧的帧序列构建第二组合帧。
在一个实施例中,可以根据所述剩余缓存能力确定所述接收端的当前可接收帧数,并根据所述接收端的当前可接收帧数和所述组合帧协议信息中的最大帧数之间的大小关系确定所述第二组合帧的帧数。若所述当前可接收帧数大于或者等于所述最大帧数,则将所述最大帧数作为第二组合帧的帧数;若所述当前可接收帧数小于所述最大帧数,则可以将所述当前可接收帧数作为第二组合帧的帧数。根据所述第二组合帧的帧数以及所述待重发数据帧的帧数确定所述待发送数据帧中除所述第一组合帧之外的数据帧数,进而根据所述待重发数据帧的帧数、所述待发送数据帧中除所述第一组合帧之外的数据帧数以及待发送数据帧的帧序列构建第二组合帧。
本方案,通过根据所述剩余缓存能力和所述组合帧协议信息确定所述第二组合帧的帧数,并根据所述第二组合帧的帧数、所述待重发数据帧的帧数以及待发送数据帧的帧序列构建第二组合帧,可以达到将接收端接收失败的数据帧进行重新发送的目的,提高了数据传输的可靠性。
本申请实施例所提供的技术方案,根据组合帧协议信息,构建第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;向接收端发送所述第一组合帧;接收所述接收端的反馈信息;其中,所述反馈信息包括接收端的剩余缓存能力;根据所述剩余缓存能力和所述组合帧协议信息构建第二组合帧。通过上述数据传输方法,解决了现有技术中数据传输效率低以及传输灵活性差的问题,通过根据组合帧协议信息构建组合帧,并向接收端发送组合帧,再根据接收端的反馈信息确定新的组合帧,可以达到在不增加单个数据包大小的前提下同时传输多个数据帧的目的,提高了数据传输的效率以及传输的灵活性。
实施例二
图2是本申请实施例二提供的数据传输装置的流程示意图。如图2所示,具体包括如下步骤:
S201,接收第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;
首先,本方案的使用场景可以是需要进行数据传输的场景,尤其是传输较大数据量的场景。
基于上述使用场景,可以理解的,本方案的执行主体可以是数据接收端。
在一个实施例中,可以根据与所述发送端的连接方式以及通信协议接收接收第一组合帧。其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;
S202,将所述第一组合帧中包括一个或者多个数据帧写入至预设缓存区间;
其中,预设缓存区间可以是在接收端预设的用于缓存发送端发送的数据帧的区间。所述预设区间的帧数可以是所述接收端能够缓存的最大帧数。所述预设缓存区间可以以队列的形式存储接收到的数据帧,并按照数据帧的接收顺序将所述数据帧送入处理器进行处理。
在一个实施例中,可以将所述第一组合帧中包括一个或者多个数据帧写入至预设缓存区间。
S203,识别所述预设缓存区间的剩余缓存能力;
其中,剩余缓存能力可以是在接收到所述第一组合帧之后,还能够继续接收并缓存的帧数。所述剩余缓存能力可以通过所述预设缓存区间内的当前空闲帧数表示。
在一个实施例中,可以通过识别所述预设缓存区间内缓存位置的占用数量以及所述预设缓存区间内缓存位置的总数量确定所述预设缓存区间的剩余缓存能力。
S204,根据所述剩余缓存能力构建反馈信息,并发送所述反馈信息至发送端。
在一个实施例中,可以根据所述剩余缓存能力确定反馈信息中的反馈内容,根据所述反馈内容构建反馈信息,并发送所述反馈信息至发送端。所述反馈信息可以以组合确认数据帧的形式反馈。所述组合确认数据帧中可以包括确认数据帧的帧头、预设缓存区间以及CRC校验。所述确认数据帧的帧头用于标识所述反馈信息的身份信息、位置信息以及组合帧长度等;所述CRC校验用于校验所述预设缓存区间内的数据帧是否被篡改。
在一个可行的实施例中,可选的,在将所述第一组合帧中包括一个或者多个数据帧写入至预设缓存区间之后,所述方法还包括:
识别成功接收的数据帧数;
相应的,根据所述剩余缓存能力构建反馈信息,包括:
根据所述剩余缓存能力以及所述成功接收的数据帧数,构建反馈信息。
其中,成功接收的数据帧数可以是成功接收并写入所述预设缓存区间内的数据帧数。
在一个实施例中,可以根据所述预设缓存区间内缓存队列的占用情况识别成功接收的数据帧数。所述缓存队列的占用数量即为所述成功接收的数据帧数。根据所述剩余缓存能力以及所述成功接收的数据帧数,构建反馈信息。
本方案,通过识别成功接收的数据帧数,并根据剩余缓存能力以及所述成功接收的数据帧数构建反馈信息,可以将成功接收的数据帧数以及可接收的数据帧数同时反馈至发送端,有利于发送端准确确定下一次发送的组合帧数,提高了数据发送的准确性。
在一个可行的实施例中,可选的,所述根据所述剩余缓存能力构建反馈信息,并发送所述反馈信息至发送端,包括:
识别所述剩余缓存能力是否达到所述最大帧数;
若是,则构建反馈信息,并发送所述反馈信息至发送端;
若否,则生成等待指令,直至所述剩余缓存能力达到所述最大帧数,构建反馈信息,并发送所述反馈信息至发送端。
其中,等待指令可以是等待接收端处理器处理所述预设缓存区间内的数据帧的指令。
在一个实施例中,可以根据所述剩余缓存能力确定当前所述预设缓存区间内的当前空闲帧数,并识别所述当前空闲帧数是否达到所述最大帧数。若是,则构建反馈信息,并发送所述反馈信息至发送端。若否,则生成等待指令,直至所述剩余缓存能力达到所述最大帧数,构建反馈信息,并发送所述反馈信息至发送端。
本方案,通过识别所述剩余缓存能力是否达到所述最大帧数,并在达到最大帧数时构建反馈信息,发送所述反馈信息至发送端,以及在未达到最大帧数时,生成等待指令,直至所述剩余缓存能力达到所述最大帧数,可以使得发送端总是以最大帧数发送数据帧,减少了数据帧的发送次数,提高了数据传输的频率。
本申请实施例所提供的技术方案,接收第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;将所述第一组合帧中包括一个或者多个数据帧写入至预设缓存区间;识别所述预设缓存区间的剩余缓存能力;根据所述剩余缓存能力构建反馈信息,并发送所述反馈信息至发送端。通过上述数据传输方法,解决了现有技术中数据传输效率低以及传输灵活性差的问题,通过将接收到的组合数据帧写入至预设缓存区间,识别预设缓存区间的剩余缓存能力,构建反馈信息,并发送所述反馈信息至发送端,可以达到在不增加单个数据包大小的前提下同时传输多个数据帧的目的,提高了数据传输的效率以及传输的灵活性。
图3为本申请提供的发送端与接收端的通信结构示意图。
如图3所示,发送端将多个数据帧组合封装后发送组合数据帧至接收端,接收端在接收到所示组合数据帧后,反馈给所述发送端一个ACKI帧。所示ACKI帧即为所述接收端的反馈信息。
图4为本申请提供的组合数据帧的传输流程图。
如图4所示,发送端按照预设组合数据帧格式将“帧1”、“帧2”以及“帧3”打包封装至同一个组合数据帧中,并发送所述组合数据帧至接收端。接收端在接收到所述组合数据帧之后,按照帧序列将所述组合帧写入预设缓存区间的队列中,图4中“空闲帧缓冲区”的帧数即为所述接收端预设缓存区间的剩余缓存能力。所述接收端将成功接收的数据帧数以及剩余缓存能力的帧数打包封装至一个ACKI帧,并反馈给所述发送端。所述发送端根据所述ACKI帧确定下一个组合数据帧,并以此循环直至待发送数据帧发送完毕。
实施例三
图5是本申请实施例三提供的数据传输装置的结构示意图。如图5所示,具体包括如下:
第一组合帧构建模块501,用于根据组合帧协议信息,构建第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;
第一组合帧发送模块502,用于向接收端发送所述第一组合帧;
反馈信息接收模块503,用于接收所述接收端的反馈信息;其中,所述反馈信息包括接收端的剩余缓存能力;
第二组合帧构建模块504,用于根据所述剩余缓存能力和所述组合帧协议信息构建第二组合帧。
进一步的,所述第二组合帧构建模块504,具体用于:
根据所述剩余缓存能力确定所述接收端的当前可接收帧数;
识别所述当前可接收帧数是否达到所述最大帧数;
若是,则根据所述最大帧数以及待发送数据帧的帧序列构建第二组合帧;
若否,则根据所述当前可接收帧数以及待发送数据帧的帧序列构建第二组合帧。
进一步的,所述反馈信息接收模块503,还用于:
根据所述反馈信息确定所述接收端成功接收的数据帧数;
根据所述接收端成功接收的数据帧数以及已发送数据帧的帧序列,确定所述第一组合帧中的待重发数据帧。
进一步的,所述第二组合帧构建模块504,具体用于:
根据所述剩余缓存能力和所述组合帧协议信息确定所述第二组合帧的帧数;
根据所述第二组合帧的帧数、所述待重发数据帧的帧数以及待发送数据帧的帧序列构建第二组合帧。
本申请实施例所提供的技术方案,第一组合帧构建模块,用于根据组合帧协议信息,构建第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;第一组合帧发送模块,用于向接收端发送所述第一组合帧;反馈信息接收模块,用于接收所述接收端的反馈信息;其中,所述反馈信息包括接收端的剩余缓存能力;第二组合帧构建模块,用于根据所述剩余缓存能力和所述组合帧协议信息构建第二组合帧。通过上述数据传输装置,解决了现有技术中数据传输效率低以及传输灵活性差的问题,通过根据组合帧协议信息构建组合帧,并向接收端发送组合帧,再根据接收端的反馈信息确定新的组合帧,可以达到在不增加单个数据包大小的前提下同时传输多个数据帧的目的,提高了数据传输的效率以及传输的灵活性。
实施例四
图6是本申请实施例四提供的数据传输装置的结构示意图。如图6所示,具体包括如下:
第一组合帧接收模块601,用于接收第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;
数据帧写入模块602,用于将所述第一组合帧中包括一个或者多个数据帧写入至预设缓存区间;
缓存能力识别模块603,用于识别所述预设缓存区间的剩余缓存能力;
反馈信息构建模块604,用于根据所述剩余缓存能力构建反馈信息,并发送所述反馈信息至发送端。
进一步的,所述反馈信息构建模块604,具体用于:
识别所述剩余缓存能力是否达到所述最大帧数;
若是,则构建反馈信息,并发送所述反馈信息至发送端;
若否,则生成等待指令,直至所述剩余缓存能力达到所述最大帧数,构建反馈信息,并发送所述反馈信息至发送端。
进一步的,所述数据帧写入模块602,还用于:
识别成功接收的数据帧数;
相应的,所述反馈信息构建模块604,具体用于:
根据所述剩余缓存能力以及所述成功接收的数据帧数,构建反馈信息。
本申请实施例所提供的技术方案,第一组合帧接收模块,用于接收第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;数据帧写入模块,用于将所述第一组合帧中包括一个或者多个数据帧写入至预设缓存区间;缓存能力识别模块,用于识别所述预设缓存区间的剩余缓存能力;反馈信息构建模块,用于根据所述剩余缓存能力构建反馈信息,并发送所述反馈信息至发送端。通过上述数据传输装置,解决了现有技术中数据传输效率低以及传输灵活性差的问题,通过根据组合帧协议信息构建组合帧,并向接收端发送组合帧,再根据接收端的反馈信息确定新的组合帧,可以达到在不增加单个数据包大小的前提下同时传输多个数据帧的目的,提高了数据传输的效率以及传输的灵活性。
本申请实施例中的数据传输装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(NetworkAttached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的数据传输装置可以为具有操作***的装置。该操作***可以为安卓(Android)操作***,可以为ios操作***,还可以为其他可能的操作***,本申请实施例不作具体限定。
本申请实施例提供的数据传输装置能够实现上述各方法实施例实现的各个过程,为避免重复,这里不再赘述。
实施例五
如图7所示,本申请实施例还提供一种电子设备700,包括处理器701,存储器702,存储在存储器702上并可在所述处理器701上运行的程序或指令,该程序或指令被处理器701执行时实现上述数据传输装置实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
实施例六
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述数据传输装置实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
实施例七
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述数据传输装置实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为***级芯片、***芯片、芯片***或片上***芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。
Claims (11)
1.一种数据传输方法,其特征在于,所述方法由发送端执行;所述方法包括:
根据组合帧协议信息,构建第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;
向接收端发送所述第一组合帧;
接收所述接收端的反馈信息;其中,所述反馈信息包括接收端的剩余缓存能力;
根据所述剩余缓存能力和所述组合帧协议信息构建第二组合帧。
2.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述剩余缓存能力和所述组合帧协议信息构建第二组合帧,包括:
根据所述剩余缓存能力确定所述接收端的当前可接收帧数;
识别所述当前可接收帧数是否达到所述最大帧数;
若是,则根据所述最大帧数以及待发送数据帧的帧序列构建第二组合帧;
若否,则根据所述当前可接收帧数以及待发送数据帧的帧序列构建第二组合帧。
3.根据权利要求1所述的数据传输方法,其特征在于,在接收所述接收端的反馈信息之后,所述方法还包括:
根据所述反馈信息确定所述接收端成功接收的数据帧数;
根据所述接收端成功接收的数据帧数以及已发送数据帧的帧序列,确定所述第一组合帧中的待重发数据帧。
4.根据权利要求3所述的数据传输方法,其特征在于,所述根据所述剩余缓存能力和所述组合帧协议信息构建第二组合帧,包括:
根据所述剩余缓存能力和所述组合帧协议信息确定所述第二组合帧的帧数;
根据所述第二组合帧的帧数、所述待重发数据帧的帧数以及待发送数据帧的帧序列构建第二组合帧。
5.一种数据传输方法,其特征在于,所述方法由接收端执行;所述方法包括:
接收第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;
将所述第一组合帧中包括一个或者多个数据帧写入至预设缓存区间;
识别所述预设缓存区间的剩余缓存能力;
根据所述剩余缓存能力构建反馈信息,并发送所述反馈信息至发送端。
6.根据权利要求5所述的数据传输方法,其特征在于,所述根据所述剩余缓存能力构建反馈信息,并发送所述反馈信息至发送端,包括:
识别所述剩余缓存能力是否达到所述最大帧数;
若是,则构建反馈信息,并发送所述反馈信息至发送端;
若否,则生成等待指令,直至所述剩余缓存能力达到所述最大帧数,构建反馈信息,并发送所述反馈信息至发送端。
7.根据权利要求5所述的数据传输方法,其特征在于,在将所述第一组合帧中包括一个或者多个数据帧写入至预设缓存区间之后,所述方法还包括:
识别成功接收的数据帧数;
相应的,根据所述剩余缓存能力构建反馈信息,包括:
根据所述剩余缓存能力以及所述成功接收的数据帧数,构建反馈信息。
8.一种数据传输装置,其特征在于,所述装置配置于发送端;所述装置包括:
第一组合帧构建模块,用于根据组合帧协议信息,构建第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;
第一组合帧发送模块,用于向接收端发送所述第一组合帧;
反馈信息接收模块,用于接收所述接收端的反馈信息;其中,所述反馈信息包括接收端的剩余缓存能力;
第二组合帧构建模块,用于根据所述剩余缓存能力和所述组合帧协议信息构建第二组合帧。
9.一种数据传输装置,其特征在于,所述装置配置于接收端;所述装置包括:
第一组合帧接收模块,用于接收第一组合帧;其中,所述第一组合帧中包括一个或者多个数据帧,且数据帧的帧数小于或者等于组合帧协议信息中的最大帧数;
数据帧写入模块,用于将所述第一组合帧中包括一个或者多个数据帧写入至预设缓存区间;
缓存能力识别模块,用于识别所述预设缓存区间的剩余缓存能力;
反馈信息构建模块,用于根据所述剩余缓存能力构建反馈信息,并发送所述反馈信息至发送端。
10.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-7中任一项所述的数据传输方法的步骤。
11.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-7中任一项所述的数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311471572.3A CN117376273A (zh) | 2023-11-06 | 2023-11-06 | 一种数据传输方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311471572.3A CN117376273A (zh) | 2023-11-06 | 2023-11-06 | 一种数据传输方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117376273A true CN117376273A (zh) | 2024-01-09 |
Family
ID=89398300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311471572.3A Pending CN117376273A (zh) | 2023-11-06 | 2023-11-06 | 一种数据传输方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117376273A (zh) |
-
2023
- 2023-11-06 CN CN202311471572.3A patent/CN117376273A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106664290B (zh) | 一种光电混合网络的数据传输方法及装置 | |
CN109981480A (zh) | 一种数据传输方法及第一设备 | |
CN102045132A (zh) | 基于重传机制的对头压缩数据包进行传输的方法和装置 | |
CN110087140B (zh) | 一种传输流媒体数据的方法、装置、介质及设备 | |
CN103141050B (zh) | 快速通道互联***中数据包重传方法、节点 | |
US20120201248A1 (en) | Transmission control method for packet communication and packet communication system | |
US8255601B2 (en) | Transmitting system, apparatus, and method | |
CN103188059A (zh) | 快速通道互联***中数据包重传方法、装置和*** | |
CN109039552B (zh) | 一种数据恢复方法及装置 | |
CN113645600A (zh) | 数据传输方法、装置、终端及存储介质 | |
CN113992654A (zh) | 一种高速的文件传输方法、***、设备及介质 | |
CN112865931B (zh) | 数据重传处理方法、装置、设备和可读存储介质 | |
CN112217610B (zh) | 数据处理方法、装置、消费机、终端及可读存储介质 | |
CN110830386B (zh) | 报文保序的方法、装置和*** | |
CN116582826A (zh) | 一种报文传输的方法、电子设备及存储介质 | |
CN117376273A (zh) | 一种数据传输方法、装置、设备及介质 | |
CN107181657B (zh) | 一种wtb链路层接口适配器及其实现方法 | |
US20030154288A1 (en) | Server-client system and data transfer method used in the same system | |
US9450706B2 (en) | Communication apparatus and packet transfer method | |
CN113872879B (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN111130705A (zh) | 一种数据包发送的方法和设备 | |
CN107005420A (zh) | 组业务反馈方法及装置 | |
CN115982090B (zh) | 软硬件协同实现远端内存访问的方法和装置 | |
CN114978426B (zh) | 数据传输方法及*** | |
US20230289313A1 (en) | Interconnect bus safety |
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 |