摘 要 针对传统的基于Web实时监控系统在实时性方面的不足,利用Ajax技术设计了一种新的工业设备实时监控系统框架。客户端浏览器使用XMLHttpRequest组件与服务端实时交换数据,在网页中采用Ajax技术动态显示设备数据,设置设备参数。系统具有数据交换无刷新、网页无闪烁、数据传输效率高等特点,并解决了多客户端并发访问、权限控制、浏览器缓存、汉字乱码等技术难题。
关键词 Ajax;XMLHttpRequest;无闪烁;监控;权限控制
1 引言
现代许多工业控制设备,大部分具有硬件和软件系统,软件系统能监视控制硬件系统完成设备功能。这些设备有些是单机的,不能远程监控;有些是C/S模式的,可以远程监控。随着Internet技术的发展,基于Web方式的实时监控系统也得到广泛的应用。实现上主要采取以下几种技术:在网页上嵌入Applet或ActiveX控件,这种方式可能会威胁客户端的安全,许多客户端浏览器都限制网页中Applet或ActiveX的运行,从而限制了基于Web远程监控的应用[1];直接按一定间隔刷新网页获取数据,这种方式网页会不停地闪烁;利用<frame>、<iframe>等框架技术访问数据、刷新网页,这种方式数据交换较多,需重新从服务器读取整个网页,传输效率低。本文设计了基于Ajax技术的实时监控系统,利用XMLHttpRequest组件进行异步通信获取实时数据,并将得到的数据通过JavaScript处理控制网页元素形成实时监控画面。系统具有数据交换无刷新、网页无闪烁、数据传输效率高,具有良好的用户体验等特点,体系结构先进。
2 Ajax技术原理
Ajax(Asynchronous JavaScript and XML),是一种交互式网页开发技术[2],它包括:
(1)使用XHTML+CSS来表示信息。
(2)使用JavaScript操作DOM(Document Object Model)进行动态显示及交互。
(3)使用XML和XSLT进行数据交换及相关操作。
(4)使用XMLHttpRequest对象与Web服务器进行异步通信。
(5)使用JavaScript绑定网页内容。
Ajax技术的核心是XMLHttpRequest,目前主流的浏览器都支持该对象,其最大的优点在于可以动态地更新网页,无需重新从服务器读取整个网页,也不需要安装额外的程序。XMLHTTPRequest对象允许一个到服务器的RPC风格的编程查询而不需要任何页面刷新。它提供了到HTTP协议的所有细节的完整存取,包括头部和数据的任何定制格式。Ajax技术工作原理如图1所示。
|