[发明专利]一种基于UDP的数据传输方法和系统有效
申请号: | 201710476722.8 | 申请日: | 2017-06-21 |
公开(公告)号: | CN107276722B | 公开(公告)日: | 2020-01-03 |
发明(设计)人: | 徐俊俊;姚士佳;刘弢 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | H04L1/00 | 分类号: | H04L1/00;H04L29/06 |
代理公司: | 11319 北京润泽恒知识产权代理有限公司 | 代理人: | 莎日娜 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 udp 数据传输 方法 系统 | ||
1.一种基于UDP的数据传输方法,其特征在于,包括:
发送端采用柯西矩阵对待传输的一组UDP数据包的数据部分进行纠删编码,针对所述一组UDP数据包,生成至少一个冗余包,其中,一组UDP数据包的UDP数据包数量为P个,P为正整数;
所述发送端将一组UDP数据包和相应的至少一个冗余包作为一组待传输的原始数据包发送至接收端;
所述接收端对所述原始数据包进行接收并检测是否丢失UDP数据包;
如果发生丢包,则所述接收端判断所接收到的同组数据包的包数量是否大于或等于P,其中,所述发送端和所述接收端对所传输的一组UDP数据包所包含的UDP数据包数量P的具体数值作有预先约定;
若所述接收端判断所接收到的同组数据包的包数量大于或等于P,则所述接收端采用柯西矩阵对所述接收到的同组数据包进行纠删解码,得到所述发送端发送的一组UDP数据包,其中,所述同组数据包包括来自一组原始数据包中的至少一个冗余包和至少一个UDP数据包;
所述接收端从解码得到的一组UDP数据包中查找所丢失的UDP数据包进行恢复并写入磁盘;
若所述接收端判断所接收到的同组数据包的包数量小于P,则所述接收端向所述发送端发送控制包;其中,所述控制包包含表示通知所述发送端一组原始数据包发生丢包,需要对所述一组原始数据包进行重发的信息;
所述发送端在接收到来自所述发送端的所述控制包时,对所述控制包对应的一组原始数据包进行重发。
2.根据权利要求1所述的方法,其特征在于,所述接收端对所述原始数据包进行接收并检测是否丢失UDP数据包的步骤之后,所述方法还包括:
如果未发生丢包,则所述接收端将接收到的所述至少一个冗余包进行丢弃。
3.根据权利要求1所述的方法,其特征在于,所述原始数据包中的每个冗余包和每个UDP数据包均包括包头部分和数据部分,所述包头部分至少包含以下信息:
包编号、编码分片编号、时间戳、编码序号、是否为冗余包。
4.根据权利要求3所述的方法,其特征在于,所述接收端检测是否丢失UDP数据包的步骤,包括:
所述接收端根据所接收到的同组数据包的包头部分的是否为冗余包的信息,确定所接收到的同组数据包中属于UDP数据包的目标数据包;
所述接收端根据所述目标数据包的包数量以及所述原始数据包中包含的UDP数据包的数量P判断是否丢失UDP数据包。
5.根据权利要求4所述的方法,其特征在于,所述接收端从解码得到的一组UDP数据包中查找所丢失的UDP数据包进行恢复并写入磁盘的步骤之前,所述方法还包括:
所述接收端根据所接收到的同组数据包的包头部分的包编号确定所丢失的UDP数据包的包编号;
并且,所述接收端从解码得到的一组UDP数据包中查找所丢失的UDP数据包进行恢复并写入磁盘的步骤,包括:
所述接收端根据所丢失的UDP数据包的包编号从解码得到的一组UDP数据包中查找所丢失的UDP数据包进行恢复并写入磁盘。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710476722.8/1.html,转载请声明来源钻瓜专利网。