基于分布式組件的監(jiān)測網(wǎng)絡系統(tǒng)的設計與實現(xiàn)
系統(tǒng)設計中采用基于分布式組件設計的模塊化設計:每項功能設計成相對獨立的功能模塊,每一部分模塊都是一個獨立運行的程序,模塊與模塊之間各自預留接口,通過調用接口的方式相互調用。這就要求每個模塊有自己獨立的參數(shù)、變量和過程;各個模塊的功能不重復,每個業(yè)務功能可以重復調用。模塊化設計的優(yōu)點:利于開發(fā)分工、減少程序的開銷、提高代碼使用效率等。
用戶功能界面主要是由用戶登陸模塊、任務管理模塊、命令控制模塊、測量參數(shù)設置模塊、監(jiān)測數(shù)據(jù)顯示及分析模塊等組成。每一個獨立的模塊充分利用面向對象中類的思想來開發(fā)設計。在進行程序開發(fā)階段,分別對各個功能模塊進行開發(fā)、測試,實現(xiàn)和完善各項具體功能。當進行整體規(guī)劃的時候,就像堆砌房子一樣,調用一個一個的模塊,組成一個漂亮、實用、且可隨意變形的“房子”。
3.2 中間層設計
中間層是整個系統(tǒng)的核心控制層,主要負責命令數(shù)據(jù)流的管理和設備管理與用戶管理。其中數(shù)據(jù)流的管理包括:數(shù)據(jù)的分發(fā)與管理、命令的排隊管理與分發(fā)、數(shù)據(jù)的分發(fā)與管理。
主要的數(shù)據(jù)流為數(shù)據(jù)請求過程:
(1)通過參數(shù)面板選擇測量參數(shù),通過命令面板選擇功能操作,將命令直接編譯成設備認識的、能直接操作的二進制流,遞交給網(wǎng)絡通訊服務程序;
(2)網(wǎng)絡通訊服務程序將數(shù)據(jù)傳輸?shù)綄?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/監(jiān)測">監(jiān)測站數(shù)據(jù)管理服務程序(加到中間層隊列中);
(3)數(shù)據(jù)管理服務程序將命令數(shù)據(jù)流發(fā)送到對應的監(jiān)測設備驅動服務程序;
(4)設備得到的監(jiān)測結果返回到數(shù)據(jù)管理服務程序;
(5)數(shù)據(jù)管理服務程序將監(jiān)測結果數(shù)據(jù)自動轉換成標準數(shù)據(jù)格式,遞交給網(wǎng)絡通訊服務程序;
(6)網(wǎng)絡通訊服務程序將結果數(shù)據(jù)返回給用戶界面;
(7)用戶界面將數(shù)據(jù)顯示出來或通過存儲過程保存到數(shù)據(jù)庫。
整個數(shù)據(jù)請求過程類似于“寫信→寄信→回信”過程。首先用戶界面按設備認識的格式寫好“信和信封”,然后通過中間層“寄”給設備,中間層將設備的“回信”轉換成標準格式返回給用戶界面。
3.3 設備底層設計
底層設備以DCOM形式封裝,各設備間獨立運行。一旦設備出現(xiàn)意外問題詘口死機或斷網(wǎng)等,不影響其他設備工作。設備底層的開發(fā)主要包括兩部分:設備與中間層的DLL接口程序;設備的DCOM封裝。設備與中間層的接口程序:當加入新設備時,中間層程序不需要編譯,只需在底層的DLL中加入新的設備信息;底層DLL負責將上層命令翻譯成底層DCOM能夠識別的命令格式。
整個系統(tǒng)軟件分為五個部分的內容,即:
(1)用戶界面,他是瘦客戶端,可以安裝在需要監(jiān)測的任意計算機上。
(2)登錄服務程序,安裝在監(jiān)測中心的監(jiān)測服務器上。
(3)數(shù)據(jù)流管理程序,也可稱中間層。包括數(shù)據(jù)管理服務程序和狀態(tài)管理服務程序,安裝在監(jiān)測站的監(jiān)測服務器上。
(4)設備驅動服務程序。
(5)網(wǎng)絡通訊服務程序,安裝在需要遠程訪問的任意計算機上。
基于分布式組件設計,使軟件的各個部分可以完全獨立來封裝,形成一個可獨立運行的程序,使軟件的各部分可以運行于不同的計算機。這樣可以縮短設備的啟動時間,提高設備的運行效率,減少CPU占用率,可以使各軟件功能之間、各設備之間完全獨立。
評論