夜雨聆风学习资料网

ARTICLE · 1295253

App 升级了,设备没跟上,然后现场就乱了

App 升级了,设备没跟上,然后现场就乱了
一家做智能照明的公司,最近遇到一件很典型的事:App 端发了个新版本,把某个设置项挪了个位置,功能本身没问题。结果老用户升级 App 之后,新老固件的设备在后台混在一起,同一个开关控制着两套不同的逻辑,客服一天接了六十多个电话,最后发现不是 App 的错,是没人管那张"App 版本和固件版本能不能对上"的表。今天允控把这张表讲清楚,也讲清楚灰度和回滚该怎么设计。
第一件事,先承认一个现实:设备一旦卖出去,固件就再也收不回来了。 很多人做产品时把 App 当成软件迭代,把固件当成一个批次,其实不是。固件是发出去就固化在别人家里的东西,一台智能设备在你家客厅里,厂家没有远程召回它的能力,只能靠 OTA 推送,而且必须一次推送对。所以版本管理这件事,真正被管理的是"已经在客户家里的那批固件",不是你仓库里那批。 这个前提一变,很多做法就得改。比如不能用"最新版本"这种说法做兼容判断,得知道每个现场跑的是哪个版本;不能假设用户会更新 App,也不能假设用户的 App 更新了设备固件就一定更新了。
第二件事,兼容矩阵不是一张Excel,是一份承诺。 允控的做法是给每一个发布的固件版本标三样东西:它支持的最低 App 版本,它支持的最低硬件版本,它和上一个版本之间的行为差异。这三样东西决定了这版固件能不能推、推给谁、推下去出问题怎么退。 这张矩阵最大的作用不是给开发看的,是给现场和客服看的。客服接到电话,第一个问题永远应该是:你 App 是什么版本,设备是什么版本,固件版本是多少。这三个数一报出来,八成的工单当场就能定性——是用户误操作,是老设备到新 App 的兼容问题,还是真的硬件故障。允控见过太多客服团队靠猜,猜错一次,用户对你的信任就少一格。
第三件事,行为变更要当成破坏性变更来管。 真正炸的从来不是改了个按钮位置,是改了行为。老版本里开关是"开/关"两态,新版本变成"开/关/自动"三态;老版本断网后保持最后一次状态,新版本改成回到默认;老版本同一个网关下设备名唯一,新版本允许重名。这些改动在开发看来都是"优化",在现场看来全是投诉来源。 允控的做法是给每一类改动打标记:无行为变更的,可以直接灰度;有行为变更的,必须在新旧两端同时保留兼容逻辑至少一个版本周期,并且升级前在后台给这台设备算一次"能不能升"。算不出来的,就别升,让它留在旧版本上继续跑。这不优雅,但比半夜召回强。
第四件事,灰度的单位不是用户,是批次。 按用户百分比灰度,在物联网场景里有个硬伤:同一户人家可能有五台设备,也可能只有一台。按百分比灰度会切在家庭中间,一半设备新逻辑一半旧逻辑,用户立刻觉得东西坏了。 允控的做法是按设备维度切,而且切在"可控的物理边界"上:同一个网关下的设备一起升,一个车间的一组面板一起升,一个租户的整套设备一起升。切完这一组,再等二十四小时观察后台告警和客服工单,没有异常再切下一组。这个节奏比按百分比慢,但每一刀都是完整的。
第五件事,回滚不是补救措施,是发布流程的一部分。 很多人把回滚当成"出事了再想办法"。到那个时候,固件已经推出去一批,想退回来,你得保证:设备上确实保留着上一版固件镜像(这就是双分区),启动标志可以改回去,改回去之后设备要能自己上报"我回滚了",而且要报出回滚原因。这几件事没做,回滚按钮按下去等于砖。 还有一条容易被忽略的:如果新版 App 和旧固件之间的兼容是靠"App 端做适配"实现的,那么回滚固件的同时,App 版本也必须一起考虑,否则会出现 App 回滚不了、或者 App 回滚了但现场还有新固件的情况。允控的做法是固件和 App 的兼容关系写进同一张矩阵,回滚决策按这张矩阵走,不靠现场拍脑袋。
第六件事,发布前那三行字,比测试报告有用。 允控在每次发布前会固定写三行:这个版本改变了哪些用户可见行为;哪些设备不允许升到这一版;出问题时退回到哪个版本、靠什么手段退。这三行贴在发布单最上面,因为真正需要它的不是开发,是那个半夜被叫起来的人。
允控说:App 和固件的版本兼容,是联网产品的一道看不见的护栏。允控把版本矩阵、行为变更标记、批次灰度和可回滚固件打包成一套发布规范,让一批设备出了新版本时,现场至少是整齐的,而不是一半新一半旧。
转发钩子:做智能硬件、灯具、面板、家电的朋友,这条转给他;正在发固件版本的团队,把"兼容矩阵"这三个字转进项目群,看一下现在谁手里有那张表。
彩蛋:今天就能用的一招。打开你们的固件发布记录,找出上一次推送是哪个版本、当时灰度了多少台、有没有回滚过。如果这三个数里有任何一个答不上来,说明现在这套发布是靠记性的。补一张表,从下一次推送开始记,三个字段就够。
往期精选: 换了个路由器,两百台摄像头掉线六十台 WiFi 模组接进来第一件事,不是联网 AI 玩具好不好,答案就在那一秒二里
服务介绍:允控 9 类(可下载的计算机应用软件、可下载的计算机程序、计算机软件(已录制)、交互式触屏终端)——允控为硬件厂商提供设备端固件、配套 App 与版本发布管理的一体化方案。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料