测速方法、装置、存储介质及电子装置与流程

文档序号:21781272发布日期:2020-08-07 20:07阅读:120来源:国知局
测速方法、装置、存储介质及电子装置与流程

本发明涉及计算机领域,具体而言,涉及一种测速方法、装置、存储介质及电子装置。



背景技术:

目前,在游戏加速过程中,通常会选择最优的加速节点对游戏进行最大程度地加速。因此,对加速节点进行测速便成为至关重要的操作步骤。换言之,测速结果将会直接影响加速器客户端对该加速节点的加速效果评判。鉴于市场上主流游戏通常会配置成百上千个加速节点,如果每次对全部加速节点均执行测速,那么势必会耗费大量时间,由此造成用户等待时间过长,从而极大地影响用户的游戏加速体验。不仅如此,伴随着加速节点的数量不断增多,每次对全部加速节点均执行测速的弊端会愈发明显,进而会更加恶化用户的游戏加速体验。由此可见,如何加快对加速节点的测速进程成为亟待解决的技术难题。

相关技术中所提供的加速器通常仅能够从显示层面解决对加速节点的测速问题,例如:在显示界面内,如果对一个加速节点完成测速,则在该显示界面内显示该加速节点,然而,此种操作方式的明显缺陷在于:仍然没有减少对全部加速节点均执行测速的总体耗时。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明至少部分实施例提供了一种测速方法、装置、存储介质及电子装置,以至少解决相关技术中所提供的每次对全部加速节点均执行测速的测试方式总体耗时过长,由此易造成用户等待时间过长,从而极大地影响用户的游戏加速体验的技术问题。

根据本发明其中一实施例,提供了一种测速方法,包括:

在确定加速器客户端程序开始运行之后,启动预设测速线程,其中,预设测速线程用于对待测速游戏关联的加速节点进行测速;在加速器客户端程序的空闲时段内,根据当前待测速游戏生成第一游戏测速任务;基于第一游戏测速任务,向服务器获取与当前待测速游戏关联的加速节点信息;根据加速节点信息,采用预设测速线程进行测速。

可选地,根据当前待测速游戏生成第一游戏测速任务包括:获取待测速游戏列表,其中,待测速游戏列表包括:多个待测速游戏,多个待测速游戏按照在加速器客户端程序中添加顺序在待测速游戏列表中进行排列;按照多个待测速游戏在待测速游戏列表中的排列顺序,从待测速游戏列表中选取当前待测速游戏以确定第一游戏测速任务。

可选地,根据加速节点信息,采用预设测速线程进行测速包括:根据加速节点信息确定与当前待测速游戏关联的多个加速节点;采用预设测速线程分别对多个加速节点中每个加速节点进行测试。

可选地,采用预设测速线程分别对多个加速节点中每个加速节点进行测试包括:采用预设测速线程分别向多个加速节点中每个加速节点发送单个请求数据包,并记录单个请求数据包的发包时刻;采用预设测速线程分别接收多个加速节点中每个加速节点返回的单个响应数据包,并记录单个响应数据包的收包时刻;基于发包时刻和收包时刻计算测速结果。

可选地,采用预设测速线程分别对多个加速节点中每个加速节点进行测试包括:采用预设测速线程分别向多个加速节点中每个加速节点发送多个请求数据包,并记录多个请求数据包中每个请求数据包的发包时刻;采用预设测速线程分别接收多个加速节点中每个加速节点返回的多个响应数据包,并记录多个响应数据包中每个响应数据包的收包时刻;基于每个请求数据包的发包时刻以及对应的响应数据包的收包时刻计算得到多个测速中间值;对多个测速中间值进行均值运算,得到测速结果。

可选地,上述方法还包括:响应于开始测速指令,根据开始测速指令对应的游戏生成第二游戏测速任务;确定第一游戏测速任务处于执行间歇状态,获取第一游戏测速任务已执行完毕的测速结果集合;确定第二游戏测速任务对应的游戏包含在测速结果集合中,从测速结果集合中选取第二游戏测速任务对应的测速结果并反馈测速结果。

可选地,上述方法还包括:响应于开始测速指令,根据开始测速指令对应的游戏生成第二游戏测速任务;确定第一游戏测速任务处于执行间歇状态,获取第一游戏测速任务已执行完毕的测速结果集合;确定第二游戏测速任务对应的游戏未包含在测速结果集合中,执行第二游戏测速任务,得到第二游戏测速任务对应的测速结果并反馈测速结果。

可选地,上述方法还包括:响应于开始测速指令,根据开始测速指令对应的游戏生成第二游戏测速任务;确定第一游戏测速任务处于正在执行状态,以及确定第一游戏测速任务对应的游戏与第二游戏测速任务对应的游戏为相同游戏;在第一游戏测速任务执行完毕之后,获取第一游戏测速任务对应的测速结果并反馈测速结果。

可选地,上述方法还包括:响应于开始测速指令,根据开始测速指令对应的游戏生成第二游戏测速任务;确定第一游戏测速任务处于正在执行状态,以及确定第一游戏测速任务对应的游戏与第二游戏测速任务对应的游戏为不同游戏;暂停第一游戏测速任务,执行第二游戏测速任务,并在第二游戏测速任务执行完毕之后,获取第二游戏测速任务对应的测速结果并反馈测速结果。

可选地,在根据加速节点信息,采用预设测速线程进行测速之后,还包括:判断待测速游戏列表中的多个待测速游戏是否均已测速完毕,如果否,则按照待测速游戏列表中的排列顺序依次进行测速,直至多个待测速游戏均测速完毕;如果是,则在第一预设时长内停止进行测速。

可选地,上述方法还包括:在经过第二预设时长之后,获取更新后的待测速游戏列表,并按照更新后的待测速游戏列表中每个待测速游戏的最新排列顺序,重新进行测速。

可选地,上述方法还包括:响应于当前接收到的停止测速指令,中断对第一游戏测速任务进行测速,并退出预设测速线程。

根据本发明其中一实施例,还提供了一种测速装置,包括:

启动模块,用于在确定加速器客户端程序开始运行之后,启动预设测速线程,其中,预设测速线程用于对待测速游戏关联的加速节点进行测速;第一获取模块,用于在加速器客户端程序的空闲时段内,根据当前待测速游戏生成第一游戏测速任务;第二获取模块,用于基于第一游戏测速任务,向服务器获取与当前待测速游戏关联的加速节点信息;测速模块,用于根据加速节点信息,采用预设测速线程进行测速。

可选地,第一获取模块包括:获取单元,用于获取待测速游戏列表,其中,待测速游戏列表包括:多个待测速游戏,多个待测速游戏按照在加速器客户端程序中添加顺序在待测速游戏列表中进行排列;第一确定单元,用于按照多个待测速游戏在待测速游戏列表中的排列顺序,从待测速游戏列表中选取当前待测速游戏以确定第一游戏测速任务。

可选地,测速模块包括:第二确定单元,用于根据加速节点信息确定与当前待测速游戏关联的多个加速节点;测速单元,用于采用预设测速线程分别对多个加速节点中每个加速节点进行测试。

可选地,测速单元,用于采用预设测速线程分别向多个加速节点中每个加速节点发送单个请求数据包,并记录单个请求数据包的发包时刻;采用预设测速线程分别接收多个加速节点中每个加速节点返回的单个响应数据包,并记录单个响应数据包的收包时刻;以及基于发包时刻和收包时刻计算测速结果。

可选地,测速单元,用于采用预设测速线程分别向多个加速节点中每个加速节点发送多个请求数据包,并记录多个请求数据包中每个请求数据包的发包时刻;采用预设测速线程分别接收多个加速节点中每个加速节点返回的多个响应数据包,并记录多个响应数据包中每个响应数据包的收包时刻;基于每个请求数据包的发包时刻以及对应的响应数据包的收包时刻计算得到多个测速中间值;以及对多个测速中间值进行均值运算,得到测速结果。

可选地,上述装置还包括:第三获取模块,用于响应于开始测速指令,根据开始测速指令对应的游戏生成第二游戏测速任务;第一处理模块,用于确定第一游戏测速任务处于执行间歇状态,获取第一游戏测速任务已执行完毕的测速结果集合;确定第二游戏测速任务对应的游戏包含在测速结果集合中,从测速结果集合中选取第二游戏测速任务对应的测速结果并反馈测速结果。

可选地,第一处理模块,还用于确定第一游戏测速任务处于执行间歇状态,获取第一游戏测速任务已执行完毕的测速结果集合;确定第二游戏测速任务对应的游戏未包含在测速结果集合中,执行第二游戏测速任务,得到第二游戏测速任务对应的测速结果并反馈测速结果。

可选地,第一处理模块,还用于确定第一游戏测速任务处于正在执行状态,以及确定第一游戏测速任务对应的游戏与第二游戏测速任务对应的游戏为相同游戏;在第一游戏测速任务执行完毕之后,获取第一游戏测速任务对应的测速结果并反馈测速结果。

可选地,第一处理模块,还用于确定第一游戏测速任务处于正在执行状态,以及确定第一游戏测速任务对应的游戏与第二游戏测速任务对应的游戏为不同游戏;暂停第一游戏测速任务,执行第二游戏测速任务,并在第二游戏测速任务执行完毕之后,获取第二游戏测速任务对应的测速结果并反馈测速结果。

可选地,上述装置还包括:第二处理模块,用于判断待测速游戏列表中的多个待测速游戏是否均已测速完毕,如果否,则按照待测速游戏列表中的排列顺序依次进行测速,直至多个待测速游戏均测速完毕;如果是,则在第一预设时长内停止进行测速。

可选地,上述装置还包括:第三处理模块,用于在经过第二预设时长之后,获取更新后的待测速游戏列表,并按照更新后的待测速游戏列表中每个待测速游戏的最新排列顺序,重新进行测速。

可选地,上述装置还包括:第四处理模块,用于响应于当前接收到的停止测速指令,中断对第一游戏测速任务进行测速,并退出预设测速线程。

根据本发明其中一实施例,还提供了一种存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述测速方法。

根据本发明其中一实施例,还提供了一种处理器,处理器用于运行程序,其中,程序被设置为运行时执行上述测速方法。

根据本发明其中一实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述测速方法。

在本发明至少部分实施例中,采用在确定加速器客户端程序开始运行之后,启动预设测速线程,该预设测速线程用于对待测速游戏关联的加速节点进行测速的方式,通过在加速器客户端程序的空闲时段内根据当前待测速游戏生成第一游戏测速任务,基于第一游戏测速任务向服务器获取与当前待测速游戏关联的加速节点信息,以及根据加速节点信息采用预设测速线程进行测速,达到了显著降低用户在加速游戏过程中用于对加速节点进行测速所耗费时长的目的,从而实现了减少在用户加速游戏前的准备时长、最快地为用户查找到最优加速节点、提升用户使用加速器的加速体验的技术效果,进而解决了相关技术中所提供的每次对全部加速节点均执行测速的测试方式总体耗时过长,由此易造成用户等待时间过长,从而极大地影响用户的游戏加速体验的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明其中一实施例的测速方法的流程图;

图2是根据本发明其中一可选实施例的加速器客户端程序界面的示意图;

图3是根据本发明其中一可选实施例的测速方法的流程图;

图4是根据本发明其中一实施例的测速装置的结构框图;

图5是根据本发明其中一可选实施例的测速装置的结构框图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本发明至少部分实施例进行描述的过程中出现的部分名词或术语适用于如下解释:

(1)互联网协议(ip)地址是一种由ip协议提供的统一地址格式,其为互联网上每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

(2)加速节点,又被称为节点服务器,在访问目标游戏服务器时,用户希望上传至目标游戏服务器的网络数据需要通过加速节点进行转发,从而完成加速效果。

(3)网络延迟是指不同类型网络数据在网络介质中通过网络协议进行传输的过程中,如果传输的网络数据量过大而不加以限制,那么超额传输的网络数据便会导致设备反应缓慢,从而造成网络延迟。

(4)ping值是检查用户设备与加速节点之间网络延时的重要指标,ping值越小表示当前网络状况越好。

(5)internet控制报文协议(internetcontrolmessageprotocol,简称为icmp)是传输控制协议(tcp)/ip协议族的一个子协议,用于在ip主机与路由器之间传递控制消息。该控制消息通常包括:网络是否通畅、主机是否可达、路由是否可用等网络自身的消息。

(6)空闲时段是指在加速器客户端程序开始运行之后处于空闲状态的分段时长。加速器客户端程序每当接收到加速控制指令时,便会进入工作状态以执行游戏加速任务,而在空闲状态下无需执行游戏加速任务。

根据本发明其中一实施例,提供了一种测速方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

该方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,移动终端可以是智能手机(如android手机、ios手机等)、平板电脑、掌声电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。移动终端可以包括一个或多个处理器(处理器可以包括但不限于中央处理器(cpu)、图形处理器(gpu)、数字信号处理(dsp)芯片、微处理器(mcu)、可编程逻辑器件(fpga)、神经网络处理器(npu)、张量处理器(tpu)、人工智能(ai)类型处理器等的处理装置)和用于存储数据的存储器。可选地,上述移动终端还可以包括用于通信功能的传输设备、输入输出设备以及显示设备。本领域普通技术人员可以理解,上述结构描述仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。

存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的测速方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的测速方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输设备用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

显示设备可以例如触摸屏式的液晶显示器(lcd)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(gui),用户可以通过触摸触敏表面上的手指接触和/或手势来与gui进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。

在本实施例中提供了一种运行于上述移动终端的测速方法,图1是根据本发明其中一实施例的测速方法的流程图,如图1所示,该流程包括如下步骤:

步骤s10,在确定加速器客户端程序开始运行之后,启动预设测速线程,其中,预设测速线程用于对待测速游戏关联的加速节点进行测速;

步骤s11,在加速器客户端程序的空闲时段内,根据当前待测速游戏生成第一游戏测速任务;

步骤s12,基于第一游戏测速任务,向服务器获取与当前待测速游戏关联的加速节点信息;

步骤s13,根据加速节点信息,采用预设测速线程进行测速。

通过上述步骤,可以采用在确定加速器客户端程序开始运行之后,启动预设测速线程,该预设测速线程用于对待测速游戏关联的加速节点进行测速的方式,通过在加速器客户端程序的空闲时段内根据当前待测速游戏生成第一游戏测速任务,基于第一游戏测速任务向服务器获取与当前待测速游戏关联的加速节点信息,以及根据加速节点信息采用预设测速线程进行测速,达到了显著降低用户在加速游戏过程中用于对加速节点进行测速所耗费时长的目的,从而实现了减少在用户加速游戏前的准备时长、最快地为用户查找到最优加速节点、提升用户使用加速器的加速体验的技术效果,进而解决了相关技术中所提供的每次对全部加速节点均执行测速的测试方式总体耗时过长,由此易造成用户等待时间过长,从而极大地影响用户的游戏加速体验的技术问题。

可选地,上述步骤的执行主体可以为移动终端、计算机终端等电子设备,但不限于此。

经过分析用户使用加速器的行为可以发现,用户在开启加速器客户端程序之后,通常存在如下两个常规操作:

操作一、在启动运行加速器客户端程序之后,保持加速器客户端程序一直处于挂机状态;

例如:加速器客户端程序被设置为开机自动启动程序,或者,用户在前一次使用加速器客户端程序进行加速操作之后,虽然停止使用加速功能,但是却并没有停止运行加速器客户端程序。

操作二、在对一款游戏加速完毕之后,对加速器客户端程序进行最小化处理,然后执行其他正常游戏操作。

由此可见,加速器客户端程序存在大量空闲时段可以被加以利用。即,可以充分利用空闲时段对加速节点进行测速。

用户在双击加速器客户端程序图标之后,在图形用户界面内会出现加速器客户端程序界面。加速器客户端程序在启动完毕之后,会在操作系统后台启动一个预设测速线程异步来执行加速节点的测速。

上述服务器既可以是多个加速节点中的任一节点,也可以是独立于全部加速节点之外的单独服务器。该服务器负责配置每个待测速游戏关联的加速节点信息,其中,加速节点信息可以包括但不限于:

(1)加速节点属性信息,用于描述加速节点的属性信息,例如:加速节点当前所在地区,加速节点的运营商等属性信息。

(2)加速节点标识(id)信息,用于表示每个加速节点的唯一性,以便与其他加速节点相区分。

(3)加速节点地址信息,用于连接加速节点的ip地址。

(4)加速节点端口信息,用于连接加速节点的端口号。

(5)加速节点所采用的加速模式信息,用于记录每个加速节点当前所采用的加速模式。例如:路由加速模式、代理加速模式。

加速器客户端程序在执行游戏加速操作之前,会向服务器发送加速节点获取请求,例如:超文本传输协议(http)请求,以便向服务器请求与当前待测速游戏关联的加速节点相关的配置信息。服务器在接收到加速器客户端程序发送的加速节点获取请求之后,可以将预先配置完毕的加速节点信息发送至加速器客户端程序。该加速节点信息既可以采用服务器单方预先设定的格式,也可以采用服务器与加速器客户端程序双方预先约定的格式,例如:服务器采用json格式将加速节点信息发送至加速器客户端程序,其示例性内容如下:

可选地,在步骤s11中,获取第一游戏测速任务可以包括以下执行步骤:

步骤s111,获取待测速游戏列表,其中,待测速游戏列表包括:多个待测速游戏,多个待测速游戏按照在加速器客户端程序中添加顺序在待测速游戏列表中进行排列;

步骤s112,按照多个待测速游戏在待测速游戏列表中的排列顺序,从待测速游戏列表中选取当前待测速游戏以确定第一游戏测速任务。

在一个可选实施例中,首先,加速器客户端程序根据当前用户添加待测速游戏的顺序,获取当前尚未完成测速的待测速游戏列表。其次,加速器客户端程序从游戏列表中选取排名首位的待测速游戏(即用户最先添加的待测速游戏),并向服务器请求获取待测速游戏关联的加速节点信息。然后,加速器客户端程序在接收到服务器返回的加速节点信息之后,会存储至内存中,以便进行后续的加速节点测速。

图2是根据本发明其中一可选实施例的加速器客户端程序界面的示意图,如图2所示,该界面中包含希望进行加速处理的游戏1、游戏2和游戏3,其中,用户最先添加游戏1、其次添加游戏2、最后添加游戏3。因此,游戏1、游戏2和游戏3便构成上述待测速游戏列表的多个待测速游戏。加速器客户端程序可以从游戏列表中选取排名首位的游戏1,并向服务器请求获取游戏1关联的加速节点信息。然后,加速器客户端程序在接收到服务器返回的加速节点信息之后,会存储至内存中,以便进行后续的加速节点测速。

可选地,在步骤s13中,根据加速节点信息,采用预设测速线程进行测速可以包括以下执行步骤:

步骤s131,根据加速节点信息确定与当前待测速游戏关联的多个加速节点;

步骤s132,采用预设测速线程分别对多个加速节点中每个加速节点进行测试。

在加速器客户端程序启动之后,通过选取排名首位的待测速游戏可以向服务器请求关联的加速节点信息(其可以是加速节点列表)。在获取到加速节点列表之后,加速器客户端程序分别对加速节点列表中的各个加速节点进行测速,然后将这些加速节点的测速结果存储至预设存储区域(例如:内存)中。

可选地,在步骤s132中,采用预设测速线程分别对多个加速节点中每个加速节点进行测试可以包括以下执行步骤:

步骤s1321,采用预设测速线程分别向多个加速节点中每个加速节点发送单个请求数据包,并记录单个请求数据包的发包时刻;

步骤s1322,采用预设测速线程分别接收多个加速节点中每个加速节点返回的单个响应数据包,并记录单个响应数据包的收包时刻;

步骤s1323,基于发包时刻和收包时刻计算测速结果。

加速器客户端程序在采用预设测速线程对加速节点执行测速时,可以选用icmp协议、tcp协议、用户数据报协议(udp)协议中的任一协议。加速器客户端程序所在终端可以分别向多个加速节点中每个加速节点发送一个请求数据包,并记录当前发包时刻t1。当加速器客户端程序接收到多个加速节点中每个加速节点返回的响应数据包时,记录当前收包时刻t2。因此,加速器客户端程序所在终端与加速节点之间的测速结果(通常也称为ping值)为t2与t1的差值再除以2,即t=(t2–t1)/2。

可选地,在步骤s132中,采用预设测速线程分别对多个加速节点中每个加速节点进行测试可以包括以下执行步骤:

步骤s1324,采用预设测速线程分别向多个加速节点中每个加速节点发送多个请求数据包,并记录多个请求数据包中每个请求数据包的发包时刻;

步骤s1325,采用预设测速线程分别接收多个加速节点中每个加速节点返回的多个响应数据包,并记录多个响应数据包中每个响应数据包的收包时刻;

步骤s1326,基于每个请求数据包的发包时刻以及对应的响应数据包的收包时刻计算得到多个测速中间值;

步骤s1327,对多个测速中间值进行均值运算,得到测速结果。

当然,为了确保测速结果更加准确,加速器客户端程序所在终端可以向每个加速节点连续发送多个请求数据包,并接收每个加速节点返回的多个响应数据包。然后,通过记录发往每个加速节点的每个请求数据包的发包时刻以及对应的响应数据包的收包时刻可以得到多个测速中间值。最后,再将多个测速中间值的平均值确定为最终的测速结果,即当前加速节点的ping值。

例如:加速器客户端程序所在终端在发包时刻t11向加速节点1发送请求数据包1,在发包时刻t12向加速节点1发送请求数据包2、在发包时刻t13向加速节点1发送请求数据包3以及在发包时刻t14向加速节点1发送请求数据包4。然后,加速器客户端程序所在终端在收包时刻t21接收到加速节点1返回的响应数据包1、在收包时刻t22接收到加速节点1返回的响应数据包2、在收包时刻t23接收到加速节点1返回的响应数据包3以及在收包时刻t24接收到加速节点1返回的响应数据包4。由此,加速器客户端程序所在终端便可以计算得到4个测速中间值,其分别为:t1=(t21–t11)/2,t2=(t22–t12)/2,t3=(t23–t13)/2,t4=(t24–t14)/2。最终,加速器客户端程序所在终端与加速节点之间的测速结果为:t=(t1+t2+t3+t4)/4。

可选地,上述方法还可以包括以下执行步骤:

步骤s14-1,响应于开始测速指令,根据所述开始测速指令对应的游戏生成第二游戏测速任务;

步骤s15-1,确定第一游戏测速任务处于执行间歇状态,获取第一游戏测速任务已执行完毕的测速结果集合;

步骤s16-1,确定第二游戏测速任务对应的游戏包含在测速结果集合中,从测速结果集合中选取第二游戏测速任务对应的测速结果并反馈测速结果。

在对加速节点进行测速过程中,可能会碰到“插队”现象,即针对当前测速的游戏正在执行测速的过程中,用户突然点击游戏加速按钮发出开始测速指令,其相当于临时插入一个紧急的游戏测速任务(即上述根据开始测速指令对应的游戏生成的第二游戏测速任务)。此时,首先,需要判断第一游戏测速任务是否处于正在执行状态。如果确定第一游戏测速任务处于执行间歇状态(其是指单个游戏测速任务执行中断的空白时段,或者相邻游戏测速任务之间的过渡时段,抑或是原有游戏测速任务全部执行完毕,而新的游戏测速任务尚未确定的空档时段,例如:第一游戏测速任务对应的前一个游戏已经测速完毕,下一个游戏尚未开始测速的空白时段,或者第一游戏测速任务对应的游戏已测速完毕,等待结束第一游戏测速任务的空白时段等等),则获取第一游戏测速任务已执行完毕的测速结果集合。例如:该测速结果集合包括:游戏1对应测速结果1,游戏2对应测速结果2,游戏3对应测速结果3以及游戏4对应测速结果4。然后,再判断第二游戏测速任务对应的游戏是否包含在测速结果集合中。如果确定第二游戏测速任务对应的游戏包含在测速结果集合中,则从测速结果集合中选取第二游戏测速任务对应的测速结果并反馈测速结果。例如:当第二游戏测速任务对应的游戏为游戏2时,则可以从测速结果集合中选取第二游戏测速任务对应的测速结果2并反馈测速结果2。

可选地,上述方法还可以包括以下执行步骤:

步骤s14-2,响应于开始测速指令,根据开始测速指令对应的游戏生成第二游戏测速任务;

步骤s15-2,确定第一游戏测速任务处于执行间歇状态,获取第一游戏测速任务已执行完毕的测速结果集合;

步骤s16-2,确定第二游戏测速任务对应的游戏未包含在测速结果集合中,执行第二游戏测速任务,得到第二游戏测速任务对应的测速结果并反馈测速结果。

在判断第一游戏测速任务是否处于正在执行状态的过程中,如果确定第一游戏测速任务处于执行间歇状态,则获取第一游戏测速任务已执行完毕的测速结果集合。例如:该测速结果集合包括:游戏1对应测速结果1,游戏2对应测速结果2,游戏3对应测速结果3以及游戏4对应测速结果4。然后,再判断第二游戏测速任务对应的游戏是否包含在测速结果集合中。如果确定第二游戏测速任务对应的游戏未包含在测速结果集合中(例如:第二游戏测速任务对应的游戏为游戏5),则开始优先执行第二游戏测速任务,得到第二游戏测速任务对应的测速结果5并反馈测速结果5。

可选地,上述方法还可以包括以下执行步骤:

步骤s14-3,响应于开始测速指令,根据开始测速指令对应的游戏生成第二游戏测速任务;

步骤s15-3,确定第一游戏测速任务处于正在执行状态,以及确定第一游戏测速任务对应的游戏与第二游戏测速任务对应的游戏为相同游戏;

步骤s16-3,在第一游戏测速任务执行完毕之后,获取第一游戏测速任务对应的测速结果并反馈测速结果。

在判断第一游戏测速任务是否处于正在执行状态的过程中,如果确定第一游戏测速任务处于正在执行状态,则需要进一步判断第一游戏测速任务对应的游戏与第二游戏测速任务对应的游戏是否为相同游戏。如果确定第一游戏测速任务对应的游戏与第二游戏测速任务对应的游戏为相同游戏(例如:第一游戏测速任务对应的游戏为游戏5,第二游戏测速任务对应的游戏也是游戏5),则继续执行第一游戏测速任务,以便在第一游戏测速任务执行完毕之后,获取第一游戏测速任务对应的测速结果并反馈测速结果。

可选地,上述方法还可以包括以下执行步骤:

步骤s14-4,响应于开始测速指令,根据开始测速指令对应的游戏生成第二游戏测速任务;

步骤s15-4,确定第一游戏测速任务处于正在执行状态,以及确定第一游戏测速任务对应的游戏与第二游戏测速任务对应的游戏为不同游戏;

步骤s16-4,暂停第一游戏测速任务,执行第二游戏测速任务,并在第二游戏测速任务执行完毕之后,获取第二游戏测速任务对应的测速结果并反馈测速结果。

在确定第一游戏测速任务处于正在执行状态的前提下,需要进一步判断第一游戏测速任务对应的游戏与第二游戏测速任务对应的游戏是否为相同游戏。如果确定第一游戏测速任务对应的游戏与第二游戏测速任务对应的游戏为不同游戏(例如:第一游戏测速任务对应的游戏为游戏5,然而第二游戏测速任务对应的游戏却是游戏6),则暂停第一游戏测速任务,转而优先执行第二游戏测速任务,并在第二游戏测速任务执行完毕之后,获取第二游戏测速任务对应的测速结果并反馈测速结果。然后,再继续执行先前被暂停的第一游戏测速任务。

可选地,在步骤s13,根据加速节点信息,采用预设测速线程进行测速之后,还可以包括以下执行步骤:

步骤s17,判断待测速游戏列表中的多个待测速游戏是否均已测速完毕,如果否,则按照待测速游戏列表中的排列顺序依次进行测速,直至多个待测速游戏均测速完毕;如果是,则在第一预设时长内停止进行测速。

加速器客户端程序查看用户当前添加的待测速游戏是否全部测速完毕。考虑到在加速节点测速过程中,用户可能对待测速游戏进行增加或删除操作,因此需要在每次对一款待测速游戏的加速节点全部测试完毕之后,还需要进一步查看当前所有待测速游戏是否均已测速完毕。如果还有需要测速的待测速游戏,则重复执行加速节点的测速,直至全部待测速游戏均已测速完毕。如果确定全部待测速游戏均已测速完毕,则可以设定一段预设时长(即上述第一预设时长,例如:10分钟或者30分钟)停止测速。由此,不仅可以缓解网络数据传输压力、降低网络资源的占有率,而且基于局部性原理,在一段时间内网络状态趋于平稳,不会发生太大改变,因此无需过于频繁地进行测速。然后,在暂停时段结束之后,再开启新一轮测速。

可选地,上述方法还可以包括以下执行步骤:

步骤s18,在经过第二预设时长之后,获取更新后的待测速游戏列表,并按照更新后的待测速游戏列表中每个待测速游戏的最新排列顺序,重新进行测速。

考虑到用户在一段时间内可能会对待测速游戏列表中的待测速游戏进行添加或者删除,因此,为了确保测速结果的有效性,可以采用每隔一段时间(即上述第二预设时长)获取更新后的待测速游戏列表,并按照更新后的待测速游戏列表中每个待测速游戏的最新排列顺序,重新进行测速。该间隔时间段采用以分钟为单位,例如:10分钟。

可选地,上述方法还可以包括以下执行步骤:

步骤s19,响应于当前接收到的停止测速指令,中断对第一游戏测速任务进行测速,并退出预设测速线程。

在通常情况下,当用户真正退出加速器客户端程序(即发出停止测速指令)时才会停止执行测速,否则预设测速线程会一直在操作系统后台持续运行。如果确定停止执行测速功能,则加速器客户端程序在接收到停止测速指令之后,无论当前测速是否执行完毕,均会立即中断当前执行的测速,然后退出预设测速线程。如果确定继续执行测速,则加速器客户端程序还会持续获取尚未完成测速的加速节点信息,从而继续完成测速。

下面将结合图3所示的可选实施过程对上述可选实施例作进一步地详细描述。图3是根据本发明其中一可选实施例的测速方法的流程图,如图3所示,该过程可以包括以下执行步骤:

步骤s301,用户在双击加速器客户端程序图标之后,在图形用户界面内会出现加速器客户端程序界面。

步骤s302,加速器客户端程序在启动完毕之后,会在操作系统后台启动一个预设测速线程异步来执行加速节点的测速。

步骤s303,判断是否需要停止执行测速,在通常情况下,当用户真正退出加速器客户端程序(即发出停止测速指令)时才会停止执行测速,否则预设测速线程会一直在操作系统后台持续运行。如果是,则继续执行步骤s304;如果否,则继续执行步骤s305。

步骤s304,加速器客户端程序在接收到停止测速指令之后,无论当前测速是否执行完毕,均会立即中断当前执行的测速,然后退出预设测速线程。

步骤s305,加速器客户端程序根据当前用户添加待测速游戏的顺序,获取当前尚未完成测速的待测速游戏列表。其次,加速器客户端程序从游戏列表中选取排名首位的待测速游戏(即用户最先添加的待测速游戏),并向服务器请求获取待测速游戏关联的加速节点信息(其可以是加速节点列表)。然后,加速器客户端程序在接收到服务器返回的加速节点信息之后,会存储至内存中,以便进行后续的加速节点测速。

步骤s306,在获取到加速节点列表之后,加速器客户端程序分别对加速节点列表中的各个加速节点进行测速,然后将这些加速节点的测速结果存储至内存中。

步骤s307,加速器客户端程序查看用户当前添加的待测速游戏是否全部测速完毕。考虑到在加速节点测速过程中,用户可能对待测速游戏进行增加或删除操作,因此需要在每次对一款待测速游戏的加速节点全部测试完毕之后,还需要进一步查看当前所有待测速游戏是否均已测速完毕。如果还有需要测速的待测速游戏,则返回步骤s305,并重复执行加速节点的测速,直至全部待测速游戏均已测速完毕;否则,继续执行步骤s308。

步骤s308,如果确定全部待测速游戏均已测速完毕,则可以设定一段预设时长(例如:10分钟或者30分钟)停止测速。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种测速装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图4是根据本发明其中一实施例的测速装置的结构框图,如图4所示,该装置包括:启动模块10,用于在确定加速器客户端程序开始运行之后,启动预设测速线程,其中,预设测速线程用于对待测速游戏关联的加速节点进行测速;第一获取模块20,用于在加速器客户端程序的空闲时段内,根据当前待测速游戏生成第一游戏测速任务;第二获取模块30,用于基于第一游戏测速任务,向服务器获取与当前待测速游戏关联的加速节点信息;测速模块40,用于根据加速节点信息,采用预设测速线程进行测速。

可选地,第一获取模块20包括:获取单元(图中未示出),用于获取待测速游戏列表,其中,待测速游戏列表包括:多个待测速游戏,多个待测速游戏按照在加速器客户端程序中添加顺序在待测速游戏列表中进行排列;第一确定单元(图中未示出),用于按照多个待测速游戏在待测速游戏列表中的排列顺序,从待测速游戏列表中选取当前待测速游戏以确定第一游戏测速任务。

可选地,测速模块40包括:第二确定单元(图中未示出),用于根据加速节点信息确定与当前待测速游戏关联的多个加速节点;测速单元(图中未示出),用于采用预设测速线程分别对多个加速节点中每个加速节点进行测试。

可选地,测速单元(图中未示出),用于采用预设测速线程分别向多个加速节点中每个加速节点发送单个请求数据包,并记录单个请求数据包的发包时刻;采用预设测速线程分别接收多个加速节点中每个加速节点返回的单个响应数据包,并记录单个响应数据包的收包时刻;以及基于发包时刻和收包时刻计算测速结果。

可选地,测速单元(图中未示出),用于采用预设测速线程分别向多个加速节点中每个加速节点发送多个请求数据包,并记录多个请求数据包中每个请求数据包的发包时刻;采用预设测速线程分别接收多个加速节点中每个加速节点返回的多个响应数据包,并记录多个响应数据包中每个响应数据包的收包时刻;基于每个请求数据包的发包时刻以及对应的响应数据包的收包时刻计算得到多个测速中间值;以及对多个测速中间值进行均值运算,得到测速结果。

可选地,图5是根据本发明其中一可选实施例的测速装置的结构框图,如图5所示,该装置除包括图4所示的所有模块外,上述装置还包括:第三获取模块50,用于响应于开始测速指令,根据开始测速指令对应的游戏生成第二游戏测速任务;第一处理模块60,用于确定第一游戏测速任务处于执行间歇状态,获取第一游戏测速任务已执行完毕的测速结果集合;确定第二游戏测速任务对应的游戏包含在测速结果集合中,从测速结果集合中选取第二游戏测速任务对应的测速结果并反馈测速结果。

可选地,第一处理模块60,还用于确定第一游戏测速任务处于执行间歇状态,获取第一游戏测速任务已执行完毕的测速结果集合;确定第二游戏测速任务对应的游戏未包含在测速结果集合中,执行第二游戏测速任务,得到第二游戏测速任务对应的测速结果并反馈测速结果。

可选地,第一处理模块60,还用于确定第一游戏测速任务处于正在执行状态,以及确定第一游戏测速任务对应的游戏与第二游戏测速任务对应的游戏为相同游戏;在第一游戏测速任务执行完毕之后,获取第一游戏测速任务对应的测速结果并反馈测速结果。

可选地,第一处理模块60,还用于确定第一游戏测速任务处于正在执行状态,以及确定第一游戏测速任务对应的游戏与第二游戏测速任务对应的游戏为不同游戏;暂停第一游戏测速任务,执行第二游戏测速任务,并在第二游戏测速任务执行完毕之后,获取第二游戏测速任务对应的测速结果并反馈测速结果。

可选地,如图5所示,上述装置还包括:第二处理模块70,用于判断待测速游戏列表中的多个待测速游戏是否均已测速完毕,如果否,则按照待测速游戏列表中的排列顺序依次进行测速,直至多个待测速游戏均测速完毕;如果是,则在第一预设时长内停止进行测速。

可选地,如图5所示,上述装置还包括:第三处理模块80,用于在经过第二预设时长之后,获取更新后的待测速游戏列表,并按照更新后的待测速游戏列表中每个待测速游戏的最新排列顺序,重新进行测速。

可选地,如图5所示,上述装置还包括:第四处理模块90,用于响应于当前接收到的停止测速指令,中断对第一游戏测速任务进行测速,并退出预设测速线程。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,在确定加速器客户端程序开始运行之后,启动预设测速线程,其中,预设测速线程用于对待测速游戏关联的加速节点进行测速;

s2,在加速器客户端程序的空闲时段内,根据当前待测速游戏生成第一游戏测速任务;

s3,基于第一游戏测速任务,向服务器获取与当前待测速游戏关联的加速节点信息;

s4,根据加速节点信息,采用预设测速线程进行测速。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,在确定加速器客户端程序开始运行之后,启动预设测速线程,其中,预设测速线程用于对待测速游戏关联的加速节点进行测速;

s2,在加速器客户端程序的空闲时段内,根据当前待测速游戏生成第一游戏测速任务;

s3,基于第一游戏测速任务,向服务器获取与当前待测速游戏关联的加速节点信息;

s4,根据加速节点信息,采用预设测速线程进行测速。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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