CN115328851A - 一种数据保护方法、装置、设备及介质 - Google Patents

一种数据保护方法、装置、设备及介质 Download PDF

Info

Publication number
CN115328851A
CN115328851A CN202210936609.4A CN202210936609A CN115328851A CN 115328851 A CN115328851 A CN 115328851A CN 202210936609 A CN202210936609 A CN 202210936609A CN 115328851 A CN115328851 A CN 115328851A
Authority
CN
China
Prior art keywords
snapshot
metadata
time point
target
data
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
CN202210936609.4A
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.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud 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 Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202210936609.4A priority Critical patent/CN115328851A/zh
Publication of CN115328851A publication Critical patent/CN115328851A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供了一种数据保护方法、装置、设备及介质,该方法中只有当接收到访问快照指令,即用户需要使用快照时,才生成快照卷,并将用户需要使用的快照对应数据块的目标元数据赋予这个快照卷。通过新的元数据管理方式,将快照时间点的记录保存在系统中,将每一个快照卷都从时间点的记录中剥离出来。并非每次快照都生成快照卷,无需维护大量额外的快照卷,节省了存储空间。创建快照时只是对数据块做标记,属于正常系统性能开销,没有大量额外指针操作,快照资源开销少,性能影响小。同时无需维护大量额外的快照指针,快照的数量远多于其他存储,可以在更短的时间间隔内生成快照,可持续进行数据保护,最大程度减少各种原因导致的数据丢失。

Description

一种数据保护方法、装置、设备及介质
技术领域
本申请涉及大规模分布式块存储领域,尤其涉及一种数据保护方法、装置、设备及介质。
背景技术
快照是分布式存储的一个重要功能,主要用于在线数据备份与恢复,可防范逻辑故障风险,比如文件格式损坏、系统崩溃以及误删除操作等。快照通常也被称为“元数据”拷贝,即所有的数据并没有被真正拷贝到另一个位置,只是指示数据实际所存储位置的指针被拷贝。当前分布式存储块设备的快照有部分采用写时重定向(Redirect-on-Write,ROW)机制生成快照卷。采用这种机制,创建快照卷后,后续再对快照卷对应的数据进行修改时,直接将新数据写入到该快照卷的预留的快照空间中,并根据源卷和快照卷上的数据存储位置建立映射,读取数据时根据映射表来读,快照创建前的数据从源卷读取,快照创建后的数据从快照卷读取。
但是当前技术存在以下的问题:
快照卷占用太多存储空间的问题。这是因为每次创建快照时都会生成一个快照卷,并创建一份相应数据块的元数据赋予这个快照卷,这使得每次快照都要涉及大量元数据的拷贝操作,快照卷需要预留一定比例的存储空间;同时还需要在快照卷中预留一定比例的存储空间,便于后续修改数据的写入,因此,可能会因为预留存储空间不足导致无法持续创建快照卷,无法对后续写入的数据进行持续性的数据保护。并且一旦某个快照卷被删除或者被覆盖,这个快照将无法继续使用,导致无法对已经写入的数据进行持续性的数据保护。
因此,需要一种占存储空间小、能够对数据进行持续性保护的快照方法,解决现有技术中的弊端。
发明内容
本申请提供了一种数据保护方法、装置、设备及介质,用于解决现有技术中的快照卷占空间太多,且无法对数据进行持续性的数据保护的问题。
本申请实施例提供的具体技术方案如下:
第一方面,本申请提供了一种数据保护方法,所述方法包括:
若接收到访问快照指令,则根据数据块的元数据中标记的快照时间点及所述访问快照指令中携带的目标快照时间点,针对所述目标快照时间点,将标记有所述目标快照时间点的元数据,确定为目标元数据,并将标记的快照时间点早于所述目标快照时间点、且与标记有所述目标快照时间点的逻辑地址无对应关系的元数据确定为目标元数据;基于所述目标元数据,生成快照卷。
在一种可能的实施方式中,所述方法还包括:若接收到对所述快照卷对应的目标数据块的修改操作,根据所述修改操作确定修改后的数据,将修改后的数据保存到新的数据块中。
在一种可能的实施方式中,所述方法还包括:将所述新的数据块的元数据中的逻辑地址记录为与所述目标数据块的逻辑地址对应的逻辑地址。
在一种可能的实施方式中,所述方法还包括:判断当前时间与接收到所述访问快照指令之间的时间间隔是否大于预设的时长阈值;若是,则删除所述快照卷。
在一种可能的实施方式中,在数据块的元数据中标记时间包括:接收携带待创建快照的数据源卷的标识信息的创建快照指令;确定所述标识信息的数据源卷中未标记为只读模式的原数据块,在所述原数据块的元数据中标记快照时间点,其中该快照时间点为接收到所述创建快照指令的时间。
在一种可能的实施方式中,所述方法还包括:将所述原数据块标记为只读。
在一种可能的实施方式中,所述在所述原数据块的元数据中标记快照时间点之后,所述方法还包括:
在包含所述数据源卷的文件系统中记录所述快照时间点以及所述快照时间点对应标记的数据块的逻辑地址。
第二方面,本申请提供了一种数据保护装置,所述装置包括:
确定模块,用于若接收到访问快照指令,则根据数据块的元数据中标记的快照时间点及所述访问快照指令中携带的目标快照时间点,针对所述目标快照时间点,将标记有所述目标快照时间点的元数据,确定为目标元数据,并将标记的快照时间点早于所述目标快照时间点、且与标记有所述目标快照时间点的逻辑地址无对应关系的元数据确定为目标元数据;
生成模块,用于基于所述目标元数据,生成快照卷。
在一种可能的实施方式中,所述装置还包括:
修改模块,用于若接收到对所述快照卷对应的目标数据块的修改操作,根据所述修改操作确定修改后的数据,将修改后的数据保存到新的数据块中。
在一种可能的实施方式中,所述装置还包括:
判断删除模块,用于判断当前时间与接收到所述访问快照指令之间的时间间隔是否大于预设的时长阈值;若是,则删除所述快照卷。
在一种可能的实施方式中,所述装置还包括:
标记模块,用于接收携带待创建快照的数据源卷的标识信息的创建快照指令;确定所述标识信息的数据源卷中未标记为只读模式的原数据块,在所述原数据块的元数据中标记快照时间点,其中该快照时间点为接收到所述创建快照指令的时间。
在一种可能的实施方式中,所述标记模块,还用于将所述原数据块标记为只读。
在一种可能的实施方式中,所述标记模块,具体用于将所述新的数据块的元数据中的逻辑地址记录为与所述目标数据块的逻辑地址对应的逻辑地址。
在一种可能的实施方式中,所述标记模块,还用于在包含所述数据源卷的文件系统中记录所述快照时间点以及所述快照时间点对应标记的数据块的逻辑地址。
第三方面,本申请提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任一所述数据保护方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一所述数据保护方法的步骤。
本申请中只有当接收到访问快照指令,即用户需要使用快照时,才生成快照卷,并将用户需要使用的快照对应的数据块的目标元数据赋予这个快照卷。通过新的元数据管理方式,将快照时间点的记录保存在系统中,将每一个快照卷都从时间点的记录中剥离了出来。并非每次快照都生成快照卷,无需维护大量额外的快照卷,节省了存储空间。创建快照时只是对数据块做标记,属于正常系统性能开销,没有大量额外指针操作,快照资源开销少,性能影响小。快照的数量远多于其他存储,无需维护大量额外的快照指针,可以在更短的时间间隔内生成快照,可持续进行数据保护,最大程度减少各种原因导致的数据丢失。
附图说明
图1为本申请实施例提供的一种数据保护方法的过程示意图;
图2a为本申请实施例提供的一种数据源卷及其包含的数据块的示意图;
图2b为本申请实施例提供的一种第一次快照标记后的数据源卷及其包含的数据块的示意图;
图2c为本申请实施例提供的一种第一次快照标记后被修改的数据源卷及其包含的数据块的示意图;
图3为本申请实施例提供的一种多次快照标记后的当前系统容量及其包含的快照标记的数据块的示意图;
图4为本申请实施例提供的一种数据保护装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。
本申请提供了一种数据保护方法、装置、设备及介质,该方法中若接收到访问快照指令,则根据数据块的元数据中标记的快照时间点及所述访问快照指令中携带的目标快照时间点,针对所述目标快照时间点,将标记有所述目标快照时间点的元数据,确定为目标元数据,并将标记的快照时间点早于所述目标快照时间点、且与标记有所述目标快照时间点的逻辑地址无对应关系的元数据确定为目标元数据;基于所述目标元数据,生成快照卷。
为了能够节省存储空间且能够对数据进行持续性的保护,本申请提供了一种数据保护方法、装置、设备及介质。
实施例1:
图1为本申请实施例提供的一种数据保护方法的过程示意图,该过程包括:
S101:若接收到访问快照指令,则根据数据块的元数据中标记的快照时间点及所述访问快照指令中携带的目标快照时间点,针对所述目标快照时间点,将标记有所述目标快照时间点的元数据,确定为目标元数据,并将标记的快照时间点早于所述目标快照时间点、且与标记有所述目标快照时间点的逻辑地址无对应关系的元数据确定为目标元数据。
本申请实施例提供的数据保护方法应用于电子设备,该电子设备可以是PC、服务器、分布式存储块设备等。
为了节省存储空间,并且对数据进行持续性的数据保护,只有当接收到访问快照指令即用户需要使用快照时,才生成快照卷,并将用户需要使用的快照对应的数据块的目标元数据赋予这个快照卷。这属于正常系统性能开销,没有大量额外操作,在节省磁盘空间的同时保证性能不损失,并能够持续性的进行数据保护。这种方式在快照被使用前,电子设备无需维护大量额外的快照卷,缓存占用少,几乎没有性能降级,特别针对多个时间点的快照,只是用于防范数据损坏的快照使用场景。
访问快照指令中携带有目标快照时间点,该目标快照时间点也就是用户需要使用快照的快照时间点,根据该访问快照指令中携带的目标时间点以及数据块的元数据中标记的快照时间点,可以确定目标元数据,该目标元数据即为用户需要使用的快照的元数据。具体的,数据块中的元数据中标记有快照时间,该目标快照时间点可以是快照时间中的任一时间,也可以是发送访问快照指令的时间。在确定目标元数据时,可以将是数据块中的元数据中标记的快照时间与目标快照时间点一致的元数据,作为目标元数据。
元数据又称中介数据、中继数据,为描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。基于目标元数据,可以生成快照卷供用户查阅使用。
为了生成此次的快照卷,在本申请实施例中将标记有该目标快照时间点的元数据,确定为目标元数据,并将标记的快照时间点早于该目标快照时间点、且与标记有该目标快照时间点的逻辑地址无对应关系的元数据确定为目标元数据。
因为当接收到携带待创建快照的数据源卷的标识信息的创建快照指令时,会确定该标识信息的数据源卷中未标记为只读模式的原数据块,在该原数据块的元数据中标记快照时间点,快照时间点就是接收到创建快照指令的时间。
每次标记快照时间点仅针对于未标记为只读模式的原数据块,也就是每次快照仅标记上一次快照后未被标记的新的数据块。新的数据块保存有上一次快照后,被修改的数据块中的数据被修改后的数据,且与被修改的数据块的逻辑地址对应,相当于上一次快照中的数据块被修改后的更新版本。所以,每次快照不包含上一次快照后未被修改、且已被标记为只读的数据块,也就是每次快照标记的数据块不包含与上一次快照的数据块的逻辑地址无对应关系的数据块。
因此,如果接收到目标快照时间点,说明需要将该目标快照时间点对应的元数据确定为目标元数据,并将标记的快照时间点早于该目标快照时间点、且与标记有该目标快照时间点的逻辑地址无对应关系的元数据,确定为目标元数据。也就是还需要将该目标快照时间点之前的快照,标记的数据块的最新版即与目标快照时间点的逻辑地址无对应关系的数据块的元数据确定为目标元数据。
在本申请实施例中,根据目标快照时间点将标记有目标快照时间点的元数据,确定为目标元数据,并将标记的快照时间点早于目标快照时间点、且与标记有目标快照时间点的逻辑地址无对应关系的元数据确定为目标元数据,能够准确的对目标快照时间点时刻,保护的全部数据的最新版进行查阅使用,保证了用户想访问的目标快照时间点的数据的完整性。
S102:基于所述目标元数据,生成快照卷。
在本申请实施例中,只有当接收到访问快照指令,即用户需要使用快照时,才生成快照卷,并将用户需要使用的快照对应的数据块的目标元数据赋予这个快照卷。并非每次快照都生成快照卷,无需维护大量额外的快照卷,节省了存储空间。
实施例2:
为了能够节省存储空间,并提高快照生成效率,在上述各实施例的基础上,在本实施例中,所述方法还包括:
若接收到对所述快照卷对应的目标数据块的修改操作,根据所述修改操作确定修改后的数据,将修改后的数据保存到新的数据块中。
如果接收到对该快照卷对应的目标数据块的修改操作即用户需要对查阅到的快照卷中的数据进行修改,为了进一步节省存储空间,根据该修改操作确定修改后的数据,并将修改后的数据保存到新的数据块,通过一个新的数据块保存修改后的数据。
本申请实施例在接收到对快照卷对应的目标数据块的修改操作时,通过一个新的数据块保存修改后的数据,而非将修改后的数据保存在数据卷中,进一步节省了存储空间。
实施例3:
为了能够节省存储空间,并提高快照生成效率,在上述各实施例的基础上,在本实施例中,所述方法还包括:
将所述新的数据块的元数据中的逻辑地址记录为与所述目标数据块的逻辑地址对应的逻辑地址。
因为数据块是一个很小的数据单元,新的数据块中保存有针对该目标数据块修改后的数据,也就可以认为是目标数据块的新版本,为了能够方便用户查阅,在新的数据块的元数据中的逻辑地址记录为与该目标数据块的逻辑地址对应的逻辑地址。逻辑地址也就是能直接查找到该数据块的数据地址。
在现有技术中,修改后的数据直接写入数据卷中预留的对应逻辑地址中,同时,并将数据源卷和快照卷的逻辑地址写入映射表,在读取数据时,根据映射表来读取;而本申请实施例中,修改后的数据可以写入新的数据块,快照时将新的数据块的元数据中的逻辑地址记录为与该目标数据块的逻辑地址对应的逻辑地址,如此直接根据快照的元数据中记录的逻辑地址读取即可,提高了快照生成效率。
在本申请实施例中,通过将新的数据块的元数据中的逻辑地址记录为与所述目标数据块的逻辑地址对应的逻辑地址,能够节省了存储空间,并提高快照生成效率。
实施例4:
为了进一步节省存储空间,在上述实施例的基础上,在本实施例中,所述方法还包括:
判断当前时间与接收到所述访问快照指令之间的时间间隔是否大于预设的时长阈值;若是,则删除所述快照卷。
为了进一步节省存储空间,可以预先设置时长阈值,该时长阈值是使用快照卷所需的最长时间。因为接收到访问快照指令,也就说明需要使用快照卷,因此生成了快照卷,并记录接收到该访问快照指令的时间,之后实时判断当前时间与接收到该访问快照指令之间的时间间隔是否大于预设的时长阈值,若是,可以认为已经使用完该快照卷,则删除该快照卷。
在本申请实施例中,通过预先设置用户使用快照卷所需的时长阈值,判断使用快照卷的时间是否大于该时长阈值,若是,则可以删除该快照卷,进一步节省了存储空间。
实施例5:
为了能够对不同的快照以及每次快照保护的数据进行区分,在上述各实施例的基础上,在本实施例中,在数据块的元数据中标记时间包括:
接收携带待创建快照的数据源卷的标识信息的创建快照指令;
确定所述标识信息的数据源卷中未标记为只读模式的原数据块,在所述原数据块的元数据中标记快照时间点,其中该快照时间点为接收到所述创建快照指令的时间。
当接收到输入的创建快照指令时,获取该创建快照指令中携带的待创建快照的数据源卷的标识信息,也就是用户想创建快照的数据源卷的名称等唯一标识该数据源卷的信息。根据该标识信息可以确定用户想创建快照的数据源卷。一个数据源卷包含多个数据块。
图2a为本申请实施例提供的一种数据源卷及其包含的数据块的示意图。如图2a所示,在创建快照之前(Before Snapshot),待创建快照的数据源卷的标识信息也就是文件名为激活的文件系统(Active file systerm),其中包含有A,B,C,D四个数据块(Blocks ofdata)。
为了方便对快照保护的数据进行区分,在本申请的实施例中,确定该标识信息的数据源卷中未标记为只读模式的原数据块,也就是确定用户想创建快照的数据源卷中没有被保护的数据块。
在该原数据块的元数据中标记快照时间点,也就是将该快照时间添加到该原数据块的元数据中,作为本次快照的快照时间点,该快照时间点即为接收到该创建快照指令的时间。
在元数据结构中新增加快照时间点标记,将每一个快照卷都从快照时间点的记录中剥离了出来,即使删除了快照卷,快照时间点的记录依然保存在电子设备中,由此可以再次创建这个时间点的快照卷,并重复多次使用。
多次快照时只标记两次快照时间间隔内数据块变化的元数据。改变的数据块通过元数据与数据源卷之间做基于时间点的对应,这使得快照创建速度有提升,同时快照资源开销少,性能影响小。由于维护快照的资源和性能开销极其微小,使得快照数量远远多于其它存储,可以在更短的时间间隔内生成快照,进而实现存储阵列的连续数据保护。
在本申请实施例中,当接收到携带待创建快照的数据源卷的标识信息的创建快照指令时,确定该标识信息的数据源卷中未标记为只读模式的原数据块,在该原数据块的元数据中将接收到所述创建快照指令的时间标记为快照时间点,从而能够根据该快照时间点,对不同的快照以及每次快照保护的数据进行区分,以便后续使用。
为了能够对数据进行保护,在上述各实施例的基础上,在本实施例中,所述方法还包括:将所述原数据块标记为只读。
原数据块为该标识信息的数据源卷中未标记为只读模式的数据块,也就是确定用户想创建快照的数据源卷中没有被保护的数据块。将该原数据块标记为只读,从而对该数据块进行保护。
实施例6:
为了准确、快速的对保护的数据进行查阅使用,在上述各实施例的基础上,在本实施例中,所述在所述原数据块的元数据中标记快照时间点之后,所述方法还包括:
在包含所述数据源卷的文件系统中记录所述快照时间点以及所述快照时间点对应标记的数据块的逻辑地址。
在本申请实施例中,在所述原数据块的元数据中标记快照时间点之后,还可以在包含数据原卷的文件系统中记录该快照时间点,以及该快照时间点对应标记的数据块的逻辑地址。便于在使用快照时,能够便于根据文件系统中记录快照时间点以及快照时间点对应标记的数据块的逻辑地址,确定目标时间点对应的目标数据块的目标逻辑地址,进而根据目标逻辑地址能够直接查找到目标数据块。
本申请实施例通过新的快照管理方式,将快照时间点以及该快照时间点对应标记的数据块的逻辑地址保存在系统中,将每一个快照卷都从时间点的记录中剥离了出来。在使用快照时不需要再对所有快照的元数据进行一一查找,提高了使用快照的便捷性。
下面结合一个具体的例子,对本申请实施例提供的数据保护方法进行说明。
以上述图2a为例进行说明,在第一次创建快照之前,该标识信息的数据源卷中的未标记为只读模式的原数据块为全部数据块。图2b为本申请实施例提供的一种第一次快照标记后的数据源卷及其包含的数据块的示意图。如图2b所示,第一次创建快照时,即在第一次接收到携带待创建快照的数据源卷的标识信息的创建快照指令时,确定该标识信息的数据源卷中未标记为只读模式的原数据块,会对应的将标记该标识信息的数据源卷中的全部原数据块标记为只读,即将A,B,C,D四个数据块标记为只读,并在四个数据块的元数据中标记快照时间点。在第一次创建快照之后,如果存在数据块中的数据被修改。图2c为本申请实施例提供的一种第一次快照标记后被修改的数据源卷及其包含的数据块的示意图。如图2c所示,数据修改之后(After data modification),数据块D的数据被修改,修改后的数据保存到新的数据块中,并且新的数据块的元数据中的逻辑地址记录为与所述目标数据块的逻辑地址对应的逻辑地址D1。
下面结合另一个实施例,对本申请实施例提供的数据保护方法进行说明。
图3为本申请实施例提供的一种多次快照标记后的当前数据源卷(Currentvolume)及其包含的快照标记的数据块的示意图。
如图3所示,第一次快照(Snapshot 1),即在第一次接收到携带待创建快照的数据源卷的标识信息的创建快照指令时,确定该标识信息的数据源卷中未标记为只读模式的原数据块,在该原数据块的元数据中标记快照时间点,其中该快照时间点为接收到该创建快照指令的时间。并将该原数据块标记为只读。具体的,在数据源卷的未标记的原数据块:A,B,C,D,E的元数据中标记Snapshot 1的快照时间点,并将原数据块A,B,C,D,E标记为只读(Read only,R/O),其中,原数据块B对应的数据内容为空,所以原数据块B为可使用的只读数据块(Accessible R/O data),而原数据块A,C,D,E中均包含数据,因此原数据块A,C,D,E为不可使用的只读数据块(Iccessible R/O data)。在Snapshot 1之后,原数据块A和C中的数据被修改,修改后的数据保存在与原数据块A和C逻辑地址对应的数据块A1和C1中。因为Snapshot 1已经将原数据块A,B,C,D,E标记过了,所以Snapshot 2只标记未被标记过的数据块A1和C1即可。同理,Snapshot 3只标记未被Snapshot 2标记过的数据块C1,D1,E1和F,Snapshot 4只标记未被Snapshot 3标记过的数据块A2,D2。数据块A3和F1为Snapshot 4之后,对数据块A2和F被修改后对应的新的未被标记的可读写数据块(Accessible Readwrite data,Accessible R/W data)。此时待创建快照(Active snapshot)的数据块为数据块A3和F1,接到创建快照指令后可创建快照Active snapshot。若该Active snapshot生成后,用户想使用快照,则访问快照指令中携带的目标时间是接收到该Active snapshot创建快照指令的时间,生成的快照卷对应的元数据为Active snapshot对应的数据块A3和F1,以及标记的快照时间点早于Active snapshot、且与标记有Active snapshot快照时间点的逻辑地址无对应关系的数据块B,C2,D2,E1的元数据。
在本申请实施例中,每次快照只标记未被上次快照标记的数据块,大大节省了系统的存储空间,并且在用户需要使用快照,生成快照卷时,快照卷包含快照过的全部数据的最新版,便于用户查阅使用。
在上述各实施例的基础上,本申请还提供了一种数据保护装置,图4为本申请实施例提供的一种数据保护装置的结构示意图,如图4所示,所述装置包括:
确定模块401,用于若接收到访问快照指令,则根据数据块的元数据中标记的快照时间点及所述访问快照指令中携带的目标快照时间点,针对所述目标快照时间点,将标记有所述目标快照时间点的元数据,确定为目标元数据,并将标记的快照时间点早于所述目标快照时间点、且与标记有所述目标快照时间点的逻辑地址无对应关系的元数据确定为目标元数据;基于所述目标元数据,生成快照卷。
生成模块402,用于基于所述目标元数据,生成快照卷。
在一种可能的实施方式中,所述装置还包括:
修改模块,用于若接收到对所述快照卷对应的目标数据块的修改操作,根据所述修改操作确定修改后的数据,将修改后的数据保存到新的数据块中。
在一种可能的实施方式中,所述装置还包括:
判断删除模块,用于判断当前时间与接收到所述访问快照指令之间的时间间隔是否大于预设的时长阈值;若是,则删除所述快照卷。
在一种可能的实施方式中,所述装置还包括:
标记模块,用于接收携带待创建快照的数据源卷的标识信息的创建快照指令;确定所述标识信息的数据源卷中未标记为只读模式的原数据块,在所述原数据块的元数据中标记快照时间点,其中该快照时间点为接收到所述创建快照指令的时间。
在一种可能的实施方式中,所述标记模块,还用于将所述原数据块标记为只读。
在一种可能的实施方式中,所述标记模块,具体用于将所述新的数据块的元数据中的逻辑地址记录为与所述目标数据块的逻辑地址对应的逻辑地址。
在一种可能的实施方式中,所述标记模块,还用于在包含所述数据源卷的文件系统中记录所述快照时间点以及所述快照时间点对应标记的数据块的逻辑地址。
该装置具体可以部署在终端中,终端的其他功能具体参见上述其他实施例的描述。
在上述各实施例的基础上,本申请还提供了一种电子设备,图5为本申请实施例提供的一种电子设备的结构示意图。
如图5所示,包括:处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信;
所述存储器503中存储有计算机程序,当所述程序被所述处理器501执行时,使得所述处理器501执行如下步骤:
若接收到访问快照指令,则根据数据块的元数据中标记的快照时间点及所述访问快照指令中携带的目标快照时间点,针对所述目标快照时间点,将标记有所述目标快照时间点的元数据,确定为目标元数据,并将标记的快照时间点早于所述目标快照时间点、且与标记有所述目标快照时间点的逻辑地址无对应关系的元数据确定为目标元数据;基于所述目标元数据,生成快照卷。
在一种可能的实施方式中,处理器501,还用于若接收到对所述快照卷对应的目标数据块的修改操作,根据所述修改操作确定修改后的数据,将修改后的数据保存到新的数据块中。
在一种可能的实施方式中,处理器501,还用于判断当前时间与接收到所述访问快照指令之间的时间间隔是否大于预设的时长阈值;若是,则删除所述快照卷。
在一种可能的实施方式中,处理器501,具体用于接收携带待创建快照的数据源卷的标识信息的创建快照指令;确定所述标识信息的数据源卷中未标记为只读模式的原数据块,在所述原数据块的元数据中标记快照时间点,其中该快照时间点为接收到所述创建快照指令的时间。
在一种可能的实施方式中,处理器501,还用于将所述原数据块标记为只读。
在一种可能的实施方式中,处理器501,还用于将所述新的数据块的元数据中的逻辑地址记录为与所述目标数据块的逻辑地址对应的逻辑地址。
在一种可能的实施方式中,处理器501,还用于在包含所述数据源卷的文件系统中记录所述快照时间点以及所述快照时间点对应标记的数据块的逻辑地址。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口502用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
由于本申请实施例只有当接收到访问快照指令,即用户需要使用快照时,才生成快照卷,并将用户需要使用的快照对应的数据块的目标元数据赋予这个快照卷。并非每次快照都生成快照卷,无需维护大量额外的快照卷,节省了存储空间。并且在接收到对快照卷对应的目标数据块的修改操作时,通过一个新的数据块保存修改后的数据,而非将修改后的数据保存在数据卷中,进一步节省了存储空间。
在上述各实施例的基础上,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
若接收到访问快照指令,则根据数据块的元数据中标记的快照时间点及所述访问快照指令中携带的目标快照时间点,针对所述目标快照时间点,将标记有所述目标快照时间点的元数据,确定为目标元数据,并将标记的快照时间点早于所述目标快照时间点、且与标记有所述目标快照时间点的逻辑地址无对应关系的元数据确定为目标元数据基于所述目标元数据,生成快照卷。
在一种可能的实施方式中,若接收到对所述快照卷对应的目标数据块的修改操作,根据所述修改操作确定修改后的数据,将修改后的数据保存到新的数据块中。
在一种可能的实施方式中,判断当前时间与接收到所述访问快照指令之间的时间间隔是否大于预设的时长阈值;若是,则删除所述快照卷。
在一种可能的实施方式中,在数据块的元数据中标记时间包括:
接收携带待创建快照的数据源卷的标识信息的创建快照指令;确定所述标识信息的数据源卷中未标记为只读模式的原数据块,在所述原数据块的元数据中标记快照时间点,其中该快照时间点为接收到所述创建快照指令的时间。
在一种可能的实施方式中,将所述原数据块标记为只读。
在一种可能的实施方式中,将所述新的数据块的元数据中的逻辑地址记录为与所述目标数据块的逻辑地址对应的逻辑地址。
在一种可能的实施方式中,将所述新的数据块的元数据中的逻辑地址记录为与所述目标数据块的逻辑地址对应的逻辑地址。
上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD)等。
由于本申请实施例只有当接收到访问快照指令,即用户需要使用快照时,才生成快照卷,并将用户需要使用的快照对应的数据块的目标元数据赋予这个快照卷。通过新的元数据管理方式,将快照时间点的记录保存在系统中,将每一个快照卷都从时间点的记录中剥离了出来。并非每次快照都生成快照卷,无需维护大量额外的快照卷,节省了存储空间。创建快照时只是对数据块做标记,属于正常系统性能开销,没有大量额外指针操作,快照资源开销少,性能影响小。快照的数量远多于其他存储,无需维护大量额外的快照指针,可以在更短的时间间隔内生成快照,可持续进行数据保护,最大程度减少各种原因导致的数据丢失。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种数据保护方法,其特征在于,所述方法包括:
若接收到访问快照指令,则根据数据块的元数据中标记的快照时间点及所述访问快照指令中携带的目标快照时间点,针对所述目标快照时间点,将标记有所述目标快照时间点的元数据,确定为目标元数据,并将标记的快照时间点早于所述目标快照时间点、且与标记有所述目标快照时间点的逻辑地址无对应关系的元数据确定为目标元数据;
基于所述目标元数据,生成快照卷。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若接收到对所述快照卷对应的目标数据块的修改操作,根据所述修改操作确定修改后的数据,将修改后的数据保存到新的数据块中。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述新的数据块的元数据中的逻辑地址记录为与所述目标数据块的逻辑地址对应的逻辑地址。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断当前时间与接收到所述访问快照指令之间的时间间隔是否大于预设的时长阈值;
若是,则删除所述快照卷。
5.根据权利要求1所述的方法,其特征在于,在数据块的元数据中标记时间包括:
接收携带待创建快照的数据源卷的标识信息的创建快照指令;
确定所述标识信息的数据源卷中未标记为只读模式的原数据块,在所述原数据块的元数据中标记快照时间点,其中该快照时间点为接收到所述创建快照指令的时间。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
将所述原数据块标记为只读。
7.根据权利要求5所述的方法,其特征在于,所述在所述原数据块的元数据中标记快照时间点之后,所述方法还包括:
在包含所述数据源卷的文件系统中记录所述快照时间点以及所述快照时间点对应标记的数据块的逻辑地址。
8.一种数据保护装置,其特征在于,所述装置包括:
确定模块,用于若接收到访问快照指令,则根据数据块的元数据中标记的快照时间点及所述访问快照指令中携带的目标快照时间点,针对所述目标快照时间点,将标记有所述目标快照时间点的元数据,确定为目标元数据,并将标记的快照时间点早于所述目标快照时间点、且与标记有所述目标快照时间点的逻辑地址无对应关系的元数据确定为目标元数据;
生成模块,用于基于所述目标元数据,生成快照卷。
9.一种电子设备,其特征在于,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-7中任一所述数据保护方法的步骤。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一所述数据保护方法的步骤。
CN202210936609.4A 2022-08-05 2022-08-05 一种数据保护方法、装置、设备及介质 Pending CN115328851A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210936609.4A CN115328851A (zh) 2022-08-05 2022-08-05 一种数据保护方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210936609.4A CN115328851A (zh) 2022-08-05 2022-08-05 一种数据保护方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN115328851A true CN115328851A (zh) 2022-11-11

Family

ID=83922757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210936609.4A Pending CN115328851A (zh) 2022-08-05 2022-08-05 一种数据保护方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115328851A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115981574A (zh) * 2023-03-10 2023-04-18 阿里巴巴(中国)有限公司 一种快照存储方法、系统、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115981574A (zh) * 2023-03-10 2023-04-18 阿里巴巴(中国)有限公司 一种快照存储方法、系统、设备及存储介质
CN115981574B (zh) * 2023-03-10 2023-08-04 阿里巴巴(中国)有限公司 一种快照存储方法、系统、设备及存储介质

Similar Documents

Publication Publication Date Title
CN101983376B (zh) 访问装置、信息记录装置、信息记录系统、文件管理方法和程序
CN103608866A (zh) 用于闪存存储器的数据擦除方法及装置
CN109614055B (zh) 快照创建方法、装置、电子设备及机器可读存储介质
CN108829342B (zh) 一种日志存储方法、系统及存储装置
CN112558868B (zh) 一种配置数据存储的方法和装置及设备
CN110147203B (zh) 一种文件管理方法、装置、电子设备及存储介质
CN110765076A (zh) 数据存储方法、装置、电子设备及存储介质
CN113568579B (zh) 一种存储器、数据存储方法以及数据读取方法
CN109213450B (zh) 一种基于闪存阵列的关联元数据删除方法、装置及设备
EP3385846B1 (en) Method and device for processing access request, and computer system
CN114089915B (zh) 基于flash存储器的文件追加写操作方法及装置
CN106095331B (zh) 一种固定大文件内部资源的控制方法
CN115328851A (zh) 一种数据保护方法、装置、设备及介质
CN111382011A (zh) 一种文件数据存取方法、装置和计算机可读存储介质
CN111143236A (zh) 一种内存映射实现队列及其数据读取和写入方法
CN110795031A (zh) 一种基于全闪存储的数据重删方法、装置和系统
KR20090119481A (ko) 파일 시스템의 로그 파일 및 상기 파일 시스템의 오류 복구방법
CN114327292B (zh) 文件管理方法、系统、电子设备和存储介质
US11726668B2 (en) Device with flash memory and method for writing/erasing/updating data in flash memory thereof
CN115373608A (zh) 数据存储方法及装置
CN113821193B (zh) 一种信息生成的方法、装置和存储介质
CN109960611B (zh) 数据恢复的方法、装置、电子设备及机器可读存储介质
CN113468105A (zh) 数据快照的数据结构、相关数据处理方法及装置和系统
CN112015672A (zh) 一种存储系统中数据处理方法、装置、设备及存储介质
CN111090396A (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