一种网络机制测试方法、装置、终端及存储介质与流程

文档序号:17298698发布日期:2019-04-03 04:41阅读:155来源:国知局
一种网络机制测试方法、装置、终端及存储介质与流程

本发明涉及网络机制测试技术领域,更具体地说,涉及一种网络机制测试方法、装置、终端及存储介质。



背景技术:

通常不同区域的网络环境不同,应用程序为了适用于不同区域的网络环境,往往会针对不同区域设置不同的网络机制,以保证处于不同区域的终端在使用应用程序时均可以得到良好的用户体验。

并且,为了进一步提高用户体验,增加用户对应用程序的粘性,应用程序中的网络机制也在不断的进行迭代更新。现有技术是通过在本地搭建非本地区域的路由器wifi环境,由终端连接到路由器wifi环境,并运行终端中的应用程序的方式,实现的对终端中应用程序携带的对应非本地区域的网络机制的测试。

然而,虽然现有技术可以实现对网络机制的测试。但是,却通常存在路由器wifi环境搭建成本高,路由器wifi环境的稳定性容易受到电磁辐射和障碍物的影响所导致的网络机制测试结果不准确的问题。



技术实现要素:

有鉴于此,为解决上述问题,本发明提供一种网络机制测试方法、装置、终端及存储介质。技术方案如下:

一种网络机制测试方法,包括:

启动处于第一网络的第一终端中的目标应用程序,所述第一终端中的目标应用程序携带第一网络机制;

获取至少一个第一网络数据,所述第一网络数据为第二终端中携带第二网络机制的目标应用程序在进行单局应用时的真实网络数据,所述第二终端处于不同于所述第一网络的第二网络;

针对每个所述第一网络数据,基于所述第一网络数据和所述第一终端的真实网络数据,模拟所述第一终端处于所述第二网络时所述第一终端中的目标应用程序的单局应用过程,得到第二网络数据,所述第二网络数据为所述单局应用过程中所述第一终端的真实网络数据;

分析所述第二网络数据,得到所述第一网络机制的测试结果。

一种网络机制测试装置,包括:

启动触发单元,用于启动处于第一网络的第一终端中的目标应用程序,所述第一终端中的目标应用程序携带第一网络机制;

第一网络数据获取单元,用于获取至少一个第一网络数据,所述第一网络数据为第二终端中携带第二网络机制的目标应用程序在进行单局应用时的真实网络数据,所述第二终端处于不同于所述第一网络的第二网络;

模拟单元,用于针对每个所述第一网络数据,基于所述第一网络数据和所述第一终端的真实网络数据,模拟所述第一终端处于所述第二网络时所述第一终端中的目标应用程序的单局应用过程,得到第二网络数据,所述第二网络数据为所述单局应用过程中所述第一终端的真实网络数据;

测试结果生成单元,用于分析所述第二网络数据,得到所述第一网络机制的测试结果。

一种终端,包括:处理器以及存储器,所述处理器以及存储器通过通信总线相连;其中,所述处理器,用于调用并执行所述存储器中存储的程序;所述存储器,用于存储程序,所述程序用于实现所述网络机制测试方法。

一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行所述网络机制测试方法。

本申请提供一种网络机制测试方法、装置、终端及存储介质,该方法应用于处于第一网络的第一终端,通过获取处于第二网络的第二终端中的目标应用程序(该目标应用程序携带第二网络机制)在进行单局应用时的真实网络数据(暂称为第一网络数据);并利用第一网络数据和第一终端的真实网络数据,模拟第一终端处于第二网络时第一终端上的目标应用程序(该目标应用程序携带第一网络机制)的单局应用过程,进而获得该单局应用过程中第一终端的真实网络数据(暂称为第二网络数据),以便于通过对第二网络数据的分析得到第一终端上的目标应用程序携带的网络机制的测试结果。本申请可以在不搭建路由器wifi环境的基础上,实现对网络机制的测试,因此,降低了网络机制测试成本、提高了网络机制测试结果的准确性。

附图说明

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

图1(a)为本申请实施例提供的一种网络机制测试方法应用场景示意图;

图1(b)为本申请实施例提供的一种网络机制测试方法中数据准备过程的应用场景示意图;

图1(c)为本申请实施例提供的一种网络机制测试方法的网络机制测试过程的应用场景示意图;

图2为本申请实施例提供的一种网络机制测试方法所适用的终端的一种组成结构示意图;

图3为本申请实施例提供的一种网络机制测试方法流程图;

图4为本申请实施例提供的一种基于第一网络数据和第一终端的真实网络数据,模拟第一终端处于第二网络时第一终端中的目标应用程序的单局应用过程,得到第二网络数据方法流程图;

图5为本申请实施例提供的一种基于第一网络数据和第一终端当前的真实网络数据计算目标网络数据的方法流程图;

图6(a)为处于第二网络的第二终端的与处于第二网络的游戏服务器的信息交互示意图;

图6(b)为处于第一网络的第一终端与处于第一网络的游戏服务器的信息交互示意图;

图7为本申请实施例提供的一种检测待收发数据是否满足目标网络数据指示的收发条件的方法流程图;

图8为本申请实施例提供的一种网络机制测试装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例:

若第一区域为本地区域,第二区域为非本地区域(非本地区域比如海外国家、国内其他省份等等;因第一区域和第二区域网络环境的不同,针对同一目标应用程序而言,该目标应用程序对第一区域所设置的网络机制和该目标应用程序对第二区域所设置的网络机制可能不同。

并且,为了进一步提高用户对目标应用程序的体验,增加用户对目标应用程序的粘性,针对每个区域而言,需要对目标应用程序对该区域所设置的网络机制进行迭代更新。

以一海外国家为例,若当前该海外国家中的终端中安装的目标应用程序中携带的是旧版本网络机制,开发人员对该旧版本网络机制进行更新得到新版本网络机制后,需要确定携带该新版本网络机制的目标应用程序在该海外国家可以得到更好的用户体验后,才会将该新版本网络机制发布于该海外国家的目标应用程序中。相应的,本申请实施例提供的一种网络机制测试方法便可以实现对新版本网络机制的测试,以确定在该海外国家是否应用携带新版本网络机制的目标应用程序相比于应用携带旧版本网络机制的目标应用程序可以得到更好的用户体验。

参见图1(a)为本申请实施例提供的一种网络机制测试方法的应用场景示意图。本申请实施例提供的网络机制测试方法由两个过程构成,分别为数据准备过程和网络机制测试过程;其中,根据数据准备过程得到数据收集结果,基于数据准备过程得到的数据收集结果可以实现网络机制测试过程。

仍以上述海外国家为例,数据准备过程是指:针对处于海外国家的终端中的目标应用程序(该目标应用程序携带的是旧版本网络机制)进行的每一次单局应用,收集此次单局应用时该终端的真实网络数据,收集到的此次单局应用时该终端的真实网络数据便可以认为是一个第一网络数据。

以目标应用程序为游戏应用程序为例,海外国家可能存在多个真实玩家通过其终端下载携带旧版本网络机制的游戏应用程序,真实玩家通过其终端中的游戏应用程序进行单局对战,针对每次单局对战,都可以收集该单局对战过程中终端的真实网络数据,并将收集到的此次单局对战过程中终端的真实网络数据作为一个第一网络数据。由此,通过数据准备过程可以针对该海外国家的每个真实玩家,收集到该真实玩家使用终端进行的每次单局对战的第一网络数据。为了便于理解可以将收集到的该海外国家的所有的第一网络数据看成是针对该海外国家的数据收集结果。

相应的,开发人员对应用于该海外国家的目标应用程序的旧版本网络机制进行更新后,需要基于上述数据收集结果,确定该新版本网络机制相比于旧版本网络机制而言,是否可以为海外国家的真实玩家带来更好的游戏体验。即,在得到上述数据收集结果后,需要基于上述数据收集结果执行网络机制测试过程,以得到新版本网络机制的测试结果,该测试结果表征新版本网络机制是否优于旧版本网络机制。

若基于网络机制测试过程确定新版本网络机制优于旧版本网络机制时,可以对当前在海外国家发布的携带旧版本网络机制的目标应用程序进行更新,以将携带新版本网络机制的目标应用程序发布在该海外国家,这样可以当海外国家的终端在进行目标应用程序下载时,使得其所下载的是携带新版本网络机制的目标应用程序;或者,提醒海外国家的终端将其当前携带旧版本网络机制的目标应用程序更新为携带新版本网络机制的目标应用程序。相应的,海外国家的终端使得携带新版本网络机制的目标应用程序进行单局应用时,可以得到更好的体验。

进一步的,为了便于对本申请实施例提供的网络机制测试方法的理解,现对本申请实施例提供的网络机制测试方法中的数据准备过程和网络机制测试过程分别进行详细说明。具体请参见图1(b)-图1(c)。

如图1(b)所示,为本申请实施例提供的数据准备过程的应用场景示意图。

本申请实施例提供的数据准备过程应用于处于第二网络的第二终端,第二终端中安装有目标应用程序,该目标应用程序携带第二网络机制。以上述海外国家为例,第二网络可以为该海外国家的网络,第二终端可以为处于该海外国家的终端,第二终端中安装有目标应用程序,该目标应用程序中携带的是旧版本网络机制。

在第二终端的持有者通过第二终端上的目标应用程序进行单局应用时,会收集此次单局应用时第二终端的真实网络数据,并将收到的该真实网络数据看成是一个第一网络数据。

作为本申请实施例的一种实现方式,可以在第二终端的持有者通过第二终端上的目标应用程序进行单局应用时,在多个不同的采集时间点采集第二终端的真实网络数据,进而将此次单局应用时在每个采集时间点采集到的第二终端的真实网络数据的集合看成是对应此次单局应用的第一网络数据。

针对一次单局应用,可以从此次单局应用开始每隔一定的时间间隔采集一次第二终端的真实网络数据。比如,针对一次单局应用,在单局应用开始时间点确定为一个采集时间点,并在该采集时间点时采集第二终端的真实网络数据;在检测到当前时间距离最近确定的一个采集时间点之间的时间间隔达到预设时间间隔时,可以将当前时间确定为一个采集时间点,并在该采集时间点采集第二终端的真实网络数据。例如,可以在单局应用的总时长为10秒,则可以在此次单局应用的第0秒、第2秒、第4秒、第6秒、第8秒和第10秒分别采集第二终端的真实网络数据,得到第二终端在此次单局应用时的第0秒的真实网络数据1、第二终端在此次单局应用时的第2秒的真实网络数据2、第二终端在此次单局应用时的第4秒的真实网络数据3、第二终端在此次单局应用时的第6秒的真实网络数据4、第二终端在此次单局应用时的第8秒的真实网络数据5和第二终端在此次单局应用时的第10秒的真实网络数据6,其中,真实网络数据1、真实网络数据2、真实网络数据3、真实网络数据4、真实网络数据5和真实网络数据6构成此次单局应用的第一网络数据。

如图1(c)所示,为本申请实施例提供的网络机制测试过程的应用场景示意图。

在本申请实施例中,研发人员对第二网络机制进行更新得到第一网络机制;若对该第一网络机制进行测试,可以不需要去第二网络的真实所在地进行测试,而是可以在不同于第二网络的第一网络处对第一网络机制进行测试。

以上述海外国家为例,第二网络可以为该海外国家的网络,第二终端可以为处于该海外国家的终端,第二终端中安装有目标应用程序,该第二终端中的目标应用程序中携带的是旧版本网络机制;第一网络为非海外国家的网络(比如,本地网络),第一终端中安装有目标应用程序,该第一终端中的目标应用程序携带的是新版本网络机制。

在第一网络中可以设置至少一个第一终端,第一终端可以认为是测试终端,是测试人员为了对新版本网络机制进行测试而在第一网络中设置的终端。

作为本申请实施例的一种实施方式,可以基于处于第一网络中的各个第一终端实现对新版本网络机制的测试目的,该过程可以认为是网络机制测试过程。

该网络机制测试过程可以为:触发第一终端中的携带新版本网络机制的目标应用程序启动;获取至少一个第一网络数据,针对每个第一网络数据,根据该第一网络数据和第一终端的真实网络数据,模拟第一终端处于第二网络时,第一终端中目标应用程序进行的单局应用过程,并在此次单局应用过程中获取该第一终端的真实网络数据,将获取到的真实网络数据作为第二网络数据,以便于分析第二网络数据得到第一网络机制的测试结果。

在本申请实施例中,在单局应用过程中获取第一终端的真实网络数据的方式可以与在数据准备过程中获取第二终端的真实网络数据的方式相同,在此不做赘述。

针对一个第一终端而言,可以获取与该第一终端对应的至少一个第一网络数据(不同的第一终端对应不同的网络数据),针对每个第一网络数据,可以基于该第一网络数据得到第二网络数据;相应的,本申请可以直接通过对第一网络数据表征的网络状态和基于该第一网络数据得到的第二网络数据的网络状态,得到该第一网络机制的测试结果;也可以通过对处于第一网络的各个第一终端的第二网络数据进行统计,并通过分析统计结果得到第一网络机制的测试结果。

在本申请实施例中,真实网络数据包括丢包率、网络延迟和/或网络抖动,真实网络数据通过丢包率、网络延迟和/或网络抖动可以表征网络状态。当第一网络数据表征的网络状态未优于基于该第一网络数据得到的第二网络数据表征的网络状态时,可以认为第一网络机制优于第二网络机制。

在本申请实施例中,真实网络数据还可以包括丢包数、向服务器(此处的服务器为为目标应用程序提供服务支持的服务器,比如在目标应用程序为游戏应用程序时,该服务器可以为游戏服务器)申请重发包次数等等。相应的,可以统计处于第一网络的各个第一终端的第二网络数据的丢包总数、向服务器申请重发包总次数,并将该丢包总数和向服务器申请重发包总次数看成是统计结果,并在统计结果满足一定条件时,认为该第一网络机制优于第二网络机制。

以上仅仅是本申请实施例提供的真实网络数据的优选内容,有关真实网络数据的具体内容发明人可根据自己的需求进行设置,在此不做限定。

并且,以上也仅仅是本申请实施例提供的分析第二网络数据得到第一网络机制的测试结果的优选方式,具体的,发明人也可根据自己的需求设置分析第二网络数据得到第一网络机制的测试结果的具体方式,在此不做限定。

在对本申请实施例提供的一种网络机制测试方法的应用场景进行说明的基础上,现进一步用于执行本申请实施例提供的一种网络机制测试方法的终端进行详细介绍,具体请参见图2。

如图2所示该终端可以包括:处理器201、存储器202、通信接口203、输入单元204和显示器205和通信总线206。

存储器202中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,该存储器中至少存储有用于实现以下功能的程序:

启动处于第一网络的第一终端中的目标应用程序,所述第一终端中的目标应用程序携带第一网络机制;

获取至少一个第一网络数据,所述第一网络数据为第二终端中携带第二网络机制的目标应用程序在进行单局应用时的真实网络数据,所述第二终端处于不同于所述第一网络的第二网络;

针对每个所述第一网络数据,基于所述第一网络数据和所述第一终端的真实网络数据,模拟所述第一终端处于所述第二网络时所述第一终端中的目标应用程序的单局应用过程,得到第二网络数据,所述第二网络数据为所述单局应用过程中所述第一终端的真实网络数据;

分析所述第二网络数据,得到所述第一网络机制的测试结果。

本申请实施例提供的一种网络机制测试方法所适用于的终端可以认为是第一终端。

可选的,程序的细化功能和扩展功能可参照下文描述。

处理模块201、存储器202、通信接口203、输入单元204、显示器205、均通过通信总线206完成相互间的通信。

在本申请实施例中,该处理器201,可以为中央处理器(centralprocessingunit,cpu),特定应用集成电路(application-specificintegratedcircuit,asic),数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件等。

该处理器可以调用并执行存储器202中存储的程序。

该通信接口203可以为通信模块的接口,如gsm模块的接口。

本申请还可以包括输入单元204,该输入单元可以包括感应触摸显示面板上的触摸事件的触摸感应单元、键盘等等。

该显示器205包括显示面板,如触摸显示面板等。在一种可能的情况中,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板。

当然,图2所示的终端结构并不构成对本申请实施例中终端的限定,在实际应用中终端可以包括比图2所示的更多或更少的部件,或者组合某些部件。

下面结合本申请的以上共性,对本申请实施例提供的一种网络机制测试方法进行详细介绍。

参见图3,其示出了本申请一种网络机制测试方法一个实施例的流程示意图,该方法包括:

s301、启动处于第一网络的第一终端中的目标应用程序,第一终端中的目标应用程序携带第一网络机制;

作为本申请的一种优选实施例,可以在第一终端中设置目标应用程序基础上,在第一终端中设置辅助应用程序,可以启动第一终端中的辅助应用程序,相应的,第一终端中辅助应用程序启动后,辅助应用程序会触发启动第一终端中的目标应用程序。

在本申请实施例中,可以通过服务器启动第一终端中的辅助应用程序,该服务器可以是与辅助应用程序对应的用于为终端上的辅助应用程序提供服务支持的服务器。

s302、获取至少一个第一网络数据,第一网络数据为第二终端中携带第二网络机制的目标应用程序在进行单局应用时的真实网络数据,第二终端处于不同于第一网络的第二网络;

作为本申请的一种实施例,第一终端中的辅助应用程序被启动后,除了可以触发第一终端中的目标应用程序启动,该辅助应用程序还可以从为其提供服务支持的服务器中获取至少一个第一网络数据。

在本申请实施例中,为辅助应用程序提供服务支持的服务器,一次可以触发处于第一网络的至少一个第一终端中的辅助应用程序启动。相应的,针对每个辅助应用程序被启动的第一终端而言,该第一终端中的启动后的辅助应用程序可以从为其提供服务支持的服务器中获取至少一个第一网络数据,且辅助应用程序被启动的该第一终端中的目标应用程序被触发启动。这里需要注意的是:不同的第一终端获取的第一网络数据不同。比如,针对海外国家,收集到该海外国家的6条第一网络数据,这6条第一网络数据中的每条网络数据只能被分配给一个第一终端,而不能将同一条第一网络数据分配给不同的两个第一终端。

s303、针对每个第一网络数据,基于第一网络数据和第一终端的真实网络数据,模拟第一终端处于第二网络时第一终端中的目标应用程序的单局应用过程,得到第二网络数据,第二网络数据为单局应用过程中第一终端的真实网络数据;

在本申请实施例中,触发第一终端中辅助应用程序启动后,第一终端中辅助应用程序除了可以获取至少一个第一网络数据、触发第一终端中目标应用程序启动,还会触发该第一终端中的自动化单局应用脚本解压运行,其中,自动化单局应用脚本解压运行可以在目标应用程序中自动模拟单局应用过程。以目标应用程序为游戏应用程序为例,自动化单局应用脚本可以为自动化单局对战脚本,游戏应用程序启动后可以提供游戏环境,运行自动化单局对战脚本可以自动在游戏应用程序提供的游戏环境中模拟单局对战过程。

进一步的,运行自动化单局对战脚本可以自动在游戏应用程序提供的游戏环境中反复模拟单局对战过程。比如,运行自动化单局对战脚本可以实现自动地不停的重复组队、匹配、战斗的过程。即,完成一次组队、匹配、战斗过程后,自动进行下一次组队、匹配、战斗的过程(即完成一次单局对战过程后,自动进入下一次单局对战过程)。

在本申请实施例中,触发第一终端中辅助应用程序启动后,第一终端中辅助应用程序除了可以获取至少一个第一网络数据、触发第一终端中目标应用程序启动,触发该第一终端中的自动化单局应用脚本解压运行以外,还会触发核心模拟代码解压运行,该核心模拟代码解压运行可以达到hook第一终端中的目标应用程序的收发函数,以及建立网络缓冲层函数的目的。

以目标应用程序为游戏应用程序为例,第一终端上设置有游戏应用程序的游戏客户端,核心模拟代码的运行可以达到hook第一终端上的游戏客户端中的收发函数、并建立网络缓冲层函数的目的。

其中,运行核心模拟代码从游戏客户端中找到收发函数(如收函数为“send函数”,发函数为“receive函数”),然后通过hook技术hook收发函数,并建立网络缓冲层函数,以便于基于自动化单局对战脚本在第一终端模拟单局战斗时,若运行到收发函数,可以先把收发函数的内存地址和待收发数据暂时保存起来,把建立的网络缓冲层函数的的内存地址赋值给寄存器,以便于先运行网络缓冲层函数,在网络缓冲层函数运行完毕后,再把收发函数的内存地址和待收发数据赋值到寄存器,以继续收发函数的接下来的操作。

游戏客户端中可能存在收函数,也可能存在发函数,也可能同时存在收函数和发函数;运行核心模拟代码,针对游戏客户端中的每个收函数均通过hook技术hook该收函数,且针对游戏客户端中的每个发函数也均通过hook技术hook该发函数;并且,还需要建立一个网络缓冲层函数,以便于基于自动化单局对战脚本在第一终端模拟单局战斗时,若运行到收函数,可以先把收函数的内存地址和待收数据暂时保存起来,把建立的网络缓冲层函数的内存地址赋值给寄存器,以便于先运行网络缓冲层函数,在网络缓冲层函数运行完毕后,再把收函数的内存地址和待收数据赋值到寄存器,以继续收函数的接下来的操作;若运行到发函数,可以先把发函数的内存地址和待发数据暂时保存起来,把建立的网络缓冲层函数的内存地址赋值给寄存器,以便于先运行网络缓冲层函数,在网络缓冲层函数运行完毕后,再把发函数的内存地址和待发数据赋值到寄存器,以继续发函数的接下来的操作。

在本申请实施例中,模拟单局应用过程中,运行到收发函数(收发函数用于对待收发数据进行收发操作)时,先不对待收发函数进行收发操作,而是先运行网络缓冲层函数,该网络缓冲层函数的运行目的是:基于此次模拟单局应用过程所使用的第一网络数据和第一终端的真实网络数据计算目标网络数据,并判断待收发函数是否满足目标网络数据指示的收发条件,若是,返回待收发函数对待收发数据执行收发操作。

针对一个第一终端,可以获取与该第一终端对应的至少一个第一网络数据。该第一终端触发自动化单局对战脚本运行后,针对每次模拟的单局对战过程可以使用一个与该第一终端对应的一个第一网络数据,以得到与该第一网络数据对应的第二网络数据。

s304、分析第二网络数据,得到第一网络机制的测试结果。

在本申请实施例中,可以从微观上分析第二网络数据,得到第一网络机制的测试结果,比如,针对一个第一网络数据,得到一个第二网络数据后,分析该第一网络数据表征的网络状态和该第二网络数据表征的网络状态,得到第一网络机制的测试结果。

在本申请实施例中,还可以从宏观上分析第二网络数据,可以对处于第一网络的多个第一终端得到的各个第二网络数据进行统计,得到统计结果,并通过对统计结果的分析得到第一网络机制的测试结果。

为了便于对本申请实施例提供的一种网络机制测试方法的理解,现对本申请实施例提供的一种网络机制测试方法中的一种基于第一网络数据和第一终端的真实网络数据,模拟第一终端处于第二网络时第一终端中的目标应用程序的单局应用过程,得到第二网络数据方法进行详细说明。

图4为本申请实施例提供的一种基于第一网络数据和第一终端的真实网络数据,模拟第一终端处于第二网络时第一终端中的目标应用程序的单局应用过程,得到第二网络数据方法流程图。

如图4所示,该方法包括:

s401、启动运行自动化单局应用脚本,在目标应用程序中模拟单局应用过程;

s402、检测单局应用过程中,是否存在待收发数据;若单局应用过程中存在待收发数据,执行步骤s403;

s403、基于第一网络数据和第一终端当前的真实网络数据计算目标网络数据;

s404、检测待收发数据是否满足目标网络数据指示的收发条件;若待收发数据满足目标网络数据指示的收发条件,执行步骤s405;

s405、对待收发数据执行收发操作。

在本申请实施例中,步骤s403-s404可以由网络缓冲层函数实现,网络缓冲层函数在检测到待收发数据满足目标网络数据指示的收发条件时,可以将待收发数据对应的收发函数的内存地址和待收发数据赋值到寄存器,以继续执行待收发数据对应的收发函数接下来的操作,进而实现对待收发数据的收发操作。

在本申请实施例中,第一网络数据包括第二终端中目标应用程序进行单局应用时,在多个不同的采集时间点采集到的第二终端的真实网络数据。针对第二终端中目标应用程序进行的每次单局应用,可以此次单局应用的起始时间看成是0点,这样,针对此次单局应用中的每个采集时间点而言,可以将该采集时间点认为是此次单局应用当前运行时长。比如,在一次单局应用的总时长是10秒,在此次单局应用中的采集时间点依次为0秒(说明此次单局应用当前刚开始运行)、2秒(说明此次单局应用当前运行到第2秒)、4秒(说明此次单局应用当前运行到第4秒)、6秒(说明此次单局应用当前运行到第6秒)、8秒(说明此次单局应用当前运行到第8秒)和10秒(说明此次单局应用当前运行到第10秒)。

参见图5为本申请实施例提供的一种基于第一网络数据和第一终端当前的真实网络数据计算目标网络数据的方法流程图。

如图5所示,该方法包括:

s501、获取当前时间第一终端的第一真实网络数据;

在本申请实施例中,针对第二终端中目标应用程序进行的每次单局应用,可以此次单局应用的起始时间看成是0点;相应的,第一终端每次模拟单局应用过程的起始时间也可以看成是0点。

s502、从第一网络数据中获取与当前时间匹配的采集时间点采集到的第二终端的第二真实网络数据;

若检测到单局应用过程中,存在待收发数据时,需要ping当前时间第一终端的真实网络数据(为了便于区分,暂将此真实网络数据称为第一网络数据);还需要从第一网络数据中获取与当前时间匹配的采集时间点(为了便于区分可以将该采集时间点暂称为目标采集时间点),并获取该第一网络数据中在该目标采集时间点采集到的第二终端的真实网络数据(为了便于区分,可以暂将该真实网络数据称为第二网络数据)。

在本申请实施例中,从第一网络数据中获取与当前时间匹配的目标采集时间点的方式可以为:从第一网络数据中的各个采集时间点中,获取小于当前时间且距离当前时间之间的时间间隔最小的采集时间点,将获取到的采集时间点作为目标采集时间点。

s503、基于第一真实网络数据和第二真实网络数据,计算目标网络数据。

在本申请实施例中,待收发数据可以是收函数的待收数据,也可以是发函数的待发数据。

在本申请实施例中,基于第一真实网络数据和第二真实网络数据,计算目标网络数据,包括:获取第一真实网络数据指示的第一丢包率以及第二真实网络数据指示的第二丢包率;基于预设丢包率算法,利用第一丢包率和第二丢包率计算目标丢包率。

以第二真实网络数据指示第二丢包率用a表示,第一真实网络数据指示的第一丢包率用b表示,目标丢包率用c表示进行说明。本申请实施例提供的预设丢包率算法为c=(a-b)/(1-b)。比如,第一真实网络数据指示的第一丢包率为10%,第二真实网络数据指示的第二丢包率为20%,则目标丢包率=(20%-10%)/(1-10%)=11%。

进一步的,在本申请实施例中,基于第一真实网络数据和第二真实网络数据,计算目标网络数据,还包括:分别获取第一真实网络数据指示的延迟信息和第二真实网络数据指示的延迟信息;根据第一真实网络数据指示的延迟信息和第二真实网络数据指示的延迟信息,计算目标延迟;延迟信息包括网络延迟和/或网络抖动。

在第一真实网络数据不仅指示有第一丢包率还指示有延迟信息,第二真实网络数据不仅指示有第二丢包率还指示有延迟信息时,可以分别获取第一真实网络数据指示的延迟信息和第二真实网络数据指示的延迟信息,并根据第一真实网络数据指示的延迟信息和第二真实网络数据指示的延迟信息计算目标延迟。

将第一真实网络数据指示的网络延迟用d表示,将第二真实网络数据指示的网络延迟用e表示,将第一真实网络数据指示的网络抖动用f表示,将第二真实网络数据指示的网络抖动用g表示;则当延迟信息指示网络延迟时,目标延迟=e-d,当延迟信息指示网络抖动时,目标延迟=g-f;当延迟信息指示网络延迟和网络抖动时,目标延迟=(e-d)+(g-f)。

在本申请实施例中,基于第一真实网络数据和第二真实网络数据,计算目标网络数据的目的在于:模拟第一终端处于第二网络时第一终端中的目标应用程序的单局应用过程,以便于得到第二网络数据。

现以目标应用程序为游戏应用程序,第一终端中安装有游戏客户端,游戏客户端携带第一网络机制,第一终端中的游戏客户端通过与游戏服务器的交互实现在游戏应用程序中进行单局对战的目的,且目标网络数据包括网络延迟为例,对基于第一真实网络数据和第二真实网络数据,模拟处于第二网络时第一终端中目标应用程序的单局应用过程的原理进行说明,详见图6(a)-图6(b),图6(a)为处于第二网络的第二终端的与处于第二网络的游戏服务器的信息交互示意图;图6(b)为处于第一网络的第一终端与处于第一网络的游戏服务器的信息交互示意图。

参见图6(a)处于第二网络的第二终端中的游戏客户端与处于第二网络的游戏服务器进行信息交互时,网络延迟为m。

参见图6(b)处于第一网络的第一终端中的游戏客户端与处于第一网络的游戏服务器进行信息交互时,第一终端的真实网络延迟为n;第一终端的游戏客户端的收发函数对应的网络缓冲层函数的网络延迟为q,通过设置q=m-n,可以保证第一终端的游戏客户端收发函数对应的网络缓冲层函数的网络延迟q和第一终端的真实网络延迟n的和,为处于第二网络的第二终端中的游戏客户端与处于第二网络的游戏服务器进行信息交互时的网络延迟m;这样,才能达到模拟第一终端处于第二网络时第一终端中目标应用程序的单局应用过程的目的。

在本申请实施例中,若目标网络数据包括目标丢包率和目标延迟时,检测待收发数据是否满足目标网络数据指示的收发条件的方法请参见图7。

如图7所示,该方法包括:

s701、根据目标丢包率确定是否丢弃待收发数据;若根据目标丢包率确定不丢弃待收发数据,则执行步骤s702;

在本申请实施例中,可以随机生成1~100之间的任意一个数值;将目标丢包率乘以100的结果作为目标数值;比较随机生成的数值是否小于目标数据,若是,确定丢弃待收发数据;若否,确定不丢弃待收发数据。

以上仅仅是本申请实施例提供的根据目标丢包率确定是否丢弃待收发数据的优选方式,有关根据目标丢包率确定是否丢弃待收发数据的具体方式,发明人可根据自己的需求进行设置,在此不作限定。

s702、确定检测到单局应用过程中存在待收发数据的初始时间;

s703、判断当前时间距离初始时间之间的时间间隔是否达到目标延迟指示的时长;若当前时间距离初始时间之间的时间间隔达到目标延迟指示的时长,则执行步骤s704;

比如,目标延迟为5秒时,可以判断当前距离最初检测到单局应用过程中存在待收发数据之间的时间间隔是否达到5秒,若是,则执行步骤s704。

s704、确定待收发数据满足目标网络数据指示的收发条件。

图8为本申请实施例提供的一种网络机制测试装置的结构示意图。如图8所示,该装置包括:

启动触发单元81,用于触发处于第一网络的第一终端中的目标应用程序启动,第一终端中的目标应用程序携带第一网络机制;

第一网络数据获取单元82,用于获取至少一个第一网络数据,第一网络数据为第二终端中携带第二网络机制的目标应用程序在进行单局应用时的真实网络数据,第二终端处于不同于第一网络的第二网络;

模拟单元83,用于针对每个第一网络数据,基于第一网络数据和第一终端的真实网络数据,模拟第一终端处于第二网络时第一终端中的目标应用程序的单局应用过程,得到第二网络数据,第二网络数据为单局应用过程中第一终端的真实网络数据;

测试结果生成单元84,用于分析第二网络数据,得到第一网络机制的测试结果。

在本申请实施例中,模拟单元包括:

启动单元,用于启动运行自动化单局应用脚本,在目标应用程序中模拟单局应用过程;

待收发数据检测单元,用于检测单局应用过程中,是否存在待收发数据;

目标网络数据生成单元,用于若单局应用过程中存在待收发数据,基于第一网络数据和第一终端当前的真实网络数据计算目标网络数据;

目标网络数据检测单元,用于检测待收发数据是否满足目标网络数据指示的收发条件;

执行单元,用于若待收发数据满足目标网络数据指示的收发条件,对待收发数据执行收发操作。

在本申请实施例中,第一网络数据包括第二终端中的目标应用程序进行单局应用时,在多个不同的采集时间点采集到的第二终端的真实网络数据,目标网络数据生成单元,包括:

第一真实网络数据获取单元,用于获取当前时间第一终端的第一真实网络数据;

第二真实网络数据获取单元,用于从第一网络数据中获取与当前时间匹配的采集时间点采集到的第二终端的第二真实网络数据;

目标网络数据计算单元,用于基于第一真实网络数据和第二真实网络数据,计算目标网络数据。

在本申请实施例中,目标网络数据计算单元,包括:第一计算单元,用于获取第一真实网络数据指示的第一丢包率以及第二真实网络数据指示的第二丢包率;基于预设丢包率算法,利用第一丢包率和第二丢包率计算目标丢包率。

在本申请实施例中,目标网络数据计算单元,还包括:第二计算单元,用于分别获取第一真实网络数据指示的延迟信息和第二真实网络数据指示的延迟信息;根据第一真实网络数据指示的延迟信息和第二真实网络数据指示的延迟信息,计算目标延迟;延迟信息包括网络延迟和/或网络抖动。

在本申请实施例中,当目标网络数据包括目标丢包率和目标延迟时,目标网络数据检测单元,包括:

第一确定单元,用于根据目标丢包率确定是否丢弃待收发数据;

第二确定单元,用于若根据目标丢包率确定不丢弃待收发数据,确定检测到单局应用过程中存在待收发数据的初始时间;

判断单元,用于判断当前时间距离初始时间之间的时间间隔是否达到目标延迟指示的时长;

第三确定单元,用于若当前时间距离初始时间之间的时间间隔达到目标延迟指示的时长,确定待收发数据满足目标网络数据指示的收发条件。

在本申请实施例中,测试结果生成单元,具体用于:

分析第一网络数据指示的网络状态以及基于第一网络数据得到的第二网络数据指示的网络状态,得到第一网络机制的测试结果;

或者,

统计至少一个第一终端中每个第一终端的各个第二网络数据,得到统计结果,分析统计结果得到第一网络机制的测试结果。

进一步的,本发明实施例还提供一种存储介质,该存储介质用于存储实现网络机制测试方法的程序,该网络机制测试方法可以是上述终端实现的网络机制测试方法。

有关本申请实施例提供的存储介质中存储的程序的详细描述可参照上述实施例,在此不做赘述。

本申请提供一种网络机制测试方法、装置、终端及存储介质,该方法应用于第一终端,通过获取处于第二网络的第二终端中的目标应用程序(该目标应用程序携带第二网络机制)在进行单局应用时的真实网络数据(暂称为第一网络数据);并利用第一网络数据和第一终端的真实网络数据,模拟第一终端处于第二网络时第一终端上的目标应用程序(该目标应用程序携带第一网络机制)的单局应用过程,进而获得该单局应用过程中第一终端的真实网络数据(暂称为第二网络数据),以便于通过对第二网络数据的分析得到第一终端上的目标应用程序携带的网络机制的测试结果。本申请可以在不搭建路由器wifi环境的基础上,实现对网络机制的测试,因此,降低了网络机制测试成本、提高了网络机制测试结果的准确性。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的核心思想或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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