CN117648162A - 任务处理模式的切换方法、装置及存储介质 - Google Patents
任务处理模式的切换方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117648162A CN117648162A CN202211080204.1A CN202211080204A CN117648162A CN 117648162 A CN117648162 A CN 117648162A CN 202211080204 A CN202211080204 A CN 202211080204A CN 117648162 A CN117648162 A CN 117648162A
- Authority
- CN
- China
- Prior art keywords
- cpu
- frequency
- task processing
- processing mode
- terminal equipment
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 341
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000008859 change Effects 0.000 claims description 26
- 230000002159 abnormal effect Effects 0.000 claims description 20
- 230000007246 mechanism Effects 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 8
- 239000010410 layer Substances 0.000 description 239
- 230000001276 controlling effect Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000010438 heat treatment Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Classifications
-
- 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
Landscapes
- Telephone Function (AREA)
Abstract
本公开关于一种任务处理模式的切换方法、装置及存储介质,所述方法应用于终端设备,所述方法,包括:确定所述终端设备的当前运行状态是否满足CPU调频条件;若所述终端设备的当前运行状态满足所述CPU调频条件,调整CPU的运行频率,并生成任务处理模式切换消息;其中,所述任务处理模式切换消息用于通知所述终端设备内处于运行状态的多个应用程序调整任务处理模式;调整后的任务处理模式与所述CPU调整后的所述运行频率适配。
Description
技术领域
本公开涉及终端技术领域,尤其涉及一种任务处理模式的切换方法、装置及存储介质。
背景技术
随着终端技术的不断发展,终端设备内的中央处理器(Central Processor Unit,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的当前运行频率为第一频率,且所述终端设备的当前运行状态满足第一调频条件,控制所述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调整后的运行频率,生成所述任务处理模式切换消息;
响应于所述任务处理模式切换消息,所述本地框架层、所述应用框架层的多个目标任务处理模块和所述应用层内处于运行状态的多个应用程序,根据所述任务处理模式切换消息携带的所述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的运行频率发生动态调整时,终端设备内应用程序的任务处理模式也会随之发生动态调整,以便于与所述CPU的运行频率适配;使得即使CPU处于低频率运行的状态,应用程序的任务处理模式能够切换为与所述低频率适配的简单处理模式,减少应用程序执行任务所需的CPU资源数;有利于将有限的CPU资源均衡的分配给终端设备内处于运行状态的各个应用程序,保持终端设备内系统的稳定运行,减少界面卡顿、加载过慢的情况,提升用户的使用体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种任务处理模式的切换方法的流程示意图一。
图2是根据一示例性实施例示出的一种任务处理模式的切换方法的流程示意图二。
图3是根据一示例性实施例示出的一种终端设备的软件框架示意图。
图4是根据一示例性实施例示出的一种任务处理模式的切换装置的结构示意图。
图5是根据一示例性实施例示出的一种终端设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置的例子。
本公开实施例提供一种任务处理模式的切换方法,如图1所示,图1是根据一示例性实施例示出的一种任务处理模式的切换方法的流程示意图一。所述方法,包括:
步骤S101,确定所述终端设备的当前运行状态是否满足CPU调频条件;
步骤S102,若所述终端设备的当前运行状态满足所述CPU调频条件,调整CPU的运行频率,并生成任务处理模式切换消息;
其中,所述任务处理模式切换消息用于通知所述终端设备内处于运行状态的多个应用程序调整任务处理模式;调整后的任务处理模式与所述CPU调整后的所述运行频率适配。
本公开实施例所示出的任务处理模式的切换方法可应用于终端设备,该终端设备可以是:智能手机、平板电脑或者可穿戴式电子设备等。
在步骤S101,可获取终端设备的当前运行信息,基于所述当前运行信息,确定所述终端设备的当前运行状态是否满足CPU调频条件。
需要说明的是,终端设备内CPU不是一直运行在一个固定的频率上,而是会根据实际的需求进行调频,使得CPU运行在不同的频率。CPU的运行频率决定所述CPU的运行速度,是影响CPU性能的指标之一。
一般来说,CPU的运行频率越高,CPU的运行速度越快,性能越好;但在终端设备的使用过程中,若CPU长时间保持较高的运行频率,终端设备的功耗会急剧增高,终端设备内的元器件(例如,CPU、电池等)的温度也会比较高,容易对终端设备造成物理损伤;严重情况下,甚至有可能会发生爆炸等危险。
为了均衡终端设备的性能、功耗等情况,可根据终端设备的当前运行信息,确定终端设备的当前运行状态;确定终端设备的当前运行状态是否满足CPU调频条件,
在步骤S102中,若确定出所述终端设备的当前运行状态满足所述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资源均衡的分配给终端设备内处于运行状态的各个应用程序,保持终端设备内系统的稳定运行,减少界面卡顿、加载过慢的情况,提升用户的使用体验。
可选地,所述终端设备,包括:应用层、应用框架层、本地框架层和内核层;
所述调整CPU的运行频率,并生成任务处理模式切换消息,包括:
通过所述内核层的CPU调频驱动模块调整所述CPU的运行频率,并基于所述CPU调整后的运行频率,生成所述任务处理模式切换消息;
控制所述CPU调频驱动模块将所述任务处理模式切换消息传输至所述本地框架层,并在所述本地框架层接收到所述任务处理模式切换消息后,控制所述本地框架层的CPU本地调频模块将所述任务处理模式切换消息分别发送给所述本地框架层的多个目标任务处理模块和所述应用框架层;
响应于所述应用框架层接收到的所述任务处理模式切换消息,控制所述应用框架层的CPU应用调频模块将所述任务处理模式切换消息分别发送给所述应用框架层的多个所述目标任务处理模块和所述应用层处于运行状态的多个应用程序;
其中,所述任务处理模式切换消息用于通知所述本地框架层、所述应用框架层内的多个所述目标任务处理模块和所述应用层内处于运行状态的多个所述应用程序调整任务处理模式。
在本公开实施例中,由于终端设备的操作系统包括:应用层、应用框架层、本地框架层和内核层;
在应用程序的运行过程中,应用层会接收到由应用程序产生的多个待执行的任务信息,并将所述任务信息传输给应用框架层。这里,每个任务信息对应于一个任务,任务可以指利用应用程序所实现的功能服务。
应用框架层获取到所述任务信息后,基于所述任务信息确定所述任务信息对应的应用调度指令,将所述应用调度指令分别发送给应用层和本地框架层;所述应用调度指令用于调度所述应用层内对应的应用程序。
例如,所述任务信息对应的任务为:获取当前所在地理位置;所述应用框架层的任务处理模块获取到所述任务信息后,根据所述任务信息对应的任务(即功能服务),确定能够执行所述功能服务的目标应用程序(例如,地图APP),并生成对所述目标应用程序的应用调度指令。
本地框架层基于所述应用调度指令,确定所述应用调度指令对应的硬件资源调用指令,将所述硬件资源调用指令发送给内核层。所述硬件资源调用指令用于调用硬件层内对应的硬件资源。
这里,所述硬件资源可为:所述硬件层内的硬件设备,例如,电池、喇叭、听筒、GPS定位传感器和/或温度传感器等。
例如,所述应用调度指令为针对于地图APP的调度指令,本地框架层可基于所述应用调度指令,确定所述应用调度指令对应的目标应用程序,根据与所述目标应用程序关联的硬件资源(例如,GPS定位传感器),生成所述硬件资源调用指令。
内核层基于所述硬件资源调用指令,调用硬件层内对应的硬件资源;调用的所述硬件资源通过本地框架层、应用框架层传输至所述应用层,以便于所述应用调度指令所请求调度的应用程序接收并处理所述硬件资源,以完成所述任务信息对应的任务。
可以理解的是,在应用程序执行某一任务信息的过程中,应用框架层和本地框架层内与所述应用程序关联的任务处理模块也参与其中。
因此,在本公开实施例中,在确定出所述终端设备的当前运行状态满足所述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调频条件,包括:
获取CPU的当前运行频率和所述终端设备的所述硬件层内至少一个硬件的运行信息;
基于所述至少一个硬件的运行信息,确定所述终端设备的当前运行状态是否满足所述CPU的所述当前运行频率对应的调频条件;其中,CPU的不同运行频率对应的所述调频条件不同。
在本公开实施例中,可对硬件层的CPU和至少一个硬件进行实时监测,以获取CPU的当前运行频率和所述硬件层内至少一个硬件的运行信息。
这里,所述硬件的类别、数量和运行信息可根据实际需求进行设定,例如,所述至少一个可为:电池、CPU、扬声器和/或显示屏等;所述运行信息可为所述硬件的温度、内存使用情况和/或剩余电量等信息。
可以理解的是,终端设备的硬件层可设置有传感器,所述内核层的硬件驱动模块可向所述传感器发送硬件资源调用指令,以便于所述传感器基于所述硬件资源调用指令,获取所述硬件层内至少一个硬件的运行信息。
本公开实施例中,可基于获取的所述CPU的当前运行频率,确定与所述当前运行频率对应的调频条件。
这里,CPU的不同运行频率对应的调频条件不同。
所述调频条件至少用于指示从所述CPU当前运行频率切换为下一目标运行频率时,所述硬件的运行状态。所述调频条件可包括:降频条件和升频条件;若所述CPU当前为高频率运行时,所述CPU的当前运行频率对应的调频条件即为所述降频条件;若所述CPU当前为低频率运行时,所述CPU的当前运行频率对应的调频条件即为所述升频条件。
例如,所述CPU的高运行频率对应的调频条件为:终端设备内电池的剩余电量低于总电量的20%;所述CPU的低运行频率对应的调频条件为:终端设备内电池的剩余电量高于总电量的30%,或者,所述终端设备内电池处于充电状态。
可以理解的是,所述终端设备内可预先存储有所述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以第一频率运行,并向所述本地框架层的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的当前运行频率为第一频率,且所述终端设备处于正常温度状态时,确定所述终端设备的当前运行状态满足所述第一调频条件;
可以理解的是,由于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可使用的运行频率包括至少两个频率值;
所述确定所述终端设备的当前运行状态是否满足CPU调频条件,包括:
若所述终端设备为第一设备,确定所述终端设备的所述当前运行状态是否满足所述CPU调频条件。
在本公开实施例中,可利用所述CPU调频驱动模块,监测预设时长范围内所述CPU的运行频率,并基于所述预设时长范围内的所述运行频率,确定所述运行频率的变化情况。
这里,预设时长范围可根据实际需求进行设置,例如所述预设时长范围可为1天内,或者2小时内,本公开实施例对此不作限定。
可在预设时长范围内,根据预设的时间间隔,不断检测所述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的运行频率适配。
本公开实施例通过内核层的CPU调频驱动模块基于异步通知机制主动发送所述任务处理模式切换消息,以通知所述本地框架层、所述应用框架层内的多个目标任务处理模块和所述应用层内处于运行状态的多个应用程序切换任务处理模式,无需应用层的主动的查询内核层的驱动模块,能够有效提升系统的性能,提升用户的使用体验。
本公开还提供以下实施例:
图2是根据一示例性实施例示出的一种任务处理模式的切换方法的流程示意图二,所述方法包括:
步骤S201,利用终端设备的内核层的CPU调频驱动模块,监测预设时长范围内的所述CPU的运行频率的变化情况;
在本示例中,终端设备可包括:应用层、应用框架层、本地框架层、内核层和硬件层;
所述内核层的CPU调频驱动模块可在预设时长范围内,根据预设的时间间隔不断检测CPU的运行频率,得到CPU在多个不同时间点的运行频率;基于所述CPU在多个不同时间点的运行频率,确定所述CPU的运行频率的变化情况。
步骤S202,根据所述CPU的运行频率的变化情况,确定所述终端设备是否为第一设备;
在本示例中,所述第一设备可为高性能的终端设备,所述第一设备的所述CPU可使用的运行频率包括至少两个频率值。
根据所述CPU的运行频率的变化情况,若所述运行频率的变化情况指示所述CPU的运行频率在至少两个频率值之间切换,确定所述终端设备为第一设备;若所述运行频率的变化情况指示所述CPU的运行频率保持在一个频率值,确定所述终端设备为第二设备。
需要说明的是,所述第二设备可为低性能的终端设备,所述第二设备的所述CPU可使用的运行频率包括一个频率值。可以理解的是,对于低性能的终端设备(即第二设备)而言,所述第二设备内的CPU只能在一个固定频率(通常为低频率)下运行,根本就无法对第二设备的CPU进行调频处理。
步骤S203,若所述终端设备为所述第一设备,利用所述内核层的所述CPU调频驱动模块,获取所述硬件层的所述CPU的所述当前运行频率;利用所述内核层的温度感测模块,获取所述硬件层的多个硬件的运行温度;基于所述多个硬件的运行温度,确定终端设备的运行温度;
在本示例中,若确定出所述终端设备为所述第一设备,利用所述内核层的所述CPU调频驱动模块,获取所述硬件层的所述CPU的当前运行频率;利用所述内核层的温度感测模块,获取所述硬件层的多个硬件的运行温度;
可以理解的是,终端设备内可设置有多个温度传感器,利用所述多个温度传感器可分别检测所述硬件层内多个硬件的运行温度;所述内核层的温度感测模块可从所述多个温度传感器处获取所述多个硬件的运行温度,并基于所述多个硬件的运行温度的运行温度,确定所述终端设备的运行温度。
这里,可将多个硬件的运行温度的平均值,确定为所述终端设备的运行温度。
步骤S204,基于所述CPU的当前运行频率和所述终端设备的运行温度,确定所述终端设备是否满足CPU调频条件;
在本示例中,所述CPU调频驱动模块将所述终端设备的运行温度和预设温度范围进行对比,若所述终端设备的运行温度处于所述预设温度范围内,确定所述终端设备处于正常温度状态;若所述终端设备的运行温度超出所述预设温度范围,确定所述终端设备处于异常温度状态。
所述CPU调频驱动模块可根据所述CPU的当前运行频率,确定所述终端设备的运行温度,是否满足所述当前运行频率对应的调频条件;
这里,不同运行频率对应的调频条件不同;
若所述CPU的当前运行频率为第一频率,所述第一频率对应的第一调频条件为:所述终端设备的运行温度指示所述终端设备处于正常温度状态;若所述CPU的当前运行频率为第二频率,所述第二频率对应的第二调频条件为:所述终端设备的运行温度指示所述终端设备处于异常温度状态。其中,所述第一频率低于所述第二频率。
步骤S205,若所述CPU的当前运行频率为第一频率,且终端设备的运行温度指示所述终端设备处于正常温度状态,所述CPU调频驱动模块控制所述CPU以第二频率运行,并向本地框架层的CPU本地调频模块发送第一切换消息;所述第一频率低于所述第二频率;
在本示例中,当所述CPU处于低频率(第一频率)运行状态,且终端设备的运行温度处于正常温度范围内,确定所述终端设备的运行温度满足所述第一调频条件;为了提升终端设备的性能,CPU调频驱动模块会控制所述CPU升频至以第二频率运行;并且向本地框架层的CPU本地调频模块发送第一切换消息。
这里,所述第一切换消息用于通知本地框架层、应用框架层的多个目标任务处理模块和应用层内处于运行状态的多个应用程序将任务处理模式切换为第一处理模式。
其中,所述第一处理模块可为高性能处理模式。
可以理解的是,若所述CPU处于低频率(第一频率)运行状态,且终端设备的运行温度超出正常温度范围内,确定所述终端设备的运行温度不满足所述第一调频条件,为了继续降低所述终端设备的温度,CPU调频驱动模块会让CPU保持低频率运行。
步骤S206,若所述CPU的当前运行频率为第二频率,且所述终端设备的运行温度指示所述终端设备处于异常温度状态,所述CPU调频驱动模块控制所述CPU以所述第一频率运行,并向本地框架层的CPU本地调频模块发送第二切换消息;
在本示例中,当所述CPU处于高频率(第二频率)运行状态,且所述终端设备的运行温度超出正常温度范围,确定所述终端设备的运行温度满足所述第二调频条件,为了防止终端设备温度继续升高,损坏硬件,CPU调频驱动模块会让CPU降频至以第一频率运行,并向本地框架层的CPU本地调频模块发送第二切换消息。
这里,所述第二切换消息用于通知本地框架层、应用框架层的多个目标任务处理模块和应用层内处于运行状态的多个应用程序将任务处理模式切换为第二处理模式。
其中,所述第二处理模块可为简单处理模式。
需要说明的是,当所述CPU切换为低频率运行后,若所述目标任务处理模块和所述应用程序仍然按照高性能处理模式进行任务处理,一方面会导致终端设备出现界面卡顿、加载不过来等情况,另一方面,容易出现CPU资源集中分配给某一个应用程序,其他应用程序分配资源较少、甚至没有分配资源的情况,导致终端设备出现系统崩溃的情况,影响用户的使用体验。
故为了减少终端设备出现上述情况,所述CPU调频驱动模块可在控制所述CPU切换为低频率运行后,发送第二切换消息,以通知所述多个目标任务处理模块和所述多个应用程序将任务处理模式切换为与所述CPU的当前运行频率适配的简单处理模式。
可以理解的是,若所述CPU处于高频率(第二频率)运行状态,且终端设备的运行温度处于正常温度范围内,确定所述终端设备的运行温度不满足所述第二调频条件,为了提高终端设备的性能,CPU调频驱动模块会让CPU保持高频率运行。
步骤S207,所述CPU本地调频模块将所述第一切换消息或所述第二切换消息分别发送给所述本地框架层的多个所述目标任务处理模块和所述应用框架层的CPU应用调频模块;
在本示例中,所述CPU本地调频模块接收到所述CPU调频驱动模块发送的所述第一切换消息或所述第二切换消息后,将所述第一切换消息或所述第二切换消息发送给所述本地框架层的多个所述目标任务处理模块,以便于所述本地框架层的多个目标任务处理模块切换任务处理模式;所述CPU本地调频模块还将所述第一切换消息或所述第二切换消息发送给所述应用框架层的CPU应用调频模块。
这里,所述多个目标任务处理模块可为预先在所述CPU本地调频模块做过注册的原生模块(Native Module);所述多个原生模块接收到所述第一切换消息或所述第二切换消息后,对自身的任务处理模式进行切换。
步骤S208,所述CPU应用调频模块将所述第一切换消息或所述第二切换消息分别发送给所述应用框架层的多个所述目标任务处理模块和所述应用层处于运行状态的多个应用程序;
在本示例中,应用框架层的所述CPU应用调频模块接收到所述CPU本地调频模块发送的第一切换消息或第二切换消息后,将所述第一切换消息或所述第二切换消息发送给所述应用框架层的多个所述目标任务处理模块,以便于所述应用框架层的多个任务处理模块切换任务处理模式;所述CPU应用调频模块还将所述第一切换消息或所述第二切换消息发送给所述应用层的多个应用程序,以便于所述应用层的多个应用程序切换任务处理模式。
这里,所述多个任务处理模式可为预先在所述CPU应用调频模块做过注册的应用框架模块(Framework Module),所述应用框架模块接收到所述第一切换消息或所述第二切换消息后,对自身的任务处理模式进行切换。
如图3所示,图3是根据一示例性实施例示出的一种终端设备的软件框架示意图。所述终端设备内不同层级之间以及同一层级之间传输的消息为基于所述异步通知机制发送的异步通知消息。
步骤S209,若所述终端设备不是所述第一设备,所述CPU调频驱动模块发送所述第二切换消息。
在本示例中,若确定出所述终端设备为第二设备,利用所述内核层的所述CPU调频驱动模块发送所述第二切换消息,以便于通知本地框架层、应用框架层的多个目标任务处理模块和应用层处于运行状态的多个应用程序将任务处理模式切换为第二处理模式。
可以理解的是,由于所述终端设备为低性能的第二设备,所述第二设备的CPU可使用的运行频率包括一个频率值;即所述第二设备的CPU只能处于低频率运行状态。故所述CPU调频驱动模块发送所述第二切换消息,以便于通知所述多个目标任务处理模块和多个应用程序一直保持简单处理模式。
本公开实施例还提供一种任务处理模式的切换装置。图4是根据一示例性实施例示出的一种任务处理模式的切换装置的结构示意图,如图4所示,所述装置应用于终端设备,所述装置100包括:
确定模块101,用于确定所述终端设备的当前运行状态是否满足CPU调频条件;
控制模块102,用于若所述终端设备的当前运行状态满足所述CPU调频条件,调整CPU的运行频率,并生成任务处理模式切换消息;其中,所述任务处理模式切换消息用于通知所述终端设备内处于运行状态的多个应用程序调整任务处理模式;调整后的任务处理模式与所述CPU调整后的所述运行频率适配。
可选地,所述终端设备,包括:应用层、应用框架层、本地框架层和内核层;
所述控制模块102,用于:
通过所述内核层的CPU调频驱动模块调整所述CPU的运行频率,并基于所述CPU调整后的运行频率,生成所述任务处理模式切换消息;
控制所述CPU调频驱动模块将所述任务处理模式切换消息传输至所述本地框架层,并在所述本地框架层接收到所述任务处理模式切换消息后,控制所述本地框架层的CPU本地调频模块将所述任务处理模式切换消息分别发送给所述本地框架层的多个目标任务处理模块和所述应用框架层;
响应于所述应用框架层接收到的所述任务处理模式切换消息,控制所述应用框架层的CPU应用调频模块将所述任务处理模式切换消息分别发送给所述应用框架层的多个所述目标任务处理模块和所述应用层处于运行状态的多个应用程序;
其中,所述任务处理模式切换消息用于通知所述本地框架层、所述应用框架层内的多个所述目标任务处理模块和所述应用层内处于运行状态的多个所述应用程序调整任务处理模式。
可选地,所述终端设备,包括:硬件层;
所述确定模块101,用于:
获取CPU的当前运行频率和所述终端设备的所述硬件层内至少一个硬件的运行信息;
基于所述至少一个硬件的运行信息,确定所述终端设备的当前运行状态是否满足所述CPU的所述当前运行频率对应的调频条件;其中,CPU的不同运行频率对应的所述调频条件不同。
可选地,所述控制模块102,用于:
若所述CPU的当前运行频率为第一频率,且所述终端设备的当前运行状态满足第一调频条件,控制所述CPU以第二频率运行,并生成第一切换消息;所述第一频率低于所述第二频率;
若所述CPU的当前运行频率为所述第二频率,且所述终端设备的当前运行状态满足第二调频条件,控制所述CPU以所述第一频率运行,并生成第二切换消息;
其中,所述第一切换消息用于通知所述多个目标任务处理模块和所述多个应用程序将所述任务处理模式切换为第一处理模式;所述第二切换消息用于通知所述多个目标任务处理模块和所述多个应用程序将所述任务处理模式切换为第二处理模式;所述第一处理模式对应的CPU资源占用量大于所述第二处理模式对应的CPU资源占用量。
可选地,所述确定模块101,用于:
通过所述内核层的所述CPU调频驱动模块,获取所述硬件层的所述CPU的所述当前运行频率;
通过所述内核层的温度感测模块,获取所述硬件层的多个硬件的运行温度。
可选地,所述确定模块101,用于:
根据所述多个硬件的运行温度,确定所述终端设备的当前运行状态;其中,所述终端设备的运行状态包括:正常温度状态和异常温度状态;
若所述CPU的当前运行频率为所述第一频率,且所述终端设备处于正常温度状态,确定所述终端设备的当前运行状态满足所述第一调频条件;
若所述CPU的当前运行频率为所述第二频率,且所述终端设备处于所述异常温度状态,确定所述终端设备的当前运行状态满足所述第二调频条件。
可选地,所述确定模块101,用于:
通过所述CPU调频驱动模块,监测预设时长范围内的所述CPU的运行频率的变化情况;
根据所述CPU的运行频率的变化情况,确定所述终端设备是否为第一设备;其中,所述第一设备的所述CPU可使用的运行频率包括至少两个频率值;
若所述终端设备为第一设备,确定所述终端设备的所述当前运行状态是否满足所述CPU调频条件。
可选地,所述确定模块101,用于:
若所述终端设备为第二设备,生成所述第二切换消息;其中,所述第二设备的所述CPU可使用的运行频率均包括一个频率值。
可选地,所述任务处理模式切换消息为:基于异步通知机制发送的异步通知消息。
图5是根据一示例性实施例示出的一种终端设备的框图。例如,终端设备800可以是移动电话,移动电脑等。
参照图5,终端设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制终端设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在终端设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为终端设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为终端设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述终端设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当终端设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为终端设备800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为终端设备800的显示器和小键盘,传感器组件814还可以检测终端设备800或终端设备800一个组件的位置改变,用户与终端设备800接触的存在或不存在,终端设备800方位或加速/减速和终端设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于终端设备800和其他设备之间有线或无线方式的通信。终端设备800可以接入基于通信标准的无线网络,如Wi-Fi,4G或5G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由终端设备800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (12)
1.一种任务处理模式的切换方法,其特征在于,应用于终端设备,所述方法,包括:
确定所述终端设备的当前运行状态是否满足CPU调频条件;
若所述终端设备的当前运行状态满足所述CPU调频条件,调整CPU的运行频率,并生成任务处理模式切换消息;
其中,所述任务处理模式切换消息用于通知所述终端设备内处于运行状态的多个应用程序调整任务处理模式;调整后的任务处理模式与所述CPU调整后的所述运行频率适配。
2.根据权利要求1所述的方法,其特征在于,所述终端设备,包括:应用层、应用框架层、本地框架层和内核层;
所述调整CPU的运行频率,并生成任务处理模式切换消息,包括:
通过所述内核层的CPU调频驱动模块调整所述CPU的运行频率,并基于所述CPU调整后的运行频率,生成所述任务处理模式切换消息;
控制所述CPU调频驱动模块将所述任务处理模式切换消息传输至所述本地框架层,并在所述本地框架层接收到所述任务处理模式切换消息后,控制所述本地框架层的CPU本地调频模块将所述任务处理模式切换消息分别发送给所述本地框架层的多个目标任务处理模块和所述应用框架层;
响应于所述应用框架层接收到的所述任务处理模式切换消息,控制所述应用框架层的CPU应用调频模块将所述任务处理模式切换消息分别发送给所述应用框架层的多个所述目标任务处理模块和所述应用层处于运行状态的多个应用程序;
其中,所述任务处理模式切换消息用于通知所述本地框架层、所述应用框架层内的多个所述目标任务处理模块和所述应用层内处于运行状态的多个所述应用程序调整任务处理模式。
3.根据权利要求2所述的方法,其特征在于,所述终端设备,包括:硬件层;
所述确定所述终端设备的当前运行状态是否满足CPU调频条件,包括:
获取CPU的当前运行频率和所述终端设备的所述硬件层内至少一个硬件的运行信息;
基于所述至少一个硬件的运行信息,确定所述终端设备的当前运行状态是否满足所述CPU的所述当前运行频率对应的调频条件;其中,CPU的不同运行频率对应的所述调频条件不同。
4.根据权利要求3所述的方法,其特征在于,所述若所述终端设备的当前运行状态满足所述CPU调频条件,调整CPU的运行频率,并生成任务处理模式切换消息,包括:
若所述CPU的当前运行频率为第一频率,且所述终端设备的当前运行状态满足第一调频条件,控制所述CPU以第二频率运行,并生成第一切换消息;所述第一频率低于所述第二频率;
若所述CPU的当前运行频率为所述第二频率,且所述终端设备的当前运行状态满足第二调频条件,控制所述CPU以所述第一频率运行,并生成第二切换消息;
其中,所述第一切换消息用于通知所述多个目标任务处理模块和所述多个应用程序将所述任务处理模式切换为第一处理模式;所述第二切换消息用于通知所述多个目标任务处理模块和所述多个应用程序将所述任务处理模式切换为第二处理模式;所述第一处理模式对应的CPU资源占用量大于所述第二处理模式对应的CPU资源占用量。
5.根据权利要求4所述的方法,其特征在于,所述获取CPU的当前运行频率和所述终端设备的所述硬件层内至少一个硬件的运行信息,包括:
通过所述内核层的所述CPU调频驱动模块,获取所述硬件层的所述CPU的所述当前运行频率;
通过所述内核层的温度感测模块,获取所述硬件层的多个硬件的运行温度。
6.根据权利要求5所述的方法,其特征在于,所述确定所述终端设备的当前运行状态是否满足CPU调频条件,包括:
根据所述多个硬件的运行温度,确定所述终端设备的当前运行状态;其中,所述终端设备的运行状态包括:正常温度状态和异常温度状态;
若所述CPU的当前运行频率为所述第一频率,且所述终端设备处于正常温度状态,确定所述终端设备的当前运行状态满足所述第一调频条件;
若所述CPU的当前运行频率为所述第二频率,且所述终端设备处于所述异常温度状态,确定所述终端设备的当前运行状态满足所述第二调频条件。
7.根据权利要求4所述的方法,其特征在于,所述方法,包括:
通过所述CPU调频驱动模块,监测预设时长范围内的所述CPU的运行频率的变化情况;
根据所述CPU的运行频率的变化情况,确定所述终端设备是否为第一设备;其中,所述第一设备的所述CPU可使用的运行频率包括至少两个频率值;
所述确定所述终端设备的当前运行状态是否满足CPU调频条件,包括:
若所述终端设备为第一设备,确定所述终端设备的所述当前运行状态是否满足所述CPU调频条件。
8.根据权利要求7所述的方法,其特征在于,所述方法,包括:
若所述终端设备为第二设备,生成所述第二切换消息;其中,所述第二设备的所述CPU可使用的运行频率均包括一个频率值。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述任务处理模式切换消息为:基于异步通知机制发送的异步通知消息。
10.一种任务处理模式的切换装置,其特征在于,应用于终端设备,所述装置,包括:
确定模块,用于确定所述终端设备的当前运行状态是否满足CPU调频条件;
控制模块,用于若所述终端设备的当前运行状态满足所述CPU调频条件,调整CPU的运行频率,并生成任务处理模式切换消息;其中,所述任务处理模式切换消息用于通知所述终端设备内处于运行状态的多个应用程序调整任务处理模式;调整后的任务处理模式与所述CPU调整后的所述运行频率适配。
11.一种任务处理模式的切换装置,其特征在于,包括:
处理器;
用于存储可执行指令的存储器;
其中,所述处理器被配置为:执行所述存储器中存储的可执行指令时,实现权利要求1至9中任一项所述的任务处理模式的切换方法。
12.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由任务处理模式的切换装置的处理器执行时,使得所述任务处理模式的切换装置能够执行权利要求1至9中任一项所述的任务处理模式的切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211080204.1A CN117648162A (zh) | 2022-09-05 | 2022-09-05 | 任务处理模式的切换方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211080204.1A CN117648162A (zh) | 2022-09-05 | 2022-09-05 | 任务处理模式的切换方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117648162A true CN117648162A (zh) | 2024-03-05 |
Family
ID=90042094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211080204.1A Pending CN117648162A (zh) | 2022-09-05 | 2022-09-05 | 任务处理模式的切换方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117648162A (zh) |
-
2022
- 2022-09-05 CN CN202211080204.1A patent/CN117648162A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109451842B (zh) | 用户设备省电方法、装置、用户设备和基站 | |
US11317350B2 (en) | Method and device for adjusting DRX-related parameter | |
US11956809B2 (en) | Resource determining methods and apparatuses | |
CN109804662B (zh) | 带宽部分切换的方法及装置 | |
CN109156026B (zh) | 上行调度请求的发送方法、装置、设备及存储介质 | |
EP3745750B1 (en) | Communication method, device, and equipment for wireless charging and storage medium | |
CN113224822B (zh) | 一种充电控制方法、装置以及存储介质 | |
US11540214B2 (en) | Timer adjustment method and device | |
US11800401B2 (en) | User equipment protection method, device, user equipment and base station | |
EP3832840A1 (en) | Charging method and device, terminal device and storage medium | |
CN109075878B (zh) | 监听方法、装置、设备及存储介质 | |
US11956054B2 (en) | Method and apparatus for adjusting antenna module, and storage medium | |
US11445412B2 (en) | Access control method, apparatus and storage medium | |
CN110941321A (zh) | 电子设备的供电方法、装置及智能设备 | |
CN112840708B (zh) | 一种通信方法、装置及存储介质 | |
US11184941B2 (en) | Method and apparatus for protecting user equipment, user equipment and base station | |
EP3876580B1 (en) | Configuration adjustment method and apparatus, electronic device, and computer readable storage medium | |
CN117648162A (zh) | 任务处理模式的切换方法、装置及存储介质 | |
CN108539823B (zh) | 充电方法及装置 | |
EP4170855A1 (en) | Charging method, electronic device and storage medium | |
US11665620B2 (en) | Data transmission control method and apparatus | |
CN107732992B (zh) | 终端设备电源管理方法及装置 | |
CN114968502A (zh) | 系统资源管理方法、装置及介质 | |
CN116963250A (zh) | 调节终端温度的方法、装置、电子设备及存储介质 | |
CN117769887A (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 |