一种数据传输方法及装置制造方法及图纸

技术编号:19125914 阅读:19 留言:0更新日期:2018-10-10 07:25
本申请公开了一种数据传输方法及装置,用于改善喷泉码传输的长尾时延问题。数据传输方法包括:确定待发送的第一组数据,第一组数据的数量为N个;使用喷泉码技术将N个数据编码成M个编码报文;向接收端发送M个编码报文;接收来自接收端的状态信息,状态信息用于指示N个数据中的n个数据已被成功接收,或者,状态信息用于指示N个数据中还有N‑n个数据未被成功接收,n小于N;根据状态信息,从N个数据中,重新确定待发送的第二组数据,第二组数据的数量为N‑n个,N‑n个数据为N个数据中未被接收端接收的数据;向接收端发送L个编码报文,L个编码报文是N‑n个数据通过喷泉码技术编码得到的。

【技术实现步骤摘要】
一种数据传输方法及装置
本申请涉及信息
,尤其涉及一种数据传输方法及装置。
技术介绍
喷泉码可以分为随机线性喷泉码、卢比(英文:LubyTransform,简称:LT)码和Raptor码。喷泉码的原理是发送端将原始数据文件分割为多个数据,然后针对多个数据,随机的源源不断进行编码产生编码数据包发送到接收端,直到接收端全部接收为止。由于喷泉码编码在选择报文进行编码时通过随机的方式选择,因此导致部分报文在长时间未被编码发送,使得数据传输时延较长,这种问题也可以称为LT码的长尾时延问题。现有技术的方法,长尾时延问题都较为严重。
技术实现思路
本申请提供一种数据传输方法及装置,用于改善喷泉码传输的长尾时延问题。第一方面,本申请实施例提供了一种数据传输方法,所述方法应用于数据的发送端,包括:所述发送端确定待发送的第一组数据,所述第一组数据的数量为N个;使用喷泉码技术将所述N个数据编码成M个编码报文;并向接收端发送所述M个编码报文;接收来自所述接收端的状态信息,所述状态信息用于指示所述N个数据中的n个数据已被成功接收,或者,所述状态信息用于指示所述N个数据中还有N-n个数据未被成功接收,n小于N;根据所述状态信息,从所述N个数据中,重新确定待发送的第二组数据,所述第二组数据的数量为N-n个,所述N-n个数据为所述N个数据中未被所述接收端接收的数据;向所述接收端发送L个编码报文,所述L个编码报文是所述N-n个数据通过喷泉码技术编码得到的。上述方案中,发送端接收接收端发送状态信息,状态信息表明接收端未成功接收到的数据或者成功接收的数据,从而所述发送端不再针对接收端接收到的数据进行编码发送,而是缩减待发送的一组数据的范围,将待发送的数据的范围缩减为接收端未成功接收到的数据,从而接收端从未成功接收到的数据中随机选择数据再进行编码发送,由于针对接收端成功接收到的数据不再重复编码发送,因此减少了长尾时延效应,并且提高了报文的传输效率。在一种可能的设计中,所述方法还可以包括:所述发送端在设定时长内未接收到所述状态信息时,向所述接收端发送用于指示所述接收端反馈所述状态信息的请求信息。上述设计,发送端在设定时长内未收到状态信息时,及时发送请求信息,从而接收端在接收到该请求信息后,重发状态信息,保证发送端接收到状态信息,从而着重发送接收端未成功接收的数据,提高接收端的接收报文的成功率,减少解码长尾时间,减少发送端发送报文的重复率。在一种可能的设计中,所述状态信息包括未被成功接收的所述N-n个数据的序列号或者编号,或者所述状态信息包括已被成功接收的n个数据的序列号或者编号,或者所述状态信息中包括已被成功接收的连续的n个数据中的最大序列号或者最大编号。第二方面,本申请实施例提供了一种数据传输方法,所述方法应用于数据的接收端,包括:所述接收端接收到发送端发送的m个编码报文;针对所述m个编码报文通过喷泉码解码技术进行解码,得到一组待接收数据中的n个数据,所述n大于等于数据接收量阈值,所述数据接收量阈值小于N,所述N为所述一组待接收数据的数量;根据所述n个数据,向所述发送端发送状态信息,所述状态信息用于指示所述N个数据中的n个数据成功接收,以便于所述发送端根据所述状态信息,将所述一组待接收数据更改为N-n个数据,所述N-n个数据为所述N个数据中除所述n个数据之外的数据。其中,发送端在发送数据时,从一组待发送数据中随机选择数据进行编码得到编码报文,从将编码报文发送给接收端,该一组待发送的数据也就是接收端待接收的数据。因此,一组待接收数据的数量为所述m个编码报文对应的数据所在的这一组待发送的数据的数量,也就是第二方面中描述的N个。应理解,在喷泉码技术中,可以通过数据报文中的某个字段来携带该数据报文对应的数据组所包括的数据量(N),或者携带该数据报文所在的报文组的报文数量(M)。因此,第二方面中,虽然接收端已经接收了组数据中的n个数据,但接收端仍然认为,对这组数据,待接收数据的数量仍然为N个,而不是N-n个。具体的,接收端接收发送端发送的经过编码后的编码报文,并针对编码报文进行解码得到n个数据报文,确定解码得到的数据报文的数量n大于或者等于报文数量阈值时,向所述发送端发送状态信息,所述状态信息用于指示所述N个数据中的n个数据成功接收,从而所述发送端在接收到所述状态信息后,不再针对接收端接收到的数据进行编码发送,而是缩减待发送的一组数据的范围,将待发送的数据的范围缩减为接收端未成功接收到的数据,从而接收端从未成功接收到的数据中随机选择数据再进行编码发送,由于针对接收端成功接收到的数据不再重复编码发送,因此减少了长尾时延效应,并且提高了报文的传输效率。在一种可能的设计中,本申请实施例中数据接收量阈值基于一组待接收数据的数量来确定。具体的,数据接收量阈值可以等于一组待接收数据的数量乘上一个百分比。数据接收量阈值可以等于所述接收端一组待接收数据的数量与设定值的乘积,所述设定值大于0且所述设定值小于1。比如设定值等于1/S,其中m满足0<=S<=一组待接收数据的数量。上述设计,数据接收量阈值基于待接收的数据的数量来确定,保证了接收端在接收到待接收到数据中的一定数量的数据后,及时的反馈状态信息,提高解码成功率、减少解码长尾时间。在一种可能的设计中,所述方法还可以包括:接收到所述发送端发送的请求信息,所述请求信息用于指示所述接收端反馈接收数据的情况;根据所述n个数据,向所述发送端发送状态信息,包括:根据所述请求信息以及接收到的所述n个数据,向所述发送端发送状态信息,所述状态信息用于指示所述N个数据中的n个数据已被成功接收,或者,所述状态信息用于指示所述N个数据中还有N-n个数据未被成功接收。通过上述设计,如果接收端发送状态信息后而发送端未接收到时,发送端请求接收端反馈状态信息,保证接收端正常反馈状态信息,而发送端成功接收到状态信息,提高解码成功率,减少解码长尾时间。在一种可能的设计中,,所述状态信息包括未被成功接收的N-n个数据的序列号或者编号,或者所述状态信息包括已被成功接收的n个数据的序列号或者编号,或者所述状态信息中包括已被成功接收的连续的n个数据中的最大序列号或者最大编号。通过上述设计,通过报文的序列号或者编号作为状态信息,从而使得状态信息占用的比特位较小,减少了资源占用。在一种可能的设计中,所述方法还包括:接收端根据接收到的m个编码报文中的任意一个,确定所述一组待接收数据的数量为N个;在向所述发送端发送状态信息后,将所述一组待接收数据的数量更新为N-n。通过上述设计,接收端更新当前待接收的数据的数量,从而发送端不需要再从m个编码报文中获取待接收的数据的数量。另外,发送端针对一个数据块接收到接收端第一次发送的状态信息,由于接收端自己更新了待接收的数据的数量,因此不再需要将待接收数据的数量的相关信息携带在编码报文中了。在一种可能的设计中,所述方法还包括:所述接收端确定成功接收到所述一组待接收的数据中的所有数据,向所述发送端发送通知信息,所述通知信息用于指示所述接收端成功接收到所述一组待接收的数据中的所有数。基于与方法实施例同样的专利技术构思,第三方面,本申请实施例提供了一种数据传输装置,所述装置应用于接收端,包括:处理本文档来自技高网...
一种数据传输方法及装置

【技术保护点】
1.一种数据传输方法,其特征在于,所述方法应用于数据的发送端,包括:确定待发送的第一组数据,所述第一组数据的数量为N个;使用喷泉码技术将所述N个数据编码成M个编码报文;向接收端发送所述M个编码报文;接收来自所述接收端的状态信息,所述状态信息用于指示所述N个数据中的n个数据已被成功接收,或者,所述状态信息用于指示所述N个数据中还有N‑n个数据未被成功接收,n小于N;根据所述状态信息,从所述N个数据中,重新确定待发送的第二组数据,所述第二组数据的数量为N‑n个,所述N‑n个数据为所述N个数据中未被所述接收端接收的数据;向所述接收端发送L个编码报文,所述L个编码报文是所述N‑n个数据通过喷泉码技术编码得到的。

【技术特征摘要】
1.一种数据传输方法,其特征在于,所述方法应用于数据的发送端,包括:确定待发送的第一组数据,所述第一组数据的数量为N个;使用喷泉码技术将所述N个数据编码成M个编码报文;向接收端发送所述M个编码报文;接收来自所述接收端的状态信息,所述状态信息用于指示所述N个数据中的n个数据已被成功接收,或者,所述状态信息用于指示所述N个数据中还有N-n个数据未被成功接收,n小于N;根据所述状态信息,从所述N个数据中,重新确定待发送的第二组数据,所述第二组数据的数量为N-n个,所述N-n个数据为所述N个数据中未被所述接收端接收的数据;向所述接收端发送L个编码报文,所述L个编码报文是所述N-n个数据通过喷泉码技术编码得到的。2.如权利要求1所述的方法,其特征在于,所述方法还包括:所述发送端在设定时长内未接收到所述状态信息的情况下,向所述接收端发送请求信息,所述请求信息用于指示所述接收端反馈所述状态信息。3.如权利要求1或2所述的方法,其特征在于,所述状态信息包括未被成功接收的所述N-n个数据的序列号或者编号,或者所述状态信息包括已被成功接收的n个数据的序列号或者编号,或者所述状态信息中包括已被成功接收的连续的n个数据中的最大序列号或者最大编号。4.一种数据传输方法,其特征在于,所述方法应用于数据的接收端,包括:接收到发送端发送的m个编码报文;针对所述m个编码报文通过喷泉码解码技术进行解码,得到一组待接收数据中的n个数据,所述n大于等于数据接收量阈值,所述数据接收量阈值小于N,所述N为所述一组待接收数据的数量;根据所述n个数据,向所述发送端发送状态信息,所述状态信息用于指示所述N个数据中的n个数据成功接收,以便于所述发送端根据所述状态信息,将所述一组待接收数据更改为N-n个数据,所述N-n个数据为所述N个数据中除所述n个数据之外的数据。5.如权利要求4所述的方法,其特征在于,所述数据接收量阈值等于所述一组待接收数据的数量与设定值的乘积,所述设定值大于0且所述设定值小于1。6.如权利要求4或5所述的方法,其特征在于,还包括:接收到所述发送端发送的请求信息,所述请求信息用于指示所述接收端反馈接收数据的情况;根据所述n个数据,向所述发送端发送状态信息,包括:根据所述请求信息以及接收到的所述n个数据,向所述发送端发送状态信息,所述状态信息用于指示所述N个数据中的n个数据已被成功接收,或者,所述状态信息用于指示所述N个数据中还有N-n个数据未被成功接收。7.如权利要求4至6任一项所述的方法,其特征在于,所述状态信息包括已被成功接收的n个数据的序列号或者编号,或者所述状态信息包括未被成功接收的N-n个数据的序列号或者编号,或者所述状态信息中包括已被成功接收的连续的n个数据中的最大序列号或者最大编号。8.如权利要求4至7任一项所述的方法,其特征在于,所述方法还包括:根据接收到的m个编码报文中的任意一个,确定所述一组待接收数据的数量为N个;在向所述发送端发送状态信息后,将所述一组待接收数据的数量更新为N-n。9.一种数据传输装置,其特征在于,所述装置应用于数据的发送端,包括:处理单元,用于确定待发送的第一组数据,所述第一组数据的数量为N个;编码单元,用于使用喷泉码技术将所述N个数据编码成M个编码报文;发送单元,用于向接收端发送所述M个编码报文;接收单元,用于接收来自所述接收端的状态信息,所述状态信息用于指示所述N个数据中的n个数据已被成功接收,或者,所述状态信息用于指示所述N个数据中还有N-n个数据未被成功接收...

【专利技术属性】
技术研发人员:刘莉莉李丹郑凯萨依·卡姆帕里·查卡拉瓦图拉王凡钊
申请(专利权)人:华为技术有限公司清华大学
类型:发明
国别省市:广东,44

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

1