• <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
    淺談如何配置一個基本安全的終端機
    精品午夜福利在线看| 青春草亚洲视频在线观看| 王馨瑶露胸无遮挡在线观看| 久久6这里有精品| 久久99热6这里只有精品| 在线精品无人区一区二区三 | 欧美日韩综合久久久久久| videossex国产| av一本久久久久| 日韩伦理黄色片| 91久久精品国产一区二区成人| 日本黄色日本黄色录像| 超碰av人人做人人爽久久| 精品国产露脸久久av麻豆| 国产综合精华液| 人妻制服诱惑在线中文字幕| 国产免费视频播放在线视频| 寂寞人妻少妇视频99o| 成年免费大片在线观看| 国产精品人妻久久久影院| 欧美老熟妇乱子伦牲交| 黄色视频在线播放观看不卡| 亚洲av中文av极速乱| 一级毛片我不卡| 亚洲av欧美aⅴ国产| 热99国产精品久久久久久7| 五月开心婷婷网| 狂野欧美激情性xxxx在线观看| 久久av网站| 18禁在线无遮挡免费观看视频| 肉色欧美久久久久久久蜜桃| 成人二区视频| 国产亚洲午夜精品一区二区久久| 国产伦精品一区二区三区四那| 国产精品久久久久久av不卡| 最近中文字幕2019免费版| 成年人午夜在线观看视频| 五月玫瑰六月丁香| 网址你懂的国产日韩在线| 国产深夜福利视频在线观看| 国产精品一区二区在线不卡| 亚洲精品视频女| 久久久色成人| 国产黄频视频在线观看| 免费看光身美女| 在线 av 中文字幕| 成人影院久久| 精品亚洲乱码少妇综合久久| videos熟女内射| 中国国产av一级| 久久毛片免费看一区二区三区| 成人无遮挡网站| 国产午夜精品久久久久久一区二区三区| 久久精品国产亚洲av天美| 91精品伊人久久大香线蕉| 亚洲激情五月婷婷啪啪| 国产精品麻豆人妻色哟哟久久| 亚洲美女黄色视频免费看| 国产欧美日韩一区二区三区在线 | 欧美zozozo另类| 日韩电影二区| 亚洲欧美一区二区三区黑人 | 久久久久久人妻| 一区二区三区乱码不卡18| 精品久久久久久久末码| 亚洲精品中文字幕在线视频 | 又黄又爽又刺激的免费视频.| 大片免费播放器 马上看| 自拍欧美九色日韩亚洲蝌蚪91 | 国产成人freesex在线| 久久精品国产鲁丝片午夜精品| 欧美xxxx性猛交bbbb| 欧美成人一区二区免费高清观看| 免费不卡的大黄色大毛片视频在线观看| 日韩av在线免费看完整版不卡| 久久久久久久久久久免费av| 另类亚洲欧美激情| 高清在线视频一区二区三区| 国产乱来视频区| 亚州av有码| 国产淫语在线视频| 色视频www国产| 国产精品欧美亚洲77777| 久久久久久久久久人人人人人人| 久久久久国产精品人妻一区二区| 少妇丰满av| av专区在线播放| 久久综合国产亚洲精品| 夫妻性生交免费视频一级片| 久久国内精品自在自线图片| 自拍欧美九色日韩亚洲蝌蚪91 | 又大又黄又爽视频免费| 在线精品无人区一区二区三 | 国产高潮美女av| 中文在线观看免费www的网站| 午夜激情福利司机影院| 色视频在线一区二区三区| 久久人人爽人人爽人人片va| 精品一区二区免费观看| 日产精品乱码卡一卡2卡三| 黄色一级大片看看| 国产在线一区二区三区精| 建设人人有责人人尽责人人享有的 | 日日啪夜夜爽| 国产成人aa在线观看| 夜夜骑夜夜射夜夜干| 午夜福利视频精品| 日韩亚洲欧美综合| 久久久久久久精品精品| 免费不卡的大黄色大毛片视频在线观看| 婷婷色麻豆天堂久久| 国产高潮美女av| 人体艺术视频欧美日本| 国产高清不卡午夜福利| 欧美高清成人免费视频www| 国产男女超爽视频在线观看| 国产亚洲91精品色在线| 观看av在线不卡| 日本与韩国留学比较| 亚洲久久久国产精品| 黄色视频在线播放观看不卡| 久久久久视频综合| 黄色配什么色好看| 热re99久久精品国产66热6| 少妇猛男粗大的猛烈进出视频| 亚洲第一区二区三区不卡| 成人二区视频| 国产真实伦视频高清在线观看| 97在线人人人人妻| 啦啦啦在线观看免费高清www| 一级爰片在线观看| 国产精品女同一区二区软件| 看免费成人av毛片| 我要看黄色一级片免费的| 亚洲av国产av综合av卡| 91精品国产九色| 一级a做视频免费观看| 成人毛片60女人毛片免费| 中国美白少妇内射xxxbb| 国产在线视频一区二区| 国产淫语在线视频| 国产色婷婷99| 成人亚洲精品一区在线观看 | 久久精品国产亚洲网站| 国精品久久久久久国模美| 亚洲av.av天堂| 欧美日韩视频精品一区| 亚洲精品自拍成人| 人体艺术视频欧美日本| 成人亚洲精品一区在线观看 | 岛国毛片在线播放| 国产午夜精品一二区理论片| 日韩一区二区视频免费看| 大又大粗又爽又黄少妇毛片口| 久久久a久久爽久久v久久| 欧美高清性xxxxhd video| 99久国产av精品国产电影| 亚洲aⅴ乱码一区二区在线播放| 亚洲精品国产色婷婷电影| 欧美国产精品一级二级三级 | 成人毛片60女人毛片免费| 大话2 男鬼变身卡| 亚洲av日韩在线播放| av在线蜜桃| 边亲边吃奶的免费视频| www.av在线官网国产| 久久精品国产自在天天线| 成人亚洲欧美一区二区av| 免费看光身美女| 亚洲三级黄色毛片| 又黄又爽又刺激的免费视频.| 黄色欧美视频在线观看| 亚洲精品国产av蜜桃| 干丝袜人妻中文字幕| 少妇人妻精品综合一区二区| 国产精品久久久久久精品电影小说 | 男女国产视频网站| 亚洲伊人久久精品综合| 最近最新中文字幕免费大全7| 一级毛片 在线播放| 亚洲av.av天堂| 国产一区亚洲一区在线观看| 一级毛片 在线播放| 亚州av有码| 久久久午夜欧美精品| 欧美三级亚洲精品| 最近中文字幕2019免费版| 永久网站在线| 久久久久久九九精品二区国产| av网站免费在线观看视频| 免费高清在线观看视频在线观看| 国产午夜精品久久久久久一区二区三区| 只有这里有精品99| 只有这里有精品99| 亚洲欧洲国产日韩| 久久久久精品久久久久真实原创| 黄片wwwwww| 成年女人在线观看亚洲视频| 国产精品蜜桃在线观看| 久久久久性生活片| 色婷婷久久久亚洲欧美| av卡一久久| 六月丁香七月| 超碰av人人做人人爽久久| 亚州av有码| 久久久成人免费电影| 日本vs欧美在线观看视频 | 亚洲av在线观看美女高潮| 如何舔出高潮| 男人狂女人下面高潮的视频| 男人狂女人下面高潮的视频| 久久精品国产亚洲网站| 春色校园在线视频观看| 国产亚洲精品久久久com| 舔av片在线| 激情五月婷婷亚洲| 久久久久视频综合| 黑人高潮一二区| 国产成人91sexporn| 欧美bdsm另类| 男女下面进入的视频免费午夜| 亚洲综合色惰| 日本午夜av视频| 边亲边吃奶的免费视频| 免费高清在线观看视频在线观看| 交换朋友夫妻互换小说| 熟女av电影| 菩萨蛮人人尽说江南好唐韦庄| 国产精品一区二区三区四区免费观看| 中国美白少妇内射xxxbb| 国产精品国产av在线观看| 联通29元200g的流量卡| 丝袜喷水一区| 国产精品麻豆人妻色哟哟久久| 欧美3d第一页| 亚洲欧美日韩卡通动漫| 久久久成人免费电影| 日韩欧美 国产精品| 尾随美女入室| 免费黄网站久久成人精品| av国产久精品久网站免费入址| av国产免费在线观看| 国产探花极品一区二区| 亚洲精品乱码久久久v下载方式| 女人十人毛片免费观看3o分钟| 草草在线视频免费看| 国产免费福利视频在线观看| 久久精品熟女亚洲av麻豆精品| 亚洲精品国产成人久久av| 国产亚洲精品久久久com| 久久毛片免费看一区二区三区| 人人妻人人爽人人添夜夜欢视频 | 日本猛色少妇xxxxx猛交久久| 一级片'在线观看视频| 亚洲精品国产色婷婷电影| 天堂8中文在线网| 毛片一级片免费看久久久久| 王馨瑶露胸无遮挡在线观看| 春色校园在线视频观看| 麻豆精品久久久久久蜜桃| 国产91av在线免费观看| 精品久久久噜噜| 久久毛片免费看一区二区三区| 看十八女毛片水多多多| 日本黄大片高清| 街头女战士在线观看网站| 美女内射精品一级片tv| 久久人人爽av亚洲精品天堂 | 小蜜桃在线观看免费完整版高清| 少妇高潮的动态图| 欧美精品人与动牲交sv欧美| 日韩中字成人| 久久久国产一区二区| 欧美日韩视频高清一区二区三区二| 亚洲婷婷狠狠爱综合网| 免费黄色在线免费观看| 涩涩av久久男人的天堂| 中国美白少妇内射xxxbb| 亚洲欧美日韩东京热| 天堂中文最新版在线下载| 日本色播在线视频| 久久久国产一区二区| 亚洲色图综合在线观看| 国语对白做爰xxxⅹ性视频网站| 狂野欧美激情性bbbbbb| 多毛熟女@视频| 国产美女午夜福利| videossex国产| 国产精品三级大全| 99久久中文字幕三级久久日本| 国产亚洲5aaaaa淫片| 一级毛片黄色毛片免费观看视频| 亚洲欧美成人精品一区二区| 一级片'在线观看视频| 亚洲精品自拍成人| 亚洲成色77777| kizo精华| 一级毛片aaaaaa免费看小| 观看免费一级毛片| 国产无遮挡羞羞视频在线观看| 99热这里只有是精品在线观看| 欧美xxxx性猛交bbbb| 美女cb高潮喷水在线观看| 日韩 亚洲 欧美在线| 一级黄片播放器| 熟妇人妻不卡中文字幕| 一级毛片aaaaaa免费看小| 免费av不卡在线播放| 免费人妻精品一区二区三区视频| 欧美精品国产亚洲| 国产av国产精品国产| 亚洲欧美日韩另类电影网站 | 日韩视频在线欧美| 国产黄片美女视频| 只有这里有精品99| 国产精品一及| 中国国产av一级| 男人和女人高潮做爰伦理| 国产精品蜜桃在线观看| 亚洲人成网站在线观看播放| 熟女电影av网| 蜜臀久久99精品久久宅男| 色婷婷av一区二区三区视频| 一级毛片久久久久久久久女| 成年人午夜在线观看视频| 国产日韩欧美亚洲二区| 国产黄片美女视频| 深夜a级毛片| 久久久久人妻精品一区果冻| 午夜福利影视在线免费观看| 蜜桃久久精品国产亚洲av| 中国美白少妇内射xxxbb| 亚洲激情五月婷婷啪啪| 少妇人妻久久综合中文| 免费观看无遮挡的男女| 精品99又大又爽又粗少妇毛片| 久久精品熟女亚洲av麻豆精品| 黑丝袜美女国产一区| 亚洲熟女精品中文字幕| 日韩强制内射视频| 欧美精品亚洲一区二区| 老女人水多毛片| 国产在线视频一区二区| .国产精品久久| 少妇人妻一区二区三区视频| 亚洲精品乱久久久久久| 美女福利国产在线 | 日本vs欧美在线观看视频 | 这个男人来自地球电影免费观看 | 久久这里有精品视频免费| 97超碰精品成人国产| av.在线天堂| 九九久久精品国产亚洲av麻豆| 久久ye,这里只有精品| 嫩草影院入口| a级毛色黄片| 久久国产精品男人的天堂亚洲 | 成人二区视频| 国产精品国产av在线观看| 亚洲精品乱码久久久久久按摩| 一级a做视频免费观看| av卡一久久| 国产精品久久久久久精品古装| h视频一区二区三区| 欧美三级亚洲精品| 99久久中文字幕三级久久日本| av在线播放精品| 久久精品久久久久久久性| 久久亚洲国产成人精品v| 国产极品天堂在线| 激情 狠狠 欧美| 亚洲精品第二区| 久久婷婷青草| 中文天堂在线官网| 多毛熟女@视频| 国产精品嫩草影院av在线观看| 国产一区有黄有色的免费视频| 伦理电影大哥的女人| 国产 一区精品| 亚洲精品国产色婷婷电影| 中文乱码字字幕精品一区二区三区| 亚洲怡红院男人天堂| 中文资源天堂在线| 国内少妇人妻偷人精品xxx网站| 亚洲国产欧美在线一区| 日韩免费高清中文字幕av| av线在线观看网站| 亚洲经典国产精华液单| 九九久久精品国产亚洲av麻豆| 99久久综合免费| 伊人久久国产一区二区| 日本-黄色视频高清免费观看| 亚洲美女视频黄频| 欧美成人a在线观看| 成年av动漫网址| 美女脱内裤让男人舔精品视频| 日韩中字成人| 欧美日韩视频高清一区二区三区二| 韩国高清视频一区二区三区| 精品一品国产午夜福利视频| 成年美女黄网站色视频大全免费 | 97热精品久久久久久| 中文字幕制服av| h日本视频在线播放| 五月伊人婷婷丁香| 欧美性感艳星| 丝瓜视频免费看黄片| 麻豆成人av视频| 国产精品福利在线免费观看| 97在线视频观看| 秋霞在线观看毛片| 伦精品一区二区三区| 亚洲美女黄色视频免费看| 舔av片在线| 男人狂女人下面高潮的视频| 亚洲av中文字字幕乱码综合| 国产爱豆传媒在线观看| 欧美性感艳星| 中文字幕免费在线视频6| 成人亚洲欧美一区二区av| 爱豆传媒免费全集在线观看| 熟女人妻精品中文字幕| 亚洲国产精品999| 亚洲成人中文字幕在线播放| 久久人人爽av亚洲精品天堂 | 日韩一区二区三区影片| 午夜免费男女啪啪视频观看| 亚洲一区二区三区欧美精品| 伦理电影免费视频| 久久99热6这里只有精品| 九草在线视频观看| 国产精品国产三级国产av玫瑰| 简卡轻食公司| 婷婷色av中文字幕| 黄色欧美视频在线观看| 人妻制服诱惑在线中文字幕| av在线蜜桃| 日韩不卡一区二区三区视频在线| 少妇人妻久久综合中文| 美女xxoo啪啪120秒动态图| 好男人视频免费观看在线| 久久精品国产亚洲网站| 亚洲国产精品国产精品| 亚洲国产精品999| 三级国产精品欧美在线观看| 在线观看一区二区三区| 久久久久人妻精品一区果冻| 一区二区三区免费毛片| 韩国av在线不卡| av在线老鸭窝| 日日摸夜夜添夜夜添av毛片| 日本免费在线观看一区| 欧美一级a爱片免费观看看| 免费av不卡在线播放| 国产男人的电影天堂91| 18禁在线无遮挡免费观看视频| 中文字幕精品免费在线观看视频 | 91精品国产九色| 人人妻人人澡人人爽人人夜夜| 97超视频在线观看视频| 久久99热6这里只有精品| 人妻制服诱惑在线中文字幕| 亚洲精品乱久久久久久| 亚洲国产最新在线播放| 久久精品国产亚洲av天美| 日韩欧美 国产精品| 亚洲,一卡二卡三卡| 亚洲人成网站高清观看| 人妻少妇偷人精品九色| 亚州av有码| 国产精品一二三区在线看| 久久国产精品大桥未久av | 久久精品人妻少妇| 美女福利国产在线 | 国产精品.久久久| 亚洲自偷自拍三级| 麻豆精品久久久久久蜜桃| 久久女婷五月综合色啪小说| 国产欧美另类精品又又久久亚洲欧美| 日本一二三区视频观看| 久久亚洲国产成人精品v| 七月丁香在线播放| 欧美xxxx性猛交bbbb| 人人妻人人澡人人爽人人夜夜| 高清av免费在线| 嘟嘟电影网在线观看| 亚洲av日韩在线播放| 亚洲色图综合在线观看| 美女视频免费永久观看网站| 久久久久久久久久成人| 亚洲av.av天堂| 久久久久精品性色| h视频一区二区三区| 日韩视频在线欧美| 国产色婷婷99| 国产色爽女视频免费观看| 久久久久性生活片| 亚洲欧美成人综合另类久久久| 午夜福利高清视频| 日本猛色少妇xxxxx猛交久久| 成年免费大片在线观看| 少妇高潮的动态图| 国国产精品蜜臀av免费| 亚洲美女搞黄在线观看| 亚洲精品aⅴ在线观看| 在线观看免费高清a一片| 80岁老熟妇乱子伦牲交| 国产精品av视频在线免费观看| 国产精品熟女久久久久浪| 中国美白少妇内射xxxbb| 亚洲国产欧美在线一区| 午夜精品国产一区二区电影| 日韩av不卡免费在线播放| 99久国产av精品国产电影| .国产精品久久| 深爱激情五月婷婷| videos熟女内射| 欧美日韩精品成人综合77777| 一本一本综合久久| 欧美+日韩+精品| 少妇的逼好多水| 亚洲美女搞黄在线观看| 91久久精品电影网| 91久久精品国产一区二区成人| 国产精品国产av在线观看| 亚洲一级一片aⅴ在线观看| 在线精品无人区一区二区三 | 亚洲真实伦在线观看| 亚洲综合精品二区| 亚洲欧美成人精品一区二区| 高清日韩中文字幕在线| 欧美3d第一页| 日本黄大片高清| 啦啦啦视频在线资源免费观看| 日韩成人伦理影院| 日日撸夜夜添| 国产精品久久久久久久久免| 亚洲精品自拍成人| 一本久久精品| 人妻制服诱惑在线中文字幕| 91久久精品国产一区二区三区| 国产成人精品一,二区| 免费观看a级毛片全部| 亚洲人与动物交配视频| 国产熟女欧美一区二区| 91久久精品国产一区二区成人| 日韩欧美一区视频在线观看 | 日本午夜av视频| 青春草国产在线视频| 日韩欧美 国产精品| 亚洲综合精品二区| 黄色日韩在线| 校园人妻丝袜中文字幕| 赤兔流量卡办理| 色哟哟·www| av黄色大香蕉| 日本vs欧美在线观看视频 | 国产视频内射| 亚洲精品视频女| 2021少妇久久久久久久久久久| 女人久久www免费人成看片| 天美传媒精品一区二区| 欧美日本视频| 国产精品三级大全| 成年女人在线观看亚洲视频| 色吧在线观看| 女的被弄到高潮叫床怎么办| 黄片无遮挡物在线观看| 日韩一区二区三区影片| 午夜日本视频在线| 水蜜桃什么品种好| 日韩人妻高清精品专区| 女性被躁到高潮视频| 亚洲成人av在线免费| 欧美成人a在线观看| 99re6热这里在线精品视频| 深爱激情五月婷婷| 亚洲国产精品999| 久久ye,这里只有精品| 小蜜桃在线观看免费完整版高清| 亚洲av福利一区| 在线观看一区二区三区激情| 日韩制服骚丝袜av| 老熟女久久久| 国产伦精品一区二区三区视频9| 午夜精品国产一区二区电影| 欧美日韩视频精品一区| 蜜桃亚洲精品一区二区三区| 91aial.com中文字幕在线观看| 国产视频内射| 国产一区二区三区av在线| 亚洲精品第二区| 汤姆久久久久久久影院中文字幕| av不卡在线播放| 欧美xxⅹ黑人| 毛片女人毛片| 亚洲av欧美aⅴ国产| 国产黄色视频一区二区在线观看| 成年美女黄网站色视频大全免费 | 91狼人影院| 国产精品精品国产色婷婷| 亚洲av成人精品一区久久| 色婷婷av一区二区三区视频| 内地一区二区视频在线| 日本午夜av视频| 婷婷色av中文字幕| 亚洲熟女精品中文字幕| 一级av片app| 亚洲精品日韩av片在线观看| 欧美人与善性xxx| 亚洲欧洲日产国产| 久久精品熟女亚洲av麻豆精品| 九色成人免费人妻av| 大又大粗又爽又黄少妇毛片口| 国产一区亚洲一区在线观看|