GPRS通用通信系統的服務器端軟件開發
未知
摘要:利用Struts和Hibernate技術,開發GPRS通用通信系統的服務器端軟件。對軟件的功能模塊進行了分解。也從數據處理流程的角度,詳細分析了數據處理過程。
關蕾詞:GPRS;通信協議;Struts;數據庫;Hibernate O.引育 GPRS通用通信系統由現場監控終端(也稱數據終端單元。DTU),GPRS網絡,數據庫和服務器端軟件(也稱數據服務中心.DSQ四部分組成。服務器端軟件接收DTU通過GPRS網絡上傳的數據.處理后存儲到數據庫;服務器端軟件也可以反向傳送各種指令到DTU。控制DTU的運行。為了用戶方便使用數據監控等功能,服務器端軟件采用Web頁面方式。開發基于Java,使用了Struts,Hibemate等多項技術。 1.技術關量 Struts和Hibernate是WEB開發中提高開發效率。使程序結構清晰化的工具。本設計積極的運用了這兩項技術。 1.Sturts技術Struts框架實現MVC(Model—View—Comroller)設計模式。通過這個設計模式。實現功能模塊,視圖和控制的分離。將數據的監聽和解析以及其他功能封裝在不同的功能模塊中。而將展現給用戶的結果作為視圖。這通常是一個JSP頁面或純HTML頁面,視圖也常作為接受用戶輸入或請求的用戶接口。而控制則管理對功能模塊的調用,以及選擇正確合適的視圖來響應用戶的請求。 1.2Hibemate技術Hibernate將Java對象映射到關系數據庫表中,對數據庫表的操作通過對Java對象的操作完成,這樣就簡化了數據持久化相關的編程任務。 2.功能模塊設計 服務器端軟件主要任務是完成對通信數據的接收。處理和存儲。功能設置都是以數據為中心。本設計的主要功能模塊如圖1所示。 在服務啟停模塊啟動服務后,開始接收DTU數據。由于數據包的解析功能相對獨立。實現也較為復雜,因此將解析過程作為一個線程。接收一個數據包.就啟動一個獨立的解析線程.對數據包進行解析。解析完后將提取出的數據存人設計好的數據庫中。隨后發出一個應答數據包,線程結束。解析、入庫和應答三個步驟在同一線程中完成。服務啟停模塊完成了本設計的核心功能。 服務設置模塊主要完成服務啟動與運行中的參數設置。 數據監控模塊是重要的一個功能模塊,它向用戶直觀的展示任一DTU發出的數據變化圖。數據隨時問的變化顯示在專門定制的圖表上,而且實時刷新,做到實時性和準確性。 在遠程控制模塊,用戶可以查看每一個DTU所連接的數據采集終端的狀態,通過向DTU發送指令數據包,遠程控制與DTU相連的儀表。 與多數管理系統類似。為了做到對使用用戶進行管理.設置了系統管理模塊,可以對用戶的權限、登錄、安全進行管理。以做到系統的完備和安全。 3.數據處理流程 本數據管理軟件的核心是數據,所有的功能都是圍繞數據進行。數據的處理主要有解析,存儲和顯示幾個過程.另外,本系統也向遠程數據終端單元發送數據。 3.1數據的接收 服務啟動后,服務器啟動監聽線程在服務端口監聽線程,直到停止服務,監聽線程才終止。監聽線程中.建立了在服務端口上的數據報soeket: pfivate DatagramSoeket socket; socket=new DatagramSoeket(INPORT); soeke調用阻塞式函數receive(DatagramPacket dp)監聽端口,接收到數據返回后即可在dp中獲取數據開始處理,而監聽線程檢查服務停止標志started,若服務巳停止則終止線程。否則重新開始監聽,如此循環。 3.2數據的解析數據的解析是數據處理的主要過程.解析過程就是實現DSC與DTU應用層通信協議的過程。解析線程在監聽線程中啟動,服務器接收到數據后啟動數據解析線程處理數據報。而監聽線程繼續監聽,解析線程完成解析后結束自身。解析線程的啟動代碼如下: ProcessReceiveData pmcessReceiveData;new ProcessReceiveData(buf, lnetAddress.getByName(dp.getAddmss0. getHostAddress0), dp.getPort0, dp.getLength0, socket,BUF_MAX_ LEN) processReceiveData.start0;