CN113031851B - 数据快照方法、装置及设备 - Google Patents

数据快照方法、装置及设备 Download PDF

Info

Publication number
CN113031851B
CN113031851B CN201911355428.7A CN201911355428A CN113031851B CN 113031851 B CN113031851 B CN 113031851B CN 201911355428 A CN201911355428 A CN 201911355428A CN 113031851 B CN113031851 B CN 113031851B
Authority
CN
China
Prior art keywords
block
snapshot
data
sub
data block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911355428.7A
Other languages
English (en)
Other versions
CN113031851A (zh
Inventor
廖武钧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201911355428.7A priority Critical patent/CN113031851B/zh
Publication of CN113031851A publication Critical patent/CN113031851A/zh
Application granted granted Critical
Publication of CN113031851B publication Critical patent/CN113031851B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device

Landscapes

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

Abstract

本申请提供一种数据快照方法、装置及设备,该方法包括:确定数据块发生数据更新;判断所述数据块是否符合子块快照条件;如果是,则从所述数据块中确定待快照子块;其中,所述待快照子块是所述数据块中发生数据更新的子块;对所述数据块中的所述待快照子块的数据进行快照。通过本申请的技术方案,能够节省存储空间和存储资源。

Description

数据快照方法、装置及设备
技术领域
本申请涉及存储技术领域,尤其涉及一种数据快照方法、装置及设备。
背景技术
随着存储应用需求的提高,需要以在线方式进行数据保护,而快照就是以在线的方式进行数据保护,并防范数据丢失的有效方式。目前,快照已经成为磁盘阵列、卷管理器、文件系统、RAID(Redundant Arrays of Independent Drives,独立磁盘冗余阵列)的标准配置功能,越来越多的存储设备支持快照功能。
快照的一个作用是:能够进行在线数据恢复,当存储设备发生应用故障或者文件损坏时,可以及时进行数据恢复,将数据恢复成快照产生时间点的状态。
快照的另一个作用是:为用户提供另外一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照,并可以利用快照进行测试等工作。
虽然快照在备份、数据保护过程中发挥着越来越大的作用,但是,快照需要占用大量存储空间,浪费大量存储资源。例如,数据块每次发生变化时,均需要对数据块进行快照,而数据块通常比较大,每次对数据块进行快照时,需要备份的数据量过大,导致备份的速度降低,且用户的体验比较差。
发明内容
本申请提供一种数据快照方法,所述方法包括:
确定数据块发生数据更新;
判断所述数据块是否符合子块快照条件;
如果是,则从所述数据块中确定待快照子块;其中,所述待快照子块是所述数据块中发生数据更新的子块;
对所述数据块中的所述待快照子块的数据进行快照。
本申请提供一种数据快照方法,所述方法包括:
确定数据块发生数据更新;
从所述数据块中确定待快照子块;其中,所述待快照子块是所述数据块中发生数据更新的子块;
对所述数据块中的所述待快照子块的数据进行快照。
本申请提供一种数据快照方法,所述方法包括:
确定数据块发生数据更新;
若所述数据块的子块进行快照的次数不大于次数阈值、所述数据块发生变化的数据量不大于数据量阈值,从所述数据块中确定待快照子块;所述待快照子块是所述数据块中发生数据更新的子块;
对所述数据块中的所述待快照子块的数据进行快照。
本申请提供一种数据快照方法,应用于云存储设备,包括:
确定云存储介质的数据块发生数据更新;
判断所述数据块是否符合子块快照条件;
如果是,则从所述数据块中确定待快照子块;其中,所述待快照子块是所述数据块中发生数据更新的子块;
对所述数据块中的所述待快照子块的数据进行快照。
本申请提供一种基于快照的数据恢复方法,所述方法包括:
获取数据块的参考快照、所述数据块中的子块的参考快照;
从所述数据块的参考快照中读取所述数据块的数据;
从所述子块的参考快照中读取所述子块的数据;
根据所述数据块的数据和所述子块的数据进行数据恢复。
本申请提供一种数据快照装置,所述装置包括:
确定模块,用于确定数据块发生数据更新;
判断模块,用于判断所述数据块是否符合子块快照条件;
所述确定模块,还用于如果是,则从所述数据块中确定待快照子块;其中,所述待快照子块是所述数据块中发生数据更新的子块;
快照模块,用于对所述数据块中的所述待快照子块的数据进行快照。
本申请提供一种存储设备,包括:
处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
确定数据块发生数据更新;
判断所述数据块是否符合子块快照条件;
如果是,则从所述数据块中确定待快照子块;其中,所述待快照子块是所述数据块中发生数据更新的子块;
对所述数据块中的所述待快照子块的数据进行快照。
基于上述技术方案,本申请实施例中,数据块发生数据更新时,可以从数据块中确定待快照子块,对数据块中的待快照子块的数据进行快照,而不是对整个数据块的数据进行快照,待快照子块通常比较小,需要备份的数据量较小,因此,节省存储空间,节约存储资源,备份速度较快,用户体验比较好。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。
图1是本申请一种实施方式中的数据快照方法的流程示意图;
图2是本申请另一种实施方式中的数据快照方法的流程示意图;
图3A-图3C是本申请一种实施方式中的数据块快照的示意图;
图4是本申请另一种实施方式中的数据快照方法的流程示意图;
图5是本申请一种实施方式中的数据快照装置的结构示意图;
图6是本申请一种实施方式中的存储设备的结构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例提出一种数据快照方法,可以应用于存储设备,该存储设备可以是任意类型的设备,对此不做限制,只要存储设备能够实现数据快照功能即可。参见图1所示,为数据快照方法的流程示意图,该方法可以包括:
步骤101,确定数据块发生数据更新。
示例性的,在每个快照周期(如快照周期a),可以确定数据块在快照周期a是否发生数据更新。如果否,则确定数据块在快照周期a未发生数据更新,采用传统流程处理即可,在此不再赘述。如果是,则确定数据块在快照周期a发生数据更新,此时快照周期a作为当前快照周期,并执行后续步骤。
步骤102,判断该数据块是否符合子块快照条件。如果是,则执行步骤103。
示例性的,判断该数据块是否符合子块快照条件之后,如果不符合子块快照条件,则还可以对该数据块的数据进行快照,对此过程不再赘述。
在一种可能的实施方式中,可以根据数据块的特征信息判断该数据块是否符合子块快照条件。例如,数据块的特征信息可以包括数据块的子块进行快照的次数,若该次数不大于次数阈值(可以根据经验进行配置,对此不做限制),则确定该数据块符合子块快照条件;若该次数大于次数阈值,则确定该数据块不符合子块快照条件。又例如,数据块的特征信息可以包括数据块发生变化的数据量(如在当前块快照周期内发生变化的数据量),若该数据量不大于数据量阈值(可以根据经验进行配置,对此不做限制),则确定该数据块符合子块快照条件;若该数据量大于数据量阈值,则确定该数据块不符合子块快照条件。又例如,数据块的特征信息可以包括数据块的子块进行快照的次数,以及,数据块发生变化的数据量。基于此,若该次数不大于次数阈值,且该数据量不大于数据量阈值,则确定该数据块符合子块快照条件;若该次数大于次数阈值,和/或,该数据量大于数据量阈值,则确定该数据块不符合子块快照条件。
步骤103,从该数据块中确定待快照子块;其中,该待快照子块可以是该数据块中发生数据更新的子块,如在当前快照周期发生数据更新的子块。
示例性的,从该数据块中确定待快照子块,可以包括:获取数据块的数据块状态,该数据块状态包括该数据块的参考快照、该数据块中与参考快照发生数据更新的子块;根据该数据块状态将发生数据更新的子块确定为待快照子块。
步骤104,对该数据块中的该待快照子块的数据进行快照。
示例性的,对该数据块中的该待快照子块的数据进行快照之前,还可以获取该数据块的元数据信息,该元数据信息可以包括数据块的参考快照、该数据块中的待快照子块的参考快照;待快照子块的参考快照为当前快照周期的快照。
示例性的,对该数据块中的该待快照子块的数据进行快照之后,还可以获取该数据块的元数据信息,根据该元数据信息确定该数据块的参考快照、该数据块中的待快照子块的参考快照;然后,针对该数据块中除待快照子块之外的其它子块,则从该数据块的参考快照中获取所述其它子块的数据;针对该数据块中的待快照子块,则从待快照子块的参考快照中获取待快照子块的数据。
在上述实施例中,数据块可以包括云存储介质中的数据块。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
基于上述技术方案,本申请实施例中,数据块发生数据更新时,可以从数据块中确定待快照子块,对数据块中的待快照子块的数据进行快照,而不是对整个数据块的数据进行快照,待快照子块通常比较小,需要备份的数据量较小,因此,节省存储空间,节约存储资源,备份速度较快,用户体验比较好。
基于与上述方法同样的申请构思,本申请实施例中还提供另一种数据快照方法,参见图2所示,为该数据快照方法的流程示意图,该方法可以包括:
步骤201,确定数据块发生数据更新。
步骤202,从该数据块中确定待快照子块;其中,该待快照子块可以是该数据块中发生数据更新的子块。
在一种可能的实施方式中,可以判断该数据块是否符合子块快照条件,具体判断方式可以参见步骤102,如果该数据块符合子块快照条件,则从该数据块中确定待快照子块。在另一种可能的实施方式中,不需要判断该数据块是否符合子块快照条件,而是直接从该数据块中确定待快照子块。
步骤203,对该数据块中的该待快照子块的数据进行快照。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
基于上述技术方案,本申请实施例中,数据块发生数据更新时,可以从数据块中确定待快照子块,对数据块中的待快照子块的数据进行快照,而不是对整个数据块的数据进行快照,待快照子块通常比较小,需要备份的数据量较小,因此,节省存储空间,节约存储资源,备份速度较快,用户体验比较好。
基于与上述方法同样的申请构思,本申请实施例中还提供另一种数据快照方法,该方法可以包括:确定数据块发生数据更新。若该数据块的子块进行快照的次数不大于次数阈值(根据经验配置)、且该数据块发生变化的数据量不大于数据量阈值(根据经验配置),则从该数据块中确定待快照子块;该待快照子块是该数据块中发生数据更新的子块。然后,对该数据块中的该待快照子块的数据进行快照。
基于与上述方法同样的申请构思,本申请实施例还提供另一种数据快照方法,可以应用于云存储设备,该方法可以包括:确定云存储介质的数据块发生数据更新。判断该数据块是否符合子块快照条件;如果是,则从该数据块中确定待快照子块;其中,待快照子块是该数据块中发生数据更新的子块。对该数据块中的该待快照子块的数据进行快照。
基于与上述方法同样的申请构思,本申请实施例还提供一种基于快照的数据恢复方法,基于上述各实施例的数据快照方法,在对数据块进行快照的基础上,若需要对数据块中的数据进行恢复,该方法还可以包括:获取数据块的参考快照、数据块中的子块的参考快照;从该子块的参考快照中读取该子块的数据;针对数据块中该子块之外的其它子块,从该数据块的参考快照中读取其它子块的数据;根据其它子块的数据和该子块的数据进行数据恢复。
例如,可以获取该数据块的元数据信息,该元数据信息可以包括数据块的参考快照、该数据块中的待快照子块的参考快照。然后,根据该元数据信息确定该数据块的参考快照、该数据块中的待快照子块的参考快照。
示例性的,针对该数据块中除待快照子块之外的其它子块,则从该数据块的参考快照中获取所述其它子块的数据;针对该数据块中的待快照子块,则从待快照子块的参考快照中获取待快照子块的数据。
以下结合具体应用场景,对本申请实施例的技术方案进行说明。
在一个例子中,存储设备可以包括存储介质,并通过存储介质实现数据的存储,存储介质是指数据存储的载体,比如软盘、光盘、DVD、硬盘、闪存(Nandflash)、磁盘、U盘、CF卡、SD卡、SDHC卡、MMC卡、SM卡、记忆棒(MemoryStick)、xD卡、NVM(Non-Volatile Memory,非易失性存储器)等,对此存储介质的类型不做限制,只要通过存储介质能够实现数据的存储即可。
示例性的,存储设备可以是云存储设备,也可以是其它类型的存储设备,对此存储设备的类型不做限制,只要存储设备能够实现数据快照功能即可。
云存储设备可以为云服务器,由云主机厂商提供、且基于云计算技术生产,云服务器是能够以远程登陆方式进行操作管理的服务器,在用户使用方式上与普通远程物理服务器一样。在存储设备是云存储设备时,存储介质可以为云存储介质,对此云存储介质不做限制,只要云存储介质能够实现数据存储即可。
例如,云存储介质可以为云磁盘,云磁盘是建立在分布式存储系统之上的磁盘实例,云磁盘在云服务器中可当做计算机磁盘一样进行读写使用。
为了方便描述,在后续实施例中,以存储介质为磁盘为例进行说明。
随着存储应用需求的不断提高,需要以在线方式进行数据的保护,而快照(即磁盘快照,本文简称为快照)就是以在线方式进行数据保护,并防范数据丢失的有效方式。其中,快照是磁盘在某一时刻的存储数据的完整记录,用户可以将磁盘恢复成某一个快照的数据。在不同的时间点,可以对一块磁盘创建若干个快照,这些快照成为一条快照链,如果需要恢复磁盘数据,可以进行磁盘数据的回滚,将磁盘上的数据恢复为快照链上任一个快照的内容。
快照主要用于备份和容灾。例如,快照的一个作用是:进行在线数据恢复,当发生应用故障或者文件损坏时,及时进行数据恢复,将数据恢复成快照产生时间点的状态。快照的另一个作用是:为用户提供另外一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照,并利用快照进行测试等工作。
在实际应用中,一块磁盘往往会定时创建快照,比如每天创建快照。由于数据有冷数据(即改动频率较小的数据)和热数据(即改动频率较大的数据),很多数据(如冷数据)很久才会改动,因此,一个快照链中的各个快照的数据往往只有少量区别。为了节省存储空间,可以对磁盘按照偏移划分多个区间(比如2MB一个区间),每个区间作为快照的一个数据块(数据块也可以称为切片),也就是说,可以将磁盘划分为多个数据块,每个数据块是一个2MB的区间。
在需要创建快照时,可以检查磁盘的每一个数据块,如果数据块的内容与老快照对应数据块有改动,则需要创建新数据块,否则,不需要创建新数据块。
参见图3A所示,假设将磁盘划分为4个数据块,如数据块1、数据块2、数据块3和数据块4,每个数据块是一个2MB的区间。在时刻1创建快照A,快照A包括数据块A1、数据块A2、数据块A3和数据块A4,数据块A1存储数据块1在时刻1的数据,数据块A2存储数据块2在时刻1的数据,数据块A3存储数据块3在时刻1的数据,数据块A4存储数据块4在时刻1的数据。
在时刻2创建快照B,若数据块1在时刻2的数据与数据块1在时刻1的数据不同,数据块2在时刻2的数据与数据块2在时刻1的数据相同,数据块3在时刻2的数据与数据块3在时刻1的数据不同,数据块4在时刻2的数据与数据块4在时刻1的数据相同,则快照B包括数据块B1和数据块B3,数据块B1存储数据块1在时刻2的数据,数据块B3存储数据块3在时刻2的数据。
由于数据块2在时刻2的数据与数据块2在时刻1的数据相同,因此,快照B可以沿用快照A中的数据块A2。由于数据块4在时刻2的数据与数据块4在时刻1的数据相同,因此,快照B可以沿用快照A中的数据块A4。
在一种可能的实现方式中,可以采用如下方式实现快照的创建:
1、元数据信息构建。可以构建数据块状态列表和快照列表,数据块状态列表用于记录数据块的数据是否发生更新,快照列表用于记录需要进行快照的数据块。参见表1所示,为时刻2的数据块状态列表,针对数据块1和数据块3来说,沿用快照B的数据块,如数据块1沿用快照B的数据块B1,数据块3沿用快照B的数据块B3。针对数据块2和数据块4来说,沿用快照A的数据块,如数据块2沿用快照A的数据块A2,数据块4沿用快照A的数据块A4。
表1
数据块1(0-1M) 数据块2(2-3M) 数据块3(4-5M) 数据块4(6-7M)
沿用快照B 沿用快照A 沿用快照B 沿用快照A
在时刻2之后的时刻3,假设数据块1的数据发生变化,数据块4的数据发生变化,则更新数据块状态列表,参见表2所示,为更新后的数据块状态列表。其中,“有更新”表示与上次的快照相比,数据发生变化的数据块。
表2
数据块1(0-1M) 数据块2(2-3M) 数据块3(4-5M) 数据块4(6-7M)
有更新 沿用快照A 沿用快照B 有更新
基于表2所示的数据块状态列表,还可以创建表3所示的快照列表,“来自快照C”表示数据块1/数据块4的快照来自快照C,“来自快照A”表示数据块2的快照来自快照A,“来自快照B”表示数据块3的快照来自快照B。
表3
数据块1(0-1M) 数据块2(2-3M) 数据块3(4-5M) 数据块4(6-7M)
来自快照C 来自快照A 来自快照B 来自快照C
基于表3所示的快照列表,可以更新数据块状态列表,参见表4所示,为时刻3的数据块状态列表。针对数据块1和数据块4来说,沿用快照C的数据块,如数据块1沿用快照C的数据块C1,数据块4沿用快照C的数据块C4。针对数据块2来说,沿用快照A的数据块,如数据块2沿用快照A的数据块A2。针对数据块3来说,沿用快照B的数据块,如数据块3沿用快照B的数据块B3。
表4
数据块1(0-1M) 数据块2(2-3M) 数据块3(4-5M) 数据块4(6-7M)
沿用快照C 沿用快照A 沿用快照B 沿用快照C
至此,完成元数据信息构建,后续基于元数据信息实现快照的创建。
2、数据存储。基于数据块状态列表和快照列表,可以获知需要对哪些数据块进行快照,因此,对数据块进行快照,即,将数据块的数据备份到存储系统中,作为新快照的数据块。参见图3B所示,可以创建快照C,快照C包括数据块C1和数据块C4,数据块C1存储数据块1在时刻3的数据,数据块C4存储数据块4在时刻3的数据。此外,针对数据块2来说,快照C可以沿用快照A中的数据块A2,针对数据块3来说,快照C可以沿用快照B中的数据块B3。
示例性的,为了保证数据块的压缩率,以及避免快照和元数据信息的数量过大,单个数据块不宜过小,一般会设为1~4MB(本文为2MB),也就是说,磁盘上每2MB的数据块,一旦有任何写入,就会认为该数据块有新增数据,在下一次创建快照时,该数据块需要完整备份。在一些特殊场景下,用户的数据写入量不多,但数据分布比较零散,比如跳着写入多个4KB的数据,这些4KB的数据会写入多个数据块,从而导致多个数据块均需要进行备份。
综上所述,上述方式导致快照备份的数据量过大,快照需要占用大量存储空间,浪费大量存储资源,备份速度提高,空间成本提高,用户体验下降。
针对上述发现,本申请实施例中,数据块状态列表中的状态包括:有更新;沿用快照X;沿用快照X,范围[a,b]有更新。沿用快照X,范围[a,b]有更新是一种新增状态,表示数据块是在快照X的基础上,额外更新了范围[a,b]的数据。基于此,在一种可能的实现方式中,可以采用如下方式实现快照的创建:
1、元数据信息构建。可以构建数据块状态列表和快照列表,数据块状态列表用于记录数据块的数据是否发生更新,快照列表用于记录需要进行快照的数据块。参见表1所示,为时刻2的数据块状态列表,具体内容参见上述实施例。
在时刻2之后的时刻3,假设数据块1和数据块4的数据发生变化,数据块2和数据块3的数据未发生变化,则可以采用如下方式更新数据块状态列表:
针对数据块1,判断数据块1是否符合子块快照条件。假设数据块1不符合子块快照条件,则将数据块1的状态更新为“有更新”,表示需要对数据块1的数据进行快照,而不是对数据块1的待快照子块的数据进行快照。
针对数据块2和数据块3,数据块2的数据未发生变化,数据块2的状态仍为沿用快照A。数据块3的数据未发生变化,数据块3的状态仍为沿用快照B。
针对数据块4,判断数据块4是否符合子块快照条件。假设数据块4符合子块快照条件,则确定数据块4中的待快照子块,即数据发生变化的子块。假设数据块4中的范围[a,b]的数据发生变化,则确定待快照子块为[a,b],a表示子块的首地址,b表示子块的尾地址,即从首地址a到尾地址b的区域发生变化。
然后,将数据块4的状态更新为“沿用快照A,范围[a,b]有更新”,表示需要对数据块4的待快照子块[a,b]的数据进行快照,而不是对数据块4整体进行快照,即数据块4在快照A的基础上,额外更新了范围[a,b]的数据。
经过上述处理,更新后的数据块状态列表,可以参见表5所示。
表5
基于表5,还可以创建表6所示的快照列表,“来自快照C”表示数据块1的快照来自快照C,“来自快照A”表示数据块2的快照来自快照A,“来自快照B”表示数据块3的快照来自快照B,“来自快照A,快照C仅备份[a,b]”表示数据块4的快照来自快照A,但是待快照子块[a,b]的快照来自快照C。
表6
基于表6所示的快照列表,可以更新数据块状态列表,参见表7所示,为时刻3的数据块状态列表。针对数据块1来说,沿用快照C的数据块,如数据块1沿用快照C的数据块C1。针对数据块2来说,沿用快照A的数据块,如数据块2沿用快照A的数据块A2。针对数据块3来说,沿用快照B的数据块,如数据块3沿用快照B的数据块B3。针对数据块4来说,待快照子块[a,b]沿用快照C的子块,如数据块4的待快照子块[a,b]沿用快照C的子块C41,待快照子块[a,b]之外的其它子块沿用快照A的数据块,如沿用快照A的数据块A4。
表7
至此,完成元数据信息构建,后续基于元数据信息实现快照的创建。
2、数据存储。基于数据块状态列表和快照列表,可以获知需要对哪些数据块进行快照,因此,对数据块进行快照,即,将数据块的数据备份到存储系统中,作为新快照的数据块。参见图3C所示,可以创建快照C,快照C包括数据块C1和子块C41,子块C41的大小为待快照子块[a,b]的大小。数据块C1存储数据块1在时刻3的数据,子块C41存储数据块4的待快照子块[a,b]在时刻3的数据。此外,针对数据块2来说,快照C可以沿用快照A中的数据块A2,针对数据块3来说,快照C可以沿用快照B中的数据块B3。此外,针对数据块4来说,待快照子块[a,b]之外的其它子块,可以沿用快照A中的数据块A4。
综上所述,针对数据块4来说,可以通过快照A的数据和快照C的数据组合得到,也就是说,数据块4的待快照子块[a,b],可以从快照C中获取,数据块4的待快照子块[a,b]之外的其它子块,可以从快照A中获取。
综上所述,在“有更新”和“沿用快照X”的基础上,为了避免对数据块进行整体备份,本申请实施例中新增一种数据块状态:沿用快照X,范围[a,b]有更新(简称为范围更新状态)。基于此,在数据块的数据发生变化时,先判断该数据块是否符合子块快照条件。如果符合子块快照条件,则为数据块设置“范围更新状态”。如果不符合子块快照条件,则为数据块设置“有更新”状态。在为数据块设置“范围更新状态”后,在创建快照时,“范围更新状态”也会一并记录到元数据信息中,表明数据块本次只是备份了一个小范围。这个数据块在使用时,也需要将其沿用的数据块与备份的小范围数据叠加起来,才是这个数据块的所有数据。在对快照进行备份时,对于范围更新状态的数据块,只备份该数据块有更新的范围,即[a,b],不需要整个数据块都进行备份。
示例性的,为了判断该数据块是否符合子块快照条件,还可以采用如下方式实现:若该数据块的子块进行快照的次数不大于次数阈值(可以根据经验配置,如3-5次等),且当前发生变化的数据量不大于数据量阈值(表示变化数据量比较小,如16KB等),则可以确定该数据块符合子块快照条件。
若该数据块的子块进行快照的次数大于次数阈值,和/或,当前发生变化的数据量大于数据量阈值,可以确定该数据块不符合子块快照条件。
以下结合图4所示的流程图,对本申请实施例的数据快照方法进行说明。
步骤401,确定数据块在当前快照周期发生数据更新。
示例性的,在每个快照周期(如快照周期a),针对每个数据块,确定该数据块在快照周期a是否发生数据更新。如果是,即确定数据块在快照周期a发生数据更新,则快照周期a作为当前快照周期,并执行后续步骤。
例如,参见上述实施例,假设数据块1和数据块4在当前快照周期发生数据更新,数据块2和数据块3在当前快照周期未发生数据更新。
步骤402,根据数据块的特征信息判断该数据块是否符合子块快照条件。
例如,数据块的特征信息可以包括:数据块的子块进行快照的次数,数据块在当前快照周期内发生变化的数据量。若该次数不大于次数阈值,且该数据量不大于数据量阈值,确定该数据块符合子块快照条件。若该次数大于次数阈值,和/或,该数据量大于数据量阈值,确定该数据块不符合子块快照条件。
示例性的,判断该数据块是否符合子块快照条件之后,如果不符合子块快照条件,则对该数据块的数据进行快照,而不是对该数据块的待快照子块的数据进行快照。如果符合子块快照条件,则对该数据块的待快照子块的数据进行快照,并将数据块的子块进行快照的次数加1,具体方式参见后续步骤。
示例性的,如果不符合子块快照条件,则执行步骤403。
示例性的,如果符合子块快照条件,则执行步骤404。
例如,针对数据块1来说,若数据块1不符合子块快照条件,则对数据块1的数据进行快照,而不是对数据块1的待快照子块的数据进行快照。
例如,针对数据块4来说,若数据块4符合子块快照条件,则对数据块4的待快照子块的数据进行快照,具体快照方式参见后续步骤,在此不再赘述。
步骤403,对该数据块的数据进行快照。
例如,可以对数据块1的数据进行快照。
步骤404,从该数据块中确定待快照子块;其中,该待快照子块可以是该数据块中在当前快照周期发生数据更新的子块。例如,获取数据块的数据块状态,该数据块状态包括该数据块的参考快照、该数据块中与参考快照发生数据更新的子块;根据该数据块状态将发生数据更新的子块确定为待快照子块。
例如,参见表5所示,为数据块状态的一个示例。针对数据块4来说,从该数据块状态可以得出,数据块4的参考快照为快照A,数据块4中与参考快照发生数据更新的子块为[a,b],因此,根据该数据块状态将发生数据更新的子块[a,b]确定为待快照子块,也就是说,待快照子块为子块[a,b]。
步骤405,对该数据块中的该待快照子块的数据进行快照。
例如,可以对数据块4中的待快照子块[a,b]的数据进行快照。
示例性的,对该数据块中的该待快照子块的数据进行快照之前,还可以获取该数据块的元数据信息,该元数据信息可以包括数据块的参考快照、该数据块中的待快照子块的参考快照;待快照子块的参考快照为当前快照周期的快照。
例如,参见表6所示,为元数据信息的示例。针对数据块4来说,从该元数据信息可以得出,数据块4的参考快照为快照A,数据块4中的待快照子块[a,b]的参考快照为快照C,快照C为当前快照周期的快照。综上所述,在当前快照周期创建快照C,快照C包括子块C41,子块C41用于对数据块4中的待快照子块[a,b]的数据进行快照,子块C41的大小为待快照子块[a,b]的大小。
示例性的,对该数据块中的该待快照子块的数据进行快照之后,若需要获取该数据块中的数据,即从快照中获取该数据块中的数据,则可以采用如下方式:获取该数据块的元数据信息,根据该元数据信息确定该数据块的参考快照、该数据块中的待快照子块的参考快照。针对该数据块中除待快照子块之外的其它子块,则从该数据块的参考快照中获取所述其它子块的数据;针对该数据块中的待快照子块,则从待快照子块的参考快照中获取待快照子块的数据。
例如,参见表7所示,为元数据信息的示例。针对数据块4来说,从该元数据信息可以得出,数据块4的参考快照为快照A,数据块4中的待快照子块[a,b]的参考快照为快照C。针对数据块4中的待快照子块[a,b],则从待快照子块[a,b]的参考快照(即快照C)中获取待快照子块[a,b]的数据(记为数据1)。针对数据块4中除待快照子块[a,b]之外的其它子块,则从数据块4的参考快照(即快照A)中获取该其它子块的数据(记为数据2)。然后,可以将数据1和数据2组合起来,得到数据块4的数据,至此,成功得到数据块4的数据。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
基于上述技术方案,本申请实施例中,数据块发生数据更新时,可以从数据块中确定待快照子块,对数据块中的待快照子块的数据进行快照,而不是对整个数据块的数据进行快照,待快照子块通常比较小,需要备份的数据量较小,因此,节省存储空间,节约存储资源,备份速度较快,用户体验比较好。
示例性的,当数据块中只写入少量数据时,可以对数据块中的待快照子块的数据进行快照,即仅备份被写入的待快照子块,避免了放大效应。对于零散写入多次小数据的场景,可以只备份一小块数据,让快照增量数据量明显降低。
基于与上述方法同样的申请构思,本申请实施例还提供一种数据快照装置,如图5所示,为所述数据快照装置的结构图,所述装置包括:
确定模块51,用于确定数据块发生数据更新;
判断模块52,用于判断所述数据块是否符合子块快照条件;
所述确定模块51,还用于如果是,则从所述数据块中确定待快照子块;其中,所述待快照子块是所述数据块中发生数据更新的子块;
快照模块53,用于对所述数据块中的所述待快照子块的数据进行快照。
所述判断模块52具体用于:根据所述数据块的特征信息判断所述数据块是否符合子块快照条件;其中,若所述数据块的特征信息包括所述数据块的子块进行快照的次数,则当所述次数不大于次数阈值时,确定所述数据块符合子块快照条件;当所述次数大于次数阈值时,则确定所述数据块不符合子块快照条件;若所述数据块的特征信息包括所述数据块发生变化的数据量,则当所述数据量不大于数据量阈值时,确定所述数据块符合子块快照条件;当所述数据量大于数据量阈值时,确定所述数据块不符合子块快照条件。
在一种可能的实施方式中,所述判断模块52具体用于:根据所述数据块的特征信息判断所述数据块是否符合子块快照条件。
所述数据块的特征信息包括所述数据块的子块进行快照的次数,所述判断模块52根据所述数据块的特征信息判断所述数据块是否符合子块快照条件时具体用于:若所述次数不大于次数阈值,则确定所述数据块符合子块快照条件;若所述次数大于次数阈值,则确定所述数据块不符合子块快照条件。
所述数据块的特征信息包括所述数据块发生变化的数据量,所述判断模块52根据所述数据块的特征信息判断所述数据块是否符合子块快照条件时具体用于:若数据量不大于数据量阈值,确定所述数据块符合子块快照条件;若数据量大于数据量阈值,确定所述数据块不符合子块快照条件。
在一种可能的实施方式中,所述快照模块53还用于:在判断所述数据块是否符合子块快照条件之后,如果否,则对所述数据块的数据进行快照。
在一种可能的实施方式中,所述确定模块51从所述数据块中确定待快照子块时具体用于:获取所述数据块的数据块状态,所述数据块状态包括所述数据块的参考快照、所述数据块中与所述参考快照发生数据更新的子块;根据所述数据块状态将发生数据更新的子块确定为待快照子块。
在一种可能的实施方式中,所述确定模块51还用于:在对所述数据块中的所述待快照子块的数据进行快照之前,获取所述数据块的元数据信息,所述元数据信息包括所述数据块的参考快照、所述数据块中的所述待快照子块的参考快照;其中,所述待快照子块的参考快照为当前快照周期的快照。
在一种可能的实施方式中,所述确定模块51还用于:在对所述数据块中的所述待快照子块的数据进行快照之后,获取所述数据块的元数据信息,根据所述元数据信息确定所述数据块的参考快照、所述数据块中的所述待快照子块的参考快照;针对所述数据块中除所述待快照子块之外的其它子块,则从所述数据块的参考快照中获取所述其它子块的数据;针对所述数据块中的所述待快照子块,则从所述待快照子块的参考快照中获取所述待快照子块的数据。
基于与上述方法同样的申请构思,本申请实施例还提供一种存储设备,包括:处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
确定数据块发生数据更新;
判断所述数据块是否符合子块快照条件;
如果是,则从所述数据块中确定待快照子块;其中,所述待快照子块是所述数据块中发生数据更新的子块;
对所述数据块中的所述待快照子块的数据进行快照。
本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令;所述计算机指令被执行时进行如下处理:
确定数据块发生数据更新;
判断所述数据块是否符合子块快照条件;
如果是,则从所述数据块中确定待快照子块;其中,所述待快照子块是所述数据块中发生数据更新的子块;
对所述数据块中的所述待快照子块的数据进行快照。
参见图6所示,为本申请实施例中提出的存储设备的结构图,所述存储设备60可以包括:处理器61,网络接口62,总线63,存储器64。存储器64可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据等等。例如,存储器64可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (13)

1.一种数据快照方法,其特征在于,所述方法包括:
确定数据块发生数据更新;
判断所述数据块是否符合子块快照条件;
如果是,则从所述数据块中确定待快照子块;其中,所述待快照子块是所述数据块中发生数据更新的子块;其中,所述从所述数据块中确定待快照子块,包括:获取所述数据块的数据块状态,所述数据块状态包括所述数据块的参考快照、所述数据块中与所述参考快照发生数据更新的子块;根据所述数据块状态将发生数据更新的子块确定为待快照子块;
对所述数据块中的所述待快照子块的数据进行快照;
获取所述数据块的元数据信息,根据所述元数据信息确定所述数据块的参考快照、所述数据块中的所述待快照子块的参考快照;
针对所述数据块中除所述待快照子块之外的其它子块,则从所述数据块的参考快照中获取所述其它子块的数据;针对所述数据块中的所述待快照子块,则从所述待快照子块的参考快照中获取所述待快照子块的数据。
2.根据权利要求1所述的方法,其特征在于,
所述判断所述数据块是否符合子块快照条件,包括:
根据所述数据块的特征信息判断所述数据块是否符合子块快照条件。
3.根据权利要求2所述的方法,其特征在于,
所述数据块的特征信息包括所述数据块的子块进行快照的次数,所述根据所述数据块的特征信息判断所述数据块是否符合子块快照条件,包括:
若所述次数不大于次数阈值,则确定所述数据块符合子块快照条件;
若所述次数大于次数阈值,则确定所述数据块不符合子块快照条件。
4.根据权利要求2所述的方法,其特征在于,
所述数据块的特征信息包括所述数据块发生变化的数据量,所述根据所述数据块的特征信息判断所述数据块是否符合子块快照条件,包括:
若所述数据量不大于数据量阈值,则确定所述数据块符合子块快照条件;
若所述数据量大于数据量阈值,则确定所述数据块不符合子块快照条件。
5.根据权利要求1-4任一项所述的方法,其特征在于,
所述判断所述数据块是否符合子块快照条件后,所述方法还包括:
如果否,则对所述数据块的数据进行快照。
6.根据权利要求1所述的方法,其特征在于,所述对所述数据块中的所述待快照子块的数据进行快照之前,所述方法还包括:
获取所述数据块的元数据信息,所述元数据信息包括所述数据块的参考快照、所述数据块中的所述待快照子块的参考快照。
7.根据权利要求1-4、6中任一所述的方法,其特征在于,
所述数据块包括云存储介质中的数据块。
8.一种数据快照方法,其特征在于,所述方法包括:
确定数据块发生数据更新;
从所述数据块中确定待快照子块;其中,所述待快照子块是所述数据块中发生数据更新的子块;其中,所述从所述数据块中确定待快照子块,包括:获取所述数据块的数据块状态,所述数据块状态包括所述数据块的参考快照、所述数据块中与所述参考快照发生数据更新的子块;根据所述数据块状态将发生数据更新的子块确定为待快照子块;
对所述数据块中的所述待快照子块的数据进行快照;
获取所述数据块的元数据信息,根据所述元数据信息确定所述数据块的参考快照、所述数据块中的所述待快照子块的参考快照;
针对所述数据块中除所述待快照子块之外的其它子块,则从所述数据块的参考快照中获取所述其它子块的数据;针对所述数据块中的所述待快照子块,则从所述待快照子块的参考快照中获取所述待快照子块的数据。
9.一种数据快照方法,其特征在于,所述方法包括:
确定数据块发生数据更新;
若所述数据块的子块进行快照的次数不大于次数阈值、所述数据块发生变化的数据量不大于数据量阈值,从所述数据块中确定待快照子块;所述待快照子块是所述数据块中发生数据更新的子块;其中,所述从所述数据块中确定待快照子块,包括:获取所述数据块的数据块状态,所述数据块状态包括所述数据块的参考快照、所述数据块中与所述参考快照发生数据更新的子块;根据所述数据块状态将发生数据更新的子块确定为待快照子块;
对所述数据块中的所述待快照子块的数据进行快照;
获取所述数据块的元数据信息,根据所述元数据信息确定所述数据块的参考快照、所述数据块中的所述待快照子块的参考快照;
针对所述数据块中除所述待快照子块之外的其它子块,则从所述数据块的参考快照中获取所述其它子块的数据;针对所述数据块中的所述待快照子块,则从所述待快照子块的参考快照中获取所述待快照子块的数据。
10.一种数据快照方法,其特征在于,应用于云存储设备,包括:
确定云存储介质的数据块发生数据更新;
判断所述数据块是否符合子块快照条件;
如果是,则从所述数据块中确定待快照子块;其中,所述待快照子块是所述数据块中发生数据更新的子块;其中,所述从所述数据块中确定待快照子块,包括:获取所述数据块的数据块状态,所述数据块状态包括所述数据块的参考快照、所述数据块中与所述参考快照发生数据更新的子块;根据所述数据块状态将发生数据更新的子块确定为待快照子块;
对所述数据块中的所述待快照子块的数据进行快照;
获取所述数据块的元数据信息,根据所述元数据信息确定所述数据块的参考快照、所述数据块中的所述待快照子块的参考快照;
针对所述数据块中除所述待快照子块之外的其它子块,则从所述数据块的参考快照中获取所述其它子块的数据;针对所述数据块中的所述待快照子块,则从所述待快照子块的参考快照中获取所述待快照子块的数据。
11.一种数据快照装置,其特征在于,所述装置包括:
确定模块,用于确定数据块发生数据更新;
判断模块,用于判断所述数据块是否符合子块快照条件;
所述确定模块,还用于如果是,则从所述数据块中确定待快照子块;其中,所述待快照子块是所述数据块中发生数据更新的子块;其中,所述确定模块从所述数据块中确定待快照子块时具体用于:获取所述数据块的数据块状态,所述数据块状态包括所述数据块的参考快照、所述数据块中与所述参考快照发生数据更新的子块;根据所述数据块状态将发生数据更新的子块确定为待快照子块;
快照模块,用于对所述数据块中的所述待快照子块的数据进行快照;获取所述数据块的元数据信息,根据所述元数据信息确定所述数据块的参考快照、所述数据块中的所述待快照子块的参考快照;针对所述数据块中除所述待快照子块之外的其它子块,则从所述数据块的参考快照中获取所述其它子块的数据;针对所述数据块中的所述待快照子块,则从所述待快照子块的参考快照中获取所述待快照子块的数据。
12.根据权利要求11所述的装置,其特征在于,所述判断模块具体用于:
根据所述数据块的特征信息判断所述数据块是否符合子块快照条件;
其中,若所述数据块的特征信息包括所述数据块的子块进行快照的次数,则当所述次数不大于次数阈值时,确定所述数据块符合子块快照条件;当所述次数大于次数阈值时,则确定所述数据块不符合子块快照条件;
若所述数据块的特征信息包括所述数据块发生变化的数据量,则当所述数据量不大于数据量阈值时,确定所述数据块符合子块快照条件;当所述数据量大于数据量阈值时,确定所述数据块不符合子块快照条件。
13.一种存储设备,其特征在于,包括:
处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
确定数据块发生数据更新;
判断所述数据块是否符合子块快照条件;
如果是,则从所述数据块中确定待快照子块;其中,所述待快照子块是所述数据块中发生数据更新的子块;其中,所述从所述数据块中确定待快照子块,包括:获取所述数据块的数据块状态,所述数据块状态包括所述数据块的参考快照、所述数据块中与所述参考快照发生数据更新的子块;根据所述数据块状态将发生数据更新的子块确定为待快照子块;
对所述数据块中的所述待快照子块的数据进行快照;
获取所述数据块的元数据信息,根据所述元数据信息确定所述数据块的参考快照、所述数据块中的所述待快照子块的参考快照;
针对所述数据块中除所述待快照子块之外的其它子块,则从所述数据块的参考快照中获取所述其它子块的数据;针对所述数据块中的所述待快照子块,则从所述待快照子块的参考快照中获取所述待快照子块的数据。
CN201911355428.7A 2019-12-25 2019-12-25 数据快照方法、装置及设备 Active CN113031851B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911355428.7A CN113031851B (zh) 2019-12-25 2019-12-25 数据快照方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911355428.7A CN113031851B (zh) 2019-12-25 2019-12-25 数据快照方法、装置及设备

Publications (2)

Publication Number Publication Date
CN113031851A CN113031851A (zh) 2021-06-25
CN113031851B true CN113031851B (zh) 2024-06-11

Family

ID=76458271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911355428.7A Active CN113031851B (zh) 2019-12-25 2019-12-25 数据快照方法、装置及设备

Country Status (1)

Country Link
CN (1) CN113031851B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103098035A (zh) * 2010-08-31 2013-05-08 日本电气株式会社 存储系统
CN109697021A (zh) * 2017-10-23 2019-04-30 阿里巴巴集团控股有限公司 一种磁盘快照的数据处理方法及装置
CN109753379A (zh) * 2017-11-08 2019-05-14 阿里巴巴集团控股有限公司 快照数据备份、删除方法、装置及系统
CN110018879A (zh) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 应用于分布式系统的延迟加载方法及装置
CN110018986A (zh) * 2017-11-08 2019-07-16 阿里巴巴集团控股有限公司 异常快照识别方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150244795A1 (en) * 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US10268695B2 (en) * 2014-10-28 2019-04-23 Hewlett Packard Enterprise Development Lp Snapshot creation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103098035A (zh) * 2010-08-31 2013-05-08 日本电气株式会社 存储系统
CN109697021A (zh) * 2017-10-23 2019-04-30 阿里巴巴集团控股有限公司 一种磁盘快照的数据处理方法及装置
CN109753379A (zh) * 2017-11-08 2019-05-14 阿里巴巴集团控股有限公司 快照数据备份、删除方法、装置及系统
CN110018986A (zh) * 2017-11-08 2019-07-16 阿里巴巴集团控股有限公司 异常快照识别方法及装置
CN110018879A (zh) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 应用于分布式系统的延迟加载方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Jing Yang ; Qiang Cao ; Xu Li ; Changsheng Xie ; Qing Yang.ST-CDP: Snapshots in TRAP for Continuous Data Protection.IEEE Transactions on Computers.2011,全文. *
一种远程备份数据虚拟重构方法;张也;刘晓洁;邓健;;四川大学学报(自然科学版);20150928(第05期);全文 *
浅谈确保业务连续性的数据备份技术;李蓬;;数字石油和化工;20090925(第Z2期);全文 *

Also Published As

Publication number Publication date
CN113031851A (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
CN103019888B (zh) 备份方法与装置
CN102508785B (zh) 一种磨损均衡方法及装置
CN107484427B (zh) 用于处理存储设备中分条的方法和存储设备
CN107506266B (zh) 一种数据恢复方法及系统
KR102031606B1 (ko) 버저닝된 메모리 구현
CN113867645B (zh) 数据迁移和数据读写方法、装置、计算机设备及存储介质
US9672113B1 (en) Data recovery from multiple data backup technologies
CN109086425B (zh) 用于数据库的数据处理方法和装置
CN111324303A (zh) Ssd垃圾回收方法、装置、计算机设备及存储介质
CN103221925A (zh) 数据处理方法和存储设备
CN104077380A (zh) 一种重复数据删除方法、装置及系统
CN112269681A (zh) 一种持续保护虚拟机数据的方法、装置及设备
CN112632643A (zh) 防止闪存数据丢失的方法、固态硬盘控制器、固态硬盘
CN110019063B (zh) 计算节点数据容灾回放的方法、终端设备及存储介质
CN105022680A (zh) 一种数据备份方法及装置
CN104461791A (zh) 一种信息处理方法及处理装置
CN105589733A (zh) 一种数据处理方法和装置
CN104866388B (zh) 数据处理方法及装置
CN109426587B (zh) 一种数据恢复方法及装置
CN113641446A (zh) 内存快照创建方法、装置、设备及可读存储介质
KR101548452B1 (ko) 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
CN110825559A (zh) 一种数据处理方法及设备
CN110471625B (zh) 坏块信息保护方法、装置、计算机设备及存储介质
CN113031851B (zh) 数据快照方法、装置及设备
US8825600B2 (en) File backup apparatus and method for backing up one or more directories

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