精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

從盤古開天辟地說起為什么 Flink CP 能實現(xiàn)精確一次之二

大數(shù)據(jù) 數(shù)據(jù)倉庫
本文主要講了一個分布式應用異步做一個全局一致性快照的機制。

為什么我要把這段話放在最前面呢?因為博主有了大發(fā)現(xiàn),博主在總結學習的過程中,總結了除了 Flink CP、Chandy-Lamport 全局一致性快照算法之外的一種 通用全局一致性快照算法!!!。

這套 通用算法 包含 Chandy-Lamport 算法 ≈ Flink 非對齊 CP 算法 包含 Flink 對齊 CP 算法。

可能這一套 通用算法 之前已經(jīng)有人提過了,但是博主是自己在總結 Flink CP、Chandy-Lamport 算法的過程中,逆推總結出來的,并沒有借助外力!!!

1.前言

對于很多做離線或者實時數(shù)倉的小伙伴來說,我先問幾個問題,看看小伙伴萌能回答上來嗎?

  1. ? 你知道狀態(tài)是什么嗎?在離線數(shù)據(jù)開發(fā)的經(jīng)歷中,你碰到過狀態(tài)的概念嗎?
  2. ? 為什么離線數(shù)倉不需要狀態(tài),實時數(shù)據(jù)開發(fā)中老是提到狀態(tài)的概念?
  3. ? Flink 中的狀態(tài)、狀態(tài)后端、全局一致性快照(Checkpoint\Savepoint) 的作用都是什么,這三個概念的關聯(lián)又是什么?
  4. ? Flink 是通過什么機制來做 Checkpoint 的?為什么這套機制能夠做到故障恢復呢?
  5. ? Flink Checkpoint 是基于 Chandy-Lamport 算法的,但是 Flink 的實現(xiàn)相比 Chandy-Lamport 算法之間又有哪些優(yōu)點、缺點?
  6. ? Flink Checkpoint 用到了 barrier,為什么用了 barrier 做的快照就能保證全局一致性快照的正確性?barrier 到底起到了什么作用?
  7. ? Flink 對齊 Checkpoint 和非對齊 Checkpoint 的區(qū)別是什么?非對齊 Checkpoint 也能保障精確一次嗎?

小伙伴們思考一下,都能回答上來么,如果對于某些問題你還有疑問,樓主會通過本篇文章幫你解答這些問題,理清這些概念!

由于本文內(nèi)容較多,所以博主將本文分為上,中,下三集,本文是中,三集內(nèi)容是有連接關系的,如果小伙伴在看本文的過程中對有些概念不清楚,可以跳轉(zhuǎn)到上文進行查看:

本文最主要的內(nèi)容就是解釋了:

一個分布式應用是怎么異步做一個全局一致性快照?

2.名詞解釋

  1. ? Single-Token conservation:一個最常見的分布式應用,單 Token 流轉(zhuǎn)分布式應用
  2. ? Process:指分布式應用中的進程,舉個 Flink 中的例子就是 TaskManager
  3. ? Channel:指分布式應用中進程之間的傳輸通道,舉個 Flink 中的例子就是 TaskManager 之間傳輸數(shù)據(jù)的網(wǎng)絡傳輸通道

3.分布式應用全局一致性快照要記錄的狀態(tài)內(nèi)容

首先在分析一個復雜的大數(shù)據(jù)應用的全局一致性快照之前,我們先以最簡單的分布式應用為例。

Single-Token conservation:其有 p 和 q 兩個進程,p 可以通過 Channel pq(記為 Cpq) 向 q 發(fā)消息,q 可以通過 Channel qp(記為 Cqp) 向 p 發(fā)消息,其中有一個叫 token 的消息,在這個系統(tǒng)中一直不停的傳輸流轉(zhuǎn),從 p 到 q,再從 q 到 p。

  1. ? 首先我們來分析這個應用中,全局一致性快照應該包含哪些內(nèi)容?
  2. ? 結論:全局一致性快照 = Process 狀態(tài) + Channel 狀態(tài)。
  3. ? 原因:以上面的四幅圖為例,每一幅圖代表一個時刻,如果我們以拍照這種方式做全局一致性快照來理解時,那么同一時刻,Process 和 Channel 同時都會存在數(shù)據(jù),這些數(shù)據(jù)都是作為全局一致性快照的一部分內(nèi)容。

使用上述的這個結論,我們可以得到上圖 Single-Token conservation 示例中的全局一致性快照 S = S(p) + S(Cpq) + S(q) + S(Cqp)

其中:

  • S:全局一致性快照
  • S(p):p 進程的狀態(tài)
  • S(Cpq):p 進程到 q 進程的 Channel 狀態(tài)
  • S(q):q 進程的狀態(tài)
  • S(Cqp):q 進程到 p 進程的 Channel 狀態(tài)

這里就碰到了我們要分析的關鍵問題:做全局一致性快照時,小伙伴萌都容易理解S(p),S(q)這兩個,因為這兩份狀態(tài)數(shù)據(jù)就真實的存在我們的分布式應用中,但是S(Cpq),S(Cqp)這兩個怎么理解呢?這些數(shù)據(jù)都是在網(wǎng)絡中傳輸啊,我們做全局一致性快照時用啥方法才能把這些數(shù)據(jù)也記錄下來呢?接下來詳細講講博主的理解

4.Process 狀態(tài)記錄的內(nèi)容

記錄和實際業(yè)務相關的狀態(tài)內(nèi)容。舉例:id 去重就存儲歷史所有的 id 就可以了。

5.Channel 狀態(tài)記錄的內(nèi)容

還是以前文的 Single-Token conservation 為例:

token 在 p 時(對應第一張圖),這時的全局一致性快照為:

S(token-in-p) = S(p-token-in-p) + S(Cpq-token-in-p) + S(q-token-in-p) + S(Cqp-token-in-p)

其中:

  • S(token-in-p):token 在 p 時,做的全局一致性快照
  • S(p-token-in-p):token 在 p 時,p 進程的狀態(tài)
  • S(Cpq-token-in-p):token 在 p 時,p 進程到 q 進程的 Channel 狀態(tài)
  • S(q-token-in-p):token 在 p 時,q 進程的狀態(tài)
  • S(Cqp-token-in-p):token 在 p 時,q 進程到 p 進程的 Channel 狀態(tài)

其中 S(p-token-in-p) 好理解,做快照時,token 還沒有從 p 發(fā)出去,p 肯定知道 token 還在 p;但是站在 Cpq 做狀態(tài)時來說:Cpq 做狀態(tài)時,怎么保障 Cpq 知道 token in p?

在分析上面這個問題前,博主先使用 數(shù)學的方式 分析一下 S(Cpq) 到底記錄了哪些內(nèi)容。

? 第一步:定義變量

  • n:在 p 的狀態(tài)記錄前,p 記錄的 p 發(fā)往 Cpq 的 msg 數(shù);
  • n′:在 Cpq 的狀態(tài)記錄前,Cpq 記錄的 p 發(fā)往 Cpq 的 msg 數(shù);
  • m:在 q 的狀態(tài)記錄前,q 記錄的 q 從 Cpq 中接收到的 msg 數(shù);
  • m′:在 Cpq 的狀態(tài)記錄前,Cpq 記錄的 q 從 Cpq 中接收到的 msg 數(shù);

? 第二步:提出假設

  • 假設 Channel 和 Process 一樣,也可以自主的去將做快照時 Channel 中進行網(wǎng)絡傳輸?shù)臄?shù)據(jù)作為狀態(tài)保存下來;對應到上述案例中就是 Cpq 可以主動的將做好的 S(Cpq) 狀態(tài)保存下來;

? 第三步:先說結論

  • Cpq 記錄S(Cpq)時,必然會有 n = n' ≥ m = m';
  • 一個 Channel 要記錄的狀態(tài)是,它 sender 記錄自己狀態(tài)之前 channel 所接收到 sender 發(fā)的的 msg 列表,再減去 receiver 記錄自己狀態(tài)之前 channel 已經(jīng)發(fā)給 receiver 的 msg 列表,減去的之后的 msg 就是還在 Channel 中的數(shù)據(jù),這些數(shù)據(jù)是需要 Channel 作為狀態(tài)記錄下來的。
  • 而如果 n′ = m′,那么 Channel c 中要記錄的 msg 列表就是 empty 列表。如果 n′ > m′,那么要記錄的列表是 (m′+1),…n′ 號消息對應的 msg 列表。

? 第四步:給出證明

首先:n = n',利用反證法:如果 n != n',則會有:

1.n > n' 時,假設:

  • n = 10(p 記錄狀態(tài)前,p 記錄 p 發(fā)往 Cpq msg 數(shù)為 10(msg 編號 1 - 10));
  • n' = 7(Cpq 記錄狀態(tài)前,Cpq 記錄 p 發(fā)往 Cpq 的 msg 數(shù)為 7(msg 編號 1 - 7));
  • 那么假設 token 這條 msg 的編號為 9,就會出現(xiàn) p 記錄的狀態(tài)為S(p-token-in-Cpq),Cpq 記錄的狀態(tài)為S(p-token-in-p),實際這是不符合全局一致性快照的要求的;

2.n < n' 時,假設:

  • n = 7(p 記錄狀態(tài)前,p 記錄 p 發(fā)往 Cpq msg 數(shù)為 7(編號 1 - 7));
  • n' = 10(Cpq 記錄狀態(tài)前,Cpq 記錄 p 發(fā)往 Cpq 的 msg 數(shù)為 10(編號 1 - 10));
  • 那么假設 token 這條 msg 的編號為 9,就會出現(xiàn) p 記錄的狀態(tài)為S(p-token-in-p),Cpq 記錄的狀態(tài)為S(p-token-in-Cpq),實際這是不符合全局一致性快照的要求的;

3.n = n' 時,假設:

  • p 做出S(p-token-in-p)的狀態(tài)時,因為 n = n',這就代表 p 沒有把 token 發(fā)出去,Cpq 也沒有接受到 token,Cpq 就知道 token 沒有發(fā)過來,則只有這種情況可以滿足S(Cpq-token-in-p);

其次:m = m',同樣利用反證法可以得到,下文只舉 m > m' 的案例:

1.m > m' 時:

  • n = n' = m = 10(q 記錄狀態(tài)前,Cpq 記錄 q 從 Cpq 接收到的 msg 數(shù)為 10(編號 1 - 10));
  • m' = 7(Cpq記錄狀態(tài)前,Cpq 記錄的 q 從 Cpq 接收到的 msg 數(shù)為 7(編號 1 - 7));
  • 那么假設 token 這條 msg 的編號為 9,就會出現(xiàn) Cpq 記錄的狀態(tài)為S(Cpq-token-in-Cpq),q 記錄的狀態(tài)為S(q-token-in-p),實際這是不符合全局一致性快照的要求的;

最后:n' ≥ m' and n ≥ m:同樣可以利用反證法得到,此處不再舉例。

4.? 第五步:解答 2.4 節(jié)提出的 Cpq 怎么知道 token in p 的問題

通過 n = n' ≥ m = m' 其實就可以推論出 Cpq 一定會知道 token in p。

為了幫大家更容易的理解一個分布式應用包含的全局一致性快照包含的數(shù)據(jù)內(nèi)容,接下來我用偽代碼描述一下,會比文字更好理解~

6.偽代碼描述一個分布式應用全局一致快照包含的數(shù)據(jù)內(nèi)容

偽代碼如下:

// S_all 即一個分布式應用的全局一致性快照
S_all = null;

// 假設總共有 x 個 Process,S_all 先把所有 Process 的狀態(tài)記錄下來
for (int i = 1; i <= x; i++) {
// 第 i 個 Process 的狀態(tài)為 S_P_i,直接按照 += 寫,勿噴
S_all += S_P_i;
}

// 假設總共有 y 個 Channel,S_all 把所有 Channel 的狀態(tài)記錄下來
for (int i = 1; i <= y; i++) {
// 1. S_C_i:第 i 個 Channel 的狀態(tài)
// 2. m_i:第 i 個 Channel 做快照前,發(fā)往下游 Process 的消息(數(shù)據(jù))編號,m_i 其實就是上文變量中的 m
// 3. n_i:第 i 個 Channel 做快照前,接受上游 Process 的消息(數(shù)據(jù))編號,n_i 其實就是上文變量中的 n
// 4. 需要注意,每一個 Channel 的 m_i 和 n_i 的數(shù)值都可能是不一樣的
// 5. Message[m_i + 1] :代表編號為 m_i + 1 的那條消息(數(shù)據(jù))。舉例 Message[0] 代表編號為 0 的那條消息(數(shù)據(jù))
S_C_i = Message[m_i + 1] + ... + Message[n_i];

S_all += S_C_i;
}

// 狀態(tài)做完了

7.怎樣去記錄 Channel 的狀態(tài)?

通過上面的分析,我們已經(jīng)討論得到了S(Cpq)都包含了什么內(nèi)容,并且其之間要滿足什么樣的數(shù)學關系。但是在現(xiàn)實實際生活中,消息在 Channel 上傳輸(光纖上傳輸)時,我們是無法記錄這些消息作為 Channel 的狀態(tài)的。

那么有沒有什么思路可以讓我們也能夠去記錄 Channel 的消息呢?

當然有。

因為只要我們分布式應用的傳輸這些消息的光纖沒有被挖斷,消息終究會通過 Channel 到達 Process 的,因此我們就可以自然的想到其實可以在消息傳輸 終點的 Process 去記錄這些消息作為 Channel 的狀態(tài)。對應到上述的 Single-Token conservation 案例來說,我們可以在 q 中記錄 Channel pq 的S(Cpq),在 p 中記錄 Channel pq 的S(Cqp)。

如果是按照這個思路去分析的話,上面那段偽代碼就可以簡化為下面這樣:

// S_all 即全局一致性快照
S_all = null;

// 假設總共有 x 個 Process
for (int i = 1; i <= x; i++) {
// S_i_all:第 i 個 Process 要記錄的所有狀態(tài)
S_i_all = null;

// S_P_i:第 i 個 process 的狀態(tài)
S_i_all += S_P_i; // 【直接按照 += 寫,勿噴】

// 第 i 個 Process 總共有 y 個輸入 channel,下文中 j 即指代第 i 個 Process 的第 j 個上游 Channel
for (int j = 1; j <= y; j++) {
// 1.S_C_j:第 j 個 Channel 的狀態(tài)
// 2.m_j:第 j 個 Channel 做快照前,發(fā)往下游 Process 的消息(數(shù)據(jù))編號
// 3.n_j:第 j 個 Channel 做快照前,接受上游 Process 的消息(數(shù)據(jù))編號
S_C_j = Message[m_j + 1] + ... + Message[n_j];

S_i_all += S_C_j;
}

S_all += S_i_all;
}

// 狀態(tài)做完了

解釋一下上面的偽代碼:

1.S_all:所有的進程記錄的狀態(tài)之和,即所有S_i_all之和

2.S_i_all:每一個進程要記錄的所有狀態(tài)之和

3.Process i 在做S_i_all其實只有一個變量在做快照時是不知道到的,那就是 n_j(即第 i 個 channel 做快照前,接受到 j(上游) 的消息個數(shù))

  • S_P_i是 Process 自己的狀態(tài),所以是明確已知的
  • S_C_j是 Channel 狀態(tài),由Message[m_j + 1] + ... + Message[n_j]組成,其中 m_j 的含義是這個 Channel j 在做快照時發(fā)給當前 Process i 的消息編號,前文已經(jīng)介紹到 m = m',即 m_j 值就等于是是當前 Process i 在做S_P_i時,接收到上游 Channel 的消息編號,所以 m_j 是明確已知的。但是 Process i 在做上游 Channel j 快照時 n_j 是無法獲取到的。

那么 Process i 在做S_C_j如何獲取到 n_j 呢?

這里我們就可以想到 n = n':

  1. 因為 n = n',所以 n_j 的值就等于 Channel j 的上游 Process 在做快照時,Process 發(fā)往 Channel j 的消息個數(shù);
  2. 所以我們可以認為 n_j 是 Channel j 的輸入 Process 在做快照時已知的一個值,則只需要這個 Process 把這個值發(fā)給 Process i 就行;
  3. Channel j 的輸入 Process 告知 Process i 的方式其做完快照之后,直接發(fā)一個 marker 下去,這個 marker 不會對計算有任何影響(即不會對狀態(tài)產(chǎn)生任何影響),marker 只是一個標識,當 Process i 接受到這個 marker 時,就知道 n_j 的具體值了。

大家注意到了沒,這個 marker 其實就對應到了 Flink 中 Checkpoint 的 barrier。

8.總結

本文主要講了一個分布式應用異步做一個全局一致性快照的機制。

好,今天主要就講這么多,下集我們再說說 Chandy-Lambort,F(xiàn)link CP 和今天介紹的全局一致性快照原理的關系。

責任編輯:姜華 來源: 大數(shù)據(jù)羊說
相關推薦

2022-02-19 09:09:37

數(shù)倉Flink CP分布式

2025-08-27 06:00:00

2019-07-08 19:30:09

Windows Pho鴻蒙

2011-07-16 17:25:27

激光打印機評測

2025-11-17 01:33:00

2021-10-27 18:36:50

TCP 隊列全連接

2011-06-28 10:41:50

DBA

2021-04-27 18:12:22

WebSocket持久化連接HTTP

2019-01-14 07:28:56

大數(shù)據(jù)云計算互聯(lián)網(wǎng)

2020-10-24 13:50:59

Python編程語言

2021-12-27 10:08:16

Python編程語言

2021-02-01 08:41:45

Flink語義數(shù)據(jù)

2021-08-13 13:55:13

網(wǎng)絡安全勒索軟件互聯(lián)網(wǎng)

2016-01-07 12:40:02

機器學習權威定義

2024-09-05 09:46:37

操作體系密碼

2020-03-18 13:07:16

華為

2017-01-23 12:40:45

設計演講報表數(shù)據(jù)

2020-03-10 07:51:35

面試諷刺標準

2020-10-18 12:53:29

黑科技網(wǎng)站軟件

2018-09-11 17:05:12

戴爾
點贊
收藏

51CTO技術棧公眾號

亚洲卡一卡二卡三| 伊人网在线视频观看| 人人干在线视频| 精品制服美女丁香| 久久综合电影一区| 艳妇乳肉豪妇荡乳xxx| 日本在线啊啊| 国产精品久久久一区麻豆最新章节| 国产精品自拍偷拍| 欧美日韩一级在线观看| 欧洲精品一区| 欧美美女一区二区在线观看| avav在线播放| 免费动漫网站在线观看| 亚洲AV午夜精品| 香蕉大人久久国产成人av| 午夜精品一区二区三区免费视频| 蜜桃导航-精品导航| 91精品国产色综合久久不8| 欧美日韩福利| 在线观看久久久久久| 国产成人av片| 日韩制服诱惑| 欧美日韩国产一中文字不卡 | 久久久久久久免费视频| 天天干天天草天天射| 久久99精品久久久久久动态图| 久久久久久69| 亚洲熟女一区二区三区| 91国内外精品自在线播放| 亚洲一区二区av在线| 亚洲人一区二区| 香蕉视频黄色片| 国产伦精一区二区三区| 国产一区二区伦理| 日韩av在线导航| 三级网站免费看| 成人国产网站| 福利视频第一区| av日韩在线看| www在线视频| 久久精品视频在线免费观看| 国产成人免费观看| 91尤物国产福利在线观看| 午夜亚洲视频| 国产69精品久久久久9| 三级av在线免费观看| 欧美久久精品一级c片| 亚洲精品国产品国语在线| 国内精品国产三级国产aⅴ久| 国产精品99| 欧美在线不卡一区| 不卡影院一区二区| 123区在线| 亚洲一区二区三区视频在线播放| 黄色高清视频网站| 日本一区二区高清视频| 日韩免费一二三区| 欧美1区2区| 久久综合国产精品台湾中文娱乐网| 欧美大波大乳巨大乳| 亚洲va久久| 精品视频中文字幕| 国产呦小j女精品视频| 精品欧美午夜寂寞影院| 精品国产一区二区在线观看| 下面一进一出好爽视频| 久久天堂久久| 日韩网站在线看片你懂的| 又色又爽又黄视频| 亚洲一区有码| 日韩丝袜美女视频| 少妇搡bbbb搡bbb搡打电话| 国产理论电影在线| 亚洲超碰97人人做人人爱| 免费拍拍拍网站| 高端美女服务在线视频播放| 偷拍一区二区三区四区| 亚洲韩国日本中文字幕| 免费特级黄色片| 国产第一页在线| 岛国av一区二区在线在线观看| av免费观看国产| 亚洲精品福利电影| 在线观看亚洲成人| 在线视频观看91| 亚洲精品在线播放| 亚洲激情在线视频| 免费看91的网站| 婷婷亚洲五月色综合| 欧美精品xxx| 免费黄色网址在线| 久久精品国产99国产精品| 91原创国产| 四虎影院在线域名免费观看| 91啪亚洲精品| 亚洲一一在线| 欧美1234区| 日本精品一区二区三区高清| 天天综合网久久| 日韩一级淫片| 亚洲亚裔videos黑人hd| 日韩精品一区二区三区四区 | 新67194成人永久网站| 国产精品久久久久久久久| 99视频免费看| 93久久精品日日躁夜夜躁欧美| 日韩一区二区电影在线观看| 视频在线这里都是精品| 一本高清dvd不卡在线观看| 日本国产一级片| 卡通动漫精品一区二区三区| 中文字幕综合一区| 色播视频在线播放| 国产中文字幕一区| 免费亚洲精品视频| 成人免费网址| 色婷婷av一区| 特级特黄刘亦菲aaa级| 日韩国产专区| 欧美激情一区二区三区久久久| 中文字幕在线观看视频免费| 丰满少妇久久久久久久| 性欧美.com| 国产污视频在线播放| 欧美一区二区三区在线看| 蜜桃久久精品成人无码av| 亚洲深深色噜噜狠狠爱网站| 日韩美女写真福利在线观看| 东京干手机福利视频| 国产精品国产馆在线真实露脸| av7777777| 欧美电影院免费观看| 国产精品一区2区| 亚洲国产精品视频在线观看| 无码人中文字幕| 国产一区二区三区的电影 | 日韩福利影院| 免费看男女www网站入口在线| 日韩欧美一级片| 性少妇xx生活| 日日骚欧美日韩| 久久人人爽爽人人爽人人片av| 欧美家庭影院| 日韩一区二区三区电影| 懂色av蜜臀av粉嫩av永久| 久久精品一区二区三区中文字幕| 国产精品国产精品国产专区蜜臀ah| 老司机精品视频在线观看6| 欧美中文字幕一二三区视频| 波多野结衣一本| 亚洲一区一卡| 欧美精品中文字幕一区二区| 筱崎爱全乳无删减在线观看| 成人福利一区| 日韩精品中文字| 中日韩精品视频在线观看| 成人免费看的视频| 蜜臀av色欲a片无码精品一区| 国产精品麻豆| 久久综合国产精品台湾中文娱乐网| 97超碰中文字幕| 中文字幕一区二区三区乱码在线| 中文字幕 欧美日韩| 我不卡影院28| 亚洲自拍偷拍福利| 性欧美videos高清hd4k| 日韩免费性生活视频播放| a级片在线观看免费| 国产精品一级片| 久久久久久久久影视| 亚洲日本va午夜在线电影| 欧美激情免费看| 色婷婷视频在线| 五月天精品一区二区三区| 97人妻精品一区二区三区免| 久久久久99| 一区二区三区四区欧美日韩| 99tv成人影院| 欧美极度另类性三渗透| 成人短视频在线看| 午夜av免费在线观看| 色综合天天综合色综合av| 久久久久亚洲AV成人无在| 国产曰批免费观看久久久| 国产1区2区3区中文字幕| 黑人久久a级毛片免费观看| 91sa在线看| 在线播放毛片| 欧美成人a在线| 五月婷婷色丁香| 国产欧美日韩在线| 波多野结衣在线免费观看| 亚洲精选在线| 日本一区视频在线| 日韩专区视频| 91精品国产高清| porn亚洲| 精品国产sm最大网站| 中文字幕国产在线观看| 中文字幕亚洲一区二区va在线| wwwxxxx在线观看| 亚洲综合欧美| 制服诱惑一区| 婷婷综合福利| 成人午夜在线观看| 伊伊综合在线| 亚洲综合在线观看视频| 国产精品扒开腿做爽爽爽的视频| 国产女主播在线直播| 日韩一级大片在线| 成人免费毛片视频| 一区二区三区视频在线观看| 美女爆乳18禁www久久久久久 | 久久久噜噜噜www成人网| 欧美疯狂party性派对| 精品国产综合久久| 美女精品视频在线| 国产精品jizz在线观看麻豆| 女子免费在线观看视频www| 一本色道久久88亚洲综合88| 蜜桃视频污在线观看| 欧美日韩一区二区三区四区| 97免费在线观看视频| 亚洲人成网站在线| 91麻豆精品国产91久久综合| 成年人国产精品| 黄色小视频免费网站| 久久精品官网| 欧美一区二区三区爽大粗免费| 综合久久十次| 在线成人av电影| 欧美猛男同性videos| 国产精品国产精品国产专区不蜜| 杨幂一区欧美专区| 国产麻豆精品久久| 久久精品国产美女| 久久亚洲黄色| 国产精品二区二区三区| 国产美女视频一区二区 | 日韩免费大片| 国产精品爱久久久久久久| 欧美调教sm| 韩国v欧美v日本v亚洲| 91在线中文| 久久天天躁狠狠躁夜夜爽蜜月| 国产毛片在线| 亚洲人午夜色婷婷| 欧美在线观看在线观看| 亚洲国产精品高清久久久| www.日韩在线观看| 日韩欧美亚洲国产精品字幕久久久| 一级特黄aaa| 欧美日韩国产电影| a片在线免费观看| 在线视频国内一区二区| 无码视频一区二区三区| 精品成人久久av| 天堂在线免费观看视频| 欧美午夜视频在线观看| 久久久久亚洲av成人毛片韩| 欧美午夜片在线免费观看 | 色一情一乱一乱一区91av| 日韩三级高清在线| 午夜精品久久久久久久96蜜桃| 日韩欧美国产三级电影视频| 国产黄色av网站| 精品剧情在线观看| 婷婷综合激情网| 亚洲欧洲在线看| 97超碰人人在线| xxxx性欧美| 女子免费在线观看视频www| 久久久久久久久久av| bl视频在线免费观看| 91精品国产精品| 在线高清av| 国产精品av免费在线观看| 色综合.com| 91九色蝌蚪成人| 精品女人视频| 天堂一区二区三区| 综合在线视频| 麻豆tv在线播放| 在线观看国产小视频| 777色狠狠一区二区三区| 国产福利资源在线| 日韩精品极品视频| av国产在线观看| 欧美国产日本高清在线 | 97婷婷大伊香蕉精品视频| 第84页国产精品| 成人国产在线激情| 欧美天堂影院| 一区二区欧美日韩| 激情综合视频| 91制片厂毛片| 成人午夜电影网站| 中国特黄一级片| 亚洲国产综合在线| 最新国产中文字幕| 精品88久久久久88久久久| av在线二区| 国模私拍一区二区三区| 亚洲国产伊人| 老牛影视免费一区二区| 这里只有精品在线| 热久久精品免费视频| 成人综合婷婷国产精品久久免费| 午夜精产品一区二区在线观看的| 一区二区三区四区在线| 波多野结衣毛片| 亚洲精品一区二区三区99| 精品国产白色丝袜高跟鞋| 4438全国成人免费| 91麻豆精品国产91久久久久推荐资源| 日韩激情视频| 日韩午夜精品| 三级网站免费看| 国产精品三级av在线播放| 欧美不卡视频在线观看| 韩日在线一区| 91久热免费在线视频| 一区二区三区视频免费观看| 路边理发店露脸熟妇泻火| 日本欧美一区二区三区| 无遮挡aaaaa大片免费看| 一区二区三区国产| 国产精品久久久久久免费免熟| 国产一区二区黑人欧美xxxx| 热三久草你在线| 国产日韩一区欧美| 狠狠入ady亚洲精品| 一级网站在线观看| 国产精品久久久爽爽爽麻豆色哟哟| 久久中文字幕免费| 日韩av中文字幕在线| 丁香花在线电影小说观看| 96sao精品视频在线观看| 热久久天天拍国产| 在线视频日韩一区| 国产偷国产偷精品高清尤物| 欧美激情黑白配| 日韩成人在线电影网| 成年网站在线视频网站| 成人免费看片网站| 欧美va亚洲va日韩∨a综合色| 国产无遮挡猛进猛出免费软件| 国产欧美综合在线| 欧美性受xxx黑人xyx性爽| 亚洲欧美日韩精品| 第四色男人最爱上成人网| 欧美精品二区三区四区免费看视频 | 国产私拍福利精品视频二区| 欧美韩国日本精品一区二区三区| 国产亚洲欧洲| 国产精品一级黄片| 欧美色视频日本高清在线观看| 亚洲色图21p| 日本精品免费观看| 国产一区毛片| www.夜夜爽| 亚洲欧洲综合另类在线| 精品女同一区二区三区| 欧美激情综合色| 欧美一区二区三区久久| 99精品在线免费视频| 久久久久久久久久久久久夜| 欧美成人一区二区三区四区| 中文字幕av一区二区| 电影91久久久| 国产精品va在线观看无码| 不卡的av中国片| 91玉足脚交嫩脚丫在线播放| 国产午夜精品免费一区二区三区| 久久精品国产精品亚洲毛片| 综合久久国产| 粉嫩aⅴ一区二区三区四区| 国产成人免费观看视频 | 瑟瑟在线观看| 青青草成人在线| 成人高清av| 香蕉网在线视频| 日韩精品一区二区三区免费观看| 91亚洲精品在线| 欧美成人嫩草网站| 精品黑人一区二区三区观看时间| 欧美性色欧美a在线播放| 18videosex性欧美麻豆| 国产综合精品一区二区三区| 日韩精品电影在线观看| 国产1区2区3区4区| 亚洲欧美中文字幕| 91精品网站在线观看| 丁香花在线影院观看在线播放| 国产视频911| 高清一区二区三区四区| 国产精品99蜜臀久久不卡二区| 欧美午夜电影在线观看| 欧美图片一区二区|