1.一种基于快照的数据存储方法,其特征在于,包括:
(i)、响应于对目标数据卷的数据快照,配置该目标数据卷的快照元数据拓扑,以使得该快照元数据拓扑具有的拓扑节点包括:与目标数据卷的卷空间存在以块为粒度的映射关系的主干根节点,以及,与该数据快照产生的目标快照卷的卷空间存在以块为粒度的映射关系的主干级联节点,该主干级联节点响应于对应的目标快照卷的产生,而被对应创建在从该主干根节点开始的链式级联末端;其中:快照元数据拓扑中的每个拓扑节点的节点信息包括块分配位图和块引用位图,块分配位图中的每一位对应目标数据卷中的一个块,块引用位图中的每一位对应目标数据卷中的一个块,每个拓扑节点的块分配位图中对应每个块的位用于表示目标数据卷中的该块是否为有效块,并且,每个拓扑节点的块引用位图中对应每个有效块的位用于表示该有效块是否存储在该拓扑节点对应的目标快照卷的卷空间内;
主干根节点的块引用位图中对应每个有效块的位表示该有效块的当前数据存储在该目标数据卷的卷空间内;创建在链式级联末端的该主干级联节点所对应的目标快照卷,以目标数据卷的所有有效块在被执行该数据快照时的当前数据为快照数据;并且,创建在链式级联末端的该主干级联节点在创建初始时的块引用位图中对应每个有效块的位表示:该有效块的快照数据未存储在该主干级联节点对应的目标快照卷的卷空间内;
(ii)、响应于目标数据卷中的任意有效块在目标快照卷生成之后的数据更新,若级联末端的主干级联节点的块引用位图中对应该有效块的位表示该有效块的快照数据未存储在该主干级联节点对应的目标快照卷的卷空间内,则:将目标数据卷的卷空间中的该有效块被数据更新替换的淘汰数据作为快照数据,转存至该有效块在链式级联末端的主干级联节点所对应的目标快照卷的卷空间内的映射区域;
并且,
将该主干级联节点的块引用位图中对应该有效块的位更新为表示:该有效块的快照数据存储在该主干级联节点所对应的目标快照卷的卷空间内。
2.根据权利要求1所述的数据存储方法,其特征在于,该数据存储方法进一步包括:
(iii)、响应于为目标数据卷生成的任意目标快照卷的快照删除,将快照元数据拓扑中与被删除的该目标快照卷对应的主干级联节点删除;
其中,若被删除的该目标快照卷对应的主干级联节点存在父级主干级联节点,任意有效块在被删除的该目标快照卷的卷空间内存储有快照数据,并且,该父级主干级联节点对应的目标快照卷的卷空间内未存储该有效块的快照数据,则:将该有效块在被删除的该目标快照卷的卷空间内的快照数据,转存至该有效块在父级主干级联节点所对应的目标快照卷的卷空间内的映射区域;并且,将父级主干级联节点的块引用位图中对应该有效块的位更新为表示:该有效块在被删除的目标快照卷的卷空间内的快照数据,存储在该父级主干级联节点所对应的目标快照卷的卷空间内。
3.根据权利要求1所述的数据存储方法,其特征在于,该数据存储方法进一步包括:
(iv)、响应于基于任意目标快照卷发起的快照回滚,将该快照元数据拓扑的拓扑节点配置为进一步包括:与响应于该次快照回滚生成的再生数据卷的卷空间存在以块为粒度的映射关系的旁支根节点,其中:该旁支根节点以该快照回滚所基于的目标快照卷的对应主干级联节点为父级节点;
该再生数据卷在创建初始时的再生数据包括:该快照回滚所基于的目标快照卷的所有有效块的快照数据;并且,该旁支根节点在创建初始时的块引用位图中对应每个有效块的位表示:该再生数据卷的该有效块的再生数据未存储在该再生数据卷的卷空间内。
4.根据权利要求3所述的数据存储方法,其特征在于,该数据存储方法进一步包括:
(v)、响应于在任意时刻对再生数据卷的数据快照,将快照元数据拓扑的拓扑节点配置为进一步包括:与再生快照卷对应创建在从旁支根节点开始的链式级联末端的旁支级联节点,并且,该旁支级联节点与对应的再生快照卷的卷空间存在以块为粒度的映射关系;
其中,创建在链式级联末端的该旁支级联节点所对应的再生快照卷,以再生数据卷的所有有效块在被执行该数据快照时的再生数据为快照数据;
并且,创建在链式级联末端的该旁支级联节点在创建初始时的块引用位图中对应每个有效块的位表示:再生数据卷的该有效块的快照数据未存储在该旁支级联节点对应的再生快照卷的卷空间内;
(vi)、响应于再生数据卷中的任意有效块在再生快照卷生成之后的数据更新:
将再生数据卷的该有效块的更新后的再生数据存入至该再生数据卷的卷空间,并且,将该再生数据卷对应的旁支根节点的块引用位图中对应该有效块的位更新为表示:再生数据卷的该有效块的再生数据存储在该再生数据卷的卷空间内;
若级联末端的旁支级联节点的块引用位图中对应该有效块的位表示该有效块的快照数据未存储在该旁支级联节点对应的再生快照卷的卷空间内,并且再生数据卷的该有效块由于数据更新而被替换的淘汰数据存储在该再生数据卷的卷空间内,则,将该淘汰数据作为快照数据转存至该有效块在旁支链式级联末端的旁支级联节点所对应的再生快照卷的卷空间内的映射区域;
若级联末端的旁支级联节点的块引用位图中对应该有效块的位表示该有效块的快照数据未存储在该旁支级联节点对应的再生快照卷的卷空间内,并且再生数据卷的该有效块由于数据更新而被替换的淘汰数据未存储在该再生数据卷的卷空间内,则,将从该淘汰数据所在的卷空间复制得到的快照数据存入至该有效块在旁支链式级联末端的旁支级联节点所对应的再生快照卷的卷空间内的映射区域;
并且,将该旁支级联节点的块引用位图中对应该有效块的位更新为表示:再生数据卷的该有效块的快照数据存储在该旁支级联节点所对应的再生快照卷的卷空间内。
5.根据权利要求4所述的数据存储方法,其特征在于,该数据存储方法进一步包括:
(vii)、响应于为再生数据卷生成的任意再生快照卷的快照删除,将快照元数据拓扑中与被删除的该再生快照卷对应的旁支级联节点删除;
其中,若被删除的该再生快照卷对应的旁支级联节点存在父级旁支级联节点,任意有效块在被删除的该再生快照卷的卷空间内存储有快照数据,并且,该父级旁支级联节点对应的再生快照卷的卷空间内未存储该有效块的快照数据,则:将该有效块在被删除的该再生快照卷的卷空间内的快照数据,转存至该有效块在父级旁支级联节点所对应的再生快照卷的卷空间内的映射区域;并且,将父级再生级联节点的块引用位图中对应该有效块的位更新为表示:该有效块在被删除的再生快照卷的卷空间内的快照数据,存储在该父级旁支级联节点所对应的再生快照卷的卷空间内;
其中,再生数据卷被配置为:在该再生数据卷的所有再生快照卷均被删除后才被允许删除。
6.一种基于快照的数据查询方法,其特征在于,包括:
(i)、响应于对目标数据卷的任意目标快照卷发起的快照查询,发起基于快照元数据拓扑的节点信息搜索,其中:该快照元数据拓扑的拓扑节点包括主干根节点和主干级联节点,主干根节点与目标数据卷的卷空间存在以块为粒度的映射关系,每个主干级联节点与对应的目标快照卷的卷空间存在以块为粒度的映射关系,并且,各主干级联节点按照对应的目标快照卷的生成时间顺序形成从主干根节点开始的链式级联;
为被查询的目标快照卷发起的节点信息搜索的搜索路径被配置为:针对每个有效块,以被查询的该目标快照卷所对应的主干级联节点为搜索起始位置向级联末端逐节点搜索,直至搜索到表示该有效块存储在对应卷空间内的主干级联节点停止,若到达级联末端的主干级联节点仍未搜索到表示该有效块存储在对应卷空间内的节点信息,则,回跳至主干根节点;
(ii)、基于节点信息搜索的搜索结果,确定被查询的该目标快照卷的所有有效块的快照数据所在的卷空间,其中:每个主干级联节点对应的目标快照卷,以目标数据卷的所有有效块在被执行用于生成该目标快照卷的一次数据快照时的当前数据为快照数据;
快照元数据拓扑中的每个拓扑节点的节点信息包括块分配位图和块引用位图,块分配位图中的每一位对应目标数据卷中的一个块,块引用位图中的每一位对应目标数据卷中的一个块,每个拓扑节点的块分配位图中对应每个块的位用于表示目标数据卷中的该块是否为有效块,并且,每个拓扑节点的块引用位图中对应每个有效块的位用于表示该有效块是否存储在该拓扑节点对应的目标快照卷的卷空间内;
主干根节点的块引用位图中对应每个有效块的位表示:目标数据卷的该有效块的当前数据存储在该目标数据卷的卷空间内;
每个主干级联节点的块引用位图中对应每个有效块的位表示:目标数据卷的该有效块的快照数据是否存储在该主干级联节点对应的目标快照卷的卷空间内;
(iii)、通过被查询的该目标快照卷以块为粒度对所确定的卷空间的引用,从所有有效块各自在所确定的卷空间内的映射区域,获取该目标快照卷的所有有效块的快照数据。
7.根据权利要求6所述的数据查询方法,其特征在于,
快照元数据拓扑的拓扑节点进一步包括:与再生数据卷的卷空间存在以块为粒度的映射关系的旁支根节点,该再生数据卷是响应于基于任意目标快照卷的快照回滚而生成的,并且,该旁支根节点以该次快照回滚所基于的目标快照卷的对应主干级联节点为父级节点;
该数据查询方法进一步包括:
(iv)、响应于对再生数据卷的数据查询,发起基于快照元数据拓扑的节点信息搜索;
为再生数据卷发起的节点信息搜索被配置为,针对每个有效块:
若旁支根节点的块引用位图中对应该有效块的位表示该有效块的再生数据存储在对应的再生数据卷的卷空间内,则,停止针对该有效块的节点信息搜索;
若旁支根节点的块引用位图中对应该有效块的位表示该有效块的再生数据未存储在对应的再生数据卷的卷空间内,则发起跃层查询:其中,跃层查询中的每一次跃层均是通过从旁支根节点到其父级节点之间的跳转而发起的;跃层查询中的每层级联链路中,均以下层级联链路中的旁支根节点的父级节点为搜索起始位置向级联末端搜索、并且允许在到达级联末端仍未搜索到表示该有效块存储在对应卷空间内的节点信息时回跳至本层级联链路的根节点;并且,跃层查询的截止层链路为主干根节点所在的主干级联链路,该主干级联链路中的搜索截止位置为主干根节点;
(v)、基于节点信息搜索的搜索结果,确定被查询的该再生数据卷的所有有效块的再生数据所在的卷空间;
该再生数据卷在初始时的再生数据为:生成该再生数据卷所基于的目标快照卷的所有有效块的快照数据;
该旁支根节点在创建初始时的块引用位图中对应每个有效块的位表示:该再生数据卷的该有效块的再生数据未存储在该再生数据卷的卷空间内;
(vi)、通过被查询的该再生数据卷以块为粒度对所确定的卷空间的引用,从所有有效块各自在所确定的卷空间内的映射区域,获取该再生数据卷的所有有效块的再生数据。
8.根据权利要求7所述的数据查询方法,其特征在于,
快照元数据拓扑的拓扑节点进一步包括与对应的再生快照卷的卷空间存在以块为粒度的映射关系的旁支级联节点,旁支级联节点按照对应的再生快照卷的生成时间顺序形成从旁支根节点开始的链式级联;
该数据查询方法进一步包括:
(vii)、响应于对再生数据卷的任意再生快照卷发起的快照查询,发起基于快照元数据拓扑的节点信息搜索,其中:为被查询的再生快照卷发起的节点信息搜索的搜索路径被配置为,针对每个有效块:
以被查询的该再生快照卷所对应的旁支级联节点为搜索起始位置,在该旁支级联节点所在的旁支级联链路中向级联末端逐节点搜索,直至搜索到表示该有效块存储在对应卷空间内的旁支级联节点停止;
若到达级联末端的旁支级联节点仍未搜索到表示该有效块存储在对应卷空间内的节点信息,则,发起跃层查询:其中,跃层查询中的每一次跃层均是通过从旁支根节点到其父级节点之间的跳转而发起的;跃层查询中的每层级联链路中,均以下层级联链路中的旁支根节点的父级节点为搜索起始位置向级联末端搜索、并且允许在到达级联末端仍未搜索到表示该有效块存储在对应卷空间内的节点信息时回跳至本层级联链路的根节点;并且,跃层查询的截止层链路为主干根节点所在的主干级联链路,该主干级联链路中的搜索截止位置为主干根节点;
(viii)、基于节点信息搜索的搜索结果,确定被查询的该再生快照卷的所有有效块的快照数据所在的卷空间,其中:每个旁支级联节点对应的再生快照卷,以再生数据卷的所有有效块在被执行用于生成该再生快照卷的一次数据快照时的当前数据为快照数据;
旁支根节点的块引用位图中对应每个有效块的位表示:再生数据卷的该有效块的再生数据是否存储在该再生数据卷的卷空间内;
每个旁支级联节点的块引用位图中对应该有效块的位表示:再生数据卷的该有效块的快照数据是否存储在该旁支级联节点对应的再生快照卷的卷空间内;
(ix)、通过被查询的该再生快照卷以块为粒度对所确定的卷空间的引用,从所有有效块各自在所确定的卷空间内的映射区域,获取该再生快照卷的所有有效块的快照数据。
9.一种基于快照的数据存储装置,其特征在于,包括:
数据快照模块,用于响应于对目标数据卷的数据快照,配置该目标数据卷的快照元数据拓扑,以使得该快照元数据拓扑具有的拓扑节点包括:与目标数据卷的卷空间存在以块为粒度的映射关系的主干根节点,以及,与该数据快照产生的目标快照卷的卷空间存在以块为粒度的映射关系的主干级联节点,该主干级联节点响应于对应的目标快照卷的产生,而被对应创建在从该主干根节点开始的链式级联末端;其中:快照元数据拓扑中的每个拓扑节点的节点信息包括块分配位图和块引用位图,块分配位图中的每一位对应目标数据卷中的一个块,块引用位图中的每一位对应目标数据卷中的一个块,每个拓扑节点的块分配位图中对应每个块的位用于表示目标数据卷中的该块是否为有效块,并且,每个拓扑节点的块引用位图中对应每个有效块的位用于表示该有效块是否存储在该拓扑节点对应的目标快照卷的卷空间内;
主干根节点的块引用位图中对应每个有效块的位表示该有效块的当前数据存储在该目标数据卷的卷空间内;创建在链式级联末端的该主干级联节点所对应的目标快照卷,以目标数据卷的所有有效块在被执行该数据快照时的当前数据为快照数据;并且,创建在链式级联末端的该主干级联节点在创建初始时的块引用位图中对应每个有效块的位表示:该有效块的快照数据未存储在该主干级联节点对应的目标快照卷的卷空间内;
数据更新模块,用于响应于目标数据卷中的任意有效块在目标快照卷生成之后的数据更新,若级联末端的主干级联节点的块引用位图中对应该有效块的位表示该有效块的快照数据未存储在该主干级联节点对应的目标快照卷的卷空间内,则:将目标数据卷的卷空间中的该有效块被数据更新替换的淘汰数据作为快照数据,转存至该有效块在链式级联末端的主干级联节点所对应的目标快照卷的卷空间内的映射区域;
并且,
将该主干级联节点的块引用位图中对应该有效块的位更新为表示:目标数据卷的该有效块的快照数据存储在该主干级联节点所对应的目标快照卷的卷空间内。
10.一种基于快照的数据查询装置,其特征在于,包括:
第一信息搜索模块,用于响应于对目标数据卷的任意目标快照卷发起的快照查询,发起基于快照元数据拓扑的节点信息搜索,其中:该快照元数据拓扑的拓扑节点包括主干根节点和主干级联节点,主干根节点与目标数据卷的卷空间存在以块为粒度的映射关系,每个主干级联节点与对应的目标快照卷的卷空间存在以块为粒度的映射关系,并且,各主干级联节点按照对应的目标快照卷的生成时间顺序形成从主干根节点开始的链式级联;
为被查询的目标快照卷发起的节点信息搜索的搜索路径被配置为:针对每个有效块,以被查询的该目标快照卷所对应的主干级联节点为搜索起始位置向级联末端逐节点搜索,直至搜索到表示该有效块存储在对应卷空间内的主干级联节点停止,若到达级联末端的主干级联节点仍未搜索到表示该有效块存储在对应卷空间内的节点信息,则,回跳至主干根节点;
第一空间确定模块,用于基于节点信息搜索的搜索结果,确定被查询的该目标快照卷的所有有效块的快照数据所在的卷空间,其中:每个主干级联节点对应的目标快照卷,以目标数据卷的所有有效块在被执行用于生成该目标快照卷的一次数据快照时的当前数据为快照数据;
快照元数据拓扑中的每个拓扑节点的节点信息包括块分配位图和块引用位图,块分配位图中的每一位对应目标数据卷中的一个块,块引用位图中的每一位对应目标数据卷中的一个块,每个拓扑节点的块分配位图中对应每个块的位用于表示目标数据卷中的该块是否为有效块,并且,每个拓扑节点的块引用位图中对应每个有效块的位用于表示该有效块是否存储在该拓扑节点对应的目标快照卷的卷空间内;
主干根节点的块引用位图中对应每个有效块的位表示:该有效块的当前数据均存储在该目标数据卷的卷空间内;
每个主干级联节点的块引用位图中对应每个有效块的位表示:该有效块的快照数据是否存储在该主干级联节点对应的目标快照卷的卷空间内;
第一空间引用模块,用于通过被查询的该目标快照卷以块为粒度对所确定的卷空间的引用,从所有有效块各自在所确定的卷空间内的映射区域,获取该目标快照卷的所有有效块的快照数据。
11.一种电子设备,其特征在于,包括处理器,该处理器用于执行如权利要求1至5中任一项所述的数据存储方法、以及如权利要求6至8中任一项所述的数据查询方法中的至少一种方法。
12.一种数据存储系统,其特征在于,包括服务器和磁盘阵列,其中,该服务器被配置为用于执行如权利要求1至5中任一项所述的数据存储方法、以及如权利要求6至8中任一项所述的数据查询方法中的至少一种方法,并且,磁盘阵列被配置为提供卷空间。
13.一种非瞬时计算机可读存储介质,其特征在于,该非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得该处理器执行如权利要求1至5中任一项所述的数据存储方法、以及如权利要求6至8中任一项所述的数据查询方法中的至少一种方法。