城市的視頻監(jiān)控系統(tǒng)正從單個部門或領域安防業(yè)務的支撐系統(tǒng)轉變?yōu)檎麄城市信息化建設和管理應用的支撐系統(tǒng),其前端錄像設備已達到數十萬級的規(guī)模,定位于對整個城市范圍的視頻資源和相關信息進行有效管理和應用,以為各類部門如公安、城管、交通、環(huán)保、能源、安監(jiān)等的業(yè)務領域提供服務支持。而現有的視頻監(jiān)控系統(tǒng)大多為部門自建或獨立項目建設,存在著各個系統(tǒng)相互孤立、標準不一、系統(tǒng)可擴展性不強、各部門之間難以協(xié)同工作等缺點。這就迫切需要把現有系統(tǒng)升級為可適應大規(guī)模信息共享需求和多元化業(yè)務需求的廣域級視頻監(jiān)控綜合業(yè)務平臺,實現各業(yè)務間的集成和整合,以消除信息孤島,提升系統(tǒng)整體運行效率。目前視頻監(jiān)控技術已進入網絡和全數字時代,網絡視頻監(jiān)控技術及其應用不斷發(fā)展,但基本都采用基于局域網架構下的集中式管理模式,不能解決廣域級系統(tǒng)中面臨的問題。云計算可通過虛擬化、分布式存儲、并行數據處理等各種手段對各種計算和存儲資源進行統(tǒng)一組織和管理,并以服務的形式按需提供給云端用戶。SOA是對云計算中資源服務化的理念上的承接,提供了把云計算服務集成為系統(tǒng)平臺的解決方案。這種集成正在走向現實應用,文獻中提出了一種結合SOA與云計算系統(tǒng)構建的云服務平臺模型Nebula,能將分布在互聯網中各個圖書館的資源和服務整合為一個整體,支持館際資源共享、服務共享和任務協(xié)同。但Nebula平臺不需管理廣域級中大量異構硬件,也沒有提供對基于海量視頻數據的并行計算業(yè)務支持。本文設計了一個基于SOA和云計算系統(tǒng)構建的廣域級視頻監(jiān)控綜合業(yè)務平臺(以下簡稱視監(jiān)平臺),可實現對廣域范圍內的視頻監(jiān)控設備及有關計算資源和視頻監(jiān)控數據的統(tǒng)一組織和管理,具有靈活的可擴展性,彈性的業(yè)務能力,并以服務的形式向平臺用戶提供多元化業(yè)務服務。
1.關鍵技術概述
面對廣域范圍密集監(jiān)控下不斷增長的海量視頻數據以及多個城市管理部門的多元業(yè)務需要,廣域級視監(jiān)平臺需要解決數據中心管理、底層資源虛擬化、海量數據存儲與分析、多元業(yè)務集成與融合等關鍵問題。
1.1數據中心與虛擬化技術
數據中心與虛擬化技術為廣域級視監(jiān)平臺統(tǒng)一組織管理密集分布在城市范圍內的大量異構硬件資源提供了有效的手段。在1萬路的視頻監(jiān)控項目中,若有10%的設備需要保留24小時連續(xù)的視頻編碼數據,則每天產生的數據量約為10TB。因此,海量的存儲資源和數目巨大、品牌各異、分布范圍廣泛的攝像槍、監(jiān)控器等各種異構視頻I/O設備是本視監(jiān)平臺的管理重點。云計算的數據中心技術為廣域范圍內包括計算節(jié)點、存儲節(jié)點、視頻I/O節(jié)點在內的各種底層異構物理資源提供低成本、高帶寬、高可靠的網絡連接,并快速有效地存儲由監(jiān)控業(yè)務產生的海量視頻數據資源。在此基礎上,采用云計算虛擬化技術對其進行統(tǒng)一的抽象管理。虛擬化技術可分為基礎設施虛擬化和系統(tǒng)虛擬化。基礎設施虛擬化技術包括CPU虛擬化、內存虛擬化和I/O設備虛擬化,可用于對平臺底層各種異構資源按大類進行整合,并通過構建資源池實現標準化表示,向上層提供訪問這些物理資源的統(tǒng)一接口。系統(tǒng)虛擬化技術是對基礎設施虛擬化技術的進一步擴展,應用傳統(tǒng)虛擬化技術VMWare可實現資源定制,為視監(jiān)平臺上不同部門多元化的業(yè)務應用需求提供相應的虛擬機運行環(huán)境。而新的系統(tǒng)虛擬化技術,支持虛擬機快速部署和在線遷移,可進一步提高虛擬機的可靠性。
1.2分布式文件系統(tǒng)和分布式編程框架
Hadoop是由Apache基金會管理的一個開源項目,其組成部分HDFS、HBase和MapReduce分別是云計算技術下分布式文件系統(tǒng)和分布式編程框架的開源實現。這三者互相配合,可以實現本視監(jiān)平臺中海量數據的分布式存儲管理及并行處理,并具有以下優(yōu)點:①可擴展性強,在存儲和計算兩個層面上都可實現可擴展的分布式處理;②經濟性好,系統(tǒng)可以運行在廉價的大規(guī)模服務器集群上;③可靠性高,HDFS的設備恢復機制以及MapReduce的任務監(jiān)控機制保證了分布式處理的可靠性。
1.2.1 HDFS分布式文件系統(tǒng)
HDFS主要用于對以視頻數據為主的海量數據提供分布式存儲和管理,以利于在數據規(guī)模日益龐大的情況下實現有效的分布式并行調度。本視監(jiān)平臺上視頻數據的存儲管理具有如下特點:①需要存儲大量GB級甚至TB級的大文件;②文件具有一次寫多次讀的特點;③文件讀操作以大規(guī)模的流式讀和小規(guī)模的隨機讀構成;④系統(tǒng)需要有效處理并發(fā)的追加寫操作;;⑤權衡高持續(xù)I/O帶寬與低傳輸延遲時傾向于前者。
為了滿足系統(tǒng)的上述特點,在HDFS分布式文件系統(tǒng)中,大文件被拆分為大小相等的若干固定塊分散存儲于計算節(jié)點的本地硬盤中,并通過較大的分塊粒度(如64MB)保證HDFS對PB級超大文件的存儲能力。此外,為保證數據和文件的可靠性,HDFS系統(tǒng)設置了元數據管理節(jié)點管理文件和數據塊副本的元數據,為每一個數據塊維持多個副本。通過文件的分布式存儲,HDFS可并行讀取文件,提供高I/O吞吐率,同時還簡化了數據塊副本問的數據同步問題。
1.2.2 HBase分布式存儲系統(tǒng)
在HDFS文件系統(tǒng)基礎上,進一步建設了HBase分布式存儲架構,適用于廣域級視監(jiān)平臺上的各種應用,如視頻實時預覽、視頻錄像回放等數據存儲與查詢服務。HBase架構的數據模型方面,數據表中的數據項可由無結構的字節(jié)數組表示,可以以行名、列名、時間戳為數據表建立索引,以便于對視頻流數據為主的非結構化數據的進行存儲管理;在數據存儲上,HBase可將規(guī)模巨大的整張數據表拆分成多個HDFS文件子表,由HDFS系統(tǒng)保證其健壯性和擴展性,同時采用分布式鎖機制Chubby負責多個子表間的數據同步,保證其可用性。
1.2.3 MapReduce分布式編程框架
MapReduce是由Google提出的一個軟件架構,是目前云計算平臺上實際公認的并行編模型標準,運行于HDFS和HBase系統(tǒng)之上。HDFS和HBase實現了對海量視頻數據高效的分布式存儲,MapReduce在此基礎上提供由編程框架自動控制的、對用戶透明的計算資源和數據資源的并行調度和數據同步機制,可根據業(yè)務規(guī)模自動伸縮、從而為程序開發(fā)者屏了底層的復雜性,簡化了分布式并行處理業(yè)務的編程開發(fā)工作。一個典型的MapReduce計算處理通常可以分布到上千個計算節(jié)點中來處理上TB的數據,這對海量視頻數據業(yè)務的并行處理尤為重要。
1.3 SOA架構與云計算系統(tǒng)的整合
云計算系統(tǒng)和SOA架構分別完成用戶功能實現和服務提供,形成完整的基于SOA的云計算框架模型。如圖1所示。
圖1 基于SOA的云計算框架模型
作為服務提供者,云計算系統(tǒng)涵蓋如前所述的數據中心、虛擬化、分布式文件系統(tǒng)和分布式編程框架等各項基本技術,統(tǒng)一組織管理各種資源并把用戶所需功能實現為云服務。云計算系統(tǒng)由云服務接口層、云計算服務層、云計算資源層和云服務管理層組成。其中,云服務接El層通過對外提供統(tǒng)一的綁定接口而實現各種云服務的輸出;云計算服務層提供了云服務應用程序的運行環(huán)境,由開發(fā)語言和相應的軟件工具組成,可根據應用程序開發(fā)者上傳的程序代碼和數據提供相應服務,完成各種底層資源如網絡、存儲、計算等的調度工作及操作系統(tǒng)管理。云計算資源層為上層提供各項基礎設施。云服務管理層負責進行服務資源調度和管理過程操作,并對云服務的可用性、可靠性和安全性提供保障。
SOA架構是一種系統(tǒng)的建模思想和軟件構建方法,側重于采用服務的形式進行系統(tǒng)的構建,其結構包括服務提供者、服務消費者和服務代理三部分。在云計算系統(tǒng)對外提供多種云服務的基礎上,SOA架構下的云服務可部署在各種分布式平臺上,通過網絡以統(tǒng)一的Web接口形式對最終用戶提供各種服務。基于SOA架構,可以根據視監(jiān)平臺各使用部門的多元化業(yè)務用戶需要對任意內部和外部的云服務進行統(tǒng)一組織整合,快速地構建和部署新的應用程序和服務,提供最終服務與任務協(xié)同,從而解決特定的業(yè)務需求。
2.綜合平臺的架構與實現
2.1綜合平臺的架構
本文提出的基于SOA與云計算技術的廣域級視頻綜合業(yè)務平臺由物理資源層、功能服務層、SOA構建層、服務中心和服務管理層組成,其具體架構如圖2所示。
圖2 廣域級視頻監(jiān)控綜合業(yè)務平臺的架構
2.1.1 物理資源層
視監(jiān)平臺的物理資源層的主要任務是統(tǒng)一組織管理平臺涉及的各種物理資源,包括攝像槍,網絡視頻服務器,數字硬盤錄像機,各種服務器,集中式/分布式存儲設備,網絡傳輸設備,傳感設備,定位設備等,將硬件資源封裝成服務,分別提供給中間服務層和用戶使用。本層依次解決以下兩個問題。首先建立以廣域網絡技術為基礎的、低成本、高效能的數據中心,采用高帶寬、高可靠性、兼容大量異構設備和計算節(jié)點的二層網絡結構,連接各種異構硬件資源,存放海量數據。其次,應用虛擬化技術,為系統(tǒng)整體管理、配置、檢索所有的設備提供統(tǒng)一的標準,保證品牌繁多、架構各異、視頻碼流格式不同的眾多設備被抽象成相同的接口,使上層調用可忽略底層的復雜物理特性,透明地訪問各種類型的設備,從而為上層提供彈性、可靠的基礎設施服務。同時,通過對系統(tǒng)中現有的集中式/分布式存儲設備的虛擬化,物理資源層建立界面統(tǒng)一的海量存儲硬件資源池,供上層云計算服務按需取用。
2.1.2 功能服務層
視監(jiān)平臺的功能服務層對資源進行了更進一步的抽象,提供用戶應用程序的運行環(huán)境,負責資源的動態(tài)擴展和容錯管理。基于底層的硬件資源,本層向上屏蔽底層系統(tǒng)的復雜性,優(yōu)化存儲系統(tǒng)的I/O性能,提高文件系統(tǒng)的可靠性與可用性,完成存儲、管理與調度海量視頻數據的任務,實現強大的計算能力。為此,本層采用HDFS技術和HBase技術,實現對海量視頻數據高效的分布式存儲;并在此基礎上基于MapReduce技術進一步向上層提供面向服務架構的并行編程框架。由于本平臺建立在大規(guī)模硬件資源上,所以該編程框架支持規(guī)模擴展、屏蔽底層細節(jié)并且簡單易用。同時,該編程框架從兩方面提供對數據資源的高效的分布式并行處理。第一方面是根據業(yè)務規(guī)模并行地調度下層的數據和計算資源,通過統(tǒng)一的抽象接口訪問各種資源,包括業(yè)務數據,視頻數據,設備信息等,實現視頻數據業(yè)務的并行處理。第二方面是向上層提供簡單的、屏蔽下層復雜細節(jié)的、使并行調度對用戶透明的編程環(huán)境和編程模型SDK。用戶使用本層SDK開發(fā)各種基本功能,如視頻實時預覽、視頻錄像回放、圖像相似度計算、平臺管理和設備的控制、配置和查詢、平臺管理等。通過在本層中統(tǒng)一實現各種基本功能,并供上層不同應用程序調用,使上層盡量使用底層中統(tǒng)一的服務功能,可消除軟件上的重復建設、相互孤立和標準不一。
2.1.3 SOA構建層與服務中心
視監(jiān)平臺的SOA構建層將下層實現的功能封裝成標準的Web服務,并通過SOA架構進行管理和使用。作為服務提供者,本層可提供諸如監(jiān)控、回放、搜索等業(yè)務的使用界面和應用軟件,用戶只需要直接使用或通過配置進行組合集成使用,而不需要編程。同時,本層還提供更高層次的業(yè)務領域軟件,可供用戶根據特定的業(yè)務使用,例如:人臉識別,移動目標跟蹤,危險行為分析,傳感器上傳的數據統(tǒng)計分析,人流車流物流統(tǒng)計分析等。
作為服務提供者和服務消費者間的聯系紐帶,服務中心面向終端用戶,為SOA構建層封裝的服務完成注冊、查找、訪問、綁定和構建服務工作流等工作,并通過既定的通信協(xié)議實現各服務間的互操作,最終提供基于網絡的軟件應用。需要特別指出的是,基于業(yè)務領域的整合及服務提供商復雜多變等原因,服務中心可連接多個云計算系統(tǒng),即,各云計算系統(tǒng)為服務中心提供了多元的遠端服務,本平臺同時為每個服務提供了統(tǒng)一的接口,用戶通過SOA架構能有效的進行服務的組合以生成新的業(yè)務流程和應用系統(tǒng),各種業(yè)務可以跨云計算系統(tǒng)實現,而新生成的系統(tǒng)同樣可以被當作新的服務進行注冊、發(fā)布。對于視監(jiān)平臺的服務對象一工作地點在城域范圍內隨時變換的城市管理部門來說,這種可通過網絡隨時發(fā)現和綁定服務的應用管理機制有著重要的實際應用意義。
2.1.4 服務管理層
服務管理層完成系統(tǒng)資源管理,任務調度,用戶管理和安全機制等工作。資源管理模塊負責均衡地調度各物理資源,實時更新可用資源庫,并對使用情況進行統(tǒng)計和監(jiān)測。任務管理模塊負責分析、執(zhí)行用戶提交的任務,包括任務的分解和映射,任務調度,任務執(zhí)行、任務生命期管理等。用戶管理模塊包括用戶交互接口,用戶程序執(zhí)行環(huán)境創(chuàng)建及回收、計費等。安全機制主要通過各種措施保障本系統(tǒng)的整體安全,包括防火墻,身份認證,訪問授權、安全審計等,是保證本系統(tǒng)可靠性、可用性、安全性的基礎。
2.2 綜合平臺上并行業(yè)務處理的實現
本視監(jiān)平臺的核心功能是基于大規(guī)模硬件資源實現并行處理海量視頻數據的各項基本功能,包括:本地/遠程實時監(jiān)控,視頻數據存儲、轉發(fā)、檢索,設備管理和設置,數據分析、統(tǒng)計,各種信息系統(tǒng)的整合等。用戶可通過本平臺提供的二次開發(fā)接口,開發(fā)自己所需要的業(yè)務,也可以直接使用本平臺提供的應用程序和業(yè)務流程,通過組合和集成,直接形成自己的業(yè)務。
以視頻檢索功能的實現為例,例如人臉識別,移動目標跟蹤,危險行為分析等屬于數據分析功能的業(yè)務需求,無一例外都需要調用視頻檢索的基本功能圖像匹配,即計算圖片的相似度。
可利用視監(jiān)平臺的功能服務層提供的MapReduce編程環(huán)境編寫算法,實現圖像匹配基本功能。如圖3所示,圖像匹配算法在MapReduce框架下的執(zhí)行可分為以下幾個階段:
圖3 MapReduce下圖像匹配并行計算流程
(1)初始化階段。客戶端向視監(jiān)平臺中的任務控制節(jié)點提交一個包含某視頻片段的圖像匹配MapReduce作業(yè),任務控制節(jié)點據此進行檢索條件的初始化工作。包括:①對此視頻片段進行內容分析,抽取包含有效數據的幀作為示例圖像(例如人臉),求得此示例圖像特征數據的分片(圖像的特征包括形狀、紋理、顏色等,特征數據以文本形式表示),并作為檢索條件存入本地HDFS中。②MapRe—duee程序初始化。由檢索條件、檢索方式和相似度匹配算法決定圖像檢索的MapReduce程序,即相關Map()函數和Reduce()函數,形成任務文件。③調度初始化。任務控制節(jié)點根據業(yè)務規(guī)模決定并行執(zhí)行MapReduce程序的計算節(jié)點,即確定任務執(zhí)行節(jié)點,并將每個特征數據分片和任務文件一起分發(fā)到各個任務執(zhí)行節(jié)點中去。
(2)Map階段。任務執(zhí)行節(jié)點將特征數據分片復制到本地的文件系統(tǒng)中,并把任務文件中的程序本地化,形成實例運行任務,由Map任務讀取數據分片,提取圖像特征數據,以鍵/值對的形式傳遞給Map函數。Map函數從HDFS中讀取本地視頻圖像的相關特征數據并進行判斷,如滿足檢索條件則進行相似度計算,得到中間結果是以相似度和特征庫中的圖像名作為Key/Value對,并輸出到本地文件系統(tǒng)中。由于Map函數的檢索內容一般都是本地存儲的HDFS文件,從而降低了網絡傳輸所帶來的帶寬消耗,減小了系統(tǒng)的阻塞。
(3)Reduce階段。在各任務執(zhí)行節(jié)點上,對Map任務輸出的中間結果Key/Value對進行分區(qū),將Key值相同的結果合并及排序,然后傳遞Reduce任務。Reduce任務接收Map輸出的鍵值對中間結果,對收集的中間結果進行匯總、按相似度的大小進行排序,最終得到圖像檢索的結果,并將結果寫入HDFS中。在Map和Reduce階段中,任務控制節(jié)點要同時進行相關的任務調度工作,包括協(xié)調各節(jié)點以及主節(jié)點之間的信息交互,及實現監(jiān)控和容錯機制。
(4)結束階段。當任務控制節(jié)點收到作業(yè)完成信息,則將任務標識為成功,通知用戶。最后,清空作業(yè)的工作狀態(tài)和相關中間輸出,并把最終的檢索結果發(fā)送給用戶。由以上MapReduce作業(yè)的執(zhí)行過程可見,通過任務控制節(jié)點的控制調度可支持業(yè)務的規(guī)模擴展,簡化了大規(guī)模數據處理的難度,實現業(yè)務并行計算的伸縮性。各個任務計算節(jié)點上的Map任務和Reduce任務都可以并發(fā)執(zhí)行,并可在計算節(jié)點規(guī)模擴展時提高處理性能。因此,一些與數據的智能分析有關的業(yè)務,如人臉識別、移動目標跟蹤和危險行為分析等,都可以通過MapReduee編框架提供的并行計算獲得其所需要的計算能力,有利于任務的實時完成。任務控制節(jié)點在調度完成并行處理的同時,還負責各任務執(zhí)行狀態(tài)的監(jiān)測工作,并根據監(jiān)測結果重新執(zhí)行異常狀態(tài)任務。任務控制節(jié)點實際上為程序開發(fā)者屏蔽了并行和容錯等繁瑣的細節(jié)問題。
進一步地,SOA構建層提供獨立于硬件平臺、操作系統(tǒng)和編程語言的、采用中立方式定義的統(tǒng)一接1:3,與圖像匹配基本功能一起封裝為web服務。最后,服務中心對此web服務進行注冊管理,供位于網絡上不同節(jié)點的服務消費者視監(jiān)平臺上各部門各客戶端程序查找、綁定和組合,最終形成各種業(yè)務應用系統(tǒng),如安防部門的人臉識別,交通部門的移動目標跟蹤,城管部門的危險行為分析等。一個業(yè)務應用系統(tǒng)可能是由位于不同網絡節(jié)點上的云服務動態(tài)配置而成。
3.結束語
云計算技術在處理海量數據和分布式計算方面有著自己獨特的優(yōu)勢,SOA是一種建模思想和軟件構建方法,SOA與云計算技術的結合,為廣域級的此類業(yè)務平臺提供了一個新的解決思路和實現方案。一方面,可以把服務的消費者和服務的提供者分開,業(yè)務部門不需要去管理底層的視頻資源,可更加的專注于自身的特長,從而使得BT(建設轉讓)、BOT(建設一經營一轉讓)等商務模式得到逐步的推廣,實現信息化系統(tǒng)的運維外包。另一方面,基于此種架構,多元化業(yè)務領域中的各種新需求、新技術可以得到快速的部署。同時,隨著城市信息化水平的不斷提高,基于SOA和云計算技術的視頻綜合平臺可很容易的與物聯網結合在一起,向公眾開放運營型業(yè)務,推進數字城市、智慧城市的建設,從更高的層上提升城市的運營水平。
核心關注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統(tǒng)的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://m.lukmueng.com/