应用性能监测方法、装置、计算机设备和存储介质转让专利

申请号 : CN201811122912.0

文献号 : CN109388539B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林纯弟唐杰

申请人 : 中国平安财产保险股份有限公司

摘要 :

本申请涉及一种基于安全技术的应用性能监测方法、装置、计算机设备和存储介质。所述方法包括:获取服务器针对待监测的目标应用推送的性能监测工具包;将所述性能监测工具包嵌入所述目标应用;在运行所述目标应用时,加载嵌入至所述目标应用的所述性能监测工具包,以运行在所述性能监测工具包中封装的监测逻辑;通过所运行的监测逻辑,收集目标应用在运行过程中对应的性能关联数据;发送携带所述性能关联数据的性能分析请求至所述服务器;性能分析请求,用于指示所述服务器根据所述性能关联数据对所述目标应用进行性能分析。采用本方法能够提高对应用的性能监控效率。

权利要求 :

1.一种应用性能监测方法,应用于终端,所述方法包括:在启动待监测的目标应用时,向服务器请求相应的性能监测工具包,获取服务器针对待监测的目标应用推送的性能监测工具包;

确定当前登录于所述目标应用的用户标识;

获取与所述用户标识对应的、且针对所述目标应用的历史行为记录;

根据所述历史行为记录,预测所述用户标识所对应的用户的性能监测意愿;

当预测结果为所述用户具有性能监测意愿时,将所述性能监测工具包嵌入所述目标应用;

在运行所述目标应用时,加载嵌入至所述目标应用的所述性能监测工具包,以运行在所述性能监测工具包中封装的监测逻辑;

通过所运行的监测逻辑,收集目标应用在运行过程中对应的性能关联数据;

发送携带所述性能关联数据的性能分析请求至所述服务器;性能分析请求,用于指示所述服务器将上报的所述性能关联数据输入至预先训练的机器学习分类模型中,以通过所述机器学习分类模型输出相应的异常类别;

接收所述服务器下发的根据所述异常类别生成的异常处理指令,并根据所述异常处理指令对所述目标应用进行相应的修复处理。

2.根据权利要求1所述的方法,其特征在于,所述性能监测工具包,是指用于实现性能监测功能的软件开发工具包。

3.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取安装于本地的各应用的历史使用问题;

针对安装于本地的每个应用,根据预设的使用问题和待监测需求值之间的对应关系,分别确定所述应用的各历史使用问题所对应的待监测需求值,并将所述应用的各个待监测需求值求和,得到所述应用的待监测需求总值;

从安装于本地的应用中,确定出待监测需求总值大于或等于预设需求阈值的应用,作为待监测的目标应用。

4.根据权利要求1所述的方法,其特征在于,所述待监测的目标应用为多个;所述获取服务器针对待监测的目标应用推送的性能监测工具包包括:获取各个待监测的目标应用的类别;

发送携带各所述目标应用的类别的性能监测工具包获取请求至服务器;

接收所述服务器反馈的与各所述目标应用的类别对应的性能监测工具包;

所述将所述性能监测工具包嵌入所述目标应用包括:

针对每个目标应用,将与所述目标应用的类别对应的性能监测工具包嵌入所述目标应用。

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:在本地对收集的所述性能关联数据进行异常分析;

根据异常分析结果,从收集的性能关联数据中确定出异常的性能关联数据;

所述发送携带所述性能关联数据的性能分析请求至所述服务器包括:发送携带异常的性能关联数据的性能分析请求至所述服务器;所述性能分析请求,用于指示所述服务器根据所述异常的性能关联数据对所述目标应用进行性能分析。

6.根据权利要求5所述的方法,其特征在于,所述在本地对收集的所述性能关联数据进行异常分析包括:确定与获取的各性能关联数据相应设置的异常条件;

在本地将各性能关联数据分别与相应异常条件比对,得到异常分析结果;

所述根据异常分析结果,从收集的所述性能关联数据中确定出异常的性能关联数据包括:当异常分析结果表示所述性能关联数据符合相应异常条件时,则判定所述性能关联数据为异常的性能关联数据。

7.根据权利要求1至6中任一项所述的方法,其特征在于,在发送携带所述性能关联数据的性能分析请求至所述服务器之前,所述方法还包括:在本地将各性能关联数据分别量化为相应的异常量化值;

分别获取针对各性能关联数据所属性能关联事项设置的预设权重;

按照各性能关联数据所属性能关联事项的预设权重,将各性能关联数据相应的异常量化值进行加权求和,得到所述目标应用的总异常值;

当所述总异常值大于或等于预设异常阈值时,再执行所述发送携带所述性能关联数据的性能分析请求至所述服务器的步骤。

8.一种应用性能监测装置,其特征在于,所述装置包括:获取模块,用于在启动待监测的目标应用时,向服务器请求相应的性能监测工具包,获取服务器针对待监测的目标应用推送的性能监测工具包;

嵌入模块,用于确定当前登录于所述目标应用的用户标识;获取与所述用户标识对应的、且针对所述目标应用的历史行为记录;根据所述历史行为记录,预测所述用户标识所对应的用户的性能监测意愿;当预测结果为所述用户具有性能监测意愿时,将所述性能监测工具包嵌入所述目标应用;

加载模块,用于在运行所述目标应用时,加载嵌入至所述目标应用的所述性能监测工具包,以运行在所述性能监测工具包中封装的监测逻辑;

性能关联数据收集模块,用于通过所运行的监测逻辑,收集目标应用在运行过程中对应的性能关联数据;

性能分析模块,用于发送携带所述性能关联数据的性能分析请求至所述服务器;性能分析请求,用于指示所述服务器将上报的所述性能关联数据输入至预先训练的机器学习分类模型中,以通过所述机器学习分类模型输出相应的异常类别;接收所述服务器下发的根据所述异常类别生成的异常处理指令,并根据所述异常处理指令对所述目标应用进行相应的修复处理。

9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

说明书 :

应用性能监测方法、装置、计算机设备和存储介质

技术领域

[0001] 本申请涉及计算机技术领域,特别是涉及一种应用性能监测方法、装置、计算机设备和存储介质。

背景技术

[0002] 随着科学技术的飞速发展,应用程序(APP,Application)的种类和功能日益丰富。在人们的日常工作、学习和生活中,经常需要下载各种各样的应用程序至终端来处理相应事情。由于每个应用程序在使用过程中都会消耗一定的终端系统资源,所以,各应用程序的使用性能直接影响终端的运行情况。为了保持终端的正常运行,通常需要对应用程序的使用性能进行监测。
[0003] 传统方法中,用户需要下载专门用于进行性能监测的监测应用程序,来对其他的应用程序的使用性能进行监测。这种情况下,用户既需要下载监测应用程序,又需要在监测应用程序上进行相应的监测操作,才能实现对其他应用程序的性能监测。因此,传统方法中,需要用户下载监测应用程序以及手动进行监测操作,操作比较繁琐,性能监测效率比较低。

发明内容

[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] 在本地将各性能关联数据分别与相应异常条件比对,得到异常分析结果;
[0034] 所述根据异常分析结果,从收集的所述性能关联数据中确定出异常的性能关联数据包括:
[0035] 当异常分析结果表示所述性能关联数据符合相应异常条件时,则判定所述性能关联数据为异常的性能关联数据。
[0036] 在其中一个实施例中,在发送携带所述性能关联数据的性能分析请求至所述服务器之前,所述方法还包括:
[0037] 在本地将各性能关联数据分别量化为相应的异常量化值;
[0038] 分别获取针对各性能关联数据所属性能关联事项设置的预设权重;
[0039] 按照各性能关联数据所属性能关联事项的预设权重,将各性能关联数据相应的异常量化值进行加权求和,得到所述目标应用的总异常值;
[0040] 当所述总异常值大于或等于预设异常阈值时,再执行所述发送携带所述性能关联数据的性能分析请求至所述服务器的步骤。
[0041] 一种应用性能监测装置,所述装置包括:
[0042] 获取模块,用于获取服务器针对待监测的目标应用推送的性能监测工具包;
[0043] 嵌入模块,用于将所述性能监测工具包嵌入所述目标应用;
[0044] 加载模块,用于在运行所述目标应用时,加载嵌入至所述目标应用的所述性能监测工具包,以运行在所述性能监测工具包中封装的监测逻辑;
[0045] 性能关联数据收集模块,用于通过所运行的监测逻辑,收集目标应用在运行过程中对应的性能关联数据;
[0046] 性能分析模块,用于发送携带所述性能关联数据的性能分析请求至所述服务器;性能分析请求,用于指示所述服务器根据所述性能关联数据对所述目标应用进行性能分析。
[0047] 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0048] 获取服务器针对待监测的目标应用推送的性能监测工具包;
[0049] 将所述性能监测工具包嵌入所述目标应用;
[0050] 在运行所述目标应用时,加载嵌入至所述目标应用的所述性能监测工具包,以运行在所述性能监测工具包中封装的监测逻辑;
[0051] 通过所运行的监测逻辑,收集目标应用在运行过程中对应的性能关联数据;
[0052] 发送携带所述性能关联数据的性能分析请求至所述服务器;性能分析请求,用于指示所述服务器根据所述性能关联数据对所述目标应用进行性能分析。
[0053] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0054] 获取服务器针对待监测的目标应用推送的性能监测工具包;
[0055] 将所述性能监测工具包嵌入所述目标应用;
[0056] 在运行所述目标应用时,加载嵌入至所述目标应用的所述性能监测工具包,以运行在所述性能监测工具包中封装的监测逻辑;
[0057] 通过所运行的监测逻辑,收集目标应用在运行过程中对应的性能关联数据;
[0058] 发送携带所述性能关联数据的性能分析请求至所述服务器;性能分析请求,用于指示所述服务器根据所述性能关联数据对所述目标应用进行性能分析。
[0059] 上述应用性能监测方法、装置、计算机设备和存储介质,将服务器推送的性能监测工具包嵌入目标应用,这样一来,在运行所述目标应用时,加载嵌入至所述目标应用的所述性能监测工具包,以运行在所述性能监测工具包中封装的监测逻辑;通过所运行的监测逻辑,收集目标应用在运行过程中对应的性能关联数据,发送携带所述性能关联数据的性能分析请求至所述服务器;性能分析请求,用于指示所述服务器根据所述性能关联数据对所述目标应用进行性能分析。即通过在目标应用中嵌入性能监测工具包的方式即可实现对目标应用的性能监控,而不需要下载额外的、独立的监控应用,也不需要用户繁琐的监控操作,提高了对应用的性能监控效率。

附图说明

[0060] 图1为一个实施例中应用性能监测方法的应用场景图;
[0061] 图2为一个实施例中应用性能监测方法的流程示意图;
[0062] 图3为一个实施例中待监测的目标应用的确定步骤的流程示意图;
[0063] 图4为一个实施例中应用异常初级判定步骤的流程示意图;
[0064] 图5为一个实施例中应用性能监测装置的结构框图;
[0065] 图6为另一个实施例中应用性能监测装置的结构框图;
[0066] 图7为一个实施例中性能分析模块的结构框图;
[0067] 图8为一个实施例中计算机设备的内部结构图。

具体实施方式

[0068] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0069] 本申请提供的应用性能监测方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120通过网络进行通信。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。需要说明的是,终端110中安装有应用。本申请各实施例中所提供的应用性能监测方法主要用于对安装于终端110本地的待监测的目标应用进行性能监测。
[0070] 终端110可以获取服务器120针对安装于终端110本地的待监测的目标应用推送的性能监测工具包。终端110可以将性能监测工具包嵌入目标应用,并在运行目标应用时,加载嵌入至目标应用的性能监测工具包,以运行在性能监测工具包中封装的监测逻辑。终端110可以通过所运行的监测逻辑,收集目标应用在运行过程中对应的性能关联数据,并发送携带性能关联数据的性能分析请求至服务器120。其中,性能分析请求,用于指示服务器120根据性能关联数据对目标应用进行性能分析。
[0071] 在一个实施例中,如图2所示,提供了一种应用性能监测方法,以该方法应用于图1中的终端110为例进行说明,包括以下步骤:
[0072] S202,获取服务器针对待监测的目标应用推送的性能监测工具包。
[0073] 其中,应用,即应用程序(Application,APP)。目标应用,是需要监测其性能的应用。性能监测工具包,是指用于实现性能监测功能的软件开发工具包。软件开发工具包(SDK,Software Development Kit),即为辅助开发某一类软件的相关文档、范例和工具的集合。性能监测工具包中封装有监测逻辑。监测逻辑,即为用于实现性能监测功能的逻辑代码。
[0074] 可以理解,终端可以在启动待监测的目标应用时,向服务器请求相应的性能监测工具包,以使服务器针对目标应用推送相应性能监测工具包。在其他实施例中,也可以是服务器自发地向终端推送与目标应用相应的性能监测工具包。
[0075] 需要说明的是,待监测的目标应用可以是全部安装于终端本地的应用,也可以是从安装于终端本地的应用中确定出的一部分需要进行性能监测的应用。
[0076] 可以理解,服务器可以针对所有应用推送统一、通用的性能监测工具包至终端。服务器也可以针对不同的应用推送对应的性能监测工具包,其中,不同的应用对应的性能监测工具包可以不同。
[0077] 如图3所示,在一个实施例中,在步骤S202之前,该方法还包括待监测的目标应用的确定步骤,具体包括以下步骤:
[0078] S302,获取安装于本地的各应用的历史使用问题。
[0079] S304,针对安装于本地的每个应用,根据预设的使用问题和待监测需求值之间的对应关系,分别确定应用的各历史使用问题所对应的待监测需求值,并将应用的各个待监测需求值求和,得到应用的待监测需求总值。
[0080] S306,从安装于本地的应用中,确定出待监测需求总值大于或等于预设需求阈值的应用,作为待监测的目标应用。
[0081] 可以理解,终端可以获取本地的各应用仅在本地使用过程中产生的历史使用问题,也可以从服务器中获取本地的各应用在已安装的各个设备中的所有历史使用问题。对此不做限定。
[0082] 其中,待监测需求值,用于反映应用需要做性能监测的需求程度。应用需要做性能监测的需求程度与待监测需求值正相关,待监测需求值越大,应用越需要做性能监测,反之,待监测需求值越小,应用越不需要做性能监测。
[0083] 具体地,终端的本地中可以预先存储使用问题和待监测需求值之间的对应关系,终端也可以从服务器中请求获取使用问题和待监测需求值之间的对应关系。终端可以针对安装于本地的每个应用,根据该对应关系,分别确定该应用的各个历史使用问题所对应的待监测需求值。终端可以将应用的各个待监测需求值求和,得到该应用的待监测需求总值。终端可以获取预设需求阈值,并将安装于本地的各个应用的待监测需求总值与预设需求阈值比对,当待监测需求总值大于或等于预设需求阈值时,则判定该应用为待监测的目标应用。
[0084] S204,将性能监测工具包嵌入目标应用。
[0085] 具体地,终端可以直接将性能监测工具包嵌入待监测的目标应用,也可以在接收到服务器推送的性能监测工具包之后,确定是否需要将性能监测工具包嵌入目标应用,当确定需要将性能监测工具包嵌入目标应用后,在执行步骤S204。
[0086] 在一个实施例中,该方法还包括:确定当前登录于目标应用的用户标识;获取与用户标识对应的针对目标应用的历史行为记录;根据历史行为记录,预测用户标识所对应的用户的性能监测意愿;当预测结果为用户具有性能监测意愿时,再执行步骤S204。
[0087] 其中,历史行为记录,是指用户标识所对应的用户在使用目标应用时所产生的行为记录。可以理解,终端可以从本地获取用户标识所对应的、且在本地产生的针对目标应用的历史行为记录。即获取用户标识所对应的用户在终端的本地使用目标应用时所产生的行为记录。历史行为记录,也可以不限定于在本地使用目标应用时产生的行为记录。
[0088] 在一个实施例中,历史行为记录包括在终端的本地是否有安装过专门的监测应用、在终端本地安装应用时是否开放用于获取用户个人信息的权限等记录。在一个实施例中,用于获取用户个人信息的权限,可以包括获取定位信息的权限和获取通讯录信息的权限等中的至少一种。可以理解,上述这些历史行为记录,可以从一定程度上反映用户是否特别注重个人隐私,因此,根据上述历史行为记录可以比较准确地预测用户是否愿意接受性能监测,即确定出用户的性能监测意愿。
[0089] 在一个实施例中,终端中可以预先存储历史行为记录与意愿分值之间的对应关系,根据该对应关系,确定出各个历史行为记录所分别对应的意愿分值,将所有历史行为记录的意愿分值求和,得到与用户标识对应的意愿总分值,当意愿总分值大于或等于预设分值阈值时,则得到用户标识所对应的用户具有性能监测意愿的预测结果,当意愿总分值小于预设分值阈值时,则得到用户标识所对应的用户无性能监测意愿的预测结果。
[0090] 在另一个实施例中,终端中可以预先训练监测意愿预测模型,将历史行为记录输入该监测意愿预测模型中,输出预测结果。可以理解,监测意愿预测模型,是预先根据包括样本行为记录和相应的样本标签的样本数据进行迭代地、有监督的机器学习训练,得到的用于预测用户的监测意愿的机器学习模型。
[0091] 在一个实施例中,终端在将性能监测工具包嵌入目标应用之前,触发生成一个提示信息,以提示是否愿意接受性能监测。当接受到选择的接受监测的指令时,则执行步骤S204。
[0092] S206,在运行目标应用时,加载嵌入至目标应用的性能监测工具包,以运行在性能监测工具包中封装的监测逻辑。
[0093] 具体地,由于在目标应用中嵌入了性能监测工具包,所以在运行目标应用时,可以加载所嵌入的性能监测工具包,在加载性能监测工具包时可以运行在性能监测工具包中封装的监测逻辑。
[0094] S208,通过所运行的监测逻辑,收集目标应用在运行过程中对应的性能关联数据。
[0095] 其中,性能关联数据,是与应用的使用性能相关的数据,能够体现应用的使用性能。
[0096] 在一个实施例中,性能关联数据可以包括CPU占比、内存使用情况、应用卡顿情况、应用启动时间、应用页面帧率等数据。
[0097] 具体地,终端可以在运行监测逻辑时,通过运行的监测逻辑代码确定所要监测的性能关联事项,然后针对各性能关联事项收集相应的性能关联数据。
[0098] 性能关联事项,是能够体现应用的使用性能的事项。可以理解,性能关联数据,是具体的实质性数据。性能关联事项,是性能关联数据所属事项。
[0099] S210,发送携带性能关联数据的性能分析请求至服务器。
[0100] 其中,性能分析请求,用于指示服务器根据性能关联数据对目标应用进行性能分析。
[0101] 具体地,终端可以根据收集的性能关联数据,生成性能分析请求,并将性能分析请求发送至服务器。服务器可以根据性能分析请求中的性能关联数据,对目标应用进行性能分析。
[0102] 在一个实施例中,性能关联数据,可以用于指示服务器对各性能关联数据进行异常分类,以确定应用所对应的异常类别,即确定应用到底存在哪些方面的问题。具体地,服务器可以将上报的性能关联数据输入至预先训练的机器学习分类模型中,以通过该机器学习分类模型输出相应的异常类别。进一步地,服务器可以根据输出的异常类别,生成相应的异常处理指令下发至终端,终端根据异常处理指令对应用进行相应的修复。
[0103] 在一个实施例中,服务器可以预先根据包括样本性能关联数据和相应异常类别标签的样本数据,进行迭代地机器学习训练,以迭代地调整模型参数,直至模型参数稳定,得到训练好的机器学习分类模型。
[0104] 上述应用性能监测方法,将服务器推送的性能监测工具包嵌入目标应用,这样一来,在运行所述目标应用时,加载嵌入至所述目标应用的所述性能监测工具包,以运行在所述性能监测工具包中封装的监测逻辑;通过所运行的监测逻辑,收集目标应用在运行过程中对应的性能关联数据,发送携带所述性能关联数据的性能分析请求至所述服务器;性能分析请求,用于指示所述服务器根据所述性能关联数据对所述目标应用进行性能分析。即通过在目标应用中嵌入性能监测工具包的方式即可实现对目标应用的性能监控,而不需要下载额外的、独立的监控应用,也不需要用户繁琐的监控操作,提高了对应用的性能监控效率。
[0105] 在一个实施例中,待监测的目标应用为多个。步骤S202包括:获取各个待监测的目标应用的类别;发送携带各目标应用的类别的监测工具包获取请求至服务器;接收服务器反馈的与各目标应用的类别对应的性能监测工具包。本实施例中,步骤S204包括:针对每个目标应用,将与目标应用的类别对应的性能监测工具包嵌入目标应用。
[0106] 其中,应用的类别,可以以应用的核心用途进行划分。应用的类别可以包括界面播放类和即时通信类等中的至少一种类别。界面播放类的应用,是主要用于实现界面播放功能的应用。即时通信类的应用,是主要用于实现即时通信功能的应用。需要说明的是,用于的类别还可以其他类别,这里并不限定于所列举的类别。监测工具包获取请求,用于请求获取性能监测工具包。
[0107] 具体地,终端可以获取各个目标应用的类别,并根据各个目标应用的类别生成监测工具包获取请求。终端可以将该监测工具包获取请求发送至服务器,监测工具包获取请求用于指示服务器根据预先存储的应用的类别和性能监测工具包之间的对应关系,查找与目标应用的类别对应的性能监测工具包,并将查找到的性能监测工具包反馈至终端。终端可以按照各目标应用的类别,将与该类别相应的性能监测工具包嵌入该目标应用中。
[0108] 比如,针对界面播放类的应用,则可以嵌入具有应用页面帧率监测功能的性能监测工具包,而针对非界面播放类的应用,其页面帧率可能并不会发生较大的改变,则可以嵌入不具备页面帧率监测功能的性能监测工具包。
[0109] 上述实施例中,针对不同的应用的类别,分别设置相应的性能监测工具包,相较于设置一个统一的性能监测工具包而言,考虑到了不同应用的各自特性,可以获取的性能关联数据更加的准确,避免了不必要的性能关联数据的干扰,提高了性能监控的准确性。
[0110] 在一个实施例中,该方法还包括:在本地对收集的性能关联数据进行异常分析;根据异常分析结果,从收集的性能关联数据中确定出异常的性能关联数据。步骤S210包括:发送携带异常的性能关联数据的性能分析请求至服务器;性能分析请求,用于指示服务器根据异常的性能关联数据对目标应用进行性能分析。
[0111] 可以理解,收集的性能关联数据中可以包括正常的性能关联数据和/或异常的性能关联数据。正常的性能关联数据,表示由应用的正常功能产生的数据。异常的性能关联数据,表示由应用的异常功能产生的数据。可以理解,应用的性能计算出现异常,也只会是部分功能出现异常,而并非所有的功能异常,所以应用的性能关联数据中可以包括正常的性能关联数据和/或异常的性能关联数据。
[0112] 具体地,终端可以在该终端的本地对收集的性能关联数据进行异常分析,以分析所收集的性能关联数据是否异常,得到异常分析结果。终端可以根据异常分析结果,从收集的性能关联数据中确定出异常的性能关联数据。
[0113] 可以理解,针对非异常的性能关联数据,则说明应用在该性能关联数据对应的性能关联事项上使用正常,就不存在需要改进和解决的问题,则可以不必将该性能关联数据上报至服务器。因此,终端可以根据确定出的异常的性能关联数据生成性能分析请求,并将性能分析请求发送至服务器。服务器可以根据异常的性能关联数据对目标应用进行性能分析。
[0114] 在一个实施例中,在本地对收集的性能关联数据进行异常分析包括:确定与获取的各性能关联数据相应设置的异常条件;在本地将各性能关联数据分别与相应异常条件比对,得到异常分析结果。本申请实施例中,根据异常分析结果,从收集的性能关联数据中确定出异常的性能关联数据包括:当异常分析结果表示性能关联数据符合相应异常条件时,则判定性能关联数据为异常的性能关联数据。
[0115] 上述实施例中,从收集的全部性能关联数据中,筛选出异常的性能关联数据上报,而不上报非异常的性能关联数据,由于非异常的性能关联数据一定程度上能够表明应用在该性能关联数据对应的性能关联事项上使用正常,不存在需要改进和解决的问题,那么,不上报非异常的性能关联数据既不影响对应用的性能监控的作用,又能够减少上报的数据量,节省网络资源。此外,也能够减少对异常的性能关联数据的干扰,从而提高性能监控的准确性。
[0116] 如图4所示,在一个实施例中,在步骤S210之前,该方法还包括应用异常初级判定步骤,具体包括以下:
[0117] S402,在本地将各性能关联数据分别量化为相应的异常量化值。
[0118] 其中,异常量化值,是体现异常的数值化数据。
[0119] 在一个实施例中,终端可以预先设置性能关联数据与异常量化值之间的对应关系,根据该对应关系,确定目标应用的各性能关联数据所对应的异常量化值。
[0120] 在另一个实施例中,计算机设备也可以从包括数值的性能关联数据中,提取其中的数值,作为异常量化值;并根据预先设置的性能关联数据与异常量化值之间的对应关系,查找不包括数值的性能关联数据所对应的异常量化值。
[0121] 可以理解,非异常的性能关联数据其异常量化值可以为0,异常的性能关联数据其异常量化值则为正。异常量化值与性能关联数据的异常程度正相关。性能关联数据异常程度越严重,异常量化值的数值越大,反之亦然。
[0122] S404,分别获取针对各性能关联数据所属性能关联事项设置的预设权重。
[0123] 具体地,终端中预先设置了性能关联事项,并针对各个性能关联事项设置了预设权重。终端可以确定各性能关联数据所属的性能关联事项,并获取与所确定的各性能关联事项对应设置的预设权重。
[0124] S406,按照各性能关联数据所属性能关联事项的预设权重,将各性能关联数据相应的异常量化值进行加权求和,得到目标应用的总异常值。
[0125] 具体地,终端可以按照相应预设权重,将各性能关联数据相应的异常量化值进行加权求和,得到目标应用的总异常值。
[0126] 可以理解,总异常值,用于体现目标应用的异常程度。目标应用的异常程度强弱,与总异常值的大小正相关,目标应用的总异常值越大,该目标应用的异常程度越强,反之,目标应用的总异常值越小,该目标应用的异常程度越弱。
[0127] S408,当总异常值大于或等于预设异常阈值时,再执行发送携带性能关联数据的性能分析请求至服务器的步骤。
[0128] 具体的,终端中预先存储了预设异常阈值,终端可以将总异常值与预设异常阈值进行比对,当总异常值大于或等于预设异常阈值时,则说明异常初级判定目标应用过于异常,则再执行发送携带性能关联数据的性能分析请求至服务器的步骤,即再执行步骤S210,当总异常值小于预设异常阈值时,则说明异常初级判定目标应用并不至于过于异常,只是稍微有点异常,而不影响正常使用,则可以暂且不执行发送携带性能关联数据的性能分析请求至服务器的步骤。
[0129] 上述实施例中,通过在本地将各性能关联数据分别量化为相应的异常量化值,并按照各性能关联数据所属性能关联事项设置的预设权重,进行加权求和,得到目标应用的总异常值;根据总异常值确定是否上报性能关联数据至服务器以请求性能分析,相当于在本地先对目标应用进行了初级异常判定,在初级异常判定通过后,再上报服务器进行性能分析,相较于不经过筛选判定直接上报数据而言,既保证了性能分析的准确性,又能够降低服务器的性能分析压力,同时,也避免了不必要的分析所造成的资源浪费。
[0130] 应该理解的是,虽然图2‑4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2‑4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0131] 在一个实施例中,如图5所示,提供了一种应用性能监测装置500,包括:获取模块502、嵌入模块504、加载模块506、性能关联数据收集模块508以及性能分析模块510,其中:
[0132] 获取模块502,用于获取服务器针对待监测的目标应用推送的性能监测工具包。
[0133] 嵌入模块504,用于将性能监测工具包嵌入目标应用。
[0134] 加载模块506,用于在运行目标应用时,加载嵌入至目标应用的性能监测工具包,以运行在性能监测工具包中封装的监测逻辑。
[0135] 性能关联数据收集模块508,用于通过所运行的监测逻辑,收集目标应用在运行过程中对应的性能关联数据。
[0136] 性能分析模块510,用于发送携带性能关联数据的性能分析请求至服务器;性能分析请求,用于指示服务器根据性能关联数据对目标应用进行性能分析。
[0137] 在一个实施例中,嵌入模块504还用于确定当前登录于目标应用的用户标识;获取与用户标识对应的针对目标应用的历史行为记录;根据历史行为记录,预测用户标识所对应的用户的性能监测意愿;当预测结果为用户具有性能监测意愿时,再执行将性能监测工具包嵌入目标应用的步骤。
[0138] 如图6所示,在一个实施例中,该装置500还包括:
[0139] 目标应用确定模块501,用于获取安装于本地的各应用的历史使用问题;针对安装于本地的每个应用,根据预设的使用问题和待监测需求值之间的对应关系,分别确定应用的各历史使用问题所对应的待监测需求值,并将应用的各个待监测需求值求和,得到应用的待监测需求总值;从安装于本地的应用中,确定出待监测需求总值大于或等于预设需求阈值的应用,作为待监测的目标应用。
[0140] 在一个实施例中,待监测的目标应用为多个;获取模块502还用于获取各个待监测的目标应用的类别;发送携带各目标应用的类别的性能监测工具包获取请求至服务器;接收服务器反馈的与各目标应用的类别对应的性能监测工具包;嵌入模块504还用于针对每个目标应用,将与目标应用的类别对应的性能监测工具包嵌入目标应用。
[0141] 如图7所示,在一个实施例中,性能分析模块510包括:
[0142] 异常数据确定模块510a,用于在本地对收集的性能关联数据进行异常分析;根据异常分析结果,从收集的性能关联数据中确定出异常的性能关联数据;
[0143] 分析请求模块510b,用于发送携带异常的性能关联数据的性能分析请求至服务器;性能分析请求,用于指示服务器根据异常的性能关联数据对目标应用进行性能分析。
[0144] 在一个实施例中,异常数据确定模块510a还用于确定与获取的各性能关联数据相应设置的异常条件;在本地将各性能关联数据分别与相应异常条件比对,得到异常分析结果;当异常分析结果表示性能关联数据符合相应异常条件时,则判定性能关联数据为异常的性能关联数据。
[0145] 在一个实施例中,性能分析模块510还用于在本地将各性能关联数据分别量化为相应的异常量化值;分别获取针对各性能关联数据所属性能关联事项设置的预设权重;按照各性能关联数据所属性能关联事项的预设权重,将各性能关联数据相应的异常量化值进行加权求和,得到目标应用的总异常值;当总异常值大于或等于预设异常阈值时,再执行发送携带性能关联数据的性能分析请求至服务器的步骤。
[0146] 关于应用性能监测装置的具体限定可以参见上文中对于应用性能监测方法的限定,在此不再赘述。上述应用性能监测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0147] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是图1中的终端110,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用性能监测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0148] 本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0149] 在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取服务器针对待监测的目标应用推送的性能监测工具包;将性能监测工具包嵌入目标应用;在运行目标应用时,加载嵌入至目标应用的性能监测工具包,以运行在性能监测工具包中封装的监测逻辑;通过所运行的监测逻辑,收集目标应用在运行过程中对应的性能关联数据;发送携带性能关联数据的性能分析请求至服务器;性能分析请求,用于指示服务器根据性能关联数据对目标应用进行性能分析。
[0150] 在一个实施例中,在将性能监测工具包嵌入目标应用之前,计算机程序被处理器执行时还实现以下步骤:确定当前登录于目标应用的用户标识;获取与用户标识对应的针对目标应用的历史行为记录;根据历史行为记录,预测用户标识所对应的用户的性能监测意愿;当预测结果为用户具有性能监测意愿时,再执行将性能监测工具包嵌入目标应用的步骤。
[0151] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取安装于本地的各应用的历史使用问题;针对安装于本地的每个应用,根据预设的使用问题和待监测需求值之间的对应关系,分别确定应用的各历史使用问题所对应的待监测需求值,并将应用的各个待监测需求值求和,得到应用的待监测需求总值;从安装于本地的应用中,确定出待监测需求总值大于或等于预设需求阈值的应用,作为待监测的目标应用。
[0152] 在一个实施例中,待监测的目标应用为多个;获取服务器针对待监测的目标应用推送的性能监测工具包包括:获取各个待监测的目标应用的类别;发送携带各目标应用的类别的性能监测工具包获取请求至服务器;接收服务器反馈的与各目标应用的类别对应的性能监测工具包;将性能监测工具包嵌入目标应用包括:针对每个目标应用,将与目标应用的类别对应的性能监测工具包嵌入目标应用。
[0153] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在本地对收集的性能关联数据进行异常分析;根据异常分析结果,从收集的性能关联数据中确定出异常的性能关联数据;发送携带性能关联数据的性能分析请求至服务器包括:发送携带异常的性能关联数据的性能分析请求至服务器;性能分析请求,用于指示服务器根据异常的性能关联数据对目标应用进行性能分析。
[0154] 在一个实施例中,在本地对收集的性能关联数据进行异常分析包括:确定与获取的各性能关联数据相应设置的异常条件;在本地将各性能关联数据分别与相应异常条件比对,得到异常分析结果;根据异常分析结果,从收集的性能关联数据中确定出异常的性能关联数据包括:当异常分析结果表示性能关联数据符合相应异常条件时,则判定性能关联数据为异常的性能关联数据。
[0155] 在一个实施例中,在发送携带性能关联数据的性能分析请求至服务器之前,计算机程序被处理器执行时还实现以下步骤:在本地将各性能关联数据分别量化为相应的异常量化值;分别获取针对各性能关联数据所属性能关联事项设置的预设权重;按照各性能关联数据所属性能关联事项的预设权重,将各性能关联数据相应的异常量化值进行加权求和,得到目标应用的总异常值;当总异常值大于或等于预设异常阈值时,再执行发送携带性能关联数据的性能分析请求至服务器的步骤。
[0156] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取服务器针对待监测的目标应用推送的性能监测工具包;将性能监测工具包嵌入目标应用;在运行目标应用时,加载嵌入至目标应用的性能监测工具包,以运行在性能监测工具包中封装的监测逻辑;通过所运行的监测逻辑,收集目标应用在运行过程中对应的性能关联数据;发送携带性能关联数据的性能分析请求至服务器;性能分析请求,用于指示服务器根据性能关联数据对目标应用进行性能分析。
[0157] 在一个实施例中,在将性能监测工具包嵌入目标应用之前,计算机程序被处理器执行时还实现以下步骤:确定当前登录于目标应用的用户标识;获取与用户标识对应的针对目标应用的历史行为记录;根据历史行为记录,预测用户标识所对应的用户的性能监测意愿;当预测结果为用户具有性能监测意愿时,再执行将性能监测工具包嵌入目标应用的步骤。
[0158] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取安装于本地的各应用的历史使用问题;针对安装于本地的每个应用,根据预设的使用问题和待监测需求值之间的对应关系,分别确定应用的各历史使用问题所对应的待监测需求值,并将应用的各个待监测需求值求和,得到应用的待监测需求总值;从安装于本地的应用中,确定出待监测需求总值大于或等于预设需求阈值的应用,作为待监测的目标应用。
[0159] 在一个实施例中,待监测的目标应用为多个;获取服务器针对待监测的目标应用推送的性能监测工具包包括:获取各个待监测的目标应用的类别;发送携带各目标应用的类别的性能监测工具包获取请求至服务器;接收服务器反馈的与各目标应用的类别对应的性能监测工具包;将性能监测工具包嵌入目标应用包括:针对每个目标应用,将与目标应用的类别对应的性能监测工具包嵌入目标应用。
[0160] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在本地对收集的性能关联数据进行异常分析;根据异常分析结果,从收集的性能关联数据中确定出异常的性能关联数据;发送携带性能关联数据的性能分析请求至服务器包括:发送携带异常的性能关联数据的性能分析请求至服务器;性能分析请求,用于指示服务器根据异常的性能关联数据对目标应用进行性能分析。
[0161] 在一个实施例中,在本地对收集的性能关联数据进行异常分析包括:确定与获取的各性能关联数据相应设置的异常条件;在本地将各性能关联数据分别与相应异常条件比对,得到异常分析结果;根据异常分析结果,从收集的性能关联数据中确定出异常的性能关联数据包括:当异常分析结果表示性能关联数据符合相应异常条件时,则判定性能关联数据为异常的性能关联数据。
[0162] 在一个实施例中,在发送携带性能关联数据的性能分析请求至服务器之前,计算机程序被处理器执行时还实现以下步骤:在本地将各性能关联数据分别量化为相应的异常量化值;分别获取针对各性能关联数据所属性能关联事项设置的预设权重;按照各性能关联数据所属性能关联事项的预设权重,将各性能关联数据相应的异常量化值进行加权求和,得到目标应用的总异常值;当总异常值大于或等于预设异常阈值时,再执行发送携带性能关联数据的性能分析请求至服务器的步骤。
[0163] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0164] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0165] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。