摘 要: 网关系统是中国民航固定格式电报网(AFTN)的重要组成部分。介绍了网关系统的组成、结构和功能,并着重阐述了网关系统的进程监护和系统自恢复功能的实现。
关键词: AFTN网关Win32API Get Time DLL
中国民航航空固定格式电报网(AFTN)承担中国民用航空局国内与国际的空中交通管理,飞行动态,航行气象及民航局有关部门业务事物处理等的信息交换,是民用航空飞行安全、正常、高效和经济运转的保障。
AFTN电报网客户端使用大量的电报字符终端和少量的智能终端。字符终端采用50波特率线路,具有收、发、打印功能,不能查询和分板报文。智能终端是基于单台PC机的系统,功能比较齐全。但是在电报量大的单位,单机的智能终端处理速度慢、报文存储量小,特别是不能实现信息的共享、多席位的分工协作。
随着计算机网络技术的发展,管理局一级的单位多建立了自己的计算机局域网和网络数据库,电报的处理、存储能力得到极大的提高,于是,AFTN网关成为AFTN与计算机局域网连接的关键部分。
1 AFTN网关功能分析
从业务角度分析,AFTN网关应提供实时接收来自AFTN电报网的各类电报的能力;提供实时发送各类电报的能力;提供监视平面电报网接口线路的工作状态的能力。
从技术角度分析,AFTN网关具备以下功能:
·AFTN电报网接口,支持双工异步RS-232接口,传输速率可达300,600,1200,2400,4800,9600bps;
·内部计算机网络接口,采用10BASE-T连接,支持TCP/IP协议;
·实现CCITT 5位电报码与ASCII 7位码的相互转换;
·与网络数据库连接,支持开放式数据库接口模块(ODBC);
·具备实时报文发送功能,对多地址报文进行特殊处理;
·监控串行通信口的状态,异常情况报警提示;
·监控网络通信状态,出现异常情况后接收报文的存储转由本地数据库接口负责;
·提供自动恢复功能,待网络恢复正常工作后,恢复与网络数据库的连接并提交存储在本地数据库中的报文。
·检查电报流水号,对遗漏的电报,具备从AFTN电报网自动要报功能。
2 AFTN网关实现
AFTN网关的硬件平台采用高性能PC机。操作系统采用Windows NT workstation 4.0中文版。开发工具采用MS VC++6.0和MS VB 6.0。
2.1 系统连接结构
AFTN网关系统的连接结构如图1所示。AFTN网关通过以太网接口连接到电报处理系统,通过串行接口连调制解调器与转报系统串行端口相联,全双工通信,传输速率1200bps,传送国际五号码(ASCII码)。根据需要也可以使用国际二号码(博多码)。AFTN网关到转报系统使用电流环接口作为备份线路。在AFTN网关一端采用SS-1型“电报通信线路连接器”,经电台码型转换后,通过X.25网接入转报机,全双工通信,传输速率600bps,传送博多码。
2.2 程序结构
AFTN网关由三部分组成,即AFTN网络数据接口进程、数据提交进程、本地进程监控进程,如图2所示。
2.2.1 AFTN网络数据接口进程
通过串行接口与转报机系统连接。接收到的AFTN报文写到本地的Access数据库中同时发送本地Access数据库中的发送电报。AFTN网络数据接口与电报处理系统的网络环境没有任何连接,当电报处理系统出现故障时,不会影响AFTN网络数据接口的正常工作。
2.2.2 数据提交进程
通过开放数据接口与电报处理系统的网络数据库服务器相连接。把AFTN网络数据接口模块写到本地Access数据库中的接收电报提交到网络数据库服务器,同时将网络数据库服务器中要发送的报文写入本地的Access数据库,提交给AFTN网络数据接口发送。数据提交进程与AFTN电报网没有任何连接,当AFTN电报网或转报机系统出现故障时,不会影响数据提交进程的正常工作。
2.2.3 本地进程监控进程
监视AFTN网络数据接口进程和数据提交进程的工作。正常情况下,AFTN网络数据接口进程和数据提交进程每隔30s向本地进程监控进程发送程序状态报告消息,如果在指定的超时范围内,本地进程监控进程仍未收到AFTN网络数据接口进程和数据提交进程发来的程序状态报告消息,则鸣警笛,提醒操作员,同时在适当的时候重新引导系统,以期恢复AFTN网关的正常工作。
2.3 进程监控及自恢复功能的实现
2.3.1 进程监控
系统初始化时生成了状态配置设置文件State.ini,其中与进程监控相关的项目如下所示:
[watdog]
Destination="GDO_Monitor"
FepHearBeat=881218824
DTHeartBeat=881218832
AFTN网络接口进程和数据提交进程每隔30s分别更新FepHeartBeat和DTHeartBeat的数据,数据含义是更新时间与1970年1月1日0时的差值,单位为秒。本地进程监控程序通过检查FepHeartBeat和DTHeartBeat的数据,监测其他两个进程的状态。
VB程序中没有函数可以计算某一时间与1970年1 月1日0时的差距,而VC++中的Time()函数可以实现。使用vc++制作包含Time()函数功能,符合Win32API的动态连接库GetLongTiome.c,在VB中对其调用即可实现此功能。以下为制作动态连接库的部分源代码,包括GetLongTiome.c和GetLongTiome.def。
在VB程序中调用Win32API时先要在全局模块中做如下定义:
Declare function GetLongTime Lib "GetTime"As Long
在程序中以以下方式调用:
LongDate=GetTime()
2.3.2 系统自恢复
在指定的超时范围内,本地进程监控进程仍未检测到AFTN网络数据接口进程和数据提交进程对配置设置文件State.ini的更新,则在适当的时候重新引导系统,以期恢复AFTN网关的正常工作。
本地进程监控进程首先填写系统日志文件,记录错误时间及可能原因;保留当前参数设定,准备重新引导系统后恢复正常工作。最后调用以下函数,重新引导系统:
ExitWindowsEx
(EWX_FORCE1EWX_REBOOT,0)
综上所述,AFTN电报网网关以基于中心网络数据库服务器的客户机/服务器模式工作,提供电报信息处理系统所有客户机一种接收和发送电文的方法。三个应用程序进程之间既相互独立,又相互联系的机制保证了AFTN电报网网关的正常运行。
该AFTN电报网网关在中国民用航空总局总调度室运行了2年,系统稳定可靠,并通过技术鉴定,获得了入网证书。
上一篇:IRIG-E标准FM-FM解调器的有关技术
下一篇:北京公交GPS车辆监控系统研究
- 热门资源推荐
- 热门放大器推荐
- 带硬件同步功能的以太网 PHY 扩大了汽车雷达的覆盖范围
- 芯原推出新一代高性能Vitality架构GPU IP系列 支持DirectX 12和先进的计算能力
- 应对 AI 时代的云工作负载,开发者正加速向 Arm 架构迁移
- NVIDIA 推出高性价比的生成式 AI 超级计算机
- Gartner发布2025年影响基础设施和运营的重要趋势
- 智谱清言英特尔酷睿Ultra专享版发布,离线模型玩转AIPC
- Quobly与意法半导体建立战略合作, 加快量子处理器制造进程,实现大型量子计算解决方
- RTI Connext Drive参展CES 2025,以领先通信框架加速SDV开发
- 黑莓 1.6 亿美元甩卖网络安全业务 Cylance,远低于其 14 亿美元的收购价