日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sql server cdc 清理_基于CDC技术的ElasticSearch索引同步机制

發(fā)布時(shí)間:2023/12/15 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql server cdc 清理_基于CDC技术的ElasticSearch索引同步机制 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

概述

ElasticSearch作為一個(gè)基于Lucene的搜索引擎被廣泛應(yīng)用于各種應(yīng)用系統(tǒng),比如電商、新聞?lì)悺⒆稍冾惥W(wǎng)站。在使用ElasticSearch開發(fā)應(yīng)用的過程中,一個(gè)非常重要的過程是將數(shù)據(jù)導(dǎo)入到ElasticSearch索引中建立文檔。在一開始系統(tǒng)規(guī)模比較小時(shí),我們可以使用logstash來同步索引。logstash的好處是開方量少,只要進(jìn)行編寫簡單的索引模板和同步sql,就能快速搭建索引同步程序。但是隨著應(yīng)用數(shù)據(jù)規(guī)模的變大,索引變化變得非常頻繁。logstash的缺點(diǎn)也隨著暴露,包括(1)不支持刪除,只能通過修改字段屬性軟刪除,隨著應(yīng)用使用時(shí)間的增長,ElasticSearch中會留存大量的無用數(shù)據(jù),拖慢搜索速度。(2)sql分頁效率低,sql查詢慢。logstash的分頁邏輯是先有一個(gè)大的子查詢,然后再從子查詢中分頁獲取數(shù)據(jù),因此效率低下,當(dāng)數(shù)據(jù)庫數(shù)據(jù)量大時(shí),一個(gè)分頁查詢就需要幾百秒。同步幾千萬數(shù)據(jù)可能需要1天時(shí)間。因此我們決定放棄使用logstash,而改用使用canal來搭建基于CDC技術(shù)的ElasticSearch索引同步機(jī)制。

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

如圖所示,索引同步系統(tǒng)由幾個(gè)部分組成,下面分點(diǎn)介紹。

(1)數(shù)據(jù)庫

原始數(shù)據(jù)數(shù)據(jù)庫

(2)Canal

Canal是阿里云開源的MySql數(shù)據(jù)庫增量數(shù)據(jù)訂閱和消費(fèi)工具。它的實(shí)現(xiàn)原理是將自己偽裝為一個(gè)MySQL slave,向MySql master發(fā)送dump協(xié)議;MySQL master收到dump請求,開始推送binary log給slave,canal解析binary log對象。

(3)Canal Client

Canal Client是自己實(shí)現(xiàn)的程序,通過從Canal Server中獲取經(jīng)過Canal解析之后的數(shù)據(jù)庫binlog日志,做相應(yīng)的業(yè)務(wù)邏輯處理。在本文介紹的基于CDC的索引同步系統(tǒng)中,Canal Client訂閱搜索相關(guān)的數(shù)據(jù)庫表的binlog日志,如果跟數(shù)據(jù)搜索相關(guān)的數(shù)據(jù)發(fā)生變化時(shí),就向Rabbit發(fā)一條消息,表明數(shù)據(jù)發(fā)生變化了,通知同步Worker從MySQL同步數(shù)據(jù)到ES。

(4)RabbitMQ

消息隊(duì)列,也可以選用Kafaka等其他消息隊(duì)列,根據(jù)具體業(yè)務(wù)確定。

(5)索引同步Worker

Worker從消息隊(duì)列中消費(fèi)數(shù)據(jù),根據(jù)消息從MySQL獲取相應(yīng)的數(shù)據(jù)并同步到ElasticSearch中。

Canal Client實(shí)現(xiàn)

Canal Client從Canal Server中獲取binlog日志,并根據(jù)業(yè)務(wù)需求進(jìn)行處理。以下通過一些關(guān)鍵代碼介紹Canal Client的實(shí)現(xiàn)。

(1)在pom中添加Canal client的依賴。

<dependency><groupId>com.alibaba.otter</groupId><artifactId>canal.client</artifactId><version>1.1.0</version></dependency>

(2)初始化Canal連接

CanalConfig包含了Canal的配置信息。CanalConnector為canal-client包中的類,我們通過這個(gè)類來連接server,獲取binlog,關(guān)閉server。該服務(wù)基于SpringBoot。因此init會在CanalClientInitializer bean被創(chuàng)建時(shí)被調(diào)用,preDestory會在服務(wù)關(guān)閉,CanClientInitializer被銷毀時(shí)被調(diào)用。

@Component @Slf4j public class CanalClientInitializer {CanalConfig canalConfig;CanalConnector connector;CanalDataProcessor canalDataProcessor;public CanalClientInitializer(@Autowired CanalConfig canalConfig, @Autowired CanalDataProcessor canalDataProcessor) {this.canalConfig = canalConfig;this.canalDataProcessor = canalDataProcessor;}@PostConstructpublic void init() throws InterruptedException {connector = CanalConnectors.newSingleConnector(new InetSocketAddress(canalConfig.getIp(), canalConfig.getPort()), canalConfig.getDestination(), "", "");//建立連接connector.connect();//訂閱相關(guān)的表connector.subscribe(canalConfig.getSyncTable());canalDataProcessor.process(connector);}@PreDestroypublic void preDestroy() {log.info("stop the canal client");canalDataProcessor.stopProcess();}}

(3)CanalDataProcessor獲取并處理binlog

@Component @Slf4j public class CanalDataProcessor {boolean isRunning;RabbitTemplate rabbitTemplate;TableChangeProcessor tableChangeProcessor;public CanalDataProcessor(@Autowired RabbitTemplate rabbitTemplate, @Autowired TableChangeProcessor processor) {this.rabbitTemplate = rabbitTemplate;this.tableChangeProcessor = processor;}@Asyncpublic void process(CanalConnector connector) throws InterruptedException {isRunning = true;while (isRunning) {try {//獲取消息Message message = connector.getWithoutAck(100, 10L, TimeUnit.SECONDS);//業(yè)務(wù)處理邏輯processMessage(message);//消息被成功執(zhí)行,向Canal Server發(fā)送ack消息通知server該message已經(jīng)被處理完成connector.ack(message.getId());} catch (Exception e) {log.error("wtf", e);//當(dāng)消息沒被成功處理完成時(shí)進(jìn)行回滾,下次能夠重新獲取該Messageconnector.rollback();Thread.sleep(1000);}}connector.disconnect();}public void stopProcess() {isRunning = false;}private void processMessage(Message message) {for(Entry entry : message.getEntries()) {try {tableChangeProcessor.process(entry);} catch (Exception e) {log.error("wtf", e);continue;}}} }

(4)TableChangeProcessor

TableChangeProcessor中為具體的業(yè)務(wù)邏輯,處理Message,獲取跟搜索相關(guān)的數(shù)據(jù)變化,發(fā)送相應(yīng)的消息到消息隊(duì)列中。

注意點(diǎn)

(1)忽略搜索無關(guān)的數(shù)據(jù)字段變化,避免不必要的索引更新,降低服務(wù)器壓力。如Products表中有一個(gè)product_weight表示商品重量發(fā)生了變化,但其實(shí)商品重量跟搜索無關(guān),那就不要關(guān)心這個(gè)變化。

(2)對于搜索中不會出現(xiàn)的數(shù)據(jù),不要寫入到ES中,比如電商商品中的下架商品,另外,如果商品被下架,則要進(jìn)行監(jiān)聽通知索引同步Worker從es中刪除索引文檔。這樣能夠降低ES中總的索引文檔數(shù)量,提升搜索效率。

(3)要考慮Rabbit掛掉或者隊(duì)列寫滿,消息無法寫入的情況;首先應(yīng)該在Rabbit發(fā)送消息時(shí)添加重試,其次應(yīng)該在重試幾次還是失敗的情況下拋出異常,canal消息流回滾,下次還是能夠獲取到這個(gè)數(shù)據(jù)變化的Canal消息,避免數(shù)據(jù)變動(dòng)的丟失。

(4)注意目前Canal只支持單Client。如果要實(shí)現(xiàn)高可用,則需要依賴于ZooKeeper,一個(gè)Client作為工作Client,其余Client作為冷備,當(dāng)工作Client掛掉時(shí),冷備Client監(jiān)聽到ZooKeeper數(shù)據(jù)變化,搶占鎖成為工作Client。

Canal Worker實(shí)現(xiàn)

索引同步Worker從消息隊(duì)列中獲取Canal Client發(fā)送的跟搜索相關(guān)的數(shù)據(jù)庫變化消息。舉個(gè)例子,比如商品表中跟搜索相關(guān)的字段發(fā)生了變化,Canal Client會發(fā)送以下一條數(shù)據(jù):

{"change_id": "694212527059369984","change_type": 1, //商品發(fā)生變化"change_time": "1600741397" }

在Worker中監(jiān)聽隊(duì)列消息:

@Component @Slf4j public class ProductChangeQueueListener {@Autowired@Qualifier("snake")ObjectMapper om;@AutowiredChangeEventHandlerFactory changeEventHandlerFactory;@RabbitListener(queues = RabbitConfig.PRODUCT_QUEUE_NAME, containerFactory = "customRabbitListenerContainerFactory")public void onChange(Message message) {ChangeEvent event = parse(message);if(event == null) {return;}changeEventHandlerFactory.handle(event);}private ChangeEvent parse(Message message) {ChangeEvent event = null;try {event = om.readValue(new String(message.getBody()), ChangeEvent.class);} catch (Exception e) {log.error("同步失敗,解析失敗", e);}return event;}}

ChangeEventHandlerFactory為事件處理器的工廠類。以下為一個(gè)事件處理器的實(shí)現(xiàn)。它監(jiān)聽changeType為CHANGE_TYPE_OUT_PRODUCT的事件,從數(shù)據(jù)庫中獲取到變動(dòng)的數(shù)據(jù),構(gòu)建ES的IndexRequest,并將Request存入到RequestBulkBuffer中,等待批量同步到ES中。有些同學(xué)可能會有疑問,為何不直接從Canal中獲取數(shù)據(jù),主要原因是Canal中只包含了單表數(shù)據(jù),但是索引文檔可能包含了多表的數(shù)據(jù),因此還需要從MySQL獲取數(shù)據(jù)。如果索引文檔中只包含單表數(shù)據(jù),可以考慮在ChangeEvent中包含修改之后的數(shù)據(jù),索引同步Woker就不用再從MySql中再獲取一遍數(shù)據(jù),提升Worker工作效率。

@Component @Slf4j public class OutProductEventHandler implements ChangeEventHandler {@AutowiredProductDao productDao;@AutowiredRequestBulkBuffer buffer;@AutowiredOutProductChangeRequestBuilder builder;@Override@Retryablepublic boolean handle(ChangeEvent changeEvent) {if (!match(changeEvent)) {return false;}Tuple dataTuple = productDao.getProductWithStore(changeEvent.getChangeId());if (dataTuple == null) {return true;}Product product = dataTuple.get(QProduct.product);Store store = dataTuple.get(QStore.store);IndexRequest request = null;try {request = builder.convertToUpdateQuery(getTimestampNow(), product, store);} catch (Exception e) {log.error("wtf", e);}if (request == null) {return true;}buffer.add(request);return true;}@Overridepublic boolean match(ChangeEvent changeEvent) {return ChangeEvent.CHANGE_TYPE_OUT_PRODUCT == changeEvent.getChangeType();} }

在上面的OutProductEventHandler類中,我們并不直接在該類中使用RestHighLevelClient將文檔更新到ES索引,而是將IndexRequest暫存到RequestBulkBuffer中。RestBulkBuffer使用CircularFifoBuffer作為存儲數(shù)據(jù)結(jié)構(gòu)。

@Component public class RequestBulkBuffer {CircularFifoBuffer buffer;public RequestBulkBuffer(CircularFifoBuffer buffer) {this.buffer = buffer;}public void add(DocWriteRequest<?> request) {buffer.add(request);}}

CircularFifoBuffer是一個(gè)經(jīng)過改造的環(huán)形隊(duì)列實(shí)現(xiàn)。允許多線程寫,在我們這個(gè)應(yīng)用場景中只支持也只需支持單線程讀->處理->移除處理完的數(shù)據(jù)。當(dāng)環(huán)形隊(duì)列緩存滿時(shí),借助于semaphore,寫入線程將會被阻塞,在后面的Worker如何防止數(shù)據(jù)丟失中,我們來闡述為什么要這么做。

/*** 允許多線程寫* 只允許單線程->讀->處理->移除*/ public class CircularFifoBuffer {private Logger logger = LoggerFactory.getLogger(CircularFifoBuffer.class.getName());private transient Object[] elements;private transient int start = 0;private transient int end = 0;private transient boolean full = false;private final int maxElements;private ReentrantLock addLock;private Semaphore semaphore;public CircularFifoBuffer(int size) {if (size <= 0) {throw new IllegalArgumentException("The size must be greater than 0");}elements = new Object[size];maxElements = elements.length;addLock = new ReentrantLock();semaphore = new Semaphore(size);}public int size() {int size = 0;if (end < start) {size = maxElements - start + end;} else if (end == start) {size = (full ? maxElements : 0);} else {size = end - start;}return size;}public boolean isEmpty() {return size() == 0;}public boolean isFull() {return size() == maxElements;}public int maxSize() {return maxElements;}public void clear() {full = false;start = 0;end = 0;Arrays.fill(elements, null);}public boolean add(Object element) {if (null == element) {throw new NullPointerException("Attempted to add null object to buffer");}addLock.lock();try {semaphore.acquire();} catch (Exception e) {logger.error("RingBuffer", "線程退出,添加失敗");return false;}elements[end++] = element;if (end >= maxElements) {end = 0;}if (end == start) {full = true;}addLock.unlock();return true;}public Object get() {if (isEmpty()) {return null;}return elements[start];}public Object remove() {if (isEmpty()) {return null;}Object element = elements[start];if(null != element) {elements[start++] = null;if (start >= maxElements) {start = 0;}full = false;semaphore.release();}return element;}/*** @param size the max size of elements will return*/public Object[] get(int size) {int queueSize = size();if (queueSize == 0) { //emptyreturn new Object[0];}int realFetchSize = queueSize >= size ? size : queueSize;if (end > start) {return Arrays.copyOfRange(elements, start, start + realFetchSize);} else {if (maxElements - start >= realFetchSize) {return Arrays.copyOfRange(elements, start, start + realFetchSize);} else {return ArrayUtils.addAll(Arrays.copyOfRange(elements, start, maxElements),Arrays.copyOfRange(elements, 0, realFetchSize - (maxElements - start)));}}}public Object[] getAll() {return get(size());}public Object[] remove(int size) {if(isEmpty()) {return new Object[0];}int queueSize = size();int realFetchSize = queueSize >= size ? size : queueSize;Object [] retArr = new Object[realFetchSize];for(int i=0;i<realFetchSize;i++) {retArr[i] = remove();}return retArr;}}

下面這個(gè)類為緩存的消費(fèi)者,它循環(huán)從buffer中獲取一定數(shù)據(jù)的數(shù)據(jù),并使用RestHighLevelClient將數(shù)據(jù)批量同步到ES。在Worker啟動(dòng)時(shí),會創(chuàng)建一個(gè)線程調(diào)用startConsume,在服務(wù)關(guān)閉時(shí)該線程結(jié)束。

@Slf4j public class RequestBulkConsumer {private static final int DEFAULT_BULK_SIZE = 2000;private CircularFifoBuffer buffer;private EsBulkRequestService service;private boolean isRunning = false;private int bulkSize = DEFAULT_BULK_SIZE;public RequestBulkConsumer(CircularFifoBuffer buffer, RestHighLevelClient client) {this.buffer = buffer;this.service = new EsBulkRequestService(client);}public void setBulkSize(int size) {this.bulkSize = size;}public int getBulkSize() {return bulkSize;}public boolean isRunning() {return isRunning;}public void startConsume() {if(isRunning) {return;}isRunning = true;while(true) {if(!isRunning) {break;}Object [] items = buffer.get(bulkSize);if(items.length == 0) {try {Thread.sleep(1000);} catch (InterruptedException e) {break;}} else {List<DocWriteRequest<?>> requests = convert(items);try {BulkResponse response = service.request(requests);processResponse(response);buffer.remove(items.length);if (items.length < bulkSize) {Thread.sleep(3000);}} catch (InterruptedException e) {break;} catch (IOException e) {log.error("wtf", e);} catch (Exception e) {log.error("wtf", e);buffer.remove(items.length);}}}}private List<DocWriteRequest<?>> convert(Object [] items) {return Stream.of(items).map(i -> {if(i instanceof DocWriteRequest) {return (DocWriteRequest<?>) i;} else {return null;}}).filter(Objects::nonNull).collect(Collectors.toList());}public void stop() {isRunning = false;}private void processResponse(BulkResponse bulkResponse) {BulkItemResponse [] itemResponseArr = bulkResponse.getItems();for(BulkItemResponse resp : itemResponseArr) {DocWriteResponse docWriteResponse = resp.getResponse();if(docWriteResponse instanceof IndexResponse) {IndexResponse indexResponse = (IndexResponse) docWriteResponse;if(indexResponse.getResult() != Result.CREATED && indexResponse.getResult() != Result.UPDATED) {if(indexResponse.status() == RestStatus.CONFLICT) {continue;} else {log.error("索引更新失敗: {}, {}", indexResponse.getId(), resp.getFailureMessage());}}} else if(docWriteResponse instanceof DeleteResponse) {DeleteResponse deleteResponse = (DeleteResponse) docWriteResponse;if(deleteResponse.getResult() != Result.DELETED) {log.error("索引刪除失敗: {}, {}", deleteResponse.getId(), resp.getFailureMessage());}}}} }

以下為Worker的主要幾個(gè)類的代碼。在索引同步系統(tǒng)中,高可用并不是最重要的,因?yàn)槲覀兊乃阉鞅旧硎且粋€(gè)準(zhǔn)實(shí)時(shí)系統(tǒng),只需要保證最終一致性就可以了,我們主要需要避免的是數(shù)據(jù)變更的丟失。以下說明在Worker中是如何避免數(shù)據(jù)丟失的。

避免數(shù)據(jù)丟失

(1)如果Rabbit掛掉,沒關(guān)系,Canal Client那邊在Rabbit掛掉期間無法消費(fèi)binlog,會等待Rabbit重啟之后再處理數(shù)據(jù)變化。Worker只要能做到Rabbit重啟之后重連就行。

(2)如果MySQL掛掉,則Worker無法從數(shù)據(jù)庫中獲取數(shù)據(jù),則消息處理失敗,消息會堆積在Rabbit中。等MySQL重新上線之后,消息重新開始處理,數(shù)據(jù)也不會丟失。

(3)如果ES掛掉,則批量處理線程消費(fèi)buffer中的數(shù)據(jù)時(shí)會失敗,buffer會被生產(chǎn)者填滿,由于CircularFifoBuffer在被填滿時(shí)使用了信號量阻塞生產(chǎn)者線程,消息又會被堆積在Rabbit中,等待ES重新上線之后,消息重新開始處理,數(shù)據(jù)也不會丟失。

(4)如果Rabbit隊(duì)列被寫滿,emmm,設(shè)置好在內(nèi)存被占滿時(shí)將消息寫入硬盤然后搞一個(gè)大一點(diǎn)的硬盤吧,Rabbit默認(rèn)應(yīng)該就是這么做的。然后做好預(yù)警,當(dāng)消息達(dá)到一定量時(shí)抓緊處理,一般來說可能性不是很大。

(5)版本沖突,如果商品表中某一條數(shù)據(jù)如商品A在同一秒內(nèi)變化了兩次,消息隊(duì)列中有連續(xù)兩條消息,又由于這兩條消息可能在兩個(gè)線程中被消費(fèi),由于網(wǎng)絡(luò),計(jì)算機(jī)性能等原因,先變的數(shù)據(jù)后被寫入ES中,導(dǎo)致ES中數(shù)據(jù)和MySql數(shù)據(jù)不一致。因此我們在更新索引時(shí)使用ES的外部版本號。使用從MySQL中取數(shù)據(jù)時(shí)的時(shí)間戳作為版本號,只有當(dāng)時(shí)間戳比當(dāng)前版本號大或相等時(shí)才能變更文檔,否則ES會報(bào)版本沖突錯(cuò)誤。

private IndexRequest convertToUpdateQuery(Long timestamp, OutStoreProduct outStoreProduct) throws JsonProcessingException {IndexRequest indexRequest = new IndexRequest(indexName, "doc", outStoreProduct.getId());if(StringUtils.isEmpty(outStoreProduct.getTooEbaoProductId())) {log.error("商品 {} 的ebaoProductId為空,無法同步", outStoreProduct.getId());return null;}indexRequest.source(om.writeValueAsString(outStoreProduct), XContentType.JSON).versionType(VersionType.EXTERNAL_GTE).version(timestamp).routing(outStoreProduct.getTooEbaoProductId());return indexRequest;}

關(guān)于全量同步

以上只是實(shí)現(xiàn)了增量同步,在索引初始化時(shí),我們需要做全量同步操作,將數(shù)據(jù)從數(shù)據(jù)庫初始化到ES索引中。我們可以在Worker中寫一個(gè)接口,該接口實(shí)現(xiàn)邏輯分批將數(shù)據(jù)同步任務(wù)發(fā)到消息隊(duì)列中,其它worker收到消息后完成對應(yīng)任務(wù)。比如我們可以發(fā)布每一個(gè)門店的數(shù)據(jù)同步任務(wù),worker每收到一個(gè)消息,同步一個(gè)門店的數(shù)據(jù)。

總結(jié)

綜上,本系統(tǒng)是一個(gè)近實(shí)時(shí)的能夠保證ES和MySQL數(shù)據(jù)一致性的高效索引同步系統(tǒng)。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的sql server cdc 清理_基于CDC技术的ElasticSearch索引同步机制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

国产综合小视频 | 视频一区二区在线 | 久久婷婷网 | 精品国产精品久久 | 国产麻豆视频免费观看 | 天天做综合网 | 在线观看av的网站 | 色视频国产直接看 | 18久久久久| 色综合天天色 | 亚洲精品国产第一综合99久久 | 在线观看视频中文字幕 | 99视频精品全部免费 在线 | www.夜夜草 | 国产精品2018| 久草在线欧美 | 国产中文字幕在线 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲国产精品成人va在线观看 | 久久人人爽av | 夜色在线资源 | 337p日本欧洲亚洲大胆裸体艺术 | 午夜精品久久久久久久99水蜜桃 | 久久免费视频这里只有精品 | 美女网站色 | 久热色超碰 | 欧美极品xxxxx | 亚洲国产精品激情在线观看 | 日韩av免费一区二区 | 在线观看a视频 | 国产一区二区视频在线播放 | 91av视频网| 最新中文字幕在线观看视频 | 国产精品久久久久久久久久东京 | 国产精品一区一区三区 | 99国产精品久久久久老师 | 色综合天天天天做夜夜夜夜做 | 国产在线精品国自产拍影院 | 国产一区二区在线免费观看 | 就要色综合| 天天射天天操天天干 | 999热线在线观看 | 超碰人人超 | 视频 天天草 | 欧美日韩一区二区免费在线观看 | 久操97 | 三三级黄色片之日韩 | 99一级片 | 超碰日韩在线 | 亚洲精品久久久久久久不卡四虎 | 国产精品欧美久久久久无广告 | 91c网站色版视频 | av解说在线观看 | 高清不卡毛片 | 国产精品99久久久久人中文网介绍 | 欧美大片大全 | 不卡国产视频 | 日韩三级精品 | 国色综合| 国产成人一区二区三区在线观看 | 国产在线探花 | 日韩精品最新在线观看 | 久久精品视频在线免费观看 | 亚洲视频免费在线 | 日韩精品久久一区二区三区 | 成人综合日日夜夜 | 在线观看视频亚洲 | 日本精品久久久久中文字幕5 | 欧美九九九| 亚洲欧洲成人精品av97 | 国产精品久久久久影院日本 | 日日干 天天干 | 中文在线www | 日日爱网站 | 在线视频 国产 日韩 | av在线播放中文字幕 | 人人舔人人 | 麻豆精品国产传媒 | 91中文字幕在线播放 | 日韩成片 | www.99久久.com| 成人黄色电影在线观看 | 国产第一二区 | 激情久久伊人 | 中文字幕亚洲国产 | 欧美性性网 | 综合天堂av久久久久久久 | 日韩免费电影网站 | 91视频在线免费看 | 国产馆在线播放 | 欧美极品久久 | 久久久久伦理电影 | 久艹在线播放 | 日韩在线观看第一页 | 特级西西444www大精品视频免费看 | 免费观看一区二区三区视频 | 一区二区三区韩国免费中文网站 | 91免费国产在线观看 | 手机av在线免费观看 | 国内精品久久久精品电影院 | 欧美一区二区日韩一区二区 | 一级免费观看 | 色婷婷国产在线 | 九九九毛片 | 91久久国产自产拍夜夜嗨 | 国产九九热视频 | 美女国产精品 | 国产精品久久麻豆 | 日韩一区二区三区高清在线观看 | 成人免费在线电影 | 一区二区三区免费在线 | 九九九在线| 日韩最新中文字幕 | 欧美在线不卡一区 | 在线看片成人 | 久草视频在线播放 | 亚洲精品视频免费观看 | 亚洲综合色播 | 久久久私人影院 | 天天射综合网站 | 一区二区精品视频 | 在线视频观看91 | 青草视频免费观看 | 综合久久久久久久 | av韩国在线 | 能在线看的av | 97国产大学生情侣白嫩酒店 | 高清免费在线视频 | 欧美日韩在线第一页 | 国产日韩精品一区二区在线观看播放 | 97视频免费在线观看 | 久久久蜜桃一区二区 | 国产一级精品在线观看 | av中文资源在线 | 欧亚久久 | 97人人艹 | 探花视频在线观看免费版 | 国产手机视频精品 | 日韩av成人在线 | 亚洲电影网站 | 成人免费观看网站 | 久久黄色片 | 天天综合色 | 精品视频国产 | 国产精品99精品 | 成年人免费看片网站 | 日本在线观看一区二区 | 999久久久免费精品国产 | 久久久久免费精品国产 | 三上悠亚在线免费 | 国产福利a | 天堂激情网 | 久久久国产高清 | 91成人精品国产刺激国语对白 | 91亚州 | 久草在线视频新 | 美女免费黄网站 | 91av在线视频播放 | 99人成在线观看视频 | 深爱激情五月网 | 99久久国产免费,99久久国产免费大片 | av网址最新 | 黄色三级免费看 | 中文字幕日本在线 | 亚洲欧美激情插 | 国产不卡视频在线 | 天天操天天干天天综合网 | 婷婷六月综合网 | 2019av在线视频| 久久久亚洲国产精品麻豆综合天堂 | 成人在线观看网址 | 97国产超碰| 在线国产欧美 | 欧美在线视频第一页 | 久久在线精品视频 | 久久精品婷婷 | 午夜黄色一级片 | 在线精品视频免费观看 | 成人av在线播放网站 | 五月天色综合 | 亚洲欧美国产精品久久久久 | 久久综合狠狠综合 | 免费观看91视频大全 | 九九热免费在线视频 | 奇米导航 | 国产福利精品在线观看 | 欧美精品一区二区免费 | 亚洲精品乱码久久久久久蜜桃欧美 | 国产精品一区二区在线观看免费 | 超碰在线cao | 国产成人精品一区二区三区在线观看 | 久久tv视频 | 欧美激情视频一二三区 | 欧美一级性生活片 | 国产精品理论片 | 免费观看v片在线观看 | 免费在线观看不卡av | 超碰夜夜 | 五月综合激情婷婷 | av观看久久久 | 高清av中文字幕 | 91香蕉视频在线 | 国产视频精品久久 | 亚洲成人动漫在线观看 | 亚洲乱码在线 | 国产高清视频网 | 中文av在线播放 | av中文字幕不卡 | 亚洲精品国产综合久久 | 欧美一级特黄高清视频 | 久久久久久黄 | 国产黄大片 | 久久99精品国产麻豆宅宅 | 天天射天天干天天插 | 成人h在线播放 | 日韩网站在线 | 国产黄av| 国产一线天在线观看 | 欧美国产在线看 | 一区二区三区在线不卡 | 欧美黄色成人 | 日韩剧情 | 国产女教师精品久久av | 日韩黄色在线 | 又爽又黄在线观看 | 国产小视频在线播放 | 一区二区三区免费在线观看视频 | 日韩精品一区二区三区中文字幕 | 亚洲精品久久久蜜桃直播 | 欧美日韩亚洲第一页 | www日韩高清 | 欧美日本在线视频 | 激情丁香月 | 丰满少妇麻豆av | 综合影视 | 涩五月婷婷 | 六月丁香色婷婷 | 涩av在线 | www.五月天色| 97夜夜澡人人爽人人免费 | 中文av影院 | 超碰公开在线观看 | 91香蕉国产在线观看软件 | 久久理论电影网 | 在线 国产 亚洲 欧美 | 久久久国产精品视频 | 中文字幕色婷婷在线视频 | 天天久久综合 | 人人爱人人添 | 国产色就色 | 国内精品免费久久影院 | 乱男乱女www7788 | 国产小视频在线免费观看 | 日日夜夜添 | 久久免费公开视频 | 国产精品美女视频网站 | 中文字幕丝袜一区二区 | www.在线观看av| 九九视频一区 | 天天射天天射天天射 | 久久成人国产 | 亚洲精品久久久久www | 国产精品久久久久永久免费观看 | 狠狠狠狠狠狠狠狠干 | 色午夜| 国产91免费在线观看 | 日韩精品2区| 玖玖在线精品 | 久草免费新视频 | 97超碰影视| 亚洲乱码久久 | 亚洲精品乱码久久久久久蜜桃欧美 | 亚洲二区精品 | 国产精品久久久777 成人手机在线视频 | 久久精品国产v日韩v亚洲 | 亚洲综合在| 亚洲欧美精品一区二区 | 国产片网站 | 久久久亚洲麻豆日韩精品一区三区 | 在线国产视频 | 国产对白av | 国产一级片观看 | 91资源在线免费观看 | 欧美日韩国产mv | 黄av免费在线观看 | 日韩精品在线一区 | 91亚洲国产 | 黄色片免费电影 | 久草网在线观看 | 亚洲综合激情 | 日韩中文字幕免费 | 亚洲在线视频免费观看 | 免费精品在线观看 | 久久黄色片 | 狠狠干狠狠艹 | 综合亚洲视频 | 中文字幕一区二区三区久久蜜桃 | 欧美日韩在线播放 | 日本精品久久久久久 | 日韩黄色免费在线观看 | www.888.av| 国产精品白浆视频 | 久久久久久久久久久综合 | av片在线看 | 午夜神马福利 | 亚洲 欧美 91 | 成年人在线免费看 | 日本精品视频一区二区 | 久久久2o19精品 | 国语精品久久 | 国产又粗又长的视频 | 久久久久久久久久电影 | 国产人成一区二区三区影院 | 色资源在线观看 | 麻豆视频免费入口 | 久久免费福利视频 | 在线观看香蕉视频 | 精品国产1区2区 | 欧美日韩亚洲在线观看 | 97超在线| 亚洲精品资源在线 | av中文字幕免费在线观看 | 国产精品色在线 | 日韩欧美精品免费 | 狠狠狠色丁香婷婷综合久久五月 | 综合网av| 久久久99精品免费观看 | 97福利在线 | 在线一区二区三区 | 国产精品一区二区三区在线看 | 久久国内精品99久久6app | 国产精品精品国产婷婷这里av | 国产精品一区在线 | 97视频在线免费 | 精品一二三区视频 | 免费看一及片 | 一级片黄色片网站 | 97超碰福利久久精品 | 日韩av在线看 | 美女视频是黄的免费观看 | 国产精品高清在线 | 久久精品一区八戒影视 | 9999激情 | 亚洲国产精品成人女人久久 | 日韩高清不卡一区二区三区 | 国产精品视频线看 | mm1313亚洲精品国产 | 精品国产乱码久久久久久1区二区 | 精品99999| 国产精品久久久久四虎 | 国产视频在线播放 | 一区二区丝袜 | 国产免费大片 | 天天干天天干天天射 | 在线观看视频色 | 制服丝袜在线91 | 日本久久久久久久久久久 | 麻豆小视频在线观看 | 国产群p视频 | 色视频网站在线观看一=区 a视频免费在线观看 | 天天综合网 天天综合色 | 日韩91在线 | 夜夜干夜夜 | 久久久久成人精品免费播放动漫 | 在线日本v二区不卡 | a国产精品 | 日本丰满少妇免费一区 | 天天激情天天干 | 欧美在线aaa | 久久夜色精品国产欧美一区麻豆 | 国产第一页在线观看 | 精品欧美在线视频 | 最新中文字幕在线播放 | 色网站免费在线观看 | 欧美一区二区三区免费观看 | 91一区一区三区 | 国产午夜在线观看 | 国产精品 国产精品 | 伊人首页 | www.人人草 | av免费网站观看 | 欧美资源在线观看 | 国产a视频免费观看 | 88av色| 操操日 | 精品夜夜嗨av一区二区三区 | 欧美视频一区二 | 亚洲精品色视频 | 精品999 | 久久刺激视频 | 在线视频观看91 | 99精品偷拍视频一区二区三区 | 人人干干人人 | 国产a级片免费观看 | 毛片视频网址 | 国产成人免费在线 | 999久久久免费视频 午夜国产在线观看 | 九九热精品视频在线观看 | 一级黄色片网站 | 91在线小视频 | 精品在线看| 国产精品一区在线播放 | 视频一区二区精品 | 在线中文字幕av观看 | 久草视频一区 | 国产精品一区二区在线观看 | 黄色三级视频片 | 欧美精品一级视频 | av+在线播放在线播放 | 综合在线色| 91精品国产欧美一区二区 | 一本一本久久a久久精品综合 | 亚洲无吗av| 亚洲精品视频二区 | 黄色一级在线观看 | 久久免费电影 | 天天干视频在线 | wwxxxx日本| a午夜在线 | 亚洲精品乱码久久久久久写真 | 国产小视频福利在线 | 网站你懂的 | 久久久久久高潮国产精品视 | 最新精品国产 | 中文字幕在线视频国产 | 久草香蕉在线视频 | 免费在线观看亚洲视频 | 91亚洲欧美 | 在线视频你懂得 | 福利在线看片 | 久久好看免费视频 | www.久久爱.cn | 久久国产午夜精品理论片最新版本 | a视频在线观看 | 国产一区在线视频播放 | 日韩av一区二区三区在线观看 | 日韩一区正在播放 | 狠狠色丁香婷婷综合久久片 | 99精品欧美一区二区三区 | av中文字幕电影 | www.黄色片网站 | 中文字幕免费播放 | 欧美日一级片 | 99精品欧美一区二区三区黑人哦 | 精品免费在线视频 | 久久成视频 | 国产人成看黄久久久久久久久 | 黄色国产高清 | 青青草在久久免费久久免费 | 久久av免费电影 | 日韩二三区 | 91av视频在线播放 | 天天天干天天射天天天操 | 国产涩涩网站 | 国产日韩精品在线观看 | 久草精品视频在线观看 | 99精品视频免费全部在线 | 美女免费视频观看网站 | 韩日精品中文字幕 | 欧美日韩免费在线观看视频 | 国产96视频 | 91视频免费看 | 日韩在线看片 | 国产中文字幕视频在线观看 | 永久免费的av电影 | 婷婷国产一区二区三区 | 久久久久北条麻妃免费看 | 亚洲日本欧美在线 | 在线观看成人小视频 | 操操操com | 日批视频在线 | 亚洲国产美女精品久久久久∴ | 99 色| 国产97免费 | 在线观看日韩专区 | 国产精品久久久久久久久久久久午 | 国产一卡在线 | 天天干天天干天天 | 九九热免费在线视频 | 日韩成人在线免费观看 | 操久久免费视频 | 亚洲欧洲精品一区二区 | 99精品热视频 | 国产亚洲欧美日韩高清 | 在线免费三级 | 欧美三级高清 | 日韩久久久久久久 | 五月天婷亚洲天综合网精品偷 | 国产精品久久久久久欧美 | 久久网址| 在线电影日韩 | 国产视频 久久久 | 成人av在线直播 | 一区二区精品在线观看 | 国产精品毛片一区二区在线看 | 波多野结衣在线视频一区 | jizz999| 高清免费在线视频 | 久久只有精品 | 免费成人看片 | 日日干天天爽 | 特级西西www44高清大胆图片 | 成+人+色综合 | 三级黄色理论片 | 色婷婷亚洲| 欧美激情综合网 | 国产精品资源在线观看 | 2019精品手机国产品在线 | 欧美色图视频一区 | 美女一级毛片视频 | 麻豆视频在线播放 | 免费观看完整版无人区 | 激情丁香在线 | 2019中文| 欧美污网站 | 精品九九久久 | 激情婷婷网 | 97在线观看视频免费 | 色综合久久网 | 人人草在线视频 | 少妇bbb搡bbbb搡bbbb | 成人高清在线 | 久久久精品电影 | 免费在线观看成年人视频 | 欧美性黑人 | 91av中文| 日韩精品视频在线免费观看 | 国产日韩精品一区二区三区 | 欧美a级免费视频 | 亚洲综合成人婷婷小说 | 亚洲国产欧美在线看片xxoo | 中文字幕av网站 | 综合av在线| 欧美精品久久久久久久亚洲调教 | 人人射人人爱 | 国产麻豆精品95视频 | 一性一交视频 | 最新日韩在线观看 | 1区2区3区在线观看 三级动图 | 久艹视频免费观看 | 天天爽夜夜爽人人爽曰av | 亚洲精品久久视频 | 日韩精品第一区 | 亚洲japanese制服美女 | 91av在线免费观看 | 99久久国产免费看 | 久久手机在线视频 | 欧美精品中文字幕亚洲专区 | 国产97色在线 | 成人在线观看网址 | 一区二区三区在线免费播放 | 精品国产电影一区二区 | 精品国产精品国产偷麻豆 | www国产亚洲精品久久麻豆 | 福利一区在线 | 欧美日韩亚洲在线观看 | 国产一区av在线 | 亚洲精品777 | 日韩久久一区二区 | 亚洲一片黄 | 成人国产精品久久久 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 色综合天天爱 | 久艹在线观看视频 | 99久久精品免费看 | 欧美激情精品久久 | 国产对白av | 一区二区视 | 天天操操操操操 | 久久天天躁夜夜躁狠狠85麻豆 | 九色视频网址 | av福利免费 | 亚洲综合欧美激情 | 探花视频免费观看 | 欧美淫视频 | 国产一级免费在线观看 | 91看片在线看片 | 天天操操 | 国产一级电影在线 | 国产亚洲精品无 | 日韩一区二区三区在线看 | 日韩二区三区在线观看 | 亚洲三级网 | 午夜久久视频 | 午夜黄色一级片 | 日韩在线免费视频观看 | 亚洲永久精品视频 | 亚洲区另类春色综合小说校园片 | 最近日本字幕mv免费观看在线 | 夜夜澡人模人人添人人看 | 国产精品久久久久久久久久东京 | 99久久精品免费一区 | 91高清视频 | 亚洲日本韩国一区二区 | 国产人成免费视频 | av免费网| 国产91精品在线观看 | 五月婷婷激情六月 | 日韩久久久 | 狠狠干在线播放 | 一区二区不卡在线观看 | 综合精品久久久 | 96亚洲精品久久 | 日本激情视频中文字幕 | 久久久免费毛片 | 热re99久久精品国产99热 | 欧美在线视频第一页 | 九九热免费在线视频 | 国产手机视频 | 欧美日韩18 | 国产成人性色生活片 | 中文字幕国语官网在线视频 | 在线亚洲欧美日韩 | 久久免费a | 99精品视频中文字幕 | 成人九九视频 | 久久久久久免费视频 | 伊人导航 | 精品一区二区三区香蕉蜜桃 | 亚洲欧美在线综合 | 久久99婷婷| 蜜臀av在线一区二区三区 | 最近免费在线观看 | 精品国产一区二区三区四区vr | 欧美久久久一区二区三区 | 成人免费视频播放 | 国内成人精品2018免费看 | 99综合影院在线 | 在线国产不卡 | 国产精品大片免费观看 | 久久精品91久久久久久再现 | 久久综合狠狠综合 | 中文字幕资源在线观看 | 久久国产电影院 | 久久综合九色九九 | 在线a人片免费观看视频 | 一区二区三区四区不卡 | 波多野结衣精品在线 | 色资源中文字幕 | 国产不卡一 | 人人爽人人澡人人添人人人人 | 国产精品久久久久久久久久久杏吧 | 亚洲天天综合网 | 国产精品一区二区你懂的 | 久草.com| 免费电影播放 | 免费在线观看国产精品 | 久久综合丁香 | 国产在线一线 | 伊人天天狠天天添日日拍 | 免费日韩电影 | 97在线看片| zzijzzij亚洲日本少妇熟睡 | 成人h电影 | 麻豆综合网 | www.97视频 | 涩涩色亚洲一区 | 色 免费观看| 夜夜躁狠狠躁日日躁 | 亚洲精品欧洲精品 | 日韩视频www | 亚洲精品国产欧美在线观看 | 国产欧美中文字幕 | 国产一级在线 | 超碰在线94| 亚洲高清视频在线观看 | 9999毛片| 天天操天天添 | 欧美精品久 | 久久久精品国产一区二区电影四季 | 国产99久久久精品 | 青青草华人在线视频 | 免费中文字幕在线观看 | 国产成人av综合色 | 久免费| 免费三级影片 | 中文字幕在线一二 | 欧美日韩国产一区 | 亚洲精品h | 色婷婷国产精品一区在线观看 | 一区二区三区视频网站 | 91亚洲精品国产 | 免费久久99精品国产婷婷六月 | 欧美一级电影在线观看 | 91av色| 久久精品7| 98久9在线 | 免费 | 制服丝袜欧美 | 欧美久草视频 | 亚州黄色一级 | 91av视频免费观看 | 99精品国产兔费观看久久99 | 国产成人一区二区精品非洲 | 一区二区三区 中文字幕 | 亚洲一区欧美激情 | 在线观看va | 在线观看免费福利 | 久久99久久99精品免费看小说 | 欧美地下肉体性派对 | 国产三级国产精品国产专区50 | 91一区二区在线 | 18pao国产成视频永久免费 | 日本久久久精品视频 | 在线观看免费 | 欧美91在线 | 日韩av看片| 最近更新的中文字幕 | 久久久久久久久久网 | 日韩精品一区二区三区在线视频 | 亚洲精品免费观看视频 | 久久久99精品免费观看app | 丰满少妇久久久 | 日韩av免费大片 | 俺要去色综合狠狠 | 免费国产在线视频 | 久久免费视屏 | 精品久久久久亚洲 | 免费看三片 | 一级黄色片毛片 | 亚洲精品美女在线 | 综合在线亚洲 | 久久看片 | 国产精品国产三级国产不产一地 | 91精品一区二区在线观看 | 一本一本久久a久久 | 国产精品久久久影视 | 国内精品久久久久久久久久久久 | 亚洲在线精品视频 | 久久久精品一区二区三区 | 久久伦理电影网 | 国产精品久久久久久久久免费 | 日日爱影视 | 免费观看十分钟 | 国产精品自产拍在线观看网站 | 中文字幕在线播出 | 亚洲免费观看在线视频 | 精品综合久久 | 99在线高清视频在线播放 | 日韩电影在线视频 | a在线视频v视频 | 国产一级免费av | 天天操天天射天天 | 在线观看国产www | 毛片激情永久免费 | 久久成年人网站 | 久久国产精品久久精品 | 91大神电影 | 天天插天天射 | 天天操天天射天天爽 | 三级在线国产 | 黄色软件在线观看免费 | 国产精品网站 | 欧洲精品久久久久毛片完整版 | 日韩精品一区二区三区高清免费 | 91一区一区三区 | 在线观看国产区 | 我爱av激情网 | 日韩三区在线观看 | 天天色综合1 | 人人射av | 欧美日韩在线视频一区 | 国产91精品在线播放 | 麻豆精品传媒视频 | 午夜体验区 | 午夜天天操 | 玖玖精品在线 | 亚洲精品在线视频观看 | 久久久久激情视频 | 国产精品久久久久久久久久东京 | 精品在线视频一区 | 国产a精品| 国产99一区视频免费 | 欧美日韩性生活 | 亚洲区精品视频 | 在线视频麻豆 | 国产免费一区二区三区最新 | 亚洲永久精品一区 | 五月亚洲综合 | 久久久久电影 | 伊人天天| 93久久精品日日躁夜夜躁欧美 | 久久久免费看 | 51精品国自产在线 | 天天爽夜夜操 | av在线精品 | 丁香婷婷社区 | 亚洲精品国产品国语在线 | 国产黄在线 | 91在线入口 | 国产中文字幕在线看 | 97狠狠操| 亚洲国产成人高清精品 | 五月婷婷在线综合 | 色老板在线视频 | 中文字幕精品视频 | 亚洲高清91 | 日韩在线观看视频中文字幕 | 亚洲综合视频在线 | 麻豆 videos| 久久国产精品第一页 | 日韩欧美综合精品 | 久久精品—区二区三区 | 91传媒视频在线观看 | 深夜国产在线 | 国产精品成 | 欧美成人精品欧美一级乱黄 | 日韩免费在线 | 99九九99九九九视频精品 | 国产精品av久久久久久无 | 久久午夜免费观看 | 美女视频黄免费 | 中文字幕精品一区二区精品 | 伊人www22综合色 | av在线免费网 | 国产福利一区在线观看 | 97在线视频网站 | 国产二区免费视频 | 国产精品12| 亚洲精品成人av在线 | 国产精品久久久久久久午夜 | 亚洲国产mv | 日本精品一区二区三区在线播放视频 | 久久综合影音 | 成人黄色小说在线观看 | 天天做天天射 | 91精品视频一区 | 视频在线观看入口黄最新永久免费国产 | 午夜久久网 | 久久只精品99品免费久23小说 | 黄色成人在线观看 | 丁香六月婷婷综合 | 日韩资源在线 | 中文字幕免费高清 | 欧洲精品久久久久毛片完整版 | 超碰在线最新地址 | 欧美极品少妇xbxb性爽爽视频 | 欧美日韩色婷婷 | 亚洲国产高清在线 | 精品视频在线免费观看 | 91免费的视频在线播放 | 四虎影视av | 久久大香线蕉app | 狠狠色狠狠综合久久 | 国产在线一线 | 精品国产大片 | 99免在线观看免费视频高清 | 久久久久国产一区二区三区 | 在线观看久久久久久 | 一区二区三区在线看 | 久久久久日本精品一区二区三区 | av电影免费看 | 97超碰网| 国产中文字幕在线看 | 亚洲播播 | 色综合久久久久久中文网 | 五月婷婷激情综合网 | 日韩久久电影 | 超碰免费av| 国内视频在线 | 天天操天天是 | 日韩高清成人在线 | 久久观看最新视频 | 国产午夜精品一区二区三区欧美 | 久久人人爽人人 | 国产黄a三级三级 | 91av在线视频播放 | 久久涩视频 | 91插插插网站 | 日韩精品中文字幕久久臀 | 午夜在线观看影院 | 久久国产精品久久精品 | av福利电影 | 久久艹在线观看 | 国产色网 | 亚洲国产成人在线 | 日日夜夜干 | 国产又粗又猛又黄视频 | 国产精品麻豆欧美日韩ww | 亚洲精品播放 | 国产午夜三级一区二区三桃花影视 | 日本中文字幕在线免费观看 | 国产色在线,com | 在线中文字幕观看 | 国产一区二区视频在线 | 四虎国产精品免费观看视频优播 | 在线观看亚洲精品视频 | 亚洲成人家庭影院 | 国产高清视频在线播放一区 | 97精品国产97久久久久久久久久久久 | 天天爱天天操天天射 | 久草免费在线视频观看 | 欧美在线观看视频一区二区三区 | 精品久久久久久久久中文字幕 | 97超碰在线人人 | 成人高清在线观看 | 玖玖在线精品 | 99视频一区 | 97超碰站 | 在线观看国产亚洲 | 亚洲精品理论片 | 国产一区欧美二区 | 色偷偷888欧美精品久久久 | 日本系列中文字幕 | 最新av网站在线观看 | 中文字幕日本在线观看 | 少妇高潮冒白浆 | 99精品国产成人一区二区 | 国产99久久精品一区二区300 | 久草在线在线精品观看 | 九九色网 | 亚洲婷婷在线 | 精品久久久久久电影 | 亚洲国产影院 | 久久观看| 国产亚洲精品成人 | 久草资源在线观看 | 日韩亚洲国产中文字幕 | 久久三级视频 | 国产成人一区二区三区在线观看 | 午夜国产一区 | 欧美一级片免费播放 | 在线免费观看视频一区二区三区 | 超碰公开97 | 久草免费在线视频观看 | 日韩av中文字幕在线免费观看 | 一区二区三区福利 | a在线观看视频 | 色亚洲网| 国产一区二区综合 | 最近高清中文字幕 | 天天av综合网 | 黄色毛片网站在线观看 | 国产成人av在线 | 午夜视频免费在线观看 | 美女黄视频免费看 | 久久久久久久久精 | 国产精品福利一区 | 丁香激情五月 | 三级在线视频播放 | 蜜臀久久99精品久久久久久网站 | 欧美成人理伦片 | 久久公开视频 | 午夜av大片 | 中文字幕中文字幕在线中文字幕三区 | 成人免费视频视频在线观看 免费 | 午夜婷婷在线观看 | 中文亚洲欧美日韩 | 人人狠 | 99免费精品视频 | 三级黄色网络 | 日本精品小视频 | 综合色中文 | 欧美成人精品三级在线观看播放 | 欧美日韩三级在线观看 | 午夜精品电影 | 国产视频在线观看一区 | 深爱激情av| 久久字幕精品一区 | 精品国产1区二区 | 婷色在线 | 亚洲婷婷综合色高清在线 | 久久国产精品一二三区 | 5月丁香婷婷综合 | 亚洲午夜av电影 | 亚洲三级性片 | 丁香五月亚洲综合在线 | 天天草天天爽 | 免费观看国产精品 | 婷婷六月丁香激情 | 99热这里有精品 | 玖玖在线观看视频 | 日韩网站中文字幕 | 精品国产一区二区三区av性色 | 五月婷婷激情综合 | 丁香激情综合国产 | 国产精品麻豆三级一区视频 | 特级片免费看 | 国产一二三四在线视频 | 日韩精选在线 | 色小说在线 | 美女免费视频黄 | 在线 视频 一区二区 | 超碰人人91| 日韩首页 | 四虎在线免费视频 | 久久成人国产精品一区二区 | 久久久久久草 | 国产精品视频免费观看 | 日韩在线观看网站 | 久久久精品午夜 | 五月天色丁香 | 亚洲一级黄色 | 99精品视频在线观看 | 精品视频亚洲 | 欧美日韩精品区 | 日韩高清网站 | av成人免费观看 | 最新一区二区三区 |