CN114115943A - 一种支持断点续传的版本更新方法、系统、介质及设备 - Google Patents
一种支持断点续传的版本更新方法、系统、介质及设备 Download PDFInfo
- Publication number
- CN114115943A CN114115943A CN202111364959.XA CN202111364959A CN114115943A CN 114115943 A CN114115943 A CN 114115943A CN 202111364959 A CN202111364959 A CN 202111364959A CN 114115943 A CN114115943 A CN 114115943A
- Authority
- CN
- China
- Prior art keywords
- file
- downloading
- version updating
- version
- installation
- 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 61
- 230000005540 biological transmission Effects 0.000 title claims abstract description 13
- 238000009434 installation Methods 0.000 claims abstract description 57
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 7
- 230000000694 effects Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 4
- 239000012634 fragment Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004044 response 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
-
- 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)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种支持断点续传的版本更新方法,包括步骤:S1.调用预设参数信息及预设下载方法;S2.检查文件保存目录是否存在;若是,则继续下载;若否,则在创建文件保存目录后继续下载;S3.检查安装文件是否下载完成;若是,则将下载完成的安装文件安装到应用终端;若否,则以临时文件为源数据,继续下载未下载完的剩余安装文件,直至安装文件下载完成,然后再将下载完成的安装文件安装到应用终端。本发明的版本更新方法在系统本身体量不大且无需依赖或集成第三方平台的前提下,结合自身业务服务器即可实现下载安装包时的断点续传功能,提升了用户体验。
Description
技术领域
本发明涉及版本更新技术领域,尤其涉及一种支持断点续传的版本更新方法、系统、介质及设备。
背景技术
在当今移动互联网的时代,应用软件的版本更新是提升应用系统使用体验的重要途径。
然而,现有技术在应用系统本身体量不大且无需依赖或集成第三方平台的前提下,难以支持下载安装包时的断点续传功能。这样一来,若是网络状态不好,或是切换网络,再或是重启应用时,下载安装包的进度又得重新开始,致使下载的效率不够高,用户体验不够好。
发明内容
针对背景技术中提到的现有技术的至少一个缺陷或改进需求,第一方面,本发明提供一种支持断点续传的版本更新方法,包括如下步骤:
S1.调用预设参数信息及预设下载方法;
S2.检查文件保存目录是否存在;若是,则继续下载;若否,则在创建所述文件保存目录后继续下载;
S3.检查安装文件是否下载完成;若是,则将下载完成的所述安装文件安装到应用终端;若否,则以临时文件为源数据,继续下载未下载完的剩余所述安装文件,直至所述安装文件下载完成,然后再将下载完成的所述安装文件安装到所述应用终端。
根据本发明提供的支持断点续传的版本更新方法,在所述调用预设参数信息及预设下载方法的步骤前还包括如下步骤:
S01.获取最新版所述安装文件;
S02.检查当前版所述安装文件是否是最新版所述安装文件;若是,则继续使用当前版所述安装文件;若否,则显示版本更新弹窗提示。
根据本发明提供的支持断点续传的版本更新方法,在所述若否,则显示版本更新弹窗提示的步骤后还包括如下步骤:
S03.进入判断是否手动更新流程;若否,则关闭所述版本更新弹窗提示;若是,则进入所述调用预设参数信息及预设下载方法的步骤。
根据本发明提供的支持断点续传的版本更新方法,所述预设参数信息包括所述安装文件的最新版本信息和对应的下载地址。
根据本发明提供的支持断点续传的版本更新方法,所述预设下载方法为:
在下载过程中,先将已下载的所述安装文件保存为所述临时文件,下载完成后,再将所述临时文件转化为正式文件。
根据本发明提供的支持断点续传的版本更新方法,所述文件保存目录为所述安装文件的保存目录,通过所述调用预设参数信息获取。
第二方面,本发明提供一种支持断点续传的版本更新系统,能够实现上述任一所述的版本更新方法的步骤。
第三方面,本发明提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时能够实现上述任一所述的版本更新方法的步骤。
第四方面,本发明提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时能够实现上述任一所述的版本更新方法的步骤。
本发明提供的一种支持断点续传的版本更新方法、系统、介质及设备,通过调用预设参数信息及预设下载方法,进而获取文件保存目录并依其进行下载,在下载中断时保存的临时文件可作为源数据在下载再次重启时在该源数据的基础上继续进行下载,且系统支持手动控制下载进度,从而在系统本身体量不大且无需依赖或集成第三方平台的前提下,结合自身业务服务器即可实现更新下载安装包时的断点续传功能,进而提高了下载效率,在提升了用户体验的同时,也节省了流量的损耗。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见的,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中的支持断点续传的版本更新方法的方法流程图之一;
图2是本发明实施例中的支持断点续传的版本更新方法的方法流程图之二。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的支持断点续传的版本更新方法既可以适用于Android操作系统,又可以适用于诸如IOS操作系统等。本发明仅以适用于 Android操作系统的实施例进行详细说明,适用于其他操作系统的具体实现手段略有区别,但是实现思路大体类似。
结合图1和图2做参考,在一个实施例中,本发明的一种基于 Android的支持断点续传的版本更新方法,包括如下S1-S3的步骤:
S1.调用预设参数信息及预设下载方法。预设参数信息至少包括安装文件(即安装包)的最新版本信息(即最新版本号)和对应的下载地址。预设下载方法为:在下载过程中,先将已下载的安装文件保存为临时文件,下载完成后,再将临时文件转化为正式文件。
调用类构造器(接收传递的参数用于实现业务逻辑,可自定义) 将用于活动或片段管理相关参数(片段管理对象,上下文对象等)、用于下载、存储及安装的参数(下载地址,应用名,最新版本号,应用标识等)和用于界面显示的参数(更新标题,更新内容等)传给下载管理类,下载管理类获得这些预设参数信息后,控制下载、存储、安装和界面显示。
预设的断点续传下载方法:在下载过程中,先将已下载部分的安装包保存为“.tmp”结尾的临时文件,下载完成后,再把临时文件重命名为“.apk”结尾的正式文件,需要服务器支持断点续传(即服务器支持按字节下载)。
HTTP服务器有很多种,比较著名的有Apache、Nginx等,Apache 会默认开启对断点续传的支持。因此,如果直接通过Web服务器来提供文件的下载,可以不必做特别的配置,即可享受到断点续传的好处。断点续传是在发起HTTP请求的时候加入RANGE头来告诉服务器客户端已经下载了多少字节。等所有这些请求都返回之后,再把得到的内容一块一块地拼接起来得到完整的资源。简单来说,判断服务器是否支持断点续传,看Web服务器是否支持Range请求即可。若能够找到Content-Range,则表明服务器支持断点续传。有些服务器还会返回Accept-Ranges,输出结果Accept-Ranges:bytes,说明服务器支持按字节下载。
S2.检查文件保存目录是否存在;若是,则继续下载;若否,则在创建文件保存目录后继续下载。文件保存目录即为最新版安装文件 (即安装包)的保存目录,其通过调用预设参数信息获取,可依其对最新版安装包进行下载。
S3.检查安装文件是否下载完成;若是,则根据构造器传入的预设参数信息将下载完成的安装文件安装到应用终端;若否,则以临时文件为源数据,继续下载未下载完的剩余安装文件,直至安装文件下载完成,然后再根据构造器传入的预设参数信息将下载完成的安装文件安装到应用终端。若安装包的下载中断,则打开临时文件,构建请求头(“Range:byte=downloadLen-”,downloadLen为临时文件的字节数),发送HTTP请求,将响应信息转化为字节流,继续写入到临时文件中,当临时文件的字节数等于下载的文件的字节数时,下载完成,将临时文件的后缀.tmp改写为.apk,并安装。下载的各个节点均可通过接口(interface)和Handler消息机制完成事件的监听与传递,从而控制界面更新(接口和Handler消息机制是本实施例提出的完成事件监听与传递的一种方式,并不仅限于此)。
安装包安装工具类(ApkInstallUtil)可将下载的最新安装包安装到Android应用终端上,其安装过程为:检查是否拥有安装未知应用的权限,如果没有则申请;如果拥有安装未知权限则打开Android应用终端系统的安装应用界面,进行安装。
优选的,在调用预设参数信息及预设下载方法的步骤前还可包括如下S01-S02的步骤:
S01.获取最新版安装文件。Android应用端向服务端请求最新的 App版本信息(至少包括最新版本号,Apk下载地址)。(服务端需保存App的最新版本号及Apk的下载地址等信息,并提供相应接口供 Android应用端调用)。
网络监听工具类可监听网络状态,通过getNetStatus方法获取当前网络状态并返回。
网络状态广播接收器可获取当前网络状态,并通过实现接口的形式将网络状态传递给注册了该广播的活动或片段(界面的载体)。具体的,活动或片段将实现了接收器中的抽象接口方法的接口对象A 传给接收器,当网络状态发生变化时,将当前网络状态通过A的接口方法回传给活动或片段,活动或片段得以获取当前网络状态并实现业务逻辑。
S02.检查当前版安装文件是否是最新版安装文件;若是,则继续使用当前版安装文件;若否,则显示版本更新弹窗提示。
优选的,在所述若否,则显示版本更新弹窗提示的步骤后还可包括如下S03的步骤:
S03.进入判断是否手动更新流程;若否,则关闭版本更新弹窗提示;若是,则进入调用预设参数信息及预设下载方法的步骤。
弹窗界面的构建:
功能:界面的显示和逻辑控制,主要包括布局文件和界面业务类。
XML布局文件:布局文件可理解为界面的最终显示,该部分可自定义,可以定义多种样式,通过最终的构造方法的传参决定使用哪一样式。主要的控件包括文本框(用于标题,下载百分数的显示),进度条(下载进度条),按钮(暂停,继续,取消,安装按钮控制业务逻辑)等。
弹窗界面业务类DownloadDialog:继承自DialogFragment类(片段,用于加载上述的布局文件,也是界面的载体,可理解为精简的活动,可以半透明的状态覆盖在原界面之上),需要注册网络状态广播接收器,并实现接收器接口的抽象方法(获得当前网络状态并实现业务逻辑,具体的业务逻辑由开发者实现,主要就是控制界面的显示以及下载的进度)。
弹窗界面的构建的主要效果:
(1)通过上述按钮可手动控制下载的中断,继续,取消和下载后的安装。
(2)通过注册网络状态广播接收器,实现网络未连接时自动中断下载,待网络连接正常,自动继续下载。
第二方面,本发明实施例提供一种支持断点续传的版本更新系统,能够实现上述任一所述的版本更新方法的步骤。
第三方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时能够实现上述任一所述的版本更新方法的步骤。
第四方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时能够实现上述任一所述的版本更新方法的步骤。
本领域的技术人员容易理解,以上所述仅为本发明的一些较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种支持断点续传的版本更新方法,其特征在于,包括如下步骤:
S1.调用预设参数信息及预设下载方法;
S2.检查文件保存目录是否存在;若是,则继续下载;若否,则在创建所述文件保存目录后继续下载;
S3.检查安装文件是否下载完成;若是,则将下载完成的所述安装文件安装到应用终端;若否,则以临时文件为源数据,继续下载未下载完的剩余所述安装文件,直至所述安装文件下载完成,然后再将下载完成的所述安装文件安装到所述应用终端。
2.根据权利要求1所述的支持断点续传的版本更新方法,其特征在于,在所述调用预设参数信息及预设下载方法的步骤前还包括如下步骤:
S01.获取最新版所述安装文件;
S02.检查当前版所述安装文件是否是最新版所述安装文件;若是,则继续使用当前版所述安装文件;若否,则显示版本更新弹窗提示。
3.根据权利要求2所述的支持断点续传的版本更新方法,其特征在于,在所述若否,则显示版本更新弹窗提示的步骤后还包括如下步骤:
S03.进入判断是否手动更新流程;若否,则关闭所述版本更新弹窗提示;若是,则进入所述调用预设参数信息及预设下载方法的步骤。
4.根据权利要求2所述的支持断点续传的版本更新方法,其特征在于,所述预设参数信息包括所述安装文件的最新版本信息和对应的下载地址。
5.根据权利要求1所述的支持断点续传的版本更新方法,其特征在于,所述预设下载方法为:
在下载过程中,先将已下载的所述安装文件保存为所述临时文件,下载完成后,再将所述临时文件转化为正式文件。
6.根据权利要求4所述的支持断点续传的版本更新方法,其特征在于,所述文件保存目录为所述安装文件的保存目录,通过所述调用预设参数信息获取。
7.一种支持断点续传的版本更新系统,其特征在于,能够实现权利要求1至6任一所述的版本更新方法的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时能够实现权利要求1至6任一所述的版本更新方法的步骤。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时能够实现权利要求1至6任一所述的版本更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111364959.XA CN114115943A (zh) | 2021-11-17 | 2021-11-17 | 一种支持断点续传的版本更新方法、系统、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111364959.XA CN114115943A (zh) | 2021-11-17 | 2021-11-17 | 一种支持断点续传的版本更新方法、系统、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114115943A true CN114115943A (zh) | 2022-03-01 |
Family
ID=80397196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111364959.XA Pending CN114115943A (zh) | 2021-11-17 | 2021-11-17 | 一种支持断点续传的版本更新方法、系统、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114115943A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115665002A (zh) * | 2022-10-24 | 2023-01-31 | 国网山东省电力公司 | 一种计算机网络异常检测的系统以及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580285A (zh) * | 2013-10-15 | 2015-04-29 | 镇江雅迅软件有限责任公司 | 一种基于http协议断点续传文件的实现方法 |
CN109587232A (zh) * | 2018-11-28 | 2019-04-05 | 陕西天诚软件有限公司 | 基于iOS网络的文件断点续传方法 |
CN111432033A (zh) * | 2020-04-22 | 2020-07-17 | 深信服科技股份有限公司 | 应用程序下载方法、装置、系统、ios设备及介质 |
-
2021
- 2021-11-17 CN CN202111364959.XA patent/CN114115943A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580285A (zh) * | 2013-10-15 | 2015-04-29 | 镇江雅迅软件有限责任公司 | 一种基于http协议断点续传文件的实现方法 |
CN109587232A (zh) * | 2018-11-28 | 2019-04-05 | 陕西天诚软件有限公司 | 基于iOS网络的文件断点续传方法 |
CN111432033A (zh) * | 2020-04-22 | 2020-07-17 | 深信服科技股份有限公司 | 应用程序下载方法、装置、系统、ios设备及介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115665002A (zh) * | 2022-10-24 | 2023-01-31 | 国网山东省电力公司 | 一种计算机网络异常检测的系统以及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108108181B (zh) | 应用程序的功能更新方法、装置及计算机可读存储介质 | |
US10057415B2 (en) | Method and apparatus for remote control and updating of wireless mobile devices | |
CN104063239B (zh) | 移动终端的应用程序更新方法及服务器、客户端 | |
CN107870787B (zh) | 应用程序插件化加载方法及系统 | |
CN106897086B (zh) | 用于升级机器人操作系统的方法、装置及系统 | |
WO2017088388A1 (zh) | 应用的sdk的升级方法及系统 | |
CN107305553B (zh) | 一种基于Hybrid App中动态跳转Hybrid页面的方法及系统 | |
EP2482187A1 (en) | Software upgrading method, software upgrading system and client | |
CN109525584B (zh) | 一种构建移动端跨平台多类型应用容器的方法 | |
CN108874437B (zh) | 一种android应用程序的在线云更新方法 | |
JP2009020878A (ja) | 移動体電子装置、および、移動体電子装置における装置設定の復元方法 | |
CN102801755A (zh) | 一种应用的管理方法和一种应用平台 | |
US8782636B2 (en) | Information processing apparatus, control method thereof, and program | |
CN106775817A (zh) | 智能终端开屏广告的控制方法、系统及智能终端 | |
CN105302563A (zh) | 移动应用服务的插件化方法及系统 | |
CN107707584A (zh) | 一种应用加载方法、终端及平台服务器 | |
CN113760324A (zh) | 构建微前端应用的方法和装置 | |
JP2001356912A (ja) | ソフトウェアのインストール/アップデート/アンインストールシステム | |
CN112764772A (zh) | 更新文件的预下载方法、加载方法、装置、设备及介质 | |
WO2022262444A1 (zh) | 文件管理方法、装置、电子设备和可读存储介质 | |
CN114115943A (zh) | 一种支持断点续传的版本更新方法、系统、介质及设备 | |
CN115515012B (zh) | 一种密钥烧录方法、装置、电子设备板卡及存储介质 | |
CN110489149B (zh) | 智能设备的控制方法以及系统 | |
WO2009110719A2 (ko) | 홈 네트워크에서 소프트웨어 생명 주기를 관리하는 방법 및 장치 | |
CN112468611A (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 |