性能指标数据采集方法和装置、策略发送方法和装置与流程

文档序号:14124654阅读:229来源:国知局
性能指标数据采集方法和装置、策略发送方法和装置与流程

本发明涉及计算机技术领域,尤其涉及一种性能指标数据采集方法和装置、策略发送方法和装置。



背景技术:

在一些交互式应用中,用户的使用体验对该交互式应用的运营非常重要。然而,不同终端的性能不同,在运行该交互式应用时的展示效果也不同,交互式应用的开发商需了解不同的终端的性能对该交互式应用的展示效果的影响,但现有技术中仅有对终端在某个或者某些工作状态下的性能进行检测的方案,该方案检测出来的数据难以反映终端在运行交互式应用时的实际性能情况。



技术实现要素:

本发明实施例提供了一种性能指标数据采集方法和装置、策略发送方法和装置,能够提高采集到的数据的有效性。

第一方面,本发明实施例提供一种性能指标数据采集方法,包括:

获取服务器发送的采集策略,所述采集策略包括用于指示客户端在预置交互式应用的特定场景出现时待采集的性能指标;

当检测到所述预置交互式应用中的特定场景出现时,根据所述采集策略对所述客户端在目标时间段内的所述性能指标的数据进行采集,其中,所述目标时间段为所述特定场景从出现到结束之间的时间段;

对采集到的性能指标数据进行上报。

第二方面,本发明实施例提供一种策略发送方法,包括:

获取采集策略,所述采集策略用于指示客户端在预置交互式应用的特定场景中待采集的性能指标;

将所述采集策略发送至所述客户端,所述采集策略用于所述客户端在检测到所述预置交互式应用中的特定场景出现时,根据所述采集策略对所述客户端在目标时间段内的所述性能指标的数据进行采集,其中,所述目标时间段为所述特定场景从出现到结束之间的时间段;

接收所述客户端发送的采集到的性能指标数据。

第三方面,本发明实施例提供一种性能指标数据采集装置,包括:

获取模块,用于获取服务器发送的采集策略,所述采集策略包括用于指示客户端在预置交互式应用的特定场景出现时待采集的性能指标;

采集模块,用于当检测到所述预置交互式应用中的特定场景出现时,根据所述采集策略对所述客户端在目标时间段内的所述性能指标的数据进行采集,其中,所述目标时间段为所述特定场景从出现到结束之间的时间段;

上报模块,用于对采集到的性能指标数据进行上报。

第四方面,本发明实施例提供一种策略发送装置,其特征在于,包括:

获取模块,用于获取采集策略,所述采集策略用于指示客户端在预置交互式应用的特定场景中待采集的性能指标;

发送模块,用于将所述采集策略发送至所述客户端,所述采集策略用于所述客户端在检测到所述预置交互式应用中的特定场景出现时,根据所述采集策略对所述客户端在目标时间段内的所述性能指标的数据进行采集,其中,所述目标时间段为所述特定场景从出现到结束之间的时间段;

接收模块,用于接收所述客户端发送的采集到的性能指标数据。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明中,通过获取服务器发送的采集策略,并在预置交互式应用中的特定场景出现和结束之间的时间段内对该采集策略中包括的性能指标进行数据采集,将该数据上报,这样采集到的数据能够更加准确反映客户端在运行该预置交互式应用时的实际情况,提高数据的有效性,便于根据该数据对该预置交互式应用进行优化。

附图说明

图1为本发明的系统的一个实施例的结构视图;

图2为本发明的性能指标数据采集方法的一个实施例的流程示意图;

图3为本发明的策略发送方法的一个实施例的流程示意图;

图4为本发明的系统的一个实施例的结构和流程示意图;

图5为本发明的性能指标数据采集装置的一个实施例的流程示意图;

图6为本发明的策略发送装置的一个实施例的流程示意图;

图7为本发明的终端的一个实施例的结构示意图;

图8为本发明的服务器的一个实施例的结构示意图。

具体实施方式

本发明实施例提供一种性能指标数据采集方法,主要用于如图1所示的系统中,该系统包括服务器10和至少一个客户端11。图1以系统包括有两个客户端11为例,此处只是举例说明,不作为对本发明的限定。

请参阅图2,图2为本发明的性能指标数据采集方法的一个实施例的流程示意图。本实施例中的性能指标数据采集方法是图1所示系统中的任意一个客户端所执行的方法,具体的,性能指标数据采集方法包括:

101、获取服务器发送的采集策略,所述采集策略包括用于指示客户端在预置交互式应用的特定场景出现时待采集的性能指标。

本实施例中的客户端内安装有预置交互式应用,其中,该客户端可以为手机、平板电脑或者其他可以安装该预置交互式应用的终端,该交互式应用可以为游戏或者而其他,在此不作限制。预置交互式应用的特定场景指的是预置交互式应用在运行过程中与用户进行交互的某些场景,例如可以是游戏中的玩家对战(英文全称:playerversusplayer,英文缩写:pvp)场景或者玩家vs环境(英文全称:playervsenvironment,英文缩写:pve)场景,在此不作限制。

本实施例中,客户端获取服务器发送的采集策略的方法有多种。例如,客户端生成请求参数,该请求参数用于请求采集策略,并将该请求参数发送至服务器。服务器在接收到该请求参数后,将该采集策略发送至客户端。

可选的,本实施例中,该请求参数包括客户端中用于登录所述预置交互式应用的用户账号的信息,所述用户账号的信息用于所述服务器判断是否向所述客户端发送所述采集策略。这样,服务器下发的采集策略能够针对该用户账号,提高根据该采集策略采集到的数据的有效性。

其中,所述用户账号的信息可以有多种,例如,包括用于唯一标识用户账号的用户标识(英文全称:identity,英文缩写:id)、用户登录预置交互式应用时的系统平台(例如为android系统或者ios系统)、用户账号的类型、项目标识(也即所述预置交互式应用的appid),其中,由于用户可以采用其他平台的账号登录所述预置交互式应用,该用户账号的类型指的是该用户账号所属的平台的类型,例如,该用户账号的类型可以是微信、qq、游客或者所述预置交互式应用,其中用户账号的类型是所述预置交互式应用指的是用户在该预置交互式应用中申请注册的新账号,而不是采用其他平台的账号登录所述预置交互式应用。在预置交互式应用为游戏的情况中,可选的,用户账号的信息包括用户玩家当前所在的游戏大区的id。

其中,客户端生成请求参数的方法有多种。例如,客户端内的预置交互式应用模块在检测到开始运行时,获取用户登录该预置交互式应用的用户账号的信息,并将该用户账号的信息发送给客户端内的请求模块,该请求模块根据该用户账号的信息生成请求参数,并发送至服务器。具体的,该请求模块生成http请求和post请求发送至服务器,其中,该用户账号的信息作为请求参数的至少部分被封装在post请求内。

优选的,客户端中的请求模块在发生请求参数之前还对该请求参数进行加密,以保证用户账号的安全传输。加密的方法有多种。例如,客户端采用的加密算法为高级加密标准(英文全称:advancedencryptionstandard,英文缩写:aes)算法,模式为密码分组链接(英文全称:cipherblockchaining,英文全称:cbc)模式,填充方式为zeropadding,即不满16字节部分用0填充。该加密算法可以在全平台实现,而且实现方法简单,安全性高。当然,客户端还可以采用其他加密算法,例如数据加密标准(英文全称:dataencryptionstandard,英文缩写:des)算法,在此不作限制。

可选的,客户端接收到服务器发送的是加密数据包,客户端通过对该加密数据包进行解密得到所述采集策略。这样,可以保证采集策略的安全传输。

本实施例中,待采集的性能指标可以有多种。例如,该待采集的性能指标包括每秒传输帧数(英文全称:framespersecond,英文缩写:fps)、所述预置交互式应用的中央处理器(英文全称:centralprocessingunit,英文缩写:cpu)占用率和所述客户端的cpu占用率、内存使用量、消耗流量、消耗电量和网络时延中的至少一项。其中,在该待采集的性能指标包括所述预置交互式应用的cpu占用率和客户端的cpu占用率的情况中,相比现有技术中的仅对预置交互式应用的cpu占用率进行采集,本实施例中还采集同一时间的客户端的cpu占用率,能够用于和预置交互式应用的cpu占用率进行对比,能够更加客观地反映该预置交互式应用所占用的性能情况。现有技术中,若客户端的cpu核数为n时,该n核cpu的占用率总量用n*100%来表示。优选的,本实施例中,采集到的预置交互式应用的cpu占用率和客户端的cpu占用率的总量均用100%来表示,这样有利于后续进行数据挖掘和性能评估展示。

本实施例中,采集策略还包括所述特定场景的指示信息,以指示客户端要进行数据采集的目标时间段,或者,该特定场景也可以是所述预置交互式应用默认设置的,在此不作限制。可选的,采集策略还包括对采集策略所包括的待采集的性能指标的数据采集方法,或者,各性能指标的数据采集方法也可以预置在客户端内,客户端接收到采集策略后,采用预置的采集方法来对采集策略中的待采集性能指标进行采集,在此不作限制。

102、当检测到所述预置交互式应用中的特定场景出现时,根据所述采集策略在目标时间段内对所述性能指标的数据进行采集,其中,所述目标时间段为所述特定场景从出现到结束之间的时间段。

本实施例中,检测到所述预置交互式应用中的特定场景出现和结束的方法有多种。以预置交互式应用是游戏为例,在预置交互式应用的软件开发工具包(英文全称:softwaredevelopmentkit,英文缩写:sdk)中,提供开始接口函数和结束接口函数,在该特定场景的开始和退出的代码逻辑中该两个函数分别被调用时,即可确定该特定场景的出现和结束。

客户端在获取到采集策略后,在所述特定场景出现到结束的时间段(也即目标时间段)内,根据该采集策略进行数据采集。下面结合采集策略所包括的性能指标的几个例子对如何根据采集策略进行数据采集进行具体说明。

当所述采集策略中待采集的性能指标包括所述fps时,在所述目标时间段内按预置频率(例如每隔20ms)采集客户端的fps;根据该所采集到的各fps计算平均fps、最大fps、最小fps和fps抖动次数中的至少一种,其中,所述fps抖动次数为所述目标时间段内出现相邻两次采集到的fps之间的差值大于阈值的次数。可选的,所述fps抖动次数包括fps严重抖动次数和/或fps轻微抖动次数,其中,fps严重抖动次数指的是目标时间段内出现相邻两次采集到的fps之间的差值大于第一阈值(例如10帧)的次数,fps轻微抖动次数指的是目标时间段内出现相邻两次采集到的fps之间的差值大于第二阈值(例如4帧)且小于等于第一阈值(例如10帧)的次数。可选的,所述fps抖动次数包括fps自定义抖动次数,也即目标时间段内出现相邻两次采集到的fps之间的差值位于自定义范围内的次数。可选的,本实施例中,fps采集模块设置在预置交互式应用的sdk内,那么,客户端在确定采集策略中的待采集数据包括fps时,通知预置交互式应用的sdk内的fps采集模块;fps采集模块在接收到通知后进行数据采集,并将采集到的数据发送给客户端内的数据打包模块,以便该数据打包模块对数据进行采集并上报。其中,fps采集模块采集fps的方法有多种,例如,在预置交互式应用中的sdk为unity引擎时,在gameobject上挂载采集脚本,按所述预置频率触发调用该脚本中的update()方法,预置时长(例如1s)内该方法被调用的次数即为fps。

当所述待采集的性能指标包括所述网络时延时,在目标时间段内的第一时刻采用用户数据报udp协议向服务器发送测试数据包;接收来自所述服务器的响应数据包;根据接收到所述响应数据包的时刻和所述第一时刻计算网路时延。具体的,所述网络时延为接收到所述响应数据包的时刻和所述第一时刻之间的距离时长。可选的,在目标时间段内,按预置频率采集所述网络时延,根据该所采集到的各网络时延计算平均网络时延、最大网络时延和最小网络时延中的至少一种。现有技术中一般采用ping计算来获取网络时延,但是android平台的部分未root机型无ping权限,导致无法获取网络时延;本实施中,由于采用udp技术,可覆盖全平台全机型,且更加贴近手游实际过程中的网络交互情况,网络时延采集的数据更具有参考性。

当所述待采集的性能指标包括所述预置交互式应用的cpu占用率和所述客户端的cpu占用率时,获取第一时长,所述第一时长为所述预置交互式应用在所述目标时间段内对cpu的占用时长;获取第二时长,所述第二时长为所述客户端在所述目标时间段内对cpu的占用时长;计算所述预置交互式应用的cpu占用率和所述客户端的cpu占用率,其中,所述预置交互式应用的cpu占用率为所述第一时长和所述目标时间段的时长的比值,所述客户端的cpu占用率为所述第二时长和所述目标时间段的时长的比值。实际应用中,操作系统对cpu的使用都是分时间片使用的,例如a进程占用10ms,然后b进程占用30ms,然后空闲60ms。具体的,可通过在所述特定场景出现和结束时分别获取thread_basic_info_t类型的数据,来获取自客户端开机以来的当前系统时间,该当前系统时间包括有三种时间:空闲时间、内核时间和用户时间,内核时间和用户时间相加即cpu总时间。这样,通过将特定场景出现和结束时分别获取到的cpu总时间相减,即可得到所述目标时间段的时长。通过在特定场景结束时获取到的(内核时间+用户时间-空闲时间)与在特定场景开始时获取到的(内核时间+用户时间-空闲时间)相减,即可得到所述第二时长。通过获取目标时间段内预置交互式应用的所有进程占用的时间片的总和,即可得到所述第一时长。

当所述待采集的性能指标包括所述预置交互式应用的内存使用量时,获取所述预置交互式应用的进程id;根据所述进程id获取进程信息;调用task_info函数;根据所述task_info函数和所述进程信息获取所述预置交互式的进程对应的内存使用量。。具体的,可通过客户端的系统方法mach_task_self()来获取所述预置交互式应用的进程id。调用task_info函数后,将所述进程信息保存到task_info_t结构类类型的变量taskinfo中,读取taskinfo中的resident_size值即为所述预置交互式应用当前的内存使用量。

可选的,还可以通过调用host_statistics函数,将客户端的信息保存至host_info_t结构体类型的变量vmstats中,读取vmstats中的free_count值,该free_count值为客户端的当前可用的内存使用量。

当所述待采集的性能指标包括消耗流量时,读取所述客户端的网络接口信息;根据所述网络接口信息获取所述客户端在所述特定场景出现时的流量数据和所述特定场景结束时的流量数据;根据所述客户端在所述特定场景出现时的流量数据和所述特定场景结束时的流量数据计算所述消耗流量。具体的,所述预置交互式应用的消耗流量为所述客户端在所述特定场景结束时的流量数据和所述特定场景开始时的流量数据之差。

当所述待采集的性能指标包括消耗电量时,不同的系统平台具有不同的获取方法。例如,在android平台中,在特定场景出现和结束时分别通过以下获取当前电量:在androidmanifest.xml文件中注册静态广播事件:android.intent.action.battert_changed,其中,androidmanifest是安卓应用的配置文件,权限声明等均在此配置文件中;继承broadcastreceiver类(也即广播接收类),重写onreceive方法,在onreceive方法中接受电量变化广播通知,通过该广播通知来获得当前电量。将在特定场景结束和出现时分别获取的当前电量相减,即可得到所述消耗电量。又例如,在ios平台中,在特定场景出现和结束时分别通过读取uidevice接口来获取当前的电量数据,该两个电量数据之差即为所述消耗电量。

103、对采集到的性能指标数据进行上报。

客户端采集到性能指标数据后,将该性能指标数据进行数据封装和上报。其中,客户端可以将该性能指标数据上报至所述服务器,也可以将该性能指标数据上报到其他服务器中,在此不作限制。

本实施例中,通过获取服务器发送的采集策略,并在预置交互式应用中的特定场景出现和结束之间的时间段内对该采集策略中包括的性能指标进行数据采集,并将该数据采集上报,这样采集到的数据能够更加准确反映客户端在运行该预置交互式应用时的实际情况,提高数据的有效性,便于根据该性能指标数据对该预置交互式应用进行优化。

上面对图1所示系统中的客户端所执行的性能指标数据采集方法进行了描述,下面将对该系统中的服务器所执行的策略发送方法进行描述。

请参阅图3,图3为本发明的策略发送方法的一个实施例的流程示意图。本实施例中,策略发送方法包括:

301、获取采集策略,所述采集策略用于指示客户端在预置交互式应用的特定场景中待采集的性能指标。

本实施例中,获取采集策略的方法有多种。例如,可接收对所述采集策略的自定义设置并存储在数据库中,在需要向客户端发送采集策略时,在该数据库中获取采集策略并发送给客户端。又例如,其他服务器的数据库中存储有采集策略,在需要向客户端发送采集策略时,从该数据库中获取该采集策略。

可选的,本实施例中,服务器还接收客户端发送的请求参数,所述请求参数包括所述客户端中用于登录所述预置交互式应用的用户账号的信息;该服务器根据所述用户账号的信息在数据库中查询所述用户账号的信息对应的采集策略。若查询到所述用户账号的信息对应的采集策略,则确定获取到所述采集策略,若查询不到所述用户账号的信息对应的采集策略,则不向所述客户端发送采集策略。

其中,服务器根据所述用户账号的信息在数据库中查询所述用户账号的信息对应的采集策略的方法有多种,下面对其中的一种优选方式进行举例说明。

所述用户账号的信息包括第一参数和第二参数。在根据所述用户账号的信息在数据库中查询所述用户账号的信息对应的采集策略时,首先获取采集总策略,其中获取采集总策略可以和上述描述的获取采集策略的方法相同,在此不再赘述。所述采集总策略中包括至少一个采集策略和至少一个参数,所述至少一个采集策略和所述至少一个参数之间具有对应关系,其中,每一个采集策略对应至少一个参数,每一个参数对应至少一个采集策略。确定所述第一参数和所述第二参数的优先级,其中,所述第一参数的优先级高于所述第二参数的优先级,那么,查询所述采集总策略中是否包括所述第一参数,若包括,获取所述第一参数对应的采集策略;若不包括,查询所述采集总策略中是否包括所述第二参数,若包括,获取所述第二参数对应的采集策略。这样,根据用户账号的信息中的各参数的优先级来依次判断是否有该参数对应的用户的采集策略,能够从采集总策略中查找出与该用户需求匹配度较高的采集策略。

302、将所述采集策略发送至所述客户端。

本实施例中,该采集策略用于所述客户端在检测到所述预置交互式应用中的特定场景出现时,根据所述采集策略对所述客户端在目标时间段内的所述性能指标的数据进行采集,其中,所述目标时间段为所述特定场景从出现到结束之间的时间段。

获取到采集策略后,将该采集策略进行封装并下发至客户端。优选的,本实施例中,服务器在对该采集策略进行封装时,还对该采集策略进行加密,以保证该采集策略的安全传输。加密的方法有多种,例如采用aes算法或者des算法来进行加密,在此不作限制。

303、接收所述客户端发送的采集到的性能指标数据。

客户端根据接收到的采集策略对性能指标数据进行采集,并将采集到的性能指标属于发送至服务器。服务器收集各个客户端发送的数据,以便根据各个客户端上报的数据对预置交互式应用进行优化。

本实施例中,通过服务器向客户端发送采集策略,能够使得客户端在预置交互式应用中的特定场景出现和结束之间的时间段内对该采集策略中包括的性能指标进行数据采集,并将该数据采集上报,这样采集到的数据能够更加准确反映客户端在运行该预置交互式应用时的实际情况,提高数据的有效性,便于根据该性能指标数据对该预置交互式应用进行优化。

为理解本发明,下面结合一个实际应用场景对本发明的性能指标数据采集方法和策略发送方法进行举例说明。

如图4所示,图4为本发明的系统的一个实施例的工作流程示意图。其中,该系统包括客户端、第一服务器和第二服务器。该第二服务器接收用户自定义的采集总策略,并将该采集总策略存储到redis数据库中,其中,采集总策略中包括至少一个采集策略和至少一个参数,所述至少一个采集策略和所述至少一个参数之间具有对应关系。

客户端内包括预置游戏的游戏引擎。在用户登录并运行所述预置游戏时,所述游戏引擎进行sdk的初始化,并获取用户账号的信息,该用户账号的信息包括用户id、当前所在大区的id、用户登录预置交互式应用时的系统平台、用户账号的类型、项目标识。游戏引擎将该用户账号的信息发送给客户端内的请求模块。请求模块接收到用户账号的信息后,生成http请求和post请求发送至第一服务器,其中,该用户账号的信息采用aes算法进行加密后作为请求参数的至少部分被封装在post请求内。若出现http请求和post请求发送失败的情况时,例如由于无网络等原因造成的发送失败时,上报该失败结果。

第一服务器接收到http请求和post请求时,从第二服务器的redis数据库中获取采集总策略。第一服务器还从post请求中提取出用户账号的信息,并根据该信息查询要下发的采集策略。具体的,第一服务器首先查询该采集总策略中是否包含所述用户id,若有,则将该用户id对应的采集策略进行封装和加密,然后下发给客户端。

若无,则查询该采集总策略中是否包含所述当前所在大区的id,若有,则将大区的id对应的采集策略进行封装和加密,然后下发给客户端。

若无,则查询该采集总策略中是否包含所述用户账号类型,若有,则将该用户账号类型对应的采集策略进行封装和加密,然后下发给客户端。

若无,则查询该采集总策略中是否包含所述用户登录预置交互式应用时的系统平台,若有,则将该系统平台对应的采集策略进行封装和加密,然后下发给客户端。

若无,则查询该采集总策略中是否包含所述项目标识,若有,则将该项目标识对应的采集策略进行封装和加密,然后下发给客户端。若无,则返回错误信息,不向客户端下发采集策略。客户端不需要进行数据采集。

客户端中的下发模块在接收到采集策略后,提取出其中的待采集的性能指标,其中,该性能指标包括fps、所述预置交互式应用的中央处理器cpu占用率和所述客户端的cpu占用率、内存使用量、消耗流量、消耗电量和网络时延。

那么,下发模块分别通知网络时延模块、cpu占用率采集模块、内存使用量采集模块、消耗流量采集模块、消耗电量采集模块进行数据采集。各模块采集好数据后,将数据发送至客户端内的数据封装模块。

下发模块还通知游戏引擎采集fps。

游戏引擎的sdk中,特定场景的逻辑代码为:

nslog(@”hello,gamestart”);

nslog(@”hello,nowdetect”);

nslog(@”hello,gameplaying”);

nslog(@”hello,enddetect”);

nslog(@”hello,gameend”);

其中,nslog(@”hello,gamestart”)的前面设有开始接口函数gsdkstart(),nslog(@”hello,gameend”)的后面设有结束接口函数gsdkend()。在该特定场景出现时,开始接口函数gsdkstart()会被调用,在该特定场景结束时,开始接口函数gsdkstart()会被调用。

当游戏引擎检测到开始接口函数gsdkstart()被调用时,每隔20ms采集客户端的fps,直到检测到结束接口函数gsdkend()被调用时,停止采集fps。游戏引擎还根据该所采集到的各fps计算平均fps、最大fps、最小fps和fps抖动次数,其中,所述fps抖动次数包括fps严重抖动次数和/或fps轻微抖动次数。游戏引擎将计算到的各fps发送至客户端内的数据封装模块。

数据封装模块将接收到的数据进行封装,并发送至第二服务器。第二服务器中的数据处理模块对该数据进行处理,并发送至展示模块,以便展示模块对处理后的数据进行展示。

上面对本发明的性能指标数据采集方法和策略发送方法进行了描述,下面将对本发明的性能指标数据采集装置和策略发送装置进行描述。

如图5所示,图5为本发明的性能指标数据采集装置的一个实施例的结构示意图。本实施例中,性能指标数据采集装置500包括:

获取模块501,用于获取服务器发送的采集策略,所述采集策略包括用于指示客户端在预置交互式应用的特定场景出现时待采集的性能指标;

采集模块502,用于当检测到所述预置交互式应用中的特定场景出现时,根据所述采集策略对所述客户端在目标时间段内的所述性能指标的数据进行采集,其中,所述目标时间段为所述特定场景从出现到结束之间的时间段;

上报模块503,用于对采集到的性能指标数据进行上报。

本实施例中,通过获取服务器发送的采集策略,并在预置交互式应用中的特定场景出现和结束之间的时间段内对该采集策略中包括的性能指标进行数据采集,将该数据上报,这样采集到的数据能够更加准确反映客户端在运行该预置交互式应用时的实际情况,提高数据的有效性,便于根据该数据对该预置交互式应用进行优化。

可选的,所述获取模块501具体用于:

生成请求参数,所述请求参数用于请求采集策略;

对所述请求参数进行加密,并发送至服务器;

接收来自所述服务器的加密数据包;

对所述加密数据包进行解密得到采集策略。

可选的,所述请求参数包括客户端中用于登录所述预置交互式应用的用户账号的信息,所述用户账号的信息用于所述服务器判断是否向所述客户端发送所述采集策略。

可选的,所述待采集的性能指标包括每秒传输帧数fps、所述预置交互式应用的中央处理器cpu占用率和所述客户端的cpu占用率、所述预置交互式应用的内存使用量、消耗流量、消耗电量和网络时延中的至少一项。

可选的,当所述待采集的性能指标包括所述fps时,所述采集模块502具体用于在所述目标时间段内按预置频率采集所述客户端的fps;根据采集到的fps计算平均fps、最大fps、最小fps和fps抖动次数中的至少一种,其中,所述fps抖动次数为所述目标时间段内出现相邻两次采集到的fps之间的差值大于阈值的次数。

可选的,当所述待采集的性能指标包括所述网络时延时,所述采集模块502具体用于:

在第一时刻采用用户数据报udp协议向服务器发送测试数据包;

接收来自所述服务器的响应数据包;

根据接收到所述响应数据包的时刻和所述第一时刻计算网路时延。

可选的,当所述待采集的性能指标包括所述预置交互式应用的中央处理器cpu占用率和所述客户端的cpu占用率时,所述采集模块502具体用于:

获取第一时长,所述第一时长为所述预置交互式应用在所述目标时间段内对cpu的占用时长;

获取第二时长,所述第二时长为所述客户端在所述目标时间段内对cpu的占用时长;

计算所述预置交互式应用的cpu占用率和所述客户端的cpu占用率,其中,所述预置交互式应用的cpu占用率为所述第一时长和所述目标时间段的时长的比值,所述客户端的cpu占用率为所述第二时长和所述目标时间段的时长的比值。

可选的,当所述待采集的性能指标包括所述预置交互式应用的内存使用量时,所述采集模块502具体用于:

获取所述预置交互式应用的进程标识id;

根据所述进程id获取进程信息;

调用task_info函数;

根据所述task_info函数和所述进程信息获取所述预置交互式的进程对应的内存使用量。

可选的,当所述待采集的性能指标包括所述消耗流量时,所述采集模块502具体用于:

读取所述客户端的网络接口信息;

根据所述网络接口信息获取所述客户端在所述特定场景出现时的流量数据和所述特定场景结束时的流量数据;

根据所述客户端在所述特定场景出现时的流量数据和所述特定场景结束时的流量数据计算所述消耗流量。

请参阅图6,图6为本发明的策略发送装置的一个实施例的结构示意图。本实施例中,该策略发送装置600包括:

获取模块601,用于获取采集策略,所述采集策略用于指示客户端在预置交互式应用的特定场景中待采集的性能指标;

发送模块602,用于将所述采集策略发送至所述客户端,所述采集策略用于所述客户端在检测到所述预置交互式应用中的特定场景出现时,根据所述采集策略对所述客户端在目标时间段内的所述性能指标的数据进行采集,其中,所述目标时间段为所述特定场景从出现到结束之间的时间段;

接收模块603,用于接收所述客户端发送的采集到的性能指标数据。

本实施例中,通过服务器向客户端发送采集策略,能够使得客户端在预置交互式应用中的特定场景出现和结束之间的时间段内对该采集策略中包括的性能指标进行数据采集,并将该数据采集上报,这样采集到的数据能够更加准确反映客户端在运行该预置交互式应用时的实际情况,提高数据的有效性,便于根据该性能指标数据对该预置交互式应用进行优化。

可选的,所述获取模块601具体用于:

接收客户端发送的请求参数,所述请求参数包括所述客户端中用于登录所述预置交互式应用的用户账号的信息;

根据所述用户账号的信息在数据库中查询所述用户账号的信息对应的采集策略。

可选的,所述用户账号的信息包括第一参数和第二参数;

所述获取模块601在根据所述用户账号的信息在数据库中查询所述用户账号的信息对应的采集策略时,具体用于:

获取采集总策略,所述采集总策略中包括至少一个采集策略和至少一个参数,所述至少一个采集策略和所述至少一个参数之间具有对应关系;

确定所述第一参数和所述第二参数的优先级,其中,所述第一参数的优先级高于所述第二参数的优先级;

查询所述采集总策略中是否包括所述第一参数,若包括,获取所述第一参数对应的采集策略;若不包括,查询所述采集总策略中是否包括所述第二参数,若包括,获取所述第二参数对应的采集策略。

可选的,所述装置还包括加密模块604,用于在将所述采集策略发送至所述客户端之前,对所述采集策略进行加密。

本发明实施例还提供了另一种终端,如图7所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、pda(personaldigitalassistant,个人数字助理)、pos(pointofsales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:

图7示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图7,手机包括:射频(radiofrequency,rf)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(wirelessfidelity,wifi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图7中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图7对手机的各个构成部件进行具体的介绍:

rf电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,rf电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(lownoiseamplifier,lna)、双工器等。此外,rf电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystemofmobilecommunication,gsm)、通用分组无线服务(generalpacketradioservice,gprs)、码分多址(codedivisionmultipleaccess,cdma)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、长期演进(longtermevolution,lte)、电子邮件、短消息服务(shortmessagingservice,sms)等。

存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元1030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图7中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。

手机还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经rf电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。

wifi属于短距离无线传输技术,手机通过wifi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了wifi模块1070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1080可包括一个或多个处理单元;优选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。

手机还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

在本发明实施例中,该终端所包括的处理器1080还具有控制执行以上图1所示行的方法流程。

图8是本发明实施例提供的一种服务器结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。

服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述实施例中由服务器所执行的步骤可以基于该图8所示的服务器结构。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

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

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

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

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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