雲計算

设备端资源包文件(人脸库,音频库,图片资源等)更新方案

设备端资源包文件更新方案

1.背景

当物联网设备分布在全球各地运行时,常常有更新设备上的资源包的需求,比如刷脸设备上的人脸库资源,算法模型,语音播报设备上的语音模板资源。而我们派一位工作人员出差去设备现场更新,成本往往很高。此时借助IoT技术的力量,在云端动动手指,轻松实现设备资源包更新是最理想的方案。

2.架构方案

image.png
云端更新设备端资源文件的完整交互过程:

  1. 后台业务服务器发布资源到OSS存储
  2. 后台业务服务器生成带有STS.Token的资源访问url
  3. 业务服务器下行资源包文件更新指令到设备端

    1. Topic为 xxx/xxx/user/resource/update
    2. Payload 包含文件id,md5值,访问uri
  4. 设备订阅了资源更新topic,接收到更新指令
  5. 设备从OSS获取到新资源包,应用到本地程序中
  6. 设备上报资源更新结果

    1. Topic为 xxx/xxx/user/resource/update/response
    2. Payload 包含文件id,resultCode
  7. 业务服务器从规则引擎获取设备更新结果
  8. 业务服务器对失败设备做重试推送

3.开发实践

为了实现上述理想,我们需要前期投入在服务端和设备端的研发工作。

3.1 服务端

  • 在服务端生成访问OSS的临时STS Token的业务逻辑
  • 编写下行指令的Pub逻辑
  • 配置规则引擎,接收设备响应结果的业务逻辑
  • 上传资源文件到OSS的业务逻辑


3.2 设备端

  • 设备访问OSS资源文件的能力
  • 订阅资源更新指令的Topic
  • 上报资源更新执行结果的逻辑

4.总结

至此,我们可以悠闲的坐在办公室,享受咖啡和空调了。

image.png

Leave a Reply

Your email address will not be published. Required fields are marked *