docs(acm2-75): align static reference data flow
This commit is contained in:
+29
-29
@@ -4,7 +4,7 @@
|
||||
|
||||
- **处理管道**章:记录模型、状态机、收报与水位、主泵与事务边界、回填、快照与请求、投递、失败恢复与维护作业;
|
||||
- **航班域**章:航班当前态的权威模型、合并与写入语义、删除与重建;
|
||||
- **静态参考数据**章:主数据类别与编码、`REF_MASTER` 结构与合并语义、资源状态与机位/登机桥映射。
|
||||
- **静态参考数据**章:SIS 消息中的主数据类别与编码、`REF_MASTER` 结构与合并语义、资源状态,以及 admin-api 的下游读取边界。
|
||||
|
||||
正文描述**目标设计**,不标注交付状态:可声明性见 [specification.md](specification.md)「声明边界」与「当前已知偏差」,进度在 Plane(ACM2)。契约与不变量只引稳定 ID;参数取值只引 `PARAM:<完整键>`(见 [reference.md](reference.md))。
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
| `PROC_STATE` | 入站消息的处理状态、身份、尝试次数、错误原因与回填事实 | `MSG_ID = CMINMSGS_ID` 主键防重复入队;`IDENTITY_KEY` 唯一约束防业务重复;按最小未完成 `MSG_ID` 取队头;`BACKFILL_NEXT_AT` 非空 = 还欠一次回填,`BACKFILL_AT` 非空 = 标记已确认,`BACKFILL_ABANDONED_AT/REASON` 非空 = 已停止自动重试(**不等于**标记已确认);`RECEIVED_AT` 复制自信箱接收时间、**可能为 NULL**、仅用于对账与展示;`ENQUEUED_AT` 是本地入队时间、非空、是超期判据的唯一依据;归档后的去重影子行置 `STATE='ARCHIVED'`、只保留 `IDENTITY_KEY` 与 `MSG_ID`,不占队头、不触发回填、不参与积压聚合(`G-PROC-HST`)。 |
|
||||
| `MSG_EVENT` | 等待投递的事件(outbox) | `EVENT_ID` 对 `KAFKA:msg` 是稳定事件身份并决定投递顺序;对 `KAFKA:schd` 是每次接受 upsert 时替换的写代次。`TARGET` 区分 `KAFKA:msg` / `KAFKA:schd`;`PARTITION_KEY` 当前取 `FLID`(`Q4` 定案前为假定,见 `C-29`);`EVENT_TYPE` 区分 UPSERT 与 TOMBSTONE。`KAFKA:schd` 按 `FLID` 单行 upsert,只保留最新 `STATE_VERSION`;`SENT_AT` 在投递确认的同一条 UPDATE 内写入,是保留期判定的唯一基准。 |
|
||||
| `REQ_TRACK` | 上游请求及应答关联 | 状态 `PENDING / SENT / DONE / EXPIRED`;保存请求类型、覆盖运营日、发送方、出站信箱 ID 与发送/完成时间;**「同类只允许一个开放请求」的唯一键 = `(请求类型, 覆盖运营日, 发送方)`,且仅对开放状态生效**。 |
|
||||
| `REF_MASTER` | 静态参考数据与资源状态(目标表) | `(RTYPE, RKEY)` 唯一;`RTYPE` 类别、合并语义与资源状态见「静态参考数据」;取数路径见 [requirements.md](requirements.md) `US-13`/`US-14`。 |
|
||||
| `REF_MASTER` | SIS 消息提供的静态参考数据与资源状态(目标表) | `(RTYPE, RKEY)` 唯一;`RTYPE` 类别、合并语义与资源状态见「静态参考数据」;取数路径见 [requirements.md](requirements.md) `US-13`。 |
|
||||
| `FLIGHT_SCHD` | 航班标量及单值异常字段 | `FLID` 主键;`OPERATION_DAY` 一经确定不可变;版本与最近消息 ID 用于追踪。变长集合存于资源明细表与 `FLIGHT_ROUTE_POINT`,规则见「航班域」。 |
|
||||
| `INBOX_CURSOR` | 消费水位 `W`、空洞计时 `holeSince`、播种事实 `SEEDED_AT` | 单行游标;`W` 只随新 ID 成功入队推进,遇空洞即停;`HOLE_SINCE` 持久化空洞观测时刻,进程重启不丢计时。`SEEDED_AT IS NULL` **不等于**从未消费(已有库新增列后同样为 NULL)。 |
|
||||
| `SCHD_SNAP_LOG` | 日计划处理留痕 | 只追加、可重建,不参与状态决策;保留期见 [reference.md](reference.md)。 |
|
||||
@@ -44,9 +44,9 @@
|
||||
|
||||
**身份绑定是独立的幂等单语句**(`WHERE IDENTITY_KEY IS NULL`),不参与业务事务。它的前提是「报文不可变」(`PRE-7`):同一身份的重发不会被比对内容,若上游改发正文会被判为重复并跳过(`Q15`)。
|
||||
|
||||
分派与落库由 `MessageProcessor` 协调:按 `MsgKind` 把已绑定身份的队头消息交给对应事务协调器(DNLD/RESP → `ScheduleProcessor`,ADFT → `AdftProcessor`,FLOP → `FlopProcessor`,FDEL → `FdelProcessor`,其余 → `FAILED(UNSUPPORTED)`)。这些处理器在 `PIPELINE_LOCK` 事务内读取当前完整态,调用纯领域决策逻辑得到下一完整态与待发事件,再统一落库并登记回填意图;它们不直接触碰 Kafka。领域决策逻辑不执行 I/O。
|
||||
分派与落库由 `MessageProcessor` 协调:按 `MsgKind` 把已绑定身份的队头消息交给对应事务协调器(SCHD-DNLD/RESP → `ScheduleProcessor`,ADFT → `AdftProcessor`,FLOP → `FlopProcessor`,FDEL → `FdelProcessor`,`SIS:3.1`~`SIS:3.14` 的静态参考数据消息 → `ReferenceDataProcessor`,其余 → `FAILED(UNSUPPORTED)`)。这些处理器在 `PIPELINE_LOCK` 事务内读取当前完整态,调用纯领域决策逻辑得到下一完整态与待发事件,再统一落库并登记回填意图;它们不直接触碰 Kafka。领域决策逻辑不执行 I/O。
|
||||
|
||||
忽略规则:解码后、分派前按大小写不敏感的 `TYPE-STYP` / `TYPE-*` 匹配忽略清单(基线 `LDM` / `REGN` / `RSTA` / `EROR`,不混用 `ERROR`),命中转 `SKIPPED` 并记录 `ignored:<rule>`;忽略报文照常绑定身份,但不更新航班、不创建业务通知(`US-04`)。
|
||||
忽略规则:解码后、分派前按大小写不敏感的 `TYPE-STYP` / `TYPE-*` 匹配忽略清单(基线 `LDM` / `EROR`,不混用 `ERROR`),命中转 `SKIPPED` 并记录 `ignored:<rule>`;忽略报文照常绑定身份,但不更新航班、不创建业务通知(`US-04`)。`REGN` / `RSTA` 是静态参考数据消息,必须分派给 `US-13`,不得忽略。
|
||||
|
||||
## 3. 状态与错误分类
|
||||
|
||||
@@ -417,8 +417,8 @@ PENDING → SENT → DONE
|
||||
| `CHDT` | `CHNO`、`CHUT`、`CCLS`、`PCBT`、`PCET`、`CBTM`、`CETM`、`CTYP` | 99 | `SIS:3.26` |
|
||||
| `PSDT` | `PSNO`、`PSST`、`STST`、`STET` | 9 | `SIS:3.38` |
|
||||
| `CHOT` | `CSNO`、`CHTM`、`CHID`、`CHST` | 99 | `SIS:3.22` |
|
||||
| `DELY` | `CODE`、`STRT`、`DURA`、文本 | — | `XSD` `FLOP` 段 |
|
||||
| `ABTM` | `ASNO`、`ABDG`、`ABOP`、`AOTM` | 99 | `XSD` `FLOP` 段 |
|
||||
| `DELY` | `CODE`、`STRT`、`DURA`、文本 | — | [XSD](legacy/unisysaodbsis.xsd)「FLOP 元素」 |
|
||||
| `ABTM` | `ASNO`、`ABDG`、`ABOP`、`AOTM` | 99 | [XSD](legacy/unisysaodbsis.xsd)「FLOP 元素」 |
|
||||
| `ROUT` / `ERUT` | `RTNO`、`APCD`、`SCAT`、`SCDT` | 6 / 7(`ROUT` 只取 4) | `SIS:3.40` |
|
||||
| `SRVT` | `OPER`、`SRTC`、`SRQT`、`SRST`、`SRET`、`SRPR`、`SANR`、`SARR` | 无界 | `G-SRVT-VIPF` |
|
||||
| `VIPF` | `OPER`、`VPCD`、`VFES`、`VIPT/OPER`、`VIPT/VSCD`、`VIPT/VTQY`、`VIPT/VTST`、`VIPT/VTET` | 无界 | `G-SRVT-VIPF` |
|
||||
@@ -429,7 +429,7 @@ PENDING → SENT → DONE
|
||||
- 相同资源号不代表同一条分配,禁止按资源号去重。
|
||||
- 每次持久化完整航班状态时,明细表按该 `FLID` 先删后插,以完整合并结果为准(`INV-14`)。
|
||||
- ROUT 与 ERUT 是两类独立集合,不能因相同序号覆盖彼此。
|
||||
- `CHDT` 的类字段在 SIS 正文写作 `CCLS`/`CTYP`、在 `XSD` 写作 `CHCLS`/`CHTYP`,**以 `XSD` 为准**。
|
||||
- `CHDT` 的类字段固定为 `CCLS`/`CTYP`;当前 wire DTO 与持久化列误写成 `CHCLS`/`CHTYP`,见 `G-FLOP-UNMAPPED`。
|
||||
- 主/共享关系以主表的 `MAID` 为事实来源:`MAID` 是共享航班指向主航班 `FLID` 的引用(非共享航班为 `NULL`);`MAFL` 只在读取和事件投影时从子航班事实派生,不按入站标量解析或保存。
|
||||
|
||||
### 11.4 主/共享投影(`MAFL`)
|
||||
@@ -459,13 +459,15 @@ SCHD DNLD/RESP 在整包校验通过后,逐条将报文携带的航班写入
|
||||
|
||||
### 12.2 动态运行事件(FLOP)
|
||||
|
||||
FLOP 只修改报文表达的字段或集合,其余状态保持不变;目标形态与合并规则见「字段与集合」。逐类语义**不靠处理器分支表达,而靠 SIS 的逐类字段表与空标签规则**:下表每一行都必须有一条回归用例钉住「输入 → 目标字段/集合 → 空标签结果」,不能只因报文已被路由就推定语义完整(`INV-20`)。
|
||||
FLOP 只修改报文表达的字段或集合,其余状态保持不变;目标形态与合并规则见「字段与集合」。`STYP` 必须命中下表白名单,未知值转 `FAILED(UNSUPPORTED)`,不得进入通用合并。除表内方向拒绝项外,已确认的动态更新在同一事务推进 `STATE_VERSION`、登记 `KAFKA:msg` 与 `KAFKA:schd`、提交处理终态与回填意图;同一消息重试不得重复产生业务效果(`INV-17`、`INV-20`)。
|
||||
|
||||
逐类语义以 SIS 的字段表、空标签规则与 Processing Exceptions 为准;下表每一行都必须有一条回归用例钉住「输入与前态 → 目标状态 → 终态与事件」。
|
||||
|
||||
| SIS | STYP | 目标 | 空标签 / 缺失语义 |
|
||||
|---|---|---|---|
|
||||
| `SIS:3.19` | `ACFT` | `ACFT` 标量 | 字段为 M,未写明空语义 |
|
||||
| `SIS:3.20` | `ACTT` | `ACTT` 标量 | 空 = 清除已有实际时间 |
|
||||
| `SIS:3.21` | `BOTM` | `BOTM` 标量 | 空 = 清除登机时间 |
|
||||
| `SIS:3.21` | `BOTM` | `BOTM` 标量;非空时设置登机状态 | 空 = 清除登机时间并重置登机状态 |
|
||||
| `SIS:3.22` | `CHOT` | `CHOT` 集合 | 集合按完整结果替换;元素内 `CHTM` 空 = 删除该轮挡时间 |
|
||||
| `SIS:3.23` | `FLTY` | `FLTY` 标量 | 字段为 M,未写明空语义 |
|
||||
| `SIS:3.24` | `CKDT` | `CKDT` 集合 | 空 `<CKDT CKNO="0">` = 现无柜台分配;**AODB 方向报文必须拒绝** |
|
||||
@@ -479,12 +481,12 @@ FLOP 只修改报文表达的字段或集合,其余状态保持不变;目标
|
||||
| `SIS:3.32` | `FLIN` | `FLIN` 标量 | 字段为 M,未写明空语义 |
|
||||
| `SIS:3.33` | `FRET` | `FRET`(`REID`),当前未映射(`G-FLOP-UNMAPPED`) | 空 = 清除返航标志 |
|
||||
| `SIS:3.34` | `GTDT` | `GTDT` 集合 | 空 `<GTDT GTNO="0">` = 现无登机门分配;`GOTM`/`GCTM` 缺失 = 未分配开放/关闭时间;**AODB 方向报文必须拒绝** |
|
||||
| `SIS:3.35` | `LACL` | `LACL` 标量 | 空 = 清除最后通知时间 |
|
||||
| `SIS:3.35` | `LACL` | `LACL` 标量;非空时设置最后通知状态 | 空 = 清除最后通知时间并重置最后通知状态 |
|
||||
| `SIS:3.36` | `MAXP` | `MAXP` 标量 | 空 = 删除最大载客数 |
|
||||
| `SIS:3.37` | `HNAG` | `FHAG`/`PHAG`/`MHAG` 标量 | `FHAG` 空 = 删除该代理;`MHAG` 可缺席 |
|
||||
| `SIS:3.38` | `PSDT` | `PSDT` 集合 | 空 `<PSDT PSNO="0">` = 现无机位分配;**AODB 方向报文必须拒绝** |
|
||||
| `SIS:3.39` | `RENO` | `RENO` 标量 | 空 = 清除注册号 |
|
||||
| `SIS:3.40` | `ROUT` | `ROUT` 集合 | `SCAT`/`SCDT` 分别对起点/终点缺席;只保留 4 条(离港取前 4、到港取后 4)且忽略 `SCAT`/`SCDT` |
|
||||
| `SIS:3.40` | `ROUT` | `ROUT` 集合 | `SCAT`/`SCDT` 分别对起点/终点缺席;RMS 只保留 4 条(离港取前 4、到港取后 4)且不保存 `SCAT`/`SCDT` |
|
||||
| `SIS:3.41` | `TAOP` | `TAOP`/`TAFL`/`TAID` 标量 | 任一为空 = 该到达航班的经停连接断开 |
|
||||
| `SIS:3.42` | `TRML` | `TRML` 标量 | 空 = 删除航站楼 |
|
||||
| `SIS:3.43` | `VIPP` | `VIPP`/`VIPR` 标量 | 空 = 删除;SIS 另要求 RMS 忽略 `VIPP`(忽略事件还是忽略字段,SIS 未写明,按 `Q8` 对拍确认) |
|
||||
@@ -495,9 +497,9 @@ FLOP 只修改报文表达的字段或集合,其余状态保持不变;目标
|
||||
|
||||
**SIS 定义但 legacy 无处理器**:`CHDT`、`FINT`、`MAXP`。
|
||||
|
||||
**未映射字段**:`XSD` `FLOP` 段中尚未解码的字段见 `G-FLOP-UNMAPPED`;其中 `FRET`、`FDIV`、`BDPB` 在 legacy 有对应处理,逐项必须在 `Q8` 对拍时定案(补齐映射或明确声明忽略),不得静默丢弃。
|
||||
**未映射字段**:[XSD](legacy/unisysaodbsis.xsd)「FLOP 元素」中尚未解码或错误映射的字段见 `G-FLOP-UNMAPPED`;其中 `FRET`、`FDIV`、`BDPB` 在 legacy 有对应处理,逐项必须在 `Q8` 对拍时定案(补齐映射或明确声明忽略),不得静默丢弃。
|
||||
|
||||
动态事件保留既有 `OPERATION_DAY`,也不基于接收时间重新推导它。航班不存在或已删除时按幂等成功处理——动态事件不创建航班(创建只发生在日计划与异常航班)。
|
||||
动态事件保留既有 `OPERATION_DAY`,也不基于接收时间重新推导它。除 FDEL 外,SIS 未规定目标航班不存在或已删除时的结果;逐类终态必须经 `Q8` 定案,不能统一推定为成功。当前实现的白名单、`ROUT`、BOTM/LACL 状态与已删除航班行为偏差见 `G-FLOP-SEMANTICS`。
|
||||
|
||||
### 12.3 删除与重建
|
||||
|
||||
@@ -525,18 +527,15 @@ ADFT 的字段缺失语义尚待上游确认。在确认前采用保守的 Set-o
|
||||
|
||||
## 13. 静态参考数据
|
||||
|
||||
本章定义航班基础数据(参考主数据)的目标形态与合并语义。字段的值域、长度与业务含义以 [SIS 接口规范](legacy/SIS_AODB_RMS-V0.1.md) 对应节为准,本章只定义类别、结构与落库口径;取数路径与刷新责任见 [requirements.md](requirements.md) `US-13`/`US-14`。
|
||||
本章定义由入站 SIS 消息获得的航班基础数据(静态参考数据)的目标形态与合并语义。字段的值域、长度与业务含义以 [SIS 接口规范](legacy/SIS_AODB_RMS-V0.1.md) 对应节为准,本章只定义类别、结构与落库口径;取数路径与刷新责任见 [requirements.md](requirements.md) `US-13`。**静态参考数据不得从 admin-api 拉取、补全或合并;admin-api 只读取本网关已经提交到业务数据库的数据。**
|
||||
|
||||
### 13.1 来源
|
||||
|
||||
| 来源 | 权威节 | 形态 |
|
||||
|---|---|---|
|
||||
| AODB 参考数据事件 | `SIS:3.1`~`SIS:3.13` | `META.TYPE` 即类别码;`STYP` ∈ `DNLD` / `RESP` / `ADD` / `UPD` / `DEL` |
|
||||
| AODB 资源状态事件 | `SIS:3.14` | `TYPE=RSTA`;`STYP` 只有 `DNLD` / `RESP` |
|
||||
| AODB 应答参考数据请求 | `SIS:3.15` | 复用上表格式,仅 `STYP=RESP`;**没有请求 ID 或关联字段**,配对只靠子类型 |
|
||||
| admin-api 本地主数据 | 见 `US-13` | 21 类,清单与字段映射待 `Q8` 确认 |
|
||||
|
||||
同一类别可能由两条来源同时提供,覆盖优先级见 `US-13`。
|
||||
| AODB 资源状态事件 | `SIS:3.14` | `TYPE=RSTA`;`DNLD` 是单条状态更新,`RESP` 才可包含多条 |
|
||||
| AODB 应答参考数据请求 | `SIS:3.15` | 复用对应类别格式且 `STYP=RESP`;**没有请求 ID 或关联字段**,以响应 `TYPE` 匹配原请求 `STYP` |
|
||||
|
||||
### 13.2 类别
|
||||
|
||||
@@ -555,20 +554,21 @@ ADFT 的字段缺失语义尚待上游确认。在确认前采用保守的 Set-o
|
||||
| `CLST` | 值机柜台代码 | `CCOD` | `SIS:3.11` |
|
||||
| `BLST` | 行李转盘代码 | `BCOD` | `SIS:3.12` |
|
||||
| `CHLT` | 行李滑槽代码 | `CCOD` | `SIS:3.13` |
|
||||
| `RSTA` | 资源状态 | `RSID`(另存资源类型 `RTYP`) | `SIS:3.14` |
|
||||
| `RSTA` | 资源状态 | (`RTYP`, `RSID`) | `SIS:3.14` |
|
||||
|
||||
`CLST` 与 `CHLT` 复用同名标签 `CCOD`、`CNMC`、`CTML`、`CCAT`,语义不同,只能靠 `RTYPE` 区分。
|
||||
|
||||
### 13.3 结构与合并语义
|
||||
|
||||
`REF_MASTER` 一行一个 `(RTYPE, RKEY)`,字段名取 SIS 对应节的标签名,另存 `SOURCE`(`AODB` / `ADMINAPI`)、刷新批次与刷新时间。
|
||||
`REF_MASTER` 是对业务暴露的有效参考数据视图,逻辑身份为 `(RTYPE, RKEY)`;普通类别的 `RKEY` 见上表,`RSTA` 的身份必须同时包含 `RTYP` 与 `RSID`。记录保存消息来源、消息批次、刷新时间与按 SIS 标签名组织的字段载荷;重复字段保留输入顺序并表示为有序数组。物理列与批次暂存方式在 `Q8` 定案,定案前不得据本节新增 DDL。
|
||||
|
||||
- **list 模式 = 全量**:SIS 原文为一个 XML 含该类全部记录。整批校验通过后按类整体发布,失败不暴露半批(`US-13`)。
|
||||
- **incremental 模式 = 单条全字段**:报文只含被改动的一条,但该条含全部字段;按 `(RTYPE, RKEY)` 整体覆盖该行。
|
||||
- **13 类参考数据**:`DNLD`/`RESP` 是类别全量,整批校验通过后原子发布;`ADD`/`UPD`/`DEL` 是单条全字段增量,按 `(RTYPE, RKEY)` 处理。全量替换只作用于消息指定的同一 `RTYPE`。
|
||||
- **资源状态**:`RSTA-DNLD` 是单条状态更新,按 (`RTYP`, `RSID`) 覆盖;`RSTA-RESP` 是请求返回的多条记录。两者都不以“本包未出现”为理由删除其他资源状态。
|
||||
- **删除只由 `STYP=DEL` 表达**:参考数据**没有字段级删除语义**——可选字段的空标签表示「数据不可用」,不是删除。这与航班动态的空标签语义相反,两者不得套用同一套合并规则。
|
||||
- **请求配对**:参考应答统一为 `STYP=RESP`,以响应 `TYPE` 对应原 `RQRD.STYP`;`RSTA` 的请求范围还要校验 `RTYP`,不能只按 `RESP` 或消息到达时间匹配。
|
||||
- `SRVT`、`VIPF` 与参考数据无关;参考数据不参与航班状态推进,也不进入 `MSG_EVENT`。
|
||||
|
||||
SIS 声明的上游忽略与截断口径(`SIS:3.2`/`SIS:3.4`/`SIS:3.5`/`SIS:3.6`/`SIS:3.7`/`SIS:3.8`/`SIS:3.10`/`SIS:3.11`/`SIS:3.12`):机场代码忽略 `ANAM`/`ACTY`/`ICCD`/`BDIS`/`ATYP`/`HAUL`;机型忽略 `DESC`/`CHAP`/`MFWT`/`MTWT`/`MHTM`/`MABR`;注册号忽略 `OWID`/`MFWT`/`MTWT`;机构忽略 `ONAM`,且 `OCAT` 只保留旅客/维护/地服代理;航班类型忽略 `FDES`/`FCML`/`CTYP`;航站楼忽略 `TNAM`/`TCAT`/`TPAX`;机位忽略 `STNM`/`MABS`/`FEPU` 并把 `STGP` 截断到 8 字符;值机柜台忽略 `CTNM`/`CCAT`;转盘忽略 `BTNM`/`BCAT`;国家代码只保留第一个 `REGC`。这些字段在未确认本地用途前不进入参考数据模型,需要时由 `US-13` 增补并说明用途。
|
||||
SIS 声明的上游忽略与截断口径(`SIS:3.1`/`SIS:3.2`/`SIS:3.4`/`SIS:3.5`/`SIS:3.6`/`SIS:3.7`/`SIS:3.8`/`SIS:3.10`/`SIS:3.11`/`SIS:3.12`):国家代码忽略 `COUN` 且只保留第一个 `REGC`;机场代码忽略 `ANAM`/`ACTY`/`ICCD`/`BDIS`/`ATYP`/`HAUL`;机型忽略 `DESC`/`CHAP`/`MFWT`/`MTWT`/`MHTM`/`MABR`;注册号忽略 `OWID`/`MFWT`/`MTWT`;机构忽略 `ONAM`,且 `OCAT` 只保留旅客/维护/地服代理;航班类型忽略 `FDES`/`FCML`/`CTYP`;航站楼忽略 `TNAM`/`TCAT`/`TPAX`;机位忽略 `STNM`/`MABS`/`FEPU` 并把 `STGP` 截断到 8 字符;值机柜台忽略 `CTNM`/`CCAT`;转盘忽略 `BTNM`/`BCAT`。这些字段在未确认本地用途前不进入参考数据模型,需要时由 `US-13` 增补并说明用途。
|
||||
|
||||
### 13.4 资源状态
|
||||
|
||||
@@ -579,9 +579,9 @@ SIS 声明的上游忽略与截断口径(`SIS:3.2`/`SIS:3.4`/`SIS:3.5`/`SIS:3.
|
||||
- 结束时间缺失表示**一直禁用,直到该资源收到新的状态事件**。
|
||||
- 重新启用只带起始时间,不带结束时间。
|
||||
|
||||
### 13.5 机位与登机桥映射
|
||||
### 13.5 admin-api 下游读取边界
|
||||
|
||||
- 机位主数据即 `SLST`(`RKEY=SCOD`),机位性质由 `REMT` 表达:`N` = 近机位(默认)、`Y` = 远机位、`A` = 停机区;所属航站楼是 `STML`。机位可用性由 `RSTA`(`RTYP=STND`)表达。
|
||||
- **机位→登机桥关系没有 SIS 来源**,只有 admin-api 提供;`US-14` 的映射因此依赖 admin-api 可用性,不可用时用最后可用版本。
|
||||
- 协议内的登机桥编码是 `ABTM` 元素中的 `ABDG`(`SIS:3.16`、`XSD` `OPT_BRIDGEDATA`),**不是航班主表标量**;legacy 另有一个由 admin-api 派生的航班级 `abdg`。目标形态必须在两者间二选一并写进「字段与集合」,确认前不得把派生值当成协议字段。
|
||||
- `PSDT` 的「空集合」与「未携带」含义不同:前者清空本地机位、后者保留原值(`INV-14`;空集合写法见「动态运行事件」)。
|
||||
- 数据方向固定为「SIS 消息 → 本网关 → 业务数据库 → admin-api」;本网关不调用 admin-api,不读取其数据库或缓存。
|
||||
- admin-api 只读取已提交的航班状态与 `REF_MASTER` 有效视图,不参与消息解码、合并、批次发布或处理终态判定。
|
||||
- 开发运行时使用自有 PostgreSQL;Oracle 只有通过 `Q1` 要求的方言与集成验证后才可替代,单次部署不得同时把两库作为权威。
|
||||
- admin-api 的物理读取契约在 `Q8` 定案;共享 MySQL 始终只是信箱边界,不承载该读取模型。
|
||||
|
||||
Reference in New Issue
Block a user