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