一种数据包重传的方法和装置制造方法及图纸

技术编号:18950571 阅读:45 留言:0更新日期:2018-09-15 13:17
本发明专利技术提供了一种数据包重传的方法和装置,属于计算机技术领域。所述方法包括:第一设备确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长;所述第一设备根据所述第一时长、所述第二时长和预先存储的所述第二设备的重传请求处理时长,确定重传等待时长;所述第一设备在确定所述第二设备向所述第一设备发送的目标数据包传输失败时,向所述第二设备发送所述目标数据包的重传请求,如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,则再次向所述第二设备发送所述目标数据包的重传请求。采用本发明专利技术,可以减少传输资源的占用。

A method and device for data packet retransmission

The invention provides a method and device for data packet retransmission, belonging to the field of computer technology. The method includes: the first device determines the first time length used to transmit data to the second device, and the second time length used by the second device to transmit data to the first device; the first device processes the retransmission request processing time of the second device according to the first time length, the second time length and the pre-stored retransmission request processing time of the second device. The first device transmits a retransmission request for the target packet to the second device when determining that the transmission of the target packet transmitted by the second device to the first device fails, if the destination packet is not received within the retransmission waiting time after the retransmission request is sent The target packet sends the retransmission request to the second device again. By adopting the invention, the occupation of transmission resources can be reduced.

【技术实现步骤摘要】
一种数据包重传的方法和装置
本专利技术涉及计算机
,特别涉及一种数据包重传的方法和装置。
技术介绍
UDP(UserDatagramProtocol,用户数据包协议)是OSI(OpenSystemInterconnect,开放式系统互联)参考模型中一种无连接的传输层协议。由于使用UDP传输数据之前发送端和接收端不需要建立连接,而且使用UDP传输数据时也不需要接收端反馈是否正确接收数据,这样,既可以实时进行数据传输,也可以节省大量的传输资源,因此,使用UDP进行视频数据传输是目前大多数视频应用程序选择的方式。相关技术中,用户使用终端中安装的视频应用程序观看网络视频时,视频应用程序的后台服务器向终端发送该网络视频的数据包,终端接收到数据包后,按照数据包的编号依次进行解码,然后进行播放。如果终端未成功接收某个编号的数据包,终端可以向后台服务器发送该数据包的重传请求,该数据包的重传请求中携带有该数据包的编号,后台服务器向终端重新发送该数据包,如果终端在发送该数据包的重传请求之后的预设的重传等待时长之内未接收到该数据包,则再次向后台服务器发送该数据包的重传请求,后台服务器重新向终端发送该数据包。在实现本专利技术的过程中,专利技术人发现相关技术至少存在以下问题:在上述技术中,重传等待时长是预设的固定时长,如果在一段时间内网络延迟略高,那么,在终端发送某个数据包的重传请求之后的固定时长之内,有可能未接收到后台服务器重新发送的该数据包,此时终端会再次向后台服务器发送该数据包的重传请求,而终端在向后台服务器再次发送该数据包的重传请求之后,很快就接收到了服务器针对前一个重传请求发送的数据包。由于终端已经再次向后台服务器发送了该数据包的重传请求,后台服务器依然会再次向终端发送该数据包,从而导致额外数据包的无用重复发送,占用了较多的传输资源。
技术实现思路
为了解决额外数据包的无用重复发送,占用较多传输带宽的问题,本专利技术实施例提供了一种数据包重传的方法和装置。所述技术方案如下:第一方面,提供了一种数据包重传的方法,所述方法包括:第一设备确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长;所述第一设备根据所述第一时长、所述第二时长和预先存储的所述第二设备的重传请求处理时长,确定重传等待时长;所述第一设备在确定所述第二设备向所述第一设备发送的目标数据包传输失败时,向所述第二设备发送所述目标数据包的重传请求,如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,则再次向所述第二设备发送所述目标数据包的重传请求。可选的,所述第一设备确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长,包括:所述第一设备向所述第二设备发送所述第一报文,其中,所述第一报文中携带有向所述第二设备发送所述第一报文时的第一时间点;所述第一设备接收所述第二设备发送的第二报文,其中,所述第二报文中携带有第一时长和所述第二设备向所述第一设备发送所述第二报文时的第二时间点,所述第一时长为所述第二设备接收所述第一报文时的第三时间点与所述第一时间点之间的时长;所述第一设备确定接收所述第二报文时的第四时间点与所述第二时间点之间的第二时长。这样,可以准确的确定第一设备与第二设备之间传输数据所用的时长。可选的,所述第一设备确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长,所述第一设备根据所述第一时长、所述第二时长和预先存储的所述第二设备的重传请求处理时长,确定重传等待时长,包括:第一设备周期性确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长,所述第一设备根据当前周期确定的所述第一时长、当前周期确定的所述第二时长、上一周期的重传等待时长和预先存储的所述第二设备的重传请求处理时长,确定当前周期的重传等待时长。可选的,所述第一设备根据当前周期确定的所述第一时长、当前周期确定的所述第二时长、上一周期的重传等待时长和预先存储的所述第二设备的重传请求处理时长,确定当前周期的重传等待时长,包括:所述第一设备确定当前周期的重传等待时长为其中,Ti-1为上一周期的重传等待时长,t1为当前周期确定的所述第一时长,t2为当前周期确定的所述第二时长,t3为预先存储的所述第二设备的重传请求处理时长,X为第一预设权值,Y为第二预设权值。这样,可以使当前周期确定的重传等待时长更准确。可选的,所述如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,则再次向所述第二设备发送所述目标数据包的重传请求,包括:如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,且当前重传次数未达到最大重传次数,则再次向所述第二设备发送所述目标数据包的重传请求。可选的,所述目标数据包为第一音视频帧中除最后一个数据包之外的数据包;所述方法还包括:所述第一设备确定所述第一音视频帧与第二音视频帧的传输抖动时间,其中,所述第二音视频帧为所述第一音视频帧的前一音视频帧;所述第一设备根据所述传输抖动时间、预设的音视频帧解码时间间隔和重传等待时长,确定所述第一音视频帧中各数据包的最大重传次数。可选的,所述第一设备根据所述传输抖动时间,确定所述第一音视频帧中各数据包的最大重传次数,包括:所述第一设备确定所述第一音视频帧中各数据包的最大重传次数其中,C为所述预设的音视频帧解码时间间隔,t为所述重传等待时长,J为所述传输抖动时间。这样,可以减少音视频播放的卡顿。可选的,所述第一设备确定所述第一音视频帧与第二音视频帧的传输抖动时间,包括:所述第一设备确定所述第一音视频帧与第二音视频帧的传输抖动时间J=(t7-t6)-(t5-t4);其中,t7为所述第一设备接收到所述第二设备发送的所述第一音视频帧中最后一个数据包时的第五时间点,t6为所述第二设备向所述第一设备发送的所述第一音视频帧中最后一个数据包时的第六时间点,t5为所述第一设备接收到所述第二设备发送的所述第二音视频帧中最后一个数据包时的第七时间点,t4为所述第二设备向所述第一设备发送的所述第二音视频帧中最后一个数据包时的第八时间点。可选的,当所述目标数据包为第一音视频帧中最后一个数据包时,所述目标数据包的最大重传次数为预设默认值或所述第一音视频帧的前一个音视频帧中数据包的最大重传次数。第二方面,提供了一种数据包重传的装置,所述装置包括:第一确定模块,用于确定向第二设备传输数据所用的第一时长、以及所述第二设备向第一设备传输数据所用的第二时长;第二确定模块,用于根据所述第一时长、所述第二时长和预先存储的所述第二设备的重传请求处理时长,确定重传等待时长;重传模块,用于在确定所述第二设备向所述第一设备发送的目标数据包传输失败时,向所述第二设备发送所述目标数据包的重传请求,如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,则再次向所述第二设备发送所述目标数据包的重传请求。可选的,所述第一确定模块包括发送子模块、接收子模块和确定子模块,其中:所述发送子模块,用于向所述第二设备发送所述第一报文,其中,所述第一报文中携带有向所述第二设备发送所述第一报文时的第一时间点;所述接收子本文档来自技高网
...

【技术保护点】
1.一种数据包重传的方法,其特征在于,所述方法包括:第一设备确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长;所述第一设备根据所述第一时长、所述第二时长和预先存储的所述第二设备的重传请求处理时长,确定重传等待时长;所述第一设备在确定所述第二设备向所述第一设备发送的目标数据包传输失败时,向所述第二设备发送所述目标数据包的重传请求,如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,则再次向所述第二设备发送所述目标数据包的重传请求。

【技术特征摘要】
1.一种数据包重传的方法,其特征在于,所述方法包括:第一设备确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长;所述第一设备根据所述第一时长、所述第二时长和预先存储的所述第二设备的重传请求处理时长,确定重传等待时长;所述第一设备在确定所述第二设备向所述第一设备发送的目标数据包传输失败时,向所述第二设备发送所述目标数据包的重传请求,如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,则再次向所述第二设备发送所述目标数据包的重传请求。2.根据权利要求1所述的方法,其特征在于,所述第一设备确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长,包括:所述第一设备向所述第二设备发送所述第一报文,其中,所述第一报文中携带有向所述第二设备发送所述第一报文时的第一时间点;所述第一设备接收所述第二设备发送的第二报文,其中,所述第二报文中携带有第一时长和所述第二设备向所述第一设备发送所述第二报文时的第二时间点,所述第一时长为所述第二设备接收所述第一报文时的第三时间点与所述第一时间点之间的时长;所述第一设备确定接收所述第二报文时的第四时间点与所述第二时间点之间的第二时长。3.根据权利要求1所述的方法,其特征在于,所述第一设备确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长,所述第一设备根据所述第一时长、所述第二时长和预先存储的所述第二设备的重传请求处理时长,确定重传等待时长,包括:第一设备周期性确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长,所述第一设备根据当前周期确定的所述第一时长、当前周期确定的所述第二时长、上一周期的重传等待时长和预先存储的所述第二设备的重传请求处理时长,确定当前周期的重传等待时长。4.根据权利要求3所述的方法,其特征在于,所述第一设备根据当前周期确定的所述第一时长、当前周期确定的所述第二时长、上一周期的重传等待时长和预先存储的所述第二设备的重传请求处理时长,确定当前周期的重传等待时长,包括:所述第一设备确定当前周期的重传等待时长为其中,Ti-1为上一周期的重传等待时长,t1为当前周期确定的所述第一时长,t2为当前周期确定的所述第二时长,t3为预先存储的所述第二设备的重传请求处理时长,X为第一预设权值,Y为第二预设权值。5.根据权利要求1所述的方法,其特征在于,所述如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,则再次向所述第二设备发送所述目标数据包的重传请求,包括:如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,且当前重传次数未达到最大重传次数,则再次向所述第二设备发送所述目标数据包的重传请求。6.根据权利要求5所述的方法,其特征在于,所述目标数据包为第一音视频帧中除最后一个数据包之外的数据包;所述方法还包括:所述第一设备确定所述第一音视频帧与第二音视频帧的传输抖动时间,其中,所述第二音视频帧为所述第一音视频帧的前一音视频帧;所述第一设备根据所述传输抖动时间、预设的音视频帧解码时间间隔和重传等待时长,确定所述第一音视频帧中各数据包的最大重传次数。7.根据权利要求6所述的方法,其特征在于,所述第一设备根据所述传输抖动时间,确定所述第一音视频帧中各数据包的最大重传次数,包括:所述第一设备确定所述第一音视频帧中各数据包的最大重传次数其中,C为所述预设的音视频帧解码时间间隔,t为所述重传等待时长,J为所述传输抖动时间。8.根据权利要求6所述的方法,其特征在于,所述第一设备确定所述第一音视频帧与第二音视频帧的传输抖动时间,包括:所述第一设备确定所述第一音视频帧与第二音视频帧的传输抖动时间J=(t7-t6)-(t5-t4);其中,t7为所述第一设备接收到所述第二设备发送的所述第一音视频帧中最后一个数据包时的第五时间点,t6为所述第二设备向所述第一设备发送的所述第一音视频帧中最后一个数据包时的第六时间点,t5为所述第一设备接收到所述第二设备发送的所述第二音视频帧中最后一个数据包时的第七时...

【专利技术属性】
技术研发人员:王兴鹤
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:浙江,33

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

1