張丁
摘 要 隨著互聯(lián)網(wǎng)行業(yè)的快速發(fā)展,在線教育行業(yè)開始蓬勃發(fā)展。目前的在線教育平臺缺少傳統(tǒng)的面授式培訓(xùn)教學(xué)模式中的學(xué)習(xí)研究氣氛、一對一交流和學(xué)員之間共同進步的機會。所以,在一般的在線教育平臺中加入實時互動元素必是大勢所需。本文通過使用 VMware vSphere對在線直播教育系統(tǒng)進行云部署,以此提高數(shù)據(jù)計算和推流效率來實現(xiàn)高效、穩(wěn)定的互動傳輸效果。
【關(guān)鍵詞】云部署 在線直播 教育系統(tǒng)
近年來,互聯(lián)網(wǎng)與智能手機迅速普及,4G技術(shù)飛速發(fā)展,網(wǎng)絡(luò)環(huán)境得到空前改善,反觀傳統(tǒng)線下教育模式,深受傳統(tǒng)因素掣肘的同時還面臨著人工成本飛漲等挑戰(zhàn);同時,受教育者個性化需求也導(dǎo)致教學(xué)模式逐步向小班及精英課程轉(zhuǎn)型,互聯(lián)網(wǎng)在線教育呈現(xiàn)蓬勃發(fā)展態(tài)勢。國外各大互聯(lián)網(wǎng)教育平臺或推出產(chǎn)品或獲得融資,國內(nèi)在線教育亦是百花齊放??煽v觀現(xiàn)下各系統(tǒng),均以資源提前錄入后學(xué)生依據(jù)需求回放作為主要教學(xué)形式,教學(xué)性有余而互動性不足,且產(chǎn)品同質(zhì)化嚴(yán)重。如何創(chuàng)新出流暢度高、時延性低、互動性強、更適宜當(dāng)前網(wǎng)絡(luò)環(huán)境及客戶需求的在線教育系統(tǒng)成為當(dāng)下研究的熱點問題。
一般的在線教育系統(tǒng)卻缺少傳統(tǒng)的面授式培訓(xùn)教學(xué)模式中的學(xué)習(xí)研究氣氛、現(xiàn)場教學(xué)、一對一交流和學(xué)員之間共同進步的機會。所以,在一般的在線教育系統(tǒng)中加入實時互動元素必是大勢所需。促進學(xué)員之間以及學(xué)員與教師之間的交流,學(xué)員之間可以相互取長補短,交流學(xué)習(xí)心得,學(xué)員對知識點的掌握印象更加深刻并增加了學(xué)員的學(xué)習(xí)興趣,學(xué)員之間共同進步。而教師與學(xué)員之間的互動交流,使得教師能清楚的了解到學(xué)員的學(xué)習(xí)進展以及教學(xué)側(cè)重的重難點,使教學(xué)達(dá)到事半功倍的效果。
1 在線直播技術(shù)
在線直播的主要技術(shù)核心是流媒體推送,而RTMP協(xié)議在這方面使用最為廣泛且高效。在國內(nèi),主流的直播網(wǎng)站,如斗魚、映客、YY秀、虎牙等都在使用RTMP協(xié)議。RTMP在視頻直播推流上雖然有天然的優(yōu)勢,但是國內(nèi)網(wǎng)絡(luò)帶寬較之發(fā)達(dá)國家仍然處于落后階段,所以必須借助云服務(wù)器來提高計算和處理能力,從而在一定程度上減少數(shù)據(jù)流傳輸時間。近幾年國內(nèi)使用較多的云部署技術(shù)是iVirtual和vSphere,iVirtual是vcenter的進化版,但是由于底層更新節(jié)奏緩慢,已經(jīng)無法適應(yīng)現(xiàn)今的大數(shù)據(jù)環(huán)境,被逐漸淘汰。而vSphere開放了WebService接口,面向廣大開發(fā)人員,集思廣益,在這種氛圍下,它的發(fā)展越來越成熟,優(yōu)點主要體現(xiàn)在引入了虛擬化層,而且卸載率越來越高,目前國內(nèi)主流的服務(wù)器租借公司如云海、浪潮等都在使用vSphere部署云服務(wù)。而在國外,vSphere的使用也已經(jīng)到了如火如荼的地步,oracle首先啟用了linux虛擬機遷移,將系統(tǒng)轉(zhuǎn)移到vSphere上,其他的IT公司如Microsoft、IBM、Apple等也在vSphere技術(shù)上有創(chuàng)新和改進。
通過云部署的方式,將服務(wù)器移植到云中,利用云庫中集成一體化的數(shù)據(jù)管理功能來實時處理視頻流,既能節(jié)省計算時間,又能減少租用服務(wù)器的成本。如果使用基于vSphere的技術(shù)將系統(tǒng)部署在阿里云上,vSphere的優(yōu)勢在于它可以直接安裝在物理服務(wù)器上,運行后形成虛擬層為終端云服務(wù)器提供訪問通道,其次它在數(shù)據(jù)安全管理、高可用性上也提供了可靠的保障。部署時使用的組件為Vmware ESX/ESXi Serve,這套組件對于vSphere的技術(shù)支持完善,同時能將IT資源組織集群,提高利用率。
2 云部署研究
使用云部署可以將系統(tǒng)部署在云端,利用云庫的計算和存儲能力縮短處理時間,這對于解決在線直播平臺的多人同時在線引起的并發(fā)和縮短數(shù)據(jù)推流時間具有重要意義。vSphere已擁有成熟的核心技術(shù)。使用它來進行云部署,有利于ESXi集群,并在集群中配置和啟用功能,功能生效后可以在ESXi中進行調(diào)度和協(xié)調(diào),因此在構(gòu)建虛擬化系統(tǒng)平臺和簡化維護人員工作量上有著非常明顯的優(yōu)勢。
更快地交付更多的服務(wù),并提供更大的靈活性,這是vSphere的宗旨。目前國內(nèi)主流的基于vSphere的部署技術(shù)有VMware,VMWare Server能夠?qū)μ峁┮恍┗镜膶τ谠破脚_中主機、虛擬機和存儲使用情況的統(tǒng)計。同大多數(shù)云部署方式不同,vSphere的部署方式并不繁瑣,甚至已經(jīng)被簡化為oneLine,只需要做好系統(tǒng)備份和遷移即可,如果中途出現(xiàn)故障,也會打印詳細(xì)的日志,如圖1所示。
為保證系統(tǒng)正常運行,需要為云服務(wù)器配備一臺備份服務(wù)器,性能與數(shù)據(jù)庫服務(wù)器相近。在正常工作狀況下,承擔(dān)數(shù)據(jù)庫備份工作;在云服務(wù)器中的數(shù)據(jù)出現(xiàn)丟失或者損壞時可以擔(dān)負(fù)期數(shù)據(jù)庫恢復(fù)的功能,保證系統(tǒng)順利運行。存儲空間使用NAS在線存儲,同時配置自動帶庫,實現(xiàn)離線存儲。
系統(tǒng)遷移的過程即系統(tǒng)虛擬化的過程,考慮到系統(tǒng)存儲的大小問題,在前期我們進行虛擬機容量規(guī)劃和運行內(nèi)存評估。通常情況下,可以按照圖2來計算所需。
在估算虛擬化的容量時,在只考慮CPU的情況下,可以將物理CPU與虛擬CPU按照1:4~1:10甚至更高的比例規(guī)劃,例如一臺物理的主機具有4個8核心的CPU,在內(nèi)存、存儲足夠的情況下,按照1:5的比例,則可以虛擬出4×8×5=160個vcpu,假設(shè)每個虛擬機需要2個vcpu,則可以創(chuàng)建80個虛擬機。在系統(tǒng)中,大多數(shù)虛擬機對CPU的要求并不是非常的高,即使為虛擬機分配了4個或更多的CPU,但實際上該虛擬機的CPU使用率只有10%以下,這時候所消耗的物理主機CPU資源不足0.5個。
其次,系統(tǒng)對內(nèi)存占用是最大、要求最高的,在實際使用中發(fā)現(xiàn),物理主機的內(nèi)存會接近80%甚至90%,因為在同一物理主機上,規(guī)劃的虛擬機數(shù)量較多,而且每個虛擬機分配的內(nèi)存又較大(總是超過該虛擬機實際使用的內(nèi)存),所以會導(dǎo)致主機可用內(nèi)存減少。因此,每個虛擬機需要的內(nèi)存在1GB~4GB甚至更多,還要為VMware ESXi預(yù)留一部分內(nèi)存。所以至少需要配置4個8核心CPU的主機, 96GB甚至更高的內(nèi)存,或者配置2個6核心CPU的主機, 32~64GB內(nèi)存。
在構(gòu)建虛擬化系統(tǒng)平臺并驗證其可用性之后,就可以進行物理到虛擬的遷移操作,及P2V操作,這樣在線實時視頻平臺和所有從屬于其中的數(shù)據(jù)都能通過虛擬化的方式移植到云庫當(dāng)中。數(shù)據(jù)遷移的過程類似存儲空間的遷移,即從物理服務(wù)器本地硬盤和存儲陣列遷移到云庫中的存儲陣列間,同時保證運行層不變,原理如圖3所示。
3 在線直播教育系統(tǒng)平臺設(shè)計
視頻直播網(wǎng)站最大的問題就是網(wǎng)絡(luò)帶寬的問題,以同時在線用戶量大約為5000為例,就意味著帶寬接近1G。而國內(nèi)的網(wǎng)絡(luò)運營商較多,部分用戶在電信,部分用戶網(wǎng)通,還有移動和聯(lián)通??紤]到各種用戶網(wǎng)絡(luò)環(huán)境,需要做跨運營商處理,這樣問題很多,網(wǎng)速也比較慢。一般這樣只有兩種解決方案,一種是購買多線機房,另外一種就是使用比較穩(wěn)定的云服務(wù)器。考慮到成本問題,我們決定使用阿里云的CDN服務(wù),將內(nèi)容分發(fā)至最接近用戶的節(jié)點,使用戶可就近取得所需內(nèi)容,提高用戶訪問的響應(yīng)速度和成功率。解決因分布、帶寬、服務(wù)器性能帶來的訪問延遲問題,解決跨運營商、跨地域全網(wǎng)覆蓋的音視頻分發(fā)的問題。
系統(tǒng)中涉及到的資源文件的存儲管理,如導(dǎo)師講義,錄制視頻,以及實時互動時用戶發(fā)送的圖片、音頻等??紤]到上傳下載流量在網(wǎng)絡(luò)帶寬的影響,使用oss對象存儲服務(wù)來保證用戶的在線預(yù)覽速度的同時,也能減少服務(wù)端的網(wǎng)絡(luò)帶寬壓力。
系統(tǒng)中即時消息模塊使用云數(shù)據(jù)庫Redis作為臨時數(shù)據(jù)存儲,以消息隊列的形式存在,作為內(nèi)嵌的List存在,可有效應(yīng)對流量突起,滿足實時的高并發(fā)高性能需求。如圖4所示。
系統(tǒng)服務(wù)端、PC版和后臺管理系統(tǒng)則使用.NET+MYSQL技術(shù)進行開發(fā),采用流行的B/S架構(gòu),并提供友好合理的用戶交互界面。
Android使用JAVA語言進行開發(fā),IOS使用Object-C語言進行開發(fā)。服務(wù)端通過WEBAPI給所有客戶端(PC端、IOS端、Android端)提供接口,保證系統(tǒng)業(yè)務(wù)邏輯處理的統(tǒng)一性。
視頻流的處理使用開源的nginx-rtmp-module來搭建RTMP流媒體服務(wù)器,可以高性能的并發(fā)大量連接。
4 結(jié)論
在線直播教育系統(tǒng)在使用VMware/EXSi組件封裝的vSphere底層核心部署到云端進行運作后。充分利用云計算和處理能力,縮短數(shù)據(jù)流轉(zhuǎn)時間,提高直播流暢性,減少人工維護成本。對用戶觀看直播的時延性、流暢性上起到了明顯的優(yōu)化效果。
參考文獻(xiàn)
[1]楊現(xiàn)民,田雪松.互聯(lián)網(wǎng)+教育:中國基礎(chǔ)教育大數(shù)據(jù)[M].電子工業(yè)出版社,2016-08-01.
[2]鄭勤華.互聯(lián)網(wǎng)+教育:中國MOOCs建設(shè)與發(fā)展[M].電子工業(yè)出版社,2016-08-01.
[3]Michael J. Kavis(邁克爾·J·凱維斯).讓云落地:云計算服務(wù)模式(SaaS、PaaS和IaaS)設(shè)計決策[M].電子工業(yè)出版社,2016-03-01.
[4]Tom White.Hadoop權(quán)威指南(第3版 修訂版)[Hadoop: The Definitive Guide,3rd Edition][M].清華大學(xué)出版社,2015-01-01.
[5]李亞,武潔,黃積武,黃碩.直播:平臺商業(yè)化風(fēng)口 社交網(wǎng)絡(luò)的盈利故事[M].機械工業(yè)出版社,2016-09-01.
[6]黃海林.視頻革命 重新定義電商[M].電子工業(yè)出版社,2016-07-01.
[7]梁森山.3D教育藍(lán)皮書[M].人民郵電出版社,2016-12-01.
[8]曹雨.虛擬實境狂潮:從購物、教育到醫(yī)療,VR/AR商機即將未來的十大產(chǎn)業(yè)![M].商周出版社,2016-10-08.
[9]胡衛(wèi)夕,胡騰飛.VR革命:虛擬現(xiàn)實將如何改變我們的生活[M].機械工業(yè)出版社,2016-11-01.
[10]虛擬化與云計算小組.云計算寶典――技術(shù)與實踐[M].電子工業(yè)出版社,2011-09-01.
作者單位
湖北工業(yè)大學(xué) 湖北省武漢市 430068