所描述的各種方法和技術(shù)。上文參考圖3所描述的群集控制接口(例如,諸如基于網(wǎng)絡(luò)的群集托管服務(wù)管理器302)可以實(shí)施所描述方法?;蛘?,不同系統(tǒng)和裝置(諸如圖3和4中所示的結(jié)合控制接口工作的標(biāo)頭節(jié)點(diǎn))的組合(諸如基于網(wǎng)絡(luò)的群集托管服務(wù)管理器302)例如還可以執(zhí)行下述方法和技術(shù)。因此,上述實(shí)例和/或所提及執(zhí)行所示方法的任何其它系統(tǒng)或裝置并非意在限于系統(tǒng)和裝置的其它不同個(gè)體或配置。
[0044]在一些實(shí)施方案中,包括多個(gè)節(jié)點(diǎn)的當(dāng)前群集(諸如上文參考圖1到4所論述的群集中的一個(gè))可以操作群集數(shù)據(jù),將群集數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)存儲(chǔ)裝置中,和對(duì)在所述當(dāng)前群集的網(wǎng)絡(luò)端點(diǎn)處接收的訪問(wèn)請(qǐng)求作出響應(yīng)。接著,可以檢測(cè)當(dāng)前群集的群集縮放事件,如在500處所指示。群集縮放事件可以包括但不限于由性能度量或數(shù)據(jù)的變更(例如,請(qǐng)求次數(shù)增加、節(jié)點(diǎn)利用量增加等)觸發(fā)的事件、群集縮放請(qǐng)求(例如,諸如在群集控制接口處接收的群集縮放請(qǐng)求)、或任何其它用戶界定的參數(shù)或觸發(fā)因素。例如,用戶可以界定當(dāng)前群集的各種利用率閾值以從在超過(guò)所述閾值時(shí)觸發(fā)群集縮放事件。如果利用率度量指示群集利用率已下降到低于用戶界定的閾值,那么可以檢測(cè)群集縮放事件??梢杂啥鄠€(gè)不同當(dāng)事人界定各種不同觸發(fā)因素。例如,基于網(wǎng)絡(luò)的群集托管服務(wù)管理器還可以界定利用率閾值,以在超過(guò)閾值時(shí)在不同類型的節(jié)點(diǎn)之間進(jìn)行切換。在一些實(shí)施方案中,在進(jìn)行檢測(cè)群集縮放事件之前,可能需要用戶確認(rèn)。
[0045]在檢測(cè)群集縮放事件之后,在一些實(shí)施方案中,可以基于群集縮放事件確定當(dāng)前群集節(jié)點(diǎn)的變更,如在510處所指示。繼續(xù)上述實(shí)例,諸如如果利用率度量指示度量利用率已下降到低于界定的閾值、當(dāng)前群集中節(jié)點(diǎn)的數(shù)量減1,那么界定群集縮放事件的觸發(fā)因素的用戶還可以界定當(dāng)前群集的變更。相似于可以界定的諸多不同觸發(fā)事件,當(dāng)前群集中節(jié)點(diǎn)的諸多不同變更可以被界定,使當(dāng)前群集中節(jié)點(diǎn)的數(shù)量或類型變更。
[0046]在至少一些實(shí)施方案中,群集縮放事件可以接收指示多個(gè)節(jié)點(diǎn)與當(dāng)前群集在數(shù)量或類型上不同的群集縮放請(qǐng)求,且確定當(dāng)前群集節(jié)點(diǎn)的變更可以是群集縮放請(qǐng)求中指示的節(jié)點(diǎn)。
[0047]響應(yīng)于檢測(cè)群集縮放事件,可以創(chuàng)建包括由確定的變更指示的節(jié)點(diǎn)(例如,數(shù)量和/或類型)的新群集,如在530處所指示。在一些實(shí)施方案中,可以通過(guò)預(yù)置虛擬計(jì)算節(jié)點(diǎn)創(chuàng)建新節(jié)點(diǎn)群集。或者,在另一實(shí)例中,可以通過(guò)一起聯(lián)網(wǎng)計(jì)算裝置以創(chuàng)建新群集來(lái)創(chuàng)建新節(jié)點(diǎn)群集。
[0048]在至少一些實(shí)施方案中,響應(yīng)于檢測(cè)群集縮放事件,當(dāng)前群集可以被設(shè)置或引導(dǎo)來(lái)在只讀模式下操作。在只讀模式下,包括對(duì)群集數(shù)據(jù)的寫(xiě)入操作的訪問(wèn)請(qǐng)求可以被忽略或返回有錯(cuò)誤代碼或消息。
[0049]可以開(kāi)始將群集數(shù)據(jù)從當(dāng)前群集復(fù)制到新群集中節(jié)點(diǎn),如在530處所指示。群集控制接口(諸如上文參考圖3所論述的基于網(wǎng)絡(luò)的群集托管服務(wù)管理器302)可以通過(guò)引導(dǎo)新群集節(jié)點(diǎn)中的一個(gè)(諸如標(biāo)頭節(jié)點(diǎn))開(kāi)始執(zhí)行復(fù)制操作以從當(dāng)前群集檢索數(shù)據(jù)集來(lái)開(kāi)始群集數(shù)據(jù)復(fù)制。標(biāo)頭節(jié)點(diǎn)可以例如建置一系列待復(fù)制數(shù)據(jù)并對(duì)新群集中節(jié)點(diǎn)生成從當(dāng)前群集節(jié)點(diǎn)檢索數(shù)據(jù)的指令且對(duì)當(dāng)前群集中節(jié)點(diǎn)生成將數(shù)據(jù)當(dāng)前群集中節(jié)點(diǎn)發(fā)送到新群集的指令?;蛘撸?dāng)前群集上的標(biāo)頭節(jié)點(diǎn)或另一節(jié)點(diǎn)可以被引導(dǎo)來(lái)生成復(fù)制操作。這些復(fù)制操作可以由當(dāng)前群集節(jié)點(diǎn)和新群集節(jié)點(diǎn)并行地執(zhí)行。群集數(shù)據(jù)自身可以使用各種不同通信技術(shù)、介質(zhì)和格式(諸如上文參考圖3和4所論述,諸如以流消息或其它流格式)從當(dāng)前群集節(jié)點(diǎn)發(fā)送到新群集中節(jié)點(diǎn)。此外,雖然執(zhí)行復(fù)制,但當(dāng)前群集仍可以對(duì)讀取訪問(wèn)請(qǐng)求作出響應(yīng)。
[0050]群集數(shù)據(jù)的傳送進(jìn)程上的狀態(tài)數(shù)據(jù)可以保存在標(biāo)頭節(jié)點(diǎn)中的一個(gè)或兩個(gè)以及開(kāi)始復(fù)制操作的群集控制接口或其它組件上。這個(gè)狀態(tài)數(shù)據(jù)可以包括復(fù)制的群集數(shù)據(jù)的當(dāng)前位置和狀態(tài)(例如,已傳送的數(shù)據(jù)量)。在復(fù)制操作出現(xiàn)通信錯(cuò)誤、節(jié)點(diǎn)故障或其它干擾的情況下,狀態(tài)數(shù)據(jù)可以用于在干擾附近的點(diǎn)處恢復(fù)或重新開(kāi)始復(fù)制操作。
[0051]在一些實(shí)施方案中,如上文所論述,每個(gè)節(jié)點(diǎn)可以存儲(chǔ)一個(gè)或多個(gè)數(shù)據(jù)片或可訪問(wèn)其以存儲(chǔ)群集數(shù)據(jù)。復(fù)制操作可以根據(jù)指派模式將群集數(shù)據(jù)從當(dāng)前群集節(jié)點(diǎn)中的每個(gè)數(shù)據(jù)片發(fā)送到新群集節(jié)點(diǎn)中的一個(gè)或多個(gè)數(shù)據(jù)片。這種指派模式可以確保在舊群集中節(jié)點(diǎn)與新群集中節(jié)點(diǎn)之間平衡地或接近均勻地分配復(fù)制的工作負(fù)荷。在一些實(shí)施方案中,這種指派模式可以基于可以提供隨機(jī)和/或統(tǒng)一的數(shù)據(jù)片指派的哈希函數(shù)技術(shù)來(lái)實(shí)施。例如,為確定來(lái)自數(shù)據(jù)片的數(shù)據(jù)的指派,哈希函數(shù)可以采取數(shù)據(jù)片中數(shù)據(jù)的表名稱另加當(dāng)前數(shù)據(jù)片位置的數(shù)量作為輸入并通過(guò)新群集中數(shù)據(jù)片的數(shù)量修改輸出。在指派模式的另一實(shí)例中,可以通過(guò)循環(huán)法技術(shù)跨新群集中計(jì)算節(jié)點(diǎn)指派節(jié)點(diǎn)。通過(guò)實(shí)施將數(shù)據(jù)片從當(dāng)前群集指派到新群集,發(fā)送群集數(shù)據(jù)的工作負(fù)荷可以跨當(dāng)前群集節(jié)點(diǎn)和新群集節(jié)點(diǎn)均勻地或接近均勻地分配。
[0052]圖6A到6C是示出根據(jù)一些實(shí)施方案的在當(dāng)前群集與新群集之間指派數(shù)據(jù)片復(fù)制位置的方框圖。在圖6A中,例如,當(dāng)前群集600具有兩個(gè)節(jié)點(diǎn)602和604,每個(gè)節(jié)點(diǎn)包括四個(gè)數(shù)據(jù)片。當(dāng)前群集節(jié)點(diǎn)的變更(諸如上文在元件510處所確定)創(chuàng)建包括三個(gè)節(jié)點(diǎn)612、614和616的新群集610。來(lái)自數(shù)據(jù)片602和604的數(shù)據(jù)根據(jù)指派方案諸如使用哈希技術(shù)指派到新群集610中的數(shù)據(jù)片。節(jié)點(diǎn)602中的數(shù)據(jù)片I例如指派到節(jié)點(diǎn)612中的數(shù)據(jù)片I。節(jié)點(diǎn)602中的數(shù)據(jù)片2指派到節(jié)點(diǎn)614中的數(shù)據(jù)片I。節(jié)點(diǎn)602中的數(shù)據(jù)片3指派到節(jié)點(diǎn)612中的數(shù)據(jù)片3,且節(jié)點(diǎn)602中的數(shù)據(jù)片4指派到節(jié)點(diǎn)612中的數(shù)據(jù)片4。節(jié)點(diǎn)604中的數(shù)據(jù)片相似地指派到節(jié)點(diǎn)614和616中的數(shù)據(jù)片。因此,在節(jié)點(diǎn)602、604、612、614和616執(zhí)行復(fù)制操作時(shí),可以在所述節(jié)點(diǎn)之間平衡工作負(fù)荷。平衡的工作負(fù)荷繼而可以在節(jié)點(diǎn)并行地執(zhí)行復(fù)制操作時(shí)提供更大復(fù)制效率。
[0053]盡管未示出,但來(lái)自數(shù)據(jù)片(諸如節(jié)點(diǎn)603中的數(shù)據(jù)片I)的數(shù)據(jù)最終可以存儲(chǔ)在一個(gè)以上節(jié)點(diǎn)(諸如節(jié)點(diǎn)612、節(jié)點(diǎn)614和節(jié)點(diǎn)616)上的一個(gè)數(shù)據(jù)片上。例如,群集數(shù)據(jù)在復(fù)制到節(jié)點(diǎn)之后可以根據(jù)分配方案(例如,通過(guò)對(duì)數(shù)據(jù)表中的主要或其它類型的密鑰執(zhí)行哈希技術(shù))跨新群集中節(jié)點(diǎn)分配?;蛘?,除在執(zhí)行復(fù)制操作的節(jié)點(diǎn)之間平衡工作負(fù)荷外,指派模式自身還可以負(fù)責(zé)分配方案(諸如下文更詳細(xì)論述的分配方案),以在新群集上實(shí)施且因此提供將群集數(shù)據(jù)發(fā)送到分配的位置的數(shù)據(jù)片指派。
[0054]圖6B提供創(chuàng)建包括少一個(gè)節(jié)點(diǎn)(632和634)的新群集620的相似實(shí)例(諸如上文在元件510處所確定),但當(dāng)前群集節(jié)點(diǎn)發(fā)生變更除外。如在上文所論述的示例性示出中,節(jié)點(diǎn)622、624和626中的數(shù)據(jù)片指派到節(jié)點(diǎn)632和634中的數(shù)據(jù)片。然而,應(yīng)注意,在一些實(shí)例中,兩個(gè)數(shù)據(jù)片可以從當(dāng)前群集620指派到新群集630中的單個(gè)數(shù)據(jù)片。如上文所論述,指派模式可以負(fù)責(zé)新群集節(jié)點(diǎn)的群集數(shù)據(jù)的分配方案,且因此例如,指派到節(jié)點(diǎn)632中的數(shù)據(jù)片4的兩個(gè)數(shù)據(jù)片可以被指派來(lái)負(fù)責(zé)群集數(shù)據(jù)的分配方案?;蛘?,群集數(shù)據(jù)隨后可以根據(jù)群集數(shù)據(jù)的分配方案跨節(jié)點(diǎn)632和634分配。
[0055]圖6C提供創(chuàng)建包括數(shù)量(三個(gè))相同于當(dāng)前群集640的節(jié)點(diǎn)的新群集650的另一實(shí)例(諸如上文在元件510處所確定),但當(dāng)前群集節(jié)點(diǎn)發(fā)生變更除外。然而,這些節(jié)點(diǎn)具有不同類型,在這種情況下具有不同存儲(chǔ)容量。如在上文所論述的示例性示出中,節(jié)點(diǎn)642、644和646中的數(shù)據(jù)片指派到節(jié)點(diǎn)652、654和656中的數(shù)據(jù)片。還應(yīng)注意,兩個(gè)數(shù)據(jù)片可以從當(dāng)前節(jié)點(diǎn)640指派到新節(jié)點(diǎn)650中的單個(gè)數(shù)據(jù)片。
[0056]如上文所論述,在一些實(shí)施方案中,群集數(shù)據(jù)可以根據(jù)分配方案分配在當(dāng)前群集中節(jié)點(diǎn)的數(shù)據(jù)片中。例如,分配方案可以根據(jù)數(shù)據(jù)表中的主要密鑰跨數(shù)據(jù)片分配群集數(shù)據(jù)?;蛘?,分配方案可以根據(jù)均勻分配方案跨數(shù)據(jù)片均勻地分配數(shù)據(jù)。在至少一些實(shí)施方案中,另一分配方案可以在沒(méi)有在群集中的其它節(jié)點(diǎn)之間進(jìn)一步分配數(shù)據(jù)的情況下僅將數(shù)據(jù)存儲(chǔ)到單個(gè)節(jié)點(diǎn)上。在新節(jié)點(diǎn)中的數(shù)據(jù)片處接收群集數(shù)據(jù)時(shí),或在新節(jié)點(diǎn)中的數(shù)據(jù)片處接收所有群集數(shù)據(jù)之后,新群集可以根據(jù)分配方案將數(shù)據(jù)分配在節(jié)點(diǎn)上的數(shù)據(jù)片中。在至少一些實(shí)施方案中,新群集節(jié)點(diǎn)的數(shù)據(jù)片上的群集數(shù)據(jù)可以基于不同于用于將群集數(shù)據(jù)分配在當(dāng)前群集上的方案的分配方案來(lái)分配。例如,當(dāng)前群集上的群集數(shù)據(jù)可以使用將數(shù)據(jù)存儲(chǔ)到單個(gè)節(jié)點(diǎn)上的分配方案來(lái)存儲(chǔ),且在群集數(shù)據(jù)的復(fù)制操作完成時(shí),新群集可以根據(jù)均勻分配方案分配群集數(shù)據(jù)。
[0057]在一些實(shí)施方案中,除存儲(chǔ)在當(dāng)前數(shù)據(jù)群集上的群集數(shù)據(jù)外,當(dāng)前群集還可以包括復(fù)制的群集數(shù)據(jù)集。這個(gè)復(fù)制的群集數(shù)據(jù)可以連同當(dāng)前群集的群集數(shù)據(jù)發(fā)送到新群集節(jié)點(diǎn)。然而,在至少一些實(shí)施方案中,在未將復(fù)制的群集數(shù)據(jù)發(fā)送到新群集節(jié)點(diǎn)的情況下執(zhí)行群集數(shù)據(jù)的復(fù)制。響應(yīng)于復(fù)制操作完成,新群集可以跨新群集中節(jié)點(diǎn)復(fù)制接收的群集數(shù)據(jù)。
[0058]在一些實(shí)施方案中,網(wǎng)絡(luò)端點(diǎn)可以從當(dāng)前群集移動(dòng)到新群集,如在540處所指示。從用戶觀點(diǎn)來(lái)看,網(wǎng)絡(luò)端點(diǎn)的網(wǎng)絡(luò)地址在所述端點(diǎn)移動(dòng)之前和之后保持相同??梢酝ㄟ^(guò)修改域名系統(tǒng)(DNS)信息(諸如通過(guò)修改規(guī)范名稱(CNAME)以指向新群集的不同互聯(lián)網(wǎng)協(xié)議(IP)地址)移動(dòng)網(wǎng)絡(luò)端點(diǎn)。
[0059]在一些實(shí)施方案中,可以終止當(dāng)前群集,如在550處所指示。在至少一些實(shí)施方案中,可以響應(yīng)于復(fù)制操作完成(諸如在530處所指示)和端點(diǎn)移動(dòng)完成(諸如在540處所指示)執(zhí)行這個(gè)終止。
[0060]示例件系統(tǒng)
[0061]如本文所描述,可以在可以與各種其它裝置交互的一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)上執(zhí)行在分布式系統(tǒng)中縮放計(jì)算群集的實(shí)施方案。圖7示出這種計(jì)算機(jī)系統(tǒng)。在不同實(shí)施方案中,計(jì)算機(jī)系統(tǒng)1000可以是各種類型的裝置中的任一種,包括但不限于:個(gè)人計(jì)算機(jī)系統(tǒng)、桌上型計(jì)算機(jī)、膝上型計(jì)算機(jī)、筆記型計(jì)算機(jī)、或上網(wǎng)本、主機(jī)計(jì)算機(jī)系統(tǒng)、手持型計(jì)算機(jī)、工作站、網(wǎng)絡(luò)計(jì)算機(jī)、相機(jī)、機(jī)頂盒、移動(dòng)裝置、消費(fèi)者裝置、視頻游戲機(jī)、手持型視頻游戲裝置、應(yīng)用服務(wù)器、存儲(chǔ)裝置、周邊裝置,諸如交換機(jī)、調(diào)制解調(diào)器、路由器、或一般來(lái)說(shuō)任何類型的計(jì)算或電子裝置。
[0062]在所示實(shí)施方案中,計(jì)算機(jī)系統(tǒng)1000包括經(jīng)由輸入/輸出(I/O)接口 1030耦合到系統(tǒng)存儲(chǔ)器1020的一個(gè)或多個(gè)處理器1010。計(jì)算機(jī)系統(tǒng)1000還包括耦合到I/O接口1030的網(wǎng)絡(luò)接口 1040、和一個(gè)或多個(gè)輸入/輸出裝置1050,諸如光標(biāo)控制裝置1060、鍵盤(pán)1070和顯示器1080。顯示器1080可以包括標(biāo)準(zhǔn)計(jì)算機(jī)監(jiān)控器和/或其它顯示系統(tǒng)、技術(shù)或裝置。在至少一些實(shí)施方案中,輸入/輸出裝置1050還可以包括可觸摸或可多觸摸裝置,諸如用戶經(jīng)由其經(jīng)由風(fēng)格類型裝置鍵入輸入