docs(acm2-74): 补齐 FLOP 逐类语义、静态参考数据与数据结构
自洽与精简: - specification 补第四种状态词 [我们自证]、验证映射补 INV-14 两行、去 CLM-7/CLM-9 的进度语、补编号空缺说明 - architecture/requirements/implementation 去除逐字复述(领域决策三写句、时间常数排序、C-25/C-26、INV-12/21/22)与参数值重复 - README 与新文档对齐:收报谓词改 ID>W、删不存在的 reference/ 包与 lua/、删 msgx.phase 与 MSGX_REDIS_URI、设计权威口径改 docs/、进度段改指 Plane 内容补齐: - 新增 implementation.md「动态运行事件(FLOP)」:按 SIS 3.19–3.43 的 25 类逐类映射与空标签语义(含 CNCL 空标签为撤销等),补 RMS→AODB 方向拒绝、ROUT 只保留 4 条、VIPP 忽略等约束;厘清 legacy 29 类与 SIS 25 类的差集 - 新增 implementation.md「静态参考数据」章:13 类参考数据与资源状态的 RTYPE/RKEY、list 与增量合并语义、删除只由 DEL 表达、SLST/REMT/RSTA 机位与登机桥映射 - §11.3 数据结构改为标量分组表与集合明细表(元素键、条数上限、SIS 锚点) - specification 新增 G-FLOP-DIRECTION / G-FLOP-UNMAPPED / G-REF-DATA;Q8 收窄为真实报文分布与 admin-api 清单
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
msgexchange-v2 是机场 OMMS 的上游报文处理中间件,用于替换旧版 `msgexchange-api`。
|
||||
它读取 CIIMS、AODB 等系统写入共享 MySQL 信箱的 XML 报文,按顺序更新航班动态,再将结果提供给下游。
|
||||
|
||||
本系统负责**收报、解析、状态更新和结果投递**,不生成上游业务报文,不替代 CIIMS/AODB,也不提供 AODB 主数据编辑能力。
|
||||
本系统负责**收报、解析、状态更新和结果投递**,不生成上游业务报文;其余非目标见 [requirements.md](requirements.md)「范围与非目标」。
|
||||
|
||||
- **主要入口**:轮询共享 MySQL 的 `CMINMSGS`。
|
||||
- **兼容入口**:`POST /cminmsgs/send`,供现役兼容、手工工具和对拍使用;写入信箱后返回记录 ID,不是生产收报主路径。
|
||||
@@ -51,7 +51,7 @@ CIIMS / AODB 等上游
|
||||
|---|---|
|
||||
| `ingress` | 轮询信箱、持久化入队及兼容 HTTP 写入;不解析业务报文。 |
|
||||
| `codec` | XML 解码,区分非法报文与可修复的解码失败。 |
|
||||
| `processing` | FIFO 调度、业务身份绑定与去重、领域决策与落库(SCHD/FLOP/FDEL/ADFT):纯领域逻辑只返回决策;Processor 作为事务协调器,在锁事务内完成状态写入、事件与回填意图登记,不直接触碰 Kafka。 |
|
||||
| `processing` | FIFO 调度、业务身份绑定与去重、领域决策与落库(SCHD/FLOP/FDEL/ADFT);决策、事务与回填的职责边界见 [implementation.md](implementation.md)「消息、身份与决策」与 `INV-17`。 |
|
||||
| `delivery` | 消费待发事件,负责按目标保序、`schd` 聚合、投递和失败重试。 |
|
||||
| `jobs` | 回填补偿扫描、航班历史清理与留痕保留期清理;独立 job 线程执行,不参与 FIFO(与主泵的互斥见 `INV-18`)。 |
|
||||
| `domain` / `config` | 领域状态、事件和决策模型,以及运行参数。 |
|
||||
@@ -86,7 +86,7 @@ CIIMS / AODB 等上游
|
||||
|
||||
**不使用跨库事务。** PG 事务只能保证「处理结果与待发事件一起提交」(`INV-17`),不能覆盖 MySQL 回填或 Kafka 发送等外部副作用。跨存储依靠幂等、重试和持久化补偿恢复;各中断位置的判定与恢复动作见 [implementation.md](implementation.md)「中断恢复」。
|
||||
|
||||
对外投递按**至少一次**设计,不承诺端到端恰好一次。Kafka 生产者幂等不能消除应用重启或 outbox 重发带来的所有重复。
|
||||
对外投递的承诺边界见 `C-29`;Kafka 生产者幂等不能消除应用重启或 outbox 重发带来的所有重复。
|
||||
|
||||
## 7. 关键决策
|
||||
|
||||
@@ -96,5 +96,5 @@ CIIMS / AODB 等上游
|
||||
|---|---|---|
|
||||
| D1 | 航班清场只在历史写入成功后进行,未接通时删 0 条;未经 FDEL 的清场须先补发删除事件。ES 历史投影(阶段 B)暂缓。 | 红线见 [implementation.md](implementation.md)「生命周期」 |
|
||||
| D2 | 动态状态单写者,生产只允许一个活动实例;多实例必须先具备可靠的排他保护。 | 事务行锁见 [implementation.md](implementation.md)「事务边界」;实例级排他属 `PRE-5`,可声明性见 `CLM-6` |
|
||||
| D3 | Kafka 生产要求 `acks=all`、`enable.idempotence=true`、`max.in.flight=1`;不允许通过关闭幂等来满足生产接入。 | 取值见 [reference.md](reference.md) 参数表 |
|
||||
| D3 | Kafka 生产必须同时满足确认级别、幂等生产与单连接在途上限三项约束;不允许通过关闭幂等来满足生产接入。 | 取值见 [reference.md](reference.md) 参数表 |
|
||||
| D4 | 自有库终态记录只归档到 `PROC_STATE_HST`,不侵入共享库的表结构或保留策略。 | `G-PROC-HST` |
|
||||
|
||||
Reference in New Issue
Block a user