应用程序升级系统和应用程序升级方法技术方案

技术编号:8492206 阅读:187 留言:0更新日期:2013-03-28 23:43
本发明专利技术提供了一种应用程序升级系统,包括:服务器和终端,服务器包括:第一判断单元,判断是否存在补丁,若不存在,则判断是否存在等待补丁生成的队列;队列建立单元,用于建立队列;插入单元,将升级请求插入至队列;第一信息收发单元,接收目标文件列表以及升级请求,以及将补丁传输至终端;补丁生成单元,用于生成补丁并进行缓存;终端包括:比较单元,用于生成目标文件列表;第二信息收发单元,将目标文件列表和升级请求发送至服务器并接收补丁。本发明专利技术还提出了一种应用程序升级方法。通过本发明专利技术的技术方案,能够减少应用程序升级过程中的网络带宽的浪费,降低服务器的下载压力,并且可以提高服务器的性能。

【技术实现步骤摘要】

本专利技术涉及数据处理
,具体而言,涉及一种应用程序升级系统和一种应用程序升级方法。
技术介绍
目前,客户端的应用程序在运行中经常遇到版本升级的问题,每当应用程序存在缺陷或者需要添加某些功能时,都需要对客户端上的应用程序进行版本升级。现在升级客户端的应用程序的方法大致分为以下两种一种方法是将新版本的应用程序中包含的所有组成文件做成单个安装程序供客户端下载安装。客户端在与服务器端进行版本对比后下载并运行安装程序,利用新版本应用程序中的所有组成文件对客户端的旧版本应用程序中的所有组成文件进行替换。这种方法会极大地浪费网络带宽资源,随着应用程序功能的不断增强,应用程序升级给服务器带来的下载压力也越来越大。但这种方法的优点在于服务器对于升级操作的处理运算逻辑简单,只需与客户端进行版本对比即可,某种程度上减低了服务器的工作量。另一种方法是首先在客户端将各版本应用程序的所有组成文件的文件名及校验码对应保存在相应的配置文件中,升级时,客户端从服务器下载需要升级版本的应用程序配置文件,将其与本地临时目录中的配置文件进行比对,确定需要更新的组成文件后,从服务器端下载相应组成文件,并将其保存在临时目录中,再将下载的组成文件替换到客户端的应用程序中。这种方法极大地缓解了服务器的下载压力,使用户对于应用程序的升级体验得到很好的提升。但是这种升级方法没有将下载的组成文件进行压缩处理,而是依次单个下载更新组成文件,在碰到用户集中升级时也会对服务器产生一定压力。尤其这种方法应用在企业即时消 息应用程序时,忽略了客户端软件基本或大部分是版本一致的情况,企业用户集中升级时服务器需要多次重复同一操作,降低了服务器的性能。并且从开发角度来看,维护各个版本的应用程序的所有组成文件的文件名及校验码的配置文件也是一件复杂且容易出错的工作。因此,需要一种新的应用程序升级技术,能够减少应用程序升级过程中的网络带宽的浪费,降低服务器的下载压力,并且可以避免服务器为来自不同终端的相同版本的应用程序提供多次相同的升级服务。
技术实现思路
本专利技术正是基于上述问题,提出了一种应用程序升级技术,能够减少应用程序升级过程中的网络带宽的浪费,降低服务器的下载压力,并且可以避免服务器为来自不同终端的相同版本的应用程序提供多次相同的升级服务。有鉴于此,本专利技术提出了一种应用程序升级系统,包括服务器和终端,其中,待升级版本的应用程序安装于所述终端中,目标版本的应用程序存储于所述服务器中,所述服务器包括第一判断单元,用于在第一信息收发单元接收到所述终端的升级请求时,判断是否存在所述待升级版本的应用程序到所述目标版本的应用程序的补丁,若不存在,则判断是否存在等待所述补丁生成的队列;队列建立单元,用于在不存在所述队列的情况下建立所述队列;插入单元,用于在存在所述队列的情况下,或在所述队列建立单元建立所述队列后,将所述升级请求插入至所述队列;所述第一信息收发单元,用于接收目标文件列表以及所述升级请求,并当所述升级请求在所述队列的最前端时或在存在所述补丁的情况下,将所述补丁传输至所述终端;补丁生成单元,用于根据所述目标文件列表从所述目标版本的应用程序中提取相应的组成文件,以生成所述补丁并进行缓存;以及所述终端包括比较单元,用于将所述目标版本的应用程序的配置文件与所述待升级版本的应用程序的配置文件进行对比,以生成所述目标文件列表;第二信息收发单元,用于将所述目标文件列表和所述升级请求发送至所述服务器,并接收所述补丁。在上述技术方案中,服务器可以针对不同的待升级版本的应用程序生成相应的升级补丁并进行缓存,终端只需要从服务器下载待升级版本的应用程序所需升级部分的文件即可,而不必从服务器将目标版本的应用程序整个下载,节约了网络带宽资源,降低了服务器的下载压力。当服务器接收到安装有待升级版本的应用程序的终端的升级请求时,可以将相应的升级补丁发送至该终端,针对安装有相同版本的应用程序的终端的升级请求,只需要将每个升级请求插入至相应的补丁生成列中即可,而不必根据每个安装有相同版本的应用程序的终端的升级请求分别生成一次相应的补丁,只有在应用程序的版本与待升级版本的应用程序的版本不同时,才会根据不同版本的应用程序与目标版本的应用程序的差异生成不同的补丁,从而避免了服务器为来自不同终端的相同版本的应用程序提供多次相同的升级服务,提高了 服务器性能,降低了维护各个版本的应用程序中的组成文件的文件名及校验码的配置文件的复杂程度和出错率。在该技术方案中,优选地,所述终端还包括第二判断单元,用于在所述待升级版本的应用程序启动时,判断所述待升级版本的应用程序的版本是否低于所述目标版本的应用程序的版本;启动单元,在所述第二判断单元的判断结果为否的情况下,启动所述待升级版本的应用程序;所述第二信息收发单元用于在所述第二判断单元的判断结果为是的情况下,将所述升级请求发送至所述服务器;所述插入单元还用于将所述升级请求插入至待处理队列;以及所述第一判断单元在所述升级请求在所述待处理队列的最前端时,判断是否存在所述待升级版本的应用程序到所述目标版本的应用程序的补丁。在上述技术方案中,当终端启动待升级版本的应用程序时,首先判断待升级版本的应用程序与目标版本的应用程序的版本差异,若待升级版本的应用程序的版本与目标版本的应用程序的版本相同,说明待升级版本的应用程序不需要升级,当待升级版本的应用程序的版本低于目标版本的应用程序的版本时,服务器根据终端的升级请求提供相应的升级服务。在该技术方案中,优选地,所述服务器还包括配置文件生成单元,用于根据所述目标版本的应用程序的组成文件的文件名、修改时间、验证码生成所述目标版本的应用程序的配置文件,以及所述第一信息收发单元还用于将所述目标版本的应用程序的配置文件发送至所述终端。在上述技术方案中,终端可以接收来自服务器的目标版本的应用程序的配置文件,然后将其与待升级版本的应用程序的配置文件进行对比,从而得到需要升级部分的文件的列表(即目标文件列表),进而从服务器中下载需要升级部分的文件。在该技术方案中,优选地,所述补丁生成单元用于根据所述目标文件列表,从所述目标版本的应用程序中提取相应的文件进行压缩以生成所述补丁。在上述技术方案中,服务器可以在将待升级版本的应用程序需要升级部分的文件发送至终端之前,对该文件进行压缩处理,以进一步降低服务器的下载压力。在该技术方案中,优选地,所述终端还包括解压单元,用于对所述补丁进行解压以得到所述相应的组成文件;替换单元,用于根据所述相应的组成文件替换所述待升级的应用程序中与所述相应的组成文件对应的组成文件。在上述技术方案中,终端可以解压来自服务器的补丁,并根据解压出的组成文件替换待升级版本的应用程序中的组成文件,以完成待升级版本的应用程序的升级。根据本专利技术的又一方面,还提出了一种应用程序升级方法,包括步骤202,当服务器接收到终端的升级请求时,判断是否存在待升级版本的应用程序到目标版本的应用程序的补丁,其中,所述待升级版本的应用程序安装于所述终端中,所述目标版本的应用程序存储于所述服务器中,若存在,则将所述补丁传输至所述终端;步骤204,若不存在,则进一步判断是否存在等待所述补丁生成的队列,若存在,则将所述升级请求插入至所述队列,若不存在,则建立本文档来自技高网
...

【技术保护点】
一种应用程序升级系统,其特征在于,包括服务器和终端,其中,待升级版本的应用程序安装于所述终端中,目标版本的应用程序存储于所述服务器中,所述服务器包括:第一判断单元,用于在第一信息收发单元接收到所述终端的升级请求时,判断是否存在所述待升级版本的应用程序到所述目标版本的应用程序的补丁,若不存在,则判断是否存在等待所述补丁生成的队列;队列建立单元,用于在不存在所述队列的情况下建立所述队列;插入单元,用于在存在所述队列的情况下,或在所述队列建立单元建立所述队列后,将所述升级请求插入至所述队列;所述第一信息收发单元,用于接收目标文件列表以及所述升级请求,并当所述升级请求在所述队列的最前端时或在存在所述补丁的情况下,将所述补丁传输至所述终端;补丁生成单元,用于根据所述目标文件列表从所述目标版本的应用程序中提取相应的组成文件,以生成所述补丁并进行缓存;以及所述终端包括:比较单元,用于将所述目标版本的应用程序的配置文件与所述待升级版本的应用程序的配置文件进行对比,以生成所述目标文件列表;第二信息收发单元,用于将所述目标文件列表和所述升级请求发送至所述服务器,并接收所述补丁。

【技术特征摘要】

【专利技术属性】
技术研发人员:李纯蒋生锋张璋
申请(专利权)人:用友软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1