淺析藍(lán)色星際監(jiān)控平臺軟件中間件技術(shù)
近幾年,安防作為一個新興的產(chǎn)業(yè)在中國以迅猛的速度發(fā)展,隨著各類型監(jiān)控設(shè)備的百花齊放和普及應(yīng)用,作為安防產(chǎn)品功能集中體現(xiàn)的監(jiān)控平臺軟件逐漸被設(shè)備廠商和用戶所重視。藍(lán)色星際作為國內(nèi)知名安防廠商,多年來一直致力于系統(tǒng)解決方案的提供,尤其重視BstarCenter網(wǎng)絡(luò)視頻監(jiān)控平臺軟件的開發(fā)和投入。經(jīng)過多年行業(yè)經(jīng)驗的積累,基于先進(jìn)的軟件開發(fā)思想提出了一套切實可行的技術(shù)方案。筆者親身經(jīng)歷了BstarCenter網(wǎng)絡(luò)視頻監(jiān)控平臺初期的傳統(tǒng)編碼方式,體會過開發(fā)效率低、無法適應(yīng)客戶需求變更的痛苦;也享受了針對困難進(jìn)行變革,轉(zhuǎn)變思路,優(yōu)化開發(fā)模式,整合開發(fā)資源的歷練?;仡^總結(jié)的同時,撰寫此文,意在總結(jié)藍(lán)色星際BstarCenter網(wǎng)絡(luò)視頻監(jiān)控平臺軟件在發(fā)展過程中的經(jīng)驗,同時從安防監(jiān)控平臺中間件開發(fā)的角度解析視頻監(jiān)控平臺的特點。
中間件+分布式架構(gòu)的技術(shù)實現(xiàn)是當(dāng)今軟件技術(shù)的主流方向。介于操作系統(tǒng)底層硬件和應(yīng)用程序之前的中間件層可以最大程度地簡化開發(fā)過程,提高開發(fā)效率,是軟件市場細(xì)分、分工合作的必然結(jié)果。中間件技術(shù)的興起,使得以業(yè)務(wù)為導(dǎo)向,快速構(gòu)建軟件應(yīng)用平臺成為可能。
從技術(shù)角度分析,安防監(jiān)控平臺發(fā)展的戰(zhàn)略重點是將技術(shù)平臺和產(chǎn)品平臺分離,從而降低軟件開發(fā)人員的流失風(fēng)險和開發(fā)成本,優(yōu)化資源配置。從通俗意義上講,技術(shù)平臺就是安防監(jiān)控平臺的基礎(chǔ)部件,產(chǎn)品平臺是在技術(shù)平臺上搭建的行業(yè)應(yīng)用。用戶需求的迅速響應(yīng),應(yīng)用方案的快捷定位等等這些產(chǎn)品平臺層面涉及的問題,除考驗著安防廠商對行業(yè)的理解以及公司內(nèi)部各部門間的運(yùn)作模式外,在很大程度上取決于技術(shù)部門搭建技術(shù)平臺的高度和靈活度。同時,安防是一個立體性很強(qiáng)的行業(yè),其中涉及了視頻、語音、網(wǎng)絡(luò)、存儲等等多方面的技術(shù),每一個技術(shù)環(huán)節(jié)在任何一個行業(yè)應(yīng)用中都可能被深度挖掘或放大,這些是對安防廠商技術(shù)平臺層面最大的考驗。鑒于上述問題,綜合開發(fā)成本的考慮和大型軟件工程開發(fā)模式,安防監(jiān)控平臺中間件技術(shù)的引入迫在眉睫。BstarCenter網(wǎng)絡(luò)視頻監(jiān)控平臺在開發(fā)過程中,充分認(rèn)識到了上述可能遇到的問題,針對安防監(jiān)控平臺應(yīng)用,對系統(tǒng)作以下分析同時保證在現(xiàn)有系統(tǒng)中實現(xiàn)。
分布式面向?qū)ο蟮南到y(tǒng)結(jié)構(gòu)特點
針對安防監(jiān)控軟件的發(fā)展特點,分布式和面向?qū)ο髢纱筇攸c可以大幅提高方案靈活性、擴(kuò)展性;降低開發(fā)過程消耗的時間、難度;同時,降低不必要的復(fù)雜性,使平臺更易于學(xué)習(xí)和使用,降低開發(fā)成本。
分布各個對象間采用RPC的調(diào)用方式
由于中間件需要屏蔽分布環(huán)境中異步的操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議,必須能夠提供一種分布環(huán)境下的通訊服務(wù)。RPC(遠(yuǎn)程過程調(diào)用協(xié)議)是一種廣泛使用的分布式應(yīng)用程序處理方法,實現(xiàn)人員在進(jìn)行對象間通訊以完成某些功能時,就像調(diào)用本地實現(xiàn)的方法一樣,通過RPC的方式調(diào)用目標(biāo)模塊的接口,目標(biāo)接口通過返回值或拋出異常的方式反饋執(zhí)行結(jié)果。BstarCenter使用的RPC調(diào)用方法底層支持TCP和UDP協(xié)議,保證實施的靈活性。除了支持普通同步調(diào)用的方式外,還支持異步調(diào)用(AMI)、異步分發(fā)(AMD)以及廣播服務(wù)的功能,使平臺的命令控制、報警轉(zhuǎn)發(fā)、新功能發(fā)布等擁有靈活的應(yīng)用空間。
抽象出文件讀取模塊、數(shù)據(jù)庫訪問模塊、視頻轉(zhuǎn)發(fā)模塊、認(rèn)證模塊、資源訪問模塊、設(shè)備控制模塊等。
針對安防監(jiān)控平臺的應(yīng)用,架構(gòu)設(shè)計已經(jīng)被多次討論,很多同行已經(jīng)對其進(jìn)行過分析,并形成了比較成熟的方案。各個主流廠商雖有細(xì)微差別,但基本都具備以上幾大模塊,筆者在此就不做詳述(具體如圖1所示)。
▲圖1?模塊劃分結(jié)構(gòu)圖
1.提供在網(wǎng)絡(luò)帶寬、內(nèi)存使用和CPU開銷方面都很高效地實現(xiàn)和應(yīng)用
BstarCenter在網(wǎng)絡(luò)底層、內(nèi)存使用和CPU開銷方面進(jìn)行深層次的優(yōu)化,因為隨著系統(tǒng)性能的提高和負(fù)載的增大,以上三個環(huán)節(jié)將是限制安防監(jiān)控平臺性能的主要因素。同時,在帶寬占用、內(nèi)存及CPU的使用上,提供接口可以實時地進(jìn)行跟蹤輸出,以便于調(diào)試和問題定位。
2.針對分布式特點提供靈活的防火墻解決方案
BstarCenter使用的通訊協(xié)議支持雙向連接的建立方式,配合前端設(shè)備的支持,可以保證客戶端與服務(wù)器或設(shè)備與服務(wù)器對防火墻的穿透方案。與此同時,BstarCenter對端口的使用可以支持動態(tài)、靜態(tài)、區(qū)間范圍分配三種方式,做到靈活配合客戶網(wǎng)絡(luò)環(huán)境防火墻設(shè)置。
3.提供一種內(nèi)建安全性的實現(xiàn),以適應(yīng)不安全的網(wǎng)絡(luò)環(huán)境
隨著行業(yè)客戶要求的提高,重點保密行業(yè)對安防涉足和以公網(wǎng)為媒介的監(jiān)控要求,數(shù)據(jù)安全性已經(jīng)成為安防監(jiān)控平臺下個階段的重要環(huán)節(jié)。BstarCenter提供了針對SSL協(xié)議的支持。
4.系統(tǒng)實現(xiàn)與平臺無關(guān)
由于客戶要求的多樣化,以及第三方設(shè)備廠商技術(shù)能力的差異性,跨平臺的系統(tǒng)對其進(jìn)行有效的保證。多平臺的支持可以在以下幾個方面獲得較高收益:SDK接入便捷性、WEB形式應(yīng)用軟件的迅速發(fā)布、針對不同行業(yè)方案實施的保證、針對客戶特殊要求而進(jìn)行的平臺整合等。
5.提供升級服務(wù)模塊
針對安防行業(yè)用戶需求變化快、設(shè)備更新快的特點,提供升級模塊功能,保證升級包的檢測和自動化執(zhí)行。
為了保證BstarCenter網(wǎng)絡(luò)視頻監(jiān)控平臺技術(shù)的先進(jìn)性,及時更新使用最新的底層技術(shù)(比如select模型到epoll/IOCP模型的轉(zhuǎn)變),我們也選擇性地使用了第三方底層架構(gòu)中間件,并根據(jù)監(jiān)控行業(yè)的特點進(jìn)行定制和刪減。在其上層完善出BstarCenter監(jiān)控平臺中間件基礎(chǔ)模塊。
依靠上述技術(shù)封裝的Bstar-Center監(jiān)控平臺中間件模塊,可以方便、快捷的進(jìn)行上層應(yīng)用開發(fā)。接下來,筆者將以門禁中間件模塊為例,簡要描述以藍(lán)色星際BstarCenter監(jiān)控平臺中間件為基礎(chǔ)進(jìn)行二次開發(fā)的過程。
門禁中間件模塊由三個部分組成,分別為設(shè)備控制模塊、權(quán)限控制模塊、信息回調(diào)模塊。從門禁工作流程的角度分析,二次開發(fā)首要任務(wù)是對門禁設(shè)備、門禁用戶、IC卡、指紋信息進(jìn)行封裝,形成一套用戶定制的增、刪、改、查流程,并完成發(fā)卡或指紋授予的工作(即用戶與IC卡、指紋綁定)。以上數(shù)據(jù)中,只有卡號和門禁地址作為設(shè)備控制模塊和權(quán)限控制模塊的接口參數(shù)。接下來,通過權(quán)限控制模塊提供的接口函數(shù),完成整個門禁的授權(quán)流程和工作模式配置流程。通過設(shè)備控制模塊和權(quán)限控制模塊的接口,應(yīng)用開發(fā)人員已經(jīng)完成了門禁的基本工作流。最后,針對用戶的要求,結(jié)合自己平臺的視頻特點,通過信息回調(diào)模塊,捕捉開門事件、刷卡事件、報警事件等,和平臺其他功能相結(jié)合,達(dá)到二次開發(fā)的目的。整個開發(fā)過程中,應(yīng)用功能開發(fā)人員不需要關(guān)注門禁設(shè)備的具體型號和接入方式。唯一需要關(guān)注的是,客戶針對門禁這一傳統(tǒng)安防產(chǎn)品形態(tài),在安防監(jiān)控平臺上所提出的應(yīng)用要求。整個開發(fā)過程大規(guī)模降低了技術(shù)平臺對技術(shù)人員的依賴性,將開發(fā)過程模塊化、流水線化,是今后整個安防監(jiān)控平臺軟件的發(fā)展方向(如圖2所示)。
▲圖2?門禁中間件模塊組成圖
矗立于中國軟件行業(yè)大環(huán)境中的監(jiān)控平臺軟件,必會遵循軟件行業(yè)發(fā)展的規(guī)律,只有深入挖掘用戶需求,準(zhǔn)確找到行業(yè)定位,并適時推出解決問題的具體方案,滿足用戶個性化需求,方能得到青睞。安防監(jiān)控平臺軟件的中間件技術(shù)的引入,正是提高平臺廠商核心競爭力的主要手段。同時,監(jiān)控平臺中間件技術(shù)也蘊(yùn)藏著巨大的經(jīng)濟(jì)潛力和利潤空間。身為安防領(lǐng)域的一份子,藍(lán)色星際會繼續(xù)致力于安防監(jiān)控平臺中間件技術(shù)的開發(fā)與發(fā)展。
評論