安装或升级方法和装置的制作方法

文档序号:6461262阅读:145来源:国知局
专利名称:安装或升级方法和装置的制作方法
技术领域
本发明涉及计算机网络技术,尤其是一种安装或升级方法和装置。
技术背景随着计算机科学技术的不断发展,编程语言、可扩展标识语(eXtensible Markup Lauguage,以下简称XML)的不断成熟,为了使操作人员能够重用项 目,因此需要在主机进行安装或升级操作。现有的安装或升级方法主要有两 种 一种是桌面式单机安装或升级方法,其主要应用是应用软件的独立安装; 另一种是多机安装或升级方法,其主要应用是Windows系统的升级。这两种安 装或升级方法都是由二次开发人员指定安装或升级内容, 一旦开始执行安装 或升级操作,操作人员只有等待操作完成或取消操作,无法进行干预。但是, 在实际的生产生活中, 一些环境下不能依赖预设条件进行判断,要根据实际 情况实时判断,比如,在电信领域中,每个国家、城市的组网以及业务应用 都可能不一样,而且非常复杂,若只根据预设的既有条件进行判断,由于每 种应用场景都不一样,那么安装或升级操作很容易出错,进而导致安装或升 级失败。并且,安装或升级失败后,依据现有技术,操作人员要么定位出问 题后,重新执行安装或升级操作,要么回滚已有的安装或升级操作。要定位 出问题,多数情况下只能通过分析安装或升级日志进行问题定位,而分析日 志是一项耗时、效率低的工作,而回滚的方式也会造成时间浪费,因此,现 有安装或升级方法的灵活性差,缺乏可调试性。发明内容本发明实施例提供一种安装或升级方法和装置,实现安装或升级的可调试。本发明实施例提供一种安装或升级方法,包括 获取指令组,所述指令组至少包括一条安装或升级操作指令; 选取一个指令组作为当前指令组,并在所述当前指令组运行结束后, 判断所述当前指令组是否设置有断点,若所述指令组设置有断点,则进行 调试操作,若所述指令组未设置断点,则运行下一个指令组。 本发明实施例提供一种安装或升级装置,包括解析模块,用于获取指令组,所述指令组至少包括一条安装或升级操作 指令;执行模块,用于选取一个指令组作为当前指令组,并在所述当前指令 组运行结束后,判断所述当前指令组是否设置有断点,若所述指令组设置 有断点,则进行调试操作,若所述指令组未设置断点,则运行下一个指令 组。本发明实施例通过为安装或升级指令组设置断点,实现安装或升级过程 中的可调试,并且可以通过不对指令组设置断点,实现静默式安装或升级, 因此本发明实施例可以支持调试和非调试模式,实现另一种意义上的可调试 安装或升级。


图l为本发明安装或升级方法实施例一流程图; 图2为本发明安装或升级方法实施例二流程图; 图3为本发明安装或升级装置实施例结构示意图; 图4为本发明安装或升级装置实施例时序功能图。
具体实施方式
下面结合附图和具体实施例进一步说明本发明的技术方案。图1为本发明安装或升级方法实施例 一 流程图,该实施例包括 步骤ll:获取指令组。二次开发人员将安装或升级操作划分为至少一 个安装或升级指令, 一个指令组包括至少一个安装或升级指令。每个指令 组有多种属性,这些属性包括但不限于指令组名称、描述、参数、断点标 识、超时时间等,这些属性可以进行配置也可以采用默认值,根据断点标 识,二次开发人员可以选择对指令组设置或不设置断点。同时,为每个指 令组配置由零个或者多个变量组成的配置项,这些变量包括变量名、变量 值、默认值等,由这些变量辅助完成安装或升级,所有安装或升级指令组 和相应的配置项都保存在配置文件中。二次开发时,首先将开发的安装或 升级指令的具体实现定义该配置文件,然后将配置文件和安装或升级内容 打包,形成安装或升级包。进行安装或升级操作时,主机通过解析安装或 升级包获取安装或升级指令组,显示这些指令组及其对应的配置项,并顺 序执行这些指令组。步骤12:选取一个该安装或升级指令组作为当前指令组,并运行该当 前指令组。步骤13:在运行结束后,判断该当前指令组是否设置有断点,若是, 执行步骤14;否则,执行步骤15。其中,断点可以在二次开发时由二次开 发人员设定,也可以在安装或升级过程中由操作人员设定。在二次开发时, 由于每个指令组都包括断点标识,二次开发人员可以通过选中断点标识为 每个指令组设置断点,即在安装或升级过程中获取的指令组有无断点已预 设确定;在安装或升级过程中,通过将安装或升级指令组显示在界面上, 操作人员可以根据显示的安装或升级指令组的断点标识为尚未运行的指 令组设置断点,即在安装或升级过程中,当前指令组的后续的待运行的指 令组可以由操作人员有选择性地进行断点设置。步骤14:进行调试操作。即在断点处暂停,进行调试,如显示与当前 指令组对应的配置项中的变量值(如配置项为安装路径,变量值为"D:\Program"),安装或升级或者修改显示的变量值等。步骤15:调用下一个指令组,并运行。再重复执行步骤13,直至所有 指令组运行完毕,若所有指令组都没有设置断点,即实现了静默式的安装 或升级。本实施例通过断点标识选择是否对指令组进行断点设置,若设置断点 实现可调试模式,若不设置断点实现非调试模式,即静默式安装。通过选 择由二次开发人员设置断点或由操作人员设置断点,实现既可在二次开发 时由二次开发人员进行调试,又可在安装或升级过程中由操作人员进行调 试。图2为本发明安装或升级方法实施例二流程图,该实施例包括 步骤201:解析由二次开发人员开发的安装或升级包,从安装或升级包 的配置文件中获取安装或升级指令及与之对应的配置项,并进行保存,以便 根据保存的值进行操作。其中,本实施例以XML格式开发了配置文件,但配置 文件不限于XML格式,本实施例的XML配置文件举例如下< xiul version=rr 1-0" e.ncoding="gb2312rr >< 。-i乾:,;祷.爽分为's条.3g令…-…><exec—list>'.:丄tf令1:对磁盘.空间进行检査---'><exec cmd="check-exe" ar:gs = "5 {ai:gl}" desc='r" break='ftr:ue'' timeout=r'60[30t] rr>《i— ■该变S调试的封'候可修改>《vai: name="dii:" vslue="" def au丄t^"C :\Pi:ogi:am files "/> </exec><exec cmd="install ,exe" ai:gs = 'f${ ai:g2 }rr desc="" bi:eak:=r'false" timeout二"60「则V><i- Ji-二 "'M7r " -:><exec crad="3t£Lr:tup-exe" ar:gs="5{ai:g31" desc="" break二"false" tiinecmt="6C]13l]0"/> </exec_list>该XML配置文件定义了三条指令check.exe、 install, exe和 startup, exe,并为每条指令设置了断点,这些指令与安装或升级的产品有关, 并不限于.exe格式。并且为了更好的支持国际化,在配置文件中的某些属 性定义可采取标签的形式,以满足对本地化安装或升级的需求。在二次开发过程中是将上述指令和安装或升级内容打包成安装或升级包。当安装或升级主机就是存放安装或升级包的主机时(类似单机应用场景),直接解析安装或升级包获取指令即可;当安装或升级主机不是存放安装或升级包的主机时(类似多机应用场景),可以将安装或升级包通过FTP或其他传输协议传输到安装或升级主机上的某个目录下,再进行解析 以获取指令。步骤202:将配置项显示在界面上。步骤203:操作人员或二次开发人员可以通过界面对配置项进行设置, 并保存,然后启动安装或升级操作。并且在安装或升级时,操作人员可更 改二次开发人员设置的配置项(如安装路径等)中的变量值,比如上述XML 文件中二次开发人员将安装路径(变量)设置为"dir=C: \Program files", 操作人员可以将其更改为"dir=D:\ Program files"。步骤204:安装或升级主机获取解析后的安装或升级指令,运行第一 条安装或升级指令,如进行磁盘空间检查的check. exe。步骤205:指令运行结束后,判断当前指令是否设置有断点,如有断点则 暂停进行调试,如上述的check. exe在二次开发时就已经设置了断点因此需要 暂停,若无断点。执行步骤209。其中,指令断点可由二次开发默认指定,也 可在安装或升级时由操作人员通过设置断点标识进行实时指定。步骤206:暂停后,在界面上显示配置项中可修改的变量。变量由二次开 发定义,变量分只读、可写两种,使用哪种由二次开发决定。安装或升级指 令需具有可回溯性,对于不可重复执行的指令,在二次开发的时候需要进行 标识,执行模块根据指令的标识信息给出相应的提示信息,指导操作人员进 行后续操作,比如忽略当前指令、执行下一条指令等。步骤207:操作人员判断配置项中的变量值的正确性,可根据需要进行修 改,修改后的配置项同样要进行保存。比如对不正确的配置项,如"D盘空间 不足",进行修改,如可以将安装路径更改为"dir=E: \Program files"。步骤208:判断当前指令是否成功运行,若是,执行步骤209,否则,执行步骤210。根据新的配置项,如"dir=E: \Program files"再次运行该指令 check, exe,并在运行结束后暂停。步骤209:调用下一条指令,如install. exe,对修改后的配置项,根据 修改后的配置项,如"dir=E: \Program files "运行下 一 条指令 (install, exe),对没有进行修改的配置项,根据未修改的配置项,如"dir-D: \ Program files" 运行下一条指令(instal 1. exe)。步骤210:根据修改后的配置项,"dir=E: \Program files"重新运行当 前指令。步骤211:安装或升级指令都执行完毕或者操作人员取消安装或升级 操作时,主机进行环境清理操作,如删除临时文件等,结束安装或升级操 作,并生成安装或升级报告。本实施例中配置文件中的断点设置是具体到每一条安装或升级指令,可 替代的是,在实际应用中可以将这个断点配置放宽,即可以是多条安装或升 级指令才设置一个断点,将这多条安装或升级指令作为一个指令组。下面对 多条指令设置一个断点进行描述,为了和上述一条指令设置一个断点的方式 保持配置文件格式上的统一,这里仍然以XML格式为例,但并不局限于XML格 式及其内容。多条指令设置一个断点时的XML配置文件举例如下< xml vei:sion=''l.0" encoding="gb2312" ><!—'"-''「-><step_list><:! :n" " w 7 〃-<step n纖e^"准备阶段"desc二"" bresk:='rti:uer' ><exec and-"check 1.exe" airgs:"$ {srgl} " desc::"" timeout二"60Ci0[] "/> <exec ciud= "prepare - exe" ar:gs-r'$ {3rg3 } " desc=" " timeoufSOOIDC] "/> <var naiiae="dii:r' value='r" def ault=rrC: \ Program files V></step>< ' …… J—t<step ri纖e::-"执行阶段"desc--二"" b1:e3k:二"f3lse'、<exec cmd-"mk:dii: .exe" ai:gs = " " desc=" rr timeout二"6Di〕[)[] V> <exec ond= "copy.exe" ai:gs='r" desc="" timeout="MG[3[i"/></step> </step—list>从上述XML文件可以看出,多条指令设置一个断点就是将断点设置在 步骤级别而非指令级别,多条安装或升级指令处于同一个断点操作步骤 内,如果每个步骤中只有一条安装或升级指令,即等同于上述一条指令设 置一个断点的方式。因此,除了设置断点的方式不同,其余处理流程与上 述一条指令设置 一 个断点的流程 一致。本实施例,将安装或升级操作顺序划分为一个或多个安装或升级指令, 对每条指令或每个指令组都可以进行断点标识,根据断点标识选择是否设置 断点,若设置断点,在断点处暂停下来,并且可以修改变量值以便重新运行 指令,没有断点即实现静默式安装或升级,实现既可支持可调试也可支持非 调试两种4莫式。并且,本实施例的断点和变量值既可以通过二次开发建立默 认值,又可以通过操作人员在安装或升级时,在操作界面进行设置,即可以 实现两层的断点设置及变量值的配置。图3为本发明安装或升级装置实施例结构示意图,该实施例包括角罕 析模块1和执行模块3。解析模块l用于获取指令组,所述指令组至少包括一 条安装或升级操作指令;执行模块3用于选取一个所述安装或升级指令组 作为当前指令组,并在所述当前指令组运行结束后,判断所述当前指令组 是否设置有断点,若所述指令组设置有断点,则进行调试操作,若所述指 令组未设置断点,则运行下一个指令组。本实施例通过为指令组设置断点,实现安装或升级过程中的可调试, 如不为指令组设置断点,实现静默式安装,即本实施例既支持可调试模式 有支持非可调试模式,实现另一种形式的可调试。参照图4所示的各模块的时序功能图,本实施例还可以包括配置模块 2。解析模块l用于解析安装或升级包,获取安装或升级指令组及其对应的配 置项;配置^f莫块2用于显示解析模块l获取的安装或升级指令组,并显示、修 改、保存与所述指令组对应的配置项中的变量值;执行模块3用于选取一个 安装或升级指令组作为当前指令组,并根据配置模块2保存的与当前指令 组对应的变量值运行当前指令组,在当前指令组运行结束后,判断所述当前指令组是否设置有断点,若所述指令组设置有断点,则进行调试搡作, 若所述指令组未设置断点,则运行下一个指令组。具体流程参照图4及如下的步骤步骤401:解析模块解析安装或升级包,获取安装或升级指令组及其 对应的配置项。安装或升级包可以存在本地进行安装或升级操作的主机 上,也可以通过FTP或其他协议从远程传输到进行安装或升级操作的主机 上。步骤402:解析模块将获取的指令组及其对应的配置项传输给配置模 块。二次开发人员可以对配置项中的变量值进行预先的设置,即设置默认 值,如将安装路径预设为"C:\Program"。步骤403:配置模块向操作人员显示配置项,如安装路径,操作人员 可以根据需要对配置项中的变量值进行修改,如将"C:\Program"修改为 "D:\Program",配置模块将修改后的变量值保存在指令组的配置项中。步骤404:配置;f莫块发送一个作为当前指令组的指令组,如check. exe 及其对应的配置项给执行模块。步骤405:执行模块根据该当前指令组的配置项运行该当前指令组, 如操作人员没有对安装路径进行修改时,将安装或升级内容安装在 "C:\Program",若操作人员在将该变量修改为"D:\Prograra"后,安装 或升级内容将安装在"D:\Program"。步骤4 06:执行模块在该当前指令组运行结束后判断该当前指令组是 否有断点,该断点可以是二次开发人员预设的,也可以是操作人员在操作 过程中设置的,若有,执行步骤407,否则运行下一个指令组。步骤407:执行模块判断该当前指令组是否成功运行,若成功,如执 行check. exe后发现D盘空间足够,向配置模块返回配置项;若不成功,如 执行check. exe后发现D盘空间不够,向配置模块返回运行结果信息,如"D 盘空间不够"。步骤408:配置模块向操作人员显示配置项,不论指令组是否成功运行,操作人员都可以对配置项的变量值进行修改,如将安装路径修改为"E:\Program"。配置模块保存修改后的值。步骤409:配置模块将修改后的变量值发送给执行模块,使执行模块 根据修改后的变量值运行指令组。步骤"0:若当前指令组(check, exe)成功运行,如上述D盘空间足够, 执行模块根据新的变量值("E:\Program")运行下一个指令组,如 install.exe,若当前指令组(check.exe)未成功运行,如上述D盘空间 不足,执行模块根据新的变量值("E:\Program")再次运行当前指令组 (check.exe)。直至所,的指+纟且A功^^亍。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步 骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机 可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤; 而前述的存储介质包括ROM、 RAM、磁碟或者光盘等各种可以存储程序代 码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对 其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通 技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修 改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不 使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1、一种安装或升级方法,其特征在于,包括获取指令组,所述指令组至少包括一条安装或升级操作指令;选取一个指令组作为当前指令组,并在所述当前指令组运行结束后,判断所述当前指令组是否设置有断点,若所述指令组设置有断点,则进行调试操作,若所述指令组未设置断点,则运行下一个指令组。
2、 根据权利要求l所述的安装或升级方法,其特征在于,所述获取指令 组包括获取有无断点已预设确定的指令组。
3、 根据权利要求l所述的安装或升级方法,其特征在于,还包括在当 前指令组运行过程中,为未运行的指令组有选择性地设置断点。
4、 根据权利要求1或2或3所述的安装或升级方法,其特征在于,还包括 为所述指令组设置变量值。
5、 根据权利要求4所述的安装或升级方法,其特征在于,所述进行调试 操作包括显示与所述当前指令组对应的变量值。
6、 根据权利要求4所述的安装或升级方法,其特征在于,所述进行调试 操作包括显示并修改与所述当前指令组对应的变量值。
7、 根据权利要求4所述的安装或升级方法,其特征在于,还包括判断 所述当前指令组是否运行成功,若成功,则才艮据设置的变量值运行下一个指 令组,若不成功,则修改所述变量值,并根据修改后的变量值再次运行当前 指令组。
8、 根据权利要求l所述的安装或升级方法,其特征在于,还包括当接 收到安装或升级取消请求或所述安装或升级指令组全部运行结束后,进行环 境清理并生成安装或升级报告。
9、 根据权利要求l所述的安装或升级方法,其特征在于从进行安装或 升级搡作的主机上获取所述指令组,或者通过文件传输协议获取所述指令组。
10、 一种安装或升级装置,其特征在于,包括解析模块,用于获取指令组,所述指令组至少包括一条安装或升级操作指令;执行模块,用于选取一个指令组作为当前指令组,并在所述当前指令 组运行结束后,判断所述当前指令组是否设置有断点,若所述指令组设置 有断点,则进行调试操作,若所述指令组未设置断点,则运行下一个指令 组。
11、根据权利要求10所述的安装或升级装置,其特征在于,还包括 配置模块,用于显示所述指令组并为所述指令组设置变量值。
全文摘要
本发明涉及一种安装或升级方法和装置。该安装或升级方法包括获取指令组;选取一个指令组作为当前指令组,并在所述当前指令组运行结束后,判断所述当前指令组是否设置有断点,若所述指令组设置有断点,则进行调试操作,若所述指令组未设置断点,则运行下一个指令组。该安装或升级装置包括解析模块,用于获取指令组;执行模块,用于选取一个安装或升级指令组作为当前指令组,并在所述当前指令组运行结束后,判断所述当前指令组是否设置有断点,若所述指令组设置有断点,则进行调试操作,若所述指令组未设置断点,则运行下一个指令组。本发明实施例通过为安装或升级指令组有选择性地设置断点,实现安装或升级的可调试。
文档编号G06F9/445GK101236507SQ20081008163
公开日2008年8月6日 申请日期2008年3月3日 优先权日2008年3月3日
发明者山 姜, 婧 张, 博 李, 王治平, 石道强 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1