基于HTML5与物联网技术的大数据中心机房智能管理系统
2018-05-21彭灿华杨呈永张玉斌
彭灿华, 杨呈永, 张玉斌
(1. 桂林理工大学 现代教育技术中心, 广西 桂林 541004; 2. 渤海大学 基础教研部, 辽宁 锦州 121000)
0 引 言
近年来,随着高校校园信息化发展,网络信息已经覆盖了整个校园,学生一卡通消费、学籍、选课、成绩、借书、考勤、在线考试、论坛、上网日志等;教师的人事基本信息、办公信息、邮件、教学资源、科研、资产、财务、上网日志等都会产生大量数据信息。这些数据信息与学校教学管理及校园生活息息相关,信息量巨大,覆盖面广,数据存储结构已经具备了大数据特征,为高校信息化建设从数字化校园向智慧校园推进提供数据基础。如何保障校园庞大数据信息的安全、可靠,必须要有一个现代化的大数据中心机房来支撑。大数据中心机房管理必须是无人值守自动化和智能化管理,这就需要从下面3点进行突破:
(1) 机房出现故障需要在环境变化、硬件状态等方面设置预警参数,并多渠道第一时间发出预警信息,方便管理员及时处理。
(2) 除了对环境、硬件进行预警外,服务器云操作系统也是数据中心机房的核心,服务器云操作系统出现时,有优先第一时间预警功能。
(3) 由于机房处于无人值守状态,要求可以使用任意智能移动终端。接收预警信息,并进行有效处理。
以物联网技术为基础结合HTML5技术对大数据机房的软、硬件环境提供安全可靠的保障。
1 大数据中心智能管理系统技术框架
自2005年国际电信联盟(International Telecommunication Union, ITU) 正式提出了物联网(Internet of Things,IoT)[1-2]一词以来,物联网经历数十年的发展,从功能角度来看,物联网集成了多种具有感知、通信、计算和控制能力的网络化智能计算机系统。按其功能分为感知层、传输层、应用层,结构如图1所示。
图1 物联网架构图
1.1 感知层
感知层是物联网的最前端层,由各种传感器采集原始数据,同时结合ZigBee组成无线传感器。
1.2 网络传输层
网络传输层通过ZigBee无线发送上来的原始数据再通过路由器等网络设备与互联网连接起来,并将数据实时传送到后台服务器,实现数据与互联网的相互传输。
1.3 应用层
该层首先通过服务器接收网络传输层、感知层各网关节点信息,进行信息处理后保存在服务器上。实时通过手机短信和微信公众号推送接收各种预警的信息。客户端通过手机、电脑、笔记本、ipad等智能终端在享有权限范围内对使用HTML5设计的Web页面进行请求查询、统计、控制管理等操作。
2 物联网硬件实现
图1所示在最底层由前端感知节点采集数据通过ZigBee无线网关节GPRS模块将数据发送到Web服务器实现Inernet的传输[3-5]。
2.1 物联网前端传感器
物联网前端主要功能是采集数据,需要将系统中的物联网硬件传感器安装到机房合适的监测位置,保证采集到数据的准确,具体用到传感器明细如表1所示。
表1 感知层传感器明细
(1)温湿度传感器。温湿度传感器负责采集机房环境的温湿度、烟雾等数据发送到服务器。
(2) 红外线防盗。在非工作安全时间段启用红外防盗技术,当外来人员进入时可以及时报警。
(3) 空调传感器。把空调各种运行状态如当前温度、压缩机是否运行,风机是否运行等发送到服务器。
(4) 电源配电柜传感器。把机房供电情况如电流、电压等参数值发送到服务器。
(5) 配电开关状态传感器。把配电各路开关状态发送到服务器。
(6) UPS电源传感器。 把UPS输入电压、输出电压、输入频率、内部温度、UPS事故障、UPS连接状态、开关状态、使用状态、电量等发送到服务器。
(7) 抽风机传感器。把抽风机运行状态发送到服务器。
(8) 指纹门禁传感器。实时把出入门禁指纹记录、门区开关传输到服务器。
(9) 摄像头视频监控传感器。通过高清摄像头对机房内360°无死角进行视频监控,机房管理人员可以一目了然看到机房内的任何角落真实场景情况。
3.2 ZigBee传输节点设计
ZigBee[6-8]是一种由控制芯片及射频收发单元和GPRS模块等组成,一种短距离、低功耗、高可靠的无线通信技,适合用于自动控制和远程控制领域。各个终端传感器节点采集到数据后,通过ZigBee无线网络发送给数据采集协调器,然后把GPRS模块与移动互联网连接,并通过有线传输将信号送往Web服务器,最终可利用Internet、GPRS等网络实现双向通信进行智能管理。
3 基于HTML5智能应用系统实现
3.1 系统框架及技术介绍
智能应用系统的技术上框架采用ASP.NET MVC5[9]+JOSN[10]+HTML5[11]。包括基于HTML5终端层、JOSN格式传输层、基于ASP.NET MVC5服务处理层、数据库,框架如图2所示。
图2 应用系统架构图
(1) ASP.NET MVC5是相比之前的版本做了改写,整合了MVC、Web API、Web Pages功能,所有的功能和模块都进行了独立拆分,做到了彻底解耦。功能强大的 Web API,可以从任何移动/客户端请求访问获取数据。
ASP.NET Web API 是一个框架(framework),能让你在 .NET Framwork 之上架设 HTTP 服务 (HTTP Services)。ASP.NET Web API 是 .NET Framework 上构建 RESTful 应用程序的理想平台。
(2) JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。具有占带宽小(格式是压缩的)传输速度快,支持目前主流语言(C、C#、Java、JavaScript 、PHP等),便于服务端和客户端的解析和生成。
(3) 基于HTML5开发的网页解决传统的跨平台问题,可以在不同环境中一次性开发Web应用和网站,提高开发工作效率,开发的Web应用程序具有跨平台特性。HTML5 APP Cache开发APP拥有更快的启动速度和联网速度,提高可用性并且改进用户的友好体验。
同时在HTML5里结合WebGL可以快速打造出无插件纯Web HTML5 3D机房监控系统,WebGL是OpenGL的浏览器一个子集,支持大部分主要3D功能接口。
3.2 服务端功能设计实现
服务器端开发工具采用VS2015开发,数据库采用Sqlserver2012[12],开发框架用ASP. NET MVC5,用ASP. NET MVC框架能够快速而方便地创建Web服务,以便为HTTP客户端提供Web API接口。通过API对接收的数据与返回数据进行统一的封装整理生成JSON字符串,方便处理接收与返回数据,并对数据进行验证,通过C#的特性对token进行验证,并通过时间戳的方式统一处理接收与返回的时间格式。
部分核心代码如下:
(1) token进行验证,设置验证每个请求的权限:
……
// 如果需要验证
if (nt == null || (!nt.NotNeedToken))
{
// 根据token获取用户信息
var user = GetUser(req.token) ;
if (user == null)
{
// 判断Token是否失效
throw new APIException(200, "Token失效。");
} req.APIWorkContext = new APIWorkContext(); req.APIWorkContext.UserId = Convert.ToInt32(user.user_id); req.APIWorkContext.UserEmail = user.email;
……
(2) 处理Josn数据
……
// 反射创建对象
object APIservices = System.Reflection.Assembly.GetExecutingAssembly().CreateInstance(fullName, true, System.Reflection.BindingFlags.CreateInstance, null, null, null, null);
// 转化成类对象 BaseAPIService baseService = APIservices as BaseAPIService;
try
{
// 执行函数
baseService.Reqeust = req;
res = baseService.Process();
}
catch (APIException ex)
{
throw ex;
}
// 判断是否是直接返回String
if (res is APIContext)
{
return (res as APIContext).Context;
}
// 设置时间格式
var jsonSettings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore };
// 设置过滤null值为不显示 jsonSettings.Converters.Add(new UnixDateTimeConverter());
//返回Josn格式
return JsonConvert.SerializeObject(res, jsonSettings);
……
3.3 客户端功能设计实现
在客户端中,页面显示所需的数据通过请求服务器端获取JSON格式数据,并将JSON格式数据解析处理成HTML5页面显示。解析JSON对象直接使用JQuery操作的格式,jQuery是一个快速、简洁的JavaScript框架,可以非常方便的操作操作的是JSON对象,
部分代码如下:
$
$(document).ready(function(){
$.ajax({
$type:"GET",
$async: false, url:"json/GetJson_readerinf.action",
dataType:"json", success:function(data){
//读取各种预警状态信息$("#readername").html(data.readerinf[0].AirStatus);
……
3.4 系统功能结构
根据大数据中心机房管理业务需求分析出系统系统功能结构如图3所示。
图3 系统功能结构图
3.5 智能预警管理模块
作为学校大数据中心机房在学校信息化建设及智慧校园建设中地位显得非常重要,必须实时保障机房工作环境、硬件设备、通信线路、系统软件的正常安全运行,大数据中心机房任何环境设备出现故障,都能进行系统预警[13-14]。系统界面中利用三维图模拟机房空间,在对应位置显示各个设备传感器传递到监控中心的设备上,服务器接收到传输上来的数据后根据报警范围分析,当某个传感器获取到数据超出了预警范围时,通过绑定微信推送消息和发送手机短信消息预警,进入系统监控界面中对应位置进行声光报警,让管理员能第一时间知道机房故障,并能在任何地点移动网络通畅的条件下通过任何的移动终端进行调度管理,大大提高管理水平。目前主要在以下方面进行预警管理,流程图如图4所示。
图4 预警处理流程图
(1) 温湿度预警管理。智能应用系统智能预警管理中心根据温湿度传感器实时传输上来的温度湿度数据进行判断,当某个传感器传输的数据超出了设定的预警值时,系统界面中对应模型位置发出不同等级声音及不同颜色光报警,同时微信公众号和手机接收预警信息。
(2) 红外线防盗预警管理。安装防盗红外或激光探头,设置非安全时段外来人员非法进入,一旦发现人员进入机房,机房启动报警系统,第一时间通知管理员,管理员可以马上查看监控摄像头,实时掌握机房防盗情况。
(3) 空调预警管理。根据传感器传输的空调温度上限和下限是否超出范围预警,确保空调的24 h运行。
(4) 电源配电柜预警管理。对机房供电情况电压、电流进行预警。
(5) 配电开关状态预警管理。配电开关状态检进行报警,提醒管理员进行处理。
(6) UPS电源等预警管理。对UPS连接状态、UPS输入输出电压、使用电量、内部温度等进行预警。
(7) 抽风机预警管理。对抽风机开关连接状态报警提示。
(8) 指纹门禁管理。远程摇控数据中心门禁开关、查看历史进出记录。
(9) 大数据服务器云系统预警管理。通过vSphere监控的性能可以监控主机群集中所有虚拟机的 CPU利用率、内存利用率、存储使用情况等[15-16]。vSphere启用预警功能后,群集中所有运行的虚拟机只要有一台虚拟机满足预警范围,机房管理员立刻收到通过腾讯QQ接收到电子邮件通知。此时腾讯QQ邮件客户端或者机房管理微信公众号管理员推送报警邮件信息。也可以通过腾讯QQ邮箱绑定手机第一时间收到邮件短信。
3.6 智能管理预警系统监控页面
登录机房智能管理系统,预警监控界面如图5所示。
图5 系统监控界面
前端传感器采集发送过来的数据如果达到预警值,系统建模界面有不同颜色来表示当前警告级别。管理员在不同类型、系列的移动设备通过点击报警图标查看详细的预警参数信息状态变化,并切换到相应的管理设置页面对相关设备进行管理控制,可以有效避免各种故障发生,有效提高了管理工作效率。
4 结 语
本文针对大数据机房管理自动化及智能化管理要求,要求管理员能在不同场所用不同类型、型号的移动设备上对机房环境和软硬件运行状况实时直观掌握,并能进行相应远程智能处理,提出通过物联网及其关键技术,对机房温湿度、红外线防盗设计、空调设备、电源配电柜、配电开关状态、UPS电源、抽风机、指纹门禁、摄像头智能监控、云操作系统等通过传感器实时监控并上传到服务器。在服务器端通过ASP.NET MVC+SQL开发服务端程序对各个传感器发送上来的数据进行检测处理。客户端通过基于HTML5技术开发能兼容不同类型、型号移动客户端智能管理系统。通过该系统的实现有效地提高机房管理员的工作效率和管理水平。
参考文献(References):
[1] 孟钰宇.数据中心机房监控系统的设计与实现[D].北京:北京工业大学,2013.
[2] 沈苏彬,杨 震.物联网体系结构及其标准化[J].南京邮电大学学报(自然科学版),2015, 35(1):1-18.
[3] 周卫东.物联网体系结构与实现方法的比较研究[J].信息系统工程,2014(10):141-142.
[4] 符云密.物联网实验网的设计及实现[D].广州:华南理工大学,2012.
[5] 海 涛,陶 虎,林 波,等.基于物联网智能感知系统的设计[J].实验技术与管理, 2013(7):103-108.
[6] 张立立,徐 勇,孙开宇.基于ZigBee技术的无线数据采集系统的研制[J].实验技术与管理, 2012,29(5):139-142.
[7] 王小强,欧阳骏,黄宁琳,编著.ZigBee无线传感器网络设计与实现[M].北京:化学工业出版社, 2012.
[8] 孙冠男.基于ZigBee协议的物联网实验教学平台的设计与开发[D].济南:山东师范大学,2014.
[9] 罗建兵.基于.NET MVC5基础框架的公共体育课管理系统的研究和开发[D].重庆:重庆大学,2015:13-20.
[10] 林博辞.Ajax框架及JSON技术在J2EE架构中的研究与应用[D].大连:大连海事大学, 2012.
[11] 董 霁,杨丁宁,史德年.基于HTML5技术的移动智能终端应用及安全问题研究[J].现代电信科技,2012(12):1-7.
[12] 冯 艳.SQL Server数据库运用及其性能优化分析[J].软件导刊,2012(3):166-168.
[13] 崔贯勋.基于物联网技术的实验室安全管理系统的设计[J].实验室研究与探索,2015, 34(3):287-290.
[14] 吴蓬勃,李学海,杨 斐,等.基于物联网的智能实验室研究与实践[J].计算机测量与控制,2016(2):78-85.
[15] 谭文辉.基于VMware虚拟化的安全分析[J]. 舰船电子工程,2012(5):113-115.
[16] 施 庆.基于VMware vSphere的高校数据中心虚拟化建设研究[D].上海:复旦大学,2012.