会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 深空网 / 一种面向深空网络的文件传输方法

一种面向深空网络的文件传输方法

申请号 CN201510671016.X 申请日 2015-10-16 公开(公告)号 CN105391518A 公开(公告)日 2016-03-09
申请人 中国人民解放军国防科学技术大学; 发明人 虞万荣; 吴纯青; 刘波; 赵宝康; 毛席龙; 冯振乾; 陈一骄; 付海;
摘要 一种面向深空网络的文件传输方法,其步骤为:S1:发送报文序列中的N个原始报文构成一个原始编码块,而n个原始编码块构成一个组合编码块;S2:发送端根据探测到的深空链路丢包率数据PER计算出原始编码块的大小N和组合到一起的原始编码块数n,进而计算出组合编码块大小Nblock,即Nblock为一个组合编码块中包含的原始报文数量;S3:发送端首先发送Nblock个原始报文,为一个组合编码块,然后发送n个该组合编码块生成的编码报文;S4:接收端收到一个组合编码块的原始报文和编码报文后进行判断。本发明具有能够提高文件传输效率和文件传输可靠性的优点。
权利要求

1.一种面向深空网络的文件传输方法,其特征在于,步骤为:

S1:发送报文序列中的N个原始报文构成一个原始编码块,而n个原始编码块构成一个组合编码块;

S2:发送端根据探测到的深空链路丢包率数据PER计算出原始编码块的大小N和组合到一起的原始编码块数n,n也为块组合编码系数,进而计算出组合编码块大小Nblock,即Nblock为一个组合编码块中包含的原始报文数量;

S3:发送端首先发送Nblock个原始报文,为一个组合编码块,然后发送n个该组合编码块生成的编码报文;

S4:接收端收到一个组合编码块的原始报文和编码报文后进行判断:

若原始报文无丢失,则不解码;

若原始报文丢失,且丢包数量不超过接收到的该组合编码块的编码报文数量,则进行解码操作,解码产生丢失的原始报文,不进行反馈重传;否则,向发送端反馈丢包信息,发送端进行报文重传。

2.根据权利要求1所述的面向深空网络的文件传输方法,其特征在于,所述步骤链路丢包率在数据发送之前进行测量。

3.根据权利要求1或2所述的面向深空网络的文件传输方法,其特征在于,在步骤S4中,当接收端接收到原始报文时,将其加入到接收缓冲区中;接收端定时产生ACK报文反馈到发送端,若接收端存在丢失的报文,则反馈的ACK报文还要携带丢包信息;当所有报文接收完毕时,发送过程结束;否则,继续接收并处理报文。

4.根据权利要求1或2所述的面向深空网络的文件传输方法,其特征在于,当发送端有数据需要发送时,首先发送端根据链路丢包率PER计算出原始编码块的大小N=1/PER;然后,发送端根据链路状况计算出块组合编码系数n,也即需要组合到一起的原始编码块数;

再计算整个文件需要重传的报文数:ave=E*filesize/Nblock,ave随n增大而减小;当ave随n增加而小于filesize*PER*α时,则认为此时的n是最佳值;其中,α是一个阈值,其取值根据具体任务而定;接下来,根据 计算组合编码块大小,并开始发送报文,先发送组合编码块中的Nblock个原始报文,然后发送根据这Nblock个原始报文编码产生的n个编码报文。

说明书全文

一种面向深空网络的文件传输方法

技术领域

[0001] 本发明主要涉及到空间网络文件传输领域,特指一种面向深空网络的文件传输方法。

背景技术

[0002] 深空通信环境是典型的容迟容断网络(Delay/Disruption Tolerant Network,DTN)环境,其与普通陆地网络最主要的差异是往返时延和误码率。星际网络通信的往返时延,尤其是信号的传播时间,往往很大。例如,地球到木星卫星Europa的往返时延是66到100分钟。其次,深空网络还有突发丢包的现象,即短时间内出现连续丢包的问题。
[0003] 针对深空网络的长时延高误码的特性,为在深空网络中有效传输文件,目前已经提出了若干传输协议。例如:
[0004] (1)Licklider传输协议(LTP);
[0005] 为解决深空环境下的可靠传输问题,容延迟网络研究小组(DTNRG)提出了Licklider传输协议(LTP)。LTP协议作为DTN结构中的传输层协议之一,设计目的是针对端对端、长时延的深空无线链路或长时延、频繁中断的链路。LTP协议把数据分类成红色部分和绿色部分,只对红色部分提供可靠传输。通过应用对接收报告的选择性ACK机制,LTP协议实现了数据自动请求重传(ARQ)机制。
[0006] (2)DSTP协议;
[0007] DSTP引入了一种称为双自动重传(DAR)的重传技术,能够在发送端快速有效的填补漏洞。DAR将每个报文重传两次,但在原始包和重传包之间有一定延迟,每1/e-1个原始包就会发出一个重传包(e表示链路丢包率PER)。当丢包时,丢失的报文将会被后续到达的重传包代替。但是,DAR只会重传有限的(N/(1/e-1),N代表文件总报文数)原始包,不能为所有报文提供有效重传,因此需要更高效的重传机制来提升传输效率。
[0008] (3)NCRTP协议;
[0009] 基于编码的汇聚层可靠传输机制(NCRTP)的提出就是为解决DSTP的重传问题,其主要优势就是能够在接收端计算出丢失的报文。NCRTP通过固定速率传输报文,且每M个报文就传输一个编码报文(M=1/e-1,e表示链路丢包率),这个编码报文是之前M个报文的线性组合。通过编码包和(M-1)个原始包,接收端可以通过高斯消元解码产生这M个原始报文中任意一个丢失的报文。
[0010] 通过分析上述传统方式存在的技术问题总结为:当出现突发丢包现象,若干报文在短时间内同时丢失时,上述协议均无法有效应对,只能采取反馈丢包信息请求发送端重传的方法,这在深空链路长时延的情况下会消耗大量时间。

发明内容

[0011] 本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种能够提高文件传输效率和文件传输可靠性的面向深空网络的文件传输方法。
[0012] 为解决上述技术问题,本发明采用以下技术方案:
[0013] 一种面向深空网络的文件传输方法,其步骤为:
[0014] S1:发送报文序列中的N个原始报文构成一个原始编码块,而n个原始编码块构成一个组合编码块;
[0015] S2:发送端根据探测到的深空链路丢包率数据PER计算出原始编码块的大小N和组合到一起的原始编码块数n,进而计算出组合编码块大小Nblock,即Nblock为一个组合编码块中包含的原始报文数量;
[0016] S3:发送端首先发送Nblock个原始报文,为一个组合编码块,然后发送n个该组合编码块生成的编码报文;
[0017] S4:接收端收到一个组合编码块的原始报文和编码报文后进行判断:
[0018] 若原始报文无丢失,则不解码;
[0019] 若原始报文丢失,且丢包数量不超过接收到的该组合编码块的编码报文数量,则进行解码操作,解码产生丢失的原始报文,不进行反馈重传;否则,向发送端反馈丢包信息,发送端进行报文重传。
[0020] 作为本发明的进一步改进:所述步骤链路丢包率在数据发送之前进行测量。
[0021] 作为本发明的进一步改进:在步骤S4中,当接收端接收到原始报文时,将其加入到接收缓冲区中;接收端定时产生ACK报文反馈到发送端,若接收端存在丢失的报文,则反馈的ACK报文还要携带丢包信息;当所有报文接收完毕时,发送过程结束;否则,继续接收并处理报文。
[0022] 作为本发明的进一步改进:当发送端有数据需要发送时,首先发送端根据链路丢包率PER计算出原始编码块的大小N=1/PER;然后,发送端根据链路状况计算出块组合编码系数n,也即需要组合到一起的原始编码块数;再计算整个文件需要重传的报文数:ave=E*filesize/Nblock,ave随n增大而减小;当ave随n增加而小于filesize*PER*α时,则认为此时的n是最佳值;其中,α是一个阈值,其取值根据具体任务而定;接下来,根据计算组合编码块大小,并开始发送报文,先发送组合编码块中的Nblock个原始报文,然后发送根据这Nblock个原始报文编码产生的n个编码报文。
[0023] 与现有技术相比,本发明的优点在于:
[0024] 本发明的面向深空网络的文件传输方法,能够在不增加编码冗余度的情况下,通过合理组合编码块来有效应对链路突发丢包的情况;即,当编码块内连续丢多个报文时,接收端通过组合编码块的n个编码报文可以有效解码出丢失的报文,而无需发送端重传报文,从而大量节省了重传所需的时间。

附图说明

[0025] 图1是本发明方法的流程示意图。
[0026] 图2是本发明在具体应用实例中块组合编码的发送报文序列示意图。
[0027] 图3是本发明在具体应用实例中块组合编码的发送端流程示意图。
[0028] 图4是本发明本发明在具体应用实例中块组合编码的接收端流程示意图。

具体实施方式

[0029] 以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
[0030] 如图1所示,本发明的面向深空网络的文件传输方法,其步骤为:
[0031] S1:发送报文序列中的N个原始报文构成一个原始编码块,而n个原始编码块构成一个组合编码块;
[0032] S2:发送端根据探测到的深空链路丢包率数据PER计算出原始编码块的大小N和组合到一起的原始编码块数n(简称块组合编码系数),进而计算出组合编码块大小Nblock(即一个组合编码块中包含的原始报文数量);
[0033] S3:发送端首先发送Nblock个原始报文,为一个组合编码块,然后发送n个该组合编码块生成的编码报文。
[0034] S4:接收端收到一个组合编码块的原始报文和编码报文后进行判断:
[0035] 若原始报文无丢失,则不需解码;
[0036] 若原始报文丢失,且丢包数量不超过接收到的该组合编码块的编码报文数量,则进行解码操作,解码产生丢失的原始报文,无需反馈重传;否则,向发送端反馈丢包信息,发送端进行报文重传。
[0037] 在上述步骤中,进一步优化为:所述步骤链路丢包率在数据发送之前进行测量。这种测量所采用方法以及所有编码和解码操作,可以根据实际需要来进行选择,本发明并无具体特殊要求。
[0038] 在具体应用实例中,原始编码块的大小N=1/PER,组合编码块大小块组合编码系数n的计算方法为:
[0039] S101:首先计算组合编码块内重传报文数的期望:
[0040]
[0041] S102:然后计算整个文件需要重传的报文数:ave=E*filesize/Nblock,文件大小为filesize,ave随n增大而减小。当ave随n增大而小于filesize*PER*α时,则认为此时的n是最佳值。其中,α是一个阈值,α取值根据具体任务而定。
[0042] 在一个具体应用实例中,发送端的处理流程如图3所示,流程具体为:
[0043] 当发送端有数据需要发送时,首先发送端根据链路丢包率PER计算出原始编码块的大小N=1/PER。
[0044] 然后,发送端根据链路状况计算出块组合编码系数n,也即需要组合到一起的原始编码块数。块组合编码系数n的计算方法为,先计算组合编码块内重传报文数的期望:
[0045]
[0046] 再计算整个文件(大小为filesize)需要重传的报文数:ave=E*filesize/Nblock,ave随n增大而减小。当ave随n增加而小于filesize*PER*α时,则认为此时的n是最佳值。其中,α是一个阈值,其取值根据具体任务而定。
[0047] 接下来,根据 计算组合编码块大小,并按照图2所示的报文序列开始发送报文,先发送组合编码块中的Nblock个原始报文,然后发送根据这Nblock个原始报文编码产生的n个编码报文。
[0048] 当发送端接收到接收端反馈的ACK报文时,若报文中携带有丢包信息,则将丢失的报文重传。若发送端所有报文发送完毕,则结束,否则根据上述步骤继续发送报文。
[0049] 接收端的处理流程如图4所示,流程具体为:
[0050] 当接收端接收到原始报文时,将其加入到接收缓冲区中。
[0051] 当接收端接收到编码报文时,首先判断该编码报文包含的原始报文是否有丢失且丢失的数目小于块组合编码系数n。若是,则进行解码操作产生丢失的报文;否则,该编码报文丢弃。
[0052] 接收端定时产生ACK报文反馈到发送端,若接收端存在丢失的报文,则反馈的ACK报文还要携带丢包信息。
[0053] 当所有报文接收完毕时,发送过程结束;否则,继续接收并处理报文。
[0054] 以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。