黃 建,雒江濤,李 勇
(重慶郵電大學 通信網與測試技術重點試驗室,重慶 400065)
責任編輯:孫 卓
交互式網絡電視(IPTV)是一種利用寬帶網,集互聯(lián)網、多媒體、通信等技術于一體,向家庭用戶提供包括數(shù)字電視在內的多種交互式服務的技術[1]。伴隨著國家三網融合的推進,經過5年多的探索和發(fā)展,國內IPTV產業(yè)已經日漸成熟,擁有了初具規(guī)模的用戶群,成為電信運營商不可忽視的經濟增長點[2]。隨著IPTV產業(yè)的爆發(fā)式增長,IPTV服務質量成為運營商面臨的突出問題,為了提高用戶對IPTV的認同率,運營商必須做到及時發(fā)現(xiàn)并快速準確解決問題,要做到這一點必須依賴于可靠而有效的監(jiān)測系統(tǒng)和方法。
本文的研究目的在于設計一種基于嵌入式Linux的IPTV測試儀軟件平臺的實現(xiàn)方案。軟件應能準確測量IPTV的所有性能指標,提供良好的圖形用戶界面,同時具有很強的兼容性和可擴展性,并兼?zhèn)湎鄳木W絡維護和數(shù)據(jù)管理功能。該方案應用于IPTV網絡最后1 km的維護,經實際測試表明軟件具有很好的可靠性和實用性。
Linux是一種自由和開放源碼的類Unix操作系統(tǒng),作為一個現(xiàn)代網絡型操作系統(tǒng),其中所涉及的技術涵蓋了操作系統(tǒng)技術的最新成果。Linux是一個領先的操作系統(tǒng),世界上運算最快的超級計算機都是運行Linux操作系統(tǒng)[2]。
Qt是諾基亞開發(fā)的一個跨平臺的C++圖形用戶界面應用程序框架,其宗旨是“一次編碼到處編譯”。Qt具有完全面向對象,擁有豐富的API,支持2D/3D圖形渲染,支持OpenGL,容易擴展,并且允許真正地組件編程等優(yōu)勢[3]。Qt開發(fā)員僅需要學會一種API來寫入應用程序,該程序可在任何地方運行。
本文采用Fedora 9嵌入式操作系統(tǒng),以Qt4.6為主要編程工具,實現(xiàn)圖形界面和應用程序的功能。
根據(jù)功能需求,IPTV測試儀應具有IPTV測試、在線視頻播放、線纜測試、xDSL測試、數(shù)據(jù)管理、網絡應用等功能。因此,從IPTV測試儀的功能角度出發(fā),本文將測試儀的軟件平臺劃分為應用層、控制層和功能層3層,如圖1所示。
圖1 從功能角度劃分軟件架構
1)應用層。用于封裝與具體測試項無關的呈現(xiàn)和管理模塊,如繪圖控制模塊負責將測試數(shù)據(jù)以曲線圖形式直觀呈現(xiàn),數(shù)據(jù)管理模塊用于測試結果的保存、刪除和導出到外設等管理,網絡應用包括Ping,Traceroute等IP數(shù)據(jù)測試和PPPoE撥號等IP連接特性測試。應用層的各個模塊均由控制層進行調度和管理,各個模塊之間相對獨立。
2)控制層。管理各功能子界面之間的切換、隱藏、銷毀等操作,同時組織、控制和管理其他功能模塊,并與其他模塊協(xié)商接口細節(jié)。以xDSL測試為例,xDSL測試包括ADSL,VDSL,ADSL 2,ADSL 2+等測試,在進行ADSL測試的同時不能進行VDSL測試,此時控制層就必須進行管理,防止系統(tǒng)崩潰。
3)功能層。封裝了與特定功能實現(xiàn)相關的后臺操作、庫文件調用和驅動程序交互接口。從用戶的角度出發(fā),其作用體現(xiàn)為用戶從選擇某項功能測試、配置相關測試參數(shù)、執(zhí)行測試到結束測試的整個過程。
如圖1中軟件總體架構所示,系統(tǒng)的軟件部分主要分為主控模塊和測試數(shù)據(jù)管理模塊。其中主控模塊包括軟硬件交互和測試功能實現(xiàn)、異常處理、測試數(shù)據(jù)的實時顯示以及曲線圖繪制。測試數(shù)據(jù)管理模塊用于對測試結果的處理,包括存儲、查看、刪除、導出到外設等。
主控模塊是整個軟件架構的核心。用于控制其他功能模塊的運行和交互,實現(xiàn)軟硬件的交互和測試結果的實時處理等。如圖2所示,以IPTV測試為例,用戶首先對測試參數(shù)進行配置(頻道選擇、測試模式選擇等),在對配置項進行合法性檢驗后主控模塊會創(chuàng)建一個新的測試線程,主要實現(xiàn)測試指標的實時處理和曲線圖繪制。而主線程則管理各界面的切換控制、測試結果的實時顯示以及測試線程的終止等操作。
Qt有很多自帶的類,其中QThread類就用于實現(xiàn)線程的相關操作[4]。本例中啟動測試線程代碼為:
首先重載QThread類,然后創(chuàng)建線程類對象,之后調用類的成員函數(shù)即可啟動線程。測試結束后主控模塊負責終止線程,并根據(jù)用戶的選擇保存測試結果。
在一次IPTV測試過程中,一部分參數(shù)是不會發(fā)生變化的,如IP地址、端口號等,一部分參數(shù)是在有錯誤發(fā)生時才發(fā)生變化的,比如TR101290的測試指標,而MDI等指標卻是實時變化的[1,4-5]。為了節(jié)約資源,同時提高程序的執(zhí)行效率,設計了如圖3所示的存儲模式。
圖2 IPTV測試控制流程
以頻道為單位對測試結果進行存儲,其中在測試過程中不發(fā)生變化的參數(shù)只存儲一次,由于TR101290指標在有錯誤時發(fā)生變化,因此只在錯誤發(fā)生時刻記錄該值,而MDI等指標則每秒鐘記錄一次。在測試過程中這些結果都保存在RAM內存中,測試過程結束后根據(jù)用戶的選擇將RAM內存中的數(shù)據(jù)寫入Flash中永久保存。
對于保存在Flash中的文件,用戶可以對其進行查看、刪除以及導出到外設等操作,這符合測試儀表的規(guī)范。
IPTV測試儀表應用于IPTV網絡最后1 km的維護,如圖4所示,主要測試節(jié)點都在客戶家庭,如Modem前后端、STB前后端、TV前端等,可在這些節(jié)點進行測試[6]。統(tǒng)計顯示,IPTV的主要故障點均為上述節(jié)點。通過本測試方案可以方便地測試接入線路質量、網絡狀況以及故障定位。
圖4 IPTV測試節(jié)點
1)測試環(huán)境包括1臺IPTV測試儀;1個電信IPTV賬號;1個Modem。
2)測試結果。圖5為MDI:DF參數(shù)實測結果,本文的軟件平臺能同時以數(shù)字形式實時呈現(xiàn)測試指標值,以及以曲線圖形式直觀反應測試指標的變化趨勢。圖6為數(shù)據(jù)管理界面,通過本模塊可以實現(xiàn)測試文件的查看、刪除和導出到外設等操作。
圖5 MDI:DF實測結果(截圖)
圖6 測試數(shù)據(jù)管理界面(截圖)
本文針對IPTV測試儀的功能需求,研究并設計了一種基于嵌入式Linux系統(tǒng)的IPTV測試儀表軟件平臺的實現(xiàn)方案。通過實際IPTV業(yè)務環(huán)境下的測試結果表明,該軟件平臺不僅能準確提取IPTV的各項測試指標,而且具有良好的圖像用戶界面,同時具備一定的數(shù)據(jù)管理和網絡應用功能。目前此方案已成功商用于某市的電信IP?TV服務提供商,市場反應良好。
[1]趙湘陽,張治中,席兵.IPTV測試儀系統(tǒng)設計與實現(xiàn)[J].電視技術,2009,33(9):115-117.
[2]方磊.IPTV視頻傳輸質量監(jiān)測系統(tǒng)的研究與實現(xiàn)[D].重慶:重慶郵電大學,2007.
[3]BLANCHETTE J,SUMMERFIELD M.C++GUIprogramming with Qt 4[M].2nd ed.北京:電子工業(yè)出版社,2008.
[4]ETSITR101290,Measurementguide-lines for DVB systems[S].2001.
[5]易欣,張治中.基于WinCE的IPTV測試儀前臺軟件設計[J].電視技術,2009,33(12):108-111.
[6]YD/T 1696-2007,機頂盒IPTV業(yè)務平臺接口技術要求[S].2007.