写在前面
最近在梳理我们延凡科技电力服务平台的整体技术架构。这套系统从2024年开始落地,目前已经接入了51户企业,总接入负荷超过200MW,覆盖电化学储能、可调工业负荷、充电桩、分布式光伏4大类可调资源。
这篇文章不讲产品故事,纯聊技术——架构怎么设计的、数据怎么流的、几个核心模块怎么实现的。希望能给正在做能源数字化、虚拟电厂、电力交易平台相关项目的朋友一些参考。
1. 业务背景与系统定位
新型电力系统背景下,电力市场正在经历深刻变化:现货交易逐步常态化、虚拟电厂可以参与中长期/现货/辅助服务/需求响应四大市场、碳核算从“年底交差”变成“日常必需”。
但很多企业在实际运营中面临几个核心痛点:
- 电力交易决策缺数据支撑:不知道明天电价走势,参与现货像闭着眼投标
- 可调资源散而不可控:储能、空调、充电桩各管各的,无法聚合参与市场
- 碳核算靠年底请第三方:过程不透明,优化方向不清晰
- 负荷预测靠经验拍脑袋:不确定性导致调度策略缺乏依据
基于这些痛点,我们设计了延凡科技电力数字化平台——一个集电力交易、虚拟电厂聚合、负荷预测、碳核算于一体的综合能源管理系统。
2. 整体技术架构
平台采用云原生微服务架构,整体分为四层:
2.1 感知层(设备接入层)
通过IoT网关接入各类终端设备:
- 储能设备:充放电状态、SOC、SOH、额定功率等参数
- 分布式光伏:发电功率、启停状态、气象数据
- 可调负荷设备:额定功率、实时功率、运行状态
- 充电桩:实时功率、充电量
设备接入采用物模型标准化设计,基于JSON Schema定义设备模型,支持异构设备的统一建模与接入。
2.2 数据层(数据中台)
数据中台承担采集、清洗、存储、计算四个职能:
- 实时数据:通过Kafka消息队列接入设备上报数据,Flink进行实时流计算处理
- 批处理数据:历史负荷数据、交易数据、气象数据存储在TDengine时序数据库 + PostgreSQL关系库
- 数据服务:对外提供统一的数据API,支撑上层业务模块的数据消费
电力行业数据来源日益多样化,包括智能电表、传感器、气象数据、用户行为数据等,数据体量大且实时性要求高。我们用Lambda架构同时支撑实时和离线两条数据处理链路。
2.3 业务层(业务中台)
业务层采用微服务架构,核心服务模块包括:
| 模块 | 核心职能 |
|---|---|
| 电力交易服务 | 电价预测、现货交易辅助决策、中长期交易管理 |
| 虚拟电厂服务 | 资源聚合、响应策略生成、运行曲线优化 |
| 负荷预测服务 | 新能源出力预测、用户侧负荷预测、预测修正 |
| 碳核算服务 | 碳排放计算、报告生成、行业模板配置 |
| 设备运维服务 | 设备监控、告警管理、运维工单 |
2.4 应用层(前端展示)
Web端基于Vue3 + ECharts构建,提供驾驶舱、交易看板、资源监控、负荷曲线等可视化页面。截图里那些实时曲线、电价预测图表、资源分布地图,都是ECharts + 自研图表组件实现的。
3. 核心模块技术实现
3.1 电价预测模块
电价预测是电力交易决策的基础。我们的实现思路:
数据输入:
- 历史电价数据(日前、实时)
- 火电边际预测数据
- 新能源出力预测数据(风电、光伏)
- 省内负荷预测数据
算法选型:
- 短期电价预测采用LSTM + Attention模型,捕捉电价的时间序列特征和周期性规律
- 融合XGBoost做特征工程和残差修正,提升预测精度
- 多维气象数据作为外部特征输入,提升极端天气下的预测稳定性
输出:日前预测电价曲线 + 实时预测电价,以15分钟为颗粒度呈现在驾驶舱中。
3.2 虚拟电厂资源聚合模块
虚拟电厂(VPP)的本质,是通过信息通信与能量管理系统,将地理上分散的异构资源聚合为一个可调度的“虚拟机组”。
资源建模:
- 电化学储能:额定功率/容量、转换效率、SOC上下限
- 可调工业负荷:上调/下调空间、响应速度
- 充电桩:可调容量、响应时间
- 分布式光伏:发电预测、调节能力
聚合算法:
- 将各类资源的调节能力统一量化为MW级别的上调/下调空间
- 基于资源响应特性(响应速度、持续时间、成本)构建聚合成本函数
- 根据电网调度指令或市场价格信号,求解最优调度方案
运行曲线生成:
- 输入:负荷预测曲线、资源约束条件、响应策略
- 输出:储能充放电计划、负荷调节计划
- 曲线支持“一键下发”到各终端设备
3.3 负荷预测模块
负荷预测是电力调度和交易决策的“眼睛”。
新能源出力预测(风电+光伏):
- 接入数值天气预报(NWP)数据作为输入
- 风电预测:基于TCN + Attention模型,处理风电出力的强波动性
- 光伏预测:结合太阳辐照度预测和云量数据,采用狮群优化算法(LSO)做超参数调优
用户侧负荷预测:
- 输入:历史负荷数据、气象数据、日期类型(工作日/节假日)
- 模型:GRU + LightGBM多模型融合,输出96点(15分钟颗粒度)负荷曲线
- 支持人工修正:运维人员可根据经验对预测曲线做微调
预测准确率:在已上线的山东区域,24小时负荷预测准确率稳定在95%以上。
3.4 碳核算模块
碳核算模块的设计目标是让碳核算从“年底请第三方”变成“日常可追踪”。
计算模型:
- 遵循国家发改委碳排放核算指南,覆盖:
- 不同种类化石燃料燃烧CO₂排放
- 碳酸盐分解CO₂排放
- 原材料消耗产生排放
- 工业生产过程N₂O排放(针对化工行业)
- 外购电力排放因子按区域电网动态配置
- 清洁能源(光伏、风电)发电量可抵扣相应碳排放
技术实现:
- 行业模板配置化:不同行业(化工、钢铁、水泥)可配置不同的排放因子和计算参数
- 输入数据支持手工录入 + IoT自动采集(如用电量、燃料消耗量)
- 一键生成符合监管要求的碳排放报告
4. 数据链路与实时性设计
电力数字化平台对实时性要求极高——电价在变、负荷在变、调度指令要秒级响应。
实时数据链路:
设备上报 → IoT网关 → Kafka(消息队列) → Flink(实时计算) → Redis(缓存) → WebSocket → 前端实时刷新关键设计:
- 设备数据上报频率:秒级(储能/充电桩)到分钟级(光伏/负荷)
- Flink窗口计算:15分钟滚动窗口,输出96点日曲线
- 预测任务调度:每日凌晨2点触发日前预测,每15分钟触发实时预测修正
5. 部署与运维
- 部署模式:支持私有化部署(客户机房)和SaaS模式(延凡科技云平台)
- 高可用:关键服务多实例部署,数据库主从热备
- 监控告警:Prometheus + Grafana,覆盖服务健康、数据延迟、预测偏差等维度
6. 一些实践心得
做能源数字化平台踩过的一些坑,分享出来:
1. 数据质量是预测的天花板。再好的模型,喂进去脏数据也白搭。我们在数据接入层花了大量精力做异常值检测和数据补全——缺数的时候用同类日均值填充,异常值用3σ原则过滤。
2. 虚拟电厂的“聚合”不只是数学问题,更是工程问题。资源响应特性各异,调度指令下发了,用户侧能不能真的执行到位?我们在每个用户侧部署了边缘代理网关,负责指令的解析、执行确认和状态回传。
3. 预测模型要持续迭代。电力系统的运行特性会随着季节、政策、用户行为变化而漂移。我们的做法是每周自动重训模型,用最近3个月的数据做增量学习。
7. 写在最后
延凡科技电力数字化平台目前已落地稳定运行,接入51户企业,总接入负荷204.915MW,累计参与需求响应任务20次,总响应电量1000MWh。
如果你也在做能源数字化、虚拟电厂、电力交易相关项目,欢迎交流技术细节。