基于MapXtreme的直放站集中監(jiān)控管理系統(tǒng)開發(fā)與實現(xiàn)
(3)任務管理模塊:主要完成任務列表的顯示、編輯和設置。任務列表顯示了用戶添加的通信任務的相關(guān)信息,具體包括:任務序號、任務名稱、通信功能、傳輸模式、生效時間、失效時間、是否生效等。
(4)報警管理模塊:能夠實現(xiàn)對報警數(shù)據(jù)的實時采集和集中監(jiān)視,輔助運維人員快速發(fā)現(xiàn)網(wǎng)絡問題并定位故障,自動生成報警工單,同時提供對報警信息的各種處理功能,提供對歷史報警信息的統(tǒng)計和查詢功能。
(5)統(tǒng)計分析模塊:可以完成分析下行輸入、輸出功率和下行駐波的關(guān)系,統(tǒng)計各個站點的報警信息,檢查近遠端設備配對情況,分析站點的參數(shù)對象是否完整、各種門限是否符合要求等。
2 MapXtreme應用方案的分析與設計
在直放站集中監(jiān)控管理系統(tǒng)中引入電子地圖,可以精確定位直放站的位置,并與基站的位置信息相關(guān)聯(lián),開發(fā)報警的關(guān)聯(lián)功能,而且可以提供更直觀的用戶界面,方便監(jiān)控和操作。
電子地圖功能可通過WebGIS系統(tǒng)中的MapXtreme實現(xiàn)。MapXtreme是MapInfo公司開發(fā)的一個基于互聯(lián)網(wǎng)技術(shù)的地圖應用軟件,其中,MapXtreme for Java版本是100%純Java產(chǎn)品,具有跨平臺、組件化、面向?qū)ο?、符合J2EE規(guī)范等特點和優(yōu)勢,因此選用它作為開發(fā)平臺。使用MapXtreme開發(fā)WebGIS應用,開發(fā)人員能集中控制以及維護地圖和數(shù)據(jù)庫數(shù)據(jù),并集中實現(xiàn)地圖應用程序功能。此外,由于使用IE瀏覽器作為客戶端的使用界面,可使開發(fā)人員將地理信息系統(tǒng)緊密地與其他系統(tǒng)相結(jié)合,給用戶提供統(tǒng)一、完整的綜合信息服務。基于MapXtreme的WebGIS應用方案如圖4所示[4]。本文引用地址:http://butianyuan.cn/article/157573.htm
IE瀏覽器是一個圖形用戶界面,采用Java Applet與JavaScript為用戶提供地圖的基本操作,實現(xiàn)空間數(shù)據(jù)顯示、查詢統(tǒng)計分析等功能。
Web服務器處理客戶端的請求并把對空間數(shù)據(jù)的處理命令傳遞給GIS應用服務器,回傳HTML文件及Java服務器對象組件;加載空間數(shù)據(jù)等??蛻舳薐ava Applet通過服務器端Servlet的URL重新構(gòu)造URL類,向服務器端的Servlet發(fā)出請求,Servlet調(diào)用JDBC驅(qū)動器,JDBC驅(qū)動器負責連接、操作GIS數(shù)據(jù)庫并在客戶端的瀏覽器中顯示。Web服務器層也可直接利用標準SQL語言訪問數(shù)據(jù)庫服務器以獲取較復雜的屬性數(shù)據(jù)。
GIS應用服務器處理來自Web服務器空間數(shù)據(jù)操作命令,進行地圖生成和操作等,同時將地圖操作結(jié)果以圖片形式輸出到Web服務器的特定目錄之下。
GIS數(shù)據(jù)庫服務器由SpatialWare負責管理。SpatialWare是MapInfo公司最新推出的空間數(shù)據(jù)庫管理軟件,它的主要作用是把復雜的MapInfo地圖對象存入大型數(shù)據(jù)庫中,并為其建立空間數(shù)據(jù)索引,從而在數(shù)據(jù)庫服務器上實現(xiàn)對屬性數(shù)據(jù)和空間圖形對象數(shù)據(jù)的統(tǒng)一管理。
3 關(guān)鍵技術(shù)的研究與開發(fā)
基于MapXtreme的WebGIS應用方案具有平臺獨立性和平衡高效的計算負載等特點,使用Java技術(shù)在服務器端開發(fā)Java Servlet程序。MapXtreme作為一個Servlet與Web服務器相連接,通過地圖引擎來向應用程序提供可供程序腳本語言使用的地圖對象、屬性和方法。開發(fā)中涉及的關(guān)鍵技術(shù)有以下幾項。
3.1 客戶端與服務器端通信的實現(xiàn)
客戶端和服務器端之間的通信是通過HTTP協(xié)議來完成的。所有HTTP通信都使用8位字符,以確保二進制編碼文件的安全傳輸。系統(tǒng)采用了一種稱之為隧道技術(shù)的處理方式。隧道可以被看作一條這樣的通道:它使用己存在的通信通道HTTP,并在其中創(chuàng)建一個子協(xié)議來執(zhí)行特殊任務。這里要創(chuàng)建的子協(xié)議將包含所有必要的信息,這些信息被用來創(chuàng)建一個Web服務器上的對象,調(diào)用這個對象中的方法,并將結(jié)果返回給客戶端。使用HTTP隧道的優(yōu)點就是可以將精力集中在子協(xié)議上面,而不用關(guān)注如何在客戶端和服務器之間傳送數(shù)據(jù)包。
在客戶端和服務器端之間傳送一條請求要經(jīng)過很多工序。出于性能上考慮,應該在每次請求/響應中傳輸盡可能多的信息。客戶端和服務器端之間的1次完整通信具體包含以下的步驟:
(1) 打開HTTP連接:HTTP是一種無狀態(tài)的協(xié)議,即每一個請求都被視為一個獨立的實體。因此,對于每一個請求都要建立一個新連接。
(2)初始化方法請求:用來描述調(diào)用什么方法和方法所需要的參數(shù)。
(3)設置HTTP請求頭:包含發(fā)送的數(shù)據(jù)類型和長度。
(4)發(fā)送請求:將二進制數(shù)據(jù)流發(fā)送到服務器。
(5)讀取請求:目標Servlet程序?qū)⒈徽{(diào)用,并接收HTTP請求數(shù)據(jù)。Servlet程序就是調(diào)用所有必要的參數(shù)選擇相應的方法。如果這是客戶端的第一次請求,一個服務器對象的新的實例就會被創(chuàng)建。
(6)調(diào)用方法:方法將會被服務器端的對象所調(diào)用。
(7)初始化方法響應:如果調(diào)用的方法拋出一個異常,客戶將接收到出錯信息;否則,返回的類型將會被發(fā)送。
(8) 設置HTTP響應頭:與設置HTTP請求頭一樣,在響應頭中要設置待發(fā)送數(shù)據(jù)的類型和長度。
(9) 發(fā)送響應:二進制數(shù)據(jù)流將從Web服務器發(fā)送回給客戶端。
(10) 關(guān)閉連接。
3.2 GIS數(shù)據(jù)庫結(jié)構(gòu)的設計
數(shù)據(jù)庫的合理構(gòu)建是進行監(jiān)控管理的前提。系統(tǒng)采用SQL Server作為GIS數(shù)據(jù)庫,其中包括空間數(shù)據(jù)庫和屬性數(shù)據(jù)庫2部分??臻g數(shù)據(jù)庫采用非關(guān)系數(shù)據(jù)結(jié)構(gòu),將地圖信息和直放站的地理信息以MapInfo的自定義格式保存于若干文件中;屬性數(shù)據(jù)庫采用關(guān)系數(shù)據(jù)結(jié)構(gòu),將與地理信息無關(guān)的直放站參數(shù)信息和操作信息存儲在若干屬性表中??臻g數(shù)據(jù)庫與屬性數(shù)據(jù)庫采用間接關(guān)聯(lián)的方式,二者通過一定的索引機制聯(lián)系起來,如圖5所示。
評論