CN113419897B - 一种文件处理方法、装置、电子设备及其存储介质 - Google Patents

一种文件处理方法、装置、电子设备及其存储介质 Download PDF

Info

Publication number
CN113419897B
CN113419897B CN202110069702.5A CN202110069702A CN113419897B CN 113419897 B CN113419897 B CN 113419897B CN 202110069702 A CN202110069702 A CN 202110069702A CN 113419897 B CN113419897 B CN 113419897B
Authority
CN
China
Prior art keywords
file
disk
backup data
metadata
backup
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
Application number
CN202110069702.5A
Other languages
English (en)
Other versions
CN113419897A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202110069702.5A priority Critical patent/CN113419897B/zh
Publication of CN113419897A publication Critical patent/CN113419897A/zh
Application granted granted Critical
Publication of CN113419897B publication Critical patent/CN113419897B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1448Management of the data involved in backup or backup restore
    • 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/1456Hardware arrangements for backup
    • 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/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • 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/064Management of blocks
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

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)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种文件处理方法、装置、电子设备及其存储介质。通过本申请实施例所提供的方案,对于磁盘中的文件进行备份时,仅需要基于预设的文件备份策略,即可以对磁盘中的超级块的数据和磁盘上的所有文件进行相关的元数据的备份,从而可以实现快速轻量的文件备份,从而可以在数据被损坏时,直接基于预先备份的磁盘超级块的数据和存储于该磁盘中的文件的元数据,即可以从磁盘的数据区找回该文件,实现快速的数据找回。

Description

一种文件处理方法、装置、电子设备及其存储介质
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种文件处理方法、装置、电子设备及其存储介质。
背景技术
在数据容灾中,经常会面临需要从磁盘中进行数据找回的情况。由于当前的磁盘容量多达几TB甚至十几TB,备份整个文件系统涉及的数据量巨大,需要耗费大量的带宽资源。直接扫描磁盘进行数据恢复时,又很难识别数据块是否为有效数据,属于哪个文件。同时还需要通过复杂的运算才能找出数据块之间的先后逻辑关系。这使得从磁盘中进行数据找回非常的困难。
基于此,需要一种更为便利的文件备份和恢复方案。
发明内容
有鉴于此,本申请实施例提供一种更为便利的文件备份和恢复方案,以至少部分解决上述问题。
根据本申请实施例的第一方面,提供了一种文件处理方法,包括:
确定需要进行文件备份的磁盘;
针对任一需要进行文件备份的磁盘,读取该磁盘的待备份的元数据,所述元数据包括该磁盘中的超级块的数据和存储于该磁盘中的文件的部分元数据,所述文件的部分元数据用于在文件恢复时确定所述文件在该磁盘中的存储位置;
基于预设的文件备份策略和所述待备份的元数据生成对应于该磁盘的备份数据;
上传所述备份数据至远程存储系统
根据本申请实施例的第二方面,提供了另一种文件处理方法,包括:
确定待恢复的文件所存储的磁盘;
从远程存储系统获取所述磁盘所对应的备份数据,所述备份数据至少包括和所述磁盘对应的距离当前时间最近的全量备份数据;
根据所述全量备份数据,生成所述待恢复的文件的部分元数据;
根据所述部分元数据,恢复所述待恢复的文件。
根据本申请实施例的第三方面,提供了一种文件处理装置,包括:
确定模块,确定需要进行文件备份的磁盘;
元数据读取模块,针对任一需要进行文件备份的磁盘,读取该磁盘的待备份的元数据,所述元数据包括该磁盘中的超级块的数据和存储于该磁盘中的文件的部分元数据,所述文件的部分元数据用于在文件恢复时确定所述文件在该磁盘中的存储位置;
备份数据生成模块,基于预设的文件备份策略和所述待备份的元数据生成对应于该磁盘的备份数据;
上传模块,上传所述备份数据至远程存储系统。
根据本申请实施例的第四方面,提供了另一种文件处理装置,包括:
确定模块,确定待恢复的文件所存储的磁盘;
备份数据读取模块,从远程存储系统获取所述磁盘所对应的备份数据,所述备份数据至少包括和所述磁盘对应的距离当前时间最近的全量备份数据;
元数据生成模块,根据所述全量备份数据,生成所述待恢复的文件的部分元数据;
恢复模块,根据所述部分元数据,恢复所述待恢复的文件。
根据本申请实施例的第五方面,提供了一种电子设备,包括:一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如前述方法对应的操作。
根据本申请实施例的第六方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前所述的方法。
根据本申请实施例提供的方案,对于磁盘中的文件进行备份时,仅需要基于预设的文件备份策略,即可以对磁盘中的超级块的数据和磁盘上的所有文件进行相关的元数据的备份,从而可以实现快速轻量的文件备份,从而可以在数据被损坏时,直接基于预先备份的磁盘超级块的数据和存储于该磁盘中的文件的元数据,即可以从磁盘的数据区找回该文件,实现快速的数据找回。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种文件处理方法的流程示意图;
图2为本申请实施例所提供的磁盘的结构示意图;
图3为本申请实施例所提供的一种文件内容诶写入磁盘的示意图;
图4为本申请实施例所提供的另一种文件处理方法的流程示意图;
图5为本申请实施例所提供的一种文件处理装置的结构示意图;
图6为本申请实施例所提供的另一种文件处理装置的结构示意图;
图7为根据本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
分布式存储系统中,通常采用多副本或者纠删码(Erasure Coding)等数据冗余的方式来避免个别机器故障导致的数据不可用。但是,如果遇到批量的文件被销毁(例如,文件被恶意的批量删除、机器被批量clone写入,或容器被批量销毁),就会导致所有文件副本都不可用,这时候被销毁的文件就只能从各机器的本地磁盘上找回。
在这种情况下,文件虽然已经被破坏,但是破坏的实际上是文件的元数据,数据本身仍然存储在该磁盘上,除非文件内容被覆盖,否则还可以读出。基于此,本申请提供一种更为便利的文件处理方案,具体包括第一方面所涉及的文件备份,以及,第二方面所涉及的文件恢复。
对于本申请的第一方面,如图1所示,图1为本申请实施例所提供的一种文件处理方法的流程示意图,包括:
S101,确定需要进行文件备份的磁盘。
设备中包含的磁盘数量可以是一个或者多个,因此需要进行文件备份的磁盘也可以是一个或者多个。进行文件备份的磁盘可以是个人设备中的磁盘,也可以是应用在分布式架构中的服务器中的磁盘等。
以应用于包含多个磁盘的服务器中为例,服务器可以包含预设的配置文件,用户可以对配置文件进行相应的配置,从而确定进行文件备份的时间、确定进行文件备份的具体磁盘以及进行文件备份的方式等等。
例如,对于包含了多个磁盘的服务器设备,用户可以在配置文件中确定依序每次对三块磁盘进行备份,默认的文件备份方式是增量式的配置方式,文件备份的时机可以是在磁盘读取空闲的状态等等。进一步地,服务器可以定时读取或者基于用户的操作手动读取配置文件,从而基于配置文件确定对应的磁盘,并对对应的磁盘进行文件备份。
S103,针对任一需要进行文件备份的磁盘,读取该磁盘的待备份的元数据。
这里的元数据包括该磁盘中的超级块(super block)的数据。在磁盘中通常包含多个分区,磁盘的每个分区被划分为多个数据块(block),通常每个数据块的大小相同。例如,一个数据块大小是1024bytes或者4096bytes。每一个数据块存在唯一对应的数据块编号。磁盘中的超级块通常指的是磁盘上的每个分区中的数据块编号为0或者为1的数据块。
超级块中的数据即为是磁盘中文件系统的元数据。包括磁盘中的数据块的大小、空闲及已使用的块的数量以及索引节点的位置等等。如图2所示,图2为本申请实施例所提供的磁盘的结构示意图。其中,每个分区包括了三个部分:超级块,索引节点表和数据区。
超级块存放磁盘本身的结构信息。比如,超级块记录了每个区域的大小,超级块也存放未被使用的磁盘块的信息等等。
超级块的下一个部分就是索引节点表,每个文件都有一些元数据,如文件的大小、文件所有者、文件占用的数据块和创建时间等,这些元数据被记录在索引节点中。索引节点有相同的大小,而索引节点表是关于这些索引节点的一个列表,文件系统中每个文件在该表中都有一个对应的索引节点。因此,实际上,索引节点表所占用的空间也是很大的。
文件的内容保存在数据区。如果文件包含了超过一个块的内容,则文件内容会存放在多个数据块中。一个较大的文件很容易分布上千个独立的磁盘块中。而一个文件如果存储在某些连续数据块时,可以通过区段树来标识这些连续数据块。
一个文件被写入磁盘时,文件内容被写入了数据区,而文件的元数据则写入了索引节点。如图3所示,图3为本申请实施例所提供的一种文件内容诶写入磁盘的示意图。一个文件的文件被先后写入了第200和第100个数据块,其对应的索引节点编号为20,在该索引节点中存储了该文件的相关元数据信息,包括该文件的文件内容所占用的数据块及其先后顺序。实际中由于文件一般都会比较大而占用多个连续的数据块(即区段extent),因此索引节点存储的即为文件的文件内容所占用的区段树(ExtentTree)。
磁盘中的文件的元数据包括了文件的目录结构、存储了文件的元数据的索引节点的编号、文件名、文件长度和文件的区段树等等。区段树是一种组织文件和数据块的映射关系的树形结构,叶子节点是一个连续的区段(包含了多个编号连续的数据块),中间节点保留文件移量和长度信息。因此,对于一个确定了名称的文件,总是可以从其对应的索引节点中获取得到该文件的元数据。
每一个文件具有唯一的文件名,并且该文件的元数据(包括诸如基本信息,包含时间、长度、使用者、群组、区段树等)即存储在唯一对应的索引节点中。区段树指示了存储该文件的数据块的编号,通过区段树即可以找到一个文件在该磁盘中的存储的数据块。而通过文件长度即可以确定出文件的起始位置和结束位置,从而准确的指示出该文件的数据内容。
换言之,文件中的部分元数据(例如,文件名、文件长度和文件的区段树)指示了该文件在该磁盘中的存储位置,在已知磁盘的存储结构的情形下(超级块中存储了该信息),通过这些部分元数据即可以反推得到该文件在磁盘中的存储位置。具体而言,即可以直接得到该文件存储在磁盘的哪些数据块中以及在各数据块中的先后顺序,并依据文件长度从依序从各数据块中读取而得到该文件。
由于文件的元数据中目录结构和索引节点表的占用空间较大,实际中可能占用磁盘空间的1%左右。如果将索引节点表也进行备份,那么实际备份升成本仍然很高,效率也不高。因此可以不对文件的目录结构和索引节点表进行备份,而仅备份文件的部分元数据,例如仅备份备份文件名、文件长度和文件的区段树即可,从而可以最简化的方式对文件进行备份。
在一种实施方式下,还可以在对多块磁盘进行备份的过程中,为每块磁盘启动一个一一对应的备份进程,并行执行。通过控制同时并行的进程个数,减少设备的负载。
S105,基于预设的文件备份策略和所述待备份的元数据生成对应于该磁盘的备份数据。
所述预设的文件备份策略包括全量备份策略或者增量备份策略。文件备份策略可以是用户所临时指定的。也可以是预先即写入了配置文件,在配置文件被加载时即确定了本次备份的文件备份策略。
如前所述,用户可以通过配置文件定期的进行文件备份。因此实际上,可以每一次都进行全量备份策略。但是在实际应用中,如果备份的频率较高(例如,每天的零点备份一次),那么每次全量备份就有可能效率太低。因此,还可以根据实际需要设定经过一定时长(例如,一周)或者备份次数(例如,30次)才进行另一次全量备份,而在其它时间均采取增量备份策略,从而提高备份效率。
在不同的文件备份策略下,生成的备份数据不同,具体而言:
在全量备份策略下,即以获取得到磁盘中的超级块的数据和存储于该磁盘中的文件的元数据作为备份数据。
在增量备份策略下,即需要确定本次备份时的文件和上次备份时的文件之间的差异。设备可以从上一次备份数据的存储方(可以是本地设备,也可以远程存储系统)获取得到上一次的备份信息,并确定出上一次备份时时存储于该磁盘中的文件的前一文件信息,前一文件信息至少应当包括上一次备份时所包含的文件名和对应的文件长度。
同时,可以确定出本次备份时存储于该磁盘中的当前文件信息,即本次备份时的文件名和文件长度,并且进行对比,通过这种对比即可以确定出发生改变的文件。具体包括:
如果一个文件名在前一文件信息中不存在,而在当前文件信息中存在,即确定该文件名所对应的文件为新增的文件;
如果一个文件名在前一文件信息中存在,而在当前文件信息中不存在,即确定该文件名所对应的文件为删除的文件;
如果一个文件名在前一文件信息和当前文件信息中均存在,即可以对比文件长度,如果文件在当前文件信息中的文件长度和前一文件信息中的文件长度一致,则确定其没有发生了改变,否则,确定其为发生改变的文件。
通过前述方式,即可以确定出被删除的文件、新增的文件、长度发生改变的文件以及新增目录(目录的对比方式与文件类似)等等。进而就可以对这些发生了改变的文件的元数据进行读取,并生成包含了所述发生改变的文件的元数据的增量备份数据。
换言之,对于没有发生改变的文件而言,其元数据实际上被保留在上一次的全量备份数据中,而不会反映在增量备份数据中。
对于一个文件而言,由于其实际上可能会被保存在多个数据块上,因此,一旦文件的长度发生改变,其对应的区段树总是会发生改变,基于此,当一个文件名所对应的文件长度发生了改变,还可以在本次备份时从所述发生改变的文件的元数据所对应的索引节点中读取该文件的区段树,进而将该发生了改变了文件的文件名、文件长度和区段树写入增量备份数据。
生成的备份数据可以通过某些方式来指示相应的生成顺序。例如,备份数据的生成时间挫即反映了其相应的先后顺序,或者,还可以对备份数据按照时间顺序进行依序编号,从而通过编号顺序反映各备份数据的先后顺序。
S107,上传所述备份数据至远程存储系统。
如前所述,磁盘上的文件系统总是有可能被损坏而导致无法正确读取数据,因此,如果降辈分数据保存在本地,也会存在备份数据被损坏的可能。因此,为了保障备份数据的安全,则需要将其上传至远程存储系统,以便磁盘上文件系统被损坏后仍然可以通过备份数据来进行数据恢复。
在一种实施方式中,也可以将备份数据存储于本地。其目的是在进行增量备份时即可以从本地直接读取备份数据而获得上一次备份时的文件信息,无需远程下载,从而提高增量备份时的效率。
前述的文件备份方案可以应用于各种以Ext4为文件系统的的设备中,例如,以Linux为操作系统、以Ext4为文件系统的各种架构的云端服务器或者个人设备中。
通过前述方案,在进行文件备份时,仅需要基于预设的文件备份策略,即可以对磁盘中的超级块的数据和磁盘上的所有文件进行相关的元数据的备份,从而可以实现快速轻量的文件备份。
前述第一方面对数据备份的过程进行了说明,在本申请实施例的第二方面所涉及的文件恢复,还提供另一种文件处理方法。如图4所示,图4为本申请实施例所提供的另一种文件处理方法的流程示意图,包括:
S401,确定待恢复的文件所存储的磁盘。
即可以通过人工方式指定出文件在设备上所存储的磁盘。
S403,从远程存储系统获取所述磁盘所对应的备份数据。
如前所述,备份数据包括了全量备份数据和增量备份数据,并且具有时间先后顺序。
如果预先的备份策略是全量备份策略而没有采用增量备份数据,那么就只存在依序排列的全量备份数据,因此,只需要下载距离当前时间最近的全量备份数据即可。
在一种实施方式中,即使数据备份时采用增量备份策略,有可能当前时间最近的全量备份数据之后还没有进行过增量备份,那么此时,也只需要下载距离当前时间最近的全量备份数据即可。
在一种实施方式中,如果当前时间最近的全量备份数据之后还存在其它后续的增量备份数据,那么,即需要将后续的增量备份数据均下载回来。
S405,根据所述全量备份数据,生成所述待恢复的文件的部分元数据。
具体而言,如果只有全量备份数据,即将所述全量备份数据中所包含的元数据确定为所述待恢复的文件的部分元数据。
如果存在后续的增量备份数据,那么即需要将全量备份数据和后续的增量备份数据进行合并而得到待恢复的文件的部分元数据。
具体而言,对于给定了文件名的待恢复的文件,即可以从全量备份数据中获取得到超级块的信息,并按照时间先后顺序读取各增量备份数据中该文件名所对应的文件长度以及区段树的信息,并且将时间靠后的文件长度以及区段树的信息覆盖时间靠前的文件长度以及区段树的信息。
例如,假设存在三个先后顺序排列的增量备份数据data1和data2,对于文件名为“1.txt”的文件而言,其在data1中记录其文件长度和区段树分别为“length1、ET1”,在data2中记录其文件长度和区段树为“length2、ET2”,那么最终确定的其文件长度即为length2,存储其文件内容的数据块存储的区段树为ET2。ET2中即包含了存储该文件的数据内容的各数据块的编号。
S407,根据所述部分元数据,恢复所述待恢复的文件。
如前所述,所述文件的部分元数据用于在文件恢复时确定所述文件在该磁盘中的存储位置。具体而言,基于超级块的数据可以确定出该磁盘上的哪些块是数据块,而基于区段树即可以确定出存储了文件内容的数据块的编号(包括了起始数据块和后续数据块),从而即可以根据所述超级块的数据和所述区段树确定所述待恢复的文件的起始数据块,并从所述起始数据块开始,根据所述区段树所确定的各数据块读取所述文件长度的数据,生成所述待恢复的文件。
基于前述方案,可以在数据被损坏时,直接基于预先备份的磁盘超级块的数据和存储于该磁盘中的文件的元数据,即可以从磁盘的数据区找回该文件,实现快速的数据找回。
本申请实施例的第三方面,提供了一种文件处理装置,如图5所示,图5为本申请实施例所提供的一种文件处理装置的结构示意图,包括:
确定模块501,确定需要进行文件备份的磁盘;
元数据读取模块503,针对任一需要进行文件备份的磁盘,读取该磁盘的待备份的元数据,所述元数据包括该磁盘中的超级块的数据和存储于该磁盘中的文件的部分元数据,所述文件的部分元数据用于在文件恢复时确定所述文件在该磁盘中的存储位置;
备份数据生成模块505,基于预设的文件备份策略和所述待备份的元数据生成对应于该磁盘的备份数据;
上传模块507,上传所述备份数据至远程存储系统。
可选地,所述文件的部分元数据包括:文件名、文件长度和文件的区段树。
可选地,所述预设的文件备份策略,包括:全量备份策略或者增量备份策略。
可选地,所述备份数据生成模块505,生成包含所述待备份的元数据的对应于该磁盘的全量备份数据。
可选地,所述备份数据生成模块505,获取上一次的备份数据,根据所述上一次的备份数据确定上一次备份时存储于该磁盘中的文件的前一文件信息,所述文件信息至少包括文件名和文件长度;读取本次备份时存储于该磁盘中的当前文件信息,对比所述当前文件信息和前一文件信息确定发生改变的文件;确定所述发生改变的文件的元数据,生成包含所述发生改变的文件的元数据的增量备份数据。
可选地,所述备份数据生成模块505,确定文件的索引节点编号,根据所述索引节点编号确定对应的索引节点;读取所述索引节点中的所包含的文件长度,确定所述文件在当前文件信息中的文件长度和前一文件信息中的文件长度是否一致,若不一致,确定所述文件为发生改变的文件。
可选地,所述备份数据生成模块505,从所述发生改变的文件的元数据所对应的索引节点中读取该文件的区段树,生成包含所述发生改变的文件的文件名、文件长度和区段数的增量备份数据。
可选地,所述装置还包括,还包括存储模块509:保存生成的备份数据于本地;相应的,所述备份数据生成模块505,从本地获取上一次的备份数据。
本申请实施例的第四方面,提供了另一种文件处理装置,如图6所示,图6为本申请实施例所提供的另一种文件处理装置的结构示意图,包括:
确定模块601,确定待恢复的文件所存储的磁盘;
备份数据读取模块603,从远程存储系统获取所述磁盘所对应的备份数据,所述备份数据至少包括和所述磁盘对应的距离当前时间最近的全量备份数据;
元数据生成模块605,根据所述全量备份数据,生成所述待恢复的文件的部分元数据;
恢复模块607,根据所述部分元数据,恢复所述待恢复的文件。
可选地,所述元数据生成模块605,当所述全量备份数据之后不存在增量备份数据时,将所述全量备份数据中所包含的元数据确定为所述待恢复的文件的部分元数据;当所述全量备份数据存在后续的增量备份数据时,根据所述全量备份数据和后续的增量备份数据确定所述待恢复的文件的部分元数据。
可选地,所述元数据生成模块605,确定所述待恢复的文件的文件名;根据时间顺序遍历所述增量备份数据和全量备份数据,合并得到所述磁盘的超级块的数据、所述待恢复的文件的文件名、文件长度和区段树;相应的,所述恢复模块607,根据所述超级块的数据和所述区段树确定所述待恢复的文件的起始数据块;从所述起始数据块开始,根据所述区段树所确定的各数据块读取所述文件长度的数据,生成所述待恢复的文件。
本实施例的文件备份和文件处理方法可以由任意适当的具有数据处理能力即包含有磁盘的电子设备执行,包括但不限于:服务器和PC机等。
本实施例的文件备份和文件处理装置用于实现前述多个方法实施例中相应的方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的文件备份和文件处理装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
参照图7,示出了根据本申请实施例所提供的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图7所示,该电子设备可以包括:处理器(processor)702、通信接口(Communications Interface)704、存储器(memory)706和通信总线708。
其中:
处理器702、通信接口704和存储器706通过通信总线708完成相互间的通信。
通信接口704,用于与其它电子设备或服务器进行通信。
处理器702,用于执行程序510,具体可以执行上述方法实施例中的相关步骤。
具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。
处理器702可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器706,用于存放程序710。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序710具体可以用于使得处理器702执行如图1或者图4所示的各步骤。
在一种可选的实施方式中,程序710还用于使得处理器702在程序710中各步骤的具体实现可以参见上述方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在本申请实施例的第六方面,还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图1或者图4中任一所述的方法。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。

Claims (11)

1.一种文件处理方法,包括:
确定需要进行文件备份的磁盘;
针对任一需要进行文件备份的磁盘,读取该磁盘的待备份的元数据,所述元数据包括该磁盘中的超级块的数据和存储于该磁盘中的文件的部分元数据,所述文件的部分元数据用于在文件恢复时确定所述文件在该磁盘中的存储位置,所述文件的部分元数据包括:文件名、文件长度和文件的区段树;
基于预设的文件备份策略和所述待备份的元数据生成对应于该磁盘的备份数据,所述预设的文件备份策略,包括:全量备份策略或者增量备份策略,
其中,当所述预设的文件备份策略为增量备份策略时,基于预设的文件备份策略和所述待备份的元数据生成对应于该磁盘的备份数据,包括:获取上一次的备份数据,根据所述上一次的备份数据确定上一次备份时存储于该磁盘中的文件的前一文件信息,所述文件信息至少包括文件名和文件长度;读取本次备份时存储于该磁盘中的当前文件信息,对比所述当前文件信息和前一文件信息确定发生改变的文件,包括:确定文件的索引节点编号,根据所述索引节点编号确定对应的索引节点,读取所述索引节点中的所包含的文件长度,确定所述文件在当前文件信息中的文件长度和前一文件信息中的文件长度是否一致,若不一致,确定所述文件为发生改变的文件;确定所述发生改变的文件的元数据,生成包含所述发生改变的文件的元数据的增量备份数据;
上传所述备份数据至远程存储系统。
2.如权利要求1所述的方法,其中,当所述预设的文件备份策略为全量备份策略时,基于预设的文件备份策略和所述待备份的元数据生成对应于该磁盘的备份数据,包括:
生成包含所述待备份的元数据的对应于该磁盘的全量备份数据。
3.如权利要求1所述的方法,其中,确定所述发生改变的文件的元数据,包括:
从所述发生改变的文件的元数据所对应的索引节点中读取该文件的区段树;
生成包含所述发生改变的文件的文件名、文件长度和区段数的增量备份数据。
4.如权利要求1所述的方法,还包括:
保存生成的备份数据于本地;
相应的,获取上一次的备份数据,包括:从本地获取上一次的备份数据。
5.一种文件处理方法,包括:
确定待恢复的文件所存储的磁盘;
从远程存储系统获取所述磁盘所对应的备份数据,所述备份数据至少包括和所述磁盘对应的距离当前时间最近的全量备份数据;
根据所述全量备份数据,生成所述待恢复的文件的部分元数据,包括:当所述全量备份数据存在后续的增量备份数据时,根据所述全量备份数据和后续的增量备份数据确定所述待恢复的文件的部分元数据,包括:确定所述待恢复的文件的文件名,根据时间顺序遍历所述增量备份数据和全量备份数据,合并得到所述磁盘的超级块的数据、所述待恢复的文件的文件名、文件长度和区段树;其中,所述文件的部分元数据包括:文件名、文件长度和文件的区段树;
根据所述部分元数据,恢复所述待恢复的文件。
6.如权利要求5所述的方法,其中,根据所述全量备份数据,生成所述待恢复的文件的部分元数据,还包括:
当所述全量备份数据之后不存在增量备份数据时,将所述全量备份数据中所包含的元数据确定为所述待恢复的文件的部分元数据。
7.如权利要求5所述的方法,其中,根据所述部分元数据,恢复所述待恢复的文件,包括:
根据所述超级块的数据和所述区段树确定所述待恢复的文件的起始数据块;从所述起始数据块开始,根据所述区段树所确定的各数据块读取所述文件长度的数据,生成所述待恢复的文件。
8.一种文件处理装置,包括:
确定模块,确定需要进行文件备份的磁盘;
元数据读取模块,针对任一需要进行文件备份的磁盘,读取该磁盘的待备份的元数据,所述元数据包括该磁盘中的超级块的数据和存储于该磁盘中的文件的部分元数据,所述文件的部分元数据用于在文件恢复时确定所述文件在该磁盘中的存储位置,所述文件的部分元数据包括:文件名、文件长度和文件的区段树;
备份数据生成模块,基于预设的文件备份策略和所述待备份的元数据生成对应于该磁盘的备份数据,所述预设的文件备份策略,包括:全量备份策略或者增量备份策略,
其中,当所述预设的文件备份策略为增量备份策略时,基于预设的文件备份策略和所述待备份的元数据生成对应于该磁盘的备份数据,包括:获取上一次的备份数据,根据所述上一次的备份数据确定上一次备份时存储于该磁盘中的文件的前一文件信息,所述文件信息至少包括文件名和文件长度;读取本次备份时存储于该磁盘中的当前文件信息,对比所述当前文件信息和前一文件信息确定发生改变的文件,包括:确定文件的索引节点编号,根据所述索引节点编号确定对应的索引节点,读取所述索引节点中的所包含的文件长度,确定所述文件在当前文件信息中的文件长度和前一文件信息中的文件长度是否一致,若不一致,确定所述文件为发生改变的文件;确定所述发生改变的文件的元数据,生成包含所述发生改变的文件的元数据的增量备份数据;
上传模块,上传所述备份数据至远程存储系统。
9.一种文件处理装置,包括:
确定模块,确定待恢复的文件所存储的磁盘;
备份数据读取模块,从远程存储系统获取所述磁盘所对应的备份数据,所述备份数据至少包括和所述磁盘对应的距离当前时间最近的全量备份数据;
元数据生成模块,根据所述全量备份数据,生成所述待恢复的文件的部分元数据,包括:当所述全量备份数据存在后续的增量备份数据时,根据所述全量备份数据和后续的增量备份数据确定所述待恢复的文件的部分元数据,包括:确定所述待恢复的文件的文件名,根据时间顺序遍历所述增量备份数据和全量备份数据,合并得到所述磁盘的超级块的数据、所述待恢复的文件的文件名、文件长度和区段树;其中,所述文件的部分元数据包括:文件名、文件长度和文件的区段树;
恢复模块,根据所述部分元数据,恢复所述待恢复的文件。
10.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的方法对应的操作。
11.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202110069702.5A 2021-01-19 2021-01-19 一种文件处理方法、装置、电子设备及其存储介质 Active CN113419897B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110069702.5A CN113419897B (zh) 2021-01-19 2021-01-19 一种文件处理方法、装置、电子设备及其存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110069702.5A CN113419897B (zh) 2021-01-19 2021-01-19 一种文件处理方法、装置、电子设备及其存储介质

Publications (2)

Publication Number Publication Date
CN113419897A CN113419897A (zh) 2021-09-21
CN113419897B true CN113419897B (zh) 2023-12-22

Family

ID=77711663

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110069702.5A Active CN113419897B (zh) 2021-01-19 2021-01-19 一种文件处理方法、装置、电子设备及其存储介质

Country Status (1)

Country Link
CN (1) CN113419897B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI784750B (zh) * 2021-10-15 2022-11-21 啟碁科技股份有限公司 終端裝置的資料處理方法及終端裝置的資料處理系統
CN114924911B (zh) * 2022-05-19 2023-04-14 广州鼎甲计算机科技有限公司 Windows操作系统有效数据备份方法、装置、设备和存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102955720A (zh) * 2011-08-25 2013-03-06 北京中科智网科技有限公司 一种提高ext文件系统稳定性的方法
US9020987B1 (en) * 2011-06-29 2015-04-28 Emc Corporation Managing updating of metadata of file systems
CN104978241A (zh) * 2015-05-29 2015-10-14 上海爱数软件有限公司 一种cow类型文件系统的数据恢复方法及装置
CN105389232A (zh) * 2015-10-28 2016-03-09 武汉噢易云计算有限公司 Ext文件系统有效数据分析方法
CN107451014A (zh) * 2017-08-01 2017-12-08 郑州云海信息技术有限公司 一种数据恢复方法及装置
CN107766374A (zh) * 2016-08-19 2018-03-06 上海凯翔信息科技有限公司 一种海量小文件存储读取的优化方法和系统
CN107908503A (zh) * 2012-11-26 2018-04-13 亚马逊科技公司 从备份系统流式恢复数据库
CN111045857A (zh) * 2018-10-12 2020-04-21 伊姆西Ip控股有限责任公司 数据备份和恢复的方法、电子设备和计算机可读存储介质
CN111045870A (zh) * 2019-12-27 2020-04-21 北京浪潮数据技术有限公司 一种保存与恢复元数据的方法、装置和介质
CN111625401A (zh) * 2020-05-29 2020-09-04 浪潮电子信息产业股份有限公司 基于集群文件系统的数据备份方法、装置及可读存储介质
US10769103B1 (en) * 2017-10-06 2020-09-08 EMC IP Holding Company LLC Efficient content indexing of incremental block-based backups

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9020987B1 (en) * 2011-06-29 2015-04-28 Emc Corporation Managing updating of metadata of file systems
CN102955720A (zh) * 2011-08-25 2013-03-06 北京中科智网科技有限公司 一种提高ext文件系统稳定性的方法
CN107908503A (zh) * 2012-11-26 2018-04-13 亚马逊科技公司 从备份系统流式恢复数据库
CN104978241A (zh) * 2015-05-29 2015-10-14 上海爱数软件有限公司 一种cow类型文件系统的数据恢复方法及装置
CN105389232A (zh) * 2015-10-28 2016-03-09 武汉噢易云计算有限公司 Ext文件系统有效数据分析方法
CN107766374A (zh) * 2016-08-19 2018-03-06 上海凯翔信息科技有限公司 一种海量小文件存储读取的优化方法和系统
CN107451014A (zh) * 2017-08-01 2017-12-08 郑州云海信息技术有限公司 一种数据恢复方法及装置
US10769103B1 (en) * 2017-10-06 2020-09-08 EMC IP Holding Company LLC Efficient content indexing of incremental block-based backups
CN111045857A (zh) * 2018-10-12 2020-04-21 伊姆西Ip控股有限责任公司 数据备份和恢复的方法、电子设备和计算机可读存储介质
CN111045870A (zh) * 2019-12-27 2020-04-21 北京浪潮数据技术有限公司 一种保存与恢复元数据的方法、装置和介质
CN111625401A (zh) * 2020-05-29 2020-09-04 浪潮电子信息产业股份有限公司 基于集群文件系统的数据备份方法、装置及可读存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
一种新的文件系统元数据的检查点容错策略;秦航, 徐婕;计算机工程与设计(第03期);全文 *
基于Ext4元数据Extent树重构的数据恢复研究;位丽娜;李炳龙;涂晨昊;;信息工程大学学报(第01期);全文 *
磁盘备份系统的快速数据恢复方法;瞿志伟, 谢康林, 陈琰, 张振华, 杨文洛;计算机工程(第09期);全文 *

Also Published As

Publication number Publication date
CN113419897A (zh) 2021-09-21

Similar Documents

Publication Publication Date Title
US8250033B1 (en) Replication of a data set using differential snapshots
US9304998B2 (en) Main-memory database checkpointing
US6560615B1 (en) Method and apparatus for implementing a highly efficient, robust modified files list (MFL) for a storage system volume
US7934064B1 (en) System and method for consolidation of backups
US7584190B2 (en) Data files systems with hierarchical ranking for different activity groups
US6311193B1 (en) Computer system
EP2494456B1 (en) Backup using metadata virtual hard drive and differential virtual hard drive
KR100622801B1 (ko) 파일 시스템 액세스 방법, 파일 시스템 복원 방법, 컴퓨터 판독 가능 기록 매체 및 데이터 처리 시스템
CN106933703B (zh) 一种数据库数据备份的方法、装置及电子设备
CN113419897B (zh) 一种文件处理方法、装置、电子设备及其存储介质
JP2012146301A (ja) 増分sqlサーバデータベースバックアップを実行する方法およびシステム
US6636941B1 (en) Enhanced stable disk storage
AU1114695A (en) A method of operating a computer system
WO2019181949A1 (ja) 記録装置、読取装置、記録方法、記録プログラム、読取方法、読取プログラム、及び磁気テープ
CN109918234B (zh) 一种基于ssd的元数据恢复方法、装置、设备及介质
CN112182010B (zh) 脏页刷新方法和装置、存储介质和电子设备
JP4755244B2 (ja) 情報生成方法、情報生成プログラム及び情報生成装置
CN108572888B (zh) 磁盘快照创建方法和磁盘快照创建装置
CN112748877A (zh) 一种文件的整合上传方法及装置、文件的下载方法及装置
CN106709014B (zh) 一种文件系统转换方法及装置
CN113254394B (zh) 一种快照处理方法、系统、设备及存储介质
WO2009031158A2 (en) Method and apparatus for network based data recovery
CN110866068A (zh) 一种基于hdfs的公告数据存储方法及其装置
CN111625397B (zh) 业务日志备份方法、集群、装置、电子设备及存储介质
CN112835858A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40058769

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant