對(duì)災(zāi)難恢復(fù)計(jì)劃的創(chuàng)建和實(shí)施對(duì)于啟用從災(zāi)難中的恢復(fù)是必要的。災(zāi)難可以包括諸如洪水、龍卷風(fēng)或地震的自然災(zāi)難以及包括惡意活動(dòng)和人為錯(cuò)誤的人為災(zāi)難。諸如這些的災(zāi)難引發(fā)由各種實(shí)體依靠的硬件和軟件系統(tǒng)的不可用性。例如,如果由企業(yè)利用的數(shù)據(jù)中心由災(zāi)難致使不可用,則數(shù)據(jù)將不可以被讀取或?qū)懭耄⑶覕?shù)據(jù)可能丟失。
實(shí)施數(shù)據(jù)復(fù)制和故障轉(zhuǎn)移作為用于應(yīng)用的災(zāi)難恢復(fù)計(jì)劃的一部分可以提供針對(duì)災(zāi)難或區(qū)域斷電的一種類型的保險(xiǎn)。數(shù)據(jù)復(fù)制是如下過程,通過該過程將來自主站點(diǎn)的應(yīng)用數(shù)據(jù)復(fù)制或鏡像到輔站點(diǎn)。如果主站點(diǎn)由于災(zāi)難而發(fā)生故障,則應(yīng)用在被稱為故障轉(zhuǎn)移的過程中被轉(zhuǎn)移到輔站點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
下文呈現(xiàn)簡(jiǎn)化概述以便提供對(duì)所公開的主題的一些方面的基本理解。該概述不是廣泛的概述。其不旨在確定重要/關(guān)鍵元件或描繪要求保護(hù)的主題的范圍。其唯一目的是為了以簡(jiǎn)化的形式呈現(xiàn)一些概念作為對(duì)稍后呈現(xiàn)的更詳細(xì)的描述的前序。
簡(jiǎn)單地來說,本公開內(nèi)容涉及半自動(dòng)故障轉(zhuǎn)移。半自動(dòng)故障轉(zhuǎn)移使能由服務(wù)提供方進(jìn)行的自動(dòng)故障轉(zhuǎn)移以及由服務(wù)消費(fèi)方進(jìn)行的自助服務(wù)故障轉(zhuǎn)移。自助服務(wù)故障轉(zhuǎn)移可以基于由服務(wù)提供方生成的信號(hào)來啟動(dòng),該信號(hào)可以基于對(duì)關(guān)于服務(wù)提供方發(fā)生的事故的分析。根據(jù)一個(gè)方面,該信號(hào)可以提供與服務(wù)提供方的健康有關(guān)的建議或信息以幫助決定是否要啟動(dòng)自助服務(wù)故障轉(zhuǎn)移。根據(jù)另一方面,該信號(hào)可以授權(quán)或拒絕對(duì)服務(wù)消費(fèi)方執(zhí)行自助服務(wù)故障轉(zhuǎn)移的許可。
為了實(shí)現(xiàn)前述和相關(guān)目的,在本文中結(jié)合下面的描述和隨附的附圖來描述要求保護(hù)的主題的某些說明性方面。這些方面指示可以實(shí)踐本主題的各種方式,其全部旨在處于要求保護(hù)的主題的范圍內(nèi)。其他優(yōu)點(diǎn)和新穎特征可以當(dāng)結(jié)合附圖考慮時(shí)從下面的詳細(xì)描述中變得顯而易見。
附圖說明
圖1是半自動(dòng)地理故障轉(zhuǎn)移系統(tǒng)的框圖。
圖2是示例性故障轉(zhuǎn)移情景的框圖。
圖3是自助服務(wù)故障轉(zhuǎn)移的方法的流程圖示圖。
圖4是自助服務(wù)故障轉(zhuǎn)移的方法的流程圖示圖。
圖5是事故處理的方法的流程圖示圖。
圖6是圖示了用于本公開內(nèi)容的各方面的適當(dāng)?shù)牟僮鳝h(huán)境的示意性框圖。
具體實(shí)施方式
自動(dòng)故障轉(zhuǎn)移由服務(wù)提供方在主站點(diǎn)的總體丟失之后或者在由提供方確立主的恢復(fù)將花費(fèi)大量的時(shí)間時(shí)執(zhí)行。服務(wù)提供方通常在啟動(dòng)故障轉(zhuǎn)移之前采用長(zhǎng)恢復(fù)時(shí)間目標(biāo)(RTO)以允許足夠的時(shí)間用來調(diào)查、排解故障以及可能地從事故中恢復(fù)。自動(dòng)故障轉(zhuǎn)移因此是終極手段。該模型很好地適用于對(duì)數(shù)據(jù)丟失極其敏感的應(yīng)用并且優(yōu)選等待直到服務(wù)提供方利用了所有可能的恢復(fù)選項(xiàng)為止。然而,該方法導(dǎo)致受影響的應(yīng)用的延長(zhǎng)的停機(jī)時(shí)間,并且對(duì)于具有在服務(wù)水平協(xié)議中闡述的積極的可用性要求并且因此不可以承擔(dān)延長(zhǎng)的停機(jī)時(shí)間的應(yīng)用常常是不可接受的。
現(xiàn)有的解決方案向應(yīng)用提供使用同步或異步復(fù)制的選擇。前者允許沒有數(shù)據(jù)丟失的快速自動(dòng)故障轉(zhuǎn)移,但是導(dǎo)致對(duì)與阻塞相關(guān)聯(lián)的應(yīng)用的持續(xù)性能懲罰直到復(fù)制完成并被確認(rèn)。后者包括沒有性能懲罰但是具有數(shù)據(jù)丟失的可能和高恢復(fù)時(shí)間目標(biāo)的自動(dòng)故障轉(zhuǎn)移,其在災(zāi)難性故障的情況下導(dǎo)致很長(zhǎng)的應(yīng)用停機(jī)時(shí)間。
公開了半自動(dòng)故障轉(zhuǎn)移,其包括由服務(wù)提供方進(jìn)行的自動(dòng)故障轉(zhuǎn)移以及由諸如應(yīng)用的服務(wù)消費(fèi)方進(jìn)行的自助服務(wù)故障轉(zhuǎn)移。這里,服務(wù)消費(fèi)方可以啟動(dòng)故障而無需等待針對(duì)可能的恢復(fù)或自動(dòng)故障轉(zhuǎn)移的延長(zhǎng)的時(shí)間。同時(shí),在期望時(shí),由服務(wù)提供方提供對(duì)自動(dòng)故障轉(zhuǎn)移的支持。自助服務(wù)故障轉(zhuǎn)移可以基于由服務(wù)提供方生成的信號(hào)來啟動(dòng),該信號(hào)可以基于關(guān)于服務(wù)提供方發(fā)生的事故的分析,例如故障的證據(jù)。根據(jù)一個(gè)方面,該信號(hào)可以提供信息以使得服務(wù)消費(fèi)方能夠例如基于如在服務(wù)消費(fèi)方與其客戶端之間的服務(wù)水平協(xié)議規(guī)定的可用性要求來決定是否要啟動(dòng)故障轉(zhuǎn)移,以及如果是的話則決定何時(shí)啟動(dòng)故障轉(zhuǎn)移。然而,針對(duì)高可用性優(yōu)化的應(yīng)用可以期望甚至在主副本最終恢復(fù)并且數(shù)據(jù)丟失時(shí)也盡可能快地啟動(dòng)故障轉(zhuǎn)移,并且利用輔副本繼續(xù)操作。根據(jù)另一方面,該信號(hào)可以授權(quán)或拒絕關(guān)于由服務(wù)消費(fèi)方對(duì)自助服務(wù)故障轉(zhuǎn)移的許可。以這種方式,服務(wù)提供方可以控制何時(shí)允許服務(wù)消費(fèi)方使故障轉(zhuǎn)移強(qiáng)制實(shí)施于這種動(dòng)作被準(zhǔn)許的情景。對(duì)服務(wù)提供方的豐富內(nèi)部監(jiān)控基礎(chǔ)設(shè)施的使用可以被用于排除誤報(bào)并提供防止歸因于暫時(shí)故障的不必要的數(shù)據(jù)丟失的質(zhì)量警報(bào)。
現(xiàn)在參考隨附附圖更詳細(xì)地描述本公開內(nèi)容的各個(gè)方面,其中,類似的附圖標(biāo)記一般在其中指代類似的或?qū)?yīng)的元件。然而,應(yīng)當(dāng)理解,各圖和與其相關(guān)的詳細(xì)描述不旨在將要求保護(hù)的主題限于所公開的具體形式。相反,意圖是要涵蓋落入要求保護(hù)的主題的精神和范圍內(nèi)的所有修改、等效方案和備選方案。
首先參考圖1,圖示了半自動(dòng)故障轉(zhuǎn)移系統(tǒng)100。如所示出的,存在服務(wù)消費(fèi)方110和服務(wù)提供方。服務(wù)提供方120被配置為向服務(wù)消費(fèi)方110提供服務(wù)。盡管不限于其,但是在一個(gè)實(shí)例中,服務(wù)提供方120可以對(duì)應(yīng)于平臺(tái)即服務(wù)(PAAS)系統(tǒng),該P(yáng)AAS系統(tǒng)為服務(wù)消費(fèi)方110提供計(jì)算平臺(tái)作為服務(wù)。例如,服務(wù)提供方120可以托管由諸如網(wǎng)絡(luò)(web)應(yīng)用的服務(wù)消費(fèi)方應(yīng)用采用的數(shù)據(jù)庫(kù)系統(tǒng)。服務(wù)消費(fèi)方110采用被配置為基于來自服務(wù)提供方120的信號(hào)115來啟用自助服務(wù)故障轉(zhuǎn)移的多個(gè)組件。服務(wù)提供方120包括被配置為生成信號(hào)115并啟用恢復(fù)或自動(dòng)故障轉(zhuǎn)移的許多組件。
服務(wù)消費(fèi)方110包括故障轉(zhuǎn)移組創(chuàng)建組件112、信號(hào)檢查組件114以及自助服務(wù)故障轉(zhuǎn)移組件116。故障轉(zhuǎn)移組創(chuàng)建組件112被配置為創(chuàng)建或指定將一起進(jìn)行故障轉(zhuǎn)移的一組數(shù)據(jù),例如一個(gè)或多個(gè)數(shù)據(jù)庫(kù)。換言之,可以生成針對(duì)數(shù)據(jù)的容器,其中容器被復(fù)制到輔站點(diǎn),使得在發(fā)生致使主站點(diǎn)不可用的事件后,可以利用容器的輔站點(diǎn)表示。故障轉(zhuǎn)移組提前限定故障轉(zhuǎn)移的范圍并確保該組中的所有數(shù)據(jù)對(duì)象在故障轉(zhuǎn)移之后可用,無論故障轉(zhuǎn)移在達(dá)到恢復(fù)時(shí)間目標(biāo)(RTO)之后是由服務(wù)消費(fèi)方啟動(dòng)還是由服務(wù)提供方啟動(dòng)。
信號(hào)檢查組件114被配置為接收或檢索信號(hào)115(如果可獲得的話)。信號(hào)115可以提供事故已經(jīng)發(fā)生的指示,該事故可以負(fù)面地影響服務(wù)提供方120的可用性以將數(shù)據(jù)提供給服務(wù)消費(fèi)方110。盡管不限于其,但是信號(hào)115可以被實(shí)現(xiàn)為由服務(wù)提供方120維持的可由服務(wù)消費(fèi)方110通過信號(hào)檢查組件114訪問的程序化指示符(例如,標(biāo)志、變量……)。附加地或備選地,服務(wù)消費(fèi)方110可以從服務(wù)提供方120請(qǐng)求該信號(hào)或者查詢指定位置。
至少部分地基于信號(hào)115,做出關(guān)于是否要啟動(dòng)通過自助服務(wù)故障轉(zhuǎn)移組件116對(duì)故障轉(zhuǎn)移組的故障轉(zhuǎn)移的決定。在一個(gè)實(shí)例中,可以關(guān)于服務(wù)消費(fèi)方應(yīng)用做出該決定。例如,如果服務(wù)消費(fèi)方應(yīng)用評(píng)估可用性并容忍數(shù)據(jù)丟失(例如,通過軟件許可協(xié)議表達(dá)的),則故障轉(zhuǎn)移較可能關(guān)于應(yīng)用被自我啟動(dòng)而非等待服務(wù)提供方來解決該問題或啟動(dòng)自動(dòng)故障轉(zhuǎn)移。除了信號(hào)115的僅有存在之外,額外的信息可以由信號(hào)115提供以幫助故障轉(zhuǎn)移決定,例如但不限于估計(jì)的解決時(shí)間。在這一點(diǎn)上,如果所估計(jì)的時(shí)間少于預(yù)定閾值,則將阻止故障轉(zhuǎn)移,但是如果估計(jì)的解決時(shí)間大于或等于預(yù)定閾值,則將啟動(dòng)故障轉(zhuǎn)移。如果由個(gè)體和/或計(jì)算機(jī)組件做出支持故障轉(zhuǎn)移的決定,則自助服務(wù)故障轉(zhuǎn)移組件116啟動(dòng)從主數(shù)據(jù)副本到輔副本的轉(zhuǎn)移,輔副本變成主副本,并且應(yīng)用業(yè)務(wù)(例如,服務(wù)消費(fèi)方應(yīng)用與服務(wù)提供方之間的交互)將在之后被重新路由至輔副本。
服務(wù)提供方120包括事故檢測(cè)組件122、事故分析組件124、信號(hào)組件126、內(nèi)部緩解組件128、恢復(fù)組件130和自動(dòng)故障轉(zhuǎn)移組件132。事故檢測(cè)組件122被配置為檢測(cè)或以其他方式標(biāo)識(shí)影響資源的性能或可用性的事故??梢曰谂c系統(tǒng)資源有關(guān)的監(jiān)測(cè)的信息來自動(dòng)執(zhí)行檢測(cè)。附加地,可以認(rèn)為在接收到來自個(gè)體或其他實(shí)體的報(bào)告后檢測(cè)到事故。事故分析組件124被配置為分析檢測(cè)到的事故并基于諸如受影響的資源、嚴(yán)重性以及恢復(fù)的可能性、等等的因素中的一個(gè)或多個(gè)來將事故的影響分類。如果影響超過預(yù)定閾值,則調(diào)用信號(hào)組件126以生成信號(hào)(例如,提升標(biāo)志)或者以向服務(wù)消費(fèi)方110指示自助服務(wù)故障轉(zhuǎn)移歸因于事故是考慮的選項(xiàng)的方式報(bào)警信號(hào)。如果事故的影響低于預(yù)定閾值,則調(diào)用內(nèi)部緩解組件128而不調(diào)用信號(hào)組件126。內(nèi)部緩解組件128被配置為執(zhí)行動(dòng)作以減少事故的影響并最終成功地解決事故。根據(jù)一個(gè)方面,可以由內(nèi)部緩解組件128自動(dòng)執(zhí)行緩解。備選地,可以由可選地通過由內(nèi)部緩解組件128(例如)至少基于歷史事故提供的數(shù)據(jù)和/或建議引導(dǎo)的人類人工地執(zhí)行緩解。在影響超過指示可以準(zhǔn)許故障轉(zhuǎn)移的預(yù)定閾值后,除了調(diào)用信號(hào)組件126,還可以調(diào)用恢復(fù)組件130?;謴?fù)組件130被配置為執(zhí)行動(dòng)作以從事故恢復(fù)和/或在從事故恢復(fù)中支持由其他組件執(zhí)行的動(dòng)作?;謴?fù)工作可以繼續(xù)直到恢復(fù)成功并且事故得到解決為止,或者在距事故的檢測(cè)的預(yù)定時(shí)間(例如,RTO)(例如,二十四小時(shí))之后。如果事故尚未得到解決并且預(yù)定時(shí)間到期,則調(diào)用自動(dòng)故障轉(zhuǎn)移組件132。自動(dòng)故障轉(zhuǎn)移組件132被配置為從主副本轉(zhuǎn)移到輔副本使得輔變成主。
注意力轉(zhuǎn)到圖2,圖示了示例性故障轉(zhuǎn)移情景200。如所示出的,存在主210副本或站點(diǎn)(例如,數(shù)據(jù)中心)和輔220副本或站點(diǎn)(例如,數(shù)據(jù)中心)。盡管不要求,但是這里根據(jù)地理復(fù)制實(shí)現(xiàn)方式,主210和輔220在地理上很遠(yuǎn)。例如,主210可以駐留在國(guó)家的東岸,而輔駐留在西岸。備選地,主210和輔220可以駐留在不同的國(guó)家或不同的大陸中。換言之,主210和輔220被定位為足夠遠(yuǎn)使得影響主210的諸如地震、海嘯或龍卷風(fēng)的災(zāi)難不太可能影響輔。主210包括如由服務(wù)消費(fèi)方定義的包含一起進(jìn)行故障轉(zhuǎn)移的一個(gè)或多個(gè)數(shù)據(jù)對(duì)象214a的集合(例如,數(shù)據(jù)庫(kù))的故障轉(zhuǎn)移組212a。通過數(shù)據(jù)復(fù)制230將故障轉(zhuǎn)移組212a和一個(gè)或多個(gè)數(shù)據(jù)對(duì)象214a從主210被復(fù)制到輔220,從而產(chǎn)生故障轉(zhuǎn)移組212b和一個(gè)或多個(gè)數(shù)據(jù)對(duì)象214b。
數(shù)據(jù)復(fù)制230可以被同步或異步地執(zhí)行。同步數(shù)據(jù)復(fù)制需要對(duì)主210進(jìn)行阻塞直到在輔220上的數(shù)據(jù)任務(wù)(例如,更新、刪除……)的復(fù)制完成并確認(rèn)。這保證不會(huì)數(shù)據(jù)丟失,但是在負(fù)面會(huì)影響性能。異步復(fù)制使主210能夠執(zhí)行數(shù)據(jù)任務(wù)而不等待來自委托任務(wù)的輔220的確認(rèn)。異步復(fù)制避免同步復(fù)制的性能沖擊,但是歸因于主210與輔220之間的距離的高延時(shí)可能導(dǎo)致數(shù)據(jù)丟失。在許多情況下,對(duì)比同步數(shù)據(jù)復(fù)制,與異步數(shù)據(jù)復(fù)制相關(guān)聯(lián)的改進(jìn)的性能即使在可能的數(shù)據(jù)丟失的情況下也是優(yōu)選的。在這些情況下,對(duì)數(shù)據(jù)丟失的容忍度可以被構(gòu)建到應(yīng)用中。
半自動(dòng)故障轉(zhuǎn)移240啟用主210上的故障轉(zhuǎn)移組212a到輔220上的故障轉(zhuǎn)移組212b的故障轉(zhuǎn)移。半自動(dòng)故障轉(zhuǎn)移240包括由服務(wù)提供方進(jìn)行的自動(dòng)故障轉(zhuǎn)移,在必要時(shí),以及可能還有由服務(wù)消費(fèi)方啟動(dòng)的自助服務(wù)故障轉(zhuǎn)移。換言之,故障轉(zhuǎn)移是在一定程度上或部分地自動(dòng)的。自助服務(wù)故障轉(zhuǎn)移可以是一種類型的強(qiáng)制故障轉(zhuǎn)移。然而,在災(zāi)難恢復(fù)的背景下的故障轉(zhuǎn)移通常是強(qiáng)制的而非可選的。自助服務(wù)故障轉(zhuǎn)移可以被表征為人工故障轉(zhuǎn)移。然而,在一些情況下,甚至自動(dòng)故障轉(zhuǎn)移包括人工組件,例如以批準(zhǔn)這樣的故障轉(zhuǎn)移。因此,如本文中使用的,自助服務(wù)故障轉(zhuǎn)移涉及由服務(wù)消費(fèi)方啟動(dòng)故障轉(zhuǎn)移的動(dòng)作。在一個(gè)實(shí)例中,自助服務(wù)故障轉(zhuǎn)移可以由人類用戶人工啟動(dòng),從而得到自動(dòng)故障轉(zhuǎn)移與自助服務(wù)故障轉(zhuǎn)移之間的附加的自動(dòng)/人工區(qū)別。當(dāng)然,可以例如基于一個(gè)或多個(gè)預(yù)設(shè)參數(shù)來自動(dòng)執(zhí)行自助服務(wù)故障轉(zhuǎn)移。
返回到圖1,在先前信號(hào)115被描述為提供信息以幫助決定是否要進(jìn)行故障轉(zhuǎn)移。根據(jù)另一實(shí)施例,信號(hào)115支配故障轉(zhuǎn)移是否被服務(wù)消費(fèi)方110許可。以這種方式,信號(hào)115的存在或由信號(hào)115提供的數(shù)據(jù)可以向服務(wù)消費(fèi)方110授權(quán)用以執(zhí)行自助服務(wù)故障轉(zhuǎn)移的許可。服務(wù)消費(fèi)方應(yīng)用基于它們的服務(wù)水平協(xié)議(SLA)可以決定在例如基于內(nèi)部監(jiān)視信息識(shí)別到故障之后盡可能快地進(jìn)行故障轉(zhuǎn)移。然而,如果執(zhí)行了異步復(fù)制,則基于暫時(shí)故障的故障轉(zhuǎn)移可以導(dǎo)致不必要的數(shù)據(jù)丟失。信號(hào)115或其缺乏可以在這些情況下防止故障轉(zhuǎn)移。另外,信號(hào)115可以在其中存在非暫時(shí)的故障狀況的證據(jù)的情景中許可故障轉(zhuǎn)移。換言之,服務(wù)提供方120通過信號(hào)115控制何時(shí)激活故障轉(zhuǎn)移并防止由服務(wù)消費(fèi)方110對(duì)故障轉(zhuǎn)移的啟動(dòng),直到和除非服務(wù)提供方120已經(jīng)確定準(zhǔn)許這樣的動(dòng)作。由于服務(wù)提供方120將具有比服務(wù)消費(fèi)方110豐富得多的與其基礎(chǔ)設(shè)施有關(guān)的信息,所以這排除關(guān)于確定是否已經(jīng)發(fā)生故障的誤報(bào)。另外,信號(hào)115可以簡(jiǎn)化或消除服務(wù)消費(fèi)方110對(duì)底層資源的健康的用以檢測(cè)故障狀況的監(jiān)控,其由服務(wù)提供方120本身更好地處置,因?yàn)榉?wù)提供方120處于比其用戶更好用以監(jiān)視其底層資源的健康的位置中。是否以及何時(shí)啟動(dòng)自助服務(wù)故障轉(zhuǎn)移(如果允許的話)可以取決于許多因素。一個(gè)因素是服務(wù)消費(fèi)方和與服務(wù)消費(fèi)方應(yīng)用相關(guān)聯(lián)的其客戶端之間的服務(wù)水平協(xié)議。這種服務(wù)水平協(xié)議可以在異步復(fù)制的情況下包括不同的可用性要求和對(duì)數(shù)據(jù)丟失的容忍度。
已經(jīng)關(guān)于在若干組件之間的交互描述了上述系統(tǒng)、架構(gòu)、環(huán)境、等等。應(yīng)當(dāng)認(rèn)識(shí)到,這樣的系統(tǒng)和組件可以包括其中指定的那些組件或子組件、指定組件或子組件中的一些和/或附加的組件。子組件還可以被實(shí)現(xiàn)為通信耦合到其他組件而非被包含于父組件內(nèi)的組件。另外還有,一個(gè)或多個(gè)組件和/或子組件可以被組合成單個(gè)組件以提供整合功能。各系統(tǒng)、組件和/或子組件之間的通信可以根據(jù)推和/或拉模型來實(shí)現(xiàn)。組件還可以與為了簡(jiǎn)潔起見未在本文中具體描述但是本領(lǐng)域技術(shù)人員已知的一個(gè)或多個(gè)其他組件交互。
另外,以上公開的系統(tǒng)的各個(gè)部分和下面的方法可以包括或采用人工智能、機(jī)器學(xué)習(xí)或基于知識(shí)或規(guī)則的組件、子組件、過程、裝置、方法或機(jī)制(例如,支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)、專家系統(tǒng)、貝葉斯置信網(wǎng)絡(luò)、模糊邏輯、數(shù)據(jù)模糊引擎、分類器……)。這樣的組件尤其可以使由此執(zhí)行的某些機(jī)制或過程自動(dòng)化以使系統(tǒng)和方法的各部分更具自適應(yīng)性以及高效且智能。通過示例而非限制,事故檢測(cè)組件122、內(nèi)部緩解組件和恢復(fù)組件130可以采用這樣的機(jī)制來確定或推斷故障事故以及從這樣的事故中恢復(fù)的方式。
鑒于以上描述的示例性系統(tǒng),參考圖3到圖5的流程圖將更好地認(rèn)識(shí)到可以根據(jù)所公開的主題實(shí)現(xiàn)的方法。盡管為了解釋的簡(jiǎn)單性將方法示出和描述為一系列方框,但是要理解和認(rèn)識(shí)到,要求保護(hù)的主題不受方框的順序限制,因?yàn)橐恍┓娇蚩梢砸耘c本文中描繪和描述的內(nèi)容不同的順序和/或與其他方框同時(shí)地進(jìn)行。此外,不是所有圖示的方框都可能被需要以實(shí)現(xiàn)下文描述的方法。
參考圖3,圖示了可以由服務(wù)消費(fèi)方執(zhí)行的自助服務(wù)故障轉(zhuǎn)移300的方法。在附圖標(biāo)記310處,檢查故障轉(zhuǎn)移信號(hào)。盡管不限于其,但是在一個(gè)實(shí)例中,該信號(hào)可以被實(shí)現(xiàn)為服務(wù)提供方的故障轉(zhuǎn)移建議的程序化指示符。檢查該信號(hào)可以對(duì)應(yīng)于檢測(cè)該信號(hào)是否存在。例如,服務(wù)提供商可以控制是否要生成該信號(hào)。備選地,檢查該信號(hào)可以對(duì)應(yīng)于核查由該信號(hào)提供的值或信息。例如,該信號(hào)可以包括真或假的布爾值和/或其他信息(例如預(yù)計(jì)的恢復(fù)時(shí)間)。在附圖標(biāo)記320處,做出關(guān)于是否期望故障轉(zhuǎn)移的確定。該確定可以基于該信號(hào)和由該信號(hào)提供的任何信息以及該信號(hào)之外的包括應(yīng)用服務(wù)水平協(xié)議等等的信息。在一個(gè)實(shí)例中,可以提供高水平可用性的服務(wù)水平協(xié)議。為了滿足該協(xié)議,故障轉(zhuǎn)移決定可以僅僅基于提供故障的證據(jù)的信號(hào)的指示。附加地,該決定可以基于由該信號(hào)提供的信息,例如可能的預(yù)計(jì)恢復(fù)時(shí)間以及針對(duì)可用性和數(shù)據(jù)丟失的服務(wù)水平協(xié)議參數(shù)。是否期望故障轉(zhuǎn)移的確定還可以在沒有人工輸入的情況下(例如,基于先前提供的參數(shù))來自動(dòng)做出、在具有人工輸入的情況下(例如,對(duì)確定的批準(zhǔn)或利用來自系統(tǒng)的引導(dǎo))半自動(dòng)地做出或者僅僅基于人工輸入來做出。如果不期望故障轉(zhuǎn)移(“否”),則該方法可以簡(jiǎn)單地終止。如果期望故障轉(zhuǎn)移(“是”),則在330處啟動(dòng)故障轉(zhuǎn)移。這里,故障轉(zhuǎn)移由服務(wù)消費(fèi)方而非服務(wù)提供方觸發(fā),并且啟動(dòng)故障轉(zhuǎn)移對(duì)應(yīng)于調(diào)用被配置為將來自主副本的應(yīng)用請(qǐng)求重定向到輔副本的故障轉(zhuǎn)移過程、組件或系統(tǒng)、等等。
圖4是描繪可以由服務(wù)消費(fèi)方執(zhí)行的自助服務(wù)故障轉(zhuǎn)移400的方法的流程圖示圖。在附圖標(biāo)記410和420處,檢查故障轉(zhuǎn)移信號(hào)并做出關(guān)于故障轉(zhuǎn)移是否被啟用或者換言之被激活或允許的確定。例如,可以檢查由服務(wù)提供方供應(yīng)的并且可由服務(wù)消費(fèi)方訪問的程序化指示符,并且是否啟用故障轉(zhuǎn)移取決于指示符的值。更具體地,程序化指示符可以對(duì)應(yīng)于包括布爾值真或假的標(biāo)志,其中真指示故障轉(zhuǎn)移被啟用,并且假指示故障轉(zhuǎn)移被禁用或未被啟用。如果在420處,故障轉(zhuǎn)移未被啟用(“否”),則該方法繼續(xù)在410處進(jìn)行循環(huán)檢查。如果在420處,故障轉(zhuǎn)移被啟用(“是”),則該方法前進(jìn)到附圖標(biāo)記430。在附圖標(biāo)記430處,啟動(dòng)對(duì)故障轉(zhuǎn)移組中的數(shù)據(jù)對(duì)象的故障轉(zhuǎn)移。啟動(dòng)故障可以對(duì)應(yīng)于調(diào)用被配置為從主副本轉(zhuǎn)移到輔副本的故障轉(zhuǎn)移過程,其中輔副本變成主副本。另外,在附圖標(biāo)記440處,鑒于服務(wù)提供方故障而驗(yàn)證并且在必要時(shí)解決應(yīng)用的完整性。在附圖標(biāo)記450處,將來自應(yīng)用的業(yè)務(wù)重定向到輔副本(其為新的主副本)。
圖5圖示了可以由服務(wù)提供方執(zhí)行的處理事故500的方法。在附圖標(biāo)記510處,接收或檢測(cè)、或推斷和分析事故以確定事故的影響(如果有的話)。事故可以是影響向消費(fèi)方提供服務(wù)的能力的任何事件或動(dòng)作并且可以包括自然事件、惡意用戶活動(dòng)以及商用硬件和人為錯(cuò)誤的故障、等等。事故可以由個(gè)體報(bào)告或基于對(duì)由服務(wù)提供方基礎(chǔ)設(shè)施執(zhí)行的動(dòng)作的監(jiān)測(cè)而被自動(dòng)檢測(cè)到。事故的影響可以被分析和分類。例如,影響可以通過對(duì)消費(fèi)方服務(wù)的影響、影響的程度(例如,一個(gè)服務(wù)器、一個(gè)機(jī)架、整個(gè)數(shù)據(jù)中心)、以及事故的嚴(yán)重性(例如,臨時(shí)的,永久的)、等等來分類。
在附圖標(biāo)記520處,基于影響來做出災(zāi)難恢復(fù)是否被證明合理的確定。具體地,將影響與預(yù)定閾值進(jìn)行比較。如果在520處,影響沒有證明災(zāi)難恢復(fù)合理,則該方法繼續(xù)應(yīng)用內(nèi)部緩解操作以解決事故。如果在520處確定影響證明災(zāi)難恢復(fù)合理(“是”),則該方法繼續(xù)到540,其中故障轉(zhuǎn)移信號(hào)被生成、啟用、等等。該信號(hào)可以操作用于提供由服務(wù)提供方對(duì)服務(wù)消費(fèi)方的與底層服務(wù)提供方系統(tǒng)的健康和消費(fèi)方啟動(dòng)的故障轉(zhuǎn)移有關(guān)的建議或許可。盡管不限于此,但是在一個(gè)實(shí)施例中,該信號(hào)可以對(duì)應(yīng)于可由服務(wù)提供方訪問的程序化指示符(例如,變量、標(biāo)志……)。
在附圖標(biāo)記550處,在從事故恢復(fù)主站點(diǎn)或副本的嘗試中執(zhí)行自動(dòng)工作、人工工作的或自動(dòng)工作和人工工作的組合。在附圖標(biāo)記560處,做出關(guān)于是否一時(shí)間段已經(jīng)到期的確定。例如,該時(shí)間段可以是在接收或檢測(cè)到事故之后的預(yù)定時(shí)間,例如二十四小時(shí)。如果在560處,確定該時(shí)間段尚未到期(“否”),則該方法繼續(xù)到570,其中做出對(duì)于關(guān)于事故的恢復(fù)是否成功的確定。如果恢復(fù)成功(“是”),則該方法終止。如果恢復(fù)尚未成功(“否”),則該方法繼續(xù)到550,其中做出恢復(fù)的嘗試。如果在附圖標(biāo)記560處,該時(shí)間段已經(jīng)到期(“是”),則該方法前進(jìn)到附圖標(biāo)記580。換言之,在預(yù)定時(shí)間(例如,RTO)內(nèi)嘗試恢復(fù),直到恢復(fù)成功或者時(shí)間到期為止。在附圖標(biāo)記580處,由服務(wù)提供方針對(duì)受事故影響的先前未經(jīng)受由服務(wù)消費(fèi)方啟動(dòng)的自助服務(wù)故障轉(zhuǎn)移的副本啟動(dòng)自動(dòng)故障轉(zhuǎn)移。這種自動(dòng)故障轉(zhuǎn)移可以在沒有警告的情況下發(fā)生。然而,自動(dòng)故障轉(zhuǎn)移可以被實(shí)現(xiàn)為需要人工批準(zhǔn)。
本公開內(nèi)容支持執(zhí)行或被配置為執(zhí)行與半自動(dòng)故障轉(zhuǎn)移有關(guān)的動(dòng)作的各種產(chǎn)品和過程。下面的內(nèi)容是一個(gè)或多個(gè)示例性方法、系統(tǒng)和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
一種方法,包括:利用被配置為執(zhí)行被存儲(chǔ)在存儲(chǔ)器中的計(jì)算機(jī)可執(zhí)行指令的至少一個(gè)處理器來執(zhí)行以下動(dòng)作:從服務(wù)提供方接收信號(hào)并且基于該信號(hào)來確定是否要啟動(dòng)自助服務(wù)故障轉(zhuǎn)移。該方法還包括基于針對(duì)服務(wù)消費(fèi)方應(yīng)用的服務(wù)水平協(xié)議來確定是否要啟動(dòng)自助服務(wù)故障轉(zhuǎn)移。在一個(gè)實(shí)例中,故障轉(zhuǎn)移可以對(duì)應(yīng)于地理故障轉(zhuǎn)移。該方法還包括從服務(wù)提供方接收授權(quán)用以啟動(dòng)故障轉(zhuǎn)移的許可并且拒絕用以執(zhí)行故障轉(zhuǎn)移的許可。該方法還包括從提供計(jì)算平臺(tái)作為服務(wù)的服務(wù)提供方接收信號(hào)。附加地,該方法還包括從服務(wù)提供方接收提供與服務(wù)提供方有關(guān)的健康信息的信號(hào)。該方法還包括啟動(dòng)將應(yīng)用請(qǐng)求從主副本重定向到輔副本的自助服務(wù)故障轉(zhuǎn)移。
一種系統(tǒng)包括:處理器,耦合到存儲(chǔ)器,該處理器被配置為執(zhí)行被存儲(chǔ)在所述存儲(chǔ)器中的計(jì)算機(jī)可執(zhí)行組件,計(jì)算機(jī)可執(zhí)行組件包括第一組件,第一組件被配置為基于對(duì)關(guān)于服務(wù)提供方發(fā)生的事故的分析來產(chǎn)生關(guān)于用于服務(wù)消費(fèi)方的自助服務(wù)故障轉(zhuǎn)移的信號(hào)。在一個(gè)實(shí)例中,該信號(hào)進(jìn)行以下中的至少一項(xiàng):授權(quán)或拒絕用以執(zhí)行所述自助服務(wù)故障轉(zhuǎn)移的許可。在第二實(shí)例中,該信號(hào)提供與所述服務(wù)提供方的健康有關(guān)的信息。在第三實(shí)例中,該信號(hào)是可由所述服務(wù)消費(fèi)方訪問的程序化指示符。另外,服務(wù)提供方提供計(jì)算平臺(tái)作為服務(wù),該系統(tǒng)包括第二組件,第二組件被配置為啟動(dòng)對(duì)未經(jīng)受先前的自助服務(wù)故障轉(zhuǎn)移的一個(gè)或多個(gè)副本的自動(dòng)故障轉(zhuǎn)移。第二組件還被配置為在恢復(fù)嘗試未成功的情況下在預(yù)定時(shí)間到期之后啟動(dòng)自動(dòng)故障轉(zhuǎn)移。
一種方法包括:利用被配置為執(zhí)行被存儲(chǔ)在存儲(chǔ)器中的計(jì)算機(jī)可執(zhí)行指令的至少一個(gè)處理器來執(zhí)行以下動(dòng)作:產(chǎn)生被配置為以下中的至少一個(gè)的信號(hào):授權(quán)或拒絕對(duì)計(jì)算服務(wù)的消費(fèi)方的用以基于由計(jì)算服務(wù)的提供方對(duì)事故的分析來執(zhí)行自助服務(wù)的地理故障轉(zhuǎn)移的許可。該方法還包括:產(chǎn)生被配置為提供與事故有關(guān)的信息的信號(hào);產(chǎn)生被配置為指定解決的估計(jì)時(shí)間的信號(hào);在執(zhí)行自動(dòng)故障轉(zhuǎn)移之前產(chǎn)生授權(quán)許可的信號(hào);并且產(chǎn)生信號(hào)包括更新可由消費(fèi)方訪問的程序化指示符。該方法還包括啟動(dòng)至少一個(gè)副本的自動(dòng)故障轉(zhuǎn)移,針對(duì)該至少一個(gè)副本的故障轉(zhuǎn)移不是通過自助服務(wù)故障轉(zhuǎn)移來執(zhí)行的。該方法還包括啟動(dòng)服務(wù)消費(fèi)方定義的故障轉(zhuǎn)移組的自動(dòng)故障轉(zhuǎn)移。
一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),具有存儲(chǔ)在其上的指令,所述指令使得至少一個(gè)處理器能夠在指令執(zhí)行時(shí)執(zhí)行一種方法,該方法包括:從服務(wù)提供方接收信號(hào)并且基于該信號(hào)來確定是否要啟動(dòng)自助服務(wù)故障轉(zhuǎn)移。該方法還包括基于針對(duì)服務(wù)消費(fèi)方應(yīng)用的服務(wù)水平協(xié)議來確定是否要執(zhí)行自助服務(wù)故障轉(zhuǎn)移。該方法還包括從服務(wù)提供方接收授權(quán)用以啟動(dòng)故障轉(zhuǎn)移的許可并且拒絕用以執(zhí)行故障轉(zhuǎn)移的許可的信號(hào)。該方法還包括從提供計(jì)算平臺(tái)作為服務(wù)的服務(wù)提供方接收信號(hào)。附加地,該方法還包括從服務(wù)提供方接收提供與服務(wù)提供方有關(guān)的健康信息的信號(hào)。該方法還包括啟動(dòng)將應(yīng)用請(qǐng)求從主副本重定向到輔副本的自助服務(wù)故障轉(zhuǎn)移。
詞語“示例性”或其各種形式在本文中用于意指用作示例、實(shí)例或說明。本文中描述為“示例性”的任何方面或設(shè)計(jì)不必被解釋為與其他方面或設(shè)計(jì)相比是優(yōu)選或有利的。另外,示例僅僅出于澄清和理解的目的而被提供并且不意味著以任何方式限制或約束本公開的要求保護(hù)的主題或相關(guān)部分。要認(rèn)識(shí)到,不同范圍的無數(shù)附加的或備選的示例可以被呈現(xiàn),但是已經(jīng)出于簡(jiǎn)潔的目的而被省略。
如本文中所使用的,術(shù)語“組件”和“系統(tǒng)”以及其各種形式(例如,組件、系統(tǒng)、子系統(tǒng)……)旨在指代計(jì)算機(jī)相關(guān)的實(shí)體,要么為硬件、硬件和軟件的組合、軟件,要么為運(yùn)行中的軟件。例如,組件可以但不限于為運(yùn)行在處理器上的進(jìn)程、處理器、對(duì)象、實(shí)例、可執(zhí)行程序、運(yùn)行的線程、程序和/或計(jì)算機(jī)。通過說明的方式,運(yùn)行在計(jì)算機(jī)上的應(yīng)用和計(jì)算機(jī)兩者都可以為組件。一個(gè)或多個(gè)組件可以駐存在運(yùn)行的進(jìn)程和/或線程內(nèi),并且組件可以被定位在一個(gè)計(jì)算機(jī)上和/或被分布在兩個(gè)或更多個(gè)計(jì)算機(jī)之間。
如在本說明書和隨附權(quán)利要求書中使用的連詞“或者”旨在意指包含性“或者”而非排他性“或者”,除非從上下文另行指出或顯而易見。換言之,“‘X’或‘Y’”旨在意指“X”和“Y”的任何包含性排列。例如,如果“‘A’利用‘X’”、“‘A’利用‘Y’”或“‘A’利用‘X’和‘Y’兩者”,則在前面的實(shí)例中的任何實(shí)例下滿足“‘A’利用‘X’或‘Y’”。
另外,在術(shù)語“含有”、“包含”、“具有”、“有”或其形式的變型被使用在詳細(xì)描述或權(quán)利要求中的程度上,這樣的術(shù)語旨在以與術(shù)語“包括”當(dāng)在權(quán)利要求中被用作過渡詞時(shí)解釋“包括”時(shí)類似的方式為包含性的。
為了提供針對(duì)要求保護(hù)的主題的上下文,圖6以及下面的討論旨在提供對(duì)該主題的各個(gè)方面可以被實(shí)現(xiàn)在其中的適當(dāng)?shù)沫h(huán)境的簡(jiǎn)要的總體的描述。然而,適當(dāng)?shù)沫h(huán)境僅僅是示例并且不旨在暗示對(duì)用途或功能的范圍的任何限制。
盡管以上公開的系統(tǒng)和方法可以在運(yùn)行在一個(gè)或多個(gè)計(jì)算機(jī)上的程序的計(jì)算機(jī)可執(zhí)行指令的大體上下文下進(jìn)行描述,但是本領(lǐng)域技術(shù)人員將意識(shí)到各方面還可以結(jié)合其他程序模塊等等來實(shí)現(xiàn)。一般地,程序模塊包括執(zhí)行特定任務(wù)和/或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)、等等。此外,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,以上系統(tǒng)和方法可以利用包括以下各項(xiàng)的各種計(jì)算機(jī)系統(tǒng)配置來實(shí)踐:?jiǎn)翁幚砥?、多處理器或多核處理器?jì)算機(jī)系統(tǒng)、微型計(jì)算設(shè)備、大型計(jì)算機(jī)以及個(gè)人計(jì)算機(jī)、手持計(jì)算設(shè)備(例如,個(gè)人數(shù)字助理(PDA)、電話、手表……)、基于微處理器的或可編程的消費(fèi)或工業(yè)電子器件、等等。各方面還可以被實(shí)踐在分布式計(jì)算環(huán)境中,其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行。然而,要求保護(hù)的主題中的一些(如果不是全部的話)可以被實(shí)踐在獨(dú)立的計(jì)算機(jī)上。在分布式計(jì)算環(huán)境中,程序模塊可以被定位在本地或遠(yuǎn)程存儲(chǔ)器設(shè)備中的一個(gè)或兩者中。
參考圖6,圖示了示例通用計(jì)算機(jī)或計(jì)算設(shè)備602(例如,桌面型計(jì)算機(jī)、膝上型計(jì)算機(jī)、平板計(jì)算機(jī)、手表、服務(wù)器、手持設(shè)備、可編程消費(fèi)或工業(yè)電子器件、機(jī)頂盒、游戲系統(tǒng)、計(jì)算節(jié)點(diǎn)……)。計(jì)算機(jī)602包括一個(gè)或多個(gè)處理器602、存儲(chǔ)器630、系統(tǒng)總線640、一個(gè)或多個(gè)大容量存儲(chǔ)設(shè)備650以及一個(gè)或多個(gè)接口組件670。系統(tǒng)總線640將至少一個(gè)上述系統(tǒng)組件670通信地耦合。然而,要認(rèn)識(shí)到,在其最簡(jiǎn)單的形式中,計(jì)算機(jī)602可以包括被耦合到存儲(chǔ)器630的一個(gè)或多個(gè)處理器620,其運(yùn)行存儲(chǔ)在存儲(chǔ)器630中的各種計(jì)算機(jī)可執(zhí)行動(dòng)作、指令和或組件。
一個(gè)或多個(gè)處理器620可以利用被設(shè)計(jì)為執(zhí)行本文中描述的功能的通用處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)或其他可編程邏輯器件、分立門或晶體管邏輯、分立硬件組件或其任何組合來實(shí)現(xiàn)。通用處理器可以為微處理器,但是在備選方案中,處理器可以為任何處理器、控制器、微控制器或狀態(tài)機(jī)。一個(gè)或多個(gè)處理器620還可以被實(shí)現(xiàn)為計(jì)算設(shè)備的組合,例如DSP和微處理器的組合、多個(gè)微處理器、多核處理器、結(jié)合DSP核的一個(gè)或多個(gè)微處理器、或任何其他這種配置。在一個(gè)實(shí)施例中,一個(gè)或多個(gè)處理器可以為圖形處理器。
計(jì)算機(jī)602可以包括各種計(jì)算機(jī)可讀介質(zhì)或以其他方式與各種計(jì)算機(jī)可讀介質(zhì)交互以支持實(shí)現(xiàn)要求保護(hù)的主題的一個(gè)或多個(gè)方面。計(jì)算機(jī)可讀介質(zhì)可以是可以由計(jì)算機(jī)602訪問的任何可用介質(zhì)并且包括易失性介質(zhì)和非易失性介質(zhì)以及可移除介質(zhì)和不可移除介質(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)的易失性和非易失性、可移除和不可移除介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括存儲(chǔ)設(shè)備,諸如存儲(chǔ)器設(shè)備(例如,隨機(jī)訪問存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電可擦可編程只讀存儲(chǔ)器(EEPROM)……)、磁性存儲(chǔ)設(shè)備(例如,硬盤、軟盤、磁帶盒、磁帶……)、光盤(例如,緊湊盤(CD)、數(shù)字多用盤(DVD)……)以及固態(tài)設(shè)備(例如,固態(tài)驅(qū)動(dòng)器(SSD)、閃存驅(qū)動(dòng)器(例如,卡、棒、鍵驅(qū)動(dòng)器……)……)、或者存儲(chǔ)(如與發(fā)送或傳送相反)可由計(jì)算機(jī)602訪問的期望的信息的任何其他類似的介質(zhì)。因此,計(jì)算機(jī)存儲(chǔ)介質(zhì)不包括經(jīng)調(diào)制的數(shù)據(jù)信號(hào)。
通信介質(zhì)將計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)實(shí)現(xiàn)在諸如載波或其他傳輸機(jī)制的經(jīng)調(diào)制的數(shù)據(jù)信號(hào)中,并且包括任何信息遞送介質(zhì)。術(shù)語“經(jīng)調(diào)制的數(shù)據(jù)信號(hào)”意指使其特性中的一個(gè)或多個(gè)以使得將信息編碼在信號(hào)中的方式設(shè)置或改變的信號(hào)。通過示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接有線連接的有線介質(zhì)以及諸如聲學(xué)、RF、紅外和其他無線介質(zhì)的無線介質(zhì)。
存儲(chǔ)器630和/或一個(gè)或多個(gè)大容量存儲(chǔ)設(shè)備650是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的示例。取決于計(jì)算設(shè)備的精確配置和類型,存儲(chǔ)器630可以是易失性的(例如,RAM)、非易失性的(例如,ROM、閃存……)或這兩者的特定組合。通過示例,包括用于諸如在啟動(dòng)期間在計(jì)算機(jī)602內(nèi)的元件之間傳輸信息的基本例程的基本輸入/輸出系統(tǒng)(BIOS)可以被存儲(chǔ)在非易失性存儲(chǔ)器中,而易失性存儲(chǔ)器可以用作外部緩存存儲(chǔ)器以支持由一個(gè)或多個(gè)處理器620的處理、等等。
一個(gè)或多個(gè)大容量存儲(chǔ)設(shè)備650包括用于相對(duì)于存儲(chǔ)器630存儲(chǔ)大量數(shù)據(jù)的可移除/不可移除、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。例如,一個(gè)或多個(gè)大容量存儲(chǔ)設(shè)備650包括但不限于諸如磁盤或光盤驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器、閃存、固態(tài)驅(qū)動(dòng)器或記憶棒的一個(gè)或多個(gè)設(shè)備。
存儲(chǔ)器630和一個(gè)或多個(gè)大容量存儲(chǔ)設(shè)備650可以包括以下各項(xiàng)或已經(jīng)將以下各項(xiàng)存儲(chǔ)在其中:操作系統(tǒng)660、一個(gè)或多個(gè)應(yīng)用662、一個(gè)或多個(gè)程序模塊664以及數(shù)據(jù)666。操作系統(tǒng)660用于控制和分配計(jì)算機(jī)602的資源。應(yīng)用662包括系統(tǒng)和應(yīng)用軟件中的一個(gè)或兩者并且可以通過存儲(chǔ)在存儲(chǔ)器630和/或一個(gè)或多個(gè)大容量存儲(chǔ)設(shè)備650中的程序模塊664和數(shù)據(jù)666利用由操作系統(tǒng)660對(duì)資源的管理以執(zhí)行一個(gè)或多個(gè)動(dòng)作。因此,應(yīng)用662可以根據(jù)由此提供的邏輯將通用計(jì)算機(jī)602轉(zhuǎn)變成專用機(jī)器。
要求保護(hù)的主題中的全部或部分可以使用標(biāo)準(zhǔn)編程和/或工程技術(shù)來實(shí)現(xiàn)以產(chǎn)生軟件、固件、硬件或其任何組合從而控制計(jì)算機(jī)來實(shí)現(xiàn)所公開的功能。通過示例而非限制,半自動(dòng)故障轉(zhuǎn)移系統(tǒng)100或其部分可以為或形成應(yīng)用662的一部分,并且包括存儲(chǔ)在存儲(chǔ)器和/或一個(gè)或多個(gè)大容量存儲(chǔ)設(shè)備650中的一個(gè)或多個(gè)模塊664和數(shù)據(jù)666,其功能可以當(dāng)由一個(gè)或多個(gè)處理器620運(yùn)行時(shí)實(shí)現(xiàn)。
根據(jù)一個(gè)具體實(shí)施例,一個(gè)或多個(gè)處理器620可以對(duì)應(yīng)于將硬件和軟件兩者都包括或換言之集成在單個(gè)集成單路襯底上的片上系統(tǒng)(SOC)或類似體系結(jié)構(gòu)。這里,一個(gè)或多個(gè)處理器620可以包括至少與一個(gè)或多個(gè)處理器620和存儲(chǔ)器630類似的一個(gè)或多個(gè)處理器以及存儲(chǔ)器、等等。傳統(tǒng)處理器包括少量硬件和軟件并且廣泛地依賴于外部硬件和軟件。對(duì)比之下,處理器的SOC實(shí)現(xiàn)是更有力的,因?yàn)槠鋵⒂布蛙浖度氲狡渲幸栽趯?duì)外部硬件和軟件的最小或沒有依賴的情況下實(shí)現(xiàn)具體功能。例如,半自動(dòng)故障轉(zhuǎn)移系統(tǒng)100和/或相關(guān)聯(lián)的功能可以被嵌入到SOC體系結(jié)構(gòu)中的硬件內(nèi)。
計(jì)算機(jī)602還包括一個(gè)或多個(gè)接口組件670,其被通信耦合到系統(tǒng)總線640并且支持與計(jì)算機(jī)602的交互。通過示例,接口組件670可以為端口(例如,串行、并行、PCMCIA、USB、FireWire……)或接口卡(例如,聲音、視頻……)、等等。在一個(gè)示例實(shí)現(xiàn)中,接口組件670可以被實(shí)現(xiàn)為用于使得用戶能夠例如通過一個(gè)或多個(gè)手勢(shì)或語音輸入、通過一個(gè)或多個(gè)輸入設(shè)備(例如,諸如鼠標(biāo)的指點(diǎn)設(shè)備、跟蹤球、觸筆、觸摸板、鍵盤、麥克風(fēng)、操縱桿、游戲板、衛(wèi)星盤、掃描儀、相機(jī)、其他計(jì)算機(jī)……)將命令和信息輸入到計(jì)算機(jī)602中的用戶輸入/輸出接口。在另一示例實(shí)現(xiàn)方式中,接口組件670可以被實(shí)現(xiàn)為用于將輸出供應(yīng)到顯示器(例如,LCD、LED、等離子體……)、揚(yáng)聲器、打印機(jī)和/或其他計(jì)算機(jī)、等等的輸出外圍接口。另外還有,接口組件670可以被實(shí)現(xiàn)為用于啟用例如通過有線通信鏈路或無線通信鏈路與其他計(jì)算設(shè)備(未示出)進(jìn)行通信的網(wǎng)絡(luò)接口。
以上已經(jīng)描述的內(nèi)容包括要求保護(hù)的主題的多個(gè)方面的示例。當(dāng)然,不可能描述用于描述要求保護(hù)的主題的組件或方法的每個(gè)可想到的組合,但是本領(lǐng)域普通技術(shù)人員可以意識(shí)到,所公開的主題的許多另外的組合和排列是可能的。因此,所公開的主題旨在涵蓋落入隨附權(quán)利要求的精神和范圍內(nèi)的所有這樣的更改、修改和變型。