系统数据库表结构说明
1. 文档说明
本文档基于以下内容整理:
- 数据库结构定义:
backend/config/settings/table.sql
- 系统功能说明:
系统功能调整改造说明.md
- 项目现有模型与业务代码中的字段语义和状态枚举
本文档重点说明以下 6 张核心业务表:
ai_dataset
ai_dataset_sample
ai_temp_file
ai_annotate_task
ai_annotate_task_sample
ai_smart_terminal
说明规则如下:
- 字段名、类型、是否为空、主键等,以
table.sql 为准
- 中文说明优先采用 SQL 注释,其次结合现有 Django 模型
verbose_name
- 枚举型字段优先采用项目代码中的现有说明
- 若某字段在当前代码中尚无正式枚举实现,则明确标记为“当前代码暂无实现,以下为建议值”
2. 表结构总览
| 表名 |
中文名称 |
用途说明 |
ai_dataset |
数据集表 |
记录用户定义的数据集主信息 |
ai_dataset_sample |
数据集样本表 |
记录数据集中的样本文件及标注结果 |
ai_temp_file |
临时文件表 |
记录上传到 MinIO tempfile 桶中的临时文件 |
ai_annotate_task |
标注任务表 |
记录面向单一数据集的标注任务主信息 |
ai_annotate_task_sample |
标注任务样本表 |
记录标注任务中被分配的样本及标注审核状态 |
ai_smart_terminal |
智能终端数据表 |
记录AI边缘计算盒子的站点属性、配置与运维信息 |
3. ai_dataset 数据集表
3.1 表说明
- 表名:
ai_dataset
- 中文名称:数据集表
- 主键:
id
- 用途:记录数据集基本信息、数据集标签、原始文件路径、数据集存储路径、样本数量和状态等
- 现有代码对应模型:
AiDataset
- 当前代码旧表映射:
ai_algorithm_dataset
3.2 字段说明
| 字段名 |
类型 |
非空 |
主键 |
中文说明 |
枚举/代码说明 |
id |
varchar(40) |
是 |
是 |
主键ID |
UUID 字符串 |
dataset_code |
varchar(40) |
是 |
否 |
数据集编号 |
现有代码按算法下顺序生成,如 001、002 |
dataset_name |
varchar(200) |
是 |
否 |
数据集名称 |
无枚举 |
description |
varchar(2000) |
否 |
否 |
描述 |
无枚举 |
dataset_type |
varchar(2) |
是 |
否 |
类型 |
代码枚举:01 表格,02 图片,03 视频,04 音频,05 文本 |
features |
varchar(200) |
否 |
否 |
特征 |
自定义分类特征,逗号分割 |
original_file_path |
varchar(400) |
否 |
否 |
原始文件目录 |
原始上传包或原始文件所在目录 |
original_file_name |
varchar(8000) |
否 |
否 |
原始文件名称 |
现有代码支持多个文件名逗号拼接 |
dataset_path |
varchar(400) |
否 |
否 |
数据集存储路径 |
现阶段建议作为 MinIO 逻辑前缀或数据集逻辑目录 |
dataset_count |
int4 |
否 |
否 |
样本总数 |
记录该数据集下样本数量 |
dataset_labels |
varchar(2000) |
否 |
否 |
数据集标签 |
现有代码约定为 JSON 字符串,如 [{"label","name","color"}] |
status |
varchar(2) |
是 |
否 |
数据集状态 |
代码枚举:00 未生成图片,01 初始创建,02 标注完成,09 标记删除 |
creator |
varchar(20) |
是 |
否 |
创建人 |
一般保存用户名 |
create_time |
timestamptz |
是 |
否 |
创建时间 |
记录创建时间 |
custom1 |
varchar(200) |
否 |
否 |
备用1 |
现有代码常用于 images_mask 路径等扩展字段 |
custom3 |
varchar(200) |
否 |
否 |
备用3 |
现有视频数据集场景中用于视频目录等扩展值 |
custom2 |
varchar(2000) |
否 |
否 |
备用2 |
现有代码常用于视频清单等扩展值 |
3.3 枚举字段说明
dataset_type
| 值 |
含义 |
代码说明 |
01 |
表格 |
来自模型 AiDataset.dataset_type |
02 |
图片 |
来自模型 AiDataset.dataset_type |
03 |
视频 |
来自模型 AiDataset.dataset_type |
04 |
音频 |
来自模型 AiDataset.dataset_type |
05 |
文本 |
来自模型 AiDataset.dataset_type |
status
| 值 |
含义 |
代码说明 |
00 |
未生成图片 |
来自模型 AiDataset.status |
01 |
初始创建 |
来自模型 AiDataset.status |
02 |
标注完成 |
来自模型 AiDataset.status |
09 |
标记删除 |
来自模型 AiDataset.status |
4. ai_dataset_sample 数据集样本表
4.1 表说明
- 表名:
ai_dataset_sample
- 中文名称:数据集样本表
- 主键:
id
- 用途:记录数据集中的单个样本文件、文件路径、标注结果和状态
- 现有代码对应模型:
AiDatasetSample
- 现有代码旧字段:
annotation_content
- 新表结构改为:
rectangle、polygon
4.2 字段说明
| 字段名 |
类型 |
非空 |
主键 |
中文说明 |
枚举/代码说明 |
id |
varchar(40) |
是 |
是 |
主键ID |
UUID 字符串 |
dataset_id |
varchar(40) |
是 |
否 |
关联数据集ID |
对应 ai_dataset.id |
saved_path |
varchar(600) |
是 |
否 |
存储路径 |
现有代码语义为样本存储目录;改造后建议存 MinIO 逻辑路径 |
original_filename |
varchar(200) |
是 |
否 |
原始文件名称 |
现有代码支持图片、声音、视频等样本原始名称 |
saved_filename |
varchar(200) |
是 |
否 |
保存后文件名 |
现有代码常见格式如 00000001.jpg 或带数据集编号前缀 |
saved_filesize |
varchar(10) |
是 |
否 |
保存文件大小 |
现有代码旧模型字段说明存在差异,需按新表结构控制长度 |
rectangle |
varchar(2000) |
否 |
否 |
矩形框标注内容 |
新表结构字段,用于目标检测类标注 |
polygon |
text |
否 |
否 |
多边形标注内容 |
新表结构字段,用于分割、多边形标注 |
status |
varchar(2) |
是 |
否 |
样本状态 |
代码枚举:00 初始创建,01 已分配,02 已标注 |
create_time |
timestamptz |
是 |
否 |
创建时间 |
样本创建时间 |
custom1 |
varchar(200) |
否 |
否 |
备用1 |
现有代码常用于记录图像尺寸,如 1024x768 |
custom3 |
varchar(200) |
否 |
否 |
备用3 |
备用扩展字段 |
custom2 |
varchar(1000) |
否 |
否 |
备用2 |
备用扩展字段 |
4.3 枚举字段说明
status
| 值 |
含义 |
代码说明 |
00 |
初始创建 |
来自模型 AiDatasetSample.status |
01 |
已分配 |
来自模型 AiDatasetSample.status |
02 |
已标注 |
来自模型 AiDatasetSample.status |
4.4 标注字段说明
| 字段 |
中文含义 |
当前代码情况 |
rectangle |
矩形框标注内容 |
当前项目旧代码主要使用 annotation_content 存储目标检测标注,后续需映射到该字段 |
polygon |
多边形标注内容 |
当前项目旧代码主要通过 annotation_content 或外部 JSON 文件承载分割结果,后续需映射到该字段 |
5. ai_temp_file 临时文件表
5.1 表说明
- 表名:
ai_temp_file
- 中文名称:临时文件表
- 主键:
id
- 用途:记录上传到 MinIO
tempfile 桶中的 ZIP、视频、图片、音频等临时文件
- 当前代码实现状态:暂无正式模型、序列化器和业务接口
5.2 字段说明
| 字段名 |
类型 |
非空 |
主键 |
中文说明 |
枚举/代码说明 |
id |
varchar(40) |
是 |
是 |
主键ID |
UUID 字符串 |
original_path |
varchar(600) |
否 |
否 |
原始文件路径 |
原始上传路径或逻辑来源路径 |
original_name |
varchar(200) |
是 |
否 |
原始文件名称 |
上传文件原名称 |
original_type |
varchar(20) |
是 |
否 |
原始文件类型 |
当前代码暂无正式枚举实现,见下方建议值 |
bucket_name |
varchar(200) |
否 |
否 |
MinIO 桶名称 |
目标设计为 tempfile |
object_name |
varchar(200) |
否 |
否 |
对象名称 |
MinIO 对象名 |
object_size |
int8 |
否 |
否 |
对象大小 |
文件字节数 |
content_type |
varchar(100) |
否 |
否 |
对象类型 |
MIME Type,例如 image/jpeg、video/mp4 |
status |
varchar(2) |
是 |
否 |
状态 |
当前代码暂无正式枚举实现,见下方建议值 |
create_time |
timestamptz |
是 |
否 |
创建时间 |
上传记录创建时间 |
custom1 |
varchar(200) |
否 |
否 |
备用1 |
扩展字段 |
custom3 |
varchar(200) |
否 |
否 |
备用3 |
扩展字段 |
custom2 |
varchar(1000) |
否 |
否 |
备用2 |
扩展字段 |
5.3 枚举字段说明
original_type
说明:当前项目代码中暂无正式实现,以下为《系统功能调整改造说明.md》中的建议枚举。
| 值 |
含义 |
说明 |
01 |
图片 |
建议值 |
02 |
视频 |
建议值 |
03 |
音频 |
建议值 |
04 |
ZIP 压缩包 |
建议值 |
05 |
文本 |
建议值 |
99 |
其他 |
建议值 |
status
说明:当前项目代码中暂无正式实现,以下为《系统功能调整改造说明.md》中的建议枚举。
| 值 |
含义 |
说明 |
01 |
已上传 |
建议值 |
02 |
已导入数据集 |
建议值 |
03 |
已失效 |
建议值 |
09 |
已删除 |
建议值 |
6. ai_annotate_task 标注任务表
6.1 表说明
- 表名:
ai_annotate_task
- 中文名称:标注任务表
- 主键:
id
- 用途:记录面向单一数据集的标注任务主信息
- 现有代码对应模型:
AiDatasetTask
- 当前代码旧表映射:
ai_dataset_task
6.2 字段说明
| 字段名 |
类型 |
非空 |
主键 |
中文说明 |
枚举/代码说明 |
id |
varchar(40) |
是 |
是 |
主键ID |
UUID 字符串 |
algorithm_id |
varchar(40) |
是 |
否 |
算法ID |
关联算法或算法定义 |
task_name |
varchar(200) |
是 |
否 |
任务名称 |
标注任务名称 |
annotate_type |
varchar(2) |
是 |
否 |
标注类型 |
代码枚举见下文 |
description |
varchar(2000) |
否 |
否 |
对本次标注任务的描述 |
无枚举 |
dataset_id |
varchar(40) |
是 |
否 |
数据集ID |
单数据集标注任务关联字段 |
task_count |
int4 |
否 |
否 |
需要标注的样本记录总数 |
任务样本总量 |
task_range |
varchar(100) |
否 |
否 |
任务数据起止范围 |
样本范围描述 |
task_type |
varchar(2) |
否 |
否 |
自动标注类型 |
代码枚举见下文 |
region_type |
varchar(2) |
否 |
否 |
标签类型 |
代码枚举见下文 |
labels |
varchar(2000) |
否 |
否 |
标签定义 |
现有代码约定为 JSON 字符串 |
work_type |
varchar(2) |
是 |
否 |
工作方式 |
代码枚举见下文 |
task_team |
varchar(40) |
否 |
否 |
任务团队 |
团队标注时使用 |
task_leader |
varchar(40) |
否 |
否 |
任务负责人 |
团队负责人 |
status |
varchar(2) |
是 |
否 |
任务状态 |
代码枚举见下文 |
creator |
varchar(20) |
是 |
否 |
任务创建人 |
用户名 |
create_time |
timestamptz |
是 |
否 |
任务创建时间 |
创建时间 |
custom1 |
varchar(200) |
否 |
否 |
备用1 |
扩展字段 |
custom2 |
varchar(200) |
否 |
否 |
备用2 |
扩展字段 |
custom3 |
varchar(200) |
否 |
否 |
备用3 |
扩展字段 |
6.3 枚举字段说明
annotate_type
| 值 |
含义 |
代码说明 |
01 |
图像分类 |
来自模型 AiDatasetTask.annotate_type |
02 |
物体检测 |
来自模型 AiDatasetTask.annotate_type |
03 |
语义分割 |
来自模型 AiDatasetTask.annotate_type |
05 |
声音分类 |
来自模型 AiDatasetTask.annotate_type |
10 |
文本分类 |
来自模型 AiDatasetTask.annotate_type |
补充说明:
- 在当前代码
dataset_task.py 中,当 task_type=1 且 region_type=1 时,会自动将 annotate_type 置为 03
- 当
task_type=1 且 region_type=0 时,会自动将 annotate_type 置为 01
work_type
| 值 |
含义 |
代码说明 |
01 |
单人标注 |
缺省为任务创建者 |
02 |
团队标注 |
需要 task_team、task_leader 等信息 |
task_type
| 值 |
含义 |
代码说明 |
0 |
手动标注 |
来自模型 AiDatasetTask.task_type |
1 |
自动标注 |
来自模型 AiDatasetTask.task_type |
region_type
| 值 |
含义 |
代码说明 |
0 |
矩形 |
来自模型 AiDatasetTask.region_type |
1 |
多边形 |
来自模型 AiDatasetTask.region_type |
status
| 值 |
含义 |
代码说明 |
01 |
初始创建 |
来自模型 AiDatasetTask.status |
02 |
任务分配 |
来自模型 AiDatasetTask.status |
03 |
任务完成 |
来自模型 AiDatasetTask.status |
09 |
标记删除 |
来自模型 AiDatasetTask.status |
7. ai_annotate_task_sample 标注任务样本表
7.1 表说明
- 表名:
ai_annotate_task_sample
- 中文名称:标注任务样本表
- 主键:
id
- 用途:记录标注任务中分配给执行人的样本、标注内容和审核流转状态
- 现有代码对应模型:
AiDatasetTaskSample
- 当前代码旧表映射:
ai_dataset_task_sample
7.2 字段说明
| 字段名 |
类型 |
非空 |
主键 |
中文说明 |
枚举/代码说明 |
id |
varchar(40) |
是 |
是 |
主键ID |
UUID 字符串 |
task_id |
varchar(40) |
是 |
否 |
关联任务ID |
对应 ai_annotate_task.id |
executor |
varchar(100) |
是 |
否 |
任务执行人 |
执行标注的账号 |
sample_id |
varchar(40) |
是 |
否 |
样本ID |
对应 ai_dataset_sample.id |
sample_path |
varchar(600) |
是 |
否 |
样本存储路径 |
分配样本时带入 |
sample_name |
varchar(200) |
是 |
否 |
样本名称 |
分配样本时带入 |
hard |
varchar(2) |
是 |
否 |
是否难例 |
代码枚举见下文 |
annotation_content |
text |
否 |
否 |
标注内容 |
当前代码主要以 JSON 形式存储 |
class_label |
varchar(200) |
否 |
否 |
分类标签 |
分类场景使用 |
annotation_time |
timestamptz |
否 |
否 |
标注时间 |
提交标注时间 |
status |
varchar(2) |
是 |
否 |
样本状态 |
代码枚举见下文 |
auditor |
varchar(20) |
否 |
否 |
审核人 |
审核人账号 |
feedback |
varchar(400) |
否 |
否 |
驳回意见 |
审核驳回意见 |
custom1 |
varchar(200) |
否 |
否 |
备用1 |
扩展字段 |
custom2 |
varchar(200) |
否 |
否 |
备用2 |
扩展字段 |
custom3 |
varchar(200) |
否 |
否 |
备用3 |
扩展字段 |
7.3 枚举字段说明
hard
| 值 |
含义 |
代码说明 |
0 |
否 |
来自模型 AiDatasetTaskSample.hard |
1 |
是 |
来自模型 AiDatasetTaskSample.hard |
status
| 值 |
含义 |
代码说明 |
01 |
初始分配 |
来自模型 AiDatasetTaskSample.status |
02 |
标注完成 |
来自模型 AiDatasetTaskSample.status |
03 |
提交审核 |
来自模型 AiDatasetTaskSample.status |
04 |
审核已阅 |
来自模型 AiDatasetTaskSample.status |
05 |
审核驳回 |
来自模型 AiDatasetTaskSample.status |
06 |
审核后入库 |
来自模型 AiDatasetTaskSample.status,表示加入主标签中 |
7.4 标注内容说明
| 字段 |
中文含义 |
代码说明 |
annotation_content |
标注内容 |
当前代码中一般为 JSON 字符串,目标检测保存框信息,分割保存多边形信息 |
class_label |
分类标签 |
图像分类、声音分类、文本分类等场景使用 |
8. ai_smart_terminal 智能终端数据表
8.1 表说明
- 表名:
ai_smart_terminal
- 中文名称:智能终端数据表(云端孪生镜像)
- 主键:
id
- 用途:作为边缘端实体设备在云端的孪生镜像,记录设备基本信息、位置坐标、监测配置,以及云端模型发布版本和边缘端同步状态。模型训练完成后发布到该云端孪生设备;边缘端实体设备定期轮询检测云端孪生设备上的模型版本,当检测到新版本时自动下载更新,实现边缘端算法模型的动态更新。
- 来源:Oracle
SD_AIBOX_B_H(AI边缘计算盒子基本属性表)
- 当前代码实现状态:暂无正式模型、序列化器和业务接口
8.2 业务场景
┌─────────────────────────────────────────────────────────────┐
│ 云端孪生镜像 │
│ ai_smart_terminal │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ 基本信息:终端编码(stcd)、名称(stnm)、分类(sttp) │ │
│ │ 位置信息:经纬度、高程、电站/基地/流域归属 │ │
│ │ 设备配置:AI盒子配置、IP、SIM、联系人 │ │
│ │ 监测配置:监测指标、采集频次、监测方式 │ │
│ │ │ │
│ │ 模型发布 ─────────────────────────────┐ │ │
│ │ model_id / model_version │ │ │
│ │ model_path / model_publish_time │ │ │
│ │ ▼ │ │
│ │ 边缘同步状态 ◄──── 边缘端定期轮询(sync_check_interval) │ │
│ │ edge_model_version / edge_update_time │ │
│ │ last_heartbeat_time / online_status │ │ │
│ └────────────────────────────────────────│──────────────┘ │
│ │ │
└───────────────────────────────────────────│──────────────────┘
│
┌───────────────────────▼──────────────────┐
│ 边缘端实体设备 │
│ 定期检测 model_version ≠ edge_model_ver │
│ → 下载 model_path 指向的模型文件 │
│ → 更新本地模型 → 上报 edge_model_version │
└──────────────────────────────────────────┘
8.3 字段说明
| 字段名 |
类型 |
非空 |
主键 |
中文说明 |
枚举/代码说明 |
id |
varchar(40) |
是 |
是 |
主键ID |
UUID 字符串 |
| 基本信息 |
|
|
|
|
|
stcd |
varchar(40) |
是 |
否 |
终端编码 |
与边缘实体设备一一对应的唯一编码 |
stnm |
varchar(255) |
是 |
否 |
终端名称 |
终端名称 |
sttp |
varchar(2) |
是 |
否 |
终端分类 |
01 鱼类识别AI盒子,02 鸟类识别AI盒子,03 野生动物识别AI盒子,04 鱼类分拣装置 |
order_index |
int4 |
否 |
否 |
排序 |
列表展示排序号 |
| 位置信息 |
|
|
|
|
|
lgtd |
numeric(10,6) |
否 |
否 |
经度(单位:°) |
终端经度坐标 |
lttd |
numeric(10,6) |
否 |
否 |
纬度(单位:°) |
终端纬度坐标 |
elev |
numeric(10,6) |
否 |
否 |
高程(单位:m) |
终端海拔高程 |
rstcd |
varchar(64) |
否 |
否 |
所属电站编码 |
关联电站编码 |
base_id |
varchar(64) |
否 |
否 |
所属水电基地编码 |
关联水电基地编码 |
hbrvcd |
varchar(64) |
否 |
否 |
所属水电基地流域编码 |
关联水电基地流域编码 |
rvcd |
varchar(64) |
否 |
否 |
所属流域编码 |
关联流域编码 |
| 设备配置 |
|
|
|
|
|
aipz |
varchar(1000) |
否 |
否 |
AI盒子配置 |
AI边缘计算盒子硬件/软件配置信息 |
ipaddr |
varchar(512) |
否 |
否 |
IP地址 |
设备IP地址 |
siminfo |
varchar(512) |
否 |
否 |
SIM卡信息 |
SIM卡相关信息 |
lxr |
varchar(512) |
否 |
否 |
联系人及联系电话 |
站点联系人信息 |
purpose |
varchar(512) |
否 |
否 |
用途 |
站点用途说明 |
| 监测配置 |
|
|
|
|
|
stindx |
varchar(1000) |
否 |
否 |
监测指标 |
该终端监测的指标列表 |
dtfrqcy |
int4 |
否 |
否 |
数据采集频次(单位:min) |
数据采集间隔(分钟) |
mway |
int2 |
否 |
否 |
监测方式 |
0 人工监测,1 自动监测,2 混合监测 |
| 启用与接入状态 |
|
|
|
|
|
usfl |
int2 |
否 |
否 |
是否启用 |
0 否,1 是 |
dtin |
int2 |
否 |
否 |
数据是否接入 |
0 未接入,1 已接入 |
dtin_tm |
timestamptz |
否 |
否 |
数据接入时间 |
数据首次接入系统的时间 |
| 云端孪生 — 模型发布 |
|
|
|
|
|
model_id |
varchar(40) |
否 |
否 |
已部署模型ID |
关联训练产出的模型记录 |
model_name |
varchar(200) |
否 |
否 |
已部署模型名称 |
关联训练产出的模型记录 |
model_version |
varchar(64) |
否 |
否 |
已部署模型版本号 |
云端孪生设备上当前发布的模型版本,如 v1.2.3 |
model_path |
varchar(600) |
否 |
否 |
模型文件存储路径 |
MinIO 中模型文件的对象路径,边缘端从此路径下载 |
model_publish_time |
timestamptz |
否 |
否 |
模型发布时间 |
模型发布到云端孪生设备的时间 |
model_publish_user |
varchar(36) |
否 |
否 |
模型发布人 |
执行模型发布操作的用户 |
| 边缘端 — 同步状态 |
|
|
|
|
|
edge_model_version |
varchar(64) |
否 |
否 |
边缘端模型版本 |
边缘实体设备当前实际运行的模型版本 |
edge_update_time |
timestamptz |
否 |
否 |
边缘端更新时间 |
边缘设备最后一次完成模型更新的时间 |
last_heartbeat_time |
timestamptz |
否 |
否 |
最后心跳时间 |
边缘端最后一次向云端上报心跳的时间 |
online_status |
int2 |
否 |
否 |
在线状态 |
0 离线,1 在线 |
sync_check_interval |
int4 |
否 |
否 |
同步检测间隔(min) |
边缘端轮询检测云端孪生设备模型版本的间隔(分钟) |
| 运维记录 |
|
|
|
|
|
remark |
varchar(512) |
否 |
否 |
备注 |
备注信息 |
record_user |
varchar(36) |
否 |
否 |
创建人 |
创建记录的用户 |
record_time |
timestamptz |
是 |
否 |
创建时间 |
记录创建时间,默认 now() |
is_deleted |
int2 |
是 |
否 |
是否已删除 |
0 未删除,1 已删除,默认 0 |
8.4 核心业务逻辑
模型发布流程(云端操作):
- 模型训练完成后,管理员将评估合格的训练模型模型文件上传至 MinIO,记录
model_path;
- 管理员发布训练后新的算法模型版本,并更新记录ai_algorithm_models 中
- 管理员发布更新云端孪生设备的
model_id、model_version、model_publish_time、model_publish_user
边缘同步流程(边缘端自动):
- 边缘设备按
sync_check_interval 间隔轮询查询云端孪生设备
- 比较
model_version(云端)与 edge_model_version(边缘端)
- 若不一致,从
model_path 下载新模型文件
- 更新本地模型,上报
edge_model_version、edge_update_time
心跳上报(边缘端自动):
- 边缘设备定期更新
last_heartbeat_time 和 online_status
- 云端可通过心跳时间判断设备是否在线
8.5 枚举字段说明
sttp — 终端分类
| 值 |
含义 |
说明 |
01 |
鱼类识别AI盒子 |
用于鱼类识别监测的边缘AI计算设备 |
02 |
鸟类识别AI盒子 |
用于鸟类识别监测的边缘AI计算设备 |
03 |
野生动物识别AI盒子 |
用于野生动物识别监测的边缘AI计算设备 |
04 |
鱼类分拣装置 |
用于鱼类分拣的边缘智能设备 |
usfl — 是否启用
dtin — 数据是否接入
| 值 |
含义 |
说明 |
0 |
未接入 |
数据未接入系统 |
1 |
已接入 |
数据已接入系统 |
mway — 监测方式
| 值 |
含义 |
说明 |
0 |
人工监测 |
人工巡检方式 |
1 |
自动监测 |
AI自动识别监测 |
2 |
混合监测 |
人工+自动混合模式 |
online_status — 在线状态
| 值 |
含义 |
说明 |
0 |
离线 |
边缘设备未在线或心跳超时 |
1 |
在线 |
边缘设备在线,心跳正常 |
is_deleted — 是否已删除
| 值 |
含义 |
说明 |
0 |
未删除 |
默认值 |
1 |
已删除 |
逻辑删除标记 |
9. 枚举字段汇总
9.1 数据集类
| 表名 |
字段 |
枚举说明 |
ai_dataset |
dataset_type |
01 表格,02 图片,03 视频,04 音频,05 文本 |
ai_dataset |
status |
00 未生成图片,01 初始创建,02 标注完成,09 标记删除 |
ai_dataset_sample |
status |
00 初始创建,01 已分配,02 已标注 |
9.2 临时文件类
| 表名 |
字段 |
枚举说明 |
ai_temp_file |
original_type |
当前代码暂无实现,建议值:图片/视频/音频/ZIP/文本/其他 |
ai_temp_file |
status |
当前代码暂无实现,建议值:已上传/已导入/已失效/已删除 |
9.3 标注任务类
| 表名 |
字段 |
枚举说明 |
ai_annotate_task |
annotate_type |
01 图像分类,02 物体检测,03 语义分割,05 声音分类,10 文本分类 |
ai_annotate_task |
work_type |
01 单人标注,02 团队标注 |
ai_annotate_task |
task_type |
0 手动标注,1 自动标注 |
ai_annotate_task |
region_type |
0 矩形,1 多边形 |
ai_annotate_task |
status |
01 初始创建,02 任务分配,03 任务完成,09 标记删除 |
ai_annotate_task_sample |
hard |
0 否,1 是 |
ai_annotate_task_sample |
status |
01 初始分配,02 标注完成,03 提交审核,04 审核已阅,05 审核驳回,06 审核后入库 |
9.4 智能终端类
| 表名 |
字段 |
枚举说明 |
ai_smart_terminal |
sttp |
01 鱼类识别AI盒子,02 鸟类识别AI盒子,03 野生动物识别AI盒子,04 鱼类分拣装置 |
ai_smart_terminal |
usfl |
0 否,1 是 |
ai_smart_terminal |
dtin |
0 未接入,1 已接入 |
ai_smart_terminal |
mway |
0 人工监测,1 自动监测,2 混合监测 |
ai_smart_terminal |
online_status |
0 离线,1 在线 |
ai_smart_terminal |
is_deleted |
0 未删除,1 已删除 |
10. 设计与实现说明
10.1 当前代码与新表的映射差异
| 新表名 |
当前代码模型 |
当前旧表名 |
ai_dataset |
AiDataset |
ai_algorithm_dataset |
ai_dataset_sample |
AiDatasetSample |
ai_dataset_sample |
ai_temp_file |
暂无 |
暂无 |
ai_annotate_task |
AiDatasetTask |
ai_dataset_task |
ai_annotate_task_sample |
AiDatasetTaskSample |
ai_dataset_task_sample |
ai_smart_terminal |
暂无 |
暂无 |
10.2 当前最主要的结构改造点
ai_dataset:需要去掉旧模型中与算法强绑定的旧表映射差异
ai_dataset_sample:需要从旧字段 annotation_content 向 rectangle/polygon 过渡
ai_temp_file:需要补齐模型、接口、MinIO 业务落库逻辑
ai_annotate_task:需要将旧标注任务模型切换到新表名
ai_annotate_task_sample:需要将旧标注任务样本模型切换到新表名
ai_smart_terminal:需要补齐 Django 模型、序列化器、CRUD 接口及前端管理页面;实现模型发布到云端孪生设备、边缘端心跳上报与版本同步接口
10.3 与 MinIO 的关系
| 表名 |
建议 MinIO 桶 |
说明 |
ai_temp_file |
tempfile |
临时上传文件统一存放 |
ai_dataset_sample |
dataset |
正式数据集样本文件统一存放 |
11. 结论
本次数据库结构说明对应的是“数据集 + 临时文件 + 标注任务 + 智能终端”主业务链路。
其中:
ai_dataset 负责数据集主记录
ai_dataset_sample 负责正式样本记录
ai_temp_file 负责临时上传文件记录
ai_annotate_task 负责单数据集标注任务
ai_annotate_task_sample 负责标注任务样本流转
ai_smart_terminal 负责边缘设备云端孪生镜像、模型发布与边缘同步状态记录
建议后续开发严格以本说明和 table.sql 为基准,统一模型定义、接口设计与枚举含义,避免再次出现“SQL 已更新、代码仍沿用旧表旧字段”的偏差。