辅助安装软件的系统和方法

文档序号:6560379阅读:204来源:国知局
专利名称:辅助安装软件的系统和方法
技术领域
本发明涉及信息技术领域,更具体地,本发明涉及辅助安装软件 的系统和方法。
背景技术
当前,经常需要在复杂的环境中进行软件部署。例如,需要在共 存有其他软件的环境中部署一个新软件,或者需要在异构的平台(例如不同的操作系统中)中进行软件部署。在部署期间,由于所要安 装的新软件例如存在与其他软件之间的复杂依赖和冲突关系,安装 该新软件时容易发生故障。参看如下的两种情形1. globus toolkit 3在JVM ( Java虚拟机)1.4.0上发布了以后, Sun公司发布了 JVM 1.4.2。为了在该新的JVM 1.4.2上运行,globus toolkit 3需要一个补丁。然而,安装globus toolkit 3时,其安装器不 能自动地解决补丁问题。这样globus toolkit 3在JVM 1.4.2上运行时 将会出现故障。只有用户此时求助于技术支持网站,才能知道为了 在JVM 1.4.2上运行,globus toolkit 3需要一个补丁;2. 为了在linux上安装DB2,应当设置一个操作系统内核参数。 如果部署者忽略了该内核参数的设置,将会导致在linux上安装DB2 时发生故障。软件安装器是可执行软件包,用来在特定操作系统上安装一个软 件。通常软件安装器用脚本来编写,并编译成可执行的二进制文件。 用于制作软件安装器的工具的例子包括但不局限于:用于Windows操作系统的install shield、 install suite、 Windows 安装器;
用于Linux操作系统的RPM (红帽子软件包管理器);和 用于TPM ( Tivoli Provisioning Manager, —种IBM软件产品) 的工作流(workflow)。软件安装器一般主要包括三部分,即依赖和冲突检测部分,例 如用于检测先决条件、平台一致性等;软件包安装部分,例如用于 对软件进行解包、将软件复制到正确的位置、及注册COM(组件对 象模型)组件等;以及软件配置部分,例如用于在配置文件中写入 一些配置参数。换句话说,软件安装过程一般主要包括三个阶段,即依赖和冲突 检测阶段、软件包安装阶段、以及软件配置阶段。对于例如用Install shield、 RPM或TPM工作流之类的工具制作 的现有软件安装器来说,其脚本被一次性打包并被编译成为可执行 文件。因此现有的软件安装器是静态的。通常情况下, 一个新软件上市后,将安装在一个已经安装许多其 他软件的环境中,并且在该环境中还将安装许多其他已上市软件。 因此,在一个新软件上市之前,可以检测该软件与其将要安装的环 境中已经安装的和将要安装的其他已上市软件之间的所有沖突。换 句话说,安装一个新软件时,其软件安装器可以检测该新软件与已 经安装在该环境中的和将要安装在该环境中的其他已上市软件之间 的沖突。但是,在该新软件上市之后,其软件安装器就不能检测该软件与 在该软件上市之后上市的其他软件之间的冲突。另外,当编写该软件的软件安装器时,编程者很难预测将来在安 装该软件时会出现什么问题。因此,使用静态的软件安装器安装一个软件时可能会发生故障。 即使安装该软件时没有出现故障,在完成安装之后运行该软件时也 可能出现故障。为了解决这些故障,部署者或者用户需要求助于提 供技术支持的手册或提供技术支持的网站,以找出解决这些故障的 方案。
目前,已经有许多提供技术支持的网站或症状数据库。这些网站 或症状数据库通常能够提供解决这些问题的最新解决方案。但是, 用户需要很多的特定知识来理解来自网站或症状数据库的解决方 案。目前,在使用现有的静态软件安装器安装软件的情况下,当安装 软件发生故障时,通常不能自动地处理这些故障。因此,现有的软件安装器不能满足如下的部署需求1. 来自软件提供者的部署需求在一个软件上市后,需要对该 软件安装器进行更新,例如,在已有的安装流程中添加该软件的最 新补丁,以提供更多的功能;2. 来自解决方案开发者的部署需求需要为特定的解决方案自 动改变相关配置文件中的配置;以及3. 来自技术支持或软件症状管理的运营者的部署需求能够根 据相关症状数据库自动地解决软件安装问题,例如解决与在该软件 上市之后上市的其他软件的沖突问题,即自动地进行该冲突的检测 和解决。发明内容本发明的一个目的是克服现有技术中存在的上述技术问题,满足 软件提供者、解决方案开发者及技术支持或者软件症状管理运营者 的需求,提供适于根据不同的部署需求辅助软件安装的系统和方法。根据本发明的一个方面,提出了一种辅助安装软件的系统,包括 识别器,用于识别软件安装过程的阶段是否发生变化;以及任务调 度器,用于响应所述识别器识别到该软件安装过程的阶段发生变化 而执行该软件安装过程的当前阶段的额外任务。在一个实施例中,所执行的额外任务可包括进行该软件与其他软 件的依赖和冲突检测。在另一个实施例中,额外任务可包括对该软 件打额外的补丁;安装一个软件;和/或卸栽一个软件。此外,额外 任务也可包括在配置文件中增加配置;在配置文件中改变配置;和/ 或在配置文件中删除配置。按照一个实施例,该系统还可包括症状报告器,用于报告在执行 所述额外任务时出现的故障。按照一个实施例,该系统还可包括更新器,用于获取至少包括所 述额外任务和用于执行该额外任务的脚本的更新数据。按照一个实施例,更新数据来自一个打包和发布器。按照另 一 个实施例,更新数据包括来自软件库的数据表和/或制品;来自解决方案库的数据表和/或制品;和/或来自症状数据库的数据表和/或制品。其中,症状数据库包含问题的检测脚本和对应的解决脚本。 根据本发明的另一个方面,还提出一种辅助安装一个软件的方法,包括步骤识别软件安装过程的阶段是否发生变化;以及响应识别到该软件安装过程的阶段发生变化,执行该软件安装过程的当前阶段的额外任务。根据本发明,可以根据不同的部署需求进行软件安装。


通过以下结合附图的说明,并且随着对本发明的更全面的了解,本发明的其他目的和效果将变得更加清楚和易于理解,其中图1示意性地示出了本发明可以在其中实现的网络系统;图2示出了在根据本发明的一个实施例中的症状数据库的例子;图3示出了根据本发明的一个实施例的一种建立/更新症状数据库的方法;图4示出了数据表的一个例子;图5更详细地示出了图1中包括的各个装置以及它们之间的相互 关系;图6是根据本发明的一个实施例的安装一个软件的过程的流程图;图7是根据本发明的一个实施例的安装一个软件的部分过程的
流程图。在所有的上述附图中,相同的标号表示具有相同、相似或相应的 特征或功能。
具体实施方式
本发明的基本思想是,用 一个任务调度器执行现有软件安装器所 执行的固定任务之外的额外任务。该固定任务指的是例如现有软件 安装器所执行的常规任务,而额外任务指的是例如能够满足上述部署需求的任务。以下对本发明的优选实施例进行描述。图1示意性地示出了本发明可以在其中实现的网络系统100,在 该网络系统100中可以使用根据本发明的辅助安装软件的系统和方 法。网络系统100包括客户端102、服务器104、以及网络106。客 户端102和服务器104可以是膝上型计算机、小型机、或中型机等 等。客户端102和服务器104分別通过链路108和链路IIO连接到 网络106。换句话说,客户端102可以经由链路108、网络106、链 路110与服务器110通信。链路108和110可以是有线链路,也可 以是无线链路,诸如同轴电缆、光纤、或卫星链路等。同样地,网 络106可以是无线网、有线网、或它们的组合。另外,网络106可 以是局i或网、城域网、广域网、或它们的组合。例如,网络106是 因特网。当然,本领域的技术人员应该理解,在网络106上还可以连接有 其他的客户端和/或服务器。因此,为了能够彼此识别,客户端和服 务器可以具有可以唯一地识别它们的标识,例如IP地址、统一资源 定位符(URL)等。在客户端102中,安装有各种各样的软件,包括例如Windows XP、 Redhat Linux 9.1等之类的操作系统软件,以及根据需要所安装 的应用软件。 一般地,每个软件都有其安装器,用于将其安装到客 户端102中。
特别地,在客户端102中,还可包括症状报告器1020、 一个软 件的软件安装器1022、更新器1024、识别器1025、任务调度器1026、 配置文件接口 1028等。这些装置的作用和它们之间的关系将在下面 详纟田描述。在服务器104中,也可安装有各种各样的软件,包括例如 Windows XP、 Redhat Linux 9.1等之类的操作系统软件和根据需要安 装的应用软件。特别地,在服务器104中,还可包括打包和发布器1042、软件 库1044、解决方案库1046和症状数据库1048。该打包和发布器1042 将由软件库(由软件提供者所提供)1044所提供的数据表(datasheet) 和/或制品(artifact)、由解决方案库(由解决方案开发者所提供) 1046所提供的数据表和/或制品、以及由症状数据库(由技术支持或 者软件症状管理运营者所提供)1048所提供的数据表和/或制品打包 并发布,从而可以由客户端102得到这些数据表和/或制品。数据表可以包括各种额外任务,例如软件之间的依赖和冲突检测 任务以及检测到依赖和沖突问题以后的解决任务、在配置文件中改 变配置的任务等。数据表还可以包括用于在配置文件中改变配置的 配置参数。数据表可以用XML (可扩展标记语言)来编写。制品可以包括用于执行各种额外任务的各种脚本、软件、软件补 丁等等。脚本的例子包括但不局限于用于软件之间的依赖和冲突检测的 脚本;用于检测到依赖和冲突以后解决所述依赖和沖突问题的脚本; 用于在配置文件中改变配置的脚本。由软件库1044所提供的数据表和/或制品例如用于发布软件或对 软件打补丁。由解决方案库1046所提供的数据表和/或制品例如用于为特定的 解决方案(例如一个安全解决方案)提供所需的软件及相关的特定 的配置。由症状数据库1048所提供的数据表和/或制品例如用于自动地解
决一些已知的软件安装问题,例如,用于依赖和冲突的检测和解决。在本发明的一个实施例中,可对症状数据库1048进行扩展,使 得其不仅包括一些问题的描述,还包括用于检测这些问题的脚本和 用于解决这些问题的脚本,从而能自动地解决一些已知的软件安装 问题。图2示出了在根据本发明的 一个实施例中的症状数据库的例子。 如图2所示,在该症状数据库1048中包括问题标识210、症状220、 解决方案230、类别240、检测脚本250、以及解决脚本260。问题 标识210描述了一个问题编号。症状220描述了该问题的主要症状。 解决方案230描述了解决上述问题的解决方案。类别240描述了该 问题出现在什么情况下,例如是哪个软件在哪个操作系统中在哪个 阶l殳出现该问题。检测脚本250描述了用于4企测这个问题的脚本, 包括该脚本名、执行环境、参数等。解决脚本260描述了用于解决 这个问题的脚本,包括该脚本名、执行环境、参数等。其中扩展的部分包括检测脚本250和解决脚本260。图3示出了根据本发明的一个实施例的一种建立/更新症状数据 库的方法。该方法包括步骤分析问题(步骤310);创建该问题的 症状数据(步骤320 ),例如创建问题标识210、症状220、解决方 案230、类别240;创建该问题的检测脚本(步骤330 ),例如创建 斗企测脚本250;创建该问题的解决脚本(步骤340 ),例如创建解决 脚本260;以及将上述内容注册到该症状数据库(步骤350 )。图4示出了数据表的一个例子。该数据表400包括问题(第7-11 行)和用于检测和解决对应问题的任务(第12-24行)。其中问题部 分包括描述项(第7行)、消息项(第8行)(用于向用户提示的 消息)、以及任务项(第9-10行)。而任务部分包括该任务类型(第 12行和第20行),例如用于检测还是解决;执行任务的脚本(第 14行);该任务什么时候被执行(第17行和第22行);以及执行 任务所需要的参数(第15-16行)。图4所示的数据表例如是由症状数据库1048所提供的。
应当理解,虽然在图1中,示出的软件库1044、解决方案库1046 和症状数据库1048在服务器104上提供,对于本领域的技术人员来 说,软件库1044、解决方案库1046和症状数据库1048显然也可以 分别位于在网络106上的其他设备中,而在服务器104上的打包和 发布器1042可以通过链路IIO和网络106访问它们。图5更详细地示出了在图1中包括的各个装置以及它们之间的相 互关系。按照一个实施例,软件安装器1022包括初始化部分1022A,用 于对软件安装过程进行初始化;依赖和冲突检测部分1022B,例如 用于检测先决条件、平台一致性等;软件包安装部分1022C,例如 用于对所安装的软件进行解包、将该软件复制到正确的位置、及注 册COM (组件对象模型)组件等;以及软件配置部分1022D,例如 用于在配置文件中写入一些配置参数。换句话说,在此例中,利用该软件安装器1022进行的软件安装 过程包括四个阶段,即初始化阶段、依赖和冲突检测阶段、软件包 安装阶段、以及软件配置阶段。当该软件安装器1022被启动时,初始化部分1022A首先收集该 软件安装器1022本身的信息、将要安装的软件的版本、日期等信息 和客户端102的环境信息,例如该客户端102上安装的操作系统是 Windows XP、 Redhat Linux 9.1还是其他操作系统,该操作系统的版 本信息,该客户端102上已经安装的软件的相关信息等等。然后, 该初始化部分1022A通过更新器1024将该上述信息发送给服务器 104中的打包和发布器1042。例如,在该更新器1024中存储有该服 务器104的URL地址的情况下就可以实现上述发送。在收到上述信息后,打包和发布器1042将通过用上述信息查询 上述软件库1044、解决方案库1046和症状数据库1048得到的与上 述信息对应的数据表和/或制品打包并发布。这样更新器1024可以得 到这些数据表和/或制品,并且在其中保存这些数据表和/或制品。另 外,更新器1024也可以对这些打包的数据表和/或制品进行解包,以 备后用。其中,由软件库1044所提供的数据表和/或制品可以包括要求对 该软件打补丁;由解决方案库1046所提供的数据表和/或制品可以包 括要求改变配置文件的配置;以及由症状数据库1048所提供的数据 表和/或制品可以包括要求自动地解决一些软件安装问题。在初始化部分1022A完成其任务之后,将由依赖和沖突检测部 分1022B执行其固定任务时,换句话说,当软件安装过程的阶段发 生改变时,软件安装器1022暂时停止执行其固定任务,而改由任务 调度器1026执行额外任务,以使软件安装过程满足不同的部署需求。在本发明的 一 个实施例中,当软件安装过程的阶段发生改变时, 软件安装器1022暂停执行下一阶段的固定任务,并向任务调度器 1026发送一个消息,该消息包4舌一些参数,这些参凄欠例如至少包括 当前软件安装过程所处的阶段。这一过程被识别器1025所识别到, 并触发任务调度器1026执行相应的额外任务。识别器1025例如可 以是驻留在任务调度器1026上的侦听程序。在本发明的另一个实施例中,由识别器1025自己监视到软件安 装过程的阶段的改变,以及获取到一些参数,这些参数例如至少包 括当前软件安装过程所处的阶段,并触发任务调度器1026执行相应 的额外任务,以及阻止软件安装器1022执行下一阶段的固定任务。在逻辑上,任务调度器1026主要可以分为检测和解决执行器 (DRE) 1026A和配置改变器1026B。当然,本领域的4支术人员应当 理解,只是根据任务调度器1026的主要功能进行上述划分。这样的 划分只是示例性的,而不是限制性的。例如,DRE 1026A还可以执 行软件的打补丁任务等之类的任何额外任务,只要这些额外任务是 由所支持的脚本编写的。当触发任务调度器1026后,任务调度器1026从更新器1024中 取回当前阶段的需要的额外任务,并执行该额外任务。具体地说, 只要不是配置额外任务,由DRE 1026A根据该额外任务的脚本类型, 在例如软件安装器内部接口 ( 1026C) 、 Jython执行引擎(1026D)、 Python执行引擎(1026E) 、 Perl执行引擎(1026F)、以及操作系 统脚本解析器(shell) ( 1026G)之类的环境中执行该额外任务。在 该阶段,上述额外任务可以包括进行额外的依赖和冲突^r测,即与 依赖和冲突检测部分1022B进行的依赖和冲突检测不同的依赖和沖 突牙企测。应当理解,当任务调度器1026发现上述由更新器1024下载的数 据表和/或制品中没有包括其所需要的那些数据表和/或制品时,它也 可以通过更新器1024向打包和发布器1042请求其所需要的数据表 和/或制品。还应当理解,上述各个装置之间的关系还可以是这样,即任务调 度器1026在软件安装过程的阶段改变期间得到客户端102的环境信 息以及包括例如该软件安装器的本身信息、所要安装的软件的版本 信息等之类的其他信息。然后,由任务调度器1026通过更新器1024 将这些信息发送给服务器104中的打包和发布器1G42。这样,更新 器1024可以得到由打包和发布器1042发布的打包的数据表和/或制 品,并且在其中保存这些数据表和/或制品。另外,更新器1024对这 些打包的数据表和/或制品进行解包。换句话说,软件安装器1022 不直接与更新器1024联系。在任务调度器1026完成当前阶段的额外任务后,更具体地,在 任务调度器1026完成依赖和冲突检测阶段的额外任务后,软件安装 器1022进行其固定任务。具体地,依赖和冲突检测部分1022B进行 与在客户端102中的其他软件的依赖和冲突的检测。在本发明的一个实施例中,任务调度器1026通过向软件安装器 1022发送一个消息来通知软件安装器1022其已经完成当前阶段的 额外任务,从而软件安装器1022可以继续其在当前阶段的固定任务。在本发明的另一个实施例中,在任务调度器1026完成当前阶段 的额外任务后,识别器1025不再阻止软件安装器1022进行其在当 前阶段的固定任务,从而软件安装器1022可以继续其在当前阶段的 固定任务。
当依赖和冲突检测部分1022B完成了其固定任务,接下来将由 软件包安装部分1022C进行其固定任务时,换句话说,当软件安装 过程的阶段进一步改变时,软件安装器1022暂时停止执行其固定任 务,由任务调度器1026执行额外任务,以使软件安装过程满足不同 的部署需求。当触发任务调度器1026后,任务调度器1026从更新器1024中 取回当前阶段的额外任务,并且执行该额外任务。在该阶段,上述 额外任务可以包括由DRE 1026A对软件打补丁、安装一个软件、卸 载已经安装在客户端102中的软件等等。例如,当由上述额外的依 赖和冲突检测任务检测到软件之间存在沖突时,可以通过卸载该引 起冲突的软件来解决该问题;当由上述额外的依赖和冲突检测任务 检测到软件之间存在依赖时,可以通过安装该所依赖的软件来解决 该问题。其中,该所依赖的软件例如由软件库1044所提供。当然,本领域的技术人员可以理解,当软件安装过程的阶段进一 步改变时,可以再次通过更新器1024从打包和发布器1042获得更 新数据。在任务调度器1026完成当前阶段的额外任务后,软件安装器 1022继续其在当前阶段的固定任务,即由软件包安装部分1022C对 软件进行解包、将软件复制到正确的位置、及注册COM(组件对象 模型)组件等。当软件包安装部分1022C完成了其固定任务,接下来将由软件 配置部分1022D进行其固定任务时,换句话说,当软件安装过程的 阶段发生改变时,软件安装器1022暂时停止执行其固定任务,而是 由任务调度器1026执行额外任务,以使软件安装过程满足不同的部 署需求。当触发任务调度器1026后,任务调度器1026从更新器1024中 取回当前阶段的额外任务,并执行该额外任务。在该阶段,上述额 外任务可以包括由配置改变器1026B增加、改变和/或删除配置文件 中的配置。例如,如上所述,当卸载了引起沖突的软件时,配置改
变器1026B在配置文件中删除与该软件相关的配置;当安装了所依 赖的软件时,配置改变器1026B在配置文件中增加与该软件相关的 配置。更具体地,配置改变器1026B可以经由一个接口 1030,例如 一个类似SQL的接口,访问到配置文件的配置文件接口 1028,以增 加、改变和/或删除配置文件中的配置。配置文件的例子包括但不局限于Properties File 、 Windows-Registry File、 XML Configuration File。相应地,到酉己置文 件的接口 1028包括Properties文件接口 1028A、 Windows注册表文 件接口 1028B、以及XML配置文件接口 1028C。在任务调度器1026完成当前阶段的额外任务后,软件安装器 1022继续执行其在当前阶段的固定任务,即由软件配置部分1022D 在配置文件中写入一些配置参数。在软件安装器1022执行其固定任务期间和/或在任务调度器 1026执行从更新器1024中取回的额外任务期间,如果发生了故障, 并且该故障不能自动处理,则软件安装器1022和/或任务调度器1026 可以经由症状报告器1020向症状数据库1048报告,用于以后分析 和解决该故障。报告的内容可以包括上述故障在软件安装的哪个阶 段发生,上述软件安装在什么样的环境中进行等等。在上面的描述中,可以看出,更新器1024、识别器1025、任务 调度器1026、症状报告器1020等与软件安装有关的装置都在软件安 装器1022的外部。这样的好处是不需要对已经发布的软件安装器进 行任何修改,就可以根据不同的部署需求进行软件的安装。当然,本领域的技术人员可以理解,可以将更新器1024、识别 器1025、任务调度器1026、症状报告器1020等与软件安装有关的 装置都放在软件安装器1022的内部,从而提供一个能够根据不同的 部署需求进行软件安装的软件安装器。此外,在上面的描述中,假定先由任务调度器1026执行一个阶 段的额外任务,然后由软件安装器1022执行其在该阶段的固定任务。 然而,本领域的技术人员应当理解,本发明并不局限于此,换句话
说,也可以先由软件安装器1022执行一个阶段的固定任务,然后由 任务调度器1026执行其在该阶段的额外任务,或者由任务调度器 1026和软件安装器1022并行地执行一个阶段的额外和固定任务。 图6是根据本发明的一个实施例的安装一个软件的过程的流程图。首先,启动一个软件安装器(步骤610)。接下来,收集将要安装该软件的客户端的环境信息(步骤620), 例如收集该客户端上安装的操作系统的名称及版本信息,该客户端 上已经安装的软件的信息等。然后,通过连同该软件安装器的本身 信息、所要安装的软件的版本信息等之类的信息一起,将该环境信 息发送给一个打包和发布器,以获取用于该软件安装过程的更新数 据(步骤630 )。然后,判断软件安装过程的阶段是否发生变化(判断640)。如 果该软件安装过程的阶段发生了变化(判断640 "是"分支),则进 一步判断软件安装过程是否结束(判断650)。如果软件安装过程没 有结束(判断650 "否"分支),则调用任务调度器(步骤660), 该任务调度器执行从用于该软件安装过程的更新数据中取回的当前 阶段的额外任务。在该任务调度器执行完该额外任务之后,由该软 件安装器执行当前阶段的固定任务(步骤670)。如果软件安装过程的阶段没有发生变化(判断640 "否"分支), 则执行当前阶段的固定任务(步骤670),并且在执行完该固定任务 之后,继续进行软件安装过程的阶段是否发生变化的判断(判断 640)。如果软件安装过程结束(判断650 "是"分支),则整个软件安 装过程结束。图7是根据本发明的一个实施例的安装一个软件的部分过程的 流程图。首先,启动任务调度器(步骤710)。接下来,任务调度器从用 于该软件安装过程的更新数据中取回当前阶段的额外任务(步骤720)。并且,任务调度器判断该额外任务是否是配置任务(判断730)。 如杲该额外任务是配置任务(判断730的"是"分支),则任务调 度器在配置文件中增加、改变和/或删除配置(步骤760),并且完 成配置任务后,任务调度器结束其工作。如果该额外任务不是配置任务(判断730的"否"分支),则任 务调度器基于该额外任务的脚本类型,在不同的环境中执行该额外 任务(步骤740)。在执行完该额外任务后,任务调度器判断是否需 要执行与该额外任务相关的任务(判断750 )。例如,在执行完一个 特定问题的检测任务后,有可能需要执行一个相关的解决任务。当 需要执行与该任务相关的任务时(判断750的"是"分支),任务 调度器基于该相关任务的脚本类型,在不同的环境中执行该相关任 务(步骤740)。当任务调度器判断不需要执行与该任务相关的任务 时(判断750的"否"分支),任务调度器结束其工作。应当注意,为了使本发明更容易理解,上面的描述省略了对于本 领域的技术人员来说是公知的、并且对于本发明的实现可能是必需 的更具体的技术细节。提供本发明的说明书的目的是为了说明和描述,而不是用来穷举 或将本发明限制为所公开的形式。对本领域的普通技术人员而言, 许多修改和变更都是显而易见的。例如,上述实施例可以经历这样 的变型,其中客户端102从在其上的CD-ROM驱动器或硬盘驱动器 (未示出)等取回用于软件安装过程的更新数据。换句话说,在该 变型中,由软件库、解决方案库、症状数据库提供的数据表和/或制 品例如存储于一个光盘和/或硬盘中,从而客户端102不需要经由网 络100向服务器104要回这些数据表和/或制品。因此,选择并描述领域普通技术人员明白,在不脱离本发明实质的前提下,所有修改 和变更均落入由权利要求所限定的本发明的保护范围之内。
权利要求
1.一种辅助安装软件的系统,包括识别器,用于识别软件安装过程的阶段是否发生变化;以及任务调度器,用于响应所述识别器识别到该软件安装过程的阶段发生变化而执行该软件安装过程的当前阶段的额外任务。
2. 根据权利要求1所述的系统,其中所述额外任务包括 进行该软件与其他软件的依赖和沖突检测。
3. 根据权利要求1所述的系统,其中所述额外任务包括以下的 ^f壬意之一或组合对该软件打补丁; 安装一个软件;卸载一个软件。
4. 根据权利要求1所述的系统,其中所述额外任务包括以下的 寸壬意之一或组合在配置文件中增加配置; 在配置文件中改变配置; 在配置文件中删除配置。
5. 根据权利要求1-4中任一项所述的系统,其中还包括 症状报告器,用于报告在执行所述额外任务时出现的故障。
6. 根据权利要求1-4中任一项所述的系统,其中还包括更新器,用于获取至少包括所述额外任务和用于执行该额外任务 的脚本的更新数据。
7. 根据权利要求6所述的系统,其中所述更新数据来自一个打 包和发布器。
8. 根据权利要求6所述的系统,其中所述更新数据包括以下的 任意之一或组合来自软件库的数据表和/或制品; 来自解决方案库的数据表和/或制品;来自症状数据库的数据表和/或制品。
9. 根据权利要求8所述的系统,其中所述症状数据库包括问题 的检测脚本和对应的解决脚本。
10. 根据权利要求1所述的系统,其中所述额外任务是相对于 安装一个软件的软件安装器的固定任务而言的。
11 一种辅助安装软件的方法,包括步骤 识别软件安装过程的阶段是否发生变化;以及 响应识别到该软件安装过程的阶段发生变化,执行该软件安装过 程的当前阶段的额外任务。
12. 根据权利要求11所述的方法,其中所述额外任务包括 进行该软件与其他软件的依赖和冲突检测。
13. 根据权利要求11所述的方法,其中所述额外任务包括以下 的任意之一或组合对该l欠件打补丁;安装一个软件;卸载一个软件。
14. 根据权利要求11所述的方法,其中所述额外任务包括以下 的任意之一或组合在配置文件中增加配置; 在配置文件中改变配置; 在配置文件中删除配置。
15. 根据权利要求11-14中任一项所述的方法,其中还包括步骤 报告在执行所述额外任务时出现的故障。
16. 根据权利要求11-14中任一项所述的方法,其中还包括步骤 获取至少包括所述额外任务和用于执行该额外任务的脚本的更新数据。
17. 根据权利要求16所述的方法,其中所述更新数据包括以下 的任意之一或组合来自软件库的数据表和/或制品; 来自解决方案库的数据表和/或制品; 来自症状数据库的数据表和/或制品。
18.根据权利要求17所述的方法,其中所述症状数椐库包括问 题的检测脚本和对应的解决脚本。
全文摘要
本发明提出了一种辅助安装软件的系统,包括识别器,用于识别软件安装过程的阶段是否发生变化;以及任务调度器,用于响应所述识别器识别到该软件安装过程的阶段发生变化而执行该软件安装过程的当前阶段的额外任务。本发明还提出了一种辅助安装软件的方法,包括识别软件安装过程的阶段是否发生变化;以及响应识别到该软件安装过程的阶段发生变化,执行该软件安装过程的当前阶段的额外任务。根据本发明,可以根据不同的部署需求进行软件安装。
文档编号G06F9/46GK101114229SQ20061010776
公开日2008年1月30日 申请日期2006年7月25日 优先权日2006年7月25日
发明者孙科伟, 影 李, 杰 邱, 滢 陈 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1