Ver Fonte

docs: 在 README 中补充边云协同通信协议与数据格式说明

wmy há 3 semanas atrás
pai
commit
69b3efec57
1 ficheiros alterados com 24 adições e 0 exclusões
  1. 24 0
      README.md

+ 24 - 0
README.md

@@ -118,6 +118,30 @@ python auto_training/standalone_train.py --data-dir /你的音频数据目录
 3. **模型同步客户端 (`run_model_sync.py`)**
    开关:`model_sync.enabled = true`
    定时长轮询云端的 `manifest.json`,发现新版本后自动下载压缩包、比对 SHA256,然后安全原子替换到边缘机,并通知主监控进程进行亚秒级的模型热重载。
+### 核心交互与数据流转契约
+
+依靠标准的 HTTP/FastAPI 接口,实现边缘端与云端的解耦互通:
+
+**1. 边缘端 ⬆️ 上传数据到云端 (Data Upload API)**
+采用 `multipart/form-data` 以流式上传高压转码后的媒体文件与环境特征数据。
+- 接口:`POST http://<云端IP>:8800/api/audio/upload`
+- 表单数据结构:
+  - `file`: 实际媒体文件流(压缩的 `.flac` 等)
+  - `project_id`: 水厂编号(如 1450)
+  - `device_code`: 具体设备号(如 "LT-2")
+  - `model_group`: 所属模型分类(如 "LT_ZDB" 驻底泵)
+  - `media_type`: 媒体大类("audio" / "image" / "video")
+  - `sample_type`: 样本分类("normal" 正常底噪 / "anomaly" 异常告警)
+  - `metadata`: Blackbox 维度的设备元信息 JSON (含 `edge_node_id`, `avg_error`, `threshold`, 告警时间等)。
+
+**2. 云端 ⬇️ 下发模型到边缘端 (Model Sync API)**
+被动式“边缘长轮询 Pull”拉取分发,降低云端带宽瞬时波峰。
+- **阶段一 (版本探针)**:
+  - `GET http://<云端IP>:8800/api/model/check?project_id=1450&device_codes=LT-1,LT-2&feature_version=mel_v1`
+  - 返回字典,如果存在更新,包含对应设备下的 `download_url`, 最新 `version`, `sha256` 校验和,以及专属的新检测阈值 `threshold`。
+- **阶段二 (增量下载与热替换)**:
+  - 边缘端凭 `download_url` 触发 ZIP 包下载,落盘 `/tmp`。
+  - 算力对齐与 `sha256` 防篡改校验通过后,自动备份老模型并原地执行安全原子级别的 `os.rename` 替换,主监控进程无感热重入。
 
 ---