• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    線程池與消息中間件技術在疾控數(shù)據(jù)交換中的應用①

    2022-06-29 07:48:30
    計算機系統(tǒng)應用 2022年6期
    關鍵詞:線程調(diào)用隊列

    劉 瀟

    (江蘇省疾病預防控制中心 公共衛(wèi)生信息所, 南京 210009)

    隨著疾控信息化工作的不斷深入, 疾控的傳染病、公共衛(wèi)生突發(fā)事件、慢病、計劃免疫以及精神衛(wèi)生等業(yè)務條線的信息系統(tǒng)在不斷地建立與完善, 疾控信息化標準體系[1,2]的建立與完善有力地推動了全民健康信息化中公共衛(wèi)生的數(shù)據(jù)整合. 在當前各行業(yè)協(xié)作日益緊密、各級疾控一體化集成日漸成熟的大背景下, 疾控中心各類的數(shù)據(jù)共享與交換[3,4]需求也隨之而來. 根據(jù)不同的業(yè)務需求, 各個信息系統(tǒng)需要調(diào)用不同來源的接口來完成數(shù)據(jù)的下載、上傳或核驗等操作.在數(shù)據(jù)量比較小、任務實時性要求比較低的情況下,全量數(shù)據(jù)逐條調(diào)用數(shù)據(jù)接口并記錄接口反饋信息的模式可以滿足業(yè)務需求, 但是當數(shù)據(jù)量比較大并且任務實時性要求比較高的情況下, 比如: 疫情期間, 全省億級數(shù)量的常住人口庫的全量數(shù)據(jù)需要周期性調(diào)用通信管理接口或核酸檢測查詢接口以獲得個人行程記錄與核酸檢測的相關信息, 或是在特定的時間內(nèi), 某個月增百萬級隨訪數(shù)據(jù)的業(yè)務系統(tǒng)的大量的隨訪信息需要全部上傳至指定的平臺, 逐條調(diào)用數(shù)據(jù)接口的模式效率太低, 無法在規(guī)定的時間內(nèi)完成任務, 如何利用有限的硬件資源高效地完成數(shù)據(jù)交換任務成為了疾控在信息化建設中面臨的一個問題.

    在有限的硬件資源下, 解決這個問題的思路是讓數(shù)據(jù)交換任務并發(fā)執(zhí)行, 直接在服務器上為每一個數(shù)據(jù)交換任務分配一個線程并同時啟動大量線程去完成數(shù)據(jù)交換的方法會導致服務器壓力過大, 線程的運行缺乏有效的控制, 線程的創(chuàng)建與銷毀都會造成系統(tǒng)開銷, 操作系統(tǒng)對大量線程的頻繁的切換與調(diào)度會給CPU 帶來沉重的負擔, 容易造成服務卡頓或服務器宕機. 本文基于線程池與消息中間件技術建立一個數(shù)據(jù)交換的并發(fā)處理模型, 使用Java 線程池去控制數(shù)據(jù)交換任務的并發(fā)處理, 并引用消息中間件Kafka 作為中間件來記錄數(shù)據(jù)交換結(jié)果, 進一步提高任務完成的效率, 通過實驗的對比證明該模型的可行性與高效性.

    1 技術簡介

    1.1 線程池介紹

    線程池技術是一種設計程序并發(fā)運行的技術, 其核心思想是對已有線程的復用來避免大量線程創(chuàng)建與銷毀帶來的系統(tǒng)開銷, 在CPU 上創(chuàng)建和結(jié)束線程造成的開銷是創(chuàng)建或銷毀任務的18 至100 倍[5], 而且通過任務進行同步的開銷也遠低于同步多個線程的開銷, 因此線程池技術能夠更好地支持細粒度的任務并發(fā)[6]. 常見的線程池一般主要包括4 個部分: 線程管理器、工作線程、任務接口和輸入輸出任務隊列, 在啟動時線程池創(chuàng)建若干數(shù)量的空閑線程, 當任務到達時利用已經(jīng)創(chuàng)建的線程執(zhí)行任務, 任務處理完成后, 該線程會被線程池回收用來執(zhí)行下一個任務以達到線程復用的效果, 同時線程池還要對任務隊列的大小、空閑線程的銷毀、新線程的創(chuàng)建以及對任務的拒絕策略等進行管理.

    Java 從JDK 1.5 版本開始在java.util.concurrent 包中提供了對線程池功能的支持[7], 相關類的繼承關系如圖1 所示, 其中ThreadPoolExecutor 是最核心的一個類, Java 通過封裝ThreadPoolExecutor 類提供了SingleThreadExecutor、CachedThreadPool、Fixed ThreadPool 以及ScheduledThreadPool 這4 類適合特定場景的線程池供編程人員調(diào)用, 同時Java 也支持編程人員重寫ThreadPoolExecutor 的構(gòu)造方法, 通過設置構(gòu)造參數(shù)自定義線程池.

    圖1 Java 線程池UML 靜態(tài)類圖

    ThreadPoolExecutor 類構(gòu)造方法的主要的構(gòu)造參數(shù)如下:

    corePoolSize: 核心線程數(shù), 即常駐線程池的工作線程數(shù)量.

    maximumPoolSize: 最大線程數(shù), 即某一時刻, 當任務大于線程池當前存在的工作線程數(shù)時, 線程池中的工作線程可以增加到的最大值.

    keepAliveTime: 當線程數(shù)大于核心線程數(shù)時, 空閑的工作線程等待新任務的最長時間, 超過這個時間空閑線程沒有接到任務就會被銷毀, 線程池只保留核心線程數(shù)的工作線程數(shù)量.

    workQueue: 任務隊列, 即線程池中的工作線程的數(shù)量已經(jīng)達到最大線程數(shù)時, 任務的等待隊列.

    threadFactory: 線程工廠, 可以用來自定義線程池中線程的命名方式, 優(yōu)先級等屬性.

    Handler: 拒絕策略, 即線程池中的工作線程的數(shù)量已經(jīng)達到最大線程數(shù)且任務隊列已滿的情況下, 線程池對超出線程池處理能力的任務所做的處理策略.

    1.2 消息中間件介紹

    消息中間件是可以在不同系統(tǒng)之間進行消息傳遞的一類組件, 它利用高效、可靠的消息傳遞機制進行平臺無關的數(shù)據(jù)交流[8], 消息生產(chǎn)者定向發(fā)送數(shù)據(jù), 消息消費者獲取并消費數(shù)據(jù), 基于數(shù)據(jù)通信進行分布式系統(tǒng)的集成. 消息中間件的消息傳遞主要有兩種模式,分別是點對點模式和發(fā)布-訂閱模式. 目前比較主流的分布式消息中間件有Kafka, RabbitMQ, ActiveMQ 等.

    Kafka 是一個分布式的消息發(fā)布-訂閱模式[9]的中間件系統(tǒng). Kafka 在主題中保存消息的信息, 生產(chǎn)者向主題寫入數(shù)據(jù), 消費者從主題讀取數(shù)據(jù), 從而實現(xiàn)數(shù)據(jù)傳輸.

    高性能、高吞吐、低延時是Kafka 的顯著的特性,雖然Kafka 的消息保存在磁盤上, 但是由于采用了順序?qū)懭?、MMFiles (memory mapped files)、Zero Copy、批量壓縮等技術優(yōu)化了讀寫性能[10], 使其可以突破傳統(tǒng)的數(shù)據(jù)庫、消息隊列等數(shù)據(jù)引擎所受限的磁盤IO瓶頸, 即使是部署在普通的單機服務器上, Kafka 也能輕松支持每秒百萬級的寫入請求[11], 讀寫速度超過大部分的消息中間件, 這種特性使得Kafka 在海量數(shù)據(jù)場景中應用廣泛.

    2 模型設計與實現(xiàn)

    2.1 模型設計

    疾控信息化工作中處理數(shù)據(jù)交換的基本流程是:從數(shù)據(jù)庫中分批取出需要調(diào)用數(shù)據(jù)接口的數(shù)據(jù), 為批次中的每一條數(shù)據(jù)創(chuàng)建一個數(shù)據(jù)交換任務, 任務主要包括調(diào)用接口獲得反饋信息、將反饋信息回寫數(shù)據(jù)庫進行持久化兩個步驟.

    由于各數(shù)據(jù)交換任務相互之間的無關性, 可以在調(diào)用的數(shù)據(jù)接口可承載的并發(fā)調(diào)用范圍內(nèi), 使數(shù)據(jù)交換任務并發(fā)進行以提高效率, 并在數(shù)據(jù)交換任務的反饋信息持久化階段將反饋信息寫入吞吐量更高的消息中間件進行存儲, 進一步縮短數(shù)據(jù)交換任務的運行時間以提高效率.

    在圖2 中, 通過一個數(shù)據(jù)交換調(diào)度控制程序建立并初始化數(shù)據(jù)交換任務的線程池, 在進行數(shù)據(jù)交換任務時, 為從數(shù)據(jù)庫取出的批量數(shù)據(jù)構(gòu)造數(shù)據(jù)交換任務,并將任務交給線程池進行并發(fā)處理的調(diào)度, 數(shù)據(jù)接口的反饋信息寫入中間件進行保存, 不同的數(shù)據(jù)消費者進程可以異步消費消息中間以獲取反饋信息, 按照不同的業(yè)務需求進行日志信息持久化到數(shù)據(jù)庫或者實時進行交換日志的統(tǒng)計與分析等操作.

    圖2 數(shù)據(jù)交換并發(fā)處理模型

    2.2 技術實現(xiàn)

    數(shù)據(jù)交換調(diào)度控制程序用Java 設計, 使用Java 線程池與Kafka 對模型進行實現(xiàn), 模型實現(xiàn)主要包含數(shù)據(jù)交換任務構(gòu)造、Kafka 調(diào)用以及數(shù)據(jù)交換線程池3 個部分.

    2.2.1 數(shù)據(jù)交換任務構(gòu)造

    封裝數(shù)據(jù)交換任務的類需要實現(xiàn)Runnable 接口以保證其可以在實例化后被線程池工作線程所調(diào)用,在該類的構(gòu)造器中傳遞具體的Kafka 連接以及數(shù)據(jù)接口調(diào)用所需要的參數(shù), 并實現(xiàn)Runnable 接口的run 方法完成具體數(shù)據(jù)接口調(diào)用與反饋信息的記錄, 其核心代碼如下:

    ?public class DSTask implements Runnable{ //數(shù)據(jù)交換任務封裝類public DSTask(KafkaProducer producer, String id, ....){ //通過構(gòu)造器為實例的屬性賦值this.producer=producer; //Kafka 連接對象this.id=id; //數(shù)據(jù)在數(shù)據(jù)庫的主鍵號.... //數(shù)據(jù)接口調(diào)用的各項參數(shù)}@Override public void run() { //實現(xiàn)Runnable 接口的run 方法sendData(); //該方法獲取構(gòu)造器傳遞的屬性完成數(shù)據(jù)交換任務}

    2.2.2 Kafka 調(diào)用

    在數(shù)據(jù)交換任務封裝類的sendData 方法中調(diào)用Kafka api 提供的send 方法記錄反饋信息, String 類型topicName 為Kafka 的相關主題名, String 類型context 為數(shù)據(jù)交換任務最終按約定格式拼接好的反饋信息, 其核心代碼如下:

    2.2.3 數(shù)據(jù)交換線程池

    通過參數(shù)設置自定義ThreadPoolExecutor 類實例化線程池來控制數(shù)據(jù)交換任務并發(fā)處理. 由于數(shù)據(jù)交換任務需要連續(xù)穩(wěn)定的處理, 線程池的核心線程數(shù)和最大線程數(shù)設為相同值, 即線程池中的常駐的工作線程數(shù), 這個值的大小在運行前需要由用戶綜合考慮所調(diào)用數(shù)據(jù)接口能承載的并發(fā)訪問量, 以及當前任務所運行的服務器的CPU 核數(shù)來設定, 在數(shù)據(jù)接口并發(fā)訪問的承載范圍內(nèi), 在實際工程應用中一般遵循如式(1)所示[12]:

    線程池的任務隊列的大小設置為每批要調(diào)用數(shù)據(jù)接口的數(shù)據(jù)的數(shù)量, 以保證所有的數(shù)據(jù)交換任務都會被任務隊列容納, 等待線程池的有效調(diào)度, 這樣可以直接使用線程池默認的拒絕策略, 不需要再設計拒絕策略去處理線程池無法處理的數(shù)據(jù)交換任務.

    線程池核心代碼如下:

    ?ThreadPoolExecutor executor = new ThreadPoolExecutor(threadNum,threadNum, 10, TimeUnit.SECONDS,new LinkedBlockingQueue(queueCapacity),Executors.defaultThreadFactory(),new ThreadPoolExecutor.DiscardPolicy()); //實例化線程池, int 類型threadNum 為工作線程數(shù), int 類型queueCapacity 為隊列容量, 使用默認的拒絕策略DiscardPolicy while(rs.next()){ //遍歷從數(shù)據(jù)庫取出的一批次的數(shù)據(jù)String id = rs.getString("id"); //獲取相關參數(shù)....executor.execute(new DSTask(producer, id, ....)); //實例化數(shù)據(jù)交換任務并交給線程池調(diào)度執(zhí)行}

    3 仿真實驗

    為測試該模型處理數(shù)據(jù)交換任務的效率, 在疾控內(nèi)部局域網(wǎng)部署應用進行測試, 應用部署的服務器配置: 4 核CPU, 內(nèi)存8 GB, 操作系統(tǒng): 64 位Linux CentOS 7.7, JDK 版本: Openjdk 1.8, 測試從疾控內(nèi)網(wǎng)某業(yè)務庫(業(yè)務庫版本: MySQL 8.0.18)批量取出5 000 條個人信息數(shù)據(jù)調(diào)用在公網(wǎng)發(fā)布的疫苗接種記錄查詢接口獲取個人某疫苗首次接種記錄的相關信息, 在逐條處理以及使用線程池模型進行處理、接口反饋的結(jié)果回寫數(shù)據(jù)庫或?qū)懭隟afka 等一些不同的情況下, 分別進行如下仿真實驗:

    實驗1. 數(shù)據(jù)接口反饋信息回寫數(shù)據(jù)庫, 單線程逐條處理以及使用線程池在工作線程數(shù)取不同值的情況下的運行時間對比, 運行時間皆為5 次實驗的平均值,數(shù)據(jù)如表1 所示.

    表1 不同工作線程數(shù)運行時間對比

    很顯然, 線程池處理完成數(shù)據(jù)交換任務的效率明顯優(yōu)于單線程逐條處理, 且在實際接口的實際條件以及4 核CPU 的硬件資源條件下, 在工作線程數(shù)設為4 時的運行效率已達到最佳.

    實驗2. 在線程池在工作線程數(shù)取最佳值的情況下, 數(shù)據(jù)接口反饋信息回寫數(shù)據(jù)庫與寫入Kafka (版本:Kafka 2.5.0)的運行時間對比, 運行時間皆為5 次實驗的平均值, 數(shù)據(jù)如表2 所示.

    表2 反饋信息回寫數(shù)據(jù)庫與寫入Kafka 運行時間對比

    對比兩者的運行時間可以看出, 將數(shù)據(jù)接口反饋信息寫入Kafka 可以極大地提高了數(shù)據(jù)交換任務完成的效率.

    4 模型應用

    在疾控的數(shù)據(jù)交換工作中對模型進行實際應用時,工程師根據(jù)需要進行數(shù)據(jù)交換任務的數(shù)據(jù)總量, 綜合考慮部署數(shù)據(jù)交換應用程序的服務器內(nèi)存情況, 對數(shù)據(jù)進行批次的劃分, 確定每一批完成數(shù)據(jù)交換任務的數(shù)量與線程池任務隊列的容量, 并根據(jù)服務器CPU 的核數(shù)與需要調(diào)用的數(shù)據(jù)接口的實測情況確定線程池工作線程的數(shù)量, 設計數(shù)據(jù)交換調(diào)度控制程序. 如圖3 所示, 數(shù)據(jù)交換調(diào)度控制程序在初始化各類連接并建立線程池后, 按照預設的批次, 分批對數(shù)據(jù)進行數(shù)據(jù)交換任務的處理, 為了判斷線程池是否已完成當前批次的所有數(shù)據(jù)交換任務, 可以設置一個線程安全的全局變量, 每次數(shù)據(jù)交換任務完成時對這個變量進行累加操作, 數(shù)據(jù)交換調(diào)度控制程序通過讀取這個變量值來獲取線程池的當前狀態(tài), 如果當前批次的任務尚未全部完成, 調(diào)度控制程序執(zhí)行自旋等待操作, 等待當前批次的任務全部完成, 線程池處于空閑狀態(tài)后, 獲取下一批次的數(shù)據(jù)繼續(xù)進行, 直至所有批次的數(shù)據(jù)全部完成.

    圖3 數(shù)據(jù)交換調(diào)度控制程序流程設計

    圖4 展示的是實際工作中某重點人群庫數(shù)據(jù)使用該模型調(diào)用新冠疫苗接種查詢接口獲取個人新冠疫苗第一針接種結(jié)果在Kafka 相關主題中的存儲情況, 該項數(shù)據(jù)交換任務按約定的格式記錄了個人信息在業(yè)務庫的主鍵號, 調(diào)用接口的匹配標識, 以及調(diào)用接口所獲取的接種新冠疫苗第一針的疫苗廠商、接種時間、接種單位等信息, 各數(shù)據(jù)項之間插入制表符以便在信息消費時進行解析.

    圖4 Kafka 記錄的反饋信息展示

    5 結(jié)束語

    針對疾控中心在處理大規(guī)模數(shù)據(jù)交換時傳統(tǒng)的處理模式效率不高, 難以及時完成任務的問題, 本文根據(jù)數(shù)據(jù)交換任務的特點設計了一個數(shù)據(jù)交換任務的并發(fā)處理模型, 并使用Java 線程池與消息中間件Kafka 給出了模型的具體實現(xiàn). 該模型已成功應用在江蘇省疾控中心的數(shù)據(jù)交換的處理中, 實踐表明, 模型具有良好的數(shù)據(jù)交換任務并發(fā)控制與處理能力, 進行數(shù)據(jù)交換的數(shù)據(jù)量越大, 其優(yōu)勢越明顯. 在不大幅度增加硬件成本的前提下, 該模型適用面廣, 可用于各類型的數(shù)據(jù)換的處理與控制, 在保證服務穩(wěn)定性的同時可以有效地提高數(shù)據(jù)交換的處理能力.

    猜你喜歡
    線程調(diào)用隊列
    隊列里的小秘密
    基于多隊列切換的SDN擁塞控制*
    軟件(2020年3期)2020-04-20 00:58:44
    核電項目物項調(diào)用管理的應用研究
    在隊列里
    LabWindows/CVI下基于ActiveX技術的Excel調(diào)用
    測控技術(2018年5期)2018-12-09 09:04:46
    豐田加速駛?cè)胱詣玉{駛隊列
    淺談linux多線程協(xié)作
    基于系統(tǒng)調(diào)用的惡意軟件檢測技術研究
    利用RFC技術實現(xiàn)SAP系統(tǒng)接口通信
    Linux線程實現(xiàn)技術研究
    国产色视频综合| 美女国产高潮福利片在线看| 久久久久久久久中文| 91九色精品人成在线观看| 黄色成人免费大全| ponron亚洲| 亚洲av成人不卡在线观看播放网| 精华霜和精华液先用哪个| 草草在线视频免费看| 亚洲精品美女久久av网站| av在线天堂中文字幕| 亚洲性夜色夜夜综合| 视频区欧美日本亚洲| 午夜福利免费观看在线| 国产精品美女特级片免费视频播放器 | 久久婷婷成人综合色麻豆| 美女免费视频网站| 国内毛片毛片毛片毛片毛片| 国产区一区二久久| 欧美性长视频在线观看| 一a级毛片在线观看| 欧美激情高清一区二区三区| 亚洲人成电影免费在线| 精品久久久久久久人妻蜜臀av| 熟女电影av网| 亚洲精品美女久久av网站| 午夜精品在线福利| 窝窝影院91人妻| 国产成人欧美| 91成年电影在线观看| 一本一本综合久久| 99精品在免费线老司机午夜| 老熟妇仑乱视频hdxx| 中文字幕人妻丝袜一区二区| 后天国语完整版免费观看| 日本一本二区三区精品| 999精品在线视频| 国产精品免费一区二区三区在线| 99在线视频只有这里精品首页| 久久久久久久久免费视频了| 黄色 视频免费看| 国产精品一区二区三区四区久久 | 免费在线观看视频国产中文字幕亚洲| 国产又色又爽无遮挡免费看| 老鸭窝网址在线观看| 熟女少妇亚洲综合色aaa.| 女性被躁到高潮视频| 亚洲国产精品999在线| 视频区欧美日本亚洲| 女警被强在线播放| 亚洲一区二区三区不卡视频| 久久狼人影院| 十八禁人妻一区二区| 欧美日韩亚洲国产一区二区在线观看| 在线观看免费视频日本深夜| 精品乱码久久久久久99久播| 久久性视频一级片| 黄色毛片三级朝国网站| 午夜福利在线在线| 搡老妇女老女人老熟妇| 亚洲第一电影网av| 久久婷婷成人综合色麻豆| 老汉色av国产亚洲站长工具| 国内精品久久久久久久电影| 久久久久免费精品人妻一区二区 | 久9热在线精品视频| 国产高清videossex| 久久国产精品影院| 久久久水蜜桃国产精品网| 久99久视频精品免费| 可以在线观看毛片的网站| 久久久久久九九精品二区国产 | 男人舔女人的私密视频| 露出奶头的视频| 热99re8久久精品国产| 波多野结衣巨乳人妻| 久久精品91蜜桃| 亚洲精品色激情综合| 欧美成人性av电影在线观看| 日韩av在线大香蕉| 欧美色视频一区免费| 99久久国产精品久久久| 免费在线观看视频国产中文字幕亚洲| 色综合亚洲欧美另类图片| www.www免费av| 国产在线精品亚洲第一网站| 精品人妻1区二区| 天天添夜夜摸| 国产97色在线日韩免费| 婷婷精品国产亚洲av| 亚洲av成人不卡在线观看播放网| 免费人成视频x8x8入口观看| 50天的宝宝边吃奶边哭怎么回事| 一进一出抽搐gif免费好疼| 久久久水蜜桃国产精品网| 日本一区二区免费在线视频| 岛国在线观看网站| 中文字幕人妻丝袜一区二区| 国产亚洲欧美98| 欧美 亚洲 国产 日韩一| 美女午夜性视频免费| 老鸭窝网址在线观看| 午夜久久久久精精品| 亚洲人成网站在线播放欧美日韩| 日本 av在线| 亚洲久久久国产精品| 又紧又爽又黄一区二区| 变态另类成人亚洲欧美熟女| 国产成人系列免费观看| 久久久精品欧美日韩精品| 嫁个100分男人电影在线观看| 欧美一级毛片孕妇| 久久青草综合色| 国产黄片美女视频| 久久欧美精品欧美久久欧美| 一区二区日韩欧美中文字幕| 波多野结衣高清作品| 亚洲aⅴ乱码一区二区在线播放 | 99在线视频只有这里精品首页| 欧美日韩亚洲国产一区二区在线观看| 热re99久久国产66热| 久久婷婷成人综合色麻豆| 免费av毛片视频| 免费观看人在逋| 一进一出抽搐动态| 男女那种视频在线观看| 精品福利观看| 哪里可以看免费的av片| 99久久综合精品五月天人人| 久热爱精品视频在线9| 亚洲久久久国产精品| 国产成人一区二区三区免费视频网站| 国产黄片美女视频| av有码第一页| 特大巨黑吊av在线直播 | 亚洲一卡2卡3卡4卡5卡精品中文| 亚洲午夜理论影院| 午夜免费观看网址| 国产日本99.免费观看| 欧美精品啪啪一区二区三区| 国产黄a三级三级三级人| 国产亚洲欧美98| 免费无遮挡裸体视频| 免费在线观看完整版高清| 国产精品美女特级片免费视频播放器 | 久久香蕉激情| 我的亚洲天堂| 日韩欧美 国产精品| 欧美激情极品国产一区二区三区| 给我免费播放毛片高清在线观看| 色综合婷婷激情| 国产又爽黄色视频| 国产精品美女特级片免费视频播放器 | av有码第一页| 熟女少妇亚洲综合色aaa.| 变态另类成人亚洲欧美熟女| av有码第一页| 老司机福利观看| 变态另类成人亚洲欧美熟女| 国产一区二区激情短视频| 久久这里只有精品19| 两性午夜刺激爽爽歪歪视频在线观看 | 大型黄色视频在线免费观看| 狠狠狠狠99中文字幕| 成人亚洲精品av一区二区| 一级黄色大片毛片| 90打野战视频偷拍视频| 老司机福利观看| 麻豆成人av在线观看| 亚洲精品色激情综合| 国产精品美女特级片免费视频播放器 | 国产精品九九99| 亚洲人成伊人成综合网2020| 久热爱精品视频在线9| 中文字幕人妻丝袜一区二区| 精品一区二区三区四区五区乱码| 成年版毛片免费区| 免费高清视频大片| 一卡2卡三卡四卡精品乱码亚洲| 亚洲中文字幕一区二区三区有码在线看 | 此物有八面人人有两片| 中国美女看黄片| 可以在线观看毛片的网站| 国产又爽黄色视频| 国产成人av教育| 国产精品国产高清国产av| 国产精品二区激情视频| 狂野欧美激情性xxxx| 国产成+人综合+亚洲专区| 国产成+人综合+亚洲专区| 国产亚洲精品综合一区在线观看 | 欧美精品啪啪一区二区三区| 国产私拍福利视频在线观看| 在线观看免费日韩欧美大片| 国内精品久久久久精免费| 久久青草综合色| 国产成人欧美| 日韩三级视频一区二区三区| 国产精品爽爽va在线观看网站 | 高清在线国产一区| 曰老女人黄片| 欧美+亚洲+日韩+国产| 最近最新中文字幕大全电影3 | 成人国产综合亚洲| 久热这里只有精品99| 中国美女看黄片| 精品久久久久久久久久免费视频| 亚洲成人免费电影在线观看| 国产精品久久久久久精品电影 | 午夜两性在线视频| 十八禁网站免费在线| 免费在线观看黄色视频的| 人人妻人人看人人澡| 成人三级黄色视频| 男女视频在线观看网站免费 | 国产亚洲欧美精品永久| 在线播放国产精品三级| 中文字幕高清在线视频| 色老头精品视频在线观看| 亚洲中文字幕一区二区三区有码在线看 | 国产精品精品国产色婷婷| cao死你这个sao货| 中文字幕精品亚洲无线码一区 | 手机成人av网站| 日韩欧美国产一区二区入口| 香蕉av资源在线| 日韩欧美免费精品| 18禁黄网站禁片午夜丰满| 国产片内射在线| 欧美绝顶高潮抽搐喷水| 国产精品久久久av美女十八| 免费人成视频x8x8入口观看| 97超级碰碰碰精品色视频在线观看| 欧美绝顶高潮抽搐喷水| 97碰自拍视频| 欧美黑人欧美精品刺激| 久久久久九九精品影院| 欧美国产日韩亚洲一区| 亚洲一区中文字幕在线| 亚洲国产精品999在线| 欧美日韩中文字幕国产精品一区二区三区| 一本久久中文字幕| 国产精品 欧美亚洲| 亚洲自偷自拍图片 自拍| 韩国精品一区二区三区| 一二三四社区在线视频社区8| 国产成人av教育| 熟妇人妻久久中文字幕3abv| 18禁国产床啪视频网站| 久久久国产成人免费| 成人永久免费在线观看视频| 91麻豆精品激情在线观看国产| tocl精华| 在线国产一区二区在线| 久久国产精品男人的天堂亚洲| 最近最新中文字幕大全免费视频| 婷婷丁香在线五月| 国产精品99久久99久久久不卡| 巨乳人妻的诱惑在线观看| 国产精品久久视频播放| 人人澡人人妻人| 亚洲成人久久性| 哪里可以看免费的av片| 麻豆成人午夜福利视频| 婷婷丁香在线五月| 日韩精品中文字幕看吧| 亚洲 欧美 日韩 在线 免费| 久久国产精品男人的天堂亚洲| 满18在线观看网站| 50天的宝宝边吃奶边哭怎么回事| 神马国产精品三级电影在线观看 | 巨乳人妻的诱惑在线观看| 亚洲一码二码三码区别大吗| 国产亚洲精品一区二区www| 宅男免费午夜| 日本在线视频免费播放| avwww免费| 国产区一区二久久| av天堂在线播放| 亚洲成av人片免费观看| 日本成人三级电影网站| 99久久无色码亚洲精品果冻| 亚洲va日本ⅴa欧美va伊人久久| 成人亚洲精品一区在线观看| 亚洲在线自拍视频| 久久精品国产清高在天天线| 午夜福利成人在线免费观看| 18禁黄网站禁片免费观看直播| 精品一区二区三区四区五区乱码| 91字幕亚洲| 嫁个100分男人电影在线观看| 日韩精品中文字幕看吧| 日本a在线网址| 9191精品国产免费久久| 亚洲无线在线观看| 亚洲中文日韩欧美视频| 国产亚洲欧美在线一区二区| 久久国产亚洲av麻豆专区| 欧美黑人欧美精品刺激| 黄片播放在线免费| 国产精品,欧美在线| 人妻久久中文字幕网| 此物有八面人人有两片| 人人妻人人澡人人看| 国产99白浆流出| 国产精品久久视频播放| 一二三四在线观看免费中文在| 51午夜福利影视在线观看| 午夜日韩欧美国产| 国产精品爽爽va在线观看网站 | 18禁国产床啪视频网站| 一本精品99久久精品77| 久久天堂一区二区三区四区| 国产久久久一区二区三区| 久久久国产欧美日韩av| 国产亚洲欧美98| 日韩精品青青久久久久久| tocl精华| 99久久久亚洲精品蜜臀av| 黄片大片在线免费观看| 麻豆成人av在线观看| 免费搜索国产男女视频| 午夜激情av网站| 亚洲精品中文字幕一二三四区| 9191精品国产免费久久| 极品教师在线免费播放| 国产亚洲精品av在线| 视频区欧美日本亚洲| 成人一区二区视频在线观看| 19禁男女啪啪无遮挡网站| 淫妇啪啪啪对白视频| 黄片小视频在线播放| 精品久久久久久久久久久久久 | 亚洲免费av在线视频| 久久欧美精品欧美久久欧美| 午夜老司机福利片| 亚洲av成人一区二区三| 2021天堂中文幕一二区在线观 | 色播在线永久视频| 国产不卡一卡二| 1024手机看黄色片| 又黄又粗又硬又大视频| 欧美激情 高清一区二区三区| 人人妻人人澡人人看| 777久久人妻少妇嫩草av网站| 欧美日韩中文字幕国产精品一区二区三区| 久久久久国产一级毛片高清牌| 亚洲中文字幕一区二区三区有码在线看 | 在线播放国产精品三级| 神马国产精品三级电影在线观看 | 制服诱惑二区| 99国产精品一区二区三区| 亚洲无线在线观看| 国产熟女xx| 淫秽高清视频在线观看| 女人爽到高潮嗷嗷叫在线视频| or卡值多少钱| netflix在线观看网站| 精品久久久久久久毛片微露脸| 真人做人爱边吃奶动态| 露出奶头的视频| 国产成人精品久久二区二区免费| 亚洲av电影在线进入| 波多野结衣巨乳人妻| av有码第一页| 精品国产国语对白av| 一个人免费在线观看的高清视频| 美国免费a级毛片| 嫩草影院精品99| 亚洲国产欧美网| 亚洲狠狠婷婷综合久久图片| 一本大道久久a久久精品| 丝袜美腿诱惑在线| 国产精品乱码一区二三区的特点| 成人午夜高清在线视频 | 国产亚洲av嫩草精品影院| 亚洲电影在线观看av| 久久九九热精品免费| 在线观看www视频免费| 一本久久中文字幕| 99久久久亚洲精品蜜臀av| 99在线视频只有这里精品首页| 久久婷婷成人综合色麻豆| 欧美人与性动交α欧美精品济南到| 少妇粗大呻吟视频| x7x7x7水蜜桃| 村上凉子中文字幕在线| 国产亚洲欧美精品永久| 色综合亚洲欧美另类图片| 欧美大码av| 深夜精品福利| 国产激情偷乱视频一区二区| 久久中文字幕人妻熟女| 欧美激情久久久久久爽电影| 久久精品91无色码中文字幕| 国产一级毛片七仙女欲春2 | 日本 av在线| 午夜成年电影在线免费观看| 精品乱码久久久久久99久播| 中文字幕av电影在线播放| videosex国产| 日韩国内少妇激情av| 国产成人精品久久二区二区91| 美女国产高潮福利片在线看| 久久久久九九精品影院| 国产高清视频在线播放一区| 97超级碰碰碰精品色视频在线观看| 无遮挡黄片免费观看| 可以免费在线观看a视频的电影网站| 国产一区在线观看成人免费| 国内久久婷婷六月综合欲色啪| 国产一卡二卡三卡精品| 99精品在免费线老司机午夜| 成在线人永久免费视频| 老司机深夜福利视频在线观看| 狠狠狠狠99中文字幕| 国产精品99久久99久久久不卡| 丝袜人妻中文字幕| 亚洲成人久久性| 久久久精品国产亚洲av高清涩受| 97人妻精品一区二区三区麻豆 | 在线视频色国产色| √禁漫天堂资源中文www| 丰满的人妻完整版| 免费观看精品视频网站| 嫩草影院精品99| 亚洲va日本ⅴa欧美va伊人久久| 男女视频在线观看网站免费 | 国产精品二区激情视频| 色综合婷婷激情| 免费女性裸体啪啪无遮挡网站| 白带黄色成豆腐渣| 香蕉国产在线看| 久久久久久人人人人人| 最新在线观看一区二区三区| 午夜a级毛片| 观看免费一级毛片| videosex国产| 亚洲国产精品久久男人天堂| 久久亚洲精品不卡| 亚洲欧洲精品一区二区精品久久久| 美女高潮喷水抽搐中文字幕| 人人妻人人看人人澡| 午夜亚洲福利在线播放| 女同久久另类99精品国产91| 国产精品美女特级片免费视频播放器 | 99国产精品99久久久久| 亚洲欧美一区二区三区黑人| 午夜两性在线视频| 国产麻豆成人av免费视频| 精品久久久久久,| 久久伊人香网站| 波多野结衣高清作品| 国产精品电影一区二区三区| 男女床上黄色一级片免费看| 老司机午夜福利在线观看视频| 欧洲精品卡2卡3卡4卡5卡区| 午夜福利在线在线| 欧美日韩福利视频一区二区| 日韩中文字幕欧美一区二区| 这个男人来自地球电影免费观看| 亚洲专区国产一区二区| 欧美成人一区二区免费高清观看 | 亚洲人成电影免费在线| 麻豆成人av在线观看| 香蕉丝袜av| 免费在线观看视频国产中文字幕亚洲| 男女之事视频高清在线观看| 亚洲最大成人中文| 欧美日韩中文字幕国产精品一区二区三区| 久久青草综合色| 亚洲中文av在线| 久久 成人 亚洲| 亚洲av日韩精品久久久久久密| 日日夜夜操网爽| 美女高潮到喷水免费观看| 可以在线观看毛片的网站| 啦啦啦 在线观看视频| 亚洲在线自拍视频| 亚洲精品美女久久av网站| 成人欧美大片| 色综合站精品国产| 免费观看精品视频网站| 老汉色av国产亚洲站长工具| 看免费av毛片| 亚洲精品美女久久久久99蜜臀| 50天的宝宝边吃奶边哭怎么回事| 欧美午夜高清在线| 欧美色欧美亚洲另类二区| 午夜福利在线在线| 操出白浆在线播放| 悠悠久久av| 久久午夜亚洲精品久久| 精品国产超薄肉色丝袜足j| 黄片大片在线免费观看| 欧美成人午夜精品| www.www免费av| 国产视频一区二区在线看| 免费看十八禁软件| 亚洲五月色婷婷综合| 久久精品91无色码中文字幕| 一级a爱视频在线免费观看| 久久亚洲真实| 国产精品一区二区精品视频观看| 免费人成视频x8x8入口观看| 成人国产综合亚洲| 亚洲国产精品成人综合色| 激情在线观看视频在线高清| 午夜免费观看网址| 伦理电影免费视频| 国产一卡二卡三卡精品| 久久热在线av| 深夜精品福利| xxx96com| 十八禁网站免费在线| 脱女人内裤的视频| 一进一出抽搐gif免费好疼| 黄片小视频在线播放| 欧美国产日韩亚洲一区| av欧美777| 午夜福利成人在线免费观看| av欧美777| 成人18禁在线播放| 亚洲激情在线av| 两个人看的免费小视频| 国产成年人精品一区二区| 黄色a级毛片大全视频| АⅤ资源中文在线天堂| 精品久久久久久久人妻蜜臀av| 视频区欧美日本亚洲| 久久精品国产综合久久久| 亚洲性夜色夜夜综合| 又黄又粗又硬又大视频| 两个人视频免费观看高清| 亚洲午夜精品一区,二区,三区| 欧美黑人巨大hd| 亚洲人成网站在线播放欧美日韩| 一区二区三区精品91| 亚洲成人久久性| 国产麻豆成人av免费视频| av天堂在线播放| 少妇的丰满在线观看| 香蕉av资源在线| 久久久久免费精品人妻一区二区 | 淫妇啪啪啪对白视频| 男女之事视频高清在线观看| 丝袜在线中文字幕| 一卡2卡三卡四卡精品乱码亚洲| 国产午夜精品久久久久久| 免费无遮挡裸体视频| 国产成人av教育| 久久天堂一区二区三区四区| 国产精品亚洲美女久久久| 久久九九热精品免费| 国产又爽黄色视频| 久久 成人 亚洲| 中亚洲国语对白在线视频| 韩国精品一区二区三区| 国产aⅴ精品一区二区三区波| 欧美激情高清一区二区三区| 老汉色∧v一级毛片| 欧美日韩亚洲国产一区二区在线观看| 国产亚洲欧美在线一区二区| 久久国产精品影院| 欧美丝袜亚洲另类 | 色综合亚洲欧美另类图片| 91在线观看av| 香蕉国产在线看| 日韩 欧美 亚洲 中文字幕| 久久 成人 亚洲| 一边摸一边抽搐一进一小说| 免费看a级黄色片| 黄片播放在线免费| 亚洲aⅴ乱码一区二区在线播放 | 午夜免费成人在线视频| 欧美成人一区二区免费高清观看 | 日韩三级视频一区二区三区| 日日爽夜夜爽网站| 欧美激情高清一区二区三区| 手机成人av网站| 最近最新免费中文字幕在线| 精品一区二区三区视频在线观看免费| 国产熟女午夜一区二区三区| 日韩欧美国产一区二区入口| 成年女人毛片免费观看观看9| 久久亚洲精品不卡| 两个人看的免费小视频| 欧美激情极品国产一区二区三区| 黑人操中国人逼视频| 99国产精品一区二区蜜桃av| 女同久久另类99精品国产91| 亚洲人成电影免费在线| 午夜影院日韩av| 日韩欧美在线二视频| 男女床上黄色一级片免费看| 精品卡一卡二卡四卡免费| av视频在线观看入口| 亚洲三区欧美一区| 三级毛片av免费| 99re在线观看精品视频| 成人18禁高潮啪啪吃奶动态图| 在线天堂中文资源库| 久久久久免费精品人妻一区二区 | 色尼玛亚洲综合影院| 老汉色av国产亚洲站长工具| 亚洲国产日韩欧美精品在线观看 | 每晚都被弄得嗷嗷叫到高潮| 午夜成年电影在线免费观看| 欧美日韩亚洲综合一区二区三区_| 久久婷婷成人综合色麻豆| 91麻豆av在线| 亚洲,欧美精品.| 国产成人精品久久二区二区免费| 狠狠狠狠99中文字幕| 亚洲中文字幕日韩|