CN108540273A - 一种数据包重传的方法和装置 - Google Patents
一种数据包重传的方法和装置 Download PDFInfo
- Publication number
- CN108540273A CN108540273A CN201710117915.4A CN201710117915A CN108540273A CN 108540273 A CN108540273 A CN 108540273A CN 201710117915 A CN201710117915 A CN 201710117915A CN 108540273 A CN108540273 A CN 108540273A
- Authority
- CN
- China
- Prior art keywords
- equipment
- data packet
- duration
- transmission
- audio
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1848—Time-out mechanisms
- H04L1/1851—Time-out mechanisms using multiple timers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明提供了一种数据包重传的方法和装置,属于计算机技术领域。所述方法包括:第一设备确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长;所述第一设备根据所述第一时长、所述第二时长和预先存储的所述第二设备的重传请求处理时长,确定重传等待时长;所述第一设备在确定所述第二设备向所述第一设备发送的目标数据包传输失败时,向所述第二设备发送所述目标数据包的重传请求,如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,则再次向所述第二设备发送所述目标数据包的重传请求。采用本发明,可以减少传输资源的占用。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种数据包重传的方法和装置。
背景技术
UDP(User Datagram Protocol,用户数据包协议)是OSI(Open SystemInterconnect,开放式系统互联)参考模型中一种无连接的传输层协议。由于使用UDP传输数据之前发送端和接收端不需要建立连接,而且使用UDP传输数据时也不需要接收端反馈是否正确接收数据,这样,既可以实时进行数据传输,也可以节省大量的传输资源,因此,使用UDP进行视频数据传输是目前大多数视频应用程序选择的方式。
相关技术中,用户使用终端中安装的视频应用程序观看网络视频时,视频应用程序的后台服务器向终端发送该网络视频的数据包,终端接收到数据包后,按照数据包的编号依次进行解码,然后进行播放。如果终端未成功接收某个编号的数据包,终端可以向后台服务器发送该数据包的重传请求,该数据包的重传请求中携带有该数据包的编号,后台服务器向终端重新发送该数据包,如果终端在发送该数据包的重传请求之后的预设的重传等待时长之内未接收到该数据包,则再次向后台服务器发送该数据包的重传请求,后台服务器重新向终端发送该数据包。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
在上述技术中,重传等待时长是预设的固定时长,如果在一段时间内网络延迟略高,那么,在终端发送某个数据包的重传请求之后的固定时长之内,有可能未接收到后台服务器重新发送的该数据包,此时终端会再次向后台服务器发送该数据包的重传请求,而终端在向后台服务器再次发送该数据包的重传请求之后,很快就接收到了服务器针对前一个重传请求发送的数据包。由于终端已经再次向后台服务器发送了该数据包的重传请求,后台服务器依然会再次向终端发送该数据包,从而导致额外数据包的无用重复发送,占用了较多的传输资源。
发明内容
为了解决额外数据包的无用重复发送,占用较多传输带宽的问题,本发明实施例提供了一种数据包重传的方法和装置。所述技术方案如下:
第一方面,提供了一种数据包重传的方法,所述方法包括:
第一设备确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长;
所述第一设备根据所述第一时长、所述第二时长和预先存储的所述第二设备的重传请求处理时长,确定重传等待时长;
所述第一设备在确定所述第二设备向所述第一设备发送的目标数据包传输失败时,向所述第二设备发送所述目标数据包的重传请求,如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,则再次向所述第二设备发送所述目标数据包的重传请求。
可选的,所述第一设备确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长,包括:
所述第一设备向所述第二设备发送所述第一报文,其中,所述第一报文中携带有向所述第二设备发送所述第一报文时的第一时间点;
所述第一设备接收所述第二设备发送的第二报文,其中,所述第二报文中携带有第一时长和所述第二设备向所述第一设备发送所述第二报文时的第二时间点,所述第一时长为所述第二设备接收所述第一报文时的第三时间点与所述第一时间点之间的时长;
所述第一设备确定接收所述第二报文时的第四时间点与所述第二时间点之间的第二时长。
这样,可以准确的确定第一设备与第二设备之间传输数据所用的时长。
可选的,所述第一设备确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长,所述第一设备根据所述第一时长、所述第二时长和预先存储的所述第二设备的重传请求处理时长,确定重传等待时长,包括:
第一设备周期性确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长,所述第一设备根据当前周期确定的所述第一时长、当前周期确定的所述第二时长、上一周期的重传等待时长和预先存储的所述第二设备的重传请求处理时长,确定当前周期的重传等待时长。
可选的,所述第一设备根据当前周期确定的所述第一时长、当前周期确定的所述第二时长、上一周期的重传等待时长和预先存储的所述第二设备的重传请求处理时长,确定当前周期的重传等待时长,包括:
所述第一设备确定当前周期的重传等待时长为其中,Ti-1为上一周期的重传等待时长,t1为当前周期确定的所述第一时长,t2为当前周期确定的所述第二时长,t3为预先存储的所述第二设备的重传请求处理时长,X为第一预设权值,Y为第二预设权值。
这样,可以使当前周期确定的重传等待时长更准确。
可选的,所述如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,则再次向所述第二设备发送所述目标数据包的重传请求,包括:
如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,且当前重传次数未达到最大重传次数,则再次向所述第二设备发送所述目标数据包的重传请求。
可选的,所述目标数据包为第一音视频帧中除最后一个数据包之外的数据包;
所述方法还包括:
所述第一设备确定所述第一音视频帧与第二音视频帧的传输抖动时间,其中,所述第二音视频帧为所述第一音视频帧的前一音视频帧;
所述第一设备根据所述传输抖动时间、预设的音视频帧解码时间间隔和重传等待时长,确定所述第一音视频帧中各数据包的最大重传次数。
可选的,所述第一设备根据所述传输抖动时间,确定所述第一音视频帧中各数据包的最大重传次数,包括:
所述第一设备确定所述第一音视频帧中各数据包的最大重传次数其中,C为所述预设的音视频帧解码时间间隔,t为所述重传等待时长,J为所述传输抖动时间。
这样,可以减少音视频播放的卡顿。
可选的,所述第一设备确定所述第一音视频帧与第二音视频帧的传输抖动时间,包括:
所述第一设备确定所述第一音视频帧与第二音视频帧的传输抖动时间J=(t7-t6)-(t5-t4);
其中,t7为所述第一设备接收到所述第二设备发送的所述第一音视频帧中最后一个数据包时的第五时间点,t6为所述第二设备向所述第一设备发送的所述第一音视频帧中最后一个数据包时的第六时间点,t5为所述第一设备接收到所述第二设备发送的所述第二音视频帧中最后一个数据包时的第七时间点,t4为所述第二设备向所述第一设备发送的所述第二音视频帧中最后一个数据包时的第八时间点。
可选的,当所述目标数据包为第一音视频帧中最后一个数据包时,所述目标数据包的最大重传次数为预设默认值或所述第一音视频帧的前一个音视频帧中数据包的最大重传次数。
第二方面,提供了一种数据包重传的装置,所述装置包括:
第一确定模块,用于确定向第二设备传输数据所用的第一时长、以及所述第二设备向第一设备传输数据所用的第二时长;
第二确定模块,用于根据所述第一时长、所述第二时长和预先存储的所述第二设备的重传请求处理时长,确定重传等待时长;
重传模块,用于在确定所述第二设备向所述第一设备发送的目标数据包传输失败时,向所述第二设备发送所述目标数据包的重传请求,如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,则再次向所述第二设备发送所述目标数据包的重传请求。
可选的,所述第一确定模块包括发送子模块、接收子模块和确定子模块,其中:
所述发送子模块,用于向所述第二设备发送所述第一报文,其中,所述第一报文中携带有向所述第二设备发送所述第一报文时的第一时间点;
所述接收子模块,用于接收所述第二设备发送的第二报文,其中,所述第二报文中携带有第一时长和所述第二设备向所述第一设备发送所述第二报文时的第二时间点,所述第一时长为所述第二设备接收所述第一报文时的第三时间点与所述第一时间点之间的时长;
所述确定子模块,用于确定接收所述第二报文时的第四时间点与所述第二时间点之间的第二时长。
可选的,所述第一确定模块,用于:
周期性确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长;
所述第二确定模块,用于根据当前周期确定的所述第一时长、当前周期确定的所述第二时长、上一周期的重传等待时长和预先存储的所述第二设备的重传请求处理时长,确定当前周期的重传等待时长。
可选的,所述第二确定模块,用于确定当前周期的重传等待时长为其中,Ti-1为上一周期的重传等待时长,t1为当前周期确定的所述第一时长,t2为当前周期确定的所述第二时长,t3为预先存储的所述第二设备的重传请求处理时长,X为第一预设权值,Y为第二预设权值。
可选的,所述重传模块,用于:
如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,且当前重传次数未达到最大重传次数,则再次向所述第二设备发送所述目标数据包的重传请求。
可选的,所述目标数据包为第一音视频帧中除最后一个数据包之外的数据包;
所述第二确定模块,还用于:
确定所述第一音视频帧与第二音视频帧的传输抖动时间,其中,所述第二音视频帧为所述第一音视频帧的前一音视频帧;
根据所述传输抖动时间、预设的音视频帧解码时间间隔和所述重传等待时长,确定所述第一音视频帧中各数据包的最大重传次数。
可选的,所述第二确定模块,还用于:
确定所述第一音视频帧中各数据包的最大重传次数其中,C为所述预设的音视频帧解码时间间隔,t为所述重传等待时长,J为所述传输抖动时间。
可选的,所述第二确定模块,还用于:
所述第一设备确定所述第一音视频帧与第二音视频帧的传输抖动时间J=(t7-t6)-(t5-t4);
其中,t7为所述第一设备接收到所述第二设备发送的所述第一音视频帧中最后一个数据包时的第五时间点,t6为所述第二设备向所述第一设备发送的所述第一音视频帧中最后一个数据包时的第六时间点,t5为所述第一设备接收到所述第二设备发送的所述第二音视频帧中最后一个数据包时的第七时间点,t4为所述第二设备向所述第一设备发送的所述第二音视频帧中最后一个数据包时的第八时间点。
可选的,当所述目标数据包为第一音视频帧中最后一个数据包时,所述目标数据包的最大重传次数为预设默认值或所述第一音视频帧的前一个音视频帧中数据包的最大重传次数。
本发明实施例提供的技术方案带来的有益效果是:
基于上述处理,重传等待时长是根据第一设备向第二传输数据所用的第一时长、第二设备向第一设备传输数据所用的第二时长、以及第二设备的重传请求处理时长确定的,因此,第一时长和第二时长都是实际检测得到的数据传输时长,能够反映当前实际的网络延迟情况,所以,与相关技术中重传等待时长为固定时长的方案相比,本方案中的重传等待时长与当前实际的网络延迟情况更加匹配,从而可以减少对数据包的多余的发送,减少传输资源的占用。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据包重传的方法流程图;
图2是本发明实施例提供的数据包传输的系统示意图;
图3是本发明实施例提供的确定第一时长与第二时长的示意图;
图4是本发明实施例提供的确定传输抖动时间的示意图;
图5是本发明实施例提供的一种数据包重传的结构示意图;
图6是本发明实施例提供的一种数据包重传的结构示意图;
图7是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种数据包重传的方法,该方法的执行主体为第一设备,第一设备可以是终端或服务器。其中,服务器可以是音频应用程序或视频应用程序的后台服务器,服务器可以设置有处理器、存储器和收发器等,处理器可以用于数据包的重传处理,存储器可以用于存储数据包的重传过程中需要存储的数据,收发器可以用于接收以及发送消息等,终端可以是手机、电脑等,用于播放音频或视频,终端可以设置有处理器、存储器和收发器等,处理器可以用于数据包的重传处理,存储器可以用于存储数据包的重传过程中需要存储的数据,收发器可以用于接收以及发送消息等。本实施例中以第一设备为视频应用程序的后台服务器为例,进行方案的详细描述,其它情况与之类似,本实施例不再累述。
如图1所示,该方法的处理流程可以包括如下的步骤:
步骤101,第一设备确定向第二设备传输数据所用的第一时长、以及第二设备向第一设备传输数据所用的第二时长。
在本发明申请的一个实施例中,用户想要在线观看某视频时,可以在所使用的第二设备中安装视频应用程序,然后打开视频应用程序,找到所要观看的视频的标识,或者在网页中找到所要观看的视频的标识,然后点击该视频的标识对应的播放按键。第二设备则会检测到播放按键的点击指令,如图2所示,向第一设备发送携带有该视频的标识的播放请求。第一设备接收到该播放请求后,查找该视频的标识对应的视频数据,对视频数据按照播放时间顺序进行编码,每编码一个数据包,向第一设备发送一个数据包,编码的数据包都有对应的编号,且按照播放时间顺序编码的数据包的编号是连续的。
第一设备接收到第二设备发送的播放请求后,第一设备可以通过向第二设备发送预设的报文,确定向第二设备传输数据所用的第一时长,并且确定第二设备向自身传输数据所用的第二时长,处理过程可以如下:
第一设备向第二设备发送第一报文,其中,第一报文中携带有向第二设备发送第一报文时的第一时间点;第一设备接收第二设备发送的第二报文,其中,第二报文中携带有第一时长和第二设备向第一设备发送第二报文时的第二时间点,第一时长为第二设备接收第一报文时的第三时间点与第一时间点之间的时长;第一设备确定接收第二报文时的第四时间点与第二时间点之间的第二时长。
在本发明申请的一个实施例中,如图3所示,第一设备可以在接收到第二设备发送的播放请求后,可以向第二设备发送第一报文,第一报文是用于表示计算传输时长的报文。在第一报文中可以添加向第二设备发送第一报文的第一时间点。第二设备接收到第一报文后,可以确定该报文为计算传输时长的报文,然后确定接收到第一报文的第三时间点,计算第三时间点与第一时间点之间的第一时长,可见第一时长为第一设备向第二设备传输数据所用的时长,向第一设备发送第二报文,在第二报文中添加向第一设备发送第二报文的第二时间点和第一时长。第一设备接收到第二报文后,可以确定接收第二报文的第四时间点,计算第四时间点与第二时间点之间的第二时长,可见第二时长为第二设备向第一设备传输数据所用的时长,例如,第一时间点为10:20:35,第三时间点为10:20:37,第一时长为2秒,第二时间点为10:20:40,第四时间点为10:20:43,第二时长为3秒。上述计算得到的第一时长与第二时长为当前第一设备向第二设备传输数据所用的时长与第二设备向第一设备传输数据所用的时长,第一设备可以每接收第二设备发送的一个数据包,向第二设备发送第一报文,确定当前的第一时长和第二时长,这样计算得到的第一时长和第二时长和当前的网络相匹配。另外,第一设备也可以周期性向第二设备发送第一报文,确定当前的第一时长与第二时长,具体处理过程在后面详细描述。
可选的,第一设备可以周期性确定向第二设备传输数据所用的第一时长、以及第二设备向第一设备传输数据所用的第二时长。或者,第一设备也可以定时多次确定第一时长和第二时长。例如,第一设备在预设的若干个时间点,分别确定向第二设备传输数据所用的第一时长、以及第二设备向第一设备传输数据所用的第二时长。
在本发明申请的一个实施例中,第一设备在接收到第二设备发送的播放请求后,可以每隔预设周期确定向第二设备传输数据所用的第一时长、以及第二设备向第一设备传输数据所用的第二时长。例如,周期为5秒,第一设备在接收到第二设备发送的播放请求后开始计时,每隔5秒,确定向第二设备传输数据所用的第一时长,以及第二设备向第一设备传输数据所用的第二时长,直到视频播放结束。
步骤102,第一设备根据第一时长、第二时长和预先存储的第二设备的重传请求处理时长,确定重传等待时长。
在本发明申请的一个实施例中,第一设备确定向第二设备传输数据所用的第一时长和第二设备向第一设备传输数据所用的第二时长后,可以获取预先存储的第二设备的重传请求处理时长,重传请求处理时长为第二设备接收到某个数据包的重传请求后,到向第一设备发送出该数据包的时长,然后确定重传等待时长,例如,第一时长为5毫秒,第二时长为4.3毫秒,第二设备的重传请求处理时长为1.3毫秒,则重传等待时长可以为第一时长、第二时长和第二设备的重传请求处理时长之和,重传等待时长为10.6毫秒。
可选的,如果步骤101中第一设备周期性的确定第一时长和第二时长,则第一设备周期性确定重传等待时长,在确定当前周期的重传等待时长时,还可以参照上一周期计算得到的重传等待时长,相应的步骤102的处理可以如下:
第一设备根据当前周期确定的第一时长、当前周期确定的第二时长、上一周期的重传等待时长和预先存储的第二设备的重传请求处理时长,确定当前周期的重传等待时长。
在本发明申请的一个实施例中,第一设备每隔预设周期确定当前周期的重传等待时长,在步骤101中,第一设备接收到播放请求后,第一次确定当期周期的重传等待时长,则可以直接将当前周期确定的第一时长、当前周期确定的第二时长和预设的第二设备的重传请求处理时长之和,确定为当前周期的重传等待时长。在之后确定重传等待时长时,可以根据当前周期确定的第一时长、当前周期确定的第二时长、上一周期的重传等待时长和预先存储的第二设备的重传请求处理时长,确定当前周期的重传等待时长。例如,可以将当前周期确定的第一时长、当前周期确定的第二时长和预先存储的第二设备的重传请求处理时长之和,与上一周期的重传等待时长求平均值,作为当前周期的重传等待时长。
可选的,计算当前周期的重传等待时长的方法可以如下:
第一设备确定当前周期的重传等待时长为其中,Ti-1为上一周期的重传等待时长,t1为当前周期确定的第一时长,t2为当前周期确定的第二时长,t3为预先存储的第二设备的重传请求处理时长,X为第一预设权值,Y为第二预设权值。
在本发明申请的一个实施例中,第一设备每隔预设周期确定当前周期的重传等待时长,如周期为5秒,每隔5秒确定当前周期的重传等待时长。在步骤101中,第一设备接收到播放请求后,第一次确定当期周期的重传等待时长,则可以直接将当前周期确定的第一时长t1、当前周期确定的第二时长t2和预设的第二设备的重传请求处理时长t3之和,确定为当前周期的重传等待时长T1=t1+t2+t3。在之后确定重传等待时长时,当前周期的重传等待时长可以表示为Ti=X*Ti-1+Y*(t1+t2+t3),Ti-1为上一周期的重传等待时长。例如,第一预设权值为0.2,第二预设权值为0.8,上一周期的重传等待时长为9毫秒,t1+t2+t3为10毫秒,则当前周期的重传等待时长为9.8毫秒。
另外,当前周期的重传等待时长也可以表示为t1为当前周期确定的第一时长,t2为当前周期确定的第二时长,t3为预先存储的第二设备的重传请求处理时长,t4为上一周期的第一设备与第二设备传输数据的往返时间。
步骤103,第一设备在确定第二设备向第一设备发送的目标数据包传输失败时,向第二设备发送目标数据包的重传请求,如果在发送重传请求之后的重传等待时长之内未接收到目标数据包,则再次向第二设备发送目标数据包的重传请求。
在本发明申请的一个实施例中,如图2所示,第二设备向第一设备发送的数据包都是有编号的,一般通过检测编号是否连续,来确定数据包是否传输失败,当检测到编号不连续时,记录丢失的数据包(后续可以称为目标数据包)的编号,然后等待乱序等待时长,如0.2毫秒等,如果乱序等待时长结束时仍未接收到目标数据包,则确定目标数据包传输失败。第一设备向第二设备发送目标数据包的重传请求,并在该重传请求中添加目标数据包的编号,第一设备在向第二设备发送目标数据包的重传请求之后,可以开始计时,如果在重传等待时长内,未接收到目标数据包,则确定目标数据包重传失败,再次向第二设备发送目标数据包的重传请求。
上述处理中,第二设备接收到第一设备发送的目标数据包的重传请求之后,可以解析该重传请求,从中获取到目标数据包的编号,然后向第一设备重新发送目标数据包。
可选的,在重传目标数据包的过程中,如果当前重传次数未超过最大重传次数,则对目标数据包进行重传,相应的处理可以如下:
如果在发送重传请求之后的重传等待时长之内未接收到目标数据包,且当前重传次数未达到最大重传次数,则再次向第二设备发送目标数据包的重传请求。
在本发明申请的一个实施例中,第一设备在向第二设备发送目标数据包的重传请求之后,可以开始计时,如果在重传等待时长内,未接收到目标数据包,则确定目标数据包重传失败。然后确定当前重传次数是否已达到最大重传次数,如果未达到最大重传次数,则再次向第二设备发送目标数据包的重传请求。例如,最大重传次数为3次,当前重传次数为第三次,则第一设备可以向第二设备发送目标数据包的重传请求。
可选的,最大重传次数还可以根据传输抖动时间确定,相应的处理可以如下:
目标数据包为第一音视频帧中除最后一个数据包之外的数据包;第一设备确定第一音视频帧与第二音视频帧的传输抖动时间,其中,第二音视频帧为第一音视频帧的前一音视频帧;根据传输抖动时间、预设的音视频帧解码时间间隔和重传等待时长,确定第一音视频帧中各数据包的最大重传次数。
其中,第二设备向第一设备发送视频数据是以数据包的形式发送,一般一个或多个数据包组成一个视频帧。目标数据包为第一视频帧中最后一个数据包之外的数据包,第一视频帧为当前传输的视频数据中除第一个视频帧之外的任一视频帧,第二视频帧为第一视频帧的前一视频帧,表示在播放时间顺序上先播出第二视频帧,再播出第一视频帧。由于本发明实施例以传输视频数据为例,所以音视频帧为视频帧。
在本发明申请的一个实施例中,第一设备可以确定第一视频帧与第二视频帧的传输抖动时间,然后根据确定出的传输抖动时间、预设的音视频帧解码时间间隔和重传等待时长,计算第一视频帧中各数据包的最大重传次数,计算最大重传次数的方法在后面详细描述。
可选地,此处对数据包进行重传,可以是传输完一个视频帧后,才对这一视频帧中传输失败的数据包进行重传。每个传输失败的数据包的最大重传次数都是相等的,等于该视频帧中各数据包的最大重传次数。例如,第一视频帧中包括4个数据包,其中第二个数据包传输失败,在接收到第一视频帧中最后一个数据包后,计算最大重传次数,如果重传次数未超过当前的最大重传次数,可以向第二设备发送第二个数据包的重传请求,该第二个数据包的重传次数不能超过最大重传次数。
可选的,确定最大重传次数的方法可以如下:第一设备确定第一音视频帧中各数据包的最大重传次数其中,C为预设的音视频帧解码时间间隔,t为重传等待时长,J为传输抖动时间。
在本发明申请的一个实施例中,第一设备确定第一视频帧中各数据包的最大重传次数为
C为预设的音视频帧解码时间间隔,表示每隔C,向解码器发送一个音视频帧;t为当前的重传等待时长。这样,传输抖动时间J较大时,重传总时长n*t较小,传输抖动时间J较小时,重传总时长n*t较大。
可选的,确定传输抖动时间的方法如下:第一设备确定第一音视频帧与第二音视频帧的传输抖动时间J=(t7-t6)-(t5-t4);
其中,t7为第一设备接收到第二设备发送的第一音视频帧中最后一个数据包时的第五时间点,t6为第二设备向第一设备发送的第一音视频帧中最后一个数据包时的第六时间点,t5为第一设备接收到第二设备发送的第二音视频帧中最后一个数据包时的第七时间点,t4为第二设备向第一设备发送的第二音视频帧中最后一个数据包时的第八时间点。例如,如图4所示,第一视频帧与第二视频帧都包括3个数据包,第一视频帧中最后一个数据包的接收时间点的t7,第二设备的发送时间点为t6,第二视频帧中最后一个数据包的接收时间点的t5,第二设备的发送时间点为t4,第一视频帧中最后一个数据包的传输时长为(t7-t6),第二视频帧中最后一个数据包的传输时长为(t5-t4),第一视频帧与第二视频帧的传输抖动时间J=(t7-t6)-(t5-t4)。
在本发明的一个实施例中,第二设备在对视频数据进行编码时,都会对每个数据包添加编码时间点,并在每一视频帧的最后一个数据包中添加该视频帧的结束标识,表示这个数据包为这一视频帧的最后一个数据包,由于第二设备对数据编码完成后,立即向第一设备发送数据包,可以将编码时间点作为向第一设备发送数据包的时间点。
可选的,当目标数据包为第一音视频帧中最后一个数据包时,由于无法使用最后一个数据包计算第一音频帧中各数据包的最大重传次数,目标数据包的最大重传次数为预设默认值或第一音视频帧的前一个音视频帧中数据包的最大重传次数。
例如,第一音视频帧的最后一个数据包的最大重传次数可以和前一个音视频帧中各数据包的最大重传次数相等。
又例如,目标数据包的最大重传次数为预设默认值,预设默认值由技术人员设置,并存储至第一设备中,如3次等。前一个音视频帧中数据包的最大重传次数与上面计算第一音视频帧中各数据包的最大重传次数的方法相同,此处不再赘述。
本发明实施例中是以传输视频数据为例进行说明,同样传输音频数据的方法与之类似,此处不再赘述。
基于上述处理,重传等待时长是根据第一设备向第二传输数据所用的第一时长、第二设备向第一设备传输数据所用的第二时长、以及第二设备的重传请求处理时长确定的,可见,第一时长和第二时长都是实际检测得到的数据传输时长,能够反映当前实际的网络延迟情况,所以,与相关技术中重传等待时长为固定时长的方案相比,本方案中的重传等待时长与当前实际的网络延迟情况更加匹配,从而可以减少对数据包的多余的发送,减少传输资源的占用。
基于相同的技术构思,本发明实施例还提供了一种数据包重传的装置,如图5所示,该装置包括:
第一确定模块510,用于确定向第二设备传输数据所用的第一时长、以及所述第二设备向第一设备传输数据所用的第二时长;
第二确定模块520,用于根据所述第一时长、所述第二时长和预先存储的所述第二设备的重传请求处理时长,确定重传等待时长;
重传模块530,用于在确定所述第二设备向所述第一设备发送的目标数据包传输失败时,向所述第二设备发送所述目标数据包的重传请求,如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,则再次向所述第二设备发送所述目标数据包的重传请求。
可选的,如图6所示,所述第一确定模块510包括发送子模块511、接收子模块512和确定子模块513,其中:
所述发送子模块511,用于向所述第二设备发送所述第一报文,其中,所述第一报文中携带有向所述第二设备发送所述第一报文时的第一时间点;
所述接收子模块512,用于接收所述第二设备发送的第二报文,其中,所述第二报文中携带有第一时长和所述第二设备向所述第一设备发送所述第二报文时的第二时间点,所述第一时长为所述第二设备接收所述第一报文时的第三时间点与所述第一时间点之间的时长;
所述确定子模块513,用于确定接收所述第二报文时的第四时间点与所述第二时间点之间的第二时长。
可选的,所述第一确定模块510,用于:
周期性确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长;
所述第二确定模块520,用于根据当前周期确定的所述第一时长、当前周期确定的所述第二时长、上一周期的重传等待时长和预先存储的所述第二设备的重传请求处理时长,确定当前周期的重传等待时长。
可选的,所述第二确定模块520,用于确定当前周期的重传等待时长为其中,Ti-1为上一周期的重传等待时长,t1为当前周期确定的所述第一时长,t2为当前周期确定的所述第二时长,t3为预先存储的所述第二设备的重传请求处理时长,X为第一预设权值,Y为第二预设权值。
可选的,所述重传模块530,用于:
如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,且当前重传次数未达到最大重传次数,则再次向所述第二设备发送所述目标数据包的重传请求。
可选的,所述目标数据包为第一视频帧中除最后一个数据包之外的数据包;
所述第二确定模块520,还用于:
确定所述第一音视频帧与第二音视频帧的传输抖动时间,其中,所述第二音视频帧为所述第一音视频帧的前一音视频帧;
根据所述传输抖动时间、预设的音视频帧解码时间间隔和重传等待时长,确定所述第一音视频帧中各数据包的最大重传次数。
可选的,所述第二确定模块,还用于:
确定所述第一音视频帧中各数据包的最大重传次数其中,C为预设的音视频帧解码时间间隔,t为所述重传等待时长,J为所述重传等待时长。
可选的,所述第二确定模块520,还用于:
所述第一设备确定所述第一音视频帧与第二音视频帧的传输抖动时间J=(t7-t6)-(t5-t4);
其中,t7为所述第一设备接收到所述第二设备发送的所述第一音视频帧中最后一个数据包时的第五时间点,t6为所述第二设备向所述第一设备发送的所述第一音视频帧中最后一个数据包时的第六时间点,t5为所述第一设备接收到所述第二设备发送的所述第二音视频帧中最后一个数据包时的第七时间点,t4为所述第二设备向所述第一设备发送的所述第二音视频帧中最后一个数据包时的第八时间点。
可选的,当所述目标数据包为第一音视频帧中最后一个数据包时,所述目标数据包的最大重传次数为预设默认值或所述第一音视频帧的前一个音视频帧中数据包的最大重传次数。
基于上述处理,重传等待时长是根据第一设备向第二传输数据所用的第一时长、第二设备向第一设备传输数据所用的第二时长、以及第二设备的重传请求处理时长确定的,可见,第一时长和第二时长都是实际检测得到的数据传输时长,能够反映当前实际的网络延迟情况,所以,与相关技术中重传等待时长为固定时长的方案相比,本方案中的重传等待时长与当前实际的网络延迟情况更加匹配,从而可以减少对数据包的多余的发送,减少传输资源的占用。
需要说明的是:上述实施例提供的数据包重传的装置在重传数据包时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据包重传的装置与数据包重传的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7是本发明实施例提供的服务器的结构示意图。该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1822(例如,一个或一个以上处理器)和存储器1832,一个或一个以上存储应用程序1842或数据1844的存储介质1830(例如一个或一个以上海量存储设备)。其中,存储器1832和存储介质1830可以是短暂存储或持久存储。存储在存储介质1830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1822可以设置为与存储介质1830通信,在服务器700上执行存储介质1830中的一系列指令操作。
服务器700还可以包括一个或一个以上电源1826,一个或一个以上有线或无线网络接口1850,一个或一个以上输入输出接口1858,一个或一个以上键盘1856,和/或,一个或一个以上操作系统1841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
服务器700可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
第一设备确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长;
所述第一设备根据所述第一时长、所述第二时长和预先存储的所述第二设备的重传请求处理时长,确定重传等待时长;
所述第一设备在确定所述第二设备向所述第一设备发送的目标数据包传输失败时,向所述第二设备发送所述目标数据包的重传请求,如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,则再次向所述第二设备发送所述目标数据包的重传请求。
可选的,所述第一设备确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长,包括:
所述第一设备向所述第二设备发送所述第一报文,其中,所述第一报文中携带有向所述第二设备发送所述第一报文时的第一时间点;
所述第一设备接收所述第二设备发送的第二报文,其中,所述第二报文中携带有第一时长和所述第二设备向所述第一设备发送所述第二报文时的第二时间点,所述第一时长为所述第二设备接收所述第一报文时的第三时间点与所述第一时间点之间的时长;
所述第一设备确定接收所述第二报文时的第四时间点与所述第二时间点之间的第二时长。
可选的,所述第一设备确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长,所述第一设备根据所述第一时长、所述第二时长和预先存储的所述第二设备的重传请求处理时长,确定重传等待时长,包括:
第一设备周期性确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长,所述第一设备根据当前周期确定的所述第一时长、当前周期确定的所述第二时长、上一周期的重传等待时长和预先存储的所述第二设备的重传请求处理时长,确定当前周期的重传等待时长。
可选的,所述第一设备根据当前周期确定的所述第一时长、当前周期确定的所述第二时长、上一周期的重传等待时长和预先存储的所述第二设备的重传请求处理时长,确定当前周期的重传等待时长,包括:
所述第一设备确定当前周期的重传等待时长为其中,Ti-1为上一周期的重传等待时长,t1为当前周期确定的所述第一时长,t2为当前周期确定的所述第二时长,t3为预先存储的所述第二设备的重传请求处理时长,X为第一预设权值,Y为第二预设权值。
可选的,所述如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,则再次向所述第二设备发送所述目标数据包的重传请求,包括:
如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,且当前重传次数未达到最大重传次数,则再次向所述第二设备发送所述目标数据包的重传请求。
可选的,所述目标数据包为第一视频帧中除最后一个数据包之外的数据包;
所述方法还包括:
所述第一设备确定所述第一音视频帧与第二音视频帧的传输抖动时间,其中,所述第二音视频帧为所述第一音视频帧的前一音视频帧;
所述第一设备根据所述传输抖动时间、预设的音视频帧解码时间间隔和重传等待时长,确定所述第一音视频帧中各数据包的最大重传次数。
可选的,所述第一设备根据所述传输抖动时间J,确定所述第一音视频帧中各数据包的最大重传次数,包括:
所述第一设备确定所述第一音视频帧中各数据包的最大重传次数其中,C为所述预设的音视频帧解码时间间隔,t为所述重传等待时长,J为所述传输抖动时间。
可选的,所述第一设备确定所述第一音视频帧与第二音视频帧的传输抖动时间,包括:
所述第一设备确定所述第一音视频帧与第二音视频帧的传输抖动时间J=(t7-t6)-(t5-t4);
其中,t7为所述第一设备接收到所述第二设备发送的所述第一音视频帧中最后一个数据包时的第五时间点,t6为所述第二设备向所述第一设备发送的所述第一音视频帧中最后一个数据包时的第六时间点,t5为所述第一设备接收到所述第二设备发送的所述第二音视频帧中最后一个数据包时的第七时间点,t4为所述第二设备向所述第一设备发送的所述第二音视频帧中最后一个数据包时的第八时间点。
可选的,当所述目标数据包为第一音视频帧中最后一个数据包时,所述目标数据包的最大重传次数为预设默认值或所述第一音视频帧的前一个音视频帧中数据包的最大重传次数。
基于上述处理,重传等待时长是根据第一设备向第二传输数据所用的第一时长、第二设备向第一设备传输数据所用的第二时长、以及第二设备的重传请求处理时长确定的,因此,第一时长和第二时长都是实际检测得到的数据传输时长,能够反映当前实际的网络延迟情况,所以,与相关技术中重传等待时长为固定时长的方案相比,本方案中的重传等待时长与当前实际的网络延迟情况更加匹配,从而可以减少对数据包的多余的发送,减少传输资源的占用。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
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为所述第一设备接收到所述第二设备发送的所述第二音视频帧中最后一个数据包时的第七时间点,t4为所述第二设备向所述第一设备发送的所述第二音视频帧中最后一个数据包时的第八时间点。
9.根据权利要求5所述的方法,其特征在于,当所述目标数据包为第一音视频帧中最后一个数据包时,所述目标数据包的最大重传次数为预设默认值或所述第一音视频帧的前一个音视频帧中数据包的最大重传次数。
10.一种数据包重传的装置,其特征在于,所述装置包括:
第一确定模块,用于确定向第二设备传输数据所用的第一时长、以及所述第二设备向第一设备传输数据所用的第二时长;
第二确定模块,用于根据所述第一时长、所述第二时长和预先存储的所述第二设备的重传请求处理时长,确定重传等待时长;
重传模块,用于在确定所述第二设备向所述第一设备发送的目标数据包传输失败时,向所述第二设备发送所述目标数据包的重传请求,如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,则再次向所述第二设备发送所述目标数据包的重传请求。
11.根据权利要求10所述的装置,其特征在于,所述第一确定模块包括发送子模块、接收子模块和确定子模块,其中:
所述发送子模块,用于向所述第二设备发送所述第一报文,其中,所述第一报文中携带有向所述第二设备发送所述第一报文时的第一时间点;
所述接收子模块,用于接收所述第二设备发送的第二报文,其中,所述第二报文中携带有第一时长和所述第二设备向所述第一设备发送所述第二报文时的第二时间点,所述第一时长为所述第二设备接收所述第一报文时的第三时间点与所述第一时间点之间的时长;
所述确定子模块,用于确定接收所述第二报文时的第四时间点与所述第二时间点之间的第二时长。
12.根据权利要求10所述的装置,其特征在于,所述第一确定模块,用于:
周期性确定向第二设备传输数据所用的第一时长、以及所述第二设备向所述第一设备传输数据所用的第二时长;
所述第二确定模块,用于根据当前周期确定的所述第一时长、当前周期确定的所述第二时长、上一周期的重传等待时长和预先存储的所述第二设备的重传请求处理时长,确定当前周期的重传等待时长。
13.根据权利要求12所述的装置,其特征在于,所述第二确定模块,用于确定当前周期的重传等待时长为其中,Ti-1为上一周期的重传等待时长,t1为当前周期确定的所述第一时长,t2为当前周期确定的所述第二时长,t3为预先存储的所述第二设备的重传请求处理时长,X为第一预设权值,Y为第二预设权值。
14.根据权利要求10所述的装置,其特征在于,所述重传模块,用于:
如果在发送所述重传请求之后的所述重传等待时长之内未接收到所述目标数据包,且当前重传次数未达到最大重传次数,则再次向所述第二设备发送所述目标数据包的重传请求。
15.根据权利要求14所述的装置,其特征在于,所述目标数据包为第一视频帧中除最后一个数据包之外的数据包;
所述第二确定模块,还用于:
确定所述第一音视频帧与第二音视频帧的传输抖动时间,其中,所述第二音视频帧为所述第一音视频帧的前一音视频帧;
根据所述传输抖动时间、预设的音视频帧解码时间间隔和所述重传等待时长,确定所述第一音视频帧中各数据包的最大重传次数。
16.根据权利要求15所述的装置,其特征在于,所述第二确定模块,还用于:
确定所述第一音视频帧中各数据包的最大重传次数其中,C为所述预设的音视频帧解码时间间隔,t为所述重传等待时长,J为所述传输抖动时间。
17.根据权利要求15所述的装置,其特征在于,所述第二确定模块,还用于:
所述第一设备确定所述第一音视频帧与第二音视频帧的传输抖动时间J=(t7-t6)-(t5-t4);
其中,t7为所述第一设备接收到所述第二设备发送的所述第一音视频帧中最后一个数据包时的第五时间点,t6为所述第二设备向所述第一设备发送的所述第一音视频帧中最后一个数据包时的第六时间点,t5为所述第一设备接收到所述第二设备发送的所述第二音视频帧中最后一个数据包时的第七时间点,t4为所述第二设备向所述第一设备发送的所述第二音视频帧中最后一个数据包时的第八时间点。
18.根据权利要求14所述的装置,其特征在于,当所述目标数据包为第一音视频帧中最后一个数据包时,所述目标数据包的最大重传次数为预设默认值或所述第一音视频帧的前一个音视频帧中数据包的最大重传次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710117915.4A CN108540273B (zh) | 2017-03-01 | 2017-03-01 | 一种数据包重传的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710117915.4A CN108540273B (zh) | 2017-03-01 | 2017-03-01 | 一种数据包重传的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108540273A true CN108540273A (zh) | 2018-09-14 |
CN108540273B CN108540273B (zh) | 2021-08-13 |
Family
ID=63488620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710117915.4A Active CN108540273B (zh) | 2017-03-01 | 2017-03-01 | 一种数据包重传的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108540273B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110278058A (zh) * | 2019-06-05 | 2019-09-24 | 华为技术有限公司 | 一种冗余信息反馈方法及通信装置 |
CN111163362A (zh) * | 2019-12-30 | 2020-05-15 | 北京佳讯飞鸿电气股份有限公司 | 一种自适应重传等待时间的视频接收方法及系统 |
CN111327402A (zh) * | 2018-12-17 | 2020-06-23 | 杭州海康威视数字技术股份有限公司 | 重传数据的方法、装置和系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863033A (zh) * | 2005-05-14 | 2006-11-15 | 腾讯科技(深圳)有限公司 | 获取网络超时重传间隔的方法及网络中数据传输的方法 |
US20080037420A1 (en) * | 2003-10-08 | 2008-02-14 | Bob Tang | Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square waveform) TCP friendly san |
CN101552660A (zh) * | 2008-04-01 | 2009-10-07 | 中国移动通信集团公司 | 对流媒体数据进行重传、播放的方法、装置及通信系统 |
CN102027768A (zh) * | 2008-05-19 | 2011-04-20 | 爱立信(中国)通信有限公司 | 处理通信网络中的Enum查询 |
CN103269260A (zh) * | 2013-06-03 | 2013-08-28 | 腾讯科技(深圳)有限公司 | 数据传输方法、数据接收端、数据发送端和数据传输系统 |
CN103533450A (zh) * | 2013-06-09 | 2014-01-22 | 浙江宇视科技有限公司 | 一种媒体流可靠传输和接收的方法以及装置 |
CN103763073A (zh) * | 2014-01-09 | 2014-04-30 | 深圳市迪威视讯股份有限公司 | 一种丢包重传的方法及终端 |
CN105721950A (zh) * | 2016-03-30 | 2016-06-29 | 浙江宇视科技有限公司 | 一种可靠媒体流传输装置 |
-
2017
- 2017-03-01 CN CN201710117915.4A patent/CN108540273B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080037420A1 (en) * | 2003-10-08 | 2008-02-14 | Bob Tang | Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square waveform) TCP friendly san |
CN1863033A (zh) * | 2005-05-14 | 2006-11-15 | 腾讯科技(深圳)有限公司 | 获取网络超时重传间隔的方法及网络中数据传输的方法 |
CN101552660A (zh) * | 2008-04-01 | 2009-10-07 | 中国移动通信集团公司 | 对流媒体数据进行重传、播放的方法、装置及通信系统 |
CN102027768A (zh) * | 2008-05-19 | 2011-04-20 | 爱立信(中国)通信有限公司 | 处理通信网络中的Enum查询 |
CN103269260A (zh) * | 2013-06-03 | 2013-08-28 | 腾讯科技(深圳)有限公司 | 数据传输方法、数据接收端、数据发送端和数据传输系统 |
CN103533450A (zh) * | 2013-06-09 | 2014-01-22 | 浙江宇视科技有限公司 | 一种媒体流可靠传输和接收的方法以及装置 |
CN103763073A (zh) * | 2014-01-09 | 2014-04-30 | 深圳市迪威视讯股份有限公司 | 一种丢包重传的方法及终端 |
CN105721950A (zh) * | 2016-03-30 | 2016-06-29 | 浙江宇视科技有限公司 | 一种可靠媒体流传输装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111327402A (zh) * | 2018-12-17 | 2020-06-23 | 杭州海康威视数字技术股份有限公司 | 重传数据的方法、装置和系统 |
CN111327402B (zh) * | 2018-12-17 | 2021-12-31 | 杭州海康威视数字技术股份有限公司 | 重传数据的方法、装置和系统 |
CN110278058A (zh) * | 2019-06-05 | 2019-09-24 | 华为技术有限公司 | 一种冗余信息反馈方法及通信装置 |
CN110278058B (zh) * | 2019-06-05 | 2020-11-03 | 华为技术有限公司 | 一种冗余信息反馈方法及通信装置 |
CN111163362A (zh) * | 2019-12-30 | 2020-05-15 | 北京佳讯飞鸿电气股份有限公司 | 一种自适应重传等待时间的视频接收方法及系统 |
CN111163362B (zh) * | 2019-12-30 | 2021-12-24 | 北京佳讯飞鸿电气股份有限公司 | 一种自适应重传等待时间的视频接收方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108540273B (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113037440B (zh) | 数据重传处理方法、装置、计算机设备和存储介质 | |
CN103269260A (zh) | 数据传输方法、数据接收端、数据发送端和数据传输系统 | |
CN106454389B (zh) | 一种直播视频的播放方法与装置 | |
CN104579601B (zh) | 一种重传请求处理方法和装置 | |
CN107231328A (zh) | 实时视频传输方法、装置、设备及系统 | |
CN110943808B (zh) | 数据传输方法、装置、电子设备和存储介质 | |
JP2008092116A (ja) | 無線中継装置、無線中継方法および無線中継プログラム | |
CN112787945B (zh) | 数据传输方法、装置、计算机可读介质及电子设备 | |
US8984158B2 (en) | Data communication system and method | |
CN108540273A (zh) | 一种数据包重传的方法和装置 | |
US9413797B2 (en) | Data communication system and method | |
CN110336645A (zh) | 数据传输方法、装置、系统、设备和存储介质 | |
CN114039703B (zh) | 数据传输方法、装置、设备和介质 | |
KR100526183B1 (ko) | 모바일 애드 혹 네트워크 환경에서 효율적인 데이터송수신을 위한 네트워크 장치 및 데이터 전송 방법 | |
CN112436924A (zh) | 一种数据传输方法及电子设备 | |
CN114221909B (zh) | 数据传输方法、装置、终端及存储介质 | |
CN109104263A (zh) | 存储容量的调整方法、装置和系统 | |
CN116599953B (zh) | 一种文件上传的方法、装置、系统、设备及可读存储介质 | |
US8948252B2 (en) | Moving picture transmission apparatus, moving picture transmission system, moving picture transmission method, and program | |
JP2005244315A (ja) | 映像ストリーミング伝送のネットワーク品質安定化装置 | |
JP4285111B2 (ja) | 通信装置、その方法およびそのシステム | |
JP2013013003A (ja) | データ処理装置、データ処理方法、およびデータ処理プログラム | |
CN115801691A (zh) | 数据丢包的处理方法、装置及存储介质 | |
CN115038115A (zh) | 数据传输方法、装置、电子设备、存储介质和产品 | |
CN114979793A (zh) | 一种直播数据传输方法、装置、系统、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |