CN112713967B - 数据传输方法及装置 - Google Patents
数据传输方法及装置 Download PDFInfo
- Publication number
- CN112713967B CN112713967B CN202011619962.7A CN202011619962A CN112713967B CN 112713967 B CN112713967 B CN 112713967B CN 202011619962 A CN202011619962 A CN 202011619962A CN 112713967 B CN112713967 B CN 112713967B
- Authority
- CN
- China
- Prior art keywords
- multimedia data
- time
- transmission
- packet
- determining
- 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
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/087—Jitter
-
- 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
- H04L65/762—Media network packet handling at the source
-
- 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/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Environmental & Geological Engineering (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书提供数据传输方法及装置,其中所述数据传输方法包括:接收发送端发送的多个多媒体数据包,并确定接收每个多媒体数据包的接收时间,每个多媒体数据包中包含多媒体数据编号和多媒体数据传输时间;根据所述多媒体数据编号确定丢包率,以及根据所述多媒体数据传输时间和所述接收时间确定传输抖动时间;根据所述丢包率和所述传输抖动时间生成传输调整策略,并向所述发送端反馈所述传输调整策略。
Description
技术领域
本说明书涉及多媒体数据传输技术领域,特别涉及数据传输方法及装置。
背景技术
随着互联网技术的发展,用户对网络传输性能的要求越来越高,而网络传输性能由于受多方面因素的影响,会出现一定的不确定性,如出现丢包、传输延迟的抖动的问题,从而导致发送端均匀产生的实时媒体数据经过传输后在接收端不均匀,直接播放不均匀的媒体数据会验证影响用户的收听/观看体验,现有技术为了避免该问题,通常需要在接收端进行缓存处理,即收到媒体数据后不立即播放,而是等待一段时间再根据媒体数据的时间信息和缓存偏移进行播放,以达到平滑数据的目的,但在实时场景下对缓存大小的设定较为困难,因此亟需一种有效的方案以解决设定缓存大小的问题。
发明内容
有鉴于此,本说明书实施例提供了一种数据传输方法。本说明书同时涉及一种数据传输装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据传输方法,包括:
可选地,所述接收发送端发送的多个多媒体数据包,并确定接收每个多媒体数据包的接收时间,包括:
在目标检测周期内接收所述发送端发送的所述多个多媒体数据包;
确定在所述目标检测周期内接收所述多个多媒体数据包中的各个多媒体数据包的接收时间。
可选地,所述根据所述多媒体数据编号确定丢包率,包括:
将所述目标检测周期的起始时间接收到的多媒体数据包作为起始多媒体数据包,以及将末端时间接收到的多媒体数据包作为末端多媒体数据包;
提取所述起始多媒体数据包中包含的起始多媒体数据编号,以及所述末端多媒体数据包中包含的末端多媒体数据编号;
基于所述起始多媒体数据编号和所述末端多媒体数据编号,计算在所述目标检测周期内针对多媒体数据包的基准传输数值;
确定在所述目标检测周期内接收多媒体数据包的目标传输数值,并根据所述基准传输数值和所述目标传输数值计算所述丢包率。
可选地,所述根据所述多媒体数据传输时间和所述接收时间确定传输抖动时间,包括:
根据每个多媒体数据包中包含的多媒体数据传输时间确定相邻多媒体数据包之间的基准间隔时间;
根据所述接收时间确定相邻多媒体数据包之间的目标间隔时间,并基于所述基准间隔时间和所述目标间隔时间计算所述传输抖动时间。
可选地,所述根据所述丢包率和所述传输抖动时间生成传输调整策略步骤执行之前,还包括:
确定所述发送端的网络往返时间;
相应的,根据所述丢包率和所述传输抖动时间生成传输调整策略,包括:
基于所述丢包率和所述网络往返时间计算重传抖动时间;
根据所述重传抖动时间和所述传输抖动时间生成所述传输调整策略。
可选地,所述确定所述发送端的网络往返时间,包括:
选择所述多个多媒体数据包中的任意一个多媒体数据包作为基准多媒体数据包,并对所述基准多媒体数据包进行解析获得第一多媒体数据包响应时间;
根据所述接收时间确定所述基准多媒体数据包的第二多媒体数据包响应时间;
基于所述第一多媒体数据包响应时间和所述第二多媒体数据包响应时间确定所述网络往返时间。
可选地,所述根据所述丢包率和所述传输抖动时间生成传输调整策略执行之前,还包括:
判断所述丢包率是否大于预设丢包率阈值;
若是,执行根据所述丢包率和所述传输抖动时间生成传输调整策略的步骤。
可选地,所述基于所述丢包率和所述网络往返时间计算重传抖动时间,包括:
根据所述丢包率确定在所述目标检测周期内的未丢包率,并基于所述未丢包率确定重传期望次数;
计算所述重传期望次数和所述网络往返时间二者的乘积,根据计算结果得到所述重传抖动时间。
可选地,所述根据所述重传抖动时间和所述传输抖动时间生成所述传输调整策略,包括:
根据所述重传抖动时间和所述传输抖动时间确定下限调整时长;
基于所述下限调整时长生成所述传输调整策略,所述传输调整策略用于调整所述发送端发送的多媒体数据包中的多媒体数据的时长。
可选地,所述根据所述丢包率和所述传输抖动时间生成传输调整策略,并向所述发送端反馈所述传输调整策略步骤执行之后,还包括:
根据所述传输调整策略以及预设的延迟规则生成关联传输调整策略,所述关联传输调整策略用于调整与多媒体数据关联的关联多媒体数据的时长;
将所述关联传输调整策略发送至所述发送端。
可选地,所述根根据所述重传抖动时间和所述传输抖动时间确定下限调整时长,包括:
获取上一检测周期内的下限调整时长,并根据所述上一检测周期内的下限调整时长和预设的下限时长阈值确定第一调整时长;
根据所述传输抖动时间和所述重传抖动时间确定第二调整时长,以及根据所述上一检测周期内的下限调整时长和预设的上限时长阈值确定第三调整时长;
基于所述第一调整时长、所述第二调整时长和所述第三调整时长计算所述目标检测周期内的所述下限调整时长。
根据本说明书实施例的第二方面,提供了一种数据传输装置,包括:
接收模块,被配置为接收发送端发送的多个多媒体数据包,并确定接收每个多媒体数据包的接收时间,每个多媒体数据包中包含多媒体数据编号和多媒体数据传输时间;
确定模块,被配置为根据所述多媒体数据编号确定丢包率,以及根据所述多媒体数据传输时间和所述接收时间确定传输抖动时间;
反馈模块,被配置为根据所述丢包率和所述传输抖动时间生成传输调整策略,并向所述发送端反馈所述传输调整策略。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
接收发送端发送的多个多媒体数据包,并确定接收每个多媒体数据包的接收时间,每个多媒体数据包中包含多媒体数据编号和多媒体数据传输时间;
根据所述多媒体数据编号确定丢包率,以及根据所述多媒体数据传输时间和所述接收时间确定传输抖动时间;
根据所述丢包率和所述传输抖动时间生成传输调整策略,并向所述发送端反馈所述传输调整策略。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述数据传输方法的步骤。
本说明书提供的数据传输方法,在接收到发送端发送的多个多媒体数据包后,确定每个多媒体数据包的接收时间,之后根据多媒体数据包中包含的多媒体数据编号确定丢包率,同时根据多媒体数据包中包含的多媒体数据传输时间和接收时间确定传输抖动时间,最后基于所述丢包率和所述传输抖动时间生成传输调整策略发送至所述发送端,实现在传输多媒体数据包时,可以根据当前网络传输的性能及时对多媒体数据的时长进行调整,避免网络波动带来的多媒体数据播放不均匀的问题,从而提高用户收听/观看的体验效果。
附图说明
图1是本说明书一实施例提供的一种数据传输方法的流程图;
图2是本说明书一实施例提供的一种应用于视频播放场景中的数据传输方法的处理流程图;
图3是本说明书一实施例提供的一种数据传输装置的结构示意图;
图4是本说明书一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本说明书中,提供了一种数据传输方法,本说明书同时涉及一种数据传输装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
实际应用中,由于网络传输性能具有一定的不稳定性,如丢包、网络传输延迟的抖动等,都会导致发送端向接收端发送多媒体数据不均匀的问题,现有技术为了避免该问题带来的播放影响,通常会在接收端进行缓存处理,等待一段时间再根据多媒体数据的时间信息和缓存偏移进行播放,以达到平滑数据的目的,但是缓存的大小也需要根据实际应用场景进行预先设定,而如果缓存过大,将会导致端到端延迟过高的问题;缓存过小,会降低网络波动的缓冲能力;并且在调整缓存的过程中,如果直接进行缓存的大小调整,可能会导致前端播放多媒体数据不均匀的问题,并且在多种类型的多媒体数据需要同步播放时,也需要对相互关联的多媒体数据也进行调整,因此如何调整合适的缓存大小显着尤为重要。
本说明书提供的数据传输方法,为了避免网络波动带来的影响,在接收到发送端发送的多个多媒体数据包后,确定每个多媒体数据包的接收时间,之后根据多媒体数据包中包含的多媒体数据编号确定丢包率,同时根据多媒体数据包中包含的多媒体数据传输时间和接收时间确定传输抖动时间,最后基于所述丢包率和所述传输抖动时间生成传输调整策略发送至所述发送端,实现在传输多媒体数据包时,可以根据当前网络传输的性能及时对多媒体数据的时长进行调整,避免网络波动带来的多媒体数据播放不均匀的问题,从而提高用户收听/观看的体验效果。
图1示出了根据本说明书一实施例提供的一种数据传输方法的流程图,具体包括以下步骤:
步骤S102,接收发送端发送的多个多媒体数据包,并确定接收每个多媒体数据包的接收时间,每个多媒体数据包中包含多媒体数据编号和多媒体数据传输时间。
具体的,所述发送端具体是指提供多媒体数据包的服务端;所述多媒体数据具体是指可以用于播放的视频数据、音频数据、文本数据等;相应的,所述多媒体数据包具体是指封装多媒体数据及其对应的数据编号和传输时间的数据包,其中,所述多媒体数据编号具体是指多媒体数据包中的多媒体数据对应的序列号,所述多媒体数据传输时间具体是指每个多媒体数据包中多媒体数据从发送端发送到接收端的时间,需要说明的是,由于接收端接收到多媒体数据包中的多媒体数据后需要进行播放,因此多媒体数据包中的多媒体数据编号是连续且递增的;并且,本实施例提供的数据传输方法应用于接收端,即与发送端具有交互关系的一端,接收端可以根据多媒体数据包中的多媒体数据播放相应的视频、音频、文本等内容。
基于此,所述接收时间即为接收端接收到每个多媒体数据包的时间;由于发送端和接收端之间是通过网络传输多媒体数据包,因此很容易出现丢包或延迟等问题,现有技术在发生丢包等问题时,是通过重新补包的方式保证接收端接收到的多媒体数据包的完整性,但是由于补包时也存在网络波动的问题,而且补包需要重新发送需要补的多媒体数据包,在此过程中所消耗的时间将会影响接收端播放数据包中的多媒体数据,因此为了能够避免接收端播放多媒体数据不连续的问题,将根据实时传输性能生成适合当前阶段的补包策略(传输调整策略),从而提高多媒体数据传输性能,同时保证了多媒体数据播放的均匀连续性。
进一步的,由于发送端和接收端发送多媒体数据包的过程是连续的,因此为了能够及时的对丢包的问题进行解决,可以在设定的检测周期对丢包情况和传输抖动情况进行统计,之后再根据丢包情况和传输抖动情况对缓存大小进行调整,从而使得接收端针对多媒体数据进行播放是可以是均匀的且连续的,本实施例中,具体实现方式如下所述:
在目标检测周期内接收所述发送端发送的所述多个多媒体数据包;
确定在所述目标检测周期内接收所述多个多媒体数据包中的各个多媒体数据包的接收时间。
具体的,所述目标检测周期具体是指检测接收端和发送端网络传输过程中的丢包率和传输抖动的周期,所述目标检测周期可以是设定时长,如每隔T秒进行一次检测,且所述目标检测周期由所述接收端的时钟确定;实际应用中,所述目标检测周期可以根据实际应用场景进行设定,本实施例在此不作任何限定。
实际应用中,为了避免发送端和接收端之间出现丢包或者网络抖动而影响多媒体数据包的传输,将在所述目标检测周期对所述发送端和接收端的网络传输性能进行检测,如果检测结果为正常,则说明发送端和接收端在所述目标检测周期内的网络传输性能是正常的,则不作任何处理即可;如果检测结果是非正常的,则说明发送端和接收端在所述目标检测周期内的网络传输性能是较差的,为了能够保证接收端正常播放均匀的多媒体数据,将需要对发送端发送的多媒体数据长度和接收端缓存多媒体数据长度进行调整。
基于此,首先在目标检测周期内接收发送端发送的所述多个多媒体数据包,所述多个多媒体数据包中的每个多媒体数据包中均包含多媒体数据、多媒体数据编号和多媒体数据传输时间,同时为了检测目标检测周期内的传输抖动时间,将记录所述接收端接收到每个多媒体数据包的接收时间,用于表示接收每个多媒体数据包中多媒体数据的接收时间,以实现后续可以根据接收时间计算传输抖动时间。
例如,服务端(发送端)以固定的频率向客户端(接收端)发送携带有多媒体数据编号seq和多媒体数据传输时间ts的probe包(多媒体数据包),以实现客户端可以根据多媒体数据包中的多媒体数据播放视频;而为了能够保证客户端可以播放优质的视频内容,将在设定的检测周期对服务端和客户端之间的网络传输性能进行检测;基于此,确定在当前检测周期内接收到服务端向客户端发送的probe包为{probe1,probe2,probe4},其中,probe1包中包含多媒体数据,多媒体数据编号seqn,1以及多媒体数据传输时间tsn,1;probe2包中包含多媒体数据,多媒体数据编号seqn,2以及多媒体数据传输时间tsn,2;probe4包中包含多媒体数据,多媒体数据编号seqn,4以及多媒体数据传输时间tsn,4;并且确定客户端接收probe1包的接收时间为recevietimen,1;客户端接收probe2包的接收时间为recevietimen,2;客户端接收probe4包的接收时间为recevietimen,4;以用于后续分析调整缓存的大小。
综上,通过对目标检测周期内的接收端接收每个多媒体数据包的时间进行记录,可以为后续计算传输抖动时间打下基础,从而提高后续生成的传输调整策略与当前场景的适配程度,以保证接收端可以播放均匀的多媒体数据。
步骤S104,根据所述多媒体数据编号确定丢包率,以及根据所述多媒体数据传输时间和所述接收时间确定传输抖动时间。
具体的,在上述接收到包含多媒体数据编号和多媒体数据传输时间的多媒体数据包的基础上,进一步的,此时将根据所述多媒体数据包中的多媒体数据编号确定发送端和接收端进行网络传输时的丢包率,所述丢包率具体是指发送端向接收端发送多媒体数据包时传输多媒体数据包失败的概率;同时将根据所述多媒体数据包中的多媒体数据传输时间和记录的所述接收时间确定所述传输抖动时间,所述传输抖动时间具体是指发送端向接收端发送多媒体数据包时的网络延迟时间。
实际应用中,由于网络延迟时间(传输抖动时间)和丢包率都会造成接收端接收多媒体数据后播放不均匀的问题,因此为了能够保证接收端播放多媒体数据的均匀性,避免影响用户的观看体验,可以从所述丢包率和所述传输抖动时间出发进行相关问题的解决,以降低丢包率和传输抖动时间对播放多媒体数据造成的影响。
进一步的,由于是对目标检测周期内的网络传输性能进行预测,因此在计算所述丢包率的过程中,也是需要对目标检测周期内的丢包率进行计算,本实施例中,具体实现方式如下所述:
将所述目标检测周期的起始时间接收到的多媒体数据包作为起始多媒体数据包,以及将末端时间接收到的多媒体数据包作为末端多媒体数据包;
提取所述起始多媒体数据包中包含的起始多媒体数据编号,以及所述末端多媒体数据包中包含的末端多媒体数据编号;
基于所述起始多媒体数据编号和所述末端多媒体数据编号,计算在所述目标检测周期内针对多媒体数据包的基准传输数值;
确定在所述目标检测周期内接收多媒体数据包的目标传输数值,并根据所述基准传输数值和所述目标传输数值计算所述丢包率。
具体的,所述起始时间具体是指所述目标检测周期开始时间,所述末端时间具体是指所述目标检测周期的结束时间,相应的,所述起始多媒体数据包具体是指在目标检测周期的开始时间接收到的多媒体数据包,所述末端多媒体数据包具体是指在目标检测周期的结束时间接收到的多媒体数据包;所述起始多媒体数据编号即为起始多媒体数据包中的多媒体数据编号,所述末端多媒体数据编号即为末端多媒体数据包中包含的多媒体数据编号;相应的,所述基准多传输数值具体是指在目标检测周期内发送端向接收端正常需要发送多媒体数据包的数量,所述目标传输数值具体是指在目标检测周期内发送端向接收端实际发送多媒体数据包的数量。
基于此,在确定需要计算目标检测周期内的丢包率的情况下,首先将所述目标检测周期的起始时间接收到的多媒体数据包作为起始多媒体数据包,以及将所述目标检测周期的末端时间接收到的多媒体数据包作为末端多媒体数据包,其次提取所述起始多媒体数据包中的起始多媒体数据编号,以及所述末端多媒体数据包中的末端多媒体数据编号,根据所述起始多媒体数据编号和所述末端多媒体数据编号,计算在目标检测周期内针对多媒体数据包正常需要传输的基准传输数值,同时统计在目标检测周期内实际接收多媒体数据包的目标传输数值,最后通过所述目标传输数值和所述基准传输数值即可计算出发送端和接收端在目标检测周期内的丢包率。
实际应用中,所述丢包率可以通过如下公式(1)计算获得:
packetlossn=1-count(seqn,i|seqn,i>lastseqn-1)/(lastseqn-lastseqn-1+1) (1)
其中,packetlossn表示在第n个检测周期内的丢包率,lastseqn表示在第n个检测周期内接收到最大的多媒体数据编号,lastseqn-1表示在第n-1个检测周期内接收到最大的多媒体数据编号,count(seqn,i|seqn,i>lastseqn-1)表示在第n个检测周期内收到正常seq的数量。
沿用上例,确定多媒体数据编号为seqsn={seqn,1,seqn,2,seqn,4},多媒体数据传输时间tssn={tsn,1,tsn,2,tsn,4},以及接收时间recevietimesn={recevietimen,1,recevietimen,2,recevietimen,4}的基础上,此时确定probe1为目标检测周期内的起始多媒体数据包,probe4为末端多媒体数据包,即目标检测周期内的起始多媒体数据编号为seqn,1,末端多媒体数据编号为seqn,4,经过计算确定目标检测周期内服务端向客户端应该发送的多媒体数据包个数应该是4个,而实际发送的多媒体数据包个数是3个,通过上述公式(1)计算可知,在目标检测周期内服务端向客户端发送多媒体数据包的丢包率是25%。
综上,通过多媒体数据编号计算所述目标检测周期内的丢包率,可以避免乱序情况下出现错误,进而避免乱序对丢包率的计算精准度的影响,从而提高后续生成传输调整策略的准确性。
更进一步的,考虑到网络传输延迟也会对接收端播放多媒体数据的均匀性产生影响,因此为了能够更进一步的提高接收端播放多媒体数据的效果,在生成所述传输调整策略时将考虑所述传输抖动时间,本实施例中,所述传输抖动时间的计算过程如下所述:
根据每个多媒体数据包中包含的多媒体数据传输时间确定相邻多媒体数据包之间的基准间隔时间;
根据所述接收时间确定相邻多媒体数据包之间的目标间隔时间,并基于所述基准间隔时间和所述目标间隔时间计算所述传输抖动时间。
具体的,所述相邻多媒体数据具体是指在目标检测周期内接收到的多个多媒体数据包中,与任意一个多媒体数据包相邻的多媒体数据包;如目标检测周期内接收到的多媒体数据包1,多媒体数据包2和多媒体数据包3,则多媒体数据包1的相邻多媒体数据包为多媒体数据包2,多媒体数据包2的相邻多媒体数据包为多媒体数据包3;相应的,所述基准间隔时间具体是指多媒体数据包与其对应的相邻多媒体数据包之间的正常间隔时间,所述目标间隔时间具体是指多媒体数据包与其对应的相邻多媒体数据包之间的实际间隔时间。
基于此,根据每个多媒体数据包中包含的多媒体数据传输时间确定任意相邻多媒体数据包之间的基准间隔时间,同时根据每个多媒体数据包的接收时间计算相邻多多媒体数据包之间的目标间隔时间,最后将基准间隔时间和目标间隔时间进行相减,并统计目标检测周期内的全部基准间隔时间和目标间隔时间进行相减的结果,即可得到发送端和接收端在目标检测周期内的传输抖动时间。
此外,为了方便计算目标检测周期内的传输抖动时间,还可以提取目标检测周期内的起始多媒体数据包中的起始多媒体数据传输时间,以及末端多媒体数据包中的末端多媒体数据传输时间;同时确定接收起始多媒体数据包的第一接收时间,以及确定接收末端多媒体数据包的第二接收时间,最后计算末端多媒体数据传输时间和起始多媒体数据传输时间二者的差值,获得第一时间差值,以及计算第一接收时间和第二接收时间二者的差值,获得第二时间差值;再将所述第一时间差值和所述第二时间差值进行相减,即可得到发送端和接收端在目标检测周期内的传输抖动时间;若传输抖动时间为0,则说明目标检测周期内发送端和接收端之间的网络传输过程未发生网络延迟,若传输抖动时间不为0,则说明目标检测周期内发送端和接收端之间的网络传输过程发生网络延迟;实际应用中,传输抖动时间的计算可以通过如下公式(2)计算获得:
jitter_tn=max(receivetimen,i-receivetimen,i-1-tsn,i+tsn,i-1) (2)
其中,jitter_tn表示在第n个检测周期内的传输抖动时间,tsn,i表示在第n个检测周期内的末端多媒体数据传输时间,tsn,i-1表示在第n个检测周期内的起始多媒体数据传输时间,receivetimen,i-1表示在第n个检测周期内的第一接收时间,receivetimen,i表示在第n个检测周期内的第二接收时间。
沿用上例,确定多媒体数据编号为seqsn={seqn,1,seqn,2,seqn,4},多媒体数据传输时间tssn={tsn,1,tsn,2,tsn,4},以及接收时间recevietimesn={recevietimen,1,recevietimen,2,recevietimen,4}的基础上,此时确定末端多媒体数据传输时间为tsn,4,起始多媒体数据传输时间为tsn,1,以及第一接收时间为recevietimen,1,第二接收时间为recevietimen,4,最后基于上述公式(2)即可计算出服务端和客户端在目标检测周期内的传输抖动时间是50ms。
综上,为了能够提高后续生成的传输调整策略与当前业务场景适配,将考虑传输抖动时间以实现降低网络性能检测的误差,从而使得发送端在根据传输调整策略调整传输多媒体数据的大小之后,可以保证接收端播放的多媒体数据是均匀的,提高用户的体验效果。
步骤S106,根据所述丢包率和所述传输抖动时间生成传输调整策略,并向所述发送端反馈所述传输调整策略。
具体的,在上述确定丢包率和传输抖动时间的基础上,进一步的,所述传输调整策略具体是指发送端向接收端发送多媒体数据包时,可以对多媒体数据包中的多媒体数据的时长进行调整,如将多媒体数据包中的多媒体数据的时长调长,或将多媒体数据包中的多媒体数据的时长调短,从而实现可以根据当前网络传输性能对多媒体数据的时长进行调整,使得发送端和接收端之间传输的多媒体数据时长与网络传输性能契合,即网络传输性能较差的情况下,可以适当降低多媒体数据包中多媒体数据的时长,避免接收端因为网络问题造成播放多媒体数据不均匀的问题;网络传输性能持续较好的情况下,可以适当提高多媒体数据包中多媒体数据的时长,使得发送端和接收端之间在进行多媒体数据包传输时,可以充分的利用网络传输资源,最后将根据当前网络传输性能生成的传输调整策略发送至所述发送端即可,使得发送端可以根据传输调整策略对发送的多媒体数据包中的多媒体数据时长进行调整,使得发送端和接收端之间可以更好的进行多媒体数据的传输。
具体实施时,由于补包也可能发生网络延迟,会进一步影响发送端和服务端之间的网络传输性能,为了能够降低补包时产生的误差,可以根据网络往返时间和丢包率计算重传抖动时间,根据所述重传抖动时间和所述传输抖动时间生成所述传输调整策略,进而提高网络传输性能,本实施例中,具体实现方式如下所述:
确定所述发送端的网络往返时间,并基于所述丢包率和所述网络往返时间计算重传抖动时间;
根据所述重传抖动时间和所述传输抖动时间生成所述传输调整策略。
具体的,由于在重传多媒体数据包的过程中,可能再次出现网络波动的问题,因此为了能够降低重传多媒体数据包时的网络波动引起的误差,将在生成所述传输调整策略时,也对重传抖动所花费的时间进行计算,从而降低重传产生的误差;所述重传抖动时间具体是指在重传丢失的多媒体数据包时,遇到网络波动后完成多媒体数据包传输完成的时间;相应的,所述网络往返时间具体是指发送端和接收端进行网络传输时所消耗的时间;最后根据所述重传抖动时间和所述传输抖动时间即可生成向所述发送端发送的传输调整策略。
而在此之前,还可能存在目标检测周期内未发生丢包或者丢包较小的情况,如果针对未丢包或丢包较小的情况也进行缓存大小的调整,将会造成调整资源的浪费,因此可以在计算重传抖动时间之前进行是否需要调整的判断,本实施例中,具体实现方式如下所述:
判断所述丢包率是否大于预设丢包率阈值;
若是,执行步骤S106;若否,则不作任何处理。
具体的,当确定丢包率和传输抖动时间的基础上,此时可以将丢包率和预设丢包率阈值进行比较,若丢包率大于预设丢包率阈值,说明丢包后的重传可能会造成接收端播放多媒体数据不均匀的问题,则可以进行后续的传输调整策略的生成,以调整缓存的大小解决播放多媒体数据不均匀的问题;若丢包率小于等于预设丢包率阈值,说明丢包后的重传并不会造成接收端播放多媒体数据不均匀的问题,此时可以不作任何处理,等待下一个检测周期进行检测即可。
进一步的,由于在重传多媒体数据包的过程中,需要重新传输一次或多次需要补充的多媒体数据包,因此在计算所述重传抖动时间时,需要结合发送端和接收端之间的网络往返时间进行计算,并且,为了提高网络往返时间的计算精准度,将根据发送端和接收端各自使用不受系统时钟调整影响的单调本地时钟实现,本实施例中,具体计算网络往返时间的过程如下所述:
选择所述多个多媒体数据包中的任意一个多媒体数据包作为基准多媒体数据包,并对所述基准多媒体数据包进行解析获得第一多媒体数据包响应时间;
根据所述接收时间确定所述基准多媒体数据包的第二多媒体数据包响应时间;
基于所述第一多媒体数据包响应时间和所述第二多媒体数据包响应时间确定所述网络往返时间。
具体的,所述基准多媒体数据包具体是指所述多个多媒体数据包中的任意一个用于计算网络往返时间的多媒体数据包,所述第一多媒体数据包响应时间具体是指发送多媒体数据包时的发送端本地时间和发送端响应时间,其中,发送端响应时间具体是指发送端接收到接收端的响应请求后的时间,所述第二多媒体数据包响应时间具体是指接收端响应发送端发送多媒体数据的响应时间和接收多媒体数据包时间。
基于此,首先在多个多媒体数据包中选择任意一个多媒体数据包作为基准多媒体数据包,之后对基准多媒体数据包进行解析,获得发送端本地时间和发送端响应时间组成的第一多媒体数据响应时间,其次根据所述接收端接收多媒体数据包的接收时间,确定针对所述基准多媒体数据包的接收多媒体数据包时间和响应发送端发送多媒体数据的响应时间;最后基于所述第一多媒体数据包响应时间和所述第二多媒体数据包响应时间即可确定发送端和接收端之间的网络往返时间,实际应用中,所述网络往返时间的计算可以通过如下公式(3)计算获得:
rttn,i=timeresponse-timeoriginate-timetransmit+timereceive (3)
其中,rttn,i表示在第n个检测周期内发送端和接收端的网络往返时间,timeresponse表示发送端接收到接收端的响应请求包后的响应时间,timeoriginate表示发送端发送多媒体数据包时发送端本地时间,timetransmit表示接收端发送响应请求时的本地时间,timereceive表示接收端接收到多媒体数据包时的接收端本地时间。
更进一步的,在计算完成网络往返时间和所述丢包率之后,即可根据所述丢包率和所述网络往返时间计算出重传抖动时间,本实施例中,计算所述重传抖动时间的过程如下所述:
根据所述丢包率确定在所述目标检测周期内的未丢包率,并基于所述未丢包率确定重传期望次数;
计算所述重传期望次数和所述网络往返时间二者的乘积,根据计算结果得到所述重传抖动时间。
具体的,所述未丢包率具体是指发送端和接收端在目标检测周期内未丢失多媒体数据包的概率,所述重传期望次数具体是指发生丢包后,重新补充丢失的多媒体数据包的期望次数;基于此,在计算出所述发送端和接收端在目标检测周期内的丢包率的情况下,将根据所述丢包率计算出目标检测周期内未丢包的概率,之后根据所述未丢包率确定重传多媒体数据包的重传期望此时,最后计算重传期望次数和网络往返时间二者的乘积,即可得到重传多媒体数据包时所需要消耗的时间,即所述重传抖动时间;实际应用中,所述重传抖动时间的计算可以采用如下公式(4)计算获得:
jitter_rn=rttn/(1-packetlossn),其中packetlossn>0 (5)
其中,jitter_rn表示重传抖动时间,1/(1-packetlossn)表示重传期望次数,rttn表示网络往返时间,packetlossn>0表示在第n个检测周期内出现丢包,即丢包率大于0。
此外,在未发生丢包的情况下,此时就不需要进行重传抖动时间的计算和确定传输调整策略的过程,而为了能够在发生丢包后可以及时的计算出所述重传抖动时间,可以在每个检测周期内将重传抖动设定为jitter_rn-1,表示当前检测周期未发生丢包并重新补包的情况。
沿用上例,在确定服务端和客户端在目标检测周期内的丢包率为25%的情况下,说明服务端和客户端之间在进行多媒体数据传输时发生了丢包的情况,而针对丢包的多媒体数据包进行补包时将会花费较多的时间,为了能够在后续准确的生成传输调整策略,此时可以将补多媒体数据包的时间也进行考虑,即:首先选择多媒体数据包probe1作为基准多媒体数据包,并结合上述公式(3)计算出客户端和服务端在目标检测周期内的网络往返时间是60ms;其次根据丢包率25%确定在目标检测周期内的未丢包率是75%,根据未丢包率确定客户端和服务端在目标检测周期内的重传期望次数是1/75%=1.3,之后计算网络往返时间和重传期望次数二者的乘积,根据计算结果确定在目标检测周期内的重传抖动时间是1.3*60ms=78ms。
综上,为了能够提高在发生丢包的情况下生成的传输调整策略的准确性,将对重传多媒体数据包的重传抖动时间也进行考虑,从而避免其他时间消耗的因素对传输调整策略产生影响,进一步保证接收端可以均匀的播放多媒体数据。
具体实施时,如果根据所述重传抖动时间和所述传输抖动时间直接生成所述传输调整策略,将可能出现调整多媒体数据的时长无限增长的问题,即如果丢失的多媒体数据包一直未被补包成功,就可能发生一直等待需要补充的多媒体数据包的情况,此时接收端就会发生播放多媒体数据断裂的问题,为了能够避免该问题,可以在生成所述传输调整策略时,限制相邻多媒体数据在播放时的时间间隔变化不超出(gapdeltamin,gapdeltamax)该区间,即如果发生补多媒体数据包的情况,将在设定时间范围内进行等待,如果等待不到补充的多媒体数据,就直接播放已经传输成功的多媒体数据,避免相邻多媒体数据之间出现间隔时间较长的问题,如果可以等待到补充的多媒体数据,则直接播放完整的多媒体数据即可,使得接收端可以播放连续的多媒体数据。
进一步的,在对相邻多媒体数据限制在播放时间间隔对应的时间区间内的情况下,后续为了能够保证继续传输和播放的多媒体数据可以连续且均匀,则需要对传输的多媒体数据的时长也进行调整,从而使得传输的多媒体数据在目标检测周期后可以是连续且均匀的,本实施例中,具体实现方式如下所述:
获取上一检测周期内的下限调整时长,并根据所述上一检测周期内的下限调整时长和预设的下限时长阈值确定第一调整时长;
根据所述传输抖动时间和所述重传抖动时间确定第二调整时长,以及根据所述上一检测周期内的下限调整时长和预设的上限时长阈值确定第三调整时长;
基于所述第一调整时长、所述第二调整时长和所述第三调整时长计算所述目标检测周期内的所述下限调整时长;
基于所述下限调整时长生成所述传输调整策略,所述传输调整策略用于调整所述发送端发送的多媒体数据包中的多媒体数据的时长。
具体的,所述下限时长阈值即为限制相邻多媒体数据在播放是的时间间隔的最小值;相应的,所述下限调整时长具体是指在目标检测周期后再次传输多媒体数据时,新的多媒体数据能够传输的最短时长,使得将继续传输的多媒体数据包中的多媒体数据时长可以限制在一定的范围内,使得接收端在播放多媒体数据时,可以避免出现不连续且不均匀的问题。
基于此,在计算出所述重传抖动时间和传输抖动时间的基础上,进一步的,可以结合预设的下限时长阈值计算所述下限调整时长,最后即可根据所述下限调整时长生成所述传输调整策略,使得在目标检测周期后发送端在发送多媒体数据包时,可以对多媒体数据包中的多媒体数据时长进行调整,使得接收端接收到的多媒体数据是连续的,且播放时是均匀的,以提高用户的体验效果;实际应用中,所述下限调整时长可以通过如下公式(5)计算获得:
jitterdelayn=min(max(jitterdelayn-1+gapdeltamin,jittert n+jitterr n),jitterdelayn-1+gapdeltamax) (5)
其中,jitterdelayn表示在第n个检测周期后,继续发送多媒体数据时多媒体数据所对应的时长,gapdeltamin表示限制相邻多媒体数据在播放时的时间间隔的最小值,gapdeltamax表示限制相邻多媒体数据在播放时的时间间隔的最大值,jittert n表示传输抖动时间,jitterr n表示重传抖动时间,jitterdelayn-1表示在第n-1个检测周期内发送多媒体数据时多媒体数据所对应的时长。
沿用上例,确定客户端和服务端的重传抖动时间是78ms以及传输抖动时间是50ms,此时为了能够保证客户端在后续播放多媒体数据的过程中可以使得播放的多媒体数据是均匀性,将对目标检测周期后服务端再次下发的多媒体数据时长进行调整,即由于在目标检测周期内发生了丢包的情况,此时可以缩短目标检测周期后再次传输的多媒体数据的时长,并且为了避免客户端播放多媒体数据时出现播放不均匀的问题,可以根据传输抖动时间50ms和重传抖动时间78ms,以及预设的播放时的时间间隔区间[gapdeltamin,gapdeltamax],计算目标检测周期后客户端可以缓存的多媒体数据的时长(通过上述公式(5)实现计算),最后基于计算得到的目标检测周期后客户端可以缓存的多媒体数据的时长生成传输调整策略,并将该策略发送至服务端,实现在目标检测周期后再次发送的多媒体数据是连续且均匀的,使得客户端可以播放连续且均匀的多媒体数据。
综上,通过上述方式确定所述传输调整策略,可以在进行多媒体数据缓存时,限制后续需要传输的多媒体数据的时长,从而使得接收端接收到的多媒体数据是均匀的,实现在播放的过程中可以保证多媒体数据的连续性和均匀性。
此外,由于多媒体数据在播放时可能伴随关联的多媒体数据同时播放,如播放视频时同时需要播放与视频相关的音频,从而使得用户可以观看到视频音频同步的播放内容,而如果相关联的多媒体数据中的任意一种类型的多媒体数据因为丢包发生延迟问题,此时为了能够保证后续播放的相关联的多媒体数据之间是同步的,也需要对关联的多媒体数据进行调整,本实施例中,具体实现方式如下所述:
根据所述传输调整策略以及预设的延迟规则生成关联传输调整策略,所述关联传输调整策略用于调整与多媒体数据关联的关联多媒体数据的时长;
将所述关联传输调整策略发送至所述发送端。
具体的,所述关联多媒体数据具体是指与多媒体数据具有关联关系的多媒体数据,该关联关系可以是同步播放关系,如多媒体数据为视频数据,则关联多媒体数据为与视频数据相关的音频数据;相应的,所述关联传输调整策略即为针对所述关联多媒体数据的时长进行调整的策略,需要说明的是,多媒体数据播放后是需要由用户进行观看的,而多媒体数据和关联多媒体数据在同步播放时,只要不影响用户的观看体验,就可以正常进行播放,因此关联多媒体数据是可以允许存在延迟的,该延迟只要不影响多媒体数据和关联多媒体数据同步播放的观看体验即可,即允许的延迟差为(syncdiffmin,syncdiffmax);实际应用中,在基于该误差生成关联多媒体数据对应的调整后的时长时,可以通过如下公式(6)计算获得:
jitterdelayn,sync=min(max(syncdelayn+syncdiffmin,jitterdelayn),syncdelayn+syncdiffmax) (6)
其中,jitterdelayn,sync表示在第n个检测周期后关联多媒体数据需要调整的时长。
例如,通过客户端向用户播放实时媒体数据时,需要同步播放视频和音频,才能够满足用户的观看需求,而服务端在向客户端传输视频数据时由于丢包的问题进行补包,此时为了避免客户端播放视频不连续或不均匀,将对服务端后续向客户端发送视频数据的时长进行调整,避免发生播放不均匀的问题;同时考虑到音频数据是与视频数据同步播放的,将对音频数据的时长也进行调整,从而使得客户端接收到的视频数据和音频数据是相互关联的,即二者可以同步播放,满足用户的观看体验。
综上,为了能够保证接收端播放的相互关联的多媒体数据之间是同步的,将对目标检测周期后的多媒体数据的时长进行调整后,同时也对多媒体数据关联的关联多媒体数据时长也进行调整,以提高用户的观看体验。
本说明书提供的数据传输方法,在接收到发送端发送的多个多媒体数据包后,确定每个多媒体数据包的接收时间,之后根据多媒体数据包中包含的多媒体数据编号确定丢包率,同时根据多媒体数据包中包含的多媒体数据传输时间和接收时间确定传输抖动时间,最后基于所述丢包率和所述传输抖动时间生成传输调整策略发送至所述发送端,实现在传输多媒体数据包时,可以根据当前网络传输的性能及时对多媒体数据的时长进行调整,避免网络波动带来的多媒体数据播放不均匀的问题,从而提高用户收听/观看的体验效果。
下述结合附图2,以本说明书提供的数据传输方法在视频播放场景中的应用为例,对所述数据传输方法进行进一步说明。其中,图2示出了本说明书一实施例提供的一种应用于视频播放场景中的数据传输方法的处理流程图,具体包括以下步骤:
步骤S202,接收发送端在目标检测周期内发送的多个视频数据包,每个视频数据包中包含视频数据、视频数据编号和视频数据传输时间。
步骤S204,确定在目标检测周期内接收每个视频数据包的接收时间。
步骤S206,将目标检测周期的起始时间接收到的视频数据包作为起始视频数据包,以及将末端时间接收到的视频数据包作为末端视频数据包。
步骤S208,提取起始视频数据包中包含的起始视频数据编号,以及末端视频数据包中包含的末端视频数据编号。
步骤S210,基于起始视频数据编号和末端视频数据编号,计算在目标检测周期内的基准传输数值。
步骤S212,确定在目标检测周期内接收视频数据包的目标传输数值,并根据基准传输数值和目标传输数值计算丢包率。
具体的,步骤S206至步骤S212计算目标检测周期内丢包率的过程可以通过如上述公式(1)计算获得。
步骤S214,根据每个视频数据包中包含的视频数据传输时间确定相邻视频数据包之间的基准间隔时间。
步骤S216,根据接收时间确定相邻视频数据包之间的目标间隔时间,并基于目标间隔时间和基准间隔时间计算传输抖动时间。
具体的,步骤S214至步骤S216计算目标检测周期内的传输抖动时间的过程可以通过上述公式(2)计算获得。
步骤S218,根据丢包率确定在目标检测周期内的未丢包率,并基于未丢包率确定重传期望次数。
步骤S220,计算重传期望次数和网络往返时间二者的乘积,根据计算结果得到重传抖动时间。
具体的,步骤S218至步骤S220计算目标检测周期内重传抖动时间的过程可以通过上述公式(4)计算获得。
步骤S222,根据重传抖动时间和传输抖动时间生成传输调整策略,并将传输调整策略发送至发送端。
具体的,在确定接收端和发送端在目标检测周期内发生丢包的情况下,此时为了能够避免接收端播放视频数据不连续和不均匀的问题,将结合传输抖动时间和重传抖动时间生成传输调整策略,从而使得接收端可以播放连续且均匀的视频数据。
本说明书提供的数据传输方法,实现在传输多媒体数据包时,可以根据当前网络传输的性能及时对多媒体数据的时长进行调整,避免网络波动带来的多媒体数据播放不均匀的问题,从而提高用户收听/观看的体验效果。
与上述方法实施例相对应,本说明书还提供了数据传输装置实施例,图3示出了本说明书一实施例提供的一种数据传输装置的结构示意图。如图3所示,该装置包括:
接收模块302,被配置为接收发送端发送的多个多媒体数据包,并确定接收每个多媒体数据包的接收时间,每个多媒体数据包中包含多媒体数据编号和多媒体数据传输时间;
确定模块304,被配置为根据所述多媒体数据编号确定丢包率,以及根据所述多媒体数据传输时间和所述接收时间确定传输抖动时间;
反馈模块306,被配置为根据所述丢包率和所述传输抖动时间生成传输调整策略,并向所述发送端反馈所述传输调整策略。
一个可选的实施例中,所述接收模块302进一步被配置为:
在目标检测周期内接收所述发送端发送的所述多个多媒体数据包;确定在所述目标检测周期内接收所述多个多媒体数据包中的各个多媒体数据包的接收时间。
一个可选的实施例中,所述确定模块304进一步被配置为:
将所述目标检测周期的起始时间接收到的多媒体数据包作为起始多媒体数据包,以及将末端时间接收到的多媒体数据包作为末端多媒体数据包;提取所述起始多媒体数据包中包含的起始多媒体数据编号,以及所述末端多媒体数据包中包含的末端多媒体数据编号;基于所述起始多媒体数据编号和所述末端多媒体数据编号,计算在所述目标检测周期内针对多媒体数据包的基准传输数值;确定在所述目标检测周期内接收多媒体数据包的目标传输数值,并根据所述基准传输数值和所述目标传输数值计算所述丢包率。
一个可选的实施例中,所述确定模块304进一步被配置为:
根据每个多媒体数据包中包含的多媒体数据传输时间确定相邻多媒体数据包之间的基准间隔时间;根据所述接收时间确定相邻多媒体数据包之间的目标间隔时间,并基于所述基准间隔时间和所述目标间隔时间计算所述传输抖动时间。
一个可选的实施例中,所述数据传输装置,还包括:
确定网络往返时间模块,被配置为确定所述发送端的网络往返时间;
相应的,所述反馈模块306进一步被配置为:
基于所述丢包率和所述网络往返时间计算重传抖动时间;根据所述重传抖动时间和所述传输抖动时间生成所述传输调整策略。
一个可选的实施例中,所述确定网络往返时间模块进一步被配置为:
选择所述多个多媒体数据包中的任意一个多媒体数据包作为基准多媒体数据包,并对所述基准多媒体数据包进行解析获得第一多媒体数据包响应时间;根据所述接收时间确定所述基准多媒体数据包的第二多媒体数据包响应时间;基于所述第一多媒体数据包响应时间和所述第二多媒体数据包响应时间确定所述网络往返时间。
一个可选的实施例中,所述数据传输装置,还包括:
判断模块,被配置为判断所述丢包率是否大于预设丢包率阈值;
若是,执行所述反馈模块306。
一个可选的实施例中,所述反馈模块306进一步被配置为:
根据所述丢包率确定在所述目标检测周期内的未丢包率,并基于所述未丢包率确定重传期望次数;计算所述重传期望次数和所述网络往返时间二者的乘积,根据计算结果得到所述重传抖动时间。
一个可选的实施例中,所述反馈模块306进一步被配置为:
根据所述重传抖动时间和所述传输抖动时间确定下限调整时长;基于所述下限调整时长生成所述传输调整策略,所述传输调整策略用于调整所述发送端发送的多媒体数据包中的多媒体数据的时长。
一个可选的实施例中,所述数据传输装置,还包括:
根据所述传输调整策略以及预设的延迟规则生成关联传输调整策略,所述关联传输调整策略用于调整与多媒体数据关联的关联多媒体数据的时长;将所述关联传输调整策略发送至所述发送端。
一个可选的实施例中,所述反馈模块306进一步被配置为:
获取上一检测周期内的下限调整时长,并根据所述上一检测周期内的下限调整时长和预设的下限时长阈值确定第一调整时长;
根据所述传输抖动时间和所述重传抖动时间确定第二调整时长,以及根据所述上一检测周期内的下限调整时长和预设的上限时长阈值确定第三调整时长;
基于所述第一调整时长、所述第二调整时长和所述第三调整时长计算所述目标检测周期内的所述下限调整时长。
本实施例提供的数据传输装置,在接收到发送端发送的多个多媒体数据包后,确定每个多媒体数据包的接收时间,之后根据多媒体数据包中包含的多媒体数据编号确定丢包率,同时根据多媒体数据包中包含的多媒体数据传输时间和接收时间确定传输抖动时间,最后基于所述丢包率和所述传输抖动时间生成传输调整策略发送至所述发送端,实现在传输多媒体数据包时,可以根据当前网络传输的性能及时对多媒体数据的时长进行调整,避免网络波动带来的多媒体数据播放不均匀的问题,从而提高用户收听/观看的体验效果。
上述为本实施例的一种数据传输装置的示意性方案。需要说明的是,该数据传输装置的技术方案与上述的数据传输方法的技术方案属于同一构思,数据传输装置的技术方案未详细描述的细节内容,均可以参见上述数据传输方法的技术方案的描述。
图4示出了根据本说明书一实施例提供的一种计算设备400的结构框图。该计算设备400的部件包括但不限于存储器410和处理器420。处理器420与存储器410通过总线430相连接,数据库450用于保存数据。
计算设备400还包括接入设备440,接入设备440使得计算设备400能够经由一个或多个网络460通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备440可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备400的上述部件以及图4中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图4所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备400可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备400还可以是移动式或静止式的服务器。
其中,处理器420用于执行如下计算机可执行指令:
接收发送端发送的多个多媒体数据包,并确定接收每个多媒体数据包的接收时间,每个多媒体数据包中包含多媒体数据编号和多媒体数据传输时间;
根据所述多媒体数据编号确定丢包率,以及根据所述多媒体数据传输时间和所述接收时间确定传输抖动时间;
根据所述丢包率和所述传输抖动时间生成传输调整策略,并向所述发送端反馈所述传输调整策略。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据传输方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据传输方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于:
接收发送端发送的多个多媒体数据包,并确定接收每个多媒体数据包的接收时间,每个多媒体数据包中包含多媒体数据编号和多媒体数据传输时间;
根据所述多媒体数据编号确定丢包率,以及根据所述多媒体数据传输时间和所述接收时间确定传输抖动时间;
根据所述丢包率和所述传输抖动时间生成传输调整策略,并向所述发送端反馈所述传输调整策略。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据传输方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据传输方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (14)
1.一种数据传输方法,其特征在于,包括:
接收发送端发送的多个多媒体数据包,并确定接收每个多媒体数据包的接收时间,每个多媒体数据包中包含多媒体数据编号和多媒体数据传输时间;
根据所述多媒体数据编号确定丢包率,以及根据所述多媒体数据传输时间和所述接收时间确定传输抖动时间;
根据所述丢包率和网络往返时间计算重传抖动时间;
根据所述重传抖动时间和所述传输抖动时间,以及预设的播放时的时间间隔区间,确定客户端能够缓存的多媒体数据时长,并基于所述时长生成传输调整策略,并向所述发送端反馈所述传输调整策略。
2.根据权利要求1所述的数据传输方法,其特征在于,所述接收发送端发送的多个多媒体数据包,并确定接收每个多媒体数据包的接收时间,包括:
在目标检测周期内接收所述发送端发送的所述多个多媒体数据包;
确定在所述目标检测周期内接收所述多个多媒体数据包中的各个多媒体数据包的接收时间。
3.根据权利要求2所述的数据传输方法,其特征在于,所述根据所述多媒体数据编号确定丢包率,包括:
将所述目标检测周期的起始时间接收到的多媒体数据包作为起始多媒体数据包,以及将末端时间接收到的多媒体数据包作为末端多媒体数据包;
提取所述起始多媒体数据包中包含的起始多媒体数据编号,以及所述末端多媒体数据包中包含的末端多媒体数据编号;
基于所述起始多媒体数据编号和所述末端多媒体数据编号,计算在所述目标检测周期内针对多媒体数据包的基准传输数值;
确定在所述目标检测周期内接收多媒体数据包的目标传输数值,并根据所述基准传输数值和所述目标传输数值计算所述丢包率。
4.根据权利要求1-3任意一项所述的数据传输方法,其特征在于,所述根据所述多媒体数据传输时间和所述接收时间确定传输抖动时间,包括:
根据每个多媒体数据包中包含的多媒体数据传输时间确定相邻多媒体数据包之间的基准间隔时间;
根据所述接收时间确定相邻多媒体数据包之间的目标间隔时间,并基于所述基准间隔时间和所述目标间隔时间计算所述传输抖动时间。
5.根据权利要求2所述的数据传输方法,其特征在于,所述根据所述丢包率和所述传输抖动时间生成传输调整策略步骤执行之前,还包括:
确定所述发送端的网络往返时间;
相应的,根据所述丢包率和所述传输抖动时间生成传输调整策略,包括:
根据所述重传抖动时间和所述传输抖动时间生成所述传输调整策略。
6.根据权利要求5所述的数据传输方法,其特征在于,所述确定所述发送端的网络往返时间,包括:
选择所述多个多媒体数据包中的任意一个多媒体数据包作为基准多媒体数据包,并对所述基准多媒体数据包进行解析获得第一多媒体数据包响应时间;
根据所述接收时间确定所述基准多媒体数据包的第二多媒体数据包响应时间;
基于所述第一多媒体数据包响应时间和所述第二多媒体数据包响应时间确定所述网络往返时间。
7.根据权利要求5所述的数据传输方法,其特征在于,所述根据所述丢包率和所述传输抖动时间生成传输调整策略执行之前,还包括:
判断所述丢包率是否大于预设丢包率阈值;
若是,执行根据所述丢包率和所述传输抖动时间生成传输调整策略的步骤。
8.根据权利要求7所述的数据传输方法,其特征在于,所述基于所述丢包率和所述网络往返时间计算重传抖动时间,包括:
根据所述丢包率确定在所述目标检测周期内的未丢包率,并基于所述未丢包率确定重传期望次数;
计算所述重传期望次数和所述网络往返时间二者的乘积,根据计算结果得到所述重传抖动时间。
9.根据权利要求5所述的数据传输方法,其特征在于,所述根据所述重传抖动时间和所述传输抖动时间生成所述传输调整策略,包括:
根据所述重传抖动时间和所述传输抖动时间确定下限调整时长;
基于所述下限调整时长生成所述传输调整策略,所述传输调整策略用于调整所述发送端发送的多媒体数据包中的多媒体数据的时长。
10.根据权利要求9所述的数据传输方法,其特征在于,所述根据所述丢包率和所述传输抖动时间生成传输调整策略,并向所述发送端反馈所述传输调整策略步骤执行之后,还包括:
根据所述传输调整策略以及预设的延迟规则生成关联传输调整策略,所述关联传输调整策略用于调整与多媒体数据关联的关联多媒体数据的时长;
将所述关联传输调整策略发送至所述发送端。
11.根据权利要求9所述的数据传输方法,其特征在于,所述根据所述重传抖动时间和所述传输抖动时间确定下限调整时长,包括:
获取上一检测周期内的下限调整时长,并根据所述上一检测周期内的下限调整时长和预设的下限时长阈值确定第一调整时长;
根据所述传输抖动时间和所述重传抖动时间确定第二调整时长,以及根据所述上一检测周期内的下限调整时长和预设的上限时长阈值确定第三调整时长;
基于所述第一调整时长、所述第二调整时长和所述第三调整时长计算所述目标检测周期内的所述下限调整时长。
12.一种数据传输装置,其特征在于,包括:
接收模块,被配置为接收发送端发送的多个多媒体数据包,并确定接收每个多媒体数据包的接收时间,每个多媒体数据包中包含多媒体数据编号和多媒体数据传输时间;
确定模块,被配置为根据所述多媒体数据编号确定丢包率,以及根据所述多媒体数据传输时间和所述接收时间确定传输抖动时间;
反馈模块,被配置为根据所述丢包率和网络往返时间计算重传抖动时间,根据所述重传抖动时间和所述传输抖动时间,以及预设的播放时的时间间隔区间,确定客户端能够缓存的多媒体数据时长,并基于所述时长生成传输调整策略,并向所述发送端反馈所述传输调整策略。
13.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现下述方法:
接收发送端发送的多个多媒体数据包,并确定接收每个多媒体数据包的接收时间,每个多媒体数据包中包含多媒体数据编号和多媒体数据传输时间;
根据所述多媒体数据编号确定丢包率,以及根据所述多媒体数据传输时间和所述接收时间确定传输抖动时间;
根据所述丢包率和所述传输抖动时间生成传输调整策略,并向所述发送端反馈所述传输调整策略。
14.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求1至11任意一项所述数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011619962.7A CN112713967B (zh) | 2020-12-30 | 2020-12-30 | 数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011619962.7A CN112713967B (zh) | 2020-12-30 | 2020-12-30 | 数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112713967A CN112713967A (zh) | 2021-04-27 |
CN112713967B true CN112713967B (zh) | 2022-12-30 |
Family
ID=75547534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011619962.7A Active CN112713967B (zh) | 2020-12-30 | 2020-12-30 | 数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112713967B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113206846B (zh) * | 2021-04-29 | 2022-12-02 | 杭州当虹科技股份有限公司 | 动态调整发送码率方法及装置 |
CN113242113A (zh) * | 2021-04-30 | 2021-08-10 | 北京汇钧科技有限公司 | 数据传输控制方法、装置、电子设备及存储介质 |
CN114531210B (zh) * | 2022-02-03 | 2024-01-26 | 百果园技术(新加坡)有限公司 | 数据重传方法、装置、电子设备及存储介质 |
CN115499318B (zh) * | 2022-11-18 | 2023-02-24 | 湖南致力工程科技有限公司 | 一种隧道监测数据通信管控方法、系统及终端设备 |
CN116016370B (zh) * | 2022-12-27 | 2024-01-30 | 北京铭海博纳科技发展有限公司 | 一种丢包率优化方法、系统、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101909060A (zh) * | 2010-08-05 | 2010-12-08 | 浙江工业大学 | 一种适用于移动视频实时流媒体传输的Qos控制方法 |
CN109891784A (zh) * | 2016-10-31 | 2019-06-14 | 华为技术有限公司 | 一种语音数据传输方法、用户设备以及存储介质 |
CN111818231A (zh) * | 2020-07-06 | 2020-10-23 | 全时云商务服务股份有限公司 | 丢包补偿方法、装置、数据报文传输系统和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143137A (zh) * | 2010-09-10 | 2011-08-03 | 华为技术有限公司 | 媒体流发送及接收方法、装置和系统 |
-
2020
- 2020-12-30 CN CN202011619962.7A patent/CN112713967B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101909060A (zh) * | 2010-08-05 | 2010-12-08 | 浙江工业大学 | 一种适用于移动视频实时流媒体传输的Qos控制方法 |
CN109891784A (zh) * | 2016-10-31 | 2019-06-14 | 华为技术有限公司 | 一种语音数据传输方法、用户设备以及存储介质 |
CN111818231A (zh) * | 2020-07-06 | 2020-10-23 | 全时云商务服务股份有限公司 | 丢包补偿方法、装置、数据报文传输系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112713967A (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112713967B (zh) | 数据传输方法及装置 | |
US11223669B2 (en) | In-service quality monitoring system with intelligent retransmission and interpolation | |
US9407387B2 (en) | Apparatus and method for synchronized transmission of multimedia content over an asynchronous network | |
US7733785B2 (en) | Method and system for dynamically adjusting packet size to decrease delays of streaming data transmissions on noisy transmission lines | |
EP2936770B1 (en) | Apparatus and methods for controlling jitter buffer | |
EP2137883B1 (en) | Method of transmitting data in a communication system | |
JP5174182B2 (ja) | 再生遅延推定 | |
US20150341248A1 (en) | Method for detecting network transmission status and related device | |
US20210029181A1 (en) | Link-aware streaming adaptation | |
US10743222B2 (en) | Facilitation of handover coordination based on voice activity data | |
WO2012170738A1 (en) | Multipath rate adaptation | |
CN114679604B (zh) | 资源处理方法及装置 | |
US20160344642A1 (en) | Facilitation of adaptive dejitter buffer | |
CN114866790B (zh) | 直播流调度方法及装置 | |
CN111617466A (zh) | 编码格式的确定方法、装置及云游戏的实现方法 | |
CN110620939A (zh) | 一种网络状态确定方法、装置、电子设备及存储介质 | |
US7715404B2 (en) | Method and apparatus for controlling a voice over internet protocol (VoIP) decoder with an adaptive jitter buffer | |
US10903921B2 (en) | Method and device for providing heterogeneous network-based broadcast service | |
JP7173058B2 (ja) | 通信装置、及び通信装置に用いられるプログラム及び方法 | |
WO2016203870A1 (ja) | 送信装置、送信方法、及び通信システム | |
WO2024080976A1 (en) | Real-time meeting data recovery after proactive participant interruption | |
WO2024080975A1 (en) | Client adaptation for real-time meeting data recovery | |
WO2024080974A1 (en) | Media adaptation for lost content recovery in real-time online meetings | |
WO2024080973A1 (en) | Content recovery in real-time online meetings | |
CN115037701A (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 |