进行软件应用的时间优化的替换的制作方法

文档序号:6561341阅读:86来源:国知局
专利名称:进行软件应用的时间优化的替换的制作方法
技术领域
本发明涉及在至少一个计算机上从实际状态(Ist-Zustand))向目标状态进行状态变换的方法,其中所述的状态变换尤其涉及软件或者软件包的替换或者初次投入运行。
背景技术
软件的使用正在持续不断地得到发展,从而必须使现有的和正在使用的应用程序适应新的要求(例如扩展了的硬件性能)或者进一步发展。这就导致必须把现有的和正在使用的应用程序更换成新的版本、进行升级/更新或者更换成更正的版本(补丁)。
原则上有多种在计算机上安装软件的可能性。早先采用一套软盘,其中第一个盘一般地含有安装程序和压缩的数据。把解压数据拷贝在目标系统中的目标目录上。其中安装程序通过安装例程引导使用者并且在有的情况下附加地改变目标系统的某些配置数据。
如今可以采用CD,CD可以进行类似的过程并且提供更多的存储空间。
此外还公知使用外壳(shell),所述外壳可以自动调出所属的数据树然后保存在选取的目录中。
如果不进行首次安装而只是重新安装已经安装过的软件,那么原则上存在两个可能性1.在卸除旧的程序包之后完全重新安装新的程序包。这种方法的优点是,所有新安装的文档也实际上有同一个版本,并且可以避免由于失误没有改变数据而产生的故障。该方法的重大缺点是该过程很费时间。
2.根本不进行删除,而只补充安装在新的版本中改变了部分。这尽管较快速,但是在旧和新的文档之间的数据替换往往导致故障。
所有的公知程序安装技术都很费时间并且需要较长的既不能运行旧的也不能运行新的软件的时段。
对于特殊时间紧迫的应用中,譬如在电信和数据库的领域内,不可避免地要求时间优化地替换应用软件,以不干扰整个系统的运行。
在上述要求在时间上完全覆盖的应用程序的应用范围方面,不能够承受因需要替换软件而使之长时间不能运行。
当然尽可能地在时间上进行优化的状态变换不仅对软件替换是决定性,而且同样适用于要进行一定的系统参数改变时或者外围装置和/硬件部件更换时,例如需要采用另一个驱动器时。原则上当另一个程序重新访问正在运行的要替换的软件时要求时间优化的替换。
迄今进行的与软件替换相关的、其中让现有软件退出运行的状态变换,是更换成新的要安装的软件然后再让其上的应用程序和/或系统进入运行。
这样的做法由于上述的原因表现了很大的缺点;在替换软件时的做法至今是采取一般地把应用软件安放在另一个有大得多的时间容限的区域中。例如要把一个符号程序更换成其新的版本时,可以毫无顾忌地接受短时间不能够使用该应用程序。但是在电信领域,特别是在载波级的系统中,却不是这样,因为它是以最大的可用性为前提的。

发明内容
因此本发明的任务是,创建一种方法,使之能够时间优化地替换软件应用,并且能够自动地运行。该任务特别在于,创建一种在计算机组合中的各个计算机上的应用程序替换。
该任务通过前序部分所述的方法完成,它分为一个准备阶段和一个后续的启动阶段,其中准备阶段在实际状态中执行,并且有下面的步骤-登记与目标状态相关的控制信息-从该控制信息中自动产生至少一个脚本,-把目标状态的数据存储在缓存目录中,并且其中在启动阶段进行状态变换,其中终止按实际状态的运行然后采用所述的脚本,通过它使目标状态的数据能够用目标目录访问,而不必物理地移动目标状态的全部数据。
根据主权利要求的所述任务的解决方案尤其在于,在启动阶段根本不进行数据的物理运动,特别是不进行带有所属目录树的整个软件包的移动。
与现有技术不同,从安装技术的其它区域采取的状态变换和软件替换做法,可以显著地降低状态变换要求的时间,对于相应软件的可利用性是非常地有利的。其中,这可以通过把软件的安装划分成为两个阶段达到一个是准备阶段,该阶段还是在实际状态下进行,也就是在运行旧的软件或者说在没有新的要安装的软件的情况下运行。第二阶段,也就是所谓的启动阶段,起直接实施状态变换而不需要数据转换的作用。通过暂时先处理所述准备阶段,可以在终止实际状态和导入目标状态后把时间紧迫的启动阶段局限为只实施一或者多个移动指令。其中安装过程的主要部分,譬如下载过程和产生适当的环境的处理,在时间上提前,可以减少直到目标状态的开始时间,并且还可以使直到关闭的时间缩到最短。后者是尤其重要的,因为,要由升级或者更新或者补丁替换的已经安装了的软件的启动阶段的时段应当尽可能地小。
由此尤其在网络运营商和服务提供商的应用领域大大改进了的使用软件的停运时间。
另一个优点还在于上述过程的自动化可能性,尤其在于,可以自动地产生时间优化的脚本,并且产生对目标状态的软件及当前软件版本的所属环境。这使之可能进行实际状态的分析,其中自动地探测一定的系统参数(例如环境变量)。因此可以进行动态适应的和自动的安装,因为用于实施安装的脚本考虑探测出的系统参数。这种动态地适应的安装方法是现有技术未知的,并且不仅仅由于时间上的原因有利,因为现有技术所要求的互动输入信息不能够实现时间优化的方法。
由此还得到比现有技术系统低的出错率,因为无失误地产生自动产生的路径名称并且与相应的目录相一致。例如现有技术中失误出现在,例如在Windows系统上升级应用程序时由于安装应用软件改变了操作系统的部分或者区域,例如DLL。这可以导致老版本的DLL出现在新版本中。但是却没有对这种DLL软件的重写进行跟踪。在一系列的安装和卸载时可能出现不相容性。
在本发明的优选实施形式中,把所述的方法用于在电信领域内载波级范围的计算机上执行状态变换。
本发明的一个特别优选的实施形式涉及集群计算机。为了提高运算和有利地影响其它的系统参数,人们采用多重集群,这是一种分配以相同任务的联网的计算机组合。尤其地可以采用所谓的待用集群或者可用集群,如其名称所指地,以优化系统的可用性。例如所述的集群可以由两个机器组成,其中一台机器执行分配给它的某种任务。另一台机器处于待用模式。只有当第一台机器通报出现了问题(例如硬件故障或者软件出错),第二台机器才接管第一台机器的工作。(这里不进行任何负荷分配)。也就是说,有一种非启动的或者说待用的机器状态或者说以其它概念的机器组合。
这种待用状态,即所谓的集群冗余,被用于本发明中,使得状态变换涉及集群的非启动方。从而附加地提高可用性。
在本发明的另一个有利的实施被用作“UNIX”操作系统。通过采用一个或者一序列的MOVE指令执行移动指令。
因此MOVE指令在时间上进行了优化,因为不移动数据,而只是改变相应的目录树的最上面的条目,也就是所谓的Inode条目。因为在准备阶段中采取了所有需要的预防措施,在根据本发明的启动阶段仅仅还执行MOVE指令。
非常有利地表明,根据本发明可以自动地产生相应的应用程序的环境。对此把目标状态的软件保存在自动产生的路径名称上。以此得到以下优点在目标状态投入运行时自动地启动相应的正确配置的环境。
本发明尤其考虑到,自动而且首先是动态地产生安装脚本;用目标系统特定信息增加新的包,从而可以在相应的目标系统上进行优化的安装,特别是时间优化的安装,而不必要在安装时询问和/或处理其它的系统参数。就是说根据本发明,状态变换,特别是软件替换的时间上的优化基于在启动阶段不移动要安装的软件的概念。
本发明的其它有利扩展由从属权利要求和并列权利要求给出。


从下面对附图的详细说明表明本发明的其它优点及具有其特征的特别实施形式。在附图中图1a是现有技术的状态变换示意图,图1b是根据本发明的状态变换示意图,图2是实施根据本发明的状态变换的流程图。
具体实施例方式
该方法针对用要首次安装或者重新安装的新的软件12代换旧的、正在运行的、要被替换的软件10。
所述的新软件可以是旧的软件10的更新、升级或者是补丁。然而还有可能,要安装的新软件12是迄今还没有安装过的并且要通过状态变换实现首次安装。
在此,根据本发明的方法以两个直接相继的阶段为特征在准备阶段V中执行所述的时间上提前安排的、并且还可以在运行旧的软件10的时候进行的所有程序。在启动阶段A终止替换过程,其中只改挂某些文档和目录。启动阶段A以新的软件12投入运行而结束。
图1a和图1b涉及在实际状态和目标状态的变换。其中在图1a中按照现有技术进行软件的变换,而图1b涉及根据本发明的方法,该方法分成准备阶段V和启动阶段A。
通过替换或者变换程序,达到计算机或者系统(计算机的)的状态变换。实际状态16以运行旧的软件10为特征。所述实际状态16应当转变成目标状态18,所述的目标状态18以运行新的软件12为特征。通过使用根据本发明的方法把状态变换的时间,也就是在停止运行旧的软件10和开始运行新软件12之间的时间保持到最短。
在一个优选的实施要在SUN集群2.2的计算机上进行软件替换。
为了提高软件应用程序的可用性充分地利用集群冗余,其中只在集群的非启动的方面进行状态变换。由此不干扰启动方的软件运行。
下面参照图2说明根据本发明的方法的一个优选实施形式的时间过程,所述的实施形式涉及UNIX计算机。
在此方面要注意到,本发明的其它实施形式可以设有在图2中具体示出的方法步骤的相似序列。其中在头三个方格中示出的步骤在软件产生阶段中进行,而其余的(五个)步骤在目标机器中执行。
如在图2中所示,登记方法导出的所有的引入目标状态的前提条件,尤其是新软件12的前提条件。在开发或者生产软件包时,安排所谓的控制文档20,在其中存储控制信息22。
按现有技术的公知方法将控制信息22与新软件12一起打包进软件包24中。
控制信息涉及例如在进行状态变换时或者进行状态变换后所希望的系统反应。在此例如可能希望,在安装新的软件12后不进行任何系统反应,或者可以是要求停止应用程序或者要求停止应用程序包括其基础软件,也就是在应用程序与操作系统之间的中间层。另外,可能确定应当进行完全的重新引导。
在准备阶段还使用软件包24的控制信息22,以产生一或者多个脚本26。所述脚本26引发时间优化的替换行动进程。
新软件12被储存在起缓存目录作用的自动产生的目录名称。接着进行软件包的目录名称与环境变量之间的动态分配。
操作系统UNIX向管理器提供清楚定义的例程,例如例程“package add”(pkgadd)和“package remove”(pkgrm),这些例程按照其名称添加进包或者从系统中卸除软件。此外UNIX软件包的格式还通过“应用二进制界面”(ABI)定义。
相关地,在准备阶段V所有占时间的指令在运行的操作系统的背景下实施在缓存目录(在图2中第五步骤的缓存目录缩写成“Zwischen-Vz”)上。从而在把新的软件12拆包后,例如借助于指令“pkgadd”,把新的软件12安装在该缓存目录上。接着产生脚本26,该脚本26在以后要将新的软件12替换旧的软件10,例如从pkgadd控制数据“pkmap”。然后自动地产生新软件12的环境。
只是在此时才要停止旧软件10特别是网络驱动软件。该时间点还定义了从准备阶段V至启动阶段A的过渡。关闭旧的软件10以后现在依据选取的实施形式重新执行脚本26,其中执行MOVE指令或者MOVE指令的序列。
基于准备阶段V中的引导步骤,在此处只再需执行MOVE指令或者MOVE指令的序列,以把在缓存目录中存储信息提供到目标目录中。在执行该操作以后,就可以把新的软件12投入运行了,到达目标状态18并且结束启动阶段A。
通过在准备阶段V中执行准备的和占用时间的安装指令,可以把启动阶段限制到最小的时段,这明显地提高了系统的可用性。在准备阶段V中执行占用时间的指令,也就是与实际状态16的运行(旧的软件10)并列地执行。因此可以在准备阶段V的该时段完全不考虑系统的不可用性。因为本发明不是最终以在实际状态16期间提前准备尽可能多的安装程序为基础的,所述准备阶段V可以包括比现有技术方法具有更大的时间跨度。这确实不损害可用性,因为在实际状态16一直还在运行旧的软件。惟独只在很短的启动阶段A系统才不能够提供使用。
这样根据本发明的时间优点通过采用执行MOVE指令或者MOVE指令的序列出现,所述的指令只改变文档树的根,也就是INODE,而不移动数据。以此根据本发明的重新安装有别于现有技术公知的重新安装,在后者产生完全的数据拷贝。
本发明的另一个实施形式提出把所述的方法用于非UNIX系统和/或非集群的系统。
是根据本发明的过程有利地包含执行替换程序的其它的选择可能性。从而可以安排,是否希望在装入新的软件12后有系统反应(例如,重新引导等)。此外还可以定义把所要求的处理过程定义为在新软件12拆包前所需的,和/或在把新软件12引入目标目录后但是还没有重新开始新软件12之前需要的处理过程。此外这方面还有其它的处理过程,例如,所要求的数据转换、链路产生等等。此外可以布置应当自动在目标状态18启动的环境。
一个在实际中的重要优点在于,自动地产生要新安装的软件12的环境。从而使用者不再参与选择正确的安装包,并且该方法可以完全自动化地进行。
为了在错误控制的替换行动时不丢失可运行的旧的软件10,也就是在替换运行前的实际状态16,附加设有软件的恢复可能性,用于恢复原来的软件。这就是说,用旧的实际状态对应新的目标状态并且可以反过来对应。为此把旧的有待替换的软件10保存在逆向恢复目录中。从该目录中以相同的方法进入目标目录。通过该附加的保险措施就不会丢失数据了。
常常要用到该方法的是自动安装软件应用程序的补丁。由此可以用相应版本和以适当的环境自动安装更正程序,也就是所谓的补丁。
权利要求
1.在至少一个计算机上从实际状态(16)向目标状态(18)进行状态变换的方法,其中所述的状态变换尤其涉及软件的替换或者新运行,并且分为一个准备阶段(V)和一个后续的启动阶段(A),其中准备阶段(V)在实际状态(16)中执行,并且有下面的步骤-登记与目标状态(18)相关的控制信息(22)-从该控制信息(22)中自动产生至少一个脚本(26),-把目标状态(18)的数据存储在缓存目录中,并且其中在启动阶段(A)进行状态变换,其中终止按实际状态(16)的运行并采用所述的脚本(26),通过脚本(26)把目标状态(18)的数据改挂到目标目录中。
2.如权利要求1所述的方法,其特征在于,在时间上优化脚本(26)的运行。
3.如至少以上权利要求之一所述的方法,其特征在于,自动地产生目标状态(18)的相应环境。
4.如至少以上权利要求之一所述的方法,其特征在于,把目标状态(18)的数据储存在自动产生的路径多称上。
5.如至少以上权利要求之一所述的方法,其特征在于,所述计算机是计算机集群中的一个计算机。
6.如权利要求5所述的方法,其特征在于,至少启动阶段(A)在集群计算机的非启动方执行。
7.如至少以上权利要求之一所述的方法,其特征在于,所述计算机是UNIX计算机。
8.如权利要求7所述的方法,其特征在于,在结束启动阶段(A)之后目标状态(18)的数据不再处于缓存器中,而是可以在目标目录中被存取,其中改变数据树根的名称,尤其是通过MOVE指令改变。
9.如至少以上权利要求之一所述的方法,其特征在于,所述方法额外可选地含有以下步骤在进行了状态变换后自动地重新生产实际状态(16),尤其是其中在安装软件包(24)时产生一个逆向恢复的软件包。
10.如至少以上权利要求之一所述的方法,其特征在于,目标状态(18)用的数据涉及在其中引入控制信息(22)的软件包(24)。
11.如权利要求10所述的方法,其特征在于,在中间目录中打开所述软件包(24)。
12.如至少以上权利要求之一所述的方法,其特征在于,状态变换包含安装新的软件(12)。
13.如至少以上权利要求之一所述的方法,其特征在于,状态变换包含重新安装旧的软件(10),尤其是升级和/或更新。
14.如至少以上权利要求之一所述的方法,其特征在于,状态变换包含安装旧的软件(10)的补丁。
15.如至少以上权利要求之一所述的方法,其特征在于,自动地进行状态变换。
16.包含软件代码段的程序,利用该程序通过一个处理器实施根据权利要求1至15之一所述的方法。
17.装置,用于实施根据权利要求1至15之一所述的方法。
全文摘要
本发明涉及能够以软件的大可用性用新软件(12)替换正在运行的旧软件(10)的方法。它分为准备阶段(V)和启动阶段(A)。准备阶段在运行旧软件(10)的过程中进行。启动阶段的特征是只执行MOVE指令。
文档编号G06F9/445GK1916851SQ20061012192
公开日2007年2月21日 申请日期2002年1月11日 优先权日2001年1月19日
发明者J·布拉古拉, D·克劳斯 申请人:西门子公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1