计算机数据对象的备份和恢复方法及实现该方法的系统和程序产品的利记博彩app

文档序号:6613845阅读:172来源:国知局
专利名称:计算机数据对象的备份和恢复方法及实现该方法的系统和程序产品的利记博彩app
技术领域
本发明涉及计算机数据对象的保护,具体涉及计算机数据对象的备份和恢复方法及 5 实现该方法的系统和程序产品,以实现包括实时备份在内的各种备份策略。
背景技术
在当今社会中,全球化的商业活动、人们的日常工作、学习、生活、娱乐都越来越 离不开以计算机及网络为基础的信息化环境。由此而产生的众多的有用信息都以计算机 10 数据对象的形式存储在计算机及其他形式的存储系统中。但是,在计算机处理数据的过 程中,可能发生大量的意外,如自然灾害、恐怖活动、或者更平常的事件,如计算机硬 件和/或软件故障、误删除、误修改等。这些故障通常导致数据损坏、不可靠,甚至丢 失,因而给商业活动及人们的社会生活带来巨大的经济、精神、时间等损失,有时甚至 是不可逆转的损失。
15 由于意识到可靠的计算机数据的商业价值,业内人士一直在寻求保护计算机数据以
及重建被损坏、不可靠或被丢失数据的方法。在数据备份领域,传统上有完全备份、差
异备份、增量备份等方式。完全备份是备份全部的文件;差异备份是针对完全备份而言, 备份上一次的完全备份后发生改变的所有文件;增量备份是针对于上一次备份(无论是 完全备份、差异备份还是增量备份),备份上一次备份后所有发生改变的文件,通过这
20 些方式的组合来实现数据备份。但是这些方式每次都要备份所有或有变化部分的要备份 的数据对象,需要处理的数据量很大,冗余量也很大,都存在占用存储空间过大、对计 算机的系统资源如CPU、内存等占用过大,对网络带宽负荷过大等问题,严重地影响各 种计算机系统及网络或者各种通信系统的可使用性和效率;而且只能恢复数据固定时刻 的版本,牺牲对数据的即时存储,不能恢复数据的任意历史时刻的数据。另一个严重的
25局限性是在创建备份拷贝时以及在重建数据时,禁止用户读取该数据的时间长度过长。

发明内容
本发明的目的是克服现有技术的不足之处,而提供一种数据传输量少、可用性好和 效率高的计算机数据对象的备^f分和恢复方法及实现该方法的系统和程序产品。才艮据使用者的需要,本发明的计算机数据对象的备份和恢复方法可以有三种实现方 式实时监控备份源的变化,实时进行^f分操作;或者实时监控备份源的变化,定时进 行备份操作;或者定时检查备份源的变化,定时进行备份操作。 才艮据本发明方法第 一种实现方式的技术方案如下 5 —种计算机数据对象的备份和恢复方法,通过处理器和与所述处理器相连接的备份
存储器实现;将待备份的数据对象设定为备份源,在所述备份存储器中存储有所述备份 源的名—分数据序列,所述备份数据序列包括所述备份源的初始完全备份和中间变化量及 其属性的备份;所述备份和恢复方法包括以下步骤
(a )检查所述备份源和所述备份是否同步,在每次启动备份系统时立即做且仅做 10 —次该操作;
(b) 如果不同步,则进入步骤(c);如果同步,则进入步骤(d);
(c) 检测备份源和备份数据序列的数据,计算差异部分,将差异部分同步至所述 备份数据序列,完成源和备份的同步;
(d )开启备^^源变化量实时监控功能,监控操作系统对备^f分源的写请求,所述变 15 化量实时监控功能包括以下步骤
(dl )判断是否发生与所述备份源相关的写请求,如果不存在与所述备份源相 关的写请求,则进入(d3);如果存在与所述备份源相关的写请求,则进入(d2);
U2)分析该请求,得到变化数据及其属性,将所述变化数据及其属性备份到 所述备份数据序列; 20 (d3)释放所控制资源;
当需要恢复数据时,根据所需的时间点,对所述备份数据序列中的部分或全部数据 进行叠加,从而得出所述计算机数据对象在所需时间点的完整拷贝。 根据本发明方法第二种实现方式的技术方案如下
一种计算机数据对象的备份和恢复方法,通过处理器和与所述处理器相连接的备份 25存储器实现;将待备份的数据对象设定为备份源,在所述备份存储器中存储有所述备份 源的名^分数据序列,所述备份数据序列包括所述备份源的初始完全备份和中间变化量及 其属性的备份;所述备份和恢复方法包括以下步骤
(a )检查所述备份源和所述^P分是否同步,在每次启动备份系统时立即做且仅做 一次该操作;
30 (b)如果不同步,则进入步骤(c);如果同步,则进入步骤(d);
6(C)检测备份源和备份数据序列的数据,计算差异部分,将差异部分同步至所述 备份数据序列,完成源和备份的同步;
(d)开启^#源变化量实时监控功能,监控操作系统对备份源的写请求,所述变 化量实时监控功能包括以下步骤 5 ( dl )判断是否发生与所述^^分源相关的写请求,如果不存在与所述备份源相关
的写请求,则进入(d3);如果存在与所述备份源相关的写请求,则进入(d2);
(d2)记录变化量及其相关属性信息,待到达预定时间,才艮据前述中记录的变化 量及其相关属性信息,计算出最后一次的备份和当前备份源的差异,将差异进行备份到 所述备份数据序列; 10 (d3)释放所控制资源;
当需要恢复数据时,根据所需的时间点,对所述备份数据序列中的部分或全部数据 进行叠加,从而得出所述计算机数据对象在所需时间点的完整拷贝。 才艮据本发明方法第三种实现方式的技术方案如下
一种计算机数据对象的备份和恢复方法,通过处理器和与所述处理器相连接的备份 15存储器实现;将待备份的数据对象设定为备份源,在所迷备份存储器中存储有所述备份 源的备份数据序列,所述备份数据序列包括所述备份源的初始完全备份和中间变化量及 其属性的备份;所述备份和恢复方法包括以下步骤
(a )每到预定时间点则检查所述备份源和所述备份是否同步; (b)如果不同步,则进入步骤(c);如果同步,则本次同步操作结束; 20 (c)检测备份源和^除数据序列的数据,计算差异部分,将差异部分同步至所述
备份数据序列,完成源和备份的同步;
当需要恢复数据时,根据所需的时间点,对所述备份数据序列中的部分或全部数据 进行叠加,从而得出所述计算机数据对象在所需时间点的完整拷贝。
其中,所述数据对象是指在计算机中逻辑上相关联的数据集合,如windows操作系 25统下的文件等。所修改的数据称为数据对象变化量,所述数据对象变化量是数据本身、 数据块内的数据或文件内的数据改变部分。所述数据对象变化量属性是指与该数据对象 变化量或相关数据块相联系的一些特征参数,比如起始和终止位置、大小、时间戳、操 作类型、所属对象等。
本发明还提供用于实现本发明方法的计算机数据对象的备份和恢复系统,所述备份 30和恢复系统具有备份功能和恢复功能。本发明还提供用于实现本发明方法的计算机程序产品。
本发明方法可以平滑的提供数据的各个历史版本,并且本发明所述方法相比传统备 份方式,需要备份和传输的数据量大幅度降低,不但减少了备份占用的存储空间和计算 机系统资源(如CPU、内存等),同时还大幅度减少了网络传输带宽的占用,各种资源 5 利用率都得以大幅度4是高。


下面结合附图及实施例对本发明的计算机数据对象的备份和恢复方法及系统做进 一步详细的说明。
]0 图l是本发明计算机数据对象的备份和恢复方法的第一种实现方式的流程图2是釆用本发明方法的备份和恢复系统的一个实施例的网络结构示意图; 图3是图2所示的备份和恢复系统中的用户计算机内部系统结构示意图; 图4是根据本发明方法的一个实施例的计算机数据对象的备份过程示意图; 图5是根据本发明方法的一个实施例,基于图4所示的备份过程的计算机数据对象
15 的恢复过程示意图。
优选实施例
根据本发明方法的第 一种实现方式的优选实施例包括四个部分数据对象的初始 化、数据一致性检验及变化数据块同步备份、数据对象变化量监控及变化量备除、数据 20对象的恢复。本优选实施例的实现前提为先对系统内需要备份的数据对象进行一次完全 备份,然后根据如下四部分实现。 第一部分数据对象的初始化。
本发明方法的第一步需要进行数据对象的初始化,主要包括两方面的操作将待备 份的数据对象设定为备份源,并对该备份源进行一次全备份,形成备份源的初始完全备 25份,并将所述初始完全备份存储到备份存储器。
初始完全备份形成之后,每当所述数据对象发生修改时,系统每次仅对数据对象的 变化量及其属性进行备份,即形成变化量及其属性的^^分,并将所迷变化量及其属性的 备份存储到备份存储器。
所述备份源的初始完全备份和中间变化量及其属性的备份构成备份数据序列。 30 本实施例的第二部分和第三部分为如图1所示。第二部分数据对象的 一致性检验及变化数据块同步备份。
每次备份功能启动时,需要对备份源及备份数据序列进行相应的特征值(数据指紋) 比对,确定备份源及备份数据序列是否一致,如不一致,则将备份源和备份数据序列进 行分块和特征值比较,以定位出有变化的数据块(所述数据块的大小可以任意设定和调 5 节),并将这些有变化的数据块及其相关属性(比如起始和终止位置、大小、时间戳、 操作类型、所属对象等)一起备份至备份存储器中。这样就保证了备份源与其备份之间 的一致性,完成了备份源和备份数据序列的同步。
第三部分数据对象变化量监控及变化量备份。
如图l所示,在完成数据对象的同步操作之后,将启动本发明方法中最核心的数据 10对象变化量的实时监控功能,所述实时监控功能包括以下步骤
(1) 判断是否发生与所述备份源相关的10写请求,如果不存在与所述备份源相关 的I0写请求,则进入(3);如果存在与所述备份源相关的IO写请求,则进入(2);
(2) 分析该请求,得到变化数据及其属性,将所述变化数据及其属性备份到所述 备份数据序列;
15 O)释放所控制资源。
所述实时监控不限于监控IO写请求,也可以是其他方式,如APIH00K。 所述监控功能优选为实时监控,但也可以是类似于第二部分中描述的变化数据块定 位操作的适时监控。监控功能可以监控到备份源内哪一个数据对象发生了变化、变化的 内容、变化的时间、变化的方式(即操作类型增加、修改、删除等),变化的数据块 20在存储设备中的存放位置、数据量大小等。系统实时或适时地将变化量本身或其被存放 的数据块及其相关属性一起备份至备份存储器中,从而形成所述备份数据序列,这样就 保存了备份源的所有变化的中间过程状态。 第四部分数据对象的恢复。
当需要恢复备份源内的数据对象时(如备份源内的数据对象遭受破坏、丢失、或需 25要备份源内的数据对象的历史版本等),只需要将备份源内的数据对象的初始完全备份 及其全部或部分中间变化量备份以适当的算法进行叠力口,即可恢复出备份源内的数据对 象的最后版本及中间的历史版本,在实时监控的情况下,甚至可以是中间的任意历史版本。
如图2所示,在本发明的一个实施例中,实现本发明的计算机数据对象的备份和 30 恢复方法的计算机网络系统包括一个或多个用户计算机101, —个或多个4^分存储服务器104, —个或多个应用程序服务器103,所述备份存储服务器104和应用程序服务器 103通过网络102 (局域网或广域网)耦合到所述用户计算机101上。
图2所示的网络化计算环境是大型系统的典型范例,例如,大的金融机构或大公司 所使用的系统。但是,适用本发明方法的网络化计算环境并不是必须包括前面列举的所 5 有部件,也可以是小型的和筒化的网络化计算环境,如包括处理器和存储设备的计算机, 所述存储设备可以是计算机本身的存储设备,也可以是与计算机直接连接或通过网络连 接的存储设备。
图3是图2中用户计算机IOI的结构示意图,包括硬件部分和软件部分。其中的硬 件部分包括中央处理器(CPU) 205、随机存储器204、非易失性存储设备206 (在本实
10 施例中是硬盘),所述CPU 205、随机存储器204和非易失性存储设备206通过计算机 总线203进行耦合;其中的软件部分包括操作系统、驱动程序和应用软件201,所述才喿 作系统例如Microsoft Windows XP系统,所有的驱动程序和应用程序均运行在操作系 统之上。在需要备份的用户计算机101中,应用程序先将用户计算机中的数据对象以文 件的方式存储在非易失性存储设备206中,应用程序对数据对象随后的修改,通过操作
15 系统记录在存储于存储设备2 06内的文件里。
操作系统通过驱动程序来处理应用程序对硬件的操作,针对硬盘,操作系统上挂载 了若干1/0驱动程序202,操作系统将应用程序对硬盘的写操作发送给挂载的1/0驱动 程序,由I/O驱动程序来完成对硬盘的真正读写。通过向操作系统挂载I/O驱动程序 202即可监控操作系统的所有写操作。1/0驱动程序202根据获取到的写请求,分析写
20请求的类型,得到请求所操作的数据对象,确认出是否是需要备份的数据发生了变更。 根据本发明的计算机数据对象的备份和恢复的方法,当第一次设定所需要^^分的数 据对象时,备份和恢复系统将对所需要备份的数据对象先创建一个全拷贝301,并将所 述全拷贝存储在备份存储服务器104中;然后将数据对象的内容划分为多个数据块,以 典型的Windows XP NTFS系统为例,每个数据块的大小为4k (如果需要,数据块大小
25 可以任意调整),计算出每个数据块的特征值,将所有数据块的特征值形成的数据集合 保存。由于特征值相对于整个数据块而言数据量大幅度减少小,因此可以大幅度縮减所 要存储的数据量。
每当备份功能启动的时候,系统将检查用户计算机101中需要备份的备份源和其备 份的同步状况。系统获取备份源和备份的数据对象的特征值并比照,如果完全相同,即 30认为该备份源和其备份的数据对象是一致的,否则,系统将进一步获取备份源和备份的相应数据块的特征值并进行比照,然后定位出备份源和备份的数据对象的差异部分,并 将差异部分同步至备份存储服务器104。
当数据对象发生修改时,1/0驱动程序202获取到操作系统的写请求,分析该写请 求,并确认该请求的类型。如图4所示,当数据对象发生第一次修改时,操作系统通过 5 处理写请求操作将数据对象的内容从位置1到位置2之间的片段变更为新的内容302; 备份和恢复系统将该变更的内容及其属性(比如时间戳、位置1、位置2、修改操作类 型及文件信息)保存至^f分存储服务器104,追加到该文件对应的备份数据序列中。随 后备份和恢复系统将跟踪并监测该数据对象的每次写操作,并重复执行上述步骤。如当 数据对象发生第二次修改时,操作系统通过处理修改请求操作将数据对象的内容从位置
10 3到位置4之间的片段变更为新的内容303,备份和恢复系统将该变更的内容及其属性 保存至备份存储服务器104,追加到该文件对应的备份数据序列中;当数据对象发生第 三次修改时,操作系统通过处理修改请求操作将数据对象的内容从位置5到位置6之间 的片段变更为新的内容304,备份和恢复系统将该变更的内容及其属性保存至备份存储 服务器104,追加到该文件对应的备份lt据序列中。
15 其中,可以将该数据对象修改分析的结果数据加入待处理队列,用异步的方式处理,
以减少对当前凄t据的处理时间。
或者,将数据修改的内容保存至备份存储器,同时记录所述计算机包含改变的部分 的数据块特征值,采用该特征值作为数据块内容的索引。所述操作具有原子性,即所述 操作必须同时被完成,任何操作的缺失都被视为整个操作的失败。
20 当进行数据恢复操作时,用户提供其所需恢复的版本时间点,以便确定所需恢复的
版本的备份数据或数据块。如图5所示,在本实施例中,确定恢复的时间点为第二次修 改版本,根据该时间点,备份和恢复系统找出该文件对象对应的备份数据序列在该时间 点相关的所有备份数据或数据块,包括从位置1到位置2之间的更新内容302,以及从 位置3到位置4之间的更新内容303,并对这些备份数据或数据块按照适当算法如投影
25法进行叠加,得出的结果即是要求恢复的数据对象在指定时刻的版本。
在上述所描迷的相同的环境中,传统的^^分和恢复系统将在固定的时刻对需要备份的源 文件对象进行全备份、增量备份或差异备份。通常只能保留源文件对象固定时刻版本, 并且每次都需要将源文件对象的全部数据的备份进行保存;当进行备份操作时,备份源 文件对象将被禁止进行其他操作,即备份源的应用系统将被要求停止。相比之下,本发
30明可以保留^f分源对象的各个变更版本,如果实时监控没有中断,并且系统及网络带宽
11足够,便可以保留所有历史状态信息,这样甚至是任意时刻的历史版本。而且,本发明 只需要保存每次变动的数据备份,并且完全不影响备份源被其他应用系统使用。
权利要求
1. 一种计算机数据对象的备份和恢复方法,通过处理器和与所述处理器相连接的备份存储器实现;将待备份的数据对象设定为备份源,在所述备份存储器中存储有所述备份源的备份数据序列,所述备份数据序列包括所述备份源的初始完全备份和中间变化量及其属性的备份;所述备份和恢复方法包括以下步骤(a)检查所述备份源和所述备份是否同步,在每次启动备份系统时立即做且仅做一次该操作;(b)如果不同步,则进入步骤(c);如果同步,则进入步骤(d);(c)检测备份源和备份数据序列的数据,计算差异部分,将差异部分同步至所述备份数据序列,完成源和备份的同步;(d)开启备份源变化量实时监控功能,监控操作系统对备份源的写请求,所述变化量实时监控功能包括以下步骤(d1)判断是否发生与所述备份源相关的写请求,如果不存在与所述备份源相关的写请求,则进入(d3);如果存在与所述备份源相关的写请求,则进入(d2);(d2)分析该请求,得到变化数据及其属性,将所述变化数据及其属性备份到所述备份数据序列;(d3)释放所控制资源;当需要恢复数据时,根据所需的时间点,对所述备份数据序列中的部分或全部数据进行叠加,从而得出所述计算机数据对象在所需时间点的完整拷贝。
2. —种计算机数据对象的备份和恢复方法,通过处理器和与所述处理器相连接的备份存储器实现;将待备份的数据对象设定为备份源,在所述备份存储器中存储有所述 备份源的备份数据序列,所述备份数据序列包括所述备份源的初始完全备份和中间变化 量及其属性的备份;所述备份和恢复方法包括以下步骤(a )检查所述备份源和所述备份是否同步,在每次启动备份系统时立即做且仅做一 次该操:作;(b) 如果不同步,则进入步骤(c);如果同步,则进入步骤(d);(c) 检测备份源和备份数据序列的数据,计算差异部分,将差异部分同步至所述备 份数据序列,完成源和备份的同步;(d) 开启备份源变化量实时监控功能,监控操作系统对备份源的写请求,所述变化 30量实时监控功能包括以下步骤(dl )判断是否发生与所述备份源相关的写请求,如果不存在与所述备份源相关 的写请求,则进入(d3);如果存在与所述^^分源相关的写请求,则进入(");(d2)记录变化量及其相关属性信息,待到达预定时间,根据前述中记录的变化 量及其相关属性信息,计算出最后一次的备份和当前备份源的差异,将差异进行备份; 5 (d3)释放所控制资源;当需要恢复数据时,根据所需的时间点,对所述备份数据序列中的部分或全部数据 进行叠加,从而得出所述计算机数据对象在所需时间点的完整拷贝。
3. —种计算机数据对象的备份和恢复方法,通过处理器和与所述处理器相连接的 10备份存储器实现;将待备份的数据对象设定为备份源,在所述备份存储器中存储有所述 ^W分源的备份数据序列,所述备份数据序列包括所述备份源的初始完全备份和中间变化 量及其属性的备份;所述备份和恢复方法包括以下步骤(a )每到预定时间点则检查所述备份源和所述备份是否同步; (b)如果不同步,则进入步骤(c);如果同步,则本次同步操作结束; 15(c)检测备份源和备份数据序列的数据,计算差异部分,将差异部分同步至所述备 份数据序列,完成源和备份的同步;当需要恢复数据时,根据所需的时间点,对所述备份数据序列中的部分或全部数据 进行叠加,从而得出所述计算机数据对象在所需时间点的完整拷贝。
4.根据权利要求1或2所述的备份和恢复方法,其特征在于在所述步骤b)中,将所述数据对象的变化的结果数据加入待处理队列,用异步的方式处理,以减少对当前 数据的处理时间。
5. 根据权利要求1或2或3所述的备份和恢复方法,其特征在于在所述步骤b) 25 中,将所述数据对象的变化的内容保存至备份存储器,并记录所述计算机包含改变的部分的数据块特征值,以后可以采用该特征值作为数据块内容的索引。
6. —种计算机数据对象的备份和恢复系统,包括处理器和与所述处理器相连接的备 份存储器,其特征在于所述处理器被配置,以完成权利要求1或2或3所述的计算机 数据对象的备份和恢复方法。
7. —种计算机数据对象的备份和恢复系统,包括处理器和与所述处理器相连接的 备份存储器;其特征在于,所述处理器被配置,以完成权利要求1或2所述的计算机数 据对象的备份和恢复方法,其中,在所述步骤b )中,将所述数据对象的变化的结果数 据加入待处理队列,用异步的方式处理,以减少对当前数据的处理时间。
8. 根据权利要求6所述的备份和恢复系统,其特征在于在所述步骤b)中,将所 述数据对象的变化的内容保存至备份存储器,并记录所述计算机包含改变的部分的数据 块特征值,以后可以采用该特征值作为数据块内容的索引。
9.根据权利要求6所述的备份和恢复系统,其特征在于所述备份存储器为非易失性存储设备。
10. —种用于实现计算机数据对象的备份和恢复的计算机程序产品,所述计算机程 序产品被包含在计算机存储媒体中,并包括用于完成如权利要求1或2或3所述备份和 45 恢复方法的计算机指令。
全文摘要
本发明提供一种计算机数据对象的备份和恢复方法和用于实现该方法的系统和程序产品,在首次全备份的基础上,通过实时或适时监控并定位数据或数据块的改变,得到需要备份的数据对象并将其备份于存储设备。当需要恢复数据时通过叠加算法备份数据或数据块还原出备份源内的数据对象的最终状态及其各改变历史点的状态。本发明方法可以平滑的提供数据的各个历史版本,并且大幅度减少对存储空间、系统资源和网络传输带宽的占用,提高计算机及其网络资源的利用率。
文档编号G06F11/14GK101441582SQ200710177718
公开日2009年5月27日 申请日期2007年11月20日 优先权日2007年11月20日
发明者黄维学 申请人:北京和力记易科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1