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

5.7 KiB
Raw Blame 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. 建立 MilestoneObservationDecisionLog 数据模型
  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 级拆解得到负责人和初步估算