張丁


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