一种系统还原方法及装置与流程

文档序号:15517631发布日期:2018-09-25 18:44阅读:178来源:国知局

本申请涉及云计算技术领域,具体而言,涉及一种系统还原方法及装置。



背景技术:

随着虚拟化技术的普及,传统的个人计算机(personalcomputer,pc)正在逐步被虚拟桌面架构(virtualdesktopinfrastructure,vdi)所替代,用户实际使用的终端逐步转换为瘦终端。部署在瘦终端上的系统功能越来越弱,目前只需要在终端的基本操作系统上部署vdi客户端,即可实现通过vdi协议访问统一部署的虚拟机,进而实现终端功能。

基于上述描述可知,在瘦终端中,对于系统的有效保护是非常重要的。微软的虚拟硬盘(virtualharddisk,vhd)文件格式,是将操作系统作为虚拟硬盘使用,为了避免某些情况下对虚拟硬盘内容的临时改动影响操作系统的运行,需要使用系统还原卡,在启动系统还原卡后,即使对虚拟硬盘内容进行了改动,也可以后期将系统还原到未改动之前的状态。

可见,相关技术是通过在终端上安装还原卡来具体实现上述系统还原,但是,由于瘦终端的空间有限,通常无法安装还原卡。



技术实现要素:

有鉴于此,本申请的目的在于提供一种系统还原方法及装置,以实现无还原卡时的系统还原。

第一方面,提供一种系统还原方法,所述方法包括:

基于获取的系统文件,创建三级镜像;所述三级镜像包括基础镜像、第一客户端镜像和第一运行镜像,其中,所述基础镜像为包含操作系统和驱动程序的虚拟磁盘文件;所述第一客户端镜像为以所述基础镜像为母盘创建的包含客户端程序的第一差分虚拟磁盘文件;所述第一运行镜像为以所述第一客户端镜像为母盘创建的第二差分虚拟磁盘文件,其中包含客户端程序在操作系统上运行时所需的文件、以及客户端程序在操作系统上运行过程中产生的文件;

基于所述第一客户端镜像创建第二运行镜像;所述第二运行镜像为以所述第一客户端镜像为母盘创建的第三差分虚拟磁盘文件,其中包含客户端程序在操作系统上运行时所需的文件;

在执行系统还原时,基于所述第二运行镜像启动运行安装在所述操作系统上的客户端程序。

第二方面,提供一种系统还原装置,所述装置包括:

三级镜像创建模块,用于基于获取的系统文件,创建三级镜像;所述三级镜像包括基础镜像、第一客户端镜像和第一运行镜像,其中,所述基础镜像为包含操作系统和驱动程序的虚拟磁盘文件;所述第一客户端镜像为以所述基础镜像为母盘创建的包含客户端程序的第一差分虚拟磁盘文件;所述第一运行镜像为以所述第一客户端镜像为母盘创建的第二差分虚拟磁盘文件,其中包含客户端程序在操作系统上运行时所需的文件、以及客户端程序在操作系统上运行过程中产生的文件;

运行镜像创建模块,用于基于所述第一客户端镜像创建第二运行镜像;所述第二运行镜像为以所述第一客户端镜像为母盘创建的第三差分虚拟磁盘文件,其中包含客户端程序在操作系统上运行时所需的文件;

系统还原执行模块,用于在执行系统还原时,基于所述第二运行镜像启动运行安装在所述操作系统上的客户端程序。

本申请实施例中,基于系统文件创建包括基础镜像、第一客户端镜像和第一运行镜像的三级镜像,且基于第一客户端镜像创建第二运行镜像,之后,可以基于创建的第二运行镜像启动运行安装在操作系统上的客户端程序以执行系统还原。这样,用户在执行系统还原之前,对系统所做的修改(包括对客户端程序的修改、客户端程序在操作系统上运行过程中会产生一些文件)不会对基础镜像产生影响,其中,客户端程序在操作系统上运行过程中产生的一些文件只会对第一运行镜像产生影响,不会对第二运行镜像产生影响,在执行系统还原时,可以基于第二运行镜像启动运行安装在操作系统上的客户端程序,如此,无需安装还原卡即可还原系统,适用性较强。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单的介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本申请实施例所提供的一种系统还原方法的流程图;

图2示出了本申请实施例所提供的一种客户端程序升级方法的流程图;

图3示出了本申请实施例所提供的一种确定客户端程序升级的方法流程图;

图4示出了本申请实施例所提供的一种系统还原装置的结构示意图;

图5示出了本申请实施例所提供的一种终端设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

考虑到相关技术是通过在终端上安装还原卡来具体实现上述系统还原,但是,由于瘦终端的空间有限,通常无法安装还原卡,导致适用性较差,本申请一种实施例中提出了一种系统还原方法,可以基于构建的三级镜像自动化的进行系统还原,适用性较强,详见下述实施例。需要说明的是,本申请实施例不仅可以适用于瘦终端,任何具有处理功能的终端设备均可以适用。

参见图1,为本申请实施例提供的系统还原方法的流程图,包括如下步骤:

s101、基于获取的系统文件,创建三级镜像;三级镜像包括基础镜像、第一客户端镜像和第一运行镜像,其中,基础镜像为包含操作系统和驱动程序的虚拟磁盘文件;第一客户端镜像为以基础镜像为母盘创建的包含客户端程序的第一差分虚拟磁盘文件;第一运行镜像为以第一客户端镜像为母盘创建的第二差分虚拟磁盘文件,其中包含客户端程序在操作系统上运行时所需的文件、以及客户端程序在操作系统上运行过程中产生的文件。

这里,三级镜像是预先创建的,本申请实施例可以基于刷机操作实现重装系统,以将包括有基础镜像、第一客户端镜像以及第一运行镜像的操作系统部署到需要系统还原的终端设备上。其中,上述基础镜像只包含操作系统和驱动程序的虚拟磁盘文件,第一客户端镜像是以上述基础镜像为母盘创建的包含客户端程序的第一差分虚拟磁盘文件,第一运行镜像是以上述第一客户端镜像为母盘创建的第二差分虚拟磁盘文件。上述虚拟磁盘文件、第一差分虚拟磁盘文件以及第二差分虚拟磁盘文件均可以采用微软的虚拟硬盘(virtualharddisk,vhd)文件格式,该文件格式是将硬盘封装到一个单独的文件中,以便操作系统作为虚拟硬盘使用。进一步地,本申请实施例可以基于本地虚拟磁盘启动(nativevhdboot)技术,使用终端设备的硬件来启动vhd中的操作系统。

值得说明的是,上述第一差分虚拟磁盘文件以及第二差分虚拟磁盘文件的实现均依赖于差分磁盘技术,也即,本申请实施例可以先创建一个操作系统(即基础镜像对应的操作系统),然后以上述操作系统的硬盘为母盘创建第一差分虚拟磁盘文件。这样,上述第一差分虚拟磁盘文件不仅拥有了一个和原操作系统完全一样的操作系统,还配置了可以在上述操作系统上运行的客户端程序,对于新操作系统的所有改动(如安装其他客户端程序)均会被保存在第一差分虚拟磁盘文件内,而不会修改母盘内基础镜像所对应的操作系统的内容。同理,本申请实施例还可以基于第一客户端镜像为母盘创建第二差分虚拟磁盘文件,这样,该第二差分虚拟磁盘文件不仅拥有了一个和原操作系统完全一样的操作系统,还包含了客户端程序在操作系统上运行时所需的文件、以及客户端程序在操作系统上运行过程中产生的文件,对于客户端程序在操作系统上运行过程中产生的文件,均会被保存在第二差分虚拟磁盘文件内,而不会对母盘内第一客户端镜像所对应的操作系统以及客户端程序产生影响。

s102、基于第一客户端镜像创建第二运行镜像;第二运行镜像为以第一客户端镜像为母盘创建的第三差分虚拟磁盘文件,其中包含客户端程序在操作系统上运行时所需的文件。

这里,在三级镜像的部署完成之后,可以基于系统启动的引导项(即第一运行镜像)启动系统,在系统启动后,本申请实施例提供的系统还原方法将基于当前生效的第一客户端镜像自动生成第二运行镜像,与第一运行镜像相同的是,上述第二运行镜像也是以第一客户端镜像为母盘创建的,但与第一运行镜像不同的是,上述第二运行镜像仅包含客户端程序在操作系统上运行所依赖的原始文件,而不包含客户端程序之前在操作系统上运行时所产生的文件,也即,该第二运行镜像对应的是没有经过修改的磁盘文件,从而可以基于该第二运行镜像实现系统还原。

s103、在执行系统还原时,基于第二运行镜像启动运行安装在操作系统上的客户端程序。

这里,在执行系统还原之前,本申请实施例还需要将系统启动的引导项由第一运行镜像更换为第二运行镜像,这样,在执行系统还原时,通过重启系统,经过第二运行镜像引导进入系统,也即,利用更换后的运行镜像(即第二运行镜像)实现了系统还原。

另外,在具体实施中,可以将系统还原前的运行镜像和系统还原后的运行镜像分别存储在不同的磁盘位置,而由于系统还原可能会进行多次,在执行系统还原时,可以重复利用上述磁盘位置。比如,在执行系统还原之前,第一运行镜像存储在位置1,若当前为首次执行系统还原,则将第二运行镜像存储在位置2,待下次再进行系统还原时,还原前的运行镜像就变为第二运行镜像了,此时再将还原后的运行镜像存储在位置1,原来位置1处的第一运行镜像则被删除,如此往复,不仅确保了每次执行系统还原时,均采用的是未经过修改的系统文件,而且进一步降低了磁盘占用。

本申请实施例提供的系统还原方法不仅可以实现系统还原,还能够进行客户端程序升级,也即本申请实施例可以兼顾客户端程序升级和系统还原。参见图2,上述客户端程序升级方法具体通过如下步骤实现:

s201、在需要对客户端程序升级时,基于基础镜像创建第二客户端镜像;第二客户端镜像为以基础镜像为母盘创建的包含升级后的客户端程序的第四差分虚拟磁盘文件;

s202、基于第二客户端镜像创建第三运行镜像;第三运行镜像为以第二客户端镜像为母盘创建的第五差分虚拟磁盘文件,其中包含升级后的客户端程序在操作系统上运行时所需的文件;

s203、基于第三运行镜像启动运行安装在操作系统上的升级后的客户端程序。

本申请实施例在确定需要对客户端程序升级时,将基于基础镜像自动生成第二客户端镜像,与第一客户端镜像相同的是,上述第二客户端镜像也是以基础端镜像为母盘创建的,但与第一客户端镜像不同的是,上述第二客户端镜像为创建的包含升级后的客户端程序的第四差分虚拟磁盘文件,也即,该第二客户端镜像对应的是一个升级后的客户端程序,从而可以利用该第二客户端镜像实现客户端程序升级。

接下来,基于上述第二客户端镜像生成第三运行镜像,该第三运行镜像是以升级后得到的第二客户端镜像为母盘创建的差分虚拟磁盘文件,包括升级后的客户端程序在操作系统上运行时所需的文件,而不包含升级前的客户端程序在运行过程中产生的文件。

另外,本申请实施例中的客户端程序升级可以是在执行系统还原之后执行的,在客户端程序升级之前,当基于第二运行镜像启动升级前的客户端程序后,基于第二客户端镜像生成包含升级后的客户端程序的第三运行镜像,并将系统启动的引导项由第二运行镜像更换为第三运行镜像,在重启系统后,由第三运行镜像引导进入系统,如此,便实现了在系统还原的基础上,进行客户端程序升级。另外,本申请实施例也可以在进行系统还原之前进行客户端程序升级,此时,当基于第一运行镜像启动升级前的客户端程序后,基于所述基础镜像创建第二客户端镜像,并基于第二客户端镜像生成包含升级后的客户端程序的第三运行镜像,然后将系统启动的引导项由第一运行镜像更换为第三运行镜像,在重启系统后,由第三运行镜像引导进入系统,即可实现客户端程序升级。

为了进一步确保客户端程序升级的有效性,参见图3,本申请实施例通过如下步骤确定需要对客户端程序升级:

s301、获取服务器端的客户端程序版本信息;

s302、将获取的客户端程序版本信息和本地的客户端程序版本信息进行比较;

s303、若服务器端的客户端程序版本信息高于本地的客户端程序版本信息,则确定需要对客户端程序升级。

在具体实施中,安装在终端设备上的客户端可以与服务器端进行通信,获取服务器端的客户端程序版本信息,如果服务器端的客户端程序版本信息与本地的客户端程序版本信息一致,则不需要升级,如果服务器端的客户端程序版本信息与本地的客户端程序版本信息不一致,并在前者高于后者时,则确定需要对客户端程序升级。

在确定需要对客户端程序进行升级时,可以从服务器端下载相应的客户端程序升级包,并将下载的客户端程序升级包释放至第二客户端镜像,以实现客户端的升级操作。在升级操作完成后,将基于新的客户端镜像(即第二客户端镜像)自动生成新的运行镜像(第三运行镜像),如果客户端程序升级是在执行系统还原之后进行的,上述第三运行镜像可以覆盖第二运行镜像,如果客户端程序升级是在执行系统还原之前进行的,上述第三运行镜像可以覆盖第一运行镜像。

基于同一申请构思,本申请实施例中还提供了与系统还原方法对应的系统还原装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述系统还原方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。如图4所示,为本申请实施例所提供的系统还原装置的结构示意图,该系统还原装置包括:

三级镜像创建模块11,用于基于获取的系统文件,创建三级镜像;三级镜像包括基础镜像、第一客户端镜像和第一运行镜像,其中,基础镜像为包含操作系统和驱动程序的虚拟磁盘文件;第一客户端镜像为以基础镜像为母盘创建的包含客户端程序的第一差分虚拟磁盘文件;第一运行镜像为以第一客户端镜像为母盘创建的第二差分虚拟磁盘文件,其中包含客户端程序在操作系统上运行时所需的文件、以及客户端程序在操作系统上运行过程中产生的文件;

运行镜像创建模块22,用于基于第一客户端镜像创建第二运行镜像;第二运行镜像为以第一客户端镜像为母盘创建的第三差分虚拟磁盘文件,其中包含客户端程序在操作系统上运行时所需的文件;

系统还原执行模块33,用于在执行系统还原时,基于第二运行镜像启动运行安装在操作系统上的客户端程序。

在具体实施中,上述运行镜像创建模块22,具体用于在基于第一运行镜像启动运行安装在操作系统上的客户端程序后,基于第一客户端镜像创建第二运行镜像,并将系统启动的引导项由第一运行镜像更换为第二运行镜像。

参见图4,上述系统还原装置还包括:

客户端升级运行模块44,用于在需要对客户端程序升级时,基于基础镜像创建第二客户端镜像;第二客户端镜像为以基础镜像为母盘创建的包含升级后的客户端程序的第四差分虚拟磁盘文件;基于第二客户端镜像创建第三运行镜像;第三运行镜像为以第二客户端镜像为母盘创建的第五差分虚拟磁盘文件,其中包含升级后的客户端程序在操作系统上运行时所需的文件;基于第三运行镜像启动运行安装在操作系统上的升级后的客户端程序。

客户端升级确定模块55,用于获取服务器端的客户端程序版本信息;将获取的客户端程序版本信息和本地的客户端程序版本信息进行比较;若服务器端的客户端程序版本信息高于本地的客户端程序版本信息,则确定需要对客户端程序升级。

在具体实施中,上述客户端升级运行模块44,具体用于在基于第二运行镜像启动运行安装在操作系统上的客户端程序后,基于第二客户端镜像创建第三运行镜像,并将系统启动的引导项由第二运行镜像更换为第三运行镜像。

对应于图1至图3中的系统还原方法,本申请实施例还提供了一种终端设备,如图5所示,该设备包括存储器1000、处理器2000及存储在该存储器1000上并可在该处理器2000上运行的计算机程序,其中,上述处理器2000执行上述计算机程序时实现上述系统还原方法的步骤。

具体地,上述存储器1000和处理器2000能够为通用的存储器和处理器,这里不做具体限定,当处理器2000运行存储器1000存储的计算机程序时,能够执行上述系统还原方法,从而解决目前无法安装还原卡进行瘦终端下的系统还原的问题,进而达到无需安装还原卡即可实现系统还原,适应性较强的效果。

对应于图1至图3中的系统还原方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述系统还原方法的步骤。

具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述系统还原方法,从而解决目前无法安装还原卡进行瘦终端下的系统还原的问题,进而达到无需安装还原卡即可实现系统还原,适应性较强的效果。

本申请实施例所提供的系统还原方法及装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

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