一种自动升级应用程序的方法和系统的制作方法

文档序号:6385363阅读:627来源:国知局
专利名称:一种自动升级应用程序的方法和系统的制作方法
技术领域
本发明涉及计算机领域,更具体地说,涉及一种自动升级应用程序的方法和系统。
技术背景
基于客户端/服务器(C/S,Client/Server)模式管理系统的客户端应用程序部署在不同的物理节点,比较分散。在使用过程中,由于各种原因,应用程序需要进行修改。每次修改完成后,客户端更新都要求用户重新安装应用程序。而C/S模式管理系统可能有几十个、几百个甚至几千个客户端,而且客户端可能分配分散,每次应用程序升级,都会耗费巨大的维护工作量。
因此,C/S模式最大的缺点就是维护升级繁琐。系统安装后的维护升级工作是应用程序生命周期最重要的环节。对于C/S模式的客户端应用程序的升级,过去往往是通过网上文件和U盘的复制来实现。这种方法需要人工干预,有时还可能带有病毒,当客户端的很多应用程序进行频繁更新时,更新的任务就繁重不堪,也往往会出现遗漏升级的客户端。
由于应用程序的升级是一个持续的过程,所以会出现很多升级版本。但是在客户端运行的只能是一个统一的应用程序版本,这样多个版本的同时存在也造成了客户端系统的应用程序的不稳定和不可靠。
按照现有的方式进行应用程序升级具有以下的问题和困难
(I)专业人员需要到现场进行应用程序的升级工作,耗费人力资源;
(2)操作复杂,由于升级只是部分的,造成错误不断;
(3)用户必须意识到要去下载更新文件升级应用程序,用户的体验度不高;
(4)组件库混乱,管理人员无法全局了解各客户端的应用程序版本的更新情况。发明内容
本发明的自动升级应 用程序的方法和系统针对现有技术需要专业人员现场操作, 且操作复杂,无法对应用软件进行全面升级,组件库混乱,管理人员无法全局了解各客户端的应用程序版本的更新情况的缺陷,提供一种自动升级应用程序的方法和系统,能够自动判断应用程序是否需要升级,并对需要升级的应用程序进行全面升级,且允许管理人员查看各客户端的应用程序版本的更新情况。
本发明解决其技术问题采用的技术方案是提供一种自动升级应用程序的方法, 包括以下步骤
S1、客户端的升级组件通过Web服务器访问数据库服务器,获取所述数据库服务器存储的客户端应用程序的服务器端版本号;
S2、所述升级组件读取客户端本地配置文件,获取客户端应用程序当前的客户端版本号;
S3、所述升级组件判断所述服务器端版本号和所述客户端版本号是否相同,并在两者不相同时通过所述Web服务器访问文件服务器,将与所述服务器版本号对应的更新文件下载到客户端;
S4、所述升级组件使用下载的更新文件升级所述客户端应用程序,并将所述客户端版本号修改为与所述服务器端版本号一致;
S5、所述升级组件通过所述Web服务器,将修改后的客户端版本号存储到所述数据库服务器。
优选地,步骤S3包括以下步骤
S3a、所述升级组件判断所述服务器端版本号和所述客户端版本号是否相同,若两者相同执行S3b,否则执行S3c ;
S3b、执行所述客户端应用程序;
S3c、所述升级组件通过所述Web服务器访问所述文件服务器,将与所述服务器版本号对应的更新文件下载到客户端。
进一步优选地,步骤S3c包括以下步骤
S3cl、所述升级组件通过所述Web服务器访问所述数据库服务器,获取所述数据库服务器存储的与所述服务器端版本号对应的更新文件的存放路径;
S3c2、所述升级组件通过所述Web服务器,根据所述更新文件的存放路径访问所述文件服务器,将与所述服务器版本号对应的更新文件下载到客户端。
进一步优选地,所述客户端应用程序的更新信息还包括客户端的系统号、所述服务器端版本号对应的客户端应用程序的起始日期和终止日期、修改内容、以及发布人;所述客户端应用程序的更新信息还包括客户端的系统号、客户端的IP地址、客户端的计算机名、客户端的物理位置、更新标志、客户端应用程序的客户端版本号、以及最后一次升级完成的时间;
在步骤S5中,所述升级组件通过所述Web服务器将修改后的客户端版本号存储到所述数据库服务器,以替换所述客户端应用程序的客户端应用程序的客户端版本号。
优选地,所述方法在步骤SI之前还包括步骤
SO、启动所述客户端应用程序,所述客户端应用程序调用所述升级组件。
优选地,所述方法还包括步骤
S6、所述升级组件删除下载的更新文件。
提供一种自动升级应用程序的系统,包括Web服务器、以及通过通信网络与所述 Web服务器连接的客户端,其特征在于,所述自动升级应用程序的系统还包括
数据库服务器,其与所述Web服务器连接,其包括关系数据库,所述关系数据库包括客户端应用程序的版本信息,所述客户端应用程序的版 本信息包括服务器端版本号;以及
文件服务器,其与所述Web服务器连接,用于存储更新文件;
所述客户端还包括升级组件,所述升级组件通过所述Web服务器访问所述数据库服务器,获取客户端应用程序的所述服务器端版本号,所述升级组件读取客户端本地配置文件,获取客户端应用程序当前的客户端版本号,所述升级组件判断所述服务器端版本号和所述客户端版本号是否相同,并在两者不相同时通过所述Web服务器访问所述文件服务器,将与所述服务器版本号对应的更新文件下载到所述客户端,使用下载的更新文件升级所述客户端应用程序,并将所述客户端版本号修改为与所述服务器端版本号一致。
优选地,所述关系数据包还包括客户端应用程序的更新信息,所述客户端应用程序的更新信息包括客户端应用程序的客户端版本号;所述客户端应用程序的版本信息还包括更新文件的存放路径;所述升级组件在所述服务器端版本号和所述客户端版本号不相同时,通过所述Web服务器访问所述数据库服务器,获取所述更新文件的存放路径,并通过所述Web服务器,根据所述更新文件的存放路径访问所述文件服务器,将与所述服务器版本号对应的更新文件下载到所述客户端。
优选地,所述客户端应用程序的更新信息还包括客户端的系统号、所述服务器端版本号对应的客户端应用程序的起始日期和终止日期、修改内容、以及发布人;所述客户端应用程序的更新信息还包括客户端的系统号、客户端的IP地址、客户端的计算机名、客户端的物理位置、更新标志、客户端应用程序的客户端版本号、以及最后一次升级完成的时间。
进一步优选地,所述升级组件通过所述Web服务器,将修改后的客户端版本号存储到所述数据库服务器,以更新所述客户端应用程序的更新信息中的客户端版本号。
本发明的自动升级应用程序的方法和系统具有以下有益效果在启动客户端应用程序后,升级组件启动,升级组件获取应用程序的客户端版本号和服务器端版本号,通过比较判断出当前的客户端应用程序是否需要升级,并在需要升级时将服务器端版本号对应的更新文件下载到客服端,使用更新文件将当前的客户端应用程序的版本升级为服务器端版本号对应的版本,并将修改后的客户端版本号保存到数据库服务器,在需要用户参与判断的情况下,实现了客户端应用程度的自动化全面升级;另外,允许管理人员通过Web服务器访问数据库服务器,读取关系数据库中的客户端应用程序的更新信息,监控各客户端的应用程序的升级情况,实现对客户端应用程序升级的全局管理。


图1为本发明的自动升级应用程序的系统一实施例的示意图2为本发明中的客户端的功能框图3为本发明的自动升级应用程序的系统实现自动升级的工作流程图4为本发明的自动升级应用程序的方法第一实施例的流程图5为本发明的自动升级应用程序的方法第二实施例的流程图。
具体实施方式
以下结合附图和实施例对本发明作进一步的解释说明。
图1为本发明的自动升级应用程序的系统100 —实施例的示意图,参见图1和图 2,本发明的系统100包括Web服务器110、多个远程的客户端120、数据库服务器130和文件服务器140。客户端通过通信网络,例如局域网、城域网、广域网,连接Web服务器110。数据库服务器130和文件服务器140分别与Web服务器110连接。
其中,Web服务器110用于提供更新文件下载的访问方式,可以采用FTP协议或 HTTP方式下载,根据网络带宽、安全性、性能等 因素来选择。例如采用HTTP多线程的下载方式,采用这种方式的主要原因是HTTP协议简单快速,可自定义每次下载的数据包大小,而且允许传输任意类型的数据对象。
数据库服务器130包括关系数据库,关系数据库包括客户端应用程序的版本信息和客户端应用程序的更新信息。其中,客户端应用程序的版本信息包括客户端的系统号、客户端应用程的服务器端版本号、该版本的客户端程序的起始日期和终止日期(服务器端版本号对应的客户端应用程序的起始日期和终止日期)、修改内容(该版本的客户端应用程序较钱版本所作的改进)、更新文件的存放路径、以及发布人。客户端应用程序的更新信息还包括客户端120的系统号、客户端120的IP地址、客户端120的计算机名、客户端120的物理位置(计算机的物理地址)、更新标志、客户端应用程序的客户端版本号、以及客户端应用程序最后一次升级完成的时间。
文件服务器140用于存储将客户端应用程序升级为与服务器端版本号对应的版本所需的更新文件。
客户端120包括升级组件121。图3为本发明的自动升级应用程序的系统100实现自动升级的工作流程图(以HTTP方式为例),如图3所示,当客户端120启动客户端应用程序时,客户端应用程序调用升级组件121,此时,客户端应用程序还未执行。升级组件121 读取本地的配置文件,本地配置文件中包括用于连接数据库服务器130的关系数据库的配置信息以及客户端应用程序当前的客户端版本号,即当前应用程序的版本号。升级组件121 根据用于连接数据库服务器130的关系数据库的配置信息,通过Web服务器110访问数据库服务器130,获取关系数据库中存储的客户端应用程序的服务器端版本号。
升级组件121判断获取的服务器端版本号和客户端版本号是否相同,以此来确定是否进行升级。在一个应用程序发布以后,每个客户端发布初始时都是一个基线版本,如 V1. O。在服务器升级后,版本型号发生变化,产生V1. UVl. 2等等诸如此类的版本(注第I 个数字表示主版本.第2个数字表示次版本,一般重大更新和改进.才会升级主版本号)。 客户端根据版本型号高低确定当前客户端应用程序是否需要升级。
如果服务器端版本号和客户端版本号相同,代表当前的客户端应用程序为最新版本,无需升级,此时将直接执行客户端应用程序,优选地,同时升级组件121关闭。如果两者不相同,代表当前的客户端应用程序需要升级,升级组件121通过Web服务器110访问数据库服务器130,获取更新文件的存放路径,并通过Web服务器110根据更新文件的存放路径访问文件服务器140,将与服务器版本号对应的更新文件下载到客户端120。其中,升级组件121将更新文件下载到客户端120 —个临时应用程序目录下,这样避免了共享冲突的问题。
更新文件下载完成后,升级组件121使用更新文件升级客户端当前版本的应用程序,并将客户端版本号修改为与服务器端版本号一致,通过Web服务器110访问数据库服务器130,标记更新标志,将新的客户端版本号存储到关系数据库中,以替换原来的客户端版本号。即将客户端本地的下载信息记录到数据库服务器130的日志上,以避免重复升级。
其中,升级组件121使用更新文件升级客户端当前版本的应用程序的具体过程为将下载的更新文件复制到客户端相应的目录下,替换原有旧的程序文件。另外,复制完成后销毁临时应用程序目录下的更新文件。升级完成后,升级后的客户端应用程序将被执行。
本发明的系统100,允许管理人员通过Web服务器访问数据库服务器130,读取关系数据库中的客户端应用程序的更新信息,监控各客户端120的应用程序的升级情况,实现对客户端应用程序升级的全局管理。
其本发明的系统100的其他实施例中,还可以编写用于实现升级组件121功能的程序,并写入客户端应用程序中。同样的,当启动客户端应用程序时,客户端应用程序会调用用于实现升级组件121功能的程序实现类似的功能。
图4为本发明的自动升级应用程序的方法第一实施例的流程图,如图4所示,在本实施例中,本发明的方法包括以下步骤
S1、升级组件121通过Web服务器110访问数据库服务器130,获取所述数据库服务器130存储的客户端应用程序的服务器端版本号;
S2、升级组件121读取客户端120本地配置文件,获取客户端应用程序当前的客户端版本号;
S3、升级组件121判断服务器端版本号和所述客户端版本号是否相同,并在两者不相同时通过Web服务器110访问文件服务器140,将与服务器版本号对应的更新文件下载到客户端120 ;
S4、升级组件121使用下载的更新文件升级所述客户端应用程序,并将客户端版本号修改为与服务器端版本号一致;
S5、升级组件121通过所述Web服务器110,将修改后的客户端版本号存储到所述数据库服务器130。
在本实施例中,步骤S3包括以下步骤S3a、升级组件121判断服务器端版本号和客户端版本号是否相同,若两者相同执行S3b,否则执行S3c ;S3b、执行客户端应用程序; S3c、升级组件121通过Web服务器110访问文件服务器140,将与服务器版本号对应的更新文件下载到客户端120。
其中,步骤S3c包括以下步骤S3cl、升级组件121通过Web服务器110访问数据库服务器130,获取数据库服务器130存储的与服务器端版本号对应的更新文件的存放路径; S3c2、升级组件121通过Web服务器110,根据更新文件的存放路径访问文件服务器140,将与服务器版本号对应的更新文件下载到客户端120。
数据库服务器130包括关系数据库,关系数据库包括客户端应用程序的更新信息和客户端应用程序的更新信息,其中,客户端应用程序的更新信息包括客户端的系统号、客户端应用程序的服务器端版本的号、服务器端版本号对应的客户端应用程序的起始日期和终止日期、修改内容、以及发布人。客户端应用程序的更新信息包括客户端120的系统号、 客户端120的IP地址、客户端120的计算机名、客户端120的物理位置、更新标志、客户端应用程序的客户端版本号、以及最后一次升级完成的时间。
在步骤S5中,升级组件121通过所述Web服务器110将修改后的客户端版本号存储到数据库服务器130,以替换客户端应用程序的客户端应用程序的客户端版本号。
图5为本发明的自动升级应用程序的方法第二实施例的流程图,如图5所示,在本实施例中,在步骤Si之前还包括步骤so、启动客户端应用程序,客户端应用程序调用升级组件121。本发明的方法还包括步骤S6、升级组件121删除下载的更新文件。
在本实施例中, 其余情况与本发明的自动升级应用程序的方法第一实施例相同, 在此不再赘述。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。另外,本发明各实施例中的技术特征可以单独使用,也可以组合使用。并且,本发明的方法中记载的步骤的顺序并不 用于限制本发明,例如,步骤SI和S2的顺序可以调换,步骤S5和S6的顺序可以调换等。
权利要求
1.一种自动升级应用程序的方法,其特征在于,包括以下步骤51、客户端(120)的升级组件(121)通过Web服务器(110)访问数据库服务器(130),获取所述数据库服务器(130)存储的客户端应用程序的服务器端版本号;52、所述升级组件(121)读取客户端(120)本地配置文件,获取客户端应用程序当前的客户端版本号;53、所述升级组件(121)判断所述服务器端版本号和所述客户端版本号是否相同,并在两者不相同时通过所述Web服务器(110 )访问文件服务器(140 ),将与所述服务器版本号对应的更新文件下载到客户端(120);54、所述升级组件(121)使用下载的更新文件升级所述客户端应用程序,并将所述客户端版本号修改为与所述服务器端版本号一致;55、所述升级组件(121)通过所述Web服务器(110),将修改后的客户端版本号存储到所述数据库服务器(130)。
2.根据权利要求1所述的自动升级应用程序的方法,其特征在于,步骤S3包括以下步骤S3a、所述升级组件(121)判断所述服务器端版本号和所述客户端版本号是否相同,若两者相同执行S3b,否则执行S3c ;S3b、执行所述客户端应用程序;S3c、所述升级组件(121)通过所述Web服务器(110)访问所述文件服务器(140),将与所述服务器版本号对应的更新文件下载到客户端(120)。
3.根据权利要求2所述的自动升级应用程序的方法,其特征在于,步骤S3c包括以下步骤S3cl、所述升级组件(121)通过所述Web服务器(110)访问所述数据库服务器(130), 获取所述数据库服务器(130)存储的与所述服务器端版本号对应的更新文件的存放路径; S3c2、所述升级组件(121)通过所述Web服务器(110),根据所述更新文件的存放路径访问所述文件服务器(140),将与所述服务器版本号对应的更新文件下载到客户端(120)。
4.根据权利要求3所述的自动升级应用程序的方法,其特征在于,所述客户端应用程序的更新信息还包括客户端的系统号、所述服务器端版本号对应的客户端应用程序的起始日期和终止日期、修改内容、以及发布人;所述客户端应用程序的更新信息还包括客户端(120)的系统号、客户端(120)的IP地址、客户端(120)的计算机名、客户端(120)的物理位置、更新标志、客户端应用程序的客户端版本号、以及最后一次升级完成的时间;在步骤S5中,所述升级组件(121)通过所述Web服务器(110)将修改后的客户端版本号存储到所述数据库服务器(130),以替换所述客户端应用程序的客户端应用程序的客户端版本号。
5.根据权利要求1所述的自动升级应用程序的方法,其特征在于,所述方法在步骤SI 之前还包括步骤S0、启动所述客户端应用程序,所述客户端应用程序调用所述升级组件(121)。
6.根据权利要求1所述的自动升级应用程序的方法,其特征在于,所述方法还包括步骤56、所述升级组件(121)删除下载的更新文件。
7.一种自动升级应用程序的系统,包括Web服务器(110)、以及通过通信网络与所述 Web服务器(110)连接的客户端(120),其特征在于,所述自动升级应用程序的系统还包括数据库服务器(130),其与所述Web服务器(110)连接,其包括关系数据库,所述关系数据库包括客户端应用程序的版本信息,所述客户端应用程序的版本信息包括服务器端版本号;以及文件服务器(140 ),其与所述Web服务器(110 )连接,用于存储更新文件;所述客户端(120)还包括升级组件(121 ),所述升级组件(121)通过所述Web服务器 (110)访问所述数据库服务器(130),获取客户端应用程序的所述服务器端版本号,所述升级组件(121)读取客户端(120)本地配置文件,获取客户端应用程序当前的客户端版本号, 所述升级组件(121)判断所述服务器端版本号和所述客户端版本号是否相同,并在两者不相同时通过所述Web服务器(110 )访问所述文件服务器(140 ),将与所述服务器版本号对应的更新文件下载到所述客户端(120),使用下载的更新文件升级所述客户端应用程序,并将所述客户端版本号修改为与所述服务器端版本号一致。
8.根据权利要求7所述的自动升级应用程序的系统,其特征在于,所述关系数据包还包括客户端应用程序的更新信息,所述客户端应用程序的更新信息包括客户端应用程序的客户端版本号;所述客户端应用程序的版本信息还包括更新文件的存放路径;所述升级组件(121)在所述服务器端版本号和所述客户端版本号不相同时,通过所述Web服务器 (110)访问所述数据库服务器(130),获取所述更新文件的存放路径,并通过所述Web服务器(110),根据所述更新文件的存放路径访问所述文件服务器(140),将与所述服务器版本号对应的更新文件下载到所述客户端(120)。
9.根据权利要求8所述的自动升级应用程序的系统,其特征在于,所述客户端应用程序的更新信息还包括客户端的系统号、所述服务器端版本号对应的客户端应用程序的起始日期和终止日期、修改内容、以及发布人;所述客户端应用程序的更新信息还包括客户端(120)的系统号、客户端(120)的IP地址、客户端(120)的计算机名、客户端(120)的物理位置、更新标志、客户端应用程序的客户端版本号、以及最后一次升级完成的时间。
10.根据权利要求9所述的自动升级应用程序的系统,其特征在于,所述升级组件(121)通过所述Web服务器(110),将修改后的客户端版本号存储到所述数据库服务器 (130),以更新所述客户端应用程序的更新信息中的客户端版本号。
全文摘要
本发明公开了一种自动升级应用程序的方法和系统,系统包括包含升级组件的客户端、Web服务器、数据库服务器和文件服务器。方法包括S1、升级组件通过Web服务器获取数据库服务器存储的客户端应用程序的服务器端版本号;S2、升级组件获取客户端应用程序当前的客户端版本号;S3、升级组件判断服务器端版本号和客户端版本号是否相同,并在不同时通过Web服务器访问文件服务器,将更新文件下载到客户端;S4、升级组件使用更新文件升级客户端应用程序,并修改客户端版本号;S5、升级组件将修改后的客户端版本号存储到数据库服务器。实现升级的自动判断及执行,且允许管理人员查看各客户端的应用程序版本的更新情况。
文档编号G06F9/445GK103067484SQ201210570429
公开日2013年4月24日 申请日期2012年12月25日 优先权日2012年12月25日
发明者郭旭斌, 黄辉, 林方湖, 王海群, 吴隆萍, 王天星, 任钢, 卢建新, 甘小东, 王佳 申请人:深圳市天维尔通讯技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1