[發明專利]一種數據查詢方法及裝置有效
| 申請號: | 201910135452.3 | 申請日: | 2019-02-22 |
| 公開(公告)號: | CN109885574B | 公開(公告)日: | 2020-05-05 |
| 發明(設計)人: | 黃全;丁寧 | 申請(專利權)人: | 廣州荔支網絡技術有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/2455;G06F16/2453 |
| 代理公司: | 廣州佳睿知識產權代理事務所(普通合伙) 44610 | 代理人: | 李健富 |
| 地址: | 510000 廣東省廣州市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 查詢 方法 裝置 | ||
本發明涉及一種數據查詢方法和裝置。所述方法包括:對主鍵進行哈希計算得到關鍵值;根據所述關鍵值從多個熱點哈希表中確定待查詢的目標熱點哈希表;從所述目標熱點哈希表中查詢目標數據;在查詢到所述目標數據的情況下,反饋所述目標數據,并更新統計哈希表中所述目標數據對應的查詢次數。通過本發明實施例,可以自動識別出熱點數據并保持熱點數據長期緩存在內存中,不僅提高了查詢效率,而且還節省了內存資源。
技術領域
本發明涉及數據庫技術領域,尤其涉及一種數據查詢方法和裝置。
背景技術
互聯網行業中,在高并發場景下,會頻繁查詢某一小部分的數據,這一部分數據我們稱之為熱點數據。而如何高效地查詢這些熱點數據、如何保證熱點數據不過期、如何清除冷數據,一直是業界關注的問題。
對于傳統數據庫,數據庫緩存用于緩存SQL(Structured Query Language,結構化查詢語言)及SQL相應的查詢結果,如果表結構或記錄數據有變化,則相應的緩存數據會被清空,緩存不能得到有效的應用。而如果執行相同的SQL次數很少,則數據庫緩存中存儲的將是大部分冷數據,會造成內存資源的浪費。
對于常見的NoSQL(Not Only SQL,非關系型的數據庫)技術,比如redis、memcach等,在應用上都是對記錄設置過期時長,到了過期時間,記錄將被刪除;對于ehcache,可以對記錄設置距離上次讀或寫多長時間后,如果沒有再被操作,則刪除記錄。上述的這些NoSQL產品,自身都不具備自動識別出熱點數據并保持熱點數據長期緩存在內存的功能。
發明內容
本發明公開了一種數據查詢方法和裝置,以解決現有技術中數據庫中存儲大量冷數據,導致查詢效率低,浪費內存資源的問題。
第一個方面,本發明提供了一種數據查詢方法,所述方法包括:
對主鍵進行哈希計算得到關鍵值;
根據所述關鍵值從多個熱點哈希表中確定待查詢的目標熱點哈希表;
從所述目標熱點哈希表中查詢目標數據;
在查詢到所述目標數據的情況下,反饋所述目標數據,并更新統計哈希表中所述目標數據對應的查詢次數。
優選地,所述方法還包括:
根據所述統計哈希表分別確定所述多個熱點哈希表中各熱點數據對應的查詢次數;
在所述熱點數據對應的查詢次數不存在的情況下,刪除所述熱點數據。
優選地,所述方法還包括:
在從所述目標熱點哈希表中未查詢到所述目標數據的情況下,根據所述關鍵值從多個數據哈希表中確定目標數據哈希表;
從所述目標數據哈希表中查詢所述目標數據;
在查詢到所述目標數據的情況下,反饋所述目標數據,并更新所述統計哈希表中所述目標數據對應的查詢次數。
優選地,在所述從所述目標數據哈希表中查詢所述目標數據之后,所述方法還包括:
在從所述目標數據哈希表中未查詢到所述目標數據的情況下,反饋所述目標數據不存在。
優選地,所述方法還包括:
從所述多個數據哈希表中查找超時限數據;
在查找到所述超時限數據的情況下,根據所述統計哈希表確定所述超時限數據對應的查詢次數;
在所述超時限數據對應的查詢次數小于預設次數的情況下,刪除所述超時限數據;
在所述超時限數據對應的查詢次數不小于所述預設次數的情況下,將所述超時限數據作為熱點數據存儲至所述熱點哈希表中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州荔支網絡技術有限公司,未經廣州荔支網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910135452.3/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





