CN113300817A - 数据传输方法以及装置 - Google Patents
数据传输方法以及装置 Download PDFInfo
- Publication number
- CN113300817A CN113300817A CN202011003330.8A CN202011003330A CN113300817A CN 113300817 A CN113300817 A CN 113300817A CN 202011003330 A CN202011003330 A CN 202011003330A CN 113300817 A CN113300817 A CN 113300817A
- Authority
- CN
- China
- Prior art keywords
- data
- data block
- ith
- level data
- level
- 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.)
- Granted
Links
Images
Classifications
-
- 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/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1809—Selective-repeat protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书实施例提供数据传输方法以及装置,其中所述数据传输方法包括:按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块,并生成每个第i级数据块对应的属性信息,将所述至少两个第i级数据块传输至接收端,并接收所述接收端返回的重传反馈信息,根据所述属性信息确定待重传数据块,并对所述待重传数据块中的数据包进行二次划分,生成顺序相连的至少两个第i子级数据块,将所述至少两个第i子级数据块发送至所述接收端。
Description
技术领域
本说明书实施例涉及通信技术领域,特别涉及一种数据传输方法。本说明书一个或者多个实施例同时涉及一种数据传输装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
远程直接数据存取(Remote Direct MemoryAccess,RDMA)技术是为了解决网络传输中服务器端数据处理的延迟而产生的数据传输技术;它不需要对操作系统造成任何影响,就可以通过网络把资料直接传入计算机的存储区,将数据从一个应用系统快速移动到远程应用系统存储器中,采用这项技术,可以减少传统以太网数据传输过程中对数据的内存拷贝、内核处理以及系统调用切换等过程,从而降低数据传输的时延,提高数据处理能力。
在RDMA技术的应用中,若未采用具备DCB特性的交换机进行数据传输,在这种情况下,在RDMA数据传输过程中,若其中一个数据包丢失,因接收方无法处理后续数据包,导致后续数据包都会传输失败,从而严重影响传输效率。
发明内容
有鉴于此,本说明书实施例提供了一种数据传输方法。本说明书一个或者多个实施例同时涉及一种数据传输装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据传输方法,包括:
按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块,并生成每个第i级数据块对应的属性信息,其中,每个第i级数据块包含连续的n个数据包,且n为大于1的正整数;
将所述至少两个第i级数据块传输至接收端,并接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传数据块的属性信息;
根据所述属性信息确定待重传数据块,并对所述待重传数据块中的数据包进行二次划分,生成顺序相连的至少两个第i子级数据块,将所述至少两个第i子级数据块发送至所述接收端;
其中,每个第i子级数据块包含所述待重传数据块的属性信息与所述第i子级数据块属性信息间的映射关系,且每个第i子级数据块包含至少两个数据包。
可选地,所述将所述至少两个第i子级数据块发送至所述接收端之后,还包括:
接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传子级数据块的属性信息;
若根据所述待重传子级数据块的属性信息确定待重传数据块为所述第i子级数据块,则对所述第i子级数据块中的数据包进行二次划分,生成顺序相连的至少两个第i+1子级数据块,将所述至少两个第i+1子级数据块发送至所述接收端;
其中,每个第i+1子级数据块包含所述第i子级数据块的属性信息与所述第i+1子级数据块属性信息间的映射关系。
可选地,接收所述接收端返回的重传反馈信息之后,还包括:
根据目标时段中已发送数据块包含的数据包总数以及所述待重传数据块中的数据包总数计算所述目标时段的丢包率;
若所述丢包率小于等于第一预设阈值,则n自减x个,i自增1;
返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤,其中,x为正整数,n>x。
可选地,所述将所述至少两个第i子级数据块发送至所述接收端之后,还包括:
接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传数据块的属性信息,n自减x个,i自增1;
返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤。
可选地,所述数据传输方法,还包括:
若所述丢包率大于第一预设阈值,则将n设置为目标值,i自增1,并返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤。
可选地,所述将所述至少两个第i子级数据块发送至所述接收端之后,还包括:
获取目标时段中所述接收端针对成功接收的数据块返回的确认接收信息;
根据所述确认接收信息中携带的所述传输成功的数据包的属性信息,获取所述传输成功的数据包对应的发送时间;
根据所述发送时间以及所述确认接收信息的接收时间计算所述目标时段中成功接收的数据块对应的平均延时;
若所述平均延时小于等于第二预设阈值,则n自加x个,i自增1,并返回执行所述按照多个数据包的传输顺序,,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤。
可选地,所述将所述至少两个第i级数据块发送至所述接收端之后,还包括:
在未接收到所述接收端返回的重传反馈信息的情况下,n自加x个,i自减1,并返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤,其中,x为正整数,n>x。
可选地,所述将所述至少两个第i级数据块发送至所述接收端之后,还包括:
获取目标时段中所述接收端针对成功接收的数据块返回的确认接收信息;
根据所述确认接收信息中携带的所述传输成功的数据包的属性信息,获取所述传输成功的数据包对应的发送时间;
根据所述发送时间以及所述确认接收信息的接收时间计算所述目标时段中成功接收的数据块对应的平均延时;
若所述平均延时小于等于第二预设阈值,则n自加x个,i自减1,并返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤。
可选地,所述数据传输方法,还包括:
若所述平均延迟时长大于第二预设阈值,则n自减x,i自增1;
返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤。
根据本说明书实施例的第二方面,提供了一种数据传输装置,包括:
第一划分模块,被配置为按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块,并生成每个第i级数据块对应的属性信息,其中,每个第i级数据块包含连续的n个数据包,且n为大于1的正整数;
接收模块,被配置为将所述至少两个第i级数据块传输至接收端,并接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传数据块的属性信息;
第二划分模块,被配置为根据所述属性信息确定待重传数据块,并对所述待重传数据块中的数据包进行二次划分,生成顺序相连的至少两个第i子级数据块,将所述至少两个第i子级数据块发送至所述接收端;
其中,每个第i子级数据块包含所述待重传数据块的属性信息与所述第i子级数据块属性信息间的映射关系,且每个第i子级数据块包含至少两个数据包。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块,并生成每个第i级数据块对应的属性信息,其中,每个第i级数据块包含连续的n个数据包,且n为大于1的正整数;
将所述至少两个第i级数据块传输至接收端,并接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传数据块的属性信息;
根据所述属性信息确定待重传数据块,并对所述待重传数据块中的数据包进行二次划分,生成顺序相连的至少两个第i子级数据块,将所述至少两个第i子级数据块发送至所述接收端;
其中,每个第i子级数据块包含所述待重传数据块的属性信息与所述第i子级数据块属性信息间的映射关系,且每个第i子级数据块包含至少两个数据包。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述数据传输方法的步骤。
本说明书一个实施例按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块,并生成每个第i级数据块对应的属性信息,将所述至少两个第i级数据块传输至接收端,并接收所述接收端返回的重传反馈信息,根据所述属性信息确定待重传数据块,并对所述待重传数据块中的数据包进行二次划分,生成顺序相连的至少两个第i子级数据块,将所述至少两个第i子级数据块发送至所述接收端;
实现了将多个待传输的数据包划分为至少两个第i级数据块,并将第i级数据块发送至接收端,接收端在接收数据包的过程中检测到出现丢包的情况下,可对丢失的数据包所在的第i级数据块进行划分,并将划分后的第i子级数据块传输至接收端,一方面,只对丢失数据包所属的第i级数据包进行划分并重传,有利于提高传输效率,并有利于降低传输开销;另一方面,划分后的第i子级数据块的大小小于所述第i级数据块的大小,对划分后的第i子级数据块进行传输,有利于降低再次丢包概率,从而提高传输效率。
附图说明
图1是本说明书一个实施例提供的一种数据传输方法的处理流程图;
图2是本说明书一个实施例提供的一种数据传输过程的示意图;
图3是本说明书一个实施例提供的一种数据传输方法的处理过程流程图;
图4是本说明书一个实施例提供的一种数据传输装置的示意图;
图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
远程直接数据存取技术(Remote Direct MemoryAccess,RDMA):一种支持远程随机内存随机访问的新网络技术。
Go-Back-N:指在可靠网络协议中,当接收方检测出失序的信息后,要求发送方重发最后一个正确接收的数据包之后的所有未被确认的数据包;
Go-Back-0:指在可靠网络协议中,当接收方检测出失序的信息后,要求发送方重新开始数据传输的设计。
在本说明书中,提供了一种数据传输方法,本说明书同时涉及一种数据传输装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一个实施例提供的一种数据传输方法的处理流程图,包括步骤102至步骤106。
步骤102,按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块,并生成每个第i级数据块对应的属性信息,其中,每个第i级数据块包含连续的n个数据包,且n为大于1的正整数。
在RDMA技术的应用中,RDMA数据的传输依赖于具有数据中心桥接(DataCenterBridging,DCB)特性的交换机,若未采用具备DCB特性的交换机进行数据传输,在这种情况下,在RDMA数据传输过程中,若其中一个数据包丢失,因接收方无法处理后续数据包,导致后续数据包都会传输失败,从而严重影响传输效率。
基于此,本说明书实施例提供一种数据传输方法,应用于发送端,按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块,并生成每个第i级数据块对应的属性信息,将所述至少两个第i级数据块传输至接收端,并接收所述接收端返回的重传反馈信息,根据所述属性信息确定待重传数据块,并对所述待重传数据块中的数据包进行二次划分,生成顺序相连的至少两个第i子级数据块,将所述至少两个第i子级数据块发送至所述接收端;
实现了将多个待传输的数据包划分为至少两个第i级数据块,并将第i级数据块发送至接收端,接收端在接收数据包的过程中检测到出现丢包的情况下,可对丢失的数据包所在的第i级数据块进行划分,并将划分后的第i子级数据块传输至接收端,一方面,只对丢失数据包所属的第i级数据包进行划分并重传,有利于提高传输效率,并有利于降低传输开销;另一方面,划分后的第i子级数据块的大小小于所述第i级数据块的大小,对划分后的第i子级数据块进行传输,有利于降低再次丢包概率,从而提高传输效率。
具体的,RDMA的工作过程为:在不执行任何数据复制,不需要任何内核内存参与的条件下,通过RDMA请求,将数据从运行在用户空间中的应用中发送到本地网卡(NetworkInterface Card,NIC);本地NIC将数据通过网络传送到远程目标NIC;目标NIC在接收到该数据后,确认内存钥匙,直接将数据写入应用缓存中。
因此,本说明书实施例中,将本地NIC作为发送端,远程目标NIC作为所述接收端,发送端接收到数据传输请求后,根据数据传输请求中携带的待传输数据的标识信息获取所述待传输数据,并对所属待传输数据进行封装,获得多个待传输的数据包,数据包的传输顺序根据所述待传输数据的传输顺序确定,获得数据包后,根据数据包的传输顺序以及预设数据块的大小,对所述多个待传输的数据包进行划分,生成顺序相连的至少两个数据块,并生成每个数据块的属性信息,其中,所述属性信息中包含该数据块的标识信息以及该数据块中包含的数据包的标识信息,每个数据块中包含连续的至少两个数据包。
实际应用中,在向目标NIC进行数据传输时,对待传输数据进行封装,并将封装获得的数据包进行划分,生成数据块,在进行数据传输过程中,将一个数据块中的数据包同时传输至目标NIC,由目标NIC对所述数据块中的数据包进行确认,因此,为避免出现网络拥塞,保证数据传输效率,在对数据包进行划分时,需考虑数据块的大小,即数据块中包含的数据包的个数,而所述数据块的大小可根据接收端所能提供的缓冲区大小来确定,接收端利用一个滑动的窗口来告诉发送端对它所发送的数据能提供多大的缓冲区。
由于窗口由16位bit所定义,所以接收端能最大提供65535个字节的缓冲,由此,可以利用窗口大小和多个待传输的数据包的序列号计算出最大可接收的数据块中数据包的个数。
另外,数据块的大小还可根据最大传输单元(Maximum transmission Unit,MTU)来确定,在通信协议中,数据链路不同,其对应的MTU也不同,不同类型网络的数帧长度大多数都有一个上限。由于IP协议是数据链路的上一层,如果IP层有待传输的数据包,而且数据帧的长度比链路层的MTU还大,那么IP层就需要进行数据分片(fragmentation),以保证数据帧(数据块)不大于要通过的网络的MTU。
此外,若数据传输请求中的待传输数据对应的数据包的大小小于预设的数据块大小,则可直接将数据包对应到一个数据块;
若数据传输请求中的待传输数据对应的数据包的大小大于预设的数据块大小,但待传输数据对应的数据包的大小与预设的数据块大小间的差值小于等于预设阈值,并且所述预设的数据块的大小不大于数据块大小的上限,则可调整所述预设数据块的大小,使的预设数据块的大小大于等于所述待传输数据对应数据包的大小,并将所述待传输数据对应的数据包对应到一个数据块;
若数据传输请求中的待传输数据对应的数据包的大小大于预设的数据块大小,待传输数据对应的数据包的大小与预设的数据块大小间的差值大于预设阈值,则对待传输数据对应的数据包进行划分,即按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块。
本说明书实施例提供的数据传输过程的示意图如图2所示,将待传输数据封装为数据包1(packet1)、数据包2(packet2)、数据包3(packet3)、数据包4(packet4)、数据包5(packet5)以及数据包6(packet6)等多个数据包,若设置每个数据块中包含4个数据包,则将待传输的多个数据包进行划分,划分结果如图2所示,划分后的多个数据块均为第i级数据块,i为常数。
生成每个第i级数据包的属性信息,每个第i级数据块对应的属性信息中包含该第i级数据块的标识信息以及每个数据块中包含的数据包的标识信息。
以图2中的8个数据包为例,包含数据包1、数据包2、数据包3和数据包4的数据块所对应的属性信息中,数据块的标识信息为数据块1,数据块中包含的数据包的标识信息为packet1、packet2、packet3、packet4;包含数据包5、数据包6、数据包7以及数据包8的数据块所对应的属性信息中,数据块的标识信息为数据块2,数据块中包含的数据包的标识信息为packet5、packet6、packet7、packet8;……,以此类推。
步骤104,将所述至少两个第i级数据块传输至接收端,并接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传数据块的属性信息。
具体的,发送端将数据块传输至接收端之后,在所述接收端进行数据块的接收过程中,若接收端检测到所述数据块中出现丢包的情况,则接收端针对出现丢包的数据块向所述发送端返回否定应答(NACK),所述否定应答中包含待重传数据包的属性信息。
如图2所示,接收端在检测到数据块1中的packet4出现丢包的情况下,向发送端发送数据块1的否定应答,则数据块1即为待重传数据块,接收端通过所述否定应答告知发送端未正确接收的数据块,通过所述否定应答请求发送端重新发送所述未正确接收的数据块中的所有数据包。
具体实施时,接收所述接收端返回的重传反馈信息之后,还需根据一定时长内的丢包率动态调整数据块的大小,具体可通过以下方式实现:
根据目标时段中已发送数据块包含的数据包总数以及所述待重传数据块中的数据包总数计算所述目标时段的丢包率;
若所述丢包率小于等于第一预设阈值,则n自减x个,i自增1,返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤,其中,x为正整数,n>x;
若所述丢包率大于第一预设阈值,则将n设置为目标值,i自增1,并返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤。
具体的,发送端将数据块发送至接收端,并在接收到接收端的重传反馈信息后,则确定存在丢包的情况,因此,为降低丢包概率,发送端可动态调整数据块的大小,即通过减少数据块中包含的待传输的数据块的个数,以减小数据块的大小,从而避免在数据传输过程中造成网络拥塞,提高传输效率。
本说明书实施例中,x为变量,在实际应用中,x的值可根据丢包率大小对其进行动态调整,例如,若丢包率大于预设阈值,则可以将x动态调整为较大的值,若丢包率较小,则可以将x动态调整为较小的值,这里的x的大小可以以数据块中数据包的个数n为参照,若n等于10,则x的取值大于等于5即可认为是较大,x取值小于5即可认为是较小,若n等于4,则x的取值等于2即可认为是较大,x的取值等于1即可认为是较小。
具体的,丢包率(Loss Tolerance或Packet Loss Rate)是指测试中所丢失数据包数量占所发送数据组的比率。计算方法是:“[(输入报文-输出报文)/输入报文]*100%”。
实际应用中,在确定目标时段中已发送数据块包含的数据包总数以及所述待重传数据块中的数据包总数的情况下,若将待重传数据块中的数据包总数用m1表示,将目标时段中已发送数据块包含的数据包总数用m表示,则目标时段的丢包率=m1/m*100%。
计算获得目标时段的丢包率后,即可确定丢包率是否大于第一预设阈值,若丢包率小于等于第一预设阈值,则可动态小幅度的降低数据块的大小,即逐级减小数据块的大小,直至在一段时间内未接收到重传反馈信息后,则不再减小数据块的大小,在动态小幅度的降低数据块的大小的过程中,对于x的取值,可逐渐增大。
若发送端接收第一数据传输请求,对所述第一数据传输请求对应的多个数据包进行划分生成的数据块定义为第1级数据块,则在接收到重传反馈信息后,计算丢包率,并确定丢包率小于第一预设阈值的情况下,对第一数据传输请求对应的未传输的数据包或第二数据传输请求对应的多个数据包进行划分,生成的数据块即可定义为第2级数据块,每个第2级数据块中包含的数据包的个数为n-x个,且n-x的值大于2。
例如,预设的初始数据块中包含10个数据包,即对待传输的多个数据包以10个为一组进行划分,并将划分后的第1级数据块传输至接收端,在接收到接收端针对第一级数据块返回的重传反馈信息,并确定丢包率小于第一预设阈值的情况下,将数据块中数据包的个数减小为9个,并对剩余的待传输数据包以9个为一组进行划分,并将划分后的第2级数据块传输至接收端,在接收到接收端针对第2级数据块返回的重传反馈信息,并确定丢包率小于第一预设阈值的情况下,将数据块中数据包的个数减小为7个,并对剩余的待传输数据包以7个为一组进行划分,以此类推。
若确定丢包率大于第一预设阈值,则将数据块中的数据包个数n设置为目标值,实际应用中,所述目标值可以是数据块中数据包数量的最小值2,并按照所述目标值以及多个数据包的传输顺序,将所述多个数据包重新划分为顺序相连的至少两个第i+1级数据块。
例如,预设的初始数据块中包含10个数据包,即对待传输的多个数据包以10个为一组进行划分,并将划分后的第1级数据块传输至接收端,在接收到接收端针对第一级数据块返回的重传反馈信息,并确定丢包率大于等于第一预设阈值的情况下,将数据块中数据包的个数减小为2个,并对剩余的待传输数据包以2个为一组进行划分,并将划分后的第2级数据块传输至接收端。
本说明书实施例根据丢包率对数据块中包含的数据包个数进行动态调整,有利于降低数据传输的时延,提高数据处理能力。
具体实施时,若将所述至少两个第i级数据块发送至所述接收端之后,还包括:
在未接收到所述接收端返回的重传反馈信息的情况下,n自加x个,i自减1,并返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤,其中,x为正整数,n>x。
具体的,发送端将数据块发送至接收端,并在未接收到接收端的重传反馈信息的情况下,则可确定未出现丢包的情况,因此,发送端可动态调整数据块的大小,即通过增加数据块中包含的待传输的数据块的个数,以增加数据块的大小,从而提高传输效率。
本说明书实施例中,x为变量,在实际应用中,x的值可动态调整,即在数据块中数据包的个数n的值较小的情况下,可将x调整为相对较大的值,在数据块中数据包的个数n的值较大的情况下,则可将x调整为相对较小的值,这里的x的大小以及n的大小可以以数据块中数据包的个数的最大值为参照,若数据块中数据包的个数的最大值等于32,则若n取值小于等于20均可认为其取值较小,相对而言,x的取值即可相对较大(最大为32-n,最小为1);若n取值大于20,则可认为其取值较大,相对而言,x的取值即可相对较小(最大为32-n,最小为1)。
进一步的,将所述至少两个第i级数据块发送至所述接收端之后,若未接收到所述接收端返回的重传反馈信息,则对数据块的大小进行动态调整,具体可通过以下方式实现:
获取目标时段中所述接收端针对成功接收的数据块返回的确认接收信息;
根据所述确认接收信息中携带的所述传输成功的数据包的属性信息,获取所述传输成功的数据包对应的发送时间;
根据所述发送时间以及所述确认接收信息的接收时间计算所述目标时段中成功接收的数据块对应的平均延时;
若所述平均延时小于等于第二预设阈值,则n自加x个,i自减1,并返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤;
若所述平均延迟时长大于第二预设阈值,则n自减x,i自增1,并返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤。
具体的,RTT(Round-Trip Time)是指往返时延,在计算机网络中它是一个重要的性能指标,表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。
往返延时(RTT)由三个部分决定:即链路的传播时间、末端系统的处理时间以及路由器的缓存中的排队和处理时间。其中,前面两个部分的值作为一个TCP连接相对固定,路由器的缓存中的排队和处理时间会随着整个网络拥塞程度的变化而变化。所以RTT的变化在一定程度上反映了网络拥塞程度的变化。简单来说就是发送方从发送数据开始,到收到来自接收方的确认信息所经历的时间。
若在目标时段中接收端返回3个数据块的确认接收信息,分别为数据块1、数据块2以及数据块3,数据块1的确认接收时间的接收时间为t11,数据块1的发送时间为t12,数据块2的确认接收时间的接收时间为t21,数据块2的发送时间为t22,数据块3的确认接收时间的接收时间为t31,数据块3的发送时间为t32,则目标时段的平均延时=(t12-t11+t22-t21+t32-t31)/3。
由于RTT可用于表征网络拥塞的程度,因此,在平均延时小于预设阈值的情况下,可动态增大数据块的大小,即增加数据块中数据包的个数;若平均延时大于等于预设阈值,则动态减小数据块的大小,即减少数据块中数据包的个数;在确定数据块中包含的数据包的个数后,根据个数对待传输的数据包进行划分,具体的划分过程与前述过程类似,在此不再赘述。
本实施例所述的目标时段与前述目标时段可以表示同一时段,也可代表不同时段,在此不做任何限制。
发送端可动态调整数据块的大小,即通过增加数据块中包含的待传输的数据块的个数,以增加数据块的大小,有利于提高传输效率。
步骤106,根据所述属性信息确定待重传数据块,并对所述待重传数据块中的数据包进行二次划分,生成顺序相连的至少两个第i子级数据块,将所述至少两个第i子级数据块发送至所述接收端。
具体的,每个第i子级数据块包含所述待重传数据块的属性信息与所述第i子级数据块属性信息间的映射关系,且每个第i子级数据块包含至少两个数据包。
若接收到接收端返回的待重传数据块的属性信息,对待重传数据块中的数据包进行划分生成第i子级数据块,并将所述第i子级数据块传输至所述接收端后,又接收到所述接收端针对所述第i子级数据块返回的重传反馈信息,则需对所述第i子级数据块中包含的数据包进行划分,生成第i+1子级数据块,并将所述第i+1子级数据块传输至所述接收端,以此类推。
由于第i子级数据块中携带有第i级数据块与所述第i子级数据块的属性信息之间的映射关系,因此,将所述第i子级数据块发送至接收端后,接收端可根据所述映射关系以及数据包序列号(数据包标识信息)对数据包进行整合重组。
如图2所示,发送端接收到接收端针对数据块返回的否定应答(NACK)后,根据所述否定应答(待重传反馈信息)中携带的待重传数据块的属性信息确定待重传数据块为数据块1,以及所述数据块1中包含的数据包为packet1、packet2、packet3以及packet4,对所述待重传数据块中包含的数据包进行划分,生成顺序相连的两个子级数据块;
若所述数据块1为第1级数据块,则划分生成的子级数据块即为第1子级数据块,其中包含数据包1和数据包2的第1子级数据块对应的属性信息中,子级数据块的标识信息为第1子级数据块1,子级数据块包含的数据包的标识信息为packet1和packet2;包含数据包3和数据包4的第1子级数据块对应的属性信息中,子级数据块的标识信息为第1子级数据块2,子级数据块包含的数据包的标识信息为packet3和packet4。
对待重传数据块中的数据包进行划分获得子级数据块后,将所述子级数据块传输至所述接收端即可。
沿用上例,将第1子级数据块1和第1子级数据块2发送至接收端后,由于每个子级数据块中均携带有数据块与子级数据块之间的映射关系,因此,接收端可根据所述映射关系以及数据包序号对数据包进行整合重组。
具体实施时,将所述至少两个第i子级数据块发送至所述接收端之后,还包括:
接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传数据块的数据块识别信息;
若根据所述待重传数据块的属性信息确定待重传数据块为所述第i子级数据块,则对所述第i子级数据块中的数据包进行二次划分,生成顺序相连的至少两个第i+1子级数据块,将所述至少两个第i+1子级数据块发送至所述接收端;
其中,每个第i+1子级数据块包含所述第i子级数据块的属性信息与所述第i+1子级数据块属性信息间的映射关系。
具体的,若接收到接收端返回的待重传数据块的属性信息,对待重传数据块中的数据包进行划分生成第i子级数据块,并将所述第i子级数据块传输至所述接收端后,又接收到所述接收端针对所述第i子级数据块返回的重传反馈信息,则需对所述第i子级数据块中包含的数据包进行划分,生成第i+1子级数据块,并将所述第i+1子级数据块传输至所述接收端,以此类推。
实际应用中,每个第i+1子级数据块包含所述第i子级数据块的属性信息与所述第i+1子级数据块属性信息间的映射关系,接收端可根据所述映射关系以及数据包序列号对数据包进行整合重组。
本说明书实施例对所述第i子级数据块中的数据包进行二次划分,生成顺序相连的至少两个第i+1子级数据块,将所述至少两个第i+1子级数据块发送至所述接收端,一方面,只对丢失数据包所属的第i级数据包进行划分并重传,有利于提高传输效率,并有利于降低传输开销;另一方面,划分后的第i子级数据块的大小小于所述第i级数据块的大小,对划分后的第i子级数据块进行传输,有利于降低再次丢包概率,从而提高传输效率。
进一步的,所述将所述至少两个第i子级数据块发送至所述接收端之后,还包括:
接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传数据块的属性信息,n自减x个,i自增1;
返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤。
具体的,接收重传反馈信息,并对数据块的大小进行动态调整后,根据调整结果对待传输的数据块进行划分,并将划分生成的数据块发送至接收端后,若接收端针对所述划分生成的数据块返回重传反馈信息,可表示可能仍然存在网络拥塞,则继续减小数据块中包含的数据包的个数,并根据调整结果进行数据包的划分,具体的划分过程与前述过程类似,在此不再赘述。
在接收到重传反馈信息的情况下,减少待重传数据块中包含的数据包的个数,有利于提高传输效率,并有利于降低传输开销。
此外,在根据接收的待重传反馈信息动态减少数据块中包含的数据包的个数,根据减少后的数据包个数对待传输数据包进行划分,并将划分获得的第i+1级数据块发送至接收端后,若未接收到接收端针对第i+1级数据块的重传反馈信息的情况下,则可增加数据块中数据包的个数,具体可通过以下方式实现:
获取目标时段中所述接收端针对成功接收的数据块返回的确认接收信息;
根据所述确认接收信息中携带的所述传输成功的数据包的属性信息,获取所述传输成功的数据包对应的发送时间;
根据所述发送时间以及所述确认接收信息的接收时间计算所述目标时段中成功接收的数据块对应的平均延时;
若所述平均延时小于等于第二预设阈值,则n自加x个,i自增1,并返回执行所述按照多个数据包的传输顺序,,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤。
具体的,如前所述,RTT(Round-Trip Time)是指往返时延,在计算机网络中它是一个重要的性能指标,表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。
由于RTT可用于表征网络拥塞的程度,在确定目标时段的平均延时小于等于第二预设阈值的情况下,则表明发生网络拥塞的概率较低,因此,可动态增加数据块中包含的数据包的个数,根据增加后的数据包个数对待传输数据包进行划分,并将划分获得的第i+1级数据块发送至接收端,在确定数据块中包含的数据包的个数后,根据个数对待传输的数据包进行划分,具体的划分过程与前述过程类似,在此不再赘述。
目标时段的平均延时的计算过程与前述的RTT计算过程类似,在此不再赘述。
本说明书一个实施例按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块,并生成每个第i级数据块对应的属性信息,将所述至少两个第i级数据块传输至接收端,并接收所述接收端返回的重传反馈信息,根据所述属性信息确定待重传数据块,并对所述待重传数据块中的数据包进行二次划分,生成顺序相连的至少两个第i子级数据块,将所述至少两个第i子级数据块发送至所述接收端;
实现了将多个待传输的数据包划分为至少两个第i级数据块,并将第i级数据块发送至接收端,接收端在接收数据包的过程中检测到出现丢包的情况下,可对丢失的数据包所在的第i级数据块进行划分,并将划分后的第i子级数据块传输至接收端,一方面,只对丢失数据包所属的第i级数据包进行划分并重传,有利于提高传输效率,并有利于降低传输开销;另一方面,划分后的第i子级数据块的大小小于所述第i级数据块的大小,对划分后的第i子级数据块进行传输,有利于降低再次丢包概率,从而提高传输效率。
下述结合附图3,以本说明书提供的数据传输方法在实际场景的应用为例,对所述数据传输方法进行进一步说明。其中,图3示出了本说明书一个实施例提供的一种数据传输方法的处理过程流程图,具体步骤包括步骤302至步骤322。
步骤302,按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块,并生成每个第i级数据块对应的属性信息,其中,每个第i级数据块包含连续的n个数据包,且n为大于1的正整数。
步骤304,将所述至少两个第i级数据块传输至接收端,获取目标时段中所述接收端针对成功接收的数据块返回的确认接收信息。
步骤306,根据所述确认接收信息中携带的所述传输成功的数据包的属性信息,获取所述传输成功的数据包对应的发送时间。
步骤308,根据所述发送时间以及所述确认接收信息的接收时间计算所述目标时段中成功接收的数据块对应的平均延时。
具体的,若所述平均延时小于等于第二预设阈值,则执行步骤310。
步骤310,n自加x个,i自减1,并返回执行步骤302。
步骤312,在确定所述多个数据包传输完成的情况下,结束。
步骤314,将所述至少两个第i级数据块传输至接收端,接收所述接收端返回的重传反馈信息。
具体的,接收所述接收端返回的重传反馈信息后,根据目标时段中已发送数据块包含的数据包总数以及所述待重传数据块中的数据包总数计算所述目标时段的丢包率;
若所述丢包率小于等于第一预设阈值,则n自减x个,i自增1,并按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块,并生成每个第i级数据块对应的属性信息。
步骤316,根据重传反馈信息中包的含待重传数据块的属性信息,确定待重传数据块,并对所述待重传数据块中的数据包进行二次划分,生成顺序相连的至少两个第i子级数据块,将所述至少两个第i子级数据块发送至所述接收端。
其中,每个第i子级数据块包含所述待重传数据块的属性信息与所述第i子级数据块属性信息间的映射关系,且每个第i子级数据块包含至少两个数据包。
步骤318,接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传数据块的数据块识别信息。
若根据所述待重传数据块的属性信息确定待重传数据块为所述第i子级数据块,则执行步骤320。
步骤320,对所述第i子级数据块中的数据包进行二次划分,生成顺序相连的至少两个第i+1子级数据块,将所述至少两个第i+1子级数据块发送至所述接收端。
具体的,每个第i+1子级数据块包含所述第i子级数据块的属性信息与所述第i+1子级数据块属性信息间的映射关系。
在确定所述多个数据包传输完成的情况下,结束。
本说明书实施例将多个待传输的数据包划分为至少两个第i级数据块,并将第i级数据块发送至接收端,接收端在接收数据包的过程中检测到出现丢包的情况下,可对丢失的数据包所在的第i级数据块进行划分,并将划分后的第i子级数据块传输至接收端,未出现到丢包的情况,则动态增加数据块中数据包的个数,一方面,只对丢失数据包所属的第i级数据包进行划分并重传,有利于提高传输效率,并有利于降低传输开销;另一方面,划分后的第i子级数据块的大小小于所述第i级数据块的大小,对划分后的第i子级数据块进行传输,有利于降低再次丢包概率,从而提高传输效率。
与上述方法实施例相对应,本说明书还提供了数据传输装置实施例,图4示出了本说明书一个实施例提供的一种数据传输装置的示意图。如图4所示,该装置包括:
第一划分模块402,被配置为按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块,并生成每个第i级数据块对应的属性信息,其中,每个第i级数据块包含连续的n个数据包,且n为大于1的正整数;
接收模块404,被配置为将所述至少两个第i级数据块传输至接收端,并接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传数据块的属性信息;
第二划分模块406,被配置为根据所述属性信息确定待重传数据块,并对所述待重传数据块中的数据包进行二次划分,生成顺序相连的至少两个第i子级数据块,将所述至少两个第i子级数据块发送至所述接收端;
其中,每个第i子级数据块包含所述待重传数据块的属性信息与所述第i子级数据块属性信息间的映射关系,且每个第i子级数据块包含至少两个数据包。
可选地,所述数据传输装置,还包括:
信息接收模块,被配置为接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传数据块的数据块识别信息;
第三划分模块,被配置为若根据所述待重传数据块的属性信息确定待重传数据块为所述第i子级数据块,则对所述第i子级数据块中的数据包进行二次划分,生成顺序相连的至少两个第i+1子级数据块,将所述至少两个第i+1子级数据块发送至所述接收端;
其中,每个第i+1子级数据块包含所述第i子级数据块的属性信息与所述第i+1子级数据块属性信息间的映射关系。
可选地,所述数据传输装置,还包括:
丢包率计算模块,被配置为根据目标时段中已发送数据块包含的数据包总数以及所述待重传数据块中的数据包总数计算所述目标时段的丢包率;
第一数据处理模块,被配置为若所述丢包率小于等于第一预设阈值,则n自减x个,i自增1;
返回运行所述第一划分模块,其中,x为正整数,n>x。
可选地,所述数据传输装置,还包括:
重传反馈信息接收模块,被配置为接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传数据块的属性信息,n自减x个,i自增1;
返回运行所述第一划分模块。
可选地,所述数据传输装置,还包括:
第二数据处理模块,被配置为若所述丢包率大于第一预设阈值,则将n设置为目标值,i自增1;
返回运行所述第一划分模块。
可选地,所述数据传输装置,还包括:
第一信息获取模块,被配置为获取目标时段中所述接收端针对成功接收的数据块返回的确认接收信息;
第一时间获取模块,被配置为根据所述确认接收信息中携带的所述传输成功的数据包的属性信息,获取所述传输成功的数据包对应的发送时间;
第一延时计算模块,被配置为根据所述发送时间以及所述确认接收信息的接收时间计算所述目标时段中成功接收的数据块对应的平均延时;
第三数据处理模块,被配置为若所述平均延时小于等于第二预设阈值,则n自加x个,i自增1;
返回运行所述第一划分模块。
可选地,所述数据传输装置,还包括:
第四数据处理模块,被配置为在未接收到所述接收端返回的重传反馈信息的情况下,n自加x个,i自减1;
返回运行所述第一划分模块,其中,x为正整数,n>x。
可选地,所述数据传输装置,还包括:
第二信息获取模块,被配置为获取目标时段中所述接收端针对成功接收的数据块返回的确认接收信息;
第二时间获取模块,被配置为根据所述确认接收信息中携带的所述传输成功的数据包的属性信息,获取所述传输成功的数据包对应的发送时间;
第二延时计算模块,被配置为根据所述发送时间以及所述确认接收信息的接收时间计算所述目标时段中成功接收的数据块对应的平均延时;
第五数据处理模块,被配置为若所述平均延时小于等于第二预设阈值,则n自加x个,i自减1;
返回运行所述第一划分模块。
可选地,所述数据传输装置,还包括:
第六数据处理模块,被配置为若所述平均延迟时长大于第二预设阈值,则n自减x,i自增1;
返回运行所述第一划分模块。
上述为本实施例的一种数据传输装置的示意性方案。需要说明的是,该数据传输装置的技术方案与上述的数据传输方法的技术方案属于同一构思,数据传输装置的技术方案未详细描述的细节内容,均可以参见上述数据传输方法的技术方案的描述。
图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,所述存储器510用于存储计算机可执行指令,处理器520用于执行如下计算机可执行指令:
按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块,并生成每个第i级数据块对应的属性信息,其中,每个第i级数据块包含连续的n个数据包,且n为大于1的正整数;
将所述至少两个第i级数据块传输至接收端,并接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传数据块的属性信息;
根据所述属性信息确定待重传数据块,并对所述待重传数据块中的数据包进行二次划分,生成顺序相连的至少两个第i子级数据块,将所述至少两个第i子级数据块发送至所述接收端;
其中,每个第i子级数据块包含所述待重传数据块的属性信息与所述第i子级数据块属性信息间的映射关系,且每个第i子级数据块包含至少两个数据包。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据传输方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据传输方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于实现所述数据传输方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据传输方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据传输方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (12)
1.一种数据传输方法,包括:
按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块,并生成每个第i级数据块对应的属性信息,其中,每个第i级数据块包含连续的n个数据包,且n为大于1的正整数;
将所述至少两个第i级数据块传输至接收端,并接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传数据块的属性信息;
根据所述属性信息确定待重传数据块,并对所述待重传数据块中的数据包进行二次划分,生成顺序相连的至少两个第i子级数据块,将所述至少两个第i子级数据块发送至所述接收端;
其中,每个第i子级数据块包含所述待重传数据块的属性信息与所述第i子级数据块属性信息间的映射关系,且每个第i子级数据块包含至少两个数据包。
2.根据权利要求1所述的数据传输方法,所述将所述至少两个第i子级数据块发送至所述接收端之后,还包括:
接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传子级数据块的属性信息;
若根据所述待重传子级数据块的属性信息确定待重传数据块为所述第i子级数据块,则对所述第i子级数据块中的数据包进行二次划分,生成顺序相连的至少两个第i+1子级数据块,将所述至少两个第i+1子级数据块发送至所述接收端;
其中,每个第i+1子级数据块包含所述第i子级数据块的属性信息与所述第i+1子级数据块属性信息间的映射关系。
3.根据权利要求1所述的数据传输方法,接收所述接收端返回的重传反馈信息之后,还包括:
根据目标时段中已发送数据块包含的数据包总数以及所述待重传数据块中的数据包总数计算所述目标时段的丢包率;
若所述丢包率小于等于第一预设阈值,则n自减x个,i自增1;
返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤,其中,x为正整数,n>x。
4.根据权利要求3所述的数据传输方法,所述将所述至少两个第i子级数据块发送至所述接收端之后,还包括:
接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传数据块的属性信息,n自减x个,i自增1;
返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤。
5.根据权利要求3所述的数据传输方法,还包括:
若所述丢包率大于第一预设阈值,则将n设置为目标值,i自增1,并返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤。
6.根据权利要求3至5任意一项所述的数据传输方法,所述将所述至少两个第i子级数据块发送至所述接收端之后,还包括:
获取目标时段中所述接收端针对成功接收的数据块返回的确认接收信息;
根据所述确认接收信息中携带的所述传输成功的数据包的属性信息,获取所述传输成功的数据包对应的发送时间;
根据所述发送时间以及所述确认接收信息的接收时间计算所述目标时段中成功接收的数据块对应的平均延时;
若所述平均延时小于等于第二预设阈值,则n自加x个,i自增1,并返回执行所述按照多个数据包的传输顺序,,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤。
7.根据权利要求1所述的数据传输方法,所述将所述至少两个第i级数据块发送至所述接收端之后,还包括:
在未接收到所述接收端返回的重传反馈信息的情况下,n自加x个,i自减1,并返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤,其中,x为正整数,n>x。
8.根据权利要求1所述的数据传输方法,所述将所述至少两个第i级数据块发送至所述接收端之后,还包括:
获取目标时段中所述接收端针对成功接收的数据块返回的确认接收信息;
根据所述确认接收信息中携带的所述传输成功的数据包的属性信息,获取所述传输成功的数据包对应的发送时间;
根据所述发送时间以及所述确认接收信息的接收时间计算所述目标时段中成功接收的数据块对应的平均延时;
若所述平均延时小于等于第二预设阈值,则n自加x个,i自减1,并返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤。
9.根据权利要求8所述的数据传输方法,还包括:
若所述平均延迟时长大于第二预设阈值,则n自减x,i自增1;
返回执行所述按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块的步骤。
10.一种数据传输装置,包括:
第一划分模块,被配置为按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块,并生成每个第i级数据块对应的属性信息,其中,每个第i级数据块包含连续的n个数据包,且n为大于1的正整数;
接收模块,被配置为将所述至少两个第i级数据块传输至接收端,并接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传数据块的属性信息;
第二划分模块,被配置为根据所述属性信息确定待重传数据块,并对所述待重传数据块中的数据包进行二次划分,生成顺序相连的至少两个第i子级数据块,将所述至少两个第i子级数据块发送至所述接收端;
其中,每个第i子级数据块包含所述待重传数据块的属性信息与所述第i子级数据块属性信息间的映射关系,且每个第i子级数据块包含至少两个数据包。
11.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
按照多个数据包的传输顺序,将所述多个数据包划分为顺序相连的至少两个第i级数据块,并生成每个第i级数据块对应的属性信息,其中,每个第i级数据块包含连续的n个数据包,且n为大于1的正整数;
将所述至少两个第i级数据块传输至接收端,并接收所述接收端返回的重传反馈信息,所述重传反馈信息中包含待重传数据块的属性信息;
根据所述属性信息确定待重传数据块,并对所述待重传数据块中的数据包进行二次划分,生成顺序相连的至少两个第i子级数据块,将所述至少两个第i子级数据块发送至所述接收端;
其中,每个第i子级数据块包含所述待重传数据块的属性信息与所述第i子级数据块属性信息间的映射关系,且每个第i子级数据块包含至少两个数据包。
12.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求1至9任意一项所述数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011003330.8A CN113300817B (zh) | 2020-09-22 | 2020-09-22 | 数据传输方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011003330.8A CN113300817B (zh) | 2020-09-22 | 2020-09-22 | 数据传输方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113300817A true CN113300817A (zh) | 2021-08-24 |
CN113300817B CN113300817B (zh) | 2023-09-15 |
Family
ID=77318295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011003330.8A Active CN113300817B (zh) | 2020-09-22 | 2020-09-22 | 数据传输方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113300817B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114337921A (zh) * | 2021-12-24 | 2022-04-12 | 海光信息技术股份有限公司 | 一种数据传输方法、数据传输装置和相关设备 |
CN115442000A (zh) * | 2022-08-25 | 2022-12-06 | 苏州空天信息研究院 | 一种适用于低带宽、易损耗自组网络下的传输保障方法 |
WO2023155690A1 (zh) * | 2022-02-15 | 2023-08-24 | 阿里巴巴(中国)有限公司 | 数据传输方法以及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340592A (zh) * | 2008-08-14 | 2009-01-07 | 上海交通大学 | 混合无线环境下视频传输的能量控制系统 |
WO2015169186A1 (en) * | 2014-05-04 | 2015-11-12 | Tencent Technology (Shenzhen) Company Limited | File transmission method and system |
CN107707640A (zh) * | 2017-09-25 | 2018-02-16 | 深圳市盛路物联通讯技术有限公司 | 一种点对点数据传输方法和装置 |
CN109862038A (zh) * | 2019-03-22 | 2019-06-07 | 江苏睿鸿网络技术有限公司 | 一种流媒体协议中数据延时及丢包的处理方法 |
CN109861797A (zh) * | 2017-12-28 | 2019-06-07 | 北京新岸线移动通信技术有限公司 | 一种数据传输方法和系统 |
CN111586098A (zh) * | 2020-04-01 | 2020-08-25 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、设备及计算机可读存储介质 |
-
2020
- 2020-09-22 CN CN202011003330.8A patent/CN113300817B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340592A (zh) * | 2008-08-14 | 2009-01-07 | 上海交通大学 | 混合无线环境下视频传输的能量控制系统 |
WO2015169186A1 (en) * | 2014-05-04 | 2015-11-12 | Tencent Technology (Shenzhen) Company Limited | File transmission method and system |
CN107707640A (zh) * | 2017-09-25 | 2018-02-16 | 深圳市盛路物联通讯技术有限公司 | 一种点对点数据传输方法和装置 |
CN109861797A (zh) * | 2017-12-28 | 2019-06-07 | 北京新岸线移动通信技术有限公司 | 一种数据传输方法和系统 |
CN109862038A (zh) * | 2019-03-22 | 2019-06-07 | 江苏睿鸿网络技术有限公司 | 一种流媒体协议中数据延时及丢包的处理方法 |
CN111586098A (zh) * | 2020-04-01 | 2020-08-25 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、设备及计算机可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114337921A (zh) * | 2021-12-24 | 2022-04-12 | 海光信息技术股份有限公司 | 一种数据传输方法、数据传输装置和相关设备 |
CN114337921B (zh) * | 2021-12-24 | 2024-01-19 | 海光信息技术股份有限公司 | 一种数据传输方法、数据传输装置和相关设备 |
WO2023155690A1 (zh) * | 2022-02-15 | 2023-08-24 | 阿里巴巴(中国)有限公司 | 数据传输方法以及装置 |
CN115442000A (zh) * | 2022-08-25 | 2022-12-06 | 苏州空天信息研究院 | 一种适用于低带宽、易损耗自组网络下的传输保障方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113300817B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113300817B (zh) | 数据传输方法以及装置 | |
JP4520032B2 (ja) | ヘッダ圧縮装置およびヘッダ圧縮方法 | |
CN101854738B (zh) | 一种用于卫星网络的传输控制协议方法 | |
CN102468941B (zh) | 网络丢包处理方法及装置 | |
US8306062B1 (en) | Method and apparatus of adaptive large receive offload | |
CN101335603B (zh) | 数据传输方法和装置 | |
EP3780542B1 (en) | Data transmission method and device | |
US20040015591A1 (en) | Collective TCP control for improved wireless network performance | |
CN110677221B (zh) | 重传控制方法、通信接口和电子设备 | |
WO2019144802A1 (zh) | 一种数据的传输方法及其相关设备 | |
JP2013179502A (ja) | 通信制御装置、通信制御方法および通信制御プログラム | |
WO2018165924A1 (zh) | 自适应传输方法和装置 | |
CN113329413B (zh) | 用于高铁场景的多路径传输数据预调度方法及系统 | |
CN111865828A (zh) | 数据传输方法、系统、电子设备及存储介质 | |
WO2017107148A1 (zh) | 一种数据传输方法及网络侧设备 | |
JP2018196053A (ja) | 通信装置、通信方法、およびプログラム | |
CN102130756A (zh) | 数据传输方法和装置 | |
KR20080023176A (ko) | 통신 단말, 통신 제어 방법 및 통신 제어 프로그램 | |
EP1435704B1 (en) | Transmission control method and system | |
JP2017092692A (ja) | データ伝送制御システム及び方法、並びに、データ伝送制御プログラム | |
CN112751652A (zh) | 一种基于udp协议的数据传输方法及装置 | |
CN111314961A (zh) | Tcp传输方法、装置和系统 | |
CN104580171B (zh) | Tcp协议的传输方法、装置和系统 | |
CN113300967B (zh) | Rdma网络传输方法、装置以及rdma网络通信系统 | |
WO2022083371A1 (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40057901 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |