張敬鋒 劉瓊 李磊 安徽省公安廳科技信息化處
公安視頻圖像信息系統會產生大量視頻、文字、圖片、音頻等數據。系統中產生的大量多種類型數據,價值密度極低,以視頻為例,一部一小時的視頻,在連續不間斷的監控中,有用數據可能僅有一二秒。在如此海量的數據面前,如何通過強大的機器算法迅速完成數據的價值“提純”是目前大數據背景下最重要的應用。
大數據時代,人們越來越清楚地意識到數據中蘊藏的價值。海量數據的擁有者在積極尋求方法利用手中的數據。然而,爆發式增長的數據量正在超出傳統數據庫的處理能力。為了應對這樣的增長,需要對數據庫進行升級。基于小型機DB2或Oracle架構的傳統數據庫升級依靠縱向擴展,也就是通過提升服務器本身的性能來提高處理能力。更大更強的服務器價格高昂,但性能的提升卻是有限的。
Hadoop架構很好地解決了擴展的瓶頸,它設計部署在經濟實惠的硬件上,通過橫向擴展,便可無限提升數據處理能力。基于Hadoop的大數據軟件因為其強大的處理能力和高性價比在數據分析市場嶄露頭角。
本文主要介紹利用Hadoop技術與ETL技術實現海量視頻監控數據的處理,主要通過視頻數據清洗與處理重點完成海量視頻數據的統一存儲、管理、信息共享和提供數據資源服務,并作為應用系統的支撐,針對不同業務建立不同專題,建立完善的視頻數據采集、加載、存儲、分析和應用展示的架構體系。
視頻數據清洗與處理通過ETL平臺進行高效數據抽取、數據清洗、數據轉換、數據加載等,完成對各種不同類型視頻數據從數據源向目標數據庫轉化的過程。
為了處理有限數據量的結構化視頻數據,選擇傳統ETL平臺。而對于大量的半結構化視頻數據或非結構化視頻數據,ETL過程采用以Hadoop為基礎搭建的ETL平臺。ETL過程包括以下幾類:數據清洗、數據轉換、數據匯聚。視頻數據清洗與處理流程如圖1所示。

數據清洗:實現對視頻數據的標準化統一,具有去除重復記錄、替換處理和去除無效數據等功能。對不同來源的視頻數據進行清洗和轉換,將不同標準規范下的視頻數據統一轉換成符合平臺數據標準與數據定義的數據。
數據轉換:對于低價值密度的非結構化視頻數據,通過元數據提取特征,將特征數據保存到MPP數據庫集群中,從而實現向高價值密度的結構化數據轉換。在元數據的作用下,提取出來的特征信息通過加載,最終保存到數據倉庫中,為實現高性能的查詢分析提供基礎。
數據匯聚:數據匯聚過程包括數據拆分和數據合并,是將各不同來源的視頻數據進行初步匯總,形成完整數據集。將各種視頻數據的特征提取數據合并,去除重復字段,打破范式關系,原實體集匯聚成數據集。
視頻數據清洗與處理軟件需要建立大數據平臺,以整合優化內外各類視頻資源,形成基礎資源庫,并在基礎數據資源庫建設的基礎上,通過二次抽取、索引化整合、邏輯關聯等方式,建設形成應用服務資源庫。大數據平臺架構采用Hadoop技術,通過Hadoop分布式文件系統(HDFS)進行視頻數據分布存儲,針對各種應用場景,采用Hbase數據庫對需要隨機訪問、實時讀寫的視頻數據進行存儲;同時利用MapReduce/Storm等并行處理技術的并行計算。大數據框架包括數據源層、數據集獲取層、數據處理層、數據應用層,其框架設計如圖2。

數據源層:主要實現前端各種視頻數據的對接,包括政府視頻數據、社會視頻數據等。
數據集獲取層:可針對不同類型的視頻數據源采用不同的數據獲取策略,實現結構化視頻數據、非結構化視頻數據、半結構化視頻數據的導入導出。
數據處理層:實現視頻數據的分布式存儲和并行計算,并統一提供資源的調度服務、訪問服務、管理監控服務和權限控制服務等,支撐公安各部門業務應用。
數據應用層:實現業務查詢、業務辦理、數據共享、信息統計等服務。
HDFS分布式文件系統:實現視頻數據的分布式存儲,隱藏下層負載均衡、冗余復制等細節,對上層程序提供一個統一的文件系統API接口。HDFS針對海量視頻數據特點做了特別優化,包括超大文件的訪問,讀、寫操作比例過大,PC機極易發生故障造成的節點失效等。HDFS把文件分成若干大小的塊(可調,如64Mb),分布在集群的機器上,使用Linux或Windows的文件系統存放,同時每塊文件至少有3份以上的冗余(可自定義)。中心是一個管理節點(NameNode),根據文件索引,找尋文件塊數據節點(DataNode)。
Hbase大數據庫:利用分布式、按列存儲、多維表結構的實時分布式數據庫,可以提供大數據量結構化和非結構化視頻數據的高速讀寫操作,為高速在線數據服務而設計。
利用MapReduce/Storm等框架實現復雜任務的并行處理,如大多數分布式運算可以抽象為MapReduce操作。Map是把輸入Input分解成中間的Key/Value對,Reduce把Key/Value合成最終輸出Output。下層設施把Map和Reduce操作分布在集群上運行,并把結果存儲在HDFS上。
數據交換共享平臺即為多種視頻數據源提供包含提取、轉換、傳輸和加載等操作的數據集成,自動、方便、快捷地實現視頻數據的抽取清洗,完成基于數據的應用集成。
ETL工具將視頻數據清洗至公安數據中心庫,并完成數據匯總、整理、預警與反饋。在ETL平臺中可以根據數學模型二次加工生產衍生數據,并通過服務發布平臺將數據中心數據發布推送到其他政府應用系統。
ETL平臺通過進行高效數據抽取、數據清洗、數據轉換、數據加載等,完成對視頻數據從數據源向目標數據倉庫轉化的過程。
ETL平臺處理的源視頻數據分為三類,結構化數據、半結構化數據和非結構化數據。為了高效處理不同類型的海量視頻數據,ETL平臺可劃分為傳統ETL和云化ETL兩部分。所有數據可經ETL平臺處理后加載到數據集市中。
數據清洗實現對視頻數據的標準化統一,去除重復記錄、替換處理和去除無效數據等功能。對不同來源的視頻數據進行清洗和轉換,將不同標準規范下的視頻數據統一轉換成符合平臺數據標準與數據定義的數據,提供多種數據清洗方式,利用條件過濾、去除重復記錄、空值處理和去除無效數據等方式對視頻數據進行清洗。利用ETL數據交換平臺可以快速實現不同系統之間的信息共享與交換,實現應用的集成。
通過視頻數據清洗與處理軟件將不同類型的視頻數據通過ETL交換共享平臺將數據采集抽取到基礎數據中心,形成各類數據集市,根據類型分為基礎數據庫、業務數據庫、主題數據庫。
基礎數據庫存儲人、車、戶、證等基本信息,業務數據庫存儲業務辦理和審批信息,主題數據庫存儲系統生成的查詢結果和各類報表數據。存儲的數據可以通過數據管理平臺查詢展示,通過數據分析平臺實現決策分析功能。數據流程如圖3所示。

數據集市根據業務應用需求進行建設,包括固定報表、即席查詢、OLAP、數據挖掘等,存放的數據主要為分析型數據。數據集市數據可從中心數據層來,也可以直接由基礎數據層來。數據集市數據直接對外,可直接取用,也可以從中心數據層或基礎數據層取數據。
數據集市是以數據倉庫數據為唯一數據源、面向特定分析應用、按一定方式重新組織的數據集合,是數據倉庫的子集。數據集市基于數據倉庫創建,用于不同分析數據的存儲。數據集市模型也按主題組織,可以采用星型模型或雪花型模型進行組織。
數據集市的搭建為各類應用提供標準化、規范化的數據接口,避免各類系統在數據傳輸、整理、匯聚、統計過程中,因各類系統設計不統一問題,形成新的信息孤島。
在大數據時代,安防大數據應用建設是提高視頻監控投資效能的有效措施,是公安信息化建設的必然發展趨勢。Hadoop大數據平臺在很多信息化建設項目中都可應用,在平安城市、雪亮工程等項目都可使用Hadoop大數據平臺進行數據的采集、加載、存儲和分析。
在某二線城市基于Hadoop技術搭建的卡口大數據平臺,目前已接入1400余路實體卡口和1100余路虛擬卡口,現單日過車數據800萬,總過車數據25億條。如此海量的視頻數據,除了支撐過往車輛查詢與布控,同時基于大數據技術,引入聚類分析算法等,實現落腳點分析、套牌車分析、軌跡分析及車立方等技戰法,助力實戰應用。
使用了Hadoop大數據平臺具有明顯的優勢:
(1)支持對FTP、WebService、數據庫、消息等接口方式的采集;
(2)支持采集xml、txt、圖片、視頻、json等數據格式;
(3)支持抽取結構化、非結構化數據類型;
(4)數據抽取性能:10000條/秒,1000條/次;
(5)數據并發能力:寫入能力不小于10000,讀取能力不小于100000;
(6)支持不小于5PB的存儲能力。
本文基于Hadoop技術與ETL技術,通過視頻數據清洗與處理業務完成對公安部門海量視頻監控數據的統一存儲、管理、信息共享,實現海量視頻數據的深度應用。視頻數據清洗與處理業務重點完成海量視頻數據的統一存儲、管理、信息共享和提供數據資源服務,并作為應用系統的支撐,針對不同業務建立不同專題,建立完善的視頻數據采集、加載、存儲、分析和應用展示的架構體系。通過建設Hadoop大數據平臺,公安部門可以分析和使用更多的視頻數據,為公安數據的交換、整合和分析發展提供了一個重要平臺。利用大數據技術,公安機關可以通過對海量視頻數據的收集、整理、歸類、分析,得出傳統手段不易發現的客觀規律,挖掘數據中蘊藏的巨大價值,推進公安實戰工作的大發展。