0 引言
随着信息化程度的不断提高,机房计算机系统设备的数量与日俱增,其环境设备也日益增多,机房环境设备(如供配电系统、UPS电源、空调、消防系统、保安系统等)必须时时刻刻为计算机系统提供正常的运行环境。因此,对机房环境实施监控就显得尤为重要。而传统的机房多采用人工值守的监控方式,费时费力,且往往达不到实时、全天候、全方位监控的目的。因此,便捷的、可靠的、安全的机房监控系统设计与开发显得尤为重要。
机房智能监控系统主要是对机房设备的运行状态、温度、湿度、洁净度以及供电的电压、电流、频率、配电系统的开关状态、测漏系统等进行实时监控并记录历史数据,从而实现对机房各项环境参数的实时监控功能,对存在的安全隐患能够及时报警,并自动采取对应的应急措施,为机房高效的管理和安全运行提供有力保障。
1 系统框架设计
中心机房智能控制器采用嵌入式操作系统,内嵌数据库,采用RS485总线接口。嵌入式操作系统稳定可靠、可扩展性强;通过嵌入式系统中内嵌的数据库,可以方便地对采集的数据进行归类、分析及处理:RS485总线接口通信距离远、稳定,可以支持32个节点的数据传输。
中心机房智能控制器采用B/S架构,内嵌Web服务器。管理员可以通过上位机直接访问嵌入式集成智能控制器的Web服务器,直接通过网页对智能控制器中的数据进行查看和修改,从而大大减少了用户的工作量及成本。Web服务器可以图表的形式显示用户需要查看的数据,并可以对于处在不同范围内的数据采用不同的颜色进行显示,以示区别。显示内容直观、便捷、美观,增强了系统的用户体验。
图1所示是中心机房控制系统结构图。本系统通过各类传感器实时监测和采集机房环境数据,并将这些数据反馈给中心机房,以便工作人员对采集到的数据进行分析和评估。一旦数据(例如温度、水压)超过了预设的限定值,智能控制器集成的GPRS模块就会自动发送报警信息到机房管理人员的手机上,机房管理人员就能根据报警信息追踪到问题现场,以便及时采取应对措施。】2 系统硬件平台设计
图2所示是中心机房智能控制器硬件框图。本系统中心机房智能控制器的硬件主要由11个模块组成:CPU处理器模块、内存模块、NAND FLASH模块、NOR FLASH模块、电源模块、GPRS模块、RS485总线接口、以太网接口、USB接口、扩展串口、预留GPIO接口。其中,CPU处理器模块、内存模块、NAND FLASH模块、NOR FLASH模块集成在mini6410核心板上;自制外围板包含有DM9000网卡模块、3路USB扩展接口模块、8路A/D采集模块、8路数字信号采集模块、两路RS485接口模块以及扩展的两路串口模块。
2.1 网卡模块
网卡模块采用DM9000网卡芯片,可以自适应10/100M网络,RJ45连接头内部已经包含了耦合线圈,因此不必另接网络变压器,而是使用普通的网线直连路由器或者交换机即可实现以太网的接口。
2.2 USB模块
USB模块对mini6410核心板的USB接口进行了外扩,外扩的USB接口可以接USB摄像头、USB键盘、USB鼠标、优盘等常见的USB外设,还可以接USBHub进行扩展,各个OS均已经自带USBHub驱动,因此不必另外编写或配置。本系统的USB接口外接GPRS模块,因此,可将异常的监测结果实时通过外接的GPRS模块以短信的形式发送到管理员的手机上。
2.3 模拟信号采集模块
通过模拟信号采集模块,可将温湿度传感器输出的模拟信号经过限幅、滤波等调整后,输入给S3C6410的A/D转换通道,同时将模拟信号转换成数字信号进行分析和处理。
2.4 数字信号采集模块
数字信号采集模块,可将数字信号经过光耦进行限幅处理后,经锁存器传递给S3C6410的中断输入引脚,以便CPU能及时地对相应的数字信号进行分析、处理和响应。
2.5 RS485接口
RS485接口组成的半双工网络为两线制,多采用屏蔽双绞线传输。接线方式为总线式拓扑结构,在同一总线上最多可以挂接32个节点。在RS485通信网络中采用的是主从通信方式,可同时与多台智能设备进行通信,如UPS设备、配电柜等。
2.6 串口模块
S3C6410共引出有4个串口,其中两路串口转RS485供智能设备通信,余下两路串口转接成RS232接口,一路外接拨号器,余下一路为调试预留接口。
3 系统软件平台设计
图3所示是本系统中的B/S架构框图。本系统采用B/S(Browser/Server)结构,即浏览器和服务器结构。系统分为表示层、业务逻辑层和数据库层三层结构。表示层位于客户端,即Internet Explore等Web浏览器,用于在客户端浏览器中显示用户界面,该层可以调用由业务逻辑层提供的业务方法;业务逻辑层是系统核心部分,主要担当业务的逻辑处理任务,包括处理表示层的数据请求,在为表示层提供业务功能的同时,通过数据库层来访问数据库;数据库层位于底层,主要用来实现数据库的交互,包括查询、插入、修改和删除数据库中数据的功能。
】
3.1 嵌入式系统(Linux)
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
本系统采用自裁剪的Linux2.6.38内核+UBIFS文件系统来构建操作系统,并且为数字信号采集、模拟信号采集、继电器控制等模块分别编写了GPIO及A/D驱动程序。Linux作为主流的嵌入式操作系统具有以下优势:
(1)小巧而功能完善的内核;
(2)充分满足硬件设备的实时性要求;
(3)具有很高的适应胜和可靠性;
(4)具有成熟的开发工具。
3.2 嵌入式数据库(SOLite)
嵌入式数据库可用于多种嵌入式操作系统。它将数据库与操作系统的具体应用集成在一起,由程序直接调用相应的API去实现对数据的存取操作。嵌入式数据库可以解决嵌入式系统内数据处理量不断增加、数据操作效率要求较高等问题。
本系统选用的是嵌入式数据库SQLite。SQLite是一款专门为嵌入式设备设计的轻型文件数据库,它占用资源非常低,在嵌入式设备中,只需要几百KB的内存就足够了,并且能够支持Windows/Linux/Unix等主流操作系统,同时能够跟很多程序语言相结合,比如C&C++、C#、PHP和Java等。
3.3 嵌入式Web服务器(apache)
嵌入式Web服务器可以对远程设备进行监控,用户可通过网络远程访问Web服务器来实现数据的采集和历史数据的查询,也可以通过各种接口对远程设备进行控制,从而实现远程监控,还可以向监控现场发送指令。此外,也可以根据需要添加新的控制功能,而无需对Web眼务器的框架进行大的改动。
通过移植apache web服务器和PHP运行环境,本系统可独立运行支持PHP语言的Web服务器,以方便用户通过浏览器查看所有监控数据及报警情况。至此,基于B/S架构的嵌入式系统已搭建完成。
4 系统应用程序设计
本系统所用驱动全部裁剪自内核,基于驱动的应用程序及数据库、apache服务器均采用开机自运行的方式启动。因此,初始化时只需简单的网络配置,后期系统上电即可使用,数据库中数据的管理、维护均通过网页完成,操作简捷、方便。
4.1 A/D采集程序
对采集到的模拟信号,通过A/D转换,并根据网页的配置,可对数据进行等比例计算,同时对计算的结果进行分析比较,以将波动较大的数据定时写入数据库,也可以对超过临界值的数据进行报警处理。
4.2 数字信号采集程序
数字信号采集程序与A/D采集程序的处理流程类似,也是对采集到的数字信号进行处理,并将有变化的数据写入数据库,对超过预设值的数据进行报警处理。
4.3 智能设备通信程序
本系统与智能设备的通信主要通过RS485模块,采用MODBUS协议,对常用的设备,智能设备通信程序封装了对应的协议结构,并对需要检测的数据进行计算处理,同时将有波动的数据写入数据库,对超过预设值的数据进行报警处理。
4. 4 看门狗程序
通过系统中的看门狗应用程序可以大大增加软件系统的可靠性。当程序出现异常时,看门狗程序能够迅速捕获到异常,并且快速重启系统。
4.5 报警监控程序
本系统主要是监控机房的各项指标,在指标超过安全范围时发出警报,以保证机房数据、信息等重要资源的安全。报警分为页面告警、短信报警、电话报警、蜂鸣器告警等四种,用户可以根据需求进行裁剪。其中,短信报警采用3G模块进行报警,电话报警则采用电话拨号器SMS报警。
5 结语
机房监控系统广泛应用于各行业领域的监控,确保机房设备的稳定运行,提高机房管理的安全性能和可靠程度,实现机房的科学管理。基于B/S架构的机房智能监控系统的设计与实现,可将Web服务器移植到嵌入式设备,因而操作简单,能够全天候地对机房设备的运行状态、温度、湿度、洁净度、供电的电压、电流、频率、配电系统的开关状态等进行实时监控。该系统一方面可以记录各项历史数据,能够方便用户对各项数据进行分析、判断;另一方面,可实现对机房各项环境参数的实时监控功能,对存在的安全隐患能够及时报警,并采取对应的应急措施,为机房高效的管理和安全运营提供有力的保证。