广播数据发送方法、装置、设备及计算机可读存储介质与流程

文档序号:16510387发布日期:2019-01-05 09:18阅读:176来源:国知局
广播数据发送方法、装置、设备及计算机可读存储介质与流程

本发明涉及通信技术领域,尤其涉及广播数据发送方法、装置、设备及计算机可读存储介质。



背景技术:

flute协议是广泛应用于移动多媒体广播系统的一种单向文件传输协议,用于支持点到多点的音视频流及数据文件的单向广播。flute协议具有前向纠错(forwarderrorcorrectmon,简称fec)功能,该功能通过在传输码列中加入冗余纠错码,在一定条件下,接收端通过解码即可以自动纠正传输误码,从而在一定程度上保证了数据单向传播的可靠性。由于广播数据单向传播的特点,flute协议数据的前向纠错能力显得至关重要,其直接影响到广播接收端的用户体验。

当前的flute协议在支持移动多媒体广播业务时,其数据纠错采用的是喷泉码类的前向纠错编码方法,此类方法的特点是发送端将待传输的文件分成多个块,然后对每个分块进行运算生成一定比例的冗余数据,然后再按照块的顺序将每个块及其冗余数据发送给接收端,接收端在接收到这些块及其冗余数据后,就可以还原出原始的文件。

然而,对于单个的分块,如果接收端接收到的数据的丢失率超过了其冗余率的话,就会导致该分块无法被恢复,进而直接导致整个文件不能恢复。当网络异常时,按照上述自然顺序发送文件分块数据的方法就极易导致某一个文件分块的数据丢失率超过其冗余率,从而导致该文件块不能被恢复,最终导致整个文件恢复失败。因此,现有的基于前向纠错功能的广播数据发送方式还有待优化。



技术实现要素:

本发明的主要目的在于提出一种方法、装置及计算机可读存储介质,旨在降低网络异常对单个文件块数据丢失的影响,提高广播数据发送的可靠性。

为实现上述目的,本发明提供一种广播数据发送方法,所述广播数据发送方法包括如下步骤:

将待发送的原始广播文件划分为若干个文件块;

在划分的每个文件块中分别加入对应的前向纠错码,所述前向纠错码用于广播接收端对所述原始广播文件的广播数据进行前向纠错;

将加入所述前向纠错码的每个文件块分别划分为n个分片,其中,n为正整数且n≧2;

将所述原始广播文件的广播数据划分为n个数据包依次发送至所述广播接收端,其中,每个数据包通过从每个文件块中分别选取一个分片并将选取的分片进行封装而得到。

优选地,所述将待发送的原始广播文件划分为若干个文件块的步骤包括:

获取待发送的原始广播文件的大小;

根据获取到的所述原始广播文件的大小将所述原始广播文件平均划分为若干个文件块。

优选地,所述将待发送的原始广播文件划分为若干个文件块的步骤之后,还包括:

为划分的每个文件块分配对应的文件块编号。

优选地,所述在划分的每个文件块中分别加入对应的前向纠错码,所述前向纠错码用于广播接收端对所述原始广播文件的广播数据进行前向纠错的步骤之后,还包括:

为加入所述前向纠错码的每个文件块的每个分片分配对应的分片编号。

优选地,所述将所述原始广播文件的广播数据划分为n个数据包依次发送至所述广播接收端,其中,每个数据包通过从每个文件块中分别选取一个分片并将选取的分片进行封装而得到的步骤包括:

将根据所述文件块编号和所述分片编号从每个文件块中分别选取一个分片并将选取的分片封装为一个数据包的步骤执行n次,以将所述文件原始广播文件的广播数据划分为n个数据包;

在进行所述原始广播文件的广播数据的发送时,将划分的所述n个数据包依次发送至所述广播接收端。

优选地,所述原始广播文件包括原始音频文件、原始视频文件,以及与所述原始音频文件和所述原始视频文件对应的原始数据文件。

此外,为实现上述目的,本发明还提供一种广播数据发送装置,所述广播数据发送装置包括:

第一划分模块,用于将待发送的原始广播文件划分为若干个文件块;

加入模块,用于在划分的每个文件块中分别加入对应的前向纠错码,所述前向纠错码用于广播接收端对所述原始广播文件的广播数据进行前向纠错;

第二划分模块,用于将加入所述前向纠错码的每个文件块分别划分为n个分片,其中,n为正整数且n≧2;

发送模块,用于将所述原始广播文件的广播数据划分为n个数据包依次发送至所述广播接收端,其中,每个数据包通过从每个文件块中分别选取一个分片并将选取的分片进行封装而得到。

优选地,所述第一划分模块还用于:

获取待发送的原始广播文件的大小;

根据获取到的所述原始广播文件的大小将所述原始广播文件平均划分为若干个文件块。

此外,为实现上述目的,本发明还提供一种广播数据发送设备,所述广播数据发送设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的广播数据发送程序,所述广播数据发送程序被所述处理器执行时实现如下步骤:

将待发送的原始广播文件划分为若干个文件块;

在划分的每个文件块中分别加入对应的前向纠错码,所述前向纠错码用于广播接收端对所述原始广播文件的广播数据进行前向纠错;

将加入所述前向纠错码的每个文件块分别划分为n个分片,其中,n为正整数且n≧2;

将所述原始广播文件的广播数据划分为n个数据包依次发送至所述广播接收端,其中,每个数据包通过从每个文件块中分别选取一个分片并将选取的分片进行封装而得到。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有广播数据发送程序,所述广播数据发送程序被处理器执行时实现如下步骤:

将待发送的原始广播文件划分为若干个文件块;

在划分的每个文件块中分别加入对应的前向纠错码,所述前向纠错码用于广播接收端对所述原始广播文件的广播数据进行前向纠错;

将加入所述前向纠错码的每个文件块分别划分为n个分片,其中,n为正整数且n≧2;

将所述原始广播文件的广播数据划分为n个数据包依次发送至所述广播接收端,其中,每个数据包通过从每个文件块中分别选取一个分片并将选取的分片进行封装而得到。

本发明将待发送的原始广播文件划分为若干个文件块;在划分的每个文件块中分别加入对应的前向纠错码,所述前向纠错码用于广播接收端对所述原始广播文件的广播数据进行前向纠错;将加入所述前向纠错码的每个文件块分别划分为n个分片,其中,n为正整数且n≧2;将所述原始广播文件的广播数据划分为n个数据包依次发送至所述广播接收端,其中,每个数据包通过从每个文件块中分别选取一个分片并将选取的分片进行封装而得到。相对于现有技术的广播数据发送策略,本发明将原始广播文件的每个分块进一步划分为若干分片,在进行广播数据发送时,从每个分块中选取分片并封装为数据包依次进行发送,避免了连续发送同一个文件块的分片数据,如此当网络异常时,丢失的数据会较均匀地分布到多个文件块中,从而避免了丢失的数据集中在一个文件块中而导致该文件块不能恢复的问题。本发明能够降低网络异常对单个文件块数据丢失的影响,提高广播数据发送的可靠性。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;

图2为本发明广播数据发送方法第一实施例的流程示意图;

图3为本发明实施例中分组码的结构示意图;

图4为本发明实施例中广播数据的发送场景示意图;

图5为本发明广播数据发送方法第二实施例的流程示意图;

图6为本发明广播数据发送装置一实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:将待发送的原始广播文件划分为若干个文件块;在划分的每个文件块中分别加入对应的前向纠错码,所述前向纠错码用于广播接收端对所述原始广播文件的广播数据进行前向纠错;将加入所述前向纠错码的每个文件块分别划分为n个分片,其中,n为正整数且n≧2;将所述原始广播文件的广播数据划分为n个数据包依次发送至所述广播接收端,其中,每个数据包通过从每个文件块中分别选取一个分片并将选取的分片进行封装而得到。

现有的基于flute协议的前向纠错技术中,在进行广播数据发送时,对于单个的文件分块,如果接收端接收到的数据的丢失率超过了其冗余率的话,就会导致该分块无法被恢复,进而直接导致整个文件不能恢复。当网络异常时,按照自然顺序发送文件分块数据的方法就极易导致某一个文件分块的数据丢失率超过其冗余率,从而导致该文件块不能被恢复,最终导致整个文件恢复失败。

本发明相对于现有的广播数据发送策略,将原始广播文件的每个分块进一步划分为若干分片,在进行广播数据发送时,从每个分块中选取分片并封装为数据包依次进行发送,避免了连续发送同一个文件块的分片数据,如此当网络异常时,丢失的数据会较均匀地分布到多个文件块中,从而避免了丢失的数据集中在一个文件块中而导致该文件块不能恢复的问题。本发明能够降低网络异常对单个文件块数据丢失的影响,提高广播数据发送的可靠性。

本发明提供一种广播数据发送方法。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。

本发明实施例广播数据发送设备可以是移动多媒体广播服务器。

如图1所示,该广播数据发送设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(dmsplay)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wm-fm接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatmlememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及广播数据发送程序。

在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的广播数据发送程序,并执行以下操作:

将待发送的原始广播文件划分为若干个文件块;

在划分的每个文件块中分别加入对应的前向纠错码,所述前向纠错码用于广播接收端对所述原始广播文件的广播数据进行前向纠错;

将加入所述前向纠错码的每个文件块分别划分为n个分片,其中,n为正整数且n≧2;

将所述原始广播文件的广播数据划分为n个数据包依次发送至所述广播接收端,其中,每个数据包通过从每个文件块中分别选取一个分片并将选取的分片进行封装而得到。

进一步地,处理器1001可以调用存储器1005中存储的广播数据发送程序,还执行以下操作:

获取待发送的原始广播文件的大小;

根据获取到的所述原始广播文件的大小将所述原始广播文件平均划分为若干个文件块。

进一步地,处理器1001可以调用存储器1005中存储的广播数据发送程序,还执行以下操作:

为划分的每个文件块分配对应的文件块编号。

进一步地,处理器1001可以调用存储器1005中存储的广播数据发送程序,还执行以下操作:

为加入所述前向纠错码的每个文件块的每个分片分配对应的分片编号。

进一步地,处理器1001可以调用存储器1005中存储的广播数据发送程序,还执行以下操作:

将根据所述文件块编号和所述分片编号从每个文件块中分别选取一个分片并将选取的分片封装为一个数据包的步骤执行n次,以将所述文件原始广播文件的广播数据划分为n个数据包;

在进行所述原始广播文件的广播数据的发送时,将划分的所述n个数据包依次发送至所述广播接收端。

进一步地,所述原始广播文件包括原始音频文件、原始视频文件,以及与所述原始音频文件和所述原始视频文件对应的原始数据文件。

基于上述硬件结构,提出本发明广播数据发送方法实施例。

参照图2,图2为本发明广播数据发送方法第一实施例的流程示意图,所述方法包括:

步骤s10,将待发送的原始广播文件划分为若干个文件块;

移动多媒体广播,俗称“手持电视”,移动多媒体广播业务是指通过卫星和地面无线广播方式,在手机、pda(personaldmgmtalassmstant,掌上电脑)、mp3、mp4、数码相机、笔记本电脑等小屏幕、移动便携手持式终端上,实现随时随地接收广播电视节目收视与信息服务。

本实施例的广播数据发送方法应用于移动多媒体广播系统的发送端,该发送端为移动多媒体广播服务器,用于向一个或多个接收终端发送音视频流及数据广播,其中接收终端可以为手机、pda、mp3、mp4、数码相机、笔记本电脑等移动便携式设备。

在移动多媒体广播系统中,广播通过flute协议由广播发送端单向发送至广播接收端,flute协议是一种单向文件传输协议,用于支持点到多点的音视频流及数据文件的单向广播,flute协议支持前向纠错功能,该功能通过在传输码列中加入冗余纠错码,在一定条件下,接收端通过解码即可以自动纠正传输误码,从而在一定程度上保证了数据单向传播的可靠性。由于广播数据单向传播的特点,flute协议数据的前向纠错能力显得至关重要,其直接影响到广播接收端的用户体验。

在本实施例中,广播发送端在进行广播数据发送之前,首先将待发送的原始广播文件划分为若干个文件块。其中,待发送的原始广播文件包括音频文件、视频文件、电子杂志和应用程序,除此之外也可以包括其他文件类型,比如标识电视播放频道和电视播放时间的数据文件等,以满足不同终端用户的多媒体广播接收需求;在进行文件块划分时,可以是按照原始广播文件的大小平均划分,使得每个文件块的大小相等,也可以是不平均划分,划分的文件块的数量、每个文件块的大小可以预先进行灵活设置。

步骤s20,在划分的每个文件块中分别加入对应的前向纠错码,所述前向纠错码用于广播接收端对所述原始广播文件的广播数据进行前向纠错;

然后,在划分的文件块中分别加入对应的前向纠错码,该前向纠错码用于广播接收端对原始广播文件的广播数据进行前向纠错。前向纠错技术是一种广泛应用于通信系统中的编码技术,以典型的分组码为例,参照图3,图3为本发明实施例中分组码的结构示意图,分组码由信息位和校验位组成,其中a1,a2,…,ak为信息位,表示原始广播文件编码,ak,ak+1,…,an为校验位,其基本原理是:在发送端,通过将kbit信息作为一个分组进行编码,加入(n-k)bit的冗余校验信息,组成长度为nbit的码字。码字经过信道到达接收端之后,如果错误在可纠范围之内,通过译码即可检查并纠正错误bit,从而抵抗信道带来的干扰,提高通信系统的可靠性。

本实施例中的前向纠错码可以通过对文件块进行冗余运算得到,通过分别在每个文件块中加入对应的前向纠错码,可以实现广播数据的前向纠错功能,保证数据传输的可靠性。

步骤s30,将加入所述前向纠错码的每个文件块分别划分为n个分片,其中,n为正整数且n≧2;

该步骤中,进一步将加入前向纠错码的每个文件块分别划分为n个分片,其中,n为正整数且n≧2,n的取值可预先灵活设置。

步骤s40,将所述原始广播文件的广播数据划分为n个数据包依次发送至所述广播接收端,其中,每个数据包通过从每个文件块中分别选取一个分片并将选取的分片进行封装而得到。

之后,广播发送端将原始广播文件的广播数据划分为n个数据包依次发送至所述广播接收端,其中,每个数据包通过从每个文件块中分别选取一个分片并将选取的分片进行封装而得到。

参照图4,图4为本发明实施例中广播数据的发送场景示意图。待发送的原始广播文件被划分为m个文件块,其中,每个文件块又分别被划分为n个分片,在进行广播数据发送时,可以选取每个文件块的第1个分片封装为一个数据包,然后选取每个文件块的第2个分片封装为一个数据包,依此类推,直至选取每个文件块的第n个分片封装为一个数据包,由此得到n个数据包,之后将这n个数据包依次发送至广播接收端,需要说明的是,除了这种顺序选取的方式之外,每次从文件块中选取分片也可以是随机选取,此处不作限定。

通过上述方式,当网络通信在某一时间产生干扰或异常时,相对于现有技术的连续发送同一个文件块的分片数据,丢失的数据会较均匀地分布到多个文件块中,对于单个文件块而言,其误码率大大降低,从而保证误码率在前向纠错能力范围之内,提高了广播数据发送的可靠性。

在本实施例中,将待发送的原始广播文件划分为若干个文件块;在划分的每个文件块中分别加入对应的前向纠错码,所述前向纠错码用于广播接收端对所述原始广播文件的广播数据进行前向纠错;将加入所述前向纠错码的每个文件块分别划分为n个分片,其中,n为正整数且n≧2;将所述原始广播文件的广播数据划分为n个数据包依次发送至所述广播接收端,其中,每个数据包通过从每个文件块中分别选取一个分片并将选取的分片进行封装而得到。相对于现有技术的广播数据发送策略,本实施例将原始广播文件的每个分块进一步划分为若干分片,在进行广播数据发送时,从每个分块中选取分片并封装为数据包依次进行发送,避免了连续发送同一个文件块的分片数据,如此当网络异常时,丢失的数据会较均匀地分布到多个文件块中,从而避免了丢失的数据集中在一个文件块中而导致该文件块不能恢复的问题。本发明能够降低网络异常对单个文件块数据丢失的影响,提高广播数据发送的可靠性。

进一步地,参照图5,图5为本发明广播数据发送方法第二实施例的流程示意图。基于上述图2所示的实施例,步骤s10可以包括:

步骤s11,获取待发送的原始广播文件的大小;

步骤s12,根据获取到的所述原始广播文件的大小将所述原始广播文件平均划分为若干个文件块。

在本实施例中,广播发送端可以首先获取待发送的原始广播文件的大小,然后根据获取到的原始广播文件的大小将所述原始广播文件平均划分为若干个文件块。比如原始广播文件的大小为30m,若预先设置将其划分为10个文件块且平均划分,则每个文件块的大小为3m。

进一步地,在步骤s10之后,还可以包括:

步骤s50,为划分的每个文件块分配对应的文件块编号。

该步骤中,可以对每个文件块进行顺序编号,如将第1个文件块编号为sbn1,第2个文件块编号为sbn2,……第m个文件块编号为sbnm。

进一步地,在步骤s20之后,还可以包括:

步骤s60,为加入所述前向纠错码的每个文件块的每个分片分配对应的分片编号,

该步骤中,可以对加入所述前向纠错码的每个文件块的每个分片进行顺序编号,如对上述编号为sbn1的文件块,其分片分别编号为esi1,esi2,…esin,对上述编号为sbn2的文件块,其分片分别编号为esi1,esi2,…esin,……,对上述编号为sbnm的文件块,其分片分别编号为esi1,esi2,…esin。

进一步地,步骤s30可以包括:

步骤s41,将根据所述文件块编号和所述分片编号从每个文件块中分别选取一个分片并将选取的分片封装为一个数据包的步骤执行n次,以将所述文件原始广播文件的广播数据划分为n个数据包;

步骤s42,在进行所述原始广播文件的广播数据的发送时,将划分的所述n个数据包依次发送至所述广播接收端。

在进行文件块编号和分片编号后,广播发送端将根据文件块编号和分片编号从每个文件块中分别选取一个分片并将选取的分片封装为一个数据包的步骤执行n次,以将文件原始广播文件的广播数据划分为n个数据包。比如,可以选取每个文件块的第1个分片封装为一个数据包,然后选取每个文件块的第2个分片封装为一个数据包,依此类推,直至选取每个文件块的第n个分片封装为一个数据包,由此得到n个数据包,其中,数据包的封装比如可以依据相关通信协议填充数据包的包头等,具体封装规则不作限定。之后,广播发送端将这n个数据包依次发送至所述广播接收端。

广播接收端在接收到广播数据后,通过文件块编号和分片编号即可还原相应的文件块,通过前向纠错后,最终将文件块还原为原始广播文件。

在本实施例中,通过对文件块及其分片进行编号,实现了对文件块及其分片进行标识,便于数据包的封装和还原。

本发明还提供一种广播数据发送装置。

参照图6,图6为本发明广播数据发送装置一实施例的功能模块示意图。本发明控制网络数据传输的装置包括:

第一划分模块10,用于将待发送的原始广播文件划分为若干个文件块;

加入模块20,用于在划分的每个文件块中分别加入对应的前向纠错码,所述前向纠错码用于广播接收端对所述原始广播文件的广播数据进行前向纠错;

第二划分模块30,用于将加入所述前向纠错码的每个文件块分别划分为n个分片,其中,n为正整数且n≧2;

发送模块40,用于将所述原始广播文件的广播数据划分为n个数据包依次发送至所述广播接收端,其中,每个数据包通过从每个文件块中分别选取一个分片并将选取的分片进行封装而得到。

进一步地,所述第一划分模块10还用于:获取待发送的原始广播文件的大小;根据获取到的所述原始广播文件的大小将所述原始广播文件平均划分为若干个文件块。

其中,各个功能模块的功能实现可参照本发明广播数据发送方法实施例,此处不再赘述。

本发明还提供一种广播数据发送设备。

本发明广播数据发送设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的广播数据发送程序,所述广播数据发送程序被所述处理器执行时实现如下步骤:

将待发送的原始广播文件划分为若干个文件块;

在划分的每个文件块中分别加入对应的前向纠错码,所述前向纠错码用于广播接收端对所述原始广播文件的广播数据进行前向纠错;

将加入所述前向纠错码的每个文件块分别划分为n个分片,其中,n为正整数且n≧2;

将所述原始广播文件的广播数据划分为n个数据包依次发送至所述广播接收端,其中,每个数据包通过从每个文件块中分别选取一个分片并将选取的分片进行封装而得到。

其中,在所述处理器上运行的广播数据发送程序被执行时所实现的方法可参照本发明广播数据发送方法各个实施例,此处不再赘述。

本发明还提供一种计算机可读存储介质。

本发明计算机可读存储介质上存储有广播数据发送程序,所述广播数据发送程序被处理器执行时实现如下步骤:

将待发送的原始广播文件划分为若干个文件块;

在划分的每个文件块中分别加入对应的前向纠错码,所述前向纠错码用于广播接收端对所述原始广播文件的广播数据进行前向纠错;

将加入所述前向纠错码的每个文件块分别划分为n个分片,其中,n为正整数且n≧2;

将所述原始广播文件的广播数据划分为n个数据包依次发送至所述广播接收端,其中,每个数据包通过从每个文件块中分别选取一个分片并将选取的分片进行封装而得到。

其中,在所述处理器上运行的广播数据发送程序被执行时所实现的方法可参照本发明广播数据发送方法各个实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1