MyEMS架构设计文档
| 项目 | 内容 |
|---|---|
| 文档名称 | MyEMS 开源能源管理系统架构设计文档 |
| 文档版本 | 6.9.0 |
| 对应系统版本 | 社区版 v6.9.0 |
| 编制单位 | 北京海识软件有限公司 |
| 编制日期 | 2026 年 10 月 |
本文档以 MyEMS 社区版的实际代码组织与数据库结构为对象,说明其总体架构、组件划分、数据组织方式、接口约定与部署形态。凡本文表述与源码或官方文档不一致之处,以源码与官方文档为准。
1 引言
1.1 编写目的
本文档形成可供架构评审、实施部署、运维排障和二次开发共同使用的技术基线,并承担两项具体任务:
- 把分散在官网功能说明、组件 README、数据库设计文档中的信息收敛为一张完整的架构视图,避免实施人员只能通过读源码理解系统。
- 对架构的取舍与代价作出说明,使读者在扩展系统时知道哪些边界可以突破、哪些边界一旦突破会牵连多处。
本文档不替代《安装手册》与《API 手册》。
1.2 适用范围与读者
本文覆盖社区版全部 11 个组件(含数据库)与 13 个业务库,不含企业版独有能力的具体实现。
| 读者 | 建议阅读 |
|---|---|
| 技术负责人与架构师 | 第 3、4、6、11 章,用于判断技术选型与扩展边界 |
| 实施与运维工程师 | 第 5、7、9、10 章,用于部署、排障与容量规划 |
| 二次开发人员 | 第 5、6、8、12 章,用于接口对接与功能扩展 |
本文的性能与容量结论为基于数据结构与服务形态的推算,未在真实生产负载下实测,相关段落均已标注“估算”。
1.3 术语与缩略语
| 术语 | 含义与在系统中的位置 |
|---|---|
| 能源 分类 | 按能源种类划分的计量对象,如电、自来水、天然气、冷热水、蒸汽;承载计量单位、千克标准煤与千克二氧化碳排放两项折算因子,对应表 tbl_energy_categories |
| 能耗分项 | 按用途划分的能耗归属,如空调用电、动力用电、照明用电;挂接在能源分类之下,对应表 tbl_energy_items |
| 空间 | 组织能源数据的层级载体(园区—建筑—楼层—房间),通过 parent_space_id 自引用构成树,是绝大多数报表的筛选起点 |
| 计量表 | 能源计量的最小业务单元,绑定一个能源分类,其下的数据点承载实际读数;另有离线表(人工录入)与虚拟表(按表达式计算)两类派生形态 |
| 数据点 | 采集的最小粒度,包含模拟量、数字量、能耗量、文本量四种类型,按 object_type 与 object_id 归属到计量表或设备 |
| 数据源 | 一组同协议、同连接参数的采集目标,connection 字段以 JSON 保存地址与采集周期 |
| 组合设备 | 由多台设备与计量表组合而成的用能系统(如冷站),用于按系统口径核算输入与输出能耗 |
| 8760 模型 | 以一年 8760 小时为刻度的年度能耗模型,用于预测与预算编制,表名以 _8760 结尾 |
| kgce / kgco2e | 千克标准煤与千克二氧化碳当量,是能耗与碳排放的统一折算口径 |
本表为阅读辅助,不构成数据字典;字段级定义见第 6 章与数据库设计文档。