[发明专利]丢包重传方法、装置及电子设备在审
申请号: | 201710593797.4 | 申请日: | 2017-07-19 |
公开(公告)号: | CN107147481A | 公开(公告)日: | 2017-09-08 |
发明(设计)人: | 董家炜;张迪;赵晓星 | 申请(专利权)人: | 北京数码视讯科技股份有限公司 |
主分类号: | H04L1/18 | 分类号: | H04L1/18;H04L1/16 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙)11371 | 代理人: | 王宁宁 |
地址: | 100000 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 丢包重传 方法 装置 电子设备 | ||
技术领域
本发明涉及数据传输技术领域,尤其是涉及一种丢包重传方法、装置及电子设备。
背景技术
视频通讯,就是把本地摄像头或者其它视频采集设备采集的视频信息,编码压缩之后,通过多种网络系统传输到远端,再解压缩显示的过程。但是,由于网络条件的千差万别,网络系统中不可避免的会出现数据包丢失,即产生丢失数据包,从而影响视频通讯的质量。因此,如何在“有限带宽”的“不稳定”的网络环境中,“快速可靠的”传输数据成为了一个重要的研究方向。
通过丢包重传的方法来解决在“有限”的“不稳定”的网络环境中“稳定”的传输数据的问题在业内已经有了不少的研究。比如最基础的方法,直接使用TCP(Transmission Control Protocol,传输控制协议)协议来重传数据,但是由于TCP协议本身的原因,这种方法往往存在拥塞、延时大和恢复慢的问题。因此,在工程实践中,人们大多采用UDP(User Datagram Protocol,用户数据报协议)协议来实现丢包重传方法。
现有技术中,在采用UDP协议来实现丢包重传方法时,发送重传请求的触发条件固定不变,均以网络回路时间为基准设定触发条件,即各个重传请求的重传等待时间均是按照网络回路时间进行预估,这就相当于延长了重传的等待时间,从而导致视频传输质量差。
发明内容
有鉴于此,本发明的目的在于提供一种丢包重传方法、装置及电子设备,以缩短重传等待时间,进而提高视频传输质量。
第一方面,本发明实施例提供一种丢包重传方法,应用于接收端,包括:接收发送端发送的数据包,并记录所述数据包的接收时间,其中所述数据包分为重传数据包和正常数据包,且所述数据包携带有信息头,所述信息头包括所述数据包的序号;添加所述数据包至缓存链表并根据所述序号进行排序;遍历所述缓存链表中的数据包是否连续;若是,则将当前连续的数据包添加至输出缓存;若否,则当缓存链表中的数据包的个数达到预设值时,确定丢失数据包的序号,并判断所述丢失数据包对应的重传请求次数是否为零;若是,则发送重传请求至发送端,并更新所述重传请求对应的请求时间、所述重传请求次数;若否,则判断当前时刻与当前相应的请求时间的差值是否大于单次重传等待阈值;若是,则发送重传请求至发送端,并更新所述重传请求对应的请求时间、所述重传请求次数;其中,所述重传请求携带有所述丢失数据包的序号的相关信息。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述信息头还包括发送时间、重传标识;所述方法还包括:根据所述信息头中的发送时间和重传标识,计算所述单次重传等待阈值。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,具体按照以下方式计算:在预设时间段内,根据所述重传标识,从所述输出缓存中获取重传次数为1的多个重传数据包的信息头;根据所述信息头中的发送时间,分别计算各个所述重传次数为1的多个重传数据包的单次重传耗时;根据各个所述单次重传耗时,计算单次重传等待阈值。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述根据所述信息头中的发送时间,分别计算各个所述重传次数为1的多个重传数据包的单次重传耗时包括:将所述输出缓存中的各个所述数据包按照序号从小到大进行排序;计算所述重传次数为1的多个所述重传数据包的发送时间与所述重传数据包的后一个数据包的发送时间的时间差;将所述时间差作为相应的重传次数为1的重传数据包的单次重传耗时。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,判断当前时刻与当前相应的请求时间的差值是否大于单次重传等待阈值之前,还包括:判断所述丢失数据包的接收时长是否超过预设延时阈值;若是,则将所述丢失数据包的后一个的数据包添加至输出缓存;其中,接收时长为当前时刻与所述丢失数据包的后一个数据包的接收时刻的时间差值。
第二方面,本发明实施例还提供一种丢包重传方法,应用于发送端,包括:监听是否接收到重传请求,所述重传请求携带有丢失数据包的序号的相关信息;若否,获取待传送的正常数据包;添加信息头至所述正常数据包,然后发送所述正常数据包至接收端,同时,将所述正常数据包存储至数据缓存区;若是,则读取并解析所述重传请求,并根据所述重传请求从数据缓存区提取所述丢失数据包,将所述丢失数据包标记为重传数据包;更新所述重传数据包的信息头,然后发送所述重传数据包至接收端;其中所述信息头包括序号、发送时间、重传标识;所述重传标识用于区分重传数据包和正常数据包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京数码视讯科技股份有限公司,未经北京数码视讯科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710593797.4/2.html,转载请声明来源钻瓜专利网。