程 方,李志寬
(重慶郵電大學(xué)通信與測試技術(shù)重點(diǎn)實驗室,重慶 400065)
隨著TD-SCDMA網(wǎng)絡(luò)覆蓋率和網(wǎng)絡(luò)用戶量的增加,網(wǎng)絡(luò)運(yùn)維難度急劇加大,網(wǎng)絡(luò)監(jiān)測勢必成為網(wǎng)絡(luò)建設(shè)和網(wǎng)絡(luò)維護(hù)的重要支撐。為了衡量3G無線接入網(wǎng)的質(zhì)量,有必要在組網(wǎng)、建網(wǎng)、運(yùn)營和維護(hù)階段對3G無線接入網(wǎng)的重要接口Iub接口進(jìn)行實時測試、評估和分析,對其監(jiān)測具有重要意義[1-2]。
目前,在TD-SCDMA網(wǎng)絡(luò)中,對Iub接口的監(jiān)測一直處于相對滯后地位,這是因為TD-SCDMA網(wǎng)絡(luò)的控制技術(shù)和傳輸協(xié)議相對復(fù)雜,傳輸速率高。因此要做到實時、高效的數(shù)據(jù)捕獲,對其數(shù)據(jù)采集技術(shù)與監(jiān)測技術(shù)都是一個很大的挑戰(zhàn)。
TD-SCDMA傳輸網(wǎng)絡(luò)Iub接口主要采用ATM協(xié)議,其面向連接的特性保證TDM數(shù)據(jù)業(yè)務(wù)質(zhì)量,并發(fā)揮ATM的統(tǒng)計復(fù)用、QoS保證等優(yōu)勢。Iub接口是RNC與Node B之間的邏輯接口。RNC與Node B間在物理上通過SDH傳輸網(wǎng)連接,Node B側(cè)的N ×IMA E1鏈路接入TD-SCDMA網(wǎng)絡(luò),經(jīng)過SDH傳輸網(wǎng)匯聚成信道化STM-1或STM-4與RNC的連接[3],其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 TD-SCDMA網(wǎng)絡(luò)接入傳輸網(wǎng)結(jié)構(gòu)圖
顯然,Iub接口就成為3G無線接入網(wǎng)中最重要的網(wǎng)絡(luò)接口,是信令監(jiān)測的重點(diǎn),但是實現(xiàn)Iub口的信令監(jiān)測一直是個難題。在實際的監(jiān)測應(yīng)用中,對TD-SCDMA網(wǎng)絡(luò)接入網(wǎng)的監(jiān)測點(diǎn)可在Node B側(cè)或RNC側(cè),前者支持電接口IMA方式,監(jiān)測E1信號;后者支持信道化IMA方式,監(jiān)測信道化STM-n光信號。前者存在的最大問題是只能監(jiān)測單個Node B,由于Node B數(shù)量大、分布廣,導(dǎo)致監(jiān)測的難度加大,無法全面衡量網(wǎng)絡(luò)的質(zhì)量;后者實現(xiàn)RNC的包圍測試[4],全面衡量網(wǎng)絡(luò)質(zhì)量,但需要提供STM-1 IMA數(shù)據(jù)采集技術(shù)進(jìn)行數(shù)據(jù)的采集、分析。
為滿足網(wǎng)絡(luò)優(yōu)化的功能需求,對Iub接口的監(jiān)測采用分布式、層次結(jié)構(gòu)化、模塊化的設(shè)計思想,系統(tǒng)具備一定的伸縮性,可以滿足各種應(yīng)用環(huán)境的測試需求,支持功能的擴(kuò)展。TD-SCDMA網(wǎng)絡(luò)Iub接口監(jiān)測系統(tǒng)的總體設(shè)計框架如圖2所示。數(shù)據(jù)采集技術(shù)主要實現(xiàn)現(xiàn)網(wǎng)物理鏈路的數(shù)據(jù)流采集:Linux驅(qū)動程序?qū)崿F(xiàn)數(shù)據(jù)處理流程所選用的各芯片的配置、底層協(xié)議的處理;嵌入式應(yīng)用程序?qū)Ⅱ?qū)動處理數(shù)據(jù)利用Linux下socket網(wǎng)絡(luò)編程技術(shù)實現(xiàn)RJ-45接口的數(shù)據(jù)轉(zhuǎn)發(fā)。數(shù)據(jù)監(jiān)測技術(shù):綜合運(yùn)用嵌入式Web平臺、HTML網(wǎng)頁設(shè)計、PHP及其擴(kuò)展庫的開發(fā),以實現(xiàn)嵌入式上層應(yīng)用程序Web監(jiān)測技術(shù)。整個系統(tǒng)以實現(xiàn)數(shù)據(jù)采集實時監(jiān)控,包括告警分析、數(shù)據(jù)包統(tǒng)計等。
圖2 Iub接口監(jiān)測系統(tǒng)的總體設(shè)計框架
隨著Internet技術(shù)的發(fā)展,在嵌入式設(shè)備的管理與交互中,基于Web方式的應(yīng)用已成為主流設(shè)計方案,這種程序結(jié)構(gòu)就是B/S結(jié)構(gòu),即在嵌入式設(shè)備上運(yùn)行一個支持腳本或CGI功能的Web服務(wù)器,進(jìn)行動態(tài)頁面的開發(fā);Web客戶端通過Web瀏覽器可對嵌入式設(shè)備進(jìn)行管理和監(jiān)控。如圖3所示,Web瀏覽器輸入URL,通過HTTP協(xié)議的三次握手交互機(jī)制與Web服務(wù)器來建立連接;一旦連接建立,Web服務(wù)器響應(yīng)Web瀏覽器的請求,Web服務(wù)器在響應(yīng)Web瀏覽器期間,需進(jìn)行后臺數(shù)據(jù)的操作,主要體現(xiàn)在網(wǎng)關(guān)應(yīng)用程序CGI處理、數(shù)據(jù)庫操作以及對靜、動態(tài)文件的操作。
圖3 Web服務(wù)器框架及工作機(jī)制
1)Web 瀏覽器輸入 URL:http://192.168.3.248:8080觸發(fā)Apache服務(wù)器,依據(jù)HTTP協(xié)議規(guī)范,執(zhí)行Request@1:發(fā)送請求連接,并通過GET和POST方式將請求參數(shù)傳遞給Web服務(wù)器。
2)服務(wù)器獲取客戶端的請求,執(zhí)行Request@2,將攜帶指定CGI路徑的信息傳遞給后臺的CGI程序。
3)CGI程序執(zhí)行調(diào)用數(shù)據(jù)庫獲取數(shù)據(jù)或者調(diào)用PHP擴(kuò)展庫控制硬件設(shè)備并返回Response@1,響應(yīng)Web服務(wù)器發(fā)送的請求,執(zhí)行響應(yīng)的CGI程序,并將運(yùn)行結(jié)果反饋給Web服務(wù)器。
4)Web服務(wù)器執(zhí)行Response@2,將結(jié)果反饋給Web瀏覽器,通過HTTP協(xié)議進(jìn)行解析,回顯在頁面。
結(jié)合硬件的特征,Web監(jiān)測技術(shù)建立嵌入式Web站點(diǎn)采用“Apache服務(wù)器+PHP解析器”模式,需要在STM-1 IMA數(shù)據(jù)采集技術(shù)的硬件上移植Apache服務(wù)器和PHP解析器。
嵌入式Web站點(diǎn)的建立過程類似于開發(fā)主機(jī)Web站點(diǎn)的建立,唯一的不同是:主機(jī)與嵌入式下的編譯環(huán)境不同,主機(jī)的編譯環(huán)境為gcc,而嵌入式的編譯環(huán)境為ppc_6xx-gcc。嵌入式Web站點(diǎn)的建立借助開發(fā)主機(jī)Web站點(diǎn)代碼執(zhí)行交叉編譯。其基本的建立過程為:
1)交叉編譯 apache-1.3.39
命令解釋:CC指定修改Makefile文件的編譯環(huán)境,confiure配置編譯,--prefix指定軟件包的安裝目錄,--enable-module配置可以使服務(wù)器加載動態(tài)so。
交叉編譯 apache-1.3.39 命令為:
[lizhk@lizhk apache_1.3.39]MYMCC=ppc_6xx - gcc ./configure--prefix=/usr/local/apache--enable-module=so
2)交叉編譯 php-4.4.8
交叉編譯 php-4.4.8 命令為:
[lizhk@lizhk php-4.4.8]MYMCC=ppc_6xx-gcc./configure–prefix=/usr/local/php--host=powerpc-linux
--with-apxs=/usr/local/apache/bin/apxs
3)配置 httpd.conf與 php.ini文件
httpd.conf配置文件的主要修改項如下:
ServerRoot"/usr/local/apache"http://Root服務(wù)器文件所在目錄
ServerName 192.168.3.248 //指定服務(wù)器的 IP 地址;
Port 8080 //指定服務(wù)器的開放端口,默認(rèn)為80
受宏觀經(jīng)濟(jì)穩(wěn)中向好、能源生產(chǎn)和消費(fèi)革命持續(xù)推進(jìn)、大氣污染防治力度加大等因素的驅(qū)動,我國天然氣市場呈現(xiàn)供銷兩旺態(tài)勢。2017年,我國對世界天然氣消費(fèi)量的貢獻(xiàn)達(dá)30%以上,成為推動世界天然氣發(fā)展的主要驅(qū)動力。然而,我國天然氣產(chǎn)量增長速度遠(yuǎn)低于消費(fèi)量增長速度,加之天然氣產(chǎn)供儲銷體系的不完善,使天然氣產(chǎn)業(yè)發(fā)展受到掣肘。
User nobody //登錄服務(wù)器的用戶名
Group nobody //登錄服務(wù)器的組名
LoadModule php4_module libexec/libphp4.so //指定php解析器的路徑及類型
AddType application/x-h(huán)ttpd-php.php3
AddType application/x-h(huán)ttpd-php.php
AddType application/x-h(huán)ttpd-php.phtml
php.ini配置文件主要修改項如下:
register_globals=Off修改為
register_globals=On
4)聯(lián)機(jī)調(diào)試
完成STM-1 IMA數(shù)據(jù)采集嵌入式Web站點(diǎn)的建立,開啟Apache服務(wù)器進(jìn)程聯(lián)機(jī)調(diào)試,設(shè)定局域網(wǎng)IP:192.168.3.248,訪問端口號:8080。Web瀏覽器 URL 欄輸入訪問地址 http://192.168.3.248:8080/index.php,訪問PHP解析器,在index.php中利用PHP腳本語言內(nèi)部函數(shù)phpinfo查看當(dāng)前的Apache服務(wù)器與PHP解析器的配置參數(shù)及一些環(huán)境變量等信息。
超文本預(yù)處理器(PHP)既是公共網(wǎng)關(guān)接口,又是服務(wù)器端嵌入HTML的腳本語言,其廣泛運(yùn)用于動態(tài)網(wǎng)頁的制作。作為一套完整的系統(tǒng),PHP主要完成以下工作:解釋部分負(fù)責(zé)代碼的分析、翻譯和執(zhí)行;功能部分負(fù)責(zé)實現(xiàn)具體語言的功能;接口部分負(fù)責(zé)與Web服務(wù)器間的會話功能。
內(nèi)嵌HTML中的PHP語言詮釋了解析部分、功能部分的內(nèi)容,其主要是實現(xiàn)Web頁面功能的后臺設(shè)計。接口部分體現(xiàn)在PHP擴(kuò)展庫及接口函數(shù),結(jié)構(gòu)化的API設(shè)計思想有利于PHP擴(kuò)展庫的維護(hù),其模型如圖4所示。
圖4 API層次結(jié)構(gòu)模型圖
PHP內(nèi)核源碼中預(yù)留擴(kuò)展機(jī)制,可以通過擴(kuò)展機(jī)制使PHP可以和現(xiàn)有的編程語言兼容。該文所設(shè)計的PHP庫是類C/C++的API庫函數(shù),其設(shè)計思路為[5]:
1)自動構(gòu)建擴(kuò)展庫
自動構(gòu)建擴(kuò)展庫,模塊源碼、擴(kuò)展庫配置文件config.m4存放在源碼/ext子目錄下。自動構(gòu)建PHP擴(kuò)展庫phpstmima如下:
[lizhk@lizhk ext]MYM./ext_skel--extname=phpstmima
[lizhk@lizhk phpstmima]MYM ls
config.m4 CREDITS EXPERIMENTAL phpstmima.c php_phpstmima.h test
其中 config.m4 phpstmima.c,phpstmima.h 為 PHP 擴(kuò)展庫設(shè)計的相關(guān)文件。配置文件config.m4負(fù)責(zé)解析configure命令行選項,檢查外部文件,配置支持--enable方式,采用dnl屏蔽--with方式。
2)編輯擴(kuò)展庫
編輯擴(kuò)展模塊,結(jié)合PHP內(nèi)核源碼,編輯phpstmima.c文件中聲明zend函數(shù)zend_function_entry phpstmima_functions[]以及定義PHP擴(kuò)展庫中API函數(shù);編輯php_phpstmima.h文件中聲明導(dǎo)出函數(shù)PHP_FUNCTION()及自定義的數(shù)據(jù)結(jié)構(gòu)體。
3)編譯擴(kuò)展庫
編譯擴(kuò)展庫,采用交叉編譯環(huán)境下的make動態(tài)加載方式,生成PHP擴(kuò)展庫*.so文件,實現(xiàn)代碼如下:
[lizhk@lizhk phpstmima]MYM/usr/local/php/bin/phpize
[lizhk@lizhk phpstmima]MYMCC=ppc_6xx - gcc./configure--host=powerpc-linux--with-php-config=/usr/local/
/php/bin/php-config--enable-phpstmima
[lizhk@lizhk phpstmima]MYMmake
[lizhk@lizhk phpstmima]MYMmake install
4)測試擴(kuò)展庫函數(shù)
將PHP擴(kuò)展庫加載到數(shù)據(jù)采集平臺的硬件上,Web界面程序調(diào)用后臺CGI程序,后臺CGI程序利用dl()調(diào)用PHP擴(kuò)展庫phpstmima.so中API,PHP擴(kuò)展庫中API封裝調(diào)用Linux庫stm_ima_lib.so中的API函數(shù)并調(diào)用驅(qū)動函數(shù)中API,從而通過逐級調(diào)用實現(xiàn)PHP功能函數(shù)。
為了保證數(shù)據(jù)采集監(jiān)測系統(tǒng)的可靠性,在應(yīng)用于實際TD-SCDMA通信網(wǎng)測試前,利用現(xiàn)有局域網(wǎng)資源搭建模擬數(shù)據(jù)采集環(huán)境,發(fā)送端采用自研的STM-1 ATM數(shù)據(jù)采集技術(shù)的發(fā)送仿真,接收端利用Web平臺監(jiān)測系統(tǒng)。發(fā)送平臺和Web監(jiān)測平臺結(jié)果對比如圖5所示。
圖5 發(fā)送平臺和Web監(jiān)測平臺結(jié)果對比(截圖)
由圖5可知,發(fā)送平臺發(fā)送通道0和2,共發(fā)送信元27933個,而Web端點(diǎn)擊“停止采集”時,時間段內(nèi)的接收信元為27933個,接收空閑信元32771607個。時刻點(diǎn)上已停止接收,則接收的信元速率和比特速率為0。
該文主要是數(shù)據(jù)采集上層應(yīng)用技術(shù)的設(shè)計,通過對數(shù)據(jù)采集監(jiān)測系統(tǒng)的設(shè)計,著重介紹了Linux嵌入式平臺的搭建、PHP庫函數(shù)接口的設(shè)計。實測效果表明,Web監(jiān)測技術(shù)能夠做到實時監(jiān)控數(shù)據(jù)采集狀態(tài)。
[1]李世鶴.TD-SCDMA第三代移動通信系統(tǒng)[M].北京:人民郵電出版社,2009.
[2]許銳,梅瓊.3G無線接入網(wǎng)接口演進(jìn)與設(shè)計[M].北京:人民郵電出版社,2008.
[3]ITU-T Recommendation G.803,Architecture of transport networks based on the synchronous digital hierarchy(SDH)[S].2000.
[4]何云.3G網(wǎng)絡(luò)測試儀STM-1 IMA數(shù)據(jù)采集卡的設(shè)計與實現(xiàn)[J].光通信研究,2011(9):62-65.