在當前安防應用場景下,隨著智能化和大數據技術的發展,針對安防數據的存儲主要有海量視頻存儲需求、海量小文件存儲需求以及安防大數據的存儲和處理需求。隨著安防行業高清化持續發展,監控點位的持續增加,聯網規模的日益龐大,產生了海量的視頻流存儲需求,而視頻云存儲則是當前滿足海量視頻存儲需求的主要產品。安防云存儲通過虛擬化技術全面整合磁盤陣列的存儲容量,可按需分配空間且能夠靈活調整空間大小。而前端攝像機則可通過視頻流協議或者存儲接口協議直寫云存儲,縮短了前端到存儲的距離,充分發揮了存儲產品的業務特性,避免大量流媒體服務器的使用,有效降低了投資成本。這些大量的并發實時視頻流通過云存儲設備集群實現負載均衡調度,以集群響應的方式提供視頻數據的高并發存儲能力以及回放下載能力。在存儲底層則采用糾刪碼、副本或者各種RAID技術均衡數據存儲并提供可靠的數據保護,即使節點出現故障也不會造成數據丟失。此外,為了方便視頻的回放定位,一些云存儲還采用了專業的視頻數據索引技術,可根據視頻存儲的業務特定,按照存儲時間及點位信息提供高性能的視頻查詢檢索速率,達到秒級響應。在視頻回放的同時還可支持通過時間滑塊拖拉定位、視頻快進、慢放以及系統事件點定點回放等多種策略。
海量小文件的存儲需求主要來自當前安防智能化的應用。安防中的視頻圖像AI智能化應用通過人、車、物等對象的深度學習智能分析算法,從視頻流或者視頻圖片中提取出對應的目標對象圖片以及相關的屬性信息,從而達到通過視頻智能識別、跟蹤視頻對象并分析對象特征屬性,實現事前及時預警、事中精確跟蹤以及事后快速分析的目的。隨著當前視頻圖像AI智能化應用的不斷發展,分析的實時視頻流數量越來越大,提取的對象信息越來越多,通過解析提取出來的對象圖片和數據相當龐大,這些數據都需要進行實時存儲和后續的大量讀取和分析。一方面,智能化的前端攝像機設備越來越多,如車輛卡口攝像機、人像卡口攝像機、智能視頻結構化攝像機等,每天產生大量的目標抓拍圖片,并匯聚到中心。以一臺標準車輛卡口攝像機為例,只針對單車道的場景,一般正常路況一天1000臺車輛,如果是交通繁忙車道可能會到5000張以上。而針對人像的采集,正常情況下,平均一個人像卡口攝像機一天采集3000張左右的人像,繁忙地段一天可能采集10000~15000張。而針對普通監控場景的結構化攝像機,同時采集車輛和人像的目標數量更多,一臺攝像機每天可達到20000張左右。按照一個系統1000臺智能化相機的中等規模,每個監控點采集10000張目標圖片計算,數據存儲180天則可達到18億張圖片。另一方面,為了進一步擴大智能分析數據的覆蓋范圍,解決非智能前端的目標識別和信息提取,當前大多數安防系統都部署了后端智能分析算法,用于分析實時視頻流數據或者歷史視頻流數據,比如視頻結構化分析算法、基于視頻流分析的車輛分析算法以及人像分析算法等,這些后端的智能分析算法也隨著算法的成熟應用范圍越來越廣,智能分析的規模也越來越大,針對視頻流分析的結果也產生大量的目標圖片要寫入到存儲之中。此外,不少后端的智能分析算法是針對前端采集的圖片進行二次分析,依靠后端強大的算力以及先進的算法分析能力,將前端采集的圖片再進行一次深度分析,提取更多也更準確的目標屬性,這些圖片可以是前端直接發送到分析系統的,也可以由采集服務先存儲,然后再由分析系統從存儲系統中調取前端抓拍的圖片進行分析,然后再把分析出來的結果(如人像圖、人臉圖、車輛的摳圖等)再寫回存儲。這些大量小圖片的讀寫需求對存儲系統提出了很大的挑戰。存儲系統小文件并發寫入能力、小文件并發讀出能力、小文件并發刪除能力以及小文件的檢索定位能力都要求能夠適應大并發的場景。安防中的視頻圖像AI智能化應用不僅產生了大量的視頻圖片,也產生了大量的目標結構化數據。這些數據包括智能前端產生的目標記錄數據,如目標類型、目標基本特征以及抓拍時間等,也包括后端智能分析應用分析視頻流或者圖片后產生的目標結構化數據。這些數據隨著系統規模增大以及數據應用的需求的提升而大量增加,按照之前的例子計算,1000臺的中等規模,每個監控點采集10000個目標計算,數據存儲180天則可達到18億條原始目標記錄,如果這些原始目標都經過二次分析,那么數據記錄至少翻倍。這些大量的數據應用都需要在其中進行檢索和關聯分析,而且隨著視頻大數據應用的發展,各種基于視頻大數據的分析統計應用和技戰法應用越來越豐富,涉及關聯分析的數據對象類型越來越多,一次分析任務涉及的數據量越來越大,分析的策略越來越復雜,從而對結構化數據存儲提出的要求也越來越高。為了保證這些復雜數據分析應用功能的使用順暢,對應的結構化數據的存儲需要提供高性能的海量數據讀寫能力和數據分析計算能力。因此當前安防行業的存儲在滿足大量視頻流存儲的同時,必須要滿足海量小圖片文件以及結構化數據存儲讀寫的需求。在視頻AI智能化、安防大數據及數據融合分析應用的需求下,安防存儲的發展需要依靠底層存儲技術、物理設備配置以及整體系統架構的協同發展。為此,云計算、大數據相關的技術和產品將不斷地引入安防存儲系統。首先,在原來海量視頻流存儲的基礎上,為適應視頻AI智能化應用,存儲系統需支持高性能的小文件(如圖片、視頻片段等)存儲和讀取,提供高性能的分布式文件存儲或者對象存儲能力,支持高并發的文件寫入。由于小文件的特性,存儲和讀寫的方式跟實時視頻流存儲有很大的不同。系統產生的小文件數量很多,但是整體占用的容量卻沒實時視頻流存儲大,而由于每個文件都很小,大量并發的文件存儲進來,存儲系統就必須有高效的數據緩存和讀寫機制,以及文件的索引機制,才能保證針對每個文件的檢索和讀寫效率。此外,小文件的存儲還必須考慮數據覆蓋刪除的問題通常在一些普通的存儲系統中都是刪除1TB的數據,刪除視頻流數據很快,但是刪除小文件則出現緩慢甚至阻塞問題,因為刪除1TB的小文件可能涉及到刪除百萬量級的文件,如果存儲的文件的存儲機制不好,刪除這么多文件將會嚴重消耗存儲的資源,這些都是存儲系統需要面臨并解決的重要問題。為此,當前不少存儲系統已經采用了分布式對象存儲或者高性能的分布式文件系統技術來解決這個問題。針對海量的結構化數據存儲,目前在存儲系統上主要采用高性能的分布式數據庫,通過分布式數據庫提供高性能的結構化數據存儲、讀寫以及數據比對分析能力,比如各種MPP數據庫和NewSql數據庫等。這些分布式數據庫系統本身可提供海量結構化數據存儲管理的能力,同時在存儲硬件上一般都會配置高性能的SSD存儲介質來滿足高性能的數據讀寫分析需求。同時對于數據量比較大的場景,系統還會結合應用需求提供數據的分級存儲機制,將業務經常使用的數據或者大概率會使用的數據(即熱數據)優先放到高性能的存儲介質中,比如PCIE接口的SSD固態硬盤中,或者直接加載到內存。而其他不常用的數據(即冷數據)則放在存儲性能較低的存儲介質中,比如SAS接口或SATA接口的機械硬盤。部分存儲系統還支持了冷熱數據自動遷移的能力,能夠把熱數據中不經常使用的數據自動下沉到冷數據存儲介質中,或者把冷數據中突然比較常用的數據再加載到高性能的熱數據存儲介質上,這樣就有效保證了用戶常用數據都能夠高效命中并高速讀寫,滿足數據分析業務的應用需求。此外,為了滿足大量的數據分析、數據比對以及數據挖掘的需求,可能會在分布式數據庫服務器上運行各種數據分析算法服務,為此,分布式的數據庫存儲設備還會配置高性能的CPU和大容量內存,為數據處理提供強大的硬件支持。為了保證數據可靠性,分布式數據庫采用集群方式來避免單點故障對系統造成的影響,底層通過多副本或者網絡糾刪碼實現數據的高可靠性,不會因為某個節點宕機導致數據無法訪問或數據丟失。同時通過集群的聚合性能對外提供高性能的數據讀寫分析能力。為了同時滿足大量視頻流存儲、視頻圖像小文件存儲以及海量結構化數據的存儲,存儲系統中一般都會配置云存儲系統和分布式數據庫系統,在實際應用的部署形態上主要有融合模式和分離模式兩種部署方式。
如圖1所示,該模式下分布式數據庫和云存儲部署在同一臺設備上,多臺設備構成一個存儲集群。單臺設備既存儲視頻流和圖片等非結構化數據,也同時存儲結構化的目標采集數據,同時還對外提供結構化數據的檢索分析能力。

圖1 計算和存儲融合模式
這種模式一般比較適用于小規模的系統建設,一臺設備或者兩臺設備即可完成所有的視頻圖像數據存儲服務,成本相對也比較低。而且一般情況下,存儲設備是專用設備,會采用一體機的生產模式,安裝部署起來也相對比較簡單。方案的劣勢主要是系統的擴容不夠靈活,擴容需要按單臺設備擴容,如果只是擴容視頻或圖片等非結構化數據,也需要一臺完整的設備來支持,用于分析計算的能力可能就會冗余。而如果只是想擴展數據的分析計算能力而增加設備,存儲能力也會隨之擴展。此外,分布式數據庫和云存儲畢竟是兩套不一樣的存儲系統,都在一套存儲設備上部署也涉及到資源的共享和沖突,相應的業務效率可能就沒那么高。如圖2所示,該模式下分布式數據庫和云存儲分開部署在不同設備上,分布式數據庫部署在高性能的存儲服務器上,配置高性能的CPU,大容量的內存,高性能的SSD存儲介質;云存儲則采用存儲陣列設備提供大容量的磁盤存儲空間。計算和存儲形成兩個獨立的存儲集群,通過網絡提供數據服務和存儲服務。

圖2 分離模式
這種應用模式下,視頻圖像的結構化數據存儲在分布式數據庫所在的高性能存儲服務器上,而視頻流、圖片等非結構化數據則存儲在云存儲陣列上。這種方式的主要優勢是擴展比較靈活和方便,結構化存儲和非結構化存儲都可以獨立擴展,互不影響。所以當只需要擴容視頻流、圖片等存儲空間時,只需要擴容云存儲即可,不需要擴容分布式數據庫,也就是不需要再增加部署分布式數據庫服務器。同樣,當用戶需要擴展數據分析能力時,可以只擴容分布式數據庫服務器,不需要擴容云存儲系統。這樣就可以根據用戶的具體應用需求針對性地靈活擴展。該種模式主要用于中型或大型的系統中,小規模的場景下成本相對會比較高。在當前安防行業AI智能化、安防大數據及數據融合分析應用的新趨勢下,安防存儲系統將更多地采用云計算、大數據相關技術,并不斷優化提升底層的數據存儲機制,通過先進的對象存儲、分布式文件存儲以及分布式數據庫可滿足海量高清視頻、海量小圖片文件以及海量視頻圖像目標結構化數據的存儲和應用需求,也有效推動了安防智能化以及安防大數據應用的快速發展。