数据恢复方法

文档序号:6554144阅读:230来源:国知局
专利名称:数据恢复方法
技术领域
本发明涉及计算机领域,尤其涉及一种数据恢复方法。
背景技术
由于计算机具有高速的数据处理能力以及大容量的存储能力,因此计算机广泛应用于生产生活的各个领域,如通信、交通、银行等,并且,很多计算机系统需要处于连续运行的状态,以便保证整个系统的正常工作。例如电信部门的交换机服务器一旦停机,将会造成很多用户终端无法正常通讯、银行卡组织的信息处理系统一旦停机,也会造成大量的持卡人、商户无法进行银行卡业务,由此给用户带来不便,因此需要现有的计算机系统具有较好的系统安全功能,特别是当主处理器出现故障时,具有较高的系统切换能力。
另外,为了防止该些计算机系统上重要数据的丢失,需要对重要数据进行备份,以便在出现故障时能够及时恢复该些重要数据。比如,对于一个以电子商务为经营手段的企业来讲,网络数据是企业赖以生存的基础,可以说就是整个企业的生命。这些数据一旦损坏或丢失,都将对企业造成不可估量的损失。对于像电信、金融、证券等行业,那更是如此。由此,人们开始关注如何来确保数据的完好,而数据备份则是唯一的解决方案。现有的数据备份方法主要采用以下三种技术冷备份技术、日志技术和RAID(RedundantArray of Inexpensive Disks,廉价磁盘冗余阵列)技术。
冷备份技术的主要原理是将原始数据完全复制一份并保存起来,恢复时将事先备份的数据再复制回去。这种方法比较简单,适合数据量比较小的场合,当数据量比较大的时候,需要大量的存储空间进行保存,并且备份数据过程和恢复数据过程会占用大量的主处理器的处理时间,影响整个系统的业务处理能力,甚至造成整个系统的业务中断。
日志技术是以大型关系型数据库为代表,例如ORACLE所采用的一种增量备份技术。该日志技术的基本原理是取原始数据在某一时刻的冷备份数据为起点(又称为检查点,CHCEKPOINT),将每次变化的数据记录在日志文件中。当原系统发生损坏时,取回冷备份数据,并重做日志(REDO),当日志做完后,数据即恢复到系统发生故障的时刻。利用日志技术进行数据备份/恢复占用的存储空间远远小于利用冷备份技术进行数据备份/恢复所占用的存储空间。但是,利用日志技术进行数据恢复,每一日志的关系就像链子一样,一环套一套,其中一个日志发生故障,将会导致数据不容易恢复。另外,系统发生损坏需要进行数据恢复时,通常也需要暂停业务或影响业务的处理能力,不能完全满足不影响业务处理能力的基础上进行数据恢复的要求。
RAID技术是一种使用硬件方法的实现的数据冗余技术。以RAID1镜像技术为例,其同时使用两块硬盘存储完全相同的数据,当一块硬盘发生故障时,另一块硬盘可以接管当前磁盘,从而到达数据安全的目的。但是,利用RAID技术进行数据恢复时,当整个计算机系统的主处理器损坏,例如主处理器的主板、或CPU发生故障时,整个计算机系统也将无法进行业务处理,不能实现不停机处理业务的目的。

发明内容
本发明的目的在于提供一种数据恢复方法,以解决现有技术中不能满足不中断系统业务的情况下进行数据恢复的技术问题。
为解决上述问题,本发明公开了一种数据恢复方法,包括备份过程和恢复过程,其中(一)备份过程
(1)主计算机将需要备份的文件分割成若干数据块,并将所述文件的数据块同时保存在至少一台备份计算机上;(2)当所述文件的数据块的数据发生变化后,主计算机将所述发生数据变化的数据块发送至所述备份计算机上进行备份;(二)恢复过程(3)当检测到主计算机的数据损坏时,确定损坏的数据块,并从所述备份计算机中获得所述备份的数据块进行数据恢复。
步骤(1)主计算机是将所述文件分割成固定大小的数据块。每一数据块包括有效长度字段、数据块相关信息字段、字段CRC校验码、数据部分CRC校验码和数据部分。
步骤(3)具体为(31)主计算机校验每一数据块的字段CRC校验码、数据部分CRC校验码,若字段CRC校验码错误,则进行步骤(32),若数据部分CRC校验码错误,则进行步骤(33);(32)依据备份计算机中获得的对应数据块的有效长度字段和数据块相关信息字段重置主计算机中所述数据块的有效长度字段、数据块相关信息字段;(33)依据备份计算机中获得的对应数据块的数据部分重置主计算机中所述数据块的数据部分。
步骤(3)中当检测到主计算机的数据损坏时进一步为主计算机在读取数据过程中发现错误。
本发明还包括(4)当主计算机发生故障无法运行时,选择其中一备份计算机设置为新的主计算机完成系统切换。备份计算机是通过不断测试主计算机是否正常工作来检测主计算机是否发生故障无法运行。
本发明提供了另一种数据恢复方法,还包括
(一)备份过程(1)主计算机将需要备份的文件分割成若干数据块,并将所述文件的数据块同时保存在至少一台备份计算机上;(2)当所述文件的数据块的数据发生变化后,主计算机将所述发生数据变化的数据块发送至所述备份计算机上进行备份;(二)恢复过程(3)当主计算机发生故障无法运行时,选择其中一备份计算机设置为新的主计算机。
与现有技术相比,本发明具有以下优点本发明数据恢复方法只在读取数据发生错误时才执行恢复操作,这个过程对高层的应用软件是透明的,不需要中断业务的处理,而且对主计算机的处理能力影响很小。
如果数据损坏的范围比较小,本发明的恢复开销会小到可以忽略的程度。由于大多数的故障特点都是损坏部分数据,除非发生火灾、地震等到特大灾害,因此本发明的恢复数据的效果非常好。并且,本发明的备份和恢复都可设定为自动完成,无需人工干预。


图1是实现数据恢复的本发明的计算机系统的原理结构示意图;图2是本发明的一种数据恢复方法的流程图;图3是数据块的一种结构示意图;图4是本发明的另一种数据恢复方法的流程图。
具体实施例方式
以下结合附图,具体说明本发明。
为了实现在不停止业务的前提下实现数据恢复,本发明计算机系统中设置主计算机和至少一台备份计算机。主计算机可以是主处理器,也可以专用于数据备份的计算机。请参照图1,其为实现数据恢复的本发明的计算机系统的原理结构示意图。它包括主计算机11和若干备份计算机12。主计算机可以通过专线连接备份计算机12,也可以通过网络(如因特网)连接备份计算机12。主计算机11和备份计算机12可以位于同一地方,也可以位于异地。但是网速和网络质量会直接影响后续数据恢复的质量,为此主计算机11和备份计算机12最佳的连接方式是通过专线连接。
请参阅图2,其为本发明的一种数据恢复方法的流程图。它包括发生故障之前的备份过程和发生故障后的恢复过程。
(一)备份过程S110主计算机将需要备份的文件分割成若干数据块,并将所述文件的数据块同时保存在至少一台备份计算机上;S120当所述文件的数据块的数据发生变化后,主计算机将所述发生数据变化的数据块发送至所述备份计算机上进行备份;(二)恢复过程S130当检测到主计算机的数据损坏时,确定损坏的数据块,并从所述备份计算机中获得所述备份的数据块进行数据恢复。以下具体介绍每一步骤。
一、步骤110主计算机将需要备份的文件分割成若干数据块。为了便于管理,可以将文件分割成固定大小的数据块。当然,本发明并非局限于将文件以固定大小的方式分割成若干数据块,也可以是其它的分割方式。
同时,考虑到后续发生变化的数据块需要进行备份,为了提高数据备份的效率,划分的数据块越小越好。但是,当一个文件的数据块数量很多时,大大提高了文件管理所花费的时间及占用大量主计算机的处理资源。为此,主计算机较佳划分的数据块大小为2k~4k。
请参阅图3,其为数据块的一种结构示意图。每一数据块包括有效长度(Validate Size)字段、数据块相关信息(other Info)字段、字段CRC校验码(fieldCRC)、数据部分CRC校验码(Data CRC)和数据部分(Data)。其中,有效长度字段记录该数据块实现有效长度。数据块相关信息字段记录和该数据块有关的其它信息,如数据块产生时间、该数据块所属文件信息、该数据块在文件中的位置信息等。字段CRC校验码是包括有效长度字段、数据块相关信息在内的字段数据的CRC校验码。数据部分用于存储该数据块的数据部分。数据部分CRC校验码是该数据部分的CRC校验码。
数据块的结构不仅局限于此,该数据块可以定义为其它结构。如数据块包括数据部分及相关信息部分。其中数据部分用于存储数据,相关信息部分用于告知该数据块所属文件信息、该数据块在文件的位置信息、数据块ID号等。
主计算机可以将需要备份的数据块同时备份在多台备份计算机上。
二、步骤S120当所述文件的数据块的数据发生变化后,主计算机将所述发生数据变化的数据块发送至所述备份计算机上进行备份。
系统可以通过定期检测每一文件的数据来获知文件的数据块是否发生变化,系统也可以事件触发式检测文件中的数据,一旦发现文件的数据发生变化,则触发备份步骤。比如,当主计算机检测到对文件实施了某些操作(如修改文件、更新文件等)后,主计算机立即进行该文件的数据的检测,判断是否有数据块发生变化。
当有数据块发生变化时,可以以文件为单位将该文件中所有数据发生变化的数据块信息由主计算机发送至所有备份计算机。备份计算机根据接收到的数据块信息更新预先保存的数据块数据。
为了提高系统的稳定性,也可以设置多台备份计算机。当有数据块发生变化时,主计算机将该些数据块数据发送至每一备份计算机进行备份。
三、步骤S130当检测到主计算机的数据损坏时,确定损坏的数据块,并从所述备份计算机中获得所述备份的数据块进行数据恢复。
由于各种原因,如大面积断电等造成主计算机的数据损坏。对于不能中断运行的计算机系统来说,快速恢复数据是当务之急。
步骤S130可以由以下子步骤具体实现(31)主计算机校验每一数据块的字段CRC校验码、数据部分CRC校验码,若字段CRC校验码错误,则进行步骤(32),若数据部分CRC校验码错误,则进行步骤(33);(32)依据备份计算机中获得的对应数据块的有效长度字段和数据块相关信息字段重置所述数据块的有效长度字段、数据块相关信息字段;(33)依据备份计算机中获得的对应数据块的数据部分重置所述数据块的数据部分。
即,在DATA CRC正确而Field CRC错误的情况下,只需要从其中一备份计算机中获得Field数据(有效长度字段数据和数据块相关信息字段数据)即可。在DATA CRC错误而Field CRC正确的情况下,只需要从其中一备份计算机中获得DATA数据即可。当上述两者的校验码都错误的情况下,需要从其中一备份计算中获得包括Field数据和DATA数据之内的数据块所有数据。
CRC校验码能够快速并准确判断出数据块的数据是否发生损坏,以便尽快从备份计算机中恢复该数据块的数据。
步骤S130除了通过CRC校验码来判断出数据块的数据是否发生损坏外,还可以通过其它方式,本发明并非局限于此。
为了减少主计算机和备份计算机上数据的交互,可以以文件为单位进行数据恢复。比如,主计算机上以文件为单位检测该文件中所有数据块的数据是否存在损坏,若存在损坏,则记录对应的数据块ID信息。主计算机将该文件中有数据损坏的所有数据块ID信息发送至其中一备份计算机,从中获得该些数据块的数据来更新主计算机中该文件的相应数据块的数据。
为了提高主计算机和备份计算机上数据交互的可靠性和快速性,主计算机和备份计算机上的数据最好通过专线进行传送。
除了主计算机上的数据发生损坏需要恢复外,计算机系统还存在另一种情况下重要数据的恢复当主计算机发生故障,无法运行时,如主计算机的CPU发生故障,此时若不完成系统切换,保障数据的连续性及保证业务的不中断性,后果不堪设想。本发明是选择其中一备份计算机设置为新的主计算机完成系统切换。备份计算机是通过不断测试主计算机是否正常工作来检测主计算机是否发生故障无法运行。
比如,备份计算机定期向主计算机发送检测数据包,当主计算机正常工作的情况下,会返回一响应数据包。当备份计算机在预设时间内接收到该响应数据包,则认为主计算机目前处于正常工作状态下,备份计算机在若干个检测周期内未收到响应数据包,则认定主计算机发生故障。备份计算机将自身的IP地址设定为原有主计算机的IP地址,从而实现系统切换,进而完成数据恢复。
本发明数据恢复方法只在读取数据发生错误时才执行恢复操作,这个过程对高层的应用软件是透明的,如果数据损坏的范围比较小,本发明的恢复开销会小到可以忽略的程度。由于大多数的故障特点都是损坏部分数据,除非发生火灾、地震等到特大灾害,因此本发明的恢复数据的效果非常好。并且,本发明的备份和恢复都可设定为自动完成,无需人工干预。
请参阅图4,其为本发明的另一种数据恢复方法,它包括(一)备份过程S210主计算机将需要备份的文件分割成若干数据块,并将所述文件的数据块同时保存在至少一台备份计算机上;S220当所述文件的数据块的数据发生变化后,主计算机将所述发生数据变化的数据块发送至所述备份计算机上进行备份;(二)恢复过程S230当主计算机发生故障无法运行时,选择其中一备份计算机设置为新的主计算机。
上述步骤S210和S220和公开的S110、S120大体相同,在此就不再赘述了。
本发明的数据恢复是指计算机系统在另一种情况下重要数据的恢复当主计算机发生故障,无法运行时,如主计算机的CPU发生故障,此时若不完成系统切换,保障数据的连续性及保证业务的不中断性,后果不堪设想。本发明是选择其中一备份计算机设置为新的主计算机完成系统切换。备份计算机是通过不断测试主计算机是否正常工作来检测主计算机是否发生故障无法运行。
比如,备份计算机定期向主计算机发送检测数据包,当主计算机正常工作的情况下,会返回一响应数据包。当备份计算机在预设时间内接收到该响应数据包,则认为主计算机目前处于正常工作状态下,备份计算机在若干个检测周期内未收到响应数据包,则认定主计算机发生故障。备份计算机将自身的IP地址设定为原有主计算机的IP地址,从而实现系统切换,进而完成数据恢复。
当备份计算机有多台时,可以预先设定备份计算机的优先级。优先级最高的正常备份计算机使用“心跳技术”检测主计算机是否正常工作。
以上公开的仅为本发明的几个具体实施例,但本发明并非局限于此,任何本领域的技术人员能思之的变化,都应落在本发明的保护范围内。
权利要求
1.一种数据恢复方法,其特征在于,包括备份过程和恢复过程,其中(一)备份过程(1)主计算机将需要备份的文件分割成若干数据块,并将所述文件的数据块同时保存在至少一台备份计算机上;(2)当所述文件的数据块的数据发生变化后,主计算机将所述发生数据变化的数据块发送至所述备份计算机上进行备份;(二)恢复过程(3)当检测到主计算机的数据损坏时,确定损坏的数据块,并从所述备份计算机中获得所述备份的数据块进行数据恢复。
2.如权利要求1所述的数据恢复方法,其特征在于,步骤(1)主计算机是将所述文件分割成固定大小的数据块。
3.如权利要求2所述的数据恢复方法,其特征在于,每一数据块包括有效长度字段、数据块相关信息字段、字段CRC校验码、数据部分CRC校验码和数据部分。
4.如权利要求3所述的数据恢复方法,其特征在于,步骤(3)具体为(31)主计算机校验每一数据块的字段CRC校验码、数据部分CRC校验码,若字段CRC校验码错误,则进行步骤(32),若数据部分CRC校验码错误,则进行步骤(33);(32)依据备份计算机中获得的对应数据块的有效长度字段和数据块相关信息字段重置主计算机中所述数据块的有效长度字段、数据块相关信息字段;(33)依据备份计算机中获得的对应数据块的数据部分重置主计算机中所述数据块的数据部分。
5.如权利要求1所述的数据恢复方法,其特征在于,步骤(3)中当检测到主计算机的数据损坏时进一步为主计算机在读取数据过程中发现错误。
6.如权利要求1或2所述的数据恢复方法,其特征在于,还包括(4)当主计算机发生故障无法运行时,选择其中一备份计算机设置为新的主计算机完成系统切换。
7.如权利要求6所述的数据恢复方法,其特征在于,备份计算机是通过不断测试主计算机是否正常工作来检测主计算机是否发生故障无法运行。
8.一种数据恢复方法,其特征在于,还包括(一)备份过程(1)主计算机将需要备份的文件分割成若干数据块,并将所述文件的数据块同时保存在至少一台备份计算机上;(2)当所述文件的数据块的数据发生变化后,主计算机将所述发生数据变化的数据块发送至所述备份计算机上进行备份;(二)恢复过程(3)当主计算机发生故障无法运行时,选择其中一备份计算机设置为新的主计算机。
9.如权利要求8所述的数据恢复方法,其特征在于,备份计算机是通过不断测试主计算机是否正常工作来检测主计算机是否发生故障无法运行。
全文摘要
一种数据恢复方法,包括备份过程和恢复过程,其中(1)主计算机将需要备份的文件分割成若干数据块,并将所述文件的数据块同时保存在至少一台备份计算机上;(2)当所述文件的数据块的数据发生变化后,主计算机将所述发生数据变化的数据块发送至所述备份计算机上进行备份;(3)当检测到主计算机的数据损坏时,确定损坏的数据块,并从所述备份计算机中获得所述备份的数据块进行数据恢复。当主计算机发生故障无法运行时,选择其中一备份计算机设置为新的主计算机完成系统切换。本发明在不停止业务的前提下实现数据备份和恢复,并且如果数据损坏的范围比较小,本发明的恢复开销会小到可以忽略的程度。
文档编号G06F11/14GK1801107SQ200610001299
公开日2006年7月12日 申请日期2006年1月12日 优先权日2006年1月12日
发明者姜萌 申请人:上海洲信信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1