物联网边缘计算提供断网续传服务。当本地断网或数据上传云端后超过15秒未接收到回复,上传云端的数据会在本地进行持久化。网络恢复后,历史数据将重新上传。使用断网续传功能,需要在物联网平台上配置消息路由,同时您也可以自定义边缘端持久化设置。
背景信息
- 子设备和边缘端保持连接状态,边缘端和云端为断网状态。
- 子设备需要上报数据。
- 您需要为消息配置消息路由,且必须将消息目标设置为IoT Hub,服务级别设置为1(即QoS =1)。详细信息,请参见本文下方物联网平台配置消息路由。
物联网平台配置消息路由
边缘端的消息可以有多个来源, 例如设备、函数计算、流数据分析等。物联网边缘计算支持为每个消息来源配置独立的消息路由。若希望某个来源的消息被本地持久化、支持断网续传,则您需要为该消息配置消息路由,且必须设置消息目标为IoT Hub,设置服务级别为1(即QoS =1)。
本文以操作示例驱动文档内容为例,说明如何配置断网续传。
边缘端持久化配置项
边缘端持久化涉及文件存储目录、节点个数和节点存储空间三个配置项。
当整个持久化文件占用存储空间 > 阈值,最久的数据持久化节点将会被删除。
默认配置:
配置项 | 默认配置 |
---|---|
文件存储目录
|
/linkedge/run/history_record |
节点最大个数
|
10个 |
节点最大存储空间
|
104857600 (100 MB) |
自定义配置:
配置项 | 操作 |
---|---|
获取文件存储目录 |
|
设置文件存储目录 |
|
获取节点个数 |
|
设置节点个数 |
|
获取节点最大存储空间 |
|
设置节点最大存储空间 |
|
功能验证
以下使用示例驱动中的光照传感器为例,验证断网续传功能。
该实例的消息路由目标已设置为IoT Hub,服务级别已设置为1;边缘端持久化配置项使用默认配置。
常见问题
- 断网续传会对磁盘IO有影响吗?
答:有影响。断网期间Link IoT Edge会对上云数据进行本地持久化操作,对磁盘IO的具体影响,视消息量大小而定。
- 网络恢复后,在控制台查看发现断网期间有数据未上报?
答:目前对历史数据上报限流为10条数据/秒。如果边缘端有大量的历史数据等待上报,完成这一动作会花费较长的时间。
- 如何自定义持久化文件存储路径及最大存储空间?
答:可参考本文上方边缘端持久化配置项内容。
- 断网期间,数据持久化文件占用空间达到设定的阈值,新的数据会保存吗?
答:会的。当历史数据持久化文件占用空间达到阈值,最久的历史数据会被删除。
- 如何查看断网续传模块日志?
答: 执行如下命令,查看断网续传模块日志。
cd /linkedge/run/logger/message-router/
tail -f log.INFO