欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于動(dòng)態(tài)裁剪的移動(dòng)對(duì)象反向近鄰查詢方法

文檔序號(hào):6335904閱讀:113來(lái)源:國(guó)知局
專利名稱:基于動(dòng)態(tài)裁剪的移動(dòng)對(duì)象反向近鄰查詢方法
技術(shù)領(lǐng)域
本發(fā)明涉及空間數(shù)據(jù)庫(kù)的索引與查詢技術(shù),特別是涉及一種基于動(dòng)態(tài)裁剪策略的 移動(dòng)對(duì)象反向近鄰查詢方法。
背景技術(shù)
空間數(shù)據(jù)庫(kù)是用于存儲(chǔ)空間(地理)和非空間數(shù)據(jù)的數(shù)據(jù)庫(kù)系統(tǒng),它能根據(jù)數(shù)據(jù) 的空間分布特征進(jìn)行索引,在數(shù)據(jù)模型上提供空間分析的方法和查詢語(yǔ)言中提供空間查 詢??臻g數(shù)據(jù)庫(kù)與一般數(shù)據(jù)庫(kù)最大的不同是它包含“空間”(或者)幾何的概念,它是以 事物的空間特性作為數(shù)據(jù)基本屬性并據(jù)此建立索引并提供上層服務(wù)的一種特殊的數(shù)據(jù)庫(kù)。 目前,空間數(shù)據(jù)庫(kù)被廣泛應(yīng)用于地理信息系統(tǒng)GIS、計(jì)算機(jī)輔助設(shè)計(jì)CAD、多媒體信息系統(tǒng) MMIS以及數(shù)據(jù)倉(cāng)庫(kù)DWH,為以上系統(tǒng)提供數(shù)據(jù)存儲(chǔ)和查詢的解決方案。在所有空間數(shù)據(jù)庫(kù)的索引技術(shù)中,R-tree及其變種因?yàn)楹?jiǎn)單易用和有效性而應(yīng) 用最為廣泛。R-tree是B-tree在高維空間上的擴(kuò)展,空間位置相近的數(shù)據(jù)點(diǎn)被聚類到最 小包圍盒MBR里,這些最小包圍盒又根據(jù)空間局部性遞歸的進(jìn)行聚類,直至到達(dá)根節(jié)點(diǎn)。 TPR-tree是R-tree在移動(dòng)對(duì)象索引上擴(kuò)展,它能夠?qū)σ苿?dòng)對(duì)象進(jìn)行有效的索引并進(jìn)行未 來(lái)查詢。TPR-tree在結(jié)構(gòu)上與R-tree類似,具備R-tree的大多數(shù)特性。與R-tree相比, TPR-tree除最小包圍盒MBR外還有最小速度包圍盒VBRjjfW TPR-tree上任意節(jié)點(diǎn)在任意 時(shí)刻的位置都可以通過(guò)MBR和VBR計(jì)算獲得。因此TPR-tree的綁定最小包圍盒只有在重 新計(jì)算的那個(gè)時(shí)刻才是最小的??臻g數(shù)據(jù)庫(kù)上的查詢方法多種多樣,其中最常見(jiàn)的就是最近鄰查詢。最近鄰查詢 通常依照深度優(yōu)先或最好優(yōu)先的策略對(duì)R-tree進(jìn)行訪問(wèn),獲得離查詢點(diǎn)最近的數(shù)據(jù)點(diǎn)。反 向最近鄰查詢是在最近鄰查詢的基礎(chǔ)上提出的另一種重要的空間查詢,它能返回以查詢點(diǎn) 為最近鄰的所有數(shù)據(jù)點(diǎn)的集合。但傳統(tǒng)的反向最近鄰查詢多針對(duì)數(shù)據(jù)點(diǎn)集為靜態(tài)的情況, 隨著無(wú)線通訊技術(shù)的快速發(fā)展,移動(dòng)設(shè)備的使用越來(lái)越廣泛,如何對(duì)移動(dòng)對(duì)象進(jìn)行動(dòng)態(tài)反 向最近鄰查詢是一個(gè)新的課題。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于動(dòng)態(tài)裁剪的移動(dòng)對(duì)象反向近鄰查詢的方法。本發(fā)明解決其技術(shù)問(wèn)題采用的技術(shù)方案的步驟如下1)使用TPR-tree對(duì)移動(dòng)對(duì)象建立索引,該索引層處理所有移動(dòng)對(duì)象的更新操作, 并對(duì)查詢處理層透明;2)開(kāi)發(fā)移動(dòng)對(duì)象反向近鄰查詢處理框架,該處理框架包含過(guò)濾和精煉兩個(gè)階段, 過(guò)濾階段得到整個(gè)時(shí)間段內(nèi)查詢點(diǎn)的所有可能的反向近鄰候選點(diǎn)集;在精煉階段去除候選 點(diǎn)中的錯(cuò)誤點(diǎn)并確定每個(gè)反向近鄰查詢結(jié)果點(diǎn)的有效時(shí)間;3)開(kāi)發(fā)兩種適用于移動(dòng)對(duì)象反向近鄰動(dòng)態(tài)裁剪策略,整合成統(tǒng)一的移動(dòng)對(duì)象反向 近鄰動(dòng)態(tài)裁剪算法;
4)在步驟3)實(shí)現(xiàn)反向近鄰動(dòng)態(tài)裁剪算法上實(shí)現(xiàn)移動(dòng)對(duì)象反向近鄰查詢處理過(guò)濾 算法;5)根據(jù)步驟4)中過(guò)濾的結(jié)果,實(shí)現(xiàn)反向近鄰查詢的精煉算法,對(duì)所有查詢候選點(diǎn) 進(jìn)行最近鄰查詢正確性驗(yàn)證和反向近鄰有效子時(shí)間段計(jì)算;6)對(duì)步驟5)中獲得的結(jié)果點(diǎn)及其有效時(shí)間段進(jìn)行合并,最終獲得在每個(gè)子時(shí)間 段上的反向近鄰查詢結(jié)果集。步驟1)中需要先對(duì)移動(dòng)對(duì)象建模,將移動(dòng)對(duì)象表示為關(guān)于時(shí)間的線性函數(shù),使 用TPR-tree對(duì)當(dāng)前時(shí)刻移動(dòng)對(duì)象的狀態(tài)建立索引,后續(xù)的更新,刪除,添加操作都通過(guò) TPR-tree自身進(jìn)行處理,該索引層的處理邏輯對(duì)上層查詢透明。步驟2)使用基于過(guò)濾_精煉的查詢處理框架,該框架能夠保證查詢結(jié)果的正確 性,即所有在查詢時(shí)間段內(nèi)會(huì)成為查詢點(diǎn)的反向近鄰的移動(dòng)對(duì)象都將被取得;該框架是不 需要預(yù)計(jì)算的時(shí)間和空間代價(jià),并且計(jì)算代價(jià)隨移動(dòng)對(duì)象的數(shù)目和查詢時(shí)間增長(zhǎng)不明顯; 過(guò)濾階段保證裁剪力度的前提下依然能夠獲得所有該時(shí)間段內(nèi)反向近鄰查詢保守結(jié)果集; 在后續(xù)的精煉階段使用移動(dòng)對(duì)象近鄰查詢來(lái)對(duì)所有的候選集進(jìn)行驗(yàn)證。步驟3)將兩種移動(dòng)對(duì)象反向近鄰裁剪策略整合為一個(gè)裁剪算法,兩個(gè)裁剪策略 分別為1)移動(dòng)對(duì)象支配域裁剪策略;2)包圍盒對(duì)角線長(zhǎng)度裁剪策略;對(duì)于單個(gè)數(shù)據(jù)對(duì)象 僅使用移動(dòng)對(duì)象支配域,對(duì)于節(jié)點(diǎn)則先使用包圍盒對(duì)角線長(zhǎng)度裁剪然后使用移動(dòng)對(duì)象支配 域裁剪策略;裁剪算法有兩個(gè)參數(shù),一個(gè)是需要判斷的TPR-tree中間節(jié)點(diǎn)或者移動(dòng)對(duì)象,另一 個(gè)是包含任意多個(gè)移動(dòng)對(duì)象的集合;算法流程描述如下如果需要判斷的是TPR-tree的中 間節(jié)點(diǎn),則首先使用包圍盒對(duì)角線長(zhǎng)度裁剪策略嘗試裁剪,如果未能裁剪,則繼續(xù)使用移動(dòng) 對(duì)象支配域裁剪策略嘗試裁剪;遍歷集合,判斷該節(jié)點(diǎn)在查詢時(shí)間段內(nèi)掃過(guò)的區(qū)域是否在 幾何中某個(gè)候選對(duì)象的支配域中,如果是則立即返回真;如果需要判斷的是移動(dòng)對(duì)象,則直 接使用移動(dòng)對(duì)象支配域策略嘗試裁剪。上述裁剪如果都失敗,則最終返回假,表示該中間節(jié) 點(diǎn)或者移動(dòng)對(duì)象不能被裁剪。步驟4)中移動(dòng)對(duì)象反向近鄰查詢處理過(guò)濾算法的具體步驟如下i)初始化一個(gè)優(yōu)先隊(duì)列,優(yōu)先級(jí)定義為該節(jié)點(diǎn)或者移動(dòng)對(duì)象在查詢時(shí)間段內(nèi)與查 詢點(diǎn)的最小距離,將TPR-tree的根節(jié)點(diǎn)放入隊(duì)列中;ii)初始化一個(gè)候選對(duì)象集合和一個(gè)被裁剪集合,分別來(lái)保存當(dāng)前所有訪問(wèn)過(guò)的 節(jié)點(diǎn)中未被裁剪的移動(dòng)對(duì)象和被裁剪的移動(dòng)對(duì)象或節(jié)點(diǎn);iii)如果優(yōu)先隊(duì)列為空,則過(guò)濾算法結(jié)束,返回候選對(duì)象集合和被裁剪集合,否則 取出優(yōu)先隊(duì)列的第一個(gè)元素,調(diào)用步驟3)中的裁剪算法,如果能夠被裁剪,則將此元素放 入被裁剪集合,重復(fù)此步驟;如果不能被裁剪則執(zhí)行iv);iv)如果當(dāng)前元素是一個(gè)移動(dòng)對(duì)象,則將其放入候選對(duì)象集合,跳回iii)繼續(xù)執(zhí) 行;如果當(dāng)前元素是一個(gè)葉子節(jié)點(diǎn),則跳到V)執(zhí)行;否則跳到Vi)執(zhí)行;ν)對(duì)于葉子節(jié)點(diǎn)中每個(gè)移動(dòng)對(duì)象,調(diào)用裁剪算法進(jìn)行判斷,如果被裁剪,則將此 移動(dòng)對(duì)象放入被裁剪集合,如果不是則計(jì)算該移動(dòng)對(duì)象在查詢時(shí)間段內(nèi)到查詢點(diǎn)的最短距 離,作為該移動(dòng)對(duì)象的優(yōu)先級(jí)并放入優(yōu)先隊(duì)列,跳到iii)繼續(xù)執(zhí)行;iv)對(duì)于中間節(jié)點(diǎn)中每個(gè)子節(jié)點(diǎn),調(diào)用裁剪算法進(jìn)行判斷,如果被裁剪則將此子節(jié)點(diǎn)放入被裁剪集合,如果不能則計(jì)算該節(jié)點(diǎn)在查詢時(shí)間段內(nèi)到查詢點(diǎn)的最小距離,作為該 子結(jié)點(diǎn)的優(yōu)先級(jí)并放入優(yōu)先隊(duì)列,跳到iii)繼續(xù)執(zhí)行;步驟5)中移動(dòng)對(duì)象反向近鄰查詢的精煉算法的具體步驟如下i)首先遍歷候選集合中的每個(gè)候選點(diǎn),為每個(gè)候選對(duì)象關(guān)聯(lián)一個(gè)反向近鄰有效時(shí) 間區(qū)間列表,初始時(shí)該時(shí)間列表含有一個(gè)元素,即查詢時(shí)間段;接著計(jì)算在查詢時(shí)間段上其 他候選點(diǎn)離它的距離是否小于查詢點(diǎn)到它的距離,如果在某些子時(shí)間段上判斷為是則該候 選點(diǎn)的反向近鄰有效時(shí)間區(qū)間減去這些無(wú)效時(shí)間段;如果整個(gè)時(shí)間段上都被判斷為無(wú)效, 則該點(diǎn)被放入被裁剪集合中;否則,為每個(gè)候選對(duì)象關(guān)聯(lián)一個(gè)需要進(jìn)一步測(cè)試的待驗(yàn)證集 合,該集合初始為空;ii)如果候選對(duì)象集合為空,則返回;否則使用當(dāng)前的被裁剪集合去嘗試驗(yàn)證每 個(gè)候選點(diǎn);依次取出裁剪集合中的每個(gè)元素,如果是移動(dòng)對(duì)象則使用它去更新每個(gè)候選點(diǎn) 所關(guān)聯(lián)的反向近鄰有效時(shí)間列表,如果是中間節(jié)點(diǎn)并且有可能包含某些移動(dòng)對(duì)象使得某個(gè) 候選點(diǎn)的反向近鄰時(shí)域減小,則將其放入每個(gè)候選點(diǎn)關(guān)聯(lián)的待驗(yàn)證集合中;若一個(gè)候選點(diǎn) 的帶驗(yàn)證集合為空,則輸出當(dāng)前候選點(diǎn)和它的反向近鄰有效時(shí)間段列表;iii)取出所有候選點(diǎn)所關(guān)聯(lián)的待驗(yàn)證集合中出線次數(shù)最大的一個(gè)節(jié)點(diǎn),取出它所 有的子結(jié)點(diǎn)放入被裁剪集合,跳到ii)處。步驟6)根據(jù)步驟5)中所報(bào)告的查詢點(diǎn)的反向近鄰和有效的時(shí)間段,合并成規(guī)范 的結(jié)果集合。本發(fā)明具有的有益效果是本發(fā)明充分利用了空間數(shù)據(jù)庫(kù)引擎和空間數(shù)據(jù)庫(kù)動(dòng)態(tài)索引技術(shù)的現(xiàn)有研究和實(shí) 現(xiàn)成果,基于已有系統(tǒng)可以非常方便快捷的開(kāi)發(fā)基于動(dòng)態(tài)裁剪的移動(dòng)對(duì)象反向近鄰查詢處 理引擎,使用者可根據(jù)具體應(yīng)用環(huán)境選擇合適的查詢時(shí)間段,提供最好的性能。


圖1是本發(fā)明實(shí)施步驟流程圖。圖2是基于裁剪的移動(dòng)對(duì)象反向近鄰查詢系統(tǒng)工作原理示意圖。圖3是移動(dòng)對(duì)象反向近鄰查詢處理實(shí)例示意圖。
具體實(shí)施例方式現(xiàn)結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步說(shuō)明。1.如圖1,圖2所示,本發(fā)明具體實(shí)施過(guò)程和工作原理如下1)使用TPR-tree對(duì)移動(dòng)對(duì)象建立索引,該索引層處理所有移動(dòng)對(duì)象的更新操作, 并對(duì)查詢處理層透明;2)開(kāi)發(fā)移動(dòng)對(duì)象反向近鄰查詢處理框架,該框架包含過(guò)濾和精煉兩個(gè)階段,過(guò)濾 階段得到整個(gè)時(shí)間段內(nèi)查詢點(diǎn)的所有可能的反向近鄰候選點(diǎn)集;在精煉階段去除候選點(diǎn)中 的錯(cuò)誤點(diǎn)并確定每個(gè)反向近鄰查詢結(jié)果點(diǎn)的有效時(shí)間。3)開(kāi)發(fā)適用于移動(dòng)對(duì)象反向近鄰裁剪的高效算法;4)在步驟3)實(shí)現(xiàn)反向近鄰動(dòng)態(tài)裁剪高效算法上實(shí)現(xiàn)移動(dòng)對(duì)象反向近鄰查詢處理 過(guò)濾算法;
5)根據(jù)步驟4)中過(guò)濾的結(jié)果,實(shí)現(xiàn)反向近鄰查詢的精煉算法,對(duì)所有查詢候選點(diǎn) 進(jìn)行最近鄰查詢正確性驗(yàn)證和反向近鄰有效子時(shí)間段計(jì)算。6)對(duì)5)中獲得的結(jié)果點(diǎn)及其有效時(shí)間段進(jìn)行整合,最終獲得在每個(gè)子時(shí)間段上 的反向近鄰查詢結(jié)果集。步驟1)中需要先對(duì)移動(dòng)對(duì)象建模,將移動(dòng)對(duì)象表示為關(guān)于時(shí)間的線性函數(shù),使 用TPR-tree對(duì)當(dāng)前時(shí)刻移動(dòng)對(duì)象的狀態(tài)建立索引,后續(xù)的更新,刪除,添加操作都通過(guò) TPR-tree自身進(jìn)行處理,該索引層的處理邏輯對(duì)上層查詢透明。步驟2)使用基于過(guò)濾_精煉的查詢處理框架,該框架能夠保證查詢結(jié)果的正確 性,即所有在查詢時(shí)間段內(nèi)會(huì)成為查詢點(diǎn)的反向近鄰的移動(dòng)對(duì)象都將被取得。該框架的好 處是不需要預(yù)計(jì)算的時(shí)間和空間代價(jià),并且計(jì)算代價(jià)隨移動(dòng)對(duì)象的數(shù)目和查詢時(shí)間增長(zhǎng)不 明顯。過(guò)濾階段保證一定的裁剪力度的前提下依然能夠獲得所有該時(shí)間段內(nèi)反向近鄰查詢 保守結(jié)果集。在后續(xù)的精煉階段使用移動(dòng)對(duì)象近鄰查詢來(lái)對(duì)所有的候選集進(jìn)行驗(yàn)證。步驟3)將兩種移動(dòng)對(duì)象反向近鄰裁剪策略整合為一個(gè)高效的裁剪算法,兩個(gè)裁 剪策略描述如下1)移動(dòng)對(duì)象支配域性質(zhì)給定一個(gè)查詢點(diǎn)和一個(gè)移動(dòng)對(duì)象,在某一查詢時(shí)間段內(nèi) 該移動(dòng)對(duì)象的支配域是時(shí)間段內(nèi)所有時(shí)刻移動(dòng)對(duì)象和查詢點(diǎn)的中垂線所劃分的包含移動(dòng) 對(duì)象的半平面的交集。并且可以證明該支配域正好等于起始點(diǎn)的半平面交集。任意移動(dòng) 對(duì)象如果其在查詢時(shí)間段內(nèi)的移動(dòng)軌跡整個(gè)落在另一個(gè)移動(dòng)對(duì)象的支配域上,表示在整個(gè) 查詢時(shí)間段內(nèi)該移動(dòng)對(duì)象到另一移動(dòng)對(duì)象的距離始終小于它到查詢點(diǎn)的距離,所以該對(duì)象 在整個(gè)查詢時(shí)間段上不可能成為查詢點(diǎn)的反向近鄰,該對(duì)象可以被直接裁剪。同樣,對(duì)于 TPR-tree的中間節(jié)點(diǎn),只要其在查詢時(shí)間段上掃過(guò)的區(qū)域整個(gè)落在某個(gè)移動(dòng)對(duì)象的支配域 上,則該節(jié)點(diǎn)可以整個(gè)被裁剪。2)包圍盒對(duì)角線長(zhǎng)度性質(zhì)對(duì)于TPR-tree的任意中間節(jié)點(diǎn),如果在整個(gè)查詢時(shí)間 段上該中間節(jié)點(diǎn)的包圍盒對(duì)角線長(zhǎng)度均小于查詢點(diǎn)到該節(jié)點(diǎn)的最小距離,則意味著對(duì)于包 圍盒中的任意移動(dòng)對(duì)象在查詢時(shí)間內(nèi)總存在另一個(gè)移動(dòng)對(duì)象它們的距離始終小于到查詢 點(diǎn)的距離,所以該中間節(jié)點(diǎn)可以被整個(gè)裁剪。圖2所示的距離函數(shù)計(jì)算與比較模塊提供支持。裁剪算法可以描述如下如果需要判斷的是TPR-tree的中間節(jié)點(diǎn),則首先使用包 圍盒對(duì)角線長(zhǎng)度裁剪策略嘗試裁剪,如果未能裁剪,則繼續(xù)使用移動(dòng)對(duì)象支配域裁剪策略 嘗試裁剪。遍歷當(dāng)前的候選對(duì)象集合,判斷該節(jié)點(diǎn)在查詢時(shí)間段內(nèi)掃過(guò)的區(qū)域是否在某個(gè) 候選對(duì)象的支配域中,如果是則立即返回真。如果需要判斷的是移動(dòng)對(duì)象,則直接使用移動(dòng) 對(duì)象支配域策略嘗試裁剪。上述裁剪如果都失敗,則最終返回假,表示該中間節(jié)點(diǎn)或者移動(dòng) 對(duì)象不能被裁剪。步驟4)中移動(dòng)對(duì)象反向近鄰查詢處理過(guò)濾算法的具體步驟如下1)初始化一個(gè)優(yōu)先隊(duì)列,優(yōu)先級(jí)定義為該節(jié)點(diǎn)或者移動(dòng)對(duì)象在查詢時(shí)間段內(nèi)與查 詢點(diǎn)的最小距離,該最小距離由圖2所示距離函數(shù)計(jì)算與比較模塊提供,將TPR-tree的根 節(jié)點(diǎn)放入隊(duì)列中;2)初始化一個(gè)候選對(duì)象集合和一個(gè)被裁剪集合,分別來(lái)保存當(dāng)前所有訪問(wèn)過(guò)的節(jié) 點(diǎn)中未被裁剪的移動(dòng)對(duì)象和被裁剪的移動(dòng)對(duì)象或中間節(jié)點(diǎn);
3)如果優(yōu)先隊(duì)列為空,則過(guò)濾算法結(jié)束,返回候選對(duì)象集合和被裁剪集合,否則取 出優(yōu)先隊(duì)列的第一個(gè)元素,如圖2所示,調(diào)用步驟3)中的裁剪算法,如果能夠被裁剪,則將 此元素放入被裁剪集合,重復(fù)此步驟。如果不能被裁剪則執(zhí)行4);4)如果當(dāng)前元素是一個(gè)移動(dòng)對(duì)象,則將其放入候選對(duì)象集合,跳回3)繼續(xù)執(zhí)行; 如果當(dāng)前元素是一個(gè)葉子節(jié)點(diǎn),則跳到5)執(zhí)行;否則跳到6)執(zhí)行;5)對(duì)于葉子節(jié)點(diǎn)中每個(gè)移動(dòng)對(duì)象,調(diào)用裁剪算法進(jìn)行判斷,如果被裁剪,則將此 移動(dòng)對(duì)象放入被裁剪集合,如果不是則計(jì)算該移動(dòng)對(duì)象在查詢時(shí)間段內(nèi)到查詢點(diǎn)的最短距 離,作為該移動(dòng)對(duì)象的優(yōu)先級(jí)并放入優(yōu)先隊(duì)列,跳到3)繼續(xù)執(zhí)行;6)對(duì)于中間節(jié)點(diǎn)中每個(gè)子節(jié)點(diǎn),調(diào)用裁剪算法進(jìn)行判斷,如果被裁剪則將此子節(jié) 點(diǎn)放入被裁剪集合,如果不能則計(jì)算該節(jié)點(diǎn)在查詢時(shí)間段內(nèi)到查詢點(diǎn)的最小距離,作為該 子結(jié)點(diǎn)的優(yōu)先級(jí)并放入優(yōu)先隊(duì)列,跳到3)繼續(xù)執(zhí)行;根據(jù)圖2所示的系統(tǒng)工作原理圖,應(yīng)用程序可以向移動(dòng)對(duì)象反向近鄰查詢發(fā)起一 個(gè)關(guān)于某個(gè)查詢點(diǎn)和某段時(shí)間的查詢請(qǐng)求,以圖3所示數(shù)據(jù)集為例,Pi(l <= i <= 15)為 移動(dòng)對(duì)象,Nj(l <= j <= 11)為TPR-tree的節(jié)點(diǎn),查詢點(diǎn)為q,查詢時(shí)間段為
。步 驟4)中移動(dòng)對(duì)象方向近鄰查詢處理過(guò)濾算法的具體實(shí)施方式
如下1)初始時(shí)先訪問(wèn)根節(jié)點(diǎn),對(duì)它的每個(gè)子結(jié)點(diǎn)調(diào)用裁剪算法,由于三個(gè)子結(jié)點(diǎn)N1, N2,N3的對(duì)角線長(zhǎng)度在整個(gè)查詢時(shí)間段上均小于查詢點(diǎn)到它們的最小距離,另外由于當(dāng)前的 候選對(duì)象集合為空,所以三個(gè)子結(jié)點(diǎn)均不能被裁剪,都被放入優(yōu)先隊(duì)列。2)下一個(gè)訪問(wèn)的是N1,同樣的也去檢查它的三個(gè)子結(jié)點(diǎn),由于N5,N6的對(duì)角線長(zhǎng)度 在查詢時(shí)間段內(nèi)小于它們到查詢點(diǎn)的最小距離所以N5, N6被放入被裁剪集合,只有N4被放 入優(yōu)先隊(duì)列。3)接著N3被訪問(wèn),N10, N11均未被裁剪被插入到優(yōu)先隊(duì)列中,緊接著訪問(wèn)的是葉子 節(jié)點(diǎn)N4,同樣的它的子結(jié)點(diǎn),也就是移動(dòng)對(duì)象Pl,P2也不能被裁剪所以也被插入到優(yōu)先隊(duì)列 中。4)移動(dòng)對(duì)象P1緊跟著被取出并成為第一個(gè)反向近鄰候選對(duì)象,被放入到候選對(duì)象
隹入由 朱口 T O5)后續(xù)的Nltl包含的兩個(gè)移動(dòng)對(duì)象p13,p14被放入優(yōu)先隊(duì)列,而N2的三個(gè)子節(jié)點(diǎn)由 于對(duì)角線策略被放入杯裁剪集合,接著P13成為第二個(gè)候選對(duì)象放入候選對(duì)象集合;6)優(yōu)先隊(duì)列中剩余的其他元素都因?yàn)楸徊眉舳湃氡眉艏现?。如圖2所示,移動(dòng)對(duì)象反向近鄰過(guò)濾結(jié)束后緊接著進(jìn)行移動(dòng)對(duì)象的反向近鄰精 練,步驟5)中移動(dòng)對(duì)象反向近鄰查詢的精煉算法的具體步驟如下1)首先遍歷候選集合中的每個(gè)候選點(diǎn),為每個(gè)候選對(duì)象關(guān)聯(lián)一個(gè)反向近鄰有效時(shí) 間區(qū)間列表,初始時(shí)該時(shí)間列表含有一個(gè)元素,即查詢時(shí)間段。接著計(jì)算在查詢時(shí)間段上其 他候選點(diǎn)離它的距離是否小于查詢點(diǎn)到它的距離,同樣需要調(diào)用圖2所示的距離函數(shù)計(jì)算 與比較模塊,如果在某些子時(shí)間段上判斷為是則該候選點(diǎn)的反向近鄰有效時(shí)間區(qū)間減去這 些無(wú)效時(shí)間段。如果整個(gè)時(shí)間段上都被判斷為無(wú)效,則該點(diǎn)被放入被裁剪集合中;否則,為 每個(gè)候選對(duì)象關(guān)聯(lián)一個(gè)需要進(jìn)一步測(cè)試的待驗(yàn)證集合,該集合初始為空。3)如果候選對(duì)象集合為空,則返回;否則使用當(dāng)前的被裁剪集合去嘗試驗(yàn)證每個(gè) 候選點(diǎn)。依次取出裁剪集合中的每個(gè)元素,如果是移動(dòng)對(duì)象則使用它去更新每個(gè)候選點(diǎn)所關(guān)聯(lián)的反向近鄰有效時(shí)間列表,如果是中間節(jié)點(diǎn)并且有可能包含某些移動(dòng)對(duì)象使得某個(gè)候 選點(diǎn)的反向近鄰時(shí)域減小,則將其放入每個(gè)候選點(diǎn)關(guān)聯(lián)的待驗(yàn)證集合中。若一個(gè)候選點(diǎn)的 帶驗(yàn)證集合為空,則輸出當(dāng)前候選點(diǎn)和它的反向近鄰有效時(shí)間段列表;4)取出所有候選點(diǎn)所關(guān)聯(lián)的待驗(yàn)證集合中出線次數(shù)最大的一個(gè)節(jié)點(diǎn),取出它所有 的子結(jié)點(diǎn)放入被裁剪集合,跳到3);以圖3所示數(shù)據(jù)集為例,步驟5)中的移動(dòng)對(duì)象反向近鄰精煉算法的具體實(shí)施方式
如下1)經(jīng)過(guò)步驟4)的過(guò)濾階段,得到一個(gè)候選對(duì)象集合和一個(gè)被裁剪集合。分別為 {Pl,P13I,(N5, N6, N7, N8, N9, N1J。首先由于P1到P13的距離在查詢時(shí)間段上始終大于它們到 查詢點(diǎn)的距離,所以P1, P13仍然在整個(gè)時(shí)間段上有效。初始化它們的反向近鄰有效時(shí)間列 表,初始值為{
};2)接下來(lái)使用被裁剪集合中的每個(gè)元素來(lái)驗(yàn)證Pl,P13,由于P13和P14的距離在時(shí) 間段
上小于P13到查詢點(diǎn)的距離,所以P13對(duì)應(yīng)的反向近鄰有效時(shí)間列表別更新 為{[1.75,5]},而對(duì)于P1,裁剪集合中不存在其他移動(dòng)對(duì)象或者中間節(jié)點(diǎn)使得P1的反向近 鄰時(shí)間列表更新,即遍歷被裁剪集合后帶驗(yàn)證集合為空,所以在此處就直接報(bào)告P1在時(shí)間 段
上是查詢點(diǎn)的反向近鄰。最后,取出所有余下的候選點(diǎn)那些對(duì)應(yīng)的待驗(yàn)證集合中 出現(xiàn)次數(shù)最,多的,即N7,使用N7的子節(jié)點(diǎn)進(jìn)一步驗(yàn)證。同樣的,使用N8也沒(méi)有更新P13的 反向近鄰有效時(shí)間列表,此時(shí)由于P13的待驗(yàn)證集合為空,所以報(bào)告P13的反向近鄰時(shí)間段位 {[1.75,5]};步驟6)根據(jù)步驟5)中所報(bào)告的查詢點(diǎn)的反向近鄰和有效的時(shí)間段,合并成規(guī)范 的結(jié)果集合。以上例子中步驟5)結(jié)束后返回的是<Pl,II0,5]}>和<p13,{[1.75,5]}>,整合后 輸出的規(guī)范的移動(dòng)對(duì)象反向近鄰查詢結(jié)果為{<
,{Pl}>, <[1.75,5], {Pl,Pl3}>}。
權(quán)利要求
1. 一種基于動(dòng)態(tài)裁剪的移動(dòng)對(duì)象反向近鄰查詢方法,其特征在于該方法的步驟如下1)使用TPR-tree對(duì)移動(dòng)對(duì)象建立索引,該索引層處理所有移動(dòng)對(duì)象的更新操作,并對(duì) 查詢處理層透明;2)開(kāi)發(fā)移動(dòng)對(duì)象反向近鄰查詢處理框架,該處理框架包含過(guò)濾和精煉兩個(gè)階段,過(guò)濾 階段得到整個(gè)時(shí)間段內(nèi)查詢點(diǎn)的所有可能的反向近鄰候選點(diǎn)集;在精煉階段去除候選點(diǎn)中 的錯(cuò)誤點(diǎn)并確定每個(gè)反向近鄰查詢結(jié)果點(diǎn)的有效時(shí)間;3)開(kāi)發(fā)兩種適用于移動(dòng)對(duì)象反向近鄰動(dòng)態(tài)裁剪策略,整合成統(tǒng)一的移動(dòng)對(duì)象反向近鄰 動(dòng)態(tài)裁剪算法;4)在步驟3)實(shí)現(xiàn)反向近鄰動(dòng)態(tài)裁剪算法上實(shí)現(xiàn)移動(dòng)對(duì)象反向近鄰查詢處理過(guò)濾算法;5)根據(jù)步驟4)中過(guò)濾的結(jié)果,實(shí)現(xiàn)反向近鄰查詢的精煉算法,對(duì)所有查詢候選點(diǎn)進(jìn)行 最近鄰查詢正確性驗(yàn)證和反向近鄰有效子時(shí)間段計(jì)算;6)對(duì)步驟5)中獲得的結(jié)果點(diǎn)及其有效時(shí)間段進(jìn)行合并,最終獲得在每個(gè)子時(shí)間段上 的反向近鄰查詢結(jié)果集。
2.根據(jù)權(quán)利要求1所述的一種基于動(dòng)態(tài)裁剪的移動(dòng)對(duì)象反向近鄰查詢方法,其特 征在于步驟1)中需要先對(duì)移動(dòng)對(duì)象建模,將移動(dòng)對(duì)象表示為關(guān)于時(shí)間的線性函數(shù),使 用TPR-tree對(duì)當(dāng)前時(shí)刻移動(dòng)對(duì)象的狀態(tài)建立索引,后續(xù)的更新,刪除,添加操作都通過(guò) TPR-tree自身進(jìn)行處理,該索引層的處理邏輯對(duì)上層查詢透明。
3.根據(jù)權(quán)利要求1所述的一種基于動(dòng)態(tài)裁剪的移動(dòng)對(duì)象反向近鄰查詢方法,其特征在 于步驟2)使用基于過(guò)濾-精煉的查詢處理框架,該框架能夠保證查詢結(jié)果的正確性,即所 有在查詢時(shí)間段內(nèi)會(huì)成為查詢點(diǎn)的反向近鄰的移動(dòng)對(duì)象都將被取得;該框架是不需要預(yù)計(jì) 算的時(shí)間和空間代價(jià),并且計(jì)算代價(jià)隨移動(dòng)對(duì)象的數(shù)目和查詢時(shí)間增長(zhǎng)不明顯;過(guò)濾階段 保證裁剪力度的前提下依然能夠獲得所有該時(shí)間段內(nèi)反向近鄰查詢保守結(jié)果集;在后續(xù)的 精煉階段使用移動(dòng)對(duì)象近鄰查詢來(lái)對(duì)所有的候選集進(jìn)行驗(yàn)證。
4.根據(jù)權(quán)利要求1所述的一種基于動(dòng)態(tài)裁剪的移動(dòng)對(duì)象反向近鄰查詢方法,其特征 在于步驟3)將兩種移動(dòng)對(duì)象反向近鄰裁剪策略整合為一個(gè)裁剪算法,兩個(gè)裁剪策略分別 為1)移動(dòng)對(duì)象支配域裁剪策略;2)包圍盒對(duì)角線長(zhǎng)度裁剪策略;對(duì)于單個(gè)數(shù)據(jù)對(duì)象僅使 用移動(dòng)對(duì)象支配域,對(duì)于節(jié)點(diǎn)則先使用包圍盒對(duì)角線長(zhǎng)度裁剪然后使用移動(dòng)對(duì)象支配域裁 剪策略;裁剪算法有兩個(gè)參數(shù),一個(gè)是需要判斷的TPR-tree中間節(jié)點(diǎn)或者移動(dòng)對(duì)象,另一個(gè)是 包含任意多個(gè)移動(dòng)對(duì)象的集合;算法流程描述如下如果需要判斷的是TPR-tree的中間節(jié) 點(diǎn),則首先使用包圍盒對(duì)角線長(zhǎng)度裁剪策略嘗試裁剪,如果未能裁剪,則繼續(xù)使用移動(dòng)對(duì)象 支配域裁剪策略嘗試裁剪;遍歷集合,判斷該節(jié)點(diǎn)在查詢時(shí)間段內(nèi)掃過(guò)的區(qū)域是否在幾何 中某個(gè)候選對(duì)象的支配域中,如果是則立即返回真;如果需要判斷的是移動(dòng)對(duì)象,則直接使 用移動(dòng)對(duì)象支配域策略嘗試裁剪。上述裁剪如果都失敗,則最終返回假,表示該中間節(jié)點(diǎn)或 者移動(dòng)對(duì)象不能被裁剪。
5.根據(jù)權(quán)利要求1所述的一種基于動(dòng)態(tài)裁剪的移動(dòng)對(duì)象反向近鄰查詢方法,其特征在 于步驟4)中移動(dòng)對(duì)象反向近鄰查詢處理過(guò)濾算法的具體步驟如下i)初始化一個(gè)優(yōu)先隊(duì)列,優(yōu)先級(jí)定義為該節(jié)點(diǎn)或者移動(dòng)對(duì)象在查詢時(shí)間段內(nèi)與查詢點(diǎn)的最小距離,將TPR-tree的根節(jié)點(diǎn)放入隊(duì)列中; )初始化一個(gè)候選對(duì)象集合和一個(gè)被裁剪集合,分別來(lái)保存當(dāng)前所有訪問(wèn)過(guò)的節(jié)點(diǎn) 中未被裁剪的移動(dòng)對(duì)象和被裁剪的移動(dòng)對(duì)象或節(jié)點(diǎn);iii)如果優(yōu)先隊(duì)列為空,則過(guò)濾算法結(jié)束,返回候選對(duì)象集合和被裁剪集合,否則取出 優(yōu)先隊(duì)列的第一個(gè)元素,調(diào)用步驟3)中的裁剪算法,如果能夠被裁剪,則將此元素放入被 裁剪集合,重復(fù)此步驟;如果不能被裁剪則執(zhí)行iv);iv)如果當(dāng)前元素是一個(gè)移動(dòng)對(duì)象,則將其放入候選對(duì)象集合,跳回iii)繼續(xù)執(zhí)行;如 果當(dāng)前元素是一個(gè)葉子節(jié)點(diǎn),則跳到ν)執(zhí)行;否則跳到vi)執(zhí)行;ν)對(duì)于葉子節(jié)點(diǎn)中每個(gè)移動(dòng)對(duì)象,調(diào)用裁剪算法進(jìn)行判斷,如果被裁剪,則將此移動(dòng)對(duì) 象放入被裁剪集合,如果不是則計(jì)算該移動(dòng)對(duì)象在查詢時(shí)間段內(nèi)到查詢點(diǎn)的最短距離,作 為該移動(dòng)對(duì)象的優(yōu)先級(jí)并放入優(yōu)先隊(duì)列,跳到iii)繼續(xù)執(zhí)行;iv)對(duì)于中間節(jié)點(diǎn)中每個(gè)子節(jié)點(diǎn),調(diào)用裁剪算法進(jìn)行判斷,如果被裁剪則將此子節(jié)點(diǎn)放 入被裁剪集合,如果不能則計(jì)算該節(jié)點(diǎn)在查詢時(shí)間段內(nèi)到查詢點(diǎn)的最小距離,作為該子結(jié) 點(diǎn)的優(yōu)先級(jí)并放入優(yōu)先隊(duì)列,跳到iii)繼續(xù)執(zhí)行。
6.根據(jù)權(quán)利要求1所述的一種基于動(dòng)態(tài)裁剪的移動(dòng)對(duì)象反向近鄰查詢方法,其特征在 于步驟5)中移動(dòng)對(duì)象反向近鄰查詢的精煉算法的具體步驟如下i)首先遍歷候選集合中的每個(gè)候選點(diǎn),為每個(gè)候選對(duì)象關(guān)聯(lián)一個(gè)反向近鄰有效時(shí)間區(qū) 間列表,初始時(shí)該時(shí)間列表含有一個(gè)元素,即查詢時(shí)間段;接著計(jì)算在查詢時(shí)間段上其他 候選點(diǎn)離它的距離是否小于查詢點(diǎn)到它的距離,如果在某些子時(shí)間段上判斷為是則該候選 點(diǎn)的反向近鄰有效時(shí)間區(qū)間減去這些無(wú)效時(shí)間段;如果整個(gè)時(shí)間段上都被判斷為無(wú)效,則 該點(diǎn)被放入被裁剪集合中;否則,為每個(gè)候選對(duì)象關(guān)聯(lián)一個(gè)需要進(jìn)一步測(cè)試的待驗(yàn)證集合, 該集合初始為空; )如果候選對(duì)象集合為空,則返回;否則使用當(dāng)前的被裁剪集合去嘗試驗(yàn)證每個(gè)候 選點(diǎn);依次取出裁剪集合中的每個(gè)元素,如果是移動(dòng)對(duì)象則使用它去更新每個(gè)候選點(diǎn)所關(guān) 聯(lián)的反向近鄰有效時(shí)間列表,如果是中間節(jié)點(diǎn)并且有可能包含某些移動(dòng)對(duì)象使得某個(gè)候選 點(diǎn)的反向近鄰時(shí)域減小,則將其放入每個(gè)候選點(diǎn)關(guān)聯(lián)的待驗(yàn)證集合中;若一個(gè)候選點(diǎn)的帶 驗(yàn)證集合為空,則輸出當(dāng)前候選點(diǎn)和它的反向近鄰有效時(shí)間段列表;iii)取出所有候選點(diǎn)所關(guān)聯(lián)的待驗(yàn)證集合中出線次數(shù)最大的一個(gè)節(jié)點(diǎn),取出它所有的 子結(jié)點(diǎn)放入被裁剪集合,跳到ii)處。
7.根據(jù)權(quán)利要求1所述的一種基于動(dòng)態(tài)裁剪的移動(dòng)對(duì)象反向近鄰查詢方法,其特征在 于步驟6)根據(jù)步驟5)中所報(bào)告的查詢點(diǎn)的反向近鄰和有效的時(shí)間段,合并成規(guī)范的結(jié)果集合。
全文摘要
本發(fā)明公開(kāi)了一種基于動(dòng)態(tài)裁剪的移動(dòng)對(duì)象反向近鄰查詢方法。使用TPR-tree對(duì)移動(dòng)對(duì)象建立索引;開(kāi)發(fā)移動(dòng)對(duì)象反向近鄰查詢處理框架,在過(guò)濾階段得到整個(gè)時(shí)間段內(nèi)查詢點(diǎn)的所有可能的反向近鄰候選點(diǎn)集;在精煉階段去除候選點(diǎn)中的錯(cuò)誤點(diǎn)并確定每個(gè)反向近鄰查詢結(jié)果點(diǎn)的有效時(shí)間;開(kāi)發(fā)兩種適用于移動(dòng)對(duì)象反向近鄰動(dòng)態(tài)裁剪策略,整合成統(tǒng)一的移動(dòng)對(duì)象反向近鄰動(dòng)態(tài)裁剪算法;實(shí)現(xiàn)反向近鄰動(dòng)態(tài)裁剪算法上實(shí)現(xiàn)移動(dòng)對(duì)象反向近鄰查詢處理過(guò)濾算法;對(duì)過(guò)濾的結(jié)果,實(shí)現(xiàn)反向近鄰查詢的精煉算法,對(duì)所有查詢候選點(diǎn)進(jìn)行最近鄰查詢正確性驗(yàn)證和反向近鄰有效子時(shí)間段計(jì)算;對(duì)獲得的結(jié)果點(diǎn)及其有效時(shí)間段進(jìn)行合并,獲得在每個(gè)子時(shí)間段上的反向近鄰查詢結(jié)果集。
文檔編號(hào)G06F17/30GK102004771SQ20101054543
公開(kāi)日2011年4月6日 申請(qǐng)日期2010年11月12日 優(yōu)先權(quán)日2010年11月12日
發(fā)明者壽黎但, 張棟, 胡天磊, 陳剛, 陳珂 申請(qǐng)人:浙江大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
元谋县| 徐汇区| 垫江县| 获嘉县| 南宁市| 连城县| 巴林左旗| 赞皇县| 永嘉县| 柳州市| 梁山县| 炉霍县| 张家口市| 青龙| 禄劝| 寿光市| 屏山县| 井研县| 太谷县| 德江县| 肥乡县| 信阳市| 色达县| 东乌| 自治县| 军事| 秦安县| 会泽县| 井陉县| 江孜县| 含山县| 新巴尔虎左旗| 六枝特区| 新昌县| 印江| 九寨沟县| 宣恩县| 绥棱县| 江源县| 庆城县| 芮城县|