魏子輝
隨著信息技術的發展,用戶不僅僅限于設備功能穩定實用,更注重于顯示控制軟件的友好,設備顯控軟件多是采用類似MFC 的技術實現的應用軟件,其優勢在于面對的是固定用戶群,對信息安全的控制能力很強,并且具有強大的數據操作和業務處理能力,但是應用軟件的整體性也讓系統升級代價增加,對軟件環境要求高,不易于移植。本文采用B/S 的架構來實現設備顯控軟件,B/S 體系的優勢在于其便于跨平臺布置,簡化客戶端從而使操作簡單明了,維護成本低,系統升級迭代快,開發迅捷[1-4]。
通用軟件無線電平臺支持多種波形的動態加載,實現“一種架構統多種平臺,一種平臺加載多種波形,一種波形適應多種平臺”。其中,綜合顯控軟件實現對平臺內波形和設備的狀態進行監控與控制,主要包括:波形安裝、波形動態部署、波形加/卸載等SCA 波形控制功能,設備狀態監測與控制、波形運行狀態監測,設備資源配置,波形參數控制。
綜合顯控軟件前端界面可讓操作員實時查看各個硬件模塊的工作狀態、資源占用情況、溫度等狀態,也能實時查看硬件模塊所運行的波形狀態,同時可以進行設備工作的控制。
本文將綜合顯控系統控制前端軟件設計為Web 軟件,依照JavaEE 開發規范部署在應用服務器上,客戶端使用瀏覽器,支持常見的桌面瀏覽器。本系統為了將各對象間的耦合程度降到最小,采用經典的MVC 分層設計。
綜合顯控軟件前端使用javascript/jquery/css 進行視圖界面開發;服務端主要使用Java 語言,選擇Spring 4.0 作為服務端框架組件;數據持久層擬選用數據庫mysql5 進行持久化數據存儲實現;應用服務器選用Tomcat8 作為服務端軟件部署并提供對外訪問。
顯控前端軟件系統組成部分有:
(1)客戶端,可多用戶訪問。
(2)服務器,其中包括應用服務器tomcat,服務主機,數據庫。
(3)設備。
其中客戶端和服務器之間基于Http 協議進行通信,服務器與設備之間基于TCP/UDP 協議通信。
客戶端主要負責與用戶之間的對話,提供基于瀏覽器的人機交互界面、數據輸入輸出,通過Http 協議與服務端進行通信,訪問業務數據資源。
服務端中功能層是通過部署應用服務器和數據庫,處理來自客戶端的業務請求,通過接口響應表示層發出的請求,完成相關業務處理后把結果返回客戶端;數據層是提供相關持久化數據存儲訪問服務,通過TCP/UDP 協議與波形代理服務器進行數據通信,獲取波形組件和設備組件信息提供給客戶端訪問,以及進行波形參數配置和波形部署、加載卸載、運行狀態監控等,通過TCP/UDP 與設備通信的功能與持久化數據存儲訪問類似,所以將該功能放入數據層。
本系統數據封裝和解析借用Java 虛擬機對動態鏈接庫調用的技術實現,動態鏈接庫即DLL,又稱為應用程序拓展,DLL文件中存放的是各類程序的函數(子過程)實現過程,當程序需要調用函數時需要先載入DLL,然后取得函數地址,最后進行調用,這樣程序就不需要在運行初加載所有代碼,只在某個使用時調用。該方法更加節省內存;DLL 文件與系統文件獨立,只要輸出接口不變(即名稱、參數、返回值類型和調用約定不變),更換DLL 文件不會對系統造成任何影響,極大地提高了可維護性和可擴展性;開發過程獨立、耦合度小,便于測試。
本系統DLL 按照具體協議內容,編寫相應指令的數據封裝和解析函數,最后利用C++項目生成相應的DLL 文件,放于項目目錄下,在本系統的業務處理層進行加載和調用,實現數據的封裝或者解析。本系統中協議格式為:指令標識+數據長度+數據內容,指令標識大小為兩個byte,數據長度大小為兩個byte,數據內容的長度按照實際的內容長度而定。
綜合顯控軟件按數據流向可分解為用戶界面、業務處理、數據庫、設備數據。用戶界面與業務處理之間通過用戶的操控來交互,業務處理與數據庫和設備之間進行交互,與數據庫之間通過持久化訪問,與設備之間通過TCP/UDP 進行通信。
其中綜合顯控軟件通過B/S 架構中的表示層實現和用戶的交互,通過TCP/UDP 實現與設備之間的信息輸入輸出。
綜合顯控軟件中需要用B/S 架構實現按照功能可以分為設備監測控制和數據顯示處理兩部分。設備監測控制即硬件設備狀態查詢、波形監測與控制、SCA 組件監控;數據顯示處理則為波形信息管理、系統信息管理、設備信息管理。除了與設備之間信息的交互外,其他功能都需B/S 架構中實現。
本系統的 B/S 分為:用戶界面層,ActionFilter 層,ServiceImpl 層,數據庫層。用戶界面層利用http 請求訪問ActionFilter 層,ActionFilter 層通過和 ServiceImpl 層業務適配,由SerciceImpl 直接訪問數據庫進行業務處理,將處理后的結果以Json 的形式一層一層上傳給用戶界面顯示。
綜合顯控軟件中波形監測,波形動態控制(動態安裝、部署、刪除、加載、停止等)、設備狀態監測與控制、SCA 組件監控等功能需要與設備交互,用網口傳輸數據,采用TCP/UDP 通信,在項目中配置好IP 和端口號,創建線程進行監聽,當軟件接收到數據后,利用報文解析,調用動態鏈接庫進行數據解析,當軟件需要下發指令時,先用動態鏈接庫進行數據封裝,打包成報文后通過網絡傳輸。
綜合顯控軟件與設備之間通信控制可分為四層:用戶界面層,ActionFilter 層,ServiceImpl 層及設備層。用戶界面通過http請求訪問ActionFilter 層,ActionFilter 層通過請求的不同,訪問ServiceImpl 層不同的業務,由ServiceImpl 層通過TCP/UDP 訪問設備,待設備響應后將響應結果按照協議打包形成json,再通過一層層傳遞,返回給用戶界面,顯示給用戶。
B/S 體系結構利用不斷成熟的WWW 瀏覽器技術,實現原需要專用軟件才能實現的強大功能,維護代價低,只需為一套設備配置一套服務器,便可以滿足多個用戶端進行訪問和控制,避免了專用軟件安裝專用環境的麻煩,簡化客戶端,方便操作。