EMS能源管理系统

基于 Vue3 / Spring Boot/Spring Cloud & Alibaba 微服务架构

项目技术框架 RuoYi-Cloud 基础框架上开发而成

源智优控·AI能源大脑,能源AI版,即将上线

仓库地址:

https://gitee.com/guangdong122/energy-management

一、系统介绍
云捷EMS开源能源管理系统, 分为数据采集转发、数据采集接收、计算引擎、分布式数据Sharding、能源管理、设备预警、数据报表大屏、一次图系统八大模块,

适用于生产制造类企业、工厂、园区、写字楼等高能耗企业的能源管理场景,

是一套完整的全链路的能源数据采集、上传、存储、计算、分析、展示的EMS系统

支持高耗能企业,水、电、汽、热、油、空压机、中央空调、电力设施、光伏逆变器、机房、楼层配电箱、电力等数据的采集和分析

支持海量并发,8核32G云服务器配置PTS压测,秒级处理数据可达5万条;
 
数据库分片(Sharding)技术:分表+分库+分片+分区,大大提高数据存储和计算性能;

虚拟电表:系统支持创建虚拟电表 D = d1+d2+d3 ,通过配置虚拟点位,从而计算楼层、厂、车间、班组、工艺、工序的汇总数据.
二、主要功能
硬件网关部分:支持包括 Modbus、IEC101、102、103、104、61850、DL/T645、MQTT、OPC等50余种协议的采集和解析;

数据采集部分:包括电表、水表、热用表、光伏、逆变器、空压机、配电箱等数据采集、解析、存储等功能;

数据服务部分:包括前端、后端、实时数据、历史数据、各维度能耗分析、报警、运维、工单、派单、一次线图等功能;

数据大屏部分:包括数据看板、自定义报表配置、可视化大屏配置、界面可视化配置等;

可视化配置:支持自定义报表、一次图绘制软件、页面可视化编辑功能、自定义大屏配置、自定义网管配置等;

logo

三、技术栈
1.前端采用Arco Design Pro( VUE3 版本)

2.后端采用Spring Boot、Spring Cloud & Alibaba

3.注册中心、配置中心选型Nacos=2.2.2,权限认证使用Redis

4.流量控制框架选型Sentinel,分布式事务选型Seata

5.数据库采用MYSQL >= 5 .7, JDK1.8, Maven >= 3.0
四、数据采集-通讯模块 - 数据采集服务端
 客户端要向服务端进行数据转发
  
方式一 :MQTT格式消息

硬件设备通过智能电表或者硬件网关上传,大部分为MQTT形式定时上报,采集系统订阅后对上报数据进行处理。

下图是某硬件网关上报的mqtt报文,由后台进行数据处理。不同的设备格式参数不同,可能需要进行针对性解析。

【后台可视化配置好参数后,直接可订阅硬件网关上传的数据,基本上不需要开发】

logo

五、数据采集-通讯模块 - websocket
方式二  websocket订阅模式

websocket订阅模式,系统定时下行指令,设备上报后进入消息队列rabbitmq,由采集服务分布式处理。

logo

logo

logo

六、数据采集-IEC104 协议
方式三  IEC 104 协议 ,设备直连

有的设备需要直连平台,IEC 104 协议 ,可以直接配置通道,上报数据

logo

logo

六、数据采集-Modbus 协议
方式三  ModbusRTU 协议,设备直连

支持:ModbusRTU协议、ModbusTCP协议

logo

六、数据采集-DLT645 协议
方式三  DLT645协议议,设备直连

支持:DLT645协议

logo

六、硬件网关数据转发

【配置路由】

logo

【配置转发方式:是MQTT 还是 TCP/IP socket 还是 其他方式】

logo

【配置转发的点位(变量):如电压参数、电流参数、Ua、Ub等】

logo

七、刀片分布式数据计算引擎

1、实时数据,通过Sharding刀片技术读写分离,以被实时调用;

2、业务数据,通过Sharding刀片技术系统会自动计算,按照日月年的数据格式存放至业务库,以便系统进行调用,避免调用时临时计算降低效率;

3、ShardingSphere 刀片技术,通过分布式数据库解决方案,对数据分片、读写分离、分布式事务等能力增强传统数据库的性能和可扩展性,从而使得数据采集、处理、加工具备毫秒级海量数据能力;

4、基于 XA 和 BASE 的混合事务引擎,ShardingSphere 提供在独立数据库上的分布式事务功能,保证跨数据源的数据一致性;

5、ShardingSphere 刀片技术,可以兼容所有符合 SQL-92 标准语法的数据库,包括 MySQL、PostgreSQL、SQL Server 和 Oracle ,用户可根据需求选择最适合的数据库;

【用Sharding刀片之前】:秒级1000个点位?问题:时序库查询慢内存干到90%;关系数据库写入慢,大量表被锁定CPU100%;MQTT严重堵塞消费不了;查询速度慢到极致;备份数据导出报表占用正常系统资源;

【用Sharding刀片之后】:秒级数据5万条,轻轻松松:分布式数据刀片技术采用数据分片、读写分离、分布式事务、数据加密与联邦查询、影子库、弹性扩展、集群模式、分表、分库分服务存储,使得海量数据处理能力大幅度提升;

【Apache ShardingSphere】对分布式数据库解决方案感兴趣的可以上Apache ShardingSphere官网查看学习,全部开源免费 ;小小刀片作用巨大,京东、京东白条、京东金融、搜狐、网易等互联网大厂都在使用,ShardingSphere官方标注的案例。

八、EMS界面展示

logo

logo

logo

logo

` ` `

logo

` `

logo

` `

logo

` `

logo

` `

logo

` `

logo

` `

logo

` `

logo

` `

logo

` `

logo

` `

logo

` `

logo

` `

logo

` `

logo

`

`

logo

` `

logo

` `

logo

`

九、数据看板-可视化组件配置
**【数据看板支持可视化组件库配置,致辞拖拉拽,选择展示方式,完全可视化配置,支持日月年检索】** 

`

logo

logo

` `

logo

` `

logo

`

十、智能报表

【告别复杂报表,全部可以创建报表模板,关联数据,一键可视化配置】

`

logo

`

`

logo

`

`

logo

`

`

logo

`

`

logo

`

`

logo

`

`

logo

`

`

logo

`

十一、智能运维

【报警-工单-任务,一气呵成】

`

logo

`

十二、数据大屏

** [大屏支持可视化配置,支持拖拉拽,创建卡片,编辑卡片信息,选择卡片位置,关联数据,即可完成大屏配置]**

`

logo

` `

logo

`

十三、一次图系统

** [完整的开源一次图开源绘制系统,支持绘制、添加组件、绑定时间、动画特效、高级代码编辑功能]**

`

logo

` `

logo

` `

logo

`

十三、APP能耗移动端

** 【能耗移动端,采用Uniapp 最新框架,支持打包 H5、小程序、安卓APP和 IOSAPP ,开源版,即将上架】**

`

APP

` `

APP

`

十四、代码结构
    com.yunpower     
    ├── yunpower-ui                         // 前端UI界面
    ├── yunpower-diagram-ui                 // 接线图UI界面
    ├── yunpower-gateway                    // 网关模块 [8080]
    ├── yunpower-auth                       // 认证中心 [9200]
    ├── yunpower-api                        // 接口模块
    │       └── yunpower-api-system         // 系统接口
    ├── yunpower-common                     // 通用模块
    │       └── yunpower-common-core        // 核心模块
    │       └── yunpower-common-datascope   // 权限范围
    │       └── yunpower-common-datasource  // 多数据源
    │       └── yunpower-common-log         // 日志记录
    │       └── yunpower-common-redis       // 缓存服务
    │       └── yunpower-common-seata       // 分布式事务
    │       └── yunpower-common-security    // 安全模块
    │       └── yunpower-common-sensitive   // 数据脱敏
    │       └── yunpower-common-swagger     // 系统接口
    ├── yunpower-modules                    // 业务模块
    │       └── yunpower-system             // 系统模块 [9201]
    │       └── yunpower-job                // 定时任务 [9203]
    │       └── yunpower-datav              // 数据服务 [9204]
    │       └── yunpower-file               // 文件服务 [9300]
    ├── yunpower-visual                     // 图形化管理模块
    │       └── yunpower-visual-monitor     // 监控中心 [9100]
    ├──pom.xml                            // 公共依赖
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐