CN112738096A - 一种高效可靠的数据传输方法及*** - Google Patents
一种高效可靠的数据传输方法及*** Download PDFInfo
- Publication number
- CN112738096A CN112738096A CN202011594946.7A CN202011594946A CN112738096A CN 112738096 A CN112738096 A CN 112738096A CN 202011594946 A CN202011594946 A CN 202011594946A CN 112738096 A CN112738096 A CN 112738096A
- Authority
- CN
- China
- Prior art keywords
- udp
- file
- packet
- module
- client module
- 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 110
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000002159 abnormal effect Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- 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/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种高效可靠的数据传输方法及***,该方法应用于高效可靠的数据传输***,包括通过UDP服务模块向UDP客户模块发送文件包;通过UDP客户模块读取文件包的包序号并判断是否丢包;若是,则通过TCP服务模块向TCP客户模块重发丢包文件。在RT‑UDP服务器中设置有UDP服务模块,并在每个RT‑UDP客户模块中设置有UDP客户模块,利用UDP服务模块与UDP客户模块之间的信号联系进行正常状态下的数据传输。同时,在RT‑UDP服务器中还设置有TCP服务模块,并在每个RT‑UDP客户模块中设置有TCP客户模块,利用TCP服务模块与TCP客户模块之间的信号联系进行异常状态下的数据传输。
Description
技术领域
本发明涉及数据传输技术领域,尤其涉及一种高效可靠的数据传输方法及***。
背景技术
在高效网络通道中进行数据传输,尤其是文件大小超过64G的大文件的传输过程中,虽然TCP(Transmission Control Protocol,传输控制协议)网络的可靠性强,但其由于现行的TCP拥塞窗口机制在高带宽长距离的环境下无法很好地工作,拥塞窗口太小,而且增加过于缓慢直接致使吞吐率不高,以致带宽无法被充分利用、速率降低,最终造成数据无法实现高效传输的结果;而在UDP(User Datagram Protocol,用户数据报协议)网络中,虽然数据传输效率高,但数据在传输过程中可能发生丢失,可靠性又无法保障。
随着各种新型网络应用对网络带宽提出了越来越高的需求,为了解决上述问题,出现了例如RBUDP、Tsunami、UDT(UDP-based Data Transfer Protocol,基于UDP的数据传输协议)、PA-UDP等基于UDP的高速传输协议;这些协议主要由发送端与接收端组成,接收端通过各种拥塞检测参数,按照一定的拥塞控制算法,对拥塞状况进行检测,并周期性地反馈给发送端,发送端根据反馈采取相应的速率调整策略。
以UDT为例,该协议把基于速率的拥塞控制与基于窗口的流控制相结合,速率控制周期性地更新发送分组间的间隔,流控制技术基于收到的ACK更新流窗口大小,在拥塞避免阶段采用了拥塞控制算法,在发送初期,带宽比较充足,发生拥塞的概率较低,所以分组传输的速率增加的比较快;当接近可用带宽时,发送端减少增加发送分组的传输速率,降低了拥塞发生的概率。但UDT方案在数据丢失需要重传时,在下一次发送时需要重发丢失的包,同时通过速率拥塞算法降低其发送速率,也就是说UDT方案既要负责正常的数据传输,还要负责丢包数据的重传,因而严重降低了数据传输效率。不仅如此,UDT方案仅支持点对点的单播传输模式,每次只能向一个客户端发送文件,无法完成同时向多个客户端同时发送文件的任务,因而没能真正实现数据传输的高效和可靠。
发明内容
本发明的主要目的在于提供一种高效可靠的数据传输方法,旨在解决UDT方案在发生丢包后补发文件影响正常数据传输效率的问题。
为实现上述目的,本发明提供的高效可靠的数据传输方法,应用于高效可靠的数据传输***,所述高效可靠的数据传输***包括RT-UDP服务器和若干个与所述服务器信号连接的RT-UDP客户模块;所述RT-UDP服务器包括UDP服务模块和TCP服务模块;所述RT-UDP客户模块包括UDP客户模块和TCP客户模块;所述UDP服务模块与所述UDP客户模块信号连接,所述TCP服务模块与所述TCP客户模块信号连接;
所述高效可靠的数据传输方法包括以下步骤:
通过所述UDP服务模块向所述UDP客户模块发送文件包;
通过所述UDP客户模块读取所述文件包的包序号并判断是否丢包;
若是,则通过所述TCP服务模块向所述TCP客户模块重发丢包文件。
优选地,所述RT-UDP服务器还包括通用模块;
在所述通过所述UDP服务模块向所述UDP客户模块发送文件包的步骤之前,还包括以下步骤:
通过所述通用模块接收并检测待传文件的大小;
根据所述待传文件的大小,通过所述通用模块将所述待传文件依次拆分成若干个所述文件包;
在所述文件包上依次标记包序号。
优选地,所述根据所述待传文件的大小,通过所述通用模块将所述待传文件依次拆分成若干个所述文件包的步骤,包括:
根据MTU设置所述UDP服务模块每次发送所述文件包的数据长度;
将所述待传文件从起始端按所述文件包的所述数据长度依次截断形成若干个所述文件包。
优选地,所述在所述文件包上依次标记包序号的步骤,包括:
根据所述待传文件的大小和所述文件包的数据长度,计算得出所述文件包的总数量;
通过所述UDP客户模块生成与所述文件包的所述总数量一致且连续的所述包序号;
根据所述UDP客户模块向所述UDP客户模块开始发送所述文件包的时序,将所述包序号依次标记在所述文件包上。
优选地,所述通过所述UDP客户模块读取所述文件包的包序号并判断是否丢包的步骤,包括:
通过所述UDP客户模块记录接收到的所述文件包的所述包序号;
根据所述UDP客户模块记录的所述包序号,按所述UDP客户模块开始接收所述文件包的时序排列所述包序号,并判断所述包序号是否连续;
若否,则发生丢包。
优选地,在所述通过所述UDP客户模块读取所述文件包的包序号并判断是否丢包的步骤之后,还包括以下步骤:
若发生丢包,则通过所述UDP客户模块将丢包的所述包序号存入链表,并向所述PCT客户模块发出一个客户端中断信号;
若未发生丢包,则将所述UDP客户接收到的所述文件包保存至存储模块。
优选地,所述通过所述TCP服务模块向所述TCP客户模块重发丢包文件的步骤,包括:
通过所述PCT服务模块在所述链表中查询丢失的所述文件包的所述包序号,并重新获取对应所述包序号的补发文件包;
通过所述PCT服务模块向所述PCT客户模块重发所述补发文件包。
优选地,在所述通过所述TCP服务模块向所述TCP客户模块重发丢包文件的步骤之后,还包括以下步骤:
通过所述PCT服务模块向所述UDP服务模块发出一个服务端中断信号;
根据所述服务端中断信号,通过所述UDP服务模块启动速率拥塞算法。
优选地,所述UDP服务模块与所述UDP客户模块之间通过UDP协议进行数据传输;
所述TCP服务模块与所述TCP客户模块之间通过TCP协议进行数据传输。
此外,为实现上述目的,本发明还提供一种高效可靠的数据传输***,所述一种高效可靠的数据传输***应用以上任一项所述方法的步骤;所述高效可靠的数据传输***包括RT-UDP服务器和若干个与所述服务器信号连接的RT-UDP客户模块;所述RT-UDP服务器包括UDP服务模块和TCP服务模块;所述RT-UDP客户模块包括UDP客户模块和TCP客户模块;所述UDP服务模块与所述UDP客户模块信号连接,所述TCP服务模块与所述TCP客户模块信号连接。
在本发明的技术方案中,在所述RT-UDP服务器中设置有所述UDP服务模块,并在每个所述RT-UDP客户模块中设置有所述UDP客户模块,利用所述UDP服务模块与所述UDP客户模块之间的信号联系进行正常状态下的数据传输。同时,在所述RT-UDP服务器中还设置有TCP服务模块,并在每个所述RT-UDP客户模块中设置有TCP客户模块,利用所述TCP服务模块与所述TCP客户模块之间的信号联系进行异常状态下的数据传输。如此,所述RT-UDP服务器与所述RT-UDP客户模块之间的数据传输被分为正常数据和异常数据两个部分,且分别在两个独立通道中进行,互不干扰。当正常数据通过所述UDP服务模块向所述UDP客户模块传输时,所述RT-UDP客户模块会对接收到的数据进行侦测,并将丢包信息反馈至所述RT-UDP服务器,从而触发所述RT-UDP服务器的数据补发机制。所述RT-UDP服务器在接收到所述丢包信息后,利用所述TCP服务模块重新获取丢包数据,并向所述TCP客户模块传输,从而将所述UDP服务模块向所述UDP客户模块传输数据时丢失的文件补充完整。在现有的UDT方案中,仅有UDP这一条通道进行数据传输,当发生丢包时,UDP通道不仅需要处理正常数据的传输,还要挤占用于传输正常数据的资源用以对丢包数据进行重传,因而影响了正常数据的传输效率。相对而言,本发明高效可靠的数据传输方法将丢包数据重传的任务从UDP通道中抽离,并借助TCP通道进行处理,不会对正常数据的传输造成影响,而且能够提升数据传输的总体效率。不仅如此,所述UDT方案仅支持单播模式,不具备对多个客户端同时传递相同数据的能力,而本发明能够实现组播模式,能够更为灵活、高效地完成数据传输任务。
附图说明
图1为本发明高效可靠的数据传输方法第一实施例的流程示意图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,本发明的第一实施例提供一种高效可靠的数据传输方法,应用于高效可靠的数据传输***,所述高效可靠的数据传输***包括RT-UDP服务器和若干个与所述服务器信号连接的RT-UDP客户模块;所述RT-UDP服务器包括UDP服务模块和TCP服务模块;所述RT-UDP客户模块包括UDP客户模块和TCP客户模块;所述UDP服务模块与所述UDP客户模块信号连接,所述TCP服务模块与所述TCP客户模块信号连接;
所述高效可靠的数据传输方法包括以下步骤:
步骤S10,通过所述UDP服务模块向所述UDP客户模块发送文件包;
步骤S20,通过所述UDP客户模块读取所述文件包的包序号并判断是否丢包;
步骤S30,若是,则通过所述TCP服务模块向所述TCP客户模块重发丢包文件。
在本发明的技术方案中,在所述RT-UDP服务器中设置有所述UDP服务模块,并在每个所述RT-UDP客户模块中设置有所述UDP客户模块,利用所述UDP服务模块与所述UDP客户模块之间的信号联系进行正常状态下的数据传输。同时,在所述RT-UDP服务器中还设置有TCP服务模块,并在每个所述RT-UDP客户模块中设置有TCP客户模块,利用所述TCP服务模块与所述TCP客户模块之间的信号联系进行异常状态下的数据传输。如此,所述RT-UDP服务器与所述RT-UDP客户模块之间的数据传输被分为正常数据和异常数据两个部分,且分别在两个独立通道中进行,互不干扰。当正常数据通过所述UDP服务模块向所述UDP客户模块传输时,所述RT-UDP客户模块会对接收到的数据进行侦测,并将丢包信息反馈至所述RT-UDP服务器,从而触发所述RT-UDP服务器的数据补发机制。所述RT-UDP服务器在接收到所述丢包信息后,利用所述TCP服务模块重新获取丢包数据,并向所述TCP客户模块传输,从而将所述UDP服务模块向所述UDP客户模块传输数据时丢失的文件补充完整。在现有的UDT方案中,仅有UDP这一条通道进行数据传输,当发生丢包时,UDP通道不仅需要处理正常数据的传输,还要挤占用于传输正常数据的资源用以对丢包数据进行重传,因而影响了正常数据的传输效率。相对而言,本发明高效可靠的数据传输方法将丢包数据重传的任务从UDP通道中抽离,并借助TCP通道进行处理,不会对正常数据的传输造成影响,而且能够提升数据传输的总体效率。不仅如此,所述UDT方案仅支持单播模式,不具备对多个客户端同时传递相同数据的能力,而本发明能够实现组播模式,能够更为灵活、高效地完成数据传输任务。
在本实施例中,为了确认通过所述TCP服务模块向所述TCP客户模块重发的所述丢包文件是否被成功接收,在步骤S30之后还包括:
步骤S90,通过所述TCP客户模块将接收到的所述补发文件包的包序号发送至所述UDP客户模块;
步骤S100,通过所述UDP客户模块比对所述补发文件包的包序号与所述链表中的所述包序号;
步骤S110,通过所述UDP客户模块删除与所述补发文件包一致的所述链表中的包序号;
步骤S120,通过所述TCP服务模块向所述TCP客户模块再次发送所述链表中的包序号对应的所述补发文件包。
所述UDP客户模块通过对比并删除与所述补发文件包一致的所述链表中的包序号将已经成功接收的所述补发文件包与未被成功接收的所述补发文件包区分开来,所述链表中剩余的包序号代表没有成功接收的所述补发文件包,因而通过所述TCP服务模块再次向所述TCP客户模块发送。
基于本发明的高效可靠的数据传输方法的第一实施例,本发明的高效可靠的数据传输方法的第二实施例中,所述RT-UDP服务器还包括通用模块;
在步骤S10之前,还包括以下步骤:
步骤S40,通过所述通用模块接收并检测待传文件的大小;
步骤S50,根据所述待传文件的大小,通过所述通用模块将所述待传文件依次拆分成若干个所述文件包;
步骤S60,在所述文件包上依次标记包序号。
所述UDP客户模块根据接收到的所述文件包的所述包序号是否连续就能判断是否遗漏所述文件包,并且,根据所述包序号的间隔情况,能够推导得知具体遗漏了哪个所述文件包,以便后期补发。
基于本发明的高效可靠的数据传输方法的第二实施例,本发明的高效可靠的数据传输方法的第三实施例中,步骤S50包括:
步骤S51,根据MTU设置所述UDP服务模块每次发送所述文件包的数据长度;
步骤S52,将所述待传文件从起始端按所述文件包的所述数据长度依次截断形成若干个所述文件包。
其中,所述MTU(Maximum Transmission Unit)是指最大传输单元,用来通知对方所能接受数据服务单元的最大尺寸,说明发送方能够接受的有效载荷大小。
优选地,步骤S52还包括:
步骤S52a,当所述文件包为最后一个时,通过所述UDP服务模块在所述文件包上标记终止记号。
进一步地,步骤S10还包括:
步骤S11,当所述UDP客户模块接收完成包含所述终止记号的所述文件包,所述UDP客户模块向所述DUP服务模块发送终止信号。
基于本发明的高效可靠的数据传输方法的第二实施例,本发明的高效可靠的数据传输方法的第四实施例中,步骤S60包括:
步骤S61,根据所述待传文件的大小和所述文件包的数据长度,计算得出所述文件包的总数量;
步骤S62,通过所述UDP客户模块生成与所述文件包的所述总数量一致且连续的所述包序号;
步骤S63,根据所述UDP客户模块向所述UDP客户模块开始发送所述文件包的时序,将所述包序号依次标记在所述文件包上。
利用所述待传文件的大小除以所述文件包的数据长度算得所述文件包的总数量,然后根据所述总数量生成包序号,并将所述包序号标记在所述文件包上。经标记后的所述文件包在被传输时能够被识别序列,从而可知是否发生丢包。
基于本发明的高效可靠的数据传输方法的第二实施例,本发明的高效可靠的数据传输方法的第五实施例中,步骤S20包括:
步骤S21,通过所述UDP客户模块记录接收到的所述文件包的所述包序号;
步骤S22,根据所述UDP客户模块记录的所述包序号,按所述UDP客户模块开始接收所述文件包的时序排列所述包序号,并判断所述包序号是否连续;
步骤S23,若否,则发生丢包。
由于所述包序号按顺序生成,且所述文件包按发送时序依次标记所述包序号,因此,在接收文件包时,只需根据所述包序号是否连续就能判断是否发生丢包。不仅如此,还能根据所述包序号的中断序号得知具体丢失的是哪个文件包,以便后续补发。
基于本发明的高效可靠的数据传输方法的第一实施例,本发明的高效可靠的数据传输方法的第六实施例中,在步骤S20之后还包括:
步骤S70,若发生丢包,则通过所述UDP客户模块将丢包的所述包序号存入链表,并向所述PCT客户模块发出一个客户端中断信号;
步骤S80,若未发生丢包,则将所述UDP客户接收到的所述文件包保存至存储模块。
UDP客户模块通过向所述PCT客户模块发送一个所述客户端中断信号用以标示丢包,在后续的程序中,只需根据所述客户端中断信号便能准确统计丢包发生次数。
基于本发明的高效可靠的数据传输方法的第六实施例,本发明的高效可靠的数据传输方法的第七实施例中,步骤S30包括:
步骤S31,通过所述PCT服务模块在所述链表中查询丢失的所述文件包的所述包序号,并重新获取对应所述包序号的补发文件包;
步骤S32,通过所述PCT服务模块向所述PCT客户模块重发所述补发文件包。
每个所述包序号对应着所述待传文件中的一段定长数据,所述PCT服务模块通过查询所述UDP客户模块存入所述链表的丢包的所述包序号,经过推算,就能在所述待传文件中找到对应的丢包的数据,并通过对该段数据重新截取,形成补发文件包。所述PCT服务模块向所述PCT客户模块重新发送所述补发文件包,便能将丢失的数据补回,从而提升了数据传输的可靠性。
具体地,步骤S31包括:
步骤S31a,根据丢失的所述文件包的所述包序号,通过所述PCT服务模块计算出丢包数据在所述待传文件中的偏移位置及长度;
步骤S31b,根据所述偏移位置及长度,通过所述PCT服务模块从所述待传文件中截取对应数据并形成补发文件包。
由于所述UDP为定长传输,且所述包序号从所述待传文件的起始端依次生成,在获得所述包序号后,便可得知该包序号之前的文件包数量,从所述待传文件的起始端起,向后推移所述文件包数量乘以UDP传输的数据定长值所得到的数据长度,便能得到所述补发文件包的数据起始端,从所述补发文件包的数据起,截取一个所述UDP传输的数据定长值的数据段,即可得到与丢失的所述文件包的所述包序号对应的补发文件包。
基于本发明的高效可靠的数据传输方法的第一实施例至第七实施例,本发明的高效可靠的数据传输方法的第八实施例中,步骤S30还包括:
步骤S33,通过所述PCT服务模块向所述UDP服务模块发出一个服务端中断信号;
步骤S34,根据所述服务端中断信号,通过所述UDP服务模块启动速率拥塞算法。
当丢包发生时,说明所述UDP服务模块与所述UDP客户模块之间的数据传输速率已超出安全范围,为了减少丢包概率、提升数据传输的稳定性,所述UDP服务模块应当适当调低数据传输速率。在所述TCP服务模块向所述TCP客户模块重发丢包文件的同时,所述TCP服务模块向所述UDP服务模块发出一个服务端中断信号,用以提示所述UDP服务模块已发生丢包。所述UDP服务模块在接收到所述服务端中断信号时,触发所述速率拥塞算法,以调节所述UDP服务模块与所述UDP客户模块之间的数据传输速率,减少丢包。
在本实施例中,步骤S34包括:
步骤S34a,当所述UDP服务模块首次接收到所述服务端中断信号时,通过所述速率拥塞算法按预设比例下调所述UDP服务模块向所述UDP客户模块传输数据的速率;
步骤S34b,当所述UDP服务模块再次接收到所述服务端中断信号时,通过所述速率拥塞算法按预设比例再次下调所述UDP服务模块向所述UDP客户模块传输数据的速率。
所述UDP服务模块每接收到一次所述服务端中断信号即发生一次丢包,说明所述UDP服务模块向所述UDP客户模块传输数据的速率仍超出安全范围,需要再次下调。每次丢包都将触发一次降速,每次降速的预设比例可由人工调整。当所述UDP服务模块不再接收到所述服务端中断信号时,证明所述UDP服务模块向所述UDP客户模块传输数据的速率能够保证数据的安全传输。
优选地,为了避免传输速率过低影响数据传输效率,在步骤S34a或S34b之后,还包括:
步骤S34c,当所述UDP服务模块在预设时间段内未接收到所述服务端中断信号,通过所述速率拥塞算法按预设比例上调一次所述UDP服务模块向所述UDP客户模块传输数据的速率。
所述UDP服务模块在一个所述预设时间段内未接收到所述服务端中断信号,说明此时所述UDP服务模块向所述UDP客户模块传输数据的速率可能过低,为了避免数据传输效率过低,所述拥塞算法将按比例逐步调高数据传输速率。在所述拥塞算法调低和调高数据传输速率的过程中,所述UDP服务模块向所述UDP客户模块传输数据的速率将在安全传输速率附近保持动态平衡,从而确保数据传输的高效性。
基于本发明的高效可靠的数据传输方法的第一实施例至第七实施例,本发明的高效可靠的数据传输方法的第九实施例中,所述UDP服务模块与所述UDP客户模块之间通过UDP协议进行数据传输;
所述TCP服务模块与所述TCP客户模块之间通过TCP协议进行数据传输。
此外,为实现上述目的,本发明还提供一种高效可靠的数据传输***,所述高效可靠的数据传输***应用以上任一项实施例中所述方法的步骤;所述高效可靠的数据传输***包括RT-UDP服务器和若干个与所述服务器信号连接的RT-UDP客户模块;所述RT-UDP服务器包括UDP服务模块和TCP服务模块;所述RT-UDP客户模块包括UDP客户模块和TCP客户模块;所述UDP服务模块与所述UDP客户模块信号连接,所述TCP服务模块与所述TCP客户模块信号连接。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种高效可靠的数据传输方法,其特征在于,应用于高效可靠的数据传输***,所述高效可靠的数据传输***包括RT-UDP服务器和若干个与所述服务器信号连接的RT-UDP客户模块;所述RT-UDP服务器包括UDP服务模块和TCP服务模块;所述RT-UDP客户模块包括UDP客户模块和TCP客户模块;所述UDP服务模块与所述UDP客户模块信号连接,所述TCP服务模块与所述TCP客户模块信号连接;
所述高效可靠的数据传输方法包括以下步骤:
通过所述UDP服务模块向所述UDP客户模块发送文件包;
通过所述UDP客户模块读取所述文件包的包序号并判断是否丢包;
若是,则通过所述TCP服务模块向所述TCP客户模块重发丢包文件。
2.根据权利要求1所述的高效可靠的数据传输方法,其特征在于,所述RT-UDP服务器还包括通用模块;
在所述通过所述UDP服务模块向所述UDP客户模块发送文件包的步骤之前,还包括以下步骤:
通过所述通用模块接收并检测待传文件的大小;
根据所述待传文件的大小,通过所述通用模块将所述待传文件依次拆分成若干个所述文件包;
在所述文件包上依次标记包序号。
3.根据权利要求2所述的高效可靠的数据传输方法,其特征在于,所述根据所述待传文件的大小,通过所述通用模块将所述待传文件依次拆分成若干个所述文件包的步骤,包括:
根据MTU设置所述UDP服务模块每次发送所述文件包的数据长度;
将所述待传文件从起始端按所述文件包的所述数据长度依次截断形成若干个所述文件包。
4.根据权利要求2所述的高效可靠的数据传输方法,其特征在于,所述在所述文件包上依次标记包序号的步骤,包括:
根据所述待传文件的大小和所述文件包的数据长度,计算得出所述文件包的总数量;
通过所述UDP客户模块生成与所述文件包的所述总数量一致且连续的所述包序号;
根据所述UDP客户模块向所述UDP客户模块开始发送所述文件包的时序,将所述包序号依次标记在所述文件包上。
5.根据权利要求2所述的高效可靠的数据传输方法,其特征在于,所述通过所述UDP客户模块读取所述文件包的包序号并判断是否丢包的步骤,包括:
通过所述UDP客户模块记录接收到的所述文件包的所述包序号;
根据所述UDP客户模块记录的所述包序号,按所述UDP客户模块开始接收所述文件包的时序排列所述包序号,并判断所述包序号是否连续;
若否,则发生丢包。
6.根据权利要求1所述的高效可靠的数据传输方法,其特征在于,在所述通过所述UDP客户模块读取所述文件包的包序号并判断是否丢包的步骤之后,还包括以下步骤:
若发生丢包,则通过所述UDP客户模块将丢包的所述包序号存入链表,并向所述PCT客户模块发出一个客户端中断信号;
若未发生丢包,则将所述UDP客户接收到的所述文件包保存至存储模块。
7.根据权利要求6所述的高效可靠的数据传输方法,其特征在于,所述通过所述TCP服务模块向所述TCP客户模块重发丢包文件的步骤,包括:
通过所述PCT服务模块在所述链表中查询丢失的所述文件包的所述包序号,并重新获取对应所述包序号的补发文件包;
通过所述PCT服务模块向所述PCT客户模块重发所述补发文件包。
8.根据权利要求1-7中任一项所述的高效可靠的数据传输方法,其特征在于,在所述通过所述TCP服务模块向所述TCP客户模块重发丢包文件的步骤之后,还包括以下步骤:
通过所述PCT服务模块向所述UDP服务模块发出一个服务端中断信号;
根据所述服务端中断信号,通过所述UDP服务模块启动速率拥塞算法。
9.根据权利要求1-7中任一项所述的高效可靠的数据传输方法,其特征在于,所述UDP服务模块与所述UDP客户模块之间通过UDP协议进行数据传输;
所述TCP服务模块与所述TCP客户模块之间通过TCP协议进行数据传输。
10.一种高效可靠的数据传输***,其特征在于,应用权利要求1-9中任一项所述方法的步骤;所述高效可靠的数据传输***包括RT-UDP服务器和若干个与所述服务器信号连接的RT-UDP客户模块;所述RT-UDP服务器包括UDP服务模块和TCP服务模块;所述RT-UDP客户模块包括UDP客户模块和TCP客户模块;所述UDP服务模块与所述UDP客户模块信号连接,所述TCP服务模块与所述TCP客户模块信号连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011594946.7A CN112738096A (zh) | 2020-12-29 | 2020-12-29 | 一种高效可靠的数据传输方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011594946.7A CN112738096A (zh) | 2020-12-29 | 2020-12-29 | 一种高效可靠的数据传输方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112738096A true CN112738096A (zh) | 2021-04-30 |
Family
ID=75611295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011594946.7A Pending CN112738096A (zh) | 2020-12-29 | 2020-12-29 | 一种高效可靠的数据传输方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112738096A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616077A (zh) * | 2009-07-29 | 2009-12-30 | 武汉大学 | 互联网大文件的快速传输方法 |
CN104125034A (zh) * | 2013-04-23 | 2014-10-29 | 深圳市同洲电子股份有限公司 | Udp数据包的传输方法及*** |
CN105262836A (zh) * | 2015-10-30 | 2016-01-20 | 惠州高盛达科技有限公司 | 服务器推送信息的方法及客户端接收推送信息的方法 |
CN105430320A (zh) * | 2015-11-23 | 2016-03-23 | 兰玉杰 | 基于udp和tcp的音视频媒体数据传输方法 |
CN109981693A (zh) * | 2017-12-27 | 2019-07-05 | 上海文广互动电视有限公司 | 3d内容分发平台的速率控制方法及*** |
-
2020
- 2020-12-29 CN CN202011594946.7A patent/CN112738096A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101616077A (zh) * | 2009-07-29 | 2009-12-30 | 武汉大学 | 互联网大文件的快速传输方法 |
CN104125034A (zh) * | 2013-04-23 | 2014-10-29 | 深圳市同洲电子股份有限公司 | Udp数据包的传输方法及*** |
CN105262836A (zh) * | 2015-10-30 | 2016-01-20 | 惠州高盛达科技有限公司 | 服务器推送信息的方法及客户端接收推送信息的方法 |
CN105430320A (zh) * | 2015-11-23 | 2016-03-23 | 兰玉杰 | 基于udp和tcp的音视频媒体数据传输方法 |
CN109981693A (zh) * | 2017-12-27 | 2019-07-05 | 上海文广互动电视有限公司 | 3d内容分发平台的速率控制方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107979449B (zh) | 一种数据传输方法及装置 | |
CN102006283B (zh) | 数据传输的方法和装置 | |
EP1555774B1 (en) | Data receiving apparatus and data receiving method | |
EP2119171B1 (en) | Improved data transfer method, system and protocol | |
US7607062B2 (en) | System for fast recovery from losses for reliable data communication protocols | |
CN104518853B (zh) | 一种数据重传的方法、接收端及*** | |
US7693058B2 (en) | Method for enhancing transmission quality of streaming media | |
JP5215413B2 (ja) | 再送プロトコルのためのステータス報告 | |
WO2005065010A2 (en) | An apparatus, system, method and computer program product for reliable multicast transport of data packets | |
EP1860813A1 (en) | Method and apparatus for handling packet data in a wireless communications system | |
CN102143078A (zh) | 一种报文处理方法、转发设备及*** | |
CN112436924B (zh) | 一种数据传输方法及电子设备 | |
CN112203138A (zh) | 基于udp协议的投屏数据传输方法、装置、设备及存储介质 | |
CN102148662A (zh) | 一种数据发送速率的调整方法及装置 | |
CN112769526B (zh) | 数据包重传方法、***和存储介质 | |
CN111193577B (zh) | 使用传输超时的网络***通信方法及通信装置 | |
WO2016201904A1 (zh) | 一种基于tcp的数据传输方法及装置 | |
US20060259845A1 (en) | Method and apparatus for acknowledging a bitwise data chunk in wireline and wireless communication systems | |
CN111092907B (zh) | 基于udp协议的数据流快速传输方法、***及介质 | |
CN112738096A (zh) | 一种高效可靠的数据传输方法及*** | |
US11502986B2 (en) | Reducing transmission delay of transmitting data in Wi-Fi | |
CN113965959A (zh) | 一种车载智能数据无连接可靠传输方法 | |
CN113424578B (zh) | 一种传输控制协议加速方法和装置 | |
US7154850B1 (en) | Wireless data transmission using time out control | |
CN106100797B (zh) | 一种基于ltp异步加速重传策略的深空文件传输方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210430 |