CN117573424A - 数据恢复方法、装置、计算机设备和存储介质 - Google Patents

数据恢复方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN117573424A
CN117573424A CN202210942575.XA CN202210942575A CN117573424A CN 117573424 A CN117573424 A CN 117573424A CN 202210942575 A CN202210942575 A CN 202210942575A CN 117573424 A CN117573424 A CN 117573424A
Authority
CN
China
Prior art keywords
storage block
physical
data
block
physical storage
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
CN202210942575.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.)
Guangzhou Tencent Technology Co Ltd
Original Assignee
Guangzhou Tencent 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 Guangzhou Tencent Technology Co Ltd filed Critical Guangzhou Tencent Technology Co Ltd
Priority to CN202210942575.XA priority Critical patent/CN117573424A/zh
Publication of CN117573424A publication Critical patent/CN117573424A/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/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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

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

数据恢复方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据恢复方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术和云存储技术的发展,出现了CDP(Continuous DataProtection,持续数据保护)技术,持续数据保护是一种在不影响主要数据运行的前提下,可以实现持续捕捉目标数据所发生的任何改变,并且能够恢复到此前任意时间点的方法。
传统技术中,为了实现持续数据保护,通常是采用对云盘的数据复制到其他存储空间的方式来对云盘数据进行备份,以实现持续数据保护。
然而,对云盘的数据进行复制需要频繁的读取云盘的数据,数据恢复的效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据恢复效率的数据恢复方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
一方面,本申请提供了一种数据恢复方法。所述方法包括:接收针对云存储空间的数据恢复请求,所述数据恢复请求用于请求将所述云存储空间记录的数据恢复至在恢复时间点时所记录的数据;所述云存储空间包括对应有至少一个物理存储块的目标逻辑存储块,所述至少一个物理存储块中存储的数据,是在不同的时间点写入所述目标逻辑存储块中的数据;从所述目标逻辑存储块对应的物理存储块中,查找所述目标逻辑存储块对应的待恢复物理存储块;所述目标逻辑存储块对应的待恢复物理存储块,为所述目标逻辑存储块在所述恢复时间点记录的数据所存储于的物理存储块;利用查找到的待恢复物理存储块对所述目标逻辑存储块进行数据恢复,以对所述云存储空间进行数据恢复。
另一方面,本申请还提供了一种数据恢复装置。所述装置包括:请求接收模块,用于接收针对云存储空间的数据恢复请求,所述数据恢复请求用于请求将所述云存储空间记录的数据恢复至在恢复时间点时所记录的数据;所述云存储空间包括对应有至少一个物理存储块的目标逻辑存储块,所述至少一个物理存储块中存储的数据,是在不同的时间点写入所述目标逻辑存储块中的数据;存储块查找模块,用于从所述目标逻辑存储块对应的物理存储块中,查找所述目标逻辑存储块对应的待恢复物理存储块;所述目标逻辑存储块对应的待恢复物理存储块,为所述目标逻辑存储块在所述恢复时间点记录的数据所存储于的物理存储块;数据恢复模块,用于利用查找到的待恢复物理存储块对所述目标逻辑存储块进行数据恢复,以对所述云存储空间进行数据恢复。
在一些实施例中,所述存储块查找模块,还用于按照写入时间点从后到前的顺序,从所述目标逻辑存储块对应的物理存储块中确定对比物理存储块;所述写入时间点是指向物理存储块中写入所存储的数据的时间点;确定所述对比物理存储块存储的数据的写入时间点所处的时间窗口,得到所述对比物理存储块的物理时间窗口;在所述对比物理存储块的物理时间窗口满足时间窗口要求的情况下,将所述对比物理存储块确定为查找到的所述目标逻辑存储块对应的待恢复物理存储块;所述时间窗口要求包括物理时间窗口与所述恢复时间点所处的时间窗口一致、物理时间窗口在所述恢复时间点所处的时间窗口之前中的至少一种。
在一些实施例中,所述存储块查找模块,还用于在所述对比物理存储块的物理时间窗口不满足时间窗口要求的情况下,返回所述按照写入时间点从后到前的顺序,从所述目标逻辑存储块对应的物理存储块中确定对比物理存储块的步骤,直到遍历完所述目标逻辑存储块对应的物理存储块为止;在遍历完所述目标逻辑存储块对应的物理存储块、且对比物理存储块的物理时间窗口不满足时间窗口要求的情况下,确定未查找到所述目标逻辑存储块对应的待恢复物理存储块。
在一些实施例中,所述存储块查找模块,还用于在所述目标逻辑存储块对应的物理存储块为至少两个的情况下,按照写入时间点从后到前的顺序,从所述目标逻辑存储块对应的物理存储块中确定对比物理存储块;在所述目标逻辑存储块对应的物理存储块为一个的情况下,将所述目标逻辑存储块对应的物理存储块的物理时间窗口与所述恢复时间窗口进行对比;所述恢复时间窗口是指所述恢复时间点所处的时间窗口;在所述目标逻辑存储块对应的物理存储块的物理时间窗口小于或等于所述恢复时间窗口的情况下,将所述目标逻辑存储块对应的物理存储块,确定为所述目标逻辑存储块对应的待恢复物理存储块。
在一些实施例中,所述请求接收模块,还用于接收向所述云存储空间的第一逻辑存储块写入目标数据的数据写入请求;所述装置还包括:数据存储模块,用于在所述第一逻辑存储块不存在对应的物理存储块的情况下,查找空闲物理存储块;将查找到的空闲物理存储块确定为与所述第一逻辑存储块对应的物理存储块,并将所述目标数据存储至所述空闲物理存储块中。
在一些实施例中,所述数据存储模块,还用于在所述第一逻辑存储块存在对应的物理存储块的情况下,从所述第一逻辑存储块对应的各物理存储块的写入时间点中,确定与当前时间点最近的写入时间点,得到最近写入时间点;确定当前时间点所处的时间窗口,得到当前时间窗口,确定所述最近写入时间点所处的时间窗口,得到最近时间窗口;在所述当前时间窗口与所述最近时间窗口一致的情况下,利用所述目标数据覆盖所述最近写入时间点对应的物理存储块中的数据。
在一些实施例中,所述数据存储模块,还用于在确定所述当前时间窗口在所述最近时间窗口之后的情况下,查找空闲物理存储块;将查找到的空闲物理存储块确定为与所述第一逻辑存储块对应的物理存储块,并将所述目标数据存储至所述空闲物理存储块中。
在一些实施例中,所述装置还包括:删除模块,用于获取存储时长阈值;从所述目标逻辑存储块对应的物理存储块中,查找数据存储时长大于所述存储时长阈值的物理存储块,得到所述目标逻辑存储块对应的冗余存储块;删除所述目标逻辑存储块对应的冗余存储块。
在一些实施例中,所述删除模块,还用于从所述目标逻辑存储块对应的物理存储块中,查找数据存储时长大于所述存储时长阈值的物理存储块;在确定所述目标逻辑存储块对应的物理存储块的数据存储时长均大于所述存储时长阈值的情况下,从所述目标逻辑存储块对应的物理存储块中确定数据存储时长最短的物理存储块,得到保留存储块;将所述目标逻辑存储块对应的物理存储块中所述保留存储块之外的物理存储块,确定为所述目标逻辑存储块对应的冗余存储块。
在一些实施例中,所述删除模块,还用于在所述目标逻辑存储块对应的物理存储块为至少两个的情况下,从所述目标逻辑存储块对应的物理存储块中,查找数据存储时长大于所述存储时长阈值的物理存储块,得到所述目标逻辑存储块对应的冗余存储块;在所述目标逻辑存储块对应的物理存储块为一个的情况下,确定所述目标逻辑存储块不存在冗余存储块。
在一些实施例中,所述数据恢复模块,还用于将空闲物理存储块确定为所述目标逻辑存储块的新物理存储块;将查找到的所述待恢复物理存储块中的数据,写入到所述目标逻辑存储块的新物理存储块中,并将当前时间点确定为所述新物理存储块的写入时间点,以使得所述目标逻辑存储块中记录的数据恢复为所述新物理存储块中存储的数据。
另一方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述数据恢复方法中的步骤。
另一方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据恢复方法中的步骤。
另一方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据恢复方法中的步骤。
上述数据恢复方法、装置、计算机设备、存储介质和计算机程序产品,接收针对云存储空间的数据恢复请求,数据恢复请求用于请求将云存储空间记录的数据恢复至在恢复时间点时所记录的数据,云存储空间包括对应有至少一个物理存储块的目标逻辑存储块,至少一个物理存储块中存储的数据,是在不同的时间点写入对应的目标逻辑存储块中的数据,从目标逻辑存储块对应的物理存储块中,查找目标逻辑存储块对应的待恢复物理存储块,目标逻辑存储块对应的待恢复物理存储块,为目标逻辑存储块在恢复时间点记录的数据所存储于的物理存储块,利用查找到的待恢复物理存储块对目标逻辑存储块进行数据恢复,以对云存储空间进行数据恢复。由于,该至少一个物理存储块中各物理存储块存储的数据,是在不同的时间窗口写入至对应的目标逻辑存储块中的,故实现了利用不同的物理存储块对不同时间窗口向逻辑存储块中写入的数据进行存储,从而在需要数据恢复时,可以利用物理存储块存储的数据快速的完成数据恢复,提高了数据恢复的效率。
附图说明
图1为一些实施例中数据恢复方法的应用环境图;
图2为一些实施例中数据恢复方法的流程示意图;
图3为一些实施例中物理存储块与逻辑存储块之间的关系示意图;
图4为一些实施例中数据恢复的原理图;
图5为一些实施例中数据存储的原理图;
图6为一些实施例中数据清理的原理图;
图7为一些实施例中数据恢复方法的流程示意图;
图8为一些实施例中数据恢复装置的结构框图;
图9为一些实施例中计算机设备的内部结构图;
图10为一些实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据恢复方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。终端102为可以访问云存储空间的终端,云存储空间是一种互联网存储工具,云存储空间通过互联网提供信息的存储、读取以及下载等服务,云存储空间例如可以是云盘。服务器104可以是提供云存储服务的服务器,向云存储空间中写入的数据实际上可以是存储在服务器104中的。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
具体地,服务器104响应于终端102发送的针对云存储空间的数据恢复请求,对于云存储空间中的目标逻辑存储块,从目标逻辑存储块对应的物理存储块中,查找目标逻辑存储块对应的待恢复物理存储块,利用查找到的待恢复物理存储块对目标逻辑存储块进行数据恢复,以对云存储空间进行数据恢复。其中,数据恢复请求用于请求将云存储空间记录的数据恢复至在恢复时间点时所记录的数据,云存储空间包括多个目标逻辑存储块,目标逻辑存储块是对应有至少一个物理存储块的逻辑存储块,至少一个物理存储块中存储的数据,是在不同的时间点写入对应的目标逻辑存储块中的数据,目标逻辑存储块对应的待恢复物理存储块,为目标逻辑存储块在恢复时间点记录的数据所存储于的物理存储块。
其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一些实施例中,如图2所示,提供了一种数据恢复方法,该方法可以由终端或服务器执行,还可以由终端和服务器共同执行,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤202,接收针对云存储空间的数据恢复请求,数据恢复请求用于请求将云存储空间记录的数据恢复至在恢复时间点时所记录的数据;云存储空间包括对应有至少一个物理存储块的目标逻辑存储块,至少一个物理存储块中存储的数据,是在不同的时间点写入目标逻辑存储块中的数据。
其中,云存储空间是一种互联网存储工具,云存储空间通过互联网提供信息的存储、读取以及下载等服务,例如云存储空间可以是云盘。云存储空间包括多个逻辑存储块,多个是指至少两个,云存储空间相当于多个逻辑存储块组成的存储空间,故云存储空间还可以称为逻辑卷LV(Logical Volume)或逻辑块设备。存储块(block)是指一块存储空间,存储块的大小可以根据需要设置,例如可以设置为4KB、64KB或1MB等,其中,KB是Kilobyte的缩写,代表千字节,MB是Mbyte的缩写,代表兆字节。逻辑存储块中存储的数据真正上是保存在物理存储块中的。逻辑存储块并非真实存储数据的存储块。物理存储块是实体存储空间中的存储块,实体存储空间包括但不限于是硬盘或磁盘等真实存储数据的盘。物理存储块的大小可以根据需要设置,可以与逻辑存储块的大小相同也可以不同。物理存储块可以是提供云存储服务的服务器中的物理存储设备中的存储块,物理存储设备包括但不限于是硬盘或磁盘。
目标逻辑存储块是云存储空间中对应有至少一个物理存储块的逻辑存储块。云存储空间中可以包括至少一个的目标逻辑存储块。目标逻辑存储块对应的物理存储块中存储的数据是向目标逻辑存储块中写入的数据。目标逻辑存储块对应的各物理存储块中存储的数据,是在不同的时间点写入目标逻辑存储块中的数据,目标逻辑存储块对应的各物理存储块中存储的数据,也是在不同的时间窗口写入目标逻辑存储块中的数据,例如,目标逻辑存储块有2个物理存储块,分别为物理存储块1和物理存储块2,物理存储块1中存储的数据是在时间点t1向目标逻辑存储块中写入的数据,物理存储块2中存储的数据是在时间点t2向目标逻辑存储块中写入的数据,t1所属的时间窗口与t2所属的时间窗口不同。时间窗口是一段时间,时间窗口的时长可以根据需要设置,时间窗口的时长可以是毫秒级、秒级、分钟级或小时级的,例如可以为100秒,这里不做限定。数据恢复请求用于请求将云存储空间记录的数据恢复至在恢复时间点时所记录的数据。恢复时间点可以是用户根据需要设置的。
具体地,终端可以通过网页或客户端访问云存储空间,例如通过网页或客户端访问云盘,访问云存储空间的网格或客户端可以提供数据恢复页面,数据恢复页面可以提供对云存储空间进行数据恢复的功能,例如数据恢复页面可以包括提供设置恢复时间点的功能,终端响应于在数据恢复页面触发的数据恢复操作,获取设置的恢复时间点,向服务器发送针对云存储空间的数据恢复请求,数据恢复请求中可以携带该恢复时间点。
在一些实施例中,服务器可以响应于数据恢复请求,从数据恢复请求中提取恢复时间点,将云存储空间记录的数据恢复至在恢复时间点时所记录的数据,从而在访问云存储空间时,显示的数据为在恢复时间点时所记录的数据,实现了数据恢复。
在一些实施例中,服务器可以记录目标逻辑存储块对应的各物理存储块在物理硬盘的位置,物理存储块的位置例如可以采用物理存储块的物理地址标识,例如可以采用数组或列表存储各物理存储块的位置,还可以采用元数据存储各物理存储块的位置。例如,一个目标逻辑存储块的各物理存储块的位置可以表示为:“Lvname_block0—>lvname_block1—>lvname_blockN…”,其中,Lvname代表目标逻辑存储块的标识,blockN代表第N个物理存储块,Lvname_blockN代表第N个物理存储块在物理硬盘的位置。存储的各物理存储块的位置可以按照写入时间点依次排列的。
在一些实施例中,逻辑存储块可以称为逻辑块,物理存储块可以称为物理块。服务器可以记录目标逻辑存储块对应的各物理存储块分别对应的写入时间点,例如可以采用元数据记录逻辑存储块对应的各物理存储块分别对应的写入时间点。如图3所示,云盘同一个逻辑块被修改过多次,通过分配多个物理块存储不同数据,并且记录对应IO(inputoutput,写入读出)时间,即记录写入或者修改时间,例如,Block N_time_4代表第N个逻辑块的第4个物理存储块的写入时间点。
步骤204,从目标逻辑存储块对应的物理存储块中,查找目标逻辑存储块对应的待恢复物理存储块;目标逻辑存储块对应的待恢复物理存储块,为目标逻辑存储块在恢复时间点记录的数据所存储于的物理存储块。
其中,逻辑存储块对应的物理存储块具有写入时间点,写入时间点是指向物理存储块中写入数据的时间点,在同一时间窗口写入到同一逻辑存储块中的数据,会被存储到同一个物理存储块中,并且在后写入的数据会覆盖在前写入的数据。例如,时间窗口1中的t3时刻向逻辑存储块1中写入数据1,并将数据1存储到物理存储块1中,则将物理存储块的写入时间点更新为t4,在时间窗口1中的t4时刻向逻辑存储块1中写入数据2,则利用数据2覆盖物理存储块1中的数据1,并将物理存储块的写入时间点更新为t4。在不同时间窗口写入到同一逻辑存储块中的数据,会被存储到不同的物理存储块中,在逻辑存储块对应有多个物理存储块的情况下,在通过页面访问云存储空间时,例如访问云盘时,该多个物理存储块中存储的数据并不会全部显示,而是将该多个物理存储块中的写入时间点最靠后的物理存储块中存储的数据进行显示,即将该多个物理存储块中的写入时间点与当前时间最近的物理存储块中存储的数据进行显示。显示的数据可以称为逻辑存储块记录的数据,对于一个时间点,若在该时间点逻辑存储块对应的物理存储块1中的数据在访问云存储空间时显示即可以被看到,则将物理存储块1称为该逻辑存储块在该时间点记录的数据所存储于的物理存储块。
除了可以向逻辑存储块中写入数据,还是删除逻辑存储块中写入的数据,删除操作可以理解为一种特殊的写入操作,删除操作所写入的数据的存储方式与上述的存储方式一致,即在同一时间窗口向同一逻辑存储块写入的数据,采用同一个物理存储块进行存储,且在后存储的数据覆盖在前存储的数据,在不同的时间窗口向同一逻辑存储块写入的数据,采用不同的物理存储块进行存储。例如,时间窗口1中的t1时刻向逻辑存储块1中写入数据1,并将数据1存储到物理存储块1中,在时间窗口1中的t2时刻对逻辑存储块1执行了删除的操作,则向物理存储块1中写入新的数据,该新的数据代表数据被删除了,删除后,若在当前时间访问云存储空间,而物理存储块1是逻辑存储块1的各物理存储块中写入时间点与当前时间最近的物理存储块,则逻辑存储块1的显示效果是无数据显示。可以将存储删除操作所写入的数据的物理存储块称为删除物理存储块。对于一个时间点,若逻辑存储块的各物理存储块中,写入时间点与该时间点最近的物理存储块为删除物理存储块,则该删除物理存储块也可以称为该逻辑存储块在该时间点记录的数据所存储于的物理存储块。目标逻辑存储块对应的待恢复物理存储块,为目标逻辑存储块在恢复时间点记录的数据所存储于的物理存储块。
具体地,服务器可以响应于数据恢复请求,从数据恢复请求中提取恢复时间点,从云存储空间的逻辑存储块中确定目标逻辑存储块,对于每个目标逻辑存储块,从目标逻辑存储块对应的物理存储块中,查找目标逻辑存储块在恢复时间点记录的数据所存储于的物理存储块,得到目标逻辑存储块对应的待恢复物理存储块。
在一些实施例中,在目标逻辑存储块对应的物理存储块为至少两个的情况下,服务器可以按照写入时间点从后到前的顺序,从目标逻辑存储块对应的物理存储块中确定待恢复物理存储块。其中,写入时间点与当前时间点之间的时间间隔越大,则写入时间点越靠前,写入时间点与当前时间点之间的时间间隔越小,则写入时间点越靠后,例如,当前时间点为3点钟,将1点钟与2点钟相比,1点钟靠前,2点钟靠后。靠后的时间点也可以理解为较新的时间点,靠前的时间点也可以理解为较旧的时间点。
步骤206,利用查找到的待恢复物理存储块对目标逻辑存储块进行数据恢复,以对云存储空间进行数据恢复。
其中,目标逻辑存储块可能存在待恢复物理存储块,也可能不存在待恢复物理存储块。目标逻辑存储块的待恢复物理存储块最多为一个。
具体地,在查找到目标逻辑存储块的待恢复物理存储块的情况下,服务器可以将空闲物理存储块确定为目标逻辑存储块的新物理存储块,将查找到的待恢复物理存储块中的数据,写入到目标逻辑存储块的新物理存储块中,并将当前时间点确定为新物理存储块的写入时间点,以使得目标逻辑存储块中记录的数据恢复为新物理存储块中存储的数据。
在一些实施例中,服务器中包括持续数据保护服务,持续数据保护(ContinuousData Protection,CDP)是一种在不影响主要数据运行的前提下,可以实现持续捕捉目标数据所发生的任何改变,并且能够恢复到此前任意时间点的方法。CDP系统能够提供块级、文件级和应用级的备份,以及恢复目标的无限的任意可变的恢复点。本申请提供的数据恢复方法可以是由服务器中的持续数据保护服务实现的。由于物理存储块中存储的是不同时间窗口写入的数据,故时间窗口的时长也可以称为备份和恢复的最小时间单位,即时间窗口的时长为CDP数据备份和恢复数据的时间粒度。时间窗口的时长越小,则粒度越细,从而CDP恢复某个时刻的数据越精确,时间窗口的时长越大,则粒度越粗,从而CDP恢复某个时刻的数据的精确度降低。时间窗口的时长越大,为了实现CDP数据备份和恢复数据所占用的物理存储块的数量越少,从而占用的存储空间较少,时间窗口的时长时小,为了实现CDP数据备份和恢复数据所占用的物理存储块的数量越多,从而占用的存储空间较多。需要说明的是,CDP只是一种抽象的概念,并非一个具体的实现方法,实现CDP的方法可以各不相同,而本申请提出的数据恢复方法是一种全新的实现CDP的方法。
上述数据恢复方法中,接收针对云存储空间的数据恢复请求,数据恢复请求用于请求将云存储空间记录的数据恢复至在恢复时间点时所记录的数据,云存储空间包括对应有至少一个物理存储块的目标逻辑存储块,至少一个物理存储块中存储的数据,是在不同的时间点写入对应的目标逻辑存储块中的数据,从目标逻辑存储块对应的物理存储块中,查找目标逻辑存储块对应的待恢复物理存储块,目标逻辑存储块对应的待恢复物理存储块,为目标逻辑存储块在恢复时间点记录的数据所存储于的物理存储块,利用查找到的待恢复物理存储块对目标逻辑存储块进行数据恢复,以对云存储空间进行数据恢复。由于,该至少一个物理存储块中各物理存储块存储的数据,是在不同的时间窗口写入至对应的目标逻辑存储块中的,故实现了利用不同的物理存储块对不同时间窗口向逻辑存储块中写入的数据进行存储,从而在需要数据恢复时,可以利用物理存储块存储的数据快速的完成数据恢复,提高了数据恢复的效率。并且由于本申请提供的数据恢复方法,可以减少数据恢复过程中对云盘中的数据的复制频率和次数,从而减少数据恢复过程中对云盘性能带来的不良影响。实现云盘持续数据保护同时不影响云盘性能。
在一些实施例中,从目标逻辑存储块对应的物理存储块中,查找目标逻辑存储块对应的待恢复物理存储块包括:按照写入时间点从后到前的顺序,从目标逻辑存储块对应的物理存储块中确定对比物理存储块;写入时间点是指向物理存储块中写入所存储的数据的时间点;确定对比物理存储块存储的数据的写入时间点所处的时间窗口,得到对比物理存储块的物理时间窗口;在对比物理存储块的物理时间窗口满足时间窗口要求的情况下,将对比物理存储块确定为查找到的目标逻辑存储块对应的待恢复物理存储块。
其中,对比物理存储块,是按照写入时间点从后到前的顺序,从目标逻辑存储块对应的各物理存储块中确定的。物理时间窗口是指物理存储块对应的写入时间点所处的时间窗口。时间窗口要求包括物理时间窗口与恢复时间点所处的时间窗口一致、物理时间窗口为恢复时间点的各前向时间窗口中与恢复时间点最近的时间窗口中的至少一种。前向时间窗口是指在恢复时间点之前的时间窗口,例如,时间窗口为t1至t2的时间段,而恢复时间点在t2之后,则t1至t2的时间窗口为恢复时间点的前向时间窗口。
具体地,服务器可以计算写入时间点与参考时间点之间的时间间隔,将计算出的时间间隔与时间窗口的时长进行比值计算,将比值中的整数部分确定为该写入时间点所处的时间窗口,即将计算出的时间间隔与时间窗口的时长进行取整计算,将取整计算的结果确定为该写入时间点所处的时间窗口。其中,参考时间点可以是根据需要设置的时间,并且使在写入时间点之前的时间点,例如,参考时间点可以是云存储空间创建时的时间。例如,写入时间点所处的时间窗口=(写入时间点-参考时间点)/时间窗口的时长,其中“/”代表取整。
在一些实施例中,在目标逻辑存储块对应的物理存储块为至少两个的情况下,服务器按照写入时间点从后到前的顺序,从目标逻辑存储块对应的物理存储块中确定对比物理存储块,服务器可以按照写入时间点从后到前的顺序对目标逻辑存储块的各物理存储块的标识进行排列,得到标识序列,写入时间点越靠后,则对应的标识在标识序列中的位置越靠前,服务器可以从标识序列中确定排列在首位的标识,将排列在首位的标识的物理存储块确定为对比物理存储块,在对比物理存储块的物理时间窗口满足时间窗口要求的情况下,将对比物理存储块确定为查找到的目标逻辑存储块对应的待恢复物理存储块;时间窗口要求包括物理时间窗口与恢复时间点所处的时间窗口一致、物理时间窗口在恢复时间点所处的时间窗口之前中的至少一种。
在一些实施例中,时间窗口要求包括物理时间窗口与恢复时间窗口一致、物理时间窗口为恢复时间点的各前向时间窗口中与恢复时间点最近的时间窗口中的至少一种。恢复时间窗口为恢复时间点所处的时间窗口。服务器可以将对比物理存储块的物理时间窗口与恢复时间窗口相比,在物理时间窗口与恢复时间窗口一致的情况下,将对比物理存储块确定为查找到的目标逻辑存储块对应的待恢复物理存储块,在物理时间窗口位于恢复时间窗口之前的情况下,将对比物理存储块确定为查找到的目标逻辑存储块对应的待恢复物理存储块。其中,“物理时间窗口位于恢复时间窗口之前”与“物理时间窗口为恢复时间点的各前向时间窗口中与恢复时间点最近的时间窗口”是等同的,这是因为是按照写入时间点从后到前的顺序选取的对比物理存储块,从而,先确定出的对比物理存储块的写入时间点所处的时间窗口在后确定出的对比物理存储块的写入时间点所处的时间窗口之后。
本实施例中,由于时间窗口要求为物理时间窗口与恢复时间点所处的时间窗口一致、物理时间窗口在恢复时间点所处的时间窗口之前中的任意一种,故在对比物理存储块的物理时间窗口满足时间窗口要求的情况下,将对比物理存储块确定为查找到的目标逻辑存储块对应的待恢复物理存储块,使得待恢复物理存储块为在恢复时间点该目标逻辑存储块记录的数据所存储于的物理存储块,提高了查找的待恢复物理存储块的准确度。
在一些实施例中,该方法还包括:在对比物理存储块的物理时间窗口不满足时间窗口要求的情况下,返回按照写入时间点从后到前的顺序,从目标逻辑存储块对应的物理存储块中确定对比物理存储块的步骤,直到遍历完目标逻辑存储块对应的物理存储块为止;在遍历完目标逻辑存储块对应的物理存储块、且对比物理存储块的物理时间窗口不满足时间窗口要求的情况下,确定未查找到目标逻辑存储块对应的待恢复物理存储块。
具体地,在目标逻辑存储块对应的物理存储块为至少两个的情况下,服务器可以按照写入时间点从后到前的顺序对目标逻辑存储块的各物理存储块的标识进行排列,得到标识序列,写入时间点越靠后,则对应的标识在标识序列中的位置越靠前,服务器可以从标识序列中确定排列在首位的标识,将排列在首位的标识的物理存储块确定为对比物理存储块,在对比物理存储块的物理时间窗口不满足时间窗口要求的情况下,例如,在对比物理存储块的物理时间窗口处于恢复时间窗口之后的情况下,即物理时间窗口比恢复时间窗口晚的情况下,从标识序列中查找第二位的标识,将第二位的标识所代表的物理存储块确定为对比物理存储块,不断循环,若在遍历完标识序列,即遍历完目标逻辑存储块对应的各物理存储块的情况下,还未找到满足时间窗口要求的物理存储块,则确定各物理存储块的物理时间窗口均在恢复时间窗口之后,即各物理存储块的物理时间窗口均比恢复时间窗口晚,从而确定目标逻辑存储块并不需要进行数据恢复。
本实施例中,在遍历完目标逻辑存储块对应的物理存储块、且对比物理存储块的物理时间窗口不满足时间窗口要求的情况下,确定未查找到目标逻辑存储块对应的待恢复物理存储块,从而准确的判断了逻辑存储块是否需要进行数据恢复。
在一些实施例中,按照写入时间点从后到前的顺序,从目标逻辑存储块对应的物理存储块中确定对比物理存储块包括:在目标逻辑存储块对应的物理存储块为至少两个的情况下,按照写入时间点从后到前的顺序,从目标逻辑存储块对应的物理存储块中确定对比物理存储块;该方法还包括:在目标逻辑存储块对应的物理存储块为一个的情况下,将目标逻辑存储块对应的物理存储块的物理时间窗口与恢复时间窗口进行对比;恢复时间窗口是指恢复时间点所处的时间窗口;在目标逻辑存储块对应的物理存储块的物理时间窗口小于或等于恢复时间窗口的情况下,将目标逻辑存储块对应的物理存储块,确定为目标逻辑存储块对应的待恢复物理存储块。
具体地,在目标逻辑存储块对应的物理存储块为一个的情况下,服务器可以将目标逻辑存储块对应的物理存储块的物理时间窗口与恢复时间窗口进行对比,在目标逻辑存储块对应的物理存储块的物理时间窗口小于或等于恢复时间窗口的情况下,即在物理时间窗口与恢复时间窗口一致或物理时间窗口比恢复时间窗口早的情况下,将目标逻辑存储块对应的物理存储块,确定为目标逻辑存储块对应的待恢复物理存储块。如图4所示,展示了在物理存储块为一个的情况下以及物理存储块多余一个的情况下,查找待恢复物理存储块的过程,图4中的数据块是指物理存储块。
本实施例中,通过目标逻辑存储块对应的物理存储块的数量,区分了两种查找待恢复物理存储块的方法,提高了查找效率。
在一些实施例中,在接收针对云存储空间的数据恢复请求的步骤之前,方法还包括:接收向云存储空间的第一逻辑存储块写入目标数据的数据写入请求;在第一逻辑存储块不存在对应的物理存储块的情况下,查找空闲物理存储块;将查找到的空闲物理存储块确定为与第一逻辑存储块对应的物理存储块,并将目标数据存储至空闲物理存储块中。
其中,第一逻辑存储块可以是云存储空间中的任意的逻辑存储块。目标数据为待写入的数据。第一逻辑存储块可以是终端确定的,数据写入请求中可以携带第一逻辑存储块的标识和目标数据。第一逻辑存储块也可以是服务器确定的。数据写入请求可以是通过访问云存储空间的网页或客户端触发的。
具体地,终端可以展示云存储空间对应的可视化页面,响应于通过该可视化页面向云存储空间写入数据的操作,获取待写入的目标数据,向服务器发送携带该目标数据的数据写入请求。
在一些实施例中,服务器接收到数据写入请求后,在数据写入请求中存在逻辑存储块标识的情况下,确定逻辑存储块标识所代表的逻辑存储块,得到第一逻辑存储块,在数据写入请求中不存在逻辑存储块标识的情况下,服务器可以自动确定第一逻辑存储块。
在一些实施例中,服务器判断第一逻辑存储块是否存在对应的物理存储块,若不存在,则为第一逻辑存储块分配空闲物理存储块,并将目标数据存储至分配给第一逻辑存储块的空闲物理存储块中,并且可以记录下写入目标数据的时间点,得到分配的空闲物理存储块的写入时间点。
本实施例中,在第一逻辑存储块不存在对应的物理存储块的情况下,为第一逻辑存储块分配空闲物理存储块,从而可以将待写入的目标数据顺利存储。
在一些实施例中,该方法还包括:在第一逻辑存储块存在对应的物理存储块的情况下,从第一逻辑存储块对应的各物理存储块的写入时间点中,确定与当前时间点最近的写入时间点,得到最近写入时间点;确定当前时间点所处的时间窗口,得到当前时间窗口,确定最近写入时间点所处的时间窗口,得到最近时间窗口;在当前时间窗口与最近时间窗口一致的情况下,利用目标数据覆盖最近写入时间点对应的物理存储块中的数据。
其中,最近写入时间点是指第一逻辑存储块对应的各物理存储块的写入时间点中,与当前时间点最近的写入时间点。当前时间窗口为当前时间点所处的时间窗口。最近时间窗口为最近写入时间点所处的时间窗口。
具体地,在第一逻辑存储块存在对应的物理存储块的情况下,服务器可以从第一逻辑存储块对应的各物理存储块的写入时间点中,确定与当前时间点最近的写入时间点,得到最近写入时间点,确定当前时间点所处的时间窗口,得到当前时间窗口,确定最近写入时间点所处的时间窗口,得到最近时间窗口,在当前时间窗口与最近时间窗口一致的情况下,利用目标数据覆盖最近写入时间点对应的物理存储块中的数据,并且可以将最近写入时间点对应的物理存储块的写入时间点更新为写入目标数据的时间点。
本实施例中,由于在当前时间窗口与最近时间窗口一致的情况下,说明新修改的数据的时间点跟上次修改时间点在同一个粒度时间段,即两次修改的时间比较近,从而利用目标数据覆盖最近写入时间点对应的物理存储块中的数据,可以在频繁修改数据的情况下,采用覆盖的形式将数据存储在同一个物理存储块中,从而减少对物理存储块的占用,节省了存储资源的占用。
在一些实施例中,该方法还包括:在确定当前时间窗口在最近时间窗口之后的情况下,查找空闲物理存储块;将查找到的空闲物理存储块确定为与第一逻辑存储块对应的物理存储块,并将目标数据存储至空闲物理存储块中。
具体地,服务器在确定当前时间窗口在最近时间窗口之后的情况下,即确定当前时间窗口比最近时间窗口晚的情况下,可以为第一逻辑存储块分配空闲物理存储块,并将目标数据存储至该空闲物理存储块中,并且可以将写入目标数据的时间点记录为该空闲物理存储块的写入时间点。如图5所示,展示了当前时间窗口比最近时间窗口晚、当前时间窗口与最近时间窗口为同一时间窗口情况下存储数据的过程。
本实施例中,在当前时间窗口比最近时间窗口晚的情况下,说明新修改的数据的时间点跟上次修改时间点不在同一个粒度时间段,即两次修改的时间比较远,从而为第一逻辑存储块分配空闲物理存储块,并将目标数据存储至该空闲物理存储块中,可以为新写入的数据分配新的物理存储块,以便于进行数据恢复。
在一些实施例中,该方法还包括:获取存储时长阈值;从目标逻辑存储块对应的物理存储块中,查找数据存储时长大于存储时长阈值的物理存储块,得到目标逻辑存储块对应的冗余存储块;删除目标逻辑存储块对应的冗余存储块。
其中,存储时长阈值可以根据需要设置,例如可以是1个月、6个月或1年等,若物理存储块中的数据的存储时长超过了存储时长阈值,则可以将物理存储块中的数据删除,例如可以将物理存储块设置为空闲物理存储块,以便于该空闲物理存储块被再次利用,提高对存储资源的利用率。数据存储时长是指物理存储块中的数据的存储时长。
具体地,服务器可以利用存储时长阈值筛选出逻辑存储块的冗余存储块,冗余存储块属于物理存储块。以目标逻辑存储块为例,服务器可以从目标逻辑存储块的各物理存储块中,确定数据存储时长大于存储时长阈值的物理存储块,得到各候选物理存储块,从候选物理存储块中确定目标逻辑存储块的冗余存储块。
在一些实施例中,在确定目标逻辑存储块的各物理存储块中存在处各候选物理存储块之外的物理存储块的情况下,即在确定目标逻辑存储块对应的物理存储块中,存在数据存储时长小于存储时长阈值的情况下,将各候选物理存储块确定为目标逻辑存储块的各冗余存储块。
在一些实施例中,对于一个逻辑存储块,在该逻辑存储块仅对应有一个物理存储块的情况下,确定目标逻辑存储块不存在冗余存储块。
本实施例中,根据存储时长阈值查找冗余存储块,从而对冗余存储块中的数据进行删除,以使得冗余存储块更新为空闲的物理存储块,以释放存储资源,提高了存储资源的利用率。
在一些实施例中,从目标逻辑存储块对应的物理存储块中,查找数据存储时长大于存储时长阈值的物理存储块,得到目标逻辑存储块对应的冗余存储块包括:从目标逻辑存储块对应的物理存储块中,查找数据存储时长大于存储时长阈值的物理存储块;在确定目标逻辑存储块对应的物理存储块的数据存储时长均大于存储时长阈值的情况下,从目标逻辑存储块对应的物理存储块中确定数据存储时长最短的物理存储块,得到保留存储块;将目标逻辑存储块对应的物理存储块中保留存储块之外的物理存储块,确定为目标逻辑存储块对应的冗余存储块。
其中,保留存储块为需要数据需要保留下来的物理存储块,即不需要进行数据清除的物理存储块。
具体地,在确定目标逻辑存储块对应的各物理存储块的数据存储时长均大于存储时长阈值的情况下,服务器可以从目标逻辑存储块对应的物理存储块中确定数据存储时长最短的物理存储块,将最短的数据存储时长对应的物理存储块确定为保留存储块,将目标逻辑存储块对应的各物理存储块中保留存储块之外的物理存储块,确定为目标逻辑存储块对应的冗余存储块
本实施例中,在确定目标逻辑存储块对应的物理存储块的数据存储时长均大于存储时长阈值的情况下,从目标逻辑存储块对应的物理存储块中确定数据存储时长最短的物理存储块,得到保留存储块,从而在目标逻辑存储块长时间未更新数据的情况下,将最后一次更新的数据保留下来,从而避免将逻辑存储块中长时间存储而用户需要的数据删除,减少了误删除的情况。
在一些实施例中,从目标逻辑存储块对应的物理存储块中,查找数据存储时长大于存储时长阈值的物理存储块,得到目标逻辑存储块对应的冗余存储块包括:在目标逻辑存储块对应的物理存储块为至少两个的情况下,从目标逻辑存储块对应的物理存储块中,查找数据存储时长大于存储时长阈值的物理存储块,得到目标逻辑存储块对应的冗余存储块;在目标逻辑存储块对应的物理存储块为一个的情况下,确定目标逻辑存储块不存在冗余存储块。
具体地,在目标逻辑存储块对应的物理存储块为至少两个的情况下,服务器可以从目标逻辑存储块对应的物理存储块中,查找数据存储时长大于存储时长阈值的物理存储块,得到目标逻辑存储块对应的冗余存储块;在目标逻辑存储块对应的物理存储块为一个的情况下,确定目标逻辑存储块不存在冗余存储块。如图6所示,展示了删除冗余数据的过程。
本实施例中,在目标逻辑存储块对应的物理存储块为一个的情况下,确定目标逻辑存储块不存在冗余存储块,从而避免将逻辑存储块中长时间存储而用户需要的数据删除,减少了误删除的情况。
在一些实施例中,利用查找到的待恢复物理存储块对目标逻辑存储块进行数据恢复包括:将空闲物理存储块确定为目标逻辑存储块的新物理存储块;将查找到的待恢复物理存储块中的数据,写入到目标逻辑存储块的新物理存储块中,并将当前时间点确定为新物理存储块的写入时间点,以使得目标逻辑存储块中记录的数据恢复为新物理存储块中存储的数据。
具体地,在进行数据恢复的过程中,可以为逻辑块分配空闲物理存储块,并将要恢复的数据存储到分配的空闲物理存储块中,例如,对于目标逻辑存储块,在查找到目标逻辑存储块的待恢复物理存储块的情况下,可以为目标逻辑存储块分配空闲物理存储块,分配的该空闲物理存储块则成为目标逻辑存储块的新物理存储块。服务器可以对待恢复物理存储块进行数据读取,将读取出的数据存储到该新物理存储块中,并将当前时间点确定为新物理存储块的写入时间点。
本实施例中,采用为逻辑存储块新增物理存储块的方式进行数据恢复,数据恢复的过程中减少了对云存储空间中数据的复制频率和次数,在完成数据恢复的情况下减少了对云存储空间的性能的不良影响。
在一些实施例中,如图7所示,提供了一种数据恢复方法,该方法可以由终端或服务器执行,还可以由终端和服务器共同执行,以该方法应用于终端为例进行说明,包括以下步骤:
步骤702,接收向云存储空间的第一逻辑存储块写入目标数据的数据写入请求。
步骤704,判断第一逻辑存储块是否存在对应的物理存储块,若否,执行步骤706,若是,执行步骤708。
步骤706,查找空闲物理存储块,将查找到的空闲物理存储块确定为与第一逻辑存储块对应的物理存储块,并将目标数据存储至空闲物理存储块中。
步骤708,从第一逻辑存储块对应的各物理存储块的写入时间点中,确定与当前时间点最近的写入时间点,得到最近写入时间点。
步骤710,确定当前时间点所处的时间窗口,得到当前时间窗口,确定最近写入时间点所处的时间窗口,得到最近时间窗口。
步骤712,判断当前时间窗口与最近时间窗口是否一致,若是,则执行步骤714,若否,则执行步骤716。
步骤714,利用目标数据覆盖最近写入时间点对应的物理存储块中的数据。
步骤716,查找空闲物理存储块,将查找到的空闲物理存储块确定为与第一逻辑存储块对应的物理存储块,并将目标数据存储至空闲物理存储块中。
步骤718,接收针对云存储空间的数据恢复请求,数据恢复请求用于请求将云存储空间记录的数据恢复至在恢复时间点时所记录的数据。
步骤720,从云存储空间的各逻辑存储块中确定对应有至少一个物理存储块的逻辑存储块,得到目标逻辑存储块。
步骤722,判断目标逻辑存储块对应的物理存储块是否为一个,若是,则执行步骤732,若否,则执行步骤724。
步骤724,按照写入时间点从后到前的顺序,从目标逻辑存储块对应的物理存储块中确定对比物理存储块;写入时间点是指向物理存储块中写入所存储的数据的时间点。
步骤726,确定对比物理存储块的写入时间点所处的时间窗口,得到对比物理存储块的物理时间窗口。
步骤728,判断物理时间窗口是否满足时间窗口要求,若是,则执行步骤730,若否,则返回步骤724。
步骤730,将对比物理存储块确定为查找到的目标逻辑存储块对应的待恢复物理存储块。
步骤732,判断物理时间窗口是否小于或等于恢复时间窗口,若是,则执行步骤734。
步骤734,将目标逻辑存储块对应的物理存储块,确定为目标逻辑存储块对应的待恢复物理存储块。
步骤736,利用查找到的待恢复物理存储块对目标逻辑存储块进行数据恢复,以对云存储空间进行数据恢复。
步骤738,从云存储空间的各目标逻辑存储块对应的物理存储块中,查找冗余存储块,删除冗余存储块中存储的数据。
本申请提供的数据恢复方法,实现了一种新的云盘持续数据保护方法,通过该方案可以实现云盘数据持续保护,可以支持云盘恢复到任意时刻的历史数据。该方案的实现对云盘性能影响较小,可以保障云盘性能稳定,而且删除目标逻辑存储块对应的冗余存储块中存储的数据,从而对存储空间开销进行优化,有效控制了冗余数据对存储空间的占用。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据恢复方法的数据恢复装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据恢复装置实施例中的具体限定可以参见上文中对于数据恢复方法的限定,在此不再赘述。
在一些实施例中,如图8所示,提供了一种数据恢复装置,包括:请求接收模块802、存储块查找模块804和数据恢复模块806,其中:
请求接收模块802,用于接收针对云存储空间的数据恢复请求,数据恢复请求用于请求将云存储空间记录的数据恢复至在恢复时间点时所记录的数据;云存储空间包括对应有至少一个物理存储块的目标逻辑存储块,至少一个物理存储块中存储的数据,是在不同的时间点写入目标逻辑存储块中的数据。
存储块查找模块804,用于从目标逻辑存储块对应的物理存储块中,查找目标逻辑存储块对应的待恢复物理存储块;目标逻辑存储块对应的待恢复物理存储块,为目标逻辑存储块在恢复时间点记录的数据所存储于的物理存储块。
数据恢复模块806,用于利用查找到的待恢复物理存储块对目标逻辑存储块进行数据恢复,以对云存储空间进行数据恢复。
在一些实施例中,存储块查找模块,还用于按照写入时间点从后到前的顺序,从目标逻辑存储块对应的物理存储块中确定对比物理存储块;写入时间点是指向物理存储块中写入所存储的数据的时间点;确定对比物理存储块存储的数据的写入时间点所处的时间窗口,得到对比物理存储块的物理时间窗口;在对比物理存储块的物理时间窗口满足时间窗口要求的情况下,将对比物理存储块确定为查找到的目标逻辑存储块对应的待恢复物理存储块;时间窗口要求包括物理时间窗口与恢复时间点所处的时间窗口一致、物理时间窗口在恢复时间点所处的时间窗口之前中的至少一种。
在一些实施例中,存储块查找模块,还用于在对比物理存储块的物理时间窗口不满足时间窗口要求的情况下,返回按照写入时间点从后到前的顺序,从目标逻辑存储块对应的物理存储块中确定对比物理存储块的步骤,直到遍历完目标逻辑存储块对应的物理存储块为止;在遍历完目标逻辑存储块对应的物理存储块、且对比物理存储块的物理时间窗口不满足时间窗口要求的情况下,确定未查找到目标逻辑存储块对应的待恢复物理存储块。
在一些实施例中,存储块查找模块,还用于在目标逻辑存储块对应的物理存储块为至少两个的情况下,按照写入时间点从后到前的顺序,从目标逻辑存储块对应的物理存储块中确定对比物理存储块;在目标逻辑存储块对应的物理存储块为一个的情况下,将目标逻辑存储块对应的物理存储块的物理时间窗口与恢复时间窗口进行对比;恢复时间窗口是指恢复时间点所处的时间窗口;在目标逻辑存储块对应的物理存储块的物理时间窗口小于或等于恢复时间窗口的情况下,将目标逻辑存储块对应的物理存储块,确定为目标逻辑存储块对应的待恢复物理存储块。
在一些实施例中,请求接收模块,还用于接收向云存储空间的第一逻辑存储块写入目标数据的数据写入请求;装置还包括:数据存储模块,用于在第一逻辑存储块不存在对应的物理存储块的情况下,查找空闲物理存储块;将查找到的空闲物理存储块确定为与第一逻辑存储块对应的物理存储块,并将目标数据存储至空闲物理存储块中。
在一些实施例中,数据存储模块,还用于在第一逻辑存储块存在对应的物理存储块的情况下,从第一逻辑存储块对应的各物理存储块的写入时间点中,确定与当前时间点最近的写入时间点,得到最近写入时间点;确定当前时间点所处的时间窗口,得到当前时间窗口,确定最近写入时间点所处的时间窗口,得到最近时间窗口;在当前时间窗口与最近时间窗口一致的情况下,利用目标数据覆盖最近写入时间点对应的物理存储块中的数据。
在一些实施例中,数据存储模块,还用于在确定当前时间窗口在最近时间窗口之后的情况下,查找空闲物理存储块;将查找到的空闲物理存储块确定为与第一逻辑存储块对应的物理存储块,并将目标数据存储至空闲物理存储块中。
在一些实施例中,装置还包括:删除模块,用于获取存储时长阈值;从目标逻辑存储块对应的物理存储块中,查找数据存储时长大于存储时长阈值的物理存储块,得到目标逻辑存储块对应的冗余存储块;删除目标逻辑存储块对应的冗余存储块。
在一些实施例中,删除模块,还用于从目标逻辑存储块对应的物理存储块中,查找数据存储时长大于存储时长阈值的物理存储块;在确定目标逻辑存储块对应的物理存储块的数据存储时长均大于存储时长阈值的情况下,从目标逻辑存储块对应的物理存储块中确定数据存储时长最短的物理存储块,得到保留存储块;将目标逻辑存储块对应的物理存储块中保留存储块之外的物理存储块,确定为目标逻辑存储块对应的冗余存储块。
在一些实施例中,删除模块,还用于在目标逻辑存储块对应的物理存储块为至少两个的情况下,从目标逻辑存储块对应的物理存储块中,查找数据存储时长大于存储时长阈值的物理存储块,得到目标逻辑存储块对应的冗余存储块;在目标逻辑存储块对应的物理存储块为一个的情况下,确定目标逻辑存储块不存在冗余存储块。
在一些实施例中,数据恢复模块,还用于将空闲物理存储块确定为目标逻辑存储块的新物理存储块;将查找到的待恢复物理存储块中的数据,写入到目标逻辑存储块的新物理存储块中,并将当前时间点确定为新物理存储块的写入时间点,以使得目标逻辑存储块中记录的数据恢复为新物理存储块中存储的数据。
上述数据恢复装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据恢复方法中涉及到的数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据恢复方法。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据恢复方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9和图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述数据恢复方法中的步骤。
在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述数据恢复方法中的步骤。
在一些实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据恢复方法中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (15)

1.一种数据恢复方法,其特征在于,所述方法包括:
接收针对云存储空间的数据恢复请求,所述数据恢复请求用于请求将所述云存储空间记录的数据恢复至在恢复时间点时所记录的数据;所述云存储空间包括对应有至少一个物理存储块的目标逻辑存储块,所述至少一个物理存储块中存储的数据,是在不同的时间点写入所述目标逻辑存储块中的数据;
从所述目标逻辑存储块对应的物理存储块中,查找所述目标逻辑存储块对应的待恢复物理存储块;所述目标逻辑存储块对应的待恢复物理存储块,为所述目标逻辑存储块在所述恢复时间点记录的数据所存储于的物理存储块;
利用查找到的待恢复物理存储块对所述目标逻辑存储块进行数据恢复,以对所述云存储空间进行数据恢复。
2.根据权利要求1所述的方法,其特征在于,所述从所述目标逻辑存储块对应的物理存储块中,查找所述目标逻辑存储块对应的待恢复物理存储块包括:
按照写入时间点从后到前的顺序,从所述目标逻辑存储块对应的物理存储块中确定对比物理存储块;所述写入时间点是指向物理存储块中写入所存储的数据的时间点;
确定所述对比物理存储块存储的数据的写入时间点所处的时间窗口,得到所述对比物理存储块的物理时间窗口;
在所述对比物理存储块的物理时间窗口满足时间窗口要求的情况下,将所述对比物理存储块确定为查找到的所述目标逻辑存储块对应的待恢复物理存储块;所述时间窗口要求包括物理时间窗口与所述恢复时间点所处的时间窗口一致、物理时间窗口在所述恢复时间点所处的时间窗口之前中的至少一种。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述对比物理存储块的物理时间窗口不满足时间窗口要求的情况下,返回所述按照写入时间点从后到前的顺序,从所述目标逻辑存储块对应的物理存储块中确定对比物理存储块的步骤,直到遍历完所述目标逻辑存储块对应的物理存储块为止;
在遍历完所述目标逻辑存储块对应的物理存储块、且对比物理存储块的物理时间窗口不满足时间窗口要求的情况下,确定未查找到所述目标逻辑存储块对应的待恢复物理存储块。
4.根据权利要求2所述的方法,其特征在于,所述按照写入时间点从后到前的顺序,从所述目标逻辑存储块对应的物理存储块中确定对比物理存储块包括:
在所述目标逻辑存储块对应的物理存储块为至少两个的情况下,按照写入时间点从后到前的顺序,从所述目标逻辑存储块对应的物理存储块中确定对比物理存储块;
所述方法还包括:
在所述目标逻辑存储块对应的物理存储块为一个的情况下,将所述目标逻辑存储块对应的物理存储块的物理时间窗口与所述恢复时间窗口进行对比;所述恢复时间窗口是指所述恢复时间点所处的时间窗口;
在所述目标逻辑存储块对应的物理存储块的物理时间窗口小于或等于所述恢复时间窗口的情况下,将所述目标逻辑存储块对应的物理存储块,确定为所述目标逻辑存储块对应的待恢复物理存储块。
5.根据权利要求1所述的方法,其特征在于,在所述接收针对云存储空间的数据恢复请求的步骤之前,所述方法还包括:
接收向所述云存储空间的第一逻辑存储块写入目标数据的数据写入请求;
在所述第一逻辑存储块不存在对应的物理存储块的情况下,查找空闲物理存储块;
将查找到的空闲物理存储块确定为与所述第一逻辑存储块对应的物理存储块,并将所述目标数据存储至所述空闲物理存储块中。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述第一逻辑存储块存在对应的物理存储块的情况下,从所述第一逻辑存储块对应的各物理存储块的写入时间点中,确定与当前时间点最近的写入时间点,得到最近写入时间点;
确定当前时间点所处的时间窗口,得到当前时间窗口,确定所述最近写入时间点所处的时间窗口,得到最近时间窗口;
在所述当前时间窗口与所述最近时间窗口一致的情况下,利用所述目标数据覆盖所述最近写入时间点对应的物理存储块中的数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在确定所述当前时间窗口在所述最近时间窗口之后的情况下,查找空闲物理存储块;
将查找到的空闲物理存储块确定为与所述第一逻辑存储块对应的物理存储块,并将所述目标数据存储至所述空闲物理存储块中。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取存储时长阈值;
从所述目标逻辑存储块对应的物理存储块中,查找数据存储时长大于所述存储时长阈值的物理存储块,得到所述目标逻辑存储块对应的冗余存储块;
删除所述目标逻辑存储块对应的冗余存储块中存储的数据。
9.根据权利要求8所述的方法,其特征在于,所述从所述目标逻辑存储块对应的物理存储块中,查找数据存储时长大于所述存储时长阈值的物理存储块,得到所述目标逻辑存储块对应的冗余存储块包括:
从所述目标逻辑存储块对应的物理存储块中,查找数据存储时长大于所述存储时长阈值的物理存储块;
在确定所述目标逻辑存储块对应的物理存储块的数据存储时长均大于所述存储时长阈值的情况下,从所述目标逻辑存储块对应的物理存储块中确定数据存储时长最短的物理存储块,得到保留存储块;
将所述目标逻辑存储块对应的物理存储块中所述保留存储块之外的物理存储块,确定为所述目标逻辑存储块对应的冗余存储块。
10.根据权利要求8所述的方法,其特征在于,所述从所述目标逻辑存储块对应的物理存储块中,查找数据存储时长大于所述存储时长阈值的物理存储块,得到所述目标逻辑存储块对应的冗余存储块包括:
在所述目标逻辑存储块对应的物理存储块为至少两个的情况下,从所述目标逻辑存储块对应的物理存储块中,查找数据存储时长大于所述存储时长阈值的物理存储块,得到所述目标逻辑存储块对应的冗余存储块;
在所述目标逻辑存储块对应的物理存储块为一个的情况下,确定所述目标逻辑存储块不存在冗余存储块。
11.根据权利要求1至10中任一所述的方法,其特征在于,所述利用查找到的待恢复物理存储块对所述目标逻辑存储块进行数据恢复包括:
将空闲物理存储块确定为所述目标逻辑存储块的新物理存储块;
将查找到的所述待恢复物理存储块中的数据,写入到所述目标逻辑存储块的新物理存储块中,并将当前时间点确定为所述新物理存储块的写入时间点,以使得所述目标逻辑存储块中记录的数据恢复为所述新物理存储块中存储的数据。
12.一种数据恢复装置,其特征在于,所述装置包括:
请求接收模块,用于接收针对云存储空间的数据恢复请求,所述数据恢复请求用于请求将所述云存储空间记录的数据恢复至在恢复时间点时所记录的数据;所述云存储空间包括对应有至少一个物理存储块的目标逻辑存储块,所述至少一个物理存储块中存储的数据,是在不同的时间点写入所述目标逻辑存储块中的数据;
存储块查找模块,用于从所述目标逻辑存储块对应的物理存储块中,查找所述目标逻辑存储块对应的待恢复物理存储块;所述目标逻辑存储块对应的待恢复物理存储块,为所述目标逻辑存储块在所述恢复时间点记录的数据所存储于的物理存储块;
数据恢复模块,用于利用查找到的待恢复物理存储块对所述目标逻辑存储块进行数据恢复,以对所述云存储空间进行数据恢复。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
15.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
CN202210942575.XA 2022-08-08 2022-08-08 数据恢复方法、装置、计算机设备和存储介质 Pending CN117573424A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210942575.XA CN117573424A (zh) 2022-08-08 2022-08-08 数据恢复方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210942575.XA CN117573424A (zh) 2022-08-08 2022-08-08 数据恢复方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN117573424A true CN117573424A (zh) 2024-02-20

Family

ID=89886843

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210942575.XA Pending CN117573424A (zh) 2022-08-08 2022-08-08 数据恢复方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN117573424A (zh)

Similar Documents

Publication Publication Date Title
US9411821B1 (en) Block-based backups for sub-file modifications
EP2780796B1 (en) Method of and system for merging, storing and retrieving incremental backup data
US9424137B1 (en) Block-level backup of selected files
US10891074B2 (en) Key-value storage device supporting snapshot function and operating method thereof
US11210319B2 (en) Replication progress for UPIT snapshots
CN109902034B (zh) 快照创建方法、装置、电子设备及机器可读存储介质
WO2019223377A1 (zh) 文件处理方法、装置、设备及存储介质
CN109753379B (zh) 快照数据备份、删除方法、装置及系统
CN107506466B (zh) 一种小文件存储方法及系统
CN113434470B (zh) 数据分布方法、装置及电子设备
US20220398220A1 (en) Systems and methods for physical capacity estimation of logical space units
US11003543B2 (en) Generic metadata tags with namespace-specific semantics in a storage appliance
US11513715B2 (en) Method and system for generating synthetic backups using block based backups
CN113641446A (zh) 内存快照创建方法、装置、设备及可读存储介质
US10048883B2 (en) Integrated page-sharing cache storing a single copy of data where the data is stored in two volumes and propagating changes to the data in the cache back to the two volumes via volume identifiers
CN113900590A (zh) 叠瓦式磁盘存储方法、装置、设备及介质
CN114924911B (zh) Windows操作系统有效数据备份方法、装置、设备和存储介质
CN115292094B (zh) 数据恢复处理方法、装置、设备、存储介质和程序产品
US11010332B2 (en) Set-based mutual exclusion using object metadata tags in a storage appliance
US11782629B2 (en) Data processing method, device, and electronic device
CN117573424A (zh) 数据恢复方法、装置、计算机设备和存储介质
CN115421856A (zh) 一种数据恢复方法及装置
US20220197860A1 (en) Hybrid snapshot of a global namespace
CN110287064B (zh) 一种磁盘数据的还原方法、装置及电子设备
CN109508255B (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