CN110737320B - 耗电量检测方法、装置、电子设备及存储介质 - Google Patents
耗电量检测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110737320B CN110737320B CN201910909354.0A CN201910909354A CN110737320B CN 110737320 B CN110737320 B CN 110737320B CN 201910909354 A CN201910909354 A CN 201910909354A CN 110737320 B CN110737320 B CN 110737320B
- Authority
- CN
- China
- Prior art keywords
- thread
- list
- time
- target
- power consumption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3212—Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明实施例公开了一种耗电量检测方法、装置、电子设备及存储介质,其中,方法包括:遍历CPU线程,得到第一线程列表,再次遍历CPU线程,得到第二线程列表,根据所述第一线程列表及所述第二线程列表确定所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片;根据所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片确定所述第二线程列表中各个线程的耗电状态,将所述第二线程列表中耗电状态为异常状态的线程确定为目标线程,获取与所述目标线程匹配的省电策略,采用所述省电策略对所述目标线程进行处理。本发明实施例通过对耗电异常的线程进行处理,能够节省电子设备的耗电量。
Description
技术领域
本发明涉及移动通信技术领域,尤其涉及一种耗电量检测方法,一种耗电量检测装置,一种电子设备,以及一种存储介质。
背景技术
随着移动通信技术的不断发展,电子设备(如智能手机、平板电脑)的使用越来越普及,可在电子设备中运行的应用程序也越来越多,导致需要建立更多线程来执行这些应用程序对应的任务(如数据处理任务、数据查询任务等),进而,导致电子设备的电池续航时间也越来越短。目前电子设备的续航时间已成为电子设备发展的一个瓶颈,因此,如何节省电子设备的耗电量,延长电子设备的续航时间已经成为一个热点研究项目。
发明内容
本发明实施例所要解决的技术问题在于,提供一种耗电量检测方法、装置、电子设备及存储介质,通过对耗电异常的线程进行处理,能够节省电子设备的耗电量。
一方面,本发明实施例提供一种耗电量检测方法,该方法包括:
遍历CPU线程,得到第一线程列表,所述第一线程列表包括在第一时间所述电子设备中所运行的各个线程的标识及其对应的第一CPU时间片;
再次遍历CPU线程,得到第二线程列表,所述第二线程列表包括在第二时间所述电子设备中所运行的各个线程的标识及其对应的第二CPU时间片;
根据所述第一线程列表及所述第二线程列表确定所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片;
根据所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片确定所述第二线程列表中各个线程的耗电状态;
将所述第二线程列表中耗电状态为异常状态的线程确定为目标线程;
获取与所述目标线程匹配的省电策略,采用所述省电策略对所述目标线程进行处理。
一方面,本发明实施例提供一种耗电量检测装置,该装置包括:
遍历单元,用于遍历CPU线程,得到第一线程列表,所述第一线程列表包括在第一时间所述电子设备中所运行的各个线程的标识及其对应的第一CPU时间片;再次遍历CPU线程,得到第二线程列表,所述第二线程列表包括在第二时间所述电子设备中所运行的各个线程的标识及其对应的第二CPU时间片;
确定单元,用于根据所述第一线程列表及所述第二线程列表确定所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片;根据所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片确定所述第二线程列表中各个线程的耗电状态;将所述第二线程列表中耗电状态为异常状态的线程确定为目标线程;
处理单元,用于获取与所述目标线程匹配的省电策略,采用所述省电策略对所述目标线程进行处理。
又一方面,本发明实施例提供了一种电子设备,包括输入设备和输出设备,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如下步骤:
遍历CPU线程,得到第一线程列表,所述第一线程列表包括在第一时间所述电子设备中所运行的各个线程的标识及其对应的第一CPU时间片;
再次遍历CPU线程,得到第二线程列表,所述第二线程列表包括在第二时间所述电子设备中所运行的各个线程的标识及其对应的第二CPU时间片;
根据所述第一线程列表及所述第二线程列表确定所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片;
根据所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片确定所述第二线程列表中各个线程的耗电状态;
将所述第二线程列表中耗电状态为异常状态的线程确定为目标线程;
获取与所述目标线程匹配的省电策略,采用所述省电策略对所述目标线程进行处理。
又一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如下步骤:
遍历CPU线程,得到第一线程列表,所述第一线程列表包括在第一时间所述电子设备中所运行的各个线程的标识及其对应的第一CPU时间片;
再次遍历CPU线程,得到第二线程列表,所述第二线程列表包括在第二时间所述电子设备中所运行的各个线程的标识及其对应的第二CPU时间片;
根据所述第一线程列表及所述第二线程列表确定所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片;
根据所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片确定所述第二线程列表中各个线程的耗电状态;
将所述第二线程列表中耗电状态为异常状态的线程确定为目标线程;
获取与所述目标线程匹配的省电策略,采用所述省电策略对所述目标线程进行处理。
本发明实施例中,通过根据第二线程列表中各个线程从第一时间到第二时间所占用的CPU时间片确定对应线程所消耗的电量状态,能够快速地确定线程是否处于异常耗电状态。进一步,若线程的耗电状态处于异常状态,将该线程确定为目标线程,采用与目标线程匹配的省电策略对目标线程进行处理,通过对目标线程进行处理,能够降低目标线程的耗电量,即能够节省电子设备的耗电量,延长电子设备的续航时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种耗电量检测方法的流程示意图;
图2是本发明实施例提供的一种线程列表的示意图;
图3是本发明实施例提供的另一种线程列表的示意图;
图4是本发明实施例提供的又一种线程列表的示意图;
图5是本发明实施例提供的另一种耗电量检测方法的流程示意图;
图6是本发明实施例提供的一种耗电量检测装置的结构示意图;
图7是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
电子设备中可以安装并运行多个应用程序,如社交应用程序、打车应用程序、购物应用程序、外卖应用程序等等。这些应用程序运行的过程中,需要建立至少两个线程来执行应用程序对应的任务,一个为UI线程或称为主线程,另一个为后台线程。其中,后台线程负责整个应用程序运行于电子设备的系统时的数据交互;UI线程在应用程序运行时由系统自动创建,主要负责根据用户提交的任务请求实现该应用程序所对应的UI界面的显示、更新以及控件交互等,用户可以通过UI界面提供的菜单及链接等对UI线程下达任务请求。通过线程执行应用程序对应的任务能够为用户带来各种各样的服务,为用户的生活、工作带来许多便利。例如,对于打车应用程序,UI线程用于检测用户在打车应用程序的界面上输入的打车指令,并将该打车指令发送至后台线程,由后台线程为用户匹配合适的车辆,能够为用户提供便捷的打车服务。实践中发现,存在线程重复执行某个任务等异常情况,导致需要额外的消耗电子设备大量的电量,降低了电子设备的电池续航时间,甚至,使其他线程无法正常运行。基于此,本发明实施例提供一种耗电量检测方法,该方法应用于电子设备中,电子设备可以包括但不限于:智能手机、平板电脑、便携式个人计算机、智能手表、手环、智能电视等设备。请参见图1,该方法可以包括如下步骤S101~S104。
S101、遍历CPU线程,得到第一线程列表,该第一线程列表包括在第一时间该电子设备中所运行的各个线程的标识及其对应的第一CPU时间片。
S102、再次遍历CPU线程,得到第二线程列表,该第二线程列表包括在第二时间该电子设备中所运行的各个线程的标识及其对应的第二CPU时间片。
步骤S101和S102中,电子设备可以周期性地遍历CPU线程,得到电子设备在各个时间点所运行的线程列表。即电子设备可以遍历CPU线程,得到第一线程列表,该第一线程列表包括在第一时间该电子设备中所运行的各个线程的标识及其对应的第一CPU时间片;再次遍历CPU线程,得到第二线程列表,该第二线程列表包括在第二时间该电子设备中所运行的各个线程的标识及其对应的第二CPU时间片。第一线程列表中的线程的标识与第二线程列表中的线程的标识可以完全相同、完全不相同、或部分相同。第一时间与第二时间之间的时间间隔是指遍历CPU线程的周期,该时间间隔可以是用户手动设置的,或许是指电子设备中的缺省值。此处CPU时间片是指电子设备的操作系统分配给每个正在运行的进程的CPU时长,即允许线程占用CPU的时长。例如,电子设备中可以包括线程监控应用程序,该线程监控应用程序包括线程文件/proc/$pid/task,该线程文件中包括电子设备中当前运行的线程的基本信息,线程的基本信息包括线程的名称、ID,线程当前所占用的CPU时间片等等。
S103、根据该第一线程列表及所述第二线程列表确定该第二线程列表中各个线程从该第一时间到该第二时间所占用的CPU时间片。
如果某个线程在第一线程列表中,但该线程未在第二线程列表中,表明该线程在时间到达第二时间之前已经被关闭,因此,电子设备只需要确定第二线程列表中的各个线程所占用的CPU时间片。即电子设备可以根据该第一线程列表及所述第二线程列表确定该第二线程列表中各个线程从该第一时间到该第二时间所占用的CPU时间片。
在一个实施例中,该第一线程列表中包括的线程的标识与该第二线程列表中包括的线程的标识相同,即该第一线程列表中包括的线程的标识与该第二线程列表中包括的线程的标识完全相同时,步骤S103包括:根据该第二线程列表和第一线程列表中各个线程的标识,获取该第二线程列表中每个线程的第二CPU时间片与第一CPU时间片的差值,将该差值确定为该第二线程列表中每个线程从该第一时间到该第二时间所占用的CPU时间片。
电子设备将该第二线程列表的线程的标识与第一线程列表中各个线程的标识进行对比,若该第一线程列表中包括的线程的标识与该第二线程列表中包括的线程的标识完全相同时,电子设备可以根据该第二线程列表和第一线程列表中各个线程的标识,获取该第二线程列表中每个线程的第二CPU时间片与第一CPU时间片的差值,将该差值确定为该第二线程列表中每个线程从该第一时间到该第二时间所占用的CPU时间片。
在另一个实施例中,该第一线程列表中包括的线程的标识与该第二线程列表中包括的线程的标识不相同,即该第一线程列表中包括的线程的标识与该第二线程列表中包括的线程的标识完全不相同时。该第二线程列表中包括第一线程的标识,该第一线程列表中不包括该第一线程的标识;此处第一线程可以为第二线程列表中的任一线程,步骤S103包括:将该第二线程列表中该第一线程的第二CPU时间片确定为该第一线程从该第一时间到该第二时间所占用的CPU时间片。
在又一个实施例中,该第一线程列表中包括的线程的标识与该第二线程列表中包括的线程的标识不相同,即该第一线程列表中包括的线程的标识与该第二线程列表中包括的线程的标识部分不相同时,如,该第二线程列表中包括第一线程的标识,该第一线程列表中不包括该第一线程的标识,此时第一线程是指第二线程列表中所包括,但第一线程列表中不包括的任一线程。该第二线程列表中包括第二线程的标识,该第一线程列表中包括该第二线程的标识,此时第二线程可以是指第一线程列表和第二线程列表中均包括的任一线程,步骤S103包括:将该第二线程列表中该第一线程的第二CPU时间片确定为该第一线程从该第一时间到该第二时间所占用的CPU时间片,并将第二线程的第一CPU时间片与第二CPU时间片之间的差值确定为第二线程从第一时间到第二时间所占用的CPU时间片。
例如,如图2所示,该第一线程列表11中包括线程1、线程3及线程10的标识,线程1、线程3及线程10在第一时间所占用的第一CPU时间片分别为110ms、50ms、0ms。线程的时间片为0表示该线程当前未执行任务。第二线程列表包括第二线程集合12,该第二线程集合包括线程1、线程3、线程4及线程10。线程1、线程3、线程4及线程10在第二时间所占用的第二CPU时间片分别为11110ms、250ms、1022ms、111ms。由于第一线程列表和第二线程列表中均包括线程1、线程3及线程10,因此,线程1从第一时间到第二时间所占用的CPU时间片为线程1的第一CPU时间片与线程1的第二CPU时间片的差值的绝对值,线程3从第一时间到第二时间所占用的CPU时间片为线程3的第一CPU时间片与线程3的第二CPU时间片之间的差值的绝对值,线程10从第一时间到第二时间所占用的CPU时间片为线程10的第一CPU时间片与线程10的第二CPU时间片之间的差值的绝对值。其中,第一线程列表中不包括线程4,表明线程4的在第一时间还未被建立,因此,线程4从第一时间到第二时间所占用的CPU时间片为线程4的第二CPU时间片。电子设备可以将各个线程当前所占用的时间片显示在第三线程列表中,如图3所示,可将第二线程列表中各个线程从第一时间到第二时间所占用的CPU时间片显示在第三线程列表13中,线程1、线程3、线程4及线程10从第一时间到第二时间所占用的CPU时间片分别为111000ms、200ms、1022ms及111ms。进一步,电子设备可以按照各个线程的CPU时间片对线程进行排序,得到第四线程列表14,如图4所示,线程1从第一时间到第二时间所占用的CPU时间片最长,线程10从第一时间到第二时间所占用的CPU时间片最短,即线程1所消耗的电量最多,线程10所消耗的电量最少。电子设备可以将线程1作为目标线程。
S104、根据该第二线程列表中各个线程从该第一时间到该第二时间所占用的CPU时间片确定该第二线程列表中各个线程的耗电状态。
S105、将该第二线程列表中耗电状态为异常状态的线程确定为目标线程。
步骤S104~S105中,电子设备可以根据该第二线程列表中各个线程从该第一时间到该第二时间所占用的CPU时间片确定该第二线程列表中各个线程的耗电状态,即根据该第二线程列表中各个线程从该第一时间到该第二时间所占用的CPU时间片确定该第二线程列表中各个线程的耗电量。线程的耗电量与该线程从该第一时间到该第二时间所占用的CPU时间片成正比,即线程从该第一时间到该第二时间所占用的CPU时间片越长,则该线程所消耗的电量越多;反之,线程从该第一时间到该第二时间所占用的CPU时间片越短,则该线程所消耗的电量越少。进一步,可以根据第二线程列表中各个线程的耗电量确定各个线程的耗电状态,此处耗电状态包括异常耗电状态和正常耗电状态,异常耗电状态是指线程的耗电量突增、耗电量的变化率较高、或是指线程重复执行某个任务的状态等等,正常耗电状态是指线程的耗电量处于比较平稳的水平。然后,将该第二线程列表耗电状态为异常状态的线程确定为目标线程,即目标线程是指耗电量过多的线程。
在一个实施例中,步骤S104包括如下步骤s11~s12。
s11、根据该第二线程列表中各个线程从该第一时间到该第二时间所占用的CPU时间片确定该第二线程列表中各个线程所占用的耗电量。
s12、根据该第二线程列表中各个线程所占用的耗电量确定该第二线程列表中各个线程的耗电状态。
在一个实施例中,步骤s12可以包括:若第二线程列表中任一线程所消耗的电量大于预设电量阈值,则获取该线程调用目标函数的调用次数,若该调用次数大于预设次数阈值,则确定该线程的耗电状态为异常耗电状态。
如果第二线程列表中任一线程所消耗的电量大于预设电量阈值,表明该线程所消耗的电量较多,因此,电子设备可以获取该线程执行任务过程中产生的日志数据,该日志数据中包括该线程执行任务过程中所调用的函数及调用每个函数的调用次数。从该日志数据中获取该线程调用目标函数的调用次数,目标函数可以为线程执行任务的过程中所调用的函数中的任一函数。若该调用次数小于或等于预设次数阈值,表明该线程未处于重复调用目标函数的异常状态,则确定该线程是耗电状态为正常耗电状态。若该调用次数大于预设次数阈值,表明线程处于重复调用目标函数的异常状态,则确定该线程是耗电状态为异常耗电状态。
在另一个实施例中,步骤s12可以包括:获取第二线程列表中所有线程所消耗的电量总和,计算该第二线程列表中任一线程所消耗的电量与该电量总和之间的比值,若该比值大于预设比值,则确定该线程的耗电状态为异常耗电状态。
通常电子设备中每个线程所耗电的电量的差异较小,如果某个线程所消耗的电量与其他线程所消耗的电量的差异较大,表明该线程的电耗状态处于异常耗电状态。因此,电子设备可以获取第二线程列表中所有线程所消耗的电量总和,计算该第二线程列表中任一线程所消耗的电量与该电量总和之间的比值。若该比值小于或等于预设比值,表明该线程所占用的耗电量与该第二线程列表中除该线程以外的其他线程的耗电量差异比较小,则确定该线程的耗电状态为正常耗电状态。若该比值大于预设比值,表明该线程所占用的耗电量与该第二线程列表中除该线程以外的其他线程的耗电量差异比较大,则确定该线程的耗电状态为异常耗电状态。
在又一个实施例中,步骤s12可以包括:获取该第二线程列表中任一线程的被运行的时长,根据该线程被运行的时长及所消耗的电量确定该线程的耗电量变化率,若该耗电量变化率大于预设变化率阈值,则确定该线程的耗电状态为异常耗电状态。
通常线程的耗电量变化率比较平缓,如果线程的耗电量变化率比较快,表明线程的耗电量存在突增的情况,即线程的耗电状态为异常耗电状态。电子设备可以获取第二线程列表中任一线程被建立的时间,及当前时间,根据该线程被建立的时间和当前时间确定该线程的被运行的时长。计算该线程所消耗的电量与被运行的时长确定该线程的耗电量变化率,若该耗电量变化率小于或等于预设变化率阈值,表明该线程的耗电量变化率比较平缓,则确定该线程的耗电状态为正常耗电状态。若该耗电量变化率大于预设变化率阈值,表明该线程的耗电量存在突增的情况,则确定该线程的耗电状态为异常耗电状态。
S106、获取与该目标线程匹配的省电策略,采用该省电策略对该目标线程进行处理。
若该目标线程的耗电量状态为正常状态,表明该目标线程所消耗的电量较低,可以结束本次流程;若该目标线程的耗电状态为异常耗电状态,表明目标线程所消耗的电量过高,可以获取与该目标线程匹配的省电策略,采用该省电策略对该目标线程进行处理。这样能够避免目标线程所消耗的电量过高,导致其他线程无法正常运行的问题,能够节省电量。
在一个实施例中,若该目标线程的耗电状态为异常耗电状态,电子设备可以输出提示信息,该提示信息用于提示用户选择省电策略。响应于用户对省电模式的选择操作,将用户所选择的省电策略作为与目标线程匹配的省电策略,采用该省电策略对目标线程进行处理。这样用户可以根据需求灵活地选择省电策略,提高人机交互性。
本发明实施例中,通过根据第二线程列表中各个线程从第一时间到第二时间所占用的CPU时间片确定对应线程所消耗的电量状态,能够快速地确定线程是否处于异常耗电状态。进一步,若线程的耗电状态处于异常状态,将该线程确定为目标线程,采用与目标线程匹配的省电策略对目标线程进行处理,通过对目标线程进行处理,能够降低目标线程的耗电量,即能够节省电子设备的耗电量,延长电子设备的续航时间。
基于上述的描述,本发明实施例提供另一种耗电量检测方法,该耗电量检测方法可以是由上述电子设备来执行;请参见图5,该耗电量检测方法包括S201-S206。
S201、遍历CPU线程,得到第一线程列表,该第一线程列表包括在第一时间该电子设备中所运行的各个线程的标识及其对应的第一CPU时间片。
S202、再次遍历CPU线程,得到第二线程列表,该第二线程列表包括在第二时间该电子设备中所运行的各个线程的标识及其对应的第二CPU时间片。
S203、根据该第一线程列表及所述第二线程列表确定该第二线程列表中各个线程从该第一时间到该第二时间所占用的CPU时间片。
S204、根据该第二线程列表中各个线程从该第一时间到该第二时间所占用的CPU时间片确定该第二线程列表中各个线程的耗电状态。
S205、将该第二线程列表中耗电状态为异常状态的线程确定为目标线程。
需要说明的是,本发明实施例中,对步骤S201~S205的解释说明,可以参考图1中对步骤S101~S105的解释说明,重复不处不在赘述。
S206、获取该目标线程当前所执行的目标任务的优先等级。
若该目标线程的耗电状态为异常耗电状态,则获取该目标线程当前所执行的目标任务的优先等级。该目标任务为目标线程当前所执行的任务,该目标任务的优先等级可以是指根据该目标任务的类型和/或根据该目标任务历史被执行的频率确定的。例如,该目标任务的类型是指实时性比较强的业务类型,如网页加载类型的任务,则可以为该目标任务设置一个较高的优先级;若该目标任务的类型为实时性比较低的业务类型,如数据查询类型的任务,则可以为该目标任务设置一个较低的优先级。或者,该目标任务历史被执行的频率越高,则表明该目标任务热点任务,即目标任务的重要性比较高,可以为该目标任务设置一个较高的优先级。该目标任务历史被执行的频率较低,则表明该目标任务非热点任务,即目标任务的重要性比较低,可以为该目标任务设置一个较低的优先级。
S207、若该优先等级大于预设等级,则控制该目标线程暂停调用目标函数,该目标函数为该目标线程执行该目标任务的过程中调用次数满足调用次数条件的函数,或者,该目标函数为该目标线程执行该目标任务的过程中调用时长满足调用时长条件的函数。
若该优先等级大于预设等级,表明该目标任务的实时性比较强、重要性比较高,则可以暂停目标线程的部分功能,即控制该目标线程暂停调用目标函数。该目标函数为该目标线程执行该目标任务的过程中调用次数满足调用次数条件的函数,即该目标函数为目标线程在执行目标任务的过程中重复调用的函数,也即目标函数为目标线程执行目标任务的过程中调用次数大于预设调用次数阈值的函数。或者,该目标函数为该目标线程执行该目标任务的过程中调用时长满足调用时长条件的函数,目标线程在调用目标函数的过程中所消耗的电量与对目标函数的调用时长成正比,即目标函数为目标线程在执行目标任务的过程中耗电量最多的函数,如目标函数为目标线程在执行目标任务的过程中调用时长大于预设时长阈值的函数。
S208、若该等级小于或等于该预设等级,则控制该目标线程暂停执行该目标任务。
若该优先等级小于或等于预设等级,表明该目标任务的实时性比较弱、重要性比较低,则可以暂停目标线程的所有功能,即控制该目标线程暂停执行该目标任务。
本发明实施例中,通过根据第二线程列表中各个线程从第一时间到第二时间所占用的CPU时间片确定对应线程所消耗的电量状态,能够快速地确定线程是否处于异常耗电状态。进一步,若线程的耗电状态处于异常状态,将该线程确定为目标线程,采用与目标线程匹配的省电策略对目标线程进行处理,通过对目标线程进行处理,能够降低目标线程的耗电量,即能够节省电子设备的耗电量,延长电子设备的续航时间。
本发明实施例提供一种耗电量检测装置,该耗电量检测装置可设置于电子设备中,请参见图6,该装置包括:
遍历单元501,用于遍历CPU线程,得到第一线程列表,所述第一线程列表包括在第一时间所述电子设备中所运行的各个线程的标识及其对应的第一CPU时间片;再次遍历CPU线程,得到第二线程列表,所述第二线程列表包括在第二时间所述电子设备中所运行的各个线程的标识及其对应的第二CPU时间片。
确定单元502,用于根据所述第一线程列表及所述第二线程列表确定所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片;根据所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片确定所述第二线程列表中各个线程的耗电状态;将所述第二线程列表中耗电状态为异常状态的线程确定为目标线程。
处理单元503,用于获取与所述目标线程匹配的省电策略,采用所述省电策略对所述目标线程进行处理。
可选的,确定单元502,具体的用于根据所述第二线程列表和第一线程列表中各个线程的标识,获取所述第二线程列表中每个线程的第二CPU时间片与第一CPU时间片的差值;将所述差值确定为所述第二线程列表中每个线程从所述第一时间到所述第二时间所占用的CPU时间片。
可选的,确定单元502,具体用于将所述第二线程列表中所述第一线程的第二CPU时间片确定为所述第一线程从所述第一时间到所述第二时间所占用的CPU时间片。
可选的,确定单元502,具体用于将所述第二线程列表中所述第一线程的第二CPU时间片确定为所述第一线程从所述第一时间到所述第二时间所占用的CPU时间片;将所述第二线程的第二CPU时间片与第一CPU时间片之间的差值确定为所述第二线程从所述第一时间到所述第二时间所占用的CPU时间片。
可选的,确定单元502,具体用于根据所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片确定所述第二线程列表中各个线程所占用的耗电量;根据所述第二线程列表中各个线程所占用的耗电量确定所述第二线程列表中各个线程的耗电状态。
可选的,确定单元502,用于获取所述第二线程列表中耗电量大于预设电量阈值的线程调用目标函数的调用次数;将所述第二线程列表中调用次数大于预设次数阈值的线程对应的耗电状态确定为异常耗电状态。
单元503,具体用于获取所述目标线程当前所执行的目标任务的优先等级;若所述优先等级大于预设等级,则控制所述目标线程暂停调用目标函数,所述目标函数为所述目标线程执行所述目标任务的过程中调用次数满足调用次数条件的函数,或者,所述目标函数为所述目标线程执行所述目标任务的过程中调用时长满足调用时长条件的函数;若所述等级小于或等于所述预设等级,则控制所述目标线程暂停执行所述目标任务。
可选的,所述目标任务的优先等级是根据所述目标任务的类型确定的,和\或,所述目标任务的优先级是根据所述目标任务历史被执行的频率确定的。
本发明实施例中,通过根据第二线程列表中各个线程从第一时间到第二时间所占用的CPU时间片确定对应线程所消耗的电量状态,能够快速地确定线程是否处于异常耗电状态。进一步,若线程的耗电状态处于异常状态,将该线程确定为目标线程,采用与目标线程匹配的省电策略对目标线程进行处理,通过对目标线程进行处理,能够降低目标线程的耗电量,即能够节省电子设备的耗电量,延长电子设备的续航时间。
本发明实施例提供一种电子设备,请参见图7。该电子设备包括:处理器151、用户接口152、网络接口154以及存储装置155,处理器151、用户接口152、网络接口154以及存储装置155之间通过总线153连接。
用户接口152,用于实现人机交互,用户接口可以包括显示屏或键盘等等。网络接口154,用于与外部设备之间进行通信连接。存储装置155与处理器151耦合,用于存储各种软件程序和/或多组指令。具体实现中,存储装置155可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储装置155可以存储操作系统(下述简称系统),例如ANDROID,IOS,WINDOWS,或者LINUX等嵌入式操作系统。存储装置155还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个应用服务器,一个或多个网络设备进行通信。存储装置155还可以存储用户接口程序,该用户接口程序可以通过图形化的操作界面将应用程序的内容形象逼真的显示出来,并通过菜单、对话框以及按键等输入控件接收用户对应用程序的控制操作。存储装置155还可以存储视频数据等。
在一个实施例中,所述存储装置155可用于存储一条或多条的指令;所述处理器151可以调用所述一条或多条的指令时能够实现耗电量检测方法,具体地,所述处理器151调用所述一条或多条的指令,执行如下步骤:
遍历CPU线程,得到第一线程列表,所述第一线程列表包括在第一时间所述电子设备中所运行的各个线程的标识及其对应的第一CPU时间片;
再次遍历CPU线程,得到第二线程列表,所述第二线程列表包括在第二时间所述电子设备中所运行的各个线程的标识及其对应的第二CPU时间片;
根据所述第一线程列表及所述第二线程列表确定所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片;
根据所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片确定所述第二线程列表中各个线程的耗电状态;
将所述第二线程列表中耗电状态为异常状态的线程确定为目标线程;
获取与所述目标线程匹配的省电策略,采用所述省电策略对所述目标线程进行处理。
可选的,所述处理器调用指令,执行如下步骤:
根据所述第二线程列表和第一线程列表中各个线程的标识,获取所述第二线程列表中每个线程的第二CPU时间片与第一CPU时间片的差值;
将所述差值确定为所述第二线程列表中每个线程从所述第一时间到所述第二时间所占用的CPU时间片。
可选的,所述处理器调用指令,执行如下步骤:
将所述第二线程列表中所述第一线程的第二CPU时间片确定为所述第一线程从所述第一时间到所述第二时间所占用的CPU时间片。
可选的,所述处理器调用指令,执行如下步骤:
所述根据所述第一线程列表及所述第二线程列表确定所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片,包括:
将所述第二线程列表中所述第一线程的第二CPU时间片确定为所述第一线程从所述第一时间到所述第二时间所占用的CPU时间片;
将所述第二线程的第二CPU时间片与第一CPU时间片之间的差值确定为所述第二线程从所述第一时间到所述第二时间所占用的CPU时间片。
可选的,所述处理器调用指令,执行如下步骤:
根据所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片确定所述第二线程列表中各个线程所占用的耗电量;
根据所述第二线程列表中各个线程所占用的耗电量确定所述第二线程列表中各个线程的耗电状态。
可选的,所述处理器调用指令,执行如下步骤:
获取所述第二线程列表中耗电量大于预设电量阈值的线程调用目标函数的调用次数;
将所述第二线程列表中调用次数大于预设次数阈值的线程对应的耗电状态确定为异常耗电状态。
可选的,所述处理器调用指令,执行如下步骤:
获取所述目标线程当前所执行的目标任务的优先等级;
若所述优先等级大于预设等级,则控制所述目标线程暂停调用目标函数,所述目标函数为所述目标线程执行所述目标任务的过程中调用次数满足调用次数条件的函数,或者,所述目标函数为所述目标线程执行所述目标任务的过程中调用时长满足调用时长条件的函数;
若所述等级小于或等于所述预设等级,则控制所述目标线程暂停执行所述目标任务。
本发明实施例中,通过根据第二线程列表中各个线程从第一时间到第二时间所占用的CPU时间片确定对应线程所消耗的电量状态,能够快速地确定线程是否处于异常耗电状态。进一步,若线程的耗电状态处于异常状态,将该线程确定为目标线程,采用与目标线程匹配的省电策略对目标线程进行处理,通过对目标线程进行处理,能够降低目标线程的耗电量,即能够节省电子设备的耗电量,延长电子设备的续航时间。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序解决问题的实施方式以及有益效果可以参见上述图1所述的一种耗电量检测方法的实施方式以及有益效果,重复之处不再赘述。
以上所揭露的仅为本发明部分实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (8)
1.一种耗电量检测方法,应用于电子设备,其特征在于,包括:
遍历CPU线程,得到第一线程列表,所述第一线程列表包括在第一时间所述电子设备中所运行的各个线程的标识及其对应的第一CPU时间片;
再次遍历CPU线程,得到第二线程列表,所述第二线程列表包括在第二时间所述电子设备中所运行的各个线程的标识及其对应的第二CPU时间片;
根据所述第一线程列表及所述第二线程列表确定所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片;
根据所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片确定所述第二线程列表中各个线程所占用的耗电量;
获取所述第二线程列表中任一线程的被运行的时长,根据线程被运行的时长及所消耗的电量确定所述第二线程列表中任一线程的耗电量变化率,将所述第二线程列表中任一线程中耗电量变化率大于预设变化率阈值的线程,确定为耗电状态为异常耗电状态的目标线程;
获取所述目标线程当前所执行的目标任务的优先等级;所述目标任务的优先等级是根据所述目标任务的类型确定的,或者,所述目标任务的优先等级是根据所述目标任务历史被执行的频率确定的;
若所述优先等级大于预设等级,则控制所述目标线程暂停调用目标函数,所述目标函数为所述目标线程执行所述目标任务的过程中调用次数满足调用次数条件的函数,或者,所述目标函数为所述目标线程执行所述目标任务的过程中调用时长满足调用时长条件的函数;
若所述优先等级小于或等于所述预设等级,则控制所述目标线程暂停执行所述目标任务。
2.如权利要求1所述的方法,其特征在于,所述第一线程列表中包括的线程的标识与所述第二线程列表中包括的线程的标识相同;
所述根据所述第一线程列表及所述第二线程列表确定所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片,包括:
根据所述第二线程列表和第一线程列表中各个线程的标识,获取所述第二线程列表中每个线程的第二CPU时间片与第一CPU时间片的差值;
将所述差值确定为所述第二线程列表中每个线程从所述第一时间到所述第二时间所占用的CPU时间片。
3.如权利要求1所述的方法,其特征在于,所述第一线程列表中包括的线程的标识与所述第二线程列表中包括的线程的标识不相同,所述第二线程列表中包括第一线程的标识,所述第一线程列表中不包括所述第一线程的标识;
所述根据所述第一线程列表及所述第二线程列表确定所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片,包括:
将所述第二线程列表中所述第一线程的第二CPU时间片确定为所述第一线程从所述第一时间到所述第二时间所占用的CPU时间片。
4.如权利要求1所述的方法,其特征在于,所述第一线程列表中包括的线程的标识与所述第二线程列表中包括的线程的标识不相同,所述第二线程列表中包括第一线程的标识,所述第一线程列表中不包括所述第一线程的标识;所述第二线程列表和第一线程列表中均包括第二线程的标识;
所述根据所述第一线程列表及所述第二线程列表确定所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片,包括:
将所述第二线程列表中所述第一线程的第二CPU时间片确定为所述第一线程从所述第一时间到所述第二时间所占用的CPU时间片;
将所述第二线程的第二CPU时间片与第一CPU时间片之间的差值确定为所述第二线程从所述第一时间到所述第二时间所占用的CPU时间片。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述第二线程列表中耗电量大于预设电量阈值的线程调用目标函数的调用次数;
将所述第二线程列表中调用次数大于预设次数阈值的线程对应的耗电状态确定为异常耗电状态。
6.一种耗电量检测装置,其特征在于,包括:
遍历单元,用于遍历CPU线程,得到第一线程列表,所述第一线程列表包括在第一时间电子设备中所运行的各个线程的标识及其对应的第一CPU时间片;再次遍历CPU线程,得到第二线程列表,所述第二线程列表包括在第二时间所述电子设备中所运行的各个线程的标识及其对应的第二CPU时间片;
确定单元,用于根据所述第二线程列表中各个线程从所述第一时间到所述第二时间所占用的CPU时间片确定所述第二线程列表中各个线程所占用的耗电量;获取所述第二线程列表中任一线程的被运行的时长,根据线程被运行的时长及所消耗的电量确定所述第二线程列表中任一线程的耗电量变化率,将所述第二线程列表中任一线程中耗电量变化率大于预设变化率阈值的线程,确定为耗电状态为异常耗电状态的目标线程;
处理单元,用于获取所述目标线程当前所执行的目标任务的优先等级;所述目标任务的优先等级是根据所述目标任务的类型确定的,或者,所述目标任务的优先等级是根据所述目标任务历史被执行的频率确定的;若所述优先等级大于预设等级,则控制所述目标线程暂停调用目标函数,所述目标函数为所述目标线程执行所述目标任务的过程中调用次数满足调用次数条件的函数,或者,所述目标函数为所述目标线程执行所述目标任务的过程中调用时长满足调用时长条件的函数;若所述优先等级小于或等于所述预设等级,则控制所述目标线程暂停执行所述目标任务。
7.一种电子设备,包括输入设备和输出设备,其特征在于,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-5任一项所述的方法。
8.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序指令,该计算机程序指令被执行时,实现如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910909354.0A CN110737320B (zh) | 2019-09-25 | 2019-09-25 | 耗电量检测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910909354.0A CN110737320B (zh) | 2019-09-25 | 2019-09-25 | 耗电量检测方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110737320A CN110737320A (zh) | 2020-01-31 |
CN110737320B true CN110737320B (zh) | 2023-08-18 |
Family
ID=69269524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910909354.0A Active CN110737320B (zh) | 2019-09-25 | 2019-09-25 | 耗电量检测方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110737320B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625422B (zh) * | 2020-05-27 | 2023-07-18 | 抖音视界有限公司 | 线程监控方法、装置、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020083353A1 (en) * | 2000-12-07 | 2002-06-27 | Doron Orenstein | Low-power processor hint, such as from a PAUSE instruction |
CN103455407A (zh) * | 2013-09-03 | 2013-12-18 | 小米科技有限责任公司 | 一种移动终端cpu占用率监测方法、装置及移动终端 |
CN105389243A (zh) * | 2015-10-26 | 2016-03-09 | 华为技术有限公司 | 一种容器监控方法和装置 |
CN107391348A (zh) * | 2016-05-16 | 2017-11-24 | 广州市动景计算机科技有限公司 | 用于应用程序的耗电情况的处理方法及装置 |
CN108763046A (zh) * | 2018-06-01 | 2018-11-06 | 中国平安人寿保险股份有限公司 | 线程运行监控方法、装置、计算机设备和存储介质 |
-
2019
- 2019-09-25 CN CN201910909354.0A patent/CN110737320B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020083353A1 (en) * | 2000-12-07 | 2002-06-27 | Doron Orenstein | Low-power processor hint, such as from a PAUSE instruction |
CN103455407A (zh) * | 2013-09-03 | 2013-12-18 | 小米科技有限责任公司 | 一种移动终端cpu占用率监测方法、装置及移动终端 |
CN105389243A (zh) * | 2015-10-26 | 2016-03-09 | 华为技术有限公司 | 一种容器监控方法和装置 |
CN107391348A (zh) * | 2016-05-16 | 2017-11-24 | 广州市动景计算机科技有限公司 | 用于应用程序的耗电情况的处理方法及装置 |
CN108763046A (zh) * | 2018-06-01 | 2018-11-06 | 中国平安人寿保险股份有限公司 | 线程运行监控方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110737320A (zh) | 2020-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489228B (zh) | 一种资源调度的方法和电子设备 | |
US10628216B2 (en) | I/O request scheduling method and apparatus by adjusting queue depth associated with storage device based on hige or low priority status | |
JP6571277B2 (ja) | 端末アプリケーションをロードする方法及び装置 | |
US9377839B2 (en) | Dynamic battery management | |
CN107734616B (zh) | 应用程序关闭方法、装置、存储介质和电子设备 | |
CN107783803B (zh) | 智能终端的系统优化方法、装置、存储介质及智能终端 | |
US9256508B2 (en) | Method and apparatus for controlling power in low-power multi-core system | |
CN110377141B (zh) | 应用处理方法、装置、电子设备以及存储介质 | |
US20110061056A1 (en) | Portable device and method for providing shortcuts in the portable device | |
CN108132735B (zh) | 终端与应用控制方法 | |
US20190188030A1 (en) | Terminal background application management method and apparatus | |
CN110618869B (zh) | 一种资源管理方法、装置及设备 | |
CN112650575B (zh) | 资源调度方法、装置和云端服务系统 | |
EP3128789A1 (en) | Method, device and mobile terminal for reducing power consumption | |
US20180253313A1 (en) | Operation instruction response control method and terminal for human-machine interface | |
CN106569917B (zh) | 一种数据备份方法及移动移动终端 | |
CN103444236A (zh) | 管理入口应用程序 | |
CN112463367A (zh) | 一种存储系统性能优化方法、系统及电子设备和存储介质 | |
CN111240864A (zh) | 异步任务处理方法、装置、设备及计算机可读存储介质 | |
CN105528171A (zh) | 一种智能终端快速启动应用的方法、系统及智能终端 | |
CN114748873B (zh) | 界面渲染方法、装置、设备和存储介质 | |
CN110737320B (zh) | 耗电量检测方法、装置、电子设备及存储介质 | |
CN107979843B (zh) | 一种在终端的WiFi热点连接处理方法、设备以及介质 | |
CN110673958B (zh) | 调频方法、调频装置、存储介质与电子设备 | |
CN113867927A (zh) | 资源分配方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |