一种检测应用程序耗电异常的方法、装置及电子设备的制造方法

文档序号:9616202阅读:546来源:国知局
一种检测应用程序耗电异常的方法、装置及电子设备的制造方法
【技术领域】
[0001]本发明涉及计算机异常检测技术,尤其涉及一种检测应用程序耗电异常的方法、装置及电子设备。
【背景技术】
[0002]随着计算机通信以及互联网技术,电子设备的应用越来越普遍,例如,智能移动电话、个人数字助理、掌上电脑以及台式机电脑得到了越来越广泛的应用,安装在电子设备中的各类应用程序(APP,Applicat1n)也越来越多,用以满足用户对业务多样性的需求。但是,随着电子设备中安装的应用程序的增多,应用程序的运行或待机都会消耗电子设备大量的电能,尤其是由于一些应用程序开发的不规范,使得电子设备中安装的应用程序存在频繁启动、异常占用CPU、对系统持锁等异常问题,使得电子设备的电量被异常消耗,导致电子设备的电量达不到正常的使用时间,降低了电子设备的正常工作时间,影响用户的业务体验。
[0003]目前,针对应用程序的异常耗电问题,还缺乏有效检测应用程序耗电异常的方法,因而,无法定位发生异常耗电的应用程序,从而不能采取有针对性的措施,导致电子设备的耗电率较高,降低了电子设备的正常工作时间。

【发明内容】

[0004]有鉴于此,本发明实施例提供一种检测应用程序耗电异常的方法、装置及电子设备,降低电子设备的耗电率,提升电子设备的工作时间。
[0005]为达到上述目的,本发明的实施例采用如下技术方案:
[0006]第一方面,本发明实施例提供一种检测应用程序耗电异常的方法,包括:
[0007]获取系统耗电日志信息;
[0008]从所述系统耗电日志信息中依次读取进程的耗电日志信息,滤除耗电量小于预先设置的耗电量阈值的进程,得到耗电量异常进程;
[0009]依据预先设置的异常分析策略,确定耗电量异常进程对应的应用程序耗电异常原因。
[0010]可选的,在所述获取系统耗电日志信息之前,所述方法进一步包括:
[0011]将待测试的移动客户端连接至固定客户端,利用所述固定客户端清空所述待测试的移动客户端中存储的系统耗电日志信息;
[0012]在清空所述存储的系统耗电日志信息后,断开所述待测试的移动客户端与所述固定客户端的连接;
[0013]启动所述待测试的移动客户端运行预先设置的各应用程序。
[0014]可选的,在所述将待测试的移动客户端连接至固定客户端之前,所述方法进一步包括:
[0015]在用于测试应用程序耗电的各移动客户端中,搭建预先设置的操作系统环境并设置操作系统参数;
[0016]为所述各移动客户端配置一致的数据环境;
[0017]在预先设置的网络通信环境中启动所述各电子设备进行试测试,获取所述各电子设备在预先设置的静置期内的性能测试日志信息;
[0018]依据获取的所述系统耗电日志信息分析所述网络通信环境,如果所述网络通信环境满足预先设置的稳定条件,执行所述将待测试的移动客户端连接至固定客户端的步骤。
[0019]可选的,所述方法进一步包括:
[0020]如果所述网络通信环境不满足预先设置的稳定条件,移动所述各移动客户端所处的网络通信环境后,执行所述在预先设置的网络通信环境中启动所述各电子设备进行试测试的步骤。
[0021]可选的,所述依据预先设置的异常分析策略,确定耗电量异常进程对应的应用程序耗电异常原因包括:
[0022]如果所述耗电量异常进程有流量消耗,判断所述流量消耗是否超出预先设置的流量阈值,如果是,确定所述耗电量异常进程对应的应用程序耗电异常为网络流量异常导致;
[0023]如果所述耗电量异常进程无流量消耗,或所述流量消耗没有超出预先设置的流量阈值,判断是否存在唤醒锁,且唤醒锁次数超过预先设置的唤醒锁次数阈值,如果是,确定所述耗电量异常进程对应的应用程序耗电异常为唤醒锁异常导致;
[0024]如果不存在唤醒锁,或唤醒锁次数未超过预先设置的唤醒锁次数阈值,判断是否存在CPU异常,如果是,确定所述耗电量异常进程对应的应用程序耗电异常为CPU异常导致,如果否,确定所述耗电量异常进程对应的应用程序耗电异常为其他原因导致。
[0025]可选的,在确定所述进程对应的应用程序耗电异常为网络流量异常之后,所述方法进一步包括:
[0026]通过系统耗电日志信息分析网络流量异常原因,消除所述网络流量异常原因。
[0027]可选的,通过adb shell dumpsys batterystats—reset命令行从系统文件中清空所述存储的系统耗电日志信息;对于安装有安卓5.0以下的操作系统的移动客户端,通过adb shell dumpsys batterystats命令行从系统文件中导出所述系统耗电日志信息;对于安装有安卓5.0以上的操作系统的移动客户端,通过adb shell dumpsysbatterystats—charged命令行从系统文件中导出所述系统耗电日志信息。
[0028]第二方面,本发明实施例提供一种检测应用程序耗电异常的装置,包括:日志获取模块、日志过滤模块以及异常分析模块,其中,
[0029]日志获取模块,用于获取系统耗电日志信息;
[0030]日志过滤模块,用于从所述系统耗电日志信息中依次读取进程的耗电日志信息,滤除耗电量小于预先设置的耗电量阈值的进程,得到耗电量异常进程;
[0031]异常分析模块,用于依据预先设置的异常分析策略,确定耗电量异常进程对应的应用程序耗电异常原因。
[0032]可选的,所述装置进一步包括:
[0033]日志清空模块,用于将待测试的移动客户端连接至固定客户端,利用所述固定客户端清空所述待测试的移动客户端中存储的系统耗电日志信息;在清空所述存储的系统耗电日志信息后,断开所述待测试的移动客户端与所述固定客户端的连接;启动所述待测试的移动客户端运行预先设置的各应用程序。
[0034]可选的,所述装置进一步包括:运行环境搭建模块以及运行环境测试模块,其中,
[0035]运行环境搭建模块,用于在用于测试应用程序耗电的各移动客户端中,搭建预先设置的操作系统环境并设置操作系统参数;为所述各移动客户端配置一致的数据环境;
[0036]运行环境测试模块,用于在预先设置的网络通信环境中启动所述各电子设备进行试测试,获取所述各电子设备在预先设置的静置期内的性能测试日志信息;依据获取的所述系统耗电日志信息分析所述网络通信环境,如果所述网络通信环境满足预先设置的稳定条件,执行所述将待测试的移动客户端连接至固定客户端的步骤。
[0037]可选的,所述运行环境测试模块还用于如果所述网络通信环境不满足预先设置的稳定条件,移动所述各移动客户端所处的网络通信环境后,执行所述在预先设置的网络通信环境中启动所述各电子设备进行试测试的步骤。
[0038]可选的,所述异常分析模块包括:流量消耗判断单元、流量消耗异常判断单元、网络流量异常确定单元、唤醒锁判断单元、唤醒锁异常确定单元、CPU判断单元、CPU异常确定单元以及其他异常确定单元,其中,
[0039]流量消耗判断单元,用于判断所述耗电量异常进程是否有流量消耗,如果有,通知流量消耗异常判断单元,如果没有,通知唤醒锁判断单元;
[0040]流量消耗异常判断单元,用于判断所述流量消耗是否超出预先设置的流量阈值,如果是,通知网络流量异常确定单元;如果否,通知唤醒锁判断单元;
[0041]网络流量异常确定单元,用于确定所述耗电量异常进程对应的应用程序耗电异常为网络流量异常导致;
[0042]唤醒锁判断单元,用于判断所述耗电量异常进程是否存在唤醒锁,且唤醒锁次数超过预先设置的唤醒锁次数阈值,如果是,通知唤醒锁异常确定单元;如果否,通知CPU判断单元;
[0043]唤醒锁异常确定单元,用于确定所述耗电量异常进程对应的应用程序耗电异常为唤醒锁异常导致;
[0044]CPU判断单元,用于判断所述耗电量异常进程是否存在CPU异常,如果是,通知CPU异常确定单元;如果否,通知其他异常确定单元;
[0045]CPU异常确定单元,用于确定所述耗电量异常进程对应的应用程序耗电异常为CPU异常导致;
[0046]其他异常确定单元,用于确定所述耗电量异常进程对应的应用程序耗电异常为其他原因导致。
[0047]可选的,所述异常分析模块还包括:
[0048]异常排除单元,用于通过系统耗电日志信息分析网络流量异常原因,消除所述网络流量异常原因。
[0049]可选的,通过adb shell dumpsys batterystats—reset命令行从系统文件中清空所述存储的系统耗电日志信息;对于安装有安卓5.0以下的操作系统的移动客户端,通过adb shell dumpsys batterystats命令行从系统文件中导出所述系统耗电日志信息;对于安装有安卓5.0以上的操作系统的移动客户端,通过adb shell dumpsysbatterystats—charged命令行从系统文件中导出所述系统耗电日志信息。
[0050]第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1