CN103761159B - 增量快照处理的方法及系统 - Google Patents
增量快照处理的方法及系统 Download PDFInfo
- Publication number
- CN103761159B CN103761159B CN201410032088.5A CN201410032088A CN103761159B CN 103761159 B CN103761159 B CN 103761159B CN 201410032088 A CN201410032088 A CN 201410032088A CN 103761159 B CN103761159 B CN 103761159B
- Authority
- CN
- China
- Prior art keywords
- logical block
- specified
- snapped volume
- data
- block
- 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.)
- Expired - Fee Related
Links
Abstract
本发明公开了一种增量快照处理的方法及系统。其中方法包括如下步骤:构建与源卷相对应的具有预设逻辑块粒度的快照卷;当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中指定的逻辑块对应的新数据块进行数据合并更新时,通过重映射操作将指定的逻辑块在指定的源卷或者源快照卷中新数据块重映射到目的快照卷。其通过重映射操作,对已有快照卷中需要更新的逻辑块进行数据合并更新,实现了对同一快照卷尤其是非可写快照卷数据的按需更新,提高数据存储更新的灵活性,提高数据合并更新效率。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种增量快照处理的方法及系统。
背景技术
根据存储网络工业协会(Storage Networking Industry Association,SNIA)的定义,快照是关于指定数据集合的一个完全可用拷贝,包含相应数据在拷贝初始化时刻的映像。快照可以是其所表示数据在特定时刻的一个副本,也可以是数据在该时刻的一个复制品。
快照技术是备份、容灾以及版本管理等数据保护研究领域普遍采用的关键技术。目前国内外出现了众多的快照产品和原型系统,包括linux内核自带的LVM快照,EMC的TimeFinder、IBM的ESS FlashCopy、Netapp的WAFL快照等等。这些典型产品或者系统支持的快照按照读写类型分两类:只读快照和可写快照。
只读快照是源数据集在特定时刻的静态映像,如需要保存一个数据集不同时刻的映像则需要在不同时刻分别创建只读快照。只读快照可以满足访问一个源数据集不同版本数据映像的需求。
与只读快照相比,可写快照是源数据集在特定时刻的一个克隆,其数据集基于源数据集在特定时间点的映像,对源卷的修改不会修改该数据集映像。同时可写快照的新数据集区别于源的数据集,即可写快照的数据集与源的数据可独立更新。一个源数据集可以创建多个可写快照。可写快照满足了为应用提供可写副本的需求。
在传统技术中,不能对只读快照卷的数据进行按需合并更新,只读快照卷数据的更新通常是删除与该只读快照卷同源的后继快照卷时实现。此时将后继快照卷中的所有有效数据全部合并到当前只读快照卷中,不能对快照卷中指定的部分数据进行按需更新。
发明内容
基于此,有必要提供一种通过重映射操作将指定源快照卷中的指定数据块合并更新到指定目的快照卷的增量快照处理的方法及系统。
为实现本发明目的提供的增量快照处理的方法,包括以下步骤:
构建与源卷相对应的具有预设逻辑块粒度的快照卷;
当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,通过重映射操作将所述指定的逻辑块在所述指定的源卷或者源快照卷中所述新数据块重映射到所述目的快照卷。
作为增量快照处理的方法的一种可实施方式,所述当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,通过重映射操作将所述指定的逻辑块在所述指定的源卷或者源快照卷中所述新数据块重映射到所述目的快照卷,包括以下步骤:
当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,获取对所述指定的逻辑块进行数据合并更新的合并指令;
根据所述合并指令确定所述指定的源卷或者源快照卷;
根据所述合并指令确定要进行数据合并更新的指定的逻辑块的逻辑块号;
根据所述合并指令确定要进行数据合并更新的目的快照卷;
在所述目的快照卷中,根据所述逻辑块号建立所述指定的逻辑块与所述新数据块之间的映射关系;
取消所述源卷或者源快照卷中所述指定的逻辑块与所述新数据块之间的映射关系。
作为增量快照处理的方法的一种可实施方式,所述在所述目的快照卷中根据所述逻辑块号建立所述指定的逻辑块与所述新数据块之间的映射关系,包括以下步骤:
检查所述逻辑块号在所述目的快照卷中对应的元数据,判断所述目的快照卷中是否存在所述逻辑块号对应的所述指定的逻辑块的有效数据;
当已存在所述指定的逻辑块的有效数据时,取消所述逻辑块原映射,建立所述指定的逻辑块与所述新数据块之间的映射关系,且保持所述目的快照卷中的所述指定的逻辑块对应的元数据保持不变;
当不存在所述指定的逻辑块的有效数据时,修改所述目的快照卷中所述指定的逻辑块对应的元数据,将所述指定的逻辑块标识为存在有效数据,建立所述指定的逻辑块与所述新数据块之间的映射关系。
作为增量快照处理的方法的一种可实施方式,所述当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,获取对所述指定的逻辑块进行数据合并更新的合并指令,包括以下步骤:
根据预设的快照卷数据合并更新条件,判断是否需要对所述目的快照卷中的所述指定的逻辑块对应的数据块进行数据合并更新;
当需要进行数据合并更新时,生成对指定的逻辑块进行数据合并更新的合并指令;
当不需要进行数据合并更新时,结束操作。
作为增量快照处理的方法的一种可实施方式,所述当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,获取对所述指定的逻辑块进行数据合并更新的合并指令,包括以下步骤:
解析用户输入的快照卷合并更新命令,得到包含需要合并更新的指定的逻辑块的逻辑块号,目的快照卷,以及源卷或者源快照卷的快照卷合并更新参数;
判断所述快照卷合并更新参数是否合法;
当所述快照卷合并更新参数合法时,生成对所述指定的逻辑块进行合并更新的合并指令;
当所述快照卷合并更新参数非法时,结束操作。
基于同一发明构思的增量快照处理的系统,包括构建模块和重映射模块,其中:
所述构建模块,用于构建与源卷相对应的具有预设逻辑块粒度的快照卷;
所述重映射模块,用于当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,通过重映射操作将所述指定的逻辑块在所述指定的源卷或者源快照卷中所述新数据块重映射到所述目的快照卷。
作为增量快照处理的系统的一种可实施方式,所述重映射模块包括指令获取子模块,源数据卷确定子模块,逻辑块号确定子模块,目的快照卷确定子模块,映射建立子模块,以及取消原映射子模块,其中:
所述指令获取子模块,用于当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,获取对所述指定的逻辑块进行数据合并更新的合并指令;
所述源数据卷确定子模块,用于根据所述合并指令确定所述指定的源卷或者源快照卷;
所述逻辑块号确定子模块,用于根据所述合并指令确定要进行数据合并更新的指定的逻辑块的逻辑块号;
所述目的快照卷确定子模块,用于根据所述合并指令确定要进行数据合并更新的目的快照卷;
所述映射建立子模块,用于在所述目的快照卷中,根据所述逻辑块号在所述目的快照卷中建立该逻辑块与所述新数据块之间的映射关系;
所述取消原映射子模块,用于取消所述源卷或者源快照卷中所述指定的逻辑块与所述新数据块之间的映射关系。
作为增量快照处理的系统的一种可实施方式,所述映射建立子模块包括元数据检查单元,第一修改单元,以及第二修改单元,其中:
所述元数据检查单元,用于检查所述逻辑块号在所述目的快照卷中对应的元数据,判断所述目的快照卷中是否存在所述逻辑块号对应的所述指定的逻辑块的有效数据;
所述第一修改单元,用于当已存在所述指定的逻辑块的有效数据时,取消所述逻辑块原映射,建立所述指定的逻辑块与所述新数据块之间的映射关系,且保持所述目的快照卷中的所述指定的逻辑块对应的元数据保持不变;
所述第二修改单元,用于当不存在所述指定的逻辑块的有效数据时,修改所述目的快照卷中所述指定的逻辑块对应的元数据,将所述指定的逻辑块标识为存在有效数据,建立所述指定的逻辑块与所述新数据块之间的映射关系。
作为增量快照处理的系统的一种可实施方式,所述指令获取子模块包括更新条件判断单元,第一指令生成单元,以及第一停止操作控制单元,其中:
所述更新条件判断单元,用于根据预设的快照卷数据合并更新条件,判断是否需要对所述目的快照卷中的所述指定的逻辑块对应的数据块进行数据合并更新;
所述第一指令生成单元,用于当需要进行数据合并更新时,生成对指定的逻辑块进行数据合并更新的合并指令;
所述第一停止操作控制单元,用于当不需要进行数据合并更新时,结束操作。
作为增量快照处理的系统的一种可实施方式,所述指令获取子模块包括输入命令解析单元,参数判断单元,第二指令生成单元,以及第二停止操作控制单元,其中:
所述输入命令解析单元,用于解析用户输入的快照卷合并更新命令,得到包含需要合并更新的指定的逻辑块的逻辑块号,目的快照卷,以及源卷或者源快照卷的快照卷合并更新参数;
所述参数判断单元,用于判断所述快照卷合并更新参数是否合法;
所述第二指令生成单元,用于当所述快照卷合并更新参数合法时,生成对所述指定的逻辑块进行合并更新的合并指令;
所述第二停止操作控制单元,用于当所述快照卷合并更新参数非法时,结束操作。
本发明的有益效果包括:
本发明提供的一种增量快照处理的方法及系统,通过重映射操作,对已有只读快照卷中需要更新的逻辑块进行数据合并更新。从而实现了对快照卷尤其是只读快照卷数据的按需更新,提高数据存储更新的灵活性,也省去了快照卷新建及删除的步骤,提高数据合并更新效率。
附图说明
图1为本发明一种增量快照处理的方法的一具体实施例的流程图;
图2为本发明一种增量快照处理的方法的一具体实施例的过程示意图;
图3为本发明一种增量快照处理的系统的一具体实施例的系统结构示意图;
图4为本发明一种增量快照处理的系统的一具体实施例的重映射模块构成示意图;
图5为本发明一种增量快照处理的系统的一具体实施例的指令获取子模块的构成示意图;
图6为本发明一种增量快照处理的系统的另一具体实施例的指令获取子模块的构成示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明实施例的增量快照处理的方法及系统的具体实施方式进行说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的增量快照处理的方法,如图1所示,包括以下步骤:
S100,构建与源卷相对应的具有预设逻辑块粒度的快照卷。构建与数据源卷具有相同的逻辑块粒度的快照卷,将快照卷的逻辑地址空间按照所述逻辑块粒度划分成大小相同的逻辑块,如此,在后续处理过程中,以逻辑块为基本单位进行相关数据的更新等处理。其中所述逻辑块粒度,可根据实际使用需求设置成不同的大小。
所述构建快照卷包括只读快照卷的构建及可写快照卷的构建。
由SNIA定义,只读快照维护特定时刻源数据集的完全拷贝。在创建只读快照时刻源数据集处于稳态,因此需要阻塞源数据集的所有操作。只读快照创建核心流程如下:
(1)接收到用户层的快照创建命令,解析用户参数,用户参数中需要指定源卷、逻辑块粒度等信息,快照卷与源卷的逻辑块粒度必须相同。
(2)阻塞源卷的IO请求。可保证源卷处于稳定状态。
(3)按照用户层参数设置快照卷逻辑块粒度。
(4)初始化只读快照卷的元数据。所述元数据与快照卷中的逻辑块相对应,当快照卷中无有效数据的逻辑块新建立数据映射时,则需要更新快照卷的元数据。
(5)建立只读快照卷与源数据卷的依赖关系。
构建可写快照卷,本发明实施例中,可写快照卷基于只读型基快照,其构建流程如下:
(1)接收到用户层创建命令,并解析参数,其中用户参数中需要指定,该可写快照卷依赖的基快照。
(2)冻结对基快照的所有操作。与只读快照卷构建相同,也要保证其源数据的稳定。
(3)获取基快照逻辑块粒度,并用该粒度初始化可写快照卷的逻辑块粒度。此处基快照的逻辑块粒度,与其源卷的逻辑块粒度相同。因此,对于同一源数据的所有快照卷,逻辑块粒度都是相同的,可以以逻辑块为基础进行快照卷的数据合并更新。
(4)初始化可写快照卷的元数据。
(5)建立可写快照卷与基快照的依赖关系。
S200,当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,通过重映射操作将所述指定的逻辑块在所述指定的源卷或者源快照卷中所述新数据块重映射到所述目的快照卷。当已经构建的快照卷中的某个或者某些逻辑块需要进行合并更新,即逻辑块对应的数据块作为指定数据块需要进行合并更新时,通过remap操作直接将快照源数据卷或者源快照卷中所述指定的逻辑块对应的新数据块重映射到目的快照卷中,从而实现对已经构建的作为目的快照卷的数据更新。
本发明实施例,通过重映射操作,对已有快照卷中需要更新的逻辑块进行数据合并更新,从而实现了对快照卷的按需更新,提高数据存储更新的灵活性,也省去了快照卷新建及删除的步骤,提高数据合并更新效率。
在其中一个增量快照处理的方法的实施例中,步骤S200包括以下步骤:
S210,当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,获取对所述指定的逻辑块进行数据合并更新的合并指令。
S220,根据所述合并指令确定所述指定的源卷或者源快照卷;
S230,根据所述合并指令确定要进行数据合并更新的指定的逻辑块的逻辑块号;
S240,根据所述合并指令确定要进行数据合并更新的目的快照卷;
S250,在所述目的快照卷中,根据所述逻辑块号建立所述指定的逻辑块与所述新数据块之间的映射关系。从而实现将新数据更新到所述目的快照卷;
S260,取消所述源卷或者源快照卷中所述指定的逻辑块与所述新数据块之间的映射关系。在步骤S250中完成重映射操作,在本步骤中取消指定逻辑块在源卷或者源快照卷中与新数据块的映射关系。且需要说明的是,同时修改该指定的逻辑块在源卷或者源快照卷中对应的元数据,将其标识为无有效数据。释放占用资源,提高资源利用率,避免浪费。
本发明实施例中,根据数据合并更新指令,找到相应的目的快照卷,及指定的需合并的逻辑块,则在目标快照卷中将指定的逻辑块与新数据块建立新的映射关系,取消所述新数据块与所述指定逻辑块在所述快照源卷或者源快照卷中的映射关系并相应修改其元数据,从而实现了快照卷的更新。
在其中一个增量快照处理的方法的实施例中,步骤S250,包括以下步骤:
S251,检查所述逻辑块号在所述目的快照卷中对应的元数据,判断所述目的快照卷中是否存在所述逻辑块号对应的所述指定的逻辑块的有效数据。即检查是否存在所述指定的逻辑块与数据块的映射信息。
S252,当已存在所述指定的逻辑块的有效数据时,取消所述逻辑块原映射,建立所述指定的逻辑块与所述新数据块之间的映射关系,且保持所述目的快照卷中的所述指定的逻辑块对应的元数据保持不变。
S253,当不存在所述指定的逻辑块的有效数据时,修改所述目的快照卷中所述指定的逻辑块对应的元数据,将所述指定的逻辑块标识为存在有效数据,建立所述指定的逻辑块与所述新数据块之间的映射关系。
本发明实施例中,对于已有有效数据的逻辑块取消原有的数据映射,建立与新数据块的映射;而对于没有映射信息的逻辑块,即在所述目的快照卷中不存在所述指定的逻辑块的有效数据,则修改目的快照卷的元数据,并建立新的映射关系。保证数据的准确映射关系。
在其中一个实施例中,将同一基快照的两个或者多个可写快照中的相同数据块合并更新到基快照中,除包括上述步骤S251,S252,S253包括修改新数据块所在快照卷的元数据,取消逻辑块的映射信息的步骤。两个或者多个可写快照卷都做相同的处理,取消已合并的逻辑块的映射信息,如此可节省存储资源。
对于同一源数据不同时刻的数据合并更新,如图2所示,T1时刻构建一个源(源卷)的快照卷,T2时刻对快照卷进行数据合并更新,如无特殊需求,则可保持只有一个快照卷。
在其中一个增量快照处理的方法的实施例中,步骤S210包括以下步骤:
S211,根据预设的快照卷数据合并更新条件,判断是否需要对所述目的快照卷中的所述指定的逻辑块对应的数据块进行数据合并更新。
所述预设的快照卷合并更新条件可预先进行设置,检测到预设条件满足时,则根据源数据的更新对已建立的快照卷进行数据合并更新。
S212,当需要进行数据合并更新时,生成对指定的逻辑块进行数据合并更新的合并指令。所述合并指令包括需更新逻辑块号以及合并操作的源卷,源快照卷与目的快照卷等参数。
S213,当不需要进行数据合并更新时,结束操作。
本发明实施例采用系统条件驱动的方式对快照卷进行数据合并更新。整个数据合并更新过程由快照系统内核完成,可自动完成快照卷的数据合并更新。
在另一个增量快照处理的方法的实施例中,步骤S210包括以下步骤:
S211’,解析用户输入的快照卷合并更新命令,得到包含需要合并更新的指定的逻辑块的逻辑块号,目的快照卷,以及源卷或者源快照卷的快照卷合并更新参数;
此处需要说明的是,用户指定的逻辑块的逻辑块号可以为逻辑块区间,比如可指定重映射从块1开始的100个块;当然也可以指定只重映射一个逻辑块是一个特例。若指定重映射一个固定逻辑块区间时,只需要将该区间内在源卷或者源快照卷中有效的数据块重映射到目的快照卷,因此需要检查源卷或者源快照卷的元数据,若是无有效数据则重映射操作结束。另外,在用户不指定重映射区间的情况下,默认将源卷或者源快照卷设备逻辑地址空间内全部有效数据都重映射到目的快照卷。同样,采用系统条件驱动的方式对快照卷进行数据合并更新时,要更新的指定的逻辑块的范围也包括上述三种范围确定形式。
S212’,判断所述快照卷合并更新参数是否合法。所述判断是否合法,是判断得到的快照卷合并更新参数中的逻辑块粒度是否准确,用户权限是否受限等。保证数据存储的安全。
S213’,当所述快照卷合并更新参数合法时,生成对所述指定的逻辑块进行合并更新的合并指令。
S214’,当所述快照卷合并更新参数非法时,结束操作。
本发明实施例中,采用用户命令驱动方式启动数据合并更新,如此,可更加灵活的进行快照卷的数据合并更新。
此处需要说明的是,上述实施例中的步骤S211’,可在用户端完成,其他步骤在快照系统内核完成。
较佳地,在其中一个实施例中,上述用户命令驱动方式和系统条件驱动方式可无差的集成在一个处理系统中,构成混合驱动方式。
需要说明的是,在上述的实施例中,当需要删除只读快照或删除可写快照时,可分别按下面的步骤进行删除。
删除只读快照卷:删除快照卷关键操作将快照卷中的数据合并到前一快照卷中,其核心流程如下:
(1)将待删除只读快照卷设置为不活跃状态,冻结对该快照卷的所有操作。
(2)将该快照卷的增量数据通过remap操作合并到其前驱快照卷中。
(3)检查是否需要修改前驱快照卷相应的元数据,若需要修改元数据则根据新的数据块状态修改对应的元数据。
删除可写快照卷:删除可写快照卷的核心操作如下:
(1)根据实际需求确定是否需要将可写卷的数据合并到基快照,若需要合并,将可写快照卷的新数据通过remap操作合并到其基快照中。若无需合并,则将数据丢弃。
(2)解除可写快照卷与基快照的依赖关系。所述依赖关系为快照卷之间,或快照卷与源卷之间的逻辑上的依赖关系。
基于同一发明构思,还提供一种增量快照处理的系统,由于此系统解决问题的原理与前述一种增量快照处理的方法相似,因此,该系统的实施可以按照前述方法的具体步骤实现,重复之处不再赘述。
在其中一个增量快照处理的系统的实施例中,如图3所示,包括构建模块100和重映射模块200,其中:所述构建模块100,用于构建与源卷相对应的具有预设逻辑块粒度的快照卷;所述重映射模块200,用于当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,通过重映射操作将所述指定的逻辑块在所述指定的源卷或者源快照卷中所述新数据块重映射到所述目的快照卷。
本发明实施例,通过重映射操作,对已有快照卷尤其是只读快照卷中需要更新的逻辑块进行数据合并更新。从而实现了对快照卷的按需更新,提高数据存储更新的灵活性,提高数据合并更新效率。
在其中一个增量快照处理的系统的实施例中,如图4所示,所述重映射模块200包括指令获取子模块210,源数据卷确定子模块220,逻辑块号确定子模块230,目的快照卷确定子模块240,映射建立子模块250,以及取消原映射子模块260。其中:所述指令获取子模块210,用于当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,获取对所述指定的逻辑块进行数据合并更新的合并指令;所述源数据卷确定子模块220,用于根据所述合并指令确定所述指定的源卷或者源快照卷;所述逻辑块号确定子模块230,用于根据所述合并指令确定要进行数据合并更新的指定的逻辑块的逻辑块号;所述目的快照卷确定子模块240,用于根据所述合并指令确定要进行数据合并更新的目的快照卷;所述映射建立子模块250,用于在所述目的快照卷中,根据所述逻辑块号建立所述指定的逻辑块与所述新数据块之间的映射关系,从而实现将新数据更新到所述目的快照卷;所述取消原映射子模块260,用于取消所述源卷或者源快照卷中所述指定的逻辑块与所述新数据块之间的映射关系。
在其中一个增量快照处理的系统的实施例中,所述映射建立子模块250包括元数据检查单元251,第一修改单元252,以及第二修改单元253,其中:所述元数据检查单元251,用于检查所述逻辑块号在所述目的快照卷中对应的元数据,判断所述目的快照卷中是否存在所述逻辑块号对应的所述指定的逻辑块的有效数据,也即映射信息;所述第一修改单元252,用于当已存在所述指定的逻辑块的有效数据时,取消所述逻辑块原映射,建立所述指定的逻辑块与所述新数据块之间的映射关系,且保持所述目的快照卷中的所述指定的逻辑块对应的元数据保持不变;所述第二修改单元253,用于当不存在所述指定的逻辑块的有效数据时,修改所述目的快照卷中所述指定的逻辑块对应的元数据,将所述指定的逻辑块标识为存在有效数据,建立所述指定的逻辑块与所述新数据块之间的映射关系。
本发明实施例中,对于已存在有效数据的逻辑块取消与原数据块映射,建立与新数据块间的映射;而对于没有有效数据的逻辑块,则修改快照卷的元数据,并建立新的映射关系。保证数据的准确映射关系。
在其中一个增量快照处理的系统的实施例中,如图5所示,所述指令获取子模块210包括更新条件判断单元211,第一指令生成单元212,以及第一停止操作控制单元213。其中:所述更新条件判断单元211,用于根据预设的快照卷数据合并更新条件,判断是否需要对所述目的快照卷中的所述指定的逻辑块对应的数据块进行数据合并更新;所述第一指令生成单元212,用于当需要进行数据合并更新时,生成对指定的逻辑块进行数据合并更新的合并指令;所述第一停止操作控制单元213,用于当不需要进行数据合并更新时,结束操作。
本发明实施例采用系统条件驱动的方式对快照卷进行数据合并更新。整个数据合并更新过程由快照系统内核完成,可自动完成快照卷的数据合并更新。
在其中一个增量快照处理的系统的实施例中,如图6所示,所述指令获取子模块210包括输入命令解析单元201,参数判断单元202,第二指令生成单元203,以及第二停止操作控制单元204。其中:所述输入命令解析单元201,用于解析用户输入的快照卷合并更新命令,得到包含需要合并更新的指定的逻辑块的逻辑块号,目的快照卷,以及源卷或者源快照卷的快照卷合并更新参数;所述参数判断单元202,用于判断所述快照卷合并更新参数是否合法;所述第二指令生成单元203,用于当所述快照卷合并更新参数合法时,生成对所述指定的逻辑块进行合并更新的合并指令;所述第二停止操作控制单元204,用于当所述快照卷合并更新参数非法时,结束操作。
本发明实施例中,采用用户命令驱动方式启动数据合并更新,如此,可更加灵活的进行快照卷的数据合并更新。
同样,在系统中,用户命令驱动方式的增量快照处理的系统与系统条件驱动方式的增量快照处理的系统可进行组合,构成同时包括更新条件判断单元211,第一指令生成单元212,第一停止操作控制单元213,以及输入命令解析单元201,参数判断单元202,第二指令生成单元203,第二停止操作控制单元204的混合驱动方式的增量快照处理的系统。即既可以设定预设的快照卷合并更新条件,也可按用户输入命令进行数据合并更新。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种增量快照处理的方法,其特征在于,包括以下步骤:
构建与源卷相对应的具有预设逻辑块粒度的快照卷,即构建与数据源卷具有相同的逻辑块粒度的快照卷;
当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,通过重映射操作将所述指定的逻辑块在所述指定的源卷或者源快照卷中所述新数据块重映射到所述目的快照卷。
2.根据权利要求1所述的增量快照处理的方法,其特征在于,所述当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,通过重映射操作将所述指定的逻辑块在所述指定的源卷或者源快照卷中所述新数据块重映射到所述目的快照卷,包括以下步骤:
当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,获取对所述指定的逻辑块进行数据合并更新的合并指令;
根据所述合并指令确定所述指定的源卷或者源快照卷;
根据所述合并指令确定要进行数据合并更新的指定的逻辑块的逻辑块号;
根据所述合并指令确定要进行数据合并更新的目的快照卷;
在所述目的快照卷中,根据所述逻辑块号建立所述指定的逻辑块与所述新数据块之间的映射关系;
取消所述源卷或者源快照卷中所述指定的逻辑块与所述新数据块之间的映射关系。
3.根据权利要求2所述的增量快照处理的方法,其特征在于,所述在所述目的快照卷中,根据所述逻辑块号建立所述指定的逻辑块与所述新数据块之间的映射关系,包括以下步骤:
检查所述逻辑块号在所述目的快照卷中对应的元数据,判断所述目的快照卷中是否存在所述逻辑块号对应的所述指定的逻辑块的有效数据;
当已存在所述指定的逻辑块的有效数据时,取消所述逻辑块原映射,建立所述指定的逻辑块与所述新数据块之间的映射关系,且保持所述目的快照卷中的所述指定的逻辑块对应的元数据保持不变;
当不存在所述指定的逻辑块的有效数据时,修改所述目的快照卷中所述指定的逻辑块对应的元数据,将所述指定的逻辑块标识为存在有效数据,建立所述指定的逻辑块与所述新数据块之间的映射关系。
4.根据权利要求2所述的增量快照处理的方法,其特征在于,所述当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,获取对所述指定的逻辑块进行数据合并更新的合并指令,包括以下步骤:
根据预设的快照卷数据合并更新条件,判断是否需要对所述目的快照卷中的所述指定的逻辑块对应的数据块进行数据合并更新;
当需要进行数据合并更新时,生成对指定的逻辑块进行数据合并更新的合并指令;
当不需要进行数据合并更新时,结束操作。
5.根据权利要求2至4任一项所述的增量快照处理的方法,其特征在于,所述当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,获取对所述指定的逻辑块进行数据合并更新的合并指令,包括以下步骤:
解析用户输入的快照卷合并更新命令,得到包含需要合并更新的指定的逻辑块的块号,目的快照卷,以及源卷或者源快照卷的快照卷合并更新参数;
判断所述快照卷合并更新参数是否合法;
当所述快照卷合并更新参数合法时,生成对所述指定的逻辑块进行合并更新的合并指令;
当所述快照卷合并更新参数非法时,结束操作。
6.一种增量快照处理的系统,其特征在于,包括构建模块和重映射模块,其中:
所述构建模块,用于构建与源卷相对应的具有预设逻辑块粒度的快照卷,即构建与数据源卷具有相同的逻辑块粒度的快照卷;
所述重映射模块,用于当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,通过重映射操作将所述指定的逻辑块在所述指定的源卷或者源快照卷中所述新数据块重映射到所述目的快照卷。
7.根据权利要求6所述的增量快照处理的系统,其特征在于,所述重映射模块包括指令获取子模块,源数据卷确定子模块,逻辑块号确定子模块,目的快照卷确定子模块,映射建立子模块,以及取消原映射子模块,其中:
所述指令获取子模块,用于当需要对具有预设逻辑块粒度的目的快照卷中指定的逻辑块对应的数据块与指定的源卷或者源快照卷中所述指定的逻辑块对应的新数据块进行数据合并更新时,获取对所述指定的逻辑块进行数据合并更新的合并指令;
所述源数据卷确定子模块,用于根据所述合并指令确定所述指定的源卷或者源快照卷;
所述逻辑块号确定子模块,用于根据所述合并指令确定要进行数据合并更新的指定的逻辑块的逻辑块号;
所述目的快照卷确定子模块,用于根据所述合并指令确定要进行数据合并更新的目的快照卷;
所述映射建立子模块,用于在所述目的快照卷中,根据所述逻辑块号建立所述指定的逻辑块与所述新数据块之间的映射关系;
所述取消原映射子模块,用于取消所述源卷或者源快照卷中所述指定的逻辑块与所述新数据块之间的映射关系。
8.根据权利要求7所述的增量快照处理的系统,其特征在于,所述映射建立子模块包括元数据检查单元,第一修改单元,以及第二修改单元,其中:
所述元数据检查单元,用于检查所述逻辑块号在所述目的快照卷中对应的元数据,判断所述目的快照卷中是否存在所述逻辑块号对应的所述指定的逻辑块的有效数据;
所述第一修改单元,用于当已存在所述指定的逻辑块的有效数据时,取消所述逻辑块原映射,建立所述指定的逻辑块与所述新数据块之间的映射关系,且保持所述目的快照卷中的所述指定的逻辑块对应的元数据保持不变;
所述第二修改单元,用于当不存在所述指定的逻辑块的有效数据时,修改所述目的快照卷中所述指定的逻辑块对应的元数据,将所述指定的逻辑块标识为存在有效数据,建立所述指定的逻辑块与所述新数据块之间的映射关系。
9.根据权利要求7所述的增量快照处理的系统,其特征在于,所述指令获取子模块包括更新条件判断单元,第一指令生成单元,以及第一停止操作控制单元,其中:
所述更新条件判断单元,用于根据预设的快照卷数据合并更新条件,判断是否需要对所述目的快照卷中的所述指定的逻辑块对应的数据块进行数据合并更新;
所述第一指令生成单元,用于当需要进行数据合并更新时,生成对指定的逻辑块进行数据合并更新的合并指令;
所述第一停止操作控制单元,用于当不需要进行数据合并更新时,结束操作。
10.根据权利要求7至9任一项所述的增量快照处理的系统,其特征在于,所述指令获取子模块包括输入命令解析单元,参数判断单元,第二指令生成单元,以及第二停止操作控制单元,其中:
所述输入命令解析单元,用于解析用户输入的快照卷合并更新命令,得到包含需要合并更新的指定的逻辑块的块号,目的快照卷,以及源卷或者源快照卷的快照卷合并更新参数;
所述参数判断单元,用于判断所述快照卷合并更新参数是否合法;
所述第二指令生成单元,用于当所述快照卷合并更新参数合法时,生成对所述指定的逻辑块进行合并更新的合并指令;
所述第二停止操作控制单元,用于当所述快照卷合并更新参数非法时,结束操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410032088.5A CN103761159B (zh) | 2014-01-23 | 2014-01-23 | 增量快照处理的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410032088.5A CN103761159B (zh) | 2014-01-23 | 2014-01-23 | 增量快照处理的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103761159A CN103761159A (zh) | 2014-04-30 |
CN103761159B true CN103761159B (zh) | 2017-05-24 |
Family
ID=50528402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410032088.5A Expired - Fee Related CN103761159B (zh) | 2014-01-23 | 2014-01-23 | 增量快照处理的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103761159B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9626250B2 (en) | 2015-03-16 | 2017-04-18 | International Business Machines Corporation | Data synchronization of block-level backup |
GB201516727D0 (en) * | 2015-09-22 | 2015-11-04 | Ibm | Distributed merging of data sets |
CN105677252B (zh) * | 2016-01-06 | 2019-06-07 | 华为技术有限公司 | 读数据的方法、数据处理方法及相关存储设备 |
CN106951375B (zh) * | 2016-01-06 | 2021-11-30 | 北京忆恒创源科技股份有限公司 | 在存储系统中删除快照卷的方法及装置 |
CN106648987A (zh) * | 2016-12-27 | 2017-05-10 | 江苏爱科赛尔云数据科技有限公司 | 保持用户快照设定总数的虚拟机增量备份、恢复方法 |
CN107491363A (zh) * | 2017-08-24 | 2017-12-19 | 郑州云海信息技术有限公司 | 一种基于Linux内核的存储卷的快照方法及装置 |
CN110018983B (zh) * | 2017-09-27 | 2021-07-16 | 华为技术有限公司 | 一种元数据查询方法及装置 |
US10282099B1 (en) * | 2017-10-27 | 2019-05-07 | Netapp, Inc. | Intelligent snapshot tiering |
CN110399333B (zh) * | 2018-04-20 | 2023-07-18 | 伊姆西Ip控股有限责任公司 | 删除快照的方法、设备和计算机程序产品 |
CN109117308A (zh) * | 2018-07-27 | 2019-01-01 | 华为技术有限公司 | 快照处理的方法和装置 |
CN110941511B (zh) * | 2019-11-21 | 2023-03-21 | 深信服科技股份有限公司 | 一种快照合并方法、装置、设备及存储介质 |
CN110888823B (zh) * | 2019-11-26 | 2022-01-21 | 深圳忆联信息系统有限公司 | 页扫描效率的提升方法、装置及计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033793A (zh) * | 2010-12-14 | 2011-04-27 | 成都市华为赛门铁克科技有限公司 | 快照方法和固态硬盘 |
CN102073739A (zh) * | 2011-01-25 | 2011-05-25 | 中国科学院计算技术研究所 | 带有快照功能的分布式文件系统中的数据读与数据写方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4903461B2 (ja) * | 2006-03-15 | 2012-03-28 | 株式会社日立製作所 | 記憶システム及びデータ移行方法並びにサーバ装置 |
-
2014
- 2014-01-23 CN CN201410032088.5A patent/CN103761159B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033793A (zh) * | 2010-12-14 | 2011-04-27 | 成都市华为赛门铁克科技有限公司 | 快照方法和固态硬盘 |
CN102073739A (zh) * | 2011-01-25 | 2011-05-25 | 中国科学院计算技术研究所 | 带有快照功能的分布式文件系统中的数据读与数据写方法 |
Non-Patent Citations (1)
Title |
---|
《几种主流快照技术的分析比较》;林安等;《微处理机》;20080229(第1期);第127-130页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103761159A (zh) | 2014-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103761159B (zh) | 增量快照处理的方法及系统 | |
EP3646204B1 (en) | Systems and methods of database tenant migration | |
US8332367B2 (en) | Parallel data redundancy removal | |
US8924664B2 (en) | Logical object deletion | |
US7895394B2 (en) | Storage system | |
US8402237B2 (en) | Presentation of a read-only clone LUN to a host device as a snapshot of a parent LUN | |
US10572175B2 (en) | Method and apparatus of shared storage between multiple cloud environments | |
US20120136841A1 (en) | System and method for application aware de-duplication of data blocks on a virtualized storage array | |
DE112012005275T5 (de) | Datenauswahl zur Sicherung von Datenspeichern | |
US9430330B1 (en) | System and method for managing environment metadata during data backups to a storage system | |
WO2021058020A1 (zh) | 一种有状态应用的实例创建方法、装置、设备及介质 | |
DE112018005768B4 (de) | Copy-source-to-target-verwaltung in einem datenspeichersystem | |
CN103716384A (zh) | 跨数据中心实现云存储数据同步的方法和装置 | |
CN109117308A (zh) | 快照处理的方法和装置 | |
CN105469001B (zh) | 磁盘数据保护方法及装置 | |
CN107122223B (zh) | 数据迁移方法及装置 | |
CN107329836A (zh) | 多系统的内存管理方法、管理装置以及移动终端 | |
DE112013000379T5 (de) | Synchronisieren von lokalen und entfernt angeordneten Speichereinheiten | |
US11048417B2 (en) | Method, device and computer program product for storage management | |
US7330946B2 (en) | Data processing system | |
CN106897118A (zh) | 一种虚拟机内存快照创建方法及系统 | |
CN108563659A (zh) | SQL Server的合成备份方法 | |
CN115687359A (zh) | 数据表分区方法及装置、存储介质、计算机设备 | |
CN104869531A (zh) | 一种群组成员更新方法和装置 | |
CN109725841A (zh) | 数据写入方法、装置、存储系统、存储介质与控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170524 Termination date: 20210123 |