一种Raptor码的多任务并发编码方法

文档序号:7809585阅读:428来源:国知局
一种Raptor码的多任务并发编码方法
【专利摘要】本发明公开了一种Raptor码的多任务并发编码方法。该方法通过设计合理的编码调度方法,提高了Raptor码的多任务并发编码能力,能够满足多业务文件传输的应用需求,节省硬件计算资源。该方法采用编码优先度系数对编码需求进行准确评估,对编码队列进行动态调整,并通过设定编码溢出阈值应对突发性的传输带宽变化,提高方法的稳定性。本发明的方法解决了Raptor码多任务编码调度的不足,在多任务文件传输系统中具有较高的编码效率和稳定性。
【专利说明】—种Raptor码的多任务并发编码方法

【技术领域】
[0001]本发明涉及一种通信【技术领域】的数据并发传输方法,具体是一种Raptor码的多任务并发编码方法,该方法可广泛应用于卫星数据广播、互联网数据广播等【技术领域】。

【背景技术】
[0002]随着信息技术的发展,文件数据的分发传输应用在生活中随处可见。由于数据内容不断丰富,为了便于存储和传输,往往根据文件的类型、内容、重要程度等将文件数据进行分类管理。一般来说,在简单的文件传输系统中,传输采用单线程方法将所有文件依次进行传输,而在较为复杂的文件传输系统中,为了便于传输管理,通常会根据业务需求将传输信道划分为若干个业务子信道,将不同内容的文件分配到不同的子信道上,每个子信道作为单独的传输任务进行并发传输,互不影响。在这种多任务的并发传输方式下,每个子信道的数据必须在传输前处理完毕,否则会影响数据的正确传输。
[0003]Raptor码是由Shokrollahi等人开发出的一种数字喷泉码,由于其可以获取接近于信道容量的传输效率的优势,已经作为数据组播业务的前向纠错码被纳入了 3GPP等标准中,在目前的文件传输系统中得到了越来越广泛的应用。在未采用Raptor码的多任务并发传输系统中,数据在传输前只需要进行简单的打包处理,处理时间可忽略不计,不会影响数据传输,而在采用Raptor码的系统中,由于Raptor码的编码过程需要一定的计算量,会引入不可忽略的编码时间开销,即每个传输子信道的数据处理时间增加,若每个数据包的编码时间大于传输时间,则会破坏传输流程。
[0004]在采用Raptor码的多任务文件传输系统中,每个业务子信道的编码请求存在着竞争关系,并且随着子信道数量的增加,该竞争关系愈发明显。同时,由于每个子信道分配的传输带宽会根据业务需要进行动态调整,因而如何对有限的编码计算资源进行合理的分配,使每个业务子信道都能够得到及时的编码传输是一个亟待解决的问题。


【发明内容】

[0005]本发明针对现有采用Raptor码的文件传输系统多任务处理能力的不足,提出了一种高效可靠的Raptor码的多任务并发编码方法。
[0006]为实现上述目的,本发明采用如下的技术方案。
[0007]本发明的一种Raptor码的多任务并发编码方法包括以下步骤:
[0008]步骤1:根据每个业务子信道的初始传输带宽,选取初始带宽最大的子信道数据开始最初的编码。
[0009]步骤2:每发送一个数据包,根据当前子信道分配的传输带宽,重新计算和更新每个子信道的编码优先度系数。
[0010]步骤3:检查编码优先度系数值,若超过设定的编码溢出阈值,则立即开启一个新的编码模块,对该数据进行编码操作,并在编码结束后关闭该模块。
[0011]步骤4:每个数据块编码完成后,查询每个子信道的编码优先度系数,选取值最大的子信道的数据进行编码。
[0012]经过上述4个步骤即完成了 Raptor码的多任务并发编码过程。
[0013]本发明产生的有益效果是:
[0014]1、本发明解决了 Raptor码在多任务文件传输系统中的并发编码问题,能够显著地提高系统的传输效率,并在保证传输正确性的前提下,最大限度地降低并发编码的计算开销。
[0015]2、本发明通过定义和动态计算编码优先度系数,实现了对编码请求紧急程度的准确评估,能够支持带宽实时动态分配的传输系统。

【专利附图】

【附图说明】
[0016]图1为本发明中子信道带宽动态调整示意图;
[0017]图2为本发明中Raptor码多任务并发编码的流程不意图;
[0018]图3为本发明中编码请求队列调整示意图;

【具体实施方式】
[0019]下面结合附图和具体实施例对本发明做进一步详细说明,但不以任何形式限制本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下进行若干变形和改进所获得的其他实施例,都属于本发明保护的范围。
[0020]在多任务文件传输系统中,各业务子信道的传输带宽会根据传输需求进行动态调整,图1为本发明中子信道带宽动态调整示意图,在101初始时刻Ttl,系统根据每个子信道的业务内容和传输优先级等因素,为每个子信道分配不同的带宽。随着传输的进行,在102传输时刻T1,各个子信道的传输需求发生了变化,系统对每个子信道的带宽进行相应的调整,对于子信道1、5、6,传输带宽减小,而对于子信道3和4,传输带宽增加。在103传输时刻T2,子信道带宽分配再次变化。由于子信道带宽的调整是由系统的业务需求决定,因而无法进行准确估计。
[0021]在采用Raptor码的多任务文件传输系统中,Raptor码是一种系统分组码,编码是以数据块为单位,每个数据块由固定数量的数据包组成,数据块中的每个包称为该块的原始数据包。每个子信道的编码请求以块为单位进行提交,编码完成后生成若干个新的数据包,称为冗余数据包。在传输过程中,每个子信道开始传输一个新的数据块时,向编码模块提交编码请求,同时开始传输原始数据包,在传输完原始数据包后,继续传输冗余数据包。因而,编码模块能够满足传输需求的条件是:对于每个子信道,在每个数据块的原始数据传输完毕前,完成该块的编码。
[0022]根据上述需求,本实施例通过图2所示的过程完成Raptor码多任务并发编码。
[0023]步骤201:在传输编码开始时,从所有的子信道中选取初始带宽最大的子信道数据进行编码。
[0024]步骤202:子信道的每个数据块在开始发送原始包时,向编码模块提交编码请求。
[0025]步骤203:传输系统每发送一个数据包,如果该数据包是原始数据包,则进行一次所有子信道编码优先度系数的计算,设定该系数计算表达式为A =?,其中K

KD为Raptor码的编码参数中每个分组的数据包数,Sn为第η个子信道当前数据块未传输的原始数据包数,Bn为第η个子信道的当前带宽,B为整个传输系统的总带宽。
[0026]步骤204:在各子信道的编码优先度系数计算完成后,检查是否存在超过编码溢出阈值的情况,如果存在,则说明有子信道数据需要立即编码。
[0027]步骤205:检测到存在编码优先度系数超过编码溢出阈值的子信道时,立即开启新的编码模块,对该子信道的数据块进行编码。
[0028]步骤206:在编码完成后,结束该编码模块,使整个系统中在运行过程中大多数情况下只存在一个编码模块,从而节省计算资源。
[0029]步骤207:在编码模块完成每一个数据块的编码后,选取编码队列中编码优先度系数最大值对应的子信道的数据进行编码。如图3所示,在系统运行过程中,会按照步骤203的方法计算每个子信道的编码优先度,在301时刻,编码模块正在进行子信道I块3的编码计算,在该计算过程中,编码队列的顺序会不断调整,在302时刻,子信道3块4的编码优先度系数最大,排在编码队列的最前面,在303时刻编码模块完成了上一块的编码,读取当前编码队列中最前面的子信道3块4的数据进行编码,同时将该块的编码请求从编码队列中删除。
【权利要求】
1.一种Raptor码的多任务并发编码方法,其特征在于,包括以下步骤: 步骤1:根据每个业务子信道的初始传输带宽,选取初始带宽最大的子信道数据开始最初的编码。 步骤2:每发送一个数据包,根据当前子信道分配的传输带宽,重新计算和更新每个子信道的编码优先度系数。 步骤3:检查编码优先度系数值,若超过设定的编码溢出阈值,则立即开启一个新的编码模块,对该数据进行编码操作,并在编码结束后关闭该模块。 步骤4:每个数据块编码完成后,查询每个子信道的编码优先度系数,选取值最大的子信道的数据进行编码。
2.根据权利要求1所述的一种Raptor码的多任务并发编码方法,其特征在于,采用子信道编码优先度系数对不同任务的编码需求进行评估,该系数计算表达式为δη =4,其中K为Raptor码的编码参数中每个分组的数据包数,Sn为第η个子 KD信道当前数据块未传输的原始数据包数,Bn为第η个子信道的当前带宽,B为整个传输系统的总带宽。
【文档编号】H04L12/18GK104168099SQ201410353458
【公开日】2014年11月26日 申请日期:2014年7月24日 优先权日:2014年7月24日
【发明者】吕锐, 王非非, 徐伟掌, 杨占昕, 王剑, 沈向辉 申请人:中国传媒大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1