一種面向通信網絡測試的分布式自動撥測系統(tǒng)及方法
【專利摘要】本發(fā)明提供了一種面向通信網絡測試的分布式自動撥測系統(tǒng)及方法,該系統(tǒng)包括自動撥測監(jiān)控模塊和自動撥測模塊,自動撥測監(jiān)控模塊,用于向自動撥測模塊發(fā)送控制命令,控制自動撥測模塊進行自動撥測,接收并顯示自動撥測模塊上報的終端信息,實時監(jiān)控自動撥測模塊當前連接的測試終端的狀態(tài),根據自動撥測模塊上報的心跳消息對自動撥測模塊的連接狀態(tài)進行存活監(jiān)測;自動撥測模塊,用于根據自動撥測監(jiān)控模塊發(fā)送的控制命令進行自動撥測,從開放數據口的路測終端獲取和上報終端信息,發(fā)送心跳消息給自動撥測監(jiān)控模塊進行連接存活監(jiān)測,本發(fā)明從根本上提高了測試效率,擴大測試覆蓋范圍,迅速復現測試場景,解決了人力資源投入大等問題。
【專利說明】一種面向通信網絡測試的分布式自動撥測系統(tǒng)及方法
【技術領域】
[0001]本發(fā)明涉及通信【技術領域】,尤其涉及一種面向通信網絡測試的分布式自動撥測系統(tǒng)及方法。
【背景技術】
[0002]隨著移動通信3G/4G標準的廣泛應用,各種電信運營商都在努力加大自己在這一領域的市場占有率,因此通信設備領域內的競爭也越來越激烈,通常在外場部署的無線設備遇到改造,升級,擴容,或者一般的數據修改等操作后,為保證設備能正常運轉,需要對所有載頻進行撥測,目前采用的方法是一人一個筆記本進行手動撥測,這種方法耗時耗力,并且無法保證對每個載波都測試到位,造成設備的運行隱患。費時費力,運維成本也很大。并且在公司內部各個版本的壓力測試中通常也采用了上述方法,造成極大地資源浪費,而且撥測還不充分,傳統(tǒng)的“一人一機一終端”的撥測方式嚴重影響了測試效率的提升,也影響了對無線設備問題的定位。
[0003]目前針對現網的無線設備測試中,操作終端進行CS和PS等業(yè)務是主要的測試手段,但測試人員手動進行撥測的效率受到諸多因素影響,嚴重影響了測試問題和定位問題的結果,尤其在外場的測試中通常需要人手一臺筆記本電腦進行測試,當進行多用戶接入測試時甚至需要一人控制5,6臺筆記本電腦。并且對測試數據的整理分析都需要人力進行。
[0004]針對上述情況,普天通信技術有限公司提出了一種移動通信網絡多業(yè)務自動撥測儀,該系統(tǒng)包括測試通道、分析指令和測試通道下達執(zhí)行指令以及中央處理單元通過控制總線分別連接測試通道、語音單元和存儲單元等。通過上述的測試模塊集成了各種業(yè)務功能,通過與電腦相連接,來控制撥測儀自動進行各類業(yè)務。華為公司提出了一種自動撥測系統(tǒng)包括自動撥測服務器和自動撥測代理裝置,其中:自動撥測服務器用于控制自動撥測代理裝置進行自動撥測,并接收自動撥測代理裝置上報的自動撥測結果;以及自動撥測代理裝置可用于自動撥測服務器的控制下監(jiān)控網元的所有呼叫和通過網元發(fā)起自動撥測并收集和上報自動撥測結果。中興公司發(fā)明了一種多用戶測試方法和裝置,該方法實現了多用戶測試可為各個測試終端分別配相應的獨立入網測試信息,對每個終端進行撥號連接。
[0005]上述前兩種方案均采用了硬件模塊發(fā)起業(yè)務的方式,而不是直接使用不同廠商芯片的專用測試數據卡或者商用手機終端,這樣做的弊端是無法獲取終端側的信令,不能滿足某些基于真實使用商用手機終端的測試場景。而且,無法滿足多用戶的并行接入測試,影響了對無線設備的壓力測試結果。上述第三種方案滿足了多用戶的同時接入,但在系統(tǒng)架構上沒有考慮到用戶數量的擴展性,并且只可做簡單的終端接入撥號測試,不能滿足復雜的測試場景,且該方案也無法獲取終端側信令,無法測試終端側接收和上報信息是否正確。
【發(fā)明內容】
[0006](一 )要解決的技術問題
[0007]本發(fā)明提供一種面向通信網絡測試的分布式自動撥測系統(tǒng)及方法,以解決現有自動撥測技術中無法獲取終端側的信令,不能滿足真實使用商用手機終端的測試場景以及復雜的測試場景的技術問題。
[0008]( 二)技術方案
[0009]為解決上述技術問題,本發(fā)明提供一種面向通信網絡測試的分布式自動撥測系統(tǒng),該系統(tǒng)包括自動撥測監(jiān)控模塊和自動撥測模塊,其中:
[0010]自動撥測監(jiān)控模塊,用于向自動撥測模塊發(fā)送控制命令,控制所述自動撥測模塊進行自動撥測,接收并顯示所述自動撥測模塊上報的終端信息,實時監(jiān)控所述自動撥測模塊當前連接的測試終端的狀態(tài),根據所述自動撥測模塊上報的心跳消息對所述自動撥測模塊的連接狀態(tài)進行存活監(jiān)測;
[0011 ]自動撥測模塊,用于根據所述自動撥測監(jiān)控模塊發(fā)送的控制命令進行自動撥測,從開放數據口的路測終端獲取和上報終端信息,發(fā)送心跳消息給所述自動撥測監(jiān)控模塊進行連接存活監(jiān)測。
[0012]優(yōu)選地,所述自動撥測監(jiān)控模塊包括自動化控制單元、數據接收顯示單元和終端監(jiān)控單元,其中:
[0013]自動化控制單元,用于執(zhí)行測試時,解析腳本程序中的接口函數將其轉換為控制命令,并向所述自動撥測模塊下發(fā)所述控制命令;
[0014]數據接收顯示單元,用于接收并顯示所述自動撥測模塊上報的終端信息,并接收所述自動撥測模塊上報的心跳消息;
[0015]終端監(jiān)控單元,根據所述數據接收顯示單元接收到的終端信息實時監(jiān)控所述自動撥測模塊當前連接的測試終端的狀態(tài),并根據所述數據接收顯示單元接收到的心跳信息對所述自動撥測模塊的連接狀態(tài)進行存活監(jiān)測。
[0016]優(yōu)選地,所述自動撥測監(jiān)控模塊還包括終端參數配置模塊,用于修改腳本程序中的終端參數。
[0017]優(yōu)選地,所述自動化控制單元向所述自動撥測模塊下發(fā)控制命令后,還用于啟動控制定時器,并判斷在預設的定時時間內所述數據接收顯示單元是否收到所述自動撥測模塊上報的終端信息,若是,則執(zhí)行下一條命令,若否,則顯示超時提醒,并繼續(xù)執(zhí)行下一條命令。
[0018]優(yōu)選地,所述自動撥測模塊包括一個或級聯的多個安裝有自動撥測代理單元和終端控制單元的工控機板卡,其中:
[0019]自動撥測代理單元,用于建立與自動撥測監(jiān)控模塊的連接,啟動心跳線程,向數據接收顯示單元發(fā)送心跳消息給所述終端監(jiān)控單元進行連接存活監(jiān)測;在連接存活的狀態(tài)下,接收所述自動化控制單元發(fā)送的控制命令,根據所述控制命令對當前連接的測試終端進行自動撥測;將終端控制單元獲取的終端信息上報給數據接收顯示單元
[0020]終端控制單元,用于從開放數據口的路測終端獲取終端信息并將所述終端信息發(fā)送到自動撥測代理單元。
[0021]優(yōu)選地,所述腳本程序為python腳本語言。
[0022]本發(fā)明還提出了一種面向通信網絡測試的分布式自動撥測方法,所述方法包括:
[0023]S1、自動撥測監(jiān)控模塊向自動撥測模塊發(fā)送控制命令,控制所述自動撥測模塊進行自動撥測;
[0024]S2、自動撥測模塊根據所述自動撥測監(jiān)控模塊發(fā)送的控制命令進行自動撥測,從開放數據口的路測終端獲取和上報終端信息,并發(fā)送心跳消息給所述自動撥測監(jiān)控模塊進行連接存活監(jiān)測;
[0025]S3、自動撥測監(jiān)控模塊接收并顯示所述自動撥測模塊從開放數據口的路測終端獲取的終端信息,實時監(jiān)控所述自動撥測模塊當前連接的測試終端的狀態(tài),并根據所述自動撥測模塊上報的心跳消息對所述自動撥測模塊的連接狀態(tài)進行存活監(jiān)測。
[0026]優(yōu)選地,所述步驟SI具體包括:當執(zhí)行測試時,解析腳本程序中的接口函數將其轉換為控制命令,并向所述自動撥測模塊下發(fā)所述控制命令。
[0027]優(yōu)選地,所述方法還包括:
[0028]根據測試過程中終端的類型修改腳本程序中的終端參數。
[0029]優(yōu)選地,在向所述自動撥測模塊下發(fā)控制命令后,所述方法還包括:
[0030]啟動控制定時器,判斷在預設的定時時間內所述自動撥測監(jiān)控模塊是否收到所述自動撥測模塊上報的終端信息,若是,則執(zhí)行下一條命令,若否,則顯示超時提醒,并繼續(xù)執(zhí)行下一條命令。
[0031 ] 優(yōu)選地,所述步驟S2具體包括:
[0032]建立與自動撥測監(jiān)控模塊的連接,啟動心跳線程,發(fā)送心跳消息給所述自動撥測監(jiān)控模塊進行連接存活監(jiān)測;
[0033]在連接存活的狀態(tài)下,接收所述自動撥測監(jiān)控模塊發(fā)送的控制命令,根據所述控制命令對當前連接的測試終端進行自動撥測;將從開放數據口的路測終端獲取終端信息獲取的終端信息上報給自動撥測監(jiān)控模塊。
[0034](三)有益效果
[0035]通過采用本發(fā)明提供的面向通信網絡測試的分布式自動撥測系統(tǒng)及方法,能支持各種模式的測試終端,可以不斷的增加支持的終端種類,具有很好地可擴展性,滿足系統(tǒng)不斷迭代升級的需求;采用了分布式的系統(tǒng)架構,可增加可控制自動撥測的終端數量滿足真實場景多用戶并發(fā)測試;在下位機中集成了終端側信令獲取功能,可將終端上報的各類信令上報到上位機中,避免了單一的網絡側信令監(jiān)測的測試模式;采用Python作為腳本編寫語言簡單靈活,通過簡潔豐富的控制命令對終端進行復雜的控制,滿足現有的各類測試場旦
-5^ O
【專利附圖】
【附圖說明】
[0036]通過參考附圖會更加清楚的理解本發(fā)明的特征和優(yōu)點,附圖是示意性的而不應理解為對本發(fā)明進行任何限制,在附圖中:
[0037]圖1為本發(fā)明一種面向通信網絡測試的分布式自動撥測系統(tǒng)的結構示意圖;
[0038]圖2為本發(fā)明一種面向通信網絡測試的分布式自動撥測方法的流程圖;
[0039]圖3為本發(fā)明實施例中分布式自動撥打測試儀控制命令交互流程示意圖;
[0040]圖4為本發(fā)明實施例中連接存活監(jiān)控流程示意圖;
[0041]圖5為本發(fā)明實施例中下位機的ADT-Agent代理程序實時信令獲取流程示意圖。
【具體實施方式】
[0042]為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0043]本發(fā)明提出了一種面向通信網絡測試的分布式自動撥測系統(tǒng)及方法,通過上下位機控制操作多部測試終端進行壓力測試的綜合性自動化測試系統(tǒng)。它滿足了當前測試中模擬多用戶在同一小區(qū)內進行CS (Circuit Switching)和PS (Packet Switching)業(yè)務,解決了現有測試環(huán)境下,測試多用戶用例中用戶數量的瓶頸。該系統(tǒng)可適配各個芯片廠商的測試終端路測終端以及商用安卓手機終端,滿足各種類型終端混合使用,并且通過使用商用安卓手機可從模擬真實操作出發(fā),測試手機的呼叫,短信等常規(guī)測試以及Email,移動夢網,GPRS,WAP,彩信等數據業(yè)務,解決了復現外場問題時無法模擬真實使用環(huán)境的問題。整套系統(tǒng)更好的i全釋了自動化測試的理念,全部采用python腳本的控制方式,python腳本語言是一種輕量化的編程語言,降低了測試人員編寫腳本的難度,既可以定制簡單的通用腳本做自動化壓力測試,也可以滿足復雜算法驗證等用例的自動化測試,豐富了測試方法,解放了手動測試的人力。并配合數據庫達到用例編輯,用例存儲,用例執(zhí)行的多功能合一。并且在定位針對部分終端接入問題時,需要將基站側和終端側信令進行對比發(fā)現問題,本系統(tǒng)集成了終端路測能力,可對終端側信令進行實時采集,并配合腳本分析,過濾信令。
[0044]實施例1
[0045]本發(fā)明實施例1提供一種面向通信網絡測試的分布式自動撥測系統(tǒng),如圖1所示,該系統(tǒng)包括自動撥測監(jiān)控模塊I和自動撥測模塊2,其中:
[0046]自動撥測監(jiān)控模塊1,用于向自動撥測模塊發(fā)送控制命令,控制所述自動撥測模塊進行自動撥測,接收并顯示所述自動撥測模塊上報的終端信息,實時監(jiān)控所述自動撥測模塊當前連接的測試終端的狀態(tài),根據所述自動撥測模塊上報的心跳消息對所述自動撥測模塊的連接狀態(tài)進行存活監(jiān)測;
[0047]自動撥測模塊2,用于根據所述自動撥測監(jiān)控模塊發(fā)送的控制命令進行自動撥測,從開放數據口的路測終端獲取和上報終端信息,發(fā)送心跳消息給所述自動撥測監(jiān)控模塊進行連接存活監(jiān)測。
[0048]本發(fā)明實施例中,整個系統(tǒng)采用自動撥測監(jiān)控模塊ADT-Manager作為上位機,自動撥測模塊ADT-BOX作為下位機。ADT-BOX由4個獨立的工控機板卡組成,每一個板卡中都安裝了一個自動撥測代理單元即ADT-Agent代理程序。在測試中,通過上位機ADT-Manager分別下發(fā)控制命令到指定板卡中的ADT-Agent代理程序中,控制插在ADT-BOX上插入的安卓商用終端或各類測試數據卡做CS和PS業(yè)務
[0049]進一步地,所述自動撥測監(jiān)控模塊I包括自動化控制單元11、數據接收顯示單元12和終端監(jiān)控單元13,其中:
[0050]自動化控制單元11,用于執(zhí)行測試時,解析腳本程序中的接口函數將其轉換為控制命令,并向所述自動撥測模塊下發(fā)所述控制命令;
[0051]數據接收顯示單元12,用于接收并顯示所述自動撥測模塊上報的終端信息,并接收所述自動撥測模塊上報的心跳消息;
[0052]終端監(jiān)控單元13,根據所述數據接收顯示單元12接收到的終端信息實時監(jiān)控所述自動撥測模塊當前連接的測試終端的狀態(tài),并根據所述數據接收顯示單元12接收到的心跳信息對所述自動撥測模塊的連接狀態(tài)進行存活監(jiān)測。
[0053]進一步地,所述自動撥測監(jiān)控模塊I還包括終端參數配置模塊,用于修改腳本程序中的終端參數。
[0054]本實施例中,該系統(tǒng)上位機自動撥測監(jiān)控模塊I (ADT-Manager)是運行在PC端的軟件程序,主要作用是對自動撥測模塊ADT-BOX進行控制和管理。測試人員執(zhí)行Python腳本進行測試時,可通過自動化控制單元解析腳本中的接口函數并轉換為控制命令信息,然后將該信息組包發(fā)給下位機的ADT-Agent代理程序向ADT-BOX發(fā)送控制終端命令,終端監(jiān)控單元可監(jiān)控ADT-BOX中所插終端狀態(tài),實時監(jiān)測終端信息,數據接收顯示單元接收并顯示ADT-BOX上報的終端信息和心跳,實時更新并能實時的記錄程序運行l(wèi)og,對程序運行中出現的異常問題進行定位。
[0055]其中,自動撥測監(jiān)控模塊ADT-Manager支持本地ACCESS數據庫和TCM數據庫,通過以上兩種方式可將用例存放到網絡中保存,并能通過一套用例執(zhí)行系統(tǒng),自動化循環(huán)執(zhí)行用例,在用例執(zhí)行結束時以三種形式保存測試報告,方便測試人員定位用例執(zhí)行中出現的問題。針對編寫腳本中出現的終端參數較多不易修改等問題,自動撥測監(jiān)控模塊ADT-Manager開發(fā)了相應的終端參數配置模塊,通過界面化的參數配置修改腳本程序中的終端參數,避免反復修改腳本。
[0056]進一步地,所述自動化控制單元11向所述自動撥測模塊下發(fā)控制命令后,還用于啟動控制定時器,并判斷在預設的定時時間內所述數據接收顯示單元12是否收到所述自動撥測模塊2上報的終端信息,若是,則執(zhí)行下一條命令,若否,則顯示超時提醒,并繼續(xù)執(zhí)行下一條命令。
[0057]進一步地,所述自動撥測模塊2包括一個或級聯的多個安裝有自動撥測代理單元21和終端控制單元22的工控機板卡,其中:
[0058]自動撥測代理單元21,用于建立與自動撥測監(jiān)控模塊的連接,啟動心跳線程,向數據接收顯示單元12發(fā)送心跳消息給所述終端監(jiān)控單元13進行連接存活監(jiān)測;在連接存活的狀態(tài)下,接收所述自動化控制單元11發(fā)送的控制命令,根據所述控制命令對當前連接的測試終端進行自動撥測;將終端控制單元22獲取的終端信息上報給數據接收顯示單元12 ;
[0059]終端控制單元22,用于從開放數據口的路測終端獲取終端信息并將所述終端信息發(fā)送到自動撥測代理單元21。
[0060]其中終端控制單元的數量可以根據測試的需要設置多個。
[0061]本實施例中,系統(tǒng)下位機自動撥測模塊ADT-BOX負責接收用戶(自動撥測監(jiān)控模塊)發(fā)送的測試命令,自動撥測代理單元通過解析命令內容來控制終端進行各種操作,并把終端控制單元從開放數據口的路測終端獲取的終端信息返回給用戶(自動撥測監(jiān)控模塊)。ADT-BOX使用Windows系統(tǒng),是由于windows系統(tǒng)支持大部分測試數據卡或商用手機驅動,并且便于系統(tǒng)支持更多的測試終端或手機。目前ADT-BOX支持的終端有:單個創(chuàng)意終端、單個海斯終端、多個商用手機、多個聯芯LC5760、LC8142,多個華為MIFI和重郵終端,在真實場景測試中,本系統(tǒng)可靈活的搭配各類模式終端,進行2G,3G和4G互操作,模擬真實場景中的終端使用情況,并且面對更新換代較快的終端市場,本發(fā)明只需安裝終端驅動即可適配,即插即用,具有良好的擴展性,可不斷演進。
[0062]本實施例中自動撥測模塊2由4個工控機板卡級聯而成,每個板卡高度約10cm,設備總高度約在35-40cm。工控板卡外置至少8個usb接口,按照windows操作系統(tǒng),使用TD、LTE多款終端和手機。若終端支持并行控制,可掛載32個終端,若不支持并行控制可掛載4個終端。終端或手機通過usb連接線接到usb接口。設備內置電源適配模塊,分別向不同工控主板供直流電;設備內置hub,網線連接主板,用于上位機與各工控主板通信。設備背面需配置風扇,保證散熱。供電方式通過適配器或主板,由于采購工控主板,單獨usb不能掉電,需整版掉電。
[0063]優(yōu)選地,所述腳本程序為python腳本語言,系統(tǒng)全部采用python腳本的控制方式,python腳本語言是一種輕量化的編程語言,降低了測試人員編寫腳本的難度,既可以定制簡單的通用腳本做自動化壓力測試,也可以滿足復雜算法驗證等用例的自動化測試,豐富了測試方法,解放了手動測試的人力。
[0064]實施例2
[0065]本發(fā)明實施例2提供一種面向通信網絡測試的分布式自動撥測方法,如圖2所示,該方法包括:
[0066]S1、自動撥測監(jiān)控模塊向自動撥測模塊發(fā)送控制命令,控制所述自動撥測模塊進行自動撥測;
[0067]S2、自動撥測模塊根據所述自動撥測監(jiān)控模塊發(fā)送的控制命令進行自動撥測,從開放數據口的路測終端獲取和上報終端信息,并發(fā)送心跳消息給所述自動撥測監(jiān)控模塊進行連接存活監(jiān)測;
[0068]S3、自動撥測監(jiān)控模塊接收并顯示所述自動撥測模塊從開放數據口的路測終端獲取的終端信息,實時監(jiān)控所述自動撥測模塊當前連接的測試終端的狀態(tài),并根據所述自動撥測模塊上報的心跳消息對所述自動撥測模塊的連接狀態(tài)進行存活監(jiān)測。
[0069]本方法采用自動撥測監(jiān)控模塊ADT-Manager作為上位機,自動撥測模塊ADT-BOX作為下位機。ADT-BOX由4個獨立的工控機板卡組成,每一個板卡中都安裝了一個自動撥測代理單元即ADT-Agent代理程序。在測試中,通過上位機ADT-Manager分別下發(fā)控制命令到指定板卡中的ADT-Agent代理程序中,控制插在ADT-BOX上插入的安卓商用終端或各類測試數據卡做CS和PS業(yè)務。本發(fā)明充分考慮到節(jié)省資源提升效率,在設計系統(tǒng)時采用了分布式的系統(tǒng)架構,滿足每個板卡之間的消息互通,通過板卡級聯機方式,可增加可控制自動撥測的終端數量滿足真實場景多用戶并發(fā)測試。通過一個上位機軟件同時控制多個下位機代理程序,節(jié)省了人力投入,并且系統(tǒng)體積適中,可作為路測設備帶到各種測試環(huán)境中。
[0070]進一步地,當執(zhí)行測試時,所述步驟SI具體包括:解析腳本程序中的接口函數將其轉換為控制命令,并向所述自動撥測模塊下發(fā)所述控制命令。
[0071]進一步地,所述方法還包括:根據測試過程中終端的類型修改腳本程序中的終端參數。
[0072]進一步地,在向所述自動撥測模塊下發(fā)控制命令后,所述方法還包括:啟動控制定時器,判斷在預設的定時時間內所述自動撥測監(jiān)控模塊是否收到所述自動撥測模塊上報的終端信息,若是,則執(zhí)行下一條命令,若否,則顯示超時提醒,并繼續(xù)執(zhí)行下一條命令。
[0073]本實施例中,控制命令的執(zhí)行流程,如圖3所示,具體包括
[0074]測試人員執(zhí)行Python腳本時,ADT-Manager解析腳本程序中的接口函數并將其轉換為控制命令信息,然后將該信息組包發(fā)給下位機的ADT-Agent代理程序,之后ADT-Manager等待ADT-Agent返回執(zhí)行結果。
[0075]ADT-Agent找到對應的控制命令并執(zhí)行,完成操作后將結果上報給ADT-Manager,等待下一條控制命令。
[0076]ADT-Manager收到一條執(zhí)行結果后才會執(zhí)行下一條命令。當超過60s上位機收不到回復時,會顯示等待超時,并繼續(xù)執(zhí)行。本發(fā)明實施例中選取的定時時間為60s,也可以根據測試的實際需要進行設定。
[0077]本發(fā)明在下位機ADT-Agent代理程序中集成了終端側信令獲取功能,可將終端上報的各類信令上報到上位機ADT-Manager中,測試人員編寫簡單腳本就可對各類信令進行過濾查找,提取有用信息,解決了單一的網絡側信令監(jiān)測的測試模式,在多用戶自動化測試中增加了終端側信令監(jiān)測。
[0078]進一步地,所述步驟S2具體包括:
[0079]建立與自動撥測監(jiān)控模塊的連接,啟動心跳線程,發(fā)送心跳消息給所述自動撥測監(jiān)控模塊進行連接存活監(jiān)測;
[0080]在連接存活的狀態(tài)下,接收所述自動撥測監(jiān)控模塊發(fā)送的控制命令,根據所述控制命令對當前連接的測試終端進行自動撥測;將從開放數據口的路測終端獲取終端信息獲取的終端信息上報給自動撥測監(jiān)控模塊。
[0081 ] 本實施例中,下位機的ADT-Agent代理程序初始化連接ADT-Manager,建立心跳檢測,進行連接存活監(jiān)控流程,如圖4所示,具體包括:
[0082]當ADT-Agent啟動時,需要向ADT-Manager發(fā)送連接請求,當收到ADT-Manager回應時,證明與ADT-Manager已連接;
[0083]與ADT-Manager連接后,ADT-Agent啟動心跳線程,向ADT-Manager發(fā)送心跳消息,同時檢測ADT-Manager的回應;若檢測到回應,則每隔5s發(fā)送心跳消息,告訴ADT-Manager, ADT-Agent在線;若未檢測到回應,說明ADT-Agent無法連接ADT-Manager,重新發(fā)送連接請求。
[0084]ADT-Manager收到ADT-Agent的請求連接后,向ADT-Agent發(fā)送連接成功,更新界面(ADT-Agent Alive),同時監(jiān)聽ADT-Agent的心跳消息;若監(jiān)聽到ADT-Agent發(fā)送的心跳消息,則更新界面;若未監(jiān)聽到消息,則說明ADT-Agent掉線,更新界面。
[0085]本發(fā)明實施例中下位機的ADT-Agent代理程序實時信令獲取流程,如圖5所示,具體包括:
[0086]當執(zhí)行測試時,ADT-Agent程序從開放數據口的路測終端實時獲取上報消息,對獲取到的消息進行解碼,判斷當前的工作模式是否為測試模式,如果是,則對解碼后的各個消息原語進行解析,對解析后的消息進行進行分類,從中獲取各個界面IE、事件Event和Uu 口消息。對于Uu 口的消息,只需解出消息的名稱,實時解析Uu 口的消息時,都只需解析出消息名稱即可。對于其他系統(tǒng)消息,要進行兩次解碼,第一次解析出該數據塊是系統(tǒng)消息的那個分段,第二次是在接收到全部的系統(tǒng)消息段后解析出系統(tǒng)消息的名稱;而對于其他的Uu口消息,若攜帶了 NAS層消息,則要解析出NAS層消息名稱,否則只需解析出該Uu 口消息的名稱。
[0087]其中,Uu 口消息解碼又分為系統(tǒng)消息解析,命令應答解析以及其他數據實時解析。解析命令應答時,Data Decode解析出當前的原語為命令的應答時,根據應答消息的類型,解析出應答的結果,和相關的字段,并將結果返回。
[0088]本發(fā)明提出的一種面向通信網絡測試的分布式自動撥測系統(tǒng)及方法,能支持各種模式的測試終端,可以不斷的增加支持的終端種類,具有很好地可擴展性,滿足系統(tǒng)不斷迭代升級的需求;采用了分布式的系統(tǒng)架構,可增加可控制自動撥測的終端數量滿足真實場景多用戶并發(fā)測試;在下位機中集成了終端側信令獲取功能,可將終端上報的各類信令上報到上位機中,避免了單一的網絡側信令監(jiān)測的測試模式;采用Python作為腳本編寫語言簡單靈活,通過簡潔豐富的控制命令對終端進行復雜的控制,滿足現有的各類測試場景。
[0089]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發(fā)明可以通過硬件實現,也可以借助軟件加必要的通用硬件平臺的方式來實現?;谶@樣的理解,本發(fā)明的技術方案可以以軟件產品的形式體現出來,該軟件產品可以存儲在一個非易失性存儲介質(可以是⑶-R0M,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
[0090]本領域技術人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的。
[0091]本領域技術人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分布于實施例的裝置中,也可以進行相應變化位于不同于本實施例的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
[0092]以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此,任何本領域的技術人員能思之的變化都應落入本發(fā)明的保護范圍。
【權利要求】
1.一種面向通信網絡測試的分布式自動撥測系統(tǒng),其特征在于,所述系統(tǒng)包括自動撥測監(jiān)控模塊和自動撥測模塊,其中: 自動撥測監(jiān)控模塊,用于向自動撥測模塊發(fā)送控制命令,控制所述自動撥測模塊進行自動撥測,接收并顯示所述自動撥測模塊上報的終端信息,實時監(jiān)控所述自動撥測模塊當前連接的測試終端的狀態(tài),根據所述自動撥測模塊上報的心跳消息對所述自動撥測模塊的連接狀態(tài)進行存活監(jiān)測; 自動撥測模塊,用于根據所述自動撥測監(jiān)控模塊發(fā)送的控制命令進行自動撥測,從開放數據口的路測終端獲取和上報終端信息,發(fā)送心跳消息給所述自動撥測監(jiān)控模塊進行連接存活監(jiān)測。
2.根據權利要求1所述的系統(tǒng),其特征在于,所述自動撥測監(jiān)控模塊包括自動化控制單元、數據接收顯示單元和終端監(jiān)控單元,其中: 自動化控制單元,用于執(zhí)行測試時,解析腳本程序中的接口函數將其轉換為控制命令,并向所述自動撥測模塊下發(fā)所述控制命令; 數據接收顯示單元,用于接收并顯示所述自動撥測模塊上報的終端信息,并接收所述自動撥測模塊上報的心跳消息; 終端監(jiān)控單元,根據所述數據接收顯示單元接收到的終端信息實時監(jiān)控所述自動撥測模塊當前連接的測試終端的狀態(tài),并根據所述數據接收顯示單元接收到的心跳信息對所述自動撥測模塊的連接狀態(tài)進行存活監(jiān)測。
3.根據權利要求1所述的系統(tǒng),其特征在于,所述自動撥測監(jiān)控模塊還包括終端參數配置模塊,用于修改腳本程序中的終端參數。
4.根據權利要求2所述的系統(tǒng),其特征在于,所述自動化控制單元向所述自動撥測模塊下發(fā)控制命令后,還用于啟動控制定時器,并判斷在預設的定時時間內所述數據接收顯示單元是否收到所述自動撥測模塊上報的終端信息,若是,則執(zhí)行下一條命令,若否,則顯示超時提醒,并繼續(xù)執(zhí)行下一條命令。
5.根據權利要求1或2所述的系統(tǒng),其特征在于,所述自動撥測模塊包括一個或級聯的多個安裝有自動撥測代理單元和終端控制單元的工控機板卡,其中: 自動撥測代理單元,用于建立與自動撥測監(jiān)控模塊的連接,啟動心跳線程,向數據接收顯示單元發(fā)送心跳消息給所述終端監(jiān)控單元進行連接存活監(jiān)測;在連接存活的狀態(tài)下,接收所述自動化控制單元發(fā)送的控制命令,根據所述控制命令對當前連接的測試終端進行自動撥測;將終端控制單元獲取的終端信息上報給數據接收顯示單元; 終端控制單元,用于從開放數據口的路測終端獲取終端信息并將所述終端信息發(fā)送到自動撥測代理單元。
6.根據權利要求2或3所述的系統(tǒng),其特征在于,所述腳本程序為python腳本語言。
7.一種面向通信網絡測試的分布式自動撥測方法,其特征在于,所述方法包括: 51、自動撥測監(jiān)控模塊向自動撥測模塊發(fā)送控制命令,控制所述自動撥測模塊進行自動撥測; 52、自動撥測模塊根據所述自動撥測監(jiān)控模塊發(fā)送的控制命令進行自動撥測,從開放數據口的路測終端獲取和上報終端信息,發(fā)送心跳消息給所述自動撥測監(jiān)控模塊進行連接存活監(jiān)測; S3、自動撥測監(jiān)控模塊接收并顯示所述自動撥測模塊從開放數據口的路測終端獲取的終端信息,實時監(jiān)控所述自動撥測模塊當前連接的測試終端的狀態(tài),并根據所述自動撥測模塊上報的心跳消息對所述自動撥測模塊的連接狀態(tài)進行存活監(jiān)測。
8.根據權利要求7所述的方法,其特征在于,所述步驟SI具體包括:當執(zhí)行測試時,解析腳本程序中的接口函數將其轉換為控制命令,并向所述自動撥測模塊下發(fā)所述控制命令。
9.根據權利要求7所述的方法,其特征在于,所述方法還包括: 根據測試過程中終端的類型修改腳本程序中的終端參數。
10.根據權利要求8所述的方法,其特征在于,在向所述自動撥測模塊下發(fā)控制命令后,所述方法還包括: 啟動控制定時器,判斷在預設的定時時間內所述自動撥測監(jiān)控模塊是否收到所述自動撥測模塊上報的終端信息,若是,則執(zhí)行下一條命令,若否,則顯示超時提醒,并繼續(xù)執(zhí)行下一條命令。
11.根據權利要求7或8所述的方法,其特征在于,所述步驟S2具體包括: 建立與自動撥測監(jiān)控模塊的連接,啟動心跳線程,發(fā)送心跳消息給所述自動撥測監(jiān)控模塊進行連接存活監(jiān)測; 在連接存活的狀態(tài)下,接收所述自動撥測監(jiān)控模塊發(fā)送的控制命令,根據所述控制命令對當前連接的測試終端進行自動撥測;將從開放數據口的路測終端獲取終端信息獲取的終端信息上報給自動撥測監(jiān)控模塊。
12.根據權利要求8或9所述的方法,其特征在于,所述腳本程序為python腳本語言。
【文檔編號】H04W24/10GK104301926SQ201410602286
【公開日】2015年1月21日 申請日期:2014年10月31日 優(yōu)先權日:2014年10月31日
【發(fā)明者】侯磊, 夏青, 劉須華, 鄧召基 申請人:大唐移動通信設備有限公司