CN106371875B - 一种基于html5的手机应用更新方法 - Google Patents
一种基于html5的手机应用更新方法 Download PDFInfo
- Publication number
- CN106371875B CN106371875B CN201610784732.3A CN201610784732A CN106371875B CN 106371875 B CN106371875 B CN 106371875B CN 201610784732 A CN201610784732 A CN 201610784732A CN 106371875 B CN106371875 B CN 106371875B
- Authority
- CN
- China
- Prior art keywords
- library
- resources
- version number
- resource
- running
- 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.)
- Active
Links
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
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)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开一种基于HTML5的手机应用更新方法,包括以下步骤:S1.根据运行库的用户标识与应用标识判断APP是否为首次发布,如果是则直接从建模库复制APP的所有资源到运行库,否则该APP已发布或已多次发布,则比较运行库版本号与建模库版本号或者比对运行库与建模库的资源,若建模库版本号大于运行库版本号或者运行库与建模库的资源存在差异,则从建模库复制需要更新的资源到运行库进行局部更新;S2.比较当前手机端的版本号与服务端的版本号,若服务端的大版本号高于当前的手机端的大版本号,则提示用户进行跨版本更新,否则提示用户进行版本内更新。本发明解决了传统APP更新占用网络资源、用户体验差的问题。
Description
技术领域
本发明涉及一种基于HTML5的手机应用更新方法。
背景技术
传统的APP安装包更新方法,从点击开始,经历下载-启动安装包-确认权限-解压安装-启动应用等多个流程,根据主流应用市场的数据,从下载到App真正激活启动,折损50%的用户,100次下载中只有50个真正启动了App;鉴于传统APP的弊病,基于HTML5的新的APP开发方式诞生了,传统的HTML5的原理主要是通过APP里面内置一个网页浏览器,然后直接通过网址去访问服务端的资源,其更新方式为:访问到资源后,通过浏览器直接下载新的安装包,无论是大版本号内的小更新还是大版本号更新,新的安装包都将旧的安装包全部替换,也就是要将新安装包的所有资源都下载,通过这方方式开发的APP在一些大型的应用市场上无法上架,而且用户体验差,下载更新占用网络扩带多,造成资源浪费,很快就被市场淘汰。
有鉴于此,本发明提出一种基于HTML5的手机应用更新机制。
基于HTML5开发的APP客户端加载静态资源并且考虑资源局部更新的APP开发方式应运而生,它充分考虑了以上两种方式的弊端,提出了一套新的APP更新机制,在基于HTML5程序可以达到原生效果的同时,又可以实现小迭代的快速更新。
发明内容
本发明为解决上述问题,提供了一种基于HTML5的手机应用更新方法,采用基于HTML5开发的APP客户端加载静态资源同时考虑资源局部更新的APP发布方式,以解决传统APP更新占用网络资源、用户体验差的问题。
为实现上述目的,本发明采用的技术方案为:
一种基于HTML5的手机应用更新方法,包括以下步骤:
S1.服务端发布和更新:根据运行库的用户标识与应用标识判断APP是否为首次发布,如果是则直接从建模库复制APP的所有资源到运行库,并在更新日志中记录初始版本号,否则该APP已发布或已多次发布,则比较运行库版本号与建模库版本号或者比对运行库与建模库的资源,若建模库版本号大于运行库版本号或者运行库与建模库的资源存在差异,则从建模库复制需要更新的资源到运行库进行局部更新,并在更新日志中记录新的版本号;
所述建模库为APP开发库,用于开发新的资源,所述运行库为APP发布平台,用于为手机端提供APK安装包或需要更新的资源;
S2.手机端更新:从手机端启动APP时,获取上一次更新后记录的手机端版本号以及当前服务端运行库发布的版本号,所述版本号由大版本号和大版本号下的资源序列号组成;
然后比较当前手机端的版本号与服务端的版本号,若服务端的大版本号高于当前的手机端的大版本号,则提示用户进行跨版本更新,即从服务端的运行库下载最新的APK安装包进行更新,并在手机端记录新的版本号,否则判断服务端的资源序列号与手机端的资源序列号是否一致,若不一致则提示用户进行版本内更新,即根据大版本号下的资源序列号从服务端下载需要更新的资源,并记录新的版本号。
所述APP的所有资源包括固定对象资源与非固定对象资源,所述的固定对象资源包括应用资源、界面头部资源、导航栏资源和页面资源,所述的非固定对象资源为页面资源列表中所记录的资源;
在服务端更新时,如果需要更新的资源是应用资源、界面头部资源和导航栏资源中的一个或多个,则比较建模库与运行库的版本号,如果建模库版本号高于运行库版本号,则从建模库复制需要相应的资源到运行库进行更新,并记录新的版本号;
在服务端更新时,还将运行库与建模库的页面资源列表进行比对,判断页面资源列表中所包括的资源是否需要进行新增、删除或者修改,若建模库的页面资源列表包含的资源在运行库的页面资源列表没有包含,则在运行库新增该资源;若建模库的页面资源列表没有包含的资源在运行库的页面资源列表有包含;则在运行库删除该资源;若建模库与运行库的页面资源列表包含相同的资源,且建模库版本号高于运行库,则在运行库修改该资源;
最后,把前述所有的资源更新保存中运行库的更新记录表中,再获取最近两个旧版本号,清除旧版本号之前的资源更新记录,根据本次需要更新的资源合并成新的资源序列号,从而生成新版本号。
采用上述技术方案后,本发明具有以下优点:
一、通过在服务端的资源发布和更新的设定以及手机端更新设定,实现大版本以上更新与大版本内更新的划分;
二、服务器端与手机端大版本内更新均采用局部更新的方式,实现静态资源在版本内的快速迭代以及bug修复,避免APP打包的繁琐流程及上架长时间的审核等待;
三、大大节省了传统手机APP更新占用的网络资源,提升了用户体验。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明APP版本更新流程图;
图2为本发明APP服务端更新流程图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1和2所示,本发明的一种基于HTML5的手机应用更新方法,包括以下步骤:
S1.服务端发布和更新:根据运行库的用户标识与应用标识判断APP是否为首次发布,如果是则直接从建模库复制APP的所有资源到运行库,并在更新日志中记录初始版本号,否则该APP已发布或已多次发布,则比较运行库版本号与建模库版本号或者比对运行库与建模库的资源,若建模库版本号大于运行库版本号或者运行库与建模库的资源存在差异,则从建模库复制需要更新的资源到运行库进行局部更新,并在更新日志中记录新的版本号;
所述建模库为APP开发库,用于开发新的资源,所述运行库为APP发布平台,用于为手机端提供APK安装包或需要更新的资源;
S2.手机端更新:从手机端启动APP时,获取上一次更新后记录的手机端版本号以及当前服务端运行库发布的版本号,所述版本号由大版本号和大版本号下的资源序列号组成;
然后比较当前手机端的版本号与服务端的版本号,若服务端的大版本号高于当前的手机端的大版本号,则提示用户进行跨版本更新,即从服务端的运行库下载最新的APK安装包进行更新,并在手机端记录新的版本号,否则判断服务端的资源序列号与手机端的资源序列号是否一致,若不一致则提示用户进行版本内更新,即根据大版本号下的资源序列号从服务端下载需要更新的资源,并记录新的版本号。
所述APP的所有资源包括固定对象资源与非固定对象资源,所述的固定对象资源包括应用资源、界面头部资源、导航栏资源和页面资源,所述的非固定对象资源为页面资源列表中所记录的资源;
在服务端更新时,如果需要更新的资源是应用资源、界面头部资源和导航栏资源中的一个或多个,则比较建模库与运行库的版本号,如果建模库版本号高于运行库版本号,则从建模库复制需要相应的资源到运行库进行更新,并记录新的版本号;
在服务端更新时,还将运行库与建模库的页面资源列表进行比对,判断页面资源列表中所包括的资源是否需要进行新增、删除或者修改,若建模库的页面资源列表包含的资源在运行库的页面资源列表没有包含,则在运行库新增该资源;若建模库的页面资源列表没有包含的资源在运行库的页面资源列表有包含;则在运行库删除该资源;若建模库与运行库的页面资源列表包含相同的资源,且建模库版本号高于运行库,则在运行库修改该资源;
最后,把前述所有的资源更新保存中运行库的更新记录表中,再获取最近两个旧版本号,清除旧版本号之前的资源更新记录,根据本次需要更新的资源合并成新的资源序列号,从而生成新版本号。
上述说明示出并描述了本发明的优选实施例,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (1)
1.一种基于HTML5的手机应用更新方法,其特征在于:包括以下步骤:
S1.服务端发布和更新:根据运行库的用户标识与应用标识判断APP是否为首次发布,如果是则直接从建模库复制APP的所有资源到运行库,并在更新日志中记录初始版本号,否则该APP已发布或已多次发布,则比较运行库版本号与建模库版本号或者比对运行库与建模库的资源,若建模库版本号大于运行库版本号或者运行库与建模库的资源存在差异,则从建模库复制需要更新的资源到运行库进行局部更新,并在更新日志中记录新的版本号;
所述建模库为APP开发库,用于开发新的资源,所述运行库为APP发布平台,用于为手机端提供APK安装包或需要更新的资源;
在服务端更新时,如果需要更新的资源是应用资源、界面头部资源和导航栏资源中的一个或多个,则比较建模库与运行库的版本号,如果建模库版本号高于运行库版本号,则从建模库复制需要相应的资源到运行库进行更新,并记录新的版本号;
在服务端更新时,还将运行库与建模库的页面资源列表进行比对,判断页面资源列表中所包括的资源是否需要进行新增、删除或者修改,若建模库的页面资源列表包含的资源在运行库的页面资源列表没有包含,则在运行库新增该资源;若建模库的页面资源列表没有包含的资源在运行库的页面资源列表有包含,则在运行库删除该资源;若建模库与运行库的页面资源列表包含相同的资源,且建模库版本号高于运行库,则在运行库修改该资源;
最后,把所有的资源更新保存到运行库的更新记录表中,再获取最近两个旧版本号,清除旧版本号之前的资源更新记录,根据本次需要更新的资源合并成新的资源序列号,从而生成新版本号;
S2.手机端更新:从手机端启动APP时,获取上一次更新后记录的手机端版本号以及当前服务端运行库发布的版本号,然后比较当前手机端的版本号与服务端的版本号,若服务端的大版本号高于当前的手机端的大版本号,则提示用户进行跨版本更新,即从服务端的运行库下载最新的APK安装包进行更新,并在手机端记录新的版本号,否则判断服务端的资源序列号与手机端的资源序列号是否一致,若不一致则提示用户进行版本内更新,即根据大版本号下的资源序列号从服务端下载需要更新的资源,并记录新的版本号;
所述步骤S1和S2中的版本号由大版本号和大版本号下的资源序列号组成;所述APP的所有资源包括固定对象资源与非固定对象资源,所述的固定对象资源包括应用资源、界面头部资源、导航栏资源和页面资源,所述的非固定对象资源为页面资源列表中所记录的资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610784732.3A CN106371875B (zh) | 2016-08-31 | 2016-08-31 | 一种基于html5的手机应用更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610784732.3A CN106371875B (zh) | 2016-08-31 | 2016-08-31 | 一种基于html5的手机应用更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106371875A CN106371875A (zh) | 2017-02-01 |
CN106371875B true CN106371875B (zh) | 2020-01-03 |
Family
ID=57900489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610784732.3A Active CN106371875B (zh) | 2016-08-31 | 2016-08-31 | 一种基于html5的手机应用更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106371875B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897103B (zh) * | 2017-03-03 | 2020-11-06 | 广州四三九九信息科技有限公司 | 一种移动端网络游戏版本快速热更新的方法 |
CN107256161B (zh) * | 2017-06-13 | 2021-01-12 | 广发证券股份有限公司 | 基于electron技术的客户端升级方法 |
CN108984201A (zh) * | 2018-07-09 | 2018-12-11 | 深圳市思迪信息技术股份有限公司 | 移动平台版本智能在线升级方法及装置 |
CN110764805B (zh) * | 2019-10-28 | 2024-01-23 | 腾讯科技(深圳)有限公司 | 客户端无感升级的方法、装置、终端及存储介质 |
CN112579132A (zh) * | 2020-12-29 | 2021-03-30 | 苏州风之力网络科技有限公司 | 一种基于版本号管理的资源热更新方法 |
CN116302212A (zh) * | 2023-05-25 | 2023-06-23 | 广州市千钧网络科技有限公司 | 应用内嵌html页面刷新方法、装置、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7665081B1 (en) * | 2006-05-06 | 2010-02-16 | Kaspersky Lab, Zao | System and method for difference-based software updating |
CN103336703B (zh) * | 2013-07-08 | 2018-09-18 | 惠州Tcl移动通信有限公司 | 生成升级包的方法、服务器、软件升级方法、移动终端 |
CN103701930A (zh) * | 2014-01-07 | 2014-04-02 | 浙江大学 | 一种移动应用程序的实时更新方法及系统 |
CN104360871A (zh) * | 2014-10-12 | 2015-02-18 | 厦门雅基软件有限公司 | 一种手机游戏安装快速启动方法 |
CN105635277A (zh) * | 2015-12-30 | 2016-06-01 | 北京京东尚科信息技术有限公司 | 提供升级包的方法与装置以及升级客户端的方法与装置 |
-
2016
- 2016-08-31 CN CN201610784732.3A patent/CN106371875B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106371875A (zh) | 2017-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106371875B (zh) | 一种基于html5的手机应用更新方法 | |
CN107925696B (zh) | 用于识别、索引和导航至移动应用的深度状态的系统和方法 | |
CN102622241B (zh) | 一种软件升级方法及装置 | |
CN107391104B (zh) | 一种客户端与react native代码的更新依赖管理方法、装置及系统 | |
US8782604B2 (en) | Sandbox support for metadata in running applications | |
CN107506221B (zh) | 应用程序升级方法、装置及设备 | |
US20160170712A1 (en) | Method for integrally implementing development and release of APP | |
CN103227812B (zh) | 智能设备中支持断点续传的下载方法和装置 | |
CN107305553B (zh) | 一种基于Hybrid App中动态跳转Hybrid页面的方法及系统 | |
CN104182255A (zh) | 一种系统应用的库文件升级方法及终端 | |
CN106874035B (zh) | 一种用于更新应用(app)内置H5的方法及其框架 | |
US8880549B2 (en) | Concurrent database access by production and prototype applications | |
US20100088270A1 (en) | Data versioning concept including time dependency and active and inactive states | |
JP2015018295A (ja) | アプリケーション管理装置、アプリケーション管理システムおよびプログラム | |
CN103092665A (zh) | 即时更新装置和即时更新方法 | |
CN104038520B (zh) | 一种多版本分布式资源管理方法和系统 | |
US9542173B2 (en) | Dependency handling for software extensions | |
CN110750286B (zh) | OTA升级Mbn的管理方法、装置、系统、设备和介质 | |
CN108563440A (zh) | 列表控制器代码自动添加方法、装置及可读存储介质 | |
CN110333876A (zh) | 一种数据清除方法及控制设备 | |
CN104461621A (zh) | 一种更新属性信息的方法及装置 | |
CN101937335B (zh) | 一种生成Widget图标的方法、Widget摘要文件的生成方法及Widget引擎 | |
CN103634393A (zh) | Ivr及其实现方法 | |
CN113885920A (zh) | 机器学习模型的热更新方法、装置、电子设备及存储介质 | |
CN113656005B (zh) | 应用组件库构建方法、应用组件配置方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |