專利名稱:自適應(yīng)IPv4/IPv6的流媒體服務(wù)器及實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種自適應(yīng)IPv4/IPv6的流々某體服務(wù) 器及實現(xiàn)方法。
技術(shù)背景目前,針對IPv4和IPv6的互聯(lián)互通技術(shù)主要有隧道技術(shù)、雙協(xié)議棧技術(shù), 協(xié)議轉(zhuǎn)換技術(shù)NAT-PT。隧道技術(shù)適合IPv6孤島與IPv4網(wǎng)絡(luò)中的主機實現(xiàn)互 聯(lián)。NAT-PT主要用于實現(xiàn)非雙棧的IPv4和IPv6節(jié)點的互通。由于NAT-PT 是在應(yīng)用層完成的,數(shù)據(jù)包的截獲和轉(zhuǎn)換較慢,無法適應(yīng)音視頻節(jié)目大流量的 特點,容易成為網(wǎng)絡(luò)的瓶頸,因此為IPv4/IPv6網(wǎng)絡(luò)用戶提供服務(wù),并且需要 解決大數(shù)據(jù)量通信時,主要還是采用雙棧技術(shù)。目前,雙棧技術(shù)主要應(yīng)用還是 在防火墻、交換機和路由器等網(wǎng)絡(luò)設(shè)備上。流媒體服務(wù)器是網(wǎng)絡(luò)點播系統(tǒng)的核心部分,流媒體服務(wù)器的性能高低直接 決定了整個系統(tǒng)性能的好壞。音視頻已經(jīng)成為了目前網(wǎng)絡(luò)上一項非常重要業(yè) 務(wù)。IPv6網(wǎng)絡(luò)中相對與IPv4網(wǎng)絡(luò)對網(wǎng)絡(luò)音視頻的支持程度更好,因此,在設(shè) 計流媒體服務(wù)器時就必須考慮到要同時兼容IPv4和IPv6網(wǎng)絡(luò),這種兼容應(yīng)該 是具備實時、同時和自適應(yīng)的特點,這樣流媒體服務(wù)器在部署時將更加方便、 成本也會更低。目前,迫切需要一種新的流媒體服務(wù)器,能自適應(yīng)IPv4/IPv6網(wǎng)絡(luò)。 發(fā)明內(nèi)容本發(fā)明的目的在于,提供一種自適應(yīng)IPv4/IPv6的流々某體服務(wù)器,能夠自 適應(yīng)IPv4/IPv6網(wǎng)絡(luò)。本發(fā)明的另 一 目的在于,提供一種自適應(yīng)IPv4/IPv6的流々某體服務(wù)器的實 現(xiàn)方法。本發(fā)明的自適應(yīng)IPv4/IPv6的流々某體服務(wù)器的實現(xiàn)方法,其中,服務(wù)器監(jiān) 聽新到達客戶的服務(wù)請求時,首先對所述服務(wù)請求進行解析,根據(jù)所述IP數(shù)據(jù)包頭識別IP協(xié)議版本,進而啟動相應(yīng)地協(xié)議版本的服務(wù)線程,自適應(yīng)地為 用戶提供服務(wù)。其中,可以進一步包括下列步驟所述服務(wù)器在驗證請求用戶身份合法后, 創(chuàng)建新的線程為用戶提供服務(wù),并修改原控線程內(nèi)的單播鏈表。另外,還可以進一步包括下列步驟在數(shù)據(jù)面上,服務(wù)器首先讀取壓縮后 的音視頻數(shù)據(jù)并將其打成實時流傳輸協(xié)議RTP包,然后通過底層協(xié)議UDP、 或者傳輸控制協(xié)議TCP、或者IP協(xié)議傳送給終端用戶。進一步地,可以包括下列步驟在控制面上,用戶終端和服務(wù)器通過實時 流協(xié)議RTSP連接來交互音視頻數(shù)據(jù)以外的控制信息。進一步地,可以包括下列步驟通過減少系統(tǒng)分配的堆棧大小、提高用戶 TCP連接數(shù)量最大數(shù),以及提高一個進程能打開的最大數(shù)目的套接字socket 描述符,以提高服務(wù)器的并發(fā)數(shù)。本發(fā)明的自適應(yīng)IPv4/IPv6的流媒體服務(wù)器,包括計費認證接口模塊、文 件處理模塊,其中,還包括數(shù)據(jù)發(fā)送控制模塊以及網(wǎng)絡(luò)接口模塊,其中,所述 數(shù)據(jù)發(fā)送控制模塊,用于接收用戶請求信息,并將相關(guān)信息傳給計費認證模塊 和文件處理模塊,同時開啟流控線程,再由流控線程來開啟單播線程,每個單 播線程調(diào)用網(wǎng)絡(luò)接口模塊為用戶服務(wù);所述網(wǎng)絡(luò)接口模塊,用于對所述服務(wù)請 求進行解析,根據(jù)所述IP數(shù)據(jù)包頭識別IP協(xié)議版本,進而啟動相應(yīng)地協(xié)議版 本的服務(wù)線程,自適應(yīng)地為用戶提供服務(wù)。其中,所述網(wǎng)絡(luò)接口模塊,分析當(dāng)前用戶使用的協(xié)議棧版本,并調(diào)用相應(yīng) 的協(xié)議棧來創(chuàng)建socket連接,從緩存中讀取相應(yīng)的節(jié)目數(shù)據(jù)后,進行流媒體協(xié) 議封裝,為用戶提供節(jié)目流數(shù)據(jù)。進一步地,還可以包括用戶節(jié)目控制模塊,用于為系統(tǒng)管理員配置和管理 服務(wù)器提供一個可視化界面。本發(fā)明的有益效果是依照本發(fā)明的自適應(yīng)IPv4/IPv6的流i某體服務(wù)器及 其實現(xiàn)方法,能夠同時兼容IPv4和IPv6網(wǎng)絡(luò),流々某體服務(wù)器在部署時將更加 方便、成本更低。
圖1為流媒體服務(wù)器部署圖;圖2為IPv4報頭示意圖; 圖3為IPv6協(xié)議報頭示意圖; 圖4為本發(fā)明的流媒體服務(wù)器結(jié)構(gòu)示意圖; 圖5為流媒體服務(wù)器應(yīng)用層面的工作示意圖; 圖6為點播服務(wù)器協(xié)議棧示意圖; 圖7為RTSP控制協(xié)議流程圖; 圖8為本發(fā)明的點播服務(wù)器流程圖; 圖9為本發(fā)明優(yōu)化內(nèi)核效果示意圖。
具體實施方式
以下,參考附圖1 9詳細描述本發(fā)明的自適應(yīng)IPv4/IPv6的流i某體服務(wù)器。 本發(fā)明的核心思想是流媒體服務(wù)器中安裝IPv4和IPv6協(xié)議棧,利用 IPv4與IPv6數(shù)據(jù)包包頭結(jié)構(gòu)的不同,通過識別IP數(shù)據(jù)包頭第一個字段版本號, 來自動識別IP協(xié)議版本,啟動不同協(xié)議版本的服務(wù)線程,自適應(yīng)的為用戶提 供服務(wù),以實現(xiàn)IPv6終端用戶和IPv4終端用戶的自由連接。為了提供服務(wù)器 的工作效率,服務(wù)器軟件對同一個IP地址的數(shù)據(jù)包,在一次連接和斷開過程 中只判斷一次。如果該IP地址用戶斷開后重新連接,那么服務(wù)器將會重新判 斷一次。如圖1所示,為流媒體服務(wù)器部署圖。圖2和圖3分別為IPv4和IPv6 協(xié)議的報頭示意圖。如圖4所示,為本發(fā)明的流媒體服務(wù)器的結(jié)構(gòu)示意圖,該 流媒體服務(wù)器主要包括用戶節(jié)目控制模塊、計費認證接口模塊、文件處理模 塊、數(shù)據(jù)發(fā)送控制模塊,以及網(wǎng)絡(luò)接口模塊。其中,用戶節(jié)目控制模塊,用于為系統(tǒng)管理員配置和管理服務(wù)器提供一個 可i見化界面;計費認證接口模塊,用于接收所述數(shù)據(jù)發(fā)送控制模塊的相關(guān)信息并與計費 認證服務(wù)器進行通信;文件處理模塊,用于接收數(shù)據(jù)發(fā)送控制模塊發(fā)送來的用戶請求的節(jié)目信 息,并從網(wǎng)絡(luò)集中存儲服務(wù)器或本地存儲上讀取節(jié)目數(shù)據(jù),放在緩沖區(qū)中;數(shù)據(jù)發(fā)送控制模塊,相當(dāng)于圖5中的主進程,主要負責(zé)接收用戶請求信息, 并將相關(guān)信息傳給計費認證模塊和文件處理模塊,同時開啟流控線程,再由流控線程來開啟單播線程,每個單播線程調(diào)用網(wǎng)絡(luò)接口模塊為用戶服務(wù);網(wǎng)絡(luò)接口模塊,用于分析用戶使用的協(xié)議棧版本,并調(diào)用相應(yīng)的協(xié)議棧來 創(chuàng)建socket連接,完成socket連接后,該模塊從緩存中讀取節(jié)目數(shù)據(jù),并進行 流媒體協(xié)議封裝,為用戶提供節(jié)目流數(shù)據(jù)。在設(shè)計流媒體服務(wù)器實現(xiàn)上充分考慮了系統(tǒng)的高性能和可擴展上,并提供 一個通用的點播服務(wù)器框架,能適應(yīng)多種需求,支持集群部署。節(jié)目傳輸采用 實時流傳輸協(xié)i義(Real Time Transport Protocol, RTP ),實現(xiàn)了 MPEG-4和H.264 的RTP封裝下發(fā)。程序的核心是由多線程來實現(xiàn)的,每個用戶的占用一個線 程。通過實時流協(xié)議(Real Time Streaming Protocol, RTSP )實現(xiàn)對節(jié)目流的 遠程控制功能。服務(wù)器對編碼格式的支持采用庫文件的形式,這種實現(xiàn)方式可 以很方便的提供對新編碼格式節(jié)目的支持。圖5為流媒體服務(wù)器應(yīng)用層面的工作示意圖,其中,主進程,用于等待用 戶相應(yīng)端口的傳輸控制協(xié)議(Transmission Control Protocol, TCP )請求,從而 開啟流控線程,再由流控線程來開啟單播線程;傳輸流控制線程,用于開啟單 播線程,并將單播線程的信息存儲在全局鏈表中,同時與用戶保持RTSP連接, 從而在數(shù)據(jù)下發(fā)過程中接收來自用戶的RTSP信息,以保證卡帶式影像錄放機 (Video CassetteRecoder, VCR)功能的實現(xiàn);單播線程,用于根據(jù)流控線程 提供的參數(shù),配置網(wǎng)絡(luò)參數(shù),并對文件進行初始化,最后依據(jù)一定的時間控制 策略,向客戶端發(fā)送電影文件;認證計費線程,用于接收來自認證計費服務(wù)器 的主動通報,當(dāng)收到某用戶余額耗盡的主動通報后,即關(guān)閉所有與該用戶有關(guān) 的流控線程(包括相應(yīng)的單播線程)。如圖6所示,為點播服務(wù)器協(xié)議棧示意圖,其中示出了三種協(xié)議之間的關(guān) 系,在數(shù)據(jù)面上,服務(wù)器首先讀取壓縮后的音視頻數(shù)據(jù)并將其打成RTP包, 然后通過底層協(xié)議,例如用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol, UDP )、 或者TCP協(xié)議、或者IP協(xié)議傳送給終端用戶;用戶收到數(shù)據(jù)后按相反的順序 處理即可恢復(fù)出正常的音視頻信號。在控制面上,用戶終端和服務(wù)方通過RTSP 連接來交互音視頻數(shù)據(jù)以外的控制信息。如圖7所示,為RTSP控制協(xié)議流程圖,該控制流程包括如下步驟 步驟100:客戶端向服務(wù)器發(fā)出服務(wù)請求,服務(wù)器將請求文件的格式信息7返回給播放器;步驟200:播放器初始化網(wǎng)絡(luò)端口,與媒體服務(wù)器建立網(wǎng)絡(luò)傳輸連接; 步驟300:播放器發(fā)起播放請求;步驟400:服務(wù)器將音視頻數(shù)據(jù)用RTP協(xié)議打包,下發(fā)到客戶端; 步驟500:播放器在服務(wù)過程中可以暫停服務(wù);步驟600:最后終止服務(wù)請求,撤銷數(shù)據(jù)傳輸鏈路,釋放各自的系統(tǒng)資源。 如圖8所示,為本發(fā)明的點播服務(wù)器流程圖,其中,點播服務(wù)器通過原控 線程監(jiān)聽新到達的客戶的服務(wù)請求;然后解析請求,與認證服務(wù)器交互,驗證 請求用戶身份;如果身份合法,則創(chuàng)建新的線程為用戶提供服務(wù),并修改原控 線程內(nèi)的單播鏈表(單播鏈表用于記錄當(dāng)前在線服務(wù)的用戶的信息)。另外,需要說明的是,在流媒體服務(wù)器工作過程中,并發(fā)數(shù)是流媒體服務(wù) 器的一個核心評價指標,其數(shù)值的高低直接決定了服務(wù)器的性能的好壞。在本 系統(tǒng)中1/0多路復(fù)用的方法來實現(xiàn)用戶的并發(fā)。如圖9所示,為本發(fā)明優(yōu)化內(nèi) 核效果示意圖,具體的實現(xiàn)方式是采用系統(tǒng)提供的select ()函數(shù)(該函數(shù)是 實現(xiàn)網(wǎng)絡(luò)I/O接口的多路復(fù)用功能的函數(shù))。傳統(tǒng)的select方法,容易造成服務(wù) 器網(wǎng)絡(luò)端口數(shù)據(jù)傳輸效率隨著在線人數(shù)的線性遞增而導(dǎo)致呈二次乃至三次方 的下降。同時,select是一個進程所打開的最大數(shù)目的套接字socket描述符FD 是有一定限制的,由FD—SETSIZE設(shè)置,默認值是2048。這直接導(dǎo)致了網(wǎng)絡(luò) 服務(wù)器可以支持的人數(shù)有比較明顯的限制。其中,socket為一種網(wǎng)絡(luò)接口,用 來進行不同主機間的網(wǎng)絡(luò)通訊,其是TCP/IP網(wǎng)絡(luò)的應(yīng)用接口函數(shù),Socket接 口定義了許多函數(shù)或例程,程序員可以用它們來開發(fā)TCP/IP網(wǎng)絡(luò)上的應(yīng)用程 序。具體如下1) 減少系統(tǒng)分配的堆棧大??;ulimit -s 512 〃將stack參數(shù)限制修改為512K2) 提高用戶TCP連接數(shù)量最大數(shù);ulimit -n 8192 〃將用戶打開最大數(shù)限制修改為81923) 提高一個進程能打開的最大數(shù)目的socket描述符; #define —FD—SETSIZE 81920。通過實踐證明,在相同前提條件下,在對操作系統(tǒng)內(nèi)核進行優(yōu)化前,單臺服務(wù)器并發(fā)數(shù)能達到210, Dl圖像大小,峰值碼率1Mbps。在操作系統(tǒng)內(nèi)核 進行優(yōu)化后,臺服務(wù)器并發(fā)數(shù)能達到750, Dl圖像大小,峰值碼率lMbps。以上是為了使本領(lǐng)域普通技術(shù)人員理解本發(fā)明,而對本發(fā)明所進行的詳細 描述,但可以想到,在不脫離本發(fā)明的權(quán)利要求所涵蓋的范圍內(nèi)還可以做出其 它的變化和修改,這些變化和修改均在本發(fā)明的保護范圍內(nèi)。
權(quán)利要求
1. 一種自適應(yīng)IPv4/IPv6的流媒體服務(wù)器的實現(xiàn)方法,其特征在于,服務(wù)器監(jiān)聽新到達客戶的服務(wù)請求時,首先對所述服務(wù)請求進行解析,根據(jù)所述IP數(shù)據(jù)包頭識別IP協(xié)議版本,進而啟動相應(yīng)地協(xié)議版本的服務(wù)線程,自適應(yīng)地為用戶提供服務(wù)。
2. 如權(quán)利要求1所述的自適應(yīng)IPv4/IPv6的流媒體服務(wù)器的實現(xiàn)方法,其 特征在于,進一步包括下列步驟所述服務(wù)器在驗證請求用戶身份合法后,創(chuàng)建新的線程為用戶提供服務(wù), 并修改原控線程內(nèi)的單播鏈表。
3. 如權(quán)利要求1所述的自適應(yīng)IPv4/IPv6的流i某體服務(wù)器的實現(xiàn)方法,其 特征在于,進一步包括下列步驟在數(shù)據(jù)面上,服務(wù)器首先讀取壓縮后的音視 頻數(shù)據(jù)并將其打成實時流傳輸協(xié)議RTP包,然后通過底層協(xié)議UDP、或者傳 輸控制協(xié)議TCP、或者IP協(xié)議傳送給終端用戶。
4. 如權(quán)利要求1所述的自適應(yīng)IPv4/IPv6的流J 某體服務(wù)器的實現(xiàn)方法,其 特征在于,進一步包括下列步驟在控制面上,用戶終端和服務(wù)器通過實時流 協(xié)議RTSP連接來交互音視頻數(shù)據(jù)以外的控制信息。
5. 如權(quán)利要求1所述的自適應(yīng)IPv4/IPv6的流i某體服務(wù)器的實現(xiàn)方法,其 特征在于,進一步包括下列步驟通過減少系統(tǒng)分配的堆棧大小、提高用戶 TCP連接數(shù)量最大數(shù),以及提高一個進程能打開的最大數(shù)目的套接字socket 描述符,以提高服務(wù)器的并發(fā)數(shù)。
6. —種自適應(yīng)IPv4/IPv6的流媒體服務(wù)器,包括計費認證接口模塊、文件 處理模塊,其特征在于,還包括數(shù)據(jù)發(fā)送控制模塊以及網(wǎng)絡(luò)接口模塊,其中,所述數(shù)據(jù)發(fā)送控制模塊,用于接收用戶請求信息,并將相關(guān)信息傳給計費 認證模塊和文件處理^t塊,同時開啟流控線程,再由流控線程來開啟單播線程, 每個單播線程調(diào)用網(wǎng)絡(luò)接口模塊為用戶服務(wù);所述網(wǎng)絡(luò)接口模塊,用于對所述服務(wù)請求進行解析,根據(jù)所述IP數(shù)據(jù)包 頭識別IP協(xié)議版本,進而啟動相應(yīng)地協(xié)議版本的服務(wù)線程,自適應(yīng)地為用戶 提供服務(wù)。
7. 如權(quán)利要求6所述的自適應(yīng)IPv4/IPv6的流媒體服務(wù)器,其特征在于, 所述網(wǎng)絡(luò)接口模塊,用于分析當(dāng)前用戶使用的協(xié)議棧版本,并調(diào)用相應(yīng)的協(xié)議 棧來創(chuàng)建socket連接,從緩存中讀取相應(yīng)的節(jié)目數(shù)據(jù)后,進行流媒體協(xié)議封裝, 為用戶提供節(jié)目流數(shù)據(jù)。
8. 如權(quán)利要求6所述的自適應(yīng)IPv4/IPv6的流媒體服務(wù)器,其特征在于, 進一步包括用戶節(jié)目控制模塊,用于為系統(tǒng)管理員配置和管理服務(wù)器提供一個 可#見化界面。
全文摘要
本發(fā)明提供一種自適應(yīng)IPv4/IPv6的流媒體服務(wù)器及實現(xiàn)方法,其中,該方法是,服務(wù)器監(jiān)聽新到達客戶的服務(wù)請求時,首先對所述服務(wù)請求進行解析,根據(jù)所述IP數(shù)據(jù)包頭識別IP協(xié)議版本,進而啟動相應(yīng)地協(xié)議版本的服務(wù)線程,自適應(yīng)地為用戶提供服務(wù)。本發(fā)明的自適應(yīng)IPv4/IPv6的流媒體服務(wù)器及實現(xiàn)方法,能夠同時兼容IPv4和IPv6網(wǎng)絡(luò),流媒體服務(wù)器在部署時將更加方便、成本更低。
文檔編號H04N7/24GK101262445SQ200810103700
公開日2008年9月10日 申請日期2008年4月10日 優(yōu)先權(quán)日2008年4月10日
發(fā)明者勇 夏, 敏 袁 申請人:國家廣播電影電視總局廣播科學(xué)研究院