跳到主要内容

3. 系统架构

EMS 采用分层架构设计,自下而上分为设备接入层、数据存储层、业务服务层和用户交互层,各层职责清晰、松耦合协作。

架构全景图

web前端 (Vue + Ele-UI) 手机端web(wxapp)
| |
+--------------------+--------------------+
| | |
business 业务服务 databus 数据总线 app 微信端
(后台 API/分析/报表) (MQTT/InfluxDB) (绑定/账单/支付)
| | |
+---------+----------+----------+---------+
| | |
MySQL 业务数据 InfluxDB 时序数据 Redis 实时缓存
|
MQTT Broker (HiveMQ)
|
网关/采集设备 (水表/电表/空调表)

各层说明

设备接入层

部署于现场的智能表计(水表、电表、空调表等)通过采集网关汇聚数据,网关通过 MQTT 协议将设备测点实时上报至平台。该层负责设备数据的第一手采集与传输,是系统数据的起始入口。

数据存储层

采用混合存储策略,按数据类型分工协作:

  • 关系型数据库:存储项目、用户、设备、计费规则、账单、订单等结构化业务数据,保障事务一致性。
  • 时序数据库:存储设备高频采集的原始测点数据、日结费用等时间序列数据,满足海量写入与高效查询。
  • 缓存:设备实时值缓存、控制命令状态辅助判断。

业务服务层

系统的核心逻辑层,由多个独立服务模块组成:

  • 后台业务服务:面向管理端,提供能耗分析、报表统计、预付费管理、告警策略、系统配置及设备控制等 API。
  • 数据总线服务:接收 MQTT 网关数据,完成数据解析、清洗、持久化入库,并同步实时数据至缓存。
  • 微信端服务:面向租户/用户,处理微信授权登录、房间绑定、账单查询、在线缴费及支付回调。

用户交互层

  • 管理后台:基于 Web 的运营管理界面,供园区运营方、物业管理和能源运维人员使用。
  • 微信端:基于微信公众号的轻量入口,供租户自助绑定房间、查看账单、在线充值。