手機(jī)訪問(wèn)更快捷
更多流量 更易傳播
隨時(shí)掌握行業(yè)動(dòng)態(tài)
網(wǎng)絡(luò)課堂 行業(yè)直播
產(chǎn)品推薦:水表|流量計(jì)|壓力變送器|熱電偶|液位計(jì)|冷熱沖擊試驗(yàn)箱|水質(zhì)分析|光譜儀|試驗(yàn)機(jī)|試驗(yàn)箱
摘要:軟件架構(gòu)的復(fù)用是構(gòu)建分布式測(cè)試監(jiān)控系統(tǒng)的必然要求。本文介紹了一種基于XML文件配置的模塊化分布式軟件系統(tǒng)架構(gòu)。以項(xiàng)目為單位組織構(gòu)建業(yè)務(wù)邏輯層,提供靈活的接口配置與通用的主體架構(gòu)。
關(guān)鍵詞:XML;架構(gòu);分布式
1、引言
分布式軟件系統(tǒng)架構(gòu)是快速構(gòu)建大型分布式系統(tǒng),有機(jī)調(diào)動(dòng)各子系統(tǒng)的核心技術(shù),是系統(tǒng)從整體到部分的zui高層次劃分。然而在定制化需求的捆綁下,軟件架構(gòu)的設(shè)計(jì)往往存在諸多耦合點(diǎn),使得子模塊的復(fù)用變得非常困難。成熟的軟件架構(gòu)不僅是加快分布式項(xiàng)目開(kāi)發(fā)節(jié)省后期調(diào)試時(shí)間的保證,更是模塊進(jìn)行代碼復(fù)用的首要之策。特別是在航空航天測(cè)試領(lǐng)域,建立可靠安全的測(cè)試環(huán)境,完備的系統(tǒng)設(shè)計(jì)更是至關(guān)重要。
2、架構(gòu)思想概要
模塊化系統(tǒng)子功能,將主體框架定位成一個(gè)通用的容器,采用配置文件描述功能模塊屬性,提供通用的操作接口。并以項(xiàng)目為單位建立程序的層級(jí)結(jié)構(gòu),自動(dòng)生成通用的操作界面,包括菜單欄、工具欄、導(dǎo)航切換、功能面板。系統(tǒng)框架的內(nèi)在*依賴(lài)于XML文件的描述,解決了程序內(nèi)部的耦合關(guān)系,并且提高了衍生功能屬性的兼容性。如圖1所示,右側(cè)文件夾為用戶接口,每個(gè)文件夾涵蓋了的功能參數(shù)、文件和程序接口。左側(cè)是底層架構(gòu)封裝的類(lèi),采用面向?qū)ο蟮姆绞?,將分布式模塊繼承于基類(lèi),通過(guò)API與XML文件定義私有屬性,實(shí)現(xiàn)架構(gòu)的通用化。
圖1 思想設(shè)計(jì)框圖
系統(tǒng)架構(gòu)層級(jí)劃分為界面表示層、用戶訪問(wèn)層與核心業(yè)務(wù)邏輯層。通過(guò)創(chuàng)建分布式系統(tǒng)項(xiàng)目,開(kāi)放操作接口,主要包括以下幾個(gè)核心項(xiàng)目文件夾,圖2為用戶實(shí)際使用架構(gòu)的開(kāi)發(fā)交互接口。
(1) 架構(gòu)系統(tǒng)文件夾Core包括了系統(tǒng)配置參數(shù)與功能模塊配置參數(shù)的XML文件,具有封閉性,是架構(gòu)的基礎(chǔ)文件。
(2) 界面表示層接口位于主程序MainVI文件夾中,是分布式系統(tǒng)的主要操作界面。
(3) 用戶訪問(wèn)層包含了功能模塊配置文件生成工具Toolset和自定義模塊加載的User文件夾,具備用戶級(jí)別獨(dú)立的配置文件。自定義添加的功能模塊也是業(yè)務(wù)邏輯層的重要組成部分。
(4) 系統(tǒng)模塊文件夾Module包括了主體業(yè)務(wù)邏輯關(guān)系,包括了架構(gòu)引擎模塊和系統(tǒng)通用模塊。
圖2 架構(gòu)層級(jí)劃分
本分布式系統(tǒng)軟件架構(gòu)已經(jīng)應(yīng)用于多個(gè)分布式監(jiān)控測(cè)試系統(tǒng),本文主要以航天領(lǐng)域針對(duì)航天器的某檢漏自動(dòng)化監(jiān)控系統(tǒng)討論業(yè)務(wù)邏輯功能模塊的設(shè)計(jì)。
3、業(yè)務(wù)邏輯功能模塊設(shè)計(jì)
檢漏自動(dòng)化監(jiān)控系統(tǒng),根據(jù)所服務(wù)區(qū)域不同,分為7級(jí)區(qū)組成部分和8級(jí)區(qū)組成部分,無(wú)論7級(jí)區(qū)部分還是8級(jí)區(qū)部分,其構(gòu)成上是相同的,都主要由兩大子系統(tǒng)組成:
(1) 充放氣硬件系統(tǒng):以氣源控制臺(tái),區(qū)域總控臺(tái)和區(qū)域用氣終端控制臺(tái)等實(shí)體控制臺(tái)連接而組成的示漏氣體充放氣硬件系統(tǒng),其劃分為以下幾個(gè)二級(jí)子系統(tǒng):氣源控制臺(tái)包含的氣源系統(tǒng)、區(qū)域總控臺(tái)包含的主控系統(tǒng)和配氣系統(tǒng)、區(qū)域用氣終端控制臺(tái)包含的用氣終端系統(tǒng);
(2) 軟件監(jiān)控系統(tǒng):以服務(wù)器、電路模塊、通信模塊、顯示裝置等單元組成的軟件監(jiān)控系統(tǒng),其又分為幾大部分:控制系統(tǒng)、數(shù)據(jù)通信系統(tǒng)、可視化顯示系統(tǒng)、存儲(chǔ)系統(tǒng)。
整個(gè)自動(dòng)化監(jiān)控系統(tǒng)的系統(tǒng)組成示意如圖3所示,兩個(gè)工作區(qū)內(nèi)系統(tǒng)配置的數(shù)量及分布有所不同,其中,7級(jí)區(qū)與8級(jí)區(qū)共用1個(gè)氣源控制臺(tái)(氣源系統(tǒng)),7級(jí)區(qū)有自己獨(dú)立的總控臺(tái)(7級(jí)主控系統(tǒng)、7級(jí)配氣系統(tǒng))和2個(gè)用氣終端控制臺(tái)(7級(jí)用氣終端系統(tǒng)),有自己的軟件監(jiān)控系統(tǒng)和1塊顯示用大屏幕;8級(jí)區(qū)有自己獨(dú)立的總控臺(tái)(8級(jí)主控系統(tǒng)、8級(jí)配氣系統(tǒng)和4個(gè)用氣終端(8級(jí)),也有自己的軟件監(jiān)控系統(tǒng)和1塊顯示用大屏幕。
圖3 檢漏系統(tǒng)組成示意圖
檢漏自動(dòng)化監(jiān)控系統(tǒng)的主要功能是:通過(guò)軟件監(jiān)控系統(tǒng)對(duì)充放氣硬件系統(tǒng)的自動(dòng)控制和與加壓回收系統(tǒng)的共同作用,為檢漏產(chǎn)品測(cè)試配置、提供各種所需氣體,回收產(chǎn)品中放出的示漏氣體,以滿足檢漏任務(wù)中多余物吹除、氦質(zhì)譜檢漏充放氣、總漏率檢測(cè)充放示漏氣體等工作需要,同時(shí),軟件監(jiān)控系統(tǒng)還會(huì)實(shí)現(xiàn)檢漏過(guò)程中系統(tǒng)各點(diǎn)的狀態(tài)記錄、過(guò)程數(shù)據(jù)存儲(chǔ)與顯示,對(duì)于檢漏間各單機(jī)分系統(tǒng),能夠接受其數(shù)據(jù)并予以顯示。
業(yè)務(wù)邏輯是系統(tǒng)內(nèi)部模塊之間的交互,提供了上層系統(tǒng)的業(yè)務(wù)功能與數(shù)據(jù)支持。隨著*的檢漏技術(shù)在我國(guó)航天科研、生產(chǎn)、發(fā)射等環(huán)節(jié)密封檢測(cè)中的廣泛應(yīng)用。如何建立大型試驗(yàn)場(chǎng)并保證各檢測(cè)單元完成校驗(yàn)任務(wù)給監(jiān)控系統(tǒng)的設(shè)計(jì)提出了更高的要求。檢漏自動(dòng)化監(jiān)控系統(tǒng)往往需要兼顧到氣體充、放、回收及其控制、儀器設(shè)備狀態(tài)監(jiān)控與試驗(yàn)數(shù)據(jù)記錄存儲(chǔ)等重要功能。同時(shí),由于檢漏試驗(yàn)場(chǎng)所的復(fù)雜度和各檢測(cè)子系統(tǒng)的功能區(qū)分,促使總體監(jiān)控系統(tǒng)需要建立完備的檢測(cè)通訊鏈路,實(shí)現(xiàn)分布式控制與監(jiān)測(cè)。主控與各分系統(tǒng)通過(guò)TCP/IP協(xié)議進(jìn)行數(shù)據(jù)交換,服務(wù)器負(fù)責(zé)向子系統(tǒng)傳達(dá)主控PC發(fā)出指令并接受子系統(tǒng)的輸入數(shù)據(jù),提供主控所需的顯示數(shù)據(jù),同時(shí)將所有數(shù)據(jù)和記錄保存到數(shù)據(jù)庫(kù)。業(yè)務(wù)邏輯層級(jí)關(guān)系如圖4所示。Modules文件夾包含了對(duì)數(shù)據(jù)、設(shè)備及上層操作的功能模塊。數(shù)據(jù)庫(kù)初始化完成數(shù)據(jù)庫(kù)連接后,邏輯層等待主界面發(fā)送TCP指令并進(jìn)行相應(yīng)的指令處理和應(yīng)答。主界面運(yùn)行程序與業(yè)務(wù)邏輯層完成了模塊級(jí)的分離,同時(shí)根據(jù)業(yè)務(wù)邏輯關(guān)系,針對(duì)于應(yīng)用程序運(yùn)行所需的、通用的及固有的部分與定制部分實(shí)現(xiàn)了分離。
圖4 業(yè)務(wù)邏輯層級(jí)劃分
設(shè)計(jì)過(guò)程中充分挖掘需求(如圖5所示),將監(jiān)控系統(tǒng)功能劃分為流程圖編輯、傳感器管理、傳感器映射、數(shù)據(jù)瀏覽,主管道控制等功能,根據(jù)不同人員的職責(zé)范圍,限定權(quán)限,統(tǒng)一用戶和個(gè)人信息管理。系統(tǒng)內(nèi)部邏輯關(guān)系通過(guò)數(shù)據(jù)和操作流建立,針對(duì)人員信息表動(dòng)態(tài)衍生行為模型,控制操作權(quán)限。
(1) 觀察員:具有觀察試驗(yàn)的權(quán)限。
(2) 系統(tǒng)管理員:具有所有操作權(quán)限,如計(jì)算機(jī)配置、人員管理、手動(dòng)閥門(mén)控制等權(quán)限。
(3) 操作員:具有設(shè)備管理、試驗(yàn)實(shí)施,觀察試驗(yàn)的權(quán)限。
圖5 系統(tǒng)功能流轉(zhuǎn)與模塊劃分
功能模塊劃分為主界面顯示、流程圖編輯、傳感器管理、傳感器映射、數(shù)據(jù)瀏覽、通道配置、用戶管理與個(gè)人信息幾部分。主界面顯示是檢漏廠區(qū)各閥門(mén)控制的主體界面。流程圖編輯模塊完成測(cè)試流程編輯、故障注入等操作。下圖6是閥門(mén)控制界面,通過(guò)點(diǎn)選閥門(mén)開(kāi)關(guān)設(shè)置開(kāi)關(guān)狀態(tài),系統(tǒng)啟動(dòng)運(yùn)行后,系統(tǒng)管道顏色會(huì)發(fā)生相應(yīng)變化。本部分是基于架構(gòu)開(kāi)放的自定義界面,針對(duì)不同需求應(yīng)用,實(shí)現(xiàn)界面定制。
圖6 主界面系統(tǒng)控制示意圖
依托于分布式軟件系統(tǒng)主體架構(gòu),將頂層功能模塊和數(shù)據(jù)層交互邏輯模塊作為自定義模塊加載到項(xiàng)目層級(jí)的Modules文件夾中,通過(guò)Toolset中的工具ShellTool(如圖7)添加到主程序中,根據(jù)系統(tǒng)架構(gòu)運(yùn)行機(jī)制,自動(dòng)建立引用關(guān)系和數(shù)據(jù)對(duì)應(yīng)鏈路,并將所有模塊配置信息存儲(chǔ)在User文件夾中。ShellTool工具將定制的模塊上層程序配置映射到相應(yīng)功能項(xiàng)中,對(duì)于通用的菜單和導(dǎo)航功能也集成了自定義選項(xiàng)。
圖7 ShellTool工具配置界面
4結(jié)束語(yǔ)
本文所述的架構(gòu)設(shè)計(jì)提供了分布式測(cè)試監(jiān)控軟件系統(tǒng)的基本骨架,有助于建立復(fù)雜的大型分布式系統(tǒng)。每個(gè)功能模塊提供相應(yīng)的兼容接口,基于文件配置的方式提高了系統(tǒng)設(shè)計(jì)速度和穩(wěn)定性,節(jié)省了大量的時(shí)間。
相關(guān)產(chǎn)品
免責(zé)聲明
客服熱線: 15267989561
加盟熱線: 15267989561
媒體合作: 0571-87759945
投訴熱線: 0571-87759942
下載儀表站APP
Ybzhan手機(jī)版
Ybzhan公眾號(hào)
Ybzhan小程序