CN113342751B - 元数据处理方法、装置、设备和可读存储介质 - Google Patents
元数据处理方法、装置、设备和可读存储介质 Download PDFInfo
- Publication number
- CN113342751B CN113342751B CN202110867359.9A CN202110867359A CN113342751B CN 113342751 B CN113342751 B CN 113342751B CN 202110867359 A CN202110867359 A CN 202110867359A CN 113342751 B CN113342751 B CN 113342751B
- Authority
- CN
- China
- Prior art keywords
- metadata
- key information
- storage space
- information
- object corresponding
- 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.)
- Active
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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- 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
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)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种元数据处理方法、装置、设备和可读存储介质。该元数据处理方法包括:对于要写入到第一存储空间的元数据,从元数据中提取元数据的关键信息,其中,关键信息用于恢复元数据;将该关键信息和该元数据的操作信息发送至第二存储空间;以及根据操作信息在第二存储空间的数据对象中对关键信息进行处理,其中,操作信息用于指示要对关键信息进行处理的操作。利用根据本公开实施例的元数据处理方法,对于要保存的元数据能够同步存储该元数据的关键信息,以用于元数据的备份与恢复,备份存储量小,不存在备份时间窗,灵活性强,能够实现异常元数据的恢复。
Description
技术领域
本公开的一些实施例涉及一种元数据处理方法、装置、设备和可读存储介质。
背景技术
文件系统用于对文件存储设备的存储空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索。文件系统通常包括数据和元数据,其中,元数据是用于描述数据的数据(data about data),主要描述数据属性的信息,用来支持例如指示存储位置、历史数据、资源查找、文件记录等功能,由此元数据是访问文件系统的关键数据。当元数据受到损坏时,需要尽可能地将其恢复出来,以保证对于文件系统中的数据的正常访问。
发明内容
本公开的一些实施例提供了一种元数据处理方法、装置、设备和可读存储介质,以用于实现对于元数据的备份。
根据本公开的一方面,提供了一种元数据处理方法,包括:对于要写入到第一存储空间的元数据,从元数据中提取元数据的关键信息,其中,关键信息用于恢复元数据;将该关键信息和元数据的操作信息发送至第二存储空间;以及根据操作信息在第二存储空间的数据对象中对关键信息进行处理,其中,操作信息用于指示要对关键信息进行处理的操作。
根据本公开的一些实施例,关键信息包括以下中的至少一种:元数据所对应的对象的类型、元数据所对应的对象的索引节点、元数据所对应的对象的名称、元数据所对应的对象的父目录的索引节点。
根据本公开的一些实施例,在第二存储空间的数据对象中对关键信息进行处理包括:识别操作信息所指示的操作;以及根据所指示的操作,在第二存储空间的数据对象中对关键信息进行处理,其中,操作包括创建、删除、移动或重命名。
根据本公开的一些实施例,第二存储空间的数据对象用于存储与元数据相关联的信息并表示为特定数据对象,其中,在所指示的操作为创建的情况下,处理包括:将关键信息写入到特定数据对象中;在所指示的操作为删除的情况下,处理包括:从特定数据对象中删除关键信息;以及在所指示的操作为移动或重命名的情况下,处理包括:在特定数据对象中查找元数据所对应的对象的索引节点,并基于关键信息对特定数据对象中查找到的数据进行更新。
根据本公开的一些实施例,该元数据处理方法还包括:将第二存储空间的数据对象中的关键信息与第一存储空间中的元数据进行比较,以确定是否需要对第一存储空间中的元数据进行恢复;在确定需要恢复的情况下,根据第二存储空间的数据对象中的关键信息来恢复第一存储空间的元数据。
根据本公开的一些实施例,根据第二存储空间的数据对象中的关键信息来恢复第一存储空间的元数据包括:确定要恢复的元数据所对应的对象是文件还是目录;在要恢复的元数据所对应的对象是文件的情况下,扫描文件所对应的数据对象,并根据文件所对应的数据对象的大小计算文件的大小,和根据文件所对应的数据对象的属性信息恢复文件的属性信息;以及在要恢复的元数据所对应的对象是目录的情况下,根据目录所对应的数据对象的属性信息恢复目录的属性信息。
根据本公开的另一方面,还提供了一种元数据处理装置,包括:元数据同步单元,配置成对于要写入到第一存储空间的元数据,从元数据中提取元数据的关键信息,并将该关键信息和元数据的操作信息发送至第二存储空间,其中,关键信息用于恢复元数据;以及处理单元,配置成根据操作信息在第二存储空间的数据对象中对关键信息进行处理,其中,操作信息用于指示要对关键信息进行处理的操作。
根据本公开的一些实施例,关键信息包括以下中的至少一种:元数据所对应的对象的类型、元数据所对应的对象的索引节点、元数据所对应的对象的名称、元数据所对应的对象的父目录的索引节点。
根据本公开的一些实施例,处理单元对关键信息进行处理包括:识别操作信息所指示的操作;以及根据所指示的操作,在第二存储空间的数据对象中对关键信息进行处理,其中,操作包括创建、删除、移动或重命名。
根据本公开的一些实施例,数据对象用于存储与元数据相关联的信息并表示为特定数据对象,其中,在所指示的操作为创建的情况下,处理单元配置成将关键信息写入到特定数据对象中;在所指示的操作为删除的情况下,处理单元配置成从特定数据对象中删除关键信息;以及在所指示的操作为移动或重命名的情况下,处理单元配置成在特定数据对象中查找元数据所对应的对象的索引节点,并基于关键信息对特定数据对象中查找到的数据进行更新。
根据本公开的一些实施例,该元数据处理装置还包括扫描和恢复单元,配置成:将第二存储空间的数据对象中的关键信息与第一存储空间中的元数据进行比较,以确定是否需要对第一存储空间中的元数据进行恢复;在确定需要恢复的情况下,根据第二存储空间的数据对象中的关键信息来恢复第一存储空间的元数据。
根据本公开的一些实施例,扫描和恢复单元恢复第一存储空间的元数据包括:确定要恢复的元数据所对应的对象是文件还是目录;在要恢复的元数据所对应的对象是文件的情况下,扫描文件所对应的数据对象,并根据文件所对应的数据对象的大小计算文件的大小,和根据文件所对应的数据对象的属性信息恢复文件的属性信息;以及在要恢复的元数据所对应的对象是目录的情况下,根据目录所对应的数据对象的属性信息恢复目录的属性信息。
根据本公开的一些实施例,第一存储空间为用于存储元数据的元数据服务器,第二存储空间为用于存储文件数据的数据对象服务器。
根据本公开的又一方面,还提供了一种元数据处理设备,包括:处理器;和存储器,其中,存储器中存储有计算机可读代码,计算机可读代码在由处理器运行时,执行如上所述的元数据处理方法。
根据本公开的又一方面,还提供了一种非暂时性计算机可读存储介质,其上存储有指令,指令在被处理器执行时,使得处理器执行如上所述的元数据处理方法。
利用本公开实施例提供的元数据处理方法、装置、设备和可读存储介质,能够提取并存储元数据的关键信息,以在有需要的情况下通过元数据的关键信息来恢复元数据。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本公开实施例的示例应用场景示意图;
图2示出了根据本公开实施例的元数据处理方法的示意性流程图;
图3示出了根据本公开实施例的关键信息处理的流程图;
图4示出了根据本公开实施例的操作信息和关键信息的列表;
图5示出了根据本公开实施例的元数据恢复流程图;
图6示出了根据本公开实施例的文件系统应用示例图;
图7示出了根据本公开实施例的元数据处理装置的示意性框图;
图8示出了根据本公开实施例的元数据处理设备的示意性框图;
图9示出了根据本公开实施例的示例性计算设备的架构的示意图;
图10示出了根据本公开实施例的非暂时性计算机可读存储介质的示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
此外,如本公开和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
文件系统中通常包括数据和元数据,其中,元数据是用于描述数据的数据(dataabout data),主要描述数据属性的信息,用来支持例如指示存储位置、历史数据、资源查找、文件记录等功能,由此元数据是访问文件系统的关键数据。元数据所描述的对象可以是文件,也可以是目录,其中,目录用于描述文件系统中的文件的组织形式,诸如树状数据结构。
作为文件系统中的关键数据,当元数据受到损坏时,需要尽可能地将其恢复出来,以保证对于文件系统中的数据的正常访问。相关技术中,是将文件系统中的元数据备份到其他的存储设备上,当文件系统中的元数据诸如由于受到损坏等原因而无法访问时,可以从备份设备上将元数据恢复到文件系统中,以保证文件系统的正常读写功能。但是,这种备份的方式具有数据存储上的时间延迟,即存在备份时间窗,这使得难以恢复损坏前一段时间内的元数据,并且备份的元数据需要额外的备份设备进行存储,这增加了文件系统的管理和维护成本。此外,这种整体备份元数据的方式在恢复元数据时只能进行全量恢复,即恢复全部的元数据。即使只有少量元数据受到损坏,也需要把所有的元数据都恢复出来,由此难以满足只恢复部分元数据的需求。
根据本公开的一些实施例,提供了一种元数据处理方法,用于在文件系统中提取并存储元数据的关键信息,以在有需要的情况下通过元数据的关键信息来恢复元数据,根据本公开实施例的元数据处理方法,无需额外的备份设备,且只与元数据一起同步保存元数据的关键信息,备份存储量小,不存在备份时间窗,并且灵活性强,能够针对各关键信息中的内容来实现异常元数据的恢复。例如,利用根据本公开实施例提供的元数据处理方法能够只针对其中受损(或者称为异常)的那部分元数据进行恢复,而并不是在部分元数据受损的情况下恢复全部的元数据。
图1示出了根据本公开实施例的示例应用场景示意图,其中示意性地示出了一种分布式文件系统,可以理解的是,根据本公开实施例的方法的应用并不限于此,其可以应用于各类实现数据存储的文件系统中。分布式文件系统(Distributed File System,DFS)表示文件系统管理的物理存储资源不一定直接连接在本地设备上,而是可以通过网络与设备相连,或者是多个不同的逻辑磁盘分区组合在一起而形成的完整的有层次的文件系统。DFS为分布在网络上任意位置的资源提供一个逻辑上的树形文件系统结构,从而使得用户设备访问分布在网络上的共享文件更加简便。
如图1所示,分布式文件存储系统101例如可以包括一个或多个用于存储数据和元数据的服务器,在图1中示出为服务器101-1至101-3。通过数据通道,多个客户端设备(图1中示出为设备102-105)与文件存储系统101之间可以实现数据交互。
在分布式文件系统中,存储有大量的数据和元数据,利用根据本公开实施例的元数据处理方法,能够针对元数据提取其关键信息并进行存储,这样,当文件系统的元数据出现丢失时,通过扫描文件系统的数据对象中保存的元数据的关键信息可以将丢失的元数据恢复出来。
为了说明根据本公开实施例的元数据处理方法,提供图2,用于示出根据本公开实施例的元数据处理方法的示意性流程图。以下将结合图2来描述根据本公开实施例的元数据处理方法的实现过程。
如图2所示,首先,在步骤S101,对于要写入到第一存储空间的元数据,从元数据中提取元数据的关键信息。作为示例,第一存储空间可以是用于存储元数据的存储空间,例如可以表示为元数据存储区或者实现为元数据服务器。即,第一存储空间可以是专用于存储元数据的存储区域。作为示例,可以将元数据写入到第一存储空间的数据对象内,其中,数据对象可以理解为一种复合信息表示,其中封装数据内容。
根据本公开的一些实施例,对于将要写入到第一存储空间(诸如元数据服务器)内的元数据,可以提取该元数据的关键信息。根据本公开的一些实施例,该元数据的关键信息可以是能够表征该元数据的关键数据,例如,能够基于其恢复元数据的信息可以称为该元数据的关键信息。例如,在元数据受损或崩溃的情况下,能够基于该提取出来的关键信息来恢复元数据的属性,以保证文件系统中所有已经被恢复出来的元数据可以被正常访问,其所对应的数据也能被正常读写,从而保证文件系统的数据稳定性以及安全性。
根据本公开的一些实施例,关键信息可以包括以下中的至少一种:元数据所对应的对象的类型、元数据所对应的对象的索引节点、元数据所对应的对象的名称、元数据所对应的对象的父目录的索引节点。其中,元数据所对应的对象(或者称为元数据所描述的对象)可以是文件也可以是目录。目录用于描述文件系统中的文件的组织形式,诸如树状数据结构。可以理解的是,关键信息中的元数据所对应的对象的类型可以理解为指示该对象的类型的信息,例如,在对象为目录的情况下,该指示信息可以对应于字符d,在对象为文件的情况下,该指示信息可以对应于字符f。此外,在文件系统中,每个文件或目录都具有与其对应的索引节点,以作为该对象的标识,文件系统通过查找索引节点来访问与该索引节点所对应的数据。
作为一个示例,在元数据所对应的对象为目录的情况下,该元数据的关键信息可以包括指示该元数据所对应的对象的类型为目录的信息,例如字符d,关键信息还可以包括元数据所对应的目录的索引节点(例如表示为inode_ID)、元数据所对应的目录的名称(例如表示为name)、元数据所对应的目录的父目录的索引节点(例如表示为parent_inode_ID)。
作为另一示例,在元数据所对应的对象为文件的情况下,该元数据的关键信息可以包括指示该元数据所对应的对象的类型为文件的信息,例如字符f,关键信息还可以包括元数据所对应的文件的索引节点(例如表示为inode_ID)、元数据所对应的文件的名称(例如表示为name)、元数据所对应的文件的父目录的索引节点(例如表示为parent_inode_ID)。
接着,如图2所示,在步骤S102,将元数据的操作信息和关键信息发送至第二存储空间。以及,在步骤S103,根据该操作信息在第二存储空间的数据对象中对关键信息进行处理。
根据本公开的一些实施例,操作信息用于指示要对关键信息进行处理的操作。例如,该操作可以是与元数据的改变相关的操作,作为示例,操作可以包括创建、删除、移动或重命名。关于针对关键信息的处理将在下面结合图3-图4进行描述。
根据本公开的一些实施例,第二存储空间可以是用于存储数据的存储空间,例如可以表示为数据存储区或者实现为数据对象服务器。即,第二存储空间可以是专用于存储数据的存储区域。根据本公开的一些实施例,可以在文件系统中的数据对象服务器中设置用于存储元数据的关键信息的数据对象,该数据对象可以称为特定数据对象。相对于元数据来讲,第二存储空间可以用于存储元数据所对应的对象的具体数据内容,第一存储空间可以用于存储元数据。例如,第一存储空间和第二存储空间可以为同一硬件设备上的不同空间分区,也可以为不同硬件设备上的存储空间,本公开的实施例对此不作限制。
根据本公开的一些实施例的处理方法,将提取得到的元数据的关键信息存储在第二存储空间中的特定数据对象中,以用于实现对于第一存储空间中的元数据的恢复。相比于通常的基于额外的备份设备的实现方式,根据本公开实施例的元数据处理方法不需要借助于额外的备份设备,而是将与元数据相关联的关键信息存储在文件系统的数据对象服务器中,并且只同步地保存元数据的关键信息,备份数据量小,不存在备份时间窗,此外,还能够针对各关键信息中的内容(例如,基于对象的索引节点)来实现针对异常元数据的恢复,具有较强的灵活性,例如,只针对其中受损的那部分元数据进行恢复。
进一步地,根据本公开的一些实施例,在第二存储空间的数据对象中对关键信息进行处理(即步骤S103)可以包括:识别操作信息所指示的操作,以及根据所指示的操作,在第二存储空间的数据对象中对关键信息进行处理。例如,该操作信息可以通过操作码(例如,op)来指示操作的类型。作为示例,对应于创建操作的操作码可以表示为字符C,对应于删除操作的操作码可以表示为字符D,对应于移动或重命名操作的操作码可以表示为字符U。
根据本公开的一些实施例,在所指示的操作为创建的情况下,该处理可以包括:将关键信息写入到特定数据对象中;在所指示的操作为删除的情况下,该处理可以包括:从特定数据对象中删除关键信息;以及在所指示的操作为移动或重命名的情况下,该处理可以包括:在特定数据对象中查找元数据所对应的对象的索引节点,并基于关键信息对特定数据对象中查找到的数据进行更新。
为了说明对关键信息进行的处理,提供图3-图4,其中,图3示出了根据本公开实施例的关键信息处理的流程图,图4示出了根据本公开实施例的操作信息和关键信息的列表。
如图3所示,首先可以提取操作信息所指示的操作码,然后判断操作码的类型。操作码可以表示为图4中的第1列(op),其例如可以对应于创建、删除、移动或重命名这几种操作类型,并分别表示为字符C、字符D和字符U。
如图3所示,在确定操作为创建的情况下,可以将如图4中第2-5列所示出的各项关键信息写入到第二存储空间的特定数据对象中。在图4中,第1列(op)表示操作码,第2列(inode_ID)表示对象的索引节点,第3列(name)表示对象的名称,第4列(type)表示对象的类型,以及第5列(parent_inode_ID)表示父目录的索引节点。
例如,在确定操作为删除的情况下,可以依据如图4中第2列所示出的inode_ID来在特定数据对象中找到之前存储的、与该inode_ID对应的关键信息,并将其从特定数据对象中删除。又例如,在确定操作为移动或重命名的情况下,可以依据如图4中第2列所示出的inode_ID来在特定数据对象中找到之前存储的、与该inode_ID对应的关键信息,然后进行针对该关键信息的数据更新,例如,更新可以是修改名称(name)或者修改父目录的索引节点(parent_inode_ID)。
按照以上结合图3-图4所示的处理过程,能够实现在第二存储空间中对元数据的关键信息的同步更新,针对第一存储空间中新创建的元数据,同步地在第二存储空间的特定数据对象中存储其关键信息,在移动或重命名该元数据的情况下,也进行相应地更新,此外,在删除了该元数据的情况下,也相应地删除特定数据对象中的关键信息,从而保证元数据与元数据的关键信息的同步处理,以使得在某些元数据出现损坏或无法访问的情况下,可以从特定数据对象中进行检索并恢复相应的元数据。
根据本公开的一些实施例,元数据处理方法可以包括元数据恢复过程,其中,该恢复过程包括:将第二存储空间的数据对象中的关键信息与第一存储空间中的元数据进行比较,以确定是否需要对第一存储空间中的元数据进行恢复;在确定需要恢复的情况下,根据第二存储空间的数据对象中的关键信息来恢复第一存储空间的元数据。
具体的,在图5中示出了根据本公开实施例的元数据恢复流程图,首先,可以逐条地读取第二存储空间的特定数据对象中的关键信息,其中,特定数据对象中关键信息的存储形式可以参考图4。
接着,将读取的关键信息与第一存储空间中的元数据进行比较,以确定是否需要对第一存储空间中的元数据进行恢复,例如,如果这个元数据的信息存在于第一存储空间中则表示不对其进行恢复,在这种情况下可以读取第二存储空间的特定数据对象中的下一条关键信息,并针对该关键信息进行比较。例如,如果这个元数据的信息不存在于第一存储空间中(即,该元数据不可访问)则表示需要对其进行恢复。
如图5所示,恢复第一存储空间的元数据可以包括判断要恢复的元数据所对应的对象是文件还是目录。例如,在要恢复的元数据所对应的对象是文件的情况下,扫描该文件所对应的数据对象,即存储该关键信息的数据对象的大小(size),并根据文件所对应的数据对象的大小来计算文件的大小。进一步地,根据文件所对应的数据对象的属性信息恢复文件的属性信息。又例如,在要恢复的元数据所对应的对象是目录的情况下,根据目录所对应的数据对象的属性信息恢复目录的属性信息。
图6示出了根据本公开实施例的文件系统应用示例图,如图6所示,文件系统可以包括用于存储元数据的元数据服务器以及用于存储数据的数据对象服务器。在元数据服务器中,其可以包括元数据同步模块以及元数据存储区,该元数据同步模块可以用于将元数据写入到元数据存储区,并且还可以用于针对要写入到元数据存储区的元数据来提取其关键信息,该关键信息可以参考图4中示出的第2-5列所列出的信息。
接着,该元数据同步模块可以将提取的关键信息以及相应地操作信息传输至数据对象服务器中的关键信息处理模块,处理模块可以基于操作信息针对接收的关键信息进行对应地操作处理,该操作信息可以参考图4中示出的第1列所列出的信息。例如,将关键信息写入特定数据对象中。
如图6所示,文件系统中还可以包括用于执行元数据恢复过程的扫描和恢复工具,该工具可以独立于元数据服务器和数据对象服务器,例如,该工具可以实现为应用程序的形式,或者,该工具也可以为运行在文件系统管理程序中的线程。在恢复元数据的情况下,扫描和恢复工具可以依次地从特定数据对象的列表中读取关键信息,然后与元数据服务器中存储的元数据进行比较并分别地进行恢复。可以理解的是,应用根据本公开实施例的元数据处理方法的文件系统还可以包括其他所需的组件,而不仅限于图6中所示出的部分。
本公开实施例提供了一种元数据处理方法,对于将要写入到第一存储空间内的元数据,能够提取该元数据的关键信息并将其存储至第二存储空间的数据对象中,在元数据受损或崩溃的情况下,能够基于该提取出来的关键信息来恢复元数据的属性信息,以保证文件系统中被恢复出来的元数据可以被正常访问,其所对应的数据也能被正常读写,从而保证文件系统的数据稳定性以及安全性。利用该元数据处理方法进行处理时,无需额外的备份设备,备份存储量小,不存在备份时间窗,并且灵活性强,能够实现异常元数据的恢复。
根据本公开的另一方面,还提供了一种元数据处理装置,用于对文件系统系统的元数据的关键信息进行存储,以在有需要的情况下用于恢复元数据。图7示出了根据本公开实施例的元数据处理装置的示意性框图。如图7所示,装置1000可以包括元数据同步单元1010和处理单元1020。
根据本公开的一些实施例,元数据同步单元1010可以配置成:对于要写入到第一存储空间的元数据,从元数据中提取元数据的关键信息,并将元数据的操作信息和关键信息发送至第二存储空间,关键信息用于恢复元数据。作为示例,第一存储空间可以是用于存储元数据的存储空间,例如可以表示为元数据存储区或者实现为元数据服务器。即,第一存储空间可以是专用于存储元数据的存储区域。
根据本公开的一些实施例,该元数据的关键信息可以是能够表征该元数据的关键数据,例如,能够基于其恢复元数据的信息可以称为该元数据的关键信息。例如,在元数据受损或崩溃的情况下,能够基于该提取出来的关键信息来恢复元数据的属性,以保证文件系统中所有已经被恢复出来的元数据可以被正常访问,其所对应的数据也能被正常读写,从而保证文件系统的数据稳定性以及安全性。
根据本公开的一些实施例,关键信息包括以下中的至少一种:元数据所对应的对象的类型、元数据所对应的对象的索引节点、元数据所对应的对象的名称、元数据所对应的对象的父目录的索引节点。其中,元数据所对应的对象(或者称为元数据所描述的对象)可以是文件也可以是目录。目录用于描述文件系统中的文件的组织形式,诸如树状数据结构。
根据本公开的一些实施例,第二存储空间可以是用于存储数据的存储空间,例如可以表示为数据存储区或者实现为数据对象服务器。即,第二存储空间可以是专用于存储数据的存储区域。根据本公开的一些实施例,可以在文件系统中的数据对象服务器中设置用于存储元数据的关键信息的数据对象,该数据对象可以称为特定数据对象。相对于元数据来讲,第二存储空间可以用于存储元数据所对应的对象的具体数据内容,第一存储空间可以用于存储元数据。
根据本公开的一些实施例,处理单元1020可以配置成根据操作信息在第二存储空间的数据对象中对关键信息进行处理,其中,操作信息用于指示要对关键信息进行处理的操作。
根据本公开的一些实施例,处理单元1020对关键信息进行处理包括:识别操作信息所指示的操作;以及根据所指示的操作,在第二存储空间的数据对象中对关键信息进行处理,其中,操作包括创建、删除、移动或重命名。例如,该操作信息可以通过操作码(例如,op)来指示操作的类型。作为示例,对应于创建操作的操作码可以表示为字符C,对应于删除操作的操作码可以表示为字符D,对应于移动或重命名操作的操作码可以表示为字符U。
根据本公开的一些实施例,上述数据对象用于存储与元数据相关联的信息并表示为特定数据对象,其中,在所指示的操作为创建的情况下,该处理单元1020配置成将关键信息写入到特定数据对象中;在所指示的操作为删除的情况下,该处理单元1020配置成从特定数据对象中删除关键信息;以及在所指示的操作为移动或重命名的情况下,该处理单元1020配置成在特定数据对象中查找元数据所对应的对象的索引节点,并基于关键信息对特定数据对象中查找到的数据进行更新。
参考图7,根据本公开的一些实施例的元数据处理装置还可以包括扫描和恢复单元1030。
根据本公开的一些实施例,扫描和恢复单元1030可以配置成:将第二存储空间的数据对象中的关键信息与第一存储空间中的元数据进行比较,以确定是否需要对第一存储空间中的元数据进行恢复;以及在确定需要恢复的情况下,根据第二存储空间的数据对象中的关键信息来恢复第一存储空间的元数据。
根据本公开的一些实施例,扫描和恢复单元1030恢复第一存储空间的元数据包括:确定要恢复的元数据所对应的对象是文件还是目录;在要恢复的元数据所对应的对象是文件的情况下,扫描文件所对应的数据对象,并根据文件所对应的数据对象的大小计算文件的大小,和根据文件所对应的数据对象的属性信息恢复文件的属性信息;以及在要恢复的元数据所对应的对象是目录的情况下,根据目录所对应的数据对象的属性信息恢复目录的属性信息。
根据本公开的一些实施例,第一存储空间为用于存储元数据的元数据服务器,第二存储空间为用于存储文件数据的数据对象服务器。例如,该元数据服务器和数据对象服务器属于同一文件系统,其中,元数据服务器用于存储元数据,数据对象服务器用于存储数据以及根据本公开实施例提供的元数据的关键信息。
利用根据本公开的一些实施例的元数据处理装置,能够实现在元数据服务器中的元数据受到损坏的情况下,能够及时地从数据对象服务器中读取元数据的关键信息,并基于该关键信息来恢复对应的元数据,从而实现对于元数据的备份,保证元数据的完整性。
元数据处理装置1000执行的步骤的具体实现过程可以参照以上结合附图描述的根据本公开实施例的元数据处理方法,在此不再重复描述。
可以理解的是,上述实施例中的各个模块或者单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现,或者,也可以采用硬件和软件的结合,本公开并不限制于任何特定的实现形式。
根据本公开的又一方面,还提供了一种元数据处理设备,用于对文件系统系统的元数据的关键信息进行存储,以在有需要的情况下用于恢复元数据。图8示出了根据本公开实施例的元数据处理设备的示意性框图。
如图8所示,元数据处理设备2000可以包括处理器2010以及存储器2020。根据本公开实施例,存储器2020中存储有计算机可读代码,该计算机可读代码当由处理器2010运行时,可以执行如上所述的元数据处理方法。
处理器2010可以根据存储在存储器2020中的程序执行各种动作和处理。具体地,处理器2010可以是一种集成电路,具有信号处理能力。上述处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是X86架构或者是ARM架构等。
存储器2020存储有计算机可执行指令代码,该指令代码在被处理器2010执行时用于实现根据本公开实施例的元数据处理方法。存储器2020可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DR RAM)。应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
根据本公开实施例的方法或装置也可以借助于图9所示的计算设备3000的架构来实现。如图9所示,计算设备3000可以包括总线3010、一个或多个CPU 3020、只读存储器(ROM)3030、随机存取存储器(RAM)3040、连接到网络的通信端口3050、输入/输出组件3060、硬盘3070等。计算设备3000中的存储设备,例如ROM 3030或硬盘3070可以存储本公开提供的元数据处理方法的处理和/或通信使用的各种数据以及CPU所执行的程序指令。计算设备3000还可以包括用户界面3080。当然,图9所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图9示出的计算设备中的一个或多个组件。
作为示例,上述计算设备3000可以实现为专用于数据存储的设备,例如该设备可以是用于实现分布式文件系统的设备,在此不作限制。
例如,计算设备3000中可以配置有用于实现数据存储的应用程序,并且具有上述第一、第二存储空间(例如分别是元数据服务器和数据对象服务器)。此外,该计算设备3000可以实施为多核处理器,包括多个CPU 3020。由此,计算设备能够实现在向元数据服务器中写入元数据时,同步提取该元数据的关键信息,并将提取的关键信息写入数据对象服务器的特定对象内。作为示例,关键信息包括以下中的至少一种:元数据所对应的对象的类型、元数据所对应的对象的索引节点、元数据所对应的对象的名称、元数据所对应的对象的父目录的索引节点。通过提取和存储元数据的关键信息,能够实现在有需要的情况下(例如,元数据服务器中的部分或全部元数据受到损坏),基于数据对象服务器中存储的元数据的关键信息来恢复元数据服务器中的元数据,从而保证元数据的完整性。
根据本公开的又一方面,还提供了一种非暂时性计算机可读存储介质。图10示出了根据本公开实施例的非暂时性计算机可读存储介质的示意图。
如图10所示,计算机可读存储介质4020上存储有指令,指令例如是计算机可读指令4010。当计算机可读指令4010由处理器运行时,可以执行参照以上附图描述的元数据处理方法。计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。例如,计算机可读存储介质4020可以连接于诸如计算机等的计算设备,接着,在计算设备运行计算机可读存储介质4020上存储的计算机可读指令4010的情况下,可以进行如上所述的元数据处理方法。
根据本公开的又一方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序包括计算机可读指令,该计算机可读指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机可读指令,处理器执行该计算机可读指令,使得该计算机设备执行上述各个实施例中描述的元数据处理方法。
利用本公开实施例提供的元数据处理方法、装置、设备和可读存储介质,能够提取并存储元数据的关键信息,以在有需要的情况下通过元数据的关键信息来恢复元数据。
本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。
本公开中使用了流程图用来说明根据本公开的实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中。
本领域普通技术人员可以理解上述方法中的全部或部分的步骤可通过计算机程序来指令相关硬件完成,程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本公开并不限制于任何特定形式的硬件和软件的结合。
除非另有定义,这里使用的所有术语具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
以上是对本公开的说明,而不应被认为是对其的限制。尽管描述了本公开的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本公开的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本公开范围内。应当理解,上面是对本公开的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本公开由权利要求书及其等效物限定。
Claims (9)
1.一种元数据处理方法,其特征在于,所述方法包括:
对于要写入到第一存储空间的元数据,从所述元数据中提取所述元数据的关键信息,其中,从所述元数据中提取的所述关键信息包括:所述元数据所对应的对象的类型、所述元数据所对应的对象的索引节点、所述元数据所对应的对象的名称和所述元数据所对应的对象的父目录的索引节点,其中,从所述元数据中提取的所述关键信息用于从所述关键信息来恢复所述元数据,所述元数据所对应的对象的类型包括文件或者目录;
将所述关键信息和所述元数据的操作信息发送至第二存储空间;
根据所述操作信息在所述第二存储空间的数据对象中对所述关键信息进行处理,其中,所述操作信息用于指示要对所述关键信息进行处理的操作;以及
将所述第二存储空间的数据对象中的关键信息与所述第一存储空间中的元数据进行比较,以确定是否需要对所述第一存储空间中的元数据进行恢复;
在确定需要恢复的情况下,根据所述第二存储空间的数据对象中的关键信息来恢复所述第一存储空间的元数据,
其中,所述根据所述第二存储空间的数据对象中的关键信息来恢复所述第一存储空间的元数据包括:
确定所述要恢复的元数据所对应的对象是文件还是目录;
在所述要恢复的元数据所对应的对象是文件的情况下,扫描所述文件所对应的数据对象,并根据所述文件所对应的数据对象的大小计算所述文件的大小,和根据所述文件所对应的数据对象的属性信息恢复所述文件的属性信息;以及
在所述要恢复的元数据所对应的对象是目录的情况下,根据所述目录所对应的数据对象的属性信息恢复所述目录的属性信息。
2.根据权利要求1所述的方法,其特征在于,所述在所述第二存储空间的数据对象中对所述关键信息进行处理包括:
识别所述操作信息所指示的操作;以及
根据所述所指示的操作,在所述第二存储空间的数据对象中对所述关键信息进行处理,其中,所述操作包括创建、删除、移动或重命名。
3.根据权利要求2所述的方法,其特征在于,所述第二存储空间的数据对象用于存储与元数据相关联的信息并表示为特定数据对象,其中,
在所述所指示的操作为创建的情况下,所述处理包括:将所述关键信息写入到所述特定数据对象中;
在所述所指示的操作为删除的情况下,所述处理包括:从所述特定数据对象中删除所述关键信息;以及
在所述所指示的操作为移动或重命名的情况下,所述处理包括:在所述特定数据对象中查找所述元数据所对应的对象的索引节点,并基于所述关键信息对所述特定数据对象中查找到的数据进行更新。
4.一种元数据处理装置,其特征在于,所述装置包括:
元数据同步单元,配置成对于要写入到第一存储空间的元数据,从所述元数据中提取所述元数据的关键信息,并将所述关键信息和所述元数据的操作信息发送至第二存储空间,其中,从所述元数据中提取的所述关键信息包括:所述元数据所对应的对象的类型、所述元数据所对应的对象的索引节点、所述元数据所对应的对象的名称和所述元数据所对应的对象的父目录的索引节点,其中,从所述元数据中提取的所述关键信息用于从所述关键信息来恢复所述元数据,所述元数据所对应的对象的类型包括文件或者目录;
处理单元,配置成根据所述操作信息在所述第二存储空间的数据对象中对所述关键信息进行处理,其中,所述操作信息用于指示要对所述关键信息进行处理的操作;以及
扫描和恢复单元,配置成将所述第二存储空间的数据对象中的关键信息与所述第一存储空间中的元数据进行比较,以确定是否需要对所述第一存储空间中的元数据进行恢复;在确定需要恢复的情况下,根据所述第二存储空间的数据对象中的关键信息来恢复所述第一存储空间的元数据,
其中,所述扫描和恢复单元恢复所述第一存储空间的元数据包括:
确定所述要恢复的元数据所对应的对象的类型是文件还是目录;
在所述要恢复的元数据所对应的对象是文件的情况下,扫描所述文件所对应的数据对象,并根据所述文件所对应的数据对象的大小计算所述文件的大小,和根据所述文件所对应的数据对象的属性信息恢复所述文件的属性信息;以及
在所述要恢复的元数据所对应的对象是目录的情况下,根据所述目录所对应的数据对象的属性信息恢复所述目录的属性信息。
5.根据权利要求4所述的装置,其特征在于,所述处理单元对所述关键信息进行处理包括:
识别所述操作信息所指示的操作;以及
根据所述所指示的操作,在所述第二存储空间的数据对象中对所述关键信息进行处理,其中,所述操作包括创建、删除、移动或重命名。
6.根据权利要求5所述的装置,其特征在于,所述数据对象用于存储与元数据相关联的信息并表示为特定数据对象,其中,
在所述所指示的操作为创建的情况下,所述处理单元配置成将所述关键信息写入到所述特定数据对象中;
在所述所指示的操作为删除的情况下,所述处理单元配置成从所述特定数据对象中删除所述关键信息;以及
在所述所指示的操作为移动或重命名的情况下,所述处理单元配置成在所述特定数据对象中查找所述元数据所对应的对象的索引节点,并基于所述关键信息对所述特定数据对象中查找到的数据进行更新。
7.根据权利要求4所述的装置,其特征在于,所述第一存储空间为用于存储元数据的元数据服务器,所述第二存储空间为用于存储文件数据的数据对象服务器。
8.一种元数据处理设备,其特征在于,所述设备包括:
处理器;和
存储器,其中,所述存储器中存储有计算机可读代码,所述计算机可读代码在由所述处理器运行时,执行如权利要求1-3中任一项所述的元数据处理方法。
9.一种非暂时性计算机可读存储介质,其特征在于,其上存储有指令,所述指令在被处理器执行时,使得所述处理器执行如权利要求1-3中任一项所述的元数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110867359.9A CN113342751B (zh) | 2021-07-30 | 2021-07-30 | 元数据处理方法、装置、设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110867359.9A CN113342751B (zh) | 2021-07-30 | 2021-07-30 | 元数据处理方法、装置、设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113342751A CN113342751A (zh) | 2021-09-03 |
CN113342751B true CN113342751B (zh) | 2021-11-09 |
Family
ID=77480473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110867359.9A Active CN113342751B (zh) | 2021-07-30 | 2021-07-30 | 元数据处理方法、装置、设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342751B (zh) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8639665B2 (en) * | 2012-04-04 | 2014-01-28 | International Business Machines Corporation | Hybrid backup and restore of very large file system using metadata image backup and traditional backup |
US8793466B2 (en) * | 2012-04-27 | 2014-07-29 | Netapp, Inc. | Efficient data object storage and retrieval |
CN106055431B (zh) * | 2016-05-30 | 2018-09-21 | 河海大学 | 基于快照在线回滚的数据备份与恢复的方法及装置 |
CN109947730B (zh) * | 2017-07-25 | 2024-02-02 | 中兴通讯股份有限公司 | 元数据恢复方法、装置、分布式文件系统及可读存储介质 |
CN107908696A (zh) * | 2017-11-02 | 2018-04-13 | 广西中烟工业有限责任公司 | 一种并行高效的基于网格与密度的多维空间数据聚类算法griden |
CN109447318B (zh) * | 2018-09-25 | 2024-05-07 | 平安科技(深圳)有限公司 | 一种网格划分方法、计算机可读存储介质及终端设备 |
CN111143112B (zh) * | 2018-11-02 | 2023-08-25 | 伊姆西Ip控股有限责任公司 | 用于恢复元数据的方法、设备和计算机可读存储介质 |
CN109508148B (zh) * | 2018-11-09 | 2021-08-10 | 浪潮电子信息产业股份有限公司 | 一种元数据重建方法、装置和计算机可读存储介质 |
CN110580506A (zh) * | 2019-08-30 | 2019-12-17 | 深圳市瑞立视多媒体科技有限公司 | 基于密度的聚类计算方法、装置、设备和存储介质 |
CN110688256B (zh) * | 2019-09-12 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种元数据上电恢复方法、装置、电子设备及存储介质 |
CN112783698A (zh) * | 2019-11-05 | 2021-05-11 | 华为技术有限公司 | 一种存储系统中的元数据的管理方法及装置 |
CN111242491A (zh) * | 2020-01-16 | 2020-06-05 | 厦门大学 | 医疗大数据可视化分析方法、介质、设备及系统 |
-
2021
- 2021-07-30 CN CN202110867359.9A patent/CN113342751B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113342751A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11550675B2 (en) | Remote data replication method and system | |
US8965850B2 (en) | Method of and system for merging, storing and retrieving incremental backup data | |
US9183236B2 (en) | Low level object version tracking using non-volatile memory write generations | |
US9292327B1 (en) | Optimization for incremental backup of VMS | |
US9747207B2 (en) | Crash-proof cache data protection method and system | |
US6311193B1 (en) | Computer system | |
US9189342B1 (en) | Generic process for determining child to parent inheritance for fast provisioned or linked clone virtual machines | |
CN110018989B (zh) | 一种快照比对的方法和装置 | |
US20110093437A1 (en) | Method and system for generating a space-efficient snapshot or snapclone of logical disks | |
KR101674176B1 (ko) | 파일 단위 순서 모드 저널링 기법을 이용한 fsync 시스템 호출 처리 장치 및 방법 | |
CN108572888B (zh) | 磁盘快照创建方法和磁盘快照创建装置 | |
US11210273B2 (en) | Online file system check using file system clone | |
US8595271B1 (en) | Systems and methods for performing file system checks | |
CN113342741B (zh) | 快照实现方法及装置、电子设备及计算机可读存储介质 | |
US20150278101A1 (en) | Accessing data | |
US10366076B1 (en) | Systems and methods for repairing corrupted data segments in deduplicated data systems | |
CN114356849B (zh) | 文件系统的数据管理方法及装置、电子设备及存储介质 | |
CN113342751B (zh) | 元数据处理方法、装置、设备和可读存储介质 | |
US7865472B1 (en) | Methods and systems for restoring file systems | |
CN110471623B (zh) | 硬盘文件写入方法、装置、计算机设备和存储介质 | |
CN113590380A (zh) | 一种数据库恢复方法及系统 | |
US11385826B2 (en) | Method, electronic device and computer program product for restoring orphan block via replication | |
CN115617580B (zh) | 基于共享sst文件的增量备份、恢复方法和系统 | |
CN116257531B (zh) | 一种数据库空间回收方法 | |
KR101758792B1 (ko) | 비휘발성 메모리의 자료 구조에 기초한 데이터 로깅 방법, 트랜잭션 로그에 기초한 복구 방법 및 상기 방법을 수행하는 장치 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40061780 Country of ref document: HK |