Appearance
总览
本章描述系统架构与数据流,便于理解"UNET 仿真底座"和"调度/观测层"的边界。
关键模块
| 模块 | 路径 | 职责 |
|---|---|---|
| UnetAdapter | unet_adapter/ | 屏蔽 UNET 版本差异,提供 probe/connect/send/subscribe/check_phy/query_node_address 等抽象 |
| Orchestrator | orchestrator/ | run 生命周期管理、step 循环、barrier 同步、trace 采集、gateway_preflight PHY 预检 |
| Scheduler | scheduler/ | 调度策略接口(round_robin / adaptive_qos) |
| Metrics | metrics/ | trace 采集、指标计算(compute)、导出 CSV/报告(export) |
| Service | service/ | RunService 业务编排、ExecutionWorker 后台执行、LocationInitializer 位置初始化 |
| Persistence | persistence/ | SQLAlchemy ORM 模型、Repository 层(Run/Trace/Scenario)、Database 引擎管理 |
| Config | config/ | 场景 YAML 加载(load)、Pydantic 场景 schema、RuntimeSettings 环境配置 |
| Protocol | protocol/ | payload_header 帧头定义与解析 |
| API | api/ | FastAPI REST + WebSocket(routes/health/runs/scenarios/strategies/config + ws) |
| Dashboard | ui/ | React 19 + Vite 7 + TypeScript + Tailwind CSS 4 单页应用 |
数据流
用户/前端
│
▼
┌──────────────────────────────────────┐
│ API 层 (FastAPI + Uvicorn) │
│ REST 端点 + WebSocket 推送 │
└──────────┬──────────┬────────────────┘
│ │
┌─────▼──┐ ┌────▼──────────┐
│Service │ │ Persistence │
│RunSvc │ │ Repo/TraceRepo│
│Worker │ │ ScenarioRepo │
└───┬────┘ └───────┬───────┘
│ │
┌────▼────┐ ┌────▼────┐
│Orchest- │ │Database │
│rator │ │SQLite / │
│Runner │ │MySQL │
└────┬────┘ └─────────┘
│
┌────▼────────┐
│UnetAdapter │
│fjagepy/arlpy│
│/logonly │
└─────────────┘- 场景与参数 → RunService 创建 run 记录(DB)并启动 ExecutionWorker
- ExecutionWorker 调用 Orchestrator runner,runner 通过 UnetAdapter 控制/订阅 UNET 或解析日志
- 采集原始事件 →
traces.csv→ 运行结束后批量写入run_traces表 - 聚合指标 →
metrics.csv,每步实时写入run_metrics表,并通过 WS 推送给 Dashboard - 运行结束生成
report.md,更新run_summary表,支持对比与回放