專利名稱:基于Hadoop 與虛擬流媒體服務(wù)器集群的流媒體點(diǎn)播方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于Hadoop ( —種高容錯(cuò)性、高傳輸率、以流的方式進(jìn)行訪問的分布式存儲(chǔ)集群)存儲(chǔ)資源以及在刀片機(jī)上部署的虛擬流媒體服務(wù)器,使用虛擬機(jī)調(diào)度策略以及文件緩存策略的點(diǎn)播方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)應(yīng)用的日趨廣泛,視頻點(diǎn)播服務(wù)已成為人們?nèi)粘I畹闹匾M成部分,視頻點(diǎn)播服務(wù)質(zhì)量的好壞很大程度取決于后臺(tái)點(diǎn)播服務(wù)器的支持。構(gòu)建后臺(tái)點(diǎn)播服務(wù)器的方法有很多,申請人經(jīng)過查新,檢索到3篇有關(guān)流媒體服務(wù)器系統(tǒng)或流媒體點(diǎn)播方法的專利,它們分別是1.流媒體服務(wù)動(dòng)態(tài)負(fù)載方法(申請?zhí)?00610106932. X)2. 一種適用大規(guī)模用戶點(diǎn)播的集群式流媒體服務(wù)器系統(tǒng)(申請?zhí)?201010117647.4)3. 一種視頻網(wǎng)格自適應(yīng)負(fù)載均衡調(diào)度方法(申請?zhí)?200610144274. 3)上述現(xiàn)有專利共同存在的問題是流媒體服務(wù)器基本都是真實(shí)的服務(wù)器而不涉及虛擬流媒體服務(wù)器集群;動(dòng)態(tài)負(fù)載方法都是基于服務(wù)器的負(fù)載情況將用戶的請求進(jìn)行均衡的分配,而不考慮用戶的熱點(diǎn)程度;未考慮后臺(tái)數(shù)據(jù)讀取帶寬因而無法動(dòng)態(tài)控制虛擬機(jī)間隔緩存大小。
發(fā)明內(nèi)容
本發(fā)明的目的是解決背景技術(shù)中有關(guān)流媒體服務(wù)器系統(tǒng)及流媒體點(diǎn)播方法專利的不足,提供一種將流媒體文件存放在Hadoop存儲(chǔ)集群上,虛擬流媒體服務(wù)器集群部署在刀片服務(wù)器上,接收從Hadoop存儲(chǔ)集群上獲取流媒體文件數(shù)據(jù),并采用虛擬流媒體服務(wù)器集群調(diào)度與數(shù)據(jù)緩存策略,實(shí)現(xiàn)流媒體點(diǎn)播功能的方法。為達(dá)到以上目的,本發(fā)明是采取如下技術(shù)方案予以實(shí)現(xiàn)的一種基于Hadoop與虛擬流媒體服務(wù)器集群的流媒體點(diǎn)播方法,其特征在于,包括下述步驟(1)流媒體文件存放在Hadoop存儲(chǔ)集群上,(2)流媒體服務(wù)器構(gòu)建在虛擬服務(wù)器集群之上,(3)虛擬流媒體服務(wù)器集群直接從Hadoop存儲(chǔ)集群上獲取流媒體文件數(shù)據(jù),并采用虛擬流媒體服務(wù)器集群調(diào)度與數(shù)據(jù)緩存方法,實(shí)現(xiàn)流媒體點(diǎn)播功能,其中,步驟(3)所述的虛擬流媒體服務(wù)器集群調(diào)度方法是,虛擬機(jī)服務(wù)器管理節(jié)點(diǎn)用來控制虛擬流媒體服務(wù)器的開啟以及關(guān)閉,虛擬機(jī)服務(wù)器管理節(jié)點(diǎn)以虛擬流媒體服務(wù)器集群網(wǎng)絡(luò)帶寬占用率超過 80 %或者內(nèi)存占用率超過90 %為依據(jù),觸發(fā)虛擬流媒體服務(wù)器創(chuàng)建機(jī)制;以虛擬流媒體服務(wù)器集群整體帶寬占用率小于20%并且內(nèi)存占用率小于30%且存在用戶請求量為O的虛擬流媒體服務(wù)器為依據(jù),觸發(fā)虛擬流媒體服務(wù)器回收機(jī)制;步驟(3)所述的虛擬流媒體服務(wù)器集群數(shù)據(jù)緩存方法是,采用了虛擬流媒體服務(wù)器集群的數(shù)據(jù)緩存均衡部署策略,為熱點(diǎn)流媒體文件進(jìn)行文件的前綴部署;根據(jù)流媒體文件實(shí)時(shí)熱點(diǎn)程度,將實(shí)時(shí)熱點(diǎn)文件部署在新開啟的虛擬流媒體服務(wù)器上;并且在進(jìn)行流媒體點(diǎn)播服務(wù)時(shí),考慮請求相同流媒體文件的時(shí)間先后順序以及關(guān)聯(lián)性,對從Hadoop存儲(chǔ)集群獲取的數(shù)據(jù)采用對應(yīng)的間隔緩存;根據(jù)虛擬流媒體服務(wù)器集群向Hadoop存儲(chǔ)集群的文件讀取帶寬,動(dòng)態(tài)控制各個(gè)虛擬流媒體服務(wù)器上的緩存大小,觸發(fā)虛擬機(jī)調(diào)度策略。上述方案中,所述的觸發(fā)虛擬流媒體服務(wù)器創(chuàng)建機(jī)制的具體步驟為Stepl 虛擬機(jī)服務(wù)器管理節(jié)點(diǎn)初始化;St印2 虛擬機(jī)服務(wù)器管理節(jié)點(diǎn)獲取每個(gè)虛擬流媒體服務(wù)器設(shè)置的預(yù)留內(nèi)存θ i以及預(yù)留的網(wǎng)絡(luò)帶寬Pi ;獲取當(dāng)前開啟虛擬流媒體服務(wù)器個(gè)數(shù)N;Step3:虛擬機(jī)服務(wù)器管理節(jié)點(diǎn)實(shí)時(shí)更新檢測每個(gè)虛擬流媒體服務(wù)器占用的網(wǎng)絡(luò)帶寬α i以及占用內(nèi)存的β i ;如果虛擬流媒體服務(wù)器集群網(wǎng)絡(luò)帶寬占用率
權(quán)利要求
1.一種基于Hadoop與虛擬流媒體服務(wù)器集群的流媒體點(diǎn)播方法,其特征在于包括下述步驟(1)將流媒體文件存放在Hadoop存儲(chǔ)集群上,(2)將流媒體服務(wù)器構(gòu)建在虛擬服務(wù)器集群之上,(3)虛擬流媒體服務(wù)器集群直接從Hadoop存儲(chǔ)集群上獲取流媒體文件數(shù)據(jù),并采用虛擬流媒體服務(wù)器集群調(diào)度與數(shù)據(jù)緩存方法,實(shí)現(xiàn)流媒體點(diǎn)播功能,其中,步驟(3)所述的虛擬流媒體服務(wù)器集群調(diào)度方法是,虛擬機(jī)服務(wù)器管理節(jié)點(diǎn)用來控制虛擬流媒體服務(wù)器的開啟以及關(guān)閉,虛擬機(jī)服務(wù)器管理節(jié)點(diǎn)以虛擬流媒體服務(wù)器集群網(wǎng)絡(luò)帶寬占用率超過 80 %或者內(nèi)存占用率超過90 %為依據(jù),觸發(fā)虛擬流媒體服務(wù)器創(chuàng)建機(jī)制;以虛擬流媒體服務(wù)器集群整體帶寬占用率小于20%并且內(nèi)存占用率小于30%且存在用戶請求量為O的虛擬流媒體服務(wù)器為依據(jù),觸發(fā)虛擬流媒體服務(wù)器回收機(jī)制;步驟(3)所述的虛擬流媒體服務(wù)器集群數(shù)據(jù)緩存方法是,采用了虛擬流媒體服務(wù)器集群的數(shù)據(jù)緩存均衡部署策略,為熱點(diǎn)流媒體文件進(jìn)行文件的前綴部署;根據(jù)流媒體文件實(shí)時(shí)熱點(diǎn)程度,將實(shí)時(shí)熱點(diǎn)文件部署在新開啟的虛擬流媒體服務(wù)器上;并且在進(jìn)行流媒體點(diǎn)播服務(wù)時(shí),考慮請求相同流媒體文件的時(shí)間先后順序以及關(guān)聯(lián)性,對從Hadoop存儲(chǔ)集群獲取的數(shù)據(jù)采用對應(yīng)的間隔緩存;根據(jù)虛擬流媒體服務(wù)器集群向Hadoop存儲(chǔ)集群的文件讀取帶寬,動(dòng)態(tài)控制各個(gè)虛擬流媒體服務(wù)器上的緩存大小,觸發(fā)虛擬機(jī)調(diào)度策略。
2.根據(jù)權(quán)利1所述的基于Hadoop與虛擬流媒體服務(wù)器集群的流媒體點(diǎn)播方法,其特征在于所述的觸發(fā)虛擬流媒體服務(wù)器創(chuàng)建機(jī)制的具體步驟為Stepl 虛擬機(jī)服務(wù)器管理節(jié)點(diǎn)初始化;St印2 虛擬機(jī)服務(wù)器管理節(jié)點(diǎn)獲取每個(gè)虛擬流媒體服務(wù)器設(shè)置的預(yù)留內(nèi)存θ i以及預(yù)留的網(wǎng)絡(luò)帶寬μ i;獲取當(dāng)前開啟虛擬流媒體服務(wù)器個(gè)數(shù)N;St印3 虛擬機(jī)服務(wù)器管理節(jié)點(diǎn)實(shí)時(shí)更新檢測每個(gè)虛擬流媒體服務(wù)器占用的網(wǎng)絡(luò)帶寬CiiW及占用內(nèi)存的Pi ;如果虛擬流媒體服務(wù)器集群網(wǎng)絡(luò)帶寬占用率^ = 2"=1γΝ ρ /過80%或者內(nèi)存占用率β = “#/ 超過90%,則跳轉(zhuǎn)到St印4,否則繼續(xù)檢測;/Z^1ASt印4:虛擬流媒體服務(wù)器從可分配的資源中,為將開啟的虛擬流媒體服務(wù)器設(shè)置預(yù)留內(nèi)存ΘΝ+1、網(wǎng)絡(luò)帶寬μ N+1,開啟虛擬流媒體服務(wù)器為用戶點(diǎn)播進(jìn)行服務(wù)。
3.根據(jù)權(quán)利1所述的基于Hadoop與虛擬流媒體服務(wù)器集群的流媒體點(diǎn)播方法,其特征在于,所述的觸發(fā)虛擬流媒體服務(wù)器回收機(jī)制的具體步驟為Stepl 虛擬機(jī)服務(wù)器管理節(jié)點(diǎn)初始化;St印2 虛擬機(jī)服務(wù)器管理節(jié)點(diǎn)獲取每個(gè)虛擬流媒體服務(wù)器設(shè)置的預(yù)留內(nèi)存θ i以及預(yù)留的網(wǎng)絡(luò)帶寬μ i;獲取當(dāng)前開啟虛擬流媒體服務(wù)器個(gè)數(shù)N;St印3 虛擬機(jī)服務(wù)器管理節(jié)點(diǎn)檢測當(dāng)前每個(gè)虛擬流媒體服務(wù)器占用網(wǎng)絡(luò)帶寬Cii以及占用內(nèi)存的Pi ;如果當(dāng)前虛擬流媒體服務(wù)器集群的帶寬占用率^ = 2"=120%以及內(nèi)存占用率
4.根據(jù)權(quán)利要求1所述的基于Hadoop與虛擬流媒體服務(wù)器集群的流媒體點(diǎn)播方法,其特征在于所述的虛擬流媒體服務(wù)器集群的數(shù)據(jù)緩存均衡部署策略為以前綴部署的方式將各個(gè)文件前綴部署在虛擬流媒體服務(wù)器集群上,具體步驟如下Stepl 根據(jù)Hadoop存儲(chǔ)集群對流媒體文件訪問的記錄,獲取在時(shí)間T內(nèi)服務(wù)器的熱點(diǎn)流媒體文件Qi,熱點(diǎn)流媒體文件定義是在時(shí)間T內(nèi),其訪問次數(shù)Ni大于Hadoop存儲(chǔ)集群文件總訪問次數(shù)N的5% ;Step2:根據(jù)熱點(diǎn)流媒體文件Qi的訪問的次數(shù)Ni,可以得到Qi的相對的熱度
5.根據(jù)權(quán)利要求1所述的基于Hadoop與虛擬流媒體服務(wù)器集群的流媒體點(diǎn)播方法,其特征在于所述的在新開啟的虛擬流媒體服務(wù)器上部署實(shí)時(shí)熱點(diǎn)文件的具體步驟為Stepl 獲取當(dāng)前Hadoop存儲(chǔ)集群對流媒體文件的訪問情況,設(shè)此時(shí)文件Qi存在Ni個(gè)請求訪問,Hadoop存儲(chǔ)集群響應(yīng)總請求數(shù)為N ;Step2 對于Ri滿足Ri > 5% M的文件θ i,將其加入實(shí)時(shí)熱點(diǎn)文件集合,記實(shí)時(shí)熱點(diǎn)文件集合為Pi, θ j, ... , θχ,θ y},且總共熱點(diǎn)文件為k個(gè);St印3 設(shè)此時(shí)虛擬流媒體服務(wù)集群已經(jīng)開啟的虛擬流媒體服務(wù)器個(gè)數(shù)為M,從熱點(diǎn)文件集合{ θ ρ θ j, ... , θ χ,θ y}中隨機(jī)選擇「A/Ml個(gè),將這些熱點(diǎn)文件在新開的虛擬流媒體服務(wù)器上進(jìn)行前綴部署。
6.根據(jù)權(quán)利1所述的基于Hadoop與虛擬流媒體服務(wù)器集群的流媒體點(diǎn)播方法,其特征在于,所述的間隔緩存方法為,Stepl 當(dāng)t時(shí)刻,用戶請求q到達(dá)虛擬機(jī)服務(wù)器管理節(jié)點(diǎn),查看當(dāng)前請求的流媒體文件 θ是否存在于虛擬流媒體服務(wù)器集群的前綴部署當(dāng)中。如果存在,跳轉(zhuǎn)至Step2 ;否則跳轉(zhuǎn)至St印3 ;Step2 對于存在流媒體文件θ前綴部署的虛擬流媒體服務(wù)器集合{S1;S2,. . .,Sn},選擇虛擬流媒體服務(wù)器中內(nèi)存占用率最小的響應(yīng)請求q,對用戶進(jìn)行服務(wù);當(dāng)此時(shí)此虛擬流媒體服務(wù)器已經(jīng)存在對Hadoop存儲(chǔ)集群流媒體文件θ的請求q',q'開始緩存讀取的數(shù)據(jù),且Hadoop存儲(chǔ)集群請求文件θ前綴之后的數(shù)據(jù),直到q'緩存下來的數(shù)據(jù)能夠?yàn)檎埱?q服務(wù);如果當(dāng)前虛擬流媒體服務(wù)器不存在對Hadoop存儲(chǔ)集群對流媒體文件θ的請求,則使用前綴緩存進(jìn)行服務(wù),并且從Hadoop存儲(chǔ)集群中獲取θ前綴文件的后續(xù)部分;Step3 查看虛擬流媒體服務(wù)器對文件θ在時(shí)間(t_At,t)時(shí)間內(nèi)是否存在相同的文件請求。如果存在相同的文件請求,跳轉(zhuǎn)至St印4 ;否則跳轉(zhuǎn)至St印5 ;Step4:將請求q分配給存在文件θ請求的虛擬流媒體服務(wù)器中內(nèi)存占有率最小的虛擬流媒體服務(wù)器m,m開始緩存文件θ的數(shù)據(jù)。此虛擬流媒體服務(wù)器m開始對請求q請求的文件θ進(jìn)行服務(wù),虛擬流媒體服務(wù)器使用前綴緩存進(jìn)行服務(wù),并且開始向Hadoop存儲(chǔ)集群請求文件θ前綴文件的后續(xù)部分,直到請求到在時(shí)間t開始緩存的數(shù)據(jù),利用間隔緩存的數(shù)據(jù)進(jìn)行服務(wù);Step5:如果不存在相同的文件請求,則分配一臺(tái)內(nèi)存占用率最小的虛擬流媒體服務(wù)器,開始響應(yīng)此次請求q的服務(wù);St印6 當(dāng)有新的請求的時(shí)候,重復(fù)至St印1,進(jìn)行循環(huán)服務(wù)。
7.根據(jù)權(quán)利1所述的基于Hadoop與虛擬流媒體服務(wù)器集群的流媒體點(diǎn)播方法,其特征在于,所述的動(dòng)態(tài)控制各個(gè)虛擬流媒體服務(wù)器上的緩存大小具體步驟如下Stepl 虛擬機(jī)服務(wù)器管理結(jié)點(diǎn)獲取當(dāng)前Hadoop存儲(chǔ)集群服務(wù)帶寬占有率Φ。如果Φ 大于90%,跳到St印2 ;如果Φ小于10%,跳到St印3 ;St印2 虛擬機(jī)服務(wù)器管理節(jié)點(diǎn)向各個(gè)虛擬流媒體服務(wù)器發(fā)送增加間隔緩存大小的消息;各個(gè)虛擬流媒體服務(wù)器收到增加間隔緩存消息,增加各個(gè)虛擬流媒體服務(wù)器的間隔緩存,大小為各個(gè)虛擬流媒體服務(wù)器可用內(nèi)存的一半;St印3 虛擬機(jī)服務(wù)器管理節(jié)點(diǎn)向各個(gè)虛擬流媒體服務(wù)器發(fā)送初始化間隔緩存大小的消息;各個(gè)虛擬流媒體服務(wù)器收到初始化間隔緩存消息,將各自的間隔緩存大小設(shè)置為初始值。
全文摘要
本發(fā)明公開了一種基于Hadoop與虛擬流媒體服務(wù)器集群的流媒體點(diǎn)播方法,虛擬流媒體服務(wù)器集群構(gòu)建在虛擬機(jī)服務(wù)器集群上,并直接從Hadoop存儲(chǔ)集群上獲取存儲(chǔ)的流媒體文件數(shù)據(jù),實(shí)現(xiàn)流媒體點(diǎn)播。特別地,該方法使用虛擬機(jī)服務(wù)器管理節(jié)點(diǎn)實(shí)時(shí)監(jiān)控虛擬流媒體服務(wù)器集群的內(nèi)存以及網(wǎng)絡(luò)帶寬資源使用情況,實(shí)現(xiàn)虛擬流媒體服務(wù)器的動(dòng)態(tài)調(diào)度;將Hadoop存儲(chǔ)集群上的熱點(diǎn)文件前綴,按照虛擬流媒體服務(wù)器集群均衡部署原則,在虛擬流媒體服務(wù)器上進(jìn)行部署;根據(jù)用戶前后請求的時(shí)序性,在虛擬流媒體服務(wù)器上采用了間隔緩存;根據(jù)虛擬流媒體服務(wù)器集群向Hadoop存儲(chǔ)集群的文件讀取帶寬,控制各個(gè)虛擬流媒體服務(wù)器上的緩存大小,觸發(fā)虛擬機(jī)調(diào)度策略。
文檔編號(hào)H04L29/06GK102333126SQ20111031261
公開日2012年1月25日 申請日期2011年10月15日 優(yōu)先權(quán)日2011年10月15日
發(fā)明者仵中翰, 劉均, 張未展, 杜海鵬, 王軍, 鄭慶華 申請人:西安交通大學(xué)