目前安防市場上的多數(shù)監(jiān)控管理平臺都是分布式系統(tǒng),行業(yè)內不管是用戶、工程商還是產(chǎn)品商都一致認可分布式系統(tǒng)帶來的好處。本文從技術實現(xiàn)的角度,描述分布式監(jiān)控管理平臺的關鍵要點。
開放的分布式軟件架構
分布式監(jiān)控管理平臺至少說明了兩點:一是軟件產(chǎn)品是分布式系統(tǒng),二是該分布式系統(tǒng)是用于安防監(jiān)控管理的。軟件架構是軟件產(chǎn)品的基礎,本節(jié)從這兩個方面來說明分布式監(jiān)控管理平臺的軟件架構特點。
與一般的聯(lián)網(wǎng)系統(tǒng)不一樣,分布式系統(tǒng)有兩個基本特性,一是透明性,二是開放性。透明性是指系統(tǒng)能夠在用戶和應用程序面前呈現(xiàn)為單個計算機的特征。一般的聯(lián)網(wǎng)系統(tǒng)中,如果兩個不同的攝像機在不同的服務器上管理,這兩個服務器通過網(wǎng)絡互連互通,它們就形成了一個聯(lián)網(wǎng)系統(tǒng),但這樣的聯(lián)網(wǎng)系統(tǒng)不一定是分布式系統(tǒng),分布式系統(tǒng)要求這兩個攝像機在用戶和應用程序看來,都像在一臺計算機或一個系統(tǒng)上。透明性又分為訪問透明性、位置透明性、復制透明性、并發(fā)透明性等類型。
分布式系統(tǒng)要求的開放性,從安防行業(yè)來理解,就更加簡單和直接。系統(tǒng)要求接入不同類型的設備或系統(tǒng)、不同品牌的設備或系統(tǒng),同時要求為各類上層應用提供訪問接口,服務于各個行業(yè)用戶。
若干年前,好用的、可供選擇的分布式軟件架構不多,典型的有COM/DCOM、CORBA、ICE等,后來發(fā)展得更容易使用、也更為龐大的軟件架構有.NET和J2EE等。但這些軟件架構并不能直接就成為分布式監(jiān)控管理平臺的軟件架構,因為它們沒有包含安防監(jiān)控的行業(yè)需求。適合分布式監(jiān)控管理平臺的軟件架構必須具備數(shù)據(jù)庫或目錄管理、視頻管理、報警管理、存儲管理、權限和日志管理等需求特征。
POSA(Pluggable Objects and Services Architecture)是符合上述特征的分布式軟件架構。在POSA架構里,新需求、新設備的接入都體現(xiàn)為實現(xiàn)一個或一組新的組件和服務。POSA架構從版本1.0、2.0發(fā)展到今天的3.0版本。其中,POSA2以組件為設計中心,而POSA3是以服務為中心。在POSA3中,原有的POSA2組件仍然可以很好地工作。POSA組件技術、服務技術,為PVG網(wǎng)絡視頻管理平臺奠定了堅實的基礎。
統(tǒng)一管理的命名體系
有了一個開放的分布式軟件架構之后,若要實現(xiàn)分布式軟件,還需要一個基礎是需要適合的命名體系。在分布式系統(tǒng)中,命名體系的實現(xiàn)通常是在多臺計算機上完成的。命名體系一般要考慮兩個問題:一是如何組織所有的實體對象,二是如何描述每一個實體對象;一般來說,最常用的組織實體對象的方法是分層描述;而描述每一個實體對象的方法分為兩類:一是基于屬性的命名系統(tǒng),一是支持結構化的命名系統(tǒng)。前者描述實體對象的最常用方法是用(屬性、值)對來描述,一個實體對象的所有(屬性、值)對就組成了該對象的屬性集。上述基于屬性的命名體系又稱為目錄服務。輕量級目錄訪問協(xié)議LDAP是目錄服務的一種實現(xiàn)。
PVG使用了兼容LDAP的分布式目錄服務。在PVG中,每個對象有一個全名,還有一個相對名。例如,av/cam/1@192.168.11.5是一個全局的名稱,這個名稱的含義是192.168.11.5這臺機器上的“av/cam/”組下面的“1”號攝像機。相對名稱則是通過上下文識別的簡短名稱。PVG的每個對象有若干個屬性,每個屬性有一個唯一的標識符,屬性是有不同的類型和相應的值。
PVG的目錄服務機制、對象集和屬性集構成了PVG網(wǎng)絡視頻管理平臺的命名基礎,為分布式的資源定位和查找等應用提供了依據(jù)。[nextpage]
適合行業(yè)需求的聯(lián)網(wǎng)方式
分布式監(jiān)控管理平臺要實現(xiàn)和滿足行業(yè)各種各樣的聯(lián)網(wǎng)需求。在實現(xiàn)這些聯(lián)網(wǎng)需求時,開發(fā)人員很容易想到以下幾點:控制信令和數(shù)據(jù)流是要分開的;要支持各種各樣的聯(lián)網(wǎng)方式;要管理好聯(lián)網(wǎng)服務器或節(jié)點之間實時流和歷史流的流向;要管理好節(jié)點之間的網(wǎng)絡帶寬等問題。本節(jié)詳細分析了這些問題,并給出適合行業(yè)需求的參考解釋。
控制信令和數(shù)據(jù)流的分開問題在模擬聯(lián)網(wǎng)系統(tǒng)中是不需要考慮的,而數(shù)字聯(lián)網(wǎng)系統(tǒng)中則必須考慮。
聯(lián)網(wǎng)方式一般有兩種:一是級聯(lián),二是互聯(lián)。級聯(lián)是上下級之間的聯(lián)網(wǎng),互聯(lián)反映的是平等關系的聯(lián)網(wǎng)。
不管是級聯(lián)的系統(tǒng)描述,還是互聯(lián)的系統(tǒng)描述,一般都是只指出了控制流的走向,而沒有清楚地定義數(shù)據(jù)流的管理,更沒有明確網(wǎng)絡帶寬的管理。從模擬系統(tǒng)演化過來的數(shù)字干線是符合行業(yè)需求的流和帶寬管理的。
數(shù)字干線可以定義為PVG服務器之間建立聯(lián)系的數(shù)字通道。通過干線,若干臺PVG可以建立各種網(wǎng)絡拓撲結構,為多級數(shù)字聯(lián)網(wǎng)、網(wǎng)絡安全和網(wǎng)絡帶寬管理提供了有力的保障。干線管理的內容有:干線路由選擇、復用、搶占及搶占后處理和預留。干線路由選擇是指在一個節(jié)點上調用其它節(jié)點的某路圖像的時候,PVG系統(tǒng)將采用什么樣的算法來選擇最應該經(jīng)過哪些節(jié)點以及哪些干線。干線的復用是指在多個用戶在調用同一個攝像機時,后面的用戶應該復用已經(jīng)使用過的干線,而不應該另外再使用一條新的干線。干線的搶占是指當所有的干線都有用戶在使用時,PVG系統(tǒng)將采用什么樣的算法來搶占新的干線。搶占后處理是指搶占后要友好地通知以前占用該干線的所有用戶。干線的預留是指某些干線在配置的時候就專門預留給某些節(jié)點,只有這些節(jié)點上的用戶才能使用預留的干線。預留干線一般應用在特定的場合。
數(shù)字干線對實時流的管理在項目中得到了很好的驗證,在此基礎上,進一步深化,把這個概念演進和推廣到對歷史圖像的管理上。在歷史圖像的數(shù)字干線管理上,通過路由選擇、搶占等概念,可以很好地解決網(wǎng)絡隔離(例如公安網(wǎng)和視頻專網(wǎng)的隔離)、調閱歷史圖像的問題。
可以說,從模擬干線管理到數(shù)字干線管理,再到歷史圖像的數(shù)字干線管理和應用,PVG完成了多次聯(lián)網(wǎng)功能的跳躍,滿足了各種條件下的聯(lián)網(wǎng)需求。
強大可靠的分布式存儲服務
傳統(tǒng)的視頻錄像技術大都采用在普通文件系統(tǒng)上用視頻錄像文件的方式來進行錄像。因為普通文件系統(tǒng)固有的特點,導致在做視頻存儲應用時出現(xiàn)很多問題。
· 普通文件系統(tǒng)以簇為單位分配磁盤空間,為了提高空間利用率,簇的字節(jié)數(shù)一般都很小,文件反復讀寫/創(chuàng)建/刪除導致簇不斷被分配和釋放,時間稍微一長就會產(chǎn)生磁盤碎片,導致磁盤讀寫性能急劇下降,嚴重時甚至會損壞磁盤;
· 普通的文件系統(tǒng)采用元數(shù)據(jù)來保證數(shù)據(jù)的一致性,魯棒性不強,一旦元數(shù)據(jù)受到損害,即使數(shù)據(jù)部分沒有損害,也無法還原。而超過100路的并發(fā)錄像,若使用普通文件系統(tǒng),元數(shù)據(jù)損壞的機率極大;
· 由于文件系統(tǒng)的限制,文件不能太大,也不能太小,一般采用幾分鐘一個文件進行錄像,難以實現(xiàn)檢索幾秒以前的錄像數(shù)據(jù),很難支持對正在錄像的文件的檢索回放;
· 掃描磁盤文件、清理舊錄像、檢索等操作效率低下,且格式化非常緩慢。
所以,如果采用普通文件來實現(xiàn)存儲服務,一般需要很多特殊的手段和技巧來避免上述問題,其中有一個辦法就是采用文件預分配機制,多數(shù)的DVR廠商使用這個方案。
對于海量的分布式存儲,使用上述方案也會碰到很多的挑戰(zhàn),通常更徹底的辦法是開發(fā)自己的基于磁盤設備塊和流媒體特性的文件系統(tǒng)。PVG選擇了這個方案,PVG支持的文件系統(tǒng)命名為ROFS(Ring Objects File System)。[nextpage]
ROFS文件系統(tǒng)擁有最高的磁盤讀寫性能,還有極高的魯棒性。系統(tǒng)采用大數(shù)據(jù)塊方式讀寫磁盤,但以視頻幀為單位進行提交,視頻幀是一個最小可修復的單位,任何一個視頻幀損壞不會影響其它視頻幀,所以即使在沒有任何RAID防護的情況下的硬盤物理損壞也只會損失非常短的一小段錄像,如果是軟損壞(程序錯誤導致的損壞)則甚至只會僅僅損失一幀或數(shù)幀(<1秒)而已,又因為ROFS為完全自主的文件系統(tǒng),任何部分數(shù)據(jù)損壞都不會影響到其它地方的數(shù)據(jù)(沒有破壞的完好數(shù)據(jù)全部可以修復),所以ROFS有極高的魯棒性。
因為以視頻幀為基本存儲單位,一旦一個視頻幀寫入完成就立即可以進行檢索,采用ROFS的錄像系統(tǒng)可以檢索到40毫秒前的錄像。另外,視頻幀的索引內建在ROFS中,所以可以快速地定位到任何一個視頻幀并開始播放。最后,ROFS的格式化也非常迅速,幾T磁盤的格式化時間也只需要數(shù)秒的時間。
ROFS文件系統(tǒng)基于POSA3構建的分布式存儲服務提供強大的存儲服務功能,可以作為云存儲的一個現(xiàn)成解決方案。
易于擴充的協(xié)議標準化
隨著國標GB/T28181-2011<<安全防范視頻監(jiān)控聯(lián)網(wǎng)系統(tǒng)信息傳輸、交換、控制技術要求>>、公安部<<全國公安機關視頻圖像信息整合與共享工作任務書>>等文件的發(fā)布,分布式監(jiān)控管理平臺支持標準化協(xié)議勢在必行。
如果監(jiān)控管理平臺在設計之初只支持內部的協(xié)議,對標準化的協(xié)議改造會是碰到一些困難,而PVG由于基于POSA構架,對新協(xié)議的滿足、協(xié)議的擴充是比較容易處理的。事實上,每個協(xié)議只需要實現(xiàn)為一個組件或一個服務,就能滿足通訊協(xié)議規(guī)定的要求。PVG已經(jīng)基本上完成了國標GB/T28181-2011常用功能的實現(xiàn)。
分布式監(jiān)控管理平臺的前沿技術應用
分布式監(jiān)控管理平臺的前沿技術的應用,從近期來看,是進一步強化分布式集群服務的應用,從遠期來看,應該是云計算的應用。事實上,我們可以認為分布式集群計算和云計算都是分布式系統(tǒng)的一種特殊形式。當然,云計算還包含運營、服務等更多的概念和內容。
PVG在流媒體轉發(fā)服務器的模型中,支持多臺流媒體的集群計算,其結構如下圖2所示。
可以稱為云計算監(jiān)控管理平臺的軟件應該具備以下幾個特點:
· 應該是私有云,是在視頻專網(wǎng)上運行的云;
· 是業(yè)務和需求驅動的;
· 既是一種技術架構,又是一種創(chuàng)新管理模式;
· 穩(wěn)定、安全、涉密等是首先需要面對的關鍵技術問題;
· 移動終端會是云計算監(jiān)控管理平臺的重要入口,移動互聯(lián)網(wǎng)提供了重要的網(wǎng)絡支。
結語
分布式監(jiān)控管理平臺是監(jiān)控管理平臺的主流和方向,平臺廠商在面臨不同的技術路線、技術方案的選擇時采用的思路和方法決定了其產(chǎn)品的高度、深度和廣度,所以技術決策不僅需要來源于安防行業(yè)、工程商和用戶,還需要來源于IT等行業(yè)。