健康数据处理系统
🏥 用于批量生成ljwx-boot系统中个人和部门的健康基线、评分、预测、建议和画像的自动化处理工具。
功能特性
📊 个人健康数据处理
- ✅ 健康基线生成: 基于过去30天数据生成个人健康基线
- ✅ 健康评分计算: 集成权重配置的综合健康评分
- ✅ 健康预测分析: 未来30天健康趋势和风险评估
- ✅ 健康建议生成: 个性化健康改善建议
- ✅ 健康画像构建: 90天健康行为和风险画像
🏢 部门健康数据处理
- ✅ 组织基线生成: 基于过去90天数据生成部门健康基线
- ✅ 组织评分计算: 部门级健康评分和用户分布
- ✅ 组织预测分析: 部门健康趋势和管理风险评估
- ✅ 管理建议生成: 部门管理、政策和培训建议
- ✅ 组织画像构建: 180天组织健康状况和合规画像
目录结构
health_processing/
├── personal_health_processor.py # 个人健康数据处理器
├── department_health_processor.py # 部门健康数据处理器
├── health_processing_main.py # 主执行脚本
├── health_processing_config.json # 配置文件
├── run_health_processing.sh # Shell执行脚本
├── README.md # 说明文档
└── results/ # 结果输出目录
├── personal_results_YYYYMMDD_HHMMSS.json
├── department_results_YYYYMMDD_HHMMSS.json
└── health_processing_report_YYYYMMDD_HHMMSS.md
快速开始
1. 环境检查
# 检查Python环境和ljwx-boot服务
./run_health_processing.sh --check-env
2. 试运行
# 验证配置和参数
./run_health_processing.sh --dry-run
3. 完整执行
# 使用默认配置处理所有数据
./run_health_processing.sh
# 仅处理个人数据
./run_health_processing.sh --personal-only
# 仅处理部门数据
./run_health_processing.sh --department-only
# 使用自定义配置
./run_health_processing.sh -c my_config.json
# 指定服务地址
./run_health_processing.sh -u http://192.168.1.100:8080
配置说明
ljwx-boot服务配置
{
"ljwx_boot": {
"base_url": "http://localhost:8080",
"token": null,
"timeout": 30
}
}
个人数据处理配置
{
"personal_processing": {
"enabled": true,
"generate_baseline": true,
"generate_score": true,
"generate_prediction": true,
"generate_recommendation": true,
"generate_profile": true,
"baseline_days": 30, // 基线统计天数
"score_days": 30, // 评分统计天数
"prediction_days": 30, // 预测天数
"profile_days": 90, // 画像统计天数
"user_days": 30, // 获取活跃用户的天数
"max_workers": 5 // 并发处理线程数
}
}
部门数据处理配置
{
"department_processing": {
"enabled": true,
"generate_baseline": true,
"generate_score": true,
"generate_prediction": true,
"generate_recommendation": true,
"generate_profile": true,
"baseline_days": 90, // 组织基线需要更长时间
"score_days": 30,
"prediction_days": 30,
"profile_days": 180, // 组织画像需要更长时间
"org_days": 30, // 获取活跃组织的天数
"max_workers": 3, // 组织处理并发数相对较少
"min_users_per_org": 2 // 组织最少用户数要求
}
}
API端点映射
个人健康数据API
POST /health/baseline/generate- 生成个人基线POST /health/score/generate- 生成健康评分POST /health/prediction/generate- 生成健康预测POST /health/recommendation/generate- 生成健康建议POST /health/profile/generate- 生成健康画像
部门健康数据API
POST /health/baseline/organization/generate- 生成组织基线POST /health/score/organization/generate- 生成组织评分POST /health/prediction/organization/generate- 生成组织预测POST /health/recommendation/organization/generate- 生成组织建议POST /health/profile/organization/generate- 生成组织画像
输出结果
个人健康结果
{
"user_id": 123,
"baseline_success": true,
"score_success": true,
"prediction_success": true,
"recommendation_success": true,
"profile_success": true,
"baseline_data": { /* 基线数据 */ },
"score_data": { /* 评分数据 */ },
"prediction_data": { /* 预测数据 */ },
"recommendation_data": { /* 建议数据 */ },
"profile_data": { /* 画像数据 */ },
"errors": []
}
部门健康结果
{
"org_id": 456,
"org_name": "技术部",
"user_count": 25,
"baseline_success": true,
"score_success": true,
"prediction_success": true,
"recommendation_success": true,
"profile_success": true,
"baseline_data": { /* 组织基线数据 */ },
"score_data": { /* 组织评分数据 */ },
"prediction_data": { /* 组织预测数据 */ },
"recommendation_data": { /* 管理建议数据 */ },
"profile_data": { /* 组织画像数据 */ },
"errors": []
}
汇总报告
生成Markdown格式的处理汇总报告,包含:
- 处理统计信息
- 成功率分析
- 错误信息汇总
- 配置信息记录
性能特性
并发处理
- 个人数据: 默认5个并发线程
- 部门数据: 默认3个并发线程
- 可通过配置调整并发数
错误处理
- 自动重试机制
- 详细错误日志记录
- 部分失败不影响整体处理
资源优化
- 分批处理避免内存溢出
- 连接池管理减少连接开销
- 合理的超时设置
监控和日志
日志输出
- 控制台实时输出处理进度
- 文件详细记录处理过程
- 结构化错误信息
处理统计
- 成功/失败数量统计
- 处理时间分析
- 资源使用情况
使用场景
定期数据处理
# 每日凌晨执行个人数据处理
0 2 * * * /path/to/run_health_processing.sh --personal-only
# 每周执行部门数据处理
0 3 * * 0 /path/to/run_health_processing.sh --department-only
数据迁移
# 批量处理历史数据
./run_health_processing.sh -c migration_config.json
健康检查
# 验证系统状态
./run_health_processing.sh --check-env --dry-run
故障排除
常见问题
-
连接失败
检查ljwx-boot服务是否启动 验证网络连接和防火墙设置 -
认证错误
确认token配置正确 检查用户权限设置 -
数据不足
调整统计天数配置 检查源数据完整性 -
处理超时
增加timeout配置值 减少并发线程数
调试模式
# 启用详细输出
./run_health_processing.sh --verbose
# 查看详细日志
tail -f results/health_processing_*.log
注意事项
- 数据依赖: 确保ljwx-boot系统中有足够的历史健康数据
- 服务状态: 处理前确认ljwx-boot服务正常运行
- 权限配置: 确保API调用有足够权限访问用户和组织数据
- 资源规划: 大量数据处理时注意CPU和内存使用情况
- 备份策略: 重要结果数据建议定期备份
技术支持
如遇问题,请检查:
- 系统日志文件
- ljwx-boot服务状态
- 网络连接情况
- 配置文件格式
联系方式: bruno.gao [email protected]