楊 超,索妮爾,王志謙
(北京郵電大學 a.網絡技術研究院,北京 100876;b.信息網絡中心,北京 100876)
隨著社會的發展和生活的進步,近些年來,人們對于日常生活中精神文化和信息的需求快速增長,對于相應服務質量的要求也越來越高,尤其是高清的數字電視和交互式的數字電視服務[1]現在已經成為城鎮地區居民的消費時尚。隨著交互式業務的推廣和業務規模的擴大,必然會對業務網絡中推流服務器的性能和效率提出更高的要求。為此,本文提出一種基于NGOD架構的推流服務器的會話處理方案。
下一代視頻點播架構NGOD(Next Generation On Demand)[2-3]是由 Comcast提出的一種最新的 VOD 系統結構框架。1997年,Time Warner提出一種以VOD為代表的網絡框架結構——交互服務架構ISA。在中國,由于用戶數量眾多,加上交互業務的快速發展,ISA架構已不能滿足中國數字電視發展的需要,廣電網絡運營商將VOD系統建設的關注點逐步移向以NGOD為代表的新一代交互式服務基礎架構,本文主要介紹其中SS系統及其相關模塊的功能,其他系統的信息在此就不再贅述了。
NGOD系統的一大特點是在功能劃分方法上細化了各個模塊的功能及其之間的接口和消息交互。對于SS來說,細化了與其相關的模塊和接口,這樣可以更好地處理用戶的請求和資源的管理,而且給了廣電運營商更多的選擇系統供應商的權利,更加符合運營商的利益。所以,國內的運營商更加青睞NGOD架構,有的正在進行ISA架構向NGOD架構的轉型。
SS(Streaming Server)流媒體服務器系統是NGOD架構標準中的一個模塊。SS及其相關的模塊還有相關接口,如圖1所示。

圖1 流媒體服務器相關的模塊及相關接口
推流服務器的主要作用是,通過HFC(Hybrid Fiber-Coaxial)網絡中的傳輸網絡和邊緣設備,將數字視頻流輸出到數字機頂盒(STB)。在典型的系統中,在容錯能力范圍內,常用巨大的存儲硬盤陣列來存儲MPEG-2格式的視頻內容。典型的視頻服務器通過IP網,使用UDP/IP協議來輸出MPEG-2單節目傳輸流(SPTS)至邊緣設備,然后由邊緣設備廣播至客戶接收端。
一個或多個典型的推流服務器可能會跨網絡部署。推流服務器可以配置在一個集中的數據轉發器上或者是分布式的部署在相應的內容分配網(CDN)中,也有可能是兩種方式都采用。配置結構的選擇取決于許多因素,如操作可行性、網絡傳輸有效性、可量測性、內容存儲及傳播和總的成本。
通過允許引入新的低成本高性能的視頻服務器這樣一種方式來定義NGOD這個架構和接口是很重要很關鍵的,可以促成未來在存儲、網絡和內容分發技術上的革新。NGOD將使得多個廠家的推流服務器可以配置在同一個數據轉發器上,為相同的客戶端設備提供服務。特別是,推流服務器也能夠處理VCR類似的流控制,也就是時移/回看功能,如暫停、快進、快退等。
對推流服務器的總的功能要求有:高并發的實時事務請求處理能力,多種媒體編碼格式與編碼速率的支持,高效的流媒體存儲、檢索算法,高性能的流媒體輸出與控制,以及可用性和可操控性。
NGOD里只是提出了這些處理的基本流程,并沒有描述具體的架構,而在現實情況中,很可能會同時有多個用戶請求,這樣同時要處理的Session數可能會很多,從而需要考慮到并發處理多連接請求,所以本文設計了一種并發SS服務器模型,將Session的處理及推流分成兩大部分:RTSP Server模塊和推流管理進程;另有一部分模塊是用來處理與內部其他模塊之間的交互的HTTP模塊。
本文設計基于NGOD架構的Stream Server的內部實現分為3個主要部分:1)RTSP服務模塊;2)推流管理模塊;3)HTTP消息處理模塊。
SS模塊對于每一個Session的處理流程大致是:
1)RTSP Server模塊收到ODRM通過R2接口發來的RTSP Setup消息,然后將Session ID插入一張Session表中,并且為預留分配資源,為推流做準備;
2)RTSP Server模塊收到客戶端的通過C1接口發來的RTSP PLAY/PAUSE消息,然后查詢Session表中有無此Session ID,如果沒有,則返回錯誤信息;如果有,則解析出推流所需要的參數(時間參數,視頻參數等),然后發送給推流管理進程,由它控制推流進程將合適的視頻流推送給客戶端;
3)RTSP Server模塊收到ODRM通過R2接口發來的RTSP TEARDOWN消息,然后在Session表中查詢,若有,則刪除,并通知推流管理進程結束對應的推流;若無,則返回錯誤代碼。
2.3.1 R2 接口及業務處理流程
NGOD架構中,資源相關接口包括R1~R6共6個接口。各種資源管理服務器利用各自相應的接口管理相應的組件資源。這些資源允許資源管理服務器檢索對應資源的配置、拓撲結構、狀態和資源能力。這些資源接口之間可平行運行,而不必考慮與會話相關接口的同步。
點播資源管理器ODRM與推流服務器SS之間的R2接口,主要負責管理推流服務器資源。通過此接口,ODRM可以監控各推流服務器的配置、狀態和資源能力。此接口還被用于確認推流服務器推送媒資的可用性并擁有足夠的帶寬資源。
R2接口用于ODRM和SS之間的關于Session建立和關閉的消息交互,此接口基于RTSP協議,應包括Setup/Teardown/Announce/Get_Parameter消息。
ODRM建立Session時,會通過R2接口向SS發送會話建立請求Setup,SS會根據收到的消息,預留好推流所需的資源,然后建立Session,并發回回復消息。
會話建立后,在會話過程中,SS也會發送Announce消息給ODRM反應客戶端的情況,比如客戶端終止了播放。
如要刪除已存在的Session,ODRM會發送Teardown消息給SS,以告知釋放資源,然后SS處理完畢之后發回回復消息。
2.3.2 C1 接口及業務處理流程
C1接口也是基于RTSP協議,用于SS和客戶端(STB)之間的Session消息交互接口,包括Play/Pause/Announce/Get_Parameter信令。主要是STB用來直接與SS直接進行交換,從而控制視頻流的推送。
2.3.3 A3 接口
A3接口基于HTTP協議,用于APM和SS之間的Topology信令交互,IPQAM會通過D6接口給ERM上報RTSP地址信息及更新信息(QAM名稱、帶寬、QAM參數、IP地址、UDP表、服務狀態等)。
2.3.4 服務發現D接口
五是要提高狠抓落實能力。各級黨委都是上級黨委決策的執行者,狠抓落實的能力是由決策意志向實踐結果轉化的根本。在部署與落實的關系中,習主席說“一分部署,九分落實”。落實能力就是執行力,提高執行力重在3個要點:其一,速度,以明確的時間表,按照時間節點走,絕對不能拖。其二,力度,以抓鐵有痕、踏石留印的精神和態度推進工作,下大力完成既定任務。其三,信度,改革創新而不離經叛道,使最終結果與先定目標相一致。
系統頭端組件之間的服務發現接口,即D接口,主要負責資源和服務的發現工作。該接口與會話和資源信號接口之間是異步運行的。
點播資源管理器ODRM與推流服務器SS之間是D5接口。D接口采用的協議是通過對TRIP協議(RFC 3219)進行擴展而得到的VREP協議。VREP協議主體跟TRIP協議相同,其消息種類主要包括4種:OPEN消息、UPDATE消息、KEEPALIVE消息和NOTIFACATION消息。
1)OPEN消息:用于初始化通信雙方之間的TRIP會話。
2)UPDATE消息:用于一方向通信另一方報告具體的參數信息。
3)NOTIFACATION消息:用于發現并報告錯誤的消息。
4)KEEPALIVE消息:用于維持通信雙方之間的連接的心跳信息。
[1]胡朋,李永濤,王志漾.數字電視互動服務中ERM對邊緣資源的管理[J].電視技術,2011,35(20):17 -20.
[2]李永濤,胡朋,王志謙.基于NGOD架構的VOD系統邊緣資源會話管理方案[J].電視技術,2011,35(19):1 -3.
[3]鄭鵬思.基于NGOD架構建設SDV系統[J].廣播與電視技術,2011,38(3):119-120.