基于OPC XM L DA规范的分布式机房监控系统设计

2011-07-09 01:40丁健生
长春工业大学学报 2011年3期
关键词:机房客户端分布式

丁健生

(长春工业大学软件职业技术学院,吉林长春 130022)

0 引 言

随着计算机和网络技术的迅速发展,越来越多的企业、机关开始全面实施信息化办公,各种业务对计算机的依赖性越来越高,计算机机房的安全问题也变得越来越重要。现代化的机房必须配备完善的数据采集及监控系统,实时监控机房的温度、湿度、电磁、烟尘及各服务器的运行状态等可能影响设备正常运行的因素。然而由于监控设备种类繁多,不同厂家生产的监控设备其通信规则往往互不相同,导致各种业务系统的开发者不得不为每一种监控设备分别开发数据采集程序[1]。这种模式不仅加重业务程序开发者的负担,将大量的精力浪费在与业务无关的底层硬件通信程序上,而且不利于整个系统的升级和扩展。当添加新的监控设备或更换原有监控设备时,必须修改每一个业务系统的数据采集程序。因此,监控系统的设计需要一种灵活的松耦合解决方案[2]。

OPC(OLE for Process Control)是由OPC基金会提出的新一代工控软件规范[3],其中OPC XML DA(Data Access)规范规定了控制程序与不同的设备之间进行数据存取的标准。采用了OPC XM L DA规范之后,不同的设备可以使用统一的数据交换格式与控制程序通讯。在很大程度上降低了应用程序开发的复杂性。OPC XML DA规范采用SOAP/HT TP协议传输数据,适用于Internet远程访问。在本质上,OPC XML DA是一种Web服务[4],可以在任何支持Internet的操作系统上进行访问,包括Window s,Linux,Unix等主流操作系统,十分适合综合性的分布式控制系统。

目前,国内OPC XML DA规范的应用主要集中在大型工业控制系统中,如大型车间、电厂、油田等环境。对于其在机房监控等轻量级系统中的应用,尚缺乏推广。文中基于OPC XML DA规范设计并实现了一套分布式机房监控系统,通过该系统的实施,可以有效地实现Internet、Wap、短信及Windows客户端等多种途径的机房信息实时监控,且系统具有良好的开放性,易于扩展和维护。

1 系统硬件架构

分布式监控系统的硬件架构由内网应用及公网应用两大部分组成,内网主要负责实时数据采集并通过OPC服务器发布,公网应用为各种远程客户端提供服务。系统的硬件拓扑结构如图1所示。

图1 分布式机房监控系统硬件架构拓扑图

各种传感器通过各自的连线方式与控制机相连,在控制机上运行数据采集程序,控制机通过交换机与OPC服务器相连,构成采集、发布监控信息的高速局域网络。此网络本身可作为一个独立的系统运行,也可在其上通过添加应用服务器来部署若干应用程序(如报警及监控日志记录等),构成一个封闭的内网应用环境。

现代化的监控系统通常要求负责人能够随时随地利用多种方式查看监控信息,如浏览器、智能移动设备甚至手机短信等方式。当某一监控数据超过设定的阈值后(如机房温度超过警戒值),监控系统应立即向负责人发出警报,即使在无人监守的情况下,也应以短信或手机呼叫等方式通知负责人,以减少重大事故发生的几率。显然封闭的内网应用并不能满足此需求,为此分布式监控系统的设计提供了支持公网应用的能力。

监控系统支持多种公网应用,如Internet网络、GPRS网络、GSM网络等,并可以根据需要添加新的扩展应用或移除某一应用。OPC XML DA服务器本质上是一种Web服务,部署在IIS服务器上,如需要提供Internet支持,仅需要将交换机接入广域网并设置IIS服务器的IP地址即可轻松实现Internet访问。如需要在智能移动设备上使用Wap形式访问监控信息,只需要在局域网内架设一台Wap服务器,以该服务器作为中转,将OPC XML DA服务器提供的数据转发给Wap客户端即可。如果需要通过手机短信来获取监控数据,可在局域网内增加一台短信服务器,在收到短信请求以后,从OPC XML DA服务器读取数据,再以短信的形式发送给手机用户。该模式还可与报警服务程序相结合,从而实现险情发生时以短信或手机呼叫的模式主动报警。

2 系统软件架构

分布式机房监控系统的软件设计采用分层式松耦合架构,从下至上可分为数据采集程序、统一数据源、应用服务程序及应用客户端程序4层。系统以OPC XML DA Server为统一数据源,将底层各种数据采集程序所采集的数据以统一的接口进行发布。以数据源为基础构建各种应用服务程序,在应用服务程序的基础上再构建各种应用的客户端。系统的整体软件架构如图2所示。

图2 分布式机房监控系统软件架构图

各种针对特定传感器而开发的数据采集程序是整个分布式监控系统中的最底层软件,直接与硬件通信,是监控系统的原始数据来源[5]。通常提供硬件设备的厂商都会配套提供相应的设备驱动程序,在此基础上加入局域网通信模块(文中采用远程过程调用RPC方式)即可构成数据采集程序。

OPC XML DA服务器在整个分布式监控系统中起着“承上启下”的作用,是整个系统的核心。对下,OPC XML DA服务器需要将各数据采集程序采集到的数据按照统一的服务器组项的格式进行封装;对上,需要发布符合OPC XML DA规范的8个Web Service接口[6],为其上的应用服务程序提供统一格式的数据源。

应用服务程序从OPC XML DA Server获得监控数据,以此为基础开发各自的业务功能,如短信响应、自动报警、监控日志记录等。最终用户可通过应用客户端程序访问相应的应用服务程序,实现对机房随时随地的监控,从而构成功能强大的分布式监控系统。

由于使用OPC XML DA作为数据源,各应用服务程序不再需要关心各种不同的硬件设备的通信问题,只需按照统一的接口便可从OPC XML DA Server获得监控数据,大大简化了业务程序的开发工作。传统监控系统架构与基于OPC XML DA规范的监控系统架构对比示意图如图3和图4所示。

图3 传统监控系统软件架构

图4 基于OPC XM L DA规范的监控系统架构

通过对比容易看出,基于OPC XML DA规范的架构设计使应用程序的开发者从繁杂的硬件通信接口中解脱,只需要专注于业务功能的开发,而硬件通信的复杂性被隔离在OPC XML DA Server以下的数据源层。这样的设计很大程度上降低了应用程序开发的复杂度,也使得系统易于扩展和升级。

3 OPC XML DA服务器设计

OPC XML DA Server是整个监控系统的数据来源,负责为其上的所有应用程序提供数据,是整个系统的核心部分。在实现上,OPC XML DA服务器是架设在IIS(Internet Information Service)上的一个特殊Web服务,它包括管理模块、实时数据采集模块、数据缓冲区以及OPC XML DA接口4个部分。OPC XML DA服务器的结构框架如图5所示。

图5 OPC XM L DA服务器结构图

管理模块负责系统的初始化及参数设置。

通信模块负责与数据采集程序通信,并从中获得监控数据。该模块的设计采用可配置形式,在配置数据库中存储各个数据采集程序的配置信息。当OPC XML DA服务器加载时,将根据配置数据库中的配置信息来调用各个数据采集程序,从而获得实际监控数据。

由于数据采集操作较为耗时,加上不同的硬件设备的响应速度差别也较大,当需要采集数据的设备较多时,如采用单一线程进行轮询访问,会严重影响服务器的响应速度[7-8]。为解决上述问题,OPC XML DA服务器在设计时对数据采集程序采用多线程(MultiThread)并发控制,为每一个数据采集程序动态创建一个监控线程,主线程通过信号机制协调控制各监控线程的工作。监控线程间在宏观上处于并行状态,彼此互不干扰,一个监控线程处于等待状态时并不会影响其它线程运行,从而保证使各种速率的设备均能发挥最大效率。

通信模块获得的数据是实时的,在通过WebService接口发布之前,通信模块会先将采集到的数据写入一个数据缓冲池内。缓冲区是设备数据的临时存储区,在实现方式上,缓冲池是一块内存存储区,通信模块将采集到的实时设备数据暂存在缓冲池内,如果有OPC客户端请求数据,OPC服务器会立刻将缓冲池内的最新数据发送给客户端。此外,OPC服务器会定时处理缓冲池内的数据,将缓冲池内的数据存入历史数据库,并清空缓冲池。

WebService接口模块负责接收来自OPC XML DA客户端的请求,并根据请求将数据缓冲区中的数据封装成SOAP消息回馈给客户端,从而对客户端的请求做出应答,为客户端提供数据来源。

4 系统实现

通过对OPC XML DA服务器的访问,各种应用程序可以很方便地获得标准格式的监控数据。限于硬件条件,文中仅对机房温度及湿度数据进行了采集。采用Windows桌面程序开发的监控客户端运行界面如图6所示。

图6 机房监控Windows客户端程序界面

5 结 语

分析了OPC XML DA服务器的工作原理,设计了一种基于OPC XML DA规范的分布式机房监控系统。该系统以OPC XML DA服务器为统一数据源,对各种应用程序提供统一的数据访问格式,屏蔽了复杂的硬件设备通信细节,降低了应用程序开发的复杂性。通过该系统的实施,可以实现Internet、Wap、手机短信等多种形式的机房监控,从而构建一个功能强大的分布式机房监控系统。同时,该系统的设计具有通用性,对于其它类型的监控系统也有借鉴意义。

[1] 邢建春,王平,仲未央,等.工业控制软件互操作标准OPC综述[J].工业控制计算机,2006,13(1):29-32.

[2] 岳晓峰,刘磊,王剑飞.分布式远程油井无线监测系统的设计与实现[J].长春工业大学学报:自然科学版,2004,25(4):14-16.

[3] 陈德美,牛秦洲,张烈平.基于OPC的MAT LAB与组态王的数据通信[J].长春工业大学学报:自然科学版,2006,27(4):308-310.

[4] 薛福珍,王海明.基于OPC XM L-DA技术的远程监控系统的设计[J].控制工程,2007(3):182-184.

[5] 孟逢逢.冗余OPC数据采集系统的设计与实现[J].计算机应用,2009(1):256-257.

[6] OPC XML-DA Specification version1.01[S].OPCFoundation,2004.

[7] 张尧弼,王巍.OPC XM L技术在工业信息数据通讯中的应用[D]:[硕士学位论文].上海:上海交通大学,2008.

[8] 刘丽.基于OPC XM L-DA实现远程实时监控的研究与设计[D]:[硕士学位论文].杭州:浙江大学,2007.

猜你喜欢
机房客户端分布式
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
N通信公司机房节能技改实践
某IDC机房结构设计
新型有线电视机房UPS系统的配置
大功率发射机房冷却送风改造