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

vivo 企業云盤服務端實現簡介

存儲
本文將介紹企業云盤的基本功能以及服務端實現。

一、背景

vivo 企業云盤是一個企業級文件數據管理服務,解決辦公數據的存儲、共享、審計等文件管理需求;同時便于團隊成員快速共享、管理文件,幫助集中管理企業數字資產,提升辦公效率,實現內部數據資源的共享以及與外部客戶之間的文件安全交換。

二、功能介紹

目前 vivo 企業云盤有 3 個空間:個人空間,團隊空間和備份空間。

2.1 個人空間

個人空間用于存儲用戶個人的文件數據,其他用戶不可見;容量默認為 100GB。個人空間支持文件的分享、下載、移動、重命名、星標、機房下載和刪除操作,如下圖所示:

圖片

圖片

圖片


2.2 團隊空間

團隊空間用于多人協作,團隊中可容納多名成員,每個成員都可以向團隊空間中上傳文件并與其他人共享這些文件,也可以下載其他人上傳到該團隊空間的文件;團隊空間沒有容量限制。

用戶可以在如下位置創建團隊空間:

圖片

團隊空間的創建者默認為該空間的管理員,管理員可以在左邊菜單欄中的團隊空間下看到“團隊設置”和“成員管理”,在“團隊設置”頁可以修改該團隊空間的名稱和團隊描述信息:

圖片

在“成員管理”頁可以添加成員并修改已有成員的權限:

圖片

2.3 合作伙伴

團隊空間中除了內部員工還可以加入外部合作伙伴,管理員可在如下頁面申請合作伙伴賬號:

圖片

點擊“新增”后在彈出的“申請外部用戶賬號”頁填寫合作伙伴相關信息即可提交直接上級領導審批,審批通過后會在該團隊空間中生成一個合作伙伴賬號,賬號及初始密碼會以郵件形式發送到合作伙伴郵箱,合作伙伴登錄后即可上傳文件或下載分享給他的文件。

出于數據安全的考慮,合作伙伴無法看到團隊空間中內部員工上傳的文件,只能看到自己上傳的文件以及分享給他的文件。

管理員可以在”成員管理“頁禁用合作伙伴賬號:

圖片

2.4 備份空間

備份空間用于備份用戶本地電腦上的文件。目前企業云盤網頁端只能查看已有的備份策略,新建備份策略需要在企業云盤客戶端進行;用戶可以在企業云盤網頁端右上角的“客戶端下載”下載企業云盤客戶端:

圖片

在客戶端的“備份同步”頁點擊“新增備份”,然后在彈出的對話框中選擇想要備份的本地文件夾即可創建備份記錄:

圖片

企業云盤客戶端將按用戶設置的頻率將指定文件夾下的文件上傳到對象存儲以實現文件備份;對于實時備份,企業云盤客戶端會每 3 分鐘掃描一次本地文件夾,并與遠程的文件進行對比,將新增的文件上傳到對象存儲。

三、功能實現

企業云盤的存儲分為元數據和對象存儲兩部分,元數據存儲使用的是 MySQL,保存的是用戶,群組以及文件等實體的元數據,文件的實際數據是以對象的形式保存在對象存儲中。企業云盤架構如下:

圖片

下面介紹一下各個功能是如何實現的:

3.1 用戶認證鑒權

企業云盤在用戶的身份驗證中使用了非對稱加密,前端持有一個公鑰,后端持有一個私鑰,用戶登錄時,前端首先獲取瀏覽器指紋 webFinger,同時生成一個隨機數種子 seed,然后用公鑰計算出一個特征字符串 RSA(webFinger+seed),然后將此字符串放入請求 header 中的 finger 字段,傳遞給服務端;另外企業云盤接入了 uuc 單點登錄系統,uuc 登錄成功后會在請求的 cookie 字段中放置 uuc-token 和 uuc-uuid,這兩個值也會傳給后端。

服務端收到登錄請求后,先使用 cookie 中的 uuc-token 以及 uuc-uuid 調用 uuc 接口查詢得到用戶 uid, 然后嘗試從 user 表中查詢用戶信息,如果查詢不到那么說明用戶是第一次登錄企業云盤,那么服務端會從 uuc 獲取用戶信息并存儲在 user 表中;然后服務端利用私鑰解密登錄請求中的特征字符串,得到 webFinger,再根據 webFinger + 當前時間 + uid 進行 AES 加密得到一個字符串 clouddisk-token,并將 clouddisk-token 放置在 cookie 中,返回給客戶端。在發送后續請求時,客戶端需要將 clouddisk-token 保持在 cookie 中。

在后續請求中,客戶端以同樣的方式生成 finger,并且在請求中攜帶 clouddisk-token;服務端接收到請求后,將 clouddisk-token 進行AES解密,獲取 uid + 時間 + webFinger,同時服務端根據自身持有的私鑰,對 header 中的 finger 解密,獲取此 finger 對應的 webFinger,與解密 token 得到的 webFinger 對比,如果相等,則驗證通過。以上過程如下圖所示:

圖片


圖片

團隊空間的數據保存在 groups 表中,該表會記錄團隊名稱、創建人等信息;用戶與團隊空間的歸屬關系保存在 group_usrs 表中,該表會記錄每個團隊空間有哪些用戶,以及這些用戶在團隊空間中的權限。

在個人空間中用戶對文件有最高權限,可以任意操作;當用戶操作的文件屬于某個團隊空間時前端會在請求中攜帶 group_id,服務端會根據 group_id 查詢 group_usrs 表,從而獲取該用戶在該團隊空間中的權限,進而判斷用戶是否有權限執行相應操作。

3.2 文件上傳

用戶可以通過點擊頁面的上傳按鈕然后選擇本地文件或拖拽文件/文件夾到企業云盤頁面的方式上傳文件,除此之外開啟備份策略時也會調用上傳接口;用戶發起上傳后,前端會判斷文件大小,如果在 10MB 以內則直接上傳,否則,對于備份的文件將文件按 10MB 大小分片進行分片上傳,其他文件按 5MB 進行分片上傳。

所有文件的元數據都保存在 files 表中,該表會記錄文件名、文件路徑、文件所在空間、文件數據在對象存儲中的 key、文件所屬用戶等信息;所有文件夾的元數據都保存在 folder 表中,該表會記錄文件夾的名稱、路徑、文件夾所在空間、文件夾所屬用戶等信息。

3.2.1 小文件上傳

小文件上傳的邏輯如下:

  1. 查數據庫獲取用戶及其所在空間的空間信息;
  2. 空間用量校驗;
  3. 查找文件夾,如果文件夾不存在則新建文件夾;
  4. 查找文件,構造新 files 記錄:如果文件不存在,則使用原始文件名;如果文件已存在,則在文件名后面拼接序號以區別于原文件;
  5. 上傳文件數據到對象存儲;
  6. 生成隨機字符串作為 file_mark,將第 4 步中的 files 記錄插入 files 表。

3.2.2 大文件上傳

大文件指采用分片方式上傳的文件,文件分片的信息保存在 multi 表中,multi 表會記錄分片對應的文件、上傳者、分片總數、當前分片編號、upload id 等信息。

大文件分片上傳分 3 個步驟:

start 階段

  1. 查數據庫獲取用戶及所在空間信息,認證鑒權;
  2. 判斷文件是否已經存在;
  3. 查找文件夾,如果文件夾不存在則新建文件夾;
  4. 查找文件,構造新 files 記錄:如果文件不存在,則使用原始文件名;如果文件已存在,則在文件名后面拼接序號以區別于原文件;
  5. 從對象存儲獲取用于分片上傳的 upload id;
  6. 生成隨機字符串作為 file_mark,將第 4 步中的 files 記錄插入 files 表;
  7. 將分片記錄插入 multi 表;
  8. 將 upload id 返回給客戶端,用于后續關聯分片;將 file_mark 返回給客戶端,用于后續關聯文件。

upload 階段

  1. 查數據庫獲取用戶及所在空間信息,認證鑒權;
  2. 通過 file_mark 獲取文件信息;
  3. 通過 upload id 獲取文件的分片信息;
  4. 為當前分片生成 multi 表記錄;
  5. 將當前分片數據上傳到對象存儲;
  6. 將第 4 步中的 multi 記錄插入 files 表。

complete 階段

  1. 查數據庫獲取用戶及所在空間信息,認證鑒權;
  2. 通過 file_mark 獲取文件信息;
  3. 通過 upload id 獲取文件的分片信息;
  4. 通知對象存儲進行分片合并操作;
  5. 刪除該文件所有分片記錄;
  6. 更新目錄用量及文件狀態。

3.2.3 元數據與對象的對應

以下是使用對象存儲 SDK 從對象存儲獲取對象的示例代碼:

params := &s3.GetObjectInput{
    Bucket: aws.String("BucketName"), // bucket名稱
    Key: aws.String("ObjectKey"),     // object key
}
 
resp, err := client.GetObject(params)
if err != nil{
    panic(err)
}
 
//讀取返回結果中body的前20個字節
b := make([]byte, 20)
n, err := resp.Body.Read(b)
fmt.Printf("%-20s %-2v %v\n", b[:n], n, err)

左右滑動查看完整代碼

可以看到為了從對象存儲獲取對象只需要提供一個桶名(bucket name)和鍵名(object key)即可。桶名信息在配置文件中,服務端啟動后即會加載到內存中;object key 是通過 “用戶工號 + 路徑 + 時間戳 + _ + 文件名” 格式拼接成的字符串。

例如:

用戶 11*****9 在 2023-12-19 14:15:40 將文件 test.txt 上傳到個人空間中 /a/b/c/ 目錄下,那么這個文件對應的 object key 就是 

11*****9/a/b/c/2023-12-19T14:15:40+08:00_test.txt;

如果這個字符串長度小于 128 字節那么就用這個字符串作為文件的 object key。如果拼接后的字符串長度大于 128 字節,那么服務端會先計算文件路徑的 md5 值,記為 md5(path),然后拼接字符串:用戶工號 + / + md5(path) + 時間戳 + _ + 文件名,該 object key 生成之后會存入 files 表的 path 字段。

3.2.4 外鏈上傳

企業云盤還支持通過外鏈將文件從 Linux 機器上傳到企業云盤。使用外鏈上傳需要先申請權限,申請通過后企業云盤頁面可以看到”機房上傳“按鈕:

圖片

點擊該按鈕會將命令行復制到剪切板,命令行格式如下:

file="在此輸入文件名稱!";curl -s -X PUT "http://******/clouddisk-prd/******?Expires=******&AWSAccessKeyId=******&Signature=******" -H "x-amz-acl: public-read" -H "x-amz-content-maxlength: 200000000000000000" -H "Content-Type: application/octet-stream" --data-binary "@$file";curl -s -X POST "pan-idc.vivo.xyz/api/file/sync" -H "clouddisk-token: ******"  -H "finger: ******" -H "Content-Type: application/json" -H "path: ******" -H "hashname: ******" -H "filename: $file"

左右滑動查看完整代碼

將 “在此輸入文件名稱!” 部分修改為要上傳的文件名然后執行命令行即可上傳文件。

該功能實現原理如下:

  1. 查數據庫獲取用戶及所在空間信息,認證鑒權;
  2. 判斷文件夾是否存在,不存在則返回錯誤;
  3. 生成外鏈。用戶點擊機房上傳時服務端會為文件構造 object key,首先拼接字符串:clouddisk_ + 用戶工號 + _ + 當前時間時間戳,然后計算該字符串的 SHA1 哈希值,記為 SHA(ut),然后拼接字符串 ”用戶工號 + 文件路徑 + / + SHA(ut)“ 作為將上傳的文件的 object key;然后用這個 object key 調用對象存儲 sdk 生成預簽名 URL 用于上傳,這個預簽名 URL 就是外鏈中第一個 curl 命令行請求的 URL。第二個 curl 用于調用企業云盤服務端接口將文件元數據寫入 MySQL,包括將 object key 寫入 files 表的 path 字段。

可以看到在用戶使用外鏈上傳文件時,時間戳起到了關聯文件數據與文件元數據的作用,因此用戶每次上傳都必須重新拷貝鏈接,而不能復用之前的鏈接,否則會導致已上傳的文件被覆蓋。

3.3 文件下載

用戶在企業云盤界面選中文件即可下載文件,流程如下:

  1. 查數據庫獲取用戶及所在空間信息,認證鑒權
  2. 判斷文件是否存在
  3. 用文件的元數據中的 path 作為 object key 調用對象 SDK 獲取文件的預簽名 URL
  4. 將預簽名 URL 返回給前端,前端根據鏈接下載文件

另外用戶也可以通過機房鏈接將文件下載到 Linux 的機器上:

圖片

或者獲取辦公網鏈接,該鏈接可以在辦公網下載文件;這兩個鏈接的獲取也是調用的下載文件的接口,只是為了方便在 Linux 系統上下載文件而在前面拼接了 wget。

四、總結

本文簡單介紹了 vivo 企業云盤的基本功能,并介紹了這些功能在服務端具體的實現原理,其中重點介紹了認證鑒權和文件的上傳下載。希望讀者閱讀后對 vivo 企業云盤能有更深入的了解,也希望本文能在應用的認證鑒權及文件的上傳下載邏輯方面對讀者有所啟發。

責任編輯:龐桂玉 來源: vivo互聯網技術
相關推薦

2022-12-29 08:56:30

監控服務平臺

2022-02-18 11:13:53

監控架構系統

2024-05-27 00:00:00

PHP阿里云OSS

2023-02-07 09:43:48

監控系統

2021-04-16 08:54:03

CMS系統redisnode服務器

2010-02-24 15:42:03

WCF服務端安全

2016-03-18 09:04:42

swift服務端

2009-08-21 15:36:41

服務端與客戶端

2009-08-21 15:54:40

服務端與客戶端

2010-05-28 10:10:49

2012-03-02 10:38:33

MySQL

2017-10-13 15:20:14

華為華為云

2013-03-25 10:08:44

PHPWeb

2024-07-19 09:01:07

2010-08-03 09:59:30

NFS服務

2016-11-03 09:59:38

kotlinjavaspring

2015-07-31 16:33:32

聯想

2021-05-25 08:20:37

編程技能開發

2015-07-31 16:14:24

聯想

2021-10-19 08:58:48

Java 語言 Java 基礎
點贊
收藏

51CTO技術棧公眾號

日韩在线观看一区| 日韩资源在线| 亚洲字幕久久| 亚洲成**性毛茸茸| 999精品网站| 最新av在线播放| 粉嫩一区二区三区四区公司1| 亚洲高清一区二区三区| 久久精品二区| 久久精品无码人妻| 欧美一级本道电影免费专区| 欧美日韩一区二区三区高清| 男人c女人视频| 超碰免费在线| 久久综合色综合88| 亚洲xxxxx| 天天射天天干天天| 极品中文字幕一区| 久久精品国产综合| 亚欧洲乱码视频| 台湾佬成人网| 久久精品观看| 久久久久久69| 日本不卡一区| 国产又黄又粗又硬| 亚洲免费影视| 久久免费视频在线| 三级黄色在线观看| 精品日韩欧美一区| 日韩理论片久久| 亚洲人一区二区| 天天综合网在线观看| 美女视频黄频大全不卡视频在线播放| 国自产精品手机在线观看视频| 成人午夜激情在线| 亚洲天堂av女优| 69xxx免费视频| 国产区一区二| 91麻豆精品国产自产在线观看一区| 激情小说综合网| www视频在线| 国产一区二区三区四区五区入口| 国产精品视频导航| 国产乡下妇女三片| 日本美女一区二区三区| 国产成人av在线播放| 色屁屁影院www国产高清麻豆| 亚洲国产综合在线看不卡| 久久99精品久久久久久青青91 | 老司机成人影院| 偷拍一区二区三区四区| av网站大全免费| 国产蜜臀一区二区打屁股调教| 亚洲免费伊人电影| 日本不卡一区二区三区四区| 成人av免费| 一区二区三区在线观看动漫| 妞干网这里只有精品| 综合久久2019| 亚洲国产视频直播| aa在线观看视频| 唐人社导航福利精品| 欧美午夜精品在线| 亚洲精品国产一区| jyzzz在线观看视频| 中文字幕在线不卡视频| 激情五月五月婷婷| 国产偷倩在线播放| 亚洲成人动漫精品| 日韩在线xxx| 美女视频一区| 日韩免费高清av| 午夜久久久久久久| 欧美自拍偷拍| 欧美精品在线免费观看| 国产成人愉拍精品久久| 日韩av中文字幕一区二区| 国产成人精品最新| 国产精品嫩草影院桃色| 成人avav在线| 5566av亚洲| 丰满熟妇人妻中文字幕| av电影在线观看不卡| 欧美一区观看| 成人在线视频亚洲| 欧美色视频日本版| 亚洲精品性视频| 精品亚洲自拍| 日韩中文av在线| 国产一级做a爰片在线看免费| 午夜在线a亚洲v天堂网2018| 91精品久久久久久久久青青| 日韩中文字幕影院| 欧美韩国日本不卡| www.日本在线视频| 国精产品一区一区三区四川| 欧美一级久久久久久久大片| 污污网站免费看| 日韩一区网站| 在线播放亚洲激情| 国产精选第一页| 蜜桃在线一区二区三区| 国产一区二区久久久| 乱人伦中文视频在线| 欧美日韩国产精品一区二区三区四区 | 亚洲天堂视频在线| 丝袜亚洲另类欧美| 5g国产欧美日韩视频| 国产福利第一视频在线播放| 一区二区三区国产| 一区二区xxx| 日韩美脚连裤袜丝袜在线| 久久影院中文字幕| 无码视频在线观看| www.99精品| 欧洲xxxxx| a屁视频一区二区三区四区| 精品va天堂亚洲国产| 婷婷社区五月天| 蜜桃av一区| 精品久久久久亚洲| 天使と恶魔の榨精在线播放| 欧美人与性动xxxx| 日本人亚洲人jjzzjjz| 日韩国产欧美一区二区| 91精品国产91久久久久久吃药 | 国产一区二区成人久久免费影院 | h网站在线免费观看| 欧美日韩国产色| 中文字幕在线国产| 综合久久一区| 91九色视频导航| 亚洲成人三级| 欧美日韩五月天| 美国美女黄色片| 青青久久aⅴ北条麻妃| av在线播放网址| 久久久久电影| 国产福利成人在线| 国产911在线观看| 24小时免费看片在线观看| 欧美一区二区视频在线观看2022| 欧美一区二区美女| 人妻久久久一区二区三区| 91欧美极品| 隔壁老王国产在线精品| 亚洲高清精品视频| 亚洲一区二区三区自拍| 久久久久久久久久毛片| 久久久久久免费视频| 成人性教育视频在线观看| 麻豆免费在线视频| 日韩色在线观看| 五月天丁香激情| 国产福利一区在线| 日本黄色片一级片| 你懂的在线观看一区二区| 午夜精品在线观看| 日本福利片高清在线观看| 一道本成人在线| 国产123在线| 久久er精品视频| 国产手机视频在线观看| 国产精品一区三区在线观看| 欧美黑人巨大xxx极品| 日本一级特级毛片视频| 久热成人在线视频| 老司机激情视频| 一区二区三区欧洲区| 97成人在线视频| av在线电影网| 日韩一级二级三级精品视频| 国产一级视频在线播放| 国产亚洲精品资源在线26u| 九色porny自拍| 欧美激情视频一区二区三区免费| 日本伊人精品一区二区三区介绍 | 噜噜爱69成人精品| 五月天亚洲综合| 久久综合偷偷噜噜噜色| 91国产视频在线| 男人资源在线播放| 亚洲第一区在线| 探花国产精品一区二区| 亚洲乱码国产乱码精品精98午夜| 亚洲观看黄色网| 蜜臀av性久久久久蜜臀aⅴ| 黄色一区二区在线| 日韩毛片在线免费看| 午夜片欧美伦| 久久久久久九九九九| 日韩黄色三级在线观看| 国内精品久久影院| 日韩免费啪啪| 日韩精品欧美激情| 国产偷拍一区二区| 色屁屁一区二区| 免费无码毛片一区二区app| 久久精品一区二区| 中文字幕在线国产| 韩国毛片一区二区三区| 手机看片福利永久国产日韩| 成人亚洲精品| 国产成人91久久精品| free性欧美| 久久这里有精品视频| 男女视频在线观看免费| 欧美大片一区二区| 91丨porny丨在线中文| 欧美视频在线观看免费| 国产亚洲精品码| 中文字幕人成不卡一区| 青青草视频成人| 国产.精品.日韩.另类.中文.在线.播放| 91视频 -- 69xx| 亚洲一级网站| 7777在线视频| 久久精品国产大片免费观看| 欧美不卡三区| 欧美激情影院| 国产视频一区二区不卡| 色妞ww精品视频7777| 成人女保姆的销魂服务| 国产在线|日韩| 国产91色在线| 一区一区三区| 性欧美亚洲xxxx乳在线观看| 日本h片在线| 九九九久久国产免费| 国产网友自拍视频导航网站在线观看 | 26uuu另类亚洲欧美日本一| 特黄视频在线观看| 日韩视频国产视频| 精品人妻一区二区三区日产乱码 | 国产91色在线|免| www.成人爱| 日本欧美黄网站| 中文字幕乱码中文乱码51精品| 性日韩欧美在线视频| jizzjizz中国精品麻豆| 欧美激情一级欧美精品| 欧美videos另类精品| 欧美高清在线观看| 欧美性video| 午夜精品久久久久久99热| 国产99re66在线视频| 韩剧1988免费观看全集| 看黄在线观看| 久久精品一区二区三区四区| 国产二区不卡| 亚洲天堂中文字幕在线观看| 91精品国产一区二区三区动漫| av在线成人| 亚洲成人免费影院| 丰满少妇一区二区三区| 97久久久精品综合88久久| 欧美一区二区免费在线观看| 99麻豆久久久国产精品免费优播| 国产在线不卡av| 阿v天堂2014| 日本精品三区| 一本一本a久久| 久久精品影视| 18黄暴禁片在线观看| 黑丝一区二区三区| 日本十八禁视频无遮挡| 欧美日韩国产综合一区二区| 日韩黄色在线视频| 欧美日韩免费在线观看| 日本中文字幕第一页| 在线观看中文字幕不卡| 有码中文亚洲精品| 97精品人妻一区二区三区在线| 欧美片网站yy| 精品国产无码AV| 亚洲精品第一国产综合精品| 女人偷人在线视频| 爽爽爽爽爽爽爽成人免费观看| 欧美在线观看网址综合| 国产欧美黑人| 久久久久久久久久久免费精品 | 欧美精品亚州精品| 51漫画成人app入口| 日韩女优人人人人射在线视频| 亚洲热av色在线播放| 粉嫩av免费一区二区三区| 免费电影一区二区三区| 伊人久久婷婷色综合98网| 在线日韩电影| 香港日本韩国三级网站| 粉嫩蜜臀av国产精品网站| 国产男女猛烈无遮挡a片漫画 | 国产成人亚洲精品狼色在线 | 国产精品jizz在线观看麻豆| 国内精品久久久久久野外| 国外视频精品毛片| 91成人在线| 国内一区在线| 亚洲色图二区| 三级在线免费看| 不卡一区二区三区四区| 91n在线视频| 色激情天天射综合网| www.xxx国产| 日韩在线一区二区三区免费视频| 888av在线视频| 亚洲一区二区三区久久| 精品久久久久久久久久久下田| 欧美日韩不卡在线视频| 日韩精品一区二区三区中文在线 | blacked蜜桃精品一区| 久久久久久人妻一区二区三区| 久久精品av麻豆的观看方式| 日韩人妻无码一区二区三区| 亚洲一区二区三区视频在线 | 欧美少妇一级片| 日韩精品欧美成人高清一区二区| 麻豆精品国产传媒av| 亚洲男女毛片无遮挡| 这里只有精品999| 亚洲精品综合久久中文字幕| 高清电影在线免费观看| 亚洲在线一区二区| 婷婷色综合网| 一道本在线免费视频| 久久久噜噜噜久噜久久综合| 成人精品在线看| 亚洲成人精品视频在线观看| 手机av免费在线| 91热福利电影| 久久久9色精品国产一区二区三区| 中国黄色片免费看| 国产蜜臀av在线一区二区三区| 欧美一二三区视频| 精品奇米国产一区二区三区| 污污的视频在线观看| 成人免费看吃奶视频网站| 日韩一区二区中文| www.天天射.com| 国产精品拍天天在线| 久久久久亚洲视频| 在线观看中文字幕亚洲| 国模视频一区| 亚洲精品乱码视频| 老司机午夜精品| 日本中文字幕免费在线观看| 欧美一区二区三区视频在线观看| 1区2区在线观看| 99se婷婷在线视频观看| 国产精品theporn| 精品一区二区三区四区五区六区| 亚洲一区二区精品3399| 国产在线一区二区三区| 91麻豆精品久久久久蜜臀| 国产精品无码在线播放| 色老头一区二区三区在线观看| 精品三级在线| 九九久久九九久久| 成人深夜福利app| 五月天激情国产综合婷婷婷| 亚洲日本中文字幕免费在线不卡| 日韩福利一区| www.午夜色| 高清国产一区二区| 在线观看亚洲天堂| 曰本色欧美视频在线| 成人噜噜噜噜| 国产精品一色哟哟| 91美女视频网站| 伊人久久国产精品| 成年无码av片在线| 久久婷婷国产| 丰满少妇在线观看| 亚洲精品视频免费看| 四虎在线视频| 成人国产在线激情| 亚洲无毛电影| 亚洲精品成人无码| 久久久精品影视| 亚洲一区精品在线观看| 欧美成人国产va精品日本一级| 好吊妞视频这里有精品| 97公开免费视频| 亚洲人亚洲人成电影网站色| 超碰超碰超碰超碰| 尤物九九久久国产精品的分类| 日韩中文字幕无砖| 天天影视综合色| 亚洲高清免费一级二级三级| 成人高清网站| 国产精品成人一区二区三区 | 欧美日韩成人在线视频| 日韩激情网站| 五月天丁香花婷婷| 欧美视频在线观看 亚洲欧| 黄色网址视频在线观看| 久久福利电影| 国产精品亚洲综合一区在线观看| 亚洲一二三四视频| 精品精品国产高清a毛片牛牛 |