【摘要】文章就云存儲如何與流媒體技術結合來提供教育服務進行了研究、設計并實現了基于云存儲的流媒體教育服務模型,以期在某種程度上解決傳統流媒體技術的不足,實現教育資源充分共享,提高學習者的學習效率。
【關鍵詞】云存儲;流媒體;HDFS
【中圖分類號】G40-057 【文獻標識碼】A 【論文編號】1009—8097(2011)02—0108—04
目前大部分流媒體技術應用主要是基于傳統的B/S模式,普遍存在服務器性能不足、帶寬不夠、資源重復建設、資源存儲空間不夠等問題,導致流媒體服務系統能力降低?;赑2P的流媒體技術可以用普通節點的資源為其它節點提供服務以解決帶寬不夠的問題,但會過多的占用客戶端資源、對學習終端性能提出了更高的要求,同時也沒有解決服務器瓶頸及海量數據存儲的問題。云存儲與流媒體技術結合,把數據量比較大的流媒體資源分割切塊并分布式地存儲在不同的服務器中,采用負載均衡技術對各個數據節點進行調配,緩解服務器與網絡的壓力,有效的解決了流媒體應用的諸多不足問題。同時還可以節省系統成本與管理費用、簡化教育資源的管理、真正實現教育資源的充分共享。
一 流媒體教育資源現狀
流媒體(Streaming Media)是運用智能流技術,以視音頻流 (Video-Audio Stream)的形式進行數字媒體的傳送,使人們在很低的帶寬環境下也可以接收到連續不斷的較高品質的視音頻節目的技術,它涉及到流媒體數據的采集、壓縮、編碼、存儲、傳輸及網絡通信等多項集成技術。流媒體的特點在于用戶無需下載整個視頻或音頻資源,而是由流媒體服務器實時連續的向用戶提供流式數據,實現真正的邊下載邊播放[1]。教育資源與流媒體技術的結合,極大的豐富了教育信息資源,提高了信息資源的利用率。它們的結合打破了傳統的時間與空間的限制、在更大范圍內實現了資源的共享,使得學習者可以根據需要隨時隨地進行學習,實現了真正的自主學習。同時教育資源以聲音、動畫等多種方式結合來表現教學內容,使其具有較強的交互性、給學習者多種感官刺激、具有豐富的感染力、有利于教學信息的傳遞。
目前的教育資源與傳統的流媒體技術的應用主要是以B/S或P2P模式來實現的,在實際應用中還存在諸多不足[2]:
資源利用率不高、重復建設問題突出:采用獨立的資源庫,沒有統一的標準,庫與庫之間相互隔離,資源重復建設。
資源相對集中、造成系統瓶頸與網絡阻塞:傳統的流媒體服務采用單服務器、單存儲器來部署。當大量用戶并發訪問時,流媒體服務器CPU的性能急劇下降、I/O總線負載嚴重、網絡帶寬不足。此外,當流媒體服務器或存儲器發生故障時,流媒體服務將不能被使用,因此采用這些模式部署的流媒體服務可靠性與可用性不強。
數據存儲成本高:通常情況下教育視頻資源所占的存儲容量比較大,需要購買大量昂貴的大容量存儲設備才能滿足數據存儲的要求。
傳統流媒體技術的諸多不足,難以滿足教師及學生的需求,某種程度上造成了學校教育資源的嚴重浪費,另一方
面也造成了學習者學習效率低下,阻礙了學習者的自主學習。
二云存儲與流媒體
1 云存儲
云計算(Cloud Computing)是分布式處理(Distributed Computing)、并行處理(Parallel Computing)和網格計算(Grid Computing)的發展,或者說是這些計算機科學概念的商業實現[3]。它是透過網絡將龐大的計算處理程序自動分拆成無數個較小的子程序,再交由多部服務器所組成的龐大系統經計算分析之后將處理結果回傳給用戶[4]。云存儲是在云計算概念上延伸和發展出來的一個新的概念:它是指通過集群應用、網格技術或分布式文件系統等功能,將網絡中大量各種不同類型的存儲設備通過應用軟件集合起來協同工作,共同對外提供數據存儲和業務訪問功能的一個系統。
2 云存儲技術對流媒體教育資源的影響
教育資源與云存儲相結合,突破了傳統的資源存儲集中化管理模式,它將教育資源存儲在云端的各個分布的數據結點上,解決了傳統模式中存儲容量不足、服務器性能瓶頸等一系列的問題。云存儲與流媒體技術相結合,可以有效解決傳統流媒體教育服務的不足。
(1)解決了服務器與網絡瓶頸??蛻舳藦牧髅襟w服務器中獲取資源的位置后,客戶端就直接與云端的各個數據結點進行數據交互,避免了服務器性能瓶頸及網絡阻塞。
(2) 提高了可靠性與可用性。傳統的流媒體服務平臺采用單服務器、單存儲器模式來部署,一旦服務器或存儲設備發生故障,則服務將不能再被使用。而基于云存儲的流媒體將教育資源分散地分布在云端的各個節點當中,而且每個數據都有備份,即使云中的某臺服務器被迫中斷,也不會影響系統的正常使用。
(3) 存儲成本低,擴展性好。傳統的流媒體使用專業的存儲設備存儲資源,昂貴的設備致使成本大幅度提高;而基于云計算的流媒體服務將資源存儲在不同的數據節點,從而節省了成本;同時云中的節點可以在不影響數據完整性的情況下動態的添加或刪除,提高了服務平臺的可擴展性。
(4)易于管理,提高服務性能?;谠拼鎯Φ牧髅襟w服務平臺是將教學視頻資源存儲在云中,有利于對資源進行統一的管理,提高資源的使用率。云中的數據是分布式存儲的,它能夠很好的分擔存儲的壓力,從而提高系統的性能。
3 HDFS
Hadoop[5]框架是Apache基金會開發的開源項目。Hadoop實現了HDFS文件系統,提供了簡單易用的編程接口,使Hadoop成為易于處理和保存大量數據的分布式云計算平臺,具有可擴展性強、成本低、效率高、安全性好等特點。
HDFS(Hadoop Distributed File System)是Hadoop的分布式文件系統,具有高容錯性,可以部署在低價的硬件設備之上。HDFS文件系統是一種典型的中從式文件分布系統,該文件系統效仿Google的GFS文件系統而設計。HDFS很適合那些有大數據集的應用,并且提供了對數據讀寫的高吞吐率。
HDFS由一個名叫Namenodede 主節點和多個名叫Datanode的子節點組成。
Namenode:是文件系統的主節點。它把文件分成幾塊,并通過集群的復制分配給容錯。namenode持有所有關于儲存文件的元數據信息,并可以起到一個接口的作用,使群體的數據塊被視為普通文件。
Datanodes:是HDFS的從節點。該節點用于物理存儲數據,根據客戶端的讀寫請求提供服務,按照Namenode的指示執行數據復制任務,同時也作為datanode提供數據共享。

從上面的圖中可以看出,Namenode,Datanode,Client之間的通信都是建立在TCP/IP的基礎之上的。當Client要執行一個寫入的操作的時候,命令不是馬上就發送到Namenode,Client首先在本機上臨時文件夾中緩存這些數據,當臨時文件夾中的數據塊達到了設定的Block的值(默認是64M)時,Client便會通知Namenode,Namenode便響應Client的RPC請求,將文件名插入文件系統層次中并且在Datanode中找到一塊存放該數據的block,同時將該Datanode及對應 的數據塊信息告訴Client,Client便這些本地臨時文件夾中的數據塊寫入指定的數據節點。
HDFS采取了副本策略,其目的是為了提高系統的可靠性,可用性。HDFS的副本放置策略是三個副本,一個放在本節點上,一個放在同一機架中的另一個節點上,還有一個副本放在另一個不同的機架中的一個節點上[6]。
三 云存儲的流媒體教育服務模型設計與實現
針對傳統流媒體在教育應用中的不足,設計了基于云存儲的流媒體教育服務模型。該模型將各種教育視頻、音頻、動畫等資源分布存儲在云中的各個數據節點中,當用戶訪問資源時,流媒體服務器會響應用戶的請求,并從資源列表中把資源的所在節點的地址及數據塊的地址返回給用戶,用戶得到數據節點的地址和數據塊的地址后,將與各數據節點進行通訊,從而獲得所需要的視頻、音頻資源。
1 云存儲流媒體教育服務理論模型
基于云存儲的流媒體教育服務模型分為三部分,從上到下依次為用戶訪問層、數據處理層和云端存儲層。
用戶訪問層:它以portal、Web Services、終端播放器、節目系統及VOD等多種形式呈現,主要是提供服務,與用戶進行交互,使用戶只需要點擊鼠標就可以獲取所要的資源。
數據處理層:它由流媒體服務平臺和提供各種數據處理的模塊組成。流媒體服務平臺主要是提供流媒體服務,負責接受客戶端HTTP請求,從資源列表中獲取它所要訪問的資源在云端存儲層的數據節點及數據塊的位置,并返回給客戶端。流媒體服務平臺可以用Real Networks的Real System、Windows Media Technology、Quick Time、FLV等軟件來構建。數據處理模塊用以完成數據的處理,它負責用戶管理、資源管理、目錄管理、資源采集、轉碼、系統性能監控等服務的管理。數據存儲模塊負責與云端存儲層的名稱結點進行交互并管理教育資源的存儲。數據訪問模塊負責將用戶的請求重定向到云端存儲層中的數據結點上。
云端存儲層:云端存儲層對使用者來說,不是指某一個具體的設備,而是指由若干個存儲設備和服務器所構成的集合體。云端存儲層的應用軟件與存儲設備之間利用集群服務、HDFS和虛擬化等技術,通過光纖或局域網進行互聯,實現云端存儲層中多個存儲設備之間的協同工作,并對外提供存儲服務。它由存儲教育資源的多臺服務器及其存儲設備(NAS、SAN、DAS)、應用軟件等多個部分組成,并在每臺服務器中安裝Hadoop軟件來搭建云計算環境,利用HDFS分布式文件系統來實現云計算的分布式存儲,對每個數據節點進行調度,實現資源的負載均衡,同時最大程度的提高服務器的利用率。

2 基于云存儲的流媒體服務實現過程
對于用戶來說使用基于云存儲的流媒體服務主要側重于上傳、下載資源與在線訪問等操作。鑒于流媒體資源大容量,高帶寬要求等特點,基于云存儲的流媒體服務模型需要用特殊的技術來處理,以提高系統的可用性。
資源存儲處理過程:首先用戶需要登錄流媒體資源服務平臺,經過服務器端的身份認證后,具有上傳資源權限的用戶,選擇所要上傳的資源并向服務器端發送請求。對于流媒體這樣容量比較大的資源,Client向主服務器的NameNode節點發起文件寫入的請求。NameNode根據文件大小和文件塊配置情況,返回給它所管理DataNode的信息。主服務器將根據文件的大小進行切塊計算(本文測試中按照10MB/計算,不到10MB的也作為一塊)。接著主服務器將動態判斷存儲節點的狀態,將文件均衡分配到各個節點。最后將文件信息、文件塊信息(所屬文件ID、塊順序、快名、塊大小、對應節點的IP等)插入到數據庫中。然后服務器將文件塊信息以XML格式發送給客戶端,客戶端為每個存儲節點建立一個文件隊列,將文件塊并行上傳到對應的節點。當存儲節點每接收一個文件塊后,向服務器發送一條確認信息,服務器端數據庫將文件快狀態改為上傳成功,當整個文件快都上傳成功,服務器將數據庫中將該文件狀態改為上傳成功。
在資源上傳過程中,當某一個數據塊存儲空間已使用完時,系統將會自動申請下一個數據塊,直到數據存儲完畢。同時,NameNode會為所存儲的資源完全建立一個副本(副本的數據結點及數據塊會記錄在數據處理層的資源列表中),這樣當主存儲文件發生故障時,保障系統的高可用性。而且在整個過程中數據結點會周期性地發送一個心跳信息到名字結點,DataNode收到后,并給予響應。當NameNode得到了DataNode及時的響應,便能確保數據結點是可用的。當網絡斷開或是故障時,會使DataNode與NameNode失去聯系,NameNode沒有定時收到心跳信息,就標記這些數據結點不可用。此時,它會開始對故障的視、音頻資源重新復制。NameNode檢查所有需要復制的數據塊,并開始把它們復制到其它可用的DataNode中去。同時它會通知數據處理層資源存儲的地址已更改,讓其更新資源列表中信息存放的地址。這樣動態更新資源列表中的地址來確保服務正常的運行。

下載流媒體資源則是上傳的一個逆過程:當用戶登錄流媒體服務系統,針對某一個視/音頻資源向服務器發送下載/請求,服務器收到下載請求后,從數據庫中搜索到該資源存儲的DataNode及數據塊的地址,并將文件塊的信息以XML格式發送給客戶端。客戶端得到了DataNode與數據塊地址的響應后,為每個存儲節點創建一個線程,將文件塊并行下載到本地計算機臨時文件夾中,客戶端下載完所有的文件塊后,將其整合為一個完整的文件,并刪除臨時文件夾中的數據塊。
四 性能測試
為了測試基于云存儲流媒體服務的性能,我們用10臺普通電腦組成云存儲服務器,其中1臺設置為名稱節點,9臺設置為數據節點。名稱節點和數據節點的配置為雙核CPU,2GB內存,320G硬盤,一塊100M全雙工網卡,并以一臺交換機相連。兩臺交換機之間使用1 Gbps的鏈路相連。每臺電腦上安裝Red Hat 9.0 Linux操作系統,Tomcat5.5,MySQL5.0,JDK1.6.0等開發軟件,并選用Hadoop-0.20.3版本來搭建云環境(關于Hadoop的安裝過程詳見Hadoop官方網站)。
依照測試結果,我們分別對傳統流媒體服務器與基于云存儲的流媒體服務器從使用管理、數據安全性、存儲性能等多個方面進行了比較。

由上圖所示的數據讀取速度的結果我們可以看出,隨著客戶端數量的逐漸增多,傳統的流媒體服務器數據讀取速度在達到一個峰值后逐漸在降低,而基于云存儲的流媒體服務隨著客戶端數量的逐漸增多,讀取速度并沒有因為負載過大而減小。但是當客戶端達到一定數量的時候,數據讀取增長的速率有一定的減緩,這是由于隨著讀取者的增多,多個讀取者同時從一個數據節點讀取數據的可能性會增加,因而讀取性能會有所下降。
五結束語
隨著云計算的發展,云存儲與流媒體技術的結合為校園資源的建設注入新的活力,它能在更大范圍內為學校節省資金、提高教學效率?;谠拼鎯Φ牧髅襟w必然會在教育中得到廣泛的應用。
參考文獻
[1] 蒲善榮.流媒體技術特點及其在現代教學模式中的作用探究[J]. 四川文理學院學報(自然科學) ,2009,19(2):89-92.
[2] 岳曉融.流媒體技術在校園網中的應用研究[J].中國電化教育,2005,222:91-93.
[3] 李開復.云計算[J].中國教育網絡,2008,(6):34.
[4] 尚建新,解月光,王偉.云計算模型下的PLE構建初探[J].現代教育技術.2009,19(4):46-49.
[5] [OL].
[6] 高宏卿,汪浩. 基于云存儲的教學資源整合研究與實現[J].現代教育技術,2010,(3):97-101
Research on Educational Streaming Media Service Based on Cloud Storage
GAO Hong-qingGUO Wen-luZHAI Yan-jie
(Department of ComputerInformation Technology, Henan Normal University, Xinxiang,Henan 453007,China)
Abstract: In this paper, how cloud storage is combined with streaming media technologies to provide educational services is studied. The educational services model of streaming media based on cloud storage is designed and achieved to address the deficiencies of traditional streaming media technology. The full sharing of educational resources is realized and the learning efficiency of learners is improved.
Keywords: cloud storage; streaming media; HDFS
*基金項目:河南省教育信息化項目“基于網格技術的數字化校園應用研究”(編號2006-13)。
收稿日期:2011年1月16日
編輯:紅葉