本发明涉及信息技术领域,特别是涉及一种应用程序的电量消耗确定方法及装置。
背景技术:
随着信息技术的不断发展,人们对终端设备的需要越来越多,为了满足终端设备多功能需求,通常可以在终端设备上安装满足用户需求的应用程序。为了保证终端设备的使用寿命,确定应用程序的电量消耗以及分析和研究应用程序的耗电性能至关重要。
目前,在确定应用程序的电量消耗时,通常通过路由器文件统计应用程序所在终端设备各个部件耗电量,然后根据所述各个部件耗电量确定应用程序的电量消耗。然而,终端设备上通常安装有多个应用程序,路由器文件统计的各个部件耗电量可以反映多个应用程序的耗电情况,若根据所述路由器文件统计的各个部件耗电量确定应用程序的电量消耗,会造成确定的应用程序的电量消耗不准确,从而导致应用程序的电量消耗的准确率较低。
技术实现要素:
有鉴于此,本发明提供一种应用程序的电量消耗确定方法及装置,主要目的在于提升应用程序的电量消耗的准确率。
依据本发明第一方面,提供了一种应用程序的电量消耗确定方法,包括:
接收应用程序的电量消耗确定指令,所述指令包括待确定电量消耗的应用程序的标识信息;
通过远端接口向云端服务器发送包含移动终端的操作系统数据和所述标识信息的电量消耗请求指令;
通过远端接口获取所述云端服务器反馈的与所述标识信息对应的应用程序的电量消耗;
其中,所述电量消耗为根据所述应用程序所使用的各个部件对应的耗电量确定的,所述各个部件对应的耗电量为根据所述各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数计算的,所述功耗参数和所述耗电参数为从所述操作系统数据中解析出的。
依据本发明第二方面,提供了一种应用程序的电量消耗确定装置,包括:
接收单元,用于接收应用程序的电量消耗确定指令,所述指令包括待确定电量消耗的应用程序的标识信息;
发送单元,用于通过远端接口向云端服务器发送包含移动终端的操作系统数据和所述标识信息的电量消耗请求指令;
获取单元,用于通过远端接口获取所述云端服务器反馈的与所述标识信息对应的应用程序的电量消耗;
其中,所述电量消耗为根据所述应用程序所使用的各个部件对应的耗电量确定的,所述各个部件对应的耗电量为根据所述各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数计算的,所述功耗参数和所述耗电参数为从所述操作系统数据中解析出的。
依据本发明第三方面,提供了一种应用程序的电量消耗确定方法,包括:
通过远端接口获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息;
从所述操作系统数据中解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数;
根据所述功耗参数和所述耗电参数计算所述各个部件对应的耗电量,并根据所述各个部件对应的耗电量确定所述应用程序的电量消耗;
响应于所述电量消耗请求指令而反馈所述应用程序的电量消耗。
依据本发明第四方面,提供了一种应用程序的电量消耗确定装置,包括:
获取单元,用于通过远端接口获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息;
解析单元,用于从所述操作系统数据中解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数;
计算单元,用于根据所述功耗参数和所述耗电参数计算所述各个部件对应的耗电量;
确定单元,用于根据所述各个部件对应的耗电量确定所述应用程序的电量消耗;
响应单元,用于响应于所述电量消耗请求指令而反馈所述应用程序的电量消耗。
依据本发明第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
接收应用程序的电量消耗确定指令,所述指令包括待确定电量消耗的应用程序的标识信息;
通过远端接口向云端服务器发送包含移动终端的操作系统数据和所述标识信息的电量消耗请求指令;
通过远端接口获取所述云端服务器反馈的与所述标识信息对应的应用程序的电量消耗;
其中,所述电量消耗为根据所述应用程序所使用的各个部件对应的耗电量确定的,所述各个部件对应的耗电量为根据所述各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数计算的,所述功耗参数和所述耗电参数为从所述操作系统数据中解析出的。
依据本发明第六方面,提供了一种移动设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
接收应用程序的电量消耗确定指令,所述指令包括待确定电量消耗的应用程序的标识信息;
通过远端接口向云端服务器发送包含移动终端的操作系统数据和所述标识信息的电量消耗请求指令;
通过远端接口获取所述云端服务器反馈的与所述标识信息对应的应用程序的电量消耗;
其中,所述电量消耗为根据所述应用程序所使用的各个部件对应的耗电量确定的,所述各个部件对应的耗电量为根据所述各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数计算的,所述功耗参数和所述耗电参数为从所述操作系统数据中解析出的。
依据本发明第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
通过远端接口获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息;
从所述操作系统数据中解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数;
根据所述功耗参数和所述耗电参数计算所述各个部件对应的耗电量,并根据所述各个部件对应的耗电量确定所述应用程序的电量消耗;
响应于所述电量消耗请求指令而反馈所述应用程序的电量消耗。
依据本发明第八方面,提供了一种云端服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
通过远端接口获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息;
从所述操作系统数据中解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数;
根据所述功耗参数和所述耗电参数计算所述各个部件对应的耗电量,并根据所述各个部件对应的耗电量确定所述应用程序的电量消耗;
响应于所述电量消耗请求指令而反馈所述应用程序的电量消耗。
本发明提供一种应用程序的电量消耗确定方法及装置,与目前通过路由器文件统计应用程序所在终端设备各个部件耗电量,然后根据所述各个部件耗电量确定应用程序的电量消耗相比,本发明通过远端接口能够获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息;并从所述操作系统数据中能够解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数。与此同时,根据所述功耗参数和所述各个部件运行所述应用程序的耗电参数能够确定所述各个部件对应的耗电量,并根据所述各个部件对应的耗电量能够确定所述应用程序的电量消耗,从而能够克服其他应用程序耗电情况的干扰,避免把其他应用程序的耗电量误算为所述应用程序的耗电量,实现只根据所述应用程序所使用的各个部件功能参数和耗电参数,确定所述应用程序的电量消耗,从而能够保证所述应用程序的电量消耗的准确性,进而能够提升应用程序的电量消耗的准确率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种应用程序的电量消耗确定方法流程图;
图2示出了本发明实施例提供的另一种应用程序的电量消耗确定方法流程图;
图3示出了本发明实施例提供的又一种应用程序的电量消耗确定方法流程图;
图4示出了本发明实施例提供的一种应用程序的电量消耗确定装置的结构示意图;
图5示出了本发明实施例提供的另一种应用程序的电量消耗确定装置的结构示意图;
图6示出了本发明实施例提供的又一种应用程序的电量消耗确定装置的结构示意图;
图7示出了本发明实施例提供的一种移动终端的结构示意图;
图8示出了本发明实施例提供的一种云端服务器的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”、“移动终端”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;pcs(personalcommunicationsservice,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;pda(personaldigitalassistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或gps(globalpositioningsystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是pda、mid(mobileinternetdevice,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本技术领域技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(cloudcomputing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与wns服务器之间可通过任何通信方式实现通信,包括但不限于,基于3gpp、lte、wimax的移动通信、基于tcp/ip、udp协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。
目前,由于智能手机集成的功能越来越强大,且具有可携带性,故而使其应用越来越普及。但强大的功能产生大量的耗电使智能手机的续航能力降低,那么如何准确计算移动终端上应用程序的耗电量已成为移动终端用户最为关注的问题。
本发明实施例提供了一种应用程序的电量消耗确定方法,可以应用于移动终端,如图1所示,所述方法包括:
101、接收应用程序的电量消耗确定指令。
其中,所述指令包括待确定电量消耗的应用程序的标识信息。
102、通过远端接口向云端服务器发送包含移动终端的操作系统数据和所述标识信息的电量消耗请求指令。
在本发明实施例中,在接收到应用程序的电量消耗确定指令后,可以将该指令以数据包的形式基于tcp/ip协议构成一个请求指令,通过远端接口将该请求指令发送至云端服务器。所述操作系统数据可以包括操作系统自带的程序代码以及移动终端上安装的各个应用程序运行所产生的一些数据。
需要说明的是,所述云端服务器在接收到所述请求指令后,会对所述操作系统数据进行解析,并从所述操作系统数据中解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数;然后根据所述功耗参数和所述耗电参数计算所述各个部件对应的耗电量,并根据所述各个部件对应的耗电量确定所述应用程序的电量消耗;最后响应于所述电量消耗请求指令而反馈所述应用程序的电量消耗。
103、通过远端接口获取所述云端服务器反馈的与所述标识信息对应的应用程序的电量消耗。
其中,所述电量消耗为根据所述应用程序所使用的各个部件对应的耗电量确定的,所述各个部件对应的耗电量为根据所述各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数计算的,所述功耗参数和所述耗电参数为从所述操作系统数据中解析出的。
本发明实施例提供一种应用程序的电量消耗确定方法,与目前通过路由器文件统计应用程序所在终端设备各个部件耗电量,然后根据所述各个部件耗电量确定应用程序的电量消耗相比,本发明实施例通过远端接口能够获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息;并从所述操作系统数据中能够解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数。与此同时,根据所述功耗参数和所述各个部件的耗电参数能够确定所述各个部件对应的耗电量,并根据所述各个部件对应的耗电量能够确定所述应用程序的电量消耗,从而能够克服其他应用程序耗电情况的干扰,避免把其他应用程序的耗电量误算为所述应用程序的耗电量,实现只根据所述应用程序所使用的各个部件功能参数和耗电参数,确定所述应用程序的电量消耗,从而能够保证所述应用程序的电量消耗的准确性,进而能够提升应用程序的电量消耗的准确率。
本发明实施例提供了另一种应用程序的电量消耗确定方法,可以应用于云端服务器,如图2所示,所述方法包括:
201、通过远端接口获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令。
其中,所述标识信息为待确定电量消耗的应用程序的标识信息。所述请求指令可以为移动终端在接收应用程序的电量消耗确定指令并采集本地的操作系统后发送的,所述指令包括待确定电量消耗的应用程序的标识信息。
202、从所述操作系统数据中解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数。
其中,所述操作系统可以为安卓操作系统。所述各个部件包括处理器、网络部件、传感器、无线电部件和唤醒部件。所述处理器对应的功耗参数可以为所述处理器在各个步频下的处理器耗电量、所述网络部件对应的功耗参数可以为所述网络部件对应的单位耗电量、所述传感器对应的功耗参数可以为所述传感器对应的单位耗电量、所述无线电部件对应的功耗参数可以为所述无线电部件对应的单位耗电量、所述唤醒部件对应的功耗参数可以为所述唤醒部件在唤醒状态下的单位耗电量。所述处理器对应的耗电参数可以为所述应用程序的进程的总运行时长和所述进程在所述处理器各个步频下占用所述处理器运行时长比例;所述网络部件对应的耗电参数可以为所述网络部件对应的网络耗电参数;所述传感器对应的耗电参数可以为所述传感器对应的使用时长。所述唤醒部件对应的耗电参数可以为所述唤醒部件对应的唤醒时长。
203、根据所述功耗参数和所述耗电参数计算所述各个部件对应的耗电量,并根据所述各个部件对应的耗电量确定所述应用程序的电量消耗。
对于本发明实施例,部件对应的耗电量可以为部件对应的功耗参数和部件对应的耗电参数之积,所述应用程序的电量消耗可以为各个部件对应的耗电量之和。
204、响应于所述电量消耗请求指令而反馈所述应用程序的电量消耗。
对于本发明实施例,可以将确定的应用程序的电量消耗通过远端接口反馈给移动终端。
本发明实施例提供一种应用程序的电量消耗确定方法,与目前通过路由器文件统计应用程序所在终端设备各个部件耗电量,然后根据所述各个部件耗电量确定应用程序的电量消耗相比,本发明实施例通过远端接口能够获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息;并从所述操作系统数据中能够解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数。与此同时,根据所述功耗参数和所述各个部件的耗电参数能够确定所述各个部件对应的耗电量,并根据所述各个部件对应的耗电量能够确定所述应用程序的电量消耗,从而能够克服其他应用程序耗电情况的干扰,避免把其他应用程序的耗电量误算为所述应用程序的耗电量,实现只根据所述应用程序所使用的各个部件功能参数和耗电参数,确定所述应用程序的电量消耗,从而能够保证所述应用程序的电量消耗的准确性,进而能够提升应用程序的电量消耗的准确率。
本发明实施例提供了又一种应用程序的电量消耗确定方法,可以应用于云端服务器,如图3所示,所述方法包括:
301、通过远端接口获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令。
其中,所述标识信息为待确定电量消耗的应用程序的标识信息。
302、从终端设备的操作系统数据中解析出操作系统的功耗信息类,对所述功耗信息类进行反射处理,得到功耗信息类对象。
其中,所述操作系统可以安装所述应用程序的终端设备对应的操作系统,所述操作系统可以为安卓操作系统等。反射可以为程序在运行期间动态加载、解析和使用一些在编译阶段并不确定的类型数据的一种机制,通过反射处理,能够加载运行时才能确定的数据类型,解析操作系统的内部耗电信息类的结构,获取其内部信息,操作该类型或者实例,访问耗电信息类属性,调用耗电信息类方法以及创建耗电信息类对象。
在本发明实施例中,若应用程序所在操作系统的功耗电信息类为com.android.internal.os.powerprofile,反射处理得到的耗电信息类对象可以为powerprofile。本发明实施例可以应用于在操作系统root环境下确定应用程序的电量消耗,具体的可以在操作系统的特定版本上应用。若操作系统为安卓操作系统时,可以应用在安卓操作系统6.0以及以下版本中应用。
303、根据功耗信息类对象对应的获取功耗方法函数,确定处理器在各个步频下的处理器耗电量、网络部件对应的单位耗电量、传感器对应的单位耗电量、无线电部件对应的单位耗电量、唤醒部件在唤醒状态下的单位耗电量。
对于本发明实施例,若应用程序所在操作系统的功耗信息类为com.android.internal.os.powerprofile,反射处理得到的功耗信息类对象可以为powerprofile。所述功耗信息类对象可以为powerprofile,功耗信息类对象对应的获取功耗方法函数可以为powerprofile的getaveragepower。所述处理器耗电量可以为powercpunormal,具体地,可以先确定处理器的步频数,然后计算出每个步频下的处理器耗电量powercpunormal[],传感器对应的单位耗电量可以为radiobytes,网络部件对应的单位耗电量、所述无线电部件对应的单位耗电量可以为mofileradiocost,所述唤醒部件在唤醒状态下的单位耗电量可以为wakelockcost。
需要说明的是,可以通过powerprofile的getaveragepower确定powercpunormal、网络部件对应的单位耗电量、radiobytes、mofileradiocost、wakelockcost。
304、根据应用程序的获取进程接口,确定所述应用程序的进程的总运行时长和进程在处理器各个步频下占用处理器运行时长比例。
对于本发明实施例,所述根据所述应用程序的获取进程接口,确定所述进程的总运行时长的步骤具体可以包括:根据所述应用程序的获取进程接口确定所述应用程序的进程;根据所述进程的获取用户时长接口确定所述进程的前台时长,并根据所述进程的获取系统时长接口确定所述进程的内核运行时长;将所述前台时长和所述内核运行时长之和,确定为所述进程的总运行时长。
其中,所述应用程序的获取进程接口可以为getprocessstats接口,具体可以通过getprocessstats接口获取到当前应用程序的进程信息,所述获取用户时长接口可以为getusertime接口,具体可以通过进程的getusertime接口计算出当前进程的前台时间cpufgtime;所述获取系统时长接口可以为getsystemtime接口,具体可以通过getsystemtime接口计算出当前进程内核运行时长systime;所述进程的总运行时长可以通过如下公式timer=cpufgtime+systime确定。
对于本发明实施例,所述根据所述应用程序的获取进程接口,确定所述进程在所述处理器各个步频下占用所述处理器运行时长比例的步骤具体可以包括:根据所述应用程序的获取进程接口确定所述应用程序的进程;根据所述进程的获取处理器步频下的使用时长接口,确定所述进程在所述处理器各个步频下的使用时长;将所述各个步频下的使用时长与所述处理器各个步频下的总使用时长,确定为所述运行时长比例。
其中,所述获取处理器步频下的使用时长接口可以为gettimeatcpuspeedstep接口,具体可以使用proc的gettimeatcpuspeedstep接口计算出当前进程在处理器各个步频下的使用时长cpuspeedsteptimes[],所述cpuspeedsteptimes[]可以为一个数组,所述各个步频下的总使用时长为totaltimeatspeeds,则所述运行时长比例s可以通过如下公式s=cpuspeedsteptimes[i]/(double)totaltimeatspeeds确定,i可以为某个cpu步频,通过上述公式可以得到某个步频占用的cpu时长比例。
305、根据应用程序的获取网络参数接口,确定网络部件对应的网络耗电参数。
对于本发明实施例,所述网络部件对应的单位耗电量包括网络流量的单位耗电量、网络扫描状态下的单位耗电量和网络运行状态下的单位耗电量,步骤305具体可以包括:根据所述应用程序的总接收进程接口和总发送进程接口,确定所述应用程序的总流量,并根据所述应用程序的总流量和所述无线电部件的数据流量,确定所述网络部件的网络流量;根据所述应用程序的获取网络扫描时长接口,确定所述网络部件对应的网络扫描时长;根据所述应用程序的获取网络运行时长接口,确定所述网络部件对应的网络运行时长。
其中,所述网络流量的单位耗电量可以为wificost,所述网络扫描状态下的单位耗电量可以为wifiscancost,所述网络运行状态下的单位耗电量可以为wifirunningtime,所述应用程序的总接收进程接口可以为gettotaltcpbytesreceived,总发送进程接口可以为gettotaltcpbytessent,即通过gettotaltcpbytesreceived和gettotaltcpbytessent得到所述应用程序的总流量totalbytes。若所述无线电部件的数据流量为radiobytes,则可以通过如下公式wifibytes=totalbytes–radiobytes确定所述网络部件的网络流量wifibytes。所述应用程序的获取网络扫描时长接口可以为getwifiscantime,所述网络扫描时长可以为wifiscantime。所述获取网络运行时长接口可以为getwifirunningtime,所述网络运行时长可以为wifirunningtime
306、根据应用程序的获取传感器记录接口确定传感器,并根据传感器的获取传感器时间接口确定传感器对应的使用时长。
对于本发明实施例,所述获取传感器记录接口可以为getsensorstats接口,所述获取传感器时间接口可以为getsensortime接口,具体地可以通过setsensorstats得到当前应用程序所使用的传感器集sensorsets,然后遍历sensorsets,使用sensor的getsensortime接口计算出所述传感器的使用时长sensortime。
307、根据应用程序的获取数据流量接收接口和获取数据流量发送接口,确定无线电部件对应的数据流量。
对于本发明实施例,所述获取数据流量接收接口可以为getmobiletcpbytesreceived接口,所述获取数据流量发送接口可以为getmobiletcpbytessent接口,通过getmobiletcpbytesreceived接口和getmobiletcpbytessent接口,确定无线电部件对应的数据流量radiobytes。
308、根据应用程序的获取唤醒时长接口,确定唤醒部件对应的唤醒时长。
对于本发明实施例,所述获取唤醒时长接口可以为gettotaltimelocked接口,所述唤醒时长可以为wakelocktime,具体可以使用唤醒部件的getwaketime得到时间对象,所述时间对象可以为timer对象,具体地使用timer对象的gettotaltimelocked接口,确定唤醒时长wakelocktime。
309、根据处理器耗电量、进程的总运行时长和运行时长比例,确定处理器对应的耗电量。
对于本发明实施例,步骤309具体可以包括:将所述处理器耗电量、所述进程的总运行时长和所述运行时长比例之积,分别确定为所述进程在所述各个步频下的进程耗电量;将所述各个步频下的进程耗电量之和,确定为所述处理器对应的耗电量。
需要说明的是,若所述某个步频下的进程耗电量为stepcpupower,具体可以通过如下公式stepcpupower=s*(double)timer*powercpunormal[i],(i为步频数)确定当前进程在某个步频下的进程耗电量;然后累加所有stepcpupower得到所述处理器对应的耗电量totalcpupower。
310、根据网络部件对应的单位耗电量和网络参数,确定网络部件对应的耗电量。
对于本发明实施例,当所述网络部件对应的单位耗电量包括网络流量的单位耗电量、网络扫描状态下的单位耗电量和网络运行状态下的单位耗电量时,步骤310具体可以包括:将所述网络流量的单位耗电量和所述网络流量之积,确定为所述网络部件对应的网络流量耗电量;将所述网络扫描状态下的单位耗电量和所述网络扫描时长之积,确定为所述网络部件对应的网络扫描耗电量;将所述网络运行状态下的单位耗电量和所述网络运行时长之积,确定为所述网络部件对应的网络运行耗电量;将所述网络流量耗电量、所述网络扫描耗电量和所述网络运行耗电量之和,确定为所述网络部件对应的耗电量。
对于本发明实施例,可以通过如下公式wifipower=wificost*wifibytes确定所述网络流量耗电量wifipower;可以通过如下公式wifiscanpower=wifiscantime*wifiscancost确定所述网络部件对应的网络扫描耗电量wifiscanpower;可以通过如下公式wifirunningpower=wifirunningtime*wifirunningcost确定所述网络部件对应的网络运行耗电量wifirunningpower,以及可以通过如下公式:所述网络部件对应的耗电量=wifipower+wifiscanpower+wifirunningcost确定所述网络部件对应的耗电量。
311、根据传感器对应的单位耗电量和传感器对应的使用时长,确定传感器对应的耗电量。
对于本发明实施例,为了确定传感器对应的耗电量sensorpower,步骤311具体可以包括:将传感器对应的单位耗电量sensorcost和传感器对应的使用时长sensortime之积,确定为传感器对应的耗电量,具体可以通过如下公式sensorpower=sensortime*sensorcost确定传感器对应的耗电量。当存在多个传感器时,应用程序运行对应得传感器对应的耗电量可以为所有sensorpower的累加之和,即为总的传感器耗电量totalsensorpower。
312、根据无线电部件对应的单位耗电量和数据流量,确定无线电部件对应的耗电量。
对于本发明实施例,为了确定无线电部件对应的耗电量radiaopower,步骤312具体可以包括:将无线电部件对应的单位耗电量和数据流量之积,确定为无线电部件对应的耗电量,具体可以通过如下公式radiaopower=mofileradiocost*radiobytes确定无线电部件对应的耗电量radiaopower。
313、根据唤醒部件在唤醒状态下的单位耗电量和唤醒时长,确定唤醒部件对应的耗电量。
对于本发明实施例,为了确定唤醒部件对应的耗电量wakelockpower,步骤313具体可以包括:将唤醒部件在唤醒状态下的单位耗电量wakelockcost和唤醒时长wakelocktime之积,确定为唤醒部件对应的耗电量wakelockpower,具体可以通过如下公式wakelockpower=wakelockcost*wakelocktime确定唤醒部件对应的耗电量wakelockpower。
314、将处理器对应的耗电量、网络部件对应的耗电量、传感器对应的耗电量、无线电部件对应的耗电量和唤醒部件对应的耗电量之和,确定为应用程序的电量消耗。
对于本发明实施例,可以通过如下公式:sumpower=totalcpupower+radiaopower+wifipower+wakelockpower+wifiscanpower+wifirunningpower+totalsensorpower确定应用程序的电量消耗sumpower。
315、响应于所述电量消耗请求指令而反馈所述应用程序的电量消耗。
对于本发明实施例,还提供了耗电性能分析报表生成功能,所述方法还包括:根据所述电量消耗、所述应用程序对应的操作系统版本和对应的终端设备类型和,生成所述应用程序对应的耗电性能分析报表。
需要说明的是,针对同一应用程序,云端服务器可以综合该应用程序在不同版本的操作系统、不同终端设备类型下的耗电量,生成耗电性能分析报表。
本发明实施例提供了又一种应用程序的电量消耗确定方法,与目前通过路由器文件统计应用程序所在终端设备各个部件耗电量,然后根据所述各个部件耗电量确定应用程序的电量消耗相比,本发明实施例通过远端接口能够获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息;并从所述操作系统数据中能够解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数。与此同时,根据所述功耗参数和所述各个部件的耗电参数能够确定所述各个部件对应的耗电量,并根据所述各个部件对应的耗电量能够确定所述应用程序的电量消耗,从而能够克服其他应用程序耗电情况的干扰,避免把其他应用程序的耗电量误算为所述应用程序的耗电量,实现只根据所述应用程序所使用的各个部件功能参数和耗电参数,确定所述应用程序的电量消耗,从而能够保证所述应用程序的电量消耗的准确性,进而能够提升应用程序的电量消耗的准确率。
进一步地,作为图1的具体实现,本发明实施例提供了一种应用程序的电量消耗确定装置,如图4所示,所述装置包括:接收单元41、发送单元42和获取单元43。
所述接收单元41,用于接收应用程序的电量消耗确定指令,所述指令包括待确定电量消耗的应用程序的标识信息。
所述发送单元42,用于通过远端接口向云端服务器发送包含移动终端的操作系统数据和所述标识信息的电量消耗请求指令。
所述获取单元43,用于通过远端接口获取所述云端服务器反馈的与所述标识信息对应的应用程序的电量消耗。
其中,所述电量消耗为根据所述应用程序所使用的各个部件对应的耗电量确定的,所述各个部件对应的耗电量为根据所述各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数计算的,所述功耗参数和所述耗电参数为从所述操作系统数据中解析出的。
需要说明的是,本发明实施例提供的一种应用程序的电量消耗确定装置所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
本发明实施例提供的一种应用程序的电量消耗确定装置,所述装置可以配置接收单元、发送单元和获取单元。与目前通过路由器文件统计应用程序所在终端设备各个部件耗电量,然后根据所述各个部件耗电量确定应用程序的电量消耗相比,本发明实施例通过远端接口能够获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息;并从所述操作系统数据中能够解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数。与此同时,根据所述功耗参数和所述各个部件的耗电参数能够确定所述各个部件对应的耗电量,并根据所述各个部件对应的耗电量能够确定所述应用程序的电量消耗,从而能够克服其他应用程序耗电情况的干扰,避免把其他应用程序的耗电量误算为所述应用程序的耗电量,实现只根据所述应用程序所使用的各个部件功能参数和耗电参数,确定所述应用程序的电量消耗,从而能够保证所述应用程序的电量消耗的准确性,进而能够提升应用程序的电量消耗的准确率。
进一步地,作为图2的具体实现,本发明实施例提供了另一种应用程序的电量消耗确定装置,如图5所示,所述装置包括:获取单元51、解析单元52、计算单元53、确定单元54和响应单元55。
所述获取单元51,用于通过远端接口获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息。
所述解析单元52,用于从所述操作系统数据中解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数。
所述计算单元53,用于根据所述功耗参数和所述耗电参数计算所述各个部件对应的耗电量。
所述确定单元54,用于根据所述各个部件对应的耗电量确定所述应用程序的电量消耗。
所述响应单元55,用于响应于所述电量消耗请求指令而反馈所述应用程序的电量消耗。
需要说明的是,本发明实施例提供的另一种应用程序的电量消耗确定装置所涉及各功能模块的其他相应描述,可以参考图2所示方法的对应描述,在此不再赘述。
本发明实施例提供的另一种应用程序的电量消耗确定装置,所述装置可以配置反射单元、第一确定单元、第二确定单元、第三确定单元和第四确定单元。与目前通过路由器文件统计应用程序所在终端设备各个部件耗电量,然后根据所述各个部件耗电量确定应用程序的电量消耗相比,本发明实施例通过远端接口能够获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息;并从所述操作系统数据中能够解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数。与此同时,根据所述功耗参数和所述各个部件的耗电参数能够确定所述各个部件对应的耗电量,并根据所述各个部件对应的耗电量能够确定所述应用程序的电量消耗,从而能够克服其他应用程序耗电情况的干扰,避免把其他应用程序的耗电量误算为所述应用程序的耗电量,实现只根据所述应用程序所使用的各个部件功能参数和耗电参数,确定所述应用程序的电量消耗,从而能够保证所述应用程序的电量消耗的准确性,进而能够提升应用程序的电量消耗的准确率。
进一步地,作为图3的具体实现,本发明实施例提供了又一种应用程序的电量消耗确定装置,如图6所示,所述装置包括:获取单元61、解析单元62、计算单元63、确定单元64和响应单元65。
所述获取单元61,用于通过远端接口获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息。
所述解析单元62,用于从所述操作系统数据中解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数。
所述计算单元63,用于根据所述功耗参数和所述耗电参数计算所述各个部件对应的耗电量。
所述确定单元64,用于根据所述各个部件对应的耗电量确定所述应用程序的电量消耗。
所述响应单元65,用于响应于所述电量消耗请求指令而反馈所述应用程序的电量消耗。
对于本发明实施例,所述解析单元62可以包括:解析模块621、反射模块622、获取模块623和确定模块624。
所述解析模块621,用于从终端设备的操作系统数据中解析出操作系统的功耗信息类。
所述反射模块622,用于对所述功耗信息类进行反射处理,得到功耗信息类对象。
所述获取模块623,用于根据所述反射模块得到的所述功耗信息类对象获取与所述标识信息对应的应用程序所使用的各个部件对应的功耗参数。
所述确定模块624,用于根据所述应用程序对应的应用程序接口确定所述各个部件的耗电参数。
对于本发明实施例,所述各个部件包括处理器、网络部件、传感器、无线电部件和唤醒部件,所述获取模块623,具体用于根据所述功耗信息类对象对应的获取功耗方法函数,确定所述处理器在各个步频下的处理器耗电量、所述网络部件对应的单位耗电量、所述传感器对应的单位耗电量、所述无线电部件对应的单位耗电量、所述唤醒部件在唤醒状态下的单位耗电量;
所述确定模块624,具体用于根据所述应用程序的获取进程接口,确定所述应用程序的进程的总运行时长和所述进程在所述处理器各个步频下占用所述处理器运行时长比例;根据所述应用程序的获取网络参数接口,确定所述网络部件对应的网络参数;根据所述应用程序的获取传感器记录接口确定所述传感器,并根据所述传感器的获取传感器时间接口确定所述传感器对应的使用时长;根据所述应用程序的获取数据流量接收接口和获取数据流量发送接口,确定所述无线电部件对应的数据流量;根据所述应用程序的获取唤醒时长接口,确定所述唤醒部件对应的唤醒时长。
所述计算单元63,具体用于根据所述处理器耗电量、所述进程的总运行时长和所述运行时长比例,确定所述处理器对应的耗电量;根据所述网络部件对应的单位耗电量和所述网络参数,确定所述网络部件对应的耗电量;根据所述传感器对应的单位耗电量和所述传感器对应的使用时长,确定所述传感器对应的耗电量;根据所述无线电部件对应的单位耗电量和所述数据流量,确定所述无线电部件对应的耗电量;根据所述唤醒部件在唤醒状态下的单位耗电量和所述唤醒时长,确定所述唤醒部件对应的耗电量。
所述确定单元64,具体用于将所述处理器对应的耗电量、所述网络部件对应的耗电量、所述传感器对应的耗电量、所述无线电部件对应的耗电量和所述唤醒部件对应的耗电量之和,确定为所述应用程序的电量消耗。
对于本发明实施例,所述网络部件对应的单位耗电量包括网络流量的单位耗电量、网络扫描状态下的单位耗电量和网络运行状态下的单位耗电量,所述确定模块624,具体还用于根据所述应用程序的总接收进程接口和总发送进程接口,确定所述应用程序的总流量,并根据所述应用程序的总流量和所述无线电部件的数据流量,确定所述网络部件的网络流量;根据所述应用程序的获取网络扫描时长接口,确定所述网络部件对应的网络扫描时长;根据所述应用程序的获取网络扫描时长接口,确定所述网络部件对应的网络扫描时长;将所述网络流量的单位耗电量和所述网络流量之积,确定为所述网络部件对应的网络流量耗电量;将所述网络扫描状态下的单位耗电量和所述网络扫描时长之积,确定为所述网络部件对应的网络扫描耗电量;将所述网络流量耗电量、所述网络扫描耗电量和所述网络运行耗电量之和,确定为所述网络部件对应的耗电量。
所述确定模块624,具体还用于根据所述应用程序的获取进程接口确定所述应用程序的进程;根据所述进程的获取用户时长接口确定所述进程的前台时长,并根据所述进程的获取系统时长接口确定所述进程的内核运行时长;用于将所述前台时长和所述内核运行时长之和,确定为所述进程的总运行时长。
所述确定模块624,具体还用于根据所述应用程序的获取进程接口确定所述应用程序的进程;根据所述进程的获取处理器步频下的使用时长接口,确定所述进程在所述处理器各个步频下的使用时长;将所述各个步频下的使用时长与所述处理器各个步频下的总使用时长,确定为所述运行时长比例。
所述计算单元63,具体还用于将所述处理器耗电量、所述进程的总运行时长和所述运行时长比例之积,分别确定为所述进程在所述各个步频下的进程耗电量;将所述各个步频下的进程耗电量之和,确定为所述处理器对应的耗电量。
对于本发明实施例,所述装置包括:生成单元66。
所述生成单元66,用于根据所述电量消耗、所述应用程序对应的操作系统版本和对应的终端设备类型,生成所述应用程序对应的耗电性能分析报表。
需要说明的是,本发明实施例提供的又一种应用程序的电量消耗确定装置所涉及各功能模块的其他相应描述,可以参考图3所示方法的对应描述,在此不再赘述。
本发明实施例提供的又一种应用程序的电量消耗确定装置,所述装置可以配置反射单元、第一确定单元、第二确定单元、第三确定单元和第四确定单元。与目前通过路由器文件统计应用程序所在终端设备各个部件耗电量,然后根据所述各个部件耗电量确定应用程序的电量消耗相比,本发明实施例通过远端接口能够获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息;并从所述操作系统数据中能够解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数。与此同时,根据所述功耗参数和所述各个部件的耗电参数能够确定所述各个部件对应的耗电量,并根据所述各个部件对应的耗电量能够确定所述应用程序的电量消耗,从而能够克服其他应用程序耗电情况的干扰,避免把其他应用程序的耗电量误算为所述应用程序的耗电量,实现只根据所述应用程序所使用的各个部件功能参数和耗电参数,确定所述应用程序的电量消耗,从而能够保证所述应用程序的电量消耗的准确性,进而能够提升应用程序的电量消耗的准确率。
为了实现上述提升应用程序的电量消耗的准确率的目的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现以下步骤:接收应用程序的电量消耗确定指令,所述指令包括待确定电量消耗的应用程序的标识信息;通过远端接口向云端服务器发送包含移动终端的操作系统数据和所述标识信息的电量消耗请求指令;通过远端接口获取所述云端服务器反馈的与所述标识信息对应的应用程序的电量消耗;其中,所述电量消耗为根据所述应用程序所使用的各个部件对应的耗电量确定的,所述各个部件对应的耗电量为根据所述各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数计算的,所述功耗参数和所述耗电参数为从所述操作系统数据中解析出的。
为了实现上述提升应用程序的电量消耗的准确率的目的,本发明实施例还提供了移动设备,如图7所示,包括存储器71、处理器72及存储在存储器71上并可在处理器72上运行的计算机程序,所述处理器71执行所述程序时实现以下步骤:接收应用程序的电量消耗确定指令,所述指令包括待确定电量消耗的应用程序的标识信息;通过远端接口向云端服务器发送包含移动终端的操作系统数据和所述标识信息的电量消耗请求指令;通过远端接口获取所述云端服务器反馈的与所述标识信息对应的应用程序的电量消耗;其中,所述电量消耗为根据所述应用程序所使用的各个部件对应的耗电量确定的,所述各个部件对应的耗电量为根据所述各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数计算的,所述功耗参数和所述耗电参数为从所述操作系统数据中解析出的。
为了实现上述提升应用程序的电量消耗的准确率的目的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现以下步骤:通过远端接口获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息;从所述操作系统数据中解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数;根据所述功耗参数和所述耗电参数计算所述各个部件对应的耗电量,并根据所述各个部件对应的耗电量确定所述应用程序的电量消耗;响应于所述电量消耗请求指令而反馈所述应用程序的电量消耗。
为了实现上述提升应用程序的电量消耗的准确率的目的,本发明实施例还提供了云端服务器,如图8所示,包括存储器81、处理器82及存储在存储器81上并可在处理器82上运行的计算机程序,所述处理器81执行所述程序时实现以下步骤:通过远端接口获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息;从所述操作系统数据中解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数;根据所述功耗参数和所述耗电参数计算所述各个部件对应的耗电量,并根据所述各个部件对应的耗电量确定所述应用程序的电量消耗;响应于所述电量消耗请求指令而反馈所述应用程序的电量消耗。
本发明还提供了如下技术方案:
a1、一种应用程序的电量消耗确定方法,包括:
接收应用程序的电量消耗确定指令,所述指令包括待确定电量消耗的应用程序的标识信息;
通过远端接口向云端服务器发送包含移动终端的操作系统数据和所述标识信息的电量消耗请求指令;
通过远端接口获取所述云端服务器反馈的与所述标识信息对应的应用程序的电量消耗;
其中,所述电量消耗为根据所述应用程序所使用的各个部件对应的耗电量确定的,所述各个部件对应的耗电量为根据所述各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数计算的,所述功耗参数和所述耗电参数为从所述操作系统数据中解析出的。
b2、一种应用程序的电量消耗确定方法,其特征在于,包括:
通过远端接口获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息;
从所述操作系统数据中解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数;
根据所述功耗参数和所述耗电参数计算所述各个部件对应的耗电量,并根据所述各个部件对应的耗电量确定所述应用程序的电量消耗;
响应于所述电量消耗请求指令而反馈所述应用程序的电量消耗。
b3、如b2所述的方法,所述从终端设备的操作系统数据中解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和运行所述应用程序所述各个部件的耗电参数包括:
从终端设备的操作系统数据中解析出操作系统的功耗信息类;
对所述功耗信息类进行反射处理,得到功耗信息类对象;
根据所述功耗信息类对象获取与所述标识信息对应的应用程序所使用的各个部件对应的功耗参数,并根据所述应用程序对应的应用程序接口确定所述各个部件运行所述应用程序的耗电参数。
b4、如b3所述的方法,所述各个部件包括处理器、网络部件、传感器、无线电部件和唤醒部件,所述根据所述功耗信息类对象获取所述应用程序所使用的各个部件对应的功耗参数包括:
根据所述功耗信息类对象对应的获取功耗方法函数,确定所述处理器在各个步频下的处理器耗电量、所述网络部件对应的单位耗电量、所述传感器对应的单位耗电量、所述无线电部件对应的单位耗电量、所述唤醒部件在唤醒状态下的单位耗电量;
所述根据所述应用程序对应的应用程序接口确定所述各个部件的耗电参数包括:
根据所述应用程序的获取进程接口,确定所述应用程序的进程的总运行时长和所述进程在所述处理器各个步频下占用所述处理器运行时长比例;
根据所述应用程序的获取网络参数接口,确定所述网络部件对应的网络耗电参数;
根据所述应用程序的获取传感器记录接口确定所述传感器,并根据所述传感器的获取传感器时间接口确定所述传感器对应的使用时长;
根据所述应用程序的获取数据流量接收接口和获取数据流量发送接口,确定所述无线电部件对应的数据流量;
根据所述应用程序的获取唤醒时长接口,确定所述唤醒部件对应的唤醒时长。
b5、如b4所述的方法,所述根据所述功耗参数和所述耗电参数计算所述各个部件对应的耗电量包括:
根据所述处理器耗电量、所述进程的总运行时长和所述运行时长比例,确定所述处理器对应的耗电量;
根据所述网络部件对应的单位耗电量和所述网络参数,确定所述网络部件对应的耗电量;
根据所述传感器对应的单位耗电量和所述传感器对应的使用时长,确定所述传感器对应的耗电量;
根据所述无线电部件对应的单位耗电量和所述数据流量,确定所述无线电部件对应的耗电量;
根据所述唤醒部件在唤醒状态下的单位耗电量和所述唤醒时长,确定所述唤醒部件对应的耗电量;
所述根据所述各个部件对应的耗电量确定所述应用程序的电量消耗包括:
将所述处理器对应的耗电量、所述网络部件对应的耗电量、所述传感器对应的耗电量、所述无线电部件对应的耗电量和所述唤醒部件对应的耗电量之和,确定为所述应用程序的电量消耗。
b6、如b5所述的方法,所述网络部件对应的单位耗电量包括网络流量的单位耗电量、网络扫描状态下的单位耗电量和网络运行状态下的单位耗电量,所述根据应用程序的获取网络参数接口,确定网络部件对应的网络耗电参数包括:
根据所述应用程序的总接收进程接口和总发送进程接口,确定所述应用程序的总流量,并根据所述应用程序的总流量和所述无线电部件的数据流量,确定所述网络部件的网络流量;
根据所述应用程序的获取网络扫描时长接口,确定所述网络部件对应的网络扫描时长;
根据所述应用程序的获取网络运行时长接口,确定所述网络部件对应的网络运行时长;
所述根据所述网络部件对应的单位耗电量和所述网络参数,确定所述网络部件对应的耗电量包括:
将所述网络流量的单位耗电量和所述网络流量之积,确定为所述网络部件对应的网络流量耗电量;
将所述网络扫描状态下的单位耗电量和所述网络扫描时长之积,确定为所述网络部件对应的网络扫描耗电量;
将所述网络运行状态下的单位耗电量和所述网络运行时长之积,确定为所述网络部件对应的网络运行耗电量;
将所述网络流量耗电量、所述网络扫描耗电量和所述网络运行耗电量之和,确定为所述网络部件对应的耗电量。
b7、如b4所述的方法,所述根据所述应用程序的获取进程接口,确定所述进程的总运行时长包括:
根据所述应用程序的获取进程接口确定所述应用程序的进程;
根据所述进程的获取用户时长接口确定所述进程的前台时长,并根据所述进程的获取系统时长接口确定所述进程的内核运行时长;
将所述前台时长和所述内核运行时长之和,确定为所述进程的总运行时长。
b8、如b4所述的方法,所述根据所述应用程序的获取进程接口,确定所述进程在所述处理器各个步频下占用所述处理器运行时长比例包括:
根据所述应用程序的获取进程接口确定所述应用程序的进程;
根据所述进程的获取处理器步频下的使用时长接口,确定所述进程在所述处理器各个步频下的使用时长;
将所述各个步频下的使用时长与所述处理器各个步频下的总使用时长,确定为所述运行时长比例。
b9、如b5所述的方法,所述根据所述处理器耗电量、所述进程的总运行时长和所述运行时长比例,确定所述处理器对应的耗电量包括:
将所述处理器耗电量、所述进程的总运行时长和所述运行时长比例之积,分别确定为所述进程在所述各个步频下的进程耗电量;
将所述各个步频下的进程耗电量之和,确定为所述处理器对应的耗电量。
b10、如b2-b9任一项所述的方法,所述确定所述应用程序的电量消耗之后,所述方法还包括:
根据所述电量消耗、所述应用程序对应的操作系统版本和对应的终端设备类型,生成所述应用程序对应的耗电性能分析报表。
c11、一种应用程序的电量消耗确定装置,包括:
接收单元,用于接收应用程序的电量消耗确定指令,所述指令包括待确定电量消耗的应用程序的标识信息;
发送单元,用于通过远端接口向云端服务器发送包含移动终端的操作系统数据和所述标识信息的电量消耗请求指令;
获取单元,用于通过远端接口获取所述云端服务器反馈的与所述标识信息对应的应用程序的电量消耗;
其中,所述电量消耗为根据所述应用程序所使用的各个部件对应的耗电量确定的,所述各个部件对应的耗电量为根据所述各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数计算的,所述功耗参数和所述耗电参数为从所述操作系统数据中解析出的。
d12、一种应用程序的电量消耗确定装置,包括:
获取单元,用于通过远端接口获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息;
解析单元,用于从所述操作系统数据中解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数;
计算单元,用于根据所述功耗参数和所述耗电参数计算所述各个部件对应的耗电量;
确定单元,用于根据所述各个部件对应的耗电量确定所述应用程序的电量消耗;
响应单元,用于响应于所述电量消耗请求指令而反馈所述应用程序的电量消耗。
d13、如d12所述的装置,所述解析单元包括:
解析模块,用于从终端设备的操作系统数据中解析出操作系统的功耗信息类;
反射模块,用于对所述功耗信息类进行反射处理,得到功耗信息类对象;
获取模块,用于根据所述反射模块得到的所述功耗信息类对象获取与所述标识信息对应的应用程序所使用的各个部件对应的功耗参数;
确定模块,用于根据所述应用程序对应的应用程序接口确定所述各个部件的耗电参数。
d14、如d13所述的装置,所述各个部件包括处理器、网络部件、传感器、无线电部件和唤醒部件,
所述获取模块,具体用于根据所述功耗信息类对象对应的获取功耗方法函数,确定所述处理器在各个步频下的处理器耗电量、所述网络部件对应的单位耗电量、所述传感器对应的单位耗电量、所述无线电部件对应的单位耗电量、所述唤醒部件在唤醒状态下的单位耗电量;
所述确定模块,具体用于根据所述应用程序的获取进程接口,确定所述应用程序的进程的总运行时长和所述进程在所述处理器各个步频下占用所述处理器运行时长比例;根据所述应用程序的获取网络参数接口,确定所述网络部件对应的网络参数;根据所述应用程序的获取传感器记录接口确定所述传感器,并根据所述传感器的获取传感器时间接口确定所述传感器对应的使用时长;根据所述应用程序的获取数据流量接收接口和获取数据流量发送接口,确定所述无线电部件对应的数据流量;根据所述应用程序的获取唤醒时长接口,确定所述唤醒部件对应的唤醒时长。
d15、如d14所述的装置,
所述计算单元,具体用于根据所述处理器耗电量、所述进程的总运行时长和所述运行时长比例,确定所述处理器对应的耗电量;根据所述网络部件对应的单位耗电量和所述网络参数,确定所述网络部件对应的耗电量;根据所述传感器对应的单位耗电量和所述传感器对应的使用时长,确定所述传感器对应的耗电量;根据所述无线电部件对应的单位耗电量和所述数据流量,确定所述无线电部件对应的耗电量;根据所述唤醒部件在唤醒状态下的单位耗电量和所述唤醒时长,确定所述唤醒部件对应的耗电量;
所述确定单元,具体用于将所述处理器对应的耗电量、所述网络部件对应的耗电量、所述传感器对应的耗电量、所述无线电部件对应的耗电量和所述唤醒部件对应的耗电量之和,确定为所述应用程序的电量消耗。
d16、如d15所述的装置,所述网络部件对应的单位耗电量包括网络流量的单位耗电量、网络扫描状态下的单位耗电量和网络运行状态下的单位耗电量,
所述确定模块,具体还用于根据所述应用程序的总接收进程接口和总发送进程接口,确定所述应用程序的总流量,并根据所述应用程序的总流量和所述无线电部件的数据流量,确定所述网络部件的网络流量;根据所述应用程序的获取网络扫描时长接口,确定所述网络部件对应的网络扫描时长;根据所述应用程序的获取网络扫描时长接口,确定所述网络部件对应的网络扫描时长;将所述网络流量的单位耗电量和所述网络流量之积,确定为所述网络部件对应的网络流量耗电量;将所述网络扫描状态下的单位耗电量和所述网络扫描时长之积,确定为所述网络部件对应的网络扫描耗电量;将所述网络流量耗电量、所述网络扫描耗电量和所述网络运行耗电量之和,确定为所述网络部件对应的耗电量。
d17、如d14所述的装置,
所述确定模块,具体还用于根据所述应用程序的获取进程接口确定所述应用程序的进程;根据所述进程的获取用户时长接口确定所述进程的前台时长,并根据所述进程的获取系统时长接口确定所述进程的内核运行时长;用于将所述前台时长和所述内核运行时长之和,确定为所述进程的总运行时长。
d18、如d14所述的装置,
所述确定模块,具体还用于根据所述应用程序的获取进程接口确定所述应用程序的进程;根据所述进程的获取处理器步频下的使用时长接口,确定所述进程在所述处理器各个步频下的使用时长;将所述各个步频下的使用时长与所述处理器各个步频下的总使用时长,确定为所述运行时长比例。
d19、如d15所述的装置,
所述计算单元,具体还用于将所述处理器耗电量、所述进程的总运行时长和所述运行时长比例之积,分别确定为所述进程在所述各个步频下的进程耗电量;将所述各个步频下的进程耗电量之和,确定为所述处理器对应的耗电量。
d20、如d12-d19任一项所述的装置,所述装置包括:
生成单元,用于根据所述电量消耗、所述应用程序对应的操作系统版本和对应的终端设备类型,生成所述应用程序对应的耗电性能分析报表。
e21、一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
接收应用程序的电量消耗确定指令,所述指令包括待确定电量消耗的应用程序的标识信息;
通过远端接口向云端服务器发送包含移动终端的操作系统数据和所述标识信息的电量消耗请求指令;
通过远端接口获取所述云端服务器反馈的与所述标识信息对应的应用程序的电量消耗;
其中,所述电量消耗为根据所述应用程序所使用的各个部件对应的耗电量确定的,所述各个部件对应的耗电量为根据所述各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数计算的,所述功耗参数和所述耗电参数为从所述操作系统数据中解析出的。
f22、一种移动设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
接收应用程序的电量消耗确定指令,所述指令包括待确定电量消耗的应用程序的标识信息;
通过远端接口向云端服务器发送包含移动终端的操作系统数据和所述标识信息的电量消耗请求指令;
通过远端接口获取所述云端服务器反馈的与所述标识信息对应的应用程序的电量消耗;
其中,所述电量消耗为根据所述应用程序所使用的各个部件对应的耗电量确定的,所述各个部件对应的耗电量为根据所述各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数计算的,所述功耗参数和所述耗电参数为从所述操作系统数据中解析出的。
g23、一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
通过远端接口获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息;
从所述操作系统数据中解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数;
根据所述功耗参数和所述耗电参数计算所述各个部件对应的耗电量,并根据所述各个部件对应的耗电量确定所述应用程序的电量消耗;
响应于所述电量消耗请求指令而反馈所述应用程序的电量消耗。
h24、一种云端服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
通过远端接口获取移动终端发送的包含所述移动终端的操作系统数据和标识信息的电量消耗请求指令,所述标识信息为待确定电量消耗的应用程序的标识信息;
从所述操作系统数据中解析出与所述标识信息对应的应用程序所使用的各个部件的功耗参数和所述各个部件运行所述应用程序的耗电参数;
根据所述功耗参数和所述耗电参数计算所述各个部件对应的耗电量,并根据所述各个部件对应的耗电量确定所述应用程序的电量消耗;
响应于所述电量消耗请求指令而反馈所述应用程序的电量消耗。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的应用程序的电量消耗确定装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。