[发明专利]一种网络应用程序的增量升级系统及升级方法有效
申请号: | 200710076096.X | 申请日: | 2007-07-24 |
公开(公告)号: | CN101094229A | 公开(公告)日: | 2007-12-26 |
发明(设计)人: | 马国强 | 申请(专利权)人: | 深圳市融合视讯科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F9/445 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518040广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网络 应用程序 增量 升级 系统 方法 | ||
技术领域
本发明涉及软件应用领域,尤其是涉及一种网络应用程序的增量升级系统及升级方法。
背景技术
一般的网络应用程序发布后,在生命期间内,可能要经常进行升级,升级中包含程序本身的升级及程序所调用的数据库的升级,其中在程序升级时,一般的作法是将整个程序下载到客户端后替换原来的程序,但这样会引发不少问题,如程序体积较大时,下载过程很长,如果是用手机在一些无线网络环境中下载,因受网络带宽及稳定性的限制,大程序的下载可能无法进行。其实,大量的应用程序的升级版本,也只是对原版本中的部分代码作了增删或修改,将整个程序下载安装就存在着资源的重复及浪费。尤其是有些新发布的网络应用程序,可能在试用期内会频繁升级,这种整个程序下载升级的方式更是变得在实施上困难重重。为解决这个问题,也有的网络程序是通过打补丁的方式实现增量升级,如WINDOWS的升级方式就是最典型的。但这种升级方式会导致系统中的文件越来越多,系统体积越来越庞大,而且废弃的文件也会越来越多,最后会导致系统过于庞大而稳定性及运行效率变差。在手机等移动终端广泛应用的今天,通过移动网络来下载并升级应用程序将会是大势所趋,如果仍然用传统的方法进行升级,必然会导致下载过程漫长、用户下载的流量费用过高的弊端。因此在网络程序的升级中,如何占用最小的资源实现快速下载升级,成为有待解决的问题。
发明内容
本发明为解决在较小带宽环境下,对客户端应用程序的快速下载升级的问题,提供一种网络应用程序的增量升级系统,包括客户端应用程序及升级服务器,应用程序由一个以上的模块单元组成,为了达到较好的效果,将经常需要升级的这种模块单元的体积设计得尽量小,这些模块单元间彼此独立存在并执行特定的任务,这些模块单元间通过统一的数据协议来交换信息;所述的服务器上有应用程序所对应的升级模块;应用程序中还包括升级控制模块及升级检测模块,当升级检测模块检测到应用程序需要升级时,升级控制模块只对需要升级的模块单元进行更新,或增加新的模块单元,或删除已有的模块单元。
上述的网络应用程序的增量升级系统的升级方法包括如下步骤:
步骤1:升级检测模块检测应用程序的升级触发条件,如果条件满足,启动应用程序的升级过程;
步骤2:应用程序的升级控制模块从升级服务器上下载对应的升级模块;
步骤3:升级控制模块按下述条件执行应用程序的升级过程,升级过程可在应用程序运行期间进行:
如果下载的升级模块在应用程序中不存在时,新增加为应用程序的模块单元;
如果下载的升级模块在应用程序中存在时,用下载的升级模块替换应用程序中原模块单元;
如果下载的升级模块是删除应用程序中特定模块单元的指令时,删除应用程序中的特定模块单元。
上述的升级触发条件为升级检测模块启动后,检测到升级服务器上出现应用程序的某个模块单元对应的新的升级模块。其中,升级检测模块的启动条件为下面3个条件中的任意一个:
(1)升级服务器上出现应用程序的新的升级模块时,升级服务器向客户端发送升级检测指令,客户端应用程序接受到升级检测指令后,将升级指令传给升级控制模块,由升级控制模块启动升级检测模块;
(2)由升级控制模块周期性地启动升级检测模块;
(3)应用程序启动后自动启动升级检测模块。
上述的新的升级模块的判断方法步骤为:
1)应用程序首次发布时,为每个模块单元赋予一个初始时间戳,应用程序被下载到客户端安装时,每个模块单元的初始时间戳不变;
2)升级服务器上发布每个升级模块时,为每个升级模块赋予一个更新时间戳,该升级模块被下载到客户端对应用程序升级时,升级后的模块单元采用原升级模块的更新时间戳;
3)升级检测模块在检测新的升级模块时,提取升级服务器上的各升级模块的更新时间戳,与本客户端应用程序中的对应模块单元的更新时间戳进行比较,如果发现有本客户端应用程序中的对应模块单元的更新时间戳所表示的时间早于对应的升级模块的更新时间戳,则该升级模块为新的升级模块,可进行下载升级。
在上述的升级过程中,如果应用程序运行期间正在调用被升级的模块单元时,升级控制模块自动检测被升级的模块单元的调用状态,当调用结果时,自动执行升级过程。如果应用程序运行期间一直调用被升级的模块单元时,在应用程序关闭后或下次启动后自动执行升级过程。
本发明可带来如下有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市融合视讯科技有限公司,未经深圳市融合视讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710076096.X/2.html,转载请声明来源钻瓜专利网。