[發明專利]一種數據查詢方法和裝置有效
| 申請號: | 201710245932.6 | 申請日: | 2017-04-14 |
| 公開(公告)號: | CN107436910B | 公開(公告)日: | 2020-08-18 |
| 發明(設計)人: | 趙正邦;鐘亮力;劉中勝;吳剛 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F16/2455 | 分類號: | G06F16/2455 |
| 代理公司: | 北京博思佳知識產權代理有限公司 11415 | 代理人: | 陳蕾 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 查詢 方法 裝置 | ||
本公開提供一種數據查詢方法和裝置,其中方法包括:接收數據查詢請求,所述數據查詢請求用于查詢獲取目標數據;在本地緩存中查詢所述目標數據,當確定需要向數據實體層獲取所述目標數據時,對本地緩存中所述目標數據對應的緩存塊執行并發判斷操作;若操作結果表明當前不存在對所述目標數據的并發查詢,則向數據實體層查詢所述目標數據;否則,返回所述緩存塊中的當前數據作為所述目標數據。本公開有效防止了出現緩存擊穿的現象。
技術領域
本公開涉及互聯網技術領域,特別涉及一種數據查詢方法和裝置。
背景技術
在接收到對于某數據的訪問請求時,為了提高響應效率,通常可以先到本地緩存中查詢是否存在該數據。如果不存在再到數據實體層查詢數據,再把獲取的數據放到緩存中,下次訪問命中緩存直接返回;如果緩存超時,則重新到數據實體層查詢數據并放置到緩存中。
上述獲取數據的方式,在一般情況下表現得很好,但在數據訪問非常頻繁的高頻訪問環境下,存在緩存擊穿的風險。比如,若在緩存中的數據剛好需要刷新的時候,此時到達的大量的高頻數據請求可能會落在數據實體層上,造成數據實體層壓力瞬間飆升,即為緩存擊穿,這對實體層的穩定性構成極大威脅。
發明內容
有鑒于此,本公開提供一種數據查詢方法和裝置,目的是防止出現緩存擊穿的現象。
具體地,本公開是通過如下技術方案實現的:
第一方面,提供一種數據查詢方法,所述方法包括:
接收數據查詢請求,所述數據查詢請求用于查詢獲取目標數據;
在本地緩存中查詢所述目標數據,當確定需要向數據實體層獲取所述目標數據時,對本地緩存中所述目標數據對應的緩存塊執行并發判斷操作;
若操作結果表明當前不存在對所述目標數據的并發查詢,則向數據實體層查詢所述目標數據;否則,返回所述緩存塊中的當前數據作為所述目標數據。
第二方面,提供一種數據查詢裝置,所述裝置包括:
請求接收模塊,用于接收數據查詢請求,所述數據查詢請求用于查詢獲取目標數據;
緩存處理模塊,用于在本地緩存中查詢所述目標數據,當確定需要向數據實體層獲取所述目標數據時,對本地緩存中所述目標數據對應的緩存塊執行并發判斷操作;
數據獲取模塊,用于若操作結果表明當前不存在對所述目標數據的并發查詢,則向數據實體層查詢所述目標數據;否則,返回所述緩存塊中的當前數據作為所述目標數據。
本公開的數據查詢方法和裝置,通過在接收到查詢請求時執行并發判斷操作,可以確定當前是否存在查詢并發,從而在不存在并發時才向數據實體層查詢數據,有效防止了出現緩存擊穿的現象。
附圖說明
圖1是本公開實施例提供的一個數據訪問的應用場景;
圖2是本公開實施例提供的一個數據查詢的流程圖;
圖3是本公開實施例提供的一個數據查詢的流程圖;
圖4是本公開實施例提供的一個數據查詢方法的流程圖;
圖5是本公開實施例提供的一個數據查詢裝置的結構示意圖。
具體實施方式
如圖1示例的一個數據訪問的應用場景,數據庫11中存儲有用戶要訪問的數據,用戶可以通過PC機、移動設備等終端,發起數據查詢請求,請求獲取數據庫11中的某數據。數據查詢請求可以由圖1中示例的請求接收裝置12處理,該請求接收裝置12可以由數據庫11獲取請求的數據,并返回給請求端。例如,該裝置可以是位于一個設備中,接收在該設備發起的多個數據查詢請求;或者也可以是位于一個平臺系統中,用于接收來自多個設備的數據查詢請求。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710245932.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種檢索圖像的方法及終端
- 下一篇:模糊查詢方法、裝置及查詢系統
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





