CN100530121C - 快照备份方法 - Google Patents

快照备份方法 Download PDF

Info

Publication number
CN100530121C
CN100530121C CNB2006101380408A CN200610138040A CN100530121C CN 100530121 C CN100530121 C CN 100530121C CN B2006101380408 A CNB2006101380408 A CN B2006101380408A CN 200610138040 A CN200610138040 A CN 200610138040A CN 100530121 C CN100530121 C CN 100530121C
Authority
CN
China
Prior art keywords
data
block data
address
block
snapshot
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
CNB2006101380408A
Other languages
English (en)
Other versions
CN101174231A (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.)
Inventec Corp
Original Assignee
Inventec Corp
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 Inventec Corp filed Critical Inventec Corp
Priority to CNB2006101380408A priority Critical patent/CN100530121C/zh
Publication of CN101174231A publication Critical patent/CN101174231A/zh
Application granted granted Critical
Publication of CN100530121C publication Critical patent/CN100530121C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种快照备份方法,建立记录区块数据的映像位置的映像表,当区块数据将被变更时,可计算出该数据区块所在的分区区块对应的映像位置。若算出的映像位置被标记时,判断第一例外对应表中是否存储有该区块数据的对应数据,当有对应数据时,且依据对应数据中的原始地址判断该区块数据未执行过写入前复制,则执行写入前复制并进行该区块数据的变更;若算出的映像位置未被标记时,执行写入前复制并进行该区块数据的变更。通过在内存中仅存储映像表与第一例外对应表,便可以减少快照所使用的内存的大小。

Description

快照备份方法
技术领域
本发明涉及一种快照的备份方法,特别是涉及一种利用对应快照的各区块数据的映像表与第一例外对应表来判断将被变更的区块数据是否做过写入前复制的快照的备份方法。
背景技术
快照是一种可以对存储区域中某一特定时间点的数据进行实时备份,并几乎不影响数据服务(也就是数据读写)效率的备份方式,它是一个独立存在于存储媒体上的存储区域。快照的不是对存储区域的数据完整备份,而是将存储区域分为多个小区块数据(chunk,通常以KB为单位,其大小是可以调整的),当使用者改写存储区域的数据时,把将被更改的区块数据复制到快照中,也就是写入前复制。于是,当一个快照被建立时,使用者需要指定使用的磁盘空间、对应的存储区域等信息,快照会备份其建立时间点时的数据。
如图1所示,当执行有快照程序的系统启动时,会将存储于快照中的例外对应表读取至内存中,当将被更改的区块数据被产生时,快照程序会寻访内存中的例外对应表(步骤110),来判断将被更改的区块数据是否做过写入前复制(步骤120),若有,则例外对应表中会存储有将被更改的区块数据的对应数据,通常都是将被更改的区块数据存储在快照中的地址,这代表将被更改的数据已经备份到快照中,可以直接变更区块数据(步骤140);若没有,则需要进行写入前复制(步骤130)以把将被更改的数据备份至快照中,才能变更区块数据(步骤140)。
快照程序为了减少不断至快照中读取例外对应表以完成上述的判断过程,快照程序会将存储于快照中的例外对应表读入内存中,但是,一旦存储区域建立了多个快照,又或者快照中存储有大量的区块数据,则内存的使用量将会相当庞大。因此如何能提供一种可减少至快照中读取例外对应表,并可减少内存使用量的快照,成为待解决的问题。
发明内容
本发明所要解决的主要问题在于,提供一种快照备份方法,由内存中的对应快照中的所有区块数据的映像表来判断各区块数据是否做过写入前复制,若做过写入前复制,则利用内存中的第一例外对应表与快照中的第二例外对应表取得将变更的区块数据写入快照中的地址,通过内存中的映像表与第一例外对应表即可以减少至快照中读取第二例外对应表,并且由于映像表与第一例外对应表使用的内存空间并不多,如此便可以解决现有技术所提到的问题。
为达上述目的,本发明所公开的一种快照备份方法,该方法包含下列步骤:
建立一映像表于一内存中,该映像表中的映像位置的数据表示与映像位置对应的一存储区域中一个以上区块数据所在的分区区块的标记状态;
建立一第一例外对应表于该内存中,并读取该存储区域对应的一快照的一第二例外对应表的对应数据的一部分至该第一例外对应表中,其中该对应数据包含一原始地址以及一备份地址,该原始地址为该区块数据存储于该存储区域中的地址,该备份地址为该区块数据存储于该快照中的地址;
当该存储区域中的该区块数据之一将被变更时,通过计算找出对应该区块数据所在的该分区区块的该映像位置;
判断该映像位置是否被标记;于该映像位置被标记时,且判断该第一例外对应表存储的各该对应数据的该原始地址包含有该区块数据存储于该存储区域中的地址时,进行该区块数据的变更;
于该映像位置被标记时,且判断该第一例外对应表存储的各该对应数据的该原始地址未包含有该区块数据存储于该存储区域中的地址时,通过计算找出存储于该第二例外对应表中的该对应数据;及
依据该对应数据的该备份地址判断该区块数据是否执行过写入前复制,如果未执行过,执行写入前复制并进行该区块数据的变更,如果执行过,进行该区块数据的变更;
其中,判断该映像位置未被标记时,标记该映像位置、执行写入前复制并进行该区块数据的变更。
所述建立该映像表的步骤包括读取存储于该快照中的映像表至该内存中。
所述判断该区块数据是否执行过写入前复制的步骤包括判断该备份地址是否有效,如果该备份地址有效表示执行过写入前复制,如果该备份地址无效,表示未执行过写入前复制。
所述第二例外对应表于建立该快照时,在该快照中依据该存储区域具有的区块数据配置一特定大小的存储空间,负责存储该对应数据。
本发明的快照备份方法可减少至快照中读取例外对应表的次数,并可减少快照的内存使用量。
附图说明
图1为现有快照备份方法的方法流程图;
图2为本发明所提的快照的备份方法的方法流程图;
图3为本发明实施例所提的区块数据、映像位置与对应数据示意图;
图4为本发明所提的快照配置空间示意图;
图5为本发明所提的对应数据配置空间示意图。
其中,附图标记:
300        存储区域            310        第一分区区块
311        第一区块数据        312        第二区块数据
321        第三区块数据        320        第二分区区块
400        内存                410        映像表
411        第一映像位置        412        第二映像位置
420        第一例外对应表      500        快照
510        映像表              520        第二例外对应表
521        对应数据            521a       第一对应数据
521b       第二对应数据        521c       第三对应数据
521d       第四对应数据        5211       原始地址
5212       还原地址            530        区块数据区
步骤110    寻访例外对应表      步骤120    是否有对应数据
步骤130    执行写入前复制      步骤140    变更区块
步骤210    建立映像表与第一例外对应表
步骤220    计算映像位置        步骤230    映像位置是否被标记
步骤240    第一例外对应表是否有对应数据
步骤250    计算第二例外对应表中的区块的对应位置
步骤260    是否执行过写入前复制
步骤270    执行写入前复制
步骤280    变更区块
步骤290    标记映像位置
具体实施方式
以下以一个实施例来说明本发明的运作方法,并请参阅图2及图3,图2为本发明公开的快照的备份方法的方法流程图。
在执行有本发明的快照程序被启动之后,执行有本发明的快照程序会先在内存400中建立一个对应存储区域300的映像表410以及对应存储区域300的第一例外对应表420(步骤210),本实施例的映像表410以位映像表(bitmap)为例,但不以此为限,存储区域300中的各个区块数据所在的分区区块分别被对应到被建立的位映像表中的各个映像位置,也就是位映像表中的各个位(bit),如图3所示,映像表410中的第一映像位置411即对应到存储区域300中的第一分区区块310,映像位置存储的数据表示其对应的分区区块的标记状态,标记状态表示分区区块中的区块数据是否有任何一个区块数据做过写入前复制,若有则被标记。其中,内存400中的映像表410由具有本发明的快照程序由存储于快照500中的映像表510读出,如图4所示,快照500中的映像表510由快照500的起始地址开始存储,但快照500并不以如图4所示的配置方式为限。其中,第二例外对应表520在快照500被建立之后,依据存储区域300的分区区块的总数建立的,分区区块例如存储区域300中的物理分区(Physical Extents;PE)等,但不以此为限。此外,每一个分区区块包含着数量相同的区块数据,由于第二例外对应表是一次建立完成,因此第二例外对应表520是以一个完整的存储空间配置于快照500中。
第一例外对应表420则是由读取存储于快照500中的第二例外对应表520中的对应数据的一部份所产生,被读取的出来的对应数据由特定的方式读出,例如以随机的方式由第二例外对应表520中读出第一对应数据521a、第二对应数据521b、第三对应数据521c至第一例外对应表420中,但读取对应数据的方式不以随机为限。被读取的对应数据的数量的多寡可由使用者设定或由执行有本发明的快照程序依据特定因素判断决定,例如,剩余可用的内存空间等。第一例外对应表420通常是以一个杂凑表(Hash Table)存储被读出的对应数据,本实施例以此为例,但第一例外对应表420不以杂凑表为限。第一例外对应表420与第二例外对应表520中的各个对应数据521包含了原始地址5211与备份地址5212,其中原始地址5211存储区块数据原先存储在存储区域300中的地址、备份地址5212存储区块数据存储在快照500的区块数据区530中的地址,如图5所示,但备份地址5212并不以上述为限,凡可以让快照程序依据备份地址5212读出未被变更的区块数据者均属本发明的范围。另外,由于第一例外对应表420由第二例外对应表520中的对应数据521的一部份所组成,因此第一例外对应表420可以变动的使用的内存空间来存储部份的对应数据,以减少内存的使用量。
当使用者对具有快照500的存储区域300中的第一区块数据311进行变更时,例如新增文件、对文件作修改、甚至删除文件,执行有本发明的快照程序会在第一区块数据311被变更之前,计算出第一区块数据311所在的第一分区区块310对应的第一映像位置411(步骤220),因为各区块数据所在的分区区块分别对应至映像表中的各映像位置,于是可轻易的通过计算算出将被变更的区块数据所在的分区区块对应的映像位置,例如,若第一区块数据311所在的第一分区区块310为存储区域300中的第二个分区区块,则第一分区区块对应的第一映像位置411即为位映像表中的第2位。
在计算出第一映像位置411(步骤220)后,执行本发明的快照程序会判断第一映像位置411中的数据是否被标记(步骤230),例如判断数据是否为1,但不以此为限。当第一映像位置411被标记时,代表第一分区区块310中至少有一个区块数据已做过写入前复制,于是先至第一例外对应表420中搜寻是否有存储于存储区域300中的原始地址5211(步骤240),若有则表示第一例外对应表中存储有第一区块数据311的第一对应数据521a,于是便可以由第一对应数据中521a相对应的备份地址5212找出第一区块数据311被复制到快照500的区块数据区530中的地址。
在执行有本发明的快照程序由第一区块数据311存储在存储区域300中的地址判断出第一例外对应表420存储有第一区块数据311的第一对应数据521a(步骤240)后,表示第一区块数据311已被执行过写入前复制,因此不需再次执行,故可以直接将变更后的第一区块数据311写入存储区域300中(步骤280)。
若使用者接着将变更第二区块数据312,则执行有本发明的快照程序会重复上述的步骤220至步骤240找出第二区块数据312所在的第一分区区块310所对应的第一映像位置411,虽然第一映像位置411被标记,若执行有本发明的快照程序搜寻第一例外对应表420后,无法依据第二区块数据312存储在存储区域300中的地址找到第二区块数据312的对应数据,于是执行有本发明的快照程序会计算第二区块数据312所对应的第四对应数据521d存储在快照500的第二例外对应表520中的地址(步骤250),由于第二例外对应表520在快照500被建立之后,依据存储区域300的分区区块的总数建立的,每一个分区包含着数量相同的区块数据,因此每一个区块数据在第二例外对应表520中一定会有一个对应数据,再加上每个对应数据521仅包含原始地址5211与备份地址5212,所以每个对应数据521的长度是固定的,是故执行有本发明的快照程序可以依据第二区块数据312在存储区域300中的顺序计算出第二区块数据312对应的第四对应数据521d存储在快照500中的地址,例如第二区块数据312是第一分区区块310的第二个区块数据,而第一分区区块310具有64个区块数据,且第一分区区块310是存储区域300的第二个分区区块,因此与第二区块数据312对应的第四对应数据521d存储在第66笔(64+2)对应数据的地址。
在计算出第四对应数据521d的地址后,接着会依据第四对应数据521d的备份地址5212中记录的第二区块数据312存储在快照500中的地址判断第二区块数据312是否执行过写入前复制(步骤260),例如,当记录的地址为空时,判断记录的地址无效;当记录的地址为一个地址值时,判断记录的地址有效,若地址有效,则代表第二区块数据312被执行过写入前复制,因此可以直接将被变更后的第二区块数据312写入存储区域300中(步骤280);若地址无效,则表示第二区块数据312尚未被执行过写入前复制,则需要先执行写入前复制(步骤270),也就是将被变更的第二区块数据312复制到快照500的区块数据区530中,并将第二区块数据312被复制至快照500中的地址写入至第二例外对应表520中对应第二区块数据312的第四对应数据521d的备份地址5212中,再将变更后的第二区块数据312写入存储区域300中(步骤280)。
若使用者继续将变更第三区块数据321,则执行有本发明的快照程序会在计算出第三区块数据321所在的第二分区区块320对应的第二映像位置412后(步骤220),判断出第二映像位置412尚未被标记(步骤230),意即代表第二分区区块320中的所有区块数据均尚未被执行过写入前复制,于是执行有本发明的快照程序将会直接对第三区块数据321进行写入前复制(步骤270),不再至第一例外对应表420与第二例外对应表520中搜寻第三区块数据321对应的第三对应数据521c,并在写入前复制完成后,将变更后的第三区块数据321写入存储区域300中(步骤280),并将第三区块数据321所在的第二分区区块320对应的第二映像位置412标记起来(步骤290),避免再次执行写入前复制,使得被更改后的第三区块数据321被复制到快照500的区块数据区530中,造成未被变更的第三区块数据330(即欲备份的第三区块数据)被覆盖。上述的写入前复制的动作包含将第三区块数据321复制至快照500的区块数据区530中,并将复制至区块数据区530中的第三区块数据321的地址写入第三对应数据521c的备份地址5212中及将第三区块数据321于存储区域300中的地址写入第三对应数据521c的原始地址5211中。
在上述的实施例中,若存储区域300的存储空间为100G字节(Bytes;B)、物理分区的大小为32MB、区块数据的大小为64KB、第一例外对应表420与第二例外对应表520中各对应数据的大小为32B,则现有的例外对应表所占用的最大内存空间为(100G/64K)*32B=50MB;而本发明所提的映像表410占用的内存空间为(100G/32M)/8,即约略等于400B,这是非常小的内存使用量,因此,本发明最大的内存占用量取决于第一例外对应表410所占用的内存空间的大小,但本发明的第一例外对应表410使用的内存空间是可以设定的,也就是说,当第一例外对应表设定为第二例外对应表的百分之一时,本发明占用的内存空间仅仅为0.5004M,比现有技术所占用的空间小许多。如此,由于内存中仅仅存储使用内存不多的映像表410以及现有的第二例外对应表520的一部分(即第一例外对应表420),因此,本发明即可以解决内存被浪费的问题。
本发明的快照的备份方法,还可在计算机系统中以集中方式实现或以不同组件散布于若干互连的计算机系统的分散方式实现。
虽然本发明以前述的较佳实施例公开如上,但并非用以限定本发明,任何本领域的普通技术人员,在不脱离本发明的精神和范围内,所为的更动与修改,均属本发明的专利保护范围,因此本发明的专利保护范围须视本说明书所附的权利要求书所界定者为准。

Claims (4)

1、一种快照备份方法,其特征在于,该方法包含下列步骤:
建立一映像表于一内存中,该映像表中的映像位置的数据表示与映像位置对应的一存储区域中一个以上区块数据所在的分区区块的标记状态;
建立一第一例外对应表于该内存中,并读取该存储区域对应的一快照的一第二例外对应表的对应数据的一部分至该第一例外对应表中,其中该对应数据包含一原始地址以及一备份地址,该原始地址为该区块数据存储于该存储区域中的地址,该备份地址为该区块数据存储于该快照中的地址;
当该存储区域中的该区块数据之一将被变更时,通过计算找出对应该区块数据所在的该分区区块的该映像位置;
判断该映像位置是否被标记;
于该映像位置被标记时,且判断该第一例外对应表存储的各该对应数据的该原始地址包含有该区块数据存储于该存储区域中的地址时,进行该区块数据的变更;
于该映像位置被标记时,且判断该第一例外对应表存储的各该对应数据的该原始地址未包含有该区块数据存储于该存储区域中的地址时,通过计算找出存储于该第二例外对应表中的该对应数据;及
依据该对应数据的该备份地址判断该区块数据是否执行过写入前复制,如果未执行过,执行写入前复制并进行该区块数据的变更,如果执行过,进行该区块数据的变更;
其中,判断该映像位置未被标记时,标记该映像位置、执行写入前复制并进行该区块数据的变更。
2、如权利要求1所述的快照备份方法,其特征在于,该建立该映像表的步骤包括读取存储于该快照中的映像表至该内存中。
3、如权利要求1所述的快照备份方法,其特征在于,该判断该区块数据是否执行过写入前复制的步骤包括判断该备份地址是否有效,如果该备份地址有效表示执行过写入前复制,如果该备份地址无效,表示未执行过写入前复制。
4、如权利要求1所述的快照备份方法,其特征在于,该第二例外对应表于建立该快照时,在该快照中依据该存储区域具有的区块数据配置一特定大小的存储空间,负责存储该对应数据。
CNB2006101380408A 2006-11-03 2006-11-03 快照备份方法 Expired - Fee Related CN100530121C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101380408A CN100530121C (zh) 2006-11-03 2006-11-03 快照备份方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101380408A CN100530121C (zh) 2006-11-03 2006-11-03 快照备份方法

Publications (2)

Publication Number Publication Date
CN101174231A CN101174231A (zh) 2008-05-07
CN100530121C true CN100530121C (zh) 2009-08-19

Family

ID=39422754

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101380408A Expired - Fee Related CN100530121C (zh) 2006-11-03 2006-11-03 快照备份方法

Country Status (1)

Country Link
CN (1) CN100530121C (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102395956B (zh) * 2011-07-07 2013-10-02 华为技术有限公司 内存备份过程中的系统命令的处理方法和装置
CN102455952B (zh) * 2011-07-26 2014-07-30 北京壹人壹本信息科技有限公司 一种数据备份与还原方法、装置及系统
CN102455953B (zh) * 2011-09-30 2014-03-19 北京壹人壹本信息科技有限公司 一种数据备份与还原方法、装置及系统
CN105988723A (zh) * 2015-02-12 2016-10-05 中兴通讯股份有限公司 一种快照处理方法及装置
CN106909605B (zh) * 2016-12-29 2020-09-15 北京瑞卓喜投科技发展有限公司 沿横向拓展的区块链的生成方法及系统
CN107391396B (zh) * 2017-07-27 2020-10-23 苏州浪潮智能科技有限公司 一种可写快照装置的数据分区方法及可写快照装置
CN108197040A (zh) * 2018-01-12 2018-06-22 江苏华存电子科技有限公司 一种实体位置映到逻辑映像位置的高效能方法
CN108681494B (zh) * 2018-05-21 2021-03-26 深圳市科力锐科技有限公司 备份数据还原方法、装置、用户设备及存储介质
CN111563006B (zh) * 2020-04-17 2023-07-28 深圳震有科技股份有限公司 一种数据处理方法、智能终端及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061770A (en) * 1997-11-04 2000-05-09 Adaptec, Inc. System and method for real-time data backup using snapshot copying with selective compaction of backup data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061770A (en) * 1997-11-04 2000-05-09 Adaptec, Inc. System and method for real-time data backup using snapshot copying with selective compaction of backup data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Realizing Multilevel Snapshots in Dynamically ChangingVirtualized Storage Environments. A.Brinkmann,S.Effert,M.Heidebuer,M.Vodisek.Networking,International Conference on Systems and International Conference on Mobile Communications and learning Technologies,2006.ICN/CONS/MCL 2006.International Conference on 23-29 April 2006. 2006
Realizing Multilevel Snapshots in Dynamically ChangingVirtualized Storage Environments. A.Brinkmann,S.Effert,M.Heidebuer,M.Vodisek.Networking,International Conference on Systems and International Conference on Mobile Communications and learning Technologies,2006.ICN/CONS/MCL 2006.International Conference on 23-29 April 2006. 2006 *

Also Published As

Publication number Publication date
CN101174231A (zh) 2008-05-07

Similar Documents

Publication Publication Date Title
CN100530121C (zh) 快照备份方法
CN103577121B (zh) 一种基于Nand Flash的高可靠线性文件存取方法
CN102012852B (zh) 一种增量写快照的实现方法
US10031675B1 (en) Method and system for tiering data
EP2042995B1 (en) Storage device and deduplication method
CN101777017B (zh) 一种连续数据保护系统的快速恢复方法
CN101814044B (zh) 元数据处理方法及装置
JP6218869B2 (ja) Ssdへのコピーオンライト用システム及び方法
CN102737715B (zh) 用于nor闪存的数据掉电保护方法
US20170083412A1 (en) System and method for generating backups of a protected system from a recovery system
CN101425041A (zh) 在nand flash存储器上建立fat文件系统的优化方法
CN101840362A (zh) 一种改进的写时拷贝快照的实现方法和装置
CN107391391A (zh) 在固态硬盘的ftl实现数据拷贝的方法、系统及固态硬盘
CN104077235A (zh) 分割物理块的方法及存储器系统
CN104360914A (zh) 增量快照方法和装置
CN112860594B (zh) 一种固态盘地址重映射方法、设备及固态盘
CN102955861A (zh) 一种基于备份文件的索引文件生成方法和装置
CN103339615B (zh) 存储系统和信息处理方法
CN104834477A (zh) 基于闪存的数据写入方法和装置
CN111176579A (zh) 使用norflash模拟eeprom的方法
CN100507865C (zh) 集中建立依赖型快照的方法
TW200844744A (en) Near instantaneous backup and restore of disc partitions
CN113568788B (zh) Linux非逻辑卷块设备的快照方法、系统及存储介质
US9535796B2 (en) Method, apparatus and computer for data operation
CN101620570B (zh) 记忆模块动态备份管理系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090819

Termination date: 20151103

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