APP下载

数据中心三维可视化场景编辑器的设计①

2017-06-07廉东本王俊霖

计算机系统应用 2017年5期
关键词:编辑器数据中心可视化

王 磊,廉东本,王俊霖

1(中国科学院大学,北京 100049)

2(中国科学院沈阳计算技术研究所,沈阳 100168)

3(大连理工大学,大连 116024)

数据中心三维可视化场景编辑器的设计①

王 磊1,2,廉东本2,王俊霖3

1(中国科学院大学,北京 100049)

2(中国科学院沈阳计算技术研究所,沈阳 100168)

3(大连理工大学,大连 116024)

针对当前数据中心的三维可视化场景重复开发造成复用性较差的问题,提出了数据中心三维可视化场景编辑器.借助三维引擎技术,以仿真、立体、互动实时的方式为管理者提供一个完整的、可视化、网络化的虚拟环境管理设计平台.可以高效灵活的创建数据中心3D场景,用于场景建模和数据中心的辅助设计.可视化编辑器基于Unity3D引擎和Web技术进行搭建,提供直观的浏览器操作界面和环境实时监控系统,解决了三维场景远程实时查看数据中心监控等问题.用户可以借此快速搭建三维可视化场景,减少重复开发.在提供其他3D模型基础上,此编辑器也能够广泛用于其他非数据中心可视化场景的搭建和编辑.

数据中心;三维可视化;场景编辑;Unity3D;远程监控

随着社会的数据信息量不断的增多,我们需要更大的数据中心处理这些数据,这也导致数据中心具有向大规模集中式发展的趋势[1].数据中心计算机系统数量的扩大往往也伴随着相关的环境设备的增加,这给数据中心的维护和管理带来了极大的不便.在大型数据中心中往往分散着多种管理系统,它们之间相互存在,如何高效、统一地管理这些设备就成为企业的难题.因此人们提出了开发三维可视化场景管理平台以方便对数据中心进行展示、管理、监控.数据中心的三维可视化场景具有实时提供设备参数、提供动力环境的实时表现等特点,满足了管理者对数据中心“集中监控,统一管理”的需求.而其中所用到的虚拟化技术以其交互性、想象性和沉浸式的技术特征[2]实现了将数据中心设备从现实到虚拟,从物理到逻辑的全面对应三维可视化以及从人工被动管理到统一虚拟化管理的转变.但目前的数据中心三维可视化场景往往是是针对特定数据中心场景的开发,这造成了复用性不强、代码重复、开发难度高等问题.因此本文设计了一个具有通用性的数据中心三维可视化场景编辑系统来快速搭建不同数据中心的三维场景.

1 系统概述

1.1 编辑器系统结构

本编辑器采用了更加轻便的B/S架构,减少了传统C/S模式给用户安装和升级带来的麻烦.采用Spring+Struts2+Hibernate框架进行开发,该框架可以让开发者在较短的时间内有效率地搭建结构清晰,复用性较强的Web程序.此系统分为三个层次:浏览器端、服务器端、数据库.如图1所示.

图1 系统结构图

1.2 三维可视化场景编辑器的功能介绍

该编辑器主要分四个功能部分:系统管理,场景管理,基础管理,功能管理.如图2所示.

图2 编辑器功能图

系统管理:包含用户管理,权限管理,资源管理.用户管理是分为用户和游客管理,验证登录的合法性.权限管理是指用户是否有权限能对场景编辑操作.资源管理是指具有权限的管理员可以对三维模型和物品栏下的图片UI进行更新.

场景管理:可以对场景的创建,删除和切换.同时还要对场景保存和还原.

基础管理:该模块包含了场景基本操作.天空盒的设置模拟真实室外场景,摄像机漫游(非自动)可以不同角度环绕观察物体,或者观测某一区域的场景变化.框选则使用OpenGL技术能同时选中大量物体,并对他们进行相同的操作.3D/2D的切换是在三维场景和二维场景相互切换,方便用户查看整体场景布局.

功能管理:该功能部分包括对三维数据中心物体的一些操作.主要是GUI更改物体Transform属性,物体批量生成,物体打组/解组,物体移动,框选物体后物体按照某一方向对齐,监控系统管理等操作.

1.3 技术路线

图3详细的展示了Unity3D引擎和JavaScript引擎的交互、JavaScript引擎和服务器的交互、服务器和数据库的交互等流程.

图3 技术路线图

主要过程:

1)1->2->3->4->5(用户登录过程):用户在浏览器端输入用户名信息,服务端和数据库协作验证用户登录的合法性和权限,确认合法,返回主页面.

2)A<->B<->C(Unity3D和Web端的交互):这个过程往往是多次相互通信完成的,服务发起者可以是Web端,也可以是Unity3D端.该交互是Unity3D和JavaScript引擎的通信,再由Web端Struts2+Spring解析通信消息,Hibernate读取数据库,完成交互服务.

3)U->P->Q->R(场景保存):Ajax发出保存请求, Unity3D引擎接收请求,并广播消息让场景每个物体以Json数据格式向JavaScript发送自身信息,JavaScript引擎收到消息后发送给服务器端解析JSon数据,并存入MySQL数据库.

4)Q->R->S->T->U(场景恢复):JavaScript向服务器端发起请求,经WebService解析后,根据场景名称读取相关场景数据,将数据处理后发送给Unity3D工具,Unity3D使用Resources.Load实例化预设生成物体.完成场景恢复.

5)Q->R->S->T->V(下载场景数据):用户通过WebService下载场景,下载的数据格式为Json格式.

2 关键技术

数据中心三维可视化场景编辑器借助Unity3D进行三维可视化模型呈现.有四个关键技术点和算法改进:场景物体中批量算法改进的实现、场景的保存和恢复、环境实时监控系统、三维场景实时显示数据中心监控主系统的实现.

2.1 场景物体批量算法改进

本系统对原有物体批量算法进行了改进,原算法只能在X、Y、Z中某单一方向进行批量复制,而无法有效地在任意方向上批量生成物体.因此本系统在原有算法基础上增加了向.量来得到物体与鼠标之间的真实方向,从而使物体能够在任意方向上批量生成.解决了机柜不能按一定角度斜向批量摆放问题.

改进算法部分代码如下:

2.2 场景的保存和恢复

用户在三维可视化场景编辑系统完成场景编辑后,编辑器需要将场景数据永久保存.在此过程中,通过最高级别父物体向所有子物体广播信息,将每个子物体的位置position参数、缩放localScale参数、旋转eulerAngles参数、名称、所属预设的名称、父体的名称(以上是三维场景保存和恢复的必要数据)均以Json的数据形式发送给Web端,数据通过数据服务接口进行验证处理后保存到相应的数据库中.

场景保存流程如图4所示.

图4 场景保存流程

保存场景后,可以恢复场景,并重新编辑.恢复场景需要获得预设名字以实例化每个物体.

2.3 环境实时监控系统

环境监控一般是通过数据驱动实时自动生成和更新3D实景,快速反映出管理对象的位置、烟感、温感等变更情况 ,通过可视化的方式实时反映系统的运行状态,提供最贴近真实情况的虚拟现实环境.

2.3.1 位置信息数据驱动

对现实数据中心进行三维可视化场景的设计与编辑之后,需要将数据中心中的机柜、摄像头等物体的现实编号、机型等信息和对应的三维场景的物体名称(必须为唯一)并存入数据库,形成现实场景物体和虚拟场景物体一一对应的关系,这样能够提供一个动态修改接口保证三维场景物体信息实时变化.如当对现实中数据中心的机柜等物体进行移动时,只需在编辑器中输入该机柜移动的水平横向距离、水平竖向距离、垂直移动距离,根据位置转化算法将对三维场景里对应物体位置也做出相应的改变.

2.3.2 烟感、温感信息数据驱动

对于烟感,温感等实时显示,编辑器不做任何数据采集工作,它会通过标准接口WebService服务远程读取烟感器和温感器的实时数据和其所在位置信息,并在通过预设数据中心上方生成一个Plane,添加shader脚本,形成一个云图.将传感器位置信息通过位置转化算法获取在三维可视化场景中的云图位置坐标,并依据温度高低、烟感信息动态调整shader脚本里颜色RGB的百分比来实时支持云图的可视化渲染表现.

温感感应图如图5所示.

图5 三维场景温感感应图

2.4 三维场景实时显示数据中心监控主系统的实现

由于Unity3D已经提供调用本地授权摄像头的接口,当我们在本地运行该系统可以方便的查看本地摄像头的实时监控信息,这里也不在过多详述.

但是对于系统需要远程运行并查看数据中心监控主系统的情况,目前并没有相关的三维场景远程监控的公开解决办法.为了解决这一问题,提出了设计了基于UDP传输+ffmpeg解码+合成texture的解决方案.

流程图如图6所示.

图6 远程实时显示主控系统流程图

流程的主要难点有两个部分:

一、视频流转化为每帧数据.本编辑器使用了ffmpeg进行解码.首先穷举流格式,找到其VIDEO _TYPE,再找到对应解码器DECODER,最后从码流中读取FRAME数据.

二、Texture的容错控制.由于系统使用UDP无连接传输,在传输时会丢失数据包,这可能导致某个Texture无法绘制或者恢复顺序错误,需要容错控制.被恢复的视频流需要记录恢复的上一帧图像,如某帧恢复错误,视频流需要停留在上一帧进行等待,直到后面某帧图像正确恢复时才继续执行播放.对于每帧恢复顺序,采用一个队列的FIFO特性来保证视频流被恢复的帧顺序不会发生改变.

3 编辑器运行效果

本系统借助Unity3D引擎实现了数据中心从物理到逻辑的三维场景可视化,可以直观简单的看到层次化图片所对应的物体,点击图片后向发送Unity3D消息,通过射线碰撞得到鼠标位置信息并实例化物体.借助物体上所附脚本来编辑物体,最终通过编辑不同模型组建成一个三维可视化数据中心.并将数据驱动的环境监控和远程显示主监控系统来达到多种数据融合到统一虚拟监控窗口,减少数据孤岛的现象.

数据中心可视化场景编辑器运行效果如图7.

图7 运行效果图

如果将该系统的3D模型替换成其他场景的模型,同样可以使用该编辑器开发其他三维可视化场景.

4 结语

本系统通过提供直观的,交互性的界面,使用户可以快速的搭建三维可视化数据中心,解决了可视化场景复用性较差的问题,提高开发效率.本文所述技术路线和功能部分并不局限适用于数据中心的可视化场景开发,同样适用于其他场景可视化编辑系统的实现,在三维场景开发中提供了一定的技术参考价值.

1龚昊,张琦.数据中心三维可视化管理软件的设计与实现[硕士学位论文].北京:北京邮电大学,2012.

2刘柱,李先毅,刘瑾.基于UNITYWeb3D虚拟校园的设计和实现.中国教育网络,2014,(11):77–78.

3朱惠娟.基于Unity3D的虚拟漫游系统.计算机系统应用, 2012,21(10):36–39.

4任国栋,陈林华,陶雪峰,方先行.基于Unity3D的虚拟博物馆信息三维可视化系统.计算机系统应用,2013,22(9):86–90.

5张敏,陈云海.虚拟化技术在新一代云计算数据中心的应用研究.广东通信技术,2009,29(5):35–39.

6 Yang K,Jie J.The research of making scenic wandering system based on Unity 3D.IEEE Workshop on Electronics, Computer andApplications.2014.237–239.

Design of Scene Editor for Three Dimension Visualization of Data Center

WANG Lei1,2,LIAN Dong-Ben2,WANG Jun-Lin3

1(University of ChineseAcademy of Sciences,Beijing 100049,China)
2(Shenyang Institute of Computing Technology,ChineseAcademy of Sciences,Shenyang 110168,China)
3(Dalian University of Technology,Dalian 116024,China)

Aiming at the problem of poor reusability of the 3D visual scene’s repeated development in data center,a visualized editor system for three dimension visualization of data center is proposed.With the aid of 3D engine technology,the system provides a complete,visual and networked environment design platform for managers in the way of simulation,three-dimension and interaction.With high efficiency and flexibility,it can create 3D scene for data center for scene modeling and auxiliary design of the data center.The visual editor is structured on Unity3D engine and web technologies,which not only provides intuitive browser interface and real time environment monitoring system for users, but also solves the problem of remote real-time monitoring of data center monitoring in the way of three dimensional scenes.Users can use it to build a three-dimensional visual scene quickly,reducing duplication of development.Based on other 3D models,this system can be also widely used to build and edit scene of three dimension visualization for other non data center.

data center;three dimension visualization;scene editing;Unity3D;remote monitoring

2016-08-27;收到修改稿时间:2016-09-29

10.15888/j.cnki.csa.005753

猜你喜欢

编辑器数据中心可视化
基于CiteSpace的足三里穴研究可视化分析
自然资源可视化决策系统
思维可视化
自然资源可视化决策系统
浅析数据中心空调节能发展趋势
司空见惯感觉烦 锁屏画面快走开
编辑精选APP
关于建立“格萨尔文献数据中心”的初步构想
你距离微信创作达人还有多远?
2017第十届中国数据中心大会榜单