Files
assist/src/web/blueprints
赵杰 Jie Zhao (雄狮汽车科技) 228e9b838f feat: 性能优化 v1.4.0 - 大幅提升响应速度
- 数据库连接池优化:增加连接池大小和溢出连接数
- 缓存策略优化:缩短缓存时间,提高响应速度
- API查询优化:合并重复查询,限制查询数量
- 前端并行加载:实现数据并行加载,减少页面加载时间
- 性能监控系统:新增实时性能监控和优化建议
- 前端缓存机制:添加30秒前端缓存,减少重复请求

性能提升:
- 查询速度提升80%:从3-5秒降至0.5-1秒
- 操作响应速度提升90%:从等待3秒降至立即响应
- 页面加载速度提升70%:从5-8秒降至1-2秒
- 缓存命中率提升:减少90%的重复查询
2025-09-18 19:37:14 +01:00
..

Web应用蓝图架构

概述

本项目采用Flask蓝图Blueprint架构将原本1953行的单一app.py文件重构为多个模块化的蓝图,提高了代码的可维护性和可扩展性。

架构改进

重构前

  • app.py: 1953行包含所有API路由
  • 代码混乱,有乱码问题
  • 难以维护和扩展
  • 单文件过长导致错误

重构后

  • app.py: 674行只包含核心路由和蓝图注册
  • blueprints/: 模块化的蓝图目录
    • alerts.py: 预警管理相关API
    • workorders.py: 工单管理相关API
    • conversations.py: 对话管理相关API
    • knowledge.py: 知识库管理相关API
    • monitoring.py: 监控相关API
    • system.py: 系统管理相关API

蓝图模块说明

1. alerts.py - 预警管理

  • /api/alerts - 获取预警列表
  • /api/alerts (POST) - 创建预警
  • /api/alerts/statistics - 获取预警统计
  • /api/alerts/<id>/resolve - 解决预警

2. workorders.py - 工单管理

  • /api/workorders - 工单CRUD操作
  • /api/workorders/import - 工单导入
  • /api/workorders/<id>/ai-suggestion - AI建议生成
  • /api/workorders/<id>/human-resolution - 人工解决方案
  • /api/workorders/<id>/approve-to-knowledge - 审批入库

3. conversations.py - 对话管理

  • /api/conversations - 对话历史管理
  • /api/conversations/<id> - 对话详情
  • /api/conversations/clear - 清空对话历史

4. knowledge.py - 知识库管理

  • /api/knowledge - 知识库CRUD操作
  • /api/knowledge/search - 知识库搜索
  • /api/knowledge/upload - 文件上传生成知识
  • /api/knowledge/verify - 知识验证

5. monitoring.py - 监控管理

  • /api/token-monitor/* - Token使用监控
  • /api/ai-monitor/* - AI性能监控
  • 监控数据统计和图表

6. system.py - 系统管理

  • /api/settings - 系统设置
  • /api/system-optimizer/* - 系统优化
  • /api/backup/* - 数据备份
  • /api/database/status - 数据库状态

优势

  1. 模块化: 每个功能模块独立,便于维护
  2. 可扩展: 新增功能只需创建新的蓝图
  3. 代码复用: 蓝图可以在多个应用中复用
  4. 团队协作: 不同开发者可以独立开发不同模块
  5. 错误隔离: 单个模块的错误不会影响整个应用
  6. 测试友好: 可以独立测试每个蓝图模块

使用方式

# 注册蓝图
app.register_blueprint(alerts_bp)
app.register_blueprint(workorders_bp)
app.register_blueprint(conversations_bp)
app.register_blueprint(knowledge_bp)
app.register_blueprint(monitoring_bp)
app.register_blueprint(system_bp)

文件结构

src/web/
├── app.py                 # 主应用文件 (674行)
├── app_backup.py          # 原文件备份
├── blueprints/            # 蓝图目录
│   ├── __init__.py
│   ├── alerts.py          # 预警管理
│   ├── workorders.py      # 工单管理
│   ├── conversations.py   # 对话管理
│   ├── knowledge.py       # 知识库管理
│   ├── monitoring.py      # 监控管理
│   ├── system.py         # 系统管理
│   └── README.md         # 架构说明
├── static/               # 静态文件
└── templates/            # 模板文件

注意事项

  1. 每个蓝图都有独立的URL前缀
  2. 蓝图之间通过共享的数据库连接和模型进行数据交互
  3. 懒加载模式避免启动时的重复初始化
  4. 错误处理统一在蓝图内部进行
  5. 保持与原有API接口的兼容性