这是一个创建于 1115 天前的主题,其中的信息可能已经有所发展或是发生改变。
如:拥有一个 Topic:A
2015 年数据结构{ action_id: 1, playload:{user_id: 1, username: 小明, age: 18}}
2019 年数据结构{ action_id: 1, playload:{user:{id:1, username: 小明, age: 18}, school:{name:实验小学}, grade: {name: 一年级}}}
以上面这个例子,如何在服务端做到新老设备同事能够处理该消息。
我曾经想过 3 种解决方案:
1. 2015 年数据结构上不变动,新增 school 和 grade 字段
2. 对于不同的设备版本进行版本归类,然后再根据不同版本进行数据组装推送
3. 消息推送里面不附带具体数据,只标记有数据更新,然后通过 HTTP 接口进行请求数据更新。
|
|
1
delectate 2021-04-20 13:30:44 +08:00
设备 ota,增加 version 字段。后端根据 imei 和 version 匹配,按照对应格式下发相应版本数据。 如果设备不能 ota,那么后端识别设备上报的内容特征,猜测出版本号,数据库绑定设备 imei 和 version,按照对应格式下发相应版本数据。
这个和 mqtt 完全无关。
|