基于时间戳建立数据视图的连续数据保护系统及方法

文档序号:6481376阅读:207来源:国知局
专利名称:基于时间戳建立数据视图的连续数据保护系统及方法
技术领域
本发明属于数据保护领域。
背景技术
CDP技术是一种基于时间点连续的保护技术,根据方法的不同可分为准 CDP (NearCDP)和真CDP(True CDP)。准CDP技术采取对某一时刻数据做 静态的映像备份, 一般采取定时自动备份或手动备份的方式,恢复时只能对 备份时刻的静态数据映像进行恢复。真CDP技术则对数据的每次变化都做记 录,换句话说每次对储存设备的写操作都会被记录下来,这样可以根据需要 将数据恢复到任意时刻。
目前的真CDP技术一般在文件驱动层(基于文件)或设备驱动层(基于或设 备驱动层(基于数据块)实现,在自己的驱动中对被保护的数据对象进行处 理,和文件管理系统本身的结合不够紧密, 一方面未能充分利用文件管理系 统的功能而影响工作效率,另一方面也容易导致系统不稳定。

发明内容
借鉴关系数据库管理系统中针对不同的用户需求据数据库建立不同视图 的思想,通过记录数据单元的存储信息、变更信息及其变更时间建立被保护 数据的存储及变化数据库,并通过依据用户设定的时间节点建立基于该时间 节点的数据视图提供给文件管理系统作为索引依据的方式来进行数据恢复。 本发明是基于上述思想建立的基于时间戳建立数据视图的连续数据保护系统 及方法(Continuous Data Protection, CDP)。
文件管理系统通过索引机制对文件进行管理,通过索引表的方式将文件 名及其实际存储位置联系起来。在关系数据库管理系统中,构建数据库时对 不同种类的数据对象创建不同的基本表,依据不同的访问需求所对应的关系 条件从基本表中提取相关的记录通过关系运算生成相应的视图提供给访问者。根据文件管理系统的特点,借鉴关系数据库管理系统中视图建立的思想 可以构建如下述的系统对数据进行动态的连续保护
1) 将被保护区域的文件分割为若干数据单元,数据单元是统一大小的数 据块,
2) 为被保护的数据区域建立文件管理表,该表记录被保护文件所有变更 记录,表中的记录应该包含如下信息文件编号、文件名(含路径)、文件大小、 文件属性、创建时间、更新时间、更新标志、文件数据单元构成,
3) 为某一时刻的数据创建数据视图,该视图提供给定时刻文件管理系统 可见的文件索引信息,视图中的记录应包含如下信息文件编号、文件名(含 路径)、文件大小、文件属性、创建时间、更新时间、文件数据单元构成,当 前时刻的数据视图为当前视图,其内容与文件管理系统的被保护区域文件索 引表一一对应;为过去某一时刻建立的数据视图为历史视图。
4) 监控文件管理系统对被保护区域进行的写操作(创建、修改、删除), 当写操作发生时文件的变更信息及变更时间均记录在文件管理表中并在当前 视图中作相应更新,
5) 当需要对某一时刻的数据进行恢复时,为该时刻的数据建立历史视图,
并以历史视图替换当前视图,将当前视图的内容转换为文件管理系统被保护
区域的文件索引表。
本发明的优点
1)将数据库管理中表和视图的概念引入到数据保护方法中,这是本发明的创 新点之一。传统的方法通过文件分割的方式或物理数据单元管理表格的方 式对被保护数据进行管理,前者增加文件系统的开销,后者则需要对物理 存储单元进行管理,容易与操作系统造成冲突。而采取文件管理表和数据 视图的方式,在文件管理表中登记了被保护文件在所有时刻的构成信息, 数据视图则与文件管理系统的文件索引表一一对应,这样既记录了所有被 保护的数据,而存储单元的管理则交给文件管理系统进行,达到了有效保 护数据又提高系统稳定可靠性的目的2) 通过O号文件登记所有被删除和替换的数据单元,使这些数据单元对文件 管理系统可见,达到保护这些数据单元内容的目的,这是本发明的第二个 创新点,保证了所有被保护的数据都通过文件管理系统来管理
3) 本发明的第三个创新点是通过历史数据视图与文件索引表的一一映射关系 来恢复任意时刻的数据,恢复的过程也是通过文件管理系统进行,方便可 靠
4) 本发明的第四个创新点是通过数据视图的方式建立时标——文件——数 据单元之间的关系,无需考虑数据单元之间映射关系,结构简单,操作方 便


图l功能结构及数据流图,
图2系统初始化流程图,
图3文件操作流程图,
图4文件创建流程图,
图5文件修改流程图,
图6文件删除流程图,
图7数据恢复流程图。
具体实施方式
l.基本数据结构
在本系统中用到两张基本表和两个视图管理属性表、文件管理表、当 前视图、历史视图。其中管理属性表记录用户参数设置、保护系统的创建时 间、最近一次迸行数据恢复的时间、最近一次替换当前视图的历史视图的生 成时标;文件管理表则记录被保护区域文件的所有变化信息;当前视图是对 应当前时刻的数据视图;历史视图则是针对某一时间节点生成的数据视图。 各表与视图的构成描述如下
l)管理属性表 Protected Area:保护区域DataUnitSize:数据单元粒度,即每个数据单元的扇区数 CurViewCreatedTime:当前视图创建时标,当前视图第一次创建的时 间戳(Timestamp, TS),也是保护系统创建的时间标志
CurViewR印lacedTime:当前视图替换时标,当前视图最近一次被某历 史视图替换的时间
HisGenaratedTinie:历史视图生成时标,最近一次替换当前视图的历史 视图的生成时标
MaxFileNumber:最大文件编号 2)文件管理表
FileNumber:文件编号,每个被保护的文件都有一个编号,当这个文件 发生变化时会生成新的编号。该编号从l开始顺序增长 FileName:文件名,被保护文件的文件名,含路径 FileSize:文件大小,文件在发生变化时刻的实际大小,以字节为单位 FileAttrib:文件管理系统所定义的文件属性 FileCreateTime:文件创建时间
FileUpdatedTime:文件发生变化的时间,包括被创建、被修改、被删
FileUpdatedMark:文件更新标志,标志文件发生的具体变化是创建 CREATE、修改UPDATE、还是删除DELETE
FileConstitution:文件数据单元构成,文件变化时刻该文件的数据单元 构成及排列顺序
注 一般文件的文件编号从3开始,编号为0、 1、 2的文件都是系统生 成的特殊文件,详细说明如下
0号文件用于登记被删除或被替换的数据单元的信息,由系统通过改写 文件管理系统的文件索引表的方式建立,目的是防止被删除或被替换的数 据单元被文件管理系统释放而当作空闲的数据单元进行分配而造成这些数 据单元中数据丢失。其记录信息如下FileNumber=0
FileName=, ,maskdata"
FileSize-所含数据单元数X数据单元粒度
FileAttrib-SYS+HIDE
FileCreateTimeH亥文件创建时间
FileUpdatedTime-该文件最近被修改时间
FileUpdatedMark=CREATEorUPDATE
FileConstitution《文件管理表中3号以后记录出现过但当前数据视图3 号以后记录中未出现的数据单元 1号文件用于存放管理属性表和文件管理表,其记录信息如下 FileNumber=l FileName="datatab" FileSize-该文件实际大小 FileAttrib=SYS+HIDE FileCreateTime4亥文件创建时间 FileUpdatedTime-该文件最近被修改时间 FHeUpdatedMark=CREATEOrUPDATE FileConstitutioiK〈该文件的数据单元构成 2号文件用于存放当前数据视图,其记录信息如下 FileNumber=2 FileName="curview,, FileSize-该文件实际大小 FiIeAttrib=SYS+HIDE FiIeCreateTime-该文件创建时间 FileUpdatedTime-该文件最近被修改时间 FileUpdatedMark=CREATEorUPDATE FileConstitutioiK〈该文件的数据单元构成3)数据视图
FileNumber:同文件管理表FileNumber FileName:同文件管理表FileName
FileSize:文件在视图生成时标对应时刻的实际大小,以字节为单位 FileAttrib:同文件管理表FileAttrib FileCreateTime:同文件管理表FileCreateTime FileUpdatedThne:文件最近被修改的时间 FileConstitution:文件当前数据单元构成及排列顺序 功能结构
从功能结构上划分,本系统应包含下列模块-
1) 人机接口模块 为用户提供操作界面。
在系统初始化时记录用户设定的保护区域UserProtectedArea、数据单 元粒度UserDataUnitSize等信息,并将这些信息传递给数据管理模块。 在数据恢复时记录用户设定的恢复时间节点信息RestoreTime,并将
这些信息传递给数据管理模块。
2) 文件管理系统接口模块
在系统初始化时从文件管理系统获取被保护区域文件的下列信息 文件名(含路径)、文件属性、文件大小、创建时间、最近修改时间、文 件数据单元构成等信息,并将这些信息传递给数据管理模块。并在接收 到数据管理模块传递过来的0—2号文件的信息后通过文件管理信息创建 0-2号文件。
在正常操作过程中监控文件管理系统的写操作,当发生写操作时根据 需要修改操作参数并记录下列信息文件操作类型(创建、修改、删除)、
发生写操作文件的文件名、数据单元操作类型(分配、替换、删除),并将 这些信息传递给数据管理模块。
在数据恢复时根据数据管理模块传递过来的当前数据视图生成文件管理系统的文件索引。 3)数据管理模块
在系统初始化时根据人机接口模块提供的参数对管理属性表、文件管
理表、当前视图进行初始化,在文件管理表和当前视图中生成0—2号文 件信息,并将0 2号文件的信息传递给文件管理系统接口模块。
在正常操作过程中根据文件管理系统接口模块传递过来的相关信息 在文件管理表中创建新记录并修改当前视图中的记录。
在数据恢复时根据人机接口模块传递的恢复时间节点信息生成历史 数据视图,以历史视图替换当前视图,修改管理属性表中相关信息,并将 当前视图信息传递给文件管理系统接口模块。 2.方法描述 2.1系统初始化
系统在第一次工作时需要进行初始化,系统初始化流程图参见附图2, 其具体流程如下
1) 系统处于非监控状态
2) 数据管理模块生成空白管理属性表ManTable 3)人机接口模块将用户设定的保护区域UserProtectedArea、数据单元粒

UserDataUnitSize等参数传递给数据管理模块
4) 数据管理模块生成空白管理属性表ManTable并根据人机接口模块 提供的信息进行初始化
5) 数据管理模块创建空白文件管理表FHeTable并按照0 2号文件记录 的定义在 FileTable中创建和初始化0—2号文件记录信息,其中0号文 件对应记录项的FileConstitution应为空
6)数据管理模块创建空白当前视图CnrFileView并按照0 2号文件视图 记录的定义在CurFileView中创建和初始化0 2号文件记录信息并将这些 信息传递给文件管理系统接口模块7)文件管理系统接口模块依据数据管理模块提供的信息通过文件管理系
统创建0—2号文件并将相关信息写入相应文件
8) 文件管理系统接口模块通过文件管理系统扫描保护区域文件索引信息 并传递给数据管理模块
9) 数据管理模块依据文件管理系统接口模块提供的信息在FileTable和 CurFileView中添加相应的记录,并且将FileTable中对应记录的 FileUpdatedMark赋值为CREATE
10) 文件管理系统接口模块将相应信息写入1号文件及2号文件
11) 文件管理系统接口模块判断是否扫描完所有文件,是则继续,否则 回到步骤8).
12) 文件管理系统接口模块将1号文件及2号文件的文件大小、数据单元 构成等信息传递给数据管理模块
13) 数据管理模块更新FileTable及CurFileView中1号文件及2号文件的 对应记录
14) 系统进入监控状态
15) 初始化结束 2.2开机处理
当系统掉电重新开机时需要通过读取1号文件和2号文件重建 ManTable、 FileTable及CurFileView 2.3文件操作
系统完成初始化操作后就进入正常操作模式,在此模式下系统进入监控 状态,文件管理系统接口模块监控文件管理系统的操作并做相应处理,这些 操作包括文件创建、文件修改和文件删除。文件操作流程图参见附图3,其 具体流程如下
1) 系统处于监控状态
2) 文件管理系统接口模块监控文件管理系统对被保护区域文件的操作, 若有写操作继 续,否则循环步骤2)3)判断当前写操作的类型,若是文件创建操作进入文件创建流程,若是
文件修改操作进入文件修改流程,若是文件删除操作进入文件删除流程
2.4文件创建
在文件创建的处理中,数据管理模块需要在FileTable和CurFileView
中为新创建的文件添加新记录。文件创建流程图参见附图4,其具体流程如 下
1) 系统处于监控状态
2) 文件管理系统接口模块将被创建文件信息传递给数据管理模块
3) 数据管理模块依据文件管理模块提供的信息在FileTable中添加新记录并 将该记录的FileUpdatedMark赋值为CREATE
4) 数据管理模块依据上一步的信息在CurFileView中添加新纪录
5) 系统进入非监控状态
6) 文件管理系统接口模块将FileTable、 CurFileView中新添加的记录分别写入 1号文件和2号文件,并将修改时间、文件大小、数据单元构成等信息反馈 给数据管理模块
7) 数据管理模块修改FileTable、 CurFileView中1号文件、2号文件对应记录 的信息
8) 系统进入监控状态
9) 文件创建结束 2.5文件修改
文件修改包括在现有的数据单元进行修改、删除一个现有数据单元及插 入一个新的数据单元,第一种情况需要申请新的数据单元替换被修改的数据 单元,前两种情况都需要将被替换或被删除的数据单元登记到0号文件中去。 文件修改流程图参见附图5,其具体流程如下-
1) 系统处于监控状态
2) 文件管理系统接口模块判断被修改文件是否0…2号文件,否则继续,是则 直接弹出,结束文件修改流程3) 文件管理系统接口模块判断当前操作是否在该文件的数据单元U上直接改 写,是则继续、否则转步骤8)
4) 文件管理系统接口模块将数据单元U的信息传递给数据管理模块
5) 数据管理模块将数据单元U登记到FileTable和CurFileView与0号文件相 对应的记录的FileConstitution数据项中
6) 文件管理系统接口模块将当前操作改为在新申请的数据单元W中写入改 写后的内容并以W代替V
7) 转步骤ll)
8) 文件管理系统接口模块判断当前操作是否删除数据单元V,是则继续,否 则转步骤ll)
9) 文件管理系统接口模块将数据单元V的信息传递给数据管理模块
10) 数据管理模块将数据单元V登记到FileTable和CurFileView与0号文件 相对应的记录的FileConstitution数据项中
11) 文件管理系统接口模块将被改写文件的相关信息传递给数据管理模块
12) 数据管理模块依据文件管理系统接口模块提供的信息在FileTable中为被 改写的文件创建一个新记录并标记其FileUpdatedMark为UPDATE
13) 数据管理模块依据FileTable中最新记录的信息在CurFileView中将其同名 记录替换掉
14) 系统进入非监控状态
15) 文件管理系统接口模块按照FileTable、 CurFileView中的信息改写0-2号 文件件并将改写后的1号文件及2号文件信息反馈给数据管理模块
16) 数据管理模块修改FileTable、 CurFileView中1号文件及2号文件对应记 录项中的信息
17) 系统进入监控状态
18) 文件修改结束 2.6文件删除
文件删除需要将被删除文件的构成数据单元登记到0号文件中去。文件删除流程图参见附图6,其具体流程如下
1) 系统处于监控状态
2) 文件管理系统接口模块判断被删除文件是否0-2号文件,否则继续,是则直 接弹出,结束文件删除操作
3) 文件管理系统接口模块将被删除文件信息传递给数据管理模块
4) 数据管理模块在FileTable中为被删除文件创建一个新记录并标记其 FileUpdatedMark为DELETE
5) 数据管理模块将被删除文件的数据单元信息登记到FileTable和 CurFileView中0号文件的FileConstitution数据项中
6) 数据管理模块在CurFileView中将被删除文件对应的记录项删除
7) 系统进入非监控状态
8) 文件管理系统根据FileTable、 CurFileView中信息改写0-2号文件,并将改 写后的1号文件及2号文件信息反馈给数据管理模块
9) 数据管理模块修改FileTable、 CurFileView中1号文件及2号文件对应记录 项中的信息
10) 系统进入监控状态
11) 文件删除结束 2.7数据恢复
数据恢复流程图参见附图7,其具体流程如下
1) 系统进入非监控状态
2) 人机接口模块将用户设定的恢复时间节点RestoreTime传递给数据管理模 块
3) 数据管理模块根据RestoreTime从FileTable查找符合下列条件的记录项生 成历史视图HisFileView:
參0 2号文件所对应的记录项应在HisFileView中,其中0号文件对应记 录项的FileConstitution应为空
參FileTable中所有满足下述条件的记录项FileTable [i(3 〈 =i〈-MaxFileNumber)应在HisFileView中建立对应的记录项
a) FileTable[i.FileUvdatedTime<=RestoreTime
b) FileTable[i.FileUvdatedMark!=DELETE
c) 若FileTable中存在记录项FileTable[j] (3 〈, 〈=MaxFileNumber),FileTable[jl. FileName==FileT
able[i]. FileName
且FileTable[jl. FileUpdatedTime<=RestoreTime &&FileTable[jl. FileUpdatedMark==DELETE
则必须满足FileTable[i]. FileUpdatedTime>FileTabIe[jFileUpdatedTime
d) 若HisFileView中存在记录项HisFileView[k(k>= 3), HisFileView[k) . FileName=FileTable[i.FileName 贝lj必须满足 FileTable[i.FileUpdatedTime>HisFileView[k.FileUpdatedTime
參满足上述条件但是HisFileView己经存在同名记录项则在HisFileView 中保留FileUpdatedTime最近的同名记录项
4) 数据管理系统扫描FileTable和HisFileView,将满足下列条件的数据单元信 息登记到HisFileView中0号文件对应的记录项的FileConstitution中
*将FileTable所有FileNumber>=3的记录项中的FileConstitution中的每个 数据单元U和HisFileView中所有FileNumber>=3的记录项中的 FileConstitution内容做比对,如果U不在HisFileView中的任意一个记录项 的FileConstitution中则将U登记到HisFileView中0号文件对应记录项的 FileConstitution中
5) 数据管理模块用HisFileView替换CurFileView,并改写ManTable中的相
关信息
6) 数据管理模块根据CurFileView中的内容修改FileTable中0号文件对应的 记录项
7) 文件管理系统接口模块依据CurFileView中的内容修改文件管理系统的文 件索引表并修改0-2号文件,然后将1号及2号文件的信息反馈给数据管理模块
8)数据管理模块依据文件管理系统接口模块提供的信息修改FileTable及 CurFileView中1号及2号文件对应的记录项。
数据视图为被保护区域的文件建立的文件信息和数据单元构成信息视
图,可以转化为文件管理系统的文件索引表
当前视图面向当前时间数据视图
历史视图基于历史某一时间节点建立的数据视图,在恢复时用于替代 当前视图
数据单元构成文件和进行数据备份的基本数据单位,在本发明中定义 为统一大小的物理数据块
数据单元粒度数据单元的大小,以扇区为单位,可针对不同应用场合 调整,但对同一个应用系统所有数据单元粒度是统一的
时标创建视图的时间节点基准
生成时标若历史视图是基于某一时间节点生成的,则该时间节点为该 历史视图的生成时标。
权利要求
1、一种基于时间戳建立数据视图的连续数据保护系统及方法,借鉴关系数据库管理系统中针对不同的用户需求据数据库建立不同视图的思想,通过记录数据单元的存储信息、变更信息及其变更时间建立被保护数据的存储及变化数据库,并通过依据用户设定的时间节点建立基于该时间节点的数据视图提供给文件管理系统作为索引依据的方式来进行数据恢复,其特征在于1)将被保护区域的文件分割为若干数据单元,数据单元是统一大小的数据块,2)为被保护的数据区域建立文件管理表,该表记录被保护文件所有变更记录,表中的记录应该包含如下信息文件编号、文件名(含路径)、文件大小、文件属性、创建时间、更新时间、更新标志、文件数据单元构成,3)为某一时刻的数据创建数据视图,该视图提供给定时刻文件管理系统可见的文件索引信息,视图中的记录应包含如下信息文件编号、文件名(含路径)、文件大小、文件属性、创建时间、更新时间、文件数据单元构成,当前时刻的数据视图为当前视图,其内容与文件管理系统的被保护区域文件索引表一一对应;为过去某一时刻建立的数据视图为历史视图,4)监控文件管理系统对被保护区域进行的写操作(创建、修改、删除),当写操作发生时文件的变更信息及变更时间均记录在文件管理表中并在当前视图中作相应更新,5)当需要对某一时刻的数据进行恢复时,为该时刻的数据建立历史视图,并以历史视图替换当前视图,将当前视图的内容转换为文件管理系统被保护区域的文件索引表。
全文摘要
本发明涉及一种基于时间戳建立数据视图的连续数据保护系统及方法,属于数据保护领域,它是借鉴关系数据库管理系统中针对不同的用户需求据数据库建立不同视图的思想,通过记录数据单元的存储信息、变更信息及其变更时间建立被保护数据的存储及变化数据库,并通过依据用户设定的时间节点建立基于该时间节点的数据视图提供给文件管理系统作为索引依据的方式来进行数据恢复。本发明的优点是达到了有效保护数据又提高系统稳定可靠性的目的,保证了所有被保护的数据都通过文件管理系统来管理。
文档编号G06F17/30GK101576834SQ20091002241
公开日2009年11月11日 申请日期2009年5月8日 优先权日2009年5月8日
发明者燕 石 申请人:西安蓝海本立信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1