CN106371875A - 一种基于html5的手机应用更新机制 - Google Patents

一种基于html5的手机应用更新机制 Download PDF

Info

Publication number
CN106371875A
CN106371875A CN201610784732.3A CN201610784732A CN106371875A CN 106371875 A CN106371875 A CN 106371875A CN 201610784732 A CN201610784732 A CN 201610784732A CN 106371875 A CN106371875 A CN 106371875A
Authority
CN
China
Prior art keywords
resource
version number
runtime library
mobile phone
app
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
Application number
CN201610784732.3A
Other languages
English (en)
Other versions
CN106371875B (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.)
Linewell Software Co Ltd
Original Assignee
Linewell Software 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 Linewell Software Co Ltd filed Critical Linewell Software Co Ltd
Priority to CN201610784732.3A priority Critical patent/CN106371875B/zh
Publication of CN106371875A publication Critical patent/CN106371875A/zh
Application granted granted Critical
Publication of CN106371875B publication Critical patent/CN106371875B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version 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)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开一种基于HTML5的手机应用更新机制,包括以下步骤:S1.根据运行库的用户标识与应用标识判断APP是否为首次发布,如果是则直接从建模库复制APP的所有资源到运行库,否则该APP已发布或已多次发布,则比较运行库版本号与建模库版本号或者比对运行库与建模库的资源,若建模库版本号大于运行库版本号或者运行库与建模库的资源存在差异,则从建模库复制需要更新的资源到运行库进行局部更新;S2.比较当前手机端的版本号与服务端的版本号,若服务端的大版本号高于当前的手机端的大版本号,则提示用户进行跨版本更新,否则提示用户进行版本内更新。本发明解决了传统APP更新占用网络资源、用户体验差的问题。

Description

一种基于HTML5的手机应用更新机制
技术领域
本发明涉及一种基于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 (2)

1.一种基于HTML5的手机应用更新机制,其特征在于:包括以下步骤:
S1.服务端发布和更新:根据运行库的用户标识与应用标识判断APP是否为首次发布,如果是则直接从建模库复制APP的所有资源到运行库,并在更新日志中记录初始版本号,否则该APP已发布或已多次发布,则比较运行库版本号与建模库版本号或者比对运行库与建模库的资源,若建模库版本号大于运行库版本号或者运行库与建模库的资源存在差异,则从建模库复制需要更新的资源到运行库进行局部更新,并在更新日志中记录新的版本号;
所述建模库为APP开发库,用于开发新的资源,所述运行库为APP发布平台,用于为手机端提供APK安装包或需要更新的资源;
S2.手机端更新:从手机端启动APP时,获取上一次更新后记录的手机端版本号以及当前服务端运行库发布的版本号,所述版本号由大版本号和大版本号下的资源序列号组成;
然后比较当前手机端的版本号与服务端的版本号,若服务端的大版本号高于当前的手机端的大版本号,则提示用户进行跨版本更新,即从服务端的运行库下载最新的APK安装包进行更新,并在手机端记录新的版本号,否则判断服务端的资源序列号与手机端的资源序列号是否一致,若不一致则提示用户进行版本内更新,即根据大版本号下的资源序列号从服务端下载需要更新的资源,并记录新的版本号。
2.如权利要求1所述的一种基于HTML5的手机应用更新机制,其特征在于:所述APP的所有资源包括固定对象资源与非固定对象资源,所述的固定对象资源包括应用资源、界面头部资源、导航栏资源和页面资源,所述的非固定对象资源为页面资源列表中所记录的资源;
在服务端更新时,如果需要更新的资源是应用资源、界面头部资源和导航栏资源中的一个或多个,则比较建模库与运行库的版本号,如果建模库版本号高于运行库版本号,则从建模库复制需要相应的资源到运行库进行更新,并记录新的版本号;
在服务端更新时,还将运行库与建模库的页面资源列表进行比对,判断页面资源列表中所包括的资源是否需要进行新增、删除或者修改,若建模库的页面资源列表包含的资源在运行库的页面资源列表没有包含,则在运行库新增该资源;若建模库的页面资源列表没有包含的资源在运行库的页面资源列表有包含;则在运行库删除该资源;若建模库与运行库的页面资源列表包含相同的资源,且建模库版本号高于运行库,则在运行库修改该资源;
最后,把前述所有的资源更新保存中运行库的更新记录表中,再获取最近两个旧版本号,清除旧版本号之前的资源更新记录,根据本次需要更新的资源合并成新的资源序列号,从而生成新版本号。
CN201610784732.3A 2016-08-31 2016-08-31 一种基于html5的手机应用更新方法 Active CN106371875B (zh)

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 true CN106371875A (zh) 2017-02-01
CN106371875B 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)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897103A (zh) * 2017-03-03 2017-06-27 广州四三九九信息科技有限公司 一种移动端网络游戏版本快速热更新的方法
CN107256161A (zh) * 2017-06-13 2017-10-17 广发证券股份有限公司 基于electron技术的客户端升级方法
CN108984201A (zh) * 2018-07-09 2018-12-11 深圳市思迪信息技术股份有限公司 移动平台版本智能在线升级方法及装置
CN110764805A (zh) * 2019-10-28 2020-02-07 腾讯科技(深圳)有限公司 客户端无感升级的方法、装置、终端及存储介质
CN112579132A (zh) * 2020-12-29 2021-03-30 苏州风之力网络科技有限公司 一种基于版本号管理的资源热更新方法
CN116302212A (zh) * 2023-05-25 2023-06-23 广州市千钧网络科技有限公司 应用内嵌html页面刷新方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
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
CN103336703A (zh) * 2013-07-08 2013-10-02 惠州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 北京京东尚科信息技术有限公司 提供升级包的方法与装置以及升级客户端的方法与装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
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
CN103336703A (zh) * 2013-07-08 2013-10-02 惠州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 北京京东尚科信息技术有限公司 提供升级包的方法与装置以及升级客户端的方法与装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897103A (zh) * 2017-03-03 2017-06-27 广州四三九九信息科技有限公司 一种移动端网络游戏版本快速热更新的方法
CN106897103B (zh) * 2017-03-03 2020-11-06 广州四三九九信息科技有限公司 一种移动端网络游戏版本快速热更新的方法
CN107256161A (zh) * 2017-06-13 2017-10-17 广发证券股份有限公司 基于electron技术的客户端升级方法
CN108984201A (zh) * 2018-07-09 2018-12-11 深圳市思迪信息技术股份有限公司 移动平台版本智能在线升级方法及装置
CN110764805A (zh) * 2019-10-28 2020-02-07 腾讯科技(深圳)有限公司 客户端无感升级的方法、装置、终端及存储介质
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页面刷新方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN106371875B (zh) 2020-01-03

Similar Documents

Publication Publication Date Title
CN106371875A (zh) 一种基于html5的手机应用更新机制
CN102622241B (zh) 一种软件升级方法及装置
CN106528229B (zh) 一种游戏热更新方法及装置
Bean Laravel 5 essentials
CN104158836B (zh) 一种通过数据渲染移动应用界面的方法
CN104615466B (zh) 一种云平台部署方法和系统
US9003393B2 (en) HTML directed adaptive features for mobile applications
CN103701856B (zh) 一种定义及终端设备获取升级包的方法
US10331423B1 (en) Utilizing cross platform streamable user interfaces to reduce software deployment frequency caused by user interface improvements
CN103744680B (zh) 一种业务流程处理方法及装置
CN105893008A (zh) 一种定制多渠道安装包的方法及装置
CN106686200B (zh) 移动应用程序更新方法、移动终端及更新系统
CN105404514B (zh) JavaScript渲染方法和装置
CN105607941A (zh) 一种安卓项目中配置编译的装置和方法
CN105763626A (zh) 适用于应用客户端支付的sdk初始化方法
WO2022121971A1 (zh) 前端项目处理方法、装置、设备、管理系统及存储介质
JP2017091533A (ja) 製品ライフサイクル管理(plm)システムとソースコード管理(scm)システムとの間のデータの双方向同期
JP2017091531A (ja) ソースコード管理(scm)システムから製品ライフサイクル管理(plm)システムへの階層的なデータのエクスポート
CN106257418A (zh) 用于通过使用辅助应用来评价应用的技术
CN107294750A (zh) 一种云集群能自识别的分布配置管理方法和装置
CN113515281A (zh) 一种移动应用的自定义界面实现方法
CN110007994B (zh) 一种软件国际化方法及系统
WO2020199543A1 (zh) 适用于混合模式应用的发布升级的方法及装置、智能设备
KR101599471B1 (ko) 소스 관리 장치, 시스템 및 방법, 컴퓨터 판독 가능한 기록 매체
CN112068879A (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