低空空域综合管理系统软件架构研究

2010-09-08 02:13韩松臣朱新平
关键词:低空空域管理系统

尧 丰,韩松臣,朱新平

(南京航空航天大学民航学院,江苏南京 210016)

低空空域是国家空域体系的重要组成部分,按照国际民航组织的空域分类标准[1],低空空域是指除了A类(绝对管制空域),B、C类(进近管制空域),D类(机场管制地带)等公共运输航空主要使用的空域,以及特殊用途空域(如军航训练空域、空中禁区、限制区和危险区)之外的所有空域,通常又可以按照限制等级和服务类型细分为 E、F、G 类空域。

低空空域综合管理系统是通用航空运行管理系统的重要组成部分,建立高效的低空空域综合管理系统具有重要的实际意义。王伟、刘松[2]等人通过分析低空空域的属性、分类及特点,借鉴国外低空空域管理的先进经验,对我国低空空域的管理进行了思考,并提出了低空空域管理的设想。陈泐[3]基于新航行系统技术,结合当今一些先进的技术和优秀的算法,提出了一种高性价比的通用航空飞行保障系统,即基于GIS、GPS通用航空飞行保障系统,并对相关技术要点进行了阐述。

随着Internet/Intranet的普及,基于J2EE的Web技术迅猛发展,各种框架技术的不断成熟,为建立低空空域综合管理系统提供了有力的支持。因此,基于J2EE体系结构,笔者提出了集成Struts和Hibernate框架的低空空域综合管理系统架构模型,并对系统逻辑结构、功能模块划分和具体的业务流程进行了分析。

1 需求分析与设计

1.1 系统设计目的

低空空域管理涉及到通信、导航、监视、气象和情报服务等职能部门。在长期的通用航空运行中暴露出一系列的问题[4],表现为:①空域设施覆盖面达不到要求;②飞行情报系统不健全;③通用航空运行过程中整体协作能力不强,通航飞行活动单位获取所需信息过程繁杂,工作效率不高,影响飞行安全。

该系统的设计目标是在现有空管系统的基础上,利用现代卫星通信技术,将飞行服务站与通用航空机载GPS导航仪、应答机相关数据进行联网,建立一种新型低空空域综合管理系统,加强低空空域管理,全面监控和跟踪通用航空飞行动态。同时,利用计算机技术和地面通信,将飞行服务站、通用航空服务管理机构、通用航空飞行活动单位及个人进行信息资源整合,实现信息共享,提高低空空域使用效率和监管力度,为保证低空空域内的一切飞行奠定良好基础。

1.2 系统的功能模块

根据低空空域综合管理系统工作的实际需求,低空空域综合管理系统主要包括:①通信、导航、监视、气象和情报服务模块。通用航空运输除了对通信、气象和情报服务具有额外要求外,在导航和监视方面基本上是利用国家现有的用于公共运输航空服务的设施设备。②飞行服务站模块。其包括飞行前计划、标准天气讲解、简短讲解、展望讲解、飞行计划、飞行中天气讲解、航站预报、高空风温预报、区域预报、飞行中咨询和飞行员报告等子功能,主要向通用航空飞行提供飞行情报等服务,可以有效地减轻空中交通管制系统的负荷。③飞行中咨询模块。其主要应对通航飞行活动单位迷航等特情发生时及时与地面飞行服务站的联系。此外,还包括一些其他的外围模块。低空空域综合管理系统具体的功能模块如图1所示。

图1 低空空域综合管理系统功能模块图

1.3 系统的网络拓扑结构设计

通用航空单位可以通过浏览器登录系统,提交飞行计划,接收航空气象信息、气象通播信息和告警信息等信息,而低空空域管理单位需要对用户的需求给予满足,包括飞行计划审批、修改、冲突探测、航迹配对、逻辑检查及提供航空气象信息、气象通播、告警和实时咨询等服务。低空空域综合管理系统网络拓扑结构设计如图2所示。

2 系统架构设计思路

图2 低空空域综合管理系统网络拓扑结构设计

由于低空空域综合管理系统对实时性、稳定性和可靠性有很高的要求,因此,整个系统应该易于维护和扩展,并且系统需要兼顾到外部设备如GIS、GPS和移动端的接入。以目前的技术建立B/S结构的网络拓扑,并通过Internet/Intranet模式下数据库应用,能够实现界面友好、可操作性强、维护方便,成本也较低,还能实现不同的低空空域使用用户从不同的地点,以不同的接入方式(比如 LAN、WAN、Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。但传统的B/S[5](Brower/Server)模式对高要求的低空空域综合管理系统消息传递的实时性和可靠性是无法满足的,然而对相对发展已非常成熟的 C/S[6](Client/Server)来说,通信双方通过建立TCP/IP套接字就能很好的实现。但C/S体系结构投资大,维护成本高且难于升级。因此综合考虑B/S和C/S两者的优势,以及J2EE平台跨平台、中间件技术和多层结构等技术性能优点,采用基于J2EE技术的B/S和C/S模式相结合的3层系统架构,并利用Java消息服务(JMS)实现低空空域综合管理系统中各种信息的异步通信是一个比较理想的解决方案。

通过对各种解决方案和框架结构的比较,中间层和持久层选择Java技术作为开发的应用技术。该系统的飞行服务站、通信、导航、监视、气象、情报及飞行中咨询等几大模块相对独立,但都很复杂,涉及到大量的数据处理与复杂的业务流程,因此,集成的 Struts[7-8]与 Hibernate[9-10]架构刚好适合于开发这个系统,并能节约开发时间和开发成本。

3 系统的总体架构设计

该系统采用客户浏览器/应用服务器/数据库架构模式,前台表示层使用JSP技术通过浏览器实现;中间层(Web层和业务层)使用Struts框架和JavaBean等技术来实现,以满足业务需要;持久层通过Hibernate框架提供对数据库的操作支持;后台数据库使用SQL Server 2000数据库,并根据系统相应功能模块分成飞行计划数据库、航行情报数据库和航空气象数据库分别设计。集成Struts和Hibernate框架的低空空域综合管理系统总体架构如图3所示。

图3 低空空域综合管理系统总体架构设计示意图

该系统具有如下优点:

(1)合理划分各层的功能,降低层与层之间的耦合,从而使整个系统在逻辑结构上更为清晰,可提高系统的可维护性和可扩展性。

(2)Web层的开发和维护更为方便。该系统把应用程序分成3个部分,即模型、视图和控制器,并采用主流的Struts框架技术来实现各个部分,它们相互协作,完成不同的任务。由于所有的页面跳转都集中在XML配置文件中定义,因此,可提高程序的可读性和可维护性。

(3)Hibernate持久层实现技术提高了系统的移植性。运用MVC模式的Struts框架虽然在总体上实现了对逻辑、显示和控制的分离,但是它没有提供对复杂的持久层的支持。因此,该系统采用Hibernate,可以弥补Struts框架在持久层操作中的不足,它对数据库操作的大多数技术细节进行了封装,经过Hibernate的O/R映射的配置文件可以将数据库表与持久层对象对应起来,完全符合Java中面向对象的开发思想。由于Hibernate对不同的数据库都有良好的支持,只需简单修改Hibernate中的配置文件hibernate.cfg.xml就可实现底层数据库的切换,提高系统的移植性。

(4)考虑到外部设备如地理信息系统GPS/GIS、移动端,系统利用外置天线接入,进行实时传递外部实时信息,与系统逻辑层进行无缝对接,并在表示层进行显示,把接收到的信息通过中间层处理,存储到空间数据库中,可提高系统的兼容性和生存周期。

4 系统开发

4.1 系统开发流程

低空空域使用用户在表示层运行的浏览器中,通过JSP页面实现交互,传送飞行计划、飞行态势监视、冲突探测及低高度告警和航行情报等方面的信息请求和接受响应。Web层中的Struts通过ActionServlet接收请求,并将请求交给Request-Processor来处理。Request-Processor根据请求的URL从ActionMapping中得到与之相对应的Action,并根据请求的参数实例化响应中的ActionForm,再经过Form验证。业务层负责向Action提供业务模型组件和该组件的协作对象数据处理(DAO)组件来完成相关的业务逻辑,并提供事务处理、缓冲池等容器组件提升系统性能和保证数据完整。在持久层中,依赖Hibernate的对象化映射和数据库交互来处理DAO组件请求的数据,并返回处理结果。在逻辑层中,低空空域综合管理系统通过移动信号接收组件,传送和接收GPS/GIS、移动端等硬件端口的信息,以实现系统的实时性和健壮性,可充分发挥本系统的功能优势。

4.2 系统界面实现

系统界面的实现是系统开发过程中的关键,即完成系统中所要求的各功能模块,由于篇幅的限制,只描述对飞行计划服务子系统进行的研究。

飞行计划服务子系统主要由Login.jsp、CFPServer.jsp、NewPlan.jsp、NewTrack.jsp 等几个 jsp页面和 LoginServlet.java、CFPServlet.java、NewP-lanServlet.java、CheckServlet.java、NewTrackServlet.java等Servlet类构成。

其中Login.jsp的主要功能是提供用户登录和注册界面,它将业务需求提交给对应的Servlet类LoginServlet来完成用户合法性检验或注册新用户到数据库等功能。

CFPServer.jsp显示所有的飞行计划及他们所处的状态,并提供申请和删除新飞行计划以及对飞行计划的审查等链接。同样,业务逻辑实现以及对数据库的操作也通过对应的Servlet类CF-PServlet来实现。低空空域飞行计划申报操作如图4所示。

图4 低空空域飞行计划申报操作界面

NewPlan.jsp和NewPlanServlet.java分别提供添加新飞行计划的页面显示和操作处理功能。

Checkup.jsp和CheckServlet.java分别提供飞行计划的审查和状态管理的页面显示和操作功能。

NewTrack.jsp和NewTrackServlet.java分别提供对任一飞行计划添加新航迹点的页面显示和操作功能。

4.3 系统测试

按照系统开发流程完成子系统开发后,系统测试工作是必不可少的。将开发完的系统进行打包,在不同的客户端(通用航空运营部门、军航管制部门、管制员)进行测试,以检验系统是否正常运行并能完成各种功能,若出现异常,则需要改进完善,然后再进行测试,如此循环,直至系统在不同的环境中都能正常运行并实现各模块的功能。图5为对低空空域中飞行计划子系统进行测试的显示表格。

图5 低空空域飞行计划测试表格

5 结论

介绍了低空空域综合管理系统的研究现状,对低空空域综合管理系统进行需求分析及设计,根据应用需求对系统进行了具体的网络拓扑结构设计,以及系统的开发与测试。结果表明,采用Struts和Hibernate框架提高了系统的开发效率,使开发的系统有质的飞跃。

[1]International Civil Aviation Organization(ICAO).Air traffic services,annex 11 to the convention on international civil aviation [J].Montreal International Civil Aviation Organization,2001,13(2):3-4.

[2]王伟,刘松.关于我国低空空域管理问题的思考[J].空中交通管理,2006(5):4-10.

[3]陈泐.基于GIS、GPS通用航空飞行保障系统[D].南京:南京航空航天大学图书馆,2007.

[4]刘晓红,左保龙.我国低空空域开放有关问题的思考[J].空中交通管理,2008(3):4-6.

[5]杜鑫.基于C/S和B/S的家政管理系统的分析和设计[J].电脑知识与技术,2006,17(3):13-15.

[6]陈旭,刘加伶.Client/Server与Browser/Server结构的分析与比较[J].重庆工学院学报,2000,38(4):100-103.

[7]曹广鑫,王谢华.Struts数据库项目开发宝典[M].北京:电子工业出版社,2005:89-97.

[8]飞思科技产品研发中心.精通JBuilder9[M].北京:电子工业出版社,2003:389-393.

[9]胡小丹,魏长军.基于 Struts+Spring+Hibernate架构的能源管理系统的研究[J].计算机与现代化,2006(12):25-30.

[10]徐长盛,戴超,谢立.J2EE数据持久化技术的研究[J].计算机应用与软件,2006,23(4):56-57.

猜你喜欢
低空空域管理系统
基于James的院内邮件管理系统的实现
我国全空域防空体系精彩亮相珠海航展
基于LED联动显示的违停管理系统
低空自由飞行短期冲突探测算法
海盾压载水管理系统
基于贝叶斯估计的短时空域扇区交通流量预测
无题(2)
浅谈我国低空空域运行管理现状及发展
基于能量空域调控的射频加热花生酱均匀性研究
低空无人机在测绘中的应用分析