智能手机电流与事件信息的同步监测方法

文档序号:7771321阅读:340来源:国知局
智能手机电流与事件信息的同步监测方法
【专利摘要】一种智能手机电流与事件信息的同步监测方法。包括:将智能手机与PC通过数据线相连,PC端通过硬件监测设备收集智能手机的电流数据;智能手机端通过运行后台程序收集智能手机的事件信息;将PC端与智能手机端收集到的数据进行同步;所述的数据同步,指的是将智能手机的事件信息对应到相应的电流采样点;将监测到的同步结果在PC上显示出来。利用本发明提供的技术方案,可以有效地揭示智能手机应用使用过程中电流变化背后的原因,从而可以分析智能手机应用的能耗行为,并对能耗开销比较大的应用提出优化方案。
【专利说明】智能手机电流与事件信息的同步监测方法
【技术领域】
[0001]本发明提供了一种智能手机能耗监测与分析方法,具体涉及一种基于智能手机电流与智能手机事件信息同步的监测与分析方法。
【背景技术】
[0002]智能手机凭借其便利性和强大的功能得到了越来越广泛的普及。随着智能手机的发展,配置不断提升,支持的功能也越来越复杂,同时由于大尺寸屏幕逐渐成为主流,基于网络的应用越来越多,智能手机的能耗问题日益 严重。而智能手机电池技术并没有取得太大的突破,虽然目前的智能手机电池相比于几年前有了一些容量上的提升,但是依旧无法满足智能手机日益增长的能耗需求,于是能耗问题成为了限制智能手机性能的主要因素。
[0003]现实生活中,很多智能手机用户都在抱怨电量掉的太快,尤其是Android系统,但是往往又不知道这些电到底用到了哪里。对于研究能耗的人来说,也希望找到电量消耗的瓶颈,然后进一步给出优化解决方案。
[0004]在智能手机能耗的辅助研究工具方面,已经有人做过一些相关工作。比如基于智能手机硬件和系统活动的能耗研究工具AppScope (ChanminYoon,....AppScope:Application energy metering framework for androidsmartphones using kernel activity monitoring.USENIX, 2012),以及基于智能手机系统调用的能耗研究工具Eprof(Abhinav Pathak,....Where is the energy spent inside myapp?Fine gained energy accounting on smartphones with eprof.EuroSys, 2012)等。
[0005]相对于内部建模,另一种分析智能手机能耗行为的方法是通过硬件设备直接读取智能手机的电流变化情况。
[0006]监测智能手机的电流变化情况时,很多研究人员都会使用类似Monsoon PowerMonitor的监测系统,虽然可以看到很详细的电流变化情况,却无法知道电流变化的原因。

【发明内容】

[0007]本发明的目的是提供一种方便直观的能耗监测与分析方法,解决硬件监测工具只能得到各个采样点的电流值,而无法知道电流变化时智能手机内部发生了哪些事件的问题。
[0008]本发明的原理是:在使用硬件工具监测智能手机电流信息的同时,运行后台程序来收集智能手机的事件信息,并使用一种同步策略,保证时间上的同步。
[0009]本发明提供的技术方案如下:
[0010]一种智能手机电流与事件信息的同步监测方法,包括如下步骤:
[0011]A.将智能手机与PC通过数据线相连,PC端通过硬件监测设备收集智能手机的电流数据;
[0012]B.智能手机端通过运行后台程序收集智能手机的事件信息;
[0013]C.将PC端与智能手机端收集到的数据进行同步;所述的数据同步,指的是将智能手机的事件信息对应到相应的电流采样点;
[0014]D.将监测到的同步结果在PC上显示出来。
[0015]其中,步骤A中,使用Monsoon Power Monitor来监测电流数据;利用MonsoonPower Monitor提供的控制台程序PowToolCmd,使用命令行来控制Monsoon Power Monitor采样的开始与结束;然后通过对数据文件的处理,得到所需的[时间,电流值,电压值]这三个数据。
[0016]步骤B的实现方法为:
[0017](I)对于用户操作事件,在当前屏幕显示的界面上建立ー个透明的附加功能层,当用户通过触屏或按键对当前屏幕界面进行操作时,该附加层会接收到用户的操作信息,以此来收集触屏和按键信息;
[0018](2)对于硬件状态信息,根据硬件设备的不同,选择以下几种不同的方式获取:
[0019]2.1)通过Android提供的API得到;
[0020]2.2)通过读取系统配置文件获取;
[0021]2.3)有一些设备,其状态改变时,系统会发出广播,对于这类硬件设备,需要为服务注册接收器,并通过相应的过滤器得到所需的信息;
[0022](3)对于系统调用信息,使用监测Linux系统调用的工具来实现。
[0023]步骤C中,使用基于特征匹配的异步方式对智能手机事件信息和电流采样信息进行同歩。
[0024]步骤D中,以图形的方式在PC端显示监测到的同步結果。
[0025]所述的同步监测方法,主要监测以下几个硬件设备的情况:CPU、屏幕、WIF1、蓝牙、网络、GPS、音量、信号強度和数据传输;为了降低工具的运行对智能手机整体能耗的影响,设定每隔一段实际那收集一次上述硬件的状态信息。
[0026]所述的同步监测方法,通过软件方法给智能手机CPU—个短时间的计算密集任务,使计算时的电流值明显高于之前的平均电流值,从电流采样数据中找到这个跳跃点;PC端通过找到这个的电流变动来实现同歩。
[0027]本发明的有益效果:利用本发明提供的技术方案,可以有效地掲示智能手机应用使用过程中电流变化背后的原因,从而可以分析智能手机应用的能耗行为,并对能耗开销比较大的应用提出优化方案。
【专利附图】

【附图说明】
[0028]图1本发明的总体框架。
[0029]图2数据同步的标识。
[0030]图3实例的运行效果截图。
[0031]图4对360手机卫士的测试效果截图。
[0032]图5本发明所述方法的流程图。
【具体实施方式】
[0033]本发明提出的技术方案的总体框架如图1所示,流程參见图5。
[0034]A.将智能手机与PC (个人电脑)通过数据线相连,PC端通过硬件监测设备收集智能手机的电流数据。
[0035]这里使用Monsoon Power Monitor来监测电流数据。可以利用Monsoon Power
Monitor提供的控制台程序-PowToolCmd,使用命令行来控制Monsoon Power Monitor采
样的开始与结束。然后通过对数据文件的处理,可以得到所需的(时间,电流值,电压值)这三个数据。
[0036]B.智能手机端通过运行后台程序收集智能手机的事件信息。
[0037]我们将Android手机事件分为两大类,包括上层的用户操作和硬件状态的改变,以及底层的系统调用。
[0038](I)用户操作:主要包括触屏和按键操作。用软件方法在当前屏幕显示的界面上建立一个透明的附加功能层,当用户通过触屏或按键对当前屏幕界面进行操作时,该附加层会接收到用户的操作信息,以此来收集触屏和按键信息。
[0039](2)硬件状态:有些硬件设备信息可以通过Android提供的API得到;有些则需要读取系统配置文件;还有一些设备,其状态改变时,系统会发出广播,因此需要为服务注册接收器(继承BroadcastReceiver的类实例),并通过相应的过滤器得到所需的信息。
[0040]主要监测以下几个硬件设备的情况:CPU、屏幕、WIF1、蓝牙、网络、GPS、音量、信号强度和数据传输。为了降低工具的运行对智能手机整体能耗的影响,可以设定每隔Is (这个时间可以修改设定)收集一次上述硬件的状态信息。
[0041](3)系统调用:由于Android系统基于Linux内核,因此可以使用监测Linux系统调用的工具来实现。
[0042]我们选择使用strace进行系统调用信息的监测,strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间等。
[0043]C.将PC端与智能手机端收集到的数据进行同步。
[0044]数据同步,就是将智能手机的事件信息对应到相应的电流采样点。
[0045]使用基于特征匹配的异步方式对智能手机事件信息和电流采样信息进行同步。我们通过软件方法给智能手机CPU —个短时间的计算密集任务,使计算时的电流值明显高于之前的平均电流值,于是就可以从电流采样数据中找到这个跳跃点,如图2所示。PC端通过找到这个的电流变动来实现同步。
[0046]D.将结果在PC上直观地显示出来。
[0047]电流数据和事件显示方面,我们希望当鼠标移到某个监测点时,可以显示该点发生的具体事件。我们选择使用Visifire来实现这样的需求,Visifire是一个支持Silverlight和WPF的功能强大的数据可视化图表控件。
[0048]下面通过实例对本发明做进一步说明。
[0049]实施例1:
[0050]根据本发明提出的技术方案,我们实现了一个带事件信息的电流监测工具。其运行效果如图3所示。
[0051]可以看到,该工具不仅显示了电流值的变化情况,同时提供了采样点的事件信息。其中包括各种设备的状态信息,以及执行的系统调用的情况。
[0052]我们使用该工具,对若干个应用进行了测试,这里以360手机卫士为例,分析说明工具的效果。如图4所示。[0053]根据图4中虚线框的内容,我们可以看到,在7.8秒工具监测到socket、connect、sendmsg和close等系统调用。通过这些系统调用的信息,我们可以分析出360手机卫士在7.8s的时候,使用socket与rpc_server进行了一次完整的通信。同时,我们也看到智能手机的电流值也开始明显变大,从265.1lmA上升到308.75mA。于是我们可以分析出这次通信是导致智能手机电流值上升的原因。
【权利要求】
1.一种智能手机电流与事件信息的同步监测方法,其特征是,包括如下步骤: A.将智能手机与PC通过数据线相连,PC端通过硬件监测设备收集智能手机的电流数据; B.智能手机端通过运行后台程序收集智能手机的事件信息; C.将PC端与智能手机端收集到的数据进行同步;所述的数据同步,指的是将智能手机的事件信息对应到相应的电流采样点; D.将监测到的同步结果在PC上显示出来。
2.如权利要求1所述的同步监测方法,其特征是,步骤A中,使用MonsoonPowerMonitor来监测电流数据Power Monitor提供的控制台程序PowToolCmd,使用命令行来控制Monsoon Power Monitor采样的开始与结束;然后通过对数据文件的处理,得到所需的[时间,电流值,电压值]这三个数据。
3.如权利要求1所述的同步监测方法,其特征是,步骤B的实现方法为: (1)对于用户操作事件,在当前屏幕显示的界面上建立一个透明的附加功能层,当用户通过触屏或按键对当前屏幕界面进行操作时,该附加层会接收到用户的操作信息,以此来收集触屏和按键信息; (2)对于硬件状态信息,根据硬件设备的不同,选择以下几种不同的方式获取: 2.1)通过Android提供的API得到; 2.2)通过读取系统配置文件获取; 2.3)有一些设备,其状态改变时,系统会发出广播,对于这类硬件设备,需要为服务注册接收器,并通过相应的过滤器得到所需的信息; (3)对于系统调用信息,使用监测Linux系统调用的工具来实现。
4.如权利要求1所述的同步监测方法,其特征是,步骤C中,使用基于特征匹配的异步方式对智能手机事件信息和电流采样信息进行同步。
5.如权利要求1所述的同步监测方法,其特征是,步骤D中,以图形的方式在PC端显示监测到的同步结果。
6.如权利要求3所述的同步监测方法,其特征是,主要监测以下几个硬件设备的情况:CPU、屏幕、WIF1、蓝牙、网络、GPS、音量、信号强度和数据传输;为了降低工具的运行对智能手机整体能耗的影响,设定每隔一段实际那收集一次上述硬件的状态信息。
7.如权利要求4所述的同步监测方法,其特征是,通过软件方法给智能手机CPU—个短时间的计算密集任务,使计算时的电流值明显高于之前的平均电流值,从电流采样数据中找到这个跳跃点;PC端通过找到这个的电流变动来实现同步。
【文档编号】H04M1/24GK103501372SQ201310437249
【公开日】2014年1月8日 申请日期:2013年9月24日 优先权日:2013年9月24日
【发明者】郭耀, 申鹏, 陈向群 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1