本技術涉及數(shù)據(jù)緩存,尤其涉及一種緩存管理方法、系統(tǒng)、設備及存儲介質。
背景技術:
1、隨著用戶對數(shù)據(jù)訪問速率需求的提高,緩存(cache)技術得到了廣泛的應用。在緩存的數(shù)據(jù)量過大時,會占用高速存儲器的內存,從而導致對緩存數(shù)據(jù)的訪問速率降低。因此,需要對緩存數(shù)據(jù)進行管理,以保證緩存數(shù)據(jù)的訪問速率。
2、隨著異構數(shù)據(jù)緩存場景的增多,傳統(tǒng)基于訪問次數(shù)或訪問間隔的緩存數(shù)據(jù)管理方式的管理精度降低。因而現(xiàn)有的緩存管理方式多是在傳統(tǒng)緩存數(shù)據(jù)管理方式的基礎上,根據(jù)不同結構數(shù)據(jù)的重要程度設置固定權重,從而降低權重值較高的緩存數(shù)據(jù)被淘汰的風險,提高管理精度。但是,由于緩存數(shù)據(jù)的重要程度具有周期性特點,即在一個時間周期內重要程度較高的緩存數(shù)據(jù),在另一時間周期的重要程度會降低,此時若仍基于固定權重進行緩存數(shù)據(jù)管理,則會導致重要程度已降低的緩存數(shù)據(jù)未被淘汰,占用內存,從而降低對重要程度較高的緩存數(shù)據(jù)的訪問速率的問題??梢姡F(xiàn)有的緩存管理方式仍存在管理精度低的問題。
技術實現(xiàn)思路
1、鑒于上述問題,本技術提供了一種緩存管理方法、系統(tǒng)、設備及存儲介質,以實現(xiàn)提高緩存管理精度的目的。具體方案如下:
2、本技術第一方面提供一種緩存管理方法,包括:
3、在接收到淘汰觸發(fā)指令的情況下,至少基于各庫表的訪問頻率、訪問時間戳、讀操作延遲時長和庫表數(shù)據(jù)量,對各所述庫表各自的權重值進行更新操作,獲得各所述庫表更新后的權重值,并基于所述更新后的權重值對緩存中的各所述庫表進行管理,其中,所述訪問時間戳為在接收到所述淘汰觸發(fā)指令之前的監(jiān)控時段內,所述庫表最后一次被訪問的時間戳。
4、在一種可能的實現(xiàn)中,所述更新操作包括:頻率更新、延遲更新和時間老化更新,所述基于各庫表的訪問頻率、訪問時間戳、讀操作延遲時長和庫表數(shù)據(jù)量,對各所述庫表各自的權重值進行更新操作,獲得各所述庫表更新后的權重值,包括:
5、至少基于目標庫表的所述庫表數(shù)據(jù)量和所述訪問頻率,對所述目標庫表的所述權重值進行所述頻率更新,獲得所述目標庫表經過所述頻率更新的權重值,其中,所述目標庫表為緩存中的任一個所述庫表;
6、至少基于所述目標庫表的所述庫表數(shù)據(jù)量和所述讀操作延遲時長對經過所述頻率更新的所述權重值進行所述延遲更新,獲得所述目標庫表經過所述延遲更新的權重值;
7、至少基于所述目標庫表的所述庫表數(shù)據(jù)量和所述訪問時間戳對經過所述延遲更新的權重值進行所述時間老化更新,獲得所述目標庫表的所述更新后的權重值。
8、在一種可能的實現(xiàn)中,在所述基于所述更新后的權重值對緩存中的各所述庫表進行管理之前,所述方法還包括:
9、根據(jù)各所述庫表i的所述更新后的權重值wi(t),通過公式:求得各所述庫表i經過歸一化處理后的所述更新后的權重值wi’(t),wi(t)其中,所述t是所述淘汰觸發(fā)指令的接收時刻,所述n是所述庫表的總數(shù)。
10、在一種可能的實現(xiàn)中,所述基于所述更新后的權重值對緩存中的各所述庫表進行管理,包括:
11、根據(jù)各所述庫表i經過歸一化處理后的所述更新后的權重值wi’(t)、所述接收時刻t和所述訪問時間戳t(t),通過公式:求得各所述庫表i的淘汰評分si(t),并在緩存空間使用率大于預設閾值時,基于所述淘汰評分的排序和所述庫表數(shù)據(jù)量執(zhí)行庫表刪除操作,其中,所述λ是用于消除時間干擾項的正數(shù),所述換存空間使用率是所述庫表數(shù)據(jù)量總和對內存的占用率。
12、在一種可能的實現(xiàn)中,所述至少基于目標庫表的所述庫表數(shù)據(jù)量和所述訪問頻率,對所述目標庫表的所述權重值進行所述頻率更新,獲得所述目標庫表經過所述頻率更新的權重值,包括:
13、根據(jù)所述庫表數(shù)據(jù)量s和所述訪問頻率a(t),通過公式:獲得經過所述頻率更新的權重值w’(t),其中,所述α是預設頻率增長因子,所述t是所述淘汰觸發(fā)指令的接收時刻,t-1是所述接收時刻t之前的一個時刻,所述w(t-1)是為t-1時刻未經過所述頻率更新的所述目標庫表的權重值。
14、在一種可能的實現(xiàn)中,所述至少基于所述目標庫表的所述庫表數(shù)據(jù)量和所述讀操作延遲時長對經過所述頻率更新的所述權重值進行所述延遲更新,獲得所述目標庫表經過所述延遲更新的權重值,包括:
15、根據(jù)所述庫表數(shù)據(jù)量s和所述讀操作延遲時長d(t),通過公式:獲得經過所述延遲更新的權重值w’(t),其中,所述t是所述淘汰觸發(fā)指令的接收時刻,所述w(t)是經過所述頻率更新的所述權重值,所述β是預設時間衰減因子,所述tdelay是預設延遲時長。
16、在一種可能的實現(xiàn)中,所述至少基于所述目標庫表的所述庫表數(shù)據(jù)量和所述訪問時間戳對經過所述延遲更新的權重值進行所述時間老化更新,獲得所述目標庫表的所述更新后的權重值,包括:
17、根據(jù)所述庫表數(shù)據(jù)量s和所述訪問時間戳t(t),通過公式:獲得所述更新后的權重值w’(t),其中,所述t是所述淘汰觸發(fā)指令的接收時刻,所述w(t)是經過所述延遲更新的權重值,所述tmax是預設最大老化時長,所述γ是預設老化因子。
18、本技術第二方面提供一種緩存管理系統(tǒng),所述緩存管理系統(tǒng)被設置為:
19、在接收到淘汰觸發(fā)指令的情況下,至少基于各庫表的訪問頻率、訪問時間戳、讀操作延遲時長和庫表數(shù)據(jù)量,對各所述庫表各自的權重值進行更新操作,獲得各所述庫表更新后的權重值,并基于所述更新后的權重值對緩存中的各所述庫表進行管理,其中,所述訪問時間戳為在接收到所述淘汰觸發(fā)指令之前的監(jiān)控時段內,所述庫表最后一次被訪問的時間戳。
20、在一種可能的實現(xiàn)中,所述緩存管理系統(tǒng)在基于各庫表的訪問頻率、訪問時間戳、讀操作延遲時長和庫表數(shù)據(jù)量,對各所述庫表各自的權重值進行更新操作,獲得各所述庫表更新后的權重值時被設置為:
21、所述更新操作包括:頻率更新、延遲更新和時間老化更新;
22、至少基于目標庫表的所述庫表數(shù)據(jù)量和所述訪問頻率,對所述目標庫表的所述權重值進行所述頻率更新,獲得所述目標庫表經過所述頻率更新的權重值,其中,所述目標庫表為緩存中的任一個所述庫表;
23、至少基于所述目標庫表的所述庫表數(shù)據(jù)量和所述讀操作延遲時長對經過所述頻率更新的所述權重值進行所述延遲更新,獲得所述目標庫表經過所述延遲更新的權重值;
24、至少基于所述目標庫表的所述庫表數(shù)據(jù)量和所述訪問時間戳對經過所述延遲更新的權重值進行所述時間老化更新,獲得所述目標庫表的所述更新后的權重值。
25、在一種可能的實現(xiàn)中,所述緩存管理系統(tǒng)在所述基于所述更新后的權重值對緩存中的各所述庫表進行管理之前還被設置為:
26、根據(jù)各所述庫表i的所述更新后的權重值wi(t),通過公式:求得各所述庫表i經過歸一化處理后的所述更新后的權重值wi’(t),wi(t)其中,所述t是所述淘汰觸發(fā)指令的接收時刻,所述n是所述庫表的總數(shù)。
27、在一種可能的實現(xiàn)中,所述緩存管理系統(tǒng)在基于所述更新后的權重值對緩存中的各所述庫表進行管理時被設置為:
28、根據(jù)各所述庫表i經過歸一化處理后的所述更新后的權重值wi’(t)、所述接收時刻t和所述訪問時間戳t(t),通過公式:求得各所述庫表i的淘汰評分si(t),并在緩存空間使用率大于預設閾值時,基于所述淘汰評分的排序和所述庫表數(shù)據(jù)量執(zhí)行庫表刪除操作,其中,所述λ是用于消除時間干擾項的正數(shù),所述換存空間使用率是所述庫表數(shù)據(jù)量總和對內存的占用率。
29、在一種可能的實現(xiàn)中,所述緩存管理系統(tǒng)在至少基于目標庫表的所述庫表數(shù)據(jù)量和所述訪問頻率,對所述目標庫表的所述權重值進行所述頻率更新,獲得所述目標庫表經過所述頻率更新的權重值時被設置為:
30、根據(jù)所述庫表數(shù)據(jù)量s和所述訪問頻率a(t),通過公式:獲得經過所述頻率更新的權重值w’(t),其中,所述α是預設頻率增長因子,所述t是所述淘汰觸發(fā)指令的接收時刻,t-1是所述接收時刻t之前的一個時刻,所述w(t-1)是為t-1時刻未經過所述頻率更新的所述目標庫表的權重值。
31、在一種可能的實現(xiàn)中,所述緩存管理系統(tǒng)在至少基于所述目標庫表的所述庫表數(shù)據(jù)量和所述讀操作延遲時長對經過所述頻率更新的所述權重值進行所述延遲更新,獲得所述目標庫表經過所述延遲更新的權重值時被設置為:
32、根據(jù)所述庫表數(shù)據(jù)量s和所述讀操作延遲時長d(t),通過公式:獲得經過所述延遲更新的權重值w’(t),其中,所述t是所述淘汰觸發(fā)指令的接收時刻,所述w(t)是經過所述頻率更新的所述權重值,所述β是預設時間衰減因子,所述tdelay是預設延遲時長。
33、在一種可能的實現(xiàn)中,所述緩存管理系統(tǒng)在至少基于所述目標庫表的所述庫表數(shù)據(jù)量和所述訪問時間戳對經過所述延遲更新的權重值進行所述時間老化更新,獲得所述目標庫表的所述更新后的權重值時被設置為:
34、根據(jù)所述庫表數(shù)據(jù)量s和所述訪問時間戳t(t),通過公式:獲得所述更新后的權重值w’(t),其中,所述t是所述淘汰觸發(fā)指令的接收時刻,所述w(t)是經過所述延遲更新的權重值,所述tmax是預設最大老化時長,所述γ是預設老化因子。
35、本技術第三方面提供一種電子設備,包括至少一個處理器和與所述處理器連接的存儲器,其中:
36、所述存儲器用于存儲計算機程序;
37、所述處理器用于執(zhí)行所述計算機程序,以使所述電子設備能夠實現(xiàn)上述第一方面或第一方面任一實現(xiàn)方式的緩存管理方法。
38、本技術第四方面提供一種計算機存儲介質,所述存儲介質承載有一個或多個計算機程序,當所述一個或多個計算機程序被電子設備執(zhí)行時,能夠使所述電子設備上述第一方面或第一方面任一實現(xiàn)方式的緩存管理方法。
39、借由上述技術方案,本技術提供的緩存管理方法、系統(tǒng)、設備及存儲介質,通過配置在接收到淘汰觸發(fā)指令的情況下,至少基于各庫表的訪問頻率、訪問時間戳、讀操作延遲時長和庫表數(shù)據(jù)量,對各庫表各自的權重值進行多種類型的更新,在避免由于庫表權重值變化量過大導致緩存命中率下降風險的同時,使得更新后的權重值充分考慮了不同時間周期對權重值的影響,實現(xiàn)了對庫表的權重值的動態(tài)調節(jié),提高了權重值的設定精度。進而通過配置基于各庫表更新后的權重值對緩存中的各庫表進行管理,提高了在不同時間周期內對緩存進行管理的精度??梢?,本技術提高了緩存管理精度。