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