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

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

                    总结来说,能耗优化工作的重点在于如何识别非必要的软硬件运行,以及如何在省电与降低用户使用体验
                 之间加以权衡.
                 1.3   续航时间预测
                    如前文所述,续航时间预测作为另一种提高用户使用体验的思路,近年来也得到了学术界的关注.Zhao 等人
                 提出了一种基于系统运行状态的续航时间预测方法.该方法基于 CPU 运行状态、屏幕显示状态、I/O 组件负载
                 这 3 部分信息,通过一个线性回归模型预测系统的能耗速率,并以此为基础,推断电池的剩余续航时间                                 [16] .Kang
                 等人从用户的视角出发,提出了另一种思路.他们将用户的使用行为划分为若干种可能的状态,并假设用户在每
                 种状态下手机的耗电速率是基本恒定的.基于这一假设,他们实现了一种模型,首先估计用户在每种状态下的使
                 用时长,然后估计每种状态下用户的耗电速率,两者结合即可得到电池续航时间的预估                             [17] .Kim 等人实现了一种
                 针对单个应用的电池续航时间预估方法              [18] .该工作的目标是让用户了解:如果用户一直保持使用某一单一应用
                 (例如一直看视频),其手机的续航时间为多长.具体实现时,其同样主要基于硬件的运行状态与应用执行之间的
                 相关性进行分析.

                 2    问题定义

                    概括来说,本文希望解决的具体问题可以如下描述:预测从一个用户指定的、发起查询请求的时间开始,直
                 到手机的电量消耗到一个用户给定的阈值时(下文称该阈值为“目标电量”),手机能够持续使用的时长.本节将
                 对上述问题及相关概念给出明确的定义和分析.相关符号含义及解释见表 1.

                                                Table 1  Summary of notations
                                                     表 1   符号含义表
                                                名称            描述
                                                 t s      会话开始时间
                                                 t e      会话结束时间
                                                 t q        查询时间
                                                 b n        目标电量
                                                 t n   目标时间(电量耗至 b n 的时间)
                                                b(t)       时刻 t 的电量
                                                 t      续航时间(t=t nt q)

                 2.1   放电会话及电量水平
                    本文定义一个放电会话(简称为“会话”)为从手机断开充电器进入放电状态,直到手机重新连接上充电器开
                 始充电的时段.换言之,一个会话实际上即为手机处于放电状态下的一段连续时间.后文,我们将以会话作为基
                 本单元进行后续分析.本文用[t s ,t e ]表示一个会话,其中,t S 和 t e 分别表示会话开始和会话结束的时间.可知,t e 一定
                 大于 t S .
                    本文用函数 b(t)表示手机在时刻 t 的电量水平,因此,一个会话在开始时的电量水平和结束时的电量水平分
                 别可以表示为 b(t s )和 b(t e ).同样可知:由于在会话中电池处于放电状态,所以在会话中,b(t)是随着 t 的增加单调递
                 减的.
                 2.2   查询、目标电量、续航时间
                    在一个会话中,用户可能会随时对手机的续航时间发起一个查询请求.本文称该行为为一次查询,用 t q 表示
                 发起查询的时间.在用户发起查询时,作为常见的查询需求是询问电池耗尽前还能够使用多长时间.但在某些情
                 况下,用户可能也会希望了解电池耗至某一阈值前(例如 20%)还能够使用的时长.本文称该电量阈值为目标电
                 量,用 b n 表示.实际中,可知 b n <b(t q ),即目标电量总是低于发起查询时的电量.当 b n =0 时,可知用户实际上是在查
                 询电池完全耗尽前的续航时间.用户也可以自行指定其他目标电量,例如 5%或 10%.这使得本文提出的模型更
                 加灵活,能够适用于更多的场景.
   245   246   247   248   249   250   251   252   253   254   255