CN103995721B - 一种应用程序的升级方法、装置及系统 - Google Patents

一种应用程序的升级方法、装置及系统 Download PDF

Info

Publication number
CN103995721B
CN103995721B CN201410220067.6A CN201410220067A CN103995721B CN 103995721 B CN103995721 B CN 103995721B CN 201410220067 A CN201410220067 A CN 201410220067A CN 103995721 B CN103995721 B CN 103995721B
Authority
CN
China
Prior art keywords
subroutine
upgrade
application program
pack
packs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201410220067.6A
Other languages
English (en)
Other versions
CN103995721A (zh
Inventor
余鹏程
赵书香
邝锐强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Cheetah Network Technology Co ltd
Original Assignee
Kingsoft Guangzhou Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kingsoft Guangzhou Network Technology Co Ltd filed Critical Kingsoft Guangzhou Network Technology Co Ltd
Priority to CN201410220067.6A priority Critical patent/CN103995721B/zh
Publication of CN103995721A publication Critical patent/CN103995721A/zh
Application granted granted Critical
Publication of CN103995721B publication Critical patent/CN103995721B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种应用程序的升级方法,包括:接收服务器发送过来的升级通知,所述升级通知中携带有网络地址,所述网络地址加载有用于升级的M个子程序包,其中,所述应用程序包括N个子程序包,N和M为正整数,N>M,M>0;根据所述网络地址下载所述用于升级的M个子程序包;将与所述用于升级的M个子程序包相对应的M个本地子程序包替换为所述用于升级的M个子程序包。本发明实施例还公开了一种应用程序的升级装置及系统。采用本发明实施例,可以节省用户给应用程序进行升级时所耗费的流量和时间。

Description

一种应用程序的升级方法、装置及系统
技术领域
本发明涉及信息安全技术领域,尤其涉及一种应用程序的升级方法、装置及系统。
背景技术
通常,应用程序发布后,开发者会根据应用程序本身存在的某些缺陷或用户的实际需求,对应用程序进行进一步的优化或添加某些功能后再次发布。为区分或标记不同时候发布的同一个应用程序,开发者会对修改后的应用程序设置一个新的版本号。因此,用户在使用应用程序时,会经常碰到应用程序的频繁升级情况。
现有技术中常采用的应用程序升级方法是在服务器中将新版本的应用程序中包含的所有组成文件做成整个安装文件供客户端下载,客户端在与服务器端进行版本对比后下载并运行整个安装程序,然后利用新版本应用程序中的所有组成文件对客户端的旧版本应用程序中的所有组成文件进行替换。然而,该方法对于一个需要频繁发布升级的应用程序来说,每次都需要发布一个完整的安装文件,且用户每次都需要下载这个完整的安装文件才能进行升级,这种升级方式不仅会耗费用户大量的流量,而且从服务器端下载整个安装文件需要花费大量的时间,同时,升级版本的覆盖过程也比较缓慢。
发明内容
本发明实施例提供了一种应用程序的升级方法、装置及系统,可以节省用户给应用程序进行升级时所耗费的流量和时间。
本发明实施例提供一种应用程序的升级方法,包括:
接收服务器发送过来的升级通知,所述升级通知中携带有网络地址,所述网络地址加载有用于升级的M个子程序包,其中,所述应用程序包括N个子程序包,N和M为正整数,N>M,M>0;
根据所述网络地址下载所述用于升级的M个子程序包;
将与所述用于升级的M个子程序包相对应的M个本地子程序包替换为所述用于升级的M个子程序包。
其中,所述接收服务器发送过来的升级通知之前,所述方法还包括:
向所述服务器发送升级所述应用程序的查询指令,所述查询指令携带有所述应用程序中所有子程序包的版本信息,以使所述服务器根据所述查询指令确定所述应用程序是否需要升级,若是,则给所述应用程序发送所述升级通知。
其中,所述根据所述网络地址下载所述用于升级的M个子程序包,包括:
若接收到确认升级的操作指令,执行所述根据所述网络地址下载所述用于升级的M个子程序包的步骤。
其中,所述接收服务器发送过来的升级通知之后,所述方法还包括:
基于WebView浏览器控件显示所述升级通知,并加载所述升级通知中所携带的网络地址。
其中,所述将与所述用于升级的M个子程序包相对应的M个本地子程序包替换为所述用于升级的M个子程序包,包括:
获取所述用于升级的M个子程序包的标识符;
根据所述用于升级的M个子程序包的标识符,获取所有本地子程序包中与所述标识符相同的M个本地子程序包;
将所述M个本地子程序包替换为所述用于升级的M个子程序包。
其中,所述将所述M个本地子程序包替换为所述用于升级的M个子程序包之前,所述方法还包括:
对所述M个本地子程序包进行备份。
其中,所述方法还包括:
确定所述应用程序是否成功将所述M个本地子程序包替换为所述用于升级的M个子程序包,若是,表示升级成功;若否,表示升级失败,根据已备份的M个本地子程序包将所述应用程序恢复到未进行升级前的状态。
其中,所述方法还包括:
输出所述应用程序的升级信息,所述升级信息包括升级结果和所述应用程序升级后所具有的新属性。
相应的,本发明实施例还提供一种应用程序的升级装置,包括:
接收模块,用于接收服务器发送过来的升级通知,所述升级通知中携带有网络地址,所述网络地址加载有用于升级的M个子程序包,其中,所述应用程序包括N个子程序包,N和M为正整数,N>M,M>0;
下载模块,用于根据所述网络地址下载所述用于升级的M个子程序包;
替换模块,用于将与所述用于升级的M个子程序包相对应的M个本地子程序包替换为所述用于升级的M个子程序包。
其中,所述装置还包括:
发送模块,用于向所述服务器发送升级所述应用程序的查询指令,所述查询指令携带有所述应用程序中所有子程序包的版本信息,以使所述服务器根据所述查询指令确定所述应用程序是否需要升级,若是,则给所述应用程序发送所述升级通知。
其中,所述下载模块还用于:
若接收到确认升级的操作指令,执行所述根据所述网络地址下载所述用于升级的M个子程序包的步骤。
其中,所述装置还包括:
显示模块,用于基于WebView浏览器控件显示所述升级通知,并加载所述升级通知中所携带的网络地址。
其中,所述替换模块包括:
第一获取单元,用于获取所述用于升级的M个子程序包的标识符;
第二获取单元,用于根据所述用于升级的M个子程序包的标识符,获取所有本地子程序包中与所述标识符相同的M个本地子程序包;
替换单元,用于将所述M个本地子程序包替换为所述用于升级的M个子程序包。
其中,所述替换模块还包括:
备份单元,用于对所述M个本地子程序包进行备份。
其中,所述装置还包括:
确定模块,用于确定所述应用程序是否成功将所述M个本地子程序包替换为所述用于升级的M个子程序包,若是,表示升级成功;若否,表示升级失败,根据已备份的M个本地子程序包将所述应用程序恢复到未进行升级前的状态。
其中,所述装置还包括:
输出模块,用于输出所述应用程序的升级信息,所述升级信息包括升级结果和所述应用程序升级后所具有的新属性。
相应的,本发明实施例还提供一种应用程序的升级系统,包括服务器和终端,所述终端上安装了包括如上所述装置的应用程序,所述服务器用于向所述终端发送升级通知,以使所述终端上的应用程序根据所述升级通知进行升级。
实施本发明实施例,具有如下的有益效果:
应用程序接收服务器发送过来的升级通知,所述升级通知中携带有服务器提供给应用程序用于升级的M个子程序包的网络地址;根据所述网络地址下载用于升级的M个子程序包;将与用于升级的M个子程序包相对应的M个本地子程序包替换为所述用于升级的M个子程序包,其中,M个子程序包不是应用程序的所有子程序包,从而通过更新部分子程序包即可实现应用程序的升级。采用本发明实施例,可以节省用户给应用程序进行升级时所耗费的流量和时间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种应用程序的升级方法的流程示意图;
图2是本发明实施例提供的一种应用程序的升级方法的另一流程示意图;
图3是本发明实施例提供的一种应用程序的升级装置的结构示意图;
图4是本发明实施例提供的一种应用程序的升级装置的另一结构示意图;
图5是图4提供的其中一种替换模块的结构示意图;
图6是本发明实施例提供的一种应用程序的升级系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,图1是本发明实施例提供的一种应用程序的升级方法的流程示意图,在本发明实施例中,该方法包括以下步骤。
S101:接收服务器发送过来的升级通知,所述升级通知中携带有网络地址,所述网络地址加载有用于升级的M个子程序包,其中,所述应用程序包括N个子程序包,N和M为正整数,N>M,M>0。
作为本发明的一种实施方式,所述应用程序可以是已模块化的应用程序,整个安装文件包括N个独立组件,每个组件对应一个子程序包,例如:JAVA子程序包,其中,N>1。换句话说,开发者在设计应用程序时,可以对整个应用程序进行模块化设计,每个模块对应一个组件,每个组件对应一个子程序包,应用程序包括多个独立组件,这些独立的组件通过各自提供的API接口(Application Programming Interface,应用程序编程接口)与其它组件进行数据交互。例如:按照程序逻辑,可以将应用程序拆分出多个“功能模块”,如“注册”、“管理”等;按照游戏或社区类程序的关卡或场景,可以拆分出不同的“场景模块”,在需要时,应用程序可加载这些模块,模块间通过调用各自的API接口进行数据通信。
可以理解的,每个子程序包具有独一无二的组件名称及版本号,如果其中某个子程序包有新版本发布了,则在服务器上该子程序包会有一个比原有版本号大的新版本号。例如:版本号可按字典顺序排列,如1.34.1、1.35.1或2.0。
当服务器存在至少一个子程序包的更新版本时,可以是服务器基于消息推送服务机制向安装有该应用程序的终端发送升级通知,提示用户是否需要升级应用程序。也可以是在终端上启动该应用程序时,应用程序自动获取本地所有子程序包的版本信息后,向服务器发送升级所述应用程序的查询指令,该查询指令包括应用程序在本地获取到的所有子程序包的版本信息,其中,版本信息包括子程序包的名称和版本号。以使服务器接收到该终端上的应用程序发送过来的查询指令后,根据查询指令中携带的版本信息与服务器中保存的所有子程序包的最新版本信息进行比对,若存在至少一个子程序包的版本号比版本信息中提供的对应的子程序包的版本号高,即存在至少一个子程序包可以升级,则向该应用程序发送升级通知,所述升级通知中携带有网络地址,所述网络地址加载有用于升级的子程序包,提示用户是否需要升级应用程序。为方便说明,假设存在M个子程序包可以升级,于是,所述网络地址加载有用于升级的M个子程序包,其中,N>M,M>0,N和M都为正整数。应用程序接收服务器发送过来的升级通知,接收到的升级通知中包括服务器提供给该应用程序用于升级的M个子程序包的网络地址。进一步的,服务器端在对子程序包进行任意修改时,均在预设的文本中记录相关修改信息,包括服务器端未对子程序包内容进行修改,但却更改了该子程序包的版本号的情况,因此,服务器端接收到应用程序发送过来的查询指令时,根据版本信息和该预设的文本共同确定应用程序是否需要升级,若判断出确实存在至少一个子程序包可以升级,则向该应用程序发送升级通知。
S102:根据所述网络地址下载所述用于升级的M个子程序包。
具体的,可以是应用程序接收到升级通知后,不显示该升级通知,直接根据升级通知中携带的网络地址自动去下载用于升级的M个子程序包,无需用户进行确认,应用程序自动进行升级。
但作为一种优选的实施方式,应用程序接收到升级通知后,基于WebView浏览器控件显示所述升级通知,并加载所述升级通知中所携带的网络地址,进入下载界面。进入下载界面后,可以是应用程序自动去下载用于升级的子程序包,无需用户进行确认;也可以是用户点击确认升级按钮,向应用程序发出确认升级的操作指令后,再去下载所述用于升级的子程序包。
S103:将与所述用于升级的M个子程序包相对应的M个本地子程序包替换为所述用于升级的M个子程序包。
具体的,应用程序从服务器上下载完所有用于升级的M个子程序包后,获取这些用于升级的M个子程序包的标识符,例如:子程序包的名称或ID信息;将获取到的标识符与本地应用程序中的每个子程序包对应的标识符进行比对,得到所有本地子程序包中分别与所述用于升级的M个子程序包的标识符相同的M个本地子程序包;然后将本地得到的M个本地子程序包替换为从服务器上下载过来的对应的用于升级的M个子程序包,完成应用程序的升级。该应用程序的升级过程中,无需下载整个安装文件,只需对需要升级的部分子程序包进行下载并更新即可,不仅节省流量,而且缩短了应用程序进行升级时所耗费的时间。
在本发明实施例所描述的应用程序的升级方法中,应用程序接收服务器发送过来的升级通知,所述升级通知中携带有服务器提供给应用程序用于升级的M个子程序包的网络地址;根据所述网络地址下载用于升级的M个子程序包;将与用于升级的M个子程序包相对应的M个本地子程序包替换为所述用于升级的M个子程序包,其中,M个子程序包不是应用程序的全部子程序包,从而通过更新部分子程序包即可实现应用程序的升级。采用本发明实施例,可以节省用户给应用程序进行升级时所耗费的流量和时间。
请参见图2,图2是本发明实施例提供的一种应用程序的升级方法的另一流程示意图,在本发明实施例中,该方法包括以下步骤。
S201:应用程序向服务器发送升级应用程序的查询指令,所述查询指令携带有所述应用程序中所有子程序包的版本信息,所述版本信息包括子程序包的名称和版本号。
作为本发明的一种实施方式,所述应用程序可以是已模块化的应用程序,整个安装文件包括N个独立组件,每个组件对应一个子程序包。例如:JAVA子程序包,其中,N>1。换句话说,开发者在设计应用程序时,对整个应用程序进行模块化设计,每个模块对应一个组件,每个组件对应一个子程序包,应用程序包括多个独立组件,这些独立的组件通过各自提供的API接口(Application Programming Interface,应用程序编程接口)与其它组件进行数据交互。
具体的,开启应用程序时,应用程序自动获取本地所有子程序包的版本信息,并向服务器发送升级所述应用程序的查询指令,该查询指令包括应用程序在本地获取到的所有子程序包的版本信息,其中,版本信息包括子程序包的名称和版本号。以使服务器接收到该终端上的应用程序发送过来的查询指令后,根据查询指令中携带的版本信息与服务器中保存的所有子程序包的最新版本信息进行比对,若存在至少一个子程序包可以升级,则向该应用程序发送升级通知,提示用户是否需要升级应用程序,其中,升级通知中包括至少一个用于升级的子程序包的网络下载地址。为方便说明,假设存在M个子程序包可以升级,于是,所述网络地址加载有用于升级的M个子程序包,其中,N>M,M>0,N和M都为正整数。
S202:接收服务器发送过来的升级通知,所述升级通知中携带有网络地址,所述网络地址加载有用于升级的M个子程序包。
S203:基于WebView浏览器控件显示所述升级通知,并加载所述升级通知中所携带的网络地址。
S204:若接收到确认升级的操作指令,根据所述网络地址下载所述用于升级的M个子程序包。
例如:用户点击确认升级按钮,从而向应用程序发出确认升级的操作指令,则所述应用程序根据所述网络地址下载所述用于升级的M个子程序包。
S205:将与所述用于升级的M个子程序包相对应的M个本地子程序包替换为所述用于升级的M个子程序包。
具体的,应用程序从服务器上下载完所有用于升级的M个子程序包后,获取这些用于升级的M个子程序包的标识符,例如:子程序包的名称或ID信息。将获取到的标识符与本地应用程序中的每个子程序包对应的标识符进行比对,得到本地应用程序中与所述用于升级的M个子程序包相对应的M个本地子程序包。然后将本地得到的M个子程序包替换为从服务器上下载过来的用于升级的M个子程序包。
优选的,对从所述应用程序中获取到的与所述用于升级的M个子程序包相对应的M个本地子程序包进行备份,若应用程序升级失败,可以通过该备份的子程序包恢复到升级前的状态。
作为一种可能的实施方式,确定所述应用程序是否成功将所述M个本地子程序包替换为所述用于升级的M个子程序包,若是,表示升级成功;若否,表示升级失败。若升级失败,应用程序根据已备份的M个本地子程序包将所述应用程序恢复到未进行升级前的状态。
S206:输出应用程序的升级信息,所述升级信息包括升级结果和所述应用程序升级后所具有的新属性。
具体的,若升级成功,则输出升级成功的信息,并展示升级后的应用程序所具有的新属性,例如:新增加的功能或对原有功能进行的某些优化等。该应用程序的升级过程中,无需下载整个安装文件,只需对需要更新的部分子程序包进行下载并更新即可,不仅节省流量,而且缩短了应用程序进行升级时所耗费的时间。
在本发明实施例所描述的应用程序的升级方法中,应用程序接收服务器发送过来的升级通知,所述升级通知中携带有服务器提供给应用程序用于升级的M个子程序包的网络地址;根据所述网络地址下载用于升级的M个子程序包;将与用于升级的M个子程序包相对应的M个本地子程序包替换为所述用于升级的M个子程序包,其中,M个子程序包不是应用程序的全部子程序包,从而通过更新部分子程序包即可实现应用程序的升级。采用本发明实施例,可以节省用户给应用程序进行升级时所耗费的流量和时间。
请参见图3,图3是本发明实施例提供的一种应用程序的升级装置的结构示意图,在本发明实施例中,该装置包括:接收模块301、下载模块302和替换模块303。
接收模块301,用于接收服务器发送过来的升级通知,所述升级通知中携带有网络地址,所述网络地址加载有用于升级的M个子程序包,其中,所述应用程序包括N个子程序包,N和M为正整数,N>M,M>0。
作为本发明的一种实施方式,所述应用程序可以是已模块化的应用程序,整个安装文件包括N个独立组件,每个组件对应一个子程序包,例如:JAVA子程序包,其中,N>1。换句话说,开发者在设计应用程序时,对整个应用程序进行模块化设计,每个模块对应一个组件,每个组件对应一个子程序包,应用程序包括多个独立组件,这些独立的组件通过提供API(Application Programming Interface,应用程序编程接口)与其它组件进行数据交互。服务器发送过来的升级通知中加载有用于升级的M个子程序包的网络地址,其中,N和M为正整数,M<N,M>0。
下载模块302,用于根据所述网络地址下载所述用于升级的M个子程序包。
替换模块303,用于将与所述用于升级的M个子程序包相对应的M个本地子程序包替换为所述用于升级的M个子程序包。
在本发明实施例所描述的应用程序的升级装置中,应用程序接收服务器发送过来的升级通知,所述升级通知中携带有服务器提供给应用程序用于升级的M个子程序包的网络地址;根据所述网络地址下载用于升级的M个子程序包;将与用于升级的M个子程序包相对应的M个本地子程序包替换为所述用于升级的M个子程序包,其中,M个子程序包不是应用程序的全部子程序包,从而通过更新部分子程序包即可实现应用程序的升级。采用本发明实施例,可以节省用户给应用程序进行升级时所耗费的流量和时间。
请参见图4,图4是本发明实施例提供的一种应用程序的升级装置的另一结构示意图,在本发明实施例中,该装置包括:接收模块401、下载模块402、替换模块403、发送模块404、显示模块405、确定模块406和输出模块407。
接收模块401,用于接收服务器发送过来的升级通知,所述升级通知中携带有网络地址,所述网络地址加载有用于升级的M个子程序包,其中,所述应用程序包括N个子程序包,N和M为正整数,N>M,M>0。
下载模块402,用于根据所述网络地址下载所述用于升级的M个子程序包。
具体的,可以是应用程序接收到升级通知后,不显示该升级通知,下载模块402直接根据升级通知中携带的网络地址自动去下载用于升级的M个子程序包,无需用户进行确认,应用程序自动进行升级。
替换模块403,用于将与所述用于升级的M个子程序包相对应的M个本地子程序包替换为所述用于升级的M个子程序包。
发送模块404,用于向所述服务器发送升级所述应用程序的查询指令,所述查询指令携带有所述应用程序中所有子程序包的版本信息,以使所述服务器根据所述查询指令确定所述应用程序是否需要升级,若是,则给所述应用程序发送所述升级通知。
显示模块405,用于基于WebView浏览器控件显示所述升级通知,并加载所述升级通知中所携带的网络地址。
具体的,可以是应用程序接收到升级通知后,显示模块405基于WebView浏览器控件显示所述升级通知,并加载所述升级通知中所携带的网络地址,进入下载界面。进入下载界面后,可以是下载模块402自动去下载用于升级的子程序包,无需用户进行确认;也可以是用户点击确认升级按钮,向应用程序发出确认升级的操作指令后,下载模块402再去下载所述用于升级的M个子程序包。
确定模块406,用于确定所述应用程序是否成功将所述M个本地子程序包替换为所述用于升级的M个子程序包,若是,表示升级成功;若否,表示升级失败,根据已备份的M个本地子程序包将所述应用程序恢复到未进行升级前的状态。
输出模块407,用于输出所述应用程序的升级信息,所述升级信息包括升级结果和所述应用程序升级后所具有的新属性。
作为一种优选的实施方式,替换模块403包括:第一获取单元4031、第二获取单元4032、备份单元4033和替换单元4034。如图5所示,图5是图4提供的其中一种替换模块的结构示意图。
第一获取单元4031,用于获取所述用于升级的M个子程序包的标识符。
第二获取单元4032,用于根据所述用于升级的M个子程序包的标识符,获取所有本地子程序包中与所述标识符相同的M个本地子程序包。
备份单元4033,用于对所述M个本地子程序包进行备份。
替换单元4034,用于将所述M个本地子程序包替换为所述用于升级的M个子程序包。
在本发明实施例所描述的应用程序的升级装置中,应用程序接收服务器发送过来的升级通知,所述升级通知中携带有服务器提供给应用程序用于升级的M个子程序包的网络地址;根据所述网络地址下载用于升级的M个子程序包;将与用于升级的M个子程序包相对应的M个本地子程序包替换为所述用于升级的M个子程序包,其中,M个子程序包不是应用程序的全部子程序包,从而通过更新部分子程序包即可实现应用程序的升级。采用本发明实施例,可以节省用户给应用程序进行升级时所耗费的流量和时间。
请参见图6,图6是本发明实施例提供的一种应用程序的升级系统的结构示意图,在本发明实施例中,该系统包括:终端100和服务器200。终端100内安装有包括如上所述升级装置的应用程序,服务器200用于向终端100发送升级通知,以使终端上的应用程序根据所述升级通知进行升级。
作为本发明的一种实施方式,可以是服务器200获取终端100内该应用程序的所有子程序包的版本信息,服务器200根据终端100上获取到的版本信息和本地服务器中保存的该应用程序的最新版本信息确定终端100上的该应用程序是否有待升级的子程序包,若有,则服务器200向安装了该应用程序的终端100发送升级通知,提示用户是否需要升级应用程序,其中,升级通知中携带有网络地址,所述网络地址加载有用于升级的M个子程序包,M为大于零的正整数。假设该应用程序包括N个子程序包,N为正整数,则N>M。终端100内的应用程序接收到服务器200发送过来的升级通知后,根据升级通知中携带的网络地址去下载用于升级的M个子程序包,下载完所有用于升级的子程序包后,将本地对应的M个子程序包替换为从服务器200上下载过来的所述用于升级的M个子程序包,完成应用程序的升级。该应用程序的升级过程中,无需下载整个安装文件,只需对需要升级的部分子程序包进行下载并更新即可,不仅节省流量,而且缩短了应用程序进行升级时所耗费的时间。
在本发明实施例所描述的应用程序的升级系统中,终端上的应用程序接收服务器发送过来的升级通知,所述升级通知中携带有服务器提供给应用程序用于升级的M个子程序包的网络地址;根据所述网络地址下载用于升级的M个子程序包;将与用于升级的M个子程序包相对应的M个本地子程序包替换为所述用于升级的M个子程序包,其中,M个子程序包不是应用程序的全部子程序包,从而通过更新部分子程序包即可实现应用程序的升级。采用本发明实施例,可以节省用户给应用程序进行升级时所耗费的流量和时间。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的模块或单元可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (13)

1.一种应用程序的升级方法,其特征在于,包括:
接收服务器发送过来的升级通知,所述升级通知中携带有网络地址,所述网络地址加载有用于升级的M个子程序包,其中,所述应用程序包括N个子程序包,N和M为正整数,N>M,M>0;
基于WebView浏览器控件显示所述升级通知,并加载所述升级通知中所携带的网络地址,进入下载界面;
在所述下载界面中,自动下载所述用于升级的M个子程序包,或者,当接收到确认升级的操作指令后,下载所述用于升级的M个子程序包;
将与所述用于升级的M个子程序包相对应的M个本地子程序包替换为所述用于升级的M个子程序包;
所述接收服务器发送过来的升级通知之前,所述方法还包括:
向所述服务器发送升级所述应用程序的查询指令,所述查询指令携带有所述应用程序中所有子程序包的版本信息,以使所述服务器根据所述查询指令以及预设的文本确定所述应用程序是否需要升级,若是,则给所述应用程序发送所述升级通知;
其中,所述服务器在对子程序包进行任意修改时,均在所述预设的文本中记录相关修改信息,所述任意修改包括对子程序包内容进行修改和/或对子程序包的版本号进行修改。
2.如权利要求1所述的方法,其特征在于,所述根据所述网络地址下载所述用于升级的M个子程序包,包括:
若接收到确认升级的操作指令,执行所述根据所述网络地址下载所述用于升级的M个子程序包的步骤。
3.如权利要求1或2所述的方法,其特征在于,所述将与所述用于升级的M个子程序包相对应的M个本地子程序包替换为所述用于升级的M个子程序包,包括:
获取所述用于升级的M个子程序包的标识符;
根据所述用于升级的M个子程序包的标识符,获取所有本地子程序包中与所述标识符相同的M个本地子程序包;
将所述M个本地子程序包替换为所述用于升级的M个子程序包。
4.如权利要求3所述的方法,其特征在于,所述将所述M个本地子程序包替换为所述用于升级的M个子程序包之前,所述方法还包括:
对所述M个本地子程序包进行备份。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
确定所述应用程序是否成功将所述M个本地子程序包替换为所述用于升级的M个子程序包,若是,表示升级成功;若否,表示升级失败,根据已备份的M个本地子程序包将所述应用程序恢复到未进行升级前的状态。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
输出所述应用程序的升级信息,所述升级信息包括升级结果和所述应用程序升级后所具有的新属性。
7.一种应用程序的升级装置,其特征在于,包括:
接收模块,用于接收服务器发送过来的升级通知,所述升级通知中携带有网络地址,所述网络地址加载有用于升级的M个子程序包,其中,所述应用程序包括N个子程序包,N和M为正整数,N>M,M>0;
显示模块,用于基于WebView浏览器控件显示所述升级通知,并加载所述升级通知中所携带的网络地址;
下载模块,用于在所述下载界面中,自动下载所述用于升级的M个子程序包,或者,当接收到确认升级的操作指令后,下载所述用于升级的M个子程序包;
替换模块,用于将与所述用于升级的M个子程序包相对应的M个本地子程序包替换为所述用于升级的M个子程序包;
所述装置还包括:
发送模块,用于向所述服务器发送升级所述应用程序的查询指令,所述查询指令携带有所述应用程序中所有子程序包的版本信息,以使所述服务器根据所述查询指令以及预设的文本确定所述应用程序是否需要升级,若是,则给所述应用程序发送所述升级通知;
其中,所述服务器在对子程序包进行任意修改时,均在所述预设的文本中记录相关修改信息,所述任意修改包括对子程序包内容进行修改和/或对子程序包的版本号进行修改。
8.如权利要求7所述的装置,其特征在于,所述下载模块还用于:
若接收到确认升级的操作指令,执行所述根据所述网络地址下载所述用于升级的M个子程序包的步骤。
9.如权利要求7或8所述的装置,其特征在于,所述替换模块包括:
第一获取单元,用于获取所述用于升级的M个子程序包的标识符;
第二获取单元,用于根据所述用于升级的M个子程序包的标识符,获取所有本地子程序包中与所述标识符相同的M个本地子程序包;
替换单元,用于将所述M个本地子程序包替换为所述用于升级的M个子程序包。
10.如权利要求9所述的装置,其特征在于,所述替换模块还包括:
备份单元,用于对所述M个本地子程序包进行备份。
11.如权利要求10所述的装置,其特征在于,所述装置还包括:
确定模块,用于确定所述应用程序是否成功将所述M个本地子程序包替换为所述用于升级的M个子程序包,若是,表示升级成功;若否,表示升级失败,根据已备份的M个本地子程序包将所述应用程序恢复到未进行升级前的状态。
12.如权利要求11所述的装置,其特征在于,所述装置还包括:
输出模块,用于输出所述应用程序的升级信息,所述升级信息包括升级结果和所述应用程序升级后所具有的新属性。
13.一种应用程序的升级系统,其特征在于,包括服务器和终端,所述终端上安装了包括如权利要求7-12任一项所述装置的应用程序,所述服务器用于向所述终端发送升级通知,以使所述终端上的应用程序根据所述升级通知进行升级。
CN201410220067.6A 2014-05-22 2014-05-22 一种应用程序的升级方法、装置及系统 Expired - Fee Related CN103995721B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410220067.6A CN103995721B (zh) 2014-05-22 2014-05-22 一种应用程序的升级方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410220067.6A CN103995721B (zh) 2014-05-22 2014-05-22 一种应用程序的升级方法、装置及系统

Publications (2)

Publication Number Publication Date
CN103995721A CN103995721A (zh) 2014-08-20
CN103995721B true CN103995721B (zh) 2018-01-23

Family

ID=51309899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410220067.6A Expired - Fee Related CN103995721B (zh) 2014-05-22 2014-05-22 一种应用程序的升级方法、装置及系统

Country Status (1)

Country Link
CN (1) CN103995721B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503791A (zh) * 2014-12-18 2015-04-08 天津市天安怡和信息技术有限公司 远程自主设备的智能远程升级维护方法
CN106610839B (zh) * 2015-10-21 2020-10-30 阿里巴巴集团控股有限公司 发布升级包的方法、轻量升级方法、装置及系统
CN106020786A (zh) 2015-11-02 2016-10-12 广州市动景计算机科技有限公司 一种动态修复应用程序的方法、装置及相关系统
CN105653262A (zh) * 2015-12-21 2016-06-08 Tcl集团股份有限公司 应用程序升级方法、装置及系统
CN107273189A (zh) * 2016-04-06 2017-10-20 泰康之家(北京)投资有限公司 一种管理子应用程序的方法及应用挂载平台
CN107277082A (zh) * 2016-04-06 2017-10-20 泰康之家(北京)投资有限公司 一种获取应用服务的方法及装置
CN107643920A (zh) * 2016-07-20 2018-01-30 平安科技(深圳)有限公司 应用软件更新方法和装置
CN107704278A (zh) * 2016-08-08 2018-02-16 北京京东尚科信息技术有限公司 应用升级方法和装置
CN106886410B (zh) * 2017-01-06 2018-06-19 深圳云天励飞技术有限公司 一种软件版本管理系统
CN108540509B (zh) * 2017-03-01 2022-06-21 腾讯科技(深圳)有限公司 一种终端浏览器的处理方法、装置及服务器、智能终端
CN109218044B (zh) * 2017-06-30 2021-07-13 贵州白山云科技股份有限公司 一种故障处理方法和装置
CN109558160A (zh) * 2017-09-26 2019-04-02 阿里巴巴集团控股有限公司 升级方法、嵌入式系统
CN108089874A (zh) * 2017-12-27 2018-05-29 北京海泰方圆科技股份有限公司 软件的升级方法、装置和系统
CN110308915A (zh) * 2019-06-25 2019-10-08 维沃移动通信有限公司 系统升级的方法、移动终端

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006034A (en) * 1996-09-05 1999-12-21 Open Software Associates, Ltd. Systems and methods for automatic application version upgrading and maintenance
CN101377744A (zh) * 2008-09-24 2009-03-04 深圳华为通信技术有限公司 一种终端设备软件升级恢复方法及装置
CN102591684A (zh) * 2011-12-30 2012-07-18 苏州汉清投资管理有限公司 一种软件更新方法
CN102622241A (zh) * 2011-01-26 2012-08-01 腾讯科技(深圳)有限公司 一种软件升级方法及装置
CN102981880A (zh) * 2012-12-06 2013-03-20 北京奇虎科技有限公司 一种实现应用程序的更新的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006034A (en) * 1996-09-05 1999-12-21 Open Software Associates, Ltd. Systems and methods for automatic application version upgrading and maintenance
CN101377744A (zh) * 2008-09-24 2009-03-04 深圳华为通信技术有限公司 一种终端设备软件升级恢复方法及装置
CN102622241A (zh) * 2011-01-26 2012-08-01 腾讯科技(深圳)有限公司 一种软件升级方法及装置
CN102591684A (zh) * 2011-12-30 2012-07-18 苏州汉清投资管理有限公司 一种软件更新方法
CN102981880A (zh) * 2012-12-06 2013-03-20 北京奇虎科技有限公司 一种实现应用程序的更新的方法和装置

Also Published As

Publication number Publication date
CN103995721A (zh) 2014-08-20

Similar Documents

Publication Publication Date Title
CN103995721B (zh) 一种应用程序的升级方法、装置及系统
CN102622241B (zh) 一种软件升级方法及装置
CN105373396B (zh) 插件平台中的插件更新加载方法和装置
CN102520987B (zh) 应用程序在线体验与安装方法、装置、服务器及管理系统
CN104866341B (zh) 一种组件升级方法、装置及终端
US5752042A (en) Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer
RU2363039C2 (ru) Контейнер данных для данных контента пользовательского интерфейса
US7657884B2 (en) Electronic device supporting multiple update agents
US8050663B2 (en) System and method of providing contents for mobile communication terminal
CN110221872A (zh) 页面跳转方法、装置、电子设备和存储介质
US20040226008A1 (en) Update system for facilitating software update and data conversion in an electronic device
CN102073507B (zh) 微件Widget调用的方法、装置和系统
CN104836843A (zh) 客户端应用程序更新的方法及装置
CN103678319A (zh) 资源文件更新方法、装置和系统及服务器
CN102073512A (zh) 一种java集群应用系统代码装载及升级装置和方法
CN102799438A (zh) 应用更新的提示方法及桌面管理平台
CN105515872A (zh) 配置信息的更新方法、装置及系统
CN104123149B (zh) 软件升级方法、装置、客户端及系统
CN101694625A (zh) 基于加密服务器管理的客户端软件更新方法及装置
CN107016280A (zh) 一种客户端应用程序的升级方法及系统
CN104750528A (zh) 一种Android程序中的组件管理方法和装置
CN101802811A (zh) 用于分配软件组件的id的方法和系统
CN102571860A (zh) 一种管理插件的方法、装置及系统
CN104699511A (zh) 插件升级方法及装置
CN104834541A (zh) 功能模块挂载方法、挂载系统及更新挂载系统的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 510623 01-B sixth unit, Guangzhou bank building, 30 Zhujiang East Road, Tianhe District, Guangzhou, Guangdong.

Patentee after: Guangzhou cheetah Network Technology Co.,Ltd.

Address before: 510623 01-B sixth unit, Guangzhou bank building, 30 Zhujiang East Road, Tianhe District, Guangzhou, Guangdong.

Patentee before: GUANGZHOU KINGSOFT NETWORK TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 510623 07, 08A unit, fifteenth floor of agile center, 26 Huaxia Road, Tianhe District, Guangzhou, Guangdong.

Patentee after: Guangzhou cheetah Network Technology Co.,Ltd.

Address before: 510623 01-B sixth unit, Guangzhou bank building, 30 Zhujiang East Road, Tianhe District, Guangzhou, Guangdong.

Patentee before: Guangzhou cheetah Network Technology Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180123