一种网络延时的测量方法、装置、设备及介质与流程

文档序号:23269772发布日期:2020-12-11 19:01阅读:132来源:国知局
一种网络延时的测量方法、装置、设备及介质与流程

本公开实施例涉及通信技术领域,特别是一种网络延时的测量方法、装置、设备及介质。



背景技术:

如今,我们在工作和生活已离不开网络,为了在使用网络时规避网络故障带来的风险,往往需要实时监控网络的质量,以便在网络质量不佳时及时采取相应的策略。监控网络质量时,其中一项重要的指标就是网络延时。网络延时由处理延时、排队延时、传输延时和传播延时组成,当网络延时一定时间内高于正常值时,就可以判断当前网络质量很差。

现有技术中,测量网络延时主要采用向目标地址发送数据包,接收到应答数据包后根据数据包的时间戳做差的方法。这种测量网络延时的算法过于简单,当出现意外事件如电磁干扰致使数据包超时或者丢包,就会导致此次测量的网络延时过大,不能准确反映出当前网络的质量。



技术实现要素:

有鉴于此,本公开实施例提供一种网络延时的测量方法、装置、设备及介质,以有效解决意外干扰导致的网络延时测量不准确的问题。

具体地,本公开实施例是通过如下技术方案实现的:

第一方面,提供一种网络延时的测量方法,所述方法包括:

在第一设定时长内,周期性地发送探测报文到测量对端;

对于发送的每个所述探测报文,根据所述探测报文的发送时间、以及接收到测量对端对所述探测报文的响应报文的接收时间,得到所述探测报文对应的延时数据;

若所述延时数据大于延时限幅数据,将所述延时数据更改为上一周期确认的延时数据,所述延时限幅数据用于表示所述延时数据的最大限制值;

根据第一设定时长内得到的延时数据,计算得到网络延时。

第二方面,提供一种网络延时的测量装置,所述装置包括:

探测模块,用于在第一设定时长内,周期性地发送探测报文到测量对端;对于发送的每个所述探测报文,根据所述探测报文的发送时间、以及接收到测量对端对所述探测报文的响应报文的接收时间,得到所述探测报文对应的延时数据;

判断模块,用于在所述延时数据大于延时限幅数据,将所述延时数据更改为上一周期确认的延时数据,所述延时限幅数据用于表示所述延时数据的最大限制值;

计算模块,用于根据第一设定时长内得到的延时数据,计算得到网络延时。

第三方面,提供一种计算机设备,包括内部总线、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本公开任一实施例的网络延时测量方法的步骤。

第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例的网络延时测量方法的步骤。

由以上本公开实施例提供的技术方案可见,本公开实施例通过在网络延时测量中将发送探测报文与接收响应报文的延时数据与延时限幅数据比较来进行限幅处理,过滤掉了干扰导致的异常数据,提高了网络延时测量的抗干扰能力,更准确地反映了当前的网络质量。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。

附图说明

为了更清楚地说明本公开一个或多个实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本公开实施例示出的一种网络延时的测量方法的流程图;

图2是本公开实施例示出的一种实际测量时的延时数据图;

图3是本公开实施例示出的另一种网络延时的测量方法的流程图;

图4是本公开实施例示出的一种网络延时的测量装置的框图;

图5是本公开实施例示出的另一种网络延时的测量装置的框图;

图6是本公开实施例示出的网络延时的测量设备的一种硬件结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开实施例的一些方面相一致的装置和方法的例子。

在本公开实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开实施例。在本公开实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本公开实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

接下来对本说明书实施例进行详细说明。

如图1所示,图1为本公开实施例示出的一种网络延时的测量方法的流程图,包括以下步骤:

步骤s101,在第一设定时长内,周期性地发送探测报文到测量对端。

作为示例,本公开实施例的执行主体可以是用户计算机,由用户计算机向测量对端发送探测报文。在其他示例中,也可以是由手机、打印机等其他网络设备发送探测报文。测量对端可以为对端服务器,所述探测报文可以是tcp(transmissioncontrolprotocol,传输控制协议)或icmp(internetcontrolmessageprotocol,网络控制报文协议)探测报文。对于发送探测报文的网络设备及测量对端的具体形式,以及探测报文的具体内容,本实施例并不进行限制,本领域技术人员可以根据不同需求\不同场景而自行选择、设计,可以在此处使用的这些选择和设计都没有背离本公开实施例的精神和保护范围。

本步骤中的第一设定时长为所要测量网络延时的时间段,所述周期为发送报文的时间间隔,可以由系统或用户设定。

如下描述中,以测量对端为对端服务器为例,用户计算机向该对端服务器发送报文为例进行描述。在用户配置与对端服务器对应的网络延时测量策略后,用户计算机会为该网络延时测量单独起一个线程,在测量开始后,用户计算机周期性地发送tcp探测报文到对端服务器,直到第一设定时长结束。在发送tcp探测报文时将发送时间写入时间戳选项,时间戳是tcp探测报文头部的一个选项,时间戳中的info字段分为timestamp和timestampecho两部分,在用户计算机向对端服务器发送tcp探测报文时,用户计算机此刻的发送时间t1存入timestamp字段中。

步骤s102,对于发送的每个所述探测报文,根据所述探测报文的发送时间、以及接收到测量对端对所述探测报文的响应报文的接收时间,得到所述探测报文对应的延时数据。

对端服务器接收到第一设定时长内用户计算机发送的tcp探测报文后,对每个tcp探测报文都会回复对应的tcp响应报文给用户计算机。对端服务器在发送tcp响应报文时,将从tcp探测报文时间戳timestamp字段中解析出来的发送时间t1存入对应的tcp响应报文时间戳的timestampecho字段中。

用户计算机接收到tcp响应报文后,可从tcp响应报文时间戳timestampecho字段中解析出对应的tcp探测报文的发送时间t1,将接收到tcp响应报文的接收时间t2减去发送时间t1,即可得到tcp探测报文对应的延时数据,单位一般为毫秒。

特别的,用户可以设定一个超时时间,当探测报文发出后超过了超时时间,仍然未收到响应报文,则判定报文丢包。当结果为丢包时,将超时时间记为此次探测报文的延时数据。

步骤s103,若所述延时数据大于延时限幅数据,将所述延时数据更改为上一周期确认的延时数据,所述延时限幅数据用于表示所述延时数据的最大限制值。

第一设定时长内可以发送多个周期的tcp探测报文。示例性的,假设第一设定时长内发送了m个tcp探测报文,该m为大于1的自然数。对于每一个探测报文,都可以按照上述步骤的方式确定该探测报文对应的延时数据,则共有m个延时数据。

在一个示例中,延时限幅数据可以由用户设定,所述延时限幅数据小于设定的超时时间,用于表示所述延时数据的最大限制值。

可以将上述得到的第一设定时长内的m个延时数据将分别与延时限幅数据进行比较。

当延时数据小于延时限幅数据时,则将此延时数据确认为本周期确认的延时数据。

当出现意外事件如电磁干扰致使探测报文或响应报文超时的情况,会使得到延时数据过大,当延时数据大于延时限幅数据时,本周期得到的延时数据不再使用,将上一周期确认的延时数据沿用为本周期的延时数据,即将上一周期确认的延时数据确认为本周期的延时数据,以避免过大的延时数据使最终计算出的网络延时异常,不能反应真实的网络状况。这里所述的“上一周期确认的延时数据”即在本次的延时数据之前一次发送的探测报文对应的延时数据。

按探测报文发送的时间顺序将得到的m个延时数据比较完,本步骤结束。

步骤s104,根据第一设定时长内得到的延时数据,计算得到网络延时。

在一个示例性的实施方式中,在计算网络延时时,可以将第一设定时长内得到的延时数据进行算术平均,得到第一设定时长内用户计算机和对端服务器之间线路的网络延时。当然,在其他例子中,也可以采用其他的计算方式得到网络延时,比如,还可以求第一设定时长内得到的延时数据的截尾均值来计算网络延时。

本实施例的网络延时的测量方法,通过延时限幅数据对延时数据进行限幅,避免了在意外干扰致使的报文超时或者报文丢包的情况下测量到的网络延时过大的问题,提高了网络延时测量的抗干扰能力和准确度。

运用本实施例的测量方法,在实际网络延时测量时,第一设定时长为100秒,周期为1秒,每隔1秒用户计算机向对端服务器发送一个探测报文,每个探测报文的大小为64字节,设定的报文超时时间为1秒。如图2所示,测量过程中发生了三次丢包,在丢包的情况下将超时时间记录为所在周期的延时数据。现有的算法算出的网络延时为68.75ms,而采用了本公开实施例的算法计算得到的网络延时为39.24ms。由此可见本公开实施例的网络延时的测量方法对于干扰有很好的过滤效果,有效提高了网络延时测量的准确性。

图3示例了本公开实施例提供的另一种网络延时的测量方法的流程图,在本实施例中,示例了一种上述的延时限幅数据的另一种获得方式。当然,可以理解的是,实际实施中本领域人员也可以采用其他方式得到延时限幅数据。参见图3所示,包括以下步骤:

步骤s200,初始化网络延时队列。

在一实施例中,网络延时测量刚开始时,若网络延时队列为空,此时可以在x个周期的时间内周期性地发送探测报文到测量对端,所述x为自然数。对于发送的每个所述探测报文,根据所述探测报文的发送时间、以及接收到测量对端对所述探测报文的响应报文的接收时间,得到x个延时数据,把这x个延时数据作为x个网络延时按时间顺序存入网络延时队列,分别为d(1)、d(2)、…、d(x)。

网络延时队列为空时,也可以通过其他方式初始化,例如,用户可以直接设定网络延时队列中的值。

步骤s201,在第一设定时长内,周期性地发送探测报文到测量对端。

步骤s202,对于发送的每个所述探测报文,根据所述探测报文的发送时间、以及接收到测量对端对所述探测报文的响应报文的接收时间,得到所述探测报文对应的延时数据。

步骤s203,获取网络延时队列中的部分或全部网络延时,所述网络延时队列中包括的各个网络延时分别根据各个第一设定时长的延时数据计算得到。

例如,可以从网络延时队列中选择一部分网络延时数据。示例性的,选择部分的方式可以是,按照数据的存储时间来排序,选择排在网络延时队列最后面的n个网络延时,所述n为自然数,且n小于x,分别为d(t)、d(t-1)、…、d(t-n+1),其中的t为自然数,是对存入网络延时队列的网络延时的计数。通过选择比较新的数据,可以让数据算的更准确。又比如,还可以分别选择网络延时队列前面、中间和后面网络延时的值,这样在计算量不太大的情况下考虑到了整体的延时。

又例如,还可以选择队列中的全部网络延时,以使数据能够反映整体的网络状况。

步骤s204,对所述部分或全部网络延时进行加权平均,得到所述延时限幅数据。

在一实施例中,当选择排在网络延时队列最后面的n个网络延时时,延时限幅数据可以按照如下公式计算:

e(t)=(k1*d(t)+k2*d(t-1)+…+kn*d(t-n+1))/n(1)

其中,所述k1、k2、…、kn为系统或用户设定的权重值,n为自然数,这里不做限制,d(t)、d(t-1)、…、d(t-n+1)是网络延时队列中最后面的n个网络延时,t为自然数,是对存入网络延时队列的网络延时的计数,e(t)为经过加权平均运算得到的延时限幅数据。

步骤s205,若所述延时数据大于延时限幅数据,将所述延时数据更改为上一周期确认的延时数据,所述延时限幅数据用于表示所述延时数据的最大限制值。

所述延时限幅数据为上个步骤计算得来的延时限幅数据e(t)。

步骤s206,根据第一设定时长内得到的延时数据,计算得到网络延时。

步骤s207,将所述网络延时加入到所述网络延时队列中。

网络延时队列是网络延时按时间顺序存入的先进先出形式的一个数据结构。将计算得到的网络延时d(t+1)存入网络延时队列中网络延时d(t)之后。

当开始下一个第一设定时长的网络延时的测量时,返回步骤s201。

本实施例的网络延时的测量方法,通过网络延时队列中的网络延时来计算延时限幅数据,延时限幅数据随着网络延时变化实时更新,使通过比较延时数据与延时限幅数据来进行限幅时更贴合网络实际情况,进一步提高了网络延时测量的准确度。

可选的,在本公开实施例或其他某些实施例中,在第一设定时长内,将每个周期的探测报文对应的延时数据与延时限幅数据比较,当探测报文对应的延时数据大于延时限幅数据时,将本周期的延时数据更改为上一周期确认的延时数据之前,还需要记录所述探测报文对应的延时数据为超限数据。在此过程中,当记录的超限数据达到预设的条件时,对于该第一设定时长内其他的大于延时限幅数据的延时数据,保持所述延时数据不变,即不再更改为上一周期确认的延时数据,此前已经更改的延时数据保持不变。

所述的预设的条件,包括但不限于如下示例的两种:

例如,有连续设定值个延时数据被记录为超限数据。比如,设定值可以是5,当在第一设定时长内得到20个周期的延时数据时,将这20个周期的延时数据一一与延时限幅数据比较,从第4个周期的延时数据开始,连续8个周期的延时数据大于延时限幅数据,由于当探测报文对应的延时数据大于延时限幅数据时,本周期的延时数据更改为上一周期确认的延时数据,第4个周期的延时数据被记为超限数据,之后第4个周期的延时数据被更改为上一个周期确认的延时数据,即第3个周期的延时数据;第5个周期的延时数据被记为超限数据,之后第5个周期的延时数据被更改为上一个周期确认的延时数据,也是第3个周期的延时数据......依次进行比较,第4-8个周期的延时数据均被记为超限数据,再被更改为第3个周期的延时数据。但是,从第9个周期的延时数据开始,由于满足了有连续5个延时数据被记录为超限数据的条件,第9-11周期的延时数据不再被记为超限数据,且保持所述延时数据不变,不需要更改。之后周期的延时数据,如第16周期的延时数据大于延时限幅数据时,也不再被记为超限数据,且保持所述延时数据不变。

又例如,已比较的延时数据中超限数据达到设定百分比。比如,设定百分比为40%,当在第一设定时长内得到20个周期的延时数据时,将这20个周期的延时数据一一与延时限幅数据比较,当比较到第10个周期的延时数据时,第10个周期的延时数据是第4个大于延时限幅数据被记为超限数据的延时数据,也就是说在第一设定时长内,已比较的延时数据中超限数据达到40%,从第11个周期的延时数据开始,到第20个周期的延时数据结束,其中大于延时限幅数据的延时数据不再被记为超限数据,且保持所述延时数据不变。

在本实施例的网络延时测量方法中,当网络状况确实很差,多个报文超时时,不再对延时时间进行限幅处理,使测得的网络延时反映真实的网络质量。

本公开实施例还提供一种网络延时的测量装置,该装置可以实现本公开任一上述方法实施例的处理。如下仅对装置结构做简单说明,其具体处理可以结合参见方法实施例所述。参见图4,图4为本公开实施例示出的一种网络延时的测量装置的示意图,该装置可以包括:

探测模块301,用于在第一设定时长内,周期性地发送探测报文到测量对端;对于发送的每个所述探测报文,根据所述探测报文的发送时间、以及接收到测量对端对所述探测报文的响应报文的接收时间,得到所述探测报文对应的延时数据。

作为示例,测量对端为服务器,探测报文为tcp或icmp探测报文。

判断模块302,用于在所述延时数据大于延时限幅数据,将所述延时数据更改为上一周期确认的延时数据,所述延时限幅数据用于表示所述延时数据的最大限制值。

计算模块303,用于根据第一设定时长内得到的延时数据,计算得到网络延时。

本公开实施例中的网络延时的测量装置可以对获得的延时数据进行限幅处理,过滤掉干扰导致的异常数据,使得网络延时的测量更加准确。

在本公开实施例中,如图5所示,所述装置还可以包括:

限幅模块304,用于在所述延时数据大于延时限幅数据,将所述延时数据更改为上一周期确认的延时数据之前,获取网络延时队列中的部分或全部网络延时,所述网络延时队列中包括的各个网络延时分别根据各个第一设定时长的延时数据计算得到,对所述部分或全部网络延时进行加权平均,得到所述延时限幅数据。

以及所述计算模块,还用于将所述网络延时加入到所述网络延时队列中。

在本公开实施例中,如图5所示,所述装置还可以包括:

队列初始化模块305,用于在所述网络延时队列为空时,在n个周期的时间内周期性地发送探测报文到测量对端,所述n为自然数,对于发送的每个所述探测报文,根据所述探测报文的发送时间、以及接收到测量对端对所述探测报文的响应报文的接收时间,得到延时数据,将每个所述延时数据作为一个网络延时,存储进所述网络延时队列。

在本公开实施例中,所述判断模块302还用于:在所述第一设定时长内,当所述延时数据大于延时限幅数据时,记录所述延时数据为超限数据,当所述超限数据达到预设的条件时,对于所述第一设定时长内其他的大于延时限幅数据的延时数据,保持所述延时数据不变。

请参照图6,为本公开实施例设备的一个硬件结构图,所述设备包括:内部总线401,存储器402,处理器403及存储在存储器402上并可在处理器403上运行的计算机程序,所述处理器执行所述程序时实现本公开任一实施例的网络延时测量方法的步骤。

此外,本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例的网络延时测量方法的步骤。

上述装置、设备、计算机可读存储介质中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1