CN106033364B - 一种Web应用程序的升级方法及*** - Google Patents
一种Web应用程序的升级方法及*** Download PDFInfo
- Publication number
- CN106033364B CN106033364B CN201510120502.2A CN201510120502A CN106033364B CN 106033364 B CN106033364 B CN 106033364B CN 201510120502 A CN201510120502 A CN 201510120502A CN 106033364 B CN106033364 B CN 106033364B
- Authority
- CN
- China
- Prior art keywords
- upgrading
- application program
- source code
- program
- upgrade
- 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
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开一种Web应用程序的升级方法及***,其中,方法包括步骤:A、预先从升级服务器获取Web应用程序的升级信息,根据所述升级信息判断是否需要升级,若需要升级则解析由升级服务器返回的升级文件清单,生成升级预处理信息;B、Web应用程序启动时,判断是否存在与所述Web应用程序对应的升级预处理信息,若存在,则根据升级预处理信息向升级服务器发送升级请求,并将更新的应用源码程序写入应用程序缓存,同时读取Web应用程序原来的应用程序包资源,写入应用程序缓存,对不需要升级的应用源码程序进行解析。本发明利用差分技术来实现升级,减少升级时间和数据流量,通过预处理缩短升级信息处理时间,升级过程对用户透明。
Description
技术领域
本发明涉及软件升级领域,尤其涉及一种应用程序的升级方法及***。
背景技术
一个app(应用程序)包含了程序数据和用户数据。在移动设备上app的升级主要是对程序数据进行更新。现有技术中,移动平台上所有app的升级都是下载整个应用包,然后重新安装,其过程包括:1、用户打开应用程序;2、检测服务器端的版本信息;3、如果有新版本,提示用户升级;4、用户选择升级程序;5、下载应用程序包,并重新安装。
但实际上,上述过程中应用升级只是更新了部分程序数据。全部更新不仅会浪费流量,也会增加升级时间。
另外,目前智能设备都是在用户打开应用时弹出提示框提醒用户升级,这样会降低用户体验。而且用户需要等待整个应用包下载完成安装后,才能继续使用。
按照传统的Web技术,用户每次打开一个网页都会更新网页和数据信息,但是断网后用户将无法访问到任何信息,所以传统的网页技术其体验无法达到本地应用的效果。但是本地应用则存在上述升级时间长、流量大等问题。Web应用程序则兼具了传统网页以及本地应用的特点,但是现有技术中Web应用程序的升级方式还是按照传统的本地应用的升级方式,未充分结合Web应用程序的特点。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种应用程序的升级方法及***,旨在解决现有技术的升级方法流量大、时间长等问题。
本发明的技术方案如下:
一种Web应用程序的升级方法,其中,包括步骤:
A、预先从升级服务器获取Web应用程序的升级信息,根据所述升级信息判断是否需要升级,若需要升级则解析由升级服务器返回的升级文件清单,生成升级预处理信息;
B、Web应用程序启动时,判断是否存在与所述Web应用程序对应的升级预处理信息,若存在,则根据升级预处理信息向升级服务器发送升级请求,并将返回的更新的应用源码程序写入应用程序缓存,同时读取Web应用程序原来的应用程序包资源,写入应用程序缓存,对不需要升级的应用源码程序进行解析。
所述的Web应用程序的升级方法,其中,所述步骤A具体包括:
A1、监测桌面可视区域的Web应用程序;
A2、每隔预定时间对可视区域的Web应用程序进行升级预处理。
所述的Web应用程序的升级方法,其中,所述步骤B具体包括:
B1、解析不需要升级的应用源码程序,并开始渲染界面;
B2、将升级服务器返回的应用源码程序写入缓存替换原来对应的应用源码程序,并对更新后的应用源码程序进行解析,继续渲染界面;
B3、应用源码程序全部下载完成后,将缓存重新打包以替换原来的应用程序包。
所述的Web应用程序的升级方法,其中,所述步骤B1中,若需要升级的应用源码程序中包含index.html,则等待升级服务器返回index.html后,按照index.html中引用的源码顺序进行解析。
所述的Web应用程序的升级方法,其中,所述步骤B2中,将升级服务器返回的具有强关联关系的应用源码程序写入备份,待所有具有强关联关系的文件下载完成后再写入缓存。
一种Web应用程序的升级***,其中,包括:
升级预处理模块,用于预先从升级服务器获取Web应用程序的升级信息,根据所述升级信息判断是否需要升级,若需要升级则解析由升级服务器返回的升级文件清单,生成升级预处理信息;
升级管理模块,用于Web应用程序启动时,判断是否存在与所述Web应用程序对应的升级预处理信息,若存在,则根据升级预处理信息向升级服务器发送升级请求,并将返回的更新的应用源码程序写入应用程序缓存,同时读取Web应用程序原来的应用程序包资源,写入应用程序缓存,对不需要升级的应用源码程序进行解析。
所述的Web应用程序的升级***,其中,所述升级预处理模块具体包括:
监测单元,用于监测桌面可视区域的Web应用程序;
升级预处理单元,用于每隔预定时间对可视区域的Web应用程序进行升级预处理。
所述的Web应用程序的升级***,其中,所述升级模块具体包括:
第一解析单元,用于解析不需要升级的应用源码程序,并开始渲染界面;
第二解析单元,用于将升级服务器返回的应用源码程序写入缓存替换原来对应的应用源码程序,并对更新后的应用源码程序进行解析,继续渲染界面;
打包单元,用于应用源码程序全部下载完成后,将缓存重新打包以替换原来的应用程序包。
所述的Web应用程序的升级***,其中,所述第一解析单元中,若需要升级的应用源码程序中包含index.html,则等待升级服务器返回index.html后,按照index.html中引用的源码顺序进行解析。
所述的Web应用程序的升级***,其中,所述第二解析单元中,将升级服务器返回的具有强关联关系的应用源码程序写入备份,待所有具有强关联关系的文件下载完成后再写入缓存。
有益效果:本发明利用差分技术来实现Web应用程序的升级,减少升级时间和数据流量,通过预处理缩短升级信息处理时间,升级过程对用户透明,并且升级过程和应用启动同时进行,提高了用户体验,方便了用户的使用。
附图说明
图1为本发明一种Web应用程序的升级方法较佳实施例的流程图。
图2为图1所示方法中步骤S101的具体流程图。
图3为图1所示方法中步骤S102的具体流程图。
图4为本发明一种Web应用程序的升级***较佳实施例的结构框图。
图5为图4所示***中升级预处理模块的具体结构框图。
图6为图4所示***中升级管理模块的具体结构框图。
具体实施方式
本发明提供一种Web应用程序的升级方法及***,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为本发明一种Web应用程序的升级方法较佳实施例的流程图,如图所示,其包括步骤:
S101、预先从升级服务器获取Web应用程序的升级信息,根据所述升级信息判断是否需要升级,若需要升级则解析由升级服务器返回的升级文件清单,生成升级预处理信息;
S102、Web应用程序启动时,判断是否存在与所述Web应用程序对应的升级预处理信息,若存在,则根据升级预处理信息向升级服务器发送升级请求,并将返回的更新的应用源码程序写入应用程序缓存,同时读取Web应用程序原来的应用程序包资源,写入应用程序缓存,对不需要升级的应用源码程序进行解析。
在本实施例中,利用差分技术来实现应用的升级,不会下载全部的程序包,而只是从升级服务器下载升级所需的应用源码程序(指Web应用程序升级所需的源码文件),所以减少了升级时间,节省了数据流量,升级过程对用户透明化,其和应用启动过程同时进行,所以不会影响用户的正常使用,同时使升级粒度变小,升级过程变得更加简单,例如在Web应用升级时或许只需更新某一个图片资源或者某个源文件上修补了一个重大漏洞,传统的方法是全部下载,而本发明只需更新对应的文件即可。本发明中的应用为Web应用,其兼具传统网页的特点也具有本地应用的优势,所以更适合采用本发明的升级方法。
Web应用程序在启动时同时进行升级,向升级服务器发送升级请求,升级服务器返回应用源码程序并写入缓存,同时,还读取Web应用程序原来的应用程序包资源,写入应用程序缓存,对不需要升级的应用源码程序进行解析,以减少升级时间和数据流量。
进一步,如图2所示,所述步骤S101具体包括:
S201、监测桌面可视区域的Web应用程序;
S202、每隔预定时间对可视区域的Web应用程序进行升级预处理;
实时监测桌面可视区域,当用户切换桌面视图时,因为用户最有可能进行开启的是可视范围内的Web应用程序,所以获取可视区域的Web应用程序,然后优先对这些Web应用程序进行升级预处理,即每隔预定时间从升级服务器获取这些Web应用程序的升级信息,判断是否需要升级,若是的话,则解析升级文件清单,生成升级预处理信息。这样做的目的是为了提高应用启动时的升级速度,因为升级文件清单的数据量小,此时移动终端与服务器之间只是进行简单的升级信息通信,消耗带宽小,在此时进行升级预处理,可以减少应用启动时的处理过程。另外,如判定某个Web应用程序需要升级,那么可在其应用图标上标记可升级标志,使用户提前知道在启动该Web应用程序时,会进行升级处理。
升级服务器所返回的升级文件清单中包括了升级所需的应用源码程序名称信息以及Web应用程序的版本信息。如需要升级,则解析该升级文件清单,并对Web应用的版本以及应用源码程序等进行校验。另外如果需要升级,还可解析升级文件清单生成清单对象数据块并保存,然后启动Web应用程序时判断是存在该清单对象数据块,当有时即表示需要升级。
进一步,如图3所示,所述步骤S102具体包括:
S301、解析不需要升级的应用源码程序,并开始渲染界面;
在Web应用程序启动并且需要升级时,***为该Web应用程序分配资源,然后读取原来的应用程序包并写入缓存,并解析不需要升级的应用源码程序,并开始渲染界面,在启动的同时,按照升级文件清单的顺序向升级服务器请求升级资源,即启动应用与升级过程并行。而升级过程在后台进行,所以升级过程非常透明。
S302、将升级服务器返回的应用源码程序写入缓存替换原来对应的应用源码程序,并对更新后的应用源码程序进行解析,继续渲染界面;
升级服务器返回应用源码程序后,将新的应用源码程序替换缓存中对应的应用源码程序,并继续解析更新后的应用源码程序,继续渲染界面。
S303、应用源码程序全部下载完成后,将缓存重新打包以替换原来的应用程序包。
应用源码程序全部下载完成,即可将缓存重新打包替换原来的应用程序包,在打包时,可分别将缓存和应用配置文件(包含版本以及权限等信息)打包,以替换原来存放在设备中的缓存和应用配置文件。
所述步骤S301中,若需要升级的应用源码程序中包含index.html(导航页),则等待升级服务器返回index.html后,按照index.html中引用的源码顺序进行解析。因为index.html是最早加载的文件,所以需要先等该文件下载下来后,再进行其他文件的解析。
进一步,所述步骤S302中,将升级服务器返回的具有强关联关系的应用源码程序写入备份,待所有具有强关联关系的文件下载完成后再写入缓存。这些强关联关系的文件时升级过程中必须升级的部分,所以优选是等这些文全部下载完成后,才写入备份(缓存备份),这样可防止升级过程中偶然中断导致应用启动异常,导致程序出错。
基于上述方法,本发明还提供一种Web应用程序的升级***较佳实施例的结构框图,如图4所示,其包括:
升级预处理模块100,用于预先从升级服务器获取Web应用程序的升级信息,根据所述升级信息判断是否需要升级,若需要升级则解析由升级服务器返回的升级文件清单,生成升级预处理信息;
升级管理模块200,用于Web应用程序启动时,判断是否存在与所述Web应用程序对应的升级预处理信息,若存在,则根据升级预处理信息向升级服务器发送升级请求,并将返回的更新的应用源码程序写入应用程序缓存,同时读取Web应用程序原来的应用程序包资源,写入应用程序缓存,对不需要升级的应用源码程序进行解析。
进一步,如图5所示,所述升级预处理模块100具体包括:
监测单元110,用于监测桌面可视区域的Web应用程序;
升级预处理单元120,用于每隔预定时间对可视区域的Web应用程序进行升级预处理。
进一步,如图6所示,所述升级管理模块200具体包括:
第一解析单元210,用于解析不需要升级的应用源码程序,并开始渲染界面;
第二解析单元220,用于将升级服务器返回的应用源码程序写入缓存替换原来对应的应用源码程序,并对更新后的应用源码程序进行解析,继续渲染界面;
打包单元230,用于应用源码程序全部下载完成后,将缓存重新打包以替换原来的应用程序包。
进一步,所述第一解析单元210中,若需要升级的应用源码程序中包含index.html,则等待升级服务器返回index.html后,按照index.html中引用的源码顺序进行解析。
进一步,所述第二解析单元220中,将升级服务器返回的具有强关联关系的应用源码程序写入备份,待所有具有强关联关系的文件下载完成后再写入缓存。
关于上述模块单元的技术细节在前面的方法中已有详述,故不再赘述。
综上所述,本发明利用差分技术来实现Web应用程序的升级,减少升级时间和数据流量,通过预处理缩短升级信息处理时间,升级过程对用户透明,并且升级过程和应用启动同时进行,提高了用户体验,方便了用户的使用。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (4)
1.一种Web应用程序的升级方法,其特征在于,包括步骤:
A、预先从升级服务器获取Web应用程序的升级信息,根据所述升级信息判断是否需要升级,若需要升级则解析由升级服务器返回的升级文件清单,生成升级预处理信息;所述升级文件清单包括升级所需的应用源码程序名称信息以及Web应用程序的版本信息;
所述步骤A具体包括:
A1、监测桌面可视区域的Web应用程序;
A2、每隔预定时间对可视区域的Web应用程序进行升级预处理;
B、Web应用程序启动时,判断是否存在与所述Web应用程序对应的升级预处理信息,若存在,则根据升级预处理信息向升级服务器发送升级请求,并将返回的更新的应用源码程序写入应用程序缓存,同时读取Web应用程序原来的应用程序包资源,写入应用程序缓存,对不需要升级的应用源码程序进行解析;
所述步骤B具体包括:
B1、解析不需要升级的应用源码程序,并开始渲染界面;在Web应用程序启动的同时,按照升级文件清单的顺序向升级服务器请求升级资源;
所述步骤B1中,若需要升级的应用源码程序中包含index.html,则等待升级服务器返回index.html后,按照index.html中引用的源码顺序进行解析;
B2、将升级服务器返回的应用源码程序写入缓存替换原来对应的应用源码程序,并对更新后的应用源码程序进行解析,继续渲染界面;
所述步骤B2中,将升级服务器返回的具有强关联关系的应用源码程序写入备份,待所有具有强关联关系的文件下载完成后再写入缓存;所述强关联关系的文件是升级过程中必须升级的部分。
2.根据权利要求1所述的Web应用程序的升级方法,其特征在于,所述步骤B还包括:
B3、应用源码程序全部下载完成后,将缓存重新打包以替换原来的应用程序包。
3.一种Web应用程序的升级***,其特征在于,包括:
升级预处理模块,用于预先从升级服务器获取Web应用程序的升级信息,根据所述升级信息判断是否需要升级,若需要升级则解析由升级服务器返回的升级文件清单,生成升级预处理信息;所述升级文件清单包括升级所需的应用源码程序名称信息以及Web应用程序的版本信息;
所述升级预处理模块具体包括:
监测单元,用于监测桌面可视区域的Web应用程序;
升级预处理单元,用于每隔预定时间对可视区域的Web应用程序进行升级预处理;
升级管理模块,用于Web应用程序启动时,判断是否存在与所述Web应用程序对应的升级预处理信息,若存在,则根据升级预处理信息向升级服务器发送升级请求,并将返回的更新的应用源码程序写入应用程序缓存,同时读取Web应用程序原来的应用程序包资源,写入应用程序缓存,对不需要升级的应用源码程序进行解析;
所述升级管理 模块具体包括:
第一解析单元,用于解析不需要升级的应用源码程序,并开始渲染界面;在Web应用程序启动的同时,按照升级文件清单的顺序向升级服务器请求升级资源;
所述第一解析单元中,若需要升级的应用源码程序中包含index.html,则等待升级服务器返回index.html后,按照index.html中引用的源码顺序进行解析;
第二解析单元,用于将升级服务器返回的应用源码程序写入缓存替换原来对应的应用源码程序,并对更新后的应用源码程序进行解析,继续渲染界面;
所述第二解析单元中,将升级服务器返回的具有强关联关系的应用源码程序写入备份,待所有具有强关联关系的文件下载完成后再写入缓存;所述强关联关系的文件是升级过程中必须升级的部分。
4.根据权利要求3所述的Web应用程序的升级***,其特征在于,所述升级管理 模块还包括:
打包单元,用于应用源码程序全部下载完成后,将缓存重新打包以替换原来的应用程序包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510120502.2A CN106033364B (zh) | 2015-03-19 | 2015-03-19 | 一种Web应用程序的升级方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510120502.2A CN106033364B (zh) | 2015-03-19 | 2015-03-19 | 一种Web应用程序的升级方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106033364A CN106033364A (zh) | 2016-10-19 |
CN106033364B true CN106033364B (zh) | 2021-07-16 |
Family
ID=57148676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510120502.2A Active CN106033364B (zh) | 2015-03-19 | 2015-03-19 | 一种Web应用程序的升级方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106033364B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107315606A (zh) | 2017-06-14 | 2017-11-03 | 北京小米移动软件有限公司 | 应用更新方法及装置 |
CN108712281B (zh) * | 2018-05-08 | 2022-02-01 | 阿里巴巴(中国)有限公司 | 触发检测管理应用更新的方法、装置、存储介质和终端 |
CN111352730B (zh) * | 2020-02-11 | 2023-07-14 | 浙江大华技术股份有限公司 | 应用程序升级的缓存方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724308A (zh) * | 2012-06-13 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 软件更新方法及软件更新*** |
CN103186400A (zh) * | 2011-12-31 | 2013-07-03 | 深圳市金蝶中间件有限公司 | Web应用程序升级方法及*** |
CN103442272A (zh) * | 2013-09-11 | 2013-12-11 | 东莞市远峰科技有限公司 | 一种***升级的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100107150A1 (en) * | 2007-03-20 | 2010-04-29 | Tomihisa Kamada | Terminal having application update managing function, and application update managing program and system |
JP5500999B2 (ja) * | 2010-01-13 | 2014-05-21 | キヤノン株式会社 | 情報処理装置およびその制御方法およびプログラム |
CN103002024B (zh) * | 2012-11-21 | 2015-05-27 | 用友软件股份有限公司 | 应用程序升级***和应用程序升级方法 |
CN103634675A (zh) * | 2013-12-23 | 2014-03-12 | 乐视致新电子科技(天津)有限公司 | 智能电视中***升级方法和装置 |
-
2015
- 2015-03-19 CN CN201510120502.2A patent/CN106033364B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186400A (zh) * | 2011-12-31 | 2013-07-03 | 深圳市金蝶中间件有限公司 | Web应用程序升级方法及*** |
CN102724308A (zh) * | 2012-06-13 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 软件更新方法及软件更新*** |
CN103442272A (zh) * | 2013-09-11 | 2013-12-11 | 东莞市远峰科技有限公司 | 一种***升级的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106033364A (zh) | 2016-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11119812B2 (en) | Method and device for processing application program page according to a common interface container | |
EP3441876B1 (en) | Patch upgrade-based file processing method and device, terminal, and storage medium | |
EP3333704A1 (en) | Method and apparatus for repairing kernel vulnerability | |
CN107741844B (zh) | 一种应用安装包的生成方法和装置 | |
US9525587B2 (en) | Updating web resources | |
EP2806357A1 (en) | Method and communication device for updating a web application | |
US20140095667A1 (en) | Mobile device application streaming | |
US20150378714A1 (en) | Providing Context-Specific Software Updates to Client Applications | |
CN106686200B (zh) | 移动应用程序更新方法、移动终端及更新*** | |
CN103838558B (zh) | 网站建站***及方法、访问网站的方法及网页适配*** | |
CN108647032B (zh) | 应用加载方法及装置、计算机装置和计算机可读存储介质 | |
CN107291481B (zh) | 一种组件更新方法、装置和*** | |
CN107798064B (zh) | 页面处理方法、电子设备及计算机可读存储介质 | |
CN112256296A (zh) | 基于Weex的快递服务APP更新方法、装置、设备及存储介质 | |
CN111212183B (zh) | 一种用于运行寄宿应用的方法、设备及计算机可读介质 | |
CN109885332A (zh) | 画质芯片软件升级方法、装置、显示设备及存储介质 | |
CN106033364B (zh) | 一种Web应用程序的升级方法及*** | |
CN103634393A (zh) | Ivr及其实现方法 | |
CN108733370B (zh) | 原生app的样式化显示方法、装置、终端及存储介质 | |
CN104052769A (zh) | 一种对移动终端应用包含的资源更新的方法、装置和*** | |
CN110807162A (zh) | 加载占位图的方法和装置 | |
CN111107133A (zh) | 差异包的生成方法、数据更新方法、装置和存储介质 | |
CN111338666A (zh) | 一种实现应用程序升级的方法、装置、介质和电子设备 | |
CN107918587B (zh) | 一种应用程序的调试方法及*** | |
CN107092472B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 516006 TCL science and technology building, No. 17, Huifeng Third Road, Zhongkai high tech Zone, Huizhou City, Guangdong Province Applicant after: TCL Technology Group Co.,Ltd. Address before: 516006 Guangdong province Huizhou Zhongkai hi tech Development Zone No. nineteen District Applicant before: TCL RESEARCH AMERICA Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |