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

    基于 NOR Flash 實現(xiàn) KV 數(shù)據(jù)庫的應(yīng)用研究

    2022-03-09 04:45:02熊啟龍
    水利信息化 2022年1期
    關(guān)鍵詞:終端機鍵值扇區(qū)

    熊啟龍

    (水利部淮河水利委員會水文局(信息中心),安徽 蚌埠 233001)

    0 引言

    水文自動測報系統(tǒng)中遙測站的常用參數(shù)必須實現(xiàn)在站存儲,并且可以實時增加、修改、刪除和查詢。終端機作為遙測站的采集控制中心,通常都集成有非易失 Flash 固態(tài)存儲器。非易失 Flash 固態(tài)存儲器常用來存放運行參數(shù)、歷史數(shù)據(jù)、日志信息、過程文件等內(nèi)容,是遙測終端機重要的組成部分。

    從微控制器(MCU)的角度看,遙測終端機中 Flash 可以分為以下 2 種:1)片內(nèi) Flash。片內(nèi)Flash 空間有限,一般不用來存放頻繁讀寫的數(shù)據(jù)。2)片外 Flash。片外 Flash 有 EEPROM,NOR Flash或 Nand Flash 等類型,采用通用標準接口與 MCU相連,可以用來存放頻繁讀寫的數(shù)據(jù)。水文自動測報系統(tǒng)中大多數(shù)遙測終端機采用片外 NOR Flash 存放系統(tǒng)運行參數(shù)和設(shè)備運行期間產(chǎn)生的數(shù)據(jù)[1]。

    根據(jù) NOR Flash 的讀、寫和擦除特性,遙測終端機通常選用以下 1 種方式保存系統(tǒng)運行參數(shù):1)依次存放方式。在以 1 個固定地址開始的存儲區(qū)間內(nèi),依次存放系統(tǒng)運行參數(shù)[2],所有的系統(tǒng)運行參數(shù)組合在一起存放在 NOR Flash 中固定的 1 個或者多個連續(xù)扇區(qū)內(nèi)。根據(jù) NOR Flash 的擦寫特點,參數(shù)的修改、擦除和寫入必須以扇區(qū)為單位進行操作,此種操作方式?jīng)]有考慮 NOR Flash 的擦寫次數(shù)有限,頻繁擦寫固定的扇區(qū)可能會損壞該扇區(qū),使存儲器出現(xiàn)壞區(qū)。2)分塊管理方式。以扇區(qū)為單位,在固定存儲空間內(nèi)為每個扇區(qū)建立頭部信息,記錄每個扇區(qū)的擦除次數(shù)、存儲數(shù)據(jù)類型和分塊狀態(tài),存放在每個扇區(qū)起始地址處。系統(tǒng)根據(jù)每個扇區(qū)的頭部信息進行數(shù)據(jù)寫入讀取、資源回收和擦除次數(shù)均衡等操作,實現(xiàn)對固定的 NOR Flash 存儲空間以分塊管理的目的[3]。

    遙測站系統(tǒng)運行參數(shù)是一種結(jié)構(gòu)化數(shù)據(jù),1 個參數(shù)可以用 1 個 KV(Key-Value)鍵值對進行描述,其中 Key 表示參數(shù)名,Value 表示參數(shù)數(shù)值,多個參數(shù)組成 KV 鍵值數(shù)據(jù)庫。在同一個 KV 數(shù)據(jù)庫中,Key 具有唯一性,KV 數(shù)據(jù)庫具有簡單易用、高效和可擴展性強等特點。當前,國內(nèi)外常用的主流嵌入式 KV 數(shù)據(jù)庫有 BerkeleyDB,Empress 和SQLite 等[4],這些嵌入式 KV 數(shù)據(jù)庫性能強大,支持高并發(fā)操作,通常運行在 Linux 和 FreeBSD 等操作系統(tǒng)平臺上,但是對于遙測終端機這種小型嵌入式設(shè)備來說,MCU 資源和性能有限,移植 Linux 和FreeBSD 等操作系統(tǒng),以及 BerkeleyDB,Empress,SQLite 等嵌入式 KV 數(shù)據(jù)庫非常困難,即使移植成功,也不能充分發(fā)揮高性能,因此需要針對遙測終端機的硬件特點和應(yīng)用場景,設(shè)計一個 KV 數(shù)據(jù)庫,滿足遙測站日常運行應(yīng)用需求。

    在水文自動測報系統(tǒng)中,遙測終端機采用 NOR Flash 作為片外存儲器,存儲器資源和系統(tǒng)性能相對有限,運行過程中,需要頻繁對其進行讀寫、修改和刪除操作,且并發(fā)性操作要求不高,但是需要考慮存儲器各扇區(qū)的磨損均衡和系統(tǒng)在異常情況下的掉電恢復功能,為此,本研究以終端機中常用的NOR Flash 存儲器 W25Q256 為例,在資源有限的嵌入式終端設(shè)備中研究如何充分利用 W25Q256 的讀寫特點創(chuàng)建一個嵌入式 KV 鍵值數(shù)據(jù)庫,滿足水文自動測報系統(tǒng)中遙測站應(yīng)用場景的需求。

    1 W25Q256 讀寫特點

    W25Q256 的容量為 32 MB,由 131 072 個可編程頁組成,每個頁的容量為 256 B,存儲器 1 次最多可編程 1 個頁,但是以 1 個扇區(qū)為單位進行擦除操作時,可以任意以字節(jié)為單位進行尋址讀取數(shù)據(jù)。

    為保證寫入數(shù)據(jù)的正確性,通常在針對 1 個地址執(zhí)行編程操作前,都要對該地址所在的扇區(qū)進行擦除操作,擦除后該扇區(qū)內(nèi)的存儲單元數(shù)值將全部為初始值 FFH,再進行寫操作就可以正確完成。根據(jù) W25Q256 的物理特征,在對每個字節(jié)進行編程操作時,每個位可以通過編程由 1 變?yōu)?0,但是不可以從 0 變?yōu)?1。因此針對 1 個存儲空間可以重復寫入,最終寫入數(shù)值 = 要寫入的數(shù)值 & 存儲空間的原有數(shù)值。例如:在 Flash 起始地址為 1000H 的字節(jié)空間內(nèi)寫入二進制數(shù)值 1011 1111,該地址原有的二進制數(shù)值為 0111 1111,那么最終寫入的數(shù)值為0011 1111。

    從以上結(jié)果看,W25Q256 每次編程的最小寫操作顆粒度為 1 bit,也就是針對 1 個編程操作的最小執(zhí)行單位是 1 bit,執(zhí)行結(jié)果要么是將 1 bit 的數(shù)值由1 變?yōu)?0,要么寫入結(jié)果仍然為 1,不存在第 3 種可能,這是一個很重要的概念。

    NOR Flash 的擦除和編程次數(shù)是有限的,根據(jù)W25Q256 存儲器芯片的數(shù)據(jù)手冊,針對同一個地址的循環(huán)擦除和編程次數(shù)如果超出 100 000 次[5],存儲器芯片可能會損壞。

    2 KV 鍵值數(shù)據(jù)庫及實現(xiàn)功能

    KV 鍵值數(shù)據(jù)庫內(nèi)的每一組 KV 鍵值對對應(yīng)遙測終端機的 1 個參數(shù),Key 具有唯一性,一旦保存,Key 值就不可被修改。

    根據(jù)遙測終端機的應(yīng)用場景,要在 W25Q256存儲器創(chuàng)建嵌入式 KV 鍵值數(shù)據(jù)庫,必須根據(jù)W25Q256 存儲器的特點合理規(guī)劃,最終要實現(xiàn)以下功能:

    1)實現(xiàn)系統(tǒng)運行參數(shù)的快速插入、修改和刪除操作;

    2)要能根據(jù)參數(shù)名稱,快速檢索出數(shù)據(jù)庫中參數(shù)對應(yīng)的數(shù)值;

    3)要考慮 NOR Flash 的磨損均衡操作[6]和系統(tǒng)運行參數(shù)的異常掉電恢復[7]功能。

    3 KV 鍵值數(shù)據(jù)庫實現(xiàn)方案

    實現(xiàn)系統(tǒng)運行參數(shù)的在站存儲操作,主要是在W25Q256 存儲器的一段空間內(nèi)建設(shè) KV 鍵值數(shù)據(jù)庫,實現(xiàn)任意參數(shù)的檢索讀取、新增寫入、刪除和修改。

    3.1 參數(shù)的存放

    在遙測終端機中實現(xiàn)參數(shù)的統(tǒng)一存放,就是在KV 鍵值數(shù)據(jù)庫中依次存放 KV 鍵值對,在針對每個扇區(qū)存放第 1 個 KV 鍵值對前,需要對該扇區(qū)進行格式化擦除操作,保證該扇區(qū)在首次寫入時數(shù)據(jù)全部為初始值 FFH。

    為確保鍵值對操作的可靠性和數(shù)據(jù)的安全性,采用 C 語言為每個鍵值對定義一個描述結(jié)構(gòu)體,具體如下:

    struct KV_data {

    uint8_t status; /*KV 鍵值對狀態(tài)*/

    uint32_t len; /*KV 鍵值對總長度,以字節(jié)為單位,為 Key 長度和 Value 長度之和 */

    uint8_t key_len; /*Key 長度,鍵值對總長度為len,那么 Value 的長度為 len - key_len*/

    uint32_t crc32;/*KV 鍵值對的 crc32 校驗數(shù)值*/

    } 。

    結(jié)構(gòu)體中 status 為 KV 鍵值對的當前狀態(tài),是實現(xiàn) KV 鍵值數(shù)據(jù)庫的關(guān)鍵,定義為如下 6 個數(shù)值(16 進制):

    1)FFH,空白,表明該空間沒有使用,宏定義為 UNUSED;

    2)7FH,表明該空間準備或者正在寫入內(nèi)容,宏定義為 PRE_WRITE;

    3)3FH,表明該鍵值對已經(jīng)處于有效完好狀態(tài),宏定義為 WRITE;

    4)1FH,表明該鍵值對正在準備刪除,宏定義為 PRE_DELETE;

    5)0FH,表明該鍵值對已經(jīng)處于刪除狀態(tài),不能再被使用,宏定義為 DELETED;

    6)00H,表明該鍵值對檢驗錯誤,為錯誤狀態(tài),宏定義為 ERR_HDR。

    從 6 個狀態(tài)數(shù)值可以看出,相鄰的 2 個狀態(tài)數(shù)值只變化 1 bit,而且是從 1 變?yōu)?0,也就是W25Q256 的最小編程顆粒度。定義程序中每個 KV鍵值對的狀態(tài)變化順序只能從狀態(tài) 1 到 6 變化,不能逆向變化。根據(jù) W25Q256 的編程特點,針對 1 個KV 鍵值對的 status 狀態(tài)數(shù)值存放位置,可以重復編程,從狀態(tài) 1 到 6 依次順序或者跳越變化。

    每個 KV 鍵值對在存放到 NOR Flash 存儲器前,一定要加上描述結(jié)構(gòu)體,再在其后空間存放Key 和 Value 數(shù)據(jù);在讀取 KV 鍵值對時,首先讀取該描述結(jié)構(gòu)體,再通過描述結(jié)構(gòu)體中信息讀取KV 鍵值對。

    所有 KV 鍵值對都按照以上描述結(jié)構(gòu)體組成單元依次存放在 KV 鍵值數(shù)據(jù)庫中,從而實現(xiàn)系統(tǒng)運行參數(shù)的保存。

    3.2 參數(shù)的檢索讀取

    由于 W25Q256 的擦除和編程次數(shù)有限,當需要檢索 1 個系統(tǒng)運行參數(shù)時,不能采用在固定位置建立“索引”的方式快速定位檢索 1 個參數(shù)對應(yīng)的KV 鍵值對,而是采用循環(huán)讀取 KV 鍵值數(shù)據(jù)庫內(nèi)所有 KV 鍵值對的方式檢索參數(shù):從起始位置開始依次讀取 1 個有效完好狀態(tài)的 KV 鍵值對,當 Key 對應(yīng)的數(shù)值與要檢索的參數(shù)相等就返回該 KV 鍵值對,該 KV 鍵值對的 Value 數(shù)值即要查詢的參數(shù)數(shù)值。

    3.3 參數(shù)的新增寫入

    當需要新增加 1 個系統(tǒng)運行參數(shù)時,首先在遙測終端機內(nèi)存中新建 1 個類型為 struct KV_data的 KV 鍵值描述結(jié)構(gòu)體,根據(jù)要新增寫入的參數(shù)對應(yīng) KV 鍵值對計算 CRC32 校驗數(shù)值,并填寫描述結(jié)構(gòu)體各字段,其中 status 狀態(tài)初始化為 UNUSEED(FFH);然后從 KV 鍵值數(shù)據(jù)庫存儲器空間定位到有空閑空間的扇區(qū),在該扇區(qū)的空閑起始地址處將該 KV 鍵值描述結(jié)構(gòu)體寫入,寫入完成后將 stauts數(shù)值修改為 PRE_WRITE(7FH);再在緊隨其后的空間開始將 Key 和 Value 依次復制,寫入完成后將status 數(shù)值修改為 WRITE(3FH),此時該 KV 鍵值對已經(jīng)處于有效完好狀態(tài),可以使用了。流程圖如圖1 所示。

    圖1 新增寫入?yún)?shù)流程圖

    3.4 參數(shù)的刪除

    對遙測終端機系統(tǒng)運行參數(shù)的刪除很簡單,在KV 鍵值數(shù)據(jù)庫中通過循環(huán)讀取 KV 鍵值對,檢索到該參數(shù)對應(yīng)的 KV 鍵值對描述結(jié)構(gòu)體,將其中 status字段修改為 DELETED(0FH),此時該鍵值對的狀態(tài)為刪除狀態(tài),不能再被使用了。

    3.5 參數(shù)的修改

    在遙測終端機中修改參數(shù),并不是直接對該參數(shù)對應(yīng)的 KV 鍵值對進行修改,而是采用如下步驟:

    1)循環(huán)讀取數(shù)據(jù)庫中 KV 鍵值,對定位該參數(shù)對應(yīng)的 KV 鍵值對,將其狀態(tài)由 WRITE(3FH)修改為 PRE_DELETE(1FH);

    2)在內(nèi)存中申請 1 個狀態(tài)為 UNUSED(FFH)的 KV 鍵值對描述結(jié)構(gòu)體,根據(jù)參數(shù)的修改內(nèi)容計算新修改參數(shù)的 CRC32 校驗數(shù)值并填寫描述結(jié)構(gòu)體各字段,將該描述結(jié)構(gòu)體在有空閑空間的扇區(qū)內(nèi)(與原有參數(shù) KV 鍵值對可能是同一個扇區(qū),也可能不是同一個扇區(qū))新增寫入,寫入完成后,將其狀態(tài)由 UNUSED(FFH)修改為 PRE_WRITE(7FH);

    3)在描述結(jié)構(gòu)體后將新修改參數(shù)對應(yīng)的 KV鍵值對寫入,完成后將該描述結(jié)構(gòu)體的狀態(tài)由PRE_WRITE(7FH)修改為 WRITE(3FH),新修改的 KV 鍵值對處于有效完好狀態(tài);

    4)將原有的 KV 鍵值對描述結(jié)構(gòu)體狀態(tài)由PRE_DELETE(1FH)修改為 DELETED(0FH),原有鍵值對為刪除失效狀態(tài)。

    通過以上 4 個步驟,就可以完成參數(shù)對應(yīng)的 KV鍵值對的修改,其中每次狀態(tài)的改變都是針對該 KV鍵值對的描述結(jié)構(gòu)體中 status 狀態(tài)字段的重復寫入,每次只變化 1 bit,且是從 1 變化為 0。修改系統(tǒng)運行參數(shù)的流程圖如圖2 所示。

    圖2 修改參數(shù)對流程圖

    3.6 異常掉電的恢復

    假設(shè)在新增、修改或者刪除參數(shù)的某個執(zhí)行步驟過程中,遙測終端機突然掉電,修改沒有完成,也就是新增加的 KV 鍵值對描述結(jié)構(gòu)體狀態(tài)可能為 UNUSED(FFH)或者 PRE_WRITE(7FH),而原有的參數(shù)對應(yīng) KV 鍵值對描述結(jié)構(gòu)體狀態(tài)為PRE_DELETE(1FH)。

    系統(tǒng)重啟后,將對 KV 鍵值數(shù)據(jù)庫中所有的 KV鍵值對做如下操作:

    1) 循環(huán)查詢數(shù)據(jù)庫中所有 KV 鍵值對的狀態(tài);

    2) 如果發(fā)現(xiàn) 1 個 KV 鍵值對的描述結(jié)構(gòu)體狀態(tài)為 PRE_WRITE(7FH),表明該空間的鍵值對還沒有寫入完成,是無效數(shù)據(jù),應(yīng)立即將其 status 狀態(tài)數(shù)值修改為 ERR_HDR(00H),也就是為錯誤狀態(tài);

    3)如果發(fā)現(xiàn) 1 個 KV 鍵值對的狀態(tài)為 PRE_DELETE(1FH),表明該 KV 鍵值對還沒有修改完成,因此需要將該 KV 鍵值對進行恢復。系統(tǒng)將在數(shù)據(jù)庫中新增 1 個參數(shù),該參數(shù)對應(yīng)的 KV 鍵值對數(shù)值與要恢復的 KV 鍵值對相同,新增完成后將原有 KV 鍵值的 status 狀態(tài)由 PRE_DELETE(1FH)修改為 DELETED(0FH),原有鍵值對失效。

    通過以上 3 個步驟,實現(xiàn)在異常掉電情況下系統(tǒng)重啟后,對新增、修改或者刪除參數(shù)失敗的 KV鍵值對進行恢復。

    3.7 實現(xiàn)的效果分析

    在遙測終端機中基于 W25Q256 存儲器中一段固定的存儲空間內(nèi)建立 KV 鍵值數(shù)據(jù)庫,終端機在首次運行初始化后,將所有默認的系統(tǒng)運行參數(shù)依次新增寫入數(shù)據(jù)庫。在系統(tǒng)運行期間需要修改系統(tǒng)運行參數(shù)時,就修改數(shù)據(jù)庫中對應(yīng)的 KV 鍵值對;當需要刪除 1 個參數(shù)時,就刪除數(shù)據(jù)庫中對應(yīng)的 KV鍵值對。系統(tǒng)運行參數(shù)是系統(tǒng)穩(wěn)定運行的基礎(chǔ),如果數(shù)據(jù)出現(xiàn)異常,將會導致系統(tǒng)運行出現(xiàn)不可預知的錯誤,采用 KV 鍵值數(shù)據(jù)庫保存系統(tǒng)運行參數(shù),充分考慮到 NOR Flash 存儲器的特點和水文自動測報系統(tǒng)特殊的應(yīng)用場景,可以有效提高系統(tǒng)的穩(wěn)定可靠性。

    KV 鍵值數(shù)據(jù)庫中參數(shù)的新增、修改和刪除操作都不可能存在對同一個固定地址頻繁操作的情況,實現(xiàn)機制是按照數(shù)據(jù)庫存儲空間內(nèi)地址依次增加而操作的,并沒有在固定地址建立索引,當需要針對 1 個參數(shù)操作時,采用循環(huán)方式依次檢索數(shù)據(jù)庫中每個 KV 鍵值對進行相應(yīng)操作,可保證 KV 鍵值數(shù)據(jù)庫存儲空間內(nèi)每個扇區(qū)被擦除和編程的概率是基本一樣的,達到磨損均衡的目的,能有效延長W25Q256 存儲器的使用壽命。

    4 結(jié)語

    本研究充分利用 NOR Flash 的讀寫特點,基于W25Q256 存儲器實現(xiàn)了一個 KV 鍵值數(shù)據(jù)庫的設(shè)計,可對遙測終端機中系統(tǒng)運行參數(shù)進行新增、修改、刪除和查詢操作,從而使 W25Q256 的存儲性能有了較大的改善,而且數(shù)據(jù)的可靠性也有很大提高,其最主要的特點是磨損均衡和異常掉電恢復,特別適用于遙測終端機中 NOR Flash 存儲器無文件系統(tǒng)管理的參數(shù)存儲。

    在實際運行中,對 KV 鍵值對修改和刪除過程中產(chǎn)生的狀態(tài)為 DELETED 或 ERR_HDR 的無用鍵值對占用的空間要及時回收,以更有效地利用存儲器空間。同時為加快訪問 KV 鍵值數(shù)據(jù)庫的速度,可以考慮在終端機內(nèi)存中建立緩存區(qū)間,將常用的 KV鍵值對放入緩沖區(qū),并建立 1 套緩存與 KV 鍵值數(shù)據(jù)庫的管理機制。今后,針對 KV 鍵值數(shù)據(jù)庫中資源回收和緩存機制功能需要做進一步研究和優(yōu)化。

    猜你喜歡
    終端機鍵值扇區(qū)
    分階段調(diào)整增加扇區(qū)通行能力策略
    南北橋(2022年2期)2022-05-31 04:28:07
    非請勿進 為注冊表的重要鍵值上把“鎖”
    重慶ETC手持終端機方案探討
    U盤故障排除經(jīng)驗談
    一鍵直達 Windows 10注冊表編輯高招
    電腦愛好者(2017年9期)2017-06-01 21:38:08
    冷軋機操作站終端機的改造性修復
    基于貝葉斯估計的短時空域扇區(qū)交通流量預測
    重建分區(qū)表與FAT32_DBR研究與實現(xiàn)
    國家水資源監(jiān)控能力建設(shè)項目在線數(shù)據(jù)采集傳輸接收設(shè)備規(guī)約符合性測試結(jié)果發(fā)布
    中國水利(2014年9期)2014-07-25 03:57:48
    淺談如何配置一個基本安全的終端機
    亚洲成人精品中文字幕电影| 男女视频在线观看网站免费| 欧美成人a在线观看| 中文字幕精品亚洲无线码一区| 免费在线观看成人毛片| 六月丁香七月| 久久久久久久久久久免费av| 国产欧美日韩精品一区二区| 久久热精品热| 国产免费一级a男人的天堂| 午夜福利高清视频| 国产精品综合久久久久久久免费| 1000部很黄的大片| 午夜福利高清视频| 国产精品99久久久久久久久| 亚洲av中文字字幕乱码综合| 国产又色又爽无遮挡免| 午夜精品一区二区三区免费看| 亚洲不卡免费看| 啦啦啦啦在线视频资源| 最近的中文字幕免费完整| 国产精品女同一区二区软件| 美女黄网站色视频| 亚洲欧美成人综合另类久久久 | 青春草亚洲视频在线观看| 久久久久久国产a免费观看| 久久久久久大精品| 亚洲av免费在线观看| 少妇的逼好多水| 国产男人的电影天堂91| 亚洲欧洲日产国产| 色哟哟·www| 国产视频首页在线观看| 超碰av人人做人人爽久久| 久久综合国产亚洲精品| 只有这里有精品99| 久久久久久久久久久丰满| 直男gayav资源| 久久精品国产99精品国产亚洲性色| 中文字幕人妻熟人妻熟丝袜美| 在线播放国产精品三级| 美女被艹到高潮喷水动态| 国产成人freesex在线| 午夜福利高清视频| 美女国产视频在线观看| 舔av片在线| 日本爱情动作片www.在线观看| 日本av手机在线免费观看| 男人和女人高潮做爰伦理| 秋霞在线观看毛片| 婷婷色av中文字幕| 欧美一级a爱片免费观看看| 国产午夜精品一二区理论片| 亚洲欧美成人精品一区二区| 中文字幕久久专区| 成年版毛片免费区| 寂寞人妻少妇视频99o| 国产av在哪里看| 久久久成人免费电影| 九九久久精品国产亚洲av麻豆| 我的女老师完整版在线观看| 亚洲国产精品专区欧美| 丰满人妻一区二区三区视频av| 亚洲综合色惰| 日韩欧美三级三区| 欧美一区二区亚洲| 嫩草影院入口| 午夜精品在线福利| 色视频www国产| 尤物成人国产欧美一区二区三区| 天堂av国产一区二区熟女人妻| 白带黄色成豆腐渣| 日韩av在线免费看完整版不卡| 成人国产麻豆网| 麻豆国产97在线/欧美| 免费观看性生交大片5| 久久99热这里只频精品6学生 | 亚洲欧美中文字幕日韩二区| 女的被弄到高潮叫床怎么办| 青春草视频在线免费观看| av在线亚洲专区| 精品不卡国产一区二区三区| 亚洲成人精品中文字幕电影| 免费电影在线观看免费观看| 亚洲内射少妇av| 精品午夜福利在线看| 久久精品综合一区二区三区| 高清av免费在线| АⅤ资源中文在线天堂| 一区二区三区四区激情视频| 熟女人妻精品中文字幕| 中文字幕免费在线视频6| 国产欧美日韩精品一区二区| 不卡视频在线观看欧美| 一级黄色大片毛片| ponron亚洲| 精品久久久久久久久亚洲| 亚洲精品乱久久久久久| 舔av片在线| 欧美xxxx黑人xx丫x性爽| 中文乱码字字幕精品一区二区三区 | 国产又色又爽无遮挡免| 亚洲在久久综合| 91午夜精品亚洲一区二区三区| 国产三级在线视频| 亚洲综合色惰| 九色成人免费人妻av| 小蜜桃在线观看免费完整版高清| 免费av观看视频| 国产精品1区2区在线观看.| 又粗又爽又猛毛片免费看| 成人国产麻豆网| 亚洲最大成人av| 一区二区三区乱码不卡18| 99热这里只有是精品在线观看| 精品99又大又爽又粗少妇毛片| 精品国内亚洲2022精品成人| 少妇高潮的动态图| 国产精品国产三级专区第一集| 美女黄网站色视频| 99国产精品一区二区蜜桃av| 国产大屁股一区二区在线视频| 亚洲成人av在线免费| 色综合亚洲欧美另类图片| 一区二区三区乱码不卡18| 国产精品麻豆人妻色哟哟久久 | www.色视频.com| 欧美成人a在线观看| 国产真实乱freesex| 欧美丝袜亚洲另类| 韩国高清视频一区二区三区| 亚洲国产色片| 一卡2卡三卡四卡精品乱码亚洲| 欧美一级a爱片免费观看看| 欧美不卡视频在线免费观看| 日日啪夜夜撸| 免费电影在线观看免费观看| 69人妻影院| 水蜜桃什么品种好| 直男gayav资源| 国产伦理片在线播放av一区| 夜夜看夜夜爽夜夜摸| 精华霜和精华液先用哪个| 欧美一区二区国产精品久久精品| 欧美成人a在线观看| 国产亚洲一区二区精品| 国产亚洲av片在线观看秒播厂 | 日本一本二区三区精品| 亚洲成色77777| 国产真实伦视频高清在线观看| 又粗又硬又长又爽又黄的视频| 少妇裸体淫交视频免费看高清| 亚洲欧美一区二区三区国产| 亚洲18禁久久av| 国产亚洲最大av| 久久国内精品自在自线图片| 亚洲国产成人一精品久久久| 亚洲人成网站在线观看播放| 三级经典国产精品| 日本与韩国留学比较| 国产精品三级大全| 我要看日韩黄色一级片| 久久韩国三级中文字幕| 亚洲最大成人手机在线| 丰满少妇做爰视频| 菩萨蛮人人尽说江南好唐韦庄 | 九九久久精品国产亚洲av麻豆| 欧美精品一区二区大全| 成人毛片60女人毛片免费| 国语自产精品视频在线第100页| 成年女人看的毛片在线观看| 国产av在哪里看| 国产私拍福利视频在线观看| 蜜臀久久99精品久久宅男| 国产精品三级大全| 成人特级av手机在线观看| 午夜精品在线福利| 欧美xxxx性猛交bbbb| 国内少妇人妻偷人精品xxx网站| 最近中文字幕2019免费版| 日韩欧美精品v在线| av在线天堂中文字幕| 亚洲人与动物交配视频| 国产成人精品一,二区| 欧美不卡视频在线免费观看| 久久久午夜欧美精品| 一边亲一边摸免费视频| 岛国在线免费视频观看| 久久人人爽人人片av| 晚上一个人看的免费电影| 午夜爱爱视频在线播放| 99久久人妻综合| 国产午夜精品论理片| 男人舔奶头视频| 国产成人91sexporn| 日本av手机在线免费观看| 中文字幕精品亚洲无线码一区| 级片在线观看| 国产精品国产高清国产av| 91aial.com中文字幕在线观看| 国产精品爽爽va在线观看网站| 大香蕉97超碰在线| 亚洲国产精品国产精品| 大香蕉久久网| 黄片无遮挡物在线观看| 欧美性猛交黑人性爽| 麻豆成人午夜福利视频| 十八禁国产超污无遮挡网站| 一级黄色大片毛片| 国产精品av视频在线免费观看| 成年女人永久免费观看视频| 欧美成人午夜免费资源| 大话2 男鬼变身卡| 一级二级三级毛片免费看| 亚洲美女搞黄在线观看| 伦精品一区二区三区| av播播在线观看一区| 久久6这里有精品| 少妇熟女欧美另类| 国产午夜精品论理片| 久久99蜜桃精品久久| 国产精品三级大全| 午夜福利成人在线免费观看| 天天躁夜夜躁狠狠久久av| 国产高清有码在线观看视频| 久久精品熟女亚洲av麻豆精品 | 日本色播在线视频| 一区二区三区免费毛片| 免费一级毛片在线播放高清视频| 精品久久久久久电影网 | 国产 一区精品| 男人的好看免费观看在线视频| 国产极品精品免费视频能看的| 久久久成人免费电影| 国产精品美女特级片免费视频播放器| 亚洲国产精品合色在线| av免费在线看不卡| 日本一二三区视频观看| 精品久久久久久久末码| 亚洲国产精品久久男人天堂| 大香蕉久久网| 国产乱人视频| 中文字幕人妻熟人妻熟丝袜美| 高清视频免费观看一区二区 | 三级经典国产精品| 国产不卡一卡二| av视频在线观看入口| 成人二区视频| 特级一级黄色大片| av在线观看视频网站免费| 我要搜黄色片| 啦啦啦啦在线视频资源| 国产午夜精品论理片| 亚洲乱码一区二区免费版| 欧美一区二区亚洲| 干丝袜人妻中文字幕| 国产精品.久久久| 久久精品影院6| 国产精品蜜桃在线观看| 你懂的网址亚洲精品在线观看 | 免费av不卡在线播放| 精品久久久久久久久av| 18禁动态无遮挡网站| 日本黄大片高清| 国产高清有码在线观看视频| 免费av观看视频| 免费电影在线观看免费观看| 国产精品蜜桃在线观看| 中文天堂在线官网| 91精品伊人久久大香线蕉| 麻豆一二三区av精品| 精品久久久久久电影网 | 久久这里只有精品中国| 少妇熟女欧美另类| 美女脱内裤让男人舔精品视频| 国产高清国产精品国产三级 | 91久久精品国产一区二区三区| 欧美成人午夜免费资源| 纵有疾风起免费观看全集完整版 | 一区二区三区免费毛片| 国产 一区 欧美 日韩| 国产伦一二天堂av在线观看| 一级av片app| 日韩在线高清观看一区二区三区| 日本免费一区二区三区高清不卡| 国产精品人妻久久久影院| 日韩亚洲欧美综合| 岛国毛片在线播放| 久久精品综合一区二区三区| 乱码一卡2卡4卡精品| 欧美日韩在线观看h| 久久久色成人| 久久久久免费精品人妻一区二区| 国产一区二区亚洲精品在线观看| 久久久a久久爽久久v久久| 美女大奶头视频| 熟女人妻精品中文字幕| 看十八女毛片水多多多| or卡值多少钱| 国产伦精品一区二区三区四那| 精品久久久久久电影网 | av在线蜜桃| 国产高清有码在线观看视频| av专区在线播放| 婷婷六月久久综合丁香| 啦啦啦啦在线视频资源| 国产极品精品免费视频能看的| 中文字幕熟女人妻在线| 天堂网av新在线| 国内揄拍国产精品人妻在线| 成人鲁丝片一二三区免费| 一区二区三区高清视频在线| 一区二区三区乱码不卡18| 一个人看视频在线观看www免费| 日本猛色少妇xxxxx猛交久久| 亚洲国产精品久久男人天堂| 日韩中字成人| 国产麻豆成人av免费视频| 色网站视频免费| 久久99热这里只频精品6学生 | 日韩大片免费观看网站 | 中文天堂在线官网| 18禁裸乳无遮挡免费网站照片| 国产成人freesex在线| 亚洲内射少妇av| 中文字幕人妻熟人妻熟丝袜美| 中文欧美无线码| av女优亚洲男人天堂| 国产精品一区二区三区四区免费观看| 欧美一区二区亚洲| 亚洲在线自拍视频| 成人国产麻豆网| 国产精品一二三区在线看| 1000部很黄的大片| 久久午夜福利片| 尾随美女入室| 久久久久久久午夜电影| 久久久精品大字幕| 精品一区二区免费观看| 99热6这里只有精品| 三级国产精品欧美在线观看| 18禁在线无遮挡免费观看视频| 欧美激情国产日韩精品一区| 国产一区亚洲一区在线观看| 特大巨黑吊av在线直播| 亚洲精品亚洲一区二区| 国产亚洲精品久久久com| 亚洲成色77777| av在线播放精品| 久久久欧美国产精品| 一边亲一边摸免费视频| 国产一区有黄有色的免费视频 | 七月丁香在线播放| 啦啦啦啦在线视频资源| 日韩精品青青久久久久久| 久久久国产成人免费| 美女脱内裤让男人舔精品视频| 卡戴珊不雅视频在线播放| 国产免费男女视频| 国产精品爽爽va在线观看网站| 青春草视频在线免费观看| 丰满人妻一区二区三区视频av| 内地一区二区视频在线| 美女大奶头视频| 久久99热6这里只有精品| 日韩一本色道免费dvd| 亚洲四区av| 人体艺术视频欧美日本| 18禁在线无遮挡免费观看视频| 少妇熟女aⅴ在线视频| 一级毛片久久久久久久久女| 国产成人一区二区在线| 91久久精品国产一区二区三区| 亚洲在线自拍视频| 免费电影在线观看免费观看| 99久久成人亚洲精品观看| 色噜噜av男人的天堂激情| 嘟嘟电影网在线观看| 一区二区三区高清视频在线| 亚洲av熟女| 青春草视频在线免费观看| 2021天堂中文幕一二区在线观| 卡戴珊不雅视频在线播放| 亚洲美女搞黄在线观看| 1000部很黄的大片| av在线播放精品| 午夜精品一区二区三区免费看| 欧美日韩一区二区视频在线观看视频在线 | 久久99精品国语久久久| 久久这里有精品视频免费| 日本免费在线观看一区| 国产精品一及| 最近2019中文字幕mv第一页| 成人高潮视频无遮挡免费网站| 久久亚洲精品不卡| 欧美色视频一区免费| 亚洲国产日韩欧美精品在线观看| 欧美日韩精品成人综合77777| 一边摸一边抽搐一进一小说| 国产探花在线观看一区二区| 日产精品乱码卡一卡2卡三| 日韩强制内射视频| 国产视频内射| 亚洲成色77777| 亚洲国产欧美人成| 欧美3d第一页| 欧美又色又爽又黄视频| 三级毛片av免费| 亚洲av日韩在线播放| 亚洲av免费高清在线观看| 精品熟女少妇av免费看| 国产精华一区二区三区| 高清午夜精品一区二区三区| 国产精品熟女久久久久浪| 中文亚洲av片在线观看爽| 一区二区三区四区激情视频| 亚洲经典国产精华液单| 毛片一级片免费看久久久久| 看免费成人av毛片| 最近中文字幕高清免费大全6| 亚洲欧美日韩东京热| 一个人免费在线观看电影| 国产精品99久久久久久久久| 天美传媒精品一区二区| 亚洲,欧美,日韩| 中国国产av一级| 少妇的逼水好多| 舔av片在线| 久久久欧美国产精品| 激情 狠狠 欧美| 尾随美女入室| 亚洲av熟女| 一个人看视频在线观看www免费| 在线观看美女被高潮喷水网站| 色5月婷婷丁香| 免费观看人在逋| 亚洲成av人片在线播放无| 青春草亚洲视频在线观看| 亚洲欧美成人精品一区二区| 免费观看人在逋| 九草在线视频观看| 男女视频在线观看网站免费| 插逼视频在线观看| 免费观看的影片在线观看| 国产成人精品久久久久久| 禁无遮挡网站| 在线观看66精品国产| 亚洲欧美日韩卡通动漫| www.av在线官网国产| 性插视频无遮挡在线免费观看| 白带黄色成豆腐渣| 一级毛片我不卡| 国产免费福利视频在线观看| 亚洲成人久久爱视频| 日本免费一区二区三区高清不卡| 成人性生交大片免费视频hd| 在线天堂最新版资源| 卡戴珊不雅视频在线播放| 亚洲av中文字字幕乱码综合| 国内少妇人妻偷人精品xxx网站| 在线免费观看不下载黄p国产| 国产精品综合久久久久久久免费| 熟女人妻精品中文字幕| 2021天堂中文幕一二区在线观| 午夜激情欧美在线| 日本与韩国留学比较| 99久国产av精品| 亚洲欧洲国产日韩| 中文字幕亚洲精品专区| 高清日韩中文字幕在线| 极品教师在线视频| 精品国产三级普通话版| 亚洲精品一区蜜桃| 中文精品一卡2卡3卡4更新| 日韩一区二区视频免费看| 97在线视频观看| 国产精品野战在线观看| 一级毛片久久久久久久久女| www.av在线官网国产| 国产免费视频播放在线视频 | 夜夜看夜夜爽夜夜摸| 久久久国产成人免费| 日韩精品青青久久久久久| 女人被狂操c到高潮| 少妇丰满av| 级片在线观看| 变态另类丝袜制服| 亚洲性久久影院| 亚洲精品国产成人久久av| 麻豆一二三区av精品| 舔av片在线| 不卡视频在线观看欧美| 午夜老司机福利剧场| 寂寞人妻少妇视频99o| 国产成人aa在线观看| 亚洲欧美精品专区久久| 女的被弄到高潮叫床怎么办| 久久久久久伊人网av| 国产淫语在线视频| 18禁在线播放成人免费| 免费无遮挡裸体视频| 国产亚洲精品久久久com| 久久久亚洲精品成人影院| 亚洲av成人精品一区久久| 亚洲乱码一区二区免费版| 日日摸夜夜添夜夜爱| 中文乱码字字幕精品一区二区三区 | 三级国产精品片| 日本欧美国产在线视频| 黄色日韩在线| 久久韩国三级中文字幕| 国产精品一区二区三区四区免费观看| 观看美女的网站| 精品少妇黑人巨大在线播放 | 日韩视频在线欧美| 精品国产三级普通话版| 少妇熟女欧美另类| 日本-黄色视频高清免费观看| av卡一久久| 日韩,欧美,国产一区二区三区 | 国产精品99久久久久久久久| 久久久精品欧美日韩精品| 成人午夜精彩视频在线观看| 中文精品一卡2卡3卡4更新| 国产高清三级在线| 久久久久精品久久久久真实原创| 成年免费大片在线观看| 久久久亚洲精品成人影院| 午夜精品在线福利| 国产精品久久久久久久电影| av卡一久久| 亚洲成色77777| av女优亚洲男人天堂| 欧美日本亚洲视频在线播放| 九九爱精品视频在线观看| 国产精品人妻久久久影院| 成人一区二区视频在线观看| 色哟哟·www| 亚洲欧美成人精品一区二区| 国产精品久久久久久av不卡| 寂寞人妻少妇视频99o| 亚洲婷婷狠狠爱综合网| 欧美不卡视频在线免费观看| 免费电影在线观看免费观看| 精品久久国产蜜桃| 99久久精品国产国产毛片| 一级黄色大片毛片| 好男人视频免费观看在线| 精品国产一区二区三区久久久樱花 | 最近2019中文字幕mv第一页| 国产亚洲5aaaaa淫片| 亚洲美女搞黄在线观看| 日韩三级伦理在线观看| 欧美日本视频| 女人十人毛片免费观看3o分钟| 插逼视频在线观看| 久久久久性生活片| 少妇丰满av| 免费观看精品视频网站| 69人妻影院| 国产精品久久久久久久电影| 国产精品国产三级国产专区5o | 亚洲av成人精品一区久久| 舔av片在线| 色网站视频免费| 中文字幕精品亚洲无线码一区| 日本午夜av视频| 精品久久久噜噜| 日本免费a在线| 久久精品91蜜桃| 国产精品久久视频播放| 在线播放无遮挡| 91精品伊人久久大香线蕉| 一个人看视频在线观看www免费| 成人三级黄色视频| 成人无遮挡网站| 亚洲激情五月婷婷啪啪| 欧美成人精品欧美一级黄| 亚州av有码| kizo精华| 亚洲综合精品二区| 亚洲精品,欧美精品| 免费黄网站久久成人精品| 麻豆国产97在线/欧美| 久久鲁丝午夜福利片| 国产免费视频播放在线视频 | 免费不卡的大黄色大毛片视频在线观看 | av专区在线播放| 免费观看人在逋| 日本黄色视频三级网站网址| 麻豆精品久久久久久蜜桃| 久久精品久久久久久噜噜老黄 | 欧美一区二区亚洲| .国产精品久久| 在线免费观看不下载黄p国产| 国产伦精品一区二区三区视频9| 久久精品熟女亚洲av麻豆精品 | 女人十人毛片免费观看3o分钟| 国产免费福利视频在线观看| 国产单亲对白刺激| 亚州av有码| 欧美+日韩+精品| 在现免费观看毛片| 大话2 男鬼变身卡| 一区二区三区乱码不卡18| 夜夜看夜夜爽夜夜摸| 午夜激情福利司机影院| eeuss影院久久| 国产色婷婷99| 两个人视频免费观看高清| 国内精品美女久久久久久| 啦啦啦啦在线视频资源| 免费不卡的大黄色大毛片视频在线观看 | 亚洲人成网站在线观看播放| 少妇猛男粗大的猛烈进出视频 |