国产精品青草久-国产精品情侣愉拍-国产精品区网红主-国产精品区一区二-国产精品热久久-国产精品热热热-国产精品人aⅴ-国产精品人成在线-国产精品人妻人伦-国产精品人人

金喜正规买球

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

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

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

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

Aggregator機制

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

aggregator
圖1 Aggregator機制

Aggregator的API

Aggregator共提供了五個API供用戶實現。下面逐個介紹5個API的調用時機及常規用途。

1. createStartupValue(context)

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

2. createInitialValue(context)

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

3. aggregate(value, item)

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

4. merge(value, partial)

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

5. terminate(context, value)

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

Kmeans Clustering示例

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

1. GraphLoader部分

GraphLoader部分用以加載輸入表,并轉換為圖的點或邊。這里我們輸入表的每行數據為一個樣本,一個樣本構造一個點,并用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()用以實現序列化及反序列化,可參見附件中的完整代碼。
我們自定義的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中,每讀入一行數據(一個Record)創建一個點,這里用recordNum作為點的ID,將record內容轉換成DenseVector對象并封裝進VertexValue中。

2. Vertex部分

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

  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,用以維護要聚合及分發的內容。

  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維的向量,記錄到每個中心點距離最短的樣本個數。sums和counts一起用以計算新的中心點,也是要聚合的主要內容。
接下來是自定義的Aggregator實現類KmeansAggregator,我們按照上述API的順序逐個看其實現。
首先是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()的實現:

    @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。
用以執行局部聚合的aggregate()實現如下:

    @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);
    }

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

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

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

   @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()中首先根據sums和counts調用calculateNewCentroids()求平均計算出新的中心點。然后調用isConverged()根據新老中心點歐拉距離判斷是否已經收斂。如果收斂或迭代次數達到最大數,則將新的中心點輸出并返回true,以結束迭代。否則更新中心點并返回false以繼續迭代。其中calculateNewCentroids()和isConverged()的實現見附件。

4. main方法

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

  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加載的數據不再根據Partitioner重新分區,即誰加載的數據誰維護。

總結

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

更多行業資訊,更新鮮的技術動態,盡在。


標簽:

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


為你推薦

  • 推薦視頻
  • 推薦活動
  • 推薦產品
  • 推薦文章
  • 慧都慧問
掃碼咨詢


添加微信 立即咨詢

電話咨詢

客服熱線
023-68661681

TOP
国产一区二区三区免费看 | 国产黄色视频网站 | 欧美日韩aⅴ精品大片 | 国产一本一道久久香蕉 | 欧美疯狂做受xxxxx高潮 | 亚洲一区综合 | 国产一区成人在线视频 | 国产日本在线观看播放 | 无人在线视频高清免费观看 | 91国内精品久久 | 高清喜剧片大全 | 国产精品爆乳在线播放 | 国产乱女乱子视频在线播放 | 无码影院av | 欧美精品+在线播放 | 丰满人妻一区二区三区无码av | 色婷婷久久综合中文久久 | 亚洲精品久久无码 | 亚洲日韩乱码中文无码蜜桃 | 国产欧美一区二区三区久久 | 国产精品免费一区二区三区四 | 亚洲精品无码mv在线观看网站 | 成人午夜福利电影 | 国产成人午夜福利电 | 日本免费人成在线观看网站 | jk白丝极品被co到 | 免费无码专区在线视频 | 麻豆精品一区入口在线观看 | 国产破外女出血视频全集 | 国产成人亚洲精品无码h在线 | 国产a∨天天免费观看美女w | 少妇熟女视频一区 | av男人的天堂在线观看第三 | 日本一区二区三区 | 91版手游平台下载 | 国产一级毛片视频在线! | 97视频app下载| 国产爆乳无码一 | 亚洲av无码专区国产不卡顿 | 国产精品系列在线观看 | 国产电影在线观看 | 欧美性videosxxxxhd | 国产精品国产av片国产 | 国产av成人无码精品网站 | 久久99精品久久久久久齐齐 | 成人黄app福 | 成人片黄网站a毛片免费 | 亚洲成aⅴ人片久青草影院 亚洲成aⅴ人片在线观看www | 国产网站永久无码最新的 | 亚洲乱码无码 | 亚洲麻豆精品 | 日日摸日日碰夜夜爽无码 | 亚洲男人的天堂av手机在线观看 | 欧美日本国产va高清视频 | 无人影院手机版在线观看免费 | 国产亚洲欧美在线观看的 | 亚洲av永久中 | 中日韩一区二区三区 | 久久91精品久久91综合 | 天天干天天操天天摸 | 日本午夜免费理论片 | 激情婬妇动态视频无遮挡 | av天堂手机在线免费 | 婷婷人人爽人人爽人人片 | 99久久精品免费网站 | 99热亚洲色 | 色色精品久久久久 | 互换人妻中文字幕 | av无码中文字幕无码 | 91精品国产综合久久久蜜臀粉嫩 | 色欲av永久无码精品无码 | 午夜尤物超在线视频 | 丰满爆乳肉感一区二区三区 | 日韩av成人在线 | 日韩美女拍拍免费视频网站 | 黄色网站网址视频在线观看 | 99久久精品国产一区二区成人 | 亚洲a∧中文无码 | 亚洲熟妇av一区二区三区 | 精品久久久久久中文字幕人妻 | av无码免费岛国动作片片段 | 亚洲熟女少妇一区二区 | 亚洲欧美日韩在线观看无 | 亚洲日韩国产av无码无码精品 | 三级网站视频 | 一级片中 | 性色av| 91福利在线观看 | 精品国产青草久久久久福利 | 午夜视频在线观看网站 | 精品无码人妻被多人侵犯av | 国内精品国语自产拍在线观看91 | 精品国产一区二区三国产 | 国产午夜福利电影免费在线观看 | 午夜免费福利小电影 | 无码激情做a爰片毛片av片 | 精品国产成人三级在线观看 | 国产丝袜美女在线高潮网站 | 国产高潮抽出娇喘喷水视频在线 | 91人妻人人做人碰人人爽九色 | 国精品一区二区三区免费观看 | 国产精品三级在线观看无码 | 国产欧美不卡在线观看视频 | 国产日本高清在线观看 | 午夜福利影院 | 欧美精品一级 | 日本一区二区在线免费观看 | 91大神在线 | 91亚洲免费 | 97热久久免费频精品99 | 国产成人精品午夜二三区 | 成人老司机深夜福利久久 | 韩剧tv| 国产av无码专区亚洲av桃花庵 | 无码搞笑电影 | 亚洲成人黄色在线观 | 韩国三级在线观看中文字幕 | 国产在线第一区二区三区 | 久久99精品视频 | 99久热这里有精品免费 | 精品一区二区在线观看国产 | 日本黄免费 | 在线视频人妻中出 | 日本欧美大码a在线观看 | 天天干天天射天天操 | 国产黄在线观看免费观看 | 日本一区二区三区字幕 | 人妻少妇一区二区三区在线 | 国产精品高潮呻吟久 | 成人涩涩小片视频日本 | 欧美成人高清在线播放 | 国产成人精品久久亚洲高清不卡p | 亚洲av中字免费在 | 国产精品福利小视频 | 国产一级一级一级国产片 | 国产av剧情中文正在播放 | 精品一区二区三区东京热 | 国产精品99久久99久久久不卡 | 九九精品久久久久久噜噜 | 国产第一区二区三区精品 | 欧美色蜜桃97高清在线观看 | 97久久精品人人槡人妻人人玩 | 亚洲国产成人精品女人 | 91无人区卡一卡二卡三乱码 | av无码不卡在线观看免费 | 99久久精品国产一区二区成人 | 东京热av人妻无码 | 二区三区成人片在线 | 成本人在线观看视频网站 | 午夜宅宅伦电影网 | 动漫精品一区二区3d | 爱豆传媒免费全集在线观看 | 精品蜜臀久久久久99网站 | 午夜无码国产理论在线 | 国产福利一区二区三区视频在线 | 欧美中国一级黄色网站 | 性人久久久久 | 精品视频久久久久 | 91精品啪在线观看国产优客传媒 | 国产色无码精品视频免费乱 | 日韩电影 | 亚洲国产欧美日本韩国中文在线字幕 | 人体内射精一区二区 | 亚洲日韩在线中文字幕线路 | 精品国产成人在线 | 99久久亚洲精品无码毛片 | 丝兔女郎m开腿sm调教室 | 国产福利精品在线观看 | 色婷婷久 | 亚洲产国偷v产偷v自拍涩爱 | 国产91精选在线观看导航 | 国产三级精品三级男人的天堂 | 午夜视频在线观看 | 国产精品嫩草影院在线 | 亚洲中文字幕精品无码一区 | 精品无码国产自产拍在线观看蜜桃 | 91精品秘密秘在线观看 | 国产黄色第一级黄色毛片 | 欧美日韩视频在线第一区 | 中美日韩毛片免费播放 | 人人妻人人 | 人妻精品专区久久久久久久 | 国产91丝袜在线播放九色 | 国内精品91最新在线观看 | 国产精品亚洲二区在线看 | 亚洲一区中文字幕 | 无码一区二区三区亚洲人妻 | 国产伦精品一区二区三区高清 | 一区二区三区精品黄色影院 | 国产亚州视频在线中文字幕 | 精品国产一区二区av片 | 午夜影视啪啪免费体验区 | 亚洲午夜理论电影在线观看 | 国产曰的好深好爽免费视频 | 国产成人精?综合久久久 | 日本aⅴ精品一区二区三区久久 | 中文字幕高清有码在线中字 | 欧美日韩国产一区二区三区精 | 亚洲综合无码无在线观看 | 欧美日韩免费高清一区二区三区 | 亚洲av无码一区二区三区在线播放 | 日本中文字 | 精品国产| 成年动作片av在线播放 | 日韩精品国产自在久久现线拍 | 韩国精品无码一区 | 综合色五月久久激情婷 | 精品免费观看 | 国产精品无码一区二区三区免费 | 国产高清综合乱色视频 | 国产成人精品无缓存在线播放 | 丰满少妇愉情中文字幕18禁片 | 无码在线免费播放 | 国产末成年 | 精品伦精品一区二区三区视频 | 国产视频短| 中文字幕在线看aⅴ无码 | 国产精品白丝jk黑袜喷水视频 | 亚洲一级黄色在线观看 | 国产麻豆小电影 | 亚洲无专砖码直接进入 | 国产精品一区久久久久久 | 日韩人妻无码精品无码中文字幕 | 天天爱天天干天天操 | 国产高潮国产高潮久久久91 | a级国产乱理论片 | 波多野结衣hd系列在线播放 | 亚洲精品中文字幕不卡在线 | 午夜男女激情av | 成人综合高清久久亚洲中文字幕精 | 日韩欧美亚洲国产精品字幕久久久 | 国产女明星专区视频在线播放 | 99久久久国产免费观看精品 | 天天看天天射 | 国产综合精品一区二区三区 | 国产免费不卡av在线播放 | 91精品综合久久久久久五月天 | 96亚洲精华国产精华精华液 | 女子口述第一次被按摩师进入身体 | 久久成人影院精品777 | 国产精品视频久久久久 | 国产亚洲综合一区二区a片吴施蒙 | 国产精品香蕉在线观看 | 国产极品在线观看视频 | 国内精品久久久久精品一本 | 亚洲一卡二卡三卡四卡无卡麻豆 | 国产成人精品免费影视大全 | av无码精品一区二区三区四区 | 91精品高清在线观看免费 | 在线视频中文 | 一级中文字幕av高清 | 日本在线视频www色 日本在线视频网 | 久久99国产精品 | 国产成人午夜福利在线播放 | 欧美午夜剧场 | 久久99热66这里只有精品一 | 亚洲av无码av制服另类专区 | 无码av免费精品一区二区三区 | 无码视少妇视频一区二区三区 | 91久久综合伊人 | 久久99国产乱子伦精品免费 | 波多野结衣中文乱码免费 | 毛片a片高潮喷水免费看 | 黄色网站在线观看一级毛 | 无码特级毛片免费看 | 中文亚洲av片在线1观看 | 日本精品不卡在线观看 | 国产欧美日 | 无人一码二码三码4码免费 无人影院手机版在线观看免费 | 性色av无码久久一区二区三区 | 亚洲熟妇无码久久精品疯 | 超碰爆乳起爆乳中文字幕系列 | 一区二区三区国产 | 国产一级av免费观看在线 | 国产日韩精品一 | 99久久久免费精品播放 | 99久久精品免费网站 | 91人人澡人人妻人人精品 | 国产精品日本一区二区在线播放 | 国产精品美女久久久久久2025 | 亚洲国产午夜精品理论片 | 日韩av无码一区二区三区不卡 | 无码免费婬av片在线观看 | 狠狠操一区 | 国产午夜福利精品一区二区三区 | 99久久综合精品国产 | 国产成人午夜福利在线观看视频 | 精品欧美一区二区在线观看欧美熟 | 国产成人aa在线观看 | 免费一级欧 | 日韩成人男女福利电影在线播放网站 | 国产视频亚 | 欧美一裸交aa视频在线 | 日本特黄高清a一级视频 | 欧美性xxxxx极品 | 午夜成人av乱码无码午夜 | 欧美精品18videos性欧美 | 亚洲国产精品成人综合久久久 | 美女高潮黄又色高清视频免费 | 精品熟女少妇av | 亚洲无码高清在线观看一区二区三区 | 91亚洲精品乱码久久久久久蜜桃 | 国产aⅴ无码精品一区二区三区 | 日本欧美一区二区三区 | 99久久精品熟女高潮喷水免费 | 国产理论在线 | 国产精品综合av一区二区 | 美奶福利视频一区二区三区 | 日韩中文字幕av免费观看 | 91啪啪 | 国产精品嫩草影院免费看 | 麻豆午夜福利在线观看 | 亚洲日本一区二区三区在线不 | 亚洲日韩国产av无码无码精品 | 国产精品秘麻豆果 | 欧美人成国产91视频 | 亚洲国产中文高清在线 | 精品国产高清自在线99 | 无码av免费精品一区二区三区 | 国产人久久人人人人爽 | 无码欧美人xxxxx日本漫画 | 91黄色视频免费精品入口 | 欧美性色欧美 | 国产精品无码不卡午夜 | 日韩高清在线观看 | 亚洲一卡二卡三卡四卡无卡 | 中文字幕无码制服丝袜在线 | 精品av国产一区二区三区四区 | 深夜国产一区二区三区在线看 | 波多野结衣爽到高潮大喷 | 亚洲第一站精品久久久性色 | 国产成人精品午夜 | 欧美日韩一区 | 97理论片电影在线观看 | 制服国产在线观看 | 深夜福利啪啪片 | 成人免费午夜毛片 | 在线观看成人无码中文av天堂 | 亚洲欧美日韩一区 | 99久久国产综合精品1 | 亚洲福利| 国产午夜亚洲精品在线观看 | 欧美综合| 丰满人妻一区二区三区无码av | 91麻豆国产免费 | 精品综合 | 亚洲产国偷v产偷v自拍色戒 | 99久久久免费精品播放 | 国产精品臀控福利在线观看 | 欧洲日产国码农村 | 国产视频亚 | 不卡av电影在线 | 亚洲精品国产综合一线久久 | 国产在线拍 | 国产精品国产名人在线 | 国产福利在线观看片 | 国产成人精品日本亚洲专一区 | 999国产影院精品影院 | 亚洲另类激情综合偷自拍 | 日本中文字幕在线观看 | 神马午夜福利我不卡手机电影 | 99久久精品免费看国产 | 国产精品午夜波多野结衣 | 国产aⅴ | 97se狠狠狠狼鲁亚洲综合网 | 成人午夜精品一级毛片 | 日韩精品无码一区二区三区不卡 | 国产欧美久久久精品影院 | 日产综合欧美一区二区 | 日韩精品久久无码中文字幕 | 中文字幕aⅴ人妻一区二区 中文字幕aav | 91欧美激情一区二区三区成人 | 国产精品午夜爽爽爽免费 | 国产麻豆剧果冻传媒星空视频 | 岛国aaaa级午夜福利片 | 日韩精品亚洲精品第一页 | 99国精品午夜福利 | 国产综合色在线视频区 | 精品国产乱码一区二区三区麻豆 | 亚洲一区在线精品 | 日韩成人av在线一区二区三区 | 亚洲精品国产精品国自产 | 日本公与 | 欧美精品一区二区三区久久久精品 | 日本熟妇| 高潮久久精品美女 | 欧洲肉欲k8播放毛片护士 | 欧美乱色伦图片区小说 | 成人自拍视频 | 亚洲av午夜成人片精品网站 | 精品一区二区三区四区在线观 | 亚洲中文字幕久久精品无码喷水 | 国产极品| 亚洲国产一区二区久久 | 国产剧情av巨作在线观看 | 国产三级精品三级在线专区91 | 国产欧美日韩视频 | 精品国产亚洲一区二区三区 | 色系一区二区三区四区五区 | 国产色视频网站免费 | 亚洲成a人片在线观看天堂无码 | 亚洲欧美变态另类综合 | 狠狠色丁香婷婷综合小时婷婷 | 91精品在线播放 | 国产精品网站 | 亚洲精品99999中文字幕 | 日本免费一区二区视频 | 韩国日本亚洲欧洲一区二区三区 | 久草国产精品视频 | 欧美性爱专区 | 福利一区二区三区视频在线观看 | 国产高潮白浆加无码 | 亚洲av无码乱观看明星换脸va | 在线无码专区人妻 | 国产熟女3p贵在真实视频 | 91久久国产成人免费观看 | 日日碰狠狠添天天爽不卡 | 特级丰满少妇一级aaaa爱毛片 | av三级片在线观看的 | 亚洲av午夜福利精品一区二区三 | 91视频免费版app下载 | 91高清在线 | 国产在线观看91精品2025 | 东京热app | 成人无码电影在线 | 一级生性活片全黄在线观看 | av色综合久久天堂av色综合 | 欧美亚洲性爱在线看 | 中文字幕精品在线观看 | 办公室爆乳在线 | 亚洲精品美女久久久久9999 | 精品国产专区91在线尤物 | 亚洲成aⅴ人片久青草影院 亚洲成aⅴ人片在线观看www | 中文字幕乱码无码人妻系列蜜 | 国产美女裸体无遮掩免费牛牛 | 欧美另类| 99久久精品国产一区二区免费 | 日本欧美大码一区二区 | 91精品一区二区综合在线 | 国产精品青青青高清在线密亚 | www亚洲福利姬在线观看 | 日本高清18xxxx | 亚洲午夜一区二区三区在线 | 午夜精品久久久久蜜桃 | 欧美精品成人3d在 | 欧美高清在线视须在线99精品 | 国产成人精品视频一区二区不卡 | 人人妻人人澡人人爽欧美一区双 | 午夜福利视 | 丰满少妇又爽又紧又丰满在线 | 日韩亚洲欧美一区噜噜 | 中文字幕av日韩精品一区二区 | 国产精品爆乳奶水无码视频 | 亚洲av永久无码精品网站 | 国产电影在线观看 | 国产av一区不卡麻豆 | 91天堂网 | 91在线www中文在线 | 亚洲日韩av无码不卡一区二区三区 | 精品久久中文字幕久久av | 亚洲一级av影视在线观看 | 中文字幕大香视频蕉 | 国产高清在线观看av片 | 精品福利一区二区在线观看 | 国产av无码专区亚洲av果冻传媒 | 岛国视频在 | 动漫精品3d在线观看 | 国产v片在线播放免费观看大全 | 无码人妻一区二区三区免费看 | a级毛片无码久久精品免费 a级毛片无码免费真 | 精品久久久 | 国产在线视频www | 高清无码在线观看了a | 精品国产免费一区二区三区 | 91精品啪在线观看国产优客传媒 | 99亚洲精品久久电影 | 亚洲欧美日韩人成在线播放 | 国产在线视频国产永久 | 国产v亚洲v天堂无码卡通 | 三上悠亚av | 一区二区三区精品视频日本 | 国产亚洲精品欧洲在线观看 | 国内精品自产拍在线观看91 | 精品乱子伦一区二区三区 | 国潮精品高潮久久呻吟av无码 | md豆传媒一二三区 | 羞羞动漫成人a片在线观看 羞羞麻豆国产精品1区2区3区 | 啪啪综合v一区综合精品区 喷潮a片免费观看 | 亚洲日本天堂在线 | 91麻豆国产精品免费视频 | 亚洲av日韩综合一区久热 | 97久久碰超碰超 | 国产亚洲精品综合在线 | 国产在线看片免费人 | 99久久久无码国产精品秋霞网 | 精品91自产拍在线观看一区 | 日本高清视频成人网www | 亚洲精品无码a√中文字幕网站 | 亚洲avav天堂av在线精品一 | 国产精品视频观看久久 | 日本久久综合欧 | 日韩av毛片不卡无码免费 | 国产av大陆精品一区二区三区 | 99久久精品免费看国产一区二区三 | 深夜免费网站一区在线观看 | 91久久精品国产91性色tv | 精品网站综合热久久第一页 | 精品按摩无码 | 午夜精品一 | 无码av在线a√av在线 | 毛片无遮挡高清免费 | 精品久久久久久综合网 | 麻豆精品一区二区视频在线 | 亚洲欧美日韩一区在线观看 | 日韩欧美亚洲综合久久 | 国内精品久久久久精免费 | a级情欲片在线观看免费 | 中文字幕久久最新 | 亚洲av无码一区二区三区网站 | 免费无码又爽又黄又刺激网站 | 国产美女91呻吟求 | 国产在线视频八区 | 亚洲av综合永久无码精品天堂 | 97国产精品无码免费视频 | 99国产在| 日韩美女在线视频一区 | 麻豆视频| 国产99久久九九精品免费 | 国产极品白嫩精品 | 亚洲女同一区二区三区 | 91手游网| 欧美性色欧美 | 无码偷窥清纯综合图区 | 欧美日韩国产成人在线观看 | 日本午夜理伦三级在线观看 | 欧美精品黄色视频网站 | 国产成人亚洲精品电影在线观看 | 在线精品亚洲一区二区动态图 | av鲁丝一区鲁 | 日韩黄色网站在线观看 | 四虎永久在线高清国 | 国产精品一区二区三区四区 | 特级做a爰片毛片免费69 | 日夜夜操天天爽在欧美亚 | 91香蕉appios下载免费 | 麻豆av传媒蜜桃天美 | 精品一区二区三区在线 | 国产av仑乱内谢电影全集在线观看 | 成人亚洲福在线观看福利网址 | 欧日片布费看美 | 久久99久久精品中文字幕 | 成人一区二区三区影院 | 欧洲vps | 亚洲a无码综合 | 欧亚精品福利视频 | 国产无码精品久久久久久久 | 国产精品日韩免费观看 | 99久久精品免费看国产一区二 | 日韩在线欧美精品 | 国产一级a爱做片免费看 | av大片在线 | 久久99精品久久久久久不卡 | 国产麻豆精品手机在线观看 | 免费无码国产v片在线观看 免费无码国产白丝视频 | 久久99精品久久久 | 国产在线拍偷自揄拍精品 | 色婷婷综合久久久久中文图片 | 午夜福利精品在线播放 | 97久久精品人人操人妻人 | 久久99re热在线播放 | 国产成人综合亚洲av小说 | 91精品国产aⅴ一区二区 | 另类亚洲图区在线视频 | 九九热久久 | 亚洲无码在线a看 | 欧美日韩国产免 | 天堂网国产69高清在线视频 | 国产精品碰碰人人a久久 | 中文字幕无码不卡免费视频 | 国产片91 | 私拍一区二区三区 | 成人午夜精品亚洲日韩 | 波多野42 | 人妻少妇被猛烈进入中文字幕 | 国产精品69久久久久人妇 | 熟妇人妻系列v无码一区二区 | 欧美成人午夜免费福利785 | 三级片视频在线观看 | 91人妻人人澡人人精品 | 欧美性生交大片免费看a片 欧美性受xxxx黑人xyx性爽 | 亚洲国产日韩在线观看18 | 国产成人aⅴ国产在线观看 国产成人aⅴ在线免费观看 | 日本高清天码一区在线播放 | 日韩在线免 | 国产一区二区三区不卡在线看 | 国产尤物第一区 | 欧美日韩国产成人综合在线影院 | 91麻豆国产 | 国产欧美a∨一区二区 | 精品国产ⅴ无码大片在线观看 | 久9视频这里只有精品手机版观看 | 国产一区二区三区在线观看免费 | 丰满少妇人| 色综合天 | 亚洲精品久久久久久一区二区 | 国产午夜福利av在线机视频 | 精品伦精品一区二区三区视 | 成年永久一区二区三区免费视频 | 亚洲欧美色图 | 亚洲av成人综合网久久 | 午夜亚洲av日韩av无码大全 | 69sex久久精品国产麻豆 | 国产精品一区二区三区在线观看 | 国产精品亚洲精品日韩已方 | 国产91视频如何在竞争中脱颖而出 | 色窝窝无码一区二区三区成人网站 | 97精品久久天干天天图片 | 香蕉视频在线久久 | 午夜在线视频影院 | 日韩国产av中文字幕 | 香蕉视频在线观看福利国产 | 国产的视频91 | 成年女人午夜毛片免费视频 | 精品国产18久久久久久 | 国产精品后入内射日本在线观看 | 国产成人aaaaaaa毛片 | 国产福利在线播放 | 91精品国产免费网站 | 九九热精品视频在线 | 97超频在线视频免费观看 | 亚洲精品无码一区二区三天美 | 欧美区一区二区三区在线视频 | 999久久久国产精品 999午夜福利国产在线观看 | 亚洲av无码精品色午夜 | 成人一区专区在 | 熟妇女人妻丰满少妇中文字幕 | 91久久香蕉国产熟女线看 | 精品久久香蕉国产线看观看亚洲 | 欧美永久精品大片综合nba免 | 国产乱码一 | 91国内在线| 欧美大片黑寡妇免费观看 | 亚洲中文字幕综合日韩 | 91精品无人区麻豆 | 欧洲精品亚洲精品日韩专区 | av无码网址 | 亚洲av日韩av无码 | 欧美日韩精| 国产av国片| 香蕉视频草莓视频 | 午夜不卡 | 最新中文字幕日本 | 成人在线精品视频 | 91人人双人人妻人人澡 | 国产精品一卡二卡三卡 | 91久久国产热精品免费 | 国产成人久久精品一区二区三区 | 日韩无码中文另类 | 国产精品秘一区二区三区 | 日韩成人毛片高清视频免费看 | 成人无码电影在线 | 亚洲av福利无码无一区二区 | 人妻无码中文字幕免费视频蜜 | 日本高清视频色惰www无不卡 | 丝袜美腿一区二区三区 | 黄色网站在线观看一级毛 | 亚洲日本一区二区一本一道 | 国产欧美日本在线观看 | 99热国产这里只有精品6 | 国产一区一二区高清不卡 | 亚洲av无码专区在线播放 | 无码高潮爽到爆 | 中文字幕av专区无码不卡久久 | 亚洲爆乳无 | 丰满人妻一区三区 | 精品国际久久无色无码 | 中文综合在线观 | 亚洲产国偷v产偷v自拍涩爱 | 精品人妻午夜一区二区三区四 | 亚洲综合无码中文字幕 | 福利姬液液酱喷水 | 日本久久综合网站点击 | 无人区一码卡二卡三乱码 | 二区三级国产成人精品人人 | 中文无码在线观 | 麻豆免费观看高清完整视频 | 国产精品成熟老女人视频 | 福利官方导航 | 国产亚洲精品久久久ai换脸 | 亚洲精品日韩专区 | 天天谢天天干 | 极品色在线精品视频 | 91精品人妻一 | 羞羞影院无码一区二区 | 精品91专区视频在线 | 国产女高清在线看免费观看 | 无码精品亚洲日韩中文字幕 | 91成人试看福利体验区 | 国产999免费在线视频 | 国产精品自 | 午夜无码人妻av大片 | 亚洲av永久无码野狼在线观看 | 国产口爆69吞精在线观看 | 精品一卡1卡2卡3乱码视频 | 99久久人妻精品免费一区 | 精品动漫福利h视频在线观看 | 国产欧美精品一区二区三区 | 国产精品宾馆在线精品酒店 | 国产成人福利视频在线观看 | 亚洲va中文在线播放69 | 亚洲欧美日韩国产精品 | 国产精品青草久久久久福利99 | 国产永久在线视频 | 91亚洲精品乱码久久久久久蜜桃 | 亚洲日韩v无码中文字幕 | 黄网站专区末成年美女 | 精品久久人人爽天天玩人人妻 | 激情综合五月天 | 91伊人影院 | 亚洲av无码专区在线播放中文 | 亚洲精品无码av人在线播放 | 91在线观看官网 | 无码国产精品午夜福利v | 亚洲视频免费在线观看 | 伊人网综合 | 日韩乱码人妻无码中文字幕视频 | 丰满大码的熟女在线视频剧集正版 | 精品国产成av人片不卡无码 | 福利视频一区二区 | 91九色蝌蚪| 国产一久久香蕉国产线看观看 | 欧美一级二级一区二区 | 亚洲成av人片乱码色午夜浪潮 | 91九色在线 | 亚洲精品白浆高清久久久久久 | 亚洲日本乱码 | 日韩美av大片黄色一级在线 | 成年人高级 | 一级片在线观看 | 高潮流白浆潮喷在线播放视频 | 69av中文字幕在线观看 | 97制片厂爱豆传媒视频高清 | 无码熟妇人妻av在线影片最多 | 九九久久99综合一区二区 | 99在线观看免费 | ww亚洲ww在线观看国产 | 日韩精品无码一区二区三区不卡 | 午夜福利 | 亚洲一级成人久久久 | 亚洲成a人v欧美综合天堂 | 国产精品午夜福利不卡 | 精品国产精品国产偷麻豆 | 无码欧精品亚洲日韩一区 | 亚洲国产成人精品福利无码 | 麻豆国产av精选 | 免费无码av片在线观看潮喷 | 九色视频安卓最新版1.5下载 | 精品欧美日韩在线视频 | 国产成人午夜福利在线播放 | 国产综合精 | 蜜臀av色欲a片精品一区 | 久久91亚洲精品中文字幕奶水 | 精品九九99久久人妻免费 | 国产精品原巨作av无遮挡 | 午夜成人理论福利片 | 国内精品自产拍在线观看91 | 成年永久一区二区三区免费视频 | 91视频国产一区 | 91免费无码国产在线观看i | 国产网站永久无码最新的 | 国产成人精选在线不卡网站 | 国产高清在线观看av不 | 亚洲中文字幕无码永久在 | 国产福利萌白酱精品tv一区 | av大片在线 | 亚洲av中文无码乱人伦在线观看 | 无码精品人妻一区二区三区爱剪 | 三级黄色视频 | 亚洲精品无码久久久久冒白浆 | 国产sm影院在 | 亚洲av无码成人精品区明星换面 | 精品国在线观 | 久久国产v一级毛多内射 | 精品91自产拍在线观看精品 | 国产美女精品 | 91亚洲一| 精品999日本久久久影院 | 国产草莓精品国产av片国产 | 国产精品乱码高清在线观看 | 99久久精品国产一区二区成人 | 欧美精品a级| 99免费在线视频 | 国产日韩欧美综合色视频在线 | 午夜看片在线观看 | 无码一级中文字幕电影 | 国产亚洲精品综合在线网址 | 国产精品亚洲日韩aⅴ在线 国产精品亚洲色婷婷99久久精品 | 国产性色av高清在线观看 | 亚洲国产精品线在线观看 |