APP下载

基于虚拟现实技术的信息管理系统设计

2020-04-08胡利军庄科旻许皓皓黄思源

计算机技术与发展 2020年3期
关键词:网络设备机柜机房

胡利军,庄科旻,杨 豪,许皓皓,黄思源

(宁波市气象网络与装备保障中心,浙江 宁波 315012)

0 引 言

随着IT信息技术的发展,基于虚拟现实技术以3D可视化的呈现管理方式,结合物联网技术[1]、图形图像识别技术搭建一个智慧虚拟三维信息管理系统。让数据中心对象的管理更加直观、更具感知性,管理人员可以更加主动、方便地进行管理。

虚拟现实是以计算机技术为基础而生成的一种虚拟化的模拟系统,通过对真实情境的模拟和对虚拟环境的控制,增强了人机的交互性,获得身临其境的体验[2]。数据挖掘技术[3]通过对数据的分析,从大量的数据中提取有用的数据,在虚拟现实信息管理系统上进行有效展示。物联网技术是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,将任何物品与互联网相连接,进行信息交换和通讯,以实现智能化识别、定位、追踪、监控和管理的一种网络技术[4]。物联网技术能使机房管理更加智能、便利。

1 总体设计

以图形图像技术为核心,用3D虚拟可视化的方式呈现管理内容[5],以物联网的技术来实现物物相连、人物相连,充分展示数据中心网络设备、服务器、安全设备等被管理对象,提升管理的可视化和效率。

平台采用C/S的软件体系结构,以图形图像技术为核心,以TCP/IP作为物联设备和功能系统的基本通讯协议,具有独立的3D可视化图形图像引擎,负责模型的可视化管理及呈现[6]。可视化管理框架如图1所示。

图1 可视化管理框架

系统架构分为四层,分别为基础层、业务层、管理层和服务层[7]。

(1)基础层。

基础层由服务器信息、网络设备、安全设备、监控视频、UPS、空调等信息数据采集及其他模块组成。数据中心服务器、网络设备等被管理对象以3D可视化的形式呈现,实时显示在数据中心的位置、放置机柜、当前运行状态及系统信息,通过权限配置可以增删管理内容。

(2)业务层。

业务层主要处理系统相关的业务信息,含监控管理、服务器等被管理对象的管理功能,对设备和数据的可视化呈现,对被管理对象产生的异常数据进行有效管理。同时通过与其余系统的对接,读取与IT业务相关的信息,以3D虚拟方式呈现并进行相应的管理。

(3)管理层。

管理层主要包括用户管理、权限管理、被管理对象可视化管理等。对系统平台进行管理、角色分配、权限设置、被管理对象增加删改、功能布局等。

(4)服务层。

服务层主要包括Sql数据库、数据通讯服务,对数据进行统一管理,以及系统内或者系统间的数据通信。

2 数据挖掘

数据挖掘是对存放在数据库或其他信息数据库中的数据进行提取,挖掘出有用信息的过程。被管理的对象包括服务器、网络设备、安全设备,以及空调、UPS等机房附属设备,涉及设备、系统运行情况、网络安全、信息预警、机房温湿度、用电、系统日志及管理员出勤、操作等数据信息。通过数据采集、关联、挖掘,实现多源数据的统一管理。来自各个渠道、各种设备、系统的数据经过处理,抽取有用的信息,转换成规定格式数据,按预定的规则存入应用数据库。然后在系统平台上进行数据装载、序列或并行展示和提醒。

2.1 数据采集

从设备、系统等被管理对象进行多源数据采集,含基础信息数据、日志分析数据、运行状态分析提取数据等。数据归一化入库模式分几类:数据库间数据交换模式、定格式文件采集导入模式、直接录入模式。通过服务调用进行自动或手动的数据传输实现数据采集。

2.2 数据加工

标准的数据处理模块分过滤、格式转换、合并、拆分几类。不同的系统使用数据的方式和格式不一样,为便于系统间的数据交换,需要开发数据处理模块,以实现不同系统间自动的数据格式转换,包括数据库数据、文件数据、XML格式数据等。从数据源中获取数据,经过清洗提取有用信息,进行转换和整合,装载到数据资源库中,同时负责数据在不同层的业务应用间的加工和装载。通过使用ETL抽取工具和存储过程脚本相结合的方式,进行数据抽取、转换、加载。由于数据源系统比较多,数据整合功能需要具备灵活的配置能力,包括整合规则的配置、整合方式的配置和整合频度的配置。

2.3 数据清洗

对从源数据过来的数据进行清洗和转换[8],在这个过程中,要从多源数据中提取有用的数据,并清洗掉无用的数据,使其符合策略规定。数据挖掘中,大部分的工作花在数据清洗上,格式的统一、数据的归一化、数据的去繁从简、数据完整性等。日志信息的提取,就要提取异常的信息数据进行分析,清洗掉正常的信息。对于一些气象探测数据就要按照一定的方法进行数据填补。

数据中心平台ETL工具中的数据转换的任务主要是根据字段映射关系生成新表、不一致的数据转换和一些业务规则的计算。根据预先制定的转换规则和映射关系生成新的数据表以及中间表和汇总表等,不同业务有不同的规则和指标,需要对数据指标进行预计算,以供分析使用。

2.4 挖掘实例

把数据挖掘技术融合到检测网络安全中,分析原有入侵信息的数据,挖掘提取出各个行为特征、分析入侵行为的规律,从而建立入侵特征库来进行网络安全分析[9-10]。

采用基于模糊关联规则挖掘的网络入侵检测算法,模糊关联规则算法通过引入模糊理论建立入侵检测行为规则,能有效提高特征之间的关联,具有较强的适应性。先提取入侵行为的特征,采用模糊关联规则算法对特征进行挖掘,减少特征之间的关联度,然后建立网络入侵检测的分类器,从海量数据中发现规律,找出一些有重要贡献的特征数据;然后引入模糊理论对特征数据进行处理,给每个特征赋一个模糊值,并根据模糊隶属度函数得到每个特征的模糊隶属值。利用向量机对样本进行学习,建立最优网络入侵检测的分类器,采用测试样本对网络入侵检测分类器的性能进行分析。

通过上述机器学习样本建立,然后收集网络状态信息,提取网络的状态特征,根据隶属度函数值对网络入侵的特征进行处理。通过模糊关联建立的入侵特征库对网络信息日志服务器中实时信息进行检测,分析其行为,当发现有入侵特征的行为时,进行实时报警。如2018年10月9日,入侵检测系统检测到web服务器192.168.-.---的http响应里面出现Directory请求(目录遍历),提交到数据库。本系统实时监控该数据库,读取该报警后,及时在监控平台的服务器上显示受到攻击的类型和攻击者的ip等详细信息,方便值班员及时处理。

3 虚拟可视化实现

虚拟漫游在建筑、旅游、游戏、航空航天、医学等多种行业发展很快。其中虚拟建筑场景漫游是虚拟漫游的一个代表性方面,它是虚拟建筑场景建立技术和虚拟漫游技术的结合,前者是基础,后者是系统运行方法[11]。与传统漫游手段相比,虚拟漫游更具有沉浸感、交互性和构想性。对新事物认知的需要,能够身临其境地去体验事物已经成为一种使用习惯[12]。通过虚拟漫游技术可以带来三维体验感,操作的交互性实现了人机关系的跨越,使漫游体验更真实[13]。平台使用Unity 3D实现虚拟漫游技术[14],使管理员在异地操作时更真实、清晰。图2是大楼周边环境,通过操作可以模拟浏览周围环境。

对象虚拟可视化呈现的步骤如图3所示。

3.1 三维建模

构建三维模型时需要利用3D MAX对建筑物、道路、树木、机房场景和设备进行建模、贴图和模型烘焙[15]。

图2 大楼周边环境

图3 对象呈现流程

整个虚拟模型包括大楼外景观、设备检定室、高性能机房和数据中心。大楼外景观包括大楼周围建筑物、道路、树木植被等。设备检定室包括计算机、检定仪器设备、被检传感器等。数据中心机房和高性能机房包括机柜、服务器、网络设备、安全设备、配电柜、空调、温湿度传感器、视频监控等。

3.2 模型导入

将用3D MAX建立的模型转换成fbx文件导入到Unity 3D中,下一步为模型创建预置体。预置体可以重复使用,几个object(对象)可以用同一个预置体创建,这就是对象的实例化[16-17]。

因为机房机柜、服务器、网络设备等设备数量是会发生变化的,所以不能事先创建对象,只能在程序中实时创建。事先对各种品牌、各种型号的服务器、网络设备、机柜创建模型,建立预置体。把各种设备信息录入到数据库中,当新购入设备后,通过添加设备程序加入到服务器信息表中,使服务器信息表的数据代表机房实时服务器、网络设备状况。

图4 设备信息表

图4是设备信息表数据结构。脚本通过读取服务器信息表数据和服务器预置体名称比较,获取相同类型的预置体进行实例化,设置服务器信息。

代码如下:

//获取形同类型的服务器预置体实例化

go=GameObject.Instantiate(CtrlUIPublicClass.getByGameName(list[i].namepre,servers)) asGameObject;

//设置父节点

go.transform.SetParent(fmodel.transform,false);

//设置位置

go.transform.localPosition=new Vector3(c_x,c_y,c_z);

go.transform.localEulerAngles=new Vector3(r_x,r_y,r_z);

go.transform.localScale=Vector3.one;

3.3 与机房设备交互

Unity 3D内置的组件将物理引擎、声音引擎、碰撞检测、动画组件、场景管理等模块封装得非常易用,可视化的编辑器,可以帮助开发者实时预览场景效果,其界面交互技术也是实现二维模型与全景图像集成化管理漫游的关键。系统机房机柜单独呈现,点击机柜单独呈现机柜,模拟机柜开关门,点击机柜服务器有动画抽出动作,显示服务器及设备相关参数、图片信息、应用信息,如是网页应用能跳转到相应的网页。

(1)场景旋转。

点击旋转按钮,场景随着第一人称视角旋转。在Unity 3D中,用transform组件来获取一个物体的位置,用transform的RotateAround方法可以实现场景旋转。图5是机房环境。

图5 机房环境

关键代码如下:

if(fmodelStartRotate && isFmodelClick){

fmodel.transform.RotateAround(RoateGameObject.transform.position,fmodel.transform.transform.up,Time.deltaTime * 10f);

}

(2)实现开关门动画。

点击房门,门慢慢开启。transform组件的Rotate方法可以实现物体按设置的角度旋转。关键代码如下:

if(objdoorOpen.transform.parent.gameObject.GetComponent().isOpenDroo){

temp=rotSpeed * Time.deltaTime;

objdoorOpen.transform.Rotate(temp);

rotulateCut+=temp;

}

else{

temp=rotSpeed * Time.deltaTime;

objdoorOpen.transform.Rotate(-temp);

rotulate+=temp;

}

(3)服务器进出动画。

点击服务器,服务器慢慢抽出。transform组件的Translate方法可以实现物体按照设置的方向移动,如图6所示。

图6 服务器信息

关键代码如下:

if(updateObj.GetComponent().ServerId==lastObj.GetComponent().ServerId){

temp=speed * Time.deltaTime;

updateObj.transform.Translate(temp);

}

(4)通过点击实现链接交互。

界面实现链接主要通过GUI实现,通过点击服务器或网络设备。模型实体的链接交互通过检测鼠标点击事件进行。在创建模型实体的脚本中添加该实体的onClickServerBtn()事件,在这个事件中编写相应的函数就可实现需要的效果。如需要知道该服务器的详细信息,通过点击该服务器,就会弹出该服务器的详细介绍,核心代码如下:

public void onClickServerBtn(){

cpc.printServerModelTOPanel(serverModelPanel.transform.FindChild("ServerModelGrid").gameObject,serverModelBlack,1);

}

3.4 部署和使用

Unity 3D应用可以部署成单机使用和网络使用。

3.4.1 单机使用

一般情况下,默认的是单机发布。点击Unity的build setting会弹出一个客户端操作系统的对话框,进行发布,并且把需要的场景按照顺序拖放至Current中,用来实现链接跳转。点击build按钮后,设置分辨率和渲染质量后,生成一个EXE格式的可执行文件与一个文件夹,保持文件和文件夹目录一致,不然会导致无法运行。

3.4.2 网络使用

点击Unity的build setting后,选择web player选项,build生成一个网页文件和一个.Unity 3D文件,然后在iis服务器上配置好后就能实现网络发布。服务器端将网页和.Unity 3D 文件配置好后,用户通过浏览器进行访问。

3.4.3 使用结果

由于Unity 3D的发布运行不需要额外的安装程序,单机发布后直接点击EXE文件就可运行,网络发布只需要安装一个大约500 KB的控件就可以运行。该平台投入运行后,运行流畅,操作设备时真实性、交互性较强。

4 结束语

采用三维虚拟技术来开发数据中心信息管理系统,实现了场景驱动、交互、多平台部署功能,使用户能够通过单机、网页运行该平台,在三维模拟中进行工作。与传统的实地操作相比,节省了时间成本和人力成本,提高了工作效率。另外,由于数据中心被管理对象,网络设备或服务器等随着时间的推移在不断地更新、升级,为了确保系统模拟的真实性,要及时做好信息系统的更新维护,及时将新对象建模和导入到应用程序和数据库中。

猜你喜欢

网络设备机柜机房
DCS机柜用电现状分析
一种基于C# 的网络设备自动化登录工具的研制
一种计算机联锁机柜工程图纸的自动化生成方法
基于PLC的通信车配电机柜设计
N通信公司机房节能技改实践
数据中心唯“快”不破
新型有线电视机房UPS系统的配置
大功率发射机房冷却送风改造
聚酯工厂DCS机柜盘内布置概述
谈有线电视前端机房的防雷接地