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

愛奇藝數(shù)據(jù)湖平臺建設實踐

大數(shù)據(jù) 數(shù)據(jù)湖
本文將介紹 Iceberg 在愛奇藝的落地與實踐。為什么要有數(shù)據(jù)湖?數(shù)據(jù)湖其實就是為了加速數(shù)據(jù)流通。

一、愛奇藝 OLAP 簡介

首先簡單介紹一下愛奇藝 OLAP 的基本情況:

圖片

存儲方面,OLAP 目前支持三類存儲:

① 離線 HDFS:用于離線分析、批處理等場景;

② 實時 Kafka:用于實時分析、在線處理等場景;

③ 近實時 Iceberg:分鐘級延遲,是今天要重點介紹的數(shù)據(jù)湖產(chǎn)品。

存儲之上是查詢引擎,我們采用 SparkSQL 做 ETL 處理,采用 Trino 做 Ad-hoc 即席查詢,ClickHouse 用于查詢加速的場景。我們通過 Pilot 提供對外的統(tǒng)一查詢,支持各類應用場景。

二、為什么要數(shù)據(jù)湖

下面來介紹一下愛奇藝數(shù)據(jù)湖的建設背景。

1、數(shù)據(jù)湖技術加速數(shù)據(jù)流通

圖片

為什么要有數(shù)據(jù)湖?數(shù)據(jù)湖其實就是為了加速數(shù)據(jù)流通。

愛奇藝 Pingback 投遞的場景:

Pingback 是愛奇藝內(nèi)部對端上埋點的習慣名稱,每個公司都會有類似的服務。在經(jīng)典的 Lambda 架構解決方案里,Pingback 數(shù)據(jù)在投遞后,有離線和實時兩個通路。

離線通路寫到 HDFS 里,然后由離線開發(fā)平臺構建離線數(shù)倉。離線數(shù)倉的優(yōu)點是成本很低,支持的容量也很大。缺點是延遲大,可能要 1 小時或者 1 天。為了解決這個時效性問題,往往會再構建一個實時數(shù)倉。通常用 Kafka 作為存儲,用 Flink 或者 Spark 這類的流計算任務處理 Kafka 數(shù)據(jù),構建實時數(shù)倉。

實時數(shù)倉的延遲非常低,能做到秒級的延遲,但缺點是成本很高,只能放最近幾個小時的數(shù)據(jù),要基于 Kafka 做明細查詢也是比較的困難的。

其實很多實時分析場景并不需要秒級的延遲,分鐘級的延遲就足夠了。譬如說廣告、會員的運營場景,或者監(jiān)控大盤等。數(shù)據(jù)湖產(chǎn)品提供了性價比很高,容量很大的分鐘級延遲的解決方案。

2、Iceberg 定義-新型表格式

圖片

愛奇藝的數(shù)據(jù)湖選型用的是 Iceberg,Iceberg 是一種新設計的開源表格式,用于大規(guī)模數(shù)據(jù)分析。

① Iceberg 本質(zhì)上不是存儲,因為它底層存儲復用了 HDFS,或者對象存儲。在存儲之上構建了 Iceberg 表級抽象,對標 Hive 的表設計。

② 它也不是查詢引擎或者流計算引擎,它支持各類計算引擎,比如 Hive、 Flink、 Spark,也支持各類的 SQL 查詢引擎。

(1)表格式-Hive 及其缺陷

圖片

為什么有了 Hive 表格式還要引入 Iceberg 表格式? 

一個經(jīng)典的 Hive 表可能會有天級分區(qū)、小時級分區(qū),或者進一步的子分區(qū)。其設計核心是用目錄樹去組織數(shù)據(jù),能夠很好地做分區(qū)級過濾。

但是它也有著以下缺點:

① 元數(shù)據(jù)統(tǒng)一存在 Metastore,通常底下是 MySQL,很容易成為瓶頸。

② 由于元信息是分區(qū)級別的,沒有文件級別的信息,因而當發(fā)起一個查詢時,制定執(zhí)行計劃需要拿到分區(qū)下的文件列表。拿到文件列表本質(zhì)上是對每一個分區(qū)請求 NameNode 做 List 請求。舉個例子,一天有 200 多個分區(qū),查 7 天的數(shù)據(jù),分區(qū)數(shù)就會非常多,會發(fā)起 O(N) 復雜度的 NameNode 的 List 請求調(diào)用,這個元數(shù)據(jù)的枚舉過程會非常的慢。

③ 由于它的最小單位是分區(qū)級別的,最大的原子操作就是分區(qū)級別的覆蓋,其他一些原子操作是不支持的。

(2)表格式-Iceberg

圖片

Iceberg 新定義的表結(jié)構有元數(shù)據(jù)層和數(shù)據(jù)層。數(shù)據(jù)層就是數(shù)據(jù)文件。元數(shù)據(jù)層是它很重要的設計點,可以復用 Hive 的 MetaStore,指向最新的快照。元數(shù)據(jù)里面分多層,記錄了具體的文件列表。

每次有新的 Commit,就會創(chuàng)建出新的快照,讀請求可以訪問舊的快照,寫請求寫新的。在寫的過程中,新創(chuàng)建的數(shù)據(jù)文件讀是不可見的,只有在提交后把最新的版本指過去,新寫入的文件才可見。做到了讀寫分離。同時修改操作是原子的,能夠支持細粒度的分區(qū)內(nèi)部的修改。

(3)表格式-Hive VS Iceberg

圖片

簡單比較一下 Hive 和 Iceberg:兩者底層都采用 HDFS 或者對象存儲,都是 PB 級的廉價存儲方案。區(qū)別 Hive 元信息是分區(qū)級,Iceberg 是文件級。比如 Hive 分區(qū)原本有 100 個文件,加了 5 個文件,那么 Hive 下游任務就需要重新計算 Hive 分區(qū)下的全部數(shù)據(jù)。Iceberg 能夠獲取到修改的 5 個文件,可以做增量的下游計算。

時效性是 Iceberg 很明顯的優(yōu)勢,能夠做到近實時,比如 5 分鐘級,如果每分鐘提交一次則可以做到分鐘級。

制定執(zhí)行計劃時,Iceberg 是常數(shù)級的,它只讀取固定的元數(shù)據(jù)文件就能夠拿到文件列表。

Iceberg 還支持文件級別的過濾,比如基于統(tǒng)計信息或者字典做過濾。

三、數(shù)據(jù)湖平臺建設

為了方便用戶使用,愛奇藝在引入數(shù)據(jù)湖以后,首先要做平臺化建設。

1、平臺總覽

這是愛奇藝數(shù)據(jù)湖整體的產(chǎn)品架構圖:

圖片

最底下是數(shù)據(jù)源,比如前面提到的 Pingback、用戶 MySQL 的 Binlog 解析、日志和監(jiān)控信息,會分別進到實時、離線和 Iceberg 通道。在 Iceberg 之上,通過 RCP 平臺、Babel 平臺分別做流式入湖和離線入湖。使用 Trino 和 Spark SQL 去做查詢。同時我們開發(fā)了數(shù)據(jù)湖平臺去完成元數(shù)據(jù)管理、權限管理等等。

2、流式入湖

圖片

愛奇藝通過實時計算平臺,能夠做到很簡單的入湖。一個 Kafka 的數(shù)據(jù)只需要三步,就可以完成配置流任務:首先配置從哪個 Kafka 開始讀;然后在里面做 Transform 邏輯,比如篩選、重命名,最后定義寫到哪個 Iceberg。

3、出湖查詢

圖片

入湖的下一步是查詢,也就是出湖。目前 Iceberg 有兩類文件格式,V1 格式支持 Append Only 數(shù)據(jù),不支持行級修改。Iceberg 發(fā)布的最新版本 V2 格式能支持行級更新。

目前 V1 格式是通過 Trino 引擎查詢,V2 格式通過 SparkSQL 查詢。前端是通過 Pilot,我們的自研 SQL 引擎做分發(fā),能夠基于文件格式自動地選擇引擎,支持各類用戶場景。

四、性能優(yōu)化

下面介紹一些性能優(yōu)化的工作。

1、小文件

圖片

說到數(shù)據(jù)湖,無論哪個產(chǎn)品都繞不開的一個問題就是小文件問題。Hive 可以批量,比如每小時做一次計算,可以寫出很大的文件。在 Iceberg 中,由于需要做到近實時,每分鐘或者每 5 分鐘寫文件,文件就比較小,必然會有小文件問題。我們主要通過兩個方面去解決小文件問題: 

(1)生命周期

根據(jù)表的生命周期做處理。比如一張表可能只需要保留一年,或者保留 30 天,歷史的數(shù)據(jù)可以刪除。

目前平臺會限制用戶建表必須配置生命周期,通過數(shù)據(jù)湖平臺自動地完成清理邏輯。

清理用的是 Iceberg 官方提供的解決方案,Spark 的 Procedure,先是 Drop 分區(qū),然后 Expire 歷史的 Snapshot,再刪除孤兒文件,最后重寫元數(shù)據(jù)文件。

這套流程直接跑,有些環(huán)節(jié)是存在性能問題的,并不能夠滿足清理的效率:

① 第一:Spark 的使用模式,每次跑任務都需要提交一個 Spark 任務,需要先申請Yarn 資源,再啟動 Application,跑完這個任務后這個 Application 就釋放掉了。這里可以采用 Spark 的常駐模式,生命周期清理 SQL 可以跑得很快, 資源是不釋放的,避免了申請和啟動的耗時。

② 第二:天級的目錄刪除,Iceberg 官方的實現(xiàn)是比較慢的。它用的是孤兒文件刪除的策略,在文件數(shù)比較多的時候,掃描過程比較慢。我們做了改進,因為明確知道整個天級目錄都不需要,可以直接刪除整個目錄。

③ 第三:我們添加了回收站的機制,生命周期誤刪除時能有恢復的手段。

做了這些優(yōu)化以后,線上大概幾千個表,都能夠按時完成生命周期的清理。比如 Venus 庫原先可能有 2 億個 iNode,清理完以后穩(wěn)定在 4000 萬的數(shù)量級。

(2)智能合并

圖片

另外一個處理小文件問題的方式就是合并。最簡單的就是配置一個定時合并。

人工配置定時合并比較大的問題是:定時策略比較難配置。比如,什么時機應該做合并,這次合并應該要合并什么范圍的數(shù)據(jù),如果讓業(yè)務去配這些信息,每一個 Iceberg 用戶就需要非常深入地去理解小文件產(chǎn)生的機理才能夠比較好地控制合并的范圍。

為了解決這個問題,我們參考了 Netflix 的文章,做了智能合并,它的核心思想是:

不再由用戶指定合并行為,而是統(tǒng)計 Iceberg 表每個分區(qū)下面的文件數(shù),計算均方差,再結(jié)合表的權重因子,算出來哪些表合并以后效果是最好的,添加到待合并的分區(qū)列表里面。然后由合并任務按照優(yōu)先級完成合并過程,用戶無需做配置。

(3)合并性能優(yōu)化

圖片

有了智能合并以后,還要解決合并的性能優(yōu)化問題,我們也一直跟隨社區(qū)的發(fā)展。在使用過程中,最初 Iceberg 在文件合并這塊做得還不是很好。最早的時候,有個問題,Delete File 在合并以后并沒有被真正地刪除,目前已經(jīng)修復。舉個例子,如果 Delete 以后馬上有個 Rewrite Data File,那么相應的 Delete File 是不會被刪除的。這個問題目前有一些解決方案,但最標準的解決方案,社區(qū)還在跟進當中。

還有一些大表合并任務經(jīng)常失敗。這里我們可以配置 Bucket 分區(qū),將全表合并改為每次合并其中一個 Bucket 分區(qū),減少單次合并的數(shù)據(jù)量。

還可以應用 Binpack 合并策略去控制合并選擇的邏輯。應用 Bucket 分區(qū)和 Binpack合并策略以后,如右上示意圖體現(xiàn)的是文件數(shù)的變化,可以判斷這個文件數(shù)一直在增長,這個小的下降是小時級分區(qū)合并,到一定時間做全表合并,它的文件數(shù)據(jù)減少得比較多,存在周期性的震蕩。

還有一個例子,我們發(fā)現(xiàn)在做合并的時候經(jīng)常會和寫入任務沖突,會報一個錯誤,要合并的這個文件有一個 Position Delete 在引用,其實是一個誤判,因為在社區(qū)的默認的參數(shù)里面,去判斷這個 Data File 有沒有被新的 Delete File 引用的時候,有Upper bound 和 Lower bound,但這兩個 Bound 被截取了,這個 Data File 其實沒有被引用,但截取以后它就在這個區(qū)間里面了,解決方法修改表屬性控制相應行為。

(4)寫入?yún)?shù)控制

圖片

前文介紹了當小文件已經(jīng)產(chǎn)生的時候如何優(yōu)化,但我們更希望小文件最好不要產(chǎn)生,在寫入的時候就把文件數(shù)控制住。我們需要去了解 Flink 任務寫入的時候是怎么控制文件數(shù)量的。

左上角示意圖中這個 Flink 任務有 100 個并行度,在默認參數(shù) Distribution-mode = None 時每一個并行度都會往分區(qū)下寫文件,就會寫入 100 個文件,一分鐘寫 100 個文件每個數(shù)據(jù)文件都很小。

如果配置 Distribution-mode = Hash,如左下角的圖中,在寫入的時候會先做 Shuffle,基于 Partition Key Shuffle 到特定的 Sink,這個 Flink 任務會把數(shù)據(jù)都集中到一個 Sink,寫到一個文件,就解決了小文件問題。

但又會引入新的問題,數(shù)據(jù)量比較大的時候,單個任務寫文件的效率跟不上,就會造成 Flink 任務反壓。這個時候我們用哈希策略結(jié)合 Bucket 分區(qū)。比如,可以控制 1 個 Hour 下面 10 個 Bucket,通過兩者結(jié)合起來就可以很精確地去控制 1 個分區(qū)到底要生產(chǎn)多少個文件。一般建議寫入文件大概在 100 MB 左右是比較合適的。上圖的表格中列出了各個參數(shù)配置下的文件數(shù)量。

2、查詢優(yōu)化

圖片

解決了小文件問題,接下來是查詢的性能問題。在最初做 Iceberg 性能驗證的時候,我們發(fā)現(xiàn)它的批量 Scan 性能是非常好的,但是點查詢的性能就比較糟糕。

(1)ID 查詢慢

舉個例子,在訂單表中,用特定 ID,如訂單 ID 或者用戶 ID 去查詢明細,簡化后的SQL 就是 order_id = ‘555’。默認的情況下,Iceberg 會基于 MinMax 做過濾,但數(shù)據(jù)按照時間戳排序,MinMax 過濾其實是不生效的,比如 File A 的 MinMax 范圍包含 555,F(xiàn)ile N MinMax 321 到 987 也包含 555,其實是過濾不掉的。因而點查詢事實上就是全表掃描。

針對點查詢場景,BloomFilter 是非常適用的。最初社區(qū)沒有這個功能,Parquet 在 1.12 的時候支持 BloomFilter,Iceberg 的默認存儲格式也是 Parquet,所以我們考慮修改 Iceberg 引入這一功能。

(2)開啟 BloomFilter

圖片

先介紹一下 BloomFilter 的作用,在這個架構圖中,比如,針對 order_id 開啟了 BloomFilter,為每一個數(shù)據(jù)文件構建 BloomFilter,將 order_id 進行哈希后映射到對應 bit,如果值存在就把對應的位設為 1,如果不存在對應的位默認是 0。在 Bloom Filter 里面,如果標志位為 1,這個值不一定存在,但如果標志位為 0,這個值一定不存在。通過努力,我們在 Iceberg 的內(nèi)核里面添加了相應的支持。在 Spark 讀取  Iceberg 和 Trino 讀取的時候也添加了相應的能力。

BloomFilter 支持 Equals 和 In 過濾。如果標志位為 0 是一定能過濾的。不支持 not equals、not in、比較符等過濾條件。

示意圖中 order_id = 555 這個條件,哈希后另外兩個文件對應的標志位值都是 0,在查詢的時候就可以很快地把其他文件過濾掉了,能夠精確命中訂單所在的數(shù)據(jù)文件。

(3)BloomFilter 效果

圖片


經(jīng)過測試,在 Spark SQL 中的訂單 ID 查詢,原來全表掃描需要將近 1000 秒,開啟 BloomFilter 后只需要 10 秒鐘。Trino 開啟 BF 后,可以過濾 98.5% 的查詢,CPU 消耗只有以前的 5%。

BloomFilter 會帶來額外的空間開銷。經(jīng)過簡單的測試,大概有 3% 的額外空間損耗。即 3% 的存儲代價可以帶來點查詢 100 倍的提升。

(4)Alluxio 緩存

圖片


查詢優(yōu)化另外一個工作是緩存加速,如使用 Alluxio 做緩存加速。

這是愛奇藝 Trino 查數(shù)據(jù)湖的架構圖。業(yè)務通過 Pilot 引擎分發(fā)到 Trino 網(wǎng)關,自動地選擇使用哪個 Trino 集群執(zhí)行查詢。原本 Trino Worker 上面的 SSD 存儲是浪費的,我們在之上混布了 Alluxio,復用了原本閑置的 SSD 存儲,幾乎沒有什么額外機器開銷。

以前去查 HDFS 可能會有性能抖動,比如,業(yè)務有一個大的批任務,導致 HDFS 性抖動,查詢性能會降得很厲害,Alluxio 緩存能夠很好地屏蔽這一點。經(jīng)過測試 Venus 日志應用 Alluxio 以后,P90 從 18 秒可以降低到 1 秒。

(5)Trino 元數(shù)據(jù)讀取問題

圖片

在實際的使用過程中發(fā)現(xiàn) Trino 查詢有個意想不到的問題,元數(shù)據(jù)讀取性能遠比我們想象中的要慢。比如,讀取一個 5 M 的元數(shù)據(jù)竟然要 3 秒鐘,后面查數(shù)據(jù)可能只需要 1 秒,元數(shù)據(jù)反而更慢。

通過火焰圖和阿里的 Arthas 做定位,發(fā)現(xiàn) Read 的方法被調(diào)用了百萬次,文件總共 5 M,讀取 100 多萬次是非常不合理的。進一步跟蹤,定位原因是父類里面一個 Read 方法的默認實現(xiàn)會逐個 Byte 讀取,Trino 這邊沒有覆蓋這個方法的實現(xiàn),就會降級到默認方法,每次讀 1 個 Byte ,所以調(diào)用次數(shù)非常多,導致很慢,優(yōu)化以后耗時縮短到了 0.5 秒。

五、業(yè)務落地

最后來介紹業(yè)務落地的情況,在應用了上述優(yōu)化后,業(yè)務能取得什么樣的效果。

1、廣告流批一體

圖片

第一個例子是廣告的流批一體場景。原來的實時鏈路中,實時數(shù)據(jù)通過 Kafka 寫到  Kudu,離線數(shù)據(jù)同步到 Hive,通過 Impala 來統(tǒng)一查詢,基于離線覆蓋的進度將查詢分發(fā)到 Kudu 和 Hive。

使用 Iceberg 以后,實時和離線數(shù)據(jù)都更新 Iceberg,不需要進度管理,直接查詢 Iceberg 表即可。Iceberg 實現(xiàn)了兩方面的統(tǒng)一,一是存儲統(tǒng)一,不需要有兩個類型的存儲,查詢不需要做拆分。二是任務開發(fā)統(tǒng)一為 SQL,原先離線是 HiveSQL,實時是 Spark Jar 包,統(tǒng)一為 SQL 開發(fā)。數(shù)據(jù)入湖后結(jié)合分布式改造,廣告智能出價全鏈路由 35 分鐘縮短到 7-10 分鐘。

2、Venus 日志入湖

圖片

Venus 是愛奇藝內(nèi)部的日志分析平臺。之前的架構中 Kafka 數(shù)據(jù)往 ElasticSearch 里面存儲,如果業(yè)務流量較大就給它一個獨立集群,小流量業(yè)務則用公共集群。這個方案存在一些問題:一是流量調(diào)度很難做,當集群流量有瓶頸時,需要把流量拆分走;二是 ES 的存儲成本非常高。

存儲改用 Iceberg 方案后,所有業(yè)務的流量都寫到一個 Iceberg 集群,不需要拆分流量。Venus 接入層通過日志查詢平臺,數(shù)據(jù)存儲的切換對用戶是透明的。Iceberg 帶來的好處包括:

① 成本顯著下降。不需要獨立的 ES 集群了,Iceberg 和 Trino 都復用現(xiàn)有的資源,并沒有什么額外的成本。

② 穩(wěn)定性大幅提升。因為 ES 的成本太貴,沒有配副本,一旦單個磁盤或節(jié)點有問題,都會引發(fā)用戶的報障。用 Iceberg 以后,寫入帶寬非常大而且穩(wěn)定性很好,報障減少了 80% 以上。

3、審核場景

圖片

接下來是愛奇藝內(nèi)部的審核場景,審核場景需要對一些歷史的行記錄做修改。沒有 Iceberg 以前,沒有很好的技術方案支持行級更新。 

原來解決方案里用 MongoDB 存全量的數(shù)據(jù),做行級的更新,然后用 ES 構建二級索引,改用 Iceberg 以后兩個存儲都統(tǒng)一到 Iceberg 里面。對業(yè)務帶來的好處是:

① 原本的監(jiān)控告警要定期查 ES 做聚合,用 MySQL 開發(fā)報表,現(xiàn)在不需要了,報表直接查 Iceberg 就可以,能夠支持實時告警。

② 數(shù)據(jù)湖大幅提高業(yè)務的效率。原本分析任務開發(fā)非常復雜,要從 Mongo 里面導數(shù)非常不方便。有了數(shù)據(jù)湖以后可以統(tǒng)一為 SQL 查詢。

4、CDC 訂單入湖

圖片

最后是 CDC 類數(shù)據(jù)入湖,此處以訂單為例。基于 MySQL 數(shù)據(jù)做大數(shù)據(jù)分析,有兩類解決方案:第一類是每天導出一份到 Hive,缺點是每次導出都是全量,延遲很大,只能看一天以前的數(shù)據(jù)。另外全量導的性能也很差,對 MySQL 壓力也比較大。第二類是實時解決方案,增量變更寫在 Kudu 里面,Kudu 是一個成本很高的解決方案。如果 Kudu 寫入帶寬波動,同步任務負責人需要去做運維操作。

使用數(shù)據(jù)湖方案,愛奇藝實時計算平臺,通過 Flink CDC 技術很方便地可以將 MySQL 數(shù)據(jù)入湖。數(shù)據(jù)湖方案具備如下優(yōu)勢,一是近實時,數(shù)據(jù)延遲在分鐘級,遠優(yōu)于之前的離線方案;二是成本低,相比于 Kudu 無需獨立節(jié)點,大幅降低機器成本;三是省運維,Iceberg 寫入帶寬大且穩(wěn)定,大幅降低運維代價。

六、未來規(guī)劃

圖片

最后介紹一下未來規(guī)劃。愛奇藝未來會在流批一體里面有更多的落地,包括廣告的全面推廣、Pingback 在 BI 場景的落地。另外,我們計劃把數(shù)據(jù)湖落地在特征生產(chǎn),可以由以前離線或者批的特征生產(chǎn),變成近實時,能夠支持晚到數(shù)據(jù),支持樣本的行級的修正。

在技術方面會嘗試把 Iceberg 的 Puffin 統(tǒng)計信息用于查詢加速的場景。還會對社區(qū)在做的 Branch 和 Tag 進行調(diào)研,尋找內(nèi)部的落地場景。

責任編輯:姜華 來源: DataFunTalk
相關推薦

2021-01-08 13:42:28

愛奇藝機器學習深度學習

2022-06-10 15:37:24

愛奇藝App網(wǎng)絡

2023-08-11 07:44:09

大數(shù)據(jù)數(shù)據(jù)分析

2020-08-26 10:17:55

愛奇節(jié)數(shù)據(jù)中臺數(shù)據(jù)平臺

2023-05-17 07:42:11

2022-07-22 15:31:45

愛奇藝?視頻內(nèi)容延遲敏感

2012-07-18 09:29:14

愛奇藝Windows Pho

2015-07-23 14:50:54

2023-09-22 07:36:54

2015-07-22 12:53:55

羅生門式

2016-12-23 14:03:40

華為愛奇藝

2018-12-27 13:11:04

愛奇藝APP優(yōu)化

2015-07-07 12:03:01

2014-11-11 16:07:11

2015-07-16 16:22:41

愛奇藝

2014-08-19 15:32:11

愛奇藝百加視頻手機

2020-02-17 19:48:15

超長假服務器殺手

2021-12-06 07:49:43

愛奇藝裁員互聯(lián)網(wǎng)

2021-07-05 16:23:07

愛奇藝APP移動應用

2021-04-27 15:23:55

Windows10操作系統(tǒng)微軟
點贊
收藏

51CTO技術棧公眾號

亚洲色图视频网| 精品无人区卡一卡二卡三乱码免费卡| 亚洲精品一区二区精华| 欧美成人一区二区在线观看| 国内在线精品| 国内精品视频666| 久久久久久av| 日本美女xxx| 午夜久久av| 色八戒一区二区三区| 日本a级片在线观看| 欧美日韩国产综合视频| 国产盗摄一区二区三区| 日韩美女视频在线观看| 欧美爱爱小视频| 自拍偷拍一区| 精品美女被调教视频大全网站| 1024精品视频| 国产黄色在线免费观看| 久久免费视频色| 99视频日韩| 正在播放亚洲精品| 国产精品日本| 欧美日韩国产成人高清视频| 国产欧美小视频| 欧美福利在线播放网址导航| 777精品伊人久久久久大香线蕉| 91成人在线观看喷潮教学| 日本中文字幕在线播放| 91在线观看视频| 99国精产品一二二线| 国产91av在线播放| 99精品国产一区二区青青牛奶| 日韩色av导航| 欧美丰满老妇熟乱xxxxyyy| 都市激情亚洲欧美| 91精品国产综合久久久久久漫画| 日韩一级免费在线观看| 在线天堂新版最新版在线8| 亚洲综合久久av| 国产av第一区| 日本成a人片在线观看| 久久嫩草精品久久久精品一| 精品91免费| www.五月婷| 久久99精品久久久久久国产越南| 国产精品草莓在线免费观看| 黄色一级片免费在线观看| 欧美fxxxxxx另类| www亚洲欧美| 毛片视频免费播放| 国产欧美日韩视频在线| 亚洲男人第一网站| 三上悠亚ssⅰn939无码播放 | 无码任你躁久久久久久老妇| 久久在线观看| 884aa四虎影成人精品一区| 亚洲一级片网站| 国产国产一区| 欧美性猛片aaaaaaa做受| 九九视频精品在线观看| 在线观看网站免费入口在线观看国内 | 国产一区在线免费| 蜜桃在线一区二区| av午夜精品一区二区三区| 都市激情久久久久久久久久久| 99久久久久成人国产免费| 国内精品国产三级国产a久久| 91色中文字幕| 丰满人妻av一区二区三区| 国产 欧美在线| 国产一区精品在线| 免费黄网站在线观看| 国产偷v国产偷v亚洲高清| 亚洲精品美女久久7777777| 麻豆传媒在线完整视频| 亚洲精品你懂的| 久久亚洲国产成人精品无码区| 午夜影院在线观看国产主播| 在线观看免费成人| 天堂中文av在线| 97人人澡人人爽91综合色| 日韩电影大片中文字幕| 久久成人激情视频| 亚洲91中文字幕无线码三区| 欧美高清不卡在线| 在线观看日韩中文字幕| 美女爽到高潮91| 成人黄动漫网站免费| 免费黄网站在线观看| 亚洲婷婷在线视频| 国产69精品久久久久999小说| 亚洲伦理影院| 精品国产一区二区国模嫣然| www.中文字幕av | 日韩黄色片在线| 草草在线视频| 欧美日本国产视频| 美女搡bbb又爽又猛又黄www| 国产欧美一区二区三区精品观看 | 在线免费看视频| 午夜日韩在线| 国产成人精品在线播放| 国产美女永久免费| 91视频免费看| 亚洲免费视频播放| 日韩大尺度黄色| 日韩欧美不卡一区| 手机看片国产日韩| 亚洲精品麻豆| 成人黄色短视频在线观看| 日本免费网站在线观看| ㊣最新国产の精品bt伙计久久| 可以看毛片的网址| 亚洲欧美在线人成swag| 日韩福利在线播放| 九九视频在线免费观看| 蜜乳av一区二区| 国产乱码精品一区二区三区卡| 永久免费av在线| 黑人巨大精品欧美一区免费视频| 日韩av在线中文| 免费一区二区三区视频导航| 久久久久久久久久久国产| 亚洲午夜精品久久久| 91色在线porny| 男人插女人视频在线观看| 99久久久国产| 最好看的2019的中文字幕视频| 黄网在线观看视频| 成人免费高清视频| 99久久99久久精品| 9999精品视频| 色爱av美腿丝袜综合粉嫩av| 国产寡妇亲子伦一区二区三区四区| 国产iv一区二区三区| 91成人在线视频观看| 国产日本久久| 中文一区二区视频| 18国产免费视频| 国产日韩欧美在线一区| 无码人妻精品一区二区三区在线| 丁香婷婷成人| 久久久久久久久久婷婷| 精品久久久久久亚洲综合网站 | 成人免费av网站| 亚洲国产一二三精品无码| 91成人app| 欧美xxxx做受欧美.88| 国产精品无码免费播放| 国产精品初高中害羞小美女文| 成人羞羞国产免费网站| 国产一区不卡| 国产精品xxx视频| 黄色大片在线看| 欧美性xxxxxx少妇| 亚洲一级片在线播放| 美女视频一区二区三区| 宅男av一区二区三区| 日韩五码电影| 免费99精品国产自在在线| 国产国语亲子伦亲子| 亚洲精品国产无天堂网2021 | 久久黄色片视频| 欧洲精品一区| 国产激情久久久| 在线观看二区| 欧美一区午夜视频在线观看| 卡通动漫亚洲综合| 国产mv日韩mv欧美| 777久久久精品一区二区三区| 欧美极品在线观看| 国产精品视频专区| av激情在线| 日韩成人激情在线| 欧美特级黄色片| 亚洲视频一区二区免费在线观看| 人妻体体内射精一区二区| 在线播放精品| 视频一区视频二区视频三区视频四区国产 | 午夜视频一区二区| 在线小视频你懂的| 激情欧美一区二区| 欧美 日韩 国产在线观看| 视频一区中文| 亚洲最大的成人网| 麻豆免费在线| 色偷偷综合社区| 丁香六月色婷婷| 日本精品视频一区二区| 成人涩涩小片视频日本| www.性欧美| 日本中文字幕精品—区二区| 欧美婷婷在线| 亚洲砖区区免费| 麻豆精品99| 国产日韩精品电影| av今日在线| 精品国内亚洲在观看18黄| 少妇一级淫片免费看| 欧美午夜精品久久久| 精品少妇久久久| 国产精品久久久久影院老司| 欧美熟妇精品一区二区蜜桃视频| 奇米影视在线99精品| av在线播放亚洲| 日韩国产欧美一区二区| 久久草.com| 视频成人永久免费视频| 国产精品日本精品| 国产va在线视频| 九九综合九九综合| 在线观看美女网站大全免费| 日韩电影中文字幕| www.黄色片| 欧美色视频在线| chinese国产精品| 亚洲国产日韩精品| 久久免费看少妇高潮v片特黄| 久久亚洲综合av| 四虎永久免费观看| 国产在线播精品第三| 欧美一级裸体视频| 国产日韩高清一区二区三区在线| 91麻豆天美传媒在线| 色综合狠狠操| 日韩免费电影一区二区三区| 久久悠悠精品综合网| 亚洲一区中文字幕| 99综合久久| 国产欧美日韩综合精品| 亚洲精品在线影院| 国产精品igao视频| 成人影院av| 欧美一区二区影院| 美女的胸无遮挡在线观看| 欧美激情久久久久久| 中文字幕中文字幕在线十八区| 色多多国产成人永久免费网站 | 美女黄色丝袜一区| 日韩免费啪啪| 久久九九精品99国产精品| www.中文字幕久久久| 亚洲欧美激情另类校园| 亚洲欧美综合在线观看| 日韩大片在线观看视频| 亚洲色图欧美视频| 精品欧美久久久| 欧美一级片免费| 亚洲精品国精品久久99热| 人妻91麻豆一区二区三区| 精品国产一区二区三区不卡| 高潮毛片7777777毛片| 亚洲大胆人体在线| 少妇荡乳情欲办公室456视频| 亚洲国产精品人人爽夜夜爽| 亚洲欧美丝袜中文综合| 亚洲天堂av女优| 中文字幕日本在线观看| 久久精品成人欧美大片古装| 二区在线播放| 欧美精品久久久久久久| 爱草tv视频在线观看992| 久久欧美在线电影| 在线免费av资源| 国产精品热视频| 久久国产精品美女| 国产高清自拍一区| 偷拍一区二区| 亚洲欧洲日夜超级视频| 一区二区三区四区日韩| 欧美亚洲色图视频| 性8sex亚洲区入口| 色婷婷综合网站| 国产精品一区二区在线看| 国产在线不卡av| 久久精品视频网| 国产精品免费人成网站酒店| 亚洲愉拍自拍另类高清精品| 久久黄色精品视频| 欧美日韩久久久久久| www.国产免费| 亚洲区中文字幕| 国产在线观看91| 97久久精品国产| 97成人超碰| 国产伦理久久久| 成人一区而且| 无码熟妇人妻av在线电影| 久久久久国产精品一区二区| 亚洲精品在线网址| 91麻豆123| 玖玖爱这里只有精品| 欧美网站在线观看| 国产免费不卡av| 亚洲欧美日韩中文在线制服| 国产乱色在线观看| 全亚洲最色的网站在线观看| 成人网av.com/| 欧美日韩成人一区二区三区| 久久久久久久久国产一区| 日韩少妇内射免费播放18禁裸乳| 国内精品久久久久影院色| 毛茸茸多毛bbb毛多视频| 亚洲特黄一级片| 无码人妻aⅴ一区二区三区有奶水| 欧美成人精品1314www| 在线看的av网站| 51色欧美片视频在线观看| 国产一区二区久久久久| 日产中文字幕在线精品一区 | 青青在线免费观看视频| 丁香婷婷综合网| 欧美色图17p| 欧美视频中文在线看| www日本高清| 日韩视频永久免费观看| 永久免费毛片在线播放| 国产精品精品软件视频| 亚洲天堂一区二区三区四区| 亚洲成人福利在线观看| av动漫一区二区| 久久久久久国产精品视频| 欧美日韩另类国产亚洲欧美一级| 青青操视频在线| 91精品国产乱码久久久久久蜜臀 | 精品99999| caoporn免费在线视频| 国产欧美一区二区三区在线看| 亚洲欧洲美洲国产香蕉| 一二三四视频社区在线| 国产91丝袜在线18| 久草视频手机在线观看| 9191精品国产综合久久久久久| 成人动漫在线免费观看| 日本欧美国产在线| 久久99国内| 北条麻妃av高潮尖叫在线观看| 26uuu亚洲| 久久一区二区三区视频| 日韩电影中文字幕在线观看| 手机在线观看av| 久久精品国产精品国产精品污 | 日韩综合在线| 在线观看亚洲色图| 国产精品天干天干在观线| 伊人久久中文字幕| 国产一区二区三区欧美| 97精品国产综合久久久动漫日韩 | 91在线观看免费高清完整版在线观看 | 欧产日产国产v| 日韩一级成人av| 日韩精品分区| 国产三区二区一区久久| 亚洲高清电影| 亚洲制服丝袜在线播放| 黑人巨大精品欧美一区二区| 国产最新视频在线观看| 国产精品久久999| 天天做天天爱天天综合网2021| 久久久福利影院| 一区二区久久久| 天天操天天干天天爱| 7m第一福利500精品视频| 亚洲人成亚洲精品| 中文字幕天天干| 中文字幕在线观看一区二区| a级片免费观看| 91国产美女在线观看| 精品免费视频| 亚洲免费成人在线视频| 亚洲一区二区三区四区五区中文 | 国产精品3区| 黄色成人在线免费观看| 99精品视频一区二区三区| 日本丰满少妇做爰爽爽| 久久久久www| 美女主播精品视频一二三四| 久久精品视频91| 亚洲乱码日产精品bd| 熟妇人妻一区二区三区四区 | www国产精品com| 一区中文字幕电影| 国产免费成人在线| 亚洲欧美偷拍卡通变态| 四虎在线免费观看| 国产主播喷水一区二区| 激情欧美亚洲| 超碰97av在线| 亚洲精品mp4| 外国成人毛片| 免费国产黄色网址| 国产精品免费观看视频| 欧美自拍第一页| 成人高清视频观看www| 亚洲日产国产精品| 国产一区在线观看免费| 日韩不卡在线观看| 国产精区一区二区| 人妻无码视频一区二区三区|