CN109753379A - 快照数据备份、删除方法、装置及*** - Google Patents
快照数据备份、删除方法、装置及*** Download PDFInfo
- Publication number
- CN109753379A CN109753379A CN201711092723.9A CN201711092723A CN109753379A CN 109753379 A CN109753379 A CN 109753379A CN 201711092723 A CN201711092723 A CN 201711092723A CN 109753379 A CN109753379 A CN 109753379A
- Authority
- CN
- China
- Prior art keywords
- snapshot
- storage system
- backed
- data block
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种快照数据备份、删除方法、装置及***。在跨域场景下的快照备份过程中,先将以影子快照名称命名的待备份快照的元数据列表备份至目的存储***,之后再采用增量备份方式,将待备份快照需要使用的各数据块中尚未备份至目的存储***中的数据块备份至目的存储***;对目的存储***来说,因为先行收到了以影子快照名称命名的元数据列表,结合该元数据列表进行数据块删除,不会将待备份快照需要使用的数据块删除,这样当待备份快照被备份至目的存储***时不会存在数据块的缺失,可以保证待备份快照的完整性,解决了跨域场景下增量备份快照数据过程中可能出现的快照数据不完整的问题。
Description
技术领域
本申请涉及数据库技术领域,尤其涉及一种快照数据备份、删除方法、装置及***。
背景技术
在现有技术中,越来越多的存储***开始使用快照技术。在一些情况下,需要将一存储***(称为源存储***)的快照数据备份至另一存储***(称为目的存储***)中。例如,当目的存储***的使用者需要跨域使用源存储***的快照数据时,需要先把快照数据从源存储***备份至目的存储***,这样目的存储***的使用者就可以在目的存储***中使用源存储***备份过来的快照数据。
在跨域备份快照数据的过程中,可以采用增量备份方式,即对于已经存在于目的存储***中的数据块可以不再重复备份,只需将尚未备份至目的存储***的数据块备份至目的存储***中。在源存储***以增量备份方式向目的存储***备份快照数据的过程中,若目的存储***同时对本地存储的数据块进行删除操作,有可能将源存储***认为不需要备份的数据块(即已经存在于目的存储***中的数据块)删除掉,而源存储***因为认为目的存储***中已经存在所以不会再备份该数据块,这会导致最终备份至目的存储***的快照数据不完整。
由此可见,需要提供一种方案能够解决快照数据增量备份过程中可能出现的快照数据不完整的问题。
发明内容
本申请的多个方面提供一种快照数据备份、删除方法、装置及***,用以解决跨域场景下增量备份快照数据过程中可能出现的快照数据不完整的问题。
本申请实施例提供一种快照数据备份方法,包括:将待备份快照的元数据列表重新命名为影子快照名称,所述影子快照名称指向所述待备份快照但不同于所述待备份快照的名称;将以所述影子快照名称命名的所述元数据列表备份至目的存储***;采用增量备份方式,将所述待备份快照需要使用的各数据块中尚未备份至所述目的存储***中的数据块备份至所述目的存储***。
本申请实施例还提供一种快照数据删除方法,包括:从待删除快照需要使用的数据块中,获取待删除数据块;获取非待删除快照需要使用的数据块,所述非待删除快照包括本端存储的除所述待删除快照之外的其它快照以及正在向本端备份的待备份快照;当所述待删除数据块不属于所述非待删除快照需要使用的数据块时,删除所述待删除数据块;其中,所述待备份快照由以影子快照名称命名的元数据列表所标识,且所述影子快照名称指向所述待备份快照但不同于所述待备份快照的名称。
本申请实施例还提供一种电子设备,位于源存储***中实现,包括:存储器、处理器以及通信组件;所述存储器,用于存储计算机程序;所述处理器,耦合至所述存储器,用于执行所述计算机程序,以用于:将待备份快照的元数据列表重新命名为影子快照名称,所述影子快照名称指向所述待备份快照但不同于所述待备份快照的名称;通过所述通信组件将以所述影子快照名称命名的所述元数据列表备份至目的存储***;采用增量备份方式,将所述待备份快照需要使用的各数据块中尚未备份至所述目的存储***中的数据块备份至所述目的存储***;所述通信组件,用于将以所述影子快照名称命名的所述元数据列表以及所述尚未备份至所述目的存储***中的数据块备份至所述目的存储***。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被执行时能够实现前述实施例提供的快照数据备份方法中的步骤。
本申请实施例还提供一种电子设备,位于目的存储***中实现,所述电子设备包括:存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,耦合至所述存储器,用于执行所述计算机程序,以用于:从待删除快照需要使用的数据块中,获取待删除数据块;获取非待删除快照需要使用的数据块,所述非待删除快照包括本端存储的除所述待删除快照之外的其它快照以及正在向本端备份的待备份快照;当所述待删除数据块不属于所述非待删除快照需要使用的数据块时,删除所述待删除数据块;其中,所述待备份快照由以影子快照名称命名的元数据列表所标识,且所述影子快照名称指向所述待备份快照但不同于所述待备份快照的名称。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被执行时能够实现上述实施例提供的快照数据删除方法中的步骤。
本申请实施例还提供一种跨域存储***,包括:包括源存储***和目的存储***;所述源存储***包括至少一台存储设备以及第一快照管理设备;所述源存储***中的至少一台存储设备上存储有所述源存储***中的快照及其元数据列表;所述第一快照管理设备,用于:将所述源存储***中待备份快照的元数据列表重新命名为影子快照名称,所述影子快照名称指向所述待备份快照但不同于所述待备份快照的名称;将以所述影子快照名称命名的所述元数据列表备份至所述目的存储***;采用增量备份方式,将所述待备份快照需要使用的各数据块中尚未备份至所述目的存储***中的数据块备份至所述目的存储***。
在本申请实施例中,在快照数据备份过程中,在将待备份快照的元数据列表重命名为影子快照名称之后,先将以影子快照名称命名的元数据列表备份至目的存储***,之后再采用增量备份方式,将待备份快照需要使用的各数据块中尚未备份至目的存储***中的数据块备份至目的存储***;对目的存储***来说,因为先行收到了以影子快照名称命名的元数据列表,可结合该元数据列表进行数据块删除,不会将待备份快照需要使用的数据块删除,这样当待备份快照被备份至目的存储***时不会存在数据块的缺失,可以保证待备份快照的完整性,解决了跨域场景下增量备份快照数据过程中可能出现的快照数据不完整的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的示例性跨域存储***的结构示意图;
图2a为本申请一示例性实施例提供的对数据存储空间划分存储分区的示例性结果示意图;
图2b为本申请一示例性实施例提供的一快照存储空间中快照的存储样式示意图;
图3a为本申请另一示例性实施例提供的快照数据备份方法的流程示意图;
图3b为本申请又一示例性实施例提供的快照数据备份方法的流程示意图;
图3c为本申请又一示例性实施例提供的以增量备份方式进行快照备份的流程示意图;
图4a为本申请又一示例性实施例提供的快照数据删除方法的流程示意图;
图4b为本申请另一示例性实施例提供的回收快照空间方法的流程示意图;
图5a为本申请又一示例性实施例提供的快照数据备份装置的结构示意图;
图5b为本申请又一示例性实施例提供的电子设备的结构示意图;
图6a为本申请又一示例性实施例提供的快照数据删除装置的结构示意图;
图6b为本申请又一示例性实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在跨域备份快照数据的场景下,当采用增量备份方式时,由于目的存储***具有删除无用数据块的机制,有可能将源存储***认为不需要备份的数据块(即已经存在于目的存储***中的数据块)删除掉,而源存储***因认为目的存储***中已经存在所以不会再备份该数据块,这会导致最终备份至目的存储***的快照数据不完整。
针对上述技术问题,本申请实施例提供一种解决方案,主要原理是:在源存储***向目的存储***备份快照的过程中,在将待备份快照的元数据列表重命名为影子快照名称之后,先将以影子快照名称命名的元数据列表备份至目的存储***;之后再采用增量备份方式,将待备份快照需要使用的各数据块中尚未备份至目的存储***中的数据块备份至目的存储***;对目的存储***来说,因为预先收到了以影子快照名称命名的元数据列表,可结合该元数据列表进行数据块删除,不会将待备份快照需要使用的数据块删除,不会将待备份快照需要使用的数据块删除,这样当待备份快照成功备份至目的存储***时不会存在数据块的缺失,可以保证待备份快照的完整性,解决了跨域场景下增量备份快照数据过程中可能出现的快照数据不完整的问题。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的示例性跨域存储***的结构示意图。如图1所示,该***包括:源存储***10和目的存储***20。源存储***10和目的存储***20可通过互联网连接。
源存储***10和目的存储***20是具有独立访问权限的存储***。在实践中,源存储***10可以是一个机房、一个计算机集群等。相应地,目的存储***20也可以是一个机房、一个计算机集群等。在实现形式上,源存储***10和目的存储***20可以是对等的,例如都是机房,或者都是计算机集群。或者,源存储***10和目的存储***20也可以是不对等的,例如源存储***10是一个机房,目的存储***20是一个计算机集群。
对源存储***10的使用者来说,可以直接访问和/或使用源存储***10中的存储资源和数据资源等,但不能跨域访问目的存储***20等其他存储***中的存储资源和数据资源。同理,对目的存储***20的使用者来说,可以直接访问和/或使用目的存储***20中的存储资源和数据资源等,但不能跨域访问源存储***10等其他存储***中的存储资源和数据资源。
上述源存储***10或目的存储***20中的存储资源主要是指存储***中的云磁盘、内存、只读存储器(Read-Only Memory,ROM)、中央处理器(Central Processing Unit,CPU)资源等。
上述源存储***10或目的存储***20中的数据资源可以包括存储***中的各种数据,例如用户数据、应用数据、***数据以及快照数据等。
上述源存储***10或目的存储***20的使用者可以是对该存储***具有访问和/或使用权限的计算机、虚拟机、各类应用、终端设备以及用户等。
如图1所示,源存储***20包括至少一台存储设备11以及第一快照管理设备12。每台存储设备11包括处理器、***总线以及硬盘、内存等至少一块存储介质。目的存储***20包括至少一台存储设备21。类似地,每台存储设备21也包括处理器、***总线以及硬盘、内存等至少一块存储介质。
对任一存储设备11或存储设备21来说,其包含的至少一块存储介质可以是相同类型的存储介质,也可以是不同类型的存储介质。对任一存储介质来说,例如可以选用相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)以及磁盒式磁带等中的任意一种。
对源存储***10或目的存储***20来说,其包含的至少一台存储设备可以是相同类型的存储设备,也可以是不同类型的存储设备。对任一台存储设备来说,可以是任何具有存储功能的设备,例如可以是服务器、台式计算机、个人计算机、手机、平板电脑、数据库等。服务器可以是常规服务器、云服务器、云主机、虚拟中心等。
在源存储***10中,至少一台存储设备11一方面向源存储***10的使用者提供数据存储空间,用于存储与源存储***10的使用者相关的各种数据,例如用户数据、***数据、各类应用数据等;另一方面提供快照存储空间,用于存储源存储***10中的快照及其元数据列表,这些快照主要是针对数据存储空间中存储的数据的快照。可选地,数据存储空间可实现为一云磁盘。云磁盘是指建立在至少一台存储设备11之上的磁盘实例。云磁盘与计算机磁盘类似,使用者可以对其进行读写操作。
在源存储***10中,第一快照管理设备12主要实现源存储***10的快照功能,例如为至少一台存储设备11提供的数据存储空间创建快照。在部署实现上,第一快照管理设备12可独立于至少一台存储设备11,单独部署,如图1所示。在第一快照管理设备12单独部署实施时,第一快照管理设备12可以是任何具有一定处理能力的设备,例如服务器、台式计算机、个人计算机、手机、平板电脑等。除了单独部署实施之外,第一快照管理设备12也可以部署在一台或多台存储设备11上实现。部署有第一快照管理设备12的存储设备11除了具有存储能力之外,还具有创建和管理源存储***10中的快照的能力。
在源存储***10使用的过程中,第一快照管理设备12可在不同时间点,为源存储***10创建若干快照,成为一条快照链。每一个时间点的快照可以看作是源存储***10在相应时间点时所存储数据的一个副本或复制品。这些快照被存储在至少一台存储设备11提供的快照存储空间中。当源存储***10发生故障或者源存储***10中存储的数据丢失时,可根据快照进行数据回滚,将源存储***10中的数据恢复到快照链上某个快照记录的数据状态。
考虑到源存储***10中存储的数据有冷热之分,很多数据很久才会改动。因此,在源存储***10的各个快照中往往只有少量数据有区别。为了节省空间,第一快照管理设备12在存储快照时使用去重存储技术。
在一种去重存储技术的实施方式中,按照地址偏移将源存储***10中至少一台存储设备11提供的数据存储空间划分为多个存储分区。存储分区的大小可根据数据存储空间的大小等因素适应性划分,例如每2MB、10MB或20MB的存储区域可作为一个存储分区。其中,一个存储分区中存储的数据的快照称为一个数据块,即数据块是一个存储分区的快照数据。在存储***10中,以数据块为粒度进行快照管理。这样在每次为数据存储空间创建快照时,只需检查每个存储分区,如果该存储分区当前存储的数据与之前已有快照中对应该存储分区的数据块的内容相同,则在新快照中继续使用之前已有快照中的数据块,不再重复存储该数据块;如果该存储分区当前存储的数据与之前已有快照中对应该存储分区的数据块的内容不相同,则在新快照中重新存储该存储分区当前的数据块。
如图2a所示,假设源存储***10的数据存储空间被切分为4个存储分区,记为存储分区Q1-Q4。结合图2a所示存储分区,为数据存储空间创建快照的过程包括:
第一次为数据存储空间创建快照,记为快照A,快照A存储于源存储***10的快照存储空间中。快照A在快照存储空间中的存储样式如图2b所示,包括数据块1-A,数据块2-A,数据块3-A以及数据块4-A。
在创建快照A之后,假设对存储分区Q1和Q3中的数据进行了改动,其它存储分区的数据没有改动。
在上述改动之后,第二次为数据存储空间创建快照,记为快照B,快照B存储于快照存储空间中。其中,快照B在快照存储空间中的存储样式如图2b所示,包括:数据块1-B以及数据块3-B。在快照B中,继续使用快照A中的数据块2-A和数据块4-A,无需重新存储数据块2-A和数据块4-A,只需在快照B的元数据列表中记录使用到的已有快照中的数据块的名称,以便从快照A的存储空间中读取相应数据块。这里以为数据存储空间创建两个快照(快照A和快照B)为例进行说明,实际应用中可以为数据存储空间创建更多快照。其中,快照A和快照B可形成数据存储空间的一个快照链。
由图2b可知,相同数据块在快照链中仅需存储一次,或者说快照链中存储的都是不同的数据块,这样可以节省大量存储空间。
第一快照管理设备12除了可以创建快照之外,还可以对已创建的快照进行管理。所述管理包括但不限于:备份、存储、删除快照以及回收快照空间等。
在一示例性应用中,第一快照管理设备12对快照的管理体现为:将源存储***10中的快照备份至目的存储***20中。结合上述存储分区,向目的存储***20备份快照实际上是将快照需要使用的数据块备份至目的存储***20的过程。以向目的存储***20备份上述快照A为例,需要将快照A使用的数据块1-A,数据块2-A,数据块3-A以及数据块4-A备份至目的存储***20。
例如,当目的存储***20需要使用源存储***10中的快照时,第一快照管理设备12需要将源存储***10中的快照备份至目的存储***20中。在一示例性实施方式中,目的存储***20可以向第一快照管理设备12发送使用快照的请求;第一快照管理设备12可以根据该请求,启动向目的存储***20备份快照的流程。在又一示例性实施方式中,目的存储***20定时使用源存储***10中的快照,基于此,可以设定备份周期,第一快照管理设备12周期性启动向目的存储***12备份快照的流程。
又例如,当需要将源存储***10裁撤时,为了保存源存储***10中的数据资源,第一快照管理设备12需要将源存储***10中的快照备份至目的存储***20中。值得说明的是,在该场景中,也需要备份源存储***10中除快照之外的其它数据,在此不做赘述。在一示例性实施方式中,当需要将源存储***10裁撤时,向第一快照管理设备12发送快照备份指令,以触发第一快照管理设备12启动快照备份流程;第一快照管理设备12接收到快照备份指令后,启动向目的存储***20备份快照的流程。
又例如,当需要整合各存储***之间的存储资源时,可能需要将源存储***10中的快照整合到目的存储***20中,则第一快照管理设备12需要将源存储***10中的快照备份至目的存储***20中。
在一示例性实施方式中,第一快照管理设备12可以采用全量备份方式,向目的存储***20备份快照。即,每次向目的存储***20备份快照,将源存储***10中待备份快照需要使用的数据块全部备份至目的存储***20中。
在一示例性实施方式中,第一快照管理设备12可以采用增量备份方式,向目的存储***20备份快照。即,每次向目的存储***20备份快照时,可以将目的存储***20中已经存在的数据块与本次待备份快照需要使用的数据块进行比较;只需将尚未备份至目的存储***20的数据块备份至目的存储***20即可,对于已经存在于目的存储***20中的数据块,可称为重复数据块,无需再次备份。增量备份方式可以减少备份数据量,有利于节约资源,提高备份效率。
在目的存储***20中,至少一台存储设备21一方面提供数据存储空间,用于存储目的存储***20中的各种数据,例如用户数据、***数据、各类应用数据等;另一方面提供快照存储空间,用于存储目的存储***20中的快照及其元数据列表。除此之外,至少一台存储设备21提供的快照存储空间还用于存储从源存储***10备份过来的快照及其元数据列表。
如图1所示,目的存储***20除了包括至少一台存储设备21之外,还包括第二快照管理设备22。第二快照管理设备22主要负责为至少一台存储设备21提供的数据存储空间中的数据创建和管理快照。与第一快照管理设备12类似,第二快照管理设备22对快照的管理也包括但不限于:备份、存储、删除快照以及回收快照空间等。另外,在部署实现上,与第一快照管理设备12类似,第二快照管理设备22可独立于至少一台存储设备21,单独部署,也可以部署到一台或多台存储设备21上实现。
其中,源存储***10和目的存储***20是两个相对独立的存储***,可以按照各自的快照处理逻辑进行快照处理。实际运行过程中,可能出现以下情况:在源存储***10向目的存储***20备份快照的过程中,第二快照管理设备22按照自身的快照删除逻辑删除目的存储***20无用的数据块。无用的数据块是指未被任何快照使用的数据块。当第一快照管理设备12采用增量备份方式时,第二快照管理设备22可能将第一快照管理设备12认为不需要备份的数据块(即已经存在于目的存储***20中的数据块)删除掉,而第一快照管理设备12因认为目的存储***20中已经存在所以不会再备份该数据块,这会导致最终备份至目的存储***20的快照数据不完整。
为解决上述问题,第一快照管理设备12在向目的存储***20中备份快照时,采用一种新的备份方式。即,第一快照管理设备12在向目的存储***20中备份快照时,首先获取待备份快照需要使用的各数据块的信息,然后将待备份快照需要使用的各数据块的信息备份至目的存储***20;接下来,在根据目的存储***20中已经备份的待备份快照需要使用的数据块,从待备份快照需要使用的各数据块中识别出尚未备份至目的存储***20中的数据块;将尚未备份至目的存储***20中的数据块备份至目的存储***20。
举例说明,以向目的存储***20备份图2b中的快照B为例。在开始备份时,第一快照管理设备12获取快照B需要使用的数据块的信息,包括:数据块1-B、数据块2-A、数据块3-B以及数据块4-A。然后,第一快照管理设备12将这些数据块的信息备份至目的存储***20中。接着,第一快照管理设备12获取目的存储***20中已经备份的数据块,假设目的存储***20已经备份有数据块1-A、数据块2-A、数据块3-A以及数据块4-A。其中,数据块2-A和数据块4-A是快照B需要使用的数据块,且已经备份至目的存储***20,第一快照管理设备12可以识别出数据块1-B和数据块3-B是尚未备份至目的存储***20中的数据块,于是将数据块1-B和数据块3-B备份至目的存储***20。至此,完成了快照备份过程。
采用上述快照备份方式,第二快照管理设备22会在快照备份过程中预先获得待备份快照需要使用的各数据块的信息,这意味着由所述信息标识的数据块处于被使用状态,对于存在于目的存储***20中的相应数据块不应被删除。于是,对第二快照管理设备22来说,在做数据块删除时,可以结合第一快照管理设备21备份过来的待备份快照需要使用的各数据块的信息判断出可被删除的数据块,而不会将待备份快照需要使用的数据块删除。这样,当待备份快照成功备份至目的存储***20时不会存在数据块的缺失,可以保证待备份快照的完整性,解决了跨域场景下增量备份快照数据过程中可能出现的快照数据不完整的问题。
其中,第一快照管理设备12可以采用多种方式将待备份快照需要使用的各数据块的信息备份至目的存储***20中。下面列举几种方式:
(1)在一示例性实施方式中,第一快照管理设备12可以直接将待备份快照需要使用的各数据块的信息备份至目的存储***20中。
(2)在另一示例性实施方式中,快照需要使用的各数据块的信息一般存储在快照的元数据列表中。其中,数据块的信息主要是指数据块的名称。在该元数据列表中,按照快照需要使用的各数据块在数据存储空间中的偏移地址依次存储各数据块的名称。对快照来说,除了通过元数据列表存储有需要使用的各数据块的信息之外,还具有一些其他属性,例如,快照的创建时间、加密方式、快照隶属的数据存储空间等。基于此,第一快照管理设备12可以将待备份快照的元数据列表备份至目的存储***20,待备份快照的元数据列表包括待备份快照需要使用的各数据块的信息。
一般来说,快照的元数据列表是以快照的名称命名的,用以标识元数据列表属于哪个快照。而且,在现有快照备份过程中,元数据列表是在最后一步被备份的,因此,目的存储***20在接收到元数据列表时,一方面可以确定此次备份过程结束,另一方面也可以根据元数据列表的名称确定相应快照已经处于可用状态。
在上述方式(2)中,第一快照管理设备12会先将元数据列表备份至目的存储***20中,目的存储***20会认为待备份快照已经处于可用状态,但实际上,此时的待备份快照实际上尚未处于可用状态。为了防止目的存储***20在待备份快照的数据块全部备份过来之前开始使用待备份快照,第一快照管理设备12可以修改待备份快照的元数据列表的名称,将名称修改后的元数据列表备份至目的存储***20中,从而将待备份快照的元数据列表和处于可用状态的快照的元数据列表进行区分。
可选地,第一快照管理设备12可以根据待备份快照的名称,创建一影子快照名称,该影子快照名称可以指向待备份快照,但又不同于待备份快照的名称。例如,影子快照名称可以是在待备份快照的名称后面或前面添加tmp或者shadow等标志性信息。之后,第一快照管理设备12将待备份快照的元数据列表重新命名为所述影子快照名称,将以影子快照名称命名的元数据列表备份至目的存储***20。对目的存储***20来说,会收到一个具有特殊名称的元数据列表,该特殊名称有别于待备份快照的名称但又可以标识元数据列表是待备份快照的元数据列表。
进一步,在以影子快照命名的基础上,当将以影子快照名称命名的元数据列表备份至目的存储***20之后,目的存储***20无法根据元数据列表来判断对应的快照是否处于可用状态。为此下面给出几种方式,使得目的存储***20能够判断待备份快照是否已经处于可用状态。
(a1)在一示例性实施方式中,在采用增量备份方式,将待备份快照需要使用的各数据块中尚未备份至目的存储***20中的数据块备份至目的存储***20之后,可以将以待备份快照的名称命名的元数据列表备份至目的存储***20。对目的存储***20来说,在接收到以待备份快照的名称命名的元数据列表之后可以确定待备份快照已经完全备份过来,处于可用状态,以便于正常使用待备份快照。或者,
(a2)在另一示例性实施方式中,目的存储***20可以向源存储***10开放一种修改元数据列表的名称的功能。基于此,在采用增量备份方式,将待备份快照需要使用的各数据块中尚未备份至目的存储***20中的数据块备份至目的存储***20之后,第一快照管理设备12可以向目的存储***20发送命名修改指令,以指示目的存储***20将以影子快照名称命名的元数据列表的名称修改为待备份快照的名称。对目的存储***20来说,在得到以待备份快照的名称命名的元数据列表之后可以确定待备份快照已经完全备份过来,处于可用状态,以便于正常使用待备份快照。
在上述方式(a1)中,目的存储***20中会存在两个名称不同的元数据列表,目的存储***20可以不做特殊处理。或者,第一快照管理设备12可以向目的存储***20发送删除指令,以指示目的存储***20删除以影子快照名称命名的元数据列表。目的存储***20中的第二快照管理设备22可以接收第一快照管理设备12发送的删除指令,根据删除指令,删除以影子快照名称命名的元数据列表。
进一步,对目的存储***20来说,其第二快照管理设备22负责接收快照管理设备21发送的待备份快照需要使用的各数据块信息以及待备份快照需要使用的各数据块中尚未备份至目的存储***20中的数据块,将这些数据块以及数据块的信息存储至目的存储***20的快照存储空间中。
除此之外,第二快照管理设备22还可以对目的存储***20中的数据块进行删除操作。
在一示例性场景(b1)中,在第一快照管理设备12向目的存储***20备份快照的过程中,第二快照管理设备22执行数据块的删除操作。第二快照管理设备22删除数据块的流程包括:第二快照管理设备22从待删除快照需要使用的数据块中,获取待删除数据块;获取非待删除快照需要使用的数据块,这里的非待删除快照包括目的存储***20存储的除待删除快照之外的其它快照以及正在向目的存储***20备份且尚未成功备份至目的存储***20的待备份快照;当待删除数据块不属于非待删除快照需要使用的数据块时,删除待删除数据块。
在目的存储***20中存储有至少一个快照,这些存储于目的存储***20中的快照可以包括目的存储***20自身的快照,也可以包括从其它存储***成功备份过来的快照。目的存储***20可以正常使用这些快照,例如使用这些快照进行数据恢复、容灾等。当某些快照无用时,可以为这些快照添加删除标记,以便于第二快照管理设备22可以及时删除这些快照,回收存储空间。删除快照主要是指将快照需要使用的数据块删除。因此,可以从待删除快照需要使用的数据块中获取待删除数据块。但是,一个数据块可能同时被多个快照所使用,因此在获取待删除数据块之后,需要进一步判断非待删除快照是否需要使用待删除数据块;如果非待删除快照不需要使用待删除数据块,则可以将待删除数据块删除;如果非待删除快照需要使用待删除数据块,则不能将待删除数据块删除,需要保留下来,继续供其它快照使用。
在本实施例中,因为是在第一快照管理设备12向目的存储***20备份快照的过程中执行的数据块删除操作,待删除数据块有可能被目的存储***存储的除待删除快照之外的其它快照(例如未被添加删除标记或者被添加正常标记的快照)使用,也有可能被正在从源存储***10中备份过来但尚未成功备份过来的待备份快照使用,因此将目的存储***20存储的除待删除快照之外的其它快照以及正在向目的存储***20备份且尚未成功备份至目的存储***20的待备份快照均视为非待删除快照。这样可以将真正无用的数据块删除掉,又不会误删除有用的数据块,有利于保证待备份数据块在成功备份至目的存储***20之后不会缺失数据块,保证其完整性。
可选地,结合上述影子快照名称,可以预先在目的存储***20与源存储***10中约定影子快照名称命名格式,例如在待备份快照的名称中的特定位置添加tmp或者shadow等标志性信息。基于此,第二快照管理设备22可以根据快照备份过程中约定使用的元数据列表命名格式,识别出以影子快照名称命名的元数据列表,并从以影子快照名称命名的元数据列表中获取待备份快照需要使用的数据块。另一方面,第二快照管理设备22可以根据目的存储***20存储的各快照的状态标识,从目的存储***20存储的各快照中识别出目的存储***20存储的除待删除快照之外的其它快照,并从以其它快照的名称命名的元数据列表中获取其它快照需要使用的数据块。
可选地,第二快照管理设备22在确定待删除数据块的使用状态时,可以根据非待删除快照需要使用的数据块,生成正常数据块信息集合,该集合中存储有非待删除快照需要使用的数据块的信息;将待删除数据块的信息在正常数据块信息集合中进行匹配;当在正常数据块信息集合中未匹配到待删除数据块的信息时,说明待删除数据块未被任何非待删除快照使用;当在正常数据块信息集合中匹配到待删除数据块的信息时,说明待删除数据块需要被某个或某些非待删除快照使用。
当待删除数据块未被任何非待删除快照使用时,第二快照管理设备22可删除待删除数据块;当待删除数据块需要被某个或某些非待删除快照使用时,第二快照管理设备22可禁止删除待删除数据块。
在另一示例性场景(b2)中,在第一快照管理设备12未向目的存储***20备份快照的情况下,第二快照管理设备22也可以执行数据块的删除操作。第二快照管理设备22删除数据块的流程包括:第二快照管理设备22获取目的存储***20存储的待删除快照需要使用的数据块作为待删除数据块;获取非待删除快照需要使用的数据块,所述非待删除快照包括目的存储***20存储的除待删除快照之外的其它快照;当待删除数据块不属于非待删除快照需要使用的数据块时,删除待删除数据块。
将第二快照管理设备22在场景(b1)和(b2)下删除数据块的流程进行比较可以发现,两者基本相同,区别仅在于:在场景(b2)下,非待删除快照仅需包括目的存储***20存储的除待删除快照之外的其它快照。其它内容类似,不再赘述。
由上面描述可知,在上述跨域存储***中,在快照备份过程中先行将以影子快照名称命名的待备份快照的元数据列表备份至目的存储***中,可避免目的存储***进行快照删除操作导致待备份快照要用到的数据块被删除,有利于保证待备份快照成功备份至目的存储***之后的完整性;另外,在备份快照过程中,目的存储***可以正常执行删除快照和回收快照空间的操作,不会影响目的存储***的可用性,有利于目的存储***在实际生产过程中更好地发挥实用价值。
值得说明的是,根据应用需求,目的存储***20也可以将自己的快照数据备份至源存储***10中,快照备份过程可参考源存储***10向目的存储***20备份快照的过程,不再赘述。另外,在源存储***10中也可以执行快照删除操作,快照删除过程可参考目的存储***20中删除快照的过程,不再赘述。
图3a为本申请另一示例性实施例提供的快照数据备份方法的流程示意图。如图3a所示,该方法包括:
30a、获取待备份快照需要使用的各数据块的信息。
30b、将待备份快照需要使用的各数据块的信息备份至目的存储***。
30c、根据目的存储***中已经备份的待备份快照需要使用的数据块,从待备份快照需要使用的各数据块中识别出尚未备份至目的存储***中的数据块。
30d、将所述尚未备份至目的存储***中的数据块备份至目的存储***。
在本实施例中,待备份快照是需要从源存储***备份至目的存储***的快照。待备份快照可以是一个也可以是多个。例如,可以将一个磁盘对应的快照链中的快照备份至目的存储***中;也可以将某台存储设备的多个磁盘对应的多个快照链中的快照备份至目的存储***中。
在一可选实施方式中,快照需要使用的各数据块的信息存储在快照的元数据列表中。基于此,如图3b所示,本申请又一示例性实施例提供的快照数据备份方法,包括以下步骤:
301a、将待备份快照的元数据列表重新命名为影子快照名称,该影子快照名称指向待备份快照但不同于所述待备份快照的名称。
301b、将以上述影子快照名称命名的元数据列表备份至目的存储***。
301c、采用增量备份方式,将待备份快照需要使用的各数据块中尚未备份至目的存储***中的数据块备份至目的存储***。
在本实施例中,为了防止目的存储***在待备份快照的数据块全部备份过来之前开始使用待备份快照,可以修改待备份快照的元数据列表的名称,将名称修改后的元数据列表备份至目的存储***中。基于此,可根据待备份快照的名称,创建一影子快照名称,所述影子快照名称指向待备份快照但不同于待备份快照的名称;将待备份快照的元数据列表重新命名为影子快照名称;将以影子快照名称命名的元数据列表备份至目的存储***;之后,根据目的存储***中已经备份的待备份快照需要使用的数据块,从待备份快照需要使用的各数据块中识别出尚未备份至目的存储***中的数据块,并将识别出的尚未备份至目的存储***中的数据块备份至目的存储***。
基于上述以影子快照名称命名的元数据列表,在将待备份快照需要使用的各数据块中,尚未备份至目的存储***中的数据块备份至目的存储***之后,还可以将以待备份快照的名称命名的元数据列表备份至目的存储***,以使得目的存储***据此识别待备份快照是否已经处于可用状态。
进一步,在将以待备份快照的名称命名的元数据列表备份至目的存储***之后,还可以向目的存储***发送删除指令,以指示目的存储***删除以影子快照名称命名的元数据列表,从而节约存储空间。
基于上述以影子快照名称命名的元数据列表,在将待备份快照需要使用的各数据块中,尚未备份至目的存储***中的数据块备份至目的存储***之后,还可以向目的存储***发送命名修改指令,以指示目的存储***将以影子快照名称命名的元数据列表的名称修改为待备份快照的名称,以使得目的存储***据此识别待备份快照是否已经处于可用状态。
在本实施例中,在快照备份过程中,在将待备份快照的元数据列表重命名为影子快照名称之后,先行将以影子快照名称命名的元数据列表备份至目的存储***中,之后再采用增量备份方式,将待备份快照需要使用的各数据块中尚未备份至目的存储***中的数据块备份至目的存储***,可以避免目的存储***进行快照删除操作导致待备份快照要用到的数据块被删除,有利于保证待备份快照成功备份至目的存储***之后的完整性;另外,基于影子快照名称,也可以防止目的存储***在待备份快照的数据块全部备份过来之前开始使用待备份快照,避免发生使用错误。
在一示例性应用场景中,需要以增量备份方式将一个云磁盘的快照链中的快照备份至目的存储***中。如图3c所示,备份流程包括以下步骤:
301、获得待备份云磁盘的快照链的快照列表,记为待备份快照列表,待备份快照列表中的快照为待备份快照。
302、为快照列表中的每个待备份快照创建一个影子快照名称,并将每个待备份快照的以影子快照名称命名的元数据列表备份至目的存储***中。
其中,不同待备份快照对应的影子快照名称不同。
可选地,可以一次性将所有待备份快照的以影子快照名称命名的元数据列表备份至目的存储***。或者,也可以是分批次将待备份快照的以影子快照名称命名的元数据列表备份至目的存储***。
303、创建一个已备份数据块集合,初始化为空集。
已备份数据块集合主要用于存储已备份数据块的信息。已备份数据块的信息主要是指已备份数据块的名称。
304、从目的存储***中获取待备份云磁盘的快照链中已经存在于目的存储***中的快照列表,记为已存在快照列表。
其中,已存在快照列表中存储有已备份至目的存储***中的快照的名称。
305、遍历已存在快照列表中的快照,将当前遍历到的快照的元数据列表中的每个数据块在已备份数据块集合中进行检索,并将未检索到的数据块加入所述已备份数据块集合中。
这里将数据块在已备份数据块集合中进行检索,主要是将数据块的名称在已备份数据块集合中的数据块名称进行比较,将未存在于已备份数据块集合中的数据块的名称加入所述已备份数据块集合中。
306、判断已存在快照列表中是否存在尚未遍历的快照;若判断结果为是,返回执行步骤305;若判断结果为否,进入步骤307。
307、创建一个待备份数据块集合,初始化为空集。
其中,待备份数据块集合主要用于存储待备份数据块的信息,主要是指待备份数据块的名称。
308、遍历待备份快照列表中的待备份快照,将当前遍历到的待备份快照的元数据列表中的每个数据块在已备份数据块集合中进行检索,并将未检索到的数据块加入所述待备份数据块集合中。
309、判断待备份快照列表中是否存在尚未遍历的快照;若判断结果为是,返回执行步骤308;若判断结果为否,进入步骤310。
310、将待备份数据块集合中的数据块备份至目的存储***。
可选地,可以一次性将待备份数据块集合中的数据块备份至目的存储***。或者,也可以分批次将待备份数据块集合中的数据块备份至目的存储***。
311、向目的存储***发送命名修改指令,以指示目的存储***将以影子快照名称命名的元数据列表的名称修改为对应快照的名称。
可选地,作为步骤311的代替方案,也可以将以相应快照的名称命名的元数据列表发送至目的存储***,以代替以相应影子快照名称命名的元数据列表。
在本实施例中,在快照备份过程中,在将待备份快照的元数据列表重命名为影子快照名称之后,先行将以影子快照名称命名的元数据列表备份至目的存储***中,避免目的存储***进行快照删除操作导致待备份快照要用到的数据块被删除,有利于保证待备份快照成功备份至目的存储***之后的完整性;另外,基于影子快照名称,也可以防止目的存储***在待备份快照的数据块全部备份过来之前开始使用待备份快照。
图4a为本申请又一示例性实施例提供的快照数据删除方法的流程示意图。如图4a所示,该方法包括:
40a、从待删除快照需要使用的数据块中,获取待删除数据块。
40b、获取非待删除快照需要使用的数据块,所述非待删除快照包括本端存储的除待删除快照之外的其它快照以及正在向本端备份的待备份快照;其中,待备份快照由以影子快照名称命名的元数据列表所标识,且该影子快照名称指向待备份快照但不同于待备份快照的名称。
40c、当待删除数据块不属于非待删除快照需要使用的数据块时,删除待删除数据块。
在一可选实施方式中,上述步骤40b的一种实施方式包括:
一方面,根据本端存储的各快照的状态标识,从本端存储的各快照中识别出除待删除快照之外的其它快照,并从以其它快照的名称命名的元数据列表中获取其它快照需要使用的数据块的信息;另一方面,根据快照备份过程中约定使用的元数据列表命名格式,识别出以影子快照名称命名的元数据列表,并从以影子快照名称命名的元数据列表中获取待备份快照需要使用的各数据块的信息。
在一可选实施方式中,上述步骤40c的一种实施方式包括:根据非待删除快照需要使用的数据块,生成正常数据块信息集合;将待删除数据块的信息在正常数据块信息集合中进行匹配;当在正常数据块信息集合中未匹配到待删除数据块的信息时,确定待删除数据块未被任何非待删除快照使用,则删除待删除数据块;当在正常数据块信息集合中匹配到待删除数据块的信息时,确定待删除数据块需要被某个或某些非待删除快照使用,则禁止删除待删除数据块。
在本实施例中,在源存储***向本端备份快照的过程中,可以继续执行数据块的删除操作,而且结合源存储***先行备份过来的以影子快照名称命名的元数据列表可以确定正在向本端备份的待备份快照需要使用的数据块,可以避免进行快照删除操作导致待备份快照要用到的数据块被删除,有利于保证待备份快照成功备份至本端之后的完整性;另外,基于影子快照名称,在待备份快照的数据块全部备份过来之前本端不会使用待备份快照;再者,在源存储***向本端备份快照的过程中,本端仍旧可以正常执行删除快照和回收快照空间的操作,不会影响本端的可用性。
在一示例性应用场景中,第二存储***包括一云磁盘,该云磁盘的快照备份于第一存储***中。根据应用需求,第一存储***需要针对该云磁盘的快照进行回收处理,则如图4b所示,在第一存储***中针对该云磁盘回收快照空间的流程包括以下步骤:
401、创建正常数据块集合和待删除数据块集合,并均初始化为空集。
其中,正常数据块集合主要用于存储正常数据块的信息。待删除数据块集合主要用于存储待删除数据块的信息。这里数据块的信息主要是指数据块的名称。
402、遍历第一存储***中未带有删除标记的快照以及正在向该第一存储***备份且尚未成功备份过来的快照,将当前遍历到的快照的元数据列表中的每个数据块在正常数据块集合中进行检索,并将未检索到的数据块添加到正常数据块集合中。
其中,第一存储***中未带有删除标记的快照以及正在向该第一存储***备份且尚未成功备份过来的快照都是上述云磁盘的快照。对于正在向该第一存储***备份且尚未成功备份过来的云磁盘的快照的元数据列表,可由云磁盘所属的第二存储***先行备份至第一存储***中。在进行数据块删除操作时,可以从第一存储***中直接获取正在向该第一存储***备份且尚未成功备份过来的快照的元数据列表。
403、判断未带有删除标记的快照以及正在向该第一存储***备份且尚未成功备份过来的快照中是否存在尚未遍历到的快照;若判断结果为是,返回执行步骤402;若判断结果为否,进入步骤404。
404、遍历第一存储***中带有删除标记的快照,将当前遍历到的快照的元数据列表中的每个数据块在正常数据块集合中进行检索,并将未检索到的数据块添加到待删除数据块集合中。
405、判断带有删除标记的快照中是否存在尚未遍历到的快照;若判断结果为是,返回执行步骤404;若判断结果为否,进入步骤406。
406、将待删除数据块集合中的数据块删除,并结束此次删除操作。
在本实施例中,在向第一存储***备份快照的过程中,可以继续执行数据块的删除操作,而且结合其它存储***先行备份过来的待备份快照的元数据列表,可以避免进行快照删除操作导致待备份快照要用到的数据块被删除,有利于保证待备份快照成功备份至本端之后的完整性;另外,在备份快照过程中,仍旧可以正常执行删除快照和回收快照空间的操作,不会影响本端的可用性。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤30a至步骤30d的执行主体可以为设备A;又比如,步骤30a和30b的执行主体可以为设备A,步骤30c和30d的执行主体可以为设备B;等等。
图5a为本申请又一示例性实施例提供的快照数据备份装置的结构示意图。如图5a所示,该装置包括:重命名模块51和备份模块52。
重命名模块51,用于将待备份快照的元数据列表重新命名为影子快照名称,影子快照名称指向待备份快照但不同于待备份快照的名称。
备份模块52,用于将以影子快照名称命名的元数据列表备份至目的存储***,并采用增量备份方式,将待备份快照需要使用的各数据块中尚未备份至目的存储***中的数据块备份至目的存储***。
在一可选实施方式中,备份模块52在将尚未备份至目的存储***中的数据块备份至目的存储***之后,还用于将以待备份快照的名称命名的元数据列表备份至目的存储***。
进一步,备份模块52在将以待备份快照的名称命名的元数据列表备份至目的存储***之后,还用于向目的存储***发送删除指令,以指示目的存储***删除以影子快照名称命名的元数据列表。
在一可选实施方式中,备份模块52在将尚未备份至目的存储***中的数据块备份至目的存储***之后,还用于向目的存储***发送命名修改指令,以指示目的存储***将以影子快照名称命名的元数据列表的名称修改为待备份快照的名称。
本实施例提供的快照数据备份装置,可用于执行上述快照数据备份方法实施例的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的快照数据备份装置,在快照备份过程中,在将待备份快照的元数据列表重命名为影子快照名称之后,先行待备份快照需要使用的各数据块的信息以影子快照名称命名的元数据列表备份至目的存储***中,之后再采用增量备份方式,将待备份快照需要使用的各数据块中尚未备份至目的存储***中的数据块备份至目的存储***,可以避免目的存储***进行快照删除操作导致待备份快照要用到的数据块被删除,有利于保证待备份快照成功备份至目的存储***之后的完整性。
以上描述了快照数据备份装置的内部功能和结构,如图5b所示,实际中,该快照数据备份装置可实现为电子设备,包括:存储器500、处理器501以及通信组件502。
存储器500,可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器500可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器501与存储器500耦合,用于执行存储器500中的程序,以用于:将待备份快照的元数据列表重新命名为影子快照名称,影子快照名称指向待备份快照但不同于待备份快照的名称;通过通信组件502将以影子快照名称命名的元数据列表备份至目的存储***;以及采用增量备份方式,通过通信组件502将待备份快照需要使用的各数据块中尚未备份至目的存储***中的数据块备份至目的存储***。
通信组件502,用于将以影子快照名称命名的元数据列表以及尚未备份至目的存储***中的数据块备份至目的存储***。
在一可选实施方式中,处理器501还用于:通过通信组件502将以待备份快照的名称命名的元数据列表备份至目的存储***。相应地,通信组件502还用于:将以待备份快照的名称命名的元数据列表备份至目的存储***。
在一可选实施方式中,处理器501还用于:通过通信组件502向目的存储***发送删除指令,以指示目的存储***删除以影子快照名称命名的元数据列表。相应地,通信组件502还用于:向目的存储***发送删除指令。
在一可选实施方式中,处理器501还用于:通过通信组件502向目的存储***发送命名修改指令,以指示目的存储***将以影子快照名称命名的元数据列表的名称修改为待备份快照的名称。相应地,通信组件502还用于:向目的存储***发送命名修改指令。
进一步,如图5b所示,电子设备还包括:显示器503、电源组件504、音频组件505等其它组件。图5b中仅示意性给出部分组件,并不意味着电子设备只包括图5b所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,该计算机程序被计算机执行时能够实现:获取将待备份快照的元数据列表重新命名为影子快照名称,影子快照名称指向待备份快照但不同于待备份快照的名称需要使用的各数据块的信息;将以影子快照名称命名的待备份快照需要使用的各数据块的信息元数据列表备份至目的存储***;根据目的存储***中已经备份的待备份快照需要使用的数据块,从采用增量备份方式,将待备份快照需要使用的各数据块中识别出尚未备份至目的存储***中的数据块;将尚未备份至目的存储***中的数据块备份至目的存储***。
除上述功能之外,上述计算机程序被执行时还可以实现上述快照数据备份方法实施例以及***实施例中描述的其它功能和/或步骤。
图6a为本申请又一示例性实施例提供的快照数据删除装置的结构示意图。如图6a所示,该装置包括:获取模块61和删除模块63。
获取模块61,用于从待删除快照需要使用的数据块中,获取待删除数据块,以及获取非待删除快照需要使用的数据块,这里的非待删除快照包括本端存储的除待删除快照之外的其它快照以及正在向本端备份的待备份快照。其中,待备份快照由以影子快照名称命名的元数据列表所标识,且影子快照名称指向待备份快照但不同于待备份快照的名称。
删除模块63,用于当待删除数据块不属于非待删除快照需要使用的数据块时,删除待删除数据块。
在一可选实施方式中,删除模块63具体用于:根据非待删除快照需要使用的数据块,生成正常数据块信息集合;将待删除数据块的信息在正常数据块信息集合中进行匹配;当在正常数据块信息集合中未匹配到待删除数据块的信息时,删除待删除数据块;当在正常数据块信息集合中匹配到待删除数据块的信息时,禁止删除待删除数据块。
在一可选实施方式中,获取模块61在获取非待删除快照需要使用的数据块时,具体用于:根据本端存储的各快照的状态标识,从本端存储的各快照中识别出其它快照;从其它快照的名称命名的元数据列表中获取其它快照需要使用的数据块的信息;以及根据快照备份过程中约定使用的元数据列表的命名格式,识别出以影子快照名称命名的元数据列表,并从以影子快照名称命名的元数据列表中获取待备份快照需要使用的各数据块的信息。
本实施例提供的快照数据删除装置,可用于执行上述快照数据删除方法实施例的流程,其具体工作原理不再赘述,详见方法实施例的描述。
本实施例提供的快照数据删除装置,在源存储***向本端备份快照的过程中,可以继续执行数据块的删除操作,而且结合源存储***先行备份过来的以影子快照名称命名的待备份快照的元数据列表,可以避免进行快照删除操作导致待备份快照要用到的数据块被删除,有利于保证待备份快照成功备份至本端之后的完整性;另外,在源存储***向本端备份快照的过程中,仍旧可以正常执行删除快照和回收快照空间的操作,不会影响本端的可用性。
以上描述了快照数据删除装置的内部功能和结构,如图6b所示,实际中,该快照数据删除装置可实现为电子设备,包括:存储器600和处理器601。
存储器600,可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器600可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器601与存储器600耦合,用于执行存储器600中的程序,以用于:从待删除快照需要使用的数据块中,获取待删除数据块;获取非待删除快照需要使用的各数据块的信息,这里的非待删除快照包括本端存储的除非待删除快照之外的其它快照以及正在向至本端备份的待备份快照;当待删除数据块不属于非待删除快照需要使用的数据块时,删除待删除数据块。其中,待备份快照由以影子快照名称命名的元数据列表所标识,且影子快照名称指向待备份快照但不同于待备份快照的名称。
在一可选实施方式中,处理器601具体用于:根据本端存储的各快照的状态标识,从本端存储的各快照中识别出其它快照;从其它快照的名称命名的元数据列表中获取其它快照需要使用的数据块的信息;以及根据快照备份过程中约定使用的元数据列表的命名格式,识别出以影子快照名称命名的元数据列表,并从以影子快照名称命名的元数据列表中获取待备份快照需要使用的各数据块的信息。
进一步,如图6b所示,电子设备还包括:通信组件602、显示器603、电源组件604、音频组件605等其它组件。图6b中仅示意性给出部分组件,并不意味着电子设备只包括图6b所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,该计算机程序被执行时,以实现:从待删除快照需要使用的数据块中,获取待删除数据块;获取非待删除快照需要使用的各数据块的信息,非待删除快照包括本端存储的除非待删除快照之外的其它快照以及正在向至本端备份的待备份快照;当待删除数据块不属于非待删除快照需要使用的数据块时,删除待删除数据块;其中,待备份快照由以影子快照名称命名的元数据列表所标识,且影子快照名称指向待备份快照但不同于待备份快照的名称。
除上述功能之外,上述计算机程序被执行时还可以实现上述快照数据删除方法实施例以及***实施例中描述的其它功能和/或步骤。
在图5b和图6b中的通信组件,可被配置为便于通信组件所属设备和其他设备之间有线或无线方式的通信。通信组件所属设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在图5b和图6b中的显示器,可以包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
在图5b和图6b中的电源组件,为电源组件所属设备的各种组件提供电力。电源组件可以包括电源管理***,一个或多个电源,及其他与为电源组件所属设备生成、管理和分配电力相关联的组件。
在图5b和图6b中的音频组件,被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所属设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种快照数据备份方法,其特征在于,包括:
将待备份快照的元数据列表重新命名为影子快照名称,所述影子快照名称指向所述待备份快照但不同于所述待备份快照的名称;
将以所述影子快照名称命名的所述元数据列表备份至目的存储***;
采用增量备份方式,将所述待备份快照需要使用的各数据块中尚未备份至所述目的存储***中的数据块备份至所述目的存储***。
2.根据权利要求1所述的方法,其特征在于,在将所述待备份快照需要使用的各数据块中尚未备份至所述目的存储***中的数据块备份至所述目的存储***之后,所述方法还包括:
将以所述待备份快照的名称命名的所述元数据列表备份至所述目的存储***。
3.根据权利要求2所述的方法,其特征在于,在将以所述待备份快照的名称命名的所述元数据列表备份至所述目的存储***之后,所述方法还包括:
向所述目的存储***发送删除指令,以指示所述目的存储***删除以所述影子快照名称命名的所述元数据列表。
4.根据权利要求1所述的方法,其特征在于,在将所述待备份快照需要使用的各数据块中尚未备份至所述目的存储***中的数据块备份至所述目的存储***之后,所述方法还包括:
向所述目的存储***发送命名修改指令,以指示所述目的存储***将以所述影子快照名称命名的所述元数据列表的名称修改为所述待备份快照的名称。
5.一种快照数据删除方法,其特征在于,包括:
从待删除快照需要使用的数据块中,获取待删除数据块;
获取非待删除快照需要使用的数据块,所述非待删除快照包括本端存储的除所述待删除快照之外的其它快照以及正在向本端备份的待备份快照;
当所述待删除数据块不属于所述非待删除快照需要使用的数据块时,删除所述待删除数据块;
其中,所述待备份快照由以影子快照名称命名的元数据列表所标识,且所述影子快照名称指向所述待备份快照但不同于所述待备份快照的名称。
6.根据权利要求5所述的方法,其特征在于,所述获取非待删除快照需要使用的数据块,包括:
根据本端存储的各快照的状态标识,从所述本端存储的各快照中识别出所述其它快照;
从以所述其它快照的名称命名的元数据列表中获取所述其它快照需要使用的数据块;以及
根据快照备份过程中约定使用的元数据列表的命名格式,识别出所述以影子快照名称命名的元数据列表,并从所述以影子快照名称命名的元数据列表中获取所述待备份快照需要使用的数据块。
7.一种电子设备,位于源存储***中实现,其特征在于,所述电子设备包括:存储器、处理器以及通信组件;
所述存储器,用于存储计算机程序;
所述处理器,耦合至所述存储器,用于执行所述计算机程序,以用于:
将待备份快照的元数据列表重新命名为影子快照名称,所述影子快照名称指向所述待备份快照但不同于所述待备份快照的名称;
通过所述通信组件将以所述影子快照名称命名的所述元数据列表备份至目的存储***;
采用增量备份方式,通过所述通信组件将所述待备份快照需要使用的各数据块中尚未备份至所述目的存储***中的数据块备份至所述目的存储***;
所述通信组件,用于将以所述影子快照名称命名的所述元数据列表以及所述尚未备份至所述目的存储***中的数据块备份至所述目的存储***。
8.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被执行时能够实现权利要求1-4任一项所述方法中的步骤。
9.一种电子设备,位于目的存储***中实现,其特征在于,所述电子设备包括:存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,耦合至所述存储器,用于执行所述计算机程序,以用于:
从待删除快照需要使用的数据块中,获取待删除数据块;
获取非待删除快照需要使用的数据块,所述非待删除快照包括本端存储的除所述待删除快照之外的其它快照以及正在向本端备份的待备份快照;
当所述待删除数据块不属于所述非待删除快照需要使用的数据块时,删除所述待删除数据块;
其中,所述待备份快照由以影子快照名称命名的元数据列表所标识,且所述影子快照名称指向所述待备份快照但不同于所述待备份快照的名称。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被执行时能够实现权利要求5-6任一项所述方法中的步骤。
11.一种跨域存储***,其特征在于,包括源存储***和目的存储***;
所述源存储***包括至少一台存储设备以及第一快照管理设备;所述源存储***中的至少一台存储设备上存储有所述源存储***中的快照及其元数据列表;
所述第一快照管理设备,用于:
将所述源存储***中待备份快照的元数据列表重新命名为影子快照名称,所述影子快照名称指向所述待备份快照但不同于所述待备份快照的名称;
将以所述影子快照名称命名的所述元数据列表备份至所述目的存储***;
采用增量备份方式,将所述待备份快照需要使用的各数据块中尚未备份至所述目的存储***中的数据块备份至所述目的存储***。
12.根据权利要求11所述的***,其特征在于,所述目的存储***包括至少一台存储设备以及第二快照管理设备,所述目的存储***中的至少一台存储设备上存储有所述目的存储***中的快照及其元数据列表;
所述第二快照管理设备,用于:
接收所述第一快照管理设备发送的以所述影子快照名称命名的所述元数据列表,并在所述待备份快照的备份过程中,获取所述目的存储***中待删除快照需要使用的数据块作为待删除数据块;
获取非待删除快照需要使用的数据块,所述非待删除快照包括所述目的存储***中存储的除所述待删除快照之外的其它快照以及所述待备份快照;
当所述待删除数据块不属于所述非待删除快照需要使用的数据块时,删除所述待删除数据块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711092723.9A CN109753379B (zh) | 2017-11-08 | 2017-11-08 | 快照数据备份、删除方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711092723.9A CN109753379B (zh) | 2017-11-08 | 2017-11-08 | 快照数据备份、删除方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109753379A true CN109753379A (zh) | 2019-05-14 |
CN109753379B CN109753379B (zh) | 2022-12-02 |
Family
ID=66402093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711092723.9A Active CN109753379B (zh) | 2017-11-08 | 2017-11-08 | 快照数据备份、删除方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753379B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444040A (zh) * | 2020-01-20 | 2020-07-24 | 新华三大数据技术有限公司 | 一种元数据备份方法及装置 |
CN111581013A (zh) * | 2020-03-18 | 2020-08-25 | 宁波送变电建设有限公司永耀科技分公司 | 基于元数据和影子文件的***信息备份与重构方法 |
CN113031851A (zh) * | 2019-12-25 | 2021-06-25 | 阿里巴巴集团控股有限公司 | 数据快照方法、装置及设备 |
CN115981574A (zh) * | 2023-03-10 | 2023-04-18 | 阿里巴巴(中国)有限公司 | 一种快照存储方法、***、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030163493A1 (en) * | 2002-02-22 | 2003-08-28 | International Business Machines Corporation | System and method for restoring a file system from backups in the presence of deletions |
US20070288536A1 (en) * | 2006-06-07 | 2007-12-13 | Microsoft Corporation | Managing data with backup server indexing |
CN104092646A (zh) * | 2013-10-28 | 2014-10-08 | 腾讯科技(深圳)有限公司 | 操作同步方法和装置 |
CN104714858A (zh) * | 2013-12-13 | 2015-06-17 | ***通信集团公司 | 数据备份方法及装置、数据恢复方法及装置 |
CN104714859A (zh) * | 2013-12-17 | 2015-06-17 | 南京壹进制信息技术有限公司 | 一种海量文件的快速备份与恢复的方法 |
CN105868054A (zh) * | 2016-03-28 | 2016-08-17 | 上海上讯信息技术股份有限公司 | 一种在双机***环境下备份数据的方法与设备 |
CN106293998A (zh) * | 2015-05-29 | 2017-01-04 | 北京中科同向信息技术有限公司 | 一种基于快照技术的***备份方法 |
-
2017
- 2017-11-08 CN CN201711092723.9A patent/CN109753379B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030163493A1 (en) * | 2002-02-22 | 2003-08-28 | International Business Machines Corporation | System and method for restoring a file system from backups in the presence of deletions |
US20070288536A1 (en) * | 2006-06-07 | 2007-12-13 | Microsoft Corporation | Managing data with backup server indexing |
CN104092646A (zh) * | 2013-10-28 | 2014-10-08 | 腾讯科技(深圳)有限公司 | 操作同步方法和装置 |
CN104714858A (zh) * | 2013-12-13 | 2015-06-17 | ***通信集团公司 | 数据备份方法及装置、数据恢复方法及装置 |
CN104714859A (zh) * | 2013-12-17 | 2015-06-17 | 南京壹进制信息技术有限公司 | 一种海量文件的快速备份与恢复的方法 |
CN106293998A (zh) * | 2015-05-29 | 2017-01-04 | 北京中科同向信息技术有限公司 | 一种基于快照技术的***备份方法 |
CN105868054A (zh) * | 2016-03-28 | 2016-08-17 | 上海上讯信息技术股份有限公司 | 一种在双机***环境下备份数据的方法与设备 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113031851A (zh) * | 2019-12-25 | 2021-06-25 | 阿里巴巴集团控股有限公司 | 数据快照方法、装置及设备 |
CN113031851B (zh) * | 2019-12-25 | 2024-06-11 | 阿里巴巴集团控股有限公司 | 数据快照方法、装置及设备 |
CN111444040A (zh) * | 2020-01-20 | 2020-07-24 | 新华三大数据技术有限公司 | 一种元数据备份方法及装置 |
CN111444040B (zh) * | 2020-01-20 | 2022-05-27 | 新华三大数据技术有限公司 | 一种元数据备份方法及装置 |
CN111581013A (zh) * | 2020-03-18 | 2020-08-25 | 宁波送变电建设有限公司永耀科技分公司 | 基于元数据和影子文件的***信息备份与重构方法 |
CN115981574A (zh) * | 2023-03-10 | 2023-04-18 | 阿里巴巴(中国)有限公司 | 一种快照存储方法、***、设备及存储介质 |
CN115981574B (zh) * | 2023-03-10 | 2023-08-04 | 阿里巴巴(中国)有限公司 | 一种快照存储方法、***、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109753379B (zh) | 2022-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109753379A (zh) | 快照数据备份、删除方法、装置及*** | |
CN109299336A (zh) | 数据备份方法、装置、存储介质及计算设备 | |
CN105204959B (zh) | 恢复ext文件***中已删除文件的方法及装置 | |
TWI502384B (zh) | 檔案追蹤方法及其所適用之網路通訊裝置 | |
US20090144341A1 (en) | Ad Hoc Data Storage Network | |
CN107077405A (zh) | 使用位图数据结构的数据恢复 | |
WO2021103403A1 (zh) | 区块链交易信息管理方法、装置、计算机设备及存储介质 | |
CN104011717A (zh) | 对数据存储备份的数据选择 | |
CN106462631A (zh) | 在最终一致***中分区数据的一致视图 | |
KR20140138712A (ko) | 로컬 및 원격 데이터 동기화 기법 | |
CN115202929B (zh) | 数据库集群备份*** | |
CN110119386A (zh) | 数据处理方法、数据处理装置、介质和计算设备 | |
CN106341485A (zh) | 一种云存储的方法及装置 | |
WO2020134678A1 (zh) | 容灾方法、装置及*** | |
CN112272137A (zh) | 通过多个邮箱在通信应用中进行海量数据管理 | |
CN104662573A (zh) | 通信和crm应用的双向同步 | |
CN109753380A (zh) | 快照数据备份方法、装置及*** | |
CN110018986A (zh) | 异常快照识别方法及装置 | |
CN104052767A (zh) | 文件追踪方法及其所适用的网络通信装置 | |
CN110018987A (zh) | 快照创建方法、装置及*** | |
CN102932513B (zh) | 一种名片维护方法、装置及设备 | |
CN110018985B (zh) | 快照删除方法、装置及*** | |
US10936550B2 (en) | Synchronizing different representations of content | |
CN103106246A (zh) | 一种分布式文件***的存储空间的管理方法及*** | |
JP2014067112A (ja) | 情報処理装置および方法、並びにプログラム |
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 |