張軍
摘要:HFC雙向網(wǎng)絡(luò)的全網(wǎng)促進(jìn)了互動(dòng)電視的發(fā)展,也給互動(dòng)點(diǎn)播系統(tǒng)提出了更高的要求。為了快速故障定位和系統(tǒng)維護(hù),通過旁路技術(shù)基于RTSP協(xié)議對(duì)有線互動(dòng)點(diǎn)播業(yè)務(wù)進(jìn)行信令級(jí)別的監(jiān)測(cè),以提供互動(dòng)平臺(tái)業(yè)務(wù)的運(yùn)行情況,使系統(tǒng)維護(hù)人員能及時(shí)掌握以便快速維護(hù),確保HFC點(diǎn)播業(yè)務(wù)穩(wěn)定運(yùn)營(yíng)。
關(guān)鍵詞:RTSP;點(diǎn)播;互動(dòng)電視;HFC雙向網(wǎng)絡(luò)
中圖分類號(hào):TP319 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)22-0045-02
隨著HFC雙向網(wǎng)絡(luò)的全網(wǎng)覆蓋,互動(dòng)電視的發(fā)展也進(jìn)入了快速發(fā)展階段,有線互動(dòng)點(diǎn)播數(shù)量的增長(zhǎng)對(duì)于互動(dòng)點(diǎn)播系統(tǒng)提出了更高的要求。雖然CDN、多頻點(diǎn)技術(shù)為互動(dòng)點(diǎn)播系統(tǒng)提供了硬件保證,但僅依靠傳統(tǒng)的抽樣點(diǎn)播測(cè)試是無法識(shí)別系統(tǒng)級(jí)的軟故障。而等待用戶報(bào)障才開始進(jìn)行診斷維護(hù),不僅花費(fèi)時(shí)間長(zhǎng),也影響到用戶互動(dòng)體驗(yàn)。實(shí)時(shí)有效地提供互動(dòng)點(diǎn)播的運(yùn)行數(shù)據(jù)、告警信息,是為互動(dòng)點(diǎn)播平臺(tái)業(yè)務(wù)提供故障分析參考和定位依據(jù)的重要手段,本系統(tǒng)利用RTSP協(xié)議讀取互動(dòng)點(diǎn)播信令原始數(shù)據(jù)計(jì)算獲取網(wǎng)推推流并發(fā)數(shù)結(jié)合其他信息系統(tǒng)數(shù)據(jù)得到互動(dòng)點(diǎn)播的實(shí)時(shí)運(yùn)行數(shù)據(jù)、告警信息以及各類點(diǎn)播詳情,從而可以實(shí)現(xiàn)有效的管理監(jiān)視。
1 RTSP協(xié)議
實(shí)時(shí)流傳輸協(xié)議 RTSP(Real Time Streaming Protocol)是基于TCP/IP協(xié)議的傳輸流媒體數(shù)據(jù)的應(yīng)用層協(xié)議,常用于音視頻流媒體數(shù)據(jù)的點(diǎn)播控制。RTSP協(xié)議可以對(duì)一個(gè)或多個(gè)串行流媒體進(jìn)行控制,控制的命令包括:快進(jìn)、倒退、暫停等,但RTSP自身并不能傳輸流媒體數(shù)據(jù)。換言之,RTSP 只能充當(dāng)流媒體服務(wù)器的遠(yuǎn)程控制器[1]。
RTSP 消息由客戶端到服務(wù)器的請(qǐng)求消息和由服務(wù)器到客戶端的回應(yīng)消息組成。請(qǐng)求 (Request) 和回應(yīng) (Response) 消息報(bào)文格式都使用RFC2326文檔中定義的格式。
RTSP 的請(qǐng)求消息報(bào)文格式如圖 1所示。其中,Method字段表示請(qǐng)求的方法,定義的有DESCRIBE、ANNOUNCE、GET_PARAMETER、OPTION、PAUSE、PLAY、RECORD、SETUP、TEARDOWN等。Request-URI字段表示流媒體服務(wù)端的地址, 如:rtsp://192.168.1.11:5005/stream,RTSP-Version字段表示使用協(xié)議的版本號(hào),如RTSP/1.0。各字段之間以空格(SP)分隔,每行以回車換行符CR、LF結(jié)尾,消息頭通常以兩個(gè)回車換行符結(jié)尾。
RTSP的回應(yīng)消息報(bào)文格式如圖 2 所示。其中,Status-Code字段由 3 位數(shù)字組成,表示回應(yīng)請(qǐng)求時(shí)的主機(jī)狀態(tài),定義格式為:1XX(預(yù)留未來使用)、2XX(成功)、3XX(重定向)、4XX(客戶端出錯(cuò))、5XX(服務(wù)器端出錯(cuò))。Reason-Phrase字段是Status-Code字段的補(bǔ)充,是對(duì)Status-Code的文本解釋,一般不需要應(yīng)用來解析。其余參數(shù)與請(qǐng)求消息報(bào)文格式相同。
2 RTSP數(shù)據(jù)采集系統(tǒng)
合肥有線的互動(dòng)業(yè)務(wù)監(jiān)測(cè)系統(tǒng)是一套基于RTSP協(xié)議的有線互動(dòng)點(diǎn)播業(yè)務(wù)領(lǐng)域在線監(jiān)測(cè)系統(tǒng),為系統(tǒng)維護(hù)人員提供互動(dòng)平臺(tái)業(yè)務(wù)實(shí)時(shí)網(wǎng)絡(luò)、終端、平臺(tái)及業(yè)務(wù)的運(yùn)行情況,以便故障分析參考和定位依據(jù)。RTSP數(shù)據(jù)采集系統(tǒng)是對(duì)整個(gè)HFC網(wǎng)絡(luò)互動(dòng)點(diǎn)播所產(chǎn)生的RTSP交互信令進(jìn)行監(jiān)測(cè)分析,所以信令采集點(diǎn)的選取原則是采集系統(tǒng)不能影響且不能依賴于業(yè)務(wù)系統(tǒng)而獨(dú)立工作,因此整個(gè)采集鏈路都以旁路、光分路為主要技術(shù)選擇。
RTSP信令抓取部分主要功能如下: (1)支持千兆采集接口,以旁路的方式直接接入路由器,過濾獲取平臺(tái)交互信令數(shù)據(jù);(2)統(tǒng)計(jì)點(diǎn)播觀看用戶數(shù)、在線并發(fā)流數(shù);(3)記錄RTSP實(shí)時(shí)交互信令,實(shí)現(xiàn)RTSP信令分析和報(bào)警,及時(shí)發(fā)現(xiàn)信令交互中的響應(yīng)異常等問題。RTSP信令抓取模型如圖3所示。
為了便于業(yè)務(wù)系統(tǒng)和維護(hù)人員維護(hù)和排障,利用RTSP信令協(xié)議結(jié)合實(shí)際工作經(jīng)驗(yàn),對(duì)于RTSP信令的故障告警我們進(jìn)行了相應(yīng)的分類:
3 有線互動(dòng)點(diǎn)播監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
3.1 監(jiān)控系統(tǒng)設(shè)計(jì)
有線互動(dòng)點(diǎn)播系統(tǒng)采用三層結(jié)構(gòu)設(shè)計(jì)模式。如圖4所示的系統(tǒng)結(jié)構(gòu)圖,系統(tǒng)由信令數(shù)據(jù)采集層、數(shù)據(jù)分析應(yīng)用層、業(yè)務(wù)信息表示層三部分組成,系統(tǒng)核心是數(shù)據(jù)分析應(yīng)用層,采用分布式接口應(yīng)用的方式,在擴(kuò)展系統(tǒng)功能時(shí),只需提供相應(yīng)的接口API,便可實(shí)現(xiàn)在線熱部署,便捷了開發(fā)以及維護(hù)。
信息表示層由應(yīng)用層的WEB服務(wù)來實(shí)現(xiàn),包括RTSP信令分析、用戶行為分析、故障定位以及系統(tǒng)管理等功能。
數(shù)據(jù)應(yīng)用分析層是互動(dòng)點(diǎn)播監(jiān)測(cè)系統(tǒng)的功能主體,提供數(shù)據(jù)處理服務(wù)、匯聚服務(wù)和統(tǒng)計(jì)服務(wù)三部分功能。數(shù)據(jù)處理服務(wù)完成信息表示層的數(shù)據(jù)實(shí)現(xiàn)以及相應(yīng)的數(shù)據(jù)預(yù)處理,包括業(yè)務(wù)數(shù)據(jù)分析、點(diǎn)播告警管理以及用戶行為分析等功能,實(shí)現(xiàn)收視點(diǎn)播數(shù)據(jù)管理、全網(wǎng)推流報(bào)警關(guān)聯(lián)管理、實(shí)時(shí)推流數(shù)據(jù)緩存、推流數(shù)據(jù)離線緩存等邏輯;數(shù)據(jù)匯聚服務(wù)是應(yīng)用層與采集層的紐帶,實(shí)現(xiàn)RTSP采集數(shù)據(jù)的收集、處理、數(shù)據(jù)分析等功能;數(shù)據(jù)統(tǒng)計(jì)服務(wù)用以定期的全網(wǎng)點(diǎn)播數(shù)據(jù)統(tǒng)計(jì)分析以及各類報(bào)表業(yè)務(wù)功能。
數(shù)據(jù)采集層是高清互動(dòng)業(yè)務(wù)監(jiān)測(cè)系統(tǒng)的數(shù)據(jù)來源,用來完成信令信號(hào)和業(yè)務(wù)系統(tǒng)運(yùn)行數(shù)據(jù)的采集與分析。
3.2 系統(tǒng)實(shí)現(xiàn)
3.2.1 VOD并發(fā)趨勢(shì)
系統(tǒng)的運(yùn)行分析功能能夠?qū)Ω鱾€(gè)節(jié)點(diǎn)并發(fā)數(shù)、各個(gè)節(jié)目的訪問數(shù)以及在線流等進(jìn)行集中分析,最終形成針對(duì)點(diǎn)播業(yè)務(wù)的統(tǒng)計(jì)趨勢(shì)報(bào)告。如圖5在線流以及告警曲線圖。
3.2.2 用戶點(diǎn)播信息表
通過列表的方式展示當(dāng)前用戶在線點(diǎn)播的信令詳情,顯示在線用戶數(shù)、開始點(diǎn)播時(shí)間、點(diǎn)播類型、點(diǎn)播片名以及流分組等信息,如圖6所示。
4 總結(jié)
本系統(tǒng)是通過RTSP協(xié)議的解析實(shí)現(xiàn)了互動(dòng)點(diǎn)播信令的實(shí)時(shí)分析,為有線互動(dòng)點(diǎn)播業(yè)務(wù)提供了有效監(jiān)測(cè),其實(shí)現(xiàn)主要包括兩部分,其一,通過RTSP協(xié)議的解析獲取互動(dòng)點(diǎn)播信令用以監(jiān)控全網(wǎng)點(diǎn)播流;其二,對(duì)監(jiān)控結(jié)果設(shè)置告警。實(shí)踐證明,該系統(tǒng)不僅可以有效再現(xiàn)全網(wǎng)互動(dòng)點(diǎn)播業(yè)務(wù)的運(yùn)行狀態(tài),還為系統(tǒng)維護(hù)提供了有效的數(shù)據(jù)分析。
參考文獻(xiàn):
[1]RFC.RFC2326.[EB/OL] https://tools.ietf.org/pdf/rfc2326.pdf.
[2]張軍. 基于SNMP的HFC雙向網(wǎng)絡(luò)設(shè)備的監(jiān)測(cè)[M]. 電腦知識(shí)與技術(shù),2013(9).
[3]美 Bruce Eckel. Java編程思想[M]. 陳昊鵬,譯.2007-06-01.
[4]美Craig Walls. Spring實(shí)戰(zhàn)[M]. 張衛(wèi)濱,譯.2016.
[5]美Kirk Knoernschild.Java應(yīng)用架構(gòu)設(shè)計(jì):模塊化模式與OSGi[M].張衛(wèi)濱,譯.機(jī)械工業(yè)出版社,2013.
【通聯(lián)編輯:王力】