亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        云環(huán)境下基于MKd-Tree的大規(guī)模圖數(shù)據(jù)索引技術(shù)?

        2013-06-27 05:50:17雷婷
        電訊技術(shù) 2013年7期
        關(guān)鍵詞:樹(shù)形分布式檢索

        雷婷??

        (成都工業(yè)學(xué)院通信工程系,成都611730)

        云環(huán)境下基于MKd-Tree的大規(guī)模圖數(shù)據(jù)索引技術(shù)?

        雷婷??

        (成都工業(yè)學(xué)院通信工程系,成都611730)

        由于高維屬性和海量數(shù)據(jù)所帶來(lái)的影響,數(shù)據(jù)管理需要相當(dāng)高的計(jì)算負(fù)載,傳統(tǒng)的集中索引技術(shù)已經(jīng)變得不切實(shí)際。為滿(mǎn)足數(shù)據(jù)的快速增長(zhǎng)、海量和高維特性的要求,實(shí)現(xiàn)了一個(gè)高層次的分布式樹(shù)形索引結(jié)構(gòu)框架MRC-Tree?;贛RC-Tree框架基礎(chǔ)上,提出了兩種MKd-Tree索引結(jié)構(gòu)構(gòu)建方法,即OMKd-Tree和MMKd-Tree。理論分析和實(shí)驗(yàn)結(jié)果表明,基于MRC-Tree框架的MKd-Tree索引結(jié)構(gòu)構(gòu)建方法具有良好的可擴(kuò)展性和較高的檢索效率。

        高維數(shù)據(jù)庫(kù);圖數(shù)據(jù);索引結(jié)構(gòu);分布式樹(shù)形索引結(jié)構(gòu)框架;Map-Reduce框架;MKd-Tree

        1 引言

        近年來(lái),隨著多媒體技術(shù)和數(shù)字化技術(shù)的進(jìn)步,高維數(shù)據(jù)庫(kù)的應(yīng)用得到了快速的發(fā)展,如海量的多媒體數(shù)據(jù)庫(kù)、生物信息學(xué)中龐大的蛋白質(zhì)數(shù)據(jù)庫(kù)、DNA數(shù)據(jù)庫(kù)等,這些信息一般使用特征抽取等方法映射為高維數(shù)據(jù),然后通過(guò)計(jì)算這些高維數(shù)據(jù)之間距離范數(shù)實(shí)現(xiàn)相似性檢索。在這種背景下,高維數(shù)據(jù)索引結(jié)構(gòu)和適用于高維索引結(jié)構(gòu)的相似性檢索算法已經(jīng)成為研究人員研究的熱點(diǎn),而在已有的眾多高維索引結(jié)構(gòu)中,有的特定工作在向量空間中,而有的是針對(duì)度量空間而設(shè)計(jì)。由于度量空間概念堅(jiān)實(shí)的數(shù)學(xué)基礎(chǔ),簡(jiǎn)單但精確的分區(qū)和減枝規(guī)則能夠被成功構(gòu)造。這對(duì)于建立新的索引結(jié)構(gòu)是非常重要的,特別是對(duì)于檢索執(zhí)行耗費(fèi)不僅是I/O約束的,而且是CPU約束的情況。目前,許多度量檢索結(jié)構(gòu)已經(jīng)被提出,與線(xiàn)性?huà)呙柘啾?,性能獲得顯著的加速。然而,這些檢索結(jié)構(gòu)的執(zhí)行耗費(fèi)隨著數(shù)據(jù)集的規(guī)模呈線(xiàn)性增長(zhǎng)趨勢(shì)。這意味著,隨著數(shù)據(jù)規(guī)模的增大,檢索反應(yīng)時(shí)間遲早會(huì)變得不可容忍。另一方面,據(jù)評(píng)估,每年有近93%的多媒體數(shù)據(jù)是以數(shù)字的形式存在,新增多媒體數(shù)據(jù)的總量已經(jīng)超過(guò)1 018字節(jié),而且每年還以指數(shù)倍增長(zhǎng)。為了能夠處理海量的、不斷增長(zhǎng)的多媒體數(shù)據(jù)相似性檢索,可擴(kuò)展架構(gòu)的需求已經(jīng)促使研究人員開(kāi)始重視這方面的問(wèn)題。在這個(gè)研究領(lǐng)域,Map-Reduce框架由于良好的可擴(kuò)展性和自組織性,豐富的平臺(tái)支持,正在迅速獲得廣泛的應(yīng)用,并為解決海量多媒體數(shù)據(jù)相似性檢索問(wèn)題奠定了堅(jiān)實(shí)的基礎(chǔ)。

        盡管Map-Reduce框架[1]非常成功,但是它僅僅能夠抽象獨(dú)立處理單個(gè)的數(shù)據(jù)實(shí)體。大多數(shù)情況下,數(shù)據(jù)和計(jì)算密集型的應(yīng)用并不適合直接使用這種簡(jiǎn)單模型。Map-Reduce框架范圍之外,一類(lèi)與樹(shù)形結(jié)構(gòu)相關(guān)的應(yīng)用普遍被用在幾乎所有的計(jì)算領(lǐng)域?;跇?shù)形結(jié)構(gòu)的應(yīng)用,特別是涉及大規(guī)模數(shù)據(jù)密集型處理的情況,需要使用分布式計(jì)算和存儲(chǔ)系統(tǒng)。例如,使用標(biāo)記語(yǔ)言表示的結(jié)構(gòu)化文檔,如SGML和它的變種XML,都是基于樹(shù)形結(jié)構(gòu)表示的。這些文檔往往需要復(fù)雜的檢索處理,并且可以有效地利用它們的樹(shù)形結(jié)構(gòu)實(shí)現(xiàn)。許多檢索程序都是基于檢索樹(shù)的,如BST[2]、B-Trees[3]、R-Trees[4]和Kd-Tree[5],其目的都是為了使數(shù)據(jù)檢索更加快捷高效??臻g樹(shù)形結(jié)構(gòu)也已經(jīng)被廣泛應(yīng)用于幾何造型、圖形和圖像等高維數(shù)據(jù)處理中。在高性能計(jì)算中,基于樹(shù)形結(jié)構(gòu)的數(shù)據(jù)密集型應(yīng)用也廣泛存在,既有獲取和挖掘科學(xué)數(shù)據(jù)集的應(yīng)用,也有分子動(dòng)力學(xué)和計(jì)算電磁學(xué)等領(lǐng)域的應(yīng)用。

        基于樹(shù)形結(jié)構(gòu)的數(shù)據(jù)和計(jì)算密集型應(yīng)用往往需要用戶(hù)大量的編程工作,特別是對(duì)于處理分布式環(huán)境中大的樹(shù)形結(jié)構(gòu)?;贛ap-Reduce框架的抽象樹(shù)形結(jié)構(gòu)是非常有幫助的,但由于樹(shù)形結(jié)構(gòu)及其相應(yīng)算法的多樣性,構(gòu)建一個(gè)基于Map-Reduce框架的樹(shù)形結(jié)構(gòu)是非常有挑戰(zhàn)性的。參照文獻(xiàn)[6-9],基于Hadoop環(huán)境,本文為樹(shù)形結(jié)構(gòu)的檢索和計(jì)算實(shí)現(xiàn)一個(gè)高層次的分布式架構(gòu),即MRC-Tree(Computation based on Map-Reduce on tree structures),也稱(chēng)為樹(shù)形結(jié)構(gòu)上基于Map-Reduce的計(jì)算。盡管樹(shù)形結(jié)構(gòu)及其應(yīng)用在上面的算法類(lèi)型多種多樣,該抽象方法可以為更廣泛的應(yīng)用提供充分的一般性。MRC-Tree框架包含需要用戶(hù)指定的函數(shù)(由基本函數(shù)Map和 Reduce組成),通過(guò)精巧設(shè)計(jì)這些函數(shù),可以通過(guò)多種方式實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)中廣泛使用的操作。這些函數(shù)都是基于基本的父子(Parent-Child)關(guān)系,因此對(duì)于所有樹(shù)形結(jié)構(gòu)都一樣,同時(shí),將存儲(chǔ)機(jī)制、容錯(cuò)問(wèn)題和并發(fā)問(wèn)題等問(wèn)題都移交給Hadoop平臺(tái)管理。然后,在MRC-Tree框架基礎(chǔ)上,基于原始的Kd-Tree索引結(jié)構(gòu)[5],提出兩種并行化Kd-Tree的方法,即MMKd-Tree(Build multiple Kd-Trees by splitting data equally based on Map-Reduce)和OMKd-Tree(Build one distributed Kd-Tree based on Map-Reduce)。Kd-Tree是一種根據(jù)K維空間中的點(diǎn)集對(duì)空間進(jìn)行分割的數(shù)據(jù)結(jié)構(gòu),采用多維索引值進(jìn)行查找,常用于范圍查找和最近鄰查找等,是一種特殊的二叉空間分割樹(shù)。在高維空間檢索,特別是圖形檢索,諸如碰撞檢測(cè)、遮擋剔除、游戲以及光線(xiàn)追蹤等領(lǐng)域[10-11]應(yīng)用廣泛。最后,通過(guò)實(shí)驗(yàn),分別從檢索CPU時(shí)間、檢索精度、吞吐量以及可擴(kuò)展性4個(gè)方面來(lái)評(píng)估MMKd-Tree和OMKd-Tree索引結(jié)構(gòu)性能。理論分析和實(shí)驗(yàn)結(jié)果表明,基于MRC-Tree框架的OMKd-Tree索引結(jié)構(gòu)具有良好的可擴(kuò)展性和較高的檢索效率。

        2 MRC-Tree框架

        對(duì)于樹(shù)形結(jié)構(gòu),用戶(hù)可以通過(guò)父節(jié)點(diǎn)與子節(jié)點(diǎn)之間鏈接導(dǎo)航的拓?fù)浣Y(jié)構(gòu)來(lái)訪(fǎng)問(wèn)樹(shù)節(jié)點(diǎn)上特定的應(yīng)用信息。樹(shù)形結(jié)構(gòu)的表示形式和存儲(chǔ)結(jié)構(gòu)對(duì)于用戶(hù)是無(wú)關(guān)緊要的,即便它是以一種分布式的方式存儲(chǔ)。本節(jié)的研究?jī)?nèi)容是在超大的樹(shù)形結(jié)構(gòu)上支持?jǐn)?shù)據(jù)和計(jì)算密集型應(yīng)用,通過(guò)實(shí)現(xiàn)MRC-Tree框架來(lái)提供多個(gè)并發(fā)計(jì)算,為了使算法更高效地執(zhí)行,MRC-Tree框架提供分布式計(jì)算方法。MRC-Tree框架如圖1所示。

        圖1MRC-Tree框架結(jié)構(gòu)圖Fig.1 The MRC-Tree frame structure

        在樹(shù)形結(jié)構(gòu)中,每個(gè)節(jié)點(diǎn)存儲(chǔ)的信息由樹(shù)的拓?fù)浣Y(jié)構(gòu)信息和特定的應(yīng)用信息兩部分組成。其中,樹(shù)的拓?fù)湫畔ǜ腹?jié)點(diǎn)與子節(jié)點(diǎn)之間的鏈接、節(jié)點(diǎn)在樹(shù)中的層次等。樹(shù)形結(jié)構(gòu)的節(jié)點(diǎn)可以表示成μ、ν、ω,在節(jié)點(diǎn)μ中,使用元組μ=(kμ,Xμ)表示特定的應(yīng)用信息,kμ為唯一的節(jié)點(diǎn)標(biāo)識(shí)符,Xμ為存儲(chǔ)在節(jié)點(diǎn)μ中的其他信息。例如,kμ可以是二叉檢索樹(shù)中的編號(hào)信息、八叉樹(shù)中的域信息等。kμ和Xμ的數(shù)據(jù)類(lèi)型是用戶(hù)指定的。使用符號(hào)“ㄧ→”表示MRC-Tree框架提供給用戶(hù)的函數(shù),符號(hào)“→”表示由用戶(hù)提供的函數(shù)。MRC-Tree框架包括兩個(gè)關(guān)鍵操作,一個(gè)操作是用來(lái)表示多個(gè)檢索在樹(shù)形結(jié)構(gòu)上并發(fā)執(zhí)行,另一個(gè)操作是用來(lái)表示在樹(shù)形結(jié)構(gòu)的每個(gè)節(jié)點(diǎn)上執(zhí)行計(jì)算。這兩個(gè)操作都依賴(lài)于有限的用戶(hù)指定函數(shù),通過(guò)這些精心設(shè)計(jì)的函數(shù)可以實(shí)現(xiàn)不同類(lèi)型的樹(shù)及其基于樹(shù)的操作。

        2.1 基于樹(shù)形結(jié)構(gòu)的檢索操作

        基于樹(shù)形結(jié)構(gòu)的檢索操作提供了自上而下的檢索,從樹(shù)的根開(kāi)始遍歷,遞歸向下一個(gè)或多個(gè)分支路徑遍歷,從一個(gè)節(jié)點(diǎn)遍歷至另一個(gè)或更多的子節(jié)點(diǎn),檢索操作的結(jié)果是一個(gè)樹(shù)節(jié)點(diǎn)列表。盡管并行執(zhí)行特定類(lèi)型樹(shù)形結(jié)構(gòu)的單次檢索一直是一個(gè)理論研究問(wèn)題,為提高單次檢索效率,往往選擇將數(shù)據(jù)分區(qū)索引,然后通過(guò)分布式檢索算法進(jìn)行檢索以及結(jié)果整合。實(shí)踐中往往使用并發(fā)多檢索和數(shù)據(jù)分區(qū)檢索相結(jié)合,可以充分利用分布式系統(tǒng)中的計(jì)算資源。而且對(duì)于并發(fā)多重檢索問(wèn)題,并行計(jì)算是非常有效的。通過(guò)檢索項(xiàng)列表,treeSearch操作允許多個(gè)并發(fā)檢索同時(shí)執(zhí)行,最后以list(list(ν))方式返回所有檢索結(jié)果。令K表示單一檢索項(xiàng),即

        其中,list(K)=(K1,K2,…Kn)是一個(gè)包含n個(gè)檢索項(xiàng)的列表,而相應(yīng)的結(jié)果節(jié)點(diǎn)列表為

        操作依賴(lài)于用戶(hù)指定的select函數(shù),該函數(shù)從樹(shù)形結(jié)構(gòu)中取出一個(gè)節(jié)點(diǎn)μ,檢索項(xiàng)K作為輸入,輸出一個(gè)節(jié)點(diǎn)列表:select(μ,K)→list(ν)。

        其中,list(ν)有以下3種情況:

        (1)list(ν)=(μ),這種情況下,檢索停止在μ,μ被包括在檢索結(jié)果集合中;

        (2)list(ν)為空,檢索停止,在這個(gè)檢索路徑上,沒(méi)有節(jié)點(diǎn)被包含在檢索結(jié)果集合中;

        (3)list(ν)包含一個(gè)或多個(gè)μ的孩子,select被遞歸應(yīng)用到list(ν)中的每個(gè)節(jié)點(diǎn)上。

        為實(shí)現(xiàn)select函數(shù),用戶(hù)需要訪(fǎng)問(wèn)一個(gè)節(jié)點(diǎn)的孩子節(jié)點(diǎn)。一個(gè)節(jié)點(diǎn)的父節(jié)點(diǎn)和孩子節(jié)點(diǎn)分別通過(guò)以下系統(tǒng)指定方式獲得:parent(μ)ㄧ→ν和children(μ)ㄧ→list(ν)。

        2.2 基于樹(shù)形結(jié)構(gòu)的計(jì)算操作

        函數(shù)treeCompute用于處理樹(shù)形結(jié)構(gòu)中的節(jié)點(diǎn),計(jì)算節(jié)點(diǎn)中的信息:treeCompute(μ)ㄧ→μ′。其中,μ′=(kμ,X′μ)表示更新節(jié)點(diǎn)μ。在更新節(jié)點(diǎn)μ過(guò)程中,其他節(jié)點(diǎn)的集合也需要被考慮。用戶(hù)指定如何確定與μ相關(guān)的節(jié)點(diǎn)列表,并通過(guò)generate函數(shù)在μ上定義交集。使用用戶(hù)指定的combine函數(shù),合并節(jié)點(diǎn)μ與交集中的值,計(jì)算節(jié)點(diǎn)μ′。generate和combine函數(shù)定義如下。

        (1)generate函數(shù):generate函數(shù)將節(jié)點(diǎn)μ作為輸入,返回一個(gè)包含節(jié)點(diǎn)μ上的交集和一個(gè)依賴(lài)標(biāo)識(shí)dy。這個(gè)標(biāo)識(shí)用來(lái)表明,若多個(gè)交集之間存在依賴(lài),是否需要在函數(shù)中考慮,generate(μ)→(list(ν),dy)。

        (2)combine函數(shù):合并函數(shù)需要指定如何合并關(guān)于節(jié)點(diǎn)μ的信息來(lái)計(jì)算它的更新值,這些信息來(lái)自節(jié)點(diǎn)μ的交集中所有節(jié)點(diǎn),combine(μ,ν)→μ′。

        2.3 映射樹(shù)形結(jié)構(gòu)操作到MRC-Tree框架

        樹(shù)形結(jié)構(gòu)上的鍵值檢索:對(duì)于一個(gè)可以完全有序集合,檢索樹(shù)被廣泛用于索引集合中的鍵值檢索。在MRC-Tree框架上,使用treeSearch操作在檢索樹(shù)上實(shí)現(xiàn)多個(gè)檢索并發(fā)執(zhí)行。操作定義如下。

        (1)域檢索:基于Rd(d∈N)層次劃分的空間樹(shù)形結(jié)構(gòu)種類(lèi)較多,例如:四叉樹(shù)、八叉樹(shù)、Kd-trees、R+-Trees等。在這種情況下,檢索鍵值K是d維空間中的一個(gè)區(qū)域,檢索結(jié)果是一個(gè)葉子節(jié)點(diǎn)列表,其中每個(gè)節(jié)點(diǎn)都對(duì)應(yīng)一個(gè)與K相交的區(qū)域。

        (2)局部計(jì)算:樹(shù)形結(jié)構(gòu)中最簡(jiǎn)單的計(jì)算操作是在樹(shù)的每個(gè)節(jié)點(diǎn)上進(jìn)行局部計(jì)算,這時(shí),無(wú)需考慮與其他節(jié)點(diǎn)的交集。treeCompute可以被用來(lái)簡(jiǎn)化定義generate函數(shù),僅需要返回節(jié)點(diǎn)本身,同時(shí)也可以簡(jiǎn)化combine函數(shù)的計(jì)算:

        (3)向上聚類(lèi):是指對(duì)樹(shù)中每個(gè)節(jié)點(diǎn)的數(shù)據(jù)聚類(lèi)從它的后裔節(jié)點(diǎn)開(kāi)始,并不直接從內(nèi)部節(jié)點(diǎn)子樹(shù)的所有葉子節(jié)點(diǎn)開(kāi)始計(jì)算聚類(lèi),這樣代價(jià)較大,而采用從節(jié)點(diǎn)孩子的聚類(lèi)值進(jìn)行計(jì)算。要做到這一點(diǎn),在計(jì)算父節(jié)點(diǎn)的聚類(lèi)之前,首先需要計(jì)算孩子節(jié)點(diǎn)的聚類(lèi)值。為實(shí)現(xiàn)這種操作,將一個(gè)節(jié)點(diǎn)的交集定義為它的孩子,同時(shí)在函數(shù)generate中,將dy標(biāo)識(shí)設(shè)為true。函數(shù)combine定義每個(gè)孩子節(jié)點(diǎn)的聚類(lèi)操作,由⊕表示:

        (4)向下聚類(lèi):與向上樹(shù)形結(jié)構(gòu)聚類(lèi)相反,向下樹(shù)形結(jié)構(gòu)聚類(lèi)是指對(duì)樹(shù)中每個(gè)節(jié)點(diǎn)的數(shù)據(jù)聚類(lèi)從它的祖先節(jié)點(diǎn)開(kāi)始。要做到這一點(diǎn),首先取得一個(gè)節(jié)點(diǎn)父節(jié)點(diǎn)的聚類(lèi)值,然后同當(dāng)前節(jié)點(diǎn)值合并。為實(shí)現(xiàn)這種操作,generate函數(shù)被要求返回父節(jié)點(diǎn),以及將dy標(biāo)識(shí)設(shè)為true,數(shù)據(jù)聚類(lèi)操作⊕,被定義在combine函數(shù)中:

        (5)范圍檢索:對(duì)于一個(gè)空間樹(shù)形結(jié)構(gòu),樹(shù)中每個(gè)節(jié)點(diǎn)都對(duì)應(yīng)著Rd空間中的一個(gè)盒子。假設(shè)需要在樹(shù)的每個(gè)節(jié)點(diǎn)上執(zhí)行計(jì)算,計(jì)算使用的是與中心節(jié)點(diǎn)的距離范圍為[d1,d2]的同層所有節(jié)點(diǎn)。

        3 MKd-Tree

        本文基于MRC-Tree框架,提出兩種并行化Kd-Tree的方法,即MMKd-Tree(Build multiple Kd-Trees by splitting data equally based on Map-Reduce)和OMKd-Tree(Build one distributed Kd-Tree based on Map-Reduce),如圖2所示。

        圖2 基于MRC-Tree框架的Kd-Tree并行化方案Fig.2 Distributed Kd-tree schemes based on the MRC-Tree

        (1)MMKd-Tree:并行化Kd-Tree最簡(jiǎn)單的方式,首先根據(jù)計(jì)算節(jié)點(diǎn)個(gè)數(shù)將數(shù)據(jù)集均勻切分為獨(dú)立的n-1塊(1個(gè)根計(jì)算節(jié)點(diǎn),n-1個(gè)子計(jì)算節(jié)點(diǎn)),近似保證每個(gè)數(shù)據(jù)塊適合子計(jì)算節(jié)點(diǎn)的主存。接下來(lái),為每個(gè)數(shù)據(jù)塊在子計(jì)算節(jié)點(diǎn)上分別建立一個(gè)獨(dú)立的Kd-Tree。檢索過(guò)程中,根計(jì)算節(jié)點(diǎn)接受目標(biāo)檢索特征向量,并將特征傳遞給所有的子計(jì)算節(jié)點(diǎn),然后收集返回結(jié)果并整合,輸出最終排序好的結(jié)果;

        (2)OMKd-Tree:該方法并行化過(guò)程中僅僅建立一棵Kd-Tree,其上部位于根計(jì)算節(jié)點(diǎn),下部被切分到各個(gè)子計(jì)算節(jié)點(diǎn),存儲(chǔ)特征的葉子節(jié)點(diǎn)也位于這些子節(jié)點(diǎn)上。檢索過(guò)程中,根據(jù)Kd-Tree遍歷退出位置,根計(jì)算節(jié)點(diǎn)引導(dǎo)目標(biāo)檢索特征向量到相應(yīng)的子計(jì)算節(jié)點(diǎn)。子計(jì)算節(jié)點(diǎn)根據(jù)相應(yīng)的Kd-Tree子樹(shù)計(jì)算最近鄰,返回結(jié)果給根計(jì)算節(jié)點(diǎn)。最后,根計(jì)算節(jié)點(diǎn)進(jìn)行結(jié)果整合排序,輸出最終排序好的結(jié)果。

        顯而易見(jiàn),OMKd-Tree最大的優(yōu)點(diǎn)是對(duì)于單個(gè)特征向量?jī)H需要訪(fǎng)問(wèn)少量子計(jì)算節(jié)點(diǎn)。因此,子計(jì)算節(jié)點(diǎn)可以同時(shí)并行處理多個(gè)特征向量,大部分計(jì)算都發(fā)生在子計(jì)算節(jié)點(diǎn)中,文獻(xiàn)[12]已經(jīng)證實(shí)該方法是合理的。隨著子計(jì)算節(jié)點(diǎn)數(shù)量的提高,根計(jì)算節(jié)點(diǎn)將會(huì)成為瓶頸,本文通過(guò)引入多個(gè)根計(jì)算節(jié)點(diǎn)副本來(lái)解決此問(wèn)題。建立適用的OMKd-Tree面臨兩個(gè)主要挑戰(zhàn):一是如何建立一個(gè)包含超高維特征向量(成千上萬(wàn)維)的Kd-Tree,這種情況下,在單一計(jì)算節(jié)點(diǎn)上建立Kd-Tree是不可行的;二是在OMKd-Tree上如何實(shí)現(xiàn)回溯。本文通過(guò)以下兩個(gè)方案來(lái)解決這兩個(gè)問(wèn)題。

        (1)OMKd-Tree并不是在單個(gè)計(jì)算節(jié)點(diǎn)上建立Kd-Tree,而是在根節(jié)點(diǎn)上建立一個(gè)特性分布樹(shù),即Kd-Tree的上層。這是因?yàn)閿?shù)據(jù)量龐大且維度較高,不可能在單個(gè)節(jié)點(diǎn)上滿(mǎn)足特征向量所有維度,可以采取簡(jiǎn)單的對(duì)特征進(jìn)行抽樣,并在單個(gè)計(jì)算節(jié)點(diǎn)上使用盡可能多的內(nèi)存。通過(guò)計(jì)算Kd-Tree建樹(shù)算法抽樣的均值,上面的方法并不會(huì)影響最終Kd-Tree的性能。

        (2)OMKd-Tree方法僅在子計(jì)算節(jié)點(diǎn)上執(zhí)行回溯算法,根節(jié)點(diǎn)無(wú)需回溯。為判定需要訪(fǎng)問(wèn)哪個(gè)子計(jì)算節(jié)點(diǎn),需要計(jì)算到切分點(diǎn)之間的距離,如果距離低于判定閾值,將該計(jì)算節(jié)點(diǎn)包含到下一步需要處理的過(guò)程中。

        基于MRC-Tree框架實(shí)現(xiàn)MMKd-Tree和OMKd-Tree,如圖3所示,主要分為兩個(gè)階段:

        (1)分布式建樹(shù)階段:特征向量Map-Reduce將向量集合切分到各個(gè)子計(jì)算節(jié)點(diǎn),接下來(lái)通過(guò)索引Map-Reduce在各個(gè)子計(jì)算節(jié)點(diǎn)建立不同的Kd-Tree。

        (2)分布式檢索階段:通過(guò)分配Map-Reduce將目標(biāo)特征向量分配到合適的子計(jì)算節(jié)點(diǎn),然后通過(guò)匹配計(jì)算Map-Reduce檢索相應(yīng)的Kd-Tree,并進(jìn)行結(jié)果收集和整理,最后輸出結(jié)果。

        圖3 基于Map-Reduce的分布式Kd-Tree機(jī)制Fig.3 Distributed Kd-Tree scheme based on the Map-Reduce

        4 實(shí)驗(yàn)驗(yàn)證及性能分析

        本節(jié)將顯示和討論分布式Kd-Tree索引結(jié)構(gòu)在IBM集群上獲得的實(shí)驗(yàn)結(jié)果。在實(shí)驗(yàn)過(guò)程中,由于分布式環(huán)境對(duì)外提供其他計(jì)算服務(wù),本文實(shí)驗(yàn)過(guò)程是與其他程序共享分布式資源,因此,在實(shí)驗(yàn)結(jié)果上可能會(huì)出現(xiàn)小幅波動(dòng)。分布式環(huán)境構(gòu)成:1個(gè)Master管理節(jié)點(diǎn)服務(wù)器,8個(gè)刀片服務(wù)器(HS21)計(jì)算節(jié)點(diǎn),1套8 TB磁盤(pán)陣列(IBM DS3400)存儲(chǔ)。

        4.1 數(shù)據(jù)集

        在實(shí)驗(yàn)中使用兩個(gè)不同統(tǒng)計(jì)類(lèi)型的測(cè)試數(shù)據(jù)集,每種數(shù)據(jù)集都包括兩種不同類(lèi)型圖像,如圖4所示。

        圖4 數(shù)據(jù)集描述Fig.4 The dataset description

        (1)測(cè)試集

        已經(jīng)進(jìn)行標(biāo)注的圖像,作為參照目的。這個(gè)集合中的每個(gè)對(duì)象包括兩種類(lèi)型的圖像:一是基準(zhǔn)圖像,表示要被檢索的真實(shí)圖像,用來(lái)驗(yàn)證檢索結(jié)果的正確與否;二是測(cè)試圖像集,用來(lái)查詢(xún)數(shù)據(jù)庫(kù),表示與基準(zhǔn)圖像相近,由基準(zhǔn)圖像經(jīng)過(guò)變換后的圖像,例如不同視角、光照條件、縮放比例等。

        (2)干擾集

        表示構(gòu)成查詢(xún)數(shù)據(jù)庫(kù)的大部分圖像,盡管這些圖像在一定統(tǒng)計(jì)意義上與測(cè)試圖像有聯(lián)系,事實(shí)上與測(cè)試圖像集無(wú)關(guān)。算法必須能夠識(shí)別并過(guò)濾掉這些混亂和扭曲圖像,并找到基準(zhǔn)圖像。在現(xiàn)實(shí)的圖像集構(gòu)造過(guò)程中,這個(gè)集合將包括所有與基準(zhǔn)圖像語(yǔ)義相近的圖像,例如,與基準(zhǔn)圖像相近的語(yǔ)義是標(biāo)注為建筑類(lèi)的圖像。

        實(shí)驗(yàn)過(guò)程中,使用一個(gè)Holidays圖片集測(cè)試分布式Kd-tree索引結(jié)構(gòu)的性能。Holidays[9](1 491幅圖片,4 456個(gè)描述器,500個(gè)檢索),這個(gè)數(shù)據(jù)集主要包含假日旅游的圖片。擾亂數(shù)據(jù)集使用Flickr旅游圖片,通過(guò)使用Flickr站點(diǎn)檢索引擎,檢索關(guān)鍵字為“travel”和“Holiday travel”,獲取總計(jì)達(dá)1 M張各種類(lèi)型的假日旅游的圖片(自然、建筑、大海和火山等)。

        最后,該數(shù)據(jù)集總計(jì)1 M張圖片,500個(gè)檢索圖片,每個(gè)圖片平均有1 500個(gè)描述特征。對(duì)于所有圖片,總計(jì)特征為15億。在本文中,圖片特征提取方法使用SIFT算法[13]。使用下面公式進(jìn)行檢索精度評(píng)估:

        該公式表示,檢索返回的Top-k個(gè)圖片中包含基準(zhǔn)圖像在檢索總次數(shù)中所占的比例。其中,rq表示基準(zhǔn)圖像在檢索結(jié)果中的排名,若{rq≤k}為真,則{rq≤k}=1。

        對(duì)于分布式Kd-Tree,為了權(quán)衡精度和檢索時(shí)間,本文限定了每個(gè)特征的回溯范圍,而且這個(gè)范圍由所有Kd-Tree子樹(shù)共享。例如,對(duì)于MMKd-Tree,回溯限定為B=3 k,如果一個(gè)特征有兩個(gè)子計(jì)算節(jié)點(diǎn),則每個(gè)使用1.5 k;若是3個(gè)子計(jì)算節(jié)點(diǎn),則是1 k。對(duì)于具有M個(gè)子計(jì)算節(jié)點(diǎn)的OMKd-Tree,每個(gè)節(jié)點(diǎn)使用B/M個(gè)回溯步驟。

        4.2 性能分析

        實(shí)驗(yàn)中,通過(guò)改變分布式Kd-Tree索引系統(tǒng)中計(jì)算節(jié)點(diǎn)的個(gè)數(shù)M(2≤M≤8)、距離閾值d(0.05≤

        d≤0.3)、回溯步驟數(shù)Nb(512≤Nb≤30 k)、圖片規(guī)模Ns(1 k≤Ns≤10 M)、檢索圖片次數(shù)Nr(1≤Nr≤150)來(lái)調(diào)節(jié)、測(cè)試和分析分布式索引結(jié)構(gòu)的性能。

        首先,使用1 M圖片數(shù)據(jù)集,測(cè)試不同的參數(shù)對(duì)與分布式Kd-Tree性能的影響:距離閾值d、回溯步驟數(shù)Nb和子計(jì)算節(jié)點(diǎn)個(gè)數(shù)為M。

        如圖5所示,隨著距離閾值的增大,OMKd-Tree將會(huì)訪(fǎng)問(wèn)更多的子(葉子)計(jì)算節(jié)點(diǎn),由于回溯步驟Nb是固定的,葉子節(jié)點(diǎn)的子樹(shù)不能夠訪(fǎng)問(wèn)足夠深度,因此檢索精度會(huì)逐漸降低。而由于回溯步驟確定,檢索CPU時(shí)間沒(méi)有明顯變化。而對(duì)于MMKd-Tree,距離閾值變化并不會(huì)影響需要訪(fǎng)問(wèn)的子計(jì)算節(jié)點(diǎn),因此預(yù)測(cè)精度不會(huì)變化,檢索時(shí)間會(huì)隨之略微下降,因?yàn)檫@是顯而易見(jiàn)的,圖中并沒(méi)有畫(huà)出。

        圖5 距離閾值的影響Fig.5 The effect of the distance threshold

        如圖6所示,隨著回溯步驟的增大,子(葉子)計(jì)算節(jié)點(diǎn)的個(gè)數(shù)是固定的,訪(fǎng)問(wèn)葉子節(jié)點(diǎn)的深度會(huì)隨之增大,檢索精度也隨之提高,檢索CPU時(shí)間也隨之提高;顯然,隨著回溯步驟的增大,OMKd-Tree在檢索精度和檢索CPU時(shí)間方面,與MMKd-Tree相比更具優(yōu)勢(shì)。

        圖6回溯步驟的影響Fig.6 The effect of the backtracking step

        圖7 顯示了圖像規(guī)模增長(zhǎng)對(duì)這兩種索引結(jié)構(gòu)的影響。隨著圖像規(guī)模的增大,樹(shù)的深度會(huì)隨之提高,由于回溯步驟、計(jì)算節(jié)點(diǎn)個(gè)數(shù)和距離閾值是恒定的,所以預(yù)測(cè)精度隨之下降,檢索CPU時(shí)間呈上升趨勢(shì),吞吐量對(duì)于兩種方法在峰值之前都成上升趨勢(shì),顯然OMKd-Tree的吞吐量遠(yuǎn)高于MMKd-Tree,而且當(dāng)圖像規(guī)模為10 M時(shí),OMKd-Tree吞吐量繼續(xù)呈上升趨勢(shì),而MMKd-Tree開(kāi)始下降。顯然,與MMKd-Tree相比,OMKd-Tree具有更高的檢索精度、更低的CPU時(shí)間代價(jià)和更高的吞吐量。

        如圖8所示,隨著計(jì)算節(jié)點(diǎn)個(gè)數(shù)的增大,回溯步驟、數(shù)據(jù)集規(guī)模和距離閾值都恒定的情況下,OMKd-Tree的預(yù)測(cè)精度和檢索CPU時(shí)間幾乎不變,吞吐量明顯提高;對(duì)于MMKd-Tree,預(yù)測(cè)精度下降,檢索CPU時(shí)間提高,吞吐量也相應(yīng)提高,但提高幅度沒(méi)有OMKd-Tree明顯;對(duì)于OMKd-Tree,樹(shù)頂層的層數(shù)在特征Map-Reduce階段被構(gòu)造。對(duì)于MMKd-Tree,定義了圖像數(shù)據(jù)集被分組的個(gè)數(shù)。對(duì)于相同數(shù)目的計(jì)算節(jié)點(diǎn),OMKd-Tree的總體性能(檢索精度、檢索CPU時(shí)間和吞吐量)優(yōu)于MMKd-Tree。特別是,隨著計(jì)算節(jié)點(diǎn)的個(gè)數(shù)增長(zhǎng),OMKd-Tree的檢索CPU時(shí)間幾乎不變,而MMKd-Tree呈增長(zhǎng)趨勢(shì)。這是因?yàn)?,盡管回溯步驟被分布到所有機(jī)器上,特征向量仍然需要拷貝并發(fā)送到所有計(jì)算節(jié)點(diǎn)上,內(nèi)存拷貝需要耗費(fèi)大量CPU時(shí)間。同時(shí)注意到,吞吐量也隨著計(jì)算節(jié)點(diǎn)的個(gè)數(shù)增加而增加,OMKd-Tree的吞吐量遠(yuǎn)遠(yuǎn)大于MMKd-Tree。

        圖7 圖像數(shù)據(jù)庫(kù)規(guī)模的影響Fig.7 The effect of image database size

        圖9 顯示,不同Top-k的k值對(duì)于檢索精度的影響,k的范圍是從1~150。顯而易見(jiàn),隨著k值增大,檢索精度隨之提高,而且圖像規(guī)模越小檢索精度越高。因?yàn)?,?0 M圖像庫(kù)中查找一幅圖像,命中正確圖像的概率為10-7。顯然,數(shù)據(jù)庫(kù)規(guī)模越大,命中概率越低,檢索精度越低。

        圖9Top-k查詢(xún)中k值的影響Fig.9 The effect of k in the Top-k query

        5 總結(jié)

        本文面向云環(huán)境中大規(guī)模圖像查詢(xún)需求,設(shè)計(jì)了一個(gè)基于Map-Reduce模型的分布式樹(shù)形結(jié)構(gòu)檢索和計(jì)算抽象框架MRC-Tree,實(shí)現(xiàn)了基于MRC-Tree的分布式的圖像索引結(jié)構(gòu)建立算法OMKd-Tree和MMKd-Tree,并通過(guò)實(shí)驗(yàn)分析了兩類(lèi)算法的性能。本文所提出的高維特征索引機(jī)制是一個(gè)初步嘗試,尚有不少需進(jìn)一步開(kāi)展的工作,如對(duì)于OMKd-Tree算法,通過(guò)自適應(yīng)的參數(shù)設(shè)置來(lái)進(jìn)一步提高索引結(jié)構(gòu)的性能;融合多種高維特征(包括高層語(yǔ)義特征),拓展MRC-Tree框架以適應(yīng)融合特征,以達(dá)到更好的查詢(xún)效果。

        [1]Dean J,Ghemawat S.Map-Reduce:Simplified Data Processing on Large clusters[J].ACM Communication,2008,51(1):107-113.

        [2]Heger D A.A Disquisition on the Performance Behavior of Binary Search Tree Data Structures[J].European Journal for the Informatics Professional,2004,5(5):67-75.

        [3]Comer D.The Ubiquitous B-Tree[J].ACM Computing Surveys,1979,11(2):121-137.

        [4]Guttman A.R-Trees:A Dynamic Index Structure for Spatial Searching[C]//Proceedings of the 1984 ACM SIGMOD International Conference on Management of data.New York:ACM,1984:47-57.

        [5]Bentley J L.Multidimensional binary search trees used for as-sociative searching[J].ACM Communication,1975,18(9):509-517.

        [6]Abhinav SARJE,Srinivas ALURU.A Map-Reduce Style Framework for Trees[R].Technical Report,2009.

        [7]Sarje A,Aluru S.A Map-Reduce Style Framework for Computations on Trees[C]//Proceedings of 2010 39th International Conference on Parallel Processing.San Diego,California,USA:IEEE,2010:343-352.

        [8]楊恒,王慶,何周燦.面向高維圖像特征匹配的多次隨機(jī)子向量量化哈希算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2010,22(3):494-510. YANG Heng,WANG Qing,HE Zhou-can.Multiple Randomized Sub-vectors Quantization Hashing for High-Dimensional Image Feature Matching[J].Journal of Computer-Aided Design&Computer Graphics,2010,22(3):494-502.(in Chinese)

        [9]Silpal-Anan C,Hartley R.Optimised KD-trees for fast image descriptor matching[C]//Proceedings of 2008 IEEE Conference on Computer Vision and Pattern Recognition.Anchorage,AK:IEEE,2008:1-8.

        [10]過(guò)潔,徐曉旸,潘金貴.虛擬場(chǎng)景的一種快速優(yōu)化Kd-Tree構(gòu)造方法[J].電子學(xué)報(bào),2011,39(8):1811-1817. GUO Jie,XU Xiao-yang,PAN Jin-gui.Build Kd-Tree for Virtual Scenes in a Fast and Optimal Way[J].Acta Electronica Sinica,2011,39(8):1811-1817.(in Chinese)

        [11]Aly M,Munich M,Perona P.Indexing in large scale image collections:Scaling properties and benchmark[C]//Proceedings of the 2011 IEEE Workshop on Applications of Computer Vision.Kona,HI:IEEE,2011:418-425.

        [12]Jegou H,Douze M,Schmid C.Hamming embedding and weak geometric consistency for large scale image search[C]//Proceedings of 2008 10th European Conference on Computer Vision:Part I.Marseille,F(xiàn)rance:IEEE,2008:304-317.

        [13]Lowe D G.Object recognition from local scale-invariant features[C]//Proceedings of the 7th IEEE International Conference on Computer Vision.Kerkyra:IEEE,1999:1150-1157.

        LEI Ting was born in Chenzhou,Hunan Province,in 1981.She is now a lecturer with the M.S.degree and also a CCF member.Her research concerns data mining,clound computing.

        Email:tinglei.uestc@gmail.com

        Large Scale Graph Data Index Based on MKd-Tree in Cloud Environment

        LEI Ting
        (Department of Communication Engineering,Chengdu Technological University,Chengdu 611730,China)

        Managing the high-dimensional,large-scale data needs extremely high computational load.Traditional centralized indexing techniques apparently become impractical.To address the demanding needs caused by this rapidly growing,large-scale,and high-dimensional information ecology,a high-level distributed framework for searches and computations on tree indexing structures based on Map-Reduce in the Hadoop environment,MRCTree(Computation based on Map-Reduce on tree structures)is achieved.And then,two MKd-Tree(Kd-Tree based on Map-Reduce)index structures based on MRC-Tree framework,OMKd-Tree(Build one distributed Kd-Tree based on Map-Reduce)and MMKd-tree(Build multiple Kd-Trees by splitting data equally based on Map-Reduce)are proposed.Finally,the theoretical analysis and experiment results illustrate that the methods are highly effective and extensible to the similarity search in high-dimensional data environment.

        high-demensional database;graph data;index structure;distributed tree index structure framework;Map-Reduce framework;MKd-Tree

        date:2013-01-05;Revised date:2013-06-18

        ??通訊作者:tinglei.uestc@gmail.comCorresponding author:tinglei.uestc@gmail.com

        TP391

        A

        1001-893X(2013)07-0909-08

        雷婷(1981—),女,湖南郴州人,碩士,講師,CCF會(huì)員,主要研究方向?yàn)楹A繑?shù)據(jù)挖掘、云計(jì)算。

        10.3969/j.issn.1001-893x.2013.07.017

        2013-01-05;

        2013-06-18

        猜你喜歡
        樹(shù)形分布式檢索
        花光卉影
        花卉(2024年1期)2024-01-16 11:29:12
        蘋(píng)果高光效樹(shù)形改造綜合配套技術(shù)
        2019年第4-6期便捷檢索目錄
        獼猴桃樹(shù)形培養(yǎng)和修剪技術(shù)
        休眠季榆葉梅自然開(kāi)心樹(shù)形的整形修剪
        分布式光伏熱錢(qián)洶涌
        能源(2017年10期)2017-12-20 05:54:07
        分布式光伏:爆發(fā)還是徘徊
        能源(2017年5期)2017-07-06 09:25:54
        專(zhuān)利檢索中“語(yǔ)義”的表現(xiàn)
        基于DDS的分布式三維協(xié)同仿真研究
        西門(mén)子 分布式I/O Simatic ET 200AL
        亚洲av无码国产综合专区| 亚洲精品天堂在线观看| 国产高清一区二区三区视频| 国产精品视频白浆免费视频| 中国娇小与黑人巨大交| 日韩一区三区av在线| 色佬精品免费在线视频| 内射人妻视频国内| 亚洲av片不卡无码久久| 久久精品国产亚洲AV香蕉吃奶| 麻豆国产成人av高清在线| 亚洲一区二区三区日本久久九| 人妻仑乱a级毛片免费看| 福利视频一二三在线观看| 亚洲成a人网站在线看| 国产高清在线精品一区不卡| 操风骚人妻沉沦中文字幕| 精品无码国产一区二区三区av| 精品性高朝久久久久久久| 成人av天堂一区二区| 国产成人精品一区二区不卡| 国产a级毛片久久久精品毛片| 又紧又大又爽精品一区二区| 999久久久无码国产精品| 色欲AV成人无码精品无码| 日本一区二区高清视频在线| 澳门蜜桃av成人av| 自愉自愉产区二十四区| 纯肉无遮挡H肉动漫在线观看国产 国产精品自产拍在线观看免费 | 97高清国语自产拍| 久久精品中文字幕极品| 国产精品丝袜一区二区三区在线| 久草视频这里只有精品| 777米奇色狠狠俺去啦| 人妻被黑人粗大的猛烈进出| 亚洲精品天堂在线观看| 成人性生交大片免费5| 777精品出轨人妻国产| 亚洲av无码男人的天堂在线| 亚洲av福利天堂在线观看| 久久一区二区三区少妇人妻|