集中远程自动升级软件的系统及其方法

文档序号:6557697阅读:198来源:国知局
专利名称:集中远程自动升级软件的系统及其方法
技术领域
本发明涉及一种集中远程自动升级软件的系统及其方法,特别涉及一种能够灵活地选择升级对象和升级时间,实现集中远程自动升级,缩短多节点总体升级时间,监控升级过程,简化升级操作,并降低成本的集中远程自动升级软件的系统及其方法。
背景技术
随着计算机软件的大量应用和软件的日益复杂,对软件的升级需求日趋迫切,大多数软件在其生命周期中必须频繁进行升级操作。
现有技术中对软件的升级方法主要包括现场手动升级方法和网络自动升级方法。
现场手动升级方法主要包括以下步骤首先是开发人员根据软件新旧版本的差异开发出升级包,升级包中带有软件新版本的文件或数据;然后将升级包经由传统物流方式或互连网络传递到用户的计算机上;最后用户或维护人员根据升级指导书进行一系列操作,完成旧版本文件的替换或配置数据的更新等软件升级工作。
该方法的缺点在于1、由于升级操作主要由用户或维护人员完成,因此对升级操作人员的要求比较高,需要熟悉一些系统知识和命令;2、操作复杂,容易出错;3、升级周期长,尤其在需要升级多个目标系统的软件时,全部升级过程所需时间是各个单个设备所需升级时间的总和;4、升级操作人员必须在升级现场操作,若需要升级的多个目标系统相距很远,会导致人力和交通成本增加。
网络自动升级方法是通过一个服务器来存储软件新版本的文件数据或升级程序等,运行在待升级节点上的待升级软件定期地查看该服务器上软件的版本号,若该服务器软件的版本号大于该待升级节点上软件的版本号,则该待升级软件自动从服务器下载升级程序和数据并完成升级过程;或者运行在待升级节点上的待升级软件等待该服务器下发的软件更新信息,并在收到软件更新信息后自动从服务器下载升级程序和数据并完成升级过程。
该方法避免了现场手动升级方法的缺点,但其不足之处在于1、各待升级节点独立完成自身的升级过程,升级过程缺少人员监控,一旦出现故障则维护人员不能及时介入;2、各待升级节点的时间和次序不可控制,不能满足多节点逐步升级的需求;3、待升级软件需要具备与服务器通讯、下载升级包和数据、自动执行升级程序等功能,为提供这些功能会大大增加软件开发成本。

发明内容
本发明的目的是针对上述现有技术的不足,提供一种集中远程自动升级软件的系统及其方法,能够有效的克服现有技术的缺点,灵活地选择升级对象和升级时间,实现远程集中自动升级,缩短多节点总体升级时间,监控升级过程,简化升级操作,并且降低人力成本和开发成本。
为实现上述目的,本发明提供了一种集中远程自动升级软件的系统,包括待升级节点,所述待升级节点中设置有待升级软件和升级代理模块,所述升级代理模块与所述待升级软件交互,并保存有所述待升级软件的识别信息,用于升级和控制所述待升级软件;服务器,分别与每个所述待升级节点网络连接,所述服务器用于接收和管理每个所述待升级节点的注册信息,向所述待升级节点发送命令,以及收集所述待升级节点的命令执行结果;客户端,与所述服务器网络连接,所述客户端用于查询服务器中保存的信息,向服务器发送命令,以及接收服务器发送的待升级节点的命令执行结果。
上述技术方案中,通过网络同时对多个待升级节点进行集中远程自动升级,可缩短升级时间,节省人员和交通成本;升级人员能够灵活选择升级对象和时间;待升级软件无需提供通讯、下载等模块,减小了开发成本。
为了更好地实现发明目的,所述服务器可为WEB服务器,所述客户端可为WEB浏览器,与所述WEB服务器连接,用于查询WEB服务器中保存的信息,向WEB服务器发送命令,以及接收WEB服务器发送的升级代理模块的命令执行结果。
所述服务器还可进一步地包括数据库模块和服务器模块;所述数据库模块用于存储所述待升级节点的注册信息、命令执行结果、以及升级包的相关信息;所述服务器模块分别与所述数据库模块和所述客户端连接,所述服务器模块用于从所述客户端接收命令,向所述升级代理模块下发命令,向所述数据库模块存储命令执行结果,以及从所述数据库模块中提取信息并发送给所述客户端。进一步地,所述服务器还可包括接口扩展模块,分别与所述数据库模块和所述客户端连接;所述接口扩展模块用于接收所述客户端下发的接口扩展命令,将新的接口信息存储在所述数据库模块中,以及将新的接口信息发送给所述待升级节点的升级代理模块。
所述服务器还可进一步地包括服务器模块并存储有数据文件,所述数据文件用于保存所述待升级节点的注册信息、命令执行结果、以及升级包的相关信息;所述服务器模块用于从所述客户端接收命令,向所述升级代理模块下发命令,向所述数据文件存储命令执行结果,以及从所述数据文件中提取信息并发送给所述待升级节点的升级代理模块。进一步地,所述服务器可包括接口扩展模块,与所述客户端连接;所述接口扩展模块用于接收所述浏览器客户端下发的接口扩展命令,将新的接口信息存储在所述数据文件中,以及将新的接口信息发送给所述客户端。
所述客户端还可进一步地包括用户界面模块,与所述服务器连接;所述用户界面模块用于接收用户提交的命令并传递给所述服务器模块,接收用户提交的升级包并上传给所述服务器模块,接收所述服务器模块发送的信息并输出给用户。所述客户端也可包括用户界面模块和用于存储用户提交的升级包的存储模块;所述用户界面模块分别与所述存储模块和所述服务器连接;所述用户界面模块用于接收用户提交的命令并传递给所述服务器模块,将存储模块中存储的升级包上传到所述服务器、接收所述服务器模块发送的信息并输出给用户。所述用户界面模块可包括集成开发环境界面和/或WEB界面。
所述客户端还可进一步地包括扩展功能界面模块,与所述服务器连接;所述扩展功能界面模块用于接收用户自定义的命令并发送给所述服务器。
为实现发明目的,本发明还提供了一种集中远程自动升级软件的方法,包括以下步骤步骤1、客户端将用户提交的升级命令和升级包、及用户选择的待升级节点的信息发送给服务器;步骤2、服务器将所述升级命令和升级包发送给所述用户选择的待升级节点的升级代理模块;步骤3、所述待升级节点的升级代理模块根据该代理模块中保存的待升级软件的识别信息和升级包中保存的升级操作信息,对待升级软件进行升级操作。
为了更好地实现发明目的,所述步骤1可具体包括客户端首先将用户提交的安装命令和用户提交的升级包发送给服务器;然后将用户提交的升级命令、及用户选择的待升级节点的信息发送给服务器。所述步骤2可具体包括服务器首先将所述安装命令和所述升级包组成安装信息,并将所述安装信息发送给所述待升级节点的升级代理模块;然后将所述升级命令发送给所述待升级节点的升级代理模块。所述步骤2也可具体包括服务器将所述升级命令和所述升级包组成升级信息,并将所述升级信息发送给所述待升级节点的升级代理模块。所述步骤3可具体包括所述待升级节点的升级代理模块通过预先保存在该升级代理模块中的、所述待升级软件中预先设置的升级接口的注册信息,与该升级接口建立通信连接;然后通过调用所述待升级软件中预先设置的升级接口,将升级命令和升级包下发给所述待升级软件,并根据升级包中保存的升级操作信息,对待升级软件进行升级操作。
为了更好地实现发明目的,所述步骤1之前还可包括构造所述升级包的步骤,具体包括将待升级软件需进行的升级操作和操作顺序记录在升级过程信息文件中,将待升级软件的新版本和旧版本的差异信息记录在待升级软件的新版本的信息中;并将所述待升级软件的新版本的信息、及所述升级过程信息文件保存在升级包中。所述步骤3可具体包括所述待升级节点的升级代理模块根据该代理模块中保存的待升级软件的识别信息,与待升级软件建立通信连接;然后根据升级包中保存的待升级软件的新版本和旧版本的差异信息,按照升级包中保存的升级过程信息文件记录的操作顺序,对待升级软件进行升级过程信息文件记录的升级操作。所述对待升级软件进行升级过程信息文件记录的升级操作具体包括以下步骤在步骤a中保存待升级软件的旧版本的程序和数据;在步骤b中根据待升级软件的新版本的特征,对待升级软件的旧版本进行替换、增加、修改等升级操作,如果升级成功则结束,如果升级不成功则执行步骤c;在步骤c中根据保存的待升级软件的旧版本的程序和数据,将待升级软件恢复到升级前的状态。所述步骤b可具体包括根据待升级软件的新版本的特征,对待升级软件的旧版本进行替换、增加、修改等升级操作,如果升级成功,则检验升级过程是否提供了新的接口,是则待升级软件向其所属的升级代理模块注册接口信息,否则结束;如果升级不成功,则执行步骤c。
所述在步骤1之前的构造所述升级包的步骤也可具体包括将升级程序保存在升级包中,所述升级程序为待升级软件需执行的升级程序。所述步骤3也可具体包括所述待升级节点的升级代理模块根据该代理模块中保存的待升级软件的识别信息,与待升级软件建立通信连接;然后调用执行升级包中保存的升级程序。
进一步地,在所述步骤2与步骤3之间还可包括使所述待升级软件停止工作的步骤,具体包括所述待升级节点的升级代理模块,通过预先保存在该升级代理模块中的、所述待升级软件中预先设置的停止接口的注册信息,与该停止接口建立通信连接,然后通过调用该停止接口,使该待升级软件停止工作,并通过该停止接口获知操作结果是否成功,是则执行步骤3,否则结束。在所述步骤2与所述的使所述待升级软件停止工作的步骤之间还可包括检验所述待升级软件的运行状态的步骤,具体包括所述待升级节点的升级代理模块,通过预先保存在该升级代理模块中的、所述待升级软件中预先设置的运行状态检验接口的注册信息,与该运行状态检验接口建立通信连接,然后通过调用该运行状态检验接口以检验所述待升级软件的运行状态是否为停止状态,是则执行步骤3,否则执行所述的使所述待升级软件停止工作的步骤。在所述步骤3之后还可包括使所述待升级软件启动工作的步骤,具体包括所述待升级节点的升级代理模块首先通过预先保存在该升级代理模块中的、所述待升级软件中预先设置的运行状态检验接口的注册信息,与该运行状态检验接口建立通信连接,然后调用该运行状态检验接口,以进行检验所述待升级软件的运行状态是否为停止状态的操作,如果所述待升级软件的运行状态不是停止状态则结束,如果所述待升级软件的运行状态为停止状态,则通过预先保存在该升级代理模块中的、所述待升级软件中预先设置的启动接口的注册信息,与该启动接口建立通信连接,然后通过调用该启动接口使该待升级软件启动工作。在所述步骤2与步骤3之间还可包括检验所述待升级软件的版本的步骤,具体包括所述待升级节点的升级代理模块,通过预先保存在该升级代理模块中的、所述待升级软件中预先设置的获取版本接口的注册信息,与该获取版本接口建立通信连接;通过调用该获取版本接口,得到所述待升级软件的版本信息,并与升级包中的旧版本信息比较,如果相同,则执行步骤3,如果不相同,则结束。
在所述步骤1之前或在所述步骤3之后,还可包括扩展所述待升级软件的命令接口的操作,具体包括以下步骤在步骤I中客户端将用户提交的接口扩展命令和新接口信息发送给服务器;在步骤II中服务器将新接口信息下发给待升级节点中的升级代理模块;在步骤III中待升级节点中升级代理模块根据新接口信息,使待升级软件增加对应的新接口,并保存待升级软件的新接口的注册信息。
在所述步骤1之前,还可包括客户端通过服务器查询待升级节点的信息的操作,具体包括以下步骤在步骤001中客户端将用户提交的查询命令和用户指定要查询的待升级节点的信息发送给服务器;在步骤002中服务器将所述查询命令发送给所述用户指定要查询的待升级节点的待升级代理模块;步骤003中所述待升级节点的待升级代理模块收到所述查询命令后,根据保存的待升级软件的注册信息,通过待升级软件的相应接口收集用户要查询的信息,并发送给服务器;在步骤004中服务器将待升级代理模块发送的信息发送给客户端;最后在步骤005中客户端将服务器发送的信息输出给用户。其中,所述步骤003包括所述待升级节点的待升级代理模块收到所述查询命令后,根据保存的待升级软件的注册信息,通过待升级软件的相应接口收集用户要查询的信息,并将收集到的所述用户要查询的信息封装成服务器可识别的格式后发送给服务器。所述步骤004包括服务器将待升级代理模块发送的信息转化为易于用户查询的格式后发送给客户端。
在所述步骤2与步骤3之间,还可包括所述待升级节点中的升级代理模块对服务器发送的升级命令和升级包进行鉴权的操作,具体包括以下步骤在步骤21中所述待升级节点中的升级代理模块检查服务器发送的升级命令是否是该待升级节点对应的合法命令,如果是则执行步骤22,否则结束;在步骤22中所述待升级节点中的升级代理模块检查服务器发送的升级包是否完整且未被非法修改,如果是则执行步骤3,否则结束。
所述步骤3还可包括在升级过程中客户端通过服务器获取待升级节点的升级日志报告的操作,具体包括客户端向服务器发送查询命令和要查询的待升级节点的信息;服务器将所述查询命令转发给要查询的待升级节点的升级代理模块;升级代理模块通过待升级软件的升级接口获取升级日志报告,并通过服务器转发给客户端。所述步骤3也可包括在升级过程中客户端通过服务器获取待升级节点的升级日志报告的操作,具体包括在对待升级节点的待升级软件进行升级的过程中,将每个升级步骤的执行结果保存在升级日志报告中,并将升级日志报告通过服务器转发给客户端。
在上述技术方案中,通过网络对用户选择的多个待升级节点进行集中远程自动升级,缩短了总体升级的时间,减少了人力成本,并且可以灵活地选择升级对象、升级次序和时间,通过日志报告可以及时地监控升级过程;客户端和服务器通过升级代理模块与待升级软件进行交互,升级代理模块负责与服务器通信、下载升级包、执行升级程序等操作,待升级软件本身不需提供这些功能,从而大大减少了软件的开发成本;同时,客户端、服务器及待升级节点之间通过网络连接的系统构架使得升级操作人员不需现场操作,客户端的用户界面模块可提供可视化界面,简化升级操作。
由上述技术方案可知,本发明通过有机结合客户端、服务器、待升级节点中的升级代理模块及待升级软件,构成所述的集中远程自动升级软件的系统,能够达到灵活地选择升级对象、升级次序和升级时间,实现远程集中自动升级,缩短多节点总体升级时间,及时监控升级过程,简化升级操作,并且降低人力成本和开发成本的有益效果。


图1为本发明具体实施例一的示意图;图2为本发明具体实施例二的示意图;
图3为本发明具体实施例三的示意图;图4为本发明具体实施例四的示意图;图5为本发明具体实施例五的示意图;图6为本发明具体实施例六的示意图;图7和图8为本发明具体实施例七的示意图;图9和图10为本发明具体实施例八的示意图。
具体实施例方式
下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。
参见图1所示的本发明具体实施例一的示意图,一种集中远程自动升级软件的系统,包括待升级节点C,设置有待升级软件E和升级代理模块D,升级代理模块D与待升级软件E交互,并保存有待升级软件E的识别信息,用于升级和控制待升级软件E;服务器B,与待升级节点C网络连接,服务器B用于接收和管理待升级节点C的注册信息,向待升级节点C发送命令,以及收集待升级节点C的命令执行结果;客户端A,与服务器B网络连接,客户端A用于查询服务器B中保存的信息,向服务器B发送命令,以及接收服务器B发送的待升级节点C的命令执行结果。
参见图2所示的本发明具体实施例二的示意图,一种集中远程自动升级软件的系统,包括待升级节点C1,设置有待升级软件E1、E2和升级代理模块D1,升级代理模块D1分别与每个待升级软件E1、E2交互,并保存有待升级软件E1、E2的识别信息,用于升级和控制待升级软件E1、E2;待升级节点C2,设置有待升级软件E3、E4和升级代理模块D2,升级代理模块D2分别与每个待升级软件E3、E4交互,并保存有待升级软件E3、E4的识别信息,用于升级和控制待升级软件E3、E4;待升级节点C3,设置有待升级软件E5、E6和升级代理模块D3,升级代理模块D3分别与每个待升级软件E5、E6交互,并保存有待升级软件E5、E6的识别信息,用于升级和控制待升级软件E5、E6;服务器B1,分别与每个待升级节点C1、C2、C3网络连接,服务器B1用于接收和管理每个待升级节点C1、C2、C3的注册信息,向每个待升级节点C1、C2、C3发送命令,以及收集每个待升级节点C1、C2、C3的命令执行结果;客户端A1,与服务器B1网络连接,客户端A1用于查询服务器B1中保存的信息,向服务器B1发送命令,以及接收服务器B1发送的待升级节点C1、C2、C3的命令执行结果。
参见图3所示的本发明具体实施例三的示意图,一种集中远程自动升级软件的系统,包括待升级节点C1,设置有待升级软件E1、E2和升级代理模块D1,升级代理模块D1分别与每个待升级软件E1、E2交互,并保存有待升级软件E1、E2的识别信息,用于升级和控制待升级软件E1、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网络连接,服务器B1用于接收和管理每个待升级节点C1、C2、C3的注册信息,向每个待升级节点C1、C2、C3发送命令,以及收集每个待升级节点C1、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连接;用户界面模块H用于接收用户提交的命令并传递给服务器模块F,接收用户提交的升级包并上传给服务器模块F,接收服务器模块F发送的信息并输出给用户。
参见图4所示的本发明具体实施例四的示意图,一种集中远程自动升级软件的系统,包括待升级节点C1,设置有待升级软件E1、E2和升级代理模块D1,升级代理模块D1分别与每个待升级软件E1、E2交互,并保存有待升级软件E1、E2的识别信息,用于升级和控制待升级软件E1、E2;待升级节点C2,设置有待升级软件E3、E4和升级代理模块D2,升级代理模块D2分别与每个待升级软件E3、E4交互,并保存有待升级软件E3、E4的识别信息,用于升级和控制待升级软件E3、E4;待升级节点C3,设置有待升级软件E5、E6和升级代理模块D3,升级代理模块D3分别与每个待升级软件E5、E6交互,并保存有待升级软件E5、E6的识别信息,用于升级和控制待升级软件E5、E6;服务器B3,分别与每个待升级节点C1、C2、C3网络连接,服务器B3用于接收和管理每个待升级节点C1、C2、C3的注册信息,向每个待升级节点C1、C2、C3发送命令,以及收集每个待升级节点C1、C2、C3的命令执行结果;服务器B3包括数据库模块G、服务器模块F、以及接口扩展模块J;数据库模块G用于存储每个待升级节点C1、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中所述待升级节点的升级代理模块根据该代理模块中保存的待升级软件的识别信息和升级包中保存的升级操作信息,对待升级软件进行升级操作。
参见图6所示的本发明具体实施例六的示意图,一种集中远程自动升级软件的方法,包括以下步骤在步骤1中客户端将用户提交的升级命令和升级包、及用户选择的待升级节点的信息发送给服务器;在步骤2中服务器将所述升级命令和升级包发送给所述用户选择的待升级节点的升级代理模块;然后在步骤201中待升级节点的升级代理模块,通过预先保存在该升级代理模块中的、待升级软件中预先设置的获取版本接口的注册信息,与该获取版本接口建立通信连接;通过调用该获取版本接口,得到所述待升级软件的版本信息,并与升级包中的旧版本信息比较,如果相同,则执行步骤202,如果不相同,则结束;在步骤202中待升级节点的升级代理模块,通过预先保存在该升级代理模块中的、待升级软件中预先设置的运行状态检验接口的注册信息,与该运行状态检验接口建立通信连接,然后通过调用该运行状态检验接口以检验所述待升级软件的运行状态是否为停止状态,是则执行步骤301,否则执行步骤203;在步骤203中待升级节点的升级代理模块,通过预先保存在该升级代理模块中的、待升级软件中预先设置的停止接口的注册信息,与该停止接口建立通信连接,然后通过调用该停止接口,使该待升级软件停止工作;然后在步骤301中所述待升级节点的升级代理模块通过预先保存在该升级代理模块中的、所述待升级软件中预先设置的升级接口的注册信息,与该升级接口建立通信连接;然后通过调用所述待升级软件中预先设置的升级接口,将升级命令和升级包下发给所述待升级软件,并根据升级包中保存的升级操作信息,对待升级软件进行升级操作;在步骤302中待升级节点的升级代理模块调用该运行状态检验接口以检验所述待升级软件的运行状态是否为停止状态,是则执行步骤303,否则结束;最后在步骤303中所述待升级节点的升级代理模块通过预先保存在该升级代理模块中的、所述待升级软件中预先设置的启动接口的注册信息,与该启动接口建立通信连接,然后通过调用该启动接口使该待升级软件启动工作。
参见图7和图8所示的本发明具体实施例七的示意图,一种集中远程自动升级软件的方法,包括以下步骤在步骤01中客户端通过服务器查询待升级节点的信息;在步骤02中构造升级包,具体包括将待升级软件需进行的升级操作和操作顺序记录在升级过程信息文件中,将待升级软件的新版本和旧版本的差异信息记录在待升级软件的新版本的信息中,并将所述待升级软件的新版本的信息、及所述升级过程信息文件保存在升级包中;然后在步骤1中客户端将用户提交的升级命令和升级包、及用户选择的待升级节点的信息发送给服务器;在步骤2中服务器将所述升级命令和升级包发送给所述用户选择的待升级节点的升级代理模块;继而在步骤a中保存待升级软件的旧版本的程序和数据;在步骤b中升级代理模块根据待升级软件的新版本的特征,对待升级软件的旧版本进行替换、增加、修改等升级操作,如果升级操作成功则结束,如果升级操作不成功则执行步骤c;在步骤c中根据保存的待升级软件的旧版本的程序和数据,将待升级软件恢复到升级前的状态。其中,如图8所示,所述步骤01可具体包括以下步骤在步骤001中客户端将用户提交的查询命令和用户指定要查询的待升级节点的信息发送给服务器;然后在步骤002中服务器将所述查询命令发送给所述用户指定要查询的待升级节点的待升级代理模块;在步骤003中所述待升级节点的待升级代理模块收到所述查询命令后,根据保存的待升级软件的注册信息,通过待升级软件的相应接口收集用户要查询的信息,并发送给服务器;然后在步骤004中服务器将待升级代理模块发送的信息发送给客户端;最后在步骤005中客户端将服务器发送的信息输出给用户。
参见图9和图10所示的本发明具体实施例八的示意图,一种集中远程自动升级软件的方法,包括以下步骤在步骤1中客户端将用户提交的升级命令和升级包、及用户选择的待升级节点的信息发送给服务器;在步骤2中服务器将所述升级命令和升级包发送给所述用户选择的待升级节点的升级代理模块;继而在步骤a中升级代理模块保存待升级软件的旧版本的程序和数据;然后在步骤3001中升级代理模块调用待升级软件的升级接口,根据升级包中保存的升级操作和操作顺序,执行第一个升级操作步骤;在步骤3002中,待升级软件返回记录第一个升级步骤执行结果的升级日志报告;在步骤3003中升级代理模块将升级日志报告转发给服务器;在步骤3004中服务器将升级日志报告转发给客户端,并根据用户检查该日志报告后提交的不同命令而执行不同的后续步骤;若用户检查该升级日志报告后提交执行下一步骤命令,则执行步骤3005,即客户端将用户提交的执行下一步骤命令发送给服务器,在步骤3006中服务器将该命令转发给升级代理模块,然后在步骤3007中升级代理模块调用待升级软件的升级接口,根据升级包中保存的升级操作和操作顺序,执行下一个升级操作步骤,然后通过步骤3008、3009和3010将升级操作最终结果日志报告经由升级代理模块和服务器转发给客户端;若用户检查第一升级步骤的升级日志报告后提交恢复升级前状态的命令,则执行步骤3005′,即客户端将用户提交的恢复升级前状态的命令发送给服务器,并经步骤3006′即服务器将该命令转发给升级代理模块后,在步骤3007′中升级代理模块根据步骤a中所保存的待升级软件的旧版本的程序和数据,将待升级软件恢复到升级前的状态,然后通过步骤3008、3009和3010将升级操作最终结果目志报告经由升级代理模块和服务器转发给客户端。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
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.根据权利要求1-3任一所述的系统,其特征在于所述客户端包括扩展功能界面模块,与所述服务器连接;所述扩展功能界面模块用于接收用户自定义的命令并发送给所述服务器。
11.一种集中远程自动升级软件的方法,其特征在于,包括以下步骤步骤1、客户端将用户提交的升级命令和升级包、及用户选择的待升级节点的信息发送给服务器;步骤2、服务器将所述升级命令和升级包发送给所述用户选择的待升级节点的升级代理模块;步骤3、所述待升级节点的升级代理模块根据该代理模块中保存的待升级软件的识别信息和升级包中保存的升级操作信息,对待升级软件进行升级操作。
12.根据权利要求11所述的方法,其特征在于,所述步骤3具体包括所述待升级节点的升级代理模块通过预先保存在该升级代理模块中的、所述待升级软件中预先设置的升级接口的注册信息,与该升级接口建立通信连接;然后通过调用所述待升级软件中预先设置的升级接口,将升级命令和升级包下发给所述待升级软件,并根据升级包中保存的升级操作信息,对待升级软件进行升级操作。
13.根据权利要求11所述的方法,其特征在于,还包括在所述步骤2与步骤3之间的使所述待升级软件停止工作的步骤,具体包括所述待升级节点的升级代理模块,通过预先保存在该升级代理模块中的、所述待升级软件中预先设置的停止接口的注册信息,与该停止接口建立通信连接,然后通过调用该停止接口,使该待升级软件停止工作,并通过该停止接口获知操作结果是否成功,是则执行步骤3,否则结束。
14.根据权利要求13所述的方法,其特征在于,还包括在所述步骤2与所述的使所述待升级软件停止工作的步骤之间的、检验所述待升级软件的运行状态的步骤,具体包括所述待升级节点的升级代理模块,通过预先保存在该升级代理模块中的、所述待升级软件中预先设置的运行状态检验接口的注册信息,与该运行状态检验接口建立通信连接,然后通过调用该运行状态检验接口以检验所述待升级软件的运行状态是否为停止状态,是则执行步骤3,否则执行所述的使所述待升级软件停止工作的步骤。
15.根据权利要求13或14所述的方法,其特征在于,还包括在所述步骤3之后的使所述待升级软件启动工作的步骤,具体包括所述待升级节点的升级代理模块首先通过预先保存在该升级代理模块中的、所述待升级软件中预先设置的运行状态检验接口的注册信息,与该运行状态检验接口建立通信连接,然后调用该运行状态检验接口,以进行检验所述待升级软件的运行状态是否为停止状态的操作,如果所述待升级软件的运行状态不是停止状态则结束,如果所述待升级软件的运行状态为停止状态,则通过预先保存在该升级代理模块中的、所述待升级软件中预先设置的启动接口的注册信息,与该启动接口建立通信连接,然后通过调用该启动接口使该待升级软件启动工作。
16.根据权利要求11所述的方法,其特征在于,还包括在所述步骤2与步骤3之间的检验所述待升级软件的版本的步骤,具体包括所述待升级节点的升级代理模块,通过预先保存在该升级代理模块中的、所述待升级软件中预先设置的获取版本接口的注册信息,与该获取版本接口建立通信连接;通过调用该获取版本接口,得到所述待升级软件的版本信息,并与升级包中的旧版本信息比较,如果相同,则执行步骤3,如果不相同,则结束。
17.根据权利要求11所述的方法,其特征在于还包括在所述步骤1之前或在所述步骤3之后的扩展所述待升级软件的命令接口的操作,具体包括以下步骤步骤I、客户端将用户提交的接口扩展命令和新接口信息发送给服务器;步骤II、服务器将新接口信息下发给待升级节点中的升级代理模块;步骤III、待升级节点中升级代理模块根据新接口信息,使待升级软件增加对应的新接口,并保存待升级软件的新接口的注册信息。
18.根据权利要求11或12所述的方法,其特征在于,所述步骤2具体包括服务器将所述升级命令和所述升级包组成升级信息,并将所述升级信息发送给所述待升级节点的升级代理模块。
19.根据权利要求11或12所述的方法,其特征在于,所述步骤1具体包括客户端首先将用户提交的安装命令和用户提交的升级包发送给服务器;然后将用户提交的升级命令、及用户选择的待升级节点的信息发送给服务器。
20.根据权利要求19所述的方法,其特征在于,所述步骤2具体包括服务器首先将所述安装命令和所述升级包组成安装信息,并将所述安装信息发送给所述待升级节点的升级代理模块;然后将所述升级命令发送给所述待升级节点的升级代理模块。
21.根据权利要求11所述的方法,其特征在于,还包括在所述步骤1之前的构造所述升级包的步骤,具体包括将待升级软件需进行的升级操作和操作顺序记录在升级过程信息文件中,将待升级软件的新版本和旧版本的差异信息记录在待升级软件的新版本的信息中;并将所述待升级软件的新版本的信息、及所述升级过程信息文件保存在升级包中。
22.根据权利要求21所述的方法,其特征在于,所述步骤3具体包括所述待升级节点的升级代理模块根据该代理模块中保存的待升级软件的识别信息,与待升级软件建立通信连接;然后根据升级包中保存的待升级软件的新版本和旧版本的差异信息,按照升级包中保存的升级过程信息文件记录的操作顺序,对待升级软件进行升级过程信息文件记录的升级操作。
23.根据权利要求22所述的方法,其特征在于,所述对待升级软件进行升级过程信息文件记录的升级操作具体包括以下步骤步骤a、保存待升级软件的旧版本的程序和数据;步骤b、根据待升级软件的新版本的特征,对待升级软件的旧版本进行替换、增加、修改等升级操作,如果升级操作成功则结束,如果升级操作不成功则执行步骤c;步骤c、根据保存的待升级软件的旧版本的程序和数据,将待升级软件恢复到升级前的状态。
24.根据权利要求23所述的方法,其特征在于,所述步骤b具体包括根据待升级软件的新版本的特征,对待升级软件的旧版本进行替换、增加、修改等升级操作,如果升级成功,则检验升级过程是否提供了新的接口,是则待升级软件向其所属的升级代理模块注册接口信息,否则结束;如果升级不成功,则执行步骤c。
25.根据权利要求11所述的方法,其特征在于,还包括在所述步骤1之前的构造所述升级包的步骤,具体包括将升级程序保存在升级包中,所述升级程序为待升级软件需执行的升级程序。
26.根据权利要求25所述的方法,其特征在于,所述步骤3具体包括所述待升级节点的升级代理模块根据该代理模块中保存的待升级软件的识别信息,与待升级软件建立通信连接;然后调用执行升级包中保存的升级程序。
27.根据权利要求11所述的方法,其特征在于,还包括在所述步骤1之前的客户端通过服务器查询待升级节点的信息的操作,具体包括以下步骤步骤001、客户端将用户提交的查询命令和用户指定要查询的待升级节点的信息发送给服务器;步骤002、服务器将所述查询命令发送给所述用户指定要查询的待升级节点的待升级代理模块;步骤003、所述待升级节点的待升级代理模块收到所述查询命令后,根据保存的待升级软件的注册信息,通过待升级软件的相应接口收集用户要查询的信息,并发送给服务器;步骤004、服务器将待升级代理模块发送的信息发送给客户端;步骤005、客户端将服务器发送的信息输出给用户。
28.根据权利要求27所述的方法,其特征在于,所述步骤003包括所述待升级节点的待升级代理模块收到所述查询命令后,根据保存的待升级软件的注册信息,通过待升级软件的相应接口收集用户要查询的信息,并将收集到的所述用户要查询的信息封装成服务器可识别的格式后发送给服务器。
29.根据权利要求27所述的方法,其特征在于,所述步骤004包括服务器将待升级代理模块发送的信息转化为易于用户查询的格式后发送给客户端。
30.根据权利要求11所述的方法,其特征在于,还包括在所述步骤2与步骤3之间的、所述待升级节点中的升级代理模块对服务器发送的升级命令和升级包进行鉴权的操作,具体包括以下步骤步骤21、所述待升级节点中的升级代理模块检查服务器发送的升级命令是否是该待升级节点对应的合法命令,如果是则执行步骤22,否则结束;步骤22、所述待升级节点中的升级代理模块检查服务器发送的升级包是否完整且未被非法修改,如果是则执行步骤3,否则结束。
31.根据权利要求11所述的方法,其特征在于,所述步骤3还包括在升级过程中客户端通过服务器获取待升级节点的升级日志报告的操作,具体包括客户端向服务器发送查询命令和要查询的待升级节点的信息;服务器将所述查询命令转发给要查询的待升级节点的升级代理模块;升级代理模块通过待升级软件的升级接口获取升级日志报告,并通过服务器转发给客户端。
32.根据权利要求11所述的方法,其特征在于,所述步骤3还包括在升级过程中客户端通过服务器获取待升级节点的升级日志报告的操作,具体包括在对待升级节点的待升级软件进行升级的过程中,将每个升级步骤的执行结果保存在升级日志报告中,并将升级日志报告通过服务器转发给客户端。
全文摘要
一种集中远程自动升级软件的系统,包括待升级节点,所述待升级节点中设置有待升级软件和升级代理模块;服务器,分别与每个所述待升级节点网络连接;客户端,与所述服务器网络连接。一种集中远程自动升级软件的方法,包括以下步骤在步骤1中客户端将用户提交的升级命令和升级包、及用户选择的待升级节点的信息发送给服务器;然后在步骤2中服务器将所述升级命令和升级包发送给待升级节点的升级代理模块;在步骤3中升级代理模块根据待升级软件的识别信息和升级操作信息,对待升级软件进行升级操作。本发明能够灵活地选择升级对象和升级时间,实现集中远程自动升级,及时监控升级过程,简化升级操作,并降低成本。
文档编号G06F9/445GK1859125SQ200610067050
公开日2006年11月8日 申请日期2006年3月31日 优先权日2006年3月31日
发明者刘英学 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1