999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Redis的氣象數(shù)據(jù)分發(fā)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2019-05-29 11:18:10林紅華韻子
軟件工程 2019年3期

林紅 華韻子

摘? 要:針對(duì)預(yù)報(bào)服務(wù)產(chǎn)品一鍵式發(fā)布的迫切需求,通過對(duì)Redis內(nèi)存數(shù)據(jù)庫的應(yīng)用研究,基于Spring框架搭建了上海中心氣象臺(tái)數(shù)據(jù)分發(fā)管理系統(tǒng),實(shí)現(xiàn)數(shù)據(jù)產(chǎn)品分發(fā)和分發(fā)配置管理功能,發(fā)送方式包括FTP、短信、郵件、傳真、語音。系統(tǒng)運(yùn)行穩(wěn)定可靠,發(fā)布效率提升90%。

關(guān)鍵詞:數(shù)據(jù)分發(fā);Redis;傳真;短信

中圖分類號(hào):TP399? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

Abstract:Aiming at the urgent need of one-click publishing of forecast service products,through the application research of Redis in-memory database,the data distribution management system of Shanghai Central Meteorological Observatory is built based on the Spring framework,realizing data product distribution and distribution configuration management.The means of distribution include FTP,SMS,email,fax and voice message.The system runs stably and reliably,increasing the distribution efficiency by 90%.

Keywords:data distribution;Redis;fax;SMS

1? ?引言(Introduction)

隨著上海社會(huì)經(jīng)濟(jì)的發(fā)展,政府部門、公眾、媒體、專業(yè)用戶等對(duì)氣象保障服務(wù)在精細(xì)化程度、預(yù)報(bào)時(shí)效、需求范圍等方面的要求不斷提高。當(dāng)前上海中心氣象臺(tái)每天發(fā)送數(shù)據(jù)文件數(shù)量在25000個(gè)左右,數(shù)據(jù)量達(dá)到30GB。預(yù)報(bào)服務(wù)產(chǎn)品發(fā)布數(shù)量的激增和高時(shí)效要求,使得目前單一的FTP發(fā)送、人工發(fā)送傳真和逐一打電話通知相關(guān)部門的現(xiàn)狀已經(jīng)不能滿足業(yè)務(wù)需求。本文從實(shí)際分發(fā)需求出發(fā),基于Redis內(nèi)存數(shù)據(jù)庫的高性能優(yōu)勢(shì),借鑒其在多個(gè)領(lǐng)域中的應(yīng)用經(jīng)驗(yàn)[1-3],設(shè)計(jì)研發(fā)了集FTP、短信、郵件、傳真、語音電話于一體的數(shù)據(jù)分發(fā)管理系統(tǒng),將預(yù)報(bào)員從繁雜的事務(wù)性工作中解脫出來,有更多的時(shí)間專注于預(yù)報(bào)過程的分析,進(jìn)而提高預(yù)報(bào)質(zhì)量。

2? 系統(tǒng)架構(gòu)及關(guān)鍵技術(shù)(System framework and key technology)

2.1? ?系統(tǒng)架構(gòu)設(shè)計(jì)

系統(tǒng)采用B/S架構(gòu)設(shè)計(jì),系統(tǒng)由存儲(chǔ)層、數(shù)據(jù)層、服務(wù)層、業(yè)務(wù)功能層組成。各層設(shè)計(jì)及主要功能:

存儲(chǔ)層:存儲(chǔ)業(yè)務(wù)層、采集、發(fā)送過程中產(chǎn)生的所有數(shù)據(jù)。本層主要使用Redis數(shù)據(jù)庫和MySql為主,以Redis緩存數(shù)據(jù)庫作為任務(wù)隊(duì)列進(jìn)行任務(wù)控制,并緩存一段時(shí)間內(nèi)的數(shù)據(jù)信息。

數(shù)據(jù)層:數(shù)據(jù)層是采集和發(fā)送數(shù)據(jù)的核心模塊,自動(dòng)管理服務(wù)連接、采集、發(fā)送、存儲(chǔ)、上報(bào)等任務(wù)。數(shù)據(jù)層的所有數(shù)據(jù)來源與任務(wù)隊(duì)列和業(yè)務(wù)層產(chǎn)生的數(shù)據(jù)。數(shù)據(jù)層控制流量主要是依賴于緩存隊(duì)列。數(shù)據(jù)層主要功能包括任務(wù)監(jiān)控、任務(wù)控制、任務(wù)隊(duì)列、連接池、數(shù)據(jù)傳輸、信息上報(bào)、數(shù)據(jù)存儲(chǔ)等。

服務(wù)層:為業(yè)務(wù)層提供對(duì)應(yīng)的服務(wù)支撐,包含F(xiàn)TP發(fā)送、傳真發(fā)送、郵件發(fā)送、短信發(fā)送、語音呼叫、告警信息推送等接口。服務(wù)層主要是連接業(yè)務(wù)層和存儲(chǔ)層的中間橋梁,處理業(yè)務(wù)層的邏輯和數(shù)據(jù)操作,通過連接數(shù)據(jù)庫,對(duì)服務(wù)器配置、分發(fā)策略配置、數(shù)據(jù)存儲(chǔ)等進(jìn)行查詢和存儲(chǔ),查詢?nèi)蝿?wù)、告警等信息。

業(yè)務(wù)功能層:是以Web頁面的方式供用戶操作,功能主要包括配置中心(服務(wù)器配置、分發(fā)策略配置、發(fā)送用戶管理、發(fā)送用戶組管理、產(chǎn)品管理)、任務(wù)監(jiān)控(分發(fā)統(tǒng)計(jì)、數(shù)據(jù)下載、告警信息)、系統(tǒng)管理(用戶管理、數(shù)據(jù)字典)、權(quán)限管理四大功能。

2.2? ?關(guān)鍵技術(shù)

(1) 內(nèi)存數(shù)據(jù)庫技術(shù)

在本項(xiàng)目中,待分發(fā)的數(shù)據(jù)文件數(shù)量、數(shù)據(jù)量和用戶數(shù)量眾多,多產(chǎn)品多用戶的并發(fā)需求,以及用戶對(duì)時(shí)效性的需求,特別是預(yù)警產(chǎn)品的超高時(shí)效性要求,所有的操作都針對(duì)關(guān)系型數(shù)據(jù)庫[4](Database,DB)是不現(xiàn)實(shí)的,DB雖然提供了數(shù)據(jù)的訪問,但每一次的數(shù)據(jù)訪問都是一次I/O(Input/Output)操作,頻繁的I/O操作對(duì)系統(tǒng)性能來講是一種災(zāi)難[5,6],傳統(tǒng)關(guān)系型數(shù)據(jù)庫方案已不能滿足海量數(shù)據(jù)發(fā)送的需求。系統(tǒng)選型在分布式內(nèi)存數(shù)據(jù)庫上[7],通過理論分析及試驗(yàn)分析,最終確定了實(shí)時(shí)處理能力更強(qiáng)的Redis內(nèi)存數(shù)據(jù)庫作為數(shù)據(jù)層支撐。

Redis是開源的、高性能的、鍵值(key-value)對(duì)存儲(chǔ)數(shù)據(jù)的NOSQL數(shù)據(jù)庫,適合被用于數(shù)據(jù)庫、緩存和消息中間件[8]。作為一個(gè)內(nèi)存數(shù)據(jù)庫,Redis讀寫數(shù)據(jù)的時(shí)候不會(huì)受到硬盤

I/O速度的限制,讀取速度可以達(dá)到110000次/秒,寫入速度達(dá)到81000次/秒,遠(yuǎn)遠(yuǎn)優(yōu)于常規(guī)DB數(shù)據(jù)庫的讀取速度,具有對(duì)數(shù)據(jù)高并發(fā)讀寫和高效率存儲(chǔ)訪問的性能[9]。與同樣是內(nèi)存數(shù)據(jù)庫的Memcached相比,Redis支持更多的數(shù)據(jù)類型,除支持字符串類型之外,還支持hash、鏈表、集合及有序集合等數(shù)據(jù)結(jié)構(gòu)[10],可以方便地添加和刪除元素[11]。并且Redis支持?jǐn)?shù)據(jù)的持久化,可以周期性地將內(nèi)存中的數(shù)據(jù)保存到磁盤中,重啟的時(shí)候可以再次加載到內(nèi)存中使用,數(shù)據(jù)可以從主服務(wù)器向任意數(shù)量的從服務(wù)器上同步,而從服務(wù)器又可以作為主服務(wù)器關(guān)聯(lián)其他的從服務(wù)器,以此實(shí)現(xiàn)主從同步的數(shù)據(jù)備份[12]。

在本項(xiàng)目系統(tǒng)數(shù)據(jù)存儲(chǔ)的設(shè)計(jì)中,DB數(shù)據(jù)庫采用開源的MySql數(shù)據(jù)庫,而Redis作為DB與業(yè)務(wù)應(yīng)用之間的橋梁,整個(gè)內(nèi)存庫的設(shè)計(jì)除了緩存分發(fā)用戶的配置信息外,一段時(shí)間內(nèi)的數(shù)據(jù)信息也保存在緩存中,避免同一文件每發(fā)送一個(gè)用戶就進(jìn)行一次I/O讀取,大幅度提高分發(fā)效率。如圖2所示,Redis作為擋在其前的一道快速讀取數(shù)據(jù)的屏障,有效緩解了MySql數(shù)據(jù)庫壓力,對(duì)提高整個(gè)系統(tǒng)性能起到了關(guān)鍵作用。

(2)傳真服務(wù)

傳真是為上海市政府、防汛部門傳送氣象服務(wù)產(chǎn)品的重要渠道,目前是手動(dòng)發(fā)送,效率低下。本項(xiàng)目中部署了一部傳真服務(wù)器FS(Fax Server),搭載四路的Modem卡。建立基于WSDL的傳真接口協(xié)議FWI(Fax WebService Interface),其利用WebService進(jìn)行通信,數(shù)據(jù)分發(fā)模塊通過調(diào)用FWI向傳真服務(wù)器發(fā)送請(qǐng)求,F(xiàn)WI直接返回需要的數(shù)據(jù),并提供狀態(tài)信息。

整個(gè)傳真服務(wù)流程為:數(shù)據(jù)分發(fā)模塊根據(jù)用戶名/密碼調(diào)用SignIn登錄FS;如果登錄成功,獲取令牌TokenID,將令牌TokenID作為參數(shù)調(diào)用發(fā)送傳真,獲取傳真狀態(tài)的服務(wù);操作完成,調(diào)用SignOut退出登錄。流程圖如圖3所示。

待發(fā)送的文件傳送到傳真服務(wù)器后,通過文件格式轉(zhuǎn)換的功能,將文本或WORD等格式的文件轉(zhuǎn)成TIFF格式的文件后經(jīng)過base64加密封裝,調(diào)用傳真接口自動(dòng)發(fā)送。

(3)短信服務(wù)

預(yù)報(bào)服務(wù)產(chǎn)品的短信發(fā)送是為公眾、領(lǐng)導(dǎo)決策服務(wù)的主要手段之一,而短信發(fā)送涉及中國移動(dòng)、中國電信、中國聯(lián)通三大運(yùn)營商的網(wǎng)關(guān),為此與移動(dòng)、聯(lián)通、電信建立合作渠道。短信服務(wù)器內(nèi)部集成統(tǒng)一的數(shù)據(jù)庫接口、API接口,與上海中心氣象臺(tái)業(yè)務(wù)系統(tǒng)融合,其服務(wù)器部署在上海市氣象局內(nèi)網(wǎng)DMZ區(qū),短信服務(wù)通過固定公網(wǎng)IP連接至中國移動(dòng)、中國聯(lián)通、中國電信三大運(yùn)營商的行業(yè)短信網(wǎng)關(guān),數(shù)據(jù)分發(fā)模塊通過內(nèi)網(wǎng)直接調(diào)用短信服務(wù)器數(shù)據(jù)庫接口,實(shí)現(xiàn)全網(wǎng)手機(jī)用戶的短信發(fā)送、接收、查詢、統(tǒng)計(jì)等功能,支持移動(dòng)、聯(lián)通、電信的子賬號(hào)功能,滿足中心臺(tái)多業(yè)務(wù)、多維度的業(yè)務(wù)需求。如圖4所示。

(4)語音電話服務(wù)

語音分發(fā)是指向指定號(hào)碼撥打電話,目前是通過預(yù)報(bào)員人工操作完成的。通過調(diào)研選定了阿里語音服務(wù)。通過調(diào)用阿里云語音呼叫的API,從運(yùn)營商網(wǎng)絡(luò)向指定號(hào)碼發(fā)起一通呼叫,呼叫被應(yīng)答后,播放一段指定的音頻,支持將一個(gè)音頻文件同時(shí)撥打給多個(gè)用戶。支持兩種形式的音頻調(diào)用:①播放的音頻為固定內(nèi)容的音頻文件(mp3/wav),可以直接外呼。②播放的音頻為帶有變量的文本模板,每次調(diào)用時(shí)先根據(jù)變量替換值從文本模板轉(zhuǎn)化為音頻文件,再進(jìn)行外呼。阿里語音服務(wù)通過先進(jìn)的深度學(xué)習(xí)技術(shù),提供了語音合成功能,可以將文本轉(zhuǎn)換成自然流暢的語音,同時(shí)能夠根據(jù)需求調(diào)節(jié)語速、語調(diào)、音量等。

3? ?系統(tǒng)實(shí)現(xiàn)(System implementation)

3.1? ?開發(fā)環(huán)境

系統(tǒng)后臺(tái)采用SpringBoot框架,前臺(tái)基于SpringMVC框架,采用JAVA和HTML5作為開發(fā)工具。

3.2? ?功能模塊

根據(jù)系統(tǒng)架構(gòu)設(shè)計(jì),氣象數(shù)據(jù)分發(fā)管理系統(tǒng)主要包括:監(jiān)控模塊、分發(fā)模塊、管理模塊三大模塊。

(1)監(jiān)控模塊

監(jiān)控服務(wù)對(duì)指定的數(shù)據(jù)文件目錄進(jìn)行監(jiān)控,若該目錄下有文件新增,即通過socket發(fā)送文件的相關(guān)信息到收發(fā)核心模塊文件采集任務(wù)隊(duì)列。為避免有文件遺漏未被消費(fèi),設(shè)計(jì)了監(jiān)控重發(fā)模塊,每隔2分鐘執(zhí)行一個(gè)定時(shí)任務(wù)遞歸掃描文件夾下所有未消費(fèi)的文件,發(fā)送相關(guān)信息至核心模塊。

為防止因其他原因造成的系統(tǒng)停止運(yùn)行,通過運(yùn)行獨(dú)立于整個(gè)系統(tǒng)的監(jiān)控腳本,每10分鐘檢查Redis、監(jiān)控模塊、收發(fā)核心模塊、web模塊的運(yùn)行情況,若停止運(yùn)行自動(dòng)重啟。

(2)分發(fā)模塊

分發(fā)模塊是整個(gè)系統(tǒng)的核心模塊,消費(fèi)文件采集隊(duì)列獲取文件名,通過正則表達(dá)式和文件名進(jìn)行匹配,若匹配成功則在數(shù)據(jù)歸檔根目錄下按照“產(chǎn)品名稱/年/月/日/時(shí)/”建立文件夾,對(duì)文件進(jìn)行歸檔;歸檔后將該條信息加入Redis發(fā)送任務(wù)隊(duì)列,發(fā)送隊(duì)列的消費(fèi)者根據(jù)產(chǎn)品內(nèi)容ID,查詢數(shù)據(jù)庫的FTP分發(fā)配置、短信分發(fā)配置、郵箱分發(fā)配置、傳真分發(fā)配置、語音分發(fā)配置。根據(jù)獲取的配置信息,進(jìn)行相應(yīng)的分發(fā)操作。分發(fā)模塊提供重發(fā)功能。

FTP分發(fā):查詢到分發(fā)的用戶和配置信息,從FTP連接池中獲取連接,進(jìn)行文件的上傳操作。

短信分發(fā):讀取文件內(nèi)容后,根據(jù)分發(fā)的用戶手機(jī)號(hào)組裝成規(guī)定的txt文件格式,上傳至短信發(fā)送服務(wù)器。

郵箱分發(fā):查詢發(fā)送用戶的郵箱地址,如待發(fā)送的文件為文本文件,則將讀取到文件內(nèi)容作為正文發(fā)送,其余格式的文件將作為附件發(fā)送。

傳真分發(fā):文件先轉(zhuǎn)換tiff格式后經(jīng)過base64轉(zhuǎn)換封裝并調(diào)用傳真接口發(fā)送。

語音分發(fā):讀取文本文件內(nèi)容并查詢?nèi)〕鱿嚓P(guān)的用戶號(hào)碼,阿里云語音呼叫的API接口將文字自動(dòng)轉(zhuǎn)換為語音,撥打電話給用戶。

FTP分發(fā)、短信分發(fā)、語音分發(fā)為同步,可以立即獲得分發(fā)結(jié)果;郵箱分發(fā)為異步,需等待回調(diào)的結(jié)果;傳真發(fā)送后,任務(wù)監(jiān)控隊(duì)列消費(fèi)者根據(jù)ID通過接口查詢傳真發(fā)送的結(jié)果。

(3)管理模塊

管理模塊實(shí)現(xiàn)發(fā)送配置、用戶管理、系統(tǒng)發(fā)送情況查詢等功能。

系統(tǒng)提供靈活的分發(fā)統(tǒng)計(jì)功能,便于用戶查詢不同時(shí)間段、不同產(chǎn)品、不同用戶、不同文件名的分發(fā)統(tǒng)計(jì)情況,提供對(duì)每個(gè)統(tǒng)計(jì)情況詳細(xì)信息的查看功能,提供對(duì)分發(fā)文件的下載功能。

4? ?結(jié)論(Conclusion)

本項(xiàng)目投入業(yè)務(wù)化運(yùn)行后,有效減少手工操作,預(yù)報(bào)員用于產(chǎn)品發(fā)布的時(shí)間縮減了90%,大幅度提高工作效率。系統(tǒng)提供了監(jiān)控發(fā)布內(nèi)容的窗口,預(yù)報(bào)發(fā)布人員可以很直觀地看到發(fā)布情況,如果有發(fā)布失敗的產(chǎn)品,通過簡單操作就可以進(jìn)行補(bǔ)發(fā)。管理人員方便對(duì)發(fā)布信息進(jìn)行查詢、統(tǒng)計(jì),便于預(yù)報(bào)產(chǎn)品、服務(wù)產(chǎn)品發(fā)布狀況的管理。短消息提醒功能,使得重要路徑發(fā)布失敗時(shí),相關(guān)人員可以在第一時(shí)間得到消息,便于及時(shí)處理,確保不漏發(fā)。統(tǒng)一的數(shù)據(jù)分發(fā)接口,其他業(yè)務(wù)系統(tǒng)不再需要單獨(dú)開發(fā)分發(fā)功能,只需簡單調(diào)用接口,或是將產(chǎn)品文件發(fā)送到指定目錄下,就可實(shí)現(xiàn)一鍵分發(fā)功能;減少重復(fù)開發(fā),提高發(fā)布的穩(wěn)定性。語音呼叫功能,使得原來發(fā)布預(yù)警時(shí)逐一給各區(qū)氣象局和上海市預(yù)警聯(lián)動(dòng)部門人工撥打電話變得簡單易行,傳真亦是如此。在以后的工作中,根據(jù)業(yè)務(wù)需求的變化進(jìn)一步完善系統(tǒng),提供更優(yōu)質(zhì)地服務(wù)。

參考文獻(xiàn)(References)

[1] Gade AN,Larsen TS,Nissen SB,et al.REDIS:A value-based decision support tool for renovation of building portfolios[J].BUILDING AND ENVIRONMENT,2018,142(9):107-108.

[2] Sumba Xavier,Segarra Jos,Ortiz Jos,et al.REDI:A linked data-powered research networking platform[C].Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics),2018,v 11155 LNCS:121-125.

[3] Leea Taeyoung,Kim Yongsung,Hwang Eenjun.Abnormal Payment Transaction Detection Scheme Based on Scalable Architecture and Redis Cluster[C].2018 International Conference on Platform Technology and Service,2018.

[4] 華韻子,林紅.華東區(qū)域自動(dòng)站數(shù)據(jù)實(shí)時(shí)融合顯示與多級(jí)警示技術(shù)[J].軟件工程,2016,19(5):26-29.

[5] 孫超.Redis內(nèi)存數(shù)據(jù)庫在智慧消防系統(tǒng)設(shè)計(jì)中的應(yīng)用[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2018(8):103-105.

[6] 熊肖磊,王春偉,趙炯,等.基于Redis與SSM的大型設(shè)備數(shù)據(jù)運(yùn)用系統(tǒng)設(shè)計(jì)[J].現(xiàn)代機(jī)械,2018(6):29-34.

[7] 鄧萬宇,劉光達(dá),董瑩瑩.一種基于Scrapy-Redis的分布式微博數(shù)據(jù)采集方案[J].信息技術(shù),2018(11):59-62.

[8] 崔夢(mèng)天,吳倩.基于Redis緩存的數(shù)字化圖書館應(yīng)用[J].吉林師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2018(2):123-127.

[9] Paul Nicole,Lee Ji Su,Mieler Michael.et al.Improving Estimates of Earthquake-Induced Downtime in Individual Buildings Using the REDi Methodology[C].Structures Congress 2018,2018(4):77-86.

[10] Kimm Haklin,Li Zuqing,Kimm Hanke.SCADIS:Supporting Reliable Scalability in Redis Replication on Demand[C].Proceedings-2nd IEEE International Conference on Smart Cloud,2017:7-12.

[11] Josiah,L.Carlson.黃健宏,譯.Redis實(shí)戰(zhàn)[M].北京:人民郵電出版,2015.

[12] Jeremy Nelson.汪佳南,譯.深入理解Redis[M].北京:電子工業(yè)出版社,2017.

作者簡介:

林? 紅(1966-),女,碩士,高級(jí)工程師.研究領(lǐng)域:氣象行業(yè)軟件研發(fā).

華韻子(1981-),女,碩士,高級(jí)工程師.研究領(lǐng)域:氣象行業(yè)軟件研發(fā).

主站蜘蛛池模板: 免费观看三级毛片| 亚洲IV视频免费在线光看| 国内精品手机在线观看视频| 99精品视频播放| 一级在线毛片| 婷婷午夜天| 88av在线| 欧美日韩第二页| 亚洲精品无码不卡在线播放| 激情综合婷婷丁香五月尤物| 日本欧美成人免费| 亚洲成在人线av品善网好看| 天堂在线视频精品| 99久久精品免费视频| 超清无码熟妇人妻AV在线绿巨人| 青青国产视频| 国产 日韩 欧美 第二页| 在线免费不卡视频| 亚洲精品黄| 欧美人在线一区二区三区| 国产精品19p| 亚洲成aⅴ人在线观看| 午夜视频免费一区二区在线看| 国产成人欧美| 婷婷99视频精品全部在线观看| 久草视频一区| 免费欧美一级| 国产成人精品一区二区| 99久久国产自偷自偷免费一区| 一级毛片在线免费看| 成人福利在线视频| A级毛片高清免费视频就| 国产亚洲欧美日韩在线一区二区三区| 91精品国产福利| 视频二区亚洲精品| 色婷婷综合激情视频免费看| 免费观看三级毛片| 久草热视频在线| 日韩精品无码免费一区二区三区 | 刘亦菲一区二区在线观看| 呦女亚洲一区精品| 欧美成人看片一区二区三区| 中文成人在线视频| 夜夜爽免费视频| 亚洲一区第一页| 全部免费毛片免费播放| 91蜜芽尤物福利在线观看| 国产在线观看一区精品| 一级香蕉人体视频| 亚洲制服中文字幕一区二区| 97超级碰碰碰碰精品| 欧美一区福利| 亚洲人成人无码www| 日韩精品毛片人妻AV不卡| 第一区免费在线观看| 色综合中文字幕| 香蕉久久永久视频| 国产男女免费完整版视频| 尤物亚洲最大AV无码网站| 精品国产免费观看一区| 在线中文字幕日韩| 亚洲香蕉久久| 国产黄色视频综合| 久久久精品无码一二三区| 日本成人一区| 久久无码av三级| 免费看a毛片| 亚洲欧美国产视频| 成年免费在线观看| 亚洲男人的天堂久久精品| 欧美精品成人一区二区视频一| 2022精品国偷自产免费观看| 国内黄色精品| 欧美精品成人一区二区视频一| 成年av福利永久免费观看| 国产一区二区三区在线观看免费| 四虎永久在线视频| 成人av手机在线观看| 久久超级碰| 99免费视频观看| 美女视频黄频a免费高清不卡| 国产99精品久久|