一种检测产生功耗应用的方法、装置和计算设备与流程

文档序号:13250355阅读:94来源:国知局
技术领域本发明涉及一种检测产生功耗应用的方法、装置和计算设备。

背景技术:
随着智能手机的普及,手机待机时功率的损耗情况越来越受到重视,而产生功率损耗的主要原因就是:手机待机时,手机中的应用产生CPU唤醒和RTC唤醒,导致智能手机无法进入休眠状态,从而出现功率损耗问题。功耗问题不仅会影响使用电量、电池寿命,还有可能引起手机过热等问题。目前,对手机待机时功耗的测试一般通过电流仪器在PC端监控电流情况,然后换算成理论上的电池使用时间,得出功耗是否过高的结论。但是,该测试方法仅仅从电流值和电池使用时间来判断功率是否过高,无法从根本上检测产生手机待机功耗的原因。

技术实现要素:
为此,本发明提供一种检测产生功耗应用的方法、装置和计算设备,以力图解决或者至少缓解上面存在的问题。根据本发明的一个方面,提供一种检测产生功耗应用的方法,该方法在计算设备中执行,该方法包括:获取移动终端运行完测试脚本进入休眠模式后录制的功耗测试日志,功耗测试日志至少包括第一功耗测试日志、第二功耗测试日志、第三功耗测试日志和第四功耗测试日志;在第一功耗测试日志中,通过搜索第一关键词确定移动终端是否在休眠模式被网络唤醒,如果移动终端在休眠模式被网络唤醒,则记录网络唤醒时间;在第二功耗测试日志中,根据网络唤醒时间确定传输数据的IP地址信息;在第三功耗测试日志中,根据IP地址信息确定应用的进程标识符;在第四功耗测试日志中,根据进程标识符确定移动终端从休眠模式被网络唤醒时产生功耗的应用的信息。可选地,在根据本发明的检测产生功耗应用的方法中,还包括:在第三功耗测试日志中通过搜索第二关键词确定移动终端从休眠模式被RTC唤醒时产生功耗的应用的信息。可选地,在根据本发明的检测产生功耗应用的方法中,IP地址信息包括源地址信息和目的地址信息。可选地,在根据本发明的检测产生功耗应用的方法中,第一功耗测试日志至少包括kernel日志、第二功耗测试日志至少包括net日志、第三功耗测试日志至少包括main日志和第四功耗测试日志至少包括events日志。可选地,在根据本发明的检测产生功耗应用的方法中,应用的信息包括应用包的名称和应用进程的名称。根据本发明的一个方面,提供一种检测产生功耗应用的装置,该装置驻留在计算设备中,该装置包括:日志获取模块,适于获取移动终端运行完测试脚本进入休眠模式时录制的功耗测试日志,功耗测试日志至少包括第一功耗测试日志、第二功耗测试日志、第三功耗测试日志和第四功耗测试日志;唤醒时间记录模块,适于在第一功耗测试日志中,通过搜索第一关键词确定移动终端是否在休眠模式被网络唤醒,如果移动终端在休眠模式被网络唤醒,则记录网络唤醒时间;地址信息获取模块,适于在第二功耗测试日志中,根据网络唤醒时间确定传输数据的IP地址信息;进程标识符确定模块,适于在第三功耗测试日志中,根据IP地址信息确定应用的进程标识符;应用确定模块,适于在第四功耗测试日志中,根据进程标识符确定移动终端从休眠模式被网络唤醒时产生功耗的应用的信息。可选地,在根据本发明的检测产生功耗应用的装置中,应用确定模块还适于:在第三功耗测试日志中通过搜索第二关键词确定移动终端从休眠模式被RTC唤醒时产生功耗的应用的信息。可选地,在根据本发明的检测产生功耗应用的装置中,IP地址信息包括源地址信息和目的地址信息。可选地,在根据本发明的检测产生功耗应用的装置中,第一功耗测试日志至少包括kernel日志、第二功耗测试日志至少包括net日志、第三功耗测试日志至少包括main日志和第四功耗测试日志至少包括events日志。可选地,在根据本发明的检测产生功耗应用的装置中,应用的信息包括应用包的名称和应用进程的名称。根据本发明的一个方面,提供一种计算设备,包括如权上的检测产生功耗应用的装置。根据本发明的技术方法,通过测试应用在移动终端的操作系统休眠后的RTC唤醒、网络通讯的频率,可以检测出应用存在的一些影响手机待机功耗的应用。附图说明为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。图1示出了根据本发明的检测产生功耗应用的装置的示例计算设备100的结构框图;图2示出了根据本发明一个实施例的检测产生功耗应用的装置200的结构图;图3示出了根据本发明一个实施例的确定网络唤醒时间的示意图;图4示出了根据本发明一个实施例的确定IP地址信息的示意图;图5示出了根据本发明一个实施例的确定进程标识符的示意图;图6示出了根据本发明一个实施例的确定产生功耗的应用的信息的示意图;以及图7示出了根据本发明一个实施例的检测产生功耗应用的方法700的流程图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本发明的检测产生功耗应用的装置驻留在计算设备中,图1布置为实现根据本发明的检测产生功耗应用的装置的示例计算设备100的框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器((μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。应用122可以包括被配置为检测产生功耗应用的装置200。程序数据124可以包括可用于如此处所述的测试数据和测试资源。在一些实施方式中,应用122可以布置为在操作系统上利用程序数据124进行操作。计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂无线网络浏览设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。图2示出了根据本发明一个实施例的检测产生功耗应用的装置200的示意图。如图2所示,该装置驻留在计算设备中,所述检测产生功耗应用的装置200包括日志获取模块210、唤醒时间记录模块220、地址信息获取模块230、进程标识符确定模块240和应用确定模块250。本发明通过计算设备与待测试移动终端连接,测试移动终端休眠时产生网络唤醒和RTC唤醒的应用。在移动终端例如手机进行测试之前,预先设置检测移动终端功耗的测试脚本,完成对移动终端的测试,并等待移动终端进入休眠模式。移动终端进入休眠模式后,开启LOG录制工具,例如Mtklogger、Logcat等,录制移动终端休眠时功耗测试日志,即LOG,以便计算设备对LOG进行分析。计算设备中的日志获取模块210用于获取LOG录制工具在移动终端运行完测试脚本进入休眠模式时录制的功耗测试日志。其中,功耗测试日志包括第一功耗测试日志(如kernel_Log)、第二功耗测试日志(如net_Log)、第三功耗测试日志(如main_Log)和第四功耗测试日志(如events_Log)。唤醒时间记录模块220通过在第一功耗测试日志如kernel_Log中搜索第一关键词确定移动终端是否在休眠模式被网络唤醒。例如,在kernel_Log中输入第一关键词“suspendexit|suspendentry|wakeupby”,检索结果如图3所示。在检索结果中查看“wakeupby”之后是否有“CLDMA_MD”或者“MD32_SPM”等关键词。如果查看到上述“CLDMA_MD”或者“MD32_SPM”关键词,则说明移动终端中存在网络唤醒。网络唤醒是移动终端处于休眠模式,移动终端的系统产生流量时,移动终端会自动解除休眠模式,也称为modem唤醒。此时,查看suspendexit的时间点,suspend是指除电源管理以外的其他外围模块以及cpu均不工作,只有内存保持自刷新的状态。例如,查看到的时间为:03:29:12.063961462UTC,由于UTC是协调世界时,需要将该时间换算成北京时间,即在查看到的时间+8小时,得到的时间为11:29:12。在确定网络唤醒时间后,地址信息获取模块230在第二功耗测试日志如net_Log中,根据唤醒时间确定模块220得到的网络唤醒时间确定移动终端中传输数据的IP地址信息。上述IP地址信息一般包括源地址信息和目的地址信息。例如,如果确定的网络唤醒时间为11:29:12,参考图4根据上述时间检索到的数据,并对应上述时间记录下源地址信息Src:10.30.71.162和目的地址信息Dst:202.108.23.236。确定IP地址信息之后,进程标识符确定模块240在第三功耗测试日志如main_Log中,根据地址信息获取模块230中确定的IP地址信息搜索上述地址对应的进程标识符。进程标识符又称PID,是大多数操作系统的内核用于唯一标识进程的一个数值。如图5所示,上述Src和Dst对应的进程标识符PID分别为:5392、5318、5539。应用确定模块250根据进程标识符确定模块240确定的进程标识符在第四功耗测试日志如events_Log中确定移动终端从休眠模式被网络唤醒时产生功耗的应用的信息。应用的信息一般包括应用包的名称和应用进程的名称。例如,在events_Log中搜索PID分别为:5392、5318、5539,如图6所示,最终查出的包名为:com.baidu.browser.apps,com.baidu.browser.apps:remote,com.baidu.browser.apps.BrowserActivity等。应用确定模块250还可以在第三功耗测试日志如main_Log中,搜索第二关键词如type0/type2从而确定移动终端从休眠模式被RTC唤醒时产生功耗的应用的信息。例如,搜索type0/type2得到下述两条记录:AlarmManager:Alarmtriggering:Alarm{419f8eb0type0com.sina.weibo
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1