專利名稱:混合虛擬化平臺java應用遷移方法與系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是一種云計算信息處理技術(shù)領(lǐng)域的方法及裝置,具體是一種混合虛擬化平臺JAVA應用遷移方法與系統(tǒng)。
背景技術(shù):
目前,云計算領(lǐng)域發(fā)展迅速,眾多大型企業(yè)都在開發(fā)自己的云計算平臺,這是一種基于互聯(lián)網(wǎng)的計算方式,通過這種方式,共享的軟硬件資源和信息可以按需提供給計算機和其他設(shè)備。許多云計算部署依賴于計算機集群,而計算機集群中多數(shù)都是以混合虛擬化平臺構(gòu)建。在這樣的架構(gòu)中,應用遷移是必不可少的功能。然而在混合虛擬化平臺中,因為其架構(gòu)的不同,導致應用程序無法根據(jù)需要任意遷移。經(jīng)過對現(xiàn)有技術(shù)的檢索發(fā)現(xiàn),中國專利公開號CN102193953A中公開了一種桌面應用遷移系統(tǒng)和方法,提出了一種基于模板的桌面應用遷移系統(tǒng)和方法,分為開發(fā)階段和實際運行階段。在開發(fā)階段,通過遍歷桌面應用的所有窗口,抽取每個窗口中的界面描述數(shù)據(jù);利用每個窗口的界面描述數(shù)據(jù),半自動地生成初始模板;在初始模板的基礎(chǔ)上,進一步(手動和/或按規(guī)則)指定哪些部分是“數(shù)據(jù)類型界面元素”,從而形成最終模板。在實際運行階段,實時獲取桌面應用的界面描述數(shù)據(jù),并從中抽取出“數(shù)據(jù)類型界面元素”的值和屬性信息,填充模板,從而形成最后的待呈現(xiàn)網(wǎng)頁。但該技術(shù)無法針對不同的虛擬化平臺,所以不具備跨平臺操作的技術(shù)特征,很難滿足現(xiàn)有多平臺應用需求。中國發(fā)明專利公開號CN101907989A中公開了一種基于移動代理的應用無縫遷移方法,其步驟是首先構(gòu)建一個支持應用無縫遷移的中間件系統(tǒng),配置用戶個人信息,定義支持應用遷移的軟件代理的結(jié)構(gòu)和語義,根據(jù)應用的不同特點制定三類不同的遷移策略,給出遷移后的應用重配置方法。該技術(shù)雖然能夠克服現(xiàn)有技術(shù)應用難以遷移以及遷移效率較低等缺點,但并沒有考慮混合虛擬機的平臺中的應用遷移并且沒有提供一個統(tǒng)一的WEB接口,很難滿足現(xiàn)有需求。中國專利文獻號CN101727331A,記載了一種“升級活動虛擬機的客戶操作系統(tǒng)的方法和設(shè)備”,該方法包括復制活動虛擬機以產(chǎn)生備份虛擬機,該備份虛擬機使用被設(shè)置為只讀的活動虛擬機的虛擬盤鏡像文件作為其虛擬盤鏡像文件;升級備份虛擬機的客戶操作系統(tǒng);將在活動虛擬機運行期間要對虛擬盤鏡像文件進行的改變與在所述升級期間要對虛擬盤鏡像文件進行的改變合并到該虛擬盤鏡像文件中;暫停備份虛擬機;將在活動虛擬機中運行的Java應用程序的活動進程遷移到備份虛擬機中以產(chǎn)生備份進程;將所述Java應用程序的活動進程占用的資源遷移到備份虛擬機中,使得該備份進程占用相同的資源;以及恢復運行備份虛擬機。但該技術(shù)的缺陷在于并沒有考慮混合虛擬機的平臺中的應用遷移并且沒有提供一個統(tǒng)一的WEB接口。中國專利文獻號CN102541637A,記載了一種“一種移動Agent強遷移的方法”,該技術(shù)包括狀態(tài)捕獲、Agent遷移和狀態(tài)恢復三個步驟。本發(fā)明方法,引入了 continuation機制,結(jié)合字節(jié)碼轉(zhuǎn)換技術(shù)實現(xiàn)線程狀態(tài)的捕獲;使用對象序列化機制和Java socket機制實現(xiàn)Agent在網(wǎng)絡中的主動遷移;實現(xiàn)Agent在遷移到目的主機后的狀態(tài)恢復;但該技術(shù)的缺陷在于并沒有考慮混合虛擬機的平臺中的應用遷移并且沒有提供一個統(tǒng)一的WEB接□。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)存在的上述不足,提出一種混合虛擬化平臺JAVA應用遷移方法與系統(tǒng),利用JAVA程序具有良好的跨平臺性,采用基于JAVA虛擬機,針對不同的底層架構(gòu)得以跨平臺運行,可以方便管理在混合虛擬化平臺中的JAVA應用遷移。本發(fā)明是通過以下技術(shù)方案實現(xiàn)的本發(fā)明涉及一種混合虛擬化平臺JAVA應用遷移方法,包括以下步驟第一步配置獨立的服務器作為管理服務器,用于統(tǒng)一管理應用注冊、遷移、運行和啟動,其中應用注冊中記錄應用所在的虛擬機編號、應用所在的多目錄地址以及應用運行的狀態(tài)信息。第二步在需要應用遷移的每個虛擬機中配置一個用于管理接收請求,并對請求進行解析分類及對應操作的應用遷移系統(tǒng)。所述的請求包括應用遷移請求、應用運行請求、應用停止請求、文件列表請求和文件請求。當所述應用遷移系統(tǒng)接收到的請求為i)應用遷移請求,則應用遷移系統(tǒng)對應用執(zhí)行應用遷移操作;ii)應用運行請求,則應用遷移系統(tǒng)對應用執(zhí)行應用運行操作;iii)應用停止請求,則應用遷移系統(tǒng)對應用執(zhí)行應用停止操作;iv)文件列表請求,則應用遷移系統(tǒng)返回請求中指定路徑下的所有文件路徑信息V)文件請求,則應用遷移系統(tǒng)返回請求中指定路徑的文件內(nèi)容所述的應用遷移操作包括以下步驟I)管理員向管理服務器發(fā)送包括目標虛擬機地址和遷移應用編號;2)管理服務器判斷當前應用運行狀態(tài),當應用運行狀態(tài)為運行,那么執(zhí)行應用停止操作后再返回步驟2);3)管理服務器向目標虛擬機發(fā)送請求,指定其源虛擬機和目錄,當應用目錄大于
I,則執(zhí)行多次請求;4)目標虛擬機向源虛擬機發(fā)送文件列表請求;5)目標虛擬機根據(jù)獲取到的文件列表后向源虛擬機發(fā)送文件請求,并將接收到的文件存儲在目標虛擬機,完成應用遷移。所述的應用運行操作包括以下步驟a)管理員向管理服務器發(fā)送應用啟動請求,包括應用編號;b)管理服務器判斷當前應用的狀態(tài)c)如果應用當前狀態(tài)為停止狀態(tài),管理服務器向應用所在虛擬機發(fā)送應用啟動請求,完成應用啟動。d)如果應用當前狀態(tài)為運行狀態(tài),管理服務器顯示應用正在運行的信息所述的應用停止操作包括以下步驟
a)管理員向管理服務器發(fā)送應用停止請求;b)管理服務器判斷當前應用的狀態(tài)c)如果應用當前狀態(tài)為運行狀態(tài),管理服務器向應用所在虛擬機發(fā)送應用停止請求,完成應用停止。d)如果應用當前狀態(tài)為停止狀態(tài),管理服務器顯示應用已經(jīng)停止的信息第三步對每一個應用進行注冊操作,具體是指管理員向管理服務器發(fā)送應用注冊請求,注冊一個應用的應用所在虛擬機編號,存儲應用的多目錄地址、應用名稱、啟動腳本文件路徑以及停止腳本文件路徑信息。本發(fā)明涉及一種混合虛擬化平臺JAVA應用遷移系統(tǒng),該應用遷移系統(tǒng)與虛擬機一一對應,且若干虛擬機和管理服務器組成網(wǎng)絡。所述的應用遷移系統(tǒng)包括應用遷移模塊、用于運行應用運行腳本的應用運行模塊、用于運行應用停止腳本的應用停止模塊和WEB接口模塊,其中WEB接口模塊與網(wǎng)絡中其它虛擬機的應用遷移系統(tǒng)相連,接收文件列表請求并返回文件列表中的路徑信息,接收文件請求并返回文件內(nèi)容;WEB接口模塊與管理服務器相連,接收應用遷移,應用運行,應用停止請求,對請求進行對應操作后返回成功或失敗信息;應用遷移模塊與WEB接口模塊相連接,輸出文件列表請求和文件遷移請求并對應接收文件列表響應和文件內(nèi)容響應;應用運行模塊與WEB接口模塊相連,接收應用運行請求并返回運行成功或運行失敗信息;應用停止模塊與WEB接口模塊相連,接收應用停止請求并返回停止成功或停止失敗信息。所述的應用遷移模塊包括文件處理子單元和文件列表處理子單元,其中文件處理子單元接收文件內(nèi)容并將內(nèi)容建立文件保存在指定路徑并根據(jù)文件路徑讀取文件內(nèi)容并返回;文件列表處理子單元獲取一個目錄下的所有文件的路徑。所述的WEB接口模塊包括調(diào)用模塊子單元和網(wǎng)絡連接子單元,其中調(diào)用子單元用于調(diào)用應用遷移模塊,應用運行模塊,應用停止模塊,網(wǎng)絡連接子單元用于接收和發(fā)送網(wǎng)絡數(shù)據(jù)并解析請求。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是跨平臺,無需用戶登陸和權(quán)限,多目錄支持,可以實現(xiàn)應用啟動,應用停止,應用遷移操作,提供支持所有操作的WEB接口。
圖1為JAVA應用雙向遷移結(jié)構(gòu)示意圖。圖2為WEB接口操作流程示意圖。圖3為應用遷移系統(tǒng)系統(tǒng)|吳塊不意圖。圖4為JAVA應用遷移系統(tǒng)配置流程示意圖
具體實施例方式下面對本發(fā)明的實施例作詳細說明,本實施例在以本發(fā)明技術(shù)方案為前提下進行實施,給出了詳細的實施方式和具體的操作過程,但本發(fā)明的保護范圍不限于下述的實施例。
實施例1在此實施例作中,混合虛擬化平臺服務器配置為POWER和X86架構(gòu)的服務器,并且裝有基于LINUX的操作系統(tǒng)。如圖4所示,本實施例通過以下方式實施第一步配置獨立的服務器作為管理服務器,用于統(tǒng)一管理應用注冊、遷移、運行和啟動。第二步在需要應用遷移的每個虛擬機中配置一個用于管理接收請求,并對請求進行解析分類及對應操作的應用遷移系統(tǒng)。第三步對每一個應用進行注冊操作,具體是指管理員向管理服務器發(fā)送應用注冊請求,注冊一個應用的應用所在虛擬機編號,存儲應用的多目錄地址、應用名稱、啟動腳本文件路徑以及停止腳本文件路徑信息。所述的應用遷移系統(tǒng)包括應用遷移模塊、用于運行應用運行腳本的應用運行模塊、用于運行應用停止腳本的應用停止模塊和WEB接口模塊,其中WEB接口模塊與網(wǎng)絡中其它虛擬機的應用遷移系統(tǒng)相連,接收文件列表請求并返回文件列表中的路徑信息,接收文件請求并返回文件內(nèi)容;WEB接口模塊與管理服務器相連,接收應用遷移,應用運行,應用停止請求,對請求進行對應操作后返回成功或失敗信息;應用遷移模塊與WEB接口模塊相連接,輸出文件列表請求和文件遷移請求并對應接收文件列表響應和文件內(nèi)容響應;應用運行模塊與WEB接口模塊相連,接收應用運行請求并返回運行成功或運行失敗信息;應用停止模塊與WEB接口模塊相連,接收應用停止請求并返回停止成功或停止失敗信息。如圖1所示,本實施例通過以下步驟進行應用遷移操作I)管理員向管理服務器發(fā)送應用遷移操作請求,請求中包括應用編號,遷移目標虛擬機編號多目標目錄路徑。2)管理服務器判斷如果應用正處于運行狀態(tài),那么先運行應用停止腳本將應用停止,再進入遷移步驟;當應用正處于停止狀態(tài)管理服務器向遷移目標虛擬機發(fā)送指定單目錄遷移請求,目標虛擬機應用遷移系統(tǒng)解析請求,進行遷移步驟。3)如圖3所示,遷移步驟由應用遷移系統(tǒng)的遷移模塊來處理當應用指定單目錄從虛擬機A遷移到虛擬機B,則在每個應用單目錄的遷移中按照如下步驟a)虛擬機B先向虛擬機A發(fā)送應用單目錄請求,虛擬機A返回目錄中的文件路徑列表b)虛擬機B根據(jù)這些文件路徑列表信息,對每個文件向虛擬機A發(fā)送請求,虛擬機A返回文件內(nèi)容,虛擬機B按照對應路徑將文件保存到本地c)當一個文件都遷移結(jié)束后,再進行下一個文件的遷移,直到將所有文件列表中的文件都遷移完畢。4)對于應用的多目錄,當一個目錄遷移成功后管理服務器再向遷移目標虛擬機發(fā)送下一個單目錄遷移請求,直到所有的目錄都遷移完畢對于管理員,只需要知道應用編號和目標虛擬機編號即可,應用所在虛擬機和所在的多目錄都被系統(tǒng)時時記錄,并且JAVA應用遷移無需考慮不同架構(gòu)的不同,在混合虛擬化平臺實現(xiàn)應用遷移。如圖1所示,本實施例通過以下步驟進行應用運行操作I)管理員向管理服務器發(fā)送應用運行操作請求,請求中包括應用編號2)管理服務器判斷如果應用正處于運行狀態(tài),那么返回應用正在運行的信息。如果當前應用正處于停止狀態(tài),管理服務器向應用所在虛擬機發(fā)送應用運行請求,進入應用運行步驟3)如圖3所示,應用運行步驟由應用遷移系統(tǒng)的應用運行模塊來處理,應用所在虛擬機接收到應用運行請求則執(zhí)行應用運行腳本并返回成功或失敗信息如圖1所示,本實施例通過以下步驟進行應用停止操作I)管理員向管理服務器發(fā)送應用停止操作請求,請求中包括應用編號2)管理服務器判斷如果應用正處于停止狀態(tài),那么返回應用正在停止的信息。如果當前應用正處于運行狀態(tài),管理服務器向應用所在虛擬機發(fā)送應用停止請求,進入應用停止步驟3)如圖3所示,應用停止步驟由應用遷移系統(tǒng)的應用停止模塊來處理,應用所在虛擬機接收到應用停止請求則執(zhí)行應用停止腳本并返回成功或失敗信息管理員的所有操作請求都只需要向管理服務器發(fā)送,為管理員提供了簡易的接口,并且提供了完整的返回信息,其中包括操作成功或者失敗的信息。
概括地說,在本實施例中,通過建立混合虛擬化平臺JAVA應用遷移系統(tǒng),帶來了跨平臺的特征,當環(huán)境配置后,無需用戶登陸和特殊權(quán)限設(shè)置,應用存儲結(jié)構(gòu)具有多目錄支持,可以實現(xiàn)應用啟動,應用停止,應用遷移操作,并且提供支持所有操作的WEB接口。
權(quán)利要求
1.一種混合虛擬化平臺JAVA應用遷移方法,其特征在于,包括以下步驟: 第一步:配置獨立的服務器作為管理服務器,用于統(tǒng)一管理應用注冊、遷移、運行和啟動;其中:應用注冊中記錄應用所在的虛擬機編號、應用所在的多目錄地址以及應用運行的狀態(tài)信息,應用啟動腳本和應用停止腳本路徑。
第二步:在需要應用遷移的每個虛擬機中配置一個用于管理接收請求,并對請求進行解析分類及對應操作的應用遷移系統(tǒng); 第三步:對每一個應用進行注冊操作,具體是指:管理員向管理服務器發(fā)送應用注冊請求,注冊一個應用的:應用所在虛擬機編號,存儲應用的多目錄地址、應用名稱、啟動腳本文件路徑以及停止腳本文件路徑信息; 應用遷移系統(tǒng)中所述的請求包括:應用遷移請求、應用運行請求、應用停止請求、文件列表請求和文件請求。
2.根據(jù)權(quán)利要求1所述的方法,其特征是,當所述應用遷移系統(tǒng)接收到的請求為: i)應用遷移請求,則應用遷移系統(tǒng)對應用執(zhí)行應用遷移操作; )應用運行請求,則應用遷移系統(tǒng)對應用執(zhí)行應用運行操作; iii)應用停止請求,則應用遷移系統(tǒng)對應用執(zhí)行應用停止操作; iv)文件列表請求,則應用遷移系統(tǒng)返回請求中指定路徑下的所有文件路徑信息 V)文件請求,則應用遷移系統(tǒng)返回請求中指定路徑的文件內(nèi)容。
3.根據(jù)權(quán)利要求2所述的方法,其特征是,所述的應用遷移操作包括以下步驟:` 1)向單獨的服務器發(fā)送請求包括:目標虛擬機地址和應用編號; 2)應用遷移系統(tǒng)判斷當前應用運行狀態(tài),當應用運行狀態(tài)為運行,那么執(zhí)行應用停止操作后再返回步驟2); 3)服務器向目標虛擬機發(fā)送請求,指定其源虛擬機和目錄,當應用目錄大于1,則執(zhí)行多次請求; 4)目標虛擬機向源虛擬機發(fā)送文件列表請求; 5)目標虛擬機根據(jù)獲取到的文件列表后發(fā)送文件請求,并將接收到的文件存儲在目標虛擬機,完成應用遷移。
4.根據(jù)權(quán)利要求2所述的方法,其特征是,所述的應用啟動操作包括以下步驟: a)管理員向管理服務器發(fā)送應用運行請求; b)管理服務器判斷當前應用的狀態(tài) c)如果應用當前狀態(tài)為停止狀態(tài),管理服務器向應用所在虛擬機發(fā)送應用啟動請求,完成應用啟動。
d)如果應用當前狀態(tài)為運行狀態(tài),管理服務器顯示應用正在運行的信息。
5.根據(jù)權(quán)利要求2所述的方法,其特征是,所述的應用停止操作包括以下步驟: a)管理員向管理服務器發(fā)送應用停止請求; b)管理服務器判斷當前應用的狀態(tài) c)如果應用當前狀態(tài)為運行狀態(tài),管理服務器向應用所在虛擬機發(fā)送應用停止請求,完成應用停止。
d)如果應用當前狀態(tài)為停止狀態(tài),管理服務器顯示應用已經(jīng)停止的信息。
6.一種實現(xiàn)上述任一權(quán)利要求所述方法的混合虛擬化平臺JAVA應用遷移系統(tǒng),其特征在于,每一個應用遷移系統(tǒng)對應一個虛擬機,該虛擬機和管理服務器組成網(wǎng)絡,所述的應用遷移系統(tǒng)包括:應用遷移模塊、用于運行應用運行腳本的應用運行模塊、用于運行應用停止腳本的應用停止模塊和WEB接口模塊,其中:WEB接口模塊與網(wǎng)絡中其它虛擬機的應用遷移系統(tǒng)相連,接收文件列表請求并返回文件列表中的路徑信息,接收文件請求并返回文件內(nèi)容;WEB接口模塊與管理服務器相連,接收應用遷移,應用運行,應用停止請求,對請求進行對應操作后返回成功或失敗信息;應用遷移模塊與WEB接口模塊相連接,輸出文件列表請求和文件遷移請求并對應接收文件列表響應和文件內(nèi)容響應;應用運行模塊與WEB接口模塊相連,接收應用運行請求并返回運行成功或運行失敗信息;應用停止模塊與WEB接口模塊相連,接收應用停止請求并返回停止成功或停止失敗信息。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征是,所述的應用遷移模塊包括:文件處理子單元和文件列表處理子單元,其中:文件處理子單元接收文件內(nèi)容并將內(nèi)容建立文件保存在指定路徑并根據(jù)文件路徑讀取文件內(nèi)容并返回;文件列表處理子單元獲取一個目錄下的所有文件的路徑。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征是,所述的WEB接口模塊包括:調(diào)用模塊子單元和網(wǎng)絡連接子單元,其中:調(diào)用子單元用于調(diào)用其它模塊,網(wǎng)絡連接子單元用于接收和發(fā)送網(wǎng)絡數(shù)據(jù)并解析請求。
全文摘要
一種云計算信息處理技術(shù)領(lǐng)域的混合虛擬化平臺JAVA應用遷移方法與系統(tǒng),通過配置獨立的服務器作為管理服務器,用于統(tǒng)一管理應用注冊、遷移、運行和啟動;然后在需要應用遷移的每個虛擬機中配置一個用于管理接收請求,并對請求進行解析分類及對應操作的應用遷移系統(tǒng);再對每一個應用進行注冊操作。本發(fā)明利用JAVA程序具有良好的跨平臺性,采用基于JAVA虛擬機,針對不同的底層架構(gòu)得以跨平臺運行,可以方便管理在混合虛擬化平臺中的JAVA應用遷移。
文檔編號G06F9/44GK103077034SQ20131000771
公開日2013年5月1日 申請日期2013年1月9日 優(yōu)先權(quán)日2013年1月9日
發(fā)明者朱東鶴, 柴洪峰, 劉磊, 才華, 王海冰, 祝永新 申請人:上海交通大學, 中國銀聯(lián)股份有限公司