Files
my-vault/airport-wiki/concepts/aodb/AODB 实施 Backlog.md
T

258 lines
5.7 KiB
Markdown
Raw Normal View History

# AODB 实施 Backlog
## 1. 文档定位
本文档将 AODB 高层设计拆解为可执行实施 backlog,用于排期、分工、估算和测试准备。
- 上位输入:
- `AODB 核心需求提炼.md`
- `开源机场运营数据库(AODB)高层设计文档.md`
- `开源技术栈选型决策.md`
- 输出对象:
- Epic / Story / Task
- 验收条件
- 测试关注点
## 2. 里程碑视图
| 里程碑 | 目标 | 完成标准 |
| --- | --- | --- |
| M1 | 建立核心文档和 ADR 基线 | 需求、架构、技术栈、ADR 对齐 |
| M2 | 完成核心数据接入和当前态闭环 | SSIM / AIDX / AFTN 接入后能形成 Published Fact |
| M3 | 完成资源分配、冲突和告警闭环 | Stand / Gate / Belt / Counter 的分配和冲突可追溯 |
| M4 | 完成查询、订阅、审计和人工复核闭环 | 外部读取、事件回放、人工裁决可运行 |
| M5 | 完成容灾、压测和上线门禁 | SLO、演练、对账、补偿全部达标 |
## 3. Epic 清单
### Epic 1:领域模型与数据契约落地
目标:
- 将高层设计中的聚合、字段、事件和权威矩阵落到实现契约。
Stories
1. 建立 `FlightOperation` 数据模型
2. 建立 `Turnaround` 数据模型
3. 建立 `MilestoneObservation``DecisionLog` 数据模型
4. 建立 `Resource` / `ResourceAllocation` 数据模型
5. 建立 `AlertCase` / `DataQualityFlag` 数据模型
验收条件:
- 所有核心对象具备主键、唯一键、幂等键和状态字段定义
- Published Fact 可追溯到 Observation 和 Decision
测试关注点:
- 主键稳定性
- 幂等键生成
- 配对修正一致性
### Epic 2:接入与标准化
目标:
- 接入 SSIM、AIDX、AFTN 并形成统一内部事件模型。
Stories
1. 实现 SSIM 导入和批次标识
2. 实现 AIDX 标准化映射
3. 实现 AFTN / Type B 报文解析
4. 实现标准化失败进入 DLQ
5. 实现人工复核任务创建
验收条件:
- 三类输入都能进入标准化事件模型
- 解析失败可复核、可重放、可审计
测试关注点:
- 重复导入
- 报文乱序
- 格式错误
### Epic 3Published Fact 与字段级权威治理
目标:
- 实现 Observation -> Decision -> Published Fact 的治理链路。
Stories
1. 实现字段级权威矩阵加载与版本化
2. 实现候选事实评估
3. 实现自动裁决
4. 实现人工裁决写入
5. 实现 Published Fact 更新和审计
验收条件:
- ALDT、AIBT、TOBT、Stand Assignment 等关键字段完成治理闭环
- 当前值可返回来源、可信度和裁决摘要
测试关注点:
- 多源冲突
- 更正报文
- 超窗乱序
### Epic 4:资源分配与冲突治理
目标:
- 让资源分配具备最小可运营能力,而不是只有时间窗逻辑。
Stories
1. 建立 Resource 主数据和能力约束
2. 实现 ResourceAllocation 软锁 / 硬锁
3. 实现时间冲突检测
4. 实现适配 / 状态 / 策略冲突检测
5. 实现人工覆盖与回滚
验收条件:
- 四类资源都具备分配、冲突、覆盖和审计能力
- 冲突能明确归类并生成告警
测试关注点:
- 延误引发冲突
- 换机型
- 资源停用
### Epic 5:告警、Case 和人工复核
目标:
- 把“人工介入”从口头方案变成有状态可追溯流程。
Stories
1. 建立 AlertCase 状态机
2. 建立 ReviewTask 状态机
3. 实现 `ManualDecisionRecorded`
4. 实现 `ReviewTaskOpened / Closed`
5. 实现告警确认、关闭、抑制
验收条件:
- 告警和复核都有结构化状态流转
- 人工动作全部事件化和审计化
测试关注点:
- 告警重复触发
- 复核结果重放
- 覆盖与回滚
### Epic 6:事件骨干与订阅
目标:
- 构建可重放、可补偿、可隔离的标准化事件分发能力。
Stories
1. 设计 Topic 与分区策略
2. 实现统一事件信封
3. 实现 Outbox + CDC 发布
4. 实现事件订阅接口
5. 实现断线重连与游标回放
验收条件:
- 对外事件以 Kafka 标准化事件为唯一源头
- 订阅具备至少一次投递和补偿能力
测试关注点:
- 重复投递
- CDC 断点恢复
- 消费者去重
### Epic 7:查询接口与权限治理
目标:
- 提供只读查询,不污染事实事件路径。
Stories
1. 实现 FlightOperation 查询
2. 实现 MilestoneObservation 历史查询
3. 实现 ResourceAllocation 生效集查询
4. 实现 AlertCase 查询
5. 接入 OIDC / OAuth2 / RBAC
验收条件:
- 查询接口支持过滤、分页、更新时间和数据质量字段
- 读权限和订阅权限隔离
测试关注点:
- 稳定分页
- 字段权限
- 限流
### Epic 8:平台、容灾与观测
目标:
- 为 SLO 提供可验证支撑,而不是口头承诺。
Stories
1. 实现 PostgreSQL HA 和备份恢复
2. 实现 Kafka 副本和保留策略
3. 实现 CDC / 发布器观测
4. 建立端到端延迟、DLQ、幂等命中率监控
5. 完成容灾与回放演练
验收条件:
- RTO / RPO 有演练记录
- P95 延迟、对账、订阅补偿可验证
测试关注点:
- DB 切换
- 事件堆积
- 订阅重连
## 4. Story 模板
每个 story 必须具备:
- 背景
- 范围
- 非范围
- 接口 / 数据影响
- 验收条件
- 回归风险
- 测试点
## 5. 建议实施顺序
1. Epic 1:领域模型与数据契约落地
2. Epic 2:接入与标准化
3. Epic 3Published Fact 与字段级权威治理
4. Epic 4:资源分配与冲突治理
5. Epic 5:告警、Case 和人工复核
6. Epic 6:事件骨干与订阅
7. Epic 7:查询接口与权限治理
8. Epic 8:平台、容灾与观测
## 6. 进入开发前的 Gate
- 高层设计、技术栈、ADR 无结构性冲突
- 字段级权威矩阵完成首版
- 事件 schema 草案完成首版
- 最小部署拓扑完成首版
- Epic 级拆解得到负责人和初步估算