孫 恒
(山東大學(xué) 外國語學(xué)院,山東濟(jì)南 250100)
隨著信息產(chǎn)業(yè)的迅猛發(fā)展,互聯(lián)網(wǎng)規(guī)模的日益擴(kuò)大,網(wǎng)絡(luò)科技不斷進(jìn)步,基于互聯(lián)網(wǎng)的各種新型應(yīng)用也與人們的工作生活緊密連接在一起。2013年首屆中國移動學(xué)習(xí)展在北京召開。移動學(xué)習(xí)成為繼遠(yuǎn)程學(xué)習(xí)和數(shù)字化學(xué)習(xí)之后教育發(fā)展的新階段。2015年初教育部下發(fā)的《2015年教育信息化工作要點(diǎn)》中就表明,堅(jiān)持促進(jìn)信息技術(shù)與教育教學(xué)深度融合的核心理念,以信息技術(shù)在教育教學(xué)中的深入普遍應(yīng)用為導(dǎo)向,促進(jìn)教育教學(xué)模式創(chuàng)新,引導(dǎo)資源共建共享,提高教育質(zhì)量。由此可見,在線教育開始進(jìn)入爆發(fā)期,移動學(xué)習(xí)作為在線教育的一種形式也迅猛發(fā)展。移動學(xué)習(xí)絕不是網(wǎng)絡(luò)學(xué)習(xí)平臺和課程的簡單移植,而是更為符合移動狀態(tài)下的學(xué)習(xí)需求,如微型化、便攜化[1]。
通過挖掘現(xiàn)有的教學(xué)視頻的使用價(jià)值,可以更好地為移動學(xué)習(xí)提供資源支持。由于移動終端使用平臺的多樣化和資源受限的特性給系統(tǒng)的設(shè)計(jì)和應(yīng)用帶來新的挑戰(zhàn),突出體現(xiàn)在移動學(xué)習(xí)資源設(shè)計(jì)和開發(fā)、界面設(shè)計(jì)等各個方面。本文詳細(xì)闡述了基于跨平臺技術(shù)的流媒體點(diǎn)播系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)過程。因?yàn)樵谠O(shè)計(jì)中考慮到了跨平臺的特性,所以系統(tǒng)既能用傳統(tǒng)PC瀏覽器訪問,同時(shí)也可以在移動平臺上進(jìn)行使用[2]。
針對跨平臺移動學(xué)習(xí)的特點(diǎn)以及對資源的需求,給出基于跨平臺技術(shù)的流媒體點(diǎn)播系統(tǒng)平臺總體框架。因?yàn)槊嫦驅(qū)W校所有用戶提供 7*24小時(shí)在線流媒體服務(wù),所以系統(tǒng)的穩(wěn)定性和快速處理能力處于首要位置。我們采用J2EE架構(gòu),后臺數(shù)據(jù)庫采用MySQL進(jìn)行系統(tǒng)開發(fā)。
J2EE技術(shù)架構(gòu)可以簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題。它包含許多組件,主要可簡化且規(guī)范應(yīng)用系統(tǒng)的開發(fā)與部署,進(jìn)而提高可移植性、安全與再用價(jià)值。J2EE體系結(jié)構(gòu)提供中間層集成框架用來滿足無需太多費(fèi)用而又需要高可用性、高可靠性以及可擴(kuò)展性應(yīng)用的需求。通過提供統(tǒng)一的開發(fā)平臺,降低了開發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性,同時(shí)為現(xiàn)有應(yīng)用程序集成提供強(qiáng)有力的支持,完全支持EJB,具有良好的向?qū)еС执虬筒渴饝?yīng)用,可以添加目錄支持、增強(qiáng)安全機(jī)制,提高系統(tǒng)性能[3][4]。
基于跨平臺技術(shù)的流媒體點(diǎn)播系統(tǒng)采用B/S架構(gòu)、多層次多模塊化設(shè)計(jì),既是流媒體資源內(nèi)容采集、存儲、共享管理平臺,實(shí)現(xiàn)資源管理等多項(xiàng)功能;又滿足流媒體點(diǎn)播和流媒體直播等網(wǎng)絡(luò)應(yīng)用的需要,可以完善和提升校園網(wǎng)絡(luò)直播點(diǎn)播、媒資管理、內(nèi)容發(fā)布等應(yīng)用功能和服務(wù)質(zhì)量;同時(shí)也可以將各種類型的音視頻媒體、文字、圖表資料進(jìn)行數(shù)字化存儲和管理。
基于跨平臺技術(shù)的流媒體點(diǎn)播系統(tǒng)利用服務(wù)器集群和高性能路由器進(jìn)行軟硬件相結(jié)合的負(fù)載平衡和分布式數(shù)據(jù)處理。使用該組合性能穩(wěn)定可靠,是流媒體點(diǎn)播系統(tǒng)常用的解決方案。系統(tǒng)服務(wù)器物理架構(gòu)如圖1所示。用戶使用多平臺終端通過3G、4G或校園網(wǎng)進(jìn)行訪問,在通過防火墻過濾和用戶身份認(rèn)證后,就可以使用流媒體點(diǎn)播服務(wù)。系統(tǒng)根據(jù)服務(wù)器的軟硬件配置不同,進(jìn)行對應(yīng)功能分配。高性能服務(wù)器提供調(diào)度和播出節(jié)目,響應(yīng)用戶點(diǎn)播請求等核心業(yè)務(wù)服務(wù)。服務(wù)器集群根據(jù)訪問用戶量的多少,自動平衡過大流量負(fù)載,以保證出現(xiàn)大量并發(fā)訪問時(shí),用戶仍可正常訪問系統(tǒng)。
數(shù)據(jù)服務(wù)器包括用戶管理、資源管理及業(yè)務(wù)配置管理等模塊。用戶管理模塊提供對注冊用戶的全面管理;資源管理模塊提供對流媒體資源的管理,包括資源的信息查詢等。系統(tǒng)資源服務(wù)器包括系統(tǒng)資源管理等其他模塊實(shí)現(xiàn)對系統(tǒng)資源等信息內(nèi)容的監(jiān)控。媒體服務(wù)器向用戶提供流媒體服務(wù),其主要功能是對媒體內(nèi)容進(jìn)行收集、暫存和傳輸播放。媒體服務(wù)器的性能直接影響到流媒體點(diǎn)播應(yīng)用系統(tǒng)的服務(wù)質(zhì)量[5][6]。
由于點(diǎn)播系統(tǒng)同時(shí)支持跨平臺多終端訪問,因此,流媒體資源必須能同時(shí)兼容多種點(diǎn)播模式。我們使用了FLV流媒體播放格式,因?yàn)樗奈募w積小、流媒體質(zhì)量良好、加載速度快,在各種網(wǎng)絡(luò)環(huán)境下都能流暢觀看,并且具有保護(hù)版權(quán)的功能,非常適合網(wǎng)絡(luò)應(yīng)用,所以被眾多流媒體分享網(wǎng)站廣泛使用。
因?yàn)橐WC流媒體在各種平臺下都能夠流暢的播放,所以轉(zhuǎn)碼是本系統(tǒng)設(shè)計(jì)開發(fā)中的重點(diǎn)。轉(zhuǎn)碼流程圖如圖2所示。系統(tǒng)管理員添加流媒體文件,系統(tǒng)對資源的大小及名稱進(jìn)行對比,防止數(shù)據(jù)重復(fù)錄入。如果對比發(fā)現(xiàn)相同資源,則提示管理員進(jìn)行流媒體觀看進(jìn)行確認(rèn),如果確認(rèn)相同,則停止添加操作;如果沒有相同資源,則自動錄入系統(tǒng)。入庫分類結(jié)束后,調(diào)用轉(zhuǎn)碼工具進(jìn)行轉(zhuǎn)碼,轉(zhuǎn)碼時(shí)間長短由流媒體大小、碼率以及服務(wù)器 CPU負(fù)載決定。轉(zhuǎn)碼完成后,自動生成內(nèi)容頁面并發(fā)布到網(wǎng)站;轉(zhuǎn)碼失敗時(shí),顯示信息,提示出錯原因[7][8]。
圖1 系統(tǒng)服務(wù)器物理架構(gòu)
圖2 流媒體轉(zhuǎn)碼流程圖
數(shù)據(jù)庫采用MySQL作為數(shù)據(jù)平臺,因?yàn)樵赪eb應(yīng)用方面MySQL是目前最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)應(yīng)用軟件。MySQL關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,這樣就增加了讀取速度并提高了靈活性。由于MySQL體積小、速度快、總體擁有成本低,在很多Web應(yīng)用網(wǎng)站的開發(fā)中都選擇將其作為網(wǎng)站數(shù)據(jù)庫[9]。整個數(shù)據(jù)庫中最主要的表為用戶表MediaUser,數(shù)據(jù)表MediaFilm。用戶表MediaUser中,User_ID作為主鍵來對用戶進(jìn)行唯一性確定。其余字段作為補(bǔ)充條件對用戶其他信息進(jìn)行登記。數(shù)據(jù)表MediaFilm中,F(xiàn)ilm_ID作為主鍵,流媒體相關(guān)信息作為補(bǔ)充內(nèi)容標(biāo)示信息的唯一性。具體內(nèi)容如表1、表2所示,僅列出主要字段內(nèi)容,其他次要部分略。
表1 用戶表MediaUser
表2 數(shù)據(jù)表MediaFilm
系統(tǒng)由于支持跨平臺多終端訪問,所以使用了屏幕顯示自適應(yīng)模式,根據(jù)訪問端的狀況自動調(diào)整流媒體點(diǎn)播系統(tǒng)在不同平臺上的顯示內(nèi)容。從臺式電腦端訪問流媒體點(diǎn)播系統(tǒng)的界面如圖3所示,從移動端平臺訪問流媒體點(diǎn)播系統(tǒng)的界面如圖4所示。
圖3 電腦端訪問流媒體點(diǎn)播系統(tǒng)效果截圖
圖4 移動端訪問流媒體點(diǎn)播系統(tǒng)效果截圖
系統(tǒng)首頁代碼中使用 Javascript代碼來進(jìn)行訪問終端類型判斷,根據(jù)判斷類型進(jìn)入電腦端或者移動端對應(yīng)的網(wǎng)頁訪問模型[10]。代碼概要如下:
流媒體點(diǎn)播平臺系統(tǒng)功能主要由以下幾個模塊構(gòu)成。
(1)資源門戶:通過系統(tǒng)將資源通過門戶進(jìn)行展示,進(jìn)行下載和瀏覽點(diǎn)擊進(jìn)行統(tǒng)計(jì)排行。(2)離線轉(zhuǎn)碼:該模塊采用任務(wù)編碼方式,對上傳的文件媒體格式進(jìn)行自動轉(zhuǎn)碼。
(3)內(nèi)容管理模塊:系統(tǒng)以WEB方式對跨平臺發(fā)布的內(nèi)容進(jìn)行統(tǒng)一管理,支持對節(jié)目的各種操作功能;可以對節(jié)目信息進(jìn)行編輯;可以預(yù)覽影片內(nèi)容,并將畫面截圖作為海報(bào)。
(4)用戶管理:系統(tǒng)具備完備的用戶管理功能,按照用戶類型進(jìn)行管理,前臺用戶擁有節(jié)目的觀看權(quán)限,后臺用戶則擁有系統(tǒng)的管理權(quán)限??梢栽O(shè)置用戶組級別??梢詫Σ煌姆诸愒O(shè)置觀看等級,不同級別的用戶可以看到的節(jié)目不同。
(5)服務(wù)器管理:對服務(wù)器進(jìn)行全面的管理,包括查看和修改服務(wù)器信息、服務(wù)器運(yùn)行狀態(tài)監(jiān)控等;監(jiān)控服務(wù)支持實(shí)時(shí)監(jiān)控每臺服務(wù)器當(dāng)前的負(fù)載情況和運(yùn)行狀態(tài)等。
視頻轉(zhuǎn)碼是將已經(jīng)壓縮編碼的視頻碼流轉(zhuǎn)換成另一個視頻碼流,以適應(yīng)不同的網(wǎng)絡(luò)帶寬、不同的終端處理能力和不同的用戶需求。轉(zhuǎn)碼本質(zhì)上是一個先解碼,再編碼的過程,因此轉(zhuǎn)換前后的碼流可能遵循相同的流媒體編碼標(biāo)準(zhǔn),也可能不遵循相同的流媒體編碼標(biāo)準(zhǔn)。系統(tǒng)對視頻重編碼進(jìn)行了全新優(yōu)化,在服務(wù)器端通過調(diào)用轉(zhuǎn)換工具實(shí)現(xiàn)流媒體格式轉(zhuǎn)換[11]。關(guān)鍵處理代碼接口類定義如下:
使用該定義類接口可以迅速的將各種流媒體文件轉(zhuǎn)換成為FLV格式文件,在同等時(shí)間內(nèi)可以完成更多的流媒體轉(zhuǎn)換任務(wù)。
系統(tǒng)采用了服務(wù)器集群負(fù)載均衡模式,可以同時(shí)支持 2000個點(diǎn)播請求。我們使用 Apache JMeter開源工具對系統(tǒng)進(jìn)行WEB端壓力測試。用一臺高性能計(jì)算機(jī)使用多線程模擬出大量用戶同時(shí)訪問系統(tǒng)的情況,用來測試WEB系統(tǒng)的并發(fā)量上限。在軟件壓力測試結(jié)果中最重要的部分就是Error%[12]。由測試結(jié)果看到Error%為0.00%,說明出現(xiàn)錯誤的請求的數(shù)量為0,證明系統(tǒng)是經(jīng)得起多線程大并發(fā)量考驗(yàn)的。壓力測試報(bào)告如圖5所示。
本文在利用現(xiàn)有媒體資源的基礎(chǔ)上,通過交流座談等形式深入了解學(xué)校師生實(shí)際教學(xué)中對移動學(xué)習(xí)的需求,設(shè)計(jì)并實(shí)現(xiàn)了基于跨平臺技術(shù)的流媒體點(diǎn)播系統(tǒng),在新的網(wǎng)絡(luò)應(yīng)用環(huán)境下,使得大量寶貴教學(xué)視頻資源可以繼續(xù)發(fā)揮應(yīng)有的教學(xué)輔助作用。基于跨平臺技術(shù)的流媒體點(diǎn)播系統(tǒng)支持目前市場上所有種類的移動終端平臺和臺式電腦端平臺的流媒體傳輸服務(wù),系統(tǒng)通過對多種終端平臺的視頻資源進(jìn)行統(tǒng)一管理,實(shí)現(xiàn)各種視頻文件格式的快速高效轉(zhuǎn)碼能力。統(tǒng)一流媒體服務(wù)可以保護(hù)學(xué)校在教學(xué)上的原有投資,保證平臺在未來的無縫對接升級,可以為臺式電腦平臺用戶、手機(jī)平臺用戶和移動平板電腦用戶同時(shí)服務(wù)。經(jīng)過兩年的無故障運(yùn)行,充分證明系統(tǒng)中的流媒體資源可以在各種平臺環(huán)境下清晰、流暢的播放,用戶體驗(yàn)良好,并且滿足師生工作學(xué)習(xí)中對視頻資源訪問的實(shí)際需求。
我們正在有針對性的開發(fā)基于Android、IOS、Windows Phone等系統(tǒng)的專用APP程序,實(shí)現(xiàn)一鍵即可完成登陸、點(diǎn)播的功能。隨著跨平臺技術(shù)和互聯(lián)網(wǎng)的不斷前進(jìn),使流媒體點(diǎn)播系統(tǒng)更加貼近師生學(xué)習(xí)工作、更符合實(shí)際教學(xué)需求。
[1]教育部辦公廳.2015年教育信息化工作要點(diǎn)[OL].
[2]鮑松彬.融合移動學(xué)習(xí)的大學(xué)英語教學(xué)新模式[J].實(shí)驗(yàn)室研究與探索,2013,(4):144-147.
[3]閆俊伢,安俊秀. J2EE技術(shù)體系的探討與研究[J].實(shí)驗(yàn)室研究與探索,2010,(7):83-85.
[4]楊中科.J2EE開發(fā)全程實(shí)錄[M].北京:清華大學(xué)出版社,2007: 186-188.
[5]莫志超,張未展,王軍等.基于云計(jì)算的P2P流媒體服務(wù)器集群部署算法[J].計(jì)算機(jī)應(yīng)用, 2014,(2):365-368.
[6]沈超莉,何明昌,郭雅雯.基于文件系統(tǒng)的視頻教學(xué)流媒體播放平臺設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2012,(2):138-140.
[7]賈振華. Java語言程序設(shè)計(jì)[M].北京:中國水利水電出版社,2010:195-198.
[8] Joyce F. Fundamentals of Java programming[M].北京:科學(xué)出版社,2012:242-245.
[9] Baron S,Peter Z,Vadim T著.寧海元,周振興,彭立勛等譯.高性能MySQL[M].北京:電子工業(yè)出版社,2013:86-92.
[10]鐘迅科.基于HTML5的跨平臺移動Web應(yīng)用與混合型應(yīng)用的研究[J].現(xiàn)代計(jì)算機(jī), 2014,(13):32-36.
[11] Ken B,Lee C著施宏斌譯.HTML5多媒體開發(fā)指南[M].北京:清華大學(xué)出版社,2013:201-206.
[12]溫素劍.零成本實(shí)現(xiàn)Web性能測試:基于Apache JMeter [M].北京:電子工業(yè)出版社,2012:189-193.