CN111045857A - 数据备份和恢复的方法、电子设备和计算机可读存储介质 - Google Patents

数据备份和恢复的方法、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN111045857A
CN111045857A CN201811192218.6A CN201811192218A CN111045857A CN 111045857 A CN111045857 A CN 111045857A CN 201811192218 A CN201811192218 A CN 201811192218A CN 111045857 A CN111045857 A CN 111045857A
Authority
CN
China
Prior art keywords
data
file
directory
path
metadata
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
Application number
CN201811192218.6A
Other languages
English (en)
Other versions
CN111045857B (zh
Inventor
张志斌
邓荭
王红英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201811192218.6A priority Critical patent/CN111045857B/zh
Priority to US16/285,124 priority patent/US11221921B2/en
Publication of CN111045857A publication Critical patent/CN111045857A/zh
Application granted granted Critical
Publication of CN111045857B publication Critical patent/CN111045857B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management specifically adapted to NAS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的实施例涉及用于数据备份和恢复的方法、电子设备和计算机可读存储介质。数据备份方法包括:接收待备份数据和描述待备份数据的元数据,待备份数据包括文件和目录,元数据包括与文件相关联的文件数据和与目录相关联的目录数据;基于文件数据和目录数据,生成与文件和目录二者相关联的路径数据;以及与待备份数据相关联地存储文件数据、目录数据和路径数据。相应地,数据恢复方法包括:接收待恢复数据的信息;响应于信息与路径有关,获取与文件和目录二者相关联的路径数据;基于路径数据,确定描述待恢复数据的元数据;基于元数据,获取待恢复数据;以及发送待恢复数据以实现数据恢复。由此实现备份数据的快速恢复。

Description

数据备份和恢复的方法、电子设备和计算机可读存储介质
技术领域
本公开涉及计算机领域,并且更具体地涉及数据备份和恢复的方法、电子设备和计算机可读存储介质。
背景技术
网络附加存储(NAS,Network Attached Storage)设备通常在局域网中被布置为网络的一个节点,以允许用户在网络上直接存取数据。在这种布置中,NAS设备可以集中管理和处理网络上的所有数据,减少应用或企业服务器的负载并降低成本。
在网络上接收到大量数据后,NAS设备为了保证数据的安全,需要对接收的数据进行备份处理。通常在备份数据时,会将数据与描述数据的元数据相关联地存储于用于数据备份的存储器(以下也称为备份存储器)中。当要恢复备份的数据时,通过查找元数据来从备份存储器中获取相应的备份的数据。通常元数据以索引节点值的形式被组织。在这种情况下,当通过索引节点值获取数据时,可以高效地完成数据恢复。然而,当通过路径位置获取数据时,在备份的数据包含大量目录和文件的情况下,需要花费很长时间才能确定与路径有关的目录和文件的元数据。因此恢复备份数据的时间长、效率低。
发明内容
本公开实施例提供用于数据备份和恢复的改进方案。
根据本公开的第一方面,提供了一种数据备份方法。该方法包括:接收待备份数据和描述所述待备份数据的元数据,所述待备份数据包括文件和目录,所述元数据包括与所述文件相关联的文件数据和与所述目录相关联的目录数据;基于所述文件数据和所述目录数据,生成与所述文件和所述目录二者相关联的路径数据;以及与所述待备份数据相关联地存储所述文件数据、所述目录数据、所述路径数据。
根据本公开的第二方面,提供了一种数据恢复方法。该方法包括:接收待恢复数据的信息;响应于所述信息与路径有关,获取与文件和目录二者相关联的路径数据,所述路径数据是基于与所述文件相关联的文件数据和与所述目录相关联的目录数据而生成的;基于所述路径数据,确定描述所述待恢复数据的元数据;基于所述元数据,获取所述待恢复数据;以及发送所述待恢复数据以实现数据恢复。
本公开的第三方面提供了一种电子设备。该电子设备包括:至少一个处理器;以及存储器,耦合至所述至少一个处理器并且具有存储于其上的指令,所述指令在由所述至少一个处理器执行时使所述设备执行动作,所述动作包括:接收待备份数据和描述所述待备份数据的元数据,所述待备份数据包括文件和目录,所述元数据包括与所述文件相关联的文件数据和与所述目录相关联的目录数据;基于所述文件数据和所述目录数据,生成与所述文件和所述目录二者相关联的路径数据;以及与所述待备份数据相关联地存储所述文件数据、所述目录数据和所述路径数据。
本公开的第四方面提供了一种电子设备。该电子设备包括:至少一个处理器;存储器,耦合至所述至少一个处理器并且具有存储于其上的指令,所述指令在由所述至少一个处理器执行时使所述设备执行动作,所述动作包括:接收待恢复数据的信息;响应于所述信息与路径有关,获取与文件和目录二者相关联的路径数据,所述路径数据是基于与所述文件相关联的文件数据和与所述目录相关联的目录数据而生成的;基于所述路径数据,确定描述所述待恢复数据的元数据;基于所述元数据,获取所述待恢复数据;以及发送所述待恢复数据以实现数据恢复。
本公开的第五方面提供了一种计算机可读存储介质。该计算机可读存储介质具有存储在其上的计算机可读程序指令,所述计算机可读程序指令在被处理单元执行时使得所述处理单元实现本公开的第一方面的方法。
本公开的第六方面提供了一种计算机可读存储介质。该计算机可读存储介质具有存储在其上的计算机可读程序指令,所述计算机可读程序指令在被处理单元执行时使得所述处理单元实现本公开的第二方面的方法。
应当理解,发明内容部分并非旨在标识本公开的实施例的关键或重要特征,亦非旨在用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了根据本公开实施例的存储系统的架构图;
图2示出了根据本公开实施例的文件数据的映射的示意图;
图3示出了根据本公开实施例的目录数据的映射的示意图;
图4示出了根据本公开实施例的路径数据与文件数据和目录数据之间关系的示意图;
图5示出了根据本公开实施例的用于数据备份的方法的流程图;
图6示出了根据本公开实施例的用于生成路径数据的方法的流程图;
图7示出了根据本公开实施例的数据流传输的示意图;
图8示出了根据本公开实施例的创建索引结构的示意图;
图9示出了根据本公开实施例的更新索引结构中的节点的示意图;
图10示出了根据本公开实施例的更新索引结构中的节点的示意图;
图11示出了根据本公开实施例的用于数据恢复的方法的流程图;以及
图12示出了适于用来实施本公开实施例的设备的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。下文还可能包括其他明确的和隐含的定义。
图1示出了根据本公开的实施例的存储系统100的架构图。存储系统100可以包括数据存储设备104,其需要对存储的数据进行备份。在一个示例中,数据存储设备104可以为NAS设备。NAS设备104可以连接到网络上,并从网络上接收大量的数据。备选地或附加地,数据存储设备104还可以是直连式存储(DAS)设备、存储网络(SAN)设备等等。应理解到,数据存储设备104也可以是其它合适的数据存储设备,本公开的实施例对此并不作进行任何限制。为了便于描述,下面以NAS设备为例描述本公开的实施例。
存储系统100还可以包括数据备份系统102和备份存储器106。在该示例中,数据备份系统102用于对待存储的数据进行备份。为了保证数据存储设备104中数据的安全性,数据备份系统102将数据存储设备104上的数据备份到备份存储器106中。数据备份系统102可以包括存储器108和控制器110。
备份存储器106可以是用于存储大容量数据的存储设备。该存储设备可以包括各种易失性和/或非易失性数据存储介质114。存储介质114的示例可以包括但不限于磁盘、光盘、硬盘、固态硬盘(SSD)、高速缓存。
在本示例中,图1中的数据存储设备110为NAS设备,其通过网络数据管理协议(NDMP)向数据备份系统112传送数据流(稍后在图7中详细描述),数据流包括待备份数据以及描述待备份数据的元数据。待备份数据包括文件和目录(也可以称为目录文件)。元数据可以包括在NAS设备中存储的文件和目录的类型、名称、大小、路径、索引节点值等信息中的一种或多种。根据本公开的实施例,索引节点值可以是在NAS设备中存储的文件和目录的元数据的存储位置的指示信息。在一个示例中,该指示信息可以为地址信息。在另一示例中,该指示信息可以为NAS设备中分配的专用于标识节点的值。例如,索引节点信息以类似数组的方式存储,则节点值为数组中的位置。
如前面提及的,在对数据进行备份时,NAS设备会将待备份数据与描述待备份数据的元数据相关联地存储于备份存储器中。当要恢复备份的数据时,通过查找相应的元数据来从备份存储器中获取相应的备份的数据。通常元数据通过索引节点值被组织。因此,当通过索引节点值获取数据时,可以高效地完成数据恢复。然而,当通过路径位置获取数据时,在备份的数据包含大量目录和文件的情况下,需要花费很长时间才能确定与路径有关的目录和文件的元数据。因此恢复备份数据的时间长、效率低。
鉴于此,本公开实施例的基本构思就在于提供一种能够快速恢复备份数据的解决方案。在该解决方案中,除了通过索引节点值组织元数据之外,还以路径的形式组织元数据,由此实现备份数据的快速恢复。下面结合图2至图4对该构思进行详细描述。
在本公开的实施例中,与文件相关联的元数据被称为文件数据,并且与目录相关联的元数据被称为目录数据。图2示出了根据本公开实施例的文件数据的映射的示意图(文件树)200。图3示出了根据本公开实施例的目录数据的映射的示意图(目录树)300。图2和图3以树的形式示出了文件数据和目录数据的映射。在备选实施例中,也可以采用数组的形式。应理解到,在本公开的实施例中,可以本领域已知或未来开发的任意合适的数据结构形式来呈现或存储该文件数据和目录数据。
根据本公开的一些实施例,当数据备份系统102从NAS设备接收到待备份数据后,可以从中获得数据的类型指示信息及索引节点值。由类型指示信息获得的数据作为第一地址映射到相应的树。例如类型为文件时,该类型指示信息映射至如图2所示的文件树的根节点201的存储地址。例如类型为目录时,该类型指示信息映射至如图3所示的目录树的根节点301的存储地址。
当基于数据的类型指示信息映射到树的根节点后,然后基于数据的索引节点值映射到树的叶子节点,即在查找到树的根节点的地址后,再基于索引节点值找到树的叶子节点的地址。在一个示例中,索引节点可以由8位16进制数据表示。通过将8位数字分成多个部分来表示树的多个层。例如以位数2、3、3的形式划分8位数字形成树的三个层。例如,数据的类型指示信息为文件并且数据的索引节点值为“0X00001001”。参见图2,对应的文件树划分为三层,每层对应于索引节点的2位、3位、3位,即“0X00”、“0X001”、“0X001”,从而如图2所示,找到文件树的叶子节点206。在其它示例中,索引节点也可以其它形式划分。在另一示例中,索引节点值可为设置为具有任何位数的值。这同样适用于图3的目录树,这里不再赘述。
在基于数据的类型指示信息和索引节点值确定了一个地址即树的叶子节点(诸如图2的206至209和图3的306至309所示)后,在该地址存储该数据的存储位置的信息(在本文中也称为元数据信息)。在一个示例中,元数据信息可以包括但不限于数据在备份存储器106中的位置信息、类型信息、存储单元标识(ID)以及偏移信息。图2和图3中的叶子节点206至209和306至309也称为元数据节点。而图2和图3中的节点202至205和302至305被称为虚拟节点,其只是用于组织元数据节点,而不包含有用的元数据。
在传统方案中,例如当用户正在浏览路径位置“/文件夹/子文件夹1/文件1”时,即需要通过路径位置获取备份的数据时,数据备份系统102需要遍历目录树300以找到“文件夹”和“子文件夹1”的元数据,并且遍历文件树200以找到“文件1”的元数据。在这种情况下,元数据的查找相当繁琐,导致数据恢复很慢。
于是,本发明人想到,可以通过构建包含目录和文件二者的元数据信息的路径数据来提高元数据查找效率,从而提高数据恢复速度。根据本公开的实施例,可以基于文件数据和目录数据来生成该路径数据。图4示出了根据本公开实施例的路径数据与文件数据和目录数据之间关系的示意图(路径树)400。类似于图2和图3,图4中也以树的形式示出了路径数据的映射。在备选实施例中,也可以采用数组的形式。应理解到,在本公开的实施例中,可以本领域已知或未来开发的任意合适的数据结构形式来呈现或存储该路径数据。
如图4所示,路径树的节点401至404对应于目录树的叶子节点306至309,并且路径树的节点405至408对应于文件树的叶子节点206至209。在本公开实施例的方案中,例如当用户正在浏览路径位置“/文件夹/子文件夹1/文件1”时,即需要通过路径位置获取备份的数据时,数据备份系统102可以仅通过遍历路径树400就能找到“文件夹”、“子文件夹1”和“文件1”的元数据。因此可以快速查找到所需元数据,实现备份数据的快速恢复。
基于上述构思,本公开实施例提供相应的用于文件备份和恢复的方案。下面结合图5至图11对此进行详细描述。图5示出了根据本公开实施例的用于数据备份的方法500的流程图。该方法500可以在例如图1的数据备份系统102处实施。
在框510,接收待备份数据和描述待备份数据的元数据。在图1中数据存储设备104获得数据并将其保存后,为了数据的安全,数据存储设备104向数据备份系统102发送数据。在一个示例中,数据存储设备104通过NDMP协议向数据备份系统发送数据。相应地,数据备份系统102接收该数据。图7示出了根据本公开实施例的数据流传输的示意图700。在本公开的实施例中,待备份数据包括文件和目录,元数据包括与文件相关联的文件数据和与目录相关联的目录数据。如图7所示,在来自数据存储设备104的待备份数据的数据流中,框701表示待备份数据中的目录以及与目录相关联的元数据(即,目录数据)。框702表示待备份数据中的文件以及与文件相关联的元数据(即,文件数据)。应理解到,图7仅为数据流传输的示例,并不对本公开实施例构成任何限制。本公开实施例实际上适用于任意合适的数据流传输场景。
在框520,基于文件数据和目录数据,生成与文件和目录二者相关联的路径数据。根据本公开的实施例,可以从701中的目录数据和702中的文件数据确定目录和文件的路径信息,并且基于路径信息来生成路径数据。在一些实施例中,路径信息可以包括文件和目录的索引节点值、子目录或子文件信息、父目录信息等等。在一些实施例中,可以基于文件和目录的索引节点值以及子目录和子文件信息来生成路径数据。在一些备选实施例中,可以基于文件和目录的索引节点值以及父目录和子文件信息来生成路径数据。在另外的一些备选实施例中,可以基于文件和目录的索引节点值以及子目录、子文件和父目录信息来生成路径数据。应理解到,可以通过任意合适的方式来基于这些路径信息生成与文件和目录二者相关联的路径数据,这里不再一一赘述。下面仅结合图6描述用于基于文件和目录的索引节点值以及父目录和子文件信息生成路径数据的示例性具体实施例。
图6示出了根据本公开实施例的用于生成路径数据的方法600的流程图。该方法600可以在例如图1的数据备份系统102处实施。
在框610,从文件数据和目录数据确定文件和目录的索引节点值以及子目录和子文件信息。根据本公开的一些实施例,例如图7所示,从701中的目录数据确定目录的索引节点值以及子目录和子文件信息,并且从702中的文件数据确定文件的索引节点值。
在框620,基于子目录和子文件信息,创建包括节点的索引结构,每个节点包括索引节点值。根据本公开的实施例,索引结构可以为树。在备选实施例中,索引结构可以为数组。应理解到,索引结构也可以采用本领域已知或未来开发的任意其它形式。为方便起见,下面以树结构为例进行描述。
图8示出了根据本公开实施例的创建索引结构(树)的示意图800。根据本公开的实施例,图8的索引结构可以基于例如默克尔(Merkle)树构建。应理解到,也可以基于其它类型的树来构建,本公开实施例对此并不作任何限制。在索引结构的生成过程中,包括占位符节点和真实节点这两种节点。占位符节点仅包含文件或目录的索引节点值以及子文件或子目录的索引节点值。真实节点包含文件或目录的真实元数据。在索引结构被初始创建时,索引结构仅包括占位符节点例如801至808。根据本公开的实施例,基于在框610确定的子文件和子目录信息,可以创建反映文件和目录之间的层级关系的树结构,如图8所示。树的每个节点801至808为占位符节点,其中包含对应文件或目录的索引节点值以及子文件或子目录的索引节点值。通过占位符节点,可以从路径角度描述继承关系的结构,但并不包含每个节点的具体元数据。
返回图6,在框630,从文件数据和目录数据确定与索引节点值对应的元数据信息。根据本公开的实施例,元数据信息包括数据的存储位置的信息。在一个示例中,元数据信息可以包括但不限于数据在备份存储器中的位置信息、类型信息、存储单元ID以及偏移信息。根据本公开的实施例,可以从来自数据存储设备104的数据流(图7)中确定元数据信息。
在框640,基于元数据信息更新索引结构的节点。这对应于通过真实节点替换占位符节点的过程。图9示出了根据数据流中的目录部分701来更新索引结构中的节点的示意图900。如图9所示,在处理图7的数据流的目录部分701时,每个目录的内容包含索引节点值列表和其子文件或子目录的名称列表,如下所示。
索引节点值0x0abc(目录1)
Figure BDA0001827792480000101
这些内容足以创建具有占位符节点的索引结构。同时,该目录部分701还包含所有目录的元数据。因此可以从中获取元数据信息以用于更新索引结构中的目录的所有占位符节点,例如图9中的节点910-904。
图10示出了根据数据流中的文件部分702来更新索引结构中的节点的示意图1000。文件部分702包含待备份的所有文件。因此,可以从中获取元数据信息以用于更新索引结构中的文件的所有占位符节点,例如图10中的节点1001-1004。至此,生成了索引结构,即,路径数据。
返回图5,在框530,与待备份数据相关联地存储文件数据、目录数据和路径数据。根据本公开的一些实施例,可以将文件数据、目录数据和路径数据存储在数据备份系统102的存储器108中。在一些备选实施例中,可以将文件数据、目录数据和路径数据存储在数据备份系统102的高速缓存中。在一些其他备选实施例中,可以将文件数据、目录数据和路径数据与待备份数据一起存储到备份存储器106中。
根据本公开的一些实施例,可以在生成路径数据的索引结构后,备份该索引结构。也就是,在利用真实节点替换所有占位符节点后,备份该索引结构。根据本公开的备选实施例,可以在生成索引结构的过程中备份索引结构。也就是,在利用真实节点替换了部分占位符节点后存储替换后的节点。在备份替换后的节点后,可以将该节点从存储空间中删除。由此可以节省和优化存储空间。下面结合图6的框650至690对此进行示例描述。
在框640索引结构的节点被基于元数据信息更新后,根据本公开的一些实施例,可以确定该节点的所有同级节点是否也已完成更新,并且在均已完成更新的情况下,存储该节点和所有同级节点。
例如在框650,确定该节点的同级节点是否包括元数据信息。如果该同级节点不包括元数据信息,也就是,该同级节点为占位符节点,则不对节点进行存储。如果该同级节点包括元数据信息,则进入框660。在框660,确定该同级节点是否与文件相关联。也就是,判断该同级节点是否为文件节点。如果该同级节点不与文件相关联,则进入框670。如果该同级节点与文件相关联,则进入框680。
在框670,确定该同级节点的所有子节点是否已被存储。如果该同级节点的所有子节点已被存储(哈希字段包含有效值),则进入框680。如果不是所有子节点都被存储,则不对该节点进行存储。在框680,确定是否节点的所有同级节点都已完成更新。如果都已完成更新,则进入框690,存储节点及其所有同级节点。如果未都完成更新,则不对节点进行存储。
通过这种方式,可以在生成索引结构的同时对索引结构进行备份,并删除已备份的索引结构的部分。从而节省存储空间和优化存储资源管理。
至此描述了根据本公开实施例的数据备份方法的示例实施例。根据本公开的实施例,通过在进行数据备份时,基于与文件相关联的元数据(文件数据)和与目录相关联的元数据(目录数据),生成与文件和目录二者相关联的路径数据,并将路径数据与文件数据和目录数据一起和待备份数据相关联地存储,从而便于数据恢复时用于快速查找元数据,提高存储系统的整体效率。
相应地,本公开实施例还提供用于数据恢复的方法。图11示出了根据本公开实施例的用于数据恢复的方法1100的流程图。该方法1100可以在例如图1的数据备份系统102处实施。
如图11所示,在框1110,接收待恢复数据的信息。如图1中,如果数据存储设备104需要恢复部分数据,需要向数据备份系统102发送请求以恢复备份的数据。在一个示例中,该请求至少包括指示数据的元数据在数据存储设备104中的存储位置的指示信息,该指示信息可以以索引节点值的形式表示。在备选示例中,该指示信息可以以路径位置的形式表示。
在框1120,确定接收到的信息与路径有关还是与索引节点值有关。如果确定接收到的信息与路径有关,则进入框1130,获取与文件和目录二者相关联的路径数据,如前面结合图5至图10所述那样生成的路径数据。例如,如果接收到的信息表明需要“/文件夹/子文件夹1/文件1”的元数据,则仅需要遍历例如路径树的路径数据。在另一示例中,如果接收到的信息表明需要“/文件夹/子文件夹1”的元数据,则也仅需要遍历例如路径树的路径数据。
在框1140,基于路径数据确定描述待恢复数据的元数据。例如,基于接收到的信息,从路径数据中查找到与信息中的路径对应的元数据。由于路径数据包含文件和目录之间的继承关系和相应的元数据,仅需要遍历路径数据就可以查找到所需的元数据。相比传统方案中需要遍历文件数据和目录数据二者而言,元数据查找效率大大提高,从而数据恢复速度提高。
如果在框1120确定接收到的信息与索引节点值有关,则进入框1150。在框1150,获取与文件相关联的文件数据,如前面结合图3所述的文件数据。例如,如果接收到的信息表明需要索引节点值为0x00001001的文件的元数据,则仅需要遍历例如文件树的文件数据。在框1160,基于文件数据确定描述待恢复数据的元数据。例如,基于接收到的信息,从文件数据中查找到与信息中的索引节点值对应的元数据。
在确定元数据之后,在框1170,基于元数据,获取待恢复数据。例如,基于元数据中的数据在备份存储器中的存储位置的信息,从备份存储器中获取到待恢复数据。在框1180处,数据备份系统102可以向数据存储设备104发送待恢复数据以实现数据恢复。
至此描述了根据本公开所述的数据恢复方法。根据接收到的信息的类型,通过混合使用路径数据和文件数据的方式,可以更快速地查找到所需的元数据,从而更快速地恢复备份数据,改善存储系统性能。
本发明人对传统方案和本公开实施例的方案进行了性能对比,如下表1所示。从表1可以看出,浏览/搜索大量文件的性能大大改善,速度提高大约100倍。
文件计数 传统方案 本方案 性能改进
5000 48.43s 0.18s 245x
10000 95.17s 0.94s 101x
20000 126.51s 1.68s 75x
40000 134.89s 3.20s 42x
图12示出了可以用来实施本公开实施例的示例性计算设备1200的示意性框图。设备1200可以用于实施结合图5、图6、图11所述的方法。如图所示,设备1200包括中央处理单元(CPU)1201,其可以根据存储在只读存储器(ROM)1202中的计算机程序指令或者从存储单元1208加载到随机访问存储器(RAM)1203中的计算机程序指令,来执行各种适当的动作和处理。在RAM 1203中,还可存储设备1200操作所需的各种程序和数据。CPU 1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O)接口1205也连接至总线1204。
设备1200中的多个部件连接至I/O接口1205,包括:输入单元1206,例如键盘、鼠标等;输出单元1207,例如各种类型的显示器、扬声器等;存储单元1208,例如存储、光盘等;以及通信单元1209,例如网卡、调制解调器、无线通信收发机等。通信单元1209允许设备1200通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元1201执行上文所描述的各个方法和处理,例如方法500、600、1100。例如,在一些实施例中,方法500、600、1100可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1208。在一些实施例中,计算机程序的部分或者全部可以经由ROM1202和/或通信单元1209而被载入和/或安装到设备1200上。当计算机程序加载到RAM 1203并由CPU 1201执行时,可以执行上文描述的方法500、600、1100的一个或多个步骤。备选地,在其他实施例中,CPU 1201可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法500、600、1100。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在对端机器上执行或完全在对端机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (22)

1.一种数据备份方法,包括:
接收待备份数据和描述所述待备份数据的元数据,所述待备份数据包括文件和目录,所述元数据包括与所述文件相关联的文件数据和与所述目录相关联的目录数据;
基于所述文件数据和所述目录数据,生成与所述文件和所述目录二者相关联的路径数据;以及
与所述待备份数据相关联地存储所述文件数据、所述目录数据和所述路径数据。
2.根据权利要求1所述的方法,其中生成所述路径数据包括:
从所述文件数据和所述目录数据确定所述文件和所述目录的路径信息;以及
基于所述路径信息,生成所述路径数据。
3.根据权利要求2所述的方法,其中所述路径信息包括所述文件和所述目录的索引节点值以及子目录和子文件信息,以及
其中生成所述路径数据包括:
基于所述子目录和子文件信息创建包括节点的索引结构,每个节点包括所述索引节点值;
从所述文件数据和所述目录数据确定与所述索引节点值对应的元数据信息;以及
基于所述元数据信息更新所述索引结构的所述节点。
4.根据权利要求3所述的方法,还包括:
确定所述节点的所有同级节点是否已完成更新;以及
响应于所有所述同级节点已完成更新,存储所述节点和所有所述同级节点。
5.根据权利要求4所述的方法,其中确定所述同级节点是否已完成更新包括:
确定所述同级节点是否包括所述元数据信息;以及
响应于确定所述同级节点不包括所述元数据信息,确定所述同级节点未完成更新。
6.根据权利要求5所述的方法,其中确定所述同级节点是否已完成更新包括:
响应于确定所述同级节点包括所述元数据信息,确定所述同级节点是否与文件相关联;
响应于所述同级节点与文件相关联,确定所述同级节点已完成更新。
7.根据权利要求6所述的方法,其中确定所述同级节点是否已完成更新包括:
响应于所述同级节点不与文件相关联,确定是否已存储所述同级节点的所有子节点;
响应于已存储所有所述子节点,确定所述同级节点已完成更新;以及
响应于不是所有所述子节点都被存储,确定所述同级节点未完成更新。
8.根据权利要求4所述的方法,还包括:
从所述索引结构去除所述节点和所有所述同级节点。
9.一种数据恢复方法,包括:
接收待恢复数据的信息;
响应于所述信息与路径有关,获取与文件和目录二者相关联的路径数据,所述路径数据是基于与所述文件相关联的文件数据和与所述目录相关联的目录数据而生成的;
基于所述路径数据,确定描述所述待恢复数据的元数据;
基于所述元数据,获取所述待恢复数据;以及
发送所述待恢复数据以实现数据恢复。
10.根据权利要求9所述的方法,还包括:
响应于所述信息与索引节点值有关,获取所述文件数据;
基于所述文件数据,确定描述所述待恢复数据的所述元数据;
基于所述元数据,获取所述待恢复数据;以及
发送所述待恢复数据以实现数据恢复。
11.一种电子设备,包括:
至少一个处理器;
存储器,耦合至所述至少一个处理器并且具有存储于其上的指令,所述指令在由所述至少一个处理器执行时使所述设备执行动作,所述动作包括:
接收待备份数据和描述所述待备份数据的元数据,所述待备份数据包括文件和目录,所述元数据包括与所述文件相关联的文件数据和与所述目录相关联的目录数据;
基于所述文件数据和所述目录数据,生成与所述文件和所述目录二者相关联的路径数据;以及
与所述待备份数据相关联地存储所述文件数据、所述目录数据和所述路径数据。
12.根据权利要求11所述的设备,其中所述存储器还存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:
从所述文件数据和所述目录数据确定所述文件和所述目录的路径信息;以及
基于所述路径信息,生成所述路径数据。
13.根据权利要求12所述的设备,其中所述路径信息包括所述文件和所述目录的索引节点值以及子目录和子文件信息,以及
其中所述存储器还存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:
基于所述子目录和子文件信息创建包括节点的索引结构,每个节点包括所述索引节点值;
从所述文件数据和所述目录数据确定与所述索引节点值对应的元数据信息;以及
基于所述元数据信息更新所述索引结构的所述节点。
14.根据权利要求13所述的设备,其中所述存储器还存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:
确定所述节点的所有同级节点是否已完成更新;以及
响应于所有所述同级节点已完成更新,存储所述节点和所有所述同级节点。
15.根据权利要求14所述的设备,其中所述存储器还存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:
确定所述同级节点是否包括所述元数据信息;以及
响应于确定所述同级节点不包括所述元数据信息,确定所述同级节点未完成更新。
16.根据权利要求15所述的设备,其中所述存储器还存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:
响应于确定所述同级节点包括所述元数据信息,确定所述同级节点是否与文件相关联;
响应于所述同级节点与文件相关联,确定所述同级节点已完成更新。
17.根据权利要求16所述的设备,其中所述存储器还存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:
响应于所述同级节点不与文件相关联,确定是否已存储所述同级节点的所有子节点;
响应于已存储所有所述子节点,确定所述同级节点已完成更新;以及
响应于不是所有所述子节点都被存储,确定所述同级节点未完成更新。
18.根据权利要求14所述的设备,其中所述存储器还存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:
从所述索引结构去除所述节点和所有所述同级节点。
19.一种电子设备,包括:
至少一个处理器;
存储器,耦合至所述至少一个处理器并且具有存储于其上的指令,所述指令在由所述至少一个处理器执行时使所述设备执行动作,所述动作包括:
接收待恢复数据的信息;
响应于所述信息与路径有关,获取与文件和目录二者相关联的路径数据,所述路径数据是基于与所述文件相关联的文件数据和与所述目录相关联的目录数据而生成的;
基于所述路径数据,确定描述所述待恢复数据的元数据;
基于所述元数据,获取所述待恢复数据;以及
发送所述待恢复数据以实现数据恢复。
20.根据权利要求19所述的设备,其中所述存储器还存储有指令,所述指令在被所述处理单元执行时使得所述电子设备:
响应于所述信息与索引节点值有关,获取所述文件数据;
基于所述文件数据,确定描述所述待恢复数据的所述元数据;
基于所述元数据,获取所述待恢复数据;以及
发送所述待恢复数据以实现数据恢复。
21.一种计算机可读存储介质,所述计算机可读存储介质具有存储在其上的计算机可读程序指令,所述计算机可读程序指令在被处理单元执行时使得所述处理单元实现根据权利要求1-8中的任一项所述的方法。
22.一种计算机可读存储介质,所述计算机可读存储介质具有存储在其上的计算机可读程序指令,所述计算机可读程序指令在被处理单元执行时使得所述处理单元实现根据权利要求9-10中的任一项所述的方法。
CN201811192218.6A 2018-10-12 2018-10-12 数据备份和恢复的方法、电子设备和计算机可读存储介质 Active CN111045857B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811192218.6A CN111045857B (zh) 2018-10-12 2018-10-12 数据备份和恢复的方法、电子设备和计算机可读存储介质
US16/285,124 US11221921B2 (en) 2018-10-12 2019-02-25 Method, electronic device and computer readable storage medium for data backup and recovery

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811192218.6A CN111045857B (zh) 2018-10-12 2018-10-12 数据备份和恢复的方法、电子设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111045857A true CN111045857A (zh) 2020-04-21
CN111045857B CN111045857B (zh) 2023-11-28

Family

ID=70160240

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811192218.6A Active CN111045857B (zh) 2018-10-12 2018-10-12 数据备份和恢复的方法、电子设备和计算机可读存储介质

Country Status (2)

Country Link
US (1) US11221921B2 (zh)
CN (1) CN111045857B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419897A (zh) * 2021-01-19 2021-09-21 阿里巴巴集团控股有限公司 一种文件处理方法、装置、电子设备及其存储介质
CN114328031A (zh) * 2022-03-03 2022-04-12 成都云祺科技有限公司 元数据组织方法、系统、存储介质及备份方法、检索方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111045857B (zh) * 2018-10-12 2023-11-28 伊姆西Ip控股有限责任公司 数据备份和恢复的方法、电子设备和计算机可读存储介质
US11347881B2 (en) * 2020-04-06 2022-05-31 Datto, Inc. Methods and systems for detecting ransomware attack in incremental backup
US11341090B2 (en) * 2019-09-26 2022-05-24 American Express Travel Related Services Company, Inc. Seamless data movement and metadata management in a hybrid cloud setting using a configurable micro services based architecture
CN113824757B (zh) * 2020-12-23 2024-05-21 京东科技控股股份有限公司 数据获取方法、系统和计算机可读存储介质
CN113448777A (zh) * 2021-07-08 2021-09-28 京东科技控股股份有限公司 一种数据恢复方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070185852A1 (en) * 2005-12-19 2007-08-09 Andrei Erofeev Pathname translation in a data replication system
US20100095289A1 (en) * 2008-10-13 2010-04-15 Oracle International Corporation Patching of multi-level data containers storing portions of pre-installed software
CN107122260A (zh) * 2017-04-18 2017-09-01 北京思特奇信息技术股份有限公司 一种数据备份方法及装置
CN107341072A (zh) * 2016-11-18 2017-11-10 新华三技术有限公司 一种数据备份方法及装置
CN107797887A (zh) * 2017-10-26 2018-03-13 医渡云(北京)技术有限公司 数据备份及恢复方法、装置、存储介质和电子设备
US20200117543A1 (en) * 2018-10-12 2020-04-16 EMC IP Holding Company LLC Method, electronic device and computer readable storage medium for data backup and recovery

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5960820B2 (ja) * 2012-07-09 2016-08-02 株式会社Murakumo ツリー構造の管理方法、情報処理システム、及び、プログラム
WO2016045096A1 (zh) * 2014-09-26 2016-03-31 华为技术有限公司 一种文件迁移方法、装置和存储设备
JP6641813B2 (ja) * 2015-09-11 2020-02-05 富士通株式会社 制御装置、情報処理システム、及び制御プログラム
US10346354B2 (en) * 2016-10-28 2019-07-09 Netapp, Inc. Reducing stable data eviction with synthetic baseline snapshot and eviction state refresh
US10515052B2 (en) * 2017-07-20 2019-12-24 Vmware, Inc. File system that supports both case sensitive and case insensitive directory lookup
US10635546B2 (en) * 2017-12-07 2020-04-28 Commvault Systems, Inc. Synthesizing a restore image from one or more secondary copies to facilitate data restore operations to a file server

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070185852A1 (en) * 2005-12-19 2007-08-09 Andrei Erofeev Pathname translation in a data replication system
US20100095289A1 (en) * 2008-10-13 2010-04-15 Oracle International Corporation Patching of multi-level data containers storing portions of pre-installed software
CN107341072A (zh) * 2016-11-18 2017-11-10 新华三技术有限公司 一种数据备份方法及装置
CN107122260A (zh) * 2017-04-18 2017-09-01 北京思特奇信息技术股份有限公司 一种数据备份方法及装置
CN107797887A (zh) * 2017-10-26 2018-03-13 医渡云(北京)技术有限公司 数据备份及恢复方法、装置、存储介质和电子设备
US20200117543A1 (en) * 2018-10-12 2020-04-16 EMC IP Holding Company LLC Method, electronic device and computer readable storage medium for data backup and recovery

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419897A (zh) * 2021-01-19 2021-09-21 阿里巴巴集团控股有限公司 一种文件处理方法、装置、电子设备及其存储介质
CN113419897B (zh) * 2021-01-19 2023-12-22 阿里巴巴集团控股有限公司 一种文件处理方法、装置、电子设备及其存储介质
CN114328031A (zh) * 2022-03-03 2022-04-12 成都云祺科技有限公司 元数据组织方法、系统、存储介质及备份方法、检索方法
CN114328031B (zh) * 2022-03-03 2022-06-07 成都云祺科技有限公司 元数据组织方法、系统、存储介质及备份方法、检索方法

Also Published As

Publication number Publication date
US11221921B2 (en) 2022-01-11
US20200117543A1 (en) 2020-04-16
CN111045857B (zh) 2023-11-28

Similar Documents

Publication Publication Date Title
CN111045857B (zh) 数据备份和恢复的方法、电子设备和计算机可读存储介质
CN110062925B (zh) 用于云集成的快照元数据布置
US11188500B2 (en) Reducing stable data eviction with synthetic baseline snapshot and eviction state refresh
US10515052B2 (en) File system that supports both case sensitive and case insensitive directory lookup
US9208031B2 (en) Log structured content addressable deduplicating storage
US7788220B1 (en) Storage of data with composite hashes in backup systems
US9798728B2 (en) System performing data deduplication using a dense tree data structure
US9424185B1 (en) Method and system for garbage collection of data storage systems
US8996490B1 (en) Managing logical views of directories
US20160162207A1 (en) System and method for data deduplication utilizing extent id database
US8321487B1 (en) Recovery of directory information
WO2015134676A1 (en) Distributed consistent database implementation within an object store
JP2017504924A (ja) ファイルシステムのコンテンツベースの編成
KR101078287B1 (ko) 다중 복제를 지원하는 분산 파일 시스템에서 데이터 서버의복구 방법 및 그에 적당한 메타데이터 스토리지 및 저장방법
CN111104377B (zh) 文件管理的方法、电子设备和计算机可读存储介质
US7949630B1 (en) Storage of data addresses with hashes in backup systems
US8086638B1 (en) File handle banking to provide non-disruptive migration of files
US11977460B1 (en) File system namespace reconstruction
WO2024022330A1 (zh) 一种基于文件系统的元数据管理方法及其相关设备
CN116737659A (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