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

一种风扇控制方法、装置、设备及存储介质与流程

2022-03-05 03:21:01 来源:中国专利 TAG:


1.本技术涉及电子技术领域,提供一种风扇控制方法、装置、设备及存储介质。


背景技术:

2.众所周知,在大型机箱式通信设备中,风扇是一个非常重要的部件,由于大型机箱式通信设备工作时间较长,容易发热,因此,风扇部件需要常年运转,从而缩短了风扇寿命,其中,由于风扇转速容易导致风扇轴承产生不同程度的磨损,所以,风扇转速成为了影响风扇寿命的关键因素之一。而风扇在长期运转时,风扇转速的大小对机箱设备的快速散热、整机的噪声、功耗以及风扇寿命都有着重大影响。
3.在现有技术中,常采用将机箱设备内的所有风扇调整为同一转速的方式,或者,对机箱设备内各个风扇转速进行分区独立调整的方式,来对机箱设备内的各个风扇的转速进行控制。但是,在采用调整为同一转速的方式时,由于机箱设备中的不同业务板卡的处理能力不同,因此,不同业务板卡的发热量也可能不一致,所以,可能会存在部分业务板卡温度比较高,需要提高风扇转速来加强散热,而其他业务板卡却不需要加强散热的情况,进而导致风扇转速调整严重缺乏灵活性、且增大了功耗与噪声。而在采用分区独立调整的方式时,由于不同类型的芯片的散热需求不同,因此,还是会出现不需要加强散热却被加强散热的情况,使得风扇转速调整灵活性仍然有待提高,且所采用的调速方法也不够灵活,没法做到对散热点更加快速进行响应。


技术实现要素:

4.本技术实施例提供一种风扇控制方法、装置、设备及存储介质,用于精准控制机箱设备中各个子风扇的转速,以快速对各类芯片进行散热响应。
5.一方面,提供一种风扇控制方法,应用于包括至少一组风扇盘的机箱设备中,各个风扇盘包括至少一个子风扇,所述方法包括:
6.确定各个子风扇对应的各类芯片的温度值;
7.根据各类芯片各自对应的转速算法以及各个子风扇对应的各类芯片的温度值,计算各个子风扇对应的各类芯片的第一转速;
8.根据各个子风扇对应的各类芯片的第一转速确定各个子风扇的目标转速;
9.根据各个子风扇的目标转速调整对应的子风扇的转速。
10.在一种可能的实现方式中,所述根据各类芯片各自对应的转速算法以及各个子风扇对应的各类芯片的温度值,计算各个子风扇对应的各类芯片的第一转速,包括:
11.针对每个子风扇对应的每类芯片,执行:
12.确定当前类芯片的散热点温度,各类芯片对应不同的散热点温度;
13.根据所述当前类芯片的散热点温度以及各类芯片各自对应的转速算法对应的温度响应范围,从各个转速算法中确定所述当前类芯片对应的转速算法;
14.根据所述当前类芯片对应的转速算法获取所述当前类芯片对应的转速算法的计
算参数;
15.根据所述当前类芯片对应的转速算法的计算参数以及所述当前类芯片对应的温度值计算所述当前类芯片的第一转速。
16.在一种可能的实现方式中,所述根据各个子风扇对应的各类芯片的第一转速确定各个子风扇的目标转速,包括:
17.针对各个子风扇,执行:
18.根据当前子风扇对应的各类芯片的第一转速以及所述当前子风扇对应的各类芯片的权重;
19.通过加权和的方式确定所述当前子风扇的目标转速。
20.在一种可能的实现方式中,所述确定各个子风扇对应的各类芯片的温度值,包括:
21.获取所述机箱设备中各个芯片的当前实际温度值;
22.根据各个芯片与各个子风扇之间的映射关系以及各个芯片的当前实际温度值,确定各个子风扇对应的各类芯片的温度值。
23.在一种可能的实现方式中,所述根据各个芯片与各个子风扇之间的映射关系以及所述各个芯片的当前实际温度值,确定各个子风扇对应的各类芯片的温度值,包括:
24.针对每个子风扇对应的每类芯片,执行:
25.根据各个芯片与各个子风扇之间的映射关系,确定当前子风扇对应的至少一个第一芯片,并从所述至少一个第一芯片中确定所述当前子风扇对应的当前类芯片的至少一个第二芯片;
26.确定所述至少一个第二芯片的当前实际温度值中的最高值;
27.确定所述最高值是否大于所述当前子风扇的历史最高温度值;
28.若确定所述最高值大于所述历史最高温度值,则将所述最高值确定为所述当前子风扇对应的当前类芯片的温度值。
29.在一种可能的实现方式中,所述获取所述机箱设备中各个芯片的当前实际温度值,包括:
30.获取所述机箱设备中各个业务板卡的槽位号以及每个业务板卡上的各个芯片的芯片序号;
31.周期性获取各个槽位号对应的业务板卡上的各个芯片序号对应的芯片的当前实际温度值。
32.在一种可能的实现方式中,所述根据各个子风扇的目标转速调整对应的子风扇的转速,包括:
33.针对各个子风扇,执行:
34.确定当前子风扇的目标转速是否大于所述当前子风扇的当前实际转速值;
35.若确定所述当前子风扇的目标转速大于所述当前子风扇的当前实际转速值,则将所述当前子风扇的当前实际转速值调高;
36.若确定所述当前子风扇的目标转速小于所述当前子风扇的当前实际转速值,则将所述当前子风扇的当前实际转速值调整为所述目标转速。
37.一方面,提供一种风扇控制装置,应用于包括至少一组风扇盘的机箱设备中,各个风扇盘包括至少一个子风扇,所述装置包括:
38.温度确定单元,用于确定各个子风扇对应的各类芯片的温度值;
39.第一转速确定单元,用于根据各类芯片各自对应的转速算法以及各个子风扇对应的各类芯片的温度值,计算各个子风扇对应的各类芯片的第一转速;
40.目标转速确定单元,用于根据各个子风扇对应的各类芯片的第一转速确定各个子风扇的目标转速;
41.调速控制单元,用于根据各个子风扇的目标转速调整对应的子风扇的转速。
42.在一种可能的实现方式中,所述第一转速确定单元,具体用于:
43.针对每个子风扇对应的每类芯片,执行:
44.确定当前类芯片的散热点温度,各类芯片对应不同的散热点温度;
45.根据所述当前类芯片的散热点温度以及各类芯片各自对应的转速算法对应的温度响应范围,从各个转速算法中确定所述当前类芯片对应的转速算法;
46.根据所述当前类芯片对应的转速算法获取所述当前类芯片对应的转速算法的计算参数;
47.根据所述当前类芯片对应的转速算法的计算参数以及所述当前类芯片对应的温度值计算所述当前类芯片的第一转速。
48.在一种可能的实现方式中,所述目标转速确定单元,具体用于:
49.针对各个子风扇,执行:
50.根据当前子风扇对应的各类芯片的第一转速以及所述当前子风扇对应的各类芯片的权重;
51.通过加权和的方式确定所述当前子风扇的目标转速。
52.在一种可能的实现方式中,所述温度确定单元,具体用于:
53.获取所述机箱设备中各个芯片的当前实际温度值;
54.根据各个芯片与各个子风扇之间的映射关系以及各个芯片的当前实际温度值,确定各个子风扇对应的各类芯片的温度值。
55.在一种可能的实现方式中,所述温度确定单元,具体用于:
56.针对每个子风扇对应的每类芯片,执行:
57.根据各个芯片与各个子风扇之间的映射关系,确定当前子风扇对应的至少一个第一芯片,并从所述至少一个第一芯片中确定所述当前子风扇对应的当前类芯片的至少一个第二芯片;
58.确定所述至少一个第二芯片的当前实际温度值中的最高值;
59.确定所述最高值是否大于所述当前子风扇的历史最高温度值;
60.若确定所述最高值大于所述历史最高温度值,则将所述最高值确定为所述当前子风扇对应的当前类芯片的温度值。
61.在一种可能的实现方式中,所述温度确定单元,具体用于:
62.获取所述机箱设备中各个业务板卡的槽位号以及每个业务板卡上的各个芯片的芯片序号;
63.周期性获取各个槽位号对应的业务板卡上的各个芯片序号对应的芯片的当前实际温度值。
64.在一种可能的实现方式中,所述调速控制单元,具体还用于:
65.针对各个子风扇,执行:
66.确定当前子风扇的目标转速是否大于所述当前子风扇的当前实际转速值;
67.若确定所述当前子风扇的目标转速大于所述当前子风扇的当前实际转速值,则将所述当前子风扇的当前实际转速值调高;
68.若确定所述当前子风扇的目标转速小于所述当前子风扇的当前实际转速值,则将所述当前子风扇的当前实际转速值调整为所述目标转速。
69.一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方面所述的方法的步骤。
70.一方面,提供一种计算机存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述方面所述的方法的步骤。
71.本技术实施例中,在对机箱设备中的至少一组风扇盘上的至少一个子风扇进行转速控制时,首先,可以确定各个子风扇对应的各类芯片的温度值,然后,根据各类芯片各自对应的转速算法以及各个子风扇对应的各类芯片的温度值,可以计算各个子风扇对应的各类芯片的第一转速,进而,可以根据各个子风扇对应的各类芯片的第一转速确定各个子风扇的目标转速,从而,根据各个子风扇的目标转速调整对应的子风扇的转速。可见,在本技术实施例中,由于给不同类型的芯片配置了不同的转速算法,综合考虑了子风扇对应的各类芯片进行散热时所需的转速,因此,可以更精确的满足各类芯片的散热需求,使得在芯片温度较高时,可以更加快速、更加精准的控制子风扇的转速来进行散热,在芯片温度较低时,又可以尽可能的节能降噪音。
附图说明
72.为了更清楚地说明本技术实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
73.图1为本技术实施例提供的机箱设备的一种示意图;
74.图2为本技术实施例提供的一种应用场景示意图;
75.图3为本技术实施例提供的风扇控制方法的一种流程示意图;
76.图4为本技术实施例提供的子风扇与各个芯片之间对应关系的一种示意图;
77.图5为本技术实施例提供的确定第一转速的流程示意图;
78.图6为本技术实施例提供的确定各类芯片的温度值的流程示意图;
79.图7为本技术实施例提供的获取各个芯片的当前实际温度值的流程示意图;
80.图8为根据冒泡法确定各类芯片的温度值的流程示意图;
81.图9为本技术实施例提供的风扇控制装置的一种结构示意图;
82.图10为本技术实施例提供的计算机设备的一种结构示意图。
具体实施方式
83.为使本技术的目的、技术方案和优点更加清楚明白,下面将结合本技术实施例中
的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
84.如图1所示,为本技术实施例提供的机箱设备的一种示意图,在该机箱设备中,包括有多个业务板卡,根据用户需求,这些业务板卡可以为相同的业务板卡,也可以为不同的业务板卡,在每个业务板卡上,可以包含多个芯片,同样的,根据用户需求,这些芯片可以为相同类型的芯片,也可以为不同类型的芯片。此外,该机箱设备内还包含多组风扇盘,在每一组风扇盘上可以包含多个子风扇。在实际应用时,该机箱设备可以为交换机、路由器等大型机箱式网络通信设备。
85.在通常情况下,对于大型机箱式通信设备来说,一般会要求支持多种不同的业务板卡,而每种业务板卡上会有多个不同类型的芯片,不同类型的芯片不仅发热量不相同,而且散热需求也不相同。但是,在现有技术中,常采用将机箱设备内的所有风扇调整为同一转速的方式,或者,对机箱设备内各个风扇转速进行分区独立调整的方式,来对机箱设备内的各个风扇的转速进行控制。在采用调整为同一转速的方式时,由于机箱设备中的不同业务板卡的处理能力不同,因此,不同业务板卡的发热量也可能不一致,所以,可能会存在部分业务板卡的温度比较高,需要提高风扇转速来加强散热,而其他业务板卡却不需要加强散热的情况,进而导致风扇转速调整严重缺乏灵活性、且增大了功耗与噪声。而在采用分区独立调整的方式时,由于不同类型的芯片的散热需求不同,因此,还是会出现不需要加强散热却被加强散热的情况,使得风扇转速调整灵活性仍然有待提高,且所采用的调速方法也不够灵活,没法做到对散热点更加快速进行响应。
86.基于此,本技术实施例提供一种风扇控制方法,在该方法中,在对机箱设备中的至少一组风扇盘上的至少一个子风扇进行转速控制时,首先,可以确定各个子风扇对应的各类芯片的温度值,然后,根据各类芯片各自对应的转速算法以及各个子风扇对应的各类芯片的温度值,可以计算各个子风扇对应的各类芯片的第一转速,进而,可以根据各个子风扇对应的各类芯片的第一转速确定各个子风扇的目标转速,从而,根据各个子风扇的目标转速调整对应的子风扇的转速。可见,在本技术实施例中,由于给不同类型的芯片配置了不同的转速算法,综合考虑了子风扇对应的各类芯片进行散热时所需的转速,因此,可以更精确的满足各类芯片的散热需求,使得在芯片温度较高时,可以更加快速、更加精准的控制子风扇的转速来进行散热,在芯片温度较低时,又可以尽可能的节能降噪音。
87.在介绍完本技术实施例的设计思想之后,下面对本技术实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本技术实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本技术实施例提供的技术方案。
88.如图2所示,为本技术实施例提供的一种应用场景示意图,其中,该风扇控制的应用场景可以包括风扇控制装置20和风扇21。其中,该风扇控制装置20和风扇21可以被设置于机箱设备中。
89.在本技术实施例中,风扇控制装置20可以为具有一定处理能力的装置,例如,可以为采用了现场可编程门阵列(field programmable gate array,fpga)芯片为控制器的装置等。具体的,该风扇控制装置20可以包括一个或多个处理单元201、存储器202以及与其他设备交互的i/o接口203等。此外,风扇控制装置20还可以配置数据库204,数据库204可以用于存储本技术实施例提供的方案中涉及到的风扇转速、芯片温度、转速算法的参数等数据。其中,风扇控制装置20的存储器202中可以存储本技术实施例提供的风扇控制方法的程序指令,这些程序指令被处理单元201执行时能够用以实现本技术实施例提供的风扇控制方法的步骤,以精准控制风扇转速来对机箱设备中的芯片进行散热。
90.在本技术实施例中,为了快速对芯片进行散热响应,可以实时地检测机箱设备中各个芯片的温度,因而,可以实时地调用存储器202中存储的风扇控制方法的程序指令,并通过处理单元201来执行这些程序指令,来计算出机箱设备中各个风扇21对应的目标转速,从而,基于计算出的目标转速,通过i/o接口203对相应风扇21进行调速控制,从而实现精准控制机箱设备中各个子风扇的转速,以快速对各类芯片进行散热响应的目的。
91.当然,本技术实施例提供的方法并不限用于图2所示的应用场景中,还可以用于其他可能的应用场景,本技术实施例并不进行限制。对于图2所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。下面,将结合附图对本技术实施例的方法进行介绍。
92.如图3所示,为本技术实施例提供的风扇控制方法的一种流程示意图,该方法可以通过图2中的风扇控制装置20来执行,该方法的流程介绍如下。
93.步骤301:确定各个子风扇对应的各类芯片的温度值。
94.在本技术实施例中,一个子风扇可以对应一个或者多个芯片,且这些芯片可以属于一种或者多种芯片类型。如图4所示,为本技术实施例提供的子风扇与各个芯片之间对应关系的一种示意图,子风扇0可以对芯片n1~ni进行散热,其中,芯片n1和n2为a类芯片,
……
,芯片n(i-1)~ni为b类芯片;子风扇1可以对芯片m1~mi进行散热,其中,芯片m1和m2为c类芯片,
……
,芯片m(i-1)~mi为d类芯片;
……
;子风扇m可以对芯片x1~xi进行散热,其中,芯片x1和x2为e类芯片,
……
,芯片x(i-1)~xi为f类芯片。
95.在实际应用时,在对机箱设备中的各个芯片进行散热之前,需要了解各个芯片是否达到需要散热的情况时,因此,在进行散热之前,需要检测各个芯片对应的温度值。在本技术实施中,为了快速对芯片进行散热响应,可以采用实时检测的方式,来检测机箱设备中各个芯片的温度值。
96.在本技术实施中,可以设置子风扇对应的各类芯片的温度值为该类芯片对应的多个温度值的平均值或者最大值等等,进而,在检测出机箱设备中各个芯片的温度值之后,便可以根据各类芯片对应的多个温度值,确定出相应子风扇对应的各类芯片的温度值了。
97.步骤302:根据各类芯片各自对应的转速算法以及各个子风扇对应的各类芯片的温度值,计算各个子风扇对应的各类芯片的第一转速。
98.在本技术实施例中,转速算法的自变量可以为芯片的温度值,因变量可以为子风扇的第一转速。
99.在实际应用时,由于不同类型的芯片的温度特性不同,其散热需求可能不同,因此,导致其温度响应范围的也可能不同,例如,交换芯片的温度值可以在达到80℃时,才增
大相应子风扇转速来进行散热,而光模块则在60℃时,就需要增大相应子风扇转速来进行散热,以免温度过高,烧毁光模块。因此,为了精准的对机箱设备中的芯片进行散热,在本技术实施例中,为不同类型的芯片设置了对应的转速算法。
100.其中,各类芯片对应的转速算法所采用的函数表达式,根据算法的不同,类型也不一样。例如,可以采用如下所示的函数表达式进行表示:
101.f(s)=a*(s^2) b*(s) c
102.其中,s为相应类芯片的温度值,f(s)表示该类芯片的第一转速值,a、b、c为该转速算法的计算参数。在实际应用时,根据不同类芯片可以将上述函数表达式中的a、b、c设置为不同的参数值,如表1所示,为本技术实施例提供的各类芯片对应的不同计算参数示意表,从而,满足各类芯片对响应温度,以及响应时间的需求。
[0103] 参数a参数b
……
参数ca类芯片参数a1参数b1
……
参数c1b类芯片参数a2参数b2
……
参数c2
…………………………
z类芯片参数a3参数b3
……
参数c3
[0104]
表1
[0105]
例如,针对a类芯片来说,假设a=1,b=2,c=3,那么,a类芯片所对应的转速算法的函数表达式可以为f(s)=1*(s^2) 2*(s) 3。针对b类芯片来说,假设a=4,b=5,c=6,那么,b类芯片所对应的转速算法的函数表达式可以为f(s)=4*(s^2) 5*(s) 6。当然,也可以采用其他的转速算法来计算各个子风扇的转速,例如,可以采用比例积分微分(proportional integral derivative,pid)算法来计算各个子风扇的转速,这里就不一一举例,其本质均为温度与转速之间的关系。
[0106]
进而,在根据芯片类型确定出该类芯片对应的转速算法之后,可以将该类芯片的温度值,带入该类芯片对应的转速算法中进行计算,从而确定出该类芯片对应的第一转速,如表2所示,为本技术实施例提供的各个子风扇各自对应的各类芯片的第一转速示意表。
[0107][0108]
表2
[0109]
步骤303:根据各个子风扇对应的各类芯片的第一转速确定各个子风扇的目标转
速。
[0110]
在实际应用时,如图4所示,由于一个子风扇可以对应一个或者多个芯片,且这些芯片可以属于一种或者多种芯片类型。因此,在计算出各类芯片对应的第一转速之后,就有可能会出现一个子风扇对应多个第一转速的情况,如上表2所示,例如,子风扇0就可能对应有a类芯片第一转速、b类芯片第一转速、
……
、z类芯片第一转速等。因此,在本技术实施例中,可以根据各个子风扇对应的各类芯片的第一转速,以及各类芯片各自对应的权重,通过加权和的方式,来确定出各个子风扇的目标转速。例如,对于子风扇0来说,其对应的目标转速可以为:
[0111]
目标转速n=a类芯片的第一转速*权重a b类芯片的第一转速*权重b

z类芯片的第一转速*权重z
[0112]
其中,权重a、b、
……
z可以是根据用户需求进行确定的。当然,为了计算方便,也可以将权重a、b、
……
z设置为相同的参数值。
[0113]
步骤304:根据各个子风扇的目标转速调整对应的子风扇的转速。
[0114]
在实际应用时,可以采用无级调速的方式对子风扇进行调速控制,但是,由于无级调速会瞬间增大电流,进而对电源产生影响,所以,在本技术实施例中,为了尽量降低对电源的影响,因此,转速增大过程可以采用逐级调整的方式进行转速调整,且在每个调整周期内,风扇转速可以设置为仅上调一级的形式,而转速减小过程可以采用支持骤降的方式进行转速调整,即,可以直接跳变到小的转速值。
[0115]
具体的,首先,在确实出各个子风扇的目标转速之后,可以根据各个子风扇的编号确定出相应子风扇的当前实际转速值,进而,可以对子风扇的目标转速与该子风扇的当前实际转速值进行比较,并在确定该子风扇的目标转速大于当前实际转速值时,可以将该子风扇的当前实际转速值调高,例如,可以将该子风扇的当前实际转速值增加一级,而在确定该子风扇的目标转速小于当前实际转速值时,可以将该子风扇的当前实际转速值调整为目标转速,例如,可以直接采用骤降的方式将该子风扇的当前实际转速值直接调整更新为目标转速。当然,若是该子风扇的目标转速等于当前实际转速值,那么,则保持该子风扇的当前实际转速值不变。
[0116]
在一种可能的实施方式中,如图5所示,为本技术实施例提供的确定第一转速的流程示意图,具体可以通过图2中的风扇控制转置20来执行,由于确定各个子风扇对应的各类芯片的第一转速的过程相同,因此,下面以子风扇0对应的各类芯片中的a类芯片的第一转速确定过程为例进行介绍,具体流程过程如下。
[0117]
步骤501:确定a类芯片的散热点温度。
[0118]
在本技术实施中,由于各类芯片可以对应不同的散热点温度,例如,交换芯片的散热点温度可以为80℃,即,交换芯片的实际温度值达到80℃时,就需要进行散热,以免对该交换芯片的工作产生影响。同理,光模块的散热点温度可以为60℃。因此,在确定了子风扇0对应的各类芯片之后,便可以确定出各类芯片中的a类芯片的散热点温度了。
[0119]
步骤502:根据a类芯片的散热点温度以及各类芯片各自对应的转速算法对应的温度响应范围,从各个转速算法中确定a类芯片对应的转速算法。
[0120]
在实际应用时,由于不同的转速算法具有不同的温度响应范围,例如,转速算法1为f(s)=1*(s^2) 2*(s) 3,其温度响应范围为50℃~65℃,转速算法2为f(s)=4*(s^2)
5*(s) 6,其温度响应范围为70℃~85℃,由于光模块的散热点温度为60℃,其恰好位于转速算法1的温度响应范围内,因此,对于光模块来说,在采用转速算法1时,能够快速进行响应,即,光模块适合采用转速算法1来确定第一转速。同理,交换芯片适合采用转速算法2来确定第一转速。
[0121]
因此,在确定a类芯片的散热点温度之后,根据各个转速算法对应的温度响应范围,以及a类芯片的散热点温度,可以从各个转速算法中,确定出a类芯片对应的转速算法,即,确定出a类芯片的散热点温度位于其温度响应范围内的转速算法。
[0122]
步骤503:根据a类芯片对应的转速算法获取a类芯片对应的转速算法的计算参数。
[0123]
在实际应用时,在确定a类芯片对应的转速算法之后,例如,在确定a类芯片对应的转速算法f(s)=a*(s^2) b*(s) c为转速算法1时,为了计算a类芯片对应的第一转速,就需要从参数存放单元中获取该转速算法1对应的计算参数a、b、c的具体数值,例如,需要获取转速算法1对应的计算参数a=1、b=2和c=3。
[0124]
步骤504:根据a类芯片对应的转速算法的计算参数以及a类芯片对应的温度值计算a类芯片的第一转速。
[0125]
在实际应用时,在从参数存放单元中获取转速算法对应的计算参数之后,可以将a类芯片对应的温度值带入a类芯片对应的转速算法中进行计算,以获得a类芯片对应的第一转速。例如,a类芯片对应的转速算法1的计算参数为a=1、b=2和c=3,那么转速算法1为:f(s)=1*(s^2) 2*(s) 3,假设a类芯片对应的温度值为60℃,那么,该a类芯片对应的第一转速可以为f(60)=1*(60^2) 2*(60) 3=3723圈/分。
[0126]
在一种可能的实施方式中,如图6所示,为本技术实施例提供的确定各类芯片的温度值的流程示意图,具体可以通过图2中的风扇控制装置20来执行,具体流程过程如下。
[0127]
步骤601:获取机箱设备中各个芯片的当前实际温度值。
[0128]
在本技术实施例中,可以采用基于fpga来对业务板卡上的各个芯片进行轮询的方式,来确定各个芯片的当前实际温度值。该轮询周期可以是1s、2s等,具体可以根据用户需求进行设置。
[0129]
在本技术实施例中,可以采用动态的方式来建立各个芯片与子风扇之间的映射关系,该映射关系具体可以采用映射表的形式进行表示,即芯片-子风扇关系映射表。该芯片-子风扇关系映射表可以由cpu来获取各个业务板卡的信息之后,写入fpga来进行建立,也可以通过fpga直接访问各个业务板卡内的相关存储模块获取信息来直接建立。例如,在具体进行动态建立时,可以通过周期性查询的方式,来查询是否有新的业务板卡插入机箱设备,在确定有新的业务板卡插入时,则会读取该新的业务板卡上各个芯片与子风扇之间的映射关系,进而,将该映射关系倒入到芯片-子风扇关系映射表中,从而实现业务板卡上各个芯片与子风扇之间的映射关系动态更新。当然,在某一业务板卡被拔走之后,该业务板卡上的各个芯片的相关映射信息也会从芯片-子风扇关系映射表中动态删除。
[0130]
具体的,在该温度轮询过程中,首先,可以通过查询芯片-子风扇关系映射表来确定机箱设备中各个业务板卡的槽位号,以及每个业务板卡上的各个芯片的芯片序号,然后,根据机箱设备中各个业务板卡的槽位号,周期性的获取各个槽位号对应的业务板卡上的各个芯片的当前实际温度值。其中,针对各个业务板卡中的一个业务板卡,可以根据一个业务板卡上的各个芯片的芯片序号,周期性的获取各个芯片序号对应的芯片的当前实际温度
值。
[0131]
例如,如图7所示,为本技术实施例提供的获取各个芯片的当前实际温度值的流程示意图,轮询顺序按照各个业务板卡的槽位号(0,1,
……
,m)进行,从第一个槽位轮询到最后一个槽位。每个槽位内的各个芯片则根据序号(1,2,
……
,i)进行轮询。其中,用于获取各个芯片温度的芯片温度获取单元可以包括总线控制器和温度读取控制器。
[0132]
在实际应用时,总线控制器可以根据各个芯片的温度传感器接口协议来控制总线时序,进而根据获取到的槽位号和芯片序号(即,各芯片的器件地址)完成读取温度的操作,并将读回的温度值返回给温度读取控制器。其中,温度传感器的接口协议可以是i2c,local bus,spi等,具体可以由各个芯片类型进行决定。
[0133]
温度读取控制器主要完成对机箱设备内所有业务板卡的各类芯片的温度读取控制。在每个轮询周期内,完成槽位号轮询控制和芯片序号轮询控制。在轮询操作开始时,首先将所选的槽位号和芯片序号提交给总线控制器,待总线控制器返回温度值后,则将该温度值以及槽位号和芯片序号一起提交给芯片最高温度获取单元。同时,将下一个芯片的序号和槽位号提交给总线控制器,并等待温度读回结果,直到所有槽位的所有芯片都读取完毕,则结束该轮询周期操作。
[0134]
步骤602:根据各个芯片与各个子风扇之间的映射关系以及各个芯片的当前实际温度值,确定任一子风扇对应的各类芯片的温度值。
[0135]
在本技术实施中,在获取到机箱设备中各个芯片的当前实际温度值之后,如图4所示,由于一个子风扇可以对应至少一个芯片,且至少一个芯片属于至少一种芯片类别,可以某类芯片对应的多个温度值的平均值或者最大值确定为该类芯片的温度值。
[0136]
在实际应用时,可以将某类芯片对应的多个温度值的最大值确定为该类芯片的温度值,具体可以采用冒泡法来确定各个子风扇对应的各类芯片的温度值。如图8所示,为本技术实施例提供的根据冒泡法确定各类芯片的温度值的流程示意图,具体可以通过图2中的风扇控制装置20来执行,由于确定各个子风扇对应的各类芯片的温度值的过程相同,因此,下面以子风扇0对应的各类芯片中的a类芯片的温度值确定过程为例进行介绍,具体流程过程如下。
[0137]
步骤801:根据各个芯片与各个子风扇之间的映射关系,确定子风扇0对应的至少一个第一芯片,并从至少一个第一芯片中确定子风扇0对应的a类芯片的至少一个第二芯片。
[0138]
在本技术实施例中,例如,根据如图4所示的各个芯片与各个子风扇之间的映射关系可知,子风扇0可以对芯片n1~ni进行散热,其中,芯片n1和n2为a类芯片,
……
,芯片n(i-1)~ni为b类芯片。
[0139]
步骤802:确定至少一个第二芯片的当前实际温度值中的最高值。
[0140]
在本技术实施例中,如图4所示,针对子风扇0对应的a类芯片来说,该a类芯片包含芯片n1和n2。其中,芯片n1的当前实际温度值为59℃,芯片n2的当前实际温度值为64℃,那么,可知a类芯片对应的众多当前实际温度值中的最高值为64℃。
[0141]
步骤803:确定最高值是否大于子风扇0的历史最高温度值。
[0142]
步骤804:若确定最高值大于历史最高温度值,则将最高值确定为子风扇0对应的a类芯片的温度值。
[0143]
在本技术实施例中,假设子风扇0对应的a类芯片的历史最高温度值为60℃,那么,在a类芯片对应的众多当前实际温度值中的最高值为64℃时,可以确定出a类芯片的最高值大于历史最高温度值,那么此时,可以将最高值64℃确定为子风扇0对应的a类芯片的温度值。即,对子风扇0对应的a类芯片的温度值进行更新。
[0144]
当然,也可以在获取了芯片n1的当前实际温度值之后,先芯片n1的当前实际温度值与a类芯片的历史最高温度值进行比较,在确定芯片n1的当前实际温度值大于a类芯片的历史最高温度值时,则将a类芯片的温度值更新为该芯片n1的当前实际温度值,否则,则保持a类芯片的温度值为a类芯片的历史最高温度值。然后,再获取芯片n2的当前实际温度值,若是,芯片n2的当前实际温度值大于当前a类芯片的温度值,那么,则将a类芯片的温度值更新为该芯片n2的当前实际温度值,否则,则保持a类芯片的温度值不变,即,a类芯片的温度值,始终为a类芯片对应的众多当前实际温度值中的最高值。进而,假设a类芯片的历史最高温度值为60℃,芯片n1的当前实际温度值为59℃,芯片n2的当前实际温度值为64℃时,那么,可以得出子风扇0对应的a类芯片的温度值为64℃。
[0145]
进而,重复上述步骤801-804,便可以确定出各个子风扇各自对应的各类芯片的温度值了,如表3所示,为本技术实施例提供的各个子风扇各自对应的各类芯片的温度值示意表。
[0146] 子风扇0子风扇1
……
子风扇ma类芯片a类芯片的温度值a类芯片的温度值
……
a类芯片的温度值b类芯片b类芯片的温度值b类芯片的温度值
……
b类芯片的温度值
…………………………
z类芯片z类芯片的温度值z类芯片的温度值
……
z类芯片的温度值
[0147]
表3
[0148]
综上所述,在本技术实施例中,由于给不同类型的芯片配置了不同的转速算法,综合考虑了子风扇对应的各类芯片进行散热时所需的转速,因此,可以更精确的满足各类芯片的散热需求,使得在芯片温度较高时,可以更加快速、更加精准的控制子风扇的转速来进行散热,在芯片温度较低时,又可以尽可能的节能降噪音。此外,本技术实施例提供的方案,还具有更灵活、更智能、更高效以及客户体验更好等特点。
[0149]
如图9所示,基于同一发明构思,本技术实施例提供一种风扇控制装置,该装置90可以应用于包括至少一组风扇盘的机箱设备中,各个风扇盘包括至少一个子风扇,该装置90包括:
[0150]
温度确定单元901,用于确定各个子风扇对应的各类芯片的温度值;
[0151]
第一转速确定单元902,用于根据各类芯片各自对应的转速算法以及各个子风扇对应的各类芯片的温度值,计算各个子风扇对应的各类芯片的第一转速;
[0152]
目标转速确定单元903,用于根据各个子风扇对应的各类芯片的第一转速确定各个子风扇的目标转速;
[0153]
调速控制单元904,用于根据各个子风扇的目标转速调整对应的子风扇的转速。
[0154]
在一种可能的实现方式中,第一转速确定单元902,具体用于:
[0155]
针对每个子风扇对应的每类芯片,执行:
[0156]
确定当前类芯片的散热点温度,各类芯片对应不同的散热点温度;
[0157]
根据当前类芯片的散热点温度以及各类芯片各自对应的转速算法对应的温度响应范围,从各个转速算法中确定当前类芯片对应的转速算法;
[0158]
根据当前类芯片对应的转速算法获取当前类芯片对应的转速算法的计算参数;
[0159]
根据当前类芯片对应的转速算法的计算参数以及当前类芯片对应的温度值计算当前类芯片对应的第一转速。
[0160]
在一种可能的实现方式中,目标转速确定单元903,具体用于:
[0161]
针对各个子风扇,执行:
[0162]
根据当前子风扇对应的各类芯片的第一转速以及当前子风扇对应的各类芯片的权重;
[0163]
通过加权和的方式确定当前子风扇的目标转速。
[0164]
在一种可能的实现方式中,温度确定单元901,具体用于:
[0165]
获取机箱设备中各个芯片的当前实际温度值;
[0166]
根据各个芯片与各个子风扇之间的映射关系以及各个芯片的当前实际温度值,确定各个子风扇对应的各类芯片的温度值。
[0167]
在一种可能的实现方式中,温度确定单元901,具体用于:
[0168]
针对每个子风扇对应的每类芯片,执行:
[0169]
根据各个芯片与各个子风扇之间的映射关系,确定当前子风扇对应的至少一个第一芯片,并从至少一个第一芯片中确定当前子风扇对应的当前类芯片的至少一个第二芯片;
[0170]
确定至少一个第二芯片的当前实际温度值中的最高值;
[0171]
确定最高值是否大于当前子风扇的历史最高温度值;
[0172]
若确定最高值大于历史最高温度值,则将最高值确定为当前子风扇对应的当前类芯片的温度值。
[0173]
在一种可能的实现方式中,温度确定单元901,具体用于:
[0174]
获取机箱设备中各个业务板卡的槽位号以及每个业务板卡上的各个芯片的芯片序号;
[0175]
周期性获取各个槽位号对应的业务板卡上的各个芯片序号对应的芯片的当前实际温度值。
[0176]
在一种可能的实现方式中,调速控制单元904,具体还用于:
[0177]
针对各个子风扇,执行:
[0178]
确定当前子风扇的目标转速是否大于当前子风扇的当前实际转速值;
[0179]
若确定当前子风扇的目标转速大于当前子风扇的当前实际转速值,则将当前子风扇的当前实际转速值调高;
[0180]
若确定当前子风扇的目标转速小于当前子风扇的当前实际转速值,则将当前子风扇的当前实际转速值调整为目标转速。
[0181]
该装置可以用于执行图3~图8所示的实施例中所述的方法,因此,对于该装置的各功能模块所能够实现的功能等可参考图3~图8所示的实施例的描述,不多赘述。需要说明的是,图9中的虚线框示出的功能单元为该装置的非必要功能单元。
[0182]
请参见图10,基于同一技术构思,本技术实施例还提供了一种计算机设备100,可
以包括存储器1001和处理器1002。
[0183]
所述存储器1001,用于存储处理器1002执行的计算机程序。存储器1001可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。处理器1002,可以是一个中央处理单元(central processing unit,cpu),或者为数字处理单元等等。本技术实施例中不限定上述存储器1001和处理器1002之间的具体连接介质。本技术实施例在图10中以存储器1001和处理器1002之间通过总线1003连接,总线1003在图10中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线1003可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0184]
存储器1001可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器1001也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)、或者存储器1001是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1001可以是上述存储器的组合。
[0185]
处理器1002,用于调用所述存储器1001中存储的计算机程序时执行如图3~图8所示的实施例中设备所执行的方法。
[0186]
在一些可能的实施方式中,本技术提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本技术各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行如图3~图8所示的实施例中所述的方法。
[0187]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0188]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
[0189]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

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

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

相关文献