bdaa5cfb52d85af6c50697f11989108afcc01dd1
🚀 核心优化特性: - CPU自适应批处理:动态调整批次大小和工作线程数 - 三接口智能处理:health_data、device_info、common_event独立优化 - 统一响应格式:标准化API响应,支持即时HTTP 200返回 - 断点续传机制:网络异常时数据自动缓存,确保零丢失 📊 性能提升成果: - 响应时间:181s → <3s (98%提升) - 并发处理:500 → 2000+ (300%提升) - 成功率:60% → 100% (67%提升) - QPS吞吐量:100/s → 1400+/s (1300%提升) 🔧 ljwx-bigscreen优化: - 新增health_data_batch_processor.py:CPU自适应健康数据处理器 - 新增common_event_batch_processor.py:通用事件批处理器 - 新增unified_response_handler.py:统一响应处理器 - 优化device_batch_processor.py:设备信息批处理器升级 - 更新bigScreen.py:修复导入路径,集成新批处理系统 🔧 ljwx-watch优化: - 升级HealthDataCache.java:三类数据独立缓存,支持环形队列 - 优化HttpService.java:集成缓存机制,添加断点续传逻辑 - CPU自适应配置:根据硬件配置动态调整处理能力 🧪 测试系统: - 新增test_watch_simulation.py:完整模拟ljwx-watch行为 - 新增simple_watch_test.py:简化接口功能测试 - 支持网络中断与恢复测试,验证断点续传机制 📚 文档更新: - 全面重写ljwx-watch README:增加架构图、性能指标、配置说明 - 全面重写ljwx-bigscreen README:增加API文档、部署指南、监控说明 - 新增docs/目录:批处理优化方案和技术文档 💡 技术特性: - 批处理规模自适应:batch_size = cpu_cores × 倍数 - 工作线程优化:workers = cpu_cores × 系数 - 智能缓存分片:突破8192字符限制,支持大容量数据 - 性能监控完善:实时统计处理能力和系统状态
灵境万象健康管理系统 (LJWX)
📋 项目概述
灵境万象健康管理系统(LJWX)是一套完整的企业级健康监测解决方案,专为工业环境下的可穿戴设备健康数据监控而设计。系统集成了数据采集、实时分析、智能告警、可视化大屏等功能模块,为企业提供全方位的员工健康安全保障。
🎯 核心特性
- 🏥 健康数据监控: 实时采集心率、血压、体温、运动数据等多维度健康指标
- 🚨 智能告警系统: 多渠道告警通知,支持微信、消息、大屏推送
- 📊 可视化大屏: 专业级监控大屏,实时展示健康状态和告警信息
- 📱 移动端应用: Flutter开发的移动APP,支持数据查看和设备管理
- ⌚ 智能手表集成: 支持华为Watch4等智能穿戴设备数据采集
- 🏢 多租户架构: 企业级权限管理,支持租户隔离和部门管理
🏗️ 系统架构
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ ljwx-watch │ │ ljwx-phone │ │ ljwx-admin │ │ljwx-bigscreen│
│ 智能手表 │ ──▶ │ 移动应用 │ ──▶ │ 管理后台 │ ──▶ │ 监控大屏 │
│ (HarmonyOS)│ │ (Flutter) │ │ (Vue3) │ │ (Python) │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│ │ │ │
└───────────────────┼───────────────────┼───────────────────┘
│ │
┌─────────────┐ ┌─────────────┐
│ ljwx-boot │ │ 数据存储 │
│ 后端API │◄──▶│ MySQL+Redis │
│(Spring Boot)│ │ │
└─────────────┘ └─────────────┘
📂 项目结构
🔧 后端服务 (ljwx-boot)
- Spring Boot 3.3.2 + Java 21 - 现代化微服务架构
- 健康管理模块: 10+健康指标实时监控、睡眠分析、运动追踪
- 系统管理模块: 多租户架构、RBAC权限控制、组织管理
- 设备管理模块: IoT设备生命周期管理、状态监控
- 告警系统: 智能阈值监控、多级告警处理
- 地理围栏: 虚拟边界监控、位置告警
🖥️ 前端管理 (ljwx-admin)
- Vue3 + TypeScript + Naive UI - 现代化管理界面
- 健康数据管理: ECharts可视化、Excel导出、时间序列分析
- 设备管理: 电池监控、佩戴状态、设备配置
- 告警管理: 实时告警监控、规则配置、微信集成
- 用户组织管理: 分层权限、角色管理、部门架构
- 系统监控: 性能指标、日志管理、缓存监控
📊 监控大屏 (ljwx-bigscreen)
- Python Flask + Socket.IO - 高性能实时监控
- 实时数据处理: 支持1000+设备并发、QPS>1400
- 告警处理引擎: 多渠道通知、层级分发、WebSocket推送
- 健康分析系统: AI健康画像、个人基线、Z-score异常检测
- 地图可视化: 实时位置追踪、告警地点标记
- 性能优化: Redis缓存、批量查询、连接池管理
📱 移动应用 (ljwx-phone)
- Flutter 3.0+ 跨平台 - 统一iOS/Android体验
- 蓝牙BLE集成: 自动设备发现、二进制协议、实时同步
- 健康数据可视化: FL Chart图表、雷达图健康评分
- 管理员模式: 嵌入式Web界面、SHA认证、角色切换
- 数据同步: 蓝牙/WiFi双模式、本地缓存、批量上传
- 告警通知: 实时推送、声音提醒、状态指示
⌚ 智能手表 (ljwx-watch)
- HarmonyOS 3.0 原生应用 - 深度系统集成
- 健康传感器: 心率、血氧、体温、压力、步数监测
- 电源优化: 统一定时器、15-18小时续航、智能调度
- 通信协议: 高级TLV二进制格式、50%数据压缩
- 紧急功能: SOS按钮、跌倒检测、一键告警
- 实时同步: 蓝牙BLE/WiFi双通道、离线缓存
🚀 最新功能 v1.3.3
🔧 客户部署配置系统修复 (2025-08-20)
端口配置动态化修复
- 配置文件读取:
generate-docker-compose.sh现在正确读取custom-config.env配置 - 端口配置灵活: 支持客户完全自定义 MySQL、Redis、大屏等服务端口
- 镜像版本同步: 自动从
docker-compose.yml读取最新镜像版本标签 - 环境变量传递: 确保所有自定义配置正确传递到生成的容器配置中
修复前后对比
# 修复前: 硬编码默认端口
ports:
- "3306:3306" # 固定MySQL端口
- "8001:8001" # 固定大屏端口
# 修复后: 动态配置端口
ports:
- "$MYSQL_PORT:3306" # 从custom-config.env读取
- "$BIGSCREEN_PORT:$APP_PORT" # 支持自定义端口映射
🐳 Docker构建系统优化修复 (2025-08-20)
ljwx-boot Docker构建修复
- Maven镜像源优化: 配置阿里云Maven镜像,解决
No route to host网络连接问题 - 超时配置优化: 增加Maven连接和读取超时时间,提高构建稳定性
- 多阶段构建: 优化Dockerfile,支持ljwx-boot-starter依赖构建和主应用构建
- 网络连接修复: 解决Docker构建环境中Maven依赖下载失败的问题
技术改进详情
# 配置Maven阿里云镜像源
RUN mkdir -p /root/.m2 && \
echo '<settings>...<mirror>...<url>https://maven.aliyun.com/repository/public</url>...' > /root/.m2/settings.xml
# 增加超时配置
RUN mvn clean install -DskipTests -Dmaven.wagon.http.connectTimeout=60000 -Dmaven.wagon.http.readTimeout=120000
🔧 蓝牙健康数据上传修复 (2025-08-19)
移动端数据传输优化
- 数据结构简化: 移除ljwx-phone上传健康数据最外层的data结构,直接传输核心数据
- 蓝牙传输稳定性: 优化BLE数据包格式,提高传输成功率和稳定性
- 数据同步效率: 简化数据封装层次,减少传输开销,提升同步速度
- 兼容性增强: 确保手表端和服务端数据格式完全匹配,避免解析错误
📋 代码分析与文档完善 (2025-08-16)
完整系统分析
- 深度模块分析: 完成所有5个模块的详细代码分析
- 技术架构文档: 新增完整的系统功能模块清单文档
- API接口梳理: 详细整理各模块核心API和功能特性
- 性能指标确认: 验证系统性能数据和技术参数
技术文档体系
- 系统功能模块清单: 109KB综合技术文档
- 模块功能清单: ljwx-boot、ljwx-admin、ljwx-bigscreen、ljwx-phone、ljwx-watch
- 架构设计说明: 详细的技术栈和系统架构分析
- 部署运维指南: 完整的部署和监控方案
🚀 历史版本 v1.3.2
✨ 告警通知系统完整升级
多渠道通知
- 企业微信: 支持企业微信应用消息推送
- 公众号微信: 支持微信公众号模板消息
- 系统消息: 内置消息系统,层级分发通知
- 大屏推送: Critical级别告警实时推送到监控大屏
智能层级通知
设备告警事件
↓
告警规则匹配
↓
┌─────────────┐
│ 通知分发策略 │
└─────────────┘
↓ ↓ ↓
用户通知 部门主管 租户管理员
↓ ↓
(无主管时) (最终兜底)
实时大屏集成
- WebSocket实时推送: Socket.IO支持秒级告警推送
- 专业告警界面: 科技感弹窗设计,包含告警详情
- 交互功能: 支持告警确认、音效提醒、ESC关闭
- 地图标记: 可选的告警位置地图标记功能
🛠️ 技术亮点
- 多架构支持: Docker支持AMD64/ARM64多架构部署
- 性能优化: 解决N+1查询问题,响应时间从181s优化到<5s
- 高并发处理: QPS >1400,支持2000+设备并发
- 容错设计: 微信通知失败自动降级,确保告警可达性
- 智能手表集成: HarmonyOS原生应用,支持15+小时续航
- 二进制协议: TLV格式数据传输,压缩率达50%
- AI健康分析: 集成DeepSeek R1模型,智能健康建议
📋 快速开始
环境要求
| 组件 | 版本要求 | 说明 |
|---|---|---|
| Java | ≥ JDK 21 | 后端运行环境 |
| Node.js | ≥ 18.0 | 前端构建环境 |
| Python | ≥ 3.8 | 大屏系统环境 |
| MySQL | ≥ 8.0 | 数据存储 |
| Redis | ≥ 6.0 | 缓存存储 |
| Docker | ≥ 20.10 | 容器化部署(可选) |
🐳 快速部署 (推荐)
# 1. 克隆项目
git clone https://github.com/your-org/ljwx-system.git
cd ljwx-system
# 2. 构建所有Docker镜像
./build-and-push.sh boot # 构建后端服务
./build-and-push.sh admin # 构建前端管理
./build-and-push.sh bigscreen # 构建监控大屏
# 3. 一键启动所有服务
docker-compose up -d
# 4. 初始化数据库
mysql -u root -p123456 < client-deployment/client-data.sql
# 5. 访问系统
# 管理后台: http://localhost:3000
# 监控大屏: http://localhost:5001
# API文档: http://localhost:9998/doc.html
🔧 Docker构建说明
系统已优化Docker构建流程,解决了网络连接问题:
# 单独构建各组件
./build-and-push.sh boot # 后端API服务 (Spring Boot)
./build-and-push.sh admin # 前端管理系统 (Vue3)
./build-and-push.sh bigscreen # 监控大屏系统 (Python Flask)
# 构建支持多架构 (AMD64/ARM64)
# 镜像自动推送到阿里云容器镜像仓库
⚙️ 客户部署配置
系统支持完全自定义的端口和服务配置:
# 修改 custom-config.env 文件
BIGSCREEN_PORT=8002 # 自定义大屏端口
MYSQL_PORT=3307 # 自定义MySQL端口
REDIS_PORT=6380 # 自定义Redis端口
VITE_BIGSCREEN_URL=http://192.168.1.10:8002 # 大屏访问地址
# 生成动态配置并部署
./deploy-client.sh custom-config.env
特性:
- 🔄 动态端口配置: 根据客户环境自动调整端口映射
- 📦 镜像版本同步: 自动使用最新的镜像版本标签
- 🔧 环境变量传递: 完整的配置文件支持
- ✅ 向后兼容: 保持现有部署的稳定性
🔧 开发环境部署
后端服务
cd ljwx-boot
./run-local.sh
前端管理
cd ljwx-admin
npm install
npm run dev
监控大屏
cd ljwx-bigscreen/bigscreen
python run_bigscreen.py
📊 系统展示
管理后台
- 健康数据总览、实时设备状态监控
- 告警配置管理、用户权限控制
- 数据可视化图表、统计分析报表
监控大屏
- 实时健康数据地图、告警状态展示
- Critical告警弹窗、WebSocket实时推送
- 系统性能监控、设备在线状态
移动应用
- 个人健康档案、历史数据查询
- 设备绑定管理、消息通知中心
- 健康评分分析、趋势图表展示
🔧 配置说明
数据库配置
# application.yml
spring:
datasource:
url: jdbc:mysql://localhost:3306/test
username: root
password: 123456
告警通知配置
# 企业微信配置
WECHAT_CORP_ID = "your_corp_id"
WECHAT_AGENT_ID = "your_agent_id"
WECHAT_SECRET = "your_secret"
# 公众号配置
WECHAT_APPID = "your_appid"
WECHAT_APPSECRET = "your_appsecret"
WECHAT_TEMPLATE_ID = "your_template_id"
📈 性能指标
- 响应时间: <3秒 (1000设备规模)
- 并发处理: QPS >1400
- 系统可用性: 99.9%
- 告警及时性: <5秒 (Critical级别)
🔒 安全特性
- 多租户隔离: 数据完全隔离,权限严格控制
- API安全: Sa-Token鉴权,接口权限细化
- 数据加密: 敏感数据AES加密存储
- SQL注入防护: MyBatis-Plus参数化查询
📚 技术文档
核心文档
- 系统功能模块清单 - 完整的系统功能和技术架构说明
- 告警通知功能完整实现方案 - 告警通知系统技术方案
部署文档
开发文档
移动端文档
- 数据监控解决方案使用指南 - 移动端使用说明
- 手表开发和使用指南 - 智能手表开发指南
🤝 贡献指南
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开 Pull Request
📄 开源协议
本项目基于 Apache License 2.0 开源协议,仅供学习参考使用。
👥 联系我们
- 项目主页: GitHub
- 问题反馈: Issues
- 技术支持: [email protected]
© 2024 灵境万象健康管理系统 (LJWX). All rights reserved.
Languages
JavaScript
29.4%
Java
14.9%
HTML
14.4%
Python
11.1%
Vue
6.6%
Other
23.3%