哈希表的處理方法及裝置的制造方法

            文檔序號:10665754閱讀:281來源:國知局
            哈希表的處理方法及裝置的制造方法
            【專利摘要】本發明公開了一種哈希表的處理方法及裝置。基于本發明,Key可以被替換為標簽置入哈希表。由于標簽具有比Key具有更小的長度,因此,當在硬件層使用哈希表時,可以減小哈希表中的哈希桶在硬件層占用的存儲空間,從而可以在不增加硬件層存儲空間的情況下實現更大容量的哈希表。而且,不同長度的Key所分別對應的標簽具有統一的歸一化長度,因此,當在硬件層使用哈希表時,可以使不同哈希表在硬件層的處理機制統一化,從而可以使哈希表在硬件層的使用易于實現。另外,沖突概率目標值或假命中率目標值可以約束標簽的歸一化長度的設定,以滿足對沖突概率或假命中率的需求。
            【專利說明】
            哈希表的處理方法及裝置
            技術領域
            [0001] 本發明涉及哈希表的處理(所述的處理可以包括例如添加、查找、以及刪除中的 至少一種操作)方法及裝置。
            【背景技術】
            [0002] 哈希表是一種具有較高查找性能的數據結構。當在硬件層應用哈希表時,如何利 用硬件層有限的存儲空間實現更大容量的哈希表是目前急需解決的問題。

            【發明內容】

            [0003] 本發明的實施例提供了哈希表的處理方法及裝置。
            [0004] 在一個實施例中,一種哈希表的處理方法包括:
            [0005] 根據當前的Key計算哈希地址;
            [0006] 利用計算得到的所述哈希地址在所述哈希表中索引對應的哈希桶;
            [0007] 根據所述Key計算具有歸一化長度的標簽,所述歸一化長度小于所述Key的長 度;
            [0008] 利用所述標簽在索引到的所述哈希桶中匹配表項;
            [0009] 根據匹配結果執行對應的操作。
            [0010] 可選地,所述處理方法進一步包括:根據預設的沖突概率目標值設定所述歸一化 長度,使所述歸一化長度滿足:
            [0011]
            [0012] 其中,P(N)表示所述沖突概率目標值,N表示所述哈希表中的當前表項數量,I表 示所述哈希地址的取值范圍,S表示所述標簽的取值范圍。
            [0013] 可選地,所述處理方法進一步包括:根據預設的假命中概率目標值設定所述歸一 化長度,使所述歸一化長度滿足:
            [0014]
            [0015] 其中,MTBF表示所述假命中概率目標值,N表示所述哈希表中的當前表項數量,I 表示所述哈希地址的取值范圍,S表示所述標簽的取值范圍,rate為所述哈希表被訪問的 速率。
            [0016] 可選地,當所述對應的操作為添加操作時,若存在匹配的表項,則對匹配到的所述 表項執行添加操作,否則,通過在所述哈希桶的空閑位置插入帶有所述標簽的新表項來執 行添加操作;并且,所述處理方法進一步包括:
            [0017] 在根據所述Key計算具有歸一化長度的標簽之前,依據索引到的所述哈希桶中的 算法選擇字段,為所述標簽的計算選擇對應的算法;
            [0018] 在對匹配的所述表項執行所述添加操作之前,檢驗當前計算出的所述標簽在被所 哈希地址指向的所述哈希桶中是否存在標簽沖突;
            [0019] 若不存所述標簽沖突,使能對匹配到的所述表項執行所述添加操作;
            [0020] 若存在所述標簽沖突,則通過更換算法更新當前計算出的所述標簽、以及被所哈 希地址指向的所述哈希桶中所有表項的標簽值,并重新觸發所述匹配;
            [0021] 當發生算法更換時,更新對應的哈希桶中的算法選擇字段。
            [0022] 可選地,當所述對應的操作為查找操作或刪除操作時,所述處理方法進一步包括: 在根據所述Key計算具有歸一化長度的標簽之前,依據索引到的所述哈希桶中的算法選擇 字段,為所述標簽的計算選擇對應的算法。
            [0023] 在一個實施例中,一種哈希表的處理裝置包括:
            [0024] 地址計算模塊,根據當前的Key計算哈希地址;
            [0025] 地址索引模塊,利用計算得到的所述哈希地址在所述哈希表中索引對應的哈希 桶;
            [0026] 標簽轉換模塊,根據所述Key計算具有歸一化長度的標簽,所述歸一化長度小于 所述Key的長度;
            [0027] 標簽匹配模塊,利用所述標簽在索引到的所述哈希桶中匹配表項;
            [0028] 操作執行模塊,根據匹配結果執行對應的操作。
            [0029] 可選地,所述處理裝置進一步包括:第一標簽長度約束模塊,根據預設的沖突概率 目標值設定所述歸一化長度,使所述歸一化長度滿足:
            [0030]
            [0031] 其中,P(N)表示所述沖突概率目標值,N表示所述哈希表中的當前表項數量,I表 示所述哈希地址的取值范圍,S表示所述標簽的取值范圍。
            [0032] 可選地,所述處理裝置進一步包括:第二標簽長度約束模塊,根據預設的假命中概 率目標值設定所述歸一化長度,使所述歸一化長度滿足:
            [0033]
            [0034] 其中,MTBF表示所述假命中概率目標值,N表示所述哈希表中的當前表項數量,I 表示所述哈希地址的取值范圍,S表示所述標簽的取值范圍,rate為所述哈希表被訪問的 速率。
            [0035] 可選地,當所述對應的操作為添加操作時,若存在匹配的表項,則所述操作執行模 塊對匹配到的所述表項執行添加操作,否則,所述操作執行模塊通過在所述哈希桶的空閑 位置插入帶有所述標簽的新表項來執行添加操作;并且,所述處理裝置進一步包括:
            [0036] 算法選擇模塊,在所述標簽轉換模塊根據所述Key計算具有歸一化長度的標簽之 前,依據索引到的所述哈希桶中的算法選擇字段,為所述標簽的計算選擇對應的算法;
            [0037] 沖突檢驗模塊,在所述操作執行模塊對匹配的所述表項執行所述添加操作之前, 檢驗當前計算出的所述標簽在被所哈希地址指向的所述哈希桶中是否存在標簽沖突;
            [0038] 添加使能模塊,若不存所述標簽沖突,使能對匹配到的所述表項執行所述添加操 作;
            [0039] 沖突處理模塊,若存在所述標簽沖突,則通過更換算法更新當前計算出的所述標 簽、以及被所哈希地址指向的所述哈希桶中所有表項的標簽,并重新觸發所述匹配;
            [0040] 字段維護模塊,當發生算法更換時,更新對應的哈希桶中的算法選擇字段。
            [0041] 可選地,當所述對應的操作為查找操作或刪除操作時,所述處理裝置進一步包括: 算法選取模塊,在所述標簽轉換模塊根據所述Key計算具有歸一化長度的標簽之前,依據 索引到的所述哈希桶中的算法選擇字段,為所述標簽的計算選擇對應的算法。
            [0042] 由此可見,基于上述的實施例,Key可以被替換為標簽置入哈希表。由于標簽具 有比Key具有更小的長度,因此,當在硬件層使用哈希表時,可以減小哈希表中的哈希桶在 硬件層占用的存儲空間,從而可以在不增加硬件層存儲空間的情況下實現更大容量的哈希 表。而且,不同長度的Key所分別對應的標簽具有統一的歸一化長度,因此,當在硬件層使 用哈希表時,可以使不同哈希表在硬件層的處理機制統一化,從而可以使哈希表在硬件層 的使用易于實現。
            [0043] 另外,在上述的實施例中,沖突概率目標值或假命中率目標值可以約束標簽的歸 一化長度的設定,以滿足對沖突概率或假命中率的需求。以及,上述的實施例可以通過調整 計算標簽的算法以避免在同一個哈希桶內發生標簽間的沖突。
            【附圖說明】
            [0044] 圖1為一個比較例中的哈希表應用架構的示意圖;
            [0045] 圖2為一個實施例中的哈希表應用架構的示意圖;
            [0046] 圖3為一個實施例中的哈希表的處理方法的流程示意圖;
            [0047] 圖4a和圖4b為一個實施例中的哈希表的處理裝置的結構示意圖;
            [0048] 圖5為另一個實施例中的哈希表應用架構的示意圖;
            [0049] 圖6a和圖6b為另一個實施例中的哈希表的處理方法的流程不意圖;
            [0050] 圖7a至圖7d分別為另一個實施例中的哈希表的處理裝置的結構示意圖;
            [0051] 圖8為一個實施例中的哈希表的處理裝置的結構示意圖。
            【具體實施方式】
            [0052] 為使本發明的目的、技術方案及優點更加清楚明白,以下參照附圖并舉實施例,對 本發明進一步詳細說明。
            [0053] 首先引入一個比較例,以便于能夠更清楚地體現后續實施例所能夠產生的技術效 果。請參見圖1,在一個比較例中,應用哈希表的架構包括CPU 11、邏輯芯片12、以及第一 內存13和第二內存14。其中,CPU 11可以是單核或多核的處理器,邏輯芯片12可以是例 如FPGA(Field - Programmable Gate Array,現場可編程門陣列)等具有可編程的邏輯器 件,第一內存 13 和第二內存 14 可以是例如 DDR SDRAM (Double Date Rate Synchronous Dynamic Random Access Memory,雙倍速率同步動態隨機存儲器)等存儲介質。
            [0054] CPU 11與邏輯芯片12相連,第一內存13連接CPU 11,第二內存14連接邏輯芯片 12,并且,邏輯芯片12與其連接的第二內存14可以被看作是硬件層。
            [0055] 在圖1所示的比較例中,CPU 11可以對存放在第一內存13中的哈希表10執行添 加或刪除操作。當第一內存13中的哈希表10被執行添加或刪除操作后,CPU 11可以將該 哈希表10下刷至第二內存14中,以供哈希表10能夠在硬件層被使用。相應地,硬件層中 的邏輯芯片12可以對第二內存14中存放的哈希表10執行查找操作。
            [0056] 請再參見圖1,哈希表10包括哈希區10a和沖突區10b。哈希區10a和沖突區 l〇b中分別具有哈希桶100a和100b。每個哈希桶100a或100b中包含有至少一個哈希表 項。每個哈希表項中包含一對相互對應的Key和result (結果),因此,圖1所示的比較 例中將哈希表項表示為Key&result 101。在圖1中,雖然每個哈希桶100a或100b中的 Key&result 101的數量(即,哈希表項的數量)都為一個,但這并不表示哈希桶100a或 100b中的Key&result 101的數量(即,哈希表項的數量)只能為一個,而是應當理解為哈 希桶100a或100b中的Key&result 101的數量(即,哈希表項的數量)可以多于一個。
            [0057] 并且,圖1所示的比較例是以鏈地址法形成沖突區10b為例,因此,每個哈希桶 100a或100b中還包括pointer (指針)102。相應地,哈希區10a中的哈希桶100a的pointer 102可以指向沖突區10b中的哈希桶100b,并且,沖突區10b中的哈希桶100b的pointer 102可以指向沖突區10b中的下一級的哈希桶(圖1中并未示出),從而,由一個哈希桶100a 和至少一個哈希桶100b形成哈希桶鏈表。
            [0058] (1. 1)、對于上述的哈希表10的添加,首先根據當前的Key (關鍵字)121計算出 Hash_idx(哈希地址或哈希索引)122,并利用計算得到的Hash_idx 122在哈希表10中索 引對應的哈希桶l〇〇a和100b,然后再根據Key 121在索引到的哈希桶100a和100b中匹配 存在相同Key值的Key&result 101。
            [0059] 若被Hash_idx 122指向的某個哈希桶100a或100b中存在匹配的Key&result 101,則可以更新匹配到的Key&result 101中的result、以實現添加操作;
            [0060] 若被Hash_idx 122指向的所有哈希桶100a和100b中都不存在匹配的 Key&result 101,則可以通過在其中的某個哈希桶100a或100b的空閑位置插入帶有Key 101的新Key&result 101來實現添加操作。
            [0061] (1. 2)、對于上述的哈希表10的刪除,首先根據當前的Key 121計算出Hash_idx 122,并利用計算得到的Hash_idx 122在哈希表10中索引對應的哈希桶100a和100b,然 后再根據Key 121在索引到的哈希桶100a和100b中匹配存在相同Key值的Key&result 101〇
            [0062] 若被Hash_idx 122指向的某個哈希桶100a或100b中存在匹配的Key&result 101,則可以將匹配到的Keyfcesult 101置為無效、以實現刪除操作;
            [0063] 若被Hash_idx 122指向的所有哈希桶100a和100b中都不存在匹配的 Key&result 101,則不能成功完成刪除操作。
            [0064] (1. 3)、對于上述的哈希表10的查找,首先根據當前的Key 121計算出Hash_idx 122,并利用計算得到的Hash_idx 122在哈希表10中索引對應的哈希桶100a和100b,然 后再根據Key 121在索引到的哈希桶100a和100b中匹配存在相同Key值的Key&result 101〇
            [0065] 若被Hash_idx 122指向的某個哈希桶100a或100b中存在匹配的Key&result 101,則可以讀取匹配到的Key&result 101中的result、以實現查找操作;
            [0066] 若被Hash_idx 122指向的所有哈希桶100a和100b中都不存在匹配的 Key&result 101,則不能成功完成查找操作。
            [0067] 如上可見,圖1中所示的比較例能夠實現對哈希表10的添加、刪除以及查找。但 是,哈希表10的所有Key&result 101會隨著Key 121的長度增加而變大,從而導致哈希表 10占用的存儲空間隨之增大。這對于硬件層的第二內存14來說,會形成較大的存儲負擔。
            [0068] 例如,隨著IPv6的普及,IP地址長度由IPv4的32bit變為128bit后,相應地,對 應IP地址的Key 121也會增長。以流(flow)表為代表的哈希表,五元組的長度也會從IPv4 的104bit變為IPv6的296bit。相應地,Key 121在表示IP地址時的長度就會驟然增加, 并導致KeyfcesultlOl的大小隨之增大,這就使得存儲容量有限的第二內存14中可存放的 Key&result 101條數驟減,從而阻礙了大規格的哈希表10在硬件層的使用。
            [0069] 而且,雖然圖1所示的比較例中僅示出了一個哈希表10,但哈希表10的數量可能 是多個,并且,不同的哈希表10中的Key 121的長度可以不同。此時,為了適應具有不同長 度的Key 121的多個哈希表10,硬件層的邏輯芯片12的編程實現就變得困難。
            [0070] 除了使用IP地址得到Key 121的情況之外,例如使用MAC地址得到Key 121等其 他所有可能出現的情況同樣會存在Key 121的長度較大、或Key 121的長度多樣化的問題。
            [0071] 請參見圖2,在一個實施例中,應用哈希表的架構包括CPU 21、邏輯芯片22、以及 第一內存23和第二內存24。
            [0072] 圖2所示實施例中的CPU 21、邏輯芯片22、以及第一內存23和第二內存24可以 分別與比較例中的CPU 11、邏輯芯片12、以及第一內存13和第二內存14相同。并且,圖2 所示實施例中的哈希表20同樣能夠從第一內存23被下刷至硬件層的第二內存24。
            [0073] 但是,圖2所示實施例中的哈希表20不同于圖1所示的比較例中的哈希表10。相 應地,CPU 21對存放在第一內存23中的哈希表20執行的添加或刪除操作不同于圖1所示 的比較例,并且,邏輯芯片22對存放在第二內存24中的哈希表20執行的查找操作也不同 于圖1所示的比較例。
            [0074] 請再參見圖2,哈希表20包括哈希區20a和沖突區20b。哈希區20a和沖突區 20b中分別具有哈希桶200a和200b。每個哈希桶200a或200b中包含有至少一個哈希 表項。與圖1所示的比較例不同的是,每個哈希表項中的Key被替換為長度小于Key的 Signature (標簽),因此,圖2所示的實施例中將哈希表項表示為Signature&result 201〇 在圖2中,雖然每個哈希桶100a或100b中的Signature&result 201的數量(即,哈希 表項的數量)都為一個,但這并不表示哈希桶100a或100b中的Signature&result 201 的數量(即,哈希表項的數量)只能為一個,而是應當理解為哈希桶l〇〇a或100b中的 Signature&result 201的數量(即,哈希表項的數量)可以多于一個。
            [0075] 并且,圖2所示的實施例是以鏈地址法形成沖突區20b為例,因此,每個哈希桶 200a或200b中還包括pointer 202, pointer 202可以使哈希桶200a和至少一個哈希桶 200b形成哈希桶鏈表。
            [0076] (2. 1)、對于上述的哈希表20的添加,首先根據當前的Key 221計算出Hash_idx 222,并利用計算得到的Hash_idx 222在哈希表20中索引對應的哈希桶200a和200b,并 且,還需要將Key 221轉換為Signature 223、并根據Signature 223在索引到的哈希桶 200a 和 200b 中匹配存在相同 Signature 值的 Signature&result 201 〇
            [0077] 若被Hash_idx 222指向的某個哈希桶200a或200b中存在匹配 的Signature&result 201,則可以利用對應Key 221的result替換匹配到的 Signature&result 201中的result,以實現添加操作;
            [0078] 若被Hash_idx 222指向的所有哈希桶200a和200b中都不存在匹配的 Signature&result201,則可以在其中的某個哈希桶200a或200b的空閑位置插入新的 Signature&result 201,新的 Signature&result 201 帶有 Signature 223 以及對應 Key 221的result,從而實現添加操作。
            [0079] (2. 2)、對于上述的哈希表20的刪除,首先根據當前的Key 221計算出Hash_idx 222,并利用計算得到的Hash_idx 222在哈希表20中索引對應的哈希桶200a和200b,并 且,還需要將Key 221轉換為Signature 223、并根據Signature 223在索引到的哈希桶 200a 和 200b 中匹配存在相同 Signature 值的 Signature&result 201 〇
            [0080] 若被Hash_idx 222指向的某個哈希桶200a或200b中存在匹配的 Signature&result 201,則可以將匹配到的Signature&result 201置為無效、以實現刪除 操作;
            [0081] 若被Hash_idx 222指向的所有哈希桶200a和200b中都不存在匹配的 Signature&result201,則不能成功完成刪除操作。
            [0082] (2. 3)、對于上述的哈希表20的查找,首先根據當前的Key 221計算出Hash_idx 222,并利用計算得到的Hash_idx 222在哈希表20中索引對應的哈希桶200a和200b,并 且,還需要將Key 221轉換為Signature 223、并根據Signature 223在索引到的哈希桶 200a 和 200b 中匹配存在相同 Signature 值的 Signature&result 201 〇
            [0083] 若被Hash_idx 222指向的某個哈希桶200a或200b中存在匹配的 Signature&result 201,則可以讀取匹配到的 Signature&result 201 中的 result、以實現 查找操作;
            [0084] 若被Hash_idx 222指向的所有哈希桶200a和200b中都不存在匹配的 Signature&result201,則不能成功完成查找操作。
            [0085] 如上可見,圖2中所示的實施例能夠利用具有更小長度的Signature 223替 代Key 221實現對哈希表20的添加、刪除以及查找。因此,可以避免哈希表20中的 Signature&result 201隨著Key 221的長度增加而變大,從而避免哈希表20占用的存儲 空間隨著Key 221的長度增加而增大。由此,可以避免硬件層的第二內存14的存儲負擔增 加。
            [0086] 而且,在圖2所示的實施例中,對于Key 221所可能具有的不同長度,Signature 223的長度都是一致的。即,不同長度的Key 221在圖2所示的實施例中可以被轉換為同一 長度的Signature 223。由此,Key 221轉換為Signature 223的過程不但可以看作是一個 長度縮減的過程,而且還可以看作是一個長度歸一化的過程。相應地,Signature 223的長 度可以認為是歸一化長度。
            [0087] 此時,即便圖2所示的實施例中的哈希表20可以為多個,在第二內存24中存放 的多個哈希表20中的Signature 223的長度也都是統一的。因此,可以避免為了適應Key 221的不同長度而使硬件層的邏輯芯片12的編程實現復雜化。
            [0088] 另外,隨著Key 221被具有更小長度的Signature 223替代,有可能存在添加沖突 概率和假命中概率提升的風險。為此,上述圖2中示出的實施例可以對Signature 223的 歸一化長度施加約束。
            [0089] -種可選的約束方式為:利用預先設定的沖突概率目標值約束Signature 223的 歸一化長度的設定。
            [0090] 具體說,在添加哈希表20時,若對應相同Hash_idx 222、但具有不同Key值的至少 兩個Key 221的Signature 223相同,則可以認為發生了上述的沖突。反之,則可以認為未 發生沖突。
            [0091] 相應地,不發生沖突的概率P(N)可以表示為
            [0092] 其中,P(N)表示沖突概率目標值,N表示哈希表20中當前存在的 Signature&result 201 的數量,I 表不 Hash_idx 222 的取值范圍,S 表不 Signature 223 的取值范圍。
            [0093] 上述的不發生沖突的概率P(N)可以隨著哈希表20中的Signature&result 201 的數量N的增大而逐漸減小:
            [0094] 當 N = 1 時,哈希表 20 中只存在 1 個 Signature&result 201,.戶_(1)_ = 1,:即,不沖 突的概率為100% ;
            [0095] 當 N = 2 時,哈希表 20 中存在 2 個 Signature&result 201
            [0096] 當 N = 3 時,哈希表 20 中存在 3 個 Signature&result 201,
            Lb
            [0097] 以此類推,
            [0098] 相應地,發生沖突的概率
            [0099] 假設,N = 22。,I = 22。,S = 2°4( SP,Signature 223 的歸一化長度為 64bit),則取 40 位有效位的 P(N) =0· 0000000000005684341615028642778715783961。
            [0100] 再假設,N = 22。,I = 22。,S = 212S( 即,Signature 223 的歸一化長度為 128bit), 則取 40 位有效位的 P(N) =0· 0000000000000000000000000000000308148776。
            [0101] 由此可知,Signature 223的歸一化長度與P(N)之間存在約束關系,因此,可以預 先設定P (N)、并將預先設定的P (N)作為沖突概率目標值約束Signature 223的歸一化長 度。
            [0102] 另一種可選的約束方式為:利用預先設定的假命中率目標值約束Signature 223 的歸一化長度的設定。
            [0103] 具體說,在添加、刪除、或查找哈希表20時,若出現具有不同Key值的至少Key 221 同時對應相同的Hash_idx 222和Signature 223,則可以認為發生了上述的假命中。
            [0104] -次添加(存在匹配Signature&result 201的情況)、一次刪除、或一次查找可 能出現的最大假命中概率為INS,其中,N表示哈希表20中當前存在的Signature&result 201的數量,I表示Hash_idx 222的取值范圍,S表示Signature 223的取值范圍。
            [0105] 并且,對于哈希表20以給定的速率rate被訪問的情況,發生假命中的間隔MTBF 可以表示為:
            [0106]
            其中,MTBF的單位可以為"年"。
            [0107] 假設,S和I均取264( 即,Hash_idx 222的長度、以及Signature 223的歸一化長 度均為64bit),并且rate取150Mpps,則MTBF約為3899年。
            [0108] 由此可知,Signature 223的歸一化長度與MTBF之間存在約束關系,因此,可以預 先設定MTBF、并將預先設定的MTBF作為假命中概率目標值約束Signature 223的歸一化長 度。
            [0109] 基于圖2中示出的實施例的上述原理,分別提供了一種哈希表的處理方法及其對 應的裝置。下面分別予以詳細說明。
            [0110] 請參見圖3, 一種哈希表的處理方法可以包括如下步驟:
            [0111] S311,根據當前的Key計算Hash_idx。其中,當前的Key可以是從例如報文中獲 取,并可以觸發添加操作、刪除操作、或查找操作。
            [0112] S312,利用計算得到的Hash_idx在哈希表中索引對應的哈希桶。其中,若哈希區 和沖突區中形成對應Hash_idx的哈希桶鏈表,貝lj本步驟中檢索到的哈希桶可以包括哈希 桶鏈表中的多個哈希桶。
            [0113] S313,根據當前的Key (與S311中的Key相同)計算具有歸一化長度的Signature, 該歸一化長度小于Key的長度。
            [0114] S314,利用Signature在索引到的哈希桶中匹配表項(即,Signature&result)。 其中,若S312索引到的哈希桶包括哈希桶鏈表中的多個哈希桶,則本步驟可以在多個哈希 桶中匹配表項。
            [0115] S315,根據匹配結果執行對應的操作,然后結束本流程。
            [0116] 當S315執行的所述對應的操作為添加操作時,若匹配結果為存在匹配的表項 (即,Signature&result),則S315對匹配到的表項執行添加操作;若匹配結果為不存在匹 配的表項(即,Signature&result),則S315通過在哈希桶的空閑位置插入帶有所述標簽的 新表項(即,Signature&result)來執行添加操作。
            [0117] 當S315執行的所述對應的操作為刪除操作時,若匹配結果為存在匹配的表項 (即,Signature&result),則S315對匹配到的表項執行刪除操作。否則,S315刪除失敗。
            [0118] 當S315執行的所述對應的操作為查找操作時,若匹配結果為存在匹配的表項 (即,Signature&result),則S315對匹配到的表項(即,Signature&result)執行查找操 作;否則,S315查找失敗。
            [0119] 優選地,添加操作或刪除操作在如圖2所示的架構中可以是由CPU 21執行,查找 操作在如圖2所示的架構中可以是由邏輯芯片12執行。相應地,當上述的處理方法在圖2 中的CPU21中運行時,上述S315執行的操作可能為添加操作或刪除操作;而當上述的處理 方法由圖2所示的邏輯芯片12中形成的邏輯陣列實現時,上述S315所執行的操作可能為 查找操作。
            [0120] 上述的優選方式是為了適應CPU 21負責維護哈希表并向邏輯芯片12下刷的應用 場景。對于調試場景,CPU 21也可以執行查找操作;并且,對于邏輯芯片12自行維護哈希 表的應用場景,邏輯芯片12也可以執行添加操作或刪除操作。
            [0121] 另外,在圖3所示的處理方法中,都可以進一步按照前文所述的方式,根據預設的 沖突概率目標值或假命中概率目標值設定Signature的歸一化長度。
            [0122] 請參見圖4a和圖4b,一種哈希表的處理裝置可以包括如下的模塊:
            [0123] 地址計算模塊411,根據當前的Key計算Hash_idx。其中,當前的Key可以是從例 如報文中獲取,并可以觸發添加操作、刪除操作、或查找操作。
            [0124] 地址索引模塊412,利用計算得到的Hash_idx在哈希表中索引對應的哈希桶。其 中,若哈希區和沖突區中形成對應Hash_idx的哈希桶鏈表,則地址索引模塊412檢索到的 哈希桶可以包括哈希桶鏈表中的多個哈希桶。
            [0125] 標簽計算模塊413,根據上述的Key計算具有歸一化長度的Signature,該歸一化 長度小于Key的長度。
            [0126] 標簽匹配模塊414,利用Signature在索引到的哈希桶中匹配表項(即, Signature&result)。其中,若地址索引模塊412索引到的哈希桶包括哈希桶鏈表中的多個 哈希桶,則標簽匹配模塊414可以在多個哈希桶中匹配表項。
            [0127] 操作執行模塊415,根據匹配結果執行對應的操作。
            [0128] 當操作執行模塊415執行的所述對應的操作為添加操作時,若匹配結果為存在 匹配的表項(即,Signature&result),則操作執行模塊415對匹配到的表項執行添加操 作,否則,操作執行模塊415通過在哈希桶的空閑位置插入帶有所述標簽的新表項(即, Signature&result)來執行添加操作。
            [0129] 當操作執行模塊415執行的所述對應的操作為刪除操作時,若匹配結果為存在匹 配的表項(即,Signature&result),則操作執行模塊415對匹配到的表項執行刪除操作,否 貝1J,操作執行模塊415確認刪除失敗。
            [0130] 當操作執行模塊415執行的所述對應的操作為查找操作時,若匹配結果為存在匹 配的表項(即,Signature&result),則操作執行模塊415對匹配到的表項執行查找操作,否 貝1J,操作執行模塊415確認查找失敗。
            [0131] 當添加操作、刪除操作、或查找操作在如圖2所示的架構中由CPU 21執行時,上述 的處理裝置可以如圖4a所示的那樣被模塊化地存放在圖2所示的第一內存23、并被圖2中 的CPU21調用運行;
            [0132] 當添加操作、刪除操作、或查找操作在如圖2所示的架構中由邏輯芯片12執行時, 上述的處理裝置可以如圖4b所示的那樣被模塊化地集成在圖2所示的邏輯芯片12中。
            [0133] 另外,在圖4a和圖4b所示的處理裝置中,都可以進一步包括第一、或第二標簽長 度約束模塊,第一、第二標簽長度約束模塊可以分別按照前文所述的兩種方式,根據預設的 沖突概率目標值或假命中概率目標值設定Signature的歸一化長度。
            [0134] 請參見圖5,在另一個實施例中,應用哈希表的架構包括CPU 51、邏輯芯片52、以 及第一內存53和第二內存54。
            [0135] 圖5所示實施例中的CPU 51、邏輯芯片52、以及第一內存53和第二內存54可以分 別與圖2所示實施例中的CPU 21、邏輯芯片22、以及第一內存23和第二內存24相同。并 且,圖5所示實施例中的哈希表50同樣能夠從第一內存53被下刷至硬件層的第二內存54。
            [0136] 與圖2所示實施例中的哈希表20相比,圖5所示實施例中的哈希表50的哈希桶 500a和500b中除了 Signature&result 501和pointer 502(可以分別與圖2所不實施例 中的Signature&result 201和pointer 202相同)之外,還可以進一步包括算法選擇sel 字段503。
            [0137] 并且,第一內存53中除了存放哈希表50之外,還可以進一步存放圖1所示比較例 中的哈希表10。CPU 51可以將第一內存53中的哈希表10內的Key值與哈希表50內的 Signature值同步維護,但哈希表10可以不下發至第二內存54。
            [0138] 對于上述的哈希表50的添加、刪除和查找,與圖2示出的實施例相比,圖5示出的 實施例需要進一步利用索引到的哈希桶500a和500b中的sel字段503選擇對應的算法, 再利用選擇的算法將Key 521轉換為Signature 523。
            [0139] 并且,對于上述的哈希表50的添加,在圖5示出的實施例中,若被Hash_idx 522 指向的某個哈希桶500a或500b中存在匹配的Signature&result 501,則在對匹配到的 Signature&result501執行添加操作之前,先利用哈希表10驗證當前的匹配是否屬于沖 突,即,利用哈希表10中的Key&result 101的Key值檢驗,即將執行的添加操作是否會導 致被當前的Hash_idx 522所指向的哈希桶500a和500b中發生標簽沖突;
            [0140] 當不存在標簽沖突時,利用對應Key 521的result替換匹配到的 Signature&result 501中的result,以實現添加操作,并且,還將當前計算Signature 523 所使用的算法的類型標記在sel字段503中;
            [0141] 當存在標簽沖突時,更換當前選用的算法,并利用更換的算法更新Signature 523、以及哈希表50中被當前的Hash_idx 522所指向的哈希桶500a和500b中所有的 Signature值,然后利用更新的Signature 523重新在當前的Hash_idx 522所指向的哈希 桶500a和500b中執行Signature&result 501的匹配,并且,當前的Hash_idx 522所指向 的所有哈希桶500a和500b中的sel字段503會被同步更新。
            [0142] 其中,哈希桶500a和500b中所有的Signature值的更新可以借助同步維護的哈 希表10中的Key&result 101的Key值來實現。
            [0143] 對于添加時不存在匹配的Signature&result 501的處理方式,以及刪除和查找 時的處理方式,則圖5示出的實施例都可以與圖2所示實施例相同。
            [0144] 如上可見,圖5所示實施例中,除了可以通過前文所述的約束歸一化長度的方式 來降低沖突概率和假命中率之外,還可以進一步在添加時即通過更換算法來進一步降低沖 突發生的概率。
            [0145] 相應地,圖5中示出的實施例基于上述原理,分別提供了哈希表的處理方法及對 應的裝置。下面分別予以詳細說明。
            [0146] 請參見圖6a,對于添加操作,該哈希表的添加方法可以應用在圖5中的CPU 51,并 且,該添加處理方法可以包括如下步驟:
            [0147] S611,根據當前的 Key 計算 Hash_idx。
            [0148] S612,利用計算得到的Hash_idx在哈希表中索引對應的哈希桶。其中,若哈希區 和沖突區中形成對應Hash_idx的哈希桶鏈表,貝lj本步驟中檢索到的哈希桶可以包括哈希 桶鏈表中的多個哈希桶。
            [0149] S613,依據索引到的哈希桶中的算法選擇字段,為選擇對應的算法。其中,當S612 索引到哈希桶鏈表中的多個哈希桶時,該哈希桶鏈表中的各哈希桶的算法選擇字段的算法 類型標識相同。
            [0150] S614,根據當前的Key (與S611中的Key相同)、并利用選擇的算法計算具有歸一 化長度的Signature,該歸一化長度小于Key的長度。
            [0151] S615,利用Signature在索引到的哈希桶中匹配表項(即,Signature&result)。 其中,若S312索引到的哈希桶包括哈希桶鏈表中的多個哈希桶,則本步驟可以在多個哈希 桶中匹配表項。
            [0152] S616,若存在匹配的表項(即,Signature&result),則檢驗當前計算出的 Signature在被Hash_idx指向的哈希桶中是否存在標簽沖突。其中,可以利用以Key值為 匹配元素的傳統哈希表實現上述的檢驗。
            [0153] S617,若不存標簽沖突,則使能對匹配到的表項(即,Signature&result)執行添 加操作,即,對匹配到的表項執行添加操作,然后結束本流程。
            [0154] S618,若存在標簽沖突,貝lj通過更換算法更新當前計算出的Signature、以及被 Hash_idx指向的哈希桶中所有表項(即,Signature&result)的Signature值,并返回S615 重新匹配。
            [0155] S619,當發生算法更換時,更新對應的哈希桶中的算法選擇字段。
            [0156] S620,若不存在匹配的表項(即,Signature&result),則通過在哈希桶的空閑位 置插入帶有所述標簽的新表項(即,Signature&result)來執行添加操作,然后結束本流 程。
            [0157] 請參見圖6b,對于刪除操作,該處理方法可以應用在圖5中的CPU 51 ;對于查找操 作,該處理方法可以應用在圖5中的邏輯芯片52 ;并且,對于刪除操作或查找操作,該處理 方法可以包括如下步驟:
            [0158] S621,根據當前的 Key 計算 Hash_idx。
            [0159] S622,利用計算得到的Hash_idx在哈希表中索引對應的哈希桶。其中,若哈希區 和沖突區中形成對應Hash_idx的哈希桶鏈表,貝lj本步驟中檢索到的哈希桶可以包括哈希 桶鏈表中的多個哈希桶。
            [0160] S623,依據索引到的哈希桶中的算法選擇字段,為選擇對應的算法。其中,當S622 索引到哈希桶鏈表中的多個哈希桶時,該哈希桶鏈表中的各哈希桶的算法選擇字段的算法 類型標識相同。
            [0161] S624,根據當前的Key (與S621中的Key相同)、并利用選擇的算法計算具有歸一 化長度的Signature,該歸一化長度小于Key的長度。
            [0162] S625,利用Signature在索引到的哈希桶中匹配表項(即,Signature&result)。 其中,若S622索引到的哈希桶包括哈希桶鏈表中的多個哈希桶,則本步驟可以在多個哈希 桶中匹配表項。
            [0163] S626,若存在匹配的表項(即,Signature&result),則對匹配到的表項執行刪除 或查找操作,然后結束本流程。否則,刪除或查找失敗、并結束本流程。
            [0164] 另外,在圖6a和圖6b所示的處理方法中,都可以進一步按照前文所述的方式,根 據預設的沖突概率目標值或假命中概率目標值設定Signature的歸一化長度。
            [0165] 請參見圖7a,一種哈希表的處理裝置,其可以適用于添加操作、并包括與圖4a中 的地址計算模塊411、地址索引模塊412、標簽計算模塊413、標簽匹配模塊414、以及操作執 行模塊415分別相同的模塊,并且,該處理裝置還可以進一步包括如下的模塊:
            [0166] 第一算法選擇模塊711,在標簽計算模塊413根據上述的Key計算具有歸一化長度 的Signature之前,依據第一地址模塊412索引到的哈希桶中的sel字段,為標簽計算模塊 413選擇對應的算法,用于標簽計算模塊413計算Signature ;
            [0167] 沖突檢驗模塊712,在添加執行模塊415對標簽匹配模塊414匹配到的表項(即, Signature&result)執行添加操作之前,檢驗當前計算出的標簽在被Hash_idx指向的哈希 桶中是否存在標簽沖突;
            [0168] 添加使能t旲塊713,右沖關檢驗_旲塊712判斷出不存標簽沖關,使能添加執彳丁_旲塊 415對匹配到的表項執行添加操作;
            [0169] 沖突處理模塊714,若存在標簽沖突,則通過更換算法使第一標簽計算模塊 413更新當前計算出的Signature、以及被Hash_idx指向的哈希桶中所有表項(即, Signature&result)的Signature值,并重新觸發標簽匹配模塊414執行匹配;
            [0170] 字段維護模塊715,當發生算法更換時,更新對應的哈希桶中的sel字段。
            [0171] 當添加操作在如圖5所示的架構中由CPU 51執行時,上述的處理裝置可以如圖7a 所示的那樣被模塊化地存放在圖5所示的第一內存53、并被圖5中的CPU 51調用運行;
            [0172] 當添加操作在如圖5所示的架構中由邏輯芯片52執行時,上述的處理裝置可以如 圖7b所示的那樣被模塊化地集成在圖5所示的邏輯芯片52中。
            [0173] 請參見圖7b,一種哈希表的處理裝置,其可以適用于刪除操作、并包括與圖4a中 的地址計算模塊411、地址索引模塊412、標簽計算模塊413、標簽匹配模塊414、以及操作執 行模塊415分別相同的模塊,并且,該處理裝置還可以進一步包括如下的模塊:
            [0174] 第二算法選擇模塊720,依據第二地址模塊422索引到的哈希桶中的sel字段,為 第二標簽計算模塊423選擇對應的算法,用于第二標簽計算模塊423計算Signature。
            [0175] 當刪除操作、或查找操作在如圖5所示的架構中由CPU 51執行時,上述的處理裝 置可以如圖7c所示的那樣被模塊化地存放在圖5所示的第一內存53、并被圖5中的CPU 51 調用運行;
            [0176] 當刪除操作、或查找操作在如圖5所示的架構中由邏輯芯片52執行時,上述的處 理裝置可以如圖7d所示的那樣被模塊化地集成在圖5所示的邏輯芯片52中。
            [0177] 另外,在圖7a至圖7d所示的處理裝置中,同樣可以進一步包括前文所述的第一、 或第二標簽長度約束模塊。
            [0178] 基于對上述的實施例的理解,上述的實施例提出的技術方案既可以以硬件的形式 體現出來,也可以以軟件產品的形式體現出來。
            [0179] 具體說,當該技術方案以軟件產品的形式體現出來時,可以提供配有機器可讀的 存儲介質的系統或者裝置,在該存儲介質上存儲著實現上述處理方法或處理裝置的功能的 軟件程序代碼,且使該系統或者裝置的處理器讀出并執行存儲在存儲介質中的程序代碼。
            [0180] 在此情況下,從存儲介質讀取的程序代碼本身可實現上述處理方法活處理裝置的 功能,因此程序代碼和存儲程序代碼的存儲介質構成了實現上述處理方法或處理裝置的技 術方案的一部分。
            [0181] 其中,用于提供程序代碼的存儲介質實施例包括軟盤、硬盤、磁光盤、光盤(如 CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁帶、非易失性存儲卡和 ROM。可 選擇地,可以由通信網絡從服務器計算機上下載程序代碼。
            [0182] 應該清楚的是,不僅可以通過執行計算機所讀出的程序代碼,而且可以通過基于 程序代碼的指令使計算機上操作的操作系統等來完成部分或者全部的實際操作,從而實現 上述實例中任意一項實施例的功能。
            [0183] 此外,可以理解的是,將由存儲介質讀出的程序代碼寫到插入計算機內的擴展板 中所設置的存儲器中或者寫到與計算機相連接的擴展單元中設置的存儲器中,隨后基于程 序代碼的指令使安裝在擴展板或者擴展單元上的處理器等來執行部分和全部實際操作,從 而實現上述處理方法或處理裝置的功能。
            [0184] 例如,請參見圖8, 一種哈希表的處理裝置包括內存801 (即上述的存儲器)和與內 存801通過內部總線800連接的處理器802,并且,程序代碼可以通過從存儲介質中讀取或 從通信網絡下載的方式存入在內存801中,處理器802從內存801讀取并運行程序代碼可 實現上述處理方法活處理裝置的功能。從而,可以認為,一種哈希表的處理裝置可以包括用 于存放程序代碼的內存801、以及通過內部總線800連接內存801并讀取程序代碼的處理器 802〇
            [0185] 該處理器802通過運行程序代碼的指令:
            [0186] 根據當前的Key計算哈希地址;
            [0187] 利用計算得到的哈希地址在哈希表中索引對應的哈希桶;
            [0188] 根據上述的Key計算具有歸一化長度的標簽,該歸一化長度小于上述Key的長 度;
            [0189] 利用計算得到的標簽在索引到的哈希桶中匹配表項;
            [0190] 根據匹配結果執行對應的操作。
            [0191] 在一個例子中,進一步地,所述處理器802讀取指令執行:
            [0192] 根據預設的沖突概率目標值設定所述歸一化長度,使所述歸一化長度滿足:
            [0193]
            [0194] 其中,P(N)表示所述沖突概率目標值,N表示所述哈希表中的當前表項數量,I表 示所述哈希地址的取值范圍,S表示所述標簽的取值范圍。
            [0195] 在一個例子中,進一步地,所述處理器802讀取指令執行:
            [0196] 根據預設的假命中概率目標值設定所述歸一化長度,使所述歸一化長度滿足:
            [0197]
            [0198] 其中,MTBF表示所述假命中概率目標值,N表示所述哈希表中的當前表項數量,I 表示所述哈希地址的取值范圍,S表示所述標簽的取值范圍,rate為所述哈希表被訪問的 速率。
            [0199] 在一個例子中,進一步地,所述處理器802讀取指令執行:
            [0200] 當所述對應的操作為添加操作時,若存在匹配的表項,則對匹配到的所述表項執 行添加操作,否則,通過在所述哈希桶的空閑位置插入帶有所述標簽的新表項來執行添加 操作;
            [0201] 在根據所述Key計算具有歸一化長度的標簽之前,依據索引到的所述哈希桶中的 算法選擇字段,為所述標簽的計算選擇對應的算法;
            [0202] 在對匹配的所述表項執行所述添加操作之前,檢驗當前計算出的所述標簽在被所 哈希地址指向的所述哈希桶中是否存在標簽沖突;
            [0203] 若不存所述標簽沖突,使能對匹配到的所述表項執行所述添加操作;
            [0204] 若存在所述標簽沖突,則通過更換算法更新當前計算出的所述標簽、以及被所哈 希地址指向的所述哈希桶中所有表項的標簽值,并重新觸發所述匹配;
            [0205] 當發生算法更換時,更新對應的哈希桶中的算法選擇字段。
            [0206] 在一個例子中,進一步地,所述處理器802讀取指令執行:
            [0207] 當所述對應的操作為查找操作或刪除操作時,所述處理方法進一步包括:在根據 所述Key計算具有歸一化長度的標簽之前,依據索引到的所述哈希桶中的算法選擇字段, 為所述標簽的計算選擇對應的算法。
            [0208] 以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精 神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的范圍之內。
            【主權項】
            1. 一種哈希表的處理方法,其特征在于,所述處理方法包括: 根據當前的Key計算哈希地址; 利用計算得到的所述哈希地址在所述哈希表中索引對應的哈希桶; 根據所述Key計算具有歸一化長度的標簽,所述歸一化長度小于所述Key的長度; 利用所述標簽在索引到的所述哈希桶中匹配表項; 根據匹配結果執行對應的操作。2. 根據權利要求1所述的處理方法,其特征在于,所述處理方法進一步包括:根據預設 的沖突概率目標值設定所述歸一化長度,使所述歸一化長度滿足:其中,P(N)表示所述沖突概率目標值,N表示所述哈希表中的當前表項數量,I表示所 述哈希地址的取值范圍,S表示所述標簽的取值范圍。3. 根據權利要求1所述的處理方法,其特征在于,所述處理方法進一步包括:根據預設 的假命中概率目標值設定所述歸一化長度,使所述歸一化長度滿足:其中,MTBF表示所述假命中概率目標值,N表示所述哈希表中的當前表項數量,I表示 所述哈希地址的取值范圍,S表示所述標簽的取值范圍,rate為所述哈希表被訪問的速率。4. 根據權利要求1所述的添加方法,其特征在于,當所述對應的操作為添加操作時,若 存在匹配的表項,則對匹配到的所述表項執行添加操作,否則,通過在所述哈希桶的空閑位 置插入帶有所述標簽的新表項來執行添加操作;并且,所述處理方法進一步包括: 在根據所述Key計算具有歸一化長度的標簽之前,依據索引到的所述哈希桶中的算法 選擇字段,為所述標簽的計算選擇對應的算法; 在對匹配的所述表項執行所述添加操作之前,檢驗當前計算出的所述標簽在被所哈希 地址指向的所述哈希桶中是否存在標簽沖突; 若不存所述標簽沖突,使能對匹配到的所述表項執行所述添加操作; 若存在所述標簽沖突,則通過更換算法更新當前計算出的所述標簽、W及被所哈希地 址指向的所述哈希桶中所有表項的標簽值,并重新觸發所述匹配; 當發生算法更換時,更新對應的哈希桶中的算法選擇字段。5. 根據權利要求1所述的添加方法,其特征在于,當所述對應的操作為查找操作或刪 除操作時,所述處理方法進一步包括:在根據所述Key計算具有歸一化長度的標簽之前,依 據索引到的所述哈希桶中的算法選擇字段,為所述標簽的計算選擇對應的算法。6. -種哈希表的處理裝置,其特征在于,所述處理裝置包括: 地址計算模塊,根據當前的Key計算哈希地址; 地址索引模塊,利用計算得到的所述哈希地址在所述哈希表中索引對應的哈希桶; 標簽轉換模塊,根據所述Key計算具有歸一化長度的標簽,所述歸一化長度小于所述 Key的長度; 標簽匹配模塊,利用所述標簽在索引到的所述哈希桶中匹配表項; 操作執行模塊,根據匹配結果執行對應的操作。7. 根據權利要求6所述的處理裝置,其特征在于,所述處理裝置進一步包括:第一標 簽長度約束模塊,根據預設的沖突概率目標值設定所述歸一化長度,使所述歸一化長度滿 足:其中,P(N)表示所述沖突概率目標值,N表示所述哈希表中的當前表項數量,I表示所 述哈希地址的取值范圍,S表示所述標簽的取值范圍。8. 根據權利要求6所述的處理裝置,其特征在于,所述處理裝置進一步包括:第二標簽 長度約束模塊,根據預設的假命中概率目標值設定所述歸一化長度,使所述歸一化長度滿 足:其中,MTBF表示所述假命中概率目標值,N表示所述哈希表中的當前表項數量,I表示 所述哈希地址的取值范圍,S表示所述標簽的取值范圍,rate為所述哈希表被訪問的速率。9. 根據權利要求6所述的處理裝置,其特征在于,當所述對應的操作為添加操作時, 若存在匹配的表項,則所述操作執行模塊對匹配到的所述表項執行添加操作,否則,所述操 作執行模塊通過在所述哈希桶的空閑位置插入帶有所述標簽的新表項來執行添加操作;并 且,所述處理裝置進一步包括: 算法選擇模塊,在所述標簽轉換模塊根據所述Key計算具有歸一化長度的標簽之前, 依據索引到的所述哈希桶中的算法選擇字段,為所述標簽的計算選擇對應的算法; 沖突檢驗模塊,在所述操作執行模塊對匹配的所述表項執行所述添加操作之前,檢驗 當前計算出的所述標簽在被所哈希地址指向的所述哈希桶中是否存在標簽沖突; 添加使能模塊,若不存所述標簽沖突,使能對匹配到的所述表項執行所述添加操作; 沖突處理模塊,若存在所述標簽沖突,則通過更換算法更新當前計算出的所述標簽、W 及被所哈希地址指向的所述哈希桶中所有表項的標簽,并重新觸發所述匹配; 字段維護模塊,當發生算法更換時,更新對應的哈希桶中的算法選擇字段。10. 根據權利要求6所述的處理裝置,其特征在于,當所述對應的操作為查找操作或刪 除操作時,所述處理裝置進一步包括:算法選取模塊,在所述標簽轉換模塊根據所述Key計 算具有歸一化長度的標簽之前,依據索引到的所述哈希桶中的算法選擇字段,為所述標簽 的計算選擇對應的算法。
            【文檔編號】G06F17/30GK106033420SQ201510105315
            【公開日】2016年10月19日
            【申請日】2015年3月11日
            【發明人】葛長忠, 任凱, 宋建明, 趙云峰, 安紹亮
            【申請人】杭州華三通信技術有限公司
            網友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品