a329d4906b
- 方案文档: AVCC 体系建设、IPTV TCS 需求(0-req)/PRD(1-prd)/任务(2-task)/二三四期任务 - tcs-iptv: Go 后端(哈希SDK/MA码生成/可信数据空间mock/业务编排/HTTP API+HMAC鉴权) - web-console: React+AntD 监管大屏(角色工作台/全流程演示/监管片库) - 一剧一码+集级哈希, 集级下架/恢复, 全栈测试通过
268 lines
18 KiB
Markdown
268 lines
18 KiB
Markdown
# AIGC-Hub 核心业务流程泳道图 — 绘制描述
|
||
|
||
> 用途:面向产品经理/研发负责人,逐步骤对齐"赋码全链路"每个角色的职责与交互
|
||
> 建议工具:draw.io / ProcessOn / Mermaid / Lucidchart
|
||
> 画布方向:横版,泳道从上到下(角色维度),流程从左到右(时间维度)
|
||
> 建议尺寸:A1 横版 或 双屏16:9
|
||
|
||
---
|
||
|
||
## 一、整体构图逻辑
|
||
|
||
**六泳道 × 三阶段 × 关键判断节点**:
|
||
|
||
- **纵向六泳道**:创作者/AI工具 · 创作者工作台(前端) · 赋码引擎(Go) · 审核引擎(Python+Kotlin) · 版权链引擎(Go) · MA网关/ZIIOT
|
||
- **横向三阶段**:申请阶段 → 审核阶段 → 签发阶段
|
||
- **关键判断**:菱形决策节点(预检通过?审核通过?人工终审?)
|
||
|
||
---
|
||
|
||
## 二、泳道详细绘制
|
||
|
||
```
|
||
时间轴 →→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→
|
||
│← ─ 申请阶段 ─ →│← ─ ─ ─ ─ 审核阶段 ─ ─ ─ ─ →│← ─ 签发阶段 ─ →│
|
||
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
泳道1:创作者 / AI工具
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐
|
||
│AI工具 │──→│C2PA SDK│──→│导出作品 │ │收到AVCC│
|
||
│生成内容 │ │自动嵌入│ │(含MA │ │证书 │
|
||
│ │ │MA片段 │ │ 片段) │ │通知 │
|
||
└────────┘ └────────┘ └───┬────┘ └────────┘
|
||
│ ↑
|
||
▼ │
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
泳道2:创作者工作台 (React + Kotlin BFF)
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐
|
||
│上传作品 │──→│填写版权│──→│提交赋码│ ┌─────────┐ │展示证书│
|
||
│视频+材料│ │材料信息│ │申请 │ ┌───→│查看审核 │ │二维码 │
|
||
│(分片上传)│ │(表单) │ │(REST) │ │ │进度/报告│ │PDF下载 │
|
||
└────────┘ └────────┘ └───┬────┘ │ └─────────┘ └────────┘
|
||
│ │ (WebSocket推送/轮询) ↑
|
||
▼ │ │
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
泳道3:赋码引擎 (Go · code-svc)
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
┌────────┐ ┌────────────────────────────┐
|
||
│接收申请 │──→│ 四步预检 │
|
||
│创建记录 │ │ │
|
||
│(PG写入) │ │ ① 重复检测(视频指纹) │
|
||
└────────┘ │ ② 黑名单查询(Redis缓存) │
|
||
│ ③ 版权材料完整性校验 │
|
||
│ ④ MA标识片段合规性检测 │
|
||
└──────────────┬───────────────┘
|
||
│
|
||
◇ 预检通过?
|
||
╱ ╲
|
||
是 ╱ ╲ 否
|
||
╱ ╲
|
||
┌─────▼──┐ ┌────▼───┐
|
||
│发布Kafka│ │返回拒绝 │
|
||
│topic. │ │(原因明细)│
|
||
│avcc. │ └────────┘
|
||
│apply. │
|
||
│created │ ┌────────┐ ┌────────┐
|
||
└─────────┘ │消费链上 │─→│生成AVCC│
|
||
│确认事件 │ │六段式 │
|
||
│(Kafka) │ │编码 │
|
||
└────────┘ └───┬────┘
|
||
│
|
||
┌────▼────┐
|
||
│分配码资源│
|
||
│(Redis锁)│
|
||
│写入PG │
|
||
└────┬────┘
|
||
│
|
||
▼
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
泳道4:审核引擎 (Python AI管道 + Kotlin编排)
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
┌────────┐ ┌─────────────────────────────────────────┐
|
||
│消费Kafka│──→│ AI 多模态审核 │
|
||
│创建审核 │ │ │
|
||
│任务 │ │ ┌─────┐ ┌─────┐ ┌─────┐ ┌──────┐ │
|
||
└────────┘ │ │画面 │ │台词 │ │声音 │ │AIGC │ │
|
||
│ │审核 │ │审核 │ │审核 │ │真实性│ │
|
||
│ │(GPU)│ │(GPU)│ │(GPU)│ │(GPU) │ │
|
||
│ └──┬──┘ └──┬──┘ └──┬──┘ └──┬───┘ │
|
||
│ └───────┼───────┼───────┘ │
|
||
│ ▼ │
|
||
│ ┌─────────────────────────┐ │
|
||
│ │ 多模态融合决策层 │ │
|
||
│ │ (加权投票+LLM报告生成) │ │
|
||
│ │ overall_score = 78.5 │ │
|
||
│ │ suggested_level = G │ │
|
||
│ └────────────┬────────────┘ │
|
||
└───────────────┼────────────────────────┘
|
||
│
|
||
◇ 分级决策?
|
||
╱ │ ╲
|
||
╱ │ ╲
|
||
P(高分)╱ G(中间) O(低分╲合规)
|
||
╱ │ ╲
|
||
┌─────▼──┐ ┌────▼───┐ ┌───▼─────┐
|
||
│转人工 │ │平台复核│ │自动通过 │
|
||
│终审队列 │ │(可选) │ │秒级赋码 │
|
||
│(广电总局)│ └────┬───┘ └───┬─────┘
|
||
└────┬────┘ │ │
|
||
│ │ │
|
||
▼ ▼ ▼
|
||
┌──────────────────────────────┐
|
||
│ 发布 Kafka: │
|
||
│ topic.review.task.finished │
|
||
│ {decision, final_level, hash} │
|
||
└──────────────────────────────┘
|
||
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
泳道5:版权链引擎 (Go · chain-svc + ChainMaker)
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
┌────────┐ ┌────────────┐
|
||
│消费审核│──→│调用智能合约 │
|
||
│完成事件│ │Register- │
|
||
│(Kafka) │ │Copyright │
|
||
└────────┘ └─────┬──────┘
|
||
│
|
||
▼
|
||
┌──────────┐
|
||
│ChainMaker│
|
||
│共识确认 │
|
||
│(TBFT) │
|
||
└─────┬────┘
|
||
│
|
||
▼
|
||
┌──────────┐
|
||
│区块监听器│
|
||
│确认tx有效│
|
||
└─────┬────┘
|
||
│
|
||
▼
|
||
┌──────────┐
|
||
│发布Kafka: │
|
||
│topic.chain│
|
||
│.tx. │
|
||
│confirmed │
|
||
└──────────┘
|
||
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
泳道6:MA网关 / ZIIOT 根节点
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
┌────────┐
|
||
│MA网关 │
|
||
│注册新 │
|
||
│AVCC到 │
|
||
│缓存 │
|
||
└───┬────┘
|
||
│
|
||
▼
|
||
┌────────┐
|
||
│同步ZIIOT│
|
||
│根解析 │
|
||
│索引 │
|
||
└────────┘
|
||
│
|
||
▼
|
||
全球可解析 ✓
|
||
```
|
||
|
||
---
|
||
|
||
## 三、关键时间标注
|
||
|
||
```
|
||
在泳道图顶部,用时间标尺标注各阶段耗时:
|
||
|
||
│← ─ ─ ─ 申请 ─ ─ ─ →│← ─ ─ ─ ─ 审核 ─ ─ ─ ─ →│← ─ 签发 ─ →│
|
||
|
||
O类(其他): │ 秒级提交 │ 秒级AI自动通过 │ 秒级签发 │ = 总计<10s
|
||
G类(普通): │ 分钟级上传 │ 1-3工作日(AI+平台复核) │ 分钟级 │ = 总计1-3天
|
||
P类(重点): │ 分钟级上传 │ 5-30工作日(AI+人工终审)│ 小时级 │ = 总计5-30天
|
||
```
|
||
|
||
---
|
||
|
||
## 四、异常处理分支(红色虚线标注)
|
||
|
||
```
|
||
在主流程旁边用红色虚线标注异常路径:
|
||
|
||
异常1:预检失败 → 返回拒绝原因 → 创作者修改后重新提交
|
||
异常2:AI审核发现严重违规 → 直接拒绝 → 记入黑名单系统
|
||
异常3:版权链上链失败 → DLQ重试3次 → 仍失败则人工介入
|
||
异常4:人工终审驳回 → 生成驳回报告 → 创作者可申诉
|
||
|
||
Saga补偿模式:
|
||
上链失败 → topic.chain.tx.failed → 赋码引擎回滚status → 通知创作者
|
||
```
|
||
|
||
---
|
||
|
||
## 五、数据流标注(蓝色标签)
|
||
|
||
```
|
||
在每个步骤旁边标注数据写入/读取:
|
||
|
||
步骤 写入 读取
|
||
──────────────────────────────────────────────────
|
||
接收申请 PG: avcc_records —
|
||
MinIO: 视频文件
|
||
预检 — Redis: blacklist
|
||
Milvus: 指纹比对
|
||
创建审核任务 PG: review_tasks —
|
||
Kafka: event
|
||
AI推理 — Triton: GPU模型
|
||
融合决策 PG: review_reports PG: review_tasks
|
||
上链存证 PG: chain_records —
|
||
ChainMaker: 链上
|
||
生成AVCC PG: avcc_records Redis: 码池
|
||
Redis: 缓存AVCC
|
||
注册MA — ZIIOT API
|
||
```
|
||
|
||
---
|
||
|
||
## 六、状态机快照(右侧配图)
|
||
|
||
```
|
||
在泳道图右侧放置审核状态机简图:
|
||
|
||
[pending] → [pre_checking] → [ai_reviewing] → [approved] → AVCC签发
|
||
│ │ ↑
|
||
↓ ↓ │
|
||
[rejected] [human_reviewing]────┘
|
||
│
|
||
↓
|
||
[rejected]
|
||
|
||
流通状态机:
|
||
[active] → [suspended] → [active](恢复)
|
||
│ │
|
||
↓ ↓
|
||
[expired] [revoked] → 永久失效
|
||
```
|
||
|
||
---
|
||
|
||
## 七、视觉设计建议
|
||
|
||
| 元素 | 建议 |
|
||
|------|------|
|
||
| 泳道底色 | 创作者-浅紫 · 工作台-浅蓝 · 赋码-浅绿 · 审核-浅橙 · 链-浅灰 · MA-浅金 |
|
||
| 步骤形状 | 操作=圆角矩形 · 判断=菱形 · 事件=平行四边形 · 数据=圆柱体 |
|
||
| 连线 | 正常流=黑实线箭头 · 异步(Kafka)=蓝虚线闪电 · 异常=红虚线 |
|
||
| 技术标注 | 每个步骤下方小字标注技术实现(Go/Kotlin/Python/Kafka/PG等) |
|
||
| 时间标注 | 每段流程上方标注耗时范围 |
|
||
|
||
---
|
||
|
||
> 本图回答:产品和研发如何逐步骤对齐赋码全链路的实现细节。
|
||
> 每个泳道 = 一个团队的职责边界,每条连线 = 一个接口契约。
|