CN111007932A - 温控系统、基于温控系统的温控方法及电子设备 - Google Patents
温控系统、基于温控系统的温控方法及电子设备 Download PDFInfo
- Publication number
- CN111007932A CN111007932A CN201911253122.0A CN201911253122A CN111007932A CN 111007932 A CN111007932 A CN 111007932A CN 201911253122 A CN201911253122 A CN 201911253122A CN 111007932 A CN111007932 A CN 111007932A
- Authority
- CN
- China
- Prior art keywords
- temperature
- application
- temperature control
- thread
- zone
- 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
Images
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/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Cooling Or The Like Of Electrical Apparatus (AREA)
Abstract
本申请公开了一种温控系统、基于温控系统的温控方法及电子设备。该温控系统的架构包括:应用框架层,用于获取当前运行的应用;内核层,用于获取各个温区的温度;本地框架层,用于根据所述应用和所述各个温区的温度进行温度控制。由于本申请所提供的温控系统主要是在本地框架层进行温度控制,而各系统级芯片平台的本地框架层差异较小,因此,移植较为简单,从而可以减少工作量。
Description
技术领域
本申请属于电子技术领域,尤其涉及一种温控系统、基于温控系统的温控方法及电子设备。
背景技术
诸如智能手机等电子设备频繁使用时,常有发热现象产生,这将导致电子设备内部的中央处理器(central processing unit,CPU)的处理速度变慢。并且,电子设备发热时间过长还存在电池爆裂的风险。因此,如何克服电子设备发热的问题是世界范围内研究的一个重要课题。
相关技术中,不同的系统级芯片(System on Chip,SoC)平台会采用不同的温控方案进行电子设备的散热。然而,相关技术中,不同的SoC平台上的温控方案移植困难,从而增加了工作量。
发明内容
本申请实施例提供一种温控系统、基于温控系统的温控方法及电子设备,移植简单,可以减少工作量。
本申请实施例提供一种温控系统,应用于电子设备,所述电子设备包括多个温区,所述温控系统的架构包括:
应用框架层,用于获取当前运行的应用;
内核层,用于获取各个温区的温度;
本地框架层,用于根据所述应用和所述各个温区的温度进行温度控制。
本申请实施例提供一种基于温控系统的温控方法,应用于电子设备,所述电子设备包括多个温区,所述温控系统的架构包括应用框架层、内核层和本地框架层,包括:
在所述应用框架层获取当前运行的应用;
在所述内核层获取各个温区的温度;
在所述本地框架层根据所述应用和所述各个温区的温度进行温度控制。
本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本申请实施例提供的基于温控系统的温控方法中的流程。
本申请实施例提供的温控系统的架构包括:应用框架层,用于获取当前运行的应用;内核层,用于获取各个温区的温度;本地框架层,用于根据所述应用和所述各个温区的温度进行温度控制。由于本申请所提供的温控系统主要是在本地框架层进行温度控制,而各系统级芯片平台的本地框架层差异较小,因此,移植较为简单,从而可以减少工作量。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其有益效果显而易见。
图1是本申请实施例提供的温控系统的架构的第一种示意图。
图2是本申请实施例提供的温控系统的架构的第二种示意图。
图3是本申请实施例提供的温控系统的架构的第三种示意图。
图4是本申请实施例提供的温控系统的架构的第四种示意图。
图5是本申请实施例提供的基于温控系统的温控方法的流程示意图。
图6是本申请实施例提供的电子设备的第一种结构示意图。
图7是本申请实施例提供的电子设备的第二种结构示意图。
具体实施方式
请参照图示,其中相同的组件符号代表相同的组件,本申请的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本申请具体实施例,其不应被视为限制本申请未在此详述的其它具体实施例。
可以理解的是,本申请实施例的执行主体可以是诸如智能手机或平板电脑等电子设备。
请参阅图1,图1是本申请实施例提供的温控系统的架构的第一种示意图。该温控系统10可应用于电子设备,该电子设备可包括多个温区,该温控系统10的架构可以包括:
应用框架层101,用于获取当前运行的应用。
可以理解的是,Android系统包括应用层、应用框架层、本地框架层和内核层。
相关技术中,应用层由运行在基于Android系统的电子设备上的所有应用构成,包括预装的系统应用和用户自己安装的第三方应用。大部分应用是由Java语言编写并运行在虚拟机中,另一部分应用是通过C++/C语言编写的本地应用。但无论采用何种编程语言,两类应用运行的安全环境相同,都在应用沙箱中运行。开发人员也是在这层中,通过Android系统提供的组件和接口(Application Programming Interface,API)进行开发,从而编写出形形色色的应用(Application,APP)。
应用框架层是Android应用开发的核心,为开发人员开发应用时提供基础的API框架。应用框架层由多个系统服务组成。Android应用由若干个组件构成,组件与组件之间的通信是通过应用框架层提供的服务集中调度和传递消息实现的,而不是组件之间直接进行的。
本地框架层由C/C++实现,包含C/C++库,被Android系统中不同组件使用。
Android系统基于内核层实现,Android系统的核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于内核层实现。
在本申请实施例中,该应用框架层可用于获取电子设备当前运行的应用。例如,用户当前使用视频应用V1播放视频,那么电子设备当前运行的应用为视频应用V1。
内核层102,用于获取各个温区的温度。
在本申请实施例中,该内核层102可用于获取各个温区的温度。其中,温区可包括:印刷线路板、中央处理器(CPU,central processing unit)、图形处理器(GraphicsProcessing Unit,GPU)、摄像头和虚拟外壳,等等。其中,虚拟外壳的温度通过前壳、中框和后盖三个子温区的温度拟合而来。
本地框架层103,用于根据当前运行的应用和各个温区的温度进行温度控制。
在本申请实施例中,该本地框架层可用于根据电子设备当前运行的应用和各个温区的温度进行温度控制。
例如,假设电子设备当前运行的应用为游戏应用G1,而CPU的温度大于CPU对应的温度阈值,那么,电子设备可通过降低CPU的频率来降低CPU的温度。其中,CPU对应的温度阈值可以根据实际情况设置,例如,CPU对应的温度阈值可以为50°、52°、59°等等。
本申请实施例提供的温控系统的架构包括:应用框架层,用于获取当前运行的应用;内核层,用于获取各个温区的温度;本地框架层,用于根据所述应用和所述各个温区的温度进行温度控制。由于本申请所提供的温控系统主要是在本地框架层进行温度控制,而各系统级芯片平台的本地框架层差异较小,相关技术中的温控方案主要是在内核层进行温度控制,而各系统级芯片平台的内核层差异较大,因此,本申请的温控系统相对于相关技术的温控方案来说,移植更为简单,从而可以减少工作量。
请参阅图2,图2是本申请实施例提供的温控系统的架构的第二种示意图。该温控系统10可应用于电子设备,该电子设备可包括多个温区。该温控系统10的架构可以包括:
应用框架层101,用于获取当前运行的应用。
可以理解的是,Android系统包括应用层、应用框架层、本地框架层和内核层。
在本申请实施例中,该应用框架层可用于获取电子设备当前运行的应用。例如,用户当前使用视频应用V1播放视频,那么电子设备当前运行的应用为视频应用V1。
内核层102,用于获取各个温区的温度。
在本申请实施例中,该内核层102可用于获取各个温区的温度。其中,温区可包括:印刷线路板、中央处理器(central processing unit,CPU)、图形处理器(GraphicsProcessing Unit,GPU)、摄像头和虚拟外壳,等等。其中,虚拟外壳的温度通过前壳、中框和后盖三个子温区拟合而来。
本地框架层103,用于根据电子设备当前运行的应用和各个温区的温度进行温度控制。
在本申请实施例中,该本地框架层103可用于根据电子设备当前运行的应用和各个温区的温度进行温度控制。
例如,假设电子设备当前运行的应用为游戏应用G1,而GPU的温度大于GPU对应的温度阈值,那么,电子设备可通过降低GPU的频率来降低GPU的温度。其中,GPU对应的温度阈值可以根据实际情况设置,例如,GPU对应的温度阈值可以为50°、54°、57°等等。
在一些实施例中,本地框架层103可包括工作线程1031,该工作线程1031可用于确定电子设备当前运行的应用对应的应用场景,并从预设的配置文件所包括的多个温控策略中确定该应用场景对应的第一温控策略,并根据第一温控策略和各个温区的温度进行温度控制,该预设的配置文件包括多个不同的应用场景,及各应用场景对应的温控策略。
比如,开发人员可预先设置应用与应用场景的映射关系。一个应用场景可对应一个或多个应用。例如,应用场景可以为游戏场景、网页场景、语音场景和视频场景等。其中,游戏场景可包括游戏应用G1、游戏应用G2、游戏应用G3等。网页场景可包括浏览器应用B1、浏览器应用B2、浏览器应用B3等。语音场景可包括系统电话应用和即时通讯应用等。视频场景可包括视频应用V1、视频应用V2和视频应用V3等。
可以理解的是,该应用与应用场景的映射关系也可由电子设备从数据库服务器或其他设备获取,也可由电子设备的机主根据实际情况设置,等等。
在本申请实施例中,工作线程1031可提前加载该应用与应用场景的映射关系。当得到电子设备当前运行的应用之后,该工作线程1031可根据该应用与应用场景的映射关系,确定电子设备当前运行的应用对应的应用场景。例如,电子设备当前运行的应用为游戏应用G3,那么,该工作线程1031可确定电子设备当前运行的应用所对应的应用场景为游戏场景。
当得到电子设备当前运行的应用对应的应用场景之后,该工作线程1031可根据预设的配置文件确定该应用场景对应的第一温控策略,并根据该第一温控策略和各个温区的温度进行温度控制。
其中,该预设的配置文件包括多个不同的应用场景,及各应用场景对应的温控策略。该预设的配置文件可由开发人员设置,也可由电子设备从数据库服务器或其他设备获取,也可由电子设备的机主根据实际情况设置,等等。该预设的配置文件可为json格式的加密文件。各应用场景对应的温控策略可以包括各应用场景对应的温区,各应用场景对应的温区的温度阈值,以及当各应用场景对应的温区的温度达到温度阈值时,各应用场景对应的温区的目标状态。例如,当温区为CPU时,CPU的目标状态可以包括CPU的目标频率、GPU的目标频率和目标帧率。也就是说,当CPU的温度达到温度阈值时,需要将CPU的频率从当前频率调整至目标频率、将GPU的频率从当前频率调整至目标频率、以及将帧率从当前帧率调整至目标帧率,以降低CPU的温度。
从而可知,该工作线程1031还可用于根据第一温控策略(电子设备当前运行的应用对应的应用场景,如游戏场景对应的温控策略)从多个温区中确定出目标温区(该游戏场景对应的温区)和目标温区对应的温度阈值,并在目标温区的温度达到温度阈值时进行温度控制。
可以理解的是,各应用场景对应的温区可以相同,也可以不同。各应用场景对应的温区的数量小于或等于该多个温区的数量。
在一些实施例中,该工作线程1031还可用于在目标温区(如游戏场景对应的温区)的温度达到温度阈值时,根据第一温控策略(如游戏场景对应的温控策略)确定目标温区的目标状态;
该本地框架层103还可包括外部控制模块1032,该外部控制模块1032可用于根据目标状态降低目标温区的温度。
比如,假设电子设备当前运行的应用为游戏应用G1。工作线程1031可根据应用与应用场景的映射关系确定出游戏应用G1对应的应用场景为游戏场景。然后,该工作线程1031可根据预设的配置文件确定该游戏场景对应的温控策略。例如,该游戏场景对应的温控策略包括:温区为:CPU、GPU;CPU对应的温度阈值为50°,GPU对应的温度阈值为56°;当CPU的温度达到50°时,CPU的目标频率CQ2;当GPU的温度达到56°时,GPU的目标频率GQ2。接着,该工作线程1031可根据该游戏场景对应的温控策略确定出目标温区为CPU和GPU,CPU对应的温度阈值为50°,GPU对应的温度阈值为56°。随后,该工作线程1031可以每隔3秒或5秒检测CPU的温度是否达到50°或GPU的温度是否达到56°。当CPU的温度达到50°时,工作线程1031可根据该游戏场景对应的温控策略确定出CPU的目标频率CQ2。接着,外部控制模块1032可根据该CPU的目标频率CQ2降低CPU的温度。当GPU的温度达到56°时,工作线程1031可根据该游戏场景对应的温控策略确定出GPU的目标频率GQ2。接着,外部控制模块1032可根据该GPU的目标频率GQ2降低该GPU的温度。
在另一些实施例中,工作线程1031还可用于在目标温区(如游戏场景对应的温区)的温度达到温度阈值时,通过预设的算法计算目标温区的目标状态;
该本地框架层103还可包括外部控制模块1032,该外部控制模块1032可用于根据目标状态降低目标温区的温度。
比如,假设电子设备当前运行的应用为游戏应用G1。工作线程1031可根据应用与应用场景的映射关系确定出游戏应用G1对应的应用场景为游戏场景。然后,该工作线程1031可根据预设的配置文件确定该游戏场景对应的温控策略。例如,该游戏场景对应的温控策略包括:温区为:CPU、GPU;CPU对应的温度阈值为50°,GPU对应的温度阈值为56°。接着,该工作线程1031可根据该温控策略确定出目标温区为CPU和GPU,CPU对应的温度阈值为50°,GPU对应的温度阈值为56°。随后,该工作线程1031可以每隔2秒或5秒检测CPU的温度是否达到50°或GPU的温度是否达到56°。当CPU的温度达到50°时,工作线程1031可通过逐步回归(stepwise regression)算法或公平调度(fair-share scheduling)算法等计算CPU的目标频率,假设计算出CPU的目标频率为CQ2。接着,外部控制模块1032可根据该CPU的目标频率CQ2降低CPU的温度。当GPU的温度达到56°时,工作线程1031可通过逐步回归(stepwiseregression)算法或公平调度(fair-share scheduling)算法等计算GPU的目标频率,假设计算出GPU的目标频率为GQ2。外部控制模块1032可根据该GPU的目标频率GQ2降低GPU的温度。
在一些实施例中,该外部控制模块1032可包括降温模块10321,该降温模块10321可用于从工作线程1031获取目标状态,并将目标温区的状态从当前状态调整至目标状态,以降低目标温区的温度。
例如,当工作线程1031确定出目标温区为CPU之后,工作线程1031可检测CPU的温度是否达到CPU对应的温度阈值。当CPU的温度达到CPU对应的温度阈值时,工作线程1031可确定出CPU的目标频率CQ2。该降温模块10321可从工作线程1031获取该CPU的目标频率CQ2,并将CPU的频率从当前频率,如CQ1调整至目标频率CQ2。
在一些实施例中,该应用框架层101还可用于获取电子设备当前运行的应用对应的第二温控策略;
该工作线程1031,还可用于检测该应用是否为预设的应用集合中的应用,若该应用为预设的应用集合中的应用,则根据第二温控策略和各个温区的温度进行温度控制;若该应用不为预设的应用集合中的应用,则根据第一温控策略和各个温区的温度进行温度控制。
可以理解的是,即使是属于同一应用场景的应用,都或多或少存在一些区别。而在电子设备运行属于同一应用场景的应用时,若均根据同一套温控策略进行温度控制,可能在电子设备运行属于同一应用场景的某些应用时,温度控制结果未达到预期水平。那么,开发人员可在前期将这些应用收集起来,将其作为预设的应用集合中的应用,并为这些应用中的每个应用设置一个温控策略。当电子设备当前运行的应用为预设的应用集合中的应用时,工作线程1031可用该应用对应的温控策略进行温度控制。
其中,各应用对应的温控策略可以包括各应用对应的温区,各应用对应的温区的温度阈值,以及当各应用对应的温区的温度达到温度阈值时,各应用对应的温区的目标状态。例如,当温区为CPU时,CPU的目标状态可以包括CPU的目标频率、GPU的目标频率、目标帧率和目标音量。也就是说,当CPU的温度达到温度阈值时,需要将CPU的频率从当前频率调整至目标频率、将GPU的频率从当前频率调整至目标频率、将帧率从当前帧率调整至目标帧率,以及将系统声音从当前音量调整至目标音量,以降低CPU的温度。
还可以理解的是,每个应用对应的温控策略相对于每个应用场景对应的温控策略来说,调整得更加精细,消耗的资源也会更多。因此,当电子设备当前运行的应用不为预设的应用集合中的应用时,工作线程1031可根据该应用对应的应用场景对应的温控策略进行温度控制。
请参阅图3,图3是本申请实施例提供的温控系统的架构的第三种示意图。在一些实施例中,本地框架层103还可包括联合线程1033和监视线程1034,该联合线程1033,可用于从应用框架层101获取电子设备当前运行的应用,并将电子设备当前运行的应用传输至工作线程1031;
该监视线程1034,可用于从内核层102获取各个温区的温度,并将各个温区的温度传输至工作线程1031。
例如,当应用框架层101获取到电子设备当前运行的应用之后,应用框架层101可以通过调用该联合线程1033将该应用,如该应用的应用包名传输至工作线程1031。
当内核层102获取到各个温区的温度之后,内核层102可将各个温区的温度发送至监视线程1034。当获取到各个温区的温度之后,该监视线程1034可将各个温度的温度传输至工作线程1031。
在另一些实施例中,内核层102可包括温区节点1021,该温区节点1021可用于获取各个温区的温度。
该监视线程1034可用于从该温区节点1021获取各个温区的温度,并将各个温区的温度传输至工作线程1031。
应用框架层101可包括温控接口1011,该温控接口1011可用于获取电子设备当前运行的应用。
该联合线程1033可用于从该温控接口1011获取当前运行的应用,并将电子设备当前运行的应用传输至工作线程1031。
例如,该温区节点1021可包括多个子节点,每个子节点均可对应获取一个温区的温度。例如,子节点P1可获取印刷线路板的温度、子节点P2可获取CPU的温度、子节点P3可获取GPU的温度,等等。然后,该监视线程1034可从该温区节点1021获取各个温区的温度,并将各个温区的温度传输至工作线程1031。
当应用框架层101所包括的温控接口1011获取到电子设备当前运行的应用之后,该温控接口1011可调用联合线程1033将该应用,如该应用的应用包名传输至工作线程1031。
在另一些实施例中,该工作线程1031还可用于在将目标温区(如游戏场景对应的温区)的状态从当前状态调整至目标状态之后,检测调整状态后的目标温区的温度是否大于预设温度;若该目标温区的温度大于预设温度,则确定该目标温区的第一状态,并将调整状态后的目标温区的状态从当前状态调整至第一状态,以再次降低所述目标温区的温度,直至该目标温区的温度小于或等于预设温度。当目标温区的温度小于或等于预设温度时,获取目标温区的当前状态,根据目标温区的当前状态更新第一温控策略。
例如,假设根据某应用场景A对应的温控策略确定出目标温区为CPU,以及当CPU的温度达到温度阈值时,CPU的目标频率为CQ2和目标帧率为F2。当CPU的温度达到温度阈值时,该工作线程1031可将CPU的频率从当前频率调整目标频率CQ2,以及将帧率从当前帧率调整至目标帧率F2,以降低该CPU的温度。
随后,该工作线程1031可以检测调整状态后的CPU的温度是否大于预设温度。其中,该预设温度可根据实际情况设置,如该预设温度可以为35°、40°、42°等。若该CPU的温度大于预设温度,该工作线程1031可确定该CPU的第一状态,比如,确定CPU的第一帧率为CQ3,GPU的第一帧率为GO3等。然后,该工作线程1031可对调整状态后的目标温区的状态再次进行调整,如将CPU的频率由当前频率调整至第一频率CQ3,将GPU的频率从当前频率调整至目标频率GQ3,以再次降低CPU的温度。可以理解的是,当该CPU的温度仍大于预设温度时,该工作线程1031可再次确定该CPU的第二状态,从而根据该CPU的第二状态再次对CPU的状态进行调整,直至CPU的温度小于或等于预设温度。
当CPU的温度小于或等于预设温度时,该工作线程1031可获取该CPU的当前状态。例如,假设该工作线程1031获取到CPU的当前频率为CQ4,GPU的当前频率为GQ4,当前帧率为F3。那么,该工作线程可对预设的配置文件进行更新,即对预设的配置文件中应用场景A对应的温控策略进行调整,即将应用场景A对应的温控策略所包括的当CPU的温度达到温度阈值时,CPU的目标频率调整为CQ4,GPU的目标频率调整为GQ4,目标帧率调整为F3。
在一些实施例中,由于应用框架层101还可用于获取电子设备当前运行的应用对应的温控策略,因此,该工作线程1031还可用于在配置文件中不存在该应用对应的应用场景时,根据该应用对应的温控策略和各个温区的温度进行温度控制。
在另一些实施例中,该温控系统10的架构还可包括应用层104,该应用层104可用于每隔预设时间从服务器下载配置文件,并通过应用框架层101将该配置文件传输至工作线程1031,以对预设的配置文件进行更新。
比如,当各电子设备中的配置文件更新之后,各电子设备均可将该更新后的配置文件上传至服务器,其他电子设备便可从服务器下载该更新后的配置文件,以对其的配置文件进行更新。
例如,当某电子设备将配置文件所包括的各应用场景对应的温控策略进行调整之后,该电子设备可将该调整温控策略之后的配置文件上传服务器。当服务器接收到该调整温控策略之后的配置文件时,可生成提示信息发送至其他电子设备,以提示其他电子设备服务器存在该调整温控策略之后的配置文件。其他电子设备可通过应用层104从服务器下载该调整温控策略之后的配置文件。然后通过应用框架层101将该调整温控策略之后的配置文件传输至工作线程1031,以对预设的配置文件所包括的温控策略进行更新。
请参阅图4,图4是本申请实施例提供的温控系统的架构的第四种示意图。
该温控系统10的架构可包括应用框架层(Application)、本地框架层(Native)和内核层(Kernel)。
该应用框架层(Application)可提供温控接口(Oppo Smart CoolingArchitecture Application Programming Interface,Oscar API),该温控接口(OscarAPI)可从应用层获取电子设备当前正在运行的应用。
当该温控接口(Oscar API)获取到电子设备当前正在运行的应用之后,该温控接口(Oscar API)可以通过调用本地框架层(Native)的守护进程(Oscar daemon)的联合线程(binder thread)与守护进程(Oscar daemon)的工作线程(worker thread)通信,以通知工作线程(worker thread)电子设备当前正在运行的应用,并通知工作线程(worker thread)获取各个温区温度。例如,该温控接口(Oscar API)可以通过守护进程(Oscar daemon)的联合线程(binder thread)发送消息给守护进程(Oscar daemon)的工作线程(workerthread),以通知工作线程(worker thread)电子设备当前正在运行的应用,并通知工作线程(worker thread)获取温区温度。其中,该消息携带电子设备当前正在运行的应用的应用标识,例如应用包名。
内核层(Kernel)的温区节点(thermal zone sysfs)通过发送事件消息(uevent)通知守护进程(Oscar daemon)的监视线程(monitor thread)多个温区中各个温区的温度。监视线程(monitor thread)可将接收到的各个温区的温度发送给工作线程(workerthread)。
该工作线程(worker thread)可确定电子设备当前正在运行的应用对应的应用场景,并根据提前加载的json格式的加密配置文件,确定该应用场景对应的温控策略。该工作线程(worker thread)可根据该应用场景对应的温控策略和各个温区的温度进行温度控制。其中,该json格式的加密配置文件可包括多个不同的应用场景,及各应用场景对应的温控策略。
其中,该工作线程(worker thread)根据该应用场景对应的温控策略和各个温区的温度进行温度控制可以包括:
该工作线程(worker thread)可根据该应用场景对应的温控策略从多个温区中确定出该应用场景对应的温区和该应用场景对应的温区对应的温区阈值;
该工作线程(worker thread)可在该应用场景对应的温区的温度达到该温区阈值时,确定该应用场景对应的温区的目标状态;
该工作线程(worker thread)可将该应用场景对应的温区的目标状态发送至外部控制模块(Other External Modules),以使该外部控制模块(Other External Modules)将目标温区的状态从当前状态调整至目标状态。例如,将CPU频率从当前频率调整至目标频率,将GPU频率从当前频率调整至目标频率等。
在一些实施例中,该工作线程(worker thread)还可以通过写数据(write)来控制温区节点(thermal zone sysfs)。
比如,该工作线程(worker thread)可控制该温区节点(thermal zone sysfs)向监视线程(monitor thread)发送各个温区的温度的频率。例如,该工作线程(workerthread)可控制该温区节点(thermal zone sysfs)每隔5秒向监视线程(monitor thread)发送一次各个温区的温度。
在另一些实施例中,电子设备当前正在运行的应用所对应的应用场景可直接由温控接口(Oscar API)确定。
在一些实施例中,由于工作线程(worker thread)可根据json格式的加密配置文件所包括的多个不同的温控策略进行温度控制。当各应用场景对应的温控策略有所变化时,开发人员可以仅修改json格式的加密配置文件所包括的温控策略即可。
请参阅图5,图5是本申请实施例提供的基于温控系统的温控方法的流程示意图。该基于温控系统的温控方法可应用于电子设备,该电子设备可包括多个温区,该温控系统的架构可包括应用框架层、内核层和本地框架层,该流程可以包括:
201、在应用框架层获取当前运行的应用。
202、在内核层获取各个温区的温度。
203、在本地框架层根据当前运行的应用和各个温区的温度进行温度控制。
在一些实施例中,该本地框架层可包括工作线程,该流程203可以包括:
利用该工作线程确定当前运行的应用对应的应用场景;
利用该工作线程从预设的配置文件所包括的多个温控策略中确定该应用场景对应的第一温控策略,该预设的配置文件包括多个不同的应用场景,及各应用场景对应的温控策略;
利用该工作线程根据该第一温控策略和各个温区的温度进行温度控制。
在一些实施例中,本地框架层还可包括联合线程和监视线程,该基于温控系统的温控方法还可以包括:
利用该联合线程从应用框架层获取当前运行的应用;
利用该联合线程将该应用传输至工作线程;
利用该监视线程从内核层获取各个温区的温度;
利用该联合线程将各个温区的温度传输至工作线程。
在一些实施例中,内核层可包括温区节点,应用框架层可包括温控接口,利用该监视线程从内核层获取各个温区的温度,可以包括:
利用该温区节点获取各个温区的温度;
利用该监视线程从温区节点获取各个温区的温度;
利用该联合线程从应用框架层获取当前运行的应用,可以包括:
利用温控接口获取当前运行的应用;
利用该联合线程从温控接口获取当前运行的应用。
在一些实施例中,利用该工作线程根据该第一温控策略和各个温区的温度进行温度控制,可以包括:
利用该工作线程根据第一温控策略从多个温区中确定出目标温区和目标温区对应的温度阈值;
利用该工作线程在目标温区的温度达到温度阈值时进行温度控制。
在一些实施例中,该本地框架层还可包括外部控制模块,利用该工作线程在目标温区的温度达到温度阈值时进行温度控制,可以包括:
利用该工作线程在目标温区的温度达到温度阈值时,根据第一温控策略确定目标温区的目标状态;
利用该外部控制模块根据该目标状态降低目标温区的温度。
在一些实施例中,该本地框架层还可包括外部控制模块,利用该工作线程在目标温区的温度达到温度阈值时进行温度控制,可以包括:
利用工作线程在目标温区的温度达到温度阈值时,通过预设的算法计算目标温区的目标状态;
利用该外部控制模块根据该目标状态降低目标温区的温度。
在一些实施例中,外部控制模块可包括降温模块,利用该外部控制模块根据该目标状态降低目标温区的温度,可以包括:
利用降温模块从工作线程获取目标状态;
利用降温模块将目标温区的状态从当前状态调整至目标状态,以降低目标温区的温度。
在一些实施例中,在流程201之后,还可以包括:
在应用框架层获取当前运行的应用对应的第二温控策略;
利用该工作线程从预设的配置文件所包括的多个温控策略中确定该应用场景对应的第一温控策略之后,还可以包括:
利用该工作线程检测当前运行的应用是否为预设的应用集合中的应用;
若该应用为预设的应用集合中的应用,则根据第二温控策略和各个温区的温度进行温度控制;
若该应用不为预设的应用集合中的应用,则根据第一温控策略和各个温区的温度进行温度控制。
本申请实施例提供一种计算机可读的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如本实施例提供的基于温控系统的温控方法中的流程。
本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本实施例提供的基于温控系统的温控方法中的流程。
例如,上述电子设备可以是诸如平板电脑或者智能手机等移动终端。请参阅图6,图6为本申请实施例提供的电子设备的结构示意图。
该电子设备300可以包括存储器301、中央处理器302等部件。本领域技术人员可以理解,图6中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器301可用于存储应用程序和数据。存储器301存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。中央处理器302通过运行存储在存储器301的应用程序,从而执行各种功能应用以及数据处理。
中央处理器302是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器301内的应用程序,以及调用存储在存储器301内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
在本实施例中,电子设备中的中央处理器302会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器301中,并由中央处理器302来运行存储在存储器301中的应用程序,从而实现流程:
在应用框架层获取当前运行的应用;
在内核层获取各个温区的温度;
在本地框架层根据所述应用和所述各个温区的温度进行温度控制。
请参阅图7,图7为本申请实施例提供的电子设备的第二种结构示意图。
该电子设备300可以包括存储器301、中央处理器302、图形处理器303、印刷电路板304、摄像头305等部件。
存储器301可用于存储应用程序和数据。存储器301存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。中央处理器302通过运行存储在存储301的应用程序,从而执行各种功能应用以及数据处理。
中央处理器302是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器301内的应用程序,以及调用存储在存储器301内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。
图形处理器303可用于做图像和图形相关运算工作。
印刷线路板304是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连接的载体。
摄像头305可用于采集图像数据。
在本实施例中,电子设备中的中央处理器302会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器301中,并由中央处理器302来运行存储在存储器301中的应用程序,从而实现流程:
在所述应用框架层获取当前运行的应用;
在所述内核层获取各个温区的温度;
在所述本地框架层根据所述应用和所述各个温区的温度进行温度控制。
在一些实施方式中,所述本地框架层包括工作线程,中央处理器302执行所述在所述本地框架层根据所述应用和所述各个温区的温度进行温度控制,时,可以执行:利用所述工作线程确定所述应用对应的应用场景;利用所述工作线程从预设的配置文件所包括的多个温控策略中确定所述应用场景对应的第一温控策略,所述预设的配置文件包括多个不同的应用场景,及各应用场景对应的温控策略;利用所述工作线程根据所述第一温控策略和各个温区的温度进行温度控制。
在一些实施方式中,本地框架层还包括联合线程和监视线程,中央处理器302还可以执行:利用所述联合线程从应用框架层获取当前运行的应用;利用该联合线程将所述应用传输至工作线程;利用所述监视线程从内核层获取各个温区的温度;利用所述联合线程将各个温区的温度传输至工作线程。
在一些实施方式中,内核层包括温区节点,应用框架层包括温控接口,中央处理器302执行利用所述监视线程从内核层获取各个温区的温度时,可以执行:利用所述温区节点获取各个温区的温度;利用所述监视线程从所述温区节点获取各个温区的温度;中央处理器302执行利用所述联合线程从应用框架层获取当前运行的应用,可以执行:利用所述温控接口获取当前运行的应用;利用所述联合线程从所述温控接口获取所述应用。
在一些实施方式中,中央处理器302执行所述利用所述工作线程根据所述第一温控策略和各个温区的温度进行温度控制时,可以执行:利用所述工作线程根据第一温控策略从多个温区中确定出目标温区和目标温区对应的温度阈值;利用所述工作线程在目标温区的温度达到温度阈值时进行温度控制。
在一些实施方式中,所述本地框架层还包括外部控制模块,中央处理器302执行所述利用所述工作线程在目标温区的温度达到温度阈值时进行温度控制时,可以执行:利用所述工作线程在目标温区的温度达到温度阈值时,根据第一温控策略确定目标温区的目标状态;利用所述外部控制模块根据所述目标状态降低目标温区的温度。
在一些实施方式中,所述本地框架层还包括外部控制模块,中央处理器302执行所述利用所述工作线程在目标温区的温度达到温度阈值时进行温度控制时,可以执行:利用工作线程在目标温区的温度达到温度阈值时,通过预设的算法计算目标温区的目标状态;利用所述外部控制模块根据所述目标状态降低目标温区的温度。
在一些实施方式中,外部控制模块包括降温模块,中央处理器302执行利用所述外部控制模块根据所述目标状态降低目标温区的温度时,可以执行:利用所述降温模块从工作线程获取所述目标状态;利用所述降温模块将目标温区的状态从当前状态调整至所述目标状态,以降低目标温区的温度。
在一些实施方式中,中央处理器302还可以执行:在应用框架层获取当前运行的应用对应的第二温控策略;中央处理器302执行所述利用所述工作线程从预设的配置文件所包括的多个温控策略中确定所述应用场景对应的第一温控策略之后,还可以执行:利用所述工作线程检测当前运行的应用是否为预设的应用集合中的应用;若所述应用为预设的应用集合中的应用,则根据第二温控策略和各个温区的温度进行温度控制;若所述应用不为预设的应用集合中的应用,则根据第一温控策略和各个温区的温度进行温度控制。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对温控系统的详细描述,此处不再赘述。
本申请实施例提供的基于温控系统的温控方法与上文实施例中的温控系统属于同一构思,其具体实现过程详见所述温控系统实施例,此处不再赘述。
需要说明的是,对本申请实施例所述基于温控系统的温控方法而言,本领域普通技术人员可以理解实现本申请实施例所述基于温控系统的温控方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在存储器中,并被至少一个处理器执行,在执行过程中可包括如所述基于温控系统的温控方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)等。
以上对本申请实施例所提供的一种温控系统、基于温控系统的温控方法及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种温控系统,应用于电子设备,其特征在于,所述电子设备包括多个温区,所述温控系统的架构包括:
应用框架层,用于获取当前运行的应用;
内核层,用于获取各个温区的温度;
本地框架层,用于根据所述应用和所述各个温区的温度进行温度控制。
2.根据权利要求1所述的温控系统,其特征在于,所述本地框架层包括工作线程,所述工作线程用于确定所述应用对应的应用场景,并从预设的配置文件所包括的多个温控策略中确定所述应用对应的应用场景所对应的第一温控策略,并根据所述第一温控策略和所述各个温区的温度进行温度控制,所述预设的配置文件包括多个不同的应用场景,及各应用场景对应的温控策略。
3.根据权利要求2所述的温控系统,其特征在于,所述本地框架层还包括联合线程和监视线程,所述联合线程,用于从所述应用框架层获取所述应用,并将所述应用传输至所述工作线程;
所述监视线程,用于从所述内核层获取所述各个温区的温度,并将所述各个温区的温度传输至所述工作线程。
4.根据权利要求3所述的温控系统,其特征在于,所述内核层包括温区节点,所述温区节点用于获取各个温区的温度;
所述监视线程,还用于从所述温区节点获取所述各个温区的温度,并将所述各个温区的温度传输至所述工作线程;
所述应用框架层包括温控接口,所述温控接口用于获取当前运行的应用;
所述联合线程,还用于从所述温控接口获取所述应用,并将所述应用传输至所述工作线程。
5.根据权利要求2至4任一项所述的温控系统,其特征在于,所述工作线程还用于根据所述第一温控策略从所述多个温区中确定出目标温区和所述目标温区对应的温度阈值,并在所述目标温区的温度达到所述温度阈值时进行温度控制。
6.根据权利要求5所述的温控系统,其特征在于,所述工作线程还用于在所述目标温区的温度达到所述温度阈值时,根据所述第一温控策略确定所述目标温区的目标状态;
所述本地框架层还包括外部控制模块,所述外部控制模块用于根据所述目标状态降低所述目标温区的温度。
7.根据权利要求5所述的温控系统,其特征在于,所述工作线程还用于在所述目标温区的温度达到所述温度阈值时,通过预设的算法计算所述目标温区的目标状态;
所述本地框架层还包括外部控制模块,所述外部控制模块用于根据所述目标状态降低所述目标温区的温度。
8.根据权利要求6或7所述的温控系统,其特征在于,所述外部控制模块包括降温模块,所述降温模块用于从所述工作线程获取所述目标状态,并将所述目标温区的状态从当前状态调整至所述目标状态,以降低所述目标温区的温度。
9.根据权利要求2所述的温控系统,其特征在于,所述应用框架层还用于获取所述应用对应的第二温控策略;
所述工作线程,还用于检测所述应用是否为预设的应用集合中的应用,若所述应用为预设的应用集合中的应用,则根据所述第二温控策略和所述各个温区的温度进行温度控制;
若所述应用不为预设的应用集合中的应用,则根据所述第一温控策略和所述各个温区的温度进行温度控制。
10.一种基于温控系统的温控方法,应用于电子设备,其特征在于,所述电子设备包括多个温区,所述温控系统的架构包括应用框架层、内核层和本地框架层,包括:
在所述应用框架层获取当前运行的应用;
在所述内核层获取各个温区的温度;
在所述本地框架层根据所述应用和所述各个温区的温度进行温度控制。
11.根据权利要求10所述的基于温控系统的温控方法,其特征在于,所述本地框架层包括工作线程,所述在所述本地框架层根据所述应用和所述各个温区的温度进行温度控制,包括:
利用所述工作线程确定所述应用对应的应用场景;
利用所述工作线程从预设的配置文件所包括的多个温控策略中确定所述应用对应的应用场景所对应的第一温控策略,所述预设的配置文件包括多个不同的应用场景,及各应用场景对应的温控策略;
利用所述工作线程根据所述第一温控策略和各个温区的温度进行温度控制。
12.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行权利要求10或11所述的基于温控系统的温控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911253122.0A CN111007932A (zh) | 2019-12-09 | 2019-12-09 | 温控系统、基于温控系统的温控方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911253122.0A CN111007932A (zh) | 2019-12-09 | 2019-12-09 | 温控系统、基于温控系统的温控方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111007932A true CN111007932A (zh) | 2020-04-14 |
Family
ID=70114247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911253122.0A Pending CN111007932A (zh) | 2019-12-09 | 2019-12-09 | 温控系统、基于温控系统的温控方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111007932A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112485645A (zh) * | 2020-11-30 | 2021-03-12 | 海光信息技术股份有限公司 | 芯片测试温度控制方法、控制系统、温控板卡及测试系统 |
CN113342082A (zh) * | 2021-04-09 | 2021-09-03 | 成都中科创达软件有限公司 | 一种终端设备的温度控制方法、相关方法和装置 |
WO2022165826A1 (en) * | 2021-02-08 | 2022-08-11 | Qualcomm Incorporated | Frames-per-second thermal management |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105700650A (zh) * | 2015-12-31 | 2016-06-22 | 联想(北京)有限公司 | 一种散热控制方法、电子设备及系统 |
CN106357720A (zh) * | 2016-08-06 | 2017-01-25 | 内蒙古大学 | 一种基于物联网的数据显示系统及方法 |
CN106647860A (zh) * | 2016-12-30 | 2017-05-10 | 深圳天珑无线科技有限公司 | 移动终端温度控制方法和装置 |
CN107168109A (zh) * | 2016-03-07 | 2017-09-15 | 中兴通讯股份有限公司 | 一种移动终端的自适应降温方法及装置 |
US20170371390A1 (en) * | 2016-06-24 | 2017-12-28 | Mediatek Inc. | Electronic device and method for controlling user experience with application on electronic device |
CN108132816A (zh) * | 2016-12-01 | 2018-06-08 | 腾讯科技(深圳)有限公司 | 应用中实现本地框架层调用的方法和装置 |
-
2019
- 2019-12-09 CN CN201911253122.0A patent/CN111007932A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105700650A (zh) * | 2015-12-31 | 2016-06-22 | 联想(北京)有限公司 | 一种散热控制方法、电子设备及系统 |
CN107168109A (zh) * | 2016-03-07 | 2017-09-15 | 中兴通讯股份有限公司 | 一种移动终端的自适应降温方法及装置 |
US20170371390A1 (en) * | 2016-06-24 | 2017-12-28 | Mediatek Inc. | Electronic device and method for controlling user experience with application on electronic device |
CN106357720A (zh) * | 2016-08-06 | 2017-01-25 | 内蒙古大学 | 一种基于物联网的数据显示系统及方法 |
CN108132816A (zh) * | 2016-12-01 | 2018-06-08 | 腾讯科技(深圳)有限公司 | 应用中实现本地框架层调用的方法和装置 |
CN106647860A (zh) * | 2016-12-30 | 2017-05-10 | 深圳天珑无线科技有限公司 | 移动终端温度控制方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112485645A (zh) * | 2020-11-30 | 2021-03-12 | 海光信息技术股份有限公司 | 芯片测试温度控制方法、控制系统、温控板卡及测试系统 |
WO2022165826A1 (en) * | 2021-02-08 | 2022-08-11 | Qualcomm Incorporated | Frames-per-second thermal management |
CN113342082A (zh) * | 2021-04-09 | 2021-09-03 | 成都中科创达软件有限公司 | 一种终端设备的温度控制方法、相关方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109101352B (zh) | 图像处理算法架构、算法调用方法、装置、存储介质及移动终端 | |
US20210389973A1 (en) | Electronic device and method for operating the same | |
CN111007932A (zh) | 温控系统、基于温控系统的温控方法及电子设备 | |
EP4145286A1 (en) | Memory management method and electronic device | |
CN112114975B (zh) | 处理器频率的调整方法、装置、存储介质及电子设备 | |
JP2018511843A (ja) | 同じ画面上にコンテンツを表示するための方法及びデバイス並びに端末デバイス | |
CN107357405B (zh) | 功耗控制方法及相关设备 | |
CN107463437B (zh) | 应用管控方法、装置、存储介质及电子设备 | |
CN113553130B (zh) | 应用执行绘制操作的方法及电子设备 | |
JP7100154B6 (ja) | プロセッサコアのスケジューリング方法、装置、端末及び記憶媒体 | |
US10712798B2 (en) | Sensor processing method of mobile terminal, storage medium, and electronic device | |
CN107193667B (zh) | 网页权限的更新方法及装置 | |
CN116541142A (zh) | 任务调度方法、装置、设备、存储介质及计算机程序产品 | |
CN108762983B (zh) | 多媒体数据恢复方法及装置 | |
CN114327087A (zh) | 输入事件处理方法、装置、电子设备和存储介质 | |
CN113220366A (zh) | 子应用启动方法、装置、终端及服务器 | |
CN111381996B (zh) | 内存异常处理方法及装置 | |
CN111259441B (zh) | 设备控制方法、装置、存储介质及电子设备 | |
US9170629B2 (en) | Medium, control method and information processing apparatus | |
CN116578422A (zh) | 资源分配方法和电子设备 | |
CN115454576B (zh) | 一种虚拟机进程管理方法、系统及电子设备 | |
CN114327671A (zh) | 参数配置方法、装置、设备及存储介质 | |
CN114862398A (zh) | 一种基于分布式安全设备的风险控制方法以及相关装置 | |
CN107643951B (zh) | 进程处理方法、装置及电子设备 | |
WO2023246756A1 (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200414 |
|
RJ01 | Rejection of invention patent application after publication |