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

    一種面向消息的中間件的設(shè)計(jì)與實(shí)現(xiàn)

    2019-03-28 13:16:12孫弋溫迅
    物聯(lián)網(wǎng)技術(shù) 2019年3期

    孫弋 溫迅

    摘 要:中間件是位于硬件操作系統(tǒng)和應(yīng)用之間的通用服務(wù)。基于遠(yuǎn)程調(diào)用的中間件技術(shù)已廣泛應(yīng)用于各個(gè)領(lǐng)域。但介于其同步通信、客戶端/服務(wù)器強(qiáng)耦合且只能進(jìn)行點(diǎn)對(duì)點(diǎn)通信的問題,其應(yīng)用始終有相應(yīng)局限。面向消息的中間件因其忽略平臺(tái)異構(gòu)性、異步通信等良好特點(diǎn)恰好可以解決以上問題。利用SUN公司提出的JMS規(guī)范,設(shè)計(jì)消息模型用于通信,通過Java NIO事件驅(qū)動(dòng)的編程模型實(shí)現(xiàn)異步通信,最后實(shí)現(xiàn)一種面向消息的中間件系統(tǒng),并給出了該消息中間件在某高校選課系統(tǒng)中的良好應(yīng)用。

    關(guān)鍵詞:消息中間件;消息服務(wù);消息隊(duì)列;異步通信;JMS規(guī)范;Java

    中圖分類號(hào):TP311.1文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2095-1302(2019)03-00-04

    0 引 言

    隨著企業(yè)系統(tǒng)中分布式架構(gòu)的普及和系統(tǒng)的不斷擴(kuò)大,在異構(gòu)和分布環(huán)境下完成企業(yè)的業(yè)務(wù)管理、數(shù)據(jù)共享和數(shù)據(jù)傳輸已成為行業(yè)的焦點(diǎn),這種環(huán)境下,中間件技術(shù)應(yīng)運(yùn)而生。CORBA(公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu)),DCOM(分布式組件對(duì)象模型),RMI(遠(yuǎn)程方法調(diào)用)等以遠(yuǎn)程調(diào)用為主的RPC(遠(yuǎn)程過程調(diào)用)中間件技術(shù)已廣泛應(yīng)用于各個(gè)領(lǐng)域[1],但是面對(duì)愈加復(fù)雜的分布式系統(tǒng),這些技術(shù)的局限性也愈加明顯:

    (1)同步通信,客戶端發(fā)出請(qǐng)求后,須等待接收服務(wù)器的響應(yīng)結(jié)果才能繼續(xù)執(zhí)行;

    (2)客戶端與服務(wù)器強(qiáng)耦合,客戶端和服務(wù)器必須同時(shí)正常運(yùn)行;

    (3)點(diǎn)對(duì)點(diǎn)通信,只有一組客戶端和服務(wù)器的通信。

    面向消息的中間件(Message-Oriented Middleware, MOM)較好地解決了以上問題[2]。在消息中間件中,區(qū)別于傳統(tǒng)的遠(yuǎn)程通信客戶端和服務(wù)器的概念,通信的兩端分別為Producer(生產(chǎn)者,發(fā)送消息的一方)和Consumer(消費(fèi)者,接受消息的一方)。生產(chǎn)者將消息發(fā)送到中間件服務(wù)器中,中間件將消息通過消息隊(duì)列進(jìn)行管理[3],在合適的時(shí)候再轉(zhuǎn)發(fā)給消費(fèi)者。這種模式下發(fā)送者和接收者之間是異步的,二者生命周期未必相同。同時(shí),一條消息的接收者也不一定唯一,對(duì)于一個(gè)消息可以有多個(gè)接收者。

    面向消息的中間件系統(tǒng)為企業(yè)提供數(shù)據(jù)傳輸服務(wù)已經(jīng)多年,但始終沒有統(tǒng)一的標(biāo)準(zhǔn)[4]。這使得各中間件廠商產(chǎn)品的實(shí)現(xiàn)和接口各異,不同廠商中間件系統(tǒng)之間難以實(shí)現(xiàn)互操作和無縫連接。在SUN公司提出Java消息服務(wù)(Java Message Service,JMS)規(guī)范后有所改觀。

    本文深入研究了SUN公司的JMS規(guī)范,同時(shí)在此基礎(chǔ)上,基于JMS規(guī)范設(shè)計(jì)實(shí)現(xiàn)了中間件系統(tǒng),并給出一個(gè)在高校選課系統(tǒng)中消息中間件的應(yīng)用實(shí)例。

    1 Java消息服務(wù)

    Java消息服務(wù)(JMS)是由SUN公司提出的消息中間件規(guī)范。因此JMS規(guī)范只是一系列統(tǒng)一的接口,并沒有具體實(shí)現(xiàn)。用戶可根據(jù)自己的需求對(duì)JMS接口進(jìn)行實(shí)現(xiàn),因?yàn)樵摻涌谂c消息提供者無關(guān),因此客戶端的應(yīng)用程序可在不同機(jī)器和系統(tǒng)中移植[5]。同時(shí)還可結(jié)合用戶實(shí)際業(yè)務(wù)而不同實(shí)現(xiàn),以達(dá)到滿意的效果。

    1.1 JMS通信方式

    JMS提供客戶端與服務(wù)器的同步和異步連接,并在任何時(shí)候可對(duì)消息進(jìn)行傳送和儲(chǔ)存轉(zhuǎn)發(fā)。消息傳輸中支持兩種截然不同的通信模型:點(diǎn)對(duì)點(diǎn)模型和發(fā)布/訂閱模型[6]。

    (1)點(diǎn)對(duì)點(diǎn)模型:使用Queue(即隊(duì)列)。消息從一個(gè)生產(chǎn)者傳送到一個(gè)消費(fèi)者。在此傳送模型中,消息目的地是一個(gè)隊(duì)列。消息首先傳遞給隊(duì)列目標(biāo),再將消息從隊(duì)列發(fā)送給注冊(cè)到此隊(duì)列的消費(fèi)者。向隊(duì)列發(fā)送消息的生產(chǎn)者數(shù)量是沒有限制的,但每個(gè)消息只能由一個(gè)消費(fèi)者消費(fèi)。如果沒有已注冊(cè)到隊(duì)列目標(biāo)的消費(fèi)者,隊(duì)列將保存接收到的消息,當(dāng)消費(fèi)者注冊(cè)到隊(duì)列時(shí)再傳遞給該消費(fèi)者。點(diǎn)對(duì)點(diǎn)模型如圖1所示。

    (2)發(fā)布/訂閱模型:使用Topic(即主題)。消息從一個(gè)生產(chǎn)者傳送到任何數(shù)量的消費(fèi)者。在此傳送模型中,消息目的地是一個(gè)主題。消息首先傳遞給主題目標(biāo),再傳遞給訂閱此主題的所有活動(dòng)消費(fèi)者。向主題對(duì)象發(fā)送消息的生產(chǎn)者的數(shù)量沒有限制,并且每條消息都可發(fā)送給任意數(shù)量的訂閱者[7]。主題目標(biāo)也支持持久訂閱的概念。持久訂閱意味著消費(fèi)者已注冊(cè)了主題目標(biāo),但該消費(fèi)者在消息傳遞時(shí)可能處于非活動(dòng)狀態(tài)。當(dāng)這位消費(fèi)者再次進(jìn)入活躍狀態(tài)時(shí),會(huì)收到此信息。發(fā)布/訂閱模型如圖2所示。

    1.2 JMS消息數(shù)據(jù)結(jié)構(gòu)

    在消息中間件中,通信的兩端通過消息傳遞信息。JMS消息對(duì)象是應(yīng)用程序之間通信的基本單元。JMS消息由消息頭、消息屬性和消息體組成。消息頭描述了消息的創(chuàng)建者、創(chuàng)建時(shí)間、數(shù)據(jù)的有效長度、消息的目標(biāo)隊(duì)列或主題的路由信息。屬性由客戶端定義和設(shè)置,消息體是消息的主要部分,它描述消息的內(nèi)容。JMS消息模型如圖3所示。

    (1)消息頭:所有JMS消息都支持統(tǒng)一的消息頭域,消息頭包含標(biāo)識(shí)信息和路由信息。一個(gè)完整的消息頭將會(huì)傳送給所有接收消息的JMS客戶端,但不會(huì)傳送給非JMS客戶端。

    (2)消息屬性:可認(rèn)為消息屬性是附加的消息頭,用來支持JMS消息構(gòu)建工具需要的屬性值。為消息提供了一種附加可選擇的消息頭機(jī)制。附帶應(yīng)用獲其他數(shù)據(jù),用于消息選擇器。

    (3)消息體:JMS根據(jù)要攜帶的消息類型,規(guī)定消息中間件必須支持6種消息接口類型,但JMS并未定義這幾種消息接口的實(shí)現(xiàn)方式。因此允許消息提供者以自己的方式實(shí)現(xiàn)和傳送消息。這幾個(gè)接口分別是Message及該接口的5個(gè)子接口TextMessage,MapMessage,StreamMessage,ByteMessage和ObjectMessage[8]。

    1.3 JMS編程模型

    在JMS編程模型中,JMS客戶端通過消息服務(wù)進(jìn)行消息通信。消息生產(chǎn)者向消息服務(wù)發(fā)送信息,同時(shí)消費(fèi)者從消息服務(wù)中接受這些信息。整個(gè)通信過程使用一組JMS接口的對(duì)象來執(zhí)行。

    在JMS編程模型中,JMS客戶端使用ConnectionFactory對(duì)象創(chuàng)建一個(gè)連接對(duì)象Connection,該對(duì)象用來向消息服務(wù)發(fā)送消息或接收消息。創(chuàng)建連接時(shí),將分配通信資源。大多數(shù)的客戶端均使用同一個(gè)連接對(duì)象來進(jìn)行所有的消息通信。

    接下來通過連接對(duì)象創(chuàng)建Session會(huì)話對(duì)象。Session是一個(gè)用于生成和使用消息的單線程上下文對(duì)象。用于創(chuàng)建通信的MessageProducer(生產(chǎn)者),MessageConsumer(消費(fèi)者)和Destination(消息目的地),并為發(fā)送的消息定義順序。該對(duì)象通過大量的確認(rèn)選項(xiàng)或事務(wù)來支持可靠傳輸。

    發(fā)送消息時(shí),客戶端使用MessageProducer指定Destination對(duì)象。消息生產(chǎn)者可設(shè)置默認(rèn)傳送模式(是否持久化)、優(yōu)先級(jí)和有效期值,對(duì)發(fā)往消息服務(wù)的信息進(jìn)行控制。

    接收消息時(shí),客戶端使用MessageConsumer對(duì)象從指定的Destination對(duì)象接收消息。接收過程中可使用消息選擇器來接收消息客戶端感興趣的消息。

    消費(fèi)者支持同步或異步消息接收。異步接收時(shí)可向消費(fèi)者注冊(cè)MessageListener(消息監(jiān)聽器)。當(dāng)會(huì)話線程調(diào)用MessageListener對(duì)象的onMessage()方法時(shí),客戶端將接收該消息。JMS編程模型如圖4所示。

    2 消息隊(duì)列中間件的實(shí)現(xiàn)

    2.1 消息隊(duì)列技術(shù)

    消息中間件采用消息隊(duì)列技術(shù)和基于消息傳遞的異步通信機(jī)制。在分布式和異構(gòu)環(huán)境中,傳統(tǒng)應(yīng)用程序之間的相互通信需要雙方同步執(zhí)行。 各系統(tǒng)應(yīng)用間耦合性過強(qiáng),在消息中間件中使用消息隊(duì)列技術(shù),可大大減少程序之間的耦合度,應(yīng)用程序只需發(fā)送一條消息后可繼續(xù)操作。接收方應(yīng)用程序也無需監(jiān)視整個(gè)接收過程,只需從隊(duì)列中讀取消息并對(duì)其進(jìn)行處理即可。

    2.2 基于JMS的消息中間件的體系結(jié)構(gòu)

    消息中間件在結(jié)構(gòu)上分為兩個(gè)部分,客戶端和服務(wù)端。其中包含了一個(gè)JMS應(yīng)用必備的4個(gè)模塊,分別是JMS客戶端、JMS提供者、消息和JNDI服務(wù)。JMS消息中間件體系結(jié)構(gòu)如圖5所示。

    其中消息中間件服務(wù)包含JMS服務(wù)(消息服務(wù))和JNDI服務(wù)(命名對(duì)象服務(wù))。JMS規(guī)范中提供兩種受管對(duì)象,ConnectionFactory和Destinatio,即前文提到的連接工廠和消息目的地需要由JNDI命名空間進(jìn)行管理。JMS受管對(duì)象如圖6所示。

    2.3 JMS消息中間件的實(shí)現(xiàn)

    2.3.1 服務(wù)器端的實(shí)現(xiàn)

    (1)服務(wù)器的實(shí)現(xiàn)

    JMS服務(wù)器是消息中間件服務(wù)的核心。服務(wù)器啟動(dòng)時(shí),初始化服務(wù)器,讀取主機(jī)地址、監(jiān)聽端口、服務(wù)類型等相關(guān)參數(shù),并啟動(dòng)相應(yīng)的組件。JMS Server結(jié)構(gòu)如圖7所示。

    通過讀取到的相關(guān)參數(shù),創(chuàng)建ServerBroker組件。同時(shí)監(jiān)聽相關(guān)端口中來自客戶端的請(qǐng)求。ServerBroker組件用來處理與客戶端的消息通信;JMS Server的具體實(shí)現(xiàn)的主要API見表1所列。

    最后,將啟動(dòng)的ServerBroker組件保存在列表當(dāng)中,該列表保存所有當(dāng)前活動(dòng)的客戶端連接。

    消息服務(wù)可通過多種方式實(shí)現(xiàn)消息通信,如TCP,UDP,RMI,HTTP等,通過定義ServerBroker接口,規(guī)范連接過程并將具體通信方式做不同實(shí)現(xiàn)。

    (2)ServerBroker接口

    該消息服務(wù)的ServerBroker采用TCP方式進(jìn)行通信,調(diào)用start()方法后,創(chuàng)建一個(gè)ServerSocket監(jiān)聽客戶端請(qǐng)求。收到連接請(qǐng)求后,ServerBroker會(huì)創(chuàng)建一個(gè)新線程,并通過ServerSocket的accep()方法獲取客戶端socket與之通信。ServerBroker API見表2所列。

    (3)Transport類的實(shí)現(xiàn)

    ServerBroker組件通過Transport類實(shí)現(xiàn)消息傳遞,該類在一個(gè)新的線程當(dāng)中,通過其send()方法輪詢的發(fā)送隊(duì)列中的消息。該線程將一直處于輪詢狀態(tài)直到調(diào)用了stopTransport()方法。Transport API見表3所列。

    (4)JNDIServer類的實(shí)現(xiàn)

    JNDI服務(wù)主要用于管理受管對(duì)象ConnectionFactory和Destination。初始化JNDI服務(wù)后,TCPConnection方法創(chuàng)建ServerSocket用來監(jiān)聽客戶端的請(qǐng)求并與之建立連接。最后通過管理器通過bind()方法綁定JNDI受管對(duì)象和消息目的地。同時(shí)客戶端可通過lookup()方法獲取已注冊(cè)的受管對(duì)象。JNDI Server見表4所列。

    2.3.2 客戶端API的實(shí)現(xiàn)

    客戶端實(shí)現(xiàn)由JMS API定義的標(biāo)準(zhǔn)接口。 本系統(tǒng)的JMS客戶接口的主要實(shí)現(xiàn)如下:

    (1)Connection對(duì)象

    Connection是JMS客戶端和JMS消息服務(wù)之間處于活動(dòng)狀態(tài)的套接字。Connection在創(chuàng)建客戶端時(shí)對(duì)其可指定唯一的客戶端標(biāo)識(shí)符。連接創(chuàng)建后,它處于掛起模式,此時(shí)不提供任何消息。直到客戶調(diào)用 start()方法開始消息傳遞。JMS針對(duì)兩種消息模型定義了兩種連接對(duì)象。我們?cè)诖藢?shí)現(xiàn)QueueConnectionImpl和TopicConnectionImpl。主要功能為獲取Session對(duì)象和啟動(dòng)關(guān)閉連接。

    (2)Session對(duì)象

    Session對(duì)象是通信中消息的創(chuàng)建者、生產(chǎn)者、消費(fèi)者、主題和隊(duì)列的生產(chǎn)工廠。針對(duì)JMS規(guī)范,創(chuàng)建實(shí)現(xiàn)類SessionImpl,用于創(chuàng)建不同類型的消息,并返回相應(yīng)Message對(duì)象;用于創(chuàng)建通信的客戶端、生產(chǎn)者、消費(fèi)者;用于創(chuàng)建消息目的地和消息模型。

    (3)MessageProducer對(duì)象

    MessageProducer對(duì)象由Session對(duì)象創(chuàng)建,主要用于向?qū)?yīng)Destination發(fā)送消息。其中主要實(shí)現(xiàn)其send()方法。通過設(shè)定目的地、傳送方式、優(yōu)先級(jí)等發(fā)送消息。

    (4)MessageComsumer對(duì)象

    MessageConsumer是Session對(duì)象所創(chuàng)建,用于接收來自Destination 的消息。主要實(shí)現(xiàn)receive()方法用來接收消息。receive()方法中可配置消息選擇器用于配置接收期望的消息。同時(shí)可選擇通過或異步的接收消息。對(duì)于同步接收,采用輪詢的辦法;對(duì)于異步接收,將會(huì)注冊(cè)一個(gè)消息監(jiān)聽器MessageListener對(duì)象,并通過其OnMessage方法來處理異步消息。

    2.3.3 消息模型的實(shí)現(xiàn)

    消息模型按照J(rèn)MS規(guī)范中消息結(jié)構(gòu)的定義對(duì)其進(jìn)行實(shí)現(xiàn)。消息頭中,Messageheader類中包含了Destination,MessageID,Priority等消息識(shí)別信息和路由信息。JMSMessageID唯一標(biāo)識(shí)了隊(duì)列或主題中的每一個(gè)消息。

    2.3.4 消息隊(duì)列中間件在高校選課系統(tǒng)中的應(yīng)用

    高校選課系統(tǒng)中的主要需求是選課時(shí)對(duì)課程余量的并發(fā)爭搶。有限的課程數(shù)量面對(duì)瞬時(shí)的高并發(fā)請(qǐng)求,此時(shí)就可利用消息中間件良好的異步通信特性來實(shí)現(xiàn)。當(dāng)用戶點(diǎn)擊選課按鈕后,將請(qǐng)求發(fā)送至中間件服務(wù)器。隊(duì)列管理器開始將請(qǐng)求加入課程選課隊(duì)列,成功則告知正在選課,否則客戶端響應(yīng)選課結(jié)束。對(duì)于隊(duì)列中的選課請(qǐng)求則進(jìn)行課程余量減庫存處理,并記錄結(jié)果。選課過程完成后標(biāo)記選課結(jié)束,并清空選課隊(duì)列,避免重復(fù)判斷和處理[9-10]。

    用戶輪詢結(jié)果,如果選課結(jié)束且該用戶選課失敗,則跳轉(zhuǎn)到選課結(jié)束頁面,否則繼續(xù)等待直到成功。后面選課結(jié)果的持久化,則是選課邏輯中需要操作的業(yè)務(wù)。消息中間件在高校選課系統(tǒng)中的應(yīng)用實(shí)例如圖8所示。

    4 結(jié) 語

    消息中間件在大型企業(yè)分布式應(yīng)用中具有豐富的應(yīng)用。相較于通過遠(yuǎn)程調(diào)用實(shí)現(xiàn)服務(wù)傳遞的系統(tǒng),面向消息的中間件提出了一種靈活、擴(kuò)展性好且使用簡單的通信模式??蔀楦卟l(fā)需求提供緩沖,也可忽略平臺(tái)異構(gòu)性,為分布式應(yīng)用提供簡單的中間橋梁。極大地增強(qiáng)了系統(tǒng)集成的簡易程度和擴(kuò)展性,降低了系統(tǒng)更新維護(hù)成本和難度,使系統(tǒng)更加高效運(yùn)行。目前,面向消息的中間件系統(tǒng)已成為中間件系統(tǒng)中發(fā)展最快體系,有著非常廣闊的前景。

    參 考 文 獻(xiàn)

    [1]陳旭東. 基于CORBA技術(shù)的綜合電信網(wǎng)管系統(tǒng)的構(gòu)建[D].北京:華北電力大學(xué),2005.

    [2]張靖,邱云.JMS信息發(fā)布異構(gòu)平臺(tái)應(yīng)用研究[J].煤炭技術(shù),2010,29(1):209-211.

    [3]何雙元. 高并發(fā)下消息隊(duì)列模型的研究與應(yīng)用[D].武漢:武漢理工大學(xué),2015.

    [4]朱方娥,曹寶香.基于JMS的消息隊(duì)列中間件的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008(5):172-175.

    [5]汪濤. 基于SOA架構(gòu)的中間件應(yīng)用集成研究[D].西安:西安電子科技大學(xué),2011.

    [6] 佚名.Java Message Service API Rev[EB/OL].[2002-04-08].http: //java.sun. com/products/jms/.

    [7]李艷春,李新,焦文彬.分布式信息系統(tǒng)中數(shù)據(jù)交換平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2012(7):2640-2645.

    [8]珍兆科.Java EE 6開發(fā)手冊(cè)·高級(jí)篇[M].北京:電子工業(yè)出版社,2014.

    [9]王迎.自動(dòng)化測試平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D]北京:北京交通大學(xué),2015.

    [10]邵作鎮(zhèn),萬曉冬.基于STAF的軟件自動(dòng)化測試研究與應(yīng)用[J].電子科技,2010(7):9-11.

    亚洲自偷自拍图片 自拍| 国产精品久久久久久亚洲av鲁大| 99国产精品一区二区三区| 热re99久久国产66热| 国产成人av激情在线播放| 制服人妻中文乱码| 亚洲男人的天堂狠狠| 欧美黄色淫秽网站| 日本撒尿小便嘘嘘汇集6| 国产精品美女特级片免费视频播放器 | 香蕉av资源在线| 老司机靠b影院| 国产视频一区二区在线看| 老司机在亚洲福利影院| 国产伦在线观看视频一区| 一卡2卡三卡四卡精品乱码亚洲| 色播亚洲综合网| 狠狠狠狠99中文字幕| 国产黄色小视频在线观看| 90打野战视频偷拍视频| 他把我摸到了高潮在线观看| 香蕉av资源在线| 欧美激情 高清一区二区三区| 国产精品,欧美在线| 在线天堂中文资源库| 欧美日韩亚洲国产一区二区在线观看| 成年人黄色毛片网站| 91av网站免费观看| 亚洲精品美女久久久久99蜜臀| 欧美激情 高清一区二区三区| 国产91精品成人一区二区三区| 男女做爰动态图高潮gif福利片| 97人妻精品一区二区三区麻豆 | 午夜福利在线在线| 村上凉子中文字幕在线| 亚洲国产精品sss在线观看| 欧美av亚洲av综合av国产av| 国产不卡一卡二| 黄色女人牲交| 亚洲成av片中文字幕在线观看| 国产又色又爽无遮挡免费看| 国产男靠女视频免费网站| 男女午夜视频在线观看| 搡老岳熟女国产| 亚洲成人国产一区在线观看| 亚洲无线在线观看| 久久久久久久精品吃奶| 男人操女人黄网站| 久久久国产成人精品二区| 一本精品99久久精品77| 波多野结衣巨乳人妻| 亚洲午夜精品一区,二区,三区| 精品一区二区三区视频在线观看免费| 男人舔奶头视频| 97人妻精品一区二区三区麻豆 | 亚洲无线在线观看| 制服丝袜大香蕉在线| 欧美性猛交╳xxx乱大交人| 成人永久免费在线观看视频| 无限看片的www在线观看| 熟妇人妻久久中文字幕3abv| 97碰自拍视频| 午夜福利免费观看在线| 三级毛片av免费| 50天的宝宝边吃奶边哭怎么回事| 欧美三级亚洲精品| 国产主播在线观看一区二区| 老鸭窝网址在线观看| 夜夜夜夜夜久久久久| 一级毛片精品| 亚洲 国产 在线| 亚洲精品美女久久av网站| 男人的好看免费观看在线视频 | 青草久久国产| 亚洲欧洲精品一区二区精品久久久| 色婷婷久久久亚洲欧美| 午夜福利欧美成人| 久久精品国产亚洲av高清一级| 1024视频免费在线观看| 香蕉丝袜av| 国产一区二区三区在线臀色熟女| 国产精品爽爽va在线观看网站 | 免费高清视频大片| 国产蜜桃级精品一区二区三区| 在线永久观看黄色视频| 日韩成人在线观看一区二区三区| 国产精品久久久久久亚洲av鲁大| 不卡一级毛片| www日本在线高清视频| 亚洲精品一卡2卡三卡4卡5卡| 亚洲五月色婷婷综合| 亚洲色图av天堂| 国产精品国产高清国产av| 久热爱精品视频在线9| 午夜两性在线视频| 亚洲精品在线美女| 少妇粗大呻吟视频| 神马国产精品三级电影在线观看 | 91老司机精品| xxx96com| 啦啦啦韩国在线观看视频| 中文字幕高清在线视频| 一级黄色大片毛片| 给我免费播放毛片高清在线观看| a在线观看视频网站| 欧美另类亚洲清纯唯美| 老司机在亚洲福利影院| 精品熟女少妇八av免费久了| 欧美人与性动交α欧美精品济南到| 国产成人影院久久av| 亚洲色图 男人天堂 中文字幕| 久99久视频精品免费| 亚洲一区高清亚洲精品| 亚洲国产精品久久男人天堂| 一本精品99久久精品77| 日日爽夜夜爽网站| 一二三四在线观看免费中文在| 成人国产综合亚洲| 天天躁夜夜躁狠狠躁躁| 99re在线观看精品视频| 免费电影在线观看免费观看| 免费在线观看影片大全网站| 男女午夜视频在线观看| 白带黄色成豆腐渣| 一级毛片高清免费大全| 国产伦一二天堂av在线观看| 精品一区二区三区视频在线观看免费| 日韩欧美一区二区三区在线观看| 禁无遮挡网站| 一级毛片精品| 午夜视频精品福利| 欧美性猛交黑人性爽| 亚洲成人久久爱视频| 国产激情久久老熟女| 国产精品1区2区在线观看.| 精品乱码久久久久久99久播| 国产视频内射| 成年版毛片免费区| 欧美性猛交黑人性爽| 国产成人欧美在线观看| 精品国产亚洲在线| 叶爱在线成人免费视频播放| 成人18禁高潮啪啪吃奶动态图| 欧美亚洲日本最大视频资源| 国产伦人伦偷精品视频| 两个人看的免费小视频| 人人妻,人人澡人人爽秒播| 精品免费久久久久久久清纯| 国内精品久久久久精免费| 神马国产精品三级电影在线观看 | 午夜免费激情av| 亚洲精品av麻豆狂野| 亚洲精品一区av在线观看| 狠狠狠狠99中文字幕| 国产精品亚洲av一区麻豆| 可以在线观看毛片的网站| 亚洲熟女毛片儿| 一a级毛片在线观看| 俄罗斯特黄特色一大片| 久久性视频一级片| 国产久久久一区二区三区| 国产激情欧美一区二区| 777久久人妻少妇嫩草av网站| 亚洲国产精品sss在线观看| a级毛片a级免费在线| 男人操女人黄网站| 黑人欧美特级aaaaaa片| 日本熟妇午夜| 韩国精品一区二区三区| 91麻豆精品激情在线观看国产| 大型av网站在线播放| 欧美成人免费av一区二区三区| 99国产精品99久久久久| 天天躁夜夜躁狠狠躁躁| 99国产精品一区二区三区| 黄色成人免费大全| 丁香欧美五月| a级毛片a级免费在线| 高清毛片免费观看视频网站| 中出人妻视频一区二区| 人人妻人人看人人澡| 精品电影一区二区在线| 18美女黄网站色大片免费观看| 亚洲精品av麻豆狂野| 巨乳人妻的诱惑在线观看| 一边摸一边抽搐一进一小说| 国产免费男女视频| 88av欧美| 法律面前人人平等表现在哪些方面| 999精品在线视频| 免费看美女性在线毛片视频| 国产精品电影一区二区三区| 久久99热这里只有精品18| 亚洲人成电影免费在线| 女同久久另类99精品国产91| videosex国产| 精品一区二区三区av网在线观看| av在线播放免费不卡| 欧美人与性动交α欧美精品济南到| 老司机深夜福利视频在线观看| 岛国视频午夜一区免费看| 国产区一区二久久| 黄色 视频免费看| 性色av乱码一区二区三区2| 91大片在线观看| 2021天堂中文幕一二区在线观 | 日韩精品中文字幕看吧| 亚洲av电影在线进入| 欧美日韩亚洲国产一区二区在线观看| 日韩精品中文字幕看吧| 在线观看一区二区三区| 18禁美女被吸乳视频| 中国美女看黄片| 国产成人精品无人区| 1024手机看黄色片| 免费观看精品视频网站| 欧美三级亚洲精品| 国产高清激情床上av| 最近最新中文字幕大全免费视频| 久久精品国产99精品国产亚洲性色| 色播在线永久视频| 91成人精品电影| 91av网站免费观看| 日本撒尿小便嘘嘘汇集6| 91九色精品人成在线观看| av中文乱码字幕在线| 黄色女人牲交| 身体一侧抽搐| 亚洲成人国产一区在线观看| 国产成人影院久久av| √禁漫天堂资源中文www| 欧美激情久久久久久爽电影| 妹子高潮喷水视频| 天堂√8在线中文| 香蕉国产在线看| 精品一区二区三区av网在线观看| 亚洲 欧美 日韩 在线 免费| 国产av又大| 久久性视频一级片| 亚洲欧洲精品一区二区精品久久久| 色综合婷婷激情| 伊人久久大香线蕉亚洲五| АⅤ资源中文在线天堂| 男人操女人黄网站| 精品第一国产精品| 午夜激情av网站| 国产主播在线观看一区二区| 亚洲五月天丁香| 国产片内射在线| 国语自产精品视频在线第100页| 在线视频色国产色| 国产黄色小视频在线观看| 久久久久国产一级毛片高清牌| 欧美绝顶高潮抽搐喷水| 久久国产精品男人的天堂亚洲| 国产精品久久久久久人妻精品电影| 老司机福利观看| 国产精品一区二区精品视频观看| 99热只有精品国产| 日韩大码丰满熟妇| 精品久久久久久久久久久久久 | 久热爱精品视频在线9| 深夜精品福利| 国产成人欧美在线观看| 久久久久亚洲av毛片大全| 一本久久中文字幕| 国产伦一二天堂av在线观看| 亚洲精品粉嫩美女一区| 啦啦啦观看免费观看视频高清| 日韩欧美一区视频在线观看| 黄片大片在线免费观看| 日韩大尺度精品在线看网址| 每晚都被弄得嗷嗷叫到高潮| 免费高清视频大片| 一级作爱视频免费观看| 国产99久久九九免费精品| 男人舔奶头视频| 十八禁人妻一区二区| 日本熟妇午夜| 精品国产乱码久久久久久男人| 国产精品电影一区二区三区| 88av欧美| 黑人欧美特级aaaaaa片| 一区二区日韩欧美中文字幕| 久久性视频一级片| 欧美最黄视频在线播放免费| 人人妻人人澡欧美一区二区| 好男人在线观看高清免费视频 | 精品欧美国产一区二区三| 婷婷精品国产亚洲av| 国产精品自产拍在线观看55亚洲| 男女那种视频在线观看| 久久精品国产清高在天天线| 丰满人妻熟妇乱又伦精品不卡| 亚洲欧美日韩无卡精品| 久久久精品国产亚洲av高清涩受| 欧美日韩黄片免| 最近最新免费中文字幕在线| 亚洲av五月六月丁香网| 免费女性裸体啪啪无遮挡网站| 热re99久久国产66热| 天堂动漫精品| 午夜免费鲁丝| 亚洲男人天堂网一区| www.精华液| 国产在线观看jvid| www国产在线视频色| 亚洲精品在线观看二区| 亚洲人成伊人成综合网2020| 波多野结衣高清无吗| 久久久国产成人免费| 老司机在亚洲福利影院| 亚洲熟妇熟女久久| 亚洲成国产人片在线观看| 色婷婷久久久亚洲欧美| 亚洲精品久久成人aⅴ小说| 一本久久中文字幕| 黄色毛片三级朝国网站| 99国产极品粉嫩在线观看| 久久久久久久精品吃奶| 欧美绝顶高潮抽搐喷水| 51午夜福利影视在线观看| 在线观看舔阴道视频| 女性生殖器流出的白浆| 黄色毛片三级朝国网站| 国产亚洲欧美在线一区二区| 一区二区三区国产精品乱码| videosex国产| 9191精品国产免费久久| 国产精品自产拍在线观看55亚洲| 黄片播放在线免费| 欧美一区二区精品小视频在线| 成人亚洲精品一区在线观看| 久久这里只有精品19| 不卡av一区二区三区| 免费电影在线观看免费观看| 中文字幕人妻熟女乱码| 亚洲午夜理论影院| 久久狼人影院| 又大又爽又粗| 人妻丰满熟妇av一区二区三区| 韩国精品一区二区三区| 满18在线观看网站| 国产人伦9x9x在线观看| 国产精品综合久久久久久久免费| 一夜夜www| 高潮久久久久久久久久久不卡| 久久久国产欧美日韩av| 嫁个100分男人电影在线观看| 亚洲精品av麻豆狂野| 丁香欧美五月| 青草久久国产| 成人精品一区二区免费| 午夜福利欧美成人| 久9热在线精品视频| 欧美日韩瑟瑟在线播放| 国产精品久久久久久人妻精品电影| 少妇熟女aⅴ在线视频| 日本a在线网址| 熟妇人妻久久中文字幕3abv| 日韩欧美免费精品| 99国产精品一区二区三区| 日本免费a在线| 香蕉久久夜色| 男女之事视频高清在线观看| 激情在线观看视频在线高清| 亚洲国产欧美一区二区综合| 一二三四在线观看免费中文在| 亚洲国产欧美一区二区综合| 中文亚洲av片在线观看爽| 午夜免费激情av| 成人特级黄色片久久久久久久| 国产成人影院久久av| 国产视频一区二区在线看| 日韩大码丰满熟妇| 999精品在线视频| 久久久国产成人免费| 少妇粗大呻吟视频| x7x7x7水蜜桃| 亚洲全国av大片| 国产精华一区二区三区| 欧美乱码精品一区二区三区| 亚洲av美国av| 亚洲人成伊人成综合网2020| 欧美日韩精品网址| 啦啦啦 在线观看视频| 99热这里只有精品一区 | 少妇裸体淫交视频免费看高清 | 国产精品亚洲美女久久久| 欧美激情高清一区二区三区| 亚洲一区二区三区不卡视频| 人妻久久中文字幕网| 国产一区在线观看成人免费| 成人18禁在线播放| 国产精品,欧美在线| 中文在线观看免费www的网站 | 久久性视频一级片| 欧美成人午夜精品| 久久午夜亚洲精品久久| 亚洲专区中文字幕在线| 久久久久久亚洲精品国产蜜桃av| 国产av在哪里看| 成人国语在线视频| 久久亚洲精品不卡| 久久人妻av系列| 午夜免费观看网址| 一级毛片女人18水好多| 国产一区二区三区在线臀色熟女| 日韩国内少妇激情av| 亚洲七黄色美女视频| 国产黄片美女视频| 一本久久中文字幕| 老熟妇仑乱视频hdxx| 非洲黑人性xxxx精品又粗又长| 男人舔奶头视频| 亚洲成av人片免费观看| 免费无遮挡裸体视频| 一个人免费在线观看的高清视频| 美女扒开内裤让男人捅视频| 波多野结衣高清无吗| 嫁个100分男人电影在线观看| 又黄又粗又硬又大视频| 亚洲熟妇熟女久久| 国产亚洲欧美精品永久| 精品福利观看| 国产精品爽爽va在线观看网站 | 日本免费一区二区三区高清不卡| 欧美丝袜亚洲另类 | 又紧又爽又黄一区二区| 久9热在线精品视频| 国内少妇人妻偷人精品xxx网站 | 在线观看免费日韩欧美大片| 老熟妇仑乱视频hdxx| 美女 人体艺术 gogo| 日韩免费av在线播放| 大香蕉久久成人网| 亚洲最大成人中文| 国产一区二区三区在线臀色熟女| 一本大道久久a久久精品| 69av精品久久久久久| 国产视频一区二区在线看| 久9热在线精品视频| 亚洲精品在线观看二区| 色av中文字幕| 88av欧美| 9191精品国产免费久久| 一个人免费在线观看的高清视频| 国产激情久久老熟女| 91大片在线观看| 久热爱精品视频在线9| 制服丝袜大香蕉在线| 99国产精品99久久久久| 亚洲成av片中文字幕在线观看| 久久久久精品国产欧美久久久| 黄片小视频在线播放| 窝窝影院91人妻| 天天添夜夜摸| 亚洲色图av天堂| 国产精华一区二区三区| 韩国精品一区二区三区| 亚洲欧美精品综合久久99| 黄色女人牲交| 99精品在免费线老司机午夜| 91av网站免费观看| 精品不卡国产一区二区三区| 久久香蕉激情| 在线视频色国产色| 一本精品99久久精品77| 视频区欧美日本亚洲| 国产熟女xx| a级毛片a级免费在线| 一区二区三区国产精品乱码| 亚洲熟妇熟女久久| 高潮久久久久久久久久久不卡| 亚洲第一欧美日韩一区二区三区| 每晚都被弄得嗷嗷叫到高潮| tocl精华| 国产亚洲av高清不卡| 国产精品久久久久久人妻精品电影| 99国产精品一区二区三区| 久久中文字幕一级| 精品卡一卡二卡四卡免费| 国产午夜精品久久久久久| 最近最新中文字幕大全电影3 | 亚洲七黄色美女视频| 熟妇人妻久久中文字幕3abv| 香蕉丝袜av| 香蕉久久夜色| 俄罗斯特黄特色一大片| 国产亚洲精品av在线| 久久久精品欧美日韩精品| 久久精品国产综合久久久| 在线永久观看黄色视频| 成人18禁在线播放| 欧美黑人精品巨大| 亚洲国产中文字幕在线视频| 美女大奶头视频| 最新在线观看一区二区三区| 色在线成人网| 首页视频小说图片口味搜索| 国产野战对白在线观看| 国产97色在线日韩免费| av中文乱码字幕在线| 在线看三级毛片| 99久久久亚洲精品蜜臀av| 午夜精品久久久久久毛片777| 色在线成人网| xxx96com| 免费看美女性在线毛片视频| 欧美成人午夜精品| 日韩一卡2卡3卡4卡2021年| 婷婷六月久久综合丁香| 亚洲精品av麻豆狂野| 两个人视频免费观看高清| 欧美三级亚洲精品| 性欧美人与动物交配| 91麻豆精品激情在线观看国产| 看黄色毛片网站| 母亲3免费完整高清在线观看| 999精品在线视频| 性欧美人与动物交配| 精品乱码久久久久久99久播| 一本综合久久免费| 久久性视频一级片| 欧美日本亚洲视频在线播放| √禁漫天堂资源中文www| 国产一区二区激情短视频| 亚洲国产日韩欧美精品在线观看 | www日本在线高清视频| 久久午夜亚洲精品久久| 午夜福利18| 亚洲avbb在线观看| 美女高潮到喷水免费观看| 手机成人av网站| 久9热在线精品视频| 久久国产精品男人的天堂亚洲| 夜夜躁狠狠躁天天躁| 日韩三级视频一区二区三区| 怎么达到女性高潮| 欧美黑人欧美精品刺激| 亚洲天堂国产精品一区在线| 久久精品国产清高在天天线| xxx96com| 啦啦啦 在线观看视频| 成人欧美大片| 欧美性猛交黑人性爽| netflix在线观看网站| 999久久久精品免费观看国产| 午夜亚洲福利在线播放| 少妇熟女aⅴ在线视频| 一个人观看的视频www高清免费观看 | 麻豆av在线久日| 亚洲av美国av| 亚洲国产中文字幕在线视频| 亚洲片人在线观看| 亚洲第一电影网av| 久久国产精品男人的天堂亚洲| 91成年电影在线观看| 精品卡一卡二卡四卡免费| 亚洲精品国产精品久久久不卡| 欧美国产日韩亚洲一区| 巨乳人妻的诱惑在线观看| 国产区一区二久久| 一区二区三区激情视频| 久久中文字幕一级| 波多野结衣巨乳人妻| 日本成人三级电影网站| 久久天躁狠狠躁夜夜2o2o| 亚洲三区欧美一区| 中文字幕人妻熟女乱码| 国产男靠女视频免费网站| 首页视频小说图片口味搜索| 男女下面进入的视频免费午夜 | 淫妇啪啪啪对白视频| 国产精品久久久久久精品电影 | 国产欧美日韩一区二区三| 国产在线精品亚洲第一网站| 长腿黑丝高跟| 99国产精品99久久久久| 丝袜美腿诱惑在线| 老司机在亚洲福利影院| 桃红色精品国产亚洲av| 色哟哟哟哟哟哟| 美女 人体艺术 gogo| 日本五十路高清| www国产在线视频色| 一区二区日韩欧美中文字幕| 中文在线观看免费www的网站 | 女生性感内裤真人,穿戴方法视频| 99国产精品99久久久久| 亚洲av第一区精品v没综合| 精品少妇一区二区三区视频日本电影| 国产亚洲av嫩草精品影院| 亚洲全国av大片| 久久久久久亚洲精品国产蜜桃av| 日韩 欧美 亚洲 中文字幕| 亚洲天堂国产精品一区在线| 一二三四社区在线视频社区8| 亚洲国产欧美网| 大型av网站在线播放| 黄网站色视频无遮挡免费观看| 日本免费一区二区三区高清不卡| 日本五十路高清| 久久草成人影院| 国产主播在线观看一区二区| 国产精品一区二区免费欧美| 亚洲中文av在线| 在线十欧美十亚洲十日本专区| 一级片免费观看大全| 精品国产亚洲在线| 欧美日韩一级在线毛片| 男人舔奶头视频| 亚洲av电影不卡..在线观看| 草草在线视频免费看| 欧美最黄视频在线播放免费|