一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

温度控制的方法、设备、存储介质及程序产品与流程

2021-12-08 00:16:00 来源:中国专利 TAG:


1.本公开涉及计算机技术中的设备温度控制、资源调度等领域,尤其涉及一种温度控制的方法、设备、存储介质及程序产品。


背景技术:

2.移动应用极大地方便了现在人们的生活,为了进一步给用户提供非常流畅和快速的响应,移动应用在开发阶段会尽可能利用设备的中央处理器(central processing unit,简称cpu)资源。但是无限制的利用cpu资源,导致大量的并发和cpu负载过大,进而引发设备温度太高导致设备发烫问题的出现。


技术实现要素:

3.本公开提供了一种用于温度控制的方法、设备、存储介质及程序产品。
4.根据本公开的第一方面,提供了一种温度控制的方法,包括:
5.当目标设备的温度大于容忍温度阈值时,获取所述目标设备的温度大于所述容忍温度阈值的持续时长;
6.根据所述目标设备的当前温度和所述持续时长,确定所述目标设备上目标应用当前的最大并发线程数量和异步任务执行间隔时长;
7.根据所述当前的最大并发线程数量和异步任务执行间隔时长,控制目标设备上用于执行所述目标应用的异步任务的线程的运行,实现目标设备的温度控制。
8.根据本公开的第二方面,提供了一种温度控制的设备,包括:
9.数据获取模块,用于当目标设备的温度大于容忍温度阈值时,获取所述目标设备的温度大于所述容忍温度阈值的持续时长;
10.控制参数确定模块,用于根据所述目标设备的当前温度和所述持续时长,确定所述目标设备上目标应用当前的最大并发线程数量和异步任务执行间隔时长;
11.温度控制模块,用于根据所述当前的最大并发线程数量和异步任务执行间隔时长,控制目标设备上用于执行所述目标应用的异步任务的线程的运行,实现目标设备的温度控制。
12.根据本公开的第三方面,提供了一种电子设备,包括:
13.至少一个处理器;以及
14.与所述至少一个处理器通信连接的存储器;其中,
15.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。
16.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面所述的方法。
17.根据本公开的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从
所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面所述的方法。
18.根据本公开的技术解决了设备发烫的问题,同时保证设备上应用对用户响应速度,兼顾温度控制和应用服务质量。
19.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
20.附图用于更好地理解本方案,不构成对本公开的限定。其中:
21.图1是本公开第一实施例提供的温度控制的方法流程图;
22.图2是本公开第二实施例提供的温度控制的方法流程图;
23.图3是本公开第二实施例提供的另一温度控制的方法流程图;
24.图4是本公开第二实施例提供的一种设备温度与容忍温度阈值的差值随时间变化的示意图;
25.图5是本公开第二实施例提供的另一种设备温度与容忍温度阈值的差值随时间变化的示意图;
26.图6是本公开第三实施例提供的温度控制的设备示意图;
27.图7是本公开第四实施例提供的温度控制的设备示意图;
28.图8是用来实现本公开实施例的温度控制的方法的电子设备的框图。
具体实施方式
29.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
30.移动应用极大地方便了现在人们的生活,为了进一步给用户提供非常流畅和快速的响应,移动应用在开发阶段会尽可能利用设备的中央处理器(central processing unit,简称cpu)资源。但是无限制的利用cpu资源,导致大量的并发和cpu负载过大,进而引发设备温度太高导致设备发烫问题的出现。
31.目前,控制温度的软件方案,往往是通过暂停所有并发任务,这样的方案适用于后台服务。对于移动终端与用户实时交互相关的应用场景,在用户操作应用进行某种行为时,用户是期望快速获得反馈的,若暂停所有并发任务,会严重影响对用户响应速度。
32.本公开提供一种温度控制的方法,应用于计算机技术中的设备温度控制、资源调度等领域,当目标设备的温度大于容忍温度阈值时,获取目标设备的温度大于容忍温度阈值的持续时长;根据目标设备的当前温度和持续时长,确定目标设备上目标应用当前的最大并发线程数量和异步任务执行间隔时长;根据当前的最大并发线程数量和异步任务执行间隔时长,控制目标设备上用于执行目标应用的异步任务的线程的运行,实现目标设备的温度控制,以解决设备发烫的问题,同时保证设备上应用对用户响应速度,从而兼顾温度控制和前台服务质量。
33.图1是本公开第一实施例提供的温度控制的方法流程图。本实施例提供的温度控制的方法具体可以应用于电子设备,对电子设备的温度进行控制。该电子设备可以是智能手机、平板电脑等移动终端,也可以是个人电脑、服务器等,在其他实施例中,电子设备还可以采用其他设备实现,本实施例此处不做具体限定。
34.如图1所示,该方法具体步骤如下:
35.步骤s101、当目标设备的温度大于容忍温度阈值时,获取目标设备的温度大于容忍温度阈值的持续时长。
36.其中,目标设备可以是能够运行应用程序的电子设备,例如智能手机、平板电脑等移动终端,也可以是个人电脑、服务器等。
37.本实施例中,容忍温度阈值是预先设置的用户能够容忍目标设备的最大温度,不同类型的电子设备的容忍温度阈值可以不同,同一类型的电子设备在不同时间段内的容忍温度阈值可以不同,每一电子设备的容忍温度阈值可以根据实际应用场景的需要进行设置和调整,本实施例此处不做具体限定。
38.示例性地,目标设备可以是智能手机,在一年的不同季节,用户对智能手机的温度的容忍度不同,可以设置不同季节目标设备的容忍温度阈值不同。例如,在夏季智能手机裸漏放置(如手中或桌面上等)的情况较多,外部温度通常较低,可以设置一个较低的容忍温度阈值,如可以设置在37℃左右。在冬季智能手机在口袋或包中放置的情况较多,口袋或包内的温度相对较高,可以设置一个较高的容忍温度阈值,如可以设置在40℃左右。
39.其中,目标设备的温度,可以是目标设备上容易发热的部分的温度,例如目标设备的cpu的温度等。
40.目标设备上可以安装有温度检测设备,可以实时检测目标设备的温度,并传输至目标设备的处理器。根据实时检测的目标设备的温度,在确定目标设备的温度大于容忍温度阈值时,并记录目标设备的温度大于容忍温度阈值的时长。
41.本实施例中,每间隔一个时段,进行一次温度控制处理。在每次进行温度控制处理时,根据目标设备的当前温度,若当前温度大于容忍温度阈值,则需要进行温度控制,并获取目标设备的温度大于容忍温度阈值的持续时长,根据目标设备的当前温度和持续时长,更新目标应用当前的最大并发线程数量和异步任务执行间隔时长,根据目标应用当前的最大并发线程数量和异步任务执行间隔时长进行后续的控制处理。若当前温度小于或等于容忍温度阈值,则无需进行温度控制。
42.步骤s102、根据目标设备的当前温度和持续时长,确定目标设备上目标应用当前的最大并发线程数量和异步任务执行间隔时长。
43.若确定目标设备的当前温度大于容忍温度阈值,则根据目标设备的当前温度和持续时长,动态地确定目标设备上目标应用当前的最大并发线程数量和异步任务执行间隔时长。
44.目标设备的当前温度越高、目标设备的温度大于容忍温度阈值的持续时长越长,那么确定的目标应用当前的最大并发线程数量越少,和/或,异步任务执行间隔时长越长,从而能够基于目标设备的当前温度和目标设备的温度大于容忍温度阈值的持续时长,灵活地调整温度控制的控制力度,在实现温度控制的基础上,最大限度地利用cpu资源。
45.步骤s103、根据当前的最大并发线程数量和异步任务执行间隔时长,控制目标设
备上用于执行目标应用的异步任务的线程的运行,实现目标设备的温度控制。
46.其中,目标应用可以包括目标设备上的至少一个应用。
47.示例性地,目标应用可以是目标设备上的任一应用,根据当前的最大并发线程数量和异步任务执行间隔时长,可以控制用于执行目标应用的异步任务的线程的运行,实现目标设备的温度控制。
48.示例性地,目标应用可以是目标设备上的所有应用,根据当前的最大并发线程数量和异步任务执行间隔时长,可以控制用于执行目标设备上所有异步任务的线程的运行,实现目标设备的温度控制。
49.示例性地,目标应用可以是目标设备上的多个应用,根据当前的最大并发线程数量和异步任务执行间隔时长,可以控制用于执行各个目标应用的异步任务的线程的运行,实现目标设备的温度控制。
50.在确定目标应用当前的最大并发线程数量和异步任务执行间隔时长之后,根据当前的最大并发线程数量和异步任务执行间隔时长,控制目标设备上用于执行目标应用的异步任务的线程的运行,使得用于执行目标应用的异步任务的线程的数量小于或等于当前的最大并发线程数量,且目标应用的异步任务的执行间隔时长大于或等于异步任务执行间隔时长,从而在实现温度控制的基础上,最大限度地利用cpu资源。
51.本公开实施例通过当目标设备的温度大于容忍温度阈值时,获取目标设备的温度大于容忍温度阈值的持续时长;根据目标设备的当前温度和持续时长,确定目标设备上目标应用当前的最大并发线程数量和异步任务执行间隔时长;根据当前的最大并发线程数量和异步任务执行间隔时长,控制目标设备上用于执行目标应用的异步任务的线程的运行,实现目标设备的温度控制,以解决设备发烫的问题;并在实现温度控制的基础上,最大限度地利用cpu资源,以保证设备上应用的响应速度,从而能够兼顾温度控制和前台服务质量。
52.图2是本公开第二实施例提供的温度控制的方法流程图。在上述第一实施例的基础上,本实施例中,对每一次进行温度控制的处理流程进行详细地说明。
53.如图2所示,该方法具体步骤如下:
54.步骤s201、获取目标设备的当前温度。
55.本实施例中,每间隔一个时段,进行一次温度控制处理。
56.在每次进行温度控制处理时,获取目标设备的当前温度,并确定目标设备的当前温度是否大于容忍温度阈值。若当前温度小于或等于容忍温度阈值,则无需进行温度控制。
57.若当前温度大于容忍温度阈值,则需要进行温度控制,并获取目标设备的温度大于容忍温度阈值的持续时长,根据目标设备的当前温度和持续时长,更新目标应用当前的最大并发线程数量和异步任务执行间隔时长,根据目标应用当前的最大并发线程数量和异步任务执行间隔时长进行后续的控制处理。
58.其中,目标设备的温度,可以是目标设备上容易发热的部分的温度,例如目标设备的cpu的温度等。
59.步骤s202、当目标设备的温度大于容忍温度阈值时,获取目标设备的温度大于容忍温度阈值的持续时长。
60.在获取到目标设备的当前温度时,获取目标设备的温度大于容忍温度阈值的持续时长。
61.目标设备上可以安装有温度检测设备,可以实时检测目标设备的温度,并传输至目标设备的处理器。根据实时检测的目标设备的温度,在确定目标设备的温度大于容忍温度阈值时,记录目标设备的温度大于容忍温度阈值的时长。
62.其中,目标设备的温度大于容忍温度阈值的持续时长是指在该持续时长内,检测到的目标设备的温度一直大于容忍温度阈值,不存在目标设备的温度小于或等于容忍温度阈值的情况。
63.若任一时刻检测到的目标设备的温度小于或等于容忍温度阈值,则将目标设备的温度大于容忍温度阈值的持续时长清零。当下一次检测到目标设备的温度大于容忍温度阈值时,开始计时。
64.在获取目标设备的温度大于容忍温度阈值的持续时长之后,执行步骤s203

s206,根据目标设备的当前温度和持续时长,确定目标设备上目标应用当前的最大并发线程数量和异步任务执行间隔时长,从而能够根据目标设备的当前温度和目标设备的温度大于容忍温度阈值的持续时长,动态地确定目标应用当前的最大并发线程数量和异步任务执行间隔时长,从而在实现温度控制的基础上,最大限度地利用cpu资源。
65.其中,目标应用包括目标设备上的至少一个应用。
66.一种可选地实施方式中,首先通过步骤s203

s205,根据目标设备的降温能力参数、当前温度和持续时长,确定目标设备的目标降温因子。然后通过步骤s206,根据目标设备的降温因子与目标应用当前的最大并发线程数量和异步任务执行间隔时长的第一关系模型,确定当前的最大并发线程数量和异步任务执行间隔时长,使得目标设备的降温因子大于目标降温因子。
67.另一种可选地实施方式中,可以预先建立目标应用的最大并发线程数量与目标设备的当前温度和目标设备的温度大于容忍温度阈值的持续时长的关系模型,以及目标应用的异步任务执行间隔时长与目标设备的当前温度和目标设备的温度大于容忍温度阈值的持续时长的关系模型,基于预先建立的关系模型,根据目标设备的当前温度和目标设备的温度大于容忍温度阈值的持续时长,可以确定目标应用当前的最大并发线程数量和异步任务执行间隔时长。
68.其中,关系模型可以根据实际应用场景的需要和经验进行设置和调整,本实施例此处不做具体限定。
69.步骤s203、根据目标设备的降温能力参数,更新调控步长系数。
70.其中,降温能力参数与目标设备的降温速度正相关,包括与目标设备的降温能力相关的参数。
71.本实施例中,调控步长系数可以用k表示,初始值可以设置为1,在初始值的基础上,每次进行温度调控处理时,可以根据目标设备的降温能力参数和预设降温能力参数阈值,更新调控步长系数。
72.调控步长系数的取值,作为控制的步长,影响温度控制的速度。当调控步长系数k的取值越接近目标设备对应的理想值(未知),目标设备的温度控制速度越快。当调控步长系数k的取值越远离目标设备对应的理想值(未知),温度控制的速度越慢。但是在整个控制过程中调控步长系数k究竟取多大的值,不影响温度控制的最终结果,都会将目标设备的温度降低至容忍温度阈值以下,只是所需要的时间长短不同。
73.具体地,若目标设备的降温能力参数小于预设降温能力参数阈值,则将调控步长系数增加第一增量;若目标设备的降温能力参数大于或等于预设降温能力参数阈值,则将调控步长系数减少第二增量。
74.其中,第一增量的值和第二增量的值可以相同,也可以不同,第一增量和第二增量均可以根据实际应用场景及设备的参数进行设置和调整,本实施例此处不做具体限定。预设降温能力参数阈值可以根据实际应用场景及设备的参数进行设置和调整,本实施例此处不做具体限定。
75.基于一个调控步长系数的初始值,在对任一设备进行多次温度控制过程中,根据当前设备的降温能力参数(如降温速度),结合降温能力参数是否小于预设降温能力参数阈值的正负反馈信息,不断优化当前设备对应的调控步长系数k的取值,实现不同设备具有不同调控步长系数,实现对不同设备的调控步长系数的定制化,从而能够针对不同的设备进行不同程度的温度控制,实现对不同设备有针对性的温度控制,提高温度控制的效果,从而可以提高目标设备上目标应用的性能。
76.进一步地,根据目标设备的降温能力参数,更新调控步长系数之前,还包括:
77.根据上一时段内目标设备的历史温度,确定目标设备的降温能力参数,能够在更新调控步长系数之前,能够实时地确定目标设备当前的降温能力参数,基于当前的降温能力参数更新调控步长系数,能够更好地针对目标设备进行调控步长系数的优化。
78.示例性地,降温能力参数可以是目标设备的降温速度,预设降温能力参数阈值可以是预设降温速度阈值。调控步长系数k初始值可以设置为1。如果设备的当前温度大于容忍温度阈值,根据降温速度调整k时,若降温速度低于预设降温速度阈值,也即目标设备的温度降低较慢时,将k增加第一增量;若降温速度不低于预设降温速度阈值,也即目标设备的温度降低较快时,将k减少第一增量。其中,预设降温速度阈值可以设置为0.1℃/s,预设降温速度阈值可以根据实际应用场景及设备的参数进行设置和调整,本实施例此处不做具体限定。
79.对调控步长系数的优化,可以在目标设备的温度降低较快时,减少调控步长系数k的取值,在目标设备的温度降低较慢时,增大调控步长系数k的取值。
80.其中,目标设备的降温速度根据目标设备的温度从高温降低到容忍温度阈值所需要的时间决定,时间越短效率越快。目标设备的降温速度可以根据历史时间段内实时检测的目标设备的温度和检测时间计算得到。
81.另外,调控步长系数k的取值存储在本地,下次k的初始值使用上一次计算的值,在上一次计算的k的基础上,增加第一增量或减少第二增量确定。每个设备使用不同的调控步长系数k值,实现定制化,设备的温控越好应用的性能也越高。
82.步骤s204、根据当前温度和持续时长,确定目标设备的升温因子,升温因子与目标设备的升温能力正相关。
83.当目标设备的温度大于容忍温度阈值时,在获取目标设备的温度大于容忍温度阈值的持续时长之后,可以根据当前温度和持续时长,确定目标设备的升温因子。
84.本实施例中,升温因子与目标设备的升温能力正相关。目标设备的升温因子受到目标设备的容忍温度阈值、当前温度和温度大于容忍温度阈值的持续时长的影响。
85.示例性地,该步骤具体可以采用如下方式实现:
86.获取目标设备的当前温度、温度大于容忍温度阈值的持续时长和升温因子之间的第二关系模型,第二关系模型中升温因子与当前温度正相关,且升温因子与持续时长正相关;根据第二关系模型,当前温度和持续时长,确定目标设备的升温因子。通过这种方式,可以准确地确定目标设备当前的升温因子,能够准确地表示目标设备的升温能力,为预估目标设备实现温度控制效果所需的目标设备的目标降温能力提供基础。
87.示例性地,第二关系模型可以采用如下等式(一)表示:
88.φ=((max(θ
current
,θ
max
)

θ
max
)t
temperature
)2ꢀꢀ
(一)
89.其中,φ表示目标设备的升温因子。θ
max
表示目标设备的容忍温度阈值,单位为摄氏度(℃)。θ
current
表示目标设备的当前温度,单位为摄氏度(℃)。t
temperature
表示目标设备的温度大于容忍温度阈值的持续时长,单位为秒。
90.目标设备的升温因子φ的最小值为0,表示当前不需要进行温度控制。目标设备的升温因子φ的值越大,表示目标设备的温度情况越遭。升温因子φ和超过容忍温度阈值的持续时长t
temperature
的正相关,和目标设备的当前温度与容忍温度阈值的温差正相关,但不是简单的线性关系,温差越大影响代表影响程度越大,因此这里使用平方的关系进行建模。
91.可选地,考虑到实际情况,如果设备一开始温度较高表明当前环境下用户所能接受的初始温度可能较高,为了进一步提升性能,容忍温度阈值θ
max
可以取值为:人体最大接受温度的经验值和设备初始温度的最大值。
92.可选地,不同类型的电子设备的容忍温度阈值可以不同,同一类型的电子设备在不同时间段内的容忍温度阈值可以不同,每一电子设备的容忍温度阈值可以根据实际应用场景的需要进行设置和调整,本实施例此处不做具体限定。
93.示例性地,目标设备可以是智能手机,在一年的不同季节,用户对智能手机的温度的容忍度不同,可以设置不同季节目标设备的容忍温度阈值不同。例如,在夏季智能手机裸漏放置(如手中或桌面上等)的情况较多,外部温度通常较低,可以设置一个较低的容忍温度阈值,如可以设置在37℃左右。在冬季智能手机在口袋或包中放置的情况较多,口袋或包内的温度相对较高,可以设置一个较高的容忍温度阈值,如可以设置在40℃左右。
94.示例性地,以容忍温度阈值θ
max
为37℃为例,φ的值随着目标设备当前温度和超过容忍温度阈值的持续时长t
temperature
而不同,如下表1所示:
95.表1
[0096][0097]
步骤s205、根据当前的调控步长系数和升温因子,确定目标设备的目标降温因子。
[0098]
本实施例中,目标设备的降温因子与目标设备的降温能力正相关,目标设备的降温因子越高,说明目标设备的降温能力越强。
[0099]
目标设备的目标降温因子是:根据目标设备当前的调控步长系数和升温因子确定的,基于目标设备当前的调控步长系数和升温因子,为达到目标设备的温度控制效果,目标设备所需具有的降温因子的最小值。也就是说,目标降温因子是目标设备的降温因子的一个预期值。
[0100]
在实际应用中,目标设备的降温能力与目标应用的预设最大并发线程数、预先最小并发线程数、当前的最大并发线程数的影响,也即目标设备的降温因子与目标应用的预设最大并发线程数、预设最小并发线程数和当前的最大并发线程数相关。
[0101]
其中,预设最大并发线程数、预先最小并发线程数是指为目标应用设定的参数,在设定后可保持不变。当前的最大并发线程数是会随着目标应用的异步任务的数量发生变化的,是指在当前的一个时段内,用于执行目标应用的异步任务的线程的并发数。
[0102]
该步骤具体可以采用如下方式实现:
[0103]
获取目标设备的降温因子与调控步长系数和升温因子的第三关系模型,第三关系模型中降温因子与调控步长系数正相关,且降温因子与升温因子正相关;根据当前的调控步长系数和升温因子,以及第三关系模型,确定对应的降温因子,得到目标设备的目标降温因子。
[0104]
在实际应用中,从直观感受上升温因子越大期望的目标设备对应的降温因子也越大,因此可以使用线程方程对升温因子、调控步长系数和降温因子直接的关系进行建模。
[0105]
示例性地,第三关系模型可以用如下等式(二)的形式表示:
[0106]
ψ=kφ 1
ꢀꢀ
(二)
[0107]
其中,k表示目标设备的调控步长系数,φ表示目标设备的升温因子,ψ表示目标设备的降温因子。
[0108]
初始时,k取值为1,是为解决当φ为0时,对应ψ为1的情况。另外,从ψ和φ样例看,如果要让并发数降低一半发挥比较大的作用,k初始值取1是一个比较好的结果。
[0109]
通过上述第三关系模型能够准确地表示目标设备的降温因子与调控步长系数和升温因子的关系,根据当前的调控步长系数和升温因子,以及第三关系模型,确定目标设备的目标降温因子,能够根据目标设备当前的升温能力,准确地确定目标设备达到温度控制效果所需的目标设备的目标降温因子,也即要达到温度控制效果目标设备所需拥有的最低降温能力,为确定进行降温控制的目标应用的当前的最大并发线程数量和异步任务执行间隔时长提供数据基础。
[0110]
如果目标设备的降温能力低于目标降温因子,则无法达到想要的温度控制效果。
[0111]
示例性地,该步骤中,可以η
current
取η
min
,t
asyn_task_await
取0,根据上述第三关系模型计算ψ。若计算得到的ψ小于目标降温因子,则可以确定η
current
取η
min
,t
asyn_task_await
取0,得到目标应用的当前的最大并发线程数量和异步任务执行间隔时长。
[0112]
若计算得到的ψ大于或等于目标降温因子,则保持t
asyn_task_await
取0,增加η
current
的值,找到一个小于或等于η
max
的η
current
,使得根据重新确定t
asyn_task_await
和η
current
计算得到的ψ大于或等于目标降温因子。
[0113]
若t
asyn_task_await
取0,η
current
取η
max
时,计算得到的ψ仍然小于目标降温因子的值,则保持η
current
取η
min
,增加t
asyn_task_await
的取值,找到一个t
asyn_task_await
,使得根据重新确定t
asyn_task_await
和η
current
计算得到的ψ大于或等于目标降温因子。
[0114]
步骤s206、根据目标设备的降温因子与最大并发线程数量和异步任务执行间隔时长的第一关系模型,确定当前的最大并发线程数量和异步任务执行间隔时长,使得目标设备的降温因子大于目标降温因子。
[0115]
其中,降温能力参数与目标设备的降温速度正相关,包括与目标设备的降温能力相关的参数。
[0116]
示例性地,降温能力参数可以是目标设备的降温速度。
[0117]
本实施例中,目标设备的降温因子与目标设备的降温能力正相关,目标设备的降温因子越高,说明目标设备的降温能力越强。
[0118]
在实际应用中,目标设备的降温因子受到目标应用的预设最大并发线程数量、目标应用当前的最大并发线程数量和异步任务执行间隔时长的影响。
[0119]
示例性地,目标设备的降温因子与最大并发线程数量和异步任务执行间隔时长的第一关系模型,可以采用如下等式(三)的方式表示:
[0120][0121]
其中,ψ表示目标设备的降温因子。η
max
表示目标应用的预设最大并发线程数量。η
current
表示目标应用当前的最大并发线程数量。t
asyn_task_await
表示目标应用当前的异步任务执行间隔时长,单位为秒。
[0122]
η
current
满足如下条件:η
max
>=η
current
>=η
min
,其中,η
min
表示目标应用的预设最小并发线程数量。
[0123]
在第一关系模型中,目标设备的降温因子ψ的最小值为1,表示目标设备当前没有降温能力。目标设备的降温因子ψ的值越大,表示目标设备当前的降温能力越强。通过降低目标应用当前的并发线程数量,可以实现一定比例的降温能力,但是其所起的作用有限;在并发数无法降低的时候,需要通过延长异步任务执行间隔时长来提升降温能力,此处将目
标应用的当前最大并发线程数量和异步任务执行间隔时长这两者建模成简单的线性关系,也符合直观感受。
[0124]
示例性地,以目标应用的预设最大并发线程数量为16,预设最小并发线程数量为2为例,目标设备的降温因子ψ的值随着目标应用的当前最大并发线程数量η
current
和异步任务执行间隔时长t
asyn_task_await
变化,示例如图表2所示:
[0125]
表2
[0126][0127]
传统温度控制方案中,一刀切地方式设置固定的并发线程最大数和任务间隔时长,虽然可以实现温控,但是cpu的计算资源将会得到大大的浪费。本实施例中,通过每间隔一定时间,执行上述步骤s201

s206,调整调控步长系数k,并结合目标设备当前的温度情况,基于负反馈原理,动态地确定出目标应用当前的最大并发线程数量和异步任务执行间隔时长,在实现温度控制的基础上,最大限度地利用cpu资源,从而在实现温度控制的同时,能够提高目标应用的响应速度。
[0128]
在基于负反馈原理,动态地确定目标应用当前的最大并发线程数量和异步任务执行间隔时长之后,可以通过执行步骤s207,根据当前的最大并发线程数量和异步任务执行间隔时长,对用于执行目标应用的异步任务的线程进行控制处理,从而控制目标应用的并发线程数量和异步任务执行间隔时长,使得用于执行目标应用的异步任务的线程的数量小于或等于当前的最大并发线程数量,且目标应用的异步任务的执行间隔时长大于或等于异步任务执行间隔时长,从而在实现温度控制的基础上,最大限度地利用cpu资源。
[0129]
步骤s207、在为目标应用的任一线程分配异步任务之前,根据当前的最大并发线程数量和异步任务执行间隔时长,对线程进行控制处理,实现目标设备的温度控制。
[0130]
本实施例中,目标应用包括目标设备上的至少一个应用。
[0131]
示例性地,目标应用可以是目标设备上的任一应用,根据当前的最大并发线程数量和异步任务执行间隔时长,可以控制用于执行目标应用的异步任务的线程的运行,针对任一应用实现温度控制。
[0132]
示例性地,目标应用可以是目标设备上的所有应用,根据当前的最大并发线程数量和异步任务执行间隔时长,可以控制用于执行目标设备上所有异步任务的线程的运行,针对目标设备实现目标设备的温度控制。
[0133]
示例性地,目标应用可以是目标设备上的多个应用,根据当前的最大并发线程数量和异步任务执行间隔时长,可以控制用于执行各个目标应用的异步任务的线程的运行,针对多个目标应用实现目标设备的温度控制。
[0134]
该步骤中,在新建任一用于执行目标应用的异步任务的线程后,根据目标应用当前的最大并发线程数量和异步任务执行间隔时长,对新建的线程进行控制处理,实现目标设备的温度控制。
[0135]
在任一用于执行目标应用的异步任务的线程执行完上一异步任务之后,根据目标应用当前的最大并发线程数量和异步任务执行间隔时长,对线程进行控制处理,实现目标设备的温度控制。
[0136]
具体地,该步骤可以采用如下方式实现:
[0137]
在为目标应用的任一线程分配异步任务之前,获取目标应用当前的实际并发线程数。若确定实际并发线程数大于最大并发线程数量,或者当前不存在待执行的异步任务,则停用线程。这样,能够在实际并发线程数超过最大并发线程数量,或者不存在待执行的异步任务时,通过停用线程,减少目标应用的并发线程数,以提高目标设备的降温速度,实现目标设备的温度控制。
[0138]
若确定实际并发线程数小于或等于最大并发线程数量,并且当前存在待执行的异步任务,则根据异步任务执行间隔时长,优先执行待执行的异步任务中的前台任务。这样,能够根据异步任务执行间隔时长,控制线程的并发数量,实现目标设备的温度控制。同时,通过优先执行前台任务,能够最大限度地减少温度控制对目标应用对用户的响应速度的影响。
[0139]
一种可选地实施方式中,可以将目标应用的异步任务划分为前台任务和非前台任务。
[0140]
其中,前台任务是与用户交互相关性比较强的异步任务,例如分享这种行为,用户是需要等待相关异步任务执行结束才可以进行下一步操作的,这些相关异步任务可以作为前台任务。
[0141]
后台任务是与用户交互相关性比较弱的异步任务,例如统计埋点和文件同步的行为,用户是不可感知的,不影响用户在应用中的操作,相关异步任务可以作为后台任务。
[0142]
在cpu资源分配的时候,优先将更多的计算资源交给前台任务进行处理,而后台任务则在条件允许的情况下给予计算资源进行处理,以减少温度控制对目标应用对用户的响应速度的影响,在实现目标设备温度控制的同时,保证目标应用对用户的响应速度。
[0143]
进一步地,根据异步任务执行间隔时长,优先执行待执行的异步任务中的前台任务,可以采用如下方式实现:
[0144]
若确定待执行的异步任务中包含前台任务,则为线程分配前台任务,并通过线程执行前台任务,优先执行前台任务,以减少温度控制对目标应用对用户的响应速度的影响,在实现目标设备温度控制的同时,保证目标应用对用户的响应速度。
[0145]
若确定待执行的异步任务仅包含非前台任务,则确定非前台任务的等待时长。若存在等待超时的非前台任务,则为线程分配等待超时的非前台任务,并通过线程执行非前台任务,其中,等待超时的非前台任务的等待时长大于或等于异步任务执行间隔时长。若非前台任务的等待时长均小于异步任务执行间隔时长,则调度线程等待异步任务执行间隔时长后,根据当前的最大并发线程数量和异步任务执行间隔时长,对线程再次进行控制处理。
[0146]
其中,待执行的异步任务是指目标应用的待执行的异步任务。
[0147]
对于非前台任务,则根据异步任务执行间隔时长,限制异步任务的执行频率,减少
线程的并发数量,从而能够在进行温度控制的同时,合理高效地分配计算资源,兼顾温度控制和目标应用的响应速度和流畅性。
[0148]
可选地,停用线程可以是销毁线程。
[0149]
一种可选地实施方式中,如图3所示,步骤s207具体可以采用如下步骤实现:
[0150]
步骤s301、在为目标应用的任一线程分配异步任务之前,获取目标应用当前的实际并发线程数。
[0151]
步骤s302、确定目标应用当前的实际并发线程数是否大于目标应用当前的最大并发线程数量。
[0152]
若目标应用当前的实际并发线程数大于目标应用当前的最大并发线程数量,则执行步骤s303,停用线程。
[0153]
若目标应用当前的实际并发线程数小于或等于目标应用当前的最大并发线程数量,执行步骤s304。
[0154]
步骤s303、停用线程。
[0155]
步骤s304、确定当前是否存在待执行的异步任务。
[0156]
其中,待执行的异步任务是指目标应用的待执行的异步任务。
[0157]
若当前不存在待执行的异步任务,则执行步骤s303,停用线程。
[0158]
若当前存在待执行的异步任务,则执行步骤s305及后续步骤,根据异步任务执行间隔时长,优先执行待执行的异步任务中的前台任务。
[0159]
步骤s305、确定待执行的异步任务中是否包含前台任务。
[0160]
若确定待执行的异步任务中包含前台任务,则执行步骤s306。
[0161]
若确定待执行的异步任务中不包含前台任务,则执行步骤s307。
[0162]
步骤s306、若确定待执行的异步任务中包含前台任务,则为线程分配前台任务,并通过线程执行前台任务。
[0163]
步骤s307、确定是否存在等待超时的非前台任务。
[0164]
其中,等待超时的非前台任务的等待时长大于或等于异步任务执行间隔时长。
[0165]
具体地,确定非前台任务的等待时长,判断非前台任务的等待时长是否小于异步任务执行间隔时长;若非前台任务的等待时长小于异步任务执行间隔时长,则确定非前台任务未等待超时;若非前台任务的等待时长大于或等于异步任务执行间隔时长,则确定非前台任务等待超时。
[0166]
若存在等待超时的非前台任务,则执行步骤s308。
[0167]
若不存在等待超时的非前台任务,则执行步骤s309。
[0168]
步骤s308、若存在等待超时的非前台任务,则为线程分配等待超时的非前台任务,并通过线程执行非前台任务。
[0169]
步骤s309、若不存在等待超时的非前台任务,则调度线程等待异步任务执行间隔时长。
[0170]
在线程等待异步任务执行间隔时长之后,重新执行步骤s301

s309,根据当前的最大并发线程数量和异步任务执行间隔时长,对线程再次进行控制处理。
[0171]
本公开实施例通过每间隔一定时间,调整调控步长系数k,并结合目标设备当前的温度情况,基于负反馈原理,动态地确定出目标应用当前的最大并发线程数量和异步任务
执行间隔时长,在实现温度控制的基础上,最大限度地利用cpu资源,从而在实现温度控制的同时,能够提高目标应用的响应速度;进一步地,通过将目标应用的异步任务划分为前台任务和后台任务,优先执行前台任务,以减少温度控制对目标应用对用户的响应速度的影响,在实现目标设备温度控制的同时,保证目标应用对用户的响应速度;对于非前台任务,则根据异步任务执行间隔时长,限制异步任务的执行频率,减少线程的并发数量,从而能够在进行温度控制的同时,合理高效地分配计算资源,兼顾温度控制和目标应用的响应速度和流畅性。
[0172]
在实际应用中,让目标设备的目标应用运行同样的一批异步任务,定时监控θ
current
、t
temperature
的值,同时记录所有异步任务完成所需的耗时。温度控制效果较好的情况下,目标设备的温度波动较小,维持θ
max
在附近,偏离时间不会太久。温度控制效果较差的情况下,目标设备的温度会有较大波动,偏离θ
max
时间会更久。
[0173]
例如,以纵坐标为设备的温度与容忍温度阈值的差值,横坐标为时间,温度控制效果较好的目标应用所在目标设备的温度与容忍温度阈值的差值随时间变化的二维图如图4所示,温度控制效果较差的目标应用所在目标设备的温度与容忍温度阈值的差值随时间变化的二维图如图5所示。对于温度控制效果较差的目标应用,在控温良好的情况下同时较快的完成异步任务,即所有异步任务完成所需的耗时更短。
[0174]
本公开提供的方案,兼顾了设备的温度控制和目标应用的响应效率,在给用户提供非常流畅和快速的响应的同时,避免设备发烫的问题,保证用户在使用应用的过程中拥有更加极致的体验。设备的容忍温度阈值可以根据外部的设置,实现系统在指定的温度上下波动,具有很好的扩展性和稳定性。
[0175]
图6是本公开第三实施例提供的温度控制的设备示意图。本公开实施例提供的温度控制的设备可以执行温度控制的方法实施例提供的处理流程。如图6所示,该温度控制的设备60包括:数据获取模块601,控制参数确定模块602和温度控制模块603。
[0176]
具体地,数据获取模块601,用于当目标设备的温度大于容忍温度阈值时,获取目标设备的温度大于容忍温度阈值的持续时长。
[0177]
控制参数确定模块602,用于根据目标设备的当前温度和持续时长,确定目标设备上目标应用当前的最大并发线程数量和异步任务执行间隔时长。
[0178]
温度控制模块603,用于根据当前的最大并发线程数量和异步任务执行间隔时长,控制目标设备上用于执行目标应用的异步任务的线程的运行,实现目标设备的温度控制。
[0179]
本公开实施例提供的设备可以具体用于执行上述第一实施例提供的方法实施例,所实现具体功能和技术效果此处不再赘述。
[0180]
图7是本公开第四实施例提供的温度控制的设备示意图。本公开实施例提供的温度控制的设备可以执行温度控制的方法实施例提供的处理流程。如图7所示,该温度控制的设备70包括:数据获取模块701,控制参数确定模块702和温度控制模块703。
[0181]
具体地,数据获取模块701,用于当目标设备的温度大于容忍温度阈值时,获取目标设备的温度大于容忍温度阈值的持续时长。
[0182]
控制参数确定模块702,用于根据目标设备的当前温度和持续时长,确定目标设备上目标应用当前的最大并发线程数量和异步任务执行间隔时长。
[0183]
温度控制模块703,用于根据当前的最大并发线程数量和异步任务执行间隔时长,
控制目标设备上用于执行目标应用的异步任务的线程的运行,实现目标设备的温度控制。
[0184]
可选地,如图7所示,控制参数确定模块702,包括:
[0185]
目标降温因子确定单元7021,用于根据目标设备的降温能力参数、当前温度和持续时长,确定目标设备的目标降温因子,其中,降温能力参数与目标设备的降温速度正相关,目标设备的降温因子与目标设备的降温能力正相关。
[0186]
控制参数确定单元7022,用于根据目标设备的降温因子与最大并发线程数量和异步任务执行间隔时长的第一关系模型,确定当前的最大并发线程数量和异步任务执行间隔时长,使得目标设备的降温因子大于目标降温因子。
[0187]
可选地,目标降温因子确定单元,包括:
[0188]
调控步长系数更新子单元,用于根据目标设备的降温能力参数,更新调控步长系数。
[0189]
升温因子确定子单元,用于根据当前温度和持续时长,确定目标设备的升温因子,升温因子与目标设备的升温能力正相关。
[0190]
目标降温因子确定子单元,用于根据当前的调控步长系数和升温因子,确定目标设备的目标降温因子。
[0191]
可选地,调控步长系数更新子单元还用于:
[0192]
若目标设备的降温能力参数小于预设降温能力参数阈值,则将调控步长系数增加第一增量;若目标设备的降温能力参数大于或等于预设降温能力参数阈值,则将调控步长系数减少第二增量。
[0193]
可选地,调控步长系数更新子单元还用于:
[0194]
根据上一时段内目标设备的历史温度,确定目标设备的降温能力参数。
[0195]
可选地,升温因子确定子单元还用于:
[0196]
获取目标设备的当前温度、温度大于容忍温度阈值的持续时长和升温因子之间的第二关系模型,第二关系模型中升温因子与当前温度正相关,且升温因子与持续时长正相关;根据第二关系模型,当前温度和持续时长,确定目标设备的升温因子。
[0197]
可选地,目标降温因子确定子单元还用于:
[0198]
获取目标设备的降温因子与调控步长系数和升温因子的第三关系模型,第三关系模型中降温因子与调控步长系数正相关,且降温因子与升温因子正相关;根据当前的调控步长系数和升温因子,以及第三关系模型,确定对应的降温因子,得到目标设备的目标降温因子。
[0199]
可选地,温度控制模块,具体用于:
[0200]
在为目标应用的任一线程分配异步任务之前,根据当前的最大并发线程数量和异步任务执行间隔时长,对线程进行控制处理,实现目标设备的温度控制。
[0201]
可选地,如图7所示,温度控制模块703,包括:
[0202]
实际并发线程数获取单元7031,用于获取目标应用当前的实际并发线程数。
[0203]
温度控制单元7032,用于若确定实际并发线程数大于最大并发线程数量,或者当前不存在待执行的异步任务,则停用线程。
[0204]
可选地,温度控制单元还用于:
[0205]
若确定实际并发线程数小于或等于最大并发线程数量,并且当前存在待执行的异
步任务,则根据异步任务执行间隔时长,优先执行待执行的异步任务中的前台任务。
[0206]
可选地,温度控制单元还用于:
[0207]
若确定待执行的异步任务中包含前台任务,则为线程分配前台任务,并通过线程执行前台任务。
[0208]
可选地,温度控制单元还用于:
[0209]
若确定待执行的异步任务仅包含非前台任务,则确定非前台任务的等待时长;若存在等待超时的非前台任务,则为线程分配等待超时的非前台任务,并通过线程执行非前台任务,其中,等待超时的非前台任务的等待时长大于或等于异步任务执行间隔时长。
[0210]
可选地,温度控制单元还用于:
[0211]
若不存在等待超时的非前台任务,则调度线程等待异步任务执行间隔时长后,根据当前的最大并发线程数量和异步任务执行间隔时长,对线程再次进行控制处理。
[0212]
可选地,目标应用包括目标设备上的至少一个应用。
[0213]
本公开实施例提供的设备可以具体用于执行上述第二实施例提供的方法实施例,所实现具体功能和技术效果此处不再赘述。
[0214]
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
[0215]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0216]
根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
[0217]
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0218]
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
[0219]
设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0220]
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工
智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如温度控制的方法。例如,在一些实施例中,温度控制的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram 803并由计算单元801执行时,可以执行上文描述的温度控制的方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行温度控制的方法。
[0221]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0222]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0223]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0224]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0225]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部
件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0226]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端

服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0227]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0228]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献