数据传输方法、系统及相关设备技术方案

技术编号:13569366 阅读:34 留言:0更新日期:2016-08-21 11:25
数据传输方法、系统及相关设备。本发明专利技术公开了一种数据发送方法,包括:发送端以块的方式对待发送数据进行编码;所述发送端在编码后的传输控制协议(TCP)数据中加入编码TCP报文头;所述编码TCP报文头包括编码数指示字段;所述编码数指示字段表征能成功解码对应块中数据包所需接收的最少数据包个数;所述发送端将加入所述编码TCP报文头的TCP数据发出。本发明专利技术同时还公开了一种数据接收方法、发送设备、接收设备及数据传输系统。

【技术实现步骤摘要】

本专利技术涉及无线通信领域,尤其涉及一种数据传输方法、系统及相关设备
技术介绍
传统基于传输控制协议(TCP,Transmission Control Protocol)的数据传输过程传输的数据是原始用户数据,传输过程中不会对数据包进行编码。在无线网络中,信道衰落、随机抖动、无线网络切换等情况会导致传输过程中发生丢包。传统基于TCP的数据传输过程中发现丢包后,会对丢失数据包进行重传。然而,由于传统基于TCP的数据传输中,认为丢包是网络拥塞的指示,因此,丢包会触发TCP拥塞控制机制减小数据发送速率。这使得数据传输不能充分利用网络带宽。针对以上问题,有人提出了解决方案。其中,一种方案是基于网络编码理论的TCP(NC TCP,Network Coding TCP)数据传输方法。另一种方案是在基于NC TCP的基础上的网络编码的TCP(Network Coded TCP,CTCP)数据传输方法。基于NC TCP的数据传输方案和基于CTCP的数据传输方案,在接收端需要进行两次解码相关的运算。具体地,接收端收到一个编码数据包后,首先需要提取出编码数据包中的编码系数,和本地存储的系数矩阵进行一次运算,得出确认(seen ack),将其返回给发送端。然后判断系数矩阵是否达到解码的条件。若没有达到解码条件,则返回。若达到解码条件,则进行一次解码运算,解码出原始数据包提交给应用层。从上面的流程可以看出,现有的网络编码TCP机制在接收端需要进行两次解码运算。两次解码一方面会过多消耗接收端的计算资源,给接收端带来负载;
另一方面,发送seen ack前的系数矩阵运算会导致seen ack回复有延时,由于TCP协议中发送端在收到seen ack后才能够发送新的数据包。因此seen ack的回复延时会导致发送端减低发送速率。
技术实现思路
为解决现有存在的技术问题,本专利技术实施例提供一种数据传输方法、系统及相关设备。本专利技术实施例提供了一种数据发送方法,包括:发送端以块(block)的方式对待发送数据进行编码;所述发送端在编码后的TCP数据中加入编码TCP报文头;所述编码TCP报文头包括编码数指示字段;所述编码数指示字段表征能成功解码对应块中数据包所需接收的最少数据包个数;所述发送端将加入所述编码TCP报文头的TCP数据发出。上述方案中,所述发送端以块的方式对待发送数据进行编码之前,所述方法还包括:所述发送端向所述接收端发送TCP连接建立消息;所述TCP连接建立消息携带所述发送端支持网络编码TCP的标识;接收所述接收端返回的确认消息;所述确认消息携带所述接收端支持网络编码TCP的标识。上述方案中,所述以块的方式对待发送数据进行编码,包括:所述发送端将所述待发送数据划分为等长数据包;对划分后的数据包进行分块,对每个块中的数据包分别进行编码,并在编码过程中生成对应的编码冗余数据包;将所述编码冗余数据包插入至TCP数据发送队列中的相应位置,形成编码后的TCP数据。上述方案中,编码所采用的算法为随机线性网络编码算法。上述方案中,所述方法还包括:所述发送端对发送的每个数据包均启动重
传定时器;满足重传条件时,对需要重传的编码后的数据包直接进行重传。上述方案中,所述方法还包括:所述发送端接收到seen ack后,从所述TCP数据发送队列中删除seen ack对应数据包序号之前的数据。本专利技术实施例还提供了一种数据接收方法,包括:接收端接收数据包;当每个块中收到的数据包个数大于等于所述编码TCP报文头中的编码数指示字段对应的数据包个数时,向发送端回复seen ack,对整个块进行确认;所述编码数指示字段表征能成功解码对应块中数据包所需接收的最少数据包个数;所述接收端对已确认块中的数据进行解码。上述方案中,所述接收数据包之前,所述方法还包括:接收所述发送端发送的TCP连接建立消息;所述TCP连接建立消息携带所述发送端支持网络编码TCP的标识;所述接收端向所述发送端返回确认消息;所述确认消息携带所述接收端支持网络编码TCP的标识。上述方案中,所述向发送端回复seen ack,对整个块进行确认之前,所述方法还包括:所述接收端将收到的数据包放入接收队列中;所述接收端根据数据包对应的编码TCP报文头信息,统计接收队列中每个块中收到的数据包个数。本专利技术实施例又提供了一种发送设备,包括:编码模块、插入单元以及第一发送单元;其中,所述编码模块,用于以块的方式对待发送数据进行编码;所述插入单元,用于在编码后的TCP数据中加入编码TCP报文头;所述编码TCP报文头包括编码数指示字段;所述编码数指示字段表征能成功解码对
应块中数据包所需接收的最少数据包个数;所述第一发送单元,用于将加入所述编码TCP报文头的TCP数据发出。上述方案中,所述发送设备还包括:第一接收单元;其中,所述第一发送单元,还用于向所述接收端发送TCP连接建立消息;所述TCP连接建立消息携带所述发送设备支持网络编码TCP的标识;所述第一接收单元,用于接收所述接收端返回的确认消息;所述确认消息携带所述接收端支持网络编码TCP的标识;并在收到所述确认消息后,触发所述编码模块;相应地,所述编码模块,用于收到所述第一接收单元的触发后,以块的方式对待发送数据进行编码。上述方案中,所述编码单元包括:划分模块、编码模块及位置插入模块;其中,所述划分模块,用于将所述待发送数据划分为等长数据包;并对划分后的数据包进行分块;所述编码模块,用于每个块中的数据包分别进行编码,并在编码过程中生成对应的编码冗余数据包;所述位置插入模块,用于将所述编码冗余数据包插入至TCP数据发送队列中的相应位置,形成编码后的TCP数据。上述方案中,所述发送设备还包括重传单元,用于对发送的每个数据包均启动重传定时器;并在满足重传条件时,对需要重传的编码后的数据包直接进行重传。上述方案中,所述发送设备还包括删除单元,用于接收到seen ack后,从所述TCP数据发送队列中删除seen ack对应数据包序号之前的数据。本专利技术实施例还提供了一种接收设备,包括:第二接收单元、第二发送单元以及解码单元;其中,所述第二接收单元,用于接收数据包;所述第二发送单元,用于当每个块中收到的数据包个数大于等于所述编码
TCP报文头中的编码数指示字段对应的数据包个数时,向发送端回复seen ack,对整个块进行确认;所述编码数指示字段表征能成功解码对应块中数据包所需接收的最少数据包个数;所述解码单元,用于对已确认块中的数据进行解码。上述方案中,所述第二接收单元,还用于接收发送端发送的TCP连接建立消息;所述TCP连接建立消息携带所述发送端支持网络编码TCP的标识;所述第二发送单元,用于向所述发送端返回确认消息;所述确认消息携带所述接收设备支持网络编码TCP的标识。上述方案中,所述接收设备还包括:统计单元,用于将收到的数据包放入接收队列中;并根据数据包对应的编码TCP报文头信息,统计接收队列中每个块中收到的数据包个数。本专利技术实施例又提供了一种数据传输系统,包括发送设备及接收设备;其中,所述发送设备,用于以块的方式对待发送数据进行编码;在编码后的TCP数据中加入编码TCP报文头;所述编码TCP报文头包括编码数指示字段;所述编码本文档来自技高网
...

【技术保护点】
一种数据发送方法,其特征在于,所述方法包括:发送端以块的方式对待发送数据进行编码;所述发送端在编码后的传输控制协议TCP数据中加入编码TCP报文头;所述编码TCP报文头包括编码数指示字段;所述编码数指示字段表征能成功解码对应块中数据包所需接收的最少数据包个数;所述发送端将加入所述编码TCP报文头的TCP数据发出。

【技术特征摘要】
1.一种数据发送方法,其特征在于,所述方法包括:发送端以块的方式对待发送数据进行编码;所述发送端在编码后的传输控制协议TCP数据中加入编码TCP报文头;所述编码TCP报文头包括编码数指示字段;所述编码数指示字段表征能成功解码对应块中数据包所需接收的最少数据包个数;所述发送端将加入所述编码TCP报文头的TCP数据发出。2.根据权利要求1所述的方法,其特征在于,所述发送端以块的方式对待发送数据进行编码之前,所述方法还包括:所述发送端向所述接收端发送TCP连接建立消息;所述TCP连接建立消息携带所述发送端支持网络编码TCP的标识;接收所述接收端返回的确认消息;所述确认消息携带所述接收端支持网络编码TCP的标识。3.根据权利要求1所述的方法,其特征在于,所述以块的方式对待发送数据进行编码,包括:所述发送端将所述待发送数据划分为等长数据包;对划分后的数据包进行分块,对每个块中的数据包分别进行编码,并在编码过程中生成对应的编码冗余数据包;将所述编码冗余数据包插入至TCP数据发送队列中的相应位置,形成编码后的TCP数据。4.根据权利要求3所述的方法,其特征在于,编码所采用的算法为随机线性网络编码算法。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:所述发送端对发送的每个数据包均启动重传定时器;满足重传条件时,对需要重传的编码后的数据包直接进行重传。6.根据权利要求3所述的方法,其特征在于,所述方法还包括:所述发送端接收到确认seen ack后,从所述TCP数据发送队列中删除seenack对应数据包序号之前的数据。7.一种数据接收方法,其特征在于,所述方法包括:接收端接收数据包;当每个块中收到的数据包个数大于等于所述编码TCP报文头中的编码数指示字段对应的数据包个数时,向发送端回复seen ack,对整个块进行确认;所述编码数指示字段表征能成功解码对应块中数据包所需接收的最少数据包个数;所述接收端对已确认块中的数据进行解码。8.根据权利要求7所述的方法,其特征在于,所述接收数据包之前,所述方法还包括:接收所述发送端发送的TCP连接建立消息;所述TCP连接建立消息携带所述发送端支持网络编码TCP的标识;所述接收端向所述发送端返回确认消息;所述确认消息携带所述接收端支持网络编码TCP的标识。9.根据权利要求7所述的方法,其特征在于,所述向发送端回复seen ack,对整个块进行确认之前,所述方法还包括:所述接收端将收到的数据包放入接收队列中;所述接收端根据数据包对应的编码TCP报文头信息,统计接收队列中每个块中收到的数据包个数。10.一种发送设备,其特征在于,所述发送设备包括:编码模块、插入单元以及第一发送单元;其中,所述编码模块,用于以块的方式对待发送数据进行编码;所述插入单元,用于在编码后的TCP数据中加入编码TCP报文头;所述编码TCP报文头包括编码数指示字段;所述编码数指示字段表征能成功解码对应块中数据包所需接收的最少数据包个数;所述第一发送单元,用于将加入所述编码TCP报文头的TCP数据发出。11.根据权利要求10所述的发送设备,其特征在于,所述发送设备还包括:第一接收单元;其中,所述第一发送单元,还用于向所述接收端发送TCP连接建立消息;所述TCP连接建立消息携带所述发送设备支持网络编码TCP的标识;所述第一接收单元,用于接收所述接收端返回的...

【专利技术属性】
技术研发人员:王金柱陆璐
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:北京;11

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

1