[發(fā)明專利]虛擬機容錯方法以及設(shè)備有效
| 申請?zhí)枺?/td> | 201410085945.8 | 申請日: | 2014-03-10 |
| 公開(公告)號: | CN103885857B | 公開(公告)日: | 2017-05-17 |
| 發(fā)明(設(shè)計)人: | 王峻青;尹殷;田媛媛 | 申請(專利權(quán))人: | 中標(biāo)軟件有限公司 |
| 主分類號: | G06F11/14 | 分類號: | G06F11/14 |
| 代理公司: | 北京智匯東方知識產(chǎn)權(quán)代理事務(wù)所(普通合伙)11391 | 代理人: | 康正德,薛峰 |
| 地址: | 200030 上海*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 虛擬機 容錯 方法 以及 設(shè)備 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及虛擬機容錯領(lǐng)域,特別是涉及虛擬機容錯方法以及設(shè)備。
背景技術(shù)
隨著各種云計算平臺得到廣泛應(yīng)用,對系統(tǒng)高可用的要求也逐步提高。提高系統(tǒng)可用性的常用方法之一就是系統(tǒng)容錯,系統(tǒng)容錯的技術(shù)包括:硬件冗余、軟件備份和檢查點、虛擬機容錯。以上系統(tǒng)容錯的技術(shù)中,虛擬機容錯是目前云時代系統(tǒng)容錯的研究熱點。
對虛擬機進行容錯保護時,需要先創(chuàng)建與被保護的虛擬機完全一樣的副本,稱為備用虛擬機。在主虛擬機(即被保護的虛擬機)正常運行時,備用虛擬機保持與主虛擬機的同步。當(dāng)主虛擬機由于發(fā)生故障,備用虛擬機能夠立即代替主虛擬機運行,保證虛擬機的對外服務(wù)不會中斷。現(xiàn)有技術(shù)中,主虛擬機與備用虛擬機能夠?qū)崿F(xiàn)基本的虛擬機容錯功能,但現(xiàn)有技術(shù)存在如下缺點:
在主虛擬機負載較重并且系統(tǒng)事件頻繁的時候,主虛擬機和備用虛擬機之間的同步時間增長,若此時同步中斷,容錯功能會失敗,即主虛擬機發(fā)生故障后,備用虛擬機無法正常運行,導(dǎo)致無法實現(xiàn)對系統(tǒng)高可用的要求。
發(fā)明內(nèi)容
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的虛擬機容錯方法以及相應(yīng)的設(shè)備。
依據(jù)本發(fā)明的一個方面,提供了一種虛擬機容錯方法,在與主虛擬機相應(yīng)的備用虛擬機中設(shè)有預(yù)取緩沖區(qū),用于接收來自所述主虛擬機的同步數(shù)據(jù)并進行緩存,包括:判斷所述預(yù)取緩沖區(qū)中的緩存數(shù)據(jù)是否是完整的文件;根據(jù)判斷結(jié)果確定所述備用虛擬機的同步完成狀態(tài),并將所述預(yù)取緩沖區(qū)中的緩存數(shù)據(jù)寫入相關(guān)地址;當(dāng)主虛擬機發(fā)生故障時,根據(jù)與故障發(fā)生時間最相近一次確定的所述備用虛擬機處于的同步完成狀態(tài)啟動容錯功能。
可選地,根據(jù)判斷結(jié)果確定所述備用虛擬機的同步完成狀態(tài),并將所述預(yù)取緩沖區(qū)中的緩存數(shù)據(jù)寫入相關(guān)地址,包括:若否,拒絕將所述預(yù)取緩沖區(qū)中的緩存數(shù)據(jù)寫入所述相關(guān)地址,確定所述備用虛擬機處于上一同步完成狀態(tài),其中,所述處于上一同步完成狀態(tài)是指所述備用虛擬機中存儲的數(shù)據(jù)與上一次同步完成狀態(tài)時存儲的數(shù)據(jù)相同;若是,將所述緩存數(shù)據(jù)寫入所述相關(guān)地址,確定所述備用虛擬機處于與所述上一同步完成狀態(tài)不同的下一同步完成狀態(tài)。
可選地,所述緩存數(shù)據(jù)包括下列至少任意之一:內(nèi)存臟頁數(shù)據(jù);設(shè)備數(shù)據(jù)。
可選地,所述主虛擬機與所述備用虛擬機通過傳輸控制協(xié)議TCP進行連接。
可選地,所述主虛擬機以及所述備用虛擬機均采用模擬處理器的自由軟件QEMU執(zhí)行運行操作。
可選地,判斷所述預(yù)取緩沖區(qū)中的緩存數(shù)據(jù)是否是完整的文件,包括:監(jiān)測到所述主虛擬機與所述備用虛擬機的數(shù)據(jù)同步過程停止時,判斷所述預(yù)取緩沖區(qū)中的緩存數(shù)據(jù)是否是完整的文件。
依據(jù)本發(fā)明的另一個方面,還提供了一種備用虛擬機,其中,所述備用虛擬機中設(shè)有預(yù)取緩沖區(qū),用于接收來自所述主虛擬機的同步數(shù)據(jù)并進行緩存,包括:判斷器,配置為判斷預(yù)取緩沖區(qū)中的緩存數(shù)據(jù)是否是完整的文件;確定器,配置為根據(jù)判斷結(jié)果確定所述備用虛擬機的同步完成狀態(tài);寫入器,配置為根據(jù)判斷結(jié)果將所述預(yù)取緩沖區(qū)中的緩存數(shù)據(jù)寫入相關(guān)地址;啟動器,配置為當(dāng)主虛擬機發(fā)生故障時,根據(jù)與故障發(fā)生時間最相近一次所述確定器確定的所述備用虛擬機處于的同步完成狀態(tài)啟動容錯功能。
可選地,所述備用虛擬機還包括:監(jiān)測器,配置為監(jiān)測所述主虛擬機與所述備用虛擬機的數(shù)據(jù)同步過程;以及監(jiān)測到所述主虛擬機與所述備用虛擬機的數(shù)據(jù)同步過程停止時,觸發(fā)所述判斷器判斷所述預(yù)取緩沖區(qū)中的緩存數(shù)據(jù)是否完整。
依據(jù)本發(fā)明實施例能夠判斷備用虛擬機中用于接收及緩存同步數(shù)據(jù)的預(yù)取緩沖區(qū)中的緩存數(shù)據(jù)是否是完整的文件,并根據(jù)判斷結(jié)果確定備用虛擬機的同步完成狀態(tài)。繼而,在主虛擬機發(fā)生故障時,根據(jù)確定的同步完成狀態(tài)啟動容錯功能。其中,備用虛擬機的預(yù)取緩沖區(qū)能夠預(yù)取緩存數(shù)據(jù)同步過程中主虛擬機發(fā)送至備用虛擬機的同步數(shù)據(jù)。因此,若同步中斷時,預(yù)取緩沖區(qū)中的同步數(shù)據(jù)不完整,本發(fā)明實施例能夠確定備用虛擬機處于上一同步完成狀態(tài)。若同步中斷時,預(yù)取緩沖區(qū)中的同步數(shù)據(jù)為完整的文件,則能夠?qū)⑼綌?shù)據(jù)寫入相關(guān)地址。在保證同步數(shù)據(jù)的實時性的前提下,本發(fā)明實施例能夠有效避免因同步中斷,同步數(shù)據(jù)不完整導(dǎo)致主虛擬機發(fā)生故障時,備用虛擬機未處于同步完成狀態(tài),無法啟動容錯功能進行容錯的惡劣后果。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中標(biāo)軟件有限公司,未經(jīng)中標(biāo)軟件有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410085945.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





