基于边缘计算架构的通用采集方案
基于边缘计算架构采用主流开源技术框架构建工业级物联网数据采集分析系统
基于边缘计算架构采用主流开源技术框架构建工业级物联网数据采集分析系统,主要包括边缘端设备通讯报文的解析及压缩处理,RabbitMQ消息队列集成,InfluxDB时序数据库应用和Grafana时序数据库的可视化展示集成等。系统支持ms级数据采样频率,Docker容器化部署能力。是一套基于比较前沿的技术框架构建的工业物联网应用平台。
关键指标分析:
1、支持RS485,MODBUS RTU, TCP MODBUS, UDP, MQTT协议
2、采用设备支持40个,单设备采集指标约100项,采集颗粒度20ms
3、支持存储容量1年数据量500G
4、数据压缩比40:1
应对方案:
1、1路RS485设备,2路RS485设备接入后做并行解析
2、设备数据经MQ后统一进入RabbitMQ,MQ负责将数据推入时序数据库
3、可视化平台采用订阅方式向时序数据库实时数据并做可视,可以提供对外数据访问接口
4、数据压缩支持重复字段存储1次,重复数据不入库和数据分块连续存储的综合压缩方式。
软件模块说明:
-
GUI配置:提供可视化的人机配置界面
-
UDP解析:并行解析UDP协议报文
-
COM解析:并行解析COM口报文
-
标识压缩:数据入库的格式化方式
-
重复压缩:剔除重复数据
-
存储压缩:分区连续存储方式
-
RabbitMQ:开源消息队列
-
InfluxDB:开源时序数据库
-
Grafana:开源可视化工具
-
Dashboards:工况数据实时数据可视化仪表盘
-
DataAPIs:对外服务数据源接口
-
Docker:轻量级虚拟化技术平台
-
设备模块说明:
-
RS485 Device: RS485直连设备
-
RJ45 Device: RJ45直连设备
-
RS485 to USB: RS485转USB模组
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker在边缘计算场景中可为边缘端提供轻量化虚拟化技术。
特点:发布维护移植方便,支持资源隔离能力,共享基础计算能力。
模块采用Java语言开发,开发框架SpringBoot,Maven打包工具
-
COM解析:负责实时解析COM口进入的通讯协议,并将解析后的协议传给压缩模块
-
UPD解析:负责实时解析UDP通讯协议并将解析后的协议传给压缩模块
-
重复压缩:对一定范围内的重复数据剔除
-
设备标识压缩:对同一设备不同类型的实时数据统一采用InfluxDB表命名方式记录,即:设备标识、工况、通道等不会变化的数据只记录一次,实时变化的数据记录时间戳+实时数据
-
MQ管理:为本机MQ配置可采集的标准数据源及数据格式字段、鉴权方式等。
RabbitMQ负责将解析后的报文数据推送到InfluxDB中,配置化的实施模块包括:
-
连接管理:即通过tcp协议管理协议解析模块客户端,实时监控连接数量。
-
通道管理:即协议解析模块与MQ的会话管理,实时会话的监控
-
交换管理:direct、topic、fanout、headers交换配置及实时监控
-
队列管理:保存及监控实时传输的数据,队列的消息查看、实时状态监控
-
消费管理:即消息被订阅者InfluxDB,InfluxDB与MQ采用订阅方式获取实时数据。
InfluxDB 是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,InfluxDB 包括用于存储和查询数据,在后台处理ETL或监视和警报目的,用户仪表板以及可视化和探索数据等的API。
InfluxDB广泛应用于物联网场景,用存储设备工况实时数据。
Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。 配置化的实施模块包括:
用户权限:提供基础角色权限认证管理。
对外API: 为外部系统提供数据源API及API签权。
数据源管理:配置管理InfluxDB数据源。
实时仪表盘:各类指标通过可视化的配置后实时展示在仪表盘,支持多组仪表盘配置
快照管理: 可配置针对些时间点的快照存储及展示。
告警管理:提供告警支持能力(需要联网)。
全文检索:可以检索多个数据源的数据。
插件管理:支持定制化的插件开发和第三主插件的集成。