容错操作方法与使用此方法的电子装置与流程

文档序号:16627732发布日期:2019-01-16 06:16阅读:158来源:国知局
容错操作方法与使用此方法的电子装置与流程

本发明涉及一种电子装置的操作方法,尤其涉及一种容错操作方法与使用此方法的电子装置。



背景技术:

现行的还原方法,不论是品牌厂开发或是微软内建系统还原方法,一旦发生致命错误(fatalerror),还原流程无法继续往下执行,也导致无法顺利进入作业系统。然而,在很多情况下,通过系统重装或是还原流程重新再来,所述现象大多不会再发生。由此可见,许多所谓“致命错误”,并非对系统有重大影响,因此没有可容错的还原机制,对于使用者而言是一大困扰,对企业又是一个重工的成本。此外,在系统备份程序中,若在某一个档案地址发生备份失败,则整个备份流程就需要重新执行。



技术实现要素:

有鉴于此,本发明提供一种容错操作方法与使用此方法的电子装置,可提高还原/备份程序的执行效率。

本发明的一实施例提供一种容错操作方法,其用于具有作业系统的电子装置,所述方法包括:由安装于所述电子装置的第一执行档执行第一程序;在发生错误而导致所述第一程序中止时,由所述作业系统传送中止通知至容错模块,并由所述容错模块获得所述第一程序的中止地址信息;以及由所述容错模块传送所述中止地址信息至所述作业系统,使得所述作业系统呼叫所述第一执行档基于所述中止地址信息继续执行所述第一程序。

本发明的另一实施例提供一种电子装置,其包括存储设备与处理器。所述存储设备包括作业系统、容错模块及第一执行档,其用以执行第一程序。所述处理器连接至所述存储设备并用以执行所述作业系统、所述容错模块以及所述第一执行档。当发生错误而导致所述第一程序中止时,所述处理器通过所述作业系统传送中止通知至所述容错模块,并通过所述容错模块获得所述第一程序的中止地址信息。此外,所述处理器通过所述容错模块传送所述中止地址信息至所述作业系统,使得所述作业系统呼叫所述第一执行档基于所述中止地址信息继续执行所述第一程序。

基于上述,本发明的系统还原/备份具有容错机制,不用因为遭遇执行失败即重复执行完整的还原/备份程序,从而减少重工的成本。

为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。

附图说明

图1是依照本发明一实施例所示出的具有还原/备份容错机制的电子装置的示意图。

图2是依照本发明一实施例所示出的容错操作方法的流程图。

图3a、图3b及图3c是依照本发明一实施例所示出的备份程序的示意图。

图4是依照本发明另一实施例所示出的容错操作方法的流程图。

附图标记说明

100:电子装置

110:处理器

120:存储设备

121:容错模块

122:作业系统

123:执行档

301:档案

30:存储空间

31:作业系统(os)分割区

32:使用者数据区

33:保留区域

s205~s220、s401~s407:容错操作方法的各步骤

具体实施方式

图1是依照本发明一实施例所示出的具有还原/备份容错机制的电子装置的示意图。请参照图1,电子装置100包括处理器110以及存储设备120。处理器110连接至存储设备120。

处理器110例如为中央处理单元(centralprocessingunit,cpu)、图像处理单元(graphicprocessingunit,gpu)、物理处理单元(physicsprocessingunit,ppu)、可程序化的微处理器(microprocessor)、嵌入式控制芯片、数字信号处理器(digitalsignalprocessor,dsp)、特殊应用积体电路(applicationspecificintegratedcircuits,asic)或其他类似装置。

存储设备120例如为固态硬盘(solidstatedisk,sdd)、硬盘(harddiskdrive,hdd)或快闪存储器(flashmemory)等非易失性存储单元。存储设备120中包括容错模块121、作业系统122与执行档123(也称为第一执行档),其用以执行一预设程序(也称为第一程序)。例如,容错模块121、作业系统122及执行档123皆安装于电子装置100中,并且处理器110可运行容错模块121、作业系统122及执行档123以执行第一程序。此外,容错模块121可以是以软体、硬体或软体结合硬体的方式实施,本发明不加以限制。

在一实施例中,执行档123为还原执行档,其用以执行还原程序。在一实施例中,执行档123为备份执行档,其用以执行备份程序。在一实施例中,执行档123也可同时包含还原执行档与备份执行档,故处理器110可通过执行档123选择性地执行还原程序或备份程序。此外,容错模块121会在第一程序(可以是还原程序或备份程序)中止时,取得第一程序的中止地址信息,以继续后续未完成的第一程序。

更具体来看,在一实施例中,在开始执行第一程序之后,当发生错误而导致第一程序中止时,作业系统122会传送中止通知至容错模块121,并且容错模块121会获得第一程序的中止地址信息。然后,容错模块121会传送中止地址信息至作业系统122,使得作业系统122呼叫执行档123基于中止地址信息继续执行第一程序。

第一实施例

在第一实施例中,执行档123是还原执行档,其用以执行还原程序。底下即搭配上述电子装置100来说明第一实施例中容错操作方法的各步骤。图2是依照本发明一实施例的容错操作方法的流程图。须注意的是,图2的容错操作方法也可称为还原方法。

请同时参照图1及图2,在步骤s205中,由执行档123(即,还原执行档)来执行还原程序。执行档123例如为recovery.exe。使用者可利用滑鼠、键盘、触控装置等输入装置来点选执行档123,在执行档123被点选之后,其会被载入至系统存储器中来执行还原程序。

接着,在步骤s210中,在还原程序的执行过程中,在发生错误而导致还原程序中止时,作业系统122会传送还原程序的行程信息(processinformation)至容错模块121。具体而言,在发生错误而导致还原程序中止时,作业系统122会发出中止通知(也称为还原中止通知)至容错模块121。在容错模块121接收到还原中止通知时,容错模块121会传送一要求至作业系统122。而作业系统122接收到要求之后,作业系统122会传送还原程序的行程信息至容错模块121。

执行档123在执行还原程序时,会将其流程细节存储在作业系统122。例如,执行档123可将目前正在读取的虚拟存储器地址以及分页内容存放至作业系统122。因此,当还原程序发生错误而中止时,作业系统122便可将其行程信息传送至容错模块121,以由容错模块121来进行解析。

在步骤s215中,通过容错模块121分析行程信息以获得还原程序在中止时的地址信息。在此,地址信息(即,中止地址信息)包括执行信息与实体地址信息。具体而言,容错模块121自行程信息获得虚拟存储器地址与分页内容。接着,容错模块121解析虚拟存储器地址而获得在错误当下,还原程序在使用者模式下的执行信息。并且,容错模块121解析分页内容而获得还原程序在核心模式下的实体地址信息。即,容错模块121解析分页内容而获得核心模式的执行过程,并且针对核心模式的执行过程进行反组译,而获得实体地址信息,即,还原程序的行程映射到的实体存储器的地址。

使用者模式下的执行信息记录了执行档123在使用者模式下的流程细节。例如,在使用者模式下正在执行的动作、呼叫哪一个档案、正在执行的功能、下一步要执行的功能或档案等。核心模式下的实体地址信息记录了执行档123在核心模式下的流程细节。例如,在核心模式下发生错误时,执行到哪一个存储器地址以及接下来要执行哪一个存储器地址。

任何程序在作业系统122上执行,通过虚拟存储器与分页技术取得实际地址,并完成执行。由虚拟存储器可以得知各程序所包含的行程(process)或执行绪(thread)、程序行为甚至是细部流程、呼叫程序等。另外,如果取得行程的分页内容,即可知道该行程当下正处在那个实体存储器地址或逻辑存储器地址。

在获得还原程序在中止时的地址信息之后,在步骤s220中,由容错模块121传送地址信息至作业系统122,使得作业系统122呼叫执行档123继续执行(未完的)还原程序。即,通过作业系统122呼叫执行档123执行备份档案内容中的下一个实体存储器地址,而从该实体存储器地址再启动还原程序。

第二实施例

在第二实施例中,执行档123是备份执行档,其用以执行备份程序。底下即搭配电子装置100来说明第二实施例中容错操作方法的各步骤。图3a、图3b至图3c是依照本发明一实施例所示出的备份程序的示意图。图4是依照本发明另一实施例所示出的容错操作方法的流程图。须注意的是,图4的容错操作方法也可称为备份方法。

请同时参照图1、图3a及图4,存储设备120具有存储空间30。例如,存储空间30可以是固态硬盘、硬盘、快闪存储器等非易失性存储单元或其组合的存储空间。存储空间30被划分为作业系统(os)分割区31与使用者数据区32。作业系统(os)分割区31用以存储作业系统122及作业系统122的运行相关的档案。使用者数据区32用以存储使用者数据。例如,使用者数据包括由使用者指示存入的媒体档案和/或应用程序档案等等。

假设待备份的档案(也称为备份档案)301是os分割区31中的档案,并且档案301存储于os分割区31中的实体地址1000~1400。例如,一个实体地址可以是指一个实体区块(block)地址或任意大小的实体存储地址。在一实施例中,实体地址1000~1400也称为档案301所占用的档案区块地址。须注意的是,在本实施例中,档案301所占用的档案区块地址是连续的(例如,1000~1400)。然而,在另一实施例中,档案301所占用的档案区块地址也可以是不连续的。

在步骤s401中,在对于档案301的备份程序启动时,作业系统122会传送档案301的使用区块信息给容错模块121。例如,档案301的使用区块信息带有指示档案301存储于实体地址1000~1400相关的信息。在步骤s402中,容错模块121会根据档案301的使用区块信息在存储设备120中配置保留区域33。保留区域33用以经由备份程序存储档案301。

以图3a为例,容错模块121是根据档案301的使用区块信息在存储空间30中配置保留区域33,而保留区域33是用以在对于档案301的备份程序中存储从实体地址1000~1400复制过来的数据。此外,保留区域33的存储容量会与档案301的档案大小一致。例如,保留区域33的存储容量会(约)等于或大于档案301的档案大小。藉此,可确保在对于档案301的备份程序中,档案301可被完整地存储至保留区域33中。

在步骤s403中,容错模块121根据档案301的使用区块信息获得档案301所占用的档案区块地址,即实体地址1000~1400。在一实施例中,步骤s403也可在步骤s402之前执行,或者与步骤s402一并执行,以根据档案301所占用的档案区块地址决定保留区域33。此外,根据档案301的使用区块信息,容错模块121也可计算出档案301的档案大小。例如,档案301的档案大小(约)等于实体地址1000~1400的总容量。

在步骤s404中,在开始执行对于档案301的备份程序之后,容错模块121会启动一个计数器(counter)。此计数器的计数值会对应于档案301的档案区块地址的其中之一。以图3a为例,对于档案301的备份程序会从实体地址1000开始,依序将实体地址1000~1400中的数据存储至保留区域33中。而计数器的计数值即可用于评估当前的备份程序是执行到实体地址1000~1400中的哪一个实体地址。

在步骤s405中,在发生错误而导致对于档案301的备份程序中止时,作业系统122会传送中止通知(也称为备份中止通知)至容错模块121。在步骤s406中,在接收到中止通知之后,容错模块121会根据上述计数值获得所述档案区块地址中的第一档案区块地址。须注意的是,第一档案区块地址即为发生所述错误的档案区块地址。然后,在步骤s407中,容错模块121会传送第一档案区块地址至作业系统122,使得作业系统122呼叫执行档123而基于第一档案区块地址继续执行备份程序。

以图3b与图3c为例,假设备份程序执行至实体地址1250(即,将数据从实体地址1250读出并存储至保留区域33)时发生存储失败而导致对于档案301的备份程序中止。此时,根据备份程序中止时计数器的计数值,容错模块121可得知错误发生当下备份程序是正在存取实体地址1250。因此,容错模块121可将实体地址1250设定为第一档案区块地址并且包含于中止地址信息传送给作业系统122。藉此,作业系统122即可指示执行档123从实体地址1250开始继续执行未完的备份程序,例如,将存储于实体地址1250~1400的数据继续存储至保留区域33中。

值得注意的是,图2与图4中各步骤可以实作为多个程序码或是电路,本发明不加以限制。此外,图2与图4的实施例可单独使用,也可以搭配使用,本发明不加以限制。

综上所述,本发明实做一套工具程序或电路(容错模块),可在还原程序或备份程序发生错误而中止时,通过容错模块来获得程序中止时已执行到的备份档案所在的某一个实体地址(或实体存储器地址)与下一个实体地址(或下一个实体存储器地址)。然后,作业系统即可呼叫执行档从该地址再启动还原程序或备份程序,而接续执行未完成的(剩余)的还原/备份程序。据此,不会因为一小部分的程序执行失败即需要重新执行整个还原程序或备份程序,从而可提升还原/备份程序的执行效率。

虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视权利要求所界定者为准。

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