使用混合群集來(lái)構(gòu)建大規(guī)模測(cè)試基礎(chǔ)結(jié)構(gòu)的制作方法
【專(zhuān)利摘要】分布式計(jì)算系統(tǒng)。該系統(tǒng)將管理和工作器功能劃分成不同的群集,由此使工作器群集不再有管理開(kāi)銷(xiāo)。具體地,該系統(tǒng)包括管理群集。該管理群集被配置成執(zhí)行工作器節(jié)點(diǎn)的服務(wù)部署、工作器節(jié)點(diǎn)的服務(wù)維護(hù)、工作器節(jié)點(diǎn)的服務(wù)升級(jí)和回滾、工作器節(jié)點(diǎn)的服務(wù)監(jiān)視以及工作器節(jié)點(diǎn)的服務(wù)報(bào)告。該系統(tǒng)進(jìn)一步包括耦合管理群集但與管理群集分開(kāi)的一個(gè)或多個(gè)工作器群集。工作器群集中的每一個(gè)都包括一個(gè)或多個(gè)工作器節(jié)點(diǎn),這一個(gè)或多個(gè)工作器節(jié)點(diǎn)被配置成提供處理能力、存儲(chǔ)、和網(wǎng)絡(luò)連接性中的一個(gè)或多個(gè),但不使用這些管理配置功能中的一個(gè)或多個(gè)。
【專(zhuān)利說(shuō)明】使用混合群集來(lái)構(gòu)建大規(guī)模測(cè)試基礎(chǔ)結(jié)構(gòu)
[0001] 背景
[0002] 背景和相關(guān)技術(shù)
[0003] 計(jì)算機(jī)和計(jì)算系統(tǒng)已經(jīng)影響了現(xiàn)代生活的幾乎每個(gè)方面。計(jì)算機(jī)通常涉及工作、 休閑、保健、運(yùn)輸、娛樂(lè)、家政管理等。
[0004] 此外,計(jì)算系統(tǒng)功能還可以通過(guò)計(jì)算系統(tǒng)的經(jīng)由網(wǎng)絡(luò)連接互連到其他計(jì)算系統(tǒng)的 能力來(lái)增強(qiáng)。網(wǎng)絡(luò)連接可包括,但不僅限于,經(jīng)由有線或無(wú)線以太網(wǎng)的連接,蜂窩式連接,或 者甚至通過(guò)串行、并行、USB或其它連接的計(jì)算機(jī)到計(jì)算機(jī)的連接。這些連接允許計(jì)算系統(tǒng) 訪問(wèn)其他計(jì)算系統(tǒng)處的服務(wù),并快速且有效地從其他計(jì)算系統(tǒng)接收應(yīng)用數(shù)據(jù)。
[0005] 此外,互連的計(jì)算系統(tǒng)可用于實(shí)現(xiàn)群集計(jì)算系統(tǒng),在該群集計(jì)算系統(tǒng)中,若干分立 系統(tǒng)一起工作以作為整體來(lái)完成分配到該群集的計(jì)算任務(wù)。一些這樣的系統(tǒng)可具有在云中 部署的群集的全部或部分。云計(jì)算允許將計(jì)算資源作為服務(wù)而非可遞送產(chǎn)品來(lái)提供。具體 地,在網(wǎng)絡(luò)(諸如因特網(wǎng))上(例如通過(guò)租賃協(xié)定)提供計(jì)算能力、軟件、信息、網(wǎng)絡(luò)連接性 等。
[0006] 云服務(wù)(諸如,可從華盛頓州雷蒙德市的微軟?公司獲得的Windows Azure? ) 以低成本提供實(shí)際上無(wú)限的可縮放性和高可用性。然而,這種可縮放性可受到每一群集上 預(yù)配管理功能的能力的限制。具體地,管理功能(諸如,服務(wù)部署、維護(hù)、升級(jí)和回滾、以及 監(jiān)視功能性)表示在每一群集上完成的大量工作。因此,可在群集處完成的除管理功能以 外的工作可受到也在那個(gè)工作器群集處執(zhí)行的管理功能的限制。
[0007] 此外,云計(jì)算允許測(cè)試實(shí)驗(yàn)室基礎(chǔ)結(jié)構(gòu)開(kāi)發(fā)中的新機(jī)會(huì)。然而,傳統(tǒng)的測(cè)試實(shí)驗(yàn)室 依賴于購(gòu)買(mǎi)和自我維護(hù)物理機(jī)器,從而給予測(cè)試團(tuán)隊(duì)進(jìn)行硬件安裝、網(wǎng)絡(luò)設(shè)置、打補(bǔ)丁等負(fù) 擔(dān)。在這樣的物理實(shí)驗(yàn)室環(huán)境下,在進(jìn)行中添加新硬件以及移除空閑硬件的靈活性也受到 限制。
[0008] 在此要求保護(hù)的主題不限于解決任何缺點(diǎn)或僅在諸如上述環(huán)境中操作的各個(gè)實(shí) 施例。相反,提供該背景僅用以示出在其中可實(shí)踐在此描述的部分實(shí)施例的一個(gè)示例性技 術(shù)領(lǐng)域。
[0009] 簡(jiǎn)要概述
[0010] 一個(gè)實(shí)施例可包括分布式計(jì)算系統(tǒng)。該系統(tǒng)包括管理群集。該管理群集被配置成 執(zhí)行工作器節(jié)點(diǎn)的服務(wù)部署、工作器節(jié)點(diǎn)的服務(wù)維護(hù)、工作器節(jié)點(diǎn)的服務(wù)升級(jí)和回滾、工作 器節(jié)點(diǎn)的服務(wù)監(jiān)視以及工作器節(jié)點(diǎn)的服務(wù)報(bào)告。該系統(tǒng)進(jìn)一步包括耦合管理群集但與管 理群集分開(kāi)的一個(gè)或多個(gè)工作器群集。工作器群集中的每一個(gè)都包括一個(gè)或多個(gè)工作器 節(jié)點(diǎn),這一個(gè)或多個(gè)工作器節(jié)點(diǎn)被配置成提供處理能力、存儲(chǔ)、和網(wǎng)絡(luò)連接性中的一個(gè)或多 個(gè),但不使用這些管理配置功能中的一個(gè)或多個(gè)。
[0011] 另一實(shí)施例包括為分布式系統(tǒng)中的客戶機(jī)處理作業(yè)的方法。該方法包括在分布式 系統(tǒng)中的管理群集處接收來(lái)自客戶機(jī)的作業(yè)。該方法進(jìn)一步包括在該管理群集處基于作業(yè) 特性將該作業(yè)分發(fā)給與該管理群集分開(kāi)的工作器群集。
[0012] 提供本概述是為了以簡(jiǎn)化的形式介紹將在以下【具體實(shí)施方式】中進(jìn)一步描述的概 念選擇。本
【發(fā)明內(nèi)容】
不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用 于幫助確定所要求保護(hù)的主題的范圍。
[0013] 將在以下的描述中闡述另外的特征和優(yōu)點(diǎn),并且部分特征和優(yōu)點(diǎn)可從該描述中顯 而易見(jiàn),或者可從本文教導(dǎo)的實(shí)踐中獲知。本發(fā)明的特征和優(yōu)點(diǎn)可以通過(guò)在所附權(quán)利要求 中特別指出的手段和組合來(lái)實(shí)現(xiàn)并獲取。本發(fā)明的特征將從以下描述和所附權(quán)利要求書(shū)中 變得完全顯而易見(jiàn),或者可通過(guò)如下所述對(duì)本發(fā)明的實(shí)踐而獲知。
[0014] 附圖簡(jiǎn)述
[0015] 為了描述可獲得本主題的上述和其它優(yōu)點(diǎn)和特征的方式,將通過(guò)參考附圖中示出 的本主題的具體實(shí)施例來(lái)呈現(xiàn)以上簡(jiǎn)要描述的本主題的更具體描述。應(yīng)該理解,這些附圖 僅描繪了各典型實(shí)施例,因此其不應(yīng)被認(rèn)為是對(duì)范圍的限制,各實(shí)施例將通過(guò)使用附圖用 附加特征和細(xì)節(jié)來(lái)描述并解釋?zhuān)诟綀D中:
[0016] 圖1解說(shuō)了包括管理群集和工作器群集的群集系統(tǒng);以及
[0017] 圖2解說(shuō)了為客戶機(jī)處理作業(yè)的方法。
[0018] 詳細(xì)描述
[0019] 本文中描述的一些實(shí)施例實(shí)現(xiàn)用于構(gòu)建云計(jì)算基礎(chǔ)結(jié)構(gòu)的"混合群集"。具體地, 各實(shí)施例可使用小型管理群集來(lái)管理其他工作器群集。這允許管理功能性(諸如服務(wù)部 署、維護(hù)、升級(jí)和回滾以及監(jiān)視)被卸載到管理群集,從而留給工作器群集更多用于執(zhí)行群 集作業(yè)的資源。
[0020] 具體地,各實(shí)施例可使用用于提供集中監(jiān)視的一個(gè)小尺寸受管群集以及用于以最 少服務(wù)開(kāi)銷(xiāo)來(lái)提供虛擬機(jī)環(huán)境的若干大尺寸"原始"群集的組合。將解說(shuō)各個(gè)實(shí)施例,包括 適用于通用云計(jì)算以及用于測(cè)試云計(jì)算基礎(chǔ)結(jié)構(gòu)的實(shí)施例。
[0021] 在一個(gè)特定示例中,可從華盛頓州雷蒙德市的微軟?公司獲得的"Blackbird" 是成熟的能夠啟用SQL Azure?以在Windows Azure?上運(yùn)行的群集管理和監(jiān)視平臺(tái)。本 文中解說(shuō)的一些實(shí)施例能夠克服"原始"Windows Azure?群集的監(jiān)視管道的限制以及 Blackbird管理的Windows Azure?^¥集的服務(wù)開(kāi)銷(xiāo)的限制。各實(shí)施例可使用稱(chēng)作"混合 群集"的基礎(chǔ)結(jié)構(gòu)--其在一個(gè)示例中是諸如Blackbird管理的Windows Azure?群集之 類(lèi)的用于提供集中監(jiān)視的一個(gè)小尺寸管理群集和諸如"原始"Windows Azure?群集之類(lèi)的 用于以最少的服務(wù)開(kāi)銷(xiāo)來(lái)提供虛擬機(jī)環(huán)境的若干大尺寸工作器群集的組合。
[0022] 現(xiàn)參考圖1,解說(shuō)了一個(gè)示例。圖1解說(shuō)用戶客戶機(jī)102。該用戶客戶機(jī)與用戶 104交互,并將各作業(yè)保存在作業(yè)隊(duì)列106中。
[0023] 圖1進(jìn)一步解說(shuō)了管理控制臺(tái)108。該管理控制臺(tái)108包括允許用戶監(jiān)視多個(gè)環(huán) 境并顯示多個(gè)視圖的用戶界面。在一些實(shí)施例中,管理控制臺(tái)108可使用Xts來(lái)實(shí)現(xiàn)。Xts 是可從華盛頓州雷蒙德市的微軟?公司獲得的Autopilot/Blackbird管理控制臺(tái)。
[0024] 圖1解說(shuō)數(shù)據(jù)中心110。數(shù)據(jù)中心110包括管理群集112。管理群集112包括作 業(yè)管理器115。作業(yè)管理器115調(diào)度作業(yè)并監(jiān)視作業(yè)狀態(tài)。管理群集進(jìn)一步包括群集管理 器114、OpStore管理器116和0pStorell8。0pStorell8存儲(chǔ)操作信息和性能信息。如所 述的,在一些實(shí)施例中,管理群集112可以使用Blackbird管理的群集來(lái)實(shí)現(xiàn)。
[0025] 數(shù)據(jù)中心110進(jìn)一步包括多個(gè)工作器群集。在所解說(shuō)的示例中,解說(shuō)了單個(gè)工作 器群集120,但應(yīng)該領(lǐng)會(huì),可實(shí)現(xiàn)實(shí)際上任何數(shù)量的工作器群集。每個(gè)工作器群集可包括多 個(gè)工作器節(jié)點(diǎn)。在所解說(shuō)的該示例中,示出了工作器節(jié)點(diǎn)122-1和122-2。盡管示出了僅兩 個(gè)工作器節(jié)點(diǎn)(一般被稱(chēng)為122),但應(yīng)該領(lǐng)會(huì),在工作器群集120中可實(shí)現(xiàn)實(shí)際上任何數(shù)目 的工作器節(jié)點(diǎn)122。
[0026] 在所解說(shuō)的示例中,每一工作器節(jié)點(diǎn)122包括工作器角色實(shí)例,其在本文中可被 稱(chēng)為工作器124。工作器124被配置成啟動(dòng)驅(qū)動(dòng)程序,并使用該驅(qū)動(dòng)程序來(lái)執(zhí)行作業(yè)案例。 工作器124還跟蹤作業(yè)執(zhí)行狀態(tài)。
[0027] 在所解說(shuō)的示例中,每一工作器節(jié)點(diǎn)122進(jìn)一步包括運(yùn)行時(shí)信息模塊126。該運(yùn)行 時(shí)信息模塊126包括拓?fù)湫畔⒑屯ㄐ哦它c(diǎn)。運(yùn)行時(shí)信息模塊126還向管理群集112發(fā)送文 件。
[0028] 在所解說(shuō)的示例中,每一工作器節(jié)點(diǎn)122包括健康上傳器模塊128。該健康上傳器 模塊128是可收集信息(諸如節(jié)點(diǎn)狀態(tài)、性能計(jì)數(shù)和其他信息)并將這些收集到的信息發(fā) 送給管理群集112的服務(wù)上傳器。管理群集可包括在OpStorellS內(nèi)的健康存儲(chǔ)。從健康 上傳器模塊128發(fā)送的信息可被存儲(chǔ)在0pStorell8。
[0029] 現(xiàn)在以下解說(shuō)在一個(gè)實(shí)施例中實(shí)現(xiàn)的示例情形。在該示例中,數(shù)據(jù)中心110就緒, 其包括使管理群集112和工作器群集120 (包括工作器節(jié)點(diǎn)122)被部署好。一個(gè)或多個(gè)作 業(yè)驅(qū)動(dòng)程序被部署??梢詫?shí)現(xiàn)其中對(duì)于給定作業(yè)驅(qū)動(dòng)程序而言,如果不存在對(duì)該作業(yè)驅(qū)動(dòng) 程序的修改,則該作業(yè)驅(qū)動(dòng)程序僅被部署一次的一些實(shí)施例。
[0030] 用戶104使用用戶客戶機(jī)102來(lái)將作業(yè)置于作業(yè)隊(duì)列106中。在所解說(shuō)的示例中, 作業(yè)隊(duì)列106是優(yōu)先級(jí)隊(duì)列。在優(yōu)先級(jí)隊(duì)列中,以優(yōu)先級(jí)為基礎(chǔ)將各元素從該隊(duì)列中拉取 出。如所解說(shuō)的,用戶客戶機(jī)102就當(dāng)前作業(yè)處理狀態(tài)周期性地檢查作業(yè)管理器115。當(dāng) 客戶機(jī)102確定作業(yè)管理器114就緒時(shí),它從作業(yè)隊(duì)列106中檢索作業(yè)并將作業(yè)數(shù)據(jù)部署 在團(tuán)塊130中。作業(yè)管理器114檢查該作業(yè)并將該作業(yè)劃分成作業(yè)項(xiàng),并將這些項(xiàng)保存在 作業(yè)項(xiàng)時(shí)間表132中。例如,該作業(yè)可具有20個(gè)作業(yè)套件。每個(gè)作業(yè)項(xiàng)可以是一套件。由 此,作業(yè)時(shí)間表132具有20個(gè)作業(yè)項(xiàng)。
[0031] 每一工作器節(jié)點(diǎn)122上的工作器124周期性地檢查該作業(yè)項(xiàng)隊(duì)列。當(dāng)工作器124 找到作業(yè)項(xiàng)時(shí),工作器124取得該項(xiàng)目并更新該狀態(tài)。更新?tīng)顟B(tài)可包括如下多個(gè)動(dòng)作。工 作器124將來(lái)自團(tuán)塊130的作業(yè)數(shù)據(jù)134加載到工作器節(jié)點(diǎn)122中。工作器124使用作業(yè) 驅(qū)動(dòng)程序來(lái)運(yùn)行作業(yè)數(shù)據(jù)134。工作器124將狀態(tài)信息報(bào)告到OpStore數(shù)據(jù)庫(kù)118中。這 樣的狀態(tài)信息可包括作業(yè)狀態(tài)。例如,在一些實(shí)施例中,作業(yè)狀態(tài)可被分類(lèi)成以下之一:就 緒、處理中、完成、超時(shí)或取消。狀態(tài)信息可另外地或替換地包括作業(yè)結(jié)果。例如,作業(yè)結(jié)果 可被分類(lèi)成通過(guò)、失敗或超時(shí)之一。工作器124在每一作業(yè)完成之后將作業(yè)日志信息保存 到團(tuán)塊130中。工作器124隨后查找下一作業(yè)項(xiàng),以重復(fù)如以上所述的各個(gè)動(dòng)作。如果存 在新作業(yè)的話,作業(yè)管理器115可將新作業(yè)項(xiàng)添加到工作項(xiàng)隊(duì)列中。
[0032] 一些實(shí)施例可實(shí)現(xiàn)web API,這些web API使得管理基礎(chǔ)結(jié)構(gòu)可用作用于外部用戶 的服務(wù)。
[0033] 如本文中所描述的,所實(shí)現(xiàn)的實(shí)施例可允許更多效率。例如,假定一實(shí)施例實(shí)現(xiàn)10 個(gè)測(cè)試套件,并且這10個(gè)套件的最長(zhǎng)運(yùn)行時(shí)間為4小時(shí)。其他9個(gè)測(cè)試套件可花費(fèi)2小時(shí)。 如果該實(shí)施例具有10個(gè)工作器且每一工作器取得一套件,則在大約4個(gè)小時(shí)之后,完成結(jié) 果可從所有這些測(cè)試套件處獲得。然而,如果這在單個(gè)機(jī)器上運(yùn)行,則結(jié)果將花費(fèi)22個(gè)小 時(shí)來(lái)獲得。
[0034] 各實(shí)施例可促成可縮放性。例如,使用剛才解說(shuō)的示例,各實(shí)施例可在有可能的情 況下將這10個(gè)套件劃分成更小的組塊,并添加更多的測(cè)試工作器。因此,這些實(shí)施例可進(jìn) 一步減少運(yùn)行時(shí)間。例如,如果一實(shí)施例將相同的10個(gè)套件劃分成100個(gè)套件,并添加了 100個(gè)測(cè)試工作器,其中每一套件花費(fèi)0. 22小時(shí),則結(jié)果可在0. 22小時(shí)內(nèi)獲得。
[0035] 各實(shí)施例可進(jìn)一步促成增加的可靠性和可用性。作為說(shuō)明,如果一個(gè)或多個(gè)測(cè)試 工作器出故障了,則其他工作器可接手作業(yè)項(xiàng),并完成作業(yè)。此外,各實(shí)施例可用于減少開(kāi) 發(fā)和管理成本,因?yàn)閮H不得不管理單個(gè)管理群集。各實(shí)施例還可允許擴(kuò)展工作器群集的可 縮放性。
[0036] 如本文中所解說(shuō)的,各實(shí)施例可包括管理群集,諸如管理群集112。管理群集可被 配置成執(zhí)行各個(gè)管理功能,以將工作器節(jié)點(diǎn)從這些管理功能中釋放出來(lái)。例如,該管理群集 可執(zhí)行工作器節(jié)點(diǎn)的服務(wù)部署,由此將各服務(wù)部署到工作器節(jié)點(diǎn)(諸如,圖1中解說(shuō)的工作 器節(jié)點(diǎn)122)處。該管理群集可執(zhí)行工作器節(jié)點(diǎn)上的對(duì)各服務(wù)的維護(hù)。管理群集可執(zhí)行工 作器節(jié)點(diǎn)上的服務(wù)升級(jí)和回滾。管理群集可執(zhí)行工作器節(jié)點(diǎn)上的服務(wù)監(jiān)視,諸如監(jiān)視服務(wù) 健康狀態(tài)。管理群集可執(zhí)行工作器節(jié)點(diǎn)的服務(wù)報(bào)告,諸如通過(guò)圖1中解說(shuō)的管理控制臺(tái)108 向用戶報(bào)告服務(wù)功能性。
[0037] 各實(shí)施例可包括耦合管理群集的一個(gè)或多個(gè)工作器群集。圖1解說(shuō)耦合到管理群 集112的工作器群集120。工作器群集中的每一個(gè)都包括一個(gè)或多個(gè)工作器節(jié)點(diǎn)(諸如,節(jié) 點(diǎn)122),其被配置成提供處理能力、存儲(chǔ)和網(wǎng)絡(luò)連接性中的一個(gè)或多個(gè)。如所述的,在一些 實(shí)施例中,工作器節(jié)點(diǎn)不使用這些管理配置功能中的一個(gè)或多個(gè),而使那些功能被卸載到 管理群集112中。
[0038] 管理群集可被配置成基于分布式計(jì)算系統(tǒng)要執(zhí)行的工作量來(lái)將節(jié)點(diǎn)添加到一個(gè) 或多個(gè)工作群集中或從其移除節(jié)點(diǎn)。
[0039] 分布式系統(tǒng)可被配置成將來(lái)自工作器節(jié)點(diǎn)的健康信息上傳到管理群集中。例如, 圖1解說(shuō)了可用于將健康信息上傳到0pStorell8的健康上傳器128。
[0040] 可實(shí)現(xiàn)其中分布式系統(tǒng)被耦合到在該分布式系統(tǒng)外部的客戶機(jī)以從該客戶機(jī)接 收要由該分布式系統(tǒng)來(lái)執(zhí)行的作業(yè)的實(shí)施例。例如,如圖1所解說(shuō)的,分布式系統(tǒng)110被耦 合到用戶客戶機(jī)102以從用戶104接收作業(yè)。
[0041] 管理群集可包括數(shù)據(jù)庫(kù)(諸如,OpStorellS),以存儲(chǔ)分布式系統(tǒng)中的工作器節(jié)點(diǎn) 的操作和性能信息。在一些實(shí)施例中,該數(shù)據(jù)庫(kù)被配置成被用戶查詢,以使得該用戶能夠監(jiān) 視工作器節(jié)點(diǎn)的性能信息。如所述的,工作器節(jié)點(diǎn)可包括健康上傳器模塊,該模塊被配置成 收集節(jié)點(diǎn)狀態(tài)并將該節(jié)點(diǎn)狀態(tài)發(fā)送給管理群集以供存儲(chǔ)在存儲(chǔ)操作和性能信息的數(shù)據(jù)庫(kù) 中。健康上傳器模塊可被配置成收集性能計(jì)數(shù),并將這些性能計(jì)數(shù)發(fā)送給管理群集以供存 儲(chǔ)在存儲(chǔ)操作和性能信息的數(shù)據(jù)庫(kù)中。
[0042] 以下討論現(xiàn)涉及可以執(zhí)行的多種方法以及方法動(dòng)作。雖然用特定次序討論或用以 特定次序發(fā)生的流程圖示出了各個(gè)方法動(dòng)作,但除非明確規(guī)定或因?yàn)橐粍?dòng)作依賴于另一動(dòng) 作在執(zhí)行該動(dòng)作之前完成而需要特定次序,否則不需要特定次序。
[0043] 現(xiàn)在參考圖2,示出了方法200。本文中解說(shuō)的一個(gè)實(shí)施例涉及一種為分布式系統(tǒng) 中的客戶機(jī)處理作業(yè)的方法200。該方法包括在分布式系統(tǒng)中的管理群集處接收來(lái)自客戶 機(jī)的作業(yè)(動(dòng)作202)。例如,管理群集112可接收來(lái)自用戶客戶機(jī)102的作業(yè)。該方法200 進(jìn)一步包括基于作業(yè)特性,在該管理群集處將該作業(yè)分發(fā)給與該管理群集分開(kāi)的工作器群 集。例如,如圖1中所解說(shuō)的,可將作業(yè)分發(fā)給工作器群集120中的工作器節(jié)點(diǎn)122。
[0044] 方法200可進(jìn)一步包括接收來(lái)自工作器群集的健康信息。例如,如圖2中所解說(shuō) 的,工作器節(jié)點(diǎn)122-1可使用健康上傳器120將健康信息上傳到管理群集112。在一些實(shí) 施例中,方法200進(jìn)一步包括將健康信息存儲(chǔ)在用戶可查詢的數(shù)據(jù)庫(kù)(諸如,0pStorell8) 中。
[0045] 方法200可進(jìn)一步包括該管理群集部署工作器群集中的工作器節(jié)點(diǎn)、執(zhí)行工作器 群集中的工作器節(jié)點(diǎn)上的維護(hù)、執(zhí)行工作器群集中的工作器節(jié)點(diǎn)上的更新或回滾中的至少 一者、執(zhí)行工作器群集中的工作器節(jié)點(diǎn)的監(jiān)視、執(zhí)行工作器群集中的工作器節(jié)點(diǎn)的服務(wù)報(bào) 生 口 〇 〇
[0046] 方法200可進(jìn)一步包括該管理群集維護(hù)向分布式計(jì)算系統(tǒng)分派的作業(yè)的作業(yè)狀 態(tài)的作業(yè)數(shù)據(jù)庫(kù)。例如,作業(yè)數(shù)據(jù)庫(kù)可包括關(guān)于傳入作業(yè)、傳出作業(yè)、哪個(gè)群集或節(jié)點(diǎn)正在 執(zhí)行作業(yè)、作業(yè)結(jié)果等的信息。該信息可以是用戶可查詢的。
[0047] 此外,各種方法可由包括一個(gè)或多個(gè)處理器和諸如計(jì)算機(jī)存儲(chǔ)器等計(jì)算機(jī)可讀介 質(zhì)的計(jì)算機(jī)系統(tǒng)來(lái)實(shí)施。具體而言,計(jì)算機(jī)存儲(chǔ)器可存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令,這些指令在由 一個(gè)或多個(gè)處理器執(zhí)行時(shí)使得諸如各實(shí)施例中所述的各個(gè)動(dòng)作等各種功能被執(zhí)行。
[0048] 本發(fā)明的各實(shí)施例可以包括或利用包含計(jì)算機(jī)硬件的專(zhuān)用或通用計(jì)算機(jī),這將在 下文中更詳細(xì)地討論。本發(fā)明范圍內(nèi)的各實(shí)施例還包括用于承載或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令 和/或數(shù)據(jù)結(jié)構(gòu)的物理和其他計(jì)算機(jī)可讀介質(zhì)。這樣的計(jì)算機(jī)可讀介質(zhì)可以是可由通用或 專(zhuān)用計(jì)算機(jī)系統(tǒng)訪問(wèn)的任何可用介質(zhì)。存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是物理存 儲(chǔ)介質(zhì)。承載計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限制, 本發(fā)明的各實(shí)施例可包括至少兩種顯著不同的計(jì)算機(jī)可讀介質(zhì):物理計(jì)算機(jī)可讀存儲(chǔ)介質(zhì) 和傳輸計(jì)算機(jī)可讀介質(zhì)。
[0049] 物理計(jì)算機(jī)存儲(chǔ)介質(zhì)包括RAM、ROM、EEPROM、CD-ROM或其他光盤(pán)存儲(chǔ)(如CD、DVD 等)、磁盤(pán)存儲(chǔ)或其他磁存儲(chǔ)設(shè)備、或可用于存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需 程序代碼裝置且可由通用或?qū)S糜?jì)算機(jī)訪問(wèn)的任何其他介質(zhì)。
[0050] "網(wǎng)絡(luò)"被定義為使得電子數(shù)據(jù)能夠在計(jì)算機(jī)系統(tǒng)和/或模塊和/或其它電子設(shè) 備之間傳輸?shù)囊粋€(gè)或多個(gè)數(shù)據(jù)鏈路。當(dāng)信息通過(guò)網(wǎng)絡(luò)或另一個(gè)通信連接(硬連線、無(wú)線、 或者硬連線或無(wú)線的組合)傳輸或提供給計(jì)算機(jī)時(shí),該計(jì)算機(jī)將該連接適當(dāng)?shù)匾暈閭鬏斀?質(zhì)。傳輸介質(zhì)可包括可用于攜帶計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且 可由通用或?qū)S糜?jì)算機(jī)訪問(wèn)的網(wǎng)絡(luò)和/或數(shù)據(jù)鏈路。以上介質(zhì)的組合也被包括在計(jì)算機(jī)可 讀介質(zhì)的范圍內(nèi)。
[0051] 此外,在到達(dá)各種計(jì)算機(jī)系統(tǒng)組件之后,計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的程 序代碼裝置可從傳輸計(jì)算機(jī)可讀介質(zhì)自動(dòng)轉(zhuǎn)移到物理計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(或者相反)。 例如,通過(guò)網(wǎng)絡(luò)或數(shù)據(jù)鏈路接收到的計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可被緩存在網(wǎng)絡(luò)接口模 塊(例如,"NIC")內(nèi)的RAM中,然后最終被傳送到計(jì)算機(jī)系統(tǒng)RAM和/或計(jì)算機(jī)系統(tǒng)處的 較不易失性的計(jì)算機(jī)可讀物理存儲(chǔ)介質(zhì)。因此,計(jì)算機(jī)可讀物理存儲(chǔ)介質(zhì)可被包括在同樣 (或甚至主要)利用傳輸介質(zhì)的計(jì)算機(jī)系統(tǒng)組件中。
[0052] 計(jì)算機(jī)可執(zhí)行指令包括,例如使通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、或?qū)S锰幚碓O(shè)備執(zhí)行某 一功能或某組功能的指令和數(shù)據(jù)。計(jì)算機(jī)可執(zhí)行指令例如可以是二進(jìn)制代碼、諸如匯編語(yǔ) 言之類(lèi)的中間格式指令或者甚至是源代碼。盡管用結(jié)構(gòu)特征和/或方法動(dòng)作專(zhuān)用的語(yǔ)言描 述了本主題,但可以理解,所附權(quán)利要求書(shū)中定義的主題不必限于上述特征或動(dòng)作。更具體 而言,上述特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例形式而公開(kāi)的。
[0053] 本領(lǐng)域的技術(shù)人員將理解,本發(fā)明可以在具有許多類(lèi)型的計(jì)算機(jī)系統(tǒng)配置的網(wǎng)絡(luò) 計(jì)算環(huán)境中實(shí)踐,這些計(jì)算機(jī)系統(tǒng)配置包括個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、消息 處理器、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型 計(jì)算機(jī)、大型計(jì)算機(jī)、移動(dòng)電話、PDA、尋呼機(jī)、路由器、交換機(jī)等等。本發(fā)明也可在其中通過(guò) 網(wǎng)絡(luò)鏈接(或者通過(guò)硬連線數(shù)據(jù)鏈路、無(wú)線數(shù)據(jù)鏈路,或者通過(guò)硬連線和無(wú)線數(shù)據(jù)鏈路的 組合)的本地和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)兩者都執(zhí)行任務(wù)的分布式系統(tǒng)環(huán)境中實(shí)施。在分布式系統(tǒng) 環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備二者中。
[0054] 本發(fā)明可具體化為其他具體形式而不背離其精神或特征。所描述的實(shí)施例在所有 方面都應(yīng)被認(rèn)為僅是說(shuō)明性而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求書(shū)而非前 述描述指示。落入權(quán)利要求書(shū)的等效方案的含義和范圍內(nèi)的所有改變應(yīng)被權(quán)利要求書(shū)的范 圍所涵蓋。
【權(quán)利要求】
1. 一種分布式計(jì)算系統(tǒng),所述計(jì)算系統(tǒng)包括: 管理群集,其中所述管理群集被配置成執(zhí)行工作器節(jié)點(diǎn)的服務(wù)部署、工作器節(jié)點(diǎn)的服 務(wù)維護(hù)、工作器節(jié)點(diǎn)的服務(wù)升級(jí)和回滾、工作器節(jié)點(diǎn)的服務(wù)監(jiān)視以及工作器節(jié)點(diǎn)的服務(wù)報(bào) 告;以及 耦合所述管理群集的一個(gè)或多個(gè)工作器群集,其中所述工作器群集中的每一個(gè)都包括 一個(gè)或多個(gè)工作器節(jié)點(diǎn),所述一個(gè)或多個(gè)工作器節(jié)點(diǎn)被配置成提供處理能力、存儲(chǔ)和網(wǎng)絡(luò) 連接性中的一個(gè)或多個(gè),但不使用這些管理配置功能中的一個(gè)或多個(gè)。
2. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述管理群集被配置成基于要由所述分布 式計(jì)算系統(tǒng)執(zhí)行的工作的量來(lái)將節(jié)點(diǎn)添加到所述一個(gè)或多個(gè)工作群集中或從所述一個(gè)或 多個(gè)工作群集移除節(jié)點(diǎn)。
3. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述分布式系統(tǒng)被配置成將來(lái)自工作器節(jié) 點(diǎn)的健康信息上傳到所述管理群集。
4. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述分布式系統(tǒng)被耦合到所述分布式系統(tǒng) 外部的客戶機(jī),以從所述客戶機(jī)接收要由所述分布式系統(tǒng)來(lái)執(zhí)行的作業(yè)。
5. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述管理群集包括存儲(chǔ)所述分布式系統(tǒng)中 的工作器節(jié)點(diǎn)的操作和性能信息的數(shù)據(jù)庫(kù)。
6. 如權(quán)利要求5所述的系統(tǒng),其特征在于,數(shù)據(jù)庫(kù)被配置成被用戶查詢以使得所述用 戶能夠監(jiān)視工作器節(jié)點(diǎn)的性能信息。
7. 如權(quán)利要求5所述的系統(tǒng),其特征在于,所述工作器節(jié)點(diǎn)中的至少一個(gè)包括健康上 傳器模塊,所述健康上傳器模塊被配置成收集節(jié)點(diǎn)狀態(tài),并將所述節(jié)點(diǎn)狀態(tài)發(fā)送給所述管 理群集,以供存儲(chǔ)在存儲(chǔ)操作和性能信息的所述數(shù)據(jù)庫(kù)中。
8. 如權(quán)利要求6所述的系統(tǒng),其特征在于,所述健康上傳器模塊被配置成收集性能計(jì) 數(shù),并將所述性能計(jì)數(shù)發(fā)送給所述管理群集以供存儲(chǔ)在存儲(chǔ)操作和性能信息的所述數(shù)據(jù)庫(kù) 中。
9. 一種為分布式系統(tǒng)中的客戶機(jī)處理作業(yè)的方法,所述方法包括: 在分布式系統(tǒng)中的管理群集處,接收來(lái)自客戶機(jī)的作業(yè); 在所述管理群集處基于作業(yè)特性將所述作業(yè)分發(fā)給與所述管理群集分開(kāi)的工作器群 集。
10. 如權(quán)利要求9所述的方法,其特征在于,進(jìn)一步包括接收來(lái)自所述工作器群集的健 康信息。
11. 如權(quán)利要求10所述的方法,其特征在于,進(jìn)一步包括將所述健康信息存儲(chǔ)在用戶 可查詢的數(shù)據(jù)庫(kù)中。
12. 如權(quán)利要求9所述的方法,其特征在于,進(jìn)一步包括所述管理群集部署所述工作器 群集中的工作器節(jié)點(diǎn)。
13. 如權(quán)利要求9所述的方法,其特征在于,進(jìn)一步包括所述管理群集執(zhí)行所述工作器 群集中的工作器節(jié)點(diǎn)上的維護(hù)。
14. 如權(quán)利要求9所述的方法,其特征在于,所述管理群集執(zhí)行所述工作器群集中的工 作器節(jié)點(diǎn)上的升級(jí)或回滾中的至少一個(gè)。
15. 如權(quán)利要求9所述的方法,其特征在于,所述管理群集執(zhí)行所述工作器群集中的工
【文檔編號(hào)】G06F9/44GK104067221SQ201380006408
【公開(kāi)日】2014年9月24日 申請(qǐng)日期:2013年1月18日 優(yōu)先權(quán)日:2012年1月23日
【發(fā)明者】M·M·琴恩塔拉帕蒂, C·賈, T·弗雷格, K·薩布拉馬尼安, S·楊 申請(qǐng)人:微軟公司