具体实施方式
如图2所示,通常一个完整的风扇调速系统由定时器模块21、调速模块22、温度监视模块23和风扇驱动模块24组成。定时器时间到时,触发中断调用调速模块22,调速模块22从温度监视模块23获取当前温度,从风扇驱动模块24获取当前风扇的转速,最后根据调速策略决定风扇的新转速。其中,温度监视模块23由设置在单板上的若干温度感应装置(如温感芯片)组成;风扇驱动模块24与各风扇连接,用于控制风扇转动。
本发明实施例基于上述系统,主要对调速模块22的调速策略进行改进,以提高调速的准确性、简化风扇调速的流程,防止风力倒灌,有效节省能耗。
下面通过三个实施例,分别以三种分布式网络设备的框类型为例,并结合附图,对本发明实施例进行详细描述。
实施例一
本实施例针对单层竖插框式的分布式网络设备,描述了风扇调速原理和处理流程。
单层竖插框配备两个风扇框,分别置于机框的顶部和底部,其风道结构如图3所示。底部风扇从入风口吸入常温空气,吹入到机框内;顶部风扇将机框内的热空气从出风口排出。机框内产生的热量使得气体膨胀因而密度较小,热空气会向上扩散,这种设计可以最好的排出框内的热量。
本发明实施例中,首先将风扇框的风扇进行分组,组内风扇转速受共同控制,各组风扇转速分别控制。每组风扇的转速与其风眼在物理上正对着的槽位单板有关,其风力贯穿整块单板表面,为其散热。
风扇分组的原则是:根据风扇与板卡槽位的物理位置,正对着若干槽位的一组风扇被分为一组,进一步的,还可将正对着网板槽位的一组风扇分为一组。这里所谓的“正对”是相对而言,并不是严格意义上的“正对”。
以图1所示的机框风扇布局为例,如图4所示,根据风扇与板卡槽位的物理位置对应关系,将风扇分成4组(图中的G0~G3),每一组对应着不同位置的板卡槽位(板卡槽位在图中以SLOT标识),如图4所示,具体分组情况如下:
风扇组0:由FAN1、FAN2、FAN3组成,对应槽位0~3;
风扇组1:由FAN5、FAN6、FAN7组成,对应槽位3~6;
风扇组2:由FAN9、FAN10、FAN11组成,对应槽位6~9;
风扇组3:由FAN4、FAN8、FAN12组成,对应网板槽位。
通常,在各单板上设置有温感芯片,用于检测单板温度。本发明实施例还在各单板的出风口位置上设置温感芯片,并在网板(竖插框的网板位于机框的后部,与线卡板通过背板隔离)的底部和顶部分别设置温感芯片,底部的温感芯片靠近入风口。
本实施例引入了环境温度作为调速的依据。由于网板底部入风口位置的温度基本与环境温度一致,因此可以直接取网板的入风口处温感芯片在一段时间内检测到的温度的平均值作为环境温度。为了更精确获得环境温度,也可以根据试验数据先拟合出环境温度、风扇转速和入风口处温度(同上,此处的入风口处温度是通过网板入风口位置的温感芯片在一段时间内检测得到的平均温度)的关系,从而可以利用当前入风口位置的温感芯片的平均温度和风扇转速求得环境温度。
另外,针对不同的单板类型,本发明实施例还可以基于实验数据拟合出环境温度和风扇期望转速的关系,这里称为调速曲线,作为风扇调速的依据,比如环境温度高时,风扇期望转速就高,反之,环境温度较低时,风扇期望转速也较低。为了更精确的进行风扇调速,拟合的关系应充分考虑单板各个部位的温度在符合要求的情况下的对应关系。
上述所拟合出的环境温度、风扇转速和入风口处温度的对应关系信息,以及调速曲线,可预先存储于用于执行调速的功能模块或者该模块可访问的存储位置。
如图5所示,针对每个风扇组,当启动对当前风扇组进行调速时,可首先获取当前环境温度,比如,通过当前风扇组内的风扇转速和当前入风口处温度得到当前环境温度(步骤501),再根据调速曲线得到当前风扇组的期望转速(步骤502),然后再结合与当前风扇组物理位置对应的单板的出风口处温度和板内最高温度,进行调速判决,如决定是否调速以及进一步确定出调速值(步骤503),最后即可根据调速判决结果对当前风扇组内风扇的转速进行控制(步骤504)。其中,分布式网络设备内所插的单板可能有多种类型,本发明实施例可针对不同类型的单板预先设置对应的调速曲线,从而在步骤502中,针对与当前风扇组物理位置对应的每块单板,根据单板类型利用对应的调速曲线得到期望转速,再取其中的最大值作为当前风扇组的期望转速。基于环境温度调速为各单板设置风扇转速提供了统一的基准,简化了调速流程,同时拟合出的调速曲线也充分考虑了单板不同部位对于温度的要求,使得调速更加准确。
为了更清楚的描述图5所述的流程,下面结合图6,对上述风扇调速流程进行详细描述。
如图6所示,当调速定时器时间到时,执行以下调速流程(该流程可由用于执行风扇调速的功能模块执行):
步骤601,遍历每一个风扇框,对于遍历到的每个风扇框执行以下步骤602。
步骤602,遍历框内每一个风扇组,对于遍历到的每个风扇组执行以下步骤603~611。
步骤603,获取当前风扇组的转速值,记为CurSpeed。具体实施时,可从风扇驱动模块获得当前风扇组的转速值。
步骤604,获取当前风扇组对应的所有槽位号。在划分风扇组时,已经建立了风扇组与槽位号的对应关系,因此本步骤可通过查询建立好的风扇组与槽位号的对应关系得知当前风扇组对应的所有槽位号。
步骤605,判断与当前风扇组物理位置对应的槽位是否插有单板,如果有单板,则转到步骤606;否则,转入步骤611。具体实施时,可通过读取系统信息获知当前风扇组对应的槽位号的槽位上是否插有单板。
步骤606,获取与当前风扇组物理位置对应的每一块单板板内的最高温度,取其最大值记为MaxBrdTemp。具体实施时,可通过各单板上设置的温感芯片获得各单板板内的最高温度,进而得到其中的最大值。
步骤607,获取与当前风扇组物理位置对应的每一块单板的出风口温度,取其最大值记为MaxOutletTemp。具体实施时,可通过各单板出风口位置设置的温感芯片获得各单板出风口温度,进而得到其中的最大值。
步骤608,根据当前风扇组的入风口温度和当前风扇组的风扇转速,通过查询环境温度、风扇转速和入风口温度的关系获得环境温度。其中,竖插框中入风口温度可取每块网板底部设置的温感芯片检测到的温度。当然,也可以取网板入风口处的温感芯片在一段时间内检测到的温度的平均值作为环境温度。
步骤609,根据环境温度以及与当前风扇组物理位置对应的每块单板的单板类型,通过查询与单板类型对应的调速曲线,分别得到与当前风扇组物理位置对应的每一块单板的期望转速,取最大值记为MaxSpeed。
步骤610,根据MaxSpeed,并结合当前风扇组的MaxBrdTemp以及步骤607中得到的MaxOutletTemp,设置当前风扇组内的风扇转速。然后转入步骤612。
具体的,根据当前风扇组的MaxBrdTemp、MaxOutletTemp以及MaxSpeed,对当前风扇组内的风扇转速进行调整,可包括以下几种情况:
情况一:若满足以下2个条件:
条件1:MaxBrdTemp≤MAX_TEMP_THRESH_LVL1
条件2:MaxOutletTemp≤OUTLET_TEMP_THRESH_LVL1
则降低当前风扇组的转速(这里是指设置风扇转速的数值,还未调用风扇驱动模块对风扇转速进行调整),并保证调整后的转速不会低于MaxSpeed,例如可降低到MaxSpeed。
情况二:若满足以下2个条件:
条件1:MaxBrdTemp>MAX_TEMP_THRESH_LVL2
条件2:MaxOutletTemp>OUTLET_TEMP_THRESH_LVL2
则提高当前风扇组的转速(这里是指设置风扇转速的数值,还未调用风扇驱动模块对风扇转速进行调整),并保证调整后的转速不会低于MaxSpeed。
情况三:若既不属于情况一也不属于情况二,则保持当前风扇组的风扇转速不变。
其中,MAX_TEMP_THRESH_LVL1为单板板内高温警戒下限温度,MAX_TEMP_THRESH_LVL2为单板板内高温警戒上限温度,OUTLET_TEMP_THRESH_LVL1为出风口高温警戒下限温度,OUTLET_TEMP_THRESH_LVL2为出风口高温警戒上限温度。上述各警戒线数值在设置时,可考虑在设备性能要求以及能耗等方面进行权衡。比如,如果对设备稳定性要求较高,则可以将MAX_TEMP_THRESH_LVL1和OUTLET_TEMP_THRESH_LVL1设置的较高,从而提高风扇降速的门限;反之,如果对能耗要求较高,则可以将MAX_TEMP_THRESH_LVL1和OUTLET_TEMP_THRESH_LVL1设置的较低。
步骤611,将当前风扇组的风扇转速设置为默认的最低转速MIN_SPEED,然后转入步骤612。
步骤612,判断是否遍历完当前框内的所有风扇组,如果没有,则回到步骤602开始遍历当前框内的下一个风扇组;否则,转入步骤616。
步骤616,调用风扇驱动模块按照当前框内为各风扇组设置的转速进行转速调整。然后转入步骤617。
步骤617,判断是否遍历完所有的风扇框,如果没有,则转到步骤601遍历下一个风扇框;否则,本次调速结束。
需要说明的是,上述流程中,有些步骤的执行顺序并没有严格时序要求,比如步骤603和步骤604。另外,上述流程中,是在计算出当前风扇框内的各风扇组的风扇转速后,才分别对当前框内各风扇组进行转速控制,也可以在步骤610之后即执行针对当前风扇组的风扇转速控制操作。
考虑到如果单板温度急剧升高,那么风扇转速马上会增大,风扇转速的增大,会快速的降低单板温度,风扇的转速又会短时间内变的较小,这样单板的温度马上又会升高......,导致单板在高温和低温之间来回变化,风扇也会在一个较大风速和一个较小风速之间来回变化,不仅降温效果差,单板和风扇的寿命也会受影响。风扇的转速变化时,风扇电机必然面临瞬间电流的冲击,转速跨度越大冲击越大,这样会影响风扇的稳定性和使用寿命,同时风扇噪音的变化太大也让人不适应。
为解决上述问题,本发明实施例可在图6所示流程的基础上,采用平滑调速,使风速以一定的差值慢慢减低,从而使单板温度和风扇转速最终会稳定在一个合适的范围内。采用平滑调速不仅能提升降温的效率,还可以有效的保护风扇,延长使用其寿命并且减少噪音的干扰。
具体做法是:预先设置步进值STEP_SPEED,即每次调整的转速值为全速的STEP_SPEED%(通常情况下,风扇的转速均表示为全速的百分比数值,其中停止的风扇的转速定为0,全速转动的风扇的转速定为100%)。以步进值为STEP_SPEED为例,在步骤609中,当满足情况一中的两个条件时,将当前风扇组的期望转速ExpSpeed设置为:
ExpSpeed=max(MaxSpeed,(CurSpeed-STEP_SPEED)),即取MaxSpeed与(CurSpeed-STEP_SPEED)中的较大者。
进一步的,在提高风扇转速时,也可采用类似方式。具体的,在步骤609中,当满足情况二中的两个条件时,将当前风扇组的风扇转速ExpSpeed设置为:
ExpSpeed=max(MaxSpeed,(CurSpeed+STEP_SPEED)),即取MaxSpeed与(CurSpeed+STEP_SPEED)中的较大者。
上述实施例中,通过将风扇框分组,每个分组负责对应槽位的单板进行温度调节,这样,只需要考虑每组内单板的温度就可以决定风扇的转速。但是,在物理上有一个不容忽视的现象,即,并排的风向相同的几个风道,如果风力相差过大,会造成风力大的风道的风倒灌进入风力较小的风道,如图7所示。风力倒灌后,不仅风力较大的风道1和风道3的风力被减弱,而且风力较小的风道2的风力也被减弱,最坏的情况是风道2的某些区域风力减弱到0而处于静止状态。特别是在风扇组对应的槽位没有插单板时,采用的是默认的最小转速,这时尤其容易产生风力倒灌。
针对这种情况,本发明实施例在上述各实施例的基础上,采取了风速调和机制,即,计算出本风扇框内所有风扇组的期望转速后,先找出其中各风扇组中最大的期望转速,记为MaxGrpFanSpeed,如果有风扇组的期望转速与MaxGrpFanSpeed的差值超过风力倒灌临界值RATE_SPEED,就将其期望转速改为MaxGrpFanSpeed-RATE_SPEED。这样可以有效的防止风力倒灌。
具体的,可在图6所示流程的基础上进行改进,改进后的流程可如图8所示,其中仅示出了与图6相比改进的步骤,即在步骤612~616之间,还包括以下步骤:
在步骤612中,若判断遍历完当前风扇框内的所有风扇组,则进入步骤613,比较当前风扇框内各风扇组的期望转速ExpSpeed,记其最大的转速值MaxGrpFanSpeed;在步骤614中,分别将当前风扇框内各风扇组的期望转速ExpSpeed与MaxGrpFanSpeed进行比较,如果有风扇组的ExpSpeed<(MaxGrpFanSpeed-RATE_SPEED),则转入步骤615,否则保持当前期望转速不变;在步骤615中,将风扇组期望转速ExpSpeed设置为MaxGrpFanSpeed-RATE_SPEED,然后转入步骤616。
实施例二
本实施例针对双层竖插框式的分布式网络设备,描述了风扇调速原理和处理流程。
双层竖插框有两层线卡板插槽,配备两个风扇框,分别置于机框的顶部和底部,其风道结构如图9所示。双层竖插框相对单层竖插框来说发热量更大和风道更长,散热的负担相对来说更重,一般采用的风扇其功率和转速会大一些。
本发明实施例中的风扇分组原则与实施例一相同。以图10所示的竖插框为例,根据双层竖插框中风扇的物理位置,将风扇分成4组(图中的G0~G3),每一组对应不同位置的板卡槽位(板卡槽位在图中以SLOT标识),具体分组情况如下:
风扇组0:由FAN1、FAN2、FAN3组成,对应槽位0~3,10~13;
风扇组1:由FAN5、FAN6、FAN7组成,对应槽位3~6,13~16;
风扇组2:由FAN9、FAN10、FAN11组成,对应槽位6~9,16~19;
风扇组3:由FAN4、FAN8、FAN12组成,对应网板槽位。
双层竖插框风道设计和风扇布局都是相同的,其调试策略基本与实施例一相同,但是双层竖插框也有自己的特点。实际应用中,并不要求所有的线卡板槽位上都插满单板,根据单板在位情况,针对每个风扇组,有三种位置类型:
(1)上框位置类型POS_TYPE_TOP:只有上框有单板;
(2)下框位置类型POS_TYPE_BOTTOM:只有下框有单板;
(3)上下框位置POS_TYPE_ALL:上下框都有单板;
上下框都没有单板时,采用的是默认风速,这个与单层竖插框中的调速策略是一致的。基于上面的差别,在单层竖插框调速策略的基础上,在设计调速曲线时,将上述三种框位置类型的因素考虑进去,即,针对上述三种框位置类型分别拟合调速曲线。比如,在相同环境温度条件下,POS_TYPE_TOP类型和POS_TYPE_BOTTOM类型对应的调速曲线中,风扇期望转速要低于POS_TYPE_ALL类型的风扇期望转速。
相应的,在步骤609中进行风扇转速设置时,需要获取当前上下框位置类型,从而根据当前上下框位置类型对应的调速曲线设置风扇转速。
实施例三
本实施例针对横插框式的分布式网络设备,描述了风扇调速原理和处理流程。
横插框中,线卡板水平横插,风扇框垂直竖插,风道水平,如图11所示。风扇框在机框的右侧,入风口在机框左侧,风扇将框内的热空气从出风口排出。采用吸气的方式的好处在于可以减少噪音。
发明实施例中的风扇分组原则与实施例一相同。以图12所示的横插框为例,根据横插框设备中风扇的物理位置将风扇分成4组(图中的G0~G3),每一组对应不同位置的板卡槽位(板卡槽位在图中以SLOT标识),具体分组情况如下:
风扇组0:由FAN1、FAN2、FAN3组成,对应槽位0~2;
风扇组1:由FAN5、FAN6、FAN7组成,对应槽位3~5;
风扇组2:由FAN4、FAN8组成,对应网板槽位。
横插框的风扇组比竖插框的风扇组少一个分组,但其调速策略一脉相承。
基于相同的技术构思,本发明还提供了一种可实现上述流程的分布式网络设备。
参见图13,为本发明实施例提供的分布式网络设备的结构示意图。其中,所述分布式网络设备风扇框内的风扇根据其与板卡槽位的物理位置对应关系被划分为风扇组,各风扇组内的风扇转速受共同控制,各风扇组彼此之间的风扇转速分别控制。该分布式网络设备风扇调速装置可包括:
温度获取单元131,用于获取本设备所在环境的环境温度、与当前风扇组物理位置对应的单板的出风口处温度,以及与所述当前风扇组物理位置对应的单板的温度;
期望转速确定单元132,用于根据获取到的环境温度,通过查询环境温度与风扇期望转速的对应关系(如前述的调速曲线),得到与获取到的环境温度对应的风扇期望转速;
调速判决单元133,用于根据所述当前风扇组的期望转速、出风口处温度和与所述当前风扇组物理位置对应的单板的温度,对所述当前风扇组的风扇转速进行调速判决。
具体的,温度获取单元131可具体用于:获取所在的分布式网络设备的入风口处温度,并将获取到的入风口处温度作为所述分布式网络设备所在环境的环境温度;或者,获取所在的分布式网络设备的入风口处温度,以及所述风扇组内风扇的当前转速,并根据获取到的入风口处温度和风扇的当前转速,通过查询环境温度、入风口处温度和风扇转速的对应关系,得到对应的环境温度,并将得到的环境温度作为所述分布式网络设备所在环境的环境温度。
具体的,调速判决单元133可具体用于:若所述出风口处温度未超过单板板内高温警戒下限温度,且与所述风扇组物理位置对应的单板的温度未超过出风口高温警戒下限温度,则降低所述风扇组的转速,并保证调整后的转速不低于所述风扇组的期望转速;若所述出风口处温度超过单板板内高温警戒上限温度,且与所述风扇组物理位置对应的单板的温度超过出风口高温警戒上限温度,则提高所述风扇组的转速,并保证调整后的转速不低于所述风扇组的期望转速;否则,保持所述风扇组的风扇转速不变。
具体的,调速判决单元133在降低风扇转速时,可设置所述风扇组的转速为:ExpSpeed=max(MaxSpeed,(CurSpeed-STEP_SPEED)),其中,ExpSpeed为风扇组转速,MaxSpeed为与风扇组物理位置对应的各单板板内温度中的最大值,CurSpeed为风扇组当前转速,STEP_SPEED为调速步进值,max表示取其中较大者。
具体的,调速判决单元133在提高风扇转速时,可设置所述风扇组的转速为:ExpSpeed=max(MaxSpeed,(CurSpeed+STEP_SPEED)),其中,ExpSpeed为风扇组转速,MaxSpeed为与风扇组物理位置对应的各单板板内温度中的最大值,CurSpeed为风扇组当前转速,STEP_SPEED为调速步进值,max表示取其中较大者。
进一步的,调速判决单元133还可在针对风扇框内的对各风扇组的风扇转速进行调速判决之后,统计出所述风扇框内各风扇组在调速判决后的最大期望转速,分别将所述风扇框内各风扇组的期望转速与所述最大期望转速进行比较,若有风扇组的期望转速与所述最大期望转速之间的差值大于风力倒灌临界值,则将该风扇组的期望转速调整为:所述最大期望转速减去所述风力倒灌临界值。
具体的,期望转速确定单元132可具体用于:对于与所述风扇组物理位置对应的每块单板,根据获取到的环境温度,通过查询与该单板类型对应的环境温度与风扇期望转速的对应关系,得到与环境温度对应的风扇期望转速;获取与所述风扇组物理位置对应的各单板所对应的风扇期望转速中的最大值,将该最大值作为所述风扇组的期望转速。
具体的,期望转速确定单元132可具体用于:对于与所述风扇组物理位置对应的插有单板的板卡槽位,根据获取到的环境温度,通过查询与该板卡槽位上的单板位置类型对应的环境温度与风扇期望转速的对应关系,得到与环境温度对应的风扇期望转速;获取与所述风扇组物理位置对应的各插有单板的板卡槽位所对应的风扇期望转速中的最大值,将该最大值作为所述风扇组的期望转速。
上述分布式网络设备风扇调速装置代替现有风扇调速系统中的调速模块,用于执行风扇调速。图13中还示出了本发明实施例中的分布式网络设备风扇调速装置与风扇调速系统中的其它模块的连接关系。
综上所述,本发明实施例基于分组调速可以有效的节省能耗,引入环境温度不仅简化调速流程,而且可以增加调速的准确性。另外,本发明实施例还解决了分组调速中的风力倒灌问题,并且平滑降速提升了降温效果并保护了电机的寿命。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。