著录项信息
专利名称 | 集中远程自动升级软件的系统及其方法 |
申请号 | CN200610067050.7 | 申请日期 | 2006-03-31 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2006-11-08 | 公开/公告号 | CN1859125 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/00 | IPC分类号 | H;0;4;L;1;2;/;0;0;;;G;0;6;F;9;/;4;4;5查看分类表>
|
申请人 | 华为技术有限公司 | 申请人地址 | 广东省深圳市龙岗区坂田华为总部办公楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 华为技术有限公司 | 当前权利人 | 华为技术有限公司 |
发明人 | 刘英学 |
代理机构 | 北京同立钧成知识产权代理有限公司 | 代理人 | 刘芳 |
摘要
一种集中远程自动升级软件的系统,包括待升级节点,所述待升级节点中设置有待升级软件和升级代理模块;服务器,分别与每个所述待升级节点网络连接;客户端,与所述服务器网络连接。一种集中远程自动升级软件的方法,包括以下步骤在步骤1中客户端将用户提交的升级命令和升级包、及用户选择的待升级节点的信息发送给服务器;然后在步骤2中服务器将所述升级命令和升级包发送给待升级节点的升级代理模块;在步骤3中升级代理模块根据待升级软件的识别信息和升级操作信息,对待升级软件进行升级操作。本发明能够灵活地选择升级对象和升级时间,实现集中远程自动升级,及时监控升级过程,简化升级操作,并降低成本。
1、一种集中远程自动升级软件的系统,其特征在于,包括: 待升级节点,所述待升级节点中设置有待升级软件和升级代理模块,所述升级代理模块与所述待升级软件交互,并保存有所述待升级软件的识别信息,用于升级和控制所述待升级软件; 服务器,分别与每个所述待升级节点网络连接,所述服务器用于:接收和管理每个所述待升级节点的注册信息,向所述待升级节点发送命令,以及收集所述待升级节点的命令执行结果; 客户端,与所述服务器网络连接,所述客户端用于:查询服务器中保存的信息,向服务器发送命令,以及接收服务器发送的待升级节点的命令执行结果。
2、 根据权利要求1所述的系统,其特征在于:所述服务器为WEB服务器。
3、 根据权利要求2所述的系统,其特征在于:所述客户端为WEB浏览器, 与所述WEB服务器连接,用于:查询WEB服务器中保存的信息,向WEB服务 器发送命令,以及接收WEB服务器发送的升级代理模块的命令执行结果。
4、 根据权利要求1-3任一所述的系统,其特征在于:所述服务器包括 数据库模块和服务器模块;所述数据库模块用于存储所述待升级节点的注册信息、命令执行结果、以及升级包的相关信息;所述服务器模块分别与所述 数据库模块和所述客户端连接,所述服务器模块用于:从所述客户端接收命 令,向所述升级代理模块下发命令,向所述数据库模块存储命令执行结果, 以及从所述数据库模块中提取信息并发送给所述客户端。
5、 根据权利要求4所述的系统,其特征在于:所述服务器包括接口扩展 模块,分别与所述数据库模块和所迷客户端连接;所述接口扩展模块用于: 接收所述客户端下发的接口扩展命令,将新的接口信息存储在所述数据库模 块中,以及将新的接口信息发送给所述待升级节点的升级代理模块。
6、 根据权利要求1-3任一所述的系统,其特征在于:所述服务器包括 服务器模块并存储有数据文件,所述数据文件用于保存所述待升级节点的注册信息、命令执行结果、以及升级包的相关信息;所述服务器模块用于:从 所述客户端接收命令,向所述升级代理模块下发命令,向所述数据文件存储 命令执行结果,以及从所述数据文件中提取信息并发送给所述待升级节点的 升级代理模块。
7、 根据权利要求6所迷的系统,其特征在于:所述服务器包括接口扩展 模块,与所述客户端连接;所述接口扩展模块用于:接收所述浏览器客户端 下发的接口扩展命令,将新的接口信息存储在所述数据文件中,以及将新的 接口信息发送给所述客户端。
8、 根据权利要求1-3任一所述的系统,其特征在于:所述客户端包括 用户界面模块,与所述服务器连接;所述用户界面模块用于:接收用户提交 的命令并传递给所述服务器,接收用户提交的升级包并上传给所述服务器, 接收所迷服务器发送的信息并输出给用户。
9、 根据权利要求1-3任一所述的系统,其特征在于:所述客户端包括 用户界面模块和用于存储用户提交的升级包的存储模块;所述用户界面模块 分别与所述存储模块和所述服务器连接;所述用户界面模块用于:接收用户 提交的命令并传递给所述服务器,将存储模块中存储的升级包上传到所述服 务器、接收所述服务器发送的信息并输出给用户。
10、 根据权利要求l-3任一所述的系统,其特征在于:所述客户端包括 扩展功能界面模块,与所述服务器连接;所述扩展功能界面模块用于:接收 用户自定义的命令并发送给所迷服务器。
11、 一种集中远程自动升级软件的方法,其特征在于,包括以下步骤: 步骤l、客户端将用户提交的升级命令和升级包、及用户选择的待升级节点的信息发送给服务器;步驟2、服务器将所述升级命令和升级包发送给所述用户选择的待升级节 点的升級代理模块; 步骤3、所述待升级节点的升级代理模块根据该代理模块中保存的待升级 软件的识别信息和升级包中保存的升级操作信息,对待升级软件进行升级才喿作。
12、 根据权利要求11所述的方法,其特征在于,所述步骤3具体包括: 所述待升级节点的升级代理模块通过预先保存在该升级代理模块中的、所述 待升级软件中预先设置的升级接口的注册信息,与该升级接口建立通信连接; 然后通过调用所述待升级软件中预先设置的升级接口 ,将升级命令和升级包 下发给所述待升级软件,并根据升级包中保存的升级操作信息,对待升级软 件进行升级操作。
13、 根据权利要求11所述的方法,其特征在于,还包括在所述步骤2与 步骤3之间的使所述待升级软件停止工作的步骤,具体包括:所述待升级节 点的升级代理模块,通过预先保存在该升级代理模块中的、所述待升级软件 中预先设置的停止接口的注册信息,与该停止接口建立通信连接,然后通过 调用该停止接口,使该待升级软件停止工作,并通过该停止接口获知操作结 果是否成功,是则执行步骤3,否则结束。
14、 根据权利要求13所述的方法,其特征在于,还包括在所述步骤2与 所述的使所述待升级软件停止工作的步骤之间的、检验所述待升级软件的运 行状态的步骤,具体包括:所述待升级节点的升级代理模块,通过预先保存 在该升级代理模块中的、所述待升级软件中预先设置的运行状态检验接口的 注册信息,与该运行状态检验接口建立通信连接,然后通过调用该运行状态 检验接口以检验所述待升级软件的运行状态是否为停止状态,是则执行步骤 3,否则执行所述的使所述待升级软件停止工作的步骤。
15、 根据权利要求13或14所述的方法,其特征在于,还包括在所述步 骤3之后的使所述待升级软件启动工作的步骤,具体包括:所述待升级节点 的升级代理模块首先通过预先保存在该升级代理模块中的、所述待升级软件 中预先设置的运行状态检验接口的注册信息,与该运行状态检验接口建立通 信连接,然后调用该运行状态检验接口 ,以进行检验所述待升级软件的运4亍 状态是否为停止状态的操作,如果所述待升级软件的运行状态不是停止状态 则结束,如果所述待升级软件的运行状态为停止状态,则通过预先保存在该 升级代理^t块中的、所述待升级软件中预先设置的启动接口的注册信息,与 该启动才妻口建立通信连接,然后通过调用该启动4妄口^吏该待升级软件启动工 作。
16、 根据权利要求11所述的方法,其特征在于,还包括在所述步骤2与 步骤3之间的检验所述待升级软件的版本的步骤,具体包括:所述待升级节 点的升级代理模块,通过预先保存在该升级代理模块中的、所述待升级软件 中预先设置的获取版本接口的注册信息,与该获取版本接口建立通信连接; 通过调用该获取版本接口,得到所述待升级软件的版本信息,并与升级包中 的旧版本信息比较,如果相同,则执行步骤3,如果不相同,则结束。
17、 根据权利要求11所述的方法,其特征在于:还包括在所述步骤l之 前或在所述步骤3之后的扩展所述待升级软件的命令接口的操作,具体包括 以下步骤:步骤I、客户端将用户提交的接口扩展命令和新接口信息发送给服务器; 步骤II、服务器将新接口信息下发给待升级节点中的升级代理模块; 步骤III、待升级节点中升级代理模块根据新接口信息,使待升级软件增 加对应的新接口 ,并保存待升级软件的新接口的注册信息。
18、 根据权利要求11或12所述的方法,其特征在于,所述步骤2具体 包括:服务器将所述升级命令和所述升级包组成升级信息,并将所述升级信 息发送给所述待升级节点的升级代理模块。
19、 根据权利要求11或12所述的方法,其特征在于,所述步骤l具体 包括:客户端首先将用户提交的安装命令和用户提交的升级包发送给服务器; 然后将用户提交的升级命令、及用户选择的待升级节点的信息发送给服务器。
20、 根据权利要求19所述的方法,其特征在于,所述步骤2具体包括:服务器首先将所述安装命令和所述升级包组成安装信息,并将所述安装信息发送给所述待升级节点的升级代理模块;然后将所述升级命令发送给所述祠:升级节点的升级代理模块。
21、 根据权利要求11所述的方法,其特征在于,还包括在所述步骤l之 前的构造所述升级包的步骤,具体包括:将待升级软件需进行的升级操作和 操作顺序记录在升级过程信息文件中,将待升级软件的新版本和旧版本的差 异信息记录在待升级软件的新版本的信息中;并将所述待升级软件的新版本 的信息、及所述升级过程信息文件保存在升级包中。
22、 4艮据权利要求21所述的方法,其特征在于,所述步骤3具体包括: 所述待升级节点的升级代理模块根据该代理模块中保存的待升级软件的识别 信息,与待升级软件建立通信连接;然后根据升级包中保存的待升级软件的 新版本和旧版本的差异信息,按照升级包中保存的升级过程信息文件记录的 操作顺序,对待升级软件进行升级过程信息文件记录的升级操作。
23、 根据权利要求22所述的方法,其特征在于,所述对待升级软件进行 升级过程信息文件记录的升级操作具体包括以下步骤:步骤a、保存待升级软件的旧版本的程序和数据;步骤b、根据待升级软件的新版本的特征,对待升级软件的旧版本进行替 换、增加、修改等升级操作,如果升级操作成功则结束,如果升级操作不成 功则执行步骤c;步骤c、根据保存的待升级软件的旧版本的程序和数据,将待升级软件恢 复到升级前的状态。
24、 根据权利要求23所述的方法,其特征在于,所述步骤b具体包括: 根据待升级软件的新版本的特征,对待升级软件的旧版本进行替换、增加、 修改等升级操作,如果升级成功,则检验升级过程是否提供了新的接口,是 则待升级软件向其所属的升级代理模块注册接口信息,否则结束;如果升级 不成功,则纟丸行步骤c。
25、 才艮据权利要求11所述的方法,其特征在于,还包括在所述步骤l之 前的构造所述升级包的步骤,具体包括:将升级程序保存在升级包中,所迷 升级程序为待升级软件需执行的升级程序。
26、 根据权利要求25所述的方法,其特征在于,所述步骤3具体包括: 所述待升级节点的升级代理模块根据该代理模块中保存的待升级软件的识别 信息,与待升级软件建立通信连接;然后调用执行升级包中保存的升级程序。
27、 根据权利要求ll所述的方法,其特征在于,还包括在所述步骤l之 前的客户端通过服务器查询待升级节点的信息的操作,具体包括以下步骤:步骤001 、客户端将用户提交的查询命令和用户指定要查询的待升级节点 的信息发送给服务器;步骤002、服务器将所述查询命令发送给所述用户指定要查询的待升级节 点的待升级代理模块;步骤003、所述待升级节点的待升级代理模块收到所述查询命令后,根据 保存的待升级软件的注册信息,通过待升级软件的相应接口收集用户要查询 的信息,并发送给服务器;步骤004、服务器将待升级代理模块发送的信息发送给客户端;步骤005 、客户端将服务器发送的信息输出给用户。
28、 根据权利要求27所述的方法,其特征在于,所述步骤003包括:所 述待升级节点的待升级代理模块收到所述查询命令后,根据保存的待升级软 件的注册信息,通过待升级软件的相应接口收集用户要查询的信息,并将收 集到的所述用户要查询的信息封装成服务器可识别的格式后发送给服务器。
29、 根据权利要求27所述的方法,其特征在于,所述步骤Q04包括:服务器将待升级代理模块发送的信息转化为易于用户查询的格式后发送给客户端。
30、 根据权利要求ll所述的方法,其特征在于,还包括在所述步骤2与 步骤3之间的、所述待升级节点中的升级代理模块对服务器发送的升级命令和升纟及包进4亍鉴权的操作,具体包4舌以下步骤:步骤2'1、所述待升级节点中的升级代理模块检查服务器发送的升级命令 是否是该待升级节点对应的合法命今,如杲是则执行步骤22,否则结東;步骤22、所述待升级节点中的升级代理模块检查服务器发送的升级包是 否完整且未被非法修改,如果是则执行步骤3,否则结束。
31、 根据权利要求11所述的方法,其特征在于,所述步骤3还包括在升 级过程中客户端通过服务器获取待升级节点的升级日志报告的操作,具体包 括:客户端向服务器发送查询命令和要查询的待升级节点的信息;服务器将 所述查询命令转发给要查询的待升级节点的升级代理模块;升级代理模块通 过待升级软件的升级接口获取升级日志报告,并通过服务器转发给客户端。
32、 根据权利要求11所述的方法,其特征在于,所述步骤3还包括在升 级过程中客户端通过服务器获取待升级节点的升级日志报告的操作,具体包 括:在对待升级节点的待升级软件进行升级的过程中,将每个升级步骤的执 行结果保存在升级日志报告中,并将升级日志报告通过服务器转发给客户端。
集中远程自动升级软件的系统及其方法技术领域本发明涉及一种集中远程自动升级软件的系统及其方法,特别涉及一种 能够灵活地选择升级对象和升级时间,实现集中远程自动升级,缩短多节点 总体升级时间,监控升级过程,简化升级操作,并降低成本的集中远程自动 升级软件的系统及其方法。背景技术随着计算机软件的大量应用和软件的日益复杂,对软件的升级需求曰趋 迫切,大多数软件在其生命周期中必须频繁进行升级操作。现有技术中对软件的升级方法主要包括现场手动升级方法和网络自动升 级方法。现场手动升级方法主要包括以下步骤:首先是开发人员根据软件新旧版 本的差异开发出升级包,升级包中带有軟件新版本的文件或数据;然后将升 级包经由传统物流方式或互连网络传递到用户的计算机上;最后用户或维护 人员根据升级指导书进行一 系列操作,完成旧版本文件的替换或配置数据的 更新等软件升级工作。该方法的缺点在于:1、 由于升级操作主要由用户或维护人员完成,因此对升级操作人员的要 求比较高,需要熟悉一些系统知识和命令;2、 操作复杂,容易出错;3、 升级周期长,尤其在需要升级多个目标系统的软件时,全部升级过程 所需时间是各个单个设备所需升级时间的总和;4、 升级操作人员必须在升级现场操作,若需要升级的多个目标系统相距94艮远,会导致人力和交通成本增加。网络自动升级方法是通过一个服务器来存储软件新版本的文件数据或升 级程序等,运行在待升级节点上的待升级软件定期地查看该服务器上软件的 版本号,若该服务器软件的版本号大于该待升级节点上软件的版本号,则该待升级软件自动从服务器下载升级程序和数据并完成升级过程;或者运行在 待升级节点上的待升级软件等待该服务器下发的软件更新信息,并在收到斗i:件更新信息后自动从服务器下载升级程序和数据并完成升级过程。该方法避免了现场手动升级方法的缺点,但其不足之处在于:1、 各待升级节点独立完成自身的升级过程,升级过程缺少人员监控,一 旦出现故障则维护人员不能及时介入;2、 各待升级节点的时间和次序不可控制,不能满足多节点逐步升级的需求;3、 待升级软件需要具备与服务器通讯、下载升级包和数据、自动执行升 级程序等功能,为提供这些功能会大大增加软件开发成本。发明内容本发明的目的是针对上述现有技术的不足,提供一种集中远程自动升级 软件的系统及其方法,能够有效的克服现有技术的缺点,灵活地选择升级对 象和升级时间,实现远程集中自动升级,缩短多节点总体升级时间,监控升 级过程,简化升级操作,并且降低人力成本和开发成本。为实现上述目的,本发明提供了一种集中远程自动升级软件的系统,包 括:待升级节点,所述待升级节点中设置有待升级软件和升级代理模块,所 述升级代理模块与所述待升级软件交互,并保存有所述待升级软件的识别信 息,用于升级和控制所述待升级软件;服务器,分别与每个所述待升级节点 网络连接,所述服务器用于:接收和管理每个所述待升级节点的注册信息, 向所述待升级节点发送命令,以及收集所述待升级节点的命令执行结果;客户端,与所述服务器网络连接,所述客户端用于:查询服务器中保存的信息, 向服务器发送命令,以及接收服务器发送的待升级节点的命令执行结果。上述技术方案中,通过网络同时对多个待升级节点进行集中远程自动升 级,可缩短升级时间,节省人员和交通成本;升级人员能够灵活选择升级对 象和时间;待升级软件无需提供通讯、下载等模块,减小了开发成本。为了更好地实现发明目的,所述服务器可为WEB服务器,所述客户端可 为WEB浏览器,与所述WEB服务器连接,用于:查询WEB服务器中保存的信 息,向WEB服务器发送命令,以及接收WEB服务器发送的升级代理模块的命 令才丸行结果。所述服务器还可进一步地包括数据库模块和服务器模块;所述数据库模 块用于存储所述待升级节点的注册信息、命令执行结果、以及升级包的相关 信息;所述服务器模块分别与所述数据库模块和所述客户端连接,所述服务 器模块用于:从所述客户端接收命令,向所迷升级代理模块下发命令,向所 述数据库模块存储命令执行结果,以及从所述数据库模块中提取信息并发送 给所述客户端。进一步地,所述服务器还可包括接口扩展模块,分别与所述 数据库^^块和所述客户端连接;所述接口扩展模块用于:接收所述客户端下 发的接口扩展命令,将新的接口信息存储在所述数据库模块中,以及将新的接口信息发送给所述待升级节点的升级代理模块。所述服务器还可进一步地包括服务器模块并存储有数据文件,所述数据 文件用于保存所述待升级节点的注册信息、命令执行结果、以及升级包的相 关信息;所述服务器模块用于:从所述客户端接收命令,向所述升级代理模 块下发命令,向所述数据文件存储命令执行结果,以及从所述数据文件中提 取信息并发送给所述待升级节点的升级代理模块。进一步地,所述服务器可 包括接口扩展模块,与所述客户端连接;所述接口扩展模块用于:接收所述 浏览器客户端下发的接口扩展命令,将新的接口信息存储在所述数据文件中, 以及将新的接口信息发送给所述客户端。\n所迷客户端还可进一步地包括用户界面模块,与所述服务器连接;所述 用户界面模块用于:接收用户提交的命令并传递给所述服务器,接收用户提 交的升级包并上传给所迷服务器,接收所迷服务器发送的信息并输出给用户。 所述客户端也可包括用户界面模块和用于存储用户提交的升级包的存储模 块;所述用户界面模块分别与所述存储模块和所述服务器连接;所述用户界 面模块用于:接收用户提交的命令并传递给所述服务器,将存储模块中存储 的升级包上传到所述服务器、接收所述服务器发送的信息并输出给用户。所 述用户界面模块可包括集成开发环境界面和/或WEB界面。所述客户端还可进一步地包括扩展功能界面模块,与所述服务器连接; 所述扩展功能界面模块用于:接收用户自定义的命令并发送给所述服务器。为实现发明目的,本发明还提供了 一种集中远程自动升级软件的方法, 包括以下步骤:步骤l、客户端将用户提交的升级命令和升级包、及用户选择的待升级节 点的信息发送给服务器;步骤2、服务器将所述升级命令和升级包发送给所述用户选择的待升级节 点的升級代理模块;步骤3、所述待升级节点的升級代理模块根据该代理模块中保存的待升级 软件的识别信息和升级包中保存的升级操作信息,对待升级软件进行升级操 作。为了更好地实现发明目的,所述步骤1可具体包括:客户端首先将用户 提交的安装命令和用户提交的升级包发送给服务器;然后将用户提交的升级 命令、及用户选择的待升级节点的信息发送给服务器。所述步骤2可具体包 括:服务器首先将所述安装命令和所述升级包组成安装信息,并将所述安装 信息发送给所述待升级节点的升級代理模块;然后将所述升级命令发送给所 述待升級节点的升级代理模块。所述步骤2也可具体包括:服务器将所述升\n级命令和所述升级包组成升级信息,并将所述升级信息发送给所述待升级节点的升级代理模块。所述步骤3可具体包括:所述待升级节点的升级代理才莫块通过预先保存在该升级代理模块中的、所述待升级软件中预先设置的升i及接口的注册信息,与该升级接口建立通信连接;然后通过调用所述待升级4t 件中预先设置的升级接口,将升级命令和升级包下发给所述待升级软件,并 根据升级包中保存的升级搡作信息,对待升级软件进行升级操作。为了更好地实现发明目的,所述步骤1之前还可包括构造所述升级包的 步骤,具体包括:将待升级软件需进行的升级操作和操作顺序记录在升级过 程信息文件中,将待升级软件的新版本和旧版本的差异信息记录在待升级软 件的新版本的信息中;并将所述待升级软件的新版本的信息、及所述升级过 程信息文件保存在升级包中。所述步骤3可具体包括:所述待升级节点的升 级代理模块根据该代理模块中保存的待升级软件的识别信息,与待升级软件 建立通信连接;然后根据升级包中保存的待升级软件的新版本和旧版本的差 异信息,按照升级包中保存的升级过程信息文件记录的操作顺序,对待升级 软件进行升级过程信息文件记录的升级操作。所述对待升级软件进行升级过 程信息文件记录的升级操作具体包括以下步骤:在步骤a中保存待升级软件 的旧版本的程序和数据;在步骤b中根据待升级软件的新版本的特征,对待 升级软件的旧版本进行替换、增加、修改等升级操作,如果升级成功则结東, 如果升级不成功则执行步骤c;在步骤c中根据保存的待升级软件的旧版本 的程序和lt据,将待升级软件恢复到升级前的状态。所述步骤b可具体包括: 根据待升级软件的新版本的特征,对待升级软件的旧版本进行替换、增加、 修改等升级操作,如果升级成功,则检验升级过程是否提供了新的接口,是 则待升级软件向其所属的升级代理模块注册接口信息,否则结束;如果升级 不成功,则执行步骤c。所述在步骤i之前的构造所述升级包的步骤也可具体包括:将升级程序 保存在升级包中,所述升级程序为待升级软件需执行的升级程序。所述步骤3也可具体包括:所述待升级节点的升级代理模块根据该代理模块中保存的待升级软件的识别信息,与待升级软件建立通信连接;然后调用执行升级包中保存的升级程序。进一步地,在所述步骤2与步骤3之间还可包括使所述待升级软件停止 工作的步骤,具体包括:所述待升级节点的升级代理模块,通过预先保存在 该升级代理模块中的、所述待升级软件中预先设置的停止接口的注册信息, 与该停止接口建立通信连接,然后通过调用该停止接口,使该待升级软件停 止工作,并通过该停止接口获知搡作结果是否成功,是则执行步骤3,否则 结束。在所述步骤2与所述的使所述待升级软件停止工作的步骤之间还可包 括:4红验所述待升级软件的运行状态的步骤,具体包括:所述待升级节点的 升级代理;漠块,通过预先保存在该升级代理模块中的、所述待升级软件中预 先设置的运行状态检验接口的注册信息,与该运行状态检验接口建立通信连 接,然后通过调用该运行状态检验接口以检验所述待升级软件的运行状态是 否为停止状态,是则执行步骤3,否则执行所述的使所述待升级软件停止工 作的步骤。在所述步骤3之后还可包括使所述待升级软件启动工作的步骤, 具体包>^:所述待升级节点的升级代理模块首先通过预先保存在该升级代理 模块中的、所述待升级软件中预先设置的运行状态检验接口的注册信息,与 该运4亍状态检验接口建立通信连接,然后调用该运行状态检验接口 ,以进行 检验所述待升级软件的运行状态是否为停止状态的操作,如果所述待升级软 件的运行状态不是停止状态则结束,如果所述待升级软件的运行状态为停止 状态,则通过预先保存在该升级代理模块中的、所述待升级软件中预先设置 的启动4妄口的注册信息,与该启动接口建立通信连接,然后通过调用该启动 接口使该待升级软件启动工作。在所述步骤2与步骤3之间还可包括检验所 述待升级软件的版本的步骤,具体包括:所述待升级节点的升级代理模块, 通过预先保存在该升级代理模块中的、所述待升级软件中预先设置的获取版 本接口的注册信息,与该获取版本接口建立通信连接;通过调用该获取版本\n接口,得到所述待升级软件的版本信息,并与升级包中的旧版本信息比较, 如果相同,则执行步骤3,如果不相同,则结束。在所述步骤1之前或在所述步骤3之后,还可包括扩展所述待升级软件的命令接口的操作,具体包括以下步骤:在步骤I中客户端将用户提交的接 口扩展命令和新接口信息发送给服务器;在步骤II中服务器将新接口信息下 发给待升级节点中的升级代理模块;在步骤III中待升级节点中升级代理模 块根据新接口信息,使待升级软件增加对应的新接口,并保存待升级软件的 新^接口的注册信息。在所述步骤1之前,还可包括客户端通过服务器查询待升级节点的信息 的才桑作,具体包括以下步骤:在步骤001中客户端将用户提交的查询命令和 用户指定要查询的待升级节点的信息发送给服务器;在步骤G02中服务器将 所述查询命令发送给所述用户指定要查询的待升级节点的待升级代理模块; 步骤003中所述待升级节点的待升级代理模块收到所述查询命令后,根据保 存的待升级软件的注册信息,通过待升级软件的相应接口收集用户要查询的 信息,并发送给服务器;在步骤004中服务器将待升级代理模块发送的信息 发送给客户端;最后在步骤005中客户端将服务器发送的信息输出给用户。 其中,所述步骤003包括:所述待升级节点的待升级代理模块收到所述查询 命令后,根据保存的待升级软件的注册信息,通过待升级软件的相应接口收 集用户要查询的信息,并将收集到的所述用户要查询的信息封装成服务器可 识别的格式后发送给服务器。所述步骤004包括:服务器将待升级代理模块 发送的信息转化为易于用户查询的格式后发送给客户端。在所述步骤2与步骤3之间,还可包括所述待升级节点中的升级代理模块对服务器发送的升级命令和升级包进行鉴权的操作,具体包括以下步骤: 在步骤21中所述待升级节点中的升级代理模块检查服务器发送的升级命令 是否是该待升级节点对应的合法命令,如果是则执行步骤22,否则结束;在 步骤22中所述待升级节点中的升级代理模块检查服务器发送的升级包是否 完整且未被非法修改,如果是则执行步骤3,否则结束。所述步骤3还可包括在升级过程中客户端通过服务器获取待升级节点的 升级日志报告的操作,具体包括:客户端向服务器发送查询命令和要查询的 待升级节点的信息;服务器将所述查询命令转发给要查询的待升级节点的升 级代理模块;升级代理模块通过待升级软件的升级接口获取升级日志报告, 并通过服务器转发给客户端。所述步骤3也可包括在升级过程中客户端通过 服务器获取待升级节点的升级日志报告的操作,具体包括:在对待升级节点 的待升级软件进行升级的过程中,将每个升级步骤的执行结果保存在升级曰 志才艮告中,并将升级日志报告通过服务器转发给客户端。在上述技术方案中,通过网络对用户选择的多个待升级节点进行集中远 程自动升级,缩短了总体升级的时间,减少了人力成本,并且可以灵活地选 择升级对象、升级次序和时间,通过日志报告可以及时地监控升级过程;客 户端和服务器通过升级代理模块与待升级软件进行交互,升级代理模块负责 与服务器通信、下载升级包、执行升级程序等操作,待升级软件本身不需提 供这些功能,从而大大减少了软件的开发成本;同时,客户端、服务器及待 升级节点之间通过网络连接的系统构架使得升级操作人员不需现场操作,客 户端的用户界面模块可提供可视化界面,简化升级操作。由上述技术方案可知,本发明通过有机结合客户端、服务器、待升级节 点中的升级代理模块及待升级软件,构成所述的集中远程自动升级软件的系 统,能够达到灵活地选择升级对象、升级次序和升级时间,实现远程集中自 动升级,缩短多节点总体升级时间,及时监控升级过程,简化升级操作,并 且降低人力成本和开发成本的有益效果。附图说明图1为本发明具体实施例一的示意图; 图2为本发明具体实施例二的示意图;\n图3为本发明具体实施例三的示意图;图4为本发明具体实施例四的示意图;图5为本发明具体实施例五的示意图;图6为本发明具体实施例六的示意图;图7和图8为本发明具体实施例七的示意图;图9和图IO为本发明具体实施例八的示意图。具体实施方式下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。 参见图1所示的本发明具体实施例一的示意图, 一种集中远程自动升级 软件的系统,包括:待升级节点C,设置有待升级软件E和升级代理模块D, 升级代理模块D与待升级软件E交互,并保存有待升级软件E的识别信息, 用于升级和控制待升级软件E;服务器B,与待升级节点C网络连接,服务器 B用于:接收和管理待升级节点C的注册信息,向待升级节点C发送命令, 以及收集待升级节点C的命令执行结果;客户端A,与服务器B网络连接, 客户端A用于:查询服务器B中保存的信息,向服务器B发送命令,以及接 收服务器B发送的待升级节点C的命令执行结果。参见图2所示的本发明具体实施例二的示意图, 一种集中远程自动升级 软件的系统,包括:待升级节点Cl,设置有待升级软件E1、 E2和升级代理 模块Dl,升级代理模块D1分别与每个待升级软件E1、 E2交互,并保存有待 升级软件El、 E2的识别信息,用于升级和控制待升级软件El、 E2;待升级 节点C2,设置有待升级软件E3、 E4和升级代理模块D2,升级代理模块D2分 别与每个待升级软件E3、 E4交互,并保存有待升级软件E3、 E4的识别信息, 用于升级和控制待升级软件E3、 E4;待升级节点C3,设置有待升级软件E5、 E6和升级代理模块D3,升级代理模块D3分别与每个待升级软件E5、 E6交互, 并保存有待升级软件E5、 E6的识别信息,用于升级和控制待升级软件E5、 E6;服务器Bl,分别与每个待升级节点Cl、 C2、 C3网络连接,服务器Bl用 于:接收和管理每个待升级节点Cl、 C2、 C3的注册信息,向每个待升级节点 Cl、 C2、 C3发送命令,以及收集每个待升级节点Cl、 C2、 C3的命令执行结 果;客户端Al,与服务器B1网络连接,客户端A1用于:查询服务器Bl中 保存的信息,向服务器B1发送命令,以及接收服务器Bl发送的待升级节点 Cl、 C2、 C3的命令执行结果。参见图3所示的本发明具体实施例三的示意图, 一种集中远程自动升乡及 软件的系统,包括:待升级节点Cl,设置有待升级软件E1、 E2和升级代理 模块D1,升级代理模块D1分别与每个待升级软件E1、 E2交互,并保存有4寺 升级软件El、 E2的识别信息,用于升级和控制待升级软件El、 E2;待升级 节点C2,设置有待升级软件E3、 E4和升级代理模块D2,升级代理模块D2分 别与每个待升级软件E3、 E4交互,并保存有待升级软件E3、 E4的识别信息, 用于升级和控制待升级软件E3、 E4;待升级节点C3,设置有待升级软件E5、 E6和升级代理模块D3,升级代理模块D3分别与每个待升级软件E5、 E6交互, 并保存有待升级软件E5、 E6的识别信息,用于升级和控制待升级软件E5、 E6;服务器B2,分别与每个待升级节点C1、 C2、 C3网络连接,服务器Bl用 于:接收和管理每个待升级节点C1、 C2、 C3的注册信息,向每个待升级节点 Cl、 C2、 C3发送命令,以及收集每个待升级节点Cl、 C2、 C3的命令执行结 果;服务器B2包括数据库模块G和服务器模块F,数据库模块G用于存储每 个待升级节点C1、 C2、 C3的注册信息、命令执行结果、以及升级包的相关信 息,服务器模块F分别与数据库模块G和客户端A2连接,服务器模块F用于: 从客户端A2接收命令,向每个升级代理模块D1、 D2、 D3下发命令,向数据 库模块G存储命令执行结果,以及从数据库模块G中提取信息并发送给客户 端A2;客户端A2,与服务器B2网络连接,客户端A2用于:查询服务器B2 中保存的信息,向服务器B2发送命令,以及接收服务器B2发送的待升级节 点C1、 C2、C3的命令执行结果;客户端A2包括用户界面模块H,与服务器F\n连接;用户界面模块H用于:接收用户提交的命令并传递给服务器模块F, 接收用户提交的升级包并上传给服务器模块F,接收服务器模块F发送的信 息并输出给用卢。参见图4所示的本发明具体实施例四的示意图, 一种集中远程自动升级^ 软件的系统,包括:待升级节点Cl,设置有待升级软件E1、 E2和升级代理 模块D1,升级代理模块D1分别与每个待升级软件E1、 E2交互,并保存有待 升级软件El、 E2的识别信息,用于升级和控制待升级软件El、 E2;待升级 节点C2,设置有待升级软件E3、 E4和升级代理模块D2,升级代理模块D2分 别与每个待升级软件E3、 E4交互,并保存有待升级软件E3、 E4的识别信息, 用于升级和控制待升级软件E3、 E4;待升级节点C3,设置有待升级软件E5、 E6和升级代理模块D3,升级代理模块D3分别与每个待升级软件E5、 E6交互, 并保存有待升级软件E5、 E6的识别信息,用于升级和控制待升级软件E5、 E6;服务器B3,分别与每个待升级节点Cl、 C2、 C3网络连接,服务器B3用 于:^^收和管理每个待升级节点C1、 C2、 C3的注册信息,向每个待升级节点 Cl、 C2、 C3发送命令,以及收集每个待升级节点Cl、 C2、 C3的命令执行结 果;服务器B3包括数据库模块G、服务器模块F、以及接口扩展模块J;数 据库模块G用于存储每个待升级节点Cl、 C2、 C3的注册信息、命令执行结果、 以及升级包的相关信息,服务器模块F分别与数据库模块G和客户端A3连接, 服务器模块F用于:从客户端A3接收命令,向每个升级代理模块D1、 D2、 D3下发命令,向数据库模块G存储命令执行结果,以及从数据库模块G中提 取信息并发送给客户端A3;接口扩展模块J分别与数据库模块G和客户端A3 连接;接口扩展模块J用于:接收客户端A3下发的接口扩展命令,将新的接 口信息存储在数据库模块G中,以及将新的接口信息分别发送给每个待升级 节点的升级代理模块D1、 D2、 D3;客户端A3,与服务器B2网络连接,客户 端A3用于:查询服务器B3中保存的信息,向服务器B3发送命令,以及接收 服务器B3发送的待升级节点C1、 C2、 C3的命令执行结果;客户端A3包括用 户界面模块H和扩展功能界面模块K,分别与服务器F网络连接;用户界面 模块H用于:接收用户提交的命令并传递给服务器模块F,接收用户提交的 升级包并上传给服务器模块F,接收服务器模块F发送的信息并输出给用户; 扩展功能界面模块K用于接收用户自定义的命令并发送给服务器B3的接口扩 展模块J。参见图5所示的本发明具体实施例五的示意图, 一种集中远程自动升《及 软件的方法,包括以下步骤:在步骤1中客户端将用户提交的升级命令和升 级包、及用户选择的待升级节点的信息发送给服务器;在步骤2中服务器将 所述升级命令和升级包发送给所述用户选择的待升级节点的升级代理模块; 在步骤3中所述待升级节点的升级代理i^莫块根据该代理模块中保存的待升级吣 软件的识别信息和升级包中保存的升级操作信息,对待升级软件进行升级才喿 作。参见图6所示的本发明具体实施例六的示意图, 一种集中远程自动升级 软件的方法,包括以下步骤:在步骤1中客户端将用户提交的升级命令和升 级包、及用户选择的待升级节点的信息发送给服务器;在步骤2中服务器将 所述升级命令和升级包发送给所述用户选择的待升级节点的升级代理模块; 然后在步骤201中待升级节点的升级代理模块,通过预先保存在该升级代理 模块中的、待升级软件中预先设置的获取版本接口的注册信息,与该获取版 本接口建立通信连接;通过调用该获取版本接口,得到所述待升级软件的版 本信息,并与升级包中的旧版本信息比较,如果相同,则执行步骤202,如 果不相同,则结束;在步骤202中待升级节点的升级代理模块,通过预先保 存在该升级代理;漠块中的、待升级软件中预先设置的运行状态检验接口的注 册信息,与该运行状态检验4姿口建立通信连接,然后通过调用该运行状态检 验接口以检验所述待升级软件的运行状态是否为停止状态,是则执行步骤 301,否则执行步骤203;在步骤203中待升级节点的升级代理模块,通过预 先保存在该升级代理模块中的、待升级软件中预先设置的停止接口的注册信\n息,与该停止4妄口建立通信连4妄,然后通过调用该停止4妾口 ,《吏该待升级專欠 件停止工作;然后在步骤301中所述待升级节点的升级代理模块通过预先j果 在在这并鈒我理模块+的、斩迷待并级拔侔+蓣先设置的并级接口息,与该升级接口建立通信连接;然后通过调用所述待升级软件中预先设置的升级接口,将升级命令和升级包下发给所述待升级软件,并根据升级包中保存的升级操作信息,对待升级软件进行升级操作;在步骤302中待升级节 点的升级代理模块调用该运行状态检验接口以检验所述待升级软件的运行^犬 态是否为停止状态,是则执行步骤303,否则结束;最后在步骤303中所迷 待升级节点的升级代理模块通过预先保存在该升级代理模块中的、所述待升 级软件中预先设置的启动接口的注册信息,与该启动接口建立通信连接,然 后通过调用该启动接口使该待升级软件启动工作。参见图7和图8所示的本发明具体实施例七的示意图, 一种集中远程自 动升级软件的方法,包括以下步骤:在步骤Ol中客户端通过服务器查询待升 级节点的信息;在步骤02中构造升级包,具体包括:将待升级软件需进行的 升级操作和操作顺序记录在升级过程信息文件中,将待升级软件的新版本和 旧版本的差异信息记录在待升级软件的新版本的信息中,并将所述待升级软 件的新版本的信息、及所述升级过程信息文件保存在升级包中;然后在步骤 1中客户端将用户提交的升级命令和升级包、及用户选择的待升级节点的信 息发送给服务器;在步骤2中服务器将所述升级命令和升级包发送给所述用 户选择的待升级节点的升级代理模块;继而在步骤a中保存待升级软件的旧 版本的程序和数据;在步骤b中升级代理模块根据待升级软件的新版本的特 征,对待升级软件的旧版本进行替换、增加、修改等升级操作,如果升级操 作成功则结束,如果升级操作不成功则执行步骤c;在步骤c中根据保存的 待升级软件的旧版本的程序和数据,将待升级软件恢复到升级前的状态。其 中,如图8所示,所述步骤01可具体包括以下步骤:在步骤001中客户端将 用户提交的查询命令和用户指定要查询的待升级节点的信息发送给服务器; 然后在步骤002中服务器将所述查询命令发送给所述用户指定要查询的待升级节点的待升级代理模块;在步骤Q03中所述待升级节点的待升级代理模i夹收到所述奎询命令后,根据保存的待升级软件的注册信息,通过持升级软4牛的相应接口收集用户要查询的信息,并发送给服务器;然后在步骤004中服 务器将待升级代理模块发送的信息发送给客户端;最后在步骤005中客户端 将服务器发送的信息输出给用户。•参见图9和图IO所示的本发明具体实施例八的示意图, 一种集中远程自 动升级软件的方法,包括以下步骤:在步骤1中客户端将用户提交的升级命 令和升级包、及用户选择的待升级节点的信息发送给服务器;在步骤2中服模块;继而在步骤a中升级代理模块保存待升级软件的旧版本的程序和数据; 然后在步骤3001中升级代理模块调用待升级软件的升级接口 ,根据升级包中 保存的升级操作和操作顺序,执行第一个升级操作步骤;在步骤3002中,待 升级软件返回记录第一个升级步骤执行结果的升级日志报告;在步骤3003中 升级代理模块将升级日志报告转发给服务器;在步骤3004中服务器将升级曰 志报告转发给客户端,并根据用户检查该日志报告后提交的不同命令而执行 不同的后续步骤;若用户检查该升级日志报告后提交执行下一步骤命令,则 执行步骤3005,即客户端将用户提交的执行下一步骤命令发送给服务器,在 步骤3006中服务器将该命令转发给升级代理模块,然后在步骤3007中升级 代理模块调用待升级软件的升级接口 ,根据升级包中保存的升级搡作和操作 顺序,执行下一个升级操作步骤,然后通过步骤3008、 3009和3010将升级 操作最终结果日志报告经由升级代理模块和服务器转发给客户端;若用户检 查第一升级步骤的升级日志报告后提交恢复升级前状态的命令,则执行步骤 3005',即客户端将用户提交的恢复升级前状态的命令发送给服务器,并经 步骤3006'即服务器将该命令转发给升级代理模块后,在步骤3G[)?'中升级 代理模块根据步骤a中所保存的待升级软件的旧版本的程序和数据,将待升\n级^:件恢复到升级前的状态,然后通过步骤3008、 3009和3010将升级操4乍 最终结果日志报告经由升级代理模块和服务器转发给客户端。最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制, 尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当 理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明才支 术方案的^t神和范围。
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |