金蝶Apusic分布式消息中间件-
电网智能传感
背景:
电网智能传感场景主要基于与电网公司合作的输电线路智能多参数传感器集成研究项
目。该项目的传感器来自不同的厂家,分布在输电线路的各个位置,传感器类型因此也不
尽相同,包括杆塔、杆塔上、输电线路侧等十多种。整个系统目前接入总长度约六百公里,
包含六百多个杆塔的输电线路传感器。这一场景主要负责对各种传感器的数据进行在线监
测和告警,同时,我们也单独针对电压传感器做了暂态电压分析。
这个应用场景有两个难点:一是来自不同厂商的传感器没有统一的通信协议,有的使
用电力相关的 IEC104 规约,有的使用 protobuf 或其他厂商自定义协议;二是项目数据量
比较大,有些传感器可能会单次产生 20 MB 甚至更大的消息,有些传感器则每秒上传一次
数据。
解决方案 :
借助 ADMQ,我们选择在 producer 端不做任何数据处理,直接将数据转发到 ADMQ
中,再通过 ADMQ Functions 做进一步的数据预处理和其他业务操作。以电压传感器为例,
电压传感器会产生三类数据,分别是心跳数据、稳态波形数据和暂态波形数据。其中心跳
数据和稳态波形数据通过 protobuf 协议传输,暂态数据则通过 zip 压缩文件的形式传输。
接收到 protobuf 的数据后,借助 ADMQ functions 进行一系列的数据处理,包括通过解密
function 完成数据解密和 protobuf 的反序列化,再对数据进行路由,通过对应的 ETL
function 做数据处理和解析,最后通过 Schema Mapping 将数据入库。