文/鄧長(zhǎng)春
伴隨著大數(shù)據(jù)技術(shù)在IT領(lǐng)域的持續(xù)發(fā)展與成熟,大數(shù)據(jù)逐步滲透到各行各業(yè)。在安防領(lǐng)域,大數(shù)據(jù)具有廣闊的應(yīng)用場(chǎng)景,帶來(lái)深度的價(jià)值。經(jīng)過(guò)初步摸索,安防大數(shù)據(jù)也面臨一些技術(shù)難點(diǎn)。對(duì)于這些問(wèn)題,我們分析安防行業(yè)特有的場(chǎng)景特點(diǎn),探討一些貼切的解決方案,使得大數(shù)據(jù)技術(shù)更好的為安防業(yè)服務(wù)。
大數(shù)據(jù)技術(shù)發(fā)端于IT領(lǐng)域,當(dāng)前在互聯(lián)網(wǎng)、電子商務(wù)中應(yīng)用得最為成熟。Google公司根據(jù)用戶海量的搜索日志,成功預(yù)測(cè)病情在北美的蔓延情況;通過(guò)分析處理大量的語(yǔ)料庫(kù),為用戶提供精準(zhǔn)的在線翻譯。亞馬遜根據(jù)用戶過(guò)往的購(gòu)買行為,分析出特定用戶群的購(gòu)買“口味”,從而在自己的網(wǎng)站中提供精準(zhǔn)的廣告推薦。而國(guó)內(nèi)的淘寶網(wǎng),通過(guò)分析網(wǎng)民瀏覽商品的日志,給買家提供到特定商品的關(guān)聯(lián)匹配。
在其他行業(yè),大數(shù)據(jù)的使用也屢見(jiàn)不鮮:
在衛(wèi)生行業(yè),基于全民的電子檔案與電子病歷庫(kù)正在構(gòu)建。通過(guò)全民電子病歷庫(kù),我們能分析全民的健康狀況,監(jiān)控相關(guān)疾病的蔓延走勢(shì),為做好衛(wèi)生防范措施提供參考。
在電力行業(yè),通過(guò)分析大區(qū)域的用電記錄,能夠優(yōu)化電力企業(yè)管理模式,提升企業(yè)經(jīng)營(yíng)水平,為基建決策提供有力參考,提高智能控制水平,加強(qiáng)電力的協(xié)同管理。同樣對(duì)于整個(gè)國(guó)家,通過(guò)分析用電情況,在宏觀掌握國(guó)家的經(jīng)濟(jì)狀況,為制定經(jīng)濟(jì)政策提供參考。
在物流行業(yè),通過(guò)分析大量以往的配送記錄,在宏觀上掌握大類物品的流向,提前把物品運(yùn)送到特定區(qū)域,提高送貨效率。在國(guó)外,一家大型的超市,通過(guò)分析交通與商品大體流向,能在精確的時(shí)間范圍內(nèi),把特定類商品送到特定的門店,減少庫(kù)存時(shí)間,提高周轉(zhuǎn)率,創(chuàng)造企業(yè)利潤(rùn)。
同樣,在安防領(lǐng)域,大數(shù)據(jù)也得到廣泛使用。
經(jīng)過(guò)一段時(shí)間的摸索,大數(shù)據(jù)助力安防行業(yè)的發(fā)展取得相當(dāng)?shù)某尚?,部分企業(yè)如??低暤纫呀?jīng)有了較多的成熟項(xiàng)目案例。
在智慧交通方面,海康威視借助大數(shù)據(jù)技術(shù),交通管理系統(tǒng)能夠在惡劣的網(wǎng)絡(luò)環(huán)境,對(duì)城區(qū)交通要道進(jìn)行拍攝與錄制,同時(shí)把圖片與視頻數(shù)據(jù)輸往后端的大數(shù)據(jù)處理平臺(tái)。通過(guò)后端大數(shù)據(jù)處理,識(shí)別繁忙的路段,提前做好交通分流措施。借助車牌識(shí)別技術(shù),綜合各卡口的過(guò)車記錄,能夠分析特定車輛的運(yùn)行軌跡。同樣,通過(guò)對(duì)大量行車違法記錄的模式識(shí)別,能在特定路段對(duì)具有違規(guī)傾向的車輛進(jìn)行報(bào)警,比如在高架橋,高速公路上。通過(guò)對(duì)城市周邊主要卡口大量的行車記錄分析,能識(shí)別出異常的進(jìn)出城的記錄,做好防范措施。
在公安執(zhí)法方面,海康威視通過(guò)人臉識(shí)別技術(shù),提高對(duì)犯罪嫌疑人追查的效率。通過(guò)對(duì)大量異常行為的模式特征提取,能提前判別違法行為,比如在火車站,通過(guò)對(duì)扒手外觀打扮,行為舉止,作案時(shí)的動(dòng)作特征分析,能夠提前把嫌疑信息告知車站治安人員,提高執(zhí)法的效率。
在平安城市、智能家居,方方面面,安防大數(shù)據(jù)也引領(lǐng)很多新奇的應(yīng)用。
然而,伴隨著大數(shù)據(jù)在安防領(lǐng)域越來(lái)越深入的應(yīng)用,也突現(xiàn)出一些技術(shù)難點(diǎn)。在IT領(lǐng)域,大數(shù)據(jù)技術(shù)發(fā)展較為成熟,針對(duì)不同的應(yīng)用場(chǎng)景有較為豐富的技術(shù)選型以及技術(shù)路線,其中很多技術(shù)可以移植應(yīng)用到安防領(lǐng)域中。但I(xiàn)T與安防畢竟是兩個(gè)不同的領(lǐng)域,兩者之間存在很多不一樣的地方。最大的不同,就是數(shù)據(jù)本身的不同,主要體現(xiàn)在一下方面:
數(shù)據(jù)類型不同。在IT領(lǐng)域,大數(shù)據(jù)處理的對(duì)象往往是網(wǎng)頁(yè)索引、用戶行為、日志記錄等字符型數(shù)據(jù),這些是結(jié)構(gòu)化、方便計(jì)算識(shí)別處理的數(shù)據(jù)。而在安防領(lǐng)域,數(shù)據(jù)往往以圖片、音頻、視頻等非結(jié)構(gòu)化的數(shù)據(jù),往往計(jì)算機(jī)不能直接識(shí)別,這些數(shù)據(jù)只有在人面前才顯得有意義。
數(shù)據(jù)量在數(shù)量級(jí)上的不同。在互聯(lián)網(wǎng)領(lǐng)域,單條日志記錄一般在一百字節(jié)之內(nèi),到了1PB的日志記錄,已經(jīng)是一個(gè)足夠大的量。但在安防領(lǐng)域,一張普通的縮略圖就幾百KB,如果考慮高清攝像,高清視頻,這個(gè)數(shù)量要更大。一個(gè)普通的中等城市,在主要交通卡口拍攝的圖片,一年下來(lái)就能積壓幾個(gè)PB的數(shù)據(jù),如果考慮視頻,這個(gè)數(shù)據(jù)量更大。
對(duì)數(shù)據(jù)的實(shí)時(shí)性要求不同。在互聯(lián)網(wǎng)行業(yè),以日志型數(shù)據(jù)分析為主的典型應(yīng)用中,對(duì)實(shí)時(shí)性要求沒(méi)那么高,比如淘寶的推薦系統(tǒng),是否分析最近一個(gè)小時(shí)用戶的瀏覽記錄對(duì)于推薦效果關(guān)系不大。而在安防領(lǐng)域,前端攝像頭錄制的都是實(shí)時(shí)流,這是一個(gè)不間斷的數(shù)據(jù)流,最近錄制的數(shù)據(jù)超過(guò)一定時(shí)間沒(méi)有得到有效保存,將會(huì)永遠(yuǎn)被丟失。
針對(duì)安防領(lǐng)域與IT領(lǐng)域在數(shù)據(jù)本身上的異同,把適合IT領(lǐng)域常規(guī)的大數(shù)據(jù)技術(shù)搬到安防領(lǐng)域就會(huì)碰到一些技術(shù)難點(diǎn),表現(xiàn)如下:
存儲(chǔ)成本問(wèn)題。在IT領(lǐng)域,海量的數(shù)據(jù)往往保存在分布式存儲(chǔ)系統(tǒng)中,為了提高數(shù)據(jù)的可靠性,一份數(shù)據(jù)往往復(fù)制成幾份相同的副本,分別保存在不同的節(jié)點(diǎn)中,當(dāng)其中一些副本丟失時(shí),可以從其他節(jié)點(diǎn)讀出數(shù)據(jù)。比如在Hadoop中,一份數(shù)據(jù)往往在集群中保存了相同的3份。如果有1PB的原始數(shù)據(jù),則至少要占用3PB的磁盤空間。而在安防領(lǐng)域,幾個(gè)交通卡口的視頻,在一個(gè)較短的時(shí)間內(nèi),如果不覆蓋之前的數(shù)據(jù),就能輕易積壓幾個(gè)PB。由于圖像、音頻、視頻數(shù)據(jù)本身的量太大,生搬傳統(tǒng)的多副本策略成本過(guò)高,我們需要設(shè)計(jì)出一些更高效同時(shí)不損失可用性的方案。
小文件存儲(chǔ)問(wèn)題。這個(gè)問(wèn)題是大數(shù)據(jù)技術(shù)面臨的一個(gè)共性問(wèn)題,但在安防領(lǐng)域可能又突現(xiàn)得較為嚴(yán)重。在互聯(lián)網(wǎng),小文本、圖片、音樂(lè)都是小文件,當(dāng)層積較多時(shí),都面臨如何存取這些海量小文件的問(wèn)題。而在安防行業(yè),小文件主要以圖片為主,比如一個(gè)城市的主要交通卡口在一年內(nèi),就能產(chǎn)生百億張圖片。對(duì)于這些海量的小文件的存儲(chǔ),涉及到大量元數(shù)據(jù)的管理,保證存取的性能是問(wèn)題的關(guān)鍵。
當(dāng)然,問(wèn)題并不可怕,通過(guò)分析研究安防應(yīng)用場(chǎng)景,我們摸索出一些貼合安防大數(shù)據(jù)的解決方案。
引入擦除碼(Erasure Code)技術(shù),節(jié)省存儲(chǔ)空間。擦除碼是一個(gè)在通信理論中的術(shù)語(yǔ),其基本思想就是:一條原始信息由K個(gè)符號(hào)構(gòu)成,在信息發(fā)送前,通過(guò)某種具有冗余功能的數(shù)學(xué)映射,生成由(K+M)個(gè)符號(hào)組成的編碼后的信息,然后把編碼后的信息通過(guò)信道發(fā)送給接受方,由于信道的不可靠特性,在信息傳輸?shù)倪^(guò)程中可能會(huì)丟失幾個(gè)符號(hào),接受方在接受到信息后,只要丟失的符號(hào)不超過(guò)M個(gè),則接受方在剩余的符號(hào)中通過(guò)逆向的數(shù)學(xué)變換,能還原出由K個(gè)符號(hào)組成的原始信息。
圖-1 信息在信道中的傳輸過(guò)程
如上圖所示:原始信息由[A、B、C]三個(gè)符號(hào)組成,現(xiàn)在通過(guò)編碼函數(shù)f對(duì)其進(jìn)行編碼,生成編碼后的信息為[a、b、c、d、e],編碼后的信息在信道上進(jìn)行傳輸,在傳輸?shù)倪^(guò)程中由于某種原因符號(hào)a與b丟失了,接受方只接受到了三個(gè)符號(hào)[c、d、e],接受方通過(guò)解碼函數(shù)-f(實(shí)際上就是編碼函數(shù)的逆函數(shù))進(jìn)行解碼,能夠計(jì)算出原始的信息[A、B、C]。由上可看出,信道雖然不可靠,但在信道上丟失的兩個(gè)符號(hào)并不影響我們整個(gè)信息的傳輸,我們唯一要做的工作就是在發(fā)送信息前與接收信息后做一定的編碼與解碼工作。
受上面思想的啟迪,在分布式存儲(chǔ)系統(tǒng)中,一個(gè)大文件分成若干塊,這些不同的塊分發(fā)到不同的節(jié)點(diǎn)中,現(xiàn)在假設(shè)一個(gè)文件由K個(gè)數(shù)據(jù)塊組成,我們通過(guò)編碼后變成(K+M)個(gè)編碼塊,再把這(K+M)個(gè)編碼塊分發(fā)到不同的節(jié)點(diǎn)中?,F(xiàn)在由于集群中幾個(gè)節(jié)點(diǎn)失敗,丟失了幾個(gè)塊,只要丟失的塊數(shù)不超過(guò)M,我們依然能從其他節(jié)點(diǎn)中讀入K個(gè)編碼塊,通過(guò)解碼運(yùn)算,得出我們之前的K個(gè)數(shù)據(jù)塊,也就還原出那個(gè)完整的文件。而在分布式系統(tǒng)中,超過(guò)M個(gè)數(shù)據(jù)節(jié)點(diǎn)同時(shí)失效的可能性很小,由此可以看出,雖然存在節(jié)點(diǎn)失敗的情況,但依然不影響我們數(shù)據(jù)存儲(chǔ)的可靠性。這里引入額外的存儲(chǔ)空間為(M/K)倍,而傳統(tǒng)的N副本策略,引入的額外存儲(chǔ)空間為(N-1)倍,通過(guò)調(diào)節(jié)M與K的關(guān)系,我們能把存儲(chǔ)空間降到1.3倍,這與傳統(tǒng)Hadoop占用存儲(chǔ)空3倍相比,具有巨大的節(jié)省價(jià)值。
在工程實(shí)踐中,我們通過(guò)數(shù)據(jù)分條帶,優(yōu)化編碼分組策略,進(jìn)行高效快速的編解碼計(jì)算,既保證數(shù)據(jù)存取的性能,又節(jié)省了大量的磁盤空間。如圖-2,數(shù)據(jù)橫向分條帶,同一個(gè)條帶內(nèi),左邊為原始數(shù)據(jù)(K=4),右邊為編碼后的數(shù)據(jù)(M=2),存儲(chǔ)時(shí),把同一個(gè)條帶內(nèi)的所有數(shù)據(jù)分發(fā)到分布式系統(tǒng)上的不同節(jié)點(diǎn)。當(dāng)處于同一個(gè)條帶內(nèi)的數(shù)據(jù)丟失塊數(shù)不超過(guò)2時(shí),依然能從剩下的數(shù)據(jù)塊中通過(guò)解碼計(jì)算出原始的數(shù)據(jù)。
圖-2 數(shù)據(jù)分條帶,進(jìn)行編碼存儲(chǔ)
建立索引,小文件合并成大文件集中存儲(chǔ)。對(duì)于大量的數(shù)據(jù),單機(jī)無(wú)法存儲(chǔ),借助分布式存儲(chǔ)技術(shù),將數(shù)據(jù)分散存儲(chǔ)到不同的節(jié)點(diǎn)上。但主流的HDFS分布式存儲(chǔ)系統(tǒng)適合存儲(chǔ)少量的大文件,就是文件個(gè)數(shù)較少,但單個(gè)文件的很大。如果大量的小文件樸素的存放在HDFS中,由于要管理的元數(shù)據(jù)巨大,嚴(yán)重印象集群的可擴(kuò)展性,以及文件本身的存儲(chǔ)性能。解決問(wèn)題的思路是,把大量的小文件合成一個(gè)大文件,同時(shí)對(duì)這些小文件建立索引,索引信息集中管理。當(dāng)要讀取文件時(shí),先查找索引信息,根據(jù)查找出的索引信息再定位到那個(gè)大文件具體位置,讀出小文件。
圖-3 小文件合成大文件,并且建立索引
如圖-3,上面為把若干小文件合成一個(gè)大的文件,下面為針對(duì)這些小文件建立的索引,所有的索引又合成一個(gè)索引文件。在工程實(shí)踐中,我們又對(duì)索引文件的結(jié)構(gòu)進(jìn)行了優(yōu)化,引入了哈希索引結(jié)構(gòu),由于哈希定位過(guò)程相當(dāng)過(guò),所以提升了小文件的讀取性能。同時(shí),由于索引文件很小,我們除把索引文件持久化到底層文件系統(tǒng),還同時(shí)把索引信息讀入內(nèi)存,這樣極大提升了文件存取效率。
隨著大數(shù)據(jù)技術(shù)的逐步發(fā)展與深入應(yīng)用,它會(huì)給我們帶來(lái)越來(lái)越多的潛在價(jià)值。當(dāng)安防行業(yè)進(jìn)入就計(jì)算化時(shí)代后,各種前端設(shè)備采集大量的圖片、音頻、視頻,這個(gè)數(shù)據(jù)在一個(gè)較小的區(qū)域一個(gè)較短的時(shí)間內(nèi),就能積攢海量的數(shù)據(jù),要掌握并且成功挖掘出這些數(shù)據(jù)的價(jià)值,更好的為安防服務(wù),急需我們掌握大數(shù)據(jù)技術(shù)。目前,安防行業(yè)僅有??低暤葮O個(gè)別企業(yè)掌握了該項(xiàng)技術(shù)。
由于安防行業(yè)和IT互聯(lián)網(wǎng)行業(yè)存在差異,我們?cè)诮梃b互聯(lián)網(wǎng)大數(shù)據(jù)技術(shù)的同時(shí),也要深入研究我們的安防場(chǎng)景,探索一些貼切安防應(yīng)用的大數(shù)據(jù)技術(shù)。安防大數(shù)據(jù)第一階段要解決安防大數(shù)據(jù)的存儲(chǔ)問(wèn)題,當(dāng)解決好存儲(chǔ)問(wèn)題后,我們進(jìn)入到安防大數(shù)據(jù)分析處理階段,當(dāng)我們具備嫻熟的分析處理技術(shù)后,可以進(jìn)入深度學(xué)習(xí),多維數(shù)據(jù)挖掘的深入應(yīng)用。這一路還很漫長(zhǎng),我們慢慢探索,精益求精,一定能讓安防大數(shù)據(jù)更好的服務(wù)安防業(yè),保證我們的幸福安康。