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