吳浩森,劉常江,鐘 ?。ㄍㄓ嵶髡撸雾f穎
(廣州理工學(xué)院 廣東 廣州 510540)
近年來(lái),隨著互聯(lián)網(wǎng)行業(yè)的發(fā)展,越來(lái)越多的企業(yè)選擇云計(jì)算的解決方案進(jìn)行商業(yè)部署,其能夠最大程度降低企業(yè)成本,助力企業(yè)實(shí)現(xiàn)轉(zhuǎn)型升級(jí),并得到越來(lái)越多中小企業(yè)的青睞。云平臺(tái)通過(guò)虛擬化等技術(shù),將底層資源、應(yīng)用平臺(tái)和服務(wù)整合,提高了硬件設(shè)備的使用率,隨之而來(lái)的是大規(guī)模的節(jié)點(diǎn)和海量的數(shù)據(jù)以及復(fù)雜的網(wǎng)絡(luò)環(huán)境。因此,實(shí)時(shí)監(jiān)控的信息也會(huì)隨之大規(guī)模地增長(zhǎng),系統(tǒng)不僅要監(jiān)控物理節(jié)點(diǎn),還有規(guī)模龐大的虛擬機(jī)節(jié)點(diǎn),用戶查詢、存儲(chǔ)耗時(shí)也大大增加。而現(xiàn)有的傳統(tǒng)監(jiān)控系統(tǒng),大多存在監(jiān)控僵化、效率低下、操作復(fù)雜、部署困難、無(wú)法自定義監(jiān)控指標(biāo)等問(wèn)題,或是沒(méi)有提供智能的集成監(jiān)控方法,很難適用于云平臺(tái)的需求,或是局限于某一個(gè)云平臺(tái),無(wú)法解決跨平臺(tái)統(tǒng)一資源監(jiān)控的問(wèn)題,從而造成監(jiān)控服務(wù)器超負(fù)荷、數(shù)據(jù)庫(kù)寫性能下降以及海量數(shù)據(jù)存儲(chǔ)瓶頸等。
云計(jì)算平臺(tái)能夠?yàn)榇笮鸵约爸行偷母咔逯悄芤曨l監(jiān)控帶來(lái)極為有利的結(jié)果。
把分散式的計(jì)算當(dāng)作云計(jì)算技術(shù)的關(guān)鍵部分,這樣會(huì)讓云計(jì)算技術(shù)具備分散式儲(chǔ)存功能的特點(diǎn)。按照這樣較為凸顯的特點(diǎn),可以在系統(tǒng)的后方根據(jù)需求對(duì)有關(guān)節(jié)點(diǎn)實(shí)行增減,較為靈活地改變節(jié)點(diǎn)的使用。
云計(jì)算對(duì)于基礎(chǔ)的相關(guān)設(shè)備其實(shí)并沒(méi)有太多較高的標(biāo)準(zhǔn),所以在選取相關(guān)硬件設(shè)施時(shí)能夠運(yùn)用價(jià)格便宜的設(shè)備,以便在某種程度上降低使用的成本。但是,相關(guān)技術(shù)需要達(dá)到一定標(biāo)準(zhǔn),確保系統(tǒng)的可行性。
視頻常常存儲(chǔ)在多個(gè)節(jié)點(diǎn)中。云計(jì)算的運(yùn)用結(jié)構(gòu)是節(jié)點(diǎn)分散方式構(gòu)成的,這樣的方式能夠高效地對(duì)大量的視頻信息實(shí)行剖析以及處理,以達(dá)到剖析以及篩選較多視頻數(shù)據(jù)信息的目標(biāo),從而更深層次地加強(qiáng)云計(jì)算的運(yùn)用效果。本文在信息資源庫(kù)的基礎(chǔ)上,探究云計(jì)算平臺(tái)的相關(guān)整合計(jì)劃,將云儲(chǔ)存相關(guān)的技術(shù)以及數(shù)據(jù)庫(kù)方面的技術(shù)當(dāng)作核心技術(shù)。并研究了云計(jì)算平臺(tái)的創(chuàng)建方式以及整合規(guī)劃,健全了較為適合云計(jì)算特點(diǎn)的相關(guān)平臺(tái)創(chuàng)建方式。主節(jié)點(diǎn)以及數(shù)據(jù)節(jié)點(diǎn)都需要在云計(jì)算平臺(tái)的視頻監(jiān)控系統(tǒng)基礎(chǔ)上進(jìn)行。主節(jié)點(diǎn)為全部的數(shù)據(jù)節(jié)點(diǎn)帶來(lái)視頻儲(chǔ)存的功能,對(duì)于數(shù)據(jù)實(shí)行剖析以及解決的方式,而數(shù)據(jù)節(jié)點(diǎn)基本是收到并且進(jìn)行處理的視頻流,而且還需要對(duì)相關(guān)的信息數(shù)據(jù)實(shí)行儲(chǔ)存、計(jì)算以及轉(zhuǎn)發(fā)等。
云計(jì)算管理是將監(jiān)控管理中的各種信息進(jìn)行綜合化的管理,通過(guò)統(tǒng)一的技術(shù)平臺(tái),實(shí)現(xiàn)監(jiān)控管理過(guò)程中各關(guān)鍵環(huán)節(jié)的有效協(xié)調(diào)與運(yùn)作,從而實(shí)現(xiàn)科學(xué)化、合理化、有效化、資源化的管理與運(yùn)行,提升監(jiān)控管理效率。
云資源監(jiān)控系統(tǒng)主要功能是幫助用戶能夠在任何地方實(shí)時(shí)查看云資源數(shù)據(jù),方便用戶查看云資源的狀態(tài),發(fā)現(xiàn)異常和系統(tǒng)故障及時(shí)排查問(wèn)題,從而提高云資源的利用率和使用率,提高運(yùn)維人員的工作效率。所以,云資源監(jiān)控系統(tǒng)需要具備以下功能:(1)云資源的基本數(shù)據(jù)采集和展示功能。系統(tǒng)需要實(shí)時(shí)顯示云資源的各項(xiàng)基本數(shù)據(jù),并通過(guò)圖表折線圖進(jìn)行渲染,使用戶能夠更加直觀查看;(2)由于云資源存在多種,有云服務(wù)器、云磁盤、負(fù)載均衡等,不同的云資源的數(shù)據(jù)可能存在差異,因此需要統(tǒng)一數(shù)據(jù)格式,方便后期渲染;(3)實(shí)現(xiàn)自動(dòng)報(bào)警。其是云資源系統(tǒng)重要環(huán)節(jié)之一,自動(dòng)報(bào)警能夠使得用戶第一時(shí)間發(fā)現(xiàn)云資源的異常,及時(shí)處理才能避免過(guò)多的損失,為了保證用戶能收到系統(tǒng),采用了漸進(jìn)式的報(bào)警模式。
我們采用了B/S結(jié)構(gòu),B/S結(jié)構(gòu)具有分布式特點(diǎn),可以隨時(shí)隨地進(jìn)行查詢、瀏覽,維護(hù)簡(jiǎn)單方便,只需要改變網(wǎng)頁(yè)即可實(shí)現(xiàn)所有用戶的同步更新。此外,我們開(kāi)發(fā)了微信小程序,微信小程序無(wú)需下載即可使用,不像APP占用空間和不定時(shí)更新,而且微信小程序生態(tài)圈強(qiáng)大,擁有龐大的自然流量[1]。
整個(gè)應(yīng)用劃分出4個(gè)相對(duì)分離的邏輯層,每一層都相互獨(dú)立。第一層為展示層,包含模版渲染的Web端,以及相對(duì)應(yīng)的REST API接口服務(wù)。
業(yè)務(wù)處(應(yīng)用邏輯層)負(fù)責(zé)相對(duì)應(yīng)請(qǐng)求的數(shù)據(jù)調(diào)用,邏輯分析,不直接通過(guò)相應(yīng)數(shù)據(jù)庫(kù)驅(qū)動(dòng)操作數(shù)據(jù)庫(kù),而是通過(guò)MyBatis間訪問(wèn)數(shù)據(jù)庫(kù)。使用ORM進(jìn)行面向?qū)ο蟮恼{(diào)用而不直接調(diào)用SQL語(yǔ)句,保障代碼的可讀性,同時(shí)避免SQL注入等風(fēng)險(xiǎn)。
通過(guò)Spring + SpringMVC + MyBatis,按照REST API接口規(guī)范設(shè)計(jì)API,服務(wù)器與客戶端使用json進(jìn)行數(shù)據(jù)交互,為Web端、微信小程序提供后臺(tái)服務(wù)?;陧?xiàng)目需求,部署了Tomcat作為高校的服務(wù)器,數(shù)據(jù)庫(kù)采用C3p0連接池管理連接。在MVC分層思想下,使用wepy通過(guò)數(shù)據(jù)調(diào)用,設(shè)計(jì)視圖,實(shí)現(xiàn)微信小程序前端和使用jQuery實(shí)現(xiàn)Web端[2]。
客戶端使用“jQuery+Bootstrap+wepy+wxml”,Web端使用jQuery開(kāi)發(fā),微信小程序使用wepy作為組件化開(kāi)發(fā)。
REST API設(shè)計(jì)規(guī)范:(1)GET:獲取服務(wù)器資源;(2)POST:在服務(wù)器新建一個(gè)資源;(3)PUT:更新資源;(4)DELETE:刪除資源;(5)返回給請(qǐng)求者的數(shù)據(jù)均采用json格式。
云資源監(jiān)控系統(tǒng)有Web網(wǎng)頁(yè)端和小程序,基本滿足用戶使用,小程序采用WXUI,讓用戶在使用時(shí),用戶能直觀觀察云資源的數(shù)據(jù)信息,且能對(duì)資源進(jìn)行操作[3]。
系統(tǒng)在設(shè)計(jì)上充分考慮可擴(kuò)展性,用戶的需求變化時(shí),系統(tǒng)應(yīng)可進(jìn)行相應(yīng)的處理,系統(tǒng)在運(yùn)行中,客戶可能對(duì)原有功能做調(diào)整及變更,系統(tǒng)能靈活地修改。預(yù)留接口,能擴(kuò)展到其他的監(jiān)測(cè)系統(tǒng)。
數(shù)據(jù)傳輸中身份驗(yàn)證信息不使用明文賬號(hào)與密碼,采用128位加密token進(jìn)行驗(yàn)證。后臺(tái)數(shù)據(jù)庫(kù)單向加密用戶密碼,及時(shí)數(shù)據(jù)庫(kù)被非法獲取,用戶密碼仍然不會(huì)暴露,降低設(shè)置了相同密碼的網(wǎng)站存在泄露的風(fēng)險(xiǎn)。
數(shù)據(jù)庫(kù)由ORM進(jìn)行映射建模,分離數(shù)據(jù)層和應(yīng)用層。當(dāng)需求發(fā)生變化,相應(yīng)數(shù)據(jù)表需要變更,只需調(diào)整對(duì)應(yīng)數(shù)據(jù)模型類,既可以一鍵遷移,完成更新。對(duì)數(shù)據(jù)庫(kù)表建模遵循數(shù)據(jù)庫(kù)設(shè)計(jì)第一、第二、第三范式,便于數(shù)據(jù)維護(hù),減少數(shù)據(jù)冗余。
表1 云資源監(jiān)控平臺(tái)的功能模塊
(1)實(shí)現(xiàn)目的:實(shí)現(xiàn)對(duì)多臺(tái)服務(wù)器的日志文件進(jìn)行收集、統(tǒng)一處理、歸納存放到數(shù)據(jù)庫(kù)。
(2)實(shí)現(xiàn)概述:編寫一個(gè)ftp/sftp腳本運(yùn)行在日志服務(wù)器上,實(shí)現(xiàn)定時(shí)拉取日志文件,再進(jìn)行分類處理存放到數(shù)據(jù)庫(kù)中。
(1)實(shí)現(xiàn)目的:能夠及時(shí)讓用戶知道服務(wù)器出現(xiàn)什么異常。
(2)實(shí)現(xiàn)概述:當(dāng)CPU使用率、磁盤使用率、內(nèi)存使用率超過(guò)90%時(shí),即會(huì)自動(dòng)發(fā)送郵件進(jìn)行報(bào)警。郵件中包含異常信息和一個(gè)網(wǎng)址鏈接,用戶需要點(diǎn)擊該鏈接進(jìn)行確認(rèn)收到消息的操作,否則會(huì)默認(rèn)沒(méi)收到該異常信息,會(huì)發(fā)送手機(jī)短信,短信包含同樣的內(nèi)容,如果還是沒(méi)點(diǎn)擊該鏈接則會(huì)撥打電話提醒。
(1)實(shí)現(xiàn)目的:讓用戶不局限在Web端查看信息,使用微信小程序也不用讓用戶消耗手機(jī)內(nèi)存去下載APP,使用戶更加方便查看信息。
(2)實(shí)現(xiàn)概述:使用wxml編寫小程序。
近年來(lái),隨著互聯(lián)網(wǎng)行業(yè)的發(fā)展,越來(lái)越多的企業(yè)選擇云計(jì)算的解決方案進(jìn)行商業(yè)部署。云平臺(tái)所具有的“按需使用”的能力,動(dòng)態(tài)擴(kuò)展、維護(hù)簡(jiǎn)單、成本低、反應(yīng)迅速等特點(diǎn),能夠最大程度降低企業(yè)成本,一直得到越來(lái)越多中小企業(yè)的青睞。所以,該項(xiàng)目的云資源監(jiān)控系統(tǒng)有較為廣闊的市場(chǎng)前景,企業(yè)應(yīng)用該系統(tǒng)能更好地管理其擁有的云資源。