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

    上海財(cái)經(jīng)大學(xué)消息中心點(diǎn)亮智慧校園

    2019-08-15 01:28:56胡慶亮王珊珊高亮
    中國(guó)教育網(wǎng)絡(luò) 2019年7期
    關(guān)鍵詞:交換器調(diào)用隊(duì)列

    文/胡慶亮 王珊珊 高亮

    高校智慧校園建設(shè)旨在改變師生與學(xué)校資源、環(huán)境的交互方式,開展以人為本的個(gè)性化服務(wù),進(jìn)而建立智能開放的教育環(huán)境和便利舒適的生活環(huán)境。消息中心服務(wù)可以將各類業(yè)務(wù)過(guò)程中產(chǎn)生的消息進(jìn)行集中管理與收發(fā),師生用戶可以方便、及時(shí)、準(zhǔn)確的獲知個(gè)人所關(guān)注的各類業(yè)務(wù)狀態(tài),實(shí)現(xiàn)了學(xué)校消息的一站式與個(gè)性化推送。因此,消息中心成為高校智慧校園建設(shè)的一項(xiàng)重要內(nèi)容。

    消息中心的實(shí)現(xiàn)依賴于高效可靠的消息隊(duì)列中間件(簡(jiǎn)稱消息中間件),它可以通過(guò)消息傳遞和消息排隊(duì)模型,在分布式環(huán)境下提供應(yīng)用解耦、彈性伸縮、冗余存儲(chǔ)、流量削峰、異步通信、數(shù)據(jù)同步等功能。目前,應(yīng)用比較廣泛的消息中間件包括:RabbitMQ、ActiveMQ、Kafka、RocketMQ,其中RabbitMQ 是使用Erlang 語(yǔ)言開發(fā)的開源消息隊(duì)列系統(tǒng),基于AMQP 協(xié)議實(shí)現(xiàn),該協(xié)議面向消息、隊(duì)列和路由(包括點(diǎn)對(duì)點(diǎn)和發(fā)布/訂閱),強(qiáng)調(diào)可靠性與安全性,主要應(yīng)用于對(duì)數(shù)據(jù)一致性、穩(wěn)定性和可靠性要求很高的場(chǎng)景,此外RabbitMQ 還有高可用性、高易用性等優(yōu)點(diǎn)。結(jié)合高校的統(tǒng)一消息服務(wù)特點(diǎn)(對(duì)數(shù)據(jù)一致性、穩(wěn)定性和可靠性要求很高,并發(fā)量、吞吐量要求一般),考慮采用RabbitMQ來(lái)構(gòu)建高校智慧校園消息中心。本文主要對(duì)基于RabbitMQ 構(gòu)建的智慧校園消息中心的設(shè)計(jì)方案與實(shí)現(xiàn)進(jìn)行闡述。

    RabbitMQ 原理

    RabbitMQ 起源于金融系統(tǒng),用于在分布式系統(tǒng)中存儲(chǔ)轉(zhuǎn)發(fā)消息,具有易用性、擴(kuò)展性、高可用性等優(yōu)勢(shì),其內(nèi)部結(jié)構(gòu)如圖1 所示。

    圖1 RabbitMQ 內(nèi)部結(jié)構(gòu)

    1. Message:消息,消息是不具名的,它由消息頭和消息體組成。消息體是不透明的,消息頭則由一系列的可選屬性組成,這些屬性包括routing-key(路由鍵)、priority(相對(duì)于其他消息的優(yōu)先權(quán))、delivery-mode(指出該消息可能需要持久性存儲(chǔ))等。

    2.Publisher:消息的生產(chǎn)者,也是一個(gè)向交換器發(fā)布消息的客戶端應(yīng)用程序。

    3.Exchange:交換器,用來(lái)接收生產(chǎn)者發(fā)送的消息并將這些消息路由給服務(wù)器中的隊(duì)列。

    4.Binding:綁定,是消息隊(duì)列和交換器之間的關(guān)聯(lián)。一個(gè)綁定就是基于路由鍵將交換器和消息隊(duì)列連接起來(lái)的路由規(guī)則,所以可以將交換器理解成一個(gè)由綁定構(gòu)成的路由表。

    5.Queue:消息隊(duì)列,用來(lái)保存消息直到發(fā)送給消費(fèi)者。它是消息的容器,也是消息的終點(diǎn)。一個(gè)消息可投入一個(gè)或多個(gè)隊(duì)列,消息一直在隊(duì)列里面,等待消費(fèi)者連接到這個(gè)隊(duì)列將其取走。

    6.Connection:網(wǎng)絡(luò)連接,比如一個(gè)TCP 連接。

    7.Channel:信道,多路復(fù)用連接中的一條獨(dú)立的雙向數(shù)據(jù)流通道。信道是建立在真實(shí)的TCP 連接內(nèi)地虛擬連接,AMQP命令都是通過(guò)信道發(fā)出去的,不管是發(fā)布消息、訂閱隊(duì)列還是接收消息,這些動(dòng)作都是通過(guò)信道完成。因?yàn)閷?duì)于操作系統(tǒng)來(lái)說(shuō)建立和銷毀TCP 都是非常昂貴的開銷,所以引入了信道的概念,以復(fù)用一條TCP連接。

    8.Consumer:消息的消費(fèi)者,表示一個(gè)從消息隊(duì)列中取得消息的客戶端應(yīng)用程序。

    9.Virtual Host:虛擬主機(jī),表示一批交換器、消息隊(duì)列和相關(guān)對(duì)象。虛擬主機(jī)是共享相同的身份認(rèn)證和加密環(huán)境的獨(dú)立服務(wù)器域。每個(gè)vhost 本質(zhì)上就是一個(gè)mini 版的 RabbitMQ 服務(wù)器,擁有自己的隊(duì)列、交換器、綁定和權(quán)限機(jī)制。vhost是AMQP 概念的基礎(chǔ),必須在連接時(shí)指定,RabbitMQ 默認(rèn)的vhost 是“/”。

    10.Broker:表示消息隊(duì)列服務(wù)器實(shí)體。

    系統(tǒng)架構(gòu)

    基于RabbitMQ 的智慧校園消息中心包括:“消息匯聚層”和“消息下發(fā)層”,消息匯聚層完成業(yè)務(wù)消息的統(tǒng)一匯集與存儲(chǔ),消息下發(fā)層則以方便、有效的途徑(服務(wù)門戶、短信消息、微信消息等)將消息下發(fā)給師生用戶。具體架構(gòu)如圖2 所示。

    圖2 基于RabbitMQ 的智慧校園消息中心架構(gòu)

    1.消息匯聚層

    在消息匯聚層,對(duì)于RabbitMQ 而言,生產(chǎn)者是消息接口API,業(yè)務(wù)系統(tǒng)通過(guò)調(diào)用消息接口API 將消息數(shù)據(jù)放入消息隊(duì)列;消費(fèi)者的職責(zé)則由后臺(tái)輪詢程序完成。在該架構(gòu)下,完整的消息集成流程如下:

    (1)業(yè)務(wù)系統(tǒng)調(diào)用消息接口API;

    (2)消息接口API 被調(diào)用后,首先將消息數(shù)據(jù)落地到數(shù)據(jù)庫(kù)表,消息記錄的初始推送狀態(tài)設(shè)置為“pushstatus=0”,然后以Confirm 方式將消息發(fā)送給RabbitMQ;

    (3) 消 息 接 口API 在 接 收 到RabbitMQ返回的Confirm消息確認(rèn)成功后,更新消息記錄的推送狀態(tài)“pushstatus=1”。

    (4)輪詢程序從RabbitMQ 隊(duì)列讀取消息,調(diào)用消息匯聚中心接口將消息寫入消息匯聚中心數(shù)據(jù)庫(kù)表。

    其中,步驟三是RabbitMQ 的發(fā)送確認(rèn)過(guò)程。在此過(guò)程中,可能出現(xiàn)網(wǎng)絡(luò)閃斷、MQ Broker 端異常等情況,導(dǎo)致回送消息失敗或者異常,因此需要發(fā)送方(生產(chǎn)者)對(duì)消息進(jìn)行可靠性投遞,以保障消息不丟失。為此專門設(shè)計(jì)了輪詢機(jī)制,設(shè)置定時(shí)任務(wù),每5 分鐘讀取一次中間狀態(tài)的消息(消息可以設(shè)置一個(gè)超時(shí)時(shí)間,比如超時(shí)1 分鐘且“pushstatus=0”,也就是1 分鐘的時(shí)間窗口內(nèi)沒(méi)有被確認(rèn)的消息,才會(huì)被定時(shí)任務(wù)拉取出來(lái)),然后將中間狀態(tài)的消息重新發(fā)送到MQ,稱之為“Retry send 機(jī)制”。輪詢程序的另外一個(gè)功能是定時(shí)比較源頭與消息匯聚中心的數(shù)據(jù)差異,將差異數(shù)據(jù)再次寫入消息匯聚中心(相比重新投遞的定時(shí)任務(wù),此任務(wù)的時(shí)間窗口應(yīng)設(shè)置的較大,如一天內(nèi)未成功寫入的消息;執(zhí)行時(shí)間間隔也比較長(zhǎng),如一個(gè)小時(shí)),稱之為“Rewrite 機(jī)制”。因此本方案除了利用RabbitMQ 自身的可靠性機(jī)制(包括隊(duì)列持久化、發(fā)送確認(rèn))之外,“Retry send 機(jī)制”與“Rewrite 機(jī)制”作為額外的保障措施,提供了更高的可靠性。

    2.消息下發(fā)層

    在消息下發(fā)層,通過(guò)調(diào)用各類發(fā)送渠道,包括校園服務(wù)門戶(PC 與移動(dòng))、短信平臺(tái)、微信平臺(tái)、郵件平臺(tái)等,將消息方便及時(shí)的推送給師生用戶。

    系統(tǒng)實(shí)現(xiàn)

    下文主要針對(duì)消息匯聚層中的生產(chǎn)者(消息接口API)和消費(fèi)者(輪詢程序)的實(shí)現(xiàn)過(guò)程進(jìn)行闡述。消息下發(fā)層以調(diào)用第三方程序接口為主,不是本方案的核心內(nèi)容,故不再贅述。

    1.生產(chǎn)者

    通過(guò)分析實(shí)際的應(yīng)用場(chǎng)景,定義了兩種消息類型:提醒與待辦,提醒是業(yè)務(wù)系統(tǒng)發(fā)送給用戶的提示消息,具有“已讀”、“未讀”屬性;待辦則是需要用戶辦理的一類特殊提醒,具有“未辦理”、“已辦理”屬性?;谙㈩愋偷亩x,對(duì)于提醒,API 提供了“提醒生成”與“提醒已讀”兩個(gè)操作;對(duì)于待辦,API 提供了“待辦生成”與“待辦消除”兩個(gè)操作。由于提醒在程序?qū)崿F(xiàn)上與待辦類似,所以下文僅描述待辦API 的實(shí)現(xiàn)過(guò)程。

    (1)待辦生成API

    待辦生成API 程序在功能上主要實(shí)現(xiàn)了待辦消息數(shù)據(jù)的落地以及將待辦數(shù)據(jù)放入RabbitMQ 消息隊(duì)列并更新推送狀態(tài)。主要程序?qū)崿F(xiàn)(java 代碼)如下:

    /*

    *待辦數(shù)據(jù)寫入數(shù)據(jù)庫(kù)表

    */try

    {

    String sql_insert = "insert into " + schema + ".TMP_TODOSERVICE(SEQ_ID, APP_ID, REFNO, MESSAGE_TYPE_CODE, TARGET_TYPE, TARGET_IDS, CONTENT,

    URL, DO_STEP, CREATETIME, PUSHSTATUS, DOFLAG,PUSHSTATUS_2) " + "values(" + schema + ".SEQ_TMP.

    NEXTVAL, " + app_id + ", '" + refno + "', '" + message_type_code + "', '" + target_type + "', '" + target_ids + "', '" + content+ "', '" + url + "', '" + do_step + "', sysdate, -1, 1, -1)";

    st = conn.createStatement();

    st.execute(sql_insert);

    } catch (Exception e) {

    e.printStackTrace();

    int i = 2;

    return i;

    }

    /*

    *RabbitMQ 生產(chǎn)者,將待辦數(shù)據(jù)放入

    RabbitMQ 隊(duì)列并更新推送狀態(tài)

    */

    JSONObject joTodo = new JSONObject();

    joTodo.put("datatype", "push");

    joTodo.put("app_id", Long.valueOf(app_id));

    joTodo.put("app_key", app_key);

    joTodo.put("refno", refno);

    joTodo.put("message_type_code", message_type_code);

    joTodo.put("target_type", target_type);

    joTodo.put("target_ids", target_ids);

    joTodo.put("content", content);

    joTodo.put("url", url);

    joTodo.put("do_step", do_step);

    Boolean result = AMQPClientUtil.NewTask("task_queue_todo", joTodo.toString());

    (2)待辦消除API

    消除待辦API 程序在功能上主要實(shí)現(xiàn)了待辦完成數(shù)據(jù)的落地(修改已寫入數(shù)據(jù)庫(kù)的待辦的完成狀態(tài))、將待辦數(shù)據(jù)放入RabbitMQ 消息隊(duì)列并更新推送狀態(tài)。主

    要程序?qū)崿F(xiàn)(java 代碼)如下:

    /*

    *待辦完成數(shù)據(jù)寫入數(shù)據(jù)庫(kù)表

    */

    try

    {

    String sql_update = "update " + schema + ".TMP_TODOSERVICE set DOFLAG=0, DONETIME=sysdate " +"where APP_ID=" + app_id + " and REFNO='" + refno + "'";

    st = conn.createStatement();

    st.execute(sql_update);

    } catch (Exception e) {

    e.printStackTrace();

    int i = 2;

    return i;

    }

    /*

    *RabbitMQ 生產(chǎn)者,將待辦完成數(shù)據(jù)放入RabbitMQ 隊(duì)列并更新推送狀態(tài)

    */JSONObject joTodo_complete = new JSONObject();

    joTodo_complete.put("datatype", "complete");

    joTodo_complete.put("app_id", Long.valueOf(app_id));

    joTodo_complete.put("app_key", app_key);

    joTodo_complete.put("refno", refno);

    Boolean result = AMQPClientUtil.NewTask("task_queue_todo", oTodo_complete.toString());

    2.消費(fèi)者

    作為消費(fèi)者的輪詢程序?qū)崿F(xiàn)的功能包括:(1)讀取消息隊(duì)列中的待辦數(shù)據(jù)并調(diào)用消息匯聚中心接口,將數(shù)據(jù)寫入消息匯聚中心數(shù)據(jù)庫(kù)表;(2)“Retry Send”功能,定時(shí)拉取推送MQ 失敗的消息,重新發(fā)送給RabbitMQ;(3)“Rewrite”功能,定時(shí)比較源頭與消息匯聚中心數(shù)據(jù)的差異(消息落地?cái)?shù)據(jù)庫(kù)表與消息匯聚中心數(shù)據(jù)庫(kù)表),調(diào)用消息匯聚中心接口將差異數(shù)據(jù)重新寫入。主要程序?qū)崿F(xiàn)(java 代碼)如下:

    /*

    *RabbitMQ 消費(fèi)者,從RabbitMQ 隊(duì)

    列獲取待辦數(shù)據(jù)并寫入消息匯聚中心

    */try {

    JSONObject jsonObj = JSONObject.fromObject(message);

    long app_id = Long.parseLong(jsonObj.get("app_id").toString());

    String app_key = jsonObj.get("app_key").toString();

    String refno = jsonObj.get("refno").toString();

    if (StringUtils.isEmpty(app_key)) {

    app_key = (String)appKeyMap.get(Long.valueOf(app_id));

    }

    if((null != jsonObj.get("datatype")) && ("push".equals(jsonObj.

    get("datatype").toString()))) {

    String message_type_code = jsonObj.get("message_type_

    code").toString();

    String target_type = jsonObj.get("target_type").toString();

    String target_ids = jsonObj.get("target_ids").toString();

    String content = jsonObj.get("content").toString();

    String url = jsonObj.get("url").toString();

    String do_step = jsonObj.get("do_step").toString();

    表1 驗(yàn)證結(jié)果對(duì)比

    ret = TodoIServiceUtil.todoServicePush(portalServ

    erUrl, app_id, app_key, refno, message_type_code,

    target_type, target_ids, content, url, do_step);//調(diào)用

    消息匯聚中心接口

    } else if ((null != jsonObj.get("datatype")) && ("complete".

    equals(jsonObj.get("datatype").toString())))

    {

    ret = TodoIServiceUtil.todoServiceComplete(portalServerUrl,

    app_id, app_key, refno);//調(diào)用消息匯聚中心接口

    }

    }

    /*

    *定時(shí)Retry send

    */

    try

    {

    retrySendTodoPushFailureFromDb();//重發(fā)推送mq 失敗的

    未完成待辦

    retrySendTodoStateFailureFromDb();//重發(fā)推送mq 失敗的

    已完成待辦

    }

    /*

    *定時(shí)Rewrite

    */

    try

    {

    matchTodoPushFailureFromDb();//重寫未寫入消息匯聚中心的待辦

    matchTodoCompleteFailureFromDb();//重寫完成狀態(tài)不一致的待辦

    }

    系統(tǒng)驗(yàn)證

    在方案驗(yàn)證環(huán)節(jié),對(duì)系統(tǒng)可靠性(消息接收成功率)與及時(shí)性(消息的平均延遲時(shí)間(毫秒))進(jìn)行了測(cè)試與考察,定義如下:

    2.第i 條消息的延遲=第i 條消息的數(shù)據(jù)庫(kù)寫入時(shí)間-第i 條消息的發(fā)送時(shí)間

    (n 為接收消息總數(shù))

    同時(shí)將“Retry Send 機(jī)制”的觸發(fā)時(shí)間設(shè)定為5 分鐘,時(shí)間窗口設(shè)定為1 分鐘,“Rewrite 機(jī)制”的觸發(fā)時(shí)間設(shè)定為10 分鐘,時(shí)間窗口設(shè)定為5 分鐘。java 程序循環(huán)調(diào)用待辦推送接口API,分別發(fā)送待辦2000條、5000 條、10000 條。在每條消息發(fā)出時(shí),記錄其發(fā)送時(shí)間,并和數(shù)據(jù)庫(kù)記錄生成時(shí)間做比較,得到每條消息的延遲時(shí)間。三次驗(yàn)證結(jié)果分別統(tǒng)計(jì)見表1。

    驗(yàn)證過(guò)程并沒(méi)有考慮程序本身執(zhí)行時(shí)間以及網(wǎng)絡(luò)延遲的影響,可見隨著消息發(fā)送的增加,消息的平均延遲時(shí)間差別并不大;另外,在驗(yàn)證過(guò)程中,遇到了RabbitMQ 因網(wǎng)絡(luò)連接超時(shí)等情況而發(fā)送失敗的情況,但方案中“Retry send 機(jī)制”與“Rewrite 機(jī)制”保證了消息仍然被準(zhǔn)確接收,驗(yàn)證了方案的可靠性。

    驗(yàn)證過(guò)程未包含RabbitMQ 的吞吐量測(cè)試,有資料表明,RabbitMQ 吞吐量可達(dá)到5.95w/s,在消息持久化場(chǎng)景下,吞吐量也能達(dá)到2.6w/s 左右。這也說(shuō)明AMQP 協(xié)議為了保證消息的可靠性在吞吐量上做了一定程度的取舍。

    應(yīng)用成效

    基于RabbitMQ 的智慧校園消息中心方案已在上海財(cái)經(jīng)大學(xué)的一站式校園服務(wù)門戶中投入使用,經(jīng)過(guò)三年多的運(yùn)行,目前消息中心已實(shí)現(xiàn)了面向教職工的75 種消息和面向?qū)W生的48 種消息的匯聚與下發(fā)。同時(shí)支持用戶個(gè)性化設(shè)置消息接收渠道(門戶站內(nèi)信、手機(jī)短信以及微信消息)和業(yè)務(wù)消息類型,方便師生用戶及時(shí)、準(zhǔn)確的接收個(gè)人所關(guān)注的業(yè)務(wù)狀態(tài)變更提醒,大大提升了業(yè)務(wù)辦理效率以及用戶使用體驗(yàn),取得了很好的應(yīng)用效果。

    本文描述了一種基于RabbitMQ 的智慧校園消息中心設(shè)計(jì)方案以及主要的程序?qū)崿F(xiàn)。方案在利用RabbitMQ 自身可靠性機(jī)制的基礎(chǔ)上,增加了“Retry Send 機(jī)制”與“Rewrite 機(jī)制”,提高了消息接收的整體可靠性。測(cè)試驗(yàn)證結(jié)果與實(shí)際應(yīng)用成效表明,該方案可以很好的滿足高校中的消息集成需求,為高校智慧校園建設(shè)提供大力支撐。

    猜你喜歡
    交換器調(diào)用隊(duì)列
    媽媽交換器
    隊(duì)列里的小秘密
    基于多隊(duì)列切換的SDN擁塞控制*
    軟件(2020年3期)2020-04-20 00:58:44
    核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
    在隊(duì)列里
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    豐田加速駛?cè)胱詣?dòng)駕駛隊(duì)列
    基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
    一種新型交換器
    科技資訊(2016年24期)2016-05-30 19:04:11
    百通推出入門級(jí)快速工業(yè)以太網(wǎng)絡(luò)交換器系列
    亚洲欧美中文字幕日韩二区| 国产有黄有色有爽视频| 亚洲精品视频女| 亚洲怡红院男人天堂| 多毛熟女@视频| 在线观看免费高清a一片| 少妇 在线观看| 97在线人人人人妻| 久久鲁丝午夜福利片| 男女边摸边吃奶| 日日撸夜夜添| 性色avwww在线观看| 黄色视频在线播放观看不卡| 女性被躁到高潮视频| 高清av免费在线| 国产成人免费观看mmmm| 亚洲欧洲精品一区二区精品久久久 | 亚洲成人av在线免费| 中文欧美无线码| 久久人人爽人人爽人人片va| 大香蕉97超碰在线| 丁香六月天网| 日本免费在线观看一区| 亚洲国产av新网站| 国模一区二区三区四区视频| av线在线观看网站| 黑丝袜美女国产一区| 中文欧美无线码| 成人影院久久| 欧美xxxx性猛交bbbb| 国产一区有黄有色的免费视频| 久久婷婷青草| av国产久精品久网站免费入址| 欧美xxⅹ黑人| 黄色一级大片看看| 少妇被粗大的猛进出69影院 | 日韩中字成人| 一本色道久久久久久精品综合| 各种免费的搞黄视频| 成人影院久久| 国产成人a∨麻豆精品| 亚洲va在线va天堂va国产| 亚洲婷婷狠狠爱综合网| 亚洲高清免费不卡视频| 一本大道久久a久久精品| 国产乱来视频区| 亚洲精品国产av蜜桃| 国产色爽女视频免费观看| 亚洲精品国产av蜜桃| 国产一区有黄有色的免费视频| 精品视频人人做人人爽| 日日摸夜夜添夜夜添av毛片| 人妻一区二区av| kizo精华| 尾随美女入室| 午夜视频国产福利| 亚洲国产毛片av蜜桃av| 精品亚洲乱码少妇综合久久| a级毛色黄片| 99热6这里只有精品| 麻豆精品久久久久久蜜桃| 丝袜在线中文字幕| 观看美女的网站| 狂野欧美激情性xxxx在线观看| 国产亚洲欧美精品永久| 一边亲一边摸免费视频| 日韩精品有码人妻一区| 菩萨蛮人人尽说江南好唐韦庄| 精华霜和精华液先用哪个| 69精品国产乱码久久久| 美女国产视频在线观看| 搡女人真爽免费视频火全软件| 久久精品国产自在天天线| freevideosex欧美| av在线观看视频网站免费| 午夜福利在线观看免费完整高清在| 91午夜精品亚洲一区二区三区| 这个男人来自地球电影免费观看 | av在线老鸭窝| 老女人水多毛片| 国产精品99久久久久久久久| 99热这里只有是精品50| 国产精品人妻久久久久久| 成人综合一区亚洲| 国产爽快片一区二区三区| 极品少妇高潮喷水抽搐| 新久久久久国产一级毛片| 80岁老熟妇乱子伦牲交| 日韩在线高清观看一区二区三区| 欧美激情极品国产一区二区三区 | 美女福利国产在线| 女人精品久久久久毛片| 只有这里有精品99| 一区在线观看完整版| 国产女主播在线喷水免费视频网站| 国产精品一区二区三区四区免费观看| 久久久久久久久久人人人人人人| 国产av码专区亚洲av| 美女大奶头黄色视频| 国产女主播在线喷水免费视频网站| 最新中文字幕久久久久| 极品人妻少妇av视频| 激情五月婷婷亚洲| 久久午夜福利片| 在线 av 中文字幕| 成年av动漫网址| 国产日韩欧美视频二区| 日韩一区二区三区影片| 欧美成人精品欧美一级黄| 又爽又黄a免费视频| 99久久精品一区二区三区| 国产成人精品一,二区| 久久精品国产亚洲av天美| 久久久久久久久久久丰满| 国产精品麻豆人妻色哟哟久久| 老熟女久久久| 国产爽快片一区二区三区| 黄色欧美视频在线观看| 国产成人精品福利久久| 国产一区二区三区综合在线观看 | 2021少妇久久久久久久久久久| 在线 av 中文字幕| 男人和女人高潮做爰伦理| 国产视频内射| 精品久久久噜噜| 国产精品不卡视频一区二区| 久久精品国产亚洲av天美| 国产爽快片一区二区三区| 在线观看免费视频网站a站| 欧美激情极品国产一区二区三区 | 中国国产av一级| 欧美少妇被猛烈插入视频| 我要看日韩黄色一级片| 亚洲精品国产成人久久av| 国产日韩一区二区三区精品不卡 | 亚洲精品,欧美精品| 亚洲精品,欧美精品| 免费不卡的大黄色大毛片视频在线观看| xxx大片免费视频| 日本vs欧美在线观看视频 | a级毛色黄片| 久热久热在线精品观看| 如何舔出高潮| 亚洲精品乱码久久久v下载方式| av在线app专区| 高清毛片免费看| 99热这里只有是精品50| 久久精品国产亚洲av涩爱| 五月开心婷婷网| 交换朋友夫妻互换小说| 日产精品乱码卡一卡2卡三| 国产成人91sexporn| √禁漫天堂资源中文www| 亚洲av电影在线观看一区二区三区| √禁漫天堂资源中文www| 国产精品国产三级国产av玫瑰| 日本色播在线视频| 国产成人91sexporn| 欧美日韩精品成人综合77777| √禁漫天堂资源中文www| 日韩中文字幕视频在线看片| √禁漫天堂资源中文www| 日韩 亚洲 欧美在线| 中文字幕免费在线视频6| 精品一区二区三卡| 内射极品少妇av片p| 欧美最新免费一区二区三区| 亚洲av成人精品一二三区| 国产精品免费大片| 大片电影免费在线观看免费| 亚洲国产精品一区三区| 国产中年淑女户外野战色| 中国美白少妇内射xxxbb| 亚洲精品久久久久久婷婷小说| 国产一区二区在线观看av| 少妇的逼好多水| 在线观看国产h片| 中文字幕精品免费在线观看视频 | 日本wwww免费看| 精品久久国产蜜桃| 色视频在线一区二区三区| 国内精品宾馆在线| 精品一区二区三区视频在线| 特大巨黑吊av在线直播| av专区在线播放| 伦理电影大哥的女人| 亚洲真实伦在线观看| av天堂久久9| 51国产日韩欧美| 熟妇人妻不卡中文字幕| 久久久精品免费免费高清| 高清黄色对白视频在线免费看 | 亚洲av免费高清在线观看| 国产精品伦人一区二区| 又黄又爽又刺激的免费视频.| 熟女av电影| 看免费成人av毛片| 夜夜看夜夜爽夜夜摸| 国产成人91sexporn| 中文字幕精品免费在线观看视频 | 69精品国产乱码久久久| 中国三级夫妇交换| av国产精品久久久久影院| 在线免费观看不下载黄p国产| 在线观看一区二区三区激情| 色网站视频免费| 免费播放大片免费观看视频在线观看| 久久久久精品久久久久真实原创| 性色avwww在线观看| 亚洲人成网站在线观看播放| 婷婷色综合大香蕉| 国产精品一区www在线观看| 亚洲欧美日韩东京热| 18禁裸乳无遮挡动漫免费视频| 最近2019中文字幕mv第一页| 国产高清不卡午夜福利| 久久人人爽av亚洲精品天堂| 国产免费又黄又爽又色| av福利片在线| 色婷婷久久久亚洲欧美| 性高湖久久久久久久久免费观看| 97在线视频观看| 亚洲不卡免费看| 我的老师免费观看完整版| 日本爱情动作片www.在线观看| 99热这里只有是精品50| 亚洲av成人精品一二三区| 国产美女午夜福利| 插逼视频在线观看| 黄色毛片三级朝国网站 | 亚洲精品国产色婷婷电影| 老熟女久久久| 一区在线观看完整版| 热99国产精品久久久久久7| 人妻一区二区av| 亚州av有码| 久久精品久久久久久久性| 亚洲中文av在线| 免费播放大片免费观看视频在线观看| 大码成人一级视频| 日日撸夜夜添| 最近手机中文字幕大全| 在线观看人妻少妇| 天堂中文最新版在线下载| 亚洲av成人精品一二三区| videossex国产| 亚洲国产毛片av蜜桃av| 在线看a的网站| 国产精品人妻久久久影院| 麻豆成人午夜福利视频| av视频免费观看在线观看| 国产精品偷伦视频观看了| 日本猛色少妇xxxxx猛交久久| 国产免费一区二区三区四区乱码| 亚洲国产毛片av蜜桃av| 亚洲一区二区三区欧美精品| 91久久精品国产一区二区三区| 丝袜脚勾引网站| 18禁动态无遮挡网站| 新久久久久国产一级毛片| a级片在线免费高清观看视频| 日韩一本色道免费dvd| 激情五月婷婷亚洲| 丰满饥渴人妻一区二区三| 欧美激情国产日韩精品一区| 中文欧美无线码| 高清不卡的av网站| 新久久久久国产一级毛片| 欧美日韩一区二区视频在线观看视频在线| 国产成人免费观看mmmm| 热99国产精品久久久久久7| 日韩精品免费视频一区二区三区 | 日韩熟女老妇一区二区性免费视频| 国产免费福利视频在线观看| 亚洲欧美日韩卡通动漫| 国产又色又爽无遮挡免| 成人综合一区亚洲| 日本午夜av视频| 狂野欧美白嫩少妇大欣赏| 国产av精品麻豆| 精品少妇久久久久久888优播| 丁香六月天网| www.色视频.com| 国产精品久久久久久精品古装| 国产精品一区二区性色av| 国产免费视频播放在线视频| 不卡视频在线观看欧美| 狂野欧美激情性xxxx在线观看| 久久久久久久亚洲中文字幕| 精品国产一区二区久久| 日韩 亚洲 欧美在线| 国产精品久久久久久久电影| 精品少妇内射三级| 久久鲁丝午夜福利片| 国产亚洲最大av| 成人美女网站在线观看视频| 亚洲av.av天堂| 国产精品伦人一区二区| 久久99蜜桃精品久久| 黄色视频在线播放观看不卡| 午夜福利网站1000一区二区三区| 春色校园在线视频观看| 插逼视频在线观看| 午夜老司机福利剧场| 看免费成人av毛片| 免费观看性生交大片5| 国产在线男女| 日本猛色少妇xxxxx猛交久久| 丁香六月天网| 日日撸夜夜添| 久久久久久人妻| 国产精品无大码| 乱系列少妇在线播放| av天堂中文字幕网| 好男人视频免费观看在线| 日韩,欧美,国产一区二区三区| 欧美另类一区| 精品视频人人做人人爽| 国产亚洲91精品色在线| 久久国产精品男人的天堂亚洲 | 这个男人来自地球电影免费观看 | 男女无遮挡免费网站观看| 七月丁香在线播放| 午夜精品国产一区二区电影| 欧美日韩视频精品一区| 美女视频免费永久观看网站| 亚洲美女黄色视频免费看| 在线免费观看不下载黄p国产| 人妻夜夜爽99麻豆av| videossex国产| av有码第一页| 亚洲色图综合在线观看| 不卡视频在线观看欧美| 亚洲精品久久午夜乱码| 亚洲欧美日韩东京热| 成人漫画全彩无遮挡| 久久精品熟女亚洲av麻豆精品| 十分钟在线观看高清视频www | 2022亚洲国产成人精品| 最近2019中文字幕mv第一页| 91午夜精品亚洲一区二区三区| 国产片特级美女逼逼视频| 欧美日韩一区二区视频在线观看视频在线| 午夜福利影视在线免费观看| 美女脱内裤让男人舔精品视频| 国产成人a∨麻豆精品| 国产一区二区三区综合在线观看 | 一区二区av电影网| 中文字幕精品免费在线观看视频 | 国产免费一区二区三区四区乱码| 免费黄网站久久成人精品| 日日啪夜夜撸| 久久精品国产亚洲网站| 日日啪夜夜撸| 久久精品久久久久久久性| 日日啪夜夜撸| 韩国高清视频一区二区三区| 国产黄频视频在线观看| 超碰97精品在线观看| 亚洲真实伦在线观看| 久久人人爽人人片av| 欧美精品人与动牲交sv欧美| a 毛片基地| 天天操日日干夜夜撸| 美女cb高潮喷水在线观看| 全区人妻精品视频| 中文字幕精品免费在线观看视频 | 欧美日本中文国产一区发布| 久久99热这里只频精品6学生| 午夜免费男女啪啪视频观看| 精品一区在线观看国产| 日韩欧美一区视频在线观看 | 国产成人一区二区在线| 青青草视频在线视频观看| 18+在线观看网站| 亚洲精品国产色婷婷电影| 少妇被粗大的猛进出69影院 | 91午夜精品亚洲一区二区三区| 国产精品一区www在线观看| 交换朋友夫妻互换小说| 97精品久久久久久久久久精品| 欧美精品一区二区大全| 免费黄色在线免费观看| 久久99蜜桃精品久久| 久久精品久久久久久久性| av播播在线观看一区| 日韩一区二区三区影片| 少妇人妻一区二区三区视频| 狠狠精品人妻久久久久久综合| 日韩伦理黄色片| 亚洲精品国产av成人精品| 国产精品99久久久久久久久| 极品少妇高潮喷水抽搐| 国产精品不卡视频一区二区| 在线观看免费日韩欧美大片 | 免费播放大片免费观看视频在线观看| av女优亚洲男人天堂| 国产欧美亚洲国产| 黑人猛操日本美女一级片| 97在线人人人人妻| 亚洲美女黄色视频免费看| 老司机亚洲免费影院| 伦理电影大哥的女人| 男女国产视频网站| 国产色爽女视频免费观看| 哪个播放器可以免费观看大片| 国产美女午夜福利| 久久国产精品大桥未久av | a级片在线免费高清观看视频| 免费不卡的大黄色大毛片视频在线观看| 秋霞在线观看毛片| freevideosex欧美| 国产精品久久久久久久久免| 亚洲怡红院男人天堂| 中文字幕人妻熟人妻熟丝袜美| 中国三级夫妇交换| 亚洲三级黄色毛片| 我要看日韩黄色一级片| 亚洲国产日韩一区二区| 一区二区三区免费毛片| 亚洲国产精品一区二区三区在线| 中文乱码字字幕精品一区二区三区| 美女大奶头黄色视频| 一级黄片播放器| 国产午夜精品久久久久久一区二区三区| 亚洲av综合色区一区| 亚洲熟女精品中文字幕| 亚洲人成网站在线播| 一区二区av电影网| 免费少妇av软件| 一级a做视频免费观看| 国产又色又爽无遮挡免| 免费观看性生交大片5| 色94色欧美一区二区| 午夜福利影视在线免费观看| 两个人的视频大全免费| 亚洲欧美日韩另类电影网站| 日本午夜av视频| 国产在线一区二区三区精| 国产成人午夜福利电影在线观看| 高清av免费在线| 久久久欧美国产精品| 综合色丁香网| 国产成人精品福利久久| 夜夜骑夜夜射夜夜干| 亚洲精品aⅴ在线观看| 欧美xxxx性猛交bbbb| 中文欧美无线码| 国产91av在线免费观看| 日韩三级伦理在线观看| 观看免费一级毛片| 成人特级av手机在线观看| a级片在线免费高清观看视频| 久久精品久久精品一区二区三区| 人体艺术视频欧美日本| 精品人妻熟女av久视频| 国产 一区精品| 蜜桃久久精品国产亚洲av| 国产成人91sexporn| 欧美97在线视频| 国产高清国产精品国产三级| 国产精品一区二区三区四区免费观看| 99久久精品国产国产毛片| 日韩人妻高清精品专区| 啦啦啦啦在线视频资源| 搡女人真爽免费视频火全软件| 又黄又爽又刺激的免费视频.| 免费av中文字幕在线| 99re6热这里在线精品视频| 一二三四中文在线观看免费高清| 日本-黄色视频高清免费观看| 国产精品久久久久成人av| 成人毛片a级毛片在线播放| 国产精品一二三区在线看| 最新中文字幕久久久久| 黄色欧美视频在线观看| 国产精品女同一区二区软件| 国产高清不卡午夜福利| 国产 精品1| 国产精品偷伦视频观看了| 免费黄网站久久成人精品| 亚洲自偷自拍三级| 久久av网站| 少妇猛男粗大的猛烈进出视频| av.在线天堂| 亚洲欧美日韩另类电影网站| 国产极品粉嫩免费观看在线 | 另类亚洲欧美激情| 日日摸夜夜添夜夜爱| 天堂中文最新版在线下载| 久久人人爽人人片av| 亚洲精品久久久久久婷婷小说| 少妇熟女欧美另类| 日韩人妻高清精品专区| 曰老女人黄片| 高清黄色对白视频在线免费看 | 如日韩欧美国产精品一区二区三区 | 久久99热这里只频精品6学生| 久久久久久久久久人人人人人人| 乱系列少妇在线播放| 日本色播在线视频| 99热这里只有是精品50| 18禁在线播放成人免费| .国产精品久久| 丝袜脚勾引网站| 一区在线观看完整版| 久久久a久久爽久久v久久| 久久ye,这里只有精品| 看十八女毛片水多多多| 中文乱码字字幕精品一区二区三区| 亚洲欧美精品专区久久| 亚洲国产精品国产精品| 男女国产视频网站| .国产精品久久| 国产黄色视频一区二区在线观看| 26uuu在线亚洲综合色| 国产色婷婷99| 在线观看美女被高潮喷水网站| 最近中文字幕2019免费版| 久久精品夜色国产| 亚洲国产av新网站| 99久久精品一区二区三区| 日日爽夜夜爽网站| 国产成人精品久久久久久| 麻豆乱淫一区二区| 亚洲伊人久久精品综合| 国产精品人妻久久久久久| 大片免费播放器 马上看| 亚洲激情五月婷婷啪啪| 日韩欧美国产一区二区入口| 亚洲精品国产一区二区精华液| 中文字幕人妻丝袜一区二区| 午夜福利影视在线免费观看| 国产黄频视频在线观看| tube8黄色片| 黄片播放在线免费| 51午夜福利影视在线观看| 另类精品久久| 精品欧美一区二区三区在线| 精品人妻熟女毛片av久久网站| av不卡在线播放| 国产av又大| 天天影视国产精品| av在线播放精品| 男女下面插进去视频免费观看| 每晚都被弄得嗷嗷叫到高潮| 欧美日韩亚洲国产一区二区在线观看 | 在线观看免费高清a一片| 69av精品久久久久久 | 国产一区二区激情短视频 | 别揉我奶头~嗯~啊~动态视频 | 高潮久久久久久久久久久不卡| 久久人妻熟女aⅴ| 激情视频va一区二区三区| av片东京热男人的天堂| 亚洲av美国av| 高清欧美精品videossex| 欧美成狂野欧美在线观看| 在线观看人妻少妇| 精品第一国产精品| 中文字幕另类日韩欧美亚洲嫩草| 欧美日韩黄片免| 亚洲国产欧美在线一区| 国产精品九九99| av免费在线观看网站| 99久久国产精品久久久| 国产欧美日韩一区二区三 | 日本黄色日本黄色录像| 手机成人av网站| 亚洲欧美成人综合另类久久久| 久久毛片免费看一区二区三区| 午夜91福利影院| 91国产中文字幕| tube8黄色片| 久久青草综合色| 母亲3免费完整高清在线观看| 18禁观看日本| svipshipincom国产片| 免费高清在线观看日韩| 韩国高清视频一区二区三区| 亚洲国产欧美在线一区| 国产精品.久久久| av免费在线观看网站| 免费不卡黄色视频| 亚洲久久久国产精品| 一边摸一边抽搐一进一出视频| 亚洲人成电影免费在线| 他把我摸到了高潮在线观看 | 国产在线观看jvid| 精品少妇久久久久久888优播| av网站免费在线观看视频| www.自偷自拍.com| 丰满迷人的少妇在线观看| 在线看a的网站| www.自偷自拍.com| 两个人看的免费小视频| 国产福利在线免费观看视频| www.自偷自拍.com| 黑人欧美特级aaaaaa片| 交换朋友夫妻互换小说| 欧美+亚洲+日韩+国产| 丰满迷人的少妇在线观看| 满18在线观看网站| 99久久人妻综合| 91老司机精品| 欧美精品人与动牲交sv欧美| 极品少妇高潮喷水抽搐| 看免费av毛片| 久久久久久久久久久久大奶| av线在线观看网站| 色视频在线一区二区三区| 亚洲国产欧美一区二区综合| 91成人精品电影| 一级毛片女人18水好多| 午夜福利在线观看吧|