【技术实现步骤摘要】
基于快照的数据存储方法和数据查询方法
[0001]本申请涉及数据存储技术,特别涉及一种基于快照的数据存储方法、一种基于快照的数据查询方法、一种基于快照的数据存储装置、一种基于快照的数据查询装置、一种电子设备、一种数据存储系统以及一种存储介质。
技术介绍
[0002]快照能够实现数据在任意时间点的备份,并且,利用快照备份的数据可以通过对快照卷的访问而被查询、甚至恢复。
[0003]其中一种常用的快照实现方式为COW(Copy On Write,写时复制),即,数据卷的每个数据块由于新数据的写入而被替换的淘汰数据,可以被移动到快照卷的卷空间、并作为快照数据被存储,并且,快照卷的元数据中会记录该快照数据在该快照卷的卷空间中的存储位置的地址信息。与此同时,数据卷中未被更新的原有数据也将作为快照数据,并且,快照卷的元数据中还需要记录其他快照数据在数据卷的卷空间中的存储位置。
[0004]而且,随着数据卷的不断更新,需要连续多次的快照来备份数据卷中的最新数据,相应地,每次数据更新后淘汰的数据会不断被作为快照数据存入到快照 ...
【技术保护点】
【技术特征摘要】
1.一种基于快照的数据存储方法,其特征在于,包括:(i)、响应于对目标数据卷的数据快照,配置该目标数据卷的快照元数据拓扑,以使得该快照元数据拓扑具有的拓扑节点包括:与目标数据卷的卷空间存在以块为粒度的映射关系的主干根节点,以及,与该数据快照产生的目标快照卷的卷空间存在以块为粒度的映射关系的主干级联节点,该主干级联节点响应于对应的目标快照卷的产生,而被对应创建在从该主干根节点开始的链式级联末端;其中,该主干根节点的节点信息表示目标数据卷的所有有效块的当前数据均存储在该目标数据卷的卷空间内;创建在链式级联末端的该主干级联节点所对应的目标快照卷,以目标数据卷的所有有效块在被执行该数据快照时的当前数据为快照数据;并且,创建在链式级联末端的该主干级联节点在创建初始时的节点信息表示:目标数据卷的所有有效块的快照数据均未存储在该主干级联节点对应的目标快照卷的卷空间内;(ii)、响应于目标数据卷中的任意有效块在目标快照卷生成之后的数据更新,若级联末端的主干级联节点的节点信息表示该有效块的快照数据未存储在该主干级联节点对应的目标快照卷的卷空间内,则:将目标数据卷的卷空间中的该有效块被数据更新替换的淘汰数据作为快照数据,转存至该有效块在链式级联末端的主干级联节点所对应的目标快照卷的卷空间内的映射区域;并且,将该主干级联节点的节点信息更新为表示:目标数据卷的该有效块的快照数据存储在该主干级联节点所对应的目标快照卷的卷空间内。2.根据权利要求1所述的数据存储方法,其特征在于,快照元数据拓扑中的每个拓扑节点的节点信息包括块分配位图和块引用位图,其中:块分配位图中的每一位对应目标数据卷中的一个块,并且,每个拓扑节点的块分配位图中对应每个块的位用于表示:目标数据卷中的该块是否为有效块;块引用位图中的每一位对应目标数据卷中的一个块,并且:主干根节点的块引用位图中对应每个有效块的位用于固化地表示:目标数据卷的该有效块的当前数据存储在该目标数据卷的卷空间内;主干级联节点的块引用位图中对应每个有效块的位用于可变更地表示:目标数据卷的该有效块的快照数据是否存储在与该主干级联节点对应的目标快照卷的卷空间内。3.根据权利要求1所述的数据存储方法,其特征在于,该数据存储方法进一步包括:(iii)、响应于为目标数据卷生成的任意目标快照卷的快照删除,将快照元数据拓扑中与被删除的该目标快照卷对应的主干级联节点删除;其中,若被删除的该目标快照卷对应的主干级联节点存在父级主干级联节点,任意有效块在被删除的该目标快照卷的卷空间内存储有快照数据,并且,该父级主干级联节点对应的目标快照卷的卷空间内未存储该有效块的快照数据,则:将该有效块在被删除的该目标快照卷的卷空间内的快照数据,转存至该有效块在父级主干级联节点所对应的目标快照卷的卷空间内的映射区域;并且,将父级主干级联节点的节点信息更新为表示:该有效块在被删除的目标快照卷的卷空间内的快照数据,存储在该父级主干级联节点所对应的目标快照卷的卷空间内。
4.根据权利要求1所述的数据存储方法,其特征在于,该数据存储方法进一步包括:(iv)、响应于基于任意目标快照卷发起的快照回滚,将该快照元数据拓扑的拓扑节点配置为进一步包括:与响应于该次快照回滚生成的再生数据卷的卷空间存在以块为粒度的映射关系的旁支根节点,其中:该旁支根节点以该快照回滚所基于的目标快照卷的对应主干级联节点为父级节点;该再生数据卷在创建初始时的再生数据包括:该快照回滚所基于的目标快照卷的所有有效块的快照数据;并且,该旁支根节点在创建初始时的节点信息表示:该再生数据卷的所有有效块的再生数据均未存储在该再生数据卷的卷空间内。5.根据权利要求4所述的数据存储方法,其特征在于,该数据存储方法进一步包括:(v)、响应于在任意时刻对再生数据卷的数据快照,将快照元数据拓扑的拓扑节点配置为进一步包括:与再生快照卷对应创建在从旁支根节点开始的链式级联末端的旁支级联节点,并且,该旁支级联节点与对应的再生快照卷的卷空间存在以块为粒度的映射关系;其中,创建在链式级联末端的该旁支级联节点所对应的再生快照卷,以再生数据卷的所有有效块在被执行该数据快照时的再生数据为快照数据;并且,创建在链式级联末端的该旁支级联节点在创建初始时的节点信息表示:再生数据卷的所有有效块的快照数据均未存储在该旁支级联节点对应的再生快照卷的卷空间内;(vi)、响应于再生数据卷中的任意有效块在再生快照卷生成之后的数据更新:将再生数据卷的该有效块的更新后的再生数据存入至该再生数据卷的卷空间,并且,将该再生数据卷对应的旁支根节点的节点信息更新为表示:再生数据卷的该有效块的再生数据存储在该再生数据卷的卷空间内;若级联末端的旁支级联节点的节点信息表示该有效块的快照数据未存储在该旁支级联节点对应的再生快照卷的卷空间内,并且再生数据卷的该有效块由于数据更新而被替换的淘汰数据存储在该再生数据卷的卷空间内,则,将该淘汰数据作为快照数据转存至该有效块在旁支链式级联末端的旁支级联节点所对应的再生快照卷的卷空间内的映射区域;若级联末端的旁支级联节点的节点信息表示该有效块的快照数据未存储在该旁支级联节点对应的再生快照卷的卷空间内,并且再生数据卷的该有效块由于数据更新而被替换的淘汰数据未存储在该再生数据卷的卷空间内,则,将从该淘汰数据所在的卷空间复制得到的快照数据存入至该有效块在旁支链式级联末端的旁支级联节点所对应的再生快照卷的卷空间内的映射区域;并且,将该旁支级联节点的节点信息更新为表示:再生数据卷的该有效块的快照数据存储在该旁支级联节点所对应的再生快照卷的卷空间内。6.根据权利要求5所述的数据存储方法,其特征在于,块分配位图中的每一位对应目标数据卷中的一个块,并且,每个拓扑节点的块分配位图中对应每个块的位用于表示:目标数据卷中的该块是否为有效块;块引用位图中的每一位对应目标数据卷中的一个块,并且:主干根节点的块引用位图中对应每个有效块的位用于固化地表示:目标数据卷的该有
效块的当前数据存储在该目标数据卷的卷空间内;主干级联节点的块引用位图中对应每个有效块的位用于可变更地表示:目标数据卷的该有效块的快照数据是否存储在与该主干级联节点对应的目标快照卷的卷空间内;旁支根节点的块引用位图中对应每个有效块的位用于可变更地表示:再生数据卷的该有效块的当前数据是否存储在该再生数据卷的卷空间内;旁支级联节点的块引用位图中对应每个有效块的位用于可变更地表示:再生数据卷的该有效块的快照数据是否存储在与该旁支级联节点对应的再生快照卷的卷空间内。7.根据权利要求5所述的数据存储方法,其特征在于,该数据存储方法进一步包括:(vii)、响应于为再生数据卷生成的任意再生快照卷的快照删除,将快照元数据拓扑中与被删除的该再生快照卷对应的旁支级联节点删除;其中,若被删除的该再生快照卷对应的旁支级联节点存在父级旁支级联节点,任意有效块在被删除的该再生快照卷的卷空间内存储有快照数据,并且,该父级旁支级联节点对应的再生快照卷的卷空间内未存储该有效块的快照数据,则:将该有效块在被删除的该再生快照卷的卷空间内的快照数据,转存至该有效块在父级旁支级联节点所对应的再生快照卷的卷空间内的映射区域;并且,将父级再生级联节点的节点信息更新为表示:该有效块在被删除的再生快照卷的卷空间内的快照数据,存储在该父级旁支级联节点所对应的再生快照卷的卷空间内;其中,再生数据卷被配置为:在该再生数据卷的所有再生快照卷均被删除后才被允许删除。8.一种基于快照的数据查询方法,其特征在于,包括:(i)、响应于对目标数据卷的任意目标快照卷发起的快照查询,发起基于快照元数据拓扑的节点信息搜索,其中:该快照元数据拓扑的拓扑节点包括主干根节点和主干级联节点,主干根节点与目标数据卷的卷空间存在以块为粒度的映射关系,每个主干级联节点与对应的目标快照卷的卷空间存在以块为粒度的映射关系,并且,各主干级联节点按照对应的目标快照卷的生成时间顺序形成从主干根节点开始的链式级联;为被查询的目标快照卷发起的节点信息搜索的搜索路径被配置为:针对每个有效块,以被查询的该目标快照卷所对应的主干级联节点为搜索起始位置向级联末端逐节点搜索,直至搜索到表示该有效块存储在对应卷空间内的主干级联节点停止,若到达级联末端的主干级联节点仍未搜索到表示该有效块存储在对应卷空间内的节点信息,则,回跳至主干根节点;(ii)、基于节点信息搜索的搜索结果,确定被查询的该目标快照卷的所有有效...
【专利技术属性】
技术研发人员:周波,陈伟,
申请(专利权)人:杭州海康威视系统技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。