一种Client/Server架构下软件自动升级更新的方法

文档序号:6590113阅读:426来源:国知局
专利名称:一种Client/Server架构下软件自动升级更新的方法
技术领域
本发明涉及计算机技术领域中软件升级更新的方法,尤其涉及一种Client/Server架构下软件自动升级更新的方法。
背景技术
在client/server架构中,客户端(client端)的应用软件经常需要进行升级更新,传统的方法是用户手工连接ftp服务器,利用ftp将所需软件下载到本地完成更新,但这种做法有以下几个缺点。
1.对客户端用户要求较高,客户端用户必须是会使用一些常规ftp命令的比较专业的人士;2.操作比较复杂,容易出错;3.下载前要通知客户端用户下载哪几个模块,一是费时费力,二是容易下载错文件或遗漏文件。
由于客户端用户大部分属非计算机专业人士,该方法在很多实际情况中都缺乏可行性。
另一种比较流行的软件更新方法是在服务器端(server端)建立web站点,将需要更新的软件放在服务器上并在web页上设置导向该软件的链接,用户只需在该web站点点击该链接即可下载。与上一个方法相比,下载的操作简单了,也不需要太专业的技术,但该方法也存在着以下几个缺点。
1.要建立一个web站点,增加了时间和经费的开销;2.软件下载前需要通知用户到哪个站点下载哪个软件,比较麻烦;3.对于某些不熟悉web操作的用户来说,这种方法也比较难操作。

发明内容
针对以上传统方法存在的一些缺点,本发明的目的是提供一种软件自动更新升级的方法,本方法使客户端用户不通过复杂的步骤和相应的专业技术就能很方便地进行软件更新,同时使新版软件发布者的软件发布步骤得以简单化,从而提高效率。
本发明是通过下面的方法实现的首先,在服务器端的数据库中建立两张表,一张表称为地址表用于保存ftp服务器的ip地址,这样,即使ftp服务器变了,只要修改数据库地址表中的数据即可,而不需要修改程序。而另一张表称为版本信息表,用于保存软件的最新版本信息。
在ftp服务器上放置最新版本的软件和多个个体ftp脚本代码。每个个体ftp脚本代码与相关子系统一一对应,其中包含的信息是需要下载的应用软件的名称和该软件在服务器端的存放路径,个体ftp脚本代码中的内容由软件发布者来定,如所需下载软件在服务器端的存放路径,以及要下载哪些文件,可以根据软件发布者的需要灵活变化。
在客户端上,客户使用的应用软件中包含了该软件自身的版本号,该软件能够进行版本号的比较。客户端上还放了一个自动升级程序和公用ftp脚本代码。这两部分是公用的,其代码内容是不变的。自动升级程序中包含了执行公用ftp脚本代码和个体ftp脚本代码的部分。
系统实现自动升级更新的具体步骤如下a.自动升级前的准备将最新版本的应用软件放在ftp服务器上,软件中包含了自身的最新版本号;同时把最新的个体ftp脚本代码也放在ftp服务器上。在数据库的版本信息表中存放与最新版应用软件中包含的版本号相一致的一个软件版本号;b.版本比对过程用户连上服务器后运行应用软件,系统在软件登录过程中从服务器的版本信息表中取出最新版本号和当前使用软件的版本号进行比较,如果当前使用软件的版本号低于所述最新版本号,则执行步骤c,否则执行步骤f;c调用自动升级程序过程系统运行自动升级程序,取得相关子系统的名称,从地址表中取得ftp服务器的ip地址,将他们作为参数传给自动升级程序;同时系统关闭所述应用软件;d下载个体ftp脚本代码过程自动升级程序执行公用ftp脚本代码,用ftp方式从服务器上相应位置下载所有最新的个体ftp脚本代码;e下载应用软件过程自动升级程序根据步骤c中取得的所述相关子系统名称执行相应的个体ftp脚本代码,用ftp方式下载相应的应用软件,从而完成软件升级;
f结束。
本方法成功地解决了客户端应用软件的升级功能,客户端的软件使用者不需要掌握ftp技术,只要运行软件,所有的升级工作由客户端电脑自动完成。此外,对于软件发布者来说,只要把软件放在ftp服务器上,同时修改一下数据库中版本信息表内的版本号即可,操作也比较简单。


图1软件自动更新升级结构图具体实施方式
下面结合附图和实施例来对本发明进行详细说明,本例中Client端有一个1.0版的名称为app1的软件,需要升级到2.0版。
如图1所示,Server端1包括服务器2和ftp服务器3,在服务器2的数据库中建立两张表,表一是地址表,其名称为t_config,用于保存ftp服务器的ip地址;表二是版本信息表,其名称为t_version,用于保存软件的最新版本号的信息,其中包括待更新软件的名称app_name和该软件的最新版本信息号Version,本实施例中版本信息表t_version包含一条记录,其app_name的内容是“app1”,其Version的内容为“2.0”。
在server端1的ftp服务器3上放置2.0版本的app1软件,和一个对应于app1软件的up_app1.ftp文件,即个体ftp脚本代码,该脚本代码的作用是下载app1软件。
在client端4上,有1.0版本的app1软件,还有一个自动升级程序up.bat和公用ftp脚本代码pub.ftp。up.bat中的内容是先调用公用ftp脚本代码pub.ftp,再调用up_app1.ftp。pub.ftp中的内容是从服务器上下载个体ftp脚本代码up_app1.ftp。
当用户连上服务器数据库,运行1.0版本的app1软件时,在软件登录过程中,从服务器的版本信息表t_version中的version字段中取出最新版本号2.0和当前使用的软件的版本号1.0进行比较。因为当前使用的版本号比服务器上t_version中取出的最新版本号小,所以app1软件需要升级,这时就会运行自动升级程序up.bat,同时还得到本子系统名称“app1”,以及从地址表t_config中得到ftp服务器的ip地址,并将这两项作为参数传给up.bat,最后关闭app1软件。
up.bat先调用公用ftp脚本代码pub.ftp,利用ftp方式从ftp服务器3上相应位置下载所有最新的个体ftp脚本代码(其中包括up_app1.ftp)。
up.bat执行完pub.ftp脚本代码后后,继续执行个体ftp脚本代码,由于子系统名称“app1”这一参数已传给了up.bat,因此up.bat只调用与本系统相匹配的个体ftp脚本代码即up_app1.ftp,同时,up_app1.ftp是刚下载的,所以里面的内容是最新的,包含了要下载的app1的存放路径,和所需下载的文件(版本2.0的app1),通过ftp方式下载服务器上的版本2.0的app1,覆盖了本机原有的app1,从而完成升级工作。
权利要求
1.一种Client/Server架构下软件自动升级更新的方法,其特征是,所述方法包括以下步骤a首先将最新版本的应用软件存放在ftp服务器上,软件中包含其最新版本号;将所述最新版本号存放在数据库的版本信息表中;将最新的个体ftp脚本代码也存放在ftp服务器上;b用户连上服务器后运行应用软件,系统在软件登录过程中从所述数据库版本信息表中取出所述最新版本号,如果当前使用软件的版本号低于所述最新版本号,则执行步骤c,否则执行步骤f;c系统运行自动升级程序,取得相关子系统的名称,从地址表中取得ftp服务器的ip地址,将他们作为参数传给自动升级程序;同时系统关闭所述应用软件;d自动升级程序执行公用ftp脚本代码,用ftp方式从服务器上相应位置下载所有最新的个体ftp脚本代码;e自动升级程序根据步骤c中取得的所述相关子系统名称执行相应的个体ftp脚本代码,用ftp方式下载相应的应用软件,从而完成软件升级;f结束。
2.如权利要求1所述的一种Client/Server架构下软件自动升级更新的方法,其特征是,在服务器的数据库中建立两张表,一张为地址表,用于保存ftp服务器ip地址,另一张为版本信息表,用于保存包括软件最新版本号的信息。
3.如权利要求1所述的一种Client/Server架构下软件自动升级更新的方法,其特征是,ftp服务器上事先放置最新版本的软件和多个个体ftp脚本代码,每个个体ftp脚本代码与相关子系统一一对应,包含需要下载的应用软件名称和该软件在服务器端存放的路径。
4.如权利要求1所述的一种Client/Server架构下软件自动升级更新的方法,其特征是,在客户端上,客户使用的应用软件包含了所述版本号,并可以对比版本号;客户端上还有一个自动升级程序和公用ftp脚本代码。
5.如权利要求4所述的一种Client/Server架构下软件自动升级更新的方法,其特征是,所述公用ftp脚本代码中包含了需要下载的个体ftp脚本代码。
6.如权利要求4所述的一种Client/Server架构下软件自动升级更新的方法,其特征是,所述自动升级程序包含了执行所述公用ftp脚本代码和个体ftp脚本代码的部分。
全文摘要
本发明提供一种client/server架构下软件自动升级更新的方法,传统的软件升级更新方法要求客户端软件用户具有一定的专业知识,操作也比较复杂,容易出错,本发明提供的方法对此作出显著改善,应用软件不需要用户手工干预,自动把当前使用的软件版本号与最新版本号加以比较,如必要就自动下载最新软件,从而完成软件的自动升级更新。
文档编号G06F9/445GK1477500SQ0213657
公开日2004年2月25日 申请日期2002年8月19日 优先权日2002年8月19日
发明者薛莉芳, 李光亚, 王巍, 范春, 龙江, 周云, 刘继华, 孙嘉明 申请人:万达信息股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1