买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】网络通信质量检测方法、测速服务器及网络测速插件_腾讯科技(深圳)有限公司_201611043010.9 

申请/专利权人:腾讯科技(深圳)有限公司

申请日:2016-11-21

公开(公告)日:2021-04-27

公开(公告)号:CN108092837B

主分类号:H04L12/26(20060101)

分类号:H04L12/26(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.04.27#授权;2018.06.22#实质审查的生效;2018.05.29#公开

摘要:本发明实施例提供了一种络通信质量检测方法、测速服务器及网络测速插件,网络测速插件基于应用层调用传输层协议生成测速连接请求以及网络测速包;测速服务器基于应用层调用传输层协议生成测速连接建立应答以及测速应答包,与现有技术中应用于传输层的网络通信质量检测方法相比,本申请实施例应用在应用层,应用层是OSI系统的最高层,是直接为应用进程提供服务的,与终端的底层协议无关,因此适用于各种底层协议的终端使用。

主权项:1.一种网络通信质量检测方法,其特征在于,应用于网络测速插件及应用层,所述网络测速插件从属于应用客户端,所述网络测速插件为GSDK插件,所述应用客户端为用户提供人机交互界面,使用户能够通过所述人机交互界面触发所述GSDK插件开始与测速服务器建立测速连接;所述GSDK插件包括开始探测接口与停止探测接口;所述网络通信质量检测方法包括:当用户打开所述应用客户端时,通过所述应用客户端调用所述GSDK插件的开始探测接口,以根据预先配置的测速服务器的通信地址,基于应用层调用传输层协议生成测速连接建立请求;向所述测速服务器发送所述测速连接建立请求;在与所述测速服务器建立测速连接后,基于应用层调用所述传输层协议生成网络测速包;向所述测速服务器发送所述网络测速包;接收所述测速服务器反馈的基于应用层调用所述传输层协议生成的测速应答包,以便确定所述应用客户端对应的网络通信质量;当用户关闭所述应用客户端时,通过所述应用客户端调用所述GSDK插件的停止探测接口,以使所述GSDK插件断开与所述测速服务器的测速连接。

全文数据:网络通信质量检测方法、测速服务器及网络测速插件技术领域[0001]本申请涉及通信技术领域,更具体的涉及一种网络通信质量检测方法、测速服务器及网络测速插件。背景技术[0002]目前终端上安装有很多应用客户端,例如《穿越火线》应用客户端、《剑侠情缘》应用客户端、《梦幻诛仙》应用客户端,应用客户端在运行过程中都会涉及网络交互,网络通信质量对应用客户端的正常运行影响很大。[0003]目前对应用客户端的网络通信质量检测方法,对终端底层的通信协议都有要求,例如利用ping工具在检测应用客户端的网络通信质量时,需要终端底层的通信协议为Linux网络协议,不适用于底层通信协议为其他网络协议的终端。[0004]综上,目前的网络通信质量检测方法的局限性较大,不适用于所有的终端。发明内容[0005]有鉴于此,本发明提供了一种网络通信质量检测方法、测速服务器及网络测速插件,以克服现有技术中网络通信质量检测方法的局限性较大,不适用于所有的终端的问题。[0006]为实现上述目的,本发明提供如下技术方案:[0007]—种网络通信质量检测方法,包括:[0008]根据预先配置的测速服务器的通信地址,调用传输层协议生成测速连接建立请求;[0009]向所述测速服务器发送所述测速连接建立请求;[0010]在与所述测速服务器建立测速连接后,调用所述传输层协议生成网络测速包;[0011]向所述测速服务器发送所述网络测速包;[0012]接收所述测速服务器反馈的调用所述传输层协议生成的测速应答包,以便确定所述应用客户端对应的网络通信质量。[0013]一种网络通信质量检测方法,应用于测速服务器,所述网络通信质量检测方法包括:[0014]接收网络测速插件发送的调用传输层协议生成的测速连接建立请求,所述测速连接建立请求包括与所述网络测速插件相关联的应用客户端的通信地址;[0015]根据所述应用客户端的通信地址,调用所述传输层协议生成测速连接建立应答;[0016]向所述网络测速插件反馈所述测速连接建立应答;[0017]接收所述网络测速插件发送的调用所述传输层协议生成的网络测速包;[0018]调用所述传输层协议生成与所述网络测速包对应的测速应答包;[0019]将所述测速应答包发送至所述网络测速插件。[0020]一种网络测速插件,包括:[0021]生成建立连接请求模块,用于根据预先配置的测速服务器的通信地址,调用传输层协议生成测速连接建立请求;[0022]发送连接请求模块,用于向所述测速服务器发送所述测速连接建立请求;[0023]生成测速包模块,用于在与所述测速服务器建立测速连接后,调用所述传输层协议生成网络测速包;[0024]发送测速包模块,用于向所述测速服务器发送所述网络测速包;、、[0025]接收应答包模块,用于接收所述测速服务器反馈的调用所述传输层协议生成的测速应答包,以便确定所述应用客户端对应的网络通信质量。[0026]—种测速服务器,包括:[0027]接收连接请求模块,用于接收网络测速插件发送的调用传输层协议生成的测速^接建立请求,所述测速连接建立请求包括与所述网络测速插件相关联的应用客户端的通信地址;[0028]生成建立连接应答模块,用于根据所述应用客户端的通信地址,调用所述传输层协议生成测速连接建立应答;[0029]发送连接应答模块,用于向所述网络测速插件反馈所述测速连接建立应答;[0030]接收测速包模块,用于接收所述网络测速插件发送的调用所述传输层协议生成的网络测速包;[0031]生成应答包模块,用于调用所述传输层协议生成与所述网络测速包对应的测速应答包;[0032]发送应答包模块,用于将所述测速应答包发送至所述网络测速插件。[0033]经由上述的技术方案可知,与现有技术相比,本发明实施例提供了一种络通信质量检测方法、测速服务器及网络测速插件,网络测速插件基于应用层调用传输层协议生成测速连接请求以及网络测速包;测速服务器基于应用层调用传输层协议生成测速连接建立应答以及测速应答包,与现有技术中应用于传输层的网络通信质量检测方法相比,本申请实施例应用在应用层,应用层是0SI系统的最高层,是直接为应用进程提供服务的,与终端的底层协议无关,因此适用于各种底层协议的终端使用。附图说明[0034]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。[0035]图1为本申请实施例提供的网络通信质量检测系统的结构框图;[0036]图2为本申请实施例提供的一种通信质量检测方法的信令图;[0037]图3为本申请实施例提供的一种网络测速插件和测速服务器之前多次轮询探测示意图;[0038]图4为本申请实施例提供的每一网络测速包的发送时间和与其对应的应答测速包的接收时间的收发时间信息的示意图;[0039]图5为本申请实施例提供的一种网络测速插件的结构示意图;[0040]图6为本申请实施例提供的一种测速服务器的结构示意图;[0041]图7为本发明实施例提供的网络测速插件所在的终端的硬件结构框图;[0042]图8为本发明实施例提供的测速服务器的硬件结构框图。具体实施方式[0043]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0044]本申请实施例提供了一种通信质量检测方法,该通信质量检测方法可以应用于网络通信质量检测系统,如图1所示,为本申请实施例提供的网络通信质量检测系统的结构框图。[0045]网络通信质量检测系统包括:终端11以及测速服务器12。终端11中可以设置有多个应用客户端13,例如《穿越火线》应用客户端、《剑侠情缘》应用客户端、《梦幻诛仙》应用客户端,每一应用客户端13可以包括具有通信质量检测方法所描述功能的网络测速插件14,网络测速插件14与测速服务器12共同完成对与网路测速插件相关联的应用客户端的网络通信质量的检测。[0046]下面结合上述网络通信质量检测系统,对上述一应用客户端中的网络测速插件的通信质量检测方法进行说明,请参阅图2,为本申请实施例提供的一种通信质量检测方法的fg令图。[0047]步骤S201:网络测速插件14根据预先配置的测速服务器的通信地址,调用传输层协议生成测速连接建立请求。[0048]OSIOpenSystemInterconnect,开放系统互连参考模型),从下至上依次包括:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,本申请实施例中的网络通信质量检测方法可以应用于应用层。应用层可以调用传输层的传输层协议,从而生成测速连接建立请求。[0049]上述传输层协议可以为UDPUserDatagramProtocol,用户数据报协议),或TCPTransmissionControlProtocol传输控制协议)。[0050]利用传输层协议生成的数据包包括报文头部分和数据内容部分,其中报文头部分包括源端口号和目标端口号,在本申请实施例中,源端口号即为网络测速插件14所在的终端11的通信地址包括IP地址和端口号),目标端口号为测速服务器12的通信地址包括测速服务器的IP地址和端口号)。数据内容部分即为测速连接请求相应内容。[0051]由于一个设备中可以包括多个终端,可以通过IP地址和端口号唯一确定该终端。且一个设备中也可以包括多个服务器,可以通过IP地址和端口号唯一确定该测速服务器。[0052]步骤S202:网络测速插件14通过其所在的终端11向测速服务器12发送测速连接建立请求。[0053]步骤S203:测速服务器12接收网络测速插件发送的调用传输层协议生成的测速连接建立请求,根据所述应用客户端的通信地址,调用所述传输层协议生成测速连接建立应答。[0054]测速连接建立请求包括与所述网络测速插件相关联的应用客户端的通信地址,即网络测速插件和应用客户端所在的终端的通信地址,例如IP地址和端口号。[0055]应用于测速服务器12的网络通信质量检测方法可以应用于应用层,应用层可以调用传输层的传输层协议,例如UDP协议或TCP协议。测速连接应答的数据包中报文头部分的源端口号为测速服务器的通信地址,目标端口号为网络测速插件所在的终端的通信地址,数据内容部分为测速连接建立应答的相应内容,例如同意建立连接或禁止建立连接等等。[0056]本申请实施例是基于测速服务器12同意建立连接的基础上实现的,因此对这部分内容进行详细介绍。[0057]步骤S204:测速服务器12向网络测速插件14所在的终端11反馈测速连接建立应答。[0058]步骤S205:网络测速插件14在与所述测速服务器12建立测速连接后,调用所述传输层协议生成网络测速包。[0059]步骤S206:网络测速插件14向所述测速服务器12发送所述网络测速包。[0060]步骤S207:测速服务器12接收所述网络测速插件14发送的调用所述传输层协议生成的网络测速包,调用所述传输层协议生成与所述网络测速包对应的测速应答包。[0061]测速服务器12可以是在应用层上调用传输层协议,从而生成与所述网络测速包对应的测速应答包。[0062]步骤S208:测速服务器12将所述测速应答包发送至所述网络测速插件14。[0063]步骤S209:网络测速插件14接收测速服务器12反馈的调用所述传输层协议生成的测速应答包,以便确定所述应用客户端对应的网络通信质量。[0064]本申请实施例提供的网络通信质量检测方法中,网络测速插件14基于应用层调用传输层协议生成测速连接请求以及网络测速包;测速服务器12基于应用层调用传输层协议生成测速连接建立应答以及测速应答包,与现有技术中应用于传输层的网络通信质量检测方法相比,本申请实施例应用在应用层,应用层是0SI系统的最高层,是直接为应用进程提供服务的,与终端的底层协议无关,因此适用于各种底层协议的终端使用。[0065]为了本领域技术人员更加理解本申请实施例提供的网络通信质量检测方法,下面举一具体例子进行说明,以《剑侠情缘》应用客户端为例进行说明,可以在《剑侠情缘》应用客户端加入网络测速插件,例如GSDKGameSoftwareDevelopmentKit,游戏软件开发工具包插件。当用户在终端安装《剑侠情缘》应用客户端时,也同时安装了GSDK插件。这样当用户在终端打开《剑侠情缘》应用客户端玩游戏时,《剑侠情缘》应用客户端可以触发与其对应的GSDK插件,GSDK插件就会与测速服务器执行图1所示的信令交互。当用户关闭《剑侠情缘》应用客户端后,《剑侠情缘》应用客户端可以触发GSDK插件释放与测速服务器之间的测速连接。或者,《剑侠情缘》应用客户端为用户提供人机交互界面,用户可以通过该人机交互界面触发GSDK插件开始与测速服务器建立测速连接,以及触发GSDK插件释放与测速服务器建立的测速连接。[0066]GSDK插件可以包括开始探测接口以及停止探测接口,当用户在终端打开《剑侠情缘》应用客户端玩游戏或,在《剑侠情缘》应用客户端中的人机交互界面中,用户执行开始测速的操作时,《剑侠情缘》应用客户端会调用GSDK插件的开始探测接口,GSDK插件的开始探测接口被触发后,即为GSDK插件接收到开启网络测速指令,此时GSDK插件开始执行步骤S201。当用户关闭《剑侠情缘》应用客户端或,在《剑侠情缘》应用客户端中的人机交互界面中,用户执行停止测速的操作)时,《剑侠情缘》应用客户端会调用GSDK插件的停止探测接口,GSDK插件的停止探测接口被调用后,即为GSDK插件接收到停止网络测速指令,此时GSDK插件就会断开与测速服务器的测速连接。[0067]具体的,网络测试插件14还可以用于:[0068]接收到停止网络测速指令时,根据所述测速服务器的通信地址,调用传输层协议生成测速连接终止请求。[0069]向所述测速服务器发送所述测速连接终止请求。[0070]接收到所述测速服务器反馈的调用所述传输层协议生成的测速连接终止应答时,释放与所述测速服务器建立的测速连接。[0071]相应的,测速服务器还可以用于:[0072]接收所述网络测速插件发送的调用传输层协议生成的测速连接终止请求。[0073]根据所述应用客户端的通信地址,调用所述传输层协议生成测速连接终止应答。[0074]向所述网络测速插件发送测速连接终止应答,并释放与所述网络测速插件建立的测速连接。[0075]网络测试插件14在根据预先配置的测速服务器的通信地址,调用传输层协议生成测速连接建立请求时,具体用于:[0076]接收到开启网络测速指令时,确定预先配置的测速服务器的通信地址。[0077]所述根据预先配置的测速服务器的通信地址,调用传输层协议生成测速连接建立请求。[0078]将网络测速插件14向测速服务器12发送一次网络测速包,测速服务器向网络测速插件14反馈一相应的应答测速包,称为一次轮询探测。可以理解的是,可以通过一次轮询探测来确定网络通信质量。也可以通过多次轮询探测来确定网络通信质量。[0079]当需要多次轮询探测来确定网络通信质量时,网络测速插件14需要下行测速服务器12发送多个网络测速包,测速服务器12需要向网络测速插件14反馈多个应答测速包,为了网络测速插件14可以分辨出测速服务器12反馈的各个应答测速包与哪一网络测速包相对应,同理为了测速服务器12可以分辨出各个网络测速包,以便生成与各个网络测速包对应的应答测速包,需要在网络测速插件和测速服务器进行预先设置,即在网络测速插件上设置各发送次序对应的测速数据内容,在测速服务器中设置各发送次序对应的应答数据内容。[0080]此时,网络测速插件14在调用所述传输层协议生成网络测速包时,具体用于:[0081]确定网络测速包的当前发送次序。[0082]从预先配置的各发送次序对应的测速数据内容中,获取与当前发送次序相应的测速数据内容。[0083]调用所述传输层协议,在所述传输层协议的数据包的数据区域中,填充所述测速数据内容,以生成当前需发送的网络测速包。[0084]相应的,测速服务器12在调用所述传输层协议生成与所述网络测速包对应的测速应答包时,具体用于:[0085]确定所述网络测速包对应的发送次序。[0086]从所述测速服务器预先配置的各发送次序对应的应答数据内容中,获取与所述发送次序相应的应答数据内容。[0087]调用所述传输层协议,在所述传输层协议的数据包的数据区域中,填充所述应答数据内容,以生成当前需发送的应答测速包。[0088]这样就可以确定哪个网络测速包和应答测速包是相对应的。[0089]可以理解的是,测速服务器12可以同时检测多个应用客户端例如《穿越火线》应用客户端、《剑侠情缘》应用客户端、《梦幻诛仙》应用客户端)的网络通信质量,为了测速服务器12可以分辨出当前是哪个应用客户端的网络测速插件发送的网络测速包,网络测速包中还需要有能够标识应用客户端的标识信息,为了网络测速插件14可以分辨出测速服务器12反馈的哪个应答测速包属于自己,测速服务器12生成的应答测速包中需要包括能够标识应用客户端的标识信息。即网络测速包中的测速数据内容包括:测速数据内容对应的发送次序,及用于标识网络测速插件相关联的应用客户端的标识信息。应答测速包中的应答数据内容包括:应答数据内容对应的发送次序,及用于标识网络测速插件相关联的应用客户端的标识信息。[0090]请参阅图3,为本申请实施例提供的一种网络测速插件和测速服务器之前多次轮询探测示意图。[0091]从图3中可以看出,终端11中包括3个应用客户端,分别为《穿越火线》应用客户端1、《剑侠情缘》应用客户端2、《梦幻诛仙》应用客户端3。[0092]假设能够标识《穿越火线》应用客户端1的标识信息为1,能够标识《剑侠情缘》应用客户端2的标识信息为2,能够标识《梦幻诛仙》应用客户端3的标识信息为3,各应用客户端的发送次序均从0开始,用“A”表示为网络测速包,用“B”表示为应答测速包。[0093]《穿越火线》应用客户端1中的网络测速插件14向测速服务器12发送的网络测速包中的测速数据内容依次为100A、101A、…、109A、…,其中“〇”、“1”、…、“9”、…表示发送次序;相应的,测速服务器12反馈的应答测速包依次为l〇〇B、101B、…、109B、…,其中“0”、“1”、…、“9”、…表示发送次序。[0094]《剑侠情缘》应用客户端2中的网络测速插件14向测速服务器12发送的网络测速包中的测速数据内容依次为200A、201A、…、209A、…,其中“0”、“1”、…、“9”、…表示发送次序;相应的,测速服务器12反馈的应答测速包依次为200B、2〇1B、…、209B、…,其中“0”、“1”、…、“9”、…表示发送次序。[0095]《梦幻诛仙》应用客户端3中的网络测速插件14向测速服务器12发送的网络测速包中的测速数据内容依次为300A、3〇lA、…、3〇说、…,其中“0”、“1”、…、“9”、…表示发送次序;相应的,测速服务器12反馈的应答测速包依次为3〇〇B、301B、…、3〇9B、…,其中“0”、“1”、…、“9”、…表示发送次序。[0096]图3中未考虑应答测速包或网络测速包丢失的情况,若某一网络测速包或应答测速包丢失,则将图3中相应的网络测速包或应答测速包删除即可。[0097]网络测速插件14与测速服务器12之间的轮询探测方式有多种,图3是以一次轮询探测结束后,间隔预设时间,再次向测速服务器12发送网络测速包,待接收到测速服务器12反馈的相应的应答测速包后,再次向测速服务器发送网络测速包,依次类推。即网络测速插件14在向所述测速服务器发送所述网络测速包时,具体用于:确定当前发送次序相应的网络测速包;接收到上一发送次序相应的网络测速包对应的应答测速包时,间隔预设时间,向所述测速服务器发送当前发送次序相应的网络测速包。[0098]上述的预设时间可以为5秒、6秒等等,具体可以依据实际情况而定。[0099]可以理解的是,网络测速插件14在向所述测速服务器发送所述网络测速包时,还可以具体用于:以预设时间间为隔向所述测速服务器发送与当前发送次序相应的网络测速包。[0100]此处的预设时间间隔,可以与上一预设时间相同,也可以不同。[0101]网络测速插件14可以依据网络测速包的发送情况和应答测速包的接收情况,来判断网络测速插件14相关联的应用客户端的网络通信质量。[0102]网络测速插件14还可以用于:[0103]确定发送各所述网络测速包的发送时间。[0104]确定接收各所述应答测速包的接收时间。[0105]依据每一所述网络测速包的发送时间和与其对应的所述应答测速包的接收时间,确定出所述网络测速包对应的收发时间信息。[0106]网络测速插件14可以在发送的每一网络测速包上打下时间戳,测速服务器12可以在反馈的每一应答测速包上打下时间戳,可以根据每一所述网络测速包的时间戳,确定发送时间;可以依据应答测速包的时间戳,确定接收时间,收发时间信息可以是指每一所述网络测速包的发送时间和与其对应的所述应答测速包的接收时间的差值。[0107]如图4所示,为本申请实施例提供的每一网络测速包的发送时间和与其对应的应答测速包的接收时间的收发时间信息的示意图。[0108]从图4是针对图3中的《穿越火线》应用客户端1中的网络测速插件14而言的,且使用的网络测速插件14为GSDK插件。因此图4中未示出《穿越火线》应用客户端1的标识信息,仅示出了《穿越火线》应用客户端1的发送次序和接收次序。[0109]Sendheadis1receiveheadis1backisB是指网络测速包的发送次序为“1”,接收到的应答测速包中发送次序为“1”且具有“B”。[0110]Socketcosttimeis34是指发送次序为1的网络测速包和发送次序为1的应答测速包的收发时间信息为34ms。其他的依次类推,不再一一解释。[0111]从图4中可以看到《穿越火线》应用客户端1,依据图3中所示的发送网络测速包的方法,在12次轮询探测中,每一网络测速包的发送时间和与其对应的应答测速包的接收时间的收发时间信息分别为:34ms、46ms、49ms、48ms、49ms、5〇ms、47ms、35ms、47ms、48ms、75ms、35ms〇[0112]网络测速插件14在得到各所述网络测速包对应的收发时间信息后,可以根据各所述网络测速包对应的收发时间信息,确定所述网络通信质量,并发送至所述分析服务器,也可以将各所述网络测速包对应的收发时间信息发送至分析服务器,以便所述分析服务器确定所述网络通信质量。[0113]分析服务器可以位于应用客户端的开发者一侧的,这样开发者在接收到应用客户端反馈的问题时,可以先判断该应用客户端出现的问题是否是因为网络通信质量的问题导致的。若在应用客户端发生问题时,网络通信质量良好,即可以支持应用客户端的正常运行,则说明确实是应用客户端自身的问题,从而可以式开发者完善应用客户端。[0114]若没有上述网络通信质量检测方法,开发者在不知道应用客户端出现问题是由于网络通信质量,还是由于应用客户端本身的弊端导致的,盲目对应用客户端进行改进,可能会浪费大量的人力、物力和财力。[0115]若是网络测速插件14自己根据各所述网络测速包对应的收发时间信息,确定应用客户端的网络通信质量,则网络测速插件在根据各所述网络测速包对应的收发时间信息,确定所述网络通信质量时(下述方法也适用于分析服务器,在根据各所述网络测速包对应的收发时间信息,确定应用客户端的网络通信质量的具体实现方法),具体用于:[0116]依据各所述网络测速包对应的收发时间信息,确定出最大收发时间信息,和或,最小收发时间信息,和或,平均收发时间信息。[0117]依据所述最大收发时间信息,和或,所述最小收发时间信息,和或,所述平均收发时间信息,确定所述网络通信质量。[0118]以图4示出的12个收发时间信息为例,最大收发时间信息为75ms,最小收发时间信息为34ms,平均收发时间信息为46•9ms。[0119]网络测速插件14还可以用于:[0120]确定预设收发时间内发送的所述网络测速包的数量,以及在所述预设收发时间内接收到的应答测速包的理论数量。[0121]确定所述预设收发时间内实际接收到的应答测速包的实际数量。[0122]由于可能出现丢包的情况,例如,若网络测速插件14在发送一网络测速包后,会循环监听与该网络测速包相应的应答测速包,若超过一定时间(例如3s后,则放弃接收该应答测速包,这种情况就为丢包的情况。[0123]网络测速插件14可以自己根据所述理论数量和所述实际数量,确定所述网络通信质量,并发送至所述分析服务器;或者,将所述理论数量和所述实际数量发送至分析服务器,以便所述分析服务器确定所述网络通信质量。[0124]网络测速插件14在依据理论数量和实际数量,确定网络通信质量时,具体用于该方法也适用于分析服务器):[0125]确定所述理论数量和所述实际数量的差值。[0126]当所述差值小于等于差额阈值时,确定所述网络通信质量良好。[0127]当所述差值大于所述差额阈值时,确定所述网络通信质量欠佳。[0128]假设预设收发时间内发送的网络测速包的数量为30个,在该预设收发时间内理论上接收到的应答测速包的数量,即理论数量应为30个,若在该预设收发时间内实际接收到的应答测速包,即实际数量为1〇个,表明应用客户端的网络通信质量欠佳;当实际数量为3〇个或29个,表明应用客户端的网络通信质量良好。差额阈值可以为1、2、3等等。[0129]本申请实施例还提供了一种网络测速插件,请参阅图5,为本申请实施例提供的一种网络测速插件的结构示意图,网络测速插件可以包括:生成建立连接请求模块51、发送连接请求模块52、生成测速包模块53、发送测速包模块54以及接收应答包模块55,其中:[0130]生成建立连接请求模块51,用于根据预先配置的测速服务器的通信地址,调用传输层协议生成测速连接建立请求。[0131]生成建立连接请求模块51包括:接收指令单元,用于接收到开启网络测速指令时,确定预先配置的测速服务器的通信地址;生成连接请求单元,用于所述根据预先配置的测速服务器的通信地址,调用传输层协议生成测速连接建立请求。[0132]发送连接请求模块52,用于向所述测速服务器发送所述测速连接建宜请求。[0133]生成测速包模块53,用于在与所述测速服务器建立测速连接后,调用所述传输层协议生成网络测速包。[0134]发送测速包模块54,用于向所述测速服务器发送所述网络测速包。[0135]接收应答包模块55,用于接收所述测速服务器反馈的调用所述传输层协议生成的测速应答包,以便确定所述应用客户端对应的网络通信质量。[0136]本申请实施例提供的网络测速插件中,生成建立连接请求模块51基于应用层调用传输层协议生成测速连接请求,以及生成测速包模块53于应用层调用传输层协议生成网络测速包;测速服务器12基于应用层调用传输层协议生成测速连接建立应答以及测速应答包,与现有技术中应用于传输层的网络通信质量检测方法相比,本申请实施例应用在应用层,应用层是0SI系统的最高层,是直接为应用进程提供服务的,与终端的底层协议无关,因此适用于各种底层协议的终端使用。[0137]调用所述传输层协议生成的数据包包括数据区域,生成测速包模块43包括:确定发送次序单元,用于确定所述网络测速包的当前发送次序;获取测速数据单元,用于从预先配置的各发送次序对应的测速数据内容中,获取与当前发送次序相应的测速数据内容;生成测速包单元,用于调用所述传输层协议,在所述传输层协议的数据包的数据区域中,填充所述测速数据内容,以生成当前需发送的所述网络测速包。[0138]网络测速插件可以与应用客户端相关联。[0139]发送测速包模块44的实现方式有多种,本申请实施例提供了两种发送测速包模块的实现方式:[0140]第一种,发送测速包模块44包括:[0141]确定测速包单元,用于确定当前发送次序相应的网络测速包;发送测速包单元,用于接收到上一发送次序相应的网络测速包对应的应答测速包时,间隔预设时间,向所述测速服务器发送当前发送次序相应的网络测速包。[0142]第二种,发送测速包模块44包括:[0143]间隔发送测速包单元,用于以预设时间为间隔向所述测速服务器发送与当前发送次序相应的网络测速包。[0144]确定网络通信质量的方式可以有多种,本申请实施例提供但不限于以下两种。[0145]第一种,网络测速插件还包括:[0146]确定发送时间模块,用于确定发送各所述网络测速包的发送时间;确定接收时间模块,用于确定接收各所述应答测速包的接收时间;确定收发时间模块,用于依据每一所述网络测速包的发送时间和与其对应的所述应答测速包的接收时间,确定出所述网络测速包对应的收发时间信息。[0147]网络测速插件还可以包括:发送收发时间信息模块,用于将各所述网络测速包对应的收发时间信息发送至分析服务器,以便所述分析服务器确定所述网络通信质量;或,确定网络通信质量模块,用于根据各所述网络测速包对应的收发时间信息,确定所述网络通信质量,并发送至所述分析服务器。[0148]确定网络通信质量模块可以包括:确定收到信息单元,用于依据各所述网络测速包对应的收发时间信息,确定出最大收发时间信息,和或,最小收发时间信息,和或,平均收发时间信息;确定网络通信质量单元,用于依据所述最大收发时间信息,和或,所述最小收发时间信息,和或,所述平均收发时间信息,确定所述网络通信质量。[0149]第二种,网络测速插件还包括:[0150]确定理论数量模块,用于确定预设收发时间内发送的所述网络测速包的数量,以及在所述预设收发时间内接收到的应答测速包的理论数量;确定实际数量模块,用于确定所述预设收发时间内实际接收到的应答测速包的实际数量。[0151]网络测速插件还包括:发送数量模块,用于将所述理论数量和所述实际数量发送至分析服务器,以便所述分析服务器确定所述网络通信质量;或,确定网络通信质量模块,用于根据所述理论数量和所述实际数量,确定所述网络通信质量,并发送至所述分析服务器。[0152]网络测速插件还包括:[0153]处理模块,用于接收到停止网络测速指令时,根据所述测速服务器的通信地址,调用传输层协议生成测速连接终止请求;发送测速连接终止模块,用于向所述测速服务器发送所述测速连接终止请求;释放测速连接模块,用于接收到所述测速服务器反馈的调用所述传输层协议生成的测速连接终止应答时,释放与所述测速服务器建立的测速连接。[0154]本申请实施例还提供了一种测速服务器,请参阅图6,为本申请实施例提供的一种测速服务器的结构示意图,该测速服务器包括:接收连接请求模块61、生成建立连接应答模块62、发送连接应答模块63、接收测速包模块64、生成应答包模块65以及发送应答包模块66,其中:[0155]接收连接请求模块61,用于接收网络测速插件发送的调用传输层协议生成的测速连接建立请求,所述测速连接建立请求包括与所述网络测速插件相关联的应用客户端的通信地址。[0156]生成建立连接应答模块62,用于根据所述应用客户端的通信地址,调用所述传输层协议生成测速连接建立应答。[0157]发送连接应答模块63,用于向所述网络测速插件反馈所述测速连接建立应答。[0158]接收测速包模块64,用于接收所述网络测速插件发送的调用所述传输层协议生成的网络测速包。[0159]生成应答包模块65,用于调用所述传输层协议生成与所述网络测速包对应的测速应答包。[0160]发送应答包模块66,用于将所述测速应答包发送至所述网络测速插件。[0161]调用所述传输层协议生成的数据包包括数据区域,生成应答包模块65包括:[0162]确定发送次序单元,用于确定所述网络测速包对应的发送次序;获取应答数据内容单元,用于从所述测速服务器预先配置的各发送次序对应的应答数据内容中,获取与所述发送次序相应的应答数据内容;生成应答测速包单元,用于调用所述传输层协议,在所述传输层协议的数据包的数据区域中,填充所述应答数据内容,以生成当前需发送的所述应答测速包。[0163]测速服务器还包括:[0164]接收测速连接终止模块,用于接收所述网络测速插件发送的调用传输层协议生成的测速连接终止请求;生成测速连接终止应答模块,用于根据所述应用客户端的通信地址,调用所述传输层协议生成测速连接终止应答;释放测速连接模块,用于向所述网络测速插件发送测速连接终止应答,并释放与所述网络测速插件建立的测速连接。[0165]图7示出了本发明实施例提供的包含网络测速插件的终端的硬件结构框图,参照图7,该终端可以包括:处理器71,通信接口72,存储器73和通信总线74;[0166]其中处理器71、通信接口72、存储器73通过通信总线74完成相互间的通信;[0167]可选的,通信接口72可以为通信模块的接口,如GSM模块的接口;[0168]处理器71,用于执行程序;[0169]存储器73,用于存放程序和数据;[0170]程序可以包括程序代码,所述程序代码包括计算机操作指令;数据可以包括预先配置的测速服务器的通信地址以及传输层协议。[0171]处理器71可能是一个中央处理器CPU,或者是特定集成电路ASICApplicationSpecificIntegratedCircuit,或者是被配置成实施本发明实施例的一'个或多个集成电路。[0172]存储器73可能包含高速RAM存储器,也可能还包括非易失性存储器non-volatilememory,例如至少一个磁盘存储器。[0173]其中,程序可具体用于:[0174]根据预先配置的测速服务器的通信地址,调用传输层协议生成测速连接建立请求。[0175]向所述测速服务器发送所述测速连接建立请求。[0176]在与所述测速服务器建立测速连接后,调用所述传输层协议生成网络测速包。[0177]向所述测速服务器发送所述网络测速包。[0178]接收所述测速服务器反馈的调用所述传输层协议生成的测速应答包,以便确定所述应用客户端对应的网络通信质量。[0179]图8示出了本发明实施例提供的测速服务器的硬件结构框图,参照图8,该终端可以包括:处理器81,通信接口82,存储器83和通信总线M;[0180]其中处理器81、通信接口8、存储器83通过通信总线84完成相互间的通信;[0181]可选的,通信接口82可以为通信模块的接口,如GSM模块的接口;[0182]处理器81,用于执行程序;[0183]存储器83,用于存放程序和数据;[0184]程序可以包括程序代码,所述程序代码包括计算机操作指令;数据可以包括网络测速插件所在的终端的通信地址以及传输层协议。[0185]处理器81可能是一个中央处理器CPU,或者是特定集成电路ASICApplicationSpecificIntegratedCircuit,或者是被配置成实施本发明实施例的一个或多个集成电路。[0186]存储器83可能包含高速RAM存储器,也可能还包括非易失性存储器non-volatilememory,例如至少一个磁盘存储器。[0187]其中,程序可具体用于:[0188]接收网络测速插件发送的调用传输层协议生成的测速连接建立请求,所述测速连接建立请求包括与所述网络测速插件相关联的应用客户端的通信地址;[0189]根据所述应用客户端的通信地址,调用所述传输层协议生成测速连接建立应答;[0190]向所述网络测速插件反馈所述测速连接建立应答;[0191]接收所述网络测速插件发送的调用所述传输层协议生成的网络测速包;[0192]调用所述传输层协议生成与所述网络测速包对应的测速应答包;[0193]将所述测速应答包发送至所述网络测速插件。[0194]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。[0195]专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能宄竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。[0196]结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器RAM、内存、只读存储器ROM、电可编程R0M、电可擦除可编程R0M、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。[0197]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

权利要求:1.一种网络通信质量检测方法,其特征在于,包括:根据预先配置的测速服务器的通信地址,调用传输层协议生成测速连接建立请求;向所述测速服务器发送所述测速连接建立请求;在与所述测速服务器建立测速连接后,调用所述传输层协议生成网络测速包;向所述测速服务器发送所述网络测速包;接收所述测速服务器反馈的调用所述传输层协议生成的测速应答包,以便确定所述应用客户端对应的网络通信质量。2.根据权利要求1所述网络通信质量检测方法,其特征在于,调用所述传输层协议生成的数据包包括数据区域;所述调用所述传输层协议生成网络测速包包括:确定所述网络测速包的当前发送次序;从预先配置的各发送次序对应的测速数据内容中,获取与当前发送次序相应的测速数据内容;调用所述传输层协议,在所述传输层协议的数据包的数据区域中,填充所述测速数据内容,以生成当前需发送的所述网络测速包。3.根据权利要求2所述网络通信质量检测方法,其特征在于,所述网络通信质量检测方法应用于网络测速插件,所述网络测速插件与应用客户端相关联,预先配置的每一所述测速数据内容包括:所述测速数据内容对应的发送次序,及用于标识所述应用客户端的标识信息。4.根据权利要求1所述网络通信质量检测方法,其特征在于,所述向所述测速服务器发送所述网络测速包包括:确定当前发送次序相应的网络测速包;接收到上一发送次序相应的网络测速包对应的应答测速包时,间隔预设时间,向所述测速服务器发送当前发送次序相应的网络测速包。5.根据权利要求1所述网络通信质量检测方法,其特征在于,所述向所述测速服务器发送所述网络测速包包括:以预设时间为间隔向所述测速服务器发送与当前发送次序相应的网络测速包。6.根据权利要求4或5所述网络通信质量检测方法,其特征在于,还包括:确定发送各所述网络测速包的发送时间;确定接收各所述应答测速包的接收时间;依据每一所述网络测速包的发送时间和与其对应的所述应答测速包的接收时间,确定出所述网络测速包对应的收发时间信息。7.根据权利要求6所述网络通信质量检测方法,其特征在于,还包括:将各所述网络测速包对应的收发时间信息发送至分析服务器,以便所述分析服务器确定所述网络通信质量;或,根据各所述网络测速包对应的收发时间信息,确定所述网络通信质量,并发送至所述分析服务器。8.根据权利要求7所述网络通信质量检测方法,其特征在于,所述根据各所述网络测速包对应的收发时间信息,确定所述网络通信质量包括:依据各所述网络测速包对应的收发时间信息,确定出最大收发时间信息,和或,最小收发时间信息,和或,平均收发时间信息;依据所述最大收发时间信息,和或,所述最小收发时间信息,和或,所述平均收发时间信息,确定所述网络通信质量。9.根据权利要求4或5所述网络通信质量检测方法,其特征在于,还包括:确定预设收发时间内发送的所述网络测速包的数量,以及在所述预设收发时间内接收到的应答测速包的理论数量;确定所述预设收发时间内实际接收到的应答测速包的实际数量。10.根据权利要求9所述网络通信质量检测方法,其特征在于,还包括:将所述理论数量和所述实际数量发送至分析服务器,以便所述分析服务器确定所述网络通信质量;或,根据所述理论数量和所述实际数量,确定所述网络通信质量,并发送至所述分析服务器。11.根据权利要求1所述网络通信质量检测方法,其特征在于,还包括:接收到停止网络测速指令时,根据所述测速服务器的通信地址,调用传输层协议生成测速连接终止请求;向所述测速服务器发送所述测速连接终止请求;接收到所述测速服务器反馈的调用所述传输层协议生成的测速连接终止应答时,释放与所述测速服务器建立的测速连接。12.根据权利要求1或11所述网络通信质量检测方法,其特征在于,所述根据预先配置的测速服务器的通信地址,调用传输层协议生成测速连接建立请求包括:接收到开启网络测速指令时,确定预先配置的测速服务器的通信地址;所述根据预先配置的测速服务器的通信地址,调用传输层协议生成测速连接建立请求。13.—种网络通信质量检测方法,其特征在于,应用于测速服务器,所述网络通信质量检测方法包括:接收网络测速插件发送的调用传输层协议生成的测速连接建立请求,所述测速连接建立请求包括与所述网络测速插件相关联的应用客户端的通信地址;根据所述应用客户端的通信地址,调用所述传输层协议生成测速连接建立应答;向所述网络测速插件反馈所述测速连接建立应答;接收所述网络测速插件发送的调用所述传输层协议生成的网络测速包;调用所述传输层协议生成与所述网络测速包对应的测速应答包;将所述测速应答包发送至所述网络测速插件。14.根据权利要求13所述网络通信质量检测方法,其特征在于,调用所述传输层协议生成的数据包包括数据区域,所述调用所述传输层协议生成与所述网络测速包对应的测速应答包包括:确定所述网络测速包对应的发送次序;从所述测速服务器预先配置的各发送次序对应的应答数据内容中,获取与所述发送次序相应的应答数据内容;调用所述传输层协议,在所述传输层协议的数据包的数据区域中,填充所述应答数据内容,以生成当前需发送的所述应答测速包。15.根据权利要求14所述网络通信质量检测方法,其特征在于,预先配置的每一所述应答数据内容包括:所述应答数据内容对应的发送次序,及用于标识所述应用客户端的标识信息。16.根据权利要求13所述网络通信质量检测方法,其特征在于,还包括:接收所述网络测速插件发送的调用传输层协议生成的测速连接终止请求;根据所述应用客户端的通信地址,调用所述传输层协议生成测速连接终止应答;向所述网络测速插件发送测速连接终止应答,并释放与所述网络测速插件建立的测速连接。17.—种网络测速插件,其特征在于,包括:生成建立连接请求模块,用于根据预先配置的测速服务器的通信地址,调用传输层协议生成测速连接建立请求;发送连接请求模块,用于向所述测速服务器发送所述测速连接建立请求;生成测速包模块,用于在与所述测速服务器建立测速连接后,调用所述传输层协议生成网络测速包;发送测速包模块,用于向所述测速服务器发送所述网络测速包;接收应答包模块,用于接收所述测速服务器反馈的调用所述传输层协议生成的测速应答包,以便确定所述应用客户端对应的网络通信质量。18.根据权利要求17所述网络测速插件,其特征在于,所述网络测速插件与应用客户端相关联。19.一种测速服务器,其特征在于,包括:接收连接请求模块,用于接收网络测速插件发送的调用传输层协议生成的测速连接建立请求,所述测速连接建立请求包括与所述网络测速插件相关联的应用客户端的通信地址;生成建立连接应答模块,用于根据所述应用客户端的通信地址,调用所述传输层协议生成测速连接建立应答;发送连接应答模块,用于向所述网络测速插件反馈所述测速连接建立应答;接收测速包模块,用于接收所述网络测速插件发送的调用所述传输层协议生成的网络测速包;生成应答包模块,用于调用所述传输层协议生成与所述网络测速包对应的测速应答包;发送应答包模块,用于将所述测速应答包发送至所述网络测速插件。

百度查询: 腾讯科技(深圳)有限公司 网络通信质量检测方法、测速服务器及网络测速插件

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。