UniEvo Plan Viewer

← 返回列表

UniEvo 技术架构与部署路线

版本:V1.0 关联:核心架构与数据流、模块系统


一、技术栈选型

层级 技术选型 说明
后端语言 Python 3.11+ 核心引擎已有 NumPy 代码基础
计算引擎 NumPy + Numba 内存计算,矩阵运算,JIT 加速
Web框架 FastAPI REST API,异步支持,自动文档
数据库 PostgreSQL 用户/项目/诊断记录存储
缓存 Redis(可选) 高频查询缓存
前端(WEB) React 18 + TypeScript 专业工作台
前端(移动) Taro 3.x + React 微信小程序
可视化 ECharts 5.x 曲线/柱状图/网络图
部署 Docker + Docker Compose 容器化,单机/服务器均可
文档 Markdown + Mermaid 方案文档、API文档

二、系统架构

┌─────────────────────────────────────────────────────────────┐
│                        客户端层                               │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐     │
│  │ UniEvo WEB   │  │  UniEvo MP   │  │  API Client   │     │
│  │ (React 18)   │  │ (Taro 小程)  │  │  (第三方)     │     │
│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘     │
│         └─────────────────┼─────────────────┘              │
└───────────────────────────┼────────────────────────────────┘
                            │ HTTPS/REST
┌───────────────────────────┼────────────────────────────────┐
│                   网关层  │                                  │
│               ┌───────────┴──────────┐                     │
│               │   Nginx / API Gateway │                     │
│               │   (路由+限流+认证)    │                     │
│               └───────────┬──────────┘                     │
└───────────────────────────┼────────────────────────────────┘
                            │
┌───────────────────────────┼────────────────────────────────┐
│                   服务层  │                                  │
│               ┌───────────┴──────────┐                     │
│               │   FastAPI 服务        │                     │
│               │                      │                     │
│               │  ┌────────────────┐   │                     │
│               │  │ StrEvo 引擎    │   │  ← 核心,纯Python  │
│               │  │ NumPy+Numba   │   │                     │
│               │  └────────────────┘   │                     │
│               │  ┌────────────────┐   │                     │
│               │  │ 业务逻辑       │   │  ← 项目管理/用户   │
│               │  └────────────────┘   │                     │
│               └───────────┬──────────┘                     │
└───────────────────────────┼────────────────────────────────┘
                            │
┌───────────────────────────┼────────────────────────────────┐
│                   数据层  │                                  │
│               ┌───────────┴──────────┐                     │
│               │    PostgreSQL         │                     │
│               │  ┌────────────────┐   │                     │
│               │  │ users          │   │  用户/组织          │
│               │  │ projects       │   │  项目信息            │
│               │  │ diagnoses      │   │  诊断历史            │
│               │  │ outputs        │   │  输出记录            │
│               │  └────────────────┘   │                     │
│               └──────────────────────┘                     │
└─────────────────────────────────────────────────────────────┘

三、部署方案

3.1 单机部署(开发/演示)

硬件:普通PC或服务器
系统:Ubuntu 22.04 / Windows + WSL
组件:Docker Compose (FastAPI + PostgreSQL + Nginx)
数据:本地文件导入(CSV/JSON)

3.2 生产部署

硬件:云服务器 4核/8G+ 
组件:Docker Swarm / K3s
存储:PostgreSQL + 对象存储
扩展:水平扩展 StrEvo 引擎实例(无状态)

3.3 最小部署规格

环境 CPU 内存 存储 并发
开发 2核 4G 20G 1-2
演示 2核 4G 50G 5-10
生产 4核 8G 100G+ 50+

四、API 接口设计

4.1 核心接口

方法 路径 说明
POST /api/v1/projects 创建项目
GET /api/v1/projects 项目列表
POST /api/v1/diagnose 执行诊断
GET /api/v1/diagnose/{id}/result 获取诊断结果
GET /api/v1/diagnose/{id}/curves 获取稳定性曲线数据
GET /api/v1/outputs 可用输出列表

4.2 诊断请求示例

{
  "project_id": "proj-001",
  "data": {
    "time_steps": [0, 1, 2, 3, 4],
    "factors": {
      "sensor_1": [12.5, 12.7, 12.9, 13.2, 13.5],
      "sensor_2": [13.1, 13.0, 12.8, 12.5, 12.1],
      "sensor_3": [11.8, 12.0, 12.2, 12.5, 12.9]
    }
  },
  "params": {
    "alpha": 0.99,
    "beta": 5.0,
    "theta_lock": 0.3,
    "theta_fail": 0.25
  },
  "outputs": ["stability_curve", "fail_time", "weakest_factor"]
}

4.3 诊断响应示例

{
  "diagnose_id": "diag-001",
  "status": "completed",
  "results": {
    "stability_curve": [0.88, 0.84, 0.79, 0.72, 0.65],
    "current_stability": 0.65,
    "fail_time": 18,
    "weakest_factor": "sensor_2",
    "health_level": "关注",
    "timestamp": "2026-07-21T15:00:00Z"
  }
}

五、研发环境目录结构

UniEvo/
├── backend/
│   ├── api/              # FastAPI 路由
│   ├── engine/           # StrEvo 核心引擎
│   │   ├── core.py       # 主计算逻辑
│   │   ├── memory.py     # 记忆累积模块
│   │   ├── locking.py    # 锁定概率模块
│   │   ├── stability.py  # 稳定性聚合模块
│   │   └── outputs.py    # 44种输出生成
│   ├── models/           # 数据模型
│   ├── services/         # 业务逻辑
│   └── tests/            # 测试
├── frontend/
│   ├── web/              # React 18 WEB端
│   └── mini/             # Taro 小程序端
├── docs/                 # 文档
├── deploy/               # Docker 配置
└── README.md