国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      提高有狀態(tài)應(yīng)用的可用性的制作方法

      文檔序號(hào):7868365閱讀:164來源:國知局
      專利名稱:提高有狀態(tài)應(yīng)用的可用性的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及用于提高有狀態(tài)應(yīng)用的可用性的方法和系統(tǒng)。
      背景技術(shù)
      一般而言,分布式服務(wù)應(yīng)用被主存(host)在云計(jì)算網(wǎng)絡(luò)中(跨越多個(gè)節(jié)點(diǎn)),且主要是為了通過服務(wù)應(yīng)用組件的冗余來促進(jìn)高可用性。這些服務(wù)應(yīng)用通常被劃分成多個(gè)部分,這多個(gè)部分包括一組服務(wù)應(yīng)用組件。使用這些部分有助于確保整個(gè)服務(wù)應(yīng)用不會(huì)在對(duì)主存該服務(wù)應(yīng)用的節(jié)點(diǎn)進(jìn)行更新或維修期間變得不可用。在操作中,當(dāng)這些部分單獨(dú)地離線時(shí),允許該服務(wù)應(yīng)用的余下部分繼續(xù)在線操作。因此,在理想情況下,該服務(wù)應(yīng)用的用戶不會(huì)遇到該服務(wù)應(yīng)用的可用性失效。當(dāng)前,服務(wù)應(yīng)用的劃分是基于位置相關(guān)標(biāo)準(zhǔn)(例如,駐留在數(shù)據(jù)中心內(nèi)的公共節(jié)點(diǎn)上的服務(wù)應(yīng)用組件)或功能相關(guān)標(biāo)準(zhǔn)(例如,執(zhí)行某種角色的所有服務(wù)應(yīng)用組件不能同時(shí)離線)。用于將服務(wù)應(yīng)用組件分組成多個(gè)部分的這些標(biāo)準(zhǔn)對(duì)于有狀態(tài)應(yīng)用(statefulapplication)(即依賴于存儲(chǔ)在其組件外部的數(shù)據(jù)的易失性軟件)而言在某種程度上是有效的。然而,這些標(biāo)準(zhǔn)對(duì)于保持持久內(nèi)部狀態(tài)的有狀態(tài)應(yīng)用而言是無效的,該狀態(tài)在服務(wù)應(yīng)用組件處持續(xù)。即,利用上述標(biāo)準(zhǔn)無法考慮服務(wù)應(yīng)用組件的當(dāng)前內(nèi)部狀態(tài),由此在使先前形成的服務(wù)應(yīng)用的部分離線時(shí),導(dǎo)致該服務(wù)應(yīng)用的潛在不可用。因此,本申請中介紹了一種解決上述問題的技術(shù),實(shí)現(xiàn)了保持內(nèi)部狀態(tài)的分布式服務(wù)應(yīng)用的高可用性。

      發(fā)明內(nèi)容
      提供本發(fā)明內(nèi)容是為了以簡化的形式介紹將在以下具體實(shí)施方式
      中進(jìn)一步描述的概念。本發(fā)明內(nèi)容并非旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。本發(fā)明的實(shí)施例涉及用于促進(jìn)保持內(nèi)部狀態(tài)的服務(wù)應(yīng)用及其部分的高可用性的系統(tǒng)、方法以及計(jì)算機(jī)存儲(chǔ)介質(zhì)。一般而言,這些“有狀態(tài)”服務(wù)應(yīng)用包括云計(jì)算網(wǎng)絡(luò)(下文稱為“云”)內(nèi)的節(jié)點(diǎn)(例如物理機(jī)或虛擬機(jī))分布的多個(gè)部分,其中這些節(jié)點(diǎn)被容納在一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)中。典型地,云配備有結(jié)構(gòu)控制器,該結(jié)構(gòu)控制器一般負(fù)責(zé)圍繞對(duì)支持云的基礎(chǔ)功能的計(jì)算機(jī)資源的健康進(jìn)行維護(hù)和管理的多種任務(wù)。例如,結(jié)構(gòu)控制器可通過選定有狀態(tài)服務(wù)應(yīng)用的部分所駐留的節(jié)點(diǎn)作為目標(biāo)并重新配置這些節(jié)點(diǎn),以負(fù)責(zé)組織協(xié)調(diào)對(duì)運(yùn)行在云上的有狀態(tài)服務(wù)應(yīng)用的更新。在這些更新期間,結(jié)構(gòu)控制器在選定這些節(jié)點(diǎn)作為目標(biāo)時(shí)考慮服務(wù)應(yīng)用部分的可用性,以確保有狀態(tài)服務(wù)應(yīng)用均可操作。此外,結(jié)構(gòu)控制器通過考慮服務(wù)應(yīng)用部分的內(nèi)部狀態(tài)來確定要選定作為目標(biāo)的節(jié)點(diǎn),由此試圖確保在更新期間不使內(nèi)部狀態(tài)完全離線。在示例性實(shí)施例中,結(jié)構(gòu)控制器依賴于用于組織協(xié)調(diào)更新來以有狀態(tài)服務(wù)應(yīng)用保持在線和完全功能的方式調(diào)度節(jié)點(diǎn)的重新配置的軟件組件(在本文中稱為“租戶改變管理器(tenant-change manager ) ”)。在操作中,租戶改變管理器采用在結(jié)構(gòu)控制器與有狀態(tài)服務(wù)應(yīng)用的專用組件之間交互的協(xié)議。這些專用組件(在本文中稱為“管理角色”)在有狀態(tài)服務(wù)應(yīng)用內(nèi)實(shí)現(xiàn),以監(jiān)測有狀態(tài)服務(wù)應(yīng)用的功能部分(諸如有狀態(tài)服務(wù)應(yīng)用的角色的實(shí)例)的內(nèi)部狀態(tài)。通過租戶改變管理器促進(jìn)的該交互通過考慮角色實(shí)例的內(nèi)部狀態(tài)的可用性來確保有狀態(tài)服務(wù)應(yīng)用內(nèi)的改變操作的正確排序,以保持整個(gè)有狀態(tài)服務(wù)應(yīng)用的恒定高可用性。作為示例,對(duì)內(nèi)部狀態(tài)可用性的該考慮涉及管理角色推斷改變操作期間的內(nèi)部狀態(tài),并將該信息報(bào)告給租戶改變管理器。租戶改變管理器采用該信息來建立用于在有狀態(tài)服務(wù)應(yīng)用的特定角色實(shí)例上實(shí)現(xiàn)改變操作或“租戶任務(wù)”的開始時(shí)間。因此,租戶改變管理器與管理角色之間的交互通過考慮分布式角色實(shí)例的個(gè)體內(nèi)部狀態(tài)而訪問有狀態(tài)服務(wù)應(yīng)用的真實(shí)可用性。


      以下參考附圖詳細(xì)描述本發(fā)明的實(shí)施例,附圖中圖1是適用于實(shí)現(xiàn)本發(fā)明的實(shí)施例的示例性計(jì)算環(huán)境的框圖;圖2是適用于實(shí)現(xiàn)本發(fā)明的實(shí)施例的數(shù)據(jù)中心的框圖,該數(shù)據(jù)中心配置成容許和支持分布在數(shù)據(jù)中心的多個(gè)節(jié)點(diǎn)上的服務(wù)應(yīng)用的操作;圖3是示出根據(jù)本發(fā)明的實(shí)施例的示例性主存環(huán)境的框圖,其中多個(gè)角色實(shí)例被組合以形成更新域,以用于逐步實(shí)現(xiàn)數(shù)據(jù)中心內(nèi)的租戶任務(wù);圖4是根據(jù)本發(fā)明的實(shí)施例的用于有狀態(tài)節(jié)點(diǎn)和無狀態(tài)節(jié)點(diǎn)的處理流程的圖形表不;圖5是根據(jù)本發(fā)明的實(shí)施例的包括用于執(zhí)行實(shí)現(xiàn)租戶任務(wù)的分立操作的多個(gè)組件的云計(jì)算網(wǎng)絡(luò)的框圖;圖6是根據(jù)本發(fā)明的實(shí)施例的描繪結(jié)構(gòu)控制器和服務(wù)應(yīng)用之間的交互的數(shù)據(jù)中心的示例性拓?fù)涞膱D形表示;圖7是示出根據(jù)本發(fā)明的實(shí)施例的用于促進(jìn)云計(jì)算網(wǎng)絡(luò)的結(jié)構(gòu)控制器與服務(wù)應(yīng)用之間的交互的整體方法的流程圖;以及圖8是根據(jù)本發(fā)明的實(shí)施例的示出用于在執(zhí)行租戶任務(wù)時(shí)調(diào)度高優(yōu)先級(jí)任務(wù)的整體方法的流程圖。詳細(xì)描述本文用細(xì)節(jié)來描述本發(fā)明的實(shí)施例的主題以滿足法定要求。然而,該描述本身并非旨在限制本專利的范圍。相反,發(fā)明人設(shè)想所要求保護(hù)的主題還可結(jié)合其他當(dāng)前或未來技術(shù)按照其他方式來具體化,以包括不同的步驟或類似于本文檔中所描述的步驟的步驟組
      口 o一般而言,本發(fā)明的實(shí)施例在云計(jì)算網(wǎng)絡(luò)中引入了通過允許有狀態(tài)服務(wù)應(yīng)用保持對(duì)它們的顧客的高可用性來支持對(duì)有狀態(tài)服務(wù)應(yīng)用的更新和修復(fù)的機(jī)制。具體而言,這些機(jī)制能夠在有狀態(tài)服務(wù)應(yīng)用的多個(gè)部分(在本文中稱為“角色實(shí)例”)的升級(jí)、配置改變、向上或向下擴(kuò)展以及重新定位過程期間管理這些有狀態(tài)服務(wù)應(yīng)用的持續(xù)可用性。在示例性實(shí)施例中,這些機(jī)制依賴于有狀態(tài)服務(wù)應(yīng)用與結(jié)構(gòu)控制器之間的交互,結(jié)構(gòu)控制器管理有狀態(tài)服務(wù)應(yīng)用的角色實(shí)例的生命周期。如下文詳細(xì)討論,在一個(gè)實(shí)例中,該機(jī)制包括駐留在結(jié)構(gòu)控制器處的租戶改變管理器和駐留在有狀態(tài)服務(wù)應(yīng)用內(nèi)的管理角色,管理角色交互以智能地調(diào)度更新或修復(fù)。如本文中所使用,短語“有狀態(tài)服務(wù)應(yīng)用”一般表示其中狀態(tài)嵌入服務(wù)應(yīng)用相應(yīng)的角色實(shí)例或程序組件中的那些服務(wù)應(yīng)用。例如,在負(fù)責(zé)顯露特定的在線接口以用于進(jìn)行銀行業(yè)務(wù)的金融機(jī)構(gòu)服務(wù)應(yīng)用內(nèi),狀態(tài)可包含顧客數(shù)據(jù)(例如賬戶信息),顧客數(shù)據(jù)被保持在服務(wù)應(yīng)用的角色實(shí)例內(nèi)部。即,與上傳至遠(yuǎn)程位置相反,顧客數(shù)據(jù)被本地主存在服務(wù)應(yīng)用角色實(shí)例處。因此,當(dāng)服務(wù)應(yīng)用分布在云計(jì)算網(wǎng)絡(luò)內(nèi)的多個(gè)節(jié)點(diǎn)上時(shí),顧客提供的賬戶信息或“狀態(tài)”也分布在云計(jì)算網(wǎng)絡(luò)的節(jié)點(diǎn)上。此外,因?yàn)榇嬖谂c服務(wù)應(yīng)用進(jìn)行銀行業(yè)務(wù)的多個(gè)顧客,所以每個(gè)角色實(shí)例可具有稍不同的內(nèi)部狀態(tài)。因此,伴隨著知曉作為云計(jì)算網(wǎng)絡(luò)基礎(chǔ)的平臺(tái)的可用性和健康狀況,理解其中運(yùn)行的分布式服務(wù)應(yīng)用的內(nèi)部狀態(tài)對(duì)于調(diào)度維護(hù)和恢復(fù)操作的定時(shí)是有幫助的。例如,當(dāng)執(zhí)行維護(hù)和恢復(fù)操作時(shí),可能使服務(wù)應(yīng)用的多個(gè)部分離線。如果沒有特定內(nèi)部狀態(tài)的副本仍保持在線,則使這些部分離線會(huì)不利地影響甚至停用整個(gè)服務(wù)應(yīng)用。因此,本發(fā)明的實(shí)施例涉及用于理解多個(gè)內(nèi)部狀態(tài)的位置并協(xié)調(diào)維護(hù)和恢復(fù)操作以使得每個(gè)內(nèi)部狀態(tài)的副本保持在線的機(jī)制。因此,在理解內(nèi)部狀態(tài)位置的情況下協(xié)調(diào)維護(hù)和恢復(fù)操作有助于實(shí)現(xiàn)角色實(shí)例的內(nèi)部狀態(tài)的高可靠性。在一個(gè)實(shí)施例中,協(xié)調(diào)可包括在相同角色的多個(gè)實(shí)例上復(fù)制特定狀態(tài),以允許使角色實(shí)例中本地主存該特定狀態(tài)的角色之一實(shí)例離線。例如,如果角色當(dāng)前具有在數(shù)據(jù)中心上分布的五個(gè)實(shí)例,且如果這些角色實(shí)例中的特定一個(gè)角色實(shí)例存儲(chǔ)顧客想要維持的狀態(tài),則在使該特定角色實(shí)例離線之前,將所存儲(chǔ)的該狀態(tài)復(fù)制、傳播以及維持在五個(gè)實(shí)例中的其它實(shí)例處。以此方式,在多個(gè)節(jié)點(diǎn)上的多個(gè)角色實(shí)例上復(fù)制所存儲(chǔ)狀態(tài)確保該特定狀態(tài)的可靠性。因此,即使該特定角色實(shí)例在維護(hù)和恢復(fù)操作范圍之外失效,另一角色實(shí)例保持失效的角色實(shí)例的所存儲(chǔ)狀態(tài)。雖然已經(jīng)描述了鑒于維護(hù)和恢復(fù)操作來復(fù)制狀態(tài)的多個(gè)不同實(shí)施例,但應(yīng)理解和領(lǐng)會(huì)的是,其它類型的適合的服務(wù)應(yīng)用也可經(jīng)由本文中描述的過程來更新,而且本發(fā)明的實(shí)施例不限于本文中描述的那些有狀態(tài)服務(wù)應(yīng)用。例如,可按照與在云計(jì)算網(wǎng)絡(luò)的基礎(chǔ)平臺(tái)內(nèi)執(zhí)行租戶任務(wù)時(shí)相似的方式來解決無狀態(tài)服務(wù)應(yīng)用。如本文中所使用,短語“無狀態(tài)服務(wù)應(yīng)用” 一般表示由云計(jì)算網(wǎng)絡(luò)主存的服務(wù),該服務(wù)將其存儲(chǔ)數(shù)據(jù)卸載至外部實(shí)體,諸如能夠管理所存儲(chǔ)數(shù)據(jù)的另一數(shù)據(jù)中心。該數(shù)據(jù)中心可在不同的物理機(jī)上保持不同的狀態(tài),但能夠通過創(chuàng)建許多冗余(例如多個(gè)機(jī)器上的多個(gè)副本)來管理這些狀態(tài)。因此,在一個(gè)方面中,本發(fā)明的實(shí)施例涉及一個(gè)或多個(gè)機(jī)器可讀介質(zhì),一個(gè)或多個(gè)機(jī)器可讀介質(zhì)上具體化有計(jì)算機(jī)可執(zhí)行指令,計(jì)算機(jī)可執(zhí)行指令在執(zhí)行時(shí)執(zhí)行用于促進(jìn)云計(jì)算網(wǎng)絡(luò)的結(jié)構(gòu)控制器與運(yùn)行在云計(jì)算網(wǎng)絡(luò)中的服務(wù)應(yīng)用之間的交互的方法。該方法最初可包括選擇包括該服務(wù)應(yīng)用的一個(gè)或多個(gè)角色實(shí)例的第一更新域(UD)。典型地,角色實(shí)例運(yùn)行在在線條件下,且代表支持該服務(wù)應(yīng)用的功能的組件程序(例如該服務(wù)應(yīng)用的角色的單個(gè)復(fù)制)。該方法還可包括準(zhǔn)備第一 UD以用于執(zhí)行租戶任務(wù)(例如平臺(tái)發(fā)起的更新、顧客發(fā)起的更新、平臺(tái)發(fā)起的維修、或顧客發(fā)起的維修)。在示例性實(shí)施例中,準(zhǔn)備第一 UD包括至少以下步驟通知服務(wù)應(yīng)用內(nèi)的管理角色關(guān)于執(zhí)行租戶任務(wù)的結(jié)構(gòu)控制器意圖;以及基于確定受租戶任務(wù)影響的角色實(shí)例的內(nèi)部狀態(tài)是否在該服務(wù)應(yīng)用的不受租戶任務(wù)影響的一部分上復(fù)制,從該管理角色接收響應(yīng)。在實(shí)施例中,該響應(yīng)是由管理角色經(jīng)過檢查角色實(shí)例內(nèi)部狀態(tài)和/或經(jīng)過采取其它動(dòng)作之后產(chǎn)生的。例如,這些其它動(dòng)作可包括利用在云計(jì)算網(wǎng)絡(luò)的基礎(chǔ)結(jié)構(gòu)內(nèi)建立的信道來檢索附加信息(例如租戶角色的狀態(tài))。經(jīng)過準(zhǔn)備第一 UD的角色實(shí)例之后,發(fā)起將這些角色實(shí)例停用至離線狀態(tài)。一般而言,停用角色實(shí)例包括使主存第一 UD內(nèi)的一個(gè)或多個(gè)角色實(shí)例的一組節(jié)點(diǎn)不工作。一旦角色實(shí)例已采取離線狀態(tài),就允許租戶任務(wù)在第一 UD上執(zhí)行。再進(jìn)一步,該方法可包括,在完成租戶任務(wù)的執(zhí)行后,就將第一 UD的角色實(shí)例恢復(fù)至在線狀態(tài)。在示例性實(shí)施例中,將第一 UD的實(shí)例恢復(fù)至在線狀態(tài)包括至少以下步驟驗(yàn)證受租戶任務(wù)影響的角色實(shí)例在起作用;以及通知管理角色關(guān)于角色實(shí)例上的租戶任務(wù)的執(zhí)行完成,由此提示該服務(wù)應(yīng)用繼續(xù)利用這些角色實(shí)例來執(zhí)行任務(wù)。一般而言,將第一UD內(nèi)的角色實(shí)例恢復(fù)至在線狀態(tài)還包括使主存這些角色實(shí)例的該組節(jié)點(diǎn)工作。在將第一 m)內(nèi)的角色實(shí)例恢復(fù)至在線狀態(tài)后,則該方法可通過選擇角色實(shí)例的第二 UD以在其上運(yùn)行租戶任務(wù)而繼續(xù)。典型地,第一 UD和第二 UD在組員關(guān)系上是互斥的,可分別代表在云計(jì)算網(wǎng)絡(luò)上傳播租戶任務(wù)時(shí)的分立階段。在另一方面中,本發(fā)明的實(shí)施例涉及用于在執(zhí)行租戶任務(wù)時(shí)調(diào)度高優(yōu)先級(jí)任務(wù)的計(jì)算機(jī)化方法。該計(jì)算機(jī)化方法包括執(zhí)行以下邏輯步驟接收在服務(wù)應(yīng)用上執(zhí)行租戶任務(wù)的指示;以及標(biāo)識(shí)包括該服務(wù)應(yīng)用的一個(gè)或多個(gè)角色實(shí)例的更新域(UD)。在此時(shí),角色實(shí)例在在線狀態(tài)下操作。所準(zhǔn)備的UD是為了執(zhí)行租戶任務(wù),而且隨后將UD的實(shí)例停用至離線狀態(tài)。在示例性實(shí)施例中,準(zhǔn)備UD以用于執(zhí)行租戶任務(wù)的過程包括多個(gè)邏輯步驟,包括以下通知服務(wù)應(yīng)用內(nèi)的管理角色關(guān)于執(zhí)行該租戶任務(wù)的意圖;以及接收來自管理角色的肯定響應(yīng),或接收來自管理角色的否定響應(yīng)。典型地,在管理角色確定受租戶任務(wù)影響的角色實(shí)例的內(nèi)部狀態(tài)被復(fù)制在該服務(wù)應(yīng)用的不受租戶任務(wù)影響的部分上之后,接收肯定響應(yīng)。在租戶改變管理器(在結(jié)構(gòu)控制器內(nèi)操作)接收來自管理角色的肯定響應(yīng)后,租戶任務(wù)可能被允許在角色實(shí)例上執(zhí)行。替代地,在管理角色確定受租戶任務(wù)影響的角色實(shí)例的內(nèi)部狀態(tài)受限于那些角色實(shí)例之后,接收否定響應(yīng)。在租戶改變管理器接收到來自管理角色的否定響應(yīng)之后,多個(gè)操作可接著發(fā)生。在一個(gè)實(shí)施例中,當(dāng)執(zhí)行租戶任務(wù)的指示是顧客發(fā)起的,則租戶任務(wù)在角色實(shí)例上的執(zhí)行被推遲,以允許內(nèi)部狀態(tài)的復(fù)制。在另一實(shí)施例中,當(dāng)執(zhí)行租戶任務(wù)的指示是平臺(tái)發(fā)起的,則租戶任務(wù)在角色實(shí)例上的執(zhí)行被提示繼續(xù)。在某個(gè)后續(xù)時(shí)間點(diǎn),接收執(zhí)行高優(yōu)先級(jí)任務(wù)的指示。如本文中所使用,短語“高優(yōu)先級(jí)”不意味著限制性,而是代表被預(yù)先確定為在優(yōu)先級(jí)方案內(nèi)搶先于租戶任務(wù)的任何任務(wù)。在接收到執(zhí)行高優(yōu)先級(jí)任務(wù)的指示后,租戶任務(wù)的部署讓位于高優(yōu)先級(jí)任務(wù)。在示例性實(shí)施例中,讓位的過程包括多個(gè)邏輯步驟,包括以下指令服務(wù)應(yīng)用執(zhí)行將角色實(shí)例恢復(fù)至在線狀態(tài)的操作的截?cái)嗉?;將租戶任?wù)掛起;以及發(fā)起高優(yōu)先級(jí)任務(wù)在角色實(shí)例上的執(zhí)行。在完成高優(yōu)先級(jí)任務(wù)的執(zhí)行后,繼續(xù)租戶任務(wù)的部署。在示例性實(shí)施例中,繼續(xù)的過程包括多個(gè)邏輯步驟,包括以下重新發(fā)起將UD的角色實(shí)例的停用至離線狀態(tài);以及允許租戶任務(wù)在角色實(shí)例上執(zhí)行。一旦完成租戶任務(wù)的執(zhí)行,就可將UD的角色實(shí)例恢復(fù)至在線狀態(tài)。在示例性實(shí)施例中,將角色實(shí)例恢復(fù)至在線狀態(tài)的過程包括多個(gè)邏輯步驟,包括以下驗(yàn)證受租戶任務(wù)影響的角色實(shí)例在起作用;以及通知管理角色關(guān)于角色實(shí)例上的租戶任務(wù)的執(zhí)行完成,由此提示該服務(wù)應(yīng)用繼續(xù)利用這些角色實(shí)例來執(zhí)行多個(gè)任務(wù)。在又一方面中,本發(fā)明的實(shí)施例涉及用于執(zhí)行使租戶任務(wù)的部署與服務(wù)應(yīng)用的組件程序協(xié)調(diào)的方法的計(jì)算機(jī)系統(tǒng)。一般地,該計(jì)算機(jī)系統(tǒng)包括耦合到計(jì)算機(jī)存儲(chǔ)介質(zhì)的處理單元,其中該計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)可由該處理單元執(zhí)行的多個(gè)計(jì)算機(jī)軟件組件。最初,計(jì)算機(jī)軟件組件包括該服務(wù)應(yīng)用的一個(gè)或多個(gè)角色實(shí)例、租戶改變管理器、管理角色、主機(jī)代理、線路協(xié)議、調(diào)度組件以及節(jié)點(diǎn)狀態(tài)驅(qū)動(dòng)器。在實(shí)施例中,角色實(shí)例代表支持該服務(wù)應(yīng)用的功能的組件程序。租戶改變管理器典型地配置用于指導(dǎo)租戶任務(wù)的部署。指導(dǎo)部署的過程一般包括傳達(dá)租戶任務(wù)部署的指示;發(fā)起將角色實(shí)例停用至離線狀態(tài);允許租戶任務(wù)在角色實(shí)例上執(zhí)行;以及發(fā)起將角色實(shí)例恢復(fù)至在線狀態(tài)。作為服務(wù)應(yīng)用的組件的管理角色典型地配置用于監(jiān)測角色實(shí)例的內(nèi)部狀態(tài)。在實(shí)施例中,在接收到租戶任務(wù)的部署的指示后,管理角色就負(fù)責(zé)確定所監(jiān)測到的受租戶任務(wù)影響的角色實(shí)例的內(nèi)部狀態(tài)是否在該服務(wù)應(yīng)用的不受租戶任務(wù)影響的部分上復(fù)制。此外,管理角色可配置用于將內(nèi)部狀態(tài)可用性的指示傳達(dá)至租戶改變管理器。主機(jī)代理典型地駐留在主存角色實(shí)例的節(jié)點(diǎn)上。在操作中,主機(jī)代理通過線路協(xié)議向服務(wù)應(yīng)用展現(xiàn)角色實(shí)例的預(yù)期狀態(tài)。如本文中所使用,短語“預(yù)期狀態(tài)” 一般代表角色實(shí)例采取離線狀態(tài)或在線狀態(tài)的目標(biāo)。調(diào)度組件一般配置用于根據(jù)優(yōu)先級(jí)方案使租戶任務(wù)被高優(yōu)先級(jí)任務(wù)中斷。而且,節(jié)點(diǎn)狀態(tài)驅(qū)動(dòng)器一般配置用于將角色實(shí)例停用至離線狀態(tài)、執(zhí)行租戶任務(wù)、以及在租戶改變管理器的指導(dǎo)下將角色實(shí)例恢復(fù)至在線狀態(tài)。如上所述,與使服務(wù)應(yīng)用的所有角色實(shí)例同時(shí)離線相比,租戶任務(wù)通常被劃分成多個(gè)階段并在服務(wù)應(yīng)用的角色實(shí)例分組上逐步進(jìn)行。因此,本發(fā)明的實(shí)施例涉及標(biāo)識(shí)主存環(huán)境或數(shù)據(jù)中心內(nèi)的更新域。如本文中所利用,短語“更新域”不意味著限制性,而是一般表示主存該服務(wù)應(yīng)用的一個(gè)或多個(gè)角色實(shí)例并且可同時(shí)離線的一組節(jié)點(diǎn)(例如物理機(jī)或虛擬機(jī))的描述。在特定實(shí)施例中,通過更新域描述的該組節(jié)點(diǎn)代表可能同時(shí)不可用(例如在有意地使那些節(jié)點(diǎn)離線以向其安裝軟件)、同時(shí)確保依賴于那些節(jié)點(diǎn)的服務(wù)應(yīng)用保持可用的節(jié)點(diǎn)。即,更新域的該組節(jié)點(diǎn)典型地包括在執(zhí)行租戶任務(wù)時(shí)被允許同時(shí)不起作用的有限數(shù)量的節(jié)點(diǎn),以確保在運(yùn)行在該組節(jié)點(diǎn)上的角色實(shí)例在更新域以外具有復(fù)制。因此,更新域被設(shè)置在適當(dāng)?shù)奈恢?,以向服?wù)應(yīng)用的擁有者確保僅該服務(wù)應(yīng)用的最小數(shù)量的角色實(shí)例會(huì)同時(shí)失效。建立更新域一般包括遵守由主存環(huán)境施加的多個(gè)規(guī)則。例如,存在對(duì)可加入公共更新域的角色A的實(shí)例數(shù)量的限制?;蛘?,存在對(duì)可與角色A的實(shí)例一起加入公共更新域的角色B的實(shí)例數(shù)量的限制。一般而言,如本文中使用的“角色”提供該服務(wù)應(yīng)用的起作用部分的模板描述。例如,在在線購物服務(wù)應(yīng)用的情況下,存在在三個(gè)角色之間劃分的三個(gè)核心任務(wù),分別是角色A (被分配呈現(xiàn)第一 GUI以接收購買訂單的任務(wù))、角色B (被分配執(zhí)行購買訂單的任務(wù))、以及角色C (被分配呈現(xiàn)第二 GUI以傳達(dá)購買訂單的狀態(tài)的任務(wù))。在示例性實(shí)施例中,各個(gè)角色代表該服務(wù)應(yīng)用的特定類的程序組件。典型地,服務(wù)模型描述在數(shù)據(jù)中心內(nèi)放置每個(gè)角色的多少個(gè)實(shí)例,其中每個(gè)實(shí)例是特定類的程序組件或角色的復(fù)制。換言之,每個(gè)角色代表每類程序組件的實(shí)例的集合,其中該服務(wù)應(yīng)用可具有用于執(zhí)行其功能的任何數(shù)量的程序組件類。角色通常具有對(duì)其應(yīng)用的配置設(shè)定。在一個(gè)實(shí)例中,該角色的配置設(shè)定可包括由該角色的所有實(shí)例共享的集體設(shè)定。在另一實(shí)例中,配置設(shè)定可包括每個(gè)角色實(shí)例特定的個(gè)體設(shè)定。這些個(gè)體設(shè)定可包括在角色實(shí)例處存儲(chǔ)的狀態(tài),其中該狀態(tài)是該角色實(shí)例所專有的。參考上述在線購物服務(wù)應(yīng)用,存儲(chǔ)在角色B的實(shí)例處的狀態(tài)可以是由某個(gè)客戶作出的特定購買訂單的細(xì)節(jié)。在簡要描述了本發(fā)明的實(shí)施例的概覽后,以下描述適于實(shí)現(xiàn)本發(fā)明的實(shí)施例的示例性操作環(huán)境。操作環(huán)境首先具體參考圖1,示出了用于實(shí)現(xiàn)本發(fā)明的各實(shí)施方式的示例性操作環(huán)境,并將其概括地指定為計(jì)算設(shè)備100。計(jì)算設(shè)備100只是合適的計(jì)算環(huán)境的一個(gè)示例,并且不旨在對(duì)本發(fā)明的使用范圍或功能提出任何限制。也不應(yīng)該將計(jì)算設(shè)備100解釋為對(duì)所示出的任一組件或其組合有任何依賴性或要求。本發(fā)明可以在由計(jì)算機(jī)或諸如個(gè)人數(shù)據(jù)助理或其他手持式設(shè)備之類的其他機(jī)器執(zhí)行的計(jì)算機(jī)代碼或機(jī)器可使用指令(包括諸如程序模塊之類的計(jì)算機(jī)可執(zhí)行指令)的一般上下文中描述。一般而言,包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等的程序模塊是指執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的代碼。本發(fā)明可以在各種系統(tǒng)配置中實(shí)施,這些系統(tǒng)配置包括手持式設(shè)備、消費(fèi)電子產(chǎn)品、通用計(jì)算機(jī)、專用計(jì)算設(shè)備等等。本發(fā)明也可以在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境中實(shí)施。參考圖1,計(jì)算設(shè)備100包括直接或間接耦合以下設(shè)備的總線110 :存儲(chǔ)器112、一個(gè)或多個(gè)處理器114、一個(gè)或多個(gè)呈現(xiàn)組件116、輸入/輸出(I/O)端口 118、輸入/輸出組件120、和說明性電源122。總線110可以是一條或多條總線(諸如地址總線、數(shù)據(jù)總線、或其組合)。雖然為了清楚起見利用線條示出了圖1的各框,但是實(shí)際上,各組件的輪廓并不是那樣清楚,并且比喻性地來說,線條更精確地將是灰色的和模糊的。例如,可以將諸如顯示設(shè)備等呈現(xiàn)組件認(rèn)為是I/O組件。而且,處理器具有存儲(chǔ)器。發(fā)明人認(rèn)識(shí)到這是本領(lǐng)域的特性,并重申,圖1的圖示只是例示可以結(jié)合本發(fā)明的一個(gè)或多個(gè)實(shí)施方式來使用的示例性計(jì)算設(shè)備。諸如“工作站”、“服務(wù)器”、“膝上型計(jì)算機(jī)”、“手持式設(shè)備”等分類之間沒有區(qū)別,它們?nèi)慷急徽J(rèn)為是在圖1的范圍之內(nèi)的并且被稱為“計(jì)算設(shè)備”。計(jì)算設(shè)備100通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是可由計(jì)算設(shè)備100訪問的任何可用介質(zhì),而且包含易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。作為示例而非限制,計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,RAM、ROM、EEPR0M、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其它磁性存儲(chǔ)設(shè)備、或能用于存儲(chǔ)所需信息且可以由計(jì)算設(shè)備100訪問的任何其它介質(zhì)。通信介質(zhì)一般將計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)包含在經(jīng)調(diào)制的數(shù)據(jù)信號(hào)中,諸如載波或其它傳輸介質(zhì)并且包括任何信息傳遞介質(zhì)。術(shù)語“經(jīng)調(diào)制數(shù)據(jù)信號(hào)”是指具有以在信號(hào)中編碼信息的方式被設(shè)定或改變其一個(gè)或多個(gè)特征的信號(hào)。作為示例而非限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接線路連接,以及無線介質(zhì),諸如聲學(xué)、RF、紅外線和其他無線介質(zhì)。上述的任意組合也應(yīng)包含在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。存儲(chǔ)器112包括易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì)。存儲(chǔ)器可以是可移動(dòng)的、不可移動(dòng)的、或其組合。示例性硬件設(shè)備包括固態(tài)存儲(chǔ)器、硬盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器等。計(jì)算設(shè)備100包括從諸如存儲(chǔ)器112或I/O組件120等各種實(shí)體讀取數(shù)據(jù)的一個(gè)或多個(gè)處理器。呈現(xiàn)組件116向用戶或其他設(shè)備呈現(xiàn)數(shù)據(jù)指示。示例性呈現(xiàn)組件包括顯示設(shè)備、揚(yáng)聲器、打印組件、振動(dòng)組件等等。I/O端口 118允許計(jì)算設(shè)備100邏輯上耦合至包括I/O組件120的其他設(shè)備,其中某些設(shè)備可以是內(nèi)置的。說明性組件包括話筒、操縱桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀、打印機(jī)、無線設(shè)備等等。數(shù)據(jù)中心的體系結(jié)構(gòu)現(xiàn)在轉(zhuǎn)到圖2,示出了根據(jù)本發(fā)明的實(shí)施例的框圖,其中示出了數(shù)據(jù)中心200,配置成容許和支持根據(jù)服務(wù)模型的服務(wù)應(yīng)用的組件程序或角色實(shí)例的操作。本領(lǐng)域普通技術(shù)人員將理解和領(lǐng)會(huì),圖2中示出的數(shù)據(jù)中心200僅僅是主存環(huán)境的一個(gè)合適的部分的示例,并且不旨在暗示關(guān)于本發(fā)明的實(shí)施例的用途或功能的范圍的任何限制。數(shù)據(jù)中心200也不應(yīng)解釋為具有與其中示出的任何單個(gè)資源或資源的組合有關(guān)的任何依賴性或要求。此外,盡管為了清楚起見用線條示出了圖2的各個(gè)框,但是在實(shí)際上,各組件的輪廓并不是那樣清楚,并且比喻性地來說,線條更精確地將是灰色的和模糊的。數(shù)據(jù)中心200包括經(jīng)由網(wǎng)絡(luò)云240互連的多個(gè)資源。如本文中描述的這些資源可包括軟件組件(例如結(jié)構(gòu)控制器295)以及有形硬件元件,諸如機(jī)架A205、機(jī)架B210、機(jī)架C215、頂機(jī)架交換機(jī)230、電源板235、服務(wù)器270、計(jì)算設(shè)備280、更新域251以及更新域252。網(wǎng)絡(luò)云240互連這些資源,使得在多個(gè)物理資源上分布放置的服務(wù)應(yīng)用的實(shí)例可識(shí)別其它實(shí)例的位置,以在這些實(shí)例之間建立通信。此外,網(wǎng)絡(luò)云240通過連接服務(wù)應(yīng)用的實(shí)例的信道以及該服務(wù)模型需要的任何其它元件來促進(jìn)該通信。該網(wǎng)絡(luò)可包括但不限于一個(gè)或多個(gè)局域網(wǎng)(LAN)和/或廣域網(wǎng)(WAN)。這樣的聯(lián)網(wǎng)環(huán)境常見于辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中。因此,網(wǎng)絡(luò)不在此進(jìn)一步描述。一般而言,數(shù)據(jù)中心200容許一種分布式系統(tǒng),其中服務(wù)應(yīng)用的多個(gè)組件程序或角色實(shí)例在執(zhí)行這些組件程序的處理設(shè)備上獨(dú)立運(yùn)行,但經(jīng)由網(wǎng)絡(luò)云240互連。有時(shí)候,這些計(jì)算資源或節(jié)點(diǎn)會(huì)經(jīng)歷多個(gè)更新。更新域251和252典型地提供如下的一組保證服務(wù)應(yīng)用的角色實(shí)例將分布在數(shù)據(jù)中心200中的資源上,而且不會(huì)在底層平臺(tái)的更新期間全部同時(shí)離線。相應(yīng)地,保留了服務(wù)應(yīng)用的操作的一致性。返回?cái)?shù)據(jù)中心200的配置,服務(wù)器270、計(jì)算設(shè)備280、故障域251和252以及具有與其耦合的刀片(例如刀片A260、刀片B261、刀片C262)的機(jī)架A205、B210以及C215中的每一個(gè)可以是任何類型的計(jì)算設(shè)備,諸如以上參考圖1所描述的計(jì)算設(shè)備100。僅作為示例而非限制,服務(wù)器270、計(jì)算設(shè)備280以及刀片A260、刀片B261以及刀片C262中的每一個(gè)可以是個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、手持設(shè)備、移動(dòng)手持設(shè)備、消費(fèi)電子設(shè)備以及類似物。在實(shí)施例中,數(shù)據(jù)中心200可包括以上列出的任何數(shù)量的物理資源,且可包括計(jì)算設(shè)備的任何集合或能夠執(zhí)行該服務(wù)應(yīng)用的其它機(jī)器。此外,上述物理資源中的一個(gè)或多個(gè)可進(jìn)一步主存駐留在其上的結(jié)構(gòu)控制器295,以經(jīng)由通過數(shù)據(jù)中心200的有線或無線網(wǎng)絡(luò)路徑來部署、訪問以及管理該服務(wù)應(yīng)用。然而,應(yīng)理解,本發(fā)明的實(shí)施例不限于在圖2中示出的這樣的物理資源上的實(shí)現(xiàn),而可以在本發(fā)明的實(shí)施例范圍內(nèi)的多種不同類型的計(jì)算設(shè)備和設(shè)施中的任一種上實(shí)現(xiàn)。換言之,所示出的數(shù)據(jù)中心200的資源描繪了僅旨在用于討論目的的示例性配置;因此,計(jì)算工業(yè)中已知的任何合適的資源布局可被使用并由本發(fā)明構(gòu)想。具體而言,數(shù)據(jù)中心200的示例性資源用于引入更新域的概念。如上所討論,更新域代表在數(shù)據(jù)中心200內(nèi)執(zhí)行租戶任務(wù)時(shí)變得不可用的節(jié)點(diǎn)的組或集合。如上所討論,節(jié)點(diǎn)可指代數(shù)據(jù)中心200中的刀片(例如刀片A260、刀片B261以及刀片C262)、計(jì)算機(jī)(例如計(jì)算設(shè)備280)、機(jī)器(例如服務(wù)器270)或能夠運(yùn)行服務(wù)應(yīng)用的組件程序或?qū)嵗娜魏纹渌O(shè)備。因此,抽象出更新域的優(yōu)點(diǎn)是為了理解數(shù)據(jù)中心內(nèi)的哪些資源組在執(zhí)行租戶任務(wù)的一個(gè)階段時(shí)一起離線,以及如何隔離其它資源以免離線。雖然已經(jīng)描述了數(shù)據(jù)中心200和更新域251和252的多種不同配置,但本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)理解和領(lǐng)會(huì),可基于在節(jié)點(diǎn)上運(yùn)行的角色實(shí)例的身份來抽象出將一組節(jié)點(diǎn)分組的其它類型的合適更新域,而且本發(fā)明的實(shí)施例不限于本文中示出的那些更新域251和 252。服務(wù)應(yīng)用的更新域現(xiàn)在轉(zhuǎn)到圖3,示出了根據(jù)本發(fā)明的實(shí)施例的示例性主存環(huán)境300的圖形表示。具體而言,主存環(huán)境300包括結(jié)構(gòu)控制器295、服務(wù)應(yīng)用350以及用于支持結(jié)構(gòu)控制器295和服務(wù)應(yīng)用350的操作的數(shù)據(jù)中心200。如上所討論,數(shù)據(jù)中心200包括至少部分地基于服務(wù)應(yīng)用350的角色A、B和C的冗余被組織成更新域305和310的資源,其中角色位于實(shí)例311、312、313、321、322以及323處。一般而言,更新域305和310分別描述了根據(jù)更新方案或“任務(wù)列表”而被有意地致使同時(shí)不可用的一個(gè)或多個(gè)節(jié)點(diǎn)。在實(shí)施例中,任務(wù)列表(參見圖6的附圖標(biāo)記610)根據(jù)優(yōu)先級(jí)來組織被調(diào)度和/或待決的租戶任務(wù)。如下文更完整討論,使任務(wù)列表的至少一部分顯露給服務(wù)應(yīng)用350的管理角色,以使服務(wù)應(yīng)用350準(zhǔn)備好接收即將來臨的租戶任務(wù)。如本文中所使用,短語“租戶任務(wù)”指的是由結(jié)構(gòu)控制器295對(duì)服務(wù)應(yīng)用350執(zhí)行的不可變的一組改變操作。這些改變操作會(huì)影響服務(wù)應(yīng)用350的可用性。在實(shí)施例中,當(dāng)前存在由主存環(huán)境300定義的固定數(shù)量的租戶任務(wù)類型。然而,這些任務(wù)類型可在未來擴(kuò)展。著重于服務(wù)應(yīng)用350的示例性租戶任務(wù)包括以下服務(wù)應(yīng)用更新任務(wù)(例如維護(hù)動(dòng)作);以及服務(wù)應(yīng)用代碼修改(例如升級(jí)動(dòng)作或推出新版本);服務(wù)應(yīng)用拓?fù)涓淖?;服?wù)應(yīng)用配置改變;在采用重啟(例如停止和開始操作)的節(jié)點(diǎn)320的虛擬機(jī)(VM)內(nèi)的服務(wù)應(yīng)用訪客OS改變;采用重啟和重鋪的服務(wù)應(yīng)用維修(例如改變訪客OS的注冊表)。一般而言,維修在VM無法通過其它進(jìn)程恢復(fù)時(shí)發(fā)起。其它類型的租戶任務(wù)可著重于主存環(huán)境300的維護(hù)。這些租戶任務(wù)類型的示例包括以下基礎(chǔ)結(jié)構(gòu)更新(當(dāng)出故障時(shí)使實(shí)例321、322和323離線);將應(yīng)用350從一個(gè)地理位置遷移至另一地理位置(例如由于硬件和其它平臺(tái)問題導(dǎo)致的實(shí)例321、322或323的重新定位);以及資源更新(例如對(duì)監(jiān)測運(yùn)行在節(jié)點(diǎn)320的VM上的實(shí)例321、322和323的代理的更新)。雖然著重于改變主存環(huán)境300,但這些類型的租戶任務(wù)也可產(chǎn)生實(shí)例321、322或323的可用性的中斷。
      租戶任務(wù)的執(zhí)行可由主存環(huán)境300的需求(例如更新操作系統(tǒng)軟件的版本)驅(qū)動(dòng),或可由主存環(huán)境300的管理員來引起。當(dāng)選擇租戶任務(wù)以在數(shù)據(jù)中心200內(nèi)實(shí)現(xiàn)時(shí),租戶任務(wù)的實(shí)際執(zhí)行可按階段逐步地進(jìn)行。即,租戶任務(wù)被劃分成多個(gè)階段,其中每個(gè)階段的執(zhí)行潛在地影響服務(wù)應(yīng)用350的部分(例如一個(gè)或多個(gè)角色實(shí)例)。例如,如果服務(wù)應(yīng)用350具有角色A的十個(gè)實(shí)例,則可將租戶任務(wù)分成十個(gè)階段,階段可進(jìn)一步分成子集。在實(shí)施例中,取決于租戶任務(wù)類型、該租戶任務(wù)專有的限制、或服務(wù)應(yīng)用350的部署布局,整個(gè)更新域或更新域的子集可受階段的影響。此外,階段執(zhí)行的排序是租戶任務(wù)類型所專屬的,和/或受服務(wù)應(yīng)用350的服務(wù)模型管控。在操作中,執(zhí)行每個(gè)階段可包括在不同的更新域執(zhí)行租戶任務(wù),直到解決每個(gè)更新域?yàn)橹?。例如,租戶任?wù)的第一階段可包括停用更新域305內(nèi)的節(jié)點(diǎn)320以執(zhí)行維護(hù)操作,而租戶任務(wù)的第二階段可包括停用更新域310內(nèi)的節(jié)點(diǎn)。停用節(jié)點(diǎn)320隱含地而且并發(fā)地使角色321、322以及323離線。然而,由于角色A位于實(shí)例311和321處,角色B位于實(shí)例322和312處,以及角色C位于實(shí)例323和313處,使角色321、322以及323離線將不一定使服務(wù)應(yīng)用350不可用。有時(shí)候,當(dāng)角色僅位于最小數(shù)量的實(shí)例處時(shí),在租戶階段期間實(shí)際上僅使更新域的子集離線。即,當(dāng)角色實(shí)例321、322和323被分組到相同更新域305中時(shí),可使角色實(shí)例321,322和323的任何組合同時(shí)離線。不過,在第一階段期間,租戶任務(wù)的效果僅限于更新域305的那些角色實(shí)例321、322以及323。如果服務(wù)應(yīng)用350是有狀態(tài)應(yīng)用,而且如果角色實(shí)例321、322和323(包含在更新域305中)的狀態(tài)未在角色實(shí)例311、312和313 (包含在更新域310中)中復(fù)制,則在實(shí)現(xiàn)租戶任務(wù)的第一階段時(shí)可能發(fā)生信息的不可用。因此,以下討論的本發(fā)明的實(shí)施例涉及協(xié)調(diào)租戶任務(wù)的技術(shù),使得在迭代地執(zhí)行租戶任務(wù)的多個(gè)階段時(shí),不使存儲(chǔ)在角色實(shí)例處的狀態(tài)不可用。本發(fā)明的實(shí)施例進(jìn)一步包括對(duì)分布式服務(wù)應(yīng)用350的拓?fù)涞母?。有利地,該拓?fù)涓略试S服務(wù)應(yīng)用350的角色實(shí)例為了互相通信的目的而檢查該服務(wù)應(yīng)用350的其它角色實(shí)例。在實(shí)例中,該拓?fù)涓掳ㄓ糜谠诜?wù)應(yīng)用的角色實(shí)例上傳播有關(guān)該服務(wù)應(yīng)用拓?fù)涞男畔⒌臋C(jī)制。作為示例,所傳播的信息可包括重新定位的角色實(shí)例的改變地址的描述和/或可散布至整個(gè)服務(wù)應(yīng)用350的其它數(shù)據(jù)?,F(xiàn)在將參考圖3描述該拓?fù)涓隆W畛?,如果角色A的實(shí)例321想要與角色B的實(shí)例322通信,則實(shí)例321應(yīng)當(dāng)知曉實(shí)例322的位置(例如IP地址)以便發(fā)起該通信。典型地,分別使用IP地址到角色實(shí)例321和322的名稱的映射,以便促進(jìn)角色實(shí)例321與322之間的通信。該映射被保持在實(shí)例321和322中的每一個(gè)處。經(jīng)過實(shí)例321和322的最初部署,映射是當(dāng)前的,因?yàn)閷?shí)例321和322的位置自從節(jié)點(diǎn)320上的實(shí)例化之后已經(jīng)保持靜態(tài)。隨時(shí)間流逝,經(jīng)過對(duì)服務(wù)應(yīng)用350進(jìn)行的動(dòng)態(tài)更新(例如重新定位、添加或去除),實(shí)例321和322中的一個(gè)或二者可能經(jīng)歷原始IP地址的改變。實(shí)例321和322中的一個(gè)或多個(gè)的這些改變的IP地址可能使服務(wù)應(yīng)用的其它實(shí)例具有不準(zhǔn)確的映射,從而導(dǎo)致服務(wù)應(yīng)用拓?fù)涞牟灰恢吕斫夂拖嗷ネㄐ诺闹袛?。例如,如果由于?shí)例322已經(jīng)移動(dòng),實(shí)例321處保持的映射包括與服務(wù)應(yīng)用拓?fù)溆嘘P(guān)的不準(zhǔn)確信息,則實(shí)例321可能無法定位實(shí)例322或與實(shí)例322交談。
      為了解決以上討論的問題,配置了拓?fù)涓乱允┘尤哂嗍侄?,該冗余手段記憶IP地址相對(duì)于更新域的改變。例如,當(dāng)兩個(gè)角色實(shí)例321和311分別被添加至兩個(gè)分開的更新域305和310時(shí),在第一更新域305內(nèi)操作的服務(wù)應(yīng)用350被通知第一角色實(shí)例321被放置在其中,同時(shí)在第二更新域310內(nèi)操作的服務(wù)應(yīng)用350被通知第二角色實(shí)例311被放置在其中。然后,經(jīng)過分發(fā)通知之后,第一和第二角色實(shí)例321和311在它們各自的更新域305和310中被實(shí)例化和啟動(dòng)。因此,駐留在其它角色實(shí)例322、323、312和313的映射處的拓?fù)湫畔⒈桓聝纱?,給予服務(wù)應(yīng)用350關(guān)于新角色實(shí)例321和311的定位位置的一致理解。對(duì)更新域(UD)應(yīng)用租戶任務(wù)現(xiàn)在轉(zhuǎn)到圖4,圖形表示示出根據(jù)本發(fā)明的實(shí)施例的用于在有狀態(tài)服務(wù)應(yīng)用(例如角色A)和無狀態(tài)服務(wù)應(yīng)用(例如角色B)二者上執(zhí)行租戶任務(wù)的階段的流程。當(dāng)在無狀態(tài)服務(wù)應(yīng)用上執(zhí)行租戶任務(wù)時(shí),通常不考慮角色實(shí)例中的一個(gè)或多個(gè)上具體存儲(chǔ)的內(nèi)部狀態(tài)。因此,可按照調(diào)度使無狀態(tài)應(yīng)用的角色實(shí)例離線。例如,當(dāng)租戶任務(wù)的階段包括更新包含無狀態(tài)應(yīng)用的角色實(shí)例B410的UD時(shí),租戶任務(wù)在角色實(shí)例B410上執(zhí)行(參見圖4的框440),從而導(dǎo)致經(jīng)更新的角色實(shí)例B’ 420。在該示例中,沒有理由與無狀態(tài)應(yīng)用的其它角色實(shí)例協(xié)調(diào),因?yàn)檫@些狀態(tài)被安全地上傳到遠(yuǎn)程數(shù)據(jù)存儲(chǔ)(即未本地存儲(chǔ)在角色實(shí)例B410處)。然而,當(dāng)在有狀態(tài)服務(wù)應(yīng)用上執(zhí)行租戶任務(wù)時(shí),存在對(duì)角色實(shí)例上存儲(chǔ)的內(nèi)部狀態(tài)的考慮。因此,可按照協(xié)調(diào)方式使有狀態(tài)服務(wù)應(yīng)用的角色實(shí)例離線。在示例性實(shí)施例中,該協(xié)調(diào)包括在UD處執(zhí)行租戶任務(wù)時(shí)采用至少以下階段準(zhǔn)備UD (參見框430);在UD上執(zhí)行工作(參見框440);以及恢復(fù)UD (參見框450)。當(dāng)準(zhǔn)備UD的角色實(shí)例A405以接收租戶任務(wù)時(shí),有狀態(tài)服務(wù)應(yīng)用的管理組件(參見圖5的附圖標(biāo)記597、598和599)負(fù)責(zé)確定是否會(huì)使角色實(shí)例A405離線,并標(biāo)識(shí)存儲(chǔ)在角色實(shí)例A405上的內(nèi)部狀態(tài)。在實(shí)施例中,確定是否會(huì)使角色實(shí)例A405離線包括至少以下步驟識(shí)別結(jié)構(gòu)控制器執(zhí)行特定租戶任務(wù)的意圖(例如接收來自結(jié)構(gòu)控制器的角色實(shí)例A405的目標(biāo)狀態(tài),該目標(biāo)狀態(tài)警告管理角色關(guān)于將使角色實(shí)例A405進(jìn)入離線狀態(tài));接收來自結(jié)構(gòu)控制器的描述租戶任務(wù)類型的信息(例如要在角色實(shí)例A405上執(zhí)行的操作和那些操作的效果);使結(jié)構(gòu)控制器暫停執(zhí)行租戶任務(wù)(例如直到管理角色以批準(zhǔn)繼續(xù)執(zhí)行作為響應(yīng)或直到預(yù)定時(shí)間段期滿為止);采取動(dòng)作以查明在使角色實(shí)例A405進(jìn)入離線狀態(tài)時(shí)服務(wù)應(yīng)用是否將保持可用;以及利用消息對(duì)結(jié)構(gòu)控制器作出響應(yīng)。因此,管理角色提示服務(wù)應(yīng)用重新配置自身以不再依賴于或指望UD內(nèi)進(jìn)入離線狀態(tài)的角色實(shí)例A405。以此方式,響應(yīng)于結(jié)構(gòu)控制器而從管理角色發(fā)送的消息可指示角色實(shí)例A405準(zhǔn)備好離線。如果經(jīng)過評(píng)估經(jīng)調(diào)度而在角色實(shí)例A405上執(zhí)行的租戶任務(wù)類型并查明該服務(wù)應(yīng)用將在使角色實(shí)例A405進(jìn)入離線狀態(tài)時(shí)不保持可用,則管理角色可能不同意使UD離線。以此方式,管理角色可以利用拒絕允許租戶任務(wù)在角色實(shí)例A405上繼續(xù)的消息來對(duì)結(jié)構(gòu)控制器作出響應(yīng)??紤]來自管理角色的傳遞拒絕租戶任務(wù)的消息,結(jié)構(gòu)控制器智能地決定如何部分地基于租戶任務(wù)類型來繼續(xù)。例如,如果租戶任務(wù)類型包括對(duì)主存環(huán)境的基礎(chǔ)平臺(tái)的維修,則結(jié)構(gòu)控制器可不管管理角色所試圖的拒絕而繼續(xù)租戶任務(wù)在角色實(shí)例A405上的執(zhí)行。如果租戶任務(wù)類型包括僅對(duì)該服務(wù)應(yīng)用的更新,則結(jié)構(gòu)控制器可留意管理角色的拒絕,并取消租戶任務(wù)在角色實(shí)例A405上的執(zhí)行。如果租戶任務(wù)類型包括對(duì)主存角色實(shí)例A405的節(jié)點(diǎn)的OS的維護(hù)動(dòng)作,則結(jié)構(gòu)控制器可試圖與管理角色協(xié)調(diào)使角色實(shí)例A405進(jìn)入離線狀態(tài)。在一個(gè)實(shí)例中,協(xié)調(diào)包括管理角色請求暫停,暫時(shí)中斷租戶任務(wù)的執(zhí)行以允許角色實(shí)例A405將其內(nèi)部狀態(tài)復(fù)制到針對(duì)租戶任務(wù)當(dāng)前被選定為目標(biāo)的UD之外的另一角色實(shí)例。在另一實(shí)例中,協(xié)調(diào)包括調(diào)停故障轉(zhuǎn)移,該調(diào)停故障轉(zhuǎn)移通過可控地延遲使角色實(shí)例A405進(jìn)入離線狀態(tài),且通過復(fù)制其內(nèi)部狀態(tài)以在UD上產(chǎn)生冗余,同時(shí)使該UD的其它角色實(shí)例進(jìn)入離線狀態(tài)。當(dāng)管理角色和/或結(jié)構(gòu)控制器確定可使角色實(shí)例A405進(jìn)入離線狀態(tài)(參見框435),則可在包含該角色實(shí)例A405的UD上開始工作(參見框440)。在該工作階段,結(jié)構(gòu)控制器根據(jù)租戶任務(wù)的定義來執(zhí)行各種任務(wù)(例如執(zhí)行維護(hù)動(dòng)作)。典型地,在該工作階段期間,結(jié)構(gòu)控制器進(jìn)行該租戶任務(wù)的執(zhí)行,且不與管理角色交流。一旦完成租戶任務(wù)的任務(wù),在繼續(xù)下一階段之前,角色實(shí)例A405被允許穩(wěn)定化,使得其內(nèi)部狀態(tài)不再為瞬態(tài)。經(jīng)過角色實(shí)例A405穩(wěn)定化之后,可恢復(fù)UD (參見框450)。在恢復(fù)階段期間,由結(jié)構(gòu)控制器通知服務(wù)應(yīng)用的管理角色關(guān)于租戶任務(wù)完成。進(jìn)一步,在恢復(fù)階段期間,在使UD進(jìn)入在線狀態(tài)(參見框455)以及指定角色實(shí)例A405為經(jīng)更新的角色實(shí)例A’ 415之前,管理角色負(fù)責(zé)確保所有受影響的角色實(shí)例起作用并且穩(wěn)定。如所能看到,在UD準(zhǔn)備階段430與UD恢復(fù)階段450期間,存在服務(wù)應(yīng)用的管理角色與結(jié)構(gòu)控制器之間的協(xié)調(diào)。具體而言,在這兩個(gè)階段430和450期間,管理角色計(jì)算服務(wù)應(yīng)用的可用性以確定租戶任務(wù)是否繼續(xù)至下一階段。取決于任務(wù)類型和服務(wù)應(yīng)用賬戶設(shè)定,該應(yīng)用可以或可以不阻止該任務(wù)執(zhí)行,但在任何情況下,它可推遲該任務(wù)執(zhí)行。有時(shí)候,可在租戶任務(wù)待決時(shí)(例如角色A405正在階段430、440或450中的一個(gè)處進(jìn)行處理)發(fā)起高優(yōu)先級(jí)任務(wù)。當(dāng)高優(yōu)先級(jí)任務(wù)被檢測為發(fā)起時(shí),待決的租戶任務(wù)被搶先。在示例性實(shí)施例中,搶先可包括將租戶任務(wù)的執(zhí)行讓位,允許高優(yōu)先級(jí)任務(wù)在角色A405上執(zhí)行,并在高優(yōu)先級(jí)任務(wù)執(zhí)行完成時(shí)繼續(xù)租戶任務(wù)。在搶先期間,例如,調(diào)度組件(參考圖5的標(biāo)記530)可向節(jié)點(diǎn)狀態(tài)驅(qū)動(dòng)器(參考圖5的附圖標(biāo)記460)發(fā)送讓位請求,節(jié)點(diǎn)狀態(tài)驅(qū)動(dòng)器負(fù)責(zé)推進(jìn)角色A405處的階段430、440和450。該讓位請求暫時(shí)地掛起待決的租戶任務(wù),導(dǎo)致租戶任務(wù)停止進(jìn)展,同時(shí)調(diào)用高優(yōu)先級(jí)任務(wù)以在角色A405上開始。換言之,調(diào)度組件指示節(jié)點(diǎn)狀態(tài)驅(qū)動(dòng)器執(zhí)行適當(dāng)?shù)牟僮?,這些操作使租戶任務(wù)從活動(dòng)狀態(tài)轉(zhuǎn)換為不活動(dòng)狀態(tài),且使高優(yōu)先級(jí)任務(wù)從不活動(dòng)狀態(tài)轉(zhuǎn)換為活動(dòng)狀態(tài),因?yàn)榈湫偷?,每次僅一個(gè)任務(wù)在角色A405上執(zhí)行。這些適當(dāng)?shù)牟僮骺砂◤?qiáng)行使角色A405進(jìn)入在線狀態(tài),使得角色A405基本恢復(fù),并且使角色A405進(jìn)入離線狀態(tài),使得高優(yōu)先級(jí)任務(wù)可在角色A405上進(jìn)行工作。完成高優(yōu)先級(jí)任務(wù)之后,當(dāng)租戶任務(wù)正在等待繼續(xù)時(shí),可由調(diào)度程序確定是否重新召集被中斷的租戶任務(wù)。作為示例,可測量角色A405的狀態(tài)(例如在角色A上運(yùn)行的軟件的當(dāng)前版本),并基于該狀態(tài),租戶任務(wù)可在角色A405上重新召集或被取消。因此,搶先于待決租戶任務(wù)的進(jìn)程可包括多次確定和可改變(例如添加、去除、修改)租戶任務(wù)的典型過程內(nèi)的階段430、440和450的動(dòng)作。用于實(shí)現(xiàn)租戶任務(wù)的組件參考圖5,框圖示出了根據(jù)本發(fā)明的實(shí)施例的云計(jì)算網(wǎng)絡(luò)500,包括用于執(zhí)行實(shí)現(xiàn)租戶任務(wù)的分立操作的多個(gè)組件。一般而言,網(wǎng)絡(luò)500描繪了租戶改變管理器580與服務(wù)應(yīng)用350的管理角色597-599之間的交互的一個(gè)示例。該交互可影響網(wǎng)絡(luò)500上和/或服務(wù)應(yīng)用350上的租戶任務(wù)的實(shí)現(xiàn)的協(xié)調(diào)。最初,租戶改變管理器580代表圖3的結(jié)構(gòu)控制器295的組件,負(fù)責(zé)與服務(wù)應(yīng)用350的管理角色597-599交互,并部分地基于那些交互來指導(dǎo)租戶任務(wù)的部署。指導(dǎo)部署的過程一般包括將租戶任務(wù)部署的指示傳達(dá)至向管理角色597-599 ;發(fā)起將角色實(shí)例521-523停用至離線狀態(tài);允許租戶任務(wù)在角色實(shí)例521-523上執(zhí)行;以及發(fā)起將角色實(shí)例521-523恢復(fù)至在線狀態(tài)。作為服務(wù)應(yīng)用350的組件的管理角色597-599典型地分別配置用于監(jiān)測角色實(shí)例521-523的內(nèi)部狀態(tài),角色實(shí)例521-523被分組在更新域305內(nèi)。在實(shí)施例中,在接收到租戶任務(wù)部署的指示后,管理角色597-599負(fù)責(zé)確定所監(jiān)測到的角色實(shí)例521-523的內(nèi)部狀態(tài)是否分別在服務(wù)應(yīng)用350的不受租戶任務(wù)影響的部分上(諸如更新域310的節(jié)點(diǎn)A、B和C上)被復(fù)制。如本文中所描繪,租戶任務(wù)最初選定更新域305作為目標(biāo),這影響分別在節(jié)點(diǎn)X、Y和Z上被主存的組件501、502和503的可用性。此外,管理角色597-599可被配置用于將內(nèi)部狀態(tài)的可用性指示傳達(dá)給租戶改變管理器580?,F(xiàn)在將參考圖5來詳細(xì)描述租戶改變管理器580。如上所述,租戶改變管理器580一般負(fù)責(zé)控制對(duì)云計(jì)算網(wǎng)絡(luò)500的基礎(chǔ)平臺(tái)的更新和/或維修(例如調(diào)度和組織協(xié)調(diào)租戶任務(wù))??刂频倪^程可包括租戶改變管理器580管理管理角色597-599與目標(biāo)狀態(tài)機(jī)構(gòu)510之間的交互。典型地,每個(gè)租戶任務(wù)與特定的目標(biāo)狀態(tài)機(jī)構(gòu)相關(guān)聯(lián),該目標(biāo)狀態(tài)機(jī)構(gòu)作為驅(qū)動(dòng)執(zhí)行該租戶任務(wù)所固有的工作的狀態(tài)機(jī)來操作。因此,由租戶改變管理器580管理的交互可包括以下步驟調(diào)度針對(duì)更新域305的節(jié)點(diǎn)X、Y和Z的租戶任務(wù);確定節(jié)點(diǎn)X、Y和Z上主存的組件501、502和503的身份;識(shí)別組件501、502和503分別包括作為服務(wù)應(yīng)用350的部分的角色實(shí)例521、522和523后,將執(zhí)行所調(diào)度租戶任務(wù)的意圖傳達(dá)至管理角色597-599 ;接收來自管理角色597-599的消息,該消息傳達(dá)與角色實(shí)例521、522以及523的內(nèi)部狀態(tài)有關(guān)的信息;以及通過考慮角色實(shí)例521、522和523的內(nèi)部狀態(tài)來處理租戶任務(wù)的執(zhí)行。在操作中,角色實(shí)例521、522和523的內(nèi)部狀態(tài)指導(dǎo)目標(biāo)狀態(tài)機(jī)構(gòu)510關(guān)于它在使節(jié)點(diǎn)X、Y和Z從在線狀態(tài)轉(zhuǎn)換成離線狀態(tài)時(shí)應(yīng)當(dāng)如何繼續(xù)。

      通過給管理角色597-599分別分配監(jiān)測角色實(shí)例521-523的內(nèi)部狀態(tài)的責(zé)任,允許租戶改變管理器580保持對(duì)服務(wù)應(yīng)用350的實(shí)現(xiàn)的具體細(xì)節(jié)不知曉,以便高效地操作。因此,管理角色597-599與租戶改變管理器580的合作在結(jié)構(gòu)控制器與應(yīng)用350之間有效地引入了通用協(xié)議,該協(xié)議能實(shí)現(xiàn)所有以下操作將與服務(wù)應(yīng)用350的狀態(tài)有關(guān)的充分信息提供給基礎(chǔ)平臺(tái)以滿足任何應(yīng)用管理目標(biāo);向服務(wù)應(yīng)用350提供對(duì)由基礎(chǔ)平臺(tái)發(fā)起的任何正在進(jìn)行的維護(hù)活動(dòng)的可見性;以及向服務(wù)應(yīng)用350提供正確地定時(shí)平臺(tái)發(fā)起的活動(dòng)的機(jī)
      A
      "Z o現(xiàn)在將相對(duì)于圖5的管理角色597-599來詳細(xì)描述示例性管理角色的性能。一般而言,示例性管理角色被編程為理解本地存儲(chǔ)在服務(wù)應(yīng)用350的一個(gè)或多個(gè)角色實(shí)例處的內(nèi)部狀態(tài),并在網(wǎng)絡(luò)500的基礎(chǔ)平臺(tái)上部署租戶任務(wù)(例如維護(hù)、更新以及恢復(fù)操作)期間傳達(dá)該理解。因此,如本文中所使用,短語“管理角色”泛指服務(wù)應(yīng)用中的負(fù)責(zé)監(jiān)測和評(píng)估服務(wù)應(yīng)用的內(nèi)部狀態(tài)的組件。此外,示例性的管理角色可負(fù)責(zé)與結(jié)構(gòu)控制器協(xié)調(diào)操作,該結(jié)構(gòu)控制器在執(zhí)行租戶任務(wù)時(shí)被涉及。將這些責(zé)任委派給管理角色后,結(jié)構(gòu)控制器就被提供對(duì)內(nèi)部狀態(tài)的可訪問查看,內(nèi)部狀態(tài)對(duì)于服務(wù)應(yīng)用的角色實(shí)例而言是本地的。因此,角色實(shí)例內(nèi)部狀態(tài)的復(fù)制可以是已知的并由結(jié)構(gòu)控制器考慮。實(shí)際上,通過收集和分發(fā)描述角色實(shí)例內(nèi)部狀態(tài)的信息,管理角色試圖幫助確保在租戶任務(wù)期間使節(jié)點(diǎn)進(jìn)入離線狀態(tài)時(shí),結(jié)構(gòu)控制器將不會(huì)使特定內(nèi)部狀態(tài)的所有復(fù)制都離線。因此,可改進(jìn)在結(jié)構(gòu)控制器直接監(jiān)測數(shù)據(jù)中心內(nèi)的所有有狀態(tài)應(yīng)用的所有角色實(shí)例的內(nèi)部狀態(tài)時(shí)將會(huì)發(fā)生的低效率,不過經(jīng)由管理角色使內(nèi)部狀態(tài)對(duì)于結(jié)構(gòu)控制器仍然可見。在一個(gè)示例中,如果服務(wù)應(yīng)用350具有角色A (例如接收來自顧客的一組數(shù)字圖像)、角色B (例如接收后格式化這些數(shù)字圖像)、以及角色C (例如將經(jīng)過格式化的數(shù)字圖像在n顯示器上呈現(xiàn)),則可創(chuàng)建跟蹤角色A、B和C中實(shí)例的內(nèi)部狀態(tài)(例如特定顧客數(shù)據(jù))的第四組角色D。因此,管理角色D (例如管理角色597-599)具有對(duì)服務(wù)應(yīng)用350的內(nèi)部細(xì)節(jié)的密切理解。例如,管理角色D可以知曉數(shù)字圖像的每個(gè)復(fù)制品存儲(chǔ)的位置以及存儲(chǔ)該數(shù)字圖像的角色實(shí)例(例如角色實(shí)例521-523)當(dāng)前是否可用。此外,管理角色D可能知曉個(gè)體地本地存儲(chǔ)該數(shù)字圖像的角色實(shí)例的數(shù)量。在實(shí)施例中,可通過以下步驟來建立管理角色597-599 :將服務(wù)應(yīng)用350標(biāo)識(shí)為結(jié)構(gòu)控制器已將其選擇用于與其組成高可見性的有狀態(tài)應(yīng)用;以及指定該應(yīng)用350的一個(gè)或多個(gè)角色實(shí)例(例如管理角色597-599)來承擔(dān)理解構(gòu)成該服務(wù)應(yīng)用350的其它角色實(shí)例(例如角色實(shí)例521-523)的內(nèi)部狀態(tài)的責(zé)任。一般而言,從服務(wù)模型的立場,管理角色597-599代表被服務(wù)模型定義中的標(biāo)志指定的常規(guī)服務(wù)應(yīng)用角色。此外,管理角色597-599建立后,服務(wù)應(yīng)用350可配置管理角色597-599中的一個(gè)或多個(gè)以監(jiān)測和報(bào)告服務(wù)應(yīng)用350的多個(gè)獨(dú)立部分。典型地,服務(wù)應(yīng)用350被編程為決定將管理角色597-599置于由結(jié)構(gòu)控制器推行的一組條件內(nèi)的何處。例如,結(jié)構(gòu)控制器可施加兩個(gè)管理角色不能共享同一節(jié)點(diǎn)的條件,從而保持多個(gè)角色實(shí)例高度可用。在該實(shí)例中,參考圖5,未在與被監(jiān)測的其它角色實(shí)例521-523 (即服務(wù)角色實(shí)例相對(duì)于管理角色實(shí)例)相同的節(jié)點(diǎn)X、Y和Z (例如物理機(jī)或虛擬機(jī))上建立管理角色597-599。建立并放置管理角色597-599后,通常使管理角色597-599能夠通過向租戶改變管理器580顯露管理角色597-599對(duì)角色實(shí)例521-523的內(nèi)部狀態(tài)的理解,而能夠影響被監(jiān)測的角色實(shí)例521-523上的租戶任務(wù)的協(xié)調(diào),其中租戶改變管理器580如以上討論地那樣管理租戶任務(wù)的實(shí)現(xiàn)。對(duì)角色實(shí)例內(nèi)部狀態(tài)的理解可通過爬行(crawl)角色實(shí)例521-523和任意地實(shí)現(xiàn)復(fù)雜邏輯來實(shí)現(xiàn),該復(fù)雜邏輯使對(duì)服務(wù)應(yīng)用350自身可用性的理解基于對(duì)內(nèi)部狀態(tài)的復(fù)制的數(shù)量和位置。一旦內(nèi)部狀態(tài)的理解已知,則該理解被傳達(dá)至租戶改變管理器530。在由管理角色597-599采用的用于傳達(dá)角色實(shí)例521-523的內(nèi)部狀態(tài)的理解的方案示例中,管理角色597-599可評(píng)估角色實(shí)例521-523,并傳達(dá)封裝租戶改變管理器580所需要的評(píng)估的消息。或者,評(píng)估和傳達(dá)的過程可由管理角色597-599自動(dòng)地進(jìn)行(例如在預(yù)定的時(shí)間段或在檢測到觸發(fā)事件時(shí))。在實(shí)施例中,租戶改變管理器580可包括用于執(zhí)行與協(xié)調(diào)租戶任務(wù)相關(guān)聯(lián)的特定任務(wù)的多個(gè)組件。如圖5所示,示例性組件包括執(zhí)行引擎520、調(diào)度組件530、租戶任務(wù)管理組件540以及任務(wù)相容性組件550。任務(wù)相容性組件550配置成處理租戶任務(wù)的搶先過程,其中一個(gè)任務(wù)(后部署)比另一待決租戶任務(wù)(先部署)優(yōu)先級(jí)高。租戶任務(wù)管理組件540協(xié)調(diào)租戶任務(wù)的部署、將指令發(fā)送至調(diào)度組件530、并跟蹤租戶任務(wù)的進(jìn)展。調(diào)度組件530 —般負(fù)責(zé)調(diào)度租戶任務(wù)的執(zhí)行,同時(shí)將當(dāng)前在不同服務(wù)應(yīng)用上執(zhí)行的待決租戶任務(wù)的類型考慮在內(nèi)。此外,調(diào)度組件可進(jìn)一步配置用于根據(jù)優(yōu)先級(jí)方案使一個(gè)或多個(gè)租戶任務(wù)被高優(yōu)先級(jí)任務(wù)中斷(以下參考圖6討論)。在實(shí)施例中,執(zhí)行引擎520代表通用有限狀態(tài)(FSM)機(jī),配置成調(diào)用租戶任務(wù)的發(fā)起和執(zhí)行。典型地,執(zhí)行引擎520包括描述用于執(zhí)行特定租戶任務(wù)的工作而進(jìn)行的一組步驟的框架。該框架也可提供該組步驟之間的排序以及與從一個(gè)步驟進(jìn)行到另一步驟的相關(guān)聯(lián)的鏈接。這些鏈接涉及在移動(dòng)至另一步驟之前在執(zhí)行第一步驟時(shí)應(yīng)當(dāng)滿足的條件。例如,執(zhí)行引擎520可讀取來自調(diào)度組件530和/或目標(biāo)狀態(tài)機(jī)構(gòu)510的輸入和輸出,以驅(qū)動(dòng)更新域305的狀態(tài)轉(zhuǎn)換,其中在更新域305處的狀態(tài)轉(zhuǎn)換的完成允許在該更新域上正確地執(zhí)行租戶任務(wù),并進(jìn)展至更新域310。在特定實(shí)施例中,當(dāng)充當(dāng)FSM時(shí),執(zhí)行引擎520由與租戶任務(wù)的轉(zhuǎn)換(例如不活動(dòng)狀態(tài)和活動(dòng)狀態(tài))以及角色實(shí)例的轉(zhuǎn)換(例如在線狀態(tài)和離線狀態(tài))相關(guān)聯(lián)的有限數(shù)量狀態(tài)組成,其中每個(gè)轉(zhuǎn)換包括在一個(gè)狀態(tài)開始和在另一狀態(tài)結(jié)束的一組動(dòng)作。轉(zhuǎn)換典型地由觸發(fā)器發(fā)起,該觸發(fā)器諸如檢測到的事件(例如寫/存儲(chǔ)操作)。在一個(gè)實(shí)例中,觸發(fā)器可包括接收到來自調(diào)度組件530的提示執(zhí)行引擎520在更新域305和310上執(zhí)行租戶任務(wù)的指令。一般而言,F(xiàn)SM允許一次僅駐留在一個(gè)狀態(tài)中,該狀態(tài)在本文中稱為待決租戶任務(wù)的當(dāng)前狀態(tài)。網(wǎng)絡(luò)500的基礎(chǔ)平臺(tái)包括輔助租戶改變管理器580智能地部署和執(zhí)行租戶任務(wù)的附加組件。這些附加組件可包含在結(jié)構(gòu)控制器的范圍內(nèi),或這些組件可脫離結(jié)構(gòu)控制器單獨(dú)存在(不過仍支持結(jié)構(gòu)控制器)。在實(shí)施例中,基礎(chǔ)平臺(tái)的組件包括但不限于以下組件根升級(jí)引擎590、目標(biāo)狀態(tài)機(jī)構(gòu)510以及節(jié)點(diǎn)狀態(tài)驅(qū)動(dòng)器460。根升級(jí)引擎590 —般設(shè)計(jì)成選擇一組節(jié)點(diǎn)(例如更新域310的節(jié)點(diǎn)A、B和C或更新域305的節(jié)點(diǎn)X、Y和Z),該組節(jié)點(diǎn)可在不違犯服務(wù)應(yīng)用350的基礎(chǔ)平臺(tái)或服務(wù)模型的預(yù)定規(guī)則的情況下被更新。例如,這些規(guī)則可確保被選擇用于接收租戶任務(wù)的一組節(jié)點(diǎn)主存屬于不多于一個(gè)更新域的角色實(shí)例。一旦選擇了用于接收租戶任務(wù)的該組節(jié)點(diǎn),就向租戶改變管理器580提出所選的該組節(jié)點(diǎn)以指導(dǎo)租戶任務(wù)的部署。目標(biāo)狀態(tài)機(jī)構(gòu)510 —般與管理角色597-599通信,且配置成將角色實(shí)例521-523轉(zhuǎn)換至如執(zhí)行引擎520所指示的預(yù)期狀態(tài)并保持該預(yù)期狀態(tài)。作為示例,在更新域305的準(zhǔn)備階段(參見圖4的附圖標(biāo)記430)期間,角色實(shí)例521-523的預(yù)期狀態(tài)可以是離線狀態(tài)435。另一方面,在更新域305的恢復(fù)階段(參見圖4的附圖標(biāo)記450)期間,角色實(shí)例521-523的預(yù)期狀態(tài)可以是在線狀態(tài)455。在目標(biāo)狀態(tài)機(jī)構(gòu)510的操作的一個(gè)示例中,執(zhí)行引擎520和/或調(diào)度組件530可將指令560發(fā)送至目標(biāo)狀態(tài)機(jī)構(gòu)510,請求目標(biāo)狀態(tài)機(jī)構(gòu)510將更新域305轉(zhuǎn)換至預(yù)期狀態(tài)。如本文中所使用,短語“預(yù)期狀態(tài)”一般代表角色實(shí)例521-523采取離線狀態(tài)或在線狀態(tài)的目標(biāo)。一旦采取了適當(dāng)?shù)男袆?dòng)以將角色實(shí)例521-523轉(zhuǎn)換至預(yù)期狀態(tài),則可通過線路協(xié)議(示為無箭頭的虛線)將角色實(shí)例521-523的實(shí)際狀態(tài)報(bào)告給相應(yīng)的主機(jī)代理(作為角色實(shí)例521-523駐留在公共節(jié)點(diǎn)上),相應(yīng)的主機(jī)代理將實(shí)際狀態(tài)轉(zhuǎn)發(fā)至租戶改變管理器580。租戶改變管理器580進(jìn)而可將租戶任務(wù)的實(shí)際狀態(tài)傳遞給目標(biāo)狀態(tài)機(jī)構(gòu)510,以輔助目標(biāo)狀態(tài)機(jī)構(gòu)510確定如何繼續(xù)執(zhí)行正在進(jìn)行的租戶任務(wù)。在另一實(shí)施例中,更新域305的節(jié)點(diǎn)X、Y和Z到達(dá)預(yù)期狀態(tài)后,目標(biāo)狀態(tài)機(jī)構(gòu)510可將角色實(shí)例521-523的狀態(tài)傳達(dá)至管理角色597-599。在離線狀態(tài)是預(yù)期狀態(tài)的實(shí)施例中,通信可包括發(fā)送第一消息,該第一消息通知管理角色597-599關(guān)于應(yīng)當(dāng)考慮停用角色實(shí)例521-523,以使服務(wù)應(yīng)用350準(zhǔn)備好不指望使用角色實(shí)例521-523。在在線狀態(tài)是預(yù)期狀態(tài)的實(shí)施例中,通信可包括發(fā)送第二消息,該第二消息通知管理角色597-599關(guān)于應(yīng)當(dāng)考慮啟用角色實(shí)例521-523,以使服務(wù)應(yīng)用350能夠依賴于角色實(shí)例521-523。在一些實(shí)例中,傳遞預(yù)期狀態(tài)的消息被直接轉(zhuǎn)發(fā)至運(yùn)行在受租戶任務(wù)影響的節(jié)點(diǎn)X、Y和Z的相應(yīng)根分區(qū)上的主機(jī)代理。例如,在將這些消息分發(fā)至適當(dāng)?shù)墓芾斫巧?97-599之前,這些消息可被發(fā)送至圖6的主機(jī)代理615。同樣,主機(jī)代理用于向服務(wù)應(yīng)用350揭示角色實(shí)例521-523的狀態(tài)。進(jìn)一步地,通過在節(jié)點(diǎn)X、Y和Z上本地存儲(chǔ)這些消息,這些消息能夠在結(jié)構(gòu)控制器故障轉(zhuǎn)移下和/或主存管理角色597-599的節(jié)點(diǎn)分別離線(例如在重啟或重鋪操作期間)時(shí)存活。因此,網(wǎng)絡(luò)500的基礎(chǔ)平臺(tái)被設(shè)計(jì)成,不管當(dāng)前在進(jìn)展中的租戶任務(wù)如何,都保持對(duì)消息的一致可見性。在實(shí)施例中,經(jīng)由消息保持的預(yù)期狀態(tài)可被轉(zhuǎn)移至主存服務(wù)應(yīng)用350的管理角色的實(shí)例的每個(gè)節(jié)點(diǎn)。然后,管理角色597-599可實(shí)現(xiàn)用于通過規(guī)則地檢查這些消息來周期性地輪詢更新域305和310的預(yù)期狀態(tài)的機(jī)制。這些輪詢用于檢索預(yù)期狀態(tài)和其它信息,并使其對(duì)服務(wù)應(yīng)用350可用?!┠繕?biāo)狀態(tài)機(jī)構(gòu)510設(shè)定并傳達(dá)預(yù)期狀態(tài),節(jié)點(diǎn)狀態(tài)驅(qū)動(dòng)器460就一般配置用于根據(jù)預(yù)期狀態(tài)在租戶改變管理器580的指導(dǎo)下將角色實(shí)例521-523停用至離線狀態(tài)、執(zhí)行租戶任務(wù)、以及將角色實(shí)例521-523恢復(fù)至在線狀態(tài)。遵照本發(fā)明的實(shí)施例,節(jié)點(diǎn)可代表任何形式的計(jì)算設(shè)備,諸如例如個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、移動(dòng)設(shè)備、消費(fèi)電子設(shè)備、服務(wù)器、圖1的計(jì)算設(shè)備100以及類似物。典型地,該節(jié)點(diǎn)包括或連接至一些形式計(jì)算單元(例如中央處理單元、微處理器等等)以支持角色實(shí)例和運(yùn)行在該節(jié)點(diǎn)上的其它組件的操作。如本文中所使用的那樣,短語“計(jì)算單元”通常是指具有處理能力和存儲(chǔ)存儲(chǔ)器的專用計(jì)算設(shè)備,該專用計(jì)算設(shè)備支持一個(gè)或多個(gè)操作系統(tǒng)或其他基礎(chǔ)軟件。在一個(gè)實(shí)例中,計(jì)算單元被配置為有形硬件元件或機(jī)器,有形硬件元件或機(jī)器作為節(jié)點(diǎn)的一部分或操作耦合至節(jié)點(diǎn),以使每個(gè)端點(diǎn)能執(zhí)行多種處理和操作。在另一實(shí)例中,計(jì)算單元可包含耦合至節(jié)點(diǎn)所容納的計(jì)算機(jī)可讀介質(zhì)的處理器(未示出)。一般而言,計(jì)算機(jī)可讀介質(zhì)至少臨時(shí)地存儲(chǔ)可由處理器執(zhí)行的多個(gè)計(jì)算機(jī)軟件組件(例如角色實(shí)例521-523)。如本文所使用的,術(shù)語“處理器”不旨在是限制性的,并且可包含具有計(jì)算能力的計(jì)算單元的任何要素。在這種能力中,處理器可被配置成處理指令的有形物品。在示例性實(shí)施例中,處理可以包括取指令、解碼/解釋指令、執(zhí)行和寫回指令。如圖5所示,更新域305的節(jié)點(diǎn)X、Y和Z和更新域310的節(jié)點(diǎn)A、B和C各自代表虛擬機(jī)或物理機(jī)。當(dāng)代表虛擬機(jī)時(shí),這些節(jié)點(diǎn)可包括圖1的存儲(chǔ)器112的部分和/或圖1的處理器114的部分。如在此所使用的那樣,短語“虛擬機(jī)”無意為限制性的,并且可以指由處理單元執(zhí)行以支持服務(wù)應(yīng)用的功能的任何軟件、應(yīng)用、操作系統(tǒng)或程序。在實(shí)施例中,虛擬機(jī)代表節(jié)點(diǎn)的相應(yīng)的訪客分區(qū),其中該訪客分區(qū)被啟用以主存服務(wù)應(yīng)用350或服務(wù)應(yīng)用350的至少一部分。
      一般而言,服務(wù)應(yīng)用350由以分布方式主存服務(wù)應(yīng)用350的云計(jì)算網(wǎng)絡(luò)500的租戶(例如顧客)所擁有。該節(jié)點(diǎn)可進(jìn)一步支持運(yùn)行在該節(jié)點(diǎn)上的主機(jī)代理(參見圖6的附圖標(biāo)記615)。在實(shí)施例中,主機(jī)代理615駐留在該節(jié)點(diǎn)的根分區(qū)上,其中根分區(qū)一般負(fù)責(zé)管理來自虛擬機(jī)的請求,諸如執(zhí)行盤I/O操作的請求。應(yīng)理解和領(lǐng)會(huì),圖5中示出的云計(jì)算網(wǎng)絡(luò)500僅僅是一個(gè)合適的計(jì)算系統(tǒng)環(huán)境的實(shí)例,且不旨在暗示關(guān)于本發(fā)明的實(shí)施例的使用范圍或功能的任何限制。例如,云計(jì)算網(wǎng)絡(luò)500可以是公共云、私有云或?qū)S迷啤T朴?jì)算網(wǎng)絡(luò)500不應(yīng)被解釋為具有與本文中示出的任何單個(gè)組件或組件的組合有關(guān)的任何依賴性或要求。此外,盡管為了清楚起見用線條示出了圖5的各個(gè)框,但是在實(shí)際上,各組件的輪廓并不是那樣清楚,并且比喻性地來說,線條更精確地將是灰色的和模糊的。另外,可以采用任何數(shù)目的物理機(jī)、虛擬機(jī)、數(shù)據(jù)中心、端點(diǎn)或其組合來在本發(fā)明實(shí)施例的范圍內(nèi)實(shí)現(xiàn)所期望的功能。云計(jì)算網(wǎng)絡(luò)500典型地包括數(shù)據(jù)中心,配置成主存和支持由云計(jì)算網(wǎng)絡(luò)350的租客/顧客所擁有的分布式服務(wù)應(yīng)用的角色實(shí)例的操作。如本文所使用的短語“服務(wù)應(yīng)用”泛指在云計(jì)算網(wǎng)絡(luò)500之上運(yùn)行或訪問云計(jì)算網(wǎng)絡(luò)500內(nèi)的存儲(chǔ)位置的任何軟件或軟件的部分。在一個(gè)實(shí)施例中,角色實(shí)例(例如角色實(shí)例521-523)可代表參與支持服務(wù)應(yīng)用(例如服務(wù)應(yīng)用350)的功能的軟件一部分或組件程序。應(yīng)理解和領(lǐng)會(huì),圖5中示出的每個(gè)角色實(shí)例僅僅是支持服務(wù)應(yīng)用的合適部分的示例,且不旨在暗示關(guān)于本發(fā)明實(shí)施例的使用范圍或功能的任何限制。在云計(jì)算網(wǎng)絡(luò)500的情境下,所示出的多個(gè)組件可在節(jié)點(diǎn)內(nèi)部通信、通過橫跨數(shù)據(jù)中心動(dòng)態(tài)建立的連接在物理節(jié)點(diǎn)上通信、以及通過物理網(wǎng)絡(luò)拓?fù)渑c遠(yuǎn)程網(wǎng)絡(luò)資源(例如企業(yè)專用網(wǎng)絡(luò))外部地通信。這些連接可包括經(jīng)由網(wǎng)絡(luò)云(未示出)互連在數(shù)據(jù)中心的物理資源上分布的組件。網(wǎng)絡(luò)云互連這些資源,使得一個(gè)組件可識(shí)別另一組件的位置以在它們之間建立通信。例如,網(wǎng)絡(luò)云可在連接公共服務(wù)應(yīng)用的角色實(shí)例的信道上建立該通信。舉例來說,這些信道可包括但不限于一個(gè)或多個(gè)局域網(wǎng)(LAN)和/或廣域網(wǎng)(WAN)。這樣的聯(lián)網(wǎng)環(huán)境常見于辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中。因此,不在此進(jìn)一步描述該網(wǎng)絡(luò)。此外,可采用任何數(shù)量的組件在本發(fā)明實(shí)施例的范圍內(nèi)實(shí)現(xiàn)所期望的功能。盡管為了清楚起見用線條示出了圖5的各組件,但是在實(shí)際上,各組件的輪廓并不是那樣清楚,并且按比喻的說法,線條更精確地將是灰色的或模糊的。進(jìn)一步,盡管將圖5的一些組件描繪為單個(gè)框,但這些描繪在本質(zhì)上和數(shù)量上是示例性的,且不應(yīng)理解為限制性(例如,盡管僅示出了一個(gè)執(zhí)行引擎520,但可建立更多執(zhí)行引擎以管理與各個(gè)租戶任務(wù)相關(guān)聯(lián)的轉(zhuǎn)換)。優(yōu)先和搶先于租戶任務(wù)現(xiàn)在轉(zhuǎn)到圖6,根據(jù)本發(fā)明的實(shí)施例示出了描繪結(jié)構(gòu)控制器295和服務(wù)應(yīng)用250之間的交互的數(shù)據(jù)中心的示例性拓?fù)涞膱D形表示。最初,結(jié)構(gòu)控制器295可保持當(dāng)前待決的租戶任務(wù)(例如租戶任務(wù)611-613)的任務(wù)列表610。調(diào)度組件530配置成通知服務(wù)應(yīng)用350的至少一個(gè)管理角色620關(guān)于影響服務(wù)應(yīng)用350的那些當(dāng)前活動(dòng)的和待決的租戶任務(wù)以及在任務(wù)列表610內(nèi)出現(xiàn)的任何相關(guān)修改(例如租戶任務(wù)611-613的重新排序或待決租戶任務(wù)的搶先)。
      有時(shí)候,如上所述,可在租戶任務(wù)正在待決并被部署在活動(dòng)狀態(tài)時(shí)發(fā)起高優(yōu)先級(jí)任務(wù)。管控如何處理高優(yōu)先級(jí)任務(wù)的策略605對(duì)于調(diào)度組件530可用,其中不同的策略605可導(dǎo)致用于執(zhí)行租戶任務(wù)的不同方式。在操作中,策略605管控調(diào)度組件530對(duì)圍繞租戶任務(wù)611-613的沖突的反應(yīng)(例如超時(shí)和取消消息)。在實(shí)施例中,該反應(yīng)由策略605所揭示的租戶任務(wù)因素驅(qū)動(dòng)。這些因素之一涉及發(fā)起租戶任務(wù)的實(shí)體的類型。租戶任務(wù)可被分成兩類應(yīng)用發(fā)起或顧客發(fā)起;以及基礎(chǔ)結(jié)構(gòu)發(fā)起。當(dāng)顧客向他們的服務(wù)應(yīng)用350發(fā)起租戶任務(wù)(例如版本更新)時(shí),該租戶任務(wù)被放置在任務(wù)列表610中,并向管理角色620顯露。一旦顧客發(fā)起的租戶任務(wù)被發(fā)起(例如在到達(dá)任務(wù)列表610的次序頂部時(shí)),結(jié)構(gòu)控制器295就可查詢管理角色620以確定當(dāng)前在由顧客發(fā)起的租戶任務(wù)選定為目標(biāo)的角色實(shí)例上是否存在另一租戶任務(wù)待決。如果基礎(chǔ)結(jié)構(gòu)發(fā)起的租戶任務(wù)(例如由基礎(chǔ)平臺(tái)內(nèi)部發(fā)起的維護(hù)操作或包括重啟受影響節(jié)點(diǎn)的新的根操作系統(tǒng)版本的安裝)當(dāng)前被部署在被選定為目標(biāo)的角色實(shí)例上,則顧客發(fā)起的租戶任務(wù)被掛起(轉(zhuǎn)換至掛起狀態(tài))或完全終止(轉(zhuǎn)換至被取消狀態(tài))。當(dāng)基礎(chǔ)結(jié)構(gòu)向服務(wù)應(yīng)用350發(fā)起租戶任務(wù)時(shí),該任務(wù)可被置于任務(wù)列表610中,或被分配高優(yōu)先級(jí)并且立即被部署。在檢測到基礎(chǔ)結(jié)構(gòu)發(fā)起的租戶任務(wù)的部署后,結(jié)構(gòu)控制器295可查詢管理角色620以確定當(dāng)前在由基礎(chǔ)結(jié)構(gòu)發(fā)起的租戶任務(wù)所選定為目標(biāo)的角色實(shí)例上是否存在另一租戶任務(wù)待決。如果顧客發(fā)起的租戶任務(wù)當(dāng)前被部署在被選定為目標(biāo)的角色實(shí)例上,則可進(jìn)行若干步驟。一個(gè)步驟包括確定顧客發(fā)起的租戶任務(wù)是否被給予任何特權(quán),這些特權(quán)將使其優(yōu)先級(jí)排名比基礎(chǔ)結(jié)構(gòu)發(fā)起的租戶任務(wù)的優(yōu)先級(jí)高。如果未被給予特權(quán),則另一步驟包括搶先于顧客發(fā)起的租戶任務(wù)。在實(shí)施例中,搶先包括使顧客發(fā)起的租戶任務(wù)暫時(shí)停止工作(轉(zhuǎn)換至不活動(dòng)狀態(tài)),同時(shí)允許基礎(chǔ)結(jié)構(gòu)發(fā)起的租戶任務(wù)開始(轉(zhuǎn)換至活動(dòng)狀態(tài))。因此,待決的顧客發(fā)起的租戶任務(wù)將不會(huì)阻止基礎(chǔ)結(jié)構(gòu)發(fā)起的租戶任務(wù)。在其它實(shí)施例中,調(diào)度組件530配置用于建立任務(wù)列表610,并在特定租戶任務(wù)到達(dá)任務(wù)列表610頂部時(shí)調(diào)用該特定租戶任務(wù)的執(zhí)行。當(dāng)構(gòu)建任務(wù)列表610時(shí),調(diào)度組件530可依賴于優(yōu)先級(jí)方案來產(chǎn)生任務(wù)列表610內(nèi)的租戶任務(wù)排序。此外,調(diào)度組件530被配置用于,當(dāng)在選定共同節(jié)點(diǎn)作為目標(biāo)的兩個(gè)或多個(gè)租戶任務(wù)之間存在沖突時(shí),選擇適當(dāng)?shù)淖鈶羧蝿?wù)以立即執(zhí)行。該選擇可基于咨詢優(yōu)先級(jí)方案并查明哪個(gè)租戶任務(wù)應(yīng)當(dāng)根據(jù)該優(yōu)先級(jí)方案首先發(fā)起。典型地,優(yōu)先級(jí)方案包含由基礎(chǔ)平臺(tái)建立的策略605?,F(xiàn)在將討論用于采用優(yōu)先級(jí)方案的示例性過程。最初,當(dāng)待決租戶任務(wù)正在對(duì)象角色實(shí)例處執(zhí)行時(shí),新租戶任務(wù)到達(dá)調(diào)度組件530。此時(shí),新租戶任務(wù)處于不活動(dòng)狀態(tài),待決租戶任務(wù)處于活動(dòng)狀態(tài),而且對(duì)象角色實(shí)例處于離線狀態(tài)。新租戶任務(wù)的優(yōu)先級(jí)可根據(jù)優(yōu)先級(jí)方案來確定。如果所確定的優(yōu)先級(jí)低于待決租戶任務(wù)的優(yōu)先級(jí),則調(diào)度組件530可繼續(xù)執(zhí)行待決租戶任務(wù)(保持于活動(dòng)狀態(tài)),同時(shí)根據(jù)所確定的優(yōu)先級(jí)將新租戶任務(wù)(保持于不活動(dòng)狀態(tài))插入任務(wù)列表610的租戶任務(wù)611-613隊(duì)列中。然而,如果所確定的優(yōu)先級(jí)高于待決租戶任務(wù)的優(yōu)先級(jí),則調(diào)度組件530可通過對(duì)待決租戶任務(wù)執(zhí)行任務(wù)搶先序列的仲裁動(dòng)作而搶先于待決租戶任務(wù)的執(zhí)行。這些仲裁操作可包括將待決租戶任務(wù)轉(zhuǎn)換至不活動(dòng)狀態(tài),并將新租戶任務(wù)轉(zhuǎn)換至活動(dòng)狀態(tài)。當(dāng)將待決租戶任務(wù)轉(zhuǎn)換至不活動(dòng)狀態(tài)時(shí),調(diào)度組件530的目標(biāo)是使對(duì)象角色實(shí)例盡快地從當(dāng)前離線狀態(tài)進(jìn)入在線狀態(tài)。為此,待決租戶任務(wù)的執(zhí)行在對(duì)象角色實(shí)例處被掛起,或被允許完成執(zhí)行(例如執(zhí)行圖4的工作階段440)并通過明確定義的狀態(tài)轉(zhuǎn)換路徑退出。當(dāng)待決租戶任務(wù)被掛起時(shí),新的租戶任務(wù)在對(duì)象角色實(shí)例上執(zhí)行,而且在完成新租戶任務(wù)的執(zhí)行后,在中斷點(diǎn)處在對(duì)象角色實(shí)例上繼續(xù)先前待決的租戶任務(wù)。在調(diào)度組件530允許待決租戶任務(wù)在對(duì)象角色實(shí)例上完成執(zhí)行的實(shí)例中,可實(shí)施超時(shí)邏輯以確保待決租戶任務(wù)在預(yù)定的時(shí)間量中完成。在操作時(shí),在對(duì)象角色實(shí)例在預(yù)定時(shí)間量期滿之前未能采取在線狀態(tài),則超時(shí)邏輯可強(qiáng)制待決租戶任務(wù)過早停止執(zhí)行,以停止阻止新租戶任務(wù)的部署。然而,超時(shí)邏輯的優(yōu)勢是允許待決租戶任務(wù)的當(dāng)前階段(例如圖4的階段430、440以及450)運(yùn)行以在對(duì)象角色實(shí)例上不中斷地完成,從而使服務(wù)應(yīng)用350在搶先期間保持在一致狀態(tài)。在示例性實(shí)施例中,由超時(shí)邏輯分配的用于了結(jié)待決租戶任務(wù)的預(yù)定時(shí)間量可部分地基于分配給較高優(yōu)先級(jí)的新租戶任務(wù)所選定為目標(biāo)的服務(wù)應(yīng)用的特權(quán)級(jí)別而改變。換言之,特權(quán)級(jí)別一般代表允許服務(wù)應(yīng)用行為影響結(jié)構(gòu)控制器295在掛起待決租戶任務(wù)之前所等待的時(shí)間的程度。在實(shí)例中,與分配給被分配低特權(quán)級(jí)別的服務(wù)應(yīng)用的短時(shí)間量相比,被分配高特權(quán)級(jí)別的服務(wù)應(yīng)用可被分配較長的時(shí)間量來完成“準(zhǔn)備”和“恢復(fù)”階段。例如,關(guān)鍵內(nèi)部應(yīng)用可被給予比第三方主存應(yīng)用高的特權(quán)級(jí)別?;A(chǔ)平臺(tái)的管理員建立用于執(zhí)行租戶任務(wù)的策略605后,這些特權(quán)級(jí)別可被修改。在另一實(shí)施例中,被分配給服務(wù)應(yīng)用的特權(quán)級(jí)別可用于控制其它操作,諸如在租戶任務(wù)故障的情況下何時(shí)產(chǎn)生操作警報(bào)。雖然以上討論了在搶先事件下執(zhí)行的動(dòng)作的多個(gè)實(shí)施例,但應(yīng)當(dāng)領(lǐng)會(huì)和理解,租戶任務(wù)的不同優(yōu)先級(jí)可不同地處理,且可在調(diào)度組件530處調(diào)用替代的動(dòng)作。當(dāng)在服務(wù)應(yīng)用350上執(zhí)行租戶任務(wù)時(shí),結(jié)構(gòu)控制器295可向管理角色620顯露服務(wù)應(yīng)用350的角色實(shí)例的運(yùn)行時(shí)健康信息。該健康信息可經(jīng)由消息(例如XML文檔)對(duì)管理角色620可用,該消息具有結(jié)構(gòu)控制器295發(fā)布至主機(jī)代理615的實(shí)例的時(shí)間戳,該消息然后經(jīng)由線路協(xié)議616被發(fā)送至服務(wù)應(yīng)用350。一般而言,線路協(xié)議616在主機(jī)代理615和服務(wù)應(yīng)用350的角色之間傳遞通信。如圖6所示,典型地,存在線路協(xié)議616與主機(jī)代理615之間的一對(duì)一對(duì)應(yīng)關(guān)系。在實(shí)施例中,使健康信息可用的過程包括查詢服務(wù)應(yīng)用350的角色實(shí)例(這些角色實(shí)例進(jìn)而將它們的健康信息報(bào)告給結(jié)構(gòu)控制器350),并在允許管理角色620查看消息之前聚集健康信息。在查看該消息后,管理角色620可檢測已遇到問題(例如無法返回在線狀態(tài))的一個(gè)或多個(gè)角色實(shí)例,并進(jìn)行補(bǔ)救動(dòng)作(例如請求結(jié)構(gòu)控制器295重啟失效的角色實(shí)例)。如此,對(duì)角色實(shí)例的健康信息的理解允許管理角色620評(píng)估租戶任務(wù)的結(jié)果,和/或計(jì)算是否繼續(xù)至租戶任務(wù)的下一階段。在實(shí)施例中,健康信息還可包含內(nèi)部狀態(tài)信息,該內(nèi)部狀態(tài)信息描述服務(wù)應(yīng)用350的角色實(shí)例處的特定內(nèi)部狀態(tài)的存在。一般而言,內(nèi)部狀態(tài)信息可用于影響結(jié)構(gòu)控制器295發(fā)起租戶任務(wù)在服務(wù)應(yīng)用350 —部分上的執(zhí)行的定時(shí)。如圖6所示,僅出于說明目的,如果服務(wù)應(yīng)用350包括角色A的三個(gè)實(shí)例(A。A2、和A3)和角色B的三個(gè)實(shí)例(B。B2、和B3),則內(nèi)部狀態(tài)信息可描述角色A的哪些實(shí)例本地存儲(chǔ)第一內(nèi)部狀態(tài),以及角色B的哪些實(shí)例本地存儲(chǔ)第二內(nèi)部狀態(tài)。當(dāng)租戶改變管理器580向管理角色620傳達(dá)對(duì)被選定作為目標(biāo)以采取離線狀態(tài)的那些角色實(shí)例的指示時(shí),在部署待決租戶任務(wù)的特定階段后,管理角色620就可咨詢健康信息以確定使被選定作為目標(biāo)的角色實(shí)例進(jìn)入離線狀態(tài)是否安全。
      例如,在要求關(guān)于使角色實(shí)例A1 (保持第一內(nèi)部狀態(tài))和B1 (保持第二內(nèi)部狀態(tài))進(jìn)入離線狀態(tài)的反饋時(shí),管理角色620可咨詢健康信息來確定第一內(nèi)部狀態(tài)是否在角色A的兩個(gè)或更多個(gè)實(shí)例處被復(fù)制,以及第二內(nèi)部狀態(tài)是否在角色B的兩個(gè)或更多個(gè)實(shí)例處被復(fù)制。當(dāng)內(nèi)部狀態(tài)信息揭示第一和第二內(nèi)部狀態(tài)在被選定作為目標(biāo)的角色實(shí)例(A1和B1)之外被復(fù)制時(shí),管理角色620可發(fā)出待決租戶任務(wù)可如所調(diào)度地被部署的信號(hào)。然而,當(dāng)內(nèi)部狀態(tài)信息揭示第一和第二內(nèi)部狀態(tài)未在被選定作為目標(biāo)的角色實(shí)例(A1和B1)之外被復(fù)制時(shí),管理角色620可請求待決租戶任務(wù)被延遲,以在角色實(shí)例A2、A3、B2以及B3中的一個(gè)或多個(gè)上分別復(fù)制第一和第二內(nèi)部狀態(tài)。該延遲允許管理角色620有時(shí)間保留第一和第二內(nèi)部狀態(tài)的可用性。如上所述,所請求的延遲由結(jié)構(gòu)控制器295考慮,但不一定被允許(例如基于待決租戶任務(wù)的優(yōu)先級(jí))。過程流程現(xiàn)在參考圖7,示出根據(jù)本發(fā)明實(shí)施例的用于促進(jìn)云計(jì)算網(wǎng)絡(luò)的結(jié)構(gòu)控制器與服務(wù)應(yīng)用之間的交互的整體方法700的流程圖。盡管術(shù)語“步驟”和/或“框”可在此處用于指示所采用方法的不同元素,但除非而且僅當(dāng)明確描述了各個(gè)步驟的順序時(shí),該術(shù)語不應(yīng)被解釋為意味著此處公開的多個(gè)步驟之中或之間的任何特定順序。方法700最初可包括選擇包括該服務(wù)應(yīng)用的一個(gè)或多個(gè)角色實(shí)例的第一更新域(UD),如框710所示。典型地,角色實(shí)例運(yùn)行在在線條件下,且代表支持該服務(wù)應(yīng)用的功能的相應(yīng)組件程序(例如該服務(wù)應(yīng)用的角色的單個(gè)復(fù)制)。該方法700還可包括準(zhǔn)備第一 UD以用于執(zhí)行租戶任務(wù)(例如平臺(tái)發(fā)起的更新、顧客發(fā)起的更新、平臺(tái)發(fā)起的維修、或顧客發(fā)起的維修),如框712所示。在示例性實(shí)施例中,準(zhǔn)備第一 UD包括至少以下步驟通知服務(wù)應(yīng)用內(nèi)的管理角色關(guān)于結(jié)構(gòu)控制器執(zhí)行租戶任務(wù)的意圖(參見框714);以及基于確定受租戶任務(wù)影響的角色實(shí)例的內(nèi)部狀態(tài)是否在該服務(wù)應(yīng)用的不受租戶任務(wù)影響的部分上被復(fù)制,從管理角色接收響應(yīng)(參見框716)。準(zhǔn)備第一UD的角色實(shí)例之后,發(fā)起將這些角色實(shí)例停用至離線狀態(tài),如框718所示。一般而言,停用角色實(shí)例包括使主存第一 UD內(nèi)的一個(gè)或多個(gè)角色實(shí)例的一組節(jié)點(diǎn)不工作。一旦角色實(shí)例已采取離線狀態(tài),允許租戶任務(wù)在第一 UD上執(zhí)行,如框720所示。再進(jìn)一步,該方法700可包括,完成租戶任務(wù)的執(zhí)行后,將第一 UD的角色實(shí)例恢復(fù)至在線狀態(tài),如框722所示。在示例性實(shí)施例中,將第一 UD的實(shí)例恢復(fù)至在線狀態(tài)包括至少以下步驟驗(yàn)證受租戶任務(wù)影響的角色實(shí)例在起作用(參見框724);以及通知管理角色關(guān)于角色實(shí)例上的租戶任務(wù)的執(zhí)行完成(參見框726),由此提示該服務(wù)應(yīng)用繼續(xù)利用這些角色實(shí)例來執(zhí)行任務(wù)。一般而言,將第一 UD內(nèi)的角色實(shí)例恢復(fù)至在線狀態(tài)還包括使主存這些角色實(shí)例的該組節(jié)點(diǎn)工作。將第一 內(nèi)的角色實(shí)例恢復(fù)至在線狀態(tài)后,則該方法700可通過選擇角色實(shí)例的第二 UD以在其上運(yùn)行租戶任務(wù)而繼續(xù)。典型地,第一 UD和第二 UD在組員關(guān)系上是互斥的,可分別代表在云計(jì)算網(wǎng)絡(luò)上傳播租戶任務(wù)時(shí)的分立階段?,F(xiàn)在轉(zhuǎn)到圖8,根據(jù)本發(fā)明實(shí)施例示出用于在執(zhí)行租戶任務(wù)時(shí)調(diào)度高優(yōu)先級(jí)任務(wù)的整體方法800的流程圖。該方法800包括接收在服務(wù)應(yīng)用上執(zhí)行租戶任務(wù)的指示(參見框810),并標(biāo)識(shí)包括該服務(wù)應(yīng)用的一個(gè)或多個(gè)角色實(shí)例的更新域(UD)(參見框812)。在此時(shí),角色實(shí)例在在線狀態(tài)下操作。準(zhǔn)備UD以用于執(zhí)行租戶任務(wù)(參見框814),而且隨后將UD的實(shí)例停用至離線狀態(tài)(參見框816)。在示例性實(shí)施例中,準(zhǔn)備UD以用于執(zhí)行租戶任務(wù)的過程包括多個(gè)邏輯步驟,包括以下通知服務(wù)應(yīng)用內(nèi)的管理角色關(guān)于執(zhí)行該租戶任務(wù)的意圖;以及接收來自管理角色的肯定響應(yīng),或接收來自管理角色的否定響應(yīng)。在某個(gè)后續(xù)時(shí)間點(diǎn),接收執(zhí)行高優(yōu)先級(jí)任務(wù)的指示,如框818處所示。如本文中所使用,短語“高優(yōu)先級(jí)”不意味著限制性,而是代表被預(yù)先確定為在優(yōu)先級(jí)方案內(nèi)搶先于租戶任務(wù)的任何任務(wù)。在接收到執(zhí)行高優(yōu)先級(jí)任務(wù)的指示后,則如框820處所示,租戶任務(wù)的部署讓位于高優(yōu)先級(jí)任務(wù)。在示例性實(shí)施例中,讓位的過程包括多個(gè)邏輯步驟,包括以下指令服務(wù)應(yīng)用執(zhí)行將角色實(shí)例恢復(fù)至在線狀態(tài)的操作的截?cái)嗉?參見框822);將租戶任務(wù)掛起(參見框824);以及發(fā)起高優(yōu)先級(jí)任務(wù)在角色實(shí)例上的執(zhí)行(參見框826)。完成高優(yōu)先級(jí)任務(wù)的執(zhí)行后,繼續(xù)租戶任務(wù)的部署,如框828處所示。在示例性實(shí)施例中,繼續(xù)的過程包括多個(gè)邏輯步驟,包括以下重新發(fā)起將UD的角色實(shí)例停用至離線狀態(tài)(參見框830 );以及允許租戶任務(wù)在角色實(shí)例上執(zhí)行(參見框832 )。一旦完成租戶任務(wù)的執(zhí)行,可將UD的角色實(shí)例恢復(fù)至在線狀態(tài),如框834處所示。在示例性實(shí)施例中,將角色實(shí)例恢復(fù)至在線狀態(tài)的過程包括多個(gè)邏輯步驟,包括以下驗(yàn)證受租戶任務(wù)影響的角色實(shí)例在起作用;以及通知管理角色關(guān)于角色實(shí)例上的租戶任務(wù)的執(zhí)行完成,由此提示該服務(wù)應(yīng)用繼續(xù)利用這些角色實(shí)例來執(zhí)行多個(gè)任務(wù)。參考具體實(shí)施例描述了本發(fā)明的實(shí)施例,具體實(shí)施例在所有方面都旨在是說明性的而非限制性的。在不背離本發(fā)明范圍的情況下各替換實(shí)施例對(duì)本發(fā)明的各實(shí)施例的所屬領(lǐng)域的普通技術(shù)人員將變得顯而易見。從前面的描述可以看出,本發(fā)明很好地適用于實(shí)現(xiàn)上文所闡述的所有目的和目標(biāo),并且具有對(duì)于該系統(tǒng)和方法是顯而易見且固有的其他優(yōu)點(diǎn)??衫斫獾氖?,某些特征和子組合是有用的,并且可以加以利用而無需參考其它特征和子組合。這由權(quán)利要求所構(gòu)想的,并在權(quán)利要求的范圍內(nèi)。
      權(quán)利要求
      1.一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),所述一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上具體化有計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令在被執(zhí)行時(shí)執(zhí)行用于促進(jìn)云計(jì)算網(wǎng)絡(luò)的結(jié)構(gòu)控制器與運(yùn)行在云計(jì)算網(wǎng)絡(luò)中的服務(wù)應(yīng)用之間的交互的方法,所述方法包括選擇(710)第一更新域(UD),所述第一更新域(UD)包括所述服務(wù)應(yīng)用的一個(gè)或多個(gè)角色實(shí)例,其中所述一個(gè)或多個(gè)角色實(shí)例在在線狀態(tài)下操作;準(zhǔn)備(712)所述第一 UD以用于執(zhí)行租戶任務(wù),其中準(zhǔn)備所述第一 UD包括(a)通知(714)所述服務(wù)應(yīng)用內(nèi)的管理角色關(guān)于所述結(jié)構(gòu)控制器執(zhí)行租戶任務(wù)的意圖;以及(b)基于確定受租戶任務(wù)影響的一個(gè)或多個(gè)角色實(shí)例的內(nèi)部狀態(tài)是否被復(fù)制在所述服務(wù)應(yīng)用的不受租戶任務(wù)影響的部分上,從所述管理角色接收(716)響應(yīng);發(fā)起(718)將所述第一 UD的一個(gè)或多個(gè)角色實(shí)例停用至離線狀態(tài);以及允許(720)所述租戶任務(wù)在所述第一 UD上執(zhí)行。
      2.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述方法進(jìn)一步包括,完成租戶任務(wù)的執(zhí)行后,將所述第一 UD的一個(gè)或多個(gè)角色實(shí)例恢復(fù)(722)至在線狀態(tài)。
      3.如權(quán)利要求2所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,將所述第一UD的一個(gè)或多個(gè)角色實(shí)例恢復(fù)至在線狀態(tài)包括驗(yàn)證(724)所述受租戶任務(wù)影響的一個(gè)或多個(gè)角色實(shí)例是起作用的;以及通知(726)所述管理角色關(guān)于租戶任務(wù)在所述一個(gè)或多個(gè)角色實(shí)例上的執(zhí)行完成,由此提示所述服務(wù)應(yīng)用繼續(xù)采用所述一個(gè)或多個(gè)角色實(shí)例。
      4.如權(quán)利要求3所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,將所述一個(gè)或多個(gè)角色實(shí)例停用至離線狀態(tài)包括使主存所述第一 UD內(nèi)的一個(gè)或多個(gè)角色實(shí)例的一組節(jié)點(diǎn)不工作,而且其中將所述一個(gè)或多個(gè)角色實(shí)例恢復(fù)至在線狀態(tài)包括使主存所述第一 UD內(nèi)的一個(gè)或多個(gè)角色實(shí)例的所述一組節(jié)點(diǎn)工作。
      5.如權(quán)利要求4所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述一組節(jié)點(diǎn)中的每一個(gè)代表能夠運(yùn)行所述服務(wù)應(yīng)用的一個(gè)或多個(gè)角色實(shí)例的物理機(jī)或虛擬機(jī),而且其中所述角色實(shí)例代表支持所述服務(wù)應(yīng)用的功能的相應(yīng)組件程序。
      6.如權(quán)利要求1所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述方法還包括選擇角色實(shí)例的第二 UD以在其上運(yùn)行租戶任務(wù),其中第一 UD和第二 UD在組員關(guān)系上互斥,且各自代表在云計(jì)算網(wǎng)絡(luò)上傳播租戶任務(wù)的分立階段。
      7.一種用于在執(zhí)行租戶任務(wù)時(shí)調(diào)度高優(yōu)先級(jí)任務(wù)的計(jì)算機(jī)化方法,所述方法包括接收(810)在服務(wù)應(yīng)用上執(zhí)行租戶任務(wù)的指示;標(biāo)識(shí)(812)更新域(UD),所述更新域(UD)包括所述服務(wù)應(yīng)用的一個(gè)或多個(gè)角色實(shí)例,其中所述一個(gè)或多個(gè)角色實(shí)例在在線狀態(tài)下操作;準(zhǔn)備(814)所述UD以執(zhí)行所述租戶任務(wù);發(fā)起(816)將所述UD的一個(gè)或多個(gè)角色實(shí)例停用至離線狀態(tài);接收(818)執(zhí)行高優(yōu)先級(jí)任務(wù)的指示,其中所述高優(yōu)先級(jí)任務(wù)在優(yōu)先級(jí)方案中預(yù)定為搶先于所述租戶任務(wù);使所述租戶任務(wù)的部署讓位(820)于所述高優(yōu)先級(jí)任務(wù),其中所述讓位的過程包括Ca)指示(822)所述服務(wù)應(yīng)用執(zhí)行將所述一個(gè)或多個(gè)角色實(shí)例恢復(fù)至在線狀態(tài)的操作的截?cái)嗉希?b)將所述租戶任務(wù)掛起(824);以及(c)發(fā)起(826)所述高優(yōu)先級(jí)任務(wù)在所述一個(gè)或多個(gè)角色實(shí)例上的執(zhí)行;完成所述高優(yōu)先級(jí)任務(wù)的執(zhí)行后,繼續(xù)(828)所述租戶任務(wù)的部署,其中繼續(xù)的過程包括Ca)重新發(fā)起(830)將所述UD的一個(gè)或多個(gè)角色實(shí)例停用至離線狀態(tài);以及(b)允許(832)所述租戶任務(wù)在所述一個(gè)或多個(gè)角色實(shí)例上的執(zhí)行;以及完成所述租戶任務(wù)的執(zhí)行后,將所述UD的一個(gè)或多個(gè)角色實(shí)例恢復(fù)(824)至在線狀態(tài)。
      8.如權(quán)利要求7所述的計(jì)算機(jī)化方法,其特征在于,準(zhǔn)備所述UD以執(zhí)行所述租戶任務(wù)包括通知所述服務(wù)應(yīng)用內(nèi)的管理角色關(guān)于執(zhí)行所述租戶任務(wù)的意圖;以及基于確定受租戶任務(wù)影響的一個(gè)或多個(gè)角色實(shí)例的內(nèi)部狀態(tài)被復(fù)制在所述服務(wù)應(yīng)用的不受租戶任務(wù)影響的部分上,從所述管理角色接收肯定響應(yīng);或基于確定受租戶任務(wù)影響的一個(gè)或多個(gè)角色實(shí)例的內(nèi)部狀態(tài)受限于所述一個(gè)或多個(gè)角色實(shí)例,從所述管理角色接收否定響應(yīng)。
      9.如權(quán)利要求8所述的計(jì)算機(jī)化方法,其特征在于,還包括從所述管理角色接收到肯定響應(yīng)時(shí),允許所述租戶任務(wù)在所述一個(gè)或多個(gè)角色實(shí)例上執(zhí)行;以及從所述管理角色接收到否定響應(yīng)時(shí)Ca)當(dāng)執(zhí)行租戶任務(wù)的指示是顧客發(fā)起時(shí),推遲所述租戶任務(wù)在所述一個(gè)或多個(gè)角色實(shí)例上的執(zhí)行,以允許內(nèi)部狀態(tài)的復(fù)制;以及(b)當(dāng)執(zhí)行租戶任務(wù)的指示是平臺(tái)發(fā)起時(shí),繼續(xù)所述租戶任務(wù)在所述一個(gè)或多個(gè)角色實(shí)例上的執(zhí)行。
      10.一種用于執(zhí)行使租戶任務(wù)的逐步部署與服務(wù)應(yīng)用的部分協(xié)調(diào)的方法的計(jì)算機(jī)系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括耦合至計(jì)算機(jī)存儲(chǔ)介質(zhì)的處理單元,所述計(jì)算機(jī)存儲(chǔ)介質(zhì)上存儲(chǔ)有多個(gè)計(jì)算機(jī)軟件組件,所述計(jì)算機(jī)軟件組件可由所述處理單元執(zhí)行,所述計(jì)算機(jī)軟件組件包括所述服務(wù)應(yīng)用(350)的一個(gè)或多個(gè)角色實(shí)例(321-323),其中所述角色實(shí)例代表支持所述服務(wù)應(yīng)用的功能的組件程序;租戶改變管理器(580),用于指導(dǎo)所述租戶任務(wù)的部署,其中指導(dǎo)部署的過程包括傳達(dá)部署所述租戶任務(wù)的指示;發(fā)起將所述一個(gè)或多個(gè)角色實(shí)例停用至離線狀態(tài);允許所述租戶任務(wù)在所述一個(gè)或多個(gè)角色實(shí)例上執(zhí)行;以及發(fā)起將所述一個(gè)或多個(gè)角色實(shí)例恢復(fù)至在線狀態(tài);以及所述服務(wù)應(yīng)用的管理角色(597-599),用于監(jiān)測所述一個(gè)或多個(gè)角色實(shí)例的內(nèi)部狀態(tài),其中,在接收到部署所述租戶任務(wù)的指示時(shí),所述管理角色負(fù)責(zé)確定所監(jiān)測到的受所述租戶任務(wù)影響的一個(gè)或多個(gè)角色實(shí)例的內(nèi)部狀態(tài)是否被復(fù)制在所述服務(wù)應(yīng)用的未受所述租戶任務(wù)影響的部分上,并負(fù)責(zé)將對(duì)所述內(nèi)部狀態(tài)的可用性的指示傳達(dá)至所述租戶改變管理器。
      全文摘要
      本發(fā)明公開了用于提高有狀態(tài)應(yīng)用的可用性的方法和系統(tǒng)。提供了用于促進(jìn)云計(jì)算網(wǎng)絡(luò)的結(jié)構(gòu)控制器與運(yùn)行在云計(jì)算網(wǎng)絡(luò)上的服務(wù)應(yīng)用之間的協(xié)調(diào)的系統(tǒng)和計(jì)算機(jī)可讀介質(zhì)。最初,選擇包括服務(wù)應(yīng)用的角色實(shí)例的更新域(UD),其中該服務(wù)應(yīng)用代表被選定作為接收在其上執(zhí)行的租戶任務(wù)的目標(biāo)的有狀態(tài)應(yīng)用。協(xié)調(diào)過程包括準(zhǔn)備UD以執(zhí)行租戶任務(wù);將UD的角色實(shí)例停用至離線狀態(tài);允許租戶任務(wù)執(zhí)行;以及在完成租戶任務(wù)執(zhí)行時(shí)將角色實(shí)例恢復(fù)至在線狀態(tài)。準(zhǔn)備UD包括通知在服務(wù)應(yīng)用內(nèi)建立的管理角色關(guān)于結(jié)構(gòu)控制器執(zhí)行租戶任務(wù)的意圖;以及接收傳達(dá)受租戶任務(wù)影響的角色實(shí)例的內(nèi)部狀態(tài)的復(fù)制存在的管理角色響應(yīng)。
      文檔編號(hào)H04L29/08GK103034536SQ201210533228
      公開日2013年4月10日 申請日期2012年12月11日 優(yōu)先權(quán)日2011年12月12日
      發(fā)明者P·杜爾諾夫, L·伊倫-布里斯, M·庫托年科, C·桑德斯, G·古普塔, A·哈薩恩, I·S·M·菲洛, A·沙哈, T·普夫雷格, S·賽德, S·里瓦斯卡, U·阿扎德 申請人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1