• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種數(shù)字化綜合安防系統(tǒng)的設(shè)計與實現(xiàn)

      2021-01-22 07:51:08朱望純
      關(guān)鍵詞:化機制消息組件

      朱望純, 張 樂

      (桂林電子科技大學(xué) 電子工程與自動化學(xué)院,廣西 桂林 541004)

      近幾年政府與行業(yè)機構(gòu)頒布若干安防領(lǐng)域的相關(guān)政策與規(guī)范,表明安防建設(shè)已經(jīng)上升為國家戰(zhàn)略發(fā)展目標(biāo)之一,具有十分重要的意義。在《中國安防行業(yè)“十三五”發(fā)展規(guī)劃》中提到我國安防行業(yè)未來幾年發(fā)展目標(biāo),目標(biāo)明確指出安防系統(tǒng)建設(shè)向高效協(xié)同互聯(lián)與多領(lǐng)域融合方向轉(zhuǎn)變,證明我國的安防體系正從單一、分散的傳統(tǒng)模式架構(gòu)轉(zhuǎn)向數(shù)字化、綜合化、智能化的方向發(fā)展[1]。同時安防系統(tǒng)已經(jīng)不再是僅局限于軍工、民航、政府等特殊領(lǐng)域,已逐步融合至教育、金融、民用安全等多個領(lǐng)域。因此,開發(fā)數(shù)字化綜合安防系統(tǒng)對相關(guān)領(lǐng)域部門及社會各界具有積極的影響,其未來具有廣闊的發(fā)展前景與空間。

      在安防領(lǐng)域綜合安防系統(tǒng)方面的研究已經(jīng)積累了一些成果。文獻[2]根據(jù)國內(nèi)軌道城市安防需求,設(shè)計與實現(xiàn)了一套綜合安防系統(tǒng)解決方案,對系統(tǒng)的總體架構(gòu)、管理模式、關(guān)鍵技術(shù)和運營等方面進行了詳細(xì)闡述與討論,并對未來軌道城市建設(shè)中的綜合安防系統(tǒng)發(fā)展方向進行了展望;文獻[3]介紹了一種應(yīng)用于軍區(qū)島礁等特殊環(huán)境的綜合安防系統(tǒng),分析與研究了SOA體系下的安防系統(tǒng)架構(gòu)設(shè)計思路,用于解決軍區(qū)特殊環(huán)境下安全與信息管理等問題;文獻[4]通過建立系統(tǒng)可靠性框圖模型對安防系統(tǒng)可靠性進行評估;文獻[5]提出一種基于物元分析的安防系統(tǒng)可靠性評估方法,對安防系統(tǒng)可靠性進行了量化評估分析。

      本研究介紹了一種數(shù)字化綜合安防系統(tǒng),并對系統(tǒng)關(guān)鍵設(shè)計要點進行研究與討論,該系統(tǒng)由監(jiān)控軟件、通信網(wǎng)絡(luò)、系統(tǒng)服務(wù)集群、前端監(jiān)控設(shè)備組成,主要功能包含視頻監(jiān)控、周界防護、消防管理、門禁控制、網(wǎng)絡(luò)對講、電子巡更6個安防模塊,用戶可通過以上安防功能對目標(biāo)進行多角度、多層級的全方位監(jiān)控??稍O(shè)置系統(tǒng)警情觸發(fā)條件、范圍、觸發(fā)優(yōu)先級等參數(shù),當(dāng)無人值守時系統(tǒng)各部分安防模塊可協(xié)同工作,當(dāng)發(fā)生異常情況時模塊間可進行協(xié)同聯(lián)動工作,對警情進行實時處理并通知相關(guān)技術(shù)人員情況。針對系統(tǒng)關(guān)鍵設(shè)計要點,對系統(tǒng)總體架構(gòu)、服務(wù)設(shè)計、消息傳輸與組件化機制3個設(shè)計要點進行介紹。系統(tǒng)架構(gòu)總體分為4層,分別為應(yīng)用服務(wù)層、系統(tǒng)業(yè)務(wù)層、系統(tǒng)數(shù)據(jù)層、基礎(chǔ)支撐層。劃分層級的意義在于明確功能與模塊業(yè)務(wù)邊界使系統(tǒng)具有良好的擴展性,降低邏輯之間的耦合度,同時便于未來的維護與升級??紤]到模塊間的實時高效通信問題,同時為了進一步增強系統(tǒng)的可擴展性,系統(tǒng)實現(xiàn)了消息傳輸與組件化機制,主要由消息隊列、負(fù)載均衡、消息路由、模塊加載器4部分構(gòu)成,系統(tǒng)引入消息傳輸機制提高了服務(wù)時效降低系統(tǒng)整體負(fù)載,新增資料與模塊亦可通過組件化機制實現(xiàn)快速上線擴展,有效提升系統(tǒng)可擴展性和適應(yīng)能力。針對性能問題對系統(tǒng)服務(wù)進行拆分,并引入服務(wù)發(fā)現(xiàn)、服務(wù)注冊、服務(wù)檢測機制對系統(tǒng)服務(wù)集群進行統(tǒng)一維護與管理,確保系統(tǒng)在高負(fù)載情況下提高容錯率保持良好響應(yīng)。服務(wù)拆分將系統(tǒng)關(guān)鍵服務(wù)拆分為中心管理服務(wù)、監(jiān)控服務(wù)、流媒體服務(wù)、數(shù)據(jù)服務(wù)四大服務(wù),每個服務(wù)部分可以單獨部署、維護與升級,系統(tǒng)可形成服務(wù)集群提供高質(zhì)量穩(wěn)定服務(wù)。服務(wù)注冊機制采用動態(tài)配置對系統(tǒng)各服務(wù)進行注冊管理,避免了傳統(tǒng)靜態(tài)部署帶來的后續(xù)可維護性問題,服務(wù)發(fā)現(xiàn)機制提供了一種服務(wù)協(xié)調(diào)機制,確保安防各子服務(wù)能夠彼此發(fā)現(xiàn)保證系統(tǒng)服務(wù)的可靠性,服務(wù)檢測機制負(fù)責(zé)服務(wù)集群整體狀態(tài)管理與維護,實現(xiàn)系統(tǒng)平穩(wěn)高效運行。系統(tǒng)通過以上優(yōu)化設(shè)計實現(xiàn)對目標(biāo)全方位監(jiān)控功能,同時較好地提升了整體服務(wù)質(zhì)量與訪問性能,具有較高的可靠性與穩(wěn)定性,可適應(yīng)日益增長的業(yè)務(wù)需求。

      1 系統(tǒng)總體架構(gòu)

      數(shù)字化綜合安防系統(tǒng)總體架構(gòu)是系統(tǒng)業(yè)務(wù)構(gòu)成,由宏觀至微觀的條理化描述,架構(gòu)層級由上至下分別為系統(tǒng)服務(wù)層、系統(tǒng)業(yè)務(wù)層、系統(tǒng)數(shù)據(jù)層和基礎(chǔ)支撐層。架構(gòu)設(shè)計降低系統(tǒng)整體復(fù)雜度與模塊之間耦合度,確保系統(tǒng)整體的可擴展性與后期可維護性。

      數(shù)字化綜合安防系統(tǒng)總體架構(gòu)如圖1所示。應(yīng)用服務(wù)層直接面向用戶提供系統(tǒng)功能并簡化操作邏輯。系統(tǒng)不僅可以提供基本安防功能,還可根據(jù)需要定制與配置系統(tǒng),利用設(shè)備部署功能對設(shè)備進行添加、刪除、分組等操作,實現(xiàn)動態(tài)化部署,達到最大化適應(yīng)現(xiàn)場環(huán)境的目的;考慮到現(xiàn)場可能存在原先部署的系統(tǒng),通過第三方接入功能實現(xiàn)新老系統(tǒng)的對接與融合,以充分利用現(xiàn)有資源;根據(jù)部署規(guī)模的不同,系統(tǒng)提供tcp、http、rpc、socket等多種通信方式以適應(yīng)需要;為提升目標(biāo)區(qū)域的安全性,通過系統(tǒng)配置安防模塊聯(lián)動規(guī)則,警情觸發(fā)條件、范圍、優(yōu)先級等屬性實現(xiàn)多層次的集中監(jiān)控。

      圖1 系統(tǒng)總體架構(gòu)

      系統(tǒng)業(yè)務(wù)層是整個系統(tǒng)業(yè)務(wù)規(guī)則、邏輯和函數(shù)的集合,主要包括監(jiān)控子系統(tǒng)和系統(tǒng)服務(wù)兩大部分。監(jiān)控子系統(tǒng)提供安防相關(guān)業(yè)務(wù)邏輯支撐,同時對模塊功能、設(shè)備接口進行統(tǒng)一描述,保證層級無差異調(diào)用。系統(tǒng)服務(wù)包含系統(tǒng)關(guān)鍵部分,消息服務(wù)負(fù)責(zé)組件與應(yīng)用之間通信,保證消息可靠傳輸。消息服務(wù)是整個系統(tǒng)的消息中心,系統(tǒng)其它服務(wù)與組件依賴此機制進行信息的交互;文件存儲提供集中統(tǒng)一式文件管理與存儲服務(wù);多級緩存和負(fù)載均衡消除不同模塊設(shè)備之間I/O速率差異并消除負(fù)載尖峰,防止突發(fā)流量對系統(tǒng)的沖擊;日志記錄服務(wù)供開發(fā)人員分析系統(tǒng)總體運行情況;設(shè)備檢測服務(wù)通過心跳檢測等方式檢測前端監(jiān)控設(shè)備狀態(tài),對系統(tǒng)各子服務(wù)進行實時監(jiān)控與檢測,保證其正常運行與自動化管理,當(dāng)發(fā)生突發(fā)情況時,能夠自我恢復(fù),實現(xiàn)系統(tǒng)平穩(wěn)正常運行。當(dāng)設(shè)備發(fā)生異常時,進行切換、告警等操作,保證監(jiān)控功能的持續(xù)性。

      系統(tǒng)數(shù)據(jù)層主要提供數(shù)據(jù)存儲、提取、傳輸?shù)裙δ埽到y(tǒng)數(shù)據(jù)主要包括監(jiān)控數(shù)據(jù)和系統(tǒng)數(shù)據(jù)2個部分??紤]到對數(shù)據(jù)實時性訪問與安全性等方面需求,具體表現(xiàn)在實際生產(chǎn)環(huán)境中,單數(shù)據(jù)庫同時承擔(dān)所有數(shù)據(jù)操作未能滿足實際生產(chǎn)需求,尤其是針對監(jiān)控系統(tǒng)這種數(shù)據(jù)高并發(fā),且存在大量讀寫請求的場合,因此引入數(shù)據(jù)讀寫分離與主從備份方案。當(dāng)數(shù)據(jù)請求到達數(shù)據(jù)層時,首先會經(jīng)過數(shù)據(jù)路由分類將請求打散至不同數(shù)據(jù)庫,防止大量請求對同一個數(shù)據(jù)庫的沖擊。同時根據(jù)數(shù)據(jù)特征將數(shù)據(jù)分類至不同數(shù)據(jù)庫,并對不同數(shù)據(jù)庫進行特定優(yōu)化,例如針對讀操作數(shù)據(jù)庫建立全局索引、聯(lián)合索引等機制強化查詢與讀取能力,針對寫操作數(shù)據(jù)庫進行分庫分表、限制并發(fā)連接、實行小事務(wù)等機制,減少由寫等后續(xù)操作帶來的延遲。為防止不可控因素對數(shù)據(jù)的破壞,使用主從備份的方式對數(shù)據(jù)庫進行熱備份,從部署規(guī)??紤],可采用雙機熱備或多級熱備,考慮到數(shù)據(jù)量問題,如果數(shù)據(jù)規(guī)模一般,可使用全量備份對數(shù)據(jù)進行完全拷貝,對于大數(shù)據(jù)可使用增量備份即記錄binlog日志文件,通過日志文件恢復(fù)目標(biāo)數(shù)據(jù)。

      基礎(chǔ)支撐層是整個系統(tǒng)運行的基礎(chǔ),包括操作系統(tǒng)、網(wǎng)絡(luò)鏈路、監(jiān)控設(shè)備等軟硬件基礎(chǔ)設(shè)施。

      2 系統(tǒng)服務(wù)設(shè)計

      系統(tǒng)服務(wù)設(shè)計針對業(yè)務(wù)需求及其領(lǐng)域,按照業(yè)務(wù)邊界和拆分原則,對系統(tǒng)服務(wù)進行拆分與設(shè)計,利用服務(wù)注冊、服務(wù)發(fā)現(xiàn)與服務(wù)檢測機制,對服務(wù)集群進行維護與管理。

      2.1 服務(wù)拆分與設(shè)計

      為避免集中服務(wù)所帶來的計算與I/O瓶頸,根據(jù)服務(wù)拆分原則將系統(tǒng)拆分為中心管理服務(wù)、監(jiān)控服務(wù)、流媒體服務(wù)、數(shù)據(jù)庫服務(wù)四大服務(wù),每項服務(wù)可部署在獨立的服務(wù)器中,最終系統(tǒng)形成集群,提供高質(zhì)量服務(wù)。

      為確保系統(tǒng)各子服務(wù)能夠穩(wěn)定高效運行,對服務(wù)進行合理部署,系統(tǒng)服務(wù)部署圖如圖2所示。

      圖2 系統(tǒng)服務(wù)部署

      系統(tǒng)服務(wù)部署整體分為3個部分。首先,客戶端部署接入系統(tǒng)安防網(wǎng)絡(luò)實現(xiàn)服務(wù)訪問;其次,各系統(tǒng)服務(wù)進行部署實現(xiàn)安防業(yè)務(wù)邏輯,考慮到安全性服務(wù)部署對外不直接暴露接口,通過安防網(wǎng)絡(luò)核心交換機或代理服務(wù)實現(xiàn)訪問與數(shù)據(jù)交換;最后,安防設(shè)備進行部署,設(shè)備網(wǎng)絡(luò)與系統(tǒng)服務(wù)進行交互。

      圖3 系統(tǒng)服務(wù)架構(gòu)

      系統(tǒng)服務(wù)根據(jù)原則拆分為多個系統(tǒng)子服務(wù),系統(tǒng)服務(wù)架構(gòu)圖如圖3所示。中心管理服務(wù)在整個系統(tǒng)體系架構(gòu)中扮演核心角色。根據(jù)服務(wù)部署位置考慮,用戶的請求首先會經(jīng)過核心交換機與中心管理服務(wù)器,因此承擔(dān)了認(rèn)證、鑒權(quán)、管理、配置、流量審計等管理工作。在實際部署中,可架設(shè)Nginx服務(wù)器作為前置堡壘機,對流量進行初步篩選與分發(fā),之后流量到達中心服務(wù)器,利用Apache Shiro框架進行認(rèn)證,并根據(jù)配置對其相應(yīng)操作合法性進行審查與授權(quán)。從系統(tǒng)服務(wù)治理角度考慮,中心管理服務(wù)擔(dān)任各個節(jié)點的管理與監(jiān)控任務(wù),當(dāng)節(jié)點發(fā)生故障時,中心管理服務(wù)對相應(yīng)系統(tǒng)服務(wù)節(jié)點進行降級或啟用備用方案,防止大量請求積壓造成I/O高負(fù)載引發(fā)的響應(yīng)遲緩或無響應(yīng)[6]。

      監(jiān)控服務(wù)承擔(dān)系統(tǒng)業(yè)務(wù)邏輯處理工作,主要包括解析其他服務(wù)的指令并操作與控制設(shè)備、適配不同種類的安防子系統(tǒng)等工作,提供統(tǒng)一服務(wù)接口以供調(diào)用,提供高可用的通信機制以實現(xiàn)高效信息交換與信令交換等。監(jiān)控服務(wù)器設(shè)計總體從標(biāo)準(zhǔn)化與性能雙方面考慮,首先實現(xiàn)標(biāo)準(zhǔn)化,包括規(guī)范數(shù)據(jù)、規(guī)范服務(wù)接口、配置標(biāo)準(zhǔn)化3個部分。規(guī)范數(shù)據(jù)作用在于屏蔽各廠家之間協(xié)議與數(shù)據(jù)結(jié)構(gòu)之間的差異與不合理的設(shè)計,實現(xiàn)異構(gòu)數(shù)據(jù)與協(xié)議的統(tǒng)一,同時為存儲、數(shù)據(jù)共享、服務(wù)接口設(shè)計、消息中間件等關(guān)鍵組件的設(shè)計打下基礎(chǔ)。規(guī)范服務(wù)接口制定服務(wù)接口提供服務(wù)規(guī)范,統(tǒng)一業(yè)務(wù)參數(shù)、返回類型、異常類型等結(jié)構(gòu),避免因結(jié)構(gòu)帶來的兼容性與測試方面的困難,方便服務(wù)擴展、維護與修改。配置標(biāo)準(zhǔn)化目的在于統(tǒng)一配置方式與使用流程,一方面減少開發(fā)與維護壓力,另一方面減少用戶因不同廠家設(shè)備帶來的學(xué)習(xí)成本。監(jiān)控性能方面從系統(tǒng)計算并發(fā)和數(shù)據(jù)并發(fā)兩個角度考慮。處理計算并發(fā)可以利用分治策略解決,將任務(wù)分解為若干小任務(wù),分而治之,最后合并得到結(jié)果,同時考慮將某些任務(wù)綁定至處理器某核心,以減少處理器上下文切換所帶來的損耗;解決數(shù)據(jù)并發(fā)針對系統(tǒng)內(nèi)部邏輯涉及到鎖操作時避免全局鎖等大事務(wù)操作,多次小事務(wù)與異步操作可有效減少鎖阻塞帶來的遲滯處理等問題。

      流媒體服務(wù)可直接對接網(wǎng)絡(luò)視頻監(jiān)控設(shè)備進行分發(fā)推流,同時支持嵌入式和其他非網(wǎng)絡(luò)與底層設(shè)備。利用RTP、RTSP、RTMP等流媒體協(xié)議將視頻流在網(wǎng)絡(luò)中傳輸,實現(xiàn)實時播放、點播回放、錄播等多媒體功能,同時可利用服務(wù)器后臺進行信息統(tǒng)計,發(fā)現(xiàn)情況可迅速定位位置,進行問題排除[7]。

      數(shù)據(jù)服務(wù)利用SqlServer數(shù)據(jù)庫建立數(shù)據(jù)庫集群,對系統(tǒng)提供監(jiān)控數(shù)據(jù)和系統(tǒng)數(shù)據(jù)的映射、讀取、修改等服務(wù)。為保證數(shù)據(jù)安全性,數(shù)據(jù)庫服務(wù)在硬件配置上采用獨立硬盤冗余陣列等方式提升性能;在非忙時段(例如晚間0點至6點)進行數(shù)據(jù)備份,在工作時段采用異步備份對關(guān)鍵數(shù)據(jù)進行及時保存;針對讀或?qū)戭l繁的場合,服務(wù)器利用ORM框架作為中間件來保證性能與靈活性,并采用讀寫分離的方式對特定場景進行優(yōu)化,將I/O壓力分散,提高服務(wù)效率。

      2.2 服務(wù)注冊

      為保證各個服務(wù)能夠高效協(xié)同工作,在服務(wù)初始階段需要將自身注冊至中心管理服務(wù)。在實際配置中很多方案采用靜態(tài)部署的方式,其原因是靜態(tài)部署實現(xiàn)難度較低,后期運維可迅速定位問題。本系統(tǒng)采用動態(tài)配置服務(wù)的方式,其原因是考慮到后期架構(gòu)的擴展性,方便系統(tǒng)進行升級適應(yīng)未來需求的變化[8]。服務(wù)注冊流程如圖4所示。

      圖4 服務(wù)注冊流程

      服務(wù)注冊機制采用動態(tài)配置的方式,服務(wù)在初期并不知曉中心管理服務(wù)的位置,利用廣播的方式嘗試獲取其信息。廣播搜索的方式會對網(wǎng)絡(luò)造成一定負(fù)擔(dān),當(dāng)搜索超過預(yù)設(shè)值時會觸發(fā)超時策略,超時策略首先利用配置中的靜態(tài)列表嘗試連接,若仍未連接成功,則等待一段時間繼續(xù)廣播搜索,同時記錄日志并通知管理用戶當(dāng)前情況。若通過廣播搜索方式得到響應(yīng),判斷響應(yīng)服務(wù)的類型,發(fā)現(xiàn)對方為中心管理服務(wù),則會再次確認(rèn)對方類型,再次確認(rèn)后向中心管理服務(wù)提交注冊申請并記錄其信息,最后開啟定時探測保持與中心管理服務(wù)的連接;若響應(yīng)服務(wù)為其他服務(wù),則會繼續(xù)發(fā)送廣播信息,此時廣播信息會包含自身和響應(yīng)服務(wù)的信息[9]。

      2.3 服務(wù)發(fā)現(xiàn)

      當(dāng)集中服務(wù)被拆分為若干服務(wù)時,需要一種機制以確保服務(wù)之間能夠及時準(zhǔn)確地獲得彼此網(wǎng)絡(luò)的位置并實現(xiàn)高效通信,這種機制就是服務(wù)發(fā)現(xiàn)機制。服務(wù)發(fā)現(xiàn)流程如圖5所示。

      圖5 服務(wù)發(fā)現(xiàn)流程

      服務(wù)會從中心管理服務(wù)拉取注冊服務(wù)列表,從列表中搜索并獲取待發(fā)現(xiàn)服務(wù)的必要信息,通過這些必要信息嘗試與目標(biāo)服務(wù)進行通信,雙方相互確認(rèn)之后開始協(xié)商通信協(xié)議等信息,協(xié)商成功后刷新自身信息列表,并將協(xié)商后的信息上傳至中心管理服務(wù),最后開啟定時探測保持與其他服務(wù)的聯(lián)系[10];若未在指定通信次數(shù)范圍內(nèi)通信成功,則說明待發(fā)現(xiàn)服務(wù)位置發(fā)生變動或者服務(wù)已下線,此時需要刷新拉取服務(wù)列表以重新獲取待發(fā)現(xiàn)服務(wù)信息,若仍獲取不到信息或通信不成功,則說明待發(fā)現(xiàn)服務(wù)已下線或出現(xiàn)其他問題,此時記錄當(dāng)前情況并將情況上傳至中心管理服務(wù)以待排查。

      2.4 服務(wù)檢測

      服務(wù)在運行過程中可能因為系統(tǒng)故障、網(wǎng)絡(luò)故障、過負(fù)載等原因?qū)е抡;蚍钦kx線,為保證系統(tǒng)平穩(wěn)高效運行,系統(tǒng)通過服務(wù)檢測機制發(fā)現(xiàn)存在問題服務(wù)并及時剔除,防止無效服務(wù)帶來請求積壓、通信超時等不良后果。服務(wù)檢測流程如圖6所示。

      圖6 服務(wù)檢測流程

      服務(wù)檢測機制負(fù)責(zé)維護與管理系統(tǒng)服務(wù)整體運行狀態(tài)。當(dāng)系統(tǒng)服務(wù)發(fā)生異常時,通過服務(wù)檢測機制可迅速確定異常服務(wù)離線的原因(主動請求離線或因故障被動離線),并進行故障排查,確保系統(tǒng)整體服務(wù)時效與穩(wěn)定性。服務(wù)檢測機制首先通過中心管理服務(wù)嘗試向目標(biāo)服務(wù)通信以確認(rèn)當(dāng)前運行狀態(tài),若發(fā)生通信超時,則執(zhí)行超時策略。超時策略會在規(guī)定時間內(nèi)嘗試重新連接目標(biāo)服務(wù),若目標(biāo)服務(wù)仍然出現(xiàn)不可連接的狀態(tài),則判定此服務(wù)故障,中心管理服務(wù)將此服務(wù)標(biāo)記為故障狀態(tài),同時向其他服務(wù)廣播消息通知并建議其他服務(wù)暫停與此服務(wù)的所有任務(wù),并將任務(wù)推送至等待隊列中;若中心管理服務(wù)成功與目標(biāo)服務(wù)通信并獲取響應(yīng),則根據(jù)響應(yīng)內(nèi)容做進一步判斷。若目標(biāo)服務(wù)并未主動申請離線,則可能由于目標(biāo)服務(wù)信息發(fā)生變更或網(wǎng)絡(luò)波動原因造成此服務(wù)暫時不可見或短時間離線,此時中心管理服務(wù)會重新獲取目標(biāo)服務(wù)信息并刷新服務(wù)列表,并同時告知其他服務(wù)目標(biāo)服務(wù)的更新信息,再次確認(rèn)目標(biāo)服務(wù)狀態(tài)正常后,將此事件記錄日志供運維人員查看分析;若目標(biāo)服務(wù)申請主動離線,則中心管理服務(wù)將目標(biāo)服務(wù)標(biāo)記為離線狀態(tài),廣播通知其他服務(wù)暫停所有與此服務(wù)相關(guān)的任務(wù),將待執(zhí)行任務(wù)推入等待隊列并通知任務(wù)發(fā)起方當(dāng)前情況[11]。

      3 消息傳輸與組件化機制

      安防系統(tǒng)中各子系統(tǒng)基于軟件平臺與異構(gòu)硬件存在大量消息交換,同時為處理消息需要加載不同組件與模塊。相較于其他通用計算機系統(tǒng),在消息傳輸、組件化處理等方面有一定的不同,具體表現(xiàn)為以下方面:

      1)強實時性。安防系統(tǒng)中要求各地防區(qū)實時傳輸數(shù)據(jù)進行監(jiān)控并對突發(fā)警情進行及時決策與判決。因此必須在規(guī)定的時間內(nèi)完成對數(shù)據(jù)的接收與處理,進行充分與及時的判斷與引導(dǎo)[12]。

      2)高可靠性。消息傳輸功能承擔(dān)系統(tǒng)絕大部分?jǐn)?shù)據(jù)流量的傳遞與交換,因此決定其高可靠性的要求[13]。尤其是在警情高發(fā)等關(guān)鍵時段,必須做到絕對可靠以保證相關(guān)安防任務(wù)與指揮調(diào)度的完成。

      3)可擴展性。安防系統(tǒng)為多組件集成應(yīng)用系統(tǒng),要求根據(jù)任務(wù)進行動態(tài)變更,實現(xiàn)業(yè)務(wù)與處理能力的橫向擴展,適應(yīng)未來需求變化。

      3.1 消息傳輸與組件化機制總體流程

      針對以上業(yè)務(wù)需求及其領(lǐng)域,按照實時性、可靠性與可擴展性等原則對消息傳輸與組件化機制進行設(shè)計,其中通過消息隊列、流量控制和消息路由等部分構(gòu)成消息傳輸機制以保證消息高效、可靠傳輸,通過組件發(fā)現(xiàn)、動態(tài)加載、組件容器部分構(gòu)成組件化機制以實現(xiàn)組件動態(tài)擴展與統(tǒng)一管理。以下對機制的總體流程進行討論。

      圖7 消息傳輸與組件化機制總體流程

      消息傳輸與組件化機制總體流程如圖7所示,機制總體流程分為如下4個部分:第一部分各模塊進行初始化操作,對相關(guān)配置信息進行校驗,校驗通過后加載配置,對關(guān)鍵字段與屬性進行賦值。第二部分在初始化完成后加載監(jiān)聽器,用于監(jiān)聽用戶操作或設(shè)備動作。采用監(jiān)聽器方式的目的在于避免直接引用帶來的耦合,可以很好地適配異構(gòu)硬件與軟件接口,因此無需考慮相應(yīng)接口設(shè)計實現(xiàn)與后續(xù)變更帶來的維護問題[14]。第三部分為消息轉(zhuǎn)換與發(fā)送。當(dāng)監(jiān)聽器監(jiān)聽到用戶操作或設(shè)備動作時,將其轉(zhuǎn)化為統(tǒng)一格式的消息。第四部分將消息轉(zhuǎn)發(fā)至相應(yīng)處理模塊。消息的轉(zhuǎn)發(fā)或投遞取決于流量控制模塊與消息路由模塊的決策。流量控制模塊對系統(tǒng)流量與負(fù)載情況進行監(jiān)視,防止突發(fā)流量對系統(tǒng)的沖擊。當(dāng)隊列負(fù)載超過閾值時,及時調(diào)整上游消息發(fā)送速率以實現(xiàn)均衡負(fù)載和流量削峰功能。當(dāng)系統(tǒng)負(fù)載和流量在正常閾值范圍內(nèi),此時允許消息投遞,消息進入隊列,被消息路由接收并分發(fā)至對應(yīng)處理線程。處理模塊的加載依靠組件化機制實現(xiàn),模塊可被動態(tài)加載至系統(tǒng)中,無需與系統(tǒng)框架進行耦合,實現(xiàn)系統(tǒng)的可擴展性。

      3.2 流量控制

      流量控制是消息傳輸過程中重要組成部分,流量控制的目的在于平滑負(fù)載并消除流量尖峰防止瞬時流量沖擊對系統(tǒng)造成的不良影響。實現(xiàn)流量控制需要流量策略或機制對流量進行統(tǒng)計與度量。系統(tǒng)采用令牌桶策略實現(xiàn)流量控制,令牌桶策略是目前最常見的流量控制與測量方法,可以用來評估流量速率,判定當(dāng)前系統(tǒng)負(fù)載情況是否需要調(diào)整。流量控制過程如圖8所示。

      圖8 流量控制過程

      流量控制過程核心部分為令牌桶控制策略。令牌桶策略有多種實現(xiàn)方式,本系統(tǒng)采用雙桶實現(xiàn)對流量進行測評。流量控制過程如圖8所示。為方便描述,將圖中所示2個令牌桶命名為C桶和E桶,C桶和E桶的令牌數(shù)為TC與TE。消息首先會嘗試獲取C桶令牌,若獲取成功,則此消息可以直接投放至消息隊列,若C桶令牌數(shù)小于閾值W,則嘗試從E桶獲取令牌,獲取成功,此消息會投放至等待區(qū)域進行排隊,獲取失敗,則會實行失敗策略。

      使用雙桶的策略不僅能夠限制數(shù)據(jù)的平均速率,而且當(dāng)系統(tǒng)存在尖峰流量時,可以允許一定程度的突發(fā)傳輸。系統(tǒng)可設(shè)定令牌桶容量、令牌補充速率、容量閾值等參數(shù)控制數(shù)據(jù)流量,同時用戶可根據(jù)令牌桶狀況對系統(tǒng)整體情況進行判斷,例如消息從C桶獲取令牌意味著此時數(shù)據(jù)流量在限定范圍內(nèi),消息從E桶獲取令牌意味著此時數(shù)據(jù)流量已經(jīng)超限但仍在控制范圍內(nèi),因此可引入監(jiān)控對整體負(fù)載情況進行監(jiān)視,并將數(shù)據(jù)反饋至流量控制組件以實現(xiàn)對流量的進一步控制。當(dāng)頻繁執(zhí)行失敗策略或消息長時間等待時,系統(tǒng)通知上游消息發(fā)送端適當(dāng)減少消息發(fā)送速率,同時檢查下游消息處理組件工作情況,將系統(tǒng)狀態(tài)以日志形式記錄,供運維人員進行統(tǒng)計與分析。

      3.3 消息路由分發(fā)

      消息路由分發(fā)部分主要承擔(dān)消息分發(fā)至指定的處理模塊的功能。主要由優(yōu)先級隊列、初步分發(fā)、消息匹配、消息處理等部分組成。

      消息路由分發(fā)示意圖如圖9所示。消息經(jīng)過消息隊列后,由消息路由進行轉(zhuǎn)發(fā)至對應(yīng)處理線程。考慮到系統(tǒng)可擴展性與消息分發(fā)效率,消息路由未采用集中路由表查詢的方式,而采用多級分發(fā)的方式進行處理。集中路由表與多級分發(fā)區(qū)別在于前者將所有待查詢的處理線程句柄放置在統(tǒng)一文件中,查詢時需要對整個文件進行遍歷。多級分發(fā)對所有處理線程句柄按照歸屬模塊進行分類形成組,并對分類后的元素進行整合。對數(shù)量不多的組元素以鏈表形式組織,對于數(shù)量較多的組元素按照二叉樹的形式組織。因此在消息匹配時首先會進行初步分發(fā)縮小查詢范圍,初步分發(fā)后在相應(yīng)組中進行具體的消息搜索與匹配,此時搜索相較于全局搜索而言速度更快,精度更高。當(dāng)匹配到相應(yīng)的處理線程后,將消息傳遞進行處理。考慮到對緊急消息處理的情況,在初步分發(fā)前加入優(yōu)先級隊列對消息進行優(yōu)先級排序,實現(xiàn)對較高優(yōu)先級的消息進行優(yōu)先處理;處理線程較多時將線程分組運行在不同線程池中,優(yōu)勢在于當(dāng)某線程池因故停止工作時不會導(dǎo)致全局處理異常,不同的線程池可以配置不同屬性(資源占有率、拒絕策略等)以實現(xiàn)特性化配置。

      圖9 消息路由分發(fā)示意圖

      3.4 組件化機制

      組件化機制實現(xiàn)對系統(tǒng)模塊的動態(tài)擴展與統(tǒng)一管理。機制主要由組件發(fā)現(xiàn)、動態(tài)加載、組件啟動、組件容器等部分構(gòu)成。組件化機制UML類圖如圖10所示。

      圖10 組件化機制UML類圖

      組件化機制核心包含3個方面,分別是組件規(guī)范接口、容器和掃描。組件規(guī)范接口規(guī)范組件行為,掃描負(fù)責(zé)在系統(tǒng)運行時定期查找與注冊新模塊,容器負(fù)責(zé)模塊加載,ModuleScanScheduler類定時掃描系統(tǒng),當(dāng)發(fā)現(xiàn)需要加載或更改組件時通知ModuleScanManager進行操作,ModuleScanManager類通過Container容器接口的實現(xiàn)類對發(fā)生變動或新模塊進行加載,這些繼承了ModuleBehavior組件規(guī)范接口的模塊會在容器中進行統(tǒng)一管理。組件的啟動方式分為預(yù)熱與懶加載2種。預(yù)熱方式是當(dāng)組件被容器加載后立即放入線程池中運行,懶加載方式是當(dāng)有消息需要被組件處理時,此組件才會被放入線程池中運行。通過組件化機制降低了系統(tǒng)耦合度,當(dāng)系統(tǒng)需求發(fā)生變更時新增模塊可以迅速上線對系統(tǒng)進行升級,達到了可擴展目的[15]。

      4 結(jié)束語

      本研究對數(shù)字化綜合安防系統(tǒng)總體設(shè)計架構(gòu)、系統(tǒng)服務(wù)設(shè)計、消息中間件與組件化機制等關(guān)鍵設(shè)計要點進行深入探析。系統(tǒng)服務(wù)設(shè)計對服務(wù)合理拆分以集群形式部署提供高質(zhì)量不間斷服務(wù),內(nèi)部通過數(shù)據(jù)傳輸與組件化機制強化子系統(tǒng)數(shù)據(jù)傳輸、共享與擴展能力。系統(tǒng)具有高可用、高可重用、高效率、可擴展的特點,符合當(dāng)前安防系統(tǒng)發(fā)展的趨勢。系統(tǒng)在現(xiàn)有基礎(chǔ)上,可從2個方面考慮向未來架構(gòu)過渡。在業(yè)務(wù)架構(gòu)領(lǐng)域可建立公有云和專有云混合的云服務(wù)架構(gòu)體系,建設(shè)“一體化、自動化、開放化”的綜合安防監(jiān)控體系。在數(shù)據(jù)管理架構(gòu)領(lǐng)域向分布式存儲方案升級,綜合運用高性能并行文件系統(tǒng)、分布式關(guān)系型數(shù)據(jù)庫等技術(shù),實現(xiàn)系統(tǒng)安防數(shù)據(jù)的高效存儲與管理。

      猜你喜歡
      化機制消息組件
      無人機智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      新型碎邊剪刀盤組件
      重型機械(2020年2期)2020-07-24 08:16:16
      一張圖看5G消息
      U盾外殼組件注塑模具設(shè)計
      芻議高職共青團社會實踐育人長效化機制
      時代人物(2019年29期)2019-11-25 01:35:12
      針刺蝶腭神經(jīng)節(jié)治療特發(fā)性耳鳴的中樞化機制探討
      論國有企業(yè)如何構(gòu)建輿情管理常態(tài)化機制
      新聞傳播(2016年18期)2016-07-19 10:12:06
      中國古代蛇紋石玉的白化機制研究述要
      風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
      太陽能(2015年11期)2015-04-10 12:53:04
      消息
      内乡县| 抚州市| 溧阳市| 黄龙县| 浪卡子县| 罗定市| 永吉县| 普格县| 长乐市| 昭苏县| 汤原县| 本溪| 永嘉县| 龙里县| 剑川县| 佳木斯市| 柏乡县| 肃北| 广河县| 美姑县| 沈阳市| 万年县| 靖远县| 抚松县| 古丈县| 乌兰县| 敦化市| 秭归县| 武山县| 乌苏市| 光山县| 健康| 西峡县| 浠水县| 运城市| 香河县| 高阳县| 永济市| 分宜县| 法库县| 濉溪县|