Files
agent-profiles/suite-developer/knowledge/data-execution-model.md
T

66 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 数据执行模型
> **核心原则:数据永不离开本地。**
> gis-actions 运行在用户自己的机器上。所有数据处理都在用户本地完成,文件不上传到云端。
---
## 执行架构
```
用户本地机器
┌─────────────────────────────────────────────────────┐
│ │
│ gis-actions(本地执行器) │
│ ┌─────────────────────────────────────────┐ │
│ │ │ │
│ │ docker run --rm gis-base + 套件脚本 │ │
│ │ ┌────────────────────────────────┐ │ │
│ │ │ /data/input.shp(只读挂载) │ │ │
│ │ │ /tmp/output/(写入挂载) │ │ │
│ │ │ /tmp/scripts/(脚本包,只读) │ │ │
│ │ └────────────────────────────────┘ │ │
│ └─────────────────────────────────────────┘ │
│ │
│ 用户数据文件(原始) → ??不动 → 结果文件 │
│ /home/user/data.shp /tmp/output/ │
│ ↓ │
│ 拿走使用 │
└─────────────────────────────────────────────────────┘
↑ 只拉脚本包,不拉数据
suites.mercator.cn(套件市场)
```
## 什么被上传,什么不
| 类别 | 是否上传 | 说明 |
|------|---------|------|
| 用户数据文件(SHP/GeoJSON/TIFF... | ❌ **不上传** | 始终在用户本地 |
| 执行结果 | ❌ **不上传** | 留在用户的输出目录 |
| 套件脚本包 | ✅ 下载到本地 | 从市场拉取执行脚本 |
| 基础镜像 | ✅ 拉取一次 | gis-base 镜像缓存在本地 Docker |
| 任务参数(文件路径、数值) | ✅ 上传 | 仅元数据,不是文件内容 |
## 为什么这样设计
- **数据安全**:敏感 GIS 数据不离开组织网络
- **合规**:涉密、保密数据无需担心云端存储合规问题
- **性能**:大数据集(GB 级影像/点云)不通过网络传输
- **知识产权**:套件脚本包用完即销毁,用户拿到的是结果不是源码
## 对终端用户的影响
- **需要安装 Docker**(一次性)
- **需要安装 gis-actions**(一次性)
- **需要能访问 `suites.mercator.cn`**(网络条件)
- **提供本地文件路径**,不是上传文件
## 对套件开发者的影响
- **脚本通过参数接收文件路径**,不是文件内容
- **本地测试路径 ≠ 用户路径**,脚本要用参数化路径而非硬编码
- **输出必须写入 `output_path`**,由 gis-actions 决定输出目录位置
- **不要假设文件系统结构**,用户文件和容器文件系统是隔离的