基于AJAX的物流红外报警视频监控系统设计与实现
2011-10-10丘岳峰苏志远北京邮电大学自动化学院北京100876
丘岳峰, 苏志远 (北京邮电大学 自动化学院,北京 100876)
·物流技术·
基于AJAX的物流红外报警视频监控系统设计与实现
丘岳峰, 苏志远 (北京邮电大学 自动化学院,北京 100876)
0 引 言
近年来,物流行业取得了很大的进步,物流设备设施也向着自动化、信息化方向发展,不断更新换代。由此产生的物流安全问题,正日益受到人们的重视。另一方面,随着物联网的高速发展,以物联网为代表的新兴产业受到市场青睐,红外传感、视频监控等安防工具也得到了较为广泛的应用。
采用了红外报警与视频监控结合的物流监控系统,集合了红外报警设备和视频监控设备的优点,实现对物流防区进行实时、高效以及快速定位响应的报警监控,是解决物流设备设施安全问题的重要手段。
传统监控系统无论是基于C/S(客户端/服务器)构架还是基于传统的B/S(浏览器/服务器)构架,都无法克服架构本身的一些缺陷。本文提出的基于AJAX的物流红外报警视频监控系统,采用B/S(浏览器/服务器)构架,利用AJAX技术在浏览器与Web服务器之间使用异步数据传输而实现页面无刷新无等待的特点,实现对防区安全的高效快速实时报警监控,从而避免了传统架构的缺陷,优化了监控的实现效果。
1 AJAX技术
AJAX是Asynchronous JavaScript+XML的简写,AJAX实际上不是一种技术,而是由JavaScript、XHTML和CSS、DOM、XML和XSTL、XML2HttpRequest以优雅的方式结合而成的,采用AJAX技术必须使用基于XHTML和标准CSS的表示层[1]。
与传统的Web应用不同,AJAX采用异步交互过程,如图1所示。
图1 传统Web应用 (左)和AJAX模型 (右)
AJAX的工作原理就是相当于在浏览器和服务器之间加了一个中间层,使用户操作与服务器响应异步化。而这一中间层所要做的工作都是由AJAX引擎 (AJAX engine)来完成的。实际上,AJAX引擎就是一些复杂的Javascript程序,这些程序通过调用XMLHttpRequest对象的属性和方法来与服务器端进行数据交互,然后再通过DOM来解析处理XML文档和部分更新HTML页面的内容[2]。
2 系统设计与实现
2.1 系统概述与框架设计
2.1.1 系统概述。在物流防区中,各重要节点安装成套的红外报警设备和网络视频摄像头,每个节点的摄像头负责该节点红外报警设备监控区域的视频监控。红外报警设备和网络摄像头记录的报警记录和监控视频信息由各自的硬件程序实时写入服务器端的数据库,客户端电脑通过B/S监控系统进行实时监控。系统物理模型如图2。
图2 物流红外报警视频监控系统物理模型
2.1.2 系统框架设计。物流红外报警视频监控系统,服务器采用RedHat Enterprise 5.4操作系统,后台数据库使用Oracle 10g,Web服务器开发使用Tomcat。客户端操作系统采用 Microsoft Windows XP操作系统,浏览器为Internet Explorer 6.0。开发工具使用My Eclipse,B/S系统采用Appfuse框架,集成了Struts、Hibernate和Spring框架技术,前端使用jsp+jQuery框架。
2.2 系统功能。B/S系统以物流防区的平面区为主功能操作区,在平面图上用相应图标标注出各红外报警设备和视频摄像头的实际位置,提供对视频摄像头实时监控视频的观看功能,并实时显示红外设备报警情况。
当出现红外报警时,主功能操作区将出现醒目报警提示,并定位到正在报警的红外设备,可即时查看负责该红外设备报警区域的摄像头监控录像,从而对报警情况作及时处理。
B/S系统还有辅助功能菜单区,提供报警历史记录查询、报警录像查询、摄像头设备管理和红外设备管理等辅助功能。
系统结构功能图如图3。
图3 系统结构功能图
2.3 系统实现。通过浏览器登录红外报警视频监控系统,作为视图层的主功能区使用HTML显示并基于JavaScript的事件驱动,响应用户的各种输入,检测用户是否有效并及时反馈,并采用定时器对有效请求通过AJAX与服务器异步通信来发送给业务逻辑层,通过jQuery框架可以支持跨浏览器平台,具有很强的动态性和交互性,并减少数据传输量,反应速度快。
Web服务器端业务逻辑层使用JSP处理用户请求和Struts处理业务逻辑,通过Hibernate访问数据层处理设备数据并返回给客户端,业务逻辑层主要处理报警情况显示等。
2.3.1 封装AJAX方法。使用AJAX发送请求是通过XMLHttprequest对象来实现。使用之前,要先实例化,并跨浏览器运行,指定回调函数。然后通过Open方法建立对服务器的调用,send方法向服务器发送请求。为了实现AJAX方法调用的高效性和可重复性,本系统对AJAX方法进行了封装,将请求的url和回调函数作为参数传入。代码如下:function XmlHttp(option){
var xmlHttp=GetXmlHttpObject();
function GetXmlHttpObject(){
var xmlHttp=null;
try{//Firefox,Opera 8.0+,Safari
xmlHttp=new XMLHttpRequest();
}catch(e){//Internet Explorer
try{//5.5版本以上
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){//5.5版本一下
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}}
return xmlHttp;}
function getResponse(){ xmlHttp.onreadystatechange=handleStateChange;
xmlHttp.open("POST",option.url,true);
xmlHttp.send(null);}
function handleStateChange(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
var xmlDoc=xmlHttp.responseXML;
eval(option.callback(xmlDoc));}} }
return{xmlHttpObject:xmlHttp,getResponse:getResponse};}
2.3.2 红外报警记录自动提示。本系统最核心的功能是要实现红外报警记录自动提示,这要借助使用javaScript定时器和AJAX技术,定时扫描数据库中有无新的红外报警记录。
B/S系统通过使用JavaScript中的setInterval定时器,利用AJAX技术,定时返回数据库中最新红外报警记录表,在主功能区域上局部刷新显示相关信息,来实现防区红外报警记录自动提示。
首先,B/S系统主功能区页面加载时,设置setInterval函数,设定时间间隔,定时调用AJAX方法,创建XMLHttprequest对象,创建回调函数并发送请求,服务器接收请求,返回从数据库中获取的最新红外报警记录。浏览器客户端接收数据,调用回调函数,创建html对象,利用css绝对定位,在主功能区域页面内显示报警图标及相应功能操作。
2.3.3 界面实现。Web系统功能页面主要分为2个部分:左侧和主体。左侧部分用于功能的选择,主体部分用于用户操作以及显示操作结果。系统主体界面实现如图4。
图4 系统主体界面实现
3 结束语
本文介绍了基于AJAX的物流红外报警视频监控系统的框架与结构、开发模式以及实现的关键技术。实践证明基于AJAX的Web系统应用更加灵活、易于扩展和维护,能够提高对物流防区报警情况的响应能力,对防区进行高效实时的监控,有一定的通用性和推广价值。
[1] 程建军.基于AJAX技术的研究生教育管理系统设计与实现[J].计算机技术与发展,2008,18(12):207-209.
[2] 陈鹏翔,盛建东,武红旗,等.AJAX技术及其在农业WebGIS中的应用[J].测绘科学,2010,35(6):257-258.
[3] 柯昌正,黄厚宽.AJAX技术的原理与应用[J].铁路计算机应用,2007,16(1):123-124.
[4] 张臣雄.基于IP网络的远程安防图像监控系统[J].中国公共安全,2003(13):98-101.
[5] 姜敏,施健.基于嵌入式WEB服务器的远程视频监控技术[J].计算机时代,2001(7):112-114.
[6] 陶维.基于SSH多架构Web系统设计及其应用[J].科技和产业,2009(3):101-104.
[7] 束超,翟玉庆.基于AJAX和JSON的高校成绩管理系统设计与实现[J].计算机与现代化,2009(1):134-136.
[8] 孟超,曾连荪.基于无线测控网的物流监控信息系统[J].物流技术,2009,28(5):105-107.
[9] 郭永彩,余滢,高潮.基于GSMGPRS的远程安防监控管理系统[J].计算机系统应用,2010,19(1):123-126.
Design and Implementation of Logistics Monitor System of Infrared Alarm and Video on AJAX
QIU Yue-feng,SU Zhi-yuan (School of Automation,Beijing University of Posts&Telecommunications,Beijing 100876,China)
传统的监控系统功能单一,无法对异常实现快速响应。为了实现对物流设备设施进行实时高效的安全监控,利用AJAX技术特点,提出了基于AJAX的物流红外报警视频监控系统的实现方案,利用Java和JavaScript进行开发,实现了设计方案,运行结果表明,引入AJAX技术,提高了报警监控响应时间,减轻了服务器的负载压力。
计算机技术;AJAX;红外报警;视频监控
The traditional monitoring system has single function,cannot achieve rapid response.In order to realize real-time efficient logistics safety monitoring for equipment and facilities,using AJAX technique characteristics,this paper puts forward an implementation scheme that logistics monitor system of infrared alarm and video on AJAX,using Java and JavaScript in development,realize the design plan and operation results showed that the AJAX technology improves on response time of alarm monitoring and reduces the server load pressure.
computer technology;AJAX;infrared alarm;video monitoring
TP391
A
2010-12-29
丘岳峰(1987-),男,广东兴宁人,北京邮电大学自动化学院硕士研究生,研究方向:物流信息化。
1002-3100(2011)04-0070-03