本發(fā)明涉及skyline查詢,具體是一種道路網(wǎng)多用戶偏好異類組合skyline查詢方法。
背景技術(shù):
1、skyline查詢?cè)诙嗄繕?biāo)決策、推薦系統(tǒng)、互聯(lián)網(wǎng)、大數(shù)據(jù)分析和挖掘、物聯(lián)網(wǎng)數(shù)據(jù)查詢等領(lǐng)域發(fā)揮著關(guān)鍵作用。隨著大數(shù)據(jù)和云計(jì)算技術(shù)的發(fā)展,skyline查詢的應(yīng)用范圍和效率得到了進(jìn)一步顯著提升。
2、在一個(gè)多維數(shù)據(jù)集中,傳統(tǒng)skyline查詢返回不被其他點(diǎn)支配的點(diǎn),即相較于其他所有點(diǎn),至少在一個(gè)維度上更優(yōu)并且在每個(gè)其他維度上至少同樣優(yōu)的點(diǎn)組成。然而,隨著skyline查詢?cè)诙嗄繕?biāo)決策領(lǐng)域的不斷發(fā)展,用戶往往需要獲得的是一組點(diǎn)組合而不僅僅是單個(gè)點(diǎn)。因此,組合skyline查詢應(yīng)運(yùn)而生,有效解決了這一問題,組合skyline查詢返回所有不被其他組合支配的組合。舉一個(gè)skyline查詢中的經(jīng)典例子,在某公司的團(tuán)建活動(dòng)中,活動(dòng)組織者需要為員工預(yù)定酒店,預(yù)定時(shí)需要綜合考慮酒店距活動(dòng)地點(diǎn)的距離和酒店價(jià)格。因此,可以對(duì)周圍的酒店進(jìn)行skyline查詢,找到在距離屬性和價(jià)格屬性不被支配的酒店。假設(shè)現(xiàn)在活動(dòng)組織者需要預(yù)定一組酒店,并同時(shí)考慮距離維度和價(jià)格維度,傳統(tǒng)skyline查詢便無法滿足查詢出組合的需求。此時(shí),應(yīng)用組合skyline查詢即可找到不被支配的酒店組合,從而更好地支持決策。
3、近年來,隨著基于位置服務(wù)技術(shù)的不斷創(chuàng)新和普及,針對(duì)道路網(wǎng)上的查詢需求急劇增長(zhǎng)。然而,傳統(tǒng)的組合skyline查詢只能比較道路網(wǎng)中相同類型的數(shù)據(jù)點(diǎn)構(gòu)成組合以確定支配關(guān)系。在實(shí)際道路網(wǎng)中,存在大量不同類型的數(shù)據(jù)點(diǎn),這些數(shù)據(jù)點(diǎn)無法進(jìn)行傳統(tǒng)意義上支配關(guān)系的比較。
技術(shù)實(shí)現(xiàn)思路
1、(1)?獲取包括m種的興趣點(diǎn)數(shù)據(jù)集p,并接收包括n個(gè)查詢點(diǎn)的查詢用戶組合q,其中興趣點(diǎn)數(shù)據(jù)集p={p1,?p2,?…},對(duì)于每個(gè)興趣點(diǎn)p,p=(p.type,?p.eij,?p.dist),p.type表示p點(diǎn)的興趣點(diǎn)類型,p.eij表示p點(diǎn)在道路網(wǎng)中的邊為eij,p.dist表示p點(diǎn)距道路網(wǎng)中頂點(diǎn)vi和vj較短的距離,查詢用戶組合q={q1,?q2,?…,?qn},對(duì)于q中每個(gè)查詢用戶q,q=(q.eij,?q.dist,?q.vec),q.vec為該點(diǎn)的偏好向量;
2、(2)?將查詢用戶組合q中所有查詢用戶的偏好向量進(jìn)行相加,構(gòu)建整體偏好向量vecq,遍歷興趣點(diǎn)數(shù)據(jù)集p,通過興趣點(diǎn)的類型對(duì)數(shù)據(jù)集進(jìn)行分桶處理,同時(shí)排除整體偏好向量小于0所對(duì)應(yīng)的興趣點(diǎn),獲得一組按照興趣點(diǎn)偏好次序排列的桶,其中,桶為一種存儲(chǔ)結(jié)構(gòu),同一桶內(nèi)存儲(chǔ)相同類型的興趣點(diǎn);
3、(3)?對(duì)桶中所有點(diǎn)進(jìn)行skyline支配關(guān)系判斷,將得到的skyline集合加入到skyline桶中,將非skyline集合加入到非skyline桶中,構(gòu)建非skyline桶哈希表,其中,非skyline桶哈希表為一種鍵值對(duì)存儲(chǔ)結(jié)構(gòu),用于存放非skyline桶中的skyline支配關(guān)系,該哈希表的鍵存放被支配的對(duì)象,值存放支配對(duì)象;
4、(4)?對(duì)所有skyline桶中的點(diǎn)進(jìn)行笛卡爾積,將形成的skyline桶組合加入到可行性解集gr中,初始化mindp數(shù)組,根據(jù)狀態(tài)轉(zhuǎn)移方程進(jìn)行動(dòng)態(tài)規(guī)劃算法,找到skyline桶組合中的最小值mindist;
5、(5)?對(duì)所有非skyline桶中的點(diǎn)進(jìn)行笛卡爾積,將形成的組合加入到中間變量gtemp集合中,遍歷gtemp集合判斷組合中的點(diǎn)是否均在公共支配區(qū)域內(nèi),若均在公共支配區(qū)域內(nèi),且距離成本小于步驟(4)中的mindist,則將該組合加入到可行性解集gr中,將不滿足的組合從gr中移除;
6、(6)?遍歷gtemp集合,將gtemp中組合g中點(diǎn)p的非skyline哈希表的值加入到臨時(shí)桶tempbucket中,對(duì)tempbucket執(zhí)行步驟(4)中的動(dòng)態(tài)規(guī)劃算法求得tempmindist,將距離成本dist(q,?g)與tempmindist進(jìn)行比較,若dist(q,?g)<tempmindist,則將g加入到可行性解集gr中,返回最終的可行性解集gr;
7、(7)?步驟(6)中計(jì)算dist(q,?g)時(shí),通過wg索引結(jié)構(gòu)進(jìn)行計(jì)算,wg索引中葉子節(jié)點(diǎn)存儲(chǔ)道路網(wǎng)中的所有興趣點(diǎn)、興趣點(diǎn)和邊界點(diǎn)的距離矩陣以及弱興趣點(diǎn),非葉子節(jié)點(diǎn)存儲(chǔ)邊界點(diǎn)、邊界點(diǎn)之間的距離矩陣、以及弱興趣點(diǎn)。
8、優(yōu)選地,步驟(4)所述mindp數(shù)組的狀態(tài)轉(zhuǎn)移方程采取以下公式:
9、
10、其中,skylinebucketi表示skyline桶,1≤j≤skylinebucketi.size,1≤k≤skylinebucketi-1size,二維數(shù)組mindp[i][j]來表示從第i個(gè)skyline有序桶中選擇第j個(gè)點(diǎn)時(shí)此時(shí)構(gòu)成的興趣點(diǎn)組合的最小距離成本,dist()表示括號(hào)內(nèi)兩個(gè)對(duì)象的道路網(wǎng)距離。
11、優(yōu)選地,步驟(5)所述的距離成本dist(q,?g)采取以下公式:
12、
13、dist(q,?g)為兩個(gè)部分的和,第一個(gè)部分為所有查詢用戶到可行性解集第一個(gè)興趣點(diǎn)的距離,第二個(gè)部分為從第一個(gè)興趣點(diǎn)到最后一個(gè)興趣點(diǎn)所經(jīng)過的距離。
14、優(yōu)選地,步驟(7)所述的弱興趣點(diǎn)為,給定一個(gè)道路網(wǎng)子圖graphi內(nèi)的任意興趣點(diǎn)p1,若對(duì)于graphi內(nèi)的所有邊界點(diǎn),將該點(diǎn)作為查詢點(diǎn),均存在另一個(gè)興趣點(diǎn)p2,滿足p2道路網(wǎng)支配p1,那么稱p1為子圖graphi的弱興趣點(diǎn)。
15、總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,能夠取得下列有益效果:
16、(1)?本發(fā)明采用的多用戶偏好異類組合skyline查詢方法能相較于傳統(tǒng)組合skyline查詢,該查詢考慮到了道路網(wǎng)中存在大量不同類型的興趣點(diǎn)的情況,更能夠滿足用戶的實(shí)際查詢需求;
17、(2)?針對(duì)道路網(wǎng)中存在大量不同類型的興趣點(diǎn),在進(jìn)行道路網(wǎng)異類組合支配關(guān)系判斷時(shí)需要對(duì)組合中各興趣點(diǎn)之間的道路網(wǎng)距離進(jìn)行大量計(jì)算,產(chǎn)生較大開銷的問題,本發(fā)明使用一種基于動(dòng)態(tài)規(guī)劃的距離成本計(jì)算方法。該方法無需計(jì)算所有組合的空間距離成本,結(jié)合所提skyline有序桶組合和非skyline桶組合能夠提前快速剪枝掉大量無法構(gòu)成可行性解集的組合。同時(shí),本發(fā)明使用一種wg索引結(jié)構(gòu),wg索引能夠在計(jì)算組合的道路網(wǎng)距離時(shí)結(jié)合所提定理提前對(duì)組合進(jìn)行支配關(guān)系判斷以過濾非可行性解,高效計(jì)算組合的空間距離成本;
18、(3)?在道路網(wǎng)skyline查詢中,較少考慮多用戶的情況,以及較少考慮所有用戶的偏好問題,本發(fā)明通過用戶的偏好向量,綜合考慮所有用戶的偏好,并以此對(duì)興趣點(diǎn)集進(jìn)行分桶操作。
1.一種道路網(wǎng)多用戶偏好異類組合skyline查詢方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種道路網(wǎng)多用戶偏好異類組合skyline查詢方法,其特征在于,步驟(4)所述的狀態(tài)轉(zhuǎn)移方程采取公式:
3.根據(jù)權(quán)利要求1所述的一種道路網(wǎng)多用戶偏好異類組合skyline查詢方法,其特征在于,步驟(5)所述的公共支配區(qū)域?yàn)?,給定一個(gè)skyline有序桶,該桶的公共支配區(qū)域是一個(gè)桶中所有skyline點(diǎn)共同支配的區(qū)域構(gòu)成。
4.?根據(jù)權(quán)利要求1所述的一種道路網(wǎng)多用戶偏好異類組合skyline查詢方法,其特征在于,步驟(5)所述的距離成本dist(q,?g)采取公式:
5.根據(jù)權(quán)利要求1所述的一種道路網(wǎng)多用戶偏好異類組合skyline查詢方法,其特征在于,步驟(7)所述的弱興趣點(diǎn)為,給定一個(gè)道路網(wǎng)子圖graphi內(nèi)的任意興趣點(diǎn)p1,若對(duì)于graphi內(nèi)的所有邊界點(diǎn),將該點(diǎn)作為查詢點(diǎn),均存在另一個(gè)興趣點(diǎn)p2,滿足p2道路網(wǎng)支配p1,那么稱p1為子圖graphi的弱興趣點(diǎn)。