CN114415971A - 数据处理方法以及装置 - Google Patents
数据处理方法以及装置 Download PDFInfo
- Publication number
- CN114415971A CN114415971A CN202210299496.1A CN202210299496A CN114415971A CN 114415971 A CN114415971 A CN 114415971A CN 202210299496 A CN202210299496 A CN 202210299496A CN 114415971 A CN114415971 A CN 114415971A
- Authority
- CN
- China
- Prior art keywords
- metadata
- directory
- array
- management table
- tree
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例提供数据处理方法以及装置,其中所述数据处理方法,应用于分布式文件系统中的元数据管理节点,包括:确定待处理元数据在目录树中的目录层级,基于所述目录层级为所述待处理元数据分配数组标识;基于所述数组标识以及所述目录树中的元数据,构建所述待处理元数据对应的元数据管理表,并基于所述元数据管理表对所述目录树进行管理,通过数组标识实现对元数据管理表以及目录树进行划分,能够高效地实现对元数据的管理。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种数据处理方法。
背景技术
文件系统需要管理大量元数据,包括(目录和目录项,文件属性和文件数据布局,文件锁或者文件范围锁等等),随着文件系统规模(文件数量,存储容量)扩大,元数据的规模也几何级增长,单个元数据节点(MDS)已经不能胜任元数据管理的工作,成为系统的瓶颈点。目前在采用多元数据节点的管理方案中,通过对元数据进行切片、划分进行管理,但由于文件系统具有目录树管理的特点,在对大量的元数据执行操作的过程中,无法提供高效的元数据访问,也无法为元数据的修改提供灵活的接口,影响了文件系统对元数据的管理效率。
发明内容
有鉴于此,本说明书实施例提供了一种数据处理方法。本说明书一个或者多个实施例同时涉及一种数据处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据处理方法,应用于分布式文件系统中的元数据管理节点,包括:
确定待处理元数据在目录树中的目录层级,基于所述目录层级为所述待处理元数据分配数组标识;
基于所述数组标识以及所述目录树中的元数据,构建所述待处理元数据对应的元数据管理表,并基于所述元数据管理表对所述目录树进行管理。
根据本说明书实施例的第二方面,提供了一种数据处理装置,应用于分布式文件系统中的元数据管理节点,包括:
标识分配模块,被配置为确定待处理元数据在目录树中的目录层级,基于所述目录层级为所述待处理元数据分配数组标识;
数据管理模块,被配置为基于所述数组标识以及所述目录树中的元数据,构建所述待处理元数据对应的元数据管理表,并基于所述元数据管理表对所述目录树进行管理。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述数据处理方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。
本说明书一个实施例提供的数据处理方法,应用于分布式文件系统中的元数据管理节点,包括:确定待处理元数据在目录树中的目录层级,基于所述目录层级为所述待处理元数据分配数组标识;基于所述数组标识以及所述目录树中的元数据,构建所述待处理元数据对应的元数据管理表,并基于所述元数据管理表对所述目录树进行管理。
具体的,本说明书实施例提供的数据处理方法通过在分布式文件系统中的管理节点中,根据元数据在目录树中的目录层级为元数据分配对应的数组标识,从而引入了数组标识的概念,后续再根据数组标识对元数据管理表以及目录树进行构建,实现对元数据的管理;在对元数据执行操作的过程中,通过数组标识实现对元数据管理表以及目录树进行划分,能够高效地实现对元数据的管理,同时,在对元数据的修改过程中,也可以利用数组标识确定需要修改的目录树,进而,能够对目录树实现灵活的修改与调整,也提高了整个分布式文件系统对元数据的管理效率。
附图说明
图1是本说明书一个实施例提供的一种数据处理方法的流程图;
图2是本说明书一个实施例提供的一种数据处理方法中所设计的一种数组标识的结构示意图;
图3是本说明书一个实施例提供的一种数据处理方法基于数组标识构建的目录树的结构示意图;
图4是本说明书一个实施例提供的一种数据处理方法中目录树切分后调度示意图;
图5是本说明书一个实施例提供的一种数据处理方法中目录移动的结构示意图;
图6是本说明书一个实施例提供的一种数据处理方法中目录移动后的目录子树调度示意图;
图7是本说明书一个实施例提供的一种数据处理装置的结构示意图;
图8是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
文件系统/文件管理系统:是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即操作系统中负责管理和存储文件信息的软件机构称为文件管理系统。
目录项:用来描述文件或文件夹的属性、大小、创建时间、修改时间等信息。
KV/Table:以键值或表格管理数据的系统。
Inode(information node):文件系统中的单个实体节点(文件、目录等)。
元数据(Metadata):又称中介数据、中继数据,为描述数据的数据(data aboutdata),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
MDS(MetaDataServer,元数据管理节点):分布式文件系统中对元数据进行管理的节点。
DirEnt(文件系统中的目录项):LINUX系统中描述目录项所使用的结构体。
通用文件系统需要管理大量元数据,包括(目录和目录项,文件属性和文件数据布局,文件锁或者文件范围锁等等),随着文件系统规模(文件数量,存储容量)扩大,元数据的规模也几何级增长,单个元数据节点(MDS)已经不能胜任元数据管理的工作,成为系统的瓶颈点。
作为应对,目前一般采用多元数据管理节点(MDS)来支持大数据量的场景。在多元数据节点(MDS)的方案中,大部分方案采用将元数据切片(比如基于文件路径或者节点实体标识进行哈希)进行划分和调度,哈希到同一个文件和目录归属于某一个MDS进行管理。但是,文件系统天然就具有目录树管理的特点,基于哈希的方案在支持嵌套子树(如何将一棵完整的目录子树交给一个MDS管理以避免跨MDS的事务管理),目录移动(比如rename)(哈希值变化带来大量元数据迁移,或者保留哈希值不变但导致目录子树元数据不在聚合在单个MDS),不同目录负载均衡(哈希到特定MDS的多个目录均称为热点,会导致一个MDS中负载量较大,而其他MDS非常空闲)等场景都有很多局限。
Ceph提出了基于目录子树进行管理的方案,但是其重点依赖于自身客户端CephFSClient参与元数据管理,以及CephFSClient和MDS之间维护大量元数据缓存来应对文件系统操作(比如lookup,创建删除等等)才能满足可接受的性能。并且,Ceph的子目录调度是一个异常复杂的过程,工程实现难度非常高。
基于此,本说明书实施例提出一种目录子树进行管理(切分、调度)的方案,元数据管理基于KV/Table实现,元数据设计的关键点在于通过设计数组标识,将一棵目录子树的元数据可以和KV/Table的分区(partition)进行动态匹配(热点目录拆分对应partition分裂,目录移动对应partition分裂后重新调度),在应对目录移动、目录级负载均衡调度等场景时可以很好地维持目录树元数据的亲和性(即同一目录子树的元数据在一个MDS管理),从而能够实现在大部分情况下文件系统的各项操作(创建,删除,读写等)不需要跨越多个MDS的分布式事务,具有更好的性能。
在本说明书中,提供了一种数据处理方法,本说明书同时涉及一种数据处理装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1,图1示出了根据本说明书一个实施例提供的一种数据处理方法的流程图,具体包括以下步骤。
需要说明的是,本说明书实施例提供的数据处理方法应用于分布式文件系统中的元数据管理节点,且对分布式文件系统中可存在多个元数据管理节点,以实现对元数据进行切分与调度,其中,本实施例中对元数据管理节点的个数不作任何限定。
步骤102:确定待处理元数据在目录树中的目录层级,基于所述目录层级为所述待处理元数据分配数组标识。
其中,待处理元数据可以理解为需要在分布式文件系统中执行写入、更新等操作的元数据,包括目录名、目录属性等;目录层级可以理解为用户在执行目录创建或者元数据写入的目录所在的层级,比如,用户在目录的第一层级写入元数据,则可确定目录层级为第一层级。
数组标识可以理解为根据目录层级为元数据分配的标识(即GroupID),或者可以理解为代表某一目录层级在目录树中的节点对应的标识,比如,第一目录层级在目录树中的节点为A,则可为该目录树中的节点A分配一个对应的标识A1,以代表该目录树中的节点A。
实际应用中,分布式文件系统中的元数据管理节点在对待处理元数据进行管理的过程中,可以通过为待处理元数据分配一个数组标识,作为该待处理元数据的管理组件(该组件可以理解为元数据管理表中的key),并在后续基于所分配的数组标识对元数据进行管理;具体的,元数据管理节点可先确定出待处理元数据在目录树中的目录层级,并根据目录层级为待处理元数据分配相应的数组标识。
具体的,所述基于所述目录层级为待处理元数据分配数组标识,包括:
基于所述目录层级确定所述待处理元数据的字段层级,并基于所述字段层级以及预设数组字段为所述待处理元数据分配数组标识。
其中,字段层级可以理解为针对目录层级所确定的数组标识可占据的字段级别,比如,若确定待处理元数据的目录层级为第二层级,那么对应的待处理元数据的数组字段则占据前两个字段层级,若确定待处理元数据的目录层级为第三层级,那么对应的待处理元数据的数组字段则可占据为前三个字段层级。
实际应用中,元数据管理节点根据待处理元数据写入的目录层级,先确定出该待处理元数据的字段层级,再根据预设数组字段以及字段层级,确定为待处理元数据分配什么样的数组标识,需要说明的是,预设数组字段可以理解为GroupID所设计的所有字段数,比如,设计GroupID为一个unit64的数字,即可按照文件系统目录层次切分成多个字段,具体参考附图2,图2示出了本说明书实施例提供的数据处理方法中所设计的一种数组标识的结构示意图。
图2为数组标识,即GroupID的字段设计示意图,图中表示GroupID为一个64bit的数字,其中,图2中每一个小格可代表一个字段,可包含8个字段,则每个字段都对应一个目录层级,比如,图2中从左到右,第一个字段所对应为第一级目录,第二个字段所对应为第二个目录,第三个字段所对应为第三级目录,以此类推。需要说明的是,本实施例仅以GroupID为64bit,分为8个字段为例进行说明,实际应用中,对具体的字节数以及字段则不作任何限定。
此外,对于数组标识中的每个字段可以设计不同的数据量大小,即比特数,比如对GroupID的一种切分方式如下述表1:
表1
第一级 | 16bit |
第二级 | 12bit |
第三级 | 10bit |
第四级 | 8bit |
第五级 | 4bit |
第六级 | 4bit |
第七级 | 4bit |
第八级 | 4bit |
基于此,当创建一个目录或者文件的时候,除了分配目录树节点之外,还需要关联一个GroupID,可依据的规则:若创建的新文件,那么该新文件等于父目录的GroupID,若创建的新目录,则在复制父目录GroupID的基础上,分配对应该新目录在当前目录树上的层次的字段。举例来说,假设将GroupID的八个字段对应的八个级别记成a.b.c.d.e.f.g.h的形式,一共对应八个级别,那么,对于一个目录,根据该目录对应的层级,只需分给层级对应的字段即可,后面的字段将会留给该目录的子目录(下一层级的目录)和子子目录(再下一层级的目录),因此,若根目录下的目录(第一级目录),则GroupID应该为1.0.0.0.0.0.0.0或2.0.0.0.0.0.0.0;进而,对于第二级目录,GroupID应该为2.1.0.0.0.0.0.0或2.2.0.0.0.0.0.0。
本说明书实施例提供的数据处理方法,通过确定待处理元数据的字段层级,根据预先设计数组标识的字段格式,为待处理元数据创建对应的数组标识,使得待处理元数据不仅配有目录层级,还能够关联一个数组标识,便于后续基于该数组标识实现对元数据以目录子树为单位进行统一管理。
此外,元数据管理节点在确定待处理元数据的数组标识之后,还可将该数组标识按照一定规则进行缩写处理,以便于后续可基于该缩写后的数组标识对元数据进行管理,减少计算机处理的繁琐度;具体的,所述基于所述字段层级为所述待处理元数据分配数组标识之后,还包括:
确定预设数组字段的总字节数,基于所述总字节数确定所述字段层级对应的层级字节数;
基于所述层级字节数对所述数组标识进行缩写处理,获得所述数组标识的数组缩写标识。
实际应用中,由于预设数组字段中每个字段的字节数可以相同,也可以不相同,因此,元数据管理节点可先确定预设数组字段的总字节数,并根据总字节数确定每个字段层级对应的层级字节数,进而根据层级字节数对数组标识进行缩写处理,最后得到数组标识对应的数组缩写标识;需要说明的是,上述缩写处理的过程可参照IP/NetMask的方式来进行简写。
比如,GroupID为1.0.0.0.0.0.0.0的数组标识,可以确定该GroupID为第一级目录下分配的数组标识,且该GroupID中第一级,即第一个字段中具有数字,其他字段中为0;由于上述表1中设计的第一级字段占据的数据量大小为16bit,那么可将GroupID为1.0.0.0.0.0.0.0缩写为1/16;由于上述表1中设计的第一级字段占据的数据量大小为16bit,第二级字段占据的数据量大小为12bit,那么可将GroupID为2.1.0.0.0.0.0.0缩写为2.1/28,以此类推,本说明书实施例提供的数据处理方法,均可对数组标识进行缩写处理;其具体的缩写方法在此不做任何限定。
本说明书实施例提供的数据处理方法,通过对待处理元数据所分配的数组标识进行缩写处理,可以大大地减少计算机的计算效率,以及为后续基于缩写后的数组标识构建元数据管理表,管理目录树提供便利。
步骤104:基于所述数组标识以及所述目录树中的元数据,构建所述待处理元数据对应的元数据管理表,并基于所述元数据管理表对所述目录树进行管理。
其中,元数据管理表可以理解为对元数据进行实现管理,实现对文件系统中子目录粒度的元数据进行管理和调度。
实际应用中,元数据管理节点在确定待处理元数据对应的数组标识之后,可直接根据目录树中元数据以及该数组标识,构建元数据管理表,且该元数据管理表中具有数组标识、以及与该待处理元数据同一类型的元数据,进而,根据构建好的元数据管理表再对目录树进行管理。
进一步地,所述基于所述数组标识以及所述目录树中的元数据,构建所述待处理元数据对应的元数据管理表,包括:
从所述目录树中的元数据中,确定与所述待处理元数据的数据类型相同的元数据;
基于所述数组标识以及所述数据类型相同的元数据,构建所述待处理元数据对应的元数据管理表。
实际应用中,在构建元数据管理表的过程中,针对不同类型的元数据可放置于不同类型的元数据管理表中进行管理,因此,需要从目录树中的元数据中,确定与待处理元数据的数据类型相同的元数据,进而,根据为待处理元数据分配的数组标识与从目录树确定的类型相同的元数据,构建待处理元数据对应的元数据管理表。
需要说明的是,文件系统的元数据构建于Table之上,以文件系统最常见的目录项(DirEnt)和文件元数据(InodeAttr)表为例介绍,其它元数据都是类似的。对于目录项表可参见下述表2:
表2
GroupID (Uint64) | DirInode (Uint64) | EntryName (String) | ChildInode (Uint64) | ChildGroupID (Uint64) |
*** | *** | *** | *** | *** |
对于文件元数据可参见下述表3:
表3
ParentDirGroupID (Uint64) | Inode (Uint64) | Attrs |
*** | *** | *** |
由上述表2和表3可以看出,每个元数据管理表中将GroupID作为管理表中的主key,构建整个元数据管理表。GroupID的作用是让Table拆分/合并和文件系统逻辑子树实现联动,在子树结构发生更改(尤其是rename场景下)不需要数据搬迁或者大量key的修改,就可以便捷地实现按子树进行调度。
本说明书实施例提供的数据处理方法,通过选取与待处理元数据同一类型的元数据,构建元数据管理表,以实现构建不同种类的元数据管理表,进而能够实现更加有效地对元数据实现管理与调度。
进一步地,本说明书实施例提供的数据处理方法,以目录项表以及文件列表属性元数据表为例进行说明,其中,目录项表中对应的GroupID以及目录项对应的元数据可参见下述表4:
表4
GroupID (Uint64) | DirInode (Uint64) | EntryName (String) | ChildInode (Uint64) | ChildGroupID (Uint64) |
1/16 | 1 | / | 2 | 2/16 |
2/16 | 2 | dep1 | 3 | 2.1/28 |
2/16 | 2 | dep2 | 4 | 2.2/28 |
2.1/28 | 3 | group1 | 7 | 2.1.1/38 |
2.1/28 | 3 | group2 | 5 | 2.1.2/38 |
2.1.1/38 | 7 | Ross | 500 | - |
2.1.1/38 | 7 | team1 | 100 | 2.1.1.1/46 |
2.1.1.1/46 | 100 | Bob | 110 | - |
2.1.1.1/46 | 100 | Doug | 201 | - |
2.1.2/38 | 5 | Alice | 200 | - |
2.2/28 | 4 | group3 | 6 | 2.2.6/38 |
2.2.6/38 | 6 | Tom | 101 | - |
2.2.6/38 | 6 | Steve | 102 | - |
文件列表属性元数据表中以GroupID以及对应的元数据可参考下述表5:
表5
DirGroupID (Uint64) | Inode (Uint64) | Attrs |
2/16 | 2 | |
2.1/28 | 3 | |
2.1.1/38 | 7 | |
2.1.1/38 | 500 | |
2.1.1.1/46 | 100 | |
2.1.1.1/46 | 110 | |
2.1.1.1/46 | 201 | |
2.1.2/38 | 5 | |
2.1.2/38 | 200 | |
2.2/28 | 4 | |
2.2.6/38 | 6 | |
2.2.6/38 | 101 | |
2.2.6/38 | 102 |
基于上述表4以及表5中的元数据管理表的构建,同时,还可基于数组标识对目录树进行构建,具体可参见图3,图3示出了本说明书实施例提供的数据处理方法基于数组标识构建的目录树的结构示意图。
图3中每个节点都由节点名字、数组标识以及节点编号组成,如图3中最上方的节点(第一层级节点),包括名字为root、数组标识为2/16(数组缩写标识)、节点编号2,进而,在该root节点下的子节点(第二层级节点)有两个,第一个节点:名字为Dep1、数组标识为2.1/28、节点编号为3,第二个节点:名字为Dep2、数组标识为2.2/28、节点编号为4;进一步地,Dep1节点下的子节点分别为Group1和Group2,且Group1节点对应的数组标识为2.1.1/38、节点编号为7,Group2节点对应的数组标识为2.1.2/38、节点编号为5;Dep2节点下的子节点分别为Group3,Group3节点对应的数组标识为2.2.6/38;此外,Group1节点下还包括Ross节点的数组标识为2.1.1/38、节点编号为500,Team1节点的数组标识为2.1.1.1/46、节点编号为100,进而,Team1节点下对应的子节点包括Bob节点和Doug节点,Bob节点对应的数组标识为2.1.1.1/46、节点编号为110,Doug节点对应的数组标识为2.1.1.1/46、节点编号为201。Group2节点下包括Alice节点,数组标识为2.1.2/38、节点编号为200。Group3节点下包括Tom节点和Steve节点,Tom节点的数组标识为2.2.6/38、节点编号为101,Steve节点的数组标识为2.2.6/38、节点编号为102。
综上,元数据管理节点在引入GroupID的概念之后,所创建的元数据管理表以及目录树等均可以GroupID为主key,实现对元数据的管理,需要说明的是,一颗目录树中的元数据可以和元数据管理表中元数据进行一一匹配对应,便于后续文件系统操作仅需要根据操作的句柄(包含GroupID),即可实现对目录树中元数据的管理与调度。
进一步地,随着数据量的不断剧增,对于元数据的数据量也在海量增长,那么,在元数据管理表中的元数据过大时,还可执行分裂处理,不仅可体现在元数据管理表的分裂,还可体现在目录树的分裂,进而保证表和树实现一一对应的基础上,还可快速地实现对元数据的管理,无需执行大量的数据修改与迁移;具体的,所述基于所述元数据管理表对所述目录树进行管理,包括:
在确定所述元数据管理表中的数据满足预设拆分条件的情况下,基于所述数组标识对所述元数据管理表进行拆分处理,并基于拆分结果对所述待处理元数据所在的目录树进行切分处理。
其中,预设拆分条件可以理解为触发对元数据管理表进行拆分的条件,比如元数据管理表中元数据的数据量较大、元数据的数据访问频度或者热度较高等条件,本说明书实施例中拆分操作的触发条件在此不做任何限定。
实际应用中,分布式文件系统中若某一元数据管理节点满足预设拆分条件的时候,该元数据管理节点便可执行数据拆分的操作,具体的,元数据管理节点可基于元数据管理表中记录的数组标识,实现对元数据管理表进行拆分处理,其拆分的原则是基于数组标识实现的,即可以理解为同一级别的数组标识可以分裂为由同一个元数据管理节点进行管理,比如针对上述表4中的元数据,可参照GroupID进行拆分处理,可将表4中从上至下,由GroupID为1/16开始,向下至GroupID为2.1.2/38为止,将中间这一部分数组标识对应的元数据切分成第一个部分,表4中剩下的数组标识对应的元数据作为第二部分。进一步地,在对元数据管理表进行拆分后,得益于上述元数据管理表和目录树型结构的一一对应关系,自动实现了对待处理元数据所在的目录树进行切分的效果。
此外,除了上述元数据管理节点确定满足预设拆分条件而触发的拆分操作以外,还可根据用户的输入需求,执行对元数据管理表的拆分,进而实现对目录树的切分;具体的,所述基于所述元数据管理表对所述目录树进行管理,包括:
接收针对元数据管理表的拆分执行指令,响应于所述拆分执行指令基于所述数组标识对所述元数据管理表进行拆分处理,并基于拆分结果对所述待处理元数据所在的目录树进行切分处理。
实际应用中,元数据管理节点还可接收到运维需求或者监测执行条件下的针对元数据的拆分执行指令,进而,可响应于该拆分执行指令对元数据管理表进行拆分,同样地,都是基于元数据管理表中记录的GroupID实现管理表的拆分,进而根据拆分后的结果,同样对目录树进行拆分处理。
本说明书实施例提供的数据处理方法,在元数据管理表中通过数组标识,实现对元数据进行拆分与管理,该拆分操作不仅简单迅速,还能够实现逻辑目录树结构与元数据管理表的联动管理。
由于分布式文件系统中可提供多个管理节点实现对元数据的管理,则在对元数据管理表中的元数据进行拆分或者对目录树中的元数据进行切分之后,可直接将拆分后的一部分元数据调度至另一个管理节点进行管理,以支持多管理节点调度的功能;具体的,所述基于分裂结果对所述待处理元数据所在的目录树进行切分处理之后,还包括:
确定所述目录树的切分数组标识;
将所述切分数组标识下的所有子目录树分配至所述分布式文件系统中除所述元数据管理节点以外的其他管理节点进行管理。
其中,切分数组标识可以理解为在元数据管理表中被拆分的数组标识,比如在上述表4中,被拆分的数组标识则为2.2/28。
实际应用中,元数据管理节点在确定被拆分的切分数组标识之后,可将该切分数组标识下的子目录树的部分从目录树中拆分下来,并分配至该分布式系统中除了原来所在的元数据管理节点以外的其他管理节点进行管理;比如,数组标识为2.2/28下的子目录节点所在的目录树的子目录树的部分,可直接分配至另一个元数据管理节点管理。
具体的,由于目录树根据GroupID组成了一颗B+树,同时,GroupID也是元数据管理表中的主key的前缀,那么,B+树的切分和表的拆分是可以一一对应起来。进而,初始状态可以理解为整个根目录在一个部分,是有一个MDS管理,而一旦执行拆分或者切分之后,两颗子目录树即可分开管理(比如由于其中一个目录树成为热点数据),则切分后的两颗子目录树是由两个MDS进行管理的。
下述可参见图4,图4示出了本说明书实施例提供的数据处理方法中目录树切分后调度示意图。
图4中在Root根节点下分为两个部分,一个是左侧Range1组成的节点集群,另一个是右侧Range2组成的节点集群,相应地,Range1下的目录树则由服务器1进行管理,Range2下的目录树由服务器2进行管理,为了便于理解,采用二进制表示:若Range1对应的数组标识的范围为[0,0x2002000000000],则Range2对应的数组标识的范围为[0x2002000000000,max]。
本说明书实施例提供的数据处理方法,根据确定的切分数组标识,可将该切分数组标识对应的元数据调度由其他管理节点进行管理,以实现用不同的服务器实现对元数据管理,减轻原服务器承载的压力。
进一步地,本说明书实施例提供的数据处理方法,除了上述通过引入数组标识的概念,实现对元数据进行管理,基于该数组标识所构建的元数据管理表以及目录树,本方案同样也可支持文件系统操作中较为复杂的目录移动(rename)的情况,并且可以在rename之后继续保持整颗目录子树的本地性;具体的,所述基于所述元数据管理表对所述目录树进行管理,包括:
接收针对所述数组标识的子目录树的目录移动指令;
响应于所述目录移动指令,将所述子目录树移动至所述目录移动指令中携带的目标数组位置,其中,所述目标数组位置对应的管理节点与所述子目录树对应的管理节点不同。
实际应用中,元数据管理节点在接收到针对数组标识的子目录树的目录移动指令之后,即可响应于该目录移动指令,将该子目录树移动至该目录移动指令中携带的目标数组位置,其中,子目录树可以在同一管理节点或者不同的管理节点中进行移动,以支持跨节点和不跨节点的rename;具体的,可参见图5,图5示出了本说明书实施例提供的数据处理方法中目录移动的结构示意图。
图5中的目录树的结构与上述图3中的目录树结构相一致,在此对具体的结构不做重复赘述;以将Team1目录移动至Dep2目录下为例,如图5中将虚线框中Team1节点下的子目录树,移动至Dep2节点下,仅需根据数组标识即可完成目录的移动。
进一步地,在对目录树中的各个子目录树完成目录移动之后,同时,还可对元数据管理表进行变化调整;具体的,所述将所述子目录树移动至所述目录移动指令中携带的目标数组位置之后,还包括:
基于移动结果对所述元数据管理表进行更新,其中,所述移动结果中的数组标识在更新过程中不变。
实际应用中,元数据管理节点通过对子目录树移动的移动结果,再对元数据管理表中的元数据进行重新的更新,以使得元数据管理表中的数组标识对应的顺序与移动后的目录树中元数据的顺序相一致,继续实现一一对应的关系。
需要说明的是,本说明书实施例提供的方法中,为了保证文件系统访问的文件句柄不变性,对于移动的子目录树的数组标识则不做任何修改,移动后的目录树仍然保持亲和性,比如,根据上述图5中将Team1目录移动至Dep2目录下,则可实现在2.2/28数组标识下,可直接连接2.1.1.1/46的数组标识对应的子目录树,尽管一般规则下数组标识为2.2/28节点均连接与该节点为同等级别下的目录树,或者对应的子目录树,但在本方案中,可支持对不同数组级别对应的目录树相连接,无需修改所移动的数组标识。
具体的,经过目录移动处理后的元数据管理表可参见下述表6:
表6
GroupID (Uint64) | DirInode (Uint64) | EntryName (String) | ChildInode (Uint64) | ChildGroupID (Uint64) |
1/16 | 1 | / | 2 | 2/16 |
2/16 | 2 | dep1 | 3 | 2.1/28 |
2/16 | 2 | dep2 | 4 | 2.2/28 |
2.1/28 | 3 | group1 | 7 | 2.1.1/38 |
2.1/28 | 3 | group2 | 5 | 2.1.2/38 |
2.1.1/38 | 7 | Ross | 500 | - |
2.1.1/38 (删除整列) | 7 | team1 | 100 | 2.1.1.1/46 |
2.1.1.1/46 | 100 | Bob | 110 | - |
2.1.1.1/46 | 100 | Doug | 201 | - |
2.1.2/38 | 5 | Alice | 200 | - |
2.2/28 | 4 | group3 | 6 | 2.2.6/38 |
2.2/28 (新增整列) | 4 | team1 | 100 | 2.1.1.1/46 |
2.2.6/38 | 6 | Tom | 101 | - |
2.2.6/38 | 6 | Steve | 102 | - |
需要说明的是,本方案中通过引入GroupID的概念,对元数据管理表以及目录树进行构建,以便于执行拆分、合并联动,支持按目录树进行分布式文件系统元数据管理(切分、调度),同时能够很好地维护一个目录树的元数据在MDS层面的本地性,即使经过目录移动的操作,仍然可以实现目录子树的本地性(该本地性是指能够实现不同层级的目录子树根据数组标识也可以实现连接)。
此外,为了增强上述图5中Dep2目录子树的本地性,可以通过对元数据管理表中的子表和子目录树进行调度,将Team1这颗子树调度到和Dep2同一个MDS中,之后的这颗子树上的操作则不会涉及跨MDS的分布式事务操作,具体可参见图6,图6示出了本说明书实施例提供的数据处理方法中目录移动后的目录子树调度示意图。
图6中所示的整体结构与上述图4中的结构相似,与图4中Range1同一位置的节点下,还可继续分为三个节点,分别为range1、range2以及range3,分别对应的数组标识的范围为:[0,0x2001004040000],[0x2001004040000,0x2001008000000],[0x200100800000,0x2002000000000];其中,range1节点对应的元数据由服务器1进行管理,range2节点对应的元数据由服务器2进行管理,range3对应的元数据由服务器1进行管理;需要说明的是,range2节点在目录移动执行前,也是由服务器1进行管理,而在目录移动执行之后,即可将该range2节点对应的元数据目录子树由服务器2进行管理,同时,图6中的root节点下的右侧子目录节点中还由range2节点,对应的数组标识范围为[0x2002000000000,max],且该range2范围下的所有子目录树均由服务器2进行管理。
基于此,通过上述根据数组标识构建的目录树,可是支持将目录移动后的子目录树调度给另一个服务器进行管理,文件系统既不需要客户端参与元数据的管理,还能为同一服务器缓解一定的管理压力,从性能和管理灵活性上都具有优势。
综上,本说明书实施例提供的数据处理方法,基于Table的文件系统元数据管理方法的基础上,通过引入GroupID的概念,将文件系统目录的结构表达,和底层基于Table的分区表达一一对应起来,文件系统操作只需要根据当前的操作句柄(GroupID),结合分区的当前调度情况,就能一次定位到元数据对应的MDS,以实现逻辑目录结构和元数据管理表的拆分、合并联动,支持按目录树进行分布式文件系统元数据管理,同时能够很好的维护一个目录树的元数据在MDS层面的本地性。
与上述方法实施例相对应,本说明书还提供了数据处理装置实施例,图7示出了本说明书一个实施例提供的一种数据处理装置的结构示意图。如图7所示,该装置应用于分布式文件系统中的元数据管理节点,包括:
标识分配模块702,被配置为确定待处理元数据在目录树中的目录层级,基于所述目录层级为所述待处理元数据分配数组标识;
数据管理模块704,被配置为基于所述数组标识以及所述目录树中的元数据,构建所述待处理元数据对应的元数据管理表,并基于所述元数据管理表对所述目录树进行管理。
可选地,所述标识分配模块702,进一步被配置为:
基于所述目录层级确定所述待处理元数据的字段层级,并基于所述字段层级以及预设数组字段为所述待处理元数据分配数组标识。
可选地,所述标识分配模块702,进一步被配置为:
确定预设数组字段的总字节数,基于所述总字节数确定所述字段层级对应的层级字节数;
基于所述层级字节数对所述数组标识进行缩写处理,获得所述数组标识的数组缩写标识。
可选地,所述数据管理模块704,进一步被配置为:
从所述目录树中的元数据中,确定与所述待处理元数据的数据类型相同的元数据;
基于所述数组标识以及所述数据类型相同的元数据,构建所述待处理元数据对应的元数据管理表。
可选地,所述数据管理模块704,进一步被配置为:
在确定所述元数据管理表中的数据满足预设拆分条件的情况下,基于所述数组标识对所述元数据管理表进行拆分处理,并基于拆分结果对所述待处理元数据所在的目录树进行切分处理。
可选地,所述数据管理模块704,进一步被配置为:
接收针对元数据管理表的拆分执行指令,响应于所述拆分执行指令基于所述数组标识对所述元数据管理表进行拆分处理,并基于拆分结果对所述待处理元数据所在的目录树进行切分处理。
可选地,所述装置,还包括:
数据分配模块,被配置为确定所述目录树的切分数组标识;
将所述切分数组标识下的所有子目录树分配至所述分布式文件系统中除所述元数据管理节点以外的其他管理节点进行管理。
可选地,所述数据管理模块704,进一步被配置为:
接收针对所述数组标识的子目录树的目录移动指令;
响应于所述目录移动指令,将所述子目录树移动至所述目录移动指令中携带的目标数组位置,其中,所述目标数组位置对应的管理节点与所述子目录树对应的管理节点不同。
可选地,所述数据管理模块704,进一步被配置为:
基于移动结果对所述元数据管理表进行更新,其中,所述移动结果中的数组标识在更新过程中不变。
本说明书实施例提供的数据处理装置,通过在分布式文件系统中的管理节点中,根据元数据在目录树中的目录层级为元数据分配对应的数组标识,从而引入了数组标识的概念,后续再根据数组标识对元数据管理表以及目录树进行构建,实现对元数据的管理;在对元数据执行操作的过程中,通过数组标识实现对元数据管理表以及目录树进行划分,能够高效地实现对元数据的管理,同时,在对元数据的修改过程中,也可以利用数组标识确定需要修改的目录树,进而,能够对目录树实现灵活的修改与调整,也提高了整个分布式文件系统对元数据的管理效率。
上述为本实施例的一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的数据处理方法的技术方案属于同一构思,数据处理装置的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
图8示出了根据本说明书一个实施例提供的一种计算设备800的结构框图。该计算设备800的部件包括但不限于存储器810和处理器820。处理器820与存储器810通过总线830相连接,数据库850用于保存数据。
计算设备800还包括接入设备840,接入设备840使得计算设备800能够经由一个或多个网络860通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备840可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备800的上述部件以及图8中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图8所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备800可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备800还可以是移动式或静止式的服务器。
其中,处理器820用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的数据处理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (12)
1.一种数据处理方法,应用于分布式文件系统中的元数据管理节点,包括:
确定待处理元数据在目录树中的目录层级,基于所述目录层级为所述待处理元数据分配数组标识;
基于所述数组标识以及所述目录树中的元数据,构建所述待处理元数据对应的元数据管理表,并基于所述元数据管理表对所述目录树进行管理。
2.根据权利要求1所述的数据处理方法,所述基于所述目录层级为待处理元数据分配数组标识,包括:
基于所述目录层级确定所述待处理元数据的字段层级,并基于所述字段层级以及预设数组字段为所述待处理元数据分配数组标识。
3.根据权利要求2所述的数据处理方法,所述基于所述字段层级为所述待处理元数据分配数组标识之后,还包括:
确定预设数组字段的总字节数,基于所述总字节数确定所述字段层级对应的层级字节数;
基于所述层级字节数对所述数组标识进行缩写处理,获得所述数组标识的数组缩写标识。
4.根据权利要求1所述的数据处理方法,所述基于所述数组标识以及所述目录树中的元数据,构建所述待处理元数据对应的元数据管理表,包括:
从所述目录树中的元数据中,确定与所述待处理元数据的数据类型相同的元数据;
基于所述数组标识以及所述数据类型相同的元数据,构建所述待处理元数据对应的元数据管理表。
5.根据权利要求1所述的数据处理方法,所述基于所述元数据管理表对所述目录树进行管理,包括:
在确定所述元数据管理表中的数据满足预设拆分条件的情况下,基于所述数组标识对所述元数据管理表进行拆分处理,并基于拆分结果对所述待处理元数据所在的目录树进行切分处理。
6.根据权利要求1所述的数据处理方法,所述基于所述元数据管理表对所述目录树进行管理,包括:
接收针对元数据管理表的拆分执行指令,响应于所述拆分执行指令基于所述数组标识对所述元数据管理表进行拆分处理,并基于拆分结果对所述待处理元数据所在的目录树进行切分处理。
7.根据权利要求5或6所述的数据处理方法,所述基于分裂结果对所述待处理元数据所在的目录树进行切分处理之后,还包括:
确定所述目录树的切分数组标识;
将所述切分数组标识下的所有子目录树分配至所述分布式文件系统中除所述元数据管理节点以外的其他管理节点进行管理。
8.根据权利要求1所述的数据处理方法,所述基于所述元数据管理表对所述目录树进行管理,包括:
接收针对所述数组标识的子目录树的目录移动指令;
响应于所述目录移动指令,将所述子目录树移动至所述目录移动指令中携带的目标数组位置,其中,所述目标数组位置对应的管理节点与所述子目录树对应的管理节点不同。
9.根据权利要求8所述的数据处理方法,所述将所述子目录树移动至所述目录移动指令中携带的目标数组位置之后,还包括:
基于移动结果对所述元数据管理表进行更新,其中,所述移动结果中的数组标识在更新过程中不变。
10.一种数据处理装置,应用于分布式文件系统中的元数据管理节点,包括:
标识分配模块,被配置为确定待处理元数据在目录树中的目录层级,基于所述目录层级为所述待处理元数据分配数组标识;
数据管理模块,被配置为基于所述数组标识以及所述目录树中的元数据,构建所述待处理元数据对应的元数据管理表,并基于所述元数据管理表对所述目录树进行管理。
11.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1-9任意一项所述数据处理方法的步骤。
12.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1-9任意一项所述数据处理方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210299496.1A CN114415971B (zh) | 2022-03-25 | 2022-03-25 | 数据处理方法以及装置 |
PCT/CN2023/083876 WO2023179784A1 (zh) | 2022-03-25 | 2023-03-24 | 数据处理方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210299496.1A CN114415971B (zh) | 2022-03-25 | 2022-03-25 | 数据处理方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114415971A true CN114415971A (zh) | 2022-04-29 |
CN114415971B CN114415971B (zh) | 2022-09-23 |
Family
ID=81263364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210299496.1A Active CN114415971B (zh) | 2022-03-25 | 2022-03-25 | 数据处理方法以及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114415971B (zh) |
WO (1) | WO2023179784A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023179784A1 (zh) * | 2022-03-25 | 2023-09-28 | 阿里云计算有限公司 | 数据处理方法以及装置 |
Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276874A (en) * | 1989-08-11 | 1994-01-04 | Digital Equipment Corporation | Method for creating a directory tree in main memory using an index file in secondary memory |
US20070043747A1 (en) * | 2005-08-17 | 2007-02-22 | Microsoft Corporation | Storage reports file system scanner |
CN101196929A (zh) * | 2007-12-29 | 2008-06-11 | 中国科学院计算技术研究所 | 一种拆分名字空间的元数据管理方法 |
CN101567003A (zh) * | 2009-05-27 | 2009-10-28 | 清华大学 | 并行文件系统中资源的管理和分配方法 |
CN102110146A (zh) * | 2011-02-16 | 2011-06-29 | 清华大学 | 基于键值key-value存储的分布式文件系统元数据管理方法 |
CN102164161A (zh) * | 2011-01-10 | 2011-08-24 | 清华大学 | 一种对并行文件系统进行文件布局提取的方法和装置 |
US20130218934A1 (en) * | 2012-02-17 | 2013-08-22 | Hitachi, Ltd. | Method for directory entries split and merge in distributed file system |
CN103491152A (zh) * | 2013-09-17 | 2014-01-01 | 华为数字技术(苏州)有限公司 | 分布式文件系统中元数据获取方法、装置及系统 |
CN103544322A (zh) * | 2013-11-08 | 2014-01-29 | 北京邮电大学 | 基于服务器集群的热点元数据管理方法 |
WO2017071509A1 (zh) * | 2015-10-26 | 2017-05-04 | 华为技术有限公司 | 文件系统目录树修复方法和装置 |
CN109189341A (zh) * | 2018-08-30 | 2019-01-11 | 郑州云海信息技术有限公司 | 分布式存储系统的目录负载均衡方法、装置、设备及介质 |
CN109933570A (zh) * | 2019-03-15 | 2019-06-25 | 中山大学 | 一种元数据管理方法、系统及介质 |
US20190294710A1 (en) * | 2018-03-20 | 2019-09-26 | Vmware, Inc. | Optimizing operations on b e-trees stored on solid state media |
CN111209259A (zh) * | 2018-11-22 | 2020-05-29 | 杭州海康威视系统技术有限公司 | Nas分布式文件系统及数据处理方法 |
CN111597148A (zh) * | 2020-05-14 | 2020-08-28 | 杭州果汁数据科技有限公司 | 用于分布式文件系统的分布式元数据管理方法 |
CN113010486A (zh) * | 2021-02-05 | 2021-06-22 | 湖南国科亿存信息科技有限公司 | 用于无中心分布式文件系统的元数据分层缓存方法及装置 |
US11048699B1 (en) * | 2018-03-20 | 2021-06-29 | Triad National Security, Llc | Grand unified file indexing |
CN113055448A (zh) * | 2021-02-28 | 2021-06-29 | 新华三信息技术有限公司 | 一种元数据管理方法及装置 |
CN113486026A (zh) * | 2021-08-02 | 2021-10-08 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、设备及介质 |
CN113722275A (zh) * | 2021-09-08 | 2021-11-30 | 重庆紫光华山智安科技有限公司 | 对象存储空间管理方法、装置、服务器及存储介质 |
CN113918573A (zh) * | 2021-10-29 | 2022-01-11 | 上海哔哩哔哩科技有限公司 | 数据处理方法及装置 |
CN113923213A (zh) * | 2021-08-26 | 2022-01-11 | 新华三大数据技术有限公司 | 目录级服务质量控制方法、系统及接入节点 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782625A (zh) * | 2020-06-30 | 2020-10-16 | 安徽芯智科技有限公司 | 芯智科技嵌入式远程文件系统软件 |
CN114415971B (zh) * | 2022-03-25 | 2022-09-23 | 阿里云计算有限公司 | 数据处理方法以及装置 |
-
2022
- 2022-03-25 CN CN202210299496.1A patent/CN114415971B/zh active Active
-
2023
- 2023-03-24 WO PCT/CN2023/083876 patent/WO2023179784A1/zh unknown
Patent Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276874A (en) * | 1989-08-11 | 1994-01-04 | Digital Equipment Corporation | Method for creating a directory tree in main memory using an index file in secondary memory |
US20070043747A1 (en) * | 2005-08-17 | 2007-02-22 | Microsoft Corporation | Storage reports file system scanner |
CN101196929A (zh) * | 2007-12-29 | 2008-06-11 | 中国科学院计算技术研究所 | 一种拆分名字空间的元数据管理方法 |
CN101567003A (zh) * | 2009-05-27 | 2009-10-28 | 清华大学 | 并行文件系统中资源的管理和分配方法 |
CN102164161A (zh) * | 2011-01-10 | 2011-08-24 | 清华大学 | 一种对并行文件系统进行文件布局提取的方法和装置 |
CN102110146A (zh) * | 2011-02-16 | 2011-06-29 | 清华大学 | 基于键值key-value存储的分布式文件系统元数据管理方法 |
US20130218934A1 (en) * | 2012-02-17 | 2013-08-22 | Hitachi, Ltd. | Method for directory entries split and merge in distributed file system |
CN103491152A (zh) * | 2013-09-17 | 2014-01-01 | 华为数字技术(苏州)有限公司 | 分布式文件系统中元数据获取方法、装置及系统 |
CN103544322A (zh) * | 2013-11-08 | 2014-01-29 | 北京邮电大学 | 基于服务器集群的热点元数据管理方法 |
WO2017071509A1 (zh) * | 2015-10-26 | 2017-05-04 | 华为技术有限公司 | 文件系统目录树修复方法和装置 |
US20190294710A1 (en) * | 2018-03-20 | 2019-09-26 | Vmware, Inc. | Optimizing operations on b e-trees stored on solid state media |
US11048699B1 (en) * | 2018-03-20 | 2021-06-29 | Triad National Security, Llc | Grand unified file indexing |
CN109189341A (zh) * | 2018-08-30 | 2019-01-11 | 郑州云海信息技术有限公司 | 分布式存储系统的目录负载均衡方法、装置、设备及介质 |
CN111209259A (zh) * | 2018-11-22 | 2020-05-29 | 杭州海康威视系统技术有限公司 | Nas分布式文件系统及数据处理方法 |
CN109933570A (zh) * | 2019-03-15 | 2019-06-25 | 中山大学 | 一种元数据管理方法、系统及介质 |
CN111597148A (zh) * | 2020-05-14 | 2020-08-28 | 杭州果汁数据科技有限公司 | 用于分布式文件系统的分布式元数据管理方法 |
CN113010486A (zh) * | 2021-02-05 | 2021-06-22 | 湖南国科亿存信息科技有限公司 | 用于无中心分布式文件系统的元数据分层缓存方法及装置 |
CN113055448A (zh) * | 2021-02-28 | 2021-06-29 | 新华三信息技术有限公司 | 一种元数据管理方法及装置 |
CN113486026A (zh) * | 2021-08-02 | 2021-10-08 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、设备及介质 |
CN113923213A (zh) * | 2021-08-26 | 2022-01-11 | 新华三大数据技术有限公司 | 目录级服务质量控制方法、系统及接入节点 |
CN113722275A (zh) * | 2021-09-08 | 2021-11-30 | 重庆紫光华山智安科技有限公司 | 对象存储空间管理方法、装置、服务器及存储介质 |
CN113918573A (zh) * | 2021-10-29 | 2022-01-11 | 上海哔哩哔哩科技有限公司 | 数据处理方法及装置 |
Non-Patent Citations (4)
Title |
---|
XINJIAN LUO等: "D2-Tree: A Distributed Double-Layer Namespace Tree Partition Scheme for Metadata Management in Large-Scale Storage Systems", 《2018 IEEE 38TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS (ICDCS)》 * |
刘仲等: "基于目录路径的元数据管理方法", 《软件学报》 * |
吴婷等: "基于DBMS的元数据管理策略", 《计算机应用研究》 * |
段翰聪等: "基于二维表的对象存储元数据管理", 《实验科学与技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023179784A1 (zh) * | 2022-03-25 | 2023-09-28 | 阿里云计算有限公司 | 数据处理方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2023179784A1 (zh) | 2023-09-28 |
CN114415971B (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7146377B2 (en) | Storage system having partitioned migratable metadata | |
CN107710193B (zh) | 分布式计算环境的数据放置控制 | |
US10394847B2 (en) | Processing data in a distributed database across a plurality of clusters | |
US10291696B2 (en) | Peer-to-peer architecture for processing big data | |
JP6542909B2 (ja) | ファイル操作方法及び装置 | |
US10037340B2 (en) | Tiered distributed storage policies | |
CN104881466B (zh) | 数据分片的处理以及垃圾文件的删除方法和装置 | |
US20180203866A1 (en) | Distributed object storage | |
CN114077680B (zh) | 一种图数据的存储方法、系统及装置 | |
US10169348B2 (en) | Using a file path to determine file locality for applications | |
JP2013120537A (ja) | 情報処理システム | |
CN106294374A (zh) | 小文件合并的方法和数据查询系统 | |
CN113326264A (zh) | 数据处理方法、服务器及存储介质 | |
US20240241640A1 (en) | Systems, methods, devices, and media for data processing | |
CN110737663A (zh) | 一种数据存储方法、装置、设备及存储介质 | |
Widodo et al. | SDM: Smart deduplication for mobile cloud storage | |
CN114415971B (zh) | 数据处理方法以及装置 | |
Wang | Ying | |
CN104166661A (zh) | 数据存储系统和数据存储方法 | |
Goswami et al. | Graphmap: Scalable iterative graph processing using nosql | |
CN107408239B (zh) | 通过多个邮箱在通信应用中进行海量数据管理的架构 | |
KR20210049703A (ko) | 다수의 키-밸류 저장소들에 적응(적용)하기 위한 방법 및 시스템 | |
CN112639761A (zh) | 一种为数据建立索引的方法以及装置 | |
CN114415977A (zh) | 访问存储池的方法以及分布式存储系统 | |
CN114385596A (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 |