MongoDB 为智能电表系统提供了一个可扩展的平台,实现实时数据收集、时间序列分析和异常检测。
行业: 制造与移动、能源与环境
产品和工具: MongoDB Atlas、 MongoDB Atlas Charts、 MongoDB Change Streams、 MongoDB时间序列集合、 MongoDB查询语言
合作伙伴: Cedalo
解决方案概述
随着智能电表技术采用的增加, MongoDB提供了一个用于扩展管理和分析智能电表时间序列数据的综合平台。该智能电表解决方案可帮助公用事业公司:
收集高频仪表读数
实时处理流媒体数据
高效存储历史数据
检测异常以识别电压尖峰、断电或异常消费模式等问题
该解决方案利用以下MongoDB集成和功能,支持企业在扩展时保持性能和数据可访问性:
物联网(IoT)消息传递协议集成:MongoDB 与 MQTT 等物联网(IoT)消息传递协议集成,支持从智能电表的前端单元可靠地引入数据。
分析和监控:内置分析功能通过可自定义的仪表盘和报告启用实时监控和运营见解。
参考架构
该解决方案包含两个主要组件:“智能电表数据存储”和“使用MongoDB进行智能电表数据管理”。
智能仪表数据存储
为了使用智能电表,电力公司部署了一个核心智能电表生态系统,其中包括以下组件:
智能电表:智能电表从最终消费者那里收集数据,并通过 局域网将其传输到数据聚合器。您可以根据数据需求将传输频率调整为15 分钟、30 分钟或每小时。
电表数据集合网络:聚合器检索智能电表数据,然后将其传输到 HES。
头端系统:HES 分析数据并将其发送到 MDMS。初始通信路径使用可直接发送到仪表、客户端或分配设备的命令。
电表数据管理系统:MDMS 系统使用MongoDB Atlas作为该解决方案的后端数据库。数据到达 HES 后,MQTT提供商会将其传输到MongoDB Atlas。 MongoDB Atlas存储智能电表数据,包括电表ID、时间戳等信息以及电能、电流或电压等测量值。
领先的 MQTT 代理提供商(例如,Cedalo)与MongoDB集成,启用无缝数据传输和对智能电表收集的信息进行高效管理。该解决方案采用了 Cedalo Pro Mosquitto MQTT 代理来促进有效的消息传输。 Cetalo 代理连接到MongoDB ,确保两个系统之间的数据持续流动。
使用MongoDB进行智能电表数据管理
将智能电表数据存储在MongoDB Atlas中后,您可以对其进行异常分析并获得见解。该解决方案利用MongoDB 的三个关键功能来创建下一代 MDMS:
MongoDB变更流启用实时捕获和处理数据库更改(例如插入操作),从而立即洞察能源消耗模式、系统异常和潜在故障。智能电表系统的实时功能允许使用MongoDB聚合框架进行及时分析,检测异常并防止代价高昂的损坏和服务中断。
MongoDB将分析后的数据存储在时间序列集合中。这些专门的集合对您的智能电表数据执行以下操作:
提供高压缩
增强时间序列数据的查询性能
启用快速操作
图 1. 端到端智能电表管理系统架构
数据模型方法
该解决方案使用两个时间序列数据模型。您可以将第一个模型用于原始智能电表数据,其中 meter_id 为 metaField:
{ "_id": "668cb56d3830323642e562d9" , "timestamp": { "$date": "1720497517183" }, "power_factor": 0.89 , "power": 220.1 , "frequency": 49.85, "meter_id": 1, "energy": 0.22, "current": 1, "voltage": 219.38 }
第二数据集包括根据预定义标准在各种测量中检测到的异常。在以下示例中,异常是指与平均值相差超过三个标准偏差的读数。此数据集使用 meter_id 作为 metaField:
{ "_id": "668d4a023819ef77d3fc84d8", "timestamp": { "$date": "1720535553856" }, "meter_id": 3, "data": { "voltage": 190.06, "current": 18.13, "power": 3445.67, "energy": 3.45, "power_factor": 0.76, "frequency": 49.92 }, "anomalies": ["voltage", "current"] }
构建解决方案
该智能电表数据管理解决方案使用 MQTT 代理和MongoDB Atlas来收集和分析现代能源基础设施数据。
注意
虽然此实施展示了 Cedalo 的 MQTT 代理,但该解决方案与代理无关,并支持与各种 MQTT 提供商集成。
按照以下步骤,使用MongoDB设立智能电表数据管理系统。有关此解决方案的更详细实施,请参阅 GitHub存储库。
设置 MQTT 代理
设置 MQTT 代理以实现可靠的消息处理。
配置代理与 MongoDB 的集成。
建立安全的数据流媒体管道。
支持智能电表实时数据收集。
实现代理管理和监控。
关键要点
数据管理至关重要:智能电表会生成大量时间序列数据,这给数据互操作性、隐私和处理带来了挑战。解决方案需要灵活、可扩展的数据库来处理高频、复杂的数据流。
MQTT 可实现高效的物联网(IoT)通信:智能电表生态系统需要轻量级的发布-订阅协议,以便在设备、聚合器和管理系统之间实现高效、安全的数据传输。
MongoDB提供全面的物联网(IoT)数据解决方案:时间序列集合、变更流、聚合框架和灵活的文档模型可帮助MongoDB解决智能电表的关键挑战,例如异常检测、实时分析和可扩展的数据存储。
使用集成方法:成功的智能电表实施结合了 MQTT 等消息传递协议、高级数据库技术和综合分析,将原始电表数据转换为可行的见解。
作者
Dr. Humza Akhtar, MongoDB
Rami Pinto,MongoDB
Sebastian Rojas Arbulu, MongoDB
Diego Canales, MongoDB