《企業網D1Net》12月20日訊
高清監控的浪潮正向人類社會席卷而來。高清晰度圖像對傳統視頻監控系統產生了巨大的沖擊,采集、傳輸、存儲與計算的數據量都出現了爆炸似的增長。其中,存儲作為視頻監控必不可少的組成部分,在平安城市建設如火如荼的當今受到了前所未有的重視。
縱觀全球安防企業,在前端攝像機、編解碼技術、大屏顯示技術等方面都有很多特色和技術突破,但是這些廠商無一例外的幾乎都不擁有視頻存儲設備的研發和定制能力。而擁有存儲設備研發與定制能力的大型IT企業卻鮮有進入安防行業,僅是以提供標準產品設備的方式參與其中。所以,在行業內一直沒有出現針對視頻監控業務特性來設計的專業存儲產品。
針對不同的行業,在通用產品的基礎上設計出有行業特性的產品,是行業需求的必然導向,也是所有企業能夠維持持續發展的必經之路。隨著IT存儲技術的發展,在不同的標準數據存儲中添加行業屬性,是大勢所趨。
從2006年開始,華為技術一直在對安防行業進行研究。一邊積累專業的行業人才資源,一邊積累行業專用的技術能力。在2013年中國國際安防博覽會上,以SafeVideo與云節點技術為代表的新一代視頻監控一體化設備VCN3000一炮打響,吸引了大量的客戶、媒體以及友商。
華為視頻監控一體化云平臺VCN3000專門針對安防行業的用戶業務設計,全面保障用戶業務連續性、數據可靠性、并行計算高性能,并最大限度為用戶節省投入。
業務連續性
視頻監控云節點與傳統數據存儲最大的區別就是業務連續性。我們通過兩個簡單的例子來體現它們之間的區別。
應用場景一:銀行業務數據
如果數據發生了故障,儲戶的業務是必須中止的。直到數據完全正確無誤的被恢復后,儲戶才能操作賬戶進行存取操作。日常生活中,我們經常見到左圖中的“暫停辦理業務”的告示牌。其中一種情況就是系統數據可能出現了錯誤。當然,銀行是一個比較極端的應用,其數據通常會保存幾份。因為數據的可靠性和完整性的重要級別是第一的,用戶的業務是可以中斷的。這就是在存儲領域中的“標準數據存儲”。
應用場景二:在家看電影
試想一下我們正在家里的家庭影院中觀看一部好萊塢大片,突然間電影畫面花了一下或者卡了一下,我們是把播放器關掉不看了還是繼續觀看呢?相信所有人都會做出同樣的決定,容忍那一段錯誤,繼續觀看。
這是一個典型的不同于銀行場景中標準數據存儲的的應用場景。華為以存儲廠商的視角對視頻監控行業進行了長達6年的研究,發現傳統方案中,因為幾塊硬盤的故障損壞就使整個視頻監控系統停止工作,這是完全不符合客戶使用場景的。針對這類保持業務連續性為第一重要級別,數據可以容忍少量錯誤的場景,華為推出了擁有視頻監控業務特性的“應用云節點”。當然,保障業務連續性僅僅是華為視頻監控應用云節點的特點之一,后面將會詳細闡述幾大特點。
為了保障業務連續性,華為在存儲設備的底層做出了一些特殊的設計。在傳統存儲設備中,多塊磁盤需要組成RAID磁盤組以增加數據的可靠性。例如RAID5算法可以支持在一塊磁盤故障損壞后數據不丟失,可以通過檢驗數據還原業務數據。通常來說,在一臺16盤位的磁盤陣列中只會建立1個RAID組,那么可用的數據空間為14盤位。按照主流的3TB磁盤來計算,將可以保存70路標清攝像機1個月的視頻圖像。此時,如果在一個RAID磁盤組中有兩塊以上磁盤損壞,那么很不幸,整個RAID組的數據將全部丟失。
針對上面提到的這個問題,走訪得知,大量公安體系的用戶對此表現出極大的擔憂。問題的原因是采用的RAID技術是傳統存儲廠商為數據可靠性為首的應用場景設計的。標準數據存儲主要是設計用來保存結構化數據的。以上述RAID組為例,在存儲時有可能會將文件切片為14片,每塊磁盤上存儲1片(實際可能每盤N片)。此時如果有幾片數據丟失,那么整個文件就無法再恢復了,因為文件的特殊性,有缺失的部分,文件就無法使用了。
目前大量的視頻監控客戶均反饋對于這種現象無可奈何。通過調研總結發現,在視頻監控的應用場景中,客戶可以容忍少許的圖像數據丟失,但是監控的業務必須可以繼續進行。希望未損壞的磁盤至少還可以讀取數據,在保障業務連續性的同時還盡可能保證數據的完整性。
于是華為針對這種現象對RAID算法進行了一些定制和改造。其結果表現為同一個RAID組內,無論多少塊硬盤故障,只要還剩余一塊無故障硬盤,那么其上面的視頻仍可提供讀取服務。用戶的體驗是一段正在播放的視頻,突然卡一下,時間向后跳了一下(遇到故障硬盤)。
目前華為將這種技術稱為SafeVideo技術,在全線視頻監控專用存儲中已經應用。視頻監控的業務不但不會因為多塊硬盤發生故障而導致系統暫停,還最大限度的的保護了用戶的數據資源。大量的使用者,特別是公安用戶反饋,此技術的誕生,說明了華為公司是真正第一家為安防行業定制標準IT設備的廠商。
SafeVideo技術并未就此停下腳步,當維護人員將新的硬盤替換上線后,無需做任何配置,RAID組將會自動重新組建并上線工作。此舉更是進一步的彰顯了華為公司的技術能力與在行業中鉆研的精神,提升了在行業用戶心目中的形象。
數據可靠性
雖然在研調需求的時候,發現客戶的需求是“業務連續性為第一重要級別,數據可以容忍少量錯誤”,但是華為并未將“可容忍少量錯誤”作為滿足于現狀的理由,而是利用在ICT技術上多年的積累,盡最大可能保護用戶的數據安全以及數據的完整性。前面講到的SafeVideo技術也是向著這個目標出發,從而設計出了“RAID組內多塊磁盤故障后,RAID組不失效,還能提供讀取服務”的特性,盡可能的減少了數據的損失。
從文章前面的內容可以了解到,標準數據存儲(IPSAN或NAS)和視頻監控行業應用存儲的區別,是由于承載的業務應用不同而產生的。在理論上,一個標準的數據存儲的實現是將數據切片并且復制多份后按照一定均衡算法存儲在多個存儲節點中。從左圖可以看到,一種色塊代表一個文件的切片,它們隨機的部署在不同硬件節點的不同硬盤上。
這種方式在視頻監控業務場景中應用時會遇到幾個問題。
1、網絡帶寬的問題。
特別是在平安城市這種大型項目中,若全網部署為一套傳統存儲系統,在現階段必然會遇到網絡帶寬的瓶頸。
所以可行的解決方案是僅在派出所或者分局來部署多個小云,然后級聯由上級統一管理。但是這樣勢必要求系統需要再派出所或分局同樣部署傳統的存儲系統以及視頻監控管理平臺,這樣將大幅提升系統建設的設備投資,并且系統的復雜度大大提高,可維護性嚴重降低。
2、多節點讀寫帶來的問題。
多臺設備共同分擔同一份數據的讀和寫,這無疑是提升讀寫性能的最優方式。特別是在部署大型數據庫的應用場景中,這種高并發的讀寫能夠帶來性能的最大提升。但是在視頻監控應用中,用戶查詢一份圖像檔案,往往一個節點設備內一個RAID組的讀寫能力就可以滿足,而不需要調動所有的云節點設備和其中的硬盤部件。從能耗的角度來說,所有設備都在工作,無疑是對能源的巨大浪費。另一方面,因為數據切片的位置不固定,磁頭的尋道工作負擔加重,這也會帶來磁盤壽命的降低。
這種情況下,最可行的解決方案就是“就近存儲”。一個派出所或者分局職能轄區內所有的攝像機圖像均“就近”存儲在本地的云中。而單路攝像機的圖像則盡可能的“就近”存儲在一個云節點內的一個RAID組里面。
3、多盤失效數據丟失的問題。
在傳統存儲中有兩種數據部署方式。一種是數據的多重拷貝,這樣數據的可靠性非常的高,但是會導致真實的可用容量僅為實際部署容量的幾分之一。對于視頻這種非高價值數據來說,這樣的投入產出比太低。
在另一種高利用率的部署模式中,所有節點的硬盤全部整合組建RAID組,可以設置多份冗余數據。這一點和上一小節中SafeVideo的內容相同。當一個RAID組中的幾塊硬盤故障后,RAID所有數據全部丟失,這是不可接受的。
華為公司擁有強大的云計算與云存儲研發能力,在調研安防行業的特性后,針對這些問題,按照上面講到的最可行的解決方案,對傳統存儲系統進行定制和上述的一些優化。并提出了“視頻監控應用云節點”的理念其中,高可靠性則是視頻監控應用云節點的核心特性。
首先,我們一直在提到“應用云節點”,那就是將視頻監控業務中所有能抽象出來的特性都內嵌到云節點中了,比如攝像機的接入、存儲、轉發、點播、智能分析等等。作為攝像機與業務平臺之間的中間件的方式,單節點設備即可為用戶提供高效并穩定可靠的業務能力支撐。
然后,所有應用云節點設備完全對等部署,無差異。經過虛擬化后,所有的應用云節點會虛擬化為一臺巨大的應用云節點設備。在肉眼上,人們看到的是機柜中整齊劃一的單一品種設備。在邏輯上,成千上萬的攝像機,以及各種各樣的后臺軟件,看到的只是一臺設備。這臺大設備擁有海量的接入、存儲以及轉發等能力。
另外一方面,傳統的基于磁盤陣列的方案架構中,會部署一到兩臺數據庫服務器,用以標識磁盤中SCSI數據塊的意義。如果這個數據庫損壞或者數據庫服務器故障,那后果不堪想象,所有數據全部“丟失”。因為磁盤陣列只知道這是一個數據塊,但是是什么數據,它不知道。
這個時候,云節點的出現解決了這一個問題。因為其在系統內嵌了應用,也部署了一個小型的數據庫。也就是說,每臺應用云節點都知道自己肚子里面裝的數據是什么。不管身邊的誰故障倒下了,自己的那片小天地不會倒下。
并行計算高性能
目前在平安城市的建設中,客戶遇到的最大的困擾就是:破案效率低下。這個痛點的其中一個重要原因就是搜索定位的效率低下。在前面的小節中已經提到,傳統方案中會部署數據庫服務器,即使是標準數據存儲也會要部署MDS元數據服務器。各大方案廠家都會在數據庫服務器中保存視頻數據的索引,如基于圖像幀的索引或者基于時間的索引,無外乎是這兩種方式。
當然,數據庫也多種多樣,有微軟SQL SERVER,有ORACLE,有MySQL,PGSQL等等。但無論采用哪種數據庫,無論采用哪種索引,都會遇到同一個問題。那就是,隨著數據量的增加,搜索查詢性能會越來越慢。數據庫就是這個瓶頸。
一般來說,人類肉眼所能接受的視頻是由24幅以上的幀成的。若我們把每一幀都理解為一張圖片,那么視頻就是由大量圖片組成的了,如下圖所示。如果把這些圖片快速輪替著放映,就成為了視頻。這也是傳統的動畫片的制作方式。如果每一張圖張都在數據庫里面記錄一條索引,那這就是幀索引。
我們用國內某平安城市的實際案例舉例。26,000個25幀網絡攝像機存儲1個月時間,如果按照標準的幀索引來計算的話,記錄數量會達到16,848,000,000,000條。數不清楚?這是1萬6848億條記錄。如果放在SQL SERVER這種大型關系型數據庫里面,執行搜索命令定位到其中1條,實驗室里面的數據是耗時1小時50分鐘。當然,經過大量的優化后,定位時間還是保持在30分鐘以上。
這個性能數據帶來的影響是非常可怕的。一個真實的案例,在某大型城市里發生了一起汽車肇事的案件。幸運的是,案件發生后馬上接到了報警。公安在城市治安卡口里面搜索汽車牌照號碼,半個小時過去了,結果還沒有反饋出來。這次事故在公安體系里面都知道。
那為什么有的廠商都宣稱自己能實現秒級搜索呢。沒有錯,的確是秒級,系統部署后確實是秒級。但后面的苦只有客戶自己清楚。一個月后,半年后,還是不是秒級搜索就不得而知了。
在重大事件發生時,或者未來視頻數據向公眾開放的時候,高并發搜索的性能需求就會浮現出來。當華為公司了解到這個客戶的痛點以后,進行了細致的分析,最后推出了基于視頻監控應用云節點架構的“分布式并行搜索”特性。
在數據寫入的時候,視頻監控應用云節點保存了一份分布式索引,這是一個基于秒偏移技術的視頻索引專用散列算法。這個算法也是為安防行業中視頻監控的應用特別設計的。在一臺云節點設備內部,定位到某一幀在磁盤上的位置僅僅需要不到10個微秒。1000000微秒才等于1秒。右圖是互聯網可以經常看到的一張圖片,子彈穿過蘋果的瞬間,照相機快門的曝光時間為3微秒。可見,應用云節點內的視頻幀地址定位速度在人體所能感受到的時間刻度上來說,是瞬間。
對于一個大規模的平安城市來說,視頻云節點的搜索模型不會隨著平安城市的擴容、存儲時間延長等導致數據量的增加而變慢。當然,僅搜索速度快也不能完全解決破案效率的問題。還需要如智能分析、視頻摘要、案件歸檔、串并案分析等多種手段配合才能使客戶使用視頻監控系統的效率得到提升。
低TCO(總體擁有成本)設計
本文一開頭就提到了應用存儲與傳統標準數據存儲的最主要的區別,就是將行業應用定制安裝在了存儲設備的內部。僅這樣一步,就能節省大量的服務器設備,我們來看一個比較夸張的示例。
這是視頻云節點的設計理念示意圖。我們可以看到左側有大量的各種各樣的應用服務器和磁盤陣列。從現在開始,都不再需要了,單臺視頻云節點設備內部就可以提供完整的應用服務。一眼看過去就能看到它節省了大量的服務器。對成本的描述一定要通過數字才夠直觀,這個帳很好算。我們不要這么復雜,舉一個簡單點的全集中存儲的例子。
這里只是簡單計算了節省服務器所帶來的CAPEX建設成本,當一個項目建成時還有漫長的OPEX運維成本需要計算。例如,節省了服務器的發熱,就節省了空調的制冷;節省了機柜空間,使空調制冷集中,效率更高等等。在大量的項目案例中,統計發現,采用華為視頻監控云節點方案將為客戶節省運維成本30%以上。
本文從可靠性、性能與成本這三個方面闡述了視頻監控技術的發展趨勢,同時,所有通用的標準IT技術必須為專業行業特性進行定制,才能設計出更符合行業客戶需求的產品。后續在安防行業中,華為將會深耕細挖行業特性和需求,用最低的總體擁有成本帶給客戶最好的用戶體驗!