断点续传

边缘场景中各个环节都有可能出现断网、弱网等现象,当两个互相连接的系统之间的网络中断,会导致通信受阻和历史数据积压。Edge 实现了多种场景下续传数据的能力,网络通信恢复之后,EnOS Edge 会按照实时优先策略,将实时数据和历史数据进行上送,也就是断点续传。以 Edge 和 云端之间的断点续传为例,断点续传可以避免因通信故障造成的设备数据丢失,保障云端领域应用可基于一段时间内的历史数据进行计算和分析,数据处理方式如下图所示。

../_images/backfill.png

应用场景

支持断网或弱网场景下以下系统之间的数据断点续传:

  • EnOS Edge - EnOS Edge
  • Edge SCADA - EnOS Edge
  • 第三方 SCADA - EnOS Edge
  • EnOS Edge - EnOS Cloud
  • EnOS Edge - 第三方SCADA

功能特性

EnOS Edge 的断点续传服务具有以下功能特性:

  • 支持设置阈值,判断数据是实时数据还是历史数据
  • 可根据领域专家提供的测点 Tag 值,对不同的历史数据采用不同的缓存策略,保证历史数据可用
  • 支持缓存数据无损压缩,同等存储条件下可存储更多数据
  • 支持设置数据上送云端策略,保证实时数据优先上送

数据缓存的时长由测点数量、采集频率、磁盘可用空间等共同决定。当缓存数据超过容量上限,则循环覆盖之前的数据。实际应用中,可根据需要采集的测点数目、点的数据类型、采样周期以及需要缓存的时长来计算所需的磁盘空间,并根据计算结果选配合适的硬盘规格来进行本地存储。

常用配置项

常用配置项适配众多场景,当前默认值可以满足最通用的场景需求。如有额外需求,可在部署过程中改动如下功能配置项,相关说明如下。

配置项 说明 默认值
config-manager.box.data.history.switch 历史通道是否开启(2.3.0 及以后版本默认开启历史通道) True
config-manger.box.break.point.delay.time 延时时间,用于判断实时流中的数据是否进到历史队列的 120 分钟(当数据滞后超过 120 分钟视为历史数据)
config-manager.box.break.point.realtime.data.topic.capacity 实时 Topic 容量,用于设置存储能力 100 GB
config-manager.box.break.point.history.data.topic.capacity 历史 Topic 容量,用于设置存储能力 100 GB
config-manager.box.break.point.topic.timeout 最大缓存时长,即断点续传时,历史和实时数据保留时间,用于设置存储能力 720 小时
config-manger.box.realtime.data.max.lag 实时 Topic 积压消息限值,当实时 Topic 中消息条数超过 1000 条,暂停历史 Topic,只上送实时 Topic 数据 1000 条

注解

建议根据实际所需设置存储能力。实际存储 Topic 容量的上限取 Topic 容量、磁盘大小、消息缓存最大时长中最小值。