一种基于Raptor码的大文件传输方法技术

技术编号:10543124 阅读:167 留言:0更新日期:2014-10-15 18:07
本发明专利技术公开了一种基于Raptor码的大文件传输方法。该方法针对大文件的传输特点,采用Raptor码对传输文件进行分块处理和预编码,并对头部信息进行重新设计,采用八个字节的头部信息即能支持最高100GB大小的文件传输。该方法采用动态的传输冗余产生机制,根据信道变化进行实时动态调整。本发明专利技术的方法解决了大文件传输在双向反馈信道中受信道延迟和信道丢包率的影响,提高了大文件的传输稳定性和传输效率。

【技术实现步骤摘要】
一种基于Raptor码的大文件传输方法
本专利技术涉及一种通信
的大文件传输方法,特别涉及一种基于Raptor码的大文件传输方法。
技术介绍
文件作为人们存储和交换数据的基本形式,随着多媒体技术的不断发展,发生了几个重要变化,在内容上由文本、图片向音视频转变,在质量上由低分辨率向高分辨率转变,在容量上由小文件向大文件转变,由此带来的结果是高清图片、视音频等大容量文件的交换需求日益增长。与小文件传输不同的是,大文件(一般指容量在1GB以上的文件)传输受到信道错误干扰的机率大幅增加,且由于传输等待时间较长,对于传输效率要求较高,因此,如何兼顾传输效率和传输可靠性,是大文件传输必须要解决的问题。大文件所涉及的传输信道从传输媒质上可以分为有线信道(互联网、专线等)和无线信道(卫星、地面无线传输等),从传输端点数量上可以分为点对点传输和点对多点传输,从传输方向上可以分为单向传输和双向传输。传统的文件传输在互联网上采用TCP协议进行传输,从而保证传输可靠性,但由于受传输延迟和丢包率等条件影响,在大文件传输时容易出现传输不稳定的情况,传输效率较低。在卫星、地面无线等广播单向传输中,通常采用重复发送的方式进行传输可靠性保证,对每个文件发送至少2遍以上,传输速率稳定但传输效率低下,尤其在点对多点的广播模式中,由于各接收节点丢失数据包的情况不同,无法满足不同信道质量下的传输差异化需求。Raptor码是由Shokrollahi等人开发出的一种数字喷泉码,相对于传统的前向纠错编码,具有无码率的特性,即可以从固定长度的原始数据符号中编码产生出任意长度的信道符号,实现传输冗余的动态调节,经过优化处理,可以获取接近于信道容量的传输效率。目前,Raptor码主要用于无线传输系统中少量数据的组播应用,已经被纳入了3GPP等标准中,作为数据组播业务的前向纠错码。在大文件传输中引入Raptor码,能够有效地提高传输效率,但Raptor码最初的设计只是针对于小文件(一般不超过10MB,如无线数据组播业务中的图片文件等),对于大文件传输缺乏很好的支持,因而需要对编码算法进行相应的修改和优化,采用合适的传输控制策略,以提高大文件传输时的传输可靠性和传输效率。
技术实现思路
本专利技术针对现有的大文件传输方法传输效率的不足,提出了一种高效的、基于Raptor码的大文件传输方法。为实现上述目的,本专利技术采用如下的技术方案。本专利技术的一种基于Raptor码的大文件传输方法包括以下步骤:第一步,根据传输信道特征,设定初始的传输冗余度值。第二步,发送端根据数据包长度参数T,计算文件的分块数,并对文件进行分块处理,对于不够整块长度的数据块在尾部进行填零补充。第三步,发送端读取一个分块的原始数据,进行Raptor码编码处理,同时依次按包读取原始数据,并填充头部信息,然后进行发送。第四步,在每个分块的原始数据发送完成后,继续发送该分块编码产生的冗余数据包。第五步,接收端在接收到每个分块的全部数据(包括原始数据包和冗余数据包)后,进行Raptor码解码处理,对于有反馈信道,接收端将接收到的分块数据包总数反馈至状态监测端。第六步,对于有反馈信道,状态监测端收集各接收节点(一点或多点)的回传信息,进行综合处理,向发送端反馈冗余调整值。第七步,发送端在每个分块发送完毕之后,检查由状态监测端反馈的冗余调整值,进行传输冗余度参数的动态调整,在新的块传输时采用新的传输冗余参数产生相应数量的冗余数据包。第八步,发送端发送完文件的所有分块后,检查整个文件的传输完整性,若传输成功则进行下一文件的传输。经过上述八个步骤即完成了基于Raptor码的大文件传输方法的一次传输过程。本专利技术产生的有益效果是:1、本专利技术通过在大文件传输中引入Raptor码,在双向有反馈信道中将信道延迟和信道丢包率对传输效率的影响降到最低,提高了远距离传输和跨网传输条件下的大文件传输稳定性。2、本专利技术通过引入状态监测端对接收质量进行评估,实现了传输冗余度的动态优化配置,提高了大文件传输的传输效率。3、本专利技术通过加入了文件的分块处理,支持最大容量为100GB的大文件传输,同时通过对数据包头部信息的优化调整,降低头部开销。附图说明图1为本专利技术中各传输节点的连接示意图;图2为本专利技术中传输过程的原理框图;图3为本专利技术中信道传输数据包结构示意图;图4为本专利技术中状态监测端冗余调整值产生过程的流程图;具体实施方式下面结合附图和具体实施例对本专利技术做进一步详细说明,但不以任何形式限制本专利技术。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下进行若干变形和改进所获得的其他实施例,都属于本专利技术保护的范围。图1为本专利技术中涉及的各传输节点的连接情况示意图,其中发送端向一个或多个接收节点进行单向传输,在卫星传输和地面无线传输中采用广播方式进行传输,在互联网中则采用UDP协议进行组播或单播传输,需要说明的是,在其他双向信道中,即使存在接收端到发送端的回传信道,也应避免采用如TCP协议的可靠连接方式,而只应采用单向传输的方式。在有反馈信道的接收端中,每个接收端通过反馈信道与状态监测端进行可靠连接,同时,状态监测端与发送端也需要建立可靠连接。在完成如图1的连接方式后,本实施例通过图2所示的传输过程完成大文件传输。在传输过程开始前,首先对传输参数进行初始化配置,包括数据包净荷长度T和传输冗余度参数等。其中传输冗余度参数的选取主要依据传输信道已知的平均丢包率p,设传输冗余度参数为d,则d的初始化取值为编码产生的冗余包数量为其中符号表示向上取整。传输开始时,先计算大文件的分块数n,计算公式为其中s为文件大小,单位为字节。在完成数据分块后,对于每一块的数据采用相同的处理过程。首先读取长度为8192×T字节的一块的数据,考虑到Raptor码的编码时间开销,此时同时进行两项操作,第一项操作是对该块的数据进行Raptor码的编码操作,并根据冗余度值产生相应数量的冗余数据包,存储在发送缓存中;第二项操作是依次读取T字节的原始数据,并添加的相应的数据包头部信息,形成原始数据包,然后进行数据包发送,在发送完所有的原始数据包后,再进行冗余数据包的发送。为了进一步降低Raptor编码的开销,本专利技术中数据包的头部信息配置如图3所示,共8字节,其中2个字节文件号为传输文件的编号,2个字节分块数为每个文件的分块数量,最大支持分块为65535块,2个字节块号为数据包所属的分块,2个字节包号为每个数据包的编号。净荷的长度可以任意选择,一般取1400字节,此时的编码头部开销约为0.6%。在传输完一块数据后,发送端检测冗余度调整值,并计算产生新的冗余度参数。接收端在接收完一块数据后,进行Raptor码的解码操作,同时将接收到的总包数作为接收情况的评价信息反馈到状态监测端。状态监测端在收集到所有的反馈信息后,进行冗余调整值的计算。冗余调整值的计算过程如图4所示,在收集完反馈信息后,首先计算所有节点的最大丢包数和平均丢包数,并求出最大丢包数与平均丢包数的比例,然后与预先设定的异常比例值进行比较,若小于异常比例值则选择最大丢包数作为冗余度调整基数,使冗余度的调整能够覆盖所有的接收节点,若超过异常比例值则说明某个节点出现了突发性的丢包错误,选择平均丢包数作为冗余度调整基本文档来自技高网
...
一种基于Raptor码的大文件传输方法

【技术保护点】
一种基于Raptor码的大文件传输方法,其特征在于,包括以下步骤:第一步,根据传输信道特征,设定初始的传输冗余度值。第二步,发送端根据数据包长度参数T,计算文件的分块数,并对文件进行分块处理,对于不够整块长度的数据块在尾部进行填零补充。第三步,发送端读取一个分块的原始数据,进行Raptor码编码处理,同时依次按包读取原始数据,并填充头部信息,然后进行发送。第四步,在每个分块的原始数据发送完成后,继续发送该分块编码产生的冗余数据包。第五步,接收端在接收到每个分块的全部数据(包括原始数据包和冗余数据包)后,进行Raptor码解码处理,对于有反馈信道,接收端将接收到的分块数据包总数反馈至状态监测端。第六步,对于有反馈信道,状态监测端收集各接收节点(一点或多点)的回传信息,进行综合处理,向发送端反馈冗余调整值。第七步,发送端在每个分块发送完毕之后,检查由状态监测端反馈的冗余调整值,进行传输冗余度参数的动态调整,在新的块传输时采用新的传输冗余参数产生相应数量的冗余数据包。第八步,发送端发送完文件的所有分块后,检查整个文件的传输完整性,若传输成功则进行下一文件的传输。

【技术特征摘要】
1.一种基于Raptor码的大文件传输方法,其特征在于,包括以下步骤:第一步,根据传输信道特征,设定初始的传输冗余度值;第二步,发送端根据数据包长度参数T,计算文件的分块数,并对文件进行分块处理,对于不够整块长度的数据块在尾部进行填零补充;第三步,发送端读取一个分块的原始数据,进行Raptor码编码处理,同时依次按包读取原始数据,并填充头部信息生成原始数据包,然后对原始数据包进行发送;第四步,在每个分块的原始数据包发送完成后,继续发送该分块通过Raptor码编码产生的冗余数据包;第五步,接收端在接收到每个分块的原始数据包和冗余数据包后,进行Raptor码解码处理,对于有反馈信道,接收端将接收到的分块数据包总数反馈至状态监测端;第六步,对于有反馈信道,状态监测端收集各接收节点的回传信息,进行综合处理,向发送端反馈冗余调整值;第七步,发送端在每个分块发送完毕之后,检查由状态监测端反馈的冗余调整值,进行传输冗余度参数的动态调整,...

【专利技术属性】
技术研发人员:王非非王剑沈向辉徐伟掌杨占昕
申请(专利权)人:中国传媒大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1