摘 要:隨著監(jiān)測技術(shù)向自動化、智能化、網(wǎng)絡(luò)化的不斷發(fā)展,對監(jiān)測系統(tǒng)提出了更高的要求。為了提高系統(tǒng)響應(yīng)性能和穩(wěn)定性,增強(qiáng)應(yīng)用程序的可維護(hù)性和可擴(kuò)展性,提出了一種基于分布式組件技術(shù)和模塊化思想的監(jiān)測網(wǎng)絡(luò)系統(tǒng)的設(shè)計和實現(xiàn)方案。該系統(tǒng)實現(xiàn)了對數(shù)據(jù)的實時監(jiān)測和非實時監(jiān)測功能,并在全國短波監(jiān)測網(wǎng)絡(luò)系統(tǒng)中得到應(yīng)用。
關(guān)鍵詞:監(jiān)測網(wǎng)絡(luò);分布式組件;模塊化;短波監(jiān)測系統(tǒng)
中圖分類號:TP274+.2 文獻(xiàn)標(biāo)識碼:B 文章編號:1004373X(2008)1507703
Design and Implementation of Monitoring Network System
Based on Distributed Component Object Model
ZHANG Lidan,GONG Xiaofeng,YUAN Jie,LI Xingmei
(College of Electrical Information,Sichuan University,Chengdu,610065,China)
Abstract:With the monitoring technology forward to automation,intelligence and network,the monitoring system is needed to meet higher requirement. This paper introduces a scheme of design and implementation of monitoring network system. It adopts the module structure and DCOM to improve the response performance and stability of the system,and takes on good maintainability and expansibility.This system realizes real-time monitoring and non real-time monitoring functions of monitoring data. It is actually implemented in the National shortwave monitoring network system.
Keywords:monitoring network;DCOM;modularization;short wave monitoring system
今天,隨著監(jiān)測技術(shù)向自動化、智能化、網(wǎng)絡(luò)化的日益發(fā)展,監(jiān)測管理的越來越復(fù)雜化,監(jiān)測系統(tǒng)不斷被賦予新的內(nèi)容和組織形式,從而對監(jiān)測系統(tǒng)提出了更高的要求。該文設(shè)計并實現(xiàn)了一種基于分布式組件技術(shù)的監(jiān)測網(wǎng)絡(luò)系統(tǒng),能夠?qū)崿F(xiàn)各種實時監(jiān)測和非實時監(jiān)測功能,具有良好的可擴(kuò)展性,并實際應(yīng)用于全國短波監(jiān)測系統(tǒng)中?,F(xiàn)代監(jiān)測網(wǎng)絡(luò)系統(tǒng)由一套完整的信號檢測、傳送、分析、控制和顯示系統(tǒng)組成,配備了先進(jìn)的監(jiān)測設(shè)備以及相應(yīng)的控制和自動監(jiān)測軟件,并通過計算機(jī)和網(wǎng)絡(luò)實現(xiàn)互聯(lián)。
1 系統(tǒng)設(shè)計原則
為了提高系統(tǒng)響應(yīng)性能和穩(wěn)定性,增強(qiáng)代碼的可重用性,可擴(kuò)展性和易維護(hù)性,最大程度地滿足用戶日益變化的需求,整個監(jiān)測網(wǎng)絡(luò)系統(tǒng)設(shè)計原則為:基于分布式組件設(shè)計;基于三層結(jié)構(gòu)模式設(shè)計:將設(shè)備驅(qū)動與網(wǎng)絡(luò)監(jiān)測軟件分開;將數(shù)據(jù)流與業(yè)務(wù)流程分開;基于網(wǎng)絡(luò)化結(jié)構(gòu)設(shè)計;基于標(biāo)準(zhǔn)化模塊設(shè)計。
基于分布式組件(DCOM)設(shè)計的軟件每一部分模塊都是一個獨(dú)立運(yùn)行的程序,并可以運(yùn)行于不同的計算機(jī)上。這樣可以使各軟件功能之間、各設(shè)備之間完全獨(dú)立。
基于三層結(jié)構(gòu)模式設(shè)計,將設(shè)備驅(qū)動與網(wǎng)絡(luò)監(jiān)測軟件分離開,使各部分完成各自的功能,盡可能地減少了各部分的耦合度。將數(shù)據(jù)流與業(yè)務(wù)流程分開,可以簡化業(yè)務(wù)流程的邏輯復(fù)雜性,從而可以降低軟件的開發(fā)難度,提高軟件開發(fā)效率。
將監(jiān)測網(wǎng)絡(luò)中的設(shè)備根據(jù)不同的監(jiān)測中心、監(jiān)測站進(jìn)行樹型結(jié)構(gòu)管理,既可以對用戶、設(shè)備、功能進(jìn)行統(tǒng)一的管理,也可以避免因統(tǒng)一管理而帶來的網(wǎng)絡(luò)數(shù)據(jù)瓶頸。
基于標(biāo)準(zhǔn)化模塊設(shè)計,使得各功能模塊獨(dú)立運(yùn)行,一個模塊死掉,不影響其他無關(guān)模塊工作。
2 系統(tǒng)體系結(jié)構(gòu)
2.1 監(jiān)測系統(tǒng)組成
監(jiān)測網(wǎng)絡(luò)系統(tǒng)通過各種測量設(shè)備,能對溫度、流量、壓力還有無線電等各種信號進(jìn)行測量,將采集到的數(shù)據(jù)通過網(wǎng)絡(luò)傳送到各級監(jiān)測中心及監(jiān)測站,并對其數(shù)據(jù)進(jìn)行分析和處理,及時、準(zhǔn)確地將信號測量情況反饋給監(jiān)控人員,從而監(jiān)測運(yùn)行情況,對出現(xiàn)的異常情況作出及時的處理,指導(dǎo)決策。
整個監(jiān)測網(wǎng)絡(luò)系統(tǒng)由監(jiān)測中心、各級監(jiān)測站和監(jiān)測站下的監(jiān)測設(shè)備通過聯(lián)網(wǎng)組成。監(jiān)測中心負(fù)責(zé)對各監(jiān)測站進(jìn)行控制,下達(dá)監(jiān)測任務(wù),是采集和處理數(shù)據(jù)的中心,由控制器、路由器、集線器/交換機(jī)、網(wǎng)絡(luò)適配器、MODEM及對應(yīng)的監(jiān)測軟件等組成,實時掌握整個監(jiān)測網(wǎng)的運(yùn)行狀態(tài)。監(jiān)測站至少包括一個監(jiān)測服務(wù)器、一個數(shù)據(jù)庫服務(wù)器和若干個監(jiān)測設(shè)備,能夠接受監(jiān)測中心的測量任務(wù),實現(xiàn)對測量信號進(jìn)行自動實時和非實時監(jiān)測,并進(jìn)行分析處理顯示,將數(shù)據(jù)發(fā)送到監(jiān)測中心。監(jiān)測站也可做成移動車載系統(tǒng),通過無線網(wǎng)絡(luò)接入監(jiān)測系統(tǒng),靈活機(jī)動地完成各種監(jiān)測任務(wù)。監(jiān)測站下的各種監(jiān)測設(shè)備實現(xiàn)具體的監(jiān)測功能。
監(jiān)測中心、各級監(jiān)測站和監(jiān)測設(shè)備組成一個局域網(wǎng)絡(luò),進(jìn)行樹型結(jié)構(gòu)管理,實現(xiàn)各種監(jiān)測功能,達(dá)到統(tǒng)一管理、分工合作、數(shù)據(jù)共享的目的。在監(jiān)測站內(nèi)部的數(shù)據(jù)通訊直接通過分布式組件來完成,而各個監(jiān)測站之間的數(shù)據(jù)通訊的實現(xiàn)則是通過網(wǎng)絡(luò)通訊服務(wù)程序進(jìn)行點(diǎn)對點(diǎn)通訊(PPP),這樣可以避免網(wǎng)絡(luò)設(shè)備統(tǒng)一管理而帶來的數(shù)據(jù)傳輸瓶頸問題。根據(jù)實際情況,用戶可以建成只有一個監(jiān)測站的小型監(jiān)測網(wǎng)絡(luò)系統(tǒng),也可以擴(kuò)建成全國監(jiān)測網(wǎng)絡(luò)系統(tǒng)。
2.2 系統(tǒng)軟件結(jié)構(gòu)
整個監(jiān)測網(wǎng)絡(luò)系統(tǒng)基于分布式組件設(shè)計,采取“客戶端-中間層-設(shè)備底層”三層結(jié)構(gòu)形式。客戶端是監(jiān)測系統(tǒng)的功能界面程序,主要完成與用戶的交互功能;中間層是工程的核心組件,主要負(fù)責(zé)命令與數(shù)據(jù)的分發(fā)以及設(shè)備和用戶的統(tǒng)一管理;底層設(shè)備封裝成組件形式,主要完成用戶的測量任務(wù),并返回數(shù)據(jù)。圖1是監(jiān)測系統(tǒng)整體框架結(jié)構(gòu)圖。
客戶端程序,從功能上來說是一個面向用戶的窗口,主要完成的功能有兩個:作為用戶和設(shè)備交互的窗口,向中間層發(fā)送命令和顯示中間層返回的數(shù)據(jù);完成一些獨(dú)立于中間層的數(shù)據(jù)處理功能。
中間層就象整個系統(tǒng)的中樞神經(jīng),其主要完成兩大功能:一是負(fù)責(zé)整個系統(tǒng)數(shù)據(jù)流的管理,向上接受客戶端輸入的測量命令和參數(shù),并向客戶返回相應(yīng)的測量數(shù)據(jù)和狀態(tài),向下將測量命令和參數(shù)發(fā)送給底層設(shè)備,并接受設(shè)備返回的數(shù)據(jù)。二是設(shè)備管理和用戶管理,簡單的說就是對網(wǎng)絡(luò)中的設(shè)備和用戶進(jìn)行統(tǒng)一管理。
設(shè)備底層主要是設(shè)備的DCOM封裝和與中間層的接口程序。
3 系統(tǒng)總體設(shè)計
3.1 客戶端程序設(shè)計
怎樣設(shè)計界面友好,運(yùn)行穩(wěn)定,實時反應(yīng)迅速的監(jiān)測軟件是監(jiān)測網(wǎng)絡(luò)系統(tǒng)的首要要求。監(jiān)測網(wǎng)絡(luò)系統(tǒng)應(yīng)用軟件的交互界面和功能直接反映了用戶的需求。
系統(tǒng)設(shè)計中采用基于分布式組件設(shè)計的模塊化設(shè)計:每項功能設(shè)計成相對獨(dú)立的功能模塊,每一部分模塊都是一個獨(dú)立運(yùn)行的程序,模塊與模塊之間各自預(yù)留接口,通過調(diào)用接口的方式相互調(diào)用。這就要求每個模塊有自己獨(dú)立的參數(shù)、變量和過程;各個模塊的功能不重復(fù),每個業(yè)務(wù)功能可以重復(fù)調(diào)用。模塊化設(shè)計的優(yōu)點(diǎn):利于開發(fā)分工、減少程序的開銷、提高代碼使用效率等。
用戶功能界面主要是由用戶登陸模塊、任務(wù)管理模塊、命令控制模塊、測量參數(shù)設(shè)置模塊、監(jiān)測數(shù)據(jù)顯示及分析模塊等組成。每一個獨(dú)立的模塊充分利用面向?qū)ο笾蓄惖乃枷雭黹_發(fā)設(shè)計。在進(jìn)行程序開發(fā)階段,分別對各個功能模塊進(jìn)行開發(fā)、測試,實現(xiàn)和完善各項具體功能。當(dāng)進(jìn)行整體規(guī)劃的時候,就像堆砌房子一樣,調(diào)用一個一個的模塊,組成一個漂亮、實用、且可隨意變形的“房子”。
3.2 中間層設(shè)計
中間層是整個系統(tǒng)的核心控制層,主要負(fù)責(zé)命令數(shù)據(jù)流的管理和設(shè)備管理與用戶管理。其中數(shù)據(jù)流的管理包括:數(shù)據(jù)的分發(fā)與管理、命令的排隊管理與分發(fā)、數(shù)據(jù)的分發(fā)與管理。
主要的數(shù)據(jù)流為數(shù)據(jù)請求過程:
(1) 通過參數(shù)面板選擇測量參數(shù),通過命令面板選擇功能操作,將命令直接編譯成設(shè)備認(rèn)識的、能直接操作的二進(jìn)制流,遞交給網(wǎng)絡(luò)通訊服務(wù)程序;
(2) 網(wǎng)絡(luò)通訊服務(wù)程序?qū)?shù)據(jù)傳輸?shù)綄?yīng)的監(jiān)測站數(shù)據(jù)管理服務(wù)程序(加到中間層隊列中);
(3) 數(shù)據(jù)管理服務(wù)程序?qū)⒚顢?shù)據(jù)流發(fā)送到對應(yīng)的監(jiān)測設(shè)備驅(qū)動服務(wù)程序;
(4) 設(shè)備得到的監(jiān)測結(jié)果返回到數(shù)據(jù)管理服務(wù)程序;
(5) 數(shù)據(jù)管理服務(wù)程序?qū)⒈O(jiān)測結(jié)果數(shù)據(jù)自動轉(zhuǎn)換成標(biāo)準(zhǔn)數(shù)據(jù)格式,遞交給網(wǎng)絡(luò)通訊服務(wù)程序;
(6) 網(wǎng)絡(luò)通訊服務(wù)程序?qū)⒔Y(jié)果數(shù)據(jù)返回給用戶界面;
(7) 用戶界面將數(shù)據(jù)顯示出來或通過存儲過程保存到數(shù)據(jù)庫。
整個數(shù)據(jù)請求過程類似于“寫信→寄信→回信”過程。首先用戶界面按設(shè)備認(rèn)識的格式寫好“信和信封”,然后通過中間層“寄”給設(shè)備,中間層將設(shè)備的“回信”轉(zhuǎn)換成標(biāo)準(zhǔn)格式返回給用戶界面。
3.3 設(shè)備底層設(shè)計
底層設(shè)備以DCOM形式封裝,各設(shè)備間獨(dú)立運(yùn)行。一旦設(shè)備出現(xiàn)意外問題,如死機(jī)或斷網(wǎng)等,不影響其他設(shè)備工作。設(shè)備底層的開發(fā)主要包括兩部分:設(shè)備與中間層的DLL接口程序;設(shè)備的DCOM封裝。設(shè)備與中間層的接口程序:當(dāng)加入新設(shè)備時,中間層程序不需要編譯,只需在底層的DLL中加入新的設(shè)備信息;底層DLL負(fù)責(zé)將上層命令翻譯成底層DCOM能夠識別的命令格式。
整個系統(tǒng)軟件分為五個部分的內(nèi)容,即:
(1) 用戶界面,他是瘦客戶端,可以安裝在需要監(jiān)測的任意計算機(jī)上。
(2) 登錄服務(wù)程序,安裝在監(jiān)測中心的監(jiān)測服務(wù)器上。
(3) 數(shù)據(jù)流管理程序,也可稱中間層。包括數(shù)據(jù)管理服務(wù)程序和狀態(tài)管理服務(wù)程序,安裝在監(jiān)測站的監(jiān)測服務(wù)器上。
(4) 設(shè)備驅(qū)動服務(wù)程序。
(5) 網(wǎng)絡(luò)通訊服務(wù)程序,安裝在需要遠(yuǎn)程訪問的任意計算機(jī)上。
基于分布式組件設(shè)計,使軟件的各個部分可以完全獨(dú)立來封裝,形成一個可獨(dú)立運(yùn)行的程序,使軟件的各部分可以運(yùn)行于不同的計算機(jī)。這樣可以縮短設(shè)備的啟動時間,提高設(shè)備的運(yùn)行效率,減少CPU占用率,可以使各軟件功能之間、各設(shè)備之間完全獨(dú)立。
4 系統(tǒng)測試
軟件測試是保證軟件質(zhì)量,提高軟件可靠性的關(guān)鍵。下面通過搭建全國短波監(jiān)測系統(tǒng)中的單頻測向監(jiān)測系統(tǒng)為例來進(jìn)行測試和演示。
無線電短波單頻測向系統(tǒng)由監(jiān)測站下的監(jiān)測服務(wù)器和接收機(jī),測向儀等監(jiān)測設(shè)備聯(lián)網(wǎng)組成,能對短波信號進(jìn)行監(jiān)測和測向,也可以通過幾個監(jiān)測站進(jìn)行聯(lián)合測向,提供對單一無線電信號的時域示向度測量和統(tǒng)計分析。由于監(jiān)測網(wǎng)絡(luò)系統(tǒng)軟件的各個部分都封裝成標(biāo)準(zhǔn)化模塊形式,這樣就可以對其每一部分進(jìn)行獨(dú)立的測試,包括軟件的功能和性能指標(biāo),從而實現(xiàn)對系統(tǒng)各個部分的可測可控。
于是在監(jiān)測系統(tǒng)的軟件開發(fā)過程中,就可以對完成的各個模塊進(jìn)行獨(dú)立的單元測試。當(dāng)開發(fā)人員編寫完代碼封裝成獨(dú)立功能模塊后,可以專門針對此模塊編寫簡單的測試程序,主要測試模塊各個接口實現(xiàn)的具體功能。最后通過調(diào)用各個功能模塊組成整個監(jiān)測系統(tǒng),進(jìn)行整體的功能和性能測試?;诜植际浇M件設(shè)計的軟件每一部分模塊都是一個獨(dú)立運(yùn)行的程序,對于開發(fā)完并通過測試的模塊,進(jìn)行系統(tǒng)集成測試時,此模塊只需安裝,并不需要源代碼,降低了軟件重復(fù)開發(fā)的可能性,提高了代碼安全性。
圖2是無線電短波單頻測向監(jiān)測系統(tǒng)的監(jiān)測界面顯示。開啟一個監(jiān)測測試流程:首先用戶登陸系統(tǒng),選擇監(jiān)測臺站中的測向設(shè)備和測向功能,啟動測量,調(diào)用測向功能界面模塊。如圖2,在參數(shù)輸入面板上設(shè)置測量參數(shù),點(diǎn)擊開始測量按鈕向設(shè)備發(fā)送“開始測量”命令,對接收到的監(jiān)測數(shù)據(jù)通過分析處理顯示在界面上。也可以通過調(diào)用數(shù)據(jù)庫、文件、打印模塊來保存數(shù)據(jù)、打印文件等。另外,既可以啟動單個測量任務(wù),也可以啟動多個不同的測量任務(wù),各個測量任務(wù)之間互不影響。
通過測試表明,整個監(jiān)測網(wǎng)絡(luò)系統(tǒng)簡潔實用,易操作;設(shè)置監(jiān)測任務(wù)類型、設(shè)置測量參數(shù)、運(yùn)行及關(guān)閉程序的操作都非常簡單快捷;能夠?qū)崿F(xiàn)實時監(jiān)測和非實時監(jiān)測功能;整個系統(tǒng)響應(yīng)快速且運(yùn)行穩(wěn)定。
5 結(jié) 語
本文基于分布式組件技術(shù)和模塊化思想設(shè)計并實現(xiàn)了一個安全可靠、獨(dú)立性強(qiáng)、易于擴(kuò)展的監(jiān)測網(wǎng)絡(luò)系統(tǒng)。在整個監(jiān)測系統(tǒng)軟件的開發(fā)和測試過程中,基于標(biāo)準(zhǔn)模塊化和分布式組件技術(shù)的設(shè)計思想有助于軟件從結(jié)構(gòu)上實現(xiàn)弱耦合分解,可以極大地提高代碼的獨(dú)立性、重用性和可維護(hù)性,方便地實現(xiàn)系統(tǒng)的功能擴(kuò)展,而且可以在不同的語言平臺上實現(xiàn)功能模塊的開發(fā),從而使得并行開發(fā)過程變得更加容易、高效。整個監(jiān)測網(wǎng)絡(luò)系統(tǒng)設(shè)計實用,易操作;監(jiān)測功能完善,具有良好的可擴(kuò)展性;系統(tǒng)運(yùn)行快速穩(wěn)定,并實際應(yīng)用于全國短波監(jiān)測網(wǎng)絡(luò)系統(tǒng)中。
參 考 文 獻(xiàn)
[1]萬加富,張文斐,張占松.網(wǎng)絡(luò)監(jiān)控系統(tǒng)原理與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2003.
[2]錢清泉.微機(jī)監(jiān)控系統(tǒng)原理[M].北京:中國鐵道出版社,1997.
[3]沈其聰.數(shù)字通信原理[M].北京:機(jī)械工業(yè)出版社,2004.
[4]紀(jì)越峰.現(xiàn)代通信技術(shù)[M].2版.北京:北京郵電大學(xué)出版社,2004.
[5]謝衛(wèi)華,向良軍,鄭林華,等.測控通信網(wǎng)管系統(tǒng)中故障監(jiān)測模塊的設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2007,30(23):120-122.
作者簡介 張利丹 女,1984年出生,湖南醴陵人,碩士。主要研究方向為計算機(jī)控制與管理。
龔曉峰 男,1965年出生,浙江金華人,教授,博士。主要研究方向為計算機(jī)控制與管理。
袁 潔 女,1983年出生,四川樂山人,碩士。主要研究方向為計算機(jī)控制與管理。
李興梅 女,1984年出生,重慶銅梁人,碩士。主要研究方向為計算機(jī)控制與管理。