精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

在线播放免费av| 国产孕妇孕交大片孕| 久久不见久久见国语| 欧洲精品一区二区| 亚洲黄色网址在线观看| 好男人www在线视频| 亚洲欧美日韩国产一区二区| 中文日韩电影网站| 日本天堂在线播放| 欧美日韩在线精品一区二区三区激情综合 | 日韩网站在线免费观看| 国产高清视频在线| 国产成人精品免费网站| 国产精品电影在线观看| 久久精品这里只有精品| 免费看成人哺乳视频网站| 欧美一级爆毛片| 尤蜜粉嫩av国产一区二区三区| 日本动漫同人动漫在线观看| 中文字幕欧美区| 国产在线观看一区| 国产情侣在线播放| 视频精品一区二区| 国模视频一区二区| 手机在线免费看片| 精品一区不卡| 日韩高清不卡av| 美女又黄又免费的视频| 成人在线视频观看| 色狠狠综合天天综合综合| 欧美精品卡一卡二| 麻豆网站视频在线观看| 久久久久久黄色| 精品无人区一区二区三区| 99久久精品国产一区二区成人| 日韩不卡一区二区| 97成人精品区在线播放| 久久久久久久极品内射| 国产韩日影视精品| 在线观看欧美www| www.色天使| 欧美电影在线观看免费| 精品日韩欧美一区二区| 无码人妻一区二区三区在线视频| 国精品产品一区| 欧美色倩网站大全免费| 亚洲成人av免费看| 亚洲日本在线观看视频| 91久久一区二区| 激情网站五月天| 亚洲美女炮图| 色综合中文字幕国产| 欧美极品欧美精品欧美图片| 性欧美又大又长又硬| 天天综合日日夜夜精品| av高清在线免费观看| free性欧美16hd| 精品日本美女福利在线观看| 久久久久久久久久久99| f2c人成在线观看免费视频| 亚洲国产一区在线观看| 国产免费黄色小视频| 国产一二三在线| 狠狠做深爱婷婷久久综合一区| 女人喷潮完整视频| 日韩精品三区| 欧美日韩欧美一区二区| 奇米777在线视频| 亚洲视频三区| 日韩精品在线视频美女| 中文字幕高清视频| 日本大胆欧美| 久久伊人色综合| 国产一级av毛片| 中文精品在线| 国产精品白嫩初高中害羞小美女 | 国产精品伊人日日| 青青草在线播放| 欧美韩国日本综合| 日本丰满少妇黄大片在线观看| 午夜在线激情影院| 黑人巨大精品欧美一区二区免费| 能看的毛片网站| 久久亚洲国产精品尤物| 精品国产91久久久久久久妲己 | 国产精品日韩无码| 丁香另类激情小说| 日本视频精品一区| 黄色av免费在线| 香港成人在线视频| 黄色永久免费网站| 国产成人澳门| 国产亚洲a∨片在线观看| 在线观看亚洲网站| 亚洲第一网站| 国产免费一区二区三区在线观看| 亚洲男女视频在线观看| 国产性天天综合网| 成人午夜视频免费观看| 在线亚洲人成| 日韩一级大片在线观看| 亚洲午夜久久久久久久久红桃| 激情五月色综合国产精品| 久久999免费视频| 黄色网址中文字幕| 成人精品国产福利| 亚洲视频电影| 蜜桃视频m3u8在线观看| 91精品啪在线观看国产60岁| v8888av| 欧美日韩成人| 国产精品入口夜色视频大尺度| 你懂的网站在线| 国产精品美女久久久久久久久| 九一国产精品视频| 亚洲国产欧美在线观看| 搡老女人一区二区三区视频tv | 欧美午夜在线一二页| 人妻 丝袜美腿 中文字幕| 成人一级毛片| 国产va免费精品高清在线| 午夜精品久久久久久久99老熟妇| 中文字幕精品一区二区三区精品| 很污的网站在线观看| 国产成人免费视频网站视频社区| 亚洲区在线播放| 国产无套在线观看| 国产精品一二三| 一区二区三区四区| 中文字幕系列一区| 亚洲日韩中文字幕在线播放| 国产性70yerg老太| 国产精品自拍av| 中文字幕不卡每日更新1区2区| 欧美va在线观看| 亚洲裸体xxxx| 国产精品黄色网| 成人激情午夜影院| 毛片在线视频观看| 免费观看亚洲视频大全| 久久中文字幕一区| 国产乱码精品一区二三区蜜臂 | 久久久91视频| 国产成人一区在线| 欧美日韩午夜爽爽| 国产精品成人**免费视频| 日韩在线观看免费高清| 在线播放亚洲精品| 国产精品麻豆一区二区| 在线观看国产中文字幕| 日韩精品欧美| 成人精品网站在线观看| 黄色av电影在线观看| 91.成人天堂一区| 中国毛片直接看| 国产一区二区91| 国产 欧美 日本| 国产精品欧美大片| 欧美野外猛男的大粗鳮| 六十路在线观看| 在线观看亚洲a| 成年人网站在线观看视频| 国产尤物一区二区| 久久www视频| 999久久精品| 97在线视频免费看| 男人的天堂在线视频| 欧美色图天堂网| 日韩av手机在线免费观看| 国产乱码精品一区二区三区五月婷| 久久天天东北熟女毛茸茸| 超碰97久久国产精品牛牛| 97福利一区二区| 第一页在线观看| 911精品国产一区二区在线| 久久久久久久久久99| 91麻豆福利精品推荐| 一区二区三区视频在线观看免费| 香蕉精品视频在线观看| 国产精品白丝jk白祙| 厕沟全景美女厕沟精品| 色琪琪综合男人的天堂aⅴ视频| 一级特黄aa大片| 亚洲第一激情av| 成人国产精品久久久网站| 久久99国产精品久久99| 日韩五码在线观看| 欧美一区电影| 成人欧美一区二区三区视频xxx | 国产精品久久色| 亚洲精品白浆| 亚洲欧美一区二区精品久久久| 中文字幕人妻丝袜乱一区三区| 一区二区三区av电影| 久久精品国产亚洲AV熟女| 激情综合亚洲精品| 777久久久精品一区二区三区 | 成人免费看片视频在线观看| 成人av综合网| 国产精品视频网站| brazzers在线观看| 日韩视频欧美视频| 天堂在线观看av| 3d动漫精品啪啪1区2区免费| 日韩久久中文字幕| 亚洲欧美国产高清| 色一情一交一乱一区二区三区| 国产精品一级片在线观看| 久久精品午夜福利| 亚洲小说欧美另类社区| 亚洲精品中文字幕在线 | 一区二区不卡在线| 日韩有码中文字幕在线| 7777精品伊久久久大香线蕉语言 | 国产在线不卡| 在线观看成人av电影| 亚洲老女人视频免费| 99热国产免费| 精品国产麻豆| 国产精品一区二区三区毛片淫片| 色一区二区三区| 欧美极品美女视频网站在线观看免费| 日本在线看片免费人成视1000| 日韩精品中文字| 手机看片一区二区| 欧美电影精品一区二区| 国产精品羞羞答答在线| 欧美性受xxxx黑人xyx| 中文字幕第四页| 亚洲1区2区3区视频| 麻豆国产尤物av尤物在线观看| 国产精品欧美久久久久无广告| 黄色在线观看av| av福利精品导航| 精品国产免费久久久久久婷婷| 精品亚洲成a人在线观看| 亚洲欧洲日本精品| 蜜桃视频一区二区三区在线观看| 欧洲av无码放荡人妇网站| 99亚洲一区二区| 亚洲国产精品无码av| 亚洲五月婷婷| 日韩视频免费播放| 伊人天天综合| 久久久久久久久久久99| 一本综合久久| 国产精品一区二区免费在线观看| 精品电影一区| 激情五月宗合网| 亚洲欧美高清| av动漫免费看| 日韩av网站在线观看| wwwwww.色| 美女在线一区二区| 性生活免费在线观看| 老司机精品视频一区二区三区| 在线看的黄色网址| 久久爱另类一区二区小说| 天天操天天干天天做| 国产一区二区电影| 成熟妇人a片免费看网站| 99精品国产热久久91蜜凸| 搡老熟女老女人一区二区| 久久午夜国产精品| 中文字幕伦理片| 中文字幕欧美一| 特级片在线观看| 午夜精品久久久久久久久久| www毛片com| 制服丝袜中文字幕一区| 精品人妻少妇嫩草av无码专区| 亚洲丁香久久久| 日韩欧美电影在线观看| 中文字幕日韩欧美在线| av免费看在线| 69久久夜色精品国产69| 日韩精选视频| av一区二区三区四区电影| 日韩极品在线| 国产成人精品免费看在线播放| 狠狠综合久久| 五月婷婷狠狠操| 国产精品亚洲专一区二区三区| 精品一区二区视频在线观看| 国产清纯在线一区二区www| 黄色片在线观看网站| 天天操天天综合网| 91色在线播放| 日韩av网站在线| 免费看a在线观看| 91精品国产91久久久久| 精品美女一区| 国产不卡一区二区在线观看 | 国产91欧美| 国产一区二区三区四区五区在线| 不卡在线一区二区| 日韩人妻无码精品久久久不卡| 日本不卡的三区四区五区| 亚洲国产欧美日韩在线| 国产亚洲自拍一区| 国产无码精品一区二区| 欧美嫩在线观看| 日韩精品视频无播放器在线看 | 九一久久久久久| 天天插天天射天天干| 亚洲欧美另类久久久精品| 黄色av网站免费观看| 欧美videossexotv100| 日本三级在线播放完整版| 欧美一级在线播放| 99re8这里有精品热视频8在线| 先锋影音一区二区三区| 国产精品丝袜xxxxxxx| 亚洲天堂小视频| 亚洲天堂中文字幕| 免费黄色片视频| 日韩av网址在线| 免费不卡av| 成人中文字幕在线观看| 欧美手机视频| 日韩黄色片视频| 99久久婷婷国产| 久久久久久久久久综合| 91精品综合久久久久久| 日韩在线资源| 国产精品女主播| 国产精品入口久久| 国产精品沙发午睡系列| 丁香啪啪综合成人亚洲小说| 精品欧美一区二区久久久久| 欧美日韩国产成人在线91| 国产女人在线观看| 欧洲一区二区视频| 日韩影视高清在线观看| 精品国产一区三区| jlzzjlzz亚洲日本少妇| 久久久精品国产sm调教| 欧美成人三级在线| 宅男网站在线免费观看| 亚洲wwwav| 欧美日韩国产欧| 久久久久久无码精品人妻一区二区| 综合欧美亚洲日本| 91亚洲国产成人精品一区| 日韩视频在线免费| 一区二区三区| www.国产亚洲| 国产成a人无v码亚洲福利| 久久久久免费看| 亚洲成av人乱码色午夜| a级片免费在线观看| 国产综合动作在线观看| 国产精品五区| 精品一区二区三区蜜桃在线| 欧美天天综合网| 麻豆影视在线观看_| 91九色偷拍| 99综合在线| 亚洲区自拍偷拍| 欧美日韩在线免费视频| 久久亚洲天堂| 国产成人精品日本亚洲11| 99精品视频免费观看视频| 人妻丰满熟妇av无码久久洗澡| 欧美性猛交xxxx富婆| 超碰免费在线| 91社区国产高清| 精品成人一区| 成人国产精品久久久网站| 欧美日韩在线三区| 久久亚洲资源| 精品一区二区三区免费毛片| 日韩中文字幕亚洲一区二区va在线| 国产精品久久久视频| 91麻豆精品国产无毒不卡在线观看| 视频在线观看入口黄最新永久免费国产 | 加勒比在线一区| 日韩中文字幕在线播放| 中文无码日韩欧| 国产在线观看福利| 成人免费一区二区三区在线观看| 超碰人人人人人人| 欧美有码在线观看| 欧美大人香蕉在线| 中文字幕免费在线播放| 欧美影院一区二区三区| 污视频在线看网站| 日本欧美色综合网站免费| 国内成人自拍视频| 中文字幕激情小说| 久久伊人精品一区二区三区| 亚欧日韩另类中文欧美| 日本77777| 欧美色图在线视频| 超碰porn在线| 日韩wuma| 暴力调教一区二区三区| 国产精品久久久久久久久毛片| 91精品国产91久久久久久吃药| 93在线视频精品免费观看|