(19)中华人民共和国国家知识产权局
(12)发明专利说明书 | ||
(10)申请公布号 CN 112988526 A 什么是996工作制(43)申请公布日 2021.06.18 | ||
(21)申请号 CN201911271744.6
(22)申请日 2019.12.12
(71)申请人 深圳先进技术研究院
地址 518055 广东省深圳市南山区西丽大学城学苑大道1068号
(72)发明人 栗力 须成忠 高程希 孟天晖
(74)专利代理机构 44304 深圳市铭粤知识产权代理有限公司
代理人 孙伟峰
(51)Int.CI
G06F11/34(20060101)
权利要求说明书 说明书 幅图 |
(54)发明名称
移动应用的能耗异常定位方法及系统 | |
(57)摘要
本发明公开了移动应用的能耗异常定位方法及系统,利用基于用户交互以及应用场景转换的动态信息搜集机制,采集与用户交互过程的事件动态信息和资源使用动态信息,再根据联合分析的原理制定离线诊断策略,获取每种事件中的实例之间的功耗变化,进而分析相对其他实例的功耗变化异常的所有异常实例及其先后事件,从异常实例及先后事件中筛选出引发移动应用能耗异常的触发点。由此,基于智感知原理的系统由上述方法生成诊断分析报告提供给开发者,开发者能够获知能耗异常的根源信息,即能耗异常在什么情况下及何种操作被触发,有助于修复能耗异常问题。而且,不同于现有技术的静态分析等方法,本发明能实现细粒度诊断由不同原因引发的能耗异常。 | |
法律状态
法律状态公告日 | 法律状态信息 | 法律状态 |
2021-06-18 | 公开 | 公开 |
2022-11-01 | 实质审查的生效IPC(主分类):G06F11/34专利申请号:2019112717446申请日:20191212 | 实质审查的生效 |
权 利 要 求 说 明 书
1.一种移动应用的能耗异常定位方法,其特征在于,包括:
采集移动应用运行过程中的事件动态信息和资源使用动态信息;
根据所述事件动态信息和资源使用动态信息,获取每种事件中分别对应在不同时间点的实例之间的功耗变化;
分析并确认相对其他同种实例的功耗变化超出预设阈值的所有异常实例及每个异常实例的先后事件,从所有异常实例及先后事件中筛选出判定为引发移动应用能耗异常的触发点。
2.根据权利要求1所述的能耗异常定位方法,其特征在于,所述事件动态信息和资源使用动态信息为与用户交互过程中的事件动态信息和资源使用动态信息。
3.根据权利要求2所述的能耗异常定位方法,其特征在于,所述事件动态信息包括移动应用的状态转换事件和与用户交互的事件。
4.根据权利要求1或2所述的能耗异常定位方法,其特征在于,采集用户的移动应用运行过程中的事件动态信息的方法包括:
对移动应用的应用程序包进行解压及反编译;
对移动应用进行插桩操作,以标记需要记录的事件;
重新编译并打包获得移动应用经过插桩后的应用程序包;
由所述经过插桩后的应用程序包安装移动应用后,根据所述标记获取事件动态信息。
5.根据权利要求1所述的能耗异常定位方法,其特征在于,采集移动应用运行过程中的资源使用动态信息的方法包括:
按预设周期对移动应用的硬件使用信息进行周期性地读取。
6.根据权利要求1或2所述的能耗异常定位方法,其特征在于,根据所述事件动态信息和资源使用动态信息,获取每种事件中分别对应在不同时间点的实例之间的功耗变化的方法包括:
根据所述事件动态信息和所述资源使用动态信息,获取移动应用对应各个时间点的能耗、各种事件的开始时间以及各种事件的结束时间,以整合获得每种事件在各次与用户交互过程中的功耗信息;
对每种事件中分别对应在不同时间点的实例进行归一化处理,以获取每种事件中不同实例之间的相对功耗变化。
7.根据权利要求1所述的能耗异常定位方法,其特征在于,从所有异常实例及先后事件中筛选出判定为引发移动应用能耗异常的触发点的方法包括:
从所有异常实例及其先后事件中筛选出发生频率大于频率阈值的事件;
判定所述发生频率大于频率阈值的事件为引发移动应用能耗异常的触发点。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有移动应用的能耗异常定位程序,所述移动应用的能耗异常定位程序用于被处理器执行以实现如权利要求1至7任一项所述的移动应用的能耗异常定位方法。
9.一种移动应用的能耗异常定位系统,其特征在于,包括服务器,
其中,所述服务器用于提供经过插桩以标记需要记录的事件的移动应用下载,使下载并安装有所述移动应用的移动设备采集所述移动应用的事件动态信息和资源使用动态信息并上传至所述服务器;再采用如权利要求1至7任一项所述的移动应用的能耗异常定位方法来确定引发移动应用能耗异常的触发点,生成诊断分析报告。
说 明 书
<p>技术领域
本发明涉及移动应用的技术领域,尤其是涉及移动应用的能耗异常定位方法及系统。
背景技术
在移动应用中,常常会存在产生大量能耗的异常现象,例如移动设备的某些传感器在使用过后没有及时释放进而产生能耗异常。这种现象的发生会造成资源的不必要浪费,严重增加移动设备的功耗并且会对移动设备的续航时间造成严重影响。虽然在能耗异常发生之后,这个现象很容易被移动设备的用户发现。但通常情况下,用户很难准确记得这些能耗异常现象是在什么情况下被触发以及如何被触发的。因此,在没有相关信息的情况下,应用的开发人员也很难对能耗异常现象的根源或者说触发点(在什么情况下,何种操作被触发)进行定位,从而使得难以解决能耗异常的问题。因此,如何定位能耗异常的根源对解决能耗异常问题至关重要。
现有技术中存在如通过静态分析(数据流分析)的方法来判断在应用中是否有相关资源没有被正确释放,例如在某些应用中,唤醒锁(wakelock)在使用之后没有被正确释放,从而导致CPU无法进入睡眠状态,造成不必要的能耗开销,但是这类方法仅能检测出无休眠异常(no-sleepbug)触发的能耗异常,对于其它原因(配置问题,循环问题)造成的能耗异常问题却无法完成有效地检测与对能耗异常的根源进行准确地定位,存在较大的局限性。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论