一種可進(jìn)行日志管理的虛擬化cdn加速系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)⑶N加速系統(tǒng)及方法,尤其涉及一種可進(jìn)行日志管理的虛擬化⑶N加速系統(tǒng)及方法。
【背景技術(shù)】
[0002]互聯(lián)網(wǎng)的音視頻直播業(yè)務(wù)并不是一個(gè)新的技術(shù),但是隨著互聯(lián)網(wǎng)的用戶不斷增多,用戶對(duì)音視頻直播畫(huà)質(zhì)/音質(zhì)的要求不斷提升,直播內(nèi)容的碼流不斷提升,同時(shí)在線人數(shù)也不斷增加,帶寬和并發(fā)在線人數(shù)的要求漸漸成為制約這項(xiàng)業(yè)務(wù)的瓶頸。以1Mbps的碼流計(jì)算,1G的帶寬僅能支撐1000個(gè)用戶并發(fā),而要保證1百萬(wàn)用戶的同時(shí)在線,就需要1000G的帶寬,對(duì)于單一的直播節(jié)目來(lái)說(shuō),這個(gè)費(fèi)用是非常高昂的。另一方面,1百萬(wàn)的并發(fā)流式訪問(wèn),對(duì)普通的服務(wù)器的性能來(lái)說(shuō)也是一個(gè)不可能完成的任務(wù)。所以當(dāng)前通常采用服務(wù)器分層加客戶端p2p的技術(shù)來(lái)分擔(dān)并發(fā)訪問(wèn)的人數(shù)同時(shí)將服務(wù)器的一部訪問(wèn)轉(zhuǎn)移到客戶端,從而減輕訪問(wèn)壓力和降低帶寬的消耗。例如專利CN201510150133.1就采用了這種⑶N+P2P的架構(gòu),播放器(客戶端)之間作為P2P分組,而服務(wù)器之間采用源服務(wù)器+⑶N分發(fā)服務(wù)器這樣的分層組網(wǎng)。源服務(wù)器將直播內(nèi)容復(fù)制若干份,分發(fā)到邊緣的CDN服務(wù)器,每個(gè)⑶N服務(wù)器負(fù)責(zé)一部分的用戶訪問(wèn),同時(shí)通過(guò)部署P2P的支撐服務(wù)器(tracker,NAT穿透),將客戶端組成不同的網(wǎng)絡(luò),客戶端之間可以互相訪問(wèn),也可以直接請(qǐng)求⑶N服務(wù)器。
[0003]基于這種架構(gòu),進(jìn)一步的可以將⑶N服務(wù)器和P2P支撐服務(wù)器按照運(yùn)營(yíng)商網(wǎng)絡(luò)/或者是地域劃分為不同的自治域(AS),形成若干p2p子網(wǎng),如專利CN201510006008.3中所提及的組網(wǎng)方式。AS內(nèi)部是域內(nèi)連接,AS之間還有少量數(shù)據(jù)傳輸,屬于域間連接。
[0004]在云計(jì)算虛擬化領(lǐng)域,通過(guò)虛擬化的技術(shù)將分布式的閑散的計(jì)算資源,存儲(chǔ)資源組織起來(lái),通過(guò)網(wǎng)絡(luò)路由交換,再封裝成一個(gè)整體并虛擬成一個(gè)單一的虛擬機(jī)給用戶使用,也是當(dāng)前的一個(gè)熱點(diǎn),例如專利CN201410468455.6,就提供了一種虛擬化的存儲(chǔ)解決方案。通過(guò)在服務(wù)器上安裝虛擬器的控制單元,控制本地的文件系統(tǒng),并接受來(lái)自網(wǎng)絡(luò)的集中調(diào)度,若干服務(wù)器的存儲(chǔ)被虛擬化成一個(gè)大的存儲(chǔ),對(duì)外提供統(tǒng)一的訪問(wèn)接口。即外部調(diào)用存儲(chǔ)訪問(wèn)的接口,或者是計(jì)算的接口,通過(guò)集中調(diào)度,將存儲(chǔ)訪問(wèn)或者是計(jì)算需求分配給某一個(gè)節(jié)點(diǎn),完成任務(wù)后再返回結(jié)果給接口。
[0005]盡管采用了⑶N+P2P的方式,有效地增大了直播服務(wù)的規(guī)模,降低了帶寬的消耗,但是這種技術(shù)也面臨一些問(wèn)題,第一是這種架構(gòu)依然需要消耗一定規(guī)模的⑶N帶寬。例如在直播開(kāi)始時(shí),客戶端需要先有一定量的CDN帶寬消耗,才能帶動(dòng)P2P的訪問(wèn),即客戶端需要先有一定數(shù)量的內(nèi)容來(lái)自CDN服務(wù)器,才能在客戶端之間進(jìn)行P2P的互動(dòng);客戶端是不穩(wěn)定的,它可以隨時(shí)退出P2P網(wǎng)絡(luò),如果是關(guān)鍵的P2P節(jié)點(diǎn)退出P2P網(wǎng)絡(luò),也會(huì)導(dǎo)致有突發(fā)的較大的CDN訪問(wèn);如果并發(fā)用戶數(shù)量不足,客戶端依然需要直接使用CDN的帶寬。第二是這種網(wǎng)絡(luò)結(jié)構(gòu)是與應(yīng)用綁定的,也就是說(shuō)選定好客戶端的程序,就會(huì)決定了 CDN網(wǎng)絡(luò)服務(wù)器的程序以及組網(wǎng)架構(gòu)。整個(gè)網(wǎng)絡(luò)各個(gè)層次間的耦合度較大。
[0006]另一方面,目前的虛擬化實(shí)踐中,通常是將小單元的計(jì)算能力(CPU),存儲(chǔ)能力匯聚起來(lái),通過(guò)一個(gè)控制模塊發(fā)送任務(wù)給某些個(gè)小單元,然后完成后再匯聚成一個(gè)大的任務(wù)結(jié)果。對(duì)于零散帶寬資源的聚合,則沒(méi)有對(duì)應(yīng)的實(shí)踐方案。
[0007]在現(xiàn)有解決方案中,雖然在VM管理和⑶N管理模塊中可以監(jiān)控各個(gè)RD和⑶N服務(wù)器的運(yùn)行情況,進(jìn)行基于本AS內(nèi)部的負(fù)載均衡調(diào)度。但是還無(wú)法對(duì)系統(tǒng)運(yùn)行狀況進(jìn)行整體監(jiān)控。
[0008]例如某個(gè)VM由于突發(fā)的訪問(wèn)量增大,導(dǎo)致預(yù)先分配的RD資源不足以應(yīng)付,而本AS的負(fù)載均衡調(diào)度就無(wú)能為力了。此時(shí)需要一種機(jī)制能檢測(cè)系統(tǒng)的整體突發(fā)狀態(tài),并將這一情況上報(bào)給中央控制邏輯,以便于系統(tǒng)的運(yùn)維監(jiān)控人員采取相應(yīng)的操作。
[0009]此外不光是為了預(yù)防突發(fā)狀態(tài),系統(tǒng)的運(yùn)維監(jiān)控以及客戶還需要一種直觀的監(jiān)控手段能查看VM/CDN的實(shí)時(shí)運(yùn)行狀態(tài)以及后期的匯總報(bào)告,那么就需要有一種機(jī)制可以提供系統(tǒng)的整體運(yùn)行數(shù)據(jù),給上層模塊進(jìn)行展示。
【發(fā)明內(nèi)容】
[0010]本發(fā)明提出了一種新型的架構(gòu)方案,依托于布置在互聯(lián)網(wǎng)最后一英里的特殊真實(shí)物理設(shè)備RD(real device),所述真實(shí)物理設(shè)備RD為某種可以利用上下行富余帶寬的網(wǎng)絡(luò)接入路由器,或者是裝有虛擬化程序并且能上網(wǎng)的電子設(shè)備等,所述真實(shí)物理設(shè)備RD的特征是對(duì)計(jì)算能力和存儲(chǔ)能力要求不高,但是在運(yùn)營(yíng)商的帶寬利用上,處于用戶側(cè)個(gè)人電腦的上一層,能夠長(zhǎng)時(shí)間穩(wěn)定接入互聯(lián)網(wǎng),故而能夠更好的利用運(yùn)營(yíng)商的上/下行的帶寬。將這些真實(shí)物理設(shè)備RD通過(guò)虛擬化的方式集中起來(lái),提供各種可以定制化的服務(wù)。
[0011]在本發(fā)明中,真實(shí)物理設(shè)備RD—起組成一個(gè)虛擬服務(wù)器VM (virtual machine)。RD在本發(fā)明中被看成是一個(gè)提供網(wǎng)絡(luò)服務(wù)的容器,即它可以安裝任何滿足要求的網(wǎng)絡(luò)服務(wù)程序(RD APP),另一方面它又是一個(gè)網(wǎng)絡(luò)帶寬的輸出單元,就是說(shuō)RD可以向互聯(lián)網(wǎng)提供帶寬資源。在這些RD上都安裝有一個(gè)agent代理程序,即RD上設(shè)置有agent代理模塊,agent代理模塊的作用是監(jiān)控RD的狀態(tài),主要是RD上下行帶寬狀態(tài),獲取RD的運(yùn)行負(fù)載,向RD發(fā)送指令。在agent的上邊,是虛擬化的API,是連接RD和虛擬化調(diào)度單元的橋梁。裝有相同服務(wù)程序的RD會(huì)被組織成一個(gè)大的虛擬服務(wù)器,提供上文所述的網(wǎng)絡(luò)服務(wù)。對(duì)于通過(guò)網(wǎng)絡(luò)協(xié)議(rtmp/http/rtsp/hls/p2p協(xié)議)訪問(wèn)VM的客戶端來(lái)說(shuō),他感受到的就是一個(gè)真實(shí)的服務(wù)器。對(duì)于使用上層UI界面的調(diào)用者來(lái)說(shuō),他管理的也就是一個(gè)個(gè)的真實(shí)服務(wù)器。
[0012]本發(fā)明是這樣實(shí)現(xiàn)的:一種可進(jìn)行日志管理的虛擬化⑶N加速系統(tǒng),包括虛擬服務(wù)器、CDN服務(wù)器、中央控制模塊、日志管理模塊和客戶端,
[0013]所述⑶N服務(wù)器用于將數(shù)據(jù)下發(fā)到所述虛擬服務(wù)器;
[0014]所述虛擬服務(wù)器用于將接收到的數(shù)據(jù)分發(fā)至客戶端;
[0015]其中,所述虛擬服務(wù)器內(nèi)設(shè)置有真實(shí)物理設(shè)備RD,所述真實(shí)物理設(shè)備RD用于將上下行富余的帶寬集合起來(lái),并利用這些帶寬分發(fā)數(shù)據(jù)到客戶端;
[0016]所述日志管理模塊用于獲取所述真實(shí)物理設(shè)備RD和⑶N服務(wù)器的帶寬使用情況的日志;
[0017]所述中央控制模塊根據(jù)所述日志管理模塊中的日志對(duì)所述虛擬服務(wù)器、⑶N服務(wù)器和客戶端進(jìn)行管理。
[0018]進(jìn)一步地,所述日志至少包含有真實(shí)物理設(shè)備RD和⑶N服務(wù)器的負(fù)載信息及所述ig息的優(yōu)先級(jí)。
[0019]進(jìn)一步地,還包括⑶N管理模塊、虛擬化控制器模塊和自治域控制模塊,
[0020]所述CND層管理單元用于管理所述CND服務(wù)器;
[0021]所述虛擬化控制器模塊用于管理所述虛擬服務(wù)器;
[0022]所述自治域控制模塊用于將所述中央控制模塊的指令下發(fā)給所述CDN管理模塊和所述虛擬層管理模塊,并響應(yīng)客戶端的請(qǐng)求,為客戶端提交最佳的真實(shí)物理設(shè)備RD。
[0023]進(jìn)一步地,所述客戶端為任意普通的第三方客戶端,或者是支持P2P協(xié)議的特殊客戶端。
[0024]進(jìn)一步地,還包括云端輔助系統(tǒng),所述虛擬服務(wù)器用于與云端輔助系統(tǒng)進(jìn)行通信,獲取來(lái)自源站的信息。
[0025]相應(yīng)地,本發(fā)明還提供了一種基于上述系統(tǒng)的可進(jìn)行日志管理的虛擬化⑶N加速方法,包括:
[0026]S1、⑶N服務(wù)器將數(shù)據(jù)下發(fā)到所述虛擬服務(wù)器;
[0027]S2、虛擬服務(wù)器將接收到的數(shù)據(jù)分發(fā)至客戶端;其中,所述虛擬服務(wù)器內(nèi)設(shè)置有真實(shí)物理設(shè)備RD,所述真實(shí)物理設(shè)備RD用于將上下行富余的帶寬集合起來(lái);
[0028]S3、日志管理模塊獲取所述真實(shí)物理設(shè)備RD和⑶N服務(wù)器的帶寬使用情況的日志;
[0029]S4、中央控制模塊根據(jù)日志管理模塊中的日志對(duì)所述虛擬服務(wù)器、⑶N服務(wù)器和客戶端進(jìn)行管理。
[0030]進(jìn)一步地,步驟S3中的所述日志至少包含有真實(shí)物理設(shè)備RD和⑶N服務(wù)器的負(fù)載信息及所述信息的優(yōu)先級(jí)。
[0031 ] 進(jìn)一步地,所述方法還包括:
[0032]自治域控制模塊將中央控制模塊的指令下發(fā)給CDN管理模塊和虛擬層管理模塊,并響應(yīng)客戶端的請(qǐng)求,為客戶端提交最佳的真實(shí)物理設(shè)備RD。
[0033]進(jìn)一步地,所述客戶端為任意普通的第三方客戶端,或者是支持P2P協(xié)議的特殊客戶端。
[0034]進(jìn)一步地,所述方法還包括:
[0035]虛擬服務(wù)器與云端輔助系統(tǒng)進(jìn)行通信,獲取來(lái)自源站的信息。
[0036]本發(fā)明配置若干虛擬服務(wù)器,作為邊緣的⑶N節(jié)點(diǎn),其上層是原有的真實(shí)⑶N服務(wù)器層,這里只需要一條鏈路就可以把視頻內(nèi)容下發(fā)到虛擬服務(wù)器上,再由虛擬服務(wù)器轉(zhuǎn)發(fā)給客戶端。將