CN116431388A - 分布式文件系统的数据恢复方法及应用 - Google Patents

分布式文件系统的数据恢复方法及应用 Download PDF

Info

Publication number
CN116431388A
CN116431388A CN202310419796.3A CN202310419796A CN116431388A CN 116431388 A CN116431388 A CN 116431388A CN 202310419796 A CN202310419796 A CN 202310419796A CN 116431388 A CN116431388 A CN 116431388A
Authority
CN
China
Prior art keywords
data recovery
partition
data
task
fault
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.)
Pending
Application number
CN202310419796.3A
Other languages
English (en)
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.)
Anchao Cloud Software Co Ltd
Original Assignee
Anchao Cloud Software Co 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 Anchao Cloud Software Co Ltd filed Critical Anchao Cloud Software Co Ltd
Priority to CN202310419796.3A priority Critical patent/CN116431388A/zh
Publication of CN116431388A publication Critical patent/CN116431388A/zh
Pending legal-status Critical Current

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/1469Backup restoration techniques
    • 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/1415Saving, restoring, recovering or retrying at system level
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed 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/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种分布式文件系统的数据恢复方法及应用,该方法包括以下步骤:响应于目标文件的数据恢复请求,获取所述目标文件的分区信息,其中,所述分区信息包括分区与物理存储的映射关系,所述数据恢复请求携带数据访问地址;基于所述目标文件的分区信息和数据恢复请求,确定所述目标文件的至少一个故障分区;以及分别为所述至少一个故障分区创建对应的数据恢复任务,以在所述至少一个故障分区中执行对应的数据恢复任务。该方法能够有效地提高数据恢复的速度,缩小故障发生时影响的范围。

Description

分布式文件系统的数据恢复方法及应用
技术领域
本发明是关于存储领域,特别是关于一种分布式文件系统的数据恢复方法及应用。
背景技术
现有技术中,将分布式文件系统管理的文件资源映射到多个设备之间的物理存储上,常见的映射方法有资源动态分配和资源静态分配两种方法。资源动态分配,指在文件的每个数据块的第一次写操作时,由分布式文件系统的全局元数据管理器来指定每个数据块资源映射到哪一个或者哪几个设备上,得到一个映射记录,该文件的每个数据块的后续访问依据该映射记录来进行读写访问。资源静态分配,指当文件创建时,由分布式文件系统的全局元数据管理器来直接指定所有的数据块的资源映射规则,即在创建时指定该文件内的数据分布,该文件的每个数据块的读写操作依据资源映射规则来访问指定的设备及地址。
在分布式文件系统中,当发生设备故障或者设备内的磁盘故障时,导致映射记录中对应的物理设备上的数据不可访问。因此为了提高分布式文件系统的可靠性,通常采用副本或者纠删码等数据容错技术。对于副本方法,是将一个数据块映射到不同设备或设备上的不同磁盘上多个映射块上;当一个映射块不可访问时,则转到访问另外一个映射块。对于纠删码方法,是先通过多个数据块计算得到纠删码校验块,再将数据块和校验块映射到不同设备或设备上的不同磁盘上的映射块上;当一个数据块对应的映射块不可访问时,则访问其他的数据块和校验块,再通过纠删码计算得到对应的映射块。
以副本容错技术为例,当设备或者设备内的磁盘故障后,一个副本发生丢失。当设备故障修复或者故障的磁盘被替换或者增加了新设备后,需要重新构造多个副本。在数据恢复时,以目标文件的逻辑地址从头开始,依次读取剩余副本映射项数据以及映射项对应的物理设备上的数据,然后拷贝到新的副本映射的物理设备上。然而,当目标文件较大时,副本的恢复时间延长,一旦被中断则需要重新从文件逻辑地址开始位置重新开始。由于只有一个数据恢复进程,数据恢复的速度也较慢,不能充分利用存储设备的带宽。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
本发明的目的在于提供一种分布式文件系统的数据恢复方法及应用,其能够提高数据恢复的速度,缩小故障发生时影响的范围。
为实现上述目的,本发明的实施例提供了一种分布式文件系统的数据恢复方法。
在本发明的一个或多个实施方式中,所述数据恢复方法包括:响应于目标文件的数据恢复请求,获取所述目标文件的分区信息,其中,所述分区信息包括分区与物理存储的映射关系,所述数据恢复请求携带数据访问地址;基于所述目标文件的分区信息和数据恢复请求,确定所述目标文件的至少一个故障分区;以及分别为所述至少一个故障分区创建对应的数据恢复任务,以在所述至少一个故障分区中执行对应的数据恢复任务。
在本发明的一个或多个实施方式中,所述至少一个故障分区包括第一故障分区和第二故障分区,在所述第一故障分区对应的数据恢复任务执行中断时,所述方法还包括:继续执行所述第二故障分区对应的数据恢复任务。
在本发明的一个或多个实施方式中,所述第一故障分区对应的数据恢复任务从中断中恢复,且所述第二故障分区对应的数据恢复任务执行完成时,所述方法还包括:继续执行所述第一故障分区对应的数据恢复任务。
在本发明的一个或多个实施方式中,所述方法还包括:确定所述至少一个故障分区中是否存在进行的数据读写任务;若是,执行所述数据读写任务。
在本发明的一个或多个实施方式中,所述方法还包括:当执行数据恢复任务的所述至少一个故障分区中存在未进行的数据读写任务,判断所述数据恢复任务和所述数据读写任务是否在所述至少一个故障分区的对应的同一文件地址空间上。
在本发明的一个或多个实施方式中,所述判断所述数据恢复任务和所述数据读写任务是否在所述至少一个故障分区的对应的同一文件地址空间上,包括:若是,待所述数据恢复任务完成后,执行所述数据读写任务;若否,同时执行所述数据恢复任务和所述数据读写任务。
在本发明的一个或多个实施方式中,所述至少一个故障分区包括一个或多个数据块,所述一个或多个数据块分别对应一个或多个映射块,在所述至少一个故障分区中执行对应的数据恢复任务,具体包括:获取所述至少一个故障分区中的任一存活的映射块的数据,其中所述存活的映射块与所述至少一个故障分区中待恢复的映射块对应同一个数据块;将所述数据写入所述待恢复的映射块。
在本发明的另一个方面当中,提供了一种分布式文件系统的数据恢复装置,其包括获取模块、确定模块和恢复模块。
获取模块,用于响应于目标文件的数据恢复请求,获取所述目标文件的分区信息,其中,所述分区信息包括分区与物理存储的映射关系,所述数据恢复请求携带数据访问地址。
确定模块,用于基于所述目标文件的分区信息和数据恢复请求,确定所述目标文件的至少一个故障分区。
恢复模块,用于分别为所述至少一个故障分区创建对应的数据恢复任务,以在所述至少一个故障分区中执行对应的数据恢复任务。
在本发明的一个或多个实施方式中,所述确定模块还用于:确定所述至少一个故障分区中是否存在进行的数据读写任务;若是,执行所述数据读写任务。
在本发明的一个或多个实施方式中,所述恢复模块还用于:所述至少一个故障分区包括第一故障分区和第二故障分区,在所述第一故障分区对应的数据恢复任务执行中断时,继续执行所述第二故障分区对应的数据恢复任务。
在本发明的一个或多个实施方式中,所述恢复模块还用于:所述第一故障分区对应的数据恢复任务从中断中恢复,且所述第二故障分区对应的数据恢复任务执行完成时,继续执行所述第一故障分区对应的数据恢复任务。
在本发明的一个或多个实施方式中,所述恢复模块还用于:当执行数据恢复任务的所述至少一个故障分区中存在未进行的数据读写任务,判断所述数据恢复任务和所述数据读写任务是否在所述至少一个故障分区的对应的同一文件地址空间上。
在本发明的一个或多个实施方式中,所述恢复模块还用于:若是,待所述数据恢复任务完成后,执行所述数据读写任务;若否,同时执行所述数据恢复任务和所述数据读写任务。
在本发明的一个或多个实施方式中,所述恢复模块还用于:获取所述至少一个故障分区中的任一存活的映射块的数据,其中所述存活的映射块与所述至少一个故障分区中待恢复的映射块对应同一个数据块;将所述数据写入所述待恢复的映射块。
在本发明的另一个方面当中,提供了一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的分布式文件系统的数据恢复方法。
在本发明的另一个方面当中,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的分布式文件系统的数据恢复方法的步骤。
与现有技术相比,根据本发明实施方式的分布式文件系统的数据恢复方法及应用,其能够解决大文件进行数据恢复时速度较慢的问题,通过划分多个分区同时进行数据恢复处理,提高了数据恢复的速度,缩短了文件的数据恢复的时间;解决数据恢复中断导致数据恢复重新开始的问题,通过实现每个分区独立进行数据恢复任务,缩小了故障影响的范围。
附图说明
图1是根据本发明一实施方式的分布式文件系统的数据恢复方法的流程图;
图2是根据本发明一实施方式的现有数据恢复方法的架构图;
图3是根据本发明一实施方式的分布式文件系统的数据恢复方法的架构图;
图4是根据本发明一实施方式的分布式文件系统的数据恢复装置的结构图;
图5是根据本发明一实施方式的分布式文件系统的数据恢复的计算设备的硬件结构图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
以下结合附图,详细说明本发明各实施例提供的技术方案。
实施例1
如图1所示,介绍本发明的一个实施例中分布式文件系统的数据恢复方法,该方法包括如下步骤。
在步骤S101中,响应于目标文件的数据恢复请求,获取所述目标文件的分区信息。
在本实施例中,将目标文件划分为多个分区。在每个分区创建时,设置每个分区内的资源映射规则,指定资源映射规则设置的数据分布方法。在目标文件的每个分区中,使用设置的资源映射规则来静态分配资源,使用指定的数据分布方法来进行数据读写。进行数据恢复操作和数据读写操作时,保持资源映射规则一致。
具体的,目标文件的分区信息包括分区与物理存储的映射关系,所述数据恢复请求携带数据访问地址。
在步骤S102中,基于所述目标文件的分区信息和数据恢复请求,确定所述目标文件的至少一个故障分区。
具体的,解析目标文件的数据恢复请求,结合目标文件的分区信息,确定数据恢复请求中待恢复的数据在目标文件中所在的分区。
在步骤S103中,分别为所述至少一个故障分区创建对应的数据恢复任务,以在所述至少一个故障分区中执行对应的数据恢复任务。
在本实施例中,分布式文件系统为目标文件的每个故障分区创建一个数据恢复任务。例如,目标文件划分了两个分区,即分区1和分区2,则创建两个数据恢复任务,数据恢复任务1检查分区1对应的存储地址空间,任务2检查分区2内对应的存储地址空间。
在代码实现时,每个数据恢复任务采用进程或者线程的方式执行。由于每个分区的存储地址空间不同,本实施例的不同分区的数据恢复任务能够做到独立执行。例如,分区1存储的是0M到300M的数据,底层的存储卷是存储卷1到存储卷6;分区2存储的是300M到700M的数据,底层的存储卷是存储卷7到存储卷14。每个分区的数据恢复任务处理对应分区内的数据,从而实现不同分区的数据恢复任务独立执行。
具体的,故障分区执行数据恢复任务时,创建一个数据恢复进程。该数据恢复进程从目标文件在该故障分区中的逻辑地址头开始,若在该故障分区中存在一个或多个与待恢复的映射块的数据块相同的存活的映射块,读取任一存活的映射块中的数据写入到需要恢复的映射块上。该数据恢复进程执行到该故障分区中的逻辑地址尾结束,并标记该故障分区内的映射块为数据一致状态。例如,目标文件划分了多个条带,假设条带1存在镜像1和镜像2,若镜像1中的数据部分丢失,使用镜像2对镜像1进行恢复;条带2存在镜像3和镜像4,若镜像3中的数据部分丢失,使用镜像4对镜像1进行恢复;然而,镜像1、镜像2与镜像3、镜像4不是镜像关系,若镜像1中的数据部分丢失,不会用镜像3或镜像4来恢复镜像1中的数据。
进一步地,在目标文件的多个故障分区在数据恢复过程中,由于每个故障分区中分配资源的使用情况不同,每个故障分区的数据恢复进度不同。
若因系统故障等导致数据恢复进程被中断,则只影响被中断的故障分区的数据恢复进度,未受中断影响的分区继续执行数据恢复任务;若存在故障分区已经完成数据恢复任务,则被中断的数据恢复进程再次开始执行时,不再处理该故障分区。
在本实施例中,若分布式文件系统所在的物理设备发生故障,导致目标文件的部分或全部分区内的一部分资源不可用,基于对应分区内剩余的资源执行数据读写任务;当该物理设备故障被修复,从而目标文件的部分或全部分区内的一部分资源又重新可用,发现该分区内的数据丢失或者不一致,基于该分区内剩余的可用资源进行数据恢复。
具体的,本实施例中数据恢复任务为在线数据恢复。在本实施例的故障分区中,数据的读写操作是可以持续进行的。
在本实施例中,数据恢复任务是锁定分区中的一段文件地址空间来进行恢复,当执行数据恢复任务的故障分区中存在未进行的数据读写任务,判断该故障分区中的数据恢复任务和数据读写任务是否在同一文件地址空间上。
若数据读写任务与数据恢复任务不在同一文件地址空间上,则该故障分区中的数据恢复任务和数据读写任务相互不影响,可以同时进行数据恢复任务和数据读写任务;
若数据读写任务与数据恢复任务在同一文件地址空间上,则等待该故障分区内的数据恢复任务完成,再执行数据读写任务。
需要注意的是,因为锁定的文件地址空间很小,该区域的恢复时间也较短,对数据读写任务只是延迟部分时间,不影响其最终完成结果。
示范性的,假设数据恢复任务1目标在文件地址[100-108]MB进行恢复,则锁定[100-108]MB对应存储空间,若该存储空间存在正在执行的数据写请求,如该数据读写发生在地址[100-101]MB上,则等待该已有的数据写请求完成,再锁定该存储空间。在锁定该存储空间后,文件地址[105-106]MB中未进行的数据写请求在队列中等待数据恢复任务1完成,解锁该存储空间,继续执行数据读写任务。
实施例2
如图2所示,介绍一个现有技术的数据恢复方法示例,使用的资源映射规则为条带化。
对于一个目标文件,将该目标文件划分为3个条带块,每个条带块再以2个镜像块方式存储到不同的存储上,即镜像1存储到存储卷1中,镜像2存储到存储卷2中,镜像3存储到存储卷3中等。假设该目标文件大小为100MB,每个条带块大小为1MB,则文件地址[0-1],[3-4],[6-7]MB等数据访问条带1,文件地址[1-2],[4-5],[7-8]MB等数据访问条带2,文件地址[2-3],[5-6],[8-9]MB等数据访问条带3。
若存储卷1发生故障等待进行数据恢复,则将与镜像1同为条带1镜像的镜像2的存储卷2中的数据恢复到镜像1的存储卷1上。具体来说,数据恢复进程从镜像2的存储卷2中读取目标文件的[0-1],[3-4],[6-7]MB等数据,再将这些数据写入镜像1的存储卷1中,完成了数据恢复。
如图1至图3所示,介绍本发明的一个实施例中分布式文件系统的数据恢复方法,该方法包括如下步骤。
在步骤S201中,响应于目标文件的数据恢复请求,获取所述目标文件的分区信息。
示范性地,对于一个目标文件,将该目标文件先划分为2个分区,在每个分区内再以条带和镜像方式分配资源。假设该目标文件的第1个分区大小为300MB,划分3个条带块;第2个分区大小为400MB,划分4个条带块,其中每个条带块再以2个镜像块的方式存储到不同的存储上,即镜像1存储到存储卷1中,镜像2存储到存储卷2中,镜像3存储到存储卷3中等。
假设分区1和分区2内中每个条带块大小为1MB,那么文件地址[0-1],[3-4],[6-7]MB等数据访问分区1中的条带1,文件地址[1-2],[4-5],[7-8]MB等数据访问分区1中的条带2,文件地址[2-3],[5-6],[8-9]MB等数据访问分区1中的条带3。并且,文件地址[300-301],[304-305],[308-309]MB等数据访问分区2中的条带1,文件地址[301-302],[305-306],[309-310]MB等数据访问分区2中的条带2,文件地址[302-303],[306-307],[310-311]MB等数据访问分区2中的条带3,文件地址[303-304],[307-308],[311-312]MB等数据访问分区2中的条带4。
在步骤S202中,基于所述目标文件的分区信息和数据恢复请求,确定所述目标文件的至少一个故障分区。
具体的,解析目标文件的数据恢复请求,结合目标文件的分区信息,确定数据恢复请求中待恢复的数据在目标文件中所在的分区。
在步骤S203中,分别为所述至少一个故障分区创建对应的数据恢复任务,以在所述至少一个故障分区中执行对应的数据恢复任务。
在本实施例中,若分区1的存储卷1和分区2的存储卷14发生故障,等待进行数据恢复,则将分区1中与镜像1同为条带1镜像的镜像2的存储卷2中的数据恢复到镜像1的存储卷1上,将分区2中与镜像8同为条带4镜像的镜像7的存储卷13中的数据恢复到镜像14的存储卷14上。
进一步地,在两个分区内分别执行数据恢复任务。启动两个分区内的两个数据恢复进程,分区1中数据恢复进程为数据恢复进程1,分区2中数据恢复进程为数据恢复进程2,数据恢复进程1从镜像2的存储卷2中读取目标文件地址的[0-1],[3-4],[6-7]等数据,再将这些数据写入镜像1的存储卷1中;数据恢复进程2从镜像7的存储卷13中读取目标文件的[303-304],[307-308],[311-312]等数据,再将这些数据写入镜像8的存储卷14中。通过上述恢复操作,完成了分区的数据恢复。
根据本发明实施方式的分布式文件系统的数据恢复方法及应用,其能够解决大文件进行数据恢复时速度较慢的问题,通过划分多个分区同时进行数据恢复处理,提高了数据恢复的速度,缩短了文件的数据恢复的时间;解决数据恢复中断导致数据恢复重新开始的问题,通过实现每个分区独立进行数据恢复任务,缩小了故障影响的范围。
如图4所示,介绍根据本发明具体实施方式的分布式文件系统的数据恢复装置。
在本发明的实施方式中,分布式文件系统的数据恢复装置包括获取模块401、确定模块402和恢复模块403。
获取模块401,用于响应于目标文件的数据恢复请求,获取所述目标文件的分区信息,其中,所述分区信息包括分区与物理存储的映射关系,所述数据恢复请求携带数据访问地址。
确定模块402,用于基于所述目标文件的分区信息和数据恢复请求,确定所述目标文件的至少一个故障分区。
恢复模块403,用于分别为所述至少一个故障分区创建对应的数据恢复任务,以在所述至少一个故障分区中执行对应的数据恢复任务。
确定模块402还用于:确定所述至少一个故障分区中是否存在进行的数据读写任务;若是,执行所述数据读写任务。
恢复模块403还用于:所述至少一个故障分区包括第一故障分区和第二故障分区,在所述第一故障分区对应的数据恢复任务执行中断时,继续执行所述第二故障分区对应的数据恢复任务。
恢复模块403还用于:所述第一故障分区对应的数据恢复任务从中断中恢复,且所述第二故障分区对应的数据恢复任务执行完成时,继续执行所述第一故障分区对应的数据恢复任务。
恢复模块403还用于:当执行数据恢复任务的所述至少一个故障分区中存在未进行的数据读写任务,判断所述数据恢复任务和所述数据读写任务是否在所述至少一个故障分区的对应的同一文件地址空间上。
恢复模块403还用于:若是,待所述数据恢复任务完成后,执行所述数据读写任务;若否,同时执行所述数据恢复任务和所述数据读写任务。
在本发明的一个或多个实施方式中,所述恢复模块还用于:获取所述至少一个故障分区中的任一存活的映射块的数据,其中所述存活的映射块与所述至少一个故障分区中待恢复的映射块对应同一个数据块;将所述数据写入所述待恢复的映射块。
图5示出了根据本说明书的实施例的用于分布式文件系统的数据恢复的计算设备50的硬件结构图。如图5所示,计算设备50可以包括至少一个处理器501、存储器502(例如非易失性存储器)、内存503和通信接口504,并且至少一个处理器501、存储器502、内存503和通信接口504经由总线505连接在一起。至少一个处理器501执行在存储器502中存储或编码的至少一个计算机可读指令。
应该理解,在存储器502中存储的计算机可执行指令当执行时使得至少一个处理器501进行本说明书的各个实施例中以上结合图1-3描述的各种操作和功能。
在本说明书的实施例中,计算设备50可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-3描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
根据本发明实施方式的分布式文件系统的数据恢复方法及应用,其能够解决大文件进行数据恢复时速度较慢的问题,通过划分多个分区同时进行数据恢复处理,提高了数据恢复的速度,缩短了文件的数据恢复的时间;解决数据恢复中断导致数据恢复重新开始的问题,通过实现每个分区独立进行数据恢复任务,缩小了故障影响的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

Claims (10)

1.一种分布式文件系统的数据恢复方法,其特征在于,所述数据恢复方法包括:
响应于目标文件的数据恢复请求,获取所述目标文件的分区信息,其中,所述分区信息包括分区与物理存储的映射关系,所述数据恢复请求携带数据访问地址;
基于所述目标文件的分区信息和数据恢复请求,确定所述目标文件的至少一个故障分区;以及
分别为所述至少一个故障分区创建对应的数据恢复任务,以在所述至少一个故障分区中执行对应的数据恢复任务。
2.如权利要求1所述的分布式文件系统的数据恢复方法,其特征在于,所述至少一个故障分区包括第一故障分区和第二故障分区,在所述第一故障分区对应的数据恢复任务执行中断时,所述方法还包括:
继续执行所述第二故障分区对应的数据恢复任务。
3.如权利要求2所述的分布式文件系统的数据恢复方法,其特征在于,所述第一故障分区对应的数据恢复任务从中断中恢复,且所述第二故障分区对应的数据恢复任务执行完成时,所述方法还包括:
继续执行所述第一故障分区对应的数据恢复任务。
4.如权利要求1所述的分布式文件系统的数据恢复方法,其特征在于,所述方法还包括:
确定所述至少一个故障分区中是否存在进行的数据读写任务;若是,
执行所述数据读写任务。
5.如权利要求4所述的分布式文件系统的数据恢复方法,其特征在于,所述方法还包括:
当执行数据恢复任务的所述至少一个故障分区中存在未进行的数据读写任务,判断所述数据恢复任务和所述数据读写任务是否在所述至少一个故障分区的对应的同一文件地址空间上。
6.如权利要求5所述的分布式文件系统的数据恢复方法,其特征在于,所述判断所述数据恢复任务和所述数据读写任务是否在所述至少一个故障分区的对应的同一文件地址空间上,包括:
若是,待所述数据恢复任务完成后,执行所述数据读写任务;
若否,同时执行所述数据恢复任务和所述数据读写任务。
7.如权利要求1所述的分布式文件系统的数据恢复方法,其特征在于,所述至少一个故障分区包括一个或多个数据块,所述一个或多个数据块分别对应一个或多个映射块,在所述至少一个故障分区中执行对应的数据恢复任务,具体包括:
获取所述至少一个故障分区中的任一存活的映射块的数据,其中所述存活的映射块与所述至少一个故障分区中待恢复的映射块对应同一个数据块;
将所述数据写入所述待恢复的映射块。
8.一种分布式文件系统的数据恢复装置,其特征在于,所述数据恢复装置包括:
获取模块,用于响应于目标文件的数据恢复请求,获取所述目标文件的分区信息,其中,所述分区信息包括分区与物理存储的映射关系,所述数据恢复请求携带数据访问地址;
确定模块,用于基于所述目标文件的分区信息和数据恢复请求,确定所述目标文件的至少一个故障分区;以及
恢复模块,用于分别为所述至少一个故障分区创建对应的数据恢复任务,以在所述至少一个故障分区中执行对应的数据恢复任务。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1至7中任一项所述的分布式文件系统的数据恢复方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的分布式文件系统的数据恢复方法的步骤。
CN202310419796.3A 2023-04-19 2023-04-19 分布式文件系统的数据恢复方法及应用 Pending CN116431388A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310419796.3A CN116431388A (zh) 2023-04-19 2023-04-19 分布式文件系统的数据恢复方法及应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310419796.3A CN116431388A (zh) 2023-04-19 2023-04-19 分布式文件系统的数据恢复方法及应用

Publications (1)

Publication Number Publication Date
CN116431388A true CN116431388A (zh) 2023-07-14

Family

ID=87092403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310419796.3A Pending CN116431388A (zh) 2023-04-19 2023-04-19 分布式文件系统的数据恢复方法及应用

Country Status (1)

Country Link
CN (1) CN116431388A (zh)

Similar Documents

Publication Publication Date Title
US8832029B2 (en) Incremental virtual machine backup supporting migration
CA2847841C (en) Nonvolatile media dirty region tracking
US9098452B2 (en) Selecting files to backup in a block level backup
US7398421B1 (en) System and method for storage area network switch port failure recovery
CN103605588B (zh) 一种虚拟机磁盘备份方法
JP5547727B2 (ja) ボリュームへの変更を追跡するシステムおよび方法
JP4419884B2 (ja) データ複製装置、方法及びプログラム並びに記憶システム
CN105164657A (zh) 程序数据至非易失性存储器的选择性备份
CN109902034B (zh) 快照创建方法、装置、电子设备及机器可读存储介质
CN106776147B (zh) 一种差异数据备份方法和差异数据备份装置
US6944789B2 (en) Method and apparatus for data backup and recovery
US9436554B2 (en) Information processing apparatus and data repairing method
KR20160002109A (ko) 순서 모드 저널링 파일 시스템을 위한 블록 그룹 단위 저널링 방법 및 장치
US20190042355A1 (en) Raid write request handling without prior storage to journaling drive
CN111158858A (zh) 一种虚拟机的克隆方法和装置,及计算机可读存储介质
CN114035905A (zh) 基于虚拟机的故障迁移方法及装置、电子设备和存储介质
CN110531925B (zh) 数据读取方法、装置、电子设备及机器可读存储介质
CN114756355B (zh) 一种计算机操作系统的进程自动快速恢复的方法和装置
US9235349B2 (en) Data duplication system, data duplication method, and program thereof
US9104598B2 (en) Systems and methods for medium error reporting and handling in storage devices
CN115454570A (zh) 灾备方法、灾备恢复方法、虚拟机系统、设备及存储介质
CN112119380A (zh) 带有旁路的奇偶校验记录
CN116431388A (zh) 分布式文件系统的数据恢复方法及应用
US20220374310A1 (en) Write request completion notification in response to partial hardening of write data
US9690886B1 (en) System and method for a simulation of a block storage system on an object storage system

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