【摘 要】本文介紹了基于TCP/IP的監(jiān)控報警設(shè)備管理平臺,設(shè)計并實(shí)現(xiàn)了將監(jiān)控設(shè)備,消防監(jiān)控設(shè)備和報警設(shè)備三者的智能聯(lián)動。本系統(tǒng)解決目前大多數(shù)公司消防監(jiān)控設(shè)備和報警設(shè)備管理困難,使用不便等難題,以面向?qū)ο鬄橹饕枷耄约床寮从脼榛痉绞?,提出了一個監(jiān)控報警設(shè)備管理平臺的設(shè)計方案。主要論述了將報警設(shè)備與移動業(yè)務(wù)相結(jié)合,構(gòu)建科學(xué)合理的管理系統(tǒng),并總結(jié)了該方案易擴(kuò)展,易開發(fā),易維護(hù)等特點(diǎn)。系統(tǒng)使用網(wǎng)絡(luò)訪問控制各種設(shè)備,并通過TCP/IP協(xié)議來保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性,采用三層結(jié)構(gòu)模式,將系統(tǒng)界面的信息傳遞給管理層,經(jīng)過處理通過驅(qū)動層和硬件通信,并執(zhí)行指令。
【關(guān)鍵詞】監(jiān)控系統(tǒng) 設(shè)備管理 面向?qū)ο?/p>
一、引言
(一)項目背景
隨著國家數(shù)字信息化的發(fā)展以及人們對安防意識的提高,大多數(shù)公司消防監(jiān)控設(shè)備和報警設(shè)備均齊全。當(dāng)這些設(shè)備數(shù)量達(dá)到一定值時,由于其操作復(fù)雜,關(guān)聯(lián)性較差,管理費(fèi)時費(fèi)力等諸多因素已漸漸顯出其弊端。監(jiān)控報警設(shè)備管理平臺也顯得更為重要,不僅提高公司對消防安全管理的效率,更加使得公司的報警設(shè)備更加安全可靠。
(二)項目目標(biāo)
本項目主要應(yīng)用在公司、店鋪、倉庫、學(xué)校等場所中。系統(tǒng)由監(jiān)控設(shè)備、報警設(shè)備、網(wǎng)絡(luò)以及管理平臺四部分組成。監(jiān)控設(shè)備和報警設(shè)備將最新信息通過以太網(wǎng)傳入監(jiān)控報警管理系統(tǒng),經(jīng)數(shù)據(jù)庫處理以后在后臺進(jìn)行判斷,并執(zhí)行相關(guān)程序。
二、需求分析
當(dāng)前多數(shù)公司已經(jīng)擁有上千臺監(jiān)控攝像機(jī)和警報器,這些設(shè)備對企圖犯案人員起到了警示作用。同時也對公司的安全生產(chǎn)和管理工作起到了致關(guān)重要的作用。為了公司的商務(wù)策略和技術(shù)的操控,一般采購不同生產(chǎn)企業(yè)或公司的設(shè)備,盡管在商務(wù)上和技術(shù)上把握了主動權(quán),但在操作上也給企業(yè)帶來不便:
(一)要看到某個監(jiān)控點(diǎn)的信息,操作人員需要通過輸入IP的方式找到監(jiān)控點(diǎn)。隨著監(jiān)控點(diǎn)的增多,通過人員手工輸入的方式十分繁瑣而且容易出錯。
(二)在添加新的消防監(jiān)控設(shè)備時,監(jiān)控設(shè)備、消防監(jiān)控設(shè)備和報警設(shè)備這三種設(shè)備之間是獨(dú)立的關(guān)系,沒有聯(lián)動起來,都分別需要人為手工操作一次,增加了操作的難度。
(三)當(dāng)發(fā)生險情并且設(shè)備報警后,監(jiān)控設(shè)備不能及時捕獲到報警信息,消防設(shè)備需要人工手動啟動,導(dǎo)致信息捕獲的延遲。不能在第一時間內(nèi)控制報警情況,錯失捕獲信息的最佳時間。
(四)管理大量的監(jiān)控設(shè)備、消防監(jiān)控設(shè)備和報警設(shè)備,工作量大,參與人數(shù)多,造成不必要的人力財力物力的浪費(fèi)。
為了解決上述問題,本文提出一種能夠把多種設(shè)備管理起來,實(shí)現(xiàn)聯(lián)動效果的監(jiān)控報警管理系統(tǒng)的設(shè)計方案。
三、系統(tǒng)設(shè)計
監(jiān)控報警系統(tǒng)主要由底層設(shè)備、網(wǎng)絡(luò)、管理平臺三部分組成?,F(xiàn)有的網(wǎng)絡(luò)服務(wù)一般都是基于TCP/IP協(xié)議族,也就是說通過TCP/UDP端口上的數(shù)據(jù)傳輸來提供各類服務(wù)[1]。管理平臺也采用TCP/IP協(xié)議傳輸數(shù)據(jù)。管理平臺通過網(wǎng)絡(luò)訪問控制各種設(shè)備,達(dá)到信息交換的目的[2]。管理平臺的開發(fā)主要包括三個方面,分別是對硬件設(shè)備的注冊管理與控制,對硬件設(shè)備底層API的封裝和各個設(shè)備間的聯(lián)動效果的實(shí)現(xiàn)。
(一)總體設(shè)計
管理系統(tǒng)可以看作整個系統(tǒng)的客戶端。主要功能有:可視化各設(shè)備分布位置、設(shè)備的自動管理后臺控制設(shè)備。
(二)設(shè)備可視化設(shè)計
用戶可以從平面地圖上看到各種設(shè)備的位置。即使這些設(shè)備是來自不同的廠家,但是可以通過單點(diǎn)登錄系統(tǒng)管理所有廠家的設(shè)備。如果需要查看某一個攝像頭的畫面,只需要點(diǎn)地圖中設(shè)備的圖標(biāo),平臺管理程序自動匹配設(shè)備IP地址,確定哪家設(shè)備,并調(diào)用相應(yīng)的廠家的驅(qū)動程序,切換設(shè)備監(jiān)控畫面,無需手動輸入,直接可以查看畫面。
(三)設(shè)備關(guān)聯(lián)設(shè)計
當(dāng)某個監(jiān)控點(diǎn)觸發(fā)警報時,警報的地點(diǎn)在廠區(qū)平面分布圖中高亮閃動,管理平臺同時搜索到距離事發(fā)地點(diǎn)最近的幾個云臺攝像頭,調(diào)整攝像頭角度,切換其畫面到監(jiān)控平臺的最前端,同時響起警報聲。為了實(shí)現(xiàn)靈活、高效的全方位監(jiān)控,告訴、高精度球形攝像機(jī)成為市場需求的一個熱點(diǎn),而云臺控制系統(tǒng)對其性能的實(shí)現(xiàn)起著關(guān)鍵作用1。最前端的攝像頭畫面可以選擇查看事發(fā)前30秒內(nèi)的錄像回放,判斷警報的原因。監(jiān)控室可以通過觀看攝像頭的畫面進(jìn)行警報處理,系統(tǒng)還可以提供相應(yīng)的三種設(shè)備的聯(lián)動功能。
(四)消防報警設(shè)計
消防警報系統(tǒng)也可以像監(jiān)控報警系統(tǒng)一樣和監(jiān)控設(shè)備聯(lián)動起來,通過系統(tǒng)平臺對它們進(jìn)行控制和管理。如果火情嚴(yán)重,系統(tǒng)能夠自動撥打上級領(lǐng)導(dǎo)電話進(jìn)行通知,通知各部門全力救火。如果火情輕微,則通知所屬負(fù)責(zé)部門進(jìn)行救火。如果是虛報操作,將關(guān)閉警報。
四、系統(tǒng)實(shí)現(xiàn)
(一)總體實(shí)現(xiàn)
管理系統(tǒng)完成了用C#語言對各種設(shè)備提供API的封裝,讀取SDK提供的dll文件封裝為新的API,以及對各種設(shè)備功能模塊的劃分,對設(shè)備的抽象等[3]。而且系統(tǒng)也完成了對注冊進(jìn)管理系統(tǒng)的不同設(shè)備的管理與控制。當(dāng)增加設(shè)備時,管理員通過設(shè)備的IP地址把攝像機(jī)注冊進(jìn)管理系統(tǒng)中,把新增加進(jìn)來的設(shè)備的IP地址,型號,坐標(biāo)位置等信息存進(jìn)數(shù)據(jù)庫。調(diào)用start方法后就可以對設(shè)備進(jìn)行控制。當(dāng)報警設(shè)備發(fā)生警報時,能夠觸發(fā)坐標(biāo)位置附近的監(jiān)控設(shè)備以及消防設(shè)備進(jìn)行協(xié)作。管理系統(tǒng)主要包括三層,分別是View層,Maneger層和Driver層。通過對系統(tǒng)分層,提高了系統(tǒng)的可靠性,可擴(kuò)展性,可重用性以及可維護(hù)性(見圖1)。
(二)View層設(shè)計
View層主要包括整個管理系統(tǒng)的界面,具有響應(yīng)用戶操作事件,發(fā)送請求以及呈現(xiàn)信息的功能。能夠?yàn)橛脩籼峁┮粋€清晰簡單的操作界面,呈現(xiàn)給用戶的是一幅企業(yè)的平面圖,在相應(yīng)地點(diǎn),標(biāo)注已經(jīng)存在設(shè)備的圖標(biāo)。用戶可以點(diǎn)擊圖標(biāo),查看設(shè)備的信息以及狀態(tài),也可以實(shí)現(xiàn)對此設(shè)備的操作。也可以右鍵單擊地圖上相應(yīng)的位置,添加已經(jīng)存在類型的設(shè)備。如果警報系統(tǒng)發(fā)現(xiàn)異常,觸發(fā)圖標(biāo)閃爍和其他相關(guān)的事件,能夠以最直觀的方式,把信息反饋給用戶。通過對View層的操作,向Manager層發(fā)送消息,也可以獲取到反饋的信息并呈現(xiàn)給用戶。View層能夠給用戶整個系統(tǒng)最直觀的印象,因此良好的用戶體驗(yàn)是非常必要的。本系統(tǒng)對用戶而言manager層以下都是透明的。用戶不需要了解攝像機(jī)的工作原理與具體實(shí)現(xiàn)過程。
(三)Manager層設(shè)計
Manage層是為了管理各種設(shè)備而抽象出來的一層。Manager層的主要功能有兩個,對各種設(shè)備的管理和觸發(fā)事件的定義。因?yàn)樵O(shè)備不同,功能不同,而且創(chuàng)建設(shè)備的方法需要獨(dú)立于攝像機(jī)的組成部分和裝配方式,所以在新建設(shè)備對象的時候,選擇了采用Builder設(shè)計模式。Driver層向Manager層提供三種設(shè)備所有功能方法的功能類。每類設(shè)備對應(yīng)一個Builder,他們都是抽象類DriverBuilder的派生類,負(fù)責(zé)實(shí)例化一種Driver,也就是Driver層每個設(shè)備抽象類的派生類的對象。在Builder的基礎(chǔ)上,Director又進(jìn)行了一次封裝,使所有的設(shè)備對象都是從Director里面獲取。Director 里面有所有攝像機(jī)對應(yīng)類的對象,以及獲取所有攝像機(jī)對象的方法。上層傳遞消息給Director需要獲取一個Driver對象的時候,如果對象不為空,則直接獲取到。如果對象為空,Director告訴Builder需要的攝像頭是那種,具有哪些功能,實(shí)現(xiàn)攝像機(jī)功能的重組,Builder負(fù)責(zé)創(chuàng)建對象。當(dāng)攝像機(jī)對象實(shí)例化出來后,由Manager層控制。如果需要更換攝像機(jī)時,僅需要改變獲取對象的方法,不會影響其他的功能。當(dāng)用戶點(diǎn)擊地圖上對應(yīng)的設(shè)備時,Manager層取出此設(shè)備的對象,調(diào)用設(shè)備提供的功能方法,完成對此設(shè)備的操作。
Manager層還有定義不同觸發(fā)事件的功能。這個過程是對寫好的功能函數(shù)按照特定順序的調(diào)用。當(dāng)報警設(shè)備的對象發(fā)出警報時,Manager層迅速取到此對象所在的坐標(biāo)位置,從數(shù)據(jù)庫里面找到附近的攝像頭設(shè)備的Id,并計算出各個攝像頭與報警設(shè)備的夾角,向附近的攝像頭發(fā)出消息,調(diào)整攝像頭角度,對報警點(diǎn)進(jìn)行監(jiān)控。根據(jù)設(shè)定好的判斷標(biāo)準(zhǔn),作出相應(yīng)處理。如果報警點(diǎn)附近確實(shí)有異常,則Manager層向消防設(shè)備發(fā)送消息,使消防設(shè)備在最短時間能,能夠發(fā)揮作用。如果是虛假警報,就關(guān)閉警報。
(四)Other模塊設(shè)計
Other模塊包含管理系統(tǒng)的其他功能,比如用戶登錄管理,設(shè)備的注冊,數(shù)據(jù)庫信息的維護(hù),視頻播放,備份管理,異常處理等。用戶只有登錄到管理系統(tǒng)上才能夠繼續(xù)對系統(tǒng)進(jìn)行操作,能夠管理系統(tǒng)的日志文檔等一系列內(nèi)容。如果監(jiān)控系統(tǒng)添加了新的設(shè)備,Manager層負(fù)責(zé)實(shí)例化一個設(shè)備對象,Other負(fù)責(zé)記錄相應(yīng)信息,把新添加的設(shè)備的位置,類型等信息寫入數(shù)據(jù)庫。攝像機(jī)錄制的視頻通過網(wǎng)絡(luò)傳播回來,需要特定的播放器才能播放。本系統(tǒng)同時實(shí)現(xiàn)了視頻圖像的存儲備份功能。而且自定義了異常處理的方法。將可能出現(xiàn)的異常定義為枚舉變量,羅列出來,并給出相應(yīng)的處理方法。當(dāng)系統(tǒng)出現(xiàn)異常時,會遍歷異常列表,找到相應(yīng)的異常,把定義好的信息呈現(xiàn)給用戶,以達(dá)到界面友好的效果。
(五)Driver層設(shè)計
Driver層包括各種設(shè)備的抽象類以及各種DriverModel的派生類。在抽象類里面可以定義各種設(shè)備都具有的基本功能的抽象方法。這樣可以規(guī)范此類Driver的功能,僅僅滿足這種定義的設(shè)備才能夠繼承此抽象類。每個DriverModel類的派生類對應(yīng)一種相應(yīng)設(shè)備,它實(shí)現(xiàn)了設(shè)備抽象類里面的方法,而且可以添加此設(shè)備特有的功能方法,達(dá)到此設(shè)備個性化功能的目的。派生類里面包含設(shè)備各種功能模塊的方法,這些功能方法能夠被調(diào)用,使此設(shè)備執(zhí)行指令。以攝像機(jī)為例,把攝像機(jī)的功能分成功能模塊,這樣做的目的是實(shí)現(xiàn)攝像機(jī)功能重組,上層不需要再關(guān)心是否需要調(diào)用某個函數(shù)以及調(diào)用函數(shù)的順序。
每個功能模塊又包含邏輯接口層與物理接口層。邏輯接口層充當(dāng)功能模塊設(shè)計的角色,它把功能函數(shù)組裝在一起形成一個一個的功能模塊。物理接口層向上層提供功能函數(shù),是對攝像機(jī)功能函數(shù)開發(fā)語言的轉(zhuǎn)換。
1.邏輯接口層
邏輯接口層是為了把經(jīng)過的轉(zhuǎn)換功能函數(shù)按照一定的邏輯組合在一起,向上層提供封裝好的功能模塊。邏輯接口層定義了功能函數(shù)執(zhí)行的順序,這樣做可以給用戶的操作帶來一定的便利,且有利于攝像機(jī)功能模塊的維護(hù)。例如當(dāng)攝像機(jī)某個功能模塊需要改變時,開發(fā)者不需要擔(dān)心對其他功能模塊的影響,只需要在相應(yīng)的邏輯接口層進(jìn)行修改即可。
2.物理接口層
物理接口層是把攝像機(jī)提供的API進(jìn)行封裝,開發(fā)語言的統(tǒng)一。目前大多數(shù)的SDK是由C語言編寫的,不同語言之間存在一定的差異。本系統(tǒng)采用C#語言對API進(jìn)行封裝,包括數(shù)據(jù)類型的轉(zhuǎn)換以及功能函數(shù)的轉(zhuǎn)換。由于兩種語言的不同,數(shù)據(jù)類型也不同,經(jīng)過語言的轉(zhuǎn)換,方便統(tǒng)一的開發(fā)和維護(hù)。物理層接口并沒有改變硬件提供的函數(shù)的功能,僅僅實(shí)現(xiàn)語言上的轉(zhuǎn)換。
五、總結(jié)與展望
監(jiān)控報警系統(tǒng)作為安防產(chǎn)業(yè)的一種新型技術(shù)和產(chǎn)品,憑借著技術(shù)上與IP網(wǎng)絡(luò)的無縫兼容,智能連接三級設(shè)備,實(shí)現(xiàn)高效快速的報警設(shè)備管理,近年來發(fā)展迅猛,涉及的知識面也十分寬泛。
本文通過對監(jiān)控報警管理系統(tǒng)的設(shè)計,提出了自己的設(shè)計思路以及簡單的系統(tǒng)架構(gòu)。達(dá)到了開發(fā)語言從面向過程到面向?qū)ο蟮霓D(zhuǎn)變,不改變上層結(jié)構(gòu)的前提下插入多種設(shè)備的目的。提高系統(tǒng)的安全性,可擴(kuò)展性和可維護(hù)性。
監(jiān)控報警設(shè)備管理平臺的成功開發(fā)大大降低了監(jiān)控所需要的各項費(fèi)用指標(biāo),在管理龐大的監(jiān)控設(shè)備時比認(rèn)為管理更加科學(xué)合理,安全可靠。同時本軟件還可以未來發(fā)展為移動終端無線控制,相信會受到廣大消費(fèi)者的一致認(rèn)可和青睞。當(dāng)然,面對中國市場的多元化,系統(tǒng)對某些尤其復(fù)雜的問題還無法解決,下一步將進(jìn)行更深入的探討。
參考文獻(xiàn):
[1]姜卓彥.企業(yè)級入侵檢測系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J]. 計算機(jī)與現(xiàn)代化, 2006, (5): 64-65.
[2]任泰明.TCP/IP網(wǎng)絡(luò)編程 人民郵電出版社,2009年8月,78-264
[3]吳益飛.基于MSP430單片機(jī)的云臺控制系統(tǒng)設(shè)計與實(shí)現(xiàn)[J]. 中文核心期刊, 2006, 22(72):90-93