CN104702631A - 一种客户端软件的升级方法和系统 - Google Patents
一种客户端软件的升级方法和系统 Download PDFInfo
- Publication number
- CN104702631A CN104702631A CN201310646953.0A CN201310646953A CN104702631A CN 104702631 A CN104702631 A CN 104702631A CN 201310646953 A CN201310646953 A CN 201310646953A CN 104702631 A CN104702631 A CN 104702631A
- Authority
- CN
- China
- Prior art keywords
- aku
- latest edition
- module
- rompaq
- application program
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种客户端软件的升级方法和系统。该方法包括:升级模块启动升级程序并查询服务器中的最新版本号和升级包下载地址;判断自身存储的版本号与最新版本号是否相同,是则启动应用模块,然后停止升级程序的工作,否则:升级模块根据升级包下载地址,从服务器下载升级包;升级模块判断升级包中是否包括最新版本的应用程序,是则用最新版本的应用程序替换应用模块中的应用程序,并用最新版本号替换自身存储的版本号;否则:升级模块启动应用模块的工作,然后停止升级程序的工作;应用模块判断升级包中是否包括最新版本的升级程序,是则用最新版本的升级程序替换升级模块中的升级程序。本发明既能对应用程序进行升级,又能对升级程序进行升级。
Description
技术领域
本发明涉及客户端软件升级技术领域,特别是涉及一种客户端软件的升级方法和系统。
背景技术
在C/S架构中,客户端软件的升级与服务器密切相关。客户端通常包括升级模块和应用模块,升级模块存储升级程序和版本号,应用模块存储应用程序。图1为现有的客户端软件的升级方法的流程图。如图1所示,该方法包括:
步骤101:升级模块启动自身的升级程序,并查询服务器存储的最新版本号和升级包下载地址;
步骤102:升级模块判断自身存储的版本号是否与最新版本号相同,是则依次执行步骤103和106,否则,依次执行步骤104、105、103和106;
步骤103:升级模块启动应用模块的工作,然后停止升级程序的工作;
步骤104:升级模块根据升级包下载地址,从服务器下载升级包;
步骤105:升级模块用升级包中最新版本的应用程序替换应用模块中的应用程序,并用最新版本号替换自身存储的版本号;
步骤106:应用模块运行应用程序。
可见,现有的客户端软件的升级方法只涉及应用程序的升级,升级程序则一直保持不变。随着客户端软件应用程序的不断升级,其复杂程度越来越高,最初设计的升级程序有可能会满足不了应用程序的升级需求,这将严重影响该客户端软件的客户体验和发展前景。
发明内容
本发明所要解决的技术问题是提供一种客户端软件的升级方法和系统,既能对应用程序进行升级,又能对升级程序进行升级。
本发明解决上述技术问题的技术方案如下:一种客户端软件的升级方法,所述客户端包括升级模块和应用模块;该方法包括:
升级模块启动自身的升级程序并查询服务器存储的最新版本号和升级包下载地址;
所述升级模块判断自身存储的版本号与所述最新版本号是否相同,是则启动所述应用模块的工作,然后停止所述升级程序的工作,否则:
所述升级模块根据所述升级包下载地址,从所述服务器下载升级包;
所述升级模块判断所述升级包中是否包括最新版本的应用程序,是则用所述最新版本的应用程序替换所述应用模块中的应用程序,并用所述最新版本号替换自身存储的所述版本号;否则:所述升级模块启动所述应用模块的工作,然后停止所述升级程序的工作;所述应用模块判断所述升级包中是否包括最新版本的升级程序,是则用所述最新版本的升级程序替换所述升级模块中的升级程序。
本发明的有益效果是:本发明中,服务器所存储的升级包既可以包括最新版本的应用程序,又可以包括最新版本的升级程序,还可以二者兼有。当升级包包括最新版本的应用程序时,升级模块可用该最新版本的应用程序来替换应用模块中的应用程序,从而实现应用程序的升级;当升级包中包含最新版本的升级程序时,在升级模块停止升级程序的工作后,应用模块可以用最新版本的升级程序替换升级模块中的升级程序,从而实现升级程序的升级。可见,本发明既能对应用程序进行升级,又能对升级程序进行升级,从而保证了用户体验的连续性,延长了客户端软件的生命周期,并使客户端软件具有更好的发展前景。
在上述技术方案的基础上,本发明还可以做如下改进:
进一步,所述升级模块判断自身存储的版本号与所述最新版本号不相同之后,在其判断所述升级包中是否包括最新版本的应用程序之前,还包括:所述升级模块根据所述升级包下载地址,从所述服务器下载强制升级标志;则
所述升级模块判断所述升级包中是否包括最新版本的应用程序的方法包括:所述升级模块对所述升级包进行校验,判断所述升级包是否为正确的升级包,是则判断所述升级包中是否包括最新版本的应用程序,否则:
所述升级模块判断所述强制升级标志是否为强制升级,是则提示升级包下载错误,并返回启动自身的升级程序的步骤,否则,提示升级包下载错误,停止判断所述升级包中是否包括最新版本的应用程序,启动所述应用模块的工作,然后停止所述升级程序的工作。
进一步,服务器存储的升级包为压缩升级包;则所述升级模块根据所述升级包下载地址,从所述服务器下载的升级包为所述压缩升级包;
所述升级模块根据所述升级包下载地址,从所述服务器下载所述压缩升级包之后,在判断所述升级包中是否包括最新版本的应用程序之前,还包括:所述升级模块对所述压缩升级包进行解压缩,得到解压缩的升级包;则
所述升级模块判断所述升级包中是否包括最新版本的应用程序的方法为:所述升级模块判断所述解压缩的升级包中是否包括最新版本的应用程序;
所述应用模块判断所述升级包中是否包括最新版本的升级程序的方法为:所述应用模块判断所述解压缩的升级包中是否包括最新版本的升级程序。
进一步,服务器存储的升级包为加密升级包;则所述升级模块根据所述升级包下载地址,从所述服务器下载的升级包为所述加密升级包;
所述升级模块根据所述升级包下载地址,从所述服务器下载所述加密升级包之后,在判断所述升级包中是否包括最新版本的应用程序之前,还包括:所述升级模块对所述加密升级包进行解密,得到解密的升级包;则
所述升级模块判断所述升级包中是否包括最新版本的应用程序的方法为:所述升级模块判断所述解密的升级包中是否包括最新版本的应用程序;
所述应用模块判断所述升级包中是否包括最新版本的升级程序的方法为:所述应用模块判断所述解密的升级包中是否包括最新版本的升级程序。
另外,本发明还提供了一种客户端软件的升级系统,该系统包括升级模块和应用模块;所述升级模块存储升级程序和版本号,所述应用模块存储应用程序;
所述升级模块用于,启动自身的升级程序并查询服务器存储的最新版本号和升级包下载地址;判断自身存储的版本号与所述最新版本号是否相同,是则启动所述应用模块的工作,然后停止所述升级程序的工作,否则:根据所述升级包下载地址,从所述服务器下载升级包;判断所述升级包中是否包括最新版本的应用程序,是则用所述最新版本的应用程序替换所述应用模块中的应用程序,并用所述最新版本号替换自身存储的所述版本号;否则,启动所述应用模块的工作,然后停止所述升级程序的工作;
所述应用模块用于,判断所述升级包中是否包括最新版本的升级程序,是则用所述最新版本的升级程序替换所述升级模块中的升级程序。
进一步,所述升级模块还用于:根据所述升级包下载地址,从所述服务器下载强制升级标志;对所述升级包进行校验,判断所述升级包是否为正确的升级包,是则判断所述升级包中是否包括最新版本的应用程序,否则:判断所述强制升级标志是否为强制升级,是则提示升级包下载错误,并重启自身存储的升级程序;否则,提示升级包下载错误,启动所述应用模块的工作,然后停止所述升级程序的工作。
进一步,服务器存储的升级包为压缩升级包;
所述升级模块用于,根据所述升级包下载地址,从所述服务器下载所述压缩升级包;对所述压缩升级包进行解压缩,得到解压缩的升级包;判断所述解压缩的升级包中是否包括最新版本的应用程序;
所述应用模块用于,判断所述解压缩的升级包中是否包括最新版本的升级程序。
进一步,服务器存储的升级包为加密升级包;
所述升级模块用于,根据所述升级包下载地址,从所述服务器下载所述加密升级包;对所述加密升级包进行解密,得到解密的升级包;判断所述解密的升级包中是否包括最新版本的应用程序;
所述应用模块用于,判断所述解密的升级包中是否包括最新版本的升级程序。
附图说明
图1为现有的客户端软件的升级方法的流程图;
图2为本发明一个实施例的客户端软件的升级方法的流程图;
图3为本发明一个实施例的客户端软件的升级系统的结构图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图2为本发明提出的客户端软件的升级方法一个具体实施例的流程图,本发明中的客户端包括升级模块和应用模块。如图2所示,该方法包括:
步骤201:升级模块启动自身的升级程序并查询服务器存储的最新版本号和升级包下载地址。
本发明中,升级模块中存储升级程序和版本号,应用模块则存储应用程序,这里的版本号为升级模块中的升级程序以及应用模块中的应用程序共同的版本号。服务器则保存有最新版本号。如果该最新版本号与升级模块中保存的版本号相同,意味着升级模块中的升级程序和应用模块中的应用程序都无需升级,而当二者不同时,意味着升级模块中的升级程序和应用模块中的应用程序至少有一项需要升级。
最新版本号所对应的程序以升级包的形式存储在服务器上,存储地址为升级包下载地址。该升级包可以只包含最新版本的升级程序,也可以只包含最新版本的应用程序,还可以二者兼有。
步骤202:升级模块判断自身存储的版本号与最新版本号是否相同,是则依次执行步骤203和步骤210,否则,依次执行步骤204和步骤205。
步骤203:升级模块启动应用模块的工作,然后停止升级程序的工作。
在步骤202的判断结果为是的情况下,升级模块无需下载升级包,只需执行本步骤,然后启动应用程序的运行即可。
步骤204:升级模块根据升级包下载地址,从服务器下载升级包。
在步骤202的判断结果为否的情况下,升级模块需要下载升级包,因而执行本步骤。
步骤205:升级模块判断升级包中是否包括最新版本的应用程序,是则依次执行步骤206、步骤207和步骤208,否则,依次执行步骤207和步骤208。
如前述,升级包的内容可能为以下三种情形:只包含最新版本的升级程序、只包含最新版本的应用程序、兼有最新版本的升级程序和最新版本的应用程序。而升级模块正在运行自身存储的升级程序,即使升级包包含最新版本的升级程序,升级模块也无法对自身存储的升级程序进行升级,而只能在升级包包含最新版本的应用程序的情况下对应用模块中的应用程序进行升级,因此,本发明需要执行本步骤的判断步骤,如果本步骤判断结果为是,意味着升级模块需要对应用模块中的应用程序进行升级,否则,意味着应用模块中的应用程序无需升级。
步骤206:升级模块用最新版本的应用程序替换应用模块中的应用程序,并用最新版本号替换自身存储的版本号。
升级模块用最新版本的应用程序替换应用模块中的应用程序之后,应用模块即存储有最新版本的应用程序,在应用模块启动工作后,执行的将是最新版本的应用程序,而不会再执行替换之前的应用程序。
本步骤中,升级模块实现了应用模块中应用程序的升级,因而需要记录最新版本号,以免下次重复升级应用程序。
步骤207:升级模块启动应用模块的工作,然后停止升级程序的工作。
至本步骤,升级模块的任务结束,应先启动应用模块工作,再停止升级程序运行。
步骤208:应用模块判断升级包中是否包括最新版本的升级程序,是则依次执行步骤209和步骤210,否则,执行步骤210。
本步骤的判断结果为是,意味着升级模块中的升级程序需要进行升级,判断结果为否,在意味着升级模块中的升级程序无需升级。
步骤209:应用模块用最新版本的升级程序替换升级模块中的升级程序。
本步骤执行完毕后,升级模块中保存有最新版本的升级程序,下次升级模块启动后,运行的将是最新版本的升级程序,而不会再启动替换前的升级程序。
当然,本步骤结束后,在执行步骤210之前,还可以包括:应用模块用最新版本号替换升级模块中的版本号,以免重复升级。
步骤210:应用模块运行应用程序。
由此可见,本发明中,服务器所存储的升级包既可以包括最新版本的应用程序,又可以包括最新版本的升级程序,还可以二者兼有。当升级包包括最新版本的应用程序时,升级模块可用该最新版本的应用程序来替换应用模块中的应用程序,从而实现应用程序的升级;当升级包中包含最新版本的升级程序时,在升级模块停止升级程序的工作后,应用模块可以用最新版本的升级程序替换升级模块中的升级程序,从而实现升级程序的升级。可见,本发明既能对应用程序进行升级,又能对升级程序进行升级,从而保证了用户体验的连续性,延长了客户端软件的生命周期,并使客户端软件具有更好的发展前景。
需要指出的是,客户端软件的启动不是时刻进行的,即步骤201的相邻两次执行之间可能有较长的时间间隔,在这段时间间隔里,服务器可能对客户端软件进行了多次升级,在这种情况下,步骤201中升级模块所查询的最新版本号,应该是与升级模块自身保存的版本号最相近的版本号,这里的“最相近”意味着,该最新版本号对应的客户端软件的版本,是服务器对客户端(应用模块和/或升级模块)中保存的客户端软件进行首次升级后的版本。客户端软件进行了一次升级之后,还应该依次进行此后的每次升级,以保证步骤210所运行的应用程序是当前的最新版本。基于以上考虑,在步骤207之后,在步骤208之前,还可以包括以下步骤:应用模块判断当前升级模块中存储的版本号是否与服务器存储的客户端软件最后一次升级后得到的版本号相同,是则执行步骤208,否则,应用模块启动升级模块的工作,然后停止自身工作,进而返回步骤201。
在步骤202的判断结果为否,即升级模块判断自身存储的版本号与最新版本号不相同之后,在步骤205升级模块判断升级包中是否包括最新版本的应用程序之前,还可以包括以下步骤:升级模块根据升级包下载地址,从服务器下载强制升级标志。该步骤可以与步骤204同时执行,即升级模块根据升级包下载地址,从服务器同时下载升级包和强制升级标志,该方案为较佳方案。当然,该步骤也可以在步骤202与204之间执行,即先执行步骤202,再执行本步骤,然后执行步骤204。此外,该步骤也可以在步骤204与205之间执行,即先执行步骤204,再执行本步骤,然后执行步骤205。
在升级模块从服务器下载强制升级标志的情况下,步骤205中,升级模块判断升级包中是否包括最新版本的应用程序的方法包括:
升级模块对升级包进行校验,判断升级包是否为正确的升级包,是则执行步骤205,升级模块判断升级包中是否包括最新版本的应用程序,否则,执行以下步骤:
升级模块判断强制升级标志是否为强制升级,是则由升级模块提示升级包下载错误,并返回步骤201,重新启动自身的升级程序,否则,升级模块提示升级包下载错误,停止执行步骤205判断升级包中是否包括最新版本的应用程序的步骤,进而执行步骤203,启动应用模块的工作,然后停止升级程序的工作。
这里,校验的结果为校验通过,意味着升级包是正确的升级包,校验结果为校验不通过,意味着升级包不是正确的升级包。升级模块对升级包进行校验,可以防止升级包本身错误以及升级包下载错误所造成的客户端软件(应用程序和/或升级程序)受损,保证客户端软件的正常运行。
强制升级标志为强制升级,意味着服务器强制要求对客户端软件(应用程序和/或升级程序)进行升级,这种情况下,如果发生校验结果为校验不通过的情形,就需要重新下载升级包,因而本发明中,升级模块提示升级包下载错误后,返回步骤201,重新启动自身的升级程序。如果强制升级标志不是强制升级,则意味着服务器未强制要求对客户端软件(应用程序和/或升级程序)进行升级,这种情况下,如果发生校验结果为校验不通过的情形,在升级模块提示升级包下载错误之后,本发明可以不再执行步骤205,转而执行203。
为了提高服务器与升级模块之间的通信效率,本发明中,服务器存储的升级包可以为压缩升级包;则步骤204中,升级模块根据升级包下载地址,从服务器下载的升级包为压缩升级包;在步骤204升级模块根据升级包下载地址,从服务器下载压缩升级包之后,在步骤205升级模块判断升级包中是否包括最新版本的应用程序之前,还需包括:升级模块对压缩升级包进行解压缩,得到解压缩的升级包;则步骤205中升级模块判断升级包中是否包括最新版本的应用程序的方法为:升级模块判断解压缩的升级包中是否包括最新版本的应用程序;步骤208中应用模块判断升级包中是否包括最新版本的升级程序的方法为:应用模块判断解压缩的升级包中是否包括最新版本的升级程序。
为了提高服务器与升级模块之间通信的安全性,服务器存储的升级包可以为加密升级包;则步骤204升级模块根据升级包下载地址,从服务器下载的升级包为加密升级包;步骤204升级模块根据升级包下载地址,从服务器下载加密升级包之后,在步骤205升级模块判断升级包中是否包括最新版本的应用程序之前,还需包括:升级模块对加密升级包进行解密,得到解密的升级包;则步骤205升级模块判断升级包中是否包括最新版本的应用程序的方法为:升级模块判断解密的升级包中是否包括最新版本的应用程序;步骤208应用模块判断升级包中是否包括最新版本的升级程序的方法为:应用模块判断解密的升级包中是否包括最新版本的升级程序。
这里的加密与解密原理的一个实施例为:服务器端用RSA私钥对升级包加密,客户端用RSA公钥对加密升级包进行解密。
本发明还提出了一种客户端软件的升级系统,图3为该系统一个具体实施例的结构图。如图3所示,该系统包括升级模块301和应用模块302,二者均位于客户端;升级模块301存储升级程序和版本号,应用模块302存储应用程序。
升级模块301用于,启动自身的升级程序并查询服务器303存储的最新版本号和升级包下载地址;判断自身存储的版本号与最新版本号是否相同,是则启动应用模块302的工作,然后停止升级程序的工作,否则:根据升级包下载地址,从服务器303下载升级包;判断升级包中是否包括最新版本的应用程序,是则用最新版本的应用程序替换应用模块302中的应用程序,并用最新版本号替换自身存储的版本号;否则,启动应用模块302的工作,然后停止升级程序的工作;
应用模块302用于,判断升级包中是否包括最新版本的升级程序,是则用最新版本的升级程序替换升级模块301中的升级程序。
升级模块301还可以用于:根据升级包下载地址,从服务器下载强制升级标志;对升级包进行校验,判断升级包是否为正确的升级包,是则判断升级包中是否包括最新版本的应用程序,否则:判断强制升级标志是否为强制升级,是则提示升级包下载错误,并重启自身存储的升级程序;否则,提示升级包下载错误,启动应用模块302的工作,然后停止升级程序的工作。
为提高服务器303与升级模块301之间的通信效率,服务器303存储的升级包可以为压缩升级包。则升级模块301用于,根据升级包下载地址,从服务器303下载压缩升级包;对压缩升级包进行解压缩,得到解压缩的升级包;判断解压缩的升级包中是否包括最新版本的应用程序;应用模块302用于,判断解压缩的升级包中是否包括最新版本的升级程序。
为提高服务器303与升级模块301之间的通信安全性,服务器303存储的升级包可以为加密升级包;则升级模块301用于,根据升级包下载地址,从服务器303下载加密升级包;对加密升级包进行解密,得到解密的升级包;判断解密的升级包中是否包括最新版本的应用程序;应用模块302用于,判断解密的升级包中是否包括最新版本的升级程序。
需要指出的是,本发明中,服务器和升级模块之间的通讯方式可以采用HTTP或WebService技术,以适应不同平台间的相互调用,并且可以通过接口的定义来降低二者间的耦合性。
由此可见,本发明具有以下优点:
(1)本发明中,服务器所存储的升级包既可以包括最新版本的应用程序,又可以包括最新版本的升级程序,还可以二者兼有。当升级包包括最新版本的应用程序时,升级模块可用该最新版本的应用程序来替换应用模块中的应用程序,从而实现应用程序的升级;当升级包中包含最新版本的升级程序时,在升级模块停止升级程序的工作后,应用模块可以用最新版本的升级程序替换升级模块中的升级程序,从而实现升级程序的升级。可见,本发明既能对应用程序进行升级,又能对升级程序进行升级,从而保证了用户体验的连续性,延长了客户端软件的生命周期,并使客户端软件具有更好的发展前景。
(2)本发明中,升级模块对升级包进行校验,可以防止升级包本身错误以及升级包下载错误所造成的客户端软件受损,保证客户端软件的正常运行。
(3)本发明中,服务器存储的升级包为压缩升级包,可以提高服务器与升级模块之间的通信效率。
(4)本发明中,服务器存储的升级包为加密升级包,可以提高服务器与升级模块之间通信的安全性。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种客户端软件的升级方法,所述客户端包括升级模块和应用模块;其特征在于,该方法包括:
升级模块启动自身的升级程序并查询服务器存储的最新版本号和升级包下载地址;
所述升级模块判断自身存储的版本号与所述最新版本号是否相同,是则启动所述应用模块的工作,然后停止所述升级程序的工作,否则:
所述升级模块根据所述升级包下载地址,从所述服务器下载升级包;
所述升级模块判断所述升级包中是否包括最新版本的应用程序,是则用所述最新版本的应用程序替换所述应用模块中的应用程序,并用所述最新版本号替换自身存储的所述版本号;否则:所述升级模块启动所述应用模块的工作,然后停止所述升级程序的工作;所述应用模块判断所述升级包中是否包括最新版本的升级程序,是则用所述最新版本的升级程序替换所述升级模块中的升级程序。
2.根据权利要求1所述的方法,其特征在于,所述升级模块判断自身存储的版本号与所述最新版本号不相同之后,在其判断所述升级包中是否包括最新版本的应用程序之前,还包括:所述升级模块根据所述升级包下载地址,从所述服务器下载强制升级标志;则
所述升级模块判断所述升级包中是否包括最新版本的应用程序的方法包括:所述升级模块对所述升级包进行校验,判断所述升级包是否为正确的升级包,是则判断所述升级包中是否包括最新版本的应用程序,否则:
所述升级模块判断所述强制升级标志是否为强制升级,是则提示升级包下载错误,并返回启动自身的升级程序的步骤,否则,提示升级包下载错误,停止判断所述升级包中是否包括最新版本的应用程序,启动所述应用模块的工作,然后停止所述升级程序的工作。
3.根据权利要求1所述的方法,其特征在于,服务器存储的升级包为压缩升级包;则所述升级模块根据所述升级包下载地址,从所述服务器下载的升级包为所述压缩升级包;
所述升级模块根据所述升级包下载地址,从所述服务器下载所述压缩升级包之后,在判断所述升级包中是否包括最新版本的应用程序之前,还包括:所述升级模块对所述压缩升级包进行解压缩,得到解压缩的升级包;则
所述升级模块判断所述升级包中是否包括最新版本的应用程序的方法为:所述升级模块判断所述解压缩的升级包中是否包括最新版本的应用程序;
所述应用模块判断所述升级包中是否包括最新版本的升级程序的方法为:所述应用模块判断所述解压缩的升级包中是否包括最新版本的升级程序。
4.根据权利要求1-3中任一权利要求所述的方法,其特征在于,服务器存储的升级包为加密升级包;则所述升级模块根据所述升级包下载地址,从所述服务器下载的升级包为所述加密升级包;
所述升级模块根据所述升级包下载地址,从所述服务器下载所述加密升级包之后,在判断所述升级包中是否包括最新版本的应用程序之前,还包括:所述升级模块对所述加密升级包进行解密,得到解密的升级包;则
所述升级模块判断所述升级包中是否包括最新版本的应用程序的方法为:所述升级模块判断所述解密的升级包中是否包括最新版本的应用程序;
所述应用模块判断所述升级包中是否包括最新版本的升级程序的方法为:所述应用模块判断所述解密的升级包中是否包括最新版本的升级程序。
5.一种客户端软件的升级系统,其特征在于,该系统包括升级模块和应用模块;所述升级模块存储升级程序和版本号,所述应用模块存储应用程序;
所述升级模块用于,启动自身的升级程序并查询服务器存储的最新版本号和升级包下载地址;判断自身存储的版本号与所述最新版本号是否相同,是则启动所述应用模块的工作,然后停止所述升级程序的工作,否则:根据所述升级包下载地址,从所述服务器下载升级包;判断所述升级包中是否包括最新版本的应用程序,是则用所述最新版本的应用程序替换所述应用模块中的应用程序,并用所述最新版本号替换自身存储的所述版本号;否则,启动所述应用模块的工作,然后停止所述升级程序的工作;
所述应用模块用于,判断所述升级包中是否包括最新版本的升级程序,是则用所述最新版本的升级程序替换所述升级模块中的升级程序。
6.根据权利要求5所述的系统,其特征在于,所述升级模块还用于:根据所述升级包下载地址,从所述服务器下载强制升级标志;对所述升级包进行校验,判断所述升级包是否为正确的升级包,是则判断所述升级包中是否包括最新版本的应用程序,否则:判断所述强制升级标志是否为强制升级,是则提示升级包下载错误,并重启自身存储的升级程序;否则,提示升级包下载错误,启动所述应用模块的工作,然后停止所述升级程序的工作。
7.根据权利要求5所述的系统,其特征在于,服务器存储的升级包为压缩升级包;
所述升级模块用于,根据所述升级包下载地址,从所述服务器下载所述压缩升级包;对所述压缩升级包进行解压缩,得到解压缩的升级包;判断所述解压缩的升级包中是否包括最新版本的应用程序;
所述应用模块用于,判断所述解压缩的升级包中是否包括最新版本的升级程序。
8.根据权利要求5-7中任一权利要求所述的系统,其特征在于,服务器存储的升级包为加密升级包;
所述升级模块用于,根据所述升级包下载地址,从所述服务器下载所述加密升级包;对所述加密升级包进行解密,得到解密的升级包;判断所述解密的升级包中是否包括最新版本的应用程序;
所述应用模块用于,判断所述解密的升级包中是否包括最新版本的升级程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310646953.0A CN104702631B (zh) | 2013-12-04 | 2013-12-04 | 一种客户端软件的升级方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310646953.0A CN104702631B (zh) | 2013-12-04 | 2013-12-04 | 一种客户端软件的升级方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104702631A true CN104702631A (zh) | 2015-06-10 |
CN104702631B CN104702631B (zh) | 2018-04-10 |
Family
ID=53349397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310646953.0A Active CN104702631B (zh) | 2013-12-04 | 2013-12-04 | 一种客户端软件的升级方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104702631B (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105827461A (zh) * | 2016-05-13 | 2016-08-03 | 长沙威胜信息技术有限公司 | 电力线载波通信模块的升级方法 |
CN105893093A (zh) * | 2016-03-31 | 2016-08-24 | 北京奇艺世纪科技有限公司 | 一种应用程序升级方法及装置 |
CN105975296A (zh) * | 2016-04-26 | 2016-09-28 | 百度在线网络技术(北京)有限公司 | 移动应用升级方法和装置 |
CN105978849A (zh) * | 2015-12-08 | 2016-09-28 | 乐视网信息技术(北京)股份有限公司 | 客户端的更新方法、系统及客户端与服务器 |
CN106485153A (zh) * | 2016-10-10 | 2017-03-08 | 聚好看科技股份有限公司 | 版本升级方法及终端设备 |
CN106610839A (zh) * | 2015-10-21 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 发布升级包的方法、轻量升级方法、装置及系统 |
CN107205014A (zh) * | 2017-04-14 | 2017-09-26 | 腾讯科技(深圳)有限公司 | 一种应用程序下载方法及客户端 |
CN107704280A (zh) * | 2016-11-15 | 2018-02-16 | 平安科技(深圳)有限公司 | 应用程序升级方法及系统 |
CN107885516A (zh) * | 2016-09-30 | 2018-04-06 | 环鸿电子(昆山)有限公司 | 应用程序更新方法及移动装置 |
CN107894897A (zh) * | 2017-11-21 | 2018-04-10 | 丹东华通测控有限公司 | 一种能耗采集器远程实时升级和配置方法 |
CN107943530A (zh) * | 2017-11-02 | 2018-04-20 | 安徽科微智能科技有限公司 | 基于usb接口的无人船系统自动升级方法 |
CN108984201A (zh) * | 2018-07-09 | 2018-12-11 | 深圳市思迪信息技术股份有限公司 | 移动平台版本智能在线升级方法及装置 |
CN109614129A (zh) * | 2018-11-19 | 2019-04-12 | 深圳市广和通无线股份有限公司 | 多路系统的交替升级方法 |
CN110069266A (zh) * | 2018-01-24 | 2019-07-30 | 腾讯科技(深圳)有限公司 | 应用升级方法、装置、计算机设备以及存储介质 |
CN110119279A (zh) * | 2018-02-06 | 2019-08-13 | 北京京东尚科信息技术有限公司 | 一种应用及其升级的方法和装置 |
CN111161039A (zh) * | 2018-11-08 | 2020-05-15 | 航天信息股份有限公司 | 一种发票选择确认平台版本信息的监测方法及监测装置 |
CN111443937A (zh) * | 2020-04-22 | 2020-07-24 | 珠海格力电器股份有限公司 | 嵌套式远程升级方法及客户端、升级程序的升级方法 |
CN111796842A (zh) * | 2020-06-10 | 2020-10-20 | 云南电网有限责任公司 | 一种日志客户端软件远程升级方法及装置 |
CN112527354A (zh) * | 2020-12-11 | 2021-03-19 | 山东中创软件商用中间件股份有限公司 | 一种监控软件升级方法、装置、设备及可读存储介质 |
CN117632199A (zh) * | 2024-01-26 | 2024-03-01 | 荣耀终端有限公司 | 程序升级方法、电子设备、芯片系统和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060248172A1 (en) * | 2003-06-24 | 2006-11-02 | Thomas Zurawka | Method for updating software of an electronic control device by flash programming via a serial interface and corresponding automatic state machine |
CN1924802A (zh) * | 2006-10-08 | 2007-03-07 | 北京启明星辰信息技术有限公司 | 升级程序自身升级方法 |
CN101399593A (zh) * | 2007-09-30 | 2009-04-01 | 大唐移动通信设备有限公司 | 基站、基带处理单元、射频拉远单元及其版本更新方法 |
CN101937348A (zh) * | 2010-08-20 | 2011-01-05 | 四川长虹电器股份有限公司 | 电视软件在线增量升级方法 |
CN101984691A (zh) * | 2010-10-25 | 2011-03-09 | 东莞宇龙通信科技有限公司 | 系统内置软件的升级方法和移动终端 |
CN102169437A (zh) * | 2010-02-26 | 2011-08-31 | 英业达股份有限公司 | 以分离的模块提供软件更新的系统及其方法 |
CN102609326A (zh) * | 2012-01-17 | 2012-07-25 | 大唐移动通信设备有限公司 | 一种数据下载处理方法及装置 |
-
2013
- 2013-12-04 CN CN201310646953.0A patent/CN104702631B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060248172A1 (en) * | 2003-06-24 | 2006-11-02 | Thomas Zurawka | Method for updating software of an electronic control device by flash programming via a serial interface and corresponding automatic state machine |
CN1924802A (zh) * | 2006-10-08 | 2007-03-07 | 北京启明星辰信息技术有限公司 | 升级程序自身升级方法 |
CN101399593A (zh) * | 2007-09-30 | 2009-04-01 | 大唐移动通信设备有限公司 | 基站、基带处理单元、射频拉远单元及其版本更新方法 |
CN102169437A (zh) * | 2010-02-26 | 2011-08-31 | 英业达股份有限公司 | 以分离的模块提供软件更新的系统及其方法 |
CN101937348A (zh) * | 2010-08-20 | 2011-01-05 | 四川长虹电器股份有限公司 | 电视软件在线增量升级方法 |
CN101984691A (zh) * | 2010-10-25 | 2011-03-09 | 东莞宇龙通信科技有限公司 | 系统内置软件的升级方法和移动终端 |
CN102609326A (zh) * | 2012-01-17 | 2012-07-25 | 大唐移动通信设备有限公司 | 一种数据下载处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
刘洪斌: "《客户端程序自动升级解决方案》", 《现代计算机》 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106610839A (zh) * | 2015-10-21 | 2017-05-03 | 阿里巴巴集团控股有限公司 | 发布升级包的方法、轻量升级方法、装置及系统 |
CN105978849A (zh) * | 2015-12-08 | 2016-09-28 | 乐视网信息技术(北京)股份有限公司 | 客户端的更新方法、系统及客户端与服务器 |
CN105893093A (zh) * | 2016-03-31 | 2016-08-24 | 北京奇艺世纪科技有限公司 | 一种应用程序升级方法及装置 |
CN105975296A (zh) * | 2016-04-26 | 2016-09-28 | 百度在线网络技术(北京)有限公司 | 移动应用升级方法和装置 |
CN105827461A (zh) * | 2016-05-13 | 2016-08-03 | 长沙威胜信息技术有限公司 | 电力线载波通信模块的升级方法 |
CN107885516A (zh) * | 2016-09-30 | 2018-04-06 | 环鸿电子(昆山)有限公司 | 应用程序更新方法及移动装置 |
CN106485153A (zh) * | 2016-10-10 | 2017-03-08 | 聚好看科技股份有限公司 | 版本升级方法及终端设备 |
CN107704280A (zh) * | 2016-11-15 | 2018-02-16 | 平安科技(深圳)有限公司 | 应用程序升级方法及系统 |
CN107205014A (zh) * | 2017-04-14 | 2017-09-26 | 腾讯科技(深圳)有限公司 | 一种应用程序下载方法及客户端 |
CN107943530A (zh) * | 2017-11-02 | 2018-04-20 | 安徽科微智能科技有限公司 | 基于usb接口的无人船系统自动升级方法 |
CN107894897A (zh) * | 2017-11-21 | 2018-04-10 | 丹东华通测控有限公司 | 一种能耗采集器远程实时升级和配置方法 |
CN110069266B (zh) * | 2018-01-24 | 2022-02-01 | 腾讯科技(深圳)有限公司 | 应用升级方法、装置、计算机设备以及存储介质 |
CN110069266A (zh) * | 2018-01-24 | 2019-07-30 | 腾讯科技(深圳)有限公司 | 应用升级方法、装置、计算机设备以及存储介质 |
CN110119279A (zh) * | 2018-02-06 | 2019-08-13 | 北京京东尚科信息技术有限公司 | 一种应用及其升级的方法和装置 |
CN110119279B (zh) * | 2018-02-06 | 2024-05-17 | 北京京东尚科信息技术有限公司 | 一种应用及其升级的方法和装置 |
CN108984201A (zh) * | 2018-07-09 | 2018-12-11 | 深圳市思迪信息技术股份有限公司 | 移动平台版本智能在线升级方法及装置 |
CN111161039A (zh) * | 2018-11-08 | 2020-05-15 | 航天信息股份有限公司 | 一种发票选择确认平台版本信息的监测方法及监测装置 |
CN109614129A (zh) * | 2018-11-19 | 2019-04-12 | 深圳市广和通无线股份有限公司 | 多路系统的交替升级方法 |
CN111443937A (zh) * | 2020-04-22 | 2020-07-24 | 珠海格力电器股份有限公司 | 嵌套式远程升级方法及客户端、升级程序的升级方法 |
CN111796842A (zh) * | 2020-06-10 | 2020-10-20 | 云南电网有限责任公司 | 一种日志客户端软件远程升级方法及装置 |
CN112527354A (zh) * | 2020-12-11 | 2021-03-19 | 山东中创软件商用中间件股份有限公司 | 一种监控软件升级方法、装置、设备及可读存储介质 |
CN117632199A (zh) * | 2024-01-26 | 2024-03-01 | 荣耀终端有限公司 | 程序升级方法、电子设备、芯片系统和存储介质 |
CN117632199B (zh) * | 2024-01-26 | 2024-07-05 | 荣耀终端有限公司 | 程序升级方法、电子设备、芯片系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104702631B (zh) | 2018-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104702631A (zh) | 一种客户端软件的升级方法和系统 | |
CN102830992B (zh) | 插件加载方法及系统 | |
KR101299099B1 (ko) | 임베디드 시스템에서 최적화된 가상화 모듈을 관리하는 장치 및 방법 | |
CN107346252B (zh) | 应用更新方法和装置 | |
CN104680039B (zh) | 一种应用程序安装包的数据保护方法及装置 | |
CN104915220B (zh) | 一种客户端应用程序的升级方法和系统、客户端 | |
CN103577206A (zh) | 一种应用软件的安装方法和装置 | |
TWI518595B (zh) | 軟體更新方法及系統以及行動裝置 | |
CN104166565A (zh) | 一种智能显示终端固件升级方法 | |
EP3026557A1 (en) | Method and device for providing verifying application integrity | |
CN104346167A (zh) | 生成应用渠道包的方法及装置 | |
CN104573435A (zh) | 用于终端权限管理的方法和终端 | |
CN104166564B (zh) | 一种显示终端程序更新方法 | |
CN106201607A (zh) | 一种软件版本的升级方法及设备 | |
CN105554091A (zh) | 一种移动终端中web应用来源安全的保障方法 | |
CN105468395A (zh) | 更新方法、装置及系统 | |
CN104866739A (zh) | 安卓系统中应用程序加密方法及系统 | |
CN111240709A (zh) | 一种基于android系统的POS设备的固件升级方法及系统 | |
CN108418893A (zh) | 一种智能设备固件安全升级的方法 | |
CN109857385B (zh) | 应用程序文件打包方法、安装方法及启动方法 | |
CN105678120B (zh) | 一种应用程序安全防护方法和服务器 | |
KR20170044850A (ko) | 안드로이드 어플리케이션 동적 로딩 방법 | |
CN113961226B (zh) | 一种软件开发工具包修复方法、终端、服务器及设备 | |
CN105187410A (zh) | 一种应用的自升级方法及其系统 | |
CN104572169B (zh) | 一种基于uefi的软件分发和安装系统 |
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 |