本發明(ming)涉及分布式存儲技(ji)術(shu)領(ling)域,更具體地說,涉及一種基于(yu)Hadoop的圖(tu)像處理方(fang)法及系(xi)統。
背景技術:
隨(sui)著技術的(de)(de)發(fa)展,在視頻監(jian)控領域所產(chan)生(sheng)的(de)(de)圖像越來越多(duo),海(hai)量(liang)數據的(de)(de)產(chan)生(sheng)對存儲(chu)(chu)及檢索造(zao)成了(le)挑(tiao)戰。目前(qian),海(hai)量(liang)圖像的(de)(de)處(chu)理(li)是(shi)通過傳統(tong)的(de)(de)集中存儲(chu)(chu)系統(tong),雖(sui)然集中型系統(tong)便(bian)于管(guan)理(li)和(he)易于操(cao)作,但其可擴展性(xing)差、可靠性(xing)和(he)安(an)全(quan)性(xing)較低,且存儲(chu)(chu)速率低。因此,如何實現(xian)對大數據的(de)(de)處(chu)理(li),提高存儲(chu)(chu)速率是(shi)本(ben)領域技術人員需要(yao)解決的(de)(de)問(wen)題(ti)。
技術實現要素:
本發明的目的在于(yu)提供(gong)一(yi)種基于(yu)Hadoop的圖(tu)像處理方法及(ji)系統(tong),以實現對大數(shu)據的處理,提高存儲(chu)速率。
為(wei)實現上述目(mu)的,本發明實施例提供了如下技術方案:
一種基于Hadoop的(de)圖(tu)像(xiang)處理(li)方法,包括:
若(ruo)檢測到本地緩存(cun)區中(zhong)存(cun)在未上(shang)傳(chuan)(chuan)至分(fen)布式文(wen)件系統HDFS的圖(tu)像(xiang)數(shu)(shu)據,則(ze)調(diao)用數(shu)(shu)據流(liu)寫入函數(shu)(shu)將(jiang)未上(shang)傳(chuan)(chuan)的圖(tu)像(xiang)數(shu)(shu)據以數(shu)(shu)據流(liu)的形式上(shang)傳(chuan)(chuan)至HDFS;
通過并行計算框(kuang)架MapReduce確定所述(shu)未上傳的圖像(xiang)數據的屬(shu)性(xing)信息(xi),將所述(shu)屬(shu)性(xing)信息(xi)存入(ru)數據庫Hbase,并將所述(shu)未上傳的圖像(xiang)數據存入(ru)硬(ying)件層(ceng)。
其(qi)中(zhong),所述(shu)調用數(shu)(shu)(shu)(shu)據流寫入函數(shu)(shu)(shu)(shu)將(jiang)未上(shang)傳的圖(tu)像數(shu)(shu)(shu)(shu)據以數(shu)(shu)(shu)(shu)據流的形式上(shang)傳至HDFS之后(hou),還包括:
所述HDFS調用(yong)文件刪除函(han)數,刪除本(ben)地緩存區中已上傳(chuan)的圖像數據。
其中,本(ben)方案(an)還(huan)包括:
通過所(suo)述(shu)MapReduce確定用戶觸發的(de)檢(jian)索(suo)(suo)指(zhi)令中(zhong)攜帶的(de)檢(jian)索(suo)(suo)特征信息(xi)(xi),并將所(suo)述(shu)檢(jian)索(suo)(suo)特征信息(xi)(xi)與所(suo)述(shu)數(shu)據(ju)庫Hbase的(de)屬性(xing)信息(xi)(xi)進(jin)行匹配,并將匹配結果進(jin)行顯示。
其中(zhong),將所(suo)述檢索特(te)征信息(xi)與所(suo)述數據庫Hbase的(de)屬性(xing)信息(xi)進行匹配,并將匹配結果(guo)進行顯示,包括:
將所(suo)述檢索特征信(xin)(xin)息(xi)與(yu)(yu)所(suo)述數據庫(ku)Hbase的屬(shu)性(xing)信(xin)(xin)息(xi)進行匹(pi)配,得到與(yu)(yu)每個(ge)屬(shu)性(xing)信(xin)(xin)息(xi)對應的匹(pi)配度(du),將匹(pi)配度(du)最(zui)高的屬(shu)性(xing)信(xin)(xin)息(xi)作為匹(pi)配結果進行顯示。
一(yi)種基于Hadoop的圖像處理系統,包(bao)括:
分布式文件系統HDFS,用于檢測到本地緩存區(qu)中存在(zai)未(wei)上傳至HDFS的(de)(de)圖像數據時,調用數據流(liu)寫入(ru)函數將未(wei)上傳的(de)(de)圖像數據以數據流(liu)的(de)(de)形式上傳至HDFS;
并行(xing)計(ji)算(suan)框架MapReduce,用于確定所述未上傳(chuan)的圖像數據的屬(shu)性信息;
數據庫(ku)Hbase,用于存儲所述(shu)屬(shu)性(xing)信息;
硬件(jian)層,用于存儲所述未上傳的(de)圖(tu)像數據(ju)。
其中,所述HDFS還(huan)包(bao)括:
刪(shan)除(chu)模(mo)塊,用(yong)于(yu)將未上傳的(de)圖像(xiang)數據以數據流(liu)的(de)形式(shi)上傳至HDFS之后,調用(yong)文件刪(shan)除(chu)函數,刪(shan)除(chu)本地緩存(cun)區中已(yi)上傳的(de)圖像(xiang)數據。
其中,本方案還(huan)包括(kuo):
業務(wu)邏輯層,用于(yu)提(ti)取圖(tu)像(xiang)數據的類(lei)型信(xin)息(xi)(xi),并將所述類(lei)型信(xin)息(xi)(xi)添加至屬性(xing)信(xin)息(xi)(xi),所述類(lei)型信(xin)息(xi)(xi)包(bao)括視頻類(lei)型信(xin)息(xi)(xi)或者圖(tu)片(pian)類(lei)型信(xin)息(xi)(xi)。
其中(zhong),本方(fang)案(an)還包(bao)括:
用戶接口層,用于接收用戶觸(chu)發的查(cha)詢指令;
所述MapReduce還(huan)包括(kuo):
檢索模塊,用(yong)于(yu)確定(ding)用(yong)戶觸發(fa)的(de)檢索指令中攜帶的(de)檢索特(te)(te)征信(xin)息(xi),并將所述檢索特(te)(te)征信(xin)息(xi)與(yu)所述數(shu)據庫Hbase的(de)屬性信(xin)息(xi)進行匹配(pei),并將匹配(pei)結果(guo)通過所述用(yong)戶接口層(ceng)進行顯示。
其中,所(suo)述(shu)檢(jian)索模塊將(jiang)所(suo)述(shu)檢(jian)索特征信(xin)(xin)息(xi)(xi)與所(suo)述(shu)數(shu)據庫Hbase的(de)屬(shu)(shu)性信(xin)(xin)息(xi)(xi)進(jin)行匹(pi)(pi)配,得(de)到與每(mei)個屬(shu)(shu)性信(xin)(xin)息(xi)(xi)對應(ying)的(de)匹(pi)(pi)配度(du),將(jiang)匹(pi)(pi)配度(du)最高的(de)屬(shu)(shu)性信(xin)(xin)息(xi)(xi)作為(wei)匹(pi)(pi)配結果通過所(suo)述(shu)用戶接口層進(jin)行顯示。
通(tong)過(guo)以(yi)上(shang)(shang)方案可知,本發(fa)明實施例提供的(de)(de)一種(zhong)基于Hadoop的(de)(de)圖(tu)像(xiang)處(chu)理方法及系(xi)統(tong),包括(kuo):若檢(jian)(jian)測到本地(di)緩存(cun)(cun)區中存(cun)(cun)在(zai)未上(shang)(shang)傳(chuan)(chuan)至分布式文件系(xi)統(tong)HDFS的(de)(de)圖(tu)像(xiang)數(shu)(shu)(shu)據(ju)(ju),則調用(yong)數(shu)(shu)(shu)據(ju)(ju)流寫入函數(shu)(shu)(shu)將未上(shang)(shang)傳(chuan)(chuan)的(de)(de)圖(tu)像(xiang)數(shu)(shu)(shu)據(ju)(ju)以(yi)數(shu)(shu)(shu)據(ju)(ju)流的(de)(de)形式上(shang)(shang)傳(chuan)(chuan)至HDFS;通(tong)過(guo)并行計算(suan)框架(jia)MapReduce確定所述(shu)未上(shang)(shang)傳(chuan)(chuan)的(de)(de)圖(tu)像(xiang)數(shu)(shu)(shu)據(ju)(ju)的(de)(de)屬(shu)性信(xin)息,將所述(shu)屬(shu)性信(xin)息存(cun)(cun)入數(shu)(shu)(shu)據(ju)(ju)庫(ku)Hbase,并將所述(shu)未上(shang)(shang)傳(chuan)(chuan)的(de)(de)圖(tu)像(xiang)數(shu)(shu)(shu)據(ju)(ju)存(cun)(cun)入硬(ying)件層;可見(jian),在(zai)本實施例中,通(tong)過(guo)采用(yong)Hadoop云計算(suan)平臺(tai)作為存(cun)(cun)儲以(yi)及檢(jian)(jian)索(suo)用(yong)的(de)(de)平臺(tai),將其部署在(zai)PC或服務器集(ji)群中,實現海(hai)量視(shi)頻(pin)數(shu)(shu)(shu)據(ju)(ju)的(de)(de)存(cun)(cun)儲、檢(jian)(jian)索(suo)、備份和恢復(fu)等統(tong)一管(guan)理,具有(you)易管(guan)理、擴展(zhan)性高及可靠(kao)性高等優點,同時采用(yong)MapReduce算(suan)法實現視(shi)頻(pin)數(shu)(shu)(shu)據(ju)(ju)的(de)(de)檢(jian)(jian)索(suo)過(guo)程,大(da)大(da)提高系(xi)統(tong)的(de)(de)檢(jian)(jian)索(suo)性能。
附圖說明
為(wei)了更清(qing)楚地說明本(ben)(ben)發明實(shi)施(shi)(shi)(shi)例(li)(li)或(huo)現有(you)技(ji)術(shu)中(zhong)的(de)(de)技(ji)術(shu)方案,下(xia)面(mian)將(jiang)對(dui)實(shi)施(shi)(shi)(shi)例(li)(li)或(huo)現有(you)技(ji)術(shu)描述(shu)中(zhong)所需要使用(yong)的(de)(de)附圖(tu)作簡單(dan)地介紹,顯而(er)易(yi)見地,下(xia)面(mian)描述(shu)中(zhong)的(de)(de)附圖(tu)僅(jin)僅(jin)是本(ben)(ben)發明的(de)(de)一些(xie)實(shi)施(shi)(shi)(shi)例(li)(li),對(dui)于本(ben)(ben)領域普通技(ji)術(shu)人員來講(jiang),在不付出創造性勞動的(de)(de)前(qian)提(ti)下(xia),還可以根(gen)據(ju)這些(xie)附圖(tu)獲(huo)得其他的(de)(de)附圖(tu)。
圖1為(wei)本發明實施例公(gong)開的(de)(de)一種(zhong)基于(yu)Hadoop的(de)(de)圖像處理方法流程示(shi)意(yi)圖;
圖2為本(ben)發明(ming)實施例(li)公開的視頻處理流(liu)程(cheng)示意圖;
圖3為本發明實施例(li)公開(kai)的(de)一種基于Hadoop的(de)圖像處(chu)理系(xi)統(tong)結構示(shi)意圖。
具體實施方式
下(xia)(xia)面將結合本(ben)(ben)(ben)(ben)發(fa)明(ming)(ming)實施(shi)例(li)中(zhong)的附圖,對本(ben)(ben)(ben)(ben)發(fa)明(ming)(ming)實施(shi)例(li)中(zhong)的技(ji)術(shu)方案進行清楚、完整地描述,顯然(ran),所(suo)描述的實施(shi)例(li)僅(jin)僅(jin)是(shi)本(ben)(ben)(ben)(ben)發(fa)明(ming)(ming)一部分(fen)實施(shi)例(li),而(er)不是(shi)全部的實施(shi)例(li)。基于本(ben)(ben)(ben)(ben)發(fa)明(ming)(ming)中(zhong)的實施(shi)例(li),本(ben)(ben)(ben)(ben)領域普通技(ji)術(shu)人員在沒(mei)有(you)作出創造性勞動(dong)前提下(xia)(xia)所(suo)獲得的所(suo)有(you)其他實施(shi)例(li),都屬于本(ben)(ben)(ben)(ben)發(fa)明(ming)(ming)保護的范圍。
本(ben)發明實施例(li)公開了(le)一種(zhong)基(ji)于Hadoop的圖像處(chu)(chu)理方法(fa)及系(xi)統,以實現對大數據的處(chu)(chu)理,提高(gao)存儲速(su)率。
需要說明的(de)是(shi),Hadoop為分(fen)布式(shi)(shi)系統基(ji)礎架(jia)構,將一(yi)個大(da)型的(de)計(ji)算任(ren)務分(fen)割(ge)成(cheng)若干(gan)個子任(ren)務,每(mei)個子任(ren)務由框(kuang)架(jia)并行統一(yi)調度(du)和管理(li)(li)。其(qi)包(bao)含多個組(zu)件(jian):分(fen)布式(shi)(shi)文件(jian)系統HDFS,分(fen)布式(shi)(shi)的(de)并行計(ji)算框(kuang)架(jia)MapReduce,面向列的(de)數據(ju)(ju)庫Hbase,以及Hive、ZooKeeper等組(zu)件(jian)。HDFS將數據(ju)(ju)按(an)塊的(de)形式(shi)(shi)儲(chu)(chu)存(cun)在集群(qun)的(de)節(jie)點中(zhong),提供了存(cun)儲(chu)(chu)空間而(er)且(qie)有很大(da)的(de)存(cun)儲(chu)(chu)容量和吞吐量。Map/Reduce和HDFS它(ta)能(neng)夠處(chu)理(li)(li)PB級(ji)的(de)數據(ju)(ju)。開(kai)發者可(ke)以充(chong)分(fen)利(li)用其(qi)強(qiang)大(da)的(de)功(gong)能(neng)來(lai)實現高(gao)速(su)的(de)存(cun)儲(chu)(chu)和運算。
分布(bu)式(shi)存儲系(xi)統(tong)(tong)不同(tong)(tong)于(yu)傳統(tong)(tong)的(de)(de)(de)集(ji)中存儲系(xi)統(tong)(tong),它是由多(duo)(duo)(duo)個分布(bu)在不同(tong)(tong)物理位(wei)置上且互相連接的(de)(de)(de)設(she)備(bei)共同(tong)(tong)組成(cheng)的(de)(de)(de)計(ji)算系(xi)統(tong)(tong),多(duo)(duo)(duo)個節點在整個系(xi)統(tong)(tong)的(de)(de)(de)控制下協同(tong)(tong)地運(yun)行(xing)和計(ji)算。而集(ji)中型系(xi)統(tong)(tong)雖然(ran)便于(yu)管理和易于(yu)操作,但其(qi)可(ke)擴展(zhan)性(xing)(xing)差、可(ke)靠性(xing)(xing)和安全性(xing)(xing)較低(di)(di),而分布(bu)式(shi)系(xi)統(tong)(tong)一(yi)(yi)方面可(ke)以將計(ji)算工作分攤(tan)到(dao)多(duo)(duo)(duo)個不同(tong)(tong)的(de)(de)(de)從(cong)屬節點上,從(cong)而降低(di)(di)單(dan)節點的(de)(de)(de)負載壓(ya)力(li),同(tong)(tong)時(shi)具(ju)有高擴展(zhan)性(xing)(xing)和靈活性(xing)(xing),另(ling)一(yi)(yi)方面將數(shu)據分散存儲在多(duo)(duo)(duo)臺獨立的(de)(de)(de)設(she)備(bei)上,提高了數(shu)據的(de)(de)(de)安全性(xing)(xing)。
參見圖(tu)1,本(ben)發(fa)明實施例提供的(de)一種(zhong)基于(yu)Hadoop的(de)圖(tu)像處理方法(fa),包(bao)括:
S101、若(ruo)檢測到本地緩(huan)存區中存在未(wei)上傳至分(fen)布式文(wen)件系統HDFS的(de)圖像(xiang)數(shu)據(ju)(ju),則調用數(shu)據(ju)(ju)流寫入(ru)函數(shu)將未(wei)上傳的(de)圖像(xiang)數(shu)據(ju)(ju)以數(shu)據(ju)(ju)流的(de)形式上傳至HDFS;
具體的(de)(de)(de),在本實施例(li)中,本方(fang)案(an)可以(yi)應用(yong)于監(jian)控(kong)設(she)備,這樣監(jian)控(kong)設(she)備所產生(sheng)的(de)(de)(de)視(shi)(shi)頻(pin)(pin)數(shu)據及(ji)圖(tu)片數(shu)據均可以(yi)通過本方(fang)案(an)所提(ti)供的(de)(de)(de)圖(tu)像處理(li)系統進(jin)行存儲及(ji)檢索。需要說明的(de)(de)(de)是,本方(fang)案(an)中的(de)(de)(de)圖(tu)像數(shu)據包括(kuo)視(shi)(shi)頻(pin)(pin)數(shu)據及(ji)圖(tu)片數(shu)據。現以(yi)監(jian)控(kong)設(she)備產生(sheng)視(shi)(shi)頻(pin)(pin)數(shu)據為例(li)對本方(fang)案(an)進(jin)行說明:
監控設備(bei)產生視(shi)頻(pin)數(shu)據(ju)后(hou),將(jiang)視(shi)頻(pin)數(shu)據(ju)不斷(duan)地(di)存儲到(dao)本(ben)地(di)緩(huan)(huan)(huan)存區(qu)(qu),這(zhe)里的(de)(de)本(ben)地(di)緩(huan)(huan)(huan)存區(qu)(qu)可以為(wei)一(yi)(yi)個(ge)(ge)本(ben)地(di)文件夾(jia)中(zhong)(zhong)(zhong),這(zhe)個(ge)(ge)動態變(bian)化的(de)(de)文件夾(jia)可以當作一(yi)(yi)個(ge)(ge)文件“緩(huan)(huan)(huan)沖區(qu)(qu)”,這(zhe)個(ge)(ge)緩(huan)(huan)(huan)沖區(qu)(qu)中(zhong)(zhong)(zhong)的(de)(de)文件以流的(de)(de)形式(shi)與(yu)HDFS進行數(shu)據(ju)的(de)(de)交(jiao)互;然后(hou)調用HDFS中(zhong)(zhong)(zhong)數(shu)據(ju)流寫入函數(shu)以流的(de)(de)方式(shi)將(jiang)“緩(huan)(huan)(huan)沖區(qu)(qu)”中(zhong)(zhong)(zhong)的(de)(de)數(shu)據(ju)文件上(shang)傳到(dao)HDFS中(zhong)(zhong)(zhong),不斷(duan)地(di)循環(huan)這(zhe)一(yi)(yi)過(guo)程,直(zhi)到(dao)“緩(huan)(huan)(huan)沖區(qu)(qu)”的(de)(de)所有文件都上(shang)傳到(dao)HDFS中(zhong)(zhong)(zhong)。
S102、通(tong)過并行計算框架MapReduce確定所(suo)述(shu)未上傳的(de)圖像數(shu)據的(de)屬性信息(xi),將所(suo)述(shu)屬性信息(xi)存入(ru)數(shu)據庫(ku)Hbase,并將所(suo)述(shu)未上傳的(de)圖像數(shu)據存入(ru)硬件層。
具(ju)體(ti)的(de)(de),參見圖2,本實施例提(ti)供的(de)(de)視(shi)(shi)頻(pin)處理流(liu)(liu)程示意圖;將監控(kong)視(shi)(shi)頻(pin)設備產(chan)生(sheng)的(de)(de)數據(ju)以(yi)數據(ju)流(liu)(liu)的(de)(de)形式寫入(ru)HDFS中后,需要將與圖像數據(ju)相(xiang)關的(de)(de)屬(shu)性信息(xi)寫入(ru)到數據(ju)庫HBase的(de)(de)視(shi)(shi)頻(pin)表中,這里的(de)(de)屬(shu)性信息(xi)包括數據(ju)特征標(biao)識信息(xi)、數據(ju)產(chan)生(sheng)時間信息(xi)、數據(ju)存(cun)儲(chu)位置信息(xi)、數據(ju)大小信息(xi)等。
其中,所(suo)述調用數據流寫(xie)入函數將未上(shang)傳(chuan)的圖像數據以數據流的形(xing)式上(shang)傳(chuan)至HDFS之后,還包括:
所述HDFS調(diao)用文件刪(shan)除(chu)函數,刪(shan)除(chu)本地緩存區中已上(shang)傳的圖(tu)像(xiang)數據。
需要(yao)說明的是,可(ke)以設置每次將(jiang)(jiang)圖像數(shu)據上(shang)傳(chuan)至本地緩(huan)存區中后,立刻將(jiang)(jiang)已上(shang)傳(chuan)的數(shu)據刪除;也(ye)可(ke)以設置為待所有數(shu)據均上(shang)傳(chuan)完成后,將(jiang)(jiang)本地緩(huan)沖區中的數(shu)據清空。
基于上述技術方案,本(ben)方案還包括(kuo):
通過所(suo)述(shu)MapReduce確定(ding)用戶觸發的檢(jian)(jian)索指令中攜帶(dai)的檢(jian)(jian)索特(te)征信(xin)息(xi),并將(jiang)所(suo)述(shu)檢(jian)(jian)索特(te)征信(xin)息(xi)與所(suo)述(shu)數據(ju)庫Hbase的屬性信(xin)息(xi)進行匹(pi)配,并將(jiang)匹(pi)配結果進行顯示。
在本實施例(li)中,若(ruo)用戶(hu)需要對存儲的數(shu)據(ju)進(jin)行(xing)檢(jian)索(suo)(suo),則(ze)通過客戶(hu)端(duan)發送檢(jian)索(suo)(suo)指令,檢(jian)索(suo)(suo)指令中攜(xie)帶檢(jian)索(suo)(suo)條件,即檢(jian)索(suo)(suo)特(te)征(zheng)(zheng)信(xin)息(xi)(xi)(xi),可以包括(kuo)時(shi)間及檢(jian)索(suo)(suo)特(te)征(zheng)(zheng)等,然后根據(ju)檢(jian)索(suo)(suo)條件與數(shu)據(ju)庫Hbase中存儲的屬性信(xin)息(xi)(xi)(xi)中數(shu)據(ju)特(te)征(zheng)(zheng)標識(shi)信(xin)息(xi)(xi)(xi)、數(shu)據(ju)產生時(shi)間信(xin)息(xi)(xi)(xi)進(jin)行(xing)匹配,并將匹配結果顯示給用戶(hu),實現了對圖像(xiang)數(shu)據(ju)的檢(jian)索(suo)(suo)。
其中,將所(suo)述(shu)檢索特征信息與所(suo)述(shu)數據庫Hbase的(de)屬性信息進行(xing)匹(pi)配,并將匹(pi)配結果進行(xing)顯(xian)示(shi),包(bao)括:
將所(suo)述檢索特征信息與所(suo)述數據庫Hbase的屬(shu)性(xing)(xing)信息進行(xing)匹配,得(de)到(dao)與每個屬(shu)性(xing)(xing)信息對應的匹配度,將匹配度最高(gao)的屬(shu)性(xing)(xing)信息作為匹配結果進行(xing)顯示。
具體的(de),對(dui)(dui)圖(tu)像(xiang)數(shu)據(ju)進(jin)行(xing)檢索時(shi),根(gen)據(ju)用(yong)戶提供的(de)檢索條件與數(shu)據(ju)庫Hbase的(de)屬(shu)(shu)(shu)性(xing)(xing)信(xin)(xin)息(xi)進(jin)行(xing)匹配(pei),會得出每個(ge)屬(shu)(shu)(shu)性(xing)(xing)信(xin)(xin)息(xi)的(de)匹配(pei)度(du)(du),也可(ke)(ke)以說(shuo)是相似度(du)(du),根(gen)據(ju)匹配(pei)度(du)(du)的(de)大小對(dui)(dui)屬(shu)(shu)(shu)性(xing)(xing)信(xin)(xin)息(xi)進(jin)行(xing)降序排列(lie),再向用(yong)戶發(fa)(fa)送匹配(pei)結果(guo)時(shi),可(ke)(ke)以僅發(fa)(fa)送匹配(pei)度(du)(du)最高(gao)的(de)屬(shu)(shu)(shu)性(xing)(xing)信(xin)(xin)息(xi)所對(dui)(dui)應(ying)的(de)圖(tu)像(xiang)數(shu)據(ju),也可(ke)(ke)以選取匹配(pei)度(du)(du)較(jiao)高(gao)的(de)預定數(shu)量個(ge)屬(shu)(shu)(shu)性(xing)(xing)信(xin)(xin)息(xi)所對(dui)(dui)應(ying)的(de)圖(tu)像(xiang)數(shu)據(ju),例如:顯示匹配(pei)度(du)(du)為前三的(de)屬(shu)(shu)(shu)性(xing)(xing)信(xin)(xin)息(xi)所對(dui)(dui)應(ying)的(de)圖(tu)像(xiang)數(shu)據(ju)。
下面對本(ben)發明(ming)實施例提供的(de)(de)圖(tu)像處理系統行介(jie)紹(shao),下文(wen)描述的(de)(de)圖(tu)像處理系統與上文(wen)描述的(de)(de)圖(tu)像處理方法可以相(xiang)互參照。
參見圖3,本(ben)發明實施例提供的(de)一(yi)種基于Hadoop的(de)圖像處理系統(tong),包括:
分(fen)布式文件(jian)系統HDFS100,用(yong)于檢測到本地緩存區中存在未上(shang)傳(chuan)至HDFS的(de)圖像數據(ju)時(shi),調用(yong)數據(ju)流寫入函(han)數將未上(shang)傳(chuan)的(de)圖像數據(ju)以數據(ju)流的(de)形式上(shang)傳(chuan)至HDFS;
其中,所述HDFS100還包括(kuo):
刪(shan)除模塊(kuai),用(yong)于將未上(shang)傳的(de)圖像數(shu)據(ju)以數(shu)據(ju)流的(de)形式(shi)上(shang)傳至HDFS之后,調用(yong)文件刪(shan)除函數(shu),刪(shan)除本地緩存區中(zhong)已上(shang)傳的(de)圖像數(shu)據(ju)。
并行(xing)計算框架(jia)MapReduce200,用于確定所(suo)述未上傳的圖(tu)像(xiang)數(shu)據(ju)的屬性信息;
數據庫Hbase300,用于存儲所(suo)述屬性信息;
硬(ying)件層(ceng)400,用于存儲所述未上傳的圖(tu)像(xiang)數據(ju)。
基(ji)于上(shang)述技(ji)術方(fang)案(an),本方(fang)案(an)還(huan)包括:
用戶接口層500,用于(yu)接收(shou)用戶觸發的查詢(xun)指令;
業務邏(luo)輯層(ceng)600,用于提取(qu)圖像(xiang)數據的類型信(xin)(xin)息,并將(jiang)所述類型信(xin)(xin)息添加(jia)至屬(shu)性信(xin)(xin)息,所述類型信(xin)(xin)息包括視頻類型信(xin)(xin)息或者圖片類型信(xin)(xin)息。
所述MapReduce還包括:
檢索(suo)模(mo)塊,用于確定用戶(hu)觸(chu)發(fa)的檢索(suo)指令中攜(xie)帶(dai)的檢索(suo)特征信息(xi)(xi),并(bing)將(jiang)(jiang)所述檢索(suo)特征信息(xi)(xi)與所述數據庫Hbase的屬性信息(xi)(xi)進行(xing)匹(pi)配(pei)(pei),并(bing)將(jiang)(jiang)匹(pi)配(pei)(pei)結果通過所述用戶(hu)接口(kou)層進行(xing)顯示。
其中,所(suo)述(shu)(shu)檢索模(mo)塊將所(suo)述(shu)(shu)檢索特征信息(xi)與(yu)所(suo)述(shu)(shu)數據庫Hbase的屬(shu)性信息(xi)進(jin)行匹配,得(de)到與(yu)每個(ge)屬(shu)性信息(xi)對應(ying)的匹配度,將匹配度最高的屬(shu)性信息(xi)作(zuo)為匹配結果通過所(suo)述(shu)(shu)用戶接口層進(jin)行顯示。
具(ju)體(ti)的(de),本實施例提供的(de)分布式存(cun)儲和檢索系統框(kuang)架主要包(bao)括6個層次:
HDFS層,即(ji)本方案中的(de)分布式文件(jian)系(xi)統HDFS100,為(wei)上層應用提供分布式存儲與讀取功能;
分(fen)布(bu)式計算(suan)層(ceng),即本(ben)方案中的并行計算(suan)框架MapReduce200,主要解決海量視頻檢(jian)索中特征提取和(he)檢(jian)索的分(fen)布(bu)式計算(suan)問題;
HBase數(shu)據庫層,即本(ben)方案(an)中的(de)數(shu)據庫Hbase300,用來存儲海(hai)量視頻檢索系統中需要進行實時(shi)(shi)訪問的(de)視頻屬性信息(xi)等海(hai)量的(de)小文(wen)件,為海(hai)量數(shu)據提(ti)供實時(shi)(shi)地(di)、快速地(di)訪問機制;
硬(ying)件(jian)層(ceng)400主要提供了基于(yu)Hadoop的(de)(de)海量視頻的(de)(de)分布式存儲與檢索系統的(de)(de)底(di)層(ceng)服務器硬(ying)件(jian)以及操作系統等(deng)基礎(chu)環(huan)境的(de)(de)支(zhi)持;
用(yong)戶(hu)接(jie)口層(ceng)500的(de)(de)主要作用(yong)是提供用(yong)戶(hu)對(dui)數據庫中的(de)(de)數據進行查詢(xun)及檢索的(de)(de)操作請(qing)求信息,以及接(jie)受查詢(xun)的(de)(de)結果(guo)數據;
業(ye)務(wu)邏輯(ji)層600的(de)(de)主要(yao)作用是實(shi)現系統中各(ge)個(ge)業(ye)務(wu)邏輯(ji)運行,包括視頻(pin)的(de)(de)預處理、特征提取(qu)與視頻(pin)檢(jian)索等相(xiang)關的(de)(de)操(cao)作,并實(shi)現與底(di)層數(shu)據庫的(de)(de)讀寫操(cao)作。
綜上可見,本(ben)方案提供的(de)(de)(de)基于Hadoop的(de)(de)(de)海量(liang)視頻的(de)(de)(de)分布(bu)式存(cun)儲(chu)(chu)與檢(jian)索系統可以有效地存(cun)儲(chu)(chu)和(he)管理海量(liang)的(de)(de)(de)圖(tu)像數據,并具有以下優點(dian):
1)可(ke)擴展(zhan)(zhan)性(xing)(xing),具(ju)有存(cun)儲和(he)計算的(de)可(ke)擴展(zhan)(zhan)性(xing)(xing);
2)安全可(ke)靠(kao)性(xing)(xing),HDFS的備份恢復機制(zhi)(zhi)以及Map/Reduce的任務(wu)監(jian)控機制(zhi)(zhi)保證了分布式處理的可(ke)靠(kao)性(xing)(xing);
3)高效性,分(fen)布式(shi)文(wen)件系(xi)統可以進行高效的數(shu)據交(jiao)互和(he)本地存儲、計算的處理模式(shi),為高效的處理海量(liang)視頻數(shu)據做(zuo)了(le)基礎(chu)準備;
4)經濟性,其可以運行在便(bian)宜得計算機上,不需(xu)要(yao)使用昂(ang)貴(gui)的服(fu)務器。
本說明書(shu)中各個(ge)實施例采(cai)用遞進的(de)(de)方(fang)式描述(shu),每個(ge)實施例重點說明的(de)(de)都是(shi)與(yu)其他實施例的(de)(de)不同之處,各個(ge)實施例之間相(xiang)(xiang)同相(xiang)(xiang)似部分互相(xiang)(xiang)參見即可。
對所(suo)公開(kai)(kai)的(de)(de)(de)(de)實(shi)(shi)施(shi)(shi)(shi)例(li)的(de)(de)(de)(de)上述說(shuo)明(ming)(ming),使本(ben)領域(yu)專業(ye)技(ji)術人員(yuan)能(neng)夠實(shi)(shi)現(xian)或(huo)使用本(ben)發明(ming)(ming)。對這些實(shi)(shi)施(shi)(shi)(shi)例(li)的(de)(de)(de)(de)多種修改對本(ben)領域(yu)的(de)(de)(de)(de)專業(ye)技(ji)術人員(yuan)來說(shuo)將是顯而易見的(de)(de)(de)(de),本(ben)文中(zhong)所(suo)定義的(de)(de)(de)(de)一(yi)(yi)般原理可(ke)以(yi)在不(bu)脫(tuo)離(li)本(ben)發明(ming)(ming)的(de)(de)(de)(de)精神或(huo)范圍的(de)(de)(de)(de)情(qing)況下,在其(qi)它實(shi)(shi)施(shi)(shi)(shi)例(li)中(zhong)實(shi)(shi)現(xian)。因此(ci),本(ben)發明(ming)(ming)將不(bu)會被限制(zhi)于本(ben)文所(suo)示的(de)(de)(de)(de)這些實(shi)(shi)施(shi)(shi)(shi)例(li),而是要符(fu)合與本(ben)文所(suo)公開(kai)(kai)的(de)(de)(de)(de)原理和(he)新穎特點相一(yi)(yi)致(zhi)的(de)(de)(de)(de)最(zui)寬(kuan)的(de)(de)(de)(de)范圍。