縮放計算群集的制作方法
【專利說明】縮放計算群集
[0001]背景
[0002]基于群集的計算解決方案已在提供各種服務(wù)中變得普遍,這部分是因為計算群集提供具成本效益的方式來使具有可比較能力的單計算機實現(xiàn)較大處理功率和可靠度。在適當規(guī)模下對特定計算任務(wù)使用不同數(shù)量或類型(例如,功能、存儲容量等)的計算節(jié)點來設(shè)計基于群集的計算解決方案允許群集操作者對所述任務(wù)有效地分配計算資源。然而,一些計算任務(wù)具有波動或受限持續(xù)時間的資源需求。例如,僅可以在一天的某個時間期間大量利用某些基于網(wǎng)絡(luò)的服務(wù),且在其余時間未充分利用計算資源。在這些情況下,基于群集的計算解決方案可設(shè)計有足以滿足計算任務(wù)的最大資源需求的計算資源。然而,這個解決方案降低資源分配效率,且因此降低成本效益。或者,群集計算解決方案可以被縮放來對于計算任務(wù)維持有效計算資源利用??s放計算群集具有其自身難處(諸如傳送數(shù)據(jù)和服務(wù)停機時間),其也降低群集計算解決方案的成本效益。
[0003]附圖簡述
[0004]圖1示出根據(jù)一些實施方案的在分布式計算系統(tǒng)中縮放計算群集的時間線。
[0005]圖2是示出根據(jù)一些實施方案的示例性計算群集操作環(huán)境的方框圖。
[0006]圖3是示出根據(jù)一些實施方案的示例性基于網(wǎng)絡(luò)的群集托管服務(wù)的方框圖。
[0007]圖4是示出根據(jù)一些實施方案的示例性計算群集的方框圖。
[0008]圖5是示出根據(jù)一些實施方案的用于縮放計算群集的方法的高級流程圖。
[0009]圖6A到6C是示出根據(jù)一些實施方案的當前群集與新群集之間的經(jīng)指派數(shù)據(jù)片復(fù)制位置的方框圖。
[0010]圖7示出根據(jù)一些實施方案的示例性系統(tǒng)。
[0011]雖然本文通過若干實施方案和示意圖示的實例描述實施方案,但所屬技術(shù)領(lǐng)域的熟練人員將認識到,實施方案不限于所描述的實施方案或圖示。應(yīng)了解,圖示和其詳述并非意在將實施方案限于所公開的特定形式,但相反,意在涵蓋落在如由所附權(quán)利要求書界定的精神和范圍內(nèi)的所有修改、等效物和替代物。本文所使用的標題僅用于組織目的且并非意指用于限制本發(fā)明描述或權(quán)利要求書的范圍。如貫穿本申請所使用,字詞“可以”是在許可意義上(即,意指可能),而非在強制性意義上(即,意指必須)加以使用。相似地,字詞“包括(include、including和includes) ”意指包括但不限于。
[0012]發(fā)明詳述
[0013]在下文詳述中,陳述諸多具體詳情以深入了解所公開標的物。然而,所屬技術(shù)領(lǐng)域的熟練人員應(yīng)了解,所公開標的物可以在沒有這些具體詳情的情況下實行。在其它實例中,未詳細描述所屬技術(shù)領(lǐng)域的一般人員所知的方法、設(shè)備或系統(tǒng)以免使所公開標的物不清楚。
[0014]還應(yīng)了解,盡管術(shù)語第一、第二等可以在本文用于描述各種元件,但這些元件不應(yīng)受這些術(shù)語限制。這些術(shù)語僅用于區(qū)別一個元件與另一元件。例如,在不背離本發(fā)明的范圍的情況下,第一接觸件可稱為第二接觸件,且相似地,第二接觸件可稱為第一接觸件。第一接觸件和第二接觸件都是接觸件,但不是相同接觸件。
[0015]本發(fā)明描述中所使用的術(shù)語僅用于描述特定實施方案的目的且并非意在限制本發(fā)明。如本發(fā)明描述和所附權(quán)利要求書中所使用,除非上下文另有清楚指示,否則單數(shù)形式“一個(a/an)”和“所述”亦意在包括復(fù)數(shù)形式。還應(yīng)了解,如本文所使用的術(shù)語“和/或”指代且涵蓋相關(guān)聯(lián)所列術(shù)語中的一個或多個的任何和所有可行組合。還應(yīng)了解,術(shù)語“包括(includes、including、comprises和/或comprising) ”在本說明書中被使用時,指定所述特征、整數(shù)、步驟、操作、元件和/或組件的存在,但不排除一個或多個其它特征、整數(shù)、步驟、操作、元件、組件和/或其群組的存在。
[0016]如本文所使用,術(shù)語“如果”可以被解釋為意指“在...時”或“在...之后”或“響應(yīng)于確定”或“響應(yīng)于檢測”,這取決于具體情況。相似地,片語“如果確定”或“如果檢測[所述條件或事件]”可以被解釋為意指“在確定之后”或“響應(yīng)于確定”或“在檢測[所述條件或事件]之后”或“響應(yīng)于檢測[所述條件或事件]”,這取決于具體情況。
[0017]本文描述在分布式系統(tǒng)中縮放計算群集的各個實施方案。具有用于存儲群集數(shù)據(jù)并處理對群集數(shù)據(jù)的訪問請求的多個節(jié)點的計算群集的用戶可以確定不同群集配置可以更好地適于由所述計算群集執(zhí)行的任務(wù)。例如,如果計算群集節(jié)點負擔過重或未被充分利用,那么可以添加或移除不同數(shù)量的節(jié)點或不同類型的節(jié)點以提高計算群集效率。用戶可能希望作出這些變更并將計算機群集縮放成適當有效的配置。通常,縮放計算群集可能涉及復(fù)雜數(shù)據(jù)傳送、聯(lián)網(wǎng)變更,且在一些情況下要購買昂貴的設(shè)備。替代地,在一些實施方案中,用戶可以將群集縮放請求發(fā)送到群集控制接口,所述群集控制接口接著可以根據(jù)請求的配置對計算群集實行縮放。在至少一些實施方案中,可以由基于網(wǎng)絡(luò)的群集托管服務(wù)托管計算群集,所述基于網(wǎng)絡(luò)的群集托管服務(wù)可以實施和執(zhí)行各種系統(tǒng)和技術(shù)以在分布式計算系統(tǒng)中縮放計算群集,如下文所論述。
[0018]通常,可以由分布式計算系統(tǒng)實施計算群集,以對一個或多個節(jié)點分組以便一起合作完成各種計算任務(wù)。計算節(jié)點(也稱為“節(jié)點”)可以在計算裝置(諸如下文參考圖7所描述的計算系統(tǒng)1000)上實施。盡管單個節(jié)點可以在單個計算裝置上實施,但節(jié)點不如此受限。例如,多個節(jié)點可以在單個計算裝置上的不同邏輯(例如,虛擬)機器上實施。相似地,計算裝置可以實施不同硬件配置(例如多個處理器),其中每個可以被配置來實施計算節(jié)點。
[0019]群集節(jié)點可以個別地執(zhí)行各種任務(wù),諸如循序地或按序地、或一起或同時地,諸如并行地。除執(zhí)行這些各種任務(wù)外,節(jié)點還可以存儲數(shù)據(jù)存儲裝置或可訪問數(shù)據(jù)存儲裝置。通常,每個節(jié)點僅可以訪問群集數(shù)據(jù)的某個部分,諸如因僅可訪問存儲裝置(諸如磁盤)的具體集一但并非所有群集不限于這種配置。共同通信基礎(chǔ)結(jié)構(gòu)(諸如私人網(wǎng)絡(luò))通??梢酝ㄟ^交換消息促進在群集節(jié)點之間通信。消息和/或其它通信格式可以用于在計算群集節(jié)點之間共享數(shù)據(jù)。計算群集配置可以包括群集中節(jié)點的數(shù)量或群集中節(jié)點的類型(例如,節(jié)點計算容量、節(jié)點處理容量、特定軟件或硬件配置,諸如操作系統(tǒng))。應(yīng)注意,雖然所屬技術(shù)領(lǐng)域的一般人員熟知計算群集中的計算節(jié)點,但上文論述并非意在限制性。
[0020]在一些實施方案中,可以對計算群集提供群集控制接口,從而允許對計算群集具有控制權(quán)限的用戶、操作者、擁有者、管理者或其它當事人諸如通過變更計算群集中節(jié)點的數(shù)量或類型縮放計算群集,或執(zhí)行其它群集控制操作。群集控制接口可以從用戶接收群集縮放請求。群集縮放請求可以指示當前操作群集中節(jié)點的數(shù)量或類型的變更。例如,如果當前群集操作兩個節(jié)點,那么群集縮放請求可以指示操作五個節(jié)點的變更。響應(yīng)于接收群集縮放請求,控制接口可以創(chuàng)建具有請求消息中指示的節(jié)點的數(shù)量和/或類型的新群集。群集控制接口接著可以開始復(fù)制存儲在當前縮放群集中的群集數(shù)據(jù)??梢杂尚氯杭彤斍叭杭瘓?zhí)行復(fù)制操作,其可以將群集數(shù)據(jù)直接從當前群集中節(jié)點發(fā)送到新群集中節(jié)點。新群集中節(jié)點和當前群集中節(jié)點中的每個可以并行地發(fā)送和接收群集數(shù)據(jù)。在一些實施方案中,雖然執(zhí)行復(fù)制,但當前群集可以繼續(xù)對試圖從當前群集讀取群集數(shù)據(jù)的訪問請求作出響應(yīng)。然而,在至少一些實施方案中,響應(yīng)于寫入具有錯誤的訪問請求,群集控制接口可以將當前群集置于只讀模式??刂迫杭又梢詫⒔邮赵L問請求的網(wǎng)絡(luò)端點從當前群集移動到新群集。在至少一些實施方案中,群集控制接口接著可以停用或終止當前群集的操作。
[0021]在至少一些實施方案中,基于網(wǎng)絡(luò)的群集托管服務(wù)(諸如下文參考圖2和3所描述的基于網(wǎng)絡(luò)的群集托管服務(wù))可以在分布式計算環(huán)境中實施縮放數(shù)據(jù)群集。基于網(wǎng)絡(luò)的群集托管服務(wù)可以允許用戶創(chuàng)建、管理、修改或終止計算群集。這些計算群集可以由虛擬計算節(jié)點(諸如在由基于網(wǎng)絡(luò)的群集托管服務(wù)托管的邏輯/虛擬機器上實施的節(jié)點)組成。用戶可以管理在基于網(wǎng)絡(luò)的群集托管服務(wù)上托管的計算群集以對用戶系統(tǒng)或裝置提供計算服務(wù)。
[0022]例如,在一些實施方案中,基于網(wǎng)絡(luò)的群集托管服務(wù)可以實施網(wǎng)絡(luò)服務(wù)以使用戶(例如,訂戶)在云端計算環(huán)境中快速地、容易地且具成本效益地設(shè)置、操作和縮放數(shù)據(jù)倉庫。由網(wǎng)絡(luò)服務(wù)托管的計算群集可以提供企業(yè)級數(shù)據(jù)庫查詢和管理系統(tǒng),其諸如通過將群集縮放請求發(fā)送到由網(wǎng)絡(luò)服務(wù)實施的群集控制接口以允許用戶縮放所述群集。縮放群集可以允許網(wǎng)絡(luò)服務(wù)的用戶更有效地執(zhí)行其數(shù)據(jù)倉庫功能,諸如快速查詢結(jié)構(gòu)化數(shù)據(jù)的能力;集成各種數(shù)據(jù)加載和ETL(提取、變換和加載)工具;客戶端與一流商業(yè)智能(BI)報告、數(shù)據(jù)挖掘和分析工具的連接;和最優(yōu)化極快的復(fù)雜分析查詢執(zhí)行,諸如包括多表聯(lián)接、子查詢和聚合。
[0023]可以實施在分布式計算環(huán)境中縮放計算機群集的各個實施方案。圖1示出根據(jù)一些實施方案的在分布式計算系統(tǒng)中縮放計算群集的時間線。在第一階段110處,當前群集112被示出為具有當前對存儲在當前群集112的節(jié)點中的群集數(shù)據(jù)處理訪問請求和其它任務(wù)/操作的三個節(jié)點。檢測群集縮放事件(例如,諸如一個或多個節(jié)點下降到高于或低于某些利用率閾值,接收群集縮放請求等)?;跈z測到的事件,確定當前群集112的節(jié)點的變更(例如,資源未被充分利用可以指示移除節(jié)點,群集縮放請求可以指示一種或多種不同類型的節(jié)點的變更)。如在120處所示,創(chuàng)建新群集114。根據(jù)確定的變更,可以創(chuàng)建新群集114,諸如以移除或添加多個節(jié)點。如圖4中所示,確定的變更將新群集114的節(jié)點增加到四個節(jié)點。
[0024]如在116處所指示,將存儲在當前群集112中的群集數(shù)據(jù)從當前群集112復(fù)制到新群集114。下文參考圖5到6C論述用于執(zhí)行所述復(fù)制的各種方法和技術(shù)。在一些實施方案中,例如,根據(jù)指派模式指派存儲位置處的群集數(shù)據(jù)(諸如當前群集112中的數(shù)據(jù)片),其可以確保在舊群集中節(jié)點與新群集中節(jié)點之間均勻地分配復(fù)制的工作負荷,以及將群集數(shù)據(jù)發(fā)送到新群集114的節(jié)點。雖然執(zhí)行復(fù)制操作,但當前群集112仍可以執(zhí)行讀取訪問請求。在復(fù)制操作完成之后(如在130處所示),將當前群集112的網(wǎng)絡(luò)端點移動到新群集114(如在118處所指示)。網(wǎng)絡(luò)端點的移動使得從用戶角度來看,訪問請求在發(fā)送之前且在網(wǎng)絡(luò)節(jié)點移動之后發(fā)送到相同網(wǎng)絡(luò)地址。接著,新群集114可以對存儲在新群集114中的群集數(shù)據(jù)執(zhí)行讀取和寫入訪問請求,如在140處所指示。在一些實施方案中,可以終止當前群集112。
[0025]計算群集操作環(huán)境