CN107562578A - 一种存储数据的快照创建方法、装置、设备及存储介质 - Google Patents
一种存储数据的快照创建方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN107562578A CN107562578A CN201710874978.4A CN201710874978A CN107562578A CN 107562578 A CN107562578 A CN 107562578A CN 201710874978 A CN201710874978 A CN 201710874978A CN 107562578 A CN107562578 A CN 107562578A
- Authority
- CN
- China
- Prior art keywords
- data storage
- bitmap
- target
- original volume
- initial
- 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.)
- Granted
Links
Abstract
本发明公开了一种存储数据的快照创建方法,将原始卷中的全部存储数据进行拷贝得到初始快照卷;创建初始位图及初始数据保存区域;分别确定为目标位图及目标数据保存区域;在原始卷中有目标存储数据写入时,将目标存储数据写入到目标数据保存区域;根据目标存储数据在原始卷中的位置,变更目标位图的初始值;创建针对原始卷的新位图以及新位图对应的新数据保存区域;分别确定为目标位图及目标数据保存区域,重复执行在原始卷中有目标存储数据写入时的相关步骤。应用本发明所提供的技术方案,快照卷不依赖原始卷,快照占用的存储空间小,执行速率高。本发明还提供了一种存储数据的快照创建装置、设备及存储介质,具有相应技术效果。
Description
技术领域
本发明涉及计算机存储技术领域,特别是涉及一种存储数据的快照创建方法、装置、设备及存储介质。
背景技术
随着计算机存储技术的不断发展,对存储设备的要求也越来越高。用户需要在线方式进行数据保护,快照就是在线存储设备防范数据丢失的有效方法之一,能够进行在线数据的备份与恢复。
快照是数据集合的一个完全可用拷贝,可以是表示该数据集合中的数据的一个副本或是该数据集合的复制品,当存储设备发生应用故障或者文件损坏时可以进行快速的数据恢复,将数据恢复到某个可用的时间点的状态。还可以为用户提供一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据。
当前主要有两种存储快照,分别为写时拷贝(copy-on-write)快照和分割镜像快照。不同快照技术的区别通常体现在快照存储空间利用率、快照卷与原始卷的依赖关系以及执行快照的速率这三个方面。
采用分割镜像快照这种方式时,先创建一个原始卷和一个镜像,每次写磁盘时,同时往原始卷和镜像中写入内容,启动快照时,镜像脱离生成一个快照卷。再重新创建一个原始卷的镜像,等待下次快照。为了便于说明,以原始卷中的存储数据为aaaa为例,数据b写入第二个位置时,原始卷中的存储数据变为abaa,并生成一个内容为abaa的快照卷。数据c再写入第三个位置时,原始卷中的存储数据变为abca,并生成一个内容为abca的快照卷。
也就是说,采用分割镜像快照时,每一次进行快照,都需要占用和原始卷存储空间相同的空间。在上述例子中,进行两次快照后,依次生成数据为abaa和abca的两个快照卷。这样的快照创建方式虽然使得快照卷可以脱离原始卷,但非常耗费存储空间。
采用写时拷贝快照这种方式时,当数据第一次写入到某个存储位置时,先将原有的内容读取出来,写到快照卷中,再将该数据写入到存储设备中。而下次针对这一位置的写操作将不再执行写时拷贝操作。以原始卷中的存储数据为abcd为例。当需要在存储数据的第一个位置进行首次更新,例如写入数据h时,先将第一位置的数据a读取,将数据a写入快照卷,并将数据h写入原始卷,使得原始卷中的数据变为hbcd,快照卷中的数据为a。当第二位置的数据进行首次更新时,例如写入数据i,将第二位置的数据b读取,将数据b写入快照卷,并将数据i写入原始卷。进行两次快照后,依次生成数据为a和数据为b的两个快照卷。
对于同一位置,写时拷贝快照仅在数据首次更新时进行数据备份,如上述例子中,当需要在存储数据的第一个位置写入数据j时,仅将数据j写入原始卷中,快照卷中的数据依然为a。
采用写时拷贝快照时,虽然快照占用的存储空间小,但快照卷无法脱离原始卷,并且,每次创建快照时,进行一次读操作和两次写操作,快照的创建速度较低。
综上所述,创建快照时如何既能有效利用存储空间,又能提高快照速率、降低快照卷对原始卷的依赖,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种存储数据的快照创建方法、装置、设备及存储介质,使得快照卷不依赖原始卷,快照卷占用的存储空间小,并且提高了快照的执行速率。
为解决上述技术问题,本发明提供如下技术方案:
一种存储数据的快照创建方法,该方法包括:
将原始卷中的全部存储数据进行拷贝得到初始快照卷;
创建针对所述原始卷的初始位图以及与所述初始位图对应的初始数据保存区域;
将所述初始位图确定为目标位图,将所述初始数据保存区域确定为目标数据保存区域;
在所述原始卷中有目标存储数据写入时,将所述目标存储数据写入到所述目标数据保存区域;
根据所述目标存储数据在所述原始卷中的位置,变更所述目标位图的初始值;
创建针对所述原始卷的新位图以及所述新位图对应的新数据保存区域;
将所述新位图确定为所述目标位图,将所述新数据保存区域确定为所述目标数据保存区域,重复执行所述在所述原始卷中有目标存储数据写入时,将所述目标存储数据写入到所述目标数据保存区域的步骤。
优选的,所述根据所述目标存储数据在所述原始卷中的位置,变更所述目标位图的初始值,包括:
根据所述目标存储数据在所述原始卷中的位置,将所述目标位图的初始值中与该位置对应的数值进行变更;
其中,所述初始值中的每一位数值分别与所述原始卷的相应位置对应。
优选的,所述将所述目标位图的初始值中与该位置对应的数值进行变更,包括:
将所述目标位图的初始值中与该位置对应的数值从0变更为1。
优选的,在所述创建针对所述原始卷的初始位图以及与所述初始位图对应的初始数据保存区域之后,还包括:
根据所述初始位图的创建时间记录初始时间戳。
一种存储数据的快照创建装置,该装置包括:
初始快照卷获得模块,用于将原始卷中的全部存储数据进行拷贝得到初始快照卷;
初始位图及初始数据保存区域创建模块,用于创建针对所述原始卷的初始位图以及与所述初始位图对应的初始数据保存区域;
目标位图及目标数据保存区域确定模块,用于将所述初始位图确定为目标位图,将所述初始数据保存区域确定为目标数据保存区域;
存储数据写入模块,用于在所述原始卷中有目标存储数据写入时,将所述目标存储数据写入到所述目标数据保存区域;
初始值变更模块,用于根据所述目标存储数据在所述原始卷中的位置,变更所述目标位图的初始值;
新位图及新数据保存区域创建模块,用于创建针对所述原始卷的新位图以及所述新位图对应的新数据保存区域;
循环模块,用于将所述新位图确定为所述目标位图,将所述新数据保存区域确定为所述目标数据保存区域,进入所述存储数据写入模块。
优选的,所述初始值变更模块,具体用于:
根据所述目标存储数据在所述原始卷中的位置,将所述目标位图的初始值中与该位置对应的数值进行变更;
其中,所述初始值中的每一位数值分别与所述原始卷的相应位置对应。
优选的,所述初始值变更模块,具体用于:
将所述目标位图的初始值中与该位置对应的数值从0变更为1。
优选的,还包括:
初始时间戳记录模块,用于在所述创建针对所述原始卷的初始位图以及与所述初始位图对应的初始数据保存区域之后,根据所述初始位图的创建时间记录初始时间戳。
一种存储数据的快照创建设备,该设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现:将原始卷中的全部存储数据进行拷贝得到初始快照卷;创建针对所述原始卷的初始位图以及与所述初始位图对应的初始数据保存区域;将所述初始位图确定为目标位图,将所述初始数据保存区域确定为目标数据保存区域;在所述原始卷中有目标存储数据写入时,将所述目标存储数据写入到所述目标数据保存区域;根据所述目标存储数据在所述原始卷中的位置,变更所述目标位图的初始值;创建针对所述原始卷的新位图以及所述新位图对应的新数据保存区域;将所述新位图确定为所述目标位图,将所述新数据保存区域确定为所述目标数据保存区域,重复执行所述在所述原始卷中有目标存储数据写入时,将所述目标存储数据写入到所述目标数据保存区域的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述存储数据的快照创建方法的步骤。
应用本发明实施例所提供的技术方案,将原始卷中的全部存储数据进行拷贝得到初始快照卷;创建针对原始卷的初始位图以及与初始位图对应的初始数据保存区域;将初始位图确定为目标位图,将初始数据保存区域确定为目标数据保存区域;在原始卷中有目标存储数据写入时,将目标存储数据写入到目标数据保存区域;根据目标存储数据在原始卷中的位置,变更目标位图的初始值;创建针对原始卷的新位图以及新位图对应的新数据保存区域;将新位图确定为目标位图,将新数据保存区域确定为目标数据保存区域,重复执行在原始卷中有目标存储数据写入时,将目标存储数据写入到目标数据保存区域的步骤。
由于在第一次进行快照时,将原始卷中的全部数据进行拷贝,并且从第二次开始的每一次快照中,将新写入原始卷中的目标存储数据进行保存,并且通过变更前一次快照时创建的目标位图的初始值,可以确定保存的目标存储数据在原始卷中的位置,使得本发明中创建的快照卷不依赖原始卷。并且原始卷写入目标存储数据时,仅将该目标存储数据写入快照卷,原始卷中其他未被修改的数据并不写入快照卷,使得本发明创建快照卷的方法占用的存储空间小,提高了存储空间的利用率。除第一次外的每次创建快照时,只需进行两次写操作,即将目标存储数据分别写入原始卷和快照卷,相比现有技术中的写时拷贝快照方式,少了一次读操作,提高了快照的执行速率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中一种存储数据的快照创建方法的实施流程图;
图2为本发明的一种具体实施例中第一快照卷的结构示意图;
图3为本发明的一种具体实施例中第二快照卷的结构示意图;
图4为本发明的一种具体实施例中第三快照卷的结构示意图;
图5为本发明中一种存储数据的快照创建装置的结构示意图;
图6为本发明中一种存储数据的快照创建设备的结构示意图。
具体实施方式
本发明的核心是提供一种存储数据的快照创建方法,本发明针对存储数据创建的快照卷不依赖原始卷。并且本发明创建快照卷的方法占用的存储空间小,提高了存储空间的利用率。还提高了快照的执行速率。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,为本发明中一种存储数据的快照创建方法的实施流程图,该方法包括以下步骤:
S101:将原始卷中的全部存储数据进行拷贝得到初始快照卷。
需要说明的是,本发明的方案仅在对原始卷第一次进行存储数据的快照时,进行步骤S101以及步骤S102的操作,即对原始卷的初始值进行拷贝。为了便于描述,本申请中将步骤S101以及步骤S102的操作称为对原始卷做第一次快照。
在对原始卷做第一次快照时,将原始卷中的全部存储数据进行拷贝得到初始快照卷。即对原始卷进行全量复制,得到数据内容与原始卷完全相同的复制数据,称之为初始快照卷,本申请中将初始快照卷简称为初始卷。
例如,原始卷中的数据为AAAA时,得到数据内容为AAAA的初始快照卷。需要说明的是,原始卷中的数据为AAAA,其中的A可以指代一个区域内的存储数据,例如磁盘中的某一个区域中的数据。
在得到初始快照卷之后,可以进行步骤S102的操作。
S102:创建针对原始卷的初始位图以及与初始位图对应的初始数据保存区域。
在创建初始位图时,将初始位图中的数值称为初始值,初始值可以进行变更。在本发明的一种具体实施方式中,初始位图中的数值可以是由0和1构成的数值,每一位数值与原始卷中的相应位置的存储数据对应。例如当原始卷中的数据为AAAA时,创建针对该原始卷的初始位图,该初始位图的初始值为0000,每一个0分别对应原始卷中的相同位置的存储数据A,代表数据未改变。
初始位图对应一个初始数据保存区域,初始数据保存区域可接收读写指令进行数据的读写操作,当然,对原始卷做第一次快照时,初始数据保存区域可以为空。
需要指出的是,步骤S101和步骤S102可以先后进行,也可以同时进行。
本申请中,将对原始卷做第一次快照后得到的快照卷称为第一快照卷,即第一快照卷包含上述初始快照卷、初始位图以及初始数据保存区域。可参阅图2,为本发明的一种具体实施例中第一快照卷的结构示意图。对数据内容为AAAA的原始卷100做第一次快照,得到的第一快照卷200中,包含数据内容为AAAA的初始卷210,初始值为0000的初始位图220,以及数据内容为空的初始数据保存区域230。
在对原始卷进行第一次快照之后,可以进行步骤S103的操作。
S103:将初始位图确定为目标位图,将初始数据保存区域确定为目标数据保存区域。
将初始位图确定为目标位图,以及将初始数据保存区域确定为目标数据保存区域,以便后续步骤中对目标位图以及目标数据保存区域进行操作。
需要说明的是,在对原始卷进行第一次快照时,创建初始快照卷、初始位图以及初始数据保存区域,将初始位图确定为目标位图,将初始数据保存区域确定为目标数据保存区域,以便下一次快照,即对原始卷做第二次快照时使用目标位图以及目标数据保存区域。
S104:在原始卷中有目标存储数据写入时,将目标存储数据写入到目标数据保存区域。
目标存储数据可以为任意的写入原始卷中的数据。在原始卷中有目标存储数据写入时,将目标存储数据写入到目标数据保存区域。
为了便于描述,本申请中将对原始卷做第二次快照的操作称为对原始卷做第二次快照,对原始卷做第二次快照后得到的快照卷称为第二快照卷。对原始卷做第二次快照是建立在对该原始卷做过第一次快照的基础上的。也就是说,当原始卷进行第一次快照之后,第一次有目标存储数据写入到原始卷中时,对原始卷做第二次快照。第二次快照一共执行了两次写操作:将目标存储数据写入原始卷中,将目标存储数据写入目标数据保存区域中。
当然,在对原始卷做第二次快照时,目标数据保存区域即为第一次快照时创建的那一个初始数据保存区域。例如,原始卷中的数据为AAAA,进行第一次快照后接收到写指令,需要将目标存储数据写入该原始卷中,例如将目标存储数据用B表示,数据B需要写入至该原始卷的第二个位置,则写入目标存储数据B后,原始卷中的存储数据变为ABAA。同时,将目标存储数据B写入至目标数据保存区域,在第二次快照时,即写入初始数据保存区域。当然,可以先将目标存储数据B写入原始卷,再写入初始数据保存区域,也可以同时进行,并不影响本发明的实施。
在执行步骤S104以及步骤S105时,本发明并不限定步骤S104以及步骤S105的执行顺序,当然,还可以同时执行步骤S104和步骤S105。
S105:根据目标存储数据在原始卷中的位置,变更目标位图的初始值。
在本发明的一种具体实施方式中,步骤S105包括:
根据目标存储数据在原始卷中的位置,将目标位图的初始值中与该位置对应的数值进行变更;
其中,初始值中的每一位数值分别与原始卷中的数据的相应位置对应。
仍以上述原始卷中的数据为AAAA为例,目标位图的初始值可以为0000,每一个0分别与原始卷的相应位置的A对应,代表数据未改变。当存储数据B写入原始卷中的第二个位置使得原始卷变为ABAA时,可以变更目标位图的初始值的第二个位置的数值,例如将第二个位置的0变为1,使目标位图中的数值为0100。
当然,在本发明的一种具体实施例中,目标位图的初始值可以设为其他数值,例如1111,每个1代表对应位置的原始卷中的数据未改变,当有数据写入原始卷中时,相应的位置的1可以进行变更表示该位置对应的原始卷中的数据发生了变化,例如变为2。
需要指出的是,根据目标存储数据在原始卷中的位置,变更目标位图的初始值,还可以有其他的数值变更的方式,并不影响本发明的实施。例如当目标存储数据B写入原始卷中时,确定目标存储数据B的地址,将目标位图的初始值变更为该地址,也就是将确定出的目标存储数据B的地址记录在目标位图中,以利用变更初始值后的目标位图,记录目标存储数据B写入原始卷中的位置。
为了便于描述,以下将步骤S106以及步骤S107的操作进行合并说明。
S106:创建针对原始卷的新位图以及与新位图对应的新数据保存区域。
S107:将新位图确定为目标位图,将新数据保存区域确定为目标数据保存区域,重复执行步骤S104的操作。
针对原始卷的新位图的创建可以参照初始位图的创建,新位图对应的新数据保存区域的创建可以参照初始数据保存区域的创建。例如,创建新位图时,将新位图的初始值设为0000,以便于下一次目标存储数据写入后进行快照时,进行相应的初始值的变更。
当对原始卷做第二次快照时,将目标存储数据写入到目标数据保存区域,根据目标存储数据在原始卷中的位置,变更目标位图的初始值,并且创建针对原始卷的新位图以及新位图对应的新数据保存区域。创建的新数据保存区域可以为空,创建的新位图可以为未变更初始值的位图,以便对原始卷做第三次快照时使用第二次快照时创建的新位图以及新数据保存区域。
将对原始卷做第二次快照后得到的快照卷称为第二快照卷。第二快照卷包含步骤S101中得到的初始快照卷、步骤S104中得到的写入了目标存储数据的目标数据保存区域、步骤S105中得到的变更了初始值的目标位图以及步骤S107中创建的新位图和新数据保存区域。
仍然以上述初始存储数据内容为AAAA,执行第一次快照之后在第二个位置写入了目标存储数据B的原始卷为例,第二次快照时创建的新位图的初始值可以设为例如0000,新数据保存区域可以为空以便下一次快照的使用。需要指出的是,相较于保存在原始卷以及快照卷中的存储数据,本发明的方案中每一次进行快照时创建的位图所占据的存储空间均非常小,甚至可以忽略不计。具体的说,例如一种具体实施例中,第一快照卷所占据的存储空间即为AAAA,第二快照卷占据的存储空间为AAAA,以及目标存储数据B。可参阅图3,为本发明的一种具体实施例中第二快照卷的结构示意图。对初始存储数据内容为AAAA,执行第一次快照之后在第二个位置写入了目标存储数据B,使得内容变为ABAA的原始卷110做第二次快照,得到的第二快照卷300中,包含数据内容为AAAA的初始卷310,数值为0100的目标位图320、数据内容为B的目标数据保存区域330、初始值为0000的新位图340以及数据内容为空的新数据保存区域350。
当需要将进行了两次快照后的原始卷写入目标存储数据C并进行第三次快照时,可以参阅步骤S104至步骤S107的相关说明。以上述进行了两次快照的原始卷为例,当目标存储数据C写入该原始卷的第三个位置时,可以得到第三快照卷。可参阅图4,为本发明的一种具体实施例中第三快照卷的结构示意图。对初始存储数据内容为AAAA,执行第一次快照之后在第二个位置写入了目标存储数据B,执行第二次快照之后在第三个位置写入了目标存储数据C使得内容变为ABCA的原始卷120做第三次快照,得到的第三快照卷400中,包含数据内容为AAAA的初始卷410,数值为0100的初始位图420、数据内容为B的初始数据保存区域430、数值为0010的目标位图440、数据内容为C的目标数据保存区域450、初始值为0000的新位图460以及数据内容为空的新数据保存区域470。
当然,在对原始卷进行第4次,第5次以及第N次的快照时,均可以参阅对原始卷做第二次快照的相关操作。
应用本发明实施例所提供的技术方案,将原始卷中的全部存储数据进行拷贝得到初始快照卷;创建针对原始卷的初始位图以及与初始位图对应的初始数据保存区域;将初始位图确定为目标位图,将初始数据保存区域确定为目标数据保存区域;在原始卷中有目标存储数据写入时,将目标存储数据写入到目标数据保存区域;根据目标存储数据在原始卷中的位置,变更目标位图的初始值;创建针对原始卷的新位图以及新位图对应的新数据保存区域;将新位图确定为目标位图,将新数据保存区域确定为目标数据保存区域,重复执行在原始卷中有目标存储数据写入时,将目标存储数据写入到目标数据保存区域的步骤。
由于在第一次进行快照时,将原始卷中的全部数据进行拷贝,并且从第二次开始的每一次快照中,将新写入原始卷中的目标存储数据进行保存,并且通过变更前一次快照时创建的目标位图的初始值,可以确定保存的目标存储数据在原始卷中的位置,使得本发明中创建的快照卷不依赖原始卷。并且原始卷写入目标存储数据时,仅将该目标存储数据写入快照卷,原始卷中其他未被修改的数据并不写入快照卷,使得本发明创建快照卷的方法占用的存储空间小,提高了存储空间的利用率。除第一次外的每次创建快照时,只需进行两次写操作,即将目标存储数据分别写入原始卷和快照卷,相比现有技术中的写时拷贝快照方式,少了一次读操作,提高了快照的执行速率。
在本发明的一种具体实施方式中,在步骤S102之后,还包括:
根据初始位图的创建时间记录初始时间戳。
采用本发明的该种具体实施方式,在创建初始位图以及初始位图对应的初始数据保存区域之后,可以认为第一次快照执行完毕,可以记录初始时间戳,初始时间戳即为记录的时刻,以便于当需要使用到原始卷的初始状态下的数据时,根据初始时间戳进行数据的恢复。当然,在本发明的一种具体实施方式中,可以在每一次创建新位图以及新位图对应的新数据保存区域之后,记录相应的时间戳。记录下每次生成快照时的时间戳,可以在用户进行数据恢复时为用户提供帮助,例如可以让存储数据恢复到某一个时间戳对应的状态。
相应于上面的方法实施例,本发明实施例还提供了一种存储数据的快照创建装置,下文描述的一种存储数据的快照创建装置与上文描述的一种存储数据的快照创建装置方法可相互对应参照。
参见图5所示,为本发明中一种存储数据的快照创建装置的结构示意图,该装置包括以下模块:
初始快照卷获得模块301,用于将原始卷中的全部存储数据进行拷贝得到初始快照卷;
初始位图及初始数据保存区域创建模块302,用于创建针对原始卷的初始位图以及与初始位图对应的初始数据保存区域;
目标位图及目标数据保存区域确定模块303,用于将初始位图确定为目标位图,将初始数据保存区域确定为目标数据保存区域;
存储数据写入模块304,用于在原始卷中有目标存储数据写入时,将目标存储数据写入到目标数据保存区域;
初始值变更模块305,用于根据目标存储数据在原始卷中的位置,变更目标位图的初始值;
新位图及新数据保存区域创建模块306,用于创建针对原始卷的新位图以及新位图对应的新数据保存区域;
循环模块307,用于将新位图确定为目标位图,将新数据保存区域确定为目标数据保存区域,进入存储数据写入模块304。
应用本发明实施例所提供的装置,将原始卷中的全部存储数据进行拷贝得到初始快照卷;创建针对原始卷的初始位图以及与初始位图对应的初始数据保存区域;将初始位图确定为目标位图,将初始数据保存区域确定为目标数据保存区域;在原始卷中有目标存储数据写入时,将目标存储数据写入到目标数据保存区域;根据目标存储数据在原始卷中的位置,变更目标位图的初始值;创建针对原始卷的新位图以及新位图对应的新数据保存区域;将新位图确定为目标位图,将新数据保存区域确定为目标数据保存区域,重复执行在原始卷中有目标存储数据写入时,将目标存储数据写入到目标数据保存区域的步骤。
由于在第一次进行快照时,将原始卷中的全部数据进行拷贝,并且从第二次开始的每一次快照中,将新写入原始卷中的目标存储数据进行保存,并且通过变更前一次快照时创建的目标位图的初始值,可以确定保存的目标存储数据在原始卷中的位置,使得本发明中创建的快照卷不依赖原始卷。并且原始卷写入目标存储数据时,仅将该目标存储数据写入快照卷,原始卷中其他未被修改的数据并不写入快照卷,使得本发明创建快照卷的方法占用的存储空间小,提高了存储空间的利用率。除第一次外的每次创建快照时,只需进行两次写操作,即将目标存储数据分别写入原始卷和快照卷,相比现有技术中的写时拷贝快照方式,少了一次读操作,提高了快照的执行速率。
在本发明的一种具体实施方式中,初始值变更模块305,具体用于:
根据目标存储数据在原始卷中的位置,将目标位图的初始值中与该位置对应的数值进行变更;
其中,初始值中的每一位数值分别与原始卷的相应位置对应。
在本发明的一种具体实施方式中,初始值变更模块305,具体用于:
将目标位图的初始值中与该位置对应的数值从0变更为1。
在本发明的一种具体实施方式中,还包括:
初始时间戳记录模块,用于在创建针对原始卷的初始位图以及与初始位图对应的初始数据保存区域之后,根据初始位图的创建时间记录初始时间戳。
相应于上面的方法及装置实施例,本发明实施例还提供了一种存储数据的快照创建设备,下文描述的一种存储数据的快照创建设备与上文描述的一种存储数据的快照创建装置方法以及装置可相互对应参照。
参见图6所示,为本发明中一种存储数据的快照创建设备的结构示意图,该设备包括:
存储器401,用于存储计算机程序;
处理器402,用于执行计算机程序以实现:将原始卷中的全部存储数据进行拷贝得到初始快照卷;创建针对原始卷的初始位图以及与初始位图对应的初始数据保存区域;将初始位图确定为目标位图,将初始数据保存区域确定为目标数据保存区域;在原始卷中有目标存储数据写入时,将目标存储数据写入到目标数据保存区域;根据目标存储数据在原始卷中的位置,变更目标位图的初始值;创建针对原始卷的新位图以及新位图对应的新数据保存区域;将新位图确定为目标位图,将新数据保存区域确定为目标数据保存区域,重复执行在原始卷中有目标存储数据写入时,将目标存储数据写入到目标数据保存区域的步骤。
相应于上面的方法、装置及设备实施例,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述存储数据的快照创建方法的步骤。此处不重复说明。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种存储数据的快照创建方法,其特征在于,包括:
将原始卷中的全部存储数据进行拷贝得到初始快照卷;
创建针对所述原始卷的初始位图以及与所述初始位图对应的初始数据保存区域;
将所述初始位图确定为目标位图,将所述初始数据保存区域确定为目标数据保存区域;
在所述原始卷中有目标存储数据写入时,将所述目标存储数据写入到所述目标数据保存区域;
根据所述目标存储数据在所述原始卷中的位置,变更所述目标位图的初始值;
创建针对所述原始卷的新位图以及所述新位图对应的新数据保存区域;
将所述新位图确定为所述目标位图,将所述新数据保存区域确定为所述目标数据保存区域,重复执行所述在所述原始卷中有目标存储数据写入时,将所述目标存储数据写入到所述目标数据保存区域的步骤。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标存储数据在所述原始卷中的位置,变更所述目标位图的初始值,包括:
根据所述目标存储数据在所述原始卷中的位置,将所述目标位图的初始值中与该位置对应的数值进行变更;
其中,所述初始值中的每一位数值分别与所述原始卷的相应位置对应。
3.根据权利要求2所述的方法,其特征在于,所述将所述目标位图的初始值中与该位置对应的数值进行变更,包括:
将所述目标位图的初始值中与该位置对应的数值从0变更为1。
4.根据权利要求1至3任一项所述的方法,其特征在于,在所述创建针对所述原始卷的初始位图以及与所述初始位图对应的初始数据保存区域之后,还包括:
根据所述初始位图的创建时间记录初始时间戳。
5.一种存储数据的快照创建装置,其特征在于,包括:
初始快照卷获得模块,用于将原始卷中的全部存储数据进行拷贝得到初始快照卷;
初始位图及初始数据保存区域创建模块,用于创建针对所述原始卷的初始位图以及与所述初始位图对应的初始数据保存区域;
目标位图及目标数据保存区域确定模块,用于将所述初始位图确定为目标位图,将所述初始数据保存区域确定为目标数据保存区域;
存储数据写入模块,用于在所述原始卷中有目标存储数据写入时,将所述目标存储数据写入到所述目标数据保存区域;
初始值变更模块,用于根据所述目标存储数据在所述原始卷中的位置,变更所述目标位图的初始值;
新位图及新数据保存区域创建模块,用于创建针对所述原始卷的新位图以及所述新位图对应的新数据保存区域;
循环模块,用于将所述新位图确定为所述目标位图,将所述新数据保存区域确定为所述目标数据保存区域,进入所述存储数据写入模块。
6.根据权利要求5所述的装置,其特征在于,所述初始值变更模块,具体用于:
根据所述目标存储数据在所述原始卷中的位置,将所述目标位图的初始值中与该位置对应的数值进行变更;
其中,所述初始值中的每一位数值分别与所述原始卷的相应位置对应。
7.根据权利要求6所述的装置,其特征在于,所述初始值变更模块,具体用于:
将所述目标位图的初始值中与该位置对应的数值从0变更为1。
8.根据权利要求5至7任一项所述的装置,其特征在于,还包括:
初始时间戳记录模块,用于在所述创建针对所述原始卷的初始位图以及与所述初始位图对应的初始数据保存区域之后,根据所述初始位图的创建时间记录初始时间戳。
9.一种存储数据的快照创建设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现:将原始卷中的全部存储数据进行拷贝得到初始快照卷;创建针对所述原始卷的初始位图以及与所述初始位图对应的初始数据保存区域;将所述初始位图确定为目标位图,将所述初始数据保存区域确定为目标数据保存区域;在所述原始卷中有目标存储数据写入时,将所述目标存储数据写入到所述目标数据保存区域;根据所述目标存储数据在所述原始卷中的位置,变更所述目标位图的初始值;创建针对所述原始卷的新位图以及所述新位图对应的新数据保存区域;将所述新位图确定为所述目标位图,将所述新数据保存区域确定为所述目标数据保存区域,重复执行所述在所述原始卷中有目标存储数据写入时,将所述目标存储数据写入到所述目标数据保存区域的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述存储数据的快照创建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710874978.4A CN107562578B (zh) | 2017-09-25 | 2017-09-25 | 一种存储数据的快照创建方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710874978.4A CN107562578B (zh) | 2017-09-25 | 2017-09-25 | 一种存储数据的快照创建方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107562578A true CN107562578A (zh) | 2018-01-09 |
CN107562578B CN107562578B (zh) | 2021-06-29 |
Family
ID=60982775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710874978.4A Active CN107562578B (zh) | 2017-09-25 | 2017-09-25 | 一种存储数据的快照创建方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107562578B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032507A (zh) * | 2018-06-28 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种生成源卷存储快照的方法、系统及相关组件 |
CN109298975A (zh) * | 2018-10-12 | 2019-02-01 | 郑州云海信息技术有限公司 | 一种数据处理方法及装置 |
CN109710454A (zh) * | 2018-11-08 | 2019-05-03 | 厦门集微科技有限公司 | 一种云主机快照方法及装置 |
CN110442476A (zh) * | 2019-06-25 | 2019-11-12 | 平安科技(深圳)有限公司 | 数据快照方法、装置、设备及存储介质 |
CN110806950A (zh) * | 2019-09-19 | 2020-02-18 | 平安科技(深圳)有限公司 | 基于多态存储机制的快照生成方法、装置和计算机设备 |
CN111125012A (zh) * | 2019-12-22 | 2020-05-08 | 浪潮(北京)电子信息产业有限公司 | 一种快照生成方法、装置、设备及可读存储介质 |
CN113868018A (zh) * | 2021-08-25 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种数据保存方法及装置和一种数据恢复方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140536A (zh) * | 2007-05-21 | 2008-03-12 | 中兴通讯股份有限公司 | 一种支持级联快照的快照系统及其快照处理方法 |
US8370301B1 (en) * | 2003-03-21 | 2013-02-05 | Netapp, Inc. | System and method for reallocating blocks in checkpointing bitmap-based file systems |
CN105988895A (zh) * | 2015-02-10 | 2016-10-05 | 中兴通讯股份有限公司 | 快照处理方法及装置 |
CN106155833A (zh) * | 2015-03-31 | 2016-11-23 | 华为技术有限公司 | 一种异步远程复制的方法和装置 |
CN106371763A (zh) * | 2016-08-23 | 2017-02-01 | 浪潮(北京)电子信息产业有限公司 | 一种存储快照的方法、装置、磁盘及计算机 |
JP2017083933A (ja) * | 2015-10-23 | 2017-05-18 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
-
2017
- 2017-09-25 CN CN201710874978.4A patent/CN107562578B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8370301B1 (en) * | 2003-03-21 | 2013-02-05 | Netapp, Inc. | System and method for reallocating blocks in checkpointing bitmap-based file systems |
CN101140536A (zh) * | 2007-05-21 | 2008-03-12 | 中兴通讯股份有限公司 | 一种支持级联快照的快照系统及其快照处理方法 |
CN105988895A (zh) * | 2015-02-10 | 2016-10-05 | 中兴通讯股份有限公司 | 快照处理方法及装置 |
CN106155833A (zh) * | 2015-03-31 | 2016-11-23 | 华为技术有限公司 | 一种异步远程复制的方法和装置 |
JP2017083933A (ja) * | 2015-10-23 | 2017-05-18 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
CN106371763A (zh) * | 2016-08-23 | 2017-02-01 | 浪潮(北京)电子信息产业有限公司 | 一种存储快照的方法、装置、磁盘及计算机 |
Non-Patent Citations (4)
Title |
---|
JIANXIN LI ET AL: "iROW: An Efficient Live Snapshot System for Virtual Machine Disk", 《2012 IEEE 18TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS》 * |
YOUNG-HO KIM ET AL: "Snapshot technique using snapshot status table for shared storage supporting large capacity", 《 THE 6TH INTERNATIONAL CONFERENCE ON ADVANCED COMMUNICATION TECHNOLOGY》 * |
任敏敏: "一种快照技术的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
徐光平 等: "基于同一快照卷的多时间点的增量快照设计", 《计算机工程与应用》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032507A (zh) * | 2018-06-28 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种生成源卷存储快照的方法、系统及相关组件 |
CN109032507B (zh) * | 2018-06-28 | 2021-11-19 | 郑州云海信息技术有限公司 | 一种生成源卷存储快照的方法、系统及相关组件 |
CN109298975A (zh) * | 2018-10-12 | 2019-02-01 | 郑州云海信息技术有限公司 | 一种数据处理方法及装置 |
CN109710454A (zh) * | 2018-11-08 | 2019-05-03 | 厦门集微科技有限公司 | 一种云主机快照方法及装置 |
CN110442476A (zh) * | 2019-06-25 | 2019-11-12 | 平安科技(深圳)有限公司 | 数据快照方法、装置、设备及存储介质 |
CN110806950A (zh) * | 2019-09-19 | 2020-02-18 | 平安科技(深圳)有限公司 | 基于多态存储机制的快照生成方法、装置和计算机设备 |
WO2021051512A1 (zh) * | 2019-09-19 | 2021-03-25 | 平安科技(深圳)有限公司 | 基于多态存储机制的快照生成方法、装置和计算机设备 |
CN111125012A (zh) * | 2019-12-22 | 2020-05-08 | 浪潮(北京)电子信息产业有限公司 | 一种快照生成方法、装置、设备及可读存储介质 |
CN113868018A (zh) * | 2021-08-25 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种数据保存方法及装置和一种数据恢复方法 |
CN113868018B (zh) * | 2021-08-25 | 2024-03-01 | 苏州浪潮智能科技有限公司 | 一种数据保存方法及装置和一种数据恢复方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107562578B (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562578A (zh) | 一种存储数据的快照创建方法、装置、设备及存储介质 | |
CN104331478B (zh) | 一种自精简存储系统数据一致性管理方法 | |
CN107291883A (zh) | 一种分布式存储系统的快照方法及装置 | |
CN103034566B (zh) | 虚拟机还原的方法和装置 | |
CN106371763A (zh) | 一种存储快照的方法、装置、磁盘及计算机 | |
CN104281538B (zh) | 一种存储设备的扩容及快照方法和存储设备 | |
CN104461390A (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN105988895B (zh) | 快照处理方法及装置 | |
US20170344478A1 (en) | Storing log records in a non-volatile memory | |
CN105339902B (zh) | 用于版本化存储器实现的方法、装置和计算机可读介质 | |
CN104731713A (zh) | 基于随机映射的相变内存磨损均衡方法及系统 | |
CN106844597A (zh) | 一种快速删除依赖快照目标卷的方法及其装置 | |
CN103365926B (zh) | 在文件系统中用于保存快照的方法和装置 | |
CN107577558A (zh) | 一种云存储的快照方法及装置 | |
CN109460319A (zh) | 一种可写快照的创建方法、装置、系统、设备及存储介质 | |
CN109683825A (zh) | 一种存储系统在线数据压缩方法、装置及设备 | |
CN109684338A (zh) | 一种存储系统的数据更新方法 | |
CN106484313A (zh) | 数据信息备份方法、数据备份方法及装置 | |
CN104636088B (zh) | 一种将数据写入数据服务器的方法及存储系统 | |
CN103744751B (zh) | 存储设备配置信息连续优化备份系统及其使用方法 | |
CN108874574A (zh) | 一种垃圾回收处理方法及相关装置 | |
US9047923B1 (en) | Fast shingled tracks recording | |
CN103729301B (zh) | 数据处理方法和装置 | |
CN110032474A (zh) | 一种快照占用容量的确定方法、系统及相关组件 | |
CN104461784A (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 |