OTA多版本升级方案
博客专区 > 老牟 的博客 > 博客详情
OTA多版本升级方案
老牟 发表于4年前
OTA多版本升级方案
  • 发表于 4年前
  • 阅读 236
  • 收藏 6
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

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

在做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
×
老牟
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: