?

3D機房運維可視化系統的設計與實現

2017-02-07 16:12張玄黃蔚
軟件 2016年7期
關鍵詞:三維可視化

張玄+黃蔚

摘要:針對傳統的數據中心機房運維系統不夠直觀、易造成機房管理的安全隱患等問題,對三維可視化技術WebGL及其應用框架Three.js進行了深入研究,主要對機房的整體構建,實時監控,設備管理和自動巡檢功能進行了設計與實現,并進行了性能優化,闡述了3D機房運維可視化系統的設計思路和架構,采用了three.js特有的JSON模型文件格式,并使用對three.js有良好支持的Blender進行模型制作,通過仿真的三維場景,給用戶帶來了沉浸感和流暢豐富的交互體驗,提高了數據中心機房的管理效率。

關鍵詞:三維可視化;WebGL;Three.js;JSON

引言

隨著互聯網、云計算的迅猛發展、海量數據的產生,信息中心的規模越來越大,中型和大型信息中心市場未來會有大幅增長。據《20121~2015年中國IDC產業發展研究報告》顯示:2014度中國的IDC(Internet Data Center)市場規模已達到372.2億元,同比增長達41.8%。伴隨著信息中心規模的快速增長,給信息中心管理人員帶來了巨大挑戰,使得信息中心的運維管理存在較大安全隱患,一旦出現重大問題,損失將非常嚴重。同時管理人員數量的增加,造成維護成本的大幅增長。因此建立一個直觀、有效的信息中心運維管理系統變得非常迫切。近些年出現的HTML5技術給了我們一個解決這些問WebGL技術及其框架Three.js構建信息中心機房三維視圖,用來展示機房設備及其運行狀態,使得管理人員能夠清晰的了解信息中心的總體健康狀況、各種設備的性能、運行情況,能夠直觀、快捷地發現信息中心中存在的問題和隱患,從而降低運維成本、加強運維管理的有效性,確保信息中心業務的正常運行。

1WebGL技術與Three.js框架

1.1WebGL技術

WebGL是2009年8月Khronos提出的繪圖技術,它是一個跨平臺的,免費的,用于在Web瀏覽器創建三維圖形的API。它基于OpenGL ES2.0標準,并使用OpenGL的著色語言GLSL,而且還提供了類似于OpenGL的API。WebGL可以直接在HTML5的Canvas元素中繪制三維動畫并提供硬件三維加速渲染,利用WebGL實現Web3D不需要安裝瀏覽器插件,只需要編寫網頁代碼即可實現三維動畫的展示。

WebGL技術的提出解決了現有Web交互式三維的問題,它免去了開發網頁專用渲染插件的麻煩,可用于創建具有復雜三維結構的網站頁面,甚至可以用來設計三維網頁游戲,相對于其他Web3D實現方式,WebGL的優勢主要體現在:

(1)WebGL是通過JavaScript來制作網絡交互式三維動畫,基于此技術,客戶端不需要安裝插件即可支持三維圖形展示以及GPU硬件加速;

(2)WebGL具有開放性。目前,雖然AdobeFlashPlayer 11,Silver light 3.0都已經支持GPU加速,但他們開放性較差,使用環節復雜,而WebGL是開源的,同時HTML5的開放標準也使PC和移動終端能夠擺脫IOS、安卓等系統應用的壟斷與限制,且支持輕量級3D應用;

(3)WebGL中引用了OpenGLES2.0的可編程處理器,利用了底層的圖形硬件加速功能進行圖形渲染,使得Web開發人員能夠借助系統GPU在瀏覽器里更流暢的展示三維場景和模型,同時還能創建復雜的導航和數據可視化效果,這也是WebGL的關鍵所在。

1.2 Three.js框架

但是,WebGL原生API非常底層,直接使用WebGL編程非常復雜,需要了解WebGL的內部細節,學習復雜的著色器語法,為了構建一個高等級的,對用戶更加友好的WebGL開發環境,許多開源框架被創造出來,現在有許多不錯的開源框架,例如GLGE、SceneJS、CubicVR、Three.js,Three.js庫提供了一套基于WebGL的,非常易用的Javascript API,可以通過它直接在瀏覽器中創建三維場景,Three.js以簡單直觀的方式封裝了3D圖形編程中常用的對象,在它的開發中使用了很多圖形引擎的高級技巧,極大地提高了性能。

2系統功能

3D機房運維可視化系統的功能需求主要分為以下幾個方面:設備維護、3D場景漫游、健康度管理、設備自動巡檢和模型庫維護;系統具有兩個模式,分別是觀察模式和維護模式,設備維護和模型庫維護只能在維護模式下進行,3D場景漫游和自動巡檢只能在觀察模式下進行,健康度管理則是能在兩種模式下運行。進入系統的主視圖如1所示。

(1)設備維護??蓜討B的維護機房內的設備是本系統最基本的功能。用戶可根據機房的實際情況來添加、刪除系統中的設備,改變設備的位置(包含碰撞檢測功能),修改設備的具體信息。

(2)3D場景漫游。本系統為用戶提供了一個自由查看機房內設備,設備信息及整體布局的功能,即觀察模式,在觀察模式下,可以對場景進行縮放,可以自由旋轉、翻滾相機、移動用戶視角。

(3)健康度管理。健康度管理功能可以使用戶對機房的健康狀況進行了解,為排除設備隱患及故障做好準備,健康度是所有設備都具有的屬性,用戶可自由查看機房內任意設備的健康度,健康度分為三個區間,分別用紅黃綠三種顏色來表示設備的健康狀態。

(4)自動巡檢。自動巡檢功能是本系統的亮點,可以使用戶迅速的對機房的設備布局、健康情況進行了解,當自動巡檢啟動時場景鏡頭將自動對機房中存在隱患和出現錯誤的設備進行巡檢并顯示設備信息,方便用戶處理。

(5)模型庫維護。由于機房可能會經常添加和移除不同型號的設備,因此系統需要模型庫維護功能,當模型庫中有不需要的設備模型時可刪除,當用戶需要模型庫中沒有的設備模型時,由開發人員制作設備模型提供給用戶,然后用戶可利用模型管理功能添加載本地模型文件。

猜你喜歡
三維可視化
三維可視化技術在水利水電建設中的應用
環太行山著名旅游景點多媒體導航系統研究與建立①
機器人人機界面的三維可視化設計
鐵路線路設計與技術發展探討
基于三維可視化技術的云岡石窟文化傳播策略研究與實現
全球海量空間數據綜合管理與服務系統2013年度技術總結報告
基于ArcScene平臺的電子沙盤制作
東平水道數字航道綜合管理平臺系統開發
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合