專利名稱:一種反輪廓查詢方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)庫(kù)查詢技術(shù)領(lǐng)域,更具體的說,是涉及一種反輪廓查詢方法、裝置及系統(tǒng)。
背景技術(shù):
隨著社會(huì)信息化和自動(dòng)化程度的不斷加深,需要對(duì)海量數(shù)據(jù)進(jìn)行管理和應(yīng)用,因此近年來,數(shù)據(jù)庫(kù)查詢技術(shù)也得到了積極的深入研究及快速的發(fā)展。在數(shù)據(jù)庫(kù)查詢技術(shù)領(lǐng)域,反輪廓數(shù)據(jù)點(diǎn)是數(shù)據(jù)庫(kù)中以查詢點(diǎn)作為其動(dòng)態(tài)輪廓點(diǎn)集中一員的數(shù)據(jù)點(diǎn)。反輪廓查詢能夠返回查詢點(diǎn)的反輪廓數(shù)據(jù)點(diǎn)集,從而用戶可以從中獲得有用的信息以支持決策工作,因此反輪廓查詢?cè)跊Q策支持、數(shù)據(jù)庫(kù)可視化和用戶信息系統(tǒng)等方面都得到了廣泛的應(yīng)用。反輪廓查詢是在輪廓查詢的基礎(chǔ)上提出的,與輪廓查詢的服務(wù)對(duì)象相對(duì),通過反輪廓查詢可以確定查詢點(diǎn)在數(shù)據(jù)集中的影響度,用戶可以根據(jù)確定的影響度做出一些重要決策。近年來,基于容錯(cuò)、性能等多方面的考慮,現(xiàn)代數(shù)據(jù)的存儲(chǔ)方式越來越趨向于分布式存儲(chǔ),因而分布式數(shù)據(jù)上的數(shù)據(jù)挖掘成為數(shù)據(jù)庫(kù)領(lǐng)域的研究熱點(diǎn)。但是,現(xiàn)有的反輪廓查詢方法都是應(yīng)用于集中式數(shù)據(jù)環(huán)境的查詢方法,現(xiàn)有技術(shù)中并不存在能夠應(yīng)用于分布式數(shù)據(jù)環(huán)境的反輪廓查詢方法。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種反輪廓查詢方法、裝置及系統(tǒng),以實(shí)現(xiàn)在分布式數(shù)據(jù)集環(huán)境中進(jìn)行反輪廓查詢。為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:一種反輪廓查詢方法,應(yīng)用于分布式數(shù)據(jù)集,包括:中央節(jié)點(diǎn)接收用戶輸入的查詢點(diǎn),并將所述查詢點(diǎn)發(fā)送至所有的分布節(jié)點(diǎn);各個(gè)分布節(jié)點(diǎn)分別將在本地?cái)?shù)據(jù)集中獲取的所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集發(fā)送至所述中央節(jié)點(diǎn);中央節(jié)點(diǎn)將接收到的所有全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集合并為總數(shù)據(jù)集;中央節(jié)點(diǎn)根據(jù)所述查詢點(diǎn)從所述總數(shù)據(jù)集中獲取所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集;中央節(jié)點(diǎn)根據(jù)從所述總數(shù)據(jù)集中獲取的所述全局輪廓點(diǎn)集和所述第二層全局輪廓點(diǎn)集計(jì)算獲得所述查詢點(diǎn)的反輪廓點(diǎn)集??蛇x的,所述第二層全局輪廓點(diǎn)集包括一個(gè)或多個(gè)第二層全局輪廓點(diǎn);所述查詢點(diǎn)的第二層全局輪廓點(diǎn)為在數(shù)據(jù)集去除全局輪廓點(diǎn)后的數(shù)據(jù)集中不存在任何數(shù)據(jù)點(diǎn)全局支配的數(shù)據(jù)點(diǎn)。可選的,所述總數(shù)據(jù)集中的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集分別存儲(chǔ)。
可選的,所述分布節(jié)點(diǎn)在本地?cái)?shù)據(jù)集中獲取全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集,包括:分布節(jié)點(diǎn)將本地?cái)?shù)據(jù)集讀入內(nèi)存;以所述查詢點(diǎn)為中心,對(duì)所述本地的數(shù)據(jù)集建立網(wǎng)格索引,并對(duì)生成的每一個(gè)網(wǎng)格內(nèi)的數(shù)據(jù)點(diǎn)按其各個(gè)維度與所述查詢點(diǎn)各個(gè)維度距離之和升序排序;從每一個(gè)網(wǎng)格內(nèi)的、已經(jīng)升序排序好的數(shù)據(jù)點(diǎn)中獲取網(wǎng)格全局輪廓點(diǎn)集和網(wǎng)格第二層全局輪廓點(diǎn)集;將所有的網(wǎng)格全局輪廓點(diǎn)集合并為全局輪廓點(diǎn)集,并將所有的網(wǎng)格第二層全局輪廓點(diǎn)集合并為第二層全局輪廓點(diǎn)集??蛇x的,所述中央節(jié)點(diǎn)計(jì)算獲得所述查詢點(diǎn)的反輪廓點(diǎn)集,包括:中央節(jié)點(diǎn)將從所述總數(shù)據(jù)集中獲取的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集讀入內(nèi)存,生成反輪廓點(diǎn)集并初始化為空集;根據(jù)所述查詢點(diǎn),采用所述全局輪廓點(diǎn)中非當(dāng)前窗口剪枝的數(shù)據(jù)點(diǎn)的其他數(shù)據(jù)點(diǎn)和第二層全局輪廓點(diǎn)集中所有的數(shù)據(jù)點(diǎn)對(duì)所述全局輪廓點(diǎn)集中的每一個(gè)數(shù)據(jù)點(diǎn)進(jìn)行窗口剪枝;將沒有被窗口剪枝掉的數(shù)據(jù)點(diǎn)存入所述反輪廓點(diǎn)集。一種反輪廓查詢裝置,應(yīng)用于分布式數(shù)據(jù)集中的中央節(jié)點(diǎn),包括:查詢點(diǎn)接收模塊,用于接收用戶輸入的查詢點(diǎn);數(shù)據(jù)接口模塊,用于將所述查詢點(diǎn)發(fā)送至所有的分布節(jié)點(diǎn),并接收各個(gè)分布節(jié)點(diǎn)發(fā)送的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集;數(shù)據(jù)集合并模塊,用于將接收到的所有全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集合并為總數(shù)據(jù)集;第一數(shù)據(jù)集獲取模塊,用于根據(jù)所述查詢點(diǎn)從所述總數(shù)據(jù)集中獲取所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集;數(shù)據(jù)計(jì)算模塊,用于根據(jù)從所述總數(shù)據(jù)集中獲取的所述全局輪廓點(diǎn)集和所述第二層全局輪廓點(diǎn)集計(jì)算獲得所述查詢點(diǎn)的反輪廓點(diǎn)集??蛇x的,所述數(shù)據(jù)計(jì)算模塊包括:第一數(shù)據(jù)準(zhǔn)備模塊,用于將從所述總數(shù)據(jù)集中獲取的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集讀入內(nèi)存,生成反輪廓點(diǎn)集并初始化為空集;窗口剪枝模塊,用于根據(jù)所述查詢點(diǎn),采用所述全局輪廓點(diǎn)中非當(dāng)前窗口剪枝的數(shù)據(jù)點(diǎn)的其他數(shù)據(jù)點(diǎn)和第二層全局輪廓點(diǎn)集中所有的數(shù)據(jù)點(diǎn)對(duì)所述全局輪廓點(diǎn)集中的每一個(gè)數(shù)據(jù)點(diǎn)進(jìn)行窗口剪枝;數(shù)據(jù)生成模塊,用于將沒有被窗口剪枝掉的數(shù)據(jù)點(diǎn)存入所述反輪廓點(diǎn)集。一種反輪廓查詢裝置,應(yīng)用于分布式數(shù)據(jù)集中的分布節(jié)點(diǎn),包括:查詢點(diǎn)接收模塊,用于接收中央節(jié)點(diǎn)發(fā)送的查詢點(diǎn);第二數(shù)據(jù)集獲取模塊,用于在本地?cái)?shù)據(jù)集中獲取的所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集;數(shù)據(jù)集發(fā)送模塊,用于將在本地?cái)?shù)據(jù)集中獲取的所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集發(fā)送至所述中央節(jié)點(diǎn),以使得所述中央節(jié)點(diǎn)根據(jù)由分布節(jié)點(diǎn)在本地?cái)?shù)據(jù)集中獲取的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集合并而成的總數(shù)據(jù)集,獲取所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集,并根據(jù)從所述總數(shù)據(jù)集中獲取的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集計(jì)算得到所述查詢點(diǎn)的反輪廓點(diǎn)集??蛇x的,所述第二數(shù)據(jù)集獲取模塊包括:第二數(shù)據(jù)準(zhǔn)備模塊,用于將本地?cái)?shù)據(jù)集讀入內(nèi)存;數(shù)據(jù)劃分及排序模塊,用于以所述查詢點(diǎn)為中心,對(duì)所述本地的數(shù)據(jù)集建立網(wǎng)格索引,并對(duì)生成的每一個(gè)網(wǎng)格內(nèi)的數(shù)據(jù)點(diǎn)按其各個(gè)維度與所述查詢點(diǎn)各個(gè)維度距離之和升序排序; 網(wǎng)格數(shù)據(jù)集獲取模塊,用于從每一個(gè)網(wǎng)格內(nèi)的、已經(jīng)升序排序好的數(shù)據(jù)點(diǎn)中獲取網(wǎng)格全局輪廓點(diǎn)集和網(wǎng)格第二層全局輪廓點(diǎn)集;網(wǎng)格數(shù)據(jù)集合并模塊,用于將所有的網(wǎng)格全局輪廓點(diǎn)集合并為全局輪廓點(diǎn)集,并將所有的網(wǎng)格第二層全局輪廓點(diǎn)集合并為第二層全局輪廓點(diǎn)集。一種反輪廓查詢系統(tǒng),應(yīng)用于分布式數(shù)據(jù)集,包括應(yīng)用于中央節(jié)點(diǎn)的第一裝置和應(yīng)用于分布節(jié)點(diǎn)的第二裝置;所述第一裝置為上述應(yīng)用于分布式數(shù)據(jù)集中的中央節(jié)點(diǎn)的反輪廓查詢裝置;所述第二裝置為上述應(yīng)用于分布式數(shù)據(jù)集中的分布節(jié)點(diǎn)的反輪廓查詢裝置。經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例公開了一種反輪廓查詢方法、裝置及系統(tǒng),該反輪廓查詢方法、裝置及系統(tǒng)應(yīng)用于分布式數(shù)據(jù)集,所述反輪廓查詢方法利用全局支配的概念,在中央節(jié)點(diǎn)和分布節(jié)點(diǎn)計(jì)算查詢點(diǎn)的全局輪廓點(diǎn)集后,會(huì)進(jìn)一步計(jì)算出第二層全局輪廓點(diǎn)集;結(jié)合數(shù)據(jù)摘要的思想,分布節(jié)點(diǎn)采用基于兩層輪廓點(diǎn)傳送方法,避免發(fā)送全部數(shù)據(jù)集,通信開銷合理,且中央節(jié)點(diǎn)和分布節(jié)點(diǎn)的負(fù)載也比較平衡,能夠很好的應(yīng)用于分布式數(shù)據(jù)集環(huán)境。通過本發(fā)明實(shí)施例公開的反輪廓查詢方法、裝置及系統(tǒng),填補(bǔ)了分布式數(shù)據(jù)集環(huán)境中反輪廓查詢技術(shù)的空白,實(shí)現(xiàn)了分布式數(shù)據(jù)集環(huán)境中的反輪廓查詢。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例公開的反輪廓查詢方法流程圖;圖2為本發(fā)明實(shí)施例公開的分布節(jié)點(diǎn)獲取全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集的流程圖;圖3為本發(fā)明實(shí)施例公開的另一個(gè)分布節(jié)點(diǎn)獲取全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集的流程圖;圖4為本發(fā)明實(shí)施例公開的中央節(jié)點(diǎn)獲取查詢點(diǎn)的反輪廓點(diǎn)集流程圖;圖5為本發(fā)明實(shí)施例公開的另一個(gè)中央節(jié)點(diǎn)獲取查詢點(diǎn)的反輪廓點(diǎn)集流程圖;圖6為本發(fā)明實(shí)施例公開的反輪廓查詢裝置結(jié)構(gòu)示意圖;圖7為本發(fā)明實(shí)施例公開的數(shù)據(jù)計(jì)算模塊結(jié)構(gòu)示意圖8為本發(fā)明實(shí)施例公開的另一個(gè)反輪廓查詢裝置結(jié)構(gòu)示意圖;圖9為本發(fā)明實(shí)施例公開的第二數(shù)據(jù)集獲取模塊結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了引用和清楚起見,下文中使用的技術(shù)名詞的說明、簡(jiǎn)寫或縮寫總結(jié)如下:數(shù)據(jù)點(diǎn):給定一個(gè)d維的數(shù)據(jù)空間S= {Sl, S2, , sd} ο如果數(shù)據(jù)集D={Pl, P2,, pn}中的每一點(diǎn)都是數(shù)據(jù)空間S上d維的點(diǎn),則稱數(shù)據(jù)集D是S上的數(shù)據(jù)集。用P1.Sj表示數(shù)據(jù)點(diǎn)Pi在第j維度上的值。支配:稱一個(gè)數(shù)據(jù)點(diǎn)Pj在空間S上支配另外一個(gè)數(shù)據(jù)點(diǎn)Pi,當(dāng)且僅當(dāng)Pj上所有維度的值都優(yōu)于(本案中所述優(yōu)于可以指大于,也可以指小于,具體可以根據(jù)用戶的需求來配置)或者等于Pi上所有維度的值,并且至少存在一個(gè)維度t,使得Py St優(yōu)于P1.St。動(dòng)態(tài)支配:稱一個(gè)數(shù)據(jù)點(diǎn)Pi在d維空間S上動(dòng)態(tài)支配另外一個(gè)數(shù)據(jù)點(diǎn)P」,當(dāng)且僅當(dāng)給定一個(gè)映射函數(shù)f (P),Pi, Pj根據(jù)該映射函數(shù)轉(zhuǎn)換到新的d’維數(shù)據(jù)空間S’得到相對(duì)應(yīng)的動(dòng)態(tài)點(diǎn)p/,ρ/,滿足p/在新數(shù)據(jù)空間s’上支配p/。由于反輪廓點(diǎn)特性。(本發(fā)明中規(guī)定映射函數(shù)f (P) = I P.S1-q.Si I , i e {I,…,d}, q為給定的查詢數(shù)據(jù)點(diǎn)。)此時(shí)Pi在d維空間S上相對(duì)于查詢點(diǎn)q動(dòng)態(tài)支配另外一個(gè)數(shù)據(jù)點(diǎn)Pp即為數(shù)據(jù)點(diǎn)Pi在所有維度上的值與查詢點(diǎn)q的絕對(duì)距離都優(yōu)于或者等于Pj相應(yīng)維度的值與查詢點(diǎn)q的絕對(duì)距離。并且至少存在一個(gè)維度 t,使得 I P1.St-q.St I 優(yōu)于 I Pj.St-q.St |。全局支配:以查詢點(diǎn)q為中心,將數(shù)據(jù)點(diǎn)所在平面或空間劃分為2d個(gè)象限(d為數(shù)據(jù)空間維度),稱數(shù)據(jù)點(diǎn)Pi在數(shù)據(jù)空間S上數(shù)據(jù)集D中相對(duì)于查詢點(diǎn)q全局支配數(shù)據(jù)點(diǎn)Pj,當(dāng)且僅當(dāng)數(shù)據(jù)點(diǎn)Pi和P」在同一個(gè)象限,且數(shù)據(jù)點(diǎn)Pi在所有維度上的值與查詢點(diǎn)q的絕對(duì)距離都優(yōu)于或者等于Pj相應(yīng)維度 的值與查詢點(diǎn)q的絕對(duì)距離。并且至少存在一個(gè)維度t,使得 I Pi.st-q.St I 優(yōu)于 I Pj.St-q.St |。輪廓點(diǎn):稱數(shù)據(jù)點(diǎn)Pi是數(shù)據(jù)空間S上關(guān)于數(shù)據(jù)集D的一個(gè)輪廓點(diǎn),當(dāng)且僅當(dāng)在數(shù)據(jù)集D中不存在任何數(shù)據(jù)點(diǎn)支配Pi。用SP(D,S)代表空間S上關(guān)于數(shù)據(jù)集D的輪廓點(diǎn)集。為了區(qū)別于動(dòng)態(tài)輪廓點(diǎn),一般用傳統(tǒng)輪廓點(diǎn)來表示本定義的輪廓點(diǎn)。動(dòng)態(tài)輪廓點(diǎn):稱一個(gè)數(shù)據(jù)點(diǎn)Pi是數(shù)據(jù)空間S上數(shù)據(jù)集D中查詢點(diǎn)q的動(dòng)態(tài)輪廓點(diǎn),當(dāng)且僅當(dāng)數(shù)據(jù)集D中不存在任何數(shù)據(jù)點(diǎn)相對(duì)于q動(dòng)態(tài)支配Pi。用DSP (D,S,q)代表空間S上數(shù)據(jù)集D中相對(duì)于查詢點(diǎn)q的動(dòng)態(tài)輪廓點(diǎn)集。反輪廓點(diǎn):稱數(shù)據(jù)點(diǎn)Pi是數(shù)據(jù)空間S上數(shù)據(jù)集D中查詢點(diǎn)q的一個(gè)反輪廓點(diǎn),當(dāng)且僅當(dāng)在數(shù)據(jù)集D中,q點(diǎn)是Pi點(diǎn)的動(dòng)態(tài)輪廓點(diǎn)集中一員。用RSP (D,S,q)代表空間S上數(shù)據(jù)集D中q點(diǎn)的反輪廓點(diǎn)集。全局輪廓點(diǎn):稱數(shù)據(jù)點(diǎn)Pi是數(shù)據(jù)空間S上數(shù)據(jù)集D中查詢點(diǎn)q的一個(gè)全局輪廓點(diǎn),當(dāng)且僅當(dāng)在數(shù)據(jù)集D中不存在任何點(diǎn)全局支配Pi。用GSL(D,S,q)代表空間S上數(shù)據(jù)集D中q點(diǎn)的全局輪廓點(diǎn)集。下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一圖1為本發(fā)明實(shí)施例公開的反輪廓查詢方法流程圖,所述方法應(yīng)用于分布式數(shù)據(jù)集,參見圖1所示,所述反輪廓查詢方法可以包括:步驟101:中央節(jié)點(diǎn)接收用戶輸入的查詢點(diǎn),并將所述查詢點(diǎn)發(fā)送至所有的分布節(jié)點(diǎn)。為了保證最終得到的反輪廓點(diǎn)集的完整性,需要將所述查詢點(diǎn)發(fā)送到所有的分布節(jié)點(diǎn),使得所有分布節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)都參與到反輪廓查詢中。步驟102:各個(gè)分布節(jié)點(diǎn)分別將在本地?cái)?shù)據(jù)集中獲取的所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集發(fā)送至所述中央節(jié)點(diǎn)。其中,所述第二層全局輪廓點(diǎn)集包括一個(gè)或多個(gè)第二層全局輪廓點(diǎn)。所述第二層全局輪廓點(diǎn)的定義可以是:稱數(shù)據(jù)點(diǎn)Pi是數(shù)據(jù)空間S上數(shù)據(jù)集D中查詢點(diǎn)q的一個(gè)第二層全局輪廓點(diǎn),當(dāng)且僅當(dāng)在數(shù)據(jù)集D去除全局輪廓點(diǎn)以外的數(shù)據(jù)集D’中不存在任何點(diǎn)全局支配Pi。用S2nd(D,S,q)代表空間S上數(shù)據(jù)集D中q點(diǎn)的第二層全局輪廓點(diǎn)集。通俗一點(diǎn)來說,所述查詢點(diǎn)的第二層全局輪廓點(diǎn)為在數(shù)據(jù)集去除全局輪廓點(diǎn)后的數(shù)據(jù)集中不存在任何數(shù)據(jù)點(diǎn)能夠全局支配的數(shù)據(jù)點(diǎn)。在一個(gè)示意性的示例中,分布節(jié)點(diǎn)在本地?cái)?shù)據(jù)集中獲取全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集的具體過程可以參見圖2,圖2為本發(fā)明實(shí)施例公開的分布節(jié)點(diǎn)獲取全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集的流程圖,如圖2所示,可以包括:步驟201:分布節(jié)點(diǎn)將本地?cái)?shù)據(jù)集讀入內(nèi)存。步驟202:以所述查詢點(diǎn)為中心,對(duì)所述本地的數(shù)據(jù)集建立網(wǎng)格索引,并對(duì)生成的每一個(gè)網(wǎng)格內(nèi)的數(shù)據(jù)點(diǎn)按其各個(gè)維度與所述查詢點(diǎn)各個(gè)維度距離之和升序排序(在規(guī)定第一數(shù)據(jù)點(diǎn)某屬性值優(yōu)于第二數(shù)據(jù)點(diǎn)相同的屬性值為第一數(shù)據(jù)點(diǎn)某屬性值小于第二數(shù)據(jù)點(diǎn)的相同屬性值情況下)。其中,對(duì)網(wǎng)格內(nèi)的數(shù)據(jù)點(diǎn)進(jìn)行升序排序是為后續(xù)步驟203計(jì)算全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集做準(zhǔn)備。按照數(shù)據(jù)點(diǎn)各個(gè)維度與所述查詢點(diǎn)各個(gè)維度距離之和排序后,后面的數(shù)據(jù)點(diǎn)的各個(gè)維度與所述查詢點(diǎn)各個(gè)維度距離之和大于前面數(shù)據(jù)點(diǎn)的各個(gè)維度與所述查詢點(diǎn)各個(gè)維度距離之和,根據(jù)全局支配的定義可知,排在后面的數(shù)據(jù)點(diǎn)不可能全局支配前面的數(shù)據(jù)點(diǎn),這樣就大大減少了判斷全局支配關(guān)系時(shí)進(jìn)行比較的次數(shù)。步驟203:從每一個(gè)網(wǎng)格內(nèi)的、已經(jīng)升序排序好的數(shù)據(jù)點(diǎn)中獲取網(wǎng)格全局輪廓點(diǎn)集和網(wǎng)格第二層全局輪廓點(diǎn)集。步驟204:將所有的網(wǎng)格全局輪廓點(diǎn)集合并為全局輪廓點(diǎn)集,并將所有的網(wǎng)格第二層全局輪廓點(diǎn)集合并為第二層全局輪廓點(diǎn)集。需要說明的是,上述步驟202中,是將每一個(gè)網(wǎng)格內(nèi)的數(shù)據(jù)點(diǎn)按其各個(gè)維度與所述查詢點(diǎn)各個(gè)維度距離之和升序排序,這是在規(guī)定第一數(shù)據(jù)點(diǎn)某屬性值優(yōu)于第二數(shù)據(jù)點(diǎn)相同的屬性值為第一數(shù)據(jù)點(diǎn)某屬性值小于第二數(shù)據(jù)點(diǎn)相同屬性值的前提下確定的,如果用戶配置的定義是第一數(shù)據(jù)點(diǎn)某屬性值優(yōu)于第二數(shù)據(jù)點(diǎn)相同屬性值為第一數(shù)據(jù)點(diǎn)某屬性值大于第二數(shù)據(jù)點(diǎn)相同屬性值,則在步驟202中就應(yīng)當(dāng)是將每一個(gè)網(wǎng)格內(nèi)的數(shù)據(jù)點(diǎn)按其各個(gè)維度與所述查詢點(diǎn)各個(gè)維度距離之和降序排序。在另外的一個(gè)實(shí)施例中,分布節(jié)點(diǎn)在本地?cái)?shù)據(jù)集中獲取全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集的具體過程可以參見圖3,圖3為本發(fā)明實(shí)施例公開的另一個(gè)分布節(jié)點(diǎn)獲取全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集的流程圖,如圖3所示,可以包括:步驟301:讀入經(jīng)過預(yù)處理的數(shù)據(jù)集。其中,所述預(yù)處理可以是以所述查詢點(diǎn)為中心,對(duì)所述本地的數(shù)據(jù)集建立網(wǎng)格索弓丨,并對(duì)生成的每一個(gè)網(wǎng)格內(nèi)的數(shù)據(jù)點(diǎn)按其各個(gè)維度與所述查詢點(diǎn)各個(gè)維度距離之和升序排序。步驟302:對(duì)每個(gè)網(wǎng)格,生成候選集(為了便于在附圖中標(biāo)記及理解,將全局輪廓點(diǎn)集記為侯選集)和篩選集(為了便于在附圖中標(biāo)記及理解,將第二層全局輪廓點(diǎn)集記為篩選集),并分別初始化為空集。步驟303:讀取一個(gè)網(wǎng)格。步驟304:判斷是否是最后一個(gè)網(wǎng)格,是則轉(zhuǎn)步驟315 ;否則轉(zhuǎn)步驟305。步驟305:判斷網(wǎng)格是否為空,為空則轉(zhuǎn)步驟303 ;否則轉(zhuǎn)步驟306。步驟306:讀取網(wǎng)格內(nèi)的一個(gè)數(shù)據(jù)點(diǎn)。步驟307:判斷篩選集是否為空,為空則轉(zhuǎn)步驟310 ;不為空則轉(zhuǎn)步驟308。步驟308:計(jì)算該數(shù)據(jù)點(diǎn)與篩選集中各點(diǎn)的全局支配關(guān)系。步驟309:判斷是否被篩選集中某個(gè)數(shù)據(jù)點(diǎn)全局支配,是則舍棄該數(shù)據(jù)點(diǎn),轉(zhuǎn)步驟305 ;否則轉(zhuǎn)步驟310。步驟310:判斷候選集是否為空,為空則轉(zhuǎn)步驟314 ;不為空則轉(zhuǎn)步驟311。步驟311:計(jì)算該數(shù)據(jù)點(diǎn)與候選集中各點(diǎn)的全局支配關(guān)系。步驟312:判斷是否被候選集中某個(gè)數(shù)據(jù)點(diǎn)全局支配,是則轉(zhuǎn)步驟313 ;否則轉(zhuǎn)步驟 314。步驟313:將該數(shù)據(jù)點(diǎn)插入到篩選集中,轉(zhuǎn)步驟305。步驟314:將該數(shù)據(jù)點(diǎn)插入到候選集中,轉(zhuǎn)步驟305。步驟315:計(jì)算結(jié)束。類似的,后續(xù)中央節(jié)點(diǎn)計(jì)算獲取全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集,也可以采用上述圖2或圖3所示的方法。步驟102后,進(jìn)入步驟103。步驟103:中央節(jié)點(diǎn)將接收到的所有全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集合并為總數(shù)據(jù)集。其中,所有的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集可以取并集??紤]到后續(xù)中央節(jié)點(diǎn)計(jì)算總數(shù)據(jù)集的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集的復(fù)雜性,步驟103中,可以將所有全局輪廓點(diǎn)集和所有第二層全局輪廓點(diǎn)集分別進(jìn)行合并存儲(chǔ)。因?yàn)榛谌种?、全局輪廓點(diǎn)和第二層全局輪廓點(diǎn)的概念可清楚的知道,全局輪廓點(diǎn)肯定全局支配第二層全局輪廓點(diǎn),這樣,將合并的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集分別存儲(chǔ),減少了后續(xù)中央節(jié)點(diǎn)計(jì)算總數(shù)據(jù)集的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集時(shí)判斷全局支配關(guān)系的次數(shù)。步驟104:中央節(jié)點(diǎn)根據(jù)所述查詢點(diǎn)從所述總數(shù)據(jù)集中獲取所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集。步驟105:中央節(jié)點(diǎn)根據(jù)從所述總數(shù)據(jù)集中獲取的所述全局輪廓點(diǎn)集和所述第二層全局輪廓點(diǎn)集計(jì)算獲得所述查詢點(diǎn)的反輪廓點(diǎn)集。
在一個(gè)示意性的示例中,步驟105的具體過程可以參見圖4,圖4為本發(fā)明實(shí)施例公開的中央節(jié)點(diǎn)獲取查詢點(diǎn)的反輪廓點(diǎn)集流程圖,如圖4所示,可以包括:步驟401:中央節(jié)點(diǎn)將從所述總數(shù)據(jù)集中獲取的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集讀入內(nèi)存,生成反輪廓點(diǎn)集并初始化為空集。步驟402:根據(jù)所述查詢點(diǎn),采用所述全局輪廓點(diǎn)中非當(dāng)前窗口剪枝的數(shù)據(jù)點(diǎn)的其他數(shù)據(jù)點(diǎn)和第二層全局輪廓點(diǎn)集對(duì)所述全局輪廓點(diǎn)集中的每一個(gè)數(shù)據(jù)點(diǎn)進(jìn)行窗口剪枝。由于反輪廓點(diǎn)集是全局輪廓點(diǎn)集中滿足一定要求的子集,因此,通過遍歷全局輪廓點(diǎn)集中的每一個(gè)數(shù)據(jù)點(diǎn),用全局輪廓點(diǎn)集中非該點(diǎn)的其他數(shù)據(jù)點(diǎn)和第二層全局輪廓點(diǎn)集中所有數(shù)據(jù)點(diǎn)對(duì)該點(diǎn)進(jìn)行窗口剪枝,直至全局輪廓點(diǎn)集中非該點(diǎn)的其他數(shù)據(jù)點(diǎn)和第二層全局輪廓點(diǎn)集中所有的數(shù)據(jù)點(diǎn)都被判斷完畢,全局輪廓點(diǎn)集中未被窗口剪枝掉的數(shù)據(jù)點(diǎn)構(gòu)成最終的反輪廓點(diǎn)集。由于窗口剪枝為現(xiàn)有技術(shù),在本實(shí)施例中不對(duì)窗口剪枝的具體內(nèi)容作詳細(xì)介紹。步驟403:將沒有被窗口剪枝掉的數(shù)據(jù)點(diǎn)存入所述反輪廓點(diǎn)集。在另外的一個(gè)示意性的示例中,步驟105的具體過程可以參見圖5,圖5為本發(fā)明實(shí)施例公開的另一個(gè)中央節(jié)點(diǎn)獲取查詢點(diǎn)的反輪廓點(diǎn)集流程圖,如圖5所示,可以包括:步驟501:讀入候選集和篩選集,生成反輪廓點(diǎn)集并初始化為空集。步驟502:讀取候選集中一個(gè)數(shù)據(jù)點(diǎn)P1。步驟503:判斷是否為最后一個(gè)數(shù)據(jù)點(diǎn),如果是,則轉(zhuǎn)步驟508 ;如果不是,轉(zhuǎn)步驟504。步驟504:以該數(shù)據(jù)點(diǎn)P1為中心,以查詢點(diǎn)q為頂點(diǎn)確定中心對(duì)稱的區(qū)域。步驟505:計(jì)算候選集中其他數(shù)據(jù)點(diǎn)和候選集中所有數(shù)據(jù)點(diǎn)與該區(qū)域的位置關(guān)系O步驟506:判斷是否存在某個(gè)數(shù)據(jù)點(diǎn)P2落在該區(qū)域內(nèi),存在則轉(zhuǎn)步驟502 ;否則轉(zhuǎn)步驟507。步驟507:將數(shù)據(jù)點(diǎn)P1插入反輪廓點(diǎn)集中,轉(zhuǎn)步驟502。步驟508:計(jì)算結(jié)束。本實(shí)施例中,所述反輪廓查詢方法應(yīng)用于分布式數(shù)據(jù)集,利用全局支配的概念,在中央節(jié)點(diǎn)和分布節(jié)點(diǎn)計(jì)算查詢點(diǎn)的全局輪廓點(diǎn)集后,會(huì)進(jìn)一步計(jì)算出第二層全局輪廓點(diǎn)集;結(jié)合數(shù)據(jù)摘要的思想,分布節(jié)點(diǎn)采用基于兩層輪廓點(diǎn)傳送方法,避免發(fā)送全部數(shù)據(jù)集,通信開銷合理,且中央節(jié)點(diǎn)和分布節(jié)點(diǎn)的負(fù)載也比較平衡,能夠很好的應(yīng)用于分布式數(shù)據(jù)集環(huán)境。通過本發(fā)明實(shí)施例公開的反輪廓查詢方法,實(shí)現(xiàn)了分布式數(shù)據(jù)集環(huán)境中的反輪廓查詢。上述本發(fā)明公開的實(shí)施例中詳細(xì)描述了方法,對(duì)于本發(fā)明的方法可采用多種形式的裝置實(shí)現(xiàn),因此本發(fā)明還公開了對(duì)應(yīng)于上述實(shí)施例記載方法的裝置,下面給出具體的實(shí)施例進(jìn)行詳細(xì)說明。實(shí)施例二圖6為本發(fā)明實(shí)施例公開的反輪廓查詢裝置結(jié)構(gòu)示意圖,該裝置應(yīng)用于分布式數(shù)據(jù)集中的中央節(jié)點(diǎn),參見圖6所示,所述反輪廓查詢裝置60可以包括:查詢點(diǎn)接收模塊601,用于接收用戶輸入的查詢點(diǎn)。
數(shù)據(jù)接口模塊602,用于將所述查詢點(diǎn)發(fā)送至所有的分布節(jié)點(diǎn),并接收各個(gè)分布節(jié)點(diǎn)發(fā)送的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集。其中,所述第二層全局輪廓點(diǎn)集可以包括一個(gè)或多個(gè)第二層全局輪廓點(diǎn);所述查詢點(diǎn)的第二層全局輪廓點(diǎn)為在數(shù)據(jù)集去除全局輪廓點(diǎn)后的數(shù)據(jù)集中不存在任何數(shù)據(jù)點(diǎn)全局支配的數(shù)據(jù)點(diǎn)。數(shù)據(jù)集合并模塊603,用于將接收到的所有全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集合并為總數(shù)據(jù)集。其中,所有的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集可以取并集??紤]到后續(xù)中央節(jié)點(diǎn)計(jì)算總數(shù)據(jù)集的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集的復(fù)雜性,可以將所有全局輪廓點(diǎn)集和所有第二層全局輪廓點(diǎn)集分別進(jìn)行合并存儲(chǔ)。第一數(shù)據(jù)集獲取模塊604,用于根據(jù)所述查詢點(diǎn)從所述總數(shù)據(jù)集中獲取所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集。數(shù)據(jù)計(jì)算模塊605,用于根據(jù)從所述總數(shù)據(jù)集中獲取的所述全局輪廓點(diǎn)集和所述第二層全局輪廓點(diǎn)集計(jì)算獲得所述查詢點(diǎn)的反輪廓點(diǎn)集。在一個(gè)示意性的示例中,所述數(shù)據(jù)計(jì)算模塊605的具體結(jié)構(gòu)可以參見圖7,圖7為本發(fā)明實(shí)施例公開的數(shù)據(jù)計(jì)算模塊結(jié)構(gòu)示意圖,如圖7所示,所述數(shù)據(jù)計(jì)算模塊605可以包括:第一數(shù)據(jù)準(zhǔn)備模塊701,用于將從所述總數(shù)據(jù)集中獲取的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集讀入內(nèi)存,生成反輪廓點(diǎn)集并初始化為空集。窗口剪枝模塊702,用于根據(jù)所述查詢點(diǎn),采用所述全局輪廓點(diǎn)中非當(dāng)前窗口剪枝的數(shù)據(jù)點(diǎn)的其他數(shù)據(jù)點(diǎn)和第二層全局輪廓點(diǎn)集中所有的數(shù)據(jù)點(diǎn)對(duì)所述全局輪廓點(diǎn)集中的每一個(gè)數(shù)據(jù)點(diǎn)進(jìn)行窗口剪枝。數(shù)據(jù)生成模塊703,用于將沒有被窗口剪枝掉的數(shù)據(jù)點(diǎn)存入所述反輪廓點(diǎn)集。本實(shí)施例中,所述反輪廓查詢裝置應(yīng)用于分布式數(shù)據(jù)集中的中央節(jié)點(diǎn),該裝置利用全局支配的概念,在中央節(jié)點(diǎn)和分布節(jié)點(diǎn)計(jì)算查詢點(diǎn)的全局輪廓點(diǎn)集后,會(huì)進(jìn)一步計(jì)算出第二層全局輪廓點(diǎn)集;結(jié)合數(shù)據(jù)摘要的思想,分布節(jié)點(diǎn)采用基于兩層輪廓點(diǎn)傳送方法,避免發(fā)送全部數(shù)據(jù)集,通信開銷合理,且中央節(jié)點(diǎn)和分布節(jié)點(diǎn)的負(fù)載也比較平衡,能夠很好的應(yīng)用于分布式數(shù)據(jù)集環(huán)境。實(shí)施例三圖8為本發(fā)明實(shí)施例公開的另一個(gè)反輪廓查詢裝置結(jié)構(gòu)示意圖,該裝置應(yīng)用于分布式數(shù)據(jù)集中的分布節(jié)點(diǎn),參見圖8所示,所述反輪廓查詢裝置80可以包括:查詢點(diǎn)接收模塊801,用于接收中央節(jié)點(diǎn)發(fā)送的查詢點(diǎn)。第二數(shù)據(jù)集獲取模塊802,用于在本地?cái)?shù)據(jù)集中獲取的所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集。在一個(gè)示意性的示例中,所述第二數(shù)據(jù)集獲取模塊802的具體結(jié)構(gòu)可以參見圖9,圖9為本發(fā)明實(shí)施例公開的第二數(shù)據(jù)集獲取模塊結(jié)構(gòu)示意圖,如圖9所示,所述第二數(shù)據(jù)集獲取模塊802可以包括:第二數(shù)據(jù)準(zhǔn)備模塊901,用于將本地?cái)?shù)據(jù)集讀入內(nèi)存。數(shù)據(jù)劃分及排序模塊902,用于以所述查詢點(diǎn)為中心,對(duì)所述本地的數(shù)據(jù)集建立網(wǎng)格索引,并對(duì)生成的每一個(gè)網(wǎng)格內(nèi)的數(shù)據(jù)點(diǎn)按其各個(gè)維度與所述查詢點(diǎn)各個(gè)維度距離之和升序排序。網(wǎng)格數(shù)據(jù)集獲取模塊903,用于從每一個(gè)網(wǎng)格內(nèi)的、已經(jīng)升序排序好的數(shù)據(jù)點(diǎn)中獲取網(wǎng)格全局輪廓點(diǎn)集和網(wǎng)格第二層全局輪廓點(diǎn)集。網(wǎng)格數(shù)據(jù)集合并模塊904,用于將所有的網(wǎng)格全局輪廓點(diǎn)集合并為全局輪廓點(diǎn)集,并將所有的網(wǎng)格第二層全局輪廓點(diǎn)集合并為第二層全局輪廓點(diǎn)集。數(shù)據(jù)集發(fā)送模塊803,用于將在本地?cái)?shù)據(jù)集中獲取的所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集發(fā)送至所述中央節(jié)點(diǎn),以使得所述中央節(jié)點(diǎn)根據(jù)由分布節(jié)點(diǎn)在本地?cái)?shù)據(jù)集中獲取的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集合并而成的總數(shù)據(jù)集,獲取所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集,并根據(jù)從所述總數(shù)據(jù)集中獲取的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集計(jì)算得到所述查詢點(diǎn)的反輪廓點(diǎn)集。本實(shí)施例中,所述反輪廓查詢裝置應(yīng)用于分布式數(shù)據(jù)集中的分布節(jié)點(diǎn),該裝置利用全局支配的概念,在中央節(jié)點(diǎn) 和分布節(jié)點(diǎn)計(jì)算查詢點(diǎn)的全局輪廓點(diǎn)集后,會(huì)進(jìn)一步計(jì)算出第二層全局輪廓點(diǎn)集;結(jié)合數(shù)據(jù)摘要的思想,分布節(jié)點(diǎn)采用基于兩層輪廓點(diǎn)傳送方法,避免發(fā)送全部數(shù)據(jù)集,通信開銷合理,且中央節(jié)點(diǎn)和分布節(jié)點(diǎn)的負(fù)載也比較平衡,能夠很好的應(yīng)用于分布式數(shù)據(jù)集環(huán)境。此外,本發(fā)明實(shí)施例還公開了一種反輪廓查詢系統(tǒng),所述反輪廓查詢系統(tǒng)應(yīng)用于分布式數(shù)據(jù)集,該系統(tǒng)可以包括應(yīng)用于分布式數(shù)據(jù)集中的中央節(jié)點(diǎn)的第一裝置和應(yīng)用于分布式數(shù)據(jù)集中的分布節(jié)點(diǎn)的第二裝置。其中,所述第一裝置可以是上述實(shí)施例二公開的應(yīng)用于中央節(jié)點(diǎn)的反輪廓裝置;所述第二裝置可以是上述是實(shí)例三公開的應(yīng)用于分布節(jié)點(diǎn)的反輪廓裝置。本發(fā)明實(shí)施例公開的反輪廓查詢系統(tǒng)應(yīng)用于分布式數(shù)據(jù)集,同樣能夠利用全局支配的概念,在中央節(jié)點(diǎn)和分布節(jié)點(diǎn)計(jì)算查詢點(diǎn)的全局輪廓點(diǎn)集后,會(huì)進(jìn)一步計(jì)算出第二層全局輪廓點(diǎn)集;結(jié)合數(shù)據(jù)摘要的思想,分布節(jié)點(diǎn)采用基于兩層輪廓點(diǎn)傳送方法,避免發(fā)送全部數(shù)據(jù)集,通信開銷合理,且中央節(jié)點(diǎn)和分布節(jié)點(diǎn)的負(fù)載也比較平衡,能夠很好的應(yīng)用于分布式數(shù)據(jù)集環(huán)境。本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法部分說明即可。還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
權(quán)利要求
1.一種反輪廓查詢方法,應(yīng)用于分布式數(shù)據(jù)集,其特征在于,包括: 中央節(jié)點(diǎn)接收用戶輸入的查詢點(diǎn),并將所述查詢點(diǎn)發(fā)送至所有的分布節(jié)點(diǎn); 各個(gè)分布節(jié)點(diǎn)分別將在本地?cái)?shù)據(jù)集中獲取的所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集發(fā)送至所述中央節(jié)點(diǎn); 中央節(jié)點(diǎn)將接收到的所有全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集合并為總數(shù)據(jù)集;中央節(jié)點(diǎn)根據(jù)所述查詢點(diǎn)從所述總數(shù)據(jù)集中獲取所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集; 中央節(jié)點(diǎn)根據(jù)從所述總數(shù)據(jù)集中獲取的所述全局輪廓點(diǎn)集和所述第二層全局輪廓點(diǎn)集計(jì)算獲得所述查詢點(diǎn)的反輪廓點(diǎn)集。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第二層全局輪廓點(diǎn)集包括一個(gè)或多個(gè)第二層全局輪廓點(diǎn);所述查詢點(diǎn)的第二層全局輪廓點(diǎn)為在數(shù)據(jù)集去除全局輪廓點(diǎn)后的數(shù)據(jù)集中不存在任何數(shù)據(jù)點(diǎn)全局支配的數(shù)據(jù)點(diǎn)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述總數(shù)據(jù)集中的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集分別存儲(chǔ)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述分布節(jié)點(diǎn)在本地?cái)?shù)據(jù)集中獲取全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集,包括: 分布節(jié)點(diǎn)將本地?cái)?shù)據(jù)集讀入內(nèi)存; 以所述查詢點(diǎn)為中心,對(duì)所述本地的數(shù)據(jù)集建立網(wǎng)格索弓I,并對(duì)生成的每一個(gè)網(wǎng)格內(nèi)的數(shù)據(jù)點(diǎn)按其各個(gè)維度與所述查詢點(diǎn)各個(gè)維度距離之和升序排序; 從每一個(gè)網(wǎng)格內(nèi)的、已經(jīng)升序排序好的數(shù)據(jù)點(diǎn)中獲取網(wǎng)格全局輪廓點(diǎn)集和網(wǎng)格第二層全局輪廓點(diǎn)集; 將所有的網(wǎng)格全局輪廓點(diǎn)集合并為全局輪廓點(diǎn)集,并將所有的網(wǎng)格第二層全局輪廓點(diǎn)集合并為第二層全局輪廓點(diǎn)集。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述中央節(jié)點(diǎn)計(jì)算獲得所述查詢點(diǎn)的反輪廓點(diǎn)集,包括: 中央節(jié)點(diǎn)將從所述總數(shù)據(jù)集中獲取的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集讀入內(nèi)存,生成反輪廓點(diǎn)集并初始化為空集; 根據(jù)所述查詢點(diǎn),采用所述全局輪廓點(diǎn)中非當(dāng)前窗口剪枝的數(shù)據(jù)點(diǎn)的其他數(shù)據(jù)點(diǎn)和第二層全局輪廓點(diǎn)集中所有的數(shù)據(jù)點(diǎn)對(duì)所述全局輪廓點(diǎn)集中的每一個(gè)數(shù)據(jù)點(diǎn)進(jìn)行窗口剪枝; 將沒有被窗口剪枝掉的數(shù)據(jù)點(diǎn)存入所述反輪廓點(diǎn)集。
6.一種反輪廓查詢裝置,應(yīng)用于分布式數(shù)據(jù)集中的中央節(jié)點(diǎn),其特征在于,包括: 查詢點(diǎn)接收模塊,用于接收用戶輸入的查詢點(diǎn); 數(shù)據(jù)接口模塊,用于將所述查詢點(diǎn)發(fā)送至所有的分布節(jié)點(diǎn),并接收各個(gè)分布節(jié)點(diǎn)發(fā)送的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集; 數(shù)據(jù)集合并模塊,用于將接收到的所有全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集合并為總數(shù)據(jù)集; 第一數(shù)據(jù)集獲取模塊,用于根據(jù)所述查詢點(diǎn)從所述總數(shù)據(jù)集中獲取所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集;數(shù)據(jù)計(jì)算模塊,用于根據(jù)從所述總數(shù)據(jù)集中獲取的所述全局輪廓點(diǎn)集和所述第二層全局輪廓點(diǎn)集計(jì)算獲得所述查詢點(diǎn)的反輪廓點(diǎn)集。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述數(shù)據(jù)計(jì)算模塊包括: 第一數(shù)據(jù)準(zhǔn)備模塊,用于將從所述總數(shù)據(jù)集中獲取的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集讀入內(nèi)存,生成反輪廓點(diǎn)集并初始化為空集; 窗口剪枝模塊,用于根據(jù)所述查詢點(diǎn),采用所述全局輪廓點(diǎn)中非當(dāng)前窗口剪枝的數(shù)據(jù)點(diǎn)的其他數(shù)據(jù)點(diǎn)和第二層全局輪廓點(diǎn)集中所有的數(shù)據(jù)點(diǎn)對(duì)所述全局輪廓點(diǎn)集中的每一個(gè)數(shù)據(jù)點(diǎn)進(jìn)行窗口剪枝; 數(shù)據(jù)生成模塊,用于將沒有被窗口剪枝掉的數(shù)據(jù)點(diǎn)存入所述反輪廓點(diǎn)集。
8.一種反輪廓查詢裝置,應(yīng)用于分布式數(shù)據(jù)集中的分布節(jié)點(diǎn),其特征在于,包括: 查詢點(diǎn)接收模塊,用于接收中央節(jié)點(diǎn)發(fā)送的查詢點(diǎn); 第二數(shù)據(jù)集獲取模塊,用于在本地?cái)?shù)據(jù)集中獲取的所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集; 數(shù)據(jù)集發(fā)送模塊,用于將在本地?cái)?shù)據(jù)集中獲取的所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集發(fā)送至所述中央節(jié)點(diǎn),以使得所述中央節(jié)點(diǎn)根據(jù)由分布節(jié)點(diǎn)在本地?cái)?shù)據(jù)集中獲取的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集合并而成的總數(shù)據(jù)集,獲取所述查詢點(diǎn)的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集,并根據(jù)從所述總數(shù)據(jù)集中獲取的全局輪廓點(diǎn)集和第二層全局輪廓點(diǎn)集計(jì)算得到所述查詢點(diǎn)的反輪廓點(diǎn)集。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述第二數(shù)據(jù)集獲取模塊包括:第二數(shù)據(jù)準(zhǔn)備模塊,用于將本地?cái)?shù)據(jù)集讀入內(nèi)存; 數(shù)據(jù)劃分及排序模塊,用于以所述查詢點(diǎn)為中心,對(duì)所述本地的數(shù)據(jù)集建立網(wǎng)格索引,并對(duì)生成的每一個(gè)網(wǎng)格內(nèi)的數(shù)據(jù)點(diǎn)按其各個(gè)維度與所述查詢點(diǎn)各個(gè)維度距離之和升序排序; 網(wǎng)格數(shù)據(jù)集獲取模塊,用于從每一個(gè)網(wǎng)格內(nèi)的、已經(jīng)升序排序好的數(shù)據(jù)點(diǎn)中獲取網(wǎng)格全局輪廓點(diǎn)集和網(wǎng)格第二層全局輪廓點(diǎn)集; 網(wǎng)格數(shù)據(jù)集合并模塊,用于將所有的網(wǎng)格全局輪廓點(diǎn)集合并為全局輪廓點(diǎn)集,并將所有的網(wǎng)格第二層全局輪廓點(diǎn)集合并為第二層全局輪廓點(diǎn)集。
10.一種反輪廓查詢系統(tǒng),應(yīng)用于分布式數(shù)據(jù)集,其特征在于,包括應(yīng)用于中央節(jié)點(diǎn)的第一裝置和應(yīng)用于分布節(jié)點(diǎn)的第二裝置;所述第一裝置為如權(quán)利要求5-7任一項(xiàng)所述的反輪廓查詢裝置;所述第二裝置為如權(quán)利要求8-9任一項(xiàng)所述的反輪廓查詢裝置。
全文摘要
本發(fā)明公開了一種反輪廓查詢方法、裝置及系統(tǒng),該反輪廓查詢方法、裝置及系統(tǒng)應(yīng)用于分布式數(shù)據(jù)集,所述反輪廓查詢方法利用全局支配的概念,在中央節(jié)點(diǎn)和分布節(jié)點(diǎn)計(jì)算查詢點(diǎn)的全局輪廓點(diǎn)集后,會(huì)進(jìn)一步計(jì)算出第二層全局輪廓點(diǎn)集;結(jié)合數(shù)據(jù)摘要的思想,分布節(jié)點(diǎn)采用基于兩層輪廓點(diǎn)傳送方法,避免發(fā)送全部數(shù)據(jù)集,通信開銷合理,且中央節(jié)點(diǎn)和分布節(jié)點(diǎn)的負(fù)載也比較平衡,能夠很好的應(yīng)用于分布式數(shù)據(jù)集環(huán)境。通過本發(fā)明實(shí)施例公開的反輪廓查詢方法、裝置及系統(tǒng),填補(bǔ)了分布式數(shù)據(jù)集環(huán)境中反輪廓查詢技術(shù)的空白,實(shí)現(xiàn)了分布式數(shù)據(jù)集環(huán)境中的反輪廓查詢。
文檔編號(hào)G06F17/30GK103207915SQ201310136508
公開日2013年7月17日 申請(qǐng)日期2013年4月18日 優(yōu)先權(quán)日2013年4月18日
發(fā)明者趙雷, 楊萍萍 申請(qǐng)人:蘇州大學(xué)