CN113157487B - 数据恢复方法及其设备 - Google Patents
数据恢复方法及其设备 Download PDFInfo
- Publication number
- CN113157487B CN113157487B CN202010078310.0A CN202010078310A CN113157487B CN 113157487 B CN113157487 B CN 113157487B CN 202010078310 A CN202010078310 A CN 202010078310A CN 113157487 B CN113157487 B CN 113157487B
- Authority
- CN
- China
- Prior art keywords
- user data
- metadata
- production
- data
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
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)
Abstract
本申请实施例公开了一种数据恢复方法,本申请实施例方法可以用于存储系统中,本申请实施例方法包括:生产设备中的文件系统的元数据发生损坏时,从备份设备获取元数据副本,元数据用于记录用户数据的地址;生产设备接收客户端发送的第一读数据请求,第一读数据请求用于读取第一用户数据,生产设备存储的第一用户数据发生损坏;生产设备在元数据副本中查询获得第一用户数据的地址信息,第一用户数据的地址指向备份设备;生产设备从备份设备中获取第一用户数据;生产设备向客户端发送第一用户数据。本申请实施例可以缩短恢复数据访问的时间,因此提升了系统的可操作性。
Description
技术领域
本申请实施例涉及电子信息技术领域,具体涉及一种数据恢复方法及其设备。
背景技术
数字化时代,数据是社会、组织和个人的核心资产,数据资产的保护关系到组织和个人的核心利益。对数据进行备份而保护数据资产是目前最常用的手段,当自然灾害、病毒、人为破坏等原因导致系统数据丢失后,可以使用备份数据恢复业务来恢复丢失的数据。
通常,备份系统都会搭建远程备份系统,远程备份系统通过备份用户数据快照和元数据快照实现备份。
当数据出现损坏或者丢失时,有业务需要访问该数据时,需要从远端备份服务器拷贝全量用户数据快照和元数据快照到本地系统才能恢复数据的访问。因为全量用户数据快照和元数据快照的数据量较大,在带宽或者拷贝速度有限的情况下,从远端备份服务器拷贝全量用户数据快照和元数据快照到本地系统会花费较长的时间,导致本地系统恢复数据访问的时间较长,影响系统的正常运作。
发明内容
本申请实施例提供了一种数据恢复方法及设备,用于让恢复数据访问的时间较短,提升系统的可操作性。
本申请实施例第一方面提供了一种数据恢复方法,包括:
生产设备中存有用户数据以及对应的元数据,生产设备通过打快照的方式,将该用户数据和元数据生成对应的用户数据副本和元数据副本,并将该用户数据副本和元数据副本发送到备份设备,备份设备则会保存该用户数据副本和元数据副本,元数据用于记录用户数据的地址信息,当生产设备的文件系统中的元数据发生损坏时,则生产设备会从备份设备获取元数据副本,当客户端需要用到第一用户数据时,客户端会向生产设备发送第一读数据请求,该第一读数据请求用于读取第一用户数据,当该第一用户数据发生损坏时,生产设备通过元数据副本查询并获取到该第一用户数据的地址信息指向备份设备的地址信息,则该生产设备发送报文信息到备份设备,该报文信息指示该备份设备发送第一用户数据到生产设备。生产设备收到第一用户数据之后,向客户端发送该第一用户数据。
本申请实施例中,当生产设备的用户数据和元数据发生损坏或者丢失时,生产设备通过备份设备获取元数据副本,当产生数据访问时,生产设备根据元数据副本从备份设备获取第一用户数据,不需要将全量用户数据拷贝回本地终端就可以实现数据访问,缩短了恢复数据访问的时间。
可选的,在一种可能的实施方式中,生产设备从备份设备获取到元数据副本之后,将该元数据副本和生产设备文件系统中发生损坏的元数据中有效的元数据做对比,生成新的元数据,该新的元数据中至少包括生产设备中存储的未发生损坏的第二用户数据的元数据,即该损坏的元数据中有效的元数据包括第二用户数据的元数据,以及元数据副本中的第一用户数据对应的元数据。当获得该新的元数据之后,当接收到第一读数据请求时,生产设备可以通过该新的元数据中查询并且获得该第一用户数据的地址信息。
本申请实施例中,生产设备通过对比元数据副本和损坏的元数据中的有效元数据生成新的元数据,提升了元数据的准确性。
可选的,在一种可能的实施方式中,生产设备接收到客户端发送的第二读数据请求,该第二读数据请求用于读取第二用户数据,基于该第二读数据请求,该生产设备在新的元数据中查询该第二用户数据的地址信息,当该第二用户的地址信息指向本地生产设备时,生产设备则从本地的存储器中获取该第二用户数据,并向客户端发送该第二用户数据。
本申请实施例中,当第二读数据请求需要获取第二用户数据时,生产设备通过新的元数据查询并且获取到该第二用户数据的地址信息,当该地址信息指向生产设备本地地址时,则从本地获取该第二用户数据,不需要从备份设备上获取第二用户数据,节省了网络资源。
可选的,在一种可能的实施方式中,生产设备从备份设备获取到第一用户数据之后,生产设备在本地存储该第一用户数据,且生产设备将第一用户数据的地址信息指向该生产设备保存该第一用户数据的地址。
本申请实施例中,生产设备将第一用户数据的地址信息指向该生产设备保存该第一用户数据的地址,当产生需要访问第一用户数据的请求时,则该生产设备可以从本地获取该第一用户数据,不需要到备份设备上再获取该第一用户数据,节省了网络资源。
本申请实施例第二方面提供了一种存储系统,包括:
至少一个生产设备以及备份设备,生产设备执行本申请实施例第一方面中生产设备执行的方法,备份设备执行本申请实施例第一方面中备份设备执行的方法。
本申请实施例第三方面提供了一种生产设备,包括:
获取单元,用于生产设备中的文件系统的元数据发生损坏时,从备份设备获取元数据副本,元数据用于记录用户数据的地址;
接收单元,用于接收客户端发送的第一读数据请求,第一读数据请求用于读取第一用户数据,生产设备存储的第一用户数据发生损坏;
查询单元,用于在元数据副本中查询获得第一用户数据的地址信息,第一用户数据的地址指向备份设备;
获取单元还用于生产设备从备份设备中获取第一用户数据;
发送单元,用于向客户端发送第一用户数据。
可选的,在一种可能的实施方式中,生产设备还包括:
创建单元,用于根据发生损坏的元数据和元数据副本创建新的元数据,新的元数据至少包括生产设备中存储的未发生损坏的第二用户数据的元数据,以及元数据副本中的第一用户数据的元数据。
可选的,在一种可能的实施方式中,生产设备还包括:
接收单元还用于接收客户端发送的第二读数据请求,第二读数据请求用于读取第二用户数据;
查询单元还用于在新的元数据中查询获得第二用户数据的地址,第二用户数据的地址指向生产设备;
获取单元还用于从本地获取第二用户数据,并向客户端发送第二用户数据。
可选的,在一种可能的实施方式中,生产设备还包括:
存储单元,用于在本地存储第一用户数据;
修改单元,用于修改第一用户数据的地址,修改后的第一用户数据的地址指向生产设备。
本申请实施例第四方面提供一种生产设备,可以包括:
处理器、存储器以及输入输出接口,该处理器、该存储器与该输入输出接口连接;该存储器,用于存储程序代码;该处理器调用该存储器中的程序代码时执行本申请第一方面实施方式提供的方法中生产设备执行的步骤。
本申请实施例第五方面提供一种备份设备,可以包括:
处理器、存储器以及输入输出接口,该处理器、该存储器与该输入输出接口连接;该存储器,用于存储程序代码;该处理器调用该存储器中的程序代码时执行本申请第一方面实施方式提供的方法中备份设备执行的步骤。
本申请实施例第六方面提供一种存储介质,需要说明的是,本发的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产口的形式体现出来,该计算机软件产品存储在一个存储介质中,用于储存为上述设备所用的计算机软件指令,其包含用于执行上述第一方面为生产设备或者备份设备所设计的程序。
该存储介质包括:U盘、移动硬盘、只读存储器(英文缩写ROM,英文全称:Read-OnlyMemory)、随机存取存储器(英文缩写:RAM,英文全称:Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例第七方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如本申请第一方面实施方式所述的方法。
本申请实施例第八方面提供一种端口检测装置,该端口检测装置可以应用于生产设备或备份设备等设备中,端口检测装置与存储器耦合,用于读取并执行存储器中存储的指令,使得端口检测装置实现本申请第一方面提供的方法的步骤。在一种可能的设计中,该端口检测装置为芯片或片上系统。
本申请第九方面提供一种芯片系统,该芯片系统包括处理器,用于支持生产设备或备份设备等实现上述本申请第一方面的施方式中所涉及的功能,例如,例如处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,芯片系统还包括存储器,存储器,用于保存生产设备或备份设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
其中,上述任一处提到的处理器,可以是一个通用中央处理器(CentralProcessing Unit,CPU),微处理器,特定应用集成电路(application-specificintegrated circuit,ASIC),或一个或多个用于控制上述第一方面中端口检测的方法的程序执行的集成电路。
本申请实施方式中,当生产备份中的数据出现损坏或者丢失时,生产设备通过备份设备获取元数据副本,当产生数据访问时,生产设备根据元数据副本访问备份设备的第一用户数据,不需要将全量用户数据拷回本地终端,就可以实现数据访问,因此恢复数据访问的时间较短,提升了系统的可操作性。
附图说明
图1为本申请实施例中数据存储系统示意图;
图2为本申请实施例中数据恢复方法一个流程示意图;
图3为本申请实施例中生产设备一个结构示意图;
图4为本申请实施例中生产设备另一结构示意图;
图5为本申请实施例中生产设备另一结构示意图。
具体实施方式
本申请实施例提供了一种数据恢复方法及其设备,用于当数据出现损坏或者丢失时,产生数据访问时,通过拷贝备份设备的元数据副本,就能恢复数据访问,不需要拷贝全量的用户数据副本,节省了时间,提升了系统的可操作性。
请参阅图1,本申请实施例中数据存储系统包括:
图1所示的数据存储系统包括至少两个数据中心。为了方便描述,在本申请实施例中,将图1所示的两个数据中心分别称为生产设备和备份设备。这两个数据中心之间可以通过互联网协议地址(IP,internet protocol)或者光纤通道(FC,Fiber Chanel)进行数据传输。在本申请实施例中,可以还包括主机,该主机中设置有客户端,该主机可以是终端,也可以是服务器,具体此处不做限定。主机与生产设备或备份设备之间可以通过FC或者小型计算机系统接口(SCSI,Small Computer System Interface)协议,基于互联网小型计算机系统接口(iSCSI,Internet Small Computer System Interface)协议进行通信。在此不做限定。可以理解的是,该备份设备也可以存在于私有云或者公有云中,具体此处不做限定。
需要说明的是,本申请实施例中,客户端也可以集成于生产设备上,当客户端集成于生产设备上时,则生产设备执行客户端所执行的操作,具体此处不做限定。
生产设备中包括处理器501、存储器502、总线505、接口504等设备,处理器501与存储器502、接口504相连,总线505分别连接处理器501、存储器502以及接口504,接口504用于接收或者发送数据,处理器501是单核或多核中央处理单元,或者为特定集成电路,或者为被配置成实施本发明实施例的一个或多个集成电路。存储器502可以为随机存取存储器(Random Access Memory,RAM),也可以为非易失性存储器(non-volatile memory),例如至少一个硬盘存储器。存储器502用于存储计算机执行指令。具体的,计算机执行指令中可以包括程序503。备份设备的结构与生产设备类似,具体可参照生产设备的结构描述,此处不再赘述。
生产设备中存储有用户数据和元数据,而该用户数据和元数据由该生产设备上的文件系统统一管理。用户数据包含了各个软件客户端对应的数据。而元数据则记载了该用户数据的基本信息,例如包括根节点、目录、文件之间的上下级关系等等,具体此处不做限定。例如,当某个客户端在使用时,需要调用某一数据,则通过查找元数据对应的地址,读取对应用户数据。该用户数据即为该客户端对应的用户数据。
在图1所示的应用场景中,生产设备和备份设备可以位于同一个城市的两个不同位置,也可以位于两个不同的城市。
在本申请实施例中,如果客户端设置在区别于生产设备和备份设备的主机上时,则主机和生产设备通过有线或者无线的方式连接,具体的连接方式此处不做限定。主机可以包括当前技术已知的任何计算设备,如服务器、台式计算机、应用服务器等等,在主机中安装有操作系统以及其他应用程序,例如,主机上可以安装有Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM,FreeBSDTM,Windows XP,Windows 7,Windows10等等,具体此处不做限定。可以理解的是,主机也可以有一个或者多个,当存在一个主机时,则一台主机与生产设备相连,当存在多台主机时,则多台主机与生产设备相连,具体的主机数量本申请实施例中不做限定。
在本申请实施例中,生产设备和备份设备可以通过快照技术使生产设备和备份设备中存储的数据保持同步。例如,在客户端将数据写入生产设备时,生产设备可以同时将该数据通过快照的方式备份到备份设备。需要说明的是,在本申请实施例中,将数据写入生产设备可以是将数据写入生产设备的缓存,也可以是指将数据写入生产设备的存储器中,在此不做限定。
下面结合图1的数据存储架构,对本申请实施例中的数据恢复方法进行描述:
请参阅图2,本申请实施例中数据恢复方法一个实施例包括:
201、生产设备从备份设备获取元数据副本;
在一个生产环境中,生产设备储存有用户数据和用户数据对应的元数据。生产设备通过文件系统来管理这些用户数据和用户数据对应的元数据,当有新的数据存储在生产设备时,文件系统会将这些新的数据更新到原有的用户数据中,同时,也会更新相应的元数据。生产设备会定时给用户数据和元数据打快照,生成用户数据副本和元数据副本,为了避免数据损坏或者丢失而不能进行数据访问,所以会设置备份设备来备份这些用户数据副本和元数据副本。
备份设备根据存储策略,会保留一定时间段内的用户数据副本和元数据副本,当生产设备的文件系统发生损坏或者丢失时,生产设备从备份设备获取元数据副本,该元数据副本可以是在备份设备上存储的相对当前时间最早的一份元数据副本,也可以是在备份设备上存储的相对当前时间最近的一份元数据副本,还可以是保存在备份设备上根据储存策略存储的任一时间点的元数据副本,具体此处不做限定。生产设备的文件系统发生损坏或丢失是指,该文件系统所包含的某个文件所对应的目标用户数据发生损坏,或者该文件系统所包含的某个文件所对应的目标元数据发生损坏,还可以是整个文件系统发生故障致使用户数据和元数据丢失。可以理解的是,从备份设备获得文件系统的元数据副本记录了在该时间点时文件系统的组织结构,例如所述文件系统包含的目录、文件以及目录与文件之间的映射关系等。
可以理解的是,生产设备可以通过IP或者FC等网络进行元数据副本的传输,可以理解的是,当生产设备和备份设备的相对距离合适的情况下,还可以通过无线保真协议wi-fi协议或者蓝牙传输协议从备份设备拷贝元数据副本。可以理解的是,本申请实施例生产设备可以用多种方式获取元数据副本,具体此处不做限定。
202、根据发生损坏的元数据和元数据副本创建新的文件系统元数据;
生产设备从备份设备获取到元数据副本之后,通过对比元数据副本和本地发生损坏的元数据,获得每个文件/目录所对应的有效元数据,从而组成新的文件系统元数据。如果生产设备本地的文件系统中仅有部分数据(既可以是用户数据也可以是元数据)损坏,那么可以在新的文件系统元数据中保留未损坏的部分,并从该元数据副本中获取损坏的用户数据的元数据对应的备份元数据副本,填充至所述新的文件系统元数据中。那么,按照这种创建方式,在新的文件系统元数据中,未发生损坏的数据的元数据仍然指向所述生产设备,而发生损坏的数据的元数据指向所述备份设备。例如,生产设备包括第一文件和第二文件,从备份设备上获取到的元数据副本包括第一文件元数据的副本和第二文件元数据的副本。如果第一文件的元数据损坏或者丢失,则从备份设备接收的文件系统元数据副本中获取第一文件元数据的副本,将其作为新的文件系统元数据中第一文件的元数据,第一文件的元数据包括第一文件的地址,该地址指向备份设备。如果第二文件及其元数据未发生损坏,则将生产设备本地的关于第二文件的元数据作为新的文件系统元数据中第二文件的元数据。需要说明的是,在实际应用过程中,未发生损坏的数据的元数据的数据访问指针也可以指向备份设备中对应的用户数据,具体此处不做限定。
203、生产设备接收客户端发送的读数据请求;
当客户端在执行某些操作时,会需要读取相关的关联用户数据。此时,客户端会向生产设备发送读数据请求,该读数据请求用于读取客户端所需的关联用户数据,该关联用户数据属于新的元数据对应的用户数据中的一部分或者全部。
需要说明的是,该客户端可以设置在区别于生产设备和备份设备的主机上,也可以集成设置在生产设备上,具体此处不做限定。
当客户端设置在主机上时,客户端会在主机生成一个数据读取指令,而主机会通过数据读取指令生成一个报文信息,该报文信息指示主机从生产设备上获取客户端需要的关联用户数据,即该报文信息为读数据请求。主机可以通过有线或者无线的方式发送该报文信息到生产设备端,发送该报文信息的方式具体此处不做限定。
当客户端集成设置在生产设备上时,客户端会在生产设备上生成一个读数据请求,该读数据请求用于读取客户端所需的关联用户数据。
204、在新的元数据中查询获得用户数据的地址信息;
在生成了新的元数据之后,生产设备通过解析客户端发送的读数据请求,获取该读数据请求需要获取的关联用户数据的信息,生产设备获取到该信息之后,在新的元数据中查询该关联用户数据的信息对应的关联用户数据的物理地址信息,该物理地址信息可以包括该关联用户数据的访问地址,也可以包括该关联用户数据的访问标识,该访问标识表示该关联用户数据的存储位置,具体此处不做限定。
当该关联用户数据的物理地址信息指向生产设备本地地址时,则生产设备从本地获取该关联用户数据。当该关联用户数据的物理地址信息指向备份设备地址时,则根据该物理地址信息生成报文信息,该报文信息用于访问备份设备上该关联用户数据。
205、备份设备向生产设备发送用户数据;
当该读数据请求需要读取的关联用户数据在新的元数据中对应的物理地址信息指向备份设备时,生产设备会发送一条报文消息到备份设备,备份设备接收了包括关联用户数据的物理地址信息的报文信息之后,通过解析该报文信息,获取存储在备份设备中的关联用户数据,并向生产设备发送该关联用户数据。
206、在本地存储用户数据;
当该读数据请求需要读取的关联用户数据在新的元数据中对应的物理地址信息指向生产设备本地地址时,则生产设备会根据新的元数据中获得的物理地址信息获取该关联用户数据。
当生产设备获取到该关联用户数据时,生产设备会将该关联用户数据保存在系统的缓存里,需要说明的是,在实际应用过程中,该关联用户数据也可以保存内存中,可以理解的是,该关联用户数据还可以保存在其他生产设备的存储模块里,例如还可以保存在生产设备的硬盘中,具体此处不做限定。
207、生产设备修改用户数据的地址;
当该读数据请求需要读取的关联用户数据在新的元数据中对应的物理地址信息指向备份设备时,且生产设备接收到备份设备发送的关联用户数据并保存在内存或者本地存储模块之后,则生产设备在对应的元数据副本中修改该关联用户数据的地址信息,即将该元数据副本中关联用户数据的地址信息指向生产设备本地地址,该地址信息与关联用户数据在生产设备本地存储的地址对应。
208、生产设备向客户端发送用户数据;
生产设备获取了关联用户数据之后,当客户端是设置在区别于生产设备和备份设备的主机上时,则该生产设备会将该关联用户数据打包生成报文信息,并向该客户端所在的主机发送该报文信息。当客户端是集成设置在生产设备上时,则客户端会读取缓存中的关联用户数据。
本实施例中,步骤201、202和203之间没有先后关系,即可以先执行步骤203再执行步骤201、202,或者先执行步骤201,202再执行步骤203,具体步骤先后关系此处不做限定。
可以理解的是,本实施例中还有一些步骤没有先后关系,例如步骤207和步骤208之间没有先后关系,具体此处不做限定。
需要说明的是,在实际应用过程中,本实施例中步骤202为可选步骤,当不执行步骤202时,则生产设备通过元数据副本从备份设备获取关联用户数据。
本实施例中步骤206和207为可选步骤,当不执行步骤206和207时,当接收到新的读数据请求时,且该读数据请求用于读取关联用户数据,则从备份设备获取该用户数据。
本申请实施例中,当生产备份中的数据出现损坏或者丢失时,生产设备通过备份设备获取元数据副本,当产生数据访问时,生产设备根据元数据副本访问备份设备的关联用户数据,不需要将全量用户数据拷回本地终端,就可以实现数据访问,因此恢复数据访问的时间较短,提升了系统的可操作性。
上面对本申请实施例中的数据恢复方法进行了描述,下面对本申请实施例中的生产设备进行描述,请参阅图3,本申请实施例中生产设备一个实施例包括:
获取单元301,用于生产设备中的文件系统的元数据发生损坏时,从备份设备获取元数据副本,元数据用于记录第一用户数据的地址;
接收单元302,用于接收客户端发送的第一读数据请求,第一读数据请求用于读取第一用户数据,生产设备存储的第一用户数据发生损坏;
查询单元303,用于在元数据副本中查询获得第一用户数据的地址信息,第一用户数据的地址指向备份设备;
获取单元301还用于生产设备从备份设备中获取第一用户数据;
发送单元304,用于向客户端发送第一用户数据。
本实施例中,生产设备各单元所执行的操作与前述图2所示实施例描述的类似,此处不再赘述。
本实施例中,获取单元301获取到元数据副本之后,接收单元302接收了客户端发送的第一读数据请求,获取单元301通过查询单元302查询到的第一用户数据的地址信息从备份设备中获取了第一用户数据,并通过发送单元304向客户端发送了第一用户数据,实现了数据的访问,而不需要将全量用户数据拷回生产设备本地,缩短了恢复数据访问的时间,提升了系统的可操作性。
请参阅图4,本申请实施例中生产设备另一实施例包括:
获取单元401,用于生产设备中的文件系统的元数据发生损坏时,从备份设备获取元数据副本,元数据用于记录用户数据的地址;
接收单元402,用于接收客户端发送的第一读数据请求,第一读数据请求用于读取第一用户数据,生产设备存储的第一用户数据发生损坏;
查询单元404,用于在元数据副本中查询获得第一用户数据的地址信息,第一用户数据的地址指向备份设备;
获取单元401还用于生产设备从备份设备中获取第一用户数据;
发送单元405,用于向客户端发送第一用户数据;
创建单元403,用于根据发生损坏的元数据和元数据副本创建新的元数据,新的元数据至少包括生产设备中存储的未发生损坏的第二用户数据的元数据,以及元数据副本中的第一用户数据的元数据。
接收单元402还用于接收客户端发送的第二读数据请求,第二读数据请求用于读取第二用户数据;
查询单元404还用于在新的元数据中查询获得第二用户数据的地址,第二用户数据的地址指向生产设备;
获取单元401还用于从本地获取第二用户数据,并向客户端发送第二用户数据;
存储单元406,用于在本地存储第一用户数据;
修改单元407,用于修改第一用户数据的地址,修改后的第一用户数据的地址指向生产设备。
本实施例中,生产设备各单元所执行的操作与前述图2所示的实施例描述的类似,此处不再赘述。
本实施例中,存储单元406将获取单元401获取到的第一用户数据存储在生产设备本地,并且修改单元407修改了新的元数据中第一用户数据的地址,让该地址指向生产设备中存储第一用户数据的地址,当再次需要访问第一用户数据时,可以在生产设备本地获取第一用户数据,就不需要再到备份设备上去获取第一用户数据,节省了带宽资源。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现上述任一方法实施例中与生产设备或备份设备相关的方法流程。对应的,该计算机可以为上述生产设备或备份设备。
应理解,本申请以上实施例中的生产设备、备份设备、芯片系统等中提及的处理器,或者本申请上述实施例提供的处理器,可以是中央处理单元(central processingunit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请中以上实施例中的生产设备、备份设备、芯片系统等中的处理器的数量可以是一个,也可以是多个,可以根据实际应用场景调整,此处仅仅是示例性说明,并不作限定。本申请实施例中的存储器的数量可以是一个,也可以是多个,可以根据实际应用场景调整,此处仅仅是示例性说明,并不作限定。
还应理解,本申请实施例中以上实施例中的生产设备、备份设备、芯片系统等中提及的存储器或可读存储介质等,可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasablePROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambusRAM,DR RAM)。
还需要说明的是,当生产设备或备份设备包括处理器(或处理单元)与存储器时,本申请中的处理器可以是与存储器集成在一起的,也可以是处理器与存储器通过接口连接,可以根据实际应用场景调整,并不作限定。
本申请实施例还提供了一种计算机程序或包括计算机程序的一种计算机程序产品,该计算机程序在某一计算机上执行时,将会使所述计算机实现上述任一方法实施例中与生产设备或备份设备的方法流程。对应的,该计算机可以为上述的生产设备或备份设备。
在上述图2-5中各个实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者其他网络设备等)执行本申请图2至图5中各个实施例所述方法的全部或部分步骤。而该存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
本申请各实施例中提供的消息/帧/信息、模块或单元等的名称仅为示例,可以使用其他名称,只要消息/帧/信息、模块或单元等的作用相同即可。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本申请实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,在本申请的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。
取决于语境,如在此所使用的词语“如果”或“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (8)
1.一种数据恢复方法,其特征在于,所述方法应用于存储系统中,所述存储系统包括生产设备和备份设备,所述生产设备中存储有文件系统的元数据以及用户数据,所述备份设备中存储有所述用户数据的用户数据副本和所述元数据的元数据副本,所述方法包括:
所述生产设备中的所述文件系统的所述元数据发生损坏时,从所述备份设备获取所述文件系统的所述元数据副本,所述元数据用于记录所述用户数据的地址;
所述生产设备接收客户端发送的第一读数据请求,所述第一读数据请求用于读取第一用户数据,所述生产设备存储的所述第一用户数据发生损坏;
所述生产设备在所述元数据副本中查询获得所述第一用户数据的地址信息,所述第一用户数据的地址指向所述备份设备;
所述生产设备从所述备份设备中获取所述第一用户数据;
所述生产设备向所述客户端发送所述第一用户数据;
所述备份设备获取所述元数据副本之后,所述生产设备在所述元数据副本中查询获得所述第一用户数据的地址信息之前,所述方法还包括:
所述生产设备根据所述发生损坏的元数据和所述元数据副本创建新的元数据,所述新的元数据至少包括所述生产设备中存储的未发生损坏的第二用户数据的元数据,以及所述元数据副本中的第一用户数据的元数据;
所述生产设备在所述元数据副本中查询获得所述第一用户数据的地址信息包括:
所述生产设备在所述新的元数据中查询获得所述第一用户数据的地址信息。
2.根据权利要求1所述的方法,其特征在于,所述生产设备根据所述发生损坏的元数据和所述元数据副本创建新的元数据之后,所述方法还包括:
所述生产设备接收客户端发送的第二读数据请求,所述第二读数据请求用于读取所述第二用户数据;
所述生产设备在所述新的元数据中查询获得所述第二用户数据的地址信息,所述第二用户数据的地址指向所述生产设备;
所述生产设备从本地获取所述第二用户数据,并向所述客户端发送所述第二用户数据。
3.根据权利要求1或2所述的方法,其特征在于,所述生产设备从所述备份设备中获取所述第一用户数据之后,所述方法还包括:
所述生产设备在本地存储所述第一用户数据;
所述生产设备修改所述第一用户数据的地址,所述修改后的第一用户数据的地址指向所述生产设备。
4.一种存储系统,其特征在于,包括:
至少一个生产设备以及备份设备;
所述生产设备,用于实现如权利要求1-3中任意一项所述的方法;
所述备份设备,用于存储元数据副本和用户数据副本。
5.一种生产设备,其特征在于,包括:
获取单元,用于生产设备中的文件系统的元数据发生损坏时,从备份设备获取所述文件系统的元数据副本,所述元数据用于记录用户数据的地址;
接收单元,用于接收客户端发送的第一读数据请求,所述第一读数据请求用于读取第一用户数据,所述生产设备存储的所述第一用户数据发生损坏;
查询单元,用于在所述元数据副本中查询获得所述第一用户数据的地址信息,所述第一用户数据的地址指向所述备份设备;
获取单元还用于所述生产设备从所述备份设备中获取所述第一用户数据;
发送单元,用于向所述客户端发送所述第一用户数据;
所述生产设备还包括:
创建单元,用于根据所述发生损坏的元数据和所述元数据副本创建新的元数据,所述新的元数据至少包括所述生产设备中存储的未发生损坏的第二用户数据的元数据,以及所述元数据副本中的第一用户数据的元数据。
6.根据权利要求5所述的生产设备,其特征在于,所述生产设备还包括:
接收单元还用于接收客户端发送的第二读数据请求,所述第二读数据请求用于读取所述第二用户数据;
查询单元还用于在所述新的元数据中查询获得所述第二用户数据的地址,所述第二用户数据的地址指向所述生产设备;
获取单元还用于从本地获取所述第二用户数据,并向所述客户端发送所述第二用户数据。
7.根据权利要求5所述的生产设备,其特征在于,所述生产设备还包括:
存储单元,用于在本地存储所述第一用户数据;
修改单元,用于修改所述第一用户数据的地址,所述修改后的第一用户数据的地址指向所述生产设备。
8.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如权利要求1至3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010078310.0A CN113157487B (zh) | 2020-01-23 | 2020-01-23 | 数据恢复方法及其设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010078310.0A CN113157487B (zh) | 2020-01-23 | 2020-01-23 | 数据恢复方法及其设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113157487A CN113157487A (zh) | 2021-07-23 |
CN113157487B true CN113157487B (zh) | 2023-07-18 |
Family
ID=76882090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010078310.0A Active CN113157487B (zh) | 2020-01-23 | 2020-01-23 | 数据恢复方法及其设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157487B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI784750B (zh) * | 2021-10-15 | 2022-11-21 | 啟碁科技股份有限公司 | 終端裝置的資料處理方法及終端裝置的資料處理系統 |
TWI802340B (zh) * | 2022-03-25 | 2023-05-11 | 啟碁科技股份有限公司 | 檔案系統之備份與恢復方法及其通訊裝置 |
CN117370080B (zh) * | 2023-12-04 | 2024-04-09 | 深圳市木浪云科技有限公司 | 用于Hive的数据备份和数据恢复方法、系统、设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976283A (zh) * | 2005-12-01 | 2007-06-06 | 国际商业机器公司 | 合并关于备份存储装置中的文件的元数据的系统和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8229897B2 (en) * | 2006-02-03 | 2012-07-24 | International Business Machines Corporation | Restoring a file to its proper storage tier in an information lifecycle management environment |
US20130066838A1 (en) * | 2011-09-12 | 2013-03-14 | Microsoft Corporation | Efficient data recovery |
US8914334B2 (en) * | 2012-09-12 | 2014-12-16 | International Business Machines Corporation | Using a metadata image of a file system and archive instance to restore data objects in the file system |
US10997030B2 (en) * | 2015-03-31 | 2021-05-04 | EMC IP Holding Company LLC | Disaster recovery as a service |
-
2020
- 2020-01-23 CN CN202010078310.0A patent/CN113157487B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976283A (zh) * | 2005-12-01 | 2007-06-06 | 国际商业机器公司 | 合并关于备份存储装置中的文件的元数据的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113157487A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9792306B1 (en) | Data transfer between dissimilar deduplication systems | |
CN113157487B (zh) | 数据恢复方法及其设备 | |
CN108733507B (zh) | 文件备份和恢复的方法和设备 | |
US10154112B1 (en) | Cloud-to-cloud data migration via cache | |
US10891074B2 (en) | Key-value storage device supporting snapshot function and operating method thereof | |
CN104020961B (zh) | 分布式数据存储方法、装置及系统 | |
US20170083412A1 (en) | System and method for generating backups of a protected system from a recovery system | |
CN110018998B (zh) | 一种文件管理方法、系统及电子设备和存储介质 | |
US9274907B1 (en) | Decommissioning of virtual backup appliances | |
US8572338B1 (en) | Systems and methods for creating space-saving snapshots | |
AU2013403132A1 (en) | Data storage method, data storage apparatus, and storage device | |
US20090164738A1 (en) | Process Based Cache-Write Through For Protected Storage In Embedded Devices | |
CN109302448B (zh) | 一种数据处理方法及装置 | |
US20170153909A1 (en) | Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine | |
CN111240892B (zh) | 数据备份方法及装置 | |
WO2018076633A1 (zh) | 一种远程数据复制方法、存储设备及存储系统 | |
US8595454B1 (en) | System and method for caching mapping information for off-host backups | |
US12099633B2 (en) | Automatically anonymizing data in a distributed storage system | |
US11989159B2 (en) | Hybrid snapshot of a global namespace | |
US11003543B2 (en) | Generic metadata tags with namespace-specific semantics in a storage appliance | |
US9130994B1 (en) | Techniques for avoiding dynamic domain name system (DNS) collisions | |
CN112115521B (zh) | 数据访问方法及装置 | |
US11068299B1 (en) | Managing file system metadata using persistent cache | |
CN117493282A (zh) | 一种基于文件系统的元数据管理方法及其相关设备 | |
US20220407931A1 (en) | Method to provide sla based access to cloud data in backup servers with multi cloud storage |
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 |