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