两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

支持編排的服務(wù)的高可用性的方法與系統(tǒng)與流程

文檔序號(hào):11582430閱讀:208來(lái)源:國(guó)知局
支持編排的服務(wù)的高可用性的方法與系統(tǒng)與流程

本發(fā)明一般地涉及云計(jì)算領(lǐng)域,具體地,本發(fā)明涉及編排云服務(wù)的高可用性。



背景技術(shù):

云計(jì)算環(huán)境使得網(wǎng)絡(luò)能夠訪問(wèn)共享的可配置計(jì)算機(jī)資源池。計(jì)算資源通常處于其中用戶可以按需訪問(wèn)多個(gè)虛擬機(jī)的虛擬化環(huán)境中。在這一框架下,用戶不必購(gòu)買(mǎi)、維護(hù)、以及現(xiàn)場(chǎng)操作基礎(chǔ)架構(gòu),而只需從服務(wù)提供者購(gòu)買(mǎi)使用這樣的裝備的權(quán)利。

編排(orchestrate)云服務(wù)涉及協(xié)調(diào)、組織以及管理軟件、服務(wù)、和/或硬件中所涉及的各種任務(wù)的自動(dòng)化。編排可以定義各種策略與服務(wù)級(jí)別。例如,通過(guò)自動(dòng)地布置和協(xié)調(diào)任務(wù),編排云服務(wù)對(duì)計(jì)算功能跨系統(tǒng)管理。編排對(duì)可以在其上部署開(kāi)發(fā)的網(wǎng)絡(luò)應(yīng)用的、服務(wù)提供者所維護(hù)的網(wǎng)絡(luò)基礎(chǔ)架構(gòu)進(jìn)行管理。例如,也可以將基于云的計(jì)算框架設(shè)計(jì)為通過(guò)支持應(yīng)用的開(kāi)發(fā)、運(yùn)行以及管理,來(lái)管理該環(huán)境的補(bǔ)給和編排,從而允許應(yīng)用開(kāi)發(fā)者集中于軟件開(kāi)發(fā)而不是系統(tǒng)基礎(chǔ)架構(gòu)。

云服務(wù)通??梢蕴峤粩?shù)以百計(jì)的服務(wù)和api,這常常導(dǎo)致在這樣的平臺(tái)上所建立的服務(wù)變得十分復(fù)雜??赡艹霈F(xiàn)普遍的問(wèn)題是:系統(tǒng)越復(fù)雜,錯(cuò)誤形成的潛在風(fēng)險(xiǎn)越高。

另外,期望云服務(wù)能夠以最小的停止服務(wù)時(shí)間甚至無(wú)停止服務(wù)時(shí)間地服務(wù)于用戶。如果編排的云服務(wù)在處理請(qǐng)求時(shí)崩潰(crash),則為了維護(hù)服務(wù)可用性,提供者常常重啟服務(wù),并且通知用戶(通常為應(yīng)用開(kāi)發(fā)者)以手工排除故障,因?yàn)殒渻?nèi)的每一個(gè)服務(wù)是獨(dú)立的。如果崩潰可能是由服務(wù)的最近的改變(即,服務(wù)版本升級(jí))導(dǎo)致的,則重啟中斷的服務(wù)可能解決不了問(wèn)題。另外,如果是在服務(wù)鏈之前出現(xiàn)的其它服務(wù)的改變,重啟中斷的服務(wù)也可能解決不了問(wèn)題,因?yàn)樵谀且粫r(shí)刻重啟崩潰的服務(wù)只能導(dǎo)致無(wú)窮盡的崩潰,從而使編排的服務(wù)不可用。



技術(shù)實(shí)現(xiàn)要素:

根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供了一種方法,包括:對(duì)于第一組和第二組,其中第一組包含多個(gè)活動(dòng)服務(wù),并且其中第二組包含多個(gè)備用服務(wù),通過(guò)一個(gè)或多個(gè)處理器接收錯(cuò)誤通知,其中所述錯(cuò)誤通知識(shí)別第一組的所述多個(gè)活動(dòng)服務(wù)中的崩潰;以及響應(yīng)于接收所述錯(cuò)誤通知,將所述多個(gè)活動(dòng)服務(wù)從第一組移至第二組,以及將所述多個(gè)備用服務(wù)從第二組移至第一組。

根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供了一種方法,包括:對(duì)于第一組和第二組,其中第一組包含多個(gè)活動(dòng)服務(wù),并且其中第二組包含多個(gè)備用服務(wù),通過(guò)一個(gè)或多個(gè)處理器接收通知,其中所述通知包含第一組的所述多個(gè)活動(dòng)服務(wù)的更新的服務(wù)組;通過(guò)一個(gè)或多個(gè)處理器將所述多個(gè)活動(dòng)服務(wù)從第一組移至第二組,并且將所述多個(gè)備用服務(wù)從第二組移至儲(chǔ)存庫(kù);響應(yīng)于將所述多個(gè)活動(dòng)服務(wù)從第一組移至第二組,通過(guò)一個(gè)或多個(gè)處理器禁用第二組的所述多個(gè)活動(dòng)服務(wù);以及利用所述多個(gè)活動(dòng)服務(wù)的更新的服務(wù)組更新第一組。

根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供了一種計(jì)算機(jī)系統(tǒng),包括:第一組和第二組,其中所述第一組被配置為處理多個(gè)活動(dòng)服務(wù),并且其中所述第二組被配置為處理多個(gè)備用服務(wù);路由器,其中所述路由器被配置為從用戶接收請(qǐng)求,并且將所述請(qǐng)求轉(zhuǎn)發(fā)至第一組;服務(wù)健康度監(jiān)視器,其中所述服務(wù)健康度監(jiān)視器被配置為監(jiān)視和記錄第一組和第二組的健康度狀態(tài);儲(chǔ)存庫(kù),其中所述儲(chǔ)存庫(kù)被配置為存儲(chǔ)多個(gè)服務(wù)的變化,并且記錄所述多個(gè)服務(wù)的變化;以及版本控制管理器,其中所述版本控制管理器被配置為部分地基于來(lái)自服務(wù)健康度監(jiān)視器的指示和記錄在儲(chǔ)存庫(kù)中的變化次序調(diào)回第二組,并且將其移至第一組。

根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供了一種計(jì)算機(jī)系統(tǒng),包括:一個(gè)或多個(gè)計(jì)算機(jī)處理器;一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì);存儲(chǔ)在所述一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的、由所述一個(gè)或多個(gè)處理器中的至少一個(gè)處理器執(zhí)行的程序指令,所述程序指令包括:對(duì)于第一組和第二組,其中第一組包含多個(gè)活動(dòng)服務(wù),并且其中第二組包含多個(gè)備用服務(wù),接收錯(cuò)誤通知的程序指令,其中所述錯(cuò)誤通知識(shí)別第一組的所述多個(gè)活動(dòng)服務(wù)中的崩潰;以及響應(yīng)于接收所述錯(cuò)誤通知,將所述多個(gè)活動(dòng)服務(wù)從第一組移至第二組的程序指令,以及將所述多個(gè)備用服務(wù)從第二組移至第一組的程序指令。

根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供了一種計(jì)算機(jī)程序產(chǎn)品,包括:計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的程序指令,所述程序指令包括:存儲(chǔ)在所述一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的、由所述一個(gè)或多個(gè)處理器中的至少一個(gè)處理器執(zhí)行的程序指令,所述程序指令包括:對(duì)于第一組和第二組,其中第一組包含多個(gè)活動(dòng)服務(wù),并且其中第二組包含多個(gè)備用服務(wù),接收錯(cuò)誤通知的程序指令,其中所述錯(cuò)誤通知識(shí)別第一組的所述多個(gè)活動(dòng)服務(wù)中的崩潰;以及響應(yīng)于接收所述錯(cuò)誤通知,將所述多個(gè)活動(dòng)服務(wù)從第一組移至第二組的程序指令,以及將所述多個(gè)備用服務(wù)從第二組移至第一組的程序指令。

附圖說(shuō)明

圖1描述了根據(jù)本發(fā)明一個(gè)實(shí)施例的云計(jì)算環(huán)境;

圖2描述了根據(jù)本發(fā)明一個(gè)實(shí)施例的抽象模型層;以及

圖3為示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的paas高可用性系統(tǒng)的框圖;

圖4為示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于編排云服務(wù)的操作步驟的流程圖;

圖5描述了根據(jù)本發(fā)明另一個(gè)實(shí)施例的用于編排云服務(wù)的操作步驟;

圖6描述了根據(jù)本發(fā)明一個(gè)實(shí)施例的電子設(shè)備的內(nèi)部與外部組件的框圖。

具體實(shí)施方式

作為商業(yè)實(shí)體,云計(jì)算是一個(gè)新興的行業(yè),人們正從維護(hù)和利用他們自己的計(jì)算基礎(chǔ)架構(gòu)轉(zhuǎn)為從服務(wù)提供者獲取使用各種計(jì)算需求的權(quán)利。由于對(duì)可用資源的穩(wěn)定需求,期望云計(jì)算服務(wù)提供者以最小的停止服務(wù)時(shí)間持續(xù)地地運(yùn)營(yíng)。

首先應(yīng)當(dāng)理解,盡管本公開(kāi)包括關(guān)于云計(jì)算的詳細(xì)描述,但其中記載的技術(shù)方案的實(shí)現(xiàn)卻不限于云計(jì)算環(huán)境,而是能夠結(jié)合現(xiàn)在已知或以后開(kāi)發(fā)的任何其它類型的計(jì)算環(huán)境而實(shí)現(xiàn)。云計(jì)算是一種服務(wù)交付模式,用于對(duì)共享的可配置計(jì)算資源池進(jìn)行方便、按需的網(wǎng)絡(luò)訪問(wèn)??膳渲糜?jì)算資源是能夠以最小的管理成本或與服務(wù)提供者進(jìn)行最少的交互就能快速部署和釋放的資源,例如可以是網(wǎng)絡(luò)、網(wǎng)絡(luò)帶寬、服務(wù)器、處理、內(nèi)存、存儲(chǔ)、應(yīng)用、虛擬機(jī)和服務(wù)。這種云模式可以包括至少五個(gè)特征、至少三個(gè)服務(wù)模型和至少四個(gè)部署模型。

特征包括:

按需自助式服務(wù):云的消費(fèi)者在無(wú)需與服務(wù)提供者進(jìn)行人為交互的情況下能夠單方面自動(dòng)地按需部署諸如服務(wù)器時(shí)間和網(wǎng)絡(luò)存儲(chǔ)等的計(jì)算能力。

廣泛的網(wǎng)絡(luò)接入:計(jì)算能力可以通過(guò)標(biāo)準(zhǔn)機(jī)制在網(wǎng)絡(luò)上獲取,這種標(biāo)準(zhǔn)機(jī)制促進(jìn)了通過(guò)不同種類的瘦客戶機(jī)平臺(tái)或厚客戶機(jī)平臺(tái)(例如移動(dòng)電話、膝上型電腦、個(gè)人數(shù)字助理pda)對(duì)云的使用。

資源池:提供者的計(jì)算資源被歸入資源池并通過(guò)多租戶(multi-tenant)模式服務(wù)于多重消費(fèi)者,其中按需將不同的實(shí)體資源和虛擬資源動(dòng)態(tài)地分配和再分配。一般情況下,消費(fèi)者不能控制或甚至并不知曉所提供的資源的確切位置,但可以在較高抽象程度上指定位置(例如國(guó)家、州或數(shù)據(jù)中心),因此具有位置無(wú)關(guān)性。

迅速?gòu)椥裕耗軌蜓杆佟⒂袕椥缘?有時(shí)是自動(dòng)地)部署計(jì)算能力,以實(shí)現(xiàn)快速擴(kuò)展,并且能迅速釋放來(lái)快速縮小。在消費(fèi)者看來(lái),用于部署的可用計(jì)算能力往往顯得是無(wú)限的,并能在任意時(shí)候都能獲取任意數(shù)量的計(jì)算能力。

可測(cè)量的服務(wù):云系統(tǒng)通過(guò)利用適于服務(wù)類型(例如存儲(chǔ)、處理、帶寬和活躍用戶帳號(hào))的某種抽象程度的計(jì)量能力,自動(dòng)地控制和優(yōu)化資源效用??梢员O(jiān)視、控制和報(bào)告資源使用情況,為服務(wù)提供者和消費(fèi)者雙方提供透明度。

服務(wù)模型如下:

軟件即服務(wù)(saas):向消費(fèi)者提供的能力是使用提供者在云基礎(chǔ)架構(gòu)上運(yùn)行的應(yīng)用。可以通過(guò)諸如網(wǎng)絡(luò)瀏覽器的瘦客戶機(jī)接口(例如基于網(wǎng)絡(luò)的電子郵件)從各種客戶機(jī)設(shè)備訪問(wèn)應(yīng)用。除了有限的特定于用戶的應(yīng)用配置設(shè)置外,消費(fèi)者既不管理也不控制包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)、存儲(chǔ)、乃至單個(gè)應(yīng)用能力等的底層云基礎(chǔ)架構(gòu)。

平臺(tái)即服務(wù)(paas):向消費(fèi)者提供的能力是在云基礎(chǔ)架構(gòu)上部署消費(fèi)者創(chuàng)建或獲得的應(yīng)用,這些應(yīng)用利用提供者支持的程序設(shè)計(jì)語(yǔ)言和工具創(chuàng)建。消費(fèi)者既不管理也不控制包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)或存儲(chǔ)的底層云基礎(chǔ)架構(gòu),但對(duì)其部署的應(yīng)用具有控制權(quán),對(duì)應(yīng)用托管環(huán)境配置可能也具有控制權(quán)。

基礎(chǔ)架構(gòu)即服務(wù)(iaas):向消費(fèi)者提供的能力是消費(fèi)者能夠在其中部署并運(yùn)行包括操作系統(tǒng)和應(yīng)用的任意軟件的處理、存儲(chǔ)、網(wǎng)絡(luò)和其他基礎(chǔ)計(jì)算資源。消費(fèi)者既不管理也不控制底層的云基礎(chǔ)架構(gòu),但是對(duì)操作系統(tǒng)、存儲(chǔ)和其部署的應(yīng)用具有控制權(quán),對(duì)選擇的網(wǎng)絡(luò)組件(例如主機(jī)防火墻)可能具有有限的控制權(quán)。

部署模型如下:

私有云:云基礎(chǔ)架構(gòu)單獨(dú)為某個(gè)組織運(yùn)行。云基礎(chǔ)架構(gòu)可以由該組織或第三方管理并且可以存在于該組織內(nèi)部或外部。

共同體云:云基礎(chǔ)架構(gòu)被若干組織共享并支持有共同利害關(guān)系(例如任務(wù)使命、安全要求、政策和合規(guī)考慮)的特定共同體。共同體云可以由共同體內(nèi)的多個(gè)組織或第三方管理并且可以存在于該共同體內(nèi)部或外部。

公共云:云基礎(chǔ)架構(gòu)向公眾或大型產(chǎn)業(yè)群提供并由出售云服務(wù)的組織擁有。

混合云:云基礎(chǔ)架構(gòu)由兩個(gè)或更多部署模型的云(私有云、共同體云或公共云)組成,這些云依然是獨(dú)特的實(shí)體,但是通過(guò)使數(shù)據(jù)和應(yīng)用能夠移植的標(biāo)準(zhǔn)化技術(shù)或私有技術(shù)(例如用于云之間的負(fù)載平衡的云突發(fā)流量分擔(dān)技術(shù))綁定在一起。

云計(jì)算環(huán)境是面向服務(wù)的,特點(diǎn)集中在無(wú)狀態(tài)性、低耦合性、模塊性和語(yǔ)意的互操作性。云計(jì)算的核心是包含互連節(jié)點(diǎn)網(wǎng)絡(luò)的基礎(chǔ)架構(gòu)。

現(xiàn)在參考圖1,其中顯示了示例性的云計(jì)算環(huán)境50。如圖所示,云計(jì)算環(huán)境50包括云計(jì)算消費(fèi)者使用的本地計(jì)算設(shè)備可以與其相通信的一個(gè)或者多個(gè)云計(jì)算節(jié)點(diǎn)10,本地計(jì)算設(shè)備例如可以是個(gè)人數(shù)字助理(pda)或移動(dòng)電話54a,臺(tái)式電腦54b、筆記本電腦54c和/或汽車計(jì)算機(jī)系統(tǒng)54n。云計(jì)算節(jié)點(diǎn)10之間可以相互通信。可以在包括但不限于如上所述的私有云、共同體云、公共云或混合云或者它們的組合的一個(gè)或者多個(gè)網(wǎng)絡(luò)中將云計(jì)算節(jié)點(diǎn)10進(jìn)行物理或虛擬分組(圖中未顯示)。這樣,云的消費(fèi)者無(wú)需在本地計(jì)算設(shè)備上維護(hù)資源就能請(qǐng)求云計(jì)算環(huán)境50提供的基礎(chǔ)架構(gòu)即服務(wù)(iaas)、平臺(tái)即服務(wù)(paas)和/或軟件即服務(wù)(saas)。應(yīng)當(dāng)理解,圖1顯示的各類計(jì)算設(shè)備54a-n僅僅是示意性的,云計(jì)算節(jié)點(diǎn)10以及云計(jì)算環(huán)境50可以與任意類型網(wǎng)絡(luò)上和/或網(wǎng)絡(luò)可尋址連接的任意類型的計(jì)算設(shè)備(例如使用網(wǎng)絡(luò)瀏覽器)通信。

現(xiàn)在參考圖2,其中顯示了云計(jì)算環(huán)境50(圖1)提供的一組功能抽象層。首先應(yīng)當(dāng)理解,圖2所示的組件、層以及功能都僅僅是示意性的,本發(fā)明的實(shí)施例不限于此。如圖2所示,提供下列層和對(duì)應(yīng)功能:

硬件和軟件層60包括硬件和軟件組件。硬件組件的例子包括:主機(jī)61;基于risc(精簡(jiǎn)指令集計(jì)算機(jī))體系結(jié)構(gòu)的服務(wù)器62;服務(wù)器63;刀片服務(wù)器64;存儲(chǔ)設(shè)備65;以及網(wǎng)絡(luò)和網(wǎng)絡(luò)組件66。在一些實(shí)施例中,軟件組件包括:網(wǎng)絡(luò)應(yīng)用服務(wù)器軟件67;數(shù)據(jù)庫(kù)軟件68。

虛擬層70提供一個(gè)抽象層,該層可以提供下列虛擬實(shí)體的例子:虛擬服務(wù)器71、虛擬存儲(chǔ)72、虛擬網(wǎng)絡(luò)73(包括虛擬私有網(wǎng)絡(luò))、虛擬應(yīng)用和操作系統(tǒng)74,以及虛擬客戶端75。

在一個(gè)示例中,管理層80可以提供下述功能:資源供應(yīng)功能81:提供用于在云計(jì)算環(huán)境中執(zhí)行任務(wù)的計(jì)算資源和其它資源的動(dòng)態(tài)獲?。挥?jì)量和定價(jià)功能82:在云計(jì)算環(huán)境內(nèi)對(duì)資源的使用進(jìn)行成本跟蹤,并為此提供帳單和發(fā)票。在一個(gè)例子中,該資源可以包括應(yīng)用軟件許可。安全功能:為云的消費(fèi)者和任務(wù)提供身份認(rèn)證,為數(shù)據(jù)和其它資源提供保護(hù)。用戶門(mén)戶功能83:為消費(fèi)者和系統(tǒng)管理員提供對(duì)云計(jì)算環(huán)境的訪問(wèn)。服務(wù)水平管理功能84:提供云計(jì)算資源的分配和管理,以滿足必需的服務(wù)水平。服務(wù)水平協(xié)議(sla)計(jì)劃和履行功能85:為根據(jù)sla預(yù)測(cè)的對(duì)云計(jì)算資源未來(lái)需求提供預(yù)先安排和供應(yīng)。

工作負(fù)載層90提供云計(jì)算環(huán)境可能實(shí)現(xiàn)的功能的示例。在該層中,可提供的工作負(fù)載或功能的示例包括:地圖繪制與導(dǎo)航91;軟件開(kāi)發(fā)及生命周期管理92;虛擬教室的教學(xué)提供93;數(shù)據(jù)分析處理94;交易處理95;以及編排(orchestration)96。

本發(fā)明的實(shí)施例可以在多種環(huán)境和功能中使用。云計(jì)算服務(wù)使得組織能夠使用在其上運(yùn)行它們自己的應(yīng)用與服務(wù)的外部托管的計(jì)算資源。例如,公司、學(xué)生、教育機(jī)構(gòu)、研究人員、政府部門(mén)、專業(yè)人員、醫(yī)院等可以使用云系統(tǒng)。

通常,云的服務(wù)提供者對(duì)可以包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)和/或存儲(chǔ)的底層基礎(chǔ)架構(gòu)進(jìn)行管理和/或控制,用戶(開(kāi)發(fā)者)對(duì)所部署的應(yīng)用具有控制權(quán)。本發(fā)明的實(shí)施例通過(guò)提供一般化的軟件建造塊以及諸如程序設(shè)計(jì)語(yǔ)言的開(kāi)發(fā)工具來(lái)便利于高質(zhì)量可放縮應(yīng)用的構(gòu)建,并且支持運(yùn)行時(shí)環(huán)境。本發(fā)明的實(shí)施例還認(rèn)識(shí)到:云服務(wù)能夠在同一云平臺(tái)上構(gòu)造和編排多個(gè)應(yīng)用和服務(wù)。

本發(fā)明的實(shí)施例利用了一種編排服務(wù)。一般情況下,編排描述了復(fù)雜計(jì)算機(jī)系統(tǒng)和服務(wù)的自動(dòng)安排、協(xié)調(diào)和管理。編排有利于系統(tǒng)的管理與運(yùn)行。例如,編排服務(wù)可以負(fù)責(zé)創(chuàng)建和維護(hù)內(nèi)聚與統(tǒng)一的系統(tǒng),允許其在用戶看來(lái)作為單個(gè)的系統(tǒng)。在另一個(gè)示例中,編排服務(wù)可以負(fù)責(zé)協(xié)調(diào)系統(tǒng)服務(wù)的執(zhí)行和管理,并且確保服務(wù)的可用性。另外,盡管有失敗的可能性,編排仍然可以基于硬件和/或軟件來(lái)最小化或者消除崩潰(crash)并且維護(hù)服務(wù)可用性。

本發(fā)明的實(shí)施例認(rèn)識(shí)到:編排可以將計(jì)算組件綁定在一起成為用戶的單個(gè)可管理的集合。例如,編排可以將處理、網(wǎng)絡(luò)、以及網(wǎng)絡(luò)安全與計(jì)算資源(包括虛擬機(jī)(vm)、操作系統(tǒng)或者物理機(jī))的運(yùn)行處理相關(guān)聯(lián)。

本發(fā)明的實(shí)施例還認(rèn)識(shí)到:硬件和/或軟件可能是多變的。例如,貫穿大范圍故障中的小問(wèn)題也可能會(huì)威脅各種系統(tǒng)、服務(wù)、服務(wù)鏈等。本發(fā)明的某些實(shí)施例可以最小化這種預(yù)期的故障。例如,編排可以提供建立各種高可用性和故障容錯(cuò)的機(jī)制。因此,根據(jù)本發(fā)明的至少一個(gè)示例性的實(shí)施例,可以將管理者添加至平臺(tái)中,在對(duì)性能影響最小情況下提升對(duì)服務(wù)的編排。

已經(jīng)出于說(shuō)明性的目的呈現(xiàn)了與本發(fā)明相關(guān)的各種情形、實(shí)例、以及示例的描述,但其并不旨在為窮舉性的或受限于所公開(kāi)的實(shí)施例。

現(xiàn)在,將參照附圖詳細(xì)描述本發(fā)明。現(xiàn)在參照?qǐng)D3。圖3是示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于編排云服務(wù)的高可用性系統(tǒng)的示例圖。圖3僅提供了對(duì)一個(gè)實(shí)施例的說(shuō)明,并不意味著對(duì)于其中可以實(shí)現(xiàn)不同實(shí)施例的環(huán)境的任何限制。在不背離權(quán)利要求所闡述的本發(fā)明的范圍的情況下,本領(lǐng)域技術(shù)人員可以對(duì)所描述的環(huán)境做出許多修改。

實(shí)施例100描述了利用對(duì)于服務(wù)鏈中服務(wù)的版本控制機(jī)制來(lái)編排云服務(wù)和服務(wù)鏈的示例圖。具體地,實(shí)施例100描繪了版本控制管理器150,其對(duì)活動(dòng)組180和備用組170二者進(jìn)行編排同時(shí)處理服務(wù)鏈,作為用于編排云服務(wù)和/或服務(wù)鏈的高可用性機(jī)制。

云應(yīng)用(通常稱為‘a(chǎn)pp’)通??梢杂煽蛻魴C(jī)(例如,客戶機(jī)120)訪問(wèn),以用于一般目的。例如,云應(yīng)用可以包括允許用戶跟蹤他們的跑步狀態(tài)和歷史的健身應(yīng)用。該健身應(yīng)用示例不旨在為限制性的,而是旨在例示出本發(fā)明的背景下的云應(yīng)用的特征。

與云應(yīng)用相對(duì)比,云服務(wù)(通常稱為‘ser.’)為云應(yīng)用提供了更具體的能力以實(shí)現(xiàn)某一目標(biāo)。在先前的健身app示例的基礎(chǔ)上,云服務(wù)可以利用通知服務(wù)來(lái)向其用戶提供實(shí)時(shí)的跑步狀態(tài)通知功能。服務(wù)組是具有不同版本組合和/或組的服務(wù)鏈的實(shí)例。如圖3中所描述的,活動(dòng)組180和備用組170均利用相同版本的服務(wù)實(shí)例,即ser.cv1.0188(但在這兩個(gè)組中分別具有兩個(gè)不同版本的額外的服務(wù)實(shí)例)。

類似地,服務(wù)鏈?zhǔn)悄骋辉茟?yīng)用所利用的一組服務(wù)。服務(wù)組是服務(wù)鏈的一個(gè)部署的實(shí)例。例如,服務(wù)鏈的不同的服務(wù)組利用不同的版本組合運(yùn)行。注意,這里交替地使用術(shù)語(yǔ)“版本組”和“版本組合”,并且描述了服務(wù)鏈或者服務(wù)組中單獨(dú)的服務(wù)的一組版本號(hào)。

由于活動(dòng)組180中一個(gè)或多個(gè)服務(wù)的版本變化,錯(cuò)誤可能出現(xiàn)在活動(dòng)組180中而不是出現(xiàn)在備用組170中。注意,活動(dòng)組180和備用組170之間不存在交互,因?yàn)樗鼈兪菍?duì)服務(wù)鏈的獨(dú)立部署的實(shí)例。服務(wù)實(shí)例的重疊(即ser.cv1.0188)僅描述了活動(dòng)組180和備用組170可以共享單一的服務(wù)實(shí)例。

在圖3的示例性實(shí)施例中,描述了兩種不同的線型。實(shí)線表示消息路由,例如,將客戶機(jī)120連接到路由器130和appv2.2182的線。消息路由也存在于各種服務(wù)實(shí)例和它們各自的app之間。相對(duì)比,虛線表示組件之間的命令路由,例如,如在服務(wù)健康度監(jiān)視器140、版本控制管理器150、版本控制儲(chǔ)存庫(kù)155等之間所描述的。

僅出于示例性的目的描述了平臺(tái)即服務(wù)(paas)110。注意,環(huán)境100并不限于paas類型服務(wù),可選的實(shí)施例也可以利用本領(lǐng)域中已知的其它服務(wù),例如,基礎(chǔ)架構(gòu)即服務(wù)(iaas)、軟件即服務(wù)(saas)等。通常情況下,將paas110應(yīng)用于利用服務(wù)鏈概念的云平臺(tái)。

在一個(gè)實(shí)施例中,paas110可以是向客戶機(jī)120提供方便地開(kāi)發(fā)、部署和管理應(yīng)用軟件的工具包。例如,paas110可以向客戶機(jī)120提供基本的計(jì)算基礎(chǔ)架構(gòu)、中間件以及解決方案堆(solutionstack)。paas110還可以提供各種運(yùn)行時(shí)環(huán)境,以便利于高質(zhì)量和可放縮應(yīng)用的構(gòu)建。paas110還可以支持超多數(shù)量的訂閱者,并且處理大量數(shù)據(jù)。例如,paas110允許客戶機(jī)120和/或開(kāi)發(fā)者創(chuàng)建和運(yùn)行通用應(yīng)用或者專用于客戶機(jī)120的應(yīng)用。

實(shí)施例100描述了客戶機(jī)120在paas110上計(jì)算。客戶機(jī)120代表實(shí)施例100的用戶。通常情況下,客戶機(jī)120是能夠利用平臺(tái)所提供的資源以創(chuàng)建各種云應(yīng)用的應(yīng)用開(kāi)發(fā)者。而后,客戶機(jī)120可以訪問(wèn)這些云應(yīng)用。一般情況下,客戶機(jī)120將不直接利用平臺(tái)資源來(lái)創(chuàng)建云應(yīng)用。在另一個(gè)實(shí)施例中,客戶機(jī)120可以直接利用平臺(tái)資源來(lái)創(chuàng)建云應(yīng)用。

在該示例性實(shí)施例中,客戶機(jī)120可以經(jīng)由路由器130直接與paas110通信。一般情況下,路由器是在計(jì)算機(jī)網(wǎng)絡(luò)之間轉(zhuǎn)發(fā)數(shù)據(jù)包的網(wǎng)絡(luò)設(shè)備。在paas平臺(tái)中,路由器130負(fù)責(zé)將來(lái)自客戶機(jī)120的請(qǐng)求和/或消息分發(fā)到具體的應(yīng)用。路由器130直接從客戶機(jī)120接收處理請(qǐng)求,然后將該請(qǐng)求轉(zhuǎn)發(fā)到活動(dòng)組180進(jìn)行處理。

路由器130的主要功能是執(zhí)行至具有活動(dòng)服務(wù)組的正確應(yīng)用的路由。例如,版本控制管理器150將改變路由器130中的路由,以使其指向活動(dòng)組。在可選的實(shí)施例中,如果云不是paas系統(tǒng),則路由器可能不是必要的。

在示例性實(shí)施例100中,服務(wù)健康度監(jiān)視器140主動(dòng)地監(jiān)視活動(dòng)組180的健康度。例如,服務(wù)健康度監(jiān)視器140可以向版本控制管理器150報(bào)告錯(cuò)誤,例如,那些導(dǎo)致應(yīng)用交易失敗的錯(cuò)誤,例如,阻止交易繼續(xù)進(jìn)行的組中服務(wù)之一的崩潰或者不可預(yù)料的結(jié)果。

服務(wù)健康度監(jiān)視器140可以主動(dòng)地查詢所監(jiān)視的服務(wù)的狀態(tài),以確保所有服務(wù)處于健康和/或可操作的狀態(tài)。服務(wù)健康度監(jiān)視器140還可以定期地從所監(jiān)視的服務(wù)接收狀態(tài)記錄。

服務(wù)健康度監(jiān)視器140可以集中于其所監(jiān)視的服務(wù)的性能和健康度信息,包括錯(cuò)誤信息。錯(cuò)誤信息可以包括崩潰報(bào)告、和/或不可預(yù)料的處理結(jié)果等。性能與健康度信息可以包括有關(guān)正在執(zhí)行的應(yīng)用和/或服務(wù)鏈的操作的各種摘要或者詳細(xì)的統(tǒng)計(jì)數(shù)據(jù)。例如,服務(wù)健康度監(jiān)視器140的性能與健康度信息可以包括所處理的請(qǐng)求的數(shù)目、所傳輸?shù)臄?shù)據(jù)量、已出現(xiàn)錯(cuò)誤等。

在另一示例中,服務(wù)健康度監(jiān)視器140可以通過(guò)檢查每個(gè)組中服務(wù)的返回代碼,監(jiān)視活動(dòng)組180和備用組170的健康度。服務(wù)健康度監(jiān)視器140還可以記錄活動(dòng)組180和備用組170之一或者兩者的健康度。在一個(gè)可選的實(shí)施例中,服務(wù)健康度監(jiān)視器140監(jiān)視、記錄以及向版本控制管理器150報(bào)告活動(dòng)組180和備用組170兩者的健康度。

在一個(gè)實(shí)施例中,服務(wù)健康度監(jiān)視器140監(jiān)視運(yùn)行在paas110上的正在運(yùn)行的程序和/或網(wǎng)絡(luò)連接的健康度與狀態(tài)。在另一個(gè)實(shí)施例中,服務(wù)健康度監(jiān)視器140記錄運(yùn)行在paas110上的正在運(yùn)行的程序和/或網(wǎng)絡(luò)連接的健康度與狀態(tài)。在另一個(gè)實(shí)施例中,服務(wù)健康度監(jiān)視器140可以僅從服務(wù)鏈中所監(jiān)視的服務(wù)收集信息。在一個(gè)可選的實(shí)施例中,服務(wù)健康度監(jiān)視器140可以從其它組件收集信息和聚合該信息,并且將這種信息存儲(chǔ)在數(shù)據(jù)庫(kù)和/或版本控制儲(chǔ)存庫(kù)155中。在另一情形中,當(dāng)例如來(lái)自各種正在執(zhí)行的應(yīng)用、服務(wù)鏈、和/或硬件等的問(wèn)題出現(xiàn)時(shí),服務(wù)健康度監(jiān)視器140可以警告管理員。一個(gè)實(shí)施例可以包括提供所監(jiān)視的組件的實(shí)時(shí)(或者接近實(shí)時(shí))更新和狀態(tài)的服務(wù)健康度監(jiān)視器140。在另一個(gè)示例性實(shí)施例中,服務(wù)健康度監(jiān)視器140可以包含用于捕獲和報(bào)告錯(cuò)誤、性能信息以及其它信息的可執(zhí)行的例程。另外,如果出現(xiàn)錯(cuò)誤,服務(wù)健康度監(jiān)視器140可以利用消息傳送系統(tǒng)向一個(gè)或多個(gè)接受者發(fā)送警告,同時(shí)處理和/或執(zhí)行各種應(yīng)用和服務(wù)鏈。

在另一個(gè)示例性實(shí)施例中,服務(wù)健康度監(jiān)視器140連續(xù)地監(jiān)視云托管的應(yīng)用,以確保有效地利用資源。例如,服務(wù)健康度監(jiān)視器140可以監(jiān)視至少以下功能中的某些功能:應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)、服務(wù)器、虛擬機(jī)件、網(wǎng)絡(luò)交易等。

版本控制管理器150管理和維護(hù)各種應(yīng)用所使用的服務(wù)鏈中的正確的服務(wù)版本。在一個(gè)示例性的實(shí)施例中,版本控制管理器150對(duì)活動(dòng)組180和備用組170兩者進(jìn)行編排,同時(shí)處理服務(wù)鏈。版本控制管理器150優(yōu)化了服務(wù)鏈,由于其改進(jìn)了服務(wù)組織的效率和/或生產(chǎn)率。

在一個(gè)實(shí)施例中,版本控制管理器150可以決定當(dāng)前的工作版本組合和先前的工作版本組合的哪一個(gè)適合于給定的運(yùn)行服務(wù)鏈。另外,一旦從服務(wù)健康度監(jiān)視器140接收到錯(cuò)誤狀態(tài)報(bào)告,版本控制管理器150可以將備用組170移至活動(dòng)組180。

在一個(gè)實(shí)施例中,版本控制管理器150可以維護(hù)工作鏈中每一個(gè)編排的服務(wù)的版本信息。然后將工作鏈中每一個(gè)編排的服務(wù)的版本信息保存為針對(duì)每一個(gè)具體服務(wù)鏈的版本組。在一個(gè)示例性實(shí)施例中,版本控制管理器150對(duì)活動(dòng)和備用服務(wù)鏈組進(jìn)行編排。例如,如果服務(wù)健康度監(jiān)視器140檢測(cè)到錯(cuò)誤,則版本控制管理器150可以觸發(fā)備用服務(wù)鏈來(lái)作為活動(dòng)服務(wù)鏈運(yùn)作,從而能夠最小化任何停止服務(wù)時(shí)間,從而提升了整個(gè)系統(tǒng)的高可用性。

在一個(gè)可選的實(shí)施例中,版本控制管理器150能夠確定活動(dòng)組(即,最新的工作版本組合)和備用組(即,先前的工作版本組合)的哪一個(gè)適合于運(yùn)行針對(duì)給定的運(yùn)行服務(wù)鏈的運(yùn)行服務(wù)鏈實(shí)例。在另一個(gè)示例性實(shí)施例中,版本控制管理器150可以確定當(dāng)前的工作版本組合和先前的工作版本組合的哪一個(gè)適合于給定的運(yùn)行服務(wù)鏈。在一種情形中,如果備用組服務(wù)鏈實(shí)例被離線,則版本控制管理器150可以通過(guò)將通信流(traffic)重新導(dǎo)向至新被重新激活的組來(lái)使備用的服務(wù)再次返回至活動(dòng)。

版本控制管理器150將活動(dòng)組180和備用組170編排為服務(wù)鏈組。版本控制管理器150維護(hù)工作鏈中每一個(gè)編排的服務(wù)的版本信息。另外,版本控制管理器150還可以跟蹤運(yùn)行在系統(tǒng)上的軟件的每一個(gè)版本。例如,如果服務(wù)健康度監(jiān)視器140檢測(cè)到錯(cuò)誤,則版本控制管理器150可以觸發(fā)備用服務(wù)鏈來(lái)作為活動(dòng)服務(wù)鏈運(yùn)作,從而能夠最小化任何停止服務(wù)時(shí)間,從而提升了整個(gè)系統(tǒng)的高可用性。另外,在另一個(gè)示例中,版本控制管理器150還根據(jù)來(lái)自服務(wù)健康度監(jiān)視器140的出現(xiàn)錯(cuò)誤的通知,改變組的次序。

在另一個(gè)示例性實(shí)施例中,版本控制管理器150可以跟蹤對(duì)應(yīng)用做出的任何改變、誰(shuí)做出的改變、何時(shí)做出的改變。在另一個(gè)示例性實(shí)施例中,版本控制管理器150可以提供跟蹤對(duì)服務(wù)鏈的改變的能力、以及將服務(wù)鏈更新調(diào)回(recall)和回退(reverse)至先前已知工作版本的能力。例如,版本控制管理器150可以結(jié)合曾正確地工作的最后已知服務(wù)版本,創(chuàng)建服務(wù)鏈中服務(wù)版本的精確組合的記錄。

在一個(gè)實(shí)施例中,版本控制管理器150還可以跟蹤和管理運(yùn)行在系統(tǒng)上的軟件的每一個(gè)版本。例如,版本控制管理器150可以管理對(duì)程序或者服務(wù)版本在一段時(shí)間內(nèi)的改變和/或更新。在另一個(gè)示例性實(shí)施例中,如果一個(gè)服務(wù)鏈崩潰同時(shí)對(duì)其進(jìn)行處理,版本控制管理器150提供了一種記錄和恢復(fù)服務(wù)鏈的可靠的方式。

版本控制管理器150可以協(xié)助于對(duì)服務(wù)鏈和/或程序的調(diào)試,因?yàn)槠湓试S應(yīng)用開(kāi)發(fā)者知道程序的特定的版本何時(shí)停止了工作。例如,版本控制管理器150可以調(diào)查服務(wù)版本故障的原因,其包括因版本更新導(dǎo)致的故障。另外,在服務(wù)鏈故障時(shí),版本控制管理器150還可以基于服務(wù)健康度監(jiān)視器所提供的信息通知應(yīng)用開(kāi)發(fā)者。然而,應(yīng)該注意的是,開(kāi)發(fā)者負(fù)責(zé)調(diào)查和找出故障的原因。

版本控制儲(chǔ)存庫(kù)155將歷史變化和不同版本歷史存儲(chǔ)到每個(gè)單獨(dú)的app和/或服務(wù)和/或服務(wù)組。例如,版本控制儲(chǔ)存庫(kù)155可以存儲(chǔ)各種代碼變化和/或服務(wù)版本。另外,版本控制儲(chǔ)存庫(kù)155還存儲(chǔ)和記錄代碼和服務(wù)版本依賴關(guān)系的變化。版本控制儲(chǔ)存庫(kù)155可以維護(hù)正確的版本組合。例如,版本控制儲(chǔ)存庫(kù)155還可以維護(hù)代碼160的變化和/或服務(wù)版本165的變化。

在一個(gè)示例性實(shí)施例中,版本控制儲(chǔ)存庫(kù)155識(shí)別什么是服務(wù)鏈或者服務(wù)組,并且跟蹤其版本組合的變化歷史,以及跟蹤版本組合是否為成功的版本組合。例如,版本控制儲(chǔ)存庫(kù)155維護(hù)和管理對(duì)代碼160(例如,應(yīng)用代碼)的改變以及對(duì)各種服務(wù)版本的改變。版本控制儲(chǔ)存庫(kù)155記錄和維護(hù)應(yīng)用或者服務(wù)版本的任何變化、修改、和/或更新。

圖3描述了具有兩個(gè)不同版本的應(yīng)用(即,舊版本appv2.1172和新版本appv2.2182)。另外,每一個(gè)應(yīng)用由3個(gè)不同的服務(wù)ser.a、ser.b、以及ser.c組成(appv2.2182包括3個(gè)服務(wù)(1)ser.a版本3.4184、(2)ser.b版本5.1186以及(3)ser.c版本1.0188,而appv2.1172由(1)ser.a版本3.2174、(2)ser.b版本5.0176、以及(3)ser.c版本1.0188組成)。在圖3所描述的示例中,版本控制儲(chǔ)存庫(kù)155識(shí)別由app所使用的三個(gè)所描述的服務(wù)ser.a、ser.b、以及ser.c構(gòu)成的服務(wù)鏈/組。如所描述的,這一服務(wù)組具有兩個(gè)版本appv2.1172(當(dāng)前是備用組170)和appv2.2182(當(dāng)前是活動(dòng)組180),其中,appv2.1172=(ser.av3.2174+ser.bv5.0176+ser.cv1.0188),以及appv2.2182=(ser.av3.4184+serv.bv5.1186+ser.cv1.0188)。服務(wù)組a和服務(wù)組b均接收到更新,而服務(wù)組c保持不變。由于服務(wù)組c未改變,因此其在應(yīng)用appv2.1172和appv2.2182之間被共享。然而,在appv2.1172和appv2.2182之間更新了服務(wù)組a和服務(wù)組b。因此,活動(dòng)組180由新的應(yīng)用appv2.2182和其相應(yīng)的服務(wù)組組成,并且備用組170由appv2.1172和其相應(yīng)的服務(wù)組組成。版本控制管理器150將維護(hù)appv2.2182作為活動(dòng)組,直至出現(xiàn)崩潰。在這樣的情況發(fā)生時(shí),版本控制管理器150將appv2.1172和其相應(yīng)的服務(wù)組從備用組170切換至活動(dòng)組180,并且將appv2.2182和其相應(yīng)的服務(wù)組從活動(dòng)組切換至備用組。

現(xiàn)在參照?qǐng)D4,圖4為示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于編排云服務(wù)的操作步驟的流程圖200。

流程圖200描述了當(dāng)鏈中的一個(gè)或多個(gè)服務(wù)更新為新版本時(shí)版本控制管理器150的動(dòng)作。例如,當(dāng)新的版本服務(wù)組被創(chuàng)建為活動(dòng)高可用性主要服務(wù)組時(shí),則先前的版本組變?yōu)閭溆酶呖捎眯源我?wù)組。如果主要組中的一個(gè)或多個(gè)服務(wù)意外崩潰或者成為錯(cuò)誤的原因,則將通信流導(dǎo)向至具有先前的工作版本組合的次要組。因此,先前的工作組合再次變?yōu)橹饕M,直至創(chuàng)建和部署另一個(gè)工作組。版本控制管理器150將編排的服務(wù)修復(fù)至前一穩(wěn)定版本,從而最小化停止服務(wù)時(shí)間,并且提高了效率。

在步驟210中,版本控制管理器150接收新的版本組合可以為目標(biāo)服務(wù)鏈所使用的通知。版本控制管理器150可以從版本控制儲(chǔ)存庫(kù)155接收這樣的通知。替代地,版本控制管理器150也可以從第三方設(shè)備接收這樣的通知。新的服務(wù)組可以基于:來(lái)自開(kāi)發(fā)者的新的代碼、服務(wù)版本依賴關(guān)系等。在一個(gè)實(shí)施例中,版本控制管理器150可以利用服務(wù)健康度監(jiān)視器140監(jiān)視服務(wù)組中的變化。在另一個(gè)實(shí)施例中,版本控制管理器150可以通過(guò)維護(hù)工作鏈中的每一個(gè)編排的服務(wù)的版本信息來(lái)得到服務(wù)組中的變化??梢詫⒐ぷ麈溨忻恳粋€(gè)編排的服務(wù)的版本信息保存為針對(duì)每一個(gè)具體的服務(wù)鏈的版本組。

在步驟220中,版本控制管理器150將新的服務(wù)組部署為新的活動(dòng)組。例如,版本控制管理器150可以在內(nèi)存中更新新的服務(wù)組。內(nèi)存可以例如是版本控制儲(chǔ)存庫(kù)155的內(nèi)存。例如,一旦版本控制管理器150發(fā)布服務(wù)版本的改變時(shí),版本控制管理器150然后可以將新的版本組合更新至版本控制儲(chǔ)存庫(kù)155中。在一個(gè)實(shí)施例中,可以將服務(wù)組與額外的信息一起保存,該額外的信息包括但不局限于:誰(shuí)做出了改變、改變量以及何時(shí)做出了改變。例如,版本控制管理器150將每一個(gè)服務(wù)鏈拷貝至數(shù)據(jù)庫(kù)中。每次運(yùn)行新的服務(wù)組時(shí),都在版本控制儲(chǔ)存庫(kù)155內(nèi)維護(hù)該服務(wù)組的拷貝。

注意,新被激活的組指的是在新的服務(wù)組的激活之后的活動(dòng)組??梢詫⑾惹暗幕顒?dòng)組稱為舊的活動(dòng)組和/或新的備用組。

假設(shè)成功地部署了新的服務(wù)組,在步驟230中,版本控制管理器150將新的服務(wù)組標(biāo)記為活動(dòng)組,并且將先前的活動(dòng)組標(biāo)記為備用。替代地,如果未成功地部署新的服務(wù)組,則版本控制管理器150返回至步驟210,并且可以等待新的版本組合變?yōu)榭梢詾槟繕?biāo)服務(wù)鏈所使用的通知。

在一個(gè)可選的實(shí)施例中,步驟230可以包括額外的功能。例如,除了激活新的服務(wù)組外,步驟230還可以將新的服務(wù)組的信息更新至服務(wù)健康度監(jiān)視器140。服務(wù)健康度監(jiān)視器140可以開(kāi)始監(jiān)視新的活動(dòng)組以及先前的活動(dòng)組。在一種情形中,如果活動(dòng)組很好地工作了一段確定的時(shí)間,則可以將新的版本組作為最新工作版本組記錄在數(shù)據(jù)庫(kù)中,然后可以令備用組離線(例如,關(guān)閉容器實(shí)例)以節(jié)省資源。

在一個(gè)可選的實(shí)施例中,步驟230還可以包括一個(gè)額外補(bǔ)充的功能。例如,除了激活新的服務(wù)組和/或把將該新的服務(wù)組的信息更新至服務(wù)健康度監(jiān)視器140之外,步驟230還可以更新路由器130中的路由表。在這種情形中,路由器可以直接從客戶機(jī)接收請(qǐng)求,并且將它們轉(zhuǎn)發(fā)至活動(dòng)服務(wù)組。對(duì)于這樣的步驟的更詳細(xì)的示例,請(qǐng)參照?qǐng)D5及其相應(yīng)的示例。

通過(guò)既維護(hù)活動(dòng)組也維護(hù)備用組,版本控制管理器150可以為服務(wù)鏈內(nèi)的編排的云服務(wù)提供高可用性。在一個(gè)實(shí)施例中,當(dāng)鏈中的一個(gè)或多個(gè)服務(wù)被更新為新的版本時(shí),創(chuàng)建新的版本組作為活動(dòng)高可用性主要服務(wù)組,同時(shí)之前的版本組變?yōu)閭溆酶呖捎眯苑?wù)組。

在一個(gè)示例性實(shí)施例中,如果新的活動(dòng)組工作了一段時(shí)間,則將新的活動(dòng)組保持為工作版本。另外,可以令備用組離線以節(jié)省資源。

在步驟240中,版本控制管理器150接收錯(cuò)誤通知。錯(cuò)誤通知可能來(lái)自服務(wù)健康度監(jiān)視器140。注意,服務(wù)健康度監(jiān)視器140既監(jiān)視活動(dòng)組180也監(jiān)視備用組170。在另一個(gè)實(shí)施例中,服務(wù)健康度監(jiān)視器140僅監(jiān)視活動(dòng)組180。

例如,如果活動(dòng)組中的服務(wù)或者app崩潰,則服務(wù)健康度監(jiān)視器140向版本控制管理器150通知這一崩潰。在另一個(gè)示例中,版本控制管理器150從服務(wù)健康度監(jiān)視器140接收持續(xù)的反饋,而不管正在進(jìn)行處理的服務(wù)鏈的狀態(tài)如何,從而允許其監(jiān)視服務(wù)鏈內(nèi)的任何故障或者崩潰。在一個(gè)可選的實(shí)施例中,版本控制管理器150可以檢查組中服務(wù)的返回代碼,以確定服務(wù)鏈的健康度。版本控制管理器150還可以記錄該代碼的健康度。

在決策250中,版本控制管理器150確定備用組是否在線。如果備用組離線,如在步驟255中,版本控制管理器150令備用組返回至在線。為了節(jié)省資源,可能已經(jīng)在步驟230中令備用組離線了。替代地,如果備用組從未離線,則其仍保持在線,并且處理繼續(xù)至步驟260。

在步驟260中,一旦備用組在線,則版本控制管理器150啟用備用組。在一個(gè)實(shí)施例中,版本控制管理器150再次將當(dāng)前備用組標(biāo)記為活動(dòng)組。例如,版本控制管理器150將備用組指定為新的活動(dòng)組,并且將通信流重新路由至新的活動(dòng)組(先前被稱為備用組)。版本控制管理器150實(shí)質(zhì)上將較新的活動(dòng)組切換為較舊的備用組,以試圖避免停止服務(wù)時(shí)間。

在一個(gè)可選的實(shí)施例中,步驟260可以包括額外的功能。例如,除了將備用組啟用為新的活動(dòng)組外,步驟260還可以將新的活動(dòng)組的信息更新至服務(wù)健康度監(jiān)視器140。服務(wù)健康度監(jiān)視器140可以開(kāi)始監(jiān)視新的活動(dòng)組(先前的初始備用組)。

在一個(gè)可選的實(shí)施例中,步驟260還可以包括額外補(bǔ)充的功能。例如,步驟260還可以更新路由器130中的路由表,以將通信流路由至新的活動(dòng)組(先前的備用組)。

在步驟270中,向應(yīng)用開(kāi)發(fā)者通知服務(wù)鏈崩潰。一旦向開(kāi)發(fā)者通知了崩潰,則開(kāi)發(fā)者可以退回先前的工作版本。另外,開(kāi)發(fā)者還可以對(duì)任何正在運(yùn)行的程序進(jìn)行調(diào)試以發(fā)現(xiàn)服務(wù)鏈為何故障,同時(shí)最小化服務(wù)停止時(shí)間。例如,通過(guò)將鏈中的某些服務(wù)更新為較新的版本來(lái)修復(fù)中斷的版本組,從而可以改正導(dǎo)致服務(wù)故障的任何問(wèn)題。在一種情形中,通過(guò)將鏈中的某些服務(wù)更新為較新的版本來(lái)修復(fù)中斷的版本組,這將回到步驟210,以重新開(kāi)始該處理。

因此,通過(guò)執(zhí)行圖4的操作、利用活動(dòng)/備用的區(qū)別,編排的云服務(wù)能夠快速和靈活地維護(hù)一個(gè)穩(wěn)定的版本,并且保持服務(wù)停止服務(wù)時(shí)間最小。在這一實(shí)現(xiàn)下,云提高了其可靠性,這是因?yàn)槠淠軌蚩焖俚貜谋罎⒌姆?wù)鏈恢復(fù)。例如,因?yàn)榧词贡罎⑹怯捎谥袛嗟母禄蛘呔幣诺姆?wù)的不兼容性所導(dǎo)致的,云服務(wù)也能夠快速地從崩潰的服務(wù)鏈恢復(fù),因此提高了其可靠性。

現(xiàn)在參照?qǐng)D5。圖5示出了描述根據(jù)本發(fā)明另一個(gè)實(shí)施例的用于編排云服務(wù)的一個(gè)實(shí)施例的示例性操作步驟的流程圖300。具體地,流程圖300描述了一個(gè)示例,該示例描繪了對(duì)版本組合的更新以及一個(gè)或多個(gè)服務(wù)中可能發(fā)生的錯(cuò)誤。如圖5中所描述的,版本控制管理器150通過(guò)最小化停止服務(wù)時(shí)間和提高效率將服務(wù)編排至前一穩(wěn)定版本。

在步驟310中,版本控制管理器150從版本控制儲(chǔ)存庫(kù)155接收告知其新的版本組合可以為目標(biāo)服務(wù)鏈所使用的通知。在接收到該通知時(shí),版本控制管理器150部署新的服務(wù)組。新的服務(wù)組可以基于新的代碼和服務(wù)版本依賴關(guān)系。

決策315確定是否成功地部署了新的服務(wù)組。如果未成功地部署新的服務(wù)組,例如,其出現(xiàn)了崩潰,則版本控制管理器150恢復(fù)前一版本組、通知應(yīng)用開(kāi)發(fā)者并且等待,直至其從版本控制儲(chǔ)存庫(kù)155接收到新的版本組合可以為目標(biāo)鏈所使用的通知,或者從服務(wù)健康度監(jiān)視器140接收到當(dāng)前活動(dòng)組已經(jīng)崩潰的通知。

然而,如果成功地部署了新的服務(wù)組,則處理前進(jìn)至步驟320。在步驟320中,版本控制管理器150將新的(最新部署的版本組合)服務(wù)組標(biāo)記為活動(dòng)組180,并且將先前的活動(dòng)組標(biāo)記為備用組170。另外,版本控制管理器150還通知服務(wù)健康度監(jiān)視器140開(kāi)始監(jiān)視活動(dòng)組180和備用組170。服務(wù)健康度監(jiān)視器140開(kāi)始監(jiān)視活動(dòng)組,以檢測(cè)是否出現(xiàn)錯(cuò)誤。另外,版本控制管理器150還在路由器130中更新至活動(dòng)組的路由。

流程圖300的示例性操作步驟的決策325基于預(yù)定的時(shí)間閾值。例如,如果在預(yù)定的時(shí)間閾值期滿時(shí)服務(wù)健康度監(jiān)視器140未通知版本控制管理器150在新的活動(dòng)組180中發(fā)現(xiàn)錯(cuò)誤,則版本控制管理器150可以通知服務(wù)健康度監(jiān)視器140將當(dāng)前活動(dòng)組的版本組合記錄為最新工作組合。另外,版本控制管理器150還可以通知服務(wù)健康度監(jiān)視器140令備用組170離線。

在一個(gè)可選的示例中,如果版本控制管理器150從服務(wù)健康度監(jiān)視器140接收到在新的活動(dòng)組180中發(fā)現(xiàn)錯(cuò)誤的通知(先于或者后于預(yù)定的時(shí)間閾值期滿),則在決策335中,版本控制管理器150必須確定備用組170是否在線??傊?,決策325根據(jù)版本控制管理器150從服務(wù)健康度監(jiān)視器140接收到在新的活動(dòng)組中出現(xiàn)錯(cuò)誤通知的發(fā)生進(jìn)行決斷。服務(wù)健康度監(jiān)視器140主動(dòng)地監(jiān)視活動(dòng)組180的健康度,即監(jiān)視任何錯(cuò)誤和/或崩潰的出現(xiàn)。在檢測(cè)到出現(xiàn)錯(cuò)誤時(shí),服務(wù)健康度監(jiān)視器140向版本控制管理器150通知在(新的)活動(dòng)組180中發(fā)現(xiàn)錯(cuò)誤。

因此,在決策335中,版本控制管理器150必須確定備用組170是否在線。如果在預(yù)定的時(shí)間閾值期滿之后出現(xiàn)錯(cuò)誤(如在決策325中檢測(cè)到的),則版本控制管理器150令備用組170離線(按照步驟330)。因此,步驟340在步驟350之前令備用組170重新在線。

然而,如果在預(yù)定的閾值期滿之前出現(xiàn)錯(cuò)誤,則備用組170仍然在線(如同其在步驟330中從未被離線)。因此,處理可以前進(jìn)至步驟350。

一旦備用組170在線,在步驟350中,版本控制管理器150將當(dāng)前備用組170再次標(biāo)記為活動(dòng)組180’,并且將活動(dòng)組180標(biāo)記為備用組170’。另外,版本控制管理器150通知服務(wù)健康度監(jiān)視器140開(kāi)始監(jiān)視活動(dòng)組180(先前的備用組170)以及備用組170(先前的活動(dòng)組180)。版本控制管理器150還可以更新路由器130,以將通信流路由至活動(dòng)組180’。

在步驟360,版本控制管理器150可以向應(yīng)用開(kāi)發(fā)者通知服務(wù)組中的故障。其告知開(kāi)發(fā)者修復(fù)和/或修理中斷的服務(wù)組。因此,一旦開(kāi)發(fā)者通過(guò)將中斷的服務(wù)更新為版本控制儲(chǔ)存庫(kù)155中的新版本而發(fā)布了針對(duì)各個(gè)應(yīng)用的新的更新時(shí),該處理重復(fù)至步驟310,如同版本控制管理器150從版本控制儲(chǔ)存庫(kù)155接收到新的/更新的版本組合可以為目標(biāo)服務(wù)鏈所使用的通知。

圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例的計(jì)算機(jī)系統(tǒng)的內(nèi)部與外部組件的框圖,其代表了包含在圖3的實(shí)施例100中的各個(gè)方面。應(yīng)該理解,圖6僅提供了一個(gè)實(shí)現(xiàn)的說(shuō)明,并不意味著對(duì)其中可以實(shí)現(xiàn)不同實(shí)施例的環(huán)境的任何限制。總之,圖6中示出的組件代表任何能夠執(zhí)行機(jī)器可讀程序指令的電子設(shè)備。圖6中示出的組件可以代表的計(jì)算機(jī)系統(tǒng)、環(huán)境、和/或配置的示例包括,但不局限于個(gè)人計(jì)算機(jī)系統(tǒng)、服務(wù)器計(jì)算機(jī)系統(tǒng)、瘦客戶機(jī)、厚客戶機(jī)、膝上計(jì)算機(jī)系統(tǒng)、可佩帶計(jì)算設(shè)備、平板計(jì)算機(jī)系統(tǒng)、蜂窩電話(例如,智能電話)、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、網(wǎng)絡(luò)pc、小型計(jì)算機(jī)系統(tǒng)、大型計(jì)算機(jī)系統(tǒng)、以及包括任何上述系統(tǒng)或者設(shè)備的分布式云計(jì)算環(huán)境。

計(jì)算機(jī)系統(tǒng)600包括在一個(gè)或多個(gè)處理器604、內(nèi)存606、永久性存儲(chǔ)器608、通信單元612、以及一個(gè)或多個(gè)輸入/輸出(i/o)接口614之間提供通信的通信結(jié)構(gòu)602。可以利用被設(shè)計(jì)用于在處理器(例如,微處理器、通信與網(wǎng)絡(luò)處理器等)、系統(tǒng)內(nèi)存、外部設(shè)備、以及系統(tǒng)內(nèi)的任何其它硬件組件之間傳送數(shù)據(jù)和/或控制信息的任何架構(gòu)實(shí)現(xiàn)通信結(jié)構(gòu)602。例如,可以利用一條或者多條總線實(shí)現(xiàn)通信結(jié)構(gòu)602。

內(nèi)存606和永久性存儲(chǔ)器608為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。在這一實(shí)施例中,內(nèi)存606包括隨機(jī)存取存儲(chǔ)器(ram)616和高速緩沖存儲(chǔ)器618。通常,內(nèi)存606可以包括任何適當(dāng)?shù)囊资Щ蛘叻且资в?jì)算機(jī)可讀存儲(chǔ)介質(zhì)。將軟件存儲(chǔ)在永久性存儲(chǔ)器608中,用于由一個(gè)或多個(gè)相應(yīng)的處理器604經(jīng)由內(nèi)存606的一個(gè)或多個(gè)內(nèi)存加以執(zhí)行和/或訪問(wèn)。

例如,永久性存儲(chǔ)器608可以包括多個(gè)磁硬盤(pán)驅(qū)動(dòng)器。替代地,或者除了磁硬盤(pán)驅(qū)動(dòng)器外,永久性存儲(chǔ)器608還可以包括一個(gè)或多個(gè)固態(tài)硬驅(qū)動(dòng)器、半導(dǎo)體存儲(chǔ)設(shè)備、只讀存儲(chǔ)器(rom)、可擦除可編程只讀存儲(chǔ)器(eprom)、閃存、或者任何能夠存儲(chǔ)程序指令或者數(shù)字信息的其它計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。

永久性存儲(chǔ)器608所使用的介質(zhì)也可以是可拆卸的。例如,可以將可拆卸硬驅(qū)動(dòng)器用于永久性存儲(chǔ)器608。其它示例包括光和磁盤(pán)、拇指驅(qū)動(dòng)器、以及智能卡,其被插入到驅(qū)動(dòng)器內(nèi)以用于向作為永久性存儲(chǔ)器608的一部分的另一個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)傳送數(shù)據(jù)。

通信單元612提供了經(jīng)由網(wǎng)絡(luò)與其它計(jì)算機(jī)系統(tǒng)或者設(shè)備的通信。在這一示例性實(shí)施例中,通信單元612包括網(wǎng)絡(luò)適配器或者接口,例如,tcp/ip適配器卡、無(wú)線wi-fi接口卡、3g或者4g無(wú)線接口卡或者其它有線或者無(wú)線通信鏈路。例如,網(wǎng)絡(luò)可以包含銅線、光纖、無(wú)線傳輸、路由器、防火墻、交換器、網(wǎng)關(guān)計(jì)算機(jī)和/或邊緣服務(wù)器??梢酝ㄟ^(guò)通信單元612(例如,經(jīng)由因特網(wǎng)、局域網(wǎng)或者其它廣域網(wǎng))下載用于實(shí)踐本發(fā)明的實(shí)施例的軟件與數(shù)據(jù)??梢詮耐ㄐ艈卧?12將軟件與數(shù)據(jù)加載到永久性存儲(chǔ)器608上。

一個(gè)或多個(gè)i/o接口614允許與可以連接到計(jì)算機(jī)系統(tǒng)600的其它設(shè)備進(jìn)行數(shù)據(jù)的輸入與輸出。例如,i/o接口614可以提供與諸如鍵盤(pán)、計(jì)算機(jī)鼠標(biāo)、觸摸屏、虛擬鍵盤(pán)、觸控板、定位設(shè)備、或者其它人工接口設(shè)備的一個(gè)或多個(gè)外部設(shè)備620的連接。外部設(shè)備620還可以包括便攜式計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如,拇指驅(qū)動(dòng)器、便攜式光或者磁盤(pán)、以及內(nèi)存卡等。i/o接口614還可以連接至顯示器622。

顯示器622提供了向用戶顯示數(shù)據(jù)的機(jī)構(gòu),例如,其可以是計(jì)算機(jī)監(jiān)視器。顯示器622可以是并入的顯示器,并且可以用作觸摸屏,例如平板計(jì)算機(jī)的內(nèi)置的顯示器。

本發(fā)明可以是呈任何可能的技術(shù)集成精細(xì)度的系統(tǒng)、方法和/或計(jì)算機(jī)程序產(chǎn)品。計(jì)算機(jī)程序產(chǎn)品可以包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(媒介),其上載有用于使處理器實(shí)現(xiàn)本發(fā)明的各個(gè)方面的計(jì)算機(jī)可讀程序指令。

計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是可以保持和存儲(chǔ)由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是,但不限于電存儲(chǔ)設(shè)備、磁存儲(chǔ)設(shè)備、光存儲(chǔ)設(shè)備、電磁存儲(chǔ)設(shè)備、半導(dǎo)體存儲(chǔ)設(shè)備或者上述的任意合適的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子的非窮舉的列表包括以下:便攜式計(jì)算機(jī)盤(pán)、硬盤(pán)、隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、可擦式可編程只讀存儲(chǔ)器(eprom或閃存)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)、便攜式壓縮盤(pán)只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能盤(pán)(dvd)、記憶棒、軟盤(pán)、機(jī)械編碼設(shè)備(例如其上記錄有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu))、以及上述的任意合適的組合。這里所使用的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)不被解釋為瞬時(shí)信號(hào)本身,諸如無(wú)線電波或者其他自由傳播的電磁波、通過(guò)波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過(guò)光纖電纜傳送的光脈沖)、或者通過(guò)電線傳輸?shù)碾娦盘?hào)。

這里所描述的計(jì)算機(jī)可讀程序指令可以從計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)下載到各個(gè)計(jì)算/處理設(shè)備,或者經(jīng)由網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無(wú)線網(wǎng)下載到外部計(jì)算機(jī)或外部存儲(chǔ)設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無(wú)線傳輸、路由器、防火墻、交換機(jī)、網(wǎng)關(guān)計(jì)算機(jī)和/或邊緣服務(wù)器。每個(gè)計(jì)算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計(jì)算機(jī)可讀程序指令,并轉(zhuǎn)發(fā)該計(jì)算機(jī)可讀程序指令,以供存儲(chǔ)在各個(gè)計(jì)算/處理設(shè)備內(nèi)的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序指令可以是匯編指令、指令集架構(gòu)(isa)指令、機(jī)器指令、機(jī)器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語(yǔ)言的任意組合編寫(xiě)的源代碼或目標(biāo)代碼,所述編程語(yǔ)言包括面向?qū)ο蟮木幊陶Z(yǔ)言—諸如smalltalk、c++等,以及過(guò)程式編程語(yǔ)言—諸如“c”語(yǔ)言或類似的編程語(yǔ)言。計(jì)算機(jī)可讀程序指令可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類的網(wǎng)絡(luò)—包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。在一些實(shí)施例中,通過(guò)利用計(jì)算機(jī)可讀程序指令的狀態(tài)信息來(lái)個(gè)性化定制電子電路,例如可編程邏輯電路、現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)或可編程邏輯陣列(pla),該電子電路可以執(zhí)行計(jì)算機(jī)可讀程序指令,從而實(shí)現(xiàn)本發(fā)明的各個(gè)方面。

這里參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述了本發(fā)明的各個(gè)方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖說(shuō)明和/或框圖中各方框的組合,都可以由計(jì)算機(jī)可讀程序指令實(shí)現(xiàn)。

這些計(jì)算機(jī)可讀程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些指令在經(jīng)由計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),創(chuàng)建了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。也可以把這些計(jì)算機(jī)可讀程序指令存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,這些指令使得計(jì)算機(jī)、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而其中存儲(chǔ)有指令的計(jì)算機(jī)可讀介質(zhì)則包括一個(gè)制造品,其包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的各個(gè)方面的指令。

也可以把計(jì)算機(jī)可讀程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,從而使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的指令實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作。

附圖中的流程圖和框圖示出了根據(jù)本發(fā)明的各個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在某些替代的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這取決于所涉及的功能。也要注意的是,框圖和/或流程圖說(shuō)明中的每個(gè)方框、以及框圖和/或流程圖說(shuō)明中的方框的組合,可以由執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
安塞县| 平邑县| 宁陵县| 博客| 万源市| 扬州市| 白玉县| 长治市| 陕西省| 岳池县| 吉木乃县| 紫云| 永吉县| 钟祥市| 贵溪市| 德江县| 大冶市| 大足县| 固安县| 武安市| 灵璧县| 泾源县| 汉中市| 固原市| 资兴市| 城市| 县级市| 榆树市| 玉树县| 旺苍县| 南召县| 陵水| 科技| 昌都县| 邵东县| 北川| 安龙县| 阿拉善左旗| 山阴县| 诸城市| 白水县|