CN107979449B - 一种数据传输方法及装置 - Google Patents
一种数据传输方法及装置 Download PDFInfo
- Publication number
- CN107979449B CN107979449B CN201610934660.6A CN201610934660A CN107979449B CN 107979449 B CN107979449 B CN 107979449B CN 201610934660 A CN201610934660 A CN 201610934660A CN 107979449 B CN107979449 B CN 107979449B
- Authority
- CN
- China
- Prior art keywords
- data packet
- packet
- client
- target
- receiving information
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- 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/1607—Details of the supervisory signal
-
- 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/1858—Transmission or retransmission of more than one copy of acknowledgement message
-
- 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/1867—Arrangements specially adapted for the transmitter end
- H04L1/189—Transmission or retransmission of more than one copy of a message
Abstract
本发明实施例提供的一种数据传输方法及装置,该方法包括:接收客户端发送的数据包传输请求;按照数据包发送顺序,基于UDP协议向客户端传输与数据包请求所对应的各个数据包;其中,每一数据包中携带有与自身对应的编号,数据包发送顺序为根据各个数据包的编号所确定出的顺序;接收客户端反馈的收包信息;根据收包信息确定已丢失的目标数据包,并基于UDP协议向客户端重传目标数据包。应用本发明实施例提供的方案进行数据传输时,服务端基于UDP协议向客户端传输各个数据包,并根据收包信息重传已丢失的目标数据包,当出现数据包丢失时,UDP协议无需调窄传输网络的频带宽度,不易造成数据包的堆积,避免了数据包堵塞的问题。
Description
技术领域
本发明涉及媒体流网络传输技术领域,特别是涉及一种数据传输方法及装置。
背景技术
目前,在媒体流(实时视频或实时音频等)的传输过程中容易出现数据包丢失的问题,尤其在网络不稳定的情况下,数据包丢失情况更为严重。一旦媒体流在传输过程中出现丢包的问题,在实时播放该媒体流时就会出现卡顿的现象,用户体验极差。
现有技术中,出于数据可靠性的考虑,往往采用具有丢包重传机制的TCP协议(Transmission Control Protocol,传输控制协议)进行媒体流的传输。具体的,服务端首先基于TCP协议向客户端发送数据包,其中,数据包为:将媒体流按照数据传输单元的大小划分成数据单元,并在各个数据单元中添加数据头信息后得到的多个数据集合;然后接收客户端反馈的包含已丢失的数据包的编号的收包信息,并根据已丢失的数据包的编号再次向客户端发送该数据包,从而保证了数据传输过程的可靠性。另外,当数据包丢失严重时,TCP协议往往默认是由于网络压力过大而造成的数据包丢失,因此通过将传输网络的频带宽度调窄来降低网络传输速率,从而达到减轻网络压力的目的。
虽然采用TCP协议进行媒体流传输可以解决数据包丢失的问题,但是,对于媒体流而言,单位时间所需传输的数据包的数量往往是恒定的,因此,当传输网络的频带宽度调窄后,容易造成数据包的堆积,从而导致数据包的堵塞。
发明内容
本发明实施例的目的在于提供一种数据传输方法及装置,以实现在减少数据包丢失的过程中,避免出现传输网络中的数据包堵塞。
为达到上述目的,本发明实施例公开了一种数据传输方法,应用于服务端,所述方法包括:
接收客户端发送的数据包传输请求;
按照数据包发送顺序,基于UDP协议向所述客户端传输与所述数据包请求所对应的各个数据包;其中,每一数据包中携带有与自身对应的编号,所述数据包发送顺序为根据各个数据包的编号所确定出的顺序;
接收所述客户端反馈的收包信息;
根据所述收包信息确定已丢失的目标数据包,并基于UDP协议向所述客户端重传所述目标数据包。
可选的,所述收包信息中携带有第一类编号、第二类编号或第三类编号;其中,所述第一类编号为所述客户端自身确定出的已丢失的数据包的编号;所述第二类编号为所述客户端所期望数据包的编号,所述所期望数据包为:编号位于所述客户端所接收到的数据包的最大编号之后、且编号与所述最大编号相连续的预设数量个数据包;所述第三类编号为所述客户端接收到的数据包的最大编号;
所述根据所述收包信息确定已丢失的目标数据包的步骤,包括:
根据所述收包信息中的第一类编号、第二类编号或第三类编号,确定已丢失的目标数据包。
可选的,所述收包信息中携带有第一类编号和第二类编号,所述第一类编号为所述客户端自身确定出的已丢失的数据包的编号,所述第二类编号为所述客户端所期望数据包的编号,所述所期望数据包为:编号位于所述客户端所接收到的数据包的最大编号之后、且编号与所述最大编号相连续的预设数量个数据包;
所述根据所述收包信息确定已丢失的目标数据包的步骤,包括:
根据所述收包信息中的第一类编号和第二类编号,确定已丢失的目标数据包。
可选的,所述收包信息中携带第一类编号和第三类编号,所述第一类编号为所述客户端自身确定出的已丢失的数据包的编号,所述第三类编号为所述客户端接收到的数据包的最大编号;
所述根据所述收包信息确定已丢失的目标数据包的步骤,包括:
根据所述收包信息中的第一类编号和第三类编号,确定已丢失的目标数据包。
可选的,所述基于UDP协议向所述客户端传输与所述数据包请求所对应的各个数据包,包括:
在向所述客户端传输每一数据包之前,判断是否允许向所述客户端传输数据包;
若允许,则基于UDP协议向所述客户端传输该数据包;
若不允许,则将该数据包存入缓存区中,并在检测到允许向所述客户端传输数据包时,基于UDP协议向所述客户端传输该已存入缓存区中的数据包。
可选的,所述判断是否允许向所述客户端传输数据包,包括:
判断特定数据包的数量是否小于预设的数据包并行发送数量,如果是,判定允许向所述客户端传输数据包;
其中,所述特定数据包为:已被所述服务端发送、但所述服务端未收到相关收包信息的数据包,所述相关收包信息为:表明数据包被接收到或已丢失的收包信息。
可选的,所述基于UDP协议向所述客户端重传所述目标数据包,包括:
判断所述目标数据包是否已被所述服务端发送且目标次数是否大于预设数量,如果均为是,则基于UDP协议重传所述目标数据包至所述客户端;其中,所述目标次数为所述服务端收到表明该目标数据包已丢失的收包信息的累计次数;
或者,
判断所述目标数据包是否已被所述服务端发送且目标次数是否大于预设数量,如果均为是,等待预设时间t,如果在预设时间t内所述服务端继续收到表明该目标数据包已丢失的收包信息,则基于UDP协议重传所述目标数据包至所述客户端。
可选的,所述基于UDP协议向所述客户端重传所述目标数据包,包括:
判断所述目标数据包是否满足第一重传条件,如果是,则基于UDP协议重传所述目标数据包至所述客户端,所述第一重传条件为:所述目标数据包已被所述服务端发送,所述目标数据包的编号为所述服务端当前需要发送的数据包的编号,且距离上一次传输所述目标数据包的时间间隔大于预设的重传超时时间;
或者,
判断所述目标数据包是否未被所述服务端发送,且所述目标数据包的编号与所述服务端当前需要发送的数据包的编号之差是否小于第一预设阈值,如果均为是,则基于UDP协议重传所述目标数据包至所述客户端;
或者,
判断所述目标数据包是否满足第二重传条件,如果是,则基于UDP协议重传所述目标数据包至所述客户端,所述第二重传条件为:所述目标数据包未被所述服务端发送,所述服务端已重传数据包的重传累计次数小于第二预设阈值,且所述目标数据包的编号与所述服务端当前需要发送的数据包的编号之差小于第三预设阈值;
其中,所述当前需要发送的数据包的编号为:所述服务端所收到的所述收包信息中的所述第三类编号所对应的下一编号。
可选的,所述服务端记录有发送每一数据包时的发送时间戳,且记录有接收每一相关收包信息的接收时间戳;其中,所述相关收包信息为:表明数据包被接收到或已丢失的收包信息;
所述判断所述目标数据包是否满足第一重传条件的步骤之前,所述方法还包括:
根据目标发送时间戳和目标接收时间戳,确定当前的目标网络状态;其中,所述目标发送时间戳为发送所述目标数据包时的时间戳,所述目标接收时间戳为所述服务端接收表明所述目标数据包被接收到的相关收包信息的时间戳;
根据预设的网络状态与重传超时时间之间的对应关系,确定所述目标网络状态所对应的目标重传超时时间;
将当前的重传超时时间更新为所述目标重传超时时间,以便所述服务端基于更新后的重传超时时间判断所述目标数据包是否满足所述第一重传条件。
为达到上述目的,本发明实施例还公开了一种数据传输方法,应用于客户端,所述方法包括:
向服务端发送数据包传输请求;
接收所述服务端基于UDP协议传输的、与所述数据包传输请求相对应的数据包;其中,每一数据包中携带有与自身对应的编号,且所述数据包为所述服务端按照数据包发送传输的,所述数据包发送顺序为根据各个数据包的编号所确定出的顺序;
当满足预设的收包信息反馈条件时,向所述服务端反馈收包信息;
接收所述服务端基于UDP协议重传的目标数据包;其中,所述目标数据包为所述服务端根据所述收包信息确定出的已丢失的目标数据包。
可选的,通过以下方式判断是否满足预设的收包信息反馈条件,包括:
判断当前数据包的编号与已接收到的数据包的编号是否连续;
若不连续,则判定满足所述收包信息反馈条件;
若连续,则检测与当前数据包的编号相连续的上一数据包的编号是否被标记为待反馈编号,若为是,则判定满足所述收包信息反馈条件,若为否,则将当前数据包的编号标记为待反馈编号,并将接收的下一数据包确定为当前数据包,并继续执行所述判断当前数据包的编号与已接收到的数据包的编号是否连续的步骤。
为达到上述目的,本发明实施例公开了一种数据传输装置,应用于服务端,所述装置包括:
传输请求接收模块,用于接收客户端发送的数据包传输请求;
数据包发送模块,用于按照数据包发送顺序,基于UDP协议向所述客户端传输与所述数据包请求所对应的各个数据包;其中,每一数据包中携带有与自身对应的编号,所述数据包发送顺序为根据各个数据包的编号所确定出的顺序;
收包信息接收模块,用于接收所述客户端反馈的收包信息;
目标数据包确定模块,用于根据所述收包信息确定已丢失的目标数据包;
目标数据包重传模块,用于基于UDP协议向所述客户端重传所述目标数据包。
可选的,所述收包信息中携带有第一类编号、第二类编号或第三类编号;其中,所述第一类编号为所述客户端自身确定出的已丢失的数据包的编号;所述第二类编号为所述客户端所期望数据包的编号,所述所期望数据包为:编号位于所述客户端所接收到的数据包的最大编号之后、且编号与所述最大编号相连续的预设数量个数据包;所述第三类编号为所述客户端接收到的数据包的最大编号;
所述目标数据包确定模块,具体用于:
根据所述收包信息中的第一类编号、第二类编号或第三类编号,确定已丢失的目标数据包。
可选的,所述收包信息中携带有第一类编号和第二类编号,所述第一类编号为所述客户端自身确定出的已丢失的数据包的编号,所述第二类编号为所述客户端所期望数据包的编号,所述所期望数据包为:编号位于所述客户端所接收到的数据包的最大编号之后、且编号与所述最大编号相连续的预设数量个数据包;
所述目标数据包确定模块,具体用于:
根据所述收包信息中的第一类编号和第二类编号,确定已丢失的目标数据包。
可选的,所述收包信息中携带第一类编号和第三类编号,所述第一类编号为所述客户端自身确定出的已丢失的数据包的编号,所述第三类编号为所述客户端接收到的数据包的最大编号;
所述目标数据包确定模块,具体用于:
根据所述收包信息中的第一类编号和第三类编号,确定已丢失的目标数据包。
可选的,所述目标数据包重传模块,包括:
传输判断子模块,用于在向所述客户端传输每一数据包之前,判断是否允许向所述客户端传输数据包;
第一传输子模块,用于在所述传输判断模块的判断结果为允许时,基于UDP协议向所述客户端传输该数据包;
第一传输子模块,用于在所述传输判断子模块的判断结果为不允许时,将该数据包存入缓存区中,并在检测到允许向所述客户端传输数据包时,基于UDP协议向所述客户端传输该已存入缓存区中的数据包。
可选的,所述传输判断子模块,具体用于:
判断特定数据包的数量是否小于预设的数据包并行发送数量,如果是,判定允许向所述客户端传输数据包;
其中,所述特定数据包为:已被所述服务端发送、但所述服务端未收到相关收包信息的数据包,所述相关收包信息为:表明数据包被接收到或已丢失的收包信息。
可选的,所述目标数据包重传模块,具体用于:
判断所述目标数据包是否已被所述服务端发送且目标次数是否大于预设数量,如果均为是,则基于UDP协议重传所述目标数据包至所述客户端;其中,所述目标次数为所述服务端收到表明该目标数据包已丢失的收包信息的累计次数;
或者,
判断所述目标数据包是否已被所述服务端发送且目标次数是否大于预设数量,如果均为是,等待预设时间t,如果在预设时间t内所述服务端继续收到表明该目标数据包已丢失的收包信息,则基于UDP协议重传所述目标数据包至所述客户端。
可选的,所述目标数据包重传模块,具体用于:
判断所述目标数据包是否满足第一重传条件,如果是,则基于UDP协议重传所述目标数据包至所述客户端,所述第一重传条件为:所述目标数据包已被所述服务端发送,所述目标数据包的编号为所述服务端当前需要发送的数据包的编号,且距离上一次传输所述目标数据包的时间间隔大于预设的重传超时时间;
或者,
判断所述目标数据包是否未被所述服务端发送,且所述目标数据包的编号与所述服务端当前需要发送的数据包的编号之差是否小于第一预设阈值,如果均为是,则基于UDP协议重传所述目标数据包至所述客户端;
或者,
判断所述目标数据包是否满足第二重传条件,如果是,则基于UDP协议重传所述目标数据包至所述客户端,所述第二重传条件为:所述目标数据包未被所述服务端发送,所述服务端已重传数据包的重传累计次数小于第二预设阈值,且所述目标数据包的编号与所述服务端当前需要发送的数据包的编号之差小于第三预设阈值;
其中,所述当前需要发送的数据包的编号为:所述服务端所收到的所述收包信息中的所述第三类编号所对应的下一编号。
可选的,所述服务端记录有发送每一数据包时的发送时间戳,且记录有接收每一相关收包信息的接收时间戳;其中,所述相关收包信息为:表明数据包被接收到或已丢失的收包信息;
所述装置还包括:网络状态确定模块、重传超时时间确定模块和重传超时时间更新模块;其中,
所述网络状态确定模块,用于在所述目标数据包重传模块判断所述目标数据包是否满足第一重传条件之前,根据目标发送时间戳和目标接收时间戳,确定当前的目标网络状态;其中,所述目标发送时间戳为发送所述目标数据包时的时间戳,所述目标接收时间戳为所述服务端接收表明所述目标数据包被接收到的相关收包信息的时间戳;
所述重传超时时间确定模块,用于根据预设的网络状态与重传超时时间之间的对应关系,确定所述目标网络状态所对应的目标重传超时时间;
所述重传超时时间更新模块,用于将当前的重传超时时间更新为所述目标重传超时时间,以便所述服务端基于更新后的重传超时时间判断所述目标数据包是否满足所述第一重传条件。
为达到上述目的,本发明实施例还公开了一种数据传输装置,应用于客户端,所述装置包括:
传请求发送模块,用于向服务端发送数据包传输请求;
数据包接收模块,用于接收所述服务端基于UDP协议传输的、与所述数据包传输请求相对应的数据包;其中,每一数据包中携带有与自身对应的编号,且所述数据包为所述服务端按照数据包发送传输的,所述数据包发送顺序为根据各个数据包的编号所确定出的顺序;
收包信息发送模块,用于当满足预设的收包信息反馈条件时,向所述服务端反馈收包信息;
目标数据包接收模块,用于接收所述服务端基于UDP协议重传的目标数据包;其中,所述目标数据包为所述服务端根据所述收包信息确定出的已丢失的目标数据包。
可选的,所述收包信息发送模块,具体用于通过以下方式判断是否满足预设的收包信息反馈条件:
判断当前数据包的编号与已接收到的数据包的编号是否连续;
若不连续,则判定满足所述收包信息反馈条件;
若连续,则检测与当前数据包的编号相连续的上一数据包的编号是否被标记为待反馈编号,若为是,则判定满足所述收包信息反馈条件,若为否,则将当前数据包的编号标记为待反馈编号,并将接收的下一数据包确定为当前数据包,并继续执行所述判断当前数据包的编号与已接收到的数据包的编号是否连续的步骤。
本发明实施例提供一种数据传输方法及装置。服务端首先接收客户端发送的数据包传输请求;然后按照数据包发送顺序,基于UDP协议(User Datagram Protocol,用户数据报协议)向客户端传输与数据包请求所对应的各个数据包;然后接收客户端反馈的收包信息,根据收包信息确定已丢失的目标数据包,并基于UDP协议向客户端重传目标数据包。应用本发明实施例提供的方案进行数据传输时,服务端基于UDP协议向客户端传输各个数据包,并根据收包信息重传已丢失的目标数据包,另外当出现数据包丢失时,UDP协议无需调窄传输网络的频带宽度,不易造成数据包的堆积,可见,在减少数据包丢失的过程中,避免了传输网络中的数据包堵塞的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据传输方法的流程示意图;
图2为本发明实施例提供的另一种数据传输方法的流程示意图;
图3为本发明实施例提供的一种数据传输装置的结构示意图;
图4为本发明实施例提供的另一种数据传输装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了在减少数据包丢失的过程中,避免出现传输网络中的数据包堵塞的问题,本发明实施例提供了一种数据传输方法及装置。
下面首先对本发明实施例提供的数据传输方法进行说明。
需要说明的是,本发明实施例提供的数据传输方案针对的是服务端与客户端之间的流式数据的传输。在实时视频监控领域中,服务端可以为网络通信中发送实时视频数据的一端,如视频监控设备;而客户端可以为网络通信中接收实时视频数据的一端,如运行于网络设备中的软件开发工具等。当然,本发明实施例并不需要对服务端和客户端的具体形式进行限定。
还需要说明的是,本发明实施例提供的数据传输方案适用于无线网络环境下的媒体流传输,也适用于以太网网络环境下的媒体流传输。举例而言,无线网络环境可以是基于3G(Third generation of mobile telecommunications technology,第三代移动通信技术)技术的网络环境,还可以是基于4G(Fourth generation of mobiletelecommunication technology,第四代移动通信技术)技术的网络环境。当然,本发明实施例并不需要对无线网络环境或以太网网络环境的具体网络形式进行限定。
如图1所示,为本发明实施例提供的一种数据传输方法,应用于服务端,该方法可以包括以下步骤:
S101:接收客户端发送的数据包传输请求。
具体的,在进行数据传输之前,服务端与客户端之间需建立通信连接,这样,当客户端向服务端发送数据包传输请求时,服务端可以基于所建立的通信连接执行后续向客户端传输数据的步骤。
一种实现方式中,数据包传输请求中可以携带客户端的唯一标识,以便服务端后续基于该请求中携带的唯一标识向该客户端传输数据。
S102:按照数据包发送顺序,基于UDP协议向客户端传输与数据包请求所对应的各个数据包。
具体的,在接收到客户端发送的数据包传输请求之后,服务端基于UDP协议向客户端传输该请求所对应的各个数据包。其中,UDP协议是OSI(Open System Interconnection,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
其中,每一数据包中携带有与自身对应的编号,数据包发送顺序为根据各个数据包的编号所确定出的顺序。
具体的,上述提及数据包发送顺序为根据各个数据包的编号所确定出的顺序,举例而言,对于编号为1、2……、n的n个数据包,可以将编号由小到大的顺序确定为数据包发送顺序,当然,还可以将编号由大到小的顺序确定为数据包发送顺序。需要说明的是,上述仅列举了根据各个数据包的编号确定数据包发送顺序的2种具体实现方式,当然还可以有其他可行的实现方式,本发明实施例并不需要对确定数据包发送顺序的具体实现方式进行限定,本领域内的技术人员需要根据实际应用中的具体情况进行合理的设置。
一种实现方式中,可以按照以下方式向客户端传输与数据包请求所对应的各个数据包:
(1)在向客户端传输每一数据包之前,判断是否允许向客户端传输数据包,若允许则执行(2),否则执行(3);
(2)基于UDP协议向客户端传输该数据包;
(3)将该数据包存入缓存区中,并在检测到允许向客户端传输数据包时,基于UDP协议向客户端传输该已存入缓存区中的数据包。
具体的,可以按照以下方式判断是否允许向客户端传输数据包:
判断特定数据包的数量是否小于预设的数据包并行发送数量,如果是,判定允许向客户端传输数据包。
其中,特定数据包为:已被服务端发送、但服务端未收到相关收包信息的数据包,相关收包信息为:表明数据包被接收到或已丢失的收包信息。
需要说明的是,服务端可以并行向客户端传输的数据包的数量往往是有限制的,这样,当服务端在向客户端传输数据包时,需要先判断一下服务端当前是否具有向客户端传输数据包的传输能力,也就是,需要判断下特定数据包的数量是否小于预设的数据包并行发送数量,当特定数据包的数量小于该预设的数据包并行发送数量时,表明服务端当前具有向客户端传输该数据包的传输能力,因此,可以基于UDP协议向客户端传输该数据包,而当特定数据包的数量不小于该预设的数据包并行发送数量时,表明服务端当前不具有向客户端传输该数据包的传输能力,因此,需要将该数据包暂时存入缓存区中,并在检测到允许向客户端传输数据包时,再基于UDP协议向客户端传输该已存入缓存区中的数据包。
举例而言,在向客户端传输数据包X之前,若预设的数据包并行发送数量为10,此时特定数据包的数量为8,显然,该服务端当前具有向客户端传输该数据包X的传输能力,除了8个特定数据包外,该服务端还可以向客户端再传输2个数据包;在向客户端传输数据包Y之前,若预设的数据包并行发送数量为10,此时特定数据包的数量为10,显然,该服务端当前不具有向客户端传输该数据包Y的传输能力,该服务端需要将10个特定数据包传输中的至少一个数据包传输至客户端之后,才具有向客户端传输该数据包Y的传输能力。
还需要说明的是,本发明实施例并不需要对预设的数据包并行发送数量进行限定,本领域内的技术人员需要根据实际应用中的具体情况进行合理的设置,如可以根据当前的网络状态确定数据包并行发送数量,举例而言,当传输网络的速率低于500kb时,将数据包并行发送数量设置为5;当传输网络的速率位于500kb-800kb之间时,将数据包并行发送数量设置为6;而当传输网络的速率位于800kb-1000kb之间时,将数据包并行发送数量设置为8,等等。
S103:接收到客户端反馈的收包信息。
S104:根据收包信息确定已丢失的目标数据包,并基于UDP协议向客户端重传目标数据包。
为了便于描述,现将步骤S103和S104结合起来进行介绍。
一种实现方式中,收包信息中可以携带有第一类编号、第二类编号或第三类编号。其中,第一类编号为客户端自身确定出的已丢失的数据包的编号;第二类编号为客户端所期望数据包的编号,所期望数据包为:编号位于客户端所接收到的数据包的最大编号之后、且编号与最大编号相连续的预设数量个数据包;第三类编号为客户端接收到的数据包的最大编号。
相应的,可以根据收包信息中的第一类编号、第二类编号或第三类编号,确定已丢失的目标数据包。举例而言,针对收包信息中携带有第一类编号的情况,若客户端收到了编号为1、2、4、5的数据包,显然,客户端没有收到编号为3的数据包,因此,客户端可以将编号为3的数据包确定为已丢失的目标数据包;针对收包信息中携带有第二类编号的情况,若客户端接收到了编号为1、2、3、4的数据包,且在预设数量为1的情况下,客户端所期望数据包为编号为5的数据包,而在服务端已发送编号为5的数据包的情况下,服务端可以根据第二类编号确定编号为5的数据包为已丢失的目标数据包;针对收包信息中携带有第三类编号的情况,若客户端接收到了编号为1、2、3、4的数据包,显然,客户端接收到的数据包的最大编号为4,而在服务端已发送编号为5的数据包的情况下,可以推断出客户端并没有接收到服务端发送的编号为5的数据包,因此,服务端可以根据第三类编号确定出编号为5的数据包为已丢失的目标数据包。
需要说明的是,上述仅列举了根据收包信息中的第一类编号、第二类编号或第三类编号,确定已丢失的目标数据包的具体实现方式,当然还可以有其他可行的实现方式,本发明实施例并不需要对确定已丢失的目标数据包的具体方式进行限定。另外,还需要说明的是,现有技术中已经公开了根据收包信息中的第一类编号、第二类编号或第三类编号,确定已丢失的目标数据包的具体方式,相关之处可以参见现有技术。
另一种实现方式中,收包信息中可以携带有第一类编号和第二类编号。其中,第一类编号为客户端自身确定出的已丢失的数据包的编号,第二类编号为客户端所期望数据包的编号,所期望数据包为:编号位于客户端所接收到的数据包的最大编号之后、且编号与最大编号相连续的预设数量个数据包。
举例而言,假设客户端当前所接收到的数据包的最大编号为5,数据包发送顺序是按照编号由小到大的顺序所确定出的,且预设数量为3,则客户端所期望数据包为:编号为6、7、8的3个数据包。
相应的,当接收到客户端反馈的收包信息时,可以根据收包信息中的第一类编号和第二类编号,确定已丢失的目标数据包。举例而言,假设服务端向客户端发送了编号为1、2、……、8共8个数据包,收包信息中的第一类编号为3,第二类编号为6,那么,服务端在接收到收包信息后,根据第一类编号和第二类编号得知:客户端所期望数据包的编号为6,表明当前客户端所收到的数据包的最大编号为5,又由于第一类编号为3,表明客户端当前收到了编号为1、2、4、5的数据包,从而结合自身向客户端已发送的数据包的情况,可以确定出已丢失的目标数据包为:编号为3、6、7、8的数据包。
又一种实现方式中,收包信息中可以携带第一类编号和第三类编号。其中,第一类编号客户端自身确定出的已丢失的数据包的编号,第三类编号为客户端接收到的数据包的最大编号。
相应的,可以根据收包信息中的第一类编号和第三类编号,确定已丢失的目标数据包。举例而言,假设服务端向客户端发送了编号为1、2、……、8共8个数据包,收包信息中的第一类编号为3,第三类编号为5,那么,服务端在接收到收包信息后,可以根据第一类编号和第三类编号,确定出已丢失的目标数据包为编号为3、6、7、8的数据包。
需要说明的是,这里提及的已丢失的目标数据包是由服务端确定的,服务端在确定已丢失的目标数据包时,需要结合自身向客户端已发送的数据包的情况,需要强调的是,第一类编号所对应的数据包仅仅是客户端根据自身已接收到的数据包的情况确定出的,对于已被服务端发送、且编号大于客户端已接收到的数据包的最大编号的数据包而言,客户端是无法判断其是否为已丢失的数据包的,只能由服务端结合自身已发送的数据包的情况才可以确定出,因此,第一类编号所对应的数据包仅仅是服务端所确定出的已丢失的目标数据包的一部分。
在本发明的一个具体实施例中,可以按照以下方式向客户端重传目标数据包:
A、判断目标数据包是否已被服务端发送且目标次数是否大于预设数量,如果均为是,则基于UDP协议重传目标数据包至客户端;其中,目标次数为服务端收到表明该目标数据包已丢失的收包信息的累计次数。
或者,
B、判断目标数据包是否已被服务端发送且目标次数是否大于预设数量,如果均为是,等待预设时间t,如果在预设时间t内服务端继续收到表明该目标数据包已丢失的收包信息,则基于UDP协议重传目标数据包至客户端。
需要说明的是,在服务端向客户端传输数据包的过程中,可能会由于网络原因导致客户端暂时未接收到服务端已发送出的数据包,但是,如果数据包一旦被客户端判断为已丢失的目标数据包就重传该数据包,除了增大需要重传的数据包的数量外,还会造成服务端额外的不必要的重传数据包的操作。因此,方式A是在服务端多次接收表明该目标数据包已丢失的收包信息时,才重传该数据包的;而方式B在方式A的基础之上,还需要等待一个预设时间t,这样又充分考虑到了因网络等原因造成的客户端暂时未接收到服务端已发送出的数据包的情况,也避免了客户端已接收到的数据包的编号出现乱序的问题,尽可能减少服务端不必要的重传数据包的操作。
还需要说明的是,本发明实施例并不需要对预设数量的具体数值进行限定,也不需要对所等待的预设时间t的具体数值进行限定,本领域内的技术人员需要根据实际应用中的具体情况进行合理的设置。
对于收包信息中携带有第一类编号和第三类编号的情况,在本发明的另一个具体实施例中,可以按照以下方式向客户端重传目标数据包:
C、判断目标数据包是否满足第一重传条件,如果是,则基于UDP协议重传目标数据包至客户端,第一重传条件为:目标数据包已被服务端发送,目标数据包的编号为服务端当前需要发送的数据包的编号,且距离上一次传输目标数据包的时间间隔大于预设的重传超时时间。
需要说明的是,方式C适用于目标数据包为服务端当前需要发送的数据包的情况,并且,在该目标数据包距离上一次传输的时间间隔大于预设的重传超时时间时,表明该目标数据包已丢失,因此,需要基于UDP协议重传目标数据包至客户端。
或者,
D、判断目标数据包是否未被服务端发送,且目标数据包的编号与服务端当前需要发送的数据包的编号之差是否小于第一预设阈值,如果均为是,则基于UDP协议重传目标数据包至客户端。
需要说明的是,方式D在判断出该目标数据包为被服务端发送的同时,还需要判断该目标数据包与当前需要发送的数据包的编号之差是否小于第一预设阈值,若小于,则表明该目标数据包的编号与当前需要发送的目标数据包的编号较接近,重传这样的目标数据包,有利于保证客户端播放已接收到的数据包的过程中的流畅性,避免播放流式数据时出现卡顿的现象。
或者,
E、判断目标数据包是否满足第二重传条件,如果是,则基于UDP协议重传目标数据包至客户端,第二重传条件为:目标数据包未被服务端发送,服务端已重传数据包的重传累计次数小于第二预设阈值,且目标数据包的编号与服务端当前需要发送的数据包的编号之差小于第三预设阈值;其中,当前需要发送的数据包的编号为:服务端所收到的收包信息中的第三类编号所对应的下一编号。具体的,第三预设阈值为:预设的数据包并行发送数量的二分之一。
需要说明的是,方式E在方式D的基础之上还考虑了服务端已重传数据包的一个重传累计次数,当服务端的已重传数据包的重传累计次数小于第二预设阈值时,表明服务端当前具有重传数据包的能力,否则表明服务端当前不具有重传数据包的能力。还需要说明的是,可以根据当前的网络状态,设置合适的第二预设阈值,例如,当传输网络的速率低于500kb时,将第二预设阈值设置为5;当传输网络的速率位于500kb-800kb之间时,将第二预设阈值设置为6;而当传输网络的速率位于800kb-1000kb之间时,将第二预设阈值设置为8,等等。
需要说明的是,本发明实施例并不需要对预设的重传超时时间的具体数值进行限定,也不需要对第一预设阈值、第二预设阈值、第三预设阈值具体数值分别进行限定,本领域内的技术人员需要根据实际应用中的具体情况进行合理的设置。
一种实现方式中,服务端记录有发送每一数据包时的发送时间戳,且记录有接收每一相关收包信息的接收时间戳;其中,相关收包信息为:表明数据包被接收到或已丢失的收包信息。
相应的,在方式C中判断目标数据包是否满足第一重传条件的步骤之前,还可以包括以下步骤:
C1、根据目标发送时间戳和目标接收时间戳,确定当前的目标网络状态;其中,目标发送时间戳为发送目标数据包时的时间戳,目标接收时间戳为服务端接收表明目标数据包被接收到的相关收包信息的时间戳。
C2、根据预设的网络状态与重传超时时间之间的对应关系,确定目标网络状态所对应的目标重传超时时间。
一种实现方式中,可以将网络状态划分为2个等级,对于网络状态较好的第一等级,可以将重传超时时间设置为100ms,而对于网络状态较差的第二等级,可以将重传超时时间设置为200ms。需要说明的是,上述仅仅是列举了一种网络状态与重传超时时间之间的具体的对应关系,本发明实施例并不需要对所预设的网络状态的等级进行限定,也不需要对各个网络状态所对应的重传超时时间的具体数值进行限定,本领域内的技术人员需要根据实际应用中的具体请进行合理的设置。
C3、将当前的重传超时时间更新为目标重传超时时间,以便服务端基于更新后的重传超时时间判断目标数据包是否满足第一重传条件。
需要说明的是,步骤C1-C2充分考虑了当前的网络状态,并根据当前的网络状态设置合适的重传超时时间,这样,有利于提高所确定出的已丢失的目标数据包的准确性,尽可能减少服务端不必要的重传数据包的操作。
应用本发明实施例提供的方案进行数据传输时,服务端基于UDP协议向客户端传输各个数据包,并根据收包信息重传已丢失的目标数据包,另外当出现数据包丢失时,UDP协议无需调窄传输网络的频带宽度,不易造成数据包的堆积,可见,在减少数据包丢失的过程中,避免了传输网络中的数据包堵塞的问题。
如图2所示,为本发明实施例提供的一种数据传输方法,应用于客户端,该方法可以包括以下步骤:
S201:向服务端发送数据包传输请求。
一种实现方式中,数据包传输请求中可以携带客户端的唯一标识,以便服务端后续基于该请求中携带的唯一标识向该客户端传输数据。
S202:接收服务端基于UDP协议传输的、与数据包传输请求相对应的数据包。
其中,每一数据包中携带有与自身对应的编号,且数据包为服务端按照数据包发送传输的,数据包发送顺序为根据各个数据包的编号所确定出的顺序。
具体的,当客户端向服务端发送数据包传输请求后,服务端可以根据该请求向该客户端传输数据,客户端可以接收到服务端基于UDP协议所传输的数据包,在接收到数据包之后,可以基于预设的数据包解析规则,获得各数据包中所携带的与数据包自身对应的编号,这样,客户端可以根据自身已接收到的数据包的编号执行后续向服务端反馈收包信息的步骤。
S203:当满足预设的收包信息反馈条件时,向服务端反馈收包信息。
S204:接收服务端基于UDP协议重传的目标数据包。
其中,目标数据包为服务端根据收包信息确定出的已丢失的目标数据包。
具体的,预设的收包信息反馈条件为:所接收到的数据包的编号不连续。例如,当客户端已接受到的数据包的编号为1、2、3时,若当前接收到的数据包的编号为5,显然,接收到的数据包的编号已不连续了,可以判定当前满足预设的收包信息反馈条件。
一种实现方式中,收包信息中可以携带有第一类编号、第二类编号或第三类编号。其中,第一类编号为客户端自身确定出的已丢失的数据包的编号;第二类编号为客户端所期望数据包的编号,所期望数据包为:编号位于客户端所接收到的数据包的最大编号之后、且编号与最大编号相连续的预设数量个数据包;第三类编号为客户端接收到的数据包的最大编号。
另一种实现方式中,收包信息中可以携带有第一类编号和第二类编号。其中,第一类编号为客户端自身确定出的已丢失的数据包的编号,第二类编号为客户端所期望数据包的编号,所期望数据包为:编号位于客户端所接收到的数据包的最大编号之后、且编号与最大编号相连续的预设数量个数据包。
又一种实现方式中,收包信息中可以携带第一类编号和第三类编号。其中,第一类编号客户端自身确定出的已丢失的数据包的编号,第三类编号为客户端接收到的数据包的最大编号。
需要说明的是,图1所示方法实施例中已经对上述实现方式进行了详细介绍,相关之处可以参考图1所示方法实施例,此处不再赘述。
作为本发明的一种具体实现方式,可以通过以下方式判断是否满足预设的收包信息反馈条件:
判断当前数据包的编号与已接收到的数据包的编号是否连续;
若不连续,则判定满足所述收包信息反馈条件;
若连续,则检测与当前数据包的编号相连续的上一数据包的编号是否被标记为待反馈编号,若为是,则判定满足所述收包信息反馈条件,若为否,则将当前数据包的编号标记为待反馈编号,并将接收的下一数据包确定为当前数据包,并继续执行上述判断当前数据包的编号与已接收到的数据包的编号是否连续的步骤。
举例而言,假设客户端已经接收到的数据包的编号为1、2、3、4、5,而当前数据包的编号为7,显然,当前数据包的编号7与已接收到的数据包的编号1、2、3、4、5不连续,因此可以判定此时满足收包信息反馈条件,此时客户端需要向服务端反馈收包信息。
又如,同样假设客户端已经接收到的数据包的编号为1、2、3、4、5,而当前数据包的编号为6,并且检测到与当前数据包的编号6相连的上一数据包的编号5并未被标记为待反馈编号,因此需要将当前数据包的编号标记为待反馈编号,然后继续接收下一数据包,且确定下一数据包为当前数据包,假设新确定的当前数据包的编号为7,可以判定新确定的当前数据包的编号7与已接收到的数据包的编号1、2、3、4、5、6是连续的,并且检测到与新确定的当前数据包的编号7相连的上一数据包的编号6已被标注为待反馈编号,因此可以判定满足收包信息反馈条件,此时客户端需要向服务端反馈收包信息。
应用本发明实施例提供的方案进行数据传输时,服务端基于UDP协议向客户端传输各个数据包,并根据收包信息重传已丢失的目标数据包,另外当出现数据包丢失时,UDP协议无需调窄传输网络的频带宽度,不易造成数据包的堆积,可见,在减少数据包丢失的过程中,避免了传输网络中的数据包堵塞的问题。
下面再对本发明实施例提供的数据传输装置进行说明。
如图3所示,为本发明实施例提供的一种数据传输装置,应用于服务端,该装置可以包括以下模块:
传输请求接收模块310,用于接收客户端发送的数据包传输请求。
数据包发送模块320,用于按照数据包发送顺序,基于UDP协议向客户端传输与数据包请求所对应的各个数据包。
其中,每一数据包中携带有与自身对应的编号,数据包发送顺序为根据各个数据包的编号所确定出的顺序。
收包信息接收模块330,用于接收客户端反馈的收包信息。
目标数据包确定模块340,用于根据收包信息确定已丢失的目标数据包。
目标数据包重传模块350,用于基于UDP协议向客户端重传目标数据包。
应用本发明实施例提供的方案进行数据传输时,服务端基于UDP协议向客户端传输各个数据包,并根据收包信息重传已丢失的目标数据包,另外当出现数据包丢失时,UDP协议无需调窄传输网络的频带宽度,不易造成数据包的堆积,可见,在减少数据包丢失的过程中,避免了传输网络中的数据包堵塞的问题。
一种实现方式中,收包信息中携带有第一类编号、第二类编号或第三类编号;其中,第一类编号为客户端自身确定出的已丢失的数据包的编号;第二类编号为客户端所期望数据包的编号,所期望数据包为:编号位于客户端所接收到的数据包的最大编号之后、且编号与最大编号相连续的预设数量个数据包;第三类编号为客户端接收到的数据包的最大编号;
相应的,目标数据包确定模块340,具体用于:
根据收包信息中的第一类编号、第二类编号或第三类编号,确定已丢失的目标数据包。
另一种实现方式中,收包信息中携带有第一类编号和第二类编号,第一类编号为客户端自身确定出的已丢失的数据包的编号,第二类编号为客户端所期望数据包的编号,所期望数据包为:编号位于客户端所接收到的数据包的最大编号之后、且编号与最大编号相连续的预设数量个数据包;
相应的,目标数据包确定模块340,具体用于:
根据收包信息中的第一类编号和第二类编号,确定已丢失的目标数据包。
又一种实现方式中,收包信息中携带第一类编号和第三类编号,第一类编号为客户端自身确定出的已丢失的数据包的编号,第三类编号为客户端接收到的数据包的最大编号;
相应的,目标数据包确定模块340,具体用于:
根据收包信息中的第一类编号和第三类编号,确定已丢失的目标数据包。
具体的,目标数据包重传模块350,可以包括:
传输判断子模块,用于在向客户端传输每一数据包之前,判断是否允许向客户端传输数据包;
第一传输子模块,用于在传输判断模块的判断结果为允许时,基于UDP协议向客户端传输该数据包;
第一传输子模块,用于在传输判断子模块的判断结果为不允许时,将该数据包存入缓存区中,并在检测到允许向客户端传输数据包时,基于UDP协议向客户端传输该已存入缓存区中的数据包。
一种实现方式中,传输判断子模块,具体用于:
判断特定数据包的数量是否小于预设的数据包并行发送数量,如果是,判定允许向客户端传输数据包;
其中,特定数据包为:已被服务端发送、但服务端未收到相关收包信息的数据包,相关收包信息为:表明数据包被接收到或已丢失的收包信息。
在本发明的一个具体实施例中,目标数据包重传模块350,具体用于:
判断目标数据包是否已被服务端发送且目标次数是否大于预设数量,如果均为是,则基于UDP协议重传目标数据包至客户端;其中,目标次数为服务端收到表明该目标数据包已丢失的收包信息的累计次数;
或者,
判断目标数据包是否已被服务端发送且目标次数是否大于预设数量,如果均为是,等待预设时间t,如果在预设时间t内服务端继续收到表明该目标数据包已丢失的收包信息,则基于UDP协议重传目标数据包至客户端。
在本发明的另一个具体实施例中,对于收包信息中携带有第一类编号和第三类编号的情况,该目标数据包重传模块350,具体用于:
判断目标数据包是否满足第一重传条件,如果是,则基于UDP协议重传目标数据包至客户端,第一重传条件为:目标数据包已被服务端发送,目标数据包的编号为服务端当前需要发送的数据包的编号,且距离上一次传输目标数据包的时间间隔大于预设的重传超时时间;
或者,
判断目标数据包是否未被服务端发送,且目标数据包的编号与服务端当前需要发送的数据包的编号之差是否小于第一预设阈值,如果均为是,则基于UDP协议重传目标数据包至客户端;
或者,
判断目标数据包是否满足第二重传条件,如果是,则基于UDP协议重传目标数据包至客户端,第二重传条件为:目标数据包未被服务端发送,服务端已重传数据包的重传累计次数小于第二预设阈值,且目标数据包的编号与服务端当前需要发送的数据包的编号之差小于第三预设阈值;
其中,当前需要发送的数据包的编号为:服务端所收到的收包信息中的第三类编号所对应的下一编号。
具体的,服务端记录有发送每一数据包时的发送时间戳,且记录有接收每一相关收包信息的接收时间戳;其中,相关收包信息为:表明数据包被接收到或已丢失的收包信息;
该数据传输装置还可以包括:网络状态确定模块、重传超时时间确定模块和重传超时时间更新模块。
其中,网络状态确定模块,用于在目标数据包重传模块350判断目标数据包是否满足第一重传条件之前,根据目标发送时间戳和目标接收时间戳,确定当前的目标网络状态;其中,目标发送时间戳为发送目标数据包时的时间戳,目标接收时间戳为服务端接收表明目标数据包被接收到的相关收包信息的时间戳;
重传超时时间确定模块,用于根据预设的网络状态与重传超时时间之间的对应关系,确定目标网络状态所对应的目标重传超时时间;
重传超时时间更新模块,用于将当前的重传超时时间更新为目标重传超时时间,以便服务端基于更新后的重传超时时间判断目标数据包是否满足第一重传条件。
如图4所示,为本发明实施例提供的另一种数据传输装置,应用于客户端,该装置可以包括以下模块:
传请求发送模块410,用于向服务端发送数据包传输请求。
数据包接收模块420,用于接收服务端基于UDP协议传输的、与数据包传输请求相对应的数据包。
其中,每一数据包中携带有与自身对应的编号,且数据包为服务端按照数据包发送传输的,数据包发送顺序为根据各个数据包的编号所确定出的顺序。
收包信息发送模块430,用于当满足预设的收包信息反馈条件时,向服务端反馈收包信息。
目标数据包接收模块440,用于接收服务端基于UDP协议重传的目标数据包。
其中,目标数据包为服务端根据收包信息确定出的已丢失的目标数据包
应用本发明实施例提供的方案进行数据传输时,服务端基于UDP协议向客户端传输各个数据包,并根据收包信息重传已丢失的目标数据包,另外当出现数据包丢失时,UDP协议无需调窄传输网络的频带宽度,不易造成数据包的堆积,可见,在减少数据包丢失的过程中,避免了传输网络中的数据包堵塞的问题。
一种实现方式中,收包信息中可以携带有第一类编号、第二类编号或第三类编号。其中,第一类编号为客户端自身确定出的已丢失的数据包的编号;第二类编号为客户端所期望数据包的编号,所期望数据包为:编号位于客户端所接收到的数据包的最大编号之后、且编号与最大编号相连续的预设数量个数据包;第三类编号为客户端接收到的数据包的最大编号。
另一种实现方式中,收包信息中可以携带有第一类编号和第二类编号。其中,第一类编号为客户端自身确定出的已丢失的数据包的编号,第二类编号为客户端所期望数据包的编号,所期望数据包为:编号位于客户端所接收到的数据包的最大编号之后、且编号与最大编号相连续的预设数量个数据包。
又一种实现方式中,收包信息中可以携带第一类编号和第三类编号。其中,第一类编号客户端自身确定出的已丢失的数据包的编号,第三类编号为客户端接收到的数据包的最大编号。
具体的,收包信息发送模块,具体用于通过以下方式判断是否满足预设的收包信息反馈条件:
判断当前数据包的编号与已接收到的数据包的编号是否连续;
若不连续,则判定满足收包信息反馈条件;
若连续,则检测与当前数据包的编号相连续的上一数据包的编号是否被标记为待反馈编号,若为是,则判定满足收包信息反馈条件,若为否,则将当前数据包的编号标记为待反馈编号,并将接收的下一数据包确定为当前数据包,并继续执行判断当前数据包的编号与已接收到的数据包的编号是否连续的步骤。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (18)
1.一种数据传输方法,其特征在于,应用于服务端,所述方法包括:
接收客户端发送的数据包传输请求;
按照数据包发送顺序,基于UDP协议向所述客户端传输与所述数据包请求所对应的各个数据包;其中,每一数据包中携带有与自身对应的编号,所述数据包发送顺序为根据各个数据包的编号所确定出的顺序;
接收所述客户端反馈的收包信息;
根据所述收包信息确定已丢失的目标数据包,并基于UDP协议向所述客户端重传所述目标数据包;
其中,所述基于UDP协议向所述客户端传输与所述数据包请求所对应的各个数据包,包括:
在向所述客户端传输每一数据包之前,判断是否允许向所述客户端传输数据包;
若允许,则基于UDP协议向所述客户端传输该数据包;
若不允许,则将该数据包存入缓存区中,并在检测到允许向所述客户端传输数据包时,基于UDP协议向所述客户端传输该已存入缓存区中的数据包;
其中,所述判断是否允许向所述客户端传输数据包,包括:
判断特定数据包的数量是否小于预设的数据包并行发送数量,如果是,判定允许向所述客户端传输数据包;
其中,所述特定数据包为:已被所述服务端发送、但所述服务端未收到相关收包信息的数据包,所述相关收包信息为:表明数据包被接收到或已丢失的收包信息;所述数据包并行发送数量至少能够根据当前的网络状态设定。
2.根据权利要求1所述的方法,其特征在于,所述收包信息中携带有第一类编号、第二类编号或第三类编号;其中,所述第一类编号为所述客户端自身确定出的已丢失的数据包的编号;所述第二类编号为所述客户端所期望数据包的编号,所述所期望数据包为:编号位于所述客户端所接收到的数据包的最大编号之后、且编号与所述最大编号相连续的预设数量个数据包;所述第三类编号为所述客户端接收到的数据包的最大编号;
所述根据所述收包信息确定已丢失的目标数据包的步骤,包括:
根据所述收包信息中的第一类编号、第二类编号或第三类编号,确定已丢失的目标数据包。
3.根据权利要求1所述的方法,其特征在于,所述收包信息中携带有第一类编号和第二类编号,所述第一类编号为所述客户端自身确定出的已丢失的数据包的编号,所述第二类编号为所述客户端所期望数据包的编号,所述所期望数据包为:编号位于所述客户端所接收到的数据包的最大编号之后、且编号与所述最大编号相连续的预设数量个数据包;
所述根据所述收包信息确定已丢失的目标数据包的步骤,包括:
根据所述收包信息中的第一类编号和第二类编号,确定已丢失的目标数据包。
4.根据权利要求1所述的方法,其特征在于,所述收包信息中携带第一类编号和第三类编号,所述第一类编号为所述客户端自身确定出的已丢失的数据包的编号,所述第三类编号为所述客户端接收到的数据包的最大编号;
所述根据所述收包信息确定已丢失的目标数据包的步骤,包括:
根据所述收包信息中的第一类编号和第三类编号,确定已丢失的目标数据包。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述基于UDP协议向所述客户端重传所述目标数据包,包括:
判断所述目标数据包是否已被所述服务端发送且目标次数是否大于预设数量,如果均为是,则基于UDP协议重传所述目标数据包至所述客户端;其中,所述目标次数为所述服务端收到表明该目标数据包已丢失的收包信息的累计次数;
或者,
判断所述目标数据包是否已被所述服务端发送且目标次数是否大于预设数量,如果均为是,等待预设时间t,如果在预设时间t内所述服务端继续收到表明该目标数据包已丢失的收包信息,则基于UDP协议重传所述目标数据包至所述客户端。
6.根据权利要求4所述的方法,其特征在于,所述基于UDP协议向所述客户端重传所述目标数据包,包括:
判断所述目标数据包是否满足第一重传条件,如果是,则基于UDP协议重传所述目标数据包至所述客户端,所述第一重传条件为:所述目标数据包已被所述服务端发送,所述目标数据包的编号为所述服务端当前需要发送的数据包的编号,且距离上一次传输所述目标数据包的时间间隔大于预设的重传超时时间;
或者,
判断所述目标数据包是否未被所述服务端发送,且所述目标数据包的编号与所述服务端当前需要发送的数据包的编号之差是否小于第一预设阈值,如果均为是,则基于UDP协议重传所述目标数据包至所述客户端;
或者,
判断所述目标数据包是否满足第二重传条件,如果是,则基于UDP协议重传所述目标数据包至所述客户端,所述第二重传条件为:所述目标数据包未被所述服务端发送,所述服务端已重传数据包的重传累计次数小于第二预设阈值,且所述目标数据包的编号与所述服务端当前需要发送的数据包的编号之差小于第三预设阈值;
其中,所述当前需要发送的数据包的编号为:所述服务端所收到的所述收包信息中的所述第三类编号所对应的下一编号。
7.根据权利要求6所述的方法,其特征在于,所述服务端记录有发送每一数据包时的发送时间戳,且记录有接收每一相关收包信息的接收时间戳;其中,所述相关收包信息为:表明数据包被接收到或已丢失的收包信息;
所述判断所述目标数据包是否满足第一重传条件的步骤之前,所述方法还包括:
根据目标发送时间戳和目标接收时间戳,确定当前的目标网络状态;其中,所述目标发送时间戳为发送所述目标数据包时的时间戳,所述目标接收时间戳为所述服务端接收表明所述目标数据包被接收到的相关收包信息的时间戳;
根据预设的网络状态与重传超时时间之间的对应关系,确定所述目标网络状态所对应的目标重传超时时间;
将当前的重传超时时间更新为所述目标重传超时时间,以便所述服务端基于更新后的重传超时时间判断所述目标数据包是否满足所述第一重传条件。
8.一种数据传输方法,其特征在于,应用于客户端,所述方法包括:
向服务端发送数据包传输请求;
接收所述服务端基于UDP协议传输的、与所述数据包传输请求相对应的数据包;其中,每一数据包中携带有与自身对应的编号,且所述数据包为所述服务端按照数据包发送传输的,所述数据包发送顺序为根据各个数据包的编号所确定出的顺序;其中,所述服务端在向所述客户端传输每一数据包之前,判断是否允许向所述客户端传输数据包;若允许,则基于UDP协议向所述客户端传输该数据包;若不允许,则将该数据包存入缓存区中,并在检测到允许向所述客户端传输数据包时,基于UDP协议向所述客户端传输该已存入缓存区中的数据包;其中,所述判断是否允许向所述客户端传输数据包,包括:判断特定数据包的数量是否小于预设的数据包并行发送数量,如果是,判定允许向所述客户端传输数据包;其中,所述特定数据包为:已被所述服务端发送、但所述服务端未收到相关收包信息的数据包,所述相关收包信息为:表明数据包被接收到或已丢失的收包信息;所述数据包并行发送数量至少能够根据当前的网络状态设定;当满足预设的收包信息反馈条件时,向所述服务端反馈收包信息;
接收所述服务端基于UDP协议重传的目标数据包;其中,所述目标数据包为所述服务端根据所述收包信息确定出的已丢失的目标数据包。
9.根据权利要求8所述的方法,其特征在于,通过以下方式判断是否满足预设的收包信息反馈条件,包括:
判断当前数据包的编号与已接收到的数据包的编号是否连续;
若不连续,则判定满足所述收包信息反馈条件;
若连续,则检测与当前数据包的编号相连续的上一数据包的编号是否被标记为待反馈编号,若为是,则判定满足所述收包信息反馈条件,若为否,则将当前数据包的编号标记为待反馈编号,并将接收的下一数据包确定为当前数据包,并继续执行所述判断当前数据包的编号与已接收到的数据包的编号是否连续的步骤。
10.一种数据传输装置,其特征在于,应用于服务端,所述装置包括:
传输请求接收模块,用于接收客户端发送的数据包传输请求;
数据包发送模块,用于按照数据包发送顺序,基于UDP协议向所述客户端传输与所述数据包请求所对应的各个数据包;其中,每一数据包中携带有与自身对应的编号,所述数据包发送顺序为根据各个数据包的编号所确定出的顺序;
收包信息接收模块,用于接收所述客户端反馈的收包信息;
目标数据包确定模块,用于根据所述收包信息确定已丢失的目标数据包;
目标数据包重传模块,用于基于UDP协议向所述客户端重传所述目标数据包;
其中,所述目标数据包重传模块,包括:
传输判断子模块,用于在向所述客户端传输每一数据包之前,判断是否允许向所述客户端传输数据包;
第一传输子模块,用于在所述传输判断模块的判断结果为允许时,基于UDP协议向所述客户端传输该数据包;
第一传输子模块,用于在所述传输判断子模块的判断结果为不允许时,将该数据包存入缓存区中,并在检测到允许向所述客户端传输数据包时,基于UDP协议向所述客户端传输该已存入缓存区中的数据包;
其中,所述传输判断子模块,具体用于:
判断特定数据包的数量是否小于预设的数据包并行发送数量,如果是,判定允许向所述客户端传输数据包;
其中,所述特定数据包为:已被所述服务端发送、但所述服务端未收到相关收包信息的数据包,所述相关收包信息为:表明数据包被接收到或已丢失的收包信息;所述数据包并行发送数量至少能够根据当前的网络状态设定。
11.根据权利要求10所述的装置,其特征在于,所述收包信息中携带有第一类编号、第二类编号或第三类编号;其中,所述第一类编号为所述客户端自身确定出的已丢失的数据包的编号;所述第二类编号为所述客户端所期望数据包的编号,所述所期望数据包为:编号位于所述客户端所接收到的数据包的最大编号之后、且编号与所述最大编号相连续的预设数量个数据包;所述第三类编号为所述客户端接收到的数据包的最大编号;
所述目标数据包确定模块,具体用于:
根据所述收包信息中的第一类编号、第二类编号或第三类编号,确定已丢失的目标数据包。
12.根据权利要求10所述的装置,其特征在于,所述收包信息中携带有第一类编号和第二类编号,所述第一类编号为所述客户端自身确定出的已丢失的数据包的编号,所述第二类编号为所述客户端所期望数据包的编号,所述所期望数据包为:编号位于所述客户端所接收到的数据包的最大编号之后、且编号与所述最大编号相连续的预设数量个数据包;
所述目标数据包确定模块,具体用于:
根据所述收包信息中的第一类编号和第二类编号,确定已丢失的目标数据包。
13.根据权利要求10所述的装置,其特征在于,所述收包信息中携带第一类编号和第三类编号,所述第一类编号为所述客户端自身确定出的已丢失的数据包的编号,所述第三类编号为所述客户端接收到的数据包的最大编号;
所述目标数据包确定模块,具体用于:
根据所述收包信息中的第一类编号和第三类编号,确定已丢失的目标数据包。
14.根据权利要求10-13任一项所述的装置,其特征在于,所述目标数据包重传模块,具体用于:
判断所述目标数据包是否已被所述服务端发送且目标次数是否大于预设数量,如果均为是,则基于UDP协议重传所述目标数据包至所述客户端;其中,所述目标次数为所述服务端收到表明该目标数据包已丢失的收包信息的累计次数;
或者,
判断所述目标数据包是否已被所述服务端发送且目标次数是否大于预设数量,如果均为是,等待预设时间t,如果在预设时间t内所述服务端继续收到表明该目标数据包已丢失的收包信息,则基于UDP协议重传所述目标数据包至所述客户端。
15.根据权利要求11所述的装置,其特征在于,所述目标数据包重传模块,具体用于:
判断所述目标数据包是否满足第一重传条件,如果是,则基于UDP协议重传所述目标数据包至所述客户端,所述第一重传条件为:所述目标数据包已被所述服务端发送,所述目标数据包的编号为所述服务端当前需要发送的数据包的编号,且距离上一次传输所述目标数据包的时间间隔大于预设的重传超时时间;
或者,
判断所述目标数据包是否未被所述服务端发送,且所述目标数据包的编号与所述服务端当前需要发送的数据包的编号之差是否小于第一预设阈值,如果均为是,则基于UDP协议重传所述目标数据包至所述客户端;
或者,
判断所述目标数据包是否满足第二重传条件,如果是,则基于UDP协议重传所述目标数据包至所述客户端,所述第二重传条件为:所述目标数据包未被所述服务端发送,所述服务端已重传数据包的重传累计次数小于第二预设阈值,且所述目标数据包的编号与所述服务端当前需要发送的数据包的编号之差小于第三预设阈值;
其中,所述当前需要发送的数据包的编号为:所述服务端所收到的所述收包信息中的所述第三类编号所对应的下一编号。
16.根据权利要求15所述的装置,其特征在于,所述服务端记录有发送每一数据包时的发送时间戳,且记录有接收每一相关收包信息的接收时间戳;其中,所述相关收包信息为:表明数据包被接收到或已丢失的收包信息;
所述装置还包括:网络状态确定模块、重传超时时间确定模块和重传超时时间更新模块;其中,
所述网络状态确定模块,用于在所述目标数据包重传模块判断所述目标数据包是否满足第一重传条件之前,根据目标发送时间戳和目标接收时间戳,确定当前的目标网络状态;其中,所述目标发送时间戳为发送所述目标数据包时的时间戳,所述目标接收时间戳为所述服务端接收表明所述目标数据包被接收到的相关收包信息的时间戳;
所述重传超时时间确定模块,用于根据预设的网络状态与重传超时时间之间的对应关系,确定所述目标网络状态所对应的目标重传超时时间;
所述重传超时时间更新模块,用于将当前的重传超时时间更新为所述目标重传超时时间,以便所述服务端基于更新后的重传超时时间判断所述目标数据包是否满足所述第一重传条件。
17.一种数据传输装置,其特征在于,应用于客户端,所述装置包括:
传请求发送模块,用于向服务端发送数据包传输请求;
数据包接收模块,用于接收所述服务端基于UDP协议传输的、与所述数据包传输请求相对应的数据包;其中,每一数据包中携带有与自身对应的编号,且所述数据包为所述服务端按照数据包发送传输的,所述数据包发送顺序为根据各个数据包的编号所确定出的顺序;其中,所述服务端在向所述客户端传输每一数据包之前,判断是否允许向所述客户端传输数据包;若允许,则基于UDP协议向所述客户端传输该数据包;若不允许,则将该数据包存入缓存区中,并在检测到允许向所述客户端传输数据包时,基于UDP协议向所述客户端传输该已存入缓存区中的数据包;其中,所述判断是否允许向所述客户端传输数据包,包括:判断特定数据包的数量是否小于预设的数据包并行发送数量,如果是,判定允许向所述客户端传输数据包;其中,所述特定数据包为:已被所述服务端发送、但所述服务端未收到相关收包信息的数据包,所述相关收包信息为:表明数据包被接收到或已丢失的收包信息;所述数据包并行发送数量至少能够根据当前的网络状态设定;
收包信息发送模块,用于当满足预设的收包信息反馈条件时,向所述服务端反馈收包信息;
目标数据包接收模块,用于接收所述服务端基于UDP协议重传的目标数据包;其中,所述目标数据包为所述服务端根据所述收包信息确定出的已丢失的目标数据包。
18.根据权利要求17所述的装置,其特征在于,所述收包信息发送模块,具体用于通过以下方式判断是否满足预设的收包信息反馈条件:
判断当前数据包的编号与已接收到的数据包的编号是否连续;
若不连续,则判定满足所述收包信息反馈条件;
若连续,则检测与当前数据包的编号相连续的上一数据包的编号是否被标记为待反馈编号,若为是,则判定满足所述收包信息反馈条件,若为否,则将当前数据包的编号标记为待反馈编号,并将接收的下一数据包确定为当前数据包,并继续执行所述判断当前数据包的编号与已接收到的数据包的编号是否连续的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610934660.6A CN107979449B (zh) | 2016-10-25 | 2016-10-25 | 一种数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610934660.6A CN107979449B (zh) | 2016-10-25 | 2016-10-25 | 一种数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107979449A CN107979449A (zh) | 2018-05-01 |
CN107979449B true CN107979449B (zh) | 2020-11-20 |
Family
ID=62004791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610934660.6A Active CN107979449B (zh) | 2016-10-25 | 2016-10-25 | 一种数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107979449B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109560901B (zh) * | 2018-11-14 | 2021-09-21 | 广州虎牙信息科技有限公司 | 一种数据重传方法、装置、终端设备及存储介质 |
CN111830913A (zh) * | 2019-04-22 | 2020-10-27 | 北京国电智深控制技术有限公司 | 一种数据获取方法及装置 |
CN112398797B (zh) * | 2019-08-19 | 2023-05-02 | 贵州白山云科技股份有限公司 | 数据传输方法、接收装置、发送装置、介质、设备及系统 |
CN112769708A (zh) * | 2019-11-05 | 2021-05-07 | 北京华为数字技术有限公司 | 数据传输的方法、装置及计算机可读存储介质 |
CN111404872A (zh) * | 2019-11-21 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 一种报文处理方法、装置及系统 |
CN111371887B (zh) * | 2020-03-02 | 2022-10-04 | 杭州海康威视数字技术股份有限公司 | 物联网日志传输方法、客户端、服务端、设备及存储介质 |
CN113708895B (zh) * | 2020-05-21 | 2023-04-07 | 北京金山云网络技术有限公司 | 数据传输方法、装置及电子设备 |
CN113765726B (zh) * | 2020-06-02 | 2023-08-04 | 中国移动通信集团安徽有限公司 | S1-u口数据包丢包数的统计方法、装置及计算设备 |
CN112583672B (zh) * | 2020-12-18 | 2023-05-19 | 北京睿芯高通量科技有限公司 | 一种基于时间戳的tcp服务端稳定性测试方法 |
CN113300818B (zh) * | 2021-02-08 | 2023-04-28 | 阿里巴巴集团控股有限公司 | 数据传输系统及方法 |
CN113055193B (zh) * | 2021-03-16 | 2023-02-17 | 盛立安元科技(杭州)股份有限公司 | 一种数据多播传输方法、装置、设备及存储介质 |
CN112929455B (zh) * | 2021-05-11 | 2021-09-10 | 北京华云安信息技术有限公司 | 基于udp的数据传输方法、装置、设备和可读存储介质 |
CN114070877B (zh) * | 2021-11-18 | 2023-10-20 | 北京云上曲率科技有限公司 | 基于用户数据报协议的数据传输方法、服务端及客户端 |
CN117749789A (zh) * | 2024-02-07 | 2024-03-22 | 成都倍特数字能源科技有限公司 | 一种基于udp协议的传输方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503535A (zh) * | 2002-11-20 | 2004-06-09 | 华为技术有限公司 | 简单网络管理协议中数据包传送的可靠性保证方法 |
CN1754364A (zh) * | 2003-02-28 | 2006-03-29 | 索尼株式会社 | 发射/接收系统、发射设备和方法及接收设备和方法 |
CN101262321A (zh) * | 2008-02-03 | 2008-09-10 | 杭州华三通信技术有限公司 | 媒体数据处理方法、编码设备及媒体平台 |
CN101436978A (zh) * | 2007-11-15 | 2009-05-20 | 盛乐信息技术(上海)有限公司 | 使用udp协议进行可靠数据传输的方法 |
CN101888544A (zh) * | 2010-06-30 | 2010-11-17 | 杭州海康威视数字技术股份有限公司 | 一种低带宽的视频数据传输方法和硬盘录像机 |
CN102045362A (zh) * | 2010-12-21 | 2011-05-04 | 北京高森明晨信息科技有限公司 | 一种基于udp协议的数据传输方法和系统 |
CN103533450A (zh) * | 2013-06-09 | 2014-01-22 | 浙江宇视科技有限公司 | 一种媒体流可靠传输和接收的方法以及装置 |
CN103957169A (zh) * | 2014-05-14 | 2014-07-30 | 上海复兰信息科技有限公司 | 一种基于反向请求的可靠udp的实现方法 |
CN104243267A (zh) * | 2014-09-18 | 2014-12-24 | 百度在线网络技术(北京)有限公司 | 数据传输方法及装置 |
JP2015216535A (ja) * | 2014-05-12 | 2015-12-03 | 株式会社東芝 | 通信システム、始端装置、中継装置及び終端装置 |
CN105791154A (zh) * | 2014-12-26 | 2016-07-20 | 浙江大华技术股份有限公司 | 一种基于udp的数据传输方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656597B (zh) * | 2009-09-14 | 2013-09-11 | 中兴通讯股份有限公司 | 数据接收和发送方法、装置及数据传输系统 |
CN103780971A (zh) * | 2012-10-23 | 2014-05-07 | 北京网动网络科技股份有限公司 | 一种互联网条件下基于rudp的实时视频传输方法 |
CN104125034A (zh) * | 2013-04-23 | 2014-10-29 | 深圳市同洲电子股份有限公司 | Udp数据包的传输方法及系统 |
CN104243097A (zh) * | 2014-09-19 | 2014-12-24 | 东软集团股份有限公司 | 基于卫星网络的数据传输方法及系统 |
-
2016
- 2016-10-25 CN CN201610934660.6A patent/CN107979449B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503535A (zh) * | 2002-11-20 | 2004-06-09 | 华为技术有限公司 | 简单网络管理协议中数据包传送的可靠性保证方法 |
CN1754364A (zh) * | 2003-02-28 | 2006-03-29 | 索尼株式会社 | 发射/接收系统、发射设备和方法及接收设备和方法 |
CN101436978A (zh) * | 2007-11-15 | 2009-05-20 | 盛乐信息技术(上海)有限公司 | 使用udp协议进行可靠数据传输的方法 |
CN101262321A (zh) * | 2008-02-03 | 2008-09-10 | 杭州华三通信技术有限公司 | 媒体数据处理方法、编码设备及媒体平台 |
CN101888544A (zh) * | 2010-06-30 | 2010-11-17 | 杭州海康威视数字技术股份有限公司 | 一种低带宽的视频数据传输方法和硬盘录像机 |
CN102045362A (zh) * | 2010-12-21 | 2011-05-04 | 北京高森明晨信息科技有限公司 | 一种基于udp协议的数据传输方法和系统 |
CN103533450A (zh) * | 2013-06-09 | 2014-01-22 | 浙江宇视科技有限公司 | 一种媒体流可靠传输和接收的方法以及装置 |
JP2015216535A (ja) * | 2014-05-12 | 2015-12-03 | 株式会社東芝 | 通信システム、始端装置、中継装置及び終端装置 |
CN103957169A (zh) * | 2014-05-14 | 2014-07-30 | 上海复兰信息科技有限公司 | 一种基于反向请求的可靠udp的实现方法 |
CN104243267A (zh) * | 2014-09-18 | 2014-12-24 | 百度在线网络技术(北京)有限公司 | 数据传输方法及装置 |
CN105791154A (zh) * | 2014-12-26 | 2016-07-20 | 浙江大华技术股份有限公司 | 一种基于udp的数据传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107979449A (zh) | 2018-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107979449B (zh) | 一种数据传输方法及装置 | |
EP1568180B1 (en) | A method for enhancing transmission quality of streaming media | |
US7707303B2 (en) | Method and devices for controlling retransmissions in data streaming | |
CN112165355B (zh) | 一种面向卫星网络的基于udp的可靠数据传输方法 | |
CN102143078B (zh) | 一种报文处理方法、转发设备及系统 | |
US9143450B2 (en) | Communication system and method for assisting with the transmission of TCP packets | |
CN106209915A (zh) | 一种实时流媒体无线传输方法及其系统 | |
US20040066742A1 (en) | Method and apparatus for multimedia streaming in a limited bandwidth network with a bottleneck link | |
EP1914933B1 (en) | Method and apparatus for retransmission request reduction in a network | |
CN102148662A (zh) | 一种数据发送速率的调整方法及装置 | |
EP3547690B1 (en) | Real-time video transmission method of multipath network | |
CN111131179B (zh) | 业务处理方法、装置、网络设备及存储介质 | |
JP4994283B2 (ja) | ホームゲートウェイ装置およびホームゲートウェイ装置の通信品質制御方法 | |
CN110602568B (zh) | 一种基于rtp的视频流传输丢包重传方法、设备及存储设备 | |
JP2005045469A (ja) | マルチメディアコンテンツ受信装置及びマルチメディアコンテンツ受信方法 | |
US20150117201A1 (en) | Data transmission system for networks with non-full-duplex or asymmetric transport | |
JP5375416B2 (ja) | ストリーム配信装置、ストリーム配信システム、ストリーム配信方法およびストリーム配信プログラム | |
CN115189809B (zh) | 基于qoe的异构网络实时视频传输arq与fec模式选择方法 | |
EP3907943B1 (en) | Round-trip estimation | |
Choi | RATE CONTROL OF REALTIME STREAMING APPLICATIONS IN WIRELESS NETWORKS | |
JP3594196B1 (ja) | データ伝送装置およびデータ伝送方法 | |
Sullivan et al. | A protocol for simultaneous real time playback and full quality storage of streaming media | |
CN112738096A (zh) | 一种高效可靠的数据传输方法及系统 | |
CN116566920A (zh) | 一种数据传输控制方法及相关装置 | |
JP2003198612A (ja) | パケット通信ネットワークにおけるファイル転送方法 |
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 |