Page 248 - 《软件学报》2021年第10期
P. 248

3220                                 Journal of Software  软件学报 Vol.32, No.10, October 2021

                 smartphone can be accurately predicted based on how the user uses the device at the real-time, in the current session, and in history. As a
                 conclusion, the proposed model could significantly raise the prediction accuracy.
                 Key words:    mobile computing; battery lifetime prediction; machine learning

                    自从 2007 年初 iPhone 发布以来,智能手机及智能手机应用(application)已经得到了长足的发展.今天,智能
                 手机已成为人们日常生活中的重要组成部分.如今,市场上每年都会新上市超过百种新型号的智能手机,其均会
                 搭载能力强大的硬件,包括大尺寸的屏幕、高频率的 CPU、高容量的存储等等.在硬件能力得到极大发展的同
                 时,智能手机的应用也在蓬勃发展.如今,在以苹果 Appstore 和 Google Play 为代表的应用市场上均已包含了超过
                 200 万个应用(https://www.statista.com/statistics/276623/number-of-apps-available-in-leading-app-stores/).可以认
                 为,硬件与软件的协同增长使得智能手机的地位日益凸显和重要.
                    但是一直以来,相比于其他硬件,智能手机电池能力的增长始终较为缓慢.对于绝大多数智能手机,其电池
                 只能支持至多一天的使用.当使用较为频繁时,电池的消耗速度更会急剧加快.可以认为,较短的电池续航时间
                 较为严重地影响到用户使用智能手机的体验,电池续航能力已经成为智能手机各项软硬件能力中的短板.因此,
                 用户经常需要随身携带移动电源或者其他便携式充电设备以随时进行充电,或者不得不降低使用智能手机的
                 强度以延长续航时间.由此可见,如何减少由于电池能力的不足而对用户使用带来的不便,是一个非常具有实际
                 价值的研究问题.
                    目前,现有工作已经对这一问题进行了一定的探索,方法包括降低手机硬件的能耗                            [14] 、限制不必要的资源
                 分配等  [57] .可以看出,多数已有工作的思路是通过提高电能的使用效率,以达到延长电池续航时间的目的.但实
                 际上,多数提高电能效率的方法(例如将手机调整至“省电模式”)同时伴随着限制手机功能的不足(例如在“省电
                 模式”下无法访问网络),因而仍然不可避免地会对用户的使用体验带来不好的影响.
                    为了解决上述问题,另一种思路应运而生:不试图延长电池的续航时间,而是在现有的续航时间限制下,尽
                 可能地提高用户的电量相关使用体验.一种可行的方法是在电池电量耗尽或是消耗至某一给定值前,为用户进
                 行预警.如果用户可以较为准确地预知手机的电池何时将会耗尽,那么用户就可以更好地安排其使用行为.例
                 如:如果用户认为剩余的续航时间已经足够使用,那么用户无需降低其使用强度,而可以照常使用;反之,如果用
                 户认为剩余的续航时间不足,则可以有选择性地降低使用强度,或者优先完成重要任务(例如先发送重要的邮
                 件).由此可见:准确地对电池的续航时间进行预测,可以有效地提升用户的使用体验.
                    由于智能手机的软硬件众多,不同组件对于电池消耗速率的影响也不尽相同,因此,预测智能手机电池续航
                 时间是一件较为困难的工作.总体来说,现有的智能手机电池续航时间预测工作比较简单,难以应对复杂软硬件
                 带来的挑战.造成这一现状的主要原因包括:(1)  现有工作通常基于通过受控实验收集的小规模数据集,数据集
                 覆盖的时间范围较短,因此难以有效地代表真实世界中的使用行为;(2)  现有工作中使用的数据集同样存在信
                 息维度较少、粒度较粗的缺陷,因此难以有效发掘影响电池续航时间的因素;(3)  现有工作难以处理电池续航时
                 间预测问题中的预测目标缺失问题.具体来说,如果用户在电池耗尽前便开始充电,那么对于该次使用,我们无
                 法准确获知电池耗尽的具体时间,即造成了预测目标缺失.如果不对这一问题进行有效处理,则可能造成预测的
                 结果与真实情况存在偏差.
                                                                      [8]
                    针对上述挑战,本文基于一个长时间、细粒度的真实用户数据集 ,设计了一个智能手机电池续航时间预测
                 模型.具体来说,本文使用的数据集为一组真实用户的智能手机软硬件数据记录,包括系统状态、系统事件、传
                 感器读数、应用运行记录等信息.数据集包含了三星 Galaxy S5 手机上无需 ROOT 权限即可获取的全部信息,
                 数据维度非常丰富.该数据集涉及 51 名用户,持续时间长达 21 个月.截止到本文完稿,我们采用的数据集是相关
                 研究中规模最大、粒度最细的.此外,本文同样首次关注了上述预测目标缺失问题,并且系统性地分析了这一问
                 题对预测效果带来的影响.
                    本文的主要贡献如下:
                    (1)  本文对长时间、细粒度的真实用户数据集进行了描述性分析,研究了用户在使用智能手机过程中的
                        电量消耗模式.发现:电池续航时间与智能手机当前的状态(即发起预测时的状态)、智能手机在过去的
   243   244   245   246   247   248   249   250   251   252   253