一种操作系统及其修复方法

文档序号:6368580阅读:142来源:国知局
专利名称:一种操作系统及其修复方法
技术领域
本发明涉及ー种操作系统,尤其涉及ー种操作系统的修复方法。
背景技术
计算机操作系统(以下简称操作系统)是管理计算机系统的全部硬件资源,其包括软件资源及数据资源,用来控制程序运行,改善人机界面以及为其它应用软件提供支持等。使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。 但是,当操作系统因故障或者损坏而导致无法使用时,整个计算机系统就会瘫痪并丧失全部功能。如果操作系统在出现故障时,可以有效的实现操作系统的自我修复,恢复到正常运行的状态,就可以大大提高计算机系统的可靠性,为计算机用户带来好处。目前操作系统自动修复技术有两种具体方案,一种是把操作系统恢复到和宕机前完全一祥的状态,即为恢复系统运行时的状态。该方案一般在服务器领域使用,又叫高可用技木。另ー种是指把操作系统恢复到宕机前某一时间点的状态,虽然该方案无法保证恢复系统到宕机前的某一精确时间点的状态,但相比高可用技术它是ー种折中的实现方案,一般可以满足个人计算机用户的要求。方案一是在系统状态良好时备份系统数据,在系统故障后,恢复该备份以达到修复的目的,但是该方案会丢失系统数据备份以后到故障发生前一段时间内的发生改变的数据。方案ニ是动态监控系统中数据的变化,对系统中重要的数据维护多个历史版本,在系统故障后,通过系统自带或者外部程序恢复系统数据到指定历史版本,使系统恢复到历史正常状态。但是该方案存在占用系统开销大,效率和经济性不足以及可靠性无法保证的问题。因此,亟需ー种操作系统的修复方法来解决计算机操作系统在宕机时无法进行高效修复的问题,以达到既满足用户可以接受的可靠性,同时又能满足一定程度的高效率和经济性。

发明内容
本发明所要解决的技术问题之ー是需要提供ー种能够将操作系统恢复至任意时刻的系统状态的操作系统的修复方法。为了解决上述技术问题,本发明提供了ー种操作系统的修复方法,该方法包括预备步骤,存储操作系统的系统数据文件,作为系统备份数据;更新步骤,基于设定时刻或基于设定时间段,获取更新的系统数据文件,并将所述更新的系统数据文件与所述系统备份数据进行合井,以更新所述系统备份数据;恢复步骤,根据用户指示基于所述系统备份数据来恢复所述操作系统,其中,所述更新的系统数据文件为发生变化的系统数据文件或新增的系统数据文件,所述发生变化的系统数据文件为相对于上次执行所述更新步骤时发生变化的系统数据文件。根据本发明又一方面的操作系统的修复方法,在将所述更新的系统数据文件与所述系统备份数据进行合并的处理中,包括将所述发生变化的系统数据文件替换所述系统备份数据中相应的原文件,将所述新增的系统数据文件添加到所述系统备份数据。根据本发明又一方面的操作系统的修复方法,在将所述更新的系统数据文件与所述系统备份数据进行合并的处理中,包括将所述更新的系统数据文件以及执行所述更新步骤的时刻添加至所述系统备份数据中以得到相应时刻的系统备份数据。根据本发明又一方面的操作系统的修复方法,将各个时刻的更新的系统数据文件分别以数据片的格式根据时间的先后顺序依次从下到上分层存储。根据本发明又一方面的操作系统的修复方法,在所述恢复步骤的处理中,包括当用户指示对所述操作系统进行恢复时,从各个时刻对应的系统备份数据中选择与用户所指示的时刻所对应的系统备份数据,基于所述与用户所指示的时刻所对应的系统备份数据来恢复所述操作系统。根据本发明又一方面的操作系统的修复方法,还包括根据用户指示删除任ー时 刻的系统备份数据。根据本发明又一方面的操作系统的修复方法,所述设定时间段根据公式T'=a T来设定,其中,T为操作系统内部设定周期,α为操作系统的繁忙权重,Τ,为所述设定时间段。根据本发明又一方面的操作系统的修复方法,所述操作系统的繁忙权重的影响因子为所述操作系统运行的日期和所述操作系统运行的读写频率。根据本发明又一方面的操作系统的修复方法,以单个镜像文件的形式存储所述系统备份数据。根据本发明的又一方面,还提供了ー种操作系统,所述操作系统利用上述的修复方法进行修复。与现有技术相比,本发明的一个或多个实施例可以具有如下优点本发明通过基于设定时刻或设定时间段获取更新的系统数据文件形成多个时刻的系统备份数据,在操作系统发生故障或用户想要将正常的操作系统恢复至任意时刻的系统状态时,可以根据用户的指示来恢复。克服了在方案一中丢失系统数据备份以后到故障发生前一段时间内发生变化的数据的技术问题。由于是基于设定时刻或设定时间段获取更新的系统文件,克服了对操作系统进行实时监控时所占用大量的系统资源的技术问题。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。


附图用来提供对本发明的进ー步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中图I是根据本发明第一实施例的操作系统修复方法的流程示意图;图2是根据本发明第一实施例的针对更新的系统数据文件的分层存储示例图;图3是根据本发明第二实施例的操作系统修复方法的流程示意图。
具体实施例方式以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互結合,所形成的技术方案均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。第一实施例
图I是根据本发明第一实施例的操作系统修复方法的流程示意 图,下面根据图I详细说明本实施例的各个步骤。步骤S110,存储操作系统的系统数据文件,作为系统备份数据。在本发明实施例中,优选地,将原始的操作系统的系统数据文件进行存储。其中,原始的操作系统为还未进行使用过的纯净的操作系统。当然,上述的系统数据文件还可以为用户在使用操作系统的某一时刻自行备份的系统数据文件,该系统数据文件不仅包括原始的操作系统,还包括通过使用操作系统后所更新的数据的相关文件。需要说明的是,在本实施例中以存储原始的操作系统的系统数据文件为例来进行说明,但本发明的系统数据文件不限于原始操作系统的系统数据文件。在本发明实施例中操作系统的系统数据文件以单个镜像文件(简称SYSIMG)的形式存储在硬盘,其中硬盘包括固态硬盘和Flash存储介质,作为原始操作系统的系统备份数据。步骤S120,基于设定时刻或基于设定时间段获取更新的系统数据文件,并将更新的系统数据文件与系统备份数据进行合并,以更新系统备份数据。可以基于设定时刻或基于操作系统内部设定的时间段来获取更新的系统数据文件,其中,更新的系统数据文件为发生变化的系统数据文件或新增的系统数据文件,发生变化的系统数据文件为相对于上一次执行该步骤时发生变化的系统数据文件。例如,某个文件为S,在用户使用操作系统后,由于对该文件进行了修改或更新,该文件变为S',将该S'作为S的发生变化的文件,或者对于上一次更新的文件S',在用户使用操作系统时,更新为S",则将S"作为S,的发生变化的文件。还例如,某个文件在上一次更新时不存在,在用户使用操作系统后,新增了该文件A,则该文件作为新增的系统数据文件。本实施例优选地,根据公式Iw = a T来设定时间段,其中,T为操作系统内部设定周期,α为操作系统的繁忙权重,T'为所述设定时间段。影响该权重的主要影响因子是操作系统运行工作时的日期以及操作系统当前运行的读写频率。举例而言,若操作系统内部设定的周期为20个小时,若当前操作系统运行的日期为工作日但操作系统的读写频率较低,则α的取值为O. 5,则设定时间段为10个小吋;若当前操作系统运行的日期为工作日且操作系统的读写频率较高,则α的取值为O. 3,则设定时间段为6个小吋;若当前操作系统运行的日期为节假日则α的取值为O. 9,则设定时间段为18个小吋。需要说明的是,操作系统工作时的日期以及操作系统当前的读写频率仅为繁忙权重α的主要因素,还可以包括其他因素,本发明实施例不再详细说明。将各个设定时间段获取的各个时刻的更新的系统数据文件分别以数据片(DataPiece,简称DP)的格式根据时间的先后顺序依次从下到上分层存储,其中,数据片在此处为逻辑概念,只是日志型文件系统中以时间为依据对文件分组的ー个抽象名称。如图2所示,在本实施例中,优选地,将各个时间段获取的更新的系统数据文件进行编码,将时间最早的更新的系统数据文件设为DP1,依次为DP2、DP3。然后根据时间先后顺序将编码后的系统数据文件从下到上分层放置,其中,最底层为步骤SllO存储的系统备份数据(图示SYSING)。本实施例通过将编码后的系统数据文件从下到上放置,使得最新的数据总是在最上层,并且分层放置可以使得所有数据都不会丢失。本实施例优选地将更新的系统数据文件以及执行该步骤的时刻添加至系统备份数据中的处理来完成在将更新的系统数据文件与系统备份数据进行合并时的操作。如图2所示,将DPl直接与步骤SllO存储的原来的系统备份数据进行叠加,作为DPl所对应时刻的系统备份数据;将DP2与前面获得的DPl所对应时刻的系统备份数据进行叠加,作为DP2所对应时刻的系统备份数据;将DP3与DP2所对应时刻的系统备份数据叠加,作为DP3所对应时刻的系统备份数据。需要说明的是,在各个时刻更新的系统数据文件与系统备份数据进行叠加时,若该时刻更新的系统数据文件中包括在该时刻之前的时刻的系统数据文件中的相对应的文件,则该时刻更新的系统数据文件所包括的文件直接替换相对应的文件。如图2所示,由于DP3所更新的系统数据文件包括DP2以及DPl中部分的相对应的系统数据文件,因此,DP3直接替换相对应的部分。因此在DP3所对应时刻的系统备份文件就是按照上述方式叠加形成的系统备份数据的ー个镜像(图示SYSFS)。另外,还可以基于设定时刻来获取更新的系统数据文件,在用户使用操作系统时,某些系统数据文件将会发生变化,通过用户设定某一时刻来获取发生变化的系统数据文件。在基于设定时刻获取更新的系统数据文件时,用户可以根据当前计算机的繁忙程度进行时间的设定。例如,将获取更新的系统数据文件的时间设定在某天下午五点钟,则在该设定时刻时,针对上一次设定的时间,假设为当天下午三点,将在操作系统中所发生变化(一般指更新或修改)的以及新增的系统数据文件进行存储。容易看出,将设定多个时间段所获取的更新的系统数据文件通过上述步骤可以得到多个时刻的系统备份数据。还可以将各个时刻形成的系统备份数据进行编号,例如SNAPSHOT I、SNAPSHOT
2.. . SNAPSHOT n,其中η为第η时刻。当然,在用户不想保留较早的系统备份数据时,根据用户指示可以删除任ー时刻的系统备份数据。通过对系统备份数据有选择地进行删除,不仅保留了最具有实效的系统备份数据,还节省了系统的存储资源。本步骤通过根据设定时间段获取更新的系统数据文件以更新系统备份数据的方式,不仅获取了多个时刻的系统备份数据,而且还避免由于对操作系统进行实时监控所耗费的系统资源。步骤S130,根据用户指示基于系统备份数据来恢复操作系统。具体地,在操作系统发生故障宕机或者用户想要将正常的操作系统恢复到任ー时刻的系统状态时,根据用户的指示对所述操作系统进行恢复。更具体地,从各个时刻对应的系统备份数据中选择与用户所指示的时刻所对应的系统备份数据,基于所述与用户所指示的时刻所对应的系统备份数据来恢复所述操作系统。例如直接通过指定某一时刻的SNAPSHOT η来自动恢复至η时刻的系统状态。 本发明实施例通过设定的时间段获取更新的系统数据文件以更新系统备份数据的方式,不仅获取各个时刻的系统备份数据,而且还避免由于对操作系统进行监控所耗费的系统资源。在操作系统发生故障或用户想要将正常的操作系统任ー时刻的系统状态吋,也可较容易地根据用户的指示来恢复到相应时刻的系统状态。第二实施例图3是根据本发明第二实施例的操作系统修复方法的流程示意图,下面參照图3对该实施例进行说明。为了便于说明,不再对与前述实施例相同的步骤进行详细展开,而仅重点说明与前述实施例的不同之处。在图I和图3中,对与前述实施例相同或相似的步骤,采用了相同的附图标记。步骤S110,存储操作系统的系统数据文件,作为系统备份数据。本步骤与上述实施例中对应的步骤相同,在此不再赘述。步骤S220,基于设定时刻或基于设定时间段获取更新的系统数据文件,并将更新的系统数据文件中的发生变化的系统数据文件替换系统备份数据中相应的原文件,将新增的系统数据文件添加到系统备份数据的方式进行合并,以更新系统备份数据。本实施例优选地,通过将发生变化的系统数据文件替换系统备份数据中相应的原文件,将新增的系统数据文件添加到系统备份数据的方式进行合并以完成将更新的系统数据文件与系统备份数据进行合并的操作。举例而言,在步骤SllO中存储了系统备份数据,在设定时间为下午五点钟时获取的更新的系统数据文件为发生变化的系统数据文件S,和新增的系统数据文件Α,则在该时刻将文件替换原系统备份数据中的相应原文件S,将A直接添加至系统备份数据中,以更新系统备份数据,作为五点钟系统备份数据;用户又设定时间在晚上八点钟时获取更新的系统数据文件为发送变化的系统数据文件S"以及新增的系统文件B,则在该时刻将S"替代五点钟系统备份数据中的S'文件,将B直接添加至五点钟系统备份数据,以更新了五点钟系统备份数据,生成八点钟系统备份数据。本实施例也可以基于设定时间段获取更新的系统数据文件,具体的操作如第一实施例的内容所述,在此不再赘述。基于上述步骤可知,所存储的系统备份数据总是操作系统在最近的设定时刻的更新后的系统备份数据,该最近的设定时刻的系统备份数据覆盖之前的所有设定时刻的系统备份数据。步骤S130,根据用户指示基于系统备份数据来恢复操作系统。具体地,在操作系统发生故障宕机或者用户想要将正常的操作系统恢复到最近的设定时刻的系统状态时,将会指示计算机选择最近时刻的系统备份数据进行对操作系统的恢复。本发明实施例通过用户所设定的时刻获取更新的系统数据文件以更新系统备份数据的方式,不仅获取最近时刻的系统备份数据,而且还避免由于对操作系统进行监控所耗费的系统资源。在操作系统发生故障或用户想要将正常的操作系统恢复至最近设定时刻的系统状态时,也可较容易地根据用户的指示来恢复到相应时刻的系统状态。此外,本发明还涉及ー种操作系统,该操作系统通过实施第一实施例和第二实施例的修复方法在系统发生故障宕机时进行自动修复。本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储 装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化, 但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
权利要求
1.ー种操作系统的修复方法,其特征在于,包括 预备步骤,存储操作系统的系统数据文件,作为系统备份数据; 更新步骤,基于设定时刻或基于设定时间段,获取更新的系统数据文件,并将所述更新的系统数据文件与所述系统备份数据进行合井,以更新所述系统备份数据; 恢复步骤,根据用户指示基于所述系统备份数据来恢复所述操作系统, 其中,所述更新的系统数据文件为发生变化的系统数据文件或新增的系统数据文件,所述发生变化的系统数据文件为相对于上次执行所述更新步骤时发生变化的系统数据文件。
2.根据权利要求I所述的方法,其特征在于,在将所述更新的系统数据文件与所述系统备份数据进行合并的处理中,包括 将所述发生变化的系统数据文件替换所述系统备份数据中相应的原文件,将所述新增的系统数据文件添加到所述系统备份数据。
3.根据权利要求I所述的方法,其特征在于,在将所述更新的系统数据文件与所述系统备份数据进行合并的处理中,包括 将所述更新的系统数据文件以及执行所述更新步骤的时刻添加至所述系统备份数据中以得到相应时刻的系统备份数据。
4.根据权利要求3所述的方法,其特征在干, 将各个时刻的更新的系统数据文件分别以数据片的格式根据时间的先后顺序依次从下到上分层存储。
5.根据权利要求3所述的方法,其特征在于,在所述恢复步骤的处理中,包括 当用户指示对所述操作系统进行恢复时,从各个时刻对应的系统备份数据中选择与用户所指示的时刻所对应的系统备份数据,基于所述与用户所指示的时刻所对应的系统备份数据来恢复所述操作系统。
6.根据权利要求3所述的方法,其特征在于,还包括 根据用户指示删除任一时刻的系统备份数据。
7.根据权利要求I所述的方法,其特征在干, 所述设定时间段根据公式T' = a T来设定, 其中,T为操作系统内部设定周期,α为操作系统的繁忙权重,T'为所述设定时间段。
8.根据权利要求7所述的方法,其特征在干, 所述操作系统的繁忙权重的影响因子为所述操作系统运行的日期和所述操作系统运行的读写频率。
9.根据权利要求I所述的方法,其特征在干, 以单个镜像文件的形式存储所述系统备份数据。
10.ー种操作系统,所述操作系统利用权利要求I至9任一项所述的修复方法进行修复。
全文摘要
本发明公开了一种操作系统的修复方法,该方法包括预备步骤,存储操作系统的系统数据文件,作为系统备份数据;更新步骤,基于设定时刻或基于设定时间段,获取更新的系统数据文件,并将所述更新的系统数据文件与所述系统备份数据进行合并,以更新所述系统备份数据;恢复步骤,根据用户指示基于所述系统备份数据来恢复所述操作系统。本发明通过基于设定时刻或设定时间段获取更新的系统数据文件形成多个时刻的系统备份数据,在操作系统发生故障或用户想要将正常的操作系统恢复至任意时刻的系统状态时,可以根据用户的指示来恢复。
文档编号G06F11/14GK102681917SQ20121012296
公开日2012年9月19日 申请日期2012年4月24日 优先权日2012年4月24日
发明者何曌君, 夏颖, 白新奋, 胡秋立, 许国昌 申请人:中标软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1