蔣湘濤,陳曉雷
(1.中南林業(yè)科技大學(xué) 計算機與通信工程學(xué)院,湖南 長沙410004;2.中國移動通信集團湖南有限公司 湘潭分公司,湖南 湘潭411100)
路測是移動通信網(wǎng)絡(luò)質(zhì)量優(yōu)化中必須要做的日常工作,主要通過路測及相關(guān)分析來主動發(fā)現(xiàn)通信網(wǎng)絡(luò)中所存在的問題,并基于分析結(jié)果定制出改進通信網(wǎng)絡(luò)質(zhì)量的優(yōu)化方案,其中優(yōu)化方案的成效直接依賴于對路測數(shù)據(jù)的分析和網(wǎng)絡(luò)質(zhì)量的評估?,F(xiàn)有網(wǎng)絡(luò)質(zhì)量采集及分析系統(tǒng) (路測軟件)只能提供二維地圖信息,工作人員主要依靠路測數(shù)據(jù)和基站分布平面圖進行網(wǎng)絡(luò)質(zhì)量分析。由于缺少所測試網(wǎng)絡(luò)的地理環(huán)境信息支持,其分析結(jié)果常常有較大的誤差,特別是當(dāng)測試和分析工作由不同的人員獨立進行時,問題更加顯著,嚴(yán)重影響其優(yōu)化方案的實際成效。
全球地理信息搜索軟件Google Earth能夠方便快速地定位到地球上任一點、并返回其地理環(huán)境信息,其提供的全球地貌影像能生成三維視圖、并可任意旋轉(zhuǎn)以提供不同視角[1]。影像的有效分辨率通常為30m左右,針對大城市、著名風(fēng)景區(qū)能提供分辨率為1m和0.6m左右的高精度影像,而為國內(nèi)地市級城市以及重要縣城提供的影像精度均在5m左右??紤]到Google Earth所具有的高精度、開放性特點,本文利用它來獲取通信網(wǎng)絡(luò)所在地的地理環(huán)境信息,并將其與現(xiàn)有常規(guī)路測軟件所能提供的路測數(shù)據(jù)進行信息融合,同時還整合了通信質(zhì)量投訴數(shù)據(jù)等其他與網(wǎng)絡(luò)質(zhì)量分析相關(guān)的信息,最終提供集成式的可視化通信網(wǎng)絡(luò)優(yōu)化分析系統(tǒng)。
利用Google Earth系統(tǒng)所提供的嵌入式控件 (為了方便起見,下文采用Google Earth作為該控件的簡稱),將地理環(huán)境信息的瀏覽功能集成到本系統(tǒng)中;并利用API注入和Hook技術(shù)實現(xiàn)與現(xiàn)有路測軟件交互、以及兩者的信息融合。從而構(gòu)造出可視化的網(wǎng)絡(luò)通信質(zhì)量分析系統(tǒng)。
本系統(tǒng)基于Google Earth的開發(fā)主要包括兩部分:使用基于KML (keyhole markup language)模型[2]的無線網(wǎng)絡(luò)、基站的地理環(huán)境信息表示與查詢,包括各種影像和三維地貌圖要素,且實時更新數(shù)據(jù);基于Google Earth提供的COM API[3]接口來實現(xiàn)對地理環(huán)境信息的瀏覽操作以及路測數(shù)據(jù)在三維地形環(huán)境中的回放,并且支持回放過程中進行視角、縮放、視距等參數(shù)調(diào)整。
客觀世界各種復(fù)雜的地理對象可以抽象成為點、線、多邊形 (面)等空間幾何類型。在Google Earth的KML模型中,采用Geometry抽象元素定義了幾種基本的幾何形元素,分別提供點 (Point)、線 (LineString)、環(huán) (Linear-Ring)、多邊形 (Polygon)、三維模型 (Model)等基本幾何圖形,同時還可以通過MultiGeometry聚合不同形態(tài)的基本幾何圖形,以便定義出復(fù)雜的幾何實體。
本系統(tǒng)主要使用了 KML模型中的下列定義元素[2,4-6]:(1)Placemark元素表示定義了一個地理對象;
(2)Point元素定義點對象,每個Point元素其中僅包括一個Coordinates元素。
(3)Polygon定義多邊形對象,表示連接的平面。按面域之間的包含關(guān)系可分為無島面域和有島面域兩種,每個多邊形對象的外邊界由outerBoundaryIs元素定義,其內(nèi)邊界由innerBoundaryIs元素定義。
(4)LinearRing定義環(huán)對象,表示線形閉合環(huán),由一序列坐標(biāo)對所組成的直線段連接起來而組成。
(5)Coordinates定義坐標(biāo)序列對,一個地理坐標(biāo)對包括經(jīng)度、緯度和高度3個值。
此外,在KML模型中,還可以通過Style元素來指定實現(xiàn)地理對象的外在樣式表示;altitudeMode元素定義高度模式,設(shè)置為clampToGround模式時點對象將緊貼地面,忽略coordinates元素中所設(shè)置的高度值,設(shè)置為relativeToGround模式時,coordinates元素中的高度值為相對地面的高度值,指定為absolute模式時coordinates元素中的高度值此時為點對象相對海平面的高度值。extrude元素用于定義在relativeToGround、absolute等高度模式下的空間點是否通過線擴展延伸到相應(yīng)的地表面。tessellate元素用于指定地理對象是否隨地形起伏而產(chǎn)生相應(yīng)變化。
在本系統(tǒng)中,使用點對象來標(biāo)識所有的基站分布信息以及用戶對通信質(zhì)量投訴數(shù)據(jù),同時使用多邊形對象來表示基站信號覆蓋范圍。其中信號覆蓋范圍的計算法采用了通用的大地主題解正算法,可以得到基站信號覆蓋范圍的扇形圖。在計算過程中,當(dāng)下傾角不等于0°時,表示覆蓋范圍的扇形圖半徑值設(shè)為 (站點高度)/TAN (下傾角),而計算全向站的信號覆蓋范圍時設(shè)定基站的半功率角為360°。
圖1中的實例定義了位置點 (湘潭縣雙江)以及一個基站雙江-33771,并描述了其網(wǎng)絡(luò)信號覆蓋范圍,由<coordinates>標(biāo)簽中的一系列的三元組值指示出其具體的邊界。
圖1 地理環(huán)境信息定義實例
信息融合過程中主要是通過GPS數(shù)據(jù)值來實現(xiàn)網(wǎng)絡(luò)質(zhì)量路測數(shù)據(jù)和Google Earth能提供的地理環(huán)境數(shù)據(jù)的關(guān)聯(lián)。其中在Google Earth地理環(huán)境數(shù)據(jù)的所包含的GPS數(shù)據(jù)值是通過預(yù)先計算、自定義生成的,而路測數(shù)據(jù)的所包含GPS數(shù)據(jù)值是動態(tài)提取的,依照路測軟件定義的數(shù)據(jù)格式以及 NMEA-0183協(xié)議[7-8]計算出 GPS數(shù)據(jù)的經(jīng)、緯度值。下面將介紹系統(tǒng)中信息融合機制的具體實現(xiàn)。
為了遵循用戶對現(xiàn)有分析系統(tǒng)的操作習(xí)慣,在信息融合實現(xiàn)機制中,主要使用了 API注入[9-12]和 Hook技術(shù)[13-14],不需要修改現(xiàn)有路測軟件,也無需用戶增加額外的操作步驟。其中API注入是通過對系統(tǒng)動態(tài)鏈接庫com32dlg.dll中GetOpenFileNameA函數(shù)調(diào)用的攔截,獲取路測軟件當(dāng)前正要加載進行分析的路測數(shù)據(jù)文件名;一旦獲取文件名后,則讀取其數(shù)據(jù)內(nèi)容,并按NMEA-0183協(xié)議從中提取相應(yīng)的GPS記錄值,主要包括經(jīng)、緯度以及高度值,最終據(jù)此生成相應(yīng)的KML文件,導(dǎo)入Google Earth實現(xiàn)系統(tǒng)的初始化,緩存所有位置的相關(guān)衛(wèi)星影像資料。
Hook技術(shù)則主要用于記錄現(xiàn)有路測軟件中鼠標(biāo)操作事件 (主要記錄開始、暫時、回到最初以及跳到結(jié)尾等操作),以獲取用戶對路測軟件的操作,并由此生成對Google Earth的瀏覽操作控制,完成在Google Earth中的地理位置變化和地理環(huán)境信息顯示。
整個過程如圖2所示,當(dāng)路測軟件導(dǎo)入路測數(shù)據(jù)時,本系統(tǒng)將得到該數(shù)據(jù)文件名,自將其導(dǎo)入,并從中即時提取相應(yīng)的GPS數(shù)據(jù)值,與系統(tǒng)預(yù)先基于KML模型定義的地理環(huán)境信息相結(jié)合,形成當(dāng)前分析網(wǎng)絡(luò)的相關(guān)地理信息定義文件,使用該文件驅(qū)動Google Earth即時讀取相應(yīng)的地理環(huán)境信息,并在系統(tǒng)的主窗口顯示出來;同時當(dāng)用戶操縱路測軟件時,將由截取到的事件驅(qū)動本系統(tǒng)完成信息的即時更新。
圖2 路測數(shù)據(jù)與地理環(huán)境信息的融合過程
從圖3中可以看到,本系統(tǒng)不僅可以查看到所有的實際路測數(shù)據(jù)值,還可以同時從主窗口GE VIEW中看到由三維圖形展示的網(wǎng)絡(luò)地理環(huán)境信息,不僅可以看到實際地理地貌,同時還可清楚地看到路測軌跡信息,由三維圖中的紅色線形表示,線上方塊圖形表示當(dāng)前的測量位置。
基于Google Earth的標(biāo)簽功能[3]支持實現(xiàn)對所轄境內(nèi)所以基站數(shù)據(jù)進行實時修改、顯示、分析。
圖4顯示如何在系統(tǒng)中對用戶投訴數(shù)據(jù)進行可視化管理,并最終集成到網(wǎng)絡(luò)分析系統(tǒng);圖5顯示在系統(tǒng)中查看基站的基本信息。在分析過程中,隨時查看當(dāng)前基站所轄網(wǎng)絡(luò)的所有相關(guān)信息,并自動接收數(shù)據(jù)執(zhí)行更新操作。
應(yīng)用了該系統(tǒng)對湘潭河西區(qū)域進行通信網(wǎng)絡(luò)優(yōu)化,路測以及相關(guān)分析工作貫徹整個優(yōu)化工作的始終,不僅通過路測發(fā)現(xiàn)問題,同時還通過路測驗證各種優(yōu)化手段的實際效果,在此分析過程中除了路測數(shù)據(jù)值,主要利用了本系統(tǒng)所提供的基站周邊環(huán)境地貌信息以及所轄網(wǎng)絡(luò)的故障報告以及其他相關(guān)信息。
通過對比河西區(qū)域在優(yōu)化前后一周的整體指標(biāo),表明該區(qū)域性能有很大的改善。表1是優(yōu)化過程中網(wǎng)絡(luò)載頻性能的日統(tǒng)計結(jié)果表,可以比較明顯地看出網(wǎng)絡(luò)質(zhì)量提升的趨勢。
表1 載頻性能統(tǒng)計
基于API注入和Hook技術(shù),構(gòu)造了集成式的網(wǎng)絡(luò)優(yōu)化分析應(yīng)用系統(tǒng),將Google Earth的地理環(huán)境信息瀏覽功能以及現(xiàn)有路測軟件回放功能集成到本系統(tǒng)中,并且實現(xiàn)了兩者的信息融合以及在本系統(tǒng)中與路測軟件的交互操作。主要解決了以下3個問題:在不需要更改現(xiàn)有路測軟件的基礎(chǔ)上,實現(xiàn)路測數(shù)據(jù)與Google Earth的地理環(huán)境數(shù)據(jù)兩者的信息融合;提供了可視化的網(wǎng)絡(luò)質(zhì)量分析系統(tǒng);實現(xiàn)了移動通信基站數(shù)據(jù)的可視化管理。系統(tǒng)在中國移動通信集團湖南有限公司湘潭分公司的實際應(yīng)用情況表明,能有效地提高網(wǎng)絡(luò)規(guī)劃及優(yōu)化工作的質(zhì)量和效率,具有比較顯著的應(yīng)用參考價值。
[1]Google Inc.Google earth[EB/OL].http://earth.google.com/,2008.
[2]Google Inc.KML 2.2reference [R/OL].http://code.google.com/apis/kml/documentation/kmlreference.html,2007.
[3]Google Inc.Google Earth COM API documentation[EB/OL].http://earth.google.com/comapi,2010.
[4]TANG Yong,LIU Changzhong,WU Honggang.3Dflight track and 6-DOF flight simulation based on Google Earth [J].Journal of Computer Applications,2009,29 (12):3385-3387(in Chinese).[唐勇,劉昌忠,吳宏剛.基于Google Earth的三維航跡監(jiān)視及六自由度飛行仿真 [J].計算機應(yīng)用,2009,29 (12):3385-3387.]
[5]CHEN Ruixiang,HE Zhaocheng,HUANG Min,et al.The application of Google Earth in traffic information system [J].Acta Scientiarum Naturalium Universitatis Sunyatseni,2007,46 (s2):195-198 (in Chinese).[陳 銳 祥,何 兆 成,黃 敏,等.Google Earth在交通信息服務(wù)系統(tǒng)中的應(yīng)用研究 [J].中山大學(xué)學(xué)報 (自然科學(xué)版),2007,46 (s2):195-198.]
[6]JIN Yongfu,LUO Dongqing,GUO Weiqi,et al.Application of Google Earth for information system of utilization of sea areaⅡ.further development chart [J].Marine Environmental Science,2010,29 (3):436-439(in Chinese). [金永福,羅冬箐,郭偉其,等.基于Google Earth的海域使用管理信息系統(tǒng)的應(yīng)用Ⅱ.二次開發(fā)篇 [J].海洋環(huán)境科學(xué),2010,29 (3):436-439.]
[7]QIAN Dejun,ZHANG Zhe,HU Chen.On parsing of NMEA0183 protocol[J].Chinese Journal of Electron Devices,2007,32(2):698-701 (in Chinese).[錢德俊,張哲,胡晨.NMEA0183協(xié)議解析 [J].電子器件,2007,32 (2):698-701.]
[8]YU Zhigang,LU Xiushan,ZHANG Lina,et al.Protocol NMEA0183and VB-based data withdrawal[J].Journal of Shandong University of Science and Technology (Natural Science),2006,25 (4):80-86.(in Chinese). [于志剛,盧秀山,張莉娜,等.NMEA0183協(xié)議及基于VB數(shù)據(jù)提取的實現(xiàn) [J].山東科技大學(xué)學(xué)報 (自然科學(xué)版),2006,25 (4):80-86.]
[9]ZHU Ruolei.Detecting API hook based on active trace [J].Computer Engineering and Design,2010,31 (15):3363-3366(in Chinese).[朱若磊.基于動態(tài)追蹤技術(shù)偵測 API鉤掛[J].計算機工程與設(shè)計,2010,31 (15):3363-3366.]
[10]ZHU Ruolei.Detecting API hook based on active trace [J].Journal of Computer Applications,2006,26 (9):2134-2136(in Chinese).[朱若磊.利用核心態(tài)鉤掛技術(shù)防止代碼注入攻擊 [J].計算機應(yīng)用,2006,26 (9):2134-2136.]
[11]FU Wen,ZHAO Rongcai,PANG Jianmin,et al.Static detection method for obfuscated API-calling behavior [J].Computer Engineering,2010,36 (14):108-110 (in Chinese).[付文,趙榮彩,龐建民,等.隱式API調(diào)用行為的靜態(tài)檢測方法 [J].計算機工程,2010,36 (14):108-110.]
[12]XU Haifeng.Data auto-collecting technology based on messages and hooks[J].Computer Engineering and Design,2010,31 (5):1009-1012 (in Chinese).[徐海峰.基于消息和鉤子數(shù)據(jù)自動獲取技術(shù)的實現(xiàn) [J].計算機工程與設(shè)計,2010,31 (5):1009-1012.]
[13]XIE Chunxiang,ZHANG Hong,CAI Li.The application of user-defined message based on hook message handling mechanism [J].Computer Applications and Software,2008,25(1):152-154 (in Chinese). [謝春祥,張虹,蔡黎.基于HOOK消息處理機制的自定義消息應(yīng)用 [J].計算機應(yīng)用與軟件,2008,25 (1):152-154.]
[14]LUO Liming,F(xiàn)U Yutong,LU Yue.Process control realization with Win32hook technology [J].Control & Automation,2007,24 (5):240-242 (in Chinese).[駱力明,符宇同,魯悅.利用Hook技術(shù)實現(xiàn)進程控制 [J].微計算機信息,2007,24 (5):240-242.]