王金環(huán)
摘 要: 隨著云平臺和直播系統(tǒng)的迅速發(fā)展,用戶體驗(yàn)越來越受歡迎。文章針對目前校園直播系統(tǒng)發(fā)展的現(xiàn)狀,分析現(xiàn)有數(shù)據(jù)在服務(wù)器上傳輸?shù)男阅苤笜?biāo),結(jié)合云服務(wù)器現(xiàn)有模式、基礎(chǔ)架構(gòu),對現(xiàn)有的校園直播系統(tǒng)進(jìn)行升級改造,從而有效改善負(fù)載不均衡的問題,提高校園直播視頻的服務(wù)性能,實(shí)現(xiàn)系統(tǒng)的高可用性和彈性擴(kuò)展。
關(guān)鍵詞:云服務(wù)器;軟件MCU;校園直播系統(tǒng);Web Socket
0 引言
隨著互聯(lián)網(wǎng)和云計(jì)算技術(shù)的迅速發(fā)展,人們對視頻直播的要求也越來越高,每個(gè)用戶都希望能快速無間斷地收到高清的視頻直播內(nèi)容,校園直播也隨之流行起來。但是,當(dāng)新用戶急劇增長時(shí),傳統(tǒng)的直播系統(tǒng)會出現(xiàn)服務(wù)器承受負(fù)載不均的問題,出現(xiàn)一臺服務(wù)器超載工作而其他服務(wù)器處于空閑的情況。視頻服務(wù)器通過頻繁切換來滿足用戶服務(wù)需求,不能保障用戶端的服務(wù)質(zhì)量。在這種情況下,為了對現(xiàn)有直播系統(tǒng)進(jìn)行改進(jìn),本文提出了基于云計(jì)算的校園直播系統(tǒng),該系統(tǒng)引入了云計(jì)算服務(wù)器。云是一個(gè)包含大量可用虛擬資源的資源池。這些虛擬資源可以根據(jù)不同的負(fù)載動態(tài)地重新分配,提升資源利用率,通過千萬臺互聯(lián)的電腦和服務(wù)器進(jìn)行數(shù)據(jù)運(yùn)算。云計(jì)算就是一個(gè)大的虛擬資源池,提供內(nèi)存、虛擬數(shù)據(jù)中心、存儲等各項(xiàng)服務(wù)。大多數(shù)企業(yè)或者高校正處于信息化建設(shè)初級階段。企業(yè)級直播平臺面向的客戶主要有高校、政府機(jī)構(gòu)和社會企業(yè)。
運(yùn)用軟件工程的設(shè)計(jì)思想,采用高內(nèi)聚、低耦合的模塊化,設(shè)計(jì)一套完整的面向企業(yè)直播系統(tǒng)?;谥辈ピ破脚_,系統(tǒng) Web 客戶端采用HTML+CSS+Java Script的開發(fā)框架,后端使用Java 語言開發(fā)框架Spring Boot 和 My Batis,數(shù)據(jù)庫采用 Mysql和 Redis緩存數(shù)據(jù)庫,并結(jié)合敏感詞過濾DFA算法和Web Socket技術(shù),采用DFA(Deterministic Finite Automaton)算法和Web Socket技術(shù)相結(jié)合,實(shí)現(xiàn)了穩(wěn)定、可靠的企業(yè)直播系統(tǒng),讓校園直播系統(tǒng)更加安全、更加方便。
1 直播系統(tǒng)設(shè)計(jì)
在瀏覽器中,所有的數(shù)據(jù)交換都必須遵守HTTP協(xié)議,數(shù)據(jù)必須在完全傳輸完畢后才能由JavaScript進(jìn)行處理,在這種情況下是無法實(shí)現(xiàn)實(shí)時(shí)流數(shù)據(jù)傳輸。傳統(tǒng)的云直播服務(wù)則需要提供視頻云轉(zhuǎn)碼的功能,以便兼容各種設(shè)備。本系統(tǒng)借助Web Socket技術(shù)的開發(fā)應(yīng)用,實(shí)現(xiàn)在瀏覽器上流傳輸,使得視頻實(shí)時(shí)直播成為可能。本系統(tǒng)實(shí)踐了這個(gè)過程,使用JavaScript在瀏覽器上對視頻流進(jìn)行De-multiplexing,Decoding,Encoding,Multiplexing,并根據(jù)瀏覽器對視頻格式的支持情況,針對直播云服務(wù)器提供的視頻轉(zhuǎn)發(fā)功能,基于最新的接口,將視頻的解碼、編碼、渲染等操作集成到客戶端,通過自動選擇視頻流的處理方式,最后實(shí)現(xiàn)實(shí)時(shí)直播。視頻直播服務(wù)器不再需要處理視頻流,客戶端通過Web Socket接受視頻數(shù)據(jù)并根據(jù)瀏覽器所支持的編碼格式進(jìn)行重編碼。本直播系統(tǒng)的優(yōu)點(diǎn)主要有底帶寬要求、低服務(wù)端配置、延遲低等。
在對直播行業(yè)進(jìn)行分析研究的基礎(chǔ)上,結(jié)合云平臺技術(shù),開發(fā)滿足校園需求的直播系統(tǒng),從而滿足校園的需求和系統(tǒng)的安全性和高效性。
1.1 校園直播系統(tǒng)需求分析
本研究通過調(diào)研問卷和小程序等對西安培華學(xué)院的學(xué)生和教職工進(jìn)行調(diào)研分析,主要包括學(xué)生及其生活方面的問題,根據(jù)調(diào)研分析結(jié)果制定合理的需求分析方案。內(nèi)容包含:校園的圖書閱讀直播分享;考研小組經(jīng)驗(yàn)直播分享;考公務(wù)員、教師資格證等各種類職業(yè)資格證書復(fù)習(xí)經(jīng)驗(yàn)直播分享;健美健身運(yùn)動經(jīng)驗(yàn)直播視頻分享;減肥經(jīng)驗(yàn)直播視頻分享;校園美食經(jīng)驗(yàn)直播視頻分享等。
1.2 基于云平臺的校園直播服務(wù)系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)
基于云平臺的校園直播服務(wù)系統(tǒng)模塊主要包括:直播點(diǎn)播管理、計(jì)費(fèi)管理、賬號權(quán)限管理和網(wǎng)站管理(見圖1)。
(1)直播、點(diǎn)播管理主要包括:點(diǎn)播、直播修改,直播轉(zhuǎn)點(diǎn)播,視頻資料上傳等功能。
(2)校園直播系統(tǒng)計(jì)費(fèi)管理主要包括:手機(jī)微信支付、校園用戶統(tǒng)計(jì)、校園直播統(tǒng)計(jì)。
(3)校園直播系統(tǒng)賬號權(quán)限管理主要包括:用戶權(quán)限設(shè)置驗(yàn)證、子賬號設(shè)置、用戶個(gè)人信息管理、公眾號管理。
(4)網(wǎng)站管理主要包括:設(shè)置直播類型和設(shè)置輪播視頻。
1.3 校園直播系統(tǒng)采用的關(guān)鍵技術(shù)
Web Socket可以用于Web瀏覽器與服務(wù)器之間的相互通信,它是基于TCP協(xié)議實(shí)現(xiàn)的,經(jīng)過初始的握手過程,以及之后它們之間的相互數(shù)據(jù)傳輸過程。它的作用在于使用Web Socket的客戶端與使用Web Socket服務(wù)器相互傳輸消息時(shí),在服務(wù)端可以不用打開太多的HTTP連接,達(dá)到資源的節(jié)約。校園直播系統(tǒng)后臺功使用Spring + Spring MVC+ Mybatis + Web Socket + Hadoop + Maven + My SQL等技術(shù)開發(fā),前臺界面設(shè)計(jì)運(yùn)用了JSP + CSS3 + JQuery,第三方進(jìn)行管理,減少時(shí)間花費(fèi),利用SSM來作為基礎(chǔ)框架,使得項(xiàng)目功能分配清晰。數(shù)據(jù)庫語句操作與接口管理變得容易,提高開發(fā)效率。校園直播服務(wù)系統(tǒng)功能逐步完善。
2 ? 直播系統(tǒng)研究思路及方法
分析直播行業(yè)的現(xiàn)狀和發(fā)展前景,針對目前校園需求的直播將有重要現(xiàn)實(shí)意義。校園直播系統(tǒng)基于云平臺開發(fā),可以有效提高校園直播系統(tǒng)的方便性和高效性。
該系統(tǒng)將通過對當(dāng)前娛樂性直播和面向校級直播進(jìn)行深入調(diào)研與分析,運(yùn)用軟件工程的設(shè)計(jì)思想,設(shè)計(jì)實(shí)現(xiàn)一套完整的面向校園的直播系統(tǒng)。該系統(tǒng)基于直播云平臺,采用Java語言、Mysql和Redis數(shù)據(jù)庫,客戶端采用HTML + CSS + Java Script的開發(fā)框架,手機(jī)端采用Vue開發(fā)框架,后端采用Web Socket技術(shù)和DFA(Deterministic Finite Automaton)算法,從而可以保障校園直播系統(tǒng)的穩(wěn)定和安全。
3 結(jié)語
本系統(tǒng)主要基于Web Socket 的流媒體傳輸,在網(wǎng)頁上通過JavaScript 將流媒體進(jìn)行解碼,然后通過Media Source Extension的API將解碼的數(shù)據(jù)信息發(fā)送給瀏覽器。這樣的系統(tǒng)可以流暢地對視頻進(jìn)行編碼、解碼,并且對帶寬的要求較低,讓用戶在底帶寬的環(huán)境中可以流暢播放視頻。該系統(tǒng)能夠?yàn)楦咝?、企業(yè)以及一些其他需要進(jìn)行大型直播的客戶提供高質(zhì)量的直播服務(wù),從而降低直播系統(tǒng)的建設(shè)成本,增強(qiáng)業(yè)務(wù)可靠性,提升會議智能化水平。
[參考文獻(xiàn)]
[1]李昀蕓.基于智能數(shù)據(jù)云平臺的高校一體化APP設(shè)計(jì)應(yīng)用探索[J].北京印刷學(xué)院學(xué)報(bào),2021(1):135-138.
[2]朱伙軍.基于云平臺的網(wǎng)絡(luò)營銷系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2021(3):177-181.
[3]黎志偉.基于Spring Boot和WebSocket的點(diǎn)對點(diǎn)聊天系統(tǒng)研發(fā)與部署[J].科學(xué)技術(shù)創(chuàng)新,2020(18):95-96.
(編輯 王永超)