大家來討論一下數(shù)據(jù)回放的程序編寫。在網(wǎng)絡上找到一遍簡單的思路文章,發(fā)到這里希望能起到拋磚引玉的作用。
無線網(wǎng)絡優(yōu)化系統(tǒng)中回放模塊的開發(fā)
文章類別:數(shù)據(jù)通信發(fā)表日期:2005-2-14星期一
--------------------------------------------------------------------------------
070000004422328
郭興旺1 王煒磊1 張國華2 閆智輝1
北京航空航天大學 北京100083
北京惠用易通有限公司 北京100094
摘 要 本文針對路測數(shù)據(jù)回放模塊在無線網(wǎng)絡優(yōu)化系統(tǒng)軟件中的重要作用,結(jié)合筆者在開發(fā)無線網(wǎng)優(yōu)專家系統(tǒng)軟件過程中積累的實踐經(jīng)驗,全面論述了路測數(shù)據(jù)回放功能的實現(xiàn)方法,并提出了利用ActiveX控件圖形化顯示路測數(shù)據(jù)以及利用Gis軟件和WindowsAPI函數(shù)在電子地圖上跟蹤顯示路測點等關鍵技術(shù)的解決方法。
關鍵詞 GSM 路測 網(wǎng)絡優(yōu)化
一、引言
我國的GSM網(wǎng)絡經(jīng)過前幾年的飛速擴容,網(wǎng)絡容量業(yè)已接近上限,目前已維持在一個相對穩(wěn)定的規(guī)模,網(wǎng)絡服務質(zhì)量的提高途徑也由初期的粗放式的擴大網(wǎng)絡規(guī)模向細致、系統(tǒng)的網(wǎng)絡優(yōu)化工程轉(zhuǎn)變,而目前網(wǎng)絡優(yōu)化過程中需要分析的參數(shù)多、數(shù)據(jù)量大與當今市場上工具軟件的功能單一,分析效率低之間的矛盾愈來愈突出。因此,設計開發(fā)綜合功能強、優(yōu)化分析計算自動化程度高、操作界面友好的移動通信無線網(wǎng)絡優(yōu)化系統(tǒng)軟件具有重要的應用價值和市場前景。
路測數(shù)據(jù)的回放模塊是無線網(wǎng)絡優(yōu)化系統(tǒng)軟件中的一個重要組成部分,以圖形化的方式實現(xiàn)了對GSM無線網(wǎng)絡實際運行質(zhì)量情況的再現(xiàn),對于輔助網(wǎng)優(yōu)人員制定合理的網(wǎng)優(yōu)方案和網(wǎng)絡運營商維持整網(wǎng)的高質(zhì)量運行具有特殊的意義。在進行無線網(wǎng)絡優(yōu)化的過程中,進行道路測試是對網(wǎng)絡運行質(zhì)量評估過程中是必不可少的環(huán)節(jié)。道路測試(以下簡稱路測)是網(wǎng)優(yōu)人員利用路測手機以打電話的方式獲取城鎮(zhèn)道路沿線的信號覆蓋情況和通話質(zhì)量情況的一種網(wǎng)優(yōu)手段,路測獲取的實際通話質(zhì)量信息以某種格式的文檔形式被保存在計算機中,網(wǎng)優(yōu)人員在路測完畢后需要對得到的數(shù)據(jù)進行分析,以便對所測試網(wǎng)絡的運行狀況進行評估。在對數(shù)據(jù)的分析過程中網(wǎng)優(yōu)人員往往需要借助專業(yè)的路測軟件輔助完成,此時,就需要路測軟件能對獲取的路測數(shù)據(jù)以圖形的方式再現(xiàn)網(wǎng)絡信號的實際質(zhì)量情況,并提供相關的分析功能,軟件的這種功能就被稱為路測數(shù)據(jù)回放與分析。本文將主要論述路測數(shù)據(jù)回放功能的實現(xiàn)方法,并對如何圖形化顯示路測數(shù)據(jù)和在Gis地圖上跟蹤顯示路測點等關鍵技術(shù)的提出解決辦法。
二、路測數(shù)據(jù)的格式分析
目前路測所用的手機大多數(shù)是非國產(chǎn)的,包括愛立信公司的BEO系列和SAGEM系列等等,但是,無論哪種型號的手機傳送和保存的都是GSM網(wǎng)絡的各種測試指標信號,這些代表測試指標值的信號以二進制數(shù)據(jù)流的形式傳送到計算機中,計算機通過串口接收這些信號,專業(yè)的路測軟件會解析這些信號,并針對我國網(wǎng)絡的實際情況把需要的部分提取出來并保存成某種格式,以便進行回放和分析。不同的路測軟件會把這些數(shù)據(jù)保存成不同格式類型的數(shù)據(jù)文件。這里以廣東省珠海萬禾公司的.ant類型的文件為例進行分析。
.ant文件保存的是路測信息,可以用EXCEL2000打開這種格式的文件來查看數(shù)據(jù)記錄的內(nèi)容?梢钥吹竭@種文件的格式類似關系數(shù)據(jù)庫中的數(shù)據(jù)表,其中有一個time字段代表實際路測時的時間(精確到毫秒),以time字段為主健并進行排序,每一條記錄記載了對應時間點的相關信息,包括路測點的經(jīng)緯度,場強(rxlev),通話質(zhì)量(rxqual),第三層信令(message)等等將近100個指標。
在進行數(shù)據(jù)回放之前要把文件中的數(shù)據(jù)導入到軟件所使用的數(shù)據(jù)庫中形成路測表,回放是針對數(shù)據(jù)庫的路測表的信息進行的。
三、路測數(shù)據(jù)回放的實現(xiàn)
針對路測表的路測數(shù)據(jù)回放就是要以圖形的形式按照時間先后再現(xiàn)路測信號。從運行界面上可以看出路測數(shù)據(jù)回放模塊的部分功能。這些功能的實現(xiàn)是通過靈活應用VB的一些相關控件、方法以及設計和編程技巧來完成的。
1. 路測數(shù)據(jù)回放的圖形化顯示
在數(shù)據(jù)回放時由于要按照時間順序進行動態(tài)回放,所以需要使用timer控件,timer控件是一個用于時間控制的控件,被廣泛應用于需要定時操作的各種場合。timer控件的屬性不多,其中有兩個較為重要的屬性。一個是enabled屬性,當該控件的enabled屬性為true時觸發(fā)該控件的_Timer事件,利用這個屬性可以控制回放的開始、暫停、停止、重放等操作;另一個是interval屬性,interval值代表了每次響應_Timer事件的時間間隔,單位是毫秒,進行路測數(shù)據(jù)回放可以把這個屬性值設置成不同的值以便對回放速度進行控制。
要進行圖形化的顯示,需要用到picture控件(不同于顯示圖像的image控件),把picture控件拖拽成一定大小用來作為回放顯示的主窗口,回放的圖形曲線就可以利用這個控件來實現(xiàn)。在回放時需要顯示的指標數(shù)據(jù)包括每個時間點對應信號的場強值、通話質(zhì)量值和時間提前量(TA值)等,這些指標都是一些標量值。這里不妨以場強值(rxlev)為例說明一下如何圖形化表示場強值的大小。場強的值是一些-110到-47的數(shù),單位為dB,總共分64個等級,F(xiàn)在假定picture控件的scale屬性被設置成了Picture1.Scale(0, 0)-(600,200),這就代表picture控件覆蓋區(qū)域被分成了橫軸為600單位、縱軸為200單位的坐標區(qū)域?梢栽谶@個坐標區(qū)域內(nèi)畫圖線來實現(xiàn)圖形化。在picture顯示區(qū)域顯示圖形,用的是line方法,line方法的編程語句是:
line(起始點橫坐標,起始點縱坐標)-(終止點橫坐標,終止點縱坐標),劃線顏色
需要注意的是,picture控件的原點是在控件的左上角,縱坐標軸向下為正,橫坐標向右為正。
當需要顯示的是柱狀圖時,起始點和終止點的橫坐標值相同,起始點縱坐標值應該是用戶定義的坐標原點在控件坐標系中所在的坐標,如下面一句:
Picture1.Line(Line_Show_position - flag_coefficient * 600+0.5, 112)-(Line_Show_position - flag_ coefficient * 600 + 0.5, 112- 1.2 * drivetestrst.fields("Rxlev_S") ), vbGreen
句中的Line_Show_position等是用戶編程時定義的變量。
如果要實現(xiàn)折線圖的顯示,也是用line方法,只不過此時起始點和終止點的橫縱坐標值都會不同,line語句類似下面一句:
Picture1.Line (I - 0.5, 112-1.2 * Rxlev_S )-(I + 0.5,112-1.2 * Rxlev_S ),vbBlue
這時在顯示區(qū)域就會出現(xiàn)一條短短的直線,當很多這樣的直線首尾連接在一起時就形成了折線。注意,VB中有一個line控件也能實現(xiàn)畫線功能,這個line控件不同于上述的line方法,后者本身就是一個擁有屬性和方法的對象,而前者只是picture控件的一個方法,所以為了保證這些圖形被遮蓋后仍然能保持原樣,必須在畫線之前執(zhí)行Picture1.AutoRedraw = True語句。
當系統(tǒng)檢查到數(shù)據(jù)中出現(xiàn)了掉話、壅塞等情況時,需要以圖標的形式把這些信令的狀態(tài)標示出來。要形成這些效果,需要用到picturebox控件,這個控件是一個圖片包容器,它有一個picture屬性,把該屬性的內(nèi)容設置成需要顯示的圖片后,用left和top屬性設置圖片的位置,用visible屬性來控制圖片的顯示或隱藏就可以方便地實現(xiàn)表示壅塞、掉話等信令的狀態(tài)了。
2. 回放內(nèi)容的回滾
對回放內(nèi)容的回滾是指當網(wǎng)優(yōu)人員在觀測回放時,如發(fā)現(xiàn)異常,則會拖動滾動條以重新觀測回放過的內(nèi)容。由于picture本身不支持滾動顯示的功能,也就是picture控件本身并沒有用于滾動顯示的屬性,因此,需要采取變通的辦法來實現(xiàn)。本文采用的是在picture控件中嵌入flatscrollbar控件的方法。flatscrollbar是滾動條控件,專門用于拖動顯示。flatscrollbar通過max和value屬性來實現(xiàn)滾動顯示,max屬性用于設置一個最大值,value屬性就是用戶點擊滾動條所得到的位置。比如,某文件有5000條記錄,而在回放時每一屏幕只能看到600條記錄的圖形顯示,因此,當用戶需要察看任意位置記錄顯示的時候,就需要拖動滾動條,當用戶拖動由faltscrollbar實現(xiàn)的滾動條到某個位置時(比如拖動到第3000條記錄內(nèi)容),此時,faltscrollbar控件的max屬性可以設置成5000,而拖動后的value值等于3000,可以應用flatscrollbar的這個屬性來實現(xiàn)滾動顯示控制?梢园阎赶蚵窚y數(shù)據(jù)內(nèi)容的數(shù)據(jù)集指針(游標)指向3000,在picture控件上顯示相應部分數(shù)據(jù)的圖形。當然,如何再現(xiàn)圖形還要涉及到一些細節(jié)卻很重要的問題,比如如何讓拖動更加平滑,如何保存回放過的狀態(tài)等等,這些問題都需要采取一些靈活的辦法去解決,這里就不詳細介紹了。
3. 在GIS地圖上進行路測點跟蹤
僅僅實現(xiàn)路測數(shù)據(jù)回放的圖形化顯示對于路測數(shù)據(jù)的分析還是不夠的,網(wǎng)優(yōu)人員往往要結(jié)合電子地圖來跟蹤路測過程的實際路線從而找出每個路測點的實際地理位置,當觀測到異常信號時,網(wǎng)優(yōu)人員需要根據(jù)發(fā)生異常的路測點的實際地理情況進行綜合的分析來判斷異常原因并制定網(wǎng)優(yōu)方案,因此,路測數(shù)據(jù)回放還包括在地圖上進行路測點跟蹤的功能。完成這一功能需要選用合適的GIS平臺,這里以MapInfo Professional 7.0進行說明。
進行路測點的跟蹤時,可以采取如下方法進行:
首先在現(xiàn)有Gis地圖上創(chuàng)建一個供回放用的路測點圖層,當準備對某次路測進行回放時,可以根據(jù)回放紀錄的經(jīng)緯度坐標(當然,記錄中應該會保存經(jīng)緯度信息的)把所有的路測點添加入該圖層并在地圖上全部顯示出來,以便讓網(wǎng)優(yōu)人員對路測點位置有一個宏觀的認識。
當具體回放到某個點的時候,采取的是把對應路測點高亮顯示的辦法。所謂的高亮顯示,其實是創(chuàng)建了一個臨時圖層,把正在回放的點加入這個臨時圖層,(同時刪掉原來的點),設置這個臨時圖層上的點的風格與路測點圖層上點的風格不同,這種風格的不同在視覺效果上就形成了一種所謂的高亮顯示。語句類似以下所示:
MapApp.Do "set style symbol MakeSymbol( 34, 452352352, 10)"
MapApp.Do "insert into cosmetic1(obj) values(createpoint(" && X && "," && Y && "))" 'cosmetic1是臨時圖層的名稱
這樣當回放進行的時候,路測點就會跟著回放的過程相應的“跟蹤”了。不過,需要注意的是,當路測點出現(xiàn)在了視線邊緣時,此時為了更人性化的跟蹤,應該讓當前路測點自動的居中顯示。語句如下所示:
set map center (" && X && "," && Y && ") '把地圖中心調(diào)整到以點point(x, y)為中心的位置
需要注意的是:雖然上述方法能夠完成路測點跟蹤的功能,但是,從實踐中發(fā)現(xiàn),在跟蹤過程中這些路測點會不斷的閃亮和“跳動”,分析原因是由于系統(tǒng)在“高亮顯示”的過程中需要不斷的增刪臨時圖層中的點,從而大大增加了系統(tǒng)開銷。因此,為了解決這個問題,可以換一種思路,采取另外一種方法來解決。Windows有一些API函數(shù),如BitBlt、GetDC、InvertRect、GetClientRect等,這些函數(shù)配合起來可以實現(xiàn)在windows客戶端屏幕上畫點等操作,如果“高亮顯示”的過程不采用增加臨時圖層的辦法,而采用利用此類函數(shù)給客戶端屏幕著色的辦法來實現(xiàn)路測點的跟蹤顯示,在實踐上發(fā)現(xiàn)可以根除這種“跳動”的現(xiàn)象,(當然,代價是要計算出路測點在屏幕上的顯示位置)因此,在無線網(wǎng)優(yōu)系統(tǒng)的開發(fā)過程中如果遇到此類問題,不妨采取后一種思路嘗試,而筆者也正是采用的后一種方法實現(xiàn)的。
4. 其他功能
路測數(shù)據(jù)的回放還要實現(xiàn)一些相關的功能,比如,用鼠標選中圖形上的某條記錄進行采樣分析,場強值(rxlev)的sub 值和full值在圖形上切換顯示的實現(xiàn),第三層信令的跟蹤顯示,在觀測路測數(shù)據(jù)的同時如何察看相應的話務指標等,這些都是很重要的功能,需要很好的實現(xiàn)。這里限于篇幅,就不一一敘述了。
四、總結(jié)
無線網(wǎng)優(yōu)專家系統(tǒng)中的路測數(shù)據(jù)回放的實現(xiàn)需要使用Timer, Picture, PictureBox,flatscrollbar等控件來實現(xiàn)圖形化的顯示,需要借助GIS平臺開辟路測圖層來實現(xiàn)路測點的跟蹤,在路測點跟蹤的過程中合理使用一些Windows的API函數(shù)會給系統(tǒng)的性能帶來一些好的改變,因此,把無線網(wǎng)絡優(yōu)化的業(yè)務和具體的編程技術(shù)很好的結(jié)合起來,才能完成穩(wěn)定,高效的路測數(shù)據(jù)回放功能。
參 考 文 獻
[1] OPTIMISATION PROCESS. MOTOROLA, 1997.
[2] CellAD System 7 LCC.
[3] 曾召華. GSM移動通信系統(tǒng)的網(wǎng)絡優(yōu)化理論與實踐. 西安科技學院學報,2002,22(3):301-305
[4] 劉亞軍,康建初. 基于知識的GSM網(wǎng)絡優(yōu)化決策支持系統(tǒng).移動通信,2001,5
[5] 龔洪泉, 邱曉娜等. 層次化軟件構(gòu)造. 計算機工程與應用, 2003,39(5): 135-138,232
郭興旺,1964年生,男,內(nèi)蒙古人,副教授,博士。主要研究方向為機電控制與檢測、計算機信息處理等。
王煒磊,1979年生,男,湖南人,碩士研究生。
張國華,1975年生,男,安徽人,技術(shù)經(jīng)理,碩士。主要研究方向為信息管理與信息系統(tǒng)、移動通訊。
閆智輝,1977年生,男,河南人,碩士研究生。
掃碼關注5G通信官方公眾號,免費領取以下5G精品資料
1、回復“YD5GAI”免費領取《中國移動:5G網(wǎng)絡AI應用典型場景技術(shù)解決方案白皮書》
2、回復“5G6G”免費領取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21》
3、回復“YD6G”免費領取《中國移動:6G至簡無線接入網(wǎng)白皮書》
4、回復“LTBPS”免費領取《《中國聯(lián)通5G終端白皮書》》
5、回復“ZGDX”免費領取《中國電信5G NTN技術(shù)白皮書》
6、回復“TXSB”免費領取《通信設備安裝工程施工工藝圖解》
7、回復“YDSL”免費領取《中國移動算力并網(wǎng)白皮書》
8、回復“5GX3”免費領取《 R16 23501-g60 5G的系統(tǒng)架構(gòu)1》
|