一种磁盘快照的管理方法、装置以及可读存储介质制造方法及图纸

技术编号:21184071 阅读:30 留言:0更新日期:2019-05-22 14:53
本申请公开了一种磁盘快照的管理方法,包括:获取磁盘的快照链包含的快照以及所述快照的第一状态标识;对所述快照引用的数据块进行统计;在所述统计后获取所述快照链包含的快照的第二状态标识;对所述快照的第一状态标识和所述第二状态标识进行比对;若所述快照链中存在状态标识发生变化的快照,则针对状态标识发生变化的快照进行统计并更新统计结果,提高统计结果的正确性,同时,数据块的统计过程与实际业务产生的快照新建和快照删除可同时进行,统计过程与实际业务互不冲突,可用性更高。

A Disk Snapshot Management Method, Device and Readable Storage Media

This application discloses a management method for disk snapshots, including: obtaining snapshots contained in the snapshot chain of the disk and the first state identification of the snapshots; statistic the data blocks referenced by the snapshots; obtain the second state identification of the snapshots contained in the snapshot chain after the statistics; and compare the first state identification and the second state identification of the snapshots; If there are snapshots of status change in the snapshot chain, the statistical results will be updated to improve the accuracy of the statistical results. At the same time, the statistical process of data blocks and the snapshot creation and snapshot deletion generated by the actual business can be carried out simultaneously. The statistical process does not conflict with the actual business and has higher availability.

【技术实现步骤摘要】
一种磁盘快照的管理方法、装置以及可读存储介质
本申请涉及磁盘快照
,具体涉及一种磁盘快照的管理方法。本申请同时涉及一种磁盘快照的管理装置,以及一种可读存储介质。
技术介绍
磁盘快照主要用于备份和容灾,用户在不同时间点针对磁盘创建若干快照组成一条快照链,如需恢复磁盘数据,可将磁盘上的数据恢复为快照链上任一个快照的内容。实际应用场景中,磁盘往往会定时创建快照(比如每天一次)以形成快照链,从而记录磁盘在多个历史时间点的信息。一般而言,快照链中各快照的数据内容差别往往很小,为节省磁盘快照的存储空间,在实现快照功能时使用去重存储,将磁盘按偏移分成多个区间(比如2MB一个区间),区间数据作为快照的数据块(又称分片或切片)进行去重存放,即创建快照时检查磁盘的每一个区间:如果区间内容与历史快照对应数据块相比有改动,则新增快照使用新数据创建新数据块;否则新增快照将继续使用历史快照的数据块。去重存放节省了大量存储空间,但需要更新切片存储空间的信息,当快照被删除时,可能会导致一些数据块不再被快照引用,这些不再被引用的数据块称为无用空间(垃圾空间),需要定期扫描和清理,具体分为数据块统计和数据块删除,数据块统计是指统计没有被快照引用的数据块,数据块删除是指将统计获得的没有被快照引用的数据块删除。目前针对磁盘快照的管理主要包括如下步骤:1)获取磁盘的快照链;2)创建一个可用数据块的空集合和一个可删除数据块的空集合;3)将快照链中的快照分为可用和已删除两部分;4)遍历可用部分的每一个快照,读取快照的元数据获得其使用的数据块列表,将其数据块列表加入可用数据块集合;5)遍历已删除部分的每一个快照,读取快照的元数据获得其使用的数据块列表,在可用数据块集合中查找这个数据块;如果存在,表明该数据块还在被使用;如果不存在,则表明该数据块当前没有被快照引用,应当删除,将其加入到可删除数据块集合;6)遍历过程中禁止创建新增快照和删除已有快照,遍历完成后重新允许创建新增快照和删除已有快照;7)通过存储系统的删除命令将可删除数据块集合中的数据块删除掉。如上所述,为了保证统计结果的正确性,上述实现方式在遍历过程中禁止创建新增快照和删除已有快照,实际业务中遍历统计阶段的耗时为1至30分钟不等,这段时间内禁止创建新增快照和删除已有快照,影响业务可用性。
技术实现思路
本申请提供一种磁盘快照的管理方法,以解决现有技术存在的影响业务可用性的问题。本申请同时涉及一种磁盘快照的管理装置,以及一种可读存储介质。本申请提供一种磁盘快照的管理方法,包括:获取磁盘的快照链包含的快照以及所述快照的第一状态标识;对所述快照引用的数据块进行统计;在所述统计后获取所述快照链包含的快照的第二状态标识;对所述快照的第一状态标识和所述第二状态标识进行比对;若所述快照链中存在状态标识发生变化的快照,则针对状态标识发生变化的快照进行统计并更新统计结果。可选的,所述快照的状态标识包括:可用状态和不可用状态。可选的,所述快照链包含的快照的状态标识发生变化,包括:所述统计过程中所述快照链包含的快照被删除,被删除快照的状态标识从可用状态变为不可用状态。可选的,所述快照链包含的快照的状态标识发生变化,包括:所述统计过程中所述快照链中有新增快照建立,新增快照的状态标识被设为可用状态。可选的,所述对所述快照引用的数据块进行统计,采用如下方式实现:创建基准数据块集;所述基准数据块集的元素用于记录其对应数据块的名称以及其对应数据块被快照引用的引用计数;读取所述快照引用的数据块的数据块列表;针对所述数据块列表中的数据块,执行如下操作:判断所述基准数据块集中是否存在记录所述数据块名称的元素,若存在,基于所述数据块所属快照的状态标识更新所述基准数据块集中记录的所述数据块的引用计数;若不存在,在所述基准数据块集中建立所述数据块对应元素,并基于所述数据块所属快照的状态标识初始化所述数据块的引用计数。可选的,若所述快照链在所述统计过程中有新增快照建立,相应的,所述针对状态标识发生变化的快照进行统计并更新统计结果,采用如下方式实现:读取所述新增快照引用的数据块的数据块列表;针对所述数据块列表中的数据块,执行如下数据块判断操作:判断所述基准数据块集中是否存在记录所述数据块名称的元素,若存在,基于所述数据块所属快照的状态标识更新所述基准数据块集中记录的所述数据块的引用计数;若不存在,在所述基准数据块集中建立所述数据块对应元素,并根据所述数据块所属快照的状态标识初始化所述数据块的引用计数;获取所述快照链包含的快照以及所述快照的状态标识;将获取到的所述快照以及所述快照的状态标识与前一次统计后获取到的所述快照以及所述快照的状态标识进行比对;若比对结果为所述快照链包含的快照和/或所述快照的状态标识在统计前后发生变化,则针对发生变化的快照读取所述快照引用的数据块的数据块列表,并执行所述数据块判断操作。可选的,所述基于所述数据块所属快照的状态标识更新所述基准数据块集中记录的所述数据块的引用计数,包括:判断所述数据块所属快照的状态标识是否为所述可用状态,若是,将所述基准数据块集中记录的所述数据块的引用计数加1;和/或,判断所述数据块所属快照的状态标识是否为所述不可用状态,若是,则保持所述基准数据块集中记录的所述数据块的引用计数不变。可选的,所述基于所述数据块所属快照的状态标识初始化所述数据块的引用计数,包括:判断所述数据块所属快照的状态标识是否为所述可用状态,若是,将所述基准数据块集中记录的所述数据块的引用计数初始化为1;和/或,判断所述数据块所属快照的状态标识为所述不可用状态,若是,则将所述基准数据块集中记录的所述数据块的引用计数初始化为0。可选的,若所述快照链包含的快照在所述统计过程中被删除,相应的,所述针对状态标识发生变化的快照进行统计并更新统计结果,采用如下方式实现:读取所述被删除快照引用的数据块的数据块列表;针对所述数据块列表中的数据块,执行如下计数更新操作:在所述基准数据块集中查找记录所述数据块名称的元素;将所述元素记录的所述数据块的引用计数减1;获取所述快照链包含的快照以及所述快照的状态标识;将获取到的所述快照以及所述快照的状态标识与前一次统计后获取到的所述快照以及所述快照的状态标识进行比对;若比对结果为所述快照链包含的快照和/或所述快照的状态标识在统计前后发生变化,则针对发生变化的快照执行所述计数更新操作。可选的,若所述快照链在所述统计过程中有新增快照建立且所述快照链包含的快照在所述统计过程中被删除,相应的,所述针对状态标识发生变化的快照进行统计并更新统计结果,采用如下方式实现:读取所述新增快照引用的数据块的数据块列表;针对所述数据块列表中的数据块,执行如下数据块判断操作:判断所述基准数据块集中是否存在记录所述数据块名称的元素,若存在,基于所述数据块所属快照的状态标识更新所述基准数据块集中记录的所述数据块的引用计数;若不存在,在所述基准数据块集中建立所述数据块对应元素,并根据所述数据块所属快照的状态标识初始化所述数据块的引用计数;读取所述被删除快照引用的数据块的数据块列表;针对所述数据块列表中的数据块,执行如下计数更新操作:在所述基准数据块集中查找记录所述数据块名称的元素;将所述元素记录的所述数据块的引用本文档来自技高网
...

【技术保护点】
1.一种磁盘快照的管理方法,其特征在于,包括:获取磁盘的快照链包含的快照以及所述快照的第一状态标识;对所述快照引用的数据块进行统计;在所述统计后获取所述快照链包含的快照的第二状态标识;对所述快照的第一状态标识和所述第二状态标识进行比对;若所述快照链中存在状态标识发生变化的快照,则针对状态标识发生变化的快照进行统计并更新统计结果。

【技术特征摘要】
1.一种磁盘快照的管理方法,其特征在于,包括:获取磁盘的快照链包含的快照以及所述快照的第一状态标识;对所述快照引用的数据块进行统计;在所述统计后获取所述快照链包含的快照的第二状态标识;对所述快照的第一状态标识和所述第二状态标识进行比对;若所述快照链中存在状态标识发生变化的快照,则针对状态标识发生变化的快照进行统计并更新统计结果。2.根据权利要求1所述的磁盘快照的管理方法,其特征在于,所述快照的状态标识包括:可用状态或不可用状态。3.根据权利要求2所述的磁盘快照的管理方法,其特征在于,所述快照链包含的快照的状态标识发生变化,包括:所述统计过程中所述快照链包含的快照被删除,被删除快照的状态标识从可用状态变为不可用状态。4.根据权利要求2或3所述的磁盘快照的管理方法,其特征在于,所述快照链包含的快照的状态标识发生变化,包括:所述统计过程中所述快照链中有新增快照,新增快照的状态标识被设为可用状态。5.根据权利要求1至4任意一项所述的磁盘快照的管理方法,其特征在于,所述对所述快照引用的数据块进行统计,采用如下方式实现:创建基准数据块集;所述基准数据块集的元素用于记录其对应数据块的名称以及其对应数据块被快照引用的引用计数;读取所述快照引用的数据块的数据块列表;针对所述数据块列表中的数据块,执行如下操作:判断所述基准数据块集中是否存在记录所述数据块名称的元素,若存在,基于所述数据块所属快照的状态标识更新所述基准数据块集中记录的所述数据块的引用计数;若不存在,在所述基准数据块集中建立所述数据块对应元素,并基于所述数据块所属快照的状态标识初始化所述数据块的引用计数。6.根据权利要求4或5所述的磁盘快照的管理方法,其特征在于,若所述快照链在所述统计过程中有新增快照,相应的,所述针对状态标识发生变化的快照进行统计并更新统计结果,采用如下方式实现:读取所述新增快照引用的数据块的数据块列表;针对所述数据块列表中的数据块,执行如下数据块判断操作:判断所述基准数据块集中是否存在记录所述数据块名称的元素,若存在,基于所述数据块所属快照的状态标识更新所述基准数据块集中记录的所述数据块的引用计数;若不存在,在所述基准数据块集中建立所述数据块对应元素,并根据所述数据块所属快照的状态标识初始化所述数据块的引用计数;获取所述快照链包含的快照以及所述快照的状态标识;将获取到的所述快照以及所述快照的状态标识与前一次统计后获取到的所述快照以及所述快照的状态标识进行比对;若比对结果为所述快照链包含的快照和/或所述快照的状态标识在统计前后发生变化,则针对发生变化的快照读取所述快照引用的数据块的数据块列表,并执行所述数据块判断操作。7.根据权利要求5所述的磁盘快照的管理方法,其特征在于,所述基于所述数据块所属快照的状态标识更新所述基准数据块集中记录的所述数据块的引用计数,包括:判断所述数据块所属快照的状态标识是否为所述可用状态,若是,将所述基准数据块集中记录的所述数据块的引用计数加1;和/或,判断所述数据块所属快照的状态标识是否为所述不可用状态,若是,则保持所述基准数据块集中记录的所述数据块的引用计数不变。8.根据权利要求5所述的磁盘快照的管理方法,其特征在于,所述基于所述数据块所属快照的状态标识初始化所述数据块的引用计数,包括:判断所述数据块所属快照的状态标识是否为所述可用状态,若是,将所述基准数据块集中记录的所述数据块的引用计数初始化为1;和/或,判断所述数据块所属快照的状态标识为所述不可用状态,若是,则将所述基准数据块集中记录的所述数据块的引用计数初始化为0。9.根据权利要求3或5所述的磁盘快照的管理方法,其特征在于,若所述快照链包含的快照在所述统计过程中被删除,相应的,所述针对状态标识发生变化的快照进行统计并更新统计结果,采用如下方式实现:读取所述被删除快照引用的数据块的数据块列表;针对所述数据块列表中的数据块,执行如下计数更新操作:在所述基准数据块集中查找记录所述数据块名称的元素;将所述元素记录的所述数据块的引用计数减1;获取所述快照链包含的快照以及所述快照的状态标识;将获取到的所述快照以及所述快照的状态标识与前一次统计后获取到的所述快照以及所述快照的状态标识进行比对;若比对结果为所述快照链包含的快照和/或所述快照的状态标识在统计前后发生变化,则针对发生变化的快照执行所述计数更新操作。10.根据权利要求4或5所述的磁盘快照的管理方法,其特征在于,若所述快照链在所述统计过程中有新增快照建立且所述快照链包含的快照在所述统计过程中被删除,相应的,所述针对状态标识发生变化的快照进行统计并更新统计结果,采用如下方式实现:读...

【专利技术属性】
技术研发人员:廖武钧鲁振伟
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1