CN111090444A - 版本升级方法、装置、存储介质及电子设备 - Google Patents
版本升级方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111090444A CN111090444A CN201911222117.3A CN201911222117A CN111090444A CN 111090444 A CN111090444 A CN 111090444A CN 201911222117 A CN201911222117 A CN 201911222117A CN 111090444 A CN111090444 A CN 111090444A
- Authority
- CN
- China
- Prior art keywords
- version
- file
- mode
- upgrading
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 9
- 239000002699 waste material Substances 0.000 abstract description 13
- 238000012423 maintenance Methods 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008439 repair process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及一种版本升级方法、装置、存储介质及电子设备,该方法通过接收客户端发送的版本升级请求,该版本升级请求中包括客户端程序的当前版本对应的第一版本标识;获取该客户端程序的最新版本对应的第二版本标识;根据该第一版本标识和该第二版本标识确定目标升级方式,该目标升级方式包括文件替换方式,增量更新方式或者全量更新方式;根据该目标升级方式对该客户端程序进行版本升级。这样,根据当前版本与最新版本的实际状况确定适当的版本升级方式,能够避免服务器资源的浪费,提高版本升级效率,降低应用程序的维护成本,也能够提升用户的体验。
Description
技术领域
本公开涉及计算机技术,具体地,涉及一种版本升级方法、装置、存储介质及电子设备。
背景技术
为了修复低版本应用程序的漏洞或者拓展应用程序的功能,优化应用程序的服务效果通常需要对客户端上的应用程序进行版本升级,从而更好的满足用户的需求,提升用户体验。目前在进行应用程序的版本升级时,无论是针对版本间隔数量较多的大升级,还是简单问题的小修复,一般都是采用固定的一种升级方式,所以经常会在最新版本与当前版本之间的版本间隔数量较多时,采用增量更新方式进行版本升级,也会在进行简单问题的小修复时,采用更新全部安装文件的方式进行版本升级;要知道,在版本间隔数量较多时,采用增量更新方式进行版本升级时,需要首先生成相邻版本之间的增量更新包,版本更新间隔较多会造成增量更新包数量过多,而生成过多的增量更新包不仅会对服务端的资源造成一定的消耗,也会使维护成本陡增;而在进行简单修复时,若还将所有版本文件进行更新,会造成不必要的流量浪费;也就是说,当前的应用程序升级不能根据实际的升级状况选用适当的版本升级方式,不仅会造成不必要的资源浪费,也会降低版本升级效率,不利于降低应用程序的维护成本,也不利于提升用户体验。
发明内容
本公开的目的是提供一种版本升级方法、装置、存储介质及电子设备,应用解决当前的应用程序升级不能根据实际的升级状况选用适当的版本升级方式,不仅会造成不必要的资源浪费,也会降低版本升级效率的技术问题。
为了实现上述目的,本公开的第一方面提供一种版本升级方法,应用于服务器,所述方法包括:
接收客户端发送的版本升级请求,所述版本升级请求中包括客户端程序的当前版本对应的第一版本标识;
获取所述客户端程序的最新版本对应的第二版本标识;
根据所述第一版本标识和所述第二版本标识确定目标升级方式,所述目标升级方式包括文件替换方式,增量更新方式或者全量更新方式;
根据所述目标升级方式对所述客户端程序进行版本升级。
可选地,所述根据所述第一版本标识和所述第二版本标识确定目标升级方式,包括:
根据所述第一版本标识和所述第二版本标识获取所述当前版本与所述最新版本之间间隔的版本数量;
若确定所述版本数量大于或者等于预设间隔阈值,确定所述目标升级方式为所述全量更新方式;
若确定所述版本数量小于或者等于所述预设间隔阈值,根据所述当前版本对应的当前版本文件与所述最新版本对应的最新版本文件之间的差异文件包确定所述目标升级方式。
可选地,所述根据所述当前版本对应的当前版本文件与所述最新版本对应的最新版本文件之间的差异文件包确定所述目标升级方式,包括:
获取所述当前版本文件与所述最新版本文件之间的所述差异文件包的第一字节数;
在确定所述第一字节数小于或者等于预设阈值时,确定所述目标升级方式为所述文件替换方式。
可选地,所述根据所述当前版本对应的当前版本文件与所述最新版本对应的最新版本文件之间的差异文件包确定所述目标升级方式,还包括:
在确定所述第一字节数大于所述预设阈值时,获取所述当前版本文件与所述最新版本文件之间的增量更新文件的第二字节数;
获取所述第二字节数与所述第一字节数的差值;
在确定所述差值大于或者等于预设差值阈值时,确定所述目标升级方式为所述文件替换方式;
在确定所述差值小于所述预设差值阈值时,确定所述目标升级方式为所述增量更新方式。
可选地,所述根据所述目标升级方式对所述客户端程序进行版本升级,包括:
在确定所述目标升级方式为所述文件替换方式时,向所述客户端返回所述当前版本对应的当前版本文件与所述最新版本对应的最新版本文件的差异文件包,以使所述客户端程序通过所述差异文件包进行版本升级;
在确定所述目标升级方式为所述增量更新方式时,向所述客户端返回所述当前版本文件与所述最新版本文件之间的增量更新文件,以使所述客户端程序通过所述增量更新文件进行版本升级。
在确定所述目标升级方式为所述全量更新方式时,向所述客户端返回所述最新版本文件,以使所述客户端程序通过所述最新版本文件进行版本升级。
可选地,所述方法还包括:
接收所述客户端程序升级之后向所述服务器发送的目标版本标识;
根据所述目标版本标识确定所述客户端程序是否升级失败;
在确定所述客户端程序升级失败时,向所述客户端发送所述最新版本的对应的最新版本文件,以使所述客户端程序重新通过所述最新版本文件进行版本升级。
在本公开的第二方面提供一种版本升级装置,应用于服务器,所述装置包括:
第一接收模块,用于接收客户端发送的版本升级请求,所述版本升级请求中包括客户端程序的当前版本对应的第一版本标识;
获取模块,用于获取所述客户端程序的最新版本对应的第二版本标识;
第一确定模块,用于根据所述第一版本标识和所述第二版本标识确定目标升级方式,所述目标升级方式包括文件替换方式,增量更新方式或者全量更新方式;
升级模块,用于根据所述目标升级方式对所述客户端程序进行版本升级。
可选地,所述第一确定模块包括:
获取子模块,用于根据所述第一版本标识和所述第二版本标识获取所述当前版本与所述最新版本之间间隔的版本数量;
确定子模块,用于若确定所述版本数量大于或者等于预设间隔阈值,确定所述目标升级方式为所述全量更新方式;
所述确定子模块,还用于若确定所述版本数量小于或者等于所述预设间隔阈值,根据所述当前版本对应的当前版本文件与所述最新版本对应的最新版本文件之间的差异文件包确定所述目标升级方式。
可选地,所述确定子模块,用于:
获取所述当前版本文件与所述最新版本文件之间的所述差异文件包的第一字节数;
在确定所述第一字节数小于或者等于预设阈值时,确定所述目标升级方式为所述文件替换方式。
可选地,所述确定子模块,还用于:
在确定所述第一字节数大于所述预设阈值时,获取所述当前版本文件与所述最新版本文件之间的增量更新文件的第二字节数;
获取所述第二字节数与所述第一字节数的差值;
在确定所述差值大于或者等于预设差值阈值时,确定所述目标升级方式为所述文件替换方式;
在确定所述差值小于所述预设差值阈值时,确定所述目标升级方式为所述增量更新方式。
可选地,所述升级模块,包括:
第一发送子模块,用于在确定所述目标升级方式为所述文件替换方式时,向所述客户端返回所述当前版本对应的当前版本文件与所述最新版本对应的最新版本文件的差异文件包,以使所述客户端程序通过所述差异文件包进行版本升级;
第二发送子模块,用于在确定所述目标升级方式为所述增量更新方式时,向所述客户端返回所述当前版本文件与所述最新版本文件之间的增量更新文件,以使所述客户端程序通过所述增量更新文件进行版本升级。
第三发送子模块,用于在确定所述目标升级方式为所述全量更新方式时,向所述客户端返回所述最新版本文件,以使所述客户端程序通过所述最新版本文件进行版本升级。
可选地,所述装置还包括:
第二接收模块,用于接收所述客户端程序升级之后向所述服务器发送的目标版本标识;
第二确定模块,用于根据所述目标版本标识确定所述客户端程序是否升级失败;
所述第二确定模块,还用于在确定所述客户端程序升级失败时,向所述客户端发送所述最新版本的对应的最新版本文件,以使所述客户端程序重新通过所述最新版本文件进行版本升级。
在本公开的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以上第一方面所述方法的步骤。
在本公开的第四方面提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现以上第一方面所述方法的步骤。
上述技术方案,接收客户端发送的版本升级请求,所述版本升级请求中包括客户端程序的当前版本对应的第一版本标识;获取所述客户端程序的最新版本对应的第二版本标识;根据所述第一版本标识和所述第二版本标识确定目标升级方式,所述目标升级方式包括文件替换方式,增量更新方式或者全量更新方式;根据所述目标升级方式对所述客户端程序进行版本升级。这样,根据当前版本与最新版本的实际状况确定适当的版本升级方式,能够避免服务器资源的浪费,提高版本升级效率,降低应用程序的维护成本,也能够提升用户的体验。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开一示例性实施例示出的一种版本升级方法的流程框图;
图2是本公开另一示例性实施例示出的一种版本升级方法的流程框图;
图3是根据图2所示实施例示出的一种版本升级方法的流程框图;
图4是本公开又一示例性实施例示出的一种版本升级装置的框图;
图5是根据图4所示实施例示出的一种版本升级装置的框图;
图6是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
在详细介绍本公开的具体实施方式之前,首先对本公开的应用场景作以简单说明。本公开可以应用于客户端的应用程序的版本升级过程,当前进行版本升级时,要么采用增量更新方式,即服务器生成新版本与旧版本之间每两个相邻版本之间的增量更新包,客户端通过该增量更新包与客户端本地存储的应用程序安装包进行结合,从而得到新版本的版本文件,安装运行该新版本的版本文件从而完成版本升级;要么采用全量更新方式,即服务器向客户端发送新版本的版本文件,客户端通过安装该新版本的版本文件覆盖旧版本的版本文件,从而完成版本更新。但是,目前在进行应用程序的版本升级时,无论是针对版本间隔数量较多的大升级,还是简单问题的小修复,一般都是采用固定的一种升级方式,所以经常会在最新版本与当前版本之间的版本间隔数量较多时,采用增量更新方式进行版本升级,也会在进行简单问题的小修复时,采用更新全部安装文件的方式进行版本升级;要知道,在版本间隔数量较多时,采用增量更新方式进行版本升级时,需要首先生成相邻版本之间的增量更新包,版本更新间隔较多会造成增量更新包数量过多,而生成过多的增量更新包不仅会对服务端的资源造成一定的消耗,也会使维护成本陡增;而在进行简单修复时,若还将所有版本文件进行更新,会造成不必要的流量浪费;也就是说,当前的应用程序升级不能根据实际的升级状况选用适当的版本升级方式,不仅会造成不必要的资源浪费,也会降低版本升级效率,不利于降低应用程序的维护成本,也不利于提升用户体验。
为了解决上述技术问题,本公开提供一种版本升级方法、装置、存储介质及电子设备,该方法通过接收客户端发送的版本升级请求,该版本升级请求中包括客户端程序的当前版本对应的第一版本标识;获取该客户端程序的最新版本对应的第二版本标识;根据该第一版本标识和该第二版本标识确定目标升级方式,该目标升级方式包括文件替换方式,增量更新方式或者全量更新方式;根据该目标升级方式对该客户端程序进行版本升级。这样,根据当前版本与最新版本的实际状况确定适当的版本升级方式,能够避免服务器资源的浪费,提高版本升级效率,降低应用程序的维护成本,也能够提升用户的体验。
图1是本公开一示例性实施例示出的一种版本升级方法的流程框图;参见图1,该方法应用于服务器,可以包括以下步骤:
步骤101,接收客户端发送的版本升级请求。
其中,该版本升级请求中包括客户端程序的当前版本对应的第一版本标识。
需要说明的是,该当前版本可以是该客户端当前安装的客户端程序的版本,该客户端程序可以是客户端上安装的应用程序。该第一版本标识可以是该客户端程序的当前版本的版本号,版本代码,版本名称或者版本图标等。
步骤102,获取该客户端程序的最新版本对应的第二版本标识。
其中,该最新版本可以是该客户端程序要更新的目的版本。该第二版本标识可以是该客户端应用程序的最新版本的版本号,版本代码,版本名称或者版本图标等。
步骤103,根据该第一版本标识和该第二版本标识确定目标升级方式。
其中,该目标升级方式包括文件替换方式,增量更新方式或者全量更新方式。
本步骤中一种可能的实施方式为:根据该第一版本标识和该第二版本标识获取该当前版本与该最新版本之间间隔的版本数量;若确定该版本数量大于或者等于预设间隔阈值,确定该目标升级方式为该全量更新方式;若确定该版本数量小于或者等于该预设间隔阈值,根据该当前版本对应的当前版本文件与该最新版本对应的最新版本文件之间的差异文件包确定该目标升级方式。
其中,该根据该当前版本对应的当前版本文件与该最新版本对应的最新版本文件之间的差异文件包确定该目标升级方式,可以包括以下步骤:
S1、获取该当前版本文件与该最新版本文件之间的该差异文件包的第一字节数。
S2、在确定该第一字节数小于或者等于预设阈值时,确定该目标升级方式为该文件替换方式。
S3、在确定该第一字节数大于该预设阈值时,获取该当前版本文件与该最新版本文件之间的增量更新文件的第二字节数;获取该第二字节数与该第一字节数的差值;在确定该差值大于或者等于预设差值阈值时,确定该目标升级方式为该文件替换方式;在确定该差值小于该预设差值阈值时,确定该目标升级方式为该增量更新方式。
需要说明的是,该文件替换方式为生成该当前版本文件与该最新版本文件之间存在变化的差异文件包,用该差异文件包直接替换该当前版本文件中存在变化的文件,以得到最新版本文件的升级方式。该增量更新方式为生成该当前版本文件至该最新版本文件之间,每两个相邻版本之间的增量更新包,客户端通过该增量更新包与客户端本地存储的客户端程序安装包进行结合,从而得到最新版本文件的升级方式;要么采用全量更新方式,即服务器向客户端发送最新版本文件,客户端通过安装该最新版本文件覆盖当前版本文件完成版本升级的过程。
步骤104,根据该目标升级方式对该客户端程序进行版本升级。
在本步骤中,在确定该目标升级方式为该文件替换方式时,向该客户端返回该当前版本对应的当前版本文件与该最新版本对应的最新版本文件的差异文件包,以使该客户端程序通过该差异文件包进行版本升级;在确定该目标升级方式为该增量更新方式时,向该客户端返回该当前版本文件与该最新版本文件之间的增量更新文件,以使该客户端程序通过该增量更新文件进行版本升级。在确定该目标升级方式为该全量更新方式时,向该客户端返回该最新版本文件,以使该客户端程序通过该最新版本文件进行版本升级。
这样,根据当前版本与最新版本的实际状况确定适当的版本升级方式,能够避免服务器资源的浪费,提高版本升级效率,降低应用程序的维护成本,也能够提升用户的体验。
图2是本公开另一示例性实施例示出的一种版本升级方法的流程框图;参见图2,该方法可以包括以下步骤:
步骤201,接收客户端发送的版本升级请求。
其中,该版本升级请求中包括客户端程序的当前版本对应的第一版本标识。该第一版本标识可以是该客户端程序的当前版本的版本号,版本代码,版本名称或者版本图标等。
步骤202,获取该客户端程序的最新版本对应的第二版本标识。
其中,该最新版本可以是该客户端程序要更新的目的版本。该第二版本标识可以是该客户端应用程序的最新版本的版本号,版本代码,版本名称或者版本图标等。
步骤203,根据该第一版本标识和该第二版本标识获取该当前版本与该最新版本之间间隔的版本数量。
本步可以包括以下实施方式:
方式一,可以直接根据该第一版本标识和该第二版本标识确定该第一版本标识与该第二版本标识之间间隔的版本数量。例如,当前版本为V1.9,最新版本为2.1,该当前版本V1.9与V2.0之间包括V1.91,V1.92,V2.0及V2.01,因此该当前版本为V1.9,与该最新版本为2.1之间间隔的版本数量为4。
方式二,可以先根据该第一版本标识确定该当前版本的第一出品时间,根据该第二版本标识确定该最新版本的第二出品时间,获取该第一出品时间与该最新版本的第二出品时间之间包括的版本数量,例如:当前版本为V1.9对应的第一出品时间为2018年1月份,该最新版本为2.1对应的第二出品时间为2019年11月份,2018年1月份至2019年11月份期间,在2018年6月份出品了版本V1.91,在2018年12月份出品了版本V1.92,在2019年3月份出品了版本V2.0,在2019年8月份出品了版本V2.01,因此该当前版本为V1.9,与该最新版本为2.1之间间隔的版本数量为4。
需要说明的是,通常服务器上存储有每次版本更新的版本文件信息,该版本文件信息可以包括版本文件,版本名称,版本出品时间等,在该服务器获取到该第一版本标识和该第二版本标识的情况下,可以确定出该第一版本标识的第一出品时间,该第二版本标识对应第二出品时间。
步骤204,确定该版本数量是否大于或者等于预设间隔阈值。
在本步骤中,若确定该版本数量大于或者等于预设间隔阈值,则执行步骤205;若确定该版本数量小于或者等于该预设间隔阈值,则执行步骤206至207。
步骤205,确定该目标升级方式为该全量更新方式。
其中,该全量更新方式为该服务器向客户端发送最新版本文件,客户端通过安装该最新版本文件覆盖当前版本文件完成版本升级的过程。
步骤206,获取该当前版本文件与该最新版本文件之间的该差异文件包的第一字节数。
其中,该差异文件包可以包括当前版本文件与该最新版本文件之间有变化的文件,该第一字节数可以表征该差异包文件的文件大小,例如,该差异包文件为2Mb的文件。
步骤207,确定该第一字节数是否小于或者等于预设阈值。
在本步骤中,在确定该第一字节数小于或者等于预设阈值时,执行步骤208;在确定该第一字节数大于该预设阈值时,执行步骤209至210。
步骤208,确定该目标升级方式为该文件替换方式。
其中,该文件替换方式为用该差异文件包直接替换该当前版本文件中存在变化的文件,以得到最新版本文件的升级方式。
步骤209,获取该当前版本文件与该最新版本文件之间的增量更新文件的第二字节数。
其中,该增量更新文件可以包括该当前版本文件至该最新版本文件之间,每两个相邻版本之间的增量更新包。该第二字节数用于表征该增量更新文件的文件大小,例如该增量更新文件为6Mb的文件。
步骤210,获取该第二字节数与该第一字节数的差值。
示例地,该差异包文件为2Mb的文件,该增量更新文件为6Mb的文件,则该差值为4Mb。
步骤211,确定该差值是否大于或者等于预设差值阈值。
其中,该预设差值阈值可以是最新版本文件的三分之一。
在本步骤中,在确定该差值大于或者等于预设差值阈值时,执行步骤208;在确定该差值小于该预设差值阈值时,执行步骤212。
步骤212,确定该目标升级方式为该增量更新方式。
其中,该增量更新方式为客户端通过该增量更新文件与客户端本地存储的客户端程序安装包进行结合,从而得到最新版本文件的升级方式。
这样,在增量更新文件大于或者等于预设差值阈值时,采用文件替换方式进行版本升级,能够避免采用增量更新方式对服务器资源的浪费,也能够节约流量,提升用户的体验。
步骤213,该根据该目标升级方式对该客户端程序进行版本升级。
其中,在确定该目标升级方式为该文件替换方式时,向该客户端返回该当前版本对应的当前版本文件与该最新版本对应的最新版本文件的差异文件包,以使该客户端程序通过该差异文件包进行版本升级;在确定该目标升级方式为该增量更新方式时,向该客户端返回该当前版本文件与该最新版本文件之间的增量更新文件,以使该客户端程序通过该增量更新文件进行版本升级。在确定该目标升级方式为该全量更新方式时,向该客户端返回该最新版本文件,以使该客户端程序通过该最新版本文件进行版本升级。
以上技术方案,根据当前版本与最新版本的实际状况确定适当的版本升级方式,能够避免服务器资源的浪费,提高版本升级效率,降低应用程序的维护成本,也能够提升用户的体验。
在步骤213根据目标升级方式向该客户端返回对应的文件之后,客户端根据该文件得到最新版本文件,并安装该最新版本文件,在安装完成该最新版本文件之后,该方法还可以包括以下图3所示的步骤,图3是根据图2所示实施例示出的一种版本升级方法的流程框图;参见图3,该方法还可以包括以下步骤:
步骤214,接收该客户端程序升级之后向该服务器发送的目标版本标识。
其中,该目标版本标识可以是该当前版本对应的第一版本标识,也可以是该最新版本对应的第二版本标识。
步骤215,根据该目标版本标识确定该客户端程序是否升级失败。
在本步骤中,在确定该客户端程序升级失败时,执行步骤216;在确定该客户端程序升级成功时,执行步骤217。
本步骤中一种可能的实施方式为:确定该目标版本标识是否为该最新版本对应的第二版本标识,在确定该目标版本标识为该第二版本标识时,确定该客户端程序升级成功;在确定该目标版本标识为非该第二版本标识时,确定该客户端程序升级失败。
步骤216,向该客户端发送该最新版本的对应的最新版本文件,以使该客户端程序重新通过该最新版本文件进行版本升级。
需要说明的是,在确定该客户端程序升级失败时,无论上一次升级采用哪种升级方式,都向该客户端发送该最新版本的对应的最新版本文件,即再次通过该全量更新方式进行版本升级。
步骤217,更新用户数量统计数据。
需要说明的是,通常服务器需要统计每个版本被使用的用户数量,在该版本升级过程完成之后,需要使该最新版本的用户数量增加,而该当前版本的用户数量随之减少。
这样,在确定客户端程序更新失败时,重新采用全量更新方式进行版本升级,能够确保版本升级的有效进行,能够有效提升用户的体验。
图4是本公开又一示例性实施例示出的一种版本升级装置的框图;参见图4,该装置包括:
第一接收模块401,用于接收客户端发送的版本升级请求,该版本升级请求中包括客户端程序的当前版本对应的第一版本标识;
获取模块402,用于获取该客户端程序的最新版本对应的第二版本标识;
第一确定模块403,用于根据该第一版本标识和该第二版本标识确定目标升级方式,该目标升级方式包括文件替换方式,增量更新方式或者全量更新方式;
升级模块404,用于根据该目标升级方式对该客户端程序进行版本升级。
上述技术方案,通过该第一确定模块403根据当前版本与最新版本的实际状况确定适当的版本升级方式,能够避免服务器资源的浪费,提高版本升级效率,降低应用程序的维护成本,也能够提升用户的体验。
图5是根据图4所示实施例示出的一种版本升级装置的框图;参见图5,该第一确定模块403包括:
获取子模块4031,用于根据该第一版本标识和该第二版本标识获取该当前版本与该最新版本之间间隔的版本数量;
确定子模块4032,用于若确定该版本数量大于或者等于预设间隔阈值,确定该目标升级方式为该全量更新方式;
该确定子模块4032,还用于若确定该版本数量小于或者等于该预设间隔阈值,根据该当前版本对应的当前版本文件与该最新版本对应的最新版本文件之间的差异文件包确定该目标升级方式。
可选地,该确定子模块4032,用于:
获取该当前版本文件与该最新版本文件之间的该差异文件包的第一字节数;
在确定该第一字节数小于或者等于预设阈值时,确定该目标升级方式为该文件替换方式。
可选地,该确定子模块4032,还用于:
在确定该第一字节数大于该预设阈值时,获取该当前版本文件与该最新版本文件之间的增量更新文件的第二字节数;
获取该第二字节数与该第一字节数的差值;
在确定该差值大于或者等于预设差值阈值时,确定该目标升级方式为该文件替换方式;
在确定该差值小于该预设差值阈值时,确定该目标升级方式为该增量更新方式。
可选地,该升级模块404,包括:
第一发送子模块4041,用于在确定该目标升级方式为该文件替换方式时,向该客户端返回该当前版本对应的当前版本文件与该最新版本对应的最新版本文件的差异文件包,以使该客户端程序通过该差异文件包进行版本升级;
第二发送子模块4042,用于在确定该目标升级方式为该增量更新方式时,向该客户端返回该当前版本文件与该最新版本文件之间的增量更新文件,以使该客户端程序通过该增量更新文件进行版本升级。
第三发送子模块4043,用于在确定该目标升级方式为该全量更新方式时,向该客户端返回该最新版本文件,以使该客户端程序通过该最新版本文件进行版本升级。
可选地,该装置还包括:
第二接收模块405,用于接收该客户端程序升级之后向该服务器发送的目标版本标识;
第二确定模块406,用于根据该目标版本标识确定该客户端程序是否升级失败;
该第二确定模块406,还用于在确定该客户端程序升级失败时,向该客户端发送该最新版本的对应的最新版本文件,以使该客户端程序重新通过该最新版本文件进行版本升级。
上述技术方案,不仅能够根据当前版本与最新版本的实际状况确定适当的版本升级方式,也能够在确定客户端程序更新失败时,重新采用全量更新方式进行版本升级,能够确保版本升级的有效进行,能够避免服务器资源的浪费,提高版本升级效率,降低应用程序的维护成本,从而能够有效提升用户的体验。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种电子设备的框图。例如,电子设备600可以被提供为一服务器。参照图6,电子设备600包括处理器622,其数量可以为一个或多个,以及存储器632,用于存储可由处理器622执行的计算机程序。存储器632中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器622可以被配置为执行该计算机程序,以执行上述的版本升级方法。
另外,电子设备600还可以包括电源组件626和通信组件650,该电源组件626可以被配置为执行电子设备600的电源管理,该通信组件650可以被配置为实现电子设备600的通信,例如,有线或无线通信。此外,该电子设备600还可以包括输入/输出(I/O)接口658。电子设备600可以操作基于存储在存储器632的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的版本升级方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器632,上述程序指令可由电子设备600的处理器622执行以完成上述的版本升级方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种版本升级方法,其特征在于,应用于服务器,所述方法包括:
接收客户端发送的版本升级请求,所述版本升级请求中包括客户端程序的当前版本对应的第一版本标识;
获取所述客户端程序的最新版本对应的第二版本标识;
根据所述第一版本标识和所述第二版本标识确定目标升级方式,所述目标升级方式包括文件替换方式,增量更新方式或者全量更新方式;
根据所述目标升级方式对所述客户端程序进行版本升级。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一版本标识和所述第二版本标识确定目标升级方式,包括:
根据所述第一版本标识和所述第二版本标识获取所述当前版本与所述最新版本之间间隔的版本数量;
若确定所述版本数量大于或者等于预设间隔阈值,确定所述目标升级方式为所述全量更新方式;
若确定所述版本数量小于或者等于所述预设间隔阈值,根据所述当前版本对应的当前版本文件与所述最新版本对应的最新版本文件之间的差异文件包确定所述目标升级方式。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前版本对应的当前版本文件与所述最新版本对应的最新版本文件之间的差异文件包确定所述目标升级方式,包括:
获取所述当前版本文件与所述最新版本文件之间的所述差异文件包的第一字节数;
在确定所述第一字节数小于或者等于预设阈值时,确定所述目标升级方式为所述文件替换方式。
4.根据权利要求3所述的方法,其特征在于,所述根据所述当前版本对应的当前版本文件与所述最新版本对应的最新版本文件之间的差异文件包确定所述目标升级方式,还包括:
在确定所述第一字节数大于所述预设阈值时,获取所述当前版本文件与所述最新版本文件之间的增量更新文件的第二字节数;
获取所述第二字节数与所述第一字节数的差值;
在确定所述差值大于或者等于预设差值阈值时,确定所述目标升级方式为所述文件替换方式;
在确定所述差值小于所述预设差值阈值时,确定所述目标升级方式为所述增量更新方式。
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标升级方式对所述客户端程序进行版本升级,包括:
在确定所述目标升级方式为所述文件替换方式时,向所述客户端返回所述当前版本对应的当前版本文件与所述最新版本对应的最新版本文件的差异文件包,以使所述客户端程序通过所述差异文件包进行版本升级;
在确定所述目标升级方式为所述增量更新方式时,向所述客户端返回所述当前版本文件与所述最新版本文件之间的增量更新文件,以使所述客户端程序通过所述增量更新文件进行版本升级。
在确定所述目标升级方式为所述全量更新方式时,向所述客户端返回所述最新版本文件,以使所述客户端程序通过所述最新版本文件进行版本升级。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述客户端程序升级之后向所述服务器发送的目标版本标识;
根据所述目标版本标识确定所述客户端程序是否升级失败;
在确定所述客户端程序升级失败时,向所述客户端发送所述最新版本的对应的最新版本文件,以使所述客户端程序重新通过所述最新版本文件进行版本升级。
7.一种版本升级装置,其特征在于,应用于服务器,所述装置包括:
第一接收模块,用于接收客户端发送的版本升级请求,所述版本升级请求中包括客户端程序的当前版本对应的第一版本标识;
获取模块,用于获取所述客户端程序的最新版本对应的第二版本标识;
第一确定模块,用于根据所述第一版本标识和所述第二版本标识确定目标升级方式,所述目标升级方式包括文件替换方式,增量更新方式或者全量更新方式;
升级模块,用于根据所述目标升级方式对所述客户端程序进行版本升级。
8.根据权利要求7所述的装置,其特征在于,所述第一确定模块包括:
获取子模块,用于根据所述第一版本标识和所述第二版本标识获取所述当前版本与所述最新版本之间间隔的版本数量;
确定子模块,用于若确定所述版本数量大于或者等于预设间隔阈值,确定所述目标升级方式为所述全量更新方式;
所述确定子模块,还用于若确定所述版本数量小于或者等于所述预设间隔阈值,根据所述当前版本对应的当前版本文件与所述最新版本对应的最新版本文件之间的差异文件包确定所述目标升级方式。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911222117.3A CN111090444A (zh) | 2019-12-03 | 2019-12-03 | 版本升级方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911222117.3A CN111090444A (zh) | 2019-12-03 | 2019-12-03 | 版本升级方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111090444A true CN111090444A (zh) | 2020-05-01 |
Family
ID=70394195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911222117.3A Pending CN111090444A (zh) | 2019-12-03 | 2019-12-03 | 版本升级方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111090444A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708566A (zh) * | 2020-06-10 | 2020-09-25 | 深圳云之家网络有限公司 | 软件增量更新方法、装置、系统及计算机可读存储介质 |
CN112148563A (zh) * | 2020-10-16 | 2020-12-29 | 北京百度网讯科技有限公司 | 信息生成方法、装置、设备以及存储介质 |
CN112256302A (zh) * | 2020-10-20 | 2021-01-22 | Tcl通讯(宁波)有限公司 | 更新方法、装置、存储介质及移动终端 |
CN112882733A (zh) * | 2021-02-04 | 2021-06-01 | 网易(杭州)网络有限公司 | 应用更新方法及装置、电子设备、存储介质 |
CN112994955A (zh) * | 2021-04-21 | 2021-06-18 | 恒生电子股份有限公司 | 升级包发送管理方法、增量升级包制备方法及相关装置 |
CN113031997A (zh) * | 2021-02-26 | 2021-06-25 | 深圳壹账通创配科技有限公司 | 升级包生成及管理方法、装置、计算机设备及存储介质 |
CN113157302A (zh) * | 2021-05-24 | 2021-07-23 | 平安普惠企业管理有限公司 | 一种软件更新方法、装置、介质及设备 |
CN113360166A (zh) * | 2021-05-31 | 2021-09-07 | 珠海大横琴科技发展有限公司 | 一种数据处理的方法和装置 |
CN113835727A (zh) * | 2021-08-31 | 2021-12-24 | 贝壳技术有限公司 | 配置版本升级方法及装置 |
CN114338395A (zh) * | 2021-12-29 | 2022-04-12 | 武汉烽火信息集成技术有限公司 | 一种c/s通信网管方法、存储介质、电子设备及系统 |
CN114691175A (zh) * | 2022-04-22 | 2022-07-01 | 麒麟合盛网络技术股份有限公司 | 一种应用更新方法、装置和系统 |
CN114968321A (zh) * | 2021-02-25 | 2022-08-30 | 新开普电子股份有限公司 | 一种燃气表终端及其跨版本升级方法 |
CN115794185A (zh) * | 2021-09-10 | 2023-03-14 | 中兴通讯股份有限公司 | 数据增量升级方法、电源设备系统、网管及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070294684A1 (en) * | 2006-06-15 | 2007-12-20 | Fujitsu Limited | Computer program and apparatus for updating installed software programs |
US8997082B1 (en) * | 2013-07-16 | 2015-03-31 | Amazon Technologies, Inc. | Differential patch of content |
CN104991790A (zh) * | 2015-06-09 | 2015-10-21 | 北京奇虎科技有限公司 | 一种文件的升级发布方法和装置 |
CN107015821A (zh) * | 2016-01-28 | 2017-08-04 | 腾讯科技(深圳)有限公司 | 增量更新的方法和装置 |
CN110058873A (zh) * | 2019-03-12 | 2019-07-26 | 天津五八到家科技有限公司 | 应用页面更新方法、装置、设备和存储介质 |
-
2019
- 2019-12-03 CN CN201911222117.3A patent/CN111090444A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070294684A1 (en) * | 2006-06-15 | 2007-12-20 | Fujitsu Limited | Computer program and apparatus for updating installed software programs |
US8997082B1 (en) * | 2013-07-16 | 2015-03-31 | Amazon Technologies, Inc. | Differential patch of content |
CN104991790A (zh) * | 2015-06-09 | 2015-10-21 | 北京奇虎科技有限公司 | 一种文件的升级发布方法和装置 |
CN107015821A (zh) * | 2016-01-28 | 2017-08-04 | 腾讯科技(深圳)有限公司 | 增量更新的方法和装置 |
CN110058873A (zh) * | 2019-03-12 | 2019-07-26 | 天津五八到家科技有限公司 | 应用页面更新方法、装置、设备和存储介质 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708566A (zh) * | 2020-06-10 | 2020-09-25 | 深圳云之家网络有限公司 | 软件增量更新方法、装置、系统及计算机可读存储介质 |
CN112148563A (zh) * | 2020-10-16 | 2020-12-29 | 北京百度网讯科技有限公司 | 信息生成方法、装置、设备以及存储介质 |
CN112148563B (zh) * | 2020-10-16 | 2023-07-28 | 北京百度网讯科技有限公司 | 信息生成方法、装置、设备以及存储介质 |
CN112256302A (zh) * | 2020-10-20 | 2021-01-22 | Tcl通讯(宁波)有限公司 | 更新方法、装置、存储介质及移动终端 |
CN112882733A (zh) * | 2021-02-04 | 2021-06-01 | 网易(杭州)网络有限公司 | 应用更新方法及装置、电子设备、存储介质 |
CN112882733B (zh) * | 2021-02-04 | 2023-09-08 | 网易(杭州)网络有限公司 | 应用更新方法及装置、电子设备、存储介质 |
CN114968321A (zh) * | 2021-02-25 | 2022-08-30 | 新开普电子股份有限公司 | 一种燃气表终端及其跨版本升级方法 |
CN113031997A (zh) * | 2021-02-26 | 2021-06-25 | 深圳壹账通创配科技有限公司 | 升级包生成及管理方法、装置、计算机设备及存储介质 |
CN112994955A (zh) * | 2021-04-21 | 2021-06-18 | 恒生电子股份有限公司 | 升级包发送管理方法、增量升级包制备方法及相关装置 |
CN112994955B (zh) * | 2021-04-21 | 2021-08-10 | 恒生电子股份有限公司 | 升级包发送管理方法、增量升级包制备方法及相关装置 |
CN113157302A (zh) * | 2021-05-24 | 2021-07-23 | 平安普惠企业管理有限公司 | 一种软件更新方法、装置、介质及设备 |
CN113360166A (zh) * | 2021-05-31 | 2021-09-07 | 珠海大横琴科技发展有限公司 | 一种数据处理的方法和装置 |
CN113835727A (zh) * | 2021-08-31 | 2021-12-24 | 贝壳技术有限公司 | 配置版本升级方法及装置 |
CN115794185A (zh) * | 2021-09-10 | 2023-03-14 | 中兴通讯股份有限公司 | 数据增量升级方法、电源设备系统、网管及存储介质 |
CN115794185B (zh) * | 2021-09-10 | 2023-11-07 | 中兴通讯股份有限公司 | 数据增量升级方法、电源设备系统、网管及存储介质 |
CN114338395A (zh) * | 2021-12-29 | 2022-04-12 | 武汉烽火信息集成技术有限公司 | 一种c/s通信网管方法、存储介质、电子设备及系统 |
CN114691175A (zh) * | 2022-04-22 | 2022-07-01 | 麒麟合盛网络技术股份有限公司 | 一种应用更新方法、装置和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111090444A (zh) | 版本升级方法、装置、存储介质及电子设备 | |
CN102262544B (zh) | 软件升级的方法和装置 | |
US9092286B2 (en) | System to automatically process components on a device | |
CN110730090B (zh) | 云环境中代理端批量更新方法、装置、介质及电子设备 | |
KR101283864B1 (ko) | 리소스 관리 방법과 내장 장치 | |
CN103309683B (zh) | 硬件设备的软件补丁嵌入方法及装置 | |
CN104007996A (zh) | 一种分布式控制系统的可靠固件升级实现方法 | |
CN103699408A (zh) | 一种软件升级的方法和设备 | |
CN111158714B (zh) | 车载域控制器ota升级软件的方法及装置、存储介质、终端 | |
CN102054045B (zh) | 电子装置的资源更新系统及方法 | |
CN110597539A (zh) | 电能表升级方法、系统和存储介质 | |
CN110543327B (zh) | 业务组件复用方法、装置、计算机设备及存储介质 | |
CN105072398B (zh) | 一种设备升级方法和装置 | |
CN103313231A (zh) | 移动终端中应用程序的升级方法、系统和服务器 | |
CN106569863B (zh) | 基于资源和代码模块化的安卓app资源更新和修复的方法 | |
CN109358876A (zh) | 一种版本同步方法及装置、设备、存储介质 | |
CN107301055A (zh) | 升级服务器的方法及装置 | |
CN104504587A (zh) | 广告监测方法及装置、电子设备 | |
CN106020882A (zh) | 一种应用升级方法、智能终端及升级系统 | |
CN101888653A (zh) | 固件升级方法、基站以及网管中心 | |
CN103885802A (zh) | 驱动程序的安装方法、装置和客户端 | |
CN110647337A (zh) | 物联网mcu空中固件升级方法 | |
WO2021119430A1 (en) | Package-based remote firmware update | |
CN106293814B (zh) | 升级方法及装置 | |
CN112667272A (zh) | 电表升级方法、系统、智能电表及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200501 |