CN113868018B - 一种数据保存方法及装置和一种数据恢复方法 - Google Patents
一种数据保存方法及装置和一种数据恢复方法 Download PDFInfo
- Publication number
- CN113868018B CN113868018B CN202110983609.5A CN202110983609A CN113868018B CN 113868018 B CN113868018 B CN 113868018B CN 202110983609 A CN202110983609 A CN 202110983609A CN 113868018 B CN113868018 B CN 113868018B
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- bitmap
- bit
- storage device
- 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
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000013500 data storage Methods 0.000 title claims abstract description 26
- 238000011084 recovery Methods 0.000 title claims abstract description 25
- 238000012545 processing Methods 0.000 abstract description 6
- 230000004044 response Effects 0.000 abstract description 3
- 238000013507 mapping Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 101000648827 Homo sapiens TPR and ankyrin repeat-containing protein 1 Proteins 0.000 description 1
- 102100028173 TPR and ankyrin repeat-containing protein 1 Human genes 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
Abstract
本申请实施例公开了一种数据保存方法及装置和一种数据恢复方法,首先创建第一存储空间,保存存储设备中多个存储区域的初始存储数据,响应于用户对存储设备的数据进行处理,例如接收新的第一存储数据,并将第一存储数据存储在存储设备的第一存储区域,之后创建第二存储空间,第二存储空间存储用户对存储设备的数据进行处理的数据,例如第二存储空间存储第一存储数据。也就是说,本申请中在保存存储设备的初始存储数据之后,之后仅仅保存存储设备中进行改变的数据,以节约在连续数据保护时进行存储的数据量,降低占用的存储空间。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种数据保存方法及装置和一种数据恢复方法。
背景技术
随着计算机技术的快速发展,计算机能够提供给用户的服务越来越多,例如数据存储服务。
为了提高数据存储的安全性,可以对存储设备存储的数据进行连续数据保护(Continue Data Protection,CDP)。连续数据保护是指对目标数据所发生的的任何改变进行捕捉,能够恢复到此前任意时间点的数据的一种方法。
连续数据保护会一直保存每个时刻存储设备中每个存储区域进行存储的数据,以便实现恢复任意时间点的数据。
但是上述连续数据保护的方式存在保存的数据量较大,占用存储空间较多的问题。
发明内容
为了解决现有技术中的问题,本申请实施例提供一种数据保存方法及装置和一种数据恢复方法。
本申请实施例提供一种数据保存方法,应用于存储设备,所述方法包括:
创建第一存储空间,所述第一存储空间存储所述存储设备中多个存储区域的初始存储数据;
接收第一存储数据,所述第一存储数据存储至所述存储设备的第一存储区域,所述存储设备中多个存储区域包括第一存储区域;
创建第二存储空间,所述第二存储空间存储所述第一存储区域存储的第一存储数据。
可选地,所述创建第二存储空间,所述第二存储空间存储所述第一存储区域存储的第一存储数据包括:
创建第二存储空间和所述存储设备中第一存储区域的增量快照关系,根据所述增量快照关系,所述第二存储空间对所述第一存储区域的第一存储数据进行存储。
可选地,在接收第一存储数据之前,所述方法还包括:
创建第一位图,所述第一位图的位数与所述存储设备中多个存储区域的数量相同,所述第一位图的每个位与所述存储设备中每个存储区域一一对应;
在接收第一存储数据之后,所述方法还包括:
在所述第一位图的第一位上记录所述第一存储区域存储第一存储数据的信息,所述第一位图包括第一位,所述第一位图中的第一位与所述第一存储区域对应;
所述根据所述增量快照关系,所述第二存储空间对所述第一存储区域的第一存储数据进行存储包括:
根据所述增量快照关系和所述在所述第一位图的第一位上记录的所述第一存储区域存储第一存储数据的信息,所述第二存储空间对所述第一存储区域的第一存储数据进行存储。
可选地,所述方法还包括:
创建所述第一存储区域的标识与所述第一存储数据在所述第二存储空间中的地址信息之间的对应关系。
可选地,所述增量快照关系包括创建所述增量快照关系时的时间信息。
可选地,在创建第一位图时,所述方法还包括:
创建第二位图,所述第二位图的位数与所述存储设备中多个存储区域的数量相同,所述第二位图的每个位与所述存储设备中每个存储区域一一对应;
在根据所述增量快照关系,所述第二存储空间对所述第一存储区域的第一存储数据进行存储之后,所述方法还包括:
在所述第二位图的第二位上记录所述第一存储数据已存储至所述第二存储空间的信息,所述第二位图包括第二位,所述第二位图中的第二位与所述第一存储区域对应。
可选地,所述创建第一存储空间,所述第一存储空间存储所述存储设备中多个存储区域的初始存储数据包括:
创建第一存储空间和所述存储设备中多个存储区域的全量快照关系,根据所述全量快照关系,所述第一存储空间对所述存储设备中多个存储区域的初始存储数据进行存储。
可选地,所述方法还包括:
创建第三位图,所述第三位图的位数与所述存储设备中多个存储区域的数量相同,所述第三位图的每个位与所述存储设备中每个存储区域一一对应;
在根据所述全量快照关系,所述第一存储空间对所述存储设备中多个存储区域的初始存储数据进行存储之后,所述方法还包括:
在所述第三位图的第三位上记录所述初始存储数据已存储至所述第一存储空间的信息,所述第三位图包括第三位,所述第三位图中的第三位与所述存储设备中的存储区域对应。
本申请实施例还提供一种数据恢复方法,所述方法包括:
根据全量快照关系获取第一存储空间存储的初始存储数据,所述全量快照关系为所述第一存储空间和存储设备中多个存储区域的对应关系;
根据增量快照关系携带的时间信息确定对应的第一位图,所述增量快照关系为第二存储空间和存储设备中第一存储区域的对应关系,所述存储设备的多个存储区域包括第一存储区域;
根据所述第一位图的第一位上记录的第一存储区域存储第一存储数据的信息,以及所述第一存储区域的标识与所述第一存储数据在所述第二存储空间中的地址信息之间的对应关系,确定所述第一存储数据在所述第二存储空间的地址信息;
根据所述地址信息恢复所述第一存储数据。
本申请实施例还提供一种数据保存装置,所述装置包括:
第一创建单元,用于创建第一存储空间,所述第一存储空间存储所述存储设备中多个存储区域的初始存储数据;
第一接收单元,用于接收第一存储数据,所述第一存储数据存储至所述存储设备的第一存储区域,所述存储设备中多个存储区域包括第一存储区域;
第二创建单元,用于创建第二存储空间,所述第二存储空间存储所述第一存储区域存储的第一存储数据。
本申请实施例提供一种数据保存方法,首先创建第一存储空间,保存存储设备中多个存储区域的初始存储数据,响应于用户对存储设备的数据进行处理,例如接收新的第一存储数据,并将第一存储数据存储在存储设备的第一存储区域,之后创建第二存储空间,第二存储空间存储用户对存储设备的数据进行处理的数据,例如第二存储空间存储第一存储数据。也就是说,本申请中在保存存储设备的初始存储数据之后,之后仅仅保存存储设备中进行改变的数据,以节约在连续数据保护时进行存储的数据量,降低占用的存储空间。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种数据保存方法的流程图;
图2为本申请实施例提供的一种连续数据保护方法的示意图;
图3为本申请实施例提供的一种数据恢复方法的流程图;
图4为本申请实施例提供的一种数据保存装置的结构框图;
图5为本申请实施例提供的一种数据恢复装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
正如背景技术所述,为了提高数据存储的安全性,可以对存储设备存储的数据进行连续数据保护(Continue Data Protection,CDP)。连续数据保护是指对目标数据所发生的的任何改变进行捕捉,能够恢复到此前任意时间点的数据的一种方法,即连续数据保护能够实现灵活的恢复点目标(Recovery Point Objective,RPO)。
连续数据保护由存储设备、仓库设备和元数据设备组成,这里设备可以是独立的设备,也可以是集成在同一个设备中的不同存储区域。
进行连续数据保护的流程如下所述:
首先对存储设备的所有数据进行一个全量备份,之后响应于用户对存储设备的数据进行处理,例如存储设备接收新写入的数据,仓库设备保存新写入的数据,由元数据设备记录新写入的数据对应的时间戳以及新写入的数据分别在存储设备和仓库设备中的逻辑区块地址(Logic Block Address,LBA)。
这样,就可以根据仓库设备和元数据记录恢复全量备份后任意时间点的数据。但是在进行数据恢复时需要遍历所有元数据记录,找到存储设备中每个数据区块,即每个存储区域对应时间点的元数据记录,耗时较长。
为了更快的进行数据恢复,当前存储设备在每次发生数据变化时生成一张映射表,记录当前时间和存储设备中每个数据区块进行存储的数据对应的在仓库设备中进行保存的逻辑区块地址LBA,这样数据恢复时遍历映射表,找到对应时间点的映射表,根据映射表找到存储设备中每个数据区块的数据在仓库设备中进行保存的逻辑区块地址LBA,即可读出该时间点的数据。
上述连续数据保护可实现的恢复点目标等同于时间戳的粒度,通常为毫秒级别,每毫秒生成一张映射表所占用的存储空间非常大。例如,存储设备的存储空间为1千兆字节(GB),每个数据区块的存储空间为256千字节(KB),逻辑区块地址占用的存储空间为64字节(bit),则一张映射表占用的存储空间为256KB。由此类推,若存储设备的存储空间为1太字节(TB),则一张映射表占用的存储空间为256兆字节(MB)。一张映射表占用的存储空间已然非常大,保存每个时刻的映射表显然占用的存储空间更加大。
此外,在每次存储设备响应用户新写入的数据时,仓库设备也要保存相应的数据,并且要记录元数据和生成映射表,产生了额外的开销,相当于存储设备的每秒的读写次数(Input/Output Operations Per Second,IOPS)和带宽是不启动数据连续保护时的3倍,对存储设备的性能造成了很大的影响。
基于此,本申请实施例提供一种数据保存方法,首先创建第一存储空间,保存存储设备中多个存储区域的初始存储数据,响应于用户对存储设备的数据进行处理,例如接收新的第一存储数据,并将第一存储数据存储在存储设备的第一存储区域,之后创建第二存储空间,第二存储空间存储用户对存储设备的数据进行处理的数据,例如第二存储空间存储第一存储数据。也就是说,本申请中在保存存储设备的初始存储数据之后,之后仅仅保存存储设备中进行改变的数据,以节约在连续数据保护时进行存储的数据量,降低占用的存储空间。
本申请实施例提供的数据保存方法,应用于存储设备。
参见图1,该图为本申请实施例提供的一种数据保存方法的流程图。
本实施例提供的数据保存方法包括如下步骤:
S101,创建第一存储空间,所述第一存储空间存储所述存储设备中多个存储区域的初始存储数据。
在本申请的实施例中,首先创建第一存储空间,以实现数据连续保护的目的。第一存储空间可以位于存储设备中,第一存储空间也可以位于除存储设备以外的设备中,只要能够提供数据保存功能的设备即可。
在创建完毕第一存储空间之后,第一存储空间就可以保存存储设备中多个存储区域进行存储的初始存储数据。
在实际应用中,将存储设备中多个存储区域进行存储的数据保存至第一存储空间中,可以是建立第一存储空间和存储设备中多个存储区域的全量快照关系,之后就可以根据全量快照关系,第一存储空间对存储设备中多个存储区域的初始存储数据进行存储。其中,存储设备中多个存储区域可以是数据的源卷,第一存储空间为快照卷,根据全量快照关系,将源卷的数据保存至快照卷。卷为一种存储空间。
在实际应用中,为了保证在将存储设备中多个存储区域的初始存储数据保存至第一存储空间的过程中,不出现数据保存错误,例如漏存或重复保存的情况,可以创建第三位图,第三位图的位(bit)数与存储设备中多个存储区域的数量相同,第三位图的每个位与存储设备中每个存储区域一一对应,也就是说,位图中每个bit代表源卷中的一个数据区块或一个存储区域,bit的个数等于数据区块的个数,可以将每个bit都初始化为0。
可以根据第三位图将源卷中每个数据区块的数据保存至快照卷中相对应的存储位置。也就是说,源卷和快照卷中的存储空间一一对应,与第三位图也一一对应。
在利用第三位图将源卷中某个数据区块中的数据保存至快照卷之后,还可以在第三位图的第三位上记录初始存储数据已存储至第一存储空间的信息,第三位图包括第三位,第三位为第三位图中任意一个bit,第三位图中的第三位与存储设备中的存储区域对应,也就是说,可以将第三位图中相对应的bit的数值置为1,代表已经完成该数据区块的数据保存至快照卷。在全部的数据都保存至快照卷之后,将第三位图中的bit都置0,代表已经完成全部的数据保存。
在实际应用中,根据全量快照关系,可以利用写时拷贝和后台拷贝两种方式将源卷的数据保存到快照卷。写时拷贝指在保存数据的期间如果源卷收到用户新写入的数据,将源卷中对应数据区块的数据保存到快照卷对应的存储位置;后台拷贝指按照指定的频率,自动将源卷中某个没有完成拷贝的数据区块的数据保存到快照卷对应的存储位置。
S102,接收第一存储数据,所述第一存储数据存储至所述存储设备的第一存储区域,所述存储设备中多个存储区域包括第一存储区域。
在本申请的实施例中,响应于用户对存储设备的数据进行处理,例如接收新的第一存储数据,并将第一存储数据存储在存储设备的第一存储区域。第一存储区域是存储设备多个存储区域中任意一个存储区域。
在实际应用中,为了记录第一存储数据存储在存储设备中的哪一个存储区域,可以创建第一位图,第一位图的位(bit)数与存储设备中多个存储区域的数量相同,第一位图的每个位与存储设备中每个存储区域一一对应,也就是说,位图中每个bit代表源卷中的一个数据区块或一个存储区域,bit的个数等于数据区块的个数,可以将每个bit都初始化为0。
在存储设备将第一存储数据存储到第一存储区域之后,在第一位图的第一位上记录第一存储区域存储第一存储数据的信息,第一位图包括第一位,第一位为第一位图中任意一个bit,第一位图中的第一位与第一存储区域对应,也就是说,可以将第一位图中与第一存储区域对应的bit置为1,代表存储设备中数据发生改变,并且发生数据改变的数据区块为第一存储区域,若是第一位图中的bit一直为0,则代表该bit对应的数据区块的数据没有发生变化。
S103,创建第二存储空间,所述第二存储空间存储所述第一存储区域存储的第一存储数据。
在本申请的实施例中,首先创建第二存储空间,以实现数据连续保护的目的,也就是说,第二存储空间保存存储设备中进行改变的数据,进行改变的数据可以是相对于初始存储数据进行改变,也可以是相对于上一次存储的数据进行改变的数据。第二存储空间可以位于存储设备中,第二存储空间也可以位于除存储设备以外的设备中,只要能够提供数据保存功能的设备即可。第二存储空间可以与第一存储空间位于相同的存储设备,以方便后续的数据恢复。
在创建完毕第二存储空间之后,第二存储空间就可以保存存储设备中第一存储区域进行存储的第一存储数据。
在实际应用中,将存储设备中第一存储区域进行存储的第一存储数据保存至第二存储空间中,可以是建立第二存储空间和存储设备中第一存储区域的增量快照关系,之后就可以根据增量快照关系,第二存储空间对存储设备中第一存储区域的第一存储数据进行存储。
在实际应用中,可以不仅仅只在存储设备的数据改变时才生成增量快照,形成存储设备和第二存储空间的增量快照关系。为了提高数据保存的安全性和效率,可以是按照预先设定的频率生成增量快照,增量快照携带有创建增量快照时的时间信息,同样的,增量快照关系携带有创建增量快照关系时的时间信息,时间信息可以是时间戳。
若按照预先设定的频率生成增量快照,全部的增量快照形成一个链表,最新的增量快照插入到链表的头部,新的增量快照依赖旧的增量快照,链表尾部为最先创建的全量快照。
在实际应用中,为了保证在将第一存储数据保存至第二存储空间的过程中,不出现数据保存错误,可以根据增量快照关系和在第一位图的第一位上记录的第一存储区域存储第一存储数据的信息,第二存储空间对第一存储区域的第一存储数据进行存储。也就是说,将第一位图中bit为1对应的数据区块中的数据,即第一存储区域中存储的第一存储数据保存至第二存储空间。
为了进一步提高数据保存时的安全性,还可以创建第二位图,第二位图,第二位图的位(bit)数与存储设备中多个存储区域的数量相同,第二位图的每个位与存储设备中每个存储区域一一对应,也就是说,位图中每个bit代表源卷中的一个数据区块或一个存储区域,bit的个数等于数据区块的个数,可以将每个bit都初始化为0。
在第二存储空间对第一存储区域的第一存储数据进行存储之后,在第二位图的第二位上记录第一存储数据已存储至第二存储空间的信息,第二位图包括第二位,第二位为第二位图中任意一个bit,第二位图中的第二位与第一存储区域对应,也就是说,可以将第二位图中与第一存储区域对应的bit置为1,代表第一存储数据已保存至第二存储空间,若是第二位图中与第一存储区域对应的bit为0,则代表第一存储数据还没有保存到第二存储空间。
也就是说,第一位图为增量快照的位图,第一位图中bit为1起到标识发生数据改变的数据区块的位置的作用,第二位图为全量快照的位图,第二位图为1起到标识发生数据改变的数据区块的数据已经保存至第二存储空间的作用。
在实际应用中,可以不单独再创建第二位图,直接利用第三位图即可,在利用第三位图将初始存储数据全部保存至第一存储空间之后,此时第三位图已经全部置0,与初始化bit全部为0的第二位图功能相同。
也就是说,将所有第一位图中bit为1且第二位图中bit为0的数据区块的数据从源卷拷贝到第二存储空间中,拷贝速度根据当前存储设备的IOPS进行调整,从而减少对存储设备性能的影响。第一位图中所有bit为1的数据区块的数据完成拷贝后,表明此次数据保存完成,第二位图中对应的数据区块的bit由0置为1。
在实际应用中,每一次存储设备接收新写入的数据或生成新的增量快照时,有两种可能的实现方式获得第一位图中bit的值:
第一种实现方式为重新创建第一位图,第一位图可以直接根据数据区块的数据是否发生改变,确定对应的bit置0或1,此时第二位图在上一时刻下的增量快照进行改变的数据全部保存完毕之后,将第二位图的bit置0。
第二种实现方式为第二位图在上一时刻下的增量快照进行改变的数据全部保存完毕之后,将第二位图的bit置0,之后如果接收到新的数据写入,则把第二位图对应新写入数据的数据区块的bit置为1,代表该数据区块的数据进行了改变,创建新的增量快照关系和新的第一位图,新的第一位图初始bit全部为0,第一位图复制第二位图的bit数值,之后在第一位图对应新写入数据的数据区块的bit置为1,第二位图对应新写入数据的数据区块置为0,代表该数据区块还没有被保存至第二存储空间。
也就是说,第二位图的bit首先置0,每一次新写入数据,新写入数据的数据区块对应的bit置1,代表有数据区块的数据相较于上一次增量快照发生改变,第一位图首先置0,之后复制的第二位图的bit值,获取有数据区块的数据相较于上一次增量快照发生改变的信息,第二位图的bit置0,代表该新写入数据的数据区块的数据还没有被保存至第二存储空间,将所有第一位图中bit为1且第二位图中bit为0的数据区块的数据从源卷拷贝到第二存储空间中,第一位图中所有bit为1的数据区块的数据完成拷贝后,表明此次数据保存完成,第二位图中对应的数据区块的bit由0置为1。
在本申请的实施例中,在将第一存储数据存储至第二存储空间之后,可以创建第一存储区域的标识与第一存储数据在第二存储空间中的地址信息之间的对应关系,也就是创建第一存储数据在存储设备中进行存储的位置,即第一存储区域与在第二存储空间进行存储的关联关系。第一存储区域的标识可以是第一存储区域在存储设备中进行排序的序号,第一存储数据在第二存储空间中的地址信息可以是逻辑区块地址LBA,对应关系可以是键值对,键值对的键为第一存储区域的序号,键值对的值为第二存储空间中的逻辑区块地址LBA,键值对可以位于哈希表中。
参考图2所示,为本申请实施例提供的一种连续数据保护方法的示意图。由图2可知,在T0时刻,生成初始存储数据的全量快照,创建第一存储空间与存储设备的全量快照关系和第三位图,将初始存储数据保存至第一存储空间,第三位图的bit全部为1代表已经全部的初始存储数据保存至第一存储空间。
在T1时刻,第三位图在置0后,生成增量快照,对比增量快照和全量快照,得知存储设备接收到了针对序号为3的存储区域的数据处理,将第三位图中对应序号为3的存储区域的bit置为1,创建存储设备和第二存储空间的增量快照关系,之后根据第三位图将序号为3的存储区域的数据保存至第二存储空间,在哈希表中插入键值对,键值对的键为序号3,键值对的值为序号为3的存储区域的数据在第二存储空间中的逻辑区块地址LBA,图2中示出键值对的值为LBA1。
在T2时刻,第三位图在置0后,生成增量快照,对比T1时刻的增量快照和T2时刻的增量快照,得知存储设备接收到了针对序号为3的存储区域的数据处理,将第三位图中对应序号为3的存储区域的bit置为1,创建存储设备和第二存储空间的增量快照关系,之后根据第三位图将序号为3的存储区域的数据保存至第二存储空间,在哈希表中插入键值对,键值对的键为序号3,键值对的值为序号为3的存储区域的数据在第二存储空间中的逻辑区块地址LBA,图2中示出键值对的值为LBA2。
在T3时刻,第三位图在置0后,生成增量快照,对比T2时刻的增量快照和T3时刻的增量快照,得知存储设备接收到了针对序号为2和序号为4的存储区域的数据处理,将第三位图中对应序号为2和序号为4的存储区域的bit置为1,创建存储设备和第二存储空间的增量快照关系,之后根据第三位图将序号为2和序号为4的存储区域的数据保存至第二存储空间,在哈希表中插入2个键值对,其中一个键值对的键为序号2,键值对的值为序号为2的存储区域的数据在第二存储空间中的逻辑区块地址LBA,图2中示出键值对的值为LBA3;另一个键值对的键为序号4,键值对的值为序号为4的存储区域的数据在第二存储空间中的逻辑区块地址LBA,图2中示出键值对的值为LBA4。
其中,第三位图相当于第二位图。T3时刻的增量快照依赖T2时刻的增量快照,T2时刻的增量快照依赖T1时刻的增量快照,T1时刻的增量快照依赖T0时刻的全量快照。
由此可见,本申请通过高频率的增量快照来记录存数设备的数据变化,采用位图来记录每次数据变化后的差异数据位置,并利用哈希表来记录差异数据所在的数据区块的序号和在第二存储空间中对应的逻辑区块地址LBA。本申请的数据保存方法对存储设备的性能影响更小,传统的CDP方法在每次存储设备响应用户新写入的数据时,仓库设备也要保存相应的数据,并且要记录元数据和生成映射表,产生了额外的开销,相当于存储设备的每秒的读写次数和带宽是不启动数据连续保护时的3倍。而本申请的差异数据是通过后台拷贝的方式从源卷拷贝到第二存储空间,拷贝速度可以根据存储设备的IOPS随时调整,从而尽可能降低对存储设备的性能的影响。并且,本申请不需要添加元数据和创建映射表,只需要更新位图和哈希表,显然处理速度更快。此外,本申请提供的数据保存方法占用更少的存储空间。传统的CDP方法每次数据变化都需要创建一个映射表,映射表所占的存储空间是相当大的,而本申请采用位图来记录差异数据所在数据区块的序号、哈希表来记录差异数据的逻辑区块地址,位图的大小等于数据区块的个数,对于存储设备的存储空间为1千兆字节(GB),每个数据区块的存储空间为256千字节(KB),位图占用的存储空间为为4KB,而哈希表只保存了差异数据的逻辑区块地址LBA,和映射表相比显著的减少了存储空间,大大降低了存储设备的存储压力。
本申请实施例提供一种数据保存方法,首先创建第一存储空间,保存存储设备中多个存储区域的初始存储数据,响应于用户对存储设备的数据进行处理,例如接收新的第一存储数据,并将第一存储数据存储在存储设备的第一存储区域,之后创建第二存储空间,第二存储空间存储用户对存储设备的数据进行处理的数据,例如第二存储空间存储第一存储数据。也就是说,本申请中在保存存储设备的初始存储数据之后,之后仅仅保存存储设备中进行改变的数据,以节约在连续数据保护时进行存储的数据量,降低占用的存储空间。
以上介绍了本申请实施例提供的一种数据保存方法,本申请实施例还提供一种数据恢复方法,本申请实施例提供的数据恢复方法中的数据是利用上述数据保存方法实施例进行保存的。
参见图3,该图为本申请实施例提供的一种数据恢复方法的流程图。
本实施例提供的数据恢复方法包括如下步骤:
S301,根据全量快照关系获取第一存储空间存储的初始存储数据,所述全量快照关系为所述第一存储空间和存储设备中多个存储区域的对应关系。
在本申请的实施例中,若想要恢复的数据是初始时刻的数据,则直接根据全量快照关系获取第一存储空间存储的初始存储数据,全量快照关系为第一存储空间和存储设备中多个存储区域的对应关系,即利用全量快照关系将存储设备中多个存储区域的初始存储数据保存至第一存储空间。
S302,根据增量快照关系携带的时间信息确定对应的第一位图,所述增量快照关系为第二存储空间和存储设备中第一存储区域的对应关系,所述存储设备的多个存储区域包括第一存储区域。
S303,根据所述第一位图的第一位上记录的第一存储区域存储第一存储数据的信息,以及所述第一存储区域的标识与所述第一存储数据在所述第二存储空间中的地址信息之间的对应关系,确定所述第一存储数据在所述第二存储空间的地址信息。
S304,根据所述地址信息恢复所述第一存储数据。
在本申请的实施例中,若想要恢复的数据不是初始时刻的数据,则可以首先根据增量快照关系携带的时间信息确定对应的第一位图,之后根据第一位图的第一位上记录的第一存储区域存储第一存储数据的信息,以及第一存储区域的标识与第一存储数据在第二存储空间中的地址信息之间的对应关系,确定第一存储数据在第二存储空间的地址信息,最后根据地址信息恢复第一存储数据。其中,增量快照关系为第二存储空间和存储设备中第一存储区域的对应关系,存储设备的多个存储区域包括第一存储区域,第一存储区域是进行数据改变的存储区域。
也就是说,首先遍历多个增量快照,即遍历增量快照的链表,找到对应时刻的增量快照,根据增量快照确定相应的第一位图,对于每一个数据区块,判断第一位图对应的bit,如果bit为1,则通过当前时刻的增量快照的哈希表查询LBA并读取数据,如果bit为0,则沿着链表追溯之前时刻的增量快照,直到找到对应bit为1的增量快照,然后通过该时刻的哈希表读取对应LBA的数据,如果该数据区块的所有增量快照对应的位图bit都为0,则读取全量快照对应的数据区块的数据。
基于以上实施例提供的一种数据保存方法,本申请实施例还提供了一种数据保存装置,下面结合附图来详细说明其工作原理。
参见图4,该图为本申请实施例提供的一种数据保存装置的结构框图。
本实施例提供的数据保存装置400包括:
第一创建单元410,用于创建第一存储空间,所述第一存储空间存储所述存储设备中多个存储区域的初始存储数据;
第一接收单元420,用于接收第一存储数据,所述第一存储数据存储至所述存储设备的第一存储区域,所述存储设备中多个存储区域包括第一存储区域;
第二创建单元430,用于创建第二存储空间,所述第二存储空间存储所述第一存储区域存储的第一存储数据。
可选地,所述第二创建单元430,具体用于:
创建第二存储空间和所述存储设备中第一存储区域的增量快照关系,根据所述增量快照关系,所述第二存储空间对所述第一存储区域的第一存储数据进行存储。
可选地,在第一接收单元420接收第一存储数据之前,所述装置还包括:
第三创建单元,用于创建第一位图,所述第一位图的位数与所述存储设备中多个存储区域的数量相同,所述第一位图的每个位与所述存储设备中每个存储区域一一对应;
在第一接收单元420接收第一存储数据之后,所述装置还包括:
第一记录单元,用于在所述第一位图的第一位上记录所述第一存储区域存储第一存储数据的信息,所述第一位图包括第一位,所述第一位图中的第一位与所述第一存储区域对应;
所述第二创建单元430,具体用于:
根据所述增量快照关系和所述在所述第一位图的第一位上记录的所述第一存储区域存储第一存储数据的信息,所述第二存储空间对所述第一存储区域的第一存储数据进行存储。
可选地,所述装置还包括:
第四创建单元,用于创建所述第一存储区域的标识与所述第一存储数据在所述第二存储空间中的地址信息之间的对应关系。
可选地,所述增量快照关系包括创建所述增量快照关系时的时间信息。
可选地,在第三创建单元创建第一位图时,所述装置还包括:
第五创建单元,用于创建第二位图,所述第二位图的位数与所述存储设备中多个存储区域的数量相同,所述第二位图的每个位与所述存储设备中每个存储区域一一对应;
在第二创建单元430根据所述增量快照关系,所述第二存储空间对所述第一存储区域的第一存储数据进行存储之后,所述装置还包括:
第二记录单元,用于在所述第二位图的第二位上记录所述第一存储数据已存储至所述第二存储空间的信息,所述第二位图包括第二位,所述第二位图中的第二位与所述第一存储区域对应。
可选地,所述第一创建单元410,具体用于:
创建第一存储空间和所述存储设备中多个存储区域的全量快照关系,根据所述全量快照关系,所述第一存储空间对所述存储设备中多个存储区域的初始存储数据进行存储。
可选地,所述装置还包括:
第六创建单元,用于创建第三位图,所述第三位图的位数与所述存储设备中多个存储区域的数量相同,所述第三位图的每个位与所述存储设备中每个存储区域一一对应;
在第一创建单元410根据所述全量快照关系,所述第一存储空间对所述存储设备中多个存储区域的初始存储数据进行存储之后,所述装置还包括:
第三记录单元,用于在所述第三位图的第三位上记录所述初始存储数据已存储至所述第一存储空间的信息,所述第三位图包括第三位,所述第三位图中的第三位与所述存储设备中的存储区域对应。
基于以上实施例提供的一种数据恢复方法,本申请实施例还提供了一种数据恢复装置,下面结合附图来详细说明其工作原理。
参见图5,该图为本申请实施例提供的一种数据恢复装置的结构框图。
本实施例提供的数据恢复装置500包括:
获取单元510,用于根据全量快照关系获取第一存储空间存储的初始存储数据,所述全量快照关系为所述第一存储空间和存储设备中多个存储区域的对应关系;
第一确定单元520,用于根据增量快照关系携带的时间信息确定对应的第一位图,所述增量快照关系为第二存储空间和存储设备中第一存储区域的对应关系,所述存储设备的多个存储区域包括第一存储区域;
第二确定单元530,用于根据所述第一位图的第一位上记录的第一存储区域存储第一存储数据的信息,以及所述第一存储区域的标识与所述第一存储数据在所述第二存储空间中的地址信息之间的对应关系,确定所述第一存储数据在所述第二存储空间的地址信息;
恢复单元540,用于根据所述地址信息恢复所述第一存储数据。
当介绍本申请的各种实施例的元件时,冠词“一”、“一个”、“这个”和“所述”都意图表示有一个或多个元件。词语“包括”、“包含”和“具有”都是包括性的并意味着除了列出的元件之外,还可以有其它元件。
需要说明的是,本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元及模块可以是或者也可以不是物理上分开的。另外,还可以根据实际的需要选择其中的部分或者全部单元和模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (9)
1.一种数据保存方法,其特征在于,应用于存储设备,所述方法包括:
创建第一存储空间,所述第一存储空间存储所述存储设备中多个存储区域的初始存储数据;
创建第一位图和第二位图,所述第一位图和所述第二位图的位数均与所述存储设备中多个存储区域的数量相同,所述第一位图和所述第二位图的每个位均与所述存储设备中每个存储区域一一对应;
接收第一存储数据,所述第一存储数据存储至所述存储设备的第一存储区域,所述存储设备中多个存储区域包括第一存储区域;
创建第二存储空间和所述存储设备中第一存储区域的增量快照关系,根据所述增量快照关系,所述第二存储空间对所述第一存储区域的第一存储数据进行存储;
其中,每一次所述存储设备接收新写入的数据或生成新的增量快照的过程中,包括:
在上一时刻下的增量快照进行改变的数据全部保存完毕之后,将所述第二位图的bit置0;
如果接收到新的数据写入,则把所述第二位图对应新写入数据的数据区块的bit置为1,以代表该数据区块的数据进行了改变;
创建新的所述增量快照关系和新的所述第一位图,新的所述第一位图初始bit全部为0,所述第一位图复制所述第二位图的bit数值;
其中,在所述第一位图对应新写入数据的数据区块的bit置为1,所述第二位图对应新写入数据的数据区块置为0,代表该数据区块还没有被保存至第二存储空间。
2.根据权利要求1所述的方法,其特征在于,在接收第一存储数据之后,所述方法还包括:
在所述第一位图的第一位上记录所述第一存储区域存储第一存储数据的信息,所述第一位图包括第一位,所述第一位图中的第一位与所述第一存储区域对应;
所述根据所述增量快照关系,所述第二存储空间对所述第一存储区域的第一存储数据进行存储包括:
根据所述增量快照关系和所述在所述第一位图的第一位上记录的所述第一存储区域存储第一存储数据的信息,所述第二存储空间对所述第一存储区域的第一存储数据进行存储。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
创建所述第一存储区域的标识与所述第一存储数据在所述第二存储空间中的地址信息之间的对应关系。
4.根据权利要求3所述的方法,其特征在于,所述增量快照关系包括创建所述增量快照关系时的时间信息。
5.根据权利要求2所述的方法,其特征在于,在根据所述增量快照关系,所述第二存储空间对所述第一存储区域的第一存储数据进行存储之后,所述方法还包括:
在所述第二位图的第二位上记录所述第一存储数据已存储至所述第二存储空间的信息,所述第二位图包括第二位,所述第二位图中的第二位与所述第一存储区域对应。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述创建第一存储空间,所述第一存储空间存储所述存储设备中多个存储区域的初始存储数据包括:
创建第一存储空间和所述存储设备中多个存储区域的全量快照关系,根据所述全量快照关系,所述第一存储空间对所述存储设备中多个存储区域的初始存储数据进行存储。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
创建第三位图,所述第三位图的位数与所述存储设备中多个存储区域的数量相同,所述第三位图的每个位与所述存储设备中每个存储区域一一对应;
在根据所述全量快照关系,所述第一存储空间对所述存储设备中多个存储区域的初始存储数据进行存储之后,所述方法还包括:
在所述第三位图的第三位上记录所述初始存储数据已存储至所述第一存储空间的信息,所述第三位图包括第三位,所述第三位图中的第三位与所述存储设备中的存储区域对应。
8.一种数据恢复方法,其特征在于,所述方法包括:
根据全量快照关系获取第一存储空间存储的初始存储数据,所述全量快照关系为所述第一存储空间和存储设备中多个存储区域的对应关系;
根据增量快照关系携带的时间信息确定对应的第一位图,所述增量快照关系为第二存储空间和存储设备中第一存储区域的对应关系,所述存储设备的多个存储区域包括第一存储区域;
根据所述第一位图的第一位上记录的第一存储区域存储第一存储数据的信息,以及所述第一存储区域的标识与所述第一存储数据在所述第二存储空间中的地址信息之间的对应关系,确定所述第一存储数据在所述第二存储空间的地址信息;
根据所述地址信息恢复所述第一存储数据;
其中,每一次所述存储设备接收新写入的数据或生成新的增量快照的过程中,包括:在上一时刻下的增量快照进行改变的数据全部保存完毕之后,将第二位图的bit置0;如果接收到新的数据写入,则把所述第二位图对应新写入数据的数据区块的bit置为1,以代表该数据区块的数据进行了改变;创建新的所述增量快照关系和新的所述第一位图,新的所述第一位图初始bit全部为0,所述第一位图复制所述第二位图的bit数值;其中,在所述第一位图对应新写入数据的数据区块的bit置为1,所述第二位图对应新写入数据的数据区块置为0,代表该数据区块还没有被保存至第二存储空间。
9.一种数据保存装置,其特征在于,所述装置包括:
第一创建单元,用于创建第一存储空间,所述第一存储空间存储存储设备中多个存储区域的初始存储数据;
第三创建单元,用于创建第一位图,所述第一位图的位数与所述存储设备中多个存储区域的数量相同,所述第一位图的每个位与所述存储设备中每个存储区域一一对应;
第五创建单元,用于创建第二位图,所述第二位图的位数与所述存储设备中多个存储区域的数量相同,所述第二位图的每个位与所述存储设备中每个存储区域一一对应;
第一接收单元,用于接收第一存储数据,所述第一存储数据存储至所述存储设备的第一存储区域,所述存储设备中多个存储区域包括第一存储区域;
第二创建单元,用于创建第二存储空间和所述存储设备中第一存储区域的增量快照关系,根据所述增量快照关系,所述第二存储空间对所述第一存储区域的第一存储数据进行存储;
其中,每一次所述存储设备接收新写入的数据或生成新的增量快照的过程中,包括:在上一时刻下的增量快照进行改变的数据全部保存完毕之后,将所述第二位图的bit置0;如果接收到新的数据写入,则把所述第二位图对应新写入数据的数据区块的bit置为1,以代表该数据区块的数据进行了改变;创建新的所述增量快照关系和新的所述第一位图,新的所述第一位图初始bit全部为0,所述第一位图复制所述第二位图的bit数值;其中,在所述第一位图对应新写入数据的数据区块的bit置为1,所述第二位图对应新写入数据的数据区块置为0,代表该数据区块还没有被保存至第二存储空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110983609.5A CN113868018B (zh) | 2021-08-25 | 2021-08-25 | 一种数据保存方法及装置和一种数据恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110983609.5A CN113868018B (zh) | 2021-08-25 | 2021-08-25 | 一种数据保存方法及装置和一种数据恢复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113868018A CN113868018A (zh) | 2021-12-31 |
CN113868018B true CN113868018B (zh) | 2024-03-01 |
Family
ID=78988423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110983609.5A Active CN113868018B (zh) | 2021-08-25 | 2021-08-25 | 一种数据保存方法及装置和一种数据恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113868018B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115292094B (zh) * | 2022-08-10 | 2023-11-14 | 广州鼎甲计算机科技有限公司 | 数据恢复处理方法、装置、设备、存储介质和程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7231409B1 (en) * | 2003-03-21 | 2007-06-12 | Network Appliance, Inc. | System and method for reallocating blocks in checkpointing bitmap-based file systems |
CN104281538A (zh) * | 2013-07-03 | 2015-01-14 | 联想(北京)有限公司 | 一种存储设备的扩容及快照方法和存储设备 |
CN105224422A (zh) * | 2015-10-20 | 2016-01-06 | 浙江大华技术股份有限公司 | 一种数据备份方法及设备 |
CN107562578A (zh) * | 2017-09-25 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种存储数据的快照创建方法、装置、设备及存储介质 |
CN110413200A (zh) * | 2018-04-28 | 2019-11-05 | 伊姆西Ip控股有限责任公司 | 数据同步的方法、设备和计算机程序产品 |
-
2021
- 2021-08-25 CN CN202110983609.5A patent/CN113868018B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7231409B1 (en) * | 2003-03-21 | 2007-06-12 | Network Appliance, Inc. | System and method for reallocating blocks in checkpointing bitmap-based file systems |
CN104281538A (zh) * | 2013-07-03 | 2015-01-14 | 联想(北京)有限公司 | 一种存储设备的扩容及快照方法和存储设备 |
CN105224422A (zh) * | 2015-10-20 | 2016-01-06 | 浙江大华技术股份有限公司 | 一种数据备份方法及设备 |
CN107562578A (zh) * | 2017-09-25 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种存储数据的快照创建方法、装置、设备及存储介质 |
CN110413200A (zh) * | 2018-04-28 | 2019-11-05 | 伊姆西Ip控股有限责任公司 | 数据同步的方法、设备和计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN113868018A (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9087008B1 (en) | Replicating a volume using snapshots | |
US9696939B1 (en) | Replicating data using deduplication-based arrays using network-based replication | |
US10649897B2 (en) | Access request processing method and apparatus, and computer device | |
US11698728B2 (en) | Data updating technology | |
CN107423233B (zh) | 一种可写快照实现方法和装置 | |
CN109522154B (zh) | 数据恢复方法及相关设备与系统 | |
CN109144416B (zh) | 查询数据的方法和装置 | |
CN105302665B (zh) | 一种改进的写时拷贝快照方法及系统 | |
US20230244382A1 (en) | Deallocated Block Determination | |
EP3385846B1 (en) | Method and device for processing access request, and computer system | |
CN113868018B (zh) | 一种数据保存方法及装置和一种数据恢复方法 | |
US20160196186A1 (en) | Apparatus, systems, and methods for data recovery | |
CN112181299B (zh) | 数据修复方法及分布式存储集群 | |
CN111427514B (zh) | 视图迁移方法和装置 | |
CN111858159A (zh) | 一种基于链式克隆特性实现的备份方法与系统 | |
CN110795031A (zh) | 一种基于全闪存储的数据重删方法、装置和系统 | |
CN113254265B (zh) | 基于固态硬盘的快照实现方法、存储系统 | |
US6910214B1 (en) | Method, system, and program for converting an input parameter list into an output parameter list | |
CN113568583B (zh) | 重删数据保护方法及装置 | |
CN113568584B (zh) | 重删数据保护方法及装置 | |
CN110688071A (zh) | 一种减少数据同步量的数据同步方法及系统 | |
CN117519612B (zh) | 基于索引在线拼接的海量小文件存储系统与方法 | |
CN113050892B (zh) | 重删数据保护方法及装置 | |
CN112052217B (zh) | 快照实现方法及装置 | |
CN113050891B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |