Files
MAcode/tcs-iptv/DELIVERY.md
selfrelease 959e5ac18e docs: 项目交付说明(DELIVERY.md) + 三期任务文档归档
- 全相位回归测试通过(83用例/核心覆盖率85-100%)
- 交付说明: 概述/技术栈/功能/结构/启动/质量/待环境事项/安全
2026-06-14 18:02:22 +08:00

158 lines
6.6 KiB
Markdown
Raw Permalink 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.
# TCS-IPTV 内容可信锁定系统 — 项目交付说明
> 版本:V1.0(一期 MVP + 二期贯通 + 三期生态·代码可交付部分)
> 交付日期:2026年6月
> 运营主体:陕西 IPTV 运营公司(机构节点 MA.156.8531.6101
> 上游文档:`../0-req-IPTV.md`(需求)、`../1-prd-IPTV.md`PRD)、`../2-task-IPTV-MVP.md` / `../3-task-IPTV-二期.md` / `../4-task-IPTV-三期.md` / `../5-task-IPTV-四期.md`(任务)
---
## 一、项目概述
TCS-IPTV 在 **内容提供商(CP)、审核和监管部门、运营商** 三方现有系统之上,建立一层"**可信身份映射层**"
**MA 码(监管身份)+ 哈希码(技术指纹)** 双锚定,实现 IPTV 内容"**审过即锁定,锁定即通行,通行可追溯**"。
核心设计:
- **一剧一码 + 集级哈希**MA 码按"剧/备案"颁发(对齐网标证),各集独立哈希挂同一码下,支持集级寻址/验真/下架
- **不替代现有系统**:原片走审核方既有渠道做内容审核,TCS 只处理哈希上链与映射(最小侵入)
- **模式 B 自行发码**:与发码机构对接获取号段,按备案规则原子发码
---
## 二、技术栈
| 层 | 选型 |
|----|------|
| 后端/链交互/哈希SDK | Go 1.23 + Gin |
| 智能合约 | GoChainMaker 链原生,国密 SM2/SM3/SM4 |
| 联盟链 | 长安链 ChainMaker 2.xMVP/二期用 MemoryChain 等价实现,接口就绪) |
| 数据库/缓存 | PostgreSQL 16 / Redis 7.x |
| 监管大屏 | React 18 + Ant Design 5 |
| 控制台安全 | BFF + 会话令牌(密钥不下发浏览器) |
| 鉴权 | API Key + HMAC-SHA256 |
| CI/CD | GitLab CI |
---
## 三、已交付功能(按相位)
### 一期 MVP(核心闭环)
送审 → CSPS审核 → 发码签发 → 媒资库入库 → 发布 → CDN注入校验 → 应急下架
- 哈希SDK(文件SHA-256 / 分段Merkle / 感知哈希)
- MA码生成(六段式,号段原子分配,PostgreSQL 行锁防重号)
- 可信数据空间(合约规则:1:1强绑定不可解绑、防换壳重发、权限控制)
- 一剧一码 + 集级哈希 + 集级下架/恢复
- HTTP API + HMAC 三角色权限 + 监管大屏(角色工作台/全流程演示/监管片库)
### 二期 贯通(权益场景)
- **利益**:数据回传聚合(F09)+ 可信播放数据 + 自动分账(F18,CP60/平台34/服务费6
- **权利**:全链路追责取证(F19,定位偷换环节)+ 确权证据链(F20)+ 感知哈希侵权比对
- **效率**:追更增量赋码(F21)+ 跨省复用三重校验快速准入(F13)
- **合规**:授权链登记 + 发布/注入前授权核验(F22,地域/平台/期限拦截)
- **终端**:片段抽检与断流提示(F08)
- 前端可视化:监管片库"权益与治理"标签(分账/追责/确权/授权)
- CI/CDGitLab CI 流水线
### 三期 生态(代码可交付部分)
- 备案对接(A.1):网标号/备案号关联 MA 码
- 监管上报(A.2):监管数据日报
- 号段管理(B.1):多机构号段列表与容量
- 全国统计(C/F.2):按省/类目/状态聚合 + 全国监管大屏
- **监管大屏 BFF 安全化(B)**:密钥仅存后端,浏览器只用会话令牌
- 真实链合约源码(G):`contracts/tcs_registry/registry.go`ChainMaker Go
---
## 四、工程结构
```
tcs-iptv/
├── cmd/
│ ├── api-svc/ # 业务后端(:8080
│ ├── chain-svc/ # 链交互服务(:8081
│ ├── hash-api/ # 哈希SDK HTTP API:8082
│ └── console-bff/ # 监管控制台 BFF:8090,三期)
├── internal/
│ ├── hash/ # 哈希核心(SHA256/Merkle/感知哈希)覆盖率88%
│ ├── macode/ # MA码生成/解析/号段(含PG存储)覆盖率75%
│ ├── chain/ # 可信数据空间抽象 + MemoryChain
│ ├── service/ # 业务编排(覆盖率85%)
│ ├── playback/ # 播放聚合与分账(覆盖率100%)
│ ├── provenance/ # 全链路存证与追责
│ ├── bff/ # 控制台 BFF
│ ├── api/ # HTTP 路由与处理器
│ ├── model/ # 领域模型
│ ├── config/ httpx/ # 配置与通用HTTP/鉴权
├── contracts/tcs_registry/ # ChainMaker Go 合约(独立模块)
├── deploy/migrations/ # PostgreSQL 迁移(0001-0003
├── web-console/ # React 监管大屏
├── scripts/ # 冒烟/演示脚本
└── .gitlab-ci.yml
```
---
## 五、快速启动
> 依赖:本地 PostgreSQL(库 tcs_iptv+ RedisGo 1.23Node 20+
```bash
cd tcs-iptv
# 1. 数据库迁移
make migrate
# 2. 启动后端
make run-api # api-svc :8080
go run ./cmd/console-bff # BFF :8090(可选)
# 3. 启动前端
cd web-console && npm install && npm run dev # :5173/5174
# 4. 造演示数据(陕西IPTV场景)
bash scripts/seed_demo.sh
# 5. 全相位冒烟
bash scripts/e2e_smoke.sh
```
监管大屏:http://localhost:5174 (角色工作台 / 全流程演示 / 监管片库)
---
## 六、质量状况
| 指标 | 状况 |
|------|------|
| 测试用例 | 83 个,全部通过 |
| 核心覆盖率 | playback 100% / hash 88% / service 85% / macode 75% |
| go vet / build | 通过 |
| 前端构建 | 通过 |
| 端到端冒烟 | 一期→三期全相位通过 |
---
## 七、待外部环境/流程的事项(非代码可完成)
| 项 | 说明 | 就绪度 |
|----|------|--------|
| 真实 ChainMaker 测试网 | 需多节点国密链环境 | 合约源码 + chain.Client 接口已就绪,平滑替换 MemoryChain |
| 链上数据 PG 镜像接入 | 需真实链 | 镜像表已建(migrations |
| 性能压测 / 高可用灾备 | 需集群+压测工具+多节点 | 架构支持,待环境 |
| 等保三级正式测评 | 需第三方测评机构+正式环境 | 安全设计就绪(BFF/HMAC/国密/审计) |
| HSM 密钥托管 | 需硬件 | 接口预留 |
| 行业分账标准发布 | 政策/行业协作 | 分账引擎已实现 |
| 多省/平台实际接入 | 商务运营推进 | 多机构号段+跨省准入+授权核验能力就绪 |
| 四期 大小屏融合(OTT/APP) | 需端侧 SDK 集成环境 | 待启动 |
---
## 八、安全说明
- ✅ 已实现:HMAC-SHA256 鉴权、三角色权限矩阵、MA码1:1不可解绑、哈希本地计算不上链原片、关键操作存证、**监管大屏 BFF 化(密钥不下发浏览器)**
- ⚠️ 上生产前:真实链替换、等保三级测评、HSM 托管、生产凭证接 Vault/SSO
---
> 本系统 MVP + 二期 + 三期(代码部分)已完成并通过回归测试,可用于演示、试点联调与功能验收。