【技术实现步骤摘要】
数据快照的数据结构、相关数据处理方法及装置和系统
[0001]本专利技术涉及数据快照
,特别涉及一种数据快照的数据结构、相关数据处理方法及装置和系统。
技术介绍
[0002]快照(snapshot)是保留文件系统在某一时间点的一致数据的镜像。在不同时间点为一个文件系统创建的不同的快照版本,可以形成一条快照版本链。快照数据不会被修改,可保证备份数据过程中的数据一致,而当存储设备发生应用故障或者文件损坏时可以进行快速的数据恢复,将数据回滚恢复某个可用的时间点的状态,所以快照技术广泛用于数据备份和异常故障后恢复。
[0003]现有技术中,快照通常采用写时重定向(Redirect On Write,ROW)和写时拷贝(Copy On Write,COW)两种方式实现。参照图1所示,采用COW方式写数据时,为只读快照版本分配新的数据资源(本专利技术实施例中称为新分配数据块)把只读快照版本的数据块中的快照数据拷贝到当前可写快照版本的新分配数据块中,再修改只读快照版本的元数据,最后用新写入数据修改已拷贝到新分配数据块中的快照数据。由此可以看出采用COW方式,需要包含两次写入数据,读写数据量大,严重影响了系统的输入/输出(Input/Output,IO)访问性能。参照图2所示,采用ROW方式写数据时,为当前可写快照版本分配一个新分配数据块,并把新写入数据拷贝到新分配数据块中,从而保留只读快照版本的数据块中的快照数据不被修改。数据写入时,只包含一次数据修改,读写数据量小,对系统IO访问性能影响小,因此现有技术中通常采用R ...
【技术保护点】
【技术特征摘要】
1.一种数据快照的数据结构,包括主数据和元数据;所述元数据中包括主数据的数据块标识和对应的有效位图;所述有效位图中每个比特位对应数据块中的一个子数据块,每个比特位中包括对应子数据块的数据有效性标识。2.如权利要求1所述的数据结构,其中,所述数据快照的主数据中各数据块的子数据块的数量和粒度大小相等。3.如权利要求1或2所述的数据结构,其中,所述有效位图中标识有效数据和无效数据的比特位的取值相反。4.一种快照创建方法,包括:固化当前可写快照版本的主数据的数据块和元数据,作为最新的只读快照版本;复制最新的只读快照版本的元数据作为新的可写快照版本的元数据,并修改块引用计数表中主数据的数据块的引用计数;所述元数据中包括主数据的数据块标识和对应的有效位图,所述有效位图中每个比特位对应数据块中的一个子数据块,每个比特位中包括对应子数据块的数据有效性标识。5.一种快照数据写入方法,包括:访问当前可写快照版本的元数据,获取待写入数据的数据块标识和有效位图;所述有效位图中每个比特位对应数据块中的一个子数据块,每个比特位中包括对应子数据块的数据有效性标识;根据所述数据块标识和该数据块的引用计数,判断该数据块是否为当前可写快照版本独占数据块;若是,将待写入数据写入该数据块的相应子数据块,并修改有效位图中对应子数据块的比特位的有效性标识;若否,分配新的数据块,将所述待写入数据写入新分配数据块的相应子数据块,并修改有效位图中对应子数据块的比特位的有效性标识。6.如权利要求5所述的方法,其中,根据所述数据块标识和该数据块的引用计数,判断该数据块是否为当前可写快照版本独占数据块,包括:根据所述数据块标识,获取对应数据块在块引用计数表中的引用计数的值,判断所述引用计数的值是否大于1;若否,确定该数据块为当前可写快照版本独占数据块。7.一种快照数据读取方法,包括:从当前访问的快照版本的元数据中,获取待读取数据的数据块标识和有效位图;所述有效位图中每个比特位对应数据块中的一个子数据块,每个比特位中包括对应子数据块的数据有效性标识;根据待读取数据所在子数据块,获取有效位图中对应比特位中的数据有效性标识;若为有效标识,从所述数据块标识指示的数据块中对应的子数据块读取数据;若为无效数据,根据快照版本链,按照由新到旧的顺序依次回溯在先的快照版本的元数据,直到查找到所述待读取数据对应的有效位图的比特位中为有效标识的快照版本,从该快照版本中获取到的数据块标识指示的数据块中对应的子数据块读取数据。8.一种快照删除方法,包括:
从待删除快照版本的元数据中获取主数据的数据块标识和对应的有效位图;判断待删除快照版本与前一个快照版本和后一个快照版本的元数据中主数据的数据块标识是否均不同;若是,根据待删除快照版本与后一个快照版本的对应数据块的有效位图中比特位的有效性标识,将待删除快照版本中数据块的有效数据合并到后一个快照版本的对应数据块中,并修改块引用计数表中该数据块的引用计数;若否,则只修改块引用计数表中该数据块的引用计数。9.如权利要求8所述的方法,其中,所述判断待删除快照版本与前一个快照版本和后一个快照版本的元数据中主数据的数据块标识是否均不同,包括:根据快照版本链,判断待删除快照版本是否具有在先的快照版本,若是,则将待删除快照版本的元数据中主数据的数据块标识分别与前一个快照版本和后一个快照版本的元数据中主数据的数据块标识进行比较,确定是否均不相同;若否,则将待删除快照版本的元数据中主数据的数据块标识与后一个快照版本的元数据中主数据的数据块标识进行比较,确定是否不相同。10.如权利要求8所述的方法,其中,根据待删除快照版本与后一个快照版本的对应数据块的有效位图中比特位的有效性标识,将待删除快照版本中数据块的有效数据合并到后一个快照版本的对应数据块中,包括:根据待删除快照版本与后一个快照版本的对应数据块的有效位图中比特位的有效性标识,确定待删除快照版本的数据块中与后一个快照版本共享数据的子数据块的数量是否大于等于后一个快照版本的对应数据块中子数据块的数据为有效数据的子数据块的数量:若是,将待删除快照版本的数据块中与后一个快照版本共享数据的子数据块的有效数据复制到后一个快照版本的对应数据块的对应子数据块中,并修改后一个快照版本的元数据的有效位图中对应子数据块的比特位的有效性标识;若否,将后一个快照版本的对应数据块中子数据块的有效数据复制到待删除快照的数据块的对应子数据块,将后一个快照版本中的对应的数据块替换为待删除快照的数据块,并将快照版本链中待删除快照的在后的快照版本的元数据中...
【专利技术属性】
技术研发人员:张军伟,刘振军,陈森,王利虎,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。