国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于查詢代價(jià)的兩級(jí)軌跡數(shù)據(jù)劃分算法

2022-09-26 13:06:26劉夢(mèng)男許建秋
關(guān)鍵詞:結(jié)點(diǎn)時(shí)空軌跡

劉夢(mèng)男,許建秋

(南京航空航天大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,南京 211106)

0 引 言

近年來,隨著物聯(lián)網(wǎng)和移動(dòng)互聯(lián)網(wǎng)的不斷發(fā)展,產(chǎn)生和收集大量軌跡數(shù)據(jù)變得可行.軌跡數(shù)據(jù)在路徑推薦、路況預(yù)測(cè)和城市規(guī)劃智能決策等領(lǐng)域有著重要的應(yīng)用.軌跡數(shù)據(jù)具有重要的社會(huì)和應(yīng)用價(jià)值.因此,對(duì)軌跡數(shù)據(jù)的存儲(chǔ)、查詢、處理和分析變得越發(fā)重要.

軌跡數(shù)據(jù)從采集到應(yīng)用的過程中,存在很多問題亟待解決,由此出現(xiàn)了很多處理軌跡數(shù)據(jù)的技術(shù).原始軌跡數(shù)據(jù)存在很多噪聲和冗余,需要使用數(shù)據(jù)清洗、軌跡壓縮等技術(shù)進(jìn)行預(yù)處理再轉(zhuǎn)化為校準(zhǔn)軌跡.校準(zhǔn)軌跡需要通過移動(dòng)對(duì)象數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行存儲(chǔ)、索引和查詢等處理.對(duì)處理后的數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘、隱私保護(hù)等操作后獲得有價(jià)值的信息.軌跡數(shù)據(jù)劃分是一種軌跡數(shù)據(jù)處理的方法,應(yīng)用十分廣泛.軌跡數(shù)據(jù)劃分不僅可以通過劃分原始軌跡數(shù)據(jù)來提高數(shù)據(jù)的索引和查詢效率,還可以用于軌跡數(shù)據(jù)信息的提取和挖掘.本文的研究重點(diǎn): 通過對(duì)軌跡數(shù)據(jù)進(jìn)行劃分使索引結(jié)構(gòu)高效地支持查詢.

在移動(dòng)對(duì)象數(shù)據(jù)庫(kù)中,軌跡數(shù)據(jù)通過單個(gè)三維最小邊界矩形(Minimum Bounding Rectangle,MBR)來近似表示.這種近似方法會(huì)導(dǎo)致大量空白,造成查詢效率的低下.在查詢過程中,過多的空白會(huì)使查詢窗口與MBR 相交,但并不與軌跡數(shù)據(jù)相交.圖1 所示為軌跡數(shù)據(jù)劃分對(duì)查詢的影響,其中黑色圓點(diǎn)連線為軌跡.如圖1(a)所示,查詢窗口q1和查詢窗口q2與軌跡數(shù)據(jù)的MBR 相交但并不與軌跡相交,這樣會(huì)造成多余的I/O (Input/Output)操作,降低查詢效率.軌跡數(shù)據(jù)劃分可以將軌跡數(shù)據(jù)分割為獨(dú)立的子軌跡,再通過MBR 近似劃分后的子軌跡.可以很直觀地看出,軌跡數(shù)據(jù)劃分后的MBR要小于軌跡未劃分的MBR.這樣就可減少通過MBR 近似軌跡數(shù)據(jù)帶來的空白體積,減少不必要的相交來提高查詢的效率.如圖1(b)所示,軌跡數(shù)據(jù)劃分為子軌跡后,q1和q2不與軌跡的MBR 相交.

圖1 軌跡數(shù)據(jù)劃分對(duì)查詢的影響Fig.1 Impact of trajectory partitioning on queries

為了能有效地處理基于軌跡的查詢,需要支持軌跡數(shù)據(jù)查詢的索引結(jié)構(gòu)[1-3].R-tree[4]作為1 種常見的時(shí)空索引結(jié)構(gòu),可通過比較查詢窗口與結(jié)點(diǎn)的MBR,逐步找到與查詢窗口相交的數(shù)據(jù).通過軌跡數(shù)據(jù)劃分將軌跡數(shù)據(jù)劃分為子軌跡可以減少數(shù)據(jù)層面的磁盤I/O,提高查詢的效率.但引入劃分會(huì)使Rtree 索引存儲(chǔ)的MBR 增多,索引的規(guī)模變大,在查詢過程中,會(huì)增大索引目錄層面的磁盤I/O.因此,需要使用合適的R-tree 構(gòu)建方法,將時(shí)空范圍接近的子軌跡組織到同一結(jié)點(diǎn)中,減少索引目錄級(jí)別的磁盤I/O.

基于此,本文提出了兩級(jí)軌跡數(shù)據(jù)劃分算法(Two-Level Trajectory Data Partition Algorithm,TLPA): 在第一級(jí)劃分算法中,使用基于優(yōu)化MBR 的軌跡數(shù)據(jù)劃分算法將軌跡數(shù)據(jù)劃分為子軌跡,使用子軌跡的MBR 來近似軌跡數(shù)據(jù),進(jìn)而減少M(fèi)BR 的空白體積,提高近似效果,減少數(shù)據(jù)層面的磁盤I/O 來提高查詢效率;在第二級(jí)劃分算法中,使用基于網(wǎng)格的區(qū)域劃分算法,將子軌跡按照時(shí)空范圍劃分到相應(yīng)的網(wǎng)格中,并在此基礎(chǔ)上提出R-tree 構(gòu)建方法,將時(shí)空范圍接近的子軌跡組織到同一結(jié)點(diǎn)中,減少索引目錄層面的磁盤I/O.通過兩級(jí)劃分算法,減少了數(shù)據(jù)層面和索引目錄層面的磁盤I/O 數(shù)量,提高了查詢效率.本文使用真實(shí)出租車GPS 數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),與基于軌跡段平均個(gè)數(shù)的軌跡數(shù)據(jù)劃分算法(Based on Average Number of Partition Algorithm,BNPA)和基于組合運(yùn)動(dòng)特征的軌跡數(shù)據(jù)劃分算法(Based on Combined Movement Features,BCMF)進(jìn)行了比較.結(jié)果顯示,本文的兩級(jí)軌跡數(shù)據(jù)劃分算法具有更好的查詢性能,查詢效率較BNPA 平均提升了43.0%,較BCMF 平均提升了30.5%.

本文后續(xù)結(jié)構(gòu): 第1 章簡(jiǎn)要介紹軌跡數(shù)據(jù)劃分的相關(guān)工作;第2 章定義軌跡數(shù)據(jù)劃分和查詢的相關(guān)問題;第3 章介紹兩級(jí)軌跡數(shù)據(jù)劃分算法;第4 章介紹基于劃分算法的R-tree 構(gòu)建方法和查詢處理;第5 章將本文提出的算法與現(xiàn)有的軌跡數(shù)據(jù)劃分方法進(jìn)行分析和比較;第6 章是總結(jié)和展望.

1 相關(guān)工作

軌跡數(shù)據(jù)劃分算法主要分為3 種: 基于時(shí)間的軌跡數(shù)據(jù)劃分算法、基于特征點(diǎn)的軌跡數(shù)據(jù)劃分算法和基于區(qū)域的軌跡數(shù)據(jù)劃分算法.Yue 等[5]采用基于時(shí)間的哈希策略來保證分區(qū)平衡和更少的分區(qū)時(shí)間,從而提高海量軌跡數(shù)據(jù)集的范圍查詢效率.Tang 等[6]根據(jù)速度變化提取變化點(diǎn),根據(jù)停留時(shí)間提取停留點(diǎn),將歐幾里得垂直距離指標(biāo)與運(yùn)動(dòng)方向相結(jié)合,將變化點(diǎn)和停留點(diǎn)、識(shí)別方向突變的點(diǎn)作為特征點(diǎn),并使用這些特征點(diǎn)進(jìn)行軌跡數(shù)據(jù)劃分.Morteza 等[7]提出了將由軌跡的最小邊界矩形(MBR) 定義的軌跡區(qū)域劃分為包含運(yùn)動(dòng)對(duì)象 GOI (Geometry of Interest) 的網(wǎng)格的方法,該方法基于提取的 GOI 和劃分的軌跡區(qū)域,可以僅使用相交幾何算子提取軌跡的訪問地點(diǎn)的順序(Sequence of Visited Locations,SVL).

按照應(yīng)用場(chǎng)景分類,軌跡數(shù)據(jù)劃分算法主要分為3 種: 通過軌跡數(shù)據(jù)劃分來進(jìn)行數(shù)據(jù)分析,提取出軌跡數(shù)據(jù)中的離群點(diǎn);通過區(qū)域劃分策略來解決空間軌跡的聚類問題;通過對(duì)移動(dòng)對(duì)象軌跡進(jìn)行劃分使索引結(jié)構(gòu)高效地支持時(shí)空范圍查詢.Lee 等[8]提出了軌跡離群點(diǎn)的劃分和檢測(cè)框架,該框架將1 條軌跡數(shù)據(jù)劃分為1 組線段,然后針對(duì)軌跡離群點(diǎn)檢測(cè)外圍線段,并基于這種劃分檢測(cè)框架,開發(fā)了軌跡異常值檢測(cè)算法(TRAjectory Outlier Detection,TRAOD).Masciari[9]提出了基于合適的區(qū)域劃分策略和合適度量的高效聚類技術(shù)用于解決空間軌跡的聚類問題.Hadjieleftheriou 等[10]首先提出通過引入人工分割來劃分軌跡數(shù)據(jù);由于使用MBR 近似時(shí)空對(duì)象時(shí)會(huì)產(chǎn)生大量空白體積,這將導(dǎo)致傳統(tǒng)的多維索引效率降低,然后提出了可以將時(shí)空對(duì)象分割成預(yù)定數(shù)量的軌跡段的軌跡數(shù)據(jù)劃分算法,使劃分后的軌跡的MBR 體積最小,從而提高索引的查詢效率.Rasetic 等[11]提出的正式的代價(jià)模型,用于估計(jì)給定的查詢大小和軌跡的任意分割來評(píng)估時(shí)空范圍查詢所需的I/O 數(shù)量;此模型引入了動(dòng)態(tài)規(guī)劃算法來分割1 組軌跡,這樣使相對(duì)于平均查詢大小的預(yù)期磁盤I/O 數(shù)量達(dá)到了最小化.

2 問題描述

本章對(duì)本文所使用的術(shù)語(yǔ)進(jìn)行了定義和解釋,并給出了文中使用的符號(hào)及其釋義.符號(hào)和釋義詳見表1.

表1 符號(hào)表Tab.1 Symbol table

定義 1軌跡: 軌跡通常是由時(shí)間和二維空間的函數(shù)進(jìn)行建模.在數(shù)據(jù)庫(kù)系統(tǒng)中,用時(shí)間單元序列來表示軌跡.假設(shè)軌跡由T=〈u1,u2,···,ut〉來表示,其中ui是1 個(gè)軌跡段,由〈ti,ti+1,xi,yi,xi+1,yi+1〉表示,ti和ti+1分別為1個(gè)時(shí)間間隔的開始時(shí)間和結(jié)束時(shí)間,(xi,yi) 和 (xi+1,yi+1) 分別為開始時(shí)間的空間位置和結(jié)束時(shí)間的空間位置.

定義 2軌跡MBR: 軌跡MBR 是指以三維坐標(biāo)表示的軌跡數(shù)據(jù)的最大范圍.

定義 3軌跡數(shù)據(jù)劃分: 軌跡T=〈u1,u2,···,ut〉可以通過多種可能的方式(從T中選擇m個(gè)分割點(diǎn)),沿其離散時(shí)間維度分割成m+1段,其中 0<m <t.用T[b,d]表示1 條以u(píng)b開頭、ud結(jié)尾的子軌跡.這樣劃分后的軌跡可以表示為T(m)={T[1,i1],T[i1,i2],···,T[im,t]},劃分后的m個(gè)子軌跡取并集仍能組合生成原始軌跡.

定義4時(shí)空范圍查詢: 給定軌跡數(shù)據(jù)集S,時(shí)間范圍 (ts,te) (ts為開始時(shí)間,te為結(jié)束時(shí)間),空間范圍(xl,yl,xu,yu) ((xl,yl)表示空間范圍的左下坐標(biāo),(xu,yu) 表示空間范圍的右上坐標(biāo)),查詢所有滿足t在區(qū)間[ts,te]、位置 (x,y) 在空間范圍(xl,yl,xu,yu)中的時(shí)空對(duì)象.

3 算法描述

3.1 查詢代價(jià)分析

給定1 條劃分后的軌跡T(m),假設(shè)軌跡段的MBR 是獨(dú)立存儲(chǔ)的,查詢窗口和每個(gè)軌跡段的MBR相交都要耗費(fèi)1 個(gè)獨(dú)立的磁盤I/O.則軌跡與查詢窗口 (q)相交的磁盤I/O 次數(shù) (D) 的計(jì)算公式[12]為

為求解 Intersect(T(m),q),下面以二維情況為例,給出推導(dǎo)過程.由于查詢窗口的大小和位置是未知的,故不能準(zhǔn)確求出空間對(duì)象MBR 與查詢窗口的相交次數(shù),需要用相交的概率來估計(jì)相交次數(shù).在二維空間中,假設(shè)查詢窗口q=(Δx,Δy) 等可能地出現(xiàn)在整個(gè)數(shù)據(jù)空間的各個(gè)位置,如圖2 所示,其中,q.Δx和q.Δy分別表示查詢窗口x維度的長(zhǎng)度和查詢窗口y維度的長(zhǎng)度.圖2 中,查詢窗口 (q) 與MBR 相交當(dāng)且僅當(dāng)查詢窗口的中心落入?yún)^(qū)域α.由于查詢窗口是等可能地出現(xiàn)在數(shù)據(jù)空間的各個(gè)位置,因此,相交的概率為區(qū)域α的面積與總數(shù)據(jù)空間面積的比值,其中區(qū)域α為MBR 沿x,y維度拓展查詢窗口大小的一半得到的區(qū)域.把這個(gè)區(qū)域命名為拓展MBR.空間對(duì)象的拓展MBR 越大,說明MBR 的近似效果越差,導(dǎo)致空間對(duì)象與查詢窗口相交概率增大,相交次數(shù)也相應(yīng)增大.這樣會(huì)造成更多的不必要的相交,降低查詢效率.因此,軌跡數(shù)據(jù)的最優(yōu)劃分要保證劃分后的軌跡數(shù)據(jù)的拓展MBR 最小.

圖2 軌跡數(shù)據(jù)的拓展MBRFig.2 Expansion MBR of trajectory data

顯然,對(duì)于軌跡數(shù)據(jù)來說,增加劃分段數(shù)會(huì)減少劃分后子軌跡的MBR 總體積,但對(duì)于拓展MBR 來說,情況并非如此.拓展MBR 是將軌跡數(shù)據(jù)的MBR 沿x方向左右、y方向上下分別延伸X/2、Y/2 長(zhǎng)度.當(dāng)查詢窗口較大時(shí),增加劃分段數(shù)會(huì)使軌跡數(shù)據(jù)通過拓展增大的體積大于劃分導(dǎo)致的MBR 減少的體積.因此,在劃分前需要通過查詢窗口和軌跡數(shù)據(jù)來定量分析得到最優(yōu)的劃分段數(shù).

基于上述分析,給出下列引理及證明.

引理 1給定二維空間對(duì)象O={o1,o2,···,om},oi為 (xi,yi,xi+1,yi+1) ,其中,xi+1>xi,yi+1>yi,當(dāng)劃分段數(shù)確定時(shí),劃分后的空間對(duì)象O的拓展MBR 面積(用Sn表示)與其MBR 面積(用SBO,n表示)滿足

證 明設(shè)查詢窗口在x,y維度上的大小分別為X,Y.假定劃分段數(shù)為n(n<m-1),則有多種可能的方式將O劃分為n個(gè)子空間對(duì)象,表示為O=(O[1,k1],O[k1,k2],···,O[kn-1,m]) ,其中O[1,k1] 表示包含o1,o2,···,ok1的空間對(duì)象.將這些子空間對(duì)象近似為1 組MBR,表示為BO=(MBR(O[1,k1]),MBR(O[k1,k2]),···,MBR(O[kn-1,m]),O的所有可能劃分情況表示為Gather(O,n)={(B1,B2,···,Bn)|?k1,···,kn-1:B1=MBR(O[1,k1]),B2=MBR(O[k1,k2]),···,Bn=MBR(O[kn-1,m])}.O[1,k1] 的拓展MBR 大小S(O[1,k1]) 為

將所有子空間對(duì)象的拓展MBR 相加可以得到

其中,nXY+(ym+1-y1)X+(xm+1-x1)Y為定值,SBO,n為劃分后的空間對(duì)象O的MBR 面積,BO ∈Gather(O,n).因此,當(dāng)劃分段數(shù)和查詢窗口大小確定時(shí),劃分后的空間對(duì)象O的拓展MBR 面積(Sn)僅由其MBR 面積(SBO,n)決定.

引理 2給定二維空間對(duì)象O={o1,o2,···,om},oi為 (xi,yi,xi+1,yi+1) ,其中,xi+1>xi,yi+1>yi,O的最優(yōu)劃分段數(shù) (使拓展MBR 面積最小的劃分段數(shù)) 僅與查詢窗口大小有關(guān),且隨著查詢窗口的增大,最優(yōu)劃分段數(shù)從m逐漸減少到0.

證 明根據(jù)引理1 可知,當(dāng)劃分段數(shù)為n時(shí),設(shè)O的最小拓展MBR 面積為

其中 Gather(O,n)為劃分段數(shù)為n時(shí),O的所有劃分的集合.

當(dāng)劃分段數(shù)為n+1 時(shí),

基于引理2 可以發(fā)現(xiàn),僅通過oi的值就可以求出的值.因此,可以通過XY與的值獲取m-1個(gè)分界點(diǎn),將整個(gè)數(shù)據(jù)空間范圍劃分為連續(xù)的m個(gè)區(qū)間,其中每個(gè)區(qū)間對(duì)應(yīng)查詢窗口大小XY的具體范圍和該范圍下的最優(yōu)劃分段數(shù);再通過引理1 就可以得出對(duì)應(yīng)的劃分方式,即為最優(yōu)劃分方式.

3.2 基于優(yōu)化MBR 的軌跡數(shù)據(jù)劃分算法

在數(shù)據(jù)庫(kù)中,時(shí)間維度和空間維度被同等對(duì)待.因此,上述分析對(duì)于作為三維時(shí)空對(duì)象的軌跡數(shù)據(jù)同樣適用.給定1 條軌跡T,查詢窗口q=(X,Y,Z),其中X,Y,Z分別為q在x,y,t維度上的大小.使用ui的值則可求出最優(yōu)劃分段數(shù)對(duì)應(yīng)的查詢窗口大小區(qū)間和在該劃分段數(shù)下的最優(yōu)劃分方式.

基于以上討論,給出基于優(yōu)化MBR 的軌跡數(shù)據(jù)劃分算法.具體見算法1.

算法1 中: track 數(shù)組用于保存軌跡數(shù)據(jù)劃分狀態(tài),初始化時(shí)插入0 和T.size,表示當(dāng)前子軌跡只有1 條,為原始軌跡,當(dāng)經(jīng)過1 次循環(huán)找到1 個(gè)劃分點(diǎn)后,插入track,記錄當(dāng)前劃分狀態(tài);result 數(shù)組用于保存劃分方式及對(duì)應(yīng)的查詢窗口區(qū)間,在循環(huán)結(jié)束后,作為partition()函數(shù)的參數(shù)用于劃分;partition()函數(shù)通過使用給定的查詢窗口大小和result 數(shù)組得到最優(yōu)劃分方式.

通過算法1,可以得出每條軌跡數(shù)據(jù)針對(duì)不同查詢窗口大小的最優(yōu)劃分方式.對(duì)于整個(gè)軌跡數(shù)據(jù)集中的每個(gè)軌跡數(shù)據(jù)均采用算法1,最后可以得到整個(gè)數(shù)據(jù)集上的最優(yōu)劃分.在實(shí)際應(yīng)用中,查詢窗口的大小不能預(yù)先確定,需要通過數(shù)學(xué)統(tǒng)計(jì)及分析預(yù)先得出查詢窗口的平均大小.在平均大小不能很好地代表查詢窗口的大小時(shí),可以將查詢窗口大小的范圍與求出的區(qū)間進(jìn)行比較,選出相交區(qū)域最多的區(qū)間進(jìn)行劃分.這樣可以保證劃分后的軌跡數(shù)據(jù)在盡可能大的查詢窗口范圍內(nèi)其查詢效率最優(yōu).在不能預(yù)先獲取查詢窗口大小的情況下,可以將整個(gè)查詢窗口大小范圍劃分為多段,作為基準(zhǔn)分別建立Rtree;在查詢過程中,通過具體查詢的窗口大小選擇對(duì)應(yīng)的R-tree.對(duì)于基于優(yōu)化MBR 的軌跡數(shù)據(jù)劃分算法,可以得到每條軌跡數(shù)據(jù)的劃分方式及對(duì)應(yīng)的查詢窗口區(qū)間.因此,建立不同查詢窗口大小范圍的多條R-tree 的時(shí)間代價(jià)會(huì)低很多.

3.3 基于網(wǎng)格的區(qū)域劃分算法

基于優(yōu)化MBR 的軌跡數(shù)據(jù)劃分算法可以根據(jù)預(yù)期查詢窗口大小將軌跡數(shù)據(jù)劃分為多條子軌跡,并通過子軌跡的MBR 近似軌跡數(shù)據(jù),減少數(shù)據(jù)層面的磁盤訪問次數(shù).但R-tree 索引是將多條軌跡組織到葉子結(jié)點(diǎn)中來回答查詢,數(shù)據(jù)層面的優(yōu)化不能保證構(gòu)建索引后仍然是最優(yōu)的.因此,本文提出了基于網(wǎng)格的區(qū)域劃分算法: 將通過基于優(yōu)化MBR 的軌跡數(shù)據(jù)劃分算法劃分后的子軌跡進(jìn)行分組,把時(shí)空范圍接近的子軌跡數(shù)據(jù)劃分為1 組;針對(duì)分組后的子軌跡設(shè)計(jì)R-tree 構(gòu)建算法,提高索引目錄層面的查詢效率.

基于網(wǎng)格的區(qū)域劃分算法: 首先,將時(shí)空范圍劃分為多個(gè)大小相等的不重疊的網(wǎng)格單元,每個(gè)單元僅存放完全包含在單元內(nèi)的軌跡數(shù)據(jù),如果軌跡數(shù)據(jù)穿過時(shí)空分割邊界,則軌跡數(shù)據(jù)在邊界處進(jìn)行劃分,并插入2 個(gè)網(wǎng)格單元中 (圖3);然后,將落入網(wǎng)格單元中的軌跡數(shù)據(jù)作為元組存儲(chǔ)到數(shù)據(jù)文件中,每個(gè)數(shù)據(jù)頁(yè)僅包含來自同一網(wǎng)格中的軌跡數(shù)據(jù),網(wǎng)格單元存放這些數(shù)據(jù)頁(yè)的信息以用于查找.

圖3 軌跡數(shù)據(jù)劃分示意圖Fig.3 Schematic diagram of trajectory partition

網(wǎng)格劃分粒度是1 個(gè)很重要的參數(shù): 一方面,如果網(wǎng)格單元的范圍過大,會(huì)導(dǎo)致不同網(wǎng)格間的時(shí)空區(qū)分度低,增加R-tree 構(gòu)建的難度;另一方面,如果網(wǎng)格劃分得非常精細(xì),那么跨越網(wǎng)格邊界的軌跡數(shù)就會(huì)增加,這反過來又會(huì)增加劃分開銷.選取原始軌跡數(shù)據(jù)的平均大小作為劃分粒度既不會(huì)使網(wǎng)格空間范圍過小,引入大量的劃分,也不會(huì)使網(wǎng)格空間過大,降低時(shí)空區(qū)分度.

基于網(wǎng)格的區(qū)域劃分算法使每個(gè)網(wǎng)格單元中的軌跡數(shù)據(jù)的時(shí)空范圍相近,且每個(gè)網(wǎng)格單元數(shù)據(jù)量較少,便于R-tree 結(jié)點(diǎn)的組織與構(gòu)建.

4 R-tree 構(gòu)建和查詢處理

4.1 R-tree 構(gòu)建

常規(guī)的R-tree 的構(gòu)建方法有2 種,分別為自底向上[13-14]和自頂向下[15]的構(gòu)建方法.自頂向下的構(gòu)建方法采用插入的方式逐個(gè)將對(duì)象插入R-tree 結(jié)點(diǎn),這種構(gòu)建方式存在一些缺點(diǎn),如較高的構(gòu)建時(shí)間、較低的結(jié)點(diǎn)利用率等.因此,本文的R-tree 構(gòu)建方法采用自底向上的R-tree 構(gòu)建方法,將劃分后的子軌跡按照一定的規(guī)則構(gòu)建R-tree.

在使用基于網(wǎng)格的劃分算法將子軌跡分組后,每個(gè)網(wǎng)格中的子軌跡時(shí)空范圍相近.因此,Rtree 的每個(gè)葉子結(jié)點(diǎn)僅存儲(chǔ)來自同一網(wǎng)格中的子軌跡,不僅提高了構(gòu)建效率,而且使時(shí)空范圍相近的子軌跡存放到同一葉子結(jié)點(diǎn)中,還提高了索引的查詢性能.

基于網(wǎng)格劃分的構(gòu)建方法的示意圖如圖4 所示.

圖4 基于網(wǎng)格劃分的構(gòu)建方法示意圖Fig.4 Schematic diagram of the construction method based on a mesh partition

R-tree 結(jié)點(diǎn)組織方法的基本思想: 首先,選取網(wǎng)格中時(shí)間維度最小的子軌跡,將其作為只有1 個(gè)條目的葉子結(jié)點(diǎn),通過計(jì)算,將網(wǎng)格中其余子軌跡插入葉子結(jié)點(diǎn)后葉子結(jié)點(diǎn)MBR 增量,選取f-1 個(gè)增量最小的子軌跡構(gòu)建葉子結(jié)點(diǎn);然后,從剩余子軌跡中繼續(xù)選取時(shí)間維度最小的子軌跡,重復(fù)上述過程,直到網(wǎng)格中所有子軌跡均插入葉子結(jié)點(diǎn),再進(jìn)入下個(gè)網(wǎng)格,生成所有葉子結(jié)點(diǎn);最后,將葉子結(jié)點(diǎn)看作新的條目,按照上述過程遞歸生成中間結(jié)點(diǎn),直到生成根結(jié)點(diǎn).

4.2 查詢處理

R-tree 的葉子結(jié)點(diǎn)存儲(chǔ)的條目為是軌跡的唯一標(biāo)識(shí)符TupleID 和MBR.在查詢過程中,通過比較結(jié)點(diǎn)MBR 與查詢窗口是否相交來逐步獲取軌跡MBR 與查詢窗口相交的條目,生成候選軌跡列表.由于R-tree 存儲(chǔ)的是劃分后的子軌跡,因此,候選軌跡列表中可能會(huì)出現(xiàn)屬于同一軌跡的多條子軌跡.所以在生成候選軌跡列表后,要對(duì)列表進(jìn)行去重操作;去重后,使用TupleID 獲取具體的軌跡信息,然后再進(jìn)行相交判斷,獲取與查詢窗口相交的軌跡.

基于優(yōu)化MBR 的軌跡數(shù)據(jù)劃分方法是通過與查詢窗口相交的次數(shù)的分析得到的,它適用于時(shí)空范圍查詢.對(duì)于軌跡k-近鄰查詢、軌跡相似性查詢等查詢方式,同樣可以使用合適的查詢窗口得到結(jié)果.出于篇幅考慮,本文不做進(jìn)一步的討論.

5 實(shí)驗(yàn)評(píng)估

5.1 前期準(zhǔn)備

實(shí)驗(yàn)數(shù)據(jù)集使用北京市2008 年3 月2 日至3 月8 日的10 357 條出租車GPS 軌跡數(shù)據(jù).軌跡數(shù)據(jù)的采樣點(diǎn)為1 083 560 個(gè).實(shí)驗(yàn)在Ubuntu14.04 環(huán)境下進(jìn)行,采用C++語(yǔ)言編寫,利用可拓展的移動(dòng)對(duì)象數(shù)據(jù)庫(kù)系統(tǒng)Secondo[16]框架進(jìn)行實(shí)驗(yàn)評(píng)估.CPU 為Intel Xeon(R) 1.90 GHz × 6,GPU 為NVIDA Corporation GM107GL [Quadro K2200],32 GB 內(nèi)存.

5.2 實(shí)驗(yàn)及結(jié)果

實(shí)驗(yàn)首先采用第3 章提出的軌跡數(shù)據(jù)劃分算法分別對(duì)數(shù)據(jù)集中的軌跡數(shù)據(jù)進(jìn)行逐條劃分,查詢窗口大小分別設(shè)置為1%、5%、10%數(shù)據(jù)空間大小;然后將劃分后的軌跡數(shù)據(jù)用第4 章提出的R-tree 構(gòu)建算法構(gòu)建R-tree;最后用中央處理器運(yùn)行時(shí)間(CPUtime)來衡量查詢效率.本文將使用基于組合運(yùn)動(dòng)特征的軌跡數(shù)據(jù)劃分算法(BCMF)和基于軌跡段平均個(gè)數(shù)的軌跡數(shù)據(jù)劃分算法 (BNPA)與本文提出的兩級(jí)軌跡數(shù)據(jù)劃分算法(TLPA) 進(jìn)行了對(duì)比實(shí)驗(yàn),并對(duì)使用Secondo 中的Bulkload 構(gòu)建方法和基于網(wǎng)格劃分的構(gòu)建方法進(jìn)行了對(duì)比實(shí)驗(yàn).BNPA 是基于平均度量的軌跡數(shù)據(jù)劃分算法,它分別使用軌跡數(shù)據(jù)的平均軌跡段個(gè)數(shù)進(jìn)行劃分,劃分后的子軌跡的軌跡段個(gè)數(shù)不超過平均軌跡段個(gè)數(shù).

圖5、圖6、圖7 分別給出了本文的軌跡數(shù)據(jù)劃分算法(TLPA)與基于軌跡段平均個(gè)數(shù)的軌跡數(shù)據(jù)劃分算法(BNPA)和基于組合運(yùn)動(dòng)特征的軌跡數(shù)據(jù)劃分算法(BCMF),在不同查詢窗口大小下的軌跡范圍查詢效率的結(jié)果.圖5、圖6、圖7 中,橫軸為查詢窗口大小,縱軸為查詢所需的CPUtime,TLPA1%、TLPA5%、TLPA10%分別表示TLPA 的查詢窗口大小設(shè)置為1%、5%、10%數(shù)據(jù)空間大小.從圖5、圖6、圖7 中可以看到,TLPA在查詢窗口大小為整個(gè)數(shù)據(jù)空間的1%、5%、10%時(shí)查詢效率都優(yōu)于BCMF 和BNPA 這2 種算法.其中,TLPA 在查詢窗口大小為整個(gè)數(shù)據(jù)空間的1%時(shí)(圖5),相比BCMF 查詢所需的CPUtime 減少了11.7%,相比BNPA 減少了55%;TLPA 在查詢窗口大小為整個(gè)數(shù)據(jù)空間的5%時(shí)(圖6),相比BCMF 查詢所需的CPUtime 減少了30%,相比BNPA 減少了62%;TLPA 在查詢窗口大小為整個(gè)數(shù)據(jù)空間的10%時(shí)(圖7),相比BCMF 查詢所需的CPUtime 減少了50%,相比BNPA 減少了12%.在給定查詢窗口大小的情況下,與BCMF 和BNPA 相比,TLPA 具有更好的查詢性能,查詢效率較BCMF 平均提升了30.5%,較BNPA 平均提升了43%.BCMF 在查詢窗口較小時(shí)查詢性能較好,原因是BCMF 的劃分粒度很細(xì),會(huì)將軌跡數(shù)據(jù)劃分為較多的子軌跡,相當(dāng)于針對(duì)較小查詢窗口的最優(yōu)劃分.BNPA 的劃分粒度較粗,會(huì)將軌跡數(shù)據(jù)劃分為較少的子軌跡,相當(dāng)于針對(duì)較大查詢窗口的最優(yōu)劃分,在較大查詢窗口時(shí)的查詢效果更好.

圖5 BCMF、BNPA 和TLPA1%在不同查詢窗口大小下的查詢效率Fig.5 BCMF,BNPA,and TLPA1% query efficiency under different query window sizes

圖6 BCMF、BNPA 和TLPA5%在不同查詢窗口大小下的查詢效率Fig.6 BCMF,BNPA,and TLPA5% query efficiency under different query window sizes

圖7 BCMF、BNPA 和TLPA10%在不同查詢窗口大小下的查詢效率Fig.7 BCMF,BNPA,and TLPA10% query efficiency under different query window sizes

圖8 給出了Bulkload 和基于網(wǎng)格劃分的構(gòu)建方法在構(gòu)建R-tree 時(shí)的效果對(duì)比.TLPA5%算法劃分后的軌跡數(shù)據(jù)分別使用了Bulkload 和基于網(wǎng)格劃分的構(gòu)建方法構(gòu)建R-tree,并比較了在各個(gè)查詢窗口大小下的磁盤訪問(I/O)次數(shù).從圖8 中可以看到,使用基于網(wǎng)格劃分的構(gòu)建方法磁盤訪問次數(shù)相比Bulkload 少了約20%,構(gòu)建R-tree 效果更好.

圖8 TLPA5% 分別使用Bulkload 和基于網(wǎng)格劃分構(gòu)建方法的I/OFig.8 I/Os of TLPA5% using bulkload and packing method based on cell partition

6 總結(jié)與展望

本文提出的兩級(jí)軌跡數(shù)據(jù)劃分算法,對(duì)軌跡數(shù)據(jù)進(jìn)行劃分使之可以高效地支持時(shí)空范圍查詢.基于兩級(jí)軌跡數(shù)據(jù)劃分算法,本文提出了R-tree 構(gòu)建方法,對(duì)劃分后的軌跡數(shù)據(jù)進(jìn)行組織構(gòu)建.使用此方法構(gòu)建的R-tree 比使用Secondo 中Bulkload 構(gòu)建得到的R-tree 回答范圍查詢的查詢效率更高.本文主要介紹的是軌跡數(shù)據(jù)劃分算法對(duì)范圍查詢的優(yōu)化,但對(duì)于k-近鄰查詢和軌跡相似性查詢等查詢方式同樣可以使用查詢框來近似得到查詢結(jié)果,未來可以對(duì)此做進(jìn)一步的研究.

猜你喜歡
結(jié)點(diǎn)時(shí)空軌跡
跨越時(shí)空的相遇
鏡中的時(shí)空穿梭
軌跡
軌跡
玩一次時(shí)空大“穿越”
軌跡
Ladyzhenskaya流體力學(xué)方程組的確定模與確定結(jié)點(diǎn)個(gè)數(shù)估計(jì)
進(jìn)化的軌跡(一)——進(jìn)化,無盡的適應(yīng)
時(shí)空之門
基于Raspberry PI為結(jié)點(diǎn)的天氣云測(cè)量網(wǎng)絡(luò)實(shí)現(xiàn)
嘉黎县| 常德市| 安顺市| 广宁县| 庆城县| 衡东县| 襄汾县| 天全县| 本溪市| 崇信县| 凉城县| 南华县| 苍山县| 盈江县| 搜索| 肥西县| 綦江县| 革吉县| 曲水县| 大理市| 都兰县| 尼玛县| 谢通门县| 温泉县| 襄樊市| 安溪县| 耿马| 东方市| 姜堰市| 沿河| 开平市| 新巴尔虎右旗| 航空| 泰来县| 仁化县| 治多县| 保德县| 利津县| 永修县| 钟祥市| 庐江县|