丘岳峰, 蘇志遠 (北京郵電大學 自動化學院,北京 100876)
·物流技術·
基于AJAX的物流紅外報警視頻監控系統設計與實現
丘岳峰, 蘇志遠 (北京郵電大學 自動化學院,北京 100876)
近年來,物流行業取得了很大的進步,物流設備設施也向著自動化、信息化方向發展,不斷更新換代。由此產生的物流安全問題,正日益受到人們的重視。另一方面,隨著物聯網的高速發展,以物聯網為代表的新興產業受到市場青睞,紅外傳感、視頻監控等安防工具也得到了較為廣泛的應用。
采用了紅外報警與視頻監控結合的物流監控系統,集合了紅外報警設備和視頻監控設備的優點,實現對物流防區進行實時、高效以及快速定位響應的報警監控,是解決物流設備設施安全問題的重要手段。
傳統監控系統無論是基于C/S(客戶端/服務器)構架還是基于傳統的B/S(瀏覽器/服務器)構架,都無法克服架構本身的一些缺陷。本文提出的基于AJAX的物流紅外報警視頻監控系統,采用B/S(瀏覽器/服務器)構架,利用AJAX技術在瀏覽器與Web服務器之間使用異步數據傳輸而實現頁面無刷新無等待的特點,實現對防區安全的高效快速實時報警監控,從而避免了傳統架構的缺陷,優化了監控的實現效果。
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.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 系統主體界面實現
本文介紹了基于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