具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。同时,在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
计算设备在工作过程中,由于计算设备中的器件会将一部分电能转化为热能。因此,需要为计算设备配置散热器件,以满足计算设备的散热需求。
通常,计算设备中的基板管理控制器(Baseboard Management Controller,BMC)通过温感器件获取计算设备内部环境的温度值,并根据获取到的温度值和散热调整策略,对散热器件的功率进行调整,从而能够及时调整服务器内部环境的温度,以避免服务器中的器件由于温度过高而损坏。
由于计算设备在工作过程中,存在一些不稳定因素,例如温感器件故障。此时,计算设备无法获取服务器内部环境的温度值,即计算设备从温感器件获取的温度值不再更新,从而导致计算设备获取的温度值异常。因此,计算设备无法根据异常的温度值对散热器件的功率进行调整,导致散热调整策略失效,进而造成计算设备内部的器件损坏。
相关技术中,当计算设备获取的温度值异常时,则控制散热器件将功率调整为散热器件的功率最大值,以保证服务器内部环境不会过高。然而,这样虽然可以满足服务器的散热需求,但存在一些问题。一方面,以功率最大值运行的散热器件,远远超过服务器的散热需求,这会导致服务器的能耗增加,造成资源的浪费。另一方面,以功率最大值运行的散热器件,会产生噪音,严重影响用户的使用体验。
基于此,本申请实施例提供一种散热控制方法,应用于计算设备,该计算设备配置有散热器件,上述方法包括:从计算设备中的多个测温点中确定异常测温点。根据第一预设对应关系预测异常测温点的实际温度值,第一预设对应关系为多个测温点的温度值之间的对应关系。根据实际温度值确定散热器件的目标功率。控制散热器件将功率调整为目标功率。本申请提供的方法在计算设备中的多个测温点中存在异常测温点的情况下,通过第一预设对应关系,预测异常测温点的实际温度值,并根据该实际温度值控制散热器件将功率调整为目标功率,能够避免计算设备的散热策略失效,进而避免计算设备内部的器件损坏。并且,控制散热器件以目标功率运行,能够在满足计算设备散热需求的同时,降低能耗,节约资源。同时,还能减少计算设备工作过程中产生的噪音,提升用户的使用体验。
参见图1,图1示出了本申请实施例提供的一种计算设备的结构方框图。该计算设备100包括处理器110、存储器120,基板管理控制器130,散热器件140和温感器件150。其中,基板管理控制器130分别与散热器件140和温感器件150连接。基板管理控制器130用于从温感器件获取多个测温点的温度值,当计算设备100中存在异常测温点时,确定异常测温点的实际温度值,并根据实际温度值确定散热器件140的目标功率,控制散热器件140将功率调整为目标功率。
需要说明的是,该计算设备可以包括服务器(server)、膝上型电脑(laptopcomputer)、个人数码助理(personal digital assistant,PDA)、个人计算机、笔记本电脑、车载设备等。此处对计算设备的具体实现形式不作特别限制。
其中,处理器110可以是中央处理单元(central processing unit,CPU)。处理器110上运行有操作系统(operating system,OS)。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对计算设备100的结构限定。在本申请另一些实施例中,计算设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
存储器120可以包括随机存储器(random access memory,RAM),也可以包括只读存储器(read-only memory,ROM)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等。
基板管理控制器130(以下简称BMC)根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。BMC通过发送不同的控制信号驱动与处理器110的不同接口连接的器件,例如:BMC可以从多个温感器件获取多个测温点的温度,BMC也可以通过I2C、I3C或SGPIO等串行接口发送控制信号。其中,控制信号可以为脉冲宽度调制(PulseWidth Modulation,PWM)信号,该PWM信号用于控制散热器件140。例如,BMC输出的PWM信号可以用于调整散热器件140的功率。在本申请实施例中,BMC从多个测温点中确定异常测温点,异常测温点的温度值在预设时长内未更新。BMC根据第一预设对应关系预测异常测温点的实际温度值,第一预设对应关系为多个测温点的温度值之间的对应关系。BMC根据实际温度值确定散热器件140的目标功率。BMC向散热器件140发送PWM信号,以控制散热器件140将功率调整为目标功率。
散热器件140可以包括风冷散热器,也可以包括液冷散热器,用于将电子设备在工作过程中产生的热量及时转移,以避免影响电子设备的正常工作。示例性的,散热器件140可以为风扇组件,该风扇组件接收来自基板管理控制器130的PWM信号,根据该PWM信号调整风扇转速,以实现散热器件140的功率的调整。
温感器件150用于测量温度,在本实施例中,温感器件150的数量为多个,多个温感器件150分别设置在计算设备100中的多个测温点,用于测量上述多个测温点的温度,并将多个测温点的温度转换成可用输出信号,以使得基板管理控制器130能够获取到多个测温点的温度。
在一个示例中,上述多个测温点可以位于服务器中的多个器件上(如器件表面)。例如,上述多个测温点可以分别位于处理器110的表面、存储器120的表面、以及基板管理控制器130的表面等。这样,通过设置在每个测温点的温感器件150,即可分别测量服务器内部不同器件的温度值。在另一个示例中,多个测温点也可以分别位于计算设备100中的不同点位,例如,测温点可以位于计算设备100的进风口和出风口。这样,通过设置在多个测温点的温感器件150分别测量计算设备100的进风口温度值和出风口温度值。
需要说明的是,处理器110也可以将温感器件150测量的多个测温点的温度值存储在存储器120中,以使得基板管理控制器130能够从存储器120中获取多个测温点的温度值。此处对基板管理控制器130获取多个测温点的温度值的具体实现方式不作特别限制。
以上述计算设备是服务器为例,参见图2,图2示出了本申请实施例提供的另一种计算设备的结构方框图。该计算设备100在图1所示的结构的基础上,还包括至少一个硬盘160,至少一个PCIE(peripheral component interconnect express)卡170,电源180和可编程逻辑器件190(complex programmable logic device,CPLD)。测温点还可以对应至少一个硬盘160,至少一个PCIE卡170、至少一个电源180。通过设置在测温点的温感器件150分别测量至少一个硬盘160,至少一个PCIE卡170以及电源180的温度值。其中,硬盘160可以设置在硬盘背板上,测温点可以对应硬盘背板,以测量计算设备100的硬盘背板的温度值。
可编程逻辑器件190用于确定温感器件150的状态信息,以使得基板管理控制器130能够获取温感器件150的状态信息。其中,该状态信息包括正常或异常,状态信息正常表示该温感器件150处于正常状态,能够正常运行,状态信息异常表示该温感器件150处于异常状态,无法正常工作。
基板管理控制器130还用于将状态信息为异常的温感器件对应的测温点确定为异常测温点,并根据第一预设对应关系预测异常测温点的实际温度值。基板管理控制器130根据实际温度值控制散热器件140将功率调整为目标功率。
除此之外,本领域技术人员可以理解,本实施例示意的结构并不构成对计算设备100的具体限定。在本申请另一些实施例中,计算设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
以下结合说明书附图,对本申请实施例提供的散热控制方法进行说明。为了方便说明,下文均以该计算设备100为服务器为例进行的举例说明。
图3为本申请实施例提供的一种散热控制方法的流程图。可选的,该方法可以由具有图1或图2所示硬件结构的计算设备100的BMC执行。该方法可以包括以下步骤:
S301、从服务器中的多个测温点中确定异常测温点。
多个测温点分别设置有多个温感器件,测温点可以分别位于在服务器中的多个器件的表面,这样,设置于多个测温点的温感器件可以测量服务器中多个器件的温度值。
示例性的,多个测温点分别设置在处理器、存储器、基板管理控制器、硬盘、PCIE卡以及电源的表面,以使得在服务器工作过程中,每个测温点对应的温感器件能够测量处理器温度(T处理器)、存储器温度(T存储器)、基板管理控制器温度(TBMC)、硬盘温度(T硬盘)、PCIE卡温度(TPCIE卡)以及电源温度(T电源)。
多个测温点也可以分别位于服务器中的不同点位,以使得温感器件测量服务器中的多个点位的温度值。例如,多个测温点也可以分别位于服务器的出风口、服务器的进风口以及硬盘背板上,以使得在服务器工作过程中,各个测温点对应的温感器件能够分别测量服务器的出风口温度(T出风口)、进风口温度(T进风口)以及硬盘背板温度(T硬盘背板)。
异常测温点为异常温度值对应的测温点。或者理解为,异常测温点为测量到的温度值为异常温度值的测温点。
可选的,当一个测温点的温度值在预设时长内未更新时,即该测温点的温度值保持稳定的数值不变,那么该温度值即为异常温度值,该异常温度值对应的测温点即为异常测温点。
在一种可能的实现方式中,参见图4,上述S301,具体包括以下步骤:
S401、在预设时长内,BMC通过多个温感器件获取服务器中的多个测温点的温度值。
在一种可能的实现方式中,在预设时长内至少两次获取服务器中的多个测温点的温度值;
应理解的是,预设时长和BMC在预设时长内获取温度值的次数可以根据用户的实际需求进行设置。例如预设时长可以为10分钟、30分钟或1小时,获取温度值的次数为至少两次。也可以为5次、或10次,此处对预设时长的具体时间和在预设时长内对温度值的获取次数不作特别限制。
需要说明的是,BMC可以直接从多个温感器件获取服务器中的多个测温点的温度值。也可以从存储器中获取服务器中的多个测温点的温度值。其中,该存储器中存储有多个温感器件最新测量的多个测温点的温度值。
示例性的,参见图5,图5为一种BMC获取多个测温点的温度值的示意图。该服务器中配置有三个测温点,分别为第一测温点、第二测温点和第三测温点。每个测温点分别配置有对应的温感器件,其中第一测温点的温感器件用于测量服务器的处理器温度值,第二测温点的温感器件用于测量服务器的进风口温度值,第三测温点用于测量服务器的出风口温度值。预设时长可以为30分钟,BMC在预设时长内获取温度值的次数为4次,参见下述表1,表1为BMC在30分钟内,4次获取的三个测温点的温度值。
表1
| 轮次 |
处理器温度值(℃) |
进风口温度值(℃) |
出风口温度值(℃) |
| 1 |
60 |
40 |
65 |
| 2 |
60 |
42 |
67 |
| 3 |
60 |
45 |
71 |
| 4 |
60 |
48 |
74 |
S402、在多个测温点的温度值中存在异常温度值的情况下,BMC将异常温度值对应的测温点确定为异常测温点,异常温度值为预设时长内未更新的温度值。
BMC在预设时长内多次获取的服务器中的多个测温点的温度值中确定是否存在异常温度值。这样一来,BMC能够在预设时长内多次获取多个测温点的温度值,同时对获取到的多个测温点的温度值进行分析,将预设时长内未更新的温度值确定为异常温度值,从多个测温点中快速确定出异常测温点,进而及时调整散热器件的功率,避免散热策略失效,导致服务器内部的器件损坏。
结合图5,将BMC从第一测温点获取到的处理器110的处理器温度值确定为异常温度值,进而,BMC可以将该异常温度值对应的第一测温点确定为异常测温点。
由表1可知,处理器温度值在预设时长30分钟内未更新,因此处理器温度值为异常温度值,处理器温度值对应的第一测温点为异常测温点。
需要说明的是,在本示例中,异常测温点的数量为1个。可理解的是,服务器中同时存在的异常测温点的数量也可以为多个。此处对服务器中同时存在的异常测温点的数量不作特别限制。
在一种可能的实现方式中,BMC周期性地获取服务器中的多个测温点的温度值。当一个测温点的温度值在预设获取次数内未更新时,即该测温点的温度值保持稳定的数值不变,那么该温度值即为异常温度值,该异常温度值对应的测温点即为异常测温点。
BMC周期性的获取的服务器中的多个测温点的温度值。对获取到的多个测温点的温度值进行分析,将预设获取次数内未更新的温度值确定为异常温度值,进而从多个测温点中快速确定出异常测温点,及时调整散热器件的功率,避免散热策略失效,导致服务器内部的器件损坏。
在一种可能的实现方式中,参见图6a,上述S301,包括以下步骤:
S501、获取多个温感器件的状态信息。
其中,基板管理控制器通过可编程逻辑器件获取多个温感器件的状态信息。该状态信息包括正常或异常。其中,状态信息为正常表示该温感器件处于正常状态,能够正常工作,状态信息为异常表示该温感器件处于异常状态,无法正常工作。
S502、将状态信息为异常的温感控件对应的测温点,确定为异常测温点。
本申请提供的方法通过实时获取多个温感器件的状态信息,在温感器件运行异常的情况下,立即将该温感器件对应的测温点确定为异常测温点,进而及时调整散热器件的功率,避免散热策略失效,导致服务器内部的器件损坏。
在一种可能的实现方式中,上述S301,包括以下步骤:在预设时长内,BMC通过多个温感器件获取服务器中的多个测温点的温度值。在多个测温点的温度值中存在异常温度值的情况下,BMC获取异常温度值的测温点对应的温感器件的状态信息,异常温度值为预设时长内未更新的温度值。在该温感器件的状态信息为异常的情况下,BMC将该异常温度值的测温点确定为异常测温点。。
示例性的,结合图5,由表1可知,处理器温度值在预设时长30分钟内未更新,因此处理器温度值为异常温度值,BMC获取位于第一测温点的温感器件的状态信息,当第一测温点的温感器件的状态信息为异常时,将第一测温点确定为异常测温点。
本申请提供的方法通过在多个测温点的温度值中存在异常温度值的情况下,获取该异常温度值对应的温感器件的状态信息,在温感器件运行异常的情况下,立即将该温感器件对应的测温点确定为异常测温点,进而及时调整散热器件的功率,避免散热策略失效,导致服务器内部的器件损坏。
在一种可能的实现方式中,参见图6b,上述S402,具体包括:
S601、在多个测温点的温度值中存在异常温度值的情况下,将散热器件的功率调整为预设功率。
其中,预设功率根据用户的实际散热需求设置,例如,预设功率可以为大于或小于散热器件的当前功率,预设功率还可以为散热器件的功率最大值。此处对预设功率的数值不作特别限制。
S602、获取调整功率后异常温度值对应的测温点的目标温度值。
S603、在上述目标温度值与异常温度值相同的情况下,将异常温度值对应的测温点确定为异常测温点。
可以理解的是,在散热器件的功率调整为预设功率后,在预设功率大于散热器件的当前功率的情况下,异常温度值对应的测温点的温度值由于散热器件的功率增加,进而散热能力提升,此时目标温度值应当小于上述的异常温度值。在预设功率小于散热器件的当前功率的情况下,异常温度值对应的测温点的温度值由于散热器件的功率降低,进而散热能力下降,此时异常温度值对应的测温点的温度值应当升高。因此,当调整后的BMC获取的目标温度值未发生变化,说明该测温点为异常测温点。
示例性的,结合图5,当BMC将处理器温度值确定为异常温度值时,此时散热器件的功率为20W,首先将散热器件的预设功率,在本示例中,预设功率为40W。当散热器件的功率调整为40W后,再次获取第一测温点的处理器温度值,该处理器温度值为60℃,结合表1,由于处理器温度值未发生任何变化,因此将第一测温点确定为异常测温点。
可选的,在上述目标温度值与异常温度值不同的情况下,此时异常温度值对应的测温点为正常测温点,BMC控制散热器件将功率恢复,应理解的是,功率恢复即为将散热器件的功率由预设功率调整至散热器件调整之前的功率。
本申请提供的方法通过将散热器件的功率调整为预设功率,然后根据再次获取异常测温点的温度值,对异常测温点进行再次验证。能够避免由于某个测温点的实际温度长期未变化,BMC将该测温点作为异常测温点,提升异常测温点判断的准确性,提升用户使用体验。
S302、根据第一预设对应关系预测异常测温点的实际温度值,第一预设对应关系为多个测温点的温度值之间的对应关系。
在一种可能的实现方式中,第一预设对应关系可以包括在服务器正常工作过程中,多个测温点在不同时刻的温度值组合。
需要说明的是,且在不同时刻,散热器件的功率可以相同,也可以不同。在任一时刻,由于多个测温点均位于服务器内部,因此,服务器中的多个测温点的温度值之间具有关联关系。进而,根据某个时刻多个测温点中除异常测温点外的测温点的温度值,可以预测异常测温点的实际温度值。
示例性,参见下述表2,表2为本申请实施例示出的一种第一预设对应关系表,包括服务器在正常工作过程中,不同时刻对应的多个温度值组合。
表2
| 时刻 |
处理器温度值(℃) |
进风口温度值(℃) |
出风口温度值(℃) |
| 1 |
45 |
40 |
65 |
| 2 |
48 |
42 |
67 |
| 3 |
52 |
45 |
71 |
| 4 |
55 |
48 |
74 |
结合表1,在第一测温点为异常测温点的情况下,表1中的处理器温度值为异常温度值,根据表2,在第二测温点的温度值为48℃,第三测温点的温度值为74℃的情况下。根据第一预设对应关系预测异常测温点的实际温度值为55℃。
在另一种可能的实现方式中,第一预设对应关系可以为服务器中的任意两个测温点的温度值之间预设的温度值换算公式,根据该温度值换算公式能够根据一个测温点的温度值,计算另一个测温点的温度值。可选的,该温度值换算公式基于操作人员的经验确定,预先存储在服务器中。
示例性,结合图5,第一预设对应关系包括第一测温点和第二测温点之间的温度值换算公式。该温度值换算公式为第一测温点的温度等于第二测温点的温度。结合表1,在第一测温点为异常测温点的情况下,表1中的处理器温度值为异常温度值,根据上述温度值换算公式,第一测温点的实际温度值等于第二测温点的温度值,第一测温点的实际温度值为48℃。
需要说明的是,以上对第一预设对应关系的示例仅是解释说明,第一预设对应关系还可以包括服务器中多个测温点的温度值之间的函数关系,此处对第一预设对应关系不作特别限制。
在一种可能的实现方式中,上述S301之前,还包括以下步骤:
根据散热器件以不同功率运行时多个测温点的温度值生成第一预设对应关系。
其中,BMC控制散热器件以不同功率运行,BMC通过温感器件多次获取不同时刻的多个测温点的温度值。BMC根据不同时刻的多个测温点的温度值生成第一预设对应关系。
需要说明的是,该第一预设对应关系可以为表格的形式,例如表2。也可以为函数关系的形式,例如,多个测温点之间的温度值换算公式。此处对第一预设对应关系的具体形式不作特别限制。
本申请提供的方法通过预先生成第一预设对应关系,能够根据从多个测温点获取的正常温度值和第一预设对应关系准确预测异常测温点的实际温度值,进而确定散热器件的目标功率,完成散热器件的功率调整。
S303、根据实际温度值确定散热器件的目标功率。
在一种可能的实现方式中,上述方法还包括:根据实际温度值、多个测温点中除异常测温点外的温度值和第二预设对应关系确定散热器件的目标功率,第二预设对应关系为多个测温点的温度值和散热器件的功率之间的对应关系。
本申请提供的方法通过第二预设对应关系,确定散热器件的目标功率,以使得散热器件以目标功率运行,满足服务器的散热需求。一方面,避免由于散热器件的功率过大,超出服务器的散热需求,导致能源的浪费。另一方面,避免散热器件以较大功率运行,产生噪音,影响用户使用体验的问题。
在一种可能的实现方式中,上述S303之前,还包括以下步骤:
根据散热器件以不同功率运行时多个测温点的温度值和散热器件对应的功率生成第二预设对应关系。
可选的,第二预设对应关系可以为服务器中任一测温点的温度值和散热器件功率之间的对应关系。示例性的,参见下述表3,表3为本申请实施例示出的一种第二预设对应关系表。结合表1以及表2,第一测温点的实际温度值为55℃。
表3
| 散热器件功率(W) |
处理器温度值(℃) |
| 5 |
T<10 |
| 10 |
10-40 |
| 20 |
40-80 |
| 40 |
T>80 |
这样,结合表1,确定处理器异常测温点,且根据S302预测到处理器的实际温度为55℃,结合表3示出的第二预设对应关系,将包括55℃的温度段40℃-80℃对应功率20W确定为散热器件目标功率。
可选的,第二预设对应关系可以包括服务器中多个测温点的温度值和散热器件功率之间的对应关系。
示例性的,参见下述表4,表4为本申请实施例示出的另一种第二预设对应关系表。根据表1,第一测温点的实际温度值为55℃,第二测温点的温度值为48℃,第三测温点的温度值为74℃。这样,结合表4所示的第二预设对应关系,确定散热器件的目标功率为30W。
表4
可选的,在测温点位于服务器中任一器件的表面情况下,第二预设对应关系可以为服务器中任一测温点的温度值和散热器件功率、器件型号之间的对应关系。
参见表5,表4为本申请实施例示出的另一种第二预设对应关系表。
表5
| 散热器件功率(W) |
处理器型号 |
处理器温度值(℃) |
| 5 |
A |
T<10 |
| 10 |
A |
10-40 |
| 20 |
A |
40-80 |
| 40 |
A |
T>80 |
| 10 |
B |
T<10 |
| 20 |
B |
10-40 |
| 30 |
B |
40-80 |
| 40 |
B |
T>80 |
这样,结合表1,确定处理器异常测温点,且根据S302预测到处理器的实际温度为55℃,处理器的型号为B,结合表5示出的第二预设对应关系,将包括55℃的温度段40℃-80℃,且处理器型号为B,对应的散热器件功率为30W,确定散热器件的目标功率为30W。
需要说明的是,器件型号可以为器件名称、器件编码或其他任一用于标识器件的信息,此处对器件型号的具体实现方式不作特别限制。
需要说明的是,散热器件还可以包括多个风扇,每个风扇分别对应一个测温点,第二预设对应关系还可以为每个测温点的温度值和该测温点对应的风扇之间的对应关系。根据异常测温点的实际温度值,即可确定该异常测温点对应的风扇的目标功率。此处对散热器件的具体结构不作特别限制。
本申请提供的方法通过预先确定的第二预设对应关系,能够根据异常测温点的实际温度值、以及从异常测温点外的其他测温点的温度值,确定散热器件的目标功率,以使得散热器件以目标功率运行。一方面,在满足服务器散热需求的同时,避免由于散热器件的功率过大,导致能源的浪费。另一方面,避免散热器件以较大功率运行,产生噪音,影响用户使用体验的问题。
S304、控制散热器件将功率调整为目标功率。
其中,BMC通过I2C、I3C或SGPIO等串行接口向散热器件发送控制信号。其中,控制信号可以为PWM信号,该PWM信号用于控制散热器件,以将散热器件的功率调整为目标功率。
由上述S301-S304可知,本申请提供的方法在服务器中的多个测温点中存在异常测温点的情况下,通过第一预设对应关系,预测异常测温点的实际温度值,并根据该实际温度值控制散热器件将功率调整为目标功率,能够避免服务器的散热策略失效,进而避免服务器内部的器件损坏。并且,控制散热器件以目标功率运行,能够在满足服务器散热需求的同时,降低能耗,节约资源。同时,还能减少服务器工作过程中产生的噪音,提升用户的使用体验。
在一种可能的实现方式中,在S304之后,在异常测温点故障排除的情况下,获取多个测温点的温度值。并且基于多个测温点的温度值,调整散热器件的功率。
这样一来,当异常测温点的故障排除后,BMC根据多个测温点的温度值对散热器件的功率进行调整。提供了更加灵活的散热调整策略,能够降低服务器的能耗,进而节约能源。
上述主要从方法的角度对本申请实施例的方案进行了介绍。可以理解的是,散热控制装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和软件模块中的至少一个。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对散热控制装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
示例性的,图7示出了本申请实施例提供的一种散热控制装置的结构框图。该装置包括第一确定单元710、温度预测单元720、第二确定单元730和功率调整单元740。第一确定单元710,用于从计算设备中的多个测温点中确定异常测温点,异常测温点的温度值在预设时长内未更新。温度预测单元720,用于根据第一预设对应关系预测异常测温点的实际温度值,第一预设对应关系为多个测温点的温度值之间的对应关系。第二确定单元730,用于根据实际温度值确定散热器件的目标功率。功率调整单元740,用于控制散热器件将功率调整为目标功率。例如,结合图3,第一确定单元710可以用于执行如图3所示的S301,温度预测单元720可以用于执行如图3所示的S302,第二确定单元730可以用于执行如图3所示的S303,功率调整单元740可以用于执行如图3所示的S304。
可选的,在从计算设备中的多个测温点中确定异常测温点之前,第一确定单元710还用于根据散热器件以不同功率运行时多个测温点的温度值生成第一预设对应关系。
可选的,第二确定单元730,具体用于根据实际温度值、多个测温点中除异常测温点外的温度值和第二预设对应关系确定散热器件的目标功率,第二预设对应关系为多个测温点的温度值和散热器件的功率之间的对应关系。
可选的,在根据实际温度值确定散热器件的目标功率之前,第一确定单元710还用于根据散热器件以不同功率运行时多个测温点的温度值和对应的散热器件的功率生成第二预设对应关系。
可选的,计算设备还包括多个温感器件,多个温感器件分别设置在多个测温点,温感器件用于检测测温点的温度值,第一确定单元710,具体用于在预设时长内,多次通过多个温感器件获取计算设备中的多个测温点的温度值;在多个测温点的温度值中存在异常温度值的情况下,将异常温度值对应的测温点确定为异常测温点,异常温度值为预设时长内未更新的温度值。例如,结合图4,第一确定单元710可以用于执行如图4所示的S401-S402。
可选的,第一确定单元710,具体用于在多个测温点的温度值中存在异常温度值的情况下,将散热器件的功率调整为预设功率。获取调整功率后异常温度值对应的测温点的目标温度值。在目标温度值与异常温度值相同的情况下,将异常温度值对应的测温点确定为异常测温点。例如,结合图6b,第一确定单元710可以用于执行如图6b所示的S601-S603。
可选的,计算设备还包括多个温感器件,多个温感器件分别设置在多个测温点,温感器件用于检测测温点的温度值。第一确定单元710还用于获取多个温感器件的状态信息,状态信息包括运行正常或运行异常;在多个温感控件的状态信息存在运行异常的情况下,将状态信息为运行异常的温感控件对应的测温点,确定为异常测温点。例如,结合图6a,第一确定单元710可以用于执行如图6a所示的S501-S502。
作为示例,结合图1或图2,上述装置中的第一确定单元710、温度预测单元720、第二确定单元730和功率调整单元740中的部分或全部实现的功能可以通过图1或图2中的基板管理控制器130执行图1或图2中的存储器120中的程序代码实现。
关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种散热控制装置的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
本申请实施例还提供了一种计算设备,包括基板管理控制器BMC和存储器,基板管理控制器BMC与存储器连接;存储器用于存储计算机执行指令,基板管理控制器BMC执行存储器存储的计算机执行指令,从而实现如上各个实施例的方法。关于上述提供的任一种计算设备中相关内容的解释及有益效果的描述,均可以参考上述对应的实施例,此处不再赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机指令,该至少一条计算机指令由处理器加载并执行以实现如上各个实施例的方法。关于上述提供的任一种计算机可读存储介质中相关内容的解释及有益效果的描述,均可以参考上述对应的实施例,此处不再赘述。
本申请实施例还提供了一种芯片。该芯片中集成了用于实现上述故障注入散热控制装置的功能的控制电路和一个或者多个端口。可选的,该芯片支持的功能可以参考上文,此处不再赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可通过程序来指令相关的硬件完成。的程序可以存储于一种计算机可读存储介质中。上述提到的存储介质可以是只读存储器,随机接入存储器等。上述处理单元或处理器可以是中央处理器,通用处理器、特定电路结构(application specific integrated circuit,ASIC)、微处理器(digital signal processor,DSP),现场可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
本申请实施例还提供了一种包含指令的计算机程序产品,当该指令在计算机上运行时,使得计算机执行上述实施例中的任意一种方法。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD),或者半导体介质(例如SSD)等。
应注意,本申请实施例提供的上述用于存储计算机指令或者计算机程序的器件,例如但不限于,上述存储器、计算机可读存储介质和通信芯片等,均具有非易失性(non-transitory)。本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读存储介质中或者作为计算机可读存储介质上的一个或多个指令或代码进行传输。计算机可读存储介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。