Ajax在基于B/S模式的煤矿安全生产监控系统中的应用

时间:2022-03-05 06:41:18

Ajax在基于B/S模式的煤矿安全生产监控系统中的应用

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

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

中图分类号:TP3文献标识码:A 文章编号:1009-3044(2010)21-5869-03

Ajax Application in the Coal Mine Safety Monitoring System based on B/S Mode

ZHUANG Li-yun1, YU Guo-fang2

(1.Instiute of Electronics and Electronical Engineering, Huaian Institute of Technology, Huai'an 223003, China; 2.College of Information and Electronic Engineering, China University of Mining and Technology, Xuzhou 221008, China)

Abstract: Contraposing the problem such as lower response speed and longer user's waiting time of the coal mine safety monitoring system based on B/S mode,this article introduces Ajax technology which is also introduced into coal mine safety monitoring system. By using ajax technology, the synchronization messages can be changed to asynchronous messages, thus the server's load can be released, the system's response speed can be improved and real-time monitoring capacity of coal mine safety can be enhanced.

Key words: B/S mode; coal mine safety; Ajax; asynchronous

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

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

1 Ajax

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

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

Ajax引擎可以实现浏览器和服务器信息交互的异步化。一方面,通过JavaScript脚本编程语言灵活地处理各种用户请求,并利用DOM和CSS完成用户界面的动态和格式化显示;另一方面,在无需刷新和重载浏览器页面的前提下,通过JavaScrip,利用XMLHttpRequest对象与服务器进行线路化的数据交换,如图1所示。

Ajax结构体系有以下优点:

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

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

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

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

2.1 开发平台

系统开发过程中,操作系统采用Windows Server 2003,开发工具采用Visual 2008,数据库则采用SQL Server 2005。

2.2 具体实现

在具体的程序实现过程中综合运用了Ajax技术以及技术来实现煤矿安全生产监控数据的动态刷新。一个完整的Ajax执行步骤如图2所示。

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

1) 初始化XMLHttpRequest对象。

在本系统中,采用环境下的C#语言创建XMLHttpRequest代码如下:

function queryinfo(){

var xmlhttp;

try{

xmlhttp= new ActiveXObject('Msxml2.XMLHTTP');

}

catch(e)

{

try{

xmlhttp= new ActiveXObject('Microsoft.XMLHTTP');

}

catch(e)

{

try{

xmlhttp= new XMLHttpRequest();

}catch(e){}

}

}

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语句动态产生单元格,紧接着再来逐次填充表格中的每一个节点,从而实现了监控数据页面的粒状更新,实现的关键函数fillTable(xmlobj)如下:

//获取xml对象

varxmlobj = xmlhttp.responseXML;

var66data=xmlobj.getElementsByTag-Name("data");

vardatalen = data . ChildNodes();

//创建表格对象

varCtable=document.createElement("table");

// 动态产生并填充单元格

for(var i = 0;i < data.length;i++)

{

var-tr = -table.insertRow(i);

for(var j = 0;j< datalen;j++)

{

var -td = -tr.insertCell(j);

-tn=data[i].ChildNode(j).NodeValue;

-td.appendChild(-tn);

}

}

煤矿安全生产监控系统历史数据查询网页粒状更新界面如图3所示。

3 结束语

在基于B/S 模式下的煤矿安全生产监控系统中,由于在一个页面上需要监控的数据较多,安全生产数据更新频率高,如果使用传统的全屏刷新方式更新数据,不仅不利于用户的监控,还给服务器造成了较大的压力,系统效率低下而且也不稳定。将Ajax技术引入到煤矿安全生产监控系统中,可以很方便地解决这些问题,既调高了用户的监控的效率,也使得系统的稳定性得到提高,该技术已经在兖矿集团兴隆庄煤矿投入使用,效果良好。

参考文献:

[1] 耿涛,宋宜梅,向家伟,韦星,植海深.基于OSA-CBM煤矿机械故障诊断系统的设计与研究[J].煤矿机械,2008(5):12-15.

[2] 贾宗璞,葳鹏,贾祥芝.多媒体矿井监控系统的WEB[J].工矿自动化,2004(6):23-25.

[3] Ryan Asleson,Nathaniel T.Schutta,金灵译.Ajax基础教程[M].北京:人民邮电出版社,2006.

[4] 阳锋,徐建波.AJAX的性能改进研究[J].计算机工程与科学,2008(6):146-148.

[5] 雷涛,尚盈,王昌.基于Ajax的实时综合监测系统的设计及其性能优化[J].计算机与信息技术,2009(9):21-24.

[6] 邓璐娟,张科德,丁孟宝.基于Ajax的温室远程监控系统的设计与实现[J].郑州轻工业学院学报,2008(12):50-53.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:基于RBAC的权限认证在高校信息管理系统中的应... 下一篇:蜜罐技术的局限性及其发展