吳浩森,劉常江,鐘 健(通訊作者),何韋穎
(廣州理工學院 廣東 廣州 510540)
近年來,隨著互聯網行業的發展,越來越多的企業選擇云計算的解決方案進行商業部署,其能夠最大程度降低企業成本,助力企業實現轉型升級,并得到越來越多中小企業的青睞。云平臺通過虛擬化等技術,將底層資源、應用平臺和服務整合,提高了硬件設備的使用率,隨之而來的是大規模的節點和海量的數據以及復雜的網絡環境。因此,實時監控的信息也會隨之大規模地增長,系統不僅要監控物理節點,還有規模龐大的虛擬機節點,用戶查詢、存儲耗時也大大增加。而現有的傳統監控系統,大多存在監控僵化、效率低下、操作復雜、部署困難、無法自定義監控指標等問題,或是沒有提供智能的集成監控方法,很難適用于云平臺的需求,或是局限于某一個云平臺,無法解決跨平臺統一資源監控的問題,從而造成監控服務器超負荷、數據庫寫性能下降以及海量數據存儲瓶頸等。
云計算平臺能夠為大型以及中型的高清智能視頻監控帶來極為有利的結果。
把分散式的計算當作云計算技術的關鍵部分,這樣會讓云計算技術具備分散式儲存功能的特點。按照這樣較為凸顯的特點,可以在系統的后方根據需求對有關節點實行增減,較為靈活地改變節點的使用。
云計算對于基礎的相關設備其實并沒有太多較高的標準,所以在選取相關硬件設施時能夠運用價格便宜的設備,以便在某種程度上降低使用的成本。但是,相關技術需要達到一定標準,確保系統的可行性。
視頻常常存儲在多個節點中。云計算的運用結構是節點分散方式構成的,這樣的方式能夠高效地對大量的視頻信息實行剖析以及處理,以達到剖析以及篩選較多視頻數據信息的目標,從而更深層次地加強云計算的運用效果。本文在信息資源庫的基礎上,探究云計算平臺的相關整合計劃,將云儲存相關的技術以及數據庫方面的技術當作核心技術。并研究了云計算平臺的創建方式以及整合規劃,健全了較為適合云計算特點的相關平臺創建方式。主節點以及數據節點都需要在云計算平臺的視頻監控系統基礎上進行。主節點為全部的數據節點帶來視頻儲存的功能,對于數據實行剖析以及解決的方式,而數據節點基本是收到并且進行處理的視頻流,而且還需要對相關的信息數據實行儲存、計算以及轉發等。
云計算管理是將監控管理中的各種信息進行綜合化的管理,通過統一的技術平臺,實現監控管理過程中各關鍵環節的有效協調與運作,從而實現科學化、合理化、有效化、資源化的管理與運行,提升監控管理效率。
云資源監控系統主要功能是幫助用戶能夠在任何地方實時查看云資源數據,方便用戶查看云資源的狀態,發現異常和系統故障及時排查問題,從而提高云資源的利用率和使用率,提高運維人員的工作效率。所以,云資源監控系統需要具備以下功能:(1)云資源的基本數據采集和展示功能。系統需要實時顯示云資源的各項基本數據,并通過圖表折線圖進行渲染,使用戶能夠更加直觀查看;(2)由于云資源存在多種,有云服務器、云磁盤、負載均衡等,不同的云資源的數據可能存在差異,因此需要統一數據格式,方便后期渲染;(3)實現自動報警。其是云資源系統重要環節之一,自動報警能夠使得用戶第一時間發現云資源的異常,及時處理才能避免過多的損失,為了保證用戶能收到系統,采用了漸進式的報警模式。
我們采用了B/S結構,B/S結構具有分布式特點,可以隨時隨地進行查詢、瀏覽,維護簡單方便,只需要改變網頁即可實現所有用戶的同步更新。此外,我們開發了微信小程序,微信小程序無需下載即可使用,不像APP占用空間和不定時更新,而且微信小程序生態圈強大,擁有龐大的自然流量[1]。
整個應用劃分出4個相對分離的邏輯層,每一層都相互獨立。第一層為展示層,包含模版渲染的Web端,以及相對應的REST API接口服務。
業務處(應用邏輯層)負責相對應請求的數據調用,邏輯分析,不直接通過相應數據庫驅動操作數據庫,而是通過MyBatis間訪問數據庫。使用ORM進行面向對象的調用而不直接調用SQL語句,保障代碼的可讀性,同時避免SQL注入等風險。
通過Spring + SpringMVC + MyBatis,按照REST API接口規范設計API,服務器與客戶端使用json進行數據交互,為Web端、微信小程序提供后臺服務。基于項目需求,部署了Tomcat作為高校的服務器,數據庫采用C3p0連接池管理連接。在MVC分層思想下,使用wepy通過數據調用,設計視圖,實現微信小程序前端和使用jQuery實現Web端[2]。
客戶端使用“jQuery+Bootstrap+wepy+wxml”,Web端使用jQuery開發,微信小程序使用wepy作為組件化開發。
REST API設計規范:(1)GET:獲取服務器資源;(2)POST:在服務器新建一個資源;(3)PUT:更新資源;(4)DELETE:刪除資源;(5)返回給請求者的數據均采用json格式。
云資源監控系統有Web網頁端和小程序,基本滿足用戶使用,小程序采用WXUI,讓用戶在使用時,用戶能直觀觀察云資源的數據信息,且能對資源進行操作[3]。
系統在設計上充分考慮可擴展性,用戶的需求變化時,系統應可進行相應的處理,系統在運行中,客戶可能對原有功能做調整及變更,系統能靈活地修改。預留接口,能擴展到其他的監測系統。
數據傳輸中身份驗證信息不使用明文賬號與密碼,采用128位加密token進行驗證。后臺數據庫單向加密用戶密碼,及時數據庫被非法獲取,用戶密碼仍然不會暴露,降低設置了相同密碼的網站存在泄露的風險。
數據庫由ORM進行映射建模,分離數據層和應用層。當需求發生變化,相應數據表需要變更,只需調整對應數據模型類,既可以一鍵遷移,完成更新。對數據庫表建模遵循數據庫設計第一、第二、第三范式,便于數據維護,減少數據冗余。

表1 云資源監控平臺的功能模塊
(1)實現目的:實現對多臺服務器的日志文件進行收集、統一處理、歸納存放到數據庫。
(2)實現概述:編寫一個ftp/sftp腳本運行在日志服務器上,實現定時拉取日志文件,再進行分類處理存放到數據庫中。
(1)實現目的:能夠及時讓用戶知道服務器出現什么異常。
(2)實現概述:當CPU使用率、磁盤使用率、內存使用率超過90%時,即會自動發送郵件進行報警。郵件中包含異常信息和一個網址鏈接,用戶需要點擊該鏈接進行確認收到消息的操作,否則會默認沒收到該異常信息,會發送手機短信,短信包含同樣的內容,如果還是沒點擊該鏈接則會撥打電話提醒。
(1)實現目的:讓用戶不局限在Web端查看信息,使用微信小程序也不用讓用戶消耗手機內存去下載APP,使用戶更加方便查看信息。
(2)實現概述:使用wxml編寫小程序。
近年來,隨著互聯網行業的發展,越來越多的企業選擇云計算的解決方案進行商業部署。云平臺所具有的“按需使用”的能力,動態擴展、維護簡單、成本低、反應迅速等特點,能夠最大程度降低企業成本,一直得到越來越多中小企業的青睞。所以,該項目的云資源監控系統有較為廣闊的市場前景,企業應用該系統能更好地管理其擁有的云資源。