CN102779080B - 生成快照的方法、利用快照进行数据恢复的方法及装置 - Google Patents

生成快照的方法、利用快照进行数据恢复的方法及装置 Download PDF

Info

Publication number
CN102779080B
CN102779080B CN201210200341.4A CN201210200341A CN102779080B CN 102779080 B CN102779080 B CN 102779080B CN 201210200341 A CN201210200341 A CN 201210200341A CN 102779080 B CN102779080 B CN 102779080B
Authority
CN
China
Prior art keywords
snapshot
obliquely
page
data
district
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201210200341.4A
Other languages
English (en)
Other versions
CN102779080A (zh
Inventor
叶佑群
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Eisoo Information Technology Co Ltd
Original Assignee
Shanghai Eisoo Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Eisoo Software Co Ltd filed Critical Shanghai Eisoo Software Co Ltd
Priority to CN201210200341.4A priority Critical patent/CN102779080B/zh
Publication of CN102779080A publication Critical patent/CN102779080A/zh
Application granted granted Critical
Publication of CN102779080B publication Critical patent/CN102779080B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种生成快照的方法,包括:A、监控对源介质的写操作,判断快照介质包含的当前快照子数据区中是否存在与源介质的写操作携带的写数据地址匹配的影射页,如果存在,则将写操作发送至源介质,否则根据源介质的写操作携带的写数据地址中记载的源数据,在当前快照子数据区中生成一个新的影射页,并更新当前快照子数据区保存的映射表及暂存的影射表;B、判断是否满足生成快照的触发条件,如果是,执行步骤C,否则执行步骤A;C、更新快照介质包含的元数据区中保存的元数据,清空暂存的影射表。本发明还提供了一种生成快照的装置。采用本发明的方法及装置,能够减少对存储介质的IO读写次数,降低生成快照所耗费的时间,提高系统性能。

Description

生成快照的方法、利用快照进行数据恢复的方法及装置
技术领域
本发明涉及快照生成技术,特别涉及一种生成快照的方法、一种生成快照的装置、一种利用生成的快照进行数据恢复的方法、及一种利用生成的快照进行数据恢复的装置。
背景技术
随着计算机及网络的发展,社会进入了一个信息爆炸的时代;在网络环境下,一个月内产生的数据量可能是过去几个月产生的数据量的总和。企业的生产以及个人的生活都越来越依赖于计算机以及存放在装置上的数据。因此,数据的丢失与损坏将会给人们的生产生活带来不可估量的损失。
随着存储技术的进步,为了预防数据丢失,通常采用备份、归档、远程复制等技术对数据进行保护,而备份、归档、远程复制都属于实现数据备份的方法。为了避免对系统的性能影响,需要在装置空闲时进行数据备份,这就导致两次备份间隔的时间较长,在需要根据备份的数据对已损坏的数据进行恢复的过程中,处于两次备份间隔的时间内的数据不可恢复;而提高数据备份频率就会影响系统的正常工作。
为了实现数据的持续性保护及数据可恢复性,快照(Snapshot)技术产生了。快照方法就是对某一数据集进行即时拷贝产生对于数据集的一个完整副本的方法;其中,数据集为源数据,数据集的副本为快照数据。现有的快照方法生成的是一个数据集的完整副本,每生成一次快照数据,就需要根据数据集生成一完整副本,需要占用较大的存储空间,耗费较多的时间生成快照。为了减少占用的存储空间,基于I/O重定向的快照生成方法只针对变化的数据进行保存。
图1为现有的生成快照的装置的结构示意图。现结合图1,对现有的生成快照的装置进行说明,具体如下:
图1所示的装置采用的是基于I/O重定向的快照生成方法。现有的生成快照的装置包含存储控制器10和存储器11;其中,存储器11中包含用以保存源数据的源介质111和用以保存快照数据的快照介质112。存储控制器10在生成快照的相邻两次间隔时间内,将对于源介质111中的源数据的修改数据重定向至快照介质112中,写入与源地址对应的重定向地址中。源数据的修改数据为重定向数据;重定向地址为用以保存重定向数据的地址。存储控制器10根据快照生成指令,中断对存储器11的源介质111的所有读写操作;根据源地址从源介质111中读取源数据,对源数据即时拷贝生成快照数据;将快照数据写入快照介质112中的快照地址上;读取重定向地址中的数据;将从快照介质112的重定向地址中读取的数据写入源介质111的源地址,以完成本次生成快照的操作。
现有的基于快照的装置能够为用户提供特定时刻产生的快照数据,但在快照生成期间,每完成一次快照需要执行一次从源介质读源数据、执行一次向快照介质写快照数据、执行一次快照介质中读重定向数据、及执行一次向源介质写重定向数据的操作,且在将源介质中的数据发生改变时,都需要将改变的数据作为重定向数据写入快照介质中的重定向地址中,这样,频繁地对存储介质的读写操作会降低存储介质的IO性能,提高了生成快照所耗费的时间,降低了生成快照的装置的系统性能。
发明内容
有鉴于此,本发明的目的在于提供一种生成快照的方法,该方法能够减少对存储介质的IO读写次数,降低生成快照所耗费的时间,提高系统性能。
本发明的目的在于提供一种生成快照的装置,该装置能够减少对存储介质的IO读写次数,降低生成快照所耗费的时间,提高系统性能。
本发明的目的在于提供一种利用生成的快照进行数据恢复的方法,该方法能够减少对存储介质的IO读写次数,提高系统性能。
本发明的目的在于提供一种利用生成的快照进行数据恢复的方法,该方法能够减少对存储介质的IO读写次数,提高系统性能。
一种生成快照的方法,该方法包括:
A、监控对源介质的写操作,判断快照介质包含的当前快照子数据区中是否存在与源介质的写操作携带的写数据地址匹配的影射页,如果存在,则将写操作发送至源介质,否则,根据源介质的写操作携带的写数据地址中记载的源数据,在当前快照子数据区中生成一个新的影射页,并更新当前快照子数据区保存的映射表及暂存的影射表;
B、判断是否满足生成快照的触发条件,如果是,执行步骤C,否则执行步骤A;
C、更新快照介质包含的元数据区中保存的元数据,清空暂存的影射表。
较佳地,所述步骤A之前进一步包括:
判断是否存在与源介质绑定的快照介质,如果存在,则确定当前快照子数据区,否则,选择一个作为快照介质的存储介质与源介质进行绑定,对快照介质进行初始化。
上述方法中,所述快照介质包含元数据区及快照数据区;
所述元数据区用以保存元数据;所述元数据至少包含快照数量、预设的影射页数量的最大值、当前快照子数据区的状态信息、快照数据区的起止地址及当前快照子数据区的起止地址;
所述快照数据区包含多个快照子数据区;所述快照子数据区用以保存影射表及影射页;所述影射表为源介质的影射页与快照子数据区的影射页之间的映射关系;所述快照子数据区的影射页用以保存与其有映射关系的源介质的影射页中的数据的快照数据。
上述方法中,步骤A所述判断快照介质包含的当前快照子数据区中是否存在与源介质的写操作携带的写数据地址匹配的影射页包括:
根据源介质的写操作携带的写数据地址,确定源介质的影射页;
判断暂存的影射表中是否存在包含源介质的影射页的映射关系,如果存在,则确定快照介质包含的当前快照子数据区中存在与源介质的写操作携带的写地址匹配的影射页,如果不存在,则确定快照介质包含的当前快照子数据区中不存在与源介质的写操作携带的写地址匹配的影射页。
上述方法中,步骤A所述在当前快照子数据区中生成一个新的影射页,并更新当前快照子数据区保存的影射表及暂存的影射表包括:
对源介质的写操作携带的写数据地址中记载的源数据进行拷贝,将拷贝后的数据写入当前快照子数据区中的一个空影射页中,将写入拷贝后的数据的影射页作为生成的新的影射页;
将源介质的写操作携带的写数据地址对应的源介质的影射页,与当前快照子数据区中写入拷贝后的数据的影射页之间的映射关系,写入当前快照子数据区保存的影射表及暂存的影射表。
上述方法中,所述生成快照的触发条件为:当前快照子数据区包含的影射页的数量达到预设的影射页数量的最大值,或者接收到由快照生成周期触发生成的快照生成指令。
上述方法中,所述步骤C包括:将元数据包含的快照数量增1,将元数据包含的当前快照子数据区的状态信息标注为已完成。
上述方法中,所述确定当前快照子数据区包括:
读取快照介质的元数据区中包含的元数据,在元数据中的当前快照子数据区的状态信息为已完成时,根据元数据中的当前快照子数据区的起止地址确定下一个快照子数据区的起止地址,在下一个快照子数据区中建立一个空的影射表,并更新元数据区保存的元数据;
在元数据中的当前快照子数据区的状态信息为未完成时,保持当前快照子数据区不变。
上述方法中,所述对快照介质进行初始化包括:
将快照介质划分为元数据区及快照数据区;
根据快照数据区的起止地址及预设的快照子数据区的大小,确定当前快照子数据区的起止地址,将当前快照子数据区的状态标注为未完成;
将快照数量、预设的影射页数量的最大值、快照数据区的起止地址、当前快照子数据区的状态及当前快照子数据区的起止地址的作为元数据写入元数据区;
根据当前快照子数据区的起止地址,在快照数据区包含的当前快照子数据区建立一个空的影射表,并暂存一个空的影射表;
根据预设的影射页数量的最大值及预设的影射页大小,将当前快照子数据区中除保存影射表之外的存储空间划分为多个空的影射页。
一种生成快照的装置,该装置包含:
源介质,用以保存源数据;
快照介质,用以保存由源数据生成的快照数据;所述快照介质包含用以保存元数据的元数据区及快照数据区;所述快照数据区包含多个用以保存影射表及影射页的快照子数据区;
存储控制器,监控对源介质的写操作,判断当前快照子数据区中是否存在与源介质的写操作携带的写数据地址匹配的影射页,如果存在,则将写操作发送至源介质,否则,根据源介质的写操作携带的写数据地址中记载的源数据,在当前快照子数据区中生成一个新的影射页,并更新当前快照子数据区保存的影射表及其暂存的影射表;
所述存储控制器判断是否满足生成快照的触发条件,如果是,更新元数据区保存的元数据,否则继续监控对源介质的写操作。
较佳地,所述存储控制器还判断是否存在与源介质绑定的快照介质,如果存在,则确定当前快照子数据区,否则,选择一个作为快照介质的存储介质与源介质进行绑定,对快照介质进行初始化。
上述装置中,所述元数据至少包含快照数量、预设的影射页数量的最大值、当前快照子数据区的状态信息、快照数据区的起止地址及当前快照子数据区的起止地址;
所述影射表为源介质的影射页与快照子数据区的影射页之间的映射关系;所述快照子数据区的影射页用以保存与其有映射关系的源介质的影射页中的数据的快照数据。
上述装置中,所述存储控制器包含:
操作监控模块,监控对源介质的操作,如果判定为读操作,则将读操作发送至源介质,如果判定为写操作,则将写操作携带的写数据地址发送给快照生成模块,根据快照生成模块的第一触发,将写操作发送至源介质,根据快照生成模块的第二触发,继续监控对源介质的操作;
快照生成模块,根据写操作携带的写数据地址,确定源介质的影射页,判断其暂存的影射表中是否存在包含源介质的影射页的映射关系,如果存在,则输出第一触发至操作监控模块,否则,对源介质的写操作携带的写数据地址中记载的源数据进行拷贝,将拷贝后的数据写入当前快照子数据区中的一个空的影射页中,生成新的影射页;
所述快照生成模块将源介质的写操作携带的写数据地址对应的源介质的影射页,与当前快照子数据区中写入拷贝后的数据的影射页之间的映射关系,写入当前快照子数据区保存的影射表及其暂存的影射表中;
所述快照生成模块判断当前快照子数据区包含的影射页的数量是否达到预设的影射页数量的最大值,或者判断是否接收到由快照生成周期触发生成的快照生成指令,如果是,将元数据包含的快照数量增1,将元数据包含的当前快照子数据区的状态信息标注为已完成,清空其暂存的影射表,否则输出第二触发至操作监控模块。
上述装置中,所述存储控制器包含:
初始化模块,启动后判断是否存在与源介质绑定的快照介质,如果存在,则根据元数据中的当前快照子数据区的状态信息,确定当前快照子数据区,否则,选择一个作为快照介质的存储介质与源介质进行绑定,将快照介质划分为元数据区及快照数据区,将元数据写入元数据区,将快照数据区划分为多个包含空的影射页及空的影射表的快照子数据区;
操作监控模块,监控对源介质的操作,如果判定为读操作,则将读操作发送至源介质,如果判定为写操作,则将写操作携带的写数据地址发送给快照生成模块,根据快照生成模块的第一触发,将写操作发送至源介质,根据快照生成模块的第二触发,继续监控对源介质的操作;
快照生成模块,根据写操作携带的写数据地址,确定源介质的影射页,判断其暂存的影射表中是否存在包含源介质的影射页的映射关系,如果存在,则输出第一触发至操作监控模块,否则,对源介质的写操作携带的写数据地址中记载的源数据进行拷贝,将拷贝后的数据写入当前快照子数据区中的一个空的影射页中,生成新的影射页;
所述快照生成模块将源介质的写操作携带的写数据地址对应的源介质的影射页,与当前快照子数据区中写入拷贝后的数据的影射页之间的映射关系,写入当前快照子数据区保存的影射表及其暂存的影射表中;
所述快照生成模块判断当前快照子数据区包含的影射页的数量是否达到预设的影射页数量的最大值,或者判断是否接收到由快照生成周期触发生成的快照生成指令,如果是,将元数据包含的快照数量增1,将元数据包含的当前快照子数据区的状态信息标注为已完成,清空其暂存的影射表,否则输出第二触发至操作监控模块。
一种利用生成的快照进行数据恢复的方法,该方法包括:
根据数据恢复指令及生成快照的时间点,确定进行数据恢复的快照子数据区;
生成一个空的恢复影射表,将进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中保存的影射表包含的映射关系写入恢复影射表中;
根据快照子数据区对应的时间点,更新恢复影射表;
利用更新后的恢复映射表中的映射关系,将进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中包含的影射页所保存的数据,写入与其有映射关系的源介质的影射页中;
清空进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中保存的影射表及影射页,删除恢复影射表,更新元数据区。
上述方法中,所述确定进行数据恢复的快照子数据区包括:
根据接收到的数据恢复指令,结束生成快照;
根据快照的时间点、快照生成周期及元数据区保存的元数据,由生成快照时的当前快照子数据区,确定进行数据恢复的快照子数据区。
上述方法中,所述根据快照子数据区对应的时间点,更新恢复影射表包括:
比较包含了相同源介质的影射页的映射关系所属的快照子数据区对应的时间点,保留所属的快照子数据区所对应的生成快照的时间点最早的一条映射关系,删除其余的包含了相同源介质的影射页的映射关系,获得更新后的恢复映射表。
上述方法中,所述更新元数据区包含:
将元数据区保存的元数据中的快照数量更新为进行数据恢复的快照子数据区生成之前的快照数量;
将元数据区保存的元数据中的当前快照子数据区的状态信息更新为已完成;
将元数据区保存的元数据中当前快照子数据区的起止地址更新为进行数据恢复的快照子数据区之前生成的一个快照子数据区的起止地址。
一种利用生成的快照进行数据恢复的装置,该装置包含前述任一所述的生成快照的装置及恢复控制器;
所述恢复控制器根据数据恢复指令及生成快照的时间点,确定进行数据恢复的快照子数据区,生成一个空的恢复影射表,将进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中保存的影射表包含的映射关系写入恢复影射表中,根据快照子数据区对应的时间点,更新恢复影射表;
所述恢复控制器利用更新后的恢复映射表中的映射关系,将进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中包含的影射页所保存的数据,写入与其有映射关系的源介质的影射页中;
所述恢复控制器清空进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中保存的影射表及影射页,删除恢复影射表,更新元数据区。
上述装置中,所述恢复控制器包含:
快照恢复模块,根据接收到的数据恢复指令,结束生成快照,根据快照的时间点、快照生成周期及元数据区保存的元数据,由生成快照时的当前快照子数据区,确定进行数据恢复的快照子数据区;
所述快照恢复模块生成一个空的恢复影射表,将进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中保存的影射表包含的映射关系写入恢复影射表中;
所述快照恢复模块比较包含了相同源介质的影射页的映射关系所属的快照子数据区对应的时间点,保留所属的快照子数据区所对应的生成快照的时间点最早的一条映射关系,删除其余的包含了相同源介质的影射页的映射关系,获得更新后的恢复映射表,输出更新后的恢复影射表至更新模块,并删除更新后的恢复映射表;
更新模块,利用更新后的恢复映射表中的映射关系,将进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中包含的影射页所保存的数据,写入与其有映射关系的源介质的影射页中;
所述更新模块清空进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中保存的影射表及影射页,删除恢复影射表,将元数据区保存的元数据中的快照数量更新为进行数据恢复的快照子数据区生成之前的快照数量,将元数据区保存的元数据中的当前快照子数据区的状态信息更新为已完成,将元数据区保存的元数据中当前快照子数据区的起止地址更新为进行数据恢复的快照子数据区之前生成的一个快照子数据区的起止地址。
由上述的技术方案可见,本发明提供了一种生成快照的方法及装置,在该方法中,监控对源介质的写操作,判断快照介质包含的当前快照子数据区中是否存在与源介质的写操作携带的写数据地址匹配的影射页,如果存在,则将写操作发送至源介质,否则,根据源介质的写操作携带的写数据地址中记载的源数据,在当前快照子数据区中生成一个新的影射页,并更新当前快照子数据区保存的映射表及暂存的影射表,判断是否满足生成快照的触发条件,如果是,则更新快照介质包含的元数据区中保存的元数据,清空暂存的影射表,否则继续监控对源介质的写操作。本发明还提供了一种利用生成的快照进行数据恢复的方法及装置,在该方法中,根据快照子数据区中保存的影射表对源介质进行数据恢复,相较于现有的利用快照进行数据恢复的方法,本发明利用生成的快照进行数据恢复时,减少了对存储介质的IO读写次数。采用本发明的方法及装置,能够极大地减少了对存储介质的IO读写次数,降低生成快照所耗费的时间,提高系统性能。
附图说明
图1为现有的生成快照的装置的结构示意图。
图2为本发明生成快照的方法流程图。
图3为本发明利用生成的快照进行数据恢复的方法流程图。
图4为本发明生成快照的装置的结构示意图。
图5为本发明利用生成的快照进行数据恢复的装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明提供了一种生成快照的方法及装置,在该方法中,监控对源介质的写操作,判断快照介质包含的当前快照子数据区中是否存在与源介质的写操作携带的写数据地址匹配的影射页,如果存在,则将写操作发送至源介质,否则,根据源介质的写操作携带的写数据地址中记载的源数据,在当前快照子数据区中生成一个新的影射页,并更新当前快照子数据区中的影射表;根据生成快照的触发条件,更新快照介质包含的元数据区中保存的元数据,清空暂存的影射表。其中,本发明提及的暂存的影射表是暂存于生成快照的装置所装设的系统的内存中的影射表,其保持与当前快照子数据区的影射表同步,作用是为了加快影射页的查找效率。
本发明还提供了一种利用生成的快照进行数据恢复的方法及装置,该方法中,利用生成快照期间保存于快照子数据区中的影射表,对需要进行数据恢复的源介质中的影射页进行定位,将快照子数据区中的影射页中保存的快照数据写入源介质中与其有映射关系的影射页中,节省了查找定位源介质中需要进行数据恢复的存储空间所耗费的时间,提高了系统性能,由于在生成快照的过程中减少了对存储介质的IO读写次数,相较于现有的利用生成快照进行数据恢复的方法,减少了对存储介质的IO读写次数。当配置的影射页越大,则减少的IO读写次数则越多,效率的提升也就越大。
为了表述清楚,现对本发明提及的一些名词进行说明,具体如下:本发明的快照介质为用以保存源介质中的源数据的快照数据的存储介质;快照介质可被划分为元数据区及快照数据区;元数据区用以保存与生成快照相关的元数据;快照数据区用以保存源介质中的源数据的快照数据。其中,元数据至少包含快照数量、预设的影射页数量的最大值、当前快照子数据区的状态信息、快照数据区的起止位置及当前快照子数据区的起止位置;快照数据区可被划分为多个快照子数据区,每一个快照子数据区用以保存一个快照生成周期内生成的源数据的快照数据;每一个快照子数据区可被划分为用以保存影射表的影射表区和用以保存多个影射页的影射数据区。
本发明提及的影射页即为依据生成快照时对系统性能的要求,在源介质上和快照介质的快照子数据区中划分的一定大小的存储空间,影射页的大小可为2的幂次方,最小为16KB,最大可达到2048KB;源介质的影射页的大小与绑定的快照介质包含的快照子数据区中的影射页的大小相同。本发明的源介质根据其大小及设置的影射页的大小,能够确定源介质包含的影射页的数量,源介质中的影射页可以为依次编码;本发明的快照介质中的每一个快照子数据区根据其大小及设置的影射页的大小,能够确定每一个快照子数据区包含的影射页的数量,每一个快照子数据区中影射页是独立编码的,且在一个快照子数据区中影射页按照其地址依次编码。
本发明提及的源介质的影射页与快照介质的影射页之间的映射关系为一种指向关系,即源介质的影射页中保存的源数据的拷贝数据被写入到一个快照子数据区中的某一个影射页中,则由源介质的影射页指向该快照子数据区的该影射页的指向关系,就代表了一个映射关系,在影射表中可以用一个影射项进行表示。比如:比如:一个源介质有128个数据块,编号为块0到块127,每个数据块的大小为16KB,预设的影射页的大小为32KB,则这个源介质在逻辑上被分成64个影射页,影射页依次编号为影射页0到影射页63;若对源介质的一个写操作中携带的写数据地址包含于块3的存储空间内,则这个写操作会落入到影射页1中;若影射页1保存的源数据的快照数据被写入到当前快照子数据区中的影射页8中,则在影射表中会生成一条由源介质的影射页1指向当前快照子数据区的影射页8的映射关系。
图2为本发明生成快照的方法流程图。现结合图2,对本发明生成快照的方法进行说明,具体如下:
步骤201:监控对源介质的操作的类型,如果是写操作,则执行步骤203,如果是读操作,执行步骤202;
该步骤可通过拦截对源介质的所有操作,通过对操作的类型的识别,对源介质的操作的类型进行监控。其中,可通过标识符,对操作的类型进行识别,比如:读操作的标识符为READ,写操作的标识符为WRITE。
步骤202:允许对源介质的读操作,之后执行步骤201;
该步骤可通过放行对源介质的读操作来实现。
步骤203:判断当前快照子数据区中是否存在与写操作的写数据地址匹配的影射页,如果是,执行步骤204,否则执行步骤205;
该步骤包括:步骤2031,冻结对源介质的所有读操作或写操作;步骤2032,根据源介质的写操作中携带的写数据地址,确定进行本次写操作的源介质的影射页;步骤2033,根据暂存的影射表,判断影射表中是否存在包含源介质的影射页的映射关系,如果是,执行步骤204,否则执行步骤205。
步骤2032,可根据影射页的大小、源介质的起止地址及写数据地址,确定写数据地址所属的影射页的存储空间,进而确定进行本次写操作的影射页。
由于本发明的快照生成方法中,每当当前快照子数据区中生成了一个新的影射页时,就会对暂存的影射表及当前快照子数据区保存的影射表进行更新,因此,暂存的影射表能够与当前快照子数据区保存的影射表保持同步。其中,快照子数据区中保存的影射表可在利用生成的快照进行数据恢复时定位源介质中的影射页,而暂存的影射页是为了避免频繁地对快照子数据区中的影射表进行读取和查找,这样可以提高系统的性能。
步骤204:允许对源介质的写操作,之后执行步骤201;
该步骤可通过放行对源介质的写操作来实现。
步骤205:在当前快照子数据区中生成新的影射页,更新当前快照子数据区保存的影射表及暂存的影射表;
该步骤包括:步骤2051,对源介质的写操作携带的写数据地址中记载的源数据进行拷贝;步骤2052,将拷贝后的数据写入当前快照子数据区中的一个空影射页中,将写入拷贝后的数据的影射页作为生成的新的影射页;步骤2053,将源介质的写操作携带的写数据地址对应的源介质的影射页,与当前快照子数据区中写入拷贝后的数据的影射页之间的映射关系,写入当前快照子数据区保存的影射表及暂存的影射表中。
步骤2052中提及的拷贝后的数据即为此刻生成的写数据地址中记载的源数据的快照数据;步骤2052中提及的当前快照子数据区中的影射页可为按照预设的影射页大小划分的存储空间,在写入拷贝后的数据时,可根据预设的影射页大小及当前快照子数据区的起止地址,将拷贝后的数据写入已保存了快照数据的影射页的下一个空的影射页的存储空间中。
步骤206:判断是否满足生成快照的触发条件,如果是,执行步骤207,否则执行步骤201;
该步骤中判断是否满足生成快照的触发条件可为判断当前快照子数据区中的影射页的数量是否达到元数据中包含的预设的影射页数量的最大值,或者为判断是否接收到由快照生成周期触发生成的快照生成指令,如果是,执行步骤207,否则执行步骤201,仍然执行本次快照生成周期。
可根据影射表中的映射关系的数量确定当前快照子数据区中的影射页的数量。
步骤207:更新元数据区中保存的元数据,清空暂存的影射表,之后结束操作;
该步骤包括:步骤2071,将元数据包含的快照数量增1;步骤2072,将元数据包含的当前快照子数据区的状态信息标注为已完成;步骤2073,清空暂存的影射表。
由步骤201执行至步骤207完成了一个快照数据的生成过程,步骤207之后可结束该快照生成周期,进入下一个快照生成周期,或者结束快照生成流程。若进入下一个快照生成周期,可执行步骤201。
优选地,在步骤201之前进一步包括:
步骤200:判断是否存在与源介质绑定的快照介质,如果是,则确定当前快照子数据区,否则,选择一个作为快照介质的存储介质与源介质进行绑定,对快照介质进行初始化。
步骤200中,可根据一个用以记载源介质与快照介质的绑定关系的配置文件,来判断是否存在与源介质绑定的快照介质。
步骤200中确定当前快照子数据区的方法包括:读取快照介质的元数据区中的元数据,在元数据中的当前快照子数据区的状态信息为已完成时,根据元数据中当前快照子数据区的起止地址,确定下一个快照子数据区的起止地址,在下一个快照子数据区中建立一个空的影射表,并更新元数据区保存的元数据;在元数据中的当前快照子数据区的状态信息为未完成时,保持当前快照子数据区不变。
其中,上述方法中提及的更新元数据区保存的元数据包括:将下一个快照子数据区的起止地址作为元数据中当前快照子数据区的起止地址,将当前快照子数据区的状态信息更新为未完成。
步骤200中对快照介质进行初始化包括:将快照介质划分为元数据区及快照数据区;根据快照数据区的起止地址及预设的快照子数据区的大小,确定当前快照子数据区的起止地址,将当前快照子数据区的状态标注为未完成;将快照数量、预设的影射页数量的最大值、快照数据区的起止地址、当前快照子数据区的状态及当前快照子数据区的起止地址的作为元数据写入元数据区;根据当前快照子数据区的起止地址,在快照数据区包含的当前快照子数据区建立一个空的影射表,并暂存一个空的影射表;根据预设的影射页数量的最大值及预设的影射页大小,将当前快照子数据区中除保存影射表之外的存储空间划分为多个空的影射页。
图3为本发明利用生成的快照进行数据恢复的方法流程图。现结合图3,对本发明利用生成的快照进行数据恢复的方法进行说明,具体如下:
本发明的数据恢复方法是利用图2的方法所生成的快照数据来进行数据保护和恢复。
步骤301:根据数据恢复指令及生成快照的时间点,确定进行数据恢复的快照子数据区;
该步骤包括:步骤3011,根据接收到的数据恢复指令,结束生成快照;步骤3012,根据快照的时间点、快照生成周期及元数据,由生成快照时的当前快照子数据区,确定进行数据恢复的快照子数据区。
步骤3012中提及的进行数据恢复的快照子数据区可为当前快照子数据区,或当前快照子数据区之前已经保存了快照数据的快照子数据区,可根据快照的时间点及快照的生成周期,推算所要进行数据恢复的快照子数据区与当前快照子数据区间生成的快照的个数,进而确定进行数据恢复的快照子数据区。
步骤302:生成一个恢复影射表;
该步骤包括:步骤3021,冻结对源介质的读操作及写操作;步骤3022,生成一个空的恢复影射表;步骤3023,将进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中保存的影射表包含的映射关系写入恢复影射表中。
比如:进行数据恢复的快照子数据区为快照子数据区3,当前的快照子数据区为快照子数据区6,则快照子数据区3、快照子数据区4、快照子数据区5及快照子数据区6中保存的影射表中的映射关系被写入生成的恢复影射表中。
步骤303:更新恢复影射表;
该步骤包括:比较包含了相同源介质的影射页的映射关系所属的快照子数据区对应的时间点,保留所属的快照子数据区所对应的生成快照的时间点最早的一条映射关系,删除其余的包含了相同源介质的影射页的映射关系,获得更新后的恢复映射表。
比如:快照子数据区3中包含了由源介质的影射页1至快照子数据区3中影射页4的映射关系,快照子数据区5中包含了由源介质的影射页1至快照子数据区5中影射页9的映射关系,则在更新恢复影射表时,由于快照子数据区3的生成时间点早于快照子数据区5的生成时间点,则保留快照子数据区3中有关源介质的影射页1的映射关系,而删除快照子数据区5中有关源介质的影射页1的映射关系。
步骤304:利用更新后的恢复影射表对源介质进行数据恢复;
该步骤包括:利用更新后的恢复映射表中的映射关系,将进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中包含的影射页所保存的数据,写入与其有映射关系的源介质的影射页中。
步骤305:清空多个快照子数据区,并更新元数据区;
该步骤包括:步骤3051,清空进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中保存的影射表及影射页;步骤3052,删除恢复影射表;步骤3053,将元数据区保存的元数据中的快照数量更新为进行数据恢复的快照子数据区生成之前的快照数量,将元数据区保存的元数据中的当前快照子数据区的状态信息更新为已完成,将元数据区保存的元数据中当前快照子数据区的起止地址更新为进行数据恢复的快照子数据区之前生成的一个快照子数据区的起止地址。
步骤306:结束数据恢复。
经该步骤后,可跳回至步骤201执行生成快照流程,也可结束对快照介质的所有流程。
图4为本发明生成快照的装置的结构示意图。现结合图4,对本发明生成快照的装置的结构进行说明,具体如下:
本发明生成快照的装置包含:源介质40、快照介质41及存储控制器42。
源介质40用以保存源数据。
快照介质41用以保存由源数据生成的快照数据。其中,快照介质41包含用以保存元数据的元数据区411及快照数据区;快照数据区包含多个用以保存影射表及影射页的快照子数据区412;快照子数据区412可进一步包含用以保存影射表的影射表区及用以保存多个影射页的影射数据区。
其中,元数据至少包含快照数量、预设的影射页数量的最大值、当前快照子数据区的状态信息、快照数据区的起止地址及当前快照子数据区的起止地址;影射表为源介质的影射页与快照子数据区的影射页之间的映射关系;快照子数据区的影射页用以保存与其有映射关系的源介质的影射页中的数据的快照数据。
存储控制器42监控对源介质40的写操作,判断当前快照子数据区412中是否存在与源介质40的写操作携带的写数据地址匹配的影射页,如果存在,则将写操作发送至源介质40,否则,根据源介质的写操作携带的写数据地址中记载的源数据,在当前快照子数据区412中生成一个新的影射页,并更新当前快照子数据区412保存的影射表及其暂存的影射表。
存储控制器42判断是否满足生成快照的触发条件,如果是,更新元数据区411保存的元数据,否则继续监控对源介质40的写操作。
另外,存储控制器42还可在启动之初,对源介质40及快照介质41进行初始化,具体地,存储控制器42判断是否存在与源介质40绑定的快照介质41,如果存在,则确定当前快照子数据区,否则,选择一个作为快照介质41的存储介质与源介质40进行绑定,对快照介质41进行初始化。
其中,存储控制器42包含:操作监控模块421及快照生成模块422。
操作监控模块421监控对源介质40的操作,如果判定为读操作,则将读操作发送至源介质40,如果判定为写操作,则将写操作携带的写数据地址发送给快照生成模块422,根据快照生成模块422的第一触发,将写操作发送至源介质40,根据快照生成模块422的第二触发,继续监控对源介质40的操作。
快照生成模块422根据写操作携带的写数据地址,确定源介质40的影射页,判断其暂存的影射表中是否存在包含源介质40的影射页的映射关系,如果存在,则输出第一触发至操作监控模块421,否则,对源介质40的写操作携带的写数据地址中记载的源数据进行拷贝,将拷贝后的数据写入当前快照子数据区412中的一个空的影射页中,生成新的影射页。
快照生成模块422将源介质40的写操作携带的写数据地址对应的源介质40的影射页,与当前快照子数据区412中写入拷贝后的数据的影射页之间的映射关系,写入当前快照子数据区412保存的影射表及其暂存的影射表。
快照生成模块422判断当前快照子数据区412包含的影射页的数量是否达到预设的影射页数量的最大值,或者判断是否接收到由快照生成周期触发生成的快照生成指令,如果是,将元数据包含的快照数量增1,将元数据包含的当前快照子数据区的状态信息标注为已完成,清空其暂存的影射表,否则输出第二触发至操作监控模块421。
在存储控制器42能够进一步对源介质40及快照介质41进行初始化时,存储控制器42进一步包含:初始化模块420。其中,初始化模块420在启动后,判断是否存在与源介质40绑定的快照介质41,如果存在,则根据元数据中的当前快照子数据区的状态信息,确定当前快照子数据区412,否则,选择一个作为快照介质41的存储介质与源介质40进行绑定,将快照介质41划分为元数据区411及快照数据区,将元数据写入元数据区411,将快照数据区划分为多个包含空的影射页及空的影射表的快照子数据区412。
图5为本发明利用生成的快照进行数据恢复的装置的结构示意图。现结合图5,对本发明利用生成的快照进行数据恢复的装置的结构进行说明,具体如下:
本发明利用生成的快照进行数据恢复的装置除了包含图4所示的生成快照的装置之外,还包含一恢复控制器53。
恢复控制器53根据数据恢复指令及生成快照的时间点,确定进行数据恢复的快照子数据区412,生成一个空的恢复影射表,将进行数据恢复的快照子数据区412至当前快照子数据区412的多个快照子数据区412中保存的影射表包含的映射关系写入恢复影射表中,根据快照子数据区对应的时间点,更新恢复影射表。
恢复控制器53利用更新后的恢复映射表中的映射关系,将进行数据恢复的快照子数据区412至当前快照子数据区412的多个快照子数据区412中包含的影射页所保存的数据,写入与其有映射关系的源介质40的影射页中。
恢复控制器53清空进行数据恢复的快照子数据区412至当前快照子数据区的多个快照子数据区412中保存的影射表及影射页,删除恢复影射表,更新元数据区。
其中,恢复控制器53包含:快照恢复模块531及更新模块532。
快照恢复模块531根据接收到的数据恢复指令,结束生成快照,根据快照的时间点、快照生成周期及元数据区保存的元数据,由生成快照时的当前快照子数据区412,确定进行数据恢复的快照子数据区412。
快照恢复模块531生成一个空的恢复影射表,将进行数据恢复的快照子数据区412至当前快照子数据区412的多个快照子数据区412中保存的影射表包含的映射关系写入恢复影射表中。
快照恢复模块531比较包含了相同源介质40的影射页的映射关系所属的快照子数据区412对应的时间点,保留所属的快照子数据区412所对应的生成快照的时间点最早的一条映射关系,删除其余的包含了相同源介质的影射页的映射关系,获得更新后的恢复映射表,输出更新后的恢复影射表至更新模块532,并删除更新后的恢复映射表。
更新模块532利用更新后的恢复映射表中的映射关系,将进行数据恢复的快照子数据区412至当前快照子数据区412的多个快照子数据区412中包含的影射页所保存的数据,写入与其有映射关系的源介质40的影射页中。
更新模块532清空进行数据恢复的快照子数据区412至当前快照子数据区412的多个快照子数据区412中保存的影射表及影射页,删除恢复影射表,将元数据区411保存的元数据中的快照数量更新为进行数据恢复的快照子数据区生成之前的快照数量,将元数据区411保存的元数据中的当前快照子数据区的状态信息更新为已完成,将元数据区411保存的元数据中当前快照子数据区的起止地址更新为进行数据恢复的快照子数据区之前生成的一个快照子数据区的起止地址。
本发明的上述较佳实施例中,在向快照子数据区中写入影射表及拷贝的数据时,如果当前快照子数据区为快照数据区中的最后一个快照子数据区,则当前快照子数据区的下一个快照子数据区为快照数据区的起始位置处的快照子数据区,以此类推,快照数据区包含的多个快照子数据区可在生成快照的过程中被循环利用,以对生成的影射表及生成的影射页进行保存。
本发明的上述较佳实施例中,在生成快照的方法中,采用了COFW方式生成快照;在逻辑上将需要快照保护的源介质分成相同等份的存储空间,即多个影射页,在源介质中的源数据第一次被改变时,就将这个写操作所落入源介质的影射页的数据整个读取并写入到相应的快照子数据区中的影射页中,当下一个写操作的位置仍落入这个源介质的影射页时,就无需再次读取这个源介质的源数据并写入到快照子数据区中的影射页中,减少了IO操作的次数;由于数据局部性原理的存在,本发明的生成快照的方法通过这种方式可以极大地减少利用COFW方式产生的IO次数;另外,通过配置影射页的大小,能够降低生成快照所耗费的时间,提高系统的性能,使系统的快照性能达到最优。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (18)

1.一种生成快照的方法,其特征在于,快照介质包含元数据区及快照数据区;所述元数据区用以保存元数据;所述元数据至少包含快照数量、预设的影射页数量的最大值、当前快照子数据区的状态信息、快照数据区的起止地址及当前快照子数据区的起止地址;所述快照数据区包含多个快照子数据区;所述快照子数据区用以保存影射表及影射页;所述影射表为源介质的影射页与快照子数据区的影射页之间的映射关系;所述快照子数据区的影射页用以保存与其有映射关系的源介质的影射页中的数据的快照数据;该方法包括:
A、监控对源介质的写操作,判断快照介质包含的当前快照子数据区中是否存在与源介质的写操作携带的写数据地址匹配的影射页,如果存在,则将写操作发送至源介质,否则,根据源介质的写操作携带的写数据地址中记载的源数据,在当前快照子数据区中生成一个新的影射页,将所述写操作所落入源介质的影射页的数据整个读取并写入到快照子数据区中的新生成的影射页中,并更新当前快照子数据区保存的影射表及暂存的影射表;
B、判断是否满足生成快照的触发条件,如果是,执行步骤C,否则执行步骤A;
C、更新快照介质包含的元数据区中保存的元数据,清空暂存的影射表。
2.根据权利要求1所述的方法,其特征在于,所述步骤A之前进一步包括:
判断是否存在与源介质绑定的快照介质,如果存在,则确定当前快照子数据区,否则,选择一个作为快照介质的存储介质与源介质进行绑定,对快照介质进行初始化。
3.根据权利要求1所述的方法,其特征在于,步骤A所述判断快照介质包含的当前快照子数据区中是否存在与源介质的写操作携带的写数据地址匹配的影射页包括:
根据源介质的写操作携带的写数据地址,确定源介质的影射页;
判断暂存的影射表中是否存在包含源介质的影射页的映射关系,如果存在,则确定快照介质包含的当前快照子数据区中存在与源介质的写操作携带的写地址匹配的影射页,如果不存在,则确定快照介质包含的当前快照子数据区中不存在与源介质的写操作携带的写地址匹配的影射页。
4.根据权利要求1所述的方法,其特征在于,步骤A所述在当前快照子数据区中生成一个新的影射页,并更新当前快照子数据区保存的影射表及暂存的影射表包括:
对源介质的写操作携带的写数据地址中记载的源数据进行拷贝,将拷贝后的数据写入当前快照子数据区中的一个空影射页中,将写入拷贝后的数据的影射页作为生成的新的影射页;
将源介质的写操作携带的写数据地址对应的源介质的影射页,与当前快照子数据区中写入拷贝后的数据的影射页之间的映射关系,写入当前快照子数据区保存的影射表及暂存的影射表。
5.根据权利要求1所述的方法,其特征在于,所述生成快照的触发条件为:当前快照子数据区包含的影射页的数量达到预设的影射页数量的最大值,或者接收到由快照生成周期触发生成的快照生成指令。
6.根据权利要求1所述的方法,其特征在于,所述步骤C包括:
将元数据包含的快照数量增1,将元数据包含的当前快照子数据区的状态信息标注为已完成。
7.根据权利要求2所述的方法,其特征在于,所述确定当前快照子数据区包括:
读取快照介质的元数据区中包含的元数据,在元数据中的当前快照子数据区的状态信息为已完成时,根据元数据中的当前快照子数据区的起止地址确定下一个快照子数据区的起止地址,在下一个快照子数据区中建立一个空的影射表,并更新元数据区保存的元数据;
在元数据中的当前快照子数据区的状态信息为未完成时,保持当前快照子数据区不变。
8.根据权利要求2所述的方法,其特征在于,所述对快照介质进行初始化包括:
将快照介质划分为元数据区及快照数据区;
根据快照数据区的起止地址及预设的快照子数据区的大小,确定当前快照子数据区的起止地址,将当前快照子数据区的状态标注为未完成;
将快照数量、预设的影射页数量的最大值、快照数据区的起止地址、当前快照子数据区的状态及当前快照子数据区的起止地址的作为元数据写入元数据区;
根据当前快照子数据区的起止地址,在快照数据区包含的当前快照子数据区建立一个空的影射表,并暂存一个空的影射表;
根据预设的影射页数量的最大值及预设的影射页大小,将当前快照子数据区中除保存影射表之外的存储空间划分为多个空的影射页。
9.一种生成快照的装置,其特征在于,该装置包含:
源介质,用以保存源数据;
快照介质,用以保存由源数据生成的快照数据;所述快照介质包含用以保存元数据的元数据区及快照数据区;所述元数据至少包含快照数量、预设的影射页数量的最大值、当前快照子数据区的状态信息、快照数据区的起止地址及当前快照子数据区的起止地址;所述快照数据区包含多个快照子数据区;所述快照子数据区用以保存影射表及影射页;所述影射表为源介质的影射页与快照子数据区的影射页之间的映射关系;所述快照子数据区的影射页用以保存与其有映射关系的源介质的影射页中的数据的快照数据;
存储控制器,监控对源介质的写操作,判断当前快照子数据区中是否存在与源介质的写操作携带的写数据地址匹配的影射页,如果存在,则将写操作发送至源介质,否则,根据源介质的写操作携带的写数据地址中记载的源数据,在当前快照子数据区中生成一个新的影射页,将所述写操作所落入源介质的影射页的数据整个读取并写入到快照子数据区中的新生成的影射页中,并更新当前快照子数据区保存的影射表及其暂存的影射表;
所述存储控制器判断是否满足生成快照的触发条件,如果是,更新元数据区保存的元数据,否则继续监控对源介质的写操作。
10.根据权利要求9所述的装置,其特征在于,所述存储控制器还判断是否存在与源介质绑定的快照介质,如果存在,则确定当前快照子数据区,否则,选择一个作为快照介质的存储介质与源介质进行绑定,对快照介质进行初始化。
11.根据权利要求9所述的装置,其特征在于,所述存储控制器包含:
操作监控模块,监控对源介质的操作,如果判定为读操作,则将读操作发送至源介质,如果判定为写操作,则将写操作携带的写数据地址发送给快照生成模块,根据快照生成模块的第一触发,将写操作发送至源介质,根据快照生成模块的第二触发,继续监控对源介质的操作;
快照生成模块,根据写操作携带的写数据地址,确定源介质的影射页,判断其暂存的影射表中是否存在包含源介质的影射页的映射关系,如果存在,则输出第一触发至操作监控模块,否则,对源介质的写操作携带的写数据地址中记载的源数据进行拷贝,将拷贝后的数据写入当前快照子数据区中的一个空的影射页中,生成新的影射页;
所述快照生成模块将源介质的写操作携带的写数据地址对应的源介质的影射页,与当前快照子数据区中写入拷贝后的数据的影射页之间的映射关系,写入当前快照子数据区保存的影射表及其暂存的影射表中;
所述快照生成模块判断当前快照子数据区包含的影射页的数量是否达到预设的影射页数量的最大值,或者判断是否接收到由快照生成周期触发生成的快照生成指令,如果是,将元数据包含的快照数量增1,将元数据包含的当前快照子数据区的状态信息标注为已完成,清空其暂存的影射表,否则输出第二触发至操作监控模块。
12.根据权利要求10所述的装置,其特征在于,所述存储控制器包含:
初始化模块,启动后判断是否存在与源介质绑定的快照介质,如果存在,则根据元数据中的当前快照子数据区的状态信息,确定当前快照子数据区,否则,选择一个作为快照介质的存储介质与源介质进行绑定,将快照介质划分为元数据区及快照数据区,将元数据写入元数据区,将快照数据区划分为多个包含空的影射页及空的影射表的快照子数据区;
操作监控模块,监控对源介质的操作,如果判定为读操作,则将读操作发送至源介质,如果判定为写操作,则将写操作携带的写数据地址发送给快照生成模块,根据快照生成模块的第一触发,将写操作发送至源介质,根据快照生成模块的第二触发,继续监控对源介质的操作;
快照生成模块,根据写操作携带的写数据地址,确定源介质的影射页,判断其暂存的影射表中是否存在包含源介质的影射页的映射关系,如果存在,则输出第一触发至操作监控模块,否则,对源介质的写操作携带的写数据地址中记载的源数据进行拷贝,将拷贝后的数据写入当前快照子数据区中的一个空的影射页中,生成新的影射页;
所述快照生成模块将源介质的写操作携带的写数据地址对应的源介质的影射页,与当前快照子数据区中写入拷贝后的数据的影射页之间的映射关系,写入当前快照子数据区保存的影射表及其暂存的影射表中;
所述快照生成模块判断当前快照子数据区包含的影射页的数量是否达到预设的影射页数量的最大值,或者判断是否接收到由快照生成周期触发生成的快照生成指令,如果是,将元数据包含的快照数量增1,将元数据包含的当前快照子数据区的状态信息标注为已完成,清空其暂存的影射表,否则输出第二触发至操作监控模块。
13.一种利用生成的快照进行数据恢复的方法,其特征在于,所述快照利用如权利要求1至8任一项所述方法生成,该利用生成的快照进行数据恢复的方法包括:
根据数据恢复指令及生成快照的时间点,确定进行数据恢复的快照子数据区;
生成一个空的恢复影射表,将进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中保存的影射表包含的映射关系写入恢复影射表中;
根据快照子数据区对应的时间点,更新恢复影射表;
利用更新后的恢复映射表中的映射关系,将进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中包含的影射页所保存的数据,写入与其有映射关系的源介质的影射页中;
清空进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中保存的影射表及影射页,删除恢复影射表,更新元数据区。
14.根据权利要求13所述的方法,其特征在于,所述确定进行数据恢复的快照子数据区包括:
根据接收到的数据恢复指令,结束生成快照;
根据快照的时间点、快照生成周期及元数据区保存的元数据,由生成快照时的当前快照子数据区,确定进行数据恢复的快照子数据区。
15.根据权利要求13所述的方法,其特征在于,所述根据快照子数据区对应的时间点,更新恢复影射表包括:
比较包含了相同源介质的影射页的映射关系所属的快照子数据区对应的时间点,保留所属的快照子数据区所对应的生成快照的时间点最早的一条映射关系,删除其余的包含了相同源介质的影射页的映射关系,获得更新后的恢复映射表。
16.根据权利要求13所述的方法,其特征在于,所述更新元数据区包含:
将元数据区保存的元数据中的快照数量更新为进行数据恢复的快照子数据区生成之前的快照数量;
将元数据区保存的元数据中的当前快照子数据区的状态信息更新为已完成;
将元数据区保存的元数据中当前快照子数据区的起止地址更新为进行数据恢复的快照子数据区之前生成的一个快照子数据区的起止地址。
17.一种利用生成的快照进行数据恢复的装置,其特征在于,该装置包含前述权利要求9至权利要求12任一所述的生成快照的装置,以及恢复控制器;
所述恢复控制器根据数据恢复指令及生成快照的时间点,确定进行数据恢复的快照子数据区,生成一个空的恢复影射表,将进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中保存的影射表包含的映射关系写入恢复影射表中,根据快照子数据区对应的时间点,更新恢复影射表;
所述恢复控制器利用更新后的恢复映射表中的映射关系,将进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中包含的影射页所保存的数据,写入与其有映射关系的源介质的影射页中;
所述恢复控制器清空进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中保存的影射表及影射页,删除恢复影射表,更新元数据区。
18.根据权利要求17所述的装置,其特征在于,所述恢复控制器包含:
快照恢复模块,根据接收到的数据恢复指令,结束生成快照,根据快照的时间点、快照生成周期及元数据区保存的元数据,由生成快照时的当前快照子数据区,确定进行数据恢复的快照子数据区;
所述快照恢复模块生成一个空的恢复影射表,将进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中保存的影射表包含的映射关系写入恢复影射表中;
所述快照恢复模块比较包含了相同源介质的影射页的映射关系所属的快照子数据区对应的时间点,保留所属的快照子数据区所对应的生成快照的时间点最早的一条映射关系,删除其余的包含了相同源介质的影射页的映射关系,获得更新后的恢复映射表,输出更新后的恢复影射表至更新模块,并删除更新后的恢复映射表;
更新模块,利用更新后的恢复映射表中的映射关系,将进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中包含的影射页所保存的数据,写入与其有映射关系的源介质的影射页中;
所述更新模块清空进行数据恢复的快照子数据区至当前快照子数据区的多个快照子数据区中保存的影射表及影射页,删除恢复影射表,将元数据区保存的元数据中的快照数量更新为进行数据恢复的快照子数据区生成之前的快照数量,将元数据区保存的元数据中的当前快照子数据区的状态信息更新为已完成,将元数据区保存的元数据中当前快照子数据区的起止地址更新为进行数据恢复的快照子数据区之前生成的一个快照子数据区的起止地址。
CN201210200341.4A 2012-06-18 2012-06-18 生成快照的方法、利用快照进行数据恢复的方法及装置 Expired - Fee Related CN102779080B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210200341.4A CN102779080B (zh) 2012-06-18 2012-06-18 生成快照的方法、利用快照进行数据恢复的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210200341.4A CN102779080B (zh) 2012-06-18 2012-06-18 生成快照的方法、利用快照进行数据恢复的方法及装置

Publications (2)

Publication Number Publication Date
CN102779080A CN102779080A (zh) 2012-11-14
CN102779080B true CN102779080B (zh) 2015-05-27

Family

ID=47123999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210200341.4A Expired - Fee Related CN102779080B (zh) 2012-06-18 2012-06-18 生成快照的方法、利用快照进行数据恢复的方法及装置

Country Status (1)

Country Link
CN (1) CN102779080B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049390B (zh) * 2012-12-14 2016-03-09 华为技术有限公司 应用元数据的数据处理方法及存储系统
US11733908B2 (en) 2013-01-10 2023-08-22 Pure Storage, Inc. Delaying deletion of a dataset
US9436720B2 (en) * 2013-01-10 2016-09-06 Pure Storage, Inc. Safety for volume operations
US10908835B1 (en) 2013-01-10 2021-02-02 Pure Storage, Inc. Reversing deletion of a virtual machine
CN105278878B (zh) * 2015-09-30 2018-09-21 成都华为技术有限公司 一种磁盘空间分配方法及装置
CN106951375B (zh) * 2016-01-06 2021-11-30 北京忆恒创源科技股份有限公司 在存储系统中删除快照卷的方法及装置
CN106055431B (zh) * 2016-05-30 2018-09-21 河海大学 基于快照在线回滚的数据备份与恢复的方法及装置
CN107957918B (zh) * 2016-10-14 2019-05-10 腾讯科技(深圳)有限公司 数据恢复方法和装置
CN109710498B (zh) * 2017-10-26 2020-09-29 华为技术有限公司 一种管理日志的方法和装置
US10997158B2 (en) 2018-09-21 2021-05-04 Microsoft Technology Licensing, Llc Techniques for updating big data tables using snapshot isolation
CN111857602B (zh) * 2020-07-31 2022-10-28 重庆紫光华山智安科技有限公司 数据处理方法、装置、数据节点及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658168A (zh) * 2004-02-19 2005-08-24 华为技术有限公司 一种快照过程中向源卷写数据的方法
CN101777016A (zh) * 2010-02-08 2010-07-14 北京同有飞骥科技有限公司 一种连续数据保护系统的快照存储和数据恢复方法
CN101814043A (zh) * 2010-04-19 2010-08-25 山东高效能服务器和存储研究院 一种使用快照技术进行在线恢复的方法
CN102012852A (zh) * 2010-12-27 2011-04-13 创新科存储技术有限公司 一种增量写快照的实现方法
CN102096613A (zh) * 2010-12-30 2011-06-15 上海爱数软件有限公司 一种生成快照的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1816563B1 (en) * 2006-01-26 2016-04-27 Infortrend Technology, Inc. Method of managing data snapshot images in a storage system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658168A (zh) * 2004-02-19 2005-08-24 华为技术有限公司 一种快照过程中向源卷写数据的方法
CN101777016A (zh) * 2010-02-08 2010-07-14 北京同有飞骥科技有限公司 一种连续数据保护系统的快照存储和数据恢复方法
CN101814043A (zh) * 2010-04-19 2010-08-25 山东高效能服务器和存储研究院 一种使用快照技术进行在线恢复的方法
CN102012852A (zh) * 2010-12-27 2011-04-13 创新科存储技术有限公司 一种增量写快照的实现方法
CN102096613A (zh) * 2010-12-30 2011-06-15 上海爱数软件有限公司 一种生成快照的方法及装置

Also Published As

Publication number Publication date
CN102779080A (zh) 2012-11-14

Similar Documents

Publication Publication Date Title
CN102779080B (zh) 生成快照的方法、利用快照进行数据恢复的方法及装置
CN102511036B (zh) 数据存储
CN100440156C (zh) 元数据复制和复原的方法与系统
US5684991A (en) Modification metadata set, abstracted from database write requests
CN102012851B (zh) 一种持续数据保护方法及服务器
US20070208918A1 (en) Method and apparatus for providing virtual machine backup
CN101661414B (zh) 计算机系统及其备份方法
CN100570575C (zh) 一种数据备份的方法和装置
CN102932621B (zh) 一种存储数据的方法及装置
CN102508785B (zh) 一种磨损均衡方法及装置
US20120095968A1 (en) Storage tiers for different backup types
CN105144113A (zh) 从快照恢复应用
US7610465B2 (en) Method and related apparatus for data migration utilizing disk arrays
CN104350477A (zh) 用于固态驱动装置(ssd)的优化的上下文移除
US9146928B1 (en) Techniques for storing metadata of a filesystem in persistent memory
CN102792276A (zh) 闪速复制级联中的缓冲磁盘
CN106294007B (zh) 一种数据恢复方法及装置
CN105320576A (zh) 数据库备份装置与方法
CN103049539A (zh) 一种文件系统中文件数据的存储方法及其装置
CN104461773A (zh) 一种虚拟机备份去重的方法
CN102096613B (zh) 一种生成快照的方法及装置
CN104142943B (zh) 一种数据库扩容方法和一种数据库
CN103176920A (zh) Nor flash掉电保护方法及装置
JP6070146B2 (ja) 情報処理装置及びバックアップ方法
CN102955787A (zh) 一种文件目录表的使用方法、文件写入方法及应用的主电路板、cpu和外部存储器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 200072 room 3, building 840, No. 101 Middle Luochuan Road, Shanghai, Zhabei District

Applicant after: Shanghai Eisoo Software Co.,Ltd.

Address before: 201315, room 25, 204 Zhenkang Road, Cambridge, Nanhui, Shanghai

Applicant before: Shanghai Eisoo Software Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: 201112 Shanghai, Minhang District, United Airlines route 1188, building second layer A-1 unit 8

Patentee after: SHANGHAI EISOO INFORMATION TECHNOLOGY CO., LTD.

Address before: 200072 room 3, building 840, No. 101 Middle Luochuan Road, Shanghai, Zhabei District

Patentee before: Shanghai Eisoo Software Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150527

Termination date: 20190618