CN112597120A - 一种目录管理方法及装置 - Google Patents
一种目录管理方法及装置 Download PDFInfo
- Publication number
- CN112597120A CN112597120A CN202011373971.2A CN202011373971A CN112597120A CN 112597120 A CN112597120 A CN 112597120A CN 202011373971 A CN202011373971 A CN 202011373971A CN 112597120 A CN112597120 A CN 112597120A
- Authority
- CN
- China
- Prior art keywords
- directory
- directories
- fixed
- mds
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种目录管理方法及装置,该方法应用于存储设备中处于活跃状态的MDS模块,该方法包括:在接收到目录创建请求时,若本MDS模块的身份标识为指定的身份标识,则根据目录创建请求创建对应的新目录;若新目录的目录层级为指定的目录层级,则确定目录层级已开启目录固定功能,并执行以下操作:获取其他存储设备中与本MDS模块进行心跳交互且处于活跃状态的MDS模块上被固定的目录的第一数量;根据获取到的第一数量和本MDS模块上被固定的目录的第二数量,确定新目录被固定到的MDS模块;将新目录固定到确定出的MDS模块上进行管理。本申请可提高分布式文件系统的性能。
Description
技术领域
本申请涉及文件系统技术领域,尤其涉及一种目录管理方法及装置。
背景技术
在一个分布式文件系统中,通常由多个存储设备中处于活跃状态的元数据服务(MetaData Server,MDS)模块共同管理元数据。
具体地,这些MDS模块一般通过目录结构的管理模式管理相关元数据。对于任一MDS模块,会根据这些MDS模块管理的目录中的元数据的读写热度,计算这些MDS模块的负载值,并在该MDS模块的负载值较高时,将该MDS管理的部分目录迁移到负载值较低的MDS模块上。
但是,在实际使用过程中,发现这些MDS模块之间会频繁发生目录迁移,由于目录迁移过程中被迁移的目录的访问被冻结,这就导致客户无法正常访问被迁移的目录所涉及的业务,从而影响分布式文件系统的性能。
发明内容
为克服相关技术中存在的问题,本申请提供了一种目录管理方法及装置。
根据本申请实施例的第一方面,提供一种目录管理方法,所述方法应用于存储设备中处于活跃状态的MDS模块,所述方法包括:
在接收到目录创建请求时,若本MDS模块的身份标识为指定的身份标识,则根据所述目录创建请求创建对应的新目录;
若所述新目录的目录层级为指定的目录层级,则确定所述目录层级已开启目录固定功能,并执行以下操作:
获取其他存储设备中与本MDS模块进行心跳交互且处于活跃状态的MDS模块上被固定的目录的第一数量;
根据获取到的第一数量和本MDS模块上被固定的目录的第二数量,确定所述新目录被固定到的MDS模块;
将所述新目录固定到确定出的MDS模块上进行管理。
根据本申请实施例的第二方面,提供一种目录管理装置,所述装置应用于存储设备中处于活跃状态的MDS模块,所述装置包括:
创建模块,用于在接收到目录创建请求时,若本MDS模块的身份标识为指定的身份标识,则根据所述目录创建请求创建对应的新目录;
处理模块,用于在所述新目录的目录层级为指定的目录层级时,确定所述目录层级已开启目录固定功能,并执行以下操作:
获取其他存储设备中与本MDS模块进行心跳交互且处于活跃状态的MDS模块上被固定的目录的第一数量;
根据获取到的第一数量和本MDS模块上被固定的目录的第二数量,确定所述新目录被固定到的MDS模块;
将所述新目录固定到确定出的MDS模块上进行管理。
本申请的实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,在存储设备中处于活跃状态的MDS模块侧,指定一些目录层级开启目录固定功能,这些开启目录固定功能的目录层级下的新目录会被指定的身份标识对应的MDS模块分散地固定到某些MDS模块上,这些新目录不会再频繁发生迁移,从而保证了客户对这些新目录所涉及的业务的访问,一定程度上提高了分布式文件系统的性能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本申请的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种目录管理方法的流程示意图;
图2为本申请实施例提供的一种目录结构的示意图;
图3为本申请实施例提供的固定各个新目录的示意图;
图4为本申请实施例提供的日志段的结构示意图之一;
图5为本申请实施例提供的日志段的结构示意图之二;
图6为本申请实施例提供的一种目录管理装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“若”或者“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
接下来对本申请实施例进行详细说明。
本申请实施例提供了一种目录管理方法,该方法应用于存储设备中处于活跃(active)状态的MDS模块,如图1所示,该方法可以包括如下步骤:
S11、在接收到目录创建请求时,若本MDS模块的身份标识为指定的身份标识,则根据目录创建请求创建对应的新目录。
S12、若新目录的目录层级为指定的目录层级,则确定目录层级已开启目录固定功能,并执行以下操作:
获取与本MDS模块进行通信的所有的处于活跃状态的MDS模块上被固定的目录的第一数量;
根据获取到的第一数量和本MDS模块上被固定的目录的第二数量,确定新目录被固定到的MDS模块;
将新目录固定到确定出的MDS模块上进行管理。
需要说明的是,在本申请实施例中,对于分布式系统中包括有处于active状态的MDS模块的每台存储设备而言,每台存储设备中的处于active状态的MDS模块均会被赋予一个唯一的身份标识,以便每个处于active状态的MDS模块依据自己的身份标识是否为指定的身份标识来决策是否创建新目录。
具体地,对于每个处于active状态的MDS模块而言,在接收到来自客户端设备的目录创建请求时,如果自己的身份标识为指定的身份标识,则该MDS模块会根据目录创建请求创建对应的新目录。
如果自己的身份标识不为指定的身份标识,则该MDS模块会将目录创建请求发送给指定的身份标识对应的MDS模块,以由此MDS模块开始执行上述步骤S11中的根据目录创建请求创建对应的新目录。在这里,该MDS模块侧保存有与该MDS模块进行心跳交互的所有处于active状态的MDS模块(不同的MDS模块归属于不同的存储设备)的身份标识。
例如,假设分布式系统中有3台包括有处于active状态的MDS模块的存储设备,其身份标识分别为rank 0、rank1和rank2。假设指定的身份标识为rank 0,那么,如果rank 0对应的MDS模块接收到来自客户端设备1的目录创建请求1,此时,rank 0对应的MDS模块会知晓自己的身份标识是指定的身份标识,直接根据目录创建请求1创建对应的新目录1。
如果rank 1对应的MDS模块接收到来自客户端设备2的目录创建请求2,此时,rank1对应的MDS模块会知晓自己的身份标识不是指定的身份标识,会将目录创建请求2发送给rank 0对应的MDS模块,以由rank 0对应的MDS模块根据目录创建请求2创建对应的新目录。
在本申请实施例中,为了避免新目录频繁发生迁移,影响客户对这些新目录所涉及的业务的访问,对于存储设备中处于active状态的MDS模块而言,可以通过能够实现目录固定功能的软件程序(可称之为智能固定(pin)工具)指定一些目录层级开启目录固定功能,后续由指定的身份标识对应的MDS模块通过智能pin工具将这些开启目录固定功能的目录层级下的新目录分散地固定到某些MDS模块上。
具体地,智能pin工具可以提供一个配置参数,供管理者为指定的目录层级配置开启目录固定功能。例如,该配置参数可以为mds_smart_pin_depths参数,该参数可以包括32位,每八位表示一个目录层级(即最大目录层级为255),mds_smart_pin_depths参数对应的参数值默认可以为0,即默认不开启目录固定功能,每层目录的层级数值表示从根目录到该目录的深度,根目录深度为0,如图2所示。
当然,智能pin工具还可以提供其他配置方式,为目录层级开启目录固定功能,在此不再一一列举。
接下来,对于存储设备中处于active状态的MDS模块而言,在执行完上述步骤S11之后,若发现新目录的目录层级不为指定的目录层级,则该MDS模块仍然按照现有方式进行后续处理;若发现新目录的目录层级为指定的目录层级,则该MDS模块确定该目录层级已开启目录固定功能,可以通过智能pin工具执行上述步骤S12中的相关操作。
具体地,在上述步骤S12中,上述第一数量为该MDS模块通过与上述第一数量对应的MDS模块进行心跳交互的方式获得的。
该MDS模块可以通过以下方式确定新目录被固定到的MDS模块:
若获取到的第一数量全部大于第二数量,则将本MDS模块确定为新目录被固定到的MDS模块;
若获取到的第一数量不全部大于第二数量,则将获取到的第一数量中任一小于第二数量的第一数量所对应的MDS模块,确定为新目录被固定到的MDS模块。
基于上述确定方式,该MDS模块在将新目录固定到确定出的MDS模块上进行管理时,具体实现过程如下:
在确定出的MDS模块为本MDS模块时,将新目录固定到本MDS模块上进行管理;
在确定出的MDS模块不为本MDS模块时,将新目录固定到确定出的MDS模块上,并将新目录迁移到确定出的MDS模块上进行管理。
具体地,对于该MDS模块来说,不管确定出的MDS模块是哪一个MDS模块,该MDS模块在将新目录固定到确定出的MDS模块上时,可以将新目录对应的元数据中的某个属性值更改为确定出的MDS模块的身份标识,以表征此新目录由确定出的MDS模块进行管理。在这里,如果此新目录未开启目录固定功能,该属性值可以为默认值。
例如,仍以上述3台存储设备为例,假设rank0对应的MDS模块将mds_smart_pin_depths参数配置为16909060,即二进制00000001 0000001000000011 00000100,配置1、2、3、4这4个目录层级开启目录固定功能,rank0对应的MDS模块依据来自客户端设备的目录创建请求,依次在1、2、3、4这4个目录层级上创建如图1所示的目录,rank0对应的MDS模块可以通过智能pin工具将这些新目录pin到这3个MDS模块上,如图3所示。
进一步需要说明的是,在本申请实施例中,对于任一存储设备中处于active状态的MDS模块来说,分布式文件系统中的客户端设备的文件系统请求会触发元数据的修改,该MDS模块会产生一个日志事件(event)来记录元数据的修改。
该MDS模块针对产生的这些日志事件是以日志段(logsegment)为单位进行管理的,每个logsegment所占用空间大小受到指定阈值的限制,并且所存储的事件数量也受到指定阈值的限制。被pin到该MDS模块上的目录属于该MDS模块所管理的一个子树(subtree),每当一个logsegment(例如,如图4所示的logsegment X)被创建后,该MDS模块会在logsegment的第一个event中存储所有的子树信息,后面的事件用于存储日志事件,直到这个logsegment的空间大小达到空间阈值或者存储的事件数量达到指定数量。正常情况下,子树个数在几十到数百个,每个logsegment可以存储2千到3千个日志事件。
当被pin到该MDS模块上的目录的数量较多时,即,该MDS模块所管理的子树的数量较多,第一个记录所有子树信息的事件占用空间特别大,导致每个logsegment只能存几个日志事件就达到了空间阈值,例如,如图5所示的logsegment X。
当一个logsegment达到空间阈值时,该MDS模块又会创建一个新的logsegment,这个新的logsegment也会先存储所有子树信息,这就容易进入“logsegment写满、创建新的logsegment、写入大量子树信息、logsegment写满”的恶性循环,致使元数据池繁忙,进而影响客户访问相关业务的时延。
为了避免因各个处于active状态的MDS模块上被pin的目录的数量较多而导致的元数据池繁忙的情形,在本申请实施例中,智能pin工具还提供有配置指定的目录层级的目录固定过期时长的功能、以及解除已超过目录固定过期时间的目录的功能,各个处于active状态的MDS模块可以及时通过智能pin工具解除已超过目录固定过期时间的目录,以减少这些MDS模块上被pin的目录的数量,从而可以缩短客户访问相关业务的时延。
具体地,智能pin工具还可以提供一个配置参数,供管理者配置指定的目录层级的目录固定过期时长(例如,3分钟、5分钟等等)。例如,该配置参数可以为mds_smart_pin_expire_mins参数,该参数对应的参数值可以是字符串,该参数对应的参数值默认可以为空字符串,即,默认永久固定。
这样一来,对于存储设备中处于active状态的MDS模块而言,在执行完将新目录固定到本MDS模块上之后,还可以通过智能pin工具执行以下操作:
若目录层级配置有目录固定过期时长,则根据新目录被固定的时间和目录固定过期时长,计算新目录的目录固定过期时间并记录;
在当前的解除周期到达时,遍历被固定的所有目录,其中,解除周期的时长(可根据实际经验值来设定)小于被固定的目录的目录层级所配置的目录固定过期时长;
若遍历到的已超过目录固定过期时间的目录的数量不大于设定数量,则解除已超过目录固定过期时间的目录的目录固定功能;
若遍历到的已超过目录固定过期时间的目录的数量大于设定数量,则从遍历到的已超过目录固定过期时间的目录中选择设定数量个目录,并解除选择出的目录的目录固定功能,将下一个解除周期作为当前的解除周期,返回执行遍历被固定的所有目录的步骤。
具体地,在此操作流程中,在新目录的目录层级配置有目录固定过期时长的情形下,此目录固定过期时长可以是该MDS模块在创建新目录之前配置的;也可以是该MDS模块在创建新目录之后配置的,在这种情况下,此目录固定过期时长对该目录层级上之前已创建的所有被pin的目录均有效,该MDS模块会依据此目录固定过期时长,分别计算之前已创建的所有被pin的目录的目录固定过期时间。
在此操作流程中,该MDS模块可以使用smart_pin_export_time参数记录新目录被pin的时间,可以使用smart_pin_expire_time参数记录新目录的目录固定过期时间,还可以使用mds_undo_smart_pin_threshold参数记录设定数量,此设定数量实际上是指该MDS模块在一个解除周期内需要解除的已超过目录固定过期时间的目录的最大个数,例如,此设定数量可以设置为100,当然,也可以设置为其他数值,在此不做具体限定。在这里,之所以设置此设定数量,主要是考虑到若一次性全部解除已超过固定过期时间的目录,容易导致大量目录的自动迁移,会严重影响客户访问相关业务。
对于该MDS模块来说,如果创建某个新目录时,此新目录的目录层级未开启目录固定功能,则该MDS模块可以设置smart_pin_export_time参数的参数值为0;如果此新目录的目录层级已开启目录固定功能,但此目录层级并未配置目录固定过期时长,则该MDS模块可以设置smart_pin_expire_time参数的参数值为0。
需要说明的是,在此操作流程中,在每个解除周期到达后,该MDS模块可以通过智能pin工具直接开始执行遍历被固定的所有目录的步骤,以完成一个解除周期结束后的相关解除操作;当然,也可以单独设计一个函数,例如,设计一个handle_smart_pin_expire()函数,该MDS模块可以通过智能pin工具调用此函数开始执行遍历被固定的所有目录的步骤,以完成一个解除周期结束后的相关解除操作。
进一步地,在本申请实施例中,在该MDS模块的身份标识不为指定的身份标识的情形下,该MDS模块还可以执行以下操作:
在接收到由指定的身份标识对应的MDS模块迁移过来的被固定的新目录时,将被固定的新目录固定到本MDS模块上;
若被固定的新目录的目录层级配置有目录固定过期时长,则根据被固定的新目录被固定的时间和目录固定过期时长,计算被固定的新目录的目录固定过期时间并记录;
在当前的解除周期到达时,遍历被固定的所有目录,其中,解除周期的时长小于被固定的目录的目录层级所配置的目录固定过期时长;
若遍历到的已超过目录固定过期时间的目录的数量不大于设定数量,则解除已超过目录固定过期时间的目录的目录固定功能;
若遍历到的已超过目录固定过期时间的目录的数量大于设定数量,则从遍历到的已超过目录固定过期时间的目录中选择设定数量个目录,并解除选择出的目录的目录固定功能,将下一个解除周期作为当前的解除周期,返回执行遍历被固定的所有目录的步骤。
需要说明的是,对于身份标识不为指定的身份标识的MDS模块来说,与身份标识为指定的身份标识的MDS模块相比,不同之处仅在于前者不负责创建新目录,由后者负责创建,其他的处理流程均相同,具体的细节在此不再赘述。
由以上技术方案可以看出,在本申请实施例中,在存储设备中处于活跃状态的MDS模块侧,指定一些目录层级开启目录固定功能,这些开启目录固定功能的目录层级下的新目录会被指定的身份标识对应的MDS模块分散地固定到某些MDS模块上,这些新目录不会再频繁发生迁移,从而保证了客户对这些新目录所涉及的业务的访问,一定程度上提高了分布式文件系统的性能。
基于同一发明构思,本申请还提供了一种目录管理装置,所述装置应用于存储设备中处于活跃状态的MDS模块,其结构示意图如图6所示,具体包括:
创建模块61,用于在接收到目录创建请求时,若本MDS模块的身份标识为指定的身份标识,则根据所述目录创建请求创建对应的新目录;
处理模块62,用于在所述新目录的目录层级为指定的目录层级时,确定所述目录层级已开启目录固定功能,并执行以下操作:
获取其他存储设备中与本MDS模块进行心跳交互且处于活跃状态的MDS模块上被固定的目录的第一数量;
根据获取到的第一数量和本MDS模块上被固定的目录的第二数量,确定所述新目录被固定到的MDS模块;
将所述新目录固定到确定出的MDS模块上进行管理。
优选地,所述处理模块62,具体用于通过以下方式确定所述新目录被固定到的MDS模块:
若获取到的第一数量全部大于所述第二数量,则将本MDS模块确定为所述新目录被固定到的MDS模块;
若获取到的第一数量不全部大于所述第二数量,则将获取到的第一数量中任一小于所述第二数量的第一数量所对应的MDS模块,确定为所述新目录被固定到的MDS模块。
优选地,所述处理模块62,具体用于:
在确定出的MDS模块为本MDS模块时,将所述新目录固定到本MDS模块上进行管理;
在确定出的MDS模块不为本MDS模块时,将所述新目录固定到所述确定出的MDS模块上,并将新目录迁移到所述确定出的MDS模块上进行管理。
优选地,所述处理模块62,还用于:
在将所述新目录固定到本MDS模块上之后,若所述目录层级配置有目录固定过期时长,则根据所述新目录被固定的时间和所述目录固定过期时长,计算所述新目录的目录固定过期时间并记录;
在当前的解除周期到达时,遍历被固定的所有目录,其中,所述解除周期的时长小于被固定的目录的目录层级所配置的目录固定过期时长;
若遍历到的已超过目录固定过期时间的目录的数量不大于设定数量,则解除已超过目录固定过期时间的目录的目录固定功能;
若遍历到的已超过目录固定过期时间的目录的数量大于所述设定数量,则从遍历到的已超过目录固定过期时间的目录中选择所述设定数量个目录,并解除选择出的目录的目录固定功能,将下一个解除周期作为当前的解除周期,返回执行遍历被固定的所有目录的步骤。
优选地,所述装置还包括:
发送模块(图6中未示出),用于在本MDS模块的身份标识不为指定的身份标识时,将所述目录创建请求发送给所述指定的身份标识对应的MDS模块,以由所述指定的身份标识对应的MDS模块开始执行根据所述目录创建请求创建对应的新目录的步骤。
优选地,所述处理模块62,还用于:
在接收到由所述指定的身份标识对应的MDS模块迁移过来的被固定的新目录后,若所述被固定的新目录的目录层级配置有目录固定过期时长,则根据所述被固定的新目录被固定的时间和所述目录固定过期时长,计算所述被固定的新目录的目录固定过期时间并记录;
在当前的解除周期到达时,遍历被固定的所有目录,其中,所述解除周期的时长小于被固定的目录的目录层级所配置的目录固定过期时长;
若遍历到的已超过目录固定过期时间的目录的数量不大于设定数量,则解除已超过目录固定过期时间的目录的目录固定功能;
若遍历到的已超过目录固定过期时间的目录的数量大于所述设定数量,则从遍历到的已超过目录固定过期时间的目录中选择所述设定数量个目录,并解除选择出的目录的目录固定功能,将下一个解除周期作为当前的解除周期,返回执行遍历被固定的所有目录的步骤。
由以上技术方案可以看出,在本申请实施例中,在存储设备中处于活跃状态的MDS模块侧,指定一些目录层级开启目录固定功能,这些开启目录固定功能的目录层级下的新目录会被指定的身份标识对应的MDS模块分散地固定到某些MDS模块上,这些新目录不会再频繁发生迁移,从而保证了客户对这些新目录所涉及的业务的访问,一定程度上提高了分布式文件系统的性能。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (12)
1.一种目录管理方法,其特征在于,所述方法应用于存储设备中处于活跃状态的元数据服务MDS模块,所述方法包括:
在接收到目录创建请求时,若本MDS模块的身份标识为指定的身份标识,则根据所述目录创建请求创建对应的新目录;
若所述新目录的目录层级为指定的目录层级,则确定所述目录层级已开启目录固定功能,并执行以下操作:
获取其他存储设备中与本MDS模块进行心跳交互且处于活跃状态的MDS模块上被固定的目录的第一数量;
根据获取到的第一数量和本MDS模块上被固定的目录的第二数量,确定所述新目录被固定到的MDS模块;
将所述新目录固定到确定出的MDS模块上进行管理。
2.根据权利要求1所述的方法,其特征在于,通过以下方式确定所述新目录被固定到的MDS模块:
若获取到的第一数量全部大于所述第二数量,则将本MDS模块确定为所述新目录被固定到的MDS模块;
若获取到的第一数量不全部大于所述第二数量,则将获取到的第一数量中任一小于所述第二数量的第一数量所对应的MDS模块,确定为所述新目录被固定到的MDS模块。
3.根据权利要求2所述的方法,其特征在于,将所述新目录固定到确定出的MDS模块上进行管理,具体包括:
在确定出的MDS模块为本MDS模块时,将所述新目录固定到本MDS模块上进行管理;
在确定出的MDS模块不为本MDS模块时,将所述新目录固定到所述确定出的MDS模块上,并将所述新目录迁移到所述确定出的MDS模块上进行管理。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在将所述新目录固定到本MDS模块上之后,若所述目录层级配置有目录固定过期时长,则根据所述新目录被固定的时间和所述目录固定过期时长,计算所述新目录的目录固定过期时间并记录;
在当前的解除周期到达时,遍历被固定的所有目录,其中,所述解除周期的时长小于被固定的目录的目录层级所配置的目录固定过期时长;
若遍历到的已超过目录固定过期时间的目录的数量不大于设定数量,则解除已超过目录固定过期时间的目录的目录固定功能;
若遍历到的已超过目录固定过期时间的目录的数量大于所述设定数量,则从遍历到的已超过目录固定过期时间的目录中选择所述设定数量个目录,并解除选择出的目录的目录固定功能,将下一个解除周期作为当前的解除周期,返回执行遍历被固定的所有目录的步骤。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在本MDS模块的身份标识不为指定的身份标识时,将所述目录创建请求发送给所述指定的身份标识对应的MDS模块,以由所述指定的身份标识对应的MDS模块开始执行根据所述目录创建请求创建对应的新目录的步骤。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在接收到由所述指定的身份标识对应的MDS模块迁移过来的被固定的新目录后,若所述被固定的新目录的目录层级配置有目录固定过期时长,则根据所述被固定的新目录被固定的时间和所述目录固定过期时长,计算所述被固定的新目录的目录固定过期时间并记录;
在当前的解除周期到达时,遍历被固定的所有目录,其中,所述解除周期的时长小于被固定的目录的目录层级所配置的目录固定过期时长;
若遍历到的已超过目录固定过期时间的目录的数量不大于设定数量,则解除已超过目录固定过期时间的目录的目录固定功能;
若遍历到的已超过目录固定过期时间的目录的数量大于所述设定数量,则从遍历到的已超过目录固定过期时间的目录中选择所述设定数量个目录,并解除选择出的目录的目录固定功能,将下一个解除周期作为当前的解除周期,返回执行遍历被固定的所有目录的步骤。
7.一种目录管理装置,其特征在于,所述装置应用于存储设备中处于活跃状态的元数据服务MDS模块,所述装置包括:
创建模块,用于在接收到目录创建请求时,若本MDS模块的身份标识为指定的身份标识,则根据所述目录创建请求创建对应的新目录;
处理模块,用于在所述新目录的目录层级为指定的目录层级时,确定所述目录层级已开启目录固定功能,并执行以下操作:
获取其他存储设备中与本MDS模块进行心跳交互且处于活跃状态的MDS模块上被固定的目录的第一数量;
根据获取到的第一数量和本MDS模块上被固定的目录的第二数量,确定所述新目录被固定到的MDS模块;
将所述新目录固定到确定出的MDS模块上进行管理。
8.根据权利要求7所述的装置,其特征在于,所述处理模块,具体用于通过以下方式确定所述新目录被固定到的MDS模块:
若获取到的第一数量全部大于所述第二数量,则将本MDS模块确定为所述新目录被固定到的MDS模块;
若获取到的第一数量不全部大于所述第二数量,则将获取到的第一数量中任一小于所述第二数量的第一数量所对应的MDS模块,确定为所述新目录被固定到的MDS模块。
9.根据权利要求8所述的装置,其特征在于,所述处理模块,具体用于:
在确定出的MDS模块为本MDS模块时,将所述新目录固定到本MDS模块上进行管理;
在确定出的MDS模块不为本MDS模块时,将所述新目录固定到所述确定出的MDS模块上,并将所述新目录迁移到所述确定出的MDS模块上进行管理。
10.根据权利要求9所述的装置,其特征在于,所述处理模块,还用于:
在将所述新目录固定到本MDS模块上之后,若所述目录层级配置有目录固定过期时长,则根据所述新目录被固定的时间和所述目录固定过期时长,计算所述新目录的目录固定过期时间并记录;
在当前的解除周期到达时,遍历被固定的所有目录,其中,所述解除周期的时长小于被固定的目录的目录层级所配置的目录固定过期时长;
若遍历到的已超过目录固定过期时间的目录的数量不大于设定数量,则解除已超过目录固定过期时间的目录的目录固定功能;
若遍历到的已超过目录固定过期时间的目录的数量大于所述设定数量,则从遍历到的已超过目录固定过期时间的目录中选择所述设定数量个目录,并解除选择出的目录的目录固定功能,将下一个解除周期作为当前的解除周期,返回执行遍历被固定的所有目录的步骤。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
发送模块,用于在本MDS模块的身份标识不为指定的身份标识时,将所述目录创建请求发送给所述指定的身份标识对应的MDS模块,以由所述指定的身份标识对应的MDS模块开始执行根据所述目录创建请求创建对应的新目录的步骤。
12.根据权利要求11所述的装置,其特征在于,所述处理模块,还用于:
在接收到由所述指定的身份标识对应的MDS模块迁移过来的被固定的新目录后,若所述被固定的新目录的目录层级配置有目录固定过期时长,则根据所述被固定的新目录被固定的时间和所述目录固定过期时长,计算所述被固定的新目录的目录固定过期时间并记录;
在当前的解除周期到达时,遍历被固定的所有目录,其中,所述解除周期的时长小于被固定的目录的目录层级所配置的目录固定过期时长;
若遍历到的已超过目录固定过期时间的目录的数量不大于设定数量,则解除已超过目录固定过期时间的目录的目录固定功能;
若遍历到的已超过目录固定过期时间的目录的数量大于所述设定数量,则从遍历到的已超过目录固定过期时间的目录中选择所述设定数量个目录,并解除选择出的目录的目录固定功能,将下一个解除周期作为当前的解除周期,返回执行遍历被固定的所有目录的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011373971.2A CN112597120B (zh) | 2020-11-30 | 2020-11-30 | 一种目录管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011373971.2A CN112597120B (zh) | 2020-11-30 | 2020-11-30 | 一种目录管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112597120A true CN112597120A (zh) | 2021-04-02 |
CN112597120B CN112597120B (zh) | 2022-05-27 |
Family
ID=75187983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011373971.2A Active CN112597120B (zh) | 2020-11-30 | 2020-11-30 | 一种目录管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597120B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012933A (zh) * | 2010-12-02 | 2011-04-13 | 清华大学 | 分布式文件系统及利用其存储数据和提供服务的方法 |
CN103198153A (zh) * | 2013-04-25 | 2013-07-10 | 北京邮电大学 | 一种应用于分布式文件系统的元数据分簇管理方法和模块 |
US20130218934A1 (en) * | 2012-02-17 | 2013-08-22 | Hitachi, Ltd. | Method for directory entries split and merge in distributed file system |
CN106416191A (zh) * | 2014-01-28 | 2017-02-15 | 瑞典爱立信有限公司 | 向通信网络中的服务提供信息 |
CN108196787A (zh) * | 2017-12-21 | 2018-06-22 | 北京鲸鲨软件科技有限公司 | 集群存储系统的配额管理方法以及集群存储系统 |
US10140304B1 (en) * | 2015-12-10 | 2018-11-27 | EMC IP Holding Company LLC | Distributed metadata servers in a file system with separate metadata servers for file metadata and directory metadata |
CN109189341A (zh) * | 2018-08-30 | 2019-01-11 | 郑州云海信息技术有限公司 | 分布式存储系统的目录负载均衡方法、装置、设备及介质 |
CN109684282A (zh) * | 2018-11-23 | 2019-04-26 | 华为技术有限公司 | 一种构建元数据缓存的方法及装置 |
CN111046001A (zh) * | 2019-12-28 | 2020-04-21 | 浪潮电子信息产业股份有限公司 | 一种批量创建文件的方法、装置、设备及存储介质 |
CN111190863A (zh) * | 2019-12-29 | 2020-05-22 | 浪潮电子信息产业股份有限公司 | 一种目录管理方法、装置、设备、介质 |
-
2020
- 2020-11-30 CN CN202011373971.2A patent/CN112597120B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012933A (zh) * | 2010-12-02 | 2011-04-13 | 清华大学 | 分布式文件系统及利用其存储数据和提供服务的方法 |
US20130218934A1 (en) * | 2012-02-17 | 2013-08-22 | Hitachi, Ltd. | Method for directory entries split and merge in distributed file system |
CN103198153A (zh) * | 2013-04-25 | 2013-07-10 | 北京邮电大学 | 一种应用于分布式文件系统的元数据分簇管理方法和模块 |
CN106416191A (zh) * | 2014-01-28 | 2017-02-15 | 瑞典爱立信有限公司 | 向通信网络中的服务提供信息 |
US10140304B1 (en) * | 2015-12-10 | 2018-11-27 | EMC IP Holding Company LLC | Distributed metadata servers in a file system with separate metadata servers for file metadata and directory metadata |
CN108196787A (zh) * | 2017-12-21 | 2018-06-22 | 北京鲸鲨软件科技有限公司 | 集群存储系统的配额管理方法以及集群存储系统 |
CN109189341A (zh) * | 2018-08-30 | 2019-01-11 | 郑州云海信息技术有限公司 | 分布式存储系统的目录负载均衡方法、装置、设备及介质 |
CN109684282A (zh) * | 2018-11-23 | 2019-04-26 | 华为技术有限公司 | 一种构建元数据缓存的方法及装置 |
CN111046001A (zh) * | 2019-12-28 | 2020-04-21 | 浪潮电子信息产业股份有限公司 | 一种批量创建文件的方法、装置、设备及存储介质 |
CN111190863A (zh) * | 2019-12-29 | 2020-05-22 | 浪潮电子信息产业股份有限公司 | 一种目录管理方法、装置、设备、介质 |
Non-Patent Citations (2)
Title |
---|
LIN HUO 等: "Research on Metadata Management Scheme of Distributed File System", 《2015 INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND APPLICATIONS (CSA)》 * |
张香蕊 等: "网格中资源信息服务—元计算目录服务", 《微型电脑应用》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112597120B (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4117265B2 (ja) | ファイルシステムのバージョンを管理する方法およびシステム | |
CN110221820B (zh) | spring框架泛型依赖注入方法、装置及计算机设备、存储介质 | |
CN103559231B (zh) | 一种文件系统配额管理方法、装置及系统 | |
CN110532247A (zh) | 数据迁移方法和数据迁移系统 | |
CN109428913B (zh) | 一种存储扩容方法及装置 | |
CN106708608A (zh) | 一种分布式锁服务方法、获取方法及相应装置 | |
WO2022016865A1 (zh) | 一种业务处理方法、系统、设备以及介质 | |
CN104793981B (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN108306780B (zh) | 一种基于云环境的虚拟机通信质量自优化的系统和方法 | |
CN111737254B (zh) | 一种提高应用缓存利用率的方法及装置 | |
CN114840272B (zh) | 一种多数据源动态规划及监测系统、方法 | |
CN112597120B (zh) | 一种目录管理方法及装置 | |
CN108897569A (zh) | iOS工程无用文件的清理方法及计算机可读存储介质 | |
CN107122254B (zh) | 一种计算机修复控制方法及系统、修复方法及系统 | |
CN115617788B (zh) | 一种制品清理方法、装置及计算机可读存储介质 | |
CN115657969B (zh) | 一种获取文件系统差异数据的方法、装置、设备及介质 | |
CN114546265B (zh) | 一种快速容量均衡的方法、系统、设备和存储介质 | |
CN113868194B (zh) | 一种存储设备本地用户组的管理方法、装置、系统及介质 | |
CN115373609A (zh) | 任务处理方法及相关设备 | |
CN108763933A (zh) | 一种基于自动程序清单的应用程序管理方法及系统 | |
CN110011832B (zh) | 一种计划任务的配置下发方法及装置 | |
US12147391B2 (en) | Method for service processing and system, device, and medium | |
CN106598687A (zh) | 一种脚本预热方法和装置 | |
CN110321358A (zh) | 一种用户数据整编的方法及装置 | |
CN117632953B (zh) | 数据循环存储方法、装置、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |