本發(fā)明涉及查詢技術(shù)領(lǐng)域,特別涉及一種高維空間數(shù)據(jù)的查詢方法、裝置及計(jì)算機(jī)可讀介質(zhì)。
背景技術(shù):
隨著多媒體數(shù)據(jù)爆炸性的增長(zhǎng),海量信息的檢索也遇到了前所未有的挑戰(zhàn)。由于多媒體數(shù)據(jù)多為非結(jié)構(gòu)化數(shù)據(jù),包括圖像、視頻和音頻等,其語(yǔ)義信息無(wú)法直接由底層特征表達(dá),使得傳統(tǒng)信息檢索不再適用,迫切需要發(fā)展面向多媒體數(shù)據(jù)的檢索方法。
通常的做法是為多媒體數(shù)據(jù)元提取特征向量,把海量多媒體數(shù)據(jù)庫(kù)上的相似性檢索轉(zhuǎn)化為大規(guī)模高維特征向量間的NN(Nearest Neighbor,最近鄰)查詢問題。給定一個(gè)查詢對(duì)象,在信息庫(kù)數(shù)據(jù)集中運(yùn)用指定度量標(biāo)準(zhǔn)衡量特征向量間的相似性,最終找到和查詢對(duì)象在特征上最接近的數(shù)據(jù)元。
然而現(xiàn)有技術(shù)在進(jìn)行相似性查詢時(shí),是隨機(jī)在存儲(chǔ)有數(shù)據(jù)點(diǎn)的各個(gè)磁盤頁(yè)面上進(jìn)行查詢,查詢效率較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種高維空間數(shù)據(jù)的查詢方法、裝置及計(jì)算機(jī)可讀介質(zhì),以提高查詢效率。
第一方面,本發(fā)明實(shí)施例提供了一種高維空間數(shù)據(jù)的查詢方法,包括:
針對(duì)高維空間的每一個(gè)數(shù)據(jù)點(diǎn),確定相應(yīng)的Z值;
將各個(gè)數(shù)據(jù)點(diǎn)按照相應(yīng)Z值的大小順序,依次存儲(chǔ)到磁盤中的磁盤頁(yè)面上;
根據(jù)每一個(gè)數(shù)據(jù)點(diǎn)相應(yīng)的Z值和存儲(chǔ)有數(shù)據(jù)點(diǎn)的各個(gè)磁盤頁(yè)面,建立索引表;
確定查詢點(diǎn),并計(jì)算所述索引表中每一個(gè)磁盤頁(yè)面與所述查詢點(diǎn)的距離;
根據(jù)所述索引表中每一個(gè)磁盤頁(yè)面與所述查詢點(diǎn)的距離,進(jìn)行數(shù)據(jù)查詢。
優(yōu)選地,所述針對(duì)高維空間的每一個(gè)數(shù)據(jù)點(diǎn),確定相應(yīng)的Z值,包括:
利用下述方式確定高維空間中當(dāng)前數(shù)據(jù)點(diǎn)p的Z值:
確定復(fù)合LSH函數(shù)G,其中,復(fù)合LSH函數(shù)G中包括m個(gè)哈希函數(shù),m為不小于1的整數(shù);
計(jì)算當(dāng)前數(shù)據(jù)點(diǎn)p在復(fù)合LSH函數(shù)G下的復(fù)合哈希鍵K=G(p);其中,ki用于表征復(fù)合哈希鍵K中第i個(gè)哈希值,每一個(gè)哈希值為二進(jìn)制數(shù);
針對(duì)復(fù)合哈希鍵K中包括的每一個(gè)哈希值進(jìn)行位交叉操作,生成當(dāng)前數(shù)據(jù)點(diǎn)p的Z值Z(p);
利用上述確定當(dāng)前數(shù)據(jù)點(diǎn)p的Z值的方式,確定高維空間中除當(dāng)前數(shù)據(jù)點(diǎn)p以外的其他每一個(gè)數(shù)據(jù)點(diǎn)相應(yīng)的Z值。
優(yōu)選地,所述根據(jù)每一個(gè)數(shù)據(jù)點(diǎn)相應(yīng)的Z值和存儲(chǔ)有數(shù)據(jù)點(diǎn)的各個(gè)磁盤頁(yè)面,建立索引表,包括:
在每一個(gè)磁盤頁(yè)面上選擇第一設(shè)定個(gè)數(shù)的數(shù)據(jù)點(diǎn)作為相應(yīng)磁盤頁(yè)面的代表數(shù)據(jù)點(diǎn);
根據(jù)每一個(gè)代表數(shù)據(jù)點(diǎn)對(duì)應(yīng)的Z值,構(gòu)建B+樹索引;
將所述B+樹索引和存儲(chǔ)有數(shù)據(jù)點(diǎn)的各個(gè)磁盤頁(yè)面,構(gòu)建為索引表。
優(yōu)選地,
所述第一設(shè)定個(gè)數(shù)為2;
所述計(jì)算所述索引表中每一個(gè)磁盤頁(yè)面與所述查詢點(diǎn)的距離,包括:
利用第一公式計(jì)算所述索引表中當(dāng)前磁盤頁(yè)面與所述查詢點(diǎn)q的距離DistPage:
所述第一公式:
其中,Zq用于表征所述查詢點(diǎn)q對(duì)應(yīng)的Z值,L和U分別為在該當(dāng)前磁盤頁(yè)面上選擇的兩個(gè)代表數(shù)據(jù)點(diǎn)分別對(duì)應(yīng)的Z值;dist(Zq,L)用于表征Zq與L之間的距離,dist(Zq,U)用于表征Zq與U之間的距離。
優(yōu)選地,
進(jìn)一步包括:建立第二設(shè)定個(gè)數(shù)的索引表,以根據(jù)所述第二設(shè)定個(gè)數(shù)的索引表執(zhí)行所述根據(jù)所述索引表中每一個(gè)磁盤頁(yè)面與所述查詢點(diǎn)的距離,進(jìn)行數(shù)據(jù)查詢的操作;
所述根據(jù)所述索引表中每一個(gè)磁盤頁(yè)面與所述查詢點(diǎn)的距離,進(jìn)行數(shù)據(jù)查詢,包括:
S1:將每一個(gè)索引表中距離所述查詢點(diǎn)最近的磁盤頁(yè)面,以及該磁盤頁(yè)面相鄰的一個(gè)磁盤頁(yè)面加載到頁(yè)面集中;
S2:在所述頁(yè)面集中計(jì)算距離所述查詢點(diǎn)最近的目標(biāo)磁盤頁(yè)面,將所述目標(biāo)磁盤頁(yè)面從所述頁(yè)面集中取出;
S3:針對(duì)取出的所述目標(biāo)磁盤頁(yè)面上的各個(gè)數(shù)據(jù)點(diǎn)進(jìn)行查詢,并將所述目標(biāo)磁盤頁(yè)面所屬索引表中與所述目標(biāo)磁盤頁(yè)面相鄰的且未加載到所述頁(yè)面集中的磁盤頁(yè)面加載到所述頁(yè)面集中,并繼續(xù)執(zhí)行S2-S3,直到S3中進(jìn)行查詢的目標(biāo)磁盤頁(yè)面為從所述頁(yè)面集中取出的第NP個(gè)磁盤頁(yè)面為止,其中,NP為預(yù)先設(shè)置的第三設(shè)定個(gè)數(shù)。
第二方面,本發(fā)明實(shí)施例提供了一種高維空間數(shù)據(jù)的查詢裝置,包括:
確定單元,用于針對(duì)高維空間的每一個(gè)數(shù)據(jù)點(diǎn),確定相應(yīng)的Z值;
放置單元,用于將各個(gè)數(shù)據(jù)點(diǎn)按照相應(yīng)Z值的大小順序,依次存儲(chǔ)到磁盤中的磁盤頁(yè)面上;
建立單元,用于根據(jù)每一個(gè)數(shù)據(jù)點(diǎn)相應(yīng)的Z值和存儲(chǔ)有數(shù)據(jù)點(diǎn)的各個(gè)磁盤頁(yè)面,建立索引表;
計(jì)算單元,用于確定查詢點(diǎn),并計(jì)算所述索引表中每一個(gè)磁盤頁(yè)面與所述查詢點(diǎn)的距離;
查詢單元,用于根據(jù)所述索引表中每一個(gè)磁盤頁(yè)面與所述查詢點(diǎn)的距離,進(jìn)行數(shù)據(jù)查詢。
優(yōu)選地,
所述確定單元,具體用于利用下述方式確定高維空間中當(dāng)前數(shù)據(jù)點(diǎn)p的Z值:
確定復(fù)合LSH函數(shù)G,其中,復(fù)合LSH函數(shù)G中包括m個(gè)哈希函數(shù),m為不小于1的整數(shù);
計(jì)算當(dāng)前數(shù)據(jù)點(diǎn)p在復(fù)合LSH函數(shù)G下的復(fù)合哈希鍵K=G(p);其中,ki用于表征復(fù)合哈希鍵K中第i個(gè)哈希值,每一個(gè)哈希值為二進(jìn)制數(shù);
針對(duì)復(fù)合哈希鍵K中包括的每一個(gè)哈希值進(jìn)行位交叉操作,生成當(dāng)前數(shù)據(jù)點(diǎn)p的Z值Z(p);
利用上述確定當(dāng)前數(shù)據(jù)點(diǎn)p的Z值的方式,確定高維空間中除當(dāng)前數(shù)據(jù)點(diǎn)p以外的其他每一個(gè)數(shù)據(jù)點(diǎn)相應(yīng)的Z值;
和/或,
所述建立單元,具體用于:
在每一個(gè)磁盤頁(yè)面上選擇第一設(shè)定個(gè)數(shù)的數(shù)據(jù)點(diǎn)作為相應(yīng)磁盤頁(yè)面的代表數(shù)據(jù)點(diǎn);
根據(jù)每一個(gè)代表數(shù)據(jù)點(diǎn)對(duì)應(yīng)的Z值,構(gòu)建B+樹索引;
將所述B+樹索引和存儲(chǔ)有數(shù)據(jù)點(diǎn)的各個(gè)磁盤頁(yè)面,構(gòu)建為索引表。
優(yōu)選地,
所述第一設(shè)定個(gè)數(shù)為2;
所述計(jì)算單元,具體用于利用第一公式計(jì)算所述索引表中當(dāng)前磁盤頁(yè)面與所述查詢點(diǎn)q的距離DistPage:
所述第一公式:
其中,Zq用于表征所述查詢點(diǎn)q對(duì)應(yīng)的Z值,L和U分別為在該當(dāng)前磁盤頁(yè)面上選擇的兩個(gè)代表數(shù)據(jù)點(diǎn)分別對(duì)應(yīng)的Z值;dist(Zq,L)用于表征Zq與L之間的距離,dist(Zq,U)用于表征Zq與U之間的距離。
優(yōu)選地,
所述建立單元,進(jìn)一步用于建立第二設(shè)定個(gè)數(shù)的索引表,以根據(jù)所述第二設(shè)定個(gè)數(shù)的索引表執(zhí)行所述根據(jù)所述索引表中每一個(gè)磁盤頁(yè)面與所述查詢點(diǎn)的距離,進(jìn)行數(shù)據(jù)查詢的操作;
所述查詢單元,具體用于執(zhí)行如下步驟:
S1:將每一個(gè)索引表中距離所述查詢點(diǎn)最近的磁盤頁(yè)面,以及該磁盤頁(yè)面相鄰的一個(gè)磁盤頁(yè)面加載到頁(yè)面集中;
S2:在所述頁(yè)面集中計(jì)算距離所述查詢點(diǎn)最近的目標(biāo)磁盤頁(yè)面,將所述目標(biāo)磁盤頁(yè)面從所述頁(yè)面集中取出;
S3:針對(duì)取出的所述目標(biāo)磁盤頁(yè)面上的各個(gè)數(shù)據(jù)點(diǎn)進(jìn)行查詢,并將所述目標(biāo)磁盤頁(yè)面所屬索引表中與所述目標(biāo)磁盤頁(yè)面相鄰的且未加載到所述頁(yè)面集中的磁盤頁(yè)面加載到所述頁(yè)面集中,并繼續(xù)執(zhí)行S2-S3,直到S3中進(jìn)行查詢的目標(biāo)磁盤頁(yè)面為從所述頁(yè)面集中取出的第NP個(gè)磁盤頁(yè)面為止,其中,NP為預(yù)先設(shè)置的第三設(shè)定個(gè)數(shù)。
第三方面,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀介質(zhì)上存儲(chǔ)有計(jì)算機(jī)指令,所述計(jì)算機(jī)指令在被處理器執(zhí)行時(shí),使所述處理器執(zhí)行上述任一所述的方法。
本發(fā)明實(shí)施例提供了一種高維空間數(shù)據(jù)的查詢方法、裝置及計(jì)算機(jī)可讀介質(zhì),通過確定高維空間中每一個(gè)數(shù)據(jù)點(diǎn)的Z值,按照各個(gè)數(shù)據(jù)點(diǎn)Z值的大小順序,對(duì)數(shù)據(jù)點(diǎn)進(jìn)行存儲(chǔ),如此,相鄰的兩個(gè)磁盤頁(yè)面上的數(shù)據(jù)點(diǎn)對(duì)應(yīng)Z值具有一定的關(guān)系,例如當(dāng)前磁盤頁(yè)面上各個(gè)數(shù)據(jù)點(diǎn)分別對(duì)應(yīng)的Z值均比相鄰磁盤頁(yè)面上各個(gè)數(shù)據(jù)點(diǎn)分別對(duì)應(yīng)的Z值大或小,因此,磁盤頁(yè)面上的數(shù)據(jù)點(diǎn)具有一定的聚斂性,因此,根據(jù)查詢點(diǎn)與每一個(gè)磁盤頁(yè)面的距離來進(jìn)行數(shù)據(jù)查詢,可以提高查詢效率。
附圖說明
為了更清楚地說明本發(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ā)明一個(gè)實(shí)施例提供的一種方法流程圖;
圖2是本發(fā)明一個(gè)實(shí)施例提供的另一種方法流程圖;
圖3是本發(fā)明一個(gè)實(shí)施例提供的位交叉操作示意圖;
圖4是本發(fā)明一個(gè)實(shí)施例提供的排序示意圖;
圖5是本發(fā)明一個(gè)實(shí)施例提供的裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,本發(fā)明實(shí)施例提供了一種高維空間數(shù)據(jù)的查詢方法,該方法可以包括以下步驟:
步驟101:針對(duì)高維空間的每一個(gè)數(shù)據(jù)點(diǎn),確定相應(yīng)的Z值;
步驟102:將各個(gè)數(shù)據(jù)點(diǎn)按照相應(yīng)Z值的大小順序,依次存儲(chǔ)到磁盤中的磁盤頁(yè)面上;
步驟103:根據(jù)每一個(gè)數(shù)據(jù)點(diǎn)相應(yīng)的Z值和存儲(chǔ)有數(shù)據(jù)點(diǎn)的各個(gè)磁盤頁(yè)面,建立索引表;
步驟104:確定查詢點(diǎn),并計(jì)算所述索引表中每一個(gè)磁盤頁(yè)面與所述查詢點(diǎn)的距離;
步驟105:根據(jù)所述索引表中每一個(gè)磁盤頁(yè)面與所述查詢點(diǎn)的距離,進(jìn)行數(shù)據(jù)查詢。
根據(jù)本發(fā)明上述實(shí)施例,通過確定高維空間中每一個(gè)數(shù)據(jù)點(diǎn)的Z值,按照各個(gè)數(shù)據(jù)點(diǎn)Z值的大小順序,對(duì)數(shù)據(jù)點(diǎn)進(jìn)行存儲(chǔ),如此,相鄰的兩個(gè)磁盤頁(yè)面上的數(shù)據(jù)點(diǎn)對(duì)應(yīng)Z值具有一定的關(guān)系,例如當(dāng)前磁盤頁(yè)面上各個(gè)數(shù)據(jù)點(diǎn)分別對(duì)應(yīng)的Z值均比相鄰磁盤頁(yè)面上各個(gè)數(shù)據(jù)點(diǎn)分別對(duì)應(yīng)的Z值大或小,因此,磁盤頁(yè)面上的數(shù)據(jù)點(diǎn)具有一定的聚斂性,因此,根據(jù)查詢點(diǎn)與每一個(gè)磁盤頁(yè)面的距離來進(jìn)行數(shù)據(jù)查詢,可以提高查詢效率。
在一些常見的索引技術(shù)中,例如,SK-LSH(Locality-Sensitive Hashing,局部敏感哈希),也會(huì)將高維空間的數(shù)據(jù)點(diǎn)構(gòu)建為空間曲線,SK-LSH索引技術(shù)是將高維空間的數(shù)據(jù)點(diǎn)構(gòu)建為row-wise曲線,其中,row-wise曲線在高維空間中呈現(xiàn)的數(shù)據(jù)點(diǎn)聚斂性較差,因此,在本發(fā)明一個(gè)實(shí)施例中,可以將高維空間的數(shù)據(jù)點(diǎn)構(gòu)建為z-order曲線,以使數(shù)據(jù)點(diǎn)在高維空間中呈現(xiàn)Z型,提高數(shù)據(jù)點(diǎn)的聚斂性,以進(jìn)一步提高查詢效率。在構(gòu)建z-order曲線時(shí),需要確定出每一個(gè)數(shù)據(jù)點(diǎn)的Z值,可以通過如下方式確定高維空間中當(dāng)前數(shù)據(jù)點(diǎn)p的Z值:
確定復(fù)合LSH函數(shù)G,其中,復(fù)合LSH函數(shù)G中包括m個(gè)哈希函數(shù),m為不小于1的整數(shù);
計(jì)算當(dāng)前數(shù)據(jù)點(diǎn)p在復(fù)合LSH函數(shù)G下的復(fù)合哈希鍵K=G(p);其中,ki用于表征復(fù)合哈希鍵K中第i個(gè)哈希值,每一個(gè)哈希值為二進(jìn)制數(shù);
針對(duì)復(fù)合哈希鍵K中包括的每一個(gè)哈希值進(jìn)行位交叉操作,生成當(dāng)前數(shù)據(jù)點(diǎn)p的Z值Z(p);
利用上述確定當(dāng)前數(shù)據(jù)點(diǎn)p的Z值的方式,確定高維空間中除當(dāng)前數(shù)據(jù)點(diǎn)p以外的其他每一個(gè)數(shù)據(jù)點(diǎn)相應(yīng)的Z值。
其中,該位交叉操作方式是首先從k1、k2、…、ki分別取第一個(gè)哈希值依次放置在Z(p)中,然后從k1、k2、…、ki分別取第二個(gè)哈希值依次放置在Z(p)中,……,一直到從k1、k2、…、ki分別取最后個(gè)哈希值依次放置在Z(p)中,此時(shí)的Z(p)即為當(dāng)前數(shù)據(jù)點(diǎn)p的Z值。
由于i最大為m,若每一個(gè)哈希值為一個(gè)u位的二進(jìn)制序列,那么Z(p)是一個(gè)長(zhǎng)度為um的二進(jìn)制串。
通過將高維空間的數(shù)據(jù)點(diǎn)構(gòu)建為z-order曲線,可以使數(shù)據(jù)點(diǎn)在高維空間中呈現(xiàn)Z型,提高數(shù)據(jù)點(diǎn)的聚斂性,以進(jìn)一步提高查詢效率。
在本發(fā)明一個(gè)實(shí)施例中,在將數(shù)據(jù)點(diǎn)存儲(chǔ)到磁盤上時(shí),可以分別存儲(chǔ)在磁盤頁(yè)面上,每一個(gè)磁盤頁(yè)面可以存儲(chǔ)的數(shù)據(jù)點(diǎn)個(gè)數(shù)為B,若在加載該磁盤頁(yè)面上存儲(chǔ)的數(shù)據(jù)點(diǎn)時(shí),由于一個(gè)磁盤頁(yè)面上存儲(chǔ)的數(shù)據(jù)點(diǎn)個(gè)數(shù)較多,若全部加載到內(nèi)存中,可能會(huì)造成內(nèi)存占用不夠的問題,給查詢的準(zhǔn)確率帶來影響,因此,在建立索引表時(shí),可以在每一個(gè)磁盤頁(yè)面上選擇第一設(shè)定個(gè)數(shù)的數(shù)據(jù)點(diǎn)作為相應(yīng)磁盤頁(yè)面的代表數(shù)據(jù)點(diǎn);根據(jù)每一個(gè)代表數(shù)據(jù)點(diǎn)對(duì)應(yīng)的Z值,構(gòu)建B+樹索引;將所述B+樹索引和存儲(chǔ)有數(shù)據(jù)點(diǎn)的各個(gè)磁盤頁(yè)面,構(gòu)建為索引表。
其中,該第一設(shè)定個(gè)數(shù)由具體的開發(fā)人員來設(shè)置,在不同磁盤頁(yè)面上選擇的數(shù)據(jù)點(diǎn)的個(gè)數(shù)相同,也可以不相同,優(yōu)選地,該第一設(shè)定個(gè)數(shù)為2,且都在每一個(gè)磁盤頁(yè)面上選擇該磁盤頁(yè)面存儲(chǔ)的第一個(gè)數(shù)據(jù)點(diǎn)和最后一個(gè)數(shù)據(jù)點(diǎn)作為代表數(shù)據(jù)點(diǎn)。
如此,在將磁盤頁(yè)面加載到內(nèi)存上時(shí),可以只加載這兩個(gè)代表數(shù)據(jù)點(diǎn),根據(jù)這兩個(gè)代表數(shù)據(jù)點(diǎn)即可以定位到磁盤頁(yè)面,進(jìn)而對(duì)該磁盤頁(yè)面上的所有數(shù)據(jù)點(diǎn)進(jìn)行查詢,從而可以降低內(nèi)存的占用。
在進(jìn)行數(shù)據(jù)查詢時(shí),可以采用近似最近鄰查詢方式,由于在索引表中包括多個(gè)磁盤頁(yè)面,需要查詢距離查詢點(diǎn)最近的磁盤頁(yè)面,在第一設(shè)定個(gè)數(shù)為2時(shí),在每一個(gè)磁盤頁(yè)面上分別取的代表數(shù)據(jù)點(diǎn)對(duì)應(yīng)的Z值為L(zhǎng)、U為例,那么可以通過如下方式計(jì)算所述索引表中每一個(gè)磁盤頁(yè)面與所述查詢點(diǎn)的距離:利用第一公式計(jì)算所述索引表中當(dāng)前磁盤頁(yè)面與所述查詢點(diǎn)q的距離DistPage:
所述第一公式:
其中,Zq用于表征所述查詢點(diǎn)q對(duì)應(yīng)的Z值,L和U分別為在該當(dāng)前磁盤頁(yè)面上選擇的兩個(gè)代表數(shù)據(jù)點(diǎn)分別對(duì)應(yīng)的Z值;dist(Zq,L)用于表征Zq與L之間的距離,dist(Zq,U)用于表征Zq與U之間的距離。
對(duì)于兩個(gè)Z值之間的大小關(guān)系,以及兩個(gè)Z值之間的距離,可以通過z-order曲線的特性來確定,從而可以利用上述第一公式計(jì)算出查詢點(diǎn)到磁盤頁(yè)面的距離。
在本發(fā)明一個(gè)實(shí)施例中,由于利用一個(gè)索引表進(jìn)行數(shù)據(jù)點(diǎn)的查詢時(shí),可能存在最近鄰候選點(diǎn)的漏報(bào)問題,從而給查詢結(jié)果的準(zhǔn)確率帶來影響,因此,為了減少最近鄰候選點(diǎn)的漏報(bào),可以建立第二設(shè)定個(gè)數(shù)的索引表,以根據(jù)所述第二設(shè)定個(gè)數(shù)的索引表執(zhí)行所述根據(jù)所述索引表中每一個(gè)磁盤頁(yè)面與所述查詢點(diǎn)的距離,進(jìn)行數(shù)據(jù)查詢的操作。
在根據(jù)所述索引表中每一個(gè)磁盤頁(yè)面與所述查詢點(diǎn)的距離,進(jìn)行數(shù)據(jù)查詢時(shí),可以通過如下策略進(jìn)行查詢:
S1:將每一個(gè)索引表中距離所述查詢點(diǎn)最近的磁盤頁(yè)面,以及該磁盤頁(yè)面相鄰的一個(gè)磁盤頁(yè)面加載到頁(yè)面集中;
S2:在所述頁(yè)面集中計(jì)算距離所述查詢點(diǎn)最近的目標(biāo)磁盤頁(yè)面,將所述目標(biāo)磁盤頁(yè)面從所述頁(yè)面集中取出;
S3:針對(duì)取出的所述目標(biāo)磁盤頁(yè)面上的各個(gè)數(shù)據(jù)點(diǎn)進(jìn)行查詢,并將所述目標(biāo)磁盤頁(yè)面所屬索引表中與所述目標(biāo)磁盤頁(yè)面相鄰的且未加載到所述頁(yè)面集中的磁盤頁(yè)面加載到所述頁(yè)面集中,并繼續(xù)執(zhí)行S2-S3,直到S3中進(jìn)行查詢的目標(biāo)磁盤頁(yè)面為從所述頁(yè)面集中取出的第NP個(gè)磁盤頁(yè)面為止,其中,NP為預(yù)先設(shè)置的第三設(shè)定個(gè)數(shù)。
設(shè)置第三設(shè)定個(gè)數(shù)NP的目的是為了便于控制磁盤開銷,因此,將NP作為查詢終止條件。
根據(jù)上述最近鄰查詢策略,可以保證每次從頁(yè)面集中取出的目標(biāo)磁盤頁(yè)面是所有索引表中距離查詢點(diǎn)最近的磁盤頁(yè)面,且由于磁盤頁(yè)面中存儲(chǔ)的數(shù)據(jù)點(diǎn)的Z值存在聚斂性,從而可以提高查詢效率。
下面結(jié)合附圖并以一個(gè)具體的實(shí)施例對(duì)本發(fā)明進(jìn)行進(jìn)一步的描述。
如圖2所示,本發(fā)明實(shí)施例提供了一種高維空間數(shù)據(jù)的查詢方法,該方法可以包括以下步驟:
步驟201:針對(duì)高維空間的每一個(gè)數(shù)據(jù)點(diǎn),確定相應(yīng)的Z值。
對(duì)于z-order曲線是指多為空間Rm到一維空間I的一種映射,記作Z:Rm→I。若點(diǎn)x∈Rm,則x映射到z-order上的像Z(x)∈I,稱Z(x)為x的Z值。
其中,Z值的計(jì)算過程如下:確定高維空間對(duì)應(yīng)的復(fù)合LSH函數(shù)G,其中,復(fù)合LSH函數(shù)G中包括m個(gè)哈希函數(shù),m為不小于1的整數(shù);給定高維空間中一個(gè)數(shù)據(jù)點(diǎn)p,該數(shù)據(jù)點(diǎn)p在復(fù)合LSH函數(shù)G下的復(fù)合哈希鍵K=G(p);其中,ki用于表征復(fù)合哈希鍵K中第i個(gè)哈希值,每一個(gè)哈希值為二進(jìn)制數(shù);可以將K看作m維空間中的坐標(biāo),并將坐標(biāo)中每一位數(shù)值表示成一個(gè)u位的二進(jìn)制序列,針對(duì)復(fù)合哈希鍵K中包括的每一個(gè)哈希值進(jìn)行位交叉操作,生成當(dāng)前數(shù)據(jù)點(diǎn)p的Z值Z(p);其中,Z(p)是字符串長(zhǎng)度為um的二進(jìn)制序列。
該位交叉操作是首先從k1、k2、…、ki分別取第一個(gè)哈希值依次放置在Z(p)中,然后從k1、k2、…、ki分別取第二個(gè)哈希值依次放置在Z(p)中,……,一直到從k1、k2、…、ki分別取最后個(gè)哈希值依次放置在Z(p)中,此時(shí)的Z(p)即為當(dāng)前數(shù)據(jù)點(diǎn)p的Z值。
請(qǐng)參考圖3,以ki和ki+1兩個(gè)哈希值為例,每一個(gè)哈希值中包括三位二進(jìn)制數(shù),那么對(duì)這兩個(gè)哈希值進(jìn)行位交叉操作之后,得到二進(jìn)制序列長(zhǎng)度為6的Z(ki,ki+1)。
步驟202:根據(jù)z-order曲線的特性,確定各個(gè)Z值之間的關(guān)系。
Z值的前綴:給定高維空間的一個(gè)數(shù)據(jù)點(diǎn)p,它的Z值為Z(p)=(z1,z2,…zM),其中,M=um,表示z-order二進(jìn)制串的長(zhǎng)度。令l代表Z值的前綴長(zhǎng)度,其前綴表示為pref(Z,l),那么:
pref(Z,l)=(z1,z2,…zM)
Z值的非公共前綴長(zhǎng)度:給定兩個(gè)Z值序列Z1=(z1,,z1,,…z1,)和Z2=(z2,,z2,,…z2,),若存在pref(Z1,l)=pref(Z2,l)成立,并且pref(Z1,l+1≠prefZ2,l+1,0<<l<<M,那么定義Z1,Z2的非公共前綴長(zhǎng)度KDZ1,Z2為:KD(Z1,Z2)=M-l。
如果Z1,Z2滿足pref(Z1,M)=pref(Z2,M),那么KD(Z1,Z2)=0。Z值間的距離:給定兩個(gè)Z值序列Z1,Z2,定義它們之間的距離為:
dist(Z1,Z2)=KD(Z1,Z2)
Z值間的比較關(guān)系:給定兩個(gè)Z值序列Z1,Z2,定義它們之間的比較關(guān)系如下:
步驟203:將高維空間中數(shù)據(jù)集D包括的每一個(gè)數(shù)據(jù)點(diǎn)對(duì)應(yīng)的Z值按照升序排列,得到排序后的Z',并按照該Z值升序的順序重新將數(shù)據(jù)點(diǎn)進(jìn)行排列,得到排序后的數(shù)據(jù)集D',將數(shù)據(jù)集D'存儲(chǔ)到磁盤上。
請(qǐng)參考圖4,為排序示意圖,最終得到排序后的數(shù)據(jù)集D'。
在數(shù)據(jù)集D'中的數(shù)據(jù)點(diǎn)存儲(chǔ)到磁盤上時(shí),可以存儲(chǔ)為多個(gè)磁盤頁(yè)面,每一個(gè)磁盤頁(yè)面的大小為B,表示一個(gè)磁盤頁(yè)面可以容納的數(shù)據(jù)點(diǎn)的個(gè)數(shù),那么整個(gè)數(shù)據(jù)集D'將占據(jù)個(gè)磁盤頁(yè)面。
步驟204:在每一個(gè)磁盤頁(yè)面上選擇第一數(shù)據(jù)點(diǎn)和最后一個(gè)數(shù)據(jù)點(diǎn)作為代表數(shù)據(jù)點(diǎn),這兩個(gè)代表數(shù)據(jù)點(diǎn)對(duì)應(yīng)的Z值作為該磁盤頁(yè)面的代表。
其中,在各個(gè)磁盤頁(yè)面上選擇的數(shù)據(jù)點(diǎn)個(gè)數(shù)可以相同也可以不同,且選擇的數(shù)據(jù)點(diǎn)也可以是隨機(jī)選擇,優(yōu)選地,設(shè)定在每一個(gè)磁盤頁(yè)面上選擇數(shù)據(jù)點(diǎn)的個(gè)數(shù)為2,且選擇第一個(gè)數(shù)據(jù)點(diǎn)和最后一個(gè)數(shù)據(jù)點(diǎn)作為代表數(shù)據(jù)點(diǎn)。
可以記第i個(gè)磁盤頁(yè)面上選取的代表為<Li,Ui>。
步驟205:將各個(gè)磁盤頁(yè)面上選擇的兩個(gè)代表數(shù)據(jù)點(diǎn)對(duì)應(yīng)的Z值構(gòu)建為B+樹索引,該B+樹索引和各個(gè)磁盤頁(yè)面存儲(chǔ)的數(shù)據(jù)點(diǎn)構(gòu)成索引表T。
步驟206:根據(jù)索引表的構(gòu)成方式建立N個(gè)索引表。
由于利用一個(gè)索引表進(jìn)行數(shù)據(jù)點(diǎn)的查詢時(shí),可能存在最近鄰候選點(diǎn)的漏報(bào)問題,從而給查詢結(jié)果的準(zhǔn)確率帶來影響,因此,為了減少最近鄰候選點(diǎn)的漏報(bào),可以建立多個(gè)索引表,以根據(jù)多個(gè)索引表中每一個(gè)磁盤頁(yè)面與查詢點(diǎn)的距離,進(jìn)行數(shù)據(jù)查詢的操作。
由于D'的原因,每創(chuàng)建一個(gè)索引表就意味著多一份原始數(shù)據(jù)集的拷貝,對(duì)于大規(guī)模高維數(shù)據(jù)集來說,這是一筆可觀的空間開銷。由于本實(shí)施例使用了聚斂性更高的z-order曲線,因此在索引中鄰近點(diǎn)的局部聚斂性得到進(jìn)一步優(yōu)化,使得在最近鄰查詢時(shí)同樣的磁盤訪問能夠加載到更多候選點(diǎn),分擔(dān)了多個(gè)索引表的任務(wù)。本實(shí)施例相對(duì)于現(xiàn)有技術(shù)可以建立更少的索引表達(dá)到相同的搜索精度。
步驟207:確定查詢點(diǎn)以及設(shè)置查詢過程中能夠加載的磁盤頁(yè)面?zhèn)€數(shù)Np。
步驟208:針對(duì)每一個(gè)索引表,計(jì)算當(dāng)前索引表中每一個(gè)磁盤頁(yè)面與查詢點(diǎn)之間的距離。
其中,查詢點(diǎn)q與一個(gè)磁盤頁(yè)面之間的距離可以通過如下公式來計(jì)算:
其中,Zq用于表征所述查詢點(diǎn)q對(duì)應(yīng)的Z值,L和U分別為在該當(dāng)前磁盤頁(yè)面上選擇的兩個(gè)代表數(shù)據(jù)點(diǎn)分別對(duì)應(yīng)的Z值;dist(Zq,L)用于表征Zq與L之間的距離,dist(Zq,U)用于表征Zq與U之間的距離。
對(duì)于兩個(gè)Z值之間的大小關(guān)系,以及兩個(gè)Z值之間的距離,可以根據(jù)步驟202來確定。
步驟209:將每一個(gè)索引表中距離所述查詢點(diǎn)最近的磁盤頁(yè)面,以及該磁盤頁(yè)面相鄰的一個(gè)磁盤頁(yè)面加載到頁(yè)面集Q中。
步驟210:在頁(yè)面集Q中計(jì)算距離查詢點(diǎn)最近的目標(biāo)磁盤頁(yè)面,將目標(biāo)磁盤頁(yè)面從頁(yè)面集Q中取出。
步驟211:針對(duì)取出的目標(biāo)磁盤頁(yè)面上的各個(gè)數(shù)據(jù)點(diǎn)進(jìn)行查詢,并將目標(biāo)磁盤頁(yè)面所屬索引表中與目標(biāo)磁盤頁(yè)面相鄰的且未加載到頁(yè)面集Q中的磁盤頁(yè)面加載到頁(yè)面集Q中,并繼續(xù)執(zhí)行步驟210-211,直到步驟211中進(jìn)行查詢的目標(biāo)磁盤頁(yè)面為從所述頁(yè)面集Q中取出的第NP個(gè)磁盤頁(yè)面為止。
針對(duì)步驟209-211,假設(shè)有三個(gè)索引表,N1、N2和N3,在N1索引表中確定距離查詢點(diǎn)最近的是磁盤頁(yè)面B11,在N2索引表中確定距離查詢點(diǎn)最近的是磁盤頁(yè)面B25,在N3索引表中確定距離查詢點(diǎn)最近的是磁盤頁(yè)面B32,那么將每一個(gè)索引表中距離查詢點(diǎn)最近的磁盤頁(yè)面以及該磁盤頁(yè)面的一個(gè)相鄰磁盤頁(yè)面加載到頁(yè)面集Q中,本實(shí)施例以加載該最近距離的磁盤頁(yè)面的右側(cè)磁盤頁(yè)面為例進(jìn)行說明,那么將磁盤頁(yè)面B11、磁盤頁(yè)面B12、磁盤頁(yè)面B25、磁盤頁(yè)面B26、磁盤頁(yè)面B32和磁盤頁(yè)面B33加載到頁(yè)面集Q中。
在頁(yè)面集Q中包括的6個(gè)磁盤頁(yè)面中進(jìn)一步確定距離查詢點(diǎn)q最近的磁盤頁(yè)面,假設(shè)該目標(biāo)磁盤頁(yè)面為磁盤頁(yè)面B25,那么將磁盤頁(yè)面B25從頁(yè)面集Q中取出,以對(duì)磁盤頁(yè)面B25上存儲(chǔ)的各個(gè)數(shù)據(jù)點(diǎn)進(jìn)行相似性查詢。
由于頁(yè)面集Q中磁盤頁(yè)面B25被取出,那么確定磁盤頁(yè)面B25所屬索引表為N2,且由于磁盤頁(yè)面B26已經(jīng)被加載到了頁(yè)面集Q中,那么將磁盤頁(yè)面B24加載到頁(yè)面集Q中,并繼續(xù)執(zhí)行步驟210-211。
在本發(fā)明一個(gè)實(shí)施例中,若只使用一個(gè)索引表進(jìn)行查詢,那么無(wú)需建立頁(yè)面集Q,只需要在索引表中確定與查詢點(diǎn)最近的磁盤頁(yè)面,每確定出距離查詢點(diǎn)最近的磁盤頁(yè)面之后則進(jìn)行加載查詢,在查詢結(jié)束后繼續(xù)在該索引表剩余的磁盤頁(yè)面中確定距離查詢點(diǎn)最近的磁盤頁(yè)面,直到加載到Np個(gè)磁盤頁(yè)面為止。
請(qǐng)參考圖5,本發(fā)明實(shí)施例還提供了一種高維空間數(shù)據(jù)的查詢裝置,包括:
確定單元501,用于針對(duì)高維空間的每一個(gè)數(shù)據(jù)點(diǎn),確定相應(yīng)的Z值;
放置單元502,用于將各個(gè)數(shù)據(jù)點(diǎn)按照相應(yīng)Z值的大小順序,依次存儲(chǔ)到磁盤中的磁盤頁(yè)面上;
建立單元503,用于根據(jù)每一個(gè)數(shù)據(jù)點(diǎn)相應(yīng)的Z值和存儲(chǔ)有數(shù)據(jù)點(diǎn)的各個(gè)磁盤頁(yè)面,建立索引表;
計(jì)算單元504,用于確定查詢點(diǎn),并計(jì)算所述索引表中每一個(gè)磁盤頁(yè)面與所述查詢點(diǎn)的距離;
查詢單元505,用于根據(jù)所述索引表中每一個(gè)磁盤頁(yè)面與所述查詢點(diǎn)的距離,進(jìn)行數(shù)據(jù)查詢。
在本發(fā)明一個(gè)實(shí)施例中,所述確定單元,具體用于利用下述方式確定高維空間中當(dāng)前數(shù)據(jù)點(diǎn)p的Z值:
確定復(fù)合LSH函數(shù)G,其中,復(fù)合LSH函數(shù)G中包括m個(gè)哈希函數(shù),m為不小于1的整數(shù);
計(jì)算當(dāng)前數(shù)據(jù)點(diǎn)p在復(fù)合LSH函數(shù)G下的復(fù)合哈希鍵K=G(p);其中,ki用于表征復(fù)合哈希鍵K中第i個(gè)哈希值,每一個(gè)哈希值為二進(jìn)制數(shù);
針對(duì)復(fù)合哈希鍵K中包括的每一個(gè)哈希值進(jìn)行位交叉操作,生成當(dāng)前數(shù)據(jù)點(diǎn)p的Z值Z(p);
利用上述確定當(dāng)前數(shù)據(jù)點(diǎn)p的Z值的方式,確定高維空間中除當(dāng)前數(shù)據(jù)點(diǎn)p以外的其他每一個(gè)數(shù)據(jù)點(diǎn)相應(yīng)的Z值。
在本發(fā)明一個(gè)實(shí)施例中,所述建立單元,具體用于:
在每一個(gè)磁盤頁(yè)面上選擇第一設(shè)定個(gè)數(shù)的數(shù)據(jù)點(diǎn)作為相應(yīng)磁盤頁(yè)面的代表數(shù)據(jù)點(diǎn);
根據(jù)每一個(gè)代表數(shù)據(jù)點(diǎn)對(duì)應(yīng)的Z值,構(gòu)建B+樹索引;
將所述B+樹索引和存儲(chǔ)有數(shù)據(jù)點(diǎn)的各個(gè)磁盤頁(yè)面,構(gòu)建為索引表。
在本發(fā)明一個(gè)實(shí)施例中,所述第一設(shè)定個(gè)數(shù)為2;
所述計(jì)算單元,具體用于利用第一公式計(jì)算所述索引表中當(dāng)前磁盤頁(yè)面與所述查詢點(diǎn)q的距離DistPage:
所述第一公式:
其中,Zq用于表征所述查詢點(diǎn)q對(duì)應(yīng)的Z值,L和U分別為在該當(dāng)前磁盤頁(yè)面上選擇的兩個(gè)代表數(shù)據(jù)點(diǎn)分別對(duì)應(yīng)的Z值;dist(Zq,L)用于表征Zq與L之間的距離,dist(Zq,U)用于表征Zq與U之間的距離。
在本發(fā)明一個(gè)實(shí)施例中,所述建立單元,進(jìn)一步用于建立第二設(shè)定個(gè)數(shù)的索引表,以根據(jù)所述第二設(shè)定個(gè)數(shù)的索引表執(zhí)行所述根據(jù)所述索引表中每一個(gè)磁盤頁(yè)面與所述查詢點(diǎn)的距離,進(jìn)行數(shù)據(jù)查詢的操作;
所述查詢單元,具體用于執(zhí)行如下步驟:
S1:將每一個(gè)索引表中距離所述查詢點(diǎn)最近的磁盤頁(yè)面,以及該磁盤頁(yè)面相鄰的一個(gè)磁盤頁(yè)面加載到頁(yè)面集中;
S2:在所述頁(yè)面集中計(jì)算距離所述查詢點(diǎn)最近的目標(biāo)磁盤頁(yè)面,將所述目標(biāo)磁盤頁(yè)面從所述頁(yè)面集中取出;
S3:針對(duì)取出的所述目標(biāo)磁盤頁(yè)面上的各個(gè)數(shù)據(jù)點(diǎn)進(jìn)行查詢,并將所述目標(biāo)磁盤頁(yè)面所屬索引表中與所述目標(biāo)磁盤頁(yè)面相鄰的且未加載到所述頁(yè)面集中的磁盤頁(yè)面加載到所述頁(yè)面集中,并繼續(xù)執(zhí)行S2-S3,直到S3中進(jìn)行查詢的目標(biāo)磁盤頁(yè)面為從所述頁(yè)面集中取出的第NP個(gè)磁盤頁(yè)面為止,其中,NP為預(yù)先設(shè)置的第三設(shè)定個(gè)數(shù)。
本發(fā)明還提供了一種計(jì)算機(jī)可讀介質(zhì),存儲(chǔ)用于使一機(jī)器執(zhí)行如本文所述的程序代碼的查詢方法的指令。具體地,可以提供配有存儲(chǔ)介質(zhì)的系統(tǒng)或者裝置,在該存儲(chǔ)介質(zhì)上存儲(chǔ)著實(shí)現(xiàn)上述實(shí)施例中任一實(shí)施例的功能的軟件程序代碼,且使該系統(tǒng)或者裝置的計(jì)算機(jī)(或CPU或MPU)讀出并執(zhí)行存儲(chǔ)在存儲(chǔ)介質(zhì)中的程序代碼。
在這種情況下,從存儲(chǔ)介質(zhì)讀取的程序代碼本身可實(shí)現(xiàn)上述實(shí)施例中任何一項(xiàng)實(shí)施例的功能,因此程序代碼和存儲(chǔ)程序代碼的存儲(chǔ)介質(zhì)構(gòu)成了本發(fā)明的一部分。
用于提供程序代碼的存儲(chǔ)介質(zhì)實(shí)施例包括軟盤、硬盤、磁光盤、光盤(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁帶、非易失性存儲(chǔ)卡和ROM??蛇x擇地,可以由通信網(wǎng)絡(luò)從服務(wù)器計(jì)算機(jī)上下載程序代碼。
此外,應(yīng)該清楚的是,不僅可以通過執(zhí)行計(jì)算機(jī)所讀出的程序代碼,而且可以通過基于程序代碼的指令使計(jì)算機(jī)上操作的操作系統(tǒng)等來完成部分或者全部的實(shí)際操作,從而實(shí)現(xiàn)上述實(shí)施例中任意一項(xiàng)實(shí)施例的功能。
此外,可以理解的是,將由存儲(chǔ)介質(zhì)讀出的程序代碼寫到插入計(jì)算機(jī)內(nèi)的擴(kuò)展板中所設(shè)置的存儲(chǔ)器中或者寫到與計(jì)算機(jī)相連接的擴(kuò)展單元中設(shè)置的存儲(chǔ)器中,隨后基于程序代碼的指令使安裝在擴(kuò)展板或者擴(kuò)展單元上的CPU等來執(zhí)行部分和全部實(shí)際操作,從而實(shí)現(xiàn)上述實(shí)施例中任一實(shí)施例的功能。
綜上所述,本發(fā)明各個(gè)實(shí)施例至少可以實(shí)現(xiàn)如下有益效果:
1、在本發(fā)明實(shí)施例中,通過確定高維空間中每一個(gè)數(shù)據(jù)點(diǎn)的Z值,按照各個(gè)數(shù)據(jù)點(diǎn)Z值的大小順序,對(duì)數(shù)據(jù)點(diǎn)進(jìn)行存儲(chǔ),如此,相鄰的兩個(gè)磁盤頁(yè)面上的數(shù)據(jù)點(diǎn)對(duì)應(yīng)Z值具有一定的關(guān)系,例如當(dāng)前磁盤頁(yè)面上各個(gè)數(shù)據(jù)點(diǎn)分別對(duì)應(yīng)的Z值均比相鄰磁盤頁(yè)面上各個(gè)數(shù)據(jù)點(diǎn)分別對(duì)應(yīng)的Z值大或小,因此,磁盤頁(yè)面上的數(shù)據(jù)點(diǎn)具有一定的聚斂性,因此,根據(jù)查詢點(diǎn)與每一個(gè)磁盤頁(yè)面的距離來進(jìn)行數(shù)據(jù)查詢,可以提高查詢效率。
2、在本發(fā)明實(shí)施例中,通過將高維空間的數(shù)據(jù)點(diǎn)構(gòu)建為z-order曲線,可以使數(shù)據(jù)點(diǎn)在高維空間中呈現(xiàn)Z型,且z-order曲線具有局部空間優(yōu)先遍歷特性,可以改善最近鄰候選點(diǎn)在磁盤中的局部聚斂性,使得在更有限的磁盤訪問次數(shù)下仍舊保持較高的查詢精度。
3、在本發(fā)明實(shí)施例中,通過建立多個(gè)索引表,以根據(jù)多個(gè)索引表中包括的每一個(gè)磁盤頁(yè)面與所述查詢點(diǎn)的距離,進(jìn)行數(shù)據(jù)查詢的操作,可以減少最近鄰候選點(diǎn)的漏報(bào)問題。
4、在本發(fā)明實(shí)施例中,通過選取z-order曲線作為復(fù)合哈希鍵值的排序依據(jù),進(jìn)一步優(yōu)化候選點(diǎn)的局部聚斂性,從而改善磁盤訪問效率,提升最近鄰搜索的準(zhǔn)確率。同時(shí),準(zhǔn)確率的提升也減輕了對(duì)多索引表的依賴,可以減少索引表的個(gè)數(shù),降低索引結(jié)構(gòu)規(guī)模,節(jié)省空間開銷。
上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語(yǔ)僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)······”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)在計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)中。
最后需要說明的是:以上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。