用于选择多版本软件的方法和选择设备
技术领域
本发明主要涉及多版本软件,尤其涉及在具有多个版本的软件的系统中,用于选择软件版本的方法和选择设备。
背景技术
对于计算机软件而言,为了改正软件中的某些错误、提高软件的性能或者满足用户对软件使用的需要,往往需要对软件进行修改和更新,从而形成新的软件。通常将这种在原软件基础之上进行修改形成的新软件称为原软件的升级版本软件或者高版本软件,而将作为修改基础的原软件相对于高版本软件称为低版本软件。根据每次修改所依据的软件版本和修改的次数,可以将软件分为第一版软件、第二版软件等等。原软件为第一版软件,在第一版软件基础上第一次修改后的软件为第二版软件,在第二版软件基础上再次修改后的软件为第三版软件等等,依次类推。
由于常常在已安装了低版本软件的计算机系统中直接安装新的高版本软件,或者为保证系统的持续工作,将低版本软件作为试运行的高版本软件的备用版本等原因,在一个计算机系统中,有时会出现多个版本的软件共存的现象。如何对这些软件进行选择从而开始适当的软件运行,是具有多版本软件的计算机系统普遍存在的问题。
现有技术中,都是采用手工操作从多版本软件中选择适当的软件版本,即通过操作员手工启动适当版本的软件进行后续运行。这种手工选择软件版本的方法和设备有以下两个缺点:首先,需要操作员对计算机系统进行时实监视,以便在软件运行故障时,手工启动另一版本的软件运行;其次,手工启动的特点使得该项任务难以进行远程控制。
因此,需要一种不依赖于操作员的操作,就可以对多版本软件进行选择的方法和选择设备。
发明内容
为了解决上述问题,本发明提供了一种计算机系统中的选择多版本软件的方法,包括如下步骤:
判断步骤,用于判断前一次运行的软件版本是否成功运行;
选择步骤,用于当经判断前一次运行的软件版本成功运行时,选择前一次运行的软件版本作为此次运行的当前版本,当经判断前一次运行的软件版本运行失败时,选择更低的版本作为此次运行的当前版本;以及
运行监视步骤,用于运行软件的所述当前版本,并对其运行情况进行监视,在当前版本的软件运行成功时,关闭对软件运行情况的监视,在当前版本的软件运行失败时,停止运行所述当前版本的软件,并启动一次新的软件版本的选择。
在所述软件为系统软件的情况下,在运行监视步骤中,在当前版本的系统软件运行失败时,停止运行所述当前版本的系统软件,并重新启动计算机系统开始新的系统软件版本的选择。
本发明还提供了一种计算机系统中的选择多版本软件的选择设备,包括:
判断处理装置,用于从存储装置中读取有关前一次运行的软件版本信息,判断前一次运行的软件版本是否成功运行,当判断处理装置判断前一次运行的软件版本成功运行时,则从存储装置中读取该软件版本作为此次运行的当前版本,将其送入软件运行装置运行;
存储装置,用于存储多个版本的软件及其软件版本信息,软件版本信息存储各个版本的软件对应的前一次运行的状态;以及
软件运行装置,用于运行判断处理装置送入的当前版本的软件,并在当前版本的软件成功运行时,将成功状态信息存储到存储装置中与该软件版本对应的软件版本信息中;并且在当前版本的软件运行失败时,将失败状态信息存储到存储装置中与该软件版本对应的软件版本信息中,之后启动判断处理装置开始软件版本的另一次选择。
根据本发明的选择设备,还包括监视装置,用于当判断处理装置从存储装置中读取当前版本的系统软件后,由判断处理装置启动,并在当前版本的软件运行失败后,用于重新启动判断处理装置开始系统软件版本的另一次选择。
根据本发明的多版本软件自动选择方法和设备无需手工操作即可实现多版本软件的自动选择。从而解决了现有技术中手工选择软件版本的缺陷,提高了系统的效率和可靠性。
通过以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面了解,本发明的其他目的和效果将变得更加清楚和易于理解。
附图说明
图1是根据本发明的选择多版本软件的方法的示意图;以及
图2是根据本发明的选择多版本软件的选择设备的示意图。
具体实施方式
以下将根据附图对本发明的优选实施方式进行详细的说明,在附图中,相同的标号表示相同或相似的部件。
图1是根据本发明的选择多版本软件的方法的示意图。参见图1,根据本发明的方法开始于步骤S101。在步骤S102中,判断在非易失性存储器中存储的前一次运行的软件版本是否成功运行。在本实施方式中,采用的非易失性存储器例如为高密闪存卡、闪存芯片或者硬盘等,这些存储器可以保证即使在断电的情况下,也不会丢失存储在其中的数据。
当在步骤S102中经判断,前一次运行的软件版本运行成功时,则图1所示流程进入步骤S103。在步骤S103中,选择前一次的版本作为此次运行的当前版本。之后,流程进入步骤S104。在步骤S104,启动软件运行监视程序。之后,在步骤S105,运行选择的当前版本的软件。并在步骤S106,判断当前版本的软件运行是否成功。当经判断运行成功时,图1所示流程进入步骤S107。在步骤S107,关闭软件运行监视程序。然后,图1所示流程结束于步骤S108。
当在步骤S106,经判断当前版本的软件运行不成功时,图1所示流程进入步骤S109。在步骤S109,停止当前版本软件的运行,重新开始下一次软件版本的选择。此时,流程返回步骤S102,重新进行步骤S102的判断。
当在步骤S102,经判断前一次运行的软件版本没有成功运行时,则图1所示流程进入步骤S110。在步骤S110,判断是否存在比前一次运行的软件版本更低的版本。当经判断存在更低版本时,图1所示流程进入步骤S111。在步骤S111,选择前一次运行的软件版本的低一级版本作为此次运行的当前版本。之后,流程进入步骤S104,并继续执行上述步骤S104及后续的运行、监视步骤。
当在步骤S110,经判断不存在更低版本时,则图1所示流程进入步骤S112。在步骤S112,启动诊断软件,确定计算机系统是否正常。之后,流程结束于步骤S108。
由上述描述可知,通过本发明的方法可以完成计算机系统对多版本软件的自动选择,解决了现有技术中手工选择软件版本的缺陷,提高了系统的效率和可靠性。
本发明还提供了一种选择多版本软件的选择设备。图2是根据本发明的选择多版本软件的选择设备200的示意图。
如图2所示,选择设备200包括判断处理装置201、存储装置202以及软件运行装置203。
判断处理装置201从存储装置202中读取有关前一次运行的软件版本信息,判断前一次运行的软件版本是否成功运行。当判断处理装置201判断前一次运行的软件版本成功运行时,则从存储装置202中读取该软件版本作为此次运行的当前版本,将其送入软件运行装置203进行运行。当软件运行装置203中的软件成功运行时,软件运行装置203将软件版本成功运行的信息送入存储装置202,由存储装置202将该版本运行成功的标识存储在与该版本的软件相对应的软件版本信息中。
当软件运行装置203运行的软件运行失败时,软件运行装置203停止运行该软件版本,同时向存储装置202发送运行失败信号。由存储装置202将该版本运行失败的标识存储在与该版本的软件相对应的软件版本信息中。之后,软件运行装置203向判断处理装置201发送启动另一次软件版本选择的信号,从而令软件运行装置203开始一次新的版本选择操作。
当判断处理装置201从存储装置202中读取的有关前一次运行的软件版本信息表明,前一次运行的软件版本运行失败时,则判断处理装置201从存储装置202中检索是否存在比前一次运行的软件版本更低的版本。当经检索不存在更低的软件版本时,判断处理装置201启动诊断程序对整个计算机系统进行诊断。当经检索存在更低的软件版本时,判断处理装置201从存储装置202中读取上一次运行的软件版本的低一级版本,将其作为此次运行的当前版本,送入软件运行装置202进行运行,并由软件运行装置203执行上述类似的运行、信息存储等操作。
本发明中,存储装置202是例如为高密闪存卡、闪存芯片或者硬盘等非易失性存储器。
根据本发明的选择设备200实现了多版本软件的自动选择。
根据本发明的用于选择多版本软件的方法和选择设备,尤其适用于一个计算机系统中同时共存多个版本的系统软件的情况。利用本发明的用于选择多版本软件的方法和选择设备,计算机系统可以在每次启动系统时,自动选择使用最适合的系统软件,使得在高版本的软件无法正常运行时,可以自动地依次选择较低版本的系统软件重新启动系统,为系统的正常运行和稳定提供了一种可靠的方法和设备。
不脱离本发明的范围和构思,可以对本发明做出多种改变和变形。本发明不限于前述具体实施方式。本发明的范围由所附权利要求书限定。