李树文,王爱矛,盛震宇,邢 朦
(中国船舶重工集团公司第七二四研究所,南京 211153)
基于侦测系统的系统管理软件的架构设计与实现
李树文,王爱矛,盛震宇,邢朦
(中国船舶重工集团公司第七二四研究所,南京 211153)
摘要:针对现代侦测系统综合化和信息化的发展趋势,分析了侦测系统的特点,采用四层架构模式设计实现了侦测系统的系统管理软件。在需求变化的情况下,通过软件的扩展接口,可使系统管理软件具有管理灵活、模块通用、可扩展特点。
关键词:侦测系统;四层架构;系统管理;软件扩展
0引言
随着电子技术的发展,现代军事装备的设备复杂化程度在不断增加。在装备有多种侦查设备的侦测系统中,如何对多个设备进行管理和协同工作,以及如何对多个设备侦测到的信息数据进行存储、挖掘、统计分析等操作变得至关重要。而作为侦测系统的系统管理软件在系统中起着举足轻重的作用,其操作灵活性、可扩展性、稳定性及维护性尤其重要。一般侦测系统软件组成主要包括9个软件单元:多源信息控制与融合软件单元、对外接口软件单元、数据采集与分析软件单元、安全管理软件单元、系统管理控制软件单元、控制硬件MIO软件单元、数据库服务管理软件单元、显示与控制软件单元、信息处理软件单元。
1软件架构设计
软件架构设计的目的是为了使软件系统能够适应需求的变更、易于维护和升级,同时尽可能地节约开发成本[1]。在软件的架构设计中,常用的架构模式有三层/四层开发架构、SOA(面向服务架构)、DDD(领域驱动设计)等,目的在于实现高内聚、低耦合的思想[3]。由于系统管理软件需要处理系统内大量不同实体间复杂的逻辑业务关系,需要用到大量的事件、消息、多线程等方式,采用分层架构比较合适且方便后期扩展和维护。本文采用四层架构进行设计。根据侦测系统的业务逻辑将系统管理软件抽象成四层,即用户界面层(UI层)、问题领域层(PD层)、数据管理层(DM层)和系统交互层(SI层)[2]。用户界面层主要实现人机交互和各类信息进行显示,负责提供侦测系统内设备的管理控制,同时与外部系统进行协同工作,包括界面展现和控制软件单元、对外交互软件单元等。问题领域层主要用于对上下层之间交互数据的逻辑处理,包括操控和调度管理软件单元、故障检测和维护软件单元、领域可扩展软件单元等。数据管理层主要完成对侦测系统中数据的分发、分析、加工、获取等,主要包括数据记录和回放软件单元、系统版本管理软件单元、系统配置管理软件单元等。系统交互层负责封装光纤采集卡、采集器、数据库服务器的具体交互方式,包括各类原始数据的采集和控制命令的下传等操作,主要包括数据查询软件单元、数据库管理维护软件单元等。该软件架构整体示意图如图1所示。
图1 软件架构整体示意图
2软件内各软件单元的设计
软件单元设计是描述系统需求的一个过程,需要将需求中的感性描述进行抽象,提取要实现的功能,是整个系统开发的一个关键过程[4]。根据需求,系统管理软件设计分为界面展现和控制软件单元、对外交互软件单元、数据库管理维护软件单元,以及数据库记录与回放软件单元、任务调度与操控软件单元、故障检测和恢复软件单元、系统版本管理软件单元、系统配置管理软件单元、数据库查询接口软件单元。各软件单元完成的功能如下:
(1) 界面展现和控制软件单元:实现系统信息的显示和对系统内设备的控制。
(2) 对外交互软件单元主要实现:向其他侦测系统发送协同侦察请求,或响应其他侦测系统的协同侦察请求,控制系统进行协同控制,同时完成内外系统的数据格式化。
(3) 数据库管理维护软件单元主要实现:数据库的备份、还原、故障修复及完成数据库的同步更新工作。
(4) 数据记录和回放软件单元主要完成:对系统内各类信息的入库、回放等操作,为研究人员提供二次分析的资料。
(5) 操控和调度管理软件单元主要完成系统内操控的转发、分析、加工等工作。
(6) 故障检测和维护软件单元主要完成系统各个软硬件模块的故障检测、显示、对外上报、开关机的初始化控制等工作。
(7) 系统版本管理软件单元主要完成系统各个模块的软件版本的上传、下载等更新和入库备份、还原操作。
(8) 系统配置管理软件单元主要完成系统各个模块初始化参数的推送和系统实时工作参数的分发等工作。
(9) 数据查询软件单元主要完成系统内对数据库中数据的插入、更新等操作,以及用户操作相关界面完成侦测信息的查询,包括目标活动规律查询、系统工作日志查询等。
3软件各接口的设计
由上文知,一般侦测软件系统由9大软件单元组成,软件的设计中最重要的就是其软件各个单元间的业务通信机制,即接口设计。接口设计是后期代码编制的基石。所以,接口设计的好坏直接决定软件系统的复杂性和扩展性。本文对软件系统中的各个软件单元根据其在问题领域中的功能进行切割分类。系统管理软件和系统内其他软件单元都有业务通讯。图2展示了侦测系统内其他软件单元与系统管理软件单元的接口关系,从中可看出系统管理软件的重要性。
图2 系统管理软件单元与其他软件单元接口图
在图2基础上,后期的编码中采用数据抽象(ADT)、多态和继承类的方式抽象出软件单元。软件单元由一组类表达,方便后期的扩展和维护。由于系统内各个软件单元的交互频繁且产生的数据量大,本软件采用消息队列、事件、多线程、内存映射、双缓冲等技术构建软件工作流引擎,使得本软件在多任务、高频率、大流量数据时整个工作流不堵塞。
4结束语
本软件在服务器上作为后台程序运行,其中的所有功能和服务都是自动运行,无需人工交互。该软件已经在多套装备中实际应用,目前运行状态良好,具备完善的系统管理和数据存储功能,可将数据永久保存在后台数据库。由于该软件具备通用性好、管理功能完善等特点,可以在更多的侦测系统中得到广泛应用,进而指导相关领域的开发活动。
参考文献:
[1]MartinFowler.企业应用架构模式[M].北京:机械工业出版社,2010:122-163.
[2]ErichGamm,RichardHelm,RalphJohson,JohnVlissides.设计模式:可复用面向对象软件的基础[M].北京:机械工业出版社,2007:112-136.
[3]MartinFowler.重构:改善既有代码的设计[M].北京:人民邮电出版社,2010:66-96.
[4]温昱.软件架构设计[M].北京:电子工业出版社,2012:218-222
Designandimplementationofsystemmanagementsoftwarebasedondetectionsystem
LIShu-wen,WANGAi-mao,SHENGZhen-yu,XINGMeng
(No.724ResearchInstituteofCSIC,Nanjing211153)
Abstract:In view of the integrated and information development trends of modern detection systems, the characteristics of the detection system are analyzed, and the system management software is designed and implemented via the four-tier architecture. In the case of the changed requirements, the adoption of the scalable software interfaces can make the system management software feature flexible management, universal module and scalable capability.
Keywords:detection system; four-tier architecture; system management; software scalability
收稿日期:2016-03-20;修回日期:2016-03-30
作者简介:李树文(1982-),男,工程师,硕士,研究方向:雷达显示控制、数据存储;王爱矛(1983-),男,工程师,硕士,雷达总体测试和可靠性技术;盛震宇(1989-),男,助理工程师,硕士,雷达显示控制、数据存储;邢朦(1988-),女,工程师,硕士,雷达显示控制。
中图分类号:TP311
文献标志码:A
文章编号:1009-0401(2016)02-0066-03