MCC ACARS报文解析系统架构图
1. 总体业务架构图
graph TB
subgraph "外部数据源"
A1[ACARS设备供应商]
A2[飞机ACARS系统]
A3[地面接收站]
end
subgraph "数据接收层"
B1[ActiveMQ消息队列]
B2[WebService接口]
B3[McAcarsMqService]
end
subgraph "报文识别与分类"
C1{报文格式识别}
C2{报文类型判断}
C3[CFD报文]
C4[DFD报文]
C5[ENG报文]
C6[其他报文过滤]
end
subgraph "机型识别与规则匹配"
D1{机型判断}
D2[空客系列]
D3[波音系列]
D4[空客解析规则库]
D5[波音解析规则库]
end
subgraph "解析引擎"
E1[空客解析引擎]
E2[波音解析引擎]
E3[字段提取算法]
E4[数据类型转换]
E5[时间处理算法]
end
subgraph "业务规则处理"
F1[故障等级判定]
F2[预警规则匹配]
F3[过滤规则应用]
F4[ATA章节识别]
end
subgraph "数据存储与输出"
G1[原始报文存储]
G2[解析结果存储]
G3[预警消息推送]
G4[WebSocket实时通知]
G5[维修工作单生成]
end
A1 --> B1
A2 --> B1
A3 --> B1
B1 --> B3
B2 --> B3
B3 --> C1
C1 --> C2
C2 --> C3
C2 --> C4
C2 --> C5
C2 --> C6
C3 --> D1
C4 --> D1
C5 --> D1
D1 --> D2
D1 --> D3
D2 --> D4
D3 --> D5
D4 --> E1
D5 --> E2
E1 --> E3
E2 --> E3
E3 --> E4
E4 --> E5
E5 --> F1
F1 --> F2
F2 --> F3
F3 --> F4
F4 --> G1
F4 --> G2
F4 --> G3
G3 --> G4
G2 --> G5
2. 报文类型解析流程图
graph TD
subgraph A1 ["报文接收"]
A[接收原始ACARS报文]
B{第一行是否为日期?}
C["标准格式
报文类型在第4行
机号在第5行"]
D["简化格式
报文类型在第3行
机号在第4行"]
end
subgraph A2 ["报文类型分类"]
E{报文类型判断}
F["CFD
配置故障数据"]
G["DFD
诊断故障数据"]
H["ENG
发动机数据"]
I["其他类型
直接过滤"]
end
subgraph A3 ["CFD报文处理"]
F1{CFD子类型}
F2[WRN警告]
F3[FLR故障]
F4["INFO信息
过滤掉"]
end
subgraph A4 ["DFD报文处理"]
G1{机型判断}
G2[空客DFD]
G3[波音DFD]
G4{空客DFD子类型}
G5["A13/A14/A17
需要解析"]
G6["其他子类型
过滤掉"]
G7{波音DFD代码}
G8["202代码
需要解析"]
G9["其他代码
过滤掉"]
end
A --> B
B -->|是| C
B -->|否| D
C --> E
D --> E
E --> F
E --> G
E --> H
E --> I
F --> F1
F1 --> F2
F1 --> F3
F1 --> F4
G --> G1
G1 --> G2
G1 --> G3
G2 --> G4
G4 --> G5
G4 --> G6
G3 --> G7
G7 --> G8
G7 --> G9
style F fill:#ffcdd2
style G fill:#c8e6c9
style H fill:#fff9c4
style I fill:#f5f5f5
style F2 fill:#ff8a80
style F3 fill:#ff5722
style G5 fill:#4caf50
style G8 fill:#4caf50
3. 空客vs波音解析差异架构图
graph LR
subgraph "报文输入"
A[ACARS原始报文]
end
subgraph "机型识别"
B{机型判断}
C[空客系列
A320/A330/A350等]
D[波音系列
B737/B787等]
end
subgraph "空客解析路径"
E1[空客解析规则]
E2[按行按位置提取]
E3{参数类型}
E4[单行参数S
固定位置提取]
E5[多行参数M
范围提取]
E6[字段值转换]
E7[关键字匹配
故障等级判定]
end
subgraph "波音解析路径"
F1[波音解析规则]
F2[段落分割算法]
F3{解析位置}
F4[HEADER报文头
固定格式解析]
F5[BODY段落内容
动态解析]
F6{行类型识别}
F7[DB行
完整描述]
F8[FDE/MMO行
故障代码]
F9[其他行
按空格分割]
F10[代码匹配
故障等级判定]
end
subgraph "统一输出"
G1[解析结果合并]
G2[故障等级评估]
G3[预警规则应用]
G4[数据存储]
end
A --> B
B --> C
B --> D
C --> E1
E1 --> E2
E2 --> E3
E3 --> E4
E3 --> E5
E4 --> E6
E5 --> E6
E6 --> E7
D --> F1
F1 --> F2
F2 --> F3
F3 --> F4
F3 --> F5
F5 --> F6
F6 --> F7
F6 --> F8
F6 --> F9
F7 --> F10
F8 --> F10
F9 --> F10
E7 --> G1
F10 --> G1
G1 --> G2
G2 --> G3
G3 --> G4
style C fill:#e3f2fd
style D fill:#fff3e0
style E1 fill:#e8f5e8
style E7 fill:#e1f5fe
style F1 fill:#fff8e1
style F10 fill:#fce4ec
style G4 fill:#f3e5f5
4. 故障等级判定业务流程图
graph TD
subgraph "故障等级判定入口"
A[解析完成的报文数据]
B{机型类型}
C[空客机型]
D[波音机型]
end
subgraph "空客故障等级判定"
E1[提取CFD内容文本]
E2[获取关键字规则库]
E3{匹配模式}
E4[包括模式
包含关键字]
E5[不包括模式
缺少关键字]
E6[关键字匹配算法]
E7{匹配结果}
E8[设定故障等级
LEVEL_1/2/3]
E9[保持默认等级
LEVEL_0]
end
subgraph "波音故障等级判定"
F1[提取故障代码]
F2{代码类型}
F3[MMSG_CODE
维修消息代码]
F4[PDE_CODE
故障检测代码]
F5[代码规则库匹配]
F6{等级比较}
F7[新等级更高]
F8[当前等级更高]
F9[更新故障等级
和ATA章节]
F10[保持当前等级]
end
subgraph "等级优先级处理"
G1[多故障等级合并]
G2{优先级比较}
G3[LEVEL_3
最高优先级]
G4[LEVEL_2
中等优先级]
G5[LEVEL_1
低优先级]
G6[LEVEL_0
默认等级]
G7[确定最终等级]
end
subgraph "预警触发"
H1{等级阈值判断}
H2[LEVEL_2及以上
立即预警]
H3[LEVEL_1
延时预警]
H4[LEVEL_0
仅记录]
H5[发送预警消息]
H6[WebSocket推送]
H7[短信/邮件通知]
end
A --> B
B --> C
B --> D
C --> E1
E1 --> E2
E2 --> E3
E3 --> E4
E3 --> E5
E4 --> E6
E5 --> E6
E6 --> E7
E7 -->|匹配成功| E8
E7 -->|匹配失败| E9
D --> F1
F1 --> F2
F2 --> F3
F2 --> F4
F3 --> F5
F4 --> F5
F5 --> F6
F6 -->|新等级高| F7
F6 -->|当前等级高| F8
F7 --> F9
F8 --> F10
E8 --> G1
E9 --> G1
F9 --> G1
F10 --> G1
G1 --> G2
G2 --> G3
G2 --> G4
G2 --> G5
G2 --> G6
G3 --> G7
G4 --> G7
G5 --> G7
G6 --> G7
G7 --> H1
H1 --> H2
H1 --> H3
H1 --> H4
H2 --> H5
H3 --> H5
H5 --> H6
H5 --> H7
style G3 fill:#ff5722
style G4 fill:#ff9800
style G5 fill:#ffc107
style G6 fill:#4caf50
style H2 fill:#f44336
style H3 fill:#ff9800
style H4 fill:#4caf50
5. 数据流转与存储架构图
graph TB
subgraph "数据输入层"
A1[MQ消息队列]
A2[WebService接口]
A3[原始JSON报文]
end
subgraph "数据预处理层"
B1[报文格式验证]
B2[JSON解析]
B3[字符编码转换]
B4[行内容映射]
end
subgraph "业务处理层"
C1[机型识别]
C2[规则匹配]
C3[字段提取]
C4[数据转换]
C5[故障分析]
end
subgraph "数据存储层"
D1[(原始报文表
MQ_ACARS_MESSAGE)]
D2[(解析结果表
MC_HEALTH_FAULT_ARCARS_RESOLV)]
D3[(解析详情表
MC_HEALTH_FAULT_ARCARS_REV)]
D4[(预警记录表
MC_ACARS_TIP_TEMP)]
D5[(错误日志表
MQ_ACARS_ERR_MSG)]
end
subgraph "数据输出层"
E1[WebSocket实时推送]
E2[维修工作单]
E3[故障报告]
E4[统计分析]
E5[预警通知]
end
subgraph "外部系统集成"
F1[FOC航班系统]
F2[维修管理系统]
F3[短信网关]
F4[邮件系统]
F5[监控大屏]
end
A1 --> B1
A2 --> B1
A3 --> B2
B1 --> B2
B2 --> B3
B3 --> B4
B4 --> C1
C1 --> C2
C2 --> C3
C3 --> C4
C4 --> C5
C1 --> D1
C3 --> D3
C5 --> D2
C5 --> D4
C5 --> D5
D2 --> E1
D2 --> E2
D2 --> E3
D2 --> E4
D4 --> E5
E1 --> F5
E2 --> F2
E5 --> F3
E5 --> F4
E4 --> F1
style D1 fill:#e3f2fd
style D2 fill:#e8f5e8
style D3 fill:#fff3e0
style D4 fill:#ffebee
style D5 fill:#fce4ec
style E5 fill:#ff5722
style F5 fill:#4caf50
6. 实时监控与预警架构图
graph LR
subgraph "监控数据源"
A1[实时报文流]
A2[解析成功率]
A3[故障等级分布]
A4[系统性能指标]
end
subgraph "预警规则引擎"
B1[关键字规则库]
B2[故障等级规则]
B3[频率阈值规则]
B4[时间窗口规则]
end
subgraph "预警判断逻辑"
C1{关键字匹配}
C2{等级阈值判断}
C3{频率异常检测}
C4{时间敏感判断}
C5[预警级别评估]
end
subgraph "通知渠道"
D1[WebSocket推送]
D2[短信通知]
D3[邮件通知]
D4[系统弹窗]
D5[监控大屏]
end
subgraph "人员角色"
E1[维修工程师]
E2[值班调度员]
E3[技术主管]
E4[质量监察员]
end
A1 --> C1
A2 --> C3
A3 --> C2
A4 --> C4
B1 --> C1
B2 --> C2
B3 --> C3
B4 --> C4
C1 --> C5
C2 --> C5
C3 --> C5
C4 --> C5
C5 --> D1
C5 --> D2
C5 --> D3
C5 --> D4
C5 --> D5
D1 --> E1
D2 --> E2
D3 --> E3
D4 --> E1
D5 --> E4
style C5 fill:#ff5722
style D2 fill:#ff9800
style D3 fill:#ff9800
style E2 fill:#4caf50
style E3 fill:#2196f3
7. 系统容错与异常处理架构图
graph TD
subgraph "正常处理流程"
A1[MQ消息接收]
A2[报文解析]
A3[数据存储]
A4[预警推送]
end
subgraph "异常检测点"
B1{MQ连接异常}
B2{报文格式异常}
B3{解析规则异常}
B4{数据库异常}
B5{网络异常}
end
subgraph "容错处理机制"
C1[WebService备用接收]
C2[异常报文记录]
C3[规则降级处理]
C4[事务回滚]
C5[重试机制]
end
subgraph "恢复策略"
D1[自动重连MQ]
D2[数据补偿同步]
D3[规则热更新]
D4[手动干预处理]
end
subgraph "监控告警"
E1[系统健康检查]
E2[异常统计分析]
E3[性能指标监控]
E4[告警通知]
end
A1 --> B1
A2 --> B2
A2 --> B3
A3 --> B4
A4 --> B5
B1 -->|MQ故障| C1
B2 -->|格式错误| C2
B3 -->|规则缺失| C3
B4 -->|DB故障| C4
B5 -->|网络中断| C5
C1 --> D1
C2 --> D2
C3 --> D3
C4 --> D4
C5 --> D1
B1 --> E1
B2 --> E2
B3 --> E2
B4 --> E3
B5 --> E4
style B1 fill:#ffcdd2
style B2 fill:#ffcdd2
style B3 fill:#ffcdd2
style B4 fill:#ffcdd2
style B5 fill:#ffcdd2
style C1 fill:#c8e6c9
style C2 fill:#c8e6c9
style C3 fill:#c8e6c9
style C4 fill:#c8e6c9
style C5 fill:#c8e6c9
style E4 fill:#ff5722
这些架构图从不同的业务角度清晰地展示了MCC ACARS报文解析系统的工作原理:
- 总体业务架构图:展示了从数据接收到最终输出的完整业务流程
- 报文类型解析流程图:详细说明了不同类型报文的识别和处理逻辑
- 空客vs波音解析差异架构图:对比展示了两种主要机型的解析路径差异
- 故障等级判定业务流程图:说明了故障严重程度的判定和预警触发机制
- 数据流转与存储架构图:展示了数据在系统中的流转和存储过程
- 实时监控与预警架构图:说明了预警系统的工作机制和通知渠道
- 系统容错与异常处理架构图:展示了系统的容错能力和异常恢复机制
每个图都使用了不同的颜色来区分不同的业务模块,使得整个系统的架构更加清晰易懂。