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

    基于變化數(shù)據(jù)捕獲機(jī)制的分布式緩存一致性策略①

    2016-02-20 06:52:04苗宗利段世凱劉財(cái)政支孟軒
    關(guān)鍵詞:謂詞觸發(fā)器數(shù)據(jù)模型

    江 勇, 苗宗利, 王 偉, 段世凱, 劉財(cái)政, 支孟軒

    1(中國(guó)科學(xué)院大學(xué), 北京 100049)2(中國(guó)科學(xué)院軟件研究所 軟件工程技術(shù)研究開(kāi)發(fā)中心, 北京 100190)3(中國(guó)電子技術(shù)標(biāo)準(zhǔn)化研究院, 北京 100007)

    基于變化數(shù)據(jù)捕獲機(jī)制的分布式緩存一致性策略①

    江 勇1,2, 苗宗利3, 王 偉2, 段世凱1,2, 劉財(cái)政1,2, 支孟軒2

    1(中國(guó)科學(xué)院大學(xué), 北京 100049)2(中國(guó)科學(xué)院軟件研究所 軟件工程技術(shù)研究開(kāi)發(fā)中心, 北京 100190)3(中國(guó)電子技術(shù)標(biāo)準(zhǔn)化研究院, 北京 100007)

    分布式緩存被廣泛應(yīng)用于解決傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的性能瓶頸問(wèn)題, 但是當(dāng)不能感知分布式緩存的第三方應(yīng)用直接更新后臺(tái)數(shù)據(jù)庫(kù)時(shí), 緩存數(shù)據(jù)會(huì)獲得不一致的狀態(tài), 存在過(guò)時(shí)緩存問(wèn)題. 本文提出一種基于變化數(shù)據(jù)捕獲機(jī)制的分布式緩存一致性策略, 集成了基于觸發(fā)器和基于日志的兩種變化數(shù)據(jù)捕獲機(jī)制實(shí)時(shí)捕獲后臺(tái)數(shù)據(jù)庫(kù)更新, 實(shí)現(xiàn)了數(shù)據(jù)模型自動(dòng)轉(zhuǎn)換方法和SQL翻譯引擎, 實(shí)時(shí)更新緩存, 從而保障分布式緩存的一致性. 實(shí)驗(yàn)?zāi)MTPC-W測(cè)試基準(zhǔn)中的關(guān)鍵操作, 驗(yàn)證了基于日志的變化數(shù)據(jù)捕獲機(jī)制相比基于觸發(fā)器的變化數(shù)據(jù)捕獲機(jī)制有更好的數(shù)據(jù)庫(kù)性能和緩存一致性效果.

    分布式緩存; 變化數(shù)據(jù)捕獲; 模型轉(zhuǎn)換; SQL翻譯

    1 引言

    為了應(yīng)對(duì)海量數(shù)據(jù)與大規(guī)模用戶請(qǐng)求帶來(lái)的挑戰(zhàn),解決傳統(tǒng)數(shù)據(jù)庫(kù)面臨的大規(guī)模數(shù)據(jù)訪問(wèn)瓶頸問(wèn)題, 分布式緩存被廣泛應(yīng)用, 為用戶提供高性能、高可用、可伸縮的數(shù)據(jù)緩存服務(wù). 但是, 當(dāng)不能感知緩存的第三方應(yīng)用程序直接更新后臺(tái)數(shù)據(jù)庫(kù)數(shù)據(jù)時(shí), 緩存會(huì)獲得不一致的狀態(tài), 存在過(guò)時(shí)緩存問(wèn)題[1], 如圖1所示.

    保持緩存和后臺(tái)數(shù)據(jù)庫(kù)數(shù)據(jù)的數(shù)據(jù)一致性一直是開(kāi)發(fā)人員重點(diǎn)關(guān)注的問(wèn)題. 現(xiàn)有的典型分布式緩存方案, 如Memcached[2], Redis[3], Hazelcast[4]等, 主要通過(guò)基于過(guò)期的緩存一致性策略來(lái)保持緩存和后臺(tái)數(shù)據(jù)庫(kù)的數(shù)據(jù)一致性. 每個(gè)動(dòng)態(tài)的緩存條目都會(huì)創(chuàng)建一個(gè)默認(rèn)的存在時(shí)間清除器, 在預(yù)定義的時(shí)間間隔后會(huì)清除相應(yīng)的數(shù)據(jù)條目, 但是過(guò)期時(shí)間的設(shè)定是一條經(jīng)驗(yàn)規(guī)則, 需要開(kāi)發(fā)人員對(duì)數(shù)據(jù)的準(zhǔn)確性需求和對(duì)數(shù)據(jù)過(guò)時(shí)程度的容忍度有足夠的了解, 然后才能做出合適的決策. IBM的WebSphere eXtreme Scale[5]實(shí)現(xiàn)了基于輪詢的緩存一致性策略, 由緩存定期查詢數(shù)據(jù)庫(kù)以確定自上次加載以來(lái)數(shù)據(jù)是否發(fā)生了變更, 已在后臺(tái)數(shù)據(jù)庫(kù)中更新的條目失效或者使用新的數(shù)據(jù)更新緩存. 但是,這些定期查詢會(huì)給后臺(tái)數(shù)據(jù)庫(kù)帶來(lái)較大的負(fù)載壓力,輪詢機(jī)制也會(huì)消耗額外的CPU資源.

    針對(duì)現(xiàn)有緩存方案的特點(diǎn)以及緩存一致性策略存在的問(wèn)題, 本文提出一種基于變化數(shù)據(jù)捕獲機(jī)制[6](Change Data Capture, CDC)的緩存一致性策略, 主要包括以下三個(gè)方面內(nèi)容:

    (1) 變化數(shù)據(jù)捕獲機(jī)制. 設(shè)計(jì)實(shí)現(xiàn)關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)變化捕獲機(jī)制, 實(shí)時(shí)監(jiān)聽(tīng)后臺(tái)數(shù)據(jù)庫(kù)的數(shù)據(jù)變化, 捕獲數(shù)據(jù)更新并傳送到分布式緩存, 支持基于觸發(fā)器和基于日志兩種方式.

    (2) 數(shù)據(jù)模型自動(dòng)轉(zhuǎn)換方法. 實(shí)現(xiàn)關(guān)系型數(shù)據(jù)模型向key-value數(shù)據(jù)模型的自動(dòng)轉(zhuǎn)換, 將數(shù)據(jù)庫(kù)表中的行數(shù)據(jù)自動(dòng)轉(zhuǎn)換為分布式緩存的對(duì)象數(shù)據(jù).

    (3) SQL翻譯引擎. 將變化數(shù)據(jù)捕獲機(jī)制捕獲到的SQL更新操作翻譯為緩存的key-value操作, 從而將更新同步到緩存.

    2 相關(guān)工作

    文獻(xiàn)[7,8]較為全面的介紹了變化數(shù)據(jù)捕獲技術(shù),主要有基于表記錄、復(fù)制、基于觸發(fā)器、基于日志等多種方法, 并比較了不同方法的條件、優(yōu)點(diǎn)、缺點(diǎn)和適用場(chǎng)合. 文獻(xiàn)[9]和文獻(xiàn)[10]分別介紹了基于觸發(fā)器和基于日志的變化數(shù)據(jù)捕獲技術(shù), 但是文獻(xiàn)[9]面向的是ETLM過(guò)程的數(shù)據(jù)倉(cāng)庫(kù), 文獻(xiàn)[10]面向?qū)崟r(shí)商業(yè)智能系統(tǒng).

    在緩存一致性策略方面, 文獻(xiàn)[11]介紹了同步進(jìn)制實(shí)現(xiàn)分布式緩存的強(qiáng)一致性, 每次更新數(shù)據(jù)時(shí), 會(huì)同步更新所有緩存結(jié)點(diǎn), 然后返回. 這種機(jī)制適用于以讀請(qǐng)求為主的應(yīng)用場(chǎng)景, 而當(dāng)數(shù)據(jù)更新操作頻繁時(shí),強(qiáng)一致性的同步機(jī)制會(huì)顯著增加系統(tǒng)響應(yīng)時(shí)間. 文獻(xiàn)[12]實(shí)現(xiàn)了在緩存增強(qiáng)的SQL系統(tǒng)上的緩存強(qiáng)一致性,并提出了IQ框架, 同時(shí)滿足ACID屬性, 但是分布式緩存受到CAP理論的約束, 該方法并不能夠在分布式緩存中適用; 文獻(xiàn)[13]將基于觸發(fā)器的數(shù)據(jù)捕獲技術(shù)應(yīng)用到緩存, 保障緩存的一致性, 提出了一種面向ORM框架的緩存中間件, 是數(shù)據(jù)捕獲技術(shù)的一次成功應(yīng)用. 但是該文獻(xiàn)重點(diǎn)在于緩存的ORM訪問(wèn)方式, 對(duì)數(shù)據(jù)捕獲技術(shù)在緩存中的應(yīng)用討論得并不夠細(xì)致.

    上述相關(guān)工作中, 有將CDC應(yīng)用到數(shù)據(jù)倉(cāng)庫(kù)和智能系統(tǒng)的, 但是仍缺少將CDC技術(shù)與分布式緩存的集成; 有的實(shí)現(xiàn)了緩存的強(qiáng)一致性, 但是存在場(chǎng)景限制,只適合讀請(qǐng)求為主的場(chǎng)景; 有的提出創(chuàng)新的緩存一致性框架, 但并不適合分布式緩存. 本文重點(diǎn)關(guān)注將變化數(shù)據(jù)捕獲技術(shù)應(yīng)用到分布式緩存中需解決的模型轉(zhuǎn)換, SQL翻譯等問(wèn)題, 并用兩種方式實(shí)現(xiàn)變化數(shù)據(jù)捕獲.

    針對(duì)現(xiàn)有緩存方案的特點(diǎn)以及緩存一致性策略存在的問(wèn)題, 本文提出一種基于變化數(shù)據(jù)捕獲機(jī)制的緩存一致性策略, 通過(guò)在源系統(tǒng)中添加觸發(fā)器和獲取關(guān)系型數(shù)據(jù)庫(kù)日志兩種方式實(shí)現(xiàn)變化數(shù)據(jù)捕獲機(jī)制, 然后實(shí)現(xiàn)關(guān)系型數(shù)據(jù)模型向key-value數(shù)據(jù)模型的自動(dòng)轉(zhuǎn)換, 最后解析SQL, 更新緩存, 實(shí)現(xiàn)數(shù)據(jù)從關(guān)系型數(shù)據(jù)庫(kù)到分布式緩存的自動(dòng)同步.

    3.1 變化數(shù)據(jù)捕獲機(jī)制

    變化數(shù)據(jù)捕獲技術(shù)是基于對(duì)數(shù)據(jù)源改變部分的數(shù)據(jù)識(shí)別、數(shù)據(jù)獲取和數(shù)據(jù)傳送技術(shù)來(lái)實(shí)現(xiàn)的, 在數(shù)據(jù)源數(shù)據(jù)發(fā)生變化時(shí), 將實(shí)時(shí)捕獲變更的數(shù)據(jù)并同步更新到分布式緩存中, 從而保障分布式緩存的一致性.本文實(shí)現(xiàn)基于觸發(fā)器和基于日志兩種變化數(shù)據(jù)捕獲機(jī)制, 并對(duì)比其優(yōu)缺點(diǎn).

    3.1.1 基于觸發(fā)器的變化數(shù)據(jù)捕獲

    通過(guò)在關(guān)系型數(shù)據(jù)庫(kù)中設(shè)置觸發(fā)器并設(shè)計(jì)一張日志表與源數(shù)據(jù)表相關(guān)聯(lián), 當(dāng)源數(shù)據(jù)表數(shù)據(jù)發(fā)生變化時(shí),通過(guò)觸發(fā)器機(jī)制自動(dòng)記錄數(shù)據(jù)變化到日志表. 同時(shí),監(jiān)聽(tīng)線程實(shí)時(shí)監(jiān)聽(tīng)日志表信息, 獲取最新的數(shù)據(jù)變化,并通過(guò)數(shù)據(jù)傳送渠道將變更數(shù)據(jù)更新到緩存.

    3 面向分布式緩存的變化數(shù)據(jù)捕獲機(jī)制

    該方法的重點(diǎn)在于觸發(fā)器的設(shè)計(jì). 觸發(fā)器一共有三種類(lèi)型, 分別對(duì)應(yīng)數(shù)據(jù)庫(kù)的插入, 刪除, 更新操作,任何數(shù)據(jù)表的變更操作, 都會(huì)觸發(fā)觸發(fā)器, 從而在觸發(fā)器日志表產(chǎn)生記錄. 圖2是針對(duì)數(shù)據(jù)庫(kù)test中的orders表插入操作時(shí)創(chuàng)建的觸發(fā)器.

    圖2 觸發(fā)器實(shí)例

    3.1.2 基于日志的變化數(shù)據(jù)捕獲

    關(guān)系型數(shù)據(jù)庫(kù)都管理著一個(gè)事務(wù)日志, 其中記錄了對(duì)數(shù)據(jù)庫(kù)內(nèi)容和元數(shù)據(jù)所做的更改. 基于日志的變化數(shù)據(jù)捕獲, 以關(guān)系型數(shù)據(jù)庫(kù)的事務(wù)日志為基礎(chǔ), 并對(duì)其進(jìn)行實(shí)時(shí)監(jiān)控, 一旦源數(shù)據(jù)庫(kù)發(fā)生數(shù)據(jù)變化, 就進(jìn)行實(shí)時(shí)捕獲, 對(duì)需要實(shí)時(shí)同步的數(shù)據(jù)進(jìn)行捕獲, 如圖3所示.

    圖3 基于日志的變化數(shù)據(jù)捕獲

    基于日志的變化數(shù)據(jù)捕獲需要訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)的事務(wù)日志, 并解析日志產(chǎn)生對(duì)應(yīng)的更新SQL操作.但是事務(wù)日志通常以二進(jìn)制的形式存在, 如果沒(méi)有官方文檔, 我們很難理解事務(wù)日志的內(nèi)容. 本文利用開(kāi)源工具open-replicator[14]實(shí)現(xiàn)基于日志的變化數(shù)據(jù)捕獲, open-replicator可以高效地解析Mysql的二進(jìn)制日志, 并實(shí)時(shí)產(chǎn)生監(jiān)聽(tīng)事件.

    3.1.3 變化數(shù)據(jù)捕獲機(jī)制比較

    表1從應(yīng)用條件、編程代價(jià)、性能, 移植性等方面比較了基于觸發(fā)器的變化數(shù)據(jù)捕獲機(jī)制和基于日志的變化數(shù)據(jù)捕獲機(jī)制.

    表1 兩種不同變化數(shù)據(jù)捕獲機(jī)制對(duì)比

    3.2 數(shù)據(jù)模型轉(zhuǎn)換方法

    分布式緩存以key/value形式存儲(chǔ)數(shù)據(jù), 有利于緩存節(jié)點(diǎn)的橫向擴(kuò)展, 其中key和value均為數(shù)據(jù)對(duì)象,而在關(guān)系型數(shù)據(jù)庫(kù)中, 數(shù)據(jù)以表的形式進(jìn)行存儲(chǔ), 因此要實(shí)現(xiàn)數(shù)據(jù)庫(kù)向分布式緩存數(shù)據(jù)的自動(dòng)同步, 首先要實(shí)現(xiàn)關(guān)系型數(shù)據(jù)模型向key/value數(shù)據(jù)模型的自動(dòng)轉(zhuǎn)換, 圖4是數(shù)據(jù)模型轉(zhuǎn)換實(shí)例.

    圖4 數(shù)據(jù)模型轉(zhuǎn)換實(shí)例

    (1) 分布式緩存key的生成方法

    生成分布式緩存的key, 首先要考慮兩個(gè)問(wèn)題: ①key的唯一性: 由于分布式緩存一般以Map的結(jié)構(gòu)存在, key的唯一性是Map存儲(chǔ)數(shù)據(jù)的必要條件; ②key的易用性: 分布式緩存中, 會(huì)計(jì)算key的哈希值從而確定數(shù)據(jù)的具體分布, 一個(gè)合理的key需保障哈希值的易計(jì)算, 同時(shí), 分布式緩存的數(shù)據(jù)讀取都以key為基礎(chǔ), 如果key的生成過(guò)于復(fù)雜, 在數(shù)據(jù)讀取時(shí)都會(huì)帶來(lái)不必要的性能開(kāi)銷(xiāo). 為了保證key的唯一性和易用性, 本文中的key都以字符串的形式存在, 對(duì)于數(shù)據(jù)庫(kù)中的單一主鍵情形, 直接選取數(shù)據(jù)庫(kù)表中的主鍵作為數(shù)據(jù)對(duì)象的key, 對(duì)于數(shù)據(jù)庫(kù)表中的多主鍵情況,將多列主鍵通過(guò)特殊間隔符組合拼接, 生成單一的key, 對(duì)數(shù)據(jù)庫(kù)表中沒(méi)有明確指定主鍵的情況, 采用主鍵自增方式, 為每個(gè)value對(duì)象維護(hù)一個(gè)整數(shù)自增變量作為對(duì)應(yīng)的key值.

    (2) value的生成方法

    生成分布式緩存的value, 重點(diǎn)需考慮的是value的通用性. 由于關(guān)系型數(shù)據(jù)庫(kù)中不同表的數(shù)據(jù)含有不同的結(jié)構(gòu), 如何將不同表數(shù)據(jù)統(tǒng)一生成Map中的value,是本文重點(diǎn)考慮的問(wèn)題. 本文將一張數(shù)據(jù)庫(kù)表映射轉(zhuǎn)換成一個(gè)Map, 數(shù)據(jù)庫(kù)表中的一條記錄對(duì)應(yīng)Map中的一組key/value鍵值對(duì). 通過(guò)數(shù)據(jù)庫(kù)表的元信息為每個(gè)表動(dòng)態(tài)生成一個(gè)數(shù)據(jù)對(duì)象類(lèi), 類(lèi)中屬性的類(lèi)型和關(guān)系型數(shù)據(jù)庫(kù)屬性的類(lèi)型一一對(duì)應(yīng), 所有數(shù)據(jù)對(duì)象類(lèi)含有同一父類(lèi), 這樣, 為數(shù)據(jù)庫(kù)表的每條記錄生成的每個(gè)對(duì)象實(shí)例, 都能存儲(chǔ)到同一結(jié)構(gòu)的Map中.

    (3) Map的索引

    關(guān)系型數(shù)據(jù)庫(kù)中的索引信息是提供高效數(shù)據(jù)訪問(wèn)的正確手段. 本文為了將關(guān)系型數(shù)據(jù)庫(kù)的索引信息同步到分布式緩存, 專(zhuān)門(mén)設(shè)計(jì)了索引管理器. 在數(shù)據(jù)同步到緩存之前, 首先會(huì)利用數(shù)據(jù)庫(kù)表的元信息創(chuàng)建對(duì)應(yīng)的分布式Map, 同時(shí)會(huì)提取數(shù)據(jù)庫(kù)列索引信息, 在Map中加入對(duì)應(yīng)的索引. 在基于索引的查詢過(guò)程中,加入索引的Map可以快速尋址到對(duì)應(yīng)的value對(duì)象.

    3.3 SQL翻譯引擎

    通過(guò)變化數(shù)據(jù)捕獲機(jī)制獲得的監(jiān)聽(tīng)事件往往以SQL的形式存在, 而分布式緩存的操作是基于key/value存儲(chǔ)的操作, SQL翻譯引擎負(fù)責(zé)將SQL翻譯成基于key/value存儲(chǔ)的可執(zhí)行序列.

    對(duì)數(shù)據(jù)庫(kù)的更新主要來(lái)源于Insert, Delete, Update三類(lèi)語(yǔ)句, 本文主要翻譯這三類(lèi)語(yǔ)句. SQL作為一種結(jié)構(gòu)化查詢語(yǔ)言, 具有復(fù)雜的語(yǔ)法和完備的事務(wù)能力,使用key/value存儲(chǔ)結(jié)構(gòu)難以完整兼容所有SQL, 并且對(duì)于復(fù)雜的嵌套、統(tǒng)計(jì)等語(yǔ)法效率會(huì)很低下. 本文目前支持的SQL語(yǔ)法如下:

    (1) INSERT INTO <表名>[(<屬性列1>[, <屬性列2>…])] VALUES (<常量1>[, <常量2>…]);

    (2) DELETE FROM <表名> [WHERE <條件>];

    (3) UPDATE <表名> SET <列名>=<表達(dá)式>[, <列名>=<表達(dá)式>…] [WHERE <條件>];

    其中, 表達(dá)式支持常量的任意算術(shù)運(yùn)算組成的表達(dá)式, 條件支持BETWEEN, IN, LIKE, EXISTS, IS NULL, 布爾條件表達(dá)式, 等式表達(dá)式等.

    為了在key-value存儲(chǔ)系統(tǒng)上執(zhí)行SQL, 本文定義了3種謂詞: 基本謂詞(basic_predicate)、關(guān)系謂詞(relation_predicate)、執(zhí)行謂詞(execute_predicate), 如表2所示. 基本謂詞表示查詢條件, 如大于, like, exists等,每個(gè)基本謂詞是一系列基本k-v操作的封裝, 可直接在分布式緩存中執(zhí)行; 關(guān)系謂詞表示多個(gè)謂詞之間的與/或關(guān)系; 執(zhí)行謂詞分成插入謂詞(insert_predicate)、更新謂詞(update_predicate)、刪除謂詞(delete_predicate), 表示三種不同的基于鍵值對(duì)的數(shù)據(jù)更新操作.

    表2 謂詞定義

    在增刪改三類(lèi)數(shù)據(jù)更新請(qǐng)求中, 更新語(yǔ)句的解析與執(zhí)行相對(duì)來(lái)說(shuō)較為復(fù)雜, 算法1描述了更新語(yǔ)句的解析執(zhí)行過(guò)程. 首先, SQL解析后會(huì)生成一顆抽象語(yǔ)法樹(shù), 同時(shí)生成關(guān)系謂詞列表(relation_predicate_list),然后從關(guān)系謂詞列表中順序提取基本謂詞, 依據(jù)基本謂詞可從分布式緩存中獲取對(duì)應(yīng)的Value對(duì)象: map[table].getValue(basic_predicate), 再依據(jù)關(guān)系謂詞中的邏輯關(guān)系和基本謂詞獲得的Value對(duì)象, 獲得更新語(yǔ)句過(guò)程中的查詢結(jié)果, 更新謂詞會(huì)對(duì)該查詢結(jié)果對(duì)應(yīng)的數(shù)據(jù)進(jìn)行更新.

    算法1 更新語(yǔ)句執(zhí)行算法

    4 實(shí)驗(yàn)與分析

    本文從兩個(gè)方面來(lái)對(duì)比基于觸發(fā)器的變化數(shù)據(jù)捕獲機(jī)制和基于日志的變化數(shù)據(jù)捕獲機(jī)制, 一是比較不同的變化數(shù)據(jù)捕獲機(jī)制對(duì)數(shù)據(jù)庫(kù)性能的影響程度, 二是比較不同的變化數(shù)據(jù)捕獲機(jī)制在保證分布式緩存一致性時(shí), 不一致窗口的大小.

    4.1 實(shí)驗(yàn)設(shè)計(jì)

    本文使用TPC-W[15]基準(zhǔn)中的關(guān)鍵業(yè)務(wù)對(duì)比驗(yàn)證基于觸發(fā)器的變化數(shù)據(jù)捕獲和基于日志的變化數(shù)據(jù)捕獲. TPC-W是一款以真實(shí)電子商務(wù)應(yīng)用為用例的測(cè)試基準(zhǔn), 可以模擬用戶訪問(wèn)電子商務(wù)圖書(shū)網(wǎng)站時(shí)的查詢、購(gòu)買(mǎi)等行為, 包括根據(jù)查詢書(shū)籍, 用戶注冊(cè), 訂單管理等. 本文選取TPC-W基準(zhǔn)中與訂單管理相關(guān)的關(guān)鍵SQL語(yǔ)句來(lái)進(jìn)行測(cè)試, 觀察變化數(shù)據(jù)捕獲的性能特點(diǎn), 選取的SQL語(yǔ)句為: INSERT INTO order_line (ol_id, ol_o_id, ol_i_id, ol_qty, ol_discount, ol_comments) VALUES (?, ?, ?, ?, ?, ?), , 記為SQLX, SQLX的參數(shù)使用隨機(jī)值.

    實(shí)驗(yàn)的負(fù)載發(fā)生端使用YCSB[16]性能測(cè)試工具,數(shù)據(jù)庫(kù)采用MySQL, 對(duì)比測(cè)試不同變化數(shù)據(jù)捕獲技術(shù)應(yīng)用到分布式緩存時(shí), 給數(shù)據(jù)庫(kù)帶來(lái)的性能影響和緩存不一致窗口的大小. 實(shí)驗(yàn)環(huán)境的軟硬件配置如表3所示.

    表3 實(shí)驗(yàn)環(huán)境軟硬件配置

    4.2 實(shí)驗(yàn)結(jié)果與分析

    (1) 比較兩種變化數(shù)據(jù)捕獲機(jī)制下的數(shù)據(jù)庫(kù)性能

    本次實(shí)驗(yàn)中, 每個(gè)線程執(zhí)行SQLX 10000次, 隨機(jī)向數(shù)據(jù)庫(kù)插入10000條記錄, 通過(guò)改變線程數(shù)量, 從而改變對(duì)數(shù)據(jù)庫(kù)的壓力, 分別測(cè)試線程數(shù)為1,2,5,10時(shí), 每個(gè)線程向數(shù)據(jù)庫(kù)插入10000條記錄所需要的時(shí)間, 即數(shù)據(jù)庫(kù)的響應(yīng)時(shí)間. 實(shí)驗(yàn)結(jié)果如圖5所示, 其中,橫軸代表線程的數(shù)量, 縱軸代表每個(gè)線程插入10000條記錄的平均時(shí)間, 即數(shù)據(jù)庫(kù)的響應(yīng)時(shí)間. 實(shí)驗(yàn)結(jié)果表明, 隨著線程數(shù)的增大, 數(shù)據(jù)庫(kù)的響應(yīng)時(shí)間逐漸增大. 但是, 由于觸發(fā)器對(duì)數(shù)據(jù)庫(kù)性能的影響, 在基于觸發(fā)器的變化數(shù)據(jù)捕獲下, 數(shù)據(jù)庫(kù)的響應(yīng)時(shí)間增大更明顯, 基于日志的變化數(shù)據(jù)捕獲下的數(shù)據(jù)庫(kù)性能是基于觸發(fā)器的變化數(shù)據(jù)捕獲下數(shù)據(jù)庫(kù)性能的11到21倍.

    圖5 不同變化數(shù)據(jù)捕獲機(jī)制下數(shù)據(jù)庫(kù)性能對(duì)比

    (2) 比較兩種變化數(shù)據(jù)捕獲機(jī)制下的緩存一致性

    根據(jù)CAP理論, 在一個(gè)分布式系統(tǒng)中, 一致性、可用性和分區(qū)容忍性三者不可得兼. 本文中分布式緩存的一致性不是強(qiáng)一致性, 數(shù)據(jù)庫(kù)數(shù)據(jù)更新和緩存數(shù)據(jù)同步更新之間存在一定的不一致窗口, 不一致窗口的大小是衡量系統(tǒng)性能的一個(gè)重要指標(biāo).

    本次實(shí)驗(yàn)中, 單線程執(zhí)行SQLX 10000次, 隨機(jī)向數(shù)據(jù)庫(kù)插入10000條記錄, 通過(guò)改變兩次SQL執(zhí)行之間的間隔時(shí)間來(lái)改變數(shù)據(jù)的更新頻率, SQL間隔執(zhí)行間隔時(shí)間越長(zhǎng), 數(shù)據(jù)更新頻率越低. 分別測(cè)試SQL執(zhí)行間隔時(shí)間為0,1,2,5,10毫秒時(shí), 緩存捕獲到最新數(shù)據(jù)和數(shù)據(jù)庫(kù)插入數(shù)據(jù)間的不一致時(shí)間窗口. 實(shí)驗(yàn)結(jié)果如圖6所示, 其中, 橫軸代表兩次SQL執(zhí)行的時(shí)間間隔,縱軸代表緩存與數(shù)據(jù)庫(kù)之間的數(shù)據(jù)不一致時(shí)間窗口.從圖6可以看到如下現(xiàn)象: (1)數(shù)據(jù)更新頻率越低, 緩存的一致性效果越好. 由圖可知, 隨著間隔時(shí)間的增大, 也即數(shù)據(jù)更新頻率減小, 對(duì)變化數(shù)據(jù)捕獲模塊的壓力相對(duì)也減小, 從而在更短的響應(yīng)時(shí)間內(nèi)將數(shù)據(jù)同步到緩存. (2)基于日志的變化數(shù)據(jù)捕獲相比基于觸發(fā)器的變化數(shù)據(jù)捕獲有更好的一致性效果. 由圖可知,在不同的時(shí)間間隔下, 基于日志的變化數(shù)據(jù)捕獲的不一致窗口都要明顯小于基于觸發(fā)器的變化數(shù)據(jù)捕獲.

    圖6 不同變化數(shù)據(jù)捕獲機(jī)制下緩存一致性對(duì)比

    5 總結(jié)與展望

    本文首先分析了第三方應(yīng)用不能感知分布式緩存時(shí)存在的過(guò)時(shí)緩存問(wèn)題, 然后提出了一種基于數(shù)據(jù)捕獲機(jī)制的緩存一致性策略, 主要包括面向分布式緩存的兩種變化數(shù)據(jù)捕獲機(jī)制, 數(shù)據(jù)模型的自動(dòng)轉(zhuǎn)換方法和SQL翻譯引擎. 通過(guò)實(shí)驗(yàn)對(duì)比驗(yàn)證了基于日志的變化數(shù)據(jù)捕獲技術(shù)在數(shù)據(jù)庫(kù)性能和緩存一致性效果方面的性能優(yōu)勢(shì), 但是基于觸發(fā)器的變化數(shù)據(jù)捕獲技術(shù)有其通用性, 易用性, 編程代價(jià)低等優(yōu)勢(shì).

    本文中基于變化數(shù)據(jù)捕獲機(jī)制的緩存一致性策略的設(shè)計(jì)與實(shí)現(xiàn)并不完善, 需要在未來(lái)工作中針對(duì)以下方面進(jìn)行研究與改進(jìn): (1)由于關(guān)系型數(shù)據(jù)模型的復(fù)雜性, 關(guān)系型數(shù)據(jù)的外鍵約束等尚不支持; (2)運(yùn)行時(shí)動(dòng)態(tài)對(duì)數(shù)據(jù)表結(jié)構(gòu)的修改并不能實(shí)時(shí)映射到分布式緩存數(shù)據(jù)結(jié)構(gòu).

    1 Dreibholz T, Rathgeb E P. On the performance of reliable server pooling systems. The IEEE Conference on Local Computer Networks, 2005. 30th Anniversary. IEEE. 2005. 200–208.

    2 Memcached. http://memcached.org/. [2016-03-29].

    3 Redis. http://redis.io/. [2016-03-29].

    4 Hazelcast. http://hazelcast.org/. [2016-03-29].

    5 WebSphere Extreme Scale. http://www-03.ibm.com/software/ products/en/websphere-extreme-scale/. [2016-03-29].

    6 Eccles M. Pragmatic Development of Service Based Real-Time Change Data Capture[Thesis]. Aston University, 2013.

    7 徐富亮,周祖德.變化數(shù)據(jù)捕獲技術(shù)研究.武漢理工大學(xué)學(xué)報(bào):信息與管理工程版,2009,31(5):740–743.

    8 林子雨,楊冬青,宋國(guó)杰,等.實(shí)時(shí)主動(dòng)數(shù)據(jù)倉(cāng)庫(kù)中的變化數(shù)據(jù)捕獲研究綜述.計(jì)算機(jī)研究與發(fā)展,2007,44(z3):447–451.

    9 Rocha RLA, Cardoso LF, de Souza JM. Performance tests in data warehousing ETLM process for detection of changes in data origin. Data Warehousing and Knowledge Discovery. Springer Berlin Heidelberg, 2003: 129–139.

    10 Shi JG, Bao YB, Leng FL, et al. Study on log-based change data capture and handling mechanism in real-time data warehouse. 2008 International Conference on Computer Science and Software Engineering. IEEE. 2008, 4. 478–481. 11 Amza C, Soundararajan G, Cecchet E. Transparent caching with strong consistency in dynamic content web sites. International Conference on Supercomputing. 2005. 264–273.

    12 Ghandeharizadeh S, Yap J, Nguyen H. Strong consistency in cache augmented SQL systems. Proc. of the 15th International Middleware Conference. ACM. 2014. 181–192.

    13 Gupta P, Zeldovich N, Madden S. A trigger-based middleware cache for ORMs. Acm/ifip/usenix International Conference on MIDDLEWARE. Springer-Verlag. 2011. 329-349.

    14 Open-replicator. https://github.com/whitesock/open- replicator. [2016-03-29].

    15 TPC-W. http://www.tpc.org/tpcw/. [2016-03-29].

    16 YCSB. https://github.com/brianfrankcooper/YCSB. [2016-03-29].

    Distributed Cache Coherency Strategy Based on Change Data Capture Mechanism

    JIANG Yong1,2, MIAO Zong-Li3, WANG Wei2, DUAN Shi-Kai1,2, LIU Cai-Zheng1,2, ZHI Meng-Xuan212
    (University of Chinese Academy of Sciences, Beijing 100049, China)3(Technology Center of Software Engineering, Institute of Software, Chinese Academy of Sciences, Beijing 100190, China) (China Electronics Standardization Institute, Beijing 100007, China)

    Distributed cache is widely used to solve the performance bottleneck problem in traditional relational database, but when third-party applications that are not cache-aware update the back-end database, the distributed cache will end up in an inconsistent state, which has the problem of stale cache data. This paper proposes a distributed cache consistency strategy based on change data capture mechanism. The work integrates trigger-based and log-based change data capture mechanism that can get the real-time data from backend database, and implements data model transformation and SQL translation engine, which can update cache in real-time to guarantee distributed cache coherence. The experiment simulates the key operation in TPC-W benchmark, which verifies that the change data capture based on log has the better database performance and cache consistency effects compared with the change data capture based on trigger.

    distributed cache; change data capture; model transforming; SQL translation

    2016-03-21;收到修改稿時(shí)間:2016-04-08

    10.15888/j.cnki.csa.005450

    猜你喜歡
    謂詞觸發(fā)器數(shù)據(jù)模型
    被遮蔽的邏輯謂詞
    ——論胡好對(duì)邏輯謂詞的誤讀
    黨項(xiàng)語(yǔ)謂詞前綴的分裂式
    西夏研究(2020年2期)2020-06-01 05:19:12
    面板數(shù)據(jù)模型截面相關(guān)檢驗(yàn)方法綜述
    加熱爐爐內(nèi)跟蹤數(shù)據(jù)模型優(yōu)化
    主從JK觸發(fā)器邏輯功能分析
    電子世界(2017年22期)2017-12-02 03:03:45
    使用觸發(fā)器,強(qiáng)化安全性
    也談“語(yǔ)言是存在的家”——從語(yǔ)言的主詞與謂詞看存在的殊相與共相
    面向集成管理的出版原圖數(shù)據(jù)模型
    對(duì)觸發(fā)器邏輯功能轉(zhuǎn)換的分析
    觸發(fā)器邏輯功能轉(zhuǎn)換的兩種方法
    亚洲国产毛片av蜜桃av| 亚洲精品久久成人aⅴ小说| 久久精品亚洲熟妇少妇任你| 亚洲成国产人片在线观看| 又大又爽又粗| 啪啪无遮挡十八禁网站| 日韩欧美免费精品| 日韩视频在线欧美| 大型黄色视频在线免费观看| 色播在线永久视频| 午夜激情久久久久久久| 黄色片一级片一级黄色片| 最近最新中文字幕大全免费视频| 高清视频免费观看一区二区| 日本黄色日本黄色录像| 亚洲九九香蕉| 欧美激情久久久久久爽电影 | 午夜视频精品福利| 日韩欧美国产一区二区入口| 国产精品久久久人人做人人爽| 99在线人妻在线中文字幕 | 亚洲一码二码三码区别大吗| 国产黄频视频在线观看| 国产精品秋霞免费鲁丝片| 免费av中文字幕在线| 三级毛片av免费| 精品国产乱码久久久久久小说| 免费不卡黄色视频| 女人精品久久久久毛片| 女警被强在线播放| 日本一区二区免费在线视频| 美女扒开内裤让男人捅视频| 精品国产乱子伦一区二区三区| 高潮久久久久久久久久久不卡| 亚洲精品国产色婷婷电影| 国产一区二区在线观看av| 老鸭窝网址在线观看| 午夜福利在线免费观看网站| 国产av一区二区精品久久| kizo精华| 久久精品国产亚洲av香蕉五月 | 一边摸一边抽搐一进一出视频| 国产免费视频播放在线视频| 高清在线国产一区| 亚洲一卡2卡3卡4卡5卡精品中文| 国产福利在线免费观看视频| 19禁男女啪啪无遮挡网站| 欧美激情 高清一区二区三区| 在线亚洲精品国产二区图片欧美| 老司机在亚洲福利影院| 亚洲精品一卡2卡三卡4卡5卡| 91精品国产国语对白视频| 欧美一级毛片孕妇| 大香蕉久久成人网| 男女下面插进去视频免费观看| 狠狠狠狠99中文字幕| 久久久水蜜桃国产精品网| 国产精品免费一区二区三区在线 | 欧美大码av| 成年女人毛片免费观看观看9 | 亚洲av成人不卡在线观看播放网| 亚洲欧美精品综合一区二区三区| 亚洲精品国产一区二区精华液| 午夜精品久久久久久毛片777| 这个男人来自地球电影免费观看| 欧美日韩一级在线毛片| 亚洲人成电影观看| 久久中文字幕一级| 一个人免费在线观看的高清视频| 黄片小视频在线播放| 午夜福利乱码中文字幕| tube8黄色片| 99国产极品粉嫩在线观看| 自线自在国产av| 亚洲 国产 在线| 在线亚洲精品国产二区图片欧美| 国产一区二区三区视频了| 啦啦啦视频在线资源免费观看| 桃花免费在线播放| 亚洲天堂av无毛| 视频区图区小说| 欧美精品一区二区免费开放| 欧美亚洲 丝袜 人妻 在线| 桃红色精品国产亚洲av| 18禁美女被吸乳视频| 90打野战视频偷拍视频| 宅男免费午夜| 亚洲精品久久成人aⅴ小说| 精品亚洲成a人片在线观看| 亚洲精品在线观看二区| 精品亚洲乱码少妇综合久久| 老熟妇仑乱视频hdxx| 久久久久久久大尺度免费视频| 老汉色∧v一级毛片| 国产精品国产高清国产av | av又黄又爽大尺度在线免费看| 国产单亲对白刺激| 老司机午夜十八禁免费视频| 亚洲伊人久久精品综合| 中国美女看黄片| 欧美精品人与动牲交sv欧美| 久久精品国产亚洲av高清一级| 国产在线视频一区二区| 亚洲男人天堂网一区| 9色porny在线观看| 久久香蕉激情| 亚洲一卡2卡3卡4卡5卡精品中文| 18禁黄网站禁片午夜丰满| 中文字幕人妻熟女乱码| bbb黄色大片| 亚洲成人国产一区在线观看| 久久精品国产亚洲av香蕉五月 | 老汉色∧v一级毛片| 婷婷成人精品国产| 婷婷成人精品国产| 在线观看人妻少妇| 精品少妇黑人巨大在线播放| avwww免费| 国产又爽黄色视频| 精品亚洲成a人片在线观看| 女人高潮潮喷娇喘18禁视频| 美女视频免费永久观看网站| 又紧又爽又黄一区二区| 欧美激情久久久久久爽电影 | 香蕉久久夜色| 欧美激情久久久久久爽电影 | 久久婷婷成人综合色麻豆| 日韩免费av在线播放| 天天躁夜夜躁狠狠躁躁| www.自偷自拍.com| av天堂在线播放| 极品少妇高潮喷水抽搐| 亚洲伊人色综图| 国产野战对白在线观看| 乱人伦中国视频| 国产又色又爽无遮挡免费看| avwww免费| 亚洲久久久国产精品| 亚洲av日韩精品久久久久久密| 国产免费现黄频在线看| 久久精品国产亚洲av高清一级| 这个男人来自地球电影免费观看| 亚洲色图 男人天堂 中文字幕| 免费不卡黄色视频| 欧美国产精品一级二级三级| 国产成人av激情在线播放| 搡老熟女国产l中国老女人| 国产精品久久久久成人av| 一级黄色大片毛片| 精品少妇一区二区三区视频日本电影| 日韩一区二区三区影片| 日本黄色视频三级网站网址 | 少妇粗大呻吟视频| 免费看a级黄色片| 国产午夜精品久久久久久| 1024视频免费在线观看| 欧美成人免费av一区二区三区 | 国产精品久久久久久人妻精品电影 | 五月开心婷婷网| 久久99一区二区三区| 十分钟在线观看高清视频www| 日日夜夜操网爽| 精品国产亚洲在线| 日韩成人在线观看一区二区三区| 精品一区二区三卡| 久久久精品免费免费高清| 国产欧美日韩精品亚洲av| 国产在线视频一区二区| 亚洲精品中文字幕一二三四区 | 日日夜夜操网爽| 欧美激情久久久久久爽电影 | av国产精品久久久久影院| 国产成人精品久久二区二区免费| 两性午夜刺激爽爽歪歪视频在线观看 | 大片电影免费在线观看免费| 两个人看的免费小视频| 久久国产亚洲av麻豆专区| 欧美日韩精品网址| 日本五十路高清| 久久国产精品男人的天堂亚洲| 美女高潮喷水抽搐中文字幕| 日韩熟女老妇一区二区性免费视频| 极品教师在线免费播放| 满18在线观看网站| 最新的欧美精品一区二区| 中文欧美无线码| 国产欧美日韩综合在线一区二区| aaaaa片日本免费| 亚洲国产欧美在线一区| 国产精品久久电影中文字幕 | av有码第一页| 免费一级毛片在线播放高清视频 | 久久久久久久久免费视频了| 午夜免费鲁丝| 热99国产精品久久久久久7| 妹子高潮喷水视频| 久久精品国产亚洲av香蕉五月 | av欧美777| 日韩欧美三级三区| 成人免费观看视频高清| 欧美激情高清一区二区三区| 最近最新中文字幕大全免费视频| 18禁国产床啪视频网站| 久久国产精品男人的天堂亚洲| 国产精品99久久99久久久不卡| 动漫黄色视频在线观看| 久久精品国产a三级三级三级| 国产不卡一卡二| 美女高潮喷水抽搐中文字幕| 国产有黄有色有爽视频| 亚洲一码二码三码区别大吗| 18在线观看网站| 一区在线观看完整版| 久久这里只有精品19| 老司机午夜福利在线观看视频 | 欧美另类亚洲清纯唯美| 热re99久久国产66热| www日本在线高清视频| 国产精品免费视频内射| 国产成人欧美| 欧美av亚洲av综合av国产av| 久久天堂一区二区三区四区| 露出奶头的视频| 丝袜人妻中文字幕| 亚洲人成伊人成综合网2020| 亚洲综合色网址| 亚洲欧美日韩高清在线视频 | 亚洲,欧美精品.| 亚洲av电影在线进入| 久久99一区二区三区| 国产精品成人在线| 久久这里只有精品19| 精品一区二区三区av网在线观看 | 女同久久另类99精品国产91| 老司机靠b影院| 久久天堂一区二区三区四区| 欧美黑人欧美精品刺激| 国产黄色免费在线视频| 黄色片一级片一级黄色片| 欧美成人免费av一区二区三区 | 黄频高清免费视频| 中文字幕人妻熟女乱码| 高潮久久久久久久久久久不卡| 欧美日韩国产mv在线观看视频| 亚洲欧美激情在线| 欧美+亚洲+日韩+国产| 欧美午夜高清在线| 黑丝袜美女国产一区| 亚洲精品乱久久久久久| 亚洲av片天天在线观看| 狠狠精品人妻久久久久久综合| 欧美激情高清一区二区三区| 国产成人影院久久av| 国产精品亚洲av一区麻豆| 最新美女视频免费是黄的| 亚洲一区中文字幕在线| 久久久久久人人人人人| 波多野结衣av一区二区av| 国产免费av片在线观看野外av| 日本精品一区二区三区蜜桃| 成在线人永久免费视频| 亚洲精华国产精华精| 男女下面插进去视频免费观看| 丝袜人妻中文字幕| 制服诱惑二区| 久久久久久亚洲精品国产蜜桃av| 国精品久久久久久国模美| 精品少妇一区二区三区视频日本电影| 国产高清激情床上av| 国产成人精品久久二区二区91| 操出白浆在线播放| 久久 成人 亚洲| 飞空精品影院首页| 久久中文字幕一级| 极品人妻少妇av视频| 亚洲欧美日韩高清在线视频 | 一区二区日韩欧美中文字幕| 久久中文字幕一级| 午夜精品久久久久久毛片777| 欧美国产精品一级二级三级| 9热在线视频观看99| 美女午夜性视频免费| 久久久久精品人妻al黑| 国产黄频视频在线观看| 婷婷丁香在线五月| 王馨瑶露胸无遮挡在线观看| 动漫黄色视频在线观看| 欧美av亚洲av综合av国产av| av有码第一页| 汤姆久久久久久久影院中文字幕| 国产单亲对白刺激| 窝窝影院91人妻| 在线观看66精品国产| videos熟女内射| 久久久水蜜桃国产精品网| 久久精品成人免费网站| 老汉色av国产亚洲站长工具| 久久99一区二区三区| 正在播放国产对白刺激| 飞空精品影院首页| 国产一卡二卡三卡精品| 国产精品久久久久久人妻精品电影 | 亚洲免费av在线视频| 久久青草综合色| 飞空精品影院首页| 精品少妇黑人巨大在线播放| 国产精品 国内视频| 2018国产大陆天天弄谢| 久久精品亚洲熟妇少妇任你| 日韩中文字幕欧美一区二区| 国产精品香港三级国产av潘金莲| 国产精品av久久久久免费| 无人区码免费观看不卡 | 91精品三级在线观看| 性少妇av在线| 91九色精品人成在线观看| 日韩精品免费视频一区二区三区| 黑丝袜美女国产一区| 免费在线观看黄色视频的| 国产片内射在线| 侵犯人妻中文字幕一二三四区| 亚洲精品美女久久av网站| 国产精品偷伦视频观看了| 黄色怎么调成土黄色| 婷婷成人精品国产| 91精品三级在线观看| 日本一区二区免费在线视频| 高潮久久久久久久久久久不卡| 麻豆成人av在线观看| 久久毛片免费看一区二区三区| 久久久久久久久久久久大奶| 50天的宝宝边吃奶边哭怎么回事| 欧美 日韩 精品 国产| 久久精品aⅴ一区二区三区四区| 满18在线观看网站| 狂野欧美激情性xxxx| 欧美 亚洲 国产 日韩一| av线在线观看网站| 丝袜美腿诱惑在线| 黄色片一级片一级黄色片| 中文字幕av电影在线播放| 午夜精品国产一区二区电影| 99在线人妻在线中文字幕 | av有码第一页| 黄片大片在线免费观看| 熟女少妇亚洲综合色aaa.| 丰满少妇做爰视频| 99国产极品粉嫩在线观看| 亚洲精品美女久久av网站| 亚洲一区二区三区欧美精品| 在线av久久热| 中文字幕精品免费在线观看视频| 国产男靠女视频免费网站| 国产一区二区激情短视频| 久久九九热精品免费| 国产在线精品亚洲第一网站| 成人特级黄色片久久久久久久 | 黑丝袜美女国产一区| 人人妻人人澡人人看| 一区二区三区国产精品乱码| 国产欧美日韩一区二区三区在线| 岛国毛片在线播放| 亚洲免费av在线视频| 色综合婷婷激情| 夜夜骑夜夜射夜夜干| 国产精品久久久av美女十八| 狠狠婷婷综合久久久久久88av| 欧美一级毛片孕妇| 老汉色∧v一级毛片| 夜夜爽天天搞| 国产99久久九九免费精品| 天天躁夜夜躁狠狠躁躁| 国产亚洲欧美在线一区二区| 国产成人一区二区三区免费视频网站| 黑人操中国人逼视频| 午夜福利欧美成人| 一级,二级,三级黄色视频| 成人三级做爰电影| 欧美精品亚洲一区二区| avwww免费| a在线观看视频网站| 人人妻人人添人人爽欧美一区卜| av线在线观看网站| 久久中文字幕人妻熟女| 黄色丝袜av网址大全| 蜜桃国产av成人99| 日韩熟女老妇一区二区性免费视频| 欧美成人免费av一区二区三区 | 欧美日韩亚洲国产一区二区在线观看 | 亚洲一码二码三码区别大吗| 免费久久久久久久精品成人欧美视频| 亚洲五月色婷婷综合| 亚洲成av片中文字幕在线观看| 色婷婷av一区二区三区视频| 免费日韩欧美在线观看| 成年动漫av网址| 国产黄频视频在线观看| 咕卡用的链子| 久热这里只有精品99| 日韩人妻精品一区2区三区| 国产成人av激情在线播放| 女人被躁到高潮嗷嗷叫费观| 成在线人永久免费视频| 一级片'在线观看视频| 成人特级黄色片久久久久久久 | 久久久久久久久久久久大奶| 黄色a级毛片大全视频| 丰满饥渴人妻一区二区三| 亚洲男人天堂网一区| 国产成人一区二区三区免费视频网站| 不卡av一区二区三区| 深夜精品福利| aaaaa片日本免费| 亚洲午夜精品一区,二区,三区| 另类亚洲欧美激情| bbb黄色大片| av不卡在线播放| 久久av网站| 亚洲国产av影院在线观看| 精品福利观看| 人人妻人人爽人人添夜夜欢视频| 菩萨蛮人人尽说江南好唐韦庄| 欧美精品亚洲一区二区| 精品国产乱码久久久久久男人| 操出白浆在线播放| 高清欧美精品videossex| 亚洲精品一二三| 欧美激情久久久久久爽电影 | 精品国产一区二区三区四区第35| 亚洲色图 男人天堂 中文字幕| 女人爽到高潮嗷嗷叫在线视频| av欧美777| 黄片大片在线免费观看| 久久久久网色| 在线天堂中文资源库| 国产单亲对白刺激| 亚洲中文字幕日韩| 天堂中文最新版在线下载| 国产免费视频播放在线视频| 午夜福利乱码中文字幕| 欧美日韩福利视频一区二区| 欧美精品啪啪一区二区三区| 美女高潮到喷水免费观看| 美女扒开内裤让男人捅视频| 久久久久久人人人人人| 人成视频在线观看免费观看| 精品国产乱子伦一区二区三区| 女人高潮潮喷娇喘18禁视频| 免费看十八禁软件| 搡老熟女国产l中国老女人| 亚洲精品一二三| 亚洲欧洲日产国产| 91字幕亚洲| 久久亚洲真实| 午夜日韩欧美国产| 久久中文看片网| 欧美黄色淫秽网站| 亚洲精品在线美女| 免费女性裸体啪啪无遮挡网站| 丰满迷人的少妇在线观看| 日韩欧美国产一区二区入口| 亚洲av国产av综合av卡| 午夜日韩欧美国产| 蜜桃在线观看..| 在线av久久热| 欧美亚洲日本最大视频资源| 日本a在线网址| 日日夜夜操网爽| 欧美黑人精品巨大| 亚洲国产av影院在线观看| 女同久久另类99精品国产91| 大陆偷拍与自拍| 91老司机精品| 一区福利在线观看| 免费不卡黄色视频| 不卡一级毛片| 久久久久久久精品吃奶| 午夜福利视频精品| kizo精华| 亚洲国产欧美在线一区| 妹子高潮喷水视频| 亚洲黑人精品在线| 一本久久精品| 日本黄色日本黄色录像| 国产精品一区二区在线不卡| 国产成人系列免费观看| bbb黄色大片| 亚洲精品在线美女| 电影成人av| 女人爽到高潮嗷嗷叫在线视频| 99国产极品粉嫩在线观看| 国产免费福利视频在线观看| 中文字幕高清在线视频| 午夜视频精品福利| 免费观看人在逋| 成人精品一区二区免费| av有码第一页| 久久国产亚洲av麻豆专区| 欧美日韩中文字幕国产精品一区二区三区 | 国产亚洲精品久久久久5区| 一本综合久久免费| 亚洲av电影在线进入| 亚洲精品av麻豆狂野| 天堂动漫精品| 高潮久久久久久久久久久不卡| 精品少妇黑人巨大在线播放| 最近最新中文字幕大全电影3 | 色尼玛亚洲综合影院| 国产精品香港三级国产av潘金莲| av又黄又爽大尺度在线免费看| 国产深夜福利视频在线观看| 久久性视频一级片| 国产精品久久久久久精品电影小说| 久久久国产精品麻豆| 青青草视频在线视频观看| 亚洲精品久久成人aⅴ小说| 久久久久国产一级毛片高清牌| 美女视频免费永久观看网站| 久久午夜亚洲精品久久| 亚洲五月色婷婷综合| 国产成人精品久久二区二区91| 亚洲av片天天在线观看| 久久久久精品人妻al黑| 亚洲欧洲精品一区二区精品久久久| 久久国产精品男人的天堂亚洲| av片东京热男人的天堂| 三上悠亚av全集在线观看| 欧美日韩成人在线一区二区| 一二三四在线观看免费中文在| 丝袜美腿诱惑在线| 国精品久久久久久国模美| 日韩欧美三级三区| 中文字幕最新亚洲高清| 精品一区二区三卡| 精品欧美一区二区三区在线| 好男人电影高清在线观看| 后天国语完整版免费观看| 变态另类成人亚洲欧美熟女 | 国产成人精品久久二区二区91| 国产成+人综合+亚洲专区| 久久精品人人爽人人爽视色| 两个人看的免费小视频| 国产欧美日韩一区二区三| 亚洲精品国产一区二区精华液| avwww免费| √禁漫天堂资源中文www| 日韩 欧美 亚洲 中文字幕| 成年女人毛片免费观看观看9 | 中文字幕高清在线视频| 大香蕉久久网| 精品少妇久久久久久888优播| 午夜福利一区二区在线看| 熟女少妇亚洲综合色aaa.| 丝袜喷水一区| 亚洲成a人片在线一区二区| 18禁观看日本| 免费在线观看黄色视频的| 狠狠精品人妻久久久久久综合| 久久久国产成人免费| 欧美+亚洲+日韩+国产| 日本一区二区免费在线视频| 久久久精品区二区三区| 亚洲五月婷婷丁香| 成年人黄色毛片网站| 国产精品亚洲一级av第二区| 久久久久久久久久久久大奶| 高清欧美精品videossex| 老司机影院毛片| 亚洲午夜理论影院| 亚洲精品国产精品久久久不卡| 亚洲精品久久午夜乱码| 美女高潮喷水抽搐中文字幕| 国产日韩一区二区三区精品不卡| 国产免费av片在线观看野外av| 亚洲avbb在线观看| 国产成人系列免费观看| 中文字幕色久视频| 无遮挡黄片免费观看| 首页视频小说图片口味搜索| 精品亚洲成国产av| 日韩有码中文字幕| 三上悠亚av全集在线观看| 中文字幕人妻熟女乱码| 久久久久久人人人人人| 别揉我奶头~嗯~啊~动态视频| 蜜桃国产av成人99| 中文字幕人妻熟女乱码| 自线自在国产av| 亚洲伊人久久精品综合| 久久久久久免费高清国产稀缺| 波多野结衣一区麻豆| 另类精品久久| 国产av又大| 亚洲中文字幕日韩| 亚洲熟女精品中文字幕| 每晚都被弄得嗷嗷叫到高潮| 国产精品美女特级片免费视频播放器 | 欧美黑人欧美精品刺激| 久久99热这里只频精品6学生| 亚洲成av片中文字幕在线观看| 亚洲欧美日韩高清在线视频 | 两个人看的免费小视频| 人人妻人人爽人人添夜夜欢视频| 成人18禁高潮啪啪吃奶动态图| 亚洲精品美女久久久久99蜜臀| 亚洲精品国产色婷婷电影| 久久天堂一区二区三区四区| 精品国产乱子伦一区二区三区| 欧美日本中文国产一区发布| 日日夜夜操网爽| 一个人免费在线观看的高清视频| 国产亚洲精品一区二区www | 最近最新中文字幕大全免费视频| 美国免费a级毛片| 天天操日日干夜夜撸|