一种基于UDP的数据传输方法和系统技术方案

技术编号:16431164 阅读:46 留言:0更新日期:2017-10-22 06:24
本发明专利技术提供了一种基于UDP的数据传输方法和系统,该方法包括:发送端采用柯西矩阵对UDP数据包进行纠删编码,生成冗余包;发送端将UDP数据包和冗余包发送至接收端;接收端对接收的同组数据包检测是否丢失UDP数据包;若丢包,接收端判断同组数据包包数量是否大于或等于P,若大于等于P,接收端采用柯西矩阵对同组数据包纠删解码,得到一组UDP数据包;接收端从解码的一组UDP数据包中查找丢失的UDP数据包进行恢复。本发明专利技术通过采用柯西矩阵对待发的一组UDP数据包进行纠删编码操作生成冗余包,并一起发送,从而在发生丢包时,可以对所接收到的同组数据包进行解码操作,来对UDP数据包恢复,避免了对所丢失的数据包的重传,提升了数据包的传输速度和效率。

A data transmission method and system based on UDP

The present invention provides a method and system for data transmission based on UDP, the method comprises: sending end by Cauchy matrix of the UDP packet erasure encoding, generating redundant packet; sending UDP packets and redundant packets sent to the receiving terminal; the receiving end of the same data packet received by detecting whether the loss of UDP if the data packet; packet loss, the receiver to determine the amount of the same group of data packet is greater than or equal to P, if P is greater than or equal to the receiving end, using the Cauchy matrix of the same group of packet erasure decoding, get a set of UDP data packet; receiving UDP data loss from decoding a set of UDP data packets for packets recovery. The invention of packet erasure encoding operation generates redundant packets through a set of UDP data using the Cauchy matrix of the hair, and sent together, resulting in packet loss occurs, can be the same set of data packets received by the decoding operation, to restore the UDP packet, to avoid retransmission of lost data the package, to enhance the data transmission speed and efficiency of the package.

【技术实现步骤摘要】
一种基于UDP的数据传输方法和系统
本专利技术涉及数据传输
,特别是涉及一种基于UDP的数据传输方法和系统。
技术介绍
在当前互联网迅速发展的环境下,多终端、多屏的应用层出不穷。用户对文件传输的速度和稳定性的要求都越来越高,许多应程序的用户体验更加依赖于文件能否快速稳定的传输。然后,互联网用户却千差万别,而且,用户所在网络与服务器之间的链路也会因所在运营商、所购买带宽等因素而有所不同,那么用户所获得的服务质量也会有一定的差别。其中,许多用户所获得的服务质量较差的原因是因为接收端丢包引起。而在弱网环境下(例如,周围的所有WiFi信号采用的都是2.4G频段服务,那么这将导致多个信号采用同一个频段进行服务,而这些无线信号将会互相干扰),更加容易引起数据包的丢失。而目前网络上常用UDP(UserDatagramProtocol用户数据报协议)协议约定进行数据包的传输,当发生丢包的时候,UDP协议需要对所发送的被丢失的数据包进行回退并进行重传,那么由于所丢失的数据包的数据量相比于原始发送的多个数据包的数据量明显减小,因此,还会缩小发送窗口。其中,发送窗口的大小与本次传输的数据量的最大值相关。那么由于发生丢包而导致了发送窗口缩小,那么由于其惩罚机制,当发送端再对另一组数据包进行发送时,则会采用已经缩小的发送窗口发送,那么这将导致所发送的另一组数据包的数据量偏小,以符合发送窗口的大小,从而引起数据发送能力的大幅度下降。所以当发生丢包时,现有技术中在进行数据包传输的方案会使数据的传输能力大幅度下降,从而导致数据传输速度较低。
技术实现思路
本专利技术提供了一种基于UDP的数据传输方法和系统,以解决相关技术中采用UDP协议进行数据传输时,会直接对丢失的数据包进行重传而导致的数据传输速度较低的问题。为了解决上述问题,根据本专利技术的一个方面,本专利技术公开了一种基于UDP的数据传输方法,包括:发送端采用柯西矩阵对待传输的一组UDP数据包的数据部分进行纠删编码,针对所述一组UDP数据包生成至少一个冗余包,其中,一组UDP数据包的UDP数据包数量为P个,P为正整数;所述发送端将一组UDP数据包和相应的至少一个冗余包作为一组待传输的原始数据包发送至接收端;所述接收端对所述原始数据包进行接收并检测是否丢失UDP数据包;如果发生丢包,则所述接收端判断所接收到的同组数据包的包数量是否大于或等于P,其中,所述发送端和所述接收端对所传输的一组UDP数据包所包含的UDP数据包数量P的具体数值作有预先约定;若所述接收端判断所接收到的同组数据包的包数量大于或等于P,则所述接收端采用柯西矩阵对所述接收到的同组数据包进行纠删解码,得到所述发送端发送的一组UDP数据包,其中,所述同组数据包包括来自一组原始数据包中的至少一个冗余包和至少一个UDP数据包;所述接收端从解码得到的一组UDP数据包中查找所丢失的UDP数据包进行恢复并写入磁盘。可选地,所述接收端对所述原始数据包进行接收并检测是否丢失UDP数据包的步骤之后,所述方法还包括:如果未发生丢包,则所述接收端将接收到的所述至少一个冗余包进行丢弃。可选地,所述原始数据包中的每个冗余包和每个UDP数据包均包括包头部分和数据部分,所述包头部分至少包含以下信息:包编号、编码分片编号、时间戳、编码序号、是否为冗余包。可选地,所述接收端检测是否丢失UDP数据包的步骤,包括:所述接收端根据所接收到的同组数据包的包头部分的是否为冗余包的信息,确定所接收到的同组数据包中属于UDP数据包的目标数据包;所述接收端根据所述目标数据包的包数量以及所述原始数据包中包含的UDP数据包的数量P判断是否丢失UDP数据包。可选地,所述接收端从解码得到的一组UDP数据包中查找所丢失的UDP数据包进行恢复并写入磁盘的步骤之前,所述方法还包括:所述接收端根据所接收到的同组数据包的包头部分的包编号确定所丢失的UDP数据包的包编号;并且,所述接收端从解码得到的一组UDP数据包中查找所丢失的UDP数据包进行恢复并写入磁盘的步骤,包括:所述接收端根据所丢失的UDP数据包的包编号从解码得到的一组UDP数据包中查找所丢失的UDP数据包进行恢复并写入磁盘。根据本专利技术的再一方面,本专利技术还公开了一种基于UDP的数据传输系统,包括:发送端和接收端;所述发送端包括:编码模块,用于采用柯西矩阵对待传输的一组UDP数据包的数据部分进行纠删编码,针对所述一组UDP数据包生成至少一个冗余包,其中,一组UDP数据包的UDP数据包数量为P个,P为正整数;发送模块,用于将一组UDP数据包和相应的至少一个冗余包作为一组待传输的原始数据包发送至接收端;其中,所述发送端和所述接收端对所传输的一组UDP数据包所包含的UDP数据包数量P的具体数值作有预先约定;所述接收端包括:接收检测模块,用于对来自发送端的一组原始数据包进行接收并检测是否丢失UDP数据包,其中,所述原始数据包包括一组UDP数据包和对应于所述UDP数据包的至少一个冗余包,一组UDP数据包的UDP数据包数量为P个,P为正整数;判断模块,用于如果发生丢包,则判断所接收到的同组数据包的包数量是否大于或等于P,其中,所述发送端和所述接收端对所传输的一组UDP数据包所包含的UDP数据包数量P的具体数值作有预先约定;解码模块,用于若所述接收端判断所接收到的同组数据包的包数量大于或等于P,则采用柯西矩阵对所述接收到的同组数据包进行纠删编码,得到所述原始数据包中的一组UDP数据包,其中,所述同组数据包包括来自一组原始数据包中的至少一个冗余包和至少一个UDP数据包;恢复模块,用于从解码得到的所述原始数据包中的一组UDP数据包中查找所丢失的UDP数据包进行恢复并写入磁盘。可选地,所述接收端还包括:丢弃模块,用于如果未发生丢包,则将接收到的所述至少一个冗余包进行丢弃。可选地,所述原始数据包中的每个冗余包和每个UDP数据包包括包头部分和数据部分,所述包头部分至少包含以下信息:包编号、编码分片编号、时间戳、编码序号、是否为冗余包。可选地,所述接收检测模块包括:第一确定子模块,用于根据所接收到的同组数据包的包头部分的是否为冗余包的信息,确定所接收到的同组数据包中属于UDP数据包的目标数据包;判断子模块,用于根据所述目标数据包的包数量以及所述原始数据包中包含的UDP数据包的数量P判断是否丢失UDP数据包。可选地,所述解码模块包括:第二确定子模块,用于根据所接收到的同组数据包的包头部分的包编号确定所丢失的UDP数据包的包编号;并且,所述恢复模块包括:恢复子模块,用于根据所丢失的UDP数据包的包编号从解码得到的所述原始数据包中查找所丢失的UDP数据包进行恢复并写入磁盘。与现有技术相比,本专利技术包括以下优点:本专利技术通过采用柯西矩阵对每组待发的UDP数据包进行纠删编码操作生成冗余包,并作为一组数据包进行发送,从而在发生丢包时,可以通过对所接收到的同组数据包进行解码操作,从而得到待发的UDP数据包,避免了对所丢失的数据包的重传,提升了数据包的传输速度和效率。附图说明图1A是本专利技术的一种基于UDP的数据传输方法实施例的步骤流程图;图1B是本专利技术的又一种基于UDP的数据传输方法实施例的步骤流程图;图2是本专利技术的另一种基于UDP的数据传输方法实施例的流程框图;图3是本发本文档来自技高网...
一种基于UDP的数据传输方法和系统

【技术保护点】
一种基于UDP的数据传输方法,其特征在于,包括:发送端采用柯西矩阵对待传输的一组UDP数据包的数据部分进行纠删编码,针对所述一组UDP数据包生成至少一个冗余包,其中,一组UDP数据包的UDP数据包数量为P个,P为正整数;所述发送端将一组UDP数据包和相应的至少一个冗余包作为一组待传输的原始数据包发送至接收端;所述接收端对所述原始数据包进行接收并检测是否丢失UDP数据包;如果发生丢包,则所述接收端判断所接收到的同组数据包的包数量是否大于或等于P,其中,所述发送端和所述接收端对所传输的一组UDP数据包所包含的UDP数据包数量P的具体数值作有预先约定;若所述接收端判断所接收到的同组数据包的包数量大于或等于P,则所述接收端采用柯西矩阵对所述接收到的同组数据包进行纠删解码,得到所述发送端发送的一组UDP数据包,其中,所述同组数据包包括来自一组原始数据包中的至少一个冗余包和至少一个UDP数据包;所述接收端从解码得到的一组UDP数据包中查找所丢失的UDP数据包进行恢复并写入磁盘。

【技术特征摘要】
1.一种基于UDP的数据传输方法,其特征在于,包括:发送端采用柯西矩阵对待传输的一组UDP数据包的数据部分进行纠删编码,针对所述一组UDP数据包生成至少一个冗余包,其中,一组UDP数据包的UDP数据包数量为P个,P为正整数;所述发送端将一组UDP数据包和相应的至少一个冗余包作为一组待传输的原始数据包发送至接收端;所述接收端对所述原始数据包进行接收并检测是否丢失UDP数据包;如果发生丢包,则所述接收端判断所接收到的同组数据包的包数量是否大于或等于P,其中,所述发送端和所述接收端对所传输的一组UDP数据包所包含的UDP数据包数量P的具体数值作有预先约定;若所述接收端判断所接收到的同组数据包的包数量大于或等于P,则所述接收端采用柯西矩阵对所述接收到的同组数据包进行纠删解码,得到所述发送端发送的一组UDP数据包,其中,所述同组数据包包括来自一组原始数据包中的至少一个冗余包和至少一个UDP数据包;所述接收端从解码得到的一组UDP数据包中查找所丢失的UDP数据包进行恢复并写入磁盘。2.根据权利要求1所述的方法,其特征在于,所述接收端对所述原始数据包进行接收并检测是否丢失UDP数据包的步骤之后,所述方法还包括:如果未发生丢包,则所述接收端将接收到的所述至少一个冗余包进行丢弃。3.根据权利要求1所述的方法,其特征在于,所述原始数据包中的每个冗余包和每个UDP数据包均包括包头部分和数据部分,所述包头部分至少包含以下信息:包编号、编码分片编号、时间戳、编码序号、是否为冗余包。4.根据权利要求3所述的方法,其特征在于,所述接收端检测是否丢失UDP数据包的步骤,包括:所述接收端根据所接收到的同组数据包的包头部分的是否为冗余包的信息,确定所接收到的同组数据包中属于UDP数据包的目标数据包;所述接收端根据所述目标数据包的包数量以及所述原始数据包中包含的UDP数据包的数量P判断是否丢失UDP数据包。5.根据权利要求4所述的方法,其特征在于,所述接收端从解码得到的一组UDP数据包中查找所丢失的UDP数据包进行恢复并写入磁盘的步骤之前,所述方法还包括:所述接收端根据所接收到的同组数据包的包头部分的包编号确定所丢失的UDP数据包的包编号;并且,所述接收端从解码得到的一组UDP数据包中查找所丢失的UDP数据包进行恢复并写入磁盘的步骤,包括:所述接收端根据所丢失的UDP数据包的包编号从解码得到的一组UDP数据包中查找所丢失的UDP数据包进行恢复并写入磁盘。6.一种基于UDP的数据传输系统,其特征在于,包括:发送端...

【专利技术属性】
技术研发人员:徐俊俊姚士佳刘弢
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京,11

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

1