一种操作系统快速恢复的方法及装置与流程

文档序号:30080380发布日期:2022-05-18 04:14阅读:118来源:国知局
一种操作系统快速恢复的方法及装置与流程

1.本发明属于计算机固件技术领域,具体涉及一种操作系统快速恢复的方法及装置。


背景技术:

2.操作系统作为重要的系统软件之一,负责管理软硬件资源,为系统软硬件交互提供接口。目前对于操作系统恢复技术,存在下列问题:
3.1)操作系统无法对自身进行恢复,需借助其他os,恢复后需要重启动。
4.2)恢复耗时较长。


技术实现要素:

5.有鉴于此,本发明提供了一种操作系统快速恢复的方法及装置,能够跨处理器平台解决操作系统快速恢复的问题。
6.实现本发明的技术方案如下:
7.一种操作系统快速恢复的方法,具体过程为:
8.操作系统备份按照备份时间顺序从前向后依次存储形成一个栈,栈顶为当前操作系统备份;存储用于记载相邻操作系统备份之间增删改情况的文件操作日志;
9.当需要恢复操作系统时,进行如下操作:
10.步骤1、判断目标恢复操作系统备份是否是当前栈中的第一个操作系统备份,如果否,执行步骤2,如果是,执行步骤3;
11.步骤2、读取当前栈中第一个操作系统备份文件,结合文件操作日志记录,将第一个操作系统备份文件写入到操作系统数据区,并在栈中删除该第一个操作系统备份,跳转到步骤1;
12.步骤3、读取第一操作系统备份文件,并将文件内容写入到操作系统数据区,而后清空操作系统备份的日志记录,目标操作系统恢复完成。
13.步骤4、操作系统快速恢复完成,进入操作系统正常启动流程。
14.进一步地,本发明所述结合文件操作日志记录,将第一个操作系统备份文件写入到操作系统数据区是指:在恢复第一个操作系统备份文件时,将同步参照文件操作日志的记录,若文件在文件操作日志记录中是用户指定操作系统恢复时间之前的最后修改的文件,则将该文件写入操作系统数据区对应的路径;若否,则不将该文件写入操作系统数据区对应的路径。
15.进一步地,本发明所述将第一个操作系统备份中的文件写入到操作系统数据区时,在对每个数据单元进行恢复时预先检查此数据单元的标记,如果前一个操作系统备份已经记录了此数据单元,则不对此数据块进行写回操作。
16.进一步地,本发明操作系统内捕获io写入操作时,如果该扇区地址已经在当前日志中出现,则不再对此扇区进行保护。
17.一种操作系统快速恢复的装置,包括bios、操作系统和存储设备三个部分,其中,bios中包括了bios核心框架和操作系统恢复部件,操作系统恢复部件可以通过bios核心框架加载运行;
18.操作系统恢复部件,用于读取和遍历文件操作日志,并按照文件操作日志进行操作系统备份恢复,最终完成整个操作系统的恢复操作。
19.进一步地,本发明所述操作系统恢复部件包括文件系统读写模块、文件操作日志遍历模块以及操作系统恢复模块;
20.文件操作日志遍历模块,调用文件系统读写模块,从存储设备中读取文件操作日志,并分析出待恢复的操作系统版本中所需的操作系统备份;
21.文件系统读写模块,读取存储在硬盘设备上的所需的操作系统备份,将操作系统备份内容写入到当前使用的操作系统存储区域;
22.操作系统恢复模块,按照文件操作日志中的相邻操作系统备份之间的差异,逐个提取相应的操作系统备份进行恢复操作,完成后操作系统将恢复到创建操作系统备份时的状态。
23.有益效果
24.本发明操作系统备份按照备份时间顺序排列存储,并利用文件操作日志记载相邻操作系统备份之间增删改情况,利用较小的存储空间可以实现bios备份恢复。
附图说明
25.图1为操作系统快速恢复的方法框架图;
26.图2为基于bios的操作系统快速恢复的流程图。
具体实施方式
27.下面结合附图并举实施例,对本发明进行详细描述。
28.需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
29.需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
30.如图1-2所示,一种操作系统快速恢复的方法,具体的流程为:
31.步骤一、操作系统备份按照备份时间顺序排列存储,时间早的排在前面、时间晚的排在后面,所有操作系统备份形成一个栈,其中栈顶的操作系统备份的时间最晚,即为当前操作系统备份;存储用于记载相邻操作系统备份之间增删改情况的文件操作日志;操作系统备份以列表的方式保存,每个列表项由日志项头和被保护扇区数据组成,列表按扇区地
址升序排序。当需要进行操作系统恢复时,以用户指定恢复的操作系统备份为截止点。
32.例如,操作系统备份有n个,且按照操作系统备份时间排序分别是操作系统备份1、操作系统备份2、操作系统备份3
……
操作系统备份n,则存储的时候栈底存储操作系统备份1,紧邻着操作系统备份1存储的是操作系统备份2,依次类推,其中操作系统备份2仅存储与操作系统备份1差异的内容,操作系统备份3仅存储与操作系统备份2存在差异的内容。文件操作日志存储相邻操作系统备份差异内容的具体说明,操作系统备份中记录的日志内容是此备份创建以后对操作系统所作修改之前的原始数据,写回这些数据,就可以恢复到此操作系统备份创建之前操作系统的状态,例如,针对操作系统某一特定数据区域r,假如当前栈顶是操作系统备份n,在操作系统备份n创建之前,r的值为a,操作系统备份n创建之后如果对r区域做了修改,则a记入操纵系统备份n的日志中,当操作系统备份n+1创建时,r的最终值假设为b,如果再次对区域r做修改,则b记入操作系统备份n+1的日志中。恢复操作系统备份n+1可以使操作系统恢复到操作系统备份n+1创建之前的状态,依次恢复操作系统备份n+1和操作系统备份n,可以使操作系统恢复到操作系统备份n创建之前的状态,此时操作系统备份n+1丢弃,操作系统备份n的日志清空,操作系统备份n为栈顶。
33.步骤二、开机后,选择从使用本方法的硬盘设备启动,进入uefi应用。
34.步骤三、如果自动恢复打开,或用户手动选择一个操作系统备份,则表示需要执行恢复操作,否则开启正常启动程序。
35.步骤四、判断目标恢复操作系统备份是否是当前栈中的第一个操作系统备份,如果否,执行步骤五,如果是,则执行步骤六;
36.该步骤中如果当前栈中的第一个操作系统备份为目标恢复的操作系统备份,由于第一个操作系统备份存储了从创建以来所有被修改过的所有数据的初始值,因此可以进入步骤六开始系统读写操作。如果当前栈中的第一个操作系统不是目标恢复操作系统备份,此时需要从栈中的第一个操作系统备份开始,依次读取操作系统备份的内容,并依据文件操作日志记载的内容,开始恢复目标操作系统备份,此时进入步骤五。
37.步骤五、使用文件系统读写模块读取第一个操作系统备份(栈顶的备份文件),将文件内容写入到操作系统数据区,并在栈中删除该第一操作系统备份,跳转到步骤四;
38.此时操作系统恢复到了第一个操作系统备份创建时的状态,此时在栈中删除第一个操作系统备份,原来处于第二位置的操作系统备份自动升到栈顶。
39.步骤六、使用文件系统读写模块读取第一操作系统备份文件,并将文件内容写入到操作系统数据区,而后清空操作系统备份的日志记录,目标操作系统恢复完成。
40.在进入步骤六时,此时栈中的第一操作系统备份文件即为目标恢复的操作系统备份文件,因此读取第一操作系统备份文件,并将其写入到操作系统的数据区,就实现了目标操作系统的恢复。
41.步骤七、操作系统快速恢复完成,进入操作系统正常启动流程。
42.本技术又一实施例,本发明步骤2中所述结合文件操作日志记录,将第一个操作系统备份文件写入到操作系统数据区是指:在恢复第一个操作系统备份文件时,将同步参照文件操作日志的记录,以恢复第一个操作系统备份中的第一个文件为例,若该文件在文件操作日志记录中是用户指定操作系统恢复时间之前的最后修改的文件,则进行将该文件写入操作系统数据区对应的路径;若否,则不将该文件写入操作系统数据区对应的路径。
43.将第一个操作系统备份文件写入到操作系统数据区时,在对每个数据单元进行恢复时预先检查此数据单元的标记,如果前一个操作系统备份已经记录了此数据单元,则不对此数据块进行写回操作,以减少磁盘操作。
44.本技术又一实施例,操作系统内捕获io写入操作时,如果该扇区地址已经在当前日志中出现,则不再对此扇区进行保护,以减少磁盘操作。
45.如图1所示,一种操作系统快速恢复的装置,包括bios、操作系统和存储设备三个部分:
46.操作系统,操作系统中包括了一个操作系统备份程序,该程序用于在文件操作日志中记录当前的操作系统中的数据资料增删改的操作。
47.存储设备,用于存储文件操作日志和操作系统备份文件,所述操作系统备份按照备份时间顺序排列存储,所有操作系统备份形成一个栈,其中栈顶的操作系统备份的时间最新;
48.bios,bios中包括了bios核心框架和操作系统恢复部件。
49.bios核心框架,用于建立uefi中的系统服务表格,包括启动服务(boot service)和运行时服务(runtime service),进行固件中所有模块的统一管理和各种资源的管理。操作系统恢复部件可以通过bios核心框架加载运行。
50.操作系统恢复部件,用于读取和遍历文件操作日志,并按照操作系统日志进行文件恢复,最终完成整个操作系统的恢复操作;包括文件系统读写模块、文件操作日志遍历模块以及操作系统恢复模块。
51.文件操作日志遍历模块,调用文件系统读写模块,从存储设备中读取文件操作日志,并分析出待恢复的操作系统版本中所需的操作系统备份;
52.文件系统读写模块,读取存储在硬盘设备上的所需的操作系统备份,将操作系统备份内容写入到当前使用的操作系统存储区域;
53.操作系统恢复模块,按照文件操作日志中的相邻操作系统备份之间的差异,逐个提取相应的操作系统备份进行恢复操作,完成后操作系统将恢复到创建操作系统备份时的状态。
54.基于本发明操作系统备份恢复的具体操作流程为:
55.开机时选择从使用本方法的硬盘设备启动,进入管理界面:
56.1.如果自动恢复设置已关闭,则超时计时器归零(或手动选择)后进入常规启动流程;
57.2.如果自动恢复设置已启用,则超时计时器归零(或手动选择)后自动恢复到最新的操作系统备份,然后进入常规启动流程;
58.3.超时计时器归零前选择操作系统备份并确定,则恢复到选择的操作系统备份,此操作系统备份之后的所有操作系统备份全部删除,然后进入常规启动流程;
59.4.超时计时器归零前选择创建操作系统备份并确定,创建一个最新的操作系统备份;
60.5.超时计时器归零前选择删除操作系统备份,则此操作系统备份及所有晚于此操作系统备份创建的操作系统备份(如果存在)都会删除。
61.本发明提出一种操作系统快速恢复的方法,通过该方法,可以达到以下效果:
62.1)以先于操作系统启动的uefi应用为起点,在应用中开启/关闭自动恢复、创建操作系统备份、删除操作系统备份、恢复到操作系统备份。
63.2)支持多种平台架构,x86、mips、arm64、loongarch64等。
64.3)支持多操作系统备份,可以手动选择操作系统备份,也可以自动恢复到最新操作系统备份。
65.4)优化的恢复算法,有效减少磁盘访问次数。
66.5)在操作系统内安装驱动捕获硬盘写入io操作,优化扇区日志管理算法。
67.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1