一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法
【專利摘要】本發(fā)明提供一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,涉及IT基礎(chǔ)設(shè)施上具體應(yīng)用的統(tǒng)一集中管理領(lǐng)域,采用C/S架構(gòu),資源節(jié)點(diǎn)為客戶端,管理節(jié)點(diǎn)為服務(wù)端,通過以太網(wǎng)實(shí)現(xiàn)客戶端與服務(wù)端相互通信。利用通信算法、動態(tài)部署算法、故障遷移算法實(shí)現(xiàn)對多個資源節(jié)點(diǎn)的統(tǒng)一管理,將資源節(jié)點(diǎn)劃分為多個應(yīng)用容器,動態(tài)部署J2EE應(yīng)用,實(shí)現(xiàn)J2EE應(yīng)用的虛擬化管理。
【專利說明】—種基于安騰L i nux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法
[0001]1、【技術(shù)領(lǐng)域】
本發(fā)明涉及IT基礎(chǔ)設(shè)施上具體應(yīng)用的統(tǒng)一集中管理,特別涉及基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化的統(tǒng)一集中管理。
[0002]2、技術(shù)背景
近年來,各行各業(yè)的信息化程度不斷提高,IT基礎(chǔ)設(shè)施的規(guī)模和承載的業(yè)務(wù)量也急劇增大,同時,IT技術(shù)飛速發(fā)展,使平臺性能越來越高,同時升級換代頻率也越來越快,因此,各方面對IT基礎(chǔ)設(shè)施成本、平臺使用效率以及應(yīng)用可移植性的重視程度越來越高。與UNIX平臺相比,Linux平臺成本更低,致使在小型機(jī)領(lǐng)域,安騰Linux平臺已占有一定的市場份額;虛擬化技術(shù)能夠有效提升平臺使用效率,對于Linux平臺來說,應(yīng)用容器在運(yùn)行效能和成本方面均有優(yōu)勢,特別是基于安騰(Itanium)處理器的Linux平臺,應(yīng)用容器的效率和成熟度很高,被廣泛使用;而得益于JAVA的跨平臺特性,J2EE應(yīng)用具備非常高的可移植性,大量的應(yīng)用均基于JAVA開發(fā)。所以,基于安騰Linux平臺“J2EE應(yīng)用-中間件-Linux應(yīng)用容器”虛擬化框架構(gòu)建的應(yīng)用服務(wù)器越來越多,若用戶業(yè)務(wù)量很大,這種應(yīng)用服務(wù)器數(shù)量將會非??捎^。
[0003]基于Linux應(yīng)用容器的J2EE應(yīng)用是分散的,當(dāng)應(yīng)用服務(wù)器數(shù)量較大時,大量的、分散的J2EE應(yīng)用給監(jiān)控、部署、故障遷移等方面帶來了難題。首先,Linux應(yīng)用容器缺乏集中的、統(tǒng)一的監(jiān)控手段,在安騰Linux平臺上尤為突出,目前基于安騰Linux應(yīng)用容器的J2EE應(yīng)用多為人工管理,需要大量的人工成本;其次,在J2EE應(yīng)用和應(yīng)用服務(wù)器數(shù)量較少時,可以使用人工部署,但當(dāng)數(shù)量較多時,人工部署非常的耗時,因此需要一種智能的、自動的動態(tài)部署技術(shù);最后,用戶希望其業(yè)務(wù)具備連續(xù)性,對于核心應(yīng)用和數(shù)據(jù)庫,可采用價(jià)格昂貴的高可用方案,然而對于一些非核心應(yīng)用,高可用方案勢必造成浪費(fèi)。目前尚無在安騰Linux平臺上較好的解決上述問題的方法或技術(shù)。
[0004]3、
【發(fā)明內(nèi)容】
本發(fā)明的目的在于提供一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,該系統(tǒng)能夠?qū)崿F(xiàn)對分布在不同應(yīng)用服務(wù)器、不同安騰Linux應(yīng)用容器的大量J2EE應(yīng)用的集中、統(tǒng)一監(jiān)控;實(shí)現(xiàn)對不同應(yīng)用服務(wù)器、不同安騰Linux應(yīng)用容器的大量J2EE應(yīng)用的動態(tài)部署;根據(jù)對不同應(yīng)用服務(wù)器、不同安騰Linux應(yīng)用容器的大量J2EE應(yīng)用集中、統(tǒng)一監(jiān)控所得的故障信息,實(shí)現(xiàn)故障遷移。
[0005]本發(fā)明的目的通過以下技術(shù)方案實(shí)現(xiàn):
一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其采用C/S架構(gòu),資源節(jié)點(diǎn)為客戶端,管理節(jié)點(diǎn)為服務(wù)端,通過以太網(wǎng)實(shí)現(xiàn)客戶端與服務(wù)端相互通信。利用通信算法、動態(tài)部署算法、故障遷移算法實(shí)現(xiàn)對多個資源節(jié)點(diǎn)的統(tǒng)一管理,將資源節(jié)點(diǎn)劃分為多個應(yīng)用容器,動態(tài)部署J2EE應(yīng)用,實(shí)現(xiàn)J2EE應(yīng)用的虛擬化管理。對基于安騰Linux應(yīng)用容器中的J2EE應(yīng)用進(jìn)行動態(tài)部署、統(tǒng)一實(shí)時監(jiān)控和故障遷移。該方法包括虛擬資源分布式管理架構(gòu)(I);通信算法(2);動態(tài)部署算法(3);故障遷移算法(4)。
[0006]所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其通過虛擬資源分布式管理架構(gòu)可以統(tǒng)一管理多個虛擬資源池,一個資源節(jié)點(diǎn)對應(yīng)一個虛擬資源池,J2EE應(yīng)用動態(tài)部署在虛擬資源池,不但能監(jiān)控虛擬資源池中J2EE應(yīng)用的健康狀況,還能遷移到另一個資源池,提供故障恢復(fù)功能。
[0007]所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其服務(wù)端由交互模塊、管理模塊、分發(fā)模塊、故障恢復(fù)模塊、通信模塊組成,其中交互模塊第一輸入/輸出端與管理模塊第一輸入/輸出端連接,分發(fā)模塊第一輸入/輸出端與交互模塊第二輸入/輸出端連接,故障恢復(fù)模塊輸入/輸出端與管理模塊第二輸入/輸出端連接,通信模塊第一輸入/輸出端與管理模塊第三輸入/輸出端連接,分發(fā)模塊第二輸入/輸出端與通信模塊第二輸入/輸出端連接,故障恢復(fù)模塊第二輸入/輸出端與通信模塊第三輸入/輸出端連接。
[0008]所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其所述分發(fā)模塊執(zhí)行所述的動態(tài)部署算法。
[0009]所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其所述故障恢復(fù)模塊執(zhí)行所述的故障遷移算法。
[0010]所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其所述管理模塊執(zhí)行所述的通信算法。
[0011 ] 所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其客戶端由通信模塊、管理模塊、監(jiān)視模塊、部署模塊構(gòu)成,其中通信模塊第一輸入/輸出端與管理模塊第一輸入/輸出端連接,監(jiān)視模塊第一輸入/輸出端與管理模塊第二輸入/輸出端連接,部署模塊第一輸入/輸出端與管理模塊第三輸入/輸出端連接,部署模塊輸出端口與通信模塊第一輸入端口連接,監(jiān)視模塊輸出端口與通信模塊第二輸入端口連接。
[0012]所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其權(quán)利要求3所述的通信模塊的第四輸入/輸出端與權(quán)利要求8所述的通信模塊的第二輸入/輸出端通過以太網(wǎng)連接。
[0013]所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其所述通信算法包含以下步驟:
1)服務(wù)端檢測所有擬監(jiān)控客戶端心跳信號;
1.1)有擬監(jiān)控客戶端心跳信號未被檢測到,結(jié)束算法并返回信息;
1.2)所有擬監(jiān)控客戶端心跳信號均被檢測到,執(zhí)行步驟2 ;
2)服務(wù)端向客戶端發(fā)送監(jiān)控策略文件;
3)客戶端向服務(wù)端反饋是否成功收到監(jiān)控策略文件;
3.1)客戶端未成功收到監(jiān)控策略文件,執(zhí)行步驟2 ;
3.2)客戶端3次未成功收到監(jiān)控策略文件,結(jié)束算法并返回信息;
3.3)客戶端成功接收監(jiān)控策略文件,執(zhí)行步驟4 ;
4)客戶端按照監(jiān)控策略文件檢查是否所有擬監(jiān)控的應(yīng)用容器、中間件和J2EE應(yīng)用全部運(yùn)行正常;
4.1)有擬監(jiān)控的應(yīng)用容器、中間件或J2EE應(yīng)用運(yùn)行異?;蛭催\(yùn)行,結(jié)束算法并返回信
息;
4.2)所有擬監(jiān)控的應(yīng)用容器、中間件和J2EE應(yīng)用全部正常運(yùn)行,執(zhí)行步驟5 ; 5)客戶端向服務(wù)端反饋就緒信號;
6)服務(wù)端啟動連續(xù)監(jiān)控模式,同時指示客戶端啟動連續(xù)監(jiān)控模式;
7)客戶端每隔固定時間間隔向收集所有被監(jiān)控的應(yīng)用容器、中間件和J2EE應(yīng)用的運(yùn)行狀態(tài),在客戶端形成運(yùn)行狀態(tài)日志,并根據(jù)監(jiān)控策略向服務(wù)端發(fā)送需要的運(yùn)行狀態(tài)信息,收集運(yùn)行狀態(tài)的時間間隔亦由監(jiān)控策略決定;
8)服務(wù)端持續(xù)監(jiān)控由客戶端發(fā)送的所有被監(jiān)控的應(yīng)用容器、中間件和J2EE應(yīng)用的運(yùn)行狀態(tài)信息;
9)服務(wù)端監(jiān)控到有應(yīng)用容器、中間件或J2EE應(yīng)用運(yùn)行異?;騺G失客戶端心跳N次,N由監(jiān)控策略決定;
10)服務(wù)端根據(jù)監(jiān)控策略決定是否啟動故障恢復(fù);
10.1)監(jiān)控策略為啟動故障恢復(fù),服務(wù)端啟動故障恢復(fù),同時保證對正常運(yùn)行的的應(yīng)用容器、中間件和J2EE應(yīng)用的持續(xù)監(jiān)控;
10.2)監(jiān)控策略為不啟動故障恢復(fù),服務(wù)端以固定時間間隔向用戶反饋故障信息,同時保證對正常運(yùn)行的的應(yīng)用容器、中間件和J2EE應(yīng)用的持續(xù)監(jiān)控;
11)服務(wù)端收到用戶手動下達(dá)的停止統(tǒng)一實(shí)時監(jiān)控指令,則結(jié)束服務(wù)端和客戶端的持續(xù)監(jiān)控,僅保留客戶端的心跳信號;
12)算法結(jié)束。
[0014]所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其所述動態(tài)部署算法包含以下步驟:
1)服務(wù)端收到用戶下達(dá)的J2EE動態(tài)部署指令;
2)服務(wù)端收集動態(tài)部署策略、J2EE應(yīng)用安裝包路徑,生成J2EE應(yīng)用安裝包校驗(yàn)文件;
3)服務(wù)端檢測所有擬部署客戶端的心跳信號;
3.1)有擬部署客戶端心跳信號未被檢測到,結(jié)束算法并返回信息;
3.2)所有擬部署客戶端心跳信號均被檢測到,執(zhí)行步驟4 ;
4)服務(wù)端指示客戶端收集應(yīng)用容器、中間件、J2EE應(yīng)用安裝信息,并反饋至服務(wù)端;
5)服務(wù)端將客戶端并反饋的收集的應(yīng)用容器、中間件安裝信息與動態(tài)部署策略進(jìn)行對
比;
5.1) 二者不一致,結(jié)束動態(tài)部署并反饋信息;
5.2) 二者一致,執(zhí)行步驟6 ;
6)服務(wù)端將客戶端反饋的J2EE應(yīng)用安裝信息與動態(tài)部署策略進(jìn)行對比;
7)服務(wù)端根據(jù)對比結(jié)果創(chuàng)建應(yīng)用部署列表及部署配置文件;
8)服務(wù)端根據(jù)應(yīng)用部署列表將部署配置文件、J2EE應(yīng)用安裝包、J2EE應(yīng)用安裝包校驗(yàn)文件發(fā)送至客戶端;
9)客戶端根據(jù)J2EE應(yīng)用安裝包校驗(yàn)文件校驗(yàn)J2EE應(yīng)用安裝包;
9.1)校驗(yàn)失敗,客戶端要求服務(wù)端重新發(fā)送校驗(yàn)失敗的J2EE應(yīng)用安裝包及其校驗(yàn)文
件;
9.2)統(tǒng)一文件校驗(yàn)失敗3次,結(jié)束部署并返回信息;
9.3)全部校驗(yàn)成功,執(zhí)行步驟10 ;
10)客戶端根據(jù)部署配置文件動態(tài)部署J2EE應(yīng)用并反饋部署進(jìn)度信息; 11)客戶端完成部署后向服務(wù)端反饋信息;
12)服務(wù)端向用戶顯示部署完成信息,等待用戶結(jié)束動態(tài)部署任務(wù)。
[0015]所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其所述故障遷移算法包含以下步驟:
O由權(quán)利要求1所述的監(jiān)控算法啟動故障遷移算法;
2)根據(jù)故障類型啟動不同的流程;
2.1)故障類型為應(yīng)用故障,中間件、應(yīng)用容器運(yùn)行正常,執(zhí)行步驟3 ;
2.2)故障類型為中間件故障,應(yīng)用容器運(yùn)行正常,執(zhí)行步驟4 ;
2.3)故障類型為應(yīng)用容器故障,執(zhí)行步驟5 ;
3)啟動應(yīng)用故障恢復(fù)流程;
3.1)嘗試重啟應(yīng)用;
3.11)重啟成功,返回信息并結(jié)束故障遷移算法;
3.12)重啟不成功,執(zhí)行步驟3.2
3.2)服務(wù)端根據(jù)客戶端定時反饋的信息,篩選出所有安裝有相同中間件的應(yīng)用容器,該應(yīng)用容器可以與故障應(yīng)用所在應(yīng)用容器位于同一操作系統(tǒng)或主機(jī),也可以位于其他的操作系統(tǒng)或主機(jī);
3.21)不存在安裝有相同中間件的應(yīng)用容器,結(jié)束故障恢復(fù)流程并返回信息;
3.22)存在安裝有相同中間件的應(yīng)用容器,執(zhí)行步驟3.3
3.3)服務(wù)端在篩選出的應(yīng)用容器選擇系統(tǒng)資源余量最大的應(yīng)用容器;
3.4)服務(wù)端發(fā)送故障應(yīng)用安裝包至被步驟3.3選擇的應(yīng)用容器所在操作系統(tǒng)的客戶
端;
3.5)步驟3.4所述客戶端將接收到的故障應(yīng)用安裝包安裝在步驟3.3所述的應(yīng)用容
器;
3.6)步驟3.4所述客戶端啟動應(yīng)用;
3.7)步驟3.4所述客戶端反饋部署信息與啟動信息;
3.8)服務(wù)端接收到部署信息與啟動信息后結(jié)束故障遷移算法;
4)啟動中間件故障恢復(fù)流程;
4.1)服務(wù)端根據(jù)客戶端定時反饋的信息,篩選出所有安裝有相同中間件的應(yīng)用容器,該應(yīng)用容器可以與故障中間件所在應(yīng)用容器位于同一操作系統(tǒng)或主機(jī),也可以位于其他的操作系統(tǒng)或主機(jī);
4.11)不存在安裝有相同中間件的應(yīng)用容器,結(jié)束故障恢復(fù)流程并返回信息;
4.12)存在安裝有相同中間件的應(yīng)用容器,執(zhí)行步驟4.2 ;
4.2)服務(wù)端比較篩選出的應(yīng)用容器的系統(tǒng)資源余量;
4.3)服務(wù)端根據(jù)負(fù)載均衡原則,將因中間件故障導(dǎo)致的故障應(yīng)用的安裝包批量分發(fā)至步驟4.1篩選出的應(yīng)用容器所在操作系統(tǒng)的客戶端;
4.4)步驟4.3所述客戶端將接收到的故障應(yīng)用安裝包安裝在對應(yīng)的應(yīng)用容器中;
4.5)步驟4.3所述客戶端啟動應(yīng)用;
4.6)步驟4.3所述客戶端反饋部署信息與啟動信息;
4.7)服務(wù)端接收到部署信息與啟動信息后結(jié)束故障遷移算法; 5)啟動應(yīng)用容器故障恢復(fù)流程;
5.1)服務(wù)端確定安裝于故障應(yīng)用容器上的中間件與應(yīng)用;
5.2)服務(wù)端判斷故障應(yīng)用容器上的中間件是否有一些安裝在其他正常運(yùn)行的應(yīng)用容器上;
5.21)否,結(jié)束故障恢復(fù)流程并返回信息;
5.22)是,執(zhí)行步驟5.3 ;
5.3)服務(wù)端將目前正常運(yùn)行的應(yīng)用容器中已安裝步驟5.1所述中間件的進(jìn)行匯總,統(tǒng)計(jì)步驟5.1所述應(yīng)用中能夠部署在其他應(yīng)用容器的部分,根據(jù)負(fù)載均衡原則創(chuàng)建部署列表;
5.4)服務(wù)端將步驟5.3所述應(yīng)用的安裝包分發(fā)至步驟5.3所述的應(yīng)用容器所在操作系統(tǒng)的客戶端;
5.5)步驟5.4所述客戶端將接收到的故障應(yīng)用安裝包安裝在對應(yīng)的應(yīng)用容器中;
5.6)步驟5.4所述客戶端啟動應(yīng)用;
5.7)步驟5.4所述客戶端反饋部署信息與啟動信息;
5.8)服務(wù)端接收到部署信息與啟動信息后結(jié)束故障遷移算法,并返回故障應(yīng)用、已恢復(fù)應(yīng)用、未恢復(fù)應(yīng)用的信息。
[0016]實(shí)現(xiàn)對分布在不同應(yīng)用服務(wù)器、不同安騰Linux應(yīng)用容器的大量J2EE應(yīng)用的集中、統(tǒng)一監(jiān)控;實(shí)現(xiàn)對不同應(yīng)用服務(wù)器、不同安騰Linux應(yīng)用容器的大量J2EE應(yīng)用的動態(tài)部署;根據(jù)對不同應(yīng)用服務(wù)器、不同安騰Linux應(yīng)用容器的大量J2EE應(yīng)用集中、統(tǒng)一監(jiān)控所得的故障信息,實(shí)現(xiàn)故障遷移。該發(fā)明能夠填補(bǔ)目前市場上安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化統(tǒng)一自動管理的空白。
[0017]該發(fā)明為一套IT基礎(chǔ)設(shè)施管理系統(tǒng),用于管理基于安騰Linux平臺的J2EE應(yīng)用,一定程度上填補(bǔ)了業(yè)界空白,是公司現(xiàn)有Kl管理系統(tǒng)的有力補(bǔ)充,能夠有效增加Kl平臺及基于Ki平臺項(xiàng)目的競爭力,能夠提升應(yīng)用能力。
[0018]4、【專利附圖】
【附圖說明】
附圖1為權(quán)利要求1所述的Linux應(yīng)用容器中J2EE應(yīng)用的統(tǒng)一管理系統(tǒng)架構(gòu)圖; 附圖2為監(jiān)控流程圖;
附圖3為動態(tài)部署流程圖;
附圖4為故障恢復(fù)流程圖。
[0019]5、實(shí)施方式
結(jié)合一下實(shí)例對本發(fā)明做進(jìn)一步說明。
[0020]實(shí)施例1
本實(shí)例的Linux應(yīng)用容器中J2EE應(yīng)用的統(tǒng)一管理系統(tǒng),可結(jié)合附圖1、附圖2理解本實(shí)例,本實(shí)例包括以下步驟:
1)用戶通過交互模塊(I)中輸入監(jiān)控策略后下達(dá)“開始監(jiān)控”指令;
2)交互模塊(I)根據(jù)用戶輸入的監(jiān)控策略,形成監(jiān)控策略文件,并發(fā)給管理模塊(2),同時向管理模塊發(fā)送“開始監(jiān)控”指令;
3)管理模塊(2)啟動監(jiān)控算法;4)管理模塊(2)根據(jù)監(jiān)控策略文件,通過通信模塊
(5)檢測擬監(jiān)控的客戶端心跳; 4.1)有擬監(jiān)控客戶端心跳未能檢測到,結(jié)束監(jiān)控流程并通過交互模塊(I)返回信息給用戶;
4.2)所有擬監(jiān)控客戶端心跳均成功檢測到,執(zhí)行步驟5 ;
5)管理模塊(2)通過通信模塊(5)向客戶端發(fā)送監(jiān)控策略文件;
6)管理模塊(7)檢查通信模塊(6)是否收到監(jiān)控策略文件;
6.1)通信模塊(5)未成功收到監(jiān)控策略文件,執(zhí)行步驟5 ;
6.2)通信模塊(5) 3次未成功收到監(jiān)控策略文件,結(jié)束算法并返回信息;
6.3)通信模塊(5)成功接收監(jiān)控策略文件,執(zhí)行步驟7 ;
7)管理模塊(7)按照監(jiān)控策略文件檢查是否所有擬監(jiān)控的應(yīng)用容器、中間件和J2EE應(yīng)用全部運(yùn)行正常;
7.1)有擬監(jiān)控的應(yīng)用容器、中間件或J2EE應(yīng)用運(yùn)行異?;蛭催\(yùn)行,結(jié)束算法并返回信
息;
7.2)所有擬監(jiān)控的應(yīng)用容器、中間件和J2EE應(yīng)用全部正常運(yùn)行,執(zhí)行步驟8 ;
8)管理模塊(7)通過通信模塊(6)向服務(wù)端反饋就緒信號;
9)管理模塊(2)通過通信模塊(5)收到管理模塊(7)反饋的就緒信號后,啟動連續(xù)監(jiān)控模式,同時通過通信模塊(5)指示客戶端啟動連續(xù)監(jiān)控模式;
10)管理模塊(7)通信模塊(6)收到啟動連續(xù)監(jiān)控模式指令后,指示監(jiān)聽模塊(8)每隔固定時間間隔收集所有被監(jiān)控的應(yīng)用容器、中間件和J2EE應(yīng)用的運(yùn)行狀態(tài),并將運(yùn)行狀態(tài)信息發(fā)送給管理模塊(7),管理模塊(7)在客戶端形成運(yùn)行狀態(tài)日志,并根據(jù)監(jiān)控策略通過通信模塊(6)向服務(wù)端發(fā)送需要的運(yùn)行狀態(tài)信息,收集運(yùn)行狀態(tài)的時間間隔亦由監(jiān)控策略決定;
11)管理模塊(2)通過通信模塊(5 )接收管理模塊(7 )發(fā)送的運(yùn)行狀態(tài),并對運(yùn)行狀態(tài)進(jìn)行持續(xù)監(jiān)聽;
12)管理模塊(2)監(jiān)聽到有應(yīng)用容器、中間件或J2EE應(yīng)用運(yùn)行異?;騺G失客戶端心跳N次,N由監(jiān)控策略決定;
13)管理模塊(2)根據(jù)監(jiān)控策略決定是否啟動故障恢復(fù);
13.1)監(jiān)控策略為啟動故障恢復(fù),管理模塊(2)指示故障恢復(fù)模塊(4)啟動故障恢復(fù),同時保證對正常運(yùn)行的的應(yīng)用容器、中間件和J2EE應(yīng)用的持續(xù)監(jiān)控;
13.2)監(jiān)控策略為不啟動故障恢復(fù),管理模塊(2)以固定時間間隔通過交互模塊(I)向用戶反饋故障信息,同時保證對正常運(yùn)行的的應(yīng)用容器、中間件和J2EE應(yīng)用的持續(xù)監(jiān)控;
14)管理模塊(2)收到由交互模塊(I)送來的用戶手動下達(dá)停止統(tǒng)一實(shí)時監(jiān)控指令,結(jié)束服務(wù)端和客戶端的持續(xù)監(jiān)控,僅保留客戶端的心跳信號;
15)統(tǒng)一實(shí)施監(jiān)控結(jié)束。
[0021]實(shí)施例2
本實(shí)例的Linux應(yīng)用容器中J2EE應(yīng)用的統(tǒng)一管理系統(tǒng),可結(jié)合附圖1、附圖3理解本實(shí)例,本實(shí)例包括以下步驟:
1)用戶通過交互模塊(I)輸入動態(tài)部署策略,并下達(dá)動態(tài)部署指令;
2)交互模塊(I)根據(jù)用戶輸入的動態(tài)部署策略形成動態(tài)部署策略文件,并發(fā)送至分發(fā)模塊,同時向分發(fā)模塊(3)發(fā)送啟動動態(tài)部署指令; 3)分發(fā)模塊(3)執(zhí)行動態(tài)部署算法;
4)分發(fā)模塊(3)根據(jù)動態(tài)部署策略文件,收集J2EE應(yīng)用安裝包路徑,同時生成J2EE安裝包校驗(yàn)文件;
5)分發(fā)模塊(3)檢測所有擬部署客戶端的心跳信號;
5.1)有擬部署客戶端心跳信號未被檢測到,結(jié)束算法并返回信息;
5.2)所有擬部署客戶端心跳信號均被檢測到,執(zhí)行步驟6 ;
6)分發(fā)模塊(3)通過通信模塊(5)指示客戶端收集應(yīng)用容器、中間件、J2EE應(yīng)用安裝信息,并反饋至服務(wù)端;
7 )管理模塊(7 )通過通信模塊(6 )接收分發(fā)模塊(3 )指示后,指示監(jiān)聽模塊(8 )收集應(yīng)用容器、中間件安裝信息,管理模塊(7)通過通信模塊(6)將安裝信息發(fā)送至服務(wù)端;
8)分發(fā)模塊(3)通過通信模塊(5)接收客戶端發(fā)送的應(yīng)用容器、中間件安裝信息,并與動態(tài)部署策略文件對比;
8.1)若客戶端發(fā)送的應(yīng)用容器、中間件安裝信息與動態(tài)部署策略文件要求的應(yīng)用容器、中間件安裝信息不一致,則接收動態(tài)部署并反饋信息;
8.2)若客戶端發(fā)送的應(yīng)用容器、中間件安裝信息與動態(tài)部署策略文件要求的應(yīng)用容器、中間件安裝信息一致,執(zhí)行步驟9 ;
9)分發(fā)模塊(3)將客戶端反饋的J2EE應(yīng)用安裝信息與動態(tài)部署策略文件進(jìn)行對比;
10)分發(fā)模塊(3)根據(jù)對比結(jié)果創(chuàng)建應(yīng)用部署列表及部署配置文件;
11)分發(fā)模塊(3)根據(jù)應(yīng)用部署列表將部署配置文件、J2EE應(yīng)用安裝包、J2EE應(yīng)用安裝包校驗(yàn)文件通過通信模塊(5)發(fā)送至客戶端;
12)管理模塊(7)將通過通信模塊(6)接受的部署配置文件、J2EE應(yīng)用安裝包、J2EE應(yīng)用安裝包校驗(yàn)文件發(fā)送至部署模塊(9);
13)部署模塊(9)根據(jù)J2EE應(yīng)用安裝包校驗(yàn)文件校驗(yàn)J2EE應(yīng)用安裝包;
13.1)校驗(yàn)失敗,部署模塊(9)通過通訊模塊(6)要求服務(wù)端重新發(fā)送校驗(yàn)失敗的J2EE應(yīng)用安裝包及其校驗(yàn)文件;
13.2)同一文件校驗(yàn)失敗3次,結(jié)束部署并返回信息;
13.3)全部校驗(yàn)成功,執(zhí)行步驟14 ;
14)部署模塊(9)根據(jù)部署配置文件動態(tài)部署J2EE應(yīng)用并反饋部署進(jìn)度信息;
15)部署模塊(9)完成部署后通過通信模塊(6)向服務(wù)端反饋信息;
16)分發(fā)模塊(3)通過通信模塊(5)接收到步驟15所述的反饋信息后,通過交互模塊(O向用戶顯示部署完成信息,等待用戶結(jié)束動態(tài)部署任務(wù)。
[0022]實(shí)施例3
本實(shí)例的Linux應(yīng)用容器中J2EE應(yīng)用的統(tǒng)一管理系統(tǒng),可結(jié)合附圖1、附圖2、附圖4理解本實(shí)例,本實(shí)例包括以下步驟:
1)用戶通過交互模塊(I)中輸入監(jiān)控策略后下達(dá)“開始監(jiān)控”指令;
2)交互模塊(I)根據(jù)用戶輸入的監(jiān)控策略,形成監(jiān)控策略文件,并發(fā)給管理模塊(2),同時向管理模塊發(fā)送“開始監(jiān)控”指令;
3)管理模塊(2)啟動監(jiān)控算法;4)管理模塊(2)根據(jù)監(jiān)控策略文件,通過通信模塊
(5)檢測擬監(jiān)控的客戶端心跳; 4.1)有擬監(jiān)控客戶端心跳未能檢測到,結(jié)束監(jiān)控流程并通過交互模塊(I)返回信息給用戶;
4.2)所有擬監(jiān)控客戶端心跳均成功檢測到,執(zhí)行步驟5 ;
5)管理模塊(2)通過通信模塊(5)向客戶端發(fā)送監(jiān)控策略文件;
6)管理模塊(7)檢查通信模塊(6)是否收到監(jiān)控策略文件;
6.1)通信模塊(5)未成功收到監(jiān)控策略文件,執(zhí)行步驟5 ;
6.2)通信模塊(5) 3次未成功收到監(jiān)控策略文件,結(jié)束算法并返回信息;
6.3)通信模塊(5)成功接收監(jiān)控策略文件,執(zhí)行步驟7 ;
7)管理模塊(7)按照監(jiān)控策略文件檢查是否所有擬監(jiān)控的應(yīng)用容器、中間件和J2EE應(yīng)用全部運(yùn)行正常;
7.1)有擬監(jiān)控的應(yīng)用容器、中間件或J2EE應(yīng)用運(yùn)行異?;蛭催\(yùn)行,結(jié)束算法并返回信
息;
7.2)所有擬監(jiān)控的應(yīng)用容器、中間件和J2EE應(yīng)用全部正常運(yùn)行,執(zhí)行步驟8 ;
8)管理模塊(7)通過通信模塊(6)向服務(wù)端反饋就緒信號;
9)管理模塊(2)通過通信模塊(5)收到管理模塊(7)反饋的就緒信號后,啟動連續(xù)監(jiān)控模式,同時通過通信模塊(5)指示客戶端啟動連續(xù)監(jiān)控模式;
10)管理模塊(7)通信模塊(6)收到啟動連續(xù)監(jiān)控模式指令后,指示監(jiān)聽模塊(8)每隔固定時間間隔收集所有被監(jiān)控的應(yīng)用容器、中間件和J2EE應(yīng)用的運(yùn)行狀態(tài),并將運(yùn)行狀態(tài)信息發(fā)送給管理模塊(7),管理模塊(7)在客戶端形成運(yùn)行狀態(tài)日志,并根據(jù)監(jiān)控策略通過通信模塊(6)向服務(wù)端發(fā)送需要的運(yùn)行狀態(tài)信息,收集運(yùn)行狀態(tài)的時間間隔亦由監(jiān)控策略決定;
11)管理模塊(2)通過通信模塊(5 )接收管理模塊(7 )發(fā)送的運(yùn)行狀態(tài),并對運(yùn)行狀態(tài)進(jìn)行持續(xù)監(jiān)聽;
12)管理模塊(2)監(jiān)聽到有應(yīng)用容器、中間件或J2EE應(yīng)用運(yùn)行異?;騺G失客戶端心跳N次,N由監(jiān)控策略決定;
13)由于監(jiān)控策略為啟動故障恢復(fù),管理模塊(2)指示故障恢復(fù)模塊(4)啟動故障恢復(fù),同時保證對正常運(yùn)行的的應(yīng)用容器、中間件和J2EE應(yīng)用的持續(xù)監(jiān)控;
14)故障恢復(fù)模塊(4)判斷故障類型為應(yīng)用故障;
15)故障恢復(fù)模塊(4)啟動應(yīng)用故障恢復(fù)流程;
15.1)故障恢復(fù)模塊(4)通過通信模塊(5)指示客戶端嘗試重啟故障應(yīng)用;
15.2)管理模塊(7)將通過通信模塊(6)接收到的重啟指令發(fā)送給部署模塊(9);
15.3)部署模塊(9)嘗試重啟故障應(yīng)用;
15.31)重啟成功,部署模塊(9)通過通信模塊(6)向服務(wù)端發(fā)送重啟成功信息,故障恢復(fù)模塊(4)通過通信模塊(5)接收到部署模塊(9)發(fā)送的重啟成功信息后,結(jié)束故障恢復(fù)流程,并向管理模塊(2 )發(fā)送信息,管理模塊(2 )記錄信息至日志文件,并通過交互模塊(I)向用戶發(fā)送信息;
15.32)重啟不成功,部署模塊(9)通過通信模塊(6)向服務(wù)端發(fā)送重啟失敗信息,執(zhí)行步驟15.4 ;
15.4)故障恢復(fù)模塊(4)通過通信模塊(5)接收到部署模塊(9)發(fā)送的重啟失敗信息后,分析故障應(yīng)用依賴的中間件,篩選出所有安裝有相同中間件的應(yīng)用容器,該應(yīng)用容器可以與故障應(yīng)用所在應(yīng)用容器位于同一操作系統(tǒng)或主機(jī),也可以位于其他的操作系統(tǒng)或主機(jī);
15.41)不存在安裝有相同中間件的應(yīng)用容器,結(jié)束故障恢復(fù)流程并返回信息;
15.42)存在安裝有相同中間件的應(yīng)用容器,執(zhí)行步驟15.5 ;
15.5)故障恢復(fù)模塊(4)篩選出的應(yīng)用容器選擇系統(tǒng)資源余量最大的應(yīng)用容器;
15.6)故障恢復(fù)模塊(4)通過通信模塊(5)發(fā)送故障應(yīng)用安裝包至被步驟15.5選擇的應(yīng)用容器所在操作系統(tǒng)的客戶端;
15.7)管理模塊(7)將通過通信模塊(6)接收到的故障應(yīng)用安裝包發(fā)送給部署模塊
(9);
15.8)部署模塊(9)安裝應(yīng)用之相應(yīng)的容器,并通過通信模塊(6)想服務(wù)端反饋安裝進(jìn)
度;
15.9)故障恢復(fù)模塊(4)通過通信模塊(5)接收到)部署模塊(9)發(fā)送的安裝進(jìn)度信息后,通過交互模塊(I)向用戶反饋該信息;
15.10)部署模塊(9)啟動安裝完成后的應(yīng)用,并通過通信模塊(6)想服務(wù)端反饋啟動成功信息;
15.11)故障恢復(fù)模塊(4)通過通信模塊(5)接收到)部署模塊(9)發(fā)送的啟動成功信息后,結(jié)束故障遷移算法,并通過交互模塊(I)向用戶反饋該信息。
【權(quán)利要求】
1.一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其特征在于:采用C/S架構(gòu),資源節(jié)點(diǎn)為客戶端,管理節(jié)點(diǎn)為服務(wù)端,通過以太網(wǎng)實(shí)現(xiàn)客戶端與服務(wù)端相互通信;利用通信算法、動態(tài)部署算法、故障遷移算法實(shí)現(xiàn)對多個資源節(jié)點(diǎn)的統(tǒng)一管理,將資源節(jié)點(diǎn)劃分為多個應(yīng)用容器,動態(tài)部署J2EE應(yīng)用,實(shí)現(xiàn)J2EE應(yīng)用的虛擬化管理;對基于安騰Linux應(yīng)用容器中的J2EE應(yīng)用進(jìn)行動態(tài)部署、統(tǒng)一實(shí)時監(jiān)控和故障遷移;該方法包括虛擬資源分布式管理架構(gòu)(I);通信算法(2);動態(tài)部署算法(3);故障遷移算法(4)。
2.根據(jù)權(quán)利要求1所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其特征在于:通過虛擬資源分布式管理架構(gòu)可以統(tǒng)一管理多個虛擬資源池,一個資源節(jié)點(diǎn)對應(yīng)一個虛擬資源池,J2EE應(yīng)用動態(tài)部署在虛擬資源池,不但能監(jiān)控虛擬資源池中J2EE應(yīng)用的健康狀況,還能遷移到另一個資源池,提供故障遷移功能。
3.根據(jù)權(quán)利要求1所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其特征在于:服務(wù)端由交互模塊、管理模塊、分發(fā)模塊、故障恢復(fù)模塊、通信模塊組成,其中交互模塊第一輸入/輸出端與管理模塊第一輸入/輸出端連接,分發(fā)模塊第一輸入/輸出端與交互模塊第二輸入/輸出端連接,故障恢復(fù)模塊輸入/輸出端與管理模塊第二輸入/輸出端連接,通信模塊第一輸入/輸出端與管理模塊第三輸入/輸出端連接,分發(fā)模塊第二輸入/輸出端與通信模塊第二輸入/輸出端連接,故障恢復(fù)模塊第二輸入/輸出端與通信模塊第三輸入/輸出端連接。
4.根據(jù)權(quán)利要求3所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其特征在于:所述分發(fā)模塊執(zhí)行所述的動態(tài)部署算法,所述故障恢復(fù)模塊執(zhí)行所述的故障遷移算法。
5.根據(jù)權(quán)利要求3所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其特征在于:所述管理模 塊執(zhí)行所述的通信算法。
6.根據(jù)權(quán)利要求3所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其特征在于:客戶端由通信模塊、管理模塊、監(jiān)視模塊、部署模塊構(gòu)成,其中通信模塊第一輸入/輸出端與管理模塊第一輸入/輸出端連接,監(jiān)視模塊第一輸入/輸出端與管理模塊第二輸入/輸出端連接,部署模塊第一輸入/輸出端與管理模塊第三輸入/輸出端連接,部署模塊輸出端口與通信模塊第一輸入端口連接,監(jiān)視模塊輸出端口與通信模塊第二輸入端口連接。
7.根據(jù)權(quán)利要求7所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其特征在于:權(quán)利要求3所述的通信模塊的第四輸入/輸出端與權(quán)利要求7所述的通信模塊的第二輸入/輸出端通過以太網(wǎng)連接。
8.根據(jù)權(quán)利要求1所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其特征在于:所述通信算法包含以下步驟: .1)服務(wù)端檢測所有擬監(jiān)控客戶端心跳信號; . 1.1)有擬監(jiān)控客戶端心跳信號未被檢測到,結(jié)束算法并返回信息; . 1.2)所有擬監(jiān)控客戶端心跳信號均被檢測到,執(zhí)行步驟2 ; .2)服務(wù)端向客戶端發(fā)送監(jiān)控策略文件; .3)客戶端向服務(wù)端反饋是否成功收到監(jiān)控策略文件; .3.1)客戶端未成功收到監(jiān)控策略文件,執(zhí)行步驟2 ;.3.2)客戶端3次未成功收到監(jiān)控策略文件,結(jié)束算法并返回信息; .3.3)客戶端成功接收監(jiān)控策略文件,執(zhí)行步驟4 ; .4)客戶端按照監(jiān)控策略文件檢查是否所有擬監(jiān)控的應(yīng)用容器、中間件和J2EE應(yīng)用全部運(yùn)行正常; .4.1)有擬監(jiān)控的應(yīng)用容器、中間件或J2EE應(yīng)用運(yùn)行異?;蛭催\(yùn)行,結(jié)束算法并返回信息; .4.2)所有擬監(jiān)控的應(yīng)用容器、中間件和J2EE應(yīng)用全部正常運(yùn)行,執(zhí)行步驟5 ; .5)客戶端向服務(wù)端反饋就緒信號; .6)服務(wù)端啟動連續(xù)監(jiān)控模式,同時指示客戶端啟動連續(xù)監(jiān)控模式; .7)客戶端每隔固定時間間隔向收集所有被監(jiān)控的應(yīng)用容器、中間件和J2EE應(yīng)用的運(yùn)行狀態(tài),在客戶端形成運(yùn)行狀態(tài)日志,并根據(jù)監(jiān)控策略向服務(wù)端發(fā)送需要的運(yùn)行狀態(tài)信息,收集運(yùn)行狀態(tài)的時間間隔亦由監(jiān)控策略決定; . 8)服務(wù)端持續(xù)監(jiān)控由客戶端發(fā)送的所有被監(jiān)控的應(yīng)用容器、中間件和J2EE應(yīng)用的運(yùn)行狀態(tài)信息; .9)服務(wù)端監(jiān)控到有應(yīng)用容器、中間件或J2EE應(yīng)用運(yùn)行異常或丟失客戶端心跳N次,N由監(jiān)控策略決定; .10)服務(wù)端根據(jù)監(jiān)控策略決定是否啟動故障恢復(fù); .10.1)監(jiān)控策略為啟動故障恢復(fù),服務(wù)端啟動故障恢復(fù),同時保證對正常運(yùn)行的的應(yīng)用容器、中間件和J2EE應(yīng)用的持續(xù)監(jiān)控; .10.2)監(jiān)控策略為不啟動故障恢復(fù),服務(wù)端以固定時間間隔向用戶反饋故障信息,同時保證對正常運(yùn)行的的應(yīng)用容器、中間件和J2EE應(yīng)用的持續(xù)監(jiān)控; .11)服務(wù)端收到用戶手動下達(dá)的停止統(tǒng)一實(shí)時監(jiān)控指令,則結(jié)束服務(wù)端和客戶端的持續(xù)監(jiān)控,僅保留客戶端的心跳信號; .12)算法結(jié)束。
9.根據(jù)權(quán)利要求1所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其特征在于:所述動態(tài)部署算法包含以下步驟: .1)服務(wù)端收到用戶下達(dá)的J2EE動態(tài)部署指令; .2)服務(wù)端收集動態(tài)部署策略、J2EE應(yīng)用安裝包路徑,生成J2EE應(yīng)用安裝包校驗(yàn)文件; .3)服務(wù)端檢測所有擬部署客戶端的心跳信號; .3.1)有擬部署客戶端心跳信號未被檢測到,結(jié)束算法并返回信息; .3.2)所有擬部署客戶端心跳信號均被檢測到,執(zhí)行步驟4 ; .4)服務(wù)端指示客戶端收集應(yīng)用容器、中間件、J2EE應(yīng)用安裝信息,并反饋至服務(wù)端; . 5)服務(wù)端將客戶端并反饋的收集的應(yīng)用容器、中間件安裝信息與動態(tài)部署策略進(jìn)行對比; .5.1) 二者不一致,結(jié)束動態(tài)部署并反饋信息; .5.2) 二者一致,執(zhí)行步驟6 ; .6)服務(wù)端將客戶端反饋的J2EE應(yīng)用安裝信息與動態(tài)部署策略進(jìn)行對比; .7)服務(wù)端根據(jù)對比結(jié)果創(chuàng)建應(yīng)用部署列表及部署配置文件; .8)服務(wù)端根據(jù)應(yīng)用部署列表將部署配置文件、J2EE應(yīng)用安裝包、J2EE應(yīng)用安裝包校驗(yàn)文件發(fā)送至客戶端; .9)客戶端根據(jù)J2EE應(yīng)用安裝包校驗(yàn)文件校驗(yàn)J2EE應(yīng)用安裝包; .9.1)校驗(yàn)失敗,客戶端要求服務(wù)端重新發(fā)送校驗(yàn)失敗的J2EE應(yīng)用安裝包及其校驗(yàn)文件; .9.2)統(tǒng)一文件校驗(yàn)失敗3次,結(jié)束部署并返回信息; .9.3)全部校驗(yàn)成功,執(zhí)行步驟10 ; .10)客戶端根據(jù)部署配置文件動態(tài)部署J2EE應(yīng)用并反饋部署進(jìn)度信息; .11)客戶端完成部署后向服務(wù)端反饋信息; . 12)服務(wù)端向用戶顯示部署完成信息,等待用戶結(jié)束動態(tài)部署任務(wù)。
10.根據(jù)權(quán)利要求1所述的一種基于安騰Linux應(yīng)用容器的J2EE應(yīng)用虛擬化管理方法,其特征在于:所述故障遷移算法包含以下步驟: .O由權(quán)利要求1所述的監(jiān)控 算法啟動故障遷移算法;. . 2)根據(jù)故障類型啟動不同的流程; .2.1)故障類型為應(yīng)用 故障,中間件、應(yīng)用容器運(yùn)行正常,執(zhí)行步驟3 ; .2.2)故障類型為中間件故障,應(yīng)用容器運(yùn)行正常,執(zhí)行步驟4 ; .2.3)故障類型為應(yīng)用容器故障,執(zhí)行步驟5 ; .3)啟動應(yīng)用故障恢復(fù)流程; .3.1)嘗試重啟應(yīng)用; . 3.11)重啟成功,返回信息并結(jié)束故障遷移算法; .3.12)重啟不成功,執(zhí)行步驟3.2 ; .3.2)服務(wù)端根據(jù)客戶端定時反饋的信息,篩選出所有安裝有相同中間件的應(yīng)用容器,該應(yīng)用容器可以與故障應(yīng)用所在應(yīng)用容器位于同一操作系統(tǒng)或主機(jī),也可以位于其他的操作系統(tǒng)或主機(jī); .3.21)不存在安裝有相同中間件的應(yīng)用容器,結(jié)束故障恢復(fù)流程并返回信息; . 3.22)存在安裝有相同中間件的應(yīng)用容器,執(zhí)行步驟3.3 ; . 3.3)服務(wù)端在篩選出的應(yīng)用容器選擇系統(tǒng)資源余量最大的應(yīng)用容器; .3.4)服務(wù)端發(fā)送故障應(yīng)用安裝包至被步驟3.3選擇的應(yīng)用容器所在操作系統(tǒng)的客戶端; .3.5)步驟3.4所述客戶端將接收到的故障應(yīng)用安裝包安裝在步驟3.3所述的應(yīng)用容器; .3.6)步驟3.4所述客戶端啟動應(yīng)用;. 3.7)步驟3.4所述客戶端反饋部署信息與啟動信息; . 3.8)服務(wù)端接收到部署信息與啟動信息后結(jié)束故障遷移算法; . 4)啟動中間件故障恢復(fù)流程; .4.1)服務(wù)端根據(jù)客戶端定時反饋的信息,篩選出所有安裝有相同中間件的應(yīng)用容器,該應(yīng)用容器可以與故障中間件所在應(yīng)用容器位于同一操作系統(tǒng)或主機(jī),也可以位于其他的操作系統(tǒng)或主機(jī); . 4.11)不存在安裝有相同中間件的應(yīng)用容器,結(jié)束故障恢復(fù)流程并返回信息; .4.12)存在安裝有相同中間件的應(yīng)用容器,執(zhí)行步驟4.2 ;. 4.2)服務(wù)端比較篩選出的應(yīng)用容器的系統(tǒng)資源余量; . 4.3)服務(wù)端根據(jù)負(fù)載均衡原則,將因中間件故障導(dǎo)致的故障應(yīng)用的安裝包批量分發(fā)至步驟4.1篩選出的應(yīng)用容器所在操作系統(tǒng)的客戶端; . 4.4)步驟4.3所述客戶端將接收到的故障應(yīng)用安裝包安裝在對應(yīng)的應(yīng)用容器中;. 4.5)步驟4.3所述客戶端啟動應(yīng)用; . 4.6)步驟4.3所述客戶端反饋部署信息與啟動信息;. 4.7)服務(wù)端接收到部署信息與啟動信息后結(jié)束故障遷移算法; . 5)啟動應(yīng)用容器故障恢復(fù)流程; . 5.1)服務(wù)端確定安裝于故障應(yīng)用容器上的中間件與應(yīng)用; . 5.2)服務(wù)端判斷故障應(yīng)用容器上的中間件是否有一些安裝在其他正常運(yùn)行的應(yīng)用容器上; . 5.21)否,結(jié)束故障恢復(fù)流程并返回信息; . 5.22)是,執(zhí)行步驟5.3 ;. 5.3)服務(wù)端將目前正常運(yùn)行的應(yīng)用容器中已安裝步驟5.1所述中間件的進(jìn)行匯總,統(tǒng)計(jì)步驟5.1所述應(yīng)用中能夠部署在其他應(yīng)用容器的部分,根據(jù)負(fù)載均衡原則創(chuàng)建部署列表; . 5.4)服務(wù)端將步驟5.3所述應(yīng)用的安裝包分發(fā)至步驟5.3所述的應(yīng)用容器所在操作系統(tǒng)的客戶端; . 5.5)步驟5.4所述客戶端將接收到的故障應(yīng)用安裝包安裝在對應(yīng)的應(yīng)用容器中;. 5.6)步驟5.4所述客戶端啟動應(yīng)用; . 5.7)步驟5.4所述客戶端反饋部署信息與啟動信息;. 5.8)服務(wù)端接收到部署信息與啟動信息后結(jié)束故障遷移算法,并返回故障應(yīng)用、已恢復(fù)應(yīng)用、未恢復(fù)應(yīng)用的信息。
【文檔編號】H04L12/26GK103986608SQ201410233108
【公開日】2014年8月13日 申請日期:2014年5月29日 優(yōu)先權(quán)日:2014年5月29日
【發(fā)明者】陳昌浩, 楊治, 康玉琢, 劉景洋 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司