孫 磊周志坤張成玉
1.中國海洋大學信息科學與工程學院;2.阿爾伯塔大學 農業、生命及環境科學學院加拿大;3.中國海洋大學 信息科學與工程學院
基于混合服務模式的遠程監控系統
孫 磊1周志坤2張成玉3
1.中國海洋大學信息科學與工程學院;2.阿爾伯塔大學 農業、生命及環境科學學院加拿大;3.中國海洋大學 信息科學與工程學院

以前的監控系統主要是在現場配備一臺計算機進行現場監控,目前的監控系統已經進展為通過網絡技術在遠端進行遠程監控。遠程監控系統是現代網絡通訊技術與現代科學技術聯合產生的一個重要技術產物。在監控對象數量較大,地域分布相對零散,并且監控系統平臺多樣性的情況下,采用遠程監控技術是一個很好的解決方案。利用監控系統,能為構建一個安全、便利、舒適的監控環境提供有力保障。本文針對目前監控系統存在的問題,提出了一種基于ActiveMQ 和Web Service混合模式的遠程監控系統。
基于混合服務模式的遠程監控系統通過定義的Web Service接口,將不同地域的監控站點,不同廠商的監控系統集成到一個統一的監控系統中進行集中查看與操作。利用ActiveMQ的可靠、高效、及時的特性,實現報警信息的快速報告。實現對監控站點、設備、設備參數的動態配置,適應三者的變化,方便系統的維護與擴展。
本系統的架構主要分為三個層次,從下到上依次是:數據采集層、管理層、應用層。相鄰的層之間通過標準接口來傳遞信息,如圖1所示。本系統的這三層架構都執行一個相互分離的明確的關注點,即系統中的每一層都提供了一個不同形式的功能,并具有高度的自治權。每一層都實現了接口與實現的分離,外層只關注接口的定義,層內部只關注接口的實現,這樣在某一層發生變化時,接口保持不變,其他層不會受到影響。

圖1 總體框架
本監控系統按照模塊間要松耦合,模塊內要高內聚的原則把系統調整為如圖2所描述的四個模塊。
報警管理模塊設計
報警管理模塊負責監控報警信息,當監控環境發生警情時,報警探測器采集到報警信息,將報警信息傳送至系統前臺。前臺會以聲音和發光閃耀的形式提醒相關人員,在前臺可以查看所有站點和分站點的報警信息,還能夠對所有的報警信息進行查看。用戶報警信息設置包括:報警參數設置、報警等級設置、報警方式設置。圖3描述了報警管理模塊的詳細結構。
報警采集負責實時采集報警信息的傳感器:煙感、火感、水浸等信息。根據這些信息判斷是否有警情發生,如果發生警報情況,通過報警信息發送模塊將報警數據發送至服務器,前臺界面會在醒目的地方顯現報警信息。報警包含兩種方式顯示:所有站點的報警和分站點的報警。歷史報警查看是根據用戶輸入的時間段和監控站點等信息查看相應的報警數據。報警參數設置是設置報警探測器值的上下限,報警探測器的增加、刪除。報警等級設置是設置報警情況的等級,它包含緊急報警、重要報警和一般報警。報警方式設置是設置短信和郵件的自由組合,全選或者選其一。

圖2 功能模塊圖

圖3 報警管理模塊結構

圖4 站點監控模塊結構

圖5 系統配置模塊結構

圖6 監控站點、設備和設備參數關系

圖7 系統集成模塊結構
站點監控模塊設計
站點監控模塊負責對各監控站點的查看與管理,包括:地圖導航、數據曲線、數據查詢、數據下載、數據備份、實時數據、用戶管理。圖4描述了站點監控模塊的結構。
地圖導航根據各監控站點的經緯度在地圖上顯示各監控站點的位置,點擊相應的監控站點,可以查看監控站點的所有信息。數據曲線是以曲線的形式顯示監控站點下監控設備的傳感參數的數值。數據查詢可以查看各個傳感參數的所有數據,用戶可以選擇時間段和傳感參數,把相應的數據下載在本地。系統會定時對監控數據進行備份,防止數據丟失,還能夠查看傳感參數的實時數據。
系統配置模塊設計
系統配置模塊主要負責監控對象的動態管理。本模塊的功能是通過配置操作即可適應監控對象的:添加、修改、刪除需求。系統配置模塊包括:監控站點管理,設備管理,設備參數管理。圖3~圖7描述了系統配置模塊的結構。
監控站點、監控設備和監控設備參數三者之間的關系是父與子的關系。即監控站點下有多個設備,每個設備有多個參數。三者之間的關系圖如圖6所示。
系統集成模塊設計
系統集成模塊負責將不同廠商的監控系統集成到本系統中來,在一個平臺下統一對整個監控環境進行監控管理。圖7描述了系統集成模塊的結構。
各個廠商的監控系統只要按照定義的標準接口便可以方便集成到本監控系統中。

圖8 發布/訂閱模型中目標主題屬性
數據訪問接口設計
數據訪問接口是管理層和應用層之間進行數據請求和反饋的標準通道。接口分為兩種類型:Web Service接口和ActiveMQ接口。其中Web Service接口用于獲得監控對象信息以及監控設備數據;ActiveMQ接口用于獲得監控的報警數據。下面分別描述接口的設計。
Web Service是一個面向服務編程的架構,它不依賴于語言和平臺,通過提供定義好的標準接口,可以讓不同的應用程序集成到一起,異構的應用程序可以相互訪問,在一定程度上大大減小了各個模塊之間的耦合度。相關人員只需要通過WSDL就能夠查看服務接口的信息。
ActiveMQ是面向消息的中間件,他能夠跨語言、跨平臺,為使用者提供可靠、高效、穩定的消息通信,同時也降低了使用者之間的耦合度。ActiveMQ提供兩種消息模型:點對點模型(Point-to-Point)和發布/訂閱模型(Publish/Subscribe)。本監控系統選擇一對多的發布/訂閱模型,為后續要添加的消費者提供預留空間,以體現系統的擴展性。圖8描述了發布/訂閱模型中目標主題的屬性。
系統集成
本監控系統將不同地域的監控站點、不同平臺的監控系統集成到一起。圖9描述了系統的首頁,最左側是所有的監控站點名稱,在監控站點下顯示所有的設備信息。首頁的菜單欄包括:首頁、報警查詢、站點數據、報警設置、用戶管理、系統配置。右上方是報警等級的圖例說明,圖例下面以文本的方式顯示當前的報警信息,當有報警信息時,上方的報警指示燈會發光,同時發出報警音樂。中間是監控站點的地圖導航。

圖9 系統集成

圖10 查看歷史報警信息
報警管理
啟動ActiveMQ服務,輸入URL,進入鏈接之后輸入用戶名和密碼,可以查看ActiveMQ的目標主題以及目標主題的消費者數量,發送消息的總數,接收消息的總數。可以查看歷史報警信息,對報警信息進行設置,如圖10所示。
站點監控
監控站點的地圖導航如圖12所示,站點在地圖上根據經緯度以錨點的形式顯示。通過滾動鼠標軸可以實現放大縮小地圖,用鼠標左鍵可以控制地圖的移動,當鼠標移動到某一個站點的時候顯示該站點的名稱和經緯度,用戶可以查看監控數據的數據曲線和數據列表。

圖11 監控站點的地圖導航

圖12 監控站點管理
系統配置
實現對監控站點、監控設備和設備參數的管理。如圖12所示,監控站點管理每個站點所顯示的信息有:名稱、注冊時間、地址、經度、緯度、描述信息。點擊“添加”按鈕,出現新窗口實現加入新站點操作。在執行刪除站點時,其中刪除操作支持多項選擇刪除。點擊“修改”按鈕,會出現相應的窗口,完成對現有的站點信息的修改。點擊“確定”按鈕,會保存所有更改操作。點擊“取消”按鈕,會放棄所有更改。
近幾年,遠程監控系統朝著更高級的應用和網絡通信技術應用的方向發展,本文根據遠程監控系統發展的網絡化趨勢,總結分析目前遠程監控系統暴露出的問題,提出了一種適用于機房監控、工業生產控制等類似工程的集成化的遠程監控系統的解決方案,即基于ActiveMQ和Web Service混合模式的遠程監控系統。
將系統按功能劃分為四個模塊:報警管理、站點監控、系統配置、系統集成。其中報警管理模塊可以實現對報警信息級別和參數的設置,報警信息的發送和接收通過ActiveMQ實現,可以滿足報警信息的并發,報警準確率基本達到100%,報警信息持久保存永遠不丟失。報警信息還能夠借助短信、郵件發送給相關人員。
站點監控模塊采用GMAP.NET地圖控件實現了監控站點的地圖導航,為用戶提供了按時間段進行數據下載的服務,應用操作系統自帶的任務計劃按照備份方法定時進行數據備份,用戶可以實時查看監控數據,數據走向還能夠以數據曲線的直觀方式展示。
系統配置模塊采用XML技術實現了對監控站點、設備、設備參數的動態配置,配置操作能自動執行數據庫的更行,重啟系統即可查看配置結果。
系統集成模塊采用Web Service技術完成了把不同地域的站點,不同廠商的監控系統集成到一起集中查看與管理,在數據傳輸過程中采用JSON技術,方便傳輸、利于轉換、占用帶寬小。