OTA是一种无线分发和安装软件更新的技术,可以让用户在不连接电脑的情况下直接通过设备的无线网络(如Wi-Fi或蜂窝数据网络)进行系统升级。
Android的升级(包含系统和应用程序)
操作系统升级
系统升级的实现过程大致如下:
-
通知和检查更新:谷歌发布新版本的Android操作系统后,设备制造商会基于这个新版本进行定制和优化,然后将更新推送给用户。用户的设备会定期自动检查更新,或者用户可以手动在设备的设置中检查更新。如果有可用的更新,设备会收到更新通知。
-
下载更新:用户同意安装更新后,设备会在后台下载更新包。为了节省流量,用户可以选择仅在连接到Wi-Fi时下载。
-
安装更新:下载完成后,设备会提示用户安装更新。安装过程中,设备会重启并进入恢复模式。在恢复模式下,设备会用新的系统镜像替换旧的系统镜像。Android系统采用A/B(Seamless)更新机制,这种机制允许设备在后台安装更新,而不会影响用户正在进行的操作。当安装完成后,设备会重启并运行新的系统版本。
应用程序升级
Android应用程序的升级主要通过Google Play商店进行。应用开发者发布新版本后,Google Play商店会自动通知用户进行更新。用户可以选择自动或手动更新应用。更新过程如下:
-
通知和检查更新:Google Play商店会定期检查应用更新,并通过通知栏提示用户有可用的更新。
-
下载更新:用户同意安装更新后,Google Play商店会下载应用程序的更新包。为了节省流量,用户可以选择仅在连接到Wi-Fi时下载。
-
安装更新:下载完成后,Google Play商店会自动安装更新包,替换旧版本的应用程序。
A/B(Seamless)更新机制
A/B(Seamless)更新机制是Android 7.0(Nougat)及以后版本引入的一种更新策略,旨在让系统更新过程更加平滑、快速且对用户几乎无感知。A/B更新机制的实现依赖于设备上的双分区系统,每个分区都有一个完整的系统镜像。这两个分区通常被称为A分区和B分区。
当有新的系统更新可用时,A/B更新机制按照以下步骤进行:
-
后台下载:当用户同意安装系统更新后,设备会在后台下载新的系统镜像。在此过程中,用户可以继续正常使用设备,不会受到影响。
-
非活动分区安装:下载完成后,新的系统镜像会被安装到当前非活动的分区。例如,如果当前活动分区是A分区,那么新的系统镜像将会被安装到B分区。此时,A分区仍然运行着旧版本的系统,用户仍然可以正常使用设备。
-
分区切换:当新系统镜像安装完成后,设备会在下次启动时切换到新的活动分区。例如,如果新的系统镜像安装在B分区,那么设备在重启后会从B分区启动。这时,用户会看到系统已经升级到新版本。
这种A/B更新机制的优势在于:
-
减少设备停机时间:由于系统更新主要在后台进行,用户在更新过程中仍然可以正常使用设备,减少了设备因更新而导致的停机时间。
-
降低升级风险:如果新系统镜像在安装过程中出现问题,设备仍然可以通过切换回原来的分区来恢复正常使用。这降低了因更新失败导致设备无法使用的风险。
-
无缝升级:由于分区切换通常在设备启动时完成,用户几乎感受不到系统更新的过程,实现了无缝升级。
需要注意的是,并非所有Android设备都支持A/B(Seamless)更新机制。设备制造商需要在硬件和软件层面支持该机制,才能为用户提供无缝升级体验。
Ubuntu系统的升级
Ubuntu设备本身并未采用与Android完全相同的A/B(Seamless)更新机制。但Ubuntu Core系统,一种针对物联网(IoT)设备和嵌入式系统设计的Ubuntu版本,采用了类似的更新策略。Ubuntu Core使用名为"snap"的软件包格式来分发和管理应用程序。Snap软件包通过类似于Android A/B更新机制的策略来实现系统和应用程序更新,具体包括以下特点:
-
事务性更新:Snap软件包提供原子性更新,确保在更新过程中系统和应用程序始终保持一致的状态。即使在更新过程中出现故障,系统也能恢复到更新前的状态,降低因更新失败导致的设备故障风险。
-
同时保留新旧版本:Snap软件包允许在更新应用程序时保留新旧版本。当新版本出现问题时,可以轻松回退到旧版本。这类似于Android A/B更新机制中在两个分区上保留新旧系统镜像的做法。

最低0.47元/天 解锁文章
932

被折叠的 条评论
为什么被折叠?



