一种基于物理实测的移动端app加载能耗自动测量方法_2

文档序号:9727237阅读:来源:国知局
量数据写入到特定的文件中,例如某个特定时刻的电压和电流等。
[0021 ] 4.手机控制模块。本模块使用了安卓手机调试工具ADB,通过一个脚本程序对手机进行控制。由核心逻辑控制块获得传输的URL之后,手机控制模块将URL传输给预装的浏览器,然后浏览器开始加载对应页面。
[0022]在浏览器加载Web页面的过程中的一些关键的时间点,比如HTTP请求的开始和结束时间,浏览器会记录一些日志到相关的文件。在加载过程结束之后,手机控制模块将相关的时间日志文件传输到核心控制逻辑模块中。需要注意的时,手机在通过USB连接电脑时会自动开启充电模式,这将影响电量测量结果的准确性,因此在开始测量之前,要通过程序关闭充电模式,只允许电表对手机进行供电。
[0023]5.数据处理模块。本模块负责根据时间日志文件以及电量文件的内容计算时间分析和电量分析结果。电量文件的格式通过P0werTool的用户手册可以获得,时间日志文件的格式则由我们自己定义。计算电量的过程是将电量数据中每个采样点的能量消耗相加,得到一个时间范围内(即一个时间戳对应加载页面中的某一个加载过程)的电量消耗。计算完整个流程的电量之后,将计算结果以JSON数组的形式返回核心控制逻辑模块。由于电表的采样点非常密集,最后可以得到非常细粒度的电量消耗,也就可以获得某一个加载过程中电量的消耗。
[0024]6.核心控制逻辑模块。本模块的主要功能是按流程执行测量过程中的各个步骤,同时协调各个模块之间的数据传送。主要涉及的数据传输包括:待测Web的URL从用户接口模块到手机控制模块;电量文件及时间日志文件从相应模块传递到数据处理模块;处理结果以JSON格式由数据处理模块传输到用户接口模块。
[0025]与现有技术相比,本发明的积极效果为:
[0026]本发明的方法具有成本低,测量精度高等优点,而且可以测量非常细粒度的电量消耗,也就可以获得某一个加载过程中电量的消耗。
【附图说明】
[0027]附图为本发明的系统结构图。
【具体实施方式】
[0028]本节以测量苹果官网http: / / www.apple.com.cn在Nexus5机型上的加载电量为例说明测试流程。
[0029]首先,用户在工具页面上输入上述网址并选择该机型,点击“开始测试”,该URL和机型信息便会被发送到服务器。这一步便是URL由用户处理模块传递至核心控制逻辑模块。
[0030]如果该URL(即苹果官网)和机型(NexUS5)的测试结果已经在缓存中,并且并未过期,则直接返回测试结果。
[0031]否则,URL会被传递到手机控制模块,交由预装的手机浏览器进行加载。在这之前,核心控制逻辑模块会将启动电表的命令传递给电表控制模块。等到电表启动完毕开始测量之后,浏览器开始加载收到的URL。
[0032]然后,等到该苹果官网页面加载完毕,核心逻辑控制模块会收到手机控制模块的信号,表示此时Web页面已经加载完毕。核心控制模块将会给电表控制模块发送信号,指示电表停止测量。
[0033]最后,核心控制模块将电量文件以及时间日志文件取回,送到数据处理模块进行计算。计算完毕之后,将结果返回用户接口模块,展现给用户。此时,用户可以看到在NeXUs5的浏览器上加载苹果官网所需的准确时间和电量。
[0034]可以看到,整个流程是全自动化,用户只需要在最开始时指定待测的URL,等待一段时间,就可以获得非常细粒度的时间以及电量分析。
【主权项】
1.一种基于物理实测的移动端APP加载能耗自动测量方法,其步骤为: 1)将指定的移动端Web和移动端机型发送给服务器; 2)服务器将该移动端Web传送到对应移动端上运行的浏览器中加载该移动端Web,并启动电表开始测量;在测量过程中获取每一网络资源的请求时间、接收时间以及计算时间; 3)当该移动端Web在该移动端上加载完成后,服务器控制电表结束测量;然后对测量数据进行处理:首先根据网络资源的请求时间、接收时间以及计算时间得到页面加载过程及其中的时间戳,然后将获得的时间戳与该服务器的时间进行同步;然后根据同步后的时间和电表测量数据计算该移动端Web在该移动端上加载产生的能耗。2.如权利要求1所述的方法,其特征在于,通过修改所述浏览器的网络请求模块、页面渲染模块的和js引擎的代码,获取该移动端Web中每一网络资源的请求时间、接收时间以及计算时间。3.如权利要求1或2所述的方法,其特征在于,所述网络资源包括html、js、css和图片。4.如权利要求3所述的方法,其特征在于,所述计算时间包括js执行时间、图形绘制时间。5.如权利要求1或2所述的方法,其特征在于,该移动端通过USB与该服务器连接;在开始测量之前,关闭服务器对该移动端充电模式,只允许电表对该移动端进行供电。6.如权利要求1或2所述的方法,其特征在于,将获得的时间戳与该服务器的时间进行同步的方法为:在步骤I)中首先在受控的网络环境下控制该移动端给该服务器发送TCP请求并接收返回数据包,然后根据数据包中记录的该移动端和该服务器的时间戳获得两者的时间差,然后步骤3)中根据该时间差对获得的时间戳与该服务器的时间进行同步。7.如权利要求1或2所述的方法,其特征在于,该服务器对每次测量结果进行缓存,并对缓存中的条目进行自动更新;其中缓存条目包括移动端Web、移动端机型和测量结果。8.如权利要求7所述的方法,其特征在于,所述自动更新方法为:对于当前时间与上次更新时间的间隔大于设定阈值的缓存条目,该服务器根据该缓存条目中的移动端Web、移动端机型,在对应移动端上运行的浏览器中重新加载该移动端Web并将测量的结果在缓存中更新。
【专利摘要】本发明公开了一种基于物理实测的移动端APP加载能耗自动测量方法。本方法为:1)将指定的移动端Web和移动端机型发送给服务器;2)服务器将该移动端Web传送到对应移动端上运行的浏览器中加载该移动端Web,并启动电表开始测量;在测量过程中获取每一网络资源的请求时间、接收时间以及计算时间;3)当该移动端Web在该移动端上加载完成后,服务器对测量数据进行处理:首先根据网络资源的请求时间、接收时间以及计算时间得到页面加载过程及其中的时间戳,然后将获得的时间戳与该服务器的时间进行同步;然后根据同步后的时间和电表测量数据计算该移动端Web在该移动端上加载产生的能耗。本方法大大提高了测量精度。
【IPC分类】G06F11/30
【公开号】CN105487960
【申请号】CN201511000936
【发明人】黄罡, 刘譞哲, 梅宏, 徐梦炜, 余美华, 马郓
【申请人】北京大学
【公开日】2016年4月13日
【申请日】2015年12月28日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1