CN113364646A - 确定往返延迟的方法、装置及系统、存储介质和电子设备 - Google Patents
确定往返延迟的方法、装置及系统、存储介质和电子设备 Download PDFInfo
- Publication number
- CN113364646A CN113364646A CN202110617310.8A CN202110617310A CN113364646A CN 113364646 A CN113364646 A CN 113364646A CN 202110617310 A CN202110617310 A CN 202110617310A CN 113364646 A CN113364646 A CN 113364646A
- Authority
- CN
- China
- Prior art keywords
- time
- sending
- receiving
- message
- timestamp
- 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
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开的实施方式提供了一种确定往返延迟的方法、装置及系统、存储介质和电子设备。该确定往返延迟的方法包括接收从发送端发送的第一报文;第一报文包括第一发送时间及第一发送时间对应的第一时间戳;根据第一发送时间及第一时间戳,确定标记时间及标记时间对应的第二时间戳;将包含标记时间及第二时间戳的第二报文发送到接收端,并记录发送第二报文的第二发送时间;接收从接收端发送的第三报文;第三报文包括标记时间和接收端收发间隔;记录第三报文的接收时间,并根据第三报文的接收时间、第二发送时间和接收端收发间隔计算往返延迟。本公开实施例的技术方案可以提高音画同步的准确性。
Description
技术领域
本公开的实施方式涉及通信领域,更具体地,本公开的实施方式涉及确定往返延迟的方法、装置及系统、存储介质和电子设备。
背景技术
本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在实时通讯系统中,往返延迟(Round Trip Time,RTT)是一种衡量网络质量的重要指标之一。往返延迟是一个数据包从发送端经过网络传输到达接收端,再从接收端传回到发送端所经历的时长。
正确地探测往返延迟,对于实时调整媒体报文的发送和转发策略,以及对于监控媒体传输的质量都具有重要意义。
发明内容
在本上下文中,本公开的实施方式期望提供一种确定往返延迟的方法、装置及系统、存储介质和电子设备。
在本公开实施方式的第一方面中,提供了一种确定往返延迟的方法,包括:
接收从发送端发送的第一报文;所述第一报文包括第一发送时间及所述第一发送时间对应的第一时间戳;
根据所述第一发送时间及所述第一时间戳,确定标记时间及所述标记时间对应的第二时间戳;
将包含所述标记时间及所述第二时间戳的第二报文发送到接收端,并记录发送所述第二报文的第二发送时间;
接收从所述接收端发送的第三报文;所述第三报文包括所述标记时间和接收端收发间隔;
记录所述第三报文的接收时间,并根据所述第三报文的接收时间、所述第二发送时间和所述接收端收发间隔计算往返延迟。
在本公开的一些实施例中,根据所述第一发送时间及所述第一时间戳,确定标记时间及所述标记时间对应的第二时间戳包括:
在所述第一发送时间上递增预设时间,获得所述标记时间;
在所述第一时间戳上递增所述预设时间对应的预设时间戳,获得所述第二时间戳。
在本公开的一些实施例中,在所述第一发送时间上递增预设时间,获得所述标记时间包括:
确定接收到所述第一报文的第一接收时间;
将所述第一接收时间和所述第一发送时间的差值确定为所述预设时间;
将所述第一发送时间和所述预设时间求和,获得所述标记时间。
在本公开的一些实施例中,在所述第一时间戳上递增所述预设时间对应的预设时间戳,获得所述第二时间戳包括:
根据所述预设时间及采样率,计算所述预设时间戳;
将所述第一时间戳和所述预设时间戳求和,获得所述第二时间戳。
在本公开的一些实施例中,所述方法还包括:
将所述第二发送时间和所述第二时间戳以所述标记时间为标记,存储在所述第二报文中。
在本公开的一些实施例中,所述方法还包括:
确定所述接收端发送所述第三报文的第三发送时间;
将所述第三发送时间和所述接收端接收所述第二报文的第二接收时间的差值确定为所述接收端收发间隔。
在本公开的一些实施例中,根据所述第三报文的接收时间、所述第二发送时间和所述接收端收发间隔计算往返延迟包括:
将所述第三报文的接收时间减去所述第二发送时间和所述接收端收发间隔,确定为所述往返延迟。
在本公开实施方式的第二方面中,提供了一种确定往返延迟的装置,包括:
第一接收模块,用于接收从发送端发送的第一报文;所述第一报文包括第一发送时间及所述第一发送时间对应的第一时间戳;
第一确定模块,用于根据所述第一发送时间及所述第一时间戳,确定标记时间及所述标记时间对应的第二时间戳;
第一发送模块,用于将包含所述标记时间及所述第二时间戳的第二报文发送到接收端,并记录发送所述第二报文的第二发送时间;
第二接收模块,用于接收从所述接收端发送的第三报文,所述第三报文包括所述标记时间和接收端收发间隔;
第二确定模块,用于记录所述第三报文的接收时间,并根据所述第三报文的接收时间、所述第二发送时间和所述接收端收发间隔计算往返延迟。
在本公开的一些实施例中,所述第一确定模块,用于在所述第一发送时间上递增预设时间,获得所述标记时间;在所述第一时间戳上递增所述预设时间对应的预设时间戳,获得所述第二时间戳。
在本公开的一些实施例中,所述第一确定模块,用于确定接收到所述第一报文的第一接收时间;将所述第一接收时间和所述第一发送时间的差值确定为所述预设时间;将所述第一发送时间和所述预设时间求和,获得所述标记时间。
在本公开的一些实施例中,所述第一确定模块,用于根据所述预设时间及采样率,计算所述预设时间戳;将所述第一时间戳和所述预设时间戳求和,获得所述第二时间戳。
在本公开的一些实施例中,所述第一发送模块,还用于将所述第二发送时间和所述第二时间戳以所述标记时间为标记,存储在所述第二报文中。
在本公开的一些实施例中,还包括:
第三确定模块,用于确定所述接收端发送所述第三报文的第三发送时间;将所述第三发送时间和所述接收端接收所述第二报文的第二接收时间的差值确定为所述接收端收发间隔。
在本公开的一些实施例中,所述第二确定模块,用于将所述第三报文的接收时间减去所述第二发送时间和所述接收端收发间隔,确定为所述往返延迟。
在本公开实施方式的第三方面中,提供了一种确定往返延迟的系统,所述系统包括转发端及与所述转发端通信的发送端和接收端;其中:
所述发送端,用于将第一报文发送到所述转发端;所述第一报文包括第一发送时间及所述第一发送时间对应的第一时间戳;
所述转发端,用于接收从所述发送端发送的所述第一报文;根据所述第一发送时间及所述第一时间戳,确定标记时间及所述标记时间对应的第二时间戳;
所述转发端,还用于将包含所述标记时间及所述第二时间戳的第二报文发送到所述接收端,并记录发送所述第二报文的第二发送时间;
所述接收端,用于在接收到所述第二报文后,将第三报文发送到所述转发端,所述第三报文包括所述标记时间和接收端收发间隔;
所述转发端,还用于接收从所述接收端发送的所述第三报文,记录所述第三报文的接收时间,并根据所述第三报文的接收时间、所述第二发送时间和所述接收端收发间隔计算往返延迟。
在本公开实施方式的第四方面中,提供了一种存储介质,其上存储有确定机程序,,所述确定机程序被处理器执行时实现上述的确定往返延迟的方法。
在本公开实施方式的第五方面中,提供了一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述的确定往返延迟的方法
根据本公开实施方式的确定往返延迟的方法、装置及系统、存储介质和电子设备,一方面,通过在第一报文发送时的第一发送时间及其对应的第一时间戳的基础上,确定出了一种标记时间及其对应的第二时间戳,该标记时间及第二时间戳保持了第一发送时间及第一时间戳的对应关系,从而在转发服务器和接收端发送报文的过程中,保持了第一发送时间及第一时间戳的对应关系,从而提高了音画同步的准确性。再一方面,本公开示例性实施方式通过改变转发服务器所发送的第二报文中的信息,可以避免第一发送时间及第一时间戳的对应关系被破坏,从而为音画同步提供了基础。又一方面,通过以标记时间为标记,为第二发送时间以及第二时间戳的查找提供了便利,避免数据过多而发生混乱,提供数据处理的准确率。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示意性示出了根据本公开的示例性实施方式的确定往返延迟的方法的流程图;
图2示意性示出了根据本公开的示例性实施方式的确定往返延迟的方法适用的一种系统架构图;
图3示意性示出了根据本公开的示例性实施方式的报文信息传输过程示意图;
图4示意性示出了根据本公开的示例性实施方式的确定往返延迟的装置的方框图一;
图5示意性示出了根据本公开的示例性实施方式的确定往返延迟的装置的方框图二;
图6示意性示出了根据本公开的示例性实施方式的确定往返延迟的系统的方框图;
图7示意性示出了根据本公开的示例性实施方式的电子设备的方框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本公开的实施方式,提出了一种确定往返延迟的方法、装置及系统。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
发明概述
本发明人发现,在实时通讯系统中,没有一种针对媒体服务器来探测往返延迟的方法。
基于上述内容,本公开在报文传输过程中,保持了报文发送时间和时间戳的对应关系,从而为音画同步的准确性提供了基础。
在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。
示例性方法
下面参考图1来描述根据本公开示例性实施方式的确定往返延迟的方法、装置及系统。
图1示意性地示出了根据本公开的示例性实施方式的确定往返延迟的方法的流程图。参考图1,根据本公开的示例性实施方式的确定往返延迟的方法,主要用于转发服务器侧,具体可以包括以下步骤:
步骤S12.接收从发送端发送的第一报文;第一报文包括第一发送时间及第一发送时间对应的第一时间戳。
步骤S14.根据第一发送时间及第一时间戳,确定标记时间及标记时间对应的第二时间戳;
步骤S16.将包含标记时间及第二时间戳的第二报文发送到接收端,并记录发送第二报文的第二发送时间;
步骤S18.接收从接收端发送的第三报文;第三报文包括标记时间和接收端收发间隔;
步骤S20.记录第三报文的接收时间,并根据第三报文的接收时间、第二发送时间和接收端收发间隔计算往返延迟。
根据上述提供的确定往返延迟的方法中,转发服务器接收的发送端所发送的第一报文中就包含有相互对应的第一发送时间和第一时间戳,第一发送时间和第一时间戳的对应关系可以用于音画同步中。再通过第一发送时间和第一时间戳确定标记时间和第二时间戳,该标记时间和第二时间戳保留了第一发送时间和第一时间戳的对应关系。在第二报文和第三报文发送过程中,通过保留标记时间和第二时间戳的对应关系,可以对接收端进行音画同步提供数据支持。另外,转发服务器可以根据第三报文中的信息计算出信号传递过程中的往返延。本公开示例性实施方式提供的确定往返延迟的方法,不仅可以精确地计算出转发服务器和接收端之间的往返延迟,还能保持发送端中第一发送时间和第一时间戳的对应关系,从而为音画同步提供了基础。
下面,将对本公开的示例性实施方式中的确定往返延迟的方法作进一步的说明。
在步骤S12中,接收从发送端发送的第一报文;第一报文包括第一发送时间及第一发送时间对应的第一时间戳。
参考图2,本公开示例性实施方式提供的确定往返延迟的方法,适用于如图2所示的具有一个媒体流路由器22和多个终端设备24的通讯系统。在该通讯系统中,媒体流路由器22作为转发服务器,可以将一个终端设备24发送的媒体流转发至其他的至少一个终端设备24,对于一个终端设备24而言,既可以是发送端,也可以是接收端。
参照图3,示出了本公开示例性实施方式中报文信息传输过程示意图。如图3所示,发送端31发送第一报文至转发服务器33。其中,第一报文属于发送端报告(Sender Report,SR),是一种RTCP(Real-Time Transport Control Protocol,实时传输控制协议)报文,用于向接收端35通告一些发送信息,例如,已经发送的字节数等。
本公开示例性实施方式中,该第一报文中需要包含的信息至少包括:发送该第一报文的第一发送时间TS1,以及与该第一发送时间TS1对应的第一时间戳TC1,该第一时间戳TC1是一种媒体时间戳,媒体时间戳是一种时间标记,用于表示数据包中,第一个字节数据产生的时间。第一发送时间TS1和第一时间戳TC1的对应关系在有传输时延的情况下,对于音画同步具有很大影响。
在实际应用中,发送端31可以设置为定时发送第一报文。其中具体的发送时间间隔可根据实际情况设置,本公开示例性实施方式对此不作特殊限定。
在步骤S14中,根据第一发送时间及第一时间戳,确定标记时间及标记时间对应的第二时间戳。
本公开的示例性实施方式中,转发服务器33在接收到第一报文后,需要从第一报文中读取并记录第一发送时间TS1和第一时间戳TC1,另外,转发服务器33还需要确定接收到第一报文的第一接收时间TR1。每一次收到新的第一报文时,都需要对上述这三个数值进行更新,即更新第一发送时间TS1、第一时间戳TC1和第一接收时间TR1。
为了避免被转发服务器33转发后,第一发送时间TS1和第一时间戳TC1的对应关系被破坏,以致于影响接收端35的音画同步,本公开示例性实施方式中,转发服务器33在接收到第一报文后,需要确定一个标记时间TM以及与该标记时间TM对应的第二时间戳TC2。
在本公开示例性实施方式中,标记时间TM可以是在第一发送时间TS1的基础上递增预设时间ΔT获得,在确定出标记时间TM后,可以确定出该预设时间ΔT所对应的预设时间戳ΔTC,然后,在第一时间戳TC1上递增该预设时间戳ΔTC,即可获得第二时间戳TC2。
在实际应用中,预设时间ΔT可以根据实际情况来确定,例如,预设时间ΔT可以根据转发服务器33接收到第一报文的第一接收时间TR1,以及发送端31发送第一报文的第一发送时间TS1来确定。通过求取第一接收时间TR1和第一发送时间TS1的差值,来确定预设时间ΔT=TR1-TS1。将该预设时间ΔT与第一发送时间TS1求和,即可获得标记时间TM=TS1+ΔT=TS1+(TR1-TS1)=TR1。需要说明的是,除过上述确定预设时间ΔT的方法外,还可以根据实际需要使用其他方法来确定预设时间ΔT,本公开示例性实施方式对于预设时间ΔT的具体确定方法不作特殊限定。
本公开示例性实施方式通过在第一发送时间TS1的基础上递增预设时间ΔT以获得标记时间TM,可以避免在报文传输过程中,由于报文过多导致的报文发送时间等发生重复,便于查找。
本公开示例性实施方式中,在确定出预设时间ΔT之后,即可根据该预设时间ΔT及采样率F来确定预设时间戳ΔTC。具体的,预设时间戳ΔTC=ΔT*F。在所确定的预设时间戳ΔTC的基础上,所获得的第二时间戳TC2=TC1+ΔTC=TC1+ΔT*F。其中,采样率F可以是所发送视频流的采样率,具体数值大小可以根据实际情况确定,此处不作限定。
由上可知,本公开示例性实施方式所确定的第二时间戳TC2是与标记时间TM对应的时间戳,并且,标记时间TM和对应的第二时间戳TC2是在第一发送时间TS1和对应的第一时间戳TC1的基础上获得的,标记时间TM和第二时间戳TC2保留了第一发送时间TS1和第一时间戳TC1的对应关系,从而为接收端35的音画同步提供了基础。
在步骤S16中,将包含标记时间及第二时间戳的第二报文发送到接收端,并记录发送第二报文的第二发送时间。
本公开示例性实施方式中,在确定出标记时间TM和第二时间戳TC2之后,即可在需要发送给接收端35的第二报文中记录标记时间TM和第二时间戳TC2,并且需要在第二报文中记录发送该第二报文的第二发送时间TS2。具体可以是以标记时间TM为标记,将第二发送时间TS2和第二时间戳TC2存储在第二报文中,以便于接收端35在接收到第二报文后,即可根据标记快速查找到第二发送时间TS2或第二时间戳TC2等信息。其中,第二报文同第一报文类似,也是一种SR。
需要说明的是,通常第二报文是定时发送的,因此,在发送第二报文之前即可确定出当前的第二报文的第二发送时间TS2,并记录在即将要发送的第二报文中。
在步骤S18中,接收从接收端发送的第三报文;第三报文包括标记时间和接收端收发间隔。
本公开示例性实施方式中,接收端35在接收到第二报文后,会记录第二报文中的标记时间TM,并记录接收到第二报文的第二接收时间TR2。接着,接收端35会在预定的周期内向转发服务器33发送第三报文,该第三报文为一种接收端报告(Receiver Report,RR),也属于一种RTCP报文,用于向发送端通知接收状态,例如,已经接收的字节数,接收报文的传输抖动,丢包数等。RR和SR配合使用可以用于计算往返延迟。其中,第三报文中需要包括标记时间TM和接收端收发间隔Δt。
本公开示例性实施方式中,接收端收发间隔Δt是由接收端35接收到第二报文的第二接收时间TR2和发送第三报文的发送时间即第三发送时间TS3确定的,可以将第三发送时间TS3和第二接收时间TR2的差值确定为所述接收端收发间隔Δt。
在步骤S20中,记录第三报文的接收时间,并根据第三报文的接收时间、第二发送时间和接收端收发间隔计算往返延迟。
本公开示例性实施方式中,转发服务器33在接收到第三报文后,会从第三报文中获取标记时间TM和接收端收发间隔Δt,并根据标记时间TM查找到第二发送时间TS2;同时,还会记录第三报文的接收时间TR3。
接着,根据上述第二发送时间TS2、接收端收发间隔Δt和第三报文的接收时间TR3即可确定出往返延迟RTT。往返延迟RTT是第二报文从转发服务器33发送至接收端35,再从接收端35接收到第三报文所经历的时长。该时长可以通过将第三报文的接收时间TR3减去第二发送时间TS2和接收端收发间隔Δt来确定,即RTT=TR3-TS2-Δt。
除过计算出往返延迟RTT之外,对于本公开而言最重要的一点是,在转发服务器33和接收端35传输数据过程中,保持了标记时间TM和第二时间戳TC2的对应关系,也就是保持了第一发送时间TS1和第一时间戳TC1的对应关系,接收端35即可根据标记时间TM和第二时间戳TC2即可进行音画同步计算,从而提高了音画同步的准确性。
本公开上述实施例的技术方案以报文转发为基础,一方面,通过在第一报文发送时的第一发送时间及其对应的第一时间戳的基础上,确定出了一种标记时间及其对应的第二时间戳,该标记时间及第二时间戳保持了第一发送时间及第一时间戳的对应关系,从而在转发服务器和接收端发送报文的过程中,保持了第一发送时间及第一时间戳的对应关系,从而提高了音画同步的准确性。再一方面,本公开示例性实施方式通过改变转发服务器所发送的第二报文中的信息,可以避免第一发送时间及第一时间戳的对应关系被破坏,从而为音画同步提供了基础。又一方面,通过以标记时间为标记,为第二发送时间以及第二时间戳的查找提供了便利,避免数据过多而发生混乱,提供数据处理的准确率。
示例性装置
在介绍了本公开示例性实施方式的确定往返延迟的方法之后,接下来,参考图4对本公开示例性实施方式的确定往返延迟的装置进行描述。其中,装置实施例部分可以继承方法实施例中的相关描述,使得装置实施例可以获得方法实施例相关具体描述的支持。
参考图4,根据本公开的示例性实施方式的确定往返延迟的装置4可以包括:第一接收模块41、第一确定模块43、第一发送模块45、第二接收模块47和第二确定模块49。
具体的,第一接收模块41,可以用于接收从发送端发送的第一报文;第一报文包括第一发送时间及第一发送时间对应的第一时间戳;第一确定模块43,可以用于根据第一发送时间及第一时间戳,确定标记时间及标记时间对应的第二时间戳;第一发送模块45,可以用于将包含标记时间及第二时间戳的第二报文发送到接收端,并记录发送第二报文的第二发送时间;第二接收模块47,可以用于接收从接收端发送的第三报文,第三报文包括标记时间和接收端收发间隔;第二确定模块49,可以用于记录第三报文的接收时间,并根据第三报文的接收时间、第二发送时间和接收端收发间隔计算往返延迟。
在本公开的一些实施例中,第一确定模块43可以用于在第一发送时间上递增预设时间,获得标记时间;在第一时间戳上递增预设时间对应的预设时间戳,获得第二时间戳。
在本公开的一些实施例中,第一确定模块43,可以用于确定接收到第一报文的第一接收时间;将第一接收时间和第一发送时间的差值确定为预设时间;将第一发送时间和预设时间求和,获得标记时间。
在本公开的一些实施例中,第一确定模块43,可以用于根据预设时间及采样率,计算预设时间戳;将第一时间戳和预设时间戳求和,获得第二时间戳。
在本公开的一些实施例中,第一发送模块45,还可以用于将第二发送时间和第二时间戳以标记时间为标记,存储在第二报文中。
在本公开的一些实施例中,参考图5,根据本公开的示例性实施方式的确定往返延迟的装置4还可以包括:第三确定模块51。
具体的,第三确定模块51可以用于确定接收端发送第三报文的第三发送时间;将第三发送时间和第二接收时间的差值确定为接收端收发间隔。
在本公开的一些实施例中,第二确定模块49,可以用于将第三报文的接收时间减去第二发送时间和接收端收发间隔,确定为往返延迟。
由于本公开实施方式的确定往返延迟的装置的各个功能模块与上述方法发明实施方式中相同,因此在此不再赘述。
本公开上述实施例的确定往返延迟的装置,一方面,通过第一确定模块,在第一报文发送时的第一发送时间及其对应的第一时间戳的基础上,确定出了一种标记时间及其对应的第二时间戳,该标记时间及第二时间戳保持了第一发送时间及第一时间戳的对应关系,从而在转发服务器和接收端发送报文的过程中,保持了第一发送时间及第一时间戳的对应关系,从而提高了音画同步的准确性。再一方面,本公开示例性实施方式通过第一发送模块,改变转发服务器所发送的第二报文中的信息,可以避免第一发送时间及第一时间戳的对应关系被破坏,从而为音画同步提供了基础。又一方面,通过第一发送模块,以标记时间为标记,为第二发送时间以及第二时间戳的查找提供了便利,避免数据过多而发生混乱,提供数据处理的准确率。
示例性系统
在介绍了本公开示例性实施方式的确定往返延迟的方法和系统之后,接下来,参考图6对本公开示例性实施方式的确定往返延迟的系统进行描述。其中,系统实施例部分可以继承方法实施例中的相关描述,使得系统实施例可以获得方法实施例相关具体描述的支持。
参考图6,根据本公开的示例性实施方式的确定往返延迟的系统6可以包括:转发端61以及与转发端61通信的发送端63和接收端65。其中,转发端61相当于方法实施例中的转发服务器。
具体的,发送端63,可以用于接收从发送端发送的第一报文;第一报文包括第一发送时间及第一发送时间对应的第一时间戳;转发端61,可以用于接收从发送端发送的第一报文;根据第一发送时间及第一时间戳,确定标记时间及标记时间对应的第二时间戳;转发端61,还可以用于将包含标记时间及第二时间戳的第二报文发送到接收端,并记录发送第二报文的第二发送时间;接收端65,可以用于在接收到第二报文后,将第三报文发送到转发端,第三报文包括标记时间和接收端收发间隔;转发端61,还可以用于接收从接收端发送的第三报文,记录第三报文的接收时间,并根据第三报文的接收时间、第二发送时间和接收端收发间隔计算往返延迟。
在本公开的一些实施例中,转发端61可以用于在第一发送时间上递增预设时间,获得标记时间;在第一时间戳上递增预设时间对应的预设时间戳,获得第二时间戳。
在本公开的一些实施例中,转发端61,可以用于确定接收到第一报文的第一接收时间;将第一接收时间和第一发送时间的差值确定为预设时间;将第一发送时间和预设时间求和,获得标记时间。
在本公开的一些实施例中,转发端61,可以用于根据预设时间及采样率,计算预设时间戳;将第一时间戳和预设时间戳求和,获得第二时间戳。
在本公开的一些实施例中,转发端61,还可以用于将第二发送时间和第二时间戳以标记时间为标记,存储在第二报文中。
在本公开的一些实施例中,转发端61,还可以用于确定接收端发送第三报文的第三发送时间;将第三发送时间和第二接收时间的差值确定为接收端收发间隔。
在本公开的一些实施例中,转发端61,还可以用于将第三报文的接收时间减去第二发送时间和接收端收发间隔,确定为往返延迟。
由于本公开实施方式的确定往返延迟的系统的各个功能模块与上述方法发明实施方式中相同,因此在此不再赘述。
本公开上述实施例的确定往返延迟的系统,一方面,通过转发端,在第一报文发送时的第一发送时间及其对应的第一时间戳的基础上,确定出了一种标记时间及其对应的第二时间戳,该标记时间及第二时间戳保持了第一发送时间及第一时间戳的对应关系,从而在转发服务器和接收端发送报文的过程中,保持了第一发送时间及第一时间戳的对应关系,从而提高了音画同步的准确性。再一方面,本公开示例性实施方式通过转发端,改变转发服务器所发送的第二报文中的信息,可以避免第一发送时间及第一时间戳的对应关系被破坏,从而为音画同步提供了基础。又一方面,通过转发端,以标记时间为标记,为第二发送时间以及第二时间戳的查找提供了便利,避免数据过多而发生混乱,提供数据处理的准确率。
示例性设备
在介绍了本公开示例性实施方式的确定往返延迟的方法、装置及系统之后,接下来,将对本公开的示例性实施方式的电子设备进行描述。其中,本公开的示例性实施方式的电子设备包括上述确定往返延迟的装置之一。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本公开的电子设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“方法”部分中描述的根据本公开各种示例性实施方式中的步骤。
下面参照图7来描述根据本公开的这种实施方式的电子设备2000。图7显示的电子设备2000仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备2000以通用计算设备的形式表现。电子设备2000的组件可以包括但不限于:上述至少一个处理单元2010、上述至少一个存储单元2020、连接不同系统组件(包括存储单元2020和处理单元2010)的总线2030、显示单元2040。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元2010执行,使得所述处理单元2010执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元2010可以执行如图1中所示的步骤S12:接收从发送端发送的第一报文;第一报文包括第一发送时间及第一发送时间对应的第一时间戳;步骤S14:根据第一发送时间及第一时间戳,确定标记时间及标记时间对应的第二时间戳;步骤S16:将包含标记时间及第二时间戳的第二报文发送到接收端,并记录发送第二报文的第二发送时间;步骤S18:接收从接收端发送的第三报文;第三报文包括标记时间和接收端收发间隔;步骤S20:记录第三报文的接收时间,并根据第三报文的接收时间、第二发送时间和接收端收发间隔计算往返延迟。
存储单元2020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)20201和/或高速缓存存储单元20202,还可以进一步包括只读存储单元(ROM)20203。
存储单元2020还可以包括具有一组(至少一个)程序模块20205的程序/实用工具20204,这样的程序模块20205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线2030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备2000也可以与一个或多个外部设备2070(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备2000交互的设备通信,和/或与使得该电子设备2000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口2050进行。并且,电子设备2000还可以通过网络适配器2060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器2060通过总线2030与电子设备2000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备2000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
示例性程序产品
在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“方法”部分中描述的根据本公开各种示例性实施方式的确定往返延迟的方法中的步骤,例如,所述终端设备可以执行如图1所述的步骤12至步骤20。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光盘、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。另外,随着技术的发展,可读存储介质也应进行相应解读。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了上述装置中的若干模块或子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种确定往返延迟的方法,其特征在于,包括:
接收从发送端发送的第一报文;所述第一报文包括第一发送时间及所述第一发送时间对应的第一时间戳;
根据所述第一发送时间及所述第一时间戳,确定标记时间及所述标记时间对应的第二时间戳;
将包含所述标记时间及所述第二时间戳的第二报文发送到接收端,并记录发送所述第二报文的第二发送时间;
接收从所述接收端发送的第三报文;所述第三报文包括所述标记时间和接收端收发间隔;
记录所述第三报文的接收时间,并根据所述第三报文的接收时间、所述第二发送时间和所述接收端收发间隔计算往返延迟。
2.根据权利要求1所述的确定往返延迟的方法,其特征在于,根据所述第一发送时间及所述第一时间戳,确定标记时间及所述标记时间对应的第二时间戳包括:
在所述第一发送时间上递增预设时间,获得所述标记时间;
在所述第一时间戳上递增所述预设时间对应的预设时间戳,获得所述第二时间戳。
3.根据权利要求2所述的确定往返延迟的方法,其特征在于,在所述第一发送时间上递增预设时间,获得所述标记时间包括:
确定接收到所述第一报文的第一接收时间;
将所述第一接收时间和所述第一发送时间的差值确定为所述预设时间;
将所述第一发送时间和所述预设时间求和,获得所述标记时间。
4.根据权利要求2所述的确定往返延迟的方法,其特征在于,在所述第一时间戳上递增所述预设时间对应的预设时间戳,获得所述第二时间戳包括:
根据所述预设时间及采样率,计算所述预设时间戳;
将所述第一时间戳和所述预设时间戳求和,获得所述第二时间戳。
5.根据权利要求1所述的确定往返延迟的方法,其特征在于,所述方法还包括:
确定所述接收端发送所述第三报文的第三发送时间;
将所述第三发送时间和所述接收端接收所述第二报文的第二接收时间的差值确定为所述接收端收发间隔。
6.根据权利要求1或5所述的确定往返延迟的方法,其特征在于,根据所述第三报文的接收时间、所述第二发送时间和所述接收端收发间隔计算往返延迟包括:
将所述第三报文的接收时间减去所述第二发送时间和所述接收端收发间隔,确定为所述往返延迟。
7.一种确定往返延迟的装置,其特征在于,包括:
第一接收模块,用于接收从发送端发送的第一报文;所述第一报文包括第一发送时间及所述第一发送时间对应的第一时间戳;
第一确定模块,用于根据所述第一发送时间及所述第一时间戳,确定标记时间及所述标记时间对应的第二时间戳;
第一发送模块,用于将包含所述标记时间及所述第二时间戳的第二报文发送到接收端,并记录发送所述第二报文的第二发送时间;
第二接收模块,用于接收从所述接收端发送的第三报文,所述第三报文包括所述标记时间和接收端收发间隔;
第二确定模块,用于记录所述第三报文的接收时间,并根据所述第三报文的接收时间、所述第二发送时间和所述接收端收发间隔计算往返延迟。
8.一种确定往返延迟的系统,其特征在于,所述系统包括转发端及与所述转发端通信的发送端和接收端;其中:
所述发送端,用于将第一报文发送到所述转发端;所述第一报文包括第一发送时间及所述第一发送时间对应的第一时间戳;
所述转发端,用于接收从所述发送端发送的所述第一报文;根据所述第一发送时间及所述第一时间戳,确定标记时间及所述标记时间对应的第二时间戳;
所述转发端,还用于将包含所述标记时间及所述第二时间戳的第二报文发送到所述接收端,并记录发送所述第二报文的第二发送时间;
所述接收端,用于在接收到所述第二报文后,将第三报文发送到所述转发端,所述第三报文包括所述标记时间和接收端收发间隔;
所述转发端,还用于接收从所述接收端发送的所述第三报文,记录所述第三报文的接收时间,并根据所述第三报文的接收时间、所述第二发送时间和所述接收端收发间隔计算往返延迟。
9.一种存储介质,其上存储有确定机程序,其特征在于,所述确定机程序被处理器执行时实现权利要求1-6中任一项所述的确定往返延迟的方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-6中任一项所述的确定往返延迟的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110617310.8A CN113364646B (zh) | 2021-06-03 | 2021-06-03 | 确定往返延迟的方法、装置及系统、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110617310.8A CN113364646B (zh) | 2021-06-03 | 2021-06-03 | 确定往返延迟的方法、装置及系统、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113364646A true CN113364646A (zh) | 2021-09-07 |
CN113364646B CN113364646B (zh) | 2022-05-17 |
Family
ID=77531512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110617310.8A Active CN113364646B (zh) | 2021-06-03 | 2021-06-03 | 确定往返延迟的方法、装置及系统、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113364646B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848119A (zh) * | 2010-05-19 | 2010-09-29 | 同济大学 | 一种消除系统处理时间的高精度网络往返延迟测量方法 |
US20150039754A1 (en) * | 2013-08-01 | 2015-02-05 | Samsung Electronics Co., Ltd. | Method of estimating round-trip time (rtt) in content-centric network (ccn) |
US20160170441A1 (en) * | 2014-12-15 | 2016-06-16 | Cisco Technology, Inc. | Feed-forward time transfer mechanism for time synchronization |
TW201624956A (zh) * | 2014-11-19 | 2016-07-01 | 日本電氣股份有限公司 | 往返延遲時間量測系統、往返延遲時間量測方法、回傳方法、通信裝置、程式、及資料結構 |
CN105791939A (zh) * | 2016-03-14 | 2016-07-20 | 北京捷思锐科技股份有限公司 | 音频与视频的同步方法及装置 |
CN106656642A (zh) * | 2015-10-28 | 2017-05-10 | 华为技术有限公司 | 一种往返时延的测量方法、装置及系统 |
CN110062268A (zh) * | 2019-04-19 | 2019-07-26 | 北京那镁克科技有限公司 | 一种音视频同屏播放的发送和接收处理方法及装置 |
CN112073142A (zh) * | 2020-09-02 | 2020-12-11 | 浙江吉利汽车研究院有限公司 | 一种用于车辆的自动泊车方法及系统 |
CN112217686A (zh) * | 2019-07-12 | 2021-01-12 | 华为技术有限公司 | 一种评估往返时延的系统、方法及装置 |
CN112771818A (zh) * | 2018-10-05 | 2021-05-07 | 高通股份有限公司 | 用于快速往返时间测量分发的系统和方法 |
CN112887063A (zh) * | 2021-01-19 | 2021-06-01 | 网易(杭州)网络有限公司 | 数据包传输方法和装置、存储介质、电子设备 |
-
2021
- 2021-06-03 CN CN202110617310.8A patent/CN113364646B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848119A (zh) * | 2010-05-19 | 2010-09-29 | 同济大学 | 一种消除系统处理时间的高精度网络往返延迟测量方法 |
US20150039754A1 (en) * | 2013-08-01 | 2015-02-05 | Samsung Electronics Co., Ltd. | Method of estimating round-trip time (rtt) in content-centric network (ccn) |
TW201624956A (zh) * | 2014-11-19 | 2016-07-01 | 日本電氣股份有限公司 | 往返延遲時間量測系統、往返延遲時間量測方法、回傳方法、通信裝置、程式、及資料結構 |
US20160170441A1 (en) * | 2014-12-15 | 2016-06-16 | Cisco Technology, Inc. | Feed-forward time transfer mechanism for time synchronization |
CN106656642A (zh) * | 2015-10-28 | 2017-05-10 | 华为技术有限公司 | 一种往返时延的测量方法、装置及系统 |
CN105791939A (zh) * | 2016-03-14 | 2016-07-20 | 北京捷思锐科技股份有限公司 | 音频与视频的同步方法及装置 |
CN112771818A (zh) * | 2018-10-05 | 2021-05-07 | 高通股份有限公司 | 用于快速往返时间测量分发的系统和方法 |
CN110062268A (zh) * | 2019-04-19 | 2019-07-26 | 北京那镁克科技有限公司 | 一种音视频同屏播放的发送和接收处理方法及装置 |
CN112217686A (zh) * | 2019-07-12 | 2021-01-12 | 华为技术有限公司 | 一种评估往返时延的系统、方法及装置 |
CN112073142A (zh) * | 2020-09-02 | 2020-12-11 | 浙江吉利汽车研究院有限公司 | 一种用于车辆的自动泊车方法及系统 |
CN112887063A (zh) * | 2021-01-19 | 2021-06-01 | 网易(杭州)网络有限公司 | 数据包传输方法和装置、存储介质、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113364646B (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018076952A1 (zh) | 一种视频文件的存储、定位播放方法及装置 | |
WO2009098757A1 (ja) | フレームロス測定方法、システムおよび装置 | |
CA2318963A1 (en) | Method and apparatus for media data transmission | |
CN104394380A (zh) | 视频监控管理系统以及视频监控录像的回放方法 | |
US9647915B2 (en) | Detailed end-to-end latency tracking of messages | |
CN109144858B (zh) | 流畅度检测方法、装置、计算设备及存储介质 | |
JP2009303089A (ja) | 遅延時間計測装置、遅延時間計測プログラム、および遅延時間計測方法 | |
US20160119181A1 (en) | Network state monitoring system | |
CN112491652A (zh) | 一种用于测试的网络流量样本处理方法及装置 | |
CN111490908B (zh) | 一种网络测速方法、装置、设备、介质及测速系统 | |
CN115174490B (zh) | 一种数据传输方法及网络应用终端 | |
CN105553939A (zh) | 一种流媒体卡顿的确定方法及装置 | |
CN112433920A (zh) | 一种埋点数据上报方法、装置、设备及介质 | |
KR20110090596A (ko) | 지터 보정 방법 및 장치 | |
CN110932931A (zh) | 用于数据中心网络延迟的检测方法及装置 | |
CN113115120A (zh) | 视频切片方法、装置、电子设备及存储介质 | |
CN109889922B (zh) | 流媒体数据的转发方法、装置、设备和存储介质 | |
CN113364646B (zh) | 确定往返延迟的方法、装置及系统、存储介质和电子设备 | |
CN112769876A (zh) | 一种设备通道信息获取方法、装置、设备和介质 | |
CN115086621B (zh) | 一种消防异常信息确定方法、装置、设备及介质 | |
CN113590017A (zh) | 用于处理数据的方法、电子设备和计算机程序产品 | |
US20240056370A1 (en) | Data transmission control method and apparatus, electronic device, and storage medium | |
CN114374705A (zh) | 服务集群和消息推送方法 | |
CN111723116A (zh) | 数据回填方法及装置、系统 | |
KR101627796B1 (ko) | 네트워크 기반 av 시스템에서 디바이스 상태 정보 전송 방법 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210928 Address after: 310000 Room 408, building 3, No. 399, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Hangzhou Netease Zhiqi Technology Co.,Ltd. Address before: 310052 Room 301, Building No. 599, Changhe Street Network Business Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant before: HANGZHOU LANGHE TECHNOLOGY Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |