一種分布式環(huán)境下基于度量空間的top?k支配查詢方法
【專利摘要】本發(fā)明公開一種分布式環(huán)境下基于度量空間的top?k支配查詢方法,依次包括以下步驟:步驟1:給定查詢輸入集合Q以及度量空間中的距離公式d(),距離公式用來衡量整個(gè)數(shù)據(jù)對(duì)象與查詢對(duì)象Q之間的距離;步驟2:根據(jù)步驟1提出基于集合ANN和k?skyband并行算法。通過在分布式環(huán)境下充分利用各個(gè)節(jié)點(diǎn)之間的并行計(jì)算的特點(diǎn),通過剪枝、排序極大的改善了在大數(shù)據(jù)集環(huán)境下基于度量空間的top?k支配查詢性能,加快查詢速度,為用戶的決策提供服務(wù)。
【專利說明】
一種分布式環(huán)境下基于度量空間的top-k支配查詢方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及一種查詢方法,具體涉及一種在海量數(shù)據(jù)集中分布式環(huán)境下基于度量 空間的并行top-k支配查詢方法。
【背景技術(shù)】
[0002] 基于度量空間的t〇p-k支配查詢作為一種重要的復(fù)雜查詢?cè)絹碓降玫礁嗟年P(guān) 注,它從海量多維數(shù)據(jù)集中返回一部分滿足用戶需求的數(shù)據(jù)。這種類型的查詢?yōu)橛脩籼峁?決策,例如在網(wǎng)頁搜索、多媒體檢索、電子商務(wù)等領(lǐng)域有廣泛的應(yīng)用。該查詢不需要用戶給 定評(píng)價(jià)函數(shù)且結(jié)果集可控,計(jì)算每個(gè)對(duì)象支配分?jǐn)?shù),返回支配分?jǐn)?shù)最高的k個(gè)結(jié)果集。
[0003] 基于度量空間的top-k支配查詢定義如下:用0={〇1,〇2,…,〇n}表示所有數(shù)據(jù)對(duì)象 的集合, 〇1表示其中第i個(gè)數(shù)據(jù)對(duì)象,每個(gè)數(shù)據(jù)對(duì)象有D維,且都是空間中的一個(gè)點(diǎn)。對(duì)于一 個(gè)度量空間的top-k支配查詢,Q表示查詢輸入集合,d〇表示度量空間中距離公式,這種距 離公式可以自己定義,例如圖中的最短路徑、網(wǎng)絡(luò)中的最大流量、曼哈頓距離等,k表示返回 支配分?jǐn)?shù)最高的k個(gè)結(jié)果。支配含義是:若存在 〇1£0,〇1,£0,用符號(hào)<表示兩個(gè)對(duì)象之間的 支配關(guān)系,若〇i<〇r,貝1J有:
[0004] (V/' 6 〇,〇,[]} ^ 〇v [./]) a (3j e D,o{j} < [7])
[0005] 給定一個(gè)數(shù)據(jù)對(duì)象〇iG〇,對(duì)象〇i的支配分?jǐn)?shù)dscore為整個(gè)數(shù)據(jù)集中被它支配對(duì)象 的個(gè)數(shù),如下:
[0006] dscore= | {〇j G 01 〇i<〇j} |
[0007] 基于度量空間的top-k支配查詢最后只要得到支配分?jǐn)?shù)最高k個(gè)元素,是一種動(dòng)態(tài) 的top-k支配查詢。Tiakas E等人最先提出該概念,但也只是在傳統(tǒng)的單機(jī)模式下的研究, 目前隨著數(shù)據(jù)集急劇增加,傳統(tǒng)的單機(jī)算法遇到性能瓶頸,且Tiakas E等人使用M-tree這 種索引存儲(chǔ)結(jié)構(gòu)對(duì)于大數(shù)據(jù)集完全不適用,會(huì)導(dǎo)致大量的數(shù)據(jù)冗余,所以研究基于度量空 間的并行top-k支配算法迫在眉睫。
【發(fā)明內(nèi)容】
[0008] 發(fā)明目的:本發(fā)明的目的在于解決現(xiàn)有技術(shù)中存在的不足,提供及一種分布式環(huán) 境下基于度量空間的并行top-k支配查詢方法。
[0009] 技術(shù)方案:本發(fā)明所述的一種分布式環(huán)境下基于度量空間的并行top-k支配查詢 方法,依次包括以下順序執(zhí)行的步驟:
[0010] (1)給定查詢輸入數(shù)據(jù)對(duì)象集合Q以及度量空間中的距離公式d(),距離公式d()用 來衡量整個(gè)數(shù)據(jù)對(duì)象0與查詢輸入數(shù)據(jù)對(duì)象集合Q之間的距離;
[0011] (2)根據(jù)步驟(1)提出基于集合ANN和k-skyband并行算,該并行算法的具體內(nèi)容 為:
[0012] (21)利用 ANN(Q,k)剪枝:
[0013] 根據(jù)距離度量函數(shù)d()和查詢輸入Q計(jì)算所有數(shù)據(jù)對(duì)象與查詢輸入對(duì)象之間的距 離Deal_Data_RDD并將其保存在各個(gè)分區(qū)中然后每個(gè)分區(qū)單獨(dú)并行求解該分區(qū)的中ANN(Q, k),最后將每個(gè)分區(qū)的ANN(Q,k)結(jié)果通過reduce接口進(jìn)行篩選得到全局的ANN(Q,k);將獲 取的全局ANN(Q,k)廣播到各個(gè)節(jié)點(diǎn)上,利用ANN(Q,k)去過濾原始的數(shù)據(jù)集,最后得到候選 集以順(0,1〇_1^),1^順(0,1〇_1^)中一定包含最后的丨(^-1^支配結(jié)果集0,過濾的規(guī)則是不 被ANN(Q,k)中對(duì)象所支配;
[0014] (22)利用 k-skyband 剪枝:
[0015] 由于得到的KANN(Q,k)_RDD有可能非常的大,如果直接計(jì)算KANN(Q,k)_RDD中所有 對(duì)象的支配分?jǐn)?shù)也是非常耗時(shí)的,所以利用k-skyband思想,找到KANN(Q,k)_RDD中的k-skyband進(jìn)一步剪枝得到最終的候選集GlobalCandidate(k-skyband);
[0016] (23)獲取 top-k 支配:
[0017] 計(jì)算Global Candidate (k-skyband)中所有對(duì)象的支配分?jǐn)?shù),然后找出top-k個(gè)支 配分?jǐn)?shù)最高的,返回作為top-k支配結(jié)果。
[0018] 進(jìn)一步的,所述步驟(21)中,由于每個(gè)分區(qū)的ANN(Q,k)不一定是全局的ANN(Q,k), 則需要將各個(gè)分區(qū)的ANN(Q,k)一一比較距離的遠(yuǎn)近最終得到全局的ANN(Q,k)。
[0019] 進(jìn)一步的,所述步驟(23)的詳細(xì)內(nèi)容為:將步驟(22)中得到的候選集與原始數(shù)據(jù) 集進(jìn)行笛卡爾積運(yùn)算,然后使用Spark提供的ReduceByKey的API接口,得到每個(gè)候選集的支 配分?jǐn)?shù)。
[0020] 有益效果:本發(fā)明提供在分布式環(huán)境下基于度量空的t〇p-k支配查詢,并提出三種 分布式算法去求解top-k支配,通過在分布式環(huán)境下充分利用各個(gè)節(jié)點(diǎn)之間的并行計(jì)算的 特點(diǎn),通過剪枝、排序極大的改善在大數(shù)據(jù)集環(huán)境下基于度量空間的top-k支配查詢性能, 加快查詢速度,為用戶的決策提供服務(wù);具體包括以下優(yōu)點(diǎn):
[0021] (1)提出并行計(jì)算skyline方法,可以使每個(gè)分區(qū)都同時(shí)進(jìn)行求解skyline,這樣可 以快速求解sky 1 ine從而得到top-k支配結(jié)果集;
[0022] (2)提出并行計(jì)算k-skyband方法,每個(gè)分區(qū)單獨(dú)求解k-skyband,互不影響,利用 k-s ky band的特性不需要循環(huán)就可以得到結(jié)果;
[0023] (3)提出先利用集合ANN剪枝,然后并行計(jì)算k-skyband方法。有效的剪枝,減少了 數(shù)據(jù)之間的比較操作,從而加快了查詢速度。
【附圖說明】
[0024]圖1本發(fā)明中DAKDA算法的流程圖;
[0025] 圖2為實(shí)施例中k的大小對(duì)查詢影響示意圖;
[0026] 圖3為實(shí)施例中m的大小對(duì)查詢影響示意圖;
[0027] 圖4為實(shí)施例中c的大小查詢影響示意圖;
[0028] 圖5為本發(fā)明中各個(gè)算法的可擴(kuò)展性對(duì)比圖;
[0029] 圖6為本發(fā)明分布式處理圖;
[0030]圖7為本發(fā)明的示例圖。
【具體實(shí)施方式】
[0031]下面對(duì)本發(fā)明技術(shù)方案進(jìn)行詳細(xì)說明,但是本發(fā)明的保護(hù)范圍不局限于所述實(shí)施 例。
[0032]下文中所涉及符號(hào)和參數(shù)的定義如表1:
[0033] 表1符號(hào)說明
[0036]定義1 (KNN(q,k)):給定一個(gè)數(shù)據(jù)集0,d()為度量函數(shù),且〇G〇,對(duì)象0的1^_近鄰為 KNN(o,k),KNN(o,k)表不距離對(duì)象〇最近的k個(gè)對(duì)象。
[0037] 定義2(ANN(Q,k)):給定一個(gè)數(shù)據(jù)集0,d()為度量函數(shù),Q表示一組查詢輸入對(duì)象集 合Q={qi,q 2,…,qm},ANN(Q,k)表示距離Q最近的k個(gè)對(duì)象。選擇合理集合距離函數(shù)d()會(huì)影 響查詢,一般來說集合距離函數(shù)有:最小,最大,平均值等。
[0038] 定義3(度量空間中的支配):若(0,d())是一個(gè)度量空間,Q表示一組查詢輸入對(duì)象 集合Q= {qi,q2,"_,qm}。那么對(duì)于對(duì)象〇G〇,它與Q中所有對(duì)象距離集合為:
[0039] adist(o,Q) = {d(o,qi),d(o,q2),…,d(o,qm)}
[0040] 當(dāng)對(duì)象pGO,若〇<p,則有:
[0041 ] qj) < d{p, qt)) a (3/ g ) < i{p,q^
[0042] 這種支配是通過距離的大小來衡量的。
[0043] 定義4(基于度量的top-k支配):給定一組查詢輸入Q,和距離度量函數(shù)d()。根據(jù)度 量空間中的支配關(guān)系,若數(shù)據(jù)對(duì)象〇i G 0,對(duì)象〇i的支配分?jǐn)?shù)為:
[0044] dscore= | {pG〇|0<p} |,其中 回其中支配分?jǐn)?shù)最高的k個(gè)對(duì)象,就是基于度量空間的top-k支配查詢結(jié)果集。
[0045] 如圖7,所示,本實(shí)施例中的基于度量空間的top-k支配查詢,首先查詢輸入Q = {91,沿},使用的距離度量函數(shù)(1〇為歐氏距離4叩-1支配結(jié)果為〇1,因?yàn)?〇1到(11,(12的距離均 小于圓外(包括圓上)所有點(diǎn),只有〇 2對(duì)象不被〇1支配(因?yàn)閛jljqi距離小于〇1到91距離),如 果空間中有n個(gè)數(shù)據(jù)對(duì)象oi的支配分?jǐn)?shù)為dscore(oi) =n-l,而〇2至少不支配對(duì)象oi,〇3,所以 〇2 的支配分?jǐn)?shù) dscore(〇2Xn_2,則(18(:〇代(〇1)>(18(3(^6(〇2)所以1:(^-1支配為〇1。
[0046] 定義5(k_skyband)整個(gè)數(shù)據(jù)空間,3〇_e.0_?至多k_l個(gè)對(duì)象支配對(duì)象〇,這一系列〇組 成的集合就是k-skyband。
[0047] 定理1 :top_k支配結(jié)果集免-南*?獻(xiàn)。.
[0048] 證明.反證法,假設(shè)存在一個(gè)對(duì)象〇1GD,且支配〇1的對(duì)象個(gè)數(shù)〉k-1,因此一定存在k 個(gè)對(duì)象的支配分?jǐn)?shù)dscore彡o.dscore + 1,此時(shí)矛盾,因此top-k支配結(jié)果集 D e & -。得證。
[0049] 定理2:查詢輸入集合Q,ANN(Q,k)的k個(gè)對(duì)象{〇1,〇2,…,〇k} G0,由 V" e a Vo s叫,…七丨,《 < /,(其中 <表示不支配)組成集合KANN(Q,k),其中kANN(Q,k)包含 對(duì)象ANN(Q,k)本身,top-k支配結(jié)果集〇 E人。
[0050] 證明.設(shè)ANN(Q,1)查詢對(duì)象Q的1-近鄰對(duì)象為〇,因?yàn)镈-1ANN(Q,1)中所有的對(duì)象均 被對(duì)象〇所支配,所以top-1支配一定在1ANN(Q, 1)。若top-1支配不是對(duì)象〇,則由上可知支 配分?jǐn)?shù)第二高的對(duì)象一定在集合1ANN(Q,1)中;若top-1支配是對(duì)象〇,則由上可知支配分?jǐn)?shù) 第二高的對(duì)象一定在集合2ANN(Q,2)中,依次類推我們知道top-k支配結(jié)果集 /?£^!.\'.\, (!^)。得證。
[00511以下所有的算法均在spark平臺(tái)上實(shí)現(xiàn)::
[0052] (1)基于 skyline 的 top-k 支配算法(DSDA)
[0053]現(xiàn)有的DSDA中,首先將數(shù)據(jù)集隨機(jī)分配到各個(gè)節(jié)點(diǎn)中,然后使用spark中的 ]\&1卩口31'1:;[1:;[011接口,在]\&^口31'1:;[1:;[011接口中實(shí)現(xiàn)計(jì)算81^1;[116算法,這樣可以得到每個(gè)分區(qū) 的sky line,最后將每個(gè)分區(qū)的sky line兩兩比較獲取全局sky line,返回sky line中支配分 數(shù)最高的對(duì)象就是top-k支配的結(jié)果集。依次進(jìn)行k次循環(huán)就可以得到最終的結(jié)果集。
[0054] (2)基于 k-skyband 的 top-k 支配算法(DKDA)
[0055]現(xiàn)有的DKDA,將該算法在spark集群中并行化,并行算法的思想類似于sky 1 ine。根 據(jù)定理1可知top-k dominating結(jié)果集職I,所以先求k-skyband,然后從k_ skyband中返回支配分?jǐn)?shù)最高的k個(gè)對(duì)象為top-k dominating結(jié)果集。
[0056]首先將數(shù)據(jù)集隨機(jī)分配到各個(gè)節(jié)點(diǎn)中,然后使用spark中的Mappartition接口,在 Mappart it ion接口中實(shí)現(xiàn)計(jì)算k-skyband算法,這樣可以得到每個(gè)分區(qū)的k-skyband,最后 將每個(gè)分區(qū)的k-skyband兩兩比較獲取全局k-skyband,返回k-skyband中支配分?jǐn)?shù)最高的 對(duì)象就是top-k支配的結(jié)果集。該方法對(duì)比于skyline方法優(yōu)點(diǎn)在于不需要進(jìn)行k次循環(huán),但 是求解原始數(shù)據(jù)集的k-skyband非常耗時(shí)。(3)基于集合ANN剪枝和k-skyband的并行top-k 支配算法(DAKDA)
[0057] 由于算法1需要進(jìn)行k次循環(huán),導(dǎo)致查詢時(shí)間隨k增大而增大,而算法2求解原始數(shù) 據(jù)集k-skyband非常耗時(shí),所以本發(fā)明可以進(jìn)行剪枝。
[0058] 本發(fā)明中,根據(jù)定理1可知top-k支配結(jié)果集De/f-皿^,而根據(jù)定理2可知top-k支配結(jié)果集/> £ 。由于求解k-skyband比求解KANN(Q,k)費(fèi)時(shí),所以先利用集合 ANN去掉不是候選集的數(shù)據(jù),得到候選集KANN(Q,k),然后求解KANN(Q,k)中的k-skyband,最 后從k-skyband中返回支配分?jǐn)?shù)最高的k個(gè)結(jié)果為top-k支配。步驟如圖1所示:
[0059] 步驟1:利用ANN(Q,k)剪枝
[0060]如下圖1階段一所示,需要根據(jù)距離度量函數(shù)d()和查詢輸入Q對(duì)數(shù)據(jù)進(jìn)行處理得 到各個(gè)對(duì)象與查詢對(duì)象之間的距離Deal_Data_RDD保存在各個(gè)分區(qū)中,然后求每個(gè)分區(qū)的 中ANN(Q,k),最后得到全局的ANN(Q,k)。利用全局的ANN(Q,k)去filter原始的數(shù)據(jù)集得到 候選集KANN(Q,k)_RDD,根據(jù)定理2可以知道KANN(Q,k)_RDD中一定包含最后的top-k支配結(jié) 果集D。
[0061 ] 步驟2:利用k-skyband剪枝
[0062]如下圖1階段二所示,由于得到的KANN(Q,k)_RDD有可能非常的大,如果直接計(jì)算 KANN (Q,k) _RDD中所有對(duì)象的支配分?jǐn)?shù)也是非常耗時(shí)的,所以利用k- sky band思想,找到 KANN( Q,k)_RDD中的k-skyband進(jìn)一步剪枝得到最終的候選集Global Candidate (k_ skyband)。根據(jù)定理1可以知道GlobalCandidate(k-skyband)中一定包含最終的top_k支配 結(jié)果集D。
[0063]步驟3:獲取top-k支配結(jié)果集
[0064]如下圖1階段三所示,將候選集與原始數(shù)據(jù)集進(jìn)行笛卡爾積運(yùn)算,形成〈key,value >形式,其中key表示候選集,若候選集支配原始數(shù)據(jù)集中的一個(gè)數(shù)據(jù)則value為1,否則為0; 最后通過ReduceByKey這個(gè)API接口得到Global Candidate (k-skyband)中所有對(duì)象的支配 分?jǐn)?shù),然后找出top-k個(gè)支配分?jǐn)?shù)最高的。
[0065] 實(shí)施例1:
[0066]本實(shí)施例是在一個(gè)7節(jié)點(diǎn)的spark分布式集群上完成的,spark是搭建在hadoop上, 使用hadoop的yarn資源管理器和HDFS文件存儲(chǔ)系統(tǒng)。7個(gè)結(jié)點(diǎn)中master結(jié)點(diǎn)既作為Driver 結(jié)點(diǎn)又做worker結(jié)點(diǎn),其余6個(gè)結(jié)點(diǎn)均為worker結(jié)點(diǎn)。所有的算法均用Sea la語言編寫,基本 配置如下表2:
[0067] 表2實(shí)驗(yàn)環(huán)境配置
[0069] 如圖2至圖5所示,實(shí)驗(yàn)部分主要從以下若干個(gè)方面來評(píng)價(jià)DSDA、DKDA、DAKDA三個(gè) 算法:分區(qū)數(shù)量num對(duì)查詢時(shí)間的影響(選擇合理分區(qū)數(shù)目)、返回結(jié)果k對(duì)查詢的影響、查詢 輸入集合Q大小對(duì)查詢時(shí)間的影響、各個(gè)算法候選集的比較以及算法的可擴(kuò)展性,實(shí)驗(yàn)中的 參數(shù)默認(rèn)設(shè)置如下表3所示,其中覆蓋率c =覆蓋輸入Q最小圓的半徑/覆蓋所有數(shù)據(jù)集最小 圓半徑。
[0070]表3實(shí)驗(yàn)?zāi)J(rèn)參數(shù)配置
[0072]先對(duì)真實(shí)的較大數(shù)據(jù)集進(jìn)行分析:ZILL0W數(shù)據(jù)集,原始數(shù)據(jù)集有2245109條,由于 有的記錄中有的屬性值空缺的,刪除后的數(shù)據(jù)集大小為1771107條,總共有5個(gè)屬性,對(duì)于度 量空間的距離公式使用的是馬哈頓距離。具體流程如圖1所示。如圖6所示,將數(shù)據(jù)集均勻分 不到各個(gè)slaver節(jié)點(diǎn)中,然后每個(gè)節(jié)點(diǎn)單獨(dú)執(zhí)行上述提出的算法,得到候選集,最后匯總得 至Ijtop-k支配結(jié)果集。
[0073] 給定m = 5,實(shí)驗(yàn)1評(píng)價(jià)各個(gè)算法隨返回結(jié)果數(shù)量k變化情況的性能。如圖2所示,發(fā) 現(xiàn)DSDA算法隨k的變化比較明顯,而DAKDA算法隨k的變化小,說明DSDA算法對(duì)k比較敏感。
[0074] 給定k=10,實(shí)驗(yàn)2評(píng)價(jià)各個(gè)算法隨查詢集合Q大小m變化情況的性能。從圖3中我們 發(fā)現(xiàn)隨著m的增大,算法DKDA急劇增大。
[0075] 給定k=10,m = 5,實(shí)驗(yàn)3評(píng)價(jià)各個(gè)算法隨查詢集合Q覆蓋率c變化情況的性能。如圖 4所示:在覆蓋率較大情況下DSDA算法查詢最慢。本發(fā)明方法的可擴(kuò)展性如圖5所示。
[0076] 通過上述實(shí)施例1可以看出,本發(fā)明對(duì)于給定的數(shù)據(jù)集,根據(jù)用戶的查詢輸入以及 給定的度量空間中的距離公式,提出適合于大數(shù)據(jù)集的top-k支配并行的方案;利用k-skyband結(jié)果集中包含top-k支配結(jié)果集特性,先利用集合k-近鄰剪枝獲取候選集,然后再 獲取候選集的k-skyband,最后求解top-k支配結(jié)果。
[0077] 這種基于k-skyband和集合ANN方法對(duì)比于傳統(tǒng)的使用sky line求解top-k支配,以 及單純使用k-skyband求解top-k支配方法,對(duì)數(shù)據(jù)進(jìn)行了篩選,減少了數(shù)據(jù)之間比較次數(shù), 加快了查詢速度。本發(fā)明在spark平臺(tái)上并行實(shí)現(xiàn),由于基于度量空間的top-k支配查詢目 前研究只是單機(jī)算法,而本本發(fā)明提出的是并行算法,遠(yuǎn)快于單機(jī)而實(shí)施例1的結(jié)果也恰恰 證明該結(jié)論,所以本發(fā)明將傳統(tǒng)的基于sky line以及k-skyband方法并行化,法查詢速度更 快,且對(duì)于較大的輸入集合或者海量數(shù)據(jù)集都適用。
【主權(quán)項(xiàng)】
1. 一種分布式環(huán)境下基于度量空間的top-k支配查詢方法,其特征在于:依次包括以下 順序執(zhí)彳丁的步驟: (1) 給定查詢輸入數(shù)據(jù)對(duì)象集合Q以及度量空間中的距離公式d(),距離公式d()用來衡 量整個(gè)數(shù)據(jù)對(duì)象〇與查詢輸入數(shù)據(jù)對(duì)象集合Q之間的距離; (2) 根據(jù)步驟(1)提出基于集合ANN和k-skyband并行算,該并行算法的具體內(nèi)容為: (21) 利用 ANN(Q,k)剪枝: 根據(jù)距離度量函數(shù)d()和查詢輸入Q計(jì)算所有數(shù)據(jù)對(duì)象與查詢輸入對(duì)象之間的距離 Deal_Data_RDD并將其保存在各個(gè)分區(qū)中,然后每個(gè)分區(qū)單獨(dú)并行求解該分區(qū)的中ANN(Q, k),最后將每個(gè)分區(qū)的ANN(Q,k)結(jié)果通過reduce接口進(jìn)行篩選得到全局的ANN(Q,k);將獲 取的全局ANN(Q,k)廣播到各個(gè)節(jié)點(diǎn)上,利用ANN(Q,k)去過濾原始的數(shù)據(jù)集,最后得到候選 集以順(0,1〇_1?0,1^順(0,1〇_1^沖一定包含最后的切?;支配結(jié)果集0 ;其中4順(0,1〇是 指查詢集合Q的k-NN,過濾的規(guī)則是不被ANN(Q,k)中對(duì)象所支配; (22) 利用k-skyband 剪枝:利用k-skyband思想,找到 KANN( Q,k )_RDD 中的k-skyband,然 后進(jìn)一步剪枝得到最終的候選集61<^31〇311(1丨(^七6(1^-81^^311(1) ; (23) 獲取top-k支配結(jié)果集: 計(jì)算61<^31〇311(11(13七6(1^-81^5^311(1)中所有對(duì)象的支配分?jǐn)?shù),然后找出1:(^-1^個(gè)支配分 數(shù)最高的,返回作為t〇P-k支配結(jié)果。2. 根據(jù)權(quán)利要求1所述的分布式環(huán)境下基于度量空間的top-k支配查詢方法,其特征在 于:所述步驟(21)中,由于每個(gè)分區(qū)的ANN(Q,k)不一定是全局的ANN(Q,k),則需要將各個(gè)分 區(qū)的ANN(Q,k)一一比較距離的遠(yuǎn)近最終得到全局的ANN(Q,k)。3. 根據(jù)權(quán)利要求1所述的分布式環(huán)境下基于度量空間的top-k支配查詢方法,其特征在 于:所述步驟(23)的詳細(xì)內(nèi)容為:將步驟(22)中得到的候選集與原始數(shù)據(jù)集進(jìn)行笛卡爾積 運(yùn)算,然后使用Spark提供的ReduceByKey的API接口,得到每個(gè)候選集的支配分?jǐn)?shù)。
【文檔編號(hào)】G06F17/30GK106055674SQ201610393610
【公開日】2016年10月26日
【申請(qǐng)日】2016年6月3日
【發(fā)明人】何潔月, 羅浩
【申請(qǐng)人】東南大學(xué)