本发明专利技术提供了一种生成快照的方法,该方法中,A、根据快照生成指令生成包含链表数据的第N个快照数据;B、判断存储快照数据的可用空间值是否满足生成快照的需求,如果满足,将所述第N个快照数据保存于快照介质中第N个快照数据的快照地址;如果不满足,利用所述第N个快照数据替换快照介质中的第一个快照数据;C、根据重定向数据包含的重定向映射关系,将存储在重定向地址中的源数据的修改数据写入源介质的源地址中,删除重定向数据包含的重定向映射关系。本发明专利技术还提供了一种生成快照的装置。采用本发明专利技术的方法及装置,能够对生成的快照进行自动管理,对数据进行有效保护。
【技术实现步骤摘要】
本专利技术涉及快照技术,特别涉及一种生成快照的方法及装置。
技术介绍
随着计算机及网络的发展,社会进入了一个信息爆炸的时代;在网络环境下,一个 月内产生的数据量可能是过去几个月产生的数据量的总和。企业的生产以及个人的生活都 越来越依赖于计算机以及存放在装置上的数据。因此,数据的丢失与损坏将会给人们的生 产生活带来不可估量的损失。随着存储技术的进步,为了预防数据丢失,通常采用备份、归档、远程复制等技术 对数据进行保护,而备份、归档、远程复制都属于实现数据备份的方法。为了避免对系统的 性能影响,需要在装置空闲时进行数据备份,这就导致两次备份间隔的时间较长,在需要根 据备份的数据对已损坏的数据进行恢复的过程中,处于两次备份间隔的时间内的数据不可 恢复;而提高数据备份频率就会影响系统的正常工作。为了实现数据的持续性保护及数据可恢复性,快照(Snapshot)技术产生了。快照 方法就是对某一数据集进行即时拷贝产生对于所述数据集的一个完整副本的方法;其中, 所述数据集为源数据,所述数据集的副本为快照数据。现有的快照方法生成的是一个数据 集的完整副本,每生成一次快照数据,就需要根据数据集生成一完整副本,需要占用较大的 存储空间,耗费较多的时间生成快照。为了减少占用的存储空间,基于I/O重定向的快照生 成方法只针对变化的数据进行保存。图1为现有的生成快照的装置。现结合图1,对现有的生成快照的装置进行说明, 具体如下图1所示的装置采用的是基于I/O重定向的快照生成方法。现有的生成快照的装 置包含存储控制器10和存储器11 ;其中,存储器11中包含用以保存源数据的源介质111和 用以保存快照数据的快照介质112。存储控制器10在生成快照的相邻两次间隔时间内,将 对于源介质111中的源数据的修改数据重定向至快照介质112中,写入与源地址对应的重 定向地址中。所述源数据的修改数据为重定向数据;所述重定向地址为用以保存重定向数 据的地址。存储控制器10根据快照生成指令,中断对存储器11的源介质111的所有读写 操作;根据源地址从源介质111中读取源数据,对源数据即时拷贝生成快照数据;将快照数 据写入快照介质112中的快照地址上;读取重定向地址中的数据;将从快照介质112的重 定向地址中读取的数据写入源介质111的源地址,以完成本次生成快照的操作。现有的基于快照的装置能够为用户提供特定时刻产生的快照数据,但存储器需要 对源数据、快照数据及源数据更新后的数据进行保存,这就需要在存储空间一定的情况下, 生成一定数量的快照数据。因此,由于存储空间的限制,现有的生成快照的方法及装置不能 对生成的快照进行有效管理,存储空间用尽则无法继续生成快照,进而无法对数据进行保 护和恢复。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种生成快照的方法,该方法能够对生成的快 照进行自动管理,对数据进行有效保护。本专利技术的目的在于提供一种生成快照的装置,该装置能够对生成的快照进行自动 管理,对数据进行有效保护。为达到上述目的,本专利技术的技术方案具体是这样实现的一种生成快照的方法,该方法包括A、根据快照生成指令生成包含链表数据的第N个快照数据;所述N为大于1的自 然数;B、判断存储快照数据的可用空间值是否满足生成快照的需求,如果满足,将所述 第N个快照数据保存于快照介质中第N个快照数据的快照地址,用所述第N个快照数据的 快照地址替换快照介质中保存的第M个快照数据的快照地址,将所述第N个快照数据的快 照地址添加至第M个快照数据的链表数据中,修改快照介质保存的存储快照数据的可用空 间值;所述M为N-I ;如果不满足,利用所述第N个快照数据替换快照介质中的第一个快照数据;将第 二个快照数据的链表数据中的第一个快照数据的快照地址删除,将第二个快照数据作为第 一个快照数据,根据第二个快照数据的快照地址修改所述快照介质中保存的第一个快照数 据的快照地址;用所述第N个快照数据的快照地址替换所述快照介质中保存的第M个快照 数据的快照地址,将所述第N个快照数据的快照地址添加至第M个快照数据的链表数据中, 修改所述快照介质中保存的存储快照数据的可用空间值;C、根据重定向数据包含的重定向映射关系,将存储在重定向地址中的源数据的修 改数据写入源介质的源地址中,删除重定向数据包含的重定向映射关系。较佳地,步骤A所述根据快照生成指令生成包含链表数据的第N个快照数据之前 进一步包括根据外部输入的指令产生快照生成指令,或,在确定所述快照介质没有用以保存 重定向数据的可用空间后产生快照生成指令。较佳地,所述步骤A之前进一步包括根据快照介质和源介质的绑定关系,建立所述快照介质与所述源介质的对应关 系;所述绑定关系为预先保存于快照介质中的,或者为预先建立的。较佳地,所述步骤A之前、且建立所述快照介质与所述源介质的对应关系之后,进 一步包括将存储快照数据的可用空间值、第一个快照数据的快照地址及第M个快照数据的 快照地址保存于快照介质中。较佳地,步骤A所述根据快照生成指令生成包含链表数据的第N个快照数据之前 进一步包括确定所述快照介质中保存的快照标识记录的信息为未完成,产生快照生成指令;步骤C之后进一步包括将所述快照介质中保存的快照标识记录的信息修改为已 完成。一种生成快照的装置,该装置包含存储控制器、快照介质和用以保存源数据的源介质;所述快照介质用于保存快照数据、重定向数据、存储快照数据的可用空间值、第一 个快照数据的快照地址及第M个快照数据的快照地址;所述所述存储控制器连接所述源介质和所述快照介质;根据快照生成指令生成包含链 表数据的第N个快照数据;所述N为大于1的自然数;所述存储控制器确定存储快照数据的可用空间值满足生成快照的需求,将所述第 N个快照数据保存于快照介质中第N个快照数据的快照地址;用所述第N个快照数据的快 照地址替换所述元数据区保存的第M个快照数据的快照地址,将所述第N个快照数据的快 照地址添加至第M个快照数据的链表数据中,修改所述元数据区保存的存储快照数据的可 用空间值;所述存储控制器确定存储快照数据的可用空间值不满足生成快照的需求,利用所 述第N个快照数据替换所述快照介质中的第一个快照数据;删除第二个快照数据包含的链 表数据中的第一个快照数据的地址,用第二个快照数据的快照地址替换所述元数据区保存 的第一个快照数据的快照地址;用所述第N个快照数据的快照地址替换所述元数据区中保 存的第M个快照数据的快照地址,将所述第N个快照数据的快照地址添加至第M个快照数 据的链表数据中,修改所述元数据区保存的存储快照数据的可用空间值;所述存储控制器根据快照介质的重定向数据包含的重定向映射关系,将重定向地 址中保存的重定向数据包含的源数据的修改数据写入源介质的源地址中;删除所述重定向 映射关系。上述装置中,所述快照介质包括用于保存第一快照数据的快照地址、第M快照数 据的快照地址及存储快照数据的可用空间值的元数据区、用于保存快照数据的快照区、及 用于保存重定向数据的暂存区。较佳地,该装置进一步包括指令生成模块;所述指令生成模块根据外部输入的指令产生快照生成指令,或在确定所述暂存区 没有可用存储空间后产生快照生成指令;输出快照生成指令至所述存储控制器。较佳地,所述存储控制器进一步根据快照介本文档来自技高网...
【技术保护点】
一种生成快照的方法,其特征在于,该方法包括:A、根据快照生成指令生成包含链表数据的第N个快照数据;所述N为大于1的自然数;B、判断存储快照数据的可用空间值是否满足生成快照的需求,如果满足,将所述第N个快照数据保存于快照介质中第N个快照数据的快照地址,用所述第N个快照数据的快照地址替换快照介质中保存的第M个快照数据的快照地址,将所述第N个快照数据的快照地址添加至第M个快照数据的链表数据中,修改快照介质保存的存储快照数据的可用空间值;所述M为N-1;如果不满足,利用所述第N个快照数据替换快照介质中的第一个快照数据;将第二个快照数据的链表数据中的第一个快照数据的快照地址删除,将第二个快照数据作为第一个快照数据,根据第二个快照数据的快照地址修改所述快照介质中保存的第一个快照数据的快照地址;用所述第N个快照数据的快照地址替换所述快照介质中保存的第M个快照数据的快照地址,将所述第N个快照数据的快照地址添加至第M个快照数据的链表数据中,修改所述快照介质中保存的存储快照数据的可用空间值;C、根据重定向数据包含的重定向映射关系,将存储在重定向地址中的源数据的修改数据写入源介质的源地址中,删除重定向数据包含的重定向映射关系。...
【技术特征摘要】
【专利技术属性】
技术研发人员:叶佑群,
申请(专利权)人:上海爱数软件有限公司,
类型:发明
国别省市:31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。