CN112068870A - 一种程序差异增量升级的方法 - Google Patents
一种程序差异增量升级的方法 Download PDFInfo
- Publication number
- CN112068870A CN112068870A CN202010803335.2A CN202010803335A CN112068870A CN 112068870 A CN112068870 A CN 112068870A CN 202010803335 A CN202010803335 A CN 202010803335A CN 112068870 A CN112068870 A CN 112068870A
- Authority
- CN
- China
- Prior art keywords
- package
- program
- incremental
- update
- increment
- 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 28
- 230000008859 change Effects 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 7
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification 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
- G06F8/658—Incremental updates; Differential 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)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种程序差异增量升级的方法。所述程序差异增量升级的方法包括S1:通过构建系统构建程序包和增量包,构建完成后自动上传到存储后台;S2:将构建的程序包和增量包的信息上传到业务后台;S3:通过云主机服务程序检测新版本,判断是否含有增量包;S4:云主机服务程序通过S3所述的判断结果选择更新方式。本发明提供的程序差异增量升级的方法具有可以很大程度上节省网络带宽流量,进而减少升级过程所需要耗费的时间,达到了节省带宽流量和快速升级目的的优点。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种程序差异增量升级的方法。
背景技术
目前,云主机服务程序运行在云主机上,当存在新版本时,程序启动后会检查当前程序是否需要更新,当判断为需要更新的时,会根据版本描述信息下载一个完整的新版程序包,安装新版程序包后运行新的程序包实现升级。
然而,现有的升级方法在实际的开发中,随着程序功能的增加,不免会引入越来越多的第三方库,随着第三方库的引入程序包变得越来越大,程序升级所需要耗费的带宽流量和时间也会随之增加;传统的版本升级方案中,每次都需要下载完整的程序包来完成版本升级,会消耗较多的流量带宽。在实际的工作中,通常情况下程序包两个版本之间只有很小的改动。如果有一种方案能够在原有旧文件上,通过增加差异部分内容得到新的文件,将能够节省程序升级过程的下载流量和减少升级时间。
因此,有必要提供一种新的程序差异增量升级的方法解决上述技术问题。
发明内容
本发明解决的技术问题是提供一种可以很大程度上节省网络带宽流量,进而减少升级过程所需要耗费的时间,达到了节省带宽流量和快速升级目的的程序差异增量升级的方法。
为解决上述技术问题,本发明提供的程序差异增量升级的方法包括:
S1:通过构建系统构建程序包和增量包,构建完成后自动上传到存储后台;
S2:将构建的程序包和增量包的信息上传到业务后台;
S3:通过云主机服务程序检测新版本,判断是否含有增量包;
S4:云主机服务程序通过S3所述的判断结果选择更新方式。
通过下载增量包的形式进行更新,可以减少下载量,缩短缩短更新时间。
优选的,所述S1中,增量包的构建包括以下步骤:
A1:将当前版本和新版本的同名文件一一通过二进制内容的形式进行对比,有变化的文件则生成出对应的二进制增量文件;
A2:将所有的二进制增量文件打包成的压缩包,获得增量包。
可以在程序包中每个文件都有少量改动的情况下仅下载增量文件,在流量节省和升级耗时上本方案更具优势。
优选的,所述S3中,云主机服务程序需要下载版本信息,通过访问用户进行更新,可以根据用户选择进行决定是否更新。
优选的,所述S4中,更新方式包括增量更新或完整程序包更新。
优选的,所述增量更新在当前版本基础上进行。
与相关技术相比较,本发明提供的程序差异增量升级的方法具有如下有益效果:
本发明采用了对比两个文件之间二进制内容差异的方式,生成了二进制增量文件,并将这些二进制增量文件打包为增量包,程序更新时,仅下载二进制增量包,不需要下载完整的新版程序包,可以很大程度上节省网络带宽流量,进而减少升级过程所需要耗费的时间,达到了节省带宽流量和快速升级的目的。
附图说明
图1为本发明的方案图;
图2为本发明的流程图;
图3为本发明中增量包的生成示意图;
图4为本发明中增量升级的流程图。
具体实施方式
下面结合附图和实施方式对本发明作进一步说明。
请结合参阅图1-2,程序差异增量升级的方法包括:
S1:通过构建系统构建程序包和增量包,构建完成后自动上传到存储后台;
S2:将构建的程序包和增量包的信息上传到业务后台;
S3:通过云主机服务程序检测新版本,判断是否含有增量包;
S4:云主机服务程序通过S3所述的判断结果选择更新方式。
通过下载增量包的形式进行更新,可以减少下载量,缩短缩短更新时间。
所述S1中,增量包的构建包括以下步骤:
A1:将当前版本和新版本的同名文件一一通过二进制内容的形式进行对比,有变化的文件则生成出对应的二进制增量文件;
A2:将所有的二进制增量文件打包成的压缩包,获得增量包。
通过构建增量包可以在程序包中每个文件都有少量改动的情况下仅下载增量文件,在流量节省和升级耗时上本方案更具优势。
所述S3中,云主机服务程序需要下载版本信息,通过访问用户进行更新,可以根据用户选择进行决定是否更新。
所述S4中,更新方式包括增量更新或完整程序包更新,当前版本含有增量包时,则采用增量更新;如果没有增量包或是增量更新失败了,则下载完整程序包更新。
所述增量更新在当前版本基础上进行。
本发明采用了对比两个文件之间二进制内容差异的方式,生成了二进制增量文件,并将这些二进制增量文件打包为增量包,程序更新时,仅下载二进制增量包,不需要下载完整的新版程序包,可以很大程度上节省网络带宽流量,进而减少升级过程所需要耗费的时间,达到了节省带宽流量和快速升级的目的。
举例说明
请结合参阅图3,增量包是在构建系统中构建版本程序包时,根据填写的配置参数生成的,其生成过程如下:
B、C、D为需要增量更新的3个版本;A相对于B,C,D来说较新的程序包;B->A Patch为B版本升级到A版本的增量包,C->A Patch为C版本升级到A版本的增量包,D->A Patch为D版本升级到A版本的增量包。
文件1.patch:新版中的文件1和旧版中的文件1对比生成的二进制增量文件;文件2.patch:新版中的文件2和旧版中的文件2对比生成的二进制增量文件;文件3.patch:新版中的文件3和旧版中的文件3对比生成的二进制增量文件…,以此类推;
请结合参阅图4
B,C,D表示同时运行在线上的3个版本,三个旧版本可分别通过对应版本的增量包升级到新版本程序A。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (5)
1.一种程序差异增量升级的方法,其特征在于,包括以下步骤:
S1:通过构建系统构建程序包和增量包,构建完成后自动上传到存储后台;
S2:将构建的程序包和增量包的信息上传到业务后台;
S3:通过云主机服务程序检测新版本,判断是否含有增量包;
S4:云主机服务程序通过S3所述的判断结果选择更新方式。
2.根据权利要求1所述的程序差异增量升级的方法,其特征在于,所述S1中,增量包的构建包括以下步骤:
A1:将当前版本和新版本的同名文件一一通过二进制内容的形式进行对比,有变化的文件则生成出对应的二进制增量文件;
A2:将所有的二进制增量文件打包成的压缩包,获得增量包。
3.根据权利要求1所述的程序差异增量升级的方法,其特征在于,所述S3中,云主机服务程序需要下载版本信息,通过访问用户进行更新。
4.根据权利要求1所述的程序差异增量升级的方法,其特征在于,所述S4中,更新方式包括增量更新或完整程序包更新。
5.根据权利要求4所述的程序差异增量升级的方法,其特征在于,所述增量更新在当前版本基础上进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010803335.2A CN112068870A (zh) | 2020-08-11 | 2020-08-11 | 一种程序差异增量升级的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010803335.2A CN112068870A (zh) | 2020-08-11 | 2020-08-11 | 一种程序差异增量升级的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112068870A true CN112068870A (zh) | 2020-12-11 |
Family
ID=73661149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010803335.2A Pending CN112068870A (zh) | 2020-08-11 | 2020-08-11 | 一种程序差异增量升级的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112068870A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699410A (zh) * | 2013-12-20 | 2014-04-02 | 北京奇虎科技有限公司 | 一种应用程序的更新方法和装置 |
CN104778057A (zh) * | 2015-03-11 | 2015-07-15 | 小米科技有限责任公司 | 终端系统升级方法、装置及服务器 |
CN105446768A (zh) * | 2015-11-05 | 2016-03-30 | 小米科技有限责任公司 | 系统升级方法及装置 |
CN106802814A (zh) * | 2016-12-14 | 2017-06-06 | 智车优行科技(北京)有限公司 | 用于软件版本升级的方法及装置 |
CN108156015A (zh) * | 2016-12-06 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 数据的更新方法和装置 |
CN108494857A (zh) * | 2018-03-26 | 2018-09-04 | 青岛海信移动通信技术股份有限公司 | 一种ota升级的方法和设备 |
CN108491225A (zh) * | 2018-03-15 | 2018-09-04 | 维沃移动通信有限公司 | 一种更新包生成方法及移动终端 |
-
2020
- 2020-08-11 CN CN202010803335.2A patent/CN112068870A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699410A (zh) * | 2013-12-20 | 2014-04-02 | 北京奇虎科技有限公司 | 一种应用程序的更新方法和装置 |
CN104778057A (zh) * | 2015-03-11 | 2015-07-15 | 小米科技有限责任公司 | 终端系统升级方法、装置及服务器 |
CN105446768A (zh) * | 2015-11-05 | 2016-03-30 | 小米科技有限责任公司 | 系统升级方法及装置 |
CN108156015A (zh) * | 2016-12-06 | 2018-06-12 | 阿里巴巴集团控股有限公司 | 数据的更新方法和装置 |
CN106802814A (zh) * | 2016-12-14 | 2017-06-06 | 智车优行科技(北京)有限公司 | 用于软件版本升级的方法及装置 |
CN108491225A (zh) * | 2018-03-15 | 2018-09-04 | 维沃移动通信有限公司 | 一种更新包生成方法及移动终端 |
CN108494857A (zh) * | 2018-03-26 | 2018-09-04 | 青岛海信移动通信技术股份有限公司 | 一种ota升级的方法和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105100191B (zh) | 一种云编译实现Java应用安装的方法、装置及系统 | |
CN102622241B (zh) | 一种软件升级方法及装置 | |
US8555272B2 (en) | System and method for implementing data-compatibility-based version scheme | |
JP5992095B2 (ja) | ワイヤレスアプリケーションを発行および実行する方法ならびに装置 | |
CN105511889A (zh) | 一种通用的游戏版本增量更新系统和方法 | |
CN101931647B (zh) | 一种基于三层架构的系统数据增量更新的优化方法 | |
CN106610853A (zh) | 一种应用部署方法和装置 | |
KR20050086687A (ko) | 전자 파일 업데이트 동안 디바이스 메모리 관리 | |
CN105487905A (zh) | 一种混合应用的更新方法和装置 | |
CN108027741A (zh) | 基于补丁升级的文件处理方法、装置、终端以及存储介质 | |
CN100421072C (zh) | 实现软件升级的方法 | |
WO2005020089A1 (en) | Servicing a component-base software product | |
CN110377360A (zh) | webview快速加载的方法、显示终端及计算机可读存储介质 | |
US20150067668A1 (en) | Installation engine and package format | |
CN112783542A (zh) | 软件升级方法、装置及可读存储介质 | |
CN105373406A (zh) | 基于Android平台的应用布局动态切换方法及系统 | |
CN113342387A (zh) | 一种软件自动升级方法、更新客户端及更新服务器 | |
CN110647337A (zh) | 物联网mcu空中固件升级方法 | |
CN111683005B (zh) | 一种物联网智能网关设备及其构建方法 | |
CN109388416A (zh) | 一种应用软件的插件化实现方法及系统 | |
CN112748949A (zh) | 一种操作系统的软件包管理方法、装置、设备及存储介质 | |
CN112068870A (zh) | 一种程序差异增量升级的方法 | |
CN116069366A (zh) | 客户端应用程序更新方法及装置、存储介质及电子设备 | |
CN104778068A (zh) | 一种用于移动终端的软件安装包管理系统及其管理方法 | |
KR20040110648A (ko) | 무선통신단말기의 소프트웨어 부분 업그레이드 방법 |
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 |