分布式多傳輸信道網(wǎng)絡(luò)直播視頻并行分發(fā)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機網(wǎng)絡(luò)視頻分發(fā)技術(shù),尤其涉及分布式多傳輸信道網(wǎng)絡(luò)直播視頻并行分發(fā)方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)的用戶不斷增多,用戶對音視頻直播畫質(zhì)/音質(zhì)的要求不斷提升,直播內(nèi)容的碼流不斷提升,同時在線人數(shù)也不斷增加,帶寬和并發(fā)在線人數(shù)的要求漸漸成為制約這項業(yè)務(wù)的瓶頸。以1Mbps的碼流計算,1G的帶寬僅能支撐1000個用戶并發(fā),而要保證1百萬用戶的同時在線,就需要1000G的帶寬,對于單一的直播節(jié)目來說,這個費用是非常高昂的。另一方面,1百萬的并發(fā)流式訪問,對普通的服務(wù)器的性能來說也是一個不可能完成的任務(wù)。所以當(dāng)前通常采用服務(wù)器分層加客戶端p2p的技術(shù)來分擔(dān)并發(fā)訪問的人數(shù)同時將服務(wù)器的一部訪問轉(zhuǎn)移到客戶端,從而減輕訪問壓力和降低帶寬的消耗。例如專利CN201510150133.1就采用了這種⑶N+P2P的架構(gòu),播放器(客戶端)之間作為P2P分組,而服務(wù)器之間采用源服務(wù)器+CDN分發(fā)服務(wù)器這樣的分層組網(wǎng)。源服務(wù)器將直播內(nèi)容復(fù)制若干份,分發(fā)到邊緣的CDN服務(wù)器,每個CDN服務(wù)器負(fù)責(zé)一部分的用戶訪問,同時通過部署P2P的支撐服務(wù)器(tracker,NAT穿透),將客戶端組成不同的網(wǎng)絡(luò),客戶端之間可以互相訪問,也可以直接請求⑶N服務(wù)器。
[0003]基于這種架構(gòu),進一步的可以將⑶N服務(wù)器和P2P支撐服務(wù)器按照運營商網(wǎng)絡(luò)/或者是地域劃分為不同的自治域(AS),形成若干p2p子網(wǎng),如專利CN201510006008.3中所提及的組網(wǎng)方式。AS內(nèi)部是域內(nèi)連接,AS之間還有少量數(shù)據(jù)傳輸,屬于域間連接。
[0004]在云計算虛擬化領(lǐng)域,通過虛擬化的技術(shù)將分布式的閑散的計算資源,存儲資源組織起來,通過網(wǎng)絡(luò)路由交換,再封裝成一個整體并虛擬成一個單一的虛擬機給用戶使用,也是當(dāng)前的一個熱點,例如專利CN201410468455.6,就提供了一種虛擬化的存儲解決方案。通過在服務(wù)器上安裝虛擬器的控制單元,控制本地的文件系統(tǒng),并接受來自網(wǎng)絡(luò)的集中調(diào)度,若干服務(wù)器的存儲被虛擬化成一個大的存儲,對外提供統(tǒng)一的訪問接口。即外部調(diào)用存儲訪問的接口,或者是計算的接口,通過集中調(diào)度,將存儲訪問或者是計算需求分配給某一個節(jié)點,完成任務(wù)后再返回結(jié)果給接口。
[0005]以上的虛擬化方案針對的是存儲系統(tǒng),也有方案是針對帶寬+存儲,例如論文“Anew distributed storage scheme for cluster video server:Journal of SystemsArchitecture 51 (2005) 79 - 94”所提出的方案,通過切片方式,將視頻分布式的存儲到不同的節(jié)點,通過一個虛擬的服務(wù)器響應(yīng)來自客戶端的控制消息(如rtsp封裝),然后再由具體的存儲節(jié)點通過RTP協(xié)議將數(shù)據(jù)傳輸給客戶端。首先當(dāng)有客戶端請求時,虛擬服務(wù)器根據(jù)請求的視頻鏈接,得到按照實際存儲節(jié)點的情況,得到一個播放路徑,然后按照播放路徑,依次通知對應(yīng)的存儲節(jié)點將數(shù)據(jù)以rtp協(xié)議發(fā)送給客戶端,與此同時,繼續(xù)保持和客戶端的rtsp控制通信。通過這種方式,達(dá)到了將大文件化整為零,且分時復(fù)用不同節(jié)點帶寬的作用。
[0006]當(dāng)前有一種新型的解決方案是,依托于布置在互聯(lián)網(wǎng)最后一英里的特殊設(shè)備,具體的如某種可以利用上下行富余帶寬的網(wǎng)絡(luò)接入路由器,或者是裝有虛擬化程序并且能上網(wǎng)的電子設(shè)備等,其特征是對計算能力和存儲能力要求不高,但是在運營商的帶寬利用上,處于用戶側(cè)個人電腦的上一層,能夠長時間穩(wěn)定接入互聯(lián)網(wǎng),故而能夠更好的利用運營商的上/下行的帶寬。將這些設(shè)備通過虛擬化的方式集中起來,提供各種可以定制化的服務(wù)。在本專利中,這些設(shè)備都用RD表示(real device),他們一起組成一個VM(virtualmachine).RD在本專利中被看成是一個提供網(wǎng)絡(luò)服務(wù)的容器,即它可以安裝任何滿足要求的網(wǎng)絡(luò)服務(wù)程序(RD APP),另一方面它又是一個網(wǎng)絡(luò)帶寬的輸出單元,就是說RD可以向互聯(lián)網(wǎng)提供帶寬資源。在這些RD上都安裝有一個agent代理程序,其作用是監(jiān)控RD的狀態(tài),主要是上下行帶寬狀態(tài),獲取RD的運行負(fù)載,向RD發(fā)送指令。在agent的上邊,是虛擬化的API,是連接RD和虛擬化調(diào)度單元的橋梁。裝有相同服務(wù)程序的RD會被組織成一個大的虛擬服務(wù)器,提供上文所述的網(wǎng)絡(luò)服務(wù)。對于通過網(wǎng)絡(luò)協(xié)議(rtmp/http/rtsp/hls/p2p協(xié)議)訪問VM的客戶端來說,他感受到的就是一個真實的服務(wù)器。對于使用上層UI界面的調(diào)用者來說,他管理的也就是一個個的真實服務(wù)器。
[0007]在具體應(yīng)用中,如果想要利用VM來提供音視頻直播加速,可以將這些虛擬服務(wù)器作為一個虛擬化應(yīng)用層,并加入到傳統(tǒng)的CDN-P2P網(wǎng)絡(luò)中,替代了原有架構(gòu)中CDN層和播放器的數(shù)據(jù)傳送功能。這里VM還可以和云端的輔助系統(tǒng)進行通信,獲取來自源站的信息,如視頻直播內(nèi)容源,然后VM就成為一個虛擬的⑶N直播分發(fā)服務(wù)器,向播放器提供比如rtmp,http, his,rtsp, dash服務(wù)等,也包括p2p的傳輸服務(wù)等。在實現(xiàn)上,按照不同的運營商區(qū)域,配置若干虛擬服務(wù)器,作為邊緣的CDN節(jié)點,其上層是原有的真實CDN服務(wù)器層,這里只需要一條鏈路就可以把視頻內(nèi)容下發(fā)到虛擬服務(wù)器上,再由虛擬服務(wù)器轉(zhuǎn)發(fā)給客戶端。在實際使用中,為保證系統(tǒng)的健壯性,可以再增加若干條鏈路,保證系統(tǒng)可以穩(wěn)定工作。即便如此,這種架構(gòu)也將原有對⑶N服務(wù)器的依賴,轉(zhuǎn)變?yōu)閷μ摂M服務(wù)器的使用,大大降低了⑶N服務(wù)器的帶寬消耗。由于RD設(shè)備通常是可以保證24小時長期聯(lián)網(wǎng)的,在加上通過在AS級別對客戶端進行全局調(diào)度,由AS調(diào)度邏輯判斷負(fù)載均衡,RD設(shè)備的可達(dá)性,自動選取最優(yōu)的RD設(shè)備向客戶端提供服務(wù),還可以在VM的整體帶寬不足的情況,自動實現(xiàn)VM的擴容,網(wǎng)絡(luò)服務(wù)的可用性整體上看不低于傳統(tǒng)架構(gòu)中的CDN服務(wù)器。
[0008]此外,這種虛擬服務(wù)器除了作為⑶N的音視頻直播加速外,還可以作為一種通用的解決方案,提供任何帶寬消耗型的網(wǎng)絡(luò)服務(wù),例如在VM上安裝一個應(yīng)用,實現(xiàn)視頻拆包/打包/mux/demux/解碼/編碼等,它又可以成為一個源視頻服務(wù)器,接收來自客戶端編碼器的推送流,將其轉(zhuǎn)碼打包為其它的格式發(fā)送給其它⑶N節(jié)點。還比如通過更換RD上的APP,VM還可以提供Vpn,pr0Xy服務(wù)等等。由于選用不同的RD APP程序就可以提供不同的功能,客戶端事實上只依賴于RD APP的選用,切換APP遠(yuǎn)比更改服務(wù)器端的架構(gòu)要容易。
[0009]目前在互聯(lián)網(wǎng)上有大量的終端設(shè)備具有一個共同的特點,就是具備一定的計算能力,可以運行第三方程序,其上行帶寬利用率很低。比如智能路由器,移動終端,甚至接入互聯(lián)網(wǎng)的家用PC。通過虛擬化技術(shù),在這些設(shè)備上安裝第三方代理程序,通過全局的虛擬化調(diào)度接口控制代理程序,將這些設(shè)備上閑置的上行帶寬聚合起來,統(tǒng)一管理,從而實現(xiàn)向其他互聯(lián)網(wǎng)用戶分發(fā)內(nèi)容的目標(biāo)。但是如果將這些帶寬用于音視頻直播,情況就會變得復(fù)雜。
[0010]這是因為首先音視頻直播要求有持續(xù)穩(wěn)定的帶寬,如果可用帶寬波動大,比如某一時刻,RD設(shè)備的所有者上傳一個大文件到網(wǎng)絡(luò)上,就有可能導(dǎo)致該設(shè)備可用上行帶寬減少,那么就會體現(xiàn)為使用該設(shè)備上行帶寬收看直播的用戶觀看體驗下降,延遲,緩沖次數(shù)多,卡頓等等。除此之外,相對于高質(zhì)量的直播碼流,這些設(shè)備所能提供的上行帶寬是有限的,甚至有時直播碼流比這些設(shè)備的可用上行帶寬上限還要高,這時,作為