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报文解析系统的工作原理:

  1. 总体业务架构图:展示了从数据接收到最终输出的完整业务流程
  2. 报文类型解析流程图:详细说明了不同类型报文的识别和处理逻辑
  3. 空客vs波音解析差异架构图:对比展示了两种主要机型的解析路径差异
  4. 故障等级判定业务流程图:说明了故障严重程度的判定和预警触发机制
  5. 数据流转与存储架构图:展示了数据在系统中的流转和存储过程
  6. 实时监控与预警架构图:说明了预警系统的工作机制和通知渠道
  7. 系统容错与异常处理架构图:展示了系统的容错能力和异常恢复机制

每个图都使用了不同的颜色来区分不同的业务模块,使得整个系统的架构更加清晰易懂。