欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于主存有狀態(tài)和無(wú)狀態(tài)中間軟件組件的多承租人高密度容器服務(wù)的制作方法

文檔序號(hào):6443492閱讀:255來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):用于主存有狀態(tài)和無(wú)狀態(tài)中間軟件組件的多承租人高密度容器服務(wù)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于主存有狀態(tài)和無(wú)狀態(tài)中間軟件組件的多承租人高密度容器服務(wù)。
背景技術(shù)
分布式系統(tǒng)允許用戶運(yùn)行主存在分布的資源(如遠(yuǎn)程中央處理單元(CPU)、中央服務(wù)器或物理機(jī)或虛擬機(jī))上的應(yīng)用程序。中間軟件服務(wù)為分布的資源上的應(yīng)用程序提供計(jì)算、協(xié)調(diào)、信息管理、主存和其它支持。中間軟件組件是在分布的資源上運(yùn)行的并且為用戶提供服務(wù)或?qū)崿F(xiàn)協(xié)議或算法的軟件應(yīng)用程序或計(jì)算機(jī)指令。中間軟件組件可提供復(fù)雜的或?qū)S玫膽?yīng)用程序。當(dāng)需要中間軟件組件提供的功能時(shí),用戶與中間軟件組件交互。對(duì)中間軟件組件的需求取決于用戶的需要而變化。因此,如果沒(méi)有用戶需求,則在分布的資源上運(yùn)行的中間軟件組件可以是空閑的,或者在用戶需求高的情況下,分布的資源可能不能服務(wù)所有的用戶需要。

發(fā)明內(nèi)容
提供本概述以便以簡(jiǎn)化形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識(shí)所要求保護(hù)主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護(hù)主題的范圍。本文描述并揭示能夠?yàn)槎鄠€(gè)用戶或承租人主存大量中間軟件組件的容器服務(wù)。容器服務(wù)包括多個(gè)計(jì)算節(jié)點(diǎn)和中央容器管理器。計(jì)算節(jié)點(diǎn)由中央容器管理器作為群集來(lái)管理。每個(gè)計(jì)算節(jié)點(diǎn)具有管理該計(jì)算節(jié)點(diǎn)上的一個(gè)或多個(gè)容器的容器管理代理。中央容器管理器從外部設(shè)備或服務(wù)接收中間軟件組件并將該組件分配給一個(gè)或多個(gè)指定計(jì)算節(jié)點(diǎn)上的容器。對(duì)于每個(gè)指定的計(jì)算節(jié)點(diǎn),指定的計(jì)算節(jié)點(diǎn)上的容器管理代理激活并管理合適數(shù)量的容量以運(yùn)行分配給該指定節(jié)點(diǎn)的中間軟件組件。容器服務(wù)通過(guò)在選擇的計(jì)算節(jié)點(diǎn)集合上主存大量的中間軟件組件,提供有效的、高密度的操作。這允許計(jì)算節(jié)點(diǎn)的活動(dòng)資源在容器管理代理的控制下以高使用水平或高負(fù)載因子操作,這通過(guò)增加效率降低了與主存中間軟件組件相關(guān)聯(lián)的成本。代替跨所有計(jì)算節(jié)點(diǎn)隨機(jī)地分布中間軟件組件,只激活所需的資源并且其余計(jì)算節(jié)點(diǎn)和資源為空閑的,直至需要支持附加的中間軟件組件。中央容器管理器和每個(gè)節(jié)點(diǎn)的容器管理代理通過(guò)動(dòng)態(tài)地調(diào)節(jié)中間軟件組件在群集中的特定節(jié)點(diǎn)上的放置,對(duì)容器負(fù)載水平的改變作出反應(yīng)。容器服務(wù)可為多個(gè)承租人同時(shí)提供計(jì)算節(jié)點(diǎn)資源。每個(gè)容器主存屬于不同承租人的中間軟件組件,并同時(shí)為每個(gè)組件集合提供對(duì)共享的計(jì)算資源集合的訪問(wèn)。通過(guò)將不同的中間軟件組件集合彼此隔離并確??缢薪M件集合的平衡的資源分布,來(lái)實(shí)現(xiàn)多承租。容器服務(wù)允許無(wú)狀態(tài)和有狀態(tài)組件兩者的有效橫向擴(kuò)展(scale-out)。容器提供允許分區(qū)以使有狀態(tài)中間軟件組件能夠有效地縮放的編程模型和基礎(chǔ)結(jié)構(gòu)。容器還經(jīng)由克隆提供無(wú)狀態(tài)組件的橫向擴(kuò)展。因此,當(dāng)中間軟件組件需要附加資源時(shí),為這些組件分配附加的容器。重新分布有狀態(tài)組件的分區(qū)以使用該附加容量。對(duì)于無(wú)狀態(tài)組件,創(chuàng)建附加克隆以使用該附加容量。容器服務(wù)確保中間軟件組件具有高可用性。中央容器管理器跨故障域分布中間軟件組件的主要和次要實(shí)例。在由于節(jié)點(diǎn)失效或者為了基礎(chǔ)結(jié)構(gòu)更新而關(guān)閉導(dǎo)致主要實(shí)例不可用的情況下,激活中間軟件組件的次要實(shí)例。


圖1是示出容器服務(wù)的示例性實(shí)施例的框圖;圖2是示出容器服務(wù)的替換實(shí)施例的框圖;圖3示出在示例性實(shí)施例中跨多個(gè)節(jié)點(diǎn)的中間軟件組件模塊的放置;以及圖4是示出用于管理來(lái)自多個(gè)承租人的中間軟件組件的示例性過(guò)程的流程圖。
具體實(shí)施例通常,分布的資源已經(jīng)專(zhuān)用于特定用戶。分配給特定用戶的資源在未被用戶要求時(shí)可以是空閑的或者未被充分利用。因此,即使在分配的資源空閑時(shí),它對(duì)已經(jīng)被分配了不同的資源集合的其它用戶也是不可用的。如果用戶正在使用分配的資源達(dá)到最高容量,如果附加的資源對(duì)用戶不可用,則用戶的工作負(fù)載受到限制。允許用戶基于需要訪問(wèn)附加資源的容器服務(wù)向用戶提供靈活性。圖1是示出本文所揭示的容器服務(wù)100的示例性實(shí)施例的框圖。使用多個(gè)計(jì)算節(jié)點(diǎn)101來(lái)提供容器服務(wù),該多個(gè)計(jì)算節(jié)點(diǎn)101由中央容器管理器102作為群集一起管理。計(jì)算節(jié)點(diǎn)101可以是物理機(jī)或虛擬機(jī)。虛擬機(jī)是模擬硬件資源(如處理器、存儲(chǔ)器和存儲(chǔ)設(shè)備)和外圍資源的操作的軟件應(yīng)用程序。中央容器管理器102由存儲(chǔ)中間軟件組件的運(yùn)行時(shí)存儲(chǔ)103支持。每個(gè)計(jì)算節(jié)點(diǎn)101包括容器管理代理104和一個(gè)或多個(gè)容器105。在群集中的每個(gè)計(jì)算節(jié)點(diǎn)101上運(yùn)行一個(gè)容器管理代理104。容器管理代理104與群集中的所有其它節(jié)點(diǎn)上的其它容器管理代理通信。在一個(gè)實(shí)施例中,計(jì)算節(jié)點(diǎn)101是每個(gè)都具有類(lèi)似的容量和能力的物理機(jī)或虛擬機(jī)。然而,在其它實(shí)施例中,計(jì)算節(jié)點(diǎn)可以是具有變化的容量和能力的不同設(shè)備。中央容器管理器102從外部設(shè)備或服務(wù)(如合成應(yīng)用程序服務(wù))接收中間軟件組件。合成應(yīng)用程序服務(wù)是多承租人的受管理服務(wù),其使應(yīng)用程序的部署和管理自動(dòng)化并且直接執(zhí)行應(yīng)用程序組件。中間軟件組件可屬于不同的承租人。本文所用的術(shù)語(yǔ)“承租人”是指容器服務(wù)的用戶,包括但不限于訪問(wèn)容器服務(wù)的應(yīng)用程序、客戶機(jī)、訂戶、顧客或公司。中央容器管理器102將來(lái)自承租人的新的中間軟件組件上傳到運(yùn)行時(shí)存儲(chǔ)103并通知新接收的組件的各自的容器管理代理104。中央容器管理器102指定一個(gè)或多個(gè)容器105來(lái)運(yùn)行中間軟件組件。容器跨群集中的一個(gè)或多個(gè)計(jì)算節(jié)點(diǎn)101分布。一旦接收到來(lái)自中央容器管理器102的組件將放置在特定計(jì)算節(jié)點(diǎn)101上的通知,與該節(jié)點(diǎn)相關(guān)聯(lián)的容器管理代理104激活容器105。容器管理代理104和計(jì)算節(jié)點(diǎn)101在該新激活的容器105中主存新的中間軟件組件。為了提供安全的環(huán)境,容器管理代理104和計(jì)算節(jié)點(diǎn)101通過(guò)使每個(gè)中間軟件組件在其自己的容器中運(yùn)行,將中間軟件組件彼此隔離。相同節(jié)點(diǎn)上的容器共享對(duì)該節(jié)點(diǎn)可用的資源。中央容器管理器102和容器管理代理104測(cè)量每個(gè)容器的資源使用。中央容器管理器102和容器代理104通過(guò)跨計(jì)算節(jié)點(diǎn)101動(dòng)態(tài)地調(diào)節(jié)負(fù)載,來(lái)平衡共享資源的分配。在計(jì)算節(jié)點(diǎn)101之間分布的容器105的使用為中間軟件組件提供高可用性,并為需要分區(qū)或克隆的組件實(shí)現(xiàn)橫向擴(kuò)展,如下所述。中央容器管理器102可以是在物理機(jī)(如CPU或服務(wù)器)或虛擬機(jī)上運(yùn)行的軟件應(yīng)用程序或程序代碼。計(jì)算節(jié)點(diǎn)101可以實(shí)現(xiàn)為物理機(jī)或虛擬機(jī)。計(jì)算節(jié)點(diǎn)101可以主存在相同的物理機(jī)上或主存在駐留在相同或不同位置中的多個(gè)分離的物理機(jī)上。容器105在計(jì)算節(jié)點(diǎn)101上彼此隔離地操作,以避免在分離的容器中運(yùn)行的中間軟件組件或模塊實(shí)例之間的干擾,并確保每個(gè)容器公平地共享對(duì)計(jì)算節(jié)點(diǎn)101上的資源的訪問(wèn)。運(yùn)行時(shí)存儲(chǔ)103可包括任何計(jì)算機(jī)存儲(chǔ)介質(zhì),其使用任何現(xiàn)在已知或以后開(kāi)發(fā)的技術(shù)、系統(tǒng)或方法來(lái)存儲(chǔ)信息,如中間軟件組件、計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)。運(yùn)行時(shí)存儲(chǔ)103可在可用于存儲(chǔ)信息并可由中央容器管理器102或計(jì)算節(jié)點(diǎn)101訪問(wèn)的任何介質(zhì)中實(shí)現(xiàn)。計(jì)算機(jī)存儲(chǔ)介質(zhì)可包括例如任何易失性或非易失性介質(zhì),如RAM、ROM、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、閃存、CD-R0M、DVD、磁帶盒、磁帶、磁盤(pán)存儲(chǔ)或其它光學(xué)或磁性存儲(chǔ)設(shè)備。負(fù)載平衡在一個(gè)實(shí)施例中,計(jì)算節(jié)點(diǎn)101可包括CPU、存儲(chǔ)器盤(pán)輸入/輸出(I/O)和網(wǎng)絡(luò)I/O資源。容器管理代理104限制每個(gè)容器105對(duì)這些資源的訪問(wèn),使得多個(gè)容器105可在給定計(jì)算節(jié)點(diǎn)101上運(yùn)行,而不會(huì)不利地影響在該節(jié)點(diǎn)上活動(dòng)的其它容器105。容器管理代理104實(shí)施對(duì)例如CPU和存儲(chǔ)器使用的限制,以確保每個(gè)容器公平地共享計(jì)算節(jié)點(diǎn)的資源。容器管理代理104還可以限制每個(gè)容器105,使得容器只訪問(wèn)計(jì)算節(jié)點(diǎn)101上的特定的盤(pán)和網(wǎng)絡(luò)資源。中央容器管理器102周期性地跨群集測(cè)量每個(gè)中間軟件組件生成的負(fù)載。中央容器管理器102通過(guò)將組件從具有較高負(fù)載的計(jì)算節(jié)點(diǎn)101移動(dòng)到具有較低負(fù)載的節(jié)點(diǎn),來(lái)平衡每個(gè)計(jì)算節(jié)點(diǎn)101上總負(fù)載。周期性負(fù)載平衡的使用提供了最佳的容量利用并實(shí)現(xiàn)將中間軟件組件主存在群集中的較小的節(jié)點(diǎn)集合上。裝入沙箱容器管理代理104將容器105 “裝入沙箱”,以使每個(gè)容器接收到其對(duì)計(jì)算節(jié)點(diǎn)資源的公平份額,而沒(méi)有更多。這確保容器105不會(huì)不利地影響彼此,即使它們正在相同的計(jì)算節(jié)點(diǎn)101上運(yùn)行并共享相同的資源。結(jié)果,一個(gè)容器105不會(huì)被計(jì)算節(jié)點(diǎn)101上的其它容器105減速或拒絕服務(wù)。裝入沙箱將中間軟件組件彼此隔離,從而沒(méi)有組件會(huì)影響其它組件的操作。此外,裝入沙箱防止任何容器105修改另一容器在共享資源上的文件或數(shù)據(jù)。裝入沙箱由容器管理代理104在計(jì)算節(jié)點(diǎn)上提供,容器管理代理104向每個(gè)容器105分配受限制的特權(quán)集合。從分配給每個(gè)容器的特權(quán)集合中移除任何不必要的特權(quán)。在一個(gè)實(shí)施例中,容器管理代理104使用訪問(wèn)控制列表控制對(duì)本地盤(pán)資源的訪問(wèn)。容器管理代理104使用內(nèi)核模式過(guò)濾器控制網(wǎng)絡(luò)訪問(wèn),內(nèi)核模式過(guò)濾器監(jiān)視用于特定過(guò)程的特定端口上的傳入和傳出業(yè)務(wù)并且只允許去向/來(lái)自特定網(wǎng)絡(luò)資源列表的業(yè)務(wù)。這種緊密的裝入沙箱使來(lái)自多個(gè)承租人的組件能夠被主存在共享的節(jié)點(diǎn)集合上。
節(jié)點(diǎn)狀態(tài)計(jì)算節(jié)點(diǎn)101被指定為有狀態(tài)或無(wú)狀態(tài)。計(jì)算節(jié)點(diǎn)與具有相同狀態(tài)類(lèi)型的其它節(jié)點(diǎn)分組在一起。狀態(tài)類(lèi)型影響分配給特定計(jì)算節(jié)點(diǎn)的中間軟件組件的選擇。有狀態(tài)的節(jié)點(diǎn)被用于具有存儲(chǔ)在存儲(chǔ)器中的和/或與外部資源(如數(shù)據(jù)庫(kù))協(xié)調(diào)的狀態(tài)的中間軟件組件。該狀態(tài)用于跟蹤與分配給節(jié)點(diǎn)的中間軟件組件相關(guān)的連接、交互或當(dāng)前值。無(wú)狀態(tài)節(jié)點(diǎn)被用于不保留信息或不依賴(lài)于存儲(chǔ)值的中間軟件組件。容器橫向擴(kuò)展容器提供兩種用于使中間軟件組件橫向擴(kuò)展的方法:克隆和分區(qū)。無(wú)狀態(tài)中間軟件組件使用克隆來(lái)縮放。當(dāng)中間軟件組件選擇克隆時(shí),它還指定它所需的克隆的計(jì)數(shù)。容器然后在η個(gè)節(jié)點(diǎn)上激活中間軟件組件,其中η是組件所需的克隆實(shí)例的數(shù)量。有狀態(tài)中間軟件組件使用分區(qū)來(lái)縮放。有狀態(tài)中間軟件組件不能被簡(jiǎn)單地復(fù)制或克隆,因?yàn)橛袪顟B(tài)組件必須引用存儲(chǔ)在存儲(chǔ)器中的一個(gè)或多個(gè)“狀態(tài)”。對(duì)于有狀態(tài)中間軟件組件,術(shù)語(yǔ)“分區(qū)”是指中間軟件組件的附加實(shí)例,其中每個(gè)實(shí)例依賴(lài)于存儲(chǔ)在存儲(chǔ)器中的狀態(tài)。容器基于橫向擴(kuò)展計(jì)數(shù)跨節(jié)點(diǎn)集合放置分區(qū),橫向擴(kuò)展計(jì)數(shù)指定組件的分區(qū)應(yīng)當(dāng)分布的節(jié)點(diǎn)的數(shù)量。一旦完成分區(qū)放置,將中間軟件組件加載到特定節(jié)點(diǎn)上的容器中。中間軟件組件可選擇在容器服務(wù)上可用的預(yù)定分區(qū)策略,或者組件可規(guī)定自定義分區(qū)計(jì)劃。經(jīng)由可選擇的/可擴(kuò)展的分區(qū)策略以及容器上的知曉分區(qū)的路由基礎(chǔ)結(jié)構(gòu),基于分區(qū)的橫向擴(kuò)展對(duì)中間軟件組件是可用的。每個(gè)中間軟件組件具有用于監(jiān)聽(tīng)傳入消息的一個(gè)或多個(gè)端口或端點(diǎn)。在中間軟件組件被激活時(shí),為每個(gè)這樣的端口或端點(diǎn)分配一個(gè)物理地址。每個(gè)端口或端點(diǎn)還具有被承租人用來(lái)向中間軟件組件發(fā)送消息的邏輯地址。每個(gè)分區(qū)的邏輯地址到物理地址的映射存儲(chǔ)在地址解析服務(wù)中。當(dāng)承租人需要向中間軟件組件端口或端點(diǎn)發(fā)送消息時(shí),將分區(qū)密鑰生成功能應(yīng)用于消息以獲得分區(qū)密鑰的值。該分區(qū)密鑰值然后與分區(qū)策略一起使用以找到應(yīng)當(dāng)向其發(fā)送消息的特定分區(qū)。通過(guò)咨詢(xún)地址解析服務(wù)獲得特定分區(qū)的物理地址。容器與底層的計(jì)算節(jié)點(diǎn)群集技術(shù)結(jié)合,以確保每個(gè)分區(qū)在任何給定情況下只獨(dú)占地分配給一個(gè)節(jié)點(diǎn)。例如,容器管理代理進(jìn)行通信以驗(yàn)證每個(gè)有狀態(tài)中間軟件組件分區(qū)被分配給單個(gè)特定節(jié)點(diǎn)。圖2是示出容器服務(wù)的替換實(shí)施例的框圖。容器服務(wù)200包括兩個(gè)計(jì)算節(jié)點(diǎn)群集201和202。群集201包括無(wú)狀態(tài)計(jì)算節(jié)點(diǎn)203a-n,而群集202括有狀態(tài)計(jì)算節(jié)點(diǎn)204a_n。每個(gè)無(wú)狀態(tài)和有狀態(tài)計(jì)算節(jié)點(diǎn)203、204包括容器管理代理205和一個(gè)或多個(gè)容器206。在一個(gè)實(shí)施例中,容器管理代理205是工作者進(jìn)程管理器,容器206是工作者進(jìn)程。容器管理器207從外部服務(wù)(如合成應(yīng)用程序服務(wù))接收中間軟件組件?;诮邮盏降闹虚g軟件組件,容器管理器207確定需要多少模塊的實(shí)例,并且將模塊實(shí)例映射到特定機(jī)器或計(jì)算節(jié)點(diǎn)203、204。容器管理器207包括生存期管理器208、放置管理器209和監(jiān)視聚集器210。生存期管理器208將中間軟件組件存儲(chǔ)到運(yùn)行時(shí)存儲(chǔ)211并且開(kāi)始/停止計(jì)算節(jié)點(diǎn)203、204上的模塊實(shí)例。中間軟件組件指定每個(gè)模塊的縮放特征,如所需數(shù)量的模塊實(shí)例。放置管理器確定需要多少模塊實(shí)例,并將這些模塊實(shí)例分配給特定計(jì)算節(jié)點(diǎn)203、204。被分配的計(jì)算節(jié)點(diǎn)上的容器管理代理205激活指定數(shù)量的容器,并訪問(wèn)運(yùn)行時(shí)存儲(chǔ)211上的中間軟件組件以在容器上加載模塊實(shí)例。監(jiān)視聚集器210監(jiān)視模塊跨計(jì)算節(jié)點(diǎn)203,204的資源使用,并且按需聚集或重新分布模塊實(shí)例以增加容器服務(wù)200的效率。
容器管理代理205向每個(gè)模塊分配有限的權(quán)限集合,以確保中間軟件組件被適當(dāng)?shù)匮b入沙箱且不會(huì)干擾在計(jì)算節(jié)點(diǎn)203、204上運(yùn)行的其它模塊。容器206包括運(yùn)行時(shí)主機(jī)212和應(yīng)用程序引擎213。運(yùn)行時(shí)主機(jī)212跟蹤容器的存儲(chǔ)器分配并管理在容器上運(yùn)行的模塊實(shí)例的存儲(chǔ)器使用。模塊實(shí)例在應(yīng)用程序引擎213上運(yùn)行。在每個(gè)容器上建立多個(gè)應(yīng)用程序引擎213以支持多個(gè)模塊實(shí)例。容器服務(wù)200還包括地址解析服務(wù)214。承租人將消息定址到模塊實(shí)例的邏輯地址。地址解析服務(wù)214將邏輯地址轉(zhuǎn)換成運(yùn)行目標(biāo)模塊實(shí)例的容器206和應(yīng)用程序引擎213的物理地址。在聚集模塊實(shí)例時(shí)或者在添加附加模塊實(shí)例時(shí),地址解析服務(wù)214更新模塊的物理位置,這允許承租人繼續(xù)使用相同的邏輯地址,而不用關(guān)心模塊的實(shí)際物理位置。地址解析服務(wù)214還跟蹤運(yùn)行時(shí)存儲(chǔ)211中存儲(chǔ)的中間軟件組件的位置??捎眯院涂煽啃栽谟?jì)算節(jié)點(diǎn)失效或預(yù)定關(guān)閉的情況下,容器服務(wù)為中間軟件組件提供高級(jí)別的可用性和可靠性。對(duì)于克隆的中間軟件組件,當(dāng)原始分配的節(jié)點(diǎn)關(guān)閉時(shí),中央容器管理器在不同的節(jié)點(diǎn)上創(chuàng)建中間軟件組件的附加實(shí)例。對(duì)于具有需要防止失效的存儲(chǔ)器中狀態(tài)的有狀態(tài)中間軟件組件,容器與底層群集技術(shù)結(jié)合以提供狀態(tài)的復(fù)制。有狀態(tài)中間軟件組件的主要分區(qū)在正常操作期間負(fù)責(zé)處理工作負(fù)載。用作中間軟件組件的備份副本的次要副本被創(chuàng)建并跨故障域放置。中間軟件組件的主要分區(qū)上狀態(tài)中的任何改變被復(fù)制到次要分區(qū)。故障域?qū)?yīng)于將受停電或其它失效影響的容器服務(wù)中的基本單元。例如,基本故障域單元可以是交換機(jī)、機(jī)架或數(shù)據(jù)中心。使得中間軟件組件的主要副本失效的任何故障將導(dǎo)致次要副本被升級(jí)成主要副本,因此實(shí)現(xiàn)分區(qū)組件的故障轉(zhuǎn)移,而沒(méi)有任何數(shù)據(jù)丟失。圖3示出在示例性實(shí)施例中跨多個(gè)節(jié)點(diǎn)的中間軟件組件模塊的放置。中央容器管理器301接收與不同承租人應(yīng)用程序相關(guān)聯(lián)的中間軟件組件。每個(gè)中間軟件組件包括縮放和/或分區(qū)信息,中央容器管理器301使用該信息確定需要在容器上放置多少模塊預(yù)計(jì)應(yīng)當(dāng)使用多少節(jié)點(diǎn)。例如,中間軟件組件可定義具有四個(gè)分區(qū)(P1-P4)且縮放單位為三的應(yīng)用程序(Al)模塊(M1),它需要中央容器管理器301建立跨三個(gè)計(jì)算節(jié)點(diǎn)分布的四個(gè)分區(qū)。容器管理器301指導(dǎo)節(jié)點(diǎn)305-307上的容器管理代理302-304在容器308-310上建立特定模塊實(shí)例。容器管理代理302打開(kāi)第一節(jié)點(diǎn)305上的容器308并將模塊Ml的分區(qū)Pl和P2加載在容器308上。容器管理代理303打開(kāi)第二節(jié)點(diǎn)306上的容器309并將模塊Ml的分區(qū)P3和P4加載在容器309上。容器308和309上的分區(qū)P1-P4是模塊在其上運(yùn)行的主要分區(qū)。容器管理代理304打開(kāi)第三節(jié)點(diǎn)307上的容器310并將分區(qū)S1-S4加載在容器310上。分區(qū)S1-S4是從分區(qū)P1-P4接收更新數(shù)據(jù)但是不提供外部服務(wù)的次要或復(fù)制分區(qū)。分區(qū)S1-S4通常是被動(dòng)的,但是如果一個(gè)或多個(gè)主要分區(qū)P1-P4失效,它們將變成活動(dòng)的。圖3進(jìn)一步示出用于應(yīng)用程序(Al)的第二模塊(M2),它已經(jīng)被加載并且正在節(jié)點(diǎn)305-307上運(yùn)行。在所示的示例中,中央容器管理器301已接收到定義應(yīng)用程序(Al)的第二模塊(M2)的中間軟件組件,第二模塊(M2)具有八個(gè)分區(qū)(P1-P8)且縮放單位為二。這允許中央容器管理器301建立跨兩個(gè)節(jié)點(diǎn)分布的八個(gè)分區(qū)。在一個(gè)實(shí)施例中,容器管理代理302根據(jù)來(lái)自中央容器管理器301的指令打開(kāi)第一節(jié)點(diǎn)305上的容器311并加載主要分區(qū)P1-P5和次要分區(qū)S6-S8以在容器311上運(yùn)行。中央容器管理器301還指導(dǎo)容器管理代理304打開(kāi)第三節(jié)點(diǎn)307上的容器312并加載主要分區(qū)P6-P8和次要分區(qū)S1-S5以在容器312上運(yùn)行。在圖3所示的示例性實(shí)施例中,節(jié)點(diǎn)305和306位于第一故障域,而節(jié)點(diǎn)307位于第二故障域。例如,節(jié)點(diǎn)305和306可在主存在第一機(jī)架上的物理機(jī)或虛擬機(jī)上實(shí)現(xiàn),而節(jié)點(diǎn)307可在主存在第二機(jī)架上的物理機(jī)或虛擬機(jī)上實(shí)現(xiàn)。機(jī)架可位于相同或不同的數(shù)據(jù)中心中。每個(gè)機(jī)架或數(shù)據(jù)中心可被視為是不同的故障域。如果一個(gè)機(jī)架失效或離線,則主存在該機(jī)架上的任何計(jì)算節(jié)點(diǎn)將不可用。在這種情況下,其它機(jī)架上的一個(gè)或多個(gè)計(jì)算節(jié)點(diǎn)在需要時(shí)可接管作為主要模塊實(shí)例。例如,如果第一機(jī)架失效,則在該故障域上的節(jié)點(diǎn)305和306將不可用。結(jié)果,在節(jié)點(diǎn)305和306上運(yùn)行的主要模塊實(shí)例分區(qū)也將失效。位于不同故障域上的節(jié)點(diǎn)307上的次要分區(qū)然后接管節(jié)點(diǎn)305和306上的失效的主要分區(qū)。在圖3中,模塊實(shí)例Ml的次要分區(qū)S1-S4主存在容器310上,模塊實(shí)例M2的次要分區(qū)S1-S5主存在容器312上。這些次要分區(qū)在主要分區(qū)失效時(shí)被激活,且然后接管作為主要模塊實(shí)例。這允許容器服務(wù)繼續(xù)運(yùn)行中間軟件組件,而對(duì)外部承租人沒(méi)有任何明顯的中斷。圖4是示出用于管理來(lái)自多個(gè)承租人的中間軟件組件的示例性過(guò)程的流程圖。在步驟401,容器管理服務(wù)從一個(gè)或多個(gè)承租人接收中間軟件組件,并在步驟402將中間軟件組件上傳到運(yùn)行時(shí)存儲(chǔ)。在步驟403,中央容器管理器將中間軟件組件映射到計(jì)算節(jié)點(diǎn)。在步驟404,中央容器管理器向駐留在計(jì)算節(jié)點(diǎn)上的容器管理代理通知:容器服務(wù)接收到中間軟件組件。在步驟405,中央容器管理器在一個(gè)或多個(gè)計(jì)算節(jié)點(diǎn)上放置中間軟件組件。在步驟406中,容器管理代理激活其各自計(jì)算節(jié)點(diǎn)上的一個(gè)或多個(gè)容器,用于主存中間軟件組件。在步驟407,容器管理代理將受限制的特權(quán)集合分配給每個(gè)容器。受限制的特權(quán)控制容器對(duì)共享計(jì)算節(jié)點(diǎn)資源的使用以確保每個(gè)容器以沙箱方式操作,其中容器只使用其公共資源的公平共享,而不干擾計(jì)算節(jié)點(diǎn)上其它容器的操作。盡管用結(jié)構(gòu)特征和/或方法動(dòng)作專(zhuān)用的語(yǔ)言描述了本主題,但可以理解,所附權(quán)利要求書(shū)中定義的主題不必限于上述具體特征或動(dòng)作。更確切而言,上述具體特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例形式公開(kāi)的。
權(quán)利要求
1.一種主存多個(gè)承租人的中間軟件組件的方法,所述方法包括: 將中間軟件組件映射(403)到多個(gè)計(jì)算節(jié)點(diǎn)(101),每個(gè)計(jì)算節(jié)點(diǎn)(101)包括容器管理代理(104)和一個(gè)或多個(gè)容器(105); 將各個(gè)中間軟件組件放置(405)到映射的計(jì)算節(jié)點(diǎn)(101)上; 由所述容器管理代理(104)將所述各個(gè)中間軟件組件放置到每個(gè)映射的計(jì)算節(jié)點(diǎn)(101)上的一個(gè)或多個(gè)容器(206)中,所述容器(105)主存一個(gè)或多個(gè)中間軟件組件的操作。
2.按權(quán)利要求1所述的方法,其特征在于,還包括: 向每個(gè)中間軟件組件分配特權(quán)集合,其中所述特權(quán)控制所述中間軟件組件對(duì)所述計(jì)算節(jié)點(diǎn)上的共享資源的訪問(wèn)。
3.按權(quán)利要求1所述的方法,其特征在于,還包括: 基于計(jì)算節(jié)點(diǎn)是運(yùn)行有狀態(tài)中間軟件組件還是運(yùn)行無(wú)狀態(tài)中間軟件組件,將所述多個(gè)計(jì)算節(jié)點(diǎn)組織成一個(gè)或多個(gè)群集。
4.按權(quán)利要求1所述的方法,其特征在于,還包括: 確定無(wú)狀態(tài)中間軟件組件的縮放因子;以及 在對(duì)應(yīng)于所述縮放因子的多個(gè)計(jì)算節(jié)點(diǎn)上克隆所述中間軟件組件。
5.按權(quán)利要求1所述的方法,其特征在于,還包括: 確定有狀態(tài)中間軟件組件的縮放因子;以及 跨對(duì)應(yīng)于所述縮放因子的多個(gè)計(jì)算節(jié)點(diǎn)放置分區(qū),其中所述分區(qū)對(duì)應(yīng)于主存所述中間軟件組件的實(shí)例的容器。
6.按權(quán)利要求1所述的方法,其特征在于,還包括: 在中央容器管理器處接收所述多個(gè)中間軟件組件;以及 由所述中央容器管理器將所述多個(gè)中間軟件組件上傳到運(yùn)行時(shí)存儲(chǔ)。
7.一種用于主存中間軟件組件的系統(tǒng),包括: 中央容器管理器(102),適用于從多個(gè)承租人接收中間軟件組件; 耦合至所述中央容器管理器(102)的多個(gè)計(jì)算節(jié)點(diǎn)(101); 所述多個(gè)計(jì)算節(jié)點(diǎn)(101)中的每一個(gè)上的一個(gè)或多個(gè)容器(105),所述容器(105)適用于主存所述中間軟件組件;以及 所述多個(gè)計(jì)算節(jié)點(diǎn)(101)中的每一個(gè)上的容器管理代理(104),所述容器管理代理(104)適用于控制所述一個(gè)或多個(gè)容器(105)。
8.按權(quán)利要求7所述的系統(tǒng),其特征在于,所述中央容器管理器還包括: 監(jiān)視聚集器,適用于監(jiān)視跨所述多個(gè)計(jì)算節(jié)點(diǎn)的資源使用并聚集所述中間軟件組件的實(shí)例。
9.按權(quán)利要求7所述的系統(tǒng),其特征在于,所述中央容器管理器還包括: 放置管理器,適用于標(biāo)識(shí)接收到的中間軟件組件所需的多個(gè)模塊實(shí)例,并將所述模塊實(shí)例分配給所述計(jì)算節(jié)點(diǎn)中的各特定計(jì)算節(jié)點(diǎn)。
10.按權(quán)利要求7所述的系統(tǒng),其特征在于,還包括: 地址解析服務(wù),能夠?qū)⑺鲋虚g軟件組件的邏輯地址映射到主存所述中間軟件組件的計(jì)算節(jié)點(diǎn)的物理地址。
全文摘要
本發(fā)明涉及用于主存有狀態(tài)和無(wú)狀態(tài)中間軟件組件的多承租人高密度容器服務(wù)。容器服務(wù)能夠主存多個(gè)承租人的大量中間軟件組件。中央容器管理器控制多個(gè)計(jì)算節(jié)點(diǎn)。中央容器管理器從外部設(shè)備或服務(wù)接收中間軟件組件并將該組件分配給一個(gè)或多個(gè)指定計(jì)算節(jié)點(diǎn)上的容器。每個(gè)計(jì)算節(jié)點(diǎn)具有容器管理代理和一個(gè)或多個(gè)容器。容器管理代理激活并管理適當(dāng)數(shù)量的容器以運(yùn)行分配的中間軟件組件。容器管理代理向其計(jì)算節(jié)點(diǎn)上的每個(gè)容器分配有限的特權(quán)集合以控制對(duì)共享資源的訪問(wèn)。中央容器管理器和每個(gè)節(jié)點(diǎn)的容器管理代理監(jiān)視容器負(fù)載水平并動(dòng)態(tài)地調(diào)節(jié)中間軟件組件的放置以維持平衡的操作。基于每個(gè)計(jì)算節(jié)點(diǎn)上主存的中間軟件組件的類(lèi)型,將計(jì)算節(jié)點(diǎn)分組成群集。
文檔編號(hào)G06F9/50GK103092697SQ20111044432
公開(kāi)日2013年5月8日 申請(qǐng)日期2011年12月16日 優(yōu)先權(quán)日2010年12月17日
發(fā)明者A·庫(kù)爾卡尼, G·M·文卡塔拉曼拉帕, Y·克里斯坦森, C·普拉薩德, D·舒克拉, S·莫漢蒂, V·尚巴格, A·烏爾布里希, M·基肖爾, A·班達(dá)卡 申請(qǐng)人:微軟公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
九寨沟县| 巴东县| 抚顺市| 河北省| 安丘市| 会昌县| 小金县| 定西市| 山东省| 元氏县| 张家口市| 余干县| 枣阳市| 昌黎县| 兰考县| 邹平县| 响水县| 鄂托克前旗| 黄骅市| 年辖:市辖区| 抚宁县| 石景山区| 清镇市| 东源县| 阜康市| 友谊县| 郎溪县| 石阡县| 游戏| 都兰县| 吉木乃县| 冀州市| 社旗县| 北宁市| 仁布县| 吉安市| 云浮市| 全椒县| 诸暨市| 卓资县| 土默特左旗|