一种操作系统镜像保存和恢复方法及装置与流程

文档序号:12363290阅读:337来源:国知局
一种操作系统镜像保存和恢复方法及装置与流程

本发明涉及计算机技术领域,特别是涉及一种操作系统镜像保存和恢复方法及装置。



背景技术:

在计算机中,及时对操作系统镜像进行保存,以便在需要时恢复操作系统镜像。

目前计算机内的存储主要有系统内存和外部存储两类存储。

常见的系统内存为DRAM(Dynamic Random Access Memory,动态随机存储器),DRAM对于数据的保存时间很短,为了保存数据,DRAM使用电容存储方式,每隔一段时间就要刷新一次存储单元,如果某次存储单元没有被刷新,其中存储的数据将会丢失,而且计算机关机也会导致数据丢失,所以,操作系统镜像无法在DRAM中进行保存。

外部存储主要为机械磁盘、固态硬盘、分布式存储设备等。目前操作系统镜像多是存储在磁盘中,但是由于受到物理特性的限制,基于磁盘的操作系统镜像的恢复时间比较长。



技术实现要素:

为解决上述技术问题,本发明提供一种操作系统镜像保存和恢复方法及装置。

一种操作系统镜像保存和恢复方法,包括:

通过驱动程序将非易失内存的预留地址空间抽象为存储设备;

通过格式化命令将所述存储设备格式化为交换分区;

通过修改挂载配置文件以使所述交换分区在计算机启动时自动挂载;

通过修改启动配置文件将所述交换分区设置为系统镜像恢复设备,以通过所述交换分区保存和恢复操作系统镜像。

在本发明的一种具体实施方式中,所述通过驱动程序将非易失内存的预留地址空间抽象为存储设备,包括:

针对所述非易失内存的预留地址空间,为所述预留地址空间申请设备号,并针对所述预留地址空间创建独立的请求队列,以通过所述请求队列的处理函数向所述预留地址空间读取或者写入相应数据;

初始化所述预留地址空间的数据结构并根据申请的设备号在系统中进行注册。

在本发明的一种具体实施方式中,通过以下步骤确定所述非易失内存的所述预留地址空间:

确定所述系统中普通内存的大小,所述普通内存为所述系统中除所述非易失内存外的内存;

根据所述普通内存的大小,确定针对所述非易失内存要申请的内存大小;

将所述非易失内存中所述内存大小的地址空间确定为预留地址空间。

在本发明的一种具体实施方式中,还包括:

在达到所述系统的休眠触发条件时,将操作系统镜像保存到所述交换分区中,检测到保存完成后,触发所述系统掉电。

在本发明的一种具体实施方式中,还包括:

在所述系统重新上电后,将所述交换分区中的所述操作系统镜像恢复至所述系统的普通内存中。

一种操作系统镜像保存和恢复装置,包括:

抽象模块,用于通过驱动程序将非易失内存的预留地址空间抽象为存储设备;

格式化模块,用于通过格式化命令将所述存储设备格式化为交换分区;

挂载配置修改模块,用于通过修改挂载配置文件以使所述交换分区在计算机启动时自动挂载;

启动配置修改模块,用于通过修改启动配置文件将所述交换分区设置为系统镜像恢复设备,以通过所述交换分区保存和恢复操作系统镜像。

在本发明的一种具体实施方式中,所述抽象模块,具体用于:

针对所述非易失内存的预留地址空间,为所述预留地址空间申请设备号,并针对所述预留地址空间创建独立的请求队列,以通过所述请求队列的处理函数向所述预留地址空间读取或者写入相应数据;

初始化所述预留地址空间的数据结构并根据申请的设备号在系统中进行注册。

在本发明的一种具体实施方式中,所述装置还包括预留地址空间确定模块,用于通过以下步骤确定所述非易失内存的所述预留地址空间:

确定所述系统中普通内存的大小,所述普通内存为所述系统中除所述非易失内存外的内存;

根据所述普通内存的大小,确定针对所述非易失内存要申请的内存大小;

将所述非易失内存中所述内存大小的地址空间确定为预留地址空间。

在本发明的一种具体实施方式中,还包括操作系统镜像保存模块,用于:

在达到所述系统的休眠触发条件时,将操作系统镜像保存到所述交换分区中,检测到保存完成后,触发所述系统掉电。

在本发明的一种具体实施方式中,还包括操作系统镜像恢复模块,用于:

在所述系统重新上电后,将所述交换分区中的所述操作系统镜像恢复至所述系统的普通内存中。

应用本发明实施例所提供的方法,通过驱动程序将非易失内存的预留地址空间抽象为存储设备,将该存储设备格式化为交换分区,通过修改挂载配置文件使该交换分区在计算机启动时自动挂载,通过修改启动配置文件将该交换分区设置为系统镜像恢复设备,这样,可以保证操作系统镜像保存和恢复时使用的都是基于非易失内存的存储设备,在非易失内存中可以对数据进行长久保留,避免系统掉电时丢失数据,而且,可以提高操作系统镜像保存和恢复的速度。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中操作系统镜像保存和恢复方法的一种实施流程图;

图2为本发明实施例中操作系统镜像保存和恢复方法的另一种实施流程图;

图3为本发明实施例中一种操作系统镜像保存和恢复装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1所示,为本发明实施例所提供的一种操作系统镜像保存和恢复方法的实施流程图,该方法可以包括以下步骤:

S110:通过驱动程序将非易失内存的预留地址空间抽象为存储设备。

在本发明实施例中,计算机系统的内存有两类,一类为普通内存,如动态随机存储器DRAM,一类为非易失内存。

非易失内存的显著特点是,能够在系统完全断电的时候一般保存完整的内存数据,其访问速度比外部存储快很多。

在实际应用中,可以在操作系统层面将系统中的非易失内存的物理地址范围的一段地址空间作为预留地址空间,保证系统在进行内存分配时,不会使用到该预留地址空间。

在本发明的一种具体实施方式中,可以通过以下步骤确定非易失内存的预留地址空间:

步骤一:确定系统中普通内存的大小,普通内存为系统中除非易失内存外的内存;

步骤二:根据普通内存的大小,确定针对非易失内存要申请的内存大小;

步骤三:将非易失内存中内存大小的地址空间确定为预留地址空间。

为便于描述,将上述三个步骤结合起来进行说明。

在实际应用中,非易失内存的总大小比普通内存的总大小大很多。可以先确定系统中普通内存的大小,根据系统中普通内存的大小确定需要从非易失内存中申请的内存大小。普通内存为系统中除非易失内存外的内存。要从非易失内存中申请的内存大小可以是普通内存大小的一倍或者两倍。比如,系统中普通内存为8GB,则要从非易失内存中申请的内存大小可以是16GB。

确定针对非易失内存要申请的内存大小之后,可以将非易失内存中该内存大小的地址空间确定为预留地址空间。系统在进行内存分配时不会使用该预留地址空间。

内核通过驱动程序可以将非易失内存的预留地址空间抽象为存储设备。

在本发明的一种具体实施方式中,步骤S110可以包括以下步骤:

第一个步骤:针对非易失内存的预留地址空间,为预留地址空间申请设备号,并针对预留地址空间创建独立的请求队列,以通过请求队列的处理函数向预留地址空间读取或者写入相应数据;

第二个步骤:初始化预留地址空间的数据结构并根据申请的设备号在系统中进行注册。

为便于描述,将上述两个步骤结合起来进行说明。

针对非易失内存的预留地址空间,内核可以通过驱动程序为该预留地址空间申请设备号。系统中不同设备具有不同的设备号。同时,还可以针对预留地址空间创建独立的请求队列,以和系统中其他内存的请求队列区分,提高响应速度。这样,通过该请求队列的处理函数可以向该预留地址空间读取或者写入相应数据。

初始化该预留地址空间的数据结构并根据申请的设备号在系统中进行注册。

S120:通过格式化命令将存储设备格式化为交换分区。

在步骤S110通过驱动程序将非易失内存的预留地址空间抽象为存储设备后,可以通过格式化命令将该存储设备格式化为交换分区,即swap分区。

S130:通过修改挂载配置文件以使交换分区在计算机启动时自动挂载。

在本发明实施例中,可以通过修改系统的挂载配置文件使交换分区在计算机启动时自动挂载,这样,系统可以读取到该交换分区中保存的数据。

具体的,可以在挂载配置文件/etc/fstab文件中添加如下代码:

/dev/NVM_SWAP swap swap defaults 0 0。

S140:通过修改启动配置文件将交换分区设置为系统镜像恢复设备。

在本发明实施例中,可以通过修改启动配置文件将交换分区设置为系统镜像恢复设备,这样,可以保证操作系统镜像文件备份和恢复时使用的是基于非易失内存的存储设备。在系统掉电之前,可以将操作系统镜像文件保存到该系统镜像恢复设备中,在系统启动时,可以从该系统镜像恢复设备中读取操作系统镜像文件。

具体的,可以在启动配置文件grub.cfg中增加以下代码:

resume=/dev/NVM_SWAP。

在本发明的一种具体实施方式中,该方法还可以包括以下步骤:

在达到系统的休眠触发条件时,将操作系统镜像保存到交换分区中,检测到保存完成后,触发系统掉电。

在本发明实施例中,可以采用系统本身集成的休眠命令,在达到系统的休眠触发条件时,将操作系统镜像备份到交换分区中,即在该交换分区中对操作系统镜像进行保存。

检测到操作系统镜像保存完成后,可以触发系统掉电。

在本发明的一种具体实施方式中,该方法还可以包括以下步骤:

在系统重新上电后,将交换分区中的操作系统镜像恢复至系统的普通内存中。

在本发明实施例中,在系统重新上电后,可以将交换分区中的操作系统镜像恢复至系统的普通内存中。

参见图2所示,以Linux操作系统为例,对本发明实施例所提供的操作系统镜像保存和恢复方法进行说明。

在非易失内存中的预留地址空间存储有操作系统镜像。在要保存操作系统镜像时,通过创建操作系统镜像准备工作、创建操作系统镜像,可以将操作系统镜像写入基于非易失内存的存储设备中。在要恢复操作系统镜像时,从该基于非易失内存的存储设备中读取相应数据,获得操作系统镜像,将操作系统镜像恢复到普通内存中。

应用本发明实施例所提供的方法,通过驱动程序将非易失内存的预留地址空间抽象为存储设备,将该存储设备格式化为交换分区,通过修改挂载配置文件使该交换分区在计算机启动时自动挂载,通过修改启动配置文件将该交换分区设置为系统镜像恢复设备,这样,可以保证操作系统镜像保存和恢复时使用的都是基于非易失内存的存储设备,在非易失内存中可以对数据进行长久保留,避免系统掉电时丢失数据,而且,可以提高操作系统镜像保存和恢复的速度。

相应于上面的方法实施例,本发明实施例还提供了一种操作系统镜像保存和恢复装置,下文描述的操作系统镜像保存和恢复装置与上文描述的操作系统镜像保存和恢复方法可相互对应参照。

参见图3所示,该装置可以包括以下模块:

抽象模块310,用于通过驱动程序将非易失内存的预留地址空间抽象为存储设备;

格式化模块320,用于通过格式化命令将存储设备格式化为交换分区;

挂载配置修改模块330,用于通过修改挂载配置文件以使交换分区在计算机启动时自动挂载;

启动配置修改模块340,用于通过修改启动配置文件将交换分区设置为系统镜像恢复设备,以通过交换分区保存和恢复操作系统镜像。

应用本发明实施例所提供的装置,通过驱动程序将非易失内存的预留地址空间抽象为存储设备,将该存储设备格式化为交换分区,通过修改挂载配置文件使该交换分区在计算机启动时自动挂载,通过修改启动配置文件将该交换分区设置为系统镜像恢复设备,这样,可以保证操作系统镜像保存和恢复时使用的都是基于非易失内存的存储设备,在非易失内存中可以对数据进行长久保留,避免系统掉电时丢失数据,而且,可以提高操作系统镜像保存和恢复的速度。

在本发明的一种具体实施方式中,抽象模块310,具体用于:

针对非易失内存的预留地址空间,为预留地址空间申请设备号,并针对预留地址空间创建独立的请求队列,以通过请求队列的处理函数向预留地址空间读取或者写入相应数据;

初始化预留地址空间的数据结构并根据申请的设备号在系统中进行注册。

在本发明的一种具体实施方式中,该装置还包括预留地址空间确定模块,用于通过以下步骤确定非易失内存的预留地址空间:

确定系统中普通内存的大小,普通内存为系统中除非易失内存外的内存;

根据普通内存的大小,确定针对非易失内存要申请的内存大小;

将非易失内存中内存大小的地址空间确定为预留地址空间。

在本发明的一种具体实施方式中,还包括操作系统镜像保存模块,用于:

在达到系统的休眠触发条件时,将操作系统镜像保存到交换分区中,检测到保存完成后,触发系统掉电。

在本发明的一种具体实施方式中,还包括操作系统镜像恢复模块,用于:

在系统重新上电后,将交换分区中的操作系统镜像恢复至系统的普通内存中。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的一种操作系统镜像保存和恢复方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1