天天看点

第 2-2 课:功能设计

本节课,我们开始设计 IotHub 的上行数据处理功能。

功能设计

IotHub 的上行数据处理有以下一些功能。

  • 存储上行数据: IotHub 接收设备端上传的数据,并将数据来源(设备的 ProductName 和 DeviceName)、消息 ID、消息类型、Payload 进行存储。
  • 通知业务系统:当有新的上行数据到达时,IotHub 通知并将上行数据发送给业务系统,业务系统可以自行处理这些数据,例如通知用户,将数据和其他业务数据融合后存储在业务系统的数据库等。
  • 设备数据查询:业务系统可以通过 IotHub Server API 查询某个设备上传的历史数据。

主题规划

从这里开始,我们需要对 IotHub 的设备可以订阅或者发布的主题进行规划,设备会发布和订阅很多主题,这里不一起规划完,而是一节一节、一个案例一个案例地说明。

如上一节所说,我们会把元数据放在主题名里面。设备用于发布数据的主题名格式为:

upload_data/:ProductName/:DeviceName/:DataType/:MessageID

  • ProductName:设备的产品名。
  • DeviceName:设备名。
  • DataType:上传数据的类型,这个由业务系统和设备约定,比如传感器的温度数据可以设 DataType="temperature"ÿ

继续阅读