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

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

大數(shù)據(jù) 數(shù)據(jù)倉(cāng)庫(kù) 中臺(tái)
大家都知道 OPPO 是做智能手機(jī)的,但并不知道 OPPO 與互聯(lián)網(wǎng)以及大數(shù)據(jù)有什么關(guān)系,下圖概要介紹了 OPPO 的業(yè)務(wù)與數(shù)據(jù)情況。

一.OPPO 實(shí)時(shí)數(shù)倉(cāng)的演進(jìn)思路

1.1.OPPO 業(yè)務(wù)與數(shù)據(jù)規(guī)模

大家都知道 OPPO 是做智能手機(jī)的,但并不知道 OPPO 與互聯(lián)網(wǎng)以及大數(shù)據(jù)有什么關(guān)系,下圖概要介紹了 OPPO 的業(yè)務(wù)與數(shù)據(jù)情況: 

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

OPPO 作為手機(jī)廠商,基于 Android 定制了自己的 ColorOS 系統(tǒng),當(dāng)前日活躍用戶超過 2 億。圍繞 ColorOS,OPPO 構(gòu)建了很多互聯(lián)網(wǎng)應(yīng)用,比如應(yīng)用商店、瀏覽器、信息流等。

在運(yùn)營(yíng)這些互聯(lián)網(wǎng)應(yīng)用的過程中,OPPO 積累了大量的數(shù)據(jù),上圖右邊是整體數(shù)據(jù)規(guī)模的演進(jìn):從 2012 年開始每年都是 2~3 倍的增長(zhǎng)速度,截至目前總數(shù)據(jù)量已經(jīng)超過 100PB,日增數(shù)據(jù)量超過 200TB。

要支撐這么大的一個(gè)數(shù)據(jù)量,OPPO 研發(fā)出一整套的數(shù)據(jù)系統(tǒng)與服務(wù),并逐漸形成了自己的數(shù)據(jù)中臺(tái)體系。

1.2.OPPO 數(shù)據(jù)中臺(tái) 

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

今年大家都在談數(shù)據(jù)中臺(tái),OPPO 是如何理解數(shù)據(jù)中臺(tái)的呢?我們把它分成了 4 個(gè)層次:

最下層是統(tǒng)一工具體系,涵蓋了"接入 - 治理 - 開發(fā) - 消費(fèi)"全數(shù)據(jù)鏈路;

基于工具體系之上構(gòu)建了數(shù)據(jù)倉(cāng)庫(kù),劃分成"原始層 - 明細(xì)層 - 匯總層 - 應(yīng)用層",這也是經(jīng)典的數(shù)倉(cāng)架構(gòu);

再往上是全域的數(shù)據(jù)體系,什么是全域呢?就是把公司所有的業(yè)務(wù)數(shù)據(jù)都打通,形成統(tǒng)一的數(shù)據(jù)資產(chǎn),比如 ID-Mapping、用戶標(biāo)簽等;

最終,數(shù)據(jù)要能被業(yè)務(wù)用起來,需要場(chǎng)景驅(qū)動(dòng)的數(shù)據(jù)產(chǎn)品與服務(wù)。

以上就是 OPPO 數(shù)據(jù)中臺(tái)的整個(gè)體系,而數(shù)據(jù)倉(cāng)庫(kù)在其中處于非常基礎(chǔ)與核心的位置。

1.3. 構(gòu)建 OPPO 離線數(shù)倉(cāng) 

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

過往 2、3 年,我們的重點(diǎn)聚焦在離線數(shù)倉(cāng)的構(gòu)建。上圖大致描述了整個(gè)構(gòu)建過程:首先,數(shù)據(jù)來源基本是手機(jī)、日志文件以及 DB 數(shù)據(jù)庫(kù),我們基于 Apache NiFi 打造了高可用、高吞吐的接入系統(tǒng),將數(shù)據(jù)統(tǒng)一落入 HDFS,形成原始層;緊接著,基于 Hive 的小時(shí)級(jí) ETL 與天級(jí)匯總 Hive 任務(wù),分別負(fù)責(zé)計(jì)算生成明細(xì)層與匯總層;

最后,應(yīng)用層是基于 OPPO 內(nèi)部研發(fā)的數(shù)據(jù)產(chǎn)品,主要是報(bào)表分析、用戶畫像以及接口服務(wù)。此外,中間的明細(xì)層還支持基于 Presto 的即席查詢與自助提數(shù)。 伴隨著離線數(shù)倉(cāng)的逐步完善,業(yè)務(wù)對(duì)實(shí)時(shí)數(shù)倉(cāng)的訴求也愈發(fā)強(qiáng)烈。

1.5. 離線到實(shí)時(shí)的平滑遷移 

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

無論是一個(gè)平臺(tái)還是一個(gè)系統(tǒng),都離不開上下兩個(gè)層次的構(gòu)成:上層是 API,是面向用戶的編程抽象與接口;下層是 Runtime,是面向內(nèi)核的執(zhí)行引擎。我們希望從離線到實(shí)時(shí)的遷移是平滑的,是什么意思呢?從 API 這層來看,數(shù)倉(cāng)的抽象是 Table、編程接口是 SQL+UDF,離線數(shù)倉(cāng)時(shí)代用戶已經(jīng)習(xí)慣了這樣的 API,遷移到實(shí)時(shí)數(shù)倉(cāng)后最好也能保持一致。而從 Runtime 這層來看,計(jì)算引擎從 Hive 演進(jìn)到了 Flink,存儲(chǔ)引擎從 HDFS 演進(jìn)到了 Kafka。

基于以上的思路,只需要把之前提到的離線數(shù)倉(cāng) pipeline 改造下,就得到了實(shí)時(shí)數(shù)倉(cāng) pipeline。

1.6. 構(gòu)建 OPPO 實(shí)時(shí)數(shù)倉(cāng)

 

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

 

從上圖可以看到,整個(gè) pipeline 與離線數(shù)倉(cāng)基本相似,只是把 Hive 替換為 Flink,把 HDFS 替換為 Kafka。從總體流程來看,基本模型是不變的,還是由原始層、明細(xì)層、匯總層、應(yīng)用層的級(jí)聯(lián)計(jì)算來構(gòu)成。

因此,這里的核心問題是如何基于 Flink 構(gòu)建出這個(gè) pipeline,下面就介紹下我們基于 Flink SQL 所做的一些工作。

二. 基于 Flink SQL 的擴(kuò)展工作

2.1.Why Flink SQL

首先,為什么要用 Flink SQL? 下圖展示了 Flink 框架的基本結(jié)構(gòu),最下面是 Runtime,這個(gè)執(zhí)行引擎我們認(rèn)為最核心的優(yōu)勢(shì)是四個(gè):第一,低延遲,高吞吐;第二,端到端的 Exactly-once;第三,可容錯(cuò)的狀態(tài)管理;第四,Window & Event time 的支持。基于 Runtime 抽象出 3 個(gè)層次的 API,SQL 處于最上層。

Flink SQL API 有哪些優(yōu)勢(shì)呢?我們也從四個(gè)方面去看:第一,支持 ANSI SQL 的標(biāo)準(zhǔn);第二,支持豐富的數(shù)據(jù)類型與內(nèi)置函數(shù),包括常見的算術(shù)運(yùn)算與統(tǒng)計(jì)聚合;第三,可自定義 Source/Sink,基于此可以靈活地?cái)U(kuò)展上下游;第四,批流統(tǒng)一,同樣的 SQL,既可以跑離線也可以跑實(shí)時(shí)。 

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

那么,基于 Flink SQL API 如何編程呢?下面是一個(gè)簡(jiǎn)單的演示: 

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

首先是定義與注冊(cè)輸入 / 輸出表,這里創(chuàng)建了 2 張 Kakfa 的表,指定 kafka 版本是什么、對(duì)應(yīng)哪個(gè) topic;接下來是注冊(cè) UDF,篇幅原因這里沒有列出 UDF 的定義;最后是才是執(zhí)行真正的 SQL。可以看到,為了執(zhí)行 SQL,需要做這么多的編碼工作,這并不是我們希望暴露給用戶的接口。

2.2. 基于 WEB 的開發(fā) IDE 

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

2.5.Flink SQL 對(duì)接外部數(shù)據(jù)源

搞清楚了 Flink SQL 注冊(cè)庫(kù)表的過程,給我們帶來這樣一個(gè)思路:如果外部元數(shù)據(jù)創(chuàng)建的表也能被轉(zhuǎn)換成 TableFactory 可識(shí)別的 map,那么就能被無縫地注冊(cè)到 TableEnvironment。基于這個(gè)思路,我們實(shí)現(xiàn)了 Flink SQL 與已有元數(shù)據(jù)中心的對(duì)接,大致過程參見下圖: 

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

通過元數(shù)據(jù)中心創(chuàng)建的表,都會(huì)將元數(shù)據(jù)信息存儲(chǔ)到 MySQL,我們用一張表來記錄 Table 的基本信息,然后另外三張表分別記錄 Connector、Format、Schema 轉(zhuǎn)換成 key-value 后的描述信息。之所以拆開成三張表,是為了能夠能獨(dú)立的更新這三種描述信息。接下來是定制實(shí)現(xiàn)的 ExternalCatalog,能夠讀取 MySQL 這四張表,并轉(zhuǎn)換成 map 結(jié)構(gòu)。

2.6. 實(shí)時(shí)表 - 維表關(guān)聯(lián)

到目前為止,我們的平臺(tái)已經(jīng)具備了元數(shù)據(jù)管理與 SQL 作業(yè)管理的能力,但是要真正開放給用戶使用,還有一點(diǎn)基本特性存在缺失。通過我們?nèi)?gòu)建數(shù)倉(cāng),星型模型是無法避免的。這里有一個(gè)比較簡(jiǎn)單的案例:中間的事實(shí)表記錄了廣告點(diǎn)擊流,周邊是關(guān)于用戶、廣告、產(chǎn)品、渠道的維度表。

假定我們有一個(gè) SQL 分析,需要將點(diǎn)擊流表與用戶維表進(jìn)行關(guān)聯(lián),這個(gè)目前在 Flink SQL 中應(yīng)該怎么來實(shí)現(xiàn)?我們有兩種實(shí)現(xiàn)方式,一個(gè)基于 UDF,一個(gè)基于 SQL 轉(zhuǎn)換。 

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)
基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)
基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

三.構(gòu)建實(shí)時(shí)數(shù)倉(cāng)的應(yīng)用案例

下面分享幾個(gè)典型的應(yīng)用案例,都是在我們的平臺(tái)上用 Flink SQL 來實(shí)現(xiàn)的。

3.1. 實(shí)時(shí) ETL 拆分

這里是一個(gè)典型的實(shí)時(shí) ETL 鏈路,從大表中拆分出各業(yè)務(wù)對(duì)應(yīng)的小表: 

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

OPPO 的最大數(shù)據(jù)來源是手機(jī)端埋點(diǎn),從手機(jī) APP 過來的數(shù)據(jù)有一個(gè)特點(diǎn),所有的數(shù)據(jù)是通過統(tǒng)一的幾個(gè)通道上報(bào)過來。因?yàn)椴豢赡苊恳淮螛I(yè)務(wù)有新的埋點(diǎn),都要去升級(jí)客戶端,去增加新的通道。比如我們有個(gè) sdk_log 通道,所有 APP 應(yīng)用的埋點(diǎn)都往這個(gè)通道上報(bào)數(shù)據(jù),導(dǎo)致這個(gè)通道對(duì)應(yīng)的原始層表巨大,一天幾十個(gè) TB。但實(shí)際上,每個(gè)業(yè)務(wù)只關(guān)心它自身的那部分?jǐn)?shù)據(jù),這就要求我們?cè)谠紝舆M(jìn)行 ETL 拆分。

這個(gè) SQL 邏輯比較簡(jiǎn)單,無非是根據(jù)某些業(yè)務(wù)字段做篩選,插入到不同的業(yè)務(wù)表中去。它的特點(diǎn)是,多行 SQL 最終合并成一個(gè) SQL 提交給 Flink 執(zhí)行。大家擔(dān)心的是,包含了 4 個(gè) SQL,會(huì)不會(huì)對(duì)同一份數(shù)據(jù)重復(fù)讀取 4 次?其實(shí),在 Flink 編譯 SQL 的階段是會(huì)做一些優(yōu)化的,因?yàn)樽罱K指向的是同一個(gè) kafka topic,所以只會(huì)讀取 1 次數(shù)據(jù)。

另外,同樣的 Flink SQL,我們同時(shí)用于離線與實(shí)時(shí)數(shù)倉(cāng)的 ETL 拆分,分別落入 HDFS 與 Kafka。Flink 中本身支持寫入 HDFS 的 Sink,比如 RollingFileSink。

3.2. 實(shí)時(shí)指標(biāo)統(tǒng)計(jì)

這里是一個(gè)典型的計(jì)算信息流 CTR 的這個(gè)案例,分別計(jì)算一定時(shí)間段內(nèi)的曝光與點(diǎn)擊次數(shù),相除得到點(diǎn)擊率導(dǎo)入 Mysql,然后通過我們內(nèi)部的報(bào)表系統(tǒng)來可視化。這個(gè) SQL 的特點(diǎn)是它用到了窗口 (Tumbling Window) 以及子查詢。 

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

3.3. 實(shí)時(shí)標(biāo)簽導(dǎo)入

這里是一個(gè)實(shí)時(shí)標(biāo)簽導(dǎo)入的案例,手機(jī)端實(shí)時(shí)感知到當(dāng)前用戶的經(jīng)緯度,轉(zhuǎn)換成具體 POI 后導(dǎo)入 ES,最終在標(biāo)簽系統(tǒng)上做用戶定向。

這個(gè) SQL 的特點(diǎn)是用了 AggregateFunction,在 5 分鐘的窗口內(nèi),我們只關(guān)心用戶最新一次上報(bào)的經(jīng)緯度。AggregateFunction 是一種 UDF 類型,通常是用于聚合指標(biāo)的統(tǒng)計(jì),比如計(jì)算 sum 或者 average。在這個(gè)示例中,由于我們只關(guān)心最新的經(jīng)緯度,所以每次都替換老的數(shù)據(jù)即可。 

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

四. 未來工作的思考和展望

最后,給大家分享一下關(guān)于未來工作,我們的一些思考與規(guī)劃,還不是太成熟,拋出來和大家探討一下。

4.1. 端到端的實(shí)時(shí)流處理

什么是端到端?一端是采集到的原始數(shù)據(jù),另一端是報(bào)表 / 標(biāo)簽 / 接口這些對(duì)數(shù)據(jù)的呈現(xiàn)與應(yīng)用,連接兩端的是中間實(shí)時(shí)流。當(dāng)前我們基于 SQL 的實(shí)時(shí)流處理,源表是 Kafka,目標(biāo)表也是 Kafka,統(tǒng)一經(jīng)過 Kafka 后再導(dǎo)入到 Druid/ES/HBase。

這樣設(shè)計(jì)的目的是提高整體流程的穩(wěn)定性與可用性:首先,kafka 作為下游系統(tǒng)的緩沖,可以避免下游系統(tǒng)的異常影響實(shí)時(shí)流的計(jì)算(一個(gè)系統(tǒng)保持穩(wěn)定,比起多個(gè)系統(tǒng)同時(shí)穩(wěn)定,概率上更高點(diǎn));其次,kafka 到 kafka 的實(shí)時(shí)流,exactly-once 語義是比較成熟的,一致性上有保證。

然后,上述的端到端其實(shí)是由割裂的三個(gè)步驟來完成的,每一步可能需要由不同角色人去負(fù)責(zé)處理:數(shù)據(jù)處理需要數(shù)據(jù)開發(fā)人員,數(shù)據(jù)導(dǎo)入需要引擎開發(fā)人員,數(shù)據(jù)資產(chǎn)化需要產(chǎn)品開發(fā)人員。 

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

我們的平臺(tái)能否把端到端給自動(dòng)化起來,只需要一次 SQL 提交就能打通處理、導(dǎo)入、資產(chǎn)化這三步?在這個(gè)思路下,數(shù)據(jù)開發(fā)中看到的不再是 Kafka Table,而應(yīng)該是面向場(chǎng)景的展示表 / 標(biāo)簽表 / 接口表。比如對(duì)于展示表,創(chuàng)建表的時(shí)候只要指定維度、指標(biāo)等字段,平臺(tái)會(huì)將實(shí)時(shí)流結(jié)果數(shù)據(jù)從 Kafka 自動(dòng)導(dǎo)入 Druid,再在報(bào)表系統(tǒng)自動(dòng)導(dǎo)入 Druid 數(shù)據(jù)源,甚至自動(dòng)生成報(bào)表模板。 

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

4.2. 實(shí)時(shí)流的血緣分析

關(guān)于血緣分析,做過離線數(shù)倉(cāng)的朋友都很清楚它的重要性,它在數(shù)據(jù)治理中都起著不可或缺的關(guān)鍵作用。對(duì)于實(shí)時(shí)數(shù)倉(cāng)來說也莫不如此。我們希望構(gòu)建端到端的血緣關(guān)系,從采集系統(tǒng)的接入通道開始,到中間流經(jīng)的實(shí)時(shí)表與實(shí)時(shí)作業(yè),再到消費(fèi)數(shù)據(jù)的產(chǎn)品,都能很清晰地展現(xiàn)出來。基于血緣關(guān)系的分析,我們才能評(píng)估數(shù)據(jù)的應(yīng)用價(jià)值,核算數(shù)據(jù)的計(jì)算成本。 

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

4.3. 離線 - 實(shí)時(shí)數(shù)倉(cāng)一體化

最后提一個(gè)方向是離線實(shí)時(shí)數(shù)倉(cāng)的一體化。我們認(rèn)為短期內(nèi),實(shí)時(shí)數(shù)倉(cāng)無法替代離線數(shù)倉(cāng),兩者并存是新常態(tài)。在離線數(shù)倉(cāng)時(shí)代,我們積累的工具體系,如何去適配實(shí)時(shí)數(shù)倉(cāng),如何實(shí)現(xiàn)離線與實(shí)時(shí)數(shù)倉(cāng)的一體化管理?理論上來講,它們的數(shù)據(jù)來源是一致的,上層抽象也都是 Table 與 SQL,但本質(zhì)上也有不同的點(diǎn),比如時(shí)間粒度以及計(jì)算模式。對(duì)于數(shù)據(jù)工具與產(chǎn)品來說,需要做哪些改造來實(shí)現(xiàn)完全的一體化,這也是我們?cè)谔剿骱退伎嫉摹?nbsp;

基于Flink構(gòu)建的實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù),這才是OPPO數(shù)據(jù)中臺(tái)的基礎(chǔ)

 

 

責(zé)任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2024-01-12 18:02:38

Doris數(shù)據(jù)平臺(tái)

2024-10-18 08:17:09

Doris數(shù)據(jù)倉(cāng)庫(kù)

2022-06-28 09:47:05

數(shù)據(jù)倉(cāng)庫(kù)

2021-07-13 07:04:19

Flink數(shù)倉(cāng)數(shù)據(jù)

2022-03-07 07:18:18

Netflix機(jī)器學(xué)習(xí)架構(gòu)

2017-02-28 09:21:56

HadoopHive數(shù)據(jù)倉(cāng)庫(kù)

2024-10-22 09:30:00

飛輪數(shù)據(jù)算法應(yīng)用

2021-08-31 10:18:34

Flink 數(shù)倉(cāng)一體快手

2024-09-23 21:48:57

2013-03-20 16:23:53

數(shù)據(jù)清洗

2025-02-06 08:54:54

2023-12-11 08:00:00

架構(gòu)FlinkDruid

2009-01-20 14:22:49

ODS數(shù)據(jù)倉(cāng)庫(kù)教程

2021-06-30 09:20:08

數(shù)倉(cāng)FlinkHive

2024-09-23 21:44:56

2024-09-29 21:24:17

數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)中臺(tái)數(shù)據(jù)飛輪

2024-10-23 10:24:49

2024-09-26 17:28:49

數(shù)據(jù)飛輪數(shù)據(jù)中臺(tái)

2024-09-22 11:03:11

數(shù)據(jù)倉(cāng)庫(kù)數(shù)據(jù)飛輪

2024-09-23 19:41:17

數(shù)據(jù)技術(shù)數(shù)據(jù)中臺(tái)數(shù)據(jù)治理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

欧美在线精品一区| 国产精品一区二区三区av| 久久亚洲精品小早川怜子| 国产精品久久久久久久久影视| 日本一二三不卡视频| 91成人福利社区| 亚洲国产日韩av| 国产亚洲激情视频在线| 黄色三级中文字幕| 五月激情婷婷网| 免费精品视频最新在线| 久久久久久久久91| 一级黄色片国产| 国际av在线| 韩国一区二区三区| 91精品国产高清久久久久久| 女人黄色一级片| 深夜福利一区| 在线观看欧美黄色| 久久男人资源站| 精品推荐蜜桃传媒| 东方欧美亚洲色图在线| 国产极品jizzhd欧美| 18精品爽视频在线观看| 红桃成人av在线播放| 日韩精品专区在线影院重磅| 一级黄色香蕉视频| 爱福利在线视频| 中文字幕亚洲成人| 欧美日本国产精品| 色欲av伊人久久大香线蕉影院| 老司机精品视频在线| 亚洲片在线资源| 26uuu国产| 欧美国产视频| 日本韩国视频一区二区| heyzo亚洲| 午夜视频www| 国产激情视频一区二区在线观看| 国产精品爽黄69天堂a| 欧美h在线观看| 精久久久久久| 九九久久久久99精品| 国产精品麻豆一区| 日韩一区二区在线免费| 国产午夜精品一区理论片飘花| 少妇激情一区二区三区视频| 麻豆一区在线| 91精品黄色片免费大全| 美女在线视频一区二区| 日韩中文在线播放| 国产精品区一区二区三区| 精品综合在线| 天堂v在线观看| 不卡视频在线看| 日本sm极度另类视频| 国产一级一片免费播放放a| 欧美在线高清| 久久久久久久网站| 免费观看一级视频| 99精品福利视频| 欧美一级在线亚洲天堂| 貂蝉被到爽流白浆在线观看| 不卡中文字幕| 日韩中文在线不卡| 欧美特黄一级片| 亚洲精品a级片| 麻豆乱码国产一区二区三区| 超碰在线国产97| 欧美另类亚洲| 欧美亚洲另类在线| 丰满人妻老熟妇伦人精品| 久久久久91| 国产精品久久久久久久久久ktv| 中文字幕+乱码+中文乱码91| 免费成人性网站| 92裸体在线视频网站| www.久久久久久| 91亚洲精品乱码久久久久久蜜桃| 欧美日韩系列| 香港伦理在线| 亚洲一区中文在线| 久久久噜噜噜www成人网| 欧美色网在线| 亚洲成人av福利| 欧美黑人经典片免费观看| av电影一区| 欧美男人的天堂一二区| av在线天堂网| 久操国产精品| 久久亚洲精品网站| 国产超碰人人爽人人做人人爱| 男女av一区三区二区色多| 国产精品丝袜久久久久久高清 | 综合视频在线| 亚洲毛片在线免费观看| 又色又爽的视频| 欧美精品首页| 国产精品aaa| 精品黑人一区二区三区在线观看| 99re8在线精品视频免费播放| 五月婷婷一区| 51精品在线| 一区二区三区 在线观看视频| 国产中文字幕视频在线观看| 精品免费av一区二区三区| 日韩精品一区二区三区在线播放| 中国美女乱淫免费看视频| 亚欧美无遮挡hd高清在线视频| 欧美精品久久久久久久| 在线观看xxxx| 91免费看`日韩一区二区| 免费成人深夜夜行网站视频| 台湾佬中文娱乐网欧美电影| 五月天激情综合| 亚洲精品成人在线播放| 天天做夜夜做人人爱精品 | 久久国产一区| www在线视频| 亚洲视频免费在线| 黑人糟蹋人妻hd中文字幕| 欧美电影院免费观看| 一区二区亚洲欧洲国产日韩| 日本在线观看中文字幕| av成人激情| 91天堂在线观看| jizzjizz在线观看| 国产精品成人网| 日韩欧美在线播放视频| 超碰精品在线| 欧美激情小视频| 99久久精品无免国产免费 | 极品魔鬼身材女神啪啪精品| 久久久久久黄| 蜜桃成人在线| 国产伦子伦对白在线播放观看| 欧美自拍丝袜亚洲| 国产亚洲精品成人a| 国产精品久久久久9999赢消| 日韩亚洲在线观看| 欧美 日韩 精品| 972aa.com艺术欧美| 日韩国产一级片| 都市激情亚洲欧美| 亚洲欧美精品在线| 久久艹免费视频| 成人国产亚洲欧美成人综合网 | 看女生喷水的网站在线观看| 欧美日韩1234| 北条麻妃在线观看视频| 久久精品999| 一区二区三区观看| 亚洲网站三级| 久久的精品视频| 国产视频手机在线观看| 亚洲欧美另类久久久精品2019| 一区二区三区视频网| 欧美www视频在线观看| 国产精品一区二区三区毛片淫片 | 久久久久久亚洲| 日韩一级片免费观看| 天天综合网天天综合色| 天天插天天射天天干| av成人激情| 日本一区二区三区四区高清视频| 欧美成a人片在线观看久| 有码中文亚洲精品| 亚洲网站免费观看| 亚洲精品菠萝久久久久久久| 9.1在线观看免费| 亚洲区国产区| 欧洲在线视频一区| 亚洲国产91视频| 久久精品青青大伊人av| www.国产.com| 疯狂做受xxxx欧美肥白少妇| wwwwww日本| 久久电影国产免费久久电影 | 鲁大师成人一区二区三区| 日韩激情久久| 激情综合五月| 18一19gay欧美视频网站| 第九色区av在线| 正在播放一区二区| 亚洲黄色小说图片| 中文字幕一区二区三区蜜月| 国产69视频在线观看| 久久资源在线| 国产一区二区不卡视频在线观看| 老司机深夜福利在线观看| 亚洲性69xxxbbb| 国产普通话bbwbbwbbw| 精品国产户外野外| 青青草华人在线视频| 丁香桃色午夜亚洲一区二区三区| 国产精品-区区久久久狼 | 精品少妇人欧美激情在线观看| 在线日韩网站| 99久久久久国产精品免费| 范冰冰一级做a爰片久久毛片| 久久久av一区| 深夜福利视频一区| 欧美一级日韩一级| 永久免费看mv网站入口| 成人亚洲精品久久久久软件| youjizzxxxx18| 一区二区国产精品| 好吊色这里只有精品| 久草在线成人| 国产视频一区二区三区四区| 激情久久99| 26uuu亚洲伊人春色| av网址在线| 一区二区av在线| 欧美 日韩 国产 成人 在线 91| 欧美唯美清纯偷拍| 天天操天天干视频| 一区二区三区在线免费视频| 人妻精品久久久久中文| 99久久久国产精品免费蜜臀| 在线观看中文av| 亚洲免费二区| 四虎影院一区二区三区| 日韩高清成人在线| 99精品在线直播| 欧美视频第一| 国产精品九九九| 在线男人天堂| 97国产精品久久| 国产美女情趣调教h一区二区| 久久影院资源网| 思思99re6国产在线播放| 亚洲免费成人av电影| 天天干天天操av| 亚洲丁香婷深爱综合| www.黄色片| 日韩视频一区二区在线观看| 91中文字幕在线播放| 欧美探花视频资源| 午夜一级黄色片| 在线观看亚洲精品视频| 人人爽人人爽人人片av| 日韩欧美在线一区| 圆产精品久久久久久久久久久| 亚洲高清久久久| 国产精品16p| 午夜欧美一区二区三区在线播放| 免费一级肉体全黄毛片| 久久免费视频色| 人妻在线日韩免费视频| 99v久久综合狠狠综合久久| 捆绑裸体绳奴bdsm亚洲| 99精品视频在线播放观看| 五月天激情小说| 91免费国产在线| 国产精品久久久久久久av电影| 天堂在线免费观看视频| 五月激情六月综合| 国产一级片毛片| 在线观看日韩毛片| 国产影视一区二区| 日韩午夜激情视频| 丰满人妻一区二区| 亚洲国产天堂久久综合| 色就是色亚洲色图| 国产一区二区成人| 欧美成人三区| 亚洲成人aaa| 四虎电影院在线观看| 亚洲女同精品视频| 97电影在线观看| 久久中文字幕在线视频| 第一中文字幕在线| 欧美在线xxx| 激情欧美一区二区三区黑长吊| 亚洲wwwav| 欧美午夜寂寞| 日韩精品伦理第一区| 久久久久久久久久久久久久| 国产精品一色哟哟| 丝袜亚洲精品中文字幕一区| 亚洲精品手机在线观看| 国产日韩一区二区三区在线播放 | 欧洲精品二区| 神马国产精品影院av| 超碰在线免费公开| 538国产精品视频一区二区| 欧美国产日韩电影| 成人免费视频观看视频| 色综合中文网| 男女啪啪免费观看| 久久永久免费| 91av免费观看| 国产欧美精品一区| 精品小视频在线观看| 欧美在线视频你懂得| 精品久久久久久亚洲综合网站| 亚洲精品永久免费| 亚洲欧美自偷自拍| 久久精品久久久久久| 天堂av在线| 69174成人网| 99ri日韩精品视频| 日韩在线电影一区| 亚洲激情国产| 91aaa精品| 中文字幕第一区二区| 欧美成人精品欧美一级乱黄| 在线成人av网站| 国产小视频免费在线网址| 欧美激情国产精品| 欧美视频第一| 日本精品一区二区| 99国产精品| 麻豆免费在线观看视频| 国产精品久久影院| 波多野结衣爱爱| 日韩精品免费电影| 欧美hdxxxxx| 亚洲精品日产aⅴ| 久久社区一区| 国产a级片免费观看| av在线不卡观看免费观看| 中文字幕av播放| 欧美三级乱人伦电影| 国产精品免费播放| 欧洲成人免费视频| 女人抽搐喷水高潮国产精品| 男人天堂网站在线| 国产一区二区视频在线| 日本黄色小视频在线观看| 色噜噜狠狠成人中文综合| 亚洲欧美日韩成人在线| 97在线视频国产| 国产精品中文字幕制服诱惑| www.18av.com| 国产成人精品免费一区二区| 懂色av懂色av粉嫩av| 91精品国产色综合久久| 美女写真理伦片在线看| 成人黄色中文字幕| 99久久激情| 九九久久久久久| 亚洲美女屁股眼交| 99在线观看免费| 日韩精品免费在线视频观看| 波多野结衣精品| 久久66热这里只有精品| 亚洲黄色免费| 国产成人av一区二区三区不卡| 18欧美亚洲精品| 国产精品自拍电影| 久久影院免费观看| 91精品国产自产在线丝袜啪| 高清无码视频直接看| 成人福利在线看| 黄色大片网站在线观看| 日韩h在线观看| 国产精品专区免费| 视频一区二区综合| 久久国产精品99精品国产 | 国产精品久久久久不卡| 欧洲杯半决赛直播| 在线观看免费污视频| 亚洲免费看黄网站| 老司机午夜福利视频| 57pao精品| 日韩黄色大片网站| 一区二区久久精品| 亚洲成人动漫av| 国产三区四区在线观看| 国产精品爽黄69| 韩日成人av| 精品国产无码在线观看| 欧美日韩亚洲综合一区 | 精品视频久久| 亚洲精品在线视频播放| 亚洲成人激情自拍| 成人网视频在线观看| 91色精品视频在线| 波多野结衣中文字幕久久| 91精品蜜臀在线一区尤物| 色噜噜狠狠狠综合欧洲色8| 激情欧美一区二区三区中文字幕| 日韩中文字幕不卡| 丝袜美腿小色网| 亚洲精品影视在线观看| 91亚洲精品在看在线观看高清| 成年人网站国产| 欧美高清在线一区| 国产香蕉在线观看| 国产精品91久久| 国精品一区二区| 538精品视频| 亚洲国产成人av在线| 久久久久久久性潮| 18禁免费观看网站| 日韩美女视频一区二区| 亚洲AV成人无码一二三区在线| 国产欧美亚洲视频|