李樹(shù)文,王愛(ài)矛,盛震宇,邢 朦
(中國(guó)船舶重工集團(tuán)公司第七二四研究所,南京 211153)
基于偵測(cè)系統(tǒng)的系統(tǒng)管理軟件的架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)
李樹(shù)文,王愛(ài)矛,盛震宇,邢朦
(中國(guó)船舶重工集團(tuán)公司第七二四研究所,南京 211153)
摘要:針對(duì)現(xiàn)代偵測(cè)系統(tǒng)綜合化和信息化的發(fā)展趨勢(shì),分析了偵測(cè)系統(tǒng)的特點(diǎn),采用四層架構(gòu)模式設(shè)計(jì)實(shí)現(xiàn)了偵測(cè)系統(tǒng)的系統(tǒng)管理軟件。在需求變化的情況下,通過(guò)軟件的擴(kuò)展接口,可使系統(tǒng)管理軟件具有管理靈活、模塊通用、可擴(kuò)展特點(diǎn)。
關(guān)鍵詞:偵測(cè)系統(tǒng);四層架構(gòu);系統(tǒng)管理;軟件擴(kuò)展
0引言
隨著電子技術(shù)的發(fā)展,現(xiàn)代軍事裝備的設(shè)備復(fù)雜化程度在不斷增加。在裝備有多種偵查設(shè)備的偵測(cè)系統(tǒng)中,如何對(duì)多個(gè)設(shè)備進(jìn)行管理和協(xié)同工作,以及如何對(duì)多個(gè)設(shè)備偵測(cè)到的信息數(shù)據(jù)進(jìn)行存儲(chǔ)、挖掘、統(tǒng)計(jì)分析等操作變得至關(guān)重要。而作為偵測(cè)系統(tǒng)的系統(tǒng)管理軟件在系統(tǒng)中起著舉足輕重的作用,其操作靈活性、可擴(kuò)展性、穩(wěn)定性及維護(hù)性尤其重要。一般偵測(cè)系統(tǒng)軟件組成主要包括9個(gè)軟件單元:多源信息控制與融合軟件單元、對(duì)外接口軟件單元、數(shù)據(jù)采集與分析軟件單元、安全管理軟件單元、系統(tǒng)管理控制軟件單元、控制硬件MIO軟件單元、數(shù)據(jù)庫(kù)服務(wù)管理軟件單元、顯示與控制軟件單元、信息處理軟件單元。
1軟件架構(gòu)設(shè)計(jì)
軟件架構(gòu)設(shè)計(jì)的目的是為了使軟件系統(tǒng)能夠適應(yīng)需求的變更、易于維護(hù)和升級(jí),同時(shí)盡可能地節(jié)約開(kāi)發(fā)成本[1]。在軟件的架構(gòu)設(shè)計(jì)中,常用的架構(gòu)模式有三層/四層開(kāi)發(fā)架構(gòu)、SOA(面向服務(wù)架構(gòu))、DDD(領(lǐng)域驅(qū)動(dòng)設(shè)計(jì))等,目的在于實(shí)現(xiàn)高內(nèi)聚、低耦合的思想[3]。由于系統(tǒng)管理軟件需要處理系統(tǒng)內(nèi)大量不同實(shí)體間復(fù)雜的邏輯業(yè)務(wù)關(guān)系,需要用到大量的事件、消息、多線程等方式,采用分層架構(gòu)比較合適且方便后期擴(kuò)展和維護(hù)。本文采用四層架構(gòu)進(jìn)行設(shè)計(jì)。根據(jù)偵測(cè)系統(tǒng)的業(yè)務(wù)邏輯將系統(tǒng)管理軟件抽象成四層,即用戶界面層(UI層)、問(wèn)題領(lǐng)域?qū)?PD層)、數(shù)據(jù)管理層(DM層)和系統(tǒng)交互層(SI層)[2]。用戶界面層主要實(shí)現(xiàn)人機(jī)交互和各類(lèi)信息進(jìn)行顯示,負(fù)責(zé)提供偵測(cè)系統(tǒng)內(nèi)設(shè)備的管理控制,同時(shí)與外部系統(tǒng)進(jìn)行協(xié)同工作,包括界面展現(xiàn)和控制軟件單元、對(duì)外交互軟件單元等。問(wèn)題領(lǐng)域?qū)又饕糜趯?duì)上下層之間交互數(shù)據(jù)的邏輯處理,包括操控和調(diào)度管理軟件單元、故障檢測(cè)和維護(hù)軟件單元、領(lǐng)域可擴(kuò)展軟件單元等。數(shù)據(jù)管理層主要完成對(duì)偵測(cè)系統(tǒng)中數(shù)據(jù)的分發(fā)、分析、加工、獲取等,主要包括數(shù)據(jù)記錄和回放軟件單元、系統(tǒng)版本管理軟件單元、系統(tǒng)配置管理軟件單元等。系統(tǒng)交互層負(fù)責(zé)封裝光纖采集卡、采集器、數(shù)據(jù)庫(kù)服務(wù)器的具體交互方式,包括各類(lèi)原始數(shù)據(jù)的采集和控制命令的下傳等操作,主要包括數(shù)據(jù)查詢軟件單元、數(shù)據(jù)庫(kù)管理維護(hù)軟件單元等。該軟件架構(gòu)整體示意圖如圖1所示。
圖1 軟件架構(gòu)整體示意圖
2軟件內(nèi)各軟件單元的設(shè)計(jì)
軟件單元設(shè)計(jì)是描述系統(tǒng)需求的一個(gè)過(guò)程,需要將需求中的感性描述進(jìn)行抽象,提取要實(shí)現(xiàn)的功能,是整個(gè)系統(tǒng)開(kāi)發(fā)的一個(gè)關(guān)鍵過(guò)程[4]。根據(jù)需求,系統(tǒng)管理軟件設(shè)計(jì)分為界面展現(xiàn)和控制軟件單元、對(duì)外交互軟件單元、數(shù)據(jù)庫(kù)管理維護(hù)軟件單元,以及數(shù)據(jù)庫(kù)記錄與回放軟件單元、任務(wù)調(diào)度與操控軟件單元、故障檢測(cè)和恢復(fù)軟件單元、系統(tǒng)版本管理軟件單元、系統(tǒng)配置管理軟件單元、數(shù)據(jù)庫(kù)查詢接口軟件單元。各軟件單元完成的功能如下:
(1) 界面展現(xiàn)和控制軟件單元:實(shí)現(xiàn)系統(tǒng)信息的顯示和對(duì)系統(tǒng)內(nèi)設(shè)備的控制。
(2) 對(duì)外交互軟件單元主要實(shí)現(xiàn):向其他偵測(cè)系統(tǒng)發(fā)送協(xié)同偵察請(qǐng)求,或響應(yīng)其他偵測(cè)系統(tǒng)的協(xié)同偵察請(qǐng)求,控制系統(tǒng)進(jìn)行協(xié)同控制,同時(shí)完成內(nèi)外系統(tǒng)的數(shù)據(jù)格式化。
(3) 數(shù)據(jù)庫(kù)管理維護(hù)軟件單元主要實(shí)現(xiàn):數(shù)據(jù)庫(kù)的備份、還原、故障修復(fù)及完成數(shù)據(jù)庫(kù)的同步更新工作。
(4) 數(shù)據(jù)記錄和回放軟件單元主要完成:對(duì)系統(tǒng)內(nèi)各類(lèi)信息的入庫(kù)、回放等操作,為研究人員提供二次分析的資料。
(5) 操控和調(diào)度管理軟件單元主要完成系統(tǒng)內(nèi)操控的轉(zhuǎn)發(fā)、分析、加工等工作。
(6) 故障檢測(cè)和維護(hù)軟件單元主要完成系統(tǒng)各個(gè)軟硬件模塊的故障檢測(cè)、顯示、對(duì)外上報(bào)、開(kāi)關(guān)機(jī)的初始化控制等工作。
(7) 系統(tǒng)版本管理軟件單元主要完成系統(tǒng)各個(gè)模塊的軟件版本的上傳、下載等更新和入庫(kù)備份、還原操作。
(8) 系統(tǒng)配置管理軟件單元主要完成系統(tǒng)各個(gè)模塊初始化參數(shù)的推送和系統(tǒng)實(shí)時(shí)工作參數(shù)的分發(fā)等工作。
(9) 數(shù)據(jù)查詢軟件單元主要完成系統(tǒng)內(nèi)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的插入、更新等操作,以及用戶操作相關(guān)界面完成偵測(cè)信息的查詢,包括目標(biāo)活動(dòng)規(guī)律查詢、系統(tǒng)工作日志查詢等。
3軟件各接口的設(shè)計(jì)
由上文知,一般偵測(cè)軟件系統(tǒng)由9大軟件單元組成,軟件的設(shè)計(jì)中最重要的就是其軟件各個(gè)單元間的業(yè)務(wù)通信機(jī)制,即接口設(shè)計(jì)。接口設(shè)計(jì)是后期代碼編制的基石。所以,接口設(shè)計(jì)的好壞直接決定軟件系統(tǒng)的復(fù)雜性和擴(kuò)展性。本文對(duì)軟件系統(tǒng)中的各個(gè)軟件單元根據(jù)其在問(wèn)題領(lǐng)域中的功能進(jìn)行切割分類(lèi)。系統(tǒng)管理軟件和系統(tǒng)內(nèi)其他軟件單元都有業(yè)務(wù)通訊。圖2展示了偵測(cè)系統(tǒng)內(nèi)其他軟件單元與系統(tǒng)管理軟件單元的接口關(guān)系,從中可看出系統(tǒng)管理軟件的重要性。
圖2 系統(tǒng)管理軟件單元與其他軟件單元接口圖
在圖2基礎(chǔ)上,后期的編碼中采用數(shù)據(jù)抽象(ADT)、多態(tài)和繼承類(lèi)的方式抽象出軟件單元。軟件單元由一組類(lèi)表達(dá),方便后期的擴(kuò)展和維護(hù)。由于系統(tǒng)內(nèi)各個(gè)軟件單元的交互頻繁且產(chǎn)生的數(shù)據(jù)量大,本軟件采用消息隊(duì)列、事件、多線程、內(nèi)存映射、雙緩沖等技術(shù)構(gòu)建軟件工作流引擎,使得本軟件在多任務(wù)、高頻率、大流量數(shù)據(jù)時(shí)整個(gè)工作流不堵塞。
4結(jié)束語(yǔ)
本軟件在服務(wù)器上作為后臺(tái)程序運(yùn)行,其中的所有功能和服務(wù)都是自動(dòng)運(yùn)行,無(wú)需人工交互。該軟件已經(jīng)在多套裝備中實(shí)際應(yīng)用,目前運(yùn)行狀態(tài)良好,具備完善的系統(tǒng)管理和數(shù)據(jù)存儲(chǔ)功能,可將數(shù)據(jù)永久保存在后臺(tái)數(shù)據(jù)庫(kù)。由于該軟件具備通用性好、管理功能完善等特點(diǎn),可以在更多的偵測(cè)系統(tǒng)中得到廣泛應(yīng)用,進(jìn)而指導(dǎo)相關(guān)領(lǐng)域的開(kāi)發(fā)活動(dòng)。
參考文獻(xiàn):
[1]MartinFowler.企業(yè)應(yīng)用架構(gòu)模式[M].北京:機(jī)械工業(yè)出版社,2010:122-163.
[2]ErichGamm,RichardHelm,RalphJohson,JohnVlissides.設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)[M].北京:機(jī)械工業(yè)出版社,2007:112-136.
[3]MartinFowler.重構(gòu):改善既有代碼的設(shè)計(jì)[M].北京:人民郵電出版社,2010:66-96.
[4]溫昱.軟件架構(gòu)設(shè)計(jì)[M].北京:電子工業(yè)出版社,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
作者簡(jiǎn)介:李樹(shù)文(1982-),男,工程師,碩士,研究方向:雷達(dá)顯示控制、數(shù)據(jù)存儲(chǔ);王愛(ài)矛(1983-),男,工程師,碩士,雷達(dá)總體測(cè)試和可靠性技術(shù);盛震宇(1989-),男,助理工程師,碩士,雷達(dá)顯示控制、數(shù)據(jù)存儲(chǔ);邢朦(1988-),女,工程師,碩士,雷達(dá)顯示控制。
中圖分類(lèi)號(hào):TP311
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1009-0401(2016)02-0066-03