背景技術(shù):
在生產(chǎn)多租戶服務(wù)中,客戶出于各種原因定期地從一個群組(farm)升級至另一個群組。客戶不斷地升級至應(yīng)用的最新的版本。在升級期間執(zhí)行了多個操作,其潛在地降級了客戶體驗,并且在升級過程期間遭遇嚴重的問題的情況下可能潛在地導(dǎo)致針對客戶的停機時間。即使識別出了問題,但已經(jīng)被升級了的客戶潛在地受到損害。無論如何,手動地對租戶進行升級是非常勞動密集的過程,其涉及許多的監(jiān)督來留意這樣的問題并且對于多租戶服務(wù)操作者而言是高成本的。
關(guān)于這些和其他考慮而進行了本發(fā)明。盡管已經(jīng)討論了相對具體的問題,但應(yīng)當理解的是,在本文中所公開的本發(fā)明的方面不應(yīng)該限于解決在背景技術(shù)中所標識的具體問題。
技術(shù)實現(xiàn)要素:
提供了該發(fā)明內(nèi)容以用簡化的形式引入在以下的具體實施方式中進一步描述的概念的選擇。本發(fā)明內(nèi)容不旨在標識所要求保護的主題的關(guān)鍵特征或基本特征,也不旨在幫助確定所要求保護的主題的范圍。
自動化租戶升級系統(tǒng)的方面包括將租戶從源標度單元升級至目標標度單元。為了最小化客戶體驗作為被升級至不同的標度單元的結(jié)果的問題的可能性,自動化租戶升級系統(tǒng)對供應(yīng)至目標標度單元的測試租戶進行利用。在移動任何真實的租戶之前,將測試租戶升級至目標標度單元。將測試租戶存儲在與實際的租戶分離的數(shù)據(jù)庫中。如果在源標度單元中沒有足夠數(shù)量的可用的測試租戶或者包含測試租戶的數(shù)據(jù)庫,則沒有租戶升級至目標租戶單元。
一旦將測試租戶移動至目標標度單元,就測試和監(jiān)視目標標度單元的健康。如果目標標度單元表現(xiàn)為健康的,則將真實租戶升級至目標標度單元。對目標標度單元的監(jiān)視持續(xù)整個升級過程,并且只要目標標度單元沒有被確定為不健康的,真實租戶就繼續(xù)被升級。如果由已經(jīng)被升級至目標標度單元的真實租戶的用戶檢測或者報告了目標標度單元的問題,則自動地暫停升級過程。一旦解決了目標標度單元的問題,就自動地恢復(fù)對真實租戶的升級。該過程繼續(xù),直到所有真實租戶已經(jīng)被升級至目標標度單元為止。
附圖說明
通過參考以下附圖,本公開的進一步的特征、方面、和優(yōu)點將變得更好地理解,其中,元素不是按比例的以便更加清晰地示出細節(jié),并且其中,相同的附圖標記指示幾個視圖通篇中相同的元素:
圖1是示出了自動化租戶升級系統(tǒng)的方面的系統(tǒng)圖;
圖2是示出了針對多租戶服務(wù)中的自動化租戶升級的方法的方面的高級流程圖;
圖3是示出了適用于實踐本發(fā)明的方面的計算設(shè)備的物理組件的框圖;
圖4a示出了適用于實踐本發(fā)明的方面的移動計算設(shè)備;
圖4b是示出了適用于實踐本發(fā)明的方面的移動計算設(shè)備的架構(gòu)的框圖;
圖5是利用其可以實踐本發(fā)明的實施例的分布式計算系統(tǒng)的簡化框圖。
具體實施方式
參考形成了本文的一部分并且示出了具體的示例性實施例的附圖以在下文中更加充分地描述了各種實施例。然而,實施例可以以不同的形式來實現(xiàn),并且不應(yīng)該被理解為限于在本文中所闡述的實施例;相反,提供了這些實施例以使得該公開將是徹底的和完整的,并且將會向本領(lǐng)域技術(shù)人員完全傳達實施例的范圍。實施例可以被實踐為方法、系統(tǒng)、或設(shè)備。從而,實施例可以采取硬件實現(xiàn)、完全軟件實現(xiàn)、或者組合了軟件和硬件方面的實現(xiàn)的形式。因此,以下的詳細描述將不被理解為限制意義。
在本文中描述并且在附圖中示出了自動化租戶升級系統(tǒng)和所附方法的方面。自動化租戶升級在多租戶服務(wù)中將租戶從源標度單元移動至目標標度單元。在移動真實租戶之前,移動測試租戶并且監(jiān)視目標標度單元的健康。監(jiān)視對測試租戶中的用戶活動進行模擬以尋找目標標度單元的問題。如果在移動了測試租戶之后沒有檢測到顯著的問題,則分批地升級真實租戶,直到已經(jīng)移動了所有真實租戶為止。在真實租戶被升級時目標標度單元的監(jiān)視繼續(xù),并且當對目標標度單元的健康進行評估時也考慮由已經(jīng)升級至目標標度單元的真實租戶所報告的問題。如果發(fā)生顯著的問題,則暫停真實租戶升級,直到該問題被解決為止。自動化租戶升級通過將由于升級問題而產(chǎn)生的服務(wù)中斷最小化同時提供對最新的版本的成本有效的升級來改進多租戶服務(wù)的可用性。
圖1是示出了自動化租戶升級系統(tǒng)100的方面的系統(tǒng)圖。多租戶服務(wù)102通常由為客戶提供經(jīng)共享的服務(wù)、軟件、和數(shù)據(jù)存儲的多個數(shù)據(jù)中心104組成。如圖所示,多租戶服務(wù)是具有地理上分布的多個數(shù)據(jù)中心104的分布式服務(wù),例如,基于云的服務(wù)。當客戶訂閱至多租戶服務(wù)時,租戶106通常被供應(yīng)至托管在地理上接近于客戶的地理位置而定位的數(shù)據(jù)中心104中的服務(wù)110的標度單元108。租戶106通常是指客戶的層級表示中的最高級的對象(例如,公司)。存儲關(guān)于租戶106的信息的一個或多個數(shù)據(jù)庫112可以與每個標度單元108相關(guān)聯(lián)。一個或多個用戶114可以與每個租戶106相關(guān)聯(lián)。
如在本文中所使用的,標度單元108是多租戶服務(wù)102的容量單元,多租戶服務(wù)102向租戶提供一些或所有應(yīng)用功能(例如,運行和服務(wù)應(yīng)用)并且托管客戶內(nèi)容。標度單元108可以涵蓋軟件資源(例如,網(wǎng)絡(luò)應(yīng)用、服務(wù)應(yīng)用、以及工作負荷)以及一同工作來對用戶請求進行服務(wù)的底層硬件(例如,數(shù)據(jù)中心內(nèi)的經(jīng)連接的服務(wù)器和數(shù)據(jù)存儲系統(tǒng)的集合)。可以由多租戶服務(wù)作為服務(wù)來提供的應(yīng)用的示例包括但不限于以下類型的應(yīng)用:文字處理、郵件、消息傳送、會議、任務(wù)管理、日歷、協(xié)同、聯(lián)系人信息管理、筆記記錄、文檔管理、內(nèi)容管理、演示、電子表格、數(shù)據(jù)庫、媒體、和會話。
升級管理器116對租戶從源標度單元108s到目標標度單元108t的升級進行管理。典型的場景是將租戶106從較舊的版或版本的服務(wù)110a升級至較新的服務(wù)110b;然而,自動化租戶升級系統(tǒng)也很好地適用于并且可以在除了升級之外的其他場景中使用。為了將客戶體驗作為被升級至不同標度單元結(jié)果的問題的可能性最小化,自動化租戶升級系統(tǒng)100對測試租戶106t進行利用。如在本文中所使用的,術(shù)語“租戶”寬泛地涵蓋與客戶相關(guān)聯(lián)的真實租戶106r和表示虛構(gòu)的實體的測試租戶106t兩者。通常而言,一旦被創(chuàng)建,從功能的角度而言真實租戶與測試租戶之間不存在有意義的差別,這是期望的,因為測試租戶旨在模擬真實租戶以用于測試生產(chǎn)多租戶服務(wù)的操作。自動化租戶升級系統(tǒng)100的方面包括在僅僅測試的數(shù)據(jù)庫112t中供應(yīng)與其中供應(yīng)真實租戶的數(shù)據(jù)庫112r分離的測試租戶106t。
在移動任何真實租戶106r之前,升級管理器116將測試租戶106t移動至目標標度單元108t。一旦將測試租戶移動至目標標度單元108t,健康監(jiān)視器118就檢查目標標度單元108t的健康。在已經(jīng)升級了測試租戶之后而在移動真實租戶之前,目標標度單元的健康可以被監(jiān)視以持續(xù)經(jīng)選擇的量的時間。健康監(jiān)視器118在升級的整個過程中持續(xù)監(jiān)視目標標度單元的健康。
健康監(jiān)視器118可以應(yīng)用確定性標準以基于使用多種監(jiān)視技術(shù)所獲得的信息來決定目標標度單元108t是否是健康的,所述多種監(jiān)視技術(shù)包括測試用戶所感知的場景以及監(jiān)視來自標度單元的健康信號。健康信號的示例可以包括但不限于:由標度單元的軟件或硬件所提供的自診斷報告以及由標度單元所生成的錯誤消息/日志。當檢測到目標標度單元108t的問題時,健康監(jiān)視器118可以將嚴重性等級指定給問題或基于問題的警報。健康監(jiān)視器118可以將警報發(fā)送給技術(shù)支持人員,所述警報具有關(guān)于包括受影響的標度單元和嚴重性等級的關(guān)于問題的信息。警報狀態(tài)保持活動直到問題被解決為止(例如,技術(shù)支持人員結(jié)局了問題或者自我恢復(fù)發(fā)生)。
在升級期間,健康監(jiān)視器118可以不時地針對活動警報而對目標標度單元108t進行檢查。如果不存在活動警報或者只存在具有低嚴重性等級的活動警報,則認為目標標度單元108t是健康的。如果目標標度單元108t表現(xiàn)為健康的,則升級管理器116開始將真實租戶108r移動至目標標度單元108t。對目標標度單元108t的監(jiān)視持續(xù)整個升級過程,并且只要目標標度單元沒有被確定為不健康的,真實租戶就繼續(xù)被升級。如果存在具有高于經(jīng)選擇的閾值等級的嚴重性等級的活動警報,則目標標度單元108t可以被認為是不健康的。如果滿足嚴重性閾值的問題是由健康監(jiān)視器118檢測的或者是由已經(jīng)被升級至目標標度單元108t的真實租戶106r的用戶報告的,則升級管理器116可以自動地暫停真實租戶升級過程,以使得用戶不被移動至不健康的目標標度單元108t。一旦解決了目標標度單元108t的問題,升級管理器116就自動地恢復(fù)升級真實租戶106r的標度單元。
健康監(jiān)視器118的方面可以允許監(jiān)視探針和/或測試場景被定義。健康監(jiān)視器118可以自動地應(yīng)用這樣的場景,其使用用戶租戶來模擬與目標標度單元108t中的服務(wù)110b的用戶交互并且監(jiān)視這樣的交互的結(jié)果。監(jiān)視可以用于評估以下項的健康或其操作,包括但不限于:目標標度單元、升級至目標標度單元的測試和/或真實租戶、以及在租戶升級過程期間在可持續(xù)的基礎(chǔ)上的相關(guān)的組件。健康監(jiān)視器118可以對測試的狀態(tài)、動作、和/或結(jié)果進行記錄、產(chǎn)生能夠由升級管理器116或其他經(jīng)連接的系統(tǒng)所使用的報告或饋送、和/或當經(jīng)模擬的用戶交互失敗或者識別出目標標度單元(包括與目標標度單元相關(guān)聯(lián)的服務(wù)、租戶、和/或其他系統(tǒng)或組件)的問題時發(fā)送通知或生成警報。
當真實租戶106r升級時,用戶114可以體驗并且向技術(shù)支持人員120(例如,幫助臺工作人員或者支持工程師)報告問題。一些用戶發(fā)起的問題報告可以使用不直接與自動化租戶升級系統(tǒng)100集成的通信信道(例如,與計數(shù)支持人員的電話通話、電子郵件、即時消息)來進行。然而,這樣的非集成通信可以在外部系統(tǒng)122(例如,計數(shù)支持系統(tǒng))中被記錄。從而,自動化租戶升級系統(tǒng)100的方面包括這樣的集成,其提供接口以允許數(shù)據(jù)在升級管理器116和外部系統(tǒng)122之間被共享。健康監(jiān)視器118還可以與外部系統(tǒng)122進行通信。例如,健康監(jiān)視器118可以將任何所檢測到的問題記錄至技術(shù)支持系統(tǒng)。此外,升級管理器116或者健康監(jiān)視器118可以生成警報(例如,電子郵件或者文本消息),其可以用于通知技術(shù)支持人員關(guān)于由健康監(jiān)視器118所檢測到的目標標度單元108t的任何問題。
升級管理器116可以利用從外部系統(tǒng)122獲得的與目標標度單元108t的健康相關(guān)的信息來管理租戶升級過程。例如,當存在來自與已經(jīng)被升級至目標標度單元108t的真實租戶106r相關(guān)聯(lián)的用戶114的在外部系統(tǒng)122中開放的用戶報告的問題(例如,故障單或者其他記錄)時,升級管理器116可以暫停租戶升級。類似地,當與目標標度單元108t中的問題相關(guān)聯(lián)的故障單被升級為指示問題被解決或者問題的嚴重性被降級時,升級管理器116可以恢復(fù)租戶升級。
服務(wù)器標度單元108的升級管理器116、健康監(jiān)視器118、外部系統(tǒng)122的硬件組件是使用適用于執(zhí)行提供在本文中所描述的功能的對應(yīng)的計算機可執(zhí)行指令的一個或多個計算設(shè)備來實現(xiàn)的。計算機可執(zhí)行指令可以以程序、應(yīng)用、服務(wù)、腳本、或其他軟件為形式。自動化租戶升級系統(tǒng)100的分布式組件可以經(jīng)由一個或多個網(wǎng)絡(luò)來通信,所述一個或多個網(wǎng)絡(luò)例如但不限于:互聯(lián)網(wǎng)、廣域網(wǎng)、以及局域網(wǎng)。
盡管諸如升級管理器116和健康監(jiān)視器118之類的各種組件被示出為分離的系統(tǒng),但自動化租戶系統(tǒng)100的功能中的一些或全部功能可以在單個系統(tǒng)中被實現(xiàn),并且還可以包含作為外部系統(tǒng)122的一部分來描述的功能。
圖2是示出了用于自動地升級多租戶服務(wù)中的租戶的方法的方面的高級流程圖。自動化租戶升級方法200可以包括目標標度單元創(chuàng)建操作202、測試租戶升級操作204、測試租戶健康檢查操作206、健康檢查結(jié)果確定208、真實租戶升級操作210、完成確定212、暫停操作214、警報操作216、暫停監(jiān)視操作218。
目標標度單元創(chuàng)建操作202標度單元創(chuàng)建源標度單元中的真實租戶重新定位至其的新的目標標度單元,并且執(zhí)行與租戶升級有關(guān)的其他準備活動。例如,目標標度單元創(chuàng)建操作202還可以包括將一個或多個測試租戶供應(yīng)至源標度單元中的數(shù)據(jù)庫,所述測試租戶可以用于測試新創(chuàng)建的目標標度單元的健康。所述數(shù)據(jù)庫可以是僅僅安置(house)測試租戶的專用測試數(shù)據(jù)庫;然而,不排除測試租戶被供應(yīng)至安置真實租戶的生產(chǎn)數(shù)據(jù)庫。
測試租戶升級操作204開始對租戶進行升級的實際工作。測試租戶升級操作204的方面可以涉及對標度單元進行檢查以確定是否有足夠數(shù)量的僅僅包含測試租戶的測試數(shù)據(jù)庫和/或足夠數(shù)量的測試租戶可用于對目標標度單元進行測試。測試數(shù)據(jù)庫和/或測試租戶的數(shù)量是固定值(例如,預(yù)先選擇的數(shù)量)或者可變值。例如,可變值可以作為將要升級的真實租戶的數(shù)量的百分比來計算。如果有足夠的測試租戶可用,則將測試租戶從源標度單元升級至目標標度單元。測試租戶可以是以單批或者是以多批來升級的。如果沒有足夠的測試數(shù)據(jù)庫或測試租戶可用,則升級將不繼續(xù)進行。例如,只有當目標標度單元包含最小數(shù)量的租戶或租戶數(shù)據(jù)庫時,健康監(jiān)視才可以發(fā)生,無論所述租戶或數(shù)據(jù)庫時測試租戶/數(shù)據(jù)庫還是真實租戶/數(shù)據(jù)庫。因此,為了避免直到可以檢查目標標度單元的健康才升級真實租戶,測試租戶的數(shù)量必須至少是用于觸發(fā)健康監(jiān)視所需的租戶的最小數(shù)量。
測試租戶健康檢查操作206使用測試租戶來監(jiān)視目標標度單元的健康。一旦測試租戶中的一些或全部測試租戶已經(jīng)被升級至目標標度單元,就自動地發(fā)起健康監(jiān)視。測試租戶健康檢查操作206的方面涉及建立在其期間評估目標標度單元和升級至目標標度單元的測試租戶的健康的等待時段。可以以各種方式來定義等待時段。例如,可以以時間單位將等待時段定義為真實租戶的自動化升級開始之前的最小時間(例如,至少30分鐘或90分鐘)??梢愿鶕?jù)在真實租戶的自動化升級開始之前必須成功完成的指定的成套測試來定義等待時段。例如,測試租戶健康檢查操作206可以涉及被檢查以確定目標標度單元是被適當?shù)嘏渲玫倪€是展現(xiàn)出問題的經(jīng)選擇的數(shù)量的動作??梢允褂镁唧w的測試和時間限制的組合(例如,所有的測試完成并且至少過了45分鐘)。
由測試租戶健康檢查操作206所執(zhí)行的健康檢查監(jiān)視可以包括基本監(jiān)視,例如但不限于:確定當在目標標度單元中供應(yīng)測試租戶時沒有錯誤發(fā)生、驗證目標標度單元中的測試租戶內(nèi)容與源標度單元中的測試租戶內(nèi)容相匹配、以及從目標標度單元收集自我報告的診斷信息。
測試租戶健康檢查操作206的方面還可以包括對新的標度單元中的用戶動作的自動化模擬??梢酝ㄟ^使用腳本、工作流、或者指令的其他序列來模擬與由目標標度單元所托管的服務(wù)的用戶交互以完成自動化測試。所模擬的用戶交互是使用測試租戶針對目標標度單元來執(zhí)行的,就好像測試租戶的用戶正在執(zhí)行所述操作一樣??梢阅M可以由真實租戶的用戶手動地執(zhí)行的大多數(shù)動作。所模擬的用戶交互的示例包括但不限于:管理場景(例如,創(chuàng)建、修改、刪除、或者列出用戶)、認證場景(例如,登入和登出服務(wù))、以及文檔場景(例如,創(chuàng)建、編輯、上傳、下載、或者刪除文檔)。
自動化測試還可以定義所模擬的用戶交互的條件的成功和/或失敗。成功條件和/或失敗條件可以基于將響應(yīng)于命令(例如,消息或?qū)υ捒虻膬?nèi)容)而呈現(xiàn)給真實用戶的直接反饋或其他信息,或者基于作為動作的結(jié)果(例如,日志的內(nèi)容或?qū)?shù)據(jù)的改變)而生成的間接信息。簡單的成功/失敗條件可以包括檢測從所模擬的動作得出的消息或錯誤代碼。例如,測試租戶健康檢查操作206可以將指示當嘗試創(chuàng)建用戶時失敗的消息識別為錯誤條件。在一些情況下,可以解析消息的內(nèi)容以確定是否發(fā)生錯誤以及錯誤的嚴重性。類似地,可以解析日志文件以找到與創(chuàng)建用戶的嘗試和該嘗試的結(jié)果相對應(yīng)的記錄。
可以根據(jù)期望的結(jié)果來定義成功條件或失敗條件。例如,當模擬用戶登入時,期望的結(jié)果是將顯示租戶的主頁。從而,如果顯示了租戶的主頁,則測試租戶健康檢查操作206認為該動作是成功的。
更加復(fù)雜的成功/失敗條件可以涉及在嘗試了實質(zhì)性的動作之后執(zhí)行驗證動作。例如,當命令是成功的時創(chuàng)建用戶可以不產(chǎn)生任何通知,或者可以不產(chǎn)生對成功或失敗的任何直接指示。替代地,新的用戶是否出現(xiàn)在用戶列表中可以是對操作的成功或失敗的唯一的指示。在這樣的情況下,工作流在創(chuàng)建新的用戶的動作之后跟隨有列出屬于租戶的用戶或者針對用戶的搜索的動作。響應(yīng)于針對具體用戶的搜索,服務(wù)可以以各種方式進行回應(yīng),例如,包含用戶的單條目用戶列表(即,成功)、空列表(即,失敗)、或者指示沒有找到用戶的消息。響應(yīng)于列出所有用戶的命令或者更加一般的搜索(例如,姓氏搜索),可以返回多條目用戶列表。可以由測試租戶健康檢查操作206來解析所返回的列表,以驗證租戶中是否存在用戶。
健康檢查結(jié)果確定208對所接收到的關(guān)于通過對目標標度單元的監(jiān)視而獲得的目標標度單元的問題的信息進行評估,并且收集關(guān)于由已經(jīng)升級至目標標度單元的真實租戶的用戶所報告的問題的信息。如先前所提及的,關(guān)于目標群組是健康還是不健康的一個度量是所檢測的或所報告的關(guān)于目標群組的任何問題的嚴重性??梢砸远喾N方式來度量嚴重性,例如但不限于:任何問題的類型或分類、問題的潛在的影響(個體地或共同地)、問題的數(shù)量、所影響的功能的重要性質(zhì)、所影響的功能的使用頻率、或者這樣的因素的組合。例如,單個主要特征、多個次要特征、或者頻繁使用的單個次要特征的問題可以被認為是足夠嚴重以將目標標度單元分類為不健康的。
當目標標度單元的問題被確定是嚴重的時,目標標度單元被認為處于不健康的狀態(tài)。健康檢查結(jié)果確定208的方面可以包括將嚴重性等級與閾值進行比較以確定目標標度單元是否處于不健康的狀態(tài)。閾值等級確定所述問題是否導(dǎo)致目標標度單元不健康。例如,可以給目標標度單元的問題分配一到四之間的嚴重性等級,其中,一是最嚴重的,并且閾值等級為二意味著如果任何活動的問題具有為一或二的嚴重性等級,則目標標度單元被認為是不健康的。否則,目標標度單元被認為處于健康狀態(tài)。目標標度單元健康確定可以將嚴重性等級比較與其他因素相結(jié)合,例如,具有給定的嚴重性等級的問題的數(shù)量。例如,當任何等級一的警報是活動的或者多個等級二的警報是活動的時,目標標度單元可以被認為是不健康的。當標度單元處于健康狀態(tài)時,方法200繼續(xù)進行真實租戶升級操作210。
健康檢查結(jié)果確定208使用由測試租戶健康檢查操作206所獲得的信息并且繼續(xù)對目標標度單元的監(jiān)視和測試。健康檢查結(jié)果確定208可以被動地接收關(guān)于由測試租戶健康檢查操作206所提供的關(guān)于目標標度單元的健康的信息和/或在持續(xù)或周期性的基礎(chǔ)上主動地獲得或請求關(guān)于目標標度單元的健康的信息。換句話說,在被動的實現(xiàn)中,當信息被提供時,可以觸發(fā)健康檢查結(jié)果確定208。在持續(xù)主動的實現(xiàn)中,測試租戶健康檢查操作206可以針對關(guān)于目標標度單元的新的信息而對日志進行監(jiān)視,以提供對升級過程的高度響應(yīng)的控制。在周期性主動的實現(xiàn)中,測試租戶健康檢查操作206可以在經(jīng)過所選擇量的時間之后(例如,每10分鐘)發(fā)出查詢或者解析最近記錄的時間。在尋找關(guān)于目標標度單元的健康的經(jīng)升級的信息之前由健康檢查結(jié)果確定208所等待的時間可以與升級一批租戶所需的時間或者其他相關(guān)時間段相協(xié)調(diào)。例如,如果升級一批租戶花費六到七分鐘并且對下一批租戶的升級在當前批的租戶的升級結(jié)束之后立即開始,則健康檢查結(jié)果確定208可以在開始一批升級之后的五分鐘之后請求關(guān)于目標標度單元的健康的信息,因此在對當前批的處理結(jié)束時,目標標度單元的當前的健康將是可用的。
真實租戶升級操作210將真實租戶從源標度單元升級至目標標度單元。真實租戶升級操作210的方面包括分批地升級真實租戶。在一批中所升級的真實租戶的數(shù)量可以是固定值(例如,一次10個或20個租戶)或者是可變值(例如,待升級的總共的真實租戶的所選擇的百分比)。分批地對租戶進行升級提供了額外的機會來限制受到有問題的目標標度單元影響的客戶的數(shù)量。對目標標度單元的監(jiān)視在對真實租戶的升級期間持續(xù)。
在每批真實租戶被升級了之后,完成確定操作212確定保持處于源標度單元中的更多真實租戶是否等待被升級至目標標度單元。如果源標度單元仍然包含真實租戶,方法200繼續(xù)進行健康檢查結(jié)果確定208。
在真實租戶升級階段期間,健康檢查結(jié)果確定208繼續(xù)使用正在進行的對測試租戶的自動化監(jiān)視來評估目標標度單元的健康。另外,健康檢查結(jié)果確定208可以包含對由目標標度單元或者相關(guān)聯(lián)的支持系統(tǒng)所報告的問題的考慮。例如,如果錯誤報告工具記錄了在由真實租戶的使用期間發(fā)生的目標標度單元的問題,或者報告了由于點擊了錯誤消息對話框中的提交控件(即,按鈕)而產(chǎn)生的錯誤,則健康檢查結(jié)果確定208在確定目標標度單元時評估問題信息。
還可以手動地將問題報告記錄在鏈接至自動化租戶升級系統(tǒng)的技術(shù)支持系統(tǒng)中。例如,如果用戶通過電話、電子郵件、或者即時消息傳送來聯(lián)系技術(shù)支持人員以報告多租戶服務(wù)的問題,則技術(shù)支持人員可以輸入關(guān)于問題的相關(guān)信息,該相關(guān)信息以允許對受到所述問題影響的一個或多個標度單元的標識(例如,域名、客戶名等)。輸入到技術(shù)支持系統(tǒng)中的信息還可以包括由技術(shù)支持人員所指定的對問題的嚴重性等級的指示,當評估問題報告時其可以作為健康檢查結(jié)果確定208的一部分來使用。
相關(guān)聯(lián)的技術(shù)支持系統(tǒng)可以自動地發(fā)送關(guān)于多租戶服務(wù)的問題的消息以供在健康檢查結(jié)果確定208期間評估。評估由自動化租戶升級系統(tǒng)所接收的技術(shù)支持消息,并且當確定目標標度單元的健康時考慮被確定為涉及活動升級中的目標度量單元的那些技術(shù)支持消息。類似地,健康檢查結(jié)果確定208可以針對影響目標標度單元的問題而對技術(shù)支持系統(tǒng)進行查詢。
如果健康檢查結(jié)果確定208指示目標標度單元的失敗,則方法200繼續(xù)進行一系列操作,所述操作旨在補救問題中的一些或所有問題以使得真實租戶升級可以開始,并且旨在降低、最小化、或者消除已經(jīng)升級了的真實租戶潛在地面臨著的問題。
如果目標標度單元處于不健康的狀態(tài),則暫停操作214自動地停止真實租戶被升級。如果在僅僅移動了測試租戶之后檢測到目標標度單元的問題,則沒有真實租戶已經(jīng)被移動了,并且因此沒有客戶收到影響。如果在已經(jīng)升級了一些真實租戶之后檢測到目標標度單元的問題,則暫?;蛲V股夁^程限制了收到影響的客戶的數(shù)量。
警報操作216可以生成警報或其他通知(例如,電子郵件)以通知技術(shù)支持人員關(guān)于由健康監(jiān)視器118所檢測到的目標標度單元108t的問題,以使得它們可以被校正。警報操作216是可選的操作。
暫停監(jiān)視操作218在租戶升級暫停時以大體上類似于在上文中針對測試租戶健康檢查操作206和健康檢查結(jié)果確定208所描述的方式來評估目標標度單元的健康。一旦目標標度單元返回至健康狀態(tài),方法200就繼續(xù)進行健康檢查結(jié)果確定208。
完成確定操作212檢查在源標度單元中是否剩余任何真實租戶。在所有的真實租戶已經(jīng)從源標度單元升級至目標標度單元之后,方法200結(jié)束。
本發(fā)明的方面可以被實踐為系統(tǒng)、設(shè)備、和其他制品,或者被實踐為使用硬件、軟件、計算機可讀介質(zhì)、或其組合的方法。以下的討論和相關(guān)聯(lián)的附圖描述了所選擇的系統(tǒng)架構(gòu)以及表示大量系統(tǒng)架構(gòu)的計算設(shè)備和可以用于實踐在本文中所描述的方法的計算設(shè)備,并且不應(yīng)當被理解為用于以任何方式限制本發(fā)明的范圍。
各種類型的用戶界面和信息可以經(jīng)由板載計算設(shè)備顯示器或者經(jīng)由與一個或多個計算設(shè)備相關(guān)聯(lián)的遠程顯示單元來顯示。例如,各種類型的用戶界面和信息可以在各種類型的用戶界面和信息所透射到的墻面上顯示并且與這樣的墻面進行交互被投射在其上。與本發(fā)明的實施例可以利用其實踐的多種計算系統(tǒng)交互包括:擊鍵輸入、觸摸屏輸入、語音或其它音頻輸入、手勢輸入,其中相關(guān)聯(lián)的計算設(shè)備裝備有用于捕獲和解譯用戶手勢的檢測(例如,相機)功能,以用于控制計算設(shè)備的功能等。
圖3是示出了利用其可以實踐本發(fā)明的方面的計算設(shè)備的架構(gòu)的框圖。計算設(shè)備300適用于實現(xiàn)在寬泛的多種計算機和可編程消費性電子設(shè)備中所實施的本發(fā)明的方面,所述計算機和可編程消費性電子設(shè)備包括但不限于:大型計算機、小型計算機、服務(wù)器、個人計算機(例如,臺式計算機和膝上型計算機)、平板計算機、上網(wǎng)本、智能手表、視頻游戲系統(tǒng)和智能電視、以及智能消費性電子設(shè)備。
在由虛線308所指示的基本配置中,計算設(shè)備300可以包括至少一個處理單元302和系統(tǒng)存儲器304。根據(jù)計算設(shè)備的配置和類型,系統(tǒng)存儲器304可以包含但不限于:易失性存儲器(例如,隨機存取存儲器)、非易失性存儲器(例如,只讀存儲器)、閃速存儲器、或者這樣的存儲器的任意組合。系統(tǒng)存儲器304可以包括適用于控制計算設(shè)備300的操作操作系統(tǒng)305,以及適用于運行軟件應(yīng)用320(包括實現(xiàn)在本文中所描述的發(fā)明的方面的軟件)的一個或多個程序模塊306。
當在處理單元302上執(zhí)行時,軟件應(yīng)用320可以執(zhí)行以下過程,包括但不限于方法200的階段中的一個或多個階段。根據(jù)本發(fā)明的方面可以使用的其他程序模塊可以包括電子郵件和聯(lián)系人應(yīng)用、文字處理應(yīng)用、電子表格應(yīng)用、數(shù)據(jù)庫應(yīng)用、幻燈片演示應(yīng)用、或者計算機輔助繪圖應(yīng)用程序等。
除了基本配置之外,計算設(shè)備300可以具有額外的特征和功能。例如,計算設(shè)備300還可以包括額外的數(shù)據(jù)存儲設(shè)備(可移動的和/或不可移動的),例如,磁盤、光盤、或磁帶。由可移動存儲設(shè)備309和不可移動存儲設(shè)備310示出了這樣額外的存儲。
計算設(shè)備300還可以具有一個或多個輸入設(shè)備312,例如鍵盤、鼠標、筆、語音輸入設(shè)備、觸摸輸入設(shè)備等。還可以包括輸出設(shè)備314,例如顯示器、揚聲器、打印機等。前述設(shè)備是示例并且也可以使用其他設(shè)備。計算設(shè)備300可以包括允許與其他計算設(shè)備318進行通信的一個或多個通信連接316。合適的通信連接316的示例包括但不限于:rf發(fā)射機、接收機和/或收發(fā)機電路;通用串行總線(usb)、并行和/或串行端口。
如在本文中所使用的術(shù)語計算機可讀介質(zhì)可以包括計算機存儲介質(zhì)。計算機存儲介質(zhì)可以包括以任何用于存儲信息(例如,計算機可讀指示、數(shù)據(jù)結(jié)構(gòu)、或程序模塊)的方法或技術(shù)來實現(xiàn)的易失性的和非易失性的、可移動的和不可移動的介質(zhì)。系統(tǒng)存儲器304、可移動存儲設(shè)備309、和不可移動存儲設(shè)備310都是計算機存儲介質(zhì)的示例(即,存儲器存儲)。計算機存儲介質(zhì)可以包括隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦只讀存儲器(eeprom)、閃速存儲器或其他存儲器技術(shù)、壓縮盤只讀存儲器(cd-rom)、數(shù)字通用盤(dvd)或其他光存儲、盒式磁帶、磁帶、磁盤存儲器或其他磁存儲設(shè)備、或者可用于存儲信息并且可以由計算機設(shè)備300訪問的任何其他制品。任何這樣的計算機存儲介質(zhì)都可以是計算設(shè)備300的一部分。
可以在包括分立電子元件的電路、包含邏輯門的封裝或集成的電子芯片、利用微處理器的電路、或者在包含電子元件或微處理器的單個芯片上實踐本發(fā)明的方面。例如,可以經(jīng)由其中所示出的每個或許多組件可以集成在單個集成電路上的片上系統(tǒng)(soc)來實踐本發(fā)明的實施例。這樣的soc設(shè)備可以包括一個或多個處理單元、圖形單元、通信單元、系統(tǒng)虛擬化單元、以及各種應(yīng)用功能,其全部作為單個集成電路而被集成(或“燒”)到芯片基底上。當經(jīng)由soc進行操作時,可以經(jīng)由在單個集成電路(芯片)上與計算設(shè)備300的其他組件集成的專用邏輯來對在本文中所描述的關(guān)于應(yīng)用320的功能進行操作。還可以使用能夠執(zhí)行邏輯操作(例如and、or和not)的其他技術(shù)來實踐本發(fā)明的實施例,所述其他技術(shù)包括但不限于機械、光學、流體、和量子技術(shù)。另外,可以在通用計算機內(nèi)或在任何其他任何電路或系統(tǒng)中實踐本發(fā)明的實施例。
圖4a示出了適用于實踐本發(fā)明的方面的移動計算設(shè)備400。適合的移動計算設(shè)備的示例包括但不限于:移動電話、智能電話、平板計算機、平面計算機、以及膝上型計算機等。在基本配置中,移動計算設(shè)備400是具有輸入元件和輸出元件兩者的手持計算機。移動計算設(shè)備400通常包括顯示器405以及允許用戶向移動計算設(shè)備400中輸入信息的一個或多個輸入按鈕410。移動計算設(shè)備400的顯示器405還可以充當輸入設(shè)備(例如,觸摸屏顯示器)。如果被包括在內(nèi),可選的側(cè)輸入元件415允許進一步的用戶輸入。側(cè)輸入元件415可以是旋轉(zhuǎn)開關(guān)、按鈕、或任何其他類型的手動輸入元件。移動計算設(shè)備400可以包含更多或更少的輸入元件。例如,顯示器405可以不是觸摸屏。移動計算設(shè)備400還可以包括可選的小鍵盤435。可選的小鍵盤435可以是物理小鍵盤或是在觸摸屏顯示器上生成的“軟”小鍵盤。輸出元件包括用于示出圖形用戶界面(gui)的顯示器405、視覺指示器420(例如,發(fā)光二極管)、和/或音頻換能換能器425(例如,揚聲器)。移動計算設(shè)備400包含用于給用戶提供觸覺反饋的振動換能器。移動計算設(shè)備400包含用于向外部設(shè)備發(fā)送信號或者從外部設(shè)備接收信號的輸入和/或輸出端口,例如音頻輸入端(例如,麥克風插孔)、音頻輸出端(例如,耳機插孔)、以及視頻輸出端(例如,hdmi端口)。
圖5b是示出了利用其可以實踐本發(fā)明的方面的移動計算設(shè)備的架構(gòu)的框圖。作為示例,移動計算設(shè)備400可以在系統(tǒng)402中被實現(xiàn),所述系統(tǒng)402例如是能夠運行一個或多個應(yīng)用(例如瀏覽器、電子郵件、筆記、聯(lián)系人管理器、消息傳送客戶端、游戲、以及媒體客戶端/播放器)的智能電話。
一個或多個應(yīng)用程序465可被加載到存儲器462中,并且在操作系統(tǒng)464上運行或者結(jié)合操作系統(tǒng)464運行。應(yīng)用程序的示例包括電話撥號程序、電子郵件程序、個人信息管理(pim)程序、文字處理程序、電子表格程序、互聯(lián)網(wǎng)瀏覽器程序、消息傳送程序等。系統(tǒng)402還包括存儲器462內(nèi)的非易失性存儲區(qū)468。非易失性存儲區(qū)468可以用于存儲如果系統(tǒng)402斷電而不應(yīng)該丟失的持續(xù)的信息。應(yīng)用程序465可以使用非易失性存儲區(qū)468中的信息并將信息存儲在非易失性存儲區(qū)468中,所述信息例如由電子郵件應(yīng)用等所使用的電子郵件或其他消息。同步應(yīng)用(未示出)也駐留在系統(tǒng)402上并且被編程為與駐留在主機計算機上的對應(yīng)的同步應(yīng)用進行交互,以保持存儲在非易失性存儲區(qū)域468中的信息與存儲在主機計算機處的對應(yīng)的信息相同步。應(yīng)當理解的是,包括實現(xiàn)在本文中所描述的發(fā)明的方面的軟件在內(nèi)的其他應(yīng)用也可被加載到存儲器462中并且在移動計算設(shè)備400上運行。
系統(tǒng)402具有可以被實現(xiàn)為一個或多個電池的電源470。電源470還可以包括外置電源,例如,ac適配器或給電池供電或充電的加電對接托架。
系統(tǒng)402還可以包括執(zhí)行發(fā)送和接收射頻通信的功能的無線電設(shè)備472。無線電設(shè)備472經(jīng)由通信載波或服務(wù)供應(yīng)商來促成系統(tǒng)402與外部世界之間的無線連通性。來往無線電設(shè)備472的傳輸是在操作系統(tǒng)464的控制下進行的。換句話說,可以將由無線電設(shè)備472所接收的通信經(jīng)由操作系統(tǒng)464散播至應(yīng)用程序465,反之亦然。
視覺指示符420可以用于提供視覺通知和/或音頻接口474可以用于經(jīng)由音頻換能器425產(chǎn)生能夠聽到的通知。如圖所示,視覺指示符420是發(fā)光二極管(led)。這些設(shè)備可直接地耦合至電源470,使得當被激活時,即使處理器460和其他組件可以關(guān)閉以節(jié)省電池電量,這些設(shè)備也能保持通電并持續(xù)由通知機制所指示的一段時間。led可被編程為無限期地保持通電,直到用戶采取動作來指示該設(shè)備的通電狀態(tài)為止。音頻接口474用于向用戶提供能夠聽到的信號并且從用戶處接收能夠聽到的信號。例如,除了耦合至音頻換能器425之外,音頻接口474還可以耦合至麥克風以接收能夠聽到的輸入,例如,促進電話會話。根據(jù)本發(fā)明的實施例,麥克風還可以充當音頻傳感器以促進對通知的控制,如在下文中描述的。系統(tǒng)402還可以包括支持用于記錄靜止的圖像、視頻流等的板載相機430的操作的視頻接口476。
實現(xiàn)系統(tǒng)402的移動計算設(shè)備400可以具有額外的特征或功能。例如,移動計算設(shè)備400還可以包括額外的數(shù)據(jù)存儲設(shè)備(可移動的和/或不可移動的),例如磁盤、光盤、或磁帶。由非易失性存儲區(qū)468示出了這樣額外的存儲設(shè)備。外圍端口430允許外圍設(shè)備被連接至移動計算設(shè)備400。外圍設(shè)備可以向移動計算設(shè)備400提供額外的特征或功能,和/或允許數(shù)據(jù)被傳輸至移動計算設(shè)備400或者從移動計算設(shè)備400傳輸。
如在上文中所描述的,可以將由移動計算設(shè)備400所生成或捕獲的數(shù)據(jù)/信息以及經(jīng)由系統(tǒng)402所存儲的數(shù)據(jù)/信息本地地存儲在移動計算設(shè)備400上,或者可以將數(shù)據(jù)存儲在可以經(jīng)由無線電設(shè)備472或經(jīng)由移動計算設(shè)備400和與移動計算設(shè)備400相關(guān)聯(lián)的單獨的計算設(shè)備(例如,分布式計算網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))中的服務(wù)器計算機)之間的有線連接由設(shè)備來訪問的任何數(shù)量的存儲介質(zhì)上。應(yīng)當理解的是,可以經(jīng)由移動計算設(shè)備400、經(jīng)由無線電472、或經(jīng)由分布式計算網(wǎng)絡(luò)來訪問這樣的數(shù)據(jù)/信息。類似地,根據(jù)公知的數(shù)據(jù)/信息傳輸和存儲方式(包括電子郵件和協(xié)同數(shù)據(jù)/信息共享系統(tǒng)),這樣的數(shù)據(jù)/信息可以容易地在計算設(shè)備之間傳輸以供存儲和使用。
圖5是用于實踐本發(fā)明的架構(gòu)的分布式計算系統(tǒng)的簡化框圖。與軟件應(yīng)用相關(guān)聯(lián)地開發(fā)、交互、或編輯的內(nèi)容可以存儲在不同的通信信道中或其他存儲器類型中。例如,可以使用目錄服務(wù)522、門戶網(wǎng)站524、郵箱服務(wù)526、即時消息存儲528、或社交網(wǎng)站530來存儲各種文件。如在本文中所描述的,軟件應(yīng)用可以使用這些類型的系統(tǒng)中的任何一種等來使能數(shù)據(jù)利用。服務(wù)器520可以將軟件應(yīng)用提供至客戶端。作為一個示例,服務(wù)器520可以是通過網(wǎng)絡(luò)提供軟件應(yīng)用的網(wǎng)絡(luò)服務(wù)器。服務(wù)器520可以通過網(wǎng)絡(luò)515將軟件應(yīng)用通過網(wǎng)絡(luò)提供至客戶端。作為示例,客戶端計算設(shè)備可以被實現(xiàn)為計算設(shè)備300,并且在個人計算機518a、平板計算機518b、和/或移動計算設(shè)備518c(例如,智能電話)中實施。這些客戶端設(shè)備中的任何一個客戶端設(shè)備都可以從存儲516中獲得內(nèi)容。
在該公開中所提供的一個或多個實施例的描述或圖示旨在向本領(lǐng)域技術(shù)人員提供對主題的完整范圍的完全徹底和完整的公開,而不旨在以任何方式限制或約束所要求保護的發(fā)明的范圍。在該公開中所提供的方面、實施例、示例、和細節(jié)被認為足以傳達所有物,并且使得本領(lǐng)域技術(shù)人員能夠制造并使用所要求保護的發(fā)明的最佳模式。被認為是對本領(lǐng)域技術(shù)人員公知的對結(jié)構(gòu)、資源、操作、和行為的描述可以是簡要的或者被省略,以避免使得該申請的主題的較少人知道的或者獨特的方面難以理解。所要求保護的發(fā)明不應(yīng)該被解釋為限于在該申請中所提供的任何實施例、示例、或細節(jié)。無論是共同地還是單獨地示出或描述,(結(jié)構(gòu)上和方法上兩者的)各種特征旨在選擇性地包括或省略,以產(chǎn)生具有特定組的特征的實施例。此外,可以以任何順序或者同時地執(zhí)行所示出或描述的功能和行為中的任何一個或全部。在已經(jīng)提供有本申請的描述和圖示之后,本領(lǐng)域技術(shù)人員可以預(yù)想落入在該申請中所實施的一般的發(fā)明概念的更寬泛的方面的精神內(nèi)的變型、修改和替代實施例,而不脫離所要求保護的發(fā)明的更寬泛的范圍。