基于Web的B/S结构实时监控系统
尉学军,刘 跃
(贵州工业大学 电气工程学院,贵州 贵阳 550003)
摘 要:提出了怎样利用Web技术对生产过程进行监控,介绍了其基本结构和工作原理,并对系统所采用的关键技术进行了讨论。
关键词:B/S结构;ASP;ActiveX控件;DLL;实时监控
中图分类号:TP277;TP311.54 文献标识码:B
0 前 言
随着企业生产规模的扩大和网络技术的发展,为了更好地实现企业内部信息的共享和作出及时的决策,传统意义上的对生产过程进行监控已经不能满足现代化企业的要求。通过与网络技术相结合,以高效、可靠的方式实现企业内部数据的利用最大化,使企业能够对生产过程进行实时监控,并且对所发生的意外情况及时进行处理,就显得越来越迫切了。
Intranet是Internet技术在企业内部进行信息传递的产物,在我国大中型企业中得到广泛的应用。在工业监控系统中,应用Web技术实现远程监控,成了越来越多的企业不可缺少的重要组成部分。目前,从结构模式上讲,有B/S(Browser/Server)结构和C/S(Client/Server)结构。
1 B/S结构和C/S结构的比较
C/S结构就是传统意义上的客户机/服务器模式,系统任务分别由客户机和服务器来完成。服务器具有数据采集、控制和与客户机通信的功能;客户端则包括与服务器通信和用户界面模块。这是一种典型的“瘦服务器/肥客户机”的模式,它有以下缺点:
(1)部署困难,除了要安装服务器软件外,对每台客户机都要安装客户软件的一份拷贝。
(2)满足不了客户端跨平台的要求。一般来说,客户端的操作系统是不同的,与此对应的客户端程序也是不同的。但是,为每一种操作系统设计一个客户端程序是不现实的。而要求客户放弃已有的操作系统来购买一新的操作系统会使客户付出很大的代价。
(3)管理、维修费用高、难度大。
于是,我们就在传统的C/S结构的中间加上一层,把原来客户机所负责的功能交给中间层来实现,这个中间层即为Web服务器层。这样,客户端就不负责原来的数据存取,我们只须在客户端安装浏览器就可以了。把原来的服务器作为数据库服务器,在数据库服务器上安装数据库管理系统和创建数据库。Web服务器的作用就是对数据库进行访问,并通过Internet/Intranet网传递给浏览器。这样,Web 服务器既是浏览器的服务器,又是数据库服务器的浏览器。在这种模式下,客户机就变为一个简单的浏览器,形成了“肥服务器/瘦客户机”的模式。B/S结构同C/S结构相比较,具有以下优点:
(1)可以非常容易地实现多用户监控。
(2)开发环境与应用环境分离,便于系统的管理与升级。
(3)应用环境为标准的浏览器,简化了传统系统中较为复杂的GUI的开发;降低了对用户的培训、安装、维护等费用。
(4)易于实现跨平台的应用。
2 监控系统的具体实现
基于B/S结构的监控系统如图1所示。
将采集到的数据通过动态链接库DLL(Dynamic Link Library) 程序送到应用服务器,应用服务器负责与被控过程的连接,由VC++ 6.0编写的应用程序调用.DLL程序,实现对数据的采集。同时,用ODBC(Open Database Connection)开放数据库链接技术实现数据库服务器与应用服务器之间的通信,使采集到的数据存储到数据库服务器。数据库服务器中的数据库管理系统采用关系型数据库MS.SQL.Server操作系统。客户通过浏览器向Web服务器提出请求,Web服务器处理后,到数据库服务器上进行查询,查询结果送回到Web服务器后,以HTML页面的形式返回到浏览器。
<shapetype id="_x0000_t75" path=" m@4@5 l@4@11@9@11@9@5 xe" stroked="f" filled="f" o:spt="75" o:preferrelative="t" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0 "></f><f eqn="sum @0 1 0 "></f><f eqn="sum 0 0 @1 "></f><f eqn="prod @2 1 2 "></f><f eqn="prod @3 21600 pixelWidth "></f><f eqn="prod @3 21600 pixelHeight "></f><f eqn="sum @0 0 1 "></f><f eqn="prod @6 1 2 "></f><f eqn="prod @7 21600 pixelWidth "></f><f eqn="sum @8 21600 0 "></f><f eqn="prod @7 21600 pixelHeight "></f><f eqn="sum @10 21600 0 "></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 354pt; HEIGHT: 45pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="./2002xb56-3.files/image001.gif" o:title="3-1"></imagedata></shape>
图1 B/S结构工业监控系统
2.1 动态链接与应用程序
动态链接库(DLL)是Windows的重要组成部分。它是一个包含函数的库文件,可以独立地编译成在运行时才链接的.DLL文件,这在工业监控系统中有着特殊的意义,这是因为工业监控对速度有很高的要求。在进行监控时,数据采集得不停地进行,使用.DLL文件,使应用程序变小,留出更多的空间给应用程序进行数据处理使用,这样就提高了监控的效率。Visual C++有很好的对底层系统的编程能力,可以利用它设计开发对端口的操作函数,编译成动态链接库供调用。
应用既负责.DLL程序的链接,同时又通过ODBC把.DLL所采集到的数据送到数据库服务器。它可以通过VC++ 6.0来编写。在编程之前,首先用ODBC把数据库添加到数据源。编程的时候,首先必须使应用程序同数据源连接起来,这可以通过MFC中的CDatabase类来实现;创建了同数据源连接后,就可以对数据库进行操作了,MFC中的CRecordSet类具有这种功能,它可以实时地修改数据库的记录,达到存储所采集数据的目的。
2.2 Web服务器与数据库服务器的通信
数据库服务器中的数据库可以采用MS.SQL.Server、Access、Oracle等数据库管理系统。Web服务器利用ASP、ODBC结合SQL数据库技术来访问数据库。
ASP(Active Server Pages)是一个Web服务器端的开发环境,利用它可以产生和运行动态的、交互的、高性能的Web服务器应用程序。它集成了Microsoft的编程语言ISAPI,我们在ASP网页的开发方案中用ADO(Active Data Object)技术对数据库进行访问。其步骤如下:
(1)使用ASP的Server对象“Server.CreateObject”建立要连接的对象,并用“Open”打开待访问的数据库;
(2)设置SQL命令,使用“Execute”开始执行访问数据库的动作;
(3)使用ADO的Recordset 对象提供的命令,得到访问的结果;
(4)关闭数据库。
但是,这种访问要经过数据库服务器和Web服务器,这势必会影响访问的速度,只适合对历史数据的访问。对于实时数据,采用内嵌的ActiveX控件直接对应用服务器进行访问,这时Web服务器和数据库服务器对此毫无知觉,提高了访问的实时性。ActiveX技术是用于组件对象模型(COM)的一种技术,它使各种软件组件可以在网络工作环境中相互使用。ActiveX控件是ActiveX的一个重要组成部分,利用它将实时数据与HTML网页连接起来。
3 结束语
目前在我国,基于Web的信息管理系统(MIS)不乏成功的应用,但是,基于Web的实时监控应用还比较少。B/S结构的网络技术是一种先进的,灵活的数据库结构,利用它进行数据采集和生产过程监控在我国大中型企业中有着广泛的应用。
参考文献:
[1] 胡峪,刘静.Visual C++ 编程技巧与示例[M].西安:西安电子科技大学出版社,2000.
[2] 姜麟,等.开发基于Web技术的工业信息远程实时监测系统[J].计算机应用,2000,(7):63-65.
[3] 飞天工作组. 动起来,更精彩——ASP3.0动态网页精彩制作[M].北京:人民邮电出版社,2001.
Real-time supervisory system based on web's B/S structure
WEI Xue-jun,LIU Yue
(College of Electrical Engineering,GUT,Guiyang 550003,China)
Abstract:This paper describes how to use Web technology to monitor industrial production process,discussing the primary structure and principle and the key technology adopted in the supervisory system.
Key words:B/S structure;APS;ActiveX control;DLL;real-time supervisory
收稿日期:2001-11-10