1. 产品概述
EMS(Energy Management System,能源管理系统)是一套面向园区、楼宇、商业综合体、宿舍、公寓等场景的能源采集、监控、分析、计费与预付费管理平台。系统围绕设备接入、实时监控、能耗分析、费用结算、预付费缴费、告警运维、基础配置形成完整业务闭环,支持电表、水表、空调表等多类能源设备的数据管理与业务应用。
技术架构
EMS 采用多模块服务设计,各模块职责清晰、协同工作:
- 后台业务服务:提供管理端 API,涵盖能耗分析、报表统计、预付费管理、告警运维、系统配置及设备控制等核心能力。
- 数据总线服务:通过 MQTT 协议接入网关与设备数据,负责数据清洗、持久化及实时数据同步。
- 微信端与支付服务:处理微信授权登录、房间绑定、账单查询、在线支付下单及支付回调等用户端业务。
- 公共能力模块:封装通用的领域模型、数据源适配、消息连接、缓存组件及工具类,供各模块复用。
技术栈
- 后端框架:Java + Spring Boot
- 前端框架:vue + TS + Element Plus
- ORM 框架:JFinal ActiveRecord
- 关系型数据库:MySQL
- 时序数据库:InfluxDB
- 缓存:Redis
- 消息接入:MQTT Client
- 工具库:Fastjson2、Hutool
- 报表导出:Apache POI
- API 文档:Knife4j / OpenAPI
数据存储方案
系统采用关系型数据库与时序数据库分工协作的混合存储架构:
- 关系型数据库:存储项目、用户、角色、菜单、设备、网关、房间、价格规则、阶梯规则、计费明细、账单、订单、告警、控制记录等业务结构化数据。
- 时序数据库:存储设备原始测点数据、日结费用及告警计数等高频写入的时序数据。
- 缓存:存储设备实时值及控制命令辅助状态,保障实时查询性能。