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