硬盘功耗、硬盘功耗管理服务控制方法及装置与流程

文档序号:11948734阅读:325来源:国知局
硬盘功耗、硬盘功耗管理服务控制方法及装置与流程

本申请涉及计算机领域,特别是涉及一种硬盘功耗、硬盘功耗控制方法及装置。



背景技术:

在冷数据存储应用场景下,硬盘存储设备的访问模式主要是写,可能或者再也不会去读,硬盘被写满之后,如果保持长时间的空转,会耗费相当可观的电能。

现有技术的硬盘功耗控制方法,一般通过在磁盘间进行读写请求的调度,将节点硬盘组中的部分硬盘转换为低能耗状态,但是,无法将硬盘在高功耗状态与低功耗状态之间直接进行转换,因此,现有技术中的硬盘功耗控制方法存在功耗状态转换耗时较长,且浪费资源的问题。



技术实现要素:

本申请实施例解决的是如何将硬盘在高功耗状态和低功耗状态之间进行转换,以节省时间和能耗。

为解决上述问题,本申请实施例提供了一种硬盘功耗控制方法,所述方法包括:

检测节点硬盘组中的硬盘是否出现故障;

当确定所述节点硬盘组中的硬盘均未出现故障时,通过硬盘功耗管理服务,控制所述节点硬盘组中的硬盘在预设的功耗状态之间进行转换。

可选地,所述预设的功耗状态包括高功耗状态和低功耗状态。

可选地,所述硬盘功耗管理服务安装于操作系统中。

可选地,所述当确定所述节点硬盘组中的硬盘均未出现故障时,通过硬盘功耗管理服务,控制所述节点硬盘组中的硬盘在预设的功耗状态之间进行转换,包括:

当接收到所述硬盘管理服务发送的将所述节点硬盘中的硬盘从低功耗状态转换为高能耗状态的指令时,将所述节点硬盘组中的硬盘挂载为只读模式;

当将所述节点硬盘组中的硬盘挂载为只读模式时,同时将所述节点硬盘组中的硬盘由高功耗状态转换为低能耗状态。

可选地,所述当确定所述节点硬盘组中的硬盘均未出现故障时,通过硬盘功耗管理服务,控制所述节点硬盘组中的硬盘在预设的功耗状态之间进行转换,还包括:

每隔预设时间检测所述节点硬盘中的硬盘是否均处于低能耗状态;

当所述节点硬盘中的硬盘未处于低能耗状态时,将所述硬盘转换为低能耗状态。

可选地,在同时将所述节点硬盘组中的硬盘由高功耗状态转换为低能耗状态之前,所述当确定所述节点硬盘组中的硬盘均未出现故障时,通过硬盘功耗管理服务,控制所述节点硬盘组中的硬盘在预设的功耗状态之间进行转换,还包括:将所述操作系统缓存中的数据同步至所述节点硬盘组中的硬盘中。

可选地,所述当确定所述节点硬盘组中的硬盘均未出现故障时,通过硬盘功耗管理服务,控制所述节点硬盘组中的硬盘在预设的功耗状态之间进行转换,包括:当接收到所述硬盘管理服务发送的将节点硬盘组中的硬盘从低功耗状态转换为高能耗状态的指令时,将所述节点硬盘组中的硬盘挂载为读写模式。

可选地,所述当确定所述节点硬盘组中的硬盘均未出现故障时,通过硬盘功耗管理服务,控制所述节点硬盘组中的硬盘在预设的功耗状态之间进行转换,还包括:通过访问所述节点硬盘组中的硬盘,唤醒所述节点硬盘组中的硬盘。

本申请实施例还提供了一种硬盘功耗管理服务的控制方法,所述方法包括:

检测所述硬盘功耗管理服务运行的环境;

当确定所述硬盘功耗管理服务的运行环境满足预设的条件时,根据操作系统发送的参数,控制所述硬盘功耗管理服务的开启或者关闭。

可选地,所述硬盘功耗管理服务的运行环境满足预设的条件包括:所述硬盘功耗管理服务的日志文件、节点硬盘组中的硬盘的配置文件和判断服务判别与模式预处理文件均存在,且所述节点硬盘组中的硬盘的配置文件非空,所述判断服务判别与模式预处理文件具有执行权限。

可选地,所述根据操作系统所发送的参数,控制所述硬盘功耗管理服务的开启或者关闭,包括:

当接收到所述操作系统发送的第一参数时,启动所述硬盘功耗管理服务;

当接收到所述操作系统发送的第二参数时,关闭所述硬盘功耗管理服务。

本申请实施例还提供了一种硬盘功耗控制装置,所述装置包括:

硬盘检测单元,适于检测节点硬盘组中的硬盘是否出现故障;

功耗控制单元,适于当确定所述节点硬盘组中的硬盘均未出现故障时,通过硬盘功耗管理服务,控制所述节点硬盘组中的硬盘在预设的功耗状态之间进行转换。

可选地,所述预设的功耗状态包括高功耗状态和低功耗状态。

可选地,所述硬盘功耗管理服务安装于操作系统中。

可选地,所述功耗控制单元包括:

挂载子单元,适于当接收到所述硬盘管理服务发送的将所述节点硬盘中的硬盘从低功耗状态转换为高能耗状态的指令时,将所述节点硬盘组中的硬盘挂载为只读模式;

转换子单元,适于当将所述节点硬盘组中的硬盘挂载为只读模式时,同时将所述节点硬盘组中的硬盘由高功耗状态转换为低能耗状态。

可选地,所述功耗控制单元还包括:

功耗检测子单元,适于每隔预设时间检测所述节点硬盘中的硬盘是否均处于低能耗状态;

功耗转换子单元,适于当所述节点硬盘中的硬盘未处于低能耗状态时,将所述硬盘转换为低能耗状态。

可选地,所述功耗控制单元还包括:同步子单元,适于在同时将所述节点硬盘组中的硬盘由高功耗状态转换为低能耗状态之前,将所述操作系统缓存中的数据同步至所述节点硬盘组中的硬盘中。

可选地,所述功耗控制单元包括:挂载子单元,适于当接收到所述硬盘管理服务发送的将节点硬盘组中的硬盘从低功耗状态转换为高能耗状态的指令时,将所述节点硬盘组中的硬盘挂载为读写模式。

可选地,所述功耗控制单元还包括:唤醒子单元,适于通过访问所述节点硬盘组中的硬盘,唤醒所述节点硬盘组中的硬盘。

本申请实施例还提供一种硬盘功耗管理服务的控制装置,所述装置包括:

环境检测单元,适于检测所述硬盘功耗管理服务运行的环境;

服务控制单元,适于当确定所述硬盘功耗管理服务的运行环境满足预设的条件时,根据操作系统发送的参数,控制所述硬盘功耗管理服务的开启或者关闭。

可选地,所述硬盘功耗管理服务的运行环境满足预设的条件包括:所述硬盘功耗管理服务的日志文件、节点硬盘组中的硬盘的配置文件和判断服务判别与模式预处理文件均存在,且所述节点硬盘组中的硬盘的配置文件非空,所述判断服务判别与模式预处理文件具有执行权限。

可选地,所述服务控制单元包括:

启动子单元,适于当接收到所述操作系统发送的第一参数时,启动所述硬盘功耗管理服务;

关闭子单元,适于当接收到所述操作系统发送的第二参数时,关闭所述硬盘功耗管理服务。

与现有技术相比,本申请的技术方案具有以下的优点:

通过在检测到节点硬盘组中的硬盘未出现故障时,通过硬盘功耗管理服务,控制节点硬盘组中的硬盘在高功耗状态和低功耗状态之间进行转换,可 靠地进行硬盘功耗管理,并可以有效节省时间和能耗。

进一步地,由于将硬盘由高能耗状态转换为低能耗状态时,首先将所述节点硬盘组中的硬盘同步转换为低能耗状态,并每隔预设时间对于所述节点硬盘组中的硬盘的功耗状态进行检测,当检测到所述硬盘未处于低功耗状态时,通过将所述硬盘转换为低能耗状态,可以在冷数据存储硬盘写满时,将所述节点硬盘组中的硬盘一直维持在低功耗状态,可以提高硬盘功耗控制的可靠性。

进一步地,由于在将硬盘由低能耗状态转换为高能耗状态之前,首先将所述节点硬盘组中的硬盘重新挂载为读写状态,并通过对于所述节点硬盘组中硬盘的访问,可以将所述节点硬盘组中的硬盘快速地转换为高能耗状态,降低硬盘读写的等待时间,并可以有效节省功耗。

附图说明

图1是本申请实施例中的一种硬盘功耗控制方法的流程图;

图2是本申请实施例中的一种硬盘功耗控制方法的流程图;

图3是本申请实施例中的一种硬盘功耗管理服务的控制方法的流程图;

图4是本申请实施例中的一种硬盘功耗控制装置的结构示意图;

图5是本申请实施例中的一种功耗控制单元结构示意图;

图6是本申请实施例中的一种硬盘功耗管理服务的控制装置的结构示意图。

具体实施方式

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由 任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的子单元或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁硬盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

现有技术中的硬盘一般具有如下四种工作模式:

活跃模式(Active):硬盘处于全速工作状态,盘片在高速运转,能够在最短时间内响应用户的请求;

空闲模式(Idle):盘片保持旋转状态,磁头臂停止运转,其它多数电子元器件处于关闭状态,能耗与活跃模式相比稍低;

就绪模式(Standby):硬盘停止运转,处于低能耗状态;

休眠模式(Sleep):硬盘处于关闭状态,此时能耗达到最小值。

现有技术中的硬盘,在从能耗越低的模式转换为能耗较高的模式活跃模式时会产生的延时和能耗损失越大。而且,现有技术中的硬盘功耗控制方法无法直接将硬盘在低功耗模式和高功耗模式之间直接进行转换,例如,硬盘从休眠模式转换到活跃模式过程中,要先经过就绪模式,因此,现有技术中的硬盘在进行模式转换时,耗时较长,且能耗较大。

为解决现有技术中存在的上述问题,本申请实施例采用的技术方案通过在检测到节点硬盘组中的硬盘未出现故障时,通过硬盘功耗管理服务,直接控制节点硬盘组中的硬盘在高功耗状态和低功耗状态之间进行转换,可以快速地实现冷数据存储硬盘功耗状态的转换,并可以有效节省时间和能耗。

为使本申请的上述目的、特征和优点能够更为明显易懂,下面结合附图对本申请的具体实施例做详细的说明。

图1示出了本申请实施例中的一种硬盘功耗控制方法的流程图。如图1所示的硬盘功耗控制方法,可以包括:

步骤S101:检测节点硬盘组中的硬盘是否出现故障。

在具体实施中,所述节点硬盘组中包括两个以上的硬盘。

步骤S102:当确定所述节点硬盘组中的硬盘均未出现故障时,通过硬盘功耗管理服务,控制所述节点硬盘组中的硬盘在预设的功耗状态之间进行转换。

在具体实施中,所述预设的功耗状态可以包括高功耗状态和低功耗状态,其中,所述高功耗状态可以为硬盘处于活跃模式时的功耗状态,所述低功耗状态可以为硬盘处于就绪模式时的功耗状态。

图2示出了本申请实施例中的另一种硬盘功耗控制方法的流程图。如图2所示的硬盘功耗控制方法,可以包括:

步骤S201:检测节点硬盘组中的硬盘是否出现故障。

在具体实施中,当所述节点硬盘组中的硬盘出现故障或者未挂载时,则无法通过操作系统提供的硬盘功耗管理服务,控制节点硬盘组中的硬盘在预设的功耗状态之间进行转换,因此,为了确保所述硬盘功耗管理服务可靠的运行,首先可以检测节点硬盘组中的硬盘是否出现故障。

在具体实施中,方确定节点硬盘组中的硬盘未出现故障时,可以执行步骤S202;当确定节点硬盘组中的硬盘出现故障或者未挂载时,可以发布错误告警信息,以提示相关人员采取相应的措施。

步骤S202:接收安装于操作系统中的硬盘功耗管理服务发送的功耗状态转换的指令。

在具体实施中,所述硬盘功耗管理服务可以通过硬盘驱动程序接口控制节点硬盘组中的硬盘在预设的高功耗状态和低功耗状态之间转换,以避免直接通过输入/输出(I/O)端口向硬盘发送指令与硬盘驱动程序的操作相冲突。

在本申请一实施例中,所述高功耗状态为节点硬盘组中的硬盘工作在活跃模式时所述处于的功耗状态,所述低功耗状态为节点硬盘组中的硬盘工作 在就绪模式时的功耗状态。

在具体实施中,当接收到所述硬盘管理服务发送的将所述节点硬盘中的硬盘从低功耗状态转换为高能耗状态的指令时,可以执行步骤S203~S207。反之,当接收到所述硬盘管理服务发送的将所述节点硬盘中的硬盘从高功耗状态转换为低能耗状态的指令时,可以执行步骤S208~S209。

步骤S203:将所述操作系统缓存中的数据同步至所述节点硬盘组中的硬盘中。

在本申请一实施例中,当接收到到所述硬盘功耗管理服务发送的将节点硬盘组中的硬盘由低能耗状态转换为高能耗状态的指令时,为了避免数据丢失,首先将系统缓存中的数据同步至所述节点硬盘组中的硬盘中,并休眠一段时间,例如,10s,以等待数据同步操作的完成。

步骤S204:将所述节点硬盘组中的硬盘挂载为只读模式。

在具体实施中,为了避免对于节点硬盘组中的硬盘的读写操作,可以首先将所述节点硬盘组中的硬盘挂载为只读模式。

步骤S205:当将所述节点硬盘组中的硬盘挂载为只读模式时,同时将所述节点硬盘组中的硬盘由高功耗状态转换为低能耗状态。

在本申请一实施例中,所述硬盘功耗管理服务可以并行地向所述节点硬盘组中的硬盘发送从高功耗状态转换为低功耗状态的指令,从而可以节省将节点硬盘组中的硬盘转换为低功耗状态的时间。

在本申请一实施例中,当将节点硬盘组中的硬盘由高能耗状态转换为低能耗状态失败时,休眠2s,并重新尝试将所述硬盘转换为低能耗状态。当重试失败时,可以发布硬盘能耗状态转换失败的提示信息。

在具体实施中,为了确保将节点硬盘组中的硬盘从高能耗状态转换为低能耗状态,本申请实施例中的硬盘功耗控制方法,还可以包括:

步骤S206:每隔预设时间检测所述节点硬盘中的硬盘是否均处于低能耗状态。

在具体实施中,通过每隔预设时间遍历节点硬盘组中的硬盘,可以确定 硬盘是否处于低能耗状态。其中,所述预设的时间的长度可以根据实际的需要进行设置,例如,可以为10s、50s、2h等。

步骤S207:当所述节点硬盘中的硬盘未处于低能耗状态时,将所述硬盘转换为低能耗状态。

在本申请一实施例中,当检测到所述节点硬盘中的硬盘未处于低能耗状态时,为了可以将节点硬盘组中的硬盘维持在低能耗状态,所述硬盘管理服务可以通过硬盘驱动程序接口将未处于低能耗状态的硬盘再次转换为低能耗状态。

在具体实施中,当将硬盘转换为低能耗状态失败时,可以发布状态转换失败的提示信息。

步骤S208:将所述节点硬盘组中的硬盘挂载为读写模式。

在具体实施中,可以将所述节点硬盘组中的硬盘挂载为读写模式,,以并行地控制所述节点硬盘组中的硬盘由低能耗状态转换为高能耗状态,尝试将硬盘从低能耗状态转换为高能耗状态,以节省硬盘唤醒所需的时间。

在具体实施中,当节点硬盘中的硬盘由低能耗状态转换为高能耗状态失败时,可以返回相应的错误提示信息。

在具体实施中,本申请实施例中的硬盘功耗控制方法还可以包括:

步骤S209:通过访问所述节点硬盘组中的硬盘,唤醒所述节点硬盘组中的硬盘。

在具体实施中,为了确保节点硬盘组中的硬盘由低能耗状态转换为高能耗转换,可以通过对节点硬盘组中的硬盘的访问操作来完成。例如,在所述节点硬盘组中的硬盘的挂载目录下创建一空的隐藏文件,并在所述隐藏文件创建成功时,将所述隐藏文件从所述挂载目录下删除。

图3示出了本申请实施例中的一种硬盘功耗管理服务的控制方法的流程图。如图3所示的硬盘功耗管理服务的控制方法,可以包括:

步骤S301:检测所述硬盘功耗管理服务运行的环境。

在具体实施中,可以通过检测所述硬盘功耗管理服务运行的环境,以确 保所述硬盘功耗管理服务的运行环境是否满足预设的条件。

在本申请一实施例中,所述检测所述硬盘功耗管理服务运行的环境是否满足预设的条件,包括:所述硬盘功耗管理服务的日志文件、节点硬盘组中的硬盘的配置文件和判断服务判别与模式预处理文件均存在,且所述节点硬盘组中的硬盘的配置文件非空,所述判断服务判别与模式预处理文件具有执行权限。其中:

首先,检查是否存在硬盘功耗管理服务的日志文件,如果没有,则在创建空的日志文件。

然后,检查硬盘配置文件是否存在,如果不存在,则可以返回硬盘配置文件不存在的提示信息。否则,判断节点硬盘组中的硬盘的配置文件是否为空,如果为空,返回硬盘配置文件为空的错误提示信息。

接着,判断服务判别与模式预处理文件是否存在,如果不存在,则返回服务判别与模式预处理文件不存在的提示信息。否则,则继续判断所述服务判别与模式预处理文件是否具有可执行权限,如果该文件不具有可执行权限,则可以返回服务判别与预处理文件不可执行的错误提示信息。

最后,判断能否在当前系统环境下执行awk和hdparm命令,如果不能执行awk和hdparm命令,,则返回命令不存在的错误提示信息。其中,awk命令用于文本处理,解析其它命令的输出,hdparm命令用于查询和设置磁盘的硬件参数。

步骤S302:当确定所述硬盘功耗管理服务的运行环境满足预设的条件时,根据操作系统发送的参数,控制所述硬盘功耗管理服务的开启或者关闭。

在具体实施中,当确定所述硬盘功耗管理服务运行的环境满足预设的条件时,可以根据操作系统所发送的指令,分别执行开启或者关闭所述硬盘功耗管理服务的操作。

在本申请一实施例中,当接收到所述操作系统发送的第一参数时,如start参数,启动所述硬盘功耗管理服务;当接收到所述操作系统发送的第二参数时,如stop参数,首先判断所述操作系统中的硬盘功耗管理服务是否处于运行的状态,若有,则关闭所述硬盘功耗管理服务。

在具体实施中,当终止所述硬盘功耗管理服务失败时,可以发布关闭所述硬盘功耗管理服务失败的提示信息。

这里需要指出的是,上述的实施例通过安装于操作系统中的硬盘功耗管理服务控制用户冷数据存储的硬盘在高功耗状态和低功耗状态之间进行装换。当然也可以通过其他的方式,例如可以通过利用设备驱动程序中对设备的I/O通道进行管理的函数IOCTL直接给磁盘发送指令,控制硬盘在预设的高功耗状态和低功耗状态之间进行转换,在此不再赘述。

图4示出了本申请实施例中的一种硬盘功耗控制装置的结构示意图。如图4所示的硬盘功耗控制装置,可以包括:

硬盘检测单元401,适于检测节点硬盘组中的硬盘是否出现故障。在具体实施中,所述预设的功耗状态包括高功耗状态和低功耗状态。

功耗控制单元402,适于当确定所述节点硬盘组中的硬盘均未出现故障时,通过硬盘功耗管理服务,控制所述节点硬盘组中的硬盘在预设的功耗状态之间进行转换。

图5示出了本申请实施例中的一种功耗控制单元结构示意图。如图5所示的硬盘功耗控制装置500,可以包括挂载子单元501和转换子单元502,其中:

挂载子单元501,适于当接收到所述硬盘管理服务发送的将所述节点硬盘中的硬盘从低功耗状态转换为高能耗状态的指令时,将所述节点硬盘组中的硬盘挂载为只读模式。

转换子单元502,适于同时将所述节点硬盘组中的硬盘由高功耗状态转换为低能耗状态。

在具体实施中,所述功耗控制单元500还可以包括功耗检测子单元503和功耗转换子单元504,其中:

功耗检测子单元503,适于每隔预设时间检测所述节点硬盘中的硬盘是否均处于低能耗状态。

功耗转换子单元504,适于当所述节点硬盘中的硬盘未处于低能耗状态 时,将所述硬盘转换为低能耗状态。

在具体实施中,所述功耗控制单元500还可以包括同步子单元505,其中:

同步子单元505,适于在同时将所述节点硬盘组中的硬盘由高功耗状态转换为低能耗状态之前,将所述操作系统缓存中的数据同步至所述节点硬盘组中的硬盘中。

在具体实施中,所述功耗控制单元500还可以包括挂载子单元506,其中:

挂载子单元506,适于当接收到所述硬盘管理服务发送的将节点硬盘组中的硬盘从低功耗状态转换为高能耗状态的指令时,将所述节点硬盘组中的硬盘挂载为读写模式。

在具体实施中,所述功耗控制单元500还可以包括:唤醒子单元507,适于通过访问所述节点硬盘组中的硬盘,唤醒所述节点硬盘组中的硬盘。

在具体实施中,所述唤醒子单元适于在所述节点硬盘组中的硬盘的挂载目录下创建一空的隐藏文件;当所述隐藏文件创建成功时,将所述隐藏文件从所述挂载目录下删除。

图6示出了本申请实施例中的一种硬盘功耗管理服务的控制装置的结构示意图。如图7所示的硬盘功耗管理服务的控制装置600,可以包括环境检测单元601和服务控制单元602,其中:

环境检测单元601,适于检测所述硬盘功耗管理服务运行的环境。

服务控制单元602,适于当确定所述硬盘功耗管理服务的运行环境满足预设的条件时,根据操作系统发送的参数,控制所述硬盘功耗管理服务的开启或者关闭。

在具体实施中,所述硬盘功耗管理服务的运行环境满足预设的条件包括:所述硬盘功耗管理服务的日志文件、节点硬盘组中的硬盘的配置文件和判断服务判别与模式预处理文件均存在,且所述节点硬盘组中的硬盘的配置文件非空,所述判断服务判别与模式预处理文件具有执行权限。

在具体实施中,所述服务控制单元602,可以包括启动子单元6021和关闭子单元6022,其中:

启动子单元6021,适于当接收到所述操作系统发送的第一参数时,启动所述硬盘功耗管理服务。

关闭子单元6022,适于当接收到所述操作系统发送的第二参数时,关闭所述硬盘功耗管理服务。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:ROM、RAM、硬盘或光盘等。

以上对本申请实施例的方法及系统做了详细的介绍,本申请并不限于此。任何本领域技术人员,在不脱离本申请的精神和范围内,均可作各种更动与修改,因此本申请的保护范围应当以权利要求所限定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1