两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種面向多租戶的緩沖區(qū)管理方法及服務(wù)器與流程

文檔序號:11590365閱讀:235來源:國知局

本發(fā)明涉及數(shù)據(jù)庫技術(shù)領(lǐng)域,尤其涉及一種面向多租戶的緩沖區(qū)管理方法及服務(wù)器。



背景技術(shù):

在數(shù)據(jù)庫(database,db)領(lǐng)域,租戶表示一個數(shù)據(jù)庫的“用戶”,他“租用”了數(shù)據(jù)庫的部分資源。多租戶(multi-tenancy/tenant)是指多個租戶共享一個數(shù)據(jù)庫實例。隨著云計算技術(shù)的興起和蓬勃發(fā)展,越來越多的云服務(wù)提供商將多租戶應(yīng)用部署在云上,多個租戶共用云上相同的系統(tǒng)或程序組件,共享云上的資源(例如硬件資源、計算資源、內(nèi)存資源等),并且可確保租戶間數(shù)據(jù)的隔離性。例如,多個企業(yè)通過某服務(wù)網(wǎng)站開啟企業(yè)郵箱,每個企業(yè)在登錄網(wǎng)站時使用同樣的界面填寫企業(yè)id、密碼等認(rèn)證信息,接受網(wǎng)站同樣的服務(wù)流程,但網(wǎng)站為每個企業(yè)保留的信息是隔離的。一個企業(yè)無法看到其它企業(yè)的信息。這里,每個企業(yè)就是一個租戶,一個租戶中包含管理員和普通員工的多個個人賬戶。

多個租戶在對云上存儲的數(shù)據(jù)進(jìn)行訪問時,傳統(tǒng)的緩沖區(qū)資源管理方案存在著明顯的不足:每個租戶在云上創(chuàng)建時,云服務(wù)系統(tǒng)按需為其分配固定大小的緩沖區(qū),由于系統(tǒng)在運(yùn)行過程中每個租戶的緩沖區(qū)使用大小具有不確定性,往往因為初始設(shè)置的緩沖區(qū)容量過大而造成緩沖區(qū)的資源浪費(fèi),也會因為初始設(shè)置的緩沖區(qū)容量過小而導(dǎo)致不能滿足租戶的需求。



技術(shù)實現(xiàn)要素:

本發(fā)明實施例提供了一種面向多租戶的緩沖區(qū)管理方法及服務(wù)器。

第一方面,提供了一種面向多租戶的緩沖區(qū)管理方法,應(yīng)用于但不限于服務(wù)器,例如數(shù)據(jù)庫服務(wù)器,可應(yīng)用于大規(guī)模處理的數(shù)據(jù)庫處理系統(tǒng),所述數(shù)據(jù)庫處理系統(tǒng)包括但不限于:分布式磁盤數(shù)據(jù)庫系統(tǒng)、集群數(shù)據(jù)庫系統(tǒng)和mpp(massivelyparallelprocessing,大規(guī)模并行處理系統(tǒng))數(shù)據(jù)庫系統(tǒng)。且所述服務(wù)器可以為普通服務(wù)器,也可以為云服務(wù)器(又稱云計算服務(wù)器或云主機(jī))。所 述方法包括:

根據(jù)預(yù)設(shè)歷史時間段內(nèi)目標(biāo)租戶的歷史緩沖區(qū)命中率,按照預(yù)設(shè)規(guī)則預(yù)測所述目標(biāo)租戶的未來緩沖區(qū)命中率,所述目標(biāo)租戶為所述多租戶中的一個;

比較所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的期望緩沖區(qū)命中率的大小,所述期望緩沖區(qū)命中率為所述目標(biāo)租戶對緩沖區(qū)命中率的平均需求值,所述目標(biāo)租戶在服務(wù)器上申請注冊時,可以對所述期望緩沖區(qū)命中率進(jìn)行設(shè)置;

若所述未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率,則根據(jù)所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率的差值,按照第一預(yù)設(shè)算法計算出第一容量,并按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁;其中所述第一預(yù)設(shè)緩沖區(qū)命中率小于所述未來緩沖區(qū)命中率;

若所述未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率,則根據(jù)所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值,按照第二預(yù)設(shè)算法計算出第二容量,并按照所述第二容量為所述目標(biāo)緩沖區(qū)添加數(shù)據(jù)頁;其中所述第二預(yù)設(shè)緩沖區(qū)命中率大于所述未來緩沖區(qū)命中率。

通過實施第一方面所描述的方法,可以根據(jù)目標(biāo)租戶未來的緩沖區(qū)命中率需求以及所述目標(biāo)租戶預(yù)設(shè)的緩沖區(qū)命中率需求的大小關(guān)系,動態(tài)調(diào)整所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)的容量。

在一些實現(xiàn)方式中,所述根據(jù)所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率的差值,按照第一預(yù)設(shè)算法計算出第一容量,包括:

將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第一預(yù)設(shè)算法計算出第一容量。

通過執(zhí)行上述步驟,可以在滿足所述目標(biāo)租戶的期望緩沖區(qū)命中率需求的情況下,利用所述目標(biāo)租戶的未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶富余的數(shù)據(jù)頁的容量,從而將所述目標(biāo)租戶富余的數(shù)據(jù)頁進(jìn)行釋放,避免資源浪費(fèi)。

在一些實現(xiàn)方式中,所述根據(jù)所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值,按照第二預(yù)設(shè)算法計算出第二容量,包括:

將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖 區(qū)容量,按照第二預(yù)設(shè)算法計算出第二容量。

通過執(zhí)行上述步驟,為保障所述目標(biāo)租戶的期望緩沖區(qū)命中率需求,利用所述目標(biāo)租戶的期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶目前所需的數(shù)據(jù)頁的容量,從而為所述目標(biāo)租戶添加數(shù)據(jù)頁,保障所述目標(biāo)租戶的訪問性能需求。

在一些實現(xiàn)方式中,所述根據(jù)所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率的差值,按照第一預(yù)設(shè)算法計算出第一容量,包括:

判斷所述未來緩沖區(qū)命中率是否大于所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)命中率,所述最大緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率,所述最大緩沖區(qū)命中率為所述目標(biāo)租戶對緩沖區(qū)命中率的最大需求值,所述目標(biāo)租戶在所述服務(wù)器上申請注冊時,可以對所述最大緩沖區(qū)容量進(jìn)行設(shè)置;

若是,則將所述最大緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述未來緩沖區(qū)命中率與所述最大預(yù)設(shè)緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第一預(yù)設(shè)算法計算出第一容量。

通過執(zhí)行上述步驟,可以在滿足所述目標(biāo)租戶的最大緩沖區(qū)命中率需求的前提下,利用所述未來緩沖區(qū)命中率與所述最大緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)緩沖區(qū)富余的數(shù)據(jù)頁的容量,從而將所述目標(biāo)租戶富余的數(shù)據(jù)頁進(jìn)行釋放,避免資源浪費(fèi)。

在一些實現(xiàn)方式中,所述按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁,包括:

按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁,并將釋放出的所述第一容量的數(shù)據(jù)頁添加到空閑緩沖區(qū)中,所述空閑緩沖區(qū)中的數(shù)據(jù)頁用于供所述多租戶中需要添加數(shù)據(jù)頁的租戶使用。

通過執(zhí)行上述步驟,可以將從所述目標(biāo)租戶的緩沖區(qū)中釋放出的數(shù)據(jù)頁添加到空閑緩沖區(qū)中,既可以保障所述目標(biāo)租戶的訪問性能需求,又能夠?qū)⑺瞿繕?biāo)租戶富余的緩沖區(qū)資源釋放出來,以供給所述多租戶中其他需要增加緩沖區(qū)容量的租戶(包括所述目標(biāo)租戶、所述多租戶中的其他租戶以及所述服務(wù)器新增加的租戶)或者服務(wù)器中的其他業(yè)務(wù)使用,提高多租戶的整體性能和緩沖區(qū)的資源利用率。

在一些實現(xiàn)方式中,所述根據(jù)所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè) 的第一預(yù)設(shè)緩沖區(qū)命中率的差值,按照第一預(yù)設(shè)算法計算出第一容量,包括:

判斷所述未來緩沖區(qū)命中率是否大于所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)命中率,所述最大緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率;

若否,則將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第一預(yù)設(shè)算法計算出第一容量。

通過執(zhí)行上述步驟,可以在滿足所述目標(biāo)租戶的期望緩沖區(qū)命中率需求的情況下,利用所述目標(biāo)租戶的未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶富余的數(shù)據(jù)頁的容量,從而將所述目標(biāo)租戶富余的數(shù)據(jù)頁進(jìn)行釋放,避免資源浪費(fèi)。

在一些實現(xiàn)方式中,所述按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁,包括:

按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁,所述釋放出的數(shù)據(jù)頁用于供所述多租戶中其他需要添加數(shù)據(jù)頁的租戶使用,所述第一容量小于或等于所述其他需要添加數(shù)據(jù)頁的租戶待添加的數(shù)據(jù)頁容量。

通過執(zhí)行上述步驟,可以在所述多租戶中其他租戶有數(shù)據(jù)頁需求時,將從所述目標(biāo)租戶的緩沖區(qū)中釋放出的數(shù)據(jù)頁分配給其他租戶使用,既可以保障所述目標(biāo)租戶的訪問性能需求,又能夠?qū)⑺瞿繕?biāo)租戶富余的緩沖區(qū)資源釋放出來,以供給所述多租戶中其他需要添加數(shù)據(jù)頁的租戶使用,提高多租戶的整體性能和緩沖區(qū)的資源利用率。

在一些實現(xiàn)方式中,所述根據(jù)所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值,按照第二預(yù)設(shè)算法計算出第二容量,包括:

判斷所述未來緩沖區(qū)命中率是否小于所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)命中率,所述最小緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率,所述最小緩沖區(qū)命中率為所述目標(biāo)租戶對緩沖區(qū)命中率的最小需求值,所述目標(biāo)租戶在所述服務(wù)器上申請注冊時,可以對所述最小緩沖區(qū)命中率進(jìn)行設(shè)置;

若是,則將所述最小緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述最小緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第二預(yù)設(shè)算法計算出第二容量。

通過執(zhí)行上述步驟,為保障所述目標(biāo)租戶的最小緩沖區(qū)命中率需求,利用 所述目標(biāo)租戶的最小緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值進(jìn)行計算,得出所述目標(biāo)租戶至少需要添加第二容量的數(shù)據(jù)頁,從而為所述目標(biāo)租戶添加數(shù)據(jù)頁,保障所述目標(biāo)租戶的訪問性能需求。

在一些實現(xiàn)方式中,所述根據(jù)所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值,按照第二預(yù)設(shè)算法計算出第二容量,包括:

判斷所述未來緩沖區(qū)命中率是否小于所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)命中率,所述最小緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率;

若否,則將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第二預(yù)設(shè)算法計算出第二容量。

通過執(zhí)行上述步驟,為保障所述目標(biāo)租戶的期望緩沖區(qū)命中率需求,利用所述目標(biāo)租戶的期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶目前所需的數(shù)據(jù)頁的容量,從而為所述目標(biāo)租戶添加數(shù)據(jù)頁,保障所述目標(biāo)租戶的訪問性能需求。

在一些實現(xiàn)方式中,所述比較所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的期望緩沖區(qū)命中率的大小,包括:

判斷所述未來緩沖區(qū)命中率減去所述期望緩沖區(qū)命中率的差值是否大于第一預(yù)設(shè)閾值,或者,判斷所述期望緩沖區(qū)命中率減去所述未來緩沖區(qū)命中率的差值是否大于第二預(yù)設(shè)閾值;

若所述未來緩沖區(qū)命中率減去所述期望緩沖區(qū)命中率的差值大于所述第一預(yù)設(shè)閾值,則所述未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率;若所述期望緩沖區(qū)命中率減去所述未來緩沖區(qū)命中率的差值大于所述第二預(yù)設(shè)閾值,則所述未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率。通過設(shè)置浮動值(即所述第一預(yù)設(shè)閾值和所述第二預(yù)設(shè)閾值),可以更加靈活地判斷是否有必要調(diào)整所述目標(biāo)緩沖區(qū)的容量。

在一些實現(xiàn)方式中,所述根據(jù)預(yù)設(shè)歷史時間段內(nèi)目標(biāo)租戶的歷史緩沖區(qū)命中率,按照預(yù)設(shè)規(guī)則預(yù)測所述目標(biāo)租戶的未來緩沖區(qū)命中率這一步驟由以下至少一個事件觸發(fā):預(yù)設(shè)周期到達(dá);預(yù)設(shè)時間點(diǎn)到達(dá);緩沖區(qū)命中率低于預(yù)設(shè)緩沖區(qū)命中率閾值的租戶的個數(shù)大于或等于預(yù)設(shè)個數(shù)閾值。在滿足觸發(fā)事件時,服務(wù)器可以及時了解所述目標(biāo)租戶的緩沖區(qū)命中率情況,進(jìn)而及時地對所述目 標(biāo)緩沖區(qū)的容量進(jìn)行調(diào)整。

第二方面,提供了一種服務(wù)器,包括:

預(yù)測單元,用于根據(jù)預(yù)設(shè)歷史時間段內(nèi)目標(biāo)租戶的歷史緩沖區(qū)命中率,按照預(yù)設(shè)規(guī)則預(yù)測所述目標(biāo)租戶的未來緩沖區(qū)命中率,所述目標(biāo)租戶為所述多租戶中的一個;

比較單元,用于比較所述預(yù)測單元預(yù)測得到的所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的期望緩沖區(qū)命中率的大小,所述期望緩沖區(qū)命中率為所述目標(biāo)租戶對緩沖區(qū)命中率的平均需求值,所述目標(biāo)租戶在服務(wù)器上申請注冊時,可以對所述期望緩沖區(qū)命中率進(jìn)行設(shè)置;

第一管理單元,用于若所述比較單元比較出所述未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率,則根據(jù)所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率的差值,按照第一預(yù)設(shè)算法計算出第一容量,并按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁;其中所述第一預(yù)設(shè)緩沖區(qū)命中率小于所述未來緩沖區(qū)命中率;

第二管理單元,用于若所述比較單元比較出所述未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率,則根據(jù)所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值,按照第二預(yù)設(shè)算法計算出第二容量,并按照所述第二容量為所述目標(biāo)緩沖區(qū)添加數(shù)據(jù)頁;其中所述第二預(yù)設(shè)緩沖區(qū)命中率大于所述未來緩沖區(qū)命中率。

通過上述服務(wù)器,可以根據(jù)目標(biāo)租戶未來的緩沖區(qū)命中率需求以及所述目標(biāo)租戶預(yù)設(shè)的緩沖區(qū)命中率需求的大小關(guān)系,動態(tài)調(diào)整所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)的容量。

在一些實現(xiàn)方式中,所述第一管理單元具體用于:

將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第一預(yù)設(shè)算法計算出第一容量。

通過上述服務(wù)器,可以在滿足所述目標(biāo)租戶的期望緩沖區(qū)命中率需求的情況下,利用所述目標(biāo)租戶的未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶富余的數(shù)據(jù)頁的容量,從而將所述目標(biāo)租戶富余的數(shù)據(jù)頁進(jìn)行釋放,避免資源浪費(fèi)。

在一些實現(xiàn)方式中,所述第二管理單元具體用于:

將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第二預(yù)設(shè)算法計算出第二容量。

通過上述服務(wù)器,為保障所述目標(biāo)租戶的期望緩沖區(qū)命中率需求,利用所述目標(biāo)租戶的期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶目前所需的數(shù)據(jù)頁的容量,從而為所述目標(biāo)租戶添加數(shù)據(jù)頁,保障所述目標(biāo)租戶的訪問性能需求。

在一些實現(xiàn)方式中,所述第一管理單元包括:

第一判斷單元,用于若所述比較單元比較出所述未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率,則判斷所述未來緩沖區(qū)命中率是否大于所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)命中率,所述最大緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率,所述最大緩沖區(qū)命中率為所述目標(biāo)租戶對緩沖區(qū)命中率的最大需求值,所述目標(biāo)租戶在所述服務(wù)器上申請注冊時,可以對所述最大緩沖區(qū)容量進(jìn)行設(shè)置;

第一計算單元,用于若所述第一判斷單元判斷出所述未來緩沖區(qū)命中率大于所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)命中率,則將所述最大緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述未來緩沖區(qū)命中率與所述最大預(yù)設(shè)緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第一預(yù)設(shè)算法計算出第一容量,并按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁。

通過上述服務(wù)器,可以在滿足所述目標(biāo)租戶的最大緩沖區(qū)命中率需求的前提下,利用所述未來緩沖區(qū)命中率與所述最大緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)緩沖區(qū)富余的數(shù)據(jù)頁的容量,從而將所述目標(biāo)租戶富余的數(shù)據(jù)頁進(jìn)行釋放,避免資源浪費(fèi)。

在一些實現(xiàn)方式中,所述第一管理單元具體用于:

按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁,并將釋放出的所述第一容量的數(shù)據(jù)頁添加到空閑緩沖區(qū)中,所述空閑緩沖區(qū)中的數(shù)據(jù)頁用于供所述多租戶中需要添加數(shù)據(jù)頁的租戶使用。

通過上述服務(wù)器,可以將從所述目標(biāo)租戶的緩沖區(qū)中釋放出的數(shù)據(jù)頁添加到空閑緩沖區(qū)中,既可以保障所述目標(biāo)租戶的訪問性能需求,又能夠?qū)⑺瞿? 標(biāo)租戶富余的緩沖區(qū)資源釋放出來,以供給所述多租戶中其他需要增加緩沖區(qū)容量的租戶(包括所述目標(biāo)租戶、所述多租戶中的其他租戶以及所述服務(wù)器新增加的租戶)或者服務(wù)器中的其他業(yè)務(wù)使用,提高多租戶的整體性能和緩沖區(qū)的資源利用率。

在一些實現(xiàn)方式中,所述第一管理單元包括:

第二判斷單元,用于若所述比較單元比較出所述未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率,則判斷所述未來緩沖區(qū)命中率是否大于所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)命中率,所述最大緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率;

第二計算單元,用于若所述第二判斷單元判斷出所述未來緩沖區(qū)命中率小于或等于所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)命中率,則將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第一預(yù)設(shè)算法計算出第一容量,并按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁。

通過上述服務(wù)器,可以在滿足所述目標(biāo)租戶的期望緩沖區(qū)命中率需求的情況下,利用所述目標(biāo)租戶的未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶富余的數(shù)據(jù)頁的容量,從而將所述目標(biāo)租戶富余的數(shù)據(jù)頁進(jìn)行釋放,避免資源浪費(fèi)。

在一些實現(xiàn)方式中,所述第一管理單元具體用于:

按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁,所述釋放出的數(shù)據(jù)頁用于供所述多租戶中其他需要添加數(shù)據(jù)頁的租戶使用,所述第一容量小于或等于所述其他需要添加數(shù)據(jù)頁的租戶待添加的數(shù)據(jù)頁容量。

通過上述服務(wù)器,可以在所述多租戶中其他租戶有數(shù)據(jù)頁需求時,將從所述目標(biāo)租戶的緩沖區(qū)中釋放出的數(shù)據(jù)頁分配給其他租戶使用,既可以保障所述目標(biāo)租戶的訪問性能需求,又能夠?qū)⑺瞿繕?biāo)租戶富余的緩沖區(qū)資源釋放出來,以供給所述多租戶中其他需要添加數(shù)據(jù)頁的租戶使用,提高多租戶的整體性能和緩沖區(qū)的資源利用率。

在一些實現(xiàn)方式中,所述第二管理單元包括:

第三判斷單元,用于若所述比較單元比較出所述未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率,則判斷所述未來緩沖區(qū)命中率是否小于所述目標(biāo)租戶預(yù) 設(shè)的最小緩沖區(qū)命中率,所述最小緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率,所述最小緩沖區(qū)命中率為所述目標(biāo)租戶對緩沖區(qū)命中率的最小需求值,所述目標(biāo)租戶在所述服務(wù)器上申請注冊時,可以對所述最小緩沖區(qū)命中率進(jìn)行設(shè)置;

第三計算單元,用于若所述第三判斷單元判斷出所述未來緩沖區(qū)命中率小于所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)命中率,則將所述最小緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述最小緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第二預(yù)設(shè)算法計算出第二容量,并按照所述第二容量為所述目標(biāo)緩沖區(qū)添加數(shù)據(jù)頁。

通過上述服務(wù)器,為保障所述目標(biāo)租戶的最小緩沖區(qū)命中率需求,利用所述目標(biāo)租戶的最小緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值進(jìn)行計算,得出所述目標(biāo)租戶至少需要添加第二容量的數(shù)據(jù)頁,從而為所述目標(biāo)租戶添加數(shù)據(jù)頁,保障所述目標(biāo)租戶的訪問性能需求。

在一些實現(xiàn)方式中,所述第二管理單元包括:

第四判斷單元,用于若所述比較單元比較出所述未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率,則判斷所述未來緩沖區(qū)命中率是否小于所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)命中率,所述最小緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率;

第四計算單元,用于若所述第四判斷單元判斷出所述未來緩沖區(qū)命中率大于或等于所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)命中率,則將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第二預(yù)設(shè)算法計算出第二容量,并按照所述第二容量為所述目標(biāo)緩沖區(qū)添加數(shù)據(jù)頁。

通過上述服務(wù)器,為保障所述目標(biāo)租戶的期望緩沖區(qū)命中率需求,利用所述目標(biāo)租戶的期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶目前所需的數(shù)據(jù)頁的容量,從而為所述目標(biāo)租戶添加數(shù)據(jù)頁,保障所述目標(biāo)租戶的訪問性能需求。

在一些實現(xiàn)方式中,所述比較單元具體用于:

判斷所述未來緩沖區(qū)命中率減去所述期望緩沖區(qū)命中率的差值是否大于第一預(yù)設(shè)閾值,或者,判斷所述期望緩沖區(qū)命中率減去所述未來緩沖區(qū)命中率的差值是否大于第二預(yù)設(shè)閾值;

若所述未來緩沖區(qū)命中率減去所述期望緩沖區(qū)命中率的差值大于所述第一 預(yù)設(shè)閾值,則所述未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率;若所述期望緩沖區(qū)命中率減去所述未來緩沖區(qū)命中率的差值大于所述第二預(yù)設(shè)閾值,則所述未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率。通過設(shè)置浮動值(即所述第一預(yù)設(shè)閾值和所述第二預(yù)設(shè)閾值),可以更加靈活地判斷是否有必要調(diào)整所述目標(biāo)緩沖區(qū)的容量。

在一些實現(xiàn)方式中,所述預(yù)測單元執(zhí)行所述根據(jù)預(yù)設(shè)歷史時間段內(nèi)目標(biāo)租戶的歷史緩沖區(qū)命中率,按照預(yù)設(shè)規(guī)則預(yù)測所述目標(biāo)租戶的未來緩沖區(qū)命中率這一操作由以下至少一個事件觸發(fā):預(yù)設(shè)周期到達(dá);預(yù)設(shè)時間點(diǎn)到達(dá);緩沖區(qū)命中率低于預(yù)設(shè)緩沖區(qū)命中率閾值的租戶的個數(shù)大于或等于預(yù)設(shè)個數(shù)閾值。在滿足觸發(fā)事件時,服務(wù)器可以及時了解所述目標(biāo)租戶的緩沖區(qū)命中率情況,進(jìn)而及時地對所述目標(biāo)緩沖區(qū)的容量進(jìn)行調(diào)整。

第三方面,提供了一種服務(wù)器,包括處理器和存儲器,其中,所述服務(wù)器可例如數(shù)據(jù)庫服務(wù)器,可應(yīng)用于大規(guī)模處理的數(shù)據(jù)庫處理系統(tǒng),所述數(shù)據(jù)庫處理系統(tǒng)包括但不限于:分布式磁盤數(shù)據(jù)庫系統(tǒng)、集群數(shù)據(jù)庫系統(tǒng)和mpp數(shù)據(jù)庫系統(tǒng)。且所述服務(wù)器可以為普通服務(wù)器,也可以為云服務(wù)器;所述存儲器用于存儲面向多租戶的緩沖區(qū)管理程序代碼,所述處理器用于調(diào)用所述存儲器存儲的程序代碼執(zhí)行上述第一方面或第一方面任一種實現(xiàn)方式所描述的面向多租戶的緩沖區(qū)管理方法。

在本發(fā)明的一些實現(xiàn)方式中,所述第一預(yù)設(shè)算法為:c1=(a-b)*d,其中,c1為所述第一容量,a為所述未來緩沖區(qū)命中率,b為所述第一預(yù)設(shè)緩沖區(qū)命中率,d為所述預(yù)設(shè)的緩沖區(qū)容量。通過第一預(yù)設(shè)算法可以計算出所述目標(biāo)緩沖區(qū)可以釋放出的數(shù)據(jù)頁容量。

在本發(fā)明的一些實現(xiàn)方式中,所述第一預(yù)設(shè)算法為:c1=min((a-b)*d,e),其中,c1為所述第一容量,a為所述未來緩沖區(qū)命中率,b為所述第一預(yù)設(shè)緩沖區(qū)命中率,d為所述預(yù)設(shè)的緩沖區(qū)容量,e為所述多租戶中其他租戶待添加的數(shù)據(jù)頁容量。通過將所述目標(biāo)租戶可釋放出的數(shù)據(jù)頁容量與其他租戶待添加的數(shù)據(jù)頁容量進(jìn)行比較,可確定出所述目標(biāo)緩沖區(qū)實際釋放的數(shù)據(jù)頁容量。

在本發(fā)明的一些實現(xiàn)方式中,所述第二預(yù)設(shè)算法為:c2=min((f-a)*d,g),其中,c2為所述第二容量,f為所述第二預(yù)設(shè)緩沖區(qū)命中率,a 為所述未來緩沖區(qū)命中率,d為所述預(yù)設(shè)的緩沖區(qū)容量,g為所述多租戶中其他租戶待釋放的數(shù)據(jù)頁容量和空閑緩沖區(qū)中的數(shù)據(jù)頁容量之和。通過服務(wù)器當(dāng)前可提供的數(shù)據(jù)頁容量與所述目標(biāo)租戶待添加的數(shù)據(jù)頁容量進(jìn)行比較,可確定出所述目標(biāo)緩沖區(qū)實際添加的數(shù)據(jù)頁容量。

在本發(fā)明的一些實現(xiàn)方式中,所述預(yù)設(shè)的緩沖區(qū)容量包括:所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)容量、所述目標(biāo)租戶預(yù)設(shè)的期望緩沖區(qū)容量、所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)容量和所述目標(biāo)緩沖區(qū)當(dāng)前的容量中的至少一種。所述目標(biāo)租戶在服務(wù)器上申請注冊時,可以分別對所述最小緩沖區(qū)容量、所述期望緩沖區(qū)容量和所述最大緩沖區(qū)容量進(jìn)行設(shè)置。

在本發(fā)明的一些實現(xiàn)方式中,所述預(yù)設(shè)歷史時間段可以為過去的一個時間段,也可以為過去的至少兩個時間段。例如,所述預(yù)設(shè)歷史時間段可由所述服務(wù)器當(dāng)前的預(yù)測時間點(diǎn)和與所述當(dāng)前預(yù)測時間點(diǎn)的時間間隔最短的一個歷史預(yù)測時間點(diǎn)所組成的時間段,也可以是所述當(dāng)前的預(yù)測時間點(diǎn)與預(yù)設(shè)的預(yù)測時間點(diǎn)之間每兩個相鄰的預(yù)測時間點(diǎn)所組成的p(p為正整數(shù),且p≥1)個時間段,還可以為所述p個時間段中的任意q(q為正整數(shù),且1≤q≤p)個時間段。其中,所述預(yù)設(shè)的預(yù)測時間點(diǎn)可包括但不限于所述服務(wù)器啟動運(yùn)行后的第一個預(yù)測時間點(diǎn)。

在本發(fā)明的一些實現(xiàn)方式中,所述預(yù)設(shè)規(guī)則包括:根據(jù)所述目標(biāo)租戶的n(n為正整數(shù),n≥1)個歷史緩沖區(qū)命中率,計算所述n個歷史緩沖區(qū)命中率的平均緩沖區(qū)命中率,將所述平均緩沖區(qū)命中率確定為所述目標(biāo)租戶的未來緩沖區(qū)命中率;或者,根據(jù)所述目標(biāo)租戶的m(m為正整數(shù),m≥2)個歷史緩沖區(qū)命中率的變化趨勢,預(yù)測所述目標(biāo)租戶的未來緩沖區(qū)命中率。

實施本發(fā)明實施例,根據(jù)預(yù)測得到的多租戶中的目標(biāo)租戶的未來緩沖區(qū)命中率以及所述目標(biāo)租戶預(yù)設(shè)的緩沖區(qū)命中率,來動態(tài)調(diào)整多租戶中的目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)的容量,既可以避免因緩沖區(qū)不足而影響租戶的訪問性能,又可以避免因緩沖區(qū)過大而造成資源浪費(fèi)。

附圖說明

為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹。

圖1是本發(fā)明實施例提供的服務(wù)器中數(shù)據(jù)庫緩沖區(qū)的架構(gòu)示意圖;

圖2是本發(fā)明實施例提供的一種面向多租戶的緩沖區(qū)管理方法的流程示意圖;

圖3是本發(fā)明實施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖;

圖4是本發(fā)明實施例提供的另一種服務(wù)器的結(jié)構(gòu)示意圖;

圖5是本發(fā)明實施例提供的另一種服務(wù)器的結(jié)構(gòu)示意圖;

圖6是本發(fā)明實施例提供的另一種服務(wù)器的結(jié)構(gòu)示意圖;

圖7是本發(fā)明實施例提供的另一種服務(wù)器的結(jié)構(gòu)示意圖;

圖8是本發(fā)明實施例提供的另一種服務(wù)器的結(jié)構(gòu)示意圖。

具體實施方式

下面將結(jié)合附圖,對本發(fā)明的實施例進(jìn)行描述。

需要說明的是,在本發(fā)明實施例中使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實施例和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個或多個相關(guān)聯(lián)的列出項目的任何或所有可能組合。盡管在本發(fā)明實施例中可能采用術(shù)語“第一”、“第二”和“第三”等來描述各種功能模塊或單元,但這些專有名詞、功能模塊或單元不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將各功能模塊或單元彼此區(qū)分開,不存在前后順序限定的意思。此外,本發(fā)明實施例中的“多租戶”包括至少兩個租戶。

以下各實施例中所描述的服務(wù)器可安裝有數(shù)據(jù)庫管理系統(tǒng)軟件,具體可以為數(shù)據(jù)庫服務(wù)器,可應(yīng)用于大規(guī)模處理的數(shù)據(jù)庫處理系統(tǒng),所述數(shù)據(jù)庫處理系統(tǒng)包括但不限于:分布式磁盤數(shù)據(jù)庫系統(tǒng)、集群數(shù)據(jù)庫系統(tǒng)和mpp數(shù)據(jù)庫系統(tǒng)。且所述服務(wù)器可以為普通服務(wù)器,也可以為云服務(wù)器。其中,普通服務(wù)器是指獨(dú)立的服務(wù)器,具體可以為一臺或多臺計算機(jī),可部署在局域網(wǎng)中為多個用戶(可理解為租戶)提供服務(wù),該普通服務(wù)器中存儲有多個用戶各自的用戶數(shù)據(jù),多個用戶可通過局域網(wǎng)訪問該普通服務(wù)器;云服務(wù)器是基于云架構(gòu)的服務(wù)器集群,有多臺服務(wù)器,部署在云端,多個租戶從云端租用計算資源、存儲資源等。該云服務(wù)器中存儲有多個租戶各自的租戶數(shù)據(jù),多個租戶可通過互聯(lián)網(wǎng)訪問該 云服務(wù)器,其中,這些服務(wù)包括但不限于:查詢、更新、存儲等。

下面先介紹本發(fā)明提供的緩沖區(qū)管理方案的總體構(gòu)思,后續(xù)再詳細(xì)說明本發(fā)明方案的詳細(xì)步驟。首先,請參見圖1,是本發(fā)明實施例提供的服務(wù)器中數(shù)據(jù)庫緩沖區(qū)的架構(gòu)示意圖,結(jié)合圖1說明本發(fā)明提供的面向多租戶的緩沖區(qū)管理方法的總體構(gòu)思:在圖1中,服務(wù)器面向4個租戶,4個租戶的標(biāo)識分別為t1、t2、t3和t4,4個租戶均已在該服務(wù)器上申請注冊,且4個租戶在服務(wù)器中注冊創(chuàng)建的時候,服務(wù)器從操作系統(tǒng)的內(nèi)存中分別為4個租戶分配了一定容量的私有緩沖區(qū),這里為了便于區(qū)分,將4個私有緩沖區(qū)的名稱分別命名為buffer1、buffer2、buffer3和buffer4,4個私有緩沖區(qū)的容量可以相同,也可以不同,假定4個緩沖區(qū)的容量分別為2gb(gigabyte,千兆字節(jié))、2gb、1gb和3gb。此外,本發(fā)明中服務(wù)器還設(shè)定了一定的共享資源,即圖1所示的空閑緩沖區(qū)。

其中,空閑緩沖區(qū)由若干個空閑的數(shù)據(jù)頁構(gòu)成,該數(shù)據(jù)頁可以是服務(wù)器預(yù)留的數(shù)據(jù)頁,也可以是從某些租戶的緩沖區(qū)中釋放出的空數(shù)據(jù)頁。本發(fā)明采用動態(tài)和靜態(tài)相結(jié)合的方式使用緩沖區(qū),初始時服務(wù)器為每個租戶分配一定容量的緩沖區(qū)資源,在服務(wù)器運(yùn)行過程中,服務(wù)器可根據(jù)各個租戶預(yù)先設(shè)置的性能需求(具體為各個租戶預(yù)先設(shè)置的緩沖區(qū)命中率)以及各個租戶的實際性能(具體為當(dāng)前針對各個租戶預(yù)測的未來緩沖區(qū)命中率),動態(tài)調(diào)整(包括減少和增加)各個租戶的緩沖區(qū)容量,從性能較高的租戶的緩沖區(qū)中適當(dāng)釋放出部分緩沖區(qū)到空閑緩沖區(qū)中,并從空閑緩沖區(qū)中為性能較低的租戶添加部分緩沖區(qū),以在滿足多租戶的整體性能的同時提高緩沖區(qū)的資源利用率。

需要說明的是,緩沖區(qū)是由若干個數(shù)據(jù)頁(也可稱為數(shù)據(jù)塊)構(gòu)成的,一個數(shù)據(jù)頁的容量通常為4kb(kilobyte,千字節(jié))或8kb,連續(xù)的數(shù)據(jù)頁可組成一個緩沖區(qū),緩沖區(qū)的容量是指該緩沖區(qū)中各個數(shù)據(jù)頁的容量之和。

需要說明的是,圖1所示的4個租戶的緩沖區(qū)中的數(shù)據(jù)頁與空閑緩沖區(qū)中數(shù)據(jù)頁的圖案不同只是為了作為區(qū)分,4個租戶的緩沖區(qū)中的數(shù)據(jù)頁存儲有各個租戶對應(yīng)的數(shù)據(jù),該類數(shù)據(jù)頁用于暫存服務(wù)器從磁盤等硬件存儲節(jié)點(diǎn)中讀入的數(shù)據(jù)或即將寫入磁盤等硬件存儲節(jié)點(diǎn)的數(shù)據(jù)。而空閑緩沖區(qū)中的數(shù)據(jù)頁為空閑的數(shù)據(jù)頁,通常情況下,該類數(shù)據(jù)頁中不會存儲有租戶的數(shù)據(jù),避免該類數(shù)據(jù)頁被其他租戶使用時查詢到上一個使用租戶的數(shù)據(jù),從而增強(qiáng)各租戶的數(shù)據(jù)安全性。

以下各實施例是以多租戶中的目標(biāo)租戶為例進(jìn)行的說明,針對所述多租戶中的其他租戶也可同樣采用本發(fā)明實施例所提供的面向多租戶的緩沖區(qū)管理方法來實現(xiàn)動態(tài)調(diào)整其他租戶的緩沖區(qū)容量。

下面結(jié)合圖2詳細(xì)說明本發(fā)明的具體實施方式。

請參見圖2,是本發(fā)明實施例提供的一種面向多租戶的緩沖區(qū)管理方法的流程示意圖。該面向多租戶的緩沖區(qū)管理方法可應(yīng)用于但不限于服務(wù)器,例如數(shù)據(jù)庫服務(wù)器,且所述服務(wù)器可以為普通服務(wù)器,也可以為云服務(wù)器,該面向多租戶的緩沖區(qū)管理方法包括但不限于以下步驟。

s201:根據(jù)預(yù)設(shè)歷史時間段內(nèi)目標(biāo)租戶的歷史緩沖區(qū)命中率,按照預(yù)設(shè)規(guī)則預(yù)測所述目標(biāo)租戶的未來緩沖區(qū)命中率。

具體的,所述目標(biāo)租戶為多租戶中的一個。在服務(wù)器運(yùn)行過程中,所述服務(wù)器將所述目標(biāo)租戶的歷史緩沖區(qū)命中率按照預(yù)設(shè)規(guī)則預(yù)測得到所述目標(biāo)租戶的未來緩沖區(qū)命中率。其中,所述歷史緩沖區(qū)命中率是指在預(yù)設(shè)歷史時間段內(nèi)服務(wù)器從數(shù)據(jù)庫緩沖區(qū)中讀取到數(shù)據(jù)的數(shù)量與所述服務(wù)器讀取數(shù)據(jù)的總數(shù)量的比值,所述服務(wù)器讀取數(shù)據(jù)的總數(shù)量包括從數(shù)據(jù)庫緩沖區(qū)的數(shù)據(jù)頁中讀取到的數(shù)據(jù)數(shù)量以及從磁盤等硬件存儲節(jié)點(diǎn)中讀取到的數(shù)據(jù)數(shù)量之和。

可選的,所述服務(wù)器將所述目標(biāo)租戶的歷史緩沖區(qū)命中率按照預(yù)設(shè)規(guī)則預(yù)測得到所述目標(biāo)租戶的未來緩沖區(qū)命中率這一步驟可由以下至少一個事件觸發(fā):預(yù)設(shè)周期到達(dá)(即周期性預(yù)測);預(yù)設(shè)時間點(diǎn)到達(dá)(即定時預(yù)測);緩沖區(qū)命中率低于預(yù)設(shè)緩沖區(qū)命中率閾值的租戶的個數(shù)大于或等于預(yù)設(shè)個數(shù)閾值。其中,所述預(yù)設(shè)周期、所述預(yù)設(shè)的時間點(diǎn)、所述預(yù)設(shè)緩沖區(qū)命中率閾值和所述預(yù)設(shè)個數(shù)閾值均可由所述服務(wù)器的系統(tǒng)默認(rèn)設(shè)置,也可由所述服務(wù)器的管理員手動設(shè)置,本發(fā)明實施例不作具體限定。在滿足觸發(fā)事件時,服務(wù)器可以及時了解所述目標(biāo)租戶的未來緩沖區(qū)命中率情況,進(jìn)而及時地對所述目標(biāo)租戶的緩沖區(qū)容量進(jìn)行調(diào)整。

例如,所述預(yù)設(shè)周期為30分鐘,則所述服務(wù)器在運(yùn)行過程中每隔30分鐘預(yù)測一次所述目標(biāo)租戶的未來緩沖區(qū)命中率;或者,所述預(yù)設(shè)時間點(diǎn)可為一天中的各個整點(diǎn)(例如3點(diǎn)、7點(diǎn)、8點(diǎn)等)和各個半點(diǎn)(例如3點(diǎn)30分、7點(diǎn)30分、8點(diǎn)30分等),則所述服務(wù)器在每個整點(diǎn)或半點(diǎn)到達(dá)時預(yù)測一次所述目 標(biāo)租戶的未來緩沖區(qū)命中率;或者,所述預(yù)設(shè)緩沖區(qū)命中率閾值為80%,所述預(yù)設(shè)個數(shù)閾值為5個,則所述服務(wù)器在檢測出緩沖區(qū)命中率低于80%的租戶的個數(shù)大于或等于5個時,預(yù)測所述目標(biāo)租戶的未來緩沖區(qū)命中率。

可選的,所述預(yù)設(shè)歷史時間段可以為過去的一個時間段,也可以為過去的至少兩個時間段,本發(fā)明實施例不作具體限定。例如,所述預(yù)設(shè)歷史時間段可由所述服務(wù)器當(dāng)前的預(yù)測時間點(diǎn)和與所述當(dāng)前預(yù)測時間點(diǎn)的時間間隔最短的一個歷史預(yù)測時間點(diǎn)所組成的時間段,也可以是所述當(dāng)前的預(yù)測時間點(diǎn)與預(yù)設(shè)的預(yù)測時間點(diǎn)之間每兩個相鄰的預(yù)測時間點(diǎn)所組成的p(p為正整數(shù),且p≥1)個時間段,還可以為所述p個時間段中的任意q(q為正整數(shù),且1≤q≤p)個時間段。其中,所述預(yù)設(shè)的預(yù)測時間點(diǎn)可包括但不限于所述服務(wù)器啟動運(yùn)行后的第一個預(yù)測時間點(diǎn)。例如,所述服務(wù)器當(dāng)前對所述目標(biāo)租戶的未來緩沖區(qū)命中率進(jìn)行預(yù)測時的時間點(diǎn)為上午11點(diǎn),與上午11點(diǎn)的時間間隔最短的一個歷史預(yù)測時間點(diǎn)為上午10點(diǎn)30分,則所述預(yù)設(shè)歷史時間段為10:30:00-11:00:00;或者,所述服務(wù)器當(dāng)前的預(yù)測時間點(diǎn)為上午11點(diǎn),預(yù)設(shè)的預(yù)測時間點(diǎn)為上午8點(diǎn),所述服務(wù)器設(shè)置的預(yù)測周期為半小時,則所述預(yù)設(shè)歷史時間段分別為08:00:00-08:30:00、08:30:00-09:00:00、09:00:00-09:30:00、09:30:00-10:00:00、10:00:00-10:30:00和10:30:00-11:00:00;或者,所述預(yù)設(shè)歷史時間段為上述6個時間段中的任意三個:08:00:00-08:30:00、09:00:00-09:30:00和10:00:00-10:30:00。

可選的,所述預(yù)設(shè)規(guī)則包括但不限于:根據(jù)所述目標(biāo)租戶的n(n為正整數(shù),1≤n≤p)個歷史緩沖區(qū)命中率,計算所述n個歷史緩沖區(qū)命中率的平均緩沖區(qū)命中率,將所述平均緩沖區(qū)命中率確定為所述目標(biāo)租戶的未來緩沖區(qū)命中率;或者,根據(jù)所述目標(biāo)租戶的m(m為正整數(shù),2≤m≤p)個歷史緩沖區(qū)命中率的變化趨勢,預(yù)測所述目標(biāo)租戶的未來緩沖區(qū)命中率。

例如,所述預(yù)設(shè)歷史時間段為10:30:00-11:00:00,所述服務(wù)器在上午11點(diǎn)統(tǒng)計得到所述目標(biāo)租戶在10:30:00-11:00:00這一時間段的歷史緩沖區(qū)命中率為95%,則將95%確定為所述目標(biāo)租戶的未來緩沖區(qū)命中率;或者,所述預(yù)設(shè)歷史時間段分別為08:00:00-08:30:00、08:30:00-09:00:00、09:00:00-09:30:00、09:30:00-10:00:00、10:00:00-10:30:00和10:30:00-11:00:00,所述服務(wù)器在上午11點(diǎn)得到所述目標(biāo)租戶在上述6個歷史時間段內(nèi)的歷史緩沖區(qū)命中率分別為95%、90%、85%、95%、85%、90%,則計算6個歷史緩沖區(qū)命中率的平均緩 沖區(qū)命中率,將計算得到的平均緩沖區(qū)命中率90%確定為所述目標(biāo)租戶的未來緩沖區(qū)命中率;或者,所述預(yù)設(shè)歷史時間段分別為08:00:00-08:30:00、08:30:00-09:00:00、09:00:00-09:30:00、09:30:00-10:00:00、10:00:00-10:30:00和10:30:00-11:00:00,所述服務(wù)器在上午11點(diǎn)得到所述目標(biāo)租戶在上述6個歷史時間段內(nèi)的歷史緩沖區(qū)命中率分別為95%、90%、85%、95%、85%、90%,則根據(jù)6個歷史緩沖區(qū)命中率的變化趨勢,將95%確定為所述目標(biāo)租戶的未來緩沖區(qū)命中率。

s202:比較所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的期望緩沖區(qū)命中率的大小。

具體的,所述期望緩沖區(qū)命中率為所述目標(biāo)租戶對緩沖區(qū)命中率的平均需求值,所述目標(biāo)租戶在所述服務(wù)器中申請注冊時即可對所述期望緩沖區(qū)命中率進(jìn)行設(shè)置,所述目標(biāo)租戶可以只設(shè)置所述期望緩沖區(qū)命中率,也可以同時設(shè)置三個緩沖區(qū)命中率,分別為最大緩沖區(qū)命中率、期望緩沖區(qū)命中率和最小緩沖區(qū)命中率,其中,所述最大緩沖區(qū)命中率>所述期望緩沖區(qū)命中率>所述最小緩沖區(qū)命中率,所述最大緩沖區(qū)命中率和所述最小緩沖區(qū)命中率會在后續(xù)進(jìn)行詳細(xì)描述。所述服務(wù)器根據(jù)所述目標(biāo)租戶的未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率之間的大小關(guān)系來判斷是否需要調(diào)整所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)的容量。若所述未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率,或者所述未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率,則判斷的結(jié)果為需要對所述目標(biāo)緩沖區(qū)的容量進(jìn)行調(diào)整,若所述未來緩沖區(qū)命中率等于所述期望緩沖區(qū)命中率,則可以對所述目標(biāo)緩沖區(qū)的容量不進(jìn)行調(diào)整,或者根據(jù)實際需要確定是否需要對所述目標(biāo)緩沖區(qū)的容量進(jìn)行調(diào)整。

可選的,所述比較所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的期望緩沖區(qū)命中率的大小,包括:

判斷所述未來緩沖區(qū)命中率減去所述期望緩沖區(qū)命中率的差值是否大于第一預(yù)設(shè)閾值,或者,判斷所述期望緩沖區(qū)命中率減去所述未來緩沖區(qū)命中率的差值是否大于第二預(yù)設(shè)閾值;若所述未來緩沖區(qū)命中率減去所述期望緩沖區(qū)命中率的差值大于所述第一預(yù)設(shè)閾值,則所述未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率;若所述期望緩沖區(qū)命中率減去所述未來緩沖區(qū)命中率的差值大于所述第二預(yù)設(shè)閾值,則所述未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率。

其中,所述第一預(yù)設(shè)閾值和所述第二預(yù)設(shè)閾值可由所述服務(wù)器的操作系統(tǒng)默認(rèn)設(shè)置,也可以由所述服務(wù)器的管理員手動設(shè)置,且所述第一預(yù)設(shè)閾值和所述第二預(yù)設(shè)閾值可以相同,也可以不同,本發(fā)明實施例不作具體限定。通過設(shè)置浮動值(即所述第一預(yù)設(shè)閾值和所述第二預(yù)設(shè)閾值),可以更加靈活地判斷是否有必要調(diào)整所述目標(biāo)緩沖區(qū)的容量。例如,所述第一預(yù)設(shè)閾值為2%,所述未來緩沖區(qū)命中率為95%,所述期望緩沖區(qū)命中率為90%,所述未來緩沖區(qū)命中率減去所述期望緩沖區(qū)命中率的差值大于2%,則判斷的結(jié)果為所述未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率;或者,所述第二預(yù)設(shè)閾值為2%,所述未來緩沖區(qū)命中率為85%,所述期望緩沖區(qū)命中率為90%,所述期望緩沖區(qū)命中率減去所述未來緩沖區(qū)命中率的差值大于2%,則判斷的結(jié)果為所述未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率。

s203:若所述未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率,則根據(jù)所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率的差值,按照第一預(yù)設(shè)算法計算出第一容量,并按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁;其中所述第一預(yù)設(shè)緩沖區(qū)命中率小于所述未來緩沖區(qū)命中率。

具體的,若所述目標(biāo)租戶的未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率,則利用所述目標(biāo)租戶的未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶富余的數(shù)據(jù)頁的容量,從而按照所述第一容量將所述目標(biāo)租戶富余的數(shù)據(jù)頁進(jìn)行釋放,避免資源浪費(fèi)。其中,從所述目標(biāo)緩沖區(qū)中釋放出的數(shù)據(jù)頁可供所述多租戶中其他需要增加緩沖區(qū)容量的租戶(包括所述目標(biāo)租戶、所述多租戶中的其他租戶以及所述服務(wù)器新增加的租戶)或者服務(wù)器中的其他業(yè)務(wù)使用。

可選的,所述第一預(yù)設(shè)算法為:c1=(a-b)*d,其中,c1為所述第一容量,a為所述未來緩沖區(qū)命中率,b為所述第一預(yù)設(shè)緩沖區(qū)命中率,d為所述預(yù)設(shè)的緩沖區(qū)容量。其中,所述預(yù)設(shè)的緩沖區(qū)容量包括:所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)容量、所述目標(biāo)租戶預(yù)設(shè)的期望緩沖區(qū)容量、所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)容量和所述目標(biāo)緩沖區(qū)當(dāng)前的容量中的至少一種。所述目標(biāo)租戶在服務(wù)器上申請注冊時,可以分別對所述最小緩沖區(qū)容量、所述期望緩沖區(qū)容量和所述最大緩沖區(qū)容量進(jìn)行設(shè)置,也可以只針對其中的一個緩沖區(qū)容量進(jìn)行設(shè) 置。例如,所述目標(biāo)租戶設(shè)置的最小緩沖區(qū)容量為1gb,期望緩沖區(qū)容量為1.5gb,最大緩沖區(qū)容量為2gb。

可選的,所述第一預(yù)設(shè)算法為:c1=min((a-b)*d,e),其中,c1為所述第一容量,a為所述未來緩沖區(qū)命中率,b為所述第一預(yù)設(shè)緩沖區(qū)命中率,d為所述預(yù)設(shè)的緩沖區(qū)容量,根據(jù)公式(a-b)*d可以計算出所述目標(biāo)租戶可提供的數(shù)據(jù)頁容量,e為所述多租戶中其他租戶待添加的數(shù)據(jù)頁容量。若所述目標(biāo)租戶可提供的數(shù)據(jù)頁容量大于或等于所述其他租戶待添加的數(shù)據(jù)頁容量,則所述第一容量等于所述其他租戶待添加的數(shù)據(jù)頁容量;若所述目標(biāo)租戶可提供的數(shù)據(jù)頁容量小于所述其他租戶待添加的數(shù)據(jù)頁容量,則所述第一容量等于所述目標(biāo)租戶可提供的數(shù)據(jù)頁容量。從而可以按照其他租戶的需求來確定所述目標(biāo)緩沖區(qū)實際需要釋放的數(shù)據(jù)頁容量,既能夠保障所述目標(biāo)租戶的性能需求,又能將數(shù)據(jù)頁提供給其他有需求的租戶使用,提高多租戶的整體性能以及緩沖區(qū)的利用率。

可選的,所述根據(jù)所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率的差值,按照第一預(yù)設(shè)算法計算出第一容量,包括:

將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第一預(yù)設(shè)算法計算出第一容量。

具體的,如果所述目標(biāo)租戶在初始設(shè)置時只對期望緩沖區(qū)命中率進(jìn)行了設(shè)置,若判斷出所述目標(biāo)租戶的未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率,則可以表明在未來的一段時間內(nèi)服務(wù)器可以滿足所述目標(biāo)租戶的期望緩沖區(qū)命中率需求,在這種情況下,可以利用所述目標(biāo)租戶的未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶富余的數(shù)據(jù)頁的容量為第一容量,從而將所述目標(biāo)租戶富余的第一容量的數(shù)據(jù)頁進(jìn)行釋放,避免資源浪費(fèi)。

例如,所述未來緩沖區(qū)命中率為95%,所述期望緩沖區(qū)命中率為90%,所述目標(biāo)緩沖區(qū)當(dāng)前的容量為2gb,則根據(jù)所述第一預(yù)設(shè)算法c1=(a-b)*d,計算出所述第一容量c1=(95%-90%)*2gb=102mb(megabyte,兆字節(jié))。

可選的,所述根據(jù)所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率的差值,按照第一預(yù)設(shè)算法計算出第一容量,包括:

判斷所述未來緩沖區(qū)命中率是否大于所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)命中率,所述最大緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率;

若是,則將所述最大緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述未來緩沖區(qū)命中率與所述最大預(yù)設(shè)緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第一預(yù)設(shè)算法計算出第一容量。

具體的,所述最大緩沖區(qū)命中率為所述目標(biāo)租戶對緩沖區(qū)命中率的最大需求值,所述目標(biāo)租戶在所述服務(wù)器上申請注冊時,可以對所述最大緩沖區(qū)命中率進(jìn)行設(shè)置,如果所述目標(biāo)租戶在初始設(shè)置時分別對期望緩沖區(qū)命中率和最大緩沖區(qū)命中率進(jìn)行了設(shè)置,若判斷出所述目標(biāo)租戶的未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率,則需要進(jìn)一步判斷所述未來緩沖區(qū)命中率是否大于所述最大緩沖區(qū)命中率,若是,則可以表明在未來的一段時間內(nèi)服務(wù)器可以滿足所述目標(biāo)租戶的最大緩沖區(qū)命中率需求,在這種情況下,可以利用所述目標(biāo)租戶的未來緩沖區(qū)命中率與所述最大緩沖區(qū)命中率的差值進(jìn)行計算,得出所述目標(biāo)租戶富余的數(shù)據(jù)頁的容量為第一容量,所述第一容量為所述目標(biāo)租戶當(dāng)前至少可以釋放出的數(shù)據(jù)頁的容量,將所述目標(biāo)租戶富余的數(shù)據(jù)頁進(jìn)行釋放,避免資源浪費(fèi)。

例如,所述未來緩沖區(qū)命中率為95%,所述期望緩沖區(qū)命中率為90%,所述最大緩沖區(qū)命中率為94%,所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)容量為1gb,則根據(jù)所述第一預(yù)設(shè)算法c1=(a-b)*d,計算出所述第一容量c1=(95%-94%)*1gb=10*0mb。

可選的,若判斷出所述目標(biāo)租戶的未來緩沖區(qū)命中率大于所述最大緩沖區(qū)命中率,則可以表明在未來的一段時間內(nèi)服務(wù)器可以滿足所述目標(biāo)租戶的最大緩沖區(qū)命中率需求,在滿足所述目標(biāo)租戶的期望緩沖區(qū)命中率需求的情況下,也可以利用所述目標(biāo)租戶的未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值進(jìn)行計算,得出所述目標(biāo)租戶可釋放出的數(shù)據(jù)頁為第一容量,所述第一容量表示所述目標(biāo)租戶當(dāng)前至多可以釋放出的數(shù)據(jù)頁的容量,將所述目標(biāo)租戶富余的數(shù)據(jù)頁進(jìn)行釋放,避免資源浪費(fèi)。

例如,所述未來緩沖區(qū)命中率為95%,所述期望緩沖區(qū)命中率為90%,所述最大緩沖區(qū)命中率為94%,所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)容量為1gb,則根據(jù)所述第一預(yù)設(shè)算法c1=(a-b)*d,計算出所述第一容量c1=(95%- 90%)*1gb=51.2mb。

可選的,所述按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁,包括:

按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁,并將釋放出的所述第一容量的數(shù)據(jù)頁添加到空閑緩沖區(qū)中,所述空閑緩沖區(qū)中的數(shù)據(jù)頁用于供所述多租戶中需要添加數(shù)據(jù)頁的租戶使用。

具體的,當(dāng)計算出所述第一容量后,按照計算得到的所述第一容量釋放所述目標(biāo)緩沖區(qū)的數(shù)據(jù)頁,并將釋放出的數(shù)據(jù)頁添加到所述服務(wù)器的空閑緩沖區(qū)中。所述空閑緩沖區(qū)中的數(shù)據(jù)頁可供需要添加數(shù)據(jù)頁的租戶或者所述服務(wù)器的其他業(yè)務(wù)使用,從而提高多租戶的整體性能和緩沖區(qū)的利用率,其中,所述需要添加數(shù)據(jù)頁的租戶包括但不限于:所述目標(biāo)租戶、所述多租戶中的其他租戶和所述服務(wù)器新增加的租戶。

例如,若所述第一容量為10.2mb,如果每個數(shù)據(jù)頁的容量為8kb,則所述目標(biāo)緩沖區(qū)需要釋放10.2mb/8kb≈1306個數(shù)據(jù)頁,將從所述目標(biāo)緩沖區(qū)中釋放的1306個數(shù)據(jù)頁添加到空閑緩沖區(qū)中。

可選的,如果所述目標(biāo)租戶初始時只對期望緩沖區(qū)命中率進(jìn)行了設(shè)置,則當(dāng)判斷出所述未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率時,可以將從所述目標(biāo)緩沖區(qū)中釋放出的第一容量的數(shù)據(jù)頁添加到空閑緩沖區(qū)中;或者,如果所述目標(biāo)租戶初始時對期望緩沖區(qū)命中率和最大緩沖區(qū)命中率分別進(jìn)行了設(shè)置,則當(dāng)判斷出所述未來緩沖區(qū)命中率大于所述最大緩沖區(qū)命中率時,可以將從所述目標(biāo)緩沖區(qū)中釋放出的第一容量的數(shù)據(jù)頁添加到空閑緩沖區(qū)中,從而將所述目標(biāo)租戶富余的數(shù)據(jù)頁釋放出來,避免資源浪費(fèi)。

可選的,所述根據(jù)所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率的差值,按照第一預(yù)設(shè)算法計算出第一容量,包括:

判斷所述未來緩沖區(qū)命中率是否大于所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)命中率,所述最大緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率;

若否,則將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第一預(yù)設(shè)算法計算出第一容量。

具體的,如果所述目標(biāo)租戶在初始設(shè)置時分別對期望緩沖區(qū)命中率和最大 緩沖區(qū)命中率進(jìn)行了設(shè)置,若判斷出所述目標(biāo)租戶的未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率,則需要進(jìn)一步判斷所述未來緩沖區(qū)命中率是否大于所述最大緩沖區(qū)命中率,若否,則可以表明在未來的一段時間內(nèi)服務(wù)器不能滿足所述目標(biāo)租戶的最大緩沖區(qū)命中率需求,但是可以滿足所述目標(biāo)租戶的期望緩沖區(qū)命中率需求,在這種情況下,可以利用所述目標(biāo)租戶的未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶富余的數(shù)據(jù)頁的容量為第一容量,將所述目標(biāo)租戶富余的數(shù)據(jù)頁進(jìn)行釋放,避免資源浪費(fèi)。

例如,所述未來緩沖區(qū)命中率為95%,所述期望緩沖區(qū)命中率為90%,所述最大緩沖區(qū)命中率為96%,所述目標(biāo)租戶預(yù)設(shè)的期望緩沖區(qū)容量為1.5gb,則根據(jù)所述第一預(yù)設(shè)算法c1=(a-b)*d,計算出所述第一容量c1=(95%-90%)*1.5gb=76.8mb。

可選的,所述按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁,包括:

按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁,所述釋放出的數(shù)據(jù)頁用于供所述多租戶中其他需要添加數(shù)據(jù)頁的租戶使用,所述第一容量小于或等于所述其他需要添加數(shù)據(jù)頁的租戶待添加的數(shù)據(jù)頁容量。

具體的,當(dāng)計算出所述第一容量后,按照計算得到的所述第一容量釋放所述目標(biāo)緩沖區(qū)的數(shù)據(jù)頁,并將釋放出的數(shù)據(jù)頁添加到其他需要添加數(shù)據(jù)頁的租戶對應(yīng)的緩沖區(qū)中,以供給其他租戶使用。從而在保障所述目標(biāo)租戶的訪問性能的前提下,提供部分?jǐn)?shù)據(jù)頁給其他需要數(shù)據(jù)頁的租戶使用,提高緩沖區(qū)的利用率。

需要說明的是,當(dāng)判斷出其他租戶需要添加數(shù)據(jù)頁并且所述空閑緩沖區(qū)中剩余的數(shù)據(jù)頁不足時,計算所述第一容量,并按照所述第一容量釋放所述目標(biāo)緩沖區(qū)中的數(shù)據(jù)頁,將從所述目標(biāo)緩沖區(qū)中釋放出的數(shù)據(jù)頁添加到所述其他租戶的緩沖區(qū)中,從而可以按照其他租戶的需求來釋放所述目標(biāo)緩沖區(qū)中的數(shù)據(jù)頁,在不同租戶之間動態(tài)調(diào)配數(shù)據(jù)頁,有利于提高緩沖區(qū)的利用率。

例如,所述未來緩沖區(qū)命中率為95%,所述期望緩沖區(qū)命中率為90%,所述最大緩沖區(qū)命中率為96%,所述目標(biāo)租戶預(yù)設(shè)的期望緩沖區(qū)容量為1.5gb,所述多租戶中有兩個租戶需要添加數(shù)據(jù)頁:第一租戶需要添加10mb的數(shù)據(jù)頁,第二租戶需要添加20mb的數(shù)據(jù)頁,且此時所述空閑緩沖區(qū)中沒有剩余的數(shù)據(jù) 頁,則根據(jù)所述第一預(yù)設(shè)算法c1=min((a-b)*d,e),計算出所述目標(biāo)租戶可提供出的數(shù)據(jù)頁容量為(a-b)*d=(95%-90%)*1.5gb=76.8mb,d=10mb+20mb=30mb,則計算出所述第一容量c1=(76.8mb,30mb)=30mb。則從所述目標(biāo)緩沖區(qū)中釋放30mb的數(shù)據(jù)頁,并將其中的10mb數(shù)據(jù)頁添加到第一租戶對應(yīng)的緩沖區(qū)中,將另外20mb的數(shù)據(jù)頁添加到第二租戶對應(yīng)的緩沖區(qū)中。

需要說明的是,本發(fā)明實施例中所描述的釋放所述目標(biāo)緩沖區(qū)的數(shù)據(jù)頁這一步驟具體為:先將待釋放的數(shù)據(jù)頁中的數(shù)據(jù)進(jìn)行清除,再將其添加到所述空閑緩沖區(qū)中(或者添加到其他需要添加數(shù)據(jù)頁的租戶對應(yīng)的緩沖區(qū)中,或者添加到服務(wù)器內(nèi)存中的其他區(qū)域),并且在清除某一數(shù)據(jù)頁中的數(shù)據(jù)之前,可先判斷該數(shù)據(jù)頁中的數(shù)據(jù)是否已進(jìn)行更新(即修改)或該數(shù)據(jù)頁中是否增加了新的數(shù)據(jù),若是,則需要先將該數(shù)據(jù)頁中的數(shù)據(jù)寫到磁盤等硬件存儲節(jié)點(diǎn)中,以實現(xiàn)對硬件存儲節(jié)點(diǎn)中的數(shù)據(jù)進(jìn)行更新,然后再將該數(shù)據(jù)頁中的數(shù)據(jù)清除,避免其他租戶后續(xù)使用該數(shù)據(jù)頁時訪問到所述目標(biāo)租戶的數(shù)據(jù),從而提高多租戶的數(shù)據(jù)安全性。

s204:若所述未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率,則根據(jù)所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值,按照第二預(yù)設(shè)算法計算出第二容量,并按照所述第二容量為所述目標(biāo)緩沖區(qū)添加數(shù)據(jù)頁;其中所述第二預(yù)設(shè)緩沖區(qū)命中率大于所述未來緩沖區(qū)命中率。

具體的,若所述目標(biāo)租戶的未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率,則利用所述期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶目前所需的數(shù)據(jù)頁的容量,從而為所述目標(biāo)租戶添加數(shù)據(jù)頁,保障所述目標(biāo)租戶的訪問性能需求。

可以理解的是,目標(biāo)緩沖區(qū)中數(shù)據(jù)頁的總?cè)萘繒υL問性能產(chǎn)生至關(guān)重要的影響,目標(biāo)緩沖區(qū)中數(shù)據(jù)頁的總?cè)萘吭酱?,可緩存的?shù)據(jù)越多,目標(biāo)租戶通過服務(wù)器訪問數(shù)據(jù)時,所述服務(wù)器從緩沖區(qū)中查詢到數(shù)據(jù)的幾率越大,響應(yīng)速度越快,訪問性能也就越好。

具體的,所述第二預(yù)設(shè)算法為:c2=min((f-a)*d,g),其中,c2為所述第二容量,f為所述第二預(yù)設(shè)緩沖區(qū)命中率,a為所述未來緩沖區(qū)命中率,d為所述預(yù)設(shè)的緩沖區(qū)容量,(f-a)*d為所述目標(biāo)租戶待添加的數(shù)據(jù)頁容量, g為所述多租戶中其他租戶待釋放的數(shù)據(jù)頁容量和空閑緩沖區(qū)中的數(shù)據(jù)頁容量之和。若所述目標(biāo)租戶待添加的數(shù)據(jù)頁容量大于或等于所述多租戶中其他租戶待釋放的數(shù)據(jù)頁容量和空閑緩沖區(qū)中的數(shù)據(jù)頁容量之和,則所述第二容量等于所述多租戶中其他租戶待釋放的數(shù)據(jù)頁容量和空閑緩沖區(qū)中的數(shù)據(jù)頁容量之和;若所述目標(biāo)租戶待添加的數(shù)據(jù)頁容量小于所述多租戶中其他租戶待釋放的數(shù)據(jù)頁容量和空閑緩沖區(qū)中的數(shù)據(jù)頁容量之和,則所述第二容量等于所述目標(biāo)租戶待添加的數(shù)據(jù)頁容量。

其中,所述預(yù)設(shè)的緩沖區(qū)容量包括:所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)容量、所述目標(biāo)租戶預(yù)設(shè)的期望緩沖區(qū)容量、所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)容量和所述目標(biāo)緩沖區(qū)當(dāng)前的容量中的至少一種。所述目標(biāo)租戶在服務(wù)器上申請注冊時,可以分別對所述最小緩沖區(qū)容量、所述期望緩沖區(qū)容量和所述最大緩沖區(qū)容量進(jìn)行設(shè)置。

可選的,所述根據(jù)所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值,按照第二預(yù)設(shè)算法計算出第二容量,包括:

將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第二預(yù)設(shè)算法計算出第二容量。

具體的,如果所述目標(biāo)租戶在初始設(shè)置時只對期望緩沖區(qū)命中率進(jìn)行了設(shè)置,若判斷出所述目標(biāo)租戶的未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率,則可以表明在未來的一段時間內(nèi)服務(wù)器不能滿足所述目標(biāo)租戶的期望緩沖區(qū)命中率需求,為保障所述目標(biāo)租戶的期望緩沖區(qū)命中率需求,可以利用所述目標(biāo)租戶的期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶需要添加的數(shù)據(jù)頁的容量為第二容量,從而為所述目標(biāo)租戶添加第二容量的數(shù)據(jù)頁,保障所述目標(biāo)租戶的訪問性能需求。

例如,所述未來緩沖區(qū)命中率為85%,所述期望緩沖區(qū)命中率為90%,所述目標(biāo)緩沖區(qū)當(dāng)前的容量為2gb,所述多租戶中其他租戶待釋放的數(shù)據(jù)頁總?cè)萘亢退隹臻e緩沖區(qū)中的數(shù)據(jù)頁容量之和為20mb+1gb=1044mb,則根據(jù)所述第二預(yù)設(shè)算法c2=mnn((f-a)*d,g),計算出所述目標(biāo)租戶待添加的數(shù)據(jù)頁容量為:(f-a)*d=(90%-85%)*2gb=102mb,則計算出所述第二容量c2=min(102mb,1044mb)=102mb,則為所述目標(biāo)緩沖區(qū)添加102mb的數(shù) 據(jù)頁,由于所述空閑緩沖區(qū)中的數(shù)據(jù)頁足夠提供給所述目標(biāo)租戶,則將所述空閑緩沖區(qū)中102mb的數(shù)據(jù)頁添加到所述目標(biāo)緩沖區(qū)中。

可選的,所述根據(jù)所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值,按照第二預(yù)設(shè)算法計算出第二容量,包括:

判斷所述未來緩沖區(qū)命中率是否小于所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)命中率,所述最小緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率;

若是,則將所述最小緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述最小緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第二預(yù)設(shè)算法計算出第二容量。

具體的,所述最小緩沖區(qū)命中率為所述目標(biāo)租戶對緩沖區(qū)命中率的最小需求值,所述目標(biāo)租戶在所述服務(wù)器上申請注冊時,可以對所述最小緩沖區(qū)命中率進(jìn)行設(shè)置,如果所述目標(biāo)租戶在初始設(shè)置時對期望緩沖區(qū)命中率和最小緩沖區(qū)命中率均進(jìn)行了設(shè)置,若判斷出所述目標(biāo)租戶的未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率,則需要進(jìn)一步判斷所述未來緩沖區(qū)命中率是否小于所述最小緩沖區(qū)命中率,若是,則可以表明在未來的一段時間內(nèi)服務(wù)器不能滿足所述目標(biāo)租戶的最小緩沖區(qū)命中率需求,為保障所述目標(biāo)租戶的最小緩沖區(qū)命中率需求,可以利用所述目標(biāo)租戶的最小緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶至少需要添加第二容量的數(shù)據(jù)頁,從而為所述目標(biāo)租戶添加數(shù)據(jù)頁,保障所述目標(biāo)租戶的訪問性能需求。

例如,所述未來緩沖區(qū)命中率為80%,所述期望緩沖區(qū)命中率為90%,所述最小緩沖區(qū)命中率為85%,所述預(yù)設(shè)的最小緩沖區(qū)容量為1gb,所述多租戶中其他租戶待釋放的數(shù)據(jù)頁總?cè)萘亢退隹臻e緩沖區(qū)中的數(shù)據(jù)頁容量之和為50mb+20mb=70mb,則根據(jù)所述第二預(yù)設(shè)算法c2=min((f-a)*d,g),計算出所述目標(biāo)租戶待添加的數(shù)據(jù)頁容量為(85%-80%)*1gb=51.2mb,則計算出所述第二容量c2=min(51.2mb,70mb)=51.2mb。則可以優(yōu)先將所述空閑緩沖區(qū)中剩余的20mb數(shù)據(jù)頁添加到所述目標(biāo)緩沖區(qū)中,并從其他可釋放數(shù)據(jù)頁的租戶對應(yīng)的緩沖區(qū)中釋放31.2mb的數(shù)據(jù)頁,并將釋放出的31.2mb的數(shù)據(jù)頁添加到所述目標(biāo)緩沖區(qū)中。

可選的,所述根據(jù)所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值,按照第二預(yù)設(shè)算法計算出第二容量,包括:

判斷所述未來緩沖區(qū)命中率是否小于所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)命中率,所述最小緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率;

若否,則將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第二預(yù)設(shè)算法計算出第二容量。

具體的,如果所述目標(biāo)租戶在初始設(shè)置時對期望緩沖區(qū)命中率和最小緩沖區(qū)命中率均進(jìn)行了設(shè)置,若判斷出所述目標(biāo)租戶的未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率,則需要進(jìn)一步判斷所述未來緩沖區(qū)命中率是否小于所述最小緩沖區(qū)命中率,若否,則可以表明在未來的一段時間內(nèi)服務(wù)器可以滿足所述目標(biāo)租戶的最小緩沖區(qū)命中率,但是不能滿足所述目標(biāo)租戶的期望緩沖區(qū)命中率需求,為保障所述目標(biāo)租戶的期望緩沖區(qū)命中率需求,可以利用所述目標(biāo)租戶的期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶至少需要添加第二容量的數(shù)據(jù)頁,從而為所述目標(biāo)租戶添加數(shù)據(jù)頁,保障所述目標(biāo)租戶的訪問性能需求。

例如,所述未來緩沖區(qū)命中率為85%,所述期望緩沖區(qū)命中率為90%,所述最小緩沖區(qū)命中率為80%,所述目標(biāo)租戶預(yù)設(shè)的期望緩沖區(qū)容量為1.5gb,所述多租戶中其他租戶待釋放的數(shù)據(jù)頁總?cè)萘亢退隹臻e緩沖區(qū)中的數(shù)據(jù)頁容量之和為50mb+0mb=50mb,則根據(jù)所述第二預(yù)設(shè)算法c2=min((f-a)*d,g)計算出所述目標(biāo)租戶待添加的數(shù)據(jù)頁容量為(f-a)*d=(90%-85%)*1.5gb=76.8mb,則計算出第二容量c2=min(76.8mb,50mb)=50mb。由于所述空閑緩沖區(qū)中沒有剩余的數(shù)據(jù)頁,則從其他可釋放數(shù)據(jù)頁的租戶對應(yīng)的緩沖區(qū)中釋放50mb的數(shù)據(jù)頁,并將釋放出的50mb的數(shù)據(jù)頁添加到所述目標(biāo)緩沖區(qū)中。

可選的,若所述目標(biāo)租戶的未來緩沖區(qū)命中率小于所述最小緩沖區(qū)命中率,則所述目標(biāo)租戶屬于第一優(yōu)先級租戶,若所述目標(biāo)租戶的未來緩沖區(qū)命中率大于所述最小緩沖區(qū)命中率且小于所述期望緩沖區(qū)命中率,則所述目標(biāo)租戶屬于第二優(yōu)先級租戶,所述第一優(yōu)先級租戶相較于所述第二優(yōu)先級租戶來說具有優(yōu)先添加緩沖區(qū)中數(shù)據(jù)頁的權(quán)限。在空閑緩沖區(qū)中數(shù)據(jù)頁不足時,可以優(yōu)先為高需求的租戶提供數(shù)據(jù)頁,盡可能的保障多租戶的整體性能。例如,租戶t1對應(yīng)的未來緩沖區(qū)命中率小于租戶t1對應(yīng)的最小緩沖區(qū)命中率,租戶t2對應(yīng)的未 來緩沖區(qū)命中率大于租戶t2對應(yīng)的最小緩沖區(qū)命中率且小于租戶t2對應(yīng)的期望緩沖區(qū)命中率,則所述服務(wù)器優(yōu)先為租戶t1添加緩沖區(qū)中的數(shù)據(jù)頁,再為租戶t2添加緩沖區(qū)中的數(shù)據(jù)頁,優(yōu)先保障高優(yōu)先級租戶的緩沖區(qū)需求。

可見,在圖2所描述的方法中,根據(jù)預(yù)測得到的多租戶中的目標(biāo)租戶的未來緩沖區(qū)命中率以及所述目標(biāo)租戶預(yù)設(shè)的緩沖區(qū)命中率,來動態(tài)調(diào)整多租戶中的目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)的容量,既可以避免因緩沖區(qū)不足而影響租戶的訪問性能,又可以避免因緩沖區(qū)過大而造成資源浪費(fèi)。

為了便于更好地實施本發(fā)明實施例的上述面向多租戶的緩沖區(qū)管理方法,本發(fā)明還提供了用于實現(xiàn)實施上述方法的服務(wù)器。

請參見圖3,是本發(fā)明實施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖。如圖3所示的服務(wù)器30可以通用計算機(jī)設(shè)備的形式表現(xiàn)。服務(wù)器30的組件可以包括但不限于:一個或者多個處理器或者處理單元301、存儲器302、連接不同系統(tǒng)組件(包括處理器301和存儲器302)的總線303。其中,

總線303表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲器總線或者存儲器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉例來說,這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(industrystandardarchitecture,isa)總線,微通道體系結(jié)構(gòu)(microchannelarchitecture,mac)總線,增強(qiáng)型isa總線、視頻電子標(biāo)準(zhǔn)協(xié)會(videoelectronicsstandardsassociation,vesa)局域總線以及外圍組件互連(peripheralcomponentinterconnect,pci)總線。

服務(wù)器30典型地包括多種計算機(jī)系統(tǒng)可讀介質(zhì),這些介質(zhì)可以是任何能夠被服務(wù)器30訪問的可用介質(zhì),包括易失性和非易失性介質(zhì),可移動的和不可移動的介質(zhì)。

存儲器302可以包括易失性存儲器形式的計算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存取存儲器(randomaccessmemory,ram)3021和/或高速緩存存儲器3022。服務(wù)器30可以進(jìn)一步包括其它可移動/不可移動的、易失性/非易失性計算機(jī)系統(tǒng)存儲介質(zhì)。僅作為舉例,存儲系統(tǒng)3023可以用于讀寫不可移動的、非易失性磁介質(zhì)(圖3未顯示,通常稱為“硬盤驅(qū)動器”)。盡管圖3中未示出,可以提供用于對可移動非易失性磁盤(例如“軟盤”)讀寫的磁盤驅(qū)動器,以及對可移動非 易失性光盤(例如cd-rom,dvd-rom或者其它光介質(zhì))讀寫的光盤驅(qū)動器。在這些情況下,每個驅(qū)動器可以通過一個或者多個數(shù)據(jù)介質(zhì)接口與總線303相連。存儲器302用于存儲數(shù)據(jù),具體包括應(yīng)用程序數(shù)據(jù)、處理器執(zhí)行的結(jié)果數(shù)據(jù)或處理器執(zhí)行需要的數(shù)據(jù),存儲器302可以包括至少一個程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個)程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實施例所描述的面向多租戶的緩沖區(qū)管理方法。

服務(wù)器30還可以具有一組(至少一個)程序模塊3025的程序/實用工具3024,可以存儲在例如存儲器302中,這樣的程序模塊3025包括但不限于:操作系統(tǒng)、一個或者多個應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實現(xiàn)。程序模塊3025通常執(zhí)行本發(fā)明所描述的面向多租戶的緩沖區(qū)管理方法。

服務(wù)器30也可以與一個或多個外部設(shè)備32(例如鍵盤、鼠標(biāo)、語音輸入設(shè)備、觸摸輸入設(shè)備等輸入設(shè)備,以及顯示器31、揚(yáng)聲器、打印機(jī)等輸出設(shè)備等)連接。服務(wù)器30還可包含可允許通過例如局域網(wǎng)(lan),廣域網(wǎng)(wan)和/或公共網(wǎng)絡(luò)(例如因特網(wǎng)等)分布式計算環(huán)境中的無線網(wǎng)絡(luò)來與其他計算機(jī)設(shè)備34進(jìn)行通信的通信接口304。其他計算機(jī)設(shè)備34可以包括執(zhí)行與數(shù)據(jù)訪問和目錄服務(wù)相關(guān)聯(lián)的應(yīng)用程序的服務(wù)器、客戶機(jī)(包括但不限于臺式計算機(jī)、筆記本電腦、平板電腦、手機(jī)等移動終端設(shè)備)等,該客戶機(jī)具體可以為各個租戶各自對應(yīng)的客戶機(jī),多個租戶可以使用客戶機(jī)通過例如局域網(wǎng)、因特網(wǎng)等網(wǎng)絡(luò)訪問服務(wù)器30,從而獲取所需的租戶數(shù)據(jù)。通信接口304是通信介質(zhì)的一個示例。通信介質(zhì)通常由諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號中的計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)來體現(xiàn),并包括任何信息傳遞介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”指的是其一個或多個特征以在信號中編碼信息的方式被設(shè)定或更改的信號。作為示例而非限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接線連接,以及無線介質(zhì),諸如聲學(xué)、rf(radiofrequency,射頻)、紅外線和其它無線介質(zhì)。此處所使用的術(shù)語計算機(jī)可讀介質(zhì)包括存儲介質(zhì)和通信介質(zhì)兩者。

服務(wù)器30還可以通過系統(tǒng)總線連接至少一個硬件數(shù)據(jù)庫設(shè)備33(包括數(shù)據(jù)庫1-數(shù)據(jù)庫n),數(shù)據(jù)庫設(shè)備上可存儲有多個租戶的數(shù)據(jù),且各個租戶的數(shù)據(jù)相互隔離,確保多個租戶數(shù)據(jù)的安全性。服務(wù)器30在接收到租戶通過客戶機(jī)訪問 目標(biāo)數(shù)據(jù)的請求時,服務(wù)器30首先檢查操作系統(tǒng)的緩沖區(qū)來確定該租戶想要查詢的目標(biāo)數(shù)據(jù)是否已經(jīng)被讀取出,如果該目標(biāo)數(shù)據(jù)先前已被取出,則服務(wù)器30將從緩沖區(qū)中取出該目標(biāo)數(shù)據(jù)并且將其提供給做出訪問請求的租戶,如果該目標(biāo)數(shù)據(jù)先前還沒有被取出過,則服務(wù)器30訪問相關(guān)數(shù)據(jù)庫并取出該目標(biāo)數(shù)據(jù)提供給做出訪問請求的租戶。

本領(lǐng)域技術(shù)人員可以理解,圖3中示出的服務(wù)器30的結(jié)構(gòu)并不構(gòu)成對服務(wù)器的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置,應(yīng)當(dāng)明白,盡管圖中未示出,可以結(jié)合服務(wù)器30使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動器、冗余處理單元、外部磁盤驅(qū)動陣列、磁盤陣列(redundantarraysofindependentdisks,raid)系統(tǒng)、磁帶驅(qū)動器以及數(shù)據(jù)備份存儲系統(tǒng)等。

處理器301用于讀取存儲器304存儲的面向多租戶的緩沖區(qū)管理程序代碼,并執(zhí)行如下操作:

處理器301根據(jù)預(yù)設(shè)歷史時間段內(nèi)目標(biāo)租戶的歷史緩沖區(qū)命中率,按照預(yù)設(shè)規(guī)則預(yù)測所述目標(biāo)租戶的未來緩沖區(qū)命中率,所述目標(biāo)租戶為所述多租戶中的一個;

處理器301比較所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的期望緩沖區(qū)命中率的大??;

若所述未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率,則處理器301根據(jù)所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率的差值,按照第一預(yù)設(shè)算法計算出第一容量,并按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁;其中所述第一預(yù)設(shè)緩沖區(qū)命中率小于所述未來緩沖區(qū)命中率;

若所述未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率,則處理器301根據(jù)所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值,按照第二預(yù)設(shè)算法計算出第二容量,并按照所述第二容量為所述目標(biāo)緩沖區(qū)添加數(shù)據(jù)頁;其中所述第二預(yù)設(shè)緩沖區(qū)命中率大于所述未來緩沖區(qū)命中率。

服務(wù)器30可以根據(jù)目標(biāo)租戶未來的緩沖區(qū)命中率需求以及所述目標(biāo)租戶預(yù)設(shè)的緩沖區(qū)命中率需求的大小關(guān)系,動態(tài)調(diào)整所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)的容量。

可選的,處理器301根據(jù)所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率的差值,按照第一預(yù)設(shè)算法計算出第一容量,包括:

處理器301將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第一預(yù)設(shè)算法計算出第一容量。

服務(wù)器30可以在滿足所述目標(biāo)租戶的期望緩沖區(qū)命中率需求的情況下,利用所述目標(biāo)租戶的未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶富余的數(shù)據(jù)頁的容量,從而將所述目標(biāo)租戶富余的數(shù)據(jù)頁進(jìn)行釋放,避免資源浪費(fèi)。

可選的,處理器301根據(jù)所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值,按照第二預(yù)設(shè)算法計算出第二容量,包括:

處理器301將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第二預(yù)設(shè)算法計算出第二容量。

為保障所述目標(biāo)租戶的期望緩沖區(qū)命中率需求,服務(wù)器30利用所述目標(biāo)租戶的期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶目前所需的數(shù)據(jù)頁的容量,從而為所述目標(biāo)租戶添加數(shù)據(jù)頁,保障所述目標(biāo)租戶的訪問性能需求。

可選的,處理器301根據(jù)所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率的差值,按照第一預(yù)設(shè)算法計算出第一容量,包括:

處理器301判斷所述未來緩沖區(qū)命中率是否大于所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)命中率,所述最大緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率;

若是,則處理器301將所述最大緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述未來緩沖區(qū)命中率與所述最大預(yù)設(shè)緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第一預(yù)設(shè)算法計算出第一容量。

服務(wù)器30可以在滿足所述目標(biāo)租戶的最大緩沖區(qū)命中率需求的前提下,利用所述未來緩沖區(qū)命中率與所述最大緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)緩沖區(qū)富余的數(shù)據(jù)頁的容量,從而將所述目標(biāo)租戶富余的數(shù)據(jù)頁進(jìn)行釋放,避免資源浪費(fèi)。

可選的,處理器301按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū) 中釋放數(shù)據(jù)頁,包括:

處理器301按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁,并將釋放出的所述第一容量的數(shù)據(jù)頁添加到空閑緩沖區(qū)中,所述空閑緩沖區(qū)中的數(shù)據(jù)頁用于供所述多租戶中需要添加數(shù)據(jù)頁的租戶使用。

服務(wù)器30可以將從所述目標(biāo)租戶的緩沖區(qū)中釋放出的數(shù)據(jù)頁添加到空閑緩沖區(qū)中,既可以保障所述目標(biāo)租戶的訪問性能需求,又能夠?qū)⑺瞿繕?biāo)租戶富余的緩沖區(qū)資源釋放出來,以供給所述多租戶中其他需要增加緩沖區(qū)容量的租戶(包括所述目標(biāo)租戶、所述多租戶中的其他租戶以及所述服務(wù)器新增加的租戶)或者服務(wù)器中的其他業(yè)務(wù)使用,提高多租戶的整體性能和緩沖區(qū)的資源利用率。

可選的,處理器301根據(jù)所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率的差值,按照第一預(yù)設(shè)算法計算出第一容量,包括:

處理器301判斷所述未來緩沖區(qū)命中率是否大于所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)命中率,所述最大緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率;

若否,則處理器301將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第一預(yù)設(shè)算法計算出第一容量。

服務(wù)器30可以在滿足所述目標(biāo)租戶的期望緩沖區(qū)命中率需求的情況下,利用所述目標(biāo)租戶的未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶富余的數(shù)據(jù)頁的容量,從而將所述目標(biāo)租戶富余的數(shù)據(jù)頁進(jìn)行釋放,避免資源浪費(fèi)。

可選的,處理器301按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁,包括:

處理器301按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁,所述釋放出的數(shù)據(jù)頁用于供所述多租戶中其他需要添加數(shù)據(jù)頁的租戶使用,所述第一容量小于或等于所述其他需要添加數(shù)據(jù)頁的租戶待添加的數(shù)據(jù)頁容量。

服務(wù)器30可以在所述多租戶中其他租戶有數(shù)據(jù)頁需求時,將從所述目標(biāo)租戶的緩沖區(qū)中釋放出的數(shù)據(jù)頁分配給其他租戶使用,既可以保障所述目標(biāo)租戶的訪問性能需求,又能夠?qū)⑺瞿繕?biāo)租戶富余的緩沖區(qū)資源釋放出來,以供給 所述多租戶中其他需要添加數(shù)據(jù)頁的租戶使用,提高多租戶的整體性能和緩沖區(qū)的資源利用率。

可選的,處理器301根據(jù)所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值,按照第二預(yù)設(shè)算法計算出第二容量,包括:

處理器301判斷所述未來緩沖區(qū)命中率是否小于所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)命中率,所述最小緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率;

若是,則處理器301將所述最小緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述最小緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第二預(yù)設(shè)算法計算出第二容量。

服務(wù)器30為保障所述目標(biāo)租戶的最小緩沖區(qū)命中率需求,利用所述目標(biāo)租戶的最小緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值進(jìn)行計算,得出所述目標(biāo)租戶至少需要添加第二容量的數(shù)據(jù)頁,從而為所述目標(biāo)租戶添加數(shù)據(jù)頁,保障所述目標(biāo)租戶的訪問性能需求。

可選的,處理器301根據(jù)所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值,按照第二預(yù)設(shè)算法計算出第二容量,包括:

處理器301判斷所述未來緩沖區(qū)命中率是否小于所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)命中率,所述最小緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率;

若否,則處理器301將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第二預(yù)設(shè)算法計算出第二容量。

服務(wù)器30為保障所述目標(biāo)租戶的期望緩沖區(qū)命中率需求,利用所述目標(biāo)租戶的期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值進(jìn)行計算,得到所述目標(biāo)租戶目前所需的數(shù)據(jù)頁的容量,從而為所述目標(biāo)租戶添加數(shù)據(jù)頁,保障所述目標(biāo)租戶的訪問性能需求。

可選的,所述第一預(yù)設(shè)算法為:c1=(a-b)*d,其中,c1為所述第一容量,a為所述未來緩沖區(qū)命中率,b為所述第一預(yù)設(shè)緩沖區(qū)命中率,d為所述預(yù)設(shè)的緩沖區(qū)容量。

可選的,所述第一預(yù)設(shè)算法為:c1=min((a-b)*d,e),其中,c1為所述第一容量,a為所述未來緩沖區(qū)命中率,b為所述第一預(yù)設(shè)緩沖區(qū)命中率,d為所述預(yù)設(shè)的緩沖區(qū)容量,e為所述多租戶中其他租戶待添加的數(shù)據(jù)頁容量。

可選的,所述第二預(yù)設(shè)算法為:c2=min((f-a)*d,g),其中,c2為所述第二容量,f為所述第二預(yù)設(shè)緩沖區(qū)命中率,a為所述未來緩沖區(qū)命中率,d為所述預(yù)設(shè)的緩沖區(qū)容量,g為所述多租戶中其他租戶待釋放的數(shù)據(jù)頁容量和空閑緩沖區(qū)中的數(shù)據(jù)頁容量之和。

可選的,所述預(yù)設(shè)的緩沖區(qū)容量包括:所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)容量、所述目標(biāo)租戶預(yù)設(shè)的期望緩沖區(qū)容量、所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)容量和所述目標(biāo)緩沖區(qū)當(dāng)前的容量中的至少一種。

可選的,處理器301執(zhí)行根據(jù)預(yù)設(shè)歷史時間段內(nèi)目標(biāo)租戶的歷史緩沖區(qū)命中率,按照預(yù)設(shè)規(guī)則預(yù)測所述目標(biāo)租戶的未來緩沖區(qū)命中率的操作由以下至少一個事件觸發(fā):

預(yù)設(shè)周期到達(dá);預(yù)設(shè)時間點(diǎn)到達(dá);緩沖區(qū)命中率低于預(yù)設(shè)緩沖區(qū)命中率閾值的租戶的個數(shù)大于或等于預(yù)設(shè)個數(shù)閾值。在滿足觸發(fā)事件時,服務(wù)器可以及時了解所述目標(biāo)租戶的緩沖區(qū)命中率情況,進(jìn)而及時地對所述目標(biāo)緩沖區(qū)的容量進(jìn)行調(diào)整。

需要說明的是,本發(fā)明實施例所描述的服務(wù)器30中各功能模塊的功能可根據(jù)上述圖2所示方法實施例中的方法具體實現(xiàn),此處不再贅述。

請參見圖4,是本發(fā)明實施例提供的另一種服務(wù)器的結(jié)構(gòu)示意圖。如圖4所示,服務(wù)器40可包括:預(yù)測單元401、比較單元403、第一管理單元405和第二管理單元407,其中,

預(yù)測單元401,用于根據(jù)預(yù)設(shè)歷史時間段內(nèi)目標(biāo)租戶的歷史緩沖區(qū)命中率,按照預(yù)設(shè)規(guī)則預(yù)測所述目標(biāo)租戶的未來緩沖區(qū)命中率,所述目標(biāo)租戶為所述多租戶中的一個;

比較單元403,用于比較所述預(yù)測單元401預(yù)測得到的所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的期望緩沖區(qū)命中率的大?。?/p>

第一管理單元405,用于若所述比較單元403比較出所述未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率,則根據(jù)所述未來緩沖區(qū)命中率與所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率的差值,按照第一預(yù)設(shè)算法計算出第一容量,并按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁;其中所述第一預(yù)設(shè)緩沖區(qū)命中率小于所述未來緩沖區(qū)命中率;

第二管理單元407,用于若所述比較單元403比較出所述未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率,則根據(jù)所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值,按照第二預(yù)設(shè)算法計算出第二容量,并按照所述第二容量為所述目標(biāo)緩沖區(qū)添加數(shù)據(jù)頁;其中所述第二預(yù)設(shè)緩沖區(qū)命中率大于所述未來緩沖區(qū)命中率。

可選的,所述第一管理單元405具體用于:

將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第一預(yù)設(shè)算法計算出第一容量。

可選的,所述第二管理單元407具體用于:

將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第二預(yù)設(shè)算法計算出第二容量。

可選的,所述第一管理單元405具體用于:

按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁,并將釋放出的所述第一容量的數(shù)據(jù)頁添加到空閑緩沖區(qū)中,所述空閑緩沖區(qū)中的數(shù)據(jù)頁用于供所述多租戶中需要添加數(shù)據(jù)頁的租戶使用。

可選的,所述第一管理單元405具體用于:

按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁,所述釋放出的數(shù)據(jù)頁用于供所述多租戶中其他需要添加數(shù)據(jù)頁的租戶使用,所述第一容量小于或等于所述其他需要添加數(shù)據(jù)頁的租戶待添加的數(shù)據(jù)頁容量。

本發(fā)明實施例中,服務(wù)器40可以根據(jù)目標(biāo)租戶未來的緩沖區(qū)命中率需求以及所述目標(biāo)租戶預(yù)設(shè)的緩沖區(qū)命中率需求的大小關(guān)系,動態(tài)調(diào)整所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)的容量。

需要說明的是,本發(fā)明實施例所描述的服務(wù)器40中各功能單元的功能可根據(jù)上述圖2所示方法實施例中的方法具體實現(xiàn),此處不再贅述。

請參見圖5,是本發(fā)明實施例提供的另一種服務(wù)器的結(jié)構(gòu)示意圖。其中,圖5所示的服務(wù)器40是由圖4所示的服務(wù)器40進(jìn)行優(yōu)化得到的。與圖4相比,圖5所示的服務(wù)器40同樣包括預(yù)測單元401、比較單元403、第一管理單元405和第二管理單元407,且第一管理單元405具體包括:第一判斷單元4051和第一 計算單元4053,其中,

第一判斷單元4051,用于若所述比較單元403比較出所述未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率,則判斷所述未來緩沖區(qū)命中率是否大于所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)命中率,所述最大緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率;

第一計算單元4053,用于若所述第一判斷單元4051判斷出所述未來緩沖區(qū)命中率大于所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)命中率,則將所述最大緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述未來緩沖區(qū)命中率與所述最大預(yù)設(shè)緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第一預(yù)設(shè)算法計算出第一容量,并按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁。

需要說明的是,本發(fā)明實施例所描述的服務(wù)器40中各功能單元的功能可根據(jù)上述圖2所示方法實施例中的方法具體實現(xiàn),此處不再贅述。

請參見圖6,是本發(fā)明實施例提供的另一種服務(wù)器的結(jié)構(gòu)示意圖。其中,圖6所示的服務(wù)器40是由圖4所示的服務(wù)器40進(jìn)行優(yōu)化得到的。與圖4相比,圖6所示的服務(wù)器40同樣包括預(yù)測單元401、比較單元403、第一管理單元405和第二管理單元407,且第一管理單元405具體包括:第二判斷單元4055和第二計算單元4057,其中,

第二判斷單元4055,用于若所述比較單元403比較出所述未來緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率,則判斷所述未來緩沖區(qū)命中率是否大于所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)命中率,所述最大緩沖區(qū)命中率大于所述期望緩沖區(qū)命中率;

第二計算單元4057,用于若所述第二判斷單元4055判斷出所述未來緩沖區(qū)命中率小于或等于所述目標(biāo)租戶預(yù)設(shè)的最大緩沖區(qū)命中率,則將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第一預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述未來緩沖區(qū)命中率與所述期望緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第一預(yù)設(shè)算法計算出第一容量,并按照所述第一容量從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)中釋放數(shù)據(jù)頁。

需要說明的是,本發(fā)明實施例所描述的服務(wù)器40中各功能單元的功能可根據(jù)上述圖2所示方法實施例中的方法具體實現(xiàn),此處不再贅述。

請參見圖7,是本發(fā)明實施例提供的另一種服務(wù)器的結(jié)構(gòu)示意圖。其中,圖7所示的服務(wù)器40是由圖4所示的服務(wù)器40進(jìn)行優(yōu)化得到的。與圖4相比,圖7所示的服務(wù)器40同樣包括預(yù)測單元401、比較單元403、第一管理單元405和第二管理單元407,且第二管理單元407具體包括:第三判斷單元4071和第三計算單元4073,其中,

第三判斷單元4071,用于若所述比較單元403比較出所述未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率,則判斷所述未來緩沖區(qū)命中率是否小于所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)命中率,所述最小緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率;

第三計算單元4073,用于若所述第三判斷單元4071判斷出所述未來緩沖區(qū)命中率小于所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)命中率,則將所述最小緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述最小緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第二預(yù)設(shè)算法計算出第二容量,并按照所述第二容量為所述目標(biāo)緩沖區(qū)添加數(shù)據(jù)頁。

需要說明的是,本發(fā)明實施例所描述的服務(wù)器40中各功能單元的功能可根據(jù)上述圖2所示方法實施例中的方法具體實現(xiàn),此處不再贅述。

請參見圖8,是本發(fā)明實施例提供的另一種服務(wù)器的結(jié)構(gòu)示意圖。其中,圖8所示的服務(wù)器40是由圖4所示的服務(wù)器40進(jìn)行優(yōu)化得到的。與圖4相比,圖8所示的服務(wù)器40同樣包括預(yù)測單元401、比較單元403、第一管理單元405和第二管理單元407,且第二管理單元407具體包括:第四判斷單元4075和第四計算單元4077,其中,

第四判斷單元4075,用于若所述比較單元403比較出所述未來緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率,則判斷所述未來緩沖區(qū)命中率是否小于所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)命中率,所述最小緩沖區(qū)命中率小于所述期望緩沖區(qū)命中率;

第四計算單元4077,用于若所述第四判斷單元4075判斷出所述未來緩沖區(qū)命中率大于或等于所述目標(biāo)租戶預(yù)設(shè)的最小緩沖區(qū)命中率,則將所述期望緩沖區(qū)命中率作為所述目標(biāo)租戶預(yù)設(shè)的第二預(yù)設(shè)緩沖區(qū)命中率,并根據(jù)所述期望緩沖區(qū)命中率與所述未來緩沖區(qū)命中率的差值以及預(yù)設(shè)的緩沖區(qū)容量,按照第二預(yù)設(shè)算法計算出第二容量,并按照所述第二容量為所述目標(biāo)緩沖區(qū)添加數(shù)據(jù)頁。

可選的,上述第一管理單元405還可以同時包括第一判斷單元4051、第一計算單元4053、第二判斷單元4055和第二計算單元4057,各個單元的具體實現(xiàn)可以參照以上方案中相同單元的描述,此處不再贅述。

可選的,上述第二管理單元407還可以同時包括第三判斷單元4071、第三計算單元4073、第四判斷單元4075和第四計算單元4077,各個單元的具體實現(xiàn)可以參照以上方案中相同單元的描述,此處不再贅述。

需要說明的是,本發(fā)明實施例所描述的服務(wù)器40中各功能單元的功能可根據(jù)上述圖2所示方法實施例中的方法具體實現(xiàn),此處不再贅述。

綜上所述,實施本發(fā)明實施例,根據(jù)預(yù)測得到的多租戶中的目標(biāo)租戶的未來緩沖區(qū)命中率以及所述目標(biāo)租戶預(yù)設(shè)的緩沖區(qū)命中率,來動態(tài)調(diào)整多租戶中的目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)的容量,既可以避免因緩沖區(qū)不足而影響租戶的訪問性能,又可以避免因緩沖區(qū)過大而造成資源浪費(fèi)。

進(jìn)一步的,將從所述目標(biāo)租戶對應(yīng)的目標(biāo)緩沖區(qū)釋放出的數(shù)據(jù)頁供給多租戶中其他需要添加數(shù)據(jù)頁的租戶使用,可以提高多租戶的整體性能和緩沖區(qū)的資源利用率。

本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(read-onlymemory,rom)或隨機(jī)存取存儲器等。

以上所揭露的僅為本發(fā)明較佳實施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
庆元县| 石景山区| 若尔盖县| 滨州市| 银川市| 繁峙县| 吴江市| 交口县| 塔河县| 长泰县| 临安市| 于田县| 威宁| 中江县| 那坡县| 吴江市| 宜城市| 铅山县| 阿合奇县| 永德县| 芷江| 滨海县| 定结县| 枞阳县| 静乐县| 西盟| 岑溪市| 温州市| 南陵县| 嵩明县| 白山市| 深圳市| 循化| 万盛区| 清水县| 昭通市| 连云港市| 黑山县| 鄯善县| 蓬安县| 德格县|