王 蕾, 廉東本, 王俊霖
?
數(shù)據(jù)中心三維運行平臺①
王 蕾1,2, 廉東本2, 王俊霖3
1(中國科學(xué)院大學(xué), 北京 100049)2(中國科學(xué)院沈陽計算技術(shù)研究所, 沈陽 110168)3(大連理工大學(xué), 大連116024)
三維運行平臺主要為實現(xiàn)一個面向中小型數(shù)據(jù)中心的簡單易用的管理系統(tǒng)來協(xié)助數(shù)據(jù)中心管理人員實現(xiàn)對數(shù)據(jù)中心的集中管理. 用戶在通過相關(guān)的授權(quán)認證后進入平臺系統(tǒng), 完成對平臺的通用功能的操作, 具體包括可視化管理和可視化展示兩個部分, 可視化管理實現(xiàn)綜合查詢、系統(tǒng)監(jiān)視、日志管理等內(nèi)容, 可視化展示借助Unity3D引擎, 實現(xiàn)數(shù)據(jù)中心相關(guān)場景和模型的還原和實時數(shù)據(jù)三維展示. 經(jīng)過測試, 該平臺的使用極大了提高開發(fā)效率和平臺可維護性, 整個平臺也很好的體現(xiàn)出三維可視化協(xié)作管理的好處, 節(jié)約數(shù)據(jù)中心的管理成本和提高管理效率, 降低潛在風險威脅.
三維運行平臺; 數(shù)據(jù)中心; Unity3D; 虛擬現(xiàn)實; 三維可視化技術(shù)
伴隨云計算、物聯(lián)網(wǎng)等服務(wù)不斷興起, 數(shù)據(jù)在復(fù)雜度和數(shù)量上以指數(shù)方式增長, 數(shù)據(jù)開始從簡單的處理對象轉(zhuǎn)變?yōu)橐环N基礎(chǔ)性資源, 越來越多的企業(yè)開始關(guān)注自身數(shù)據(jù)中心, 如何更好地管理和利用數(shù)據(jù)成為關(guān)注點, 相關(guān)數(shù)據(jù)中心運行平臺如何高效智能的幫助管理人員實現(xiàn)對數(shù)據(jù)中心管理成為人們的追求目標.
大數(shù)據(jù)時代的到來, 促使數(shù)據(jù)中心得到更大發(fā)展, 為對大規(guī)模集中式數(shù)據(jù)中心實現(xiàn)更加有效的管理, 先后創(chuàng)建了很多面向數(shù)據(jù)中心的三維可視化管理系統(tǒng), 但它們大多由大型數(shù)據(jù)中心定制, 成本較高, 重復(fù)使用性較差, 所以創(chuàng)建一個面向中小型數(shù)據(jù)中心的簡單易用的三維運行平臺以靈活的根據(jù)用戶的需求實現(xiàn)對數(shù)據(jù)中心的管理顯得尤為必要[1].
數(shù)據(jù)中心三維運行平臺借助軟件設(shè)計中的模塊化思想, 將整個平臺分為三個部分: 系統(tǒng)管理、運行管理和License驗證. 用戶注冊獲取權(quán)限, 通過License認證登錄平臺, 進而對平臺中運行的應(yīng)用進行管理. 平臺可以幫助用戶對具體應(yīng)用的相關(guān)資源進行統(tǒng)一查看管理, 在根據(jù)實際數(shù)據(jù)中心場景模擬出來的3D場景中進行漫游查看各個機房運行情況, 可以通過監(jiān)控信息、報警信息以及空間統(tǒng)計、機位統(tǒng)計和U高統(tǒng)計等內(nèi)容形成日志統(tǒng)計信息, 便于對機房可能出現(xiàn)的故障和隱患進行及時排查. 總之, 數(shù)據(jù)中心三維運行平臺可以更合理有效的協(xié)作管理人員實現(xiàn)對數(shù)據(jù)中心的集中管理.
2.1 NGUI技術(shù)
Unity3D是目前比較成熟的一款綜合圖形化三維引擎, 借助整合豐富的開發(fā)資源和功能強大的類庫, 以及一些實用插件的使用, 可以很好降低相關(guān)軟件開發(fā)難度并提高開發(fā)效率[2]. 在眾多插件中, 最被推崇和使用頻率較高的是NGUI插件. 一般使用Unity3D自帶的UI系統(tǒng)制作在游戲場景常用的圖片按鈕、文本標簽和復(fù)選框等控件時, 必須在腳本中編寫能控制該控件的OnGUI方法, 在運行中該方法每幀都可能要調(diào)用一次以上, 并且檢查控件的相關(guān)效果需要運行后通過Unity3D工作窗口中的游戲視圖區(qū)域查看, 總體來看很不方便. 而NGUI插件引入到Unity3D后, 提供類似在游戲世界中的攝像機一直照到的一個平面上去繪制自己的UI的效果. 為其提供添加碰撞、增加界面的像素效果, 創(chuàng)建面板、界面和控件等功能. 以控件為例, NGUI可以將控件都轉(zhuǎn)變?yōu)橛螒驅(qū)ο? 提供在游戲?qū)ο笊线M行的操作都可以用于NGUI創(chuàng)建的控件上, 譬如在場景中的任意位置拖放和旋轉(zhuǎn), 在控件上綁定實現(xiàn)相關(guān)功能的腳本等. 但需要注意每次新建一個工程都需要重新導(dǎo)入一次NGUI, 才可以使用該插件的功能. 總之, NGUI插件的使用極大提高了程序開發(fā)效率和界面的美觀性.
2.2 AssetBundle技術(shù)
用戶在使用運行平臺進入數(shù)據(jù)中心虛擬場景之前由于要加載大量的場景和模型等資源, 往往需要等待, 若時間過長勢必會影響用戶體驗, 此時就需要考慮動態(tài)加載, 為此, Unity3D引擎引入了AssetBundle技術(shù).
圖1 NGUI插件
AssetBundle是Unity3D引擎提供的一種可以存儲任意一種Unity3D引擎能夠識別資源的存儲資源的文件格式. 開發(fā)人員可以先將可能使用的資源打包壓縮并上傳到服務(wù)器上, 待需要時根據(jù)實際需求有選擇性的下載, 再通過加載模塊將其動態(tài)加載. 若某個資源被多個資源所引用, 可以通過建立AssetBundle文件間的依賴關(guān)系來達到減小最終AssetBundle文件大小的目的.
圖2 AssetBundle的工作流程圖
數(shù)據(jù)中心三維運行平臺主要分為系統(tǒng)管理、運行管理、License認證三大模塊, 具體內(nèi)容如圖3所示.
圖3 數(shù)據(jù)中心三維運行平臺系統(tǒng)功能圖
3.1License認證
為了避免未注冊的人員使用平臺的相關(guān)的功能, 更好的維護軟件的版權(quán), 使用License認證機制對運行平臺運行進行限制. 用戶首先要在購買時提供個人信息以及可以唯一標識所使用計算機的相關(guān)硬件信息, 例如網(wǎng)卡號, 硬盤序列號等來進行注冊, 并將相關(guān)信息存到服務(wù)器端的數(shù)據(jù)庫內(nèi). 在運行平臺真正啟動之前, 認證模塊和服務(wù)器端建立連接, 只有運行平臺使用賬戶提供的信息和服務(wù)器上記錄的授權(quán)信息相一致時, 表明已經(jīng)注冊獲得相關(guān)的使用權(quán)限, 并在規(guī)定的有效期內(nèi), 才完成認證檢查. 服務(wù)器再將認證和授權(quán)信息的驗證結(jié)果返回相應(yīng)的響應(yīng)給運行平臺, 若認證通過則啟動運行平臺, 否則運行平臺只在規(guī)定的時間內(nèi)擁有試用版的簡單功能, 從而實現(xiàn)一機一碼.
3.2系統(tǒng)管理
把運行平臺中對某一個具體資源的某一個操作定義為一個權(quán)限, 如“門禁信息、“溫濕度信息”和“管理用戶”等都設(shè)置為權(quán)限, 并且將具體的場景信息作為限定, 在定義權(quán)限時, 將其加進去, 如“數(shù)據(jù)中心A座1樓D1機房門禁信息查詢”、“數(shù)據(jù)中心B座樓層管道信息查詢”. 在規(guī)定完所有的權(quán)限之后, 對平臺可能進行訪問的用戶劃分為一系列的角色, 并把權(quán)限賦給各個角色, 每個權(quán)限可以賦給多個角色, 每個角色可分配多個權(quán)限, 這樣只有在獲得相關(guān)權(quán)限的用戶登陸之后, 才可以加載對應(yīng)的場景并對其中的資源進行相關(guān)操作[4].
3.3 運行管理
運行管理是運行平臺的的核心模塊, 主要包括應(yīng)用管理、碼表管理、日志管理、系統(tǒng)監(jiān)視器和運行環(huán)境管理等內(nèi)容. 其中, 應(yīng)用管理是指管理系統(tǒng)中不同的應(yīng)用, 在需要時可以對運行平臺中正在運行的應(yīng)用進行切換. 碼表管理對全部功能所涉及的碼表全集進行維護, 其中包括具體應(yīng)用的碼表和內(nèi)核中通用的碼表. 日志管理記錄用戶登錄和退出及其對運行平臺進行的各種操作信息并將信息格式化, 根據(jù)日志等級記錄到到日志文件中, 借此來追蹤記錄運行平臺的運行情況. 系統(tǒng)監(jiān)視器監(jiān)視運行時客戶機的各項運行數(shù)據(jù),例如CPU和內(nèi)存占有率等. 運行環(huán)境管理實現(xiàn)對正在運行的應(yīng)用的業(yè)務(wù)應(yīng)用屬性和具體的渲染參數(shù)的模式等內(nèi)容進行修改, 優(yōu)化運行效果.
數(shù)據(jù)中心三維運行平臺的具體功能是實現(xiàn)三維可視化管理與三維可視化展示功能的統(tǒng)一.
4.1數(shù)據(jù)接口實現(xiàn)
數(shù)據(jù)完成交互過程需要設(shè)計相關(guān)數(shù)據(jù)接口, 獲取傳來的相關(guān)信息, 為Unity3D提供數(shù)據(jù)支持. 數(shù)據(jù)接口包括三個方面: 系統(tǒng)管理接口、資源配置接口、服務(wù)代理接口. 系統(tǒng)管理接口用于獲取用戶的增刪改查及用戶的角色和權(quán)限分配信息, 傳遞的配置參數(shù)包括用戶認證、用戶授權(quán)和登錄等信息. 在運行平臺啟動之后, 通過資源配置接口可以獲取用戶的配置信息, 進而設(shè)置類似于菜單、按鈕等資源的層級、樣式、位置, 從而生成最終的功能資源. 服務(wù)器代理接口處理外部系統(tǒng)集成, 傳遞的配置參數(shù)包括服務(wù)器路徑、存儲位置等.
4.2 Web與Unity3D交互
為方便對Unity3D展示的三維場景進行相關(guān)操作實現(xiàn)對數(shù)據(jù)查詢等工作, 就要使用相關(guān)技術(shù)完成Web和Unity3D的交互. 首先Unity3D向網(wǎng)頁傳送請求, 網(wǎng)頁處理請求并對數(shù)據(jù)庫實現(xiàn)相關(guān)操作,將處理的結(jié)果傳回Unity3D. 以空調(diào)信息為例, 前端與Unity3D端接口為webAirData()、unityAirData(). 相關(guān)的代碼如下:
function webAirData(unityString){
//前端頁面用js函數(shù)控制unity3D內(nèi)部的物體, 并傳遞給定的參數(shù)
u.getUnity().SendMessage(objectName,functionName, stringName);
.........
}
public void unityAirData(string receivestr){
//調(diào)用包含在前端網(wǎng)頁中名為webAirData 的JavaScript函數(shù), 并傳遞給定的參數(shù)
Application.ExternalCall("webAirData",
objectname);
.........
}
4.3 Unity3D端與第三方數(shù)據(jù)服務(wù)器通信
運行平臺借助三維可視化技術(shù)將數(shù)據(jù)中心的內(nèi)部場景和數(shù)據(jù)實時直觀顯示, 為了完成該功能就需要實現(xiàn)運行平臺與第三方的數(shù)據(jù)服務(wù)器實時通信, 獲得數(shù)據(jù)中心運行的實況信息(包括門禁、空調(diào)、溫濕度、U高, 監(jiān)控等), 真正實現(xiàn)所見即所得. 這個過程需要通過向外部的第三方數(shù)據(jù)服務(wù)器提供WebService接口來實現(xiàn), 實現(xiàn)過程如圖4.
圖4 Unity3D端與第三方數(shù)據(jù)服務(wù)器通信
4.4三維可視化展示
Unity3D端用于實現(xiàn)三維展示, 通過安裝Unity3D 插件, 在瀏覽器中運行Web Player 應(yīng)用加載具體應(yīng)用的場景和模型信息, 其中場景信息主要包括園區(qū)場景、樓層場景和機房場景, 每個場景下還會根據(jù)不同的應(yīng)用劃分為不同的子場景, 模型信息除了數(shù)據(jù)中心的機柜、服務(wù)器等基本配置外, 還包括空調(diào), 監(jiān)控, 門禁和溫濕度感應(yīng)器等輔助設(shè)備[5]. 用戶登錄成功后, 可以進行場景漫游和第一人稱視角巡視, 檢視數(shù)據(jù)中心機房的運行狀況, 可以通過鍵入檢索條件實現(xiàn)具體設(shè)備的查找, 可以進入某個機房并點擊具體設(shè)備, 通過彈出的信息框查看該設(shè)備的具體信息, 這些信息是通過數(shù)據(jù)接口通信獲取的數(shù)據(jù)中心的實時信息. 此外, 當數(shù)據(jù)中心出現(xiàn)異常情況時, 會發(fā)出報警信息并給出提示, 幫助管理人員第一時間發(fā)現(xiàn)警情, 給出解決方案, 減少可能出現(xiàn)的損失[6].
圖5 三維可視化展示效果圖
運行平臺借助三維可視化的技術(shù)運行應(yīng)用, 動態(tài)加載資源, 實現(xiàn)身份認證、綜合查詢、系統(tǒng)監(jiān)視、日 志管理、報警信息提示等功能, 幫助管理人員實時監(jiān)控維護數(shù)據(jù)中心的運行情況, 協(xié)助其日常管理工作. 運行平臺的運行效果如圖6所示.
圖6 三維運行平臺效果圖
隨著國家發(fā)布“互聯(lián)網(wǎng)+”戰(zhàn)略, 我國正式開啟互聯(lián)網(wǎng)大數(shù)據(jù)時代, 海量數(shù)據(jù)的涌現(xiàn)發(fā)起對數(shù)據(jù)中心的全新挑戰(zhàn), 使其維護難度和成本與日俱增, 三維運行平臺提供了豐富實用的功能, 極大的提高數(shù)據(jù)中心管理人員的工作效率, 保證數(shù)據(jù)中心高效安全的運轉(zhuǎn).
1 陸永芳.數(shù)據(jù)中心三維可視化呈現(xiàn)技術(shù)的研究與實現(xiàn)[碩士學(xué)位論文].北京:北京郵電大學(xué),2013.
2 李曉京,馬進,惠鐸鐸,張利利,李仁義.Unity3D與數(shù)據(jù)庫通信方法的研究.計算機技術(shù)與發(fā)展,2014,7(3):229–232.
3 史卓,李望.探究數(shù)據(jù)中心三維可視化呈現(xiàn)技術(shù)的研究和實現(xiàn).電子技術(shù)與軟件工程,2015,15(22):189–189.
4 張芯瑜.面向室內(nèi)定位的三維場景數(shù)據(jù)組織與管理[碩士學(xué)位論文].成都:成都理工大學(xué),2014.
5 龔昊.數(shù)據(jù)中心三維可視化管理軟件的設(shè)計與實現(xiàn)[碩士學(xué)位論文].北京:北京郵電大學(xué),2012.
6 王振勇.數(shù)據(jù)中心三維監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[碩士學(xué)位論文].秦皇島:燕山大學(xué),2012.
Data Center 3D Operation Platform
WANG Lei1,2, LIAN Dong-Ben2, WANG Jun-Lin3
1(University of Chinese Academy of Sciences, Beijing 100049, China)2(Shenyang Institute of Computing Technology, Chinese Academy of Sciences, Shenyang 110168, China)3(Dalian University of Technology, Dalian 116024, China)
3D operation platform is mainly for the realization of a simple and easy management system for small and medium-sized data center to assist the data center manager for achieving centralized management of the data center. The user enters the platform system after the relevant authorization authentication, completes the operation of the common functions of the platform, including visual management and visual display. Visual management has features such as comprehensive inquiry, system monitoring, log management, etc. Visual display uses Unity3D engine to realize the data center on related 3D scene and model reduction and real-time data display. The test result shows that the use of the data center 3D visualization service platform greatly increases the development efficiency and maintainability, the platform also reflects the benefits of 3D visualization collaboration management, saves data center management costs and improves efficiency, reduces the risk of potential threats.
3D operation platform; data center; Unity3D; virtual reality; 3D visualization technology
國家水體污染控制與治理科技重大專項(2012ZX07505004)
2016-06-23;
2016-08-08
[10.15888/j.cnki.csa.005660]