針對(duì)復(fù)制寫(xiě)入的基于令牌的準(zhǔn)入控制的制作方法
【專(zhuān)利說(shuō)明】針對(duì)復(fù)制寫(xiě)入的基于令牌的準(zhǔn)入控制
[0001]背景
[0002]若干領(lǐng)先的技術(shù)組織正在投資于出售“軟件即服務(wù)”的構(gòu)建技術(shù)。這樣的服務(wù)將對(duì)共享存儲(chǔ)器(例如,數(shù)據(jù)庫(kù)系統(tǒng))和/或計(jì)算資源的訪問(wèn)提供給客戶端或訂閱者。在多層電子商務(wù)系統(tǒng)內(nèi),不同類(lèi)型的資源的組合可以分配給訂閱者和/或其應(yīng)用,諸如整個(gè)物理或虛擬機(jī)、CPU、存儲(chǔ)器、網(wǎng)絡(luò)帶寬或I/O容量。
[0003]將服務(wù)提供給客戶端的每個(gè)系統(tǒng)需要保護(hù)自身免受可能使系統(tǒng)過(guò)載的服務(wù)請(qǐng)求的破壞性負(fù)載之?dāng)_。一般來(lái)說(shuō),對(duì)于網(wǎng)絡(luò)服務(wù)或遠(yuǎn)程過(guò)程調(diào)用(RPC)服務(wù),如果系統(tǒng)不能為其接收的客戶端請(qǐng)求的一些部分提供所期望質(zhì)量的服務(wù),那么其被認(rèn)為在“過(guò)載”狀態(tài)中。由過(guò)載系統(tǒng)應(yīng)用的常見(jiàn)解決方案包括拒絕對(duì)客戶端的服務(wù)或扼制一定數(shù)量的傳入請(qǐng)求直至系統(tǒng)擺脫過(guò)載狀態(tài)。
[0004]一些當(dāng)前系統(tǒng)通過(guò)將請(qǐng)求速率與固定或變化的全局閾值相比較且一旦已超過(guò)這個(gè)閾值,那么選擇性拒絕對(duì)客戶端的服務(wù)來(lái)避免過(guò)載情境。但是,這個(gè)方法未考慮響應(yīng)于接受不同類(lèi)型和/或?qū)嵗姆?wù)來(lái)提供服務(wù)而執(zhí)行的工作量上的差異。此外,難以(如果并非不可能)在以變化、不可預(yù)測(cè)速率接收不同類(lèi)型請(qǐng)求和滿足請(qǐng)求所需的工作量還變化和不可預(yù)測(cè)的系統(tǒng)中定義有意義(更不用說(shuō)提供可接受的性能)的單個(gè)全局閾值。在其中客戶端請(qǐng)求流包括可能導(dǎo)致數(shù)據(jù)修改的一些操作,而其它操作是只讀的情境中,可能因規(guī)定任何給定數(shù)據(jù)修改保持于多個(gè)不同存儲(chǔ)裝置處的持久性要求使工作負(fù)載管理的問(wèn)題進(jìn)一步變復(fù)雜。
【附圖說(shuō)明】
[0005]圖1圖示根據(jù)至少一個(gè)實(shí)施方案的實(shí)例系統(tǒng)環(huán)境。
[0006]圖2提供根據(jù)至少一些實(shí)施方案的基于令牌的準(zhǔn)入控制機(jī)制的高階概述。
[0007]圖3圖示根據(jù)至少一些實(shí)施方案的用于準(zhǔn)入控制的令牌桶的實(shí)例配置性質(zhì)。
[0008]圖4圖示根據(jù)至少一些實(shí)施方案的對(duì)象分區(qū)和關(guān)聯(lián)的基于規(guī)定數(shù)量的數(shù)據(jù)修改策略的實(shí)例。
[0009]圖5圖示根據(jù)至少一些實(shí)施方案的可以維持于數(shù)據(jù)對(duì)象分區(qū)的主副本處的令牌桶的類(lèi)型的實(shí)例。
[0010]圖6圖示根據(jù)至少一些實(shí)施方案的可以維持于數(shù)據(jù)對(duì)象分區(qū)的從副本處的令牌桶的類(lèi)型的實(shí)例。
[0011]圖7圖示根據(jù)至少一些實(shí)施方案的可以維持于數(shù)據(jù)對(duì)象分區(qū)的主副本處的令牌桶的類(lèi)型的另一實(shí)例。
[0012]圖8a和圖8b圖示根據(jù)至少一些實(shí)施方案的用于在主副本處獲得從副本吞吐量容量信息的各自交互集。
[0013]圖9是根據(jù)至少一些實(shí)施方案的圖示可以被執(zhí)行來(lái)在網(wǎng)絡(luò)可訪問(wèn)服務(wù)下對(duì)寫(xiě)入實(shí)施基于令牌的準(zhǔn)入控制機(jī)制的操作的方面的流程圖。
[0014]圖10是根據(jù)至少一些實(shí)施方案的圖示可以被執(zhí)行來(lái)在突發(fā)操作模式期間對(duì)寫(xiě)入實(shí)施基于令牌的準(zhǔn)入控制機(jī)制的操作的方面的流程圖。
[0015]圖1la和圖1lb是根據(jù)至少一些實(shí)施方案的圖示可以被執(zhí)行來(lái)在主副本處獲得從副本共享存儲(chǔ)器桶填充數(shù)的操作的方面的流程圖。
[0016]圖12是圖示可以在至少一些實(shí)施方案中使用的實(shí)例計(jì)算裝置的方塊圖。
[0017]雖然對(duì)于若干實(shí)施方案和說(shuō)明性圖,本文通過(guò)實(shí)例描述實(shí)施方案,但所屬領(lǐng)域技術(shù)人員將認(rèn)識(shí)到實(shí)施方案并不限于所描述的實(shí)施方案或圖。應(yīng)理解,本文的圖和詳細(xì)描述并非旨在將實(shí)施方案限于公開(kāi)的特定形式,而是相反,旨在涵蓋在由隨附權(quán)利要求書(shū)定義的精神和范圍內(nèi)的所有修改、等效例和替代例。本文中使用的標(biāo)題只為了組織目的且并非意味著用于限制描述或權(quán)利要求書(shū)的范圍。如在整個(gè)本申請(qǐng)案中使用,單詞“可以”在許可意義(即,意味著具有……的可能)上,而非強(qiáng)制意義(即,意味著必須)上使用。類(lèi)似地,單詞“包括”(“include”)、“包括”(“including”)和“包括”(“includes”)意味著包括,但并不限于。
【具體實(shí)施方式】
[0018]描述用于針對(duì)復(fù)制寫(xiě)入實(shí)施基于令牌的準(zhǔn)入控制的方法和設(shè)備的多種實(shí)施方案??梢?例如)在其中網(wǎng)絡(luò)可訪問(wèn)服務(wù)(諸如多租戶存儲(chǔ)或數(shù)據(jù)庫(kù)服務(wù))支持涉及存儲(chǔ)給定數(shù)據(jù)集的多個(gè)拷貝或副本的數(shù)據(jù)持久性模型且不同拷貝可以存儲(chǔ)于I/O相關(guān)的工作負(fù)載可彼此不同的裝置處的各種環(huán)境中采用這樣的協(xié)議??稍诒疚闹惺褂眯g(shù)語(yǔ)“準(zhǔn)入控制”以表示被執(zhí)行來(lái)確定接收的工作請(qǐng)求(諸如針對(duì)存儲(chǔ)服務(wù)的寫(xiě)入請(qǐng)求)是否被接受來(lái)實(shí)施的操作且涉及執(zhí)行準(zhǔn)入控制的軟件和/或硬件實(shí)體集可以統(tǒng)稱(chēng)為“準(zhǔn)入控制器”。一般來(lái)說(shuō),在多種實(shí)施方案中使用的基于令牌的準(zhǔn)入控制機(jī)制中,可對(duì)給定資源或副本維持至少一個(gè)令牌桶或容器且在作出接受或拒絕給定傳入工作請(qǐng)求的決定時(shí)(若干)那些桶的至少一個(gè)中的一些數(shù)量的工作令牌的可用性可以用作給定資源或副本可處理請(qǐng)求的工作的指示符。但是,因?yàn)樾枰獜?fù)制寫(xiě)入,因而至少在諸如下文描述的突發(fā)模式操作的一些情形下,對(duì)于準(zhǔn)許寫(xiě)入操作請(qǐng)求需要特殊考慮;因此,關(guān)于單個(gè)副本處的可用吞吐量容量的信息可能不足以對(duì)寫(xiě)入作出良好的準(zhǔn)入控制決定。根據(jù)一些實(shí)施方案,下文描述的保守型準(zhǔn)入控制協(xié)議可以消除或至少明顯減少數(shù)據(jù)丟失或不一致性的概率,如果數(shù)據(jù)寫(xiě)入操作(例如,創(chuàng)建、更新或刪除操作)被接受來(lái)由服務(wù)執(zhí)行且接著由于一些副本處過(guò)載或缺少足夠的吞吐量容量致使不能在所期望數(shù)量的副本處復(fù)制接受的寫(xiě)入,那么會(huì)以別的方式發(fā)生上述數(shù)據(jù)丟失或不一致性。在本文中使用術(shù)語(yǔ)“吞吐量容量”以表示資源(例如,分區(qū)的副本)以給定速率完成工作操作(例如,讀取或?qū)懭氩僮?的能力。吞吐量容量可以(例如)表達(dá)成單位,諸如每秒邏輯或物理I/O操作??稍诒疚闹惺褂眯g(shù)語(yǔ)“可用吞吐量容量”以表示鑒于資源的當(dāng)前工作負(fù)載,其可以提供多少額外吞吐量的估計(jì)或測(cè)量。例如,給定存儲(chǔ)裝置可以被配置來(lái)執(zhí)行多達(dá)每秒100個(gè)I/O操作且在給定秒期間支持每秒60個(gè)I/O操作的工作負(fù)載;在這個(gè)實(shí)例中,其可用吞吐量容量可以是每秒(100-60)或40個(gè)I/O操作。應(yīng)注意,給定資源的可用吞吐量容量在不同實(shí)施方案中可以取決于各種不同因素的任何組合,諸如底層硬件或軟件的能力和/或被實(shí)施來(lái)控制或限制資源處的吞吐量的策略(基于負(fù)載平衡考慮、公平考慮、業(yè)務(wù)/定價(jià)考慮或除了僅僅硬件/軟件的本機(jī)能力之外的因素的一些組合)。資源的可用吞吐量容量在一些實(shí)施方案中可以用作資源處的當(dāng)前工作負(fù)載的間接表示一例如,隨著工作負(fù)載上升,可用吞吐量容量一般下降且隨著工作負(fù)載下降,可用吞吐量容量一般上升(至少多達(dá)策略定義的限制)。
[0019]如下文所描述,根據(jù)準(zhǔn)入控制協(xié)議,在一些實(shí)施方案中,維持于給定數(shù)據(jù)對(duì)象的多種副本處的工作令牌可以用作存儲(chǔ)副本的存儲(chǔ)裝置(例如,固態(tài)存儲(chǔ)裝置或基于磁盤(pán)的存儲(chǔ)裝置)處的當(dāng)前可用I/O吞吐量容量的指示且還可以在其它數(shù)據(jù)對(duì)象的副本之間共享??稍诒疚闹型x地使用術(shù)語(yǔ)“工作令牌”和“令牌”。在一些這樣的實(shí)施方案中,關(guān)于這樣的令牌的數(shù)據(jù)可以在不同副本之間有效地傳輸(且經(jīng)常至少在一些情況下)以嘗試確保在關(guān)于接受或拒絕新寫(xiě)入操作作出決定時(shí)使用的信息盡可行地最近和準(zhǔn)確,同時(shí)避免過(guò)量通信相關(guān)的開(kāi)銷(xiāo)?;诹钆频臏?zhǔn)入控制還可以用于確保支持特定存儲(chǔ)對(duì)象的I/O速率(至少平均)多達(dá)與存儲(chǔ)對(duì)象的擁有者一致同意的供應(yīng)吞吐量限制。在至少一些實(shí)施方案中,供應(yīng)吞吐量限制可以指示存儲(chǔ)服務(wù)的提供商有義務(wù)(例如,合同上有義務(wù))支持的工作負(fù)載級(jí)另IJ。在一些這樣的實(shí)施方案中,只要請(qǐng)求速率不高于供應(yīng)吞吐量限制,服務(wù)有義務(wù)接受I/O請(qǐng)求(包括寫(xiě)入)。因此,服務(wù)可通常以只要請(qǐng)求速率低于供應(yīng)吞吐量限制的方式配置正用于存儲(chǔ)數(shù)據(jù)對(duì)象的副本的裝置,由于過(guò)載通常保持得非常低,所以寫(xiě)入復(fù)制的概率下降。但是,客戶端并非總能及時(shí)均勻地或甚至接近于均勻地分布其請(qǐng)求且結(jié)果,服務(wù)必須處理其中至少在一些短時(shí)期內(nèi)請(qǐng)求到達(dá)速率超過(guò)供應(yīng)吞吐量限制的情境。當(dāng)對(duì)特定邏輯分區(qū)的請(qǐng)求速率超過(guò)供應(yīng)限制時(shí),邏輯分區(qū)可以稱(chēng)為操作的“突發(fā)模式”。在突發(fā)模式期間,盡最大努力工作負(fù)載管理方法在一些實(shí)施方案中可由服務(wù)使用,其中服務(wù)無(wú)義務(wù)支持供應(yīng)限制以上的請(qǐng)求的突發(fā),但無(wú)論如何盡量支持接收的請(qǐng)求。在至少一些實(shí)施方案中,可以在突發(fā)模式期間主要使用下文描述的針對(duì)寫(xiě)入的準(zhǔn)入控制機(jī)制,但在其它實(shí)施方案中,可甚至在傳入請(qǐng)求負(fù)載低于供應(yīng)吞吐量限制時(shí)的時(shí)期期間采用機(jī)制的方面。應(yīng)注意,在一些實(shí)施方案中,不同令牌桶集和對(duì)應(yīng)策略可用于寫(xiě)入,而非讀取,但在其它實(shí)施方案中,準(zhǔn)入控制機(jī)制的至少一些方面可以共同用于讀取和寫(xiě)入。
[0020]根據(jù)一個(gè)實(shí)施方案,本文描述的基于令牌的準(zhǔn)入控制機(jī)制一般可被設(shè)計(jì)來(lái)實(shí)現(xiàn)以下至少兩個(gè)類(lèi)型的目標(biāo):(a)對(duì)于存儲(chǔ)對(duì)象支持多達(dá)一致同意的供應(yīng)吞吐量限制的I/O操作速率和(a)盡最大努力嘗試確保針對(duì)存儲(chǔ)對(duì)象的寫(xiě)入操作在操作請(qǐng)求到達(dá)的速率超過(guò)供應(yīng)吞吐量限制時(shí)的突發(fā)模式期間可以成功地復(fù)制至所期望數(shù)量的副本。在其它實(shí)施方案中,可以主要使用準(zhǔn)入控制機(jī)制以確保寫(xiě)入復(fù)制的成功(無(wú)論在突發(fā)模式中還是在正常,非突發(fā)條件下)。術(shù)語(yǔ)“寫(xiě)入操作”或“寫(xiě)入”是指多種類(lèi)型的操作,其中修改對(duì)象(諸如數(shù)據(jù)庫(kù)表、文件或卷)的數(shù)據(jù)和/或元數(shù)據(jù),這(例如)包括創(chuàng)建(寫(xiě)入新或額外數(shù)據(jù))、更新(對(duì)已有數(shù)據(jù)的改變,其可涉及就地覆寫(xiě)或例如,在一些一次寫(xiě)入環(huán)境中,新版本數(shù)據(jù)的創(chuàng)建)、刪除、重命名和/或移動(dòng)。
[0021]由將可經(jīng)由因特網(wǎng)和/或其它網(wǎng)絡(luò)訪問(wèn)的一個(gè)或多個(gè)這樣的服務(wù)(諸如多種類(lèi)型的基于云的存儲(chǔ)、計(jì)算或數(shù)據(jù)庫(kù)服務(wù))提供至分布式客戶端集的實(shí)體(諸如公司或公共部分組織)設(shè)置的網(wǎng)絡(luò)在本文檔中可以稱(chēng)為提供商網(wǎng)絡(luò)。給定提供商網(wǎng)絡(luò)可以包括許多數(shù)據(jù)中心(其可跨越不同地理區(qū)域分布),其主控實(shí)施、配置和分布由提供商提供的基礎(chǔ)設(shè)施和服務(wù)所需的多種資源庫(kù)(諸如物理和/或虛擬化計(jì)算機(jī)服務(wù)器、各具有一個(gè)或多個(gè)存儲(chǔ)裝置的存儲(chǔ)服務(wù)器、聯(lián)網(wǎng)設(shè)備等等的集合)。在多種實(shí)施方案中可以集體地使用一些可實(shí)例化或執(zhí)行于不同數(shù)據(jù)中心或不同地理區(qū)域中的許多不同硬件和/或軟件組件以實(shí)施寫(xiě)入準(zhǔn)入控制協(xié)議。應(yīng)注意,雖然為了說(shuō)明的目的,下文很大程度在存儲(chǔ)或數(shù)據(jù)庫(kù)服務(wù)的上下文中描述用于準(zhǔn)入控制協(xié)議的技術(shù),但在其它上下文中以及在至少一些實(shí)施方案中(例如,在其中內(nèi)容可以推送至各種端點(diǎn)的分布式內(nèi)容管理應(yīng)用中或在分布式軟件開(kāi)發(fā)/部署情境中)可使用類(lèi)似方法。還應(yīng)注意,如本文中使用的術(shù)語(yǔ)“I/o請(qǐng)求”和“操作請(qǐng)求”(以及對(duì)應(yīng)術(shù)語(yǔ)“讀取請(qǐng)求”、“寫(xiě)入請(qǐng)求”、“讀取操作請(qǐng)求”和“寫(xiě)入操作請(qǐng)求”)不一定需要對(duì)應(yīng)于對(duì)單個(gè)邏輯或物理I/o操作的請(qǐng)求。相反,在不同實(shí)施方案中,如本文中使用的這些術(shù)語(yǔ)可以各表示可導(dǎo)致一些數(shù)量的邏輯和/或物理I/O操作的請(qǐng)求“工作單元”,其中邏輯和/或物理I/O操作的數(shù)量和性質(zhì)(例如)基于應(yīng)用的性質(zhì)或基于工作負(fù)載條件而變化。
[0022]根據(jù)一個(gè)實(shí)施方案,數(shù)據(jù)對(duì)象(諸如數(shù)據(jù)庫(kù)表、文件或存儲(chǔ)卷)的內(nèi)容可以通過(guò)服務(wù)在一個(gè)或多個(gè)邏輯分區(qū)之間分布。例如,數(shù)據(jù)庫(kù)服務(wù)的客戶端可以指定表將保持大約X個(gè)太字節(jié)(TB)的數(shù)據(jù)且期望支持每秒Y個(gè)I/O操作的工作負(fù)載,且數(shù)據(jù)庫(kù)服務(wù)可以決定設(shè)置具有P個(gè)邏輯分區(qū)的表,其中足夠資源最初被指定用于每個(gè)邏輯分區(qū)以存儲(chǔ)X/P個(gè)TB且各支持γ/p個(gè)I/o操作的供應(yīng)吞吐量容量限制。(可以在一些實(shí)施方案中使用跨越分區(qū)的供應(yīng)吞吐量容量的非均勻分布一例如,如果知道一些分區(qū)且期望其“更熱”或具有比其它者更高的平均請(qǐng)求速率。)在至少一些實(shí)施方案中,在邏輯分區(qū)級(jí)別下作出準(zhǔn)入控制決定。對(duì)應(yīng)于每個(gè)邏輯分區(qū),可以根據(jù)數(shù)據(jù)對(duì)象的數(shù)據(jù)持久性策略或數(shù)據(jù)復(fù)制策略設(shè)置分區(qū)數(shù)據(jù)的主副本和一個(gè)或多個(gè)從副本。持久性/復(fù)制策略可以被設(shè)計(jì)來(lái)確保數(shù)據(jù)寫(xiě)入復(fù)制至足夠數(shù)量的不同物理位置而使由于諸如設(shè)備故障、功率損耗和/或自然災(zāi)害所致的數(shù)據(jù)丟失的概率保持得低于閾值。在一些實(shí)施方案中,在主副本處作出針對(duì)寫(xiě)入請(qǐng)求的準(zhǔn)入控制決定,同時(shí)在主副本處或(尤其如果客戶端愿意接受從可能有點(diǎn)過(guò)時(shí)的版本的數(shù)據(jù)的讀取)在從副本處作出針對(duì)讀取的準(zhǔn)入控制決定。根據(jù)復(fù)制策略,當(dāng)接受來(lái)自客戶端的寫(xiě)入請(qǐng)求時(shí),(例如)在寫(xiě)入已成功的應(yīng)答提供至客戶端之前,修改的數(shù)據(jù)在一些實(shí)施方案中必須成功地復(fù)制于N個(gè)副本(主副本和N-1個(gè)從副本)處。在一個(gè)實(shí)施方案中,設(shè)置的從副本的數(shù)量可以超過(guò)復(fù)制策略所需的最小數(shù)量。復(fù)制策略可以要求在寫(xiě)入被認(rèn)為成功之前使規(guī)定數(shù)量的Q個(gè)寫(xiě)入拷貝持久,使得可能需要最小(Q-1)個(gè)從副本。但是,因?yàn)槎喾N原因(諸如讀取負(fù)載平衡、高可用性等等),在這樣的實(shí)施方案中,維持的從副本的數(shù)量可能超過(guò)Q-1個(gè)。在隨后的描述中,在本文中使用術(shù)語(yǔ)“主”和“從”以分別表示短語(yǔ)“主副本”和“從副本”。應(yīng)注意,在多種實(shí)施方案中,特定副本指定為從副本或主副本可以隨著時(shí)間推移而改變;例如,如果實(shí)例化給定邏輯分區(qū)的主副本所在的裝置出故障或不可能得到,那么早期指定為從副本的不同副本可以選擇為主副本。在一些實(shí)施方案中,例如,響應(yīng)于來(lái)自擁有數(shù)據(jù)對(duì)象的客戶端的請(qǐng)求,在數(shù)據(jù)對(duì)象的生命期內(nèi)改變從副本的數(shù)量。本文描述的用于準(zhǔn)入控制的技術(shù)可以在點(diǎn)對(duì)點(diǎn)環(huán)境中以及在副本不一定被指定為主副本或從副本的一些實(shí)施方案中應(yīng)用;在這樣的實(shí)施方案中,作出針對(duì)傳入寫(xiě)入請(qǐng)求的準(zhǔn)入控制決定所在的副本可以對(duì)應(yīng)于(就執(zhí)行的操作類(lèi)型而言)本文描述的主副本。因此,在采用其中副本在多數(shù)情況下在責(zé)任上彼此相等的點(diǎn)對(duì)點(diǎn)復(fù)制的一些實(shí)施方案中,如果在給定點(diǎn)Pl接收寫(xiě)入請(qǐng)求,那么關(guān)于至少另一個(gè)點(diǎn)P2的可用吞吐量容量的信息可以用于決定寫(xiě)入請(qǐng)求是否被接受來(lái)執(zhí)行。
[0023]在一些實(shí)施方案中,一種用于實(shí)施保守型寫(xiě)入準(zhǔn)入控制的方法可以包括存儲(chǔ)對(duì)應(yīng)于主副本的主副本桶集和從副本快照桶集。主副本桶集和從副本快照桶集可以各包括用于令牌的一個(gè)或多個(gè)桶或容器,其用于(例如)通過(guò)在接受新請(qǐng)求來(lái)執(zhí)行之前確定是否存在足夠令牌,在接受新操作來(lái)執(zhí)行時(shí)消耗令牌且在令牌填充數(shù)低于閾值時(shí)使新操作延遲、重試新操作或拒絕新操作來(lái)限制對(duì)分區(qū)的I/o操作的吞吐量。(可在本文中同義地使用術(shù)語(yǔ)“令牌填充數(shù)”和“令牌計(jì)數(shù)”。)填充數(shù)在接受寫(xiě)入請(qǐng)求之前被檢查的桶的特定組合可在多種實(shí)施中不同和/或可取決于對(duì)應(yīng)邏輯分區(qū)是否在突發(fā)模式中而不同。例如,在一個(gè)實(shí)施方案中,無(wú)論任何其它桶的填充數(shù)如何,如果至少一個(gè)令牌在主副本桶集(稱(chēng)作供應(yīng)容量桶)的特定桶中可用,那么可準(zhǔn)許寫(xiě)入,且這樣的桶中的令牌的存在可以用作邏輯分區(qū)是在正常(非突發(fā))操作模式中的指示。如果在這樣的實(shí)施方案中,供應(yīng)容量桶在接收寫(xiě)入請(qǐng)求時(shí)并不包含任何令牌,那么如在下文進(jìn)一步詳細(xì)描述,可考慮主副本桶的一個(gè)或多個(gè)其它桶和從副本快照桶集中的至少一個(gè)桶中的令牌計(jì)數(shù)以決定是否接受寫(xiě)入請(qǐng)求。
[0024]在一些實(shí)施方案中,給定桶的令牌可以用于準(zhǔn)許或限制讀取和寫(xiě)入兩者,但在其它實(shí)施方案中,令牌可以只用于讀取或只用于寫(xiě)入。每個(gè)桶在一些這樣的實(shí)施方案中可以具有各自配置性質(zhì)集,諸如各自初始令牌填充數(shù)、令牌消耗策略、令牌再填入策略、填充數(shù)最大值、填充數(shù)最小值(如下文討論,其在一些情況下可為負(fù))和/或令牌虧缺策略。下文連同圖3的描述提供關(guān)于多種實(shí)施方案中的實(shí)例桶配置參數(shù)的進(jìn)一步細(xì)節(jié)。主副本桶集一般可包括與主副本自身工作負(fù)載和可用容量關(guān)聯(lián)的桶,而從副本快照桶集可包括反映從副本處的工作負(fù)載和/或可用容量的主副本視圖的一個(gè)或多個(gè)桶。因此,使用主副本桶集和從副本快照桶集的組合,可以獲得主副本和一些數(shù)量的從副本的可用吞吐量容量的統(tǒng)一視圖,且這樣的視圖可以(例如,在突發(fā)模式期間或正常模式和突發(fā)模式兩者期間)用于確定接受新寫(xiě)入請(qǐng)求來(lái)執(zhí)行是否明智或是否拒絕寫(xiě)入操作。在至少一些實(shí)施方案中,可以從副本中的任何一個(gè)滿足讀取請(qǐng)求,且結(jié)果,當(dāng)決定是否接受新讀取操作時(shí),可以只考慮給定副本處的本地工作負(fù)載/容量條件。因此,例如,在這樣的實(shí)施方案中可以單獨(dú)使用主副本桶集的內(nèi)容作出針對(duì)主副本的讀取的準(zhǔn)入決定,且可以單獨(dú)基于特定從副本的工作負(fù)載容量條件作出針對(duì)那個(gè)從副本的讀取的準(zhǔn)入決定。
[0025]在至少一些實(shí)施方案中,從副本桶更新協(xié)議可以用于刷新關(guān)于從副本快照桶集中的(若干)從副本狀態(tài)的信息(例如,可以通過(guò)基于主副本處自從副本接收的信息修改主副本處其一個(gè)或多個(gè)桶中的令牌數(shù)量而更新從副本快照桶集)。一些在實(shí)施方案中,還可以類(lèi)似于(但不相同于)在主副本處使用桶的方式在從副本處使用令牌桶以用于吞吐量管理。根據(jù)從副本桶更新協(xié)議,在一個(gè)這樣的實(shí)施方案中,從副本可以將一個(gè)或多個(gè)從副本本地令牌桶的填充數(shù)快照(例如,自給定時(shí)間點(diǎn)起本地令牌桶的填充數(shù)的表示)提供至主副本。例如,一個(gè)特定從副本側(cè)令牌桶可以表示存儲(chǔ)從副本數(shù)據(jù)的至少一部分的共享存儲(chǔ)裝置處的可用容量。這樣的共享存儲(chǔ)裝置可以用于存儲(chǔ)若干邏輯分區(qū)的數(shù)據(jù)(主副本、從副本或兩者),且結(jié)果,共享存儲(chǔ)裝置處經(jīng)歷的工作負(fù)載可以取決于若干不同數(shù)據(jù)對(duì)象的使用配置文件且難以預(yù)測(cè)。用于給定邏輯分區(qū)L的一個(gè)從副本SI的共享存儲(chǔ)裝置SDl可以具有非常不同于用于不同從副本Sj的共享存儲(chǔ)裝置SDj的工作負(fù)載,例如,因?yàn)楣蚕硌b置SDl和SDj上的其它副本屬于邏輯分區(qū)的不同組合,因此具有非常不同的使用模式。下文針對(duì)一些實(shí)施方案,連同圖1的討論描述由給定邏輯分區(qū)的從副本使用的不同共享存儲(chǔ)裝置上的副本組合的這樣的變化的實(shí)例。本文中可使用術(shù)語(yǔ)“X的快照”或“X快照”