CN117009133A - 一种数据恢复方法以及相关装置 - Google Patents

一种数据恢复方法以及相关装置 Download PDF

Info

Publication number
CN117009133A
CN117009133A CN202210461500.XA CN202210461500A CN117009133A CN 117009133 A CN117009133 A CN 117009133A CN 202210461500 A CN202210461500 A CN 202210461500A CN 117009133 A CN117009133 A CN 117009133A
Authority
CN
China
Prior art keywords
target
file
index information
snapshot
information
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
CN202210461500.XA
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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Chengdu Huawei Technology 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 Chengdu Huawei Technology Co Ltd filed Critical Chengdu Huawei Technology Co Ltd
Priority to CN202210461500.XA priority Critical patent/CN117009133A/zh
Priority to PCT/CN2023/077176 priority patent/WO2023207280A1/zh
Publication of CN117009133A publication Critical patent/CN117009133A/zh
Pending legal-status Critical Current

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/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
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例公开了一种数据恢复方法以及相关装置,该方法包括:接收第一恢复请求,第一恢复请求用于请求恢复目标时刻的目标文件;根据第一恢复请求,从快照信息集合中确定目标快照信息,目标快照信息包括目标文件的索引信息;根据目标快照信息,创建目标代理卷;挂载目标代理卷,目标代理卷提供文件输入输出IO服务,目标代理卷用于获取目标文件;根据目标代理卷,恢复目标文件。通过该方法,无需不断的尝试性恢复数据,即可实时浏览目标时刻的目标数据。用户可以即时查看目标数据内容,以确保数据恢复的准确性。

Description

一种数据恢复方法以及相关装置
技术领域
本申请涉及虚拟机存储技术领域,尤其涉及一种数据恢复方法以及相关装置。
背景技术
随着信息技术(information technology,IT)的不断发展,越来越多的企业将其数据中心的IT基础设施改造为虚拟化和云化环境,从而利用虚拟化技术提供计算资源的使用效率,实现弹性计算系统架构。在云计算/虚拟化环境中,为避免由于人为误删除或系统故障导致的虚拟机数据丢失,一般会引入备份系统对虚拟机进行数据备份,将虚拟机数据备份到第三方的备份存储设备上。虚拟机数据恢复的时候,需要将之前备份的数据从备份存储上恢复到生产环境中。
持续数据保护(continuous data protection,CDP)技术是一种常见的虚拟机备份技术,CDP技术能够记录并保存虚拟机的每一个输入/输出(Input/Output,IO)操作,当虚拟机系统出现故障时能够恢复到最近一段时间的任意时刻,实现IO级别的恢复点目标(recovery point object,RPO)。通过CDP技术,可以实现任意时间点恢复(point-in-timerecovery,PITR),极大的降低了RPO。
然而,当前的虚拟机备份技术,由于用户无法准确的获知目标数据是在什么时间点损坏的,因此用户往往需要多次PITR才能恢复目标数据。在恢复目标数据的过程中,也需要多次PITR才能尽可能减少数据丢失量。
发明内容
本申请实施例提供了一种数据恢复方法,无需不断的尝试性恢复数据,即可实时浏览目标时刻的目标数据。用户可以即时查看目标数据内容,以确保数据恢复的准确性。
第一方面,本申请实施例提出一种数据恢复方法,应用于第一设备,包括:
获取文件索引信息,所述文件索引信息包括所述第一设备中全局文件的索引信息;
所述第一设备向第二设备发送所述文件索引信息,所述第二设备用于执行数据备份;
更新所述文件索引信息,更新后的所述文件索引信息包括更新后的所述第一设备中至少一个文件的索引信息。
示例性的,文件索引信息,包括全局文件中的每个文件的文件索引信息。其中一个文件的文件索引信息例如:“D:\aaa\bbb\cc.txt”。
示例性的,当第一设备新增、删除或者修改至少一个文件时,例如第一设备发生IO写入时,第一设备截获该IO写入并将该IO写入的数据发送至第二设备。由第二设备执行CDP处理,将IO写入的数据写入CDP数据卷和日志卷,执行该IO写入的数据的备份存储。在此过程中,第一设备更新文件索引信息,并将更新后的文件索引信息发送至第二设备,由第二设备进行备份存储。
本申请实施例中,第一设备生成全局文件的索引信息(全量文件索引)后,通过实时监控第一设备是否发生文件IO事件,实时生成发生增删查改的文件的索引信息(增量文件索引)。基于全量文件索引和增量文件索引,使得第二设备(备份装置)可以向用户展示全局文件的索引信息,以便用户选取需要恢复的目标文件。用户可以即时查看目标数据内容,以确保数据恢复的准确性。
结合第一方面,在第一方面的一种可能实现方式中,所述第一设备更新所述文件索引信息,包括;
监测所述第一设备中是否发生新增、删除或者修改至少一个文件;
当所述第一设备中新增、删除或者修改至少一个文件时,生成第一子索引信息,所述第一子索引信息指示所述第一设备中新增、删除或者修改的至少一个文件的索引信息,所述第一子索引信息还包括所述至少一个文件的操作类型,所述操作类型包括以下一项或多项:新增、删除或者修改;
根据所述第一子索引信息,更新所述文件索引信息,更新后的所述文件索引信息包括所述第一子索引信息。
示例性的,当所述第一设备中新增、删除或者修改至少一个文件时,生成第一子索引信息,所述第一子索引信息指示所述第一设备中新增、删除或者修改的至少一个文件的索引信息,所述第一子索引信息还包括所述至少一个文件的操作类型,所述操作类型包括以下一项或多项:新增、删除或者修改。第一子索引信息例如“15:05:22”对应的文件索引信息,具体的,在“15:05:22”第一设备检测新增(或者写入)“cc.txt”文件,该“cc.txt”文件的文件索引(或者地址信息)为“D:\aaa\bbb\cc.txt”,操作类型为新增(或者写入)“new”。
可选的,第一设备获取第一子索引信息后,将第一子索引信息和文件索引信息(全局文件的索引信息)进行去重合并处理,得到更新后的文件索引信息。
可选的,第一设备也可以根据指令或者周期性的获取全局文件的索引信息。
结合第一方面,在第一方面的一种可能实现方式中,向所述第二设备发送所述文件索引信息之后,还包括:向所述第二设备发送更新后的所述文件索引信息。
第二方面,本申请实施例提出一种数据恢复方法,应用于第二设备,包括:
接收第一恢复请求,所述第一恢复请求用于请求恢复目标时刻的目标文件;
根据所述第一恢复请求,从快照信息集合中确定目标快照信息,所述目标快照信息包括所述目标文件的索引信息,所述目标快照信息的快照时刻早于或等于所述目标时刻,且,所述目标快照信息的快照时刻满足:所述快照信息集合中与所述目标时刻的差值最小的快照时刻,所述快照信息集合包括至少一个快照信息;
根据所述目标快照信息,创建目标代理卷;
挂载所述目标代理卷,所述目标代理卷提供文件输入输出IO服务,所述目标代理卷用于获取所述目标文件;
根据所述目标代理卷,恢复所述目标文件。
具体的,当用户通过可视化界面确定需要恢复的目标文件后,第三设备向第二设备发送第一恢复请求,第一恢复请求用于请求恢复目标时刻的目标文件。
示例性的,当目标时刻为“15:47:25”时,确定目标快照信息的快照时刻为T2。然后第二设备确定目标快照信息(T2)。
第二设备根据目标快照信息,创建目标代理卷。具体的:基于目标快照信息进行链接克隆(link clone),得到目标代理卷(即目标快照信息的复制信息)。该目标代理卷作为数据访问(或者文件IO)的代理卷。示例性的,第二设备通过装载服务器(mount server)挂载该目标代理卷。
当第二设备完成目标时刻的目标文件恢复后,第二设备向用户发送目标文件。示例性的,通过超文本传输协议(Hyper Text Transfer Protocol,HTTP)方式,以文件流的形式向用户(第三设备)发送目标时刻的目标文件。以便用户即时浏览目标文件。
本申请实施例中,无需不断的尝试性PITR(恢复数据),即可实时浏览目标时刻的目标数据。用户可以即时查看目标数据内容,以确保数据恢复的准确性。
结合第二方面,在第二方面的一种可能实现方式中,接收所述第一恢复请求之前,还包括:接收第二恢复请求,所述第二恢复请求用于请求恢复所述目标时刻的数据;
根据所述第二恢复请求,确定目标文件索引信息,所述目标文件索引信息的记录时刻早于或等于所述目标时刻,且,所述目标文件索引信息的记录时刻满足:文件索引信息集合中与所述目标时刻的差值最小的记录时刻,所述文件索引信息集合包括至少一个文件索引信息,所述文件索引信息包括第一设备中全局文件的索引信息;
恢复所述目标文件索引信息,所述目标文件索引信息用于确定所述目标文件。
具体的,用户通过第三设备选择目标时刻,该目标时刻作为用户期望恢复数据的时刻。用户通过第三设备向第二设备发送第二恢复请求,该第二恢复请求用于恢复目标时刻的数据。
示例性的,第三设备在浏览器页面展示数据恢复菜单。用户在该数据恢复菜单中选择想要恢复数据的目标时刻。
示例性的,当目标时刻为“15:47:25”时,确定最接近的文件索引信息的记录时刻在T2~T3(15:00:00~15:47:28)之间,且不早于15:47:28。然后,第二设备确定目标文件索引信息,该目标文件索引信息包括15:00:00记录的全局文件的索引信息(又称为全量文件索引)和15:00:00~15:47:28(不含15:47:28)记录的第一子索引信息(又称为增量文件索引)。可选的,该目标文件索引信息由上述的全量文件索引和增量文件索引合并(merge)得到。
可选的,该目标文件索引信息可以指示全局文件的文件结构信息,因此,该目标文件索引信息可以称为全量文件系统的目录结构信息。
结合第二方面,在第二方面的一种可能实现方式中,根据所述目标代理卷,恢复所述目标文件,包括:
根据所述目标时刻重做日志文件,恢复所述目标时刻的所述目标文件;
根据所述目标时刻,将所述目标代理卷的数据回滚至所述目标时刻,得到更新后的所述目标代理卷,更新后的所述目标代理卷指示的索引信息包括所述目标时刻的所述目标文件的索引信息;
根据更新后的所述目标代理卷,恢复所述目标文件。
具体的,第二设备根据目标时刻,重做(redo)日志文件,然后,从第二设备的存储器中恢复目标时刻的目标文件。例如:从第二设备的存储器中提取目标时刻“15:47:25”的目标文件。第二设备根据目标时刻,将目标代理卷的数据回滚至目标时刻。回滚到目标时刻后,得到更新后的目标代理卷。更新后的所述目标代理卷指示的索引信息包括所述目标时刻的所述目标文件的索引信息。
结合第二方面,在第二方面的一种可能实现方式中,获取第一快照信息,所述第一快照信息为第一时刻的所述第一设备中全局文件的快照信息。
结合第二方面,在第二方面的一种可能实现方式中,获取所述第一快照信息之后,还包括:获取第二快照信息,所述第二快照信息为第二时刻的所述第一设备中全局文件的快照信息;更新所述快照信息集合,更新后的所述快照信息集合包括:所述第一快照信息和所述第二快照信息。
具体的,第二设备根据用户策略获取快照信息,该快照信息为某一时刻的第一设备中全局文件的快照信息。该用户策略包括但不限于:在预定义的时刻,第一设备获取文件索引信息,在该预定义的时刻,第二设备获取全局文件的快照信息。又例如:第一设备周期性的获取文件索引信息,第二设备周期性的获取全局文件的快照信息,两个获取的周期相同。示例性的,第二设备获取快照信息后,将快照信息(或称为快照数据)写入到CDP数据卷。
可选的,当第二设备获取快照信息后,第二设备可以在装载服务器(mountserver)中挂载该快照。然后,扫描挂载后的该快照(即扫描快照中的文件系统),获取全局文件的索引信息。第二设备将该扫描得到的全局文件的索引信息,作为文件索引信息进行备份存储。
结合第二方面,在第二方面的一种可能实现方式中,还包括:
接收来自所述第一设备的文件索引信息,所述文件索引信息包括所述第一设备中全局文件的索引信息;
将所述文件索引信息与所述快照信息集合关联保存。
第三方面,本申请实施例提出一种数据恢复装置,应用于第一设备,包括:
收发模块,用于获取文件索引信息,所述文件索引信息包括所述第一设备中全局文件的索引信息;
收发模块,还用于所述第一设备向第二设备发送所述文件索引信息,所述第二设备用于执行数据备份;
处理模块,用于更新所述文件索引信息,更新后的所述文件索引信息包括更新后的所述第一设备中至少一个文件的索引信息。
在一种可能的实现方式中,
处理模块,还用于监测所述第一设备中是否发生新增、删除或者修改至少一个文件;
处理模块,还用于当所述第一设备中新增、删除或者修改至少一个文件时,生成第一子索引信息,所述第一子索引信息指示所述第一设备中新增、删除或者修改的至少一个文件的索引信息,所述第一子索引信息还包括所述至少一个文件的操作类型,所述操作类型包括以下一项或多项:新增、删除或者修改;
处理模块,还用于根据所述第一子索引信息,更新所述文件索引信息,更新后的所述文件索引信息包括所述第一子索引信息。
在一种可能的实现方式中,
收发模块,还用于向所述第二设备发送更新后的所述文件索引信息。
第四方面,本申请实施例提出一种数据恢复装置,用于第二设备,包括:
收发模块,用于接收第一恢复请求,所述第一恢复请求用于请求恢复目标时刻的目标文件;
处理模块,用于根据所述第一恢复请求,从快照信息集合中确定目标快照信息,所述目标快照信息包括所述目标文件的索引信息,所述目标快照信息的快照时刻早于或等于所述目标时刻,且,所述目标快照信息的快照时刻满足:所述快照信息集合中与所述目标时刻的差值最小的快照时刻,所述快照信息集合包括至少一个快照信息;
处理模块,还用于根据所述目标快照信息,创建目标代理卷;
处理模块,还用于挂载所述目标代理卷,所述目标代理卷提供文件输入输出IO服务,所述目标代理卷用于获取所述目标文件;
处理模块,还用于根据所述目标代理卷,恢复所述目标文件。
在一种可能的实现方式中,
收发模块,还用于接收第二恢复请求,所述第二恢复请求用于请求恢复所述目标时刻的数据;
处理模块,还用于根据所述第二恢复请求,确定目标文件索引信息,所述目标文件索引信息的记录时刻早于或等于所述目标时刻,且,所述目标文件索引信息的记录时刻满足:文件索引信息集合中与所述目标时刻的差值最小的记录时刻,所述文件索引信息集合包括至少一个文件索引信息,所述文件索引信息包括第一设备中全局文件的索引信息;
处理模块,还用于恢复所述目标文件索引信息,所述目标文件索引信息用于确定所述目标文件;
在一种可能的实现方式中,
处理模块,还用于根据所述目标时刻重做日志文件,恢复所述目标时刻的所述目标文件;
处理模块,还用于根据所述目标时刻,将所述目标代理卷的数据回滚至所述目标时刻,得到更新后的所述目标代理卷,更新后的所述目标代理卷指示的索引信息包括所述目标时刻的所述目标文件的索引信息;
处理模块,还用于根据更新后的所述目标代理卷,恢复所述目标文件。
在一种可能的实现方式中,
收发模块,还用于获取第一快照信息,所述第一快照信息为第一时刻的所述第一设备中全局文件的快照信息。
在一种可能的实现方式中,
收发模块,还用于获取第二快照信息,所述第二快照信息为第二时刻的所述第一设备中全局文件的快照信息;
处理模块,还用于更新所述快照信息集合,更新后的所述快照信息集合包括:所述第一快照信息和所述第二快照信息。
在一种可能的实现方式中,
收发模块,还用于接收来自所述第一设备的文件索引信息,所述文件索引信息包括所述第一设备中全局文件的索引信息;
处理模块,还用于将所述文件索引信息与所述快照信息集合关联保存。
第五方面,本申请实施例提供了一种数据恢复装置,该数据恢复装置具有实现上述第一方面或第一方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块,例如:收发模块、处理模块和存储模块。
第六方面,本申请实施例提供了一种数据恢复装置,该数据恢复装置包括至少一个处理器和存储器,该存储器中存储有可在处理器上运行的计算机指令,当该计算机指令被所述处理器执行时,所述处理器执行如上述第一方面或第一方面任意一种可能的实现方式所述的方法。
第七方面,本申请实施例提供了一种数据恢复装置,该数据恢复装置具有实现上述第二方面或第二方面任意一种可能实现方式的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块,例如:收发模块、处理模块和存储模块。
第八方面,本申请实施例提供了一种数据恢复装置,该数据恢复装置包括至少一个处理器和存储器,该存储器中存储有可在处理器上运行的计算机指令,当该计算机指令被所述处理器执行时,所述处理器执行如上述第二方面或第二方面任意一种可能的实现方式所述的方法。
第九方面,本申请实施例提供了一种计算机设备,该计算机设备包括至少一个处理器、存储器、通信端口、显示器以及存储在存储器中并可在处理器上运行的计算机执行指令,当所述计算机执行指令被所述处理器执行时,所述处理器执行如上述第一方面或者第二方面任意一种可能的实现方式所述的方法。
第十方面,本申请实施例提供了一种存储一个或多个计算机执行指令的计算机可读存储介质,当所述计算机执行指令被处理器执行时,所述处理器执行如上述第一方面或者第二方面任意一种可能的实现方式所述的方法。
第十一方面,本申请实施例提供一种存储一个或多个计算机执行指令的计算机程序产品(或称计算机程序),当所述计算机执行指令被所述处理器执行时,所述处理器执行上述第一方面或者第二方面任意一种可能实现方式的方法。
第十二方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持计算机设备实现上述方面中所涉及的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存计算机设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
其中,第三至第十二方面或者其中任一种可能实现方式所带来的技术效果可参见第一方面或第二方面不同可能实现方式所带来的技术效果,此处不再赘述。
附图说明
图1a为本申请实施例提供的一种计算机设备100的示意图;
图1b为本申请实施例中一种应用场景示意图;
图2为本申请实施例中一种数据恢复方法的实施例示意图;
图3为块级CDP示意图;
图4为本申请实施例涉及的文件索引信息的采集场景示意图;
图5为本申请实施例中数据恢复的场景示意图;
图6为本申请实施例中数据恢复装置的一种实施例示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
相比传统的硬件资源成本较高,更新换代较快的劣势,许多企业都会选择租用云资源来替代传统的硬件资源,云技术(cloud technology)应运而生。由于租用云资源只需要支付一定的租金就可以完全替代原有的硬件资源,且更新换代以及扩容也不需要另外购买新的硬件资源,在一定程度上可以减少企业的成本开支。
可以理解的是,云技术是指在广域网或局域网内将硬件、软件和网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术和应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云计算(cloud computing)指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是互联网技术(internet technology,IT),和软件、互联网相关,也可是其他服务。云计算是网格计算(grid computing)、分布式计算(distributed computing)、并行计算(parallel computing)、效用计算(utilitycomputing)、网络存储(network storage technologies)、虚拟化(virtualization)、负载均衡(load balance)等传统计算机和网络技术发展融合的产物。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
图1a为本申请实施例提供的一种计算机设备100的示意图。该计算机设备100可用于本申请实施例提出的第一设备和/或第二设备。如图1a所示,计算机设备100包括处理器102、内存104。处理器102通过双倍速率(double data rate,DDR)总线103和内存104相连。这里,不同的内存104可能采用不同的数据总线与处理器102通信,因此DDR总线103也可以替换为其他类型的数据总线,本申请实施例不对总线类型进行限定。另外,计算机设备100还包括各种I/O设备,处理器102可以通过PCIe总线105访问这些I/O设备107。
处理器(Processor)102是计算机设备100的运算核心和控制核心。处理器102中可以包括一个或多个处理器核(core)204。处理器102可以是一块超大规模的集成电路。在处理器102中安装有操作系统和其他软件程序,从而处理器102能够实现对内存104及各种PCIe设备的访问。可以理解的是,在本发明实施例中,处理器102中的Core204例如可以是中央处理器(Central Processing unit,CPU),可以是其他特定集成电路(ApplicationSpecific Integrated Circuit,ASIC)。处理器102还可以是是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specificintegrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。实际应用中,计算机设备100也可以包括多个处理器。
内存控制器(Memory Controller)是计算机设备100内部控制内存104并用于管理与规划从内存104到Core 204间的数据传输的总线电路控制器。通过内存控制器,内存104与Core 204之间可以交换数据。内存控制器可以是一个单独的芯片,并通过系统总线与Core 204连接。本领域技术人员可以知道,内存控制器也可以被集成到处理器102中,也可以被内置于北桥中,还可以是一块独立的内存控制器芯片,本发明实施例不对内存控制器的具体位置和存在形式进行限定。实际应用中,内存控制器可以控制必要的逻辑以将数据写入内存104或从内存104中读取数据。内存控制器104可以是通用处理器、专用加速器、GPU、FPGA、嵌入式处理器等处理器系统中的内存控制器。
内存104是计算机设备100的主存。内存104通常用来存放操作系统中各种正在运行的软件、输入和输出数据以及与外存交换的信息等。为了提高处理器102的访问速度,内存108需要具备访问速度快的优点。在传统的计算机系统架构中,通常采用动态随机存取存储器(Dynamic Random Access Memory,DRAM)作为内存104。处理器102能够通过内存控制器高速访问内存104,对内存104中的任意一个存储单元进行读操作和写操作。除了DRAM之外,内存104还可以是其他随机存取存储器,例如静态随机存取存储器(Static RandomAccess Memory,SRAM)等。另外,内存104也可以是只读存储器(Read Only Memory,ROM)。而对于只读存储器,举例来说,可以是可编程只读存储器(Programmable Read Only Memory,PROM)、可抹除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)等。本实施例不对内存104的数量和类型进行限定。此外,可对内存104进行配置使其具有保电功能。保电功能是指系统发生掉电又重新上电时,存储器中存储的数据也不会丢失。具有保电功能的内存104被称为非易失性存储器。
输入输出(input/ourput,I/O)设备107,是指可以进行数据传输的硬件,也可以理解为与I/O接口对接的设备。常见的I/O设备有网卡、打印机、键盘、鼠标等。所有的外存也可以作为I/O设备,如硬盘、软盘、光盘等。处理器102可通过PCIe总线105访问各个IO设备107。需要说明的是,PCIe总线105只是其中的一个示例,可以被替换为其他总线,例如统一(Unified Bus,UB)总线等。
基板管理控制器(Baseboard Management Controller,BMC)106,可以对设备进行固件升级,对设备的运行状态进行管理以及排除故障等。处理器102可通过PCIe总线或者USB、I2C等总线访问基板管理控制器108。基本管理控制器106还可以和至少一个传感器相连。通过传感器获取计算机设备的状态数据,其中状态数据包括:温度数据,电流数据、电压数据等等。在本申请中不对状态数据的类型做具体限制。基板管理控制器106通过PCIe总线或者其他类型的总线和处理器102通信,例如,将获取到的状态数据,传递给处理器102进行处理。基板管理控制器106也可以对存储器102中的程序代码进行维护,包括升级或恢复等等。基板管理控制器106还可以对计算机设备100内的电源电路或时钟电路进行控制等。总之,基板管理控制器106可以通过以上方式实现对计算机设备100的管理。然而,基板管理控制器106只是一个可选设备。在一些实施方式中,处理器102可以直接和传感器通信,从而对计算机设备直接进行管理和维护。
首先介绍本申请实施例涉及的一些概念:
一、内核态和用户态。
由于需要限制不同的程序之间的访问能力,防止他们获取其他程序的内存数据,或者获取外围设备的数据,处理器划分出两个权限等级:用户态和内核态。
当一个任务或者一个进程执行系统调用而在内核代码中执行时,我们就称进程处于内核态。此时处理器处于特权级最高的内核代码中执行。在内核态,处理器可以访问内存的所有数据,包括外围设备,例如硬盘,网卡等,处理器也可以将自己从一个程序切换到另一个程序。当进程在执行用户自己的代码时,则称其处于用户态。此时处理器在特权级最低的用户代码中运行,仅能使用常规处理器指令集,不能使用操作硬件资源的处理器指令集。在用户态,处理器只能受限地访问内存,且不允许访问外围设备,如IO读写、网卡访问、申请内存等。并且处理器资源可以被其他程序获取。
一般情况下,应用程序是运行在用户态的,但有时候应用程序也需要做一些内核态的事情,例如从硬盘读取数据,或者通过键盘获取输入等,而唯一可以做这些事情的就是操作系统,所以此时程序就需要从用户态切换到内核态。用户态切换到内核态有3种方式。A.系统调用。系统调用是用户态进程主动要求切换到内核态的一种方式,用户态进程通过系统调用申请使用操作系统的服务程序完成工作。B.异常。当CPU在执行运行在用户态的程序时,发生了某些事先不可知的异常,这时会触发由当前运行进程切换到处理此异常的内核相关程序中,也就转到了内核态,比如缺页异常。C.外围设备的中断。当外围设备完成用户请求的操作后,会向CPU发出相应的中断信号,这时CPU会暂停执行下一条即将要执行的指令转而去执行与中断信号对应的处理程序,如果先前执行的指令是用户态下的程序,那么这个转换的过程自然也就发生了用户态到内核态的切换。比如硬盘读写操作完成,系统会切换到硬盘读写的中断处理程序中执行后续操作等。这三种方式是系统在运行时由用户态转到内核态的最主要方式,其中系统调用可以认为是用户进程主动发起的,异常和外围设备中断则是被动的。
二、虚拟化技术。
虚拟化是资源的逻辑表示,使其不受物理限制的约束。将任何一种形式的接口和资源映射成另一种形式的接口和资源的技术,都可以成为虚拟化技术。其实现形式一般是在系统中加入一个虚拟化软件层,将下层的资源抽象成另一形式的资源,提供给上层使用。
其中,通过虚拟化仿真出来的计算机系统叫做虚拟机(Virtual Machine,VM)。运行虚拟机的底层机器称为主机(Host)。运行在虚拟环境上的软件称为客户机(Guest)。如果有操作系统,相应地,底层机器上运行的操作系统称为主机操作系统(Host OperatingSystem,HostOS)。运行在虚拟机之上的操作系统称为客户机操作系统(Guest OperatingSystem,GuestOS)。
三、快照(snapshot)技术。
世界各地的企业都认识到其数据的商业价值,因此,寻求可靠和经济有效的方法来保护存储在其计算机网络上的信息,同时将对生产力的影响降至最低。公司将备份其关键计算系统,如数据库、文件服务器、网页服务器等,作为每日、每周或每月维护计划的一部分。公司还将寻求保护其每位员工使用的计算机系统,如会计部门、营销部门、工程部门等使用的计算机系统。考虑到管理的数据量迅速扩大,除了保护数据之外,公司还继续寻求管理数据增长的创新技术。
从历史上看,快照和克隆操作一直在作为虚拟对象的存储容器上进行。克隆是现有虚拟机(virtual machine,VM)的副本。现有虚拟机称为克隆的父虚拟机。克隆操作完成后,克隆是一个单独的虚拟机,而快照是虚拟机磁盘文件在给定时间点的副本。快照为虚拟磁盘提供更改日志,用于在发生故障或系统错误时将虚拟机恢复到特定时间点。简单地说,克隆就是制作某物的完整副本,而快照则制作一个初始副本,然后只是进行简单的后续更改。此外,存储快照可用于创建克隆。
对于存储区域网络(Storage Area Network,SAN)阵列,这些操作是在逻辑单元号(Logical Unit Number,LUN)上进行的,而对于网络附属存储(Network AttachedStorage,NAS)阵列,这些操作是在卷或聚合上进行的,卷或聚合都是逻辑对象。这两个操作有效地使用户能够捕获数据集的一个或多个即时映像(称为快照),并以非重叠的方式(称为克隆)在多个用户之间共享映像。
在本申请中,“克隆”是指制作对象的完整可写副本。对象可以是文件、目录或卷。
在本申请中,“快照”是指在特定时间点拍摄原始图像,然后每个后续图像仅与前一张图像存在差异。
下面,结合附图介绍本申请实施例提出的数据恢复方法。首先,本申请实施例适用的应用场景如图1b所示,图1b为本申请实施例中一种应用场景示意图。本申请实施例提出的数据恢复方法可以用于分布式存储系统中,也可以应用于集中式存储系统,本申请实施例对此不作限制。
该应用场景包括:第一设备、第二设备和第三设备。第一设备又称为生产主机,第一设备用于产生需要备份数据。第二设备又称为备份主机,第二设备用于备份第一设备所产生的数据。第三设备又称为用户主机,用户(user)通过第三设备访问第二设备,然后通过第三设备向第二设备下发指令用于恢复备份数据。
一种可能的实现方式中,第一设备、第二设备和第三设备部署于同一实体计算机设备(该同一实体计算机设备可以包括一个或多个实体的计算机设备,例如是一个计算机设备集群)。第一设备、第二设备和第三设备属于不同的虚拟机。
在另一种可能的实现方式中,第一设备、第二设备部署于不同的实体计算机设备中。第三设备与第一设备是同一实体计算机设备,第三设备提供面向用户的功能窗口,例如是浏览器(Web Browser)提供的功能窗口。用户通过访问该功能窗口,向第二设备下发指令用于恢复备份数据。
在另一种可能的实现方式中,第一设备、第二设备和第三设备分别部署于不同实体计算机设备中。
请参阅图2,图2为本申请实施例中一种数据恢复方法的实施例示意图。本申请实施例提出的一种数据恢复方法,包括:
201、第一设备获取文件索引信息。
本实施例中,第一设备首先获取第一设备中全局文件的文件索引信息。示例性的,文件索引信息,包括全局文件中的每个文件的文件索引信息。其中一个文件的文件索引信息例如:“D:\aaa\bbb\cc.txt”。
202、第一设备向第二设备发送文件索引信息。
本实施例中,当第一设备获取文件索引信息后,将该文件索引信息发送至第二设备。由第二设备进行备份保存。
203、第一设备更新文件索引信息。
本实施例中,在步骤201之后,监测所述第一设备中是否发生新增、删除或者修改至少一个文件。当所述第一设备中新增、删除或者修改至少一个文件时,生成第一子索引信息,所述第一子索引信息指示所述第一设备中新增、删除或者修改的至少一个文件的索引信息,所述第一子索引信息还包括所述至少一个文件的操作类型,所述操作类型包括以下一项或多项:新增、删除或者修改。根据所述第一子索引信息,更新所述文件索引信息,更新后的所述文件索引信息包括所述第一子索引信息。
示例性的,当第一设备新增、删除或者修改至少一个文件时,例如第一设备发送IO写入时,第一设备截获该IO写入并将该IO写入的数据发送至第二设备。由第二设备执行CDP处理,将IO写入的数据写入CDP数据卷和日志卷,执行该IO写入的数据的备份存储。在此过程中,第一设备更新文件索引信息,并将更新后的文件索引信息发送至第二设备,由第二设备进行备份存储。
示例性的,更新后的文件索引信息如表1所示:
表1
表1中,第一设备在“14:00:00”初次获取第一设备的全局文件的文件索引信息。然后,第一设备监视所述第一设备中是否发生新增、删除或者修改至少一个文件。
当所述第一设备中新增、删除或者修改至少一个文件时,生成第一子索引信息,所述第一子索引信息指示所述第一设备中新增、删除或者修改的至少一个文件的索引信息,所述第一子索引信息还包括所述至少一个文件的操作类型,所述操作类型包括以下一项或多项:新增、删除或者修改。第一子索引信息例如表1中“15:05:22”对应的文件索引信息,具体的,在“15:05:22”第一设备检测新增(或者写入)“cc.txt”文件,该“cc.txt”文件的文件索引(或者地址信息)为“D:\aaa\bbb\cc.txt”,操作类型为新增(或者写入)“new”。
根据所述第一子索引信息,更新所述文件索引信息,更新后的所述文件索引信息包括所述第一子索引信息。
可选的,第一设备获取第一子索引信息后,将第一子索引信息和文件索引信息(全局文件的索引信息)进行去重合并处理,得到更新后的文件索引信息。
可选的,第一设备也可以根据指令或者周期性的获取全局文件的索引信息。
204、第一设备向第二设备发送更新后的文件索引信息。
本实施例中,第一设备向第二设备发送更新后的文件索引信息。
进一步的,第一设备将文件数据发送至第二设备,由第二设备备份该文件数据。
205、第二设备获取快照信息。
本实施例中,第二设备根据用户策略获取快照信息,该快照信息为某一时刻的第一设备中全局文件的快照信息。该用户策略包括但不限于:在预定义的时刻,第一设备获取文件索引信息,在该预定义的时刻,第二设备获取全局文件的快照信息。又例如:第一设备周期性的获取文件索引信息,第二设备周期性的获取全局文件的快照信息,两个获取的周期相同。
示例性的,第二设备获取快照信息后,将快照信息(或称为快照数据)写入到CDP数据卷。
当第二设备获取快照信息后,第二设备将文件索引信息和快照信息关联保存。
表2
表2中,第一设备在“14:00:00”初次获取第一设备的文件索引信息(全局文件),在“14:00:00”第二设备还获取第一设备的全局文件的快照信息。然后,当第二设备收到来自第一设备的文件索引信息后,第二设备将“14:00:00”的文件索引信息和快照信息(T1)关联存储。第一设备在更新文件索引信息后,第一设备将更新后的文件索引信息发送至第二设备,由第二设备进行备份存储。然后,到T2时刻(15:00:00),第一设备获取快照信息(T2)和“15:00:00”的文件索引信息,第二设备将“15:00:00”的文件索引信息和快照信息(T2)关联存储。以此类推。
可选的,当第二设备获取快照信息后,第二设备可以在装载服务器(mountserver)中挂载该快照。然后,扫描挂载后的该快照(即扫描快照中的文件系统),获取全局文件的索引信息。第二设备将该扫描得到的全局文件的索引信息,作为文件索引信息进行备份存储。
206、第二设备接收来自第三设备的第二恢复请求,第二恢复请求用于恢复目标时刻的数据。
本实施例中,用户通过第三设备选择目标时刻,该目标时刻作为用户期望恢复数据的时刻。用户通过第三设备向第二设备发送第二恢复请求,该第二恢复请求用于恢复目标时刻的数据。
示例性的,第三设备在浏览器页面展示数据恢复菜单。用户在该数据恢复菜单中选择想要恢复数据的目标时刻。
207、第二设备根据第二恢复请求,确定目标文件索引信息。
本实施例中,第二设备根据所述第二恢复请求,确定目标文件索引信息,所述目标文件索引信息的记录时刻早于或等于所述目标时刻,且,所述目标文件索引信息的记录时刻满足:文件索引信息集合中与所述目标时刻的差值最小的记录时刻,所述文件索引信息集合包括至少一个文件索引信息,所述文件索引信息包括第一设备中全局文件的索引信息。
示例性的,以表2为例,当目标时刻为“15:47:25”时,确定最接近的文件索引信息的记录时刻在T2~T3(15:00:00~15:47:28)之间,且不早于15:47:28。然后,第二设备确定目标文件索引信息,该目标文件索引信息包括15:00:00记录的全局文件的索引信息(又称为全量文件索引)和15:00:00~15:47:28(不含15:47:28)记录的第一子索引信息(又称为增量文件索引)。可选的,该目标文件索引信息由上述的全量文件索引和增量文件索引合并(merge)得到。
可选的,该目标文件索引信息可以指示全局文件的文件结构信息,因此,该目标文件索引信息可以称为全量文件系统的目录结构信息。
208、第二设备向第三设备发送目标文件索引信息。
本实施例中,第二设备向第三设备发送目标文件索引信息。可选的,第三设备根据目标文件索引信息,向用户展示目标时刻的全局文件的目录结构。例如:通过浏览器页面展示该目标时刻的全局文件的目录结构,以供用户通过可视化界面选取需要恢复的目标文件。该目标文件可以包括一个或多个文件。
209、第二设备接收来自第三设备的第一恢复请求,第一恢复请求用于请求恢复目标时刻的目标文件。
本实施例中,当用户通过可视化界面确定需要恢复的目标文件后,第三设备向第二设备发送第一恢复请求,第一恢复请求用于请求恢复目标时刻的目标文件。
210、第二设备根据第一恢复请求,从快照信息集合中确定目标快照信息。
本实施例中,第二设备根据第一恢复请求,从快照信息集合中确定目标快照信息,所述目标快照信息包括所述目标文件的索引信息,所述目标快照信息的快照时刻早于或等于所述目标时刻,且,所述目标快照信息的快照时刻满足:所述快照信息集合中与所述目标时刻的差值最小的快照时刻,所述快照信息集合包括至少一个快照信息。
示例性的,以表2为例,当目标时刻为“15:47:25”时,确定目标快照信息的快照时刻为T2。然后第二设备确定目标快照信息(T2)。
211、第二设备根据目标快照信息,创建目标代理卷。
本实施例中,第二设备根据目标快照信息,创建目标代理卷。具体的:基于目标快照信息进行链接克隆(link clone),得到目标代理卷(即目标快照信息的复制信息)。该目标代理卷作为数据访问(或者文件IO)的代理卷。
212、第二设备挂载目标代理卷。
本实施例中,第二设备创建目标代理卷后,挂载该目标代理卷。示例性的,第二设备通过装载服务器(mount server)挂载该目标代理卷。
213、第二设备根据目标时刻重做日志文件,恢复目标时刻的目标文件。
本实施例中,第二设备根据目标时刻,重做(redo)日志文件,然后,从第二设备的存储器中恢复目标时刻的目标文件。例如:从第二设备的存储器中提取目标时刻“15:47:25”的目标文件。
可选的,当第二设备完成重做日志文件后,进入步骤214(目标代理卷回滚至目标时刻)。
可选的,当第二设备开始执行重做日志文件后,进入步骤214,此处无需等待第二设备完成重做日志文件后,再执行将目标代理卷的数据回滚至目标时刻。步骤213与步骤214为异步处理。
214、第二设备根据目标时刻,将目标代理卷的数据回滚至目标时刻,得到更新后的目标代理卷。
本实施例中,第二设备根据目标时刻,将目标代理卷的数据回滚至目标时刻。回滚到目标时刻后,得到更新后的目标代理卷。更新后的所述目标代理卷指示的索引信息包括所述目标时刻的所述目标文件的索引信息。
215、第二设备向第三设备发送目标文件。
本实施例中,当第二设备完成目标时刻的目标文件恢复后,第二设备向第三设备发送目标文件。示例性的,通过超文本传输协议(Hyper Text Transfer Protocol,HTTP)方式,以文件流的形式向第三设备(用户)发送目标时刻的目标文件。以便用户即时浏览目标文件。
本申请实施例中,无需不断的尝试性PITR(恢复数据),即可实时浏览目标时刻的目标数据。用户可以即时查看目标数据内容,以确保数据恢复的准确性。
结合前述实施例,下面结合附图介绍本申请实施例涉及的应用场景。首先,请参阅图3,图3为块级CDP示意图。第一设备(生产主机)按照功能可以划分为多个单元,具体包括:用户态中包括:应用程序(APP)、代理(agent),其中代理(agent)包括应用程序控制单元(app-control);内核态包括:文件系统(file system)、容器(volume)、驱动程序(driver)和磁盘(disk),其中,驱动程序(driver)包括:检查点(checkpoints)、容器(volume)和变更块跟踪位图(CBT bitmap),第一设备还包括存储器(storage)。
第二设备(备份装置)按照功能可以划分为多个单元,具体包括:持续数据保护装置(CDP appliance)、快照数据容器(data vol)、数据(data)和日志(journal),其中持续数据保护装置(CDP appliance)包括:管理器单元(manager)、快照单元(snapshot)和数据接收单元(data receiver)。
具体的,块级CDP流程如下:第一设备检测应用程序(APP)发生文件IO事件后,代理(agent)向驱动程序(driver)中的检查点(checkpoints)下发指令(Control CMD)。然后,驱动程序(driver)将该文件IO事件对应的文件块(block)数据,发送至第二设备的数据接收单元(data receiver)。在第二设备侧以IO日志和数据的方式存储,以便进行PITR。
在此基础上,本申请实施例提出的应用场景如图4和图5所示,图4为本申请实施例涉及的文件索引信息的采集场景示意图。图5为本申请实施例中数据恢复的场景示意图。
首先介绍图4,在文件索引信息的采集阶段:第一设备在用户态的代理(agent)中,新增了采集单元(fs-catalog)。该采集单元(fs-catalog)可以从文件系统(file system)获取文件索引信息(indexing data)。该采集单元(fs-catalog)具有实时获取文件索引信息(例如当发生文件IO事件时,获取文件IO事件后的文件索引信息)。第二设备在持续数据保护装置(CDP appliance)中新增了同步单元(catalog engine)。
具体的采集流程如下:采集单元(fs-catalog)采集文件索引信息后(包括全量文件索引和增量文件索引),将该文件索引信息发送至第二设备的同步单元(catalogengine)。第二设备的同步单元(catalog engine)将文件索引信息存储至索引存储器(indexing store)。
其次介绍图5,在数据恢复阶段,第二设备新增装载服务器(mount server)和代理卷(delegate volume),其中,装载服务器(mount server)用于当用户即时查看某个文件内容时自动快速提供文件内容(即挂载目标代理卷),代理卷(delegate volume)用于自动创建的一个链接克隆卷(即创建目标代理卷)。
具体的数据恢复流程如下:当第三设备(用户主机)需要恢复目标时刻的目标数据时。第三设备通过浏览器(Web Browser)指示第二设备找到目标文件索引信息(目标时刻)。第二设备的同步单元(catalog engine)指示索引存储器(indexing store)按需重做日志文件(on-demand log redo)。第二设备基于文件索引信息(目标时刻)确定对应的快照信息(快照2(T2))。代理卷(delegate volume)从快照数据容器(data vol)中提取目标快照信息(快照2(T2)),然后得到链接克隆卷(link clone),该链接克隆卷又称为目标代理卷。代理卷(delegate volume)从日志(journal)中恢复目标时刻的目标数据。最后,第二设备向第三设备发送该目标数据。
上述主要以方法的角度对本申请实施例提供的方案进行了介绍。可以理解的是,上述内存隔离的装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对内存隔离的装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
下面对本申请中的数据恢复装置进行描述,请参阅图6,图6为本申请实施例中数据恢复装置的一种实施例示意图。数据恢复装置包括:
收发模块601,用于获取文件索引信息,所述文件索引信息包括所述第一设备中全局文件的索引信息;
收发模块601,还用于所述第一设备向第二设备发送所述文件索引信息,所述第二设备用于执行数据备份;
处理模块602,用于更新所述文件索引信息,更新后的所述文件索引信息包括更新后的所述第一设备中至少一个文件的索引信息。
在一种可能的实现方式中,
处理模块602,还用于监测所述第一设备中是否发生新增、删除或者修改至少一个文件;
处理模块602,还用于当所述第一设备中新增、删除或者修改至少一个文件时,生成第一子索引信息,所述第一子索引信息指示所述第一设备中新增、删除或者修改的至少一个文件的索引信息,所述第一子索引信息还包括所述至少一个文件的操作类型,所述操作类型包括以下一项或多项:新增、删除或者修改;
处理模块602,还用于根据所述第一子索引信息,更新所述文件索引信息,更新后的所述文件索引信息包括所述第一子索引信息。
在一种可能的实现方式中,
收发模块601,还用于向所述第二设备发送更新后的所述文件索引信息。
又一种可能的示例中:
收发模块601,用于接收第一恢复请求,所述第一恢复请求用于请求恢复目标时刻的目标文件;
处理模块602,用于根据所述第一恢复请求,从快照信息集合中确定目标快照信息,所述目标快照信息包括所述目标文件的索引信息,所述目标快照信息的快照时刻早于或等于所述目标时刻,且,所述目标快照信息的快照时刻满足:所述快照信息集合中与所述目标时刻的差值最小的快照时刻,所述快照信息集合包括至少一个快照信息;
处理模块602,还用于根据所述目标快照信息,创建目标代理卷;
处理模块602,还用于挂载所述目标代理卷,所述目标代理卷提供文件输入输出IO服务,所述目标代理卷用于获取所述目标文件;
处理模块602,还用于根据所述目标代理卷,恢复所述目标文件。
在一种可能的实现方式中,
收发模块601,还用于接收第二恢复请求,所述第二恢复请求用于请求恢复所述目标时刻的数据;
处理模块602,还用于根据所述第二恢复请求,确定目标文件索引信息,所述目标文件索引信息的记录时刻早于或等于所述目标时刻,且,所述目标文件索引信息的记录时刻满足:文件索引信息集合中与所述目标时刻的差值最小的记录时刻,所述文件索引信息集合包括至少一个文件索引信息,所述文件索引信息包括第一设备中全局文件的索引信息;
处理模块602,还用于恢复所述目标文件索引信息,所述目标文件索引信息用于确定所述目标文件;
在一种可能的实现方式中,
处理模块602,还用于根据所述目标时刻重做日志文件,恢复所述目标时刻的所述目标文件;
处理模块602,还用于根据所述目标时刻,将所述目标代理卷的数据回滚至所述目标时刻,得到更新后的所述目标代理卷,更新后的所述目标代理卷指示的索引信息包括所述目标时刻的所述目标文件的索引信息;
处理模块602,还用于根据更新后的所述目标代理卷,恢复所述目标文件。
在一种可能的实现方式中,
收发模块601,还用于获取第一快照信息,所述第一快照信息为第一时刻的所述第一设备中全局文件的快照信息。
在一种可能的实现方式中,
收发模块601,还用于获取第二快照信息,所述第二快照信息为第二时刻的所述第一设备中全局文件的快照信息;
处理模块602,还用于更新所述快照信息集合,更新后的所述快照信息集合包括:所述第一快照信息和所述第二快照信息。
在一种可能的实现方式中,
收发模块601,还用于接收来自所述第一设备的文件索引信息,所述文件索引信息包括所述第一设备中全局文件的索引信息;
处理模块602,还用于将所述文件索引信息与所述快照信息集合关联保存。
本申请还提供了一种芯片系统,该芯片系统包括处理器,用于支持上述终端设备实现其所涉及的功能,例如,例如接收或处理上述方法实施例中所涉及的数据。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存终端设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
在本申请的另一实施例中,还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当设备的至少一个处理器执行该计算机执行指令时,设备执行上述图2至图5部分实施例所描述的方法。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备执行上述图2至图5部分实施例所描述的方法。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、内存隔离的装置、计算设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、内存隔离的装置、计算设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。
总之,以上所述仅为本申请技术方案的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (17)

1.一种数据恢复方法,其特征在于,所述方法应用于第一设备,所述方法包括:
获取文件索引信息,所述文件索引信息包括所述第一设备中全局文件的索引信息;
所述第一设备向第二设备发送所述文件索引信息,所述第二设备用于执行数据备份;
更新所述文件索引信息,更新后的所述文件索引信息包括更新后的所述第一设备中至少一个文件的索引信息。
2.根据权利要求1所述的方法,其特征在于,所述第一设备更新所述文件索引信息,包括;
监测所述第一设备中是否发生新增、删除或者修改至少一个文件;
当所述第一设备中新增、删除或者修改至少一个文件时,生成第一子索引信息,所述第一子索引信息指示所述第一设备中新增、删除或者修改的至少一个文件的索引信息,所述第一子索引信息还包括所述至少一个文件的操作类型,所述操作类型包括以下一项或多项:新增、删除或者修改;
根据所述第一子索引信息,更新所述文件索引信息,更新后的所述文件索引信息包括所述第一子索引信息。
3.根据权利要求1-2中任一项所述的方法,其特征在于,向所述第二设备发送所述文件索引信息之后,所述方法还包括:
向所述第二设备发送更新后的所述文件索引信息。
4.一种数据恢复方法,其特征在于,所述方法应用于第二设备,所述方法包括:
接收第一恢复请求,所述第一恢复请求用于请求恢复目标时刻的目标文件;
根据所述第一恢复请求,从快照信息集合中确定目标快照信息,所述目标快照信息包括所述目标文件的索引信息,所述目标快照信息的快照时刻早于或等于所述目标时刻,且,所述目标快照信息的快照时刻满足:所述快照信息集合中与所述目标时刻的差值最小的快照时刻,所述快照信息集合包括至少一个快照信息;
根据所述目标快照信息,创建目标代理卷;
挂载所述目标代理卷,所述目标代理卷提供文件输入输出IO服务,所述目标代理卷用于获取所述目标文件;
根据所述目标代理卷,恢复所述目标文件。
5.根据权利要求4所述的方法,其特征在于,接收所述第一恢复请求之前,所述方法还包括:
接收第二恢复请求,所述第二恢复请求用于请求恢复所述目标时刻的数据;
根据所述第二恢复请求,确定目标文件索引信息,所述目标文件索引信息的记录时刻早于或等于所述目标时刻,且,所述目标文件索引信息的记录时刻满足:文件索引信息集合中与所述目标时刻的差值最小的记录时刻,所述文件索引信息集合包括至少一个文件索引信息,所述文件索引信息包括第一设备中全局文件的索引信息;
恢复所述目标文件索引信息,所述目标文件索引信息用于确定所述目标文件。
6.根据权利要求4或5中任一项所述的方法,其特征在于,根据所述目标代理卷,恢复所述目标文件,包括:
根据所述目标时刻重做日志文件,恢复所述目标时刻的所述目标文件;
根据所述目标时刻,将所述目标代理卷的数据回滚至所述目标时刻,得到更新后的所述目标代理卷,更新后的所述目标代理卷指示的索引信息包括所述目标时刻的所述目标文件的索引信息;
根据更新后的所述目标代理卷,恢复所述目标文件。
7.根据权利要求4-6中任一项所述的方法,其特征在于,所述方法还包括:
获取第一快照信息,所述第一快照信息为第一时刻的所述第一设备中全局文件的快照信息。
8.根据权利要求7所述的方法,其特征在于,获取所述第一快照信息之后,所述方法还包括:
获取第二快照信息,所述第二快照信息为第二时刻的所述第一设备中全局文件的快照信息;
更新所述快照信息集合,更新后的所述快照信息集合包括:所述第一快照信息和所述第二快照信息。
9.根据权利要求7-8中任一项所述的方法,其特征在于,所述方法还包括:
接收来自所述第一设备的文件索引信息,所述文件索引信息包括所述第一设备中全局文件的索引信息;
将所述文件索引信息与所述快照信息集合关联保存。
10.一种数据恢复系统,其特征在于,所述系统包括:
第一设备,所述第一设备用于执行前述权利要求1-3中任一项所述的方法;
第二设备,所述第二设备用于执行前述权利要求4-9中任一项所述的方法。
11.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1-3,或者4-9中任一项所述的方法。
12.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算机设备集群运行时,使得所述计算机设备集群执行如权利要求的1-9中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1-9中任一项所述的方法。
14.一种计算机设备,其特征在于,用作第一设备,包括:
收发模块,用于执行权利要求1-3任一项所述的方法中由所述第一设备所执行的接收和/或发送相关的操作;
处理模块,用于执行权利要求1-3任一项所述的方法中由所述第一设备所执行的接收和/或发送相关的操作之外的其它操作。
15.一种计算机设备,其特征在于,用作第二设备,包括:
收发模块,用于执行权利要求4-9任一项所述的方法中由所述第二设备所执行的接收和/或发送相关的操作;
处理模块,用于执行权利要求4-9任一项所述的方法中由所述第二设备所执行的接收和/或发送相关的操作之外的其它操作。
16.一种计算机设备,用作第一设备,其特征在于,包括;
通信接口;
与所述通信接口连接的处理器,基于所述通信接口和所述处理器,使得所述第一设备执行如权利要求1至3任一项所述的方法。
17.一种计算机设备,用作第二设备,其特征在于,包括:
通信接口;
与所述通信接口连接的处理器,基于所述通信接口和所述处理器,使得所述第二设备执行如权利要求4至9任一项所述的方法。
CN202210461500.XA 2022-04-28 2022-04-28 一种数据恢复方法以及相关装置 Pending CN117009133A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210461500.XA CN117009133A (zh) 2022-04-28 2022-04-28 一种数据恢复方法以及相关装置
PCT/CN2023/077176 WO2023207280A1 (zh) 2022-04-28 2023-02-20 一种数据恢复方法以及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210461500.XA CN117009133A (zh) 2022-04-28 2022-04-28 一种数据恢复方法以及相关装置

Publications (1)

Publication Number Publication Date
CN117009133A true CN117009133A (zh) 2023-11-07

Family

ID=88517224

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210461500.XA Pending CN117009133A (zh) 2022-04-28 2022-04-28 一种数据恢复方法以及相关装置

Country Status (2)

Country Link
CN (1) CN117009133A (zh)
WO (1) WO2023207280A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101702158A (zh) * 2009-10-28 2010-05-05 卓望数码技术(深圳)有限公司 一种索引文件创建同步方法和搜索系统
US10042719B1 (en) * 2015-09-22 2018-08-07 EMC IP Holding Company LLC Optimizing application data backup in SMB
CN112380057A (zh) * 2020-11-12 2021-02-19 平安科技(深圳)有限公司 数据恢复方法、装置、设备及存储介质
CN112328435B (zh) * 2020-12-07 2023-09-12 武汉绿色网络信息服务有限责任公司 目标数据备份和恢复的方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2023207280A1 (zh) 2023-11-02

Similar Documents

Publication Publication Date Title
US11748143B2 (en) Live mount of virtual machines in a public cloud computing environment
US11520736B2 (en) Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US11513922B2 (en) Systems and methods for change block tracking for backing up changed data
US20230251945A1 (en) Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US20200174894A1 (en) Virtual server cloud file system for virtual machine restore to cloud operations
US20230315681A1 (en) Optimized restoration of deduplicated data stored in cloud-based storage resources
US9015164B2 (en) High availability for cloud servers
US8984243B1 (en) Managing operational parameters for electronic resources
US11188271B2 (en) Using storage managers in data storage management systems for license distribution, compliance, and updates
US20240118980A1 (en) Cloud-based recovery of backed up data using auxiliary copy replication and on-demand failover resources
EP3750066B1 (en) Protection of infrastructure-as-a-service workloads in public cloud
CN116457760A (zh) 异步跨区域块卷复制
US11954513B2 (en) Scalable recovery and/or migration to cloud- based custom-made virtual machines without using failed machines' credentials
US11604705B2 (en) System and method for cloning as SQL server AG databases in a hyperconverged system
Yang et al. SnapMig: Accelerating VM live storage migration by leveraging the existing VM snapshots in the cloud
US20230043336A1 (en) Using an application orchestrator computing environment for automatically scaled deployment of data protection resources needed for data in a production cluster distinct from the application orchestrator or in another application orchestrator computing environment
CN109101323A (zh) 虚拟机运行状态下基于qcow2格式的快照实现方法
US9529679B2 (en) Volume snapshot in a shared environment
CN117009133A (zh) 一种数据恢复方法以及相关装置
CN110647289A (zh) 卫星遥感云计算平台及系统
CN110688195B (zh) Hyper-v vm的即时恢复和即时访问和使用数据域boostfs在vm内部运行的应用程序
US20240007505A1 (en) Secure data replication to, and recovery of data from, air-gapped data storage pools
US20230297403A1 (en) Live mounting a virtual machine in a public cloud based on accessing a simulated virtual disk as an internet small computer systems interface (iscsi) target
US20220245037A1 (en) Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US20240012717A1 (en) Protecting configuration data in a clustered container 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