隨著網(wǎng)絡視頻監(jiān)控技術(shù)的成熟,視頻監(jiān)控開始從安防、銀行、交通、通信等原有的呈現(xiàn)“孤島”形式的個別領域向互聯(lián)互通、運營級視頻監(jiān)控業(yè)務等多領域延伸。視頻監(jiān)控業(yè)務快速發(fā)展,已展現(xiàn)出系統(tǒng)化、規(guī)?;奶卣鳎F(xiàn)有運行模式所固有的技術(shù)缺陷正在或即將成為視頻監(jiān)控系統(tǒng)發(fā)展的瓶頸。首先是媒體分發(fā)機制,是否具備高效的媒體分發(fā)機制將成為判斷視頻監(jiān)控系統(tǒng)優(yōu)劣的一項重要指標;其次海量視頻數(shù)據(jù)的存儲問題,是否具備可以滿足海量視頻數(shù)據(jù)安全合理進行存儲的結(jié)構(gòu),關系到系統(tǒng)能否穩(wěn)定運行;其他還有并發(fā)調(diào)度問題,業(yè)務融合問題,用戶控制和業(yè)務管理的分級問題,多種業(yè)務策略下的實時計費問題等。C3M-Video平臺可應對超大規(guī)模的視頻監(jiān)控系統(tǒng),具有靈活的可擴展性,彈性的業(yè)務能力,以服務的形式向平臺用戶提供各種業(yè)務,在支持專有行業(yè)領域的視頻監(jiān)控的基礎上,同時支持面向公眾的運營性業(yè)務。
C3M-Video平臺關鍵技術(shù)介紹
云計算
云計算是分布式計算、互聯(lián)網(wǎng)技術(shù)、大規(guī)模資源管理等技術(shù)的融合與發(fā)展,涵蓋了數(shù)據(jù)中心管理、資源虛擬化、海量數(shù)據(jù)處理、計算機安全等重要問題。云計算是一種新型計算模式,也是一種新型的計算機資源組合模式,更代表著一種創(chuàng)新的業(yè)務模式。云計算是一個快速發(fā)展的新概念,目前還沒有統(tǒng)一的定義。Buyya 等人從面向市場的角度認為云計算是由一組內(nèi)部互連的虛擬機組成的并行和分布式計算系統(tǒng), 系統(tǒng)能夠根據(jù)服務提供商和客戶之間協(xié)商好的服務等級協(xié)議動態(tài)提供計算資源。Wang Lizhe等人從云計算系統(tǒng)應該具有的功能角度給出了科學云計算系統(tǒng)的定義,指出云計算系統(tǒng)不僅能夠向用戶提供硬件服務HaaS( hardware as a service)、軟件服務SaaS( software as a service)、數(shù)據(jù)資源服務DaaS( data as a service), 而且還能夠向用戶提供能夠配置的平臺服務PaaS ( platform as a service),因此用戶可以按需向云計算平臺提交自己的硬件配置、軟件安裝、數(shù)據(jù)訪問需求。
云計算可以按需提供彈性資源,它的表現(xiàn)形式是一系列服務的集合。結(jié)合當前云計算的應用與研究,其體系架構(gòu)可分為核心服務、服務管理、用戶訪問接口3 層,如圖1 所示。核心服務層將硬件基礎設施、軟件運行環(huán)境、應用程序抽象成服務,這些服務具有可靠性強、可用性高、規(guī)??缮炜s等特點,滿足多樣化的應用需求。服務管理層為核心服務提供支持,進一步確保核心服務的可靠性、可用性與安全性。用戶訪問接口層實現(xiàn)端到云的訪問。
云計算系統(tǒng)可以根據(jù)它提供服務的層次進行分類, 主要有提供平臺服務的系統(tǒng)(platform as a service,
PaaS)、提供軟件服務的系統(tǒng)(software as a service, SaaS) 和提供基礎設施服務(infrastructure as a
service, IaaS
)的系統(tǒng)。云服務一般是以web服務的形式來實現(xiàn)的。在云中服務的組織和協(xié)同可以在面向服務的架構(gòu)中進行管理。在SOA架構(gòu)下的云服務可以部署在各種分布式平臺上,
也可以通過網(wǎng)絡訪問各種服務。[nextpage]
SOA技術(shù)
IBM 將SOA 定義為: “SOA 是一個組件模型,它將應用程序的不同功能單元通過這些服務之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進行定義的,它應該獨立于實現(xiàn)服務的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種各樣的系統(tǒng)中的服務可以以一種統(tǒng)一和通用的方式進行交互”
SOA 包括服務提供者、服務用戶、服務中心三個實體。服務用戶是發(fā)起服務請求的實體,向服務中心查找需要的服務,然后綁定相應服務提供者獲得需要的服務功能; 服務中心為服務提供者提供注冊服務,為服務用戶提供服務查詢,并將選擇的服務提供者的服務授權(quán)給服務用戶; 服務提供者將服務注冊到服務中心,并根據(jù)服務用戶請求執(zhí)行相應的服務功能。SOA 是一種特別適合分布式計算環(huán)境中動態(tài)地描述、發(fā)布、發(fā)現(xiàn)和調(diào)用的一種架構(gòu),可以借助現(xiàn)有的應用來組合產(chǎn)生新服務,為用戶提供更好、更靈活的應用程序和業(yè)務流程。
SOA 架構(gòu)被認為是目前企業(yè)級信息系統(tǒng)可靠和高效的建模思想和軟件構(gòu)建方法,通過模塊化、集成化、動態(tài)組裝,使得系統(tǒng)的重用性、可靠性、可擴展性和開發(fā)速度大大提高。因此,這種架構(gòu)能夠讓組織快速地構(gòu)件和部署新的應用程序和服務,以及根據(jù)組織的需要使用任意的內(nèi)部和外部服務的組合。
SOA技術(shù)與云計算的結(jié)合
云服務一般是以Web服務的形式來實現(xiàn)的。在云計算系統(tǒng)中的組織和資源可以在面向服務的架構(gòu)中進行管理。在SOA架構(gòu)下的云服務可以部署在各種分布式平臺上, 也可以通過網(wǎng)絡訪問各種服務。近年來SOA 得到了相當廣泛的關注, 但它并不是一個新概念。早期一些基于網(wǎng)絡的SOA 的例子有RPC、DCOM 和ORBs( object request brokers) 等, 近期的網(wǎng)格計算都是基于SOA的架構(gòu)和解決方案。
SOA架構(gòu)能夠提供支持分布式系統(tǒng)和多代理系統(tǒng)的開發(fā)的工具,并以此構(gòu)建云計算環(huán)境。采用SOA技術(shù)對云服務進行集成和組合,可構(gòu)成能解決特定業(yè)務問題的可重用的解決方案,基于該解決方案的共享和重用能夠簡化云服務的集成和組合問題。基于服務的云計算框架主要由三種角色組成:服務提供者、服務消費者和服務代理。基于SOA的云計算框架模型如圖2所示。
1. 服務提供者:是網(wǎng)絡上的一個節(jié)點,它為那些軟件服務(執(zhí)行一組具體操作)的接口提供了訪問服務。服務提供者節(jié)點提供了對業(yè)務系統(tǒng)、子系統(tǒng)和組件的訪問服務。由于服務提供者需要同時為Internet 上若干的消費者提供網(wǎng)絡服務,所以需要服務提供者具有相當強的計算能力,故這里采用云結(jié)構(gòu)來對外提供服務。
在面向服務的云計算結(jié)構(gòu)中服務提供者共分為4層:云計算應用接口層、云服務管理層、云服務虛擬機層、云資源服務器層。主要通過云計算接口層對外提供服務用戶所需的云服務。云資源服務器層是基于SOA的云計算服務架構(gòu)的最底層,是云計算結(jié)構(gòu)的核心層,是給上層提供云計算服務的基礎設施層。
2. 服務消費者:也是網(wǎng)絡上的一個節(jié)點,它與服務提供者提供的一個服務進行了綁定,并且通過使用這個服務實現(xiàn)業(yè)務解決方案。
3. 服務代理:是網(wǎng)絡上的節(jié)點。它存儲了各種服務的描述,它可以被用來查找各種服務所處的位置。服務消費者向服務代理查詢它所需要的服務及其服務提供者所處的位置。當所請求的服務是服務代理時,服務代理也經(jīng)常充當服務提供者的角色。
上述三種面向服務的體系結(jié)構(gòu)角色之間的交互是通過以下三種基本操作來實現(xiàn)的:
1. 發(fā)布服務:服務提供者向服務代理發(fā)布他們的服務。其發(fā)布的信息包括服務的接口定義、服務提供者所處的位置以及其他可能用到的支持信息和文檔。
2. 查找服務:服務消費者向服務代理查找他們需要的或者是想要的服務。
3. 綁定服務:服務消費者與服務提供者提供的具體服務進行綁定,這個綁定的過程包括用戶的身份驗證。[nextpage]
其他關鍵技術(shù)
海量數(shù)據(jù)存儲技術(shù):視頻監(jiān)控管理平臺需要對海量的視頻錄像數(shù)據(jù)進行管理,這通常通過分布式文件系統(tǒng)來實現(xiàn)。這其中典型的是HDFS(Hadoop Distributed File System)。HDFS有著高容錯性的特點,并且設計用來部署在低廉的硬件上。而且它提供高傳輸率來訪問應用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集的應用程序。HDFS可以將文件分成塊,并存儲在多臺機器上。
設備的虛擬化訪問技術(shù):平臺通過協(xié)議或SDK的方式接入各個廠家的視頻設備,各廠家設備的功能、接口方式、流程、參數(shù)都會存在差異,通常使得設備接入部分的代碼變得異常臃腫、難以維護、穩(wěn)定性差。我們采用了虛擬化的訪問技術(shù),將各廠家的設備抽象成統(tǒng)一功能、統(tǒng)一接口的虛擬化設備,然后在C3M-Video中采用相同的流程對其進行接入。
設備的智能識別技術(shù):平臺使用設備接入?yún)f(xié)議接入設備,只要各廠家設備遵循該協(xié)議與平臺交互,平臺就能通過搜索指定的網(wǎng)絡,檢測到是否是有設備接入,并通過交互通信而獲取到設備類型、廠家類型等信息。從而自動添加設備到數(shù)據(jù)庫中,并通過獲取設備的能力集,將設備的功能展現(xiàn)到客戶端中。
云存儲技術(shù):視頻數(shù)據(jù)存儲是平臺的主要功能之一,我們采用了云計算技術(shù),通過分布式的服務集群、負載均衡等技術(shù)實現(xiàn)視頻數(shù)據(jù)的并行存儲,并且可以根據(jù)視項目需要對服務能力和存儲容量進行彈性的擴展。
服務的自修復能力:在平臺中應用過程監(jiān)控、運行狀態(tài)快照記錄、數(shù)據(jù)本地化等手段來實現(xiàn)各個子服務的自修復功能。平臺中的網(wǎng)管系統(tǒng)會定時通過主動輪詢和被動接收的方式監(jiān)控各子服務的運行狀態(tài)信息和告警消息,根據(jù)系統(tǒng)內(nèi)置的狀態(tài)參數(shù)體系判斷服務、設備的運行健康狀況,在發(fā)生異常情況的時候一方面會產(chǎn)生通知告警;另一方面會按照預定義的一系列恢復預案進行狀態(tài)修正
分布式多級緩沖數(shù)據(jù)庫:傳統(tǒng)的視頻管理平臺,都是采用集中式管理數(shù)據(jù)庫,實際上對于日益增長的信息來說,集中式數(shù)據(jù)庫已經(jīng)日漸成為瓶頸。我們的平臺采用分布式多級緩沖數(shù)據(jù)庫,可以比較好地解決這個問題,本平臺的數(shù)據(jù)庫架構(gòu)通過多個分布式的數(shù)據(jù)訪問封裝器提供接口,各個服務模塊之間通過標準協(xié)議交互數(shù)據(jù),而不是直接訪問底層的數(shù)據(jù)庫。
統(tǒng)一視頻數(shù)據(jù)接入網(wǎng)關:針對目前數(shù)據(jù)傳輸通道的多樣性,例如光纖城域網(wǎng)、ADSL、WLAN、3G、2.5G網(wǎng)絡在實際環(huán)境中的綜合應用,我們的平臺開發(fā)了一套能夠兼容異構(gòu)網(wǎng)絡的視頻數(shù)據(jù)接入網(wǎng)關,并根據(jù)不同網(wǎng)絡傳輸?shù)奶匦赃M行優(yōu)化,最大限度提高數(shù)據(jù)的完整性、安全性。對于目前逐漸得到更多應用的3G移動網(wǎng)絡,我們對傳輸協(xié)議進行了底層優(yōu)化,平滑無線網(wǎng)絡的抖動影響;同時還對于數(shù)據(jù)丟包使用自適應糾錯算法,進一步完善數(shù)據(jù)魯棒性。
C3M-Video平臺的實現(xiàn)
基于云計算技術(shù)的視頻監(jiān)控管理平臺C3M-Video是在C3M通信局站綜合管理平臺框架基礎上,開發(fā)的具有視頻監(jiān)控管理功能的平臺軟件。C3M-Video的推出,擴展了我公司產(chǎn)品的市場業(yè)務范圍,支撐公司在視頻監(jiān)控領域的發(fā)展,為公司拓展物聯(lián)網(wǎng)建設、國家應急體系建設、平安城市建設、智能交通建設、智能電網(wǎng)建設等高端視頻監(jiān)控應用領域提供具有競爭力的產(chǎn)品。
C3M-Video視頻監(jiān)控管理平臺包括視頻后臺服務、平臺功能接口、業(yè)務呈現(xiàn)等幾個部分。視頻后臺服務提供基于云計算的視頻監(jiān)控服務功能,并通過協(xié)議接口與外部調(diào)用者進行通信;平臺功能接口則在視頻后臺服務的基礎上,結(jié)合對業(yè)務流程的分析,將相關的功能流程封裝成SDK的形式;業(yè)務呈現(xiàn)界面根據(jù)用戶對業(yè)務、功能、定制等各方面的需求,對視頻監(jiān)控功能進行組合和呈現(xiàn),提供最終客戶使用。[nextpage]
C3M-Video平臺的核心是視頻服務,包括設備接入、數(shù)據(jù)存儲、流媒體轉(zhuǎn)發(fā),依靠平臺管理服務的調(diào)度,以云服務的形式提供海量數(shù)據(jù)的運算和存儲。平臺通過調(diào)用云服務的訪問接口,獲得相應的服務功能,組合成多種視頻監(jiān)控應用,用戶可以按需使用這些應用。
同時,C3M-Video平臺制訂了相應的接入?yún)f(xié)議,用于與視頻設備、外部監(jiān)控系統(tǒng)進行對接。采用了先進的設備智能識別技術(shù),在網(wǎng)絡內(nèi)搜索并識別設備的類型,以方便地接入到平臺中。C3M-Video平臺創(chuàng)新性的將云計算系統(tǒng)中的關鍵技術(shù):虛擬化技術(shù),應用到對所管理的規(guī)?;曨l監(jiān)控系統(tǒng)的虛擬化訪問上,通過虛擬化訪問,保證了品牌繁多、架構(gòu)各異、視頻碼流格式不同的眾多視頻監(jiān)控子系統(tǒng),被抽象成相同的接口,通過插件的方式實現(xiàn)對各類不同設備的動態(tài)支持,平滑的接入到C3M-Video平臺中來。
基于SOA的云計算架構(gòu),C3M-Video平臺除了能支持專有行業(yè)領域的視頻監(jiān)控,還能支持面向公眾的可運營業(yè)務。這意味著C3M-Video能應對超大而且隨時可能擴展的監(jiān)控規(guī)模,很容易地實現(xiàn)監(jiān)控規(guī)模的擴展。同時,還具有彈性的業(yè)務能力,通過分層的架構(gòu),將相關的功能聚合成新的業(yè)務,并以靈活的形式向平臺用戶提供該業(yè)務的應用流程。
結(jié)束語
( C3M-Video)視頻監(jiān)控管理平臺,采用了基于SOA架構(gòu)的云計算平臺,并創(chuàng)新性的將虛擬化技術(shù)、海量數(shù)據(jù)存儲技術(shù)、系統(tǒng)自修復技術(shù)等先進技術(shù)融合進視頻監(jiān)控管理平臺中,成功解決了規(guī)?;曨l監(jiān)控系統(tǒng)所面臨的技術(shù)困境,達到了國內(nèi)領先水平,為規(guī)?;曨l監(jiān)控系統(tǒng)的未來發(fā)展指明了方向。