XuJiacheng 455185ac5d feat: 扩展心跳消息支持电力与空调设备数组字段
新增 Kafka 消息中 electricity[] 和 air_conditioner[] 数组字段支持,用于存储电力与空调设备明细数据。数据库表新增对应数组列并创建 GIN 索引优化查询性能,processor 实现数组字段校验与聚合转换逻辑。

主要变更:
- Kafka 消息规范新增 electricity 和 air_conditioner 数组字段定义
- 数据库 heartbeat_events 表新增 14 个数组列并创建 4 个 GIN 索引
- processor 实现数组字段解析、校验及聚合转换逻辑
- 更新相关文档与测试用例,确保端到端功能完整
2026-01-16 14:45:36 +08:00

Web_BLS_Heartbeat_Server

BLS心跳接收端用于接收并处理Kafka队列中的心跳数据经过解包处理后写入PostgreSQL数据库。

功能介绍

  • 从Kafka队列接收心跳数据
  • 解包和验证心跳数据格式
  • 批量处理心跳数据,提高处理效率
  • 将处理后的数据写入PostgreSQL数据库
  • 支持高并发和自动重连机制

技术栈

  • Node.js (JavaScript) - 运行环境
  • Vite - 构建工具
  • Kafka - 消息队列
  • PostgreSQL - 数据库

快速开始

安装依赖

npm install

配置

复制配置文件模板并根据环境需求修改:

cp src/config/config.example.js src/config/config.js

构建

npm run build

运行

# 启动后端Kafka consumer + DB + Redis
npm run start

# 注意npm run dev 是 Vite 开发服务器,不会启动 Kafka consumer
# npm run dev

项目结构

├── src/                  # 源代码目录
│   ├── config/           # 配置文件
│   ├── kafka/            # Kafka消息处理
│   ├── processor/        # 心跳数据处理
│   ├── db/               # 数据库操作
│   └── index.js          # 项目入口
├── openspec/             # OpenSpec规范文档
├── package.json          # 项目依赖
├── vite.config.js        # Vite配置
└── README.md             # 项目说明

开发命令

命令 描述
npm install 安装项目依赖
npm run build 构建项目
npm run dev 启动开发服务器
npm run test 运行测试
npm run lint 代码检查
Description
BLS心跳接收端
Readme 447 KiB
Languages
JavaScript 85.5%
Batchfile 7.2%
PLpgSQL 7.1%
Dockerfile 0.2%