System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及分布式存儲,特別是涉及一種緩存數據管理方法、裝置、計算機設備和存儲介質。
技術介紹
1、在現代web系統中,為了提高數據訪問速度并減輕后端數據庫的壓力,通常會在web層和數據庫層之間設計緩存層,這種設計可以使web層在查詢數據時優先從緩存層獲取,只有在緩存未命中時才會訪問數據庫,將數據更新到緩存中并返回結果。
2、對于支持高可用性的web系統,常見的架構有兩種。第一種架構如圖1所示,每個節點的web層和緩存層相互獨立,數據庫組成主備集群,每個節點均可對外提供服務。在這種架構下,如果緩存中不存在數據,系統會訪問數據庫并將數據放入緩存,但數據只要被訪問過一次就會放入緩存,可能導致緩存中存在大量不常訪問的數據,占用較大空間,造成資源浪費。此外,由于各節點緩存層相互獨立,用戶訪問不同節點時可能會重復查詢數據并更新緩存,影響了接口訪問速度。
3、第二種架構如圖2所示,每個節點的緩存層組成分布式緩存集群,在這種設計中,用戶訪問過任何一個節點后,數據會被保存在分布式緩存中,當用戶再次訪問其他節點時,可以從分布式緩存中直接獲取數據,無需再次建立緩存,從而提高了訪問速度。但是每個節點的緩存層都可能占用相同的內存空間,即使某些節點并沒有接收到請求,它們的緩存層也可能保存了大量數據,導致內存資源的浪費。
技術實現思路
1、基于此,有必要針對上述技術問題,提供一種能夠實現緩存數據自適應擴散的緩存數據管理方法、裝置、計算機設備和存儲介質。
2、一方面,提供一種緩
3、統計單位時間內各數據的訪問請求頻次,并根據所述訪問請求頻次評估所述數據的訪問熱度;
4、響應于接收到目標數據的訪問請求,且所述目標數據的訪問請求頻次達到預設緩存閾值,建立所述目標數據的緩存;
5、根據所述目標數據的訪問熱度確定緩存擴散策略,并根據所述緩存擴散策略確定目標擴散節點,將所述目標數據擴散至所述目標擴散節點的緩存服務;
6、響應于所述目標數據滿足預設失效條件,對所述目標數據執行停止擴散和/或刪除所述目標數據的緩存。
7、在其中一個實施例中,所述根據所述目標數據的訪問熱度確定緩存擴散策略,并根據所述緩存擴散策略確定目標擴散節點,將所述目標數據擴散至所述目標擴散節點的緩存服務,包括:
8、響應于所述目標數據的訪問請求頻次小于第一頻次閾值,將所述目標數據的緩存保存在當前節點緩存服務中,不進行擴散,其中所述第一頻次閾值大于所述預設緩存閾值;
9、響應于所述目標數據的訪問請求頻次大于等于第一頻次閾值,將所述目標數據與候選節點進行匹配,確定至少一個目標擴散節點,將所述目標數據擴散至所述目標擴散節點的緩存服務。
10、在其中一個實施例中,所述方法還包括:
11、將所述目標數據的訪問請求頻次與預設緩存閾值進行比較;
12、響應于所述目標數據的訪問請求頻次小于預設緩存閾值,不保存所述目標數據的緩存,直接訪問數據庫。
13、在其中一個實施例中,所述響應于所述目標數據的訪問請求頻次大于等于第一頻次閾值,將所述目標數據與候選節點進行匹配,確定至少一個目標擴散節點,包括:
14、采集各節點的資源使用參數,計算各節點的資源利用率;
15、篩選所述資源利用率小于預設負載閾值的節點加入候選節點列表;
16、響應于所述目標數據的訪問請求頻次大于等于第一頻次閾值,且小于第二頻次閾值,從所述候選節點列表中隨機選擇至少一個第一目標擴散節點;
17、或,記錄各節點的緩存命中情況,計算所述節點的緩存命中率;
18、根據所述目標數據的訪問熱度、所述節點的資源利用率及緩存命中率計算所述候選節點列表中所有候選節點的緩存增益;
19、獲取所述緩存增益大于預設擴散閾值的候選節點作為第一目標擴散節點;
20、響應于所述目標數據的訪問請求頻次大于等于第二頻次閾值,根據所述候選節點列表隨機選擇多個第二目標擴散節點,其中所述第二目標擴散節點的數量大于所述第一目標擴散節點的數量;
21、或,獲取所述緩存增益大于預設擴散閾值的候選節點作為第二目標擴散節點。
22、在其中一個實施例中,所述響應于所述目標數據滿足預設失效條件,對所述目標數據執行停止擴散和/或刪除所述目標數據的緩存,包括:
23、周期性掃描全量緩存數據,判斷所述緩存數據是否超過過期時間;
24、響應于所述目標數據的緩存時間超過過期時間,獲取所述目標數據的當前訪問請求頻次;
25、響應于所述當前訪問請求頻次小于預設緩存閾值,將所述目標數據從緩存中刪除;
26、響應于所述當前訪問熱度大于等于預設緩存閾值,不刪除所述目標數據的緩存,并根據所述當前訪問熱度判斷是否對所述目標數據執行停止擴散。
27、在其中一個實施例中,所述響應于所述當前訪問熱度大于等于預設緩存閾值,不刪除所述目標數據的緩存,并根據所述當前訪問熱度判斷是否對所述目標數據執行停止擴散,包括:
28、響應于所述當前訪問請求頻次小于第一頻次閾值,對所述目標數據執行停止擴散,并將所述目標數據從所述第一目標擴散節點的緩存中刪除;
29、響應于所述當前訪問請求頻次小于第二頻次閾值,且大于等于第一頻次閾值,將所述目標數據從所述第二目標擴散節點的緩存中刪除,并根據所述當前訪問請求頻次確認第一目標擴散節點,將所述目標數據擴散至所述第一目標節點的緩存服務。
30、在其中一個實施例中,所述方法還包括:
31、響應于緩存數據量到達上限閾值,獲取緩存數據的數據訪問熱度、數據大小及數據剩余有效期;
32、根據所述數據訪問熱度、數據大小及數據剩余有效期設置所述緩存數據的淘汰優先級;
33、根據所述淘汰優先級確定目標淘汰數據,將所述目標淘汰數據從緩存中刪除。
34、另一方面,提供了一種緩存數據管理裝置,所述裝置包括:
35、評估模塊,用于統計單位時間內各數據的訪問請求頻次,并根據所述訪問請求頻次評估所述數據的訪問熱度;
36、緩存模塊,用于響應于接收到目標數據的訪問請求,且所述目標數據的訪問請求頻次達到預設緩存閾值,建立所述目標數據的緩存;
37、擴散模塊,用于根據所述目標數據的訪問熱度確定緩存擴散策略,并根據所述緩存擴散策略確定目標擴散節點,將所述目標數據擴散至所述目標擴散節點的緩存服務;
38、刪除模塊,用于響應于所述目標數據滿足預設失效條件,對所述目標數據執行停止擴散和/或刪除所述目標數據的緩存。
39、再一方面,提供了一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現以下步驟:
40、統計單位時間內各數據的訪問請求頻次,并根據所述訪問請求頻次評估所本文檔來自技高網...
【技術保護點】
1.一種緩存數據管理方法,其特征在于,包括:
2.根據權利要求1所述的緩存數據管理方法,其特征在于,所述根據所述目標數據的訪問熱度確定緩存擴散策略,并根據所述緩存擴散策略確定目標擴散節點,將所述目標數據擴散至所述目標擴散節點的緩存服務,包括:
3.根據權利要求1或2所述的緩存數據管理方法,其特征在于,所述方法還包括:
4.根據權利要求2所述的緩存數據管理方法,其特征在于,所述響應于所述目標數據的訪問請求頻次大于等于第一頻次閾值,將所述目標數據與候選節點進行匹配,確定至少一個目標擴散節點,包括:
5.根據權利要求1或4所述的緩存數據管理方法,其特征在于,所述響應于所述目標數據滿足預設失效條件,對所述目標數據執行停止擴散和/或刪除所述目標數據的緩存,包括:
6.根據權利要求5所述的緩存數據管理方法,其特征在于,所述響應于所述當前訪問熱度大于等于預設緩存閾值,不刪除所述目標數據的緩存,并根據所述當前訪問熱度判斷是否對所述目標數據執行停止擴散,包括:
7.根據權利要求1所述的緩存數據管理方法,其特征在于,所述方法還包
8.一種緩存數據管理裝置,其特征在于,所述裝置包括:
9.一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執行所述計算機程序時實現權利要求1至7中任一項所述方法的步驟。
10.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至7中任一項所述的方法的步驟。
...【技術特征摘要】
1.一種緩存數據管理方法,其特征在于,包括:
2.根據權利要求1所述的緩存數據管理方法,其特征在于,所述根據所述目標數據的訪問熱度確定緩存擴散策略,并根據所述緩存擴散策略確定目標擴散節點,將所述目標數據擴散至所述目標擴散節點的緩存服務,包括:
3.根據權利要求1或2所述的緩存數據管理方法,其特征在于,所述方法還包括:
4.根據權利要求2所述的緩存數據管理方法,其特征在于,所述響應于所述目標數據的訪問請求頻次大于等于第一頻次閾值,將所述目標數據與候選節點進行匹配,確定至少一個目標擴散節點,包括:
5.根據權利要求1或4所述的緩存數據管理方法,其特征在于,所述響應于所述目標數據滿足預設失效條件,對所述目標數據執行停止擴散和/或刪除所述目標數據的緩存...
【專利技術屬性】
技術研發人員:李興華,
申請(專利權)人:濟南浪潮數據技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。