Docs 菜单
Docs 主页
/ /
Atlas 架构中心
/ / /

利用 MongoDB 改进智能电表分析

MongoDB 为智能电表系统提供了一个可扩展的平台,实现实时数据收集、时间序列分析和异常检测。

使用案例: IoT应用驱动的分析单一视图

行业: 制造与移动、能源与环境

产品和工具: MongoDB AtlasAtlas ChartsChange Streams时间序列集合MongoDB Query API

合作伙伴: Cedalo

预计到 2027 年,美国和加拿大的智能电表采用率将达到 90%,MongoDB 提供了一个全面的平台,用于大规模管理和分析智能电表的时间序列数据。该解决方案使电力公司能够收集高频率的电表读数,实时处理流数据,并利用 MongoDB 的时间序列集合高效存储历史数据。强大的聚合管道和变更流使复杂的异常检测成为可能,帮助电力公司快速识别电压尖峰、停电或异常消费模式等潜在问题。

随着全球能源消耗的持续上升,智能电表生成的数据量也在增加。我们的解决方案利用 MongoDB 与 MQTT 等物联网消息传递协议的集成,从智能电表的前端单元可靠地摄取数据,而 MongoDB Atlas 的原生时间序列支持能够高效存储和查询时间序列数据。公用事业公司可以无缝地将连接的电表从数千个扩展到数百万个,同时保持性能和数据可访问性。高级功能如数据分层和 Atlas Online Archive 有助于以经济高效的方式管理历史数据,而内置的分析功能通过可定制的仪表盘和报告实现实时监控和运营洞察。

该解决方案有两个主要组件。

为了使用智能电表,电力公用事业公司需要部署一个核心的智能电表生态系统,其中包括智能电表本身、电表数据收集网络、前端系统 (HES) 和电表数据管理系统 (MDMS)。智能电表会收集终端使用者的数据,并通过局域网 (LAN) 将数据传输到数据聚合器。传输频率可以按数据要求调整为 15 分钟、30 分钟或每小时。聚合器检索数据后,将其传输到前端系统。前端系统将分析数据并将数据发送到 MDMS。初始通信路径为双向路径,信号或命令可以直接发送至电表、客户场所或配电设备。

在我们的解决方案中,MongoDB 是 MDMS 系统的后端数据库一旦数据到达 HES,就会通过 MQTT 提供商将其传输到 MongoDB。领先的 MQTT 代理提供商(如 HiveMQ、EMQX 和 Cedalo)已开发出 MongoDB 集成,可实现无缝数据传输并有效管理从智能电表收集到的信息。

该解决方案采用 Cedalo Pro Mosquitto MQTT 代理来促进有效的消息传输。通过利用 MongoDB 桥接器,它创建了与 MongoDB 的无缝连接,确保了两个系统之间连续高效的数据流。

随后,MongoDB 存储智能电表数据,其中包括电表 ID、时间戳和测量值(能量、电流、电压等)。

一旦智能电表数据存储在 MongoDB Atlas 中,就可以进行分析,发现异常情况并提出见解。该解决方案利用三个关键的 MongoDB 功能来创建下一代 MDMS:变更流时间序列集合和强大的 MongoDB Query API

MongoDB 变更流支持实时捕获和处理数据库更改,例如插入操作,从而提供对能耗模式、系统异常和潜在故障的即时见解。这种实时功能对智能电表系统至关重要,因为它允许通过 MongoDB 聚合框架进行及时分析,检测异常情况,防止代价高昂的设备受损和电力中断事故。

已分析的数据存储在时间序列集合中。这些专用集合提供高压缩率,优化时序数据查询性能,以及支持高速操作。

端到端智能电表管理系统架构

图 1. 端到端智能电表管理系统架构

该解决方案使用两个独立的时间序列数据模型。第一个模型是为以 meter_id 作为元字段的原始智能电表数据设计的。

{
"_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 Broker 与 MongoDB Atlas 的协同作用,有效应对现代能源基础设施在数据采集与分析方面的复杂挑战。虽然参考实现展示了 Cedalo 的 MQTT Broker,但该解决方案旨在与代理无关,支持与各种 MQTT 提供商的集成。

1
  • 设置您的 MQTT 代理,以确保可靠地处理消息。

  • 配置代理与 MongoDB 的集成。

  • 建立安全的数据流媒体管道。

  • 支持智能电表实时数据收集。

  • 实现代理管理和监控。

2
  • 配置环境变量:

    • MQTT 代理连接详细信息。

    • MongoDB 连接 URI。

    • 数据库和集合名称。

    • 分析引擎配置。

    • Atlas Charts 集成。

3
  • 创建包含所需集合的 MongoDB 数据库。

  • 为以下内容设置时间序列集合:

    • Anomalies data.

    • 指标数据。

    • 转换后的数据。

  • 配置数据转换管道。

  • 启用实时数据处理功能。

4
  • 部署应用程序组件。

  • 实现实时监控功能。

  • 设置异常检测算法。

  • 创建自定义仪表盘。

  • 能够进行交互式数据探索。

如需完整的实现细节,请查看详细的存储库。

  • 数据管理至关重要:智能电表生成大量的时间序列数据,给数据互操作性、隐私保护和高效处理带来了显著挑战。有效的解决方案需要灵活且可扩展的数据库来处理高频复杂的数据流。

  • MQTT 支持高效的 IoT 通信:轻量级发布/订阅协议对智能电表生态系统至关重要,它能在物联网设备、聚合器和管理系统之间提供高效、安全和可靠的数据传输。

  • MongoDB 提供全面的物联网 (IoT) 数据解决方案:凭借时间序列集合、变更流、聚合框架以及灵活的文档模型等功能,MongoDB 有效解决了智能电表数据管理中的关键挑战,包括异常检测、实时分析和可扩展数据存储。

  • 综合方法是关键:成功的智能电表实施需要一个整体解决方案,将强大的消息传递协议(如 MQTT)、先进的数据库技术和全面的分析功能结合起来,将原始电表数据转化为电力公司可行的见解。

  • Cedalo MQTT平台

  • Dr. Humza Akhtar, MongoDB

  • Rami Pinto,MongoDB

  • Sebastian Rojas Arbulu, MongoDB

  • Diego Canales, MongoDB

后退

构建 IoT 数据中心

在此页面上