專利名稱:一種基于內(nèi)存數(shù)據(jù)庫的仿真網(wǎng)格節(jié)點(diǎn)快速遷移方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于內(nèi)存數(shù)據(jù)庫的仿真網(wǎng)格節(jié)點(diǎn)快速遷移方法,尤其涉及一種基 于內(nèi)存數(shù)據(jù)庫實(shí)現(xiàn)仿真網(wǎng)格中故障節(jié)點(diǎn)快速向其他節(jié)點(diǎn)動(dòng)態(tài)遷移的方法,屬于分布交互仿 真技術(shù)領(lǐng)域。
背景技術(shù):
基于HLA(High Level Architecture,高層體系結(jié)構(gòu))的分布式仿真已經(jīng)廣泛應(yīng) 用于軍事、科學(xué)研究、工程、商業(yè)等方面,并發(fā)揮著越來越大的作用。在面對當(dāng)前分布式仿真 向大規(guī)模發(fā)展和需要使用在地理位置上處于分布式的計(jì)算資源和數(shù)據(jù)資源時(shí),傳統(tǒng)的基于 HLA的分布式仿真存在一定的局限,仿真網(wǎng)格這門新興的技術(shù)則應(yīng)運(yùn)而生,其利用網(wǎng)格計(jì)算 技術(shù)的各項(xiàng)優(yōu)勢將傳統(tǒng)的分布式仿真移植到網(wǎng)格環(huán)境中,實(shí)現(xiàn)仿真任務(wù)的自動(dòng)分配、負(fù)載 均衡、運(yùn)行監(jiān)測和結(jié)果回收等功能,提升了仿真系統(tǒng)的運(yùn)行效率和可用性。但是,無論HLA 規(guī)范還是當(dāng)前主要的RTI產(chǎn)品都沒有提供相應(yīng)的容錯(cuò)機(jī)制和節(jié)點(diǎn)遷移方法,隨著仿真規(guī)模 的擴(kuò)大、仿真時(shí)間的增長,系統(tǒng)的故障率也隨之大幅升高,如果某個(gè)關(guān)鍵仿真進(jìn)程或節(jié)點(diǎn)崩 潰,將導(dǎo)致整個(gè)分布式仿真系統(tǒng)停止運(yùn)行,僅重啟崩潰的仿真進(jìn)程或節(jié)點(diǎn)又會導(dǎo)致系統(tǒng)狀 態(tài)的不一致,此時(shí)只能重新啟動(dòng)整個(gè)仿真系統(tǒng),從而造成人力、物力和時(shí)間的極大浪費(fèi)。目 前,國內(nèi)外已在分布式仿真系統(tǒng)容錯(cuò)和仿真節(jié)點(diǎn)遷移方面開展了一些研究,但都側(cè)重功能 和整體框架的實(shí)現(xiàn),如《系統(tǒng)仿真學(xué)報(bào)》第19卷第13期發(fā)表的“基于HLA的分布式仿真負(fù) 載平衡研究”一文,主要對基于HLA的分布式仿真負(fù)載平衡框架和仿真遷移過程的管理方法 進(jìn)行研究,解決的是基于HLA的分布式仿真中負(fù)載平衡的問題,沒有涉及實(shí)現(xiàn)遷移的具體 技術(shù)途徑,缺乏對仿真節(jié)點(diǎn)遷移的效率和可靠性進(jìn)行深入分析和研究,與本發(fā)明的權(quán)利要 求沒有沖突。
發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問題是克服現(xiàn)有技術(shù)的不足,提供一種基于內(nèi)存數(shù)據(jù)庫的仿 真網(wǎng)格節(jié)點(diǎn)快速遷移方法,解決了仿真網(wǎng)格中仿真節(jié)點(diǎn)狀態(tài)信息收集不完整、失效仿真節(jié) 點(diǎn)遷移速度慢和適用性差等問題,實(shí)現(xiàn)了仿真節(jié)點(diǎn)狀態(tài)鏡像的完整和快速的構(gòu)建以及失效 仿真節(jié)點(diǎn)的快速遷移和重構(gòu),從而大大提高了整個(gè)仿真網(wǎng)格的適用性和可靠性。本發(fā)明的技術(shù)解決方案是一種基于內(nèi)存數(shù)據(jù)庫的仿真網(wǎng)格節(jié)點(diǎn)快速遷移方法, 包括以下步驟(1)各仿真節(jié)點(diǎn)通過HLA/RTI進(jìn)行仿真交互,管理節(jié)點(diǎn)與各仿真節(jié)點(diǎn)通過FTP和 TCP/IP協(xié)議進(jìn)行資源傳遞、指令和狀態(tài)交互,在管理節(jié)點(diǎn)中安裝仿真遷移服務(wù)器,在各仿真 節(jié)點(diǎn)中安裝仿真遷移客戶端;(2)運(yùn)行仿真遷移服務(wù)器和仿真遷移客戶端,仿真遷移服務(wù)器創(chuàng)建仿真資源庫和 基于內(nèi)存數(shù)據(jù)庫中心仿真狀態(tài)鏡像庫,并通知仿真遷移客戶端;仿真遷移客戶端接到通知 后創(chuàng)建基于內(nèi)存數(shù)據(jù)庫本地狀態(tài)鏡像庫,根據(jù)仿真遷移服務(wù)器指令下載仿真資源并開展仿真運(yùn)行,同時(shí)定時(shí)向仿真遷移服務(wù)器匯報(bào)仿真節(jié)點(diǎn)運(yùn)行狀態(tài);(3)在仿真運(yùn)行過程中,各仿真節(jié)點(diǎn)的仿真遷移客戶端負(fù)責(zé)實(shí)時(shí)構(gòu)建各仿真節(jié)點(diǎn) 的完整狀態(tài)鏡像,加入狀態(tài)標(biāo)簽后存入基于內(nèi)存數(shù)據(jù)庫本地狀態(tài)鏡像庫進(jìn)行狀態(tài)緩存,并 構(gòu)建本地狀態(tài)鏡像集合,同時(shí)通過網(wǎng)絡(luò)實(shí)時(shí)將所有本地存儲的狀態(tài)鏡像匯集到基于內(nèi)存數(shù) 據(jù)庫中心仿真狀態(tài)鏡像庫中;(4)當(dāng)仿真遷移服務(wù)器根據(jù)各仿真節(jié)點(diǎn)的運(yùn)行狀態(tài)檢測出有仿真節(jié)點(diǎn)發(fā)生故障 或運(yùn)行負(fù)載過重,仿真遷移服務(wù)器向所有仿真遷移客戶端發(fā)出暫停仿真運(yùn)行指令,對基于 內(nèi)存數(shù)據(jù)庫中心仿真狀態(tài)鏡像庫所有的狀態(tài)標(biāo)簽進(jìn)行比對,從所有仿真節(jié)點(diǎn)均具有一致的 狀態(tài)標(biāo)簽的集合中選擇最晚時(shí)間狀態(tài)標(biāo)簽作為仿真重新運(yùn)行的狀態(tài)標(biāo)簽起點(diǎn),進(jìn)而確定需 要遷移或狀態(tài)回退的節(jié)點(diǎn)列表,以及遷移的目的節(jié)點(diǎn),目的遷移節(jié)點(diǎn)為異地節(jié)點(diǎn)或本地節(jié)占.
^ \\\ (5)在進(jìn)行仿真節(jié)點(diǎn)異地遷移時(shí),仿真遷移服務(wù)器向所有目的遷移節(jié)點(diǎn)發(fā)送仿真 遷移信息,通知仿真遷移客戶端進(jìn)行仿真資源請求和重新運(yùn)行的狀態(tài)標(biāo)簽起點(diǎn),仿真遷移 客戶端從基于內(nèi)存數(shù)據(jù)庫中心仿真狀態(tài)鏡像庫中快速下載所需的狀態(tài)鏡像,狀態(tài)鏡像更新 完畢后,該仿真節(jié)點(diǎn)加載新狀態(tài)鏡像,并將新狀態(tài)鏡像作為仿真繼續(xù)運(yùn)行起點(diǎn),并報(bào)告仿真 遷移服務(wù)器,等待仿真遷移服務(wù)器指令,待所有仿真節(jié)點(diǎn)準(zhǔn)備就緒再一起進(jìn)行仿真;(6)在進(jìn)行本地遷移時(shí),仿真遷移客戶端根據(jù)重新運(yùn)行的狀態(tài)標(biāo)簽起點(diǎn),直接從基 于內(nèi)存數(shù)據(jù)庫本地狀態(tài)鏡像庫加載重新運(yùn)行的狀態(tài)鏡像作為仿真繼續(xù)運(yùn)行起點(diǎn),并報(bào)告仿 真遷移服務(wù)器,等待仿真遷移服務(wù)器指令,待所有仿真節(jié)點(diǎn)準(zhǔn)備就緒再一起進(jìn)行仿真;(7)仿真遷移服務(wù)器收集所有參加仿真的仿真遷移客戶端的狀態(tài)報(bào)告信息,當(dāng)所 有遷移節(jié)點(diǎn)準(zhǔn)備就緒,則遷移節(jié)點(diǎn)重新開始仿真運(yùn)行,其余未遷移節(jié)點(diǎn)繼續(xù)運(yùn)行。本發(fā)明與現(xiàn)有技術(shù)相比具有的有益效果是本發(fā)明將內(nèi)存數(shù)據(jù)庫技術(shù)應(yīng)用于分布 交互仿真領(lǐng)域,利用內(nèi)存數(shù)據(jù)庫實(shí)時(shí)建立各仿真節(jié)點(diǎn)完整的狀態(tài)鏡像集,并進(jìn)行狀態(tài)鏡像 的分布式收集與管理,實(shí)現(xiàn)了仿真節(jié)點(diǎn)完整狀態(tài)鏡像的在內(nèi)存上的快速構(gòu)建、存取、分布式 同步與備份,大大提高系統(tǒng)的快速性和運(yùn)行效率;通過設(shè)計(jì)仿真網(wǎng)格中的仿真運(yùn)行管理、狀 態(tài)監(jiān)測和節(jié)點(diǎn)遷移與恢復(fù)等機(jī)制,完成故障仿真節(jié)點(diǎn)探測、仿真過程暫停運(yùn)行控制、故障節(jié) 點(diǎn)或進(jìn)程遷移、故障節(jié)點(diǎn)狀態(tài)鏡像注入和仿真過程繼續(xù)運(yùn)行控制,從而實(shí)現(xiàn)仿真網(wǎng)格中故 障節(jié)點(diǎn)的快速遷移,實(shí)現(xiàn)了分布仿真系統(tǒng)的快速容錯(cuò)和自動(dòng)負(fù)載均衡能力,增強(qiáng)了系統(tǒng)的 穩(wěn)定性和健壯性;本發(fā)明所涉及的仿真運(yùn)行監(jiān)測與控制、通訊和數(shù)據(jù)庫等功能,都是基于 HLA/RTI所提供的功能和其他標(biāo)準(zhǔn)協(xié)議和數(shù)據(jù)庫,并不對HLA/RTI作任何修改,不會影響 HLA仿真系統(tǒng)功能,具有良好的通用性。
圖1為本發(fā)明的系統(tǒng)結(jié)構(gòu)框圖;圖2為本發(fā)明的仿真遷移服務(wù)器處理過程圖;圖3為本發(fā)明的仿真遷移客戶端處理過程圖;圖4為本發(fā)明的仿真鏡像庫的多層次存儲結(jié)構(gòu)具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)的說明由本發(fā)明所實(shí)現(xiàn)的仿真遷移系統(tǒng)(包括服務(wù)器組件和客戶端組件),與分布式仿 真平臺和仿真模型協(xié)同使用,為分布式仿真平臺提供快速的仿真節(jié)點(diǎn)遷移能力和系統(tǒng)容錯(cuò) 能力。如圖1所示,各仿真節(jié)點(diǎn)通過HLA/RTI進(jìn)行仿真交互,管理節(jié)點(diǎn)與各仿真節(jié)點(diǎn)通過FTP 和TCP/IP協(xié)議進(jìn)行資源傳遞、指令和狀態(tài)交互。管理節(jié)點(diǎn)中包含的軟件主要有仿真遷移服 務(wù)器、中心仿真狀態(tài)鏡像庫和仿真資源庫,仿真節(jié)點(diǎn)中包含的軟件主要有仿真遷移客戶端、 分布式仿真平臺、本地仿真模型和本地仿真狀態(tài)鏡像庫。在仿真節(jié)點(diǎn)中,分布式仿真平臺負(fù) 責(zé)提供仿真模型的運(yùn)行環(huán)境和通訊支撐,并向仿真遷移系統(tǒng)提供仿真運(yùn)行控制接口,可以 實(shí)現(xiàn)仿真運(yùn)行初始化、仿真模型調(diào)度、加入/退出聯(lián)邦、仿真狀態(tài)查詢、仿真運(yùn)行控制(如開 始運(yùn)行、暫停運(yùn)行、繼續(xù)運(yùn)行和停止運(yùn)行)等功能。仿真模型提供兩個(gè)接口,其一是仿真狀態(tài)鏡像自動(dòng)輸出接口,用于運(yùn)行過程中的 對外輸出帶有狀態(tài)標(biāo)簽的完整仿真狀態(tài)鏡像;其二仿真狀態(tài)鏡像更新接口,用于更新模型 當(dāng)前的所有狀態(tài),使得仿真模型能夠以一個(gè)新的狀態(tài)起點(diǎn)進(jìn)行運(yùn)行。本發(fā)明主要由仿真遷移服務(wù)器和仿真遷移客戶端組成。仿真遷移服務(wù)器主要負(fù)責(zé)仿真網(wǎng)格中的仿真資源的分發(fā)、仿真過程的運(yùn)行控制 (包括開始、暫停、繼續(xù)和停止等)、仿真節(jié)點(diǎn)運(yùn)行情況的實(shí)時(shí)監(jiān)測與自動(dòng)異常處理、仿真 節(jié)點(diǎn)遷移和恢復(fù)的管理和調(diào)度、基于實(shí)時(shí)內(nèi)存數(shù)據(jù)庫的中心仿真狀態(tài)鏡像庫的創(chuàng)建、分布 式同步和管理等功能,仿真遷移服務(wù)器的處理過程如圖2所示,具體處理步驟如下(1)啟動(dòng)服務(wù)器端軟件;(2)創(chuàng)建仿真資源庫;(3)創(chuàng)建中心仿真狀態(tài)鏡像庫,并初始化;(4)通知客戶端創(chuàng)建仿真運(yùn)行;(5)等待接收客戶端信息和數(shù)據(jù);(5. 1)如果接收到客戶端狀態(tài)鏡像,則將客戶端狀態(tài)鏡像匯集到中心仿真狀態(tài)進(jìn) 行數(shù)據(jù)庫;(5. 2)如果接收到客戶端仿真資源請求信息,則通知客戶端下載仿真資源;(5. 3)如果接收到客戶端狀態(tài)鏡像請求信息,則通知客戶端下載狀態(tài)鏡像數(shù)據(jù);(5. 3)如果接收到客戶端運(yùn)行信息,則對客戶端運(yùn)行信息進(jìn)行分類處理;(6)客戶端運(yùn)行信息進(jìn)行分類處理;(6. 1)如果接收到客戶端節(jié)點(diǎn)運(yùn)行信息,則判斷是否有節(jié)點(diǎn)發(fā)生故障,如果沒有仿 真節(jié)點(diǎn)發(fā)生故障就繼續(xù)等待接收信息和數(shù)據(jù);如果有仿真節(jié)點(diǎn)發(fā)生故障則通知所有客戶端 暫停仿真運(yùn)行,制定遷移策略并確定遷移節(jié)點(diǎn),通知需要進(jìn)行遷移的目的客戶端下載仿真 資源;(6. 2)如果接收到客戶端節(jié)點(diǎn)負(fù)載信息,則判斷是否有節(jié)點(diǎn)負(fù)載過重,如果沒有節(jié) 點(diǎn)負(fù)載過重就繼續(xù)等待接收信息和數(shù)據(jù);如果有仿真節(jié)點(diǎn)負(fù)載過重,則通知所有客戶端暫停 仿真運(yùn)行,制定遷移策略并確定遷移節(jié)點(diǎn),通知需要進(jìn)行遷移的目的客戶端下載仿真資源;(6. 3)如果接收到節(jié)點(diǎn)準(zhǔn)備信息,則判斷是否所有遷移節(jié)點(diǎn)準(zhǔn)備就緒,如果,如果 不是所有節(jié)點(diǎn)都準(zhǔn)備就緒就繼續(xù)等待接收信息和數(shù)據(jù);如果所有遷移節(jié)點(diǎn)準(zhǔn)備就緒則通知新啟動(dòng)客戶端開始仿真運(yùn)行,其他客戶端繼續(xù)仿真運(yùn)行。仿真遷移客戶端主要負(fù)責(zé)向仿真遷移服務(wù)器實(shí)時(shí)匯報(bào)仿真節(jié)點(diǎn)運(yùn)行情況、根據(jù)仿 真遷移服務(wù)器控制指令信息完成仿真運(yùn)行控制和節(jié)點(diǎn)遷移與恢復(fù)、從仿真資源庫下載仿真 資源、創(chuàng)建基于內(nèi)存數(shù)據(jù)庫的本地狀態(tài)鏡像庫,實(shí)時(shí)接受本地仿真模型的狀態(tài)更新,以及完 成與中心仿真狀態(tài)鏡像庫的實(shí)時(shí)同步,仿真遷移客戶端的處理過程如圖3所示,具體處理 步驟如下(1)啟動(dòng)客戶端軟件;(2)創(chuàng)建本地狀態(tài)鏡像庫并初始化;(3)向服務(wù)器端報(bào)告客戶端運(yùn)行信息;(4)接收服務(wù)器段信息和數(shù)據(jù);(5)如果接收到是仿真資源數(shù)據(jù),則根據(jù)狀態(tài)標(biāo)簽加載本地狀態(tài)鏡像,加入仿真運(yùn) 行,并通知服務(wù)器端該節(jié)點(diǎn)準(zhǔn)備就緒;(6)如果接收到本地狀態(tài)鏡像數(shù)據(jù),則將狀態(tài)鏡像數(shù)據(jù)寫入本地狀態(tài)鏡像數(shù)據(jù) 庫;(7)如果接收的是服務(wù)器段的控制信息,則根據(jù)信息類型分別處理;(7. 1)如果是仿真遷移信息,則更新本地狀態(tài)鏡像數(shù)據(jù),并向服務(wù)器端請求仿真資 源;(7. 2)如果是開始運(yùn)行信息,則向服務(wù)器端請求仿真資源;(7. 3)如果是繼續(xù)運(yùn)行信息,則繼續(xù)仿真運(yùn)行;(7. 4)如果是暫停運(yùn)行信息,則暫停仿真運(yùn)行;存儲于內(nèi)存數(shù)據(jù)庫中的仿真狀態(tài)鏡像庫(包括仿真管理節(jié)點(diǎn)中的中心仿真狀態(tài) 鏡像庫和仿真節(jié)點(diǎn)中的本地仿真狀態(tài)鏡像庫)的存儲結(jié)構(gòu)如圖4所示。兩類仿真狀態(tài)鏡 像庫具體存儲內(nèi)容如下(其中T為仿真步長,m, n,k為正整數(shù),可以根據(jù)具體應(yīng)用進(jìn)行調(diào) 整)中心仿真狀態(tài)鏡像庫存儲了所有參與仿真的仿真模型的狀態(tài)鏡像,存儲兩類時(shí)間 間隔的狀態(tài)鏡像,即從仿真開始到現(xiàn)在的時(shí)間間隔為n*k*T的m個(gè)時(shí)刻的全局仿真狀態(tài)鏡 像,以及從共保存從(m-l)*n*k*T開始到現(xiàn)在的時(shí)間間隔為k*T的η個(gè)時(shí)刻的所有全局仿 真狀態(tài)鏡像。本地仿真狀態(tài)鏡像存儲了本地仿真模型的狀態(tài)鏡像,是全局仿真狀態(tài)鏡像的子 集,存儲兩類時(shí)間間隔的狀態(tài)鏡像,即從(m-l)*n*k*T開始到現(xiàn)在的時(shí)間間隔為k*T的η個(gè) 時(shí)刻的本地仿真狀態(tài)鏡像,以及從(m*n-l)*k*T開始到現(xiàn)在的時(shí)間間隔為TWk個(gè)時(shí)刻的 本地仿真狀態(tài)鏡像。所述的仿真狀態(tài)鏡像指的是仿真實(shí)體狀態(tài)發(fā)生變化時(shí),除外部輸入信息和自身不 變的屬性參數(shù)以外的仿真實(shí)體自身的所有狀態(tài)信息,包括的內(nèi)部中間信息、內(nèi)部狀態(tài)信息 和對外發(fā)布的狀態(tài)信息。所述的狀態(tài)鏡像標(biāo)簽指的是基于仿真步長的仿真運(yùn)行推進(jìn)的邏輯時(shí)間信息。所述的本地仿真狀態(tài)鏡像庫指的是仿真節(jié)點(diǎn)本地內(nèi)存數(shù)據(jù)庫中存儲的本地仿真 模型的仿真狀態(tài)鏡像。所述的中心仿真狀態(tài)鏡像庫指的是管理節(jié)點(diǎn)內(nèi)存數(shù)據(jù)庫中存儲的所有參與仿真的仿真模型的仿真狀態(tài)鏡像。所述的仿真資源指的是仿真運(yùn)行所需要的靜態(tài)仿真模型和相關(guān)文件等。具體實(shí)施步驟如下(1)各仿真節(jié)點(diǎn)通過HLA/RTI進(jìn)行仿真交互,管理節(jié)點(diǎn)與各仿真節(jié)點(diǎn)通過FTP和 TCP/IP協(xié)議進(jìn)行資源傳遞、指令和狀態(tài)交互,在管理節(jié)點(diǎn)中安裝仿真遷移服務(wù)器,在各仿真 節(jié)點(diǎn)中安裝仿真遷移客戶端;(2)運(yùn)行仿真遷移服務(wù)器和仿真遷移客戶端,仿真遷移服務(wù)器創(chuàng)建仿真資源庫和 基于內(nèi)存數(shù)據(jù)庫中心仿真狀態(tài)鏡像庫,并通知仿真遷移客戶端;仿真遷移客戶端接到通知 后創(chuàng)建基于內(nèi)存數(shù)據(jù)庫本地狀態(tài)鏡像庫,根據(jù)仿真遷移服務(wù)器指令下載仿真資源并開展仿 真運(yùn)行,同時(shí)定時(shí)向仿真遷移服務(wù)器匯報(bào)仿真節(jié)點(diǎn)運(yùn)行狀態(tài);本地仿真狀態(tài)鏡像是全局仿 真狀態(tài)鏡像的子集,存儲了本地仿真模型的小時(shí)間間隔的狀態(tài)鏡像,存儲結(jié)構(gòu)如圖4所示。(3)在仿真運(yùn)行過程中,各仿真節(jié)點(diǎn)的仿真遷移客戶端負(fù)責(zé)實(shí)時(shí)構(gòu)建各仿真節(jié)點(diǎn) 的完整狀態(tài)鏡像,加入狀態(tài)標(biāo)簽后存入基于內(nèi)存數(shù)據(jù)庫本地狀態(tài)鏡像庫進(jìn)行狀態(tài)緩存,并 構(gòu)建本地狀態(tài)鏡像集合,同時(shí)通過網(wǎng)絡(luò)實(shí)時(shí)將所有本地存儲的狀態(tài)鏡像匯集到基于內(nèi)存數(shù) 據(jù)庫中心仿真狀態(tài)鏡像庫中;(4)當(dāng)仿真遷移服務(wù)器根據(jù)各仿真節(jié)點(diǎn)的運(yùn)行狀態(tài)檢測出有仿真節(jié)點(diǎn)發(fā)生故障 或運(yùn)行負(fù)載過重,仿真遷移服務(wù)器向所有仿真遷移客戶端發(fā)出暫停仿真運(yùn)行指令,對基于 內(nèi)存數(shù)據(jù)庫中心仿真狀態(tài)鏡像庫所有的狀態(tài)標(biāo)簽進(jìn)行比對,從所有仿真節(jié)點(diǎn)均具有一致的 狀態(tài)標(biāo)簽的集合中選擇最晚時(shí)間狀態(tài)標(biāo)簽作為仿真重新運(yùn)行的狀態(tài)標(biāo)簽起點(diǎn),進(jìn)而確定需 要遷移或狀態(tài)回退的節(jié)點(diǎn)列表,以及遷移的目的節(jié)點(diǎn),目的遷移節(jié)點(diǎn)為異地節(jié)點(diǎn)或本地節(jié)占.
^ \\\ (5)在進(jìn)行仿真節(jié)點(diǎn)異地遷移時(shí),仿真遷移服務(wù)器向所有目的遷移節(jié)點(diǎn)發(fā)送仿真 遷移信息,通知仿真遷移客戶端進(jìn)行仿真資源請求和重新運(yùn)行的狀態(tài)標(biāo)簽起點(diǎn),仿真遷移 客戶端從基于內(nèi)存數(shù)據(jù)庫中心仿真狀態(tài)鏡像庫中快速下載所需的狀態(tài)鏡像,狀態(tài)鏡像更新 完畢后,該仿真節(jié)點(diǎn)加載新狀態(tài)鏡像,并將新狀態(tài)鏡像作為仿真繼續(xù)運(yùn)行起點(diǎn),并報(bào)告仿真 遷移服務(wù)器,等待仿真遷移服務(wù)器指令,待所有仿真節(jié)點(diǎn)準(zhǔn)備就緒再一起進(jìn)行仿真;(6)在進(jìn)行本地遷移時(shí),仿真遷移客戶端根據(jù)重新運(yùn)行的狀態(tài)標(biāo)簽起點(diǎn),直接從基 于內(nèi)存數(shù)據(jù)庫本地狀態(tài)鏡像庫加載重新運(yùn)行的狀態(tài)鏡像作為仿真繼續(xù)運(yùn)行起點(diǎn),并報(bào)告仿 真遷移服務(wù)器,等待仿真遷移服務(wù)器指令,待所有仿真節(jié)點(diǎn)準(zhǔn)備就緒再一起進(jìn)行仿真;(7)仿真遷移服務(wù)器收集所有參加仿真的仿真遷移客戶端的狀態(tài)報(bào)告信息,當(dāng)所 有遷移節(jié)點(diǎn)準(zhǔn)備就緒,則遷移節(jié)點(diǎn)重新開始仿真運(yùn)行,其余未遷移節(jié)點(diǎn)繼續(xù)運(yùn)行。發(fā)明未詳細(xì)說明部分屬本領(lǐng)域技術(shù)人員公知常識。
權(quán)利要求
一種基于內(nèi)存數(shù)據(jù)庫的仿真網(wǎng)格節(jié)點(diǎn)快速遷移方法,其特征在于包括以下步驟(1)各仿真節(jié)點(diǎn)通過HLA/RTI進(jìn)行仿真交互,管理節(jié)點(diǎn)與各仿真節(jié)點(diǎn)通過FTP和TCP/IP協(xié)議進(jìn)行資源傳遞、指令和狀態(tài)交互,在管理節(jié)點(diǎn)中安裝仿真遷移服務(wù)器,在各仿真節(jié)點(diǎn)中安裝仿真遷移客戶端;(2)運(yùn)行仿真遷移服務(wù)器和仿真遷移客戶端,仿真遷移服務(wù)器創(chuàng)建仿真資源庫和基于內(nèi)存數(shù)據(jù)庫中心仿真狀態(tài)鏡像庫,并通知仿真遷移客戶端;仿真遷移客戶端接到通知后創(chuàng)建基于內(nèi)存數(shù)據(jù)庫本地狀態(tài)鏡像庫,根據(jù)仿真遷移服務(wù)器指令下載仿真資源并開展仿真運(yùn)行,同時(shí)定時(shí)向仿真遷移服務(wù)器匯報(bào)仿真節(jié)點(diǎn)運(yùn)行狀態(tài);(3)在仿真運(yùn)行過程中,各仿真節(jié)點(diǎn)的仿真遷移客戶端負(fù)責(zé)實(shí)時(shí)構(gòu)建各仿真節(jié)點(diǎn)的完整狀態(tài)鏡像,加入狀態(tài)標(biāo)簽后存入基于內(nèi)存數(shù)據(jù)庫本地狀態(tài)鏡像庫進(jìn)行狀態(tài)緩存,并構(gòu)建本地狀態(tài)鏡像集合,同時(shí)通過網(wǎng)絡(luò)實(shí)時(shí)將所有本地存儲的狀態(tài)鏡像匯集到基于內(nèi)存數(shù)據(jù)庫中心仿真狀態(tài)鏡像庫中;(4)當(dāng)仿真遷移服務(wù)器根據(jù)各仿真節(jié)點(diǎn)的運(yùn)行狀態(tài)檢測出有仿真節(jié)點(diǎn)發(fā)生故障或運(yùn)行負(fù)載過重,仿真遷移服務(wù)器向所有仿真遷移客戶端發(fā)出暫停仿真運(yùn)行指令,對基于內(nèi)存數(shù)據(jù)庫中心仿真狀態(tài)鏡像庫所有的狀態(tài)標(biāo)簽進(jìn)行比對,從所有仿真節(jié)點(diǎn)均具有一致的狀態(tài)標(biāo)簽的集合中選擇最晚時(shí)間狀態(tài)標(biāo)簽作為仿真重新運(yùn)行的狀態(tài)標(biāo)簽起點(diǎn),進(jìn)而確定需要遷移或狀態(tài)回退的節(jié)點(diǎn)列表,以及遷移的目的節(jié)點(diǎn),目的遷移節(jié)點(diǎn)為異地節(jié)點(diǎn)或本地節(jié)點(diǎn);(5)在進(jìn)行仿真節(jié)點(diǎn)異地遷移時(shí),仿真遷移服務(wù)器向所有目的遷移節(jié)點(diǎn)發(fā)送仿真遷移信息,通知仿真遷移客戶端進(jìn)行仿真資源請求和重新運(yùn)行的狀態(tài)標(biāo)簽起點(diǎn),仿真遷移客戶端從基于內(nèi)存數(shù)據(jù)庫中心仿真狀態(tài)鏡像庫中快速下載所需的狀態(tài)鏡像,狀態(tài)鏡像更新完畢后,該仿真節(jié)點(diǎn)加載新狀態(tài)鏡像,并將新狀態(tài)鏡像作為仿真繼續(xù)運(yùn)行起點(diǎn),并報(bào)告仿真遷移服務(wù)器,等待仿真遷移服務(wù)器指令,待所有仿真節(jié)點(diǎn)準(zhǔn)備就緒再一起進(jìn)行仿真;(6)在進(jìn)行本地遷移時(shí),仿真遷移客戶端根據(jù)重新運(yùn)行的狀態(tài)標(biāo)簽起點(diǎn),直接從基于內(nèi)存數(shù)據(jù)庫本地狀態(tài)鏡像庫加載重新運(yùn)行的狀態(tài)鏡像作為仿真繼續(xù)運(yùn)行起點(diǎn),并報(bào)告仿真遷移服務(wù)器,等待仿真遷移服務(wù)器指令,待所有仿真節(jié)點(diǎn)準(zhǔn)備就緒再一起進(jìn)行仿真;(7)仿真遷移服務(wù)器收集所有參加仿真的仿真遷移客戶端的狀態(tài)報(bào)告信息,當(dāng)所有遷移節(jié)點(diǎn)準(zhǔn)備就緒,則遷移節(jié)點(diǎn)重新開始仿真運(yùn)行,其余未遷移節(jié)點(diǎn)繼續(xù)運(yùn)行。
全文摘要
本發(fā)明公開了一種基于內(nèi)存數(shù)據(jù)庫的仿真網(wǎng)格節(jié)點(diǎn)快速遷移方法,利用內(nèi)存數(shù)據(jù)庫實(shí)時(shí)建立各仿真節(jié)點(diǎn)完整的狀態(tài)鏡像集,并進(jìn)行狀態(tài)鏡像的分布式收集與管理,通過設(shè)計(jì)仿真網(wǎng)格中的仿真運(yùn)行管理、狀態(tài)監(jiān)測和節(jié)點(diǎn)遷移與恢復(fù)等機(jī)制,完成故障仿真節(jié)點(diǎn)探測、仿真過程暫停運(yùn)行控制、故障節(jié)點(diǎn)或進(jìn)程遷移、故障節(jié)點(diǎn)狀態(tài)鏡像注入和仿真過程繼續(xù)運(yùn)行控制,從而實(shí)現(xiàn)仿真網(wǎng)格中故障節(jié)點(diǎn)的快速遷移。
文檔編號G06F17/30GK101930463SQ20101026222
公開日2010年12月29日 申請日期2010年8月25日 優(yōu)先權(quán)日2010年8月25日
發(fā)明者冷傳航, 廖馨, 張灝龍, 施國強(qiáng), 李爍, 趙雯, 鄭宏濤 申請人:中國運(yùn)載火箭技術(shù)研究院