OTA升级

什么是OTA

全称Over the Air Technology,其实就是通过网络来把一个新的软件包从服务器上下载下来,更新到设备上。即远程在线升级,我是一个升级包,我从开发者电脑上跑到服务器,又被拉到到需要升级的设备中,执行升级脚本。

升级流程

1.上传升级包

本地制作好升级包上传到文件服务器或者管理后端

升级包可以是压缩包、也可以是bin文件或run文件,包含升级所需配置文件、动态库、可执行程序、升级描述文件、其他升级所需文件。

2.触发升级

可以通知触发、手动触发等多种方式通知客户端下载升级

客户端收到升级通知,去指定文件服务器下载升级包。

3.升级

执行升级脚本,升级脚本和升级包一起上传,逻辑可控

升级取决于全量升级还事增量升级,增量升级只包含变动文件,全量升级包含全部文件,升级逻辑可以写在bin/run文件或者解压后升级文件,执行相应的升级脚升级即可

固件升级

固件升级OTA(Over-the-Air Technology)即空中下载技术,是IoT物联网平台必备的一项基础功能。通过OTA方式,我们可以对分布在全球各地的IoT设备进行设备固件升级,而不必让运维人员各地奔波。

假设服务器部署在AWS平台,则升级流程如下所示

流程图
数据流

1.升级脚本

脚本作用:这个脚本文件的主要作用就是用来控制升级过程。

重要思想:upgrade.sh 是放在升级包中的,它并没有固化在终端设备中。这样的话,每次执行升级任务时,都可以根据本次的升级需要,来灵活的编写升级脚本。换句话说:只要能保证升级的通道没有问题,那么升级的过程就完全由这个脚本文件来控制。

升级流程:升级脚本主要工作概括来说就是停掉程序、删除/修改/添加程序文件、添加/修改/替换升级所需文件。

2.增量升级

所谓的增量升级:就是升级时并不会把所有的文件全部进行替换,而只是替换那些需要更新的文件。此时升级包中,只需要包含必要的文件就可以了,不需要把其他用不到的文件也放进去了。需要注意的是升级脚本对类似配置文件的操作,比如删除、修改、添加配置项必须准确。

3.全量升级

所谓的完全升级,就是把旧版本的程序全部丢弃,把升级包中的新程序全部复制过去。这样的升级方式比较粗鲁,需要考虑如配置文件是否覆盖,是否保留,是否修改等因素。

参考

OTA升级

你可能感兴趣的:(OTA升级)