多比图形控件在B/S的煤矿安全生产监控系统中的应用


摘  要:  针对基于B/S模式的煤矿安全生产监控系统响应速度慢、用户等待时间长等问题,本文阐述了多比图形控件技术并将其引入到煤矿安全生产监控系统中,利用Ajax技术将浏览器端和服务器端传统的同步交互通信方式改变为异步交互通信方式,从而减轻了服务器负担、提高了系统的响应速度、增强了煤矿安全生产实时监控的能力。

关键词:  B/S模式;煤矿安全;Ajax;异步交互

 

目前煤矿安全生产监控系统普遍采用的网络结构是FCS和DCS,FCS与DCS结构的监控系统具有相对的独立性和封闭性,监控系统之间容易形成了“信息孤岛”,不利于监测信息的共享,随着煤矿信息化建设的发展,很多煤矿都建立了自己的局域网并且连接到Internet,因此开发基于Internet的B/S结构的远程实时监控系统具有非常重要的意义。

基于B/S模式的煤矿安全生产监控系统可以使用户通过Internet随时监测煤矿安全生产信息,但煤矿安全生产监测数据量较大,而且需要实时更新的数据量大,进而导致了客户端浏览器刷新频率较高、网络传输速度的下降,从而使得煤矿安全生产监测的效率下降。将Ajax引入监测系统,可以实现页面的粒状更新,避免页面刷新时出现“白屏”现象,提高了其响应速度,增强了其交互能力,提高了煤矿安全生产实时监控的能力。

 

多比图形控件在B/S的煤矿安全生产监控系统中的应用

多比图形控件

多比图形控件是一款基于Web(VML和SVG技术)的矢量图形控件, 类似于网页上的Visio控件,是目前国内外最佳的基于web的工作流设计器、工作流流程监视器解决方案。 可广泛应用于包括:电力、军工、煤炭、化工、科研、能源等各种监控软件、web工作流设计器、asp.net工作流设计器、电力、化工、煤炭、工控组态软件、仿真、地理信息系统、工作流、复杂报表 工业SCADA系统、ERP流程设计系统、图形管理、图形拓扑分析、GIS地理信息系统系统、工程制图等领域。目前已经为全球20多个国家的数千家客户采用。

1   Ajax

Ajax是一种创建交互式网页应用的网页开发技术,全称为“Asynchronous JavaScript and XML”,其核心是JavaScript对象XML-HttpRequest[,它是一种支持异步请求的技术,XMLHttpRequest可以使用JavaScript向服务器提出请求并处理响应。

Ajax体系结构比传统的Web体系结多了一个Ajax引擎,安装在浏览器客户端中,在接受到用户界面传来的JavaScript调用后,发送请求到服务器,Ajax来完成用户界面上的粒状更新,缩短了用户界面和服务器的交互过程的时间,提高了效率。

 

Ajax结构体系有以下优点:

1) 中间层引擎承担了一部分服务器处理数据的工作,可以减轻用户请求造成的网络服务器的负担;

2) 客户端与服务器端异步交互的特点使得页面更新无需重载,大大缩短了用户等待时间,提高了数据更新的效率;

3) JavaScript、XMLHttpRequest等已经被浏览器广泛支持,其通用性大大提高。

2   Ajax在煤矿安全生产监控系统中的应用及实现

2.1  开发平台

系统开发过程中,操作系统采用Windows Server 2003,开发工具采用VisualStudio.NET 2008,数据库则采用SQL Server 2005。2.2具体实现在具体的程序实现过程中综合运用了Ajax技术以及ASP.NET技术来实现煤矿安全生产监控数据的动态刷新。一个完整的Ajax执行步骤如图2所示。

 

本系统采用XmlHttpRequest对象的responseXML属性来返回煤矿安全生产数据信息,下文给出了煤矿安全生产数据信息粒状更新的实现过程:

1)  初始化XMLHttpRequest对象。在本系统中,采用asp.net环境下的C#语言创建XMLHttpRequest代码如下:

 

2)  指定响应处理函数。

将相应的处理函数名称赋给XMLHttpReques对象onReadyStateChange属性。实现关键代码:

xmlhttp.onReadyStateChange=processRequest;

3)  发送HTTP请求,指定了响应处理函数后,便可以向服务器发出HTTP请求了。

这一步调用XMLHttpRequest对象的open()和send()方法:

xmlhttp.open("post","url?参数1="+值1+"参数2="+值2.....+"参数n="+值n.;

xmlhttp.send(null);

4)  处理服务器返回的信息。

首先,要检查XMLHttpRequest对象的readyState值,判断请求目前的状态。readyState值为4的时候,代表服务器已经传回所有的信息,可以处理并更新页面内容了。

if(xmlhttp.readyState==4){

//信息已经返回,可以开始处理

}else

{

//信息还没有返回,等待

}

if(xmlhttp.status==200){

//页面正常,可以开始处理

}else

{

//页面有问题

}

5)  实现数据查询页面的粒状更新

本系统采用XmlHttpRequest对象的responseXML属性来返回煤矿安全生产数据,因此,在客户端接收到的参数是XML文档对象,调用fillTable(xmlobj)方法,该方法首先获得服务器端返回的XML文档对象的节点,之后创建表格对象,然后用for语句动态产生单元格,紧接着再来逐次填充表格中的每一个<td>节点,从而实现了监控数据页面的粒状更新。

 

 

3  结束语

在基于B/S模式下的煤矿安全生产监控系统中,由于在一个页面上需要监控的数据较多,安全生产数据更新频率高,如果使用传统的全屏刷新方式更新数据,不仅不利于用户的监控,还给服务器造成了较大的压力,系统效率低下

 

而且也不稳定。将Ajax技术引入到煤矿安全生产监控系统中,可以很方便地解决这些问题,既调高了用户的监控的效率,也使得系统的稳定性得到提高,该技术已经在兖矿集团兴隆庄煤矿投入使用,效果良好。

上一篇 下一篇

评论



分享