亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種采用雙key值的高維索引結(jié)構(gòu)構(gòu)建方法和檢索方法

文檔序號(hào):6508455閱讀:257來源:國(guó)知局
一種采用雙key值的高維索引結(jié)構(gòu)構(gòu)建方法和檢索方法
【專利摘要】本發(fā)明公開了一種采用雙key值的高維索引結(jié)構(gòu)構(gòu)建方法和檢索方法。在本發(fā)明中,提出了一種采用雙key值的高維到一維轉(zhuǎn)換索引結(jié)構(gòu)DKB-tree,它在高維空間中選取兩個(gè)參考點(diǎn)將高維空間中的各高維向量映射為雙一維key值,統(tǒng)一選取采用相同參考點(diǎn)得到的某一key值作為主key,另一key值作為輔key,每個(gè)主key都綁定一個(gè)指向其對(duì)應(yīng)輔key的指針,每個(gè)輔key都綁定一個(gè)指向其對(duì)應(yīng)高維向量的指針。進(jìn)行檢索時(shí),通過主key實(shí)現(xiàn)第一層過濾,通過輔key實(shí)現(xiàn)再一次過濾。本發(fā)明提出的DKB-tree通過簡(jiǎn)單的雙key值大小比較,大大地減少了相似度匹配的運(yùn)算量,加快檢索速度。
【專利說明】一種采用雙key值的高維索引結(jié)構(gòu)構(gòu)建方法和檢索方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于多媒體信息檢索、智能信息處理、數(shù)據(jù)挖掘等數(shù)據(jù)處理領(lǐng)域,具體涉及的是一種采用雙key值的高維索引結(jié)構(gòu)構(gòu)建方法和一種采用雙key值的高維向量檢索方法。
【背景技術(shù)】
[0002]隨著計(jì)算機(jī)和信息技術(shù)的發(fā)展,產(chǎn)生了海量的多媒體數(shù)據(jù),如何在海量的多媒體數(shù)據(jù)庫(kù)中快速找到所需的信息是當(dāng)前多媒體數(shù)據(jù)庫(kù)領(lǐng)域研究的一個(gè)重點(diǎn)問題。傳統(tǒng)的方法是由人工對(duì)多媒體數(shù)據(jù)進(jìn)行標(biāo)注,然后通過文本檢索來實(shí)現(xiàn)多媒體信息檢索。然而人工標(biāo)注存在工作量大和主觀性強(qiáng)的缺陷,對(duì)于爆炸式增長(zhǎng)的多媒體數(shù)據(jù)來說,完全人工標(biāo)注是不可實(shí)現(xiàn)的,因此需要研究基于內(nèi)容的多媒體信息檢索技術(shù)。
[0003]實(shí)現(xiàn)基于內(nèi)容的多媒體信息檢索的技術(shù)路線是:通過特征變換,將多媒體數(shù)據(jù)映射到高維空間中的點(diǎn)——特征向量,用該特征向量來描述多媒體對(duì)象,得到特征庫(kù);然后用同樣的特征變換方法來提取查詢對(duì)象的特征向量,最后通過特征向量間的相似度匹配來實(shí)現(xiàn)多媒體信息的相似檢索。因此多媒體信息的相似檢索轉(zhuǎn)變?yōu)樵诟呔S特征空間中尋找與給定查詢點(diǎn)最近的點(diǎn)集的過程。
[0004]要在高維空間中尋找與給定查詢點(diǎn)最相近的點(diǎn)集,最簡(jiǎn)單直觀的方法就是順序掃描,即依次將特征庫(kù)中的每個(gè)特征(高維向量)與查詢點(diǎn)進(jìn)行相似度匹配,返回最匹配的那些特征點(diǎn)集,得到檢索結(jié)果。順序掃描隨著特征庫(kù)中特征數(shù)目和特征維度的增加,計(jì)算消耗時(shí)間線性增大,當(dāng)特征庫(kù)中的特征數(shù)目很大時(shí),順序掃描將不能滿足實(shí)時(shí)性需求。為了加快檢索速度,需借助于高維索引技術(shù)。
[0005]為了實(shí)現(xiàn)對(duì)海量高維向量的管理,研究者們提出了大量的索引結(jié)構(gòu),其中最為經(jīng)典的是以R-tree為代表的R-tree家族系列索引結(jié)構(gòu)。R-tree是20世紀(jì)80年代由Guttman提出的一種索引結(jié)構(gòu),它是一種利用樹結(jié)構(gòu)管理數(shù)據(jù)的高度平衡樹,每個(gè)節(jié)點(diǎn)用該節(jié)點(diǎn)中所有數(shù)據(jù)的最小外接矩形(MBR:Minimal Bounding Rectangle)來表示,實(shí)際數(shù)據(jù)僅出現(xiàn)在葉子節(jié)點(diǎn)中。在查詢過程中,從根節(jié)點(diǎn)層到葉子節(jié)點(diǎn)層進(jìn)行向下搜索,通過計(jì)算查詢向量和各節(jié)點(diǎn)MBR之間的最小距離來判斷查詢范圍是否與某節(jié)點(diǎn)相交來實(shí)現(xiàn)剪枝過濾,僅搜索可能包含結(jié)果的子樹,從而加快檢索速度。該索引結(jié)構(gòu)允許節(jié)點(diǎn)之間的空間重疊,影響了其查詢效率。為了提高R-tree的性能,研究者們相續(xù)提出了 R+-tree、R*-tree, SS-tree、SR-tree、X-tree、A-tree等索引結(jié)構(gòu)。但這些樹型索引結(jié)構(gòu)隨著特征維度的增加,查詢效率急劇下降,甚至不如順序掃描,這就是所謂的“維數(shù)災(zāi)難”。
[0006]除了樹型結(jié)構(gòu)之外,還存在高維到一維轉(zhuǎn)換的索引結(jié)構(gòu),例如:金字塔技術(shù)、NB-tree、iDistance、iMinMax等等。高維到一維轉(zhuǎn)換的索引結(jié)構(gòu)通過某種規(guī)則,將高維向量映射為一維數(shù)據(jù)(稱為key值),然后采用一維的B+_tree來管理這些key值,key值在B+-tree的葉子節(jié)點(diǎn)層有序排列。進(jìn)行查詢時(shí),首先通過相同的高維到一維轉(zhuǎn)換規(guī)則計(jì)算查詢向量的查詢key值,最后根據(jù)查詢范圍,確定搜索的key值起始位置和結(jié)束位置,并依次掃描這些key值對(duì)應(yīng)的高維向量,計(jì)算查詢向量與這些高維向量間的相似性,返回那些最相似的高維向量集,得到檢索結(jié)果。由查詢過程可知,高維到一維轉(zhuǎn)換的索引結(jié)構(gòu)在任何情況下性能均優(yōu)于或等效于順序掃描,且基于前人的大量實(shí)驗(yàn)表明,這類索引結(jié)構(gòu)隨維數(shù)和數(shù)據(jù)量的增加,性能降低緩慢。
[0007]金字塔技術(shù)、NB-tree、iDistance、iMinMax等這些高維到一維轉(zhuǎn)換索引結(jié)構(gòu)通過單一 key值的簡(jiǎn)單比較實(shí)現(xiàn)過濾剪枝,雖然不需要復(fù)雜的距離計(jì)算且具有較高的檢索效率,但高維到一維轉(zhuǎn)換的過程能夠引起大量的數(shù)據(jù)信息丟失,引起不同向量可能具有相同的一維key值,因此通過單一 key值僅能過濾比例不大的一部分?jǐn)?shù)據(jù),導(dǎo)致最終相似度匹配過程的運(yùn)算量仍然很大,查詢開銷依然不小。

【發(fā)明內(nèi)容】

[0008]本發(fā)明的目的在于提出了一種采用雙key值的高維索引結(jié)構(gòu)構(gòu)建方法和一種采用雙key值的高維向量檢索方法,構(gòu)建高維索引結(jié)構(gòu)時(shí)將每個(gè)高維向量映射為雙一維key值,在B+_tree的基礎(chǔ)上增加了一層key值過濾層,檢索時(shí)能夠進(jìn)一步通過簡(jiǎn)單的key值比較實(shí)現(xiàn)再次過濾,大大地減少了與查詢向量進(jìn)行相似度匹配運(yùn)算的高維向量數(shù)目,從而減少了相似度匹配的運(yùn)算量,加快檢索速度。
[0009]本發(fā)明的總體思想如下:首先在高維空間中選取兩個(gè)參考點(diǎn),然后采用該高維空間中各高維向量對(duì)這兩個(gè)參考點(diǎn)間的距離將高維向量映射為雙一維key值,統(tǒng)一選取該高維空間中采用相同參考點(diǎn)得到的某一 key值作為主key,另一作為輔key,最后,分別采用該高維空間中的所有主key構(gòu)建B+_tree,同時(shí)B+_tree葉子節(jié)點(diǎn)層(即DKB-tree的主key層)的每個(gè)主key都綁定一個(gè)指向其對(duì)應(yīng)輔key的指針,所有輔key形成DKB-tree的輔key層,每個(gè)輔key都綁定一個(gè)指向其對(duì)應(yīng)高維向量的指針,這些高維向量根據(jù)輔key層其對(duì)應(yīng)輔key的排列順序按序存儲(chǔ),形成DKB-tree索引結(jié)構(gòu)。進(jìn)行檢索時(shí),首先使用相同的映射方法將查詢向量映射為查詢主key和查詢輔key,然后通過查詢主key和查詢范圍確定在DKB-tree主key層的搜索范圍,將對(duì)應(yīng)主key在搜索范圍外的高維向量直接過濾,實(shí)現(xiàn)第一層key值過濾,最后通過查詢輔key和查詢范圍確定輔key的搜索范圍,只需對(duì)經(jīng)主key過濾后其輔key在輔key搜索范圍內(nèi)的那些高維向量與查詢向量間進(jìn)行相似度匹配計(jì)算,通過輔key實(shí)現(xiàn)再次過濾,返回那些在查詢范圍內(nèi)的向量集,得到檢索結(jié)果。
[0010]具體創(chuàng)新點(diǎn):為高維空間中的每個(gè)高維向量選取兩個(gè)參考點(diǎn)得到雙一維key值,通過兩次簡(jiǎn)單的key值比較,大大地減少了最終參與相似度匹配運(yùn)算的高維向量數(shù)目,顯著地加快了查詢速度。
[0011]一種采用雙key值的高維索引結(jié)構(gòu)構(gòu)建方法,本發(fā)明的具體方法步驟為:(I)在高維空間中選取兩個(gè)參考點(diǎn);(2)將高維空間中的各高維向量利用高維向量與這兩個(gè)參考點(diǎn)間的距離映射為雙一維key值,統(tǒng)一選取該高維空間中采用相同參考點(diǎn)得到的某一 key值作為主key,另一 key值作為輔key ; (3)逐一將這些高維向量和對(duì)應(yīng)的主key、輔key插入到DKB-tree中,該DKB-tree采用B+_tree管理上層的主key值,B+_tree葉子節(jié)點(diǎn)層的所有主key形成DKB-tree的主key層,同時(shí)主key層的每個(gè)主key都綁定一個(gè)指向其對(duì)應(yīng)輔key的指針,每個(gè)主key節(jié)點(diǎn)對(duì)應(yīng)一個(gè)輔key節(jié)點(diǎn),所有輔key形成DKB-tree的輔key層,每個(gè)輔key都綁定一個(gè)指向其對(duì)應(yīng)高維向量的指針,這些高維向量根據(jù)輔key層其對(duì)應(yīng)輔key的排列順序按序存儲(chǔ);插入的方法為根據(jù)待插入高維向量的主key大小定位其應(yīng)插入到DKB-tree主key層的某一節(jié)點(diǎn)中,如果該節(jié)點(diǎn)未滿,貝U直接將該主key插入到該節(jié)點(diǎn)中,其輔key按照主key的排列順序插入到該節(jié)點(diǎn)對(duì)應(yīng)的輔key節(jié)點(diǎn)中,待插入特征向量按照輔key的排列順序插入到該輔key節(jié)點(diǎn)對(duì)應(yīng)的高維向量存儲(chǔ)位置處,并使該主key產(chǎn)生指向其對(duì)應(yīng)輔key的指針,其對(duì)應(yīng)輔key產(chǎn)生指向待插入高維向量的指針,更新主key所在節(jié)點(diǎn)對(duì)應(yīng)的父節(jié)點(diǎn)key值;如果該節(jié)點(diǎn)已滿,再判斷該節(jié)點(diǎn)的左右兄弟節(jié)點(diǎn)是否存在未滿的情況,若存在,則結(jié)合其左右兄弟節(jié)點(diǎn),進(jìn)行待插入高維向量和其對(duì)應(yīng)主key、輔key值的插入,并更新其父節(jié)點(diǎn)對(duì)應(yīng)的key值;若其左右兄弟節(jié)點(diǎn)均滿,則結(jié)合待插入高維向量的主key值,直接對(duì)該節(jié)點(diǎn)進(jìn)行分裂,同時(shí)對(duì)該節(jié)點(diǎn)對(duì)應(yīng)的輔key節(jié)點(diǎn)進(jìn)行對(duì)應(yīng)位置處的輔key插入和分裂,及將待插入高維向量插入到對(duì)應(yīng)的高維向量存儲(chǔ)位置處,并將分裂后新產(chǎn)生的主key節(jié)點(diǎn)插入到其父節(jié)點(diǎn)中,更新其父節(jié)點(diǎn)對(duì)應(yīng)的key值,如果父節(jié)點(diǎn)也已滿,分裂過程繼續(xù)向上傳遞,并更新對(duì)應(yīng)的父key值,直到根節(jié)點(diǎn)處,產(chǎn)生新的根節(jié)點(diǎn)。
[0012]更進(jìn)一步,步驟I中所述的兩個(gè)參考點(diǎn)的選取,包括可選取原點(diǎn)和數(shù)據(jù)分布中心為參考點(diǎn)。
[0013]更進(jìn)一步,步驟2中所述的距離包括歐式距離、街區(qū)距離。
[0014]一種采用雙key值的高維向量檢索方法,采用上述的一種采用雙key值的高維索引結(jié)構(gòu)構(gòu)建方法,實(shí)現(xiàn)DKB-tree的構(gòu)建,進(jìn)行檢索時(shí),檢索步驟包括:(I)使用與DKB-tree構(gòu)建方法相同的映射方法將查詢向量映射為查詢主key和查詢輔key ; (2)通過查詢主key和查詢范圍確定在DKB-tree主key層的搜索范圍,將那些對(duì)應(yīng)主key值在搜索范圍外的所有高維向量直接過濾掉;(3)然后通過查詢輔key和查詢范圍確定輔key的搜索范圍,對(duì)經(jīng)主key過濾后其輔key值在輔key搜索范圍內(nèi)的那些高維特征與查詢向量間進(jìn)行相似度匹配計(jì)算,將符合查詢范圍的高維向量返回,得到檢索結(jié)果。
[0015]再進(jìn)一步,采用上述檢索方法進(jìn)行檢索時(shí),可采用范圍查詢,也可以采用k近鄰查詢。
[0016]再進(jìn)一步,上述檢索方法所述的查詢范圍,對(duì)于范圍查詢來說,是由查詢半徑來確定的,對(duì)于k近鄰查詢來說是由按某一步長(zhǎng)遞增的查詢半徑來確定的,直到第k個(gè)近鄰到查詢向量的距離值小于查詢半徑為止。
【專利附圖】

【附圖說明】
[0017]此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實(shí)施實(shí)例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0018]圖1本發(fā)明所述索引結(jié)構(gòu)構(gòu)建方法的流程圖
[0019]圖2本發(fā)明所述索引結(jié)構(gòu)的示例圖
[0020]圖3本發(fā)明所述檢索方法的流程圖
[0021]圖4本發(fā)明所述檢索方法進(jìn)行范圍查詢的框圖
[0022]圖5本發(fā)明所述檢索方法進(jìn)行k近鄰查詢的框圖
【具體實(shí)施方式】[0023]為了使本發(fā)明所需解決的技術(shù)問題、技術(shù)方案更加清楚、明白,下面結(jié)合附圖和實(shí)施實(shí)例對(duì)本發(fā)明的【具體實(shí)施方式】做進(jìn)一步說明。
[0024]本發(fā)明實(shí)施實(shí)例提供的一種采用雙key值的高維索引結(jié)構(gòu)構(gòu)建方法其流程圖如圖1所示:
[0025]首先,在高維向量集所在的高維空間中選取兩個(gè)參考點(diǎn);其次,逐一計(jì)算高維向量集中每個(gè)高維向量與這兩個(gè)參考點(diǎn)間的距離,得到每個(gè)高維向量對(duì)應(yīng)的雙一維key值;然后,統(tǒng)一選取該高維向量集中某一采用相同參考點(diǎn)得到的key值作為主key,另一 key值作為輔key ;最后,逐一將這些高維向量對(duì)應(yīng)的主key插入到DKB-tree其上層B+_tree的葉子節(jié)點(diǎn)中,輔key插入到其主key對(duì)應(yīng)的輔key節(jié)點(diǎn)中,高維向量按照輔key的排列順序插入到對(duì)應(yīng)的存儲(chǔ)位置處,主key綁定指向其對(duì)應(yīng)輔key的指針,輔key綁定指向其對(duì)應(yīng)高維向量的指針,形成DKB-tree索引結(jié)構(gòu)。該DKB-tree采用B+_tree管理上層的主key值,同時(shí)B+_tree葉子節(jié)點(diǎn)層(也即DKB-tree主key層)的每個(gè)主key都綁定一個(gè)指向其對(duì)應(yīng)輔key的指針,所有輔key形成DKB-tree的輔key層,每個(gè)輔key都綁定一個(gè)指向其對(duì)應(yīng)高維向量的指針,這些高維向量根據(jù)輔key層其對(duì)應(yīng)輔key的排列順序按序存儲(chǔ),圖2給出了本發(fā)明所述索引結(jié)構(gòu)的示例圖。
[0026]在本發(fā)明所述索引結(jié)構(gòu)中進(jìn)行高維向量和對(duì)應(yīng)的主key、輔key的插入方法為:根據(jù)待插入高維向量的主key大小定位其應(yīng)插入到DKB-tree主key層(即上層B+_tree葉子節(jié)點(diǎn)層)的某一節(jié)點(diǎn)中,根據(jù)該節(jié)點(diǎn)是否已滿,相應(yīng)的按如下方法進(jìn)行處理:
[0027](a)如果該節(jié)點(diǎn)未滿,貝U直接將主key插入到該節(jié)點(diǎn)中,其輔key按照主key的排列順序插入到該節(jié)點(diǎn)對(duì)應(yīng)的輔key節(jié)點(diǎn)中,待插入特征向量按照輔key的排列順序插入到該輔key節(jié)點(diǎn)對(duì)應(yīng)的高維向量存儲(chǔ)位置處,并使該主key產(chǎn)生指向其對(duì)應(yīng)輔key的指針,其對(duì)應(yīng)輔key產(chǎn)生指向待插入高維向量的指針,更新主key所在節(jié)點(diǎn)對(duì)應(yīng)的父節(jié)點(diǎn)key值。
[0028](b)如果該節(jié)點(diǎn)已滿,又分為如下兩種處理方法:
[0029](bl)判斷該節(jié)點(diǎn)的左兄弟節(jié)點(diǎn)是否已滿,若未滿,則按照主key值的大小,將本節(jié)點(diǎn)和待插入主key中的最小主key移動(dòng)到其左兄弟節(jié)點(diǎn)中,同時(shí)對(duì)應(yīng)的將該最小主key的輔key也移動(dòng)到其左兄弟節(jié)點(diǎn)對(duì)應(yīng)的輔key節(jié)點(diǎn)中,然后將待插入主key、輔key和特征向量按(a)步驟進(jìn)行插入,并更新對(duì)應(yīng)的父節(jié)點(diǎn)key值。若其左兄弟節(jié)點(diǎn)已滿,則判斷其右兄弟節(jié)點(diǎn)是否已滿,若未滿,貝1J按照主key值的大小,將本節(jié)點(diǎn)和待插入主key中的最大主key移動(dòng)到其右兄弟節(jié)點(diǎn)中,同時(shí)對(duì)應(yīng)的將該最大主key的輔key也移動(dòng)到其右兄弟節(jié)點(diǎn)對(duì)應(yīng)的輔key節(jié)點(diǎn)中,然后將待插入主key、輔key和特征向量按(a)步驟進(jìn)行插入,并更新對(duì)應(yīng)的父節(jié)點(diǎn)key值。
[0030](b2)其左右兄弟節(jié)點(diǎn)均滿時(shí),則結(jié)合待插入高維向量的主key值,直接對(duì)本節(jié)點(diǎn)進(jìn)行分裂,同時(shí)對(duì)該節(jié)點(diǎn)對(duì)應(yīng)的輔key節(jié)點(diǎn)進(jìn)行對(duì)應(yīng)位置處的輔key插入和分裂,及將待插入高維向量插入到對(duì)應(yīng)的高維向量存儲(chǔ)位置處,并將分裂后新產(chǎn)生的主key節(jié)點(diǎn)插入到其父節(jié)點(diǎn)中,更新其父節(jié)點(diǎn)對(duì)應(yīng)的key值,如果父節(jié)點(diǎn)也已滿,分裂過程繼續(xù)向上傳遞,并更新對(duì)應(yīng)的父key值,直到根節(jié)點(diǎn)處,產(chǎn)生新的根節(jié)點(diǎn)。
[0031 ] 本發(fā)明實(shí)施實(shí)例還提供了 一種上述索弓I結(jié)構(gòu)的檢索方法,在進(jìn)行檢索時(shí),首先采用與上述索引結(jié)構(gòu)相同的高維向量到雙key值的映射規(guī)則,計(jì)算查詢向量和兩個(gè)參考點(diǎn)間的距離,得到查詢主key和查詢輔key ;然后根據(jù)查詢主key和查詢范圍,確定在DKB-tree主key層的主key搜索范圍,得到主key層的掃描起始位置和結(jié)束位置,將主key值在主key搜索范圍之外的那些高維向量直接過濾掉,實(shí)現(xiàn)第一層key值過濾,并根據(jù)查詢輔key和查詢范圍,確定在DKB-tree輔key層的輔key搜索范圍;最后,從主key層的掃描起始位置到結(jié)束位置,逐一進(jìn)行主key值掃描,判斷該主key對(duì)應(yīng)的輔key是否在輔key搜索范圍之內(nèi),若在搜索范圍之內(nèi),則計(jì)算該輔key對(duì)應(yīng)的高維向量與查詢向量之間的距離,將滿足檢索結(jié)果的高維向量返回,否則直接將該輔key對(duì)應(yīng)的高維向量進(jìn)行過濾,實(shí)現(xiàn)第二層key值過濾。
[0032]本發(fā)明所述的檢索方式包括范圍查詢和k近鄰查詢,范圍查詢的流程圖如圖2所示,k近鄰查詢的流程圖如圖3所示。由圖3可知,k近鄰查詢是通過范圍查詢來實(shí)現(xiàn)。
[0033]上述高維向量可以是圖像、視頻、音頻的特征向量。
[0034]應(yīng)當(dāng)理解的是,上述針對(duì)實(shí)施實(shí)例的描述較為具體,并不能因此而認(rèn)為是對(duì)本發(fā)明專利保護(hù)范圍的限制,本發(fā)明的專利保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種采用雙key值的高維索引結(jié)構(gòu)構(gòu)建方法,其特征在于具體步驟如下: 1)在聞維空間中選取兩個(gè)參考點(diǎn); 2)將高維空間中的各高維向量利用高維向量與這兩個(gè)參考點(diǎn)間的距離映射為雙一維key值,統(tǒng)一選取該高維空間中采用相同參考點(diǎn)得到的某一 key值作為主key,另一 key值作為輔key ; 3)然后逐一將這些高維向量和對(duì)應(yīng)的主key、輔key插入到DKB_tree中,該DKB_tree采用B+_tree管理上層的主key值,B+_tree葉子節(jié)點(diǎn)層的所有主key形成DKB-tree的主key層,同時(shí)主key層的每個(gè)主key都綁定一個(gè)指向其對(duì)應(yīng)輔key的指針,每個(gè)主key節(jié)點(diǎn)對(duì)應(yīng)一個(gè)輔key節(jié)點(diǎn),所有輔key形成DKB-tree的輔key層,每個(gè)輔key都綁定一個(gè)指向其對(duì)應(yīng)高維向量的指針,這些高維向量根據(jù)輔key層其對(duì)應(yīng)輔key的排列順序按序存儲(chǔ);插入的方法為根據(jù)待插入高維向量的主key大小定位其應(yīng)插入到DKB-tree主key層的某一節(jié)點(diǎn)中,根據(jù)該節(jié)點(diǎn)及其兄弟節(jié)點(diǎn)是否已滿,處理的方法為: 31)首先判斷該節(jié)點(diǎn)是否已滿,如果該節(jié)點(diǎn)未滿,則直接將該主key插入到該節(jié)點(diǎn)中,其輔key按照主key的排列順序插入到該節(jié)點(diǎn)對(duì)應(yīng)的輔key節(jié)點(diǎn)中,待插入特征向量按照輔key的排列順序插入到該輔key節(jié)點(diǎn)對(duì)應(yīng)的高維向量存儲(chǔ)位置處,并使該主key產(chǎn)生指向其對(duì)應(yīng)輔key的指針,其對(duì)應(yīng)輔key產(chǎn)生指向待插入高維向量的指針,更新主key所在節(jié)點(diǎn)對(duì)應(yīng)的父節(jié)點(diǎn)key值; 32)如果該節(jié)點(diǎn)已滿,再判斷該節(jié)點(diǎn)的左右兄弟節(jié)點(diǎn)是否存在未滿的情況,若存在,則結(jié)合其左右兄弟節(jié)點(diǎn),進(jìn)行待插入高維向量和其對(duì)應(yīng)主key、輔key值的插入,并更新其父節(jié)點(diǎn)對(duì)應(yīng)的key值; 33)若該節(jié)點(diǎn)及其左`右兄弟節(jié)點(diǎn)均滿,則結(jié)合待插入高維向量的主key值,直接對(duì)該節(jié)點(diǎn)進(jìn)行分裂,同時(shí)對(duì)該節(jié)點(diǎn)對(duì)應(yīng)的輔key節(jié)點(diǎn)進(jìn)行對(duì)應(yīng)位置處的輔key插入和分裂,及將待插入高維向量插入到對(duì)應(yīng)的高維向量存儲(chǔ)位置處,并將分裂后新產(chǎn)生的主key節(jié)點(diǎn)插入到其父節(jié)點(diǎn)中,更新其父節(jié)點(diǎn)對(duì)應(yīng)的key值,如果父節(jié)點(diǎn)也已滿,分裂過程繼續(xù)向上傳遞,并更新對(duì)應(yīng)的父key值,直到根節(jié)點(diǎn)處,產(chǎn)生新的根節(jié)點(diǎn)。
2.如權(quán)利要求1所述的方法,其特征在于:步驟I中所述的選取兩個(gè)參考點(diǎn),包括選取原點(diǎn)和數(shù)據(jù)分布中心為參考點(diǎn)。
3.如權(quán)利要求1所述的方法,其特征在于:步驟2中所述的距離包括歐式距離、街區(qū)距離。
4.一種采用雙key值的高維向量檢索方法,其特征在于:采用了如權(quán)利要求1所述的一種采用雙key值的高維索引結(jié)構(gòu)構(gòu)建方法,實(shí)現(xiàn)DKB-tree的構(gòu)建,進(jìn)行檢索時(shí),檢索步驟包括: 步驟一:采用如權(quán)利要求1步驟I所述的兩個(gè)參考點(diǎn)和權(quán)利要求1步驟2所述的距離映射方法將查詢向量映射為查詢主key和查詢輔key ; 步驟二:通過查詢主key和查詢范圍確定在DKB-tree主key層的搜索范圍,將那些對(duì)應(yīng)主key值在搜索范圍外的所有高維向量直接過濾掉; 步驟三:然后通過查詢輔key和查詢范圍確定輔key的搜索范圍,對(duì)經(jīng)主key過濾后其輔key值在輔key搜索范圍內(nèi)的那些高維向量與查詢向量間進(jìn)行相似度匹配計(jì)算,將符合查詢范圍的高維向量返回,得到檢索結(jié)果。
5.如權(quán)利要求4所述的檢索方法,其特征在于:進(jìn)行檢索時(shí),可采用范圍查詢,也可采用k近鄰查詢。
6.如權(quán)利要求4所述的檢索方法,其特征在于:步驟二和步驟三所述的查詢范圍,對(duì)于范圍查詢來說,是由查詢半徑來確定的,對(duì)于k近鄰查詢來說是由按某一步長(zhǎng)遞增的查詢半徑來確定的,直到 第k個(gè)近鄰到查詢向量的距離值小于查詢半徑為止。
【文檔編號(hào)】G06F17/30GK103514263SQ201310365383
【公開日】2014年1月15日 申請(qǐng)日期:2013年8月21日 優(yōu)先權(quán)日:2013年8月21日
【發(fā)明者】楊麗芳, 黃祥林, 呂銳, 王永濱 申請(qǐng)人:中國(guó)傳媒大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1