文档章节

OTA多版本升级方案

老牟
 老牟
发布于 2014/01/03 16:02
字数 570
阅读 250
收藏 6

在做OTA升级的时候,遇到一问题,当OTA多版本存在的时候,用户每更新一个detail包,就需要重启一次手机,如果有100个detail包,用户就需要重启100次么?

项目中的实际情况是,项目X出厂时刷的是版本100,项目每周都要定时推送用户升级,也就是有后续的101,102,103...,也就是说商店正在出售的手机还是100版本,而用户拿到手机的时候版本是出厂的时候的版本,连接网络后需要更新升级,也就是当检测到有101时,下载101版本,重启进入升级模式,更新101版本,重新启动后,检测到有102版本,又下载101版本,重启进入升级模式,再更新102版本

那么有什么解决方案呢?

方案1

检测到如果是版本差有一定大时,直接下载最新版的full包,然后更新升级。

 缺点:一般full包比较大,当网络情况不好时,用户下载更新包时间较长。

方案2

检测到所有的更新包,然后下载,合并成一个更新包,然后更新升级。

 缺点:合并成一个更新包时,合并时间较长,如果出现合并错误,将导致不可预估的异常。

方案3

检测到所有的更新包,然后下载,通过修改升级模式代码,能够升级多个更新包。

 缺点:暂无

 优点:用户不需要在下载更新后,等待大量的时间用于合并更新包,方案3占用的时间为方案2占用时间的一半。

占用时间说明:

方案2:   下载更新包时间  +  合并时间 + 更新时间

方案3: 下载更新包时间 + 更新时间

方案2 和 方案3 由于更新包大小一样,所以理论上更新时间一样。

所以方案3胜出。


© 著作权归作者所有

共有 人打赏支持
老牟
粉丝 13
博文 20
码字总数 8401
作品 0
成都
程序员
「镁客·请讲」艾拉比芮亚楠:当OTA普及,我们将在物联网和车联网看到三个变化

在芮亚楠看来,自身不具备升级迭代功能的不算真正意义上的智能设备。 在智能手机,我们总是通过OTA(Over-The-Air)技术来实现系统的更新与漏洞的修补,用WiFi、移动通信等无线网络自动下载O...

行者武松
03/07
0
0
iOS 11 爆严重 Bug!闹钟不会响?

iOS 11自9月发布以后,已推出多个更新,现时最新已去到11.1.2版本,但不少用家仍投诉iOS 11还存有不少Bugs。最近,就有网民就在reddit讨论区投诉,指它的iOS装置调校了闹钟后,如装置已开启静...

小七里外
2017/11/27
0
0
摩托罗拉手机可能很快升级到 Android 5.0

我们知道摩托罗拉正在努力工作,让旗下智能手机得以很快 地升级到Android 5.0棒棒糖。现在看起来,升级时间要比预料得要早。几天前摩托罗拉内部泄露了Android 5.0棒棒糖的一个测试版本,仅供...

oschina
2014/11/09
3K
8
Android 4.4.2 KitKat 发布,以及如何安装

Android 4.4.1 发布仅仅几天后,Google 已经为 Nexus 设备准备好了 4.4.2 版本。该版本包含 Nexus 5 摄像头的显著改进,其他主要是重要 bug 的修复。 Android 4.4.2 修复了 VM Indicator 的清...

oschina
2013/12/10
8K
13
Here地图收购德国公司ATS,要用OTA技术解决自动驾驶难题

近日,Here地图宣布将收购德国软件公司Advanced Telematic Systems(ATS),以此提高数据分配、更新和安全能力。 ATS总部在柏林,主要研发高度安全的OTA(空中下载)技术,用于车载软件、智能...

Misty
2017/12/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

中秋快乐!!!

HiBlock
18分钟前
0
0
Node安装教程

1、安装最新版的node 2、设置相关目录(以D盘为例) 分别建立目录:D:\node,D:\node\node-globa,D:\node\node-cache 命令行输入: // 设置npm国内镜像 npm config set registry https://re...

Mohan710
46分钟前
1
0
中国发布域名系统基础软件 “红枫”

9月12日消息,域名工程中心(英文缩写 ZDNS)发布了宣称自主开发的域名系统基础软件 “红枫(Maple DNS)”。 9月12日消息,域名工程中心(英文缩写 ZDNS)发布了宣称自主开发的域名系统基础软...

问题终结者
今天
3
0
Shell编程(分发系统介绍、expect远程登录、expect远程执行命令、expect传递参数)

分发系统介绍expect 分发系统expect即分发脚本,是一种脚本语言;通过他可以实现传输,输入命令(上线代码) 应用场景:业务越来越大,网站app,后端,编程语言是php,所以就需要配置lamp或者...

蛋黄_Yolks
今天
2
0
Java Http请求工具类

public static String httpPost(String source, String params) {URL url = null;HttpURLConnection conn = null;OutputStream os = null;String ret = null;try {......

yuewawa
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部