Skip to content

总览

本章描述系统架构与数据流,便于理解"UNET 仿真底座"和"调度/观测层"的边界。

关键模块

模块路径职责
UnetAdapterunet_adapter/屏蔽 UNET 版本差异,提供 probe/connect/send/subscribe/check_phy/query_node_address 等抽象
Orchestratororchestrator/run 生命周期管理、step 循环、barrier 同步、trace 采集、gateway_preflight PHY 预检
Schedulerscheduler/调度策略接口(round_robin / adaptive_qos)
Metricsmetrics/trace 采集、指标计算(compute)、导出 CSV/报告(export)
Serviceservice/RunService 业务编排、ExecutionWorker 后台执行、LocationInitializer 位置初始化
Persistencepersistence/SQLAlchemy ORM 模型、Repository 层(Run/Trace/Scenario)、Database 引擎管理
Configconfig/场景 YAML 加载(load)、Pydantic 场景 schema、RuntimeSettings 环境配置
Protocolprotocol/payload_header 帧头定义与解析
APIapi/FastAPI REST + WebSocket(routes/health/runs/scenarios/strategies/config + ws)
Dashboardui/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     │
    └─────────────┘
  1. 场景与参数 → RunService 创建 run 记录(DB)并启动 ExecutionWorker
  2. ExecutionWorker 调用 Orchestrator runner,runner 通过 UnetAdapter 控制/订阅 UNET 或解析日志
  3. 采集原始事件 → traces.csv → 运行结束后批量写入 run_traces
  4. 聚合指标 → metrics.csv,每步实时写入 run_metrics 表,并通过 WS 推送给 Dashboard
  5. 运行结束生成 report.md,更新 run_summary 表,支持对比与回放