欧美日韩亚-欧美日韩亚州在线-欧美日韩亚洲-欧美日韩亚洲第一区-欧美日韩亚洲二区在线-欧美日韩亚洲高清精品

金喜正规买球

實踐分享|基于MaxCompute的圖計算-——-Aggregator機制介紹

精華|使用教程|編輯:龔雪|2017-03-24 10:05:38.000|閱讀 240 次

概述: Aggregator是MaxCompute-GRAPH作業(yè)中常用的feature之一,特別是解決機器學習問題時。MaxCompute-GRAPH中Aggregator用于匯總并處理全局信息。本文將詳細介紹的Aggregator的執(zhí)行機制、相關API,并以Kmeans Clustering為例子說明Aggregator的具體用法。

# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>

Aggregator機制

如圖1所示,Aggregator的邏輯分兩部分,一部分在所有Worker上執(zhí)行,即分布式執(zhí)行,另一部分只在AggregatorOwner所在Worker上執(zhí)行,即單點。其中在所有Worker上執(zhí)行的操作包括創(chuàng)建初始值及局部聚合,然后將局部聚合結果發(fā)送給AggregatorOwner所在Worker上。AggregatorOwner所在Worker上聚合普通Worker發(fā)送過來的局部聚合對象,得到全局聚合結果,然后判斷迭代是否結束。全局聚合的結果會在下一輪超步分發(fā)給所有Worker,供下一輪迭代使用。

aggregator
圖1 Aggregator機制

Aggregator的API

Aggregator共提供了五個API供用戶實現(xiàn)。下面逐個介紹5個API的調(diào)用時機及常規(guī)用途。

1. createStartupValue(context)

該API在所有Worker上執(zhí)行一次,調(diào)用時機是所有超步開始之前,通常用以初始化AggregatorValue。在第0輪超步中,調(diào)用WorkerContext.getLastAggregatedValue() 或ComputeContext.getLastAggregatedValue()可以獲取該API初始化的AggregatorValue對象。

2. createInitialValue(context)

該API在所有Worker上每輪超步開始時調(diào)用一次,用以初始化本輪迭代所用的AggregatorValue。通常操作是通過WorkerContext.getLastAggregatedValue() 得到上一輪迭代的結果,然后執(zhí)行部分初始化操作。

3. aggregate(value, item)

該API同樣在所有Worker上執(zhí)行,與上述API不同的是,該API由用戶顯示調(diào)用ComputeContext#aggregate(item)來觸發(fā),而上述兩個API,則由框架自動調(diào)用。該API用以執(zhí)行局部聚合操作,其中第一個參數(shù)value是本W(wǎng)orker在該輪超步已經(jīng)聚合的結果(初始值是createInitialValue返回的對象),第二個參數(shù)是用戶代碼調(diào)用ComputeContext#aggregate(item)傳入的參數(shù)。該API中通常用item來更新value實現(xiàn)聚合。所有aggregate執(zhí)行完后,得到的value就是該Worker的局部聚合結果,然后由框架發(fā)送給AggregatorOwner所在的Worker。

4. merge(value, partial)

該API執(zhí)行于AggregatorOwner所在Worker,用以合并各Worker局部聚合的結果,達到全局聚合對象。與aggregate類似,value是已經(jīng)聚合的結果,而partial待聚合的對象,同樣用partial更新value。
假定有3個worker,分別是w0、w1、w2,其局部聚合結果是p0、p1、p2。假定發(fā)送到AggregatorOwner所在Worker的順序為p1、p0、p2。那么merge執(zhí)行次序為,首先執(zhí)行merge(p1, p0),這樣p1和p0就聚合為p1',然后執(zhí)行merge(p1', p2),p1'和p2聚合為p1'',而p1''即為本輪超步全局聚合的結果。
從上述示例可以看出,當只有一個worker時,不需要執(zhí)行merge方法,也就是說merge()不會被調(diào)用。

5. terminate(context, value)

當AggregatorOwner所在Worker執(zhí)行完merge()后,框架會調(diào)用terminate(context, value)執(zhí)行最后的處理。其中第二個參數(shù)value,即為merge()最后得到全局聚合,在該方法中可以對全局聚合繼續(xù)修改。執(zhí)行完terminate()后,框架會將全局聚合對象分發(fā)給所有Worker,供下一輪超步使用。
 terminate()方法的一個特殊之處在于,如果返回true,則整個作業(yè)就結束迭代,否則繼續(xù)執(zhí)行。在機器學習場景中,通常判斷收斂后返回true以結束作業(yè)。

Kmeans Clustering示例

下面以典型的KmeansClustering作為示例,來看下Aggregator具體用法。附件有完整代碼,這里我們逐個部分解析代碼。

1. GraphLoader部分

GraphLoader部分用以加載輸入表,并轉(zhuǎn)換為圖的點或邊。這里我們輸入表的每行數(shù)據(jù)為一個樣本,一個樣本構造一個點,并用Vertex的value來存放樣本。
我們首先定義一個Writable類KmeansValue作為Vertex的value類型。

  public static class KmeansValue implements Writable {

    DenseVector sample;

    public KmeansValue() { 
    }

    public KmeansValue(DenseVector v) {
      this.sample = v;
    }

    @Override
    public void write(DataOutput out) throws IOException {
      wirteForDenseVector(out, sample);

    }

    @Override
    public void readFields(DataInput in) throws IOException {
      sample = readFieldsForDenseVector(in);
    }
  }

KmeansValue中封裝一個DenseVector對象來存放一個樣本,這里DenseVector類型來自,而wirteForDenseVector()及readFieldsForDenseVector()用以實現(xiàn)序列化及反序列化,可參見附件中的完整代碼。
我們自定義的KmeansReader代碼如下:

  public static class KmeansReader extends 
    GraphLoader<LongWritable, KmeansValue, NullWritable, NullWritable> {

    @Override
    public void load(
        LongWritable recordNum,
        WritableRecord record,
        MutationContext<LongWritable, KmeansValue, NullWritable, NullWritable> context)
        throws IOException {
      KmeansVertex v = new KmeansVertex();
      v.setId(recordNum);

      int n = record.size();
      DenseVector dv = new DenseVector(n);
      for (int i = 0; i < n; i++) {
        dv.set(i, ((DoubleWritable)record.get(i)).get());
      }
      v.setValue(new KmeansValue(dv));

      context.addVertexRequest(v);
    }
  }

KmeansReader中,每讀入一行數(shù)據(jù)(一個Record)創(chuàng)建一個點,這里用recordNum作為點的ID,將record內(nèi)容轉(zhuǎn)換成DenseVector對象并封裝進VertexValue中。

2. Vertex部分

自定義的KmeansVertex代碼如下。邏輯非常簡單,每輪迭代要做的事情就是將自己維護的樣本執(zhí)行局部聚合。具體邏輯參見下面Aggregator的實現(xiàn)。

  public static class KmeansVertex extends
    Vertex<LongWritable, KmeansValue, NullWritable, NullWritable> {

    @Override
    public void compute(
        ComputeContext<LongWritable, KmeansValue, NullWritable, NullWritable> context,
        Iterable<NullWritable> messages) throws IOException {
      context.aggregate(getValue());
    }
  }

3. Aggregator部分

整個Kmeans的主要邏輯集中在Aggregator中。首先是自定義的KmeansAggrValue,用以維護要聚合及分發(fā)的內(nèi)容。

  public static class KmeansAggrValue implements Writable {

    DenseMatrix centroids;
    DenseMatrix sums; // used to recalculate new centroids
    DenseVector counts; // used to recalculate new centroids

    @Override
    public void write(DataOutput out) throws IOException {
      wirteForDenseDenseMatrix(out, centroids);
      wirteForDenseDenseMatrix(out, sums);
      wirteForDenseVector(out, counts);
    }

    @Override
    public void readFields(DataInput in) throws IOException {
      centroids = readFieldsForDenseMatrix(in);
      sums = readFieldsForDenseMatrix(in);
      counts = readFieldsForDenseVector(in);
    }
  }

KmeansAggrValue中維護了三個對象,其中centroids是當前的K個中心點,假定樣本是m維的話,centroids就是一個K*m的矩陣。sums是和centroids大小一樣的矩陣,每個元素記錄了到特定中心點最近的樣本特定維之和,例如sums(i,j)是到第i個中心點最近的樣本的第j維度之和。
counts是個K維的向量,記錄到每個中心點距離最短的樣本個數(shù)。sums和counts一起用以計算新的中心點,也是要聚合的主要內(nèi)容。
接下來是自定義的Aggregator實現(xiàn)類KmeansAggregator,我們按照上述API的順序逐個看其實現(xiàn)。
首先是createStartupValue().

  public static class KmeansAggregator extends Aggregator<KmeansAggrValue> {

    public KmeansAggrValue createStartupValue(WorkerContext context) throws IOException {
      KmeansAggrValue av = new KmeansAggrValue();

      byte[] centers = context.readCacheFile("centers");
      String lines[] = new String(centers).split("\n");

      int rows = lines.length;
      int cols = lines[0].split(",").length; // assumption rows >= 1 

      av.centroids = new DenseMatrix(rows, cols);
      av.sums = new DenseMatrix(rows, cols);
      av.sums.zero();
      av.counts = new DenseVector(rows);
      av.counts.zero();

      for (int i = 0; i < lines.length; i++) {
        String[] ss = lines[i].split(",");
        for (int j = 0; j < ss.length; j++) {
          av.centroids.set(i, j, Double.valueOf(ss[j]));
        }
      }
      return av;
    }

我們在該方法中初始化一個KmeansAggrValue對象,然后從資源文件centers中讀取初始中心點,并賦值給centroids。而sums和counts初始化為0。
接來下是createInitialValue()的實現(xiàn):

    @Override
    public KmeansAggrValue createInitialValue(WorkerContext context)
        throws IOException {
      KmeansAggrValue av = (KmeansAggrValue)context.getLastAggregatedValue(0);

      // reset for next iteration
      av.sums.zero();
      av.counts.zero();

      return av;
    }

該方法中,我們首先獲取上一輪迭代的KmeansAggrValue,然后將sums和counts清零,其實是只保留了上一輪迭代出的centroids。
用以執(zhí)行局部聚合的aggregate()實現(xiàn)如下:

    @Override
    public void aggregate(KmeansAggrValue value, Object item)
        throws IOException {
      DenseVector sample = ((KmeansValue)item).sample;

      // find the nearest centroid
      int min = findNearestCentroid(value.centroids, sample);

      // update sum and count
      for (int i = 0; i < sample.size(); i ++) {
        value.sums.add(min, i, sample.get(i));
      }
      value.counts.add(min, 1.0d);
    }

該方法中調(diào)用findNearestCentroid()(實現(xiàn)見附件)找到樣本item歐拉距離最近的中心點索引,然后將其各個維度加到sums上,最后counts計數(shù)加1。
以上三個方法執(zhí)行于所有worker上,實現(xiàn)局部聚合。接下來看下在AggregatorOwner所在Worker執(zhí)行的全局聚合相關操作。
首先是merge的實現(xiàn):

    @Override
    public void merge(KmeansAggrValue value, KmeansAggrValue partial)
        throws IOException {
      value.sums.add(partial.sums);
      value.counts.add(partial.counts);
    }

merge的實現(xiàn)邏輯很簡單,就是把各個worker聚合出的sums和counts相加即可。
最后是terminate()的實現(xiàn):

   @Override
    public boolean terminate(WorkerContext context, KmeansAggrValue value)
        throws IOException {
      // Calculate the new means to be the centroids (original sums)
      DenseMatrix newCentriods = calculateNewCentroids(value.sums, value.counts, value.centroids);

      // print old centroids and new centroids for debugging
      System.out.println("\nsuperstep: " + context.getSuperstep() + 
          "\nold centriod:\n" + value.centroids + " new centriod:\n" + newCentriods);

      boolean converged = isConverged(newCentriods, value.centroids, 0.05d);
      System.out.println("superstep: " + context.getSuperstep() + "/" 
          + (context.getMaxIteration() - 1) + " converged: " + converged);
      if (converged || context.getSuperstep() == context.getMaxIteration() - 1) {
        // converged or reach max iteration, output centriods
        for (int i = 0; i < newCentriods.numRows(); i++) {
          Writable[] centriod = new Writable[newCentriods.numColumns()];
          for (int j = 0; j < newCentriods.numColumns(); j++) {
            centriod[j] = new DoubleWritable(newCentriods.get(i, j));
          }
          context.write(centriod);
        }

        // true means to terminate iteration
        return true;
      }

      // update centriods
      value.centroids.set(newCentriods);
      // false means to continue iteration
      return false;
    }

teminate()中首先根據(jù)sums和counts調(diào)用calculateNewCentroids()求平均計算出新的中心點。然后調(diào)用isConverged()根據(jù)新老中心點歐拉距離判斷是否已經(jīng)收斂。如果收斂或迭代次數(shù)達到最大數(shù),則將新的中心點輸出并返回true,以結束迭代。否則更新中心點并返回false以繼續(xù)迭代。其中calculateNewCentroids()和isConverged()的實現(xiàn)見附件。

4. main方法

main方法用以構造GraphJob,然后設置相應配置,并提交作業(yè)。代碼如下:

  public static void main(String[] args) throws IOException {
    if (args.length < 2)
      printUsage();

    GraphJob job = new GraphJob();

    job.setGraphLoaderClass(KmeansReader.class);
    job.setRuntimePartitioning(false);
    job.setVertexClass(KmeansVertex.class);
    job.setAggregatorClass(KmeansAggregator.class);
    job.addInput(TableInfo.builder().tableName(args[0]).build());
    job.addOutput(TableInfo.builder().tableName(args[1]).build());

    // default max iteration is 30
    job.setMaxIteration(30);
    if (args.length >= 3)
      job.setMaxIteration(Integer.parseInt(args[2]));

    long start = System.currentTimeMillis();
    job.run();
    System.out.println("Job Finished in "
        + (System.currentTimeMillis() - start) / 1000.0 + " seconds");
  }

這里需要注意的是job.setRuntimePartitioning(false),設置為false后,各個worker加載的數(shù)據(jù)不再根據(jù)Partitioner重新分區(qū),即誰加載的數(shù)據(jù)誰維護。

總結

本文介紹了MaxCompute-GRAPH中的Aggregator機制,API含義以及示例Kmeans Clustering。總的來說,Aggregator基本步驟是,
1)每個worker啟動時執(zhí)行createStartupValue用以創(chuàng)建AggregatorValue;
2)每輪迭代開始前,每個worker執(zhí)行createInitialValue來初始化本輪的AggregatorValue;
3)一輪迭代中每個點通過context.aggregate()來執(zhí)行aggregate()實現(xiàn)worker內(nèi)的局部迭代;
4)每個Worker將局部迭代結果發(fā)送給AggregatorOwner所在的Worker;
5)AggregatorOwner所在worker執(zhí)行多次merge,實現(xiàn)全局聚合;
6)AggregatorOwner所在Worker執(zhí)行terminate用以對全局聚合結果做處理并決定是否結束迭代。

更多行業(yè)資訊,更新鮮的技術動態(tài),盡在。


標簽:

本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn


為你推薦

  • 推薦視頻
  • 推薦活動
  • 推薦產(chǎn)品
  • 推薦文章
  • 慧都慧問
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
国产在线观看中文字幕 | 好吊妞国产欧美日韩免费观看 | 白色丝袜 | 大地影院mv高清在线观看免费 | 好看的电视剧推荐 | 国产精品久线在线观看 | 亚洲精品揄拍自拍首页一 | 精品亚洲欧美日韩 | 6080欧美一区二区三区四区 | 国产成年码 | 在线免费观看污网站 | 国产一区二区三区精品视频 | 亚洲高清中文字幕 | 亚洲韩国日本欧美一区二区三区 | 精品一区二区三区免费 | 亚洲欧洲日产国码久在线观看 | 激情小说亚洲图片伦 | 亚洲一区亚洲二区 | 亚洲欧美日韩中文字幕在线不卡 | 在线观看免费人成视频网 | 高清影视电视剧免费在线观看 | 老司机午夜福利 | 羞羞网站在线观看 | 日韩a无v码在线播放免费 | 日本视频在线观看不卡高清免费 | 一区二区三区四区视频在线 | 全部视频欧美日韩在线无人 | 国产精品自在在线午夜 | 国产精品视频免费一区二区三区 | 国产二区三区 | 亚洲欧美在线观看片不卡 | 亚洲香蕉国产高清在线播放 | 天堂8在线天堂资源 | 99视频都是精品热在 | 99国产婷婷综合在线视频 | 欧美激情一区二区三区中文字幕 | 一区二区三区免费高清视频 | 国产日产欧产精品精品app | 精品三级一区二区三区四区 | 国产精品偷窥 | 99国产免线观看九 | 中文字幕在线精品视频万部 | 国产精品k频道首页在线观看 | 国产精品亚洲社区在线观看 | 最新91天堂国产电影在线观看 | 3d成人动漫在线观看 | 尤物国产精品福利三区 | 精品不卡一区二区 | 中文字字幕乱码无线精品精品 | 亚洲欧美中文一区二区三区 | 国产免费a视频 | 91国语精品自产拍在线观看一 | 伊人国产在线播放 | 亚洲欧美另类天天更新影院 | www国产精品一区二区三区 | 日本中文字幕乱码aa高清电影 | 欧美午夜理伦三级在线 | 狼天天狼天天香蕉综 | 在线观看国产人视频免费中国 | 娇小xxxxx性| 99精品国产丝袜在线拍国语 | 成人国产亚洲欧美一区 | 国产亚洲欧美日韩综合另类 | 亚洲国产精品成 | 国产三区四区五区 | 亚韩精品视频二三四区 | 亚洲裸男gv网站 | 国产中文字幕第一页 | 午夜丁香婷婷免费手机在线观 | 国产精品18| 老熟女重囗味 | 午夜国产一区二区三区在线观看 | 日韩欧美一区二区大胸视频 | 另类熟女伦乱视频 | 日韩精品欧美亚洲高清有无 | 国产精品亚洲欧美大片在线观看 | 成人欧美一 | 国产男女猛视频在线观看 | 国产熟女绯色一区二区三区免费 | 亚洲精品自偷自拍 | 精品www日韩熟女 | 亚洲欧美日韩高清综合678 | 女邻居丰 | 欧美日韩国产中文 | 国产超级在线视频观看 | 在线午夜福利频在线播放 | 亚洲欧美日本人成在线观看 | 国产精品综合日韩精品第一页 | 日本高清视频在线观看不卡 | 亚洲成a人片 | 国产美女一区三区在线观看 | 三级理论电影三级午夜电影院 | 亚洲日本aⅴ片在线观看香蕉 | 国产亚洲精品精品国产亚洲综合 | 国产精品三级在线播放 | 欧美一级a一级a爱片免费免免 | 五月网站 | 欧美三级在线观看视频 | 亚洲成国产人片在线观看 | 国产欧美精品一区二区三区四区 | 欧美日韩色另类综合 | 日韩国产制服在线 | 全网热播最新电影电视剧 | 三三影院 | 92午夜福利1000集在线看 | 国产精品99| 在线人成观看 | 国产又黄又大又粗又硬又猛樱花 | 911精品中文在线播放永久 | 日日噜噜夜夜狠狠视频无 | 91精品国产闺蜜国产在线闺蜜 | 国产丰满 | 国产做爰一区二区 | 日韩淫片一区二区 | 妖精视频免费观看 | 日皮视频免费观看 | 在线国产精品看片 | 日韩视频网 | 欧美一级成人免费大片 | 国产一区视频在线观看免费 | 日本一区免费电影 | 偷窥国产 | 亚洲精品中文字幕乱码无线 | 欧美日韩国产一区二区三区在线 | 在线免费观看污网站 | 樱花动漫网站官网 | 国产高清尿小便嘘嘘视频 | 日韩高清专区 | 国产一区视频在线免费观看 | 日韩精品三级 | 亚洲一区二区三区人人 | 色综合中文字幕色综合激情 | 亚洲中文欧美日韩在线不卡 | 免费在线观看国 | a级日本| 日韩大片在线永久免费观看网站 | 国产乱视频在线观看 | 欧美乱妇日本无乱码特黄大片 | 视频在线看影院 | 日韩欧美色激情 | 日本另类αv欧美另类aⅴ | 国产suv精品一区二区 | 国产精品福利在线播放 | 日韩一区二区超清视频 | 中文字幕手机在线看片不卡 | 成人精品欧美一区二区 | 亚洲欧美日韩在线不卡 | 国产乱码精品 | 91电影成人天堂 | 91成人国产网站在线观看 | aⅴ日本亚洲欧洲免费天堂 加勒比综合网 | 成人+在线+| 亚洲一区二区三区在线观看 | 亚洲综合精品一区二区三区 | 亚洲综合成人aⅴ在线观看 韩国三级香港三 | 日韩中文字幕亚洲精品 | 大香区一二三四区2025 | 中文字幕一区日韩高清 | 2025最新免费电影 | 日本亚洲| 日韩欧美国产精品专区 | 日韩成人精品在线 | 精品国产女主播在线观看 | 成年免费视频播放网站推荐 | 亚洲欧美日韩二区三区 | 日本精品一区二区三区 | h版电影在线播放视频网址 99九九精品国产高清自在线 | 亚洲欧洲日韩 | 国产盗摄电影区9876色 | 激情影院内| 免费播放 | 欧美激情办公室aⅴ | 最近中文2025在线观看免费 | 欧美精品午夜 | 国产精品成aⅴ人片在线观看 | 国产中文 | 欧美日韩国产综合视频在线观看 | 国产精成人品 | 成人午夜视频一区二区国语 | 一级做a | 日日夜夜精品视 | 电影韩国禁 | 国产精品一区二区三区免费视频 | 国产尤物亚洲精品不卡 | 国产一区二区精品久电影 | 国产乱人视频在线观看播放1 | 最近中文字幕无吗高清免费视频 | 91秒拍国产福利在线观看 | 人与狗性 | 福利电影网| 国产综合专区一区二区 | 欧美日韩一区二区精品 | 在线观看视频 | 日本免费一区二区在线观看 | 精品国产一区二区三区a | 国产精品偷伦视频免费观看了 | 免费影视资源大全 | 亚洲成年看片在线观看男男 | 国产真实强奷网站在线播放 | 亚洲人成伊人成 | 日本一区二区三区精品 | 末发育娇小性色xxxx | 成人永久免费视频网站在线观看 | 国产在线一区二区三区不卡在线 | 2025最新电视剧高清热播 | 日韩淫片一区二区 | 亚洲日韩欧美综合网 | 国产+日韩精品 | 久热韩国综合中文字幕视频 | 强伦轩一区二区三区四区播放方式 | 亚洲精品字幕中文在线播放 | 韩国专区福利一区二区 | 日韩在线 | 国产高清一区二区视频 | 2025欧美精| 国产一级二级三级经典在线 | 日日爽天天 | 成年人免费在线看的惊悚动作片 | 巨大免费播放 | 日韩一区二区三区自拍偷拍 | 国产熟女一区二区五月婷 | 日本亚洲一区二区 | 精品亚洲欧美视频在线观看 | 亚洲欧美国产va | 99热这里有免费国内精品 | 高清亚洲日韩欧洲不卡在线 | 精品国产污网站在线观看15 | 欧美成妇人吹潮在线播放 | 欧美日韩国产中文字幕 | 92午夜福| 污污污视频在线免费观看 | 91免费看片 | a视频乱| 国产精品 | 中文字幕日韩 | 国产v视频 | 亚洲综合色区另类aⅴ | 国产精美| 无色码中文字幕亚洲精品 | 在线观看免费精品国产第一区 | аⅴ资源天堂资源库在线 | 亚洲精品在线观看视频 | 日本中文字幕在线 | 国产免费一区二区三区vr | 91干屁眼视频 | 精品动漫福利h视频在线观看 | 2025国产精品自产拍在线观看 | 亚洲人成aⅴ在线播放 | 秋霞电影午夜在线观看 | 国产精品老女人精品视频 | 欧美日韩精品一区二蜜桃在线观 | 97韩剧网首页 | 亚洲欧美中文日韩aⅴ | 亚洲国产精品综 | 欧美不卡在线 | 亚洲欧美高清精 | 欧美激情狠狠14p | 欧美三级一区二区 | 欧美日韩在线视频 | 性欧美乱妇come | 中文有码在线视 | 中文字字幕乱码无线精品精品 | 国产精品三级在线播放 | b站永久免费看片大全 | 国语在线看免费观看视频 | 亚洲人成色77777在线观看 | 亚洲欧洲中文字幕免费看 | 资源一区二区 | 91尤物视频在 | 欧美精品高清在线观看爱美 | 日本福利一区二区三区 | 亚洲福利一区福利三区 | 亚洲日本aⅴ精品一区二区在线 | 在线精品91国产在线观看 | 日本黄大片在线观看视频 | 色老大综合 | 日本高清视频免 | 亚洲桃色 | 日韩欧美一 | 精品一区二区三区视频免 | 偷拍区清纯另类丝袜美腿 | 99精产国品一二三产品香蕉 | 日本在线高清不卡免费播放 | 国产福利爱福利微拍视频 | 羞羞小视频在线观看 | 亚洲欧洲中文日韩 | 99国产| 亚洲v日韩天堂片 | 91国内揄拍国内精品对白 | 亚洲一区二三区好的精华液 | 破了亲妺妺的处免费视频国产 | 91九色国产社区在线观看 | 午夜欧美在线 | 国产全黄三级三级 | 国产精品亚洲欧美大片在线看 | 久热国产精品视频一区二区三区 | 不卡日韩中文字幕在线观看 | 日韩美女三级视频 | 777视频网| 日韩成人一区二区三区在线观看 | 欧美蜜桃臀在线观看一区 | 丁香婷婷激情小说 | 欧美日韩一区二区精品 | 国产精品一区二区无线 | 一区二区三区四区 | 米奇影院日韩免费 | 不用下载播放器的电影网 | 中国凸偷窥xxxx自由视频 | 免费在线人 | 午夜高清 | 日本精品一区二区三区高清 | 欧美乱妇高清视频免欢看关 | 最近高清中文在线字幕在线观看 | 最近中文字幕高清中文字 | 欧美日韩国产中文精品字幕 | 日本欧美中文字幕精品一区 | 91精品国产免费自在线观看 | 有码在线观看免费 | 可以看差差直播的软件 | 欧美精品vid | 歐美性猛交xxxx亂大交3 | 亚洲欧美中文v日韩v在线 | 国产黑色丝袜在线观看一区 | 国产日韩欧美精品大秀 | 男动漫gay片cartoon | 国产女同 | 亚洲高清中文字幕综合网 | 国产美女 | 成人午夜视频在线观看 | 国产精品一区二区久 | 999热成人精品国 | 制服丝袜日韩欧美国产 | 国产在线高清精品三区 | 色眯眯国产在线播 | 2025精品 | 日韩一区二区在 | 91精品国产自产老师啪 | 中国农村真卖bbwbbw | 中文字幕日 | 亚洲精品一区二区三区视频在线观 | 欧美人一级淫片a免费播放 国产精品永久免费自在线观 | 欧美性色欧美a在线在线播放 | 国产高清视频在线免费观看 | 国产成a人片在线观看视频下载 | 日韩高清在线观看 | 日韩熟女高清精品专区 | 精品日本亚洲专区 | 亚洲综合二区 | 午夜视频在线免费观看 | 三年片在线观看免费大全哔哩哔哩 | 精品国偷自产在线视频99 | 国产精品成久 | 色老板久 | 国产乱人视频在线观看播放1 | 日韩欧美在线国产一区二区 | 日韩一区视频精品无高清在 | 日韩大片在线观看入口 | 国产99视 | 97视频全国精品 | 午夜激情视频三区在线 | 亚洲欧美日韩国产精品一区二 | 中文字幕亚洲无线码在一区 | 欧美综合自拍亚洲综合区 | 亚洲精品欧美精品日韩精品 | 国产午夜在线视频 | 婷婷亚洲综合一区二区 | 国产亚洲欧美一区二区精 | 电视剧大全免费 | 粗又爽电影| 99精品国产高清一区二区 | 欧美性白人极 | 国产丝袜控视频在线观看 | 国产在线精品香蕉综合网一区 | 国产精品97 | 制服丝袜中文字幕在线 | 国内精品自线在拍 | 拍国内精品老妇 | 伊人影视在线观看日韩区 | 国产一区二区三区欧美在线 | 国产一区视频在线免费观看 | 伦理大片在线观看 | 中文国产欧美在线观看 | 欧美在线一级va免费 | 好吊妞国产欧美日韩免费观看 | 精品一区精品二区制 | 亚洲熟女www一区二区三区 | 91秒拍国产福利一区 | 手机看片国产欧美日韩 | 成人拍拍拍免费视频网站 | 亚洲欧美日本综合 | 日韩电影大片手机在线观看 | 91高清影院 | 国语自产偷拍精 | 亚洲欧美视频一区二区三区 | 国产日韩综合精品一区二区三区 | 亚洲国产精品特色大片观看完整版 | 国产亚洲精品九九久在线观看 | 亚洲人成小说网站色 | 色老大综合 | 亚洲中文字幕丝袜制服视频 | 国产一区精品普通话对白 | 成人午夜在线观看国产 | 中文免费高清特 | 五月天丁 | 人片在线观看www | 中文天堂最新版资源 | 精品国产拍国产天天人 | 中文字幕精品亚洲无线码二 | 国产主播一区二区三区在线观 | 国产91精品高跟丝袜在线 | 91人前露出精品国产 | 二区日韩国产精品 | 亚洲午夜理论片在线观看 | 99国产精品性 | 国产高清一区二区在线免费观看 | 亚洲成ā人v欧美综合天 | 免费高清手机在线观看 | 免费人成视网站在线不卡 | 自偷自拍亚洲综合精品 | 亚洲国产精品va在线观看无 | 国内精品卡一 | 国产在线精品一区二区在线观看 | 99影视| 欧美日韩国产亚洲 | 99九九精品国产高清自在线 | 精品国产电影自在免费观看 | 欧美日韩国产区在线观看 | 黑料不打烊最新2025地址 | 视频播放 | 国产又粗又黄又爽的免费视频 | 老司机永久免费视频网站在线观看 | 午夜性影院爽爽爽爽爽爽 | 欧美人成网站中文字 | 一区二区三区国产美女在线播放 | 国产精品久片在 | 中文字幕亚洲欧美日韩在线不卡 | 欧美亚洲综合另类视频 | 能看的国产乱片在线 | 精品大臿蕉视频在线观看 | 日韩a在线播放 | 亚洲欧洲自拍偷拍 | 730099带你另眼看世界 | 国产乱婬 | 国产精品天干天干在线综合 | 日本韩国欧美午夜 | 亚洲欧美中日韩中文字幕 | 亚洲欧美日韩国产精选在线观看 | 国产亚洲精品bt天堂精选 | 欧美日本一区二区三区在线 | 国产欧美日韩精品二区在线 | 国产精品国语对白露脸在线播 | 国产精品视频每日更新 | 国产又爽又黄又不遮挡视频 | 末发育娇 | 动漫h在线观看 | 五月天精| 国产激情| 老子影院午夜伦不卡亚洲 | 国产色产综合色产在线观看视频 | 免费人成年短视频在线观看网 | 短视频在线下载免费 | 日本妞xxxxxx | 国产香蕉尹人在线观看视频 | 在线a视频网站 | 国产亚洲欧美一区二区不卡 | 国产不卡一区二区电影网 | 在线观看免费人成视频网 | 精品不卡一区二区 | 2025精品国产自产拍在线观看 | 国产精品电影在线 | 国产中文字 | 成人国产精品视频 | 亚洲日韩穿丝袜在线推荐 | 综合亚洲 | 中文字幕卡通动漫精品首页 | 亚洲2025国| 国产精品高清自在线 | 国产农村乱子伦精品视频 | 午夜影视网 | 国产精品喷水 | 国产人成中文字幕 | 国产乱子伦视频大全 | 日本三级韩国三级香港三级a级 | 国产观看精品一区二区三区 | 国产a国产片国产 | 国产自拍论坛第一页 | 91人人澡人 | 曰本成片网| 精69xxx免费酒店 | 国产又黄又猛又粗又爽 | 一区二区三区免费播放 | 中文岛国精品亚洲一区 | 成人影院yy111111在线 | 国产免费人成视频在线观看播放 | 怡红院综合图 | 免费一区二区三区视频 | 国产一区二区精品在线 | 日韩欧美国产一区免费 | 日韩欧美在线综合网高清 | 夜夜爽一区二区三 | 日韩精品视频 | 亚洲成a人片在线观看日本 国产福利萌白 | 国产乱人视频在线观看播放1 | 2025亚洲欧美日韩在线观看 | 欧美性猛交xxxx黑人喷水 | 黄+片在线免费观看+精品+巨 | 一本精品 | 亚洲综合v在线在 | 国产精品一区二区三区四区五区 | 国产一区二区日韩欧美在线 | 国产精品亚洲综合视频 | 精品视频在线观看免费观看 | 亚洲免费在线 | 国产激情自拍亚洲精品国产精品精 | 中文字幕二区在线 | 亚洲国产精品sss在线观看 | 欧美黑粗特黄午夜大片 | 中文字字幕在线中 | 日本一道在线播放高清 | 免费国外性视频网站 | 添bbb免费看高清视频 | 亚洲第一综合天堂另类专 | 欧美日韩变态另类在线观看 | 国产a级毛 | 国产精品亚洲片在 | 午夜福利蜜桃青 | 九九在线精品观看 | 国产福利一区二区三区四区 | 日韩理论中文在 | 最新院线大片抢先看 | 亚洲一区二区三区在线 | 欧美性猛交xxxx乱大交3 | 欧美高清日韩在线 | 国泰饭店 | 免费看欧美一级特黄a大片一 | 欧美一级精品视频一区 | 91中文字日产乱幕 | 亚洲一区二区成人精品 | 精品日韩视频一区二区三 | 国产乱子影视频上线免费观看 | 色综合欧美在线视频区 | 亚洲高清国 | 夜夜未满十八勿进的爽爽影院 | 三级理论电影三级午夜电影院 | 国产在线91下载 | 亚洲精品成人 | 激情文学综合区图片区小说区 | 欧美.日韩.日本国产视频 | 亚洲人成在线播放网站 | 2025国产品在线视频不卡不卡 | 欧美亚洲丝袜制服中文 | 成人免费观看网欧美片 | 国产真实乱对白精彩 | 午夜国产福到在线 | 国产伦精品一区二区三区无广告 | 成人试看120秒体验区 | 国产亚洲欧洲aⅴ综合一区 ady中文字幕 | 另类亚洲小说图片综合区 | 人与动人物a级在线播放 | 视频在线观看免费网站 | wwwwwww黄 | 三级视频网站在线观看 | 观看一级 | 97碰碰碰视频在线观看 | 海角国产乱辈乱精品视频 | 污软件不收费软 | 亚洲欧美日韩国产综合在线看片 | 国产vr精品专区 | 国产一级a毛一级a看免费 | 国产绿奴视频在线观看 | 水莓100免 | 国产精品不卡片视频免费观 | 天堂va视频一区二区 | 国产亚洲成年网址在线观看 | 国产亚洲欧美日韩高清专区 | 五月婷婷六月丁香 | 手机看片福利一区二区三区 | 亚洲激情一区二区 | 青青国产揄拍在线观看 | 第一页欧日韩在线视频 | 欧美日韩亚洲精品瑜伽裤 | 欧美激情va永久在线播放 | 中文字幕精品卡通动漫 | 日本一级淫片a免费播放口 911精品中文在线播放永久 | 在线a亚洲视频播放在线观看 | 自在自线视频香蕉 | 欧美性色欧美a在线在线播放 | 国产又黄又爽又猛的免费视频播放 | 国产精品亚洲欧美高清 | 亚洲第一区欧美日韩 | 国产在线拍揄自揄视频不卡99 | 无人区一码二码三码四码区 | 92国产福利午夜 | 国产女生福利 | 亚洲精品国产v片 | 国产网友愉拍精品视频手机 | 亚洲无人区码卡二卡三卡四卡 | 欧美又大粗又爽又黄大片视频 | 日本国产在线精品专区 | 久热爱精品视频在 | 日本免费高清一本视频 | 福利片+国产+合集 | 日本一区二区三区四区公司 | 日本素人黑人视频 | 国产香蕉视 | 欧美欧美日韩综合一区天 | 日本69sex护士 | 精品国产电影自在免费观看 | 国产日产中文在线观看 | 国产2025精品一区 | 精品国产尤物 | 不卡视频在线播放 | 国产精品v日韩精品 | 日韩免费福利试看3分钟 | 97影视| 日本人xxxx高清 | 91tv官网精品观看 | 两性色午夜视频免费老司机 | 亚洲男人的天堂在线观看 | 五月天在线观看视频网站 | 欧美日韩视频 | 精品外国呦系列在线观看 | 男人本色国产在线综合 | 亚洲欧美精品中文字幕 | 亚洲一区二区三区四区在线 | 在线观看中文 | 泰国一级特黄在线观看大片 | 欧美日韩一区二区三区在线视频 | 国产偷国产偷亚洲高清日 | 日韩在线视频不卡一区二区三 | 在线精品视 | 日本护士 | 不卡兔费 | 免费精品99 | 欧美一级a人与 | 国产老妇伦国产熟女中文视频 | 亚洲福利在线看 | 免费人成网 | 午夜视频精品视在线播放 | 亚洲一二三四中文字幕 | 最新电视剧 | 亚洲国产综合精品中文字幕 | 人妖ts国产手机在线 | 亚洲精品成人一区二区www | 国产精品日产三级在线观看 | 日本最新乱伦视频 | 尤物视频在线免费观看 | 色偷偷亚洲女人天堂观看欧 | 国产精品黄在线观看免费网站 | 成人国产综合三级 | 观看一区二区视频 | 最新一区二区三区免费看 | 精品aⅴ老司机天堂网站 | 成人污污污www网站免费丝瓜 | 成a人片在线观看中文 | 国产玖玖在线观看 | 野花日本完 | 国产日韩欧美www在线观看 | 国女精品爽爽一区二区 | 美女在线观看永久免费网站 | 911亚洲精品国产自产 | 国产操片 | 一区二区三区四区在线观看视频 | 在线精品亚洲一 | 专区网站| 国产午夜福利片在线观看 | 国产日产欧产精品精品 | 99国产视频有精彩视频 | 日本免费一区二区三区在线看 | 欧美特级特黄aa | 成人三级视频在线观看 | 国产一区二区三区激情四射 | 99热国产在线手 | 涩色亚洲激情第二页 | 综合精品欧美日韩国产在线 | 成人免费一区二区三区视频 | 国产交换一区二区三区 | 最近中文字幕2025免费 | 亚洲制服在线亚洲制 | 国产传媒片免费观看 | 国产女主播一区 | 亚洲aⅴ男人的 | 成年人在线观看视频网站 | 国内日本精品视频在线观看 | 日本一本 | 国产日本欧美精品 | 亚洲天堂偷拍日韩中文字 | 日本一区二区三区免费播放 | 亚洲国产精品自在现线让你爽 | 精品国产免费人成电影在线看 | 青青草原亚洲之五月婷 | 国产色综合天天综合网 | 一级特黄高清aaaa大片 | 国产高清国产精品国产专区 | 国产精品免费观看网站 | 亚洲国产精品尤物yw | 69午夜成年免费视频 | 五月天精品视频在线观看 | 三级三级三级a级全黄三电影 | 特色大片免费看 | h网站在线 | 成人a大片在线观看 | 欧美精品国 | 亚洲成a人在线观看片 | 中文字幕精品一区 | 果冻传媒网站入口 | 成年女人免费毛 | 91干逼| 国产亚韩欧美联合在线 | 97碰碰碰成年免费视频s | 最新在线精品国自产拍网站 | 一个人高| 午夜福利啪爽国产片精品 | 国产精品第1页 | 免费a级网站 | 国产最新电影在线观看 | 韩国日本免费高清观看 | 天天天天香蕉线视频国产 | 2025国产精品视频免费 | 国产精品亚洲а∨无 | 免费91最新地址永久入口 | 国产一区自拍欧美 | 国内精品一区二区 | 午夜免费福利不 | 一本大道综合伊人精品热热 | 性生生活 | 激情精品一区二区在线观看 | 国产精品精品 | 又污又爽又黄的网站 | 成人国产免| 国产成年人精品一区二区 | 一区二区三区影院在线午夜 | 美丽姑娘在 | 国产妇女性爽视频免费 | 亚洲国产一区二区试看 | 国产91精 | 国产精品露脸国语对白 | 成人欧美一区二区三区在线观看 | 国内精品人 | 国产欧美日韩一区二区三区蜜桃 | 一区二区三区四区在线视频 | 国产精品不卡在线观看 | 国产一区二区三区在线综合视频 | 久精品国产欧美亚洲色a大片 | 欧美日韩在大午夜爽爽影院 | 欧美日韩国产一区二区三区在线 | h视频免费在线 | 岛国一区 | 亚洲国产手机看片 | 日本免费一区视频 | 午夜国产福利在线直播 | 国自产拍偷拍福利精品免费 | 国产在线精品一区二区在线看 | 婷婷四房综合激情五月在线 | 91社区在线视频 | 亚洲春色第一页 | 一个人看的视频在线观看www | 亚洲人成网站观看在线播放 | 亚洲成?v人片在线观看翻墙网站 | 五月桃花网婷婷亚洲综合 | 亚洲欧美精品综合中文字幕 | 国产精品一区二区在线观看网站 | 国语免费 | 日本成本人片免费网站 | 韩国三级香港三级日本三级la | 午夜视频精品视在线播放 | 天堂资源中文 | 影视青国产免费起碰 | 国产成本人三级在 | 3571色院影一区二区三区 | 一卡二卡三四卡国产乱码 | 狂野欧美性猛交xxxx免费 | 亚洲国产欧美日韩一区二区在线 | 欧美日韩一区二区三区综合 | 在线a视频网站 | 成人永久免费视频网站 | 国产精品福利区一区二区三区四 | 91大片淫黄大片.在线天堂 | 99r8| 人人添逼人人摸人人 | 日韩在线成年视频人网站观看 | 日本成年人的色色爱 | 国产欧美视频一区二区三区 | 国产欧美国日产在线播放 | 国产一区二区丝袜美腿在线 | 欧美综合 | 中文精品免费视频 | 欧美韩日二三在 | 国产a级毛 | 日本精品大乳一区 | 欧美亚洲人成网 | 亚洲中文在线播放一区 | 视频免费看| 青青草原亚洲之五月婷 | 国国产乱理伦片在线观看夜 | 51精品国产人成在线 | 一本色道 | 欧亚乱色熟一区二区三四区 | 国产精品激情一区在线观看 |