• 收藏
  • 加入书签
添加成功
收藏成功
分享

民航自动气象观测数据处理系统设计与应用

陈贤军
  
云栖媒体号
2026年20期
民航广西空管分局 广西南宁 530000

摘要:本文针对民航自动气象观测系统(AWOS)历史数据存储与应用的效率问题,设计并实现了一套基于Visual C++ 和SQL Server 2012 的数据处理平台。通过分表存储机制和自动化统计功能,解决了海量气象数据存储与检索的难题,显著提升了数据利用率和气象服务效率。系统实现了数据自动采集、历史数据导入、气象要素统计与可视化查询等功能,为航空气象研究和业务应用提供了可靠的数据支持。

复杂天气是影响航空安全的主要因素之一, 对机场气象要素的实时探测是保证民航气象服务的主要手段。民用机场配备的自动气象观测系统对跑道起始段、中间地带、停止端进行气象环境探测, 自动气象观测系统历史数据对于研究本场气候变化规律和气候特征具有重要意义。为满足用户对气象资料多方面、多样化的需求, 效率和存储安全性,本文基于 Visual C++ 和SQL Server 2012 开发了自动气象观测数据处理系统 对自动气象观测系 动采集、解析、分表存储以及历史数据统计等进行了全流程设计与实现,并展示了实际应用中的历史数据统计结果和系统使用情况,为航 人员提供更高效的数据支持,全面提升民航气象服务水平,并为航空气象资料二次开发和气象大模型数据集的建立提供平台支撑。

1. 系统总体设计

1.1 开发平台与架构

后台程序运行稳定、可靠是确保数据完整性和连续的基础,自动气象观测数据处理系统使用Visual C ++ 和SQL Server 2012 作为后台运行程序和数据库,使用 C++ 提供的串行通信控件 MSComm 采集自动气象观测数据,通过 ADO 程序对象连接数据库,使用 Office 提供的COM 组件读取自动气象观测系统历史文件。SQL Server 提供的索引、group by 分组和聚合函数对重量级的数据查询和数据统计具有一定的优势。

如图1 所示,系统采用三层架构,存储层基于RAID 磁盘阵列,确保数据安全性与大容量存储;数据处理层使用SQL Server 2012 数据库,按时间和气象要素分表存储数据;应用层基于B/S 架构提供数据查询、统计分析和可视化功能,支持B/S 架构访问。

图1 系统架构

1.2 核心业务流程

系统核心业务流程包括数据采集、解析、入库和统计几个主要部分。南宁机场自动气象观测系统设计有两种专门的输出接口,可通过网络和串口方式输出自动气象观测数据供外部系统获取。数据解析通过编写后台应用程序,采集自动气象观测数据,使用 MSComm 控件创建 OnCommMscomm1 事件来监听本机服务器串口,获取串口缓冲区的字符。编写一个解析自动气象观测系统消息格式的类,创建线程处理串口接收到字符串消息,提取消息数据域中的数据项,根据消息中的时间戳判断是否需要创建新的数据表,并将消息类型的数据项录入数据表进行入库。系统可自动对自动气象观测历史数据分年份和气象要素进行统计,计算出用户需要的统计结果,用户可以通过系统提供的网页前端查询自动气象观测历史数据和统计结果数据。

2. 功能设计与实现

2.1 数据解析

南宁机场自动气象观测系统采用双接口输出模式,确保数据获取的可靠性与安全性。网络接口基于 TCP 协议实现高速数据传输,适用于实时性要求高的业务场景,系统通过多线程技术实时监听对应网络端口触发数据解析。串口服务器接口采用物理隔离方式对外服务,通过RS-232/485 等串行通信协议传输数据,有效隔离业务网络,提升系统安全性,系统通过多线程技术实时监听串口缓冲区触发数据解析。系统输出的数据格式严格遵循航标九标准。数据以消息流形式传输,消息包含一个消息头域和数据部分,数据部分由一个或多个数据域构成,用控制符 SOH、STX、ETX 和 EOT 作为分割。控制符 SOH 和第一个 ETX 部分为消息头域,STX 和 ETX 分隔部分为数据域,EOT 为结束控制符。后台应用程序监听服务器串口缓冲区数据流,当数据流满足符合消息格式时,则对消息进行处理,提取数据域中的数据项,并录入数据库相应的数据表中。

2.2 数据补录机制

正常情况下,处理系统后台程序自动采集自动气象观测数据,为确保数据的完整性和连续性,用户可以通过后台程序提供的人工补录数据的接口补录缺失的数据。该功能主要是防止后台运行程序停止工作、自动气象观测系统数据输出故障而导致数据无法入库、数据库数据不连续。

人工补录功能可以对自动气象观测系统历史文件和自动气象观测系统输出的航标 9 数据留底文件解析处理。分别使用 Office 提供的COM 组件相关的类、CStdioFile 类读取自动气象观测系统历史文件和航标 9 数据留底文件,解析消息数据域中的数据项,根据消息中的时间戳将消息类型的数据项录入相应的数据表。

2.3 数据分表存储

自动气象观测数据按要素分类包括风、温度、湿度、雨量、气压、雨量、能见度、云等,按时间分类包括实时数值、一分钟平均值、一分钟最大值、一分钟最小值、十分钟平均值等数据,数据记录频率为分钟级别,一年的数据量在千万级别,使用单表存储,结构性差,数据量庞大。当一个应用的数据量过大时,用单表来存储会严重影响操作速度,数据库的访问速度急剧下降,甚至导致数据库服务停止工作,降低系统的稳定性和访问效率。为提高系统稳定性及使用效率,本系统采用SQL Server 2012 建立一个本地数据库,后台应用程序根据自动观测消息类型和时间进行自动分表存储,按自然时间、要素进行分表,考虑一个要素用一年的数据作为一个表存储。例如,2010Year_WIND 用来存储AWOS 2010 年风向风速数据,表结构参照航标9 格式。

根据解析到的气象数据中的时间戳、气象要素类型动态创建数据表,具体实现方法如下:数据库中创建每个气象要素的模板数据表,数据表包括数据表结构和索引、主键、约束、默认值等;程序通过触发执行SELECT INTO 复制基本列结构,如执行select * into [MHAPP].[2025Year_WIND] from AWOS_WIND where 1=0 ;使用单独的 CREATE/ALTER 语句创建索引和约束。图 2 为 AWOS 数据的入库流程,数据库服务器后台程序通过 TCP 方式接收自动气象观测系统航标 9 数据,进行解码、判断要素所在年份的数据表是否存在,数据表存在则进行入库操作,数据表不存在则根据[MHAPP].[YYYYYear_ 要素名称] 的命名格式创建数据表,再进行入库操作。

图 2 AWOS 数据入库流程

在查询效率方面,通过将千万级数据按气象要素和时间维度进行垂直与水平分片,使单表数据量从千万行降至百万行级。通过实测,15 年历史数据统计耗时比单表模式降低近几十倍。在写入吞吐方面,分表后各表独立维护索引结构,避免了单表索引膨胀导致的写入性能衰减。实际部署中,南宁机场系统的数据写入吞吐比单表模式提升 10 倍以上,满足分钟级气象数据的实时入库需求,且单表存储数据逐年增加,写入吞吐不可逆。动态分表机制可自动按年份创建新表,消除传统单表模式中因历史数据累积导致的写入延迟波动问题。在多维分析支持方面,分表结构与气象业务逻辑高度契合。例如,研究风速变化规律时,直接查询[MHAPP].[20xxYear_WIND] 系列表;分析年温度趋势时,访问 [MHAPP].[20xxYear_HUMITEMP] 表集,相比单表模式减少 80% 以上的计算资源浪费。

2.4 自动化数据统计

AWOS 历史数据分表储存,并且记录数量庞大,为实现对AWOS 历史数据自动化统计,对历史数据进行预处理。首先对数据表进行分组查询,计算相关气象要素历史日最大、最小、平均值,计算结果存放到 [AWOSPro_Pre] 数据表中,对数据表相关气象要素数据统计分析、计算,可得到年、月、日的最大、最小、平均值等统计结果。处理后的 AWOS 数据存储在 [AWOSPro] 数据表中,可供重要天气案例复盘、AI 模型训练数据集等调用。

3. 系统应用与效果分析

为了使用户更方便快捷地查询到自动气象观测数据和统计结果,系统通过网页提供数据可视化界面服务。通过界面设置时间范围和气象要素,可以查看相关气象要素的曲线分布图,或通过数据统计菜单查询气象要素的年、月、日平均统计结果。

历史数据统计分析模块主要利用数据库服务器中采集并分表储存好的数据,使用 Echart 框架为用户提供数据可视化服务。检索可得到风、温度、湿度、气压、跑道视程、降水量等气象要素的曲线分布图。用户可查询根据 AWOS 历史数据统计得到历年年降水量、降水量月平均值、降水量月最大值、温度月平均值、湿度月平均值等统计结果。如图 3 所示,选择查询时间和气象要素,即可显示所有跑道端的气象要素变化情况,也可输出所选择的数据到本地进行二次开发。

图 3 AWOS 历史数据查询

通过自动气象观测数据历史库气压数据统计,可对传感器历史数据变化进行查询,分析在典型天气过程中重要传感器数值变化,以了解在极端天气下传感器性能是否符合相关法规要求,对运维工作给出指导意见。如查询跑道两端气压传感器的变化数值,相邻两分钟气压变化 ΔP ≤ 0.1(单位:hPa/min)占比 86.8%-90.92%,0.1 < ΔP ≤ 0.2 占比 9.36%-12.80%,0.2 < ΔP ≤ 0.3 占比 0.02%-0.36%,ΔP>0.3 占比 <0.05%,基本满足民用航空自动气象观测系统技术规范对气压传感器的要求。在日常维护工作中,气压发生突发性跳变时,维护人员根据研究结果及时人工干预,分析跳变是由于真实天气过程造成的数值跳变还是由于传感器故障或受到干扰造成的非物理性跳变。历年来,重要天气可通过统计 AWOS 历史数据中的气象要素是否达到重要天气的阈值来判定。系统提供对历史天气案例的查询功能,可供预报员参照历年重要天气状况,更好对未来天气做好决策分析,可提取的重要天气类型有强降雨、大风、高温、低能见度、冻雨、冰雹等。

4. 结论与展望

自动气象观测数据处理系统为气象服务及气候研究工作提供了大量准确、可靠的数据。系统搭建了自动气象观测数据库,对数据进行解码、验证、入库、统计,用户可通过信息共享平台提供的数据接口调取南宁机场自动气象观测系统投入使用以来的数据和统计结果,有效提高了气象服务工作效率和气象数据的使用率。系统实现了气象资料从“存储”向“服务”的转变,提升了资料检索效率、数据安全性与统计分析能力,其架构与方法在资料组织、存储优化与服务应用方面具有工程实用价值可为同类民航气象系统建设提供参考。

自动气象观测数据处理系统在实际运行中稳定、可靠,应用效果良好,但数据的高效存储和个性化服务仍需不断完善,以满足更高的业务需求。未来可结合 AI 与其他探测资料,建立更高质量的航空气象数据集,实现个性化气象服务和智能化分析,有望成为智慧民航建设的核心基础设施之一,进一步提升飞行安全和气象服务质量。

参考文献:

[1] 王丽霞, 王曙光. 树型多级目录与检索路径——试谈计算机硬盘文件管理[J]. 图书馆学研究, 1987(5):3.

[2] 姬渭孟, 于雪莲. 基于数据库代理实现数据库分表、分库访问的方案研究[J]. 数字通信世界,2019

[3] 陈阳权 , 杜安妮 , 王楠楠 . 基于航空气象报文的机场重要天气统计分析平台的实现与应用 [J]. 计算机科学与应用 , 2021,11(11): 2795-2803.

[4]AP-117-TM-2021-01R2 民用航空气象地面观测规范 [S]. 北京 : 中国民用航空局 , 2021.

[5]AP-117-TM-2012-03 民用航空自动气象观测系统技术规范 [S]. 北京 : 中国民用航空局 , 2012.

*本文暂不支持打印功能

monitor