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)设备维护。可动态的维护机房内的设备是本系统最基本的功能。用户可根据机房的实际情况来添加、删除系统中的设备,改变设备的位置(包含碰撞检测功能),修改设备的具体信息。

(2)3D场景漫游。本系统为用户提供了一个自由查看机房内设备,设备信息及整体布局的功能,即观察模式,在观察模式下,可以对场景进行缩放,可以自由旋转、翻滚相机、移动用户视角。

(3)健康度管理。健康度管理功能可以使用户对机房的健康状况进行了解,为排除设备隐患及故障做好准备,健康度是所有设备都具有的属性,用户可自由查看机房内任意设备的健康度,健康度分为三个区间,分别用红黄绿三种颜色来表示设备的健康状态。

(4)自动巡检。自动巡检功能是本系统的亮点,可以使用户迅速的对机房的设备布局、健康情况进行了解,当自动巡检启动时场景镜头将自动对机房中存在隐患和出现错误的设备进行巡检并显示设备信息,方便用户处理。

(5)模型库维护。由于机房可能会经常添加和移除不同型号的设备,因此系统需要模型库维护功能,当模型库中有不需要的设备模型时可删除,当用户需要模型库中没有的设备模型时,由开发人员制作设备模型提供给用户,然后用户可利用模型管理功能添加载本地模型文件。

猜你喜欢
三维可视化
三维可视化技术在水利水电建设中的应用
环太行山著名旅游景点多媒体导航系统研究与建立①
机器人人机界面的三维可视化设计
铁路线路设计与技术发展探讨
基于三维可视化技术的云冈石窟文化传播策略研究与实现
全球海量空间数据综合管理与服务系统2013年度技术总结报告
基于ArcScene平台的电子沙盘制作
东平水道数字航道综合管理平台系统开发