具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请部分实施例进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请的第一实施例涉及一种网络质量评估方法,该网络质量评估方法可以应用于网络节点。
需要说明的是,本实施例中所说的网络节点指每一个拥有自己唯一网络地址的设备,具体可以是工作站、客户、网络用户或个人计算机,还可以是服务器、打印机和其他够通过网络实现互联的设备。为了便于说明,以下将发起网络探测请求的网络节点称为“源主机”,将作出响应的的网络节点称为“目的主机”,该网络质量评估方法的具体流程如图2所示。
在步骤201中,发起网络探测请求。
具体的说,在本实施例中,源主机发起的网络探测请求具体为ICMP的回显应答请求,这样通过一个ping命令就可以实现回显应答和回显请求,从而能够在源主机和目的主机之间传递控制信息,确定网络是否连通、主机是否可达等。
另外,为了能够在确定网络质量时,仅根据有效网络延迟值进行确定网络质量的操作,本实施例中的网络探测请求中除了需要携带要请求的目的主机的IP(互联网协议,Internet Protocol)地址或域名,以及至少一个请求数据包(如60个)之外,还需要携带一个置信概率值。
需要说明的是,置信概率值具体为用来衡量统计推断可靠程度的概率值,其意义是指在进行统计推断时,被估参数包含在某一范围内的概率。关于置信概率值的具体取值,本领域的技术人员可以根据实际测试需要合理设置,此处不做限制。
需要说明的是,以上仅为举例说明,并不对本申请的技术方案及要保护的范围构成限定,在实际应用中,本领域的技术人员可以根据实际需要,合理设置,此处不做限制。
在步骤202中,接收响应数据包,并记录收到响应数据包时的网络延迟值。
具体的说,在本实施例中源主机接收到的响应数据包为目的主机根据每一个请求数据包作出的响应数据包。
另外,需要说明的是,在记录网络延迟值时,为了便于后续使用,需要同时记录每一个网络延迟值分别对应的是哪一个响应数据包,并且与之对应的响应数据包又是与哪一个请求数据包对应。这样在后续的处理中,就可以清楚的获知哪些请求数据包没有收到响应,收到的哪些响应数据包存在异常。
在步骤203中,根据置信概率值,从记录的所有网络延迟值中选择有效网络延迟值。
具体的说,在本实施例中,根据置信概率值,从记录的所有网络延迟值中选择有效网络延迟值时,具体需要先根据置信概率值,确定异常网络延迟值,然后从记录的所有网络延迟值中剔除异常网络延迟值,即可得到有效网络延迟值。
为了便于理解,以下对根据置信概率值,确定异常网络延迟值的操作,进行具体说明:
S1:确定网络延迟绝对值和异常门限值。
具体的说,此处所说的网络延迟绝对值为响应数据包的网络延迟绝对值,在确定该值时,需要先对记录的所有网络延迟值进行求平均运算,得到网络延迟平均值。然后,计算每一个网络延迟值与网络延迟平均值的差,将得到的差值作为相应响应数据包的网络延迟绝对值。
在确定异常门限值时,需要先获取网络延迟值对应的格拉布斯准则的检验临界值,并根据网络延迟值,确定网络延迟标准差。然后,计算检验临界值与网络延迟标准差的积,将得到的积作为异常门限值。
为了便于理解,以下结合公式进行具体说明:
公式1:T=KG(n,α)σ(x);
具体的说,T为异常门限值,KG(n,a)为检验临界值,σ(x)为根据记录的所有网络延迟值确定的网络延迟标准差。
其中,KG(n,a)可以根据格拉布斯准则的检验临界值表或检验临界值计算公式获得,σ(x)可以根据标准差的计算公式获得,此处不再赘述。
为了便于理解检验临界值KG(n,a)的两种获取方式,以下进行具体说明:
方式一:采用拉布斯准则的检验临界值表获取。
格拉布斯准则的检验临界值表一
其中,n为测量次数(请求数据包的发送总批次),P为置信概率值。
需要说明的是,检验临界值KG(n,a)中的危险概率值a(也称:超差概率值)与置信概率值P满足如下关系:α=1-P。
另外,需要说明的是,上述格拉布斯准则的检验临界值表一中罗列的检验临界值仅为测量次数在3到20中取值时,α=0.05和α=0.01的检验临界值。在实际应用中,本领域的技术人员可以根据现有的格拉布斯准则的检验临界值表获取需要的检验临界值,此处不再赘述。
方式二:采用检验临界值计算公式获取。
其中,KG(n,a)为检验临界值,n为测量次数(请求数据包的发送总批次),a为危险概率值,tcrit为自由度为n-2的t分布(Student's t-distribution,学生t-分布)的概率为α÷(2n)的上侧分位数。
由于t分布的应用已经较为成熟,本领域的技术人员可以根据其掌握的技术获得,此处不再赘述。
S2:确定网络延迟绝对值满足异常门限值。
具体的,通过将网络延迟绝对值与异常门限值进行对比,若确定网络延迟绝对值大于或等于异常门限值,则确定网络延迟绝对值满足异常门限值。
S3:获取满足异常门限值的每一个网络延迟绝对值对应的网络延迟值,将获取到的网络延迟值确定为异常网络延迟值。
另外,值得一提的是,在实际应用中,为了能够快速从记录的所有网络延迟值中选择有效网络延迟值,在确定网络延迟绝对值满足异常门限值的步骤中,可以先按照从小到大或从大到小的顺序对网络延迟值排序。
为了便于说明,以下以按照从小到大的顺序对网络延迟值排序为例进行说明。
在对记录的所有网络延迟值,按照从小到大的顺序对网络延迟值排序后,从最小的网络延迟值开始,依次将排序后的网络延迟值对应的网络延迟绝对值与异常门限值进行对比,直至确定对比结果满足异常门限值停止比对,并确定未进行比对的网络延迟值均满足异常门限值。
需要说明的是,上述给出的仅仅为“根据置信概率值,从记录的所有网络延迟值中选择有效网络延迟值”的一种具体实现方式,在实际应用中,本领域的技术人员可以根据其掌握的技术手段,选择合适的去除粗大误差(去除异常网络延迟值)的方式,此处不做限制。
在步骤204中,根据有效网络延迟值,确定网络质量。
具体的说,源主机在根据有效网络延迟值,确定网络质量时,具体需要根据有效网络延迟值,确定网络探测请求的有效网络延迟平均值,然后根据得到的有效网络延迟平均值来确定当前网络质量。
另外,需要说明的是,在实际应用中还可以根据有效网络延迟值,确定网络探测请求的有效网络延迟标准差,然后根据得到的有效网络延迟标准差来确定当前网络质量。
另外,为了保证结果的准确性,可以根据有效网络延迟值,同时确定网络探测请求的有效网络延迟平均值和有效网络延迟标准差,从而能够根据二者综合考虑,确定最终的网络质量。
与现有技术相比,本实施例中提供的网络质量评估方法,根据网络探测请求中携带的置信概率值,从记录的所有网络延迟值中选择有效网络延迟值,根据有效网络延迟值来确定网络质量,避免了现有网络质量评估过程中,异常数据的干扰,大大提高了网络质量评估结果的准确性,使网络质量评估结果更加接近真实的网络质量。
本申请的第二实施例涉及一种网络质量评估方法。本实施例在第一实施例的基础上做了进一步改进,具体改进之处为:在网络探测请求中携带的请求数据包的发送总批次大于2时,根据有效网络延迟值,确定网络探测请求的有效网络延迟平均值和/或有效网络延迟标准差,具体是根据每一个批次的有效网络延迟平均值和/或有效网络延迟标准差确定的,为了便于说明,以下结合图3进行具体说明。
具体的说,在本实施例中,包含步骤301至步骤306,其中,步骤301和步骤302分别与第一实施例中的步骤201和步骤202大致相同,此处不再赘述,下面主要介绍不同之处,未在本实施方式中详尽描述的技术细节,可参见第一实施例所提供的网络质量评估方法,此处不再赘述。
在步骤303中,根据置信概率值,选择每一个批次的有效网络延迟值。
在步骤304中,确定每一个批次的有效网络延迟平均值。
在步骤305中,根据每一个批次的有效网络延迟平均值,确定网络探测请求的有效网络延迟平均值。
在步骤306中,根据网络探测请求的有效网络延迟平均值,确定网络质量。
需要说明的是,在本实施例中,从记录的所有网络延迟值中选择每一个批次的有效网络延迟值的方式采用的方式仍然为根据置信概率值,基于格拉布斯准则选择,此处不再赘述。
为了便于理解,以下以源主机向目的主机发起一次ICMP协议的网络探测请求,且该请求中携带了目的主机的IP、每批请求数据包个数、请求数据包的发送总批次和置信概率值这4个参数为例,进行具体说明。
假定,设置的每批请求数据包个数为60个,请求数据包的发送总批次为3次,置信概率值为0.95。第一个批次发送成功的请求包个数为n(小于或等于60)个,收到的响应数据包为n-h(h为大于或等0的整数)个,记录的网络延迟值为n-h个。第二个批次发送成功的请求包个数为n(小于或等于60)个,收到的响应数据包为n-j(j为大于或等0的整数)个,记录的网络延迟值为n-j个。第三个批次发送成功的请求包个数为n(小于或等于60)个,收到的响应数据包为n-k(k为大于或等0的整数)个,记录的网络延迟值为n-k个。
源主机根据设置的置信概率值,基于格拉布斯准则,从这三个批次的网络延迟值中选取有效网络延长值。
为了快速计算,先将3个批次的网络延迟值进行从小到大的排序。
为了便于说明,以下以第一批次为例进行说明:
将第一批次的网络延迟值按照从小到大的顺序排序,排序后的值为m1,m2...mi(i为n-k)。对第一批次的网络延迟值进行求平均计算,得到第一批次的网络延迟平均值
对第一批次的网络延迟值,进行标准差计算,得到第一批次的网络延迟标准差σ1。从mi开始,计算mi和网络延迟平均值
的绝对值(即与该网络延迟值mi对应的响应数据包的网络延迟绝对值),公式表示如下:
查找格拉布斯准则的检验临界值表或者利用检验临界值计算公式
得到每一个网络延迟值mi对应的检验临界值K
G(i,α)。判断网络延迟绝对值|Δxi|是否大于异常门限值(K
G(i,α)×σ1),如果|Δxi|大于K
G(i,α)×σ1,认为网络延迟值mi是异常网络延迟值,将该数值丢弃。
在将第一批次中的所有异常网络延迟值剔除后,循环进行n-h次检验,遍历出有效网络延迟值,将所有的有效网络延迟值累加并除以有效网络延迟值的数量,得到有效网络延迟值平均值
根据这些有效网络延迟值平均值
计算出有效网络延迟标准差σ
v。
按照上述操作,对其余两个批次的网络延迟值进行处理,即可得到每一个批次的有效网络延迟值平均值和有效网络延迟标准差。
对得到的3个有效网络延迟值平均值和有效网络延迟标准差分别进行求平均计算,即可得到本次网络探测请求的有效网络延迟平均值和有效网络延迟标准差。
需要说明的是,以上仅为举例说明,并不对本申请的技术方案及要保护的范围构成限定,在实际应用中,本领域的技术人员可以根据实际需要,合理设置,此处不做限制。
与现有技术相比,本实施例中提供的网络质量评估方法,在发送网络探测请求时,通过设置携带的请求数据包的发送总批次大于2,在根据有效网络延迟值,确定网络质量时,对每一个批次的有效网络延迟值进行求平均处理,从而使得最终确定的网络探测请求的有效网络延迟平均值和/或有效网络延迟标准差,能够更真实的反应当前网络质量,进一步提升了网络质量评估的准确性。
本申请的第三实施例涉及一种网络质量评估方法。本实施例在第一或第二实施例的基础上做了进一步改进,具体改进之处为:在根据置信概率值,从记录的所有网络延迟值中选择有效网络延迟值之前,需要先确定当前网络探测请求的丢包率是否满足预设的正常丢包率,为了便于说明,以下在第一实施例的基础上结合图4进行具体说明。
具体的说,在本实施例中,包含步骤401至步骤405,其中,步骤401和步骤202、步骤404和步骤405分别与第一实施例中的步骤201和步骤202、步骤203和步骤204大致相同,此处不再赘述,下面主要介绍不同之处,未在本实施方式中详尽描述的技术细节,可参见第一实施例所提供的网络质量评估方法,此处不再赘述。
在步骤403中,判断网络探测请求的丢包率是否满足预设的正常丢包率。
具体的说,若确定网络探测请求的丢包率满足预设的正常丢包率,则进入步骤404,根据置信概率值,从记录的所有网络延迟值中选择有效网络延迟值;否则,返回步骤401,重新发起网络探测请求。
关于当前网络探测请求的丢包率,是根据网络探测请求中携带的请求数据包的个数和记录的收到的响应数据包的个数计算获得的,具体可以根据如下公式计算获得:
其中,RQ为发送的请求数据包的个数,RS为收到的响应数据包的个数,PL为本次网络探测请求的丢包率。
另外,如果网络探测请求中设置的请求数据包的发送批次大于2,最终计算的丢包率为对每一批次的丢包率进行求平均后的丢包率。
另外,关于正常丢包率的设置,通常,千兆网卡在流量大于200Mbps时,丢包率小于万分之五为正常,百兆网卡在流量大于60Mbps时,丢包率小于万分之一为正常,具体的设置,本领域的技术人员可以根据测试需要合理设置,此处不做限制。
需要说明的是,以上仅为举例说明,并不对本申请的技术方案及要保护的范围构成限定,在实际应用中,本领域的技术人员可以根据实际需要,合理设置,此处不做限制。
与现有技术相比,本实施例中提供的网络质量评估方法,在根据置信概率值,从记录的所有网络延迟值中选择有效网络延迟值之前,先确定当前网络探测请求的丢包率是否满足预设的正常丢包率,并在确定满足预设的正常丢包率时,才进行后续确定网络质量的操作,从而进一步保证最终确定的网络质量的准确性。
本申请的第四实施例涉及一种网络质量评估装置,具体结构如图5所示。
如图5所示,网络质量评估装置发送模块501、接收模块502、记录模块503、选择模块504和确定模块505。
其中,发送模块501,用于发起网络探测请求。
具体的说,在本实施例中,发送模块501发起的网络探测请求具体为ICMP的回显应答请求,这样通过一个ping命令就可以实现回显应答和回显请求,从而能够在设置有该网络质量评估装置的请求设备(以下用“源主机”表示)和响应该请求的响应设备(以下用“目的主机”表示)之间传递控制信息,确定网络通不通、主机是否可达等。
另外,为了能够在确定网络质量时,仅根据有效网络延迟值进行确定网络质量的操作,本实施例中的网络探测请求中除了需要携带要请求的目的主机的IP(互联网协议,Internet Protocol)地址或域名,以及至少一个请求数据包之外,还需要携带一个置信概率值。
另外,为了能够使评估的网络质量更加接近真实网络情况,在发起网络探测请求时,可以在一次网络探测请求中设置请求数据包的发送批次大于2,这样就可以对多个批次所得的数据进行求平均操作,从而使得最终结果更加符合实际网络情况。
需要说明的是,在本实施例中,设置的请求数据包的发送批次之所以要大于2是因为,在基于格拉布斯准则,选取有效网络延迟值时,格拉布斯准则的检验临界值是最低是从测量次数(发送批次)为3时开始的。
另外,为了便于理解,网络探测请求的发送格式,一下进行举例说明。比如说,在网络探测请求中携带有目的主机IP地址、每批请求数据包个数、请求数据包的发送总批次和置信概率值时,其具体请求格式可以为:ping+空格+目的主机的IP地址+空格+请求数据包的个数+空格+置信概率值。
需要说明的是,以上仅为举例说明,并不对本申请的技术方案及要保护的范围构成限定,在实际应用中,本领域的技术人员可以根据实际需要,合理设置,此处不做限制。
接收模块502,用于接收网络节点根据每一个请求数据包作出的响应数据包。
记录模块503,用于记录收到响应数据包时的网络延迟值。
具体的说,在本实施例中,记录模块503记录网络延迟值时,为了便于后续使用,需要同时记录每一个网络延迟值分别对应的是哪一个响应数据包,并且与之对应的响应数据包又是与哪一个请求数据包对应。这样在后续的处理中,就可以清楚的获知哪些请求数据包没有收到响应,收到的哪些响应数据包存在异常。
需要说明的是,以上仅为举例说明,并不对本申请的技术方案及要保护的范围构成限定,在实际应用中,本领域的技术人员可以根据实际需要,合理设置,此处不做限制。
选择模块504,用于根据置信概率值,从记录的所有网络延迟值中选择有效网络延迟值。
具体的说,本实施例中,选择模块504在根据置信概率值,从记录的所有网络延迟值中选择有效网络延迟值时,具体是基于格拉布斯准则,将记录的所有网络延迟值中的错的误差(明显超出规定条件下预期的误差)数据剔除,然后将剩下的网络延迟值作为有效网络延迟值。
确定模块505,用于根据有效网络延迟值,确定网络质量。
具体的说,确定模块505在根据有效网络延迟值,确定网络质量时,具体需要根据有效网络延迟值,确定网络探测请求的有效网络延迟平均值,然后根据得到的有效网络延迟平均值来确定当前网络质量。
另外,需要说明的是,在实际应用中还可以根据有效网络延迟值,确定网络探测请求的有效网络延迟标准差,然后根据得到的有效网络延迟标准差来确定当前网络质量。
另外,为了保证结果的准确性,可以根据有效网络延迟值,同时确定网络探测请求的有效网络延迟平均值和有效网络延迟标准差,从而能够根据二者综合考虑,确定最终的网络质量。
进一步地,在实际应用中,还可以先利用丢包率过滤一下干扰信息,比如先确定当前网络探测请求的丢包率是否满足预设的正常丢包率,在确定满足预设的正常丢包率时,在进行上述操作,从而进一步保证了最终结果的准确性。
关于当前网络探测请求的丢包率,具体是根据发送模块501发起网络探测请求时,网络探测请求中携带的请求数据包的个数和记录模块503记录的收到的响应数据包的个数计算获得的。
需要说明的是,由于本实施例为与方法实施例对应的虚拟装置实施例,因而未在本实施方式中详尽描述的技术细节,可参见本申请任一实施例所提供的网络质量评估方法,此处不再赘述。
通过上述描述不难发现,本实施例中提供的网络质量评估装置,通过上述各功能模块的配合,有效避免了网络质量评估过程中,异常数据的干扰,大大提高了网络质量评估结果的准确性,使网络质量评估结果更加接近真实的网络质量。
另外,需要说明的是,以上所描述的装置实施例仅仅是示意性的,并不对本申请的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的,此处不做限制。
本申请的第五实施例涉及一种网络检测设备,具体结构如图6所示。
本实施例中所说的网络节点指每一个拥有自己唯一网络地址的设备,具体可以是工作站、客户、网络用户或个人计算机,还可以是服务器、打印机和其他够通过网络实现互联的设备等,此处不做限制。
为了便于说明,以下以个人计算机为例,进行具体说明。
具体的说,该网络检测设备内部具体可以包括一个或多个处理器601以及存储器602,图6中以一个处理器601为例。
在本实施例中,上述实施例中涉及到的网络质量评估装置中的各功能模块均部署在处理器601上,处理器601和存储器602可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器602作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意方法实施例中涉及的网络质量评估方法对应的程序指令/模块。处理器601通过运行存储在存储器602中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现本申请任意方法实施例中涉及的网络质量评估方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可建立历史数据库,用于存储异常门限值、正常丢包率等。此外,存储器602可以包括高速随机存取存储器,还可以包括可读写存储器(Random Access Memory,RAM)等。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
在实际应用中,存储器602中可以存储至少一个处理器601执行的指令,指令被至少一个处理器601执行,以使至少一个处理器601能够执行本申请任意方法实施例涉及的网络质量评估方法,控制网络质量评估装置中的各个功能模块完成网络质量评估方法中的各个操作,未在本实施例中详尽描述的技术细节,可参见本申请任一实施例所提供的网络质量评估方法。
本申请的第六实施例涉及一种计算机可读存储介质,该可读存储介质为计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,该计算机指令使计算机能够执行本申请任意方法实施例中涉及的网络质量评估方法。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本申请的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。