一种卡顿异常的分析方法及装置与流程

文档序号:11291975阅读:224来源:国知局
一种卡顿异常的分析方法及装置与流程

本申请涉及计算机技术领域,具体涉及一种确定卡顿异常的分析方法及装置。



背景技术:

随着互联网的快速发展,游戏产业也发展迅速,各种网络游戏都有大量的用户。

因工作时间无法玩游戏,所以在非工作时间经常会出现游戏高峰期,在游戏高峰期,用户数量过多经常会出现卡顿的问题。有时候版本问题也会导致游戏卡顿。

出现游戏卡顿,用户可以通过投诉进行反馈,游戏开发人员会根据用户的投诉判断导致卡顿的原因,但投诉通常需要一定的样本量才能引起游戏开发人员的重视,以及根据投诉样本确定导致卡顿的原因,导致确定卡顿的效率低下。



技术实现要素:

本申请实施例提供一种卡顿异常的分析方法,可以在目标应用运行时通过fps数据确定出导致卡顿异常的维度,提高了确定卡顿异常的效率,还可以根据卡顿异常的维度针对性的进行修复。本申请实施例还提供了相应的装置。

本申请第一方面提供一种卡顿异常的分析方法,包括:

接收运行目标应用的终端上报的多条传输帧数fps数据,其中,每条fps数据包括一个统计周期内所述fps的平均值,以及在该统计周期内的维度信息;

当有m条fps数据中的fps的平均值小于fps阈值,则确定所述目标应用在运行的过程中存在卡顿异常,所述m条fps数据属于所述多条fps数据,所述m大于数量阈值;

根据所述m条fps数据中的维度信息、所述目标应用运行时所依赖的服务器的维度信息,以及网络传输信息,确定导致卡顿异常的维度。

本申请第二方面提供一种卡顿异常的分析方法,包括:

接收单元,用于接收运行目标应用的终端上报的多条传输帧数fps数据,其中,每条fps数据包括一个统计周期内所述fps的平均值,以及在该统计周期内的维度信息;

第一确定单元,用于当所述接收单元接收的多条fps数据中有m条fps数据中的fps的平均值小于fps阈值,则确定所述目标应用在运行的过程中存在卡顿异常,所述m条fps数据属于所述多条fps数据,所述m大于数量阈值;

第二确定单元,用于根据所述m条fps数据中的维度信息、所述目标应用运行时所依赖的服务器的维度信息,以及网络传输信息,确定导致所述第一确定单元确定的卡顿异常的维度。

本申请第三方面提供一种服务器,包括:输入/输出(i/o)接口、处理器和存储器,所述存储器中存储有本申请卡顿异常的分析的指令;

所述i/o接口用于接收运行目标应用的终端上报的多条传输帧数fps数据,其中,每条fps数据包括一个统计周期内所述fps的平均值,以及在该统计周期内的维度信息;

所述处理器用于执行如下步骤:

当有m条fps数据中的fps的平均值小于fps阈值,则确定所述目标应用在运行的过程中存在卡顿异常,所述m条fps数据属于所述多条fps数据,所述m大于数量阈值;

根据所述m条fps数据中的维度信息、所述目标应用运行时所依赖的服务器的维度信息,以及网络传输信息,确定导致卡顿异常的维度。

本申请的又一方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有卡顿异常的分析的指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。

本申请的又一方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。

与现有技术中需要大量的投诉样本才能确定卡顿异常的原因并且确定卡顿不及时相比,本申请实施例在目标应用运行时通过fps数据确定出导致卡顿异常的维度,提高了确定卡顿异常的效率,还可以根据卡顿异常的维度针对性的进行修复。

附图说明

图1是本申请实施例中目标应用的应用系统的一实施例示意图;

图2是本申请实施例中目标应用的应用系统的另一实施例示意图;

图3是本申请实施例中卡顿异常的分析系统的一实施例示意图;

图4是本申请实施例中卡顿异常的分析系统的另一实施例示意图;

图5是本申请实施例中卡顿异常的分析方法的一实施例示意图;

图6是本申请实施例中卡顿异常的分析方法的另一实施例示意图;

图7是本申请实施例中卡顿异常的分析方法的另一实施例示意图;

图8是本申请实施例中卡顿异常的分析方法的另一实施例示意图;

图9是本申请实施例中卡顿异常的分析装置的一实施例示意图;

图10是本申请实施例中卡顿异常的分析装置的一实施例示意图;

图11是本申请实施例中卡顿分析服务器的一实施例示意图。

具体实施方式

下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着卡顿异常分析技术的发展,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

本申请实施例提供一种卡顿异常的分析方法,可以在目标应用运行时通过fps数据确定出导致卡顿异常的维度,提高了确定卡顿异常的效率,还可以根据卡顿异常的维度针对性的进行修复。本申请实施例还提供了相应的装置。以下分别进行详细说明。

图1和图2分别是本申请实施例中目标应用的应用系统的实施例示意图。

图1和图2所示的应用系统可以是游戏系统,游戏系统的服务器侧可以是服务器集群,可以是独立的物理机,还可以是虚拟形态的资源池。服务器集群中的服务器与终端配合,实现目标应用的正常运行。例如:网络游戏运行过程中需要终端和服务器配合才能完成游戏中数据的计算和同步,实现网络游戏的正常运行。

本申请实施例中用于卡顿异常分析的设备可以是从服务器集群中所选择的一台或者多台服务器,例如:图1和图2中的服务器10在实现目标应用的正常运行的时候,还可以用于卡顿异常的分析。

图1中的终端为移动终端,例如:可以是手机和平板电脑等设备。图2所示的终端为个人计算机(personalcomputer,pc)。无论是哪种形态的终端都可以向用于卡顿分析的服务器上报自身的传输帧数(framepersecond,fps)数据,该用于卡顿分析的服务器可以根据终端上报的fps数据确定总体卡顿指标,进而分析终端或者服务器以及网络中哪些维度的卡顿趋势与总体卡顿指标的趋势一致,进而分析出导致卡顿异常的维度,实现了卡顿的精准定位,从而便于针对性的修复。

fps是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。

用于卡顿异常分析的设备还可以是独立于图1和图2所示的服务器集群的其他设备,例如,图3和图4中的服务器20专门用于卡顿异常的分析。图3和图4场景中的服务器20的功能与图1和图2中用于卡顿分析的服务器10的卡顿分析功能相同,即可以接收终端上报的fps数据,也可以获知服务器集群中的服务器的相应信息以及网络信息,从而实现卡顿的精准定位,便于针对性的修复。

卡顿分析的过程可以参阅图5进行理解,如图5所示,本申请实施例提供的卡顿异常的分析方法的一实施例包括:

101、接收运行目标应用的终端上报的多条传输帧数fps数据,其中,每条fps数据包括一个统计周期内所述fps的平均值,以及在该统计周期内的维度信息。

如图1至图4中所示的终端可以向服务器10或者服务器20上报传输帧数,上报的情况可以是一个统计周期上报一次,上报的实际是一个统计周期的平均值,一个统计周期中需要统计多次,算出平均值再上报。

例如:fps值按照0.2s为间隔做统计,每10s取一次平均值上报,其中10s为该示例中的统计周期。

终端上报一个统计周期的fps平均值时,会附带上报该fps平均值的维度信息,以目标应用是游戏应用为例,上报的维度信息例如可以包括:该终端所属的游戏大区,该终端在游戏过程中所涉及到的游戏地图、统计周期中游戏的同屏人数、该终端的机型以及该终端显示界面的画质等维度信息。

102、当有m条fps数据中的fps的平均值小于fps阈值,则确定所述目标应用在运行的过程中存在卡顿异常,所述m条fps数据属于所述多条fps数据,所述m大于数量阈值。

用于卡顿异常分析的服务器在接收到终端上报的fps平均值和维度信息后,在游戏场景中会以玩家为单位将终端上报的fps平均值和维度信息作为一条fps数据。经过多个统计周期后,针对一个玩家会记录多条fps数据。

例如:fps阈值为20帧/秒,低于20帧/秒的fps平均值则可以确定为是低帧率,可能存在卡顿,如果总的fps数据的条数是800条,其中fps平均值小于20帧/秒的fps条数有200条,也就是m=200,数量阈值为150,则200大于150,确定该目标应用在运行过程中存在卡顿,也就是说可以确定该目标应用的总体卡顿指标异常。

103、根据所述m条fps数据中的维度信息、所述目标应用运行时所依赖的服务器的维度信息,以及网络传输信息,确定导致卡顿异常的维度。

本申请实施例中,目标应用运行时所依赖的服务器为支持该目标应用运行的服务器,例如:游戏应用的游戏服务器。

以目标应用是游戏应用为例,该用于卡顿异常分析的服务器可以根据fps数据中的各维度信息、所依赖的服务器的维度信息,以及网络传输信息,确定导致卡顿异常的维度。例如:在游戏应用中可以确定是由游戏大区导致的卡顿、还是地图导致的卡顿,以及其他维度等导致的卡顿。

与现有技术中需要大量的投诉样本才能确定卡顿异常的原因并且确定卡顿不及时相比,本申请实施例在目标应用运行时通过fps数据确定出导致卡顿异常的维度,提高了确定卡顿异常的效率,还可以根据卡顿异常的维度针对性的进行修复。

上述卡顿异常的分析的过程结合游戏应用的场景还可以结合图6进行理解,如图6所示,卡顿异常的分析方法的另一实施例包括:

为了便于描述,下文将用于卡顿异常分析的服务器统称为卡顿分析服务器

201、在终端上运行的游戏应用调用游戏应用中的灯塔api,向用于卡顿分析服务器上报fps数据,每条fps数据包括一个统计周期内fps的平均值,以及在该统计周期内的维度信息。

202、卡顿分析服务器针对同一个玩家一个统计周期内的数据进行数据拟合,拟合成一条fps数据。

实际上本申请实施例中的数据拟合就是将一个玩家一个统计周期中的数据作为一条fps数据。

203、卡顿分析服务器结合配置数据和fps数据进行卡顿异常分析。

卡顿异常分析的过程可以结合图7进行描述,如图7所示,卡顿有两种,一种为fps卡顿,一种为延时卡顿,该延时卡顿也可以称为网络卡顿,是由网络传输不通畅导致的卡顿。

其中,针对延时卡顿,无论是在服务器还是在终端,导致延时卡顿的维度通常包括传输耗时、网络延时和网络丢包。

此处需要说明的是,图7中的服务器为游戏应用运行所依赖的服务器。

fps卡顿可分别从服务器和终端两方面去分析。

其中,服务器中会导致fps卡顿的原因在逻辑处理层通常包括bus通道,下行包处理和app处理几个方面,影响这几个方面的因素通常是服务器的硬件原因,例如:中央处理器cpu,共享内存、磁盘i/o、内核和网卡等几个维度。

终端中会到是fps卡顿的原因在逻辑处理层通常包括上行包处理,特效渲染、同屏人数、画质、机型等。画质例如可以是高清、超清、流畅和极速等。机型指的是终端的型号。

特效渲染:指特殊的效果。通常是由电脑软件制作出的现实中一般不会出现的特殊效果。

同屏人数:玩家人物在游戏屏幕中一共同时出现多少个人物,该人物按类型包括:其他玩家、npc等。npc指personcharacter,或者non-playablecharacter,泛指一切游戏中不受玩家控制的角色。在电子游戏中,npc一般由计算机的人工智能控制。

内核包处理:操作系统中内核态中数据包的处理过程。

网卡包处理:操作系统中网卡对数据包的处理。

可选地,本申请实施例中提供的卡顿异常的分析方法的另一实施例中,所述根据所述m条fps数据中的维度信息、所述目标应用运行时所依赖的服务器的维度信息,以及网络传输信息,确定导致卡顿异常的维度,可以包括:

分别获取分析时段内所述目标应用总体的低帧率曲线,所述m条fps数据中的维度信息、所述目标应用运行时所依赖的服务器的维度信息中各维度的低帧率曲线,所述低帧率曲线为所述fps的平均值小于所述fps阈值的帧率所形成的曲线,所述分析时段为产生所述多条fps数据的时段;

将所述各维度的低帧率曲线中低帧率趋势与所述总体的低帧率曲线一致的维度确定为导致卡顿异常的维度;

当所述各维度的低帧率曲线的低帧率趋势都与所述总体的低帧率曲线不一致时,将网络传输信息确定为导致卡顿异常的维度,所述网络传输信息包括传输时耗、网络延时和网络丢包中的至少一个。

本申请实施例中,可以通过低帧率曲线的趋势来确定导致卡顿的维度,通过终端上报的fps数据中的多个fps平均值可以确定总体的低帧率曲线,通过fps数据中的维度信息以及各个维度信息对应的fps平均值,还可以确定各个维度的低帧率曲线。

另外,本申请实施例中,各维度的低帧率曲线中低帧率趋势与所述总体的低帧率曲线一致,指的是其中小于预置阈值的低帧率曲线与总体的低帧率曲线的趋势一致,如果超过该预置阈值,则可以确定不是该维度导致的卡顿。

本申请实施例中,信息之间的匹配采用皮尔森系数进行计算,公式如下:

其中,x为整体低帧率曲线,y为某个维度的一个低帧率曲线,ρx,y表示y和x匹配的概率,匹配的概率大于预置阈值,说明y与x匹配,如果该维度上的多个y都与x匹配,则可以确定卡顿异常不是由该维度导致的,如果该维度上只有少量的y与x匹配上,则可以确定卡顿异常是由该维度导致的。

可选地,本申请实施例中提供的卡顿异常的分析方法的另一实施例中,所述目标应用为游戏应用,所述游戏应用包括多个游戏大区和多个游戏地图;

所述分别获取分析时段内所述目标应用总体的低帧率曲线,所述m条fps数据中的维度信息、所述目标应用运行时所依赖的服务器的维度信息中各维度的低帧率曲线,包括:

分别获取所述分析时段内所述目标应用总体的低帧率曲线,每个游戏大区的低帧率曲线,每个游戏地图的低帧率曲线;

所述将所述各维度的低帧率曲线中低帧率趋势与所述总体的低帧率曲线一致的维度确定为导致卡顿异常的维度,包括:

分别将所述每个游戏大区的低帧率曲线与所述总体的低帧率曲线进行比较;

分别将所述每个游戏地图的低帧率曲线与所述总体的低帧率曲线进行比较;

将所述游戏大区和所述游戏地图中满足卡顿异常要求的至少一个维度确定为导致卡顿异常的维度。

可选地,本申请实施例中提供的卡顿异常的分析方法的另一实施例中,所述将所述游戏大区和所述游戏地图中满足卡顿异常要求的至少一个维度确定为导致卡顿异常的维度,包括:

当所有游戏大区的低帧率曲线中有小于第一阈值的低帧率曲线与所述总体的低帧率曲线的趋势一致,则将所述游戏大区确定为导致卡顿异常的维度;

当所有游戏地图的低帧率曲线中有小于第二阈值的低帧率曲线与所述总体的低帧率曲线的趋势一致,则将所述游戏地图确定为导致卡顿异常的维度。

当所述游戏大区的低帧率曲线中有小于第一阈值的低帧率曲线与所述总体的低帧率曲线的趋势一致,以及当所有游戏地图的低帧率曲线中有小于第二阈值的低帧率曲线与所述总体的低帧率曲线的趋势一致,则将所述游戏大区和所述游戏地图确定为导致卡顿异常的维度。

可选地,本申请实施例中提供的卡顿异常的分析方法的另一实施例中,所述方法还包括:

将所述分析时段内所述终端侧的所述游戏应用的上行包信息、特效个数、同屏模拟对象的数量、画质信息和所述终端的机型中的至少一个比对信息与配置信息中的对应信息进行比较,所述配置信息包括所述至少一个信息所对应的卡顿描述信息;

将所述分析时段内所述所依赖的服务器的硬件信息与所述配置信息中对应的信息进行比较;

将与所述配置信息中的对应信息差距大于门限值的比对信息或者硬件信息确定为导致卡顿异常的信息。

可选地,本申请实施例中提供的卡顿异常的分析方法的另一实施例中,所述方法还包括:

输出导致卡顿异常的维度,以及时修复所述目标应用的卡顿异常。

无论是服务器还是终端,都会涉及到游戏大区和游戏地图两个维度,在后文中将游戏大区简称为大区,将游戏地图简称为地图。

为了便于理解,下面结合图8的示例介绍本申请实施例中如何定位导致卡顿异常的维度的过程。

下面结合图8说明本申请实施例中卡顿异常的分析过程。

301、fps整体告警。

fps整体告警表示存在卡顿异常。

302、分析大区维度是否是导致卡顿异常的维度。

303、确定是否有80%以上的大区的低帧率曲线的趋势都与总体的低帧率曲线的趋势相同,若是,则执行304,若否,则执行305。

整体低帧率突增,按照上述皮尔森系数逻辑匹配大区维度,取分析时段内每个大区的低帧率曲线,与整体低帧率曲线进行匹配:

x=[x1,x2,x3...xn];

x为整体低帧率曲线列表。

y=[y1,y2,y3...yn];

y为某个大区的低帧率曲线列表。

ρx,y值如果为0.8以上,则说明与某个大区匹配成功。

比如一个游戏有m个大区,如果有n%的以下的大区匹配成功,则认为该变化与大区相关。如果大于n%的大区匹配成功,则可以确定与大区维度不相关,并且按照逻辑图继续对其他维度进行匹配。

本示例中的n%为80%,实际上,也可以是其他取值,根据需求和场景确定,对该取值,本申请实施例中不做具体限定。

304、流程结束,与大区不相关。

305、确定是都有80%以上的地图的低帧率曲线的趋势都与总体的低帧率曲线的趋势相同,若是,则执行306,若否,则执行307。

306、卡顿与大区维度强相关。

确定卡顿与大区维度强相关后,还可以进一步核查如下因素:

上行包(协议id、包量、耗时)、特效个数(大区id)、同屏人数(大区id)、机型、画质

确认大区所在ip的:cpu和app包处理、网卡、内核包处理情况、包量、内网包量。

可以再进一步确定是有哪个因素导致的卡顿,例如:如果确认到是特效个数过多,则可以通过减少特效个数来消减卡顿。

307、卡顿与大区和地图强相关。

确定卡顿与大区和地图维度强相关后,还可以进一步核查如下因素:

上行包(协议id、包量、耗时);

特效个数(大区id,地图id);

同屏人数(大区id,地图id);

大区下地图id是否为同一地区,如果是,则判定与具体设备相关;

匹配该ip的cpu和app包处理、网卡、内核包处理情况。

308、分析地图维度是否是导致卡顿异常的维度。

309、确定是否有80%以上的地图的低帧率曲线的趋势都与总体的低帧率曲线的趋势相同,若是,则执行310,若否,则执行311。

该确定过程可以参阅步骤303的过程进行理解,只是步骤309是确定地图维度,步骤303是确定大区维度。

310、流程结束,与地图不相关。

311、确定是否有80%以上的大区的低帧率曲线的趋势都与总体的低帧率曲线的趋势相同,若是,则执行312,若否,则执行307。

312、卡顿与地图维度强相关。

确定卡顿与地图维度强相关后,还可以进一步核查如下因素:

上行包(协议id、包量、耗时);

特效个数(地图id);

同屏人数(地图id);

展示:该地图id玩家fps最高的坐标(表格)。

313、与大区和地图不相关。

核查总体因素:

上行包(协议id、包量、耗时)、特效个数、同屏人数、机型和画质等。

通过以上实施例中的描述可以确定,本申请实施例中可以定位到导致卡顿的具体维度,从而有利于快速消除卡顿。可以在游戏过程中,特别是在新版本发布后,可以快速定位到卡顿问题所在,从而针对性的进行调整。

以上是对卡顿异常的分析方法的描述,下面结合附图,介绍本申请实施例中卡顿异常的分析装置。

如图9所示,本申请实施例提供的卡顿异常的分析装置40的一实施例包括:

接收单元401,用于接收运行目标应用的终端上报的多条传输帧数fps数据,其中,每条fps数据包括一个统计周期内所述fps的平均值,以及在该统计周期内的维度信息;

第一确定单元402,用于当所述接收单元401接收的多条fps数据中有m条fps数据中的fps的平均值小于fps阈值,则确定所述目标应用在运行的过程中存在卡顿异常,所述m条fps数据属于所述多条fps数据,所述m大于数量阈值;

第二确定单元403,用于根据所述m条fps数据中的维度信息、所述目标应用运行时所依赖的服务器的维度信息,以及网络传输信息,确定导致所述第一确定单元402确定的卡顿异常的维度。

与现有技术中需要大量的投诉样本才能确定卡顿异常的原因并且确定卡顿不及时相比,本申请实施例在目标应用运行时通过fps数据确定出导致卡顿异常的维度,提高了确定卡顿异常的效率,还可以根据卡顿异常的维度针对性的进行修复。

可选地,本申请实施例提供的卡顿异常的分析装置40的另一实施例中,

所述第二确定单元403用于:

分别获取分析时段内所述目标应用总体的低帧率曲线,所述m条fps数据中的维度信息、所述目标应用运行时所依赖的服务器的维度信息中各维度的低帧率曲线,所述低帧率曲线为所述fps的平均值小于所述fps阈值的帧率所形成的曲线,所述分析时段为产生所述多条fps数据的时段;

将所述各维度的低帧率曲线中低帧率趋势与所述总体的低帧率曲线一致的维度确定为导致卡顿异常的维度;

当所述各维度的低帧率曲线的低帧率趋势都与所述总体的低帧率曲线不一致时,将网络传输信息确定为导致卡顿异常的维度,所述网络传输信息包括传输时耗、网络延时和网络丢包中的至少一个。

可选地,本申请实施例提供的卡顿异常的分析装置40的另一实施例中,

所述第二确定单元403用于:在所述目标应用为游戏应用,所述游戏应用包括多个游戏大区和多个游戏地图时,

分别获取所述分析时段内所述目标应用总体的低帧率曲线,每个游戏大区的低帧率曲线,每个游戏地图的低帧率曲线;

分别将所述每个游戏大区的低帧率曲线与所述总体的低帧率曲线进行比较;

分别将所述每个游戏地图的低帧率曲线与所述总体的低帧率曲线进行比较;

将所述游戏大区和所述游戏地图中满足卡顿异常要求的至少一个维度确定为导致卡顿异常的维度。

可选地,本申请实施例提供的卡顿异常的分析装置40的另一实施例中,

所述第二确定单元403用于:

当所有游戏大区的低帧率曲线中有小于第一阈值的低帧率曲线与所述总体的低帧率曲线的趋势一致,则将所述游戏大区确定为导致卡顿异常的维度;

当所有游戏地图的低帧率曲线中有小于第二阈值的低帧率曲线与所述总体的低帧率曲线的趋势一致,则将所述游戏地图确定为导致卡顿异常的维度。

当所述游戏大区的低帧率曲线中有小于第一阈值的低帧率曲线与所述总体的低帧率曲线的趋势一致,以及当所有游戏地图的低帧率曲线中有小于第二阈值的低帧率曲线与所述总体的低帧率曲线的趋势一致,则将所述游戏大区和所述游戏地图确定为导致卡顿异常的维度。

可选地,本申请实施例提供的卡顿异常的分析装置40的另一实施例中,

所述第二确定单元403还用于:

将所述分析时段内所述终端侧的所述游戏应用的上行包信息、特效个数、同屏模拟对象的数量、画质信息和所述终端的机型中的至少一个比对信息与配置信息中的对应信息进行比较,所述配置信息包括所述至少一个信息所对应的卡顿描述信息;

将所述分析时段内所述所依赖的服务器的硬件信息与所述配置信息中对应的信息进行比较;

将与所述配置信息中的对应信息差距大于门限值的比对信息或者硬件信息确定为导致卡顿异常的信息。

可选地,参阅图10,本申请实施例提供的卡顿异常的分析装置40的另一实施例中,所述分析装置40还包括:

输出装置404,用于输出所述第二确定单元确定出的导致卡顿异常的维度,以及时修复所述目标应用的卡顿异常。

图11是本发明实施例提供的卡顿分析服务器50的结构示意图。所述卡顿分析服务器50包括处理器510、存储器550和收发器530,存储器550可以包括只读存储器和随机存取存储器,并向处理器510提供操作指令和数据。存储器550的一部分还可以包括非易失性随机存取存储器(nvram)。

在一些实施方式中,存储器550存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:

在本发明实施例中,通过调用存储器550存储的操作指令(该操作指令可存储在操作系统中),

通过收发器530接收运行目标应用的终端上报的多条传输帧数fps数据,其中,每条fps数据包括一个统计周期内所述fps的平均值,以及在该统计周期内的维度信息;

当有m条fps数据中的fps的平均值小于fps阈值,则确定所述目标应用在运行的过程中存在卡顿异常,所述m条fps数据属于所述多条fps数据,所述m大于数量阈值;

根据所述m条fps数据中的维度信息、所述目标应用运行时所依赖的服务器的维度信息,以及网络传输信息,确定导致卡顿异常的维度。

与现有技术中需要大量的投诉样本才能确定卡顿异常的原因并且确定卡顿不及时相比,本申请实施例在目标应用运行时通过fps数据确定出导致卡顿异常的维度,提高了确定卡顿异常的效率,还可以根据卡顿异常的维度针对性的进行修复。

处理器510控制卡顿分析服务器50的操作,处理器510还可以称为cpu(centralprocessingunit,中央处理单元)。存储器550可以包括只读存储器和随机存取存储器,并向处理器510提供指令和数据。存储器550的一部分还可以包括非易失性随机存取存储器(nvram)。具体的应用中卡顿分析服务器50的各个组件通过总线系统520耦合在一起,其中总线系统520除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统520。

上述本发明实施例揭示的方法可以应用于处理器510中,或者由处理器510实现。处理器510可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器510中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器510可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器550,处理器510读取存储器550中的信息,结合其硬件完成上述方法的步骤。

可选地,处理器510用于:

分别获取分析时段内所述目标应用总体的低帧率曲线,所述m条fps数据中的维度信息、所述目标应用运行时所依赖的服务器的维度信息中各维度的低帧率曲线,所述低帧率曲线为所述fps的平均值小于所述fps阈值的帧率所形成的曲线,所述分析时段为产生所述多条fps数据的时段;

将所述各维度的低帧率曲线中低帧率趋势与所述总体的低帧率曲线一致的维度确定为导致卡顿异常的维度;

当所述各维度的低帧率曲线的低帧率趋势都与所述总体的低帧率曲线不一致时,将网络传输信息确定为导致卡顿异常的维度,所述网络传输信息包括传输时耗、网络延时和网络丢包中的至少一个。

可选地,处理器510用于:在所述目标应用为游戏应用,所述游戏应用包括多个游戏大区和多个游戏地图时;

分别获取所述分析时段内所述目标应用总体的低帧率曲线,每个游戏大区的低帧率曲线,每个游戏地图的低帧率曲线;

分别将所述每个游戏大区的低帧率曲线与所述总体的低帧率曲线进行比较;

分别将所述每个游戏地图的低帧率曲线与所述总体的低帧率曲线进行比较;

将所述游戏大区和所述游戏地图中满足卡顿异常要求的至少一个维度确定为导致卡顿异常的维度。

可选地,处理器510用于:

当所有游戏大区的低帧率曲线中有小于第一阈值的低帧率曲线与所述总体的低帧率曲线的趋势一致,则将所述游戏大区确定为导致卡顿异常的维度;

当所有游戏地图的低帧率曲线中有小于第二阈值的低帧率曲线与所述总体的低帧率曲线的趋势一致,则将所述游戏地图确定为导致卡顿异常的维度。

当所述游戏大区的低帧率曲线中有小于第一阈值的低帧率曲线与所述总体的低帧率曲线的趋势一致,以及当所有游戏地图的低帧率曲线中有小于第二阈值的低帧率曲线与所述总体的低帧率曲线的趋势一致,则将所述游戏大区和所述游戏地图确定为导致卡顿异常的维度。

可选地,处理器510还用于:

将所述分析时段内所述终端侧的所述游戏应用的上行包信息、特效个数、同屏模拟对象的数量、画质信息和所述终端的机型中的至少一个比对信息与配置信息中的对应信息进行比较,所述配置信息包括所述至少一个信息所对应的卡顿描述信息;

将所述分析时段内所述所依赖的服务器的硬件信息与所述配置信息中对应的信息进行比较;

将与所述配置信息中的对应信息差距大于门限值的比对信息或者硬件信息确定为导致卡顿异常的信息。

可选地,收发器530用于输出导致卡顿异常的维度,以及时修复所述目标应用的卡顿异常。

以上对卡顿分析服务器50的描述可以参阅图1至图8部分的描述进行理解,本处不再重复赘述。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:rom、ram、磁盘或光盘等。

以上对本申请实施例所提供的卡顿异常的分析方法以及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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