网络线路选择方法和网络测速方法转让专利

申请号 : CN201510148197.8

文献号 : CN106161052B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨冠群

申请人 : 北京畅游天下网络技术有限公司

摘要 :

本发明公开了一种网络线路选择方法和网络测速方法。该网络线路选择方法包括:利用第一测速工具在网络应用的客户端与伺服端之间的多条网络线路中的每条网络线路上进行一次以上网络测速,并将利用第一测速工具测得的一个以上第一测速值的平均值作为该条网络线路的第一测速结果;如果所述多条网络线路中的任意两条网络线路的第一测速结果之间的差值大于第一预定阈值,则选择所述多条网络线路中利用第一测速工具测得的网速最快的一条网络线路作为客户端与伺服端之间实际使用的网络线路,否则选择所述多条网络线路中利用第二测速工具测得的网速最快的一条网络线路作为客户端与伺服端之间实际使用的网络线路。

权利要求 :

1.一种网络线路选择方法,用于从网络应用的客户端与伺服端之间的多条网络线路中选择一条网络线路作为所述客户端与所述伺服端之间实际使用的网络线路,所述方法包括:利用第一测速工具在所述多条网络线路中的每条网络线路上进行一次以上网络测速,并将利用所述第一测速工具测得的一个以上第一测速值的平均值作为该条网络线路的第一测速结果;

如果所述多条网络线路中的任意两条网络线路的第一测速结果之间的差值大于第一预定阈值,则选择所述多条网络线路中利用所述第一测速工具测得的网速最快的一条网络线路作为所述客户端与所述伺服端之间实际使用的网络线路,否则选择所述多条网络线路中利用第二测速工具测得的网速最快的一条网络线路作为所述客户端与所述伺服端之间实际使用的网络线路,所述第一测速工具是Ping测速工具,所述第二测速工具是TCP测速工具;

在网络应用的伺服端侧搭建Ping测速服务器,使得所述Ping测速服务器与所述网络应用的伺服端共享多条网络线路并且通过所述多条网络线路中的任意一条与所述网络应用的客户端通信;

在网络应用的伺服端侧搭建TCP测速服务器,使得所述TCP测速服务器与所述网络应用的伺服端共享多条网络线路并且通过所述多条网络线路中的任意一条与所述网络应用的客户端通信;

其中,所述Ping测速服务器和所述TCP测速服务器均为多网卡多互联网协议IP地址的服务器,并且均提供网络测速功能。

2.根据权利要求1所述的网络线路选择方法,其特征在于,还包括:利用所述第二测速工具在所述多条网络线路中的每条网络线路上进行一次以上网络测速,并将利用所述第二测速工具测得的一个以上第二测速值的平均值作为该条网络线路的第二测速结果。

3.根据权利要求1所述的网络线路选择方法,其特征在于,

同时利用所述第一测速工具和所述第二测速工具在所述多条网络线路上进行网络测速,或者先利用所述第一测速工具在所述多条网络线路上进行网络测速,再利用所述第二测速工具在所述多条网络线路上进行网络测速。

4.一种网络测速方法,包括:

利用第一测速工具在网络应用的客户端与伺服端之间实际使用的网络线路上进行一次以上网络测速,并将利用所述第一测速工具测得的一个以上第一测速值的平均值作为所述网络线路的第一测速结果;

如果所述第一测速结果不大于第二预定阈值,

则将所述网络线路的第一测速结果作为所述网络线路的网速表征,否则将利用第二测速工具测得的所述网络线路的第二测速结果作为所述网络线路的网速表征,利用所述网络应用内的测速工具在所述网络线路上进行网络测速,以获取所述网络线路的第三测速结果,利用所述网络线路的第一测速结果或第二测速结果、和所述网络线路的第三测速结果,获取所述网络应用的逻辑延迟,所述第一测速工具是Ping测速工具,所述第二测速工具是TCP测速工具;

在网络应用的伺服端侧搭建Ping测速服务器,使得所述Ping测速服务器与所述网络应用的伺服端共享多条网络线路并且通过所述多条网络线路中的任意一条与所述网络应用的客户端通信;

在网络应用的伺服端侧搭建TCP测速服务器,使得所述TCP测速服务器与所述网络应用的伺服端共享多条网络线路并且通过所述多条网络线路中的任意一条与所述网络应用的客户端通信;

其中,所述Ping测速服务器和所述TCP测速服务器均为多网卡多互联网协议IP地址的服务器,并且均提供网络测速功能。

5.根据权利要求4所述的网络测速方法,其特征在于,还包括:利用所述第二测速工具在所述网络线路上进行一次以上网络测速,并将利用所述第二测速工具测得的一个以上第二测速值的平均值作为所述网络线路的第二测速结果。

6.根据权利要求4所述的网络测速方法,其特征在于,同时利用所述第一测速工具和所述第二测速工具在所述网络线路上进行网络测速、或者先利用所述第一测速工具在所述网络线路上进行网络测速再利用所述第二测速工具在所述网络线路上进行网络测速。

7.一种网络应用的客户端,包括用于实现权利要求1至6中任一项所述的方法的功能模块。

8.一种存储有计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被执行时能够操作以实现权利要求1至6中任一项所述的方法。

说明书 :

网络线路选择方法和网络测速方法

技术领域

[0001] 本发明涉及计算机领域,更具体地涉及一种网络线路选择方法和网络测速方法。

背景技术

[0002] 通常,诸如网络游戏、即时通信工具、信息发布平台之类的网络应用包括用于运行在用户终端上的客户端(即,客户端程序)和用于运行在服务器上的伺服端(即,服务器程序)两部分。当网络应用的客户端与伺服端通信时,由于受用户终端的性能、网络运营商设备的性能、以及服务器负载等原因的影响,有时候网络速度会很慢,严重影响用户体验。
[0003] 随着用户对网络应用的流畅度的要求与日俱增,很多应用提供商开始将网络应用的伺服端设置在具有多条网络线路的服务器中,以使网络应用的客户端能够通过该多条网络线路中的任意一条与网络应用的伺服端通信。具体地,当网络应用的客户端请求与网络应用的伺服端进行通信时,网络应用的客户端可以通过以下两种网络线路选择方案中的任意一种从网络应用的客户端与伺服端之间的多条网络线路中选择一条网络线路作为与网络应用的伺服端进行通信时实际使用的网络线路:1)通过网络应用内原有的测速机制对网络应用的客户端与伺服端之间的多条网络线路进行测速,从而选出网络状况较优的一条;和2)通过Ping测速机制对网络应用的客户端与伺服端之间的多条网络线路进行测速,从而选出网络状况较优的一条。
[0004] 但是,上述两种测速机制存在以下缺陷:1)网络应用内原有的测速机制由于受到网络应用的进程的逻辑处理的影响,无法精确反映当前网络质量;同时,网络应用内原有的测速机制依赖于网络应用的伺服端,因而在网络应用的客户端与伺服端之间出现网络阻塞、断线等异常情况时,无法进行网络连通性及延迟的检测,从而导致很难分析出现上述异常的原因;2)虽然Ping测速机制是一种更底层的测速方案,能够精确地反映网络状况,但是Ping测速机制一般只有60%-70%的成功率。

发明内容

[0005] 鉴于以上所述的一个或多个问题,本发明提供了一种新颖的网络线路选择方法和网络测速方法。
[0006] 根据本发明实施例的网络线路选择方法,用于从网络应用的客户端与伺服端之间的多条网络线路中选择一条网络线路作为客户端与伺服端之间实际使用的网络线路,该方法包括:利用第一测速工具在多条网络线路中的每条网络线路上进行一次以上网络测速,并将利用第一测速工具测得的一个以上第一测速值的平均值作为该条网络线路的第一测速结果;如果所述多条网络线路中的任意两条网络线路的第一测速结果之间的差值大于第一预定阈值,则选择所述多条网络线路中利用第一测速工具测得的网速最快的一条网络线路作为客户端与伺服端之间实际使用的网络线路,否则选择所述多条网络线路中利用第二测速工具测得的网速最快的一条网络线路作为客户端与伺服端之间实际使用的网络线路。
[0007] 根据本发明实施例的网络测速方法,包括:利用第一测速工具在网络应用的客户端与伺服端之间实际使用的网络线路上进行一次以上网络测速,并将利用第一测速工具测得的一个以上第一测速值的平均值作为该网络线路的第一测速结果;如果第一测速结果不大于第二预定阈值,则将该网络线路的第一测速结果作为该网络线路的网速表征,否则将利用第二测速工具测得的该网络线路的第二测速结果作为该网络线路的网速表征。
[0008] 本发明通过将多种测速工具相结合,利用多种测速工具的优点在高复杂的网络情况下提供了网络应用各种状态时的网络连通性及延迟,从而可以在复杂情况下提供精准的服务器延迟数据,进而提升网络应用的服务器的网络流畅度。

附图说明

[0009] 图1是示出根据本发明的示例实施例的从网络应用的客户端与伺服端之间的多条网络线路中选择一条网络线路作为客户端与伺服端之间实际使用的网络线路的方法的流程图;
[0010] 图2是示出根据本发明的另一示例实施例的从网络应用的客户端与伺服端之间的多条网络线路中选择一条网络线路作为客户端与伺服端之间实际使用的网络线路的方法的流程图;
[0011] 图3是示出根据本发明的示例实施例的在网络应用正常运行期间对网络应用的客户端与伺服端之间实际使用的网络线路进行测速的方法的流程图;以及
[0012] 图4是示出根据本发明的另一示例实施例的在网络应用的客户端与伺服端之间的网络连接断开时对网络应用的客户端与伺服端之间实际使用的网络线路进行测速的方法的流程图。

具体实施方式

[0013] 下面将详细描述本发明的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好的理解。本发明决不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本发明造成不必要的模糊。
[0014] 为了更精确地获知当前网络质量同时增加网络测速的成功概率,这里提出了这样一种构思:在网络应用的服务器侧搭建Ping测速服务器,使得Ping测速服务器与网络应用的服务器共享多条网络线路并且能够通过该多条网络线路中的任意一条与网络应用的客户端通信;在网络应用的服务器侧搭建TCP(传输控制协议)测速服务器,使得TCP测速服务器与网络应用的服务器共享多条网络线路并且能够通过该多条网络线路中的任意一条与网络应用的客户端通信;Ping测速服务器和TCP测速服务器均为多网卡多互联网协议(IP)地址的服务器,并且均提供网络测速功能;优选地,TCP测速服务器除了具有网络测速功能以外,同时具有异常处理及日志记录的功能;优选地,在网络应用内搭建测速工具,并在网络应用内分别添加上行和下行测速消息包,消息包内携带网络应用的伺服端和客户端当前时间戳,通过时间戳与接收消息时的时间差,分别获取上下行延迟。
[0015] 应该理解的是,为了改善网络测速的可靠性,通常同时搭建两台Ping测速服务器、以及两台TCP测速服务器,其中该两台Ping测速服务器包括一台主Ping测速服务器和一台备份Ping测速服务器,并且该两台TCP测速服务器包括一台主TCP测速服务器和一台备份TCP测速服务器。
[0016] 下面结合图1和图2,详细描述根据本发明实施例的网络线路选择方法。
[0017] 图1是示出根据本发明的示例实施例的从网络应用的客户端与伺服端之间的多条网络线路中选择一条网络线路作为客户端与伺服端之间实际使用的网络线路的方法的流程图。如图1所示,该方法包括:
[0018] 在102a处,在网络应用的用户经由网络应用的客户端登录网络应用的伺服端之前,利用Ping测速工具(即,第一测速工具)对网络应用的客户端与伺服端之间的多条网络线路中的每条网络线路进行一次以上(最多不超过10次)网络测速,并将利用Ping测速工具测得的一个以上Ping测速值(即,第一测速值)的平均值作为该条网络线路的Ping测速结果(即,第一测速结果)。
[0019] 在102b处,在利用Ping测速工具对网络应用的客户端和伺服端之间的多条网络线路进行网络测速的同时,利用TCP测速工具(即,第二测速工具)在网络应用的客户端与伺服端之间的多条网络线路中的每条网络线路上进行一次以上网络测速,并将利用第二测速工具测得的一个以上TCP测速值(即,第二测速值)的平均值作为该条网络线路的第二测速结果。
[0020] 在104处,判断网络应用的客户端和伺服端之间的多条网络线路中的任意两条网络线路的Ping测速结果之间的差值是否大于第一预定阈值。如果是,则前进到106处,否则前进到108处。另外,当网络应用的客户端和伺服端之间的多条网络线路中没有一条网络线路的Ping测速结果被获取到时,也前进到108处。
[0021] 在106处,选择网络应用的客户端和伺服端之间的多条网络线路中利用Ping测速工具测得的网速最快的一条网络线路作为网络应用的客户端与伺服端之间实际使用的网络线路。
[0022] 在108处,当网络应用的客户端与伺服端之间的多条网络线路中的任意两条网络线路的Ping测速结果之间的差值都不大于第一预定阈值时,选择网络应用的客户端和伺服端之间的多条网络线路中利用TCP测速工具测得的网速最快的一条网络线路作为网络应用的客户端与伺服端之间实际使用的网络线路。
[0023] 下面,详细描述图1所示的网络线路选择方法的应用示例。
[0024] 在第一示例中,网络应用的客户端和伺服端之间存在包括第一网络线路和第二网络线路在内的两条网络线路,第一预定阈值为5毫秒(ms)。使用Ping测速工具在第一网络线路上进行10次网络测速,得到第一网络线路的Ping测速结果为49ms;使用Ping测速工具在第二网络线路上进行10次网络测速,得到第二网络线路的Ping测速结果为56ms;使用TCP测速工具在第一网络线路上进行8次网络测速,得到第一网络线路的TCP测速结果为49ms;使用TCP测速工具在第二网络线路上进行8次网络测速,得到第二网络线路的TCP测速结果为55ms。在该示例中,第一网络线路的Ping测速结果与第二网络线路的Ping测速结果之间的差值(7ms)大于第一预定阈值,因此第一网络线路和第二网络线路中的利用Ping测速工具测得的网速较快的一条网络线路(即,第一网络线路)作为网络应用的客户端和伺服端之间实际使用的网络线路。
[0025] 在第二示例中,网络应用的客户端和伺服端之间存在包括第一网络线路和第二网络线路在内的两条网络线路,第一预定阈值为5ms。使用Ping测速工具在第一网络线路上进行10次网络测速,得到第一网络线路的Ping测速结果为51ms;使用Ping测速工具在第二网络线路上进行10次网络测速,得到第二网络线路的Ping测速结果为49ms;使用TCP测速工具在第一网络线路上进行10次网络测速,得到第一网络线路的TCP测速结果为49ms;使用TCP测速工具在第二网络线路上进行10次网络测速,得到第二网络线路的TCP测速结果为53ms。在该示例中,第一网络线路的Ping测速结果与第二网络线路的Ping测速结果之间的差值(2ms)小于第一预定阈值,因此选择第一网络线路和第二网络线路中的利用TCP测速工具测得的网速较快的一条网络线路(即,第一网络线路)作为网络应用的客户端和伺服端之间实际使用的网络线路。
[0026] 在第三示例中,网络应用的客户端和伺服端之间存在包括第一网络线路、第二网络线路、以及第三网络线路在内的三条网络线路,第一预定阈值为5ms。使用Ping测速工具在第一网络线路上进行8次网络测速,得到第一网络线路的Ping测速结果为56ms;使用Ping测速工具在第二网络线路上进行8次网络测速,得到第二网络线路的Ping测速结果为50ms;使用Ping测速工具在第三网络线路上进行8次网络测速,得到第三网络线路的Ping测速结果为49ms;使用TCP测速工具在第一网络线路上进行7次网络测速,得到第一网络线路的TCP测速结果为52ms;使用TCP测速工具在第二网络线路上进行7次网络测速,得到第二网络线路的TCP测速结果为56ms;使用TCP测速工具在第三网络线路上进行7次网络测速,得到第三网络线路的TCP测速结果为49ms。在该示例中,第一网络线路的Ping测速结果和第三网络线路的Ping测速结果之间的差值(7ms)大于第一预定阈值,因此选择第一网络线路、第二网络线路、以及第三网络线路中的利用Ping测速工具测得的网速最快的一条网络线路(即,第三网络线路)作为网络应用的客户端和伺服端之间实际使用的网络线路。
[0027] 在第四示例中,网络应用的客户端和伺服端之间存在包括第一网络线路、第二网络线路、以及第三网络线路在内的三条网络线路,第一预定阈值为5ms。使用Ping测速工具在第一网络线路上进行8次网络测速,得到第一网络线路的Ping测速结果为53ms;使用Ping测速工具在第二网络线路上进行8次网络测速,得到第二网络线路的Ping测速结果为54ms;使用Ping测速工具在第三网络线路上进行8次网络测速,得到第三网络线路的Ping测速结果为51ms;使用TCP测速工具在第一网络线路上进行7次网络测速,得到第一网络线路的TCP测速结果为52ms;使用TCP测速工具在第二网络线路上进行7次网络测速,得到第二网络线路的TCP测速结果为56ms;使用TCP测速工具在第三网络线路上进行7次网络测速,得到第三网络线路的TCP测速结果为49ms。在该示例中,第一网络线路的Ping测速结果和第二网络线路的Ping测速结果之间的差值(1ms)、第一网络线路的Ping测速结果和第三网络线路的Ping测速结果之间的差值(2ms)、第二网络线路的Ping测速结果和第三网络线路的Ping测速结果之间的差值(3ms)均不大于第一预定阈值,因此选择第一网络线路、第二网络线路、以及第三网络线路中的利用TCP测速工具测得的网速最快的一条网络线路(即,第三网络线路)作为网络应用的客户端和伺服端之间实际使用的网络线路。
[0028] 图2是示出根据本发明的另一示例实施例的从网络应用的客户端与伺服端之间的多条网络线路中选择一条网络线路作为客户端与伺服端之间实际使用的网络线路的方法的流程图。如图2所示,该方法包括:
[0029] 在202处,在网络应用的用户经由网络应用的客户端登录网络应用的伺服端之前,利用Ping测速工具对网络应用的客户端与伺服端之间的多条网络线路中的每条网络线路进行一次以上(最多不超过10次)网络测速,并将利用Ping测速工具测得的一个以上Ping测速值的平均值作为该条网络线路的Ping测速结果。
[0030] 在204处,判断网络应用的客户端和伺服端之间的多条网络线路中的任意两条网络线路的Ping测速结果之间的差值是否大于第一预定阈值。如果是,前进到206处,否则前进到208处。另外,当网络应用的客户端和伺服端之间的多条网络线路中没有一条网络线路的Ping测速结果被获取到时,也前进到208处。
[0031] 在206处,选择网络应用的客户端和伺服端之间的多条网络线路中的利用Ping测速工具测得的网速最快的一条网络线路作为网络应用的客户端与伺服端之间实际使用的网络线路。
[0032] 在208处,利用TCP测速工具在网络应用的客户端和伺服端之间的多条网络线路中的每条网络线路上进行一次以上网络测速,并将利用TCP测速工具测得的一个以上TCP测速值的平均值作为该条网络线路的第二测速结果。
[0033] 在210处,选择网络应用的客户端和伺服端之间的多条网络线路中利用TCP测速工具测得的网速最快的一条网络线路作为网络应用的客户端与伺服端之间实际使用的网络线路。
[0034] 下面,详细描述图2所示的网络线路选择方法的应用示例。
[0035] 在第一示例中,网络应用的客户端和伺服端之间存在包括第一网络线路和第二网络线路在内的两条网络线路,第一预定阈值为5ms。使用Ping测速工具在第一网络线路上进行10次网络测速,得到第一网络线路的Ping测速结果为49ms;使用Ping测速工具在第二网络线路上进行10次网络测速,得到第二网络线路的Ping测速结果为56ms。在该示例中,第一网络线路的Ping测速结果和第二网络线路的Ping测速结果之间的差值(7ms)大于第一预定阈值,因此选择第一网络线路和第二网络线路中的利用Ping测速工具测得的网速较快的一条网络线路(即,第一网络线路)作为网络应用的客户端和伺服端之间实际使用的网络线路。
[0036] 在第二示例中,网络应用的客户端和伺服端之间存在包括第一网络线路和第二网络线路在内的两条网络线路,第一预定阈值为5ms。使用Ping测速工具在第一网络线路上进行8次网络测速,得到第一网络线路的Ping测速结果为49ms;使用Ping测速工具在第二网络线路上进行8次网络测速,得到第二网络线路的Ping测速结果为51ms;由于第一网络线路的Ping测速结果和第二网络线路的Ping测速结果之间的差值(2ms)小于第一预定阈值,因此继续使用TCP测速工具在第一网络线路和第二网络线路上分别进行10次网络测速,得到第一网络线路的TCP测速结果为49ms、第二网络线路的TCP测速结果为53ms。在该示例中,选择第一网络线路和第二网络线路中的利用TCP测速工具测得的网速较快的一条网络线路(即,第一网络线路)作为网络应用的客户端和伺服端之间实际使用的网络线路。
[0037] 在第三示例中,网络应用的客户端和伺服端之间存在包括第一网络线路、第二网络线路、以及第三网络线路在内的三条网络线路,第一预定阈值为5ms。使用Ping测速工具在第一网络线路上进行8次网络测速,得到第一网络线路的Ping测速结果为56ms;使用Ping测速工具在第二网络线路上进行8次网络测速,得到第二网络线路的Ping测速结果为50ms;使用Ping测速工具在第三网络线路上进行8次网络测速,得到第三网络线路的Ping测速结果为49ms。在该示例中,第一网络线路的Ping测速结果和第三网络线路的Ping测速结果之间的差值(7ms)大于第一预定阈值,因此选择第一网络线路、第二网络线路、以及第三网络线路中的利用Ping测速工具测得的网速最快的一条网络线路(即,第三网络线路)作为网络应用的客户端和伺服端之间实际使用的网络线路。
[0038] 在第四示例中,网络应用的客户端和伺服端之间存在包括第一网络线路、第二网络线路、以及第三网络线路在内的三条网络线路,第一预定阈值为5ms。使用Ping测速工具在第一网络线路上进行8次网络测速,得到第一网络线路的Ping测速结果为53ms;使用Ping测速工具在第二网络线路上进行8次网络测速,得到第二网络线路的Ping测速结果为54ms;使用Ping测速工具在第三网络线路上进行8次网络测速,得到第三网络线路的Ping测速结果为51ms;由于第一网络线路的Ping测速结果和第二网络线路的Ping测速结果之间的差值(1ms)、第一网络线路的Ping测速结果和第三网络线路的Ping测速结果之间的差值(2ms)、第二网络线路的Ping测速结果和第三网络线路的Ping测速结果之间的差值(3ms)均不大于第一预定阈值,因此继续使用TCP测速工具分别在第一网络线路、第二网络线路、以及第三网络线路上进行7次网络测速,得到第一网络线路的TCP测速结果为52ms、第二网络线路的TCP测速结果为56ms、第三网络线路的TCP测速结果为49ms。在该示例中,选择第一网络线路、第二网络线路、以及第三网络线路中的利用TCP测速工具测得的网速最快的一条网络线路(即,第三网络线路)作为网络应用的客户端和伺服端之间实际使用的网络线路。
[0039] 图3是示出根据本发明的示例实施例的在网络应用正常运行期间对网络应用的客户端与伺服端之间实际使用的网络线路进行测速的方法的流程图。如图3所示,该方法包括:
[0040] 在302a处,利用Ping测速工具周期性地对网络应用的客户端与伺服端之间实际使用的网络线路进行一次以上网络测速(例如,每隔1s利用Ping测速工具对网络应用的客户端与伺服端之间实际使用的网络线路进行一次以上网络测速),并将利用Ping测速工具测得的一个以上Ping测速值的平均值作为该条网络线路的Ping测速结果。
[0041] 在302b处,在利用Ping测速工具周期性地对网络应用的客户端和伺服端之间实际使用的网络线路进行网络测速的同时,利用TCP测速工具周期性地对网络应用的客户端和伺服端之间实际使用的网络线路进行一次以上网络测速(例如,每隔1s利用TCP测速工具对网络应用的客户端与伺服端之间实际使用的网络线路进行一次以上网络测速),并将利用TCP测速工具测得的一个以上TCP测速值的平均值作为该条网络线路的TCP测速结果。
[0042] 在302c处,在进行102a处和102b处的操作的同时,利用网络应用内的测速工具周期性地对网络应用的客户端和伺服端之间实际使用的网络线路进行一次以上网络测速(例如,每隔1s对网络应用的客户端与伺服端之间实际使用的网络线路进行一次以上网络测速),并将一个以上应用内测速值的平均值作为应用内测速结果。
[0043] 在304处,判断网络应用的客户端和伺服端之间实际使用的网络线路的Ping测速结果是否大于第二预定阈值。如果不是,则说明Ping测速工具测得的网络速度在可以接受的范围内,前进到306处;如果是,则说明Ping测速工具测得的网络速度过慢,前进到308处。另外,当网络应用的客户端和伺服端之间实际使用的网络线路的Ping测速结果无法获得时,也前进到308处。
[0044] 在306处,将Ping测速结果作为网络应用的客户端与伺服端之间实际使用的网络线路的网速表征。
[0045] 在308处,将TCP测速结果作为网络应用的客户端与伺服端之间实际使用的网络线路的网速表征。
[0046] 在310处,利用Ping测速结果或TCP测速结果、和应用内测速结果,即通过计算Ping测速结果或TCP测速结果和应用内测速结果之间的差值,得到网络应用的伺服端的逻辑延迟。
[0047] 下面,详细描述图3所示的方法的应用示例。
[0048] 在第一示例中,第二预定阈值为100ms。使用Ping测速工具在网络应用的客户端和伺服端之间实际使用的网络线路上进行10次网络测速,得到Ping测速结果为49ms;使用TCP测速工具在网络应用的客户端和伺服端之间实际使用的网络线路上进行10次网络测速,得到TCP测速结果为55ms;由于Ping测速结果小于第二预定阈值,因此将Ping测速结果作为该网络线路的网速表征;利用网络应用内的测速工具得到的应用内测速结果为11ms;计算Ping测速结果与应用内测速结果之间的差值,得到网络应用的伺服端的逻辑延迟为38ms。
[0049] 在第二示例中,第二预定阈值为100ms。使用Ping测速工具在网络应用的客户端和伺服端之间实际使用的网络线路上进行10次网络测速,得到Ping测速结果为105ms;使用TCP测速工具在网络应用的客户端和伺服端之间实际使用的网络线路上进行10次网络测速,得到TCP测速结果为60ms;由于Ping测速结果大于第二预定阈值,因此将TCP测速结果作为该网络线路的网速表征;利用网络应用内部测速工具得到的应用内测速结果为11ms;计算TCP测速结果与应用内测速结果之间的差值,得到网络应用的伺服端的逻辑延迟为49ms。
[0050] 图4是示出根据本发明的另一示例实施例的在网络应用的客户端与伺服端之间的网络连接断开时对网络应用的客户端与伺服端之间实际使用的网络线路进行测速的方法的流程图。如图4所示,该方法包括:
[0051] 在402处,利用Ping测速工具周期性地对网络应用的客户端与伺服端之间实际使用的网络线路进行一次以上网络测速(例如,每隔1s利用Ping测速工具对网络应用的客户端与伺服端之间实际使用的网络线路进行一次以上网络测速),并将利用Ping测速工具测得的一个以上Ping测速值的平均值作为该条网络线路的Ping测速结果。
[0052] 在404处,判断网络应用的客户端和伺服端之间实际使用的网络线路的Ping测速结果是否大于第二预定阈值。如果不是,前进到406处;如果是,前进到408处。另外,当网络应用的客户端和伺服端之间实际使用的网络线路的Ping测速结果无法获得时,也前进到408处。
[0053] 在406处,在网络应用的客户端和伺服端之间实际使用的网络线路上重新建立网络连接。
[0054] 在408处,利用TCP测速工具周期性地对网络应用的客户端与伺服端之间实际使用的网络线路进行一次以上网络测速(例如,每隔1s利用TCP测速工具对网络应用的客户端与伺服端之间实际使用的网络线路进行一次以上网络测速),并将利用TCP测速工具测得的一个以上TCP测速值的平均值作为该条网络线路的TCP测速结果。
[0055] 在410处,判断网络应用的客户端和伺服端之间实际使用的网络线路的TCP测速结果是否大于第三预定阈值。如果是,则返回到402处继续利用Ping测速工具在网络应用的客户端和伺服端之间实际使用的网络线路上进行网络测速,否则前进到406。
[0056] 这里,可以在网络应用的客户端增加测速模块,该测速模块设置有Ping测速接口和TCP测速接口并通过单独的线程实现以上结合图1至图4描述的选线和/或测速过程。
[0057] 综上所述,本发明通过将多种测速工具相结合(例如,将Ping测速和TCP测速相结合,或者将Ping测速、TCP测速、以及网络应用内的测速相结合),利用多种测速工具的优点(例如,Ping测速的低消耗与高精度、和TCP测速的高稳定性和独立性,或者Ping测速的低消耗与高精度、TCP测速的高稳定性和独立性、以及网络应用内测速的逻辑相干性)在高复杂的网络情况下提供了网络应用各种状态时的网络连通性及延迟,从而可以在复杂情况下提供精准的服务器延迟数据,进而提升网络应用的服务器的网络流畅度。
[0058] 本领域技术人员将理解,还存在可用于实现本发明实施例的更多可选实施方式和改进方式,并且上述实施方式和示例仅是一个或多个实施例的说明。因此,本发明的范围仅由所附权利要求书限制。