[發明專利]防空緩存方法和裝置有效
| 申請號: | 201210486847.6 | 申請日: | 2012-11-26 |
| 公開(公告)號: | CN103838766B | 公開(公告)日: | 2018-04-06 |
| 發明(設計)人: | 張丹楓 | 申請(專利權)人: | 深圳市騰訊計算機系統有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 廣州華進聯合專利商標代理有限公司44224 | 代理人: | 何平,鄧云鵬 |
| 地址: | 518057 廣東省深圳市南*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 防空 緩存 方法 裝置 | ||
技術領域
本發明涉及數據庫查詢技術,特別是涉及一種防空緩存方法和裝置。
背景技術
數據庫中記錄有大量數據,為了查詢某一條數據在數據庫中是否存在,需要進行一次遍歷查詢,該遍歷查詢的開銷較大,耗費時間較長。若查詢的該用戶信息不存在,也需進行一次遍歷查詢,如此會浪費大量的時間以及耗費資源。
為此,若在內存中用防空緩存記錄每條數據是否存在,只對存在防空緩存中的數據才到數據庫中查詢,可有效降低空記錄查詢帶來的開銷。傳統的防空緩存技術一般采用位圖或者布隆過濾器對信息構建數據防空緩存,以達到減少大量底層數據庫空查詢,減少資源消耗的目的。其中,位圖是指在連續的存儲空間上,每一位有1或0兩個值,表示某一目標的兩種不同狀態,如圖1所示,一個號碼的狀態采用一位存儲空間表示。布隆過濾器是一個有m位的位數組,初始全為0,并有k個各自獨立的哈希函數,如圖2所示,一個號碼的狀態采用多位存儲空間一起表示。
然而,采用位圖構建防空緩存時,在連續的存儲空間中,每一位表示一條數據是否被創建,如此占用空間過大,增加了內存負擔;采用布隆過濾器構建防空緩存時,在連續的存儲空間中,每一條數據通過k個哈希函數,對應到k個不同的位上,這些位共同表示了該條數據列表的狀態,如全為1表示該數據列表為非空,不全為1表示該數據列表為空,而布隆過濾器只支持寫入,無法刪除。
發明內容
基于此,有必要提供一種能減少空間開銷且支持數據變更的防空緩存方法。
此外,還有必要提供一種能減少空間開銷且支持數據變更的防空緩存裝置。
一種防空緩存方法,包括以下步驟:
將數據標識劃分為多個區間;
統計每個區間中具有預定功能的數據標識的密集度;
根據所述每個區間的密集度分別配置相應的壓縮比,以將每個區間中壓縮比數量的數據標識對應一位。
一種防空緩存裝置,包括:
劃分模塊,用于將數據標識劃分為多個區間;
統計模塊,用于統計每個區間中具有預定功能的數據標識的密集度;
配置模塊,用于根據所述每個區間的密集度分別配置相應的壓縮比,以將每個區間中壓縮比數量的數據標識對應一位。
上述防空緩存方法和裝置,通過將數據標識分區并根據每個區的密集度配置相應的壓縮比,使得壓縮比數量的數據標識對應一位存儲空間,節省了存儲空間,且因壓縮比數量的數據標識對應一位存儲空間,并非如布隆過濾器中每個數據標識由隨機的多個位表示其存在而不能刪除任一位,采用壓縮比對應的一位存儲空間可以進行相應的變更操作,不會影響其他數據標識的狀態表示。
附圖說明
圖1為位圖方式表示一個數據標識的狀態示意圖;
圖2為布隆過濾器表示一個數據標識的狀態示意圖;
圖3為一個實施例中防空緩存方法的流程示意圖;
圖4為一個實施例中防空緩存方法中執行操作的流程示意圖;
圖5為一個實施例中讀取操作的流程示意圖;
圖6為一個實施例中寫入操作的流程示意圖;
圖7為一個實施例中刪除操作的流程示意圖;
圖8為一個實施例中防空緩存裝置的內部結構示意圖;
圖9為另一個實施例中防空緩存裝置的內部結構示意圖;
圖10為一個實施例中位置確定模塊的內部結構示意圖;
圖11為另一個實施例中位置確定模塊的內部結構示意圖;
圖12為另一個實施例中位置確定模塊的內部結構示意圖。
具體實施方式
下面結合具體的實施例及附圖對防空緩存方法和裝置的技術方案進行詳細的描述,以使其更加清楚。
如圖3所示,在一個實施例中,一種防空緩存方法,包括以下步驟:
步驟S102,將數據標識劃分為多個區間。
具體的,數據標識是用于區分數據唯一性的標志,例如即時通訊帳號、學號、銀行卡號、員工工號等,但不限于此。本實施例中,數據標識為即時通訊帳號。將即時通訊帳號按照號碼順序劃分為3個區間,例如將10000至9999999劃分為一區間,10000000至2099999999劃為一區間,21億至42億劃為一區間。此外,數據標識為學號時,可將1至999劃為一區間,1000至2999劃為一區間等。
步驟S104,統計每個區間中具有預定功能的數據標識的密集度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市騰訊計算機系統有限公司,未經深圳市騰訊計算機系統有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210486847.6/2.html,轉載請聲明來源鉆瓜專利網。





