CN110620939B - 一种网络状态确定方法、装置、电子设备及存储介质 - Google Patents

一种网络状态确定方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110620939B
CN110620939B CN201910993931.9A CN201910993931A CN110620939B CN 110620939 B CN110620939 B CN 110620939B CN 201910993931 A CN201910993931 A CN 201910993931A CN 110620939 B CN110620939 B CN 110620939B
Authority
CN
China
Prior art keywords
data packet
client
server
preset
time
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
Application number
CN201910993931.9A
Other languages
English (en)
Other versions
CN110620939A (zh
Inventor
钟书城
周超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN201910993931.9A priority Critical patent/CN110620939B/zh
Publication of CN110620939A publication Critical patent/CN110620939A/zh
Application granted granted Critical
Publication of CN110620939B publication Critical patent/CN110620939B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本公开是关于一种网络状态确定方法、装置、电子设备及存储介质,该方法包括:当达到预设时刻时,计算客户端与服务器之间当前的时钟偏差,作为第一时钟偏差;根据预设校正公式,对第一时钟偏差进行校正,得到第一校正时钟偏差;当接收到客户端发送的第一数据包时,基于第一校正时钟偏差,统计预设历史时间段内,客户端与服务器之间的网络信息;根据所统计的网络信息,确定客户端与服务器之间的网络状态。基于上述处理,能够提高确定出的网络状态的准确度。

Description

一种网络状态确定方法、装置、电子设备及存储介质
技术领域
本公开涉及流媒体传输技术领域,特别是涉及一种网络状态确定方法、装置、电子设备及存储介质。
背景技术
随着互联网技术的快速发展,以及智能电子设备性能的提升,用户之间可以通过RTC(Real-Time Communication,即时通信)应用程序传递信息。在传输数据包的过程中,服务器可以统计与客户端之间的网络信息,并根据网络信息确定当前的网络状态,例如,根据网络信息,可以确定当前网络的延迟情况,或者,也可以根据网络信息,调整客户端发送数据包的码率。
然而,由于客户端与服务器之间存在时钟偏差,可能会导致统计的网络信息的准确度较低,进而,会降低确定出的网络状态的准确度。
发明内容
本公开提供一种网络状态确定方法、装置、电子设备及存储介质,以至少解决相关技术中确定出的网络状态的准确度较低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种网络状态确定方法,所述方法应用于服务器,包括:
当达到预设时刻时,计算客户端与所述服务器之间当前的时钟偏差,作为第一时钟偏差;
根据预设校正公式,对所述第一时钟偏差进行校正,得到第一校正时钟偏差;其中,所述预设校正公式为:S=M×(1-α)+N×α,S表示所述第一校正时钟偏差,M表示所述第一时钟偏差,N表示上一次确定出的第二校正时钟偏差,α表示校正系数;
当接收到所述客户端发送的第一数据包时,基于所述第一校正时钟偏差,统计预设历史时间段内,所述客户端与所述服务器之间的网络信息;
根据所统计的网络信息,确定所述客户端与所述服务器之间的网络状态。
可选的,如果所述第一时钟偏差为计算出的第一个时钟偏差,则所述上一次确定出的第二校正时钟偏差为0。
可选的,在所述根据预设校正公式,对所述第一时钟偏差进行校正,得到第一校正时钟偏差之前,所述方法还包括:
判断当前所述客户端与所述服务器之间的第一往返延时是否大于第二往返延时的预设倍数,其中,所述第二往返延时为已确定出的各往返延时中除所述第一往返延时外的数值最小的往返延时,所述预设倍数大于1;
如果所述第一往返延时不大于所述第二往返延时的预设倍数,执行根据预设校正公式,对所述第一时钟偏差进行校正,得到第一校正时钟偏差。
可选的,所述方法还包括:
如果所述第一往返延时大于所述第二往返延时的预设倍数,将所述第二校正时钟偏差确定为所述第一校正时钟偏差,并执行所述当接收到所述客户端发送的第一数据包时,根据所述第一校正时钟偏差,统计预设历史时间段内,所述客户端与所述服务器之间的网络信息。
可选的,所述第一数据包中携带有数据包序号,所述数据包序号为所述客户端根据发送所述第一数据包的顺序确定的;
所述当接收到所述客户端发送的第一数据包时,基于所述第一校正时钟偏差,统计预设历史时间段内,所述客户端与所述服务器之间的网络信息,包括:
当接收到所述客户端发送的第一数据包时,基于所述第一校正时钟偏差和接收到的数据包中携带的数据包序号,统计第一预设历史时间段内的第一网络信息和/或第二预设历史时间段内的第二网络信息,所述第二预设历史时间段的时长大于所述第一预设历史时间段的时长;
所述第一网络信息包括以下至少一项:所述第一校正时钟偏差、所述第一预设历史时间段的时长、所述服务器接收到的数据包的延时、所述服务器接收到的数据包的码率、所述服务器接收到的数据包的丢包率、所述客户端发送数据包的码率、所述客户端发送数据包的丢包率、所述服务器接收到的数据包是否存在乱序、预设时间窗口内接收到的数据包的大小;所述预设时间窗口为从第一时刻至所述服务器中接收到所述第一数据包的时刻之间的时间段;所述第一时刻为所述客户端中发送所述第一数据包的第二时刻在所述服务器中对应的时刻;
所述第二网络信息包括以下至少一项:所述第二预设历史时间段的时长、所述服务器接收到的数据包的延时、所述服务器接收到的数据包的码率、所述服务器接收到的数据包的丢包率、所述客户端发送数据包的码率、所述客户端发送数据包的丢包率。
可选的,所述网络状态包括调整后所述客户端发送数据包的码率;
所述根据所统计的网络信息,确定所述客户端与所述服务器之间的网络状态,包括:
基于所述第二网络信息中记录的所述服务器接收到的数据包的码率,确定调整后所述客户端发送数据包的码率;
或者,基于所述第一网络信息中记录的所述预设时间窗口内接收到的数据包的大小和所述第二网络信息中记录的所述服务器接收到的数据包的码率,确定调整后所述客户端发送数据包的码率。
可选的,所述基于所述第一网络信息中记录的所述预设时间窗口内接收到的数据包的大小和所述第二网络信息中记录的所述服务器接收到的数据包的码率,确定调整后所述客户端发送数据包的码率,包括:
计算所述第一网络信息中记录的所述预设时间窗口内接收到的数据包的大小与预设时长的比值,作为第一比值;
将所述第二网络信息中记录的所述服务器接收到的数据包的码率与所述第一比值的差值,确定为调整后所述客户端发送数据包的码率。
可选的,所述当达到预设时刻时,计算客户端与所述服务器之间当前的时钟偏差,作为第一时钟偏差,包括:
当达到预设时刻时,向客户端发送第一校时数据包,其中,所述第一校时数据包中携带有所述预设时刻;
接收所述客户端发送的用于响应所述第一校时数据包的第二校时数据包,其中,所述第二校时数据包中携带有所述客户端接收到所述第一校时数据包时的第一时刻、所述客户端发送所述第二校时数据包的第二时刻和所述预设时刻;
根据接收到所述第二校时数据包的第三时刻、所述第一时刻、所述第二时刻、所述预设时刻和时钟偏差计算公式,计算所述客户端与所述服务器之间当前的第一时钟偏差;
其中,所述时钟偏差计算公式为:
Figure BDA0002239166370000041
M表示所述第一时钟偏差、R1表示所述第一时刻、S1表示所述预设时刻、R2表示所述第三时刻、S2表示所述第二时刻。
根据本公开实施例的第二方面,提供一种网络状态确定装置,所述装置应用于服务器,包括:
计算模块,被配置为执行当达到预设时刻时,计算客户端与所述服务器之间当前的时钟偏差,作为第一时钟偏差;
校正模块,被配置为执行根据预设校正公式,对所述第一时钟偏差进行校正,得到第一校正时钟偏差;其中,所述预设校正公式为:S=M×(1-α)+N×α,S表示所述第一校正时钟偏差,M表示所述第一时钟偏差,N表示上一次确定出的第二校正时钟偏差,α表示校正系数;
统计模块,被配置为执行当接收到所述客户端发送的第一数据包时,基于所述第一校正时钟偏差,统计预设历史时间段内,所述客户端与所述服务器之间的网络信息;
确定模块,被配置为执行根据所统计的网络信息,确定所述客户端与所述服务器之间的网络状态。
可选的,如果所述第一时钟偏差为计算出的第一个时钟偏差,则所述上一次确定出的第二校正时钟偏差为0。
可选的,所述装置还包括:
判断模块,被配置为执行判断当前所述客户端与所述服务器之间的第一往返延时是否大于第二往返延时的预设倍数,其中,所述第二往返延时为已确定出的各往返延时中除所述第一往返延时外的数值最小的往返延时,所述预设倍数大于1;
如果所述第一往返延时不大于所述第二往返延时的预设倍数,执行根据预设校正公式,对所述第一时钟偏差进行校正,得到第一校正时钟偏差。
可选的,所述装置还包括:
处理模块,被配置为执行如果所述第一往返延时大于所述第二往返延时的预设倍数,将所述第二校正时钟偏差确定为所述第一校正时钟偏差,并执行所述当接收到所述客户端发送的第一数据包时,根据所述第一校正时钟偏差,统计预设历史时间段内,所述客户端与所述服务器之间的网络信息。
可选的,所述第一数据包中携带有数据包序号,所述数据包序号为所述客户端根据发送所述第一数据包的顺序确定的;
所述统计模块,被配置为执行当接收到所述客户端发送的第一数据包时,基于所述第一校正时钟偏差和接收到的数据包中携带的数据包序号,统计第一预设历史时间段内的第一网络信息和/或第二预设历史时间段内的第二网络信息,所述第二预设历史时间段的时长大于所述第一预设历史时间段的时长;
所述第一网络信息包括以下至少一项:所述第一校正时钟偏差、所述第一预设历史时间段的时长、所述服务器接收到的数据包的延时、所述服务器接收到的数据包的码率、所述服务器接收到的数据包的丢包率、所述客户端发送数据包的码率、所述客户端发送数据包的丢包率、所述服务器接收到的数据包是否存在乱序、预设时间窗口内接收到的数据包的大小;所述预设时间窗口为从第一时刻至所述服务器中接收到所述第一数据包的时刻之间的时间段;所述第一时刻为所述客户端中发送所述第一数据包的第二时刻在所述服务器中对应的时刻;
所述第二网络信息包括以下至少一项:所述第二预设历史时间段的时长、所述服务器接收到的数据包的延时、所述服务器接收到的数据包的码率、所述服务器接收到的数据包的丢包率、所述客户端发送数据包的码率、所述客户端发送数据包的丢包率。
可选的,所述网络状态包括调整后所述客户端发送数据包的码率;
所述确定模块,被配置为执行基于所述第二网络信息中记录的所述服务器接收到的数据包的码率,确定调整后所述客户端发送数据包的码率;
或者,基于所述第一网络信息中记录的所述预设时间窗口内接收到的数据包的大小和所述第二网络信息中记录的所述服务器接收到的数据包的码率,确定调整后所述客户端发送数据包的码率。
可选的,所述确定模块,被配置为执行计算所述第一网络信息中记录的所述预设时间窗口内接收到的数据包的大小与预设时长的比值,作为第一比值;
将所述第二网络信息中记录的所述服务器接收到的数据包的码率与所述第一比值的差值,确定为调整后所述客户端发送数据包的码率。
可选的,所述计算模块,被配置为执行当达到预设时刻时,向客户端发送第一校时数据包,其中,所述第一校时数据包中携带有所述预设时刻;
接收所述客户端发送的用于响应所述第一校时数据包的第二校时数据包,其中,所述第二校时数据包中携带有所述客户端接收到所述第一校时数据包时的第一时刻、所述客户端发送所述第二校时数据包的第二时刻和所述预设时刻;
根据接收到所述第二校时数据包的第三时刻、所述第一时刻、所述第二时刻、所述预设时刻和时钟偏差计算公式,计算所述客户端与所述服务器之间当前的第一时钟偏差;
其中,所述时钟偏差计算公式为:
Figure BDA0002239166370000061
M表示所述第一时钟偏差、R1表示所述第一时刻、S1表示所述预设时刻、R2表示所述第三时刻、S2表示所述第二时刻。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述第一方面所述的网络状态确定方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第一方面所述的网络状态确定方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,当所述计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行如上第一方面所述的网络状态确定方法。
本公开的实施例提供的技术方案可以包括以下有益效果:当达到预设时刻时,计算客户端与服务器之间当前的时钟偏差,作为第一时钟偏差,然后,根据预设校正公式,对第一时钟偏差进行校正,得到第一校正时钟偏差,进而,当接收到客户端发送的第一数据包时,基于第一校正时钟偏差,统计预设历史时间段内,客户端与服务器之间的网络信息,并根据所统计的网络信息,确定客户端与服务器之间的网络状态。
基于上述处理,可以计算客户端与服务器之间的时钟偏差,并对计算的时钟偏差进行校正,进而,基于校正后的时钟偏差,能够提高统计的网络信息的准确度,能够提高确定出的网络状态的准确度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种网络状态确定方法的流程图。
图2是根据一示例性实施例示出的一种网络状态确定装置的结构图。
图3是根据一示例性实施例示出的一种电子设备的结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
相关技术中,由于客户端与服务器之间存在时钟偏差,可能会导致统计的网络信息的准确度较低,进而,降低确定出的网络状态的准确度。
为了解决上述问题,本公开实施例提供了一种网络状态确定方法,该方法可以应用于服务器。
当达到预设时刻时,服务器可以计算与客户端之间当前的时钟偏差,作为第一时钟偏差,然后,服务器可以根据预设校正公式,对第一时钟偏差进行校正,得到第一校正时钟偏差,进而,当接收到客户端发送的第一数据包时,服务器可以基于第一校正时钟偏差,统计预设历史时间段内,客户端与服务器之间的网络信息,进而,可以根据所统计的网络信息,确定客户端与服务器之间的网络状态。
基于上述处理,服务器可以计算客户端与服务器之间的时钟偏差,并对计算的时钟偏差进行校正,基于校正后的时钟偏差,能够提高统计的网络信息的准确度,进而,可以提高确定出的网络状态的准确度。
参见图1,图1是根据一示例性实施例示出的一种网络状态确定方法的流程图,该方法可以应用于服务器,该方法可以包括以下步骤:
在步骤S101中,当达到预设时刻时,计算客户端与服务器之间当前的时钟偏差,作为第一时钟偏差。
其中,第一时钟偏差可以为客户端与服务器之间的***时间偏差。
由于服务器和客户端为不同的两个电子设备,服务器和客户端中的***时间可能会不一致。例如,在同一时刻,服务器中的***时间为7点30分20秒,客户端中的***时间有可能为7点30分22秒,则客户端和服务器之间的***时间偏差为2秒。因此,为了准确地对网络信息进行统计,服务器可以周期性地计算服务器与客户端之间的时钟偏差(即服务器与客户端之间的***时间偏差)。
可选的,S101可以包括以下步骤:
步骤一,当达到预设时刻时,向客户端发送第一校时数据包;接收客户端发送的用于响应第一校时数据包的第二校时数据包。
其中,第一校时数据包中携带有预设时刻。第二校时数据包中携带有客户端接收到第一校时数据包时的第一时刻、客户端发送第二校时数据包的第二时刻和预设时刻。
步骤二,根据接收到第二校时数据包的第三时刻、第一时刻、第二时刻、预设时刻和时钟偏差计算公式,计算客户端与服务器之间当前的第一时钟偏差。
其中,时钟偏差计算公式为:
Figure BDA0002239166370000091
M表示第一时钟偏差、R1表示第一时刻、S1表示预设时刻、R2表示第三时刻、S2表示第二时刻。
在一个实施例中,当达到预设时刻时,服务器可以向客户端发送校时数据包(即第一校时数据包),第一校时数据包中可以携带有服务器发送第一校时数据包时,服务器中的***时间(即预设时刻)。
当接收到第一校时数据包时,客户端可以向服务器发送对应的第二校时数据包,第二校时数据包中可以携带有预设时刻、客户端接收到第一校时数据包的时刻(即第一时刻)和客户端发送第二校时数据包的时刻(即第二时刻)。
第一校时数据包可以为CLOCK_SYNC(Clock Synchronization,时钟同步)包,第二校时数据包可以为CLOCK_SYNC_ACK(Acknowledgement,确认)包。
当服务器接收到第二校时数据包时,可以确定接收到第二校时数据包时服务器中的***时间(即第三时刻)。
进而,服务器可以根据预设时刻、第一时刻、第二时刻、第三时刻和上述公式(1),计算当前服务器与客户端之间的时钟偏差(即第一时钟偏差)。
在步骤S102中,根据预设校正公式,对第一时钟偏差进行校正,得到第一校正时钟偏差。
其中,预设校正公式为:S=M×(1-α)+N×α,S表示第一校正时钟偏差,M表示第一时钟偏差,N表示上一次确定出的第二校正时钟偏差,α表示校正系数。α的数值可以由技术人员根据经验进行设置,例如,α可以为0.85。
在一个实施例中,由于网络环境的影响,可能会导致服务器根据校时数据包确定出的时钟偏差并不准确,因此,服务器可以周期性地根据校时数据包确定服务器与客户端之间的时钟偏差,并在每次确定出时钟偏差后,对确定出的时钟偏差进行校正,以不断提高确定出的时钟偏差的准确度。
相应的,在确定出第一时钟偏差后,服务器可以根据上述预设校正公式,对第一时钟偏差进行校正,得到第一校正时钟偏差。
可选的,如果第一时钟偏差为计算出的第一个时钟偏差,则上一次确定出的第二校正时钟偏差可以为0。
在一个实施例中,在服务器第一次计算得到时钟偏差时,即第一时钟偏差为计算出的第一个时钟偏差时,服务器可以确定上一次确定出的第二校正时钟偏差为0,进而,根据上述预设校正公式,对第一时钟偏差进行校正。
在步骤S103中,当接收到客户端发送的第一数据包时,根据第一校正时钟偏差,统计预设历史时间段内,客户端与服务器之间的网络信息。
其中,预设历史时间段可以为接收到第一数据包之前持续时长为预设时长的时间段,预设历史时间段可以为一个时间段,也可以为多个时间段。如果预设历史时间段为多个时间段,则各预设历史时间段的持续时长可以不相同。
例如,预设历史时间段为两个历史时间段,其中一个历史时间段为接收到第一数据包之前持续时长为第一预设时长的时间段,另一个历史时间段为接收到第一数据包之前持续时长为第二预设时长的时间段,第一预设时长可以属于50~100ms时长段,第二预设时长可以属于500ms~1S时长段。
在一个实施例中,在确定第一校正时钟偏差后,当服务器接收到客户端发送的数据包(即本公开实施例中的第一数据包)时,服务器可以根据第一校正时钟偏差,统计得到预设历史时间段内,客户端与服务器之间的网络信息。
可以理解的是,服务器在每次接收到客户端发送的数据包时,可以统计当前的网络信息,即,服务器接收到的每一个数据包的时刻都可以对应有不同的网络信息。
在步骤S104中,根据所统计的网络信息,确定客户端与服务器之间的网络状态。
在一个实施例中,服务器可以根据多次统计得到的网络信息,确定与客户端之间的网络状态。
可选的,服务器可以在与客户端之间未发生网络拥塞的情况下,对第一时钟偏差进行校正,即,在S102之前,该方法还可以包括以下步骤:
判断当前客户端与服务器之间的第一往返延时,是否大于第二往返延时的预设倍数,如果第一往返延时,不大于第二往返延时的预设倍数,执行S102。
其中,第二往返延时为已确定出的各往返延时中除第一往返延时外的数值最小的往返延时,预设倍数大于1。例如,预设倍数可以为1.25,但并不限于此。
在一个实施例中,服务器在计算第一时钟偏差后,还可以计算服务器与客户端之间的往返延时。例如,服务器可以计算第三时刻与预设时刻的差值,作为第一往返延时。
可以理解的是,由于服务器周期性地确定与客户端之间的时钟偏差,因此,服务器也可以周期性地确定与客户端之间的往返延时。
在确定出第一往返延时后,服务器可以确定当前已确定出的各往返延时中除第一往返延时外的数值最小的往返延时(即本公开实施例中的第二往返延时),然后,服务器可以判断第一往返延时是否大于第二往返延时的预设倍数。
如果第一往返延时不大于第二往返延时的预设倍数,表明当前服务器与客户端之间未发生网络拥塞,相应的,服务器则可以根据预设校正公式对第一时钟偏差进行校正。
可选的,该方法还可以包括以下步骤:如果第一往返延时大于第二往返延时的预设倍数,将第二校正时钟偏差确定为第一校正时钟偏差,并执行S103。
在一个实施例中,当服务器判定第一往返延时大于第二往返延时的预设倍数时,表明当前服务器与客户端之间的往返延时较大,即,当前服务器与客户端之间可能发生网络拥塞,此时,服务器可以不对第一时钟偏差进行校正,而是将上一次校正得到的时钟偏差(即第二时钟偏差),作为当前的时钟偏差,以统计网络信息。
可选的,为了能够准确地确定数据包传输过程中的丢包率,以及传输数据包的码率,第一数据包中可以携带有数据包序号,数据包序号为客户端根据发送第一数据包的顺序确定的,相应的,S103可以包括以下步骤:当接收到客户端发送的第一数据包时,基于第一校正时钟偏差和接收到的数据包中携带的数据包序号,统计第一预设历史时间段内的第一网络信息和/或第二预设历史时间段内的第二网络信息。
其中,第二预设历史时间段的时长大于第一预设历史时间段的时长。
第一网络信息包括以下至少一项:第一校正时钟偏差、第一预设历史时间段的时长、服务器接收到的数据包的延时、服务器接收到的数据包的码率、服务器接收到的数据包的丢包率、客户端发送数据包的码率、客户端发送数据包的丢包率、服务器接收到的数据包是否存在乱序、预设时间窗口内接收到的数据包的大小。
预设时间窗口为从第一时刻至服务器中接收到第一数据包的时刻之间的时间段。第一时刻为客户端中发送第一数据包的第二时刻在服务器中对应的时刻。
第二网络信息包括以下至少一项:第二预设历史时间段的时长、服务器接收到的数据包的延时、服务器接收到的数据包的码率、服务器接收到的数据包的丢包率、客户端发送数据包的码率、客户端发送数据包的丢包率。
在一个实施例中,为了综合统计网络信息对服务器的性能影响,以及统计的网络信息的精确度,服务器可以根据第一预设历史时间段和第二预设历史时间段,进行网络信息的统计。
第一预设历史时间段内统计的第一网络信息,可以多于第二预设历史时间段内的统计的第二网络信息,相应的,第一网络信息的信息丰富度较高,第二网络信息的信息精确度较高。
在实际操作中,可以根据需要只统计第一网络信息,或者,只统计第二网络信息,或者,也可以同时统计第一网络信息和第二网络信息。
基于第一校正时钟偏差,服务器可以在统计网络信息的过程中,消除与客户端之间的***时间偏差的影响,进而,能够得到较为准确的网络信息。
服务器接收到的数据包的延时可以包括:接收到的各数据包的最小单向延时、第一数据包的排队延时、接收到的各数据包的最大排队延时。
在一个实施例中,针对第一预设历史时间段内接收到的每一数据包,服务器可以计算客户端发送该数据包的时间与接收到该数据包的时间的差值,并根据第一校正时钟偏差,计算该数据包的单向延时,进而,服务器可以确定出第一预设历史时间段内接收到的各数据包的最小单向延时(可以称为最小单向延时)。
第一数据包的排队延时为第一数据包的单向延时与最小单向延时的差值。
针对第一预设历史时间段内接收到的每一数据包,服务器可以计算该数据包的排队延时,进而,服务器可以确定出第一预设历史时间段内接收到的各数据包的最大排队延时(可以称为最大排队延时)。
针对第一预设历史时间段内接收到的每一数据包,服务器可以计算该数据包的排队延时,进而,服务器可以计算第一预设历史时间段内接收到的各数据包排队延时的平均值(即公开实施例中的平均排队延时)。
客户端发送数据包的码率,可以为第一预设历史时间段对应的客户端的时间窗口内客户端发送数据包的码率。
例如,接收到第一数据包的时刻为t1,服务器可以根据第一校正时钟偏差确定客户端发送第一数据包的时刻为T1,统计信息的窗口的长度为w,如果t1-w时刻之前最后接收到的数据包为第二数据包,接收到第二数据包的时刻为t2,服务器可以根据第一校正时钟偏差确定客户端发送第二数据包的时刻为T2,则从T2至T1为第一预设历史时间段对应的客户端的时间窗口(可以称为发送窗口),相应的,从t2至t1则为第一预设历史时间段,也可以称为接收窗口。
进而,服务器可以确定从T2至T1,客户端发送的数据包的大小(可以称为第一数据大小),并计算T2与T1之间的时长(可以称为第一时长),然后,服务器可以计算第一数据大小与第一时长的比值,作为发送窗口内发送数据包的码率。
在一个实施例中,服务器可以根据接收到的数据包中的数据包序号,确定第一预设历史时间段内,接收数据包时所丢失的数据包的个数(可以称为丢包个数),并计算接收到的数据包的个数(可以称为未丢包个数)与丢包个数的和值,作为应该接收到的数据包的总个数,然后,服务器可以计算丢包个数与应该接收到的数据包的总个数的比值,作为第一预设历史时间段内接收数据包的丢包率。
根据上述实施例的介绍,服务器可以计算从t2至t1,接收到的数据包的大小(可以称为第二数据大小),并计算t2与t1之间的时长(可以称为第二时长),然后,服务器可以计算第二数据大小与第二时长的比值,作为第一预设历史时间段内接收数据包的码率。
服务器还可以统计预设时间窗口内的数据包的个数、接收数据包的丢包率和接收到的数据包的大小。
预设时间窗口即inflight(飞行)窗口。服务器可以根据第一校正时钟偏差,确定客户端发送第一数据包的时刻(可以称为第二时刻)在服务器中对应的时刻(可以称为第一时刻),进而,服务器可以确定从第一时刻至接收到第一数据包的时刻之间,所接收到的数据包的个数,即,处于inflight窗口的数据包的个数。
服务器还可以计算处于inflight窗口的数据包的总大小,以及根据接收到的数据包的数据包序号,确定从第一时刻至接收到第一数据包的时刻之间,接收数据包的丢包率,即,预设时间窗口内的接收数据包的丢包率。
另外,根据上述实施例的介绍,服务器可以根据接收到的数据包的数据包序号,确定第一预设历史时间段内接收到的数据包是否存在乱序。
针对第二网络信息,可以参考第一网络信息的相关介绍。
基于本公开实施例提供的网络状态确定方法,能够得到全面、准确的网络信息,进而,根据得到的网络信息,能够提高确定出的网络状态的准确度。
另外,服务器可以根据网络信息,调整客户端发送数据包的码率,以提高数据传输效率,且避免网络拥塞。
可选的,网络状态包括调整后客户端发送数据包的码率,S104可以包括以下方式:
方式一,基于第二网络信息中记录的服务器接收到的数据包的码率,确定调整后客户端发送数据包的码率。
在一个实施例中,如果当前接收数据包的延时较大,则服务器可以降低客户端发送数据包的码率,以避免网络拥塞;如果当前接收数据包的延时较小,则服务器可以提高客户端发送数据包的码率,以提高数据传输效率。
当需要降低客户端发送数据包的码率时,服务器可以以第二网络信息中记录的服务器接收到的数据包的码率(可以称为基准码率)为基准,进行调整。例如,服务器可以在基准码率的基础上调小10%,或者,调小20%,将调小后得到的码率,确定为调整后客户端发送数据包的码率。
相应的,当需要提高客户端发送数据包的码率时,服务器可以在基准码率的基础上调大10%,或者,调大20%,将调大后得到的码率,确定为调整后客户端发送数据包的码率。
进而,服务器可以向客户端通告确定出的发送数据包的码率,客户端则可以根据确定出的发送数据包的码率,进行数据传输。
方式二,基于第一网络信息中记录的预设时间窗口内接收到的数据包的大小和第二网络信息中记录的服务器接收到的数据包的码率,确定调整后客户端发送数据包的码率。
在一个实施例中,为了降低处于inflight窗口的数据包的大小,服务器可以基于第一网络信息中记录的预设时间窗口内接收到的数据包的大小,以及第二网络信息中记录的服务器接收到的数据包的码率,确定调整后客户端发送数据包的码率。
一种实现方式中,服务器可以计算第一网络信息中记录的预设时间窗口内接收到的数据包的大小与预设时长(可以称为第三预设时长)的比值,作为第一比值,然后,服务器可以将第二网络信息中记录的服务器接收到的数据包的码率与第一比值的差值,确定为调整后客户端发送数据包的码率。
第三预设时长可以由技术人员根据业务需求进行设置,例如,如果需要在1S内,消除处于inflight窗口的数据包,则第三预设时长可以为1S,如果需要在2S内,消除处于inflight窗口的数据包,则第三预设时长可以为2S。
基于上述实施例可见,由于第二网络信息统计的网络信息的信息精确度较高,因此,服务器可以将第二网络信息中记录的服务器接收到的数据包的码率,作为调整发送数据包的码率的基准。在方式一中,可以仅根据第二网络信息,调整客户端发送数据包的码率。在方式二中,可以结合第一网络信息和第二网络信息,调整客户端发送数据包的码率。在实际操作过程中,可以根据业务需求,选择第一网络信息或者第二网络信息,或者结合第一网络信息和第二网络信息,确定网络状态,以提高确定出的网络状态的准确度,且能够保证服务器的性能。
基于相同的发明构思,参见图2,图2是根据一示例性实施例示出的一种网络状态确定装置的结构图,该装置可以包括计算模块201,校正模块202、统计模块203和确定模块204。
计算模块201,被配置为执行当达到预设时刻时,计算客户端与所述服务器之间当前的时钟偏差,作为第一时钟偏差;
校正模块202,被配置为执行根据预设校正公式,对所述第一时钟偏差进行校正,得到第一校正时钟偏差;其中,所述预设校正公式为:S=M×(1-α)+N×α,S表示所述第一校正时钟偏差,M表示所述第一时钟偏差,N表示上一次确定出的第二校正时钟偏差,α表示校正系数;
统计模块203,被配置为执行当接收到所述客户端发送的第一数据包时,基于所述第一校正时钟偏差,统计预设历史时间段内,所述客户端与所述服务器之间的网络信息;
确定模块204,被配置为执行根据所统计的网络信息,确定所述客户端与所述服务器之间的网络状态。
可选的,如果所述第一时钟偏差为计算出的第一个时钟偏差,则所述上一次确定出的第二校正时钟偏差为0。
可选的,所述装置还包括:
判断模块,被配置为执行判断当前所述客户端与所述服务器之间的第一往返延时是否大于第二往返延时的预设倍数,其中,所述第二往返延时为已确定出的各往返延时中除所述第一往返延时外的数值最小的往返延时,所述预设倍数大于1;
如果所述第一往返延时不大于所述第二往返延时的预设倍数,执行根据预设校正公式,对所述第一时钟偏差进行校正,得到第一校正时钟偏差。
可选的,所述装置还包括:
处理模块,被配置为执行如果所述第一往返延时大于所述第二往返延时的预设倍数,将所述第二校正时钟偏差确定为所述第一校正时钟偏差,并执行所述当接收到所述客户端发送的第一数据包时,根据所述第一校正时钟偏差,统计预设历史时间段内,所述客户端与所述服务器之间的网络信息。
可选的,所述第一数据包中携带有数据包序号,所述数据包序号为所述客户端根据发送所述第一数据包的顺序确定的;
所述统计模块203,被配置为执行当接收到所述客户端发送的第一数据包时,基于所述第一校正时钟偏差和接收到的数据包中携带的数据包序号,统计第一预设历史时间段内的第一网络信息和/或第二预设历史时间段内的第二网络信息,所述第二预设历史时间段的时长大于所述第一预设历史时间段的时长;
所述第一网络信息包括以下至少一项:所述第一校正时钟偏差、所述第一预设历史时间段的时长、所述服务器接收到的数据包的延时、所述服务器接收到的数据包的码率、所述服务器接收到的数据包的丢包率、所述客户端发送数据包的码率、所述客户端发送数据包的丢包率、所述服务器接收到的数据包是否存在乱序、预设时间窗口内接收到的数据包的大小;所述预设时间窗口为从第一时刻至所述服务器中接收到所述第一数据包的时刻之间的时间段;所述第一时刻为所述客户端中发送所述第一数据包的第二时刻在所述服务器中对应的时刻;
所述第二网络信息包括以下至少一项:所述第二预设历史时间段的时长、所述服务器接收到的数据包的延时、所述服务器接收到的数据包的码率、所述服务器接收到的数据包的丢包率、所述客户端发送数据包的码率、所述客户端发送数据包的丢包率。
可选的,所述网络状态包括调整后所述客户端发送数据包的码率;
所述确定模块204,被配置为执行基于所述第二网络信息中记录的所述服务器接收到的数据包的码率,确定调整后所述客户端发送数据包的码率;
或者,基于所述第一网络信息中记录的所述预设时间窗口内接收到的数据包的大小和所述第二网络信息中记录的所述服务器接收到的数据包的码率,确定调整后所述客户端发送数据包的码率。
可选的,所述确定模块204,被配置为执行计算所述第一网络信息中记录的所述预设时间窗口内接收到的数据包的大小与预设时长的比值,作为第一比值;
将所述第二网络信息中记录的所述服务器接收到的数据包的码率与所述第一比值的差值,确定为调整后所述客户端发送数据包的码率。
可选的,所述计算模块201,被配置为执行当达到预设时刻时,向客户端发送第一校时数据包,其中,所述第一校时数据包中携带有所述预设时刻;
接收所述客户端发送的用于响应所述第一校时数据包的第二校时数据包,其中,所述第二校时数据包中携带有所述客户端接收到所述第一校时数据包时的第一时刻、所述客户端发送所述第二校时数据包的第二时刻和所述预设时刻;
根据接收到所述第二校时数据包的第三时刻、所述第一时刻、所述第二时刻、所述预设时刻和时钟偏差计算公式,计算所述客户端与所述服务器之间当前的第一时钟偏差;
其中,所述时钟偏差计算公式为:
Figure BDA0002239166370000181
M表示所述第一时钟偏差、R1表示所述第一时刻、S1表示所述预设时刻、R2表示所述第三时刻、S2表示所述第二时刻。
图3是根据一示例性实施例示出的一种用于确定网络状态的电子设备300的框图。例如,电子设备300可以被提供为一服务器。参照图3,电子设备300包括处理组件322,其进一步包括一个或多个处理器,以及由存储器332所代表的存储器资源,用于存储可由处理组件322的执行的指令,例如应用程序。存储器332中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件322被配置为执行指令,以执行上述网络状态确定方法。
电子设备300还可以包括一个电源组件326被配置为执行电子设备300的电源管理,一个有线或无线网络接口350被配置为将电子设备300连接到网络,和一个输入输出(I/O)接口358。电子设备300可以操作基于存储在存储器332的操作***,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似操作***。
在示例性实施例中,还提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行上述网络状态确定方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (16)

1.一种网络状态确定方法,所述方法应用于服务器,其特征在于,包括:
当达到预设时刻时,计算客户端与所述服务器之间当前的时钟偏差,作为第一时钟偏差;
根据预设校正公式,对所述第一时钟偏差进行校正,得到第一校正时钟偏差;其中,所述预设校正公式为:S=M×(1-α)+N×α,S表示所述第一校正时钟偏差,M表示所述第一时钟偏差,N表示上一次确定出的第二校正时钟偏差,α表示校正系数;
当接收到所述客户端发送的第一数据包时,基于所述第一校正时钟偏差,统计预设历史时间段内,所述客户端与所述服务器之间的网络信息;
根据所统计的网络信息,确定所述客户端与所述服务器之间的网络状态;
在所述根据预设校正公式,对所述第一时钟偏差进行校正,得到第一校正时钟偏差之前,所述方法还包括:
判断当前所述客户端与所述服务器之间的第一往返延时是否大于第二往返延时的预设倍数,其中,所述第二往返延时为已确定出的各往返延时中除所述第一往返延时外的数值最小的往返延时,所述预设倍数大于1;
如果所述第一往返延时不大于所述第二往返延时的预设倍数,执行根据预设校正公式,对所述第一时钟偏差进行校正,得到第一校正时钟偏差。
2.根据权利要求1所述的网络状态确定方法,其特征在于,如果所述第一时钟偏差为计算出的第一个时钟偏差,则所述上一次确定出的第二校正时钟偏差为0。
3.根据权利要求1所述的网络状态确定方法,其特征在于,所述方法还包括:
如果所述第一往返延时大于所述第二往返延时的预设倍数,将所述第二校正时钟偏差确定为所述第一校正时钟偏差,并执行所述当接收到所述客户端发送的第一数据包时,根据所述第一校正时钟偏差,统计预设历史时间段内,所述客户端与所述服务器之间的网络信息。
4.根据权利要求1所述的网络状态确定方法,其特征在于,所述第一数据包中携带有数据包序号,所述数据包序号为所述客户端根据发送所述第一数据包的顺序确定的;
所述当接收到所述客户端发送的第一数据包时,基于所述第一校正时钟偏差,统计预设历史时间段内,所述客户端与所述服务器之间的网络信息,包括:
当接收到所述客户端发送的第一数据包时,基于所述第一校正时钟偏差和接收到的数据包中携带的数据包序号,统计第一预设历史时间段内的第一网络信息和/或第二预设历史时间段内的第二网络信息,所述第二预设历史时间段的时长大于所述第一预设历史时间段的时长;
所述第一网络信息包括以下至少一项:所述第一校正时钟偏差、所述第一预设历史时间段的时长、所述服务器接收到的数据包的延时、所述服务器接收到的数据包的码率、所述服务器接收到的数据包的丢包率、所述客户端发送数据包的码率、所述客户端发送数据包的丢包率、所述服务器接收到的数据包是否存在乱序、预设时间窗口内接收到的数据包的大小;所述预设时间窗口为从第一时刻至所述服务器中接收到所述第一数据包的时刻之间的时间段;所述第一时刻为所述客户端中发送所述第一数据包的第二时刻在所述服务器中对应的时刻;
所述第二网络信息包括以下至少一项:所述第二预设历史时间段的时长、所述服务器接收到的数据包的延时、所述服务器接收到的数据包的码率、所述服务器接收到的数据包的丢包率、所述客户端发送数据包的码率、所述客户端发送数据包的丢包率。
5.根据权利要求4所述的网络状态确定方法,其特征在于,所述网络状态包括调整后所述客户端发送数据包的码率;
所述根据所统计的网络信息,确定所述客户端与所述服务器之间的网络状态,包括:
基于所述第二网络信息中记录的所述服务器接收到的数据包的码率,确定调整后所述客户端发送数据包的码率;
或者,基于所述第一网络信息中记录的所述预设时间窗口内接收到的数据包的大小和所述第二网络信息中记录的所述服务器接收到的数据包的码率,确定调整后所述客户端发送数据包的码率。
6.根据权利要求5所述的网络状态确定方法,其特征在于,所述基于所述第一网络信息中记录的所述预设时间窗口内接收到的数据包的大小和所述第二网络信息中记录的所述服务器接收到的数据包的码率,确定调整后所述客户端发送数据包的码率,包括:
计算所述第一网络信息中记录的所述预设时间窗口内接收到的数据包的大小与预设时长的比值,作为第一比值;
将所述第二网络信息中记录的所述服务器接收到的数据包的码率与所述第一比值的差值,确定为调整后所述客户端发送数据包的码率。
7.根据权利要求1所述的网络状态确定方法,其特征在于,所述当达到预设时刻时,计算客户端与所述服务器之间当前的时钟偏差,作为第一时钟偏差,包括:
当达到预设时刻时,向客户端发送第一校时数据包,其中,所述第一校时数据包中携带有所述预设时刻;
接收所述客户端发送的用于响应所述第一校时数据包的第二校时数据包,其中,所述第二校时数据包中携带有所述客户端接收到所述第一校时数据包时的第四时刻、所述客户端发送所述第二校时数据包的第五时刻和所述预设时刻;
根据接收到所述第二校时数据包的第三时刻、所述第四时刻、所述第五时刻、所述预设时刻和时钟偏差计算公式,计算所述客户端与所述服务器之间当前的第一时钟偏差;
其中,所述时钟偏差计算公式为:
Figure FDA0003126539620000031
M表示所述第一时钟偏差、R1表示所述第四时刻、S1表示所述预设时刻、R2表示所述第三时刻、S2表示所述第五时刻。
8.一种网络状态确定装置,所述装置应用于服务器,其特征在于,包括:
计算模块,被配置为执行当达到预设时刻时,计算客户端与所述服务器之间当前的时钟偏差,作为第一时钟偏差;
校正模块,被配置为执行根据预设校正公式,对所述第一时钟偏差进行校正,得到第一校正时钟偏差;其中,所述预设校正公式为:S=M×(1-α)+N×α,S表示所述第一校正时钟偏差,M表示所述第一时钟偏差,N表示上一次确定出的第二校正时钟偏差,α表示校正系数;
统计模块,被配置为执行当接收到所述客户端发送的第一数据包时,基于所述第一校正时钟偏差,统计预设历史时间段内,所述客户端与所述服务器之间的网络信息;
确定模块,被配置为执行根据所统计的网络信息,确定所述客户端与所述服务器之间的网络状态;
所述装置还包括:
判断模块,被配置为执行判断当前所述客户端与所述服务器之间的第一往返延时是否大于第二往返延时的预设倍数,其中,所述第二往返延时为已确定出的各往返延时中除所述第一往返延时外的数值最小的往返延时,所述预设倍数大于1;
如果所述第一往返延时不大于所述第二往返延时的预设倍数,执行根据预设校正公式,对所述第一时钟偏差进行校正,得到第一校正时钟偏差。
9.根据权利要求8所述的网络状态确定装置,其特征在于,如果所述第一时钟偏差为计算出的第一个时钟偏差,则所述上一次确定出的第二校正时钟偏差为0。
10.根据权利要求8所述的网络状态确定装置,其特征在于,所述装置还包括:
处理模块,被配置为执行如果所述第一往返延时大于所述第二往返延时的预设倍数,将所述第二校正时钟偏差确定为所述第一校正时钟偏差,并执行所述当接收到所述客户端发送的第一数据包时,根据所述第一校正时钟偏差,统计预设历史时间段内,所述客户端与所述服务器之间的网络信息。
11.根据权利要求8所述的网络状态确定装置,其特征在于,所述第一数据包中携带有数据包序号,所述数据包序号为所述客户端根据发送所述第一数据包的顺序确定的;
所述统计模块,被配置为执行当接收到所述客户端发送的第一数据包时,基于所述第一校正时钟偏差和接收到的数据包中携带的数据包序号,统计第一预设历史时间段内的第一网络信息和/或第二预设历史时间段内的第二网络信息,所述第二预设历史时间段的时长大于所述第一预设历史时间段的时长;
所述第一网络信息包括以下至少一项:所述第一校正时钟偏差、所述第一预设历史时间段的时长、所述服务器接收到的数据包的延时、所述服务器接收到的数据包的码率、所述服务器接收到的数据包的丢包率、所述客户端发送数据包的码率、所述客户端发送数据包的丢包率、所述服务器接收到的数据包是否存在乱序、预设时间窗口内接收到的数据包的大小;所述预设时间窗口为从第一时刻至所述服务器中接收到所述第一数据包的时刻之间的时间段;所述第一时刻为所述客户端中发送所述第一数据包的第二时刻在所述服务器中对应的时刻;
所述第二网络信息包括以下至少一项:所述第二预设历史时间段的时长、所述服务器接收到的数据包的延时、所述服务器接收到的数据包的码率、所述服务器接收到的数据包的丢包率、所述客户端发送数据包的码率、所述客户端发送数据包的丢包率。
12.根据权利要求11所述的网络状态确定装置,其特征在于,所述网络状态包括调整后所述客户端发送数据包的码率;
所述确定模块,被配置为执行基于所述第二网络信息中记录的所述服务器接收到的数据包的码率,确定调整后所述客户端发送数据包的码率;
或者,基于所述第一网络信息中记录的所述预设时间窗口内接收到的数据包的大小和所述第二网络信息中记录的所述服务器接收到的数据包的码率,确定调整后所述客户端发送数据包的码率。
13.根据权利要求12所述的网络状态确定装置,其特征在于,所述确定模块,被配置为执行计算所述第一网络信息中记录的所述预设时间窗口内接收到的数据包的大小与预设时长的比值,作为第一比值;
将所述第二网络信息中记录的所述服务器接收到的数据包的码率与所述第一比值的差值,确定为调整后所述客户端发送数据包的码率。
14.根据权利要求8所述的网络状态确定装置,其特征在于,所述计算模块,被配置为执行当达到预设时刻时,向客户端发送第一校时数据包,其中,所述第一校时数据包中携带有所述预设时刻;
接收所述客户端发送的用于响应所述第一校时数据包的第二校时数据包,其中,所述第二校时数据包中携带有所述客户端接收到所述第一校时数据包时的第四时刻、所述客户端发送所述第二校时数据包的第五时刻和所述预设时刻;
根据接收到所述第二校时数据包的第三时刻、所述第四时刻、所述第五时刻、所述预设时刻和时钟偏差计算公式,计算所述客户端与所述服务器之间当前的第一时钟偏差;
其中,所述时钟偏差计算公式为:
Figure FDA0003126539620000061
M表示所述第一时钟偏差、R1表示所述第四时刻、S1表示所述预设时刻、R2表示所述第三时刻、S2表示所述第五时刻。
15.一种电子设备,其特征在于,包括:处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7任一所述的网络状态确定方法。
16.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7任一所述的网络状态确定方法。
CN201910993931.9A 2019-10-18 2019-10-18 一种网络状态确定方法、装置、电子设备及存储介质 Active CN110620939B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910993931.9A CN110620939B (zh) 2019-10-18 2019-10-18 一种网络状态确定方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910993931.9A CN110620939B (zh) 2019-10-18 2019-10-18 一种网络状态确定方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110620939A CN110620939A (zh) 2019-12-27
CN110620939B true CN110620939B (zh) 2021-08-13

Family

ID=68926242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910993931.9A Active CN110620939B (zh) 2019-10-18 2019-10-18 一种网络状态确定方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110620939B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112910592B (zh) * 2021-02-22 2023-08-04 北京小米松果电子有限公司 时钟同步方法及装置、终端及存储介质
CN113055996B (zh) * 2021-03-09 2022-09-16 Oppo广东移动通信有限公司 时钟漂移的监控方法、装置、终端、服务器及存储介质
CN115664572A (zh) * 2022-09-15 2023-01-31 交控科技股份有限公司 时钟同步方法、装置及***

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043249A (zh) * 2007-03-16 2007-09-26 北京航空航天大学 移动卫星网络通信***的网络状态获取方法
CN102857529A (zh) * 2011-06-30 2013-01-02 镇江雅迅软件有限责任公司 一种基于时间戳的离线应用***
CN103997658A (zh) * 2014-06-11 2014-08-20 成都德芯数字科技有限公司 数字电视广播中的时钟同步装置、方法和***
WO2015164873A1 (en) * 2014-04-25 2015-10-29 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
CN107667505A (zh) * 2015-06-05 2018-02-06 思科技术公司 用于监控和管理数据中心的***
CN107801103A (zh) * 2016-08-29 2018-03-13 上海交通大学 异构网络下基于网络状况的多媒体资源自适应同步方法
CN108322281A (zh) * 2018-05-14 2018-07-24 上海市计量测试技术研究院 基于ntp的网络授时服务与评估***及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140033242A1 (en) * 2012-07-24 2014-01-30 Srinivasa Rao Video service assurance systems and methods in wireless networks

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101043249A (zh) * 2007-03-16 2007-09-26 北京航空航天大学 移动卫星网络通信***的网络状态获取方法
CN102857529A (zh) * 2011-06-30 2013-01-02 镇江雅迅软件有限责任公司 一种基于时间戳的离线应用***
WO2015164873A1 (en) * 2014-04-25 2015-10-29 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
CN103997658A (zh) * 2014-06-11 2014-08-20 成都德芯数字科技有限公司 数字电视广播中的时钟同步装置、方法和***
CN107667505A (zh) * 2015-06-05 2018-02-06 思科技术公司 用于监控和管理数据中心的***
CN107801103A (zh) * 2016-08-29 2018-03-13 上海交通大学 异构网络下基于网络状况的多媒体资源自适应同步方法
CN108322281A (zh) * 2018-05-14 2018-07-24 上海市计量测试技术研究院 基于ntp的网络授时服务与评估***及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于修正时间间隔比的实时视频传输方法;姜青竹,田畅,吴泽民,付毅;《军事通信技术》;20150630;第36卷(第2期);全文 *

Also Published As

Publication number Publication date
CN110620939A (zh) 2019-12-27

Similar Documents

Publication Publication Date Title
CN110620939B (zh) 一种网络状态确定方法、装置、电子设备及存储介质
US20220263423A9 (en) Controlling a jitter buffer
US10757033B2 (en) Traffic control method, traffic control apparatus and server
US9185045B1 (en) Transport protocol for interactive real-time media
WO2017000719A1 (zh) 一种基于队列时延的拥塞控制方法及装置
US11159834B2 (en) Managing congestion response during content delivery
US20150341248A1 (en) Method for detecting network transmission status and related device
US7733773B2 (en) Playout based delay scheduler
US20070286077A1 (en) Communication system
CN106331717B (zh) 视频码率自适应调整方法及发送端设备
US20150124604A1 (en) Systems and Methods for Proactive Congestion Detection in Radio Access Networks
US9680890B2 (en) Streaming media delivery composite
CN112713967B (zh) 数据传输方法及装置
CN104618258B (zh) 一种数据传输速率的控制方法
CN104581422A (zh) 一种用于处理网络数据传输的方法和装置
EP3720071A2 (en) Benchmarking of delay estimates in a 5g network for quality of service flow setup and monitoring
CN112491658A (zh) 带宽估计方法、装置、电子设备及计算机可读存储介质
US20220329338A1 (en) Synchronizing a distributed application via a communication network
EP3560152B1 (en) Determining the bandwidth of a communication link
US20120191878A1 (en) Synchronization system and method
JP2007097144A (ja) 通信システム、通信端末、中継ノード及びそれに用いる通信方法並びにそのプログラム
CN104579582A (zh) 一种基于通信网络的高质量语音传输方法
KR101888693B1 (ko) 통신 시스템을 통한 푸시 알림 서비스의 푸시 알림 메시지 전송주기 조절 방법 및 장치
CN114205867A (zh) 一种数据包传输方法、装置、终端设备和存储介质
CN111130923B (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