发明名称 一种基于扇区重组的文件备份恢复方法
摘要 本发明公开了一种基于扇区重组的文件备份恢复方法,要解决的技术问题是在保证文件数据恢复结果正确性的前提下,加快文件数据恢复的速度,满足恢复的实时性、精确性需求。技术方案是先捕获并过滤获得进程对磁盘中所有文件的写操作信息,根据这些信息对相应的文件数据进行分片式主动备份;在本地磁盘上开辟空间NBS存储文件初始状态的备份数据和后续的备份分片数据;当信息系统服务崩溃或者损坏时,对服务的文件数据进行操作级恢复,即选择出所有用来恢复这个文件的备份分片,采用分片数据扇区重新组合的方法对该文件进行恢复。本发明不需要进行数据的复制或者移动操作,能够极大地提高数据恢复的速度,兼具增量备份方式和日志备份方式的优点。
申请公布号 CN101477486B 申请公布日期 2010.08.04
申请号 CN200910042583.3 申请日期 2009.01.22
申请人 中国人民解放军国防科学技术大学 发明人 任江春;王志英;伍江江;肖侬;陆洪毅;沈立;刘芳;马俊;程勇;赖明澈
分类号 G06F11/14(2006.01)I;G06F17/30(2006.01)I 主分类号 G06F11/14(2006.01)I
代理机构 国防科技大学专利服务中心 43202 代理人 郭敏
主权项 一种基于扇区重组的文件备份恢复方法,其特征在于包括以下步骤:第一步,捕获系统进程即操作系统进程和用户进程对磁盘中所有文件的操作信息,对捕获到的操作信息进行过滤,获取需要保护的文件数据的写操作信息,并根据这些写操作信息对相应的文件数据进行分片式主动备份,包括以下三个步骤:步骤一,在文件系统驱动上层开发一个过滤层驱动程序,由过滤层驱动程序实时截获I/O管理器发往文件系统驱动层的输入输出请求IRP信息包,从而监控所有系统进程和用户进程对文件的操作,捕获到这些操作的信息,包括:操作进程、操作类型、操作的目标文件的路径信息、操作时刻、操作的文件数据的起始偏移和输入输出的数据缓冲区大小,所述操作类型包括只读、读/写、只写;步骤二,对捕获到的对文件的操作信息进行分析和过滤,得到需要保护的文件的写操作关键信息,包括:操作时刻、操作的目标文件的路径信息即文件目录地址和文件名、写长度信息即写操作的文件数据起始偏移和输入输出的数据缓冲区大小,筛选完成后,将这些写操作关键信息存储到文件操作记录集合中,文件操作记录集合是对文件数据每次访问的写操作的关键信息存储起来的数据库,其功能类似日志;步骤三,根据文件写操作关键信息所指示的文件的路径信息和写长度信息对文件进行操作级备份,对于进程对文件数据的每一次修改操作都产生本次操作对应的文件备份分片,步骤如下:(1)根据当前写操作关键信息,计算需要备份的文件数据的备份信息,包括数据在文件中的起始位置、结束位置和需要生成的文件备份分片的数目;(2)对文件中被修改的部分按分片的最大容量进行分片备份,分片的最大容量根据磁盘I/O吞吐率、磁盘分区大小和用户需求综合决定,每一个备份分片的大小都不能超过分片的最大容量;(3)查询文件系统中管理“簇”信息的数据结构得到并记录当前分片在磁盘分区中占用空间的“簇”信息,包括分片的起始簇号、分片的结束簇号和占用簇的数目;(4)将当前分片的关键信息包括需要保护的目录地址或者文件路径列表、备份分片的索引标志、备份分片所属的文件的目录地址、备份分片数据的生成时刻、备份分片的版本号、备份分片的“簇”信息登记到管理信息数据库中,管理信息数据库中包含需要保护的目录地址表、文件关键信息表和文件备份分片信息表;需要保护的目录地址表存储与 信息系统服务运行紧密相关的目录地址和用户需要保护的目录地址,每条记录包括目录编号和目录地址两个字段;文件关键信息表存储文件的最新状态,每条记录包括目录编号、文件编号、文件目录地址、文件最新修改时间、文件最后修改版本号五个字段;文件备份分片信息表存储在文件数据操作级备份过程中生成的每个备份分片的信息,每条记录包括目录编号、文件编号、分片编号、分片的生成时间、分片的版本号、分片的起始簇号、分片的结束簇号、分片占据的簇数目八个字段;第二步,在本地磁盘上新开辟一片空闲的空间-NBS,专门存储文件初始状态的备份数据和后续的备份分片数据,NBS在逻辑上是连续的;第三步,当信息系统服务崩溃或者损坏时,对服务的文件数据进行操作级恢复,步骤如下:步骤1.读取文件操作记录集合,根据服务失效的时刻,在操作记录集合中查找导致服务失效的最近的一次操作;步骤2.取出步骤1所查找到的操作之前的最近的一次操作;步骤3.将步骤2所查找到的最近的一次操作的执行时间作为文件数据恢复的目标时间;步骤4.根据文件数据恢复的目标时间,判断需要保护区域中的文件是否需要恢复,方法是:如果文件在恢复目标时间之后没有被修改过,则不需要恢复这个文件;如果文件已经不存在或者文件在恢复目标时间之后被修改过,则需要恢复这个文件;步骤5.针对需要进行恢复的文件,根据文件数据恢复目标时间,在管理信息数据库中查找,选择出所有用来恢复这个文件的备份分片,步骤是:步骤(1)根据文件的目录地址,在管理信息数据库的文件关键信息表中查找,得到该文件对应的文件编号,简称为目标文件编号;步骤(2)根据目标文件编号,在管理信息数据库的文件备份分片信息表中选择出所有文件编号与目标文件编号相同的所有数据记录;步骤(3)判断分片编号相同的那些文件备份分片的生成时刻,从中选择出失效操作发生之前该分片的最后一次生成的版本,判断过程是:i)在分片编号相同的文件备份分片中,将分片生成时刻小于或等于恢复目标时间的所有分片选择出来,并把选择出来的这些分片简称为“待选分片”;ii)从“待选分片”中取出分片生成时刻最大的那个文件备份分片,并将此文件备份分片作为恢复的目标分片之一;步骤(4)重复第(3)步,为文件的每一个分片都选择出满足恢复目标时间要求的文件 备份分片版本;步骤6.将选择出来用于恢复该文件的所有文件备份分片采用分片数据扇区重新组合的方法对该文件进行恢复,分片数据扇区重新组合方法如下:(i)根据选择出来的文件备份分片,在管理信息数据库的文件备份分片信息表中查询,得到每个文件备份分片在磁盘上占据空间的“簇”信息,包括此分片的起始簇号和分片的结束簇号;(ii)根据每个分片的起始簇号和结束簇号,将每个分片在逻辑地址上顺次按照首尾相接的方式重新组合起来,即将第1块的尾部与第2块的首部链接起来,将第2块的尾部与第3块的首部链接起来,......以此类推,一直到最后一块数据被链接起来为止;具体地,则是将第一块数据的结束“簇”链接到第2块数据的起始“簇”,将第2块数据的结束“簇”链接到第3块数据的起始“簇”,......以此类推,直到最后一块数据的起始“簇”被链接到倒数第二块的结束“簇”;链接操作是指在扇区层次上修改磁盘扇区之间的逻辑关系;(iii)对最后一块文件分片数据做特殊处理,即最后一块文件分片数据的结束“簇”位置置为数据的结束标志;(iv)释放需要恢复的目的文件占用的空间;(v)修改需要恢复的目的文件的参数信息,包括文件名、文件的起始“簇”信息或者数据运行的簇信息、文件长度、文件创建时间、文件最后修改时间和文件最近访问时间,修改方法是针对这些参数信息所在的磁盘扇区进行读写操作。
地址 410073 湖南省长沙市砚瓦池正街47号