專利名稱:一種基于瘦客戶端流媒體服務系統(tǒng)的運行方法
技術領域:
本發(fā)明涉及一種基于瘦客戶端流媒體服務系統(tǒng)的運行方法,屬于電子信息技術領域。
背景技術:
隨著科技的不斷進步,成本昂貴、操作復雜的電腦不斷受到中小企業(yè)的排斥,一種新的終端-瘦客戶端正逐步走進人們的生活之中。瘦客戶端與網(wǎng)絡計算機的區(qū)別主要是前者無須硬盤,所有的數(shù)據(jù)處理工作都可以再服務器端完成。用戶將只擁有一臺顯示器、一個鍵盤、一個觸碰式設備(如有需要)和足夠的計算設備以完成顯示和通信功能。影音播放功能是很多用戶必選的服務方式之一。既然瘦客戶端沒有硬盤,那么影音文件只能存儲在服務器端。我們需要突破本地播放影音文件的傳統(tǒng)思想,將基于web的流媒體影音作為瘦客戶端的影音服務。流媒體又叫流式媒體,它是指商家用一個視頻傳送服務器把節(jié)目當成數(shù)據(jù)包發(fā)出,傳送到網(wǎng)絡上。用戶通過解壓設備對這些數(shù)據(jù)進行解壓后,節(jié)目就會像發(fā)送前那樣顯示出來。目前,國內外研究的重點在于網(wǎng)絡計算機中流媒體的應用,例如土豆,優(yōu)酷這些國內外主流的流媒體服務商?,F(xiàn)在的基于網(wǎng)絡計算機的流媒體服務大都是將流媒體的播放載體以插件的形式安裝到瀏覽器中,在現(xiàn)在基于瘦客戶端瀏覽器開發(fā)的流媒體播放插件或多或少會有些不足,有的插件占用的設備資源較大,使瀏覽器打開頁面緩慢,影響用戶操作;有的插件對媒體的播放效果支持并不是很好,媒體畫面播放不流暢等問題。由于該插件主要應用于資源受限的嵌入式設備中,出于平衡資源占用率和媒體播放效果的考慮,插件必須在每次處理媒體數(shù)據(jù)時根據(jù)當時網(wǎng)絡狀況動態(tài)地設定緩沖區(qū)的大小。如果緩沖區(qū)設置過小,網(wǎng)絡傳輸速度也比較慢,那么媒體文件播放的流暢性將會受到很大的影響,出現(xiàn)跳幀等情況。相反如果緩沖區(qū)設置過大,而網(wǎng)絡傳輸速度又比較快,那么該插件應用不但占用了過多的內存導致了整個嵌入式宿主設備的性能的降低,也造成了對網(wǎng)絡傳輸速度的浪費。已有的緩沖區(qū)長度計算方法比較復雜,不容易在瘦客戶端設備上實現(xiàn)?,F(xiàn)在的流媒體服務商大都在流媒體服務器端采用傳統(tǒng)存儲方式。當前的存儲方式一般為選用存儲容量非常大的存儲服務器,由于用戶數(shù)量的不斷攀升,對訪問量大的應用實現(xiàn)了可擴展、高可靠的集群部署(即lvs+keepalived的方式),但仍然有用戶反饋訪問慢的問題。通過排查個服務器的情況,發(fā)現(xiàn)問題的根源在于共享存儲服務器NFS。在這種網(wǎng)絡環(huán)境里,N個服務器通過NFS方式共享一個服務器的存儲空間,使得NFS服務器不堪重負。一旦NFS出現(xiàn)問題,后果不堪設想。這種存儲服務器文件對象的可用性比較低,當對文件設置高冗余度的時候,文件的讀寫性能會降低。且系統(tǒng)的架構不具有收縮性,存在單點故障,系統(tǒng)備份成本昂貴。這種傳統(tǒng)的網(wǎng)絡存儲系統(tǒng)采用集中的存儲服務器存放所有數(shù)據(jù),存儲服務器成為系統(tǒng)性能的瓶頸,也是可靠性和安全性的焦點,不能滿足大規(guī)模存儲應用的需要。如專利號為200610125390、發(fā)明名稱為一種基于集群均衡負載的流媒體服務器系統(tǒng)的專利,雖然采用負載均衡的調度算法,但是仍使用共享存儲的流媒體服務器,即此專利屬于此列。
發(fā)明內容
針對瘦客戶端流媒體服務的不足,本發(fā)明提出了一種基于瘦客戶端流媒體服務系統(tǒng)的運行方法。本發(fā)明的技術方案如下—種基于瘦客戶端流媒體服務系統(tǒng)的運行方法,該系統(tǒng)包括MFS流媒體服務器和瘦客戶端,MFS流媒體服務器包括元數(shù)據(jù)管理器、數(shù)據(jù)存儲服務器和客戶端;在瘦客戶端移植開源的多媒體播放器MPlayer,該方法步驟如下1)將流媒體文件存入基于MFS流媒體服務器,執(zhí)行MFS文件的寫操作;2)用戶使用瘦客戶端瀏覽流媒體服務頁面,點擊選擇觀看某一影音;3)流媒體頁面接收命令,將命令傳給流媒體服務器端;同時瘦客戶端啟動本地播放器,等待傳回來的流媒體文件的網(wǎng)絡地址;4)MFS的客戶端接到讀取流媒體文件的命令,開始執(zhí)行MFS文件的讀操作;5)讀取結束,將重新組合的流媒體文件的網(wǎng)絡地址返回給瘦客戶端;6)瘦客戶端收到流媒體文件的網(wǎng)絡地址將地址交給MPlayer ;7)MPlayer在RTSP流媒體協(xié)議下播放流媒體,完成用戶命令。上述運行方法中步驟1)中的執(zhí)行MFS文件的寫操作,步驟如下<1>向流媒體服務器添加流媒體文件,MFS客戶端接收請求;<2>元數(shù)據(jù)管理器檢查數(shù)據(jù)存儲服務器結構體時通過策略找出最適合存放數(shù)據(jù)塊的數(shù)據(jù)存儲服務器,從而達到數(shù)據(jù)存儲服務器負載均衡的目的,將數(shù)據(jù)存儲服務器的地址返回給MFS客戶端;<3>MFS客戶端將大文件分成一個個的數(shù)據(jù)塊將數(shù)據(jù)塊存入數(shù)據(jù)存儲服務器,且每個數(shù)據(jù)塊都會有3-4個數(shù)據(jù)塊的備份,具有很好的容錯性和災備恢復的能力,這樣的系統(tǒng)架構對用戶請求有更高的準確性;<4>數(shù)據(jù)存儲服務器同步存儲完成,返回成功信號給MFS客戶端;<5>MFS客戶端收到成功信號,并對元數(shù)據(jù)管理器回饋成功信息,寫數(shù)據(jù)完成。上述運行方法中步驟4)中的執(zhí)行MFS文件的讀操作,步驟如下①流媒體服務器客戶端接收讀請求,將請求傳給元數(shù)據(jù)管理器;
②根據(jù)元數(shù)據(jù)管理器端對數(shù)據(jù)存儲進行查詢得到請求的流媒體文件的數(shù)據(jù)元存放的真實的物理位置;③元數(shù)據(jù)管理器將位置信息傳給MFS客戶端;④MFS客戶端根據(jù)位置對分塊數(shù)據(jù)進行讀取和重新組合;⑤客戶端讀數(shù)據(jù)完成,返回給元數(shù)據(jù)管理器讀數(shù)據(jù)成功信號。上述MFS意思是以分布式方式存儲的文件。上述MPlayer意思是基于瘦客戶端的開源的多媒體播放器。上述RTSP流媒體協(xié)議意思是實時流傳輸協(xié)議,是TCP/IP協(xié)議體系中的一個應用層協(xié)議。本發(fā)明在瘦客戶端移植開源的多媒體播放器MPlayer的方法,是在支持交叉編譯
4的環(huán)境下,在X86架構的PC上進行交叉編譯、交叉調試,最終完成MPlayer在瘦客戶端的移植過程,通過本地啟動播放流媒體文件,具體步驟如下[1]通過編譯MPlayer源文件、解碼庫、⑶I文件,完成X86PC機上的MPlayer的實現(xiàn);[2]添加支持流媒體協(xié)議的解碼庫到MPlayer的編碼庫中,實現(xiàn)MPlayer支持播放流媒體功能;[3]在X86架構的PC上對MPlayer進行重新編譯,生成可執(zhí)行文件;[4]將生成的MPlayer文件下載到瘦客戶端,完成MPlayer瘦客戶端的移植。本發(fā)明在瘦客戶端移植開源的多媒體播放器MPlayer,MPlayer是以GNU通用公共許可證發(fā)布的,資源占用小,使用范圍廣,播放效果佳的媒體播放工具之一。此款軟件可在各主流操作系統(tǒng)使用,例如Linux和其他類Unix操作系統(tǒng)。MPlayer是建基于命令行界面,在各操作系統(tǒng)可選擇安裝不同的圖形界面。MPlayer負責播放基于RTSP流媒體協(xié)議的流媒體。服務器端存儲文件采用MFS,就是將數(shù)據(jù)分散存儲在多臺獨立的設備上。分布式網(wǎng)絡存儲系統(tǒng)采用可擴展的系統(tǒng)結構,利用多臺存儲服務器分擔存儲負荷,利用位置服務器定位存儲信息,它不但提高了系統(tǒng)的可靠性、可用性和存取效率,還易于擴展,能夠快速響應并發(fā)請求。MFS采用主從式的系統(tǒng)架構,將分布在各個范圍內的計算機,將他們未使用的分區(qū)進行統(tǒng)一管理使用的一種文件系統(tǒng),并且各節(jié)點可以根據(jù)需要隨時添加。具有高數(shù)據(jù)容錯性,文件系統(tǒng)安全性高。系統(tǒng)架構包括Master和Client。MFS對大文件進行分塊, Master接收client端設置復制因子命令,控制Chunk Server將特定的chunks復制到其他的Chunk krver上,達到數(shù)據(jù)冗余和容錯的目的。存儲在流媒體服務器端的流媒體文件安全性高,系統(tǒng)具有伸縮性。MFS的流媒體服務器高效的存儲流媒體文件并快速對流媒體請求做出響應。上述兩者直接的命令通信均通過中間聯(lián)系的基于Web的流媒體服務頁面的方式完成,服務頁面位于MFS系統(tǒng)的客戶端上。本發(fā)明的基于瘦客戶端的本地流媒體播放器,瘦客戶端基于Linux內核,MPlayer 的移植在支持交叉編譯的環(huán)境下進行,交叉編譯的環(huán)境是一套編譯器、連接器和Iibc庫等組成的集成開發(fā)環(huán)境。在宿主機上交叉編譯、交叉調式,目標機上運行被調試的程序。完成 MPlayer的瘦客戶端移植。首先通過編譯MPlayer源文件、解碼庫、⑶I文件、字體文件,完成X84計算機MPlayer的實現(xiàn)。其次,QT制作播放器的的GUI,并實現(xiàn)多種視頻文件的播放,最終完成向瘦客戶端的移植工作。本發(fā)明中涉及的Web頁面,可以管理瘦客戶端和服務器的通信,瘦客戶端的流媒體播放請求通過Web得到流媒體服務器的響應,將地址返回給瘦客戶端,在瘦客戶端的瀏覽器中定義一個動作,當瀏覽器接到用戶的請求就會調用本地的MPlayer播放器,瘦客戶端得到服務器返回的流媒體文件的網(wǎng)絡地址之后就會將地址傳遞給MPlayer,MPlayer在 RTSP流媒體協(xié)議下開始緩沖播放用戶所請求的流媒體影音文件。所述的基于MFS的流媒體服務器,包含3種角色a,元數(shù)據(jù)管理器,負責各個數(shù)據(jù)存儲服務器的管理,文件讀寫調度,文件空間回收以及恢復,多節(jié)點拷貝。b,數(shù)據(jù)存儲服務器,負責連接管理服務器,聽從元數(shù)據(jù)管理器調度,提供存儲空間。
C,客戶端,掛接遠程元數(shù)據(jù)管理器上所管理的數(shù)據(jù)存儲服務器,可以對數(shù)據(jù)存儲服務器進行讀寫操作。元數(shù)據(jù)管理器通過對數(shù)據(jù)存儲服務器的管理,可以在線擴容,體系架構可伸縮性強。本發(fā)明解決了瘦客戶端本地開發(fā)插件的技術問題、基于瀏覽器插件的低性能問題。解決了服務器端文件存儲系統(tǒng)架構的伸縮性和安全性以及對服務請求響應的實時性和
可靠性。
圖1是本發(fā)明運行方法的流程框圖。其中1)-7)為其各個步驟。圖2是本發(fā)明運行方法中步驟1)中的執(zhí)行MFS文件的寫操作的流程框圖。其中<1>-<5>為其各個步驟。圖3是本發(fā)明運行方法中步驟4)中的執(zhí)行MFS文件的讀操作的流程框圖。其中①-⑤為其各個步驟。
具體實施例方式下面結合附圖和實施例對本發(fā)明做進一步詳細描述,但不限于此。實施例一種基于瘦客戶端流媒體服務系統(tǒng)的運行方法,該系統(tǒng)包括MFS流媒體服務器和瘦客戶端,MFS流媒體服務器包括元數(shù)據(jù)管理器、數(shù)據(jù)存儲服務器和客戶端;在瘦客戶端移植開源的多媒體播放器MPlayer,該方法如圖1所示,步驟如下1)將流媒體文件存入基于MFS流媒體服務器,執(zhí)行MFS文件的寫操作;2)用戶使用瘦客戶端瀏覽流媒體服務頁面,點擊選擇觀看某一影音;3)流媒體頁面接收命令,將命令傳給流媒體服務器端;同時瘦客戶端啟動本地播放器,等待傳回來的流媒體文件的網(wǎng)絡地址;4)MFS的客戶端接到讀取流媒體文件的命令,開始執(zhí)行MFS文件的讀操作;5)讀取結束,將重新組合的流媒體文件的網(wǎng)絡地址返回給瘦客戶端;6)瘦客戶端收到流媒體文件的網(wǎng)絡地址將地址交給MPlayer ;7)MPlayer在RTSP流媒體協(xié)議下播放流媒體,完成用戶命令。上述運行方法中步驟1)中的執(zhí)行MFS文件的寫操作,如圖2所示,步驟如下<1>向流媒體服務器添加流媒體文件,MFS客戶端接收請求;<2>元數(shù)據(jù)管理器檢查數(shù)據(jù)存儲服務器結構體時通過策略找出最適合存放數(shù)據(jù)塊的數(shù)據(jù)存儲服務器,從而達到數(shù)據(jù)存儲服務器負載均衡的目的,將數(shù)據(jù)存儲服務器的地址返回給MFS客戶端;<3>客戶端將大文件分成一個個的數(shù)據(jù)塊將數(shù)據(jù)塊存入數(shù)據(jù)存儲服務器,且每個數(shù)據(jù)塊都會有3-4個數(shù)據(jù)塊的備份,具有很好的容錯性和災備恢復的能力,這樣的系統(tǒng)架構對用戶請求有更高的準確性;<4>數(shù)據(jù)存儲服務器同步存儲完成,返回成功信號給MFS客戶端;<5>MFS客戶端收到成功信號,并對元數(shù)據(jù)管理器回饋成功信息,寫數(shù)據(jù)完成。
上述運行方法中步驟4)中的執(zhí)行MFS文件的讀操作,如圖3所示,步驟如下①流媒體服務器客戶端接收讀請求,將請求傳給元數(shù)據(jù)管理器;②根據(jù)元數(shù)據(jù)管理器端對數(shù)據(jù)存儲進行查詢得到請求的流媒體文件的數(shù)據(jù)元存放的真實的物理位置;③元數(shù)據(jù)管理器將位置信息傳給MFS客戶端;④MFS客戶端根據(jù)位置對分塊數(shù)據(jù)進行讀取和重新組合;⑤客戶端讀數(shù)據(jù)完成,返回給元數(shù)據(jù)管理器讀數(shù)據(jù)成功信號。
權利要求
1.一種基于瘦客戶端流媒體服務系統(tǒng)的運行方法,該系統(tǒng)包括MFS流媒體服務器和瘦客戶端,MFS流媒體服務器包括元數(shù)據(jù)管理器、數(shù)據(jù)存儲服務器和客戶端;在瘦客戶端移植開源的多媒體播放器MPlayer,該方法步驟如下1)將流媒體文件存入基于MFS流媒體服務器,執(zhí)行MFS文件的寫操作;2)用戶使用瘦客戶端瀏覽流媒體服務頁面,點擊選擇觀看某一影音;3)流媒體頁面接收命令,將命令傳給流媒體服務器端;同時瘦客戶端啟動本地播放器,等待傳回來的流媒體文件的網(wǎng)絡地址;4)MFS的客戶端接到讀取流媒體文件的命令,開始執(zhí)行MFS文件的讀操作;5)讀取結束,將重新組合的流媒體文件的網(wǎng)絡地址返回給瘦客戶端;6)瘦客戶端收到流媒體文件的網(wǎng)絡地址將地址交給MPlayer;7)MPlayer在RTSP流媒體協(xié)議下播放流媒體,完成用戶命令。
2.如權利要求1所述的一種基于瘦客戶端流媒體服務系統(tǒng)的運行方法,其中步驟1)中的執(zhí)行MFS文件的寫操作,步驟如下<1>向流媒體服務器添加流媒體文件,MFS客戶端接收請求;<2>元數(shù)據(jù)管理器檢查數(shù)據(jù)存儲服務器結構體時通過策略找出最適合存放數(shù)據(jù)塊的數(shù)據(jù)存儲服務器,從而達到數(shù)據(jù)存儲服務器負載均衡的目的,將數(shù)據(jù)存儲服務器的地址返回給MFS客戶端;<3>MFS客戶端將大文件分成一個個的數(shù)據(jù)塊將數(shù)據(jù)塊存入數(shù)據(jù)存儲服務器,且每個數(shù)據(jù)塊都會有3-4個數(shù)據(jù)塊的備份,具有很好的容錯性和災備恢復的能力,這樣的系統(tǒng)架構對用戶請求有更高的準確性;<4>數(shù)據(jù)存儲服務器同步存儲完成,返回成功信號給MFS客戶端;<5>MFS客戶端收到成功信號,并對元數(shù)據(jù)管理器回饋成功信息,寫數(shù)據(jù)完成。
3.如權利要求1所述的一種基于瘦客戶端流媒體服務系統(tǒng)的運行方法,其中步驟4)中的執(zhí)行MFS文件的讀操作,步驟如下①流媒體服務器客戶端接收讀請求,將請求傳給元數(shù)據(jù)管理器;②根據(jù)元數(shù)據(jù)管理器端對數(shù)據(jù)存儲進行查詢得到請求的流媒體文件的數(shù)據(jù)元存放的真實的物理位置;③元數(shù)據(jù)管理器將位置信息傳給MFS客戶端;④MFS客戶端根據(jù)位置對分塊數(shù)據(jù)進行讀取和重新組合;⑤客戶端讀數(shù)據(jù)完成,返回給元數(shù)據(jù)管理器讀數(shù)據(jù)成功信號。
全文摘要
一種基于瘦客戶端流媒體服務系統(tǒng)的運行方法,屬電子信息技術領域。該系統(tǒng)包括MFS流媒體服務器和瘦客戶端,MFS流媒體服務器包括元數(shù)據(jù)管理器、數(shù)據(jù)存儲服務器和客戶端。瘦客戶端移植開源的MPlayer播放器。基于瘦客戶端的MPlayer,占用資源少,可以支持RTSP流媒體影音的播放。流媒體服務器采用MFS文件存儲的方式,對流媒體文件進行分塊寫操作,同時對數(shù)據(jù)塊進行同步備份,對流媒體文件讀取時,將分塊的數(shù)據(jù)元進行重新組合。流媒體文件具有高效準確的讀寫功能。本發(fā)明解決了瘦客戶端本地開發(fā)插件的的低性能問題。解決了服務器端文件存儲系統(tǒng)架構的伸縮性和安全性以及對服務請求響應的實時性和可靠性。
文檔編號H04L29/08GK102497359SQ20111039668
公開日2012年6月13日 申請日期2011年12月2日 優(yōu)先權日2011年12月2日
發(fā)明者黨飛, 馮新建, 張海霞, 王君君, 薛良飛, 顏廷芝 申請人:山東大學