一种设备掉电保护的方法、设备及存储介质

文档序号:68622 发布日期:2021-10-01 浏览:24次 >En<

阅读说明:本技术 一种设备掉电保护的方法、设备及存储介质 (Method, equipment and storage medium for power failure protection of equipment ) 是由 周胜斯 周方琦 于 2021-07-16 设计创作,主要内容包括:本发明公开了一种设备掉电保护的方法、设备及存储介质,用以解决现有技术中存在的BBU电池的保护时长较短的技术问题,该方法包括:实时监测所述设备中各耗电部件是否为空闲状态;其中,所述耗电部件包括硬盘和所述中央处理器;在确定所述设备掉电时,控制所述备用电池对当前处于所述空闲状态的耗电部件断电。(The invention discloses a method, equipment and a storage medium for power failure protection of equipment, which are used for solving the technical problem that the BBU battery in the prior art has short protection time, and the method comprises the following steps: monitoring whether each power consumption component in the equipment is in an idle state in real time; the power consumption components comprise a hard disk and the central processing unit; and when the power failure of the equipment is determined, controlling the standby battery to power off the power consumption components which are in the idle state currently.)

一种设备掉电保护的方法、设备及存储介质

技术领域

本发明涉及存储领域,尤其是涉及一种设备掉电保护的方法、设备及存储介质。

背景技术

存储行业中,用户为避免掉电时已产生的数据不丢失,以及突然掉电而导致的硬盘数据不一致等问题,在设备中通常会为硬盘集成备用电池(Battery Backup Unit,BBU)。

通过在设备中为硬盘集成BBU电池,当包含设备掉电后,可以通过BBU电池向硬盘供电,从而缓存数据能及时刷新到硬盘中,保证数据的持久化,同时避免了由于突然断电而导致的磁盘数据异常情况。

众所周知的,掉电会导致恢复硬盘中的数据非常耗时,这就出现了一个大家都关心的问题:BBU电池能保护多久的数据持久化?通常而言,BBU电池的保护能力是有限度的,这与BBU电池自身有关,如:质量、电量、老化程度等,也与配备的设备耗电程度有关,如设备上接的硬盘数量、风扇转速等,不同情况会导致BUU电池的保护时长不同。

鉴于此,如何提高BBU电池的保护时长,成为一个亟待解决的技术问题。

发明内容

本发明提供一种设备掉电保护的方法、设备及存储介质,用以解决现有技术中存在的BBU电池的保护时长较短的技术问题。

第一方面,为解决上述技术问题,本发明实施例提供的一种设备掉电保护的方法,应用于设备中的中央处理器,所述设备包括多个硬盘、备用电池,所述备用电池为所述硬盘提供备用电,所述方法的技术方案如下:

实时监测所述设备中各耗电部件是否为空闲状态;其中,所述耗电部件包括硬盘和所述中央处理器;

在确定所述设备掉电时,控制所述备用电池对当前处于所述空闲状态的耗电部件断电。

一种可能的实施方式,实时监测耗电部件是否为空闲状态,包括:

实时检测每个所述硬盘在设定时长内是否有数据写入;

若有数据写入,则确定对应硬盘为非空闲状态;

若无数据写入,则确定对应硬盘为空闲状态,并将之确定为所述空闲状态的耗电部件。

一种可能的实施方式,实时监测耗电部件是否为空闲状态,包括:

在所述设备启动时,记录所述设备中风扇的在线情况;

实时检测所述设备中各个风扇的上线情况;

将未上线的风扇确定为所述空闲状态的耗电部件。

一种可能的实施方式,控制所述备用电池对当前处于所述空闲状态的耗电部件断电,包括:

控制所述备用电池对空闲状态的硬盘断电;

控制非空闲状态的中央处理器对应的风扇降速工作,并控制所述备用电池对其余风扇断电。

一种可能的实施方式,控制非空闲状态的中央处理器对应的风扇降速工作,包括:

控制所述非空闲状态的中央处理器的风扇以最低转速工作。

一种可能的实施方式,控制所述备用电池对当前处于所述空闲状态的耗电部件断电之后,还包括:

设置数据写满的硬盘不切盘;

将所述设备的内存中的数据写入所述数据写满的硬盘的预留存储空间;

当所述内存中的数据均写入所述预留存储空间后,控制所述设备关机。

第二方面,本发明实施例提供了一种设备,包括:

多个硬盘,用于存储数据;

备用电池,用于为所述硬盘提供备用电;

至少一个中央处理器,用于执行如第一方面所述的方法。

一种可能的实施方式,所述设备还包括:

风扇,用于为所述设备中的高热部件散热;其中,所述高热部件包所述中央处理器。

第三方面,本发明实施例还提供一种设备,包括:

至少一个处理器,以及

与所述至少一个处理器连接的存储器;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上述第一方面所述的方法。

第四方面,本发明实施例还提供一种可读存储介质,包括:

存储器,

所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上述第一方面所述的方法。

通过本发明实施例的上述一个或多个实施例中的技术方案,本发明实施例至少具有如下技术效果:

在本发明提供的实施例中,通过实时监测设备中各耗电部件是否为空闲状态,耗电部件包括硬盘和中央处理器;在确定设备掉电时,控制备用电池对当前处于空闲状态的耗电部件断电,使得备用电源无需对空闲状态的耗电部件供电,从而无需增加不必要的电量消耗,进而可以为非空闲状态的耗电部件提供更多电量,增加备用电源的保护时长,为将内存中的数据写入硬盘D提供更多的时间,防止因掉电导致的数据丢失,保证数据的持久化。由于上述方案不会引入新部件(如SSD),也不会增加备用电池,因此适用范围不会受新部件的限制而减少,也不会增加额外的成本,便能最大限度的减少设备在掉电后,设备中防止数据丢失的相关耗电部件的电量消耗,从而提升备用电池(BBU电池)的备电写性能,保证内存中缓存的数据安全写入非空闲状态的硬盘中。

附图说明

图1为本发明实施例提供的一种设备的结构示意图;

图2为本发明实施例提供的一种设备掉电保护方法的流程图;

图3为本发明实施例提供的另一种设备的结构示意图;

图4为本发明实施例提供的另一种设备的结构示意图。

具体实施方式

本发明实施列提供一种设备掉电保护的方法、设备及存储介质,用以解决现有技术中存在的BBU电池的保护时长较短的技术问题。

为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。

在现有技术中,为了提高BBU电池的保护时长,包括以下两种解决方案:

第一种:在设备中设置固态硬盘(Solid State Disk或Solid State Drive,SSD),当设备掉电后,将内存中未写入硬盘的数据旋转存入SSD;在设备重新上电后,将SSD中存储的数据写入硬盘中。然而,当写一部分数据到硬盘时发生掉电,或硬盘全部数据写完成,但没来得及通知上层时发生掉电,会导致转存至SSD的部分数据存在冗余(即硬盘中也存在SSD中的部分数据);并且还存在硬盘数据写一半断电异常恢复的情况;此外,由于该方案需要用SSD,对于没有SSD的设备,此方案则不适用。

第二种方案:为设备中的每个硬盘设置BBU电池。此方案由于设置的BBU电池增加了,将导致设备成本增加;并且,由于BBU电池易损坏,因此设备上硬盘槽位BBU电池数量越多,越容易损坏和需要更换,影响客户体验。

为了解决上述问题,本申请提供了以下的技术方案:

请参考图1和图2,图1为本发明实施例提供的一种设备的结构示意图,图2为本发明实施例提供的一种设备掉电保护方法的流程图。

本发明实施例提供一种设备掉电保护的方法,应用于设备中的中央处理器,设备包括多个硬盘、备用电池,备用电池为硬盘提供备用电,该方法的处理过程如下。

步骤201:实时监测设备中各耗电部件是否为空闲状态;其中,耗电部件包括硬盘和中央处理器;

步骤202:在确定设备掉电时,控制备用电池对当前处于空闲状态的耗电部件断电。

在图1中示出的设备包括4个硬盘(硬盘A~硬盘B)、中央处理器、以及为这四个硬盘、中央处理器提供备用电的备用电池(也可以称之为BBU电池)。图1中的4个硬盘、中央处理器都可以称之为设备中的耗电部件。设备在上电后,需要实时监测设备中各个耗电部件是否为空闲状态,监测的间隔时间可以由用户设定,或采用默认值,如可以为30s、1分钟、5分钟等。

如,监测的时间间隔为1分钟,当前监测到图1的设备中硬盘A、B为空闲状态,并记录当前时刻1硬盘A、B为空闲状态;一分钟后(对应时刻2),监测到硬盘A、B、C均为空闲状态,则记录时刻2硬盘A、B、C均为空闲状态,在30秒后,确定设备掉电,根据最新记录:时刻2硬盘A、B、C均为空闲状态,控制备用电源对硬盘A、B、C断电,这样备用电源无需对空闲状态的耗电部件供电,从而无需增加不必要的电量消耗,进而可以为硬盘D、中央控制器提供更多电量,增加备用电源的保护时长,为将内存中的数据写入硬盘D提供更多的时间,防止因掉电导致的数据丢失,保证数据的持久化。

需要说明的是,图1中所示的硬盘数量并不代表实际使用中设备所包含的硬盘数量,因此不应以此为限。

在本发明提供的实施例中,通过实时监测设备中各耗电部件是否为空闲状态,耗电部件包括硬盘和中央处理器;在确定设备掉电时,控制备用电池对当前处于空闲状态的耗电部件断电,使得备用电源无需对空闲状态的耗电部件供电,从而无需增加不必要的电量消耗,进而可以为非空闲状态的耗电部件提供更多电量,增加备用电源的保护时长,为将内存中的数据写入硬盘D提供更多的时间,防止因掉电导致的数据丢失,保证数据的持久化。由于上述方案不会引入新部件(如SSD),也不会增加备用电池,因此适用范围不会受新部件的限制而减少,也不会增加额外的成本,便能最大限度的减少设备在掉电后,设备中防止数据丢失的相关耗电部件的电量消耗,从而提升备用电池(BBU电池)的备电写性能,保证内存中缓存的数据安全写入非空闲状态的硬盘中。

一种可能的实施方式,当耗电部件为硬盘时,实时监测耗电部件是否为空闲状态,可以通过下列方式实现:

实时检测每个硬盘在设定时长内是否有数据写入;若有数据写入,则确定对应硬盘为非空闲状态;若无数据写入,则确定对应硬盘为空闲状态,并将之确定为空闲状态的耗电部件。设定时长例如可以为30s。

例如,设备使用的内核为linux内核,linux内核中默认每隔30秒将硬盘脏缓存数据写回硬盘,当检测到30秒以上没有数据写入硬盘,则确定该硬盘为空闲状态,将此空闲状态的音频确定为空闲状态的耗电部件,进而可以将该硬盘放到空闲硬盘池;同时,当监测到空闲状态的硬盘有写操作或者新数据归入,则确定此硬盘由空闲状态转变为非空闲状态,将之从空闲硬盘池中移除。

在设备中,通常会为高热部件,如中央处理器、线卡等配置风扇,以散热,因为耗电部件还包括风扇。

一种可能的实施方式,当耗电部件为风扇时,实时监测耗电部件是否为空闲状态,可以通过下列方式实现:

在设备启动时,记录设备中风扇的在线情况;实时检测设备中各个风扇的上线情况;将未上线的风扇确定为空闲状态的耗电部件。

例如,设备为电脑时,中央处理器、显卡、机箱等有风扇,假设电脑中包括2个中央处理器(中央处理器1、中央处理器2)、显卡、机箱风扇。当电脑启动时,记录电脑中风扇在线的情况,如中央处理器1的风扇、显卡的风扇是在转动的,确定并记录这两个风扇在线,将未上线的中央处理器2以及机箱的风扇确定为空闲状态的耗电部件;之后,实时检测电脑中各个风扇的上线情况,如一段时间之后,中央处理器1不足以处理电脑中需要处理的任务,于是中央处理器2投入工作,相应的中央处理器2的风扇也上线工作,于是确定并中央处理器2的风扇上线,将未上线的机箱的风扇确定为空闲状态的耗电部件。

一种可能的实施方式,控制备用电池对当前处于空闲状态的耗电部件断电,可以通过下列方式下:

控制备用电池对空闲状态的硬盘断电;控制非空闲状态的中央处理器对应的风扇降速工作,并控制备用电池对其余风扇断电。

例如,假设设备为服务器,服务器中包括10个硬盘(硬盘1~硬盘10)、4个中央处理器(处理器1~处理器4)、与4个中央处理器分别对应的4个风扇(风扇1~风扇4)、备用电池,服务器启动时中央处理器1投入使用,相应的与之对应的风扇1在线,确定并记录中央处理器2~中央处理器4及对应风扇2~风扇4被确定为空闲状态的耗电部件,同时还监控到硬盘2~硬盘5中有数据写入,其余硬盘暂无数据写入,确定并记录硬盘1、硬盘6~硬盘10为空闲状态的耗电部件。

到达第一个监控周期后,再次对中央处理器、风扇的上线情况减小检测、检测硬盘是否有数据写入,假设根据它们的检测结果,确定处理器2及对应的风扇2均上线了,硬盘1~硬盘6中均有数据写入,剩余硬盘中无数据写入,则确定并记录中央处理器3和中央处理器4,以及对应的风扇3、风扇4,硬盘7~10均为空闲状态的耗电部件。

假设在到达第二个监控周期前,确定设备掉电,根据最新记录,确定当前处于空闲状态的耗电部件包括中央处理器3、中央处理器4、风扇3、风扇4、硬盘7~10,控制备用电池对这些处于空闲状态的耗电部件断电。对于非空闲状态的中央处理器1和中央处理器2各自对应的风扇1和风扇2,则控制风扇1和风扇2降速工作(如在原有速度上降低50%或80%的转速),这样可以减少风扇1和风扇2的电量消耗,从而提高备用电池的使用时长。

一种可能的实施方式,控制非空闲状态的中央处理器对应的风扇降速工作,还可以通过下列方式实现:

控制非空闲状态的中央处理器的风扇以最低转速工作。

例如,在设备掉电后,直接控制非空闲状态的中央处理器的风扇以最低转速工作;或,控制非空闲状态的中央处理器的风扇阶梯式的降低转速,直至达到最低转速。

通过控制非空闲状态的中央处理器的风扇以最低转速工作,在保证中央处理器不出现过热导致异常的情况下,可以让非空闲状态的风扇消耗的电量进一步降低,从而提高备用电池的使用时长,为将内存中的数据写入硬盘提供更多的时间,使内存中的数据都写入硬盘的成功率大大增加,从而降低数据因设备掉电而出现丢失的概率。通过控制非空闲状态的中央处理器的风扇阶梯式的降低转速,直至达到最低转速,可以防止风扇的电流突然发生变化对备用电池造成损伤,从而提高备用电池的使用寿命。

在设备的电源供电的情况下(即设备未掉电的情况下),当硬盘数据写满就需要切盘(即切换到其它数据未满的硬盘),以保障新数据覆盖最老的数据。通常,在硬盘数据写满,设备切换新硬盘写数据的临界点,新硬盘可能还在空闲硬盘池中,若此时设备掉电,而该新硬盘还被记录为空闲状态的耗电部件,从而给该新硬盘断电,将导致数据丢失。

为了防止上述问题的出现,本申发明控制备用电池对当前处于空闲状态的耗电部件断电之后,通过下列方式防止数据丢失:

设置数据写满的硬盘不切盘;将设备的内存中的数据写入数据写满的硬盘的预留存储空间;当内存中的数据均写入预留存储空间后,控制设备关机。

例如,例如,假设设备为存储服务器,存储服务器中包括30个硬盘(硬盘1~硬盘30)、2个中央处理器(中央处理器1~中央处理器2)、与2个中央处理器分别对应的2个风扇(风扇1~风扇2)、备用电池,存储服务器启动时中央处理器1投入使用,相应的与之对应的风扇1在线,确定并记录中央处理器2及对应风扇2被确定为空闲状态的耗电部件,同时还监控到硬盘1~10中有数据写入,其余硬盘暂无数据写入,确定并记录硬盘11~硬盘30为空闲状态的耗电部件。

在到达第N个监控周期后,再次对中央处理器、风扇的上线情况进行检测、并检测各硬盘是否有数据写入,假设根据它们的检测结果,确定处理器2及对应的风扇2均上线了,硬盘1~20中均有数据写入,剩余硬盘中无数据写入,则确定并记录硬盘21~30均为空闲状态的耗电部件。

假设在到达第N+1个监控周期前,确定设备掉电,而在掉电前硬盘8写满,将把原本要写入硬盘8的数据写入硬盘21,设备控制硬盘8切盘到硬盘21,但由于此时设备掉电了,根据最新记录,确定当前处于空闲状态的耗电部件包括硬盘21~硬盘30,控制备用电池对这些处于空闲状态的耗电部件断电。设备设置数据写满的硬盘8不切盘,将内存中缓存的数据写入硬盘8的预留存储空间,当内存中的数据均写入硬盘8后,控制设备关机,这样就能防止因切盘导致数据丢失的情况发生。

在设备再次上电后,将控制硬盘8切盘到硬盘21,并将硬盘8中预留存储空间的数据写入硬盘21。

由于数据写满的硬盘中并非绝对没有存储空间,通常会预留5%~10%存储空间保证切盘安全,这些预留存储空间足够保存内存中缓存的数据。因此,通过上设置数据写满的硬盘不切盘;将设备的内存中的数据写入数据写满的硬盘的预留存储空间,可以防止硬盘切盘时发生设备掉电的情况,导致内存中的数据丢失的情况发生,从而进一步降低了数据丢失的概率。

基于同一发明构思,本发明一实施例中提供一种设备,该设备的设备掉电保护方法的具体实施方式可参见方法实施例部分的描述,重复之处不再赘述,请参见图3,该设备包括:

多个硬盘301,用于存储数据;

备用电池302,用于为所述硬盘提供备用电;

至少一个中央处理器303,用于执行如上所述的设备掉电保护方法。

请参见图4,为本发明实施例提供的另一种设备的结构示意图,所述设备还包括:

风扇304,用于为所述设备中的高热部件散热;其中,所述高热部件包所述中央处理器303。高热部件还可以包括显卡。

在本发明提供的实施例中,设备可以为计算机、服务器、存储设备、其它电子设备等,在此不做限定。

基于同一发明构思,本发明实施例中提供了一种设备,包括:至少一个处理器,以及

与所述至少一个处理器连接的存储器;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上所述的设备掉电保护方法。

基于同一发明构思,本发明实施例还提一种可读存储介质,包括:

存储器,

所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上所述的设备掉电保护方法。

本文所述的可读存储介质(例如存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(Read-Only Memory,ROM)、可编程ROM(Programmable read-onlymemory,PROM)、电可编程ROM(Erasable Programmable Read-Only Memory,EPROM)、电可擦写可编程ROM(Electrically Erasable Programmable read only memory,EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(Random Access Memory,RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如动态RAM(Dynamic Random Access Memory,DRAM)、同步DRAM(Synchronous Dynamic Random-Access Memory,SDRAM)、双数据速率SDRAM(Double Data Rate SDRAM,DDR SDRAM)、增强SDRAM(Enhanced Synchronous DRAM,ESDRAM)、同步链路DRAM(Sync Link DRAM,SLDRAM)。所公开的各方面的存储设备意在包括但不限于这些和其它合适类型的存储器。

本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种移动硬盘多密级交互方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类