专利名称:控制磁盘休眠方法与系统及启用磁盘的方法与服务器的制作方法
技术领域:
本发明涉及计算机技术领域,尤其涉及一种控制磁盘休眠的方法、块服务 器、主服务器、分布式文件系统、启用石兹盘的方法。
背景技术:
分布式文件系统(DFS, Distributed File Systems )是一种基于客户机/服务 器模式进行设计的系统,其广泛地应用于在IPTV (IPTV即交互式网络电视, 是一种利用宽带有线电^见网,集互联网、多媒体、通讯等多种技术于一体,向 家庭用户提供包括数字电视在内的多种交互式服务的崭新技术)等业务应用 中。在IPTV业务应用中,分布式文件系统需要持续不断地对时移频道进行录 制,并对用户点播电影、时移点播频道的请求进行响应,这样持续不断的录制 及响应工作对分布式文件系统中用于存储数据的磁盘损耗较大,特别地,在大 量用户同时对电影或频道进行点播的"黄金时间段"中,响应大量用户的点播 请求更是会使分布式文件系统中用于存储数据的磁盘长时间处于读写工作状 态,从而会导致磁盘老化加快、磁盘的使用寿命大大被缩短。
发明内容
本发明实施例提供一种控制磁盘休眠的方法、块服务器、主服务器及分布 式文件系统,用以控制分布式文件系统中的磁盘定期进行休眠,避免磁盘持续 处于被读写状态而导致磁盘老化速度过快。
本发明实施例还提供一种启用磁盘的方法及块服务器,用以启用处于休眠 状态的》兹盘。
为此,本发明实施例采用以下技术方案一种控制磁盘休眠的方法,包括分布式文件系统中的块服务器将所述系 统中各磁盘的信息提供给主服务器;所述主服务器根据所述各^兹盘的信息,确 定满足预设休眠条件的磁盘,并将确定的满足预设休眠条件的磁盘的信息发送 给所述块服务器;所述块服务器根据所述主服务器发来的满足预设休眠条件的 磁盘的信息,控制所述满足预设休眠条件的磁盘进行休眠。
较佳地,所述预设休眠条件包括磁盘当前处于未休眠状态;并且当前时 间与石兹盘上次进入休眠状态的时间之差不小于预设的时间长度阈值;并且所述 系统中存在与》兹盘相对应的当前处于未休眠状态的^#石兹盘。
较佳地,所述块服务器控制所述满足预设休眠条件的磁盘进行休眠具体包 括所述块服务器判断当前是否正在对所述满足预设休眠条件的磁盘进行读或 写操作;在判断结果为否时,所述块服务器控制所述满足预设休眠条件的磁盘 的状态进行休眠;以及在判断结果为是时,确定当前对所述满足预设休眠条件 的磁盘的读和写操作是否完成,并在确定出所述读和写操作完成时,或在将所 述读和写操作转换为对所述满足预设休眠条件的磁盘对应的备份磁盘进行的
相应操作时,所述块服务器控制所述满足预设休眠条件的磁盘进行休眠。
较佳地,所述方法还可以包括所述块服务器对所述满足预设休眠条件的 磁盘的休眠时间长度进行设置。
一种块服务器,包括提供单元,用于将分布式文件系统中各-兹盘的信息 提供给主服务器;接收单元,用于接收所述主服务器发来的、所述主服务器根 据所述提供单元提供的信息确定的满足预设休眠条件的磁盘的信息;控制单 元,用于根据接收单元接收的满足预设休眠条件的磁盘的信息,控制将所述满 足预设休眠条件的^兹盘进行〗木眠。
一种主服务器,包括磁盘信息收集单元,用于收集分布式文件系统中的 块服务器提供的所述系统中的各磁盘的信息;休眠磁盘确定单元,用于根据磁 盘信息收集单元手机的各磁盘的信息,确定满足预设休眠条件的磁盘;磁盘休 眠发起单元,用于将休眠磁盘确定单元确定的满足预设休眠条件的磁盘的信息发送给所述块服务器。
一种分布式文件系统,包括主服务器和块服务器,其中所述主服务器, 用于根据所述块服务器提供的所述系统中各磁盘的信息,确定满足预设休眠条 件的磁盘,以及将所述确定的磁盘的信息发送给所述块服务器;所述块服务器, 用于将所述系统中各磁盘的信息提供给所述主服务器,并根据所述主服务器发 来的所述确定的磁盘的信息,控制所述满足预设休眠条件的磁盘的进行休眠。
一种启用》兹盘的方法,包括分布式文件系统中的块;il务器瑜定需启用的 休眠磁盘;将所述需启用的休眠磁盘的状态设置为工作状态;从所述被设置为 工作状态的磁盘对应的备份磁盘保存的数据中,确定与所述被设置为工作状态 的磁盘保存的数据所不同的数据;以及所述块服务器将所述确定的不同的数据 复制到所述被设置为工作状态的》兹盘中。
一种块服务器,包括磁盘确定单元,用于确定需启用的休眠磁盘;状态 设置单元,用于将确定单元确定的需启用的休眠磁盘的状态设置为工作状态; 数据确定单元,用于确定状态设置单元设置为工作状态的磁盘所对应的^P分磁 盘所保存的数据与状态设置单元设置为工作状态的磁盘所保存的数据中不同 的数据;复制单元,用于将数据确定单元确定的不同的数据复制到状态设置单 元设置为工作状态的磁盘中。
本发明实施例通过由分布式文件系统中的块服务器将分布式文件系统中 各磁盘的信息提供给主服务器,并根据主服务器反馈的满足预设休眠条件的磁 盘的信息,控制满足预设休眠条件的磁盘进行休眠,从而使分布式文件系统中 满足预设休眠条件的磁盘能够进行休眠,从而避免磁盘持续处于被读写状态而 导致磁盘老化速度过快。
本发明实施例通过分布式文件系统中的块服务器确定需启用的休眠磁盘, 将所述需启用的休眠;兹盘的状态设置为工作状态,然后确定所述被设置为工作 状态的磁盘所对应的备份磁盘所保存的数据与所述被设置为工作状态的磁盘 所保存的数据中不同的数据后,将确定的不同的数据复制到所述被设置为工作状态的磁盘中,从而实现对被休眠的磁盘的启用,并且,由于将备份磁盘中的 数据复制到了被启用的磁盘中,因此实现了^f分磁盘与被启用的磁盘中数据的 同步性。
图1为本发明实施例提供的一种控制磁盘休眠的方法的具体流程示意图; 图2为本发明实施例中步骤13的具体实现流程示意图; 图3为本发明实施例中提供的一种块服务器的具体结构示意图; 图4为本发明实施例中提供的一种主服务器的具体结构示意图; 图5为本发明实施例中提供的一种分布式文件系统的具体结构示意图; 图6a为本发明具体实施例所基于的实际应用环境的示意图; 图6b为本发明提供的控制^兹盘休眠方案在如图5a所示应用环境中的实现 流程示意如7为本发明实施例中提供的一种启用磁盘的方法的具体流程示意图; 图8为本发明实施例中提供的一种块服务器的具体结构示意图; 图9为本发明实施例中启用休眠磁盘的过程示意图; 图10为本发明实施例中被启用的磁盘与对应的"^f分磁盘之间实现数据同 步的过程示意图。
具体实施方式
.
本发明实施例首先提供了 一种控制磁盘休眠的方案,通过从分布式文件系 统中确定出满足预设休眠条件的磁盘,并控制确定的满足预设休眠条件的磁盘 进行休眠,从而避免^兹盘持续处于被读写状态而导致磁盘老化速度过快。
在介绍本发明实施例提供的方案之前,先对分布式文件系统进行以下简要 分析
在传统的分布式文件系统中, 一方面,存储块数据的服务器(也称为块服务器或chunk服务器)为一台独立的PC机,其能够实现对磁盘的统一管理, 而分布式文件系统中的主服务器却无法直接对chunk服务器所管理的磁盘统一 进行管理,从而分布式文件系统中的主服务器是无法直接控制chunk服务器所 管理的磁盘进行休眠的,因此,在本发明实施例中,考虑由chunk服务器自身 来控制磁盘的休眠;另一方面,由于在现有技术的分布式文件系.统中,任一 chunk服务器并不能获知另一 chunk服务器所控制的磁盘中存储的块数据 (chunk),而只有通过主服务器才能获知每个块数据分别存储在哪些chunk服 务器上,因此,本发明实施例中釆用主服务器来确定应该对哪些磁盘进行休眠, 以保证存储有相同块数据的磁盘不会同时进行休眠。
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方 式及其对应能够达到的有益效果进行详细的阐述。
本发明实施例提供一种控制磁盘休眠的方法,其具体流程示意图如图l所 示,包括以下步骤
步骤11,分布式文件系统中的chunk服务器将系统中各磁盘的信息提供给 主服务器,其中,各磁盘的信息可以但不限于包括磁盘的标识信息、磁盘的状 态休息(状态可以为休眠状态和工作状态等)、磁盘对应的备份磁盘的信息(备 份磁盘的概念将在下文进行介绍)以及备份磁盘的状态信息等;
步骤12,主服务器根据chunk服务器提供的各磁盘的信息,确定满足预设 休眠条件的磁盘,并将确定的满足预设休眠条件的磁盘的信息发送给chunk服 务器,其中,可以根据系统的实际情况来预设休眠条件,比如,本发明实施例 中的该预设休眠条件可以但不限于为磁盘当前处于未休眠状态,且当前时间与 磁盘上次进入休眠状态的时间之差不小于预设的时间长度阈值,特别地,若考 虑到在磁盘进行休眠后,其他处于工作状态的磁盘中应该存储有与休眠磁盘中 的数据一致的数据,从而使在分布式文件系统中进行的业务不会由于磁盘休眠 而受到影响,因此,在本发明实施例中,还可以考虑为磁盘配置对应的*磁 盘,该备份磁盘存储的数据与对应的磁盘中存储的数据一致,从而上述休眠条件也可以进一步包括分布式文件系统中存在与满足休眠条件的磁盘相对应的 当前处于未休眠状态的备份磁盘,由于磁盘与对应的备份石兹盘为互为^^磁盘 的关系,因此,根据上述"当前时间与磁盘上次进入休眠状态的时间之差不小 于预设的时间长度阈值"这一条件可知,通过该条件,可以实现磁盘与对应的 备份磁盘进行轮流休眠,而不会使得某一磁盘频繁休眠,而对应的备份磁盘却 一直在进行工作;
步骤13, chunk服务器根据主服务器发来的满足预设休眠条件的磁盘的信 息,控制满足预设休眠条件的磁盘进行休眠,比如,chunk服务器可以但不限 于通过将满足预设休眠条件的磁盘的状态设置为休眠状态,从而实现控制满足 预设休眠条件的磁盘进行休眠。
由上述步骤11 13可知,采用本发明实施例提供的上述方法,可以控制分 布式文件系统中的满足预设休眠条件的磁盘进行休眠,使磁盘不必持续处于被 读写的工作状态,从而可以避免现有技术存在的磁盘持续处于被读写状态而导 致磁盘老化速度过快的问题。为进一步使本发明实施例提供的上述方法能达到 更好的技术效果,针对上述步骤13,还可以采用如图2所示的各步骤,来实现 chunk服务器控制满足预设休眠条件的磁盘进行休眠
步骤21,由于满足预设休眠条件的磁盘当前有可能正处于被读或被写的状 态,因此,chunk服务器首先应该判断当前是否正在对满足预设休眠条件的磁 盘进行读或写操作,当判断为否时,执行步骤22,而当判断为是时,执行步骤 23;
步骤22, chunk服务器通过将满足预设休眠条件的磁盘的状态设置为休眠 状态来实现控制磁盘进行休眠,并且,可以将被设置为休眠状态的磁盘的信息 通知给主服务器,以使主服务器获知该磁盘当前已休眠,不能再对其进行读写 操作,流程结束;
步骤23, chunk服务器继续确定当前对满足预设休眠条件的磁盘的读和写 操作是否完成,当确定出读和写操作均完成时,chunk服务器控制满足预设休眠条件的磁盘进行休眠,由于在本发明实施例中,可以在分布式文件系统中设 置备份磁盘,因此本步骤中也可以采用将对i兹盘进行的读写操作转换为对对应
的备份磁盘进行的相应操作时,chunk服务器再控制满足预设休眠条件的磁盘 的进行休眠,并且,chunk服务器还可以将被控制进入休眠状态的磁盘的信息 通知给主服务器,以使主服务器获知该磁盘当前已休眠,不能再对其进行读写 操作,流程结束。
由如图2所示的上述步骤可知,本发明实施例中在控制满足预设休眠条件 的磁盘进行休眠之前,先完成对该满足预设休眠条件的磁盘的读写操作,或者 将对该满足预设休眠条件的磁盘的读写操作转换为对对应的备份磁盘的相应 操作,从而本发明实施例提供的该控制磁盘休眠的方法不会导致业务的中断,
具有良好的适用性。
此外,本发明实施例中的chunk服务器中还可以进一步包含定时器单元, 用于针对休眠的磁盘设置磁盘的休眠时间长度,比如,可以根据分布式文件系 统当前的业务量大小,来设置磁盘的休眠时间长度,当业务量较大时,如上文 提到过的"黄金时段",该时段中就具有较大的业务量,则此时就可以为休眠 的磁盘设置较短的休眠时间长度,以使休眠的磁盘只能休息较短的时间长度便 恢复工作状态,反之,当业务量较小时,则可以为休眠的》兹盘设置一个较长的 休眠时间长度,以使休眠磁盘能获得充分的休眠时间。
本发明实施例提供的上述方案中,由主服务器确定满足休眠条件的磁盘, 由chunk服务器控制磁盘进行休眠,从而在实现控制磁盘进行休眠的同时,对 已有分布式文件系统的结构改动较小,不用投入过多改造成本,具有较强的实 用性。
对应于本发明实施例提供的上述控制磁盘休眠的方法,本发明实施例还提 供一种chunk服务器,用以控制分布式文件系统中的磁盘定期进行休眠,避免 磁盘持续处于被读写状态而导致磁盘老化速度过快的问题,本发明实施例提供 的该chunk服务器的具体结构示意图如图3所示,具体包括以下功能单元提供单元31,用于将分布式文件系统中各磁盘的信息提供给主服务器;
接收单元32,用于接收主服务器发来的满足预设休眠条件的磁盘的信息, 其中,满足预设休眠条件的磁盘的信息为主服务器根据提供单元31提供的各 磁盘的信息,确定出满足预设休眠条件的磁盘后发来的,其中,这里的休眠条 件可以但不限于为i兹盘当前处于未休眠状态,并且当前时间与磁盘上次进入休 眠状态的时间之差不小于预设的时间长度阈值,并且分布式文件系统中存在与 磁盘相对应的当前处于未休眠状态的M磁盘;
控制单元33,用于根据接收单元32接收的满足预设休眠条件的磁盘的信 息,控制满足预设休眠条件的磁盘进行休眠。
此外,本发明实施例提供的该chunk服务器还可以进一步包括用于对满足 预设休眠条件的磁盘的休眠时间长度进行设置的时间长度设置单元34。
由于满足预设休眠条件的磁盘有可能正处于读写状态,为了不中断正在该 磁盘上进行的读写工作,因此,本发明实施例中还可以进一步将状态设置单元 33划分为以下功能模块
确定模块331 ,用于根据满足预设休眠条件的磁盘的信息,确定满足预设 休眠条件的磁盘;
判断模块332,用于判断当前是否正在对确定模块331确定的磁盘进行读 或写操作;
控制模块333,'用于在判断模块332得到的判断结果为否时,控制确定模 块331确定的磁盘进行休眠,以及在判断模块332得到的判断结果为是时,确 定当前对确定模块331确定的磁盘的读和写操作是否完成,并在确定出所述读 和写操作完成时,或在将所述读和写操作转换为对确定模块331确定的磁盘对 应的备份磁盘进行的相应操作时,控制确定模块331确定的磁盘进行休眠。
本发明实施例还提供了一种主服务器,其具体结构示意图如图4所示,包 括以下功能单元
磁盘信息收集单元41,用于收集分布式文件系统中的chunk服务器提供的该分布式文件系统中的各石兹盘的信息;
休眠磁盘确定单元42,用于根据磁盘信息收集单元41收集的各》兹盘的信
息,确定满足预设休眠条件的磁盘;
磁盘休眠发起单元43 ,用于将休眠磁盘确定单元42确定的满足预设休眠条 件的磁盘的信息发送给chunk服务器。
相应地,本发明实施例还提供了一种分布式文件系统,其具体结构示意图 如图5所示,包括主服务器51和chunk服务器52,其中
主服务器51用于根据chunk服务器52提供的该分布式文件系统中各磁盘 的信息,确定满足预设休眠条件的磁盘,以及将确定的满足预设休眠条件的磁 盘的信息发送给chunk服务器52,其中,主服务器51可以是在定时器预先设 定的时间点到来后,才执行上述功能,比如,根据分布式文件系统对磁盘休眠 时间的要求,可以设置定时器定时的时间点为凌晨2点等;
而chunk服务器52则用于将分布式文件系统中各磁盘的信息提供给主服 务器51,并根据主服务器51发来的满足预设休眠条件的磁盘的信息,控制满 足预设休眠条件的磁盘进行休眠,并且,chunk服务器52还可以选择是否将被 控制进入休眠状态的》兹盘的信息上报给主服务器51。
与上述方法及服务器的实施例类似,本发明实施例提供的该系统实施例 中,能够进行休眠的磁盘需满足的预设休眠条件同样可以但不限于为
磁盘当前处于未休眠状态,并且当前时间与磁盘上次i^A休眠状态的时间 之差不小于预设的时间长度阈值。
较佳地,若在分布式文件系统中设置有备份磁盘,则休眠条件中还可以包 括分布式文件系统中存在与磁盘相对应的当前处于未休眠状态的备份磁盘。
以下以本发明实施例提供的上述方案在实际应用中的一个实施过程为例, 详细说明该方案的应用过程,该实施过程的应用环境如图6a所示,该图为本 发明实施例中的分布式文件系统的结构示意图,其中,主服务器中包括FLR 单元和数据库单元,FLR单元的主要功能包括确定该系统中满足休眠条件的磁盘等,而数据库单元的功能则主要是对chunk服务器上传给主服务器的各磁盘 的信息进行存储以友判断磁盘是否满足休眠条件等;chunk服务器中包含FAS 单元,该FAS单元实现对磁盘的控制以及收集并向主服务器上报磁盘的信息等 功能。具体地,本发明实施例提供的上述方案在该应用环境中的实现流程图如 图6b所示,包括以下步骤
步骤61, FLR单元检测到定时器预先设定的时间点到来;
步骤62, FLR单元向数据库单元发送查询消息,该查询消息用于通知数 据库单元对数据库单元中存储的与磁盘是否满足休眠条件相关的信息进行查 询,在本步骤中52,可以采用FLR单元发送一个查询消息,该消息中可以包 含某个磁盘的标识,用于通知数据库单元查询与该标识对应的磁盘是否满足休 眠条件的方式,也可以采用FLR单元发送一个查询消息,用于通知数据库单 元查询分布式文件系统中所有满足休眠条件的磁盘的方式,在该具体实施方式
中,假设采用的是FLR单元发送的查询消息中包含某磁盘标识的方式;
步骤63,数据库单元在接收到FLR单元发来的查询消息后,根据该查询 消息中包含的磁盘标识以及数据库单元自身存储的由chunk服务器上传的各磁 盘的信息,确定与该标识对应的^f兹盘是否正处于休眠状态、该标识对应的^兹盘 是否存在未休眠的^f分》兹盘、当前时间与该标识对应的^兹盘上次进行休眠的时 间的时间差是否大于预设的阈值(比如,可以直接判断在FLR单元上次检测 到定时器预设时间点到来后设置进入休眠状态的磁盘中是否包含与该标识对 应的磁盘,如没有该;兹盘,则可以确定上述时间差大于预设的阈值);
步骤64,数据库单元将确定结果反馈给FLR单元;
步骤65, FLR单元根据数据库单元反馈的确定结果,判断是否该磁盘是 否满足休眠条件,当判断为满足条件时,执行步骤66,否则,执行步骤62, 将另 一个磁盘的标识承载在查询消息中发送给数据库单元;
步骤66, FLR单元从^兹盘标识与chunk服务器标识的对应关系中,确定该 磁盘对应的chunk服务器,并发送磁盘休眠请求到该确定的chunk服务器上的FAS单元,其中,该磁盘休眠请求可以包括该磁盘的休眠时间长度信息,该休 眠时间长度信息用于指示chunk服务器针对该磁盘,设置相应的休眠时间长度;
步骤67, chunk服务器上的FAS单元开始控制磁盘进行休眠前的准备工作, 比如,确定该磁盘上进行的读写操作是否完成,如果当前的对该磁盘的读写请 求较多,还可以将这些读写请求转换为对该磁盘对应的备份磁盘的读写操作;
步骤68, FAS单元调用操作系统磁盘驱动程序接口,对该磁盘里的寄存器 进行设置,将磁盘的状态设置为休眠状态,从而实现控制磁盘进行休眠,并可 以根据FLR单元指示的休眠时间长度,利用定时器对磁盘休眠的时间长度进 行设置;
步骤69, FAS单元将设置为休眠状态的该石兹盘的信息发送给FLR单元;
步骤610, FLR单元将接收到的该^兹盘的信息发送给数据库单元;
步骤611,数据库单元根据接收到的该磁盘的信息,对数据库单元存储的 内容进行更新,从而主服务器后续获知该磁盘当前为休眠状态后,不再在该磁 盘上进行读写操作,流程结束。
在完成上述步骤610后,FLR单元可以继续向数据库单元发送包舍其他磁 盘标识的查询消息,以控制其他满足休眠条件的磁盘进行休眠。
对应于本发明实施例提供的控制磁盘休眠的方案,本发明实施例还提供一 种启用磁盘的方法,用于启用处于休眠状态的磁盘,该方法的具体流程示意图 如图7所示,包括以下步骤
步骤71,分布式文件系统中的chunk服务器确定需启用的休眠磁盘,较佳 地,chunk服务器可以在检测到chunk服务器自身包含的定时器预先设定的时 间点到来后,才确定需启用的休眠磁盘,比如,定时器可以将上文中提到的"黄 金时段"到来的时刻预设为启用休眠磁盘的时间点; '
步骤72, chunk服务器将需启用的休眠磁盘的状态设置为工作状态;
步骤73,确定被设置为工作状态的磁盘所对应的备份磁盘所保存的数据与 被设置为工作状态的该^磁盘所保存的数据中不同的凝:据;步骤74, chunk服务器将确定的不同的数据复制到被设置为工作状态的该 磁盘中。
需要说明的是,由于^兹盘在进行休眠时,分布式文件系统中的任意业务产 生的对该磁盘的读写操作都转换为对相应的^f分磁盘的读写操作,而虽然对磁 盘的读操作不会改变磁盘中保存的数据,但对磁盘的写操作则会在磁盘中增加 相应的数据,从而本发明实施例提供的上述启用磁盘的方法中,有必要将在磁 盘休眠期间对备份磁盘进行的写操作产生的数据复制到被启用的磁盘中,以保 证被启用的磁盘和与之对应的备份磁盘的同步性。
对应于本发明实施例提供的上述启用磁盘的方法,本发明实施例还提供一 种chunk服务器,其具体结构示意图如图8所示,包括以下功能单元
磁盘确定单元81,用于确定需启用的休眠磁盘;
状态设置单元82,用于将确定单元81确定的需启用的休眠磁盘的状态设 置为工作状态;
数据确定单元83,用于确定状态设置单元82设置为工作状态的磁盘所对 应的备份磁盘所保存的数据与状态设置单元82设置为工作状态的磁盘所保存 的数据中不同的数据;
复制单元84,用于将数据确定单元83确定的不同的数据复制到状态设置 单元82设置为工作状态的磁盘中。
以下以上述启用》兹盘的方案在实际应用中的应用流程为例,详细说明上述 方案,该应用流程共分为两个部分,第一部分为启用休B民磁盘的过程,具体请 参见图9,第二部分为被启用的磁盘与对应的^f分磁盘之间实现数据同步的过 程,具体请参见图10,下面结合附图,分别对两部分进行介绍
图9所示为启用休眠磁盘过程的具体流程示意图,该流程的应用环境同样 可以参照图6a,具体地,该流程包括以下步骤
步骤91, chunk服务器中的FAS单元检测到定时器预设的时间点到来;
步骤92, FAS单元确定需进行启用的磁盘;步骤93, FAS单元调用操作系统磁盘驱动程序接口,对需进行启用的磁盘 里的寄存器进行设置,将该石兹盘的状态设置为工作状态;
步骤94, FAS单元将被启用的磁盘的状态信息等信息上报给主服务器的 FLR单元;
步骤95, FLR单元将被启用的磁盘的状态信息等信息发送给数据库单元; 步骤96,数据库单元利用接收到的信息,将自身存储的被启用的磁盘的信
息进行更新,并可以利用定时器设置控制该磁盘进行下一次休眠的时间点。 如图IO所示,为被启用的磁盘与对应的备份磁盘之间进行数据同步的具
体流程示意图,该流程的应用环境同样可以参照图5a,具体地,该流程包括以
下步骤
步骤101,FLR单元在接收到chunk服务器上报的被启用的磁盘的信息后, 根据该磁盘的标识,在磁盘的标识与备份磁盘标识的对应关系中,确定与被启 用的;兹盘对应的^f分》兹盘;
步骤102, FLR单元向控制确定的4^^磁盘的chunk服务器中的FAS单元 发送磁盘校验同步请求;
步骤103,控制备份磁盘的chunk服务器中的FAS单元在接收到磁盘校验 同步请求后,向控制被启用的磁盘的chunk服务器发送数据上报请求;
步骤104,控制被启用的磁盘的chunk服务器中的FAS单元将被启用的磁 盘中存储的数据的信息发送给控制备份磁盘的chunk服务器;
步骤105,控制备份磁盘的chunk服务器中的FAS单元比较接收到的数据 的信息和备份磁盘中存储的数据的信息;
步骤106,比较出备份磁盘中具有与被启用的磁盘中的数据不一致的数据 时,控制备份磁盘的chunk服务器的FAS单元发送数据复制通知到控制被启用 的磁盘的chunk服务器;
步骤107,控制被启用的磁盘的chunk服务器中的FAS单元将确定的不一 致的数据从备份磁盘中复制到被启用的磁盘中;步骤108,当数据复制完毕后,控制被启用的磁盘的chunk服务器中的FAS 单元向控制备份磁盘的chunk服务器发送数据复制完毕通知消息,流程结束。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发 明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1、一种控制磁盘休眠的方法,其特征在于,包括分布式文件系统中的块服务器将所述系统中各磁盘的信息提供给主服务器;所述主服务器根据所述各磁盘的信息,确定满足预设休眠条件的磁盘,并将确定的满足预设休眠条件的磁盘的信息发送给所述块服务器;所述块服务器根据所述主服务器发来的满足预设休眠条件的磁盘的信息,控制所述满足预设休眠条件的磁盘进行休眠。
2、 如权利要求l所述的方法,其特征在于,所述预设休眠条件包括 》兹盘当前处于未休眠状态;并且当前时间与磁盘上次进入休眠状态的时间之差不小于预设的时间长度阈 值;并且所述系统中存在与磁盘相对应的当前处于未休眠状态的备份磁盘。'
3、 如权利要求2所述的方法,其特征在于,所述块服务器控制所述满足 预设休眠条件的磁盘进行休眠具体包括所述块服务器判断当前是否正在对所述满足预设休眠条件的磁盘进行读 或写操作;在判断结果为否时,所述块服务器控制所述满足预设休眠条件的磁盘的状 态进行休眠;以及在判断结果为是时,确定当前对所述满足预设休眠条件的磁盘的读和写操 作是否完成,并在确定出所述读和写才喿作完成时,或在将所述读和写操作转换 为对所述满足预设休眠条件的磁盘对应的备份磁盘进行的相应操作时,所述块 服务器控制所述满足预设休眠条件的磁盘进行休眠。
4、 如1 3任一权利要求所述的方法,其特征在于,还包括 所述块服务器对所述满足预设休眠条件的磁盘的休眠时间长度进行设置。
5、 一种块服务器,其特征在于,包括提供单元,用于将分布式文件系统中各磁盘的信息提供给主服务器; 接收单元,用于接收所述主服务器发来的、所述主服务器根据所述提供单元提供的信息确定的满足预设休眠条件的磁盘的信息;控制单元,用于根据接收单元接收的满足预设休眠条件的磁盘的信息,控制将所述满足预设休眠条件的磁盘进行休眠。
6、 如权利要求5所述的块服务器,其特征在于,所述预设休眠条件包括 磁盘当前处于未休眠状态;并且当前时间与磁盘上次进入休眠状态的时间之差不小于预设的时间长度阈 值;并且所述系统中存在与磁盘相对应的当前处于未休眠状态的名^f分磁盘。
7、 如权利要求6所述的块服务器,其特征在于,所述控制单元具体包括 确定模块,用于根据所述满足预设休眠条件的磁盘的信息,确定满足预设休眠条件的磁盘;判断模块,用于判断当前是否正在对确定模块确定的磁盘进行读或写操作;控制模块,用于在判断模块得到的判断结果为否时,控制确定模块确定的 磁盘进行休眠,以及在判断模块得到的判断结果为是时,确定当前对确定模块 确定的磁盘的读和写操作是否完成,并在确定出所述读和写操作完成时,或在 将所述读和写操作转换为对确定模块确定的磁盘对应的备份磁盘进行的相应 操作时,控制确定模块确定的磁盘进行休眠。
8、 如5 7任一权利要求所述的块服务器,其特征在于,还包括 时间长度设置单元,用于对所述满足预设休眠条件的磁盘的休眠时间长度进行设置。
9、 一种主服务器,其特征在于,包括磁盘信息收集单元,用于收集分布式文件系统中的块服务器提供的所述系 统中的各磁盘的信息;休B民磁盘确定单元,用于根据磁盘信息收集单元手机的各磁盘的信息,确定满足预设休眠条件的磁盘;磁盘休眠发起单元,用于将休眠磁盘确定单元确定的满足预设休眠条件的磁 盘的信息发送给所述块服务器。
10、 一种分布式文件系统,其特征在于,包括主服务器和块服务器,其中 所述主服务器,用于根据所述块服务器提供的所述系统中各磁盘的信息,确定满足预设休眠条件的磁盘,以及将所述确定的磁盘的信息发送给所述块服 务器;所述块服务器,用于将所述系统中各磁盘的信息提供给所述主服务器,并 根据所述主服务器发来的所述确定的磁盘的信息,控制所述满足预设休眠条件 的磁盘的进行休眠。
11、 如权利要求IO所述的系统,其特征在于,所述预设休眠条件包括 磁盘当前处于未休眠状态;并且当前时间与磁盘上次进入休眠状态的时间之差不小于预设的时间长度阔 值;并且所述系统中存在与磁盘相对应的当前处于未休眠状态的备份磁盘。
12、 一种启用磁盘的方法,其特征在于,包括 分布式文件系统中的块服务器确定需启用的休眠^兹盘; 将所述需启用的休眠磁盘的状态设置为工作状态; 从所述被设置为工作状态的磁盘对应的备份磁盘保存的数据中,确定与所述被设置为工作状态的磁盘保存的数据所不同的数据;以及所述块服务器将所述确定的不同的数据复制到所述被设置为工作状态的 磁盘中。
13、 一种块服务器,其特征在于,包括 磁盘确定单元,用于确定需启用的休眠磁盘;状态设置单元,用于将确定单元确定的需启用的休眠石兹盘的状态设置为工作状态;数据确定单元,用于确定状态设置单元设置为工作状态的磁盘所对应的备 份磁盘所保存的数据与状态设置单元设置为工作状态的^f兹盘所保存的数据中 不同的凄t据;复制单元,用于将数据确定单元确定的不同的数据复制到状态设置单元设 置为工作状态的磁盘中。
全文摘要
本发明公开了一种控制磁盘休眠的方法、服务器及分布式文件系统,用以控制分布式文件系统中的磁盘定期进行休眠,避免磁盘持续处于被读写状态而导致磁盘老化速度过快。该方法包括分布式文件系统中的块服务器将所述系统中各磁盘的信息提供给主服务器;所述主服务器根据所述各磁盘的信息,确定满足预设休眠条件的磁盘,并将确定的满足预设休眠条件的磁盘的信息发送给所述主服务器;所述块服务器根据所述主服务器发来的满足预设休眠条件的磁盘的信息,控制所述满足预设休眠条件的磁盘进行休眠。本发明还公开了一种启用磁盘的方法及块服务器,用以启用处于休眠状态的磁盘。
文档编号G06F3/06GK101644994SQ20091016296
公开日2010年2月10日 申请日期2009年8月20日 优先权日2009年8月20日
发明者夏舰波, 波 张, 杰 彭 申请人:中兴通讯股份有限公司