[發明專利]一種緩存數據處理方法、裝置、電子設備及存儲介質有效
| 申請號: | 201811474776.1 | 申請日: | 2018-12-04 |
| 公開(公告)號: | CN109543080B | 公開(公告)日: | 2020-11-06 |
| 發明(設計)人: | 方明 | 申請(專利權)人: | 北京字節跳動網絡技術有限公司 |
| 主分類號: | G06F16/903 | 分類號: | G06F16/903;G06F16/901;G06F12/123 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 100080 北京市石景山區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 緩存 數據處理 方法 裝置 電子設備 存儲 介質 | ||
本公開公開了一種緩存數據處理方法、裝置、電子設備及存儲介質。其中,該方法包括:生成與緩存中的緩存數據對應的基礎映射表,并對所述基礎映射表進行分組,得到預設數量的分組映射表,其中,所述基礎映射表中包括所有緩存數據的鍵名和所述所有緩存數據在鏈表中的位置;獲取數據處理請求,并確定所述數據處理請求中的目標鍵名;并行在各所述分組映射表中查詢所述目標鍵名;根據查詢結果以及所述數據處理請求的類型,對所述緩存中的緩存數據進行處理。本公開實施例可以通過并行在各分組映射表中查詢目標鍵名,減少使用緩存數據的鍵名遍歷映射表的時間,從而有效減小緩存數據讀寫時的延時,提高系統性能。
技術領域
本公開實施例涉及數據處理技術,尤其涉及一種緩存數據處理方法、裝置、電子設備及存儲介質。
背景技術
一般來說,緩存策略主要包含緩存的添加、獲取和刪除這三類操作。通常使用最近最少使用算法(Least Recently Used,LRU)進行緩存,其將資源按照最近訪問時間組成一個鏈表。當一個緩存中的資源被訪問時,該節點被從鏈表中摘下,并重新插入鏈表頭部;當一個不在緩存中的新資源被訪問時,鏈表末尾最久未被訪問的資源被移除,新資源被插入到鏈表首部。內存緩存LruCache是android提供的一個緩存工具類,其算法是最近最少使用算法。
現有技術采用LruCache進行數據緩存。LruCache使用鏈表來保存緩存數據,使用映射表保存數據的鍵名和數據在鏈表中的位置。映射表主要用于加速查找。例如,每次讀取數據時,使用數據的鍵名遍歷映射表,判斷數據是否在緩存中。若在,則通過數據在鏈表中的位置返回數據值;若不在,返回相應的提示信息。
現有技術中,映射表保存數據的鍵名的數量特別大,可能達到100萬。每次數據的讀寫都需要使用數據的鍵名遍歷映射表,判斷數據是否在緩存中。以及每個數據都對應于一個互斥鎖標記,在每次數據讀寫時都需要加鎖和寫鎖,用于保證在任一時刻,只有一個線程訪問該數據進行讀寫。每次數據的讀寫都會有一定的延時,例如,200ms-20s的延時,造成系統性能急劇下降。
發明內容
本公開提供一種緩存數據處理方法、裝置、電子設備及存儲介質,以實現有效減小緩存數據讀寫時的延時,提高系統性能。
第一方面,本公開實施例提供了一種緩存數據處理方法,包括:
生成與緩存中的緩存數據對應的基礎映射表,并對基礎映射表進行分組,得到預設數量的分組映射表,其中,基礎映射表中包括所有緩存數據的鍵名和所有緩存數據在鏈表中的位置;
獲取數據處理請求,并確定數據處理請求中的目標鍵名;
并行在各分組映射表中查詢目標鍵名;
根據查詢結果以及數據處理請求的類型,對緩存中的緩存數據進行處理。
上述方案中,可選的是,根據查詢結果以及數據處理請求的類型,對緩存中的緩存數據進行處理,包括:
如果在分組映射表中查詢到目標鍵名,則將目標鍵名和預設等待時間進行打包得到打包數據,并將打包數據放入預設的無鎖隊列中;
其中,無鎖隊列用于定期將隊列中的打包數據放入預設的定時器的數組中;
在確定定時器計時至打包數據的預設等待時間時,根據數據處理請求的類型對鏈表中與目標鍵名對應的緩存數據進行處理。
上述方案中,可選的是,將目標鍵名和預設等待時間進行打包得到打包數據,并將打包數據放入預設的無鎖隊列中,包括:
將鍵名和預設等待時間打包,得到打包數據;
在獲取預設數量的打包數據后,將預設數量的打包數據放入無鎖隊列中。
上述方案中,可選的是,根據數據處理請求的類型對鏈表中與目標鍵名對應的緩存數據進行處理,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京字節跳動網絡技術有限公司,未經北京字節跳動網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811474776.1/2.html,轉載請聲明來源鉆瓜專利網。





