<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 基于MapXtreme的直放站集中監(jiān)控管理系統(tǒng)開發(fā)與實現(xiàn)

          基于MapXtreme的直放站集中監(jiān)控管理系統(tǒng)開發(fā)與實現(xiàn)

          作者: 時間:2010-03-12 來源:網(wǎng)絡 收藏

            (3)任務管理模塊:主要完成任務列表的顯示、編輯和設置。任務列表顯示了用戶添加的通信任務的相關信息,具體包括:任務序號、任務名稱、通信功能、傳輸模式、生效時間、失效時間、是否生效等。
            (4)報警管理模塊:能夠對報警數(shù)據(jù)的實時采集和監(jiān)視,輔助運維人員快速發(fā)現(xiàn)網(wǎng)絡問題并定位故障,自動生成報警工單,同時提供對報警信息的各種處理功能,提供對歷史報警信息的統(tǒng)計和查詢功能。
            (5)統(tǒng)計分析模塊:可以完成分析下行輸入、輸出功率和下行駐波的關系,統(tǒng)計各個站點的報警信息,檢查近遠端設備配對情況,分析站點的參數(shù)對象是否完整、各種門限是否符合要求等。
          2 應用方案的分析與設計
            在直放站中引入電子地圖,可以精確定位直放站的位置,并與基站的位置信息相關聯(lián),報警的關聯(lián)功能,而且可以提供更直觀的用戶界面,方便和操作。
            電子地圖功能可通過WebGIS系統(tǒng)中的。是MapInfo公司的一個互聯(lián)網(wǎng)技術(shù)的地圖應用軟件,其中,MapXtreme for Java版本是100%純Java產(chǎn)品,具有跨平臺、組件化、面向?qū)ο?、符合J2EE規(guī)范等特點和優(yōu)勢,因此選用它作為平臺。使用MapXtreme開發(fā)WebGIS應用,開發(fā)人員能控制以及維護地圖和數(shù)據(jù)庫數(shù)據(jù),并集中地圖應用程序功能。此外,由于使用IE瀏覽器作為客戶端的使用界面,可使開發(fā)人員將地理信息系統(tǒng)緊密地與其他系統(tǒng)相結(jié)合,給用戶提供統(tǒng)一、完整的綜合信息服務。MapXtreme的WebGIS應用方案如圖4所示[4]。

          本文引用地址:http://www.ex-cimer.com/article/157573.htm

            IE瀏覽器是一個圖形用戶界面,采用Java Applet與JavaScript為用戶提供地圖的基本操作,實現(xiàn)空間數(shù)據(jù)顯示、查詢統(tǒng)計分析等功能。
            Web服務器處理客戶端的請求并把對空間數(shù)據(jù)的處理命令傳遞給GIS應用服務器,回傳HTML文件及Java服務器對象組件;加載空間數(shù)據(jù)等。客戶端Java 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 關鍵技術(shù)的研究與開發(fā)
            MapXtreme的WebGIS應用方案具有平臺獨立性和平衡高效的計算負載等特點,使用Java技術(shù)在服務器端開發(fā)Java Servlet程序。MapXtreme作為一個Servlet與Web服務器相連接,通過地圖引擎來向應用程序提供可供程序腳本語言使用的地圖對象、屬性和方法。開發(fā)中涉及的關鍵技術(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é)議上面,而不用關注如何在客戶端和服務器之間傳送數(shù)據(jù)包。
            在客戶端和服務器端之間傳送一條請求要經(jīng)過很多工序。出于性能上考慮,應該在每次請求/響應中傳輸盡可能多的信息??蛻舳撕头掌鞫酥g的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) 關閉連接。
          3.2 GIS數(shù)據(jù)庫結(jié)構(gòu)的設計
            數(shù)據(jù)庫的合理構(gòu)建是進行管理的前提。系統(tǒng)采用SQL Server作為GIS數(shù)據(jù)庫,其中包括空間數(shù)據(jù)庫和屬性數(shù)據(jù)庫2部分??臻g數(shù)據(jù)庫采用非關系數(shù)據(jù)結(jié)構(gòu),將地圖信息和直放站的地理信息以MapInfo的自定義格式保存于若干文件中;屬性數(shù)據(jù)庫采用關系數(shù)據(jù)結(jié)構(gòu),將與地理信息無關的直放站參數(shù)信息和操作信息存儲在若干屬性表中??臻g數(shù)據(jù)庫與屬性數(shù)據(jù)庫采用間接關聯(lián)的方式,二者通過一定的索引機制聯(lián)系起來,如圖5所示。



          評論


          相關推薦

          技術(shù)專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();