一种基于软件耗能的终端电量优化方法技术

技术编号:38994626 阅读:11 留言:0更新日期:2023-10-07 10:25
本发明专利技术公开了一种基于软件耗能的终端电量优化方法,通过获取软件耗能,并基于软件耗能进行电量优化,能够有效地延长终端的使用时间,并且对剩余电量进行计算,可以在电量充足时,保证用户体验,在电量不充足时,优先保证用户常用软件的运行,在电量优化的同时,保证用户的体验。户的体验。户的体验。

【技术实现步骤摘要】
一种基于软件耗能的终端电量优化方法


[0001]本专利技术属于电量优化
,具体涉及一种基于软件耗能的终端电量优化方法。

技术介绍

[0002]随着互联网技术的快速发展,例如智能手机等终端的处理能力越来越强,可支持多种应用程序,然而耗电量也随之越来越大,极大地缩短了其待机时间,例如智能手机的待机时间大多不超过一天,因此用户需要频繁地为其充电以保证正常使用。然而有很大一部分电量是消耗在隐藏在后台的一些不必要的应用程序上,这些应用程序出于使自己能够实时地向用户推送信息等目的,滥用唤醒锁机制,使终端的CPU一直处于运行状态,无法进入省电的休眠模式,从而导致电池电量消耗很快。因此,需要对这些应用程序进行优化,以实现终端电量的优化,延长用户的使用时间。

技术实现思路

[0003]本专利技术提供一种基于软件耗能的终端电量优化方法,用以解决现有技术中存在的问题。
[0004]一种基于软件耗能的终端电量优化方法,包括:
[0005]获取目标终端的上多个软件的源程序,并将全部源程序编译成目标平台对应的目标语言,得到多个目标程序;其中,目标平台表示用于运行目标程序,并确定目标程序耗能的平台;
[0006]将多个目标程序上传至目标平台中,针对多个目标程序,并通过目标平台获取所有目标程序对应的代码耗能表;
[0007]在目标终端运行目标软件时,确定目标软件中各种接口方法的执行情况,并以所述代码耗能表以及各种接口方法的执行情况为基础,确定目标软件的耗能量;其中,目标软件表示目标终端上正在运行的软件;
[0008]以所述目标软件的耗能量,对目标终端中的软件运行进行调度,完成目标终端电量的优化。
[0009]进一步地,将多个目标程序上传至目标平台中,针对多个目标程序,并通过目标平台获取所有目标程序对应的代码耗能表,包括:
[0010]将多个目标程序上传至目标平台中,通过目标平台提取目标程序中各种语句,并去除重复的语句,得到多条目标语句;
[0011]采用回归分析法对多条目标语句进行分析,确定不同目标语句的耗能,获取所有目标程序对应的代码耗能表。
[0012]进一步地,采用回归分析法对多条目标语句进行分析,确定不同目标语句的耗能,获取所有目标程序对应的代码耗能表,包括:
[0013]针对所有目标语句,确定所有目标语句中的各种类型的基础代码,得到n种基础代
码;,每个目标语句由多个基础代码组成;
[0014]针对n种基础代码,运行j次测试任务,确定执行次数矩阵为:
[0015][0016]其中,VCn表示第n种基础代码,N(VC)表示执行次数矩阵,N
k
(VCm)表示第m种基础代码在第k次测试过程中的运行次数,k=1,2,

,j,m=1,2,

,n;
[0017]在j次的测试任务中,获取总耗能矩阵为:
[0018]E(M)=(E(M1),E(M2),

,E(Mj))
T
[0019]其中,E(M)表示耗能矩阵,E(Mk)表示第k次测试过程中的总耗能值;
[0020]根据所述总耗能矩阵以及执行次数矩阵,采用回归分析法确定n种基础代码对应的基准耗能序列E(VC)为:
[0021]E(VC)=(N
T
(VC)N(VC))
‑1N
T
(VC)E(M)
[0022]其中,T表示转置;
[0023]以所述n种基础代码对应的基准耗能序列E(VC)为基础,确定每条目标语句的耗能,并遍历所有目标语句,确定每个目标语句的耗能;
[0024]根据所有目标语句的耗能,确定目标语句与耗能相互映射的代码耗能表。
[0025]进一步地,在目标终端运行目标软件时,确定目标软件中各种接口方法的执行情况,并以所述代码耗能表以及各种接口方法的执行情况为基础,确定目标软件的耗能量,包括:
[0026]在目标终端运行目标软件时,跟踪目标软件中运行的基础接口方法、依赖接口方法以及独立接口方法的执行情况,得到基础接口方法的能耗矩阵、依赖接口方法的能耗矩阵以及独立接口方法的能耗矩阵,同时得到基础接口方法的调用矩阵、依赖接口方法的调用矩阵以及独立接口方法的调用矩阵;
[0027]以基础接口方法的能耗矩阵、依赖接口方法的能耗矩阵、独立接口方法的能耗矩阵、基础接口方法的调用矩阵、依赖接口方法的调用矩阵以及独立接口方法的调用矩阵为基础,确定目标软件的耗能量。
[0028]进一步地,以基础接口方法的能耗矩阵、依赖接口方法的能耗矩阵、独立接口方法的能耗矩阵、基础接口方法的调用矩阵、依赖接口方法的调用矩阵以及独立接口方法的调用矩阵为基础,确定目标软件的耗能量为:
[0029]E
all
=EM(IF
fix
)NM
T
(IF
fix
)+EM(IF
dep
)NM
T
(IF
dep
)+EM(IF
indep
)NM
T
(IF
indep
)
[0030]其中,EM(IF
fix
)表示基础接口方法的能耗矩阵,NM
T
(IF
fix
)表示基础接口方法的调用矩阵的转置矩阵,EM(IF
dep
)表示依赖接口方法的能耗矩阵,NM
T
(IF
dep
)表示依赖接口方法的调用矩阵的转置矩阵,EM(IF
indep
)表示独立接口方法的能耗矩阵,NM
T
(IF
indep
)表示独立接口方法的调用矩阵的转置矩阵。
[0031]进一步地,以所述目标软件的耗能量,对目标终端中的软件运行进行调度,完成目标终端电量的优化,包括:
[0032]采集目标软件所在目标终端上的运行数据,调取预先训练完成的剩余电量估计模型对所述运行数据进行处理,得到剩余电量;
[0033]每个一个预设周期获取一次剩余电量,并确定两个相邻周期的剩余电量差值;
[0034]判断剩余电量是否小于设定的电量阈值或者至少一个剩余电量差值大于设定的电量下降阈值,若是,则进行目标终端的电量优化,否则保持目标终端上目标软件的正常运行;
[0035]确定目标软件的前台次数以及当前前台状态,所述前台次数表示从后台切换为前台的次数,所述前台次数表示目标软件是否位于前台,其包括位于前台或者位于后台;
[0036]保留当前前台状态为位于前台的目标软件正常运行,并从剩余的目标软件中确定出前台次数小于设定阈值的可优化软件;
[0037]将可优化软件按耗能量按从大到小的顺序排列,并依次关闭可优化软件,直至剩余电量差值减去已关闭可优化软件的耗能量的差值小于电量下降阈值,完成目标终端电量的优化;
...

【技术保护点】

【技术特征摘要】
1.一种基于软件耗能的终端电量优化方法,其特征在于,包括:获取目标终端的上多个软件的源程序,并将全部源程序编译成目标平台对应的目标语言,得到多个目标程序;其中,目标平台表示用于运行目标程序,并确定目标程序耗能的平台;将多个目标程序上传至目标平台中,针对多个目标程序,并通过目标平台获取所有目标程序对应的代码耗能表;在目标终端运行目标软件时,确定目标软件中各种接口方法的执行情况,并以所述代码耗能表以及各种接口方法的执行情况为基础,确定目标软件的耗能量;其中,目标软件表示目标终端上正在运行的软件;以所述目标软件的耗能量,对目标终端中的软件运行进行调度,完成目标终端电量的优化。2.根据权利要求1所述的基于软件耗能的终端电量优化方法,其特征在于,将多个目标程序上传至目标平台中,针对多个目标程序,并通过目标平台获取所有目标程序对应的代码耗能表,包括:将多个目标程序上传至目标平台中,通过目标平台提取目标程序中各种语句,并去除重复的语句,得到多条目标语句;采用回归分析法对多条目标语句进行分析,确定不同目标语句的耗能,获取所有目标程序对应的代码耗能表。3.根据权利要求2所述的基于软件耗能的终端电量优化方法,其特征在于,采用回归分析法对多条目标语句进行分析,确定不同目标语句的耗能,获取所有目标程序对应的代码耗能表,包括:针对所有目标语句,确定所有目标语句中的各种类型的基础代码,得到n种基础代码;,每个目标语句由多个基础代码组成;针对n种基础代码,运行j次测试任务,确定执行次数矩阵为:其中,VCn表示第n种基础代码,N(VC)表示执行次数矩阵,N
k
(VCm)表示第m种基础代码在第k次测试过程中的运行次数,k=1,2,

,j,m=1,2,

,n;在j次的测试任务中,获取总耗能矩阵为:E(M)=(E(M1),E(M2),

,E(Mj))
T
其中,E(M)表示耗能矩阵,E(Mk)表示第k次测试过程中的总耗能值;根据所述总耗能矩阵以及执行次数矩阵,采用回归分析法确定n种基础代码对应的基准耗能序列E(VC)为:E(VC)=(N
T
(VC)N(VC))
‑1N
T
(VC)E(M)其中,T表示转置;以所述n种基础代码对应的基准耗能序列E(VC)为基础,确定每条目标语句的耗能,并
遍历所有目标语句,确定每个目标语句的耗能;根据所有目标语句的耗能,确定目标语句与耗能相互映射的代码耗能表。4.根据权利要求3所述的基于软件耗能的终端电量优化方法,其特征在于,在目标终端运行目标软件时,确定目标软件中各种接口方法的执行情况,并以所述代码耗能表以及各种接口方法的执行情况为基础,确定目标软件的耗能量,包括:在目标终端运行目标软件时,跟踪目标软件中运行的基础接口方法、依赖接口方法以及独立接口方法的执行情况,得到基础接口方法的能耗矩阵、依赖接口方法的能耗矩阵以及独立接口方法的能耗矩阵,同时得到基础接口方法的调用矩阵、依赖接口方法的调用矩阵以及独立接口方法的调用矩阵;以基础接口方法的能耗矩阵、依赖接口方法的能耗矩阵、独立接口方法的能耗矩阵、基础接口方法的调用矩阵、依赖接口方法的调用矩阵以及独立接口方法的调用矩阵为基础,确定目标软件的耗能量。5.根据权利要求4所述的基于软件耗能的终端电量优化方法,其特征在于,以基础接口方法的能耗矩阵、依赖接口方法的能耗矩阵、独立接口方法的能耗矩阵、基础接口方法的调用矩阵、依赖接口方法的调用矩阵以及独立接口方法的调用矩阵为基础,确定目标软件的耗能量为:E
all
=EM(IF
fix
)NM
T
(IF
fix
)+EM(IF
dep
)NM
T
(IF
dep
)+EM(IF
indep
)NM
T
(IF
indep
)其中,EM(IF
fix
)表示基础接口方法的能耗矩阵,NM
T
(IF
fix
)表示基础接口方法的调用矩阵的转置矩阵,EM(IF
dep
)表示依赖接口方法的能耗矩阵,NM
T
(IF
dep
)表示依赖接口方法的调用矩阵的转置矩阵,EM(IF
indep
)表示独立接口方法的能耗矩阵,NM
T
(IF
indep
)表示独立接口方法的调用矩阵的转置矩阵。6.根据权利要求5所述的基于软件耗能的终端电量优化方法,其特征在于...

【专利技术属性】
技术研发人员:王含李光春郭展威张辰王秀敏钟孝琴
申请(专利权)人:中科软件测评广州有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1