软件在线升级的方法、装置及系统.pdf

上传人:小** 文档编号:1025372 上传时间:2018-03-26 格式:PDF 页数:13 大小:620.40KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910108115.1

申请日:

2009.06.23

公开号:

CN101593121A

公开日:

2009.12.02

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

G06F9/445; H04L29/06

主分类号:

G06F9/445

申请人:

中兴通讯股份有限公司

发明人:

周 轶

地址:

518057广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明公开了一种软件在线升级的方法、装置及系统,该方法包括:当客户端主机检测到本地软件符合服务器端主机软件升级要求时,所述客户端主机下载所述服务器端主机的升级包到本地,所述升级包的下载完成后,所述客户端主机启动已下载的升级包中的安装器对所述本地软件进行升级。采用本发明的技术方案后,通过客户端主机下载服务器端主机的升级包到本地并启动已下载的升级包中的安装器对软件进行升级,可以使软件的升级具备更好的扩展性、灵活性和永久性,并提高了软件产品的生命周期。

权利要求书

1、  一种软件在线升级方法,其特征在于,所述方法包括:
当客户端主机检测到本地软件符合服务器端主机软件升级要求时,所述客户端主机下载所述服务器端主机的升级包到本地,所述升级包的下载完成后,所述客户端主机启动已下载的升级包中的安装器对所述本地软件进行升级。

2、
  如权利要求1所述的方法,其特征在于,所述启动已下载的升级包中的安装器对软件进行升级具体包括:
所述客户端主机运行本地软件中的旧版本卸载器,对本地软件中的功能模块进行卸载并提示安装器卸载进度,卸载完成后,所述客户端主机启动所述已下载的升级包中的安装器对新版本功能模块和新版本卸载器进行安装。

3、
  如权利要求2所述的方法,其特征在于,所述旧版本卸载器根据所述客户端主机本地的软件结构编辑而成,所述旧版本卸载器在保留本地用户信息的条件下能够完成本地软件功能模块的卸载或通知所述安装器当前卸载的进度。

4、
  如权利要求2所述的方法,其特征在于,所述安装器根据所述服务器端主机升级包中的软件结构编辑而成,所述安装器能够将升级包中的新版本功能模块或/和新版本卸载器安装到所述客户端主机上。

5、
  如权利要求3所述的方法,其特征在于,所述旧版本卸载器通过命名管道通知所述安装器当前卸载的进度。

6、
  如权利要求4或5所述的方法,其特征在于,所述软件结构包括功能模块和数据模块,所述功能模块用于实现该软件的基本功能,所述数据模块用于提供该软件在功能实现过程中所需要的本地配置数据以及执行过程中的用户保留数据。

7、
  如权利要求6所述的方法,其特征在于,所述客户端主机或服务器端主机的操作系统为MacOS、Windows或Linux。

8、
  一种软件在线升级装置,其特征在于,所述装置包括依次连接的新版本功能模块、新版本卸载器和安装器,其中,
新版本功能模块,用于软件升级后实现新版本的基本功能;
新版本卸载器,用于对升级后的版本进行卸载;
安装器,用于实现所述新版本功能模块和新版本卸载器的安装。

9、
  一种软件在线升级系统,包括客户端主机和服务器端主机,其特征在于,所述客户端主机包括依次连接的功能模块、数据模块和旧版本下载器,所述服务器端主机包括软件升级包,该升级包包括依次连接的新版本功能模块、安装器和新版本卸载器;其中,
所述功能模块用于实现该软件的基本功能;
所述数据模块用于提供该软件在功能实现过程中所需要的本地配置数据以及执行过程中的用户保留数据;
所述旧版本卸载器用于卸载本地软件中的所述功能模块;
所述新版本功能模块用于软件升级后实现新版本的基本功能;
所述安装器用于实现所述新版本功能模块和新版本卸载器的安装;
所述新版本卸载器用于对升级后的版本进行卸载。

10、
  如权利要求9所述的系统,其特征在于,所述客户端主机或服务器端主机的操作系统为MacOS、Windows或Linux。

说明书

软件在线升级的方法、装置及系统
技术领域
本发明涉及软件技术和计算机网络技术,尤其涉及一种软件在线升级的方法、装置及系统。
背景技术
随着软件和Internet的迅速发展,越来越多的软件支持网络在线升级功能。该功能不仅增加了软件的扩展性和灵活性,而且提高了软件的生命周期,甚至给整个世界的软件行业带来了巨大的冲击,因为它改变了软件开发的传统设计理念。过去的全功能一步到位的软件设计理念已经不再提倡,而具有良好扩展性、可以不断升级的软件设计理念已经成为软件发展的主流。可以预见,未来支持网络在线升级功能的产品在市场上将更受欢迎。
因此,谁能够使自己的软件产品更长时间的支持在线升级功能,谁就能够更持久的占领市场。但是,由于传统的软件在设计之初为了保证升级包的永久适应性(即任意时期的软件版本均可以通过在线升级方式升级成最新的版本),一般采用以下两种升级方式,一种是将软件与升级包的内部结构固定,升级时只需将升级包中的新模块覆盖本地软件的旧模块即可完成升级,但这样限制了软件后续版本的扩展性和灵活性。另一种是不固定软件和升级包的内部结构,但需要对每个旧版本软件专门制作适合的升级包,继而在升级时对每个旧版本软件使用不同的升级包进行升级。第二种升级方式虽然在扩展性和灵活性上有所改善,但同样存在一些问题。首先,升级包制作过于复杂,并且复杂度会随着版本的增多而加大。其次,由于每个升级版本都要针对以往的所有软件版本制作对应的升级包,这样随着软件版本的增多升级包的数量也会成倍增加,给升级服务器造成巨大的负荷。最后,由于升级包的数量和种类过多,使升级包的管理也将随着版本的增多而愈加困难。
发明内容
本发明所要解决的技术问题是提供一种软件在线升级的方法、装置及系统,使用户在联网状态下,可以通过Internet网络永久的对软件产品进行灵活的升级。
为了解决上述技术问题,本发明提供了一种软件在线升级方法,包括:
当客户端主机检测到本地软件符合服务器端主机软件升级要求时,所述客户端主机下载所述服务器端主机的升级包到本地,所述升级包的下载完成后,所述客户端主机启动已下载的升级包中的安装器对所述本地软件进行升级。
进一步地,上述方法中,所述启动已下载的升级包中的安装器对软件进行升级具体包括:所述客户端主机运行本地软件中的旧版本卸载器,对本地软件中的功能模块进行卸载并提示安装器卸载进度,卸载完成后,所述客户端主机启动所述已下载的升级包中的安装器对新版本功能模块和新版本卸载器进行安装。
进一步地,上述方法中,所述旧版本卸载器根据所述客户端主机本地的软件结构编辑而成,所述旧版本卸载器在保留本地用户信息的条件下能够完成本地软件功能模块的卸载或通知所述安装器当前卸载的进度。
进一步地,上述方法中,所述安装器根据所述服务器端主机升级包中的软件结构编辑而成,所述安装器能够将升级包中的新版本功能模块或/和新版本卸载器安装到所述客户端主机上。
进一步地,上述方法中,所述旧版本卸载器通过命名管道通知所述安装器当前卸载的进度。
进一步地,上述方法中,所述软件结构包括功能模块和数据模块,所述功能模块用于实现该软件的基本功能,所述数据模块用于提供该软件在功能实现过程中所需要的本地配置数据以及执行过程中的用户保留数据。
进一步地,上述方法中,所述客户端主机或服务器端主机的操作系统为MacOS、Windows或Linux。
为了解决上述技术问题,本发明还提供了一种软件在线升级装置,该装置包括依次连接的新版本功能模块、新版本卸载器和安装器,其中,新版本功能模块用于软件升级后实现新版本的基本功能,新版本卸载器用于对升级后的版本进行卸载,安装器用于实现所述新版本功能模块和新版本卸载器的安装。
为了解决上述技术问题,本发明还提供了一种软件在线升级系统,包括客户端主机和服务器端主机,客户端主机包括依次连接的功能模块、数据模块和旧版本下载器,服务器端主机包括软件升级包,该升级包包括依次连接的新版本功能模块、安装器和新版本卸载器,其中:
所述功能模块用于实现该软件的基本功能;
所述数据模块用于提供该软件在功能实现过程中所需要的本地配置数据以及执行过程中的用户保留数据;
所述旧版本卸载器用于卸载本地软件中的所述功能模块;
所述新版本功能模块用于软件升级后实现新版本的基本功能;
所述安装器用于实现所述新版本功能模块和新版本卸载器的安装;
所述新版本卸载器用于对升级后的版本进行卸载。
进一步地,上述系统中,客户端主机或服务器端主机的操作系统为MacOS、Windows或Linux。
本发明所公开的技术方案,通过客户端主机下载服务器端主机的升级包到本地并启动已下载的升级包中的安装器对软件进行升级,可以使软件的升级具备更好的扩展性、灵活性和永久性,并提高了软件产品的生命周期。
附图说明
图1是本发明实施例客户端软件卸载器的执行过程流程图;
图2是本发明实施例下载到本地客户端升级包中的安装器的执行流程图;
图3是本发明实施例客户端软件在线升级过程的流程图;
图4是本发明实施例软件在线升级系统示意图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及实施例,对本发明提出的一种软件在线升级的方法、装置及系统,进行详细说明。
在本发明实施例中,以无线数据上网数据卡在MacOS(Mac OperatingSystem,是苹果公司开发的一种图形用户界面操作系统的简称)操作系统上的终端软件为例,并结合附图对技术方案的实施作详细的描述。
针对无线数据上网数据卡的终端软件,通过如下步骤来完成本发明实施例中的升级功能:
1、根据当前数据卡终端软件的功能模块结构设计、编写对应的卸载器程序,使该卸载器可以在保留本地用户信息的条件下完成本地软件功能模块的卸载。同时,该卸载器还必须拥有通知调用者当前卸载进度的功能。在本实施例中,使用管道来完成这一功能。
2、在数据卡终端软件的主程序中加入Http协议交互模块、XML文件操作模块和ftp下载功能模块,分别用于客户端与服务器端的版本信息交互和升级包下载。
3、将数据卡终端软件的主程序与卸载器放在“/Application”目录下,将用户的相关信息以plist文件格式的形式存放在“/System/Library/ModemList/User”目录下,将当前软件版本相关的一些配置信息以plist文件格式的形式存放在“/System/Library/ModemList/Version”下。
4、根据当前软件升级包中的功能模块结构设计、编写对应的安装器,使该安装器可以将升级包中的功能模块和新版本卸载器安装到本地。同时,该安装器还必须拥有本地卸载器的调用、卸载进度监控、安装进度控制等功能。
5、将升级过程中所需要的功能模块和新版本卸载器放入升级包的Function子目录中,同时将安装器放入升级包的Install子目录中。
6、在服务器端启动ftp服务进程和对应的Http协议交互进程,以配合客户端升级包的下载。
图1为本发明实施例客户端软件卸载器的运行过程流程图,包括如下步骤:
步骤101,通过参数获得命名管道的名称并建立命名管道连接;
在该实施例中,命名管道用来将当前的卸载进度等情况通知给升级包中的安装器。
步骤102,检查本地升级配置文件中的卸载状态标志UninstallFlag值,如果UninstallFlag值为True则执行步骤106,否则执行步骤103;
步骤103,根据保存在本地的卸载配置单开始进行卸载;
步骤104,卸载过程中,将本地的卸载进度实时的保存在本地卸载配置单中并同时上报给安装器;
步骤105,卸载完成,改变本地升级配置文件中的卸载状态标志UninstallFlag值为True;
步骤106,通过管道通知安装器完成卸载并退出卸载过程。
在MacOS系统主机下,客户端软件中卸载器的具体开发如下:
1、通过参数获得命名管道的名称并建立命名管道连接。命名管道用来将当前的卸载进度等情况通知给升级包中的安装器。
2、对MacOS操作系统中“/System/Library/ModemList/Version/[版本号]Uninstall_Info.plist”文件进行操作,并将当前的卸载状态和进度记录在该文件中。该文件将用于当卸载被意外终止时,用户再次启动升级程序后,卸载器仍可以根据本地的卸载信息继续卸载进程。
3、结束终端软件所涉及的相关进程,并删除“/Application”目录下的相关可执行文件。
4、在程序的每一个重要步骤执行后,都将当前的卸载信息记录在名为“[版本号]Uninstall_Info.plist”文件中,并通过管道通知给升级包中的安装器。
5、当卸载完成后,自动结束自身进程。
图2为本发明实施例下载到本地客户端升级包中的安装器的执行流程图,包括如下步骤:
步骤201,检查本地升级配置文件中的升级状态标志值,如果标志值为1则执行步骤202,如果标志值为0则执行步骤203,如果标志值为-1则执行步骤204;
步骤202,根据保存在本地的升级配置单继续进行升级流程;
步骤203,将升级包删除,并从开机启动项中删除安装器运行项;
步骤204,将升级状态标志值赋为1,开始升级;
步骤205,在开机启动项中加入安装器运行项;
步骤206,启动本地卸载器并以参数的形式将管道名传递给卸载器,以实时监控本地卸载情况;
步骤207,当监控到卸载完成后,对升级包中的功能模块进行安装;
步骤208,完成功能模块安装后,对升级包中的新卸载器进行安装;
步骤209,修改本地版本信息文件中卸载器的新名称及路径;
步骤210,将升级状态标志值赋为0,升级成功。
因升级包中安装器的执行需要在系统主机侧进行软件设计,在MacOS系统主机下,升级包中安装器的具体开发如下:
1、建立命名管道。该管道用来接收卸载器卸载进度情况。
2、对MacOS操作系统中“/System/Library/ModemList/Version/[版本号]Update_Info.plist”文件进行操作,并将当前的升级状态和进度记录在该文件中。该文件将用于当升级包安装过程被意外终止时,用户再次启动升级程序后,安装器仍可以根据本地的升级信息继续升级包的安装过程。
3、当名为“[版本号]Update_Info.plist”文件中的“UpdateFlag”值为-1(未升级)时,将自身加入到系统的开机启动项中。当“UpdateFlag”值为1(正在升级中)时,将根据文件中的升级进度记录,继续进行升级包的安装过程。当“UpdateFlag”值为0(升级成功)时,删除本地升级包,将自身从开机启动项中删除,并结束自身进程。
4、对本地“/System/Library/ModemList/Version/[版本号]Update_Info.plist”文件进行操作,并获得本地卸载器路径。通过该路径,启动卸载器,并以参数的形式将命名管道的名称传递给卸载器,开始卸载进程。同时,启动监控线程,通过命名管道获得卸载器的卸载进度情况。
5、当卸载器完成卸载任务后,将升级包中新版本的可执行程序、卸载器等复制到“/Application”目录下,将新版本相关版本信息配置文将复制到“/System/Library/ModemList/Version”目录下。最后,对该新可执行程序的权限、开机启动项等进行相关设置。
6、在程序的每一个重要步骤执行后,都将当前的升级包安装信息记录在“[版本号]Update_Info.plist”文件中。
7、当升级包安装完成后,自动结束自身进程。
图3为本发明实施例客户端软件在线升级过程的流程图,包括如下步骤:
步骤301,检查本地软件版本状态和网络状态是否符合升级要求,如果符合升级要求则执行步骤302,否则就不升级,结束流程;
步骤302,与服务器端进行交互,获得所需升级包的地址;
步骤303,从服务器下载升级包到本地;
步骤304,启动升级包中的安装器,开始升级。
其中,步骤304具体包括:
(1)客户端运行本地软件中的旧版本卸载器,对本地软件中的功能模块进行卸载并提示安装器卸载进度,直到卸载完成;
(2)客户端启动所述已下载的升级包中的安装器对新版本功能模块和新版本卸载器进行安装。
图4为本发明实施例软件在线升级系统示意图,该系统包括客户端主机和服务器端主机。客户端主机包括依次连接的功能模块、数据模块和旧版本卸载器,功能模块用于实现该软件的基本功能,数据模块用于提供该软件在功能实现过程中所需要的本地配置数据以及执行过程中的用户保留数据,旧版本卸载器用于卸载本地软件中的所述功能模块;服务器端主机包括软件升级包,该升级包包括新版本功能模块、安装器和新版本卸载器,新版本功能模块用于软件升级后实现新版本的基本功能,安装器用于实现所述新版本功能模块和新版本卸载器的安装,新版本卸载器用于对升级后的版本进行卸载。
其中,在本实施例中,以数据卡终端软件和杀毒软件为例,数据卡终端软件的基本功能主要包括:拨号上网、短信收发、电话记录和语音通话等。杀毒软件的基本功能主要包括:实时监控、病毒扫描、病毒处理、系统恢复等。当然,客户端主机或服务器端主机的操作系统可以为MacOS、Windows或Linux。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

软件在线升级的方法、装置及系统.pdf_第1页
第1页 / 共13页
软件在线升级的方法、装置及系统.pdf_第2页
第2页 / 共13页
软件在线升级的方法、装置及系统.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《软件在线升级的方法、装置及系统.pdf》由会员分享,可在线阅读,更多相关《软件在线升级的方法、装置及系统.pdf(13页珍藏版)》请在专利查询网上搜索。

本发明公开了一种软件在线升级的方法、装置及系统,该方法包括:当客户端主机检测到本地软件符合服务器端主机软件升级要求时,所述客户端主机下载所述服务器端主机的升级包到本地,所述升级包的下载完成后,所述客户端主机启动已下载的升级包中的安装器对所述本地软件进行升级。采用本发明的技术方案后,通过客户端主机下载服务器端主机的升级包到本地并启动已下载的升级包中的安装器对软件进行升级,可以使软件的升级具备更好的扩。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1