1. 为什么需要一体化公用事业云平台

燃气、水务、电力、热力看起来是不同业务,但从企业运营和系统建设视角看,它们存在大量共性:

  • 都有客户。
  • 都有合同或户号。
  • 都有服务地址。
  • 都有计量点。
  • 都有表计或终端设备。
  • 都有远程采集。
  • 都有用量计算。
  • 都有计费出账。
  • 都有缴费核销。
  • 都有欠费控制。
  • 都有设备异常。
  • 都有现场工单。
  • 都有报表统计。
  • 都有第三方集成。

如果每个能源类型都建设一套完全独立的系统,会带来明显问题:

  • 重复建设客户、权限、账务、支付、报表。
  • 多套设备接入链路重复开发。
  • 客户化交付成本高。
  • 数据口径不统一。
  • 运维监控割裂。
  • 后续扩展新能源类型困难。

因此,更合理的方向是:

统一平台底座 + 能源类型扩展 + 协议插件 + 业务规则插件

燃气、水务、电力不是三套系统,而是同一套公用事业平台上的不同能源业务域。

2. 平台总体定位

通用公用事业云平台可以定位为:

面向燃气、水务、电力、热力等公用事业企业的多租户计量运营云平台。

它覆盖从物理设备到经营收费的完整链路:

资产建档
  -> 装表绑定
  -> 设备接入
  -> 数据采集
  -> 数据清洗
  -> 计费出账
  -> 支付核销
  -> 命令控制
  -> 告警诊断
  -> 工单处理
  -> 报表分析
  -> 运维监控

平台不是单一 HES,也不是单一 CIS,而是把设备侧、数据侧、业务侧、账务侧和运维侧统一起来。

3. 企业级系统分层

一个完整的公用事业 IT 架构,通常可以拆成几类核心系统。

3.1 资产系统

资产系统负责管理真实世界中的设备。

包括:

  • 表计采购。
  • 入库。
  • 领用。
  • 安装。
  • 运行。
  • 拆回。
  • 维修。
  • 报废。
  • 设备密钥。
  • 通信参数。
  • 表计与户号绑定关系。

它是设备的“户口本”。

资产系统关心的是:

这块表是谁的、在哪里、什么型号、什么状态、绑定哪个计量点。

3.2 WFM 工单系统

WFM 是现场人员调度系统。

它负责连接线上系统和线下作业:

  • 安装工单。
  • 换表工单。
  • 报修工单。
  • 巡检工单。
  • 安检工单。
  • 催缴工单。
  • 异常处理工单。
  • 现场拍照。
  • 现场回填。
  • 工单回访。

它是现场运维的“调度中心”。

3.3 HES 采集前置系统

HES 面向硬件,负责设备通信。

职责:

  • 协议编解码。
  • 加密解密。
  • 报文校验。
  • 设备上报接收。
  • 命令下发。
  • 硬件级状态监控。
  • 通信通道管理。

HES 应尽量保持“瘦”和“无状态”。

它不应该理解复杂账务,不应该直接处理客户合同,不应该参与计费逻辑。

HES 关心的是:

设备是否连得上、数据是否收得到、命令是否下得去。

3.4 MDM 表计数据管理系统

MDM 是计量数据管理中心。

职责:

  • 标准读数管理。
  • 冻结数据管理。
  • VEE 数据处理。
  • 设备事件。
  • 业务级告警。
  • 命令状态机。
  • 数据质量分析。

VEE 指:

Validation 验证
Estimation 估算
Editing 编辑

例如:

  • 剔除异常负数读数。
  • 识别突增突减。
  • 对缺失数据估算。
  • 对异常数据人工修正。

MDM 是设备数据到业务数据之间的“质检员”。

3.5 CIS 客户与计费系统

CIS 是客户和计费系统。

职责:

  • 客户。
  • 合同/户号。
  • 服务地址。
  • 计量点。
  • 价格方案。
  • 账单。
  • 缴费。
  • 退款。
  • 对账。
  • 票据。

CIS 是商业闭环的核心。

它关心的是:

谁用了多少、该收多少钱、是否已经缴费。

3.6 开放集成系统

开放集成系统负责对接外部生态:

  • 银行。
  • 支付渠道。
  • 监管平台。
  • 营业系统。
  • 厂商平台。
  • 短信平台。
  • 发票平台。
  • 第三方 APP。

它需要提供:

  • API 鉴权。
  • 签名验签。
  • 报文转换。
  • 接口审计。
  • 重试补偿。
  • 错误码映射。

4. 总体微服务架构

平台微服务架构可以设计为:

Web 管理端 / 移动端 / 第三方系统 / 银行 / 支付 / 监管
        |
API 网关
        |
认证权限服务
        |
业务微服务层
        |
消息队列 / Redis / 数据库 / 文件服务 / 调度平台 / 日志监控
        |
HES / 前置机 / 网关 / 表计 / 厂商平台

核心微服务:

iam-service                 认证权限服务
tenant-org-service          租户组织服务
customer-contract-service   客户合同服务
measuring-point-service     计量点服务
asset-service               设备资产服务
hes-gateway-service         设备接入网关
protocol-adapter-service    协议适配服务
mdm-service                 表计数据管理服务
command-service             命令控制服务
billing-service             计费账务服务
payment-service             支付对账服务
alarm-service               告警诊断服务
work-order-service          工单运维服务
report-service              报表分析服务
integration-service         开放集成服务
notification-service        消息通知服务
scheduler-service           调度任务服务
file-service                文件服务

服务拆分不是为了数量多,而是为了边界清楚。

5. 统一业务域设计

建议将平台统一为以下业务域:

业务域 核心能力
系统基础域 租户、组织、区域、用户、角色、菜单、权限、字典、多语言、审计
客户运营域 客户、联系人、合同/户号、地址、开户、过户、销户、停复用
计量点域 计量点、能源类型、价格方案、账户、抄表周期、设备绑定
设备资产域 表计、网关、集中器、RTU、SIM、密钥、参数、生命周期
采集通信域 原始报文、标准读数、冻结数据、设备事件、通道适配
MDM 数据域 VEE、估算、修正、数据质量、读数发布、数据版本
命令控制域 阀控、拉合闸、设参、读参、充值、校时、升级、撤销
计费账务域 价格、账单、账户、流水、预付费、后付费、滞纳金、附加费
支付对账域 支付订单、渠道订单、银行文件、回调、对账、退款、冲正
告警诊断域 漏水、倒流、异常用气、断电、电池低压、通讯异常
工单运维域 安装、换表、巡检、报修、安检、异常处理、现场回填
报表分析域 用量、收费、欠费、设备、异常、对账、经营看板
开放集成域 CIS、监管、厂商、银行、支付、第三方开放 API

6. 统一核心模型

一体化平台最关键的是统一模型。

6.1 能源类型

统一使用:

utility_type

可选值:

GAS       燃气
WATER     水务
ELECTRIC  电力
HEAT      热力

所有核心对象都应能感知能源类型:

  • 计量点。
  • 表计设备。
  • 读数。
  • 用量。
  • 价格方案。
  • 账单。
  • 命令。
  • 告警。
  • 报表。

6.2 客户与合同

Customer 客户
Contract 合同/户号
ServiceAddress 服务地址

客户是自然人或企业。

合同/户号是客户与公用事业公司的服务关系。

一个客户可以有多个合同,一个合同可以有一个或多个计量点。

6.3 计量点

计量点是平台最重要的业务锚点。

Customer -> Contract -> ServiceAddress -> MeasuringPoint -> Device

计量点绑定:

  • 能源类型。
  • 价格方案。
  • 账户。
  • 抄表周期。
  • 计费方式。
  • 控制策略。
  • 当前设备。

换表时,计量点不变,只变更设备绑定关系。

6.4 设备

统一设备模型:

Device
MeterDevice
GatewayDevice
DeviceRelation
DeviceParameter
DeviceKey
DeviceLifecycle

设备类型:

GAS_METER
WATER_METER
ELECTRIC_METER
HEAT_METER
RTU
GATEWAY
CONCENTRATOR
REPEATER
SIM
SENSOR

6.5 读数与用量

统一读数模型:

MeterReading
FrozenReading
UsageQuantity
ReadingValidation
ReadingVersion

字段抽象:

reading_value      表码
usage_quantity     本期用量
reading_time       读数时间
reading_type       读数类型
utility_type       能源类型
quality_flag       数据质量标记

读数类型:

REALTIME
DAILY_FROZEN
MONTHLY_FROZEN
MANUAL
ESTIMATED
BILLING

6.6 命令

统一命令模型:

CommandTask
CommandTarget
CommandPayload
CommandDispatchLog
CommandResult
CommandRetry
CommandAudit

不同能源命令能力:

能源 命令
燃气 开阀、关阀、远程充值、补气、调价、读参、设参、校时
水务 开阀、关阀、读表、设参、调价、校时、升级
电力 拉闸、合闸、读表、费控参数、需量控制、远程升级
热力 阀控、温控参数、热量读取、设备状态查询

6.7 账务

统一账务模型:

Account
AccountLedger
Bill
BillDetail
Receivable
PaymentOrder
ChannelOrder
RefundOrder
ReconciliationBatch
ReconciliationDetail

账务核心必须独立,不应散落在设备协议、支付回调或命令控制服务中。

7. 能源差异设计

7.1 燃气

燃气重点:

  • 安全阀控。
  • 欠费关阀。
  • IC/STS。
  • 远程充值。
  • 补气、退气。
  • 安检。
  • 异常用气。
  • 工商表。
  • RTU。
  • 压力温度修正。

典型异常:

  • 磁攻击。
  • 低电压。
  • 欠费关阀。
  • 阀门异常。
  • 异常用气。
  • 长时间未上报。

7.2 水务

水务重点:

  • 远程抄表。
  • 漏水。
  • 滴漏。
  • 倒流。
  • 空管。
  • DMA 分区。
  • 产销差。
  • 污水处理费。
  • 垃圾费。

典型异常:

  • 持续流。
  • 小流量泄漏。
  • 大流量泄漏。
  • 反向计量。
  • 开盖。
  • 阀门异常。
  • 长时间未上报。

7.3 电力

电力扩展时需要重点考虑:

  • 电能表示数。
  • 分时电价。
  • 尖峰平谷。
  • 需量。
  • 功率因数。
  • 拉合闸。
  • 费控。
  • 线损。
  • 台区。
  • 变压器。

典型异常:

  • 失压。
  • 失流。
  • 反向电量。
  • 开盖。
  • 窃电疑似。
  • 功率异常。
  • 负荷异常。
  • 通讯异常。

电力和燃气、水务最大的差异是:

计量指标更多,价格规则更复杂,电网拓扑更强,数据采集频率更高。

因此平台模型要给电力预留扩展字段和扩展表,而不是把所有电力指标硬塞进通用读数字段。

8. 插件化设计

一体化平台要避免所有差异都写进核心代码。

建议插件化的能力:

8.1 能源插件

GasUtilityPlugin
WaterUtilityPlugin
ElectricUtilityPlugin
HeatUtilityPlugin

负责定义:

  • 能源类型。
  • 计量单位。
  • 费用项。
  • 命令能力。
  • 典型异常。
  • 报表指标。

8.2 协议插件

负责:

  • 报文解析。
  • 命令组包。
  • 回执解析。
  • 数据项映射。

协议插件不直接处理账务和客户。

8.3 计费插件

负责:

  • 阶梯价。
  • 分时价。
  • 包量价。
  • 污水费。
  • 滞纳金。
  • 附加费。
  • 优惠减免。

8.4 诊断规则插件

负责:

  • 漏水诊断。
  • 异常用气诊断。
  • 窃电疑似诊断。
  • 通讯异常诊断。
  • 设备故障诊断。

8.5 客户化适配插件

负责:

  • 银行接口。
  • 支付渠道。
  • 监管平台。
  • 厂商平台。
  • 地方营业系统。

客户化能力必须隔离在 adapter 层,不进入核心域。

9. HES 与 MDM 的边界

9.1 HES 应该做什么

HES 负责:

  • 接收设备报文。
  • 协议解码。
  • 加密解密。
  • 命令组包。
  • 通道管理。
  • 硬件级异常。

HES 不应该做:

  • 客户账务。
  • 价格计算。
  • 账单核销。
  • 复杂业务规则。
  • 报表统计。

9.2 MDM 应该做什么

MDM 负责:

  • 标准读数。
  • 冻结读数。
  • 数据质量。
  • VEE。
  • 业务级告警。
  • 命令状态机。
  • 读数发布。

MDM 是 HES 和 CIS 之间的数据中枢。

9.3 采用“瘦 HES,胖 MDM”

推荐原则:

HES 轻状态,MDM 管数据质量和业务状态。

这样 HES 可以横向扩容,MDM 保持业务一致性。

10. 休眠设备下的命令控制设计

很多智能水表、燃气表、电表终端都不是一直在线。

例如:

  • NB-IoT PSM。
  • LoRa Class A。
  • 低功耗远传表。

这类设备长期休眠,只有上报时才短暂打开接收窗口。

如果按传统同步调用方式下发命令,很容易失败。

推荐使用:

Redis 下发共享池 + Kafka 结果回执流

10.1 下行链路

CIS/业务服务发起命令
  -> MDM 创建命令记录
  -> 生成 TraceID
  -> 命令写入 Redis
  -> 设置 TTL

10.2 设备唤醒

设备周期上报
  -> HES 接收报文
  -> HES 查询 Redis 是否有待下发命令
  -> 命中则在 ACK 窗口下发
  -> 删除或标记 Redis 命令

10.3 回执链路

设备执行命令
  -> HES 解析回执
  -> 写入 Kafka Result Topic
  -> MDM 消费结果
  -> 更新命令状态
  -> 触发业务补偿

这种设计的好处:

  • HES 不需要保存复杂业务状态。
  • MDM 保持命令一致性。
  • Redis 适合作为待下发命令池。
  • Kafka 适合作为结果事件流。
  • 适配低功耗设备的唤醒窗口。

11. 核心业务流程

11.1 开户装表

创建客户
  -> 创建合同/户号
  -> 创建服务地址
  -> 创建计量点
  -> 选择能源类型
  -> 绑定设备
  -> 绑定价格方案
  -> 创建账户
  -> 设备开通
  -> 写审计日志

11.2 采集入库

设备上报
  -> HES 接收
  -> 原始报文落库
  -> 协议解析
  -> 标准读数
  -> MDM 数据校验
  -> 读数发布
  -> 计费/告警/报表消费

11.3 计费出账

标准读数
  -> 计算用量
  -> 匹配价格方案
  -> 计算费用
  -> 生成账单
  -> 预付费扣款或后付费待缴
  -> 写账户流水

11.4 支付核销

客户支付
  -> 创建支付订单
  -> 渠道回调
  -> 幂等校验
  -> 写收款记录
  -> 核销账单
  -> 更新账户
  -> 参与对账

11.5 欠费控制

账单逾期
  -> 欠费策略判断
  -> 生成催缴通知
  -> 必要时创建控制命令
  -> MDM 登记命令状态
  -> HES 下发
  -> 回执后更新业务状态

11.6 异常工单

设备事件/数据异常
  -> 诊断规则匹配
  -> 生成告警
  -> 自动建工单
  -> 派发现场人员
  -> 现场处理
  -> 回填结果
  -> 关闭工单

12. 数据架构设计

12.1 主数据层

tenant
organization
region
customer
contract
service_address
measuring_point
device
price_plan
account

12.2 采集时序层

raw_message
parse_result
meter_reading
frozen_reading
device_event
reading_validation
reading_version

12.3 命令控制层

command_task
command_target
command_payload
command_dispatch_log
command_result
command_retry
command_audit

12.4 账务支付层

bill
bill_detail
account_ledger
payment_order
channel_order
refund_order
reconciliation_batch
reconciliation_detail

12.5 告警工单层

alarm_event
diagnostic_rule
diagnostic_case
work_order
work_order_action
notice

12.6 汇总分析层

stat_daily_usage
stat_monthly_usage
stat_payment
stat_arrearage
stat_device_online
stat_alarm
stat_command_success

13. 安全与权限设计

平台必须具备:

  • 多租户隔离。
  • 组织数据权限。
  • 区域数据权限。
  • 菜单权限。
  • 按钮权限。
  • API 权限。
  • 敏感数据脱敏。
  • 操作审计。
  • 接口签名。
  • 防重放。
  • IP 白名单。

重点审计操作:

  • 远程关阀。
  • 电力拉闸。
  • 批量控制。
  • 退款。
  • 冲正。
  • 调价。
  • 密钥更新。
  • 数据导出。

14. 报表与数仓设计

报表不建议直接查业务大表。

建议采用:

业务明细 -> 指标汇总 -> 报表展示

报表类型:

  • 用量报表。
  • 收费报表。
  • 欠费报表。
  • 抄表成功率。
  • 设备在线率。
  • 告警统计。
  • 工单统计。
  • 对账报表。
  • 经营看板。

指标口径需要版本化。

例如:

  • 水务产销差率。
  • 燃气异常用气率。
  • 电力线损率。
  • 命令成功率。
  • 设备在线率。
  • 账单回收率。

15. 产品化落地路线

阶段一:统一主模型

  • 租户。
  • 组织。
  • 区域。
  • 客户。
  • 合同。
  • 地址。
  • 计量点。
  • 设备。
  • 价格。
  • 账户。

阶段二:水务闭环

  • 水表资产。
  • 远程抄表。
  • 水费计费。
  • 缴费。
  • 漏水诊断。
  • 工单。
  • 产销差。

阶段三:燃气闭环

  • 燃气表。
  • 远程充值。
  • 阀控。
  • IC/STS。
  • 安检。
  • 异常用气。
  • 燃气报表。

阶段四:电力扩展

  • 电能表。
  • 分时电价。
  • 拉合闸。
  • 线损。
  • 台区。
  • 负荷分析。
  • 电力异常。

阶段五:统一设备接入

  • HES。
  • 协议插件。
  • 通道适配。
  • 原始报文。
  • 命令回执。
  • 设备在线。

阶段六:平台化交付

  • 多租户。
  • 客户化适配。
  • 开放 API。
  • 监管接口。
  • 报表数仓。
  • 运维监控。

16. 总结

通用公用事业云平台的目标,不是把燃气、水务、电力系统简单合并,而是抽象出一套稳定的业务内核:

客户 -> 合同 -> 计量点 -> 设备 -> 读数 -> 用量 -> 账单 -> 支付 -> 报表

再围绕这个内核扩展:

协议插件
能源插件
计费插件
诊断插件
客户化适配插件

燃气、水务、电力的差异应体现在插件和规则中,而不是让核心模型分裂成三套。

面向长期产品化,最重要的几个原则是:

  • 计量点作为业务锚点。
  • HES 保持轻状态。
  • MDM 负责数据质量和命令状态。
  • CIS 负责客户与计费。
  • 账务核心独立。
  • 协议适配插件化。
  • 客户化接口隔离。
  • 报表走汇总层。

一句话总结:

一体化平台的价值,不是支持多少种能源,而是用一套稳定模型承载多种能源的差异。
Logo

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

更多推荐