• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Spark的并行反向k最近鄰查詢

    2022-12-30 07:51:30楊澤雪劉偉東
    關(guān)鍵詞:分區(qū)網(wǎng)格節(jié)點(diǎn)

    楊澤雪,張 毅,李 陸,劉偉東,蔣 超

    (1.東北林業(yè)大學(xué) 信息與計(jì)算機(jī)工程學(xué)院,黑龍江 哈爾濱 150040;2.黑龍江省政務(wù)大數(shù)據(jù)中心 合作交流與創(chuàng)新發(fā)展處,黑龍江 哈爾濱 150028;3.黑龍江工程學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)系,黑龍江 哈爾濱 150050)

    0 引 言

    隨著數(shù)據(jù)量的爆炸式增長,研究分布式環(huán)境下的并行反向k最近鄰(reverseknearest neighbor,RkNN)查詢[1]受到研究人員的關(guān)注。

    目前流行的并行處理框架主要包括MapReduce和Spark。而當(dāng)前的并行RkNN查詢算法大多數(shù)都是基于Map-Reduce[2-5]框架。文獻(xiàn)[6]介紹了基于倒排網(wǎng)格索引(inver-ted grid index)的分布式RkNN查詢處理方法。文獻(xiàn)[7]在Hadoop的空間擴(kuò)展框架SpatialHadoop上進(jìn)行了分布式RkNN查詢研究,給出了基于SpatialHadoop的RkNN查詢算法,并在真實(shí)數(shù)據(jù)集上實(shí)現(xiàn)了該算法。文獻(xiàn)[8]提出了基于SpatialHadoop的RkNN查詢MRSLICE算法?;赟park框架的分布式空間查詢研究,近年來國內(nèi)外學(xué)者提出了GeoSpark[9]、SpatialSpark[10]、LocationSpark[11]等框架,這些框架可實(shí)現(xiàn)基于Spark的分布式空間范圍查詢、kNN查詢和空間連接查詢,并且通過實(shí)驗(yàn)驗(yàn)證基于Spark框架的查詢處理優(yōu)于MapReduce框架。除以上典型空間查詢之外,學(xué)者們擴(kuò)展了基于Spark框架的變體查詢研究,包括距離連接查詢[12,13]、時(shí)空連接查詢[14,15]、top-k空間連接查詢[16]、軌跡k近鄰查詢[17]、空間范圍查詢[18]、k近鄰連接查詢[19]、組k近鄰查詢[20]等。

    以上研究均展示了Spark框架處理并行空間查詢的優(yōu)越性。但是,基于Spark框架的RkNN查詢研究較少,文獻(xiàn)[7]提出了基于LocationSpark的并行RkNN查詢算法,并將該算法與基于SpatialHadoop的RkNN查詢算法進(jìn)行了比較,結(jié)果顯示基于LocationSpark的并行RkNN算法明顯優(yōu)于SpatialHadoop。為此本文基于Spark框架研究并行RkNN查詢,基于Voronoi圖在空間鄰近性方面的優(yōu)良特性,在Spark框架上擴(kuò)展基于Voronoi圖的并行索引結(jié)構(gòu)Grid-Voronoi-Index,在該索引結(jié)構(gòu)上給出基于Spark的RkNN查詢處理算法SV_RkNN,進(jìn)一步提高并行RkNN的查詢效率。

    1 相關(guān)定義

    定義3[2]Voronoi圖:給定一個(gè)點(diǎn)集P={p1,…,pn}, 其中2

    定義4[2]k級(jí)鄰接生成點(diǎn):給定一組生成點(diǎn)P={p1,…,pn} 生成的Voronoi圖中,其中2

    AGk(pi)={pj|VP(p) 與VP(pj) 有公共邊,p∈AGk-1(pi)}

    定理1[21]給定數(shù)據(jù)集P的Voronoi圖VD(P)和查詢點(diǎn)q,其中q∈P, 查詢點(diǎn)q的R1NN在其1級(jí)鄰接生成點(diǎn)中。

    推論1 給定數(shù)據(jù)集P的Voronoi圖VD(P)和查詢點(diǎn)q,其中q∈P,查詢點(diǎn)q的RkNN在其前k級(jí)鄰接生成點(diǎn)中。

    定理2[22]給定數(shù)據(jù)集P和查詢點(diǎn)q,在點(diǎn)q處將空間區(qū)域6等分(每個(gè)部分60°),則每個(gè)區(qū)域中查詢點(diǎn)q的RkNN只能在其k近鄰中。

    2 基于Spark的索引構(gòu)建

    2.1 基于Spark的索引構(gòu)建過程

    為了完成并行反向k最近鄰查詢,構(gòu)建雙層索引結(jié)構(gòu),即全局索引和局部索引,全局索引采取網(wǎng)格索引,存放在master節(jié)點(diǎn)中,全局索引通過網(wǎng)格的劃分將數(shù)據(jù)切分成各個(gè)數(shù)據(jù)塊,然后在各個(gè)數(shù)據(jù)塊上建立局部索引,局部索引采用Voronoi圖索引結(jié)構(gòu),存儲(chǔ)在各個(gè)worker結(jié)點(diǎn)中。基于Spark的網(wǎng)格-Voronoi圖雙層索引構(gòu)建過程如圖1所示。

    圖1 基于Spark的網(wǎng)格-Voronoi圖雙層索引結(jié)構(gòu)

    2.2 基于Spark的雙層索引構(gòu)建算法

    給定大規(guī)模數(shù)據(jù)集dataset,讀取數(shù)據(jù)文件生成dataRDD并分配到各個(gè)分區(qū)中,此時(shí)的數(shù)據(jù)分區(qū)并沒有考慮到空間數(shù)據(jù)的鄰近性,而分區(qū)的數(shù)據(jù)關(guān)系直接影響到后續(xù)查詢的性能。為此,將dataRDD重新分區(qū),以保證數(shù)據(jù)的鄰近關(guān)系。為此建立雙層索引結(jié)構(gòu),首先對(duì)于dataRDD每個(gè)分區(qū)的數(shù)據(jù)進(jìn)行采樣,這里選取1%的數(shù)據(jù),將這些數(shù)據(jù)傳送到主結(jié)點(diǎn)生成網(wǎng)格索引GridIndex,然后利用網(wǎng)格索引將每個(gè)分區(qū)中的數(shù)據(jù)分配到對(duì)應(yīng)的網(wǎng)格中,對(duì)于每個(gè)分區(qū)中的數(shù)據(jù)點(diǎn),如果該數(shù)據(jù)點(diǎn)包含在某個(gè)網(wǎng)格中,就將其分到該網(wǎng)格中,分配結(jié)果生成新的網(wǎng)格分區(qū)RDD即GridPartitionRdd,然后將GridPartitionRdd中具有相同grid_id的數(shù)據(jù)重新分配到新的分區(qū)中,也就是進(jìn)行再分區(qū),對(duì)于每一個(gè)新的分區(qū)中的對(duì)象,分別建立Voronoi索引,形成VoronoiIndexRdd。

    基于Spark的網(wǎng)格-Voronoi 圖雙層索引構(gòu)建算法如算法1所示。

    算法1:Grid-Voronoi-Index-Construct

    輸入:數(shù)據(jù)集dataset;

    輸出:局部Voronoi圖索引,全局網(wǎng)格索引;

    begin

    sc←new SparkContext(conf);

    dataRDD←sc.textfile(dataset);

    //加載原始數(shù)據(jù)

    SampleData←dataRDD.sample;//對(duì)原始數(shù)據(jù)進(jìn)行并行采樣

    GridIndex←SampleData.CreateGridIndex;

    //基于采樣數(shù)據(jù),在master結(jié)點(diǎn)構(gòu)建網(wǎng)格索引

    for each partition do

    for each point in dataRDD do

    for each grid do

    If point∈grid then

    GridPartitionRdd←

    GridPartitionRdd∪(grid_id,point);

    //將dataRDD中的點(diǎn)分配到對(duì)應(yīng)網(wǎng)格中

    endif

    endfor

    endfor

    endfor

    rePartitionRdd←GridPartitionRdd.partitionBy

    (GridPartitionRdd(grid_id,point)

    ?rePartitionRdd(grid_id,point)

    //將具有相同grid_id的數(shù)據(jù)混洗到同一個(gè)分區(qū)中

    for each partition do

    VoronoiIndexRdd←rePartitionRdd.map

    (rePartitionRdd(grid_id,point)?

    VoronoiIndexRdd(grid_id,PVDi));

    endfor

    VoronoiIndexRdd.merge();

    VoronoiIndexRdd.cache();

    GridIndex.cache();

    return GridIndexRdd;

    return VoronoiIndexRdd;

    end

    3 基于Spark的并行反向k最近鄰查詢

    3.1 基于Spark的并行反向k最近鄰查詢過程

    基于Spark的并行反向k最近鄰查詢處理過程如圖2所示。

    圖2 基于Spark并行空間反向k最近鄰查詢處理流程

    該查詢方法首先載入數(shù)據(jù)集的全局網(wǎng)格索引,通過網(wǎng)格索引的檢索,查找出包含查詢點(diǎn)q的局部Voronoi圖索引,加載局部Voronoi圖索引,并啟動(dòng)任務(wù)開始執(zhí)行。然后在每個(gè)分區(qū)中執(zhí)行在基于Voronoi圖的RkNN過濾-精煉算法,找到查詢點(diǎn)q的RkNN,形成結(jié)果存儲(chǔ)在HDFS中。

    3.2 基于Voronoi圖的RkNN過濾-精煉算法

    給定數(shù)據(jù)集P的Voronoi圖VD(P)和查詢點(diǎn)q,基于Voronoi圖的RkNN過濾-精煉算法包含過濾和精煉兩個(gè)步驟。首先,由過濾步驟獲得可能成為結(jié)果的候選,在Voronoi圖VD(P)中定位查詢點(diǎn)q,在q處將空間劃分為6等分區(qū)域,由推論1可知,查詢點(diǎn)q的RkNN一定在其前k級(jí)鄰接生成點(diǎn)中,再由定理2可知,每個(gè)6等分區(qū)域的RkNN結(jié)果只能在其k近鄰中,因此對(duì)于每個(gè)區(qū)域,將q的前k級(jí)鄰接生成點(diǎn)放入候選集中;然后,由精煉步驟去除候選集中不能成為結(jié)果的候選,計(jì)算候選集中每個(gè)點(diǎn)p的第k個(gè)最近鄰k-thNN,如果p與k-thNN之間的距離小于p與q之間的距離,則從候選集中刪掉p,最后將6個(gè)區(qū)域的候選集合并即為最終結(jié)果。

    基于Voronoi圖的RkNN過濾、精煉算法如算法2、算法3所示。

    算法2: VRkNN-Filter(P,q,k)

    輸入: 查詢點(diǎn)q, 數(shù)據(jù)點(diǎn)集P的Voronoi圖VD(P), RkNN的k值;

    輸出: RkNN的候選集Scnd(i);

    begin

    fori=1 to 6 do

    Scnd(i)←?;

    endfor

    在VD(P)中定位查詢點(diǎn)q;

    SixRegionPartition(P);

    for eachScnd(i) do

    for i=1 tokdo

    Scnd(i)←Scnd(i)+AGi(q);

    //將q的第i級(jí)鄰接生成點(diǎn)加入候選集中

    endfor

    returnScnd(i);

    end

    算法3: VRkNN-Verification(P,q,k)

    輸入: 查詢點(diǎn)q, 數(shù)據(jù)點(diǎn)集Voronoi圖VD(P), RkNN的k值;

    輸出: RkNN結(jié)果集result;

    begin

    Scnd(i)←VRkNN-Filter(P,q,k);

    Scnd←?;

    result←?;

    for each pointpinScnd(i) do

    pk=k-th NN ofp;

    if dist(p,q)>dist(p,pk) then

    Scnd(i)←Scnd(i)-p;

    endif

    endfor

    Scnd←Scnd∪Scnd(i);

    result←Scnd;

    returnresult;

    end

    定理3 算法VRkNN-Filter(P,q,k) 和VRkNN-Verification(P,q,k) 可以正確地查找查詢點(diǎn)q的反向k最近鄰,算法VRkNN-Filter(P,q,k) 和VRkNN-Verification(P,q,k) 是可以終止的,算法的時(shí)間復(fù)雜度是O(nlogn)。

    證明:(正確性)算法VRkNN-Filter(P,q,k) 首先將空間區(qū)域以查詢點(diǎn)q為中心進(jìn)行6等分,然后在每個(gè)區(qū)域中查找q的k個(gè)最近鄰,將這些結(jié)果放入候選集中,由推論1和定理2可知,算法VRkNN-Filter(P,q,k) 中的結(jié)果是正確的。算法VRkNN-Verification(P,q,k) 對(duì)候選集中的每個(gè)數(shù)據(jù)點(diǎn)進(jìn)行處理,用該點(diǎn)的第k個(gè)最近鄰與之對(duì)比,如果滿足該點(diǎn)與查詢點(diǎn)的距離大于該點(diǎn)與其第k個(gè)最近鄰的距離,則去掉該候選,逐個(gè)去除錯(cuò)誤的候選,得到正確的結(jié)果。

    (可終止性)算法VRkNN-Filter(P,q,k) 對(duì)6個(gè)空間區(qū)域分別進(jìn)行for循環(huán),循環(huán)次數(shù)為k,是有限的,為此算法2是可終止的,算法VRkNN-Verification(P,q,k) 中的for循環(huán)是針對(duì)候選集中的對(duì)象的,數(shù)據(jù)也是有限的,所以循環(huán)是可以終止的,為此算法3也是可終止的。

    (時(shí)間復(fù)雜度分析)算法VRkNN-Filter(P,q,k) 計(jì)算Voronoi圖的時(shí)間復(fù)雜度為O(nlogn),在VD(P)中定位查詢點(diǎn)q時(shí)間是O(logn),查找k個(gè)最近鄰時(shí)間為O(klogn), 為此算法2的時(shí)間復(fù)雜度為O(nlogn+klogn); 算法VRkNN-Verification(P,q,k) 針對(duì)候選集中對(duì)象進(jìn)行查詢,假設(shè)候選集中對(duì)象個(gè)數(shù)為m,則查詢時(shí)間為O(mlogn),為此算法3的時(shí)間復(fù)雜度為O(mlogn),綜上,基于Voronoi圖的RkNN過濾-精煉算法總的時(shí)間復(fù)雜度為O(nlogn+klogn+mlogn)。 證畢。

    3.3 基于Spark并行反向k最近鄰查詢算法

    基于Spark的并行反向k最近鄰查詢算法SV_RkNN基本思想如下:算法包括兩個(gè)步驟,第一個(gè)步驟為過濾,第二個(gè)步驟為精煉。給定雙層索引結(jié)構(gòu)的RDD,算法首先查詢?nèi)志W(wǎng)格索引,定位查詢點(diǎn)q所在網(wǎng)格,確定對(duì)應(yīng)局部索引,在局部索引RDD所在分區(qū)執(zhí)行過濾精煉步驟。過濾步驟執(zhí)行VRkNN-Filter過濾算法,執(zhí)行過程中如果出現(xiàn)候選集中的點(diǎn)在相鄰的其它分區(qū)時(shí),如圖1的點(diǎn)p1的某些最近鄰p2、p3在其相鄰的分區(qū)中,需要對(duì)相應(yīng)分區(qū)進(jìn)行并行處理,再次執(zhí)行VRkNN-Filter過濾算法,并將候選集進(jìn)行合并,得到最終候選集;然后在候選集所在分區(qū)中執(zhí)行VRkNN-Verification精煉算法,得到最終的并行反向k最近鄰查詢結(jié)果。算法SV_RkNN的數(shù)據(jù)流如圖3所示。

    圖3 SV_RkNN的數(shù)據(jù)流

    由圖3可知,SV_RkNN查詢處理算法包括Filter、Flatmap、Merge、Flatmap這4次轉(zhuǎn)換,其中Filter轉(zhuǎn)換可由全局網(wǎng)格索引定位查詢點(diǎn)縮小查詢范圍,從而縮小中間生成的RDD大小,接下來的Flatmap轉(zhuǎn)換完成過濾操作,產(chǎn)生窄依賴,而Merge轉(zhuǎn)換完成再次過濾操作,產(chǎn)生寬依賴,會(huì)發(fā)生數(shù)據(jù)的混洗,但此時(shí)數(shù)據(jù)經(jīng)過過濾已經(jīng)極大縮小當(dāng)前的RDD,最后的Flatmap轉(zhuǎn)換完成精煉操作。此過程產(chǎn)生的中間RDD會(huì)在每次執(zhí)行后刪除,但索引RDD仍駐留在內(nèi)存中,重復(fù)使用的索引RDD可大幅度加速迭代的執(zhí)行。

    基于Spark并行反向k最近鄰查詢算法如算法4所示。

    算法4: SV_RkNN

    輸入: 網(wǎng)格索引GridIndex, Voronoi圖索引VoronoiIndexRdd, 查詢點(diǎn)集q, RkNN的k值;

    輸出: 查詢集q的RkNN結(jié)果集合result;

    begin

    Grid_idArray←GridIndexQuery(q);

    //查詢網(wǎng)格索引,確定查詢點(diǎn)q所在網(wǎng)格,將對(duì)應(yīng)grid_id記錄在Grid_idArray中

    VoronoiIndexRdd←

    VoronoiIndexRdd.Filter(grid_id);

    //根據(jù)Grid_idArray中的值確定相應(yīng)局部索引

    //過濾步驟

    for the partition of VoronoiIndexRdd do

    CandidateSetRDD←

    VoronoiIndexRdd.flatmap(array?

    VoronoiIndexRdd.VRkNN-Filter(P,qi,k));

    Flag=0;

    for each pointpin CandidateSetRDD do

    ifpis in the neighboring partition do

    flag=1;

    partition←FINDPartition(P,p)

    endif

    endfor

    endfor

    if flag=1 do

    for each partition do

    CandidateSetRDD←

    VoronoiIndexRdd.Flatmap(array?

    VoronoiIndexRdd.VRkNN-Filter(P,q,k));

    endfor

    CandidateSetRDD.Merge();

    endif

    //精煉步驟

    for the partition of CandidateSetRDD do

    VerificationSetRDD←

    CandidateSetRDD.Flatmap(array?

    CandidateSetRDD.VRkNN-Verification (P,q,k));

    result.Initialize;

    result←VerificationSetRDD.reduce();

    endfor

    returnresult;

    end

    定理4 算法SV_RkNN的過濾步驟可以返回所有的結(jié)果(完備性),且算法SV_RkNN的精煉步驟返回的結(jié)果是正確的(正確性)。

    證明:(完備性)SV_RkNN算法的過濾步驟可以產(chǎn)生所有的候選。因?yàn)樗惴ǖ倪^濾步驟分成兩個(gè)階段,第一個(gè)階段確定包含查詢點(diǎn)所在的分區(qū),執(zhí)行一次VRkNN-Filter過濾算法,過濾掉不可能成為候選的對(duì)象,根據(jù)定理3可知,過濾掉的對(duì)象不可能成為候選。第二個(gè)階段根據(jù)對(duì)象是否在其它的分區(qū)中,確定并行處理的分區(qū),并再次進(jìn)行VRkNN-Filter過濾處理,得到其它分區(qū)中的所有候選,并將所有候選合并為候選集,根據(jù)定理3可知,過濾掉的對(duì)象不可能成為候選,由此可知候選集中的對(duì)象包含了所有的結(jié)果,算法是完備的。

    (正確性)SV_RkNN算法的精煉步驟不會(huì)刪掉真正的結(jié)果并且不會(huì)返回的不是實(shí)際RkNN的結(jié)果。首先,算法對(duì)候選集中對(duì)象所在分區(qū)進(jìn)行處理,執(zhí)行VRkNN-Verification精煉算法,對(duì)候選集中的所有對(duì)象進(jìn)行處理,刪除錯(cuò)誤的候選,根據(jù)定理3可知,刪除的候選是不可能成為真正的結(jié)果,保證了結(jié)果的正確性??梢岳梅醋C法來證明結(jié)果集中不會(huì)返回不是實(shí)際RkNN的結(jié)果。假設(shè)結(jié)果集中返回的點(diǎn)p不是實(shí)際RkNN的結(jié)果,則p的kNN中一定不包含查詢點(diǎn)q,即p與q之間的距離一定大于p與其第k最近鄰之間的距離,而這樣的點(diǎn)在算法中一定會(huì)被刪除,不能成為結(jié)果,所以與假設(shè)相矛盾,由此證明結(jié)果集中不會(huì)返回不是實(shí)際RkNN的結(jié)果。證畢。

    4 實(shí)驗(yàn)結(jié)果及分析

    實(shí)驗(yàn)是在一個(gè)包含4個(gè)節(jié)點(diǎn)的Spark分布式集群上進(jìn)行,它由1個(gè)master節(jié)點(diǎn)和3個(gè)worker節(jié)點(diǎn)組成,每臺(tái)機(jī)器的硬件配置都是:CPU型號(hào)為Intel CORE i5-104002.9 GHz六核處理器,內(nèi)存為8 GB,硬盤1 TB。操作系統(tǒng)是64 位 Ubuntu16.04,Hadoop版本為2.7.1,JDK版本為1.7,Spark版本為2.0.1。

    實(shí)驗(yàn)中使用二維點(diǎn)數(shù)據(jù)來測(cè)試所提出的SV_RkNN算法,實(shí)驗(yàn)數(shù)據(jù)來自于OpenStreetMap的3個(gè)數(shù)據(jù)集,這些數(shù)據(jù)集可以在SpatialHadoop官網(wǎng)[23]下載。數(shù)據(jù)集具體包括:Lakes、Parks和Roads。數(shù)據(jù)集詳情見表1。

    表1 實(shí)驗(yàn)數(shù)據(jù)集

    實(shí)驗(yàn)測(cè)試構(gòu)建索引性能,實(shí)驗(yàn)在不同分布數(shù)據(jù)集上分別比較本文創(chuàng)建索引算法GV-Index和文獻(xiàn)[2]中基于Map-Reduce的Voronoi-based算法(稱為MR_VD)的性能。

    采用上述3個(gè)真實(shí)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),對(duì)比GV-Index算法和MR_VD算法構(gòu)建索引耗時(shí),實(shí)驗(yàn)結(jié)果如圖4所示。由圖4可知,對(duì)于每個(gè)數(shù)據(jù)集來說,GV-Index算法的構(gòu)建索引耗時(shí)明顯少于MR_VD算法的耗時(shí),這是因?yàn)镾park基于內(nèi)存計(jì)算的特點(diǎn),可以在內(nèi)存中進(jìn)行數(shù)據(jù)緩存,節(jié)省了時(shí)間。

    圖4 數(shù)據(jù)集大小對(duì)索引構(gòu)建耗時(shí)的影響

    實(shí)驗(yàn)測(cè)試算法總的執(zhí)行時(shí)間,即算法響應(yīng)時(shí)間。實(shí)驗(yàn)在不同分布數(shù)據(jù)集上分別比較SV_RkNN算法和文獻(xiàn)[7]中基于LocationSpark的RkNN算法(稱為LS_RkNN)和文獻(xiàn)[7]中的基于Spatial Hadoop的RkNN算法(稱為SH_RkNN)的性能。

    首先采用上述3個(gè)真實(shí)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),取k=5,分析數(shù)據(jù)集規(guī)模對(duì)算法的查詢時(shí)間的影響。圖5給出了SV_RkNN算法、LS_RkNN算法和SH_RkNN算法的響應(yīng)時(shí)間隨數(shù)據(jù)集大小的變化關(guān)系。由圖5可知,數(shù)據(jù)集的大小對(duì)3種算法的響應(yīng)時(shí)間的影響不大,算法具有較好的穩(wěn)定性。這是因?yàn)?,兩種算法均采用了索引結(jié)構(gòu),而索引能夠使得數(shù)據(jù)的查詢范圍縮小在限定的范圍內(nèi),為此數(shù)據(jù)量的大小對(duì)響應(yīng)時(shí)間的影響不大。但是,SV_RkNN算法的響應(yīng)時(shí)間明顯少于LS_RkNN算法和SH_RkNN算法,這主要是因SV_RkNN方法進(jìn)行RkNN查詢時(shí),基于雙層索引結(jié)構(gòu),通過全局索引的過濾確定局部分區(qū),可以避免訪問不必要的數(shù)據(jù)分區(qū),只需在相關(guān)的數(shù)據(jù)分區(qū)內(nèi)執(zhí)行VRkNN查找,基于Voronoi圖的性質(zhì)3,一個(gè)點(diǎn)的Voronoi近鄰最多為6,因此VRkNN中的kNN及每個(gè)候選點(diǎn)的第k個(gè)NN的查詢分別只需訪問6k個(gè)數(shù)據(jù)點(diǎn),明顯縮短了響應(yīng)時(shí)間,效果較好。

    圖5 數(shù)據(jù)集大小對(duì)響應(yīng)時(shí)間的影響

    然后采用真實(shí)數(shù)據(jù)集Parks 和Roads進(jìn)行實(shí)驗(yàn),分析k值的變化對(duì)SV_RkNN算法、LS_RkNN算法和SH_RkNN算法響應(yīng)時(shí)間的影響。實(shí)驗(yàn)選取k=1、5、10、15、20和30,實(shí)驗(yàn)結(jié)果分別如圖6和圖7所示。由圖6和圖7可知,k值的變化對(duì)SV_RkNN算法和LS_RkNN算法的影響明顯小于k值的變化對(duì)LS_RkNN算法的影響。這是因?yàn)?,隨著k值的增大,候選數(shù)量明顯增加,每一個(gè)分節(jié)點(diǎn)處理的數(shù)據(jù)量變大,SH_RkNN算法基于Spatial Hadoop,采取磁盤存儲(chǔ)策略,讀取大量的候選集需要多次的磁盤訪問,增加了輸入輸出操作的代價(jià)。而SV_RkNN算法和LS_RkNN算法基于Spark,采用基于內(nèi)存計(jì)算的策略,減少了磁盤訪問的時(shí)間,查詢過程中使用的數(shù)據(jù)直接可用,因此相對(duì)于k值的增大而言相應(yīng)的執(zhí)行時(shí)間變化不大。而對(duì)比SV_RkNN算法和LS_RkNN算法,由于LS_RkNN需要執(zhí)行KNN查詢(K遠(yuǎn)大于k),隨著k值的增大,候選數(shù)量明顯增加,而對(duì)于SV_RkNN算法,kNN及每個(gè)候選點(diǎn)的第k個(gè)NN的查詢?cè)L問的數(shù)量分別為6k,因此隨著k值的增大,SV_RkNN算法的性能優(yōu)于LS_RkNN算法。

    圖6 Parks數(shù)據(jù)集k值變化對(duì)響應(yīng)時(shí)間的影響

    圖7 Roads數(shù)據(jù)集k值變化對(duì)響應(yīng)時(shí)間的影響

    最后采用真實(shí)數(shù)據(jù)集Parks進(jìn)行實(shí)驗(yàn),取k=5,分析不同的計(jì)算節(jié)點(diǎn)數(shù)量對(duì)SV_RkNN算法、LS_RkNN算法和SH_RkNN算法響應(yīng)時(shí)間的影響。實(shí)驗(yàn)選取節(jié)點(diǎn)個(gè)數(shù)分別為1、2、3、4,實(shí)驗(yàn)結(jié)果如圖8所示。由圖8可知,LS_RkNN算法的響應(yīng)時(shí)間隨著節(jié)點(diǎn)個(gè)數(shù)的增加而減少,并且隨著節(jié)點(diǎn)數(shù)量越來越多,響應(yīng)時(shí)間的減少幅度變小,這是因?yàn)楣?jié)點(diǎn)數(shù)量的增加會(huì)增加節(jié)點(diǎn)之間的通信和調(diào)度時(shí)間,而且隨著節(jié)點(diǎn)數(shù)量的增加,響應(yīng)時(shí)間的減小幅度逐漸降低。但是,隨著節(jié)點(diǎn)數(shù)量的增加,SV_RkNN算法和SH_RkNN算法的響應(yīng)時(shí)間基本沒有改變,而SV_RkNN算法的性能優(yōu)于SH_RkNN算法,這是因?yàn)?,通過全局索引確定分區(qū)后,RkNN的查找只在確定的分區(qū)進(jìn)行,也就是說,由查詢q的位置和k的值,可確定RkNN的查找通常在一個(gè)分區(qū)中進(jìn)行,響應(yīng)時(shí)間與節(jié)點(diǎn)的個(gè)數(shù)無關(guān)。

    圖8 節(jié)點(diǎn)個(gè)數(shù)的變化對(duì)響應(yīng)時(shí)間的影響

    5 結(jié)束語

    本文對(duì)基于Spark框架的并行反向k最近鄰查詢進(jìn)行研究,基于Voronoi圖的良好特性,構(gòu)建了基于網(wǎng)格-Voronoi圖的雙層索引機(jī)構(gòu),給出了索引構(gòu)建算法,并在此索引結(jié)構(gòu)上實(shí)現(xiàn)了基于Spark的并行反向k近鄰查詢,提出SV_RkNN算法,并通過真實(shí)數(shù)據(jù)集進(jìn)行了實(shí)驗(yàn),將SV_RkNN與基于LocationSpark的RkNN算法和基于SpatialHadoop的RkNN算法進(jìn)行了比較,實(shí)驗(yàn)結(jié)果驗(yàn)證了SV_RkNN相對(duì)比較算法具有更好的查詢性能和較好的穩(wěn)定性。下一步計(jì)劃研究基于Spark框架的空間連接查詢,通過索引結(jié)構(gòu)的改進(jìn),提高查詢的性能。

    猜你喜歡
    分區(qū)網(wǎng)格節(jié)點(diǎn)
    用全等三角形破解網(wǎng)格題
    CM節(jié)點(diǎn)控制在船舶上的應(yīng)用
    上海實(shí)施“分區(qū)封控”
    Analysis of the characteristics of electronic equipment usage distance for common users
    基于AutoCAD的門窗節(jié)點(diǎn)圖快速構(gòu)建
    反射的橢圓隨機(jī)偏微分方程的網(wǎng)格逼近
    浪莎 分區(qū)而治
    重疊網(wǎng)格裝配中的一種改進(jìn)ADT搜索方法
    基于曲面展開的自由曲面網(wǎng)格劃分
    抓住人才培養(yǎng)的關(guān)鍵節(jié)點(diǎn)
    97超视频在线观看视频| 噜噜噜噜噜久久久久久91| 久久精品综合一区二区三区| 日韩强制内射视频| 免费人成视频x8x8入口观看| 色播亚洲综合网| 99久久精品国产国产毛片| 麻豆精品久久久久久蜜桃| 中出人妻视频一区二区| 一卡2卡三卡四卡精品乱码亚洲| 男人狂女人下面高潮的视频| 干丝袜人妻中文字幕| 女人被狂操c到高潮| 别揉我奶头~嗯~啊~动态视频| 三级毛片av免费| 老司机福利观看| 国产色婷婷99| 国产午夜精品论理片| 国产高清不卡午夜福利| 看十八女毛片水多多多| 日本黄大片高清| 老熟妇仑乱视频hdxx| 无遮挡黄片免费观看| 国产成人91sexporn| 久久国产乱子免费精品| 男女做爰动态图高潮gif福利片| 天堂√8在线中文| 亚洲性夜色夜夜综合| 午夜福利在线观看吧| 久久久久国内视频| 一个人观看的视频www高清免费观看| 日韩亚洲欧美综合| 亚洲欧美精品综合久久99| 成人欧美大片| 黄色一级大片看看| 97碰自拍视频| 久久这里只有精品中国| 我要看日韩黄色一级片| а√天堂www在线а√下载| 亚洲精品影视一区二区三区av| 日日干狠狠操夜夜爽| 亚洲av美国av| 有码 亚洲区| 国国产精品蜜臀av免费| 亚洲av第一区精品v没综合| 亚洲18禁久久av| 最新中文字幕久久久久| 国产午夜精品久久久久久一区二区三区 | 99热6这里只有精品| 亚洲精品久久国产高清桃花| 日韩av在线大香蕉| 亚洲精品国产成人久久av| 深夜精品福利| 久久婷婷人人爽人人干人人爱| 天堂动漫精品| 久久久久久久午夜电影| 女生性感内裤真人,穿戴方法视频| 午夜福利在线在线| 波野结衣二区三区在线| 免费av观看视频| 搡老熟女国产l中国老女人| 天天一区二区日本电影三级| 97超碰精品成人国产| 搡老熟女国产l中国老女人| 赤兔流量卡办理| 99精品在免费线老司机午夜| 亚洲av电影不卡..在线观看| 日本三级黄在线观看| 国产高清三级在线| 日本一本二区三区精品| 久久久久久久亚洲中文字幕| 欧美高清性xxxxhd video| ponron亚洲| 黄色一级大片看看| 欧美日韩综合久久久久久| 国产精品99久久久久久久久| 内射极品少妇av片p| 一个人看视频在线观看www免费| 亚洲人成网站在线观看播放| a级一级毛片免费在线观看| 亚洲av电影不卡..在线观看| 国产单亲对白刺激| 亚洲一区高清亚洲精品| 精品无人区乱码1区二区| 久久午夜亚洲精品久久| 99久久精品国产国产毛片| 在现免费观看毛片| 久久午夜福利片| 日日摸夜夜添夜夜爱| 国产高清有码在线观看视频| 欧美zozozo另类| 深爱激情五月婷婷| 岛国在线免费视频观看| a级毛片免费高清观看在线播放| 搡老妇女老女人老熟妇| 免费看美女性在线毛片视频| 激情 狠狠 欧美| 日本免费a在线| 成人午夜高清在线视频| 国产精品爽爽va在线观看网站| 97在线视频观看| 嫩草影院新地址| 亚洲欧美日韩卡通动漫| 亚洲av熟女| 国产黄a三级三级三级人| 黄色视频,在线免费观看| 深爱激情五月婷婷| 精品免费久久久久久久清纯| 噜噜噜噜噜久久久久久91| 亚洲国产欧洲综合997久久,| 久久久精品欧美日韩精品| 狠狠狠狠99中文字幕| 丝袜美腿在线中文| 亚洲欧美日韩卡通动漫| 久99久视频精品免费| 内地一区二区视频在线| 男女那种视频在线观看| 国产伦在线观看视频一区| 国产探花在线观看一区二区| 内地一区二区视频在线| 国产aⅴ精品一区二区三区波| 天堂av国产一区二区熟女人妻| 十八禁国产超污无遮挡网站| 久久久久久久久久久丰满| 麻豆一二三区av精品| 一级毛片aaaaaa免费看小| 精品一区二区三区av网在线观看| 中文字幕av在线有码专区| 国产伦精品一区二区三区四那| 97超碰精品成人国产| 国产精品一区二区三区四区免费观看 | 久久久久性生活片| 男人和女人高潮做爰伦理| 18禁裸乳无遮挡免费网站照片| 嫩草影院入口| 91在线精品国自产拍蜜月| 一区二区三区四区激情视频 | 国产精品无大码| 91午夜精品亚洲一区二区三区| 国产高清视频在线播放一区| 一区福利在线观看| 亚洲自偷自拍三级| 亚洲精品色激情综合| 最新中文字幕久久久久| 我的女老师完整版在线观看| 最近视频中文字幕2019在线8| 欧美性猛交黑人性爽| 欧美性猛交黑人性爽| 性插视频无遮挡在线免费观看| 国产精品嫩草影院av在线观看| 久久人人爽人人片av| 国产又黄又爽又无遮挡在线| 天堂av国产一区二区熟女人妻| 国产成人一区二区在线| 国产毛片a区久久久久| 夜夜看夜夜爽夜夜摸| 久久久午夜欧美精品| 波多野结衣高清无吗| 国产高清激情床上av| 免费看a级黄色片| 亚洲综合色惰| 听说在线观看完整版免费高清| 国产成人福利小说| 日本爱情动作片www.在线观看 | 桃色一区二区三区在线观看| 久久久国产成人精品二区| 欧美成人免费av一区二区三区| 国产久久久一区二区三区| 尤物成人国产欧美一区二区三区| 99热这里只有精品一区| 最近最新中文字幕大全电影3| 人人妻人人看人人澡| 一级毛片aaaaaa免费看小| 成人精品一区二区免费| 中文字幕av在线有码专区| 久久久久久久久中文| 三级经典国产精品| 夜夜看夜夜爽夜夜摸| 日韩精品青青久久久久久| 国产不卡一卡二| 国国产精品蜜臀av免费| 最近手机中文字幕大全| 国产v大片淫在线免费观看| 国产伦精品一区二区三区四那| av福利片在线观看| 3wmmmm亚洲av在线观看| a级毛片a级免费在线| 一边摸一边抽搐一进一小说| 久久99热6这里只有精品| 蜜桃久久精品国产亚洲av| 久久久久久久亚洲中文字幕| 成年版毛片免费区| 国产熟女欧美一区二区| 亚洲乱码一区二区免费版| 精华霜和精华液先用哪个| 99国产极品粉嫩在线观看| 在线a可以看的网站| 亚洲成人av在线免费| 少妇人妻一区二区三区视频| 男女边吃奶边做爰视频| 午夜精品在线福利| 中文字幕免费在线视频6| 国产精品一区二区免费欧美| 免费看光身美女| 自拍偷自拍亚洲精品老妇| 男女做爰动态图高潮gif福利片| 国产成人福利小说| 两个人视频免费观看高清| 成人av在线播放网站| 亚洲av成人精品一区久久| 真人做人爱边吃奶动态| 婷婷精品国产亚洲av| 国产真实伦视频高清在线观看| 国产精品爽爽va在线观看网站| 波多野结衣高清作品| 99久久无色码亚洲精品果冻| 精品午夜福利视频在线观看一区| 亚洲在线自拍视频| 伊人久久精品亚洲午夜| 国产极品精品免费视频能看的| 国产高潮美女av| 婷婷色综合大香蕉| 精品久久久久久久久av| а√天堂www在线а√下载| 亚洲va在线va天堂va国产| 国产人妻一区二区三区在| 日本一本二区三区精品| 少妇高潮的动态图| 蜜臀久久99精品久久宅男| 亚洲精品国产成人久久av| 嫩草影院入口| 午夜激情欧美在线| 日韩一区二区视频免费看| 熟妇人妻久久中文字幕3abv| 国产精品亚洲一级av第二区| 男人舔奶头视频| 国产欧美日韩精品亚洲av| 国模一区二区三区四区视频| 成人性生交大片免费视频hd| 中文在线观看免费www的网站| 欧美日韩国产亚洲二区| 99久久九九国产精品国产免费| 国产真实伦视频高清在线观看| 高清日韩中文字幕在线| 一级毛片我不卡| 免费看日本二区| 观看免费一级毛片| 久久亚洲国产成人精品v| 夜夜看夜夜爽夜夜摸| 久久精品国产亚洲av香蕉五月| 美女xxoo啪啪120秒动态图| 好男人在线观看高清免费视频| 成人综合一区亚洲| 国产高潮美女av| 国产精品综合久久久久久久免费| 久久精品久久久久久噜噜老黄 | 淫妇啪啪啪对白视频| 日本成人三级电影网站| 亚洲精品成人久久久久久| 一级毛片电影观看 | 黄色欧美视频在线观看| 日本熟妇午夜| 国产一区二区三区av在线 | 99热网站在线观看| 亚洲国产欧美人成| 少妇猛男粗大的猛烈进出视频 | 人人妻,人人澡人人爽秒播| 国产精品人妻久久久影院| 欧美一区二区亚洲| 精品一区二区三区视频在线| 尤物成人国产欧美一区二区三区| 亚洲人成网站在线观看播放| 成人特级黄色片久久久久久久| 午夜影院日韩av| 九九热线精品视视频播放| 亚洲四区av| 亚洲第一电影网av| 日韩成人伦理影院| 精品熟女少妇av免费看| 丰满的人妻完整版| av卡一久久| 特大巨黑吊av在线直播| 久久鲁丝午夜福利片| 久久精品国产自在天天线| 国产成人a∨麻豆精品| 欧美3d第一页| 亚洲国产日韩欧美精品在线观看| 97碰自拍视频| 我要看日韩黄色一级片| 久久99热6这里只有精品| 乱码一卡2卡4卡精品| 日本黄色视频三级网站网址| 国产高清激情床上av| 变态另类丝袜制服| 久久久久九九精品影院| 久久久久久久亚洲中文字幕| 国产熟女欧美一区二区| 国产亚洲91精品色在线| 国产精品久久视频播放| 久久草成人影院| 亚洲欧美成人精品一区二区| 三级国产精品欧美在线观看| 日韩欧美三级三区| 精品一区二区三区视频在线| 日本一二三区视频观看| 干丝袜人妻中文字幕| 欧美不卡视频在线免费观看| 草草在线视频免费看| 免费高清视频大片| 俺也久久电影网| 国产成人a区在线观看| 身体一侧抽搐| 成年女人永久免费观看视频| 久久精品国产亚洲网站| 欧美最黄视频在线播放免费| 国产三级中文精品| 欧美日韩乱码在线| 校园春色视频在线观看| 日本黄色视频三级网站网址| 久久久精品欧美日韩精品| 校园春色视频在线观看| 国内精品美女久久久久久| 嫩草影院精品99| 成熟少妇高潮喷水视频| 欧美三级亚洲精品| 舔av片在线| 久久精品国产亚洲av天美| 1000部很黄的大片| 观看美女的网站| 国产高清三级在线| 久久人人精品亚洲av| 免费人成视频x8x8入口观看| 亚洲人成网站高清观看| 久久久久久九九精品二区国产| or卡值多少钱| 午夜激情欧美在线| 日韩精品中文字幕看吧| 亚洲av成人av| 晚上一个人看的免费电影| 成年女人看的毛片在线观看| 成人漫画全彩无遮挡| 午夜精品一区二区三区免费看| 少妇丰满av| 男插女下体视频免费在线播放| 久久久欧美国产精品| 精品一区二区免费观看| 最近的中文字幕免费完整| 国产精品国产高清国产av| 国产亚洲91精品色在线| 特大巨黑吊av在线直播| 麻豆久久精品国产亚洲av| 一个人免费在线观看电影| 淫妇啪啪啪对白视频| 精品人妻视频免费看| 久久精品国产亚洲网站| 久久人人精品亚洲av| 国产日本99.免费观看| 亚洲av中文av极速乱| 最近2019中文字幕mv第一页| 神马国产精品三级电影在线观看| 少妇人妻精品综合一区二区 | 久久久久久九九精品二区国产| 国产欧美日韩一区二区精品| av.在线天堂| 亚洲精品国产av成人精品 | 一级黄片播放器| 嫩草影视91久久| 欧美xxxx性猛交bbbb| 日韩欧美 国产精品| 国产真实乱freesex| 寂寞人妻少妇视频99o| 亚洲欧美清纯卡通| 精品一区二区三区视频在线观看免费| 99久久精品国产国产毛片| 欧美区成人在线视频| 日韩高清综合在线| 寂寞人妻少妇视频99o| 在现免费观看毛片| 国产高清视频在线播放一区| 美女 人体艺术 gogo| 亚洲电影在线观看av| 男女边吃奶边做爰视频| 亚洲av成人av| 秋霞在线观看毛片| 国语自产精品视频在线第100页| 一区二区三区高清视频在线| 国产精品爽爽va在线观看网站| 91精品国产九色| 一级a爱片免费观看的视频| 晚上一个人看的免费电影| 欧美bdsm另类| 中文在线观看免费www的网站| 美女黄网站色视频| 美女被艹到高潮喷水动态| 欧美一区二区国产精品久久精品| 亚洲精华国产精华液的使用体验 | 男人的好看免费观看在线视频| 99视频精品全部免费 在线| 最后的刺客免费高清国语| 精品熟女少妇av免费看| 一进一出抽搐动态| 午夜影院日韩av| 91精品国产九色| 一a级毛片在线观看| 精品99又大又爽又粗少妇毛片| 日韩精品有码人妻一区| 十八禁国产超污无遮挡网站| 国国产精品蜜臀av免费| 国产精品99久久久久久久久| 国产成人a∨麻豆精品| 在线a可以看的网站| 一本久久中文字幕| 久久热精品热| 国产精品伦人一区二区| 久久精品夜夜夜夜夜久久蜜豆| 蜜桃久久精品国产亚洲av| 久久精品国产清高在天天线| 国产精品电影一区二区三区| 俄罗斯特黄特色一大片| 日韩,欧美,国产一区二区三区 | 精品免费久久久久久久清纯| 亚洲av二区三区四区| 国模一区二区三区四区视频| 国产女主播在线喷水免费视频网站 | 日韩一区二区视频免费看| 成人特级av手机在线观看| 久久久久免费精品人妻一区二区| 亚洲国产精品成人综合色| 99视频精品全部免费 在线| 亚洲四区av| 寂寞人妻少妇视频99o| 久久久久国内视频| 成人一区二区视频在线观看| 午夜福利成人在线免费观看| 99热只有精品国产| 久久久成人免费电影| 免费看日本二区| 色哟哟哟哟哟哟| 少妇猛男粗大的猛烈进出视频 | 夜夜爽天天搞| 日本一本二区三区精品| 人人妻,人人澡人人爽秒播| 性插视频无遮挡在线免费观看| 国产伦精品一区二区三区四那| 国产精品免费一区二区三区在线| 欧美中文日本在线观看视频| 22中文网久久字幕| 少妇猛男粗大的猛烈进出视频 | 看非洲黑人一级黄片| 精品一区二区三区视频在线| 国产午夜福利久久久久久| 天天躁日日操中文字幕| 大香蕉久久网| 一夜夜www| 天堂av国产一区二区熟女人妻| 在线免费观看的www视频| 亚洲第一电影网av| 男人舔奶头视频| 亚洲国产精品合色在线| 亚洲av美国av| 亚洲av.av天堂| 99久久成人亚洲精品观看| 国产精品电影一区二区三区| 久久久午夜欧美精品| АⅤ资源中文在线天堂| 一进一出抽搐动态| 久久久久久久久久成人| 成人三级黄色视频| 99久久无色码亚洲精品果冻| 精品久久久噜噜| 久久精品人妻少妇| 99九九线精品视频在线观看视频| 极品教师在线视频| 人人妻人人澡人人爽人人夜夜 | 亚洲欧美日韩无卡精品| 国产v大片淫在线免费观看| 久久精品久久久久久噜噜老黄 | 蜜桃亚洲精品一区二区三区| 黄片wwwwww| 亚洲欧美精品综合久久99| 日韩制服骚丝袜av| 成人综合一区亚洲| 中文字幕熟女人妻在线| 欧美激情国产日韩精品一区| 国产成人a∨麻豆精品| 永久网站在线| 国产日本99.免费观看| 日韩中字成人| 男女那种视频在线观看| 狂野欧美激情性xxxx在线观看| 国产探花极品一区二区| 一个人观看的视频www高清免费观看| 女同久久另类99精品国产91| 国产成人aa在线观看| 午夜福利在线在线| 欧美高清性xxxxhd video| 亚洲18禁久久av| 欧美高清成人免费视频www| 亚洲欧美日韩卡通动漫| 日本-黄色视频高清免费观看| 亚洲人与动物交配视频| 婷婷色综合大香蕉| 亚洲在线自拍视频| 黄色视频,在线免费观看| 大香蕉久久网| 好男人在线观看高清免费视频| 午夜福利在线在线| 亚洲国产精品国产精品| 床上黄色一级片| 国产精品亚洲美女久久久| 一个人观看的视频www高清免费观看| 精品不卡国产一区二区三区| 久久精品夜色国产| 九九久久精品国产亚洲av麻豆| 国产探花在线观看一区二区| 一级毛片久久久久久久久女| 一级黄色大片毛片| 国产麻豆成人av免费视频| 搡老岳熟女国产| 又爽又黄a免费视频| 国产一区二区激情短视频| 天天一区二区日本电影三级| 亚洲最大成人av| 啦啦啦观看免费观看视频高清| 国产精品不卡视频一区二区| 欧美国产日韩亚洲一区| 可以在线观看毛片的网站| 国产午夜福利久久久久久| 免费大片18禁| 久久精品国产鲁丝片午夜精品| 一区二区三区高清视频在线| 日本精品一区二区三区蜜桃| 91在线精品国自产拍蜜月| 老司机福利观看| 大型黄色视频在线免费观看| 99国产精品一区二区蜜桃av| 中文字幕av在线有码专区| 成人国产麻豆网| 美女 人体艺术 gogo| 91久久精品电影网| 午夜老司机福利剧场| 日韩成人伦理影院| 天堂√8在线中文| 乱码一卡2卡4卡精品| www日本黄色视频网| aaaaa片日本免费| 一区二区三区高清视频在线| 春色校园在线视频观看| 久久鲁丝午夜福利片| 九色成人免费人妻av| 亚洲精华国产精华液的使用体验 | 久久九九热精品免费| 日本五十路高清| 久久久久久久久久久丰满| 露出奶头的视频| 免费av不卡在线播放| 狂野欧美白嫩少妇大欣赏| 一区福利在线观看| 日日摸夜夜添夜夜添小说| 嫩草影院新地址| 插逼视频在线观看| 一级av片app| 国产精品人妻久久久影院| 欧美人与善性xxx| 午夜老司机福利剧场| 村上凉子中文字幕在线| av在线老鸭窝| 一个人免费在线观看电影| 身体一侧抽搐| 人妻久久中文字幕网| 亚洲精品粉嫩美女一区| 白带黄色成豆腐渣| 亚洲人与动物交配视频| 精品一区二区免费观看| 91在线观看av| 99久国产av精品国产电影| 18禁黄网站禁片免费观看直播| 亚洲三级黄色毛片| 欧美zozozo另类| 午夜福利高清视频| 亚洲美女搞黄在线观看 | 国语自产精品视频在线第100页| 熟女人妻精品中文字幕| 亚洲美女视频黄频| 人人妻人人看人人澡| 97热精品久久久久久| 国产精品福利在线免费观看| 又黄又爽又刺激的免费视频.| 日本爱情动作片www.在线观看 | 晚上一个人看的免费电影| 国产av不卡久久| 亚洲色图av天堂| 少妇人妻精品综合一区二区 | 亚洲精品国产成人久久av| 中文亚洲av片在线观看爽| 女人被狂操c到高潮| 亚洲av成人av| 波野结衣二区三区在线| aaaaa片日本免费| 波多野结衣高清作品| 黄色配什么色好看| 日韩 亚洲 欧美在线| 免费电影在线观看免费观看| 久久精品国产亚洲av涩爱 | 人人妻人人看人人澡| 久久国内精品自在自线图片| 亚洲成人中文字幕在线播放| 免费一级毛片在线播放高清视频| 嫩草影院入口| 2021天堂中文幕一二区在线观| 啦啦啦观看免费观看视频高清| 嫩草影院入口| 日韩欧美精品v在线| 美女被艹到高潮喷水动态| 日韩高清综合在线|