CN109753228B - 快照删除方法、装置及系统 - Google Patents
快照删除方法、装置及系统 Download PDFInfo
- Publication number
- CN109753228B CN109753228B CN201711092710.1A CN201711092710A CN109753228B CN 109753228 B CN109753228 B CN 109753228B CN 201711092710 A CN201711092710 A CN 201711092710A CN 109753228 B CN109753228 B CN 109753228B
- Authority
- CN
- China
- Prior art keywords
- data blocks
- snapshot
- normal
- data
- storage
- 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
Images
Abstract
本申请实施例提供一种快照删除方法、装置及系统。在本申请实施例中,当需要对云磁盘进行快照删除时,识别该数据存储空间的正常快照中非重复的正常数据块,根据正常快照中非重复的正常数据块从该数据存储空间的待删除快照中识别可被删除的无用数据块;在识别正常快照中非重复的正常数据块的过程中,每次遍历正常快照中对应同一存储分区的正常数据块,以获得该数据存储空间所包含的至少一个存储分区各自对应的非重复的正常数据块,这样只需在同一存储分区对应的数据块之间进行比对,无需在不同存储分区对应的数据块之间进行比对,减少了数据块比对操作的次数,提高了整个快照删除操作的效率。
Description
技术领域
本申请涉及存储技术领域,尤其涉及一种快照删除方法、装置及系统。
背景技术
随着存储需求的提高,快照技术被越来越多的存储系统所采用。快照实际上是关于存储系统中数据的一个完全可用拷贝,该拷贝包括存储系统中的数据在拷贝开始时刻的映像。
在创建快照之后,需要存储快照。这样,当存储系统发生应用故障或者文件损坏时,可以及时地将存储系统中的数据恢复成快照产生时间点的状态。
随着存储系统的使用,快照的数量会不断增多,为了节约存储空间,可以删除一些无用的快照数据,以释放存储空间。在该删除过程中,一般是将所有快照数据进行比对来识别无用快照数据,这个操作比较耗时。如何提高快照删除操作的效率是有待解决的问题。
发明内容
本申请实施例提供一种快照删除方法、装置及系统,用以提高快照删除操作的效率。
本申请实施例提供一种快照删除方法,包括:
获取需要进行快照删除的数据存储空间的正常快照,所述数据存储空间包括至少一个存储分区;
每次遍历所述正常快照中对应所述至少一个存储分区中同一存储分区的正常数据块,以获得所述至少一个存储分区各自对应的非重复的正常数据块;
根据所述至少一个存储分区各自对应的非重复的正常数据块,从所述数据存储空间的待删除快照中识别出无用数据块;
删除所述无用数据块。
本申请实施例还提供一种快照删除装置,包括:
获取模块,用于获取需要进行快照删除的数据存储空间的正常快照,所述数据存储空间包括至少一个存储分区;
遍历模块,用于每次遍历所述正常快照中对应所述至少一个存储分区中同一存储分区的正常数据块,以获得所述至少一个存储分区各自对应的非重复的正常数据块;
识别模块,用于根据所述至少一个存储分区各自对应的非重复的正常数据块,从所述数据存储空间的待删除快照中识别出无用数据块;
删除模块,用于删除所述无用数据块。
本实施例还提供一种电子设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述程序以用于:
获取需要进行快照删除的数据存储空间的正常快照,所述数据存储空间包括至少一个存储分区;
每次遍历所述正常快照中对应所述至少一个存储分区中同一存储分区的正常数据块,以获得所述至少一个存储分区各自对应的非重复的正常数据块;
根据所述至少一个存储分区各自对应的非重复的正常数据块,从所述数据存储空间的待删除快照中识别出无用数据块;
删除所述无用数据块。
本实施例还提供一种存储系统,包括:至少一台存储设备和快照管理设备;
所述至少一台存储设备,用于向所述存储系统的使用者提供数据存储空间,并针对所述数据存储空间提供快照存储空间,所述快照存储空间存储有所述数据存储空间的各快照,所述数据存储空间包括至少一个存储分区;
所述快照管理设备,耦合至所述至少一台存储设备,用于:
从所述快照存储空间存储的快照中,获取所述数据存储空间的正常快照;
每次遍历所述正常快照中对应所述至少一个存储分区中同一存储分区的正常数据块,以获得所述至少一个存储分区各自对应的非重复的正常数据块;
根据所述至少一个存储分区各自对应的非重复的正常数据块,从所述数据存储空间的待删除快照中识别出无用数据块;
删除所述无用数据块。
在本申请实施例中,针对需要进行快照删除的数据存储空间,识别该数据存储空间的正常快照中非重复的正常数据块,根据正常快照中非重复的正常数据块从该数据存储空间的待删除快照中识别可被删除的无用数据块;在识别正常快照中非重复的正常数据块的过程中,每次遍历正常快照中对应同一存储分区的正常数据块,以获得该数据存储空间所包含的至少一个存储分区各自对应的非重复的正常数据块,这样只需在同一存储分区对应的数据块之间进行比对,无需在不同存储分区对应的数据块之间进行比对,减少了数据块比对操作的次数,提高了识别无用数据块的效率,进而提高了整个快照删除操作的效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的示例性存储系统的结构示意图;
图2a为本申请一示例性实施例提供的对数据存储空间划分存储分区的示例性结果示意图;
图2b为本申请一示例性实施例提供的一快照存储空间中快照的存储样式示意图;
图3a为本申请另一示例性实施例提供的快照删除方法的流程示意图;
图3b为本申请另一示例性实施例提供的针对一云磁盘的快照删除流程示意图;
图4a为本申请又一示例性实施例提供的快照删除装置的结构示意图;
图4b为本申请又一示例性实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有技术存在的快照删除操作效率较低的问题,本申请实施例提供一种解决方案,主要原理是:针对需要进行快照删除的数据存储空间,识别该数据存储空间的正常快照中非重复的正常数据块,根据正常快照中非重复的正常快照从该数据存储空间的待删除快照中识别可被删除的无用数据块;在识别正常快照中非重复的正常数据块的过程中,每次遍历正常快照中对应同一存储分区的正常数据块,以获得该数据存储空间所包含的至少一个存储分区各自对应的非重复的正常数据块。这样只需在同一存储分区对应的数据块之间进行比对,无需在不同存储分区对应的数据块之间进行比对,减少了数据块比对操作的次数,提高了识别无用数据块的效率,进而提高了整个快照删除操作的效率。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的示例性存储系统10的结构示意图。如图1所示,该存储系统10包括:至少一台存储设备11以及快照管理设备12。
至少一台存储设备11,用于向存储系统10的使用者提供数据存储空间,并针对数据存储空间提供对应的快照存储空间,该快照存储空间中存储有所述数据存储空间的各快照。
其中,针对不同使用者,至少一台存储设备11可以提供相同大小的数据存储空间以及快照存储空间,也可以提供不同大小的数据存储空间和快照存储空间。另外,在本申请各实施例中,并不限定数据存储空间以及快照存储空间的大小。例如,数据存储空间可以是一块大小为500MB、800MB或50GB的存储空间。快照存储空间可以是一块大小为500MB、200MB或1GB的存储空间。
对存储系统10来说,其包含的至少一台存储设备11可以是相同类型的存储设备,也可以是不同类型的存储设备。对任一台存储设备11来说,可以是任何具有存储功能的设备,例如可以是服务器、台式计算机、个人计算机、手机、平板电脑、数据库等。服务器可以是常规服务器、云服务器、云主机、虚拟中心等。每台存储设备11的实现结构可以包括处理器、系统总线以及硬盘、内存等至少一块物理存储介质。
对任一存储设备11来说,其包含的至少一块物理存储介质可以是相同类型的物理存储介质,也可以是不同类型的物理存储介质。对任一物理存储介质来说,例如可以选用相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)以及磁盒式磁带等中的任意一种。
上述由至少一台存储设备11为存储系统10的使用者提供的数据存储空间,主要用于存储与存储系统10的使用者相关的数据,例如可以包括用户数据、系统数据、各类应用数据等。对存储系统10的使用者来说,可以向该数据存储空间中写入数据,也可以从该数据存储空间中读取数据。其中,存储系统10的使用者可以是对存储系统10具有访问和/或使用权限的计算机、虚拟机、各类应用、终端设备以及用户等。存储系统10的使用者可以有一个或多个。
在一示例性实现方式中,存储系统10以云磁盘的方式向其使用者提供数据存储空间。存储系统10提供的云磁盘是建立在至少一台存储设备11之上的磁盘实例。云磁盘与计算机磁盘类似,使用者可以对其进行读写操作。该云磁盘需要映射到至少一台存储设备11的物理存储介质上,例如磁盘、ROM等。值得说明的是,存储系统10向其使用者提供数据存储空间的方式并不限于云磁盘这一种方式。例如,存储系统10也可以以数据库方式向其使用者提供数据存储空间。
在存储系统10中,快照管理设备12主要实现存储系统10的快照功能,以对存储系统10中数据进行备份和容灾。其中,快照管理设备12,耦合至至少一台存储设备11,主要负责为至少一台存储设备11面向存储系统10的使用者提供的数据存储空间创建、维护以及管理快照。
在部署实现上,快照管理设备12可独立于至少一台存储设备11,单独部署,如图1所示。在快照管理设备12单独部署实施时,快照管理设备12可以是任何具有一定处理能力的设备,例如服务器、台式计算机、个人计算机、手机、平板电脑等。
除了单独部署实施之外,快照管理设备12也可以部署在一台或多台存储设备11上实现。部署有快照管理设备12的存储设备11除了具有存储能力之外,还具有创建、维护和管理存储系统10中的快照的能力。
在存储系统10使用的过程中,快照管理设备12可在不同时间点,为至少一台存储设备11面向存储系统10的使用者提供的数据存储空间创建若干快照,成为一条快照链。每一个时间点的快照可以看作是该数据存储空间在相应时间点时所存储数据的一个副本或复制品。这些快照被存储在至少一台存储设备11提供的快照存储空间中。当存储系统10发生故障或者存储系统10中存储的数据丢失时,可根据快照进行数据回滚,将数据存储空间中的数据恢复到快照链上某个快照记录的数据状态。
考虑到数据存储空间中存储的数据有冷热之分,很多数据很久才会改动。因此,在数据存储空间的各个快照中往往只有少量数据有区别。为了节省空间,快照管理设备12在存储快照时使用去重存储技术。
在一种去重存储技术的实施方式中,按照地址偏移将存储系统10中至少一台存储设备11面向存储系统20的使用者提供的数据存储空间划分为至少一个存储分区。存储分区的大小可根据数据存储空间的大小等因素适应性划分,例如每2MB、10MB或20MB的存储区域可作为一个存储分区。其中,一个存储分区中存储的数据的快照称为一个数据块,即一个数据块实际上是一个存储分区的快照数据。这样在每次为数据存储空间创建快照时,只需检查每个存储分区,如果该存储分区当前存储的数据与之前已有快照中对应该存储分区的数据块的内容相同,则在新快照中继续使用之前已有快照中的数据块,不再重复存储该数据块;如果该存储分区当前存储的数据与之前已有快照中对应该存储分区的数据块的内容不相同,则在新快照中重新存储该存储分区当前的数据块。
如图2a所示,假设至少一台存储设备11面向存储系统20的使用者提供的数据存储空间被切分为4个存储分区,记为存储分区Q1-Q4。结合图2a所示存储分区,为数据存储空间创建快照的过程包括:
第一次为数据存储空间创建快照,记为快照A,快照A存储于至少一台存储设备11提供的快照存储空间中。快照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可形成数据存储空间的一个快照链。
对数据存储空间的快照链来说,具有一个快照列表,记录有该快照链包含的每个快照的名称。对每个快照来说,具有自己的元数据列表,元数据列表中依序记录有该快照使用到的各数据块的名称。例如,在快照A的元数据列表中依次记录有数据块的名称:1-A,2-A,3-A以及4-A;在快照B的元数据列表中依次记录有数据块的名称:1-B,2-A,3-B以及4-A。
由图2b可知,相同数据块在快照存储空间中仅需存储一次,或者说快照存储空间中存储的都是不同的数据块,这样可以节省大量存储空间。
快照管理设备12除了可以创建快照之外,还可以对已创建的快照进行管理。所述管理包括但不限于:备份、存储、删除以及回收快照空间等。
在一示例性应用中,快照管理设备12对快照的管理体现为:针对数据存储空间的快照进行删除操作。可选地,可以设定快照删除周期,以便于周期性的进行快照删除操作。基于此,当设定的快照删除周期到达时,可触发快照管理设备12针对数据存储空间执行快照删除操作。或者,也可以设定快照删除触发事件,当设定的快照删除触发事件到来时,可触发快照管理设备12针对数据存储空间执行快照删除操作。
其中,针对数据存储空间进行快照删除,可以是从该数据存储空间的快照中识别出可被删除的无用数据块,将这些无用数据块删除的过程。一般来说不被任何快照使用的数据块可作为无用数据块被删除。
在存储系统10的使用过程中,使用者可以根据自己的需求决定需要删除哪些快照。例如,对于一些不会再使用的快照,或者对于一些创建时间早于设定时间界限的快照,使用者可以要求快照管理设备12将这些快照删除。例如,使用者可以向快照管理设备12发送快照删除请求,该请求中携带有需要删除的快照的名称。又或者,使用者可以直接为这些快照添加删除标记。基于此,快照管理设备12在按照自己的快照删除逻辑执行快照删除操作时,可以从数据存储空间的快照中,识别出待删除快照和正常快照。这里的正常快照主要是指待删除快照之外的其它快照。正常快照中的数据块都属于正常数据块,不能被删除;而待删除快照中的数据块是潜在可能被删除的数据块。其中,正常快照的数量可以是一个或多个;相应地,待删除快照的数量也可以是一个或多个。
接下来,快照管理设备12可以以正常快照中的数据块为依据,将待删除快照中的数据块与正常快照中的正常数据块进行比对,从待删除快照中识别出可被删除的无用数据块。例如,可以将待删除快照中不同于任何正常数据块的数据块作为无用数据块。进一步,考虑到数据块可能被不同快照重复使用,为了减少比对次数,快照管理设备12可以识别出正常快照中非重复的正常数据块,将待删除快照中的数据块与正常快照中非重复的正常数据块进行比对,从待删除快照中识别出可被删除的无用数据块。
其中,快照管理设备12可以采用多种方式,识别正常快照中非重复的正常数据块。
例如,快照管理设备12可以创建一统计集合,用于存储正常快照中非重复的正常数据块;然后依次遍历每个正常快照;对遍历到的正常快照,将该快照中的每个正常数据块与统计集合中的所有数据块进行比对,识别出不存在于统计集合中的数据块并加入统计集合中。当遍历完所有快照的所有数据块之后,统计集合中的数据块即为正常快照中非重复的正常数据块。这种方式中,数据块比对的次数较多,以一个快照链中有10个快照,每个快照5000个数据块为例,假设共有10000个不重复的数据块,这种方式需要遍历10个快照,将总数为10*5000=50000个数据块逐个在统计集合中进行比对,总计需要在统计集合中比对50000次,耗时比较多。
除上述方式之外,快照管理设备12还可以采用以下方式:
基于快照中数据块与数据存储空间包含的存储分区之间的对应关系,即数据存储空间中的一个存储分区对应快照中的一个数据块,因此从存储分区的维度出发,每次遍历正常快照中对应同一存储分区的正常数据块,以获得数据存储空间包括的至少一个存储分区各自对应的非重复的正常数据块,其中,数据存储空间包括的所有存储分区对应的非重复的正常数据块的总和即为正常快照中非重复的正常数据块。
其中,每次遍历正常快照中对应同一存储分区的正常数据块,而不用考虑其它存储分区对应的数据块,主要是因为:对一个数据块来说,除了会在创建该数据块的第一个快照中对应某一存储分区的偏移地址处被使用之外,也有可能在其它快照中被使用;当该数据块在其它快照中被使用时,只会在其它快照中对应相同存储分区的偏移地址处被使用,不会在其它快照中对应其它存储分区的偏移地址处被使用。这意味着,某一存储分区对应的非重复的正常数据块,只会来自于正常快照中对应该存储分区的正常数据块中,不会来自正常快照中对应其它存储分区的数据块,因此只需对正常快照中对应该存储分区的正常数据块进行比对,发现非重复的正常数据块即可。
在获得数据存储空间包括的至少一个存储分区各自对应的非重复的正常数据块之后,快照管理设备12可以根据至少一个存储分区各自对应的非重复的正常数据块,从数据存储空间的待删除快照中识别出无用数据块,进而删除识别出的无用数据块。其中,快照管理设备12可以将待删除快照中的数据块与至少一个存储分区各自对应的非重复的正常数据块进行比对,从待删除快中的数据块中获取不同于任何正常数据块的数据块,作为可被删除的无用数据块。
在本实施例中,针对需要进行快照删除的数据存储空间,识别该数据存储空间的正常快照中非重复的正常数据块,根据正常快照中非重复的正常数据块从该数据存储空间的待删除快照中识别可被删除的无用数据块;在识别正常快照中非重复的正常数据块的过程中,每次遍历正常快照中对应同一存储分区的正常数据块,以获得该数据存储空间所包含的至少一个存储分区各自对应的非重复的正常数据块,这样只需在同一存储分区对应的数据块之间进行比对,无需在不同存储分区对应的数据块之间进行比对,减少了数据块比对操作的次数,提高了识别无用数据块的效率,进而提高了整个快照删除操作的效率。
在上述实施例或下述实施例中,快照管理设备12可以每次遍历正常快照中对应同一存储分区的正常数据块,以获得数据存储空间包括的至少一个存储分区各自对应的非重复的正常数据块。以至少一个存储分区中的第一存储分区为例,快照管理设备12可以遍历正常快照中对应第一存储分区的正常数据块,以获得第一存储分区对应的非重复的正常数据块。其中,第一存储分区可以是至少一个存储分区中的任意存储分区。
在一示例性实施例中,快照管理设备12遍历正常快照中对应第一存储分区的正常数据块,以获得第一存储分区对应的非重复的正常数据块的一种实施方式包括:为第一存储分区创建一数据块子集合,该数据块子集合用于存储第一存储分区对应的非重复的正常数据块;从正常快照中对应第一存储分区的正常数据块中,获取不存在于数据块子集合中的数据块;将所获取的不存在于数据块子集合中的数据块添加到数据块子集合中。其中,在遍历完所有正常快照中对应第一存储分区的正常数据块之后,数据块子集合中的数据块即为第一存储分区对应的非重复的正常数据块。
假设共有N个正常快照,第一存储分区在数据存储空间中的地址偏移为x,则快照管理设备12可以从第1个正常快照开始,依次遍历每个正常快照中偏移位置x处的正常数据块,直到遍历到第N个正常快照中偏移位置x处的正常数据块为止。其中,对遍历到的每个正常快照中偏移位置x处的正常数据块,快照管理设备12判断该正常数据块是否存在于第一存储分区对应的数据块子集合中,如果存在,说明该正常数据块是重复的数据块,不做处理;如果不存在,说明该正常数据块首次出现,是非重复的数据块,于是将该正常数据块加入第一存储分区对应的数据块子集合中。
结合上述数据块子集合,快照管理设备12在识别无用数据块时,可以将待删除快照中的数据块与至少一个存储分区各自对应的数据块子集合中的数据块进行比对,从待删除快照的数据块中,识别出不存在于任何存储分区对应的数据块子集合中的数据块,这种数据块不被任何正常快照所引用,因此可作为无用数据块被删除。
进一步,在将无用数据块删除之后,可以删除各存储分区对应的数据块子集合,以释放内存空间。
在另一示例性实施例中,快照管理设备12遍历正常快照中对应第一存储分区的正常数据块,以获得第一存储分区对应的非重复的正常数据块的一种实施方式包括:为第一存储分区创建一数据块子集合,该数据块子集合用于存储第一存储分区对应的非重复的正常数据块;并为数据存储空间创建一数据块集合,该数据块集合用于存储数据存储空间对应的非重复的正常数据块;从正常快照中对应第一存储分区的正常数据块中,获取不存在于数据块子集合中的数据块;将所获取的不存在于数据块子集合中的数据块添加到数据块子集合以及数据存储空间对应的数据块集合中。其中,数据存储空间对应的非重复的正常数据块也就是正常快照中非重复的正常数据块,也是各存储分区对应的非重复的正常数据块的总和。
结合上述数据块集合,快照管理设备12在识别无用数据块时,可以将待删除快照中的数据块与数据块集合中的数据块进行比对,从待删除快照的数据块中,识别出不存在于数据块集合中的数据块,这种数据块不被任何正常快照所引用,因此可作为无用数据块被删除。
进一步,在将无用数据块删除之后,可以删除各存储分区对应的数据块子集合以及数据存储空间对应的数据块集合,以释放内存空间。
在上述实施例或下述实施例中,快照管理设备12可以每次遍历正常快照中对应同一存储分区的正常数据块,以获得数据存储空间包括的至少一个存储分区各自对应的非重复的正常数据块。这里并不限定存储分区之间的遍历次序。
例如,快照管理设备12可以随机选择每次需要遍历的存储分区。以本次遍历为例,随机选择一存储分区,然后遍历正常快照中对应本次随机选择的存储分区的正常数据块,以获得本次随机选择的存储分区对应的非重复的正常数据块。或者,
快照管理设备12也可以根据至少一个存储分区在数据存储空间中的地址偏移,确定至少一个存储分区之间的遍历次序;然后,依据至少一个存储分区之间的遍历次序,每次遍历正常快照中对应至少一个存储分区中同一存储分区的正常数据块,以获得至少一个存储分区各自对应的非重复的正常数据块。例如,可以按照地址偏移由小到大或由大到小的次序,每次遍历正常快照中对应至少一个存储分区中同一存储分区的正常数据块,以获得至少一个存储分区各自对应的非重复的正常数据块。
在上述实施例或下述实施例中,快照管理设备12可以每次遍历正常快照中对应同一存储分区的正常数据块,以获得数据存储空间包括的至少一个存储分区各自对应的非重复的正常数据块。考虑到每个快照都有一个元数据列表,每个快照的元数据列表中存储有该快照包含的所有数据块的名称,数据块的名称按照存储分区在数据存储空间中的地址偏移依次存储,并且重复数据块具有相同的名称,非重复数据块具有不同的名称,因此,可以根据快照的元数据列表来获取每个存储分区对应的非重复的正常数据块。
例如,快照管理设备12可以获取正常快照的元数据列表,遍历正常快照的元数据列表中对应第一存储分区的正常数据块的名称,以获得第一存储分区对应的非重复的正常数据块的名称。
相应地,在后续识别无用数据块的过程中,也可以根据元数据列表,识别无用数据块的名称,进而根据无用数据块的名称,找到无用数据块进行删除。
图3a为本申请另一示例性实施例提供的快照删除方法的流程示意图。如图3a所示,所述方法包括:
30a、获取需要进行快照删除的数据存储空间的正常快照,该数据存储空间包括至少一个存储分区。
30b、每次遍历正常快照中对应至少一个存储分区中同一存储分区的正常数据块,以获得至少一个存储分区各自对应的非重复的正常数据块。
30c、根据至少一个存储分区各自对应的非重复的正常数据块,从数据存储空间的待删除快照中识别出无用数据块。
30d、删除上述识别出的无用数据块。
在本实施例中,需要进行快照删除的数据存储空间可以是一云磁盘,但不限于此。
例如,当设定的快照删除周期到达时,可以确定需要对数据存储空间进行快照删除。或者,当设定的快照删除触发事件发生时,可以确定需要对数据存储空间进行快照删除。快照删除触发事件可以是数据存储空间的使用者针对该数据存储空间发出快照删除指令的事件,或者也可以是使用者为数据存储空间的快照标记删除标记的事件等。
在本实施例中,当需要对数据存储空间进行快照删除时,识别该数据存储空间的正常快照中非重复的正常数据块,根据正常快照中非重复的正常数据块从该数据存储空间的待删除快照中识别可被删除的无用数据块;在识别正常快照中非重复的正常数据块的过程中,每次遍历正常快照中对应同一存储分区的正常数据块,以获得该数据存储空间所包含的至少一个存储分区各自对应的非重复的正常数据块,这样只需在同一存储分区对应的数据块之间进行比对,无需在不同存储分区对应的数据块之间进行比对,减少了数据块比对操作的次数,提高了识别无用数据块的效率,进而提高了整个快照删除操作的效率。
在一示例性实施例中,在上述步骤30b中,需要每次遍历正常快照中对应同一存储分区的正常数据块,以获得数据存储空间包括的至少一个存储分区各自对应的非重复的正常数据块。以至少一个存储分区中的第一存储分区为例,通过遍历正常快照中对应第一存储分区的正常数据块,以获得第一存储分区对应的非重复的正常数据块。其中,遍历正常快照中对应第一存储分区的正常数据块,以获得第一存储分区对应的非重复的正常数据块的一种实施方式包括:
为第一存储分区创建一数据块子集合,该数据块子集合用于存储第一存储分区对应的非重复的正常数据块;
从正常快照中对应第一存储分区的正常数据块中,获取不存在于数据块子集合中的数据块;
将所获取的不存在于数据块子集合中的数据块添加到数据块子集合中。
基于上述数据块子集合,步骤30c的一种实施方式包括:从待删除快照的数据块中,识别出不存在于至少一个存储分区中任何存储分区对应的数据块子集合中的数据块,作为无用数据块。
在一示例性实施例中,在上述步骤30b中,为每个存储分区创建数据块子集合,并为数据存储空间创建一数据块集合,该数据块集合用于存储数据存储空间对应的非重复的正常数据块,基于此,对任一存储分区来说,当从正常快照中识别出不存在于该存储分区对应数据块子集合中的数据块时,除了将所识别出的不存在于该存储分区对应数据块子集合中的数据块添加至该数据块子集合中之外,还需要将所识别出的不存在于该存储分区对应数据块子集合中的数据块添加至数据存储空间对应的数据块集合中。例如,以第一存储分区为例,当从正常快照中对应第一存储分区的正常数据块中,获取不存在于数据块子集合中的数据块时,将所获取的不存在于第一存储分区对应数据块子集合中的数据块添加到该数据块子集合中,并将所获取的不存在于第一存储分区对应数据块子集合中的数据块添加至数据存储空间对应的数据块集合中。
基于上述数据块集合,步骤30c的一种实施方式包括:从待删除快照的数据块中,识别出不存在于数据块集合中的数据块,作为无用数据块。
在一示例性实施例中,在上述步骤30b中,需要每次遍历正常快照中对应同一存储分区的正常数据块,以获得数据存储空间包括的至少一个存储分区各自对应的非重复的正常数据块。这里并不限定存储分区之间的遍历次序。
例如,可以随机选择每次需要遍历的存储分区。以本次遍历为例,随机选择一存储分区,然后遍历正常快照中对应本次随机选择的存储分区的正常数据块,以获得本次随机选择的存储分区对应的非重复的正常数据块。或者,
也可以根据至少一个存储分区在数据存储空间中的地址偏移,确定至少一个存储分区之间的遍历次序;然后,依据至少一个存储分区之间的遍历次序,每次遍历正常快照中对应至少一个存储分区中同一存储分区的正常数据块,以获得至少一个存储分区各自对应的非重复的正常数据块。例如,可以按照地址偏移由小到大或由大到小的次序,每次遍历正常快照中对应至少一个存储分区中同一存储分区的正常数据块,以获得至少一个存储分区各自对应的非重复的正常数据块。
在一示例性实施例中,每个快照都有一个元数据列表,每个快照的元数据列表中存储有该快照包含的所有数据块的名称,数据块的名称按照存储分区在数据存储空间中的地址偏移依次存储,并且重复数据块具有相同的名称,非重复数据块具有不同的名称。基于此,可以根据快照的元数据列表来获取每个存储分区对应的非重复的正常数据块。步骤30b的一种实施方式包括:获取正常快照的元数据列表,元数据列表中依次存储有正常快照中对应至少一个存储分区的正常数据块的名称;遍历正常快照的元数据列表对应第一存储分区的正常数据块的名称,以获得第一存储分区对应的非重复的正常数据块的名称。
相应地,在步骤30c中,也可以根据元数据列表,识别无用数据块的名称,进而根据无用数据块的名称,找到无用数据块进行删除。
在一示例性应用场景中,针对一云磁盘进行快照删除,该云磁盘包括M个存储分区,M是正整数,M个存储分区在云磁盘中的地址偏移依次为S0,S1,……,SM。如图3b所示,针对云磁盘的快照删除流程包括以下步骤:
301、为云磁盘创建一个统计集合,初始化为空集,该统计集合用于存储云磁盘对应的非重复的正常数据块。
302、从云磁盘的快照链中获取正常快照列表,并加载正常快照列表中每个正常快照的元数据列表至内存中。
303、依次从M个存储分区在云磁盘中的地址偏移S0至SM中选择一地址偏移,记为地址偏移Sx。行快照遍历,基于地址偏移的逐级遍历。即从第一个快照的偏移x一直往下遍历至最后一个快照的偏移x。
304、针对地址偏移Sx创建一个数据块子集合,该数据块子集合用于存储正常快照中地址偏移Sx处的非重复的正常数据块。
305、遍历每一个正常快照的元数据列表中的地址偏移Sx处的正常数据块,并检索当前遍历到的正常快照的元数据列表中的地址偏移Sx处的正常数据块是否存在于数据块子集合中。若是,说明所遍历到的正常数据块属于重复数据块,不做处理,并执行步骤307;若否,说明所遍历到的正常数据块首次出现,是非重复数据块,继续执行步骤306。
306、将当前遍历到的正常快照的元数据列表中的地址偏移Sx处的正常数据块加入数据块子集合和统计集合中,并执行步骤307。
307、判断云磁盘的正常快照的元数据列表中是否还存在尚未遍历到的元数据列表;若是,则返回步骤305;若否,则执行步骤308。
308、判断M个地址偏移中是否还存在尚未遍历到的地址偏移;若是,则返回步骤303;若否,说明正常快照的元数据列表已经遍历完成,云磁盘对应的非重复的正常数据块也统计完毕,于是执行步骤309。
309、遍历云磁盘的每个待删除快照的元数据列表,将当前遍历到的待删除快照的元数据列表中每个数据块在统计集合中进行检索,获取不存在于统计集合中的数据块。
310、将待删除快照的元数据列表中不存在于统计集合中的数据块删除,结束此次快照删除操作。
值得说明的是,上述元数据列表中存储的是数据块的名称,因此在上述过程中实际是对数据块的名称进行处理,而并非数据块本身。
在本实施例中,当需要对云磁盘进行快照删除时,识别该数据存储空间的正常快照中非重复的正常数据块,根据正常快照中非重复的正常数据块从该数据存储空间的待删除快照中识别可被删除的无用数据块;在识别正常快照中非重复的正常数据块的过程中,每次遍历正常快照中对应同一存储分区的正常数据块,以获得该数据存储空间所包含的至少一个存储分区各自对应的非重复的正常数据块,这样只需在同一存储分区对应的数据块之间进行比对,无需在不同存储分区对应的数据块之间进行比对,减少了数据块比对操作的次数,提高了识别无用数据块的效率,进而提高了整个快照删除操作的效率。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤30a至步骤30d的执行主体可以为设备A;又比如,步骤30a和30b的执行主体可以为设备A,步骤30c和30d的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如30a、30b等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图4a为本申请又一实施例提供的快照删除装置的结构示意图。如图4a所示,快照删除装置包括:
获取模块41,用于获取需要进行快照删除的数据存储空间的正常快照,该数据存储空间包括至少一个存储分区。
遍历模块42,用于每次遍历正常快照中对应至少一个存储分区中同一存储分区的正常数据块,以获得至少一个存储分区各自对应的非重复的正常数据块。
识别模块43,用于根据至少一个存储分区各自对应的非重复的正常数据块,从数据存储空间的待删除快照中识别出无用数据块。
删除模块44,用于删除识别出的无用数据块。
在一可选实施方式中,遍历模块42对至少一个存储分区中的每个存储分区进行遍历的过程相同。以至少一个存储区分中的第一存储分区为例,遍历模块42在遍历正常快照中对应第一存储分区的正常快照时具体用于:为第一存储分区创建一数据块子集合,该数据块子集合用于存储第一存储分区对应的非重复的正常数据块;从正常快照中对应第一存储分区的正常数据块中,获取不存在于数据块子集合中的数据块;将所获取的不存在于数据块子集合中的数据块添加到数据块子集合中。
相应地,识别模块43在从数据存储空间的待删除快照中识别出无用数据块时,具体用于:从待删除快照的数据块中,识别出不存在于至少一个存储分区中任何存储分区对应的数据块子集合中的数据块,作为无用数据块。
在一可选实施方式中,基于上述数据块子集合,遍历模块42还用于为数据存储空间创建一数据块集合,该数据块集合用于存储数据存储空间对应的非重复的正常数据块;将所获取的不存在于数据块子集合中的数据块添加至数据块集合中。
进一步,基于上述数据块集合,该识别模块43具体用于:从待删除快照的数据块中,识别出不存在于数据块集合中的数据块,作为无用数据块。
在一可选实施方式中,遍历模块42在遍历正常快照中对应至少一个存储分区中同一存储分区的正常数据块时具体用于:
根据至少一个存储分区在数据存储空间中的地址偏移,确定至少一个存储分区之间的遍历次序;
依据至少一个存储分区之间的遍历次序,每次遍历正常快照中对应至少一个存储分区中同一存储分区的正常数据块,以获得至少一个存储分区各自对应的非重复的正常数据块。
在一可选实施方式中,遍历模块42在对至少一个存储区分中的第一存储分区,遍历正常快照中对应第一存储分区的正常数据块,以获得第一存储分区对应的非重复的正常数据块时,具体用于:
获取正常快照的元数据列表,该元数据列表中依次存储有正常快照中对应一个存储分区的正常数据块的名称;
遍历正常快照的元数据列表对应第一存储分区的正常数据块的名称,以获得第一存储分区对应的非重复的正常数据块的名称。
本实施例提供的快照删除装置,可用于执行上述快照删除方法实施例中的流程,其工作原理不再赘述,详见方法实施例的描述。
本实施例提供的快照删除装置,针对需要进行快照删除的数据存储空间,识别该数据存储空间的正常快照中非重复的正常数据块,根据正常快照中非重复的正常数据块从该数据存储空间的待删除快照中识别可被删除的无用数据块;在识别正常快照中非重复的正常数据块的过程中,每次遍历正常快照中对应同一存储分区的正常数据块,以获得该数据存储空间所包含的至少一个存储分区各自对应的非重复的正常数据块,这样只需在同一存储分区对应的数据块之间进行比对,无需在不同存储分区对应的数据块之间进行比对,减少了数据块比对操作的次数,提高了识别无用数据块的效率,进而提高了整个快照删除操作的效率。
以上描述了快照删除装置的内部功能和结构,如图4b所示,实际中,该快照删除装置可实现为电子设备,包括:存储器400和处理器401。
存储器400,用于存储程序;
处理器401,与存储器400耦合,用于执行所述程序以用于:
获取需要进行快照删除的数据存储空间的正常快照,该数据存储空间包括至少一个存储分区;
每次遍历正常快照中对应至少一个存储分区中同一存储分区的正常数据块,以获得至少一个存储分区各自对应的非重复的正常数据块;
根据至少一个存储分区各自对应的非重复的正常数据块,从数据存储空间的待删除快照中识别出无用数据块;
删除识别出的无用数据块。
在一可选实施方式中,处理器401用于对至少一个存储分区中的每个存储分区进行遍历。以至少一个存储区分中的第一存储分区为例,处理器401在遍历正常快照中对应第一存储分区的正常快照时,具体用于:
为第一存储分区创建一数据块子集合,该数据块子集合用于存储第一存储分区对应的非重复的正常数据块;
从正常快照中对应第一存储分区的正常数据块中,获取不存在于数据块子集合中的数据块;
将所获取的不存在于该数据块子集合中的数据块添加到该数据块子集合中。
相应地,处理器401在从数据存储空间的待删除快照中识别出无用数据块时,具体用于:从待删除快照的数据块中,识别出不存在于至少一个存储分区中任何存储分区对应的数据块子集合中的数据块,作为无用数据块。
在一可选实施方式中,基于上述数据块子集合,处理器401还用于:为数据存储空间创建一数据块集合,该数据块集合用于存储该数据存储空间对应的非重复的正常数据块;将所获取的不存在于数据块子集合中的数据块添加至该数据块集合中。
进一步,基于上述数据块集合,处理器401具体用于:从待删除快照的数据块中,识别出不存在于数据块集合中的数据块,作为无用数据块。
在一可选实施方式中,处理器401在遍历正常快照中对应至少一个存储分区中同一存储分区的正常数据块时,具体用于:
根据至少一个存储分区在数据存储空间中的地址偏移,确定至少一个存储分区之间的遍历次序;
依据至少一个存储分区之间的遍历次序,每次遍历正常快照中对应至少一个存储分区中同一存储分区的正常数据块,以获得至少一个存储分区各自对应的非重复的正常数据块。
在一可选实施方式中,处理器401在遍历正常数据快照中对应第一存储分区的正常数据块时,具体用于:
获取正常快照的元数据列表,该元数据列表中依次存储有正常快照中对应所述一个存储分区的正常数据块的名称;
遍历正常快照的元数据列表对应第一存储分区的正常数据块的名称,以获得第一存储分区对应的非重复的正常数据块的名称。
进一步,如图4b所示,电子设备还包括:通信组件403、显示器404、电源组件405、音频组件406等其它组件。图4b中仅示意性给出部分组件,并不意味着电子设备只包括图4b所示组件。
在图4b中的通信组件,可被配置为便于通信组件所属设备和其他设备之间有线或无线方式的通信。通信组件所属设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在图4b中的显示器,可以包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
在图4b中的电源组件,为电源组件所属设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所属设备生成、管理和分配电力相关联的组件。
在图4b中的音频组件,被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所属设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本实施例提供的电子设备,主要用于快照删除,即针对需要进行快照删除的数据存储空间,识别该数据存储空间的正常快照中非重复的正常数据块,根据正常快照中非重复的正常数据块从该数据存储空间的待删除快照中识别可被删除的无用数据块;在识别正常快照中非重复的正常数据块的过程中,每次遍历正常快照中对应同一存储分区的正常数据块,以获得该数据存储空间所包含的至少一个存储分区各自对应的非重复的正常数据块,这样只需在同一存储分区对应的数据块之间进行比对,无需在不同存储分区对应的数据块之间进行比对,减少了数据块比对操作的次数,提高了识别无用数据块的效率,进而提高了整个快照删除操作的效率。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现:
获取需要进行快照删除的数据存储空间的正常快照,该数据存储空间包括至少一个存储分区;
每次遍历正常快照中对应至少一个存储分区中同一存储分区的正常数据块,以获得至少一个存储分区各自对应的非重复的正常数据块;
根据至少一个存储分区各自对应的非重复的正常数据块,从数据存储空间的待删除快照中识别出无用数据块;
删除识别出的无用数据块。
上述计算机程序被执行时,除了可以实现上述步骤之外,还可以实现其前述方法实施例中的其它步骤,具体不再赘述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (15)
1.一种快照删除方法,其特征在于,包括:
获取需要进行快照删除的数据存储空间的正常快照,所述数据存储空间包括至少一个存储分区;
每次遍历所述正常快照中对应所述至少一个存储分区中同一存储分区的正常数据块,以获得所述至少一个存储分区各自对应的非重复的正常数据块;
根据所述至少一个存储分区各自对应的非重复的正常数据块,从所述数据存储空间的待删除快照中的数据块中获取不同于任何正常数据块的数据块作为无用数据块;
删除所述无用数据块。
2.根据权利要求1所述的方法,其特征在于,对所述至少一个存储分区中的第一存储分区,遍历所述正常快照中对应所述第一存储分区的正常数据块,以获得所述第一存储分区对应的非重复的正常数据块,包括:
为所述第一存储分区创建一数据块子集合,所述数据块子集合用于存储所述第一存储分区对应的非重复的正常数据块;
从所述正常快照中对应所述第一存储分区的正常数据块中,获取不存在于所述数据块子集合中的数据块;
将所获取的不存在于所述数据块子集合中的数据块添加到所述数据块子集合中。
3.根据权利要求2所述的方法,其特征在于,所述根据所述至少一个存储分区各自对应的非重复的正常数据块,从所述数据存储空间的待删除快照中的数据块中获取不同于任何正常数据块的数据块作为无用数据块,包括:
从所述待删除快照的数据块中,识别出不存在于所述至少一个存储分区中任何存储分区对应的数据块子集合中的数据块,作为所述无用数据块。
4.根据权利要求2所述的方法,其特征在于,还包括:
为所述数据存储空间创建一数据块集合,所述数据块集合用于存储所述数据存储空间对应的非重复的正常数据块;
将所获取的不存在于所述数据块子集合中的数据块添加至所述数据块集合中。
5.根据权利要求4所述的方法,其特征在于,所述根据所述至少一个存储分区各自对应的非重复的正常数据块,从所述数据存储空间的待删除快照中的数据块中获取不同于任何正常数据块的数据块作为无用数据块,包括:
从所述待删除快照的数据块中,识别出不存在于所述数据块集合中的数据块,作为所述无用数据块。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述每次遍历所述正常快照中对应所述至少一个存储分区中同一存储分区的正常数据块,以获得所述至少一个存储分区各自对应的非重复的正常数据块,包括:
根据所述至少一个存储分区在所述数据存储空间中的地址偏移,确定所述至少一个存储分区之间的遍历次序;
依据所述至少一个存储分区之间的遍历次序,每次遍历所述正常快照中对应所述至少一个存储分区中同一存储分区的正常数据块,以获得所述至少一个存储分区各自对应的非重复的正常数据块。
7.根据权利要求1-5任一项所述的方法,其特征在于,对所述至少一个存储分区中的第一存储分区,遍历所述正常快照中对应所述第一存储分区的正常数据块,以获得所述第一存储分区对应的非重复的正常数据块,包括:
获取所述正常快照的元数据列表,所述元数据列表中依次存储有所述正常快照中对应所述至少一个存储分区的正常数据块的名称;
遍历所述正常快照的元数据列表对应第一存储分区的正常数据块的名称,以获得所述第一存储分区对应的非重复的正常数据块的名称。
8.一种快照删除装置,其特征在于,包括:
获取模块,用于获取需要进行快照删除的数据存储空间的正常快照,所述数据存储空间包括至少一个存储分区;
遍历模块,用于每次遍历所述正常快照中对应所述至少一个存储分区中同一存储分区的正常数据块,以获得所述至少一个存储分区各自对应的非重复的正常数据块;
识别模块,用于根据所述至少一个存储分区各自对应的非重复的正常数据块,从所述数据存储空间的待删除快照中的数据块中获取不同于任何正常数据块的数据块作为无用数据块;
删除模块,用于删除所述无用数据块。
9.一种电子设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述程序以用于:
获取需要进行快照删除的数据存储空间的正常快照,所述数据存储空间包括至少一个存储分区;
每次遍历所述正常快照中对应所述至少一个存储分区中同一存储分区的正常数据块,以获得所述至少一个存储分区各自对应的非重复的正常数据块;
根据所述至少一个存储分区各自对应的非重复的正常数据块,从所述数据存储空间的待删除快照中的数据块中获取不同于任何正常数据块的数据块作为无用数据块;
删除所述无用数据块。
10.根据权利要求9所述的电子设备,其特征在于,对所述至少一个存储分区中的第一存储分区,所述处理器具体用于:
为所述第一存储分区创建一数据块子集合,所述数据块子集合用于存储所述第一存储分区对应的非重复的正常数据块;
从所述正常快照中对应所述第一存储分区的正常数据块中,获取不存在于所述数据块子集合中的数据块;
将所获取的不存在于所述数据块子集合中的数据块添加到所述数据块子集合中。
11.根据权利要求10所述的电子设备,其特征在于,所述处理器具体用于:
从所述待删除快照的数据块中,识别出不存在于所述至少一个存储分区中任何存储分区对应的数据块子集合中的数据块,作为所述无用数据块。
12.根据权利要求10所述的电子设备,其特征在于,所述处理器还用于:
为所述数据存储空间创建一数据块集合,所述数据块集合用于存储所述数据存储空间对应的非重复的正常数据块;
将所获取的不存在于所述数据块子集合中的数据块添加至所述数据块集合中。
13.根据权利要求12所述的电子设备,其特征在于,所述处理器具体用于:
从所述待删除快照的数据块中,识别出不存在于所述数据块集合中的数据块,作为所述无用数据块。
14.根据权利要求9-13任一项所述的电子设备,其特征在于,所述处理器具体用于:
根据所述至少一个存储分区在所述数据存储空间中的地址偏移,确定所述至少一个存储分区之间的遍历次序;
依据所述至少一个存储分区之间的遍历次序,每次遍历所述正常快照中对应所述至少一个存储分区中同一存储分区的正常数据块,以获得所述至少一个存储分区各自对应的非重复的正常数据块。
15.一种存储系统,其特征在于,包括:至少一台存储设备和快照管理设备;
所述至少一台存储设备,用于向所述存储系统的使用者提供数据存储空间,并针对所述数据存储空间提供快照存储空间,所述快照存储空间存储有所述数据存储空间的各快照,所述数据存储空间包括至少一个存储分区;
所述快照管理设备,耦合至所述至少一台存储设备,用于:
从所述快照存储空间存储的快照中,获取所述数据存储空间的正常快照;
每次遍历所述正常快照中对应所述至少一个存储分区中同一存储分区的正常数据块,以获得所述至少一个存储分区各自对应的非重复的正常数据块;
根据所述至少一个存储分区各自对应的非重复的正常数据块,从所述数据存储空间的待删除快照中的数据块中获取不同于任何正常数据块的数据块作为无用数据块;
删除所述无用数据块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711092710.1A CN109753228B (zh) | 2017-11-08 | 2017-11-08 | 快照删除方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711092710.1A CN109753228B (zh) | 2017-11-08 | 2017-11-08 | 快照删除方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109753228A CN109753228A (zh) | 2019-05-14 |
CN109753228B true CN109753228B (zh) | 2022-08-02 |
Family
ID=66402072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711092710.1A Active CN109753228B (zh) | 2017-11-08 | 2017-11-08 | 快照删除方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753228B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982180A (zh) * | 2012-12-18 | 2013-03-20 | 华为技术有限公司 | 数据存储方法及设备 |
CN104484480A (zh) * | 2014-12-31 | 2015-04-01 | 华为技术有限公司 | 基于重复数据删除的远程复制方法及装置 |
CN104765693A (zh) * | 2014-01-06 | 2015-07-08 | 国际商业机器公司 | 一种用于存储数据的方法、装置和系统 |
CN105701024A (zh) * | 2015-12-31 | 2016-06-22 | 华为技术有限公司 | 一种存储设备及其垃圾数据回收的方法 |
CN105938457A (zh) * | 2016-03-31 | 2016-09-14 | 华为技术有限公司 | 数据的过滤方法、装置及数据读取系统 |
CN107220002A (zh) * | 2017-05-26 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种支持内存快照重复数据删除的存储方法和装置 |
-
2017
- 2017-11-08 CN CN201711092710.1A patent/CN109753228B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982180A (zh) * | 2012-12-18 | 2013-03-20 | 华为技术有限公司 | 数据存储方法及设备 |
CN104765693A (zh) * | 2014-01-06 | 2015-07-08 | 国际商业机器公司 | 一种用于存储数据的方法、装置和系统 |
CN104484480A (zh) * | 2014-12-31 | 2015-04-01 | 华为技术有限公司 | 基于重复数据删除的远程复制方法及装置 |
CN105701024A (zh) * | 2015-12-31 | 2016-06-22 | 华为技术有限公司 | 一种存储设备及其垃圾数据回收的方法 |
CN105938457A (zh) * | 2016-03-31 | 2016-09-14 | 华为技术有限公司 | 数据的过滤方法、装置及数据读取系统 |
CN107220002A (zh) * | 2017-05-26 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种支持内存快照重复数据删除的存储方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109753228A (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016086819A1 (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
US11507474B2 (en) | System and method for a backup and recovery of application using containerized backups comprising application data and application dependency information | |
CN112182010B (zh) | 脏页刷新方法和装置、存储介质和电子设备 | |
US10642530B2 (en) | Global occupancy aggregator for global garbage collection scheduling | |
CN110597762A (zh) | 文件处理方法、装置、设备及存储介质 | |
CN109753379B (zh) | 快照数据备份、删除方法、装置及系统 | |
CN106776795B (zh) | 基于Hbase数据库的数据写入方法及装置 | |
CN111737265B (zh) | 区块数据访问方法、区块数据存储方法及装置 | |
CN111382011B (zh) | 一种文件数据存取方法、装置和计算机可读存储介质 | |
CN109684271A (zh) | 快照数据管理方法、装置、电子设备及机器可读存储介质 | |
CN112764663A (zh) | 云存储空间的空间管理方法、装置和系统、电子设备以及计算机可读存储介质 | |
CN109144403B (zh) | 一种用于云盘模式切换的方法与设备 | |
CN113641446A (zh) | 内存快照创建方法、装置、设备及可读存储介质 | |
CN108205559B (zh) | 一种数据管理方法及其设备 | |
CN110018986B (zh) | 异常快照识别方法及装置 | |
CN114924911B (zh) | Windows操作系统有效数据备份方法、装置、设备和存储介质 | |
CN110018987B (zh) | 快照创建方法、装置及系统 | |
CN109753228B (zh) | 快照删除方法、装置及系统 | |
CN110018985B (zh) | 快照删除方法、装置及系统 | |
CN115981574A (zh) | 一种快照存储方法、系统、设备及存储介质 | |
CN115421856A (zh) | 一种数据恢复方法及装置 | |
CN102932513B (zh) | 一种名片维护方法、装置及设备 | |
CN110851398A (zh) | 垃圾数据的回收处理方法、装置及电子设备 | |
CN113127438B (zh) | 用于存储数据的方法、装置、服务器和介质 | |
CN110018988B (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 |