[發(fā)明專利]一種基于消息日志的容錯集群系統(tǒng)和方法有效
| 申請?zhí)枺?/td> | 200710077179.0 | 申請日: | 2007-09-17 |
| 公開(公告)號: | CN101145946A | 公開(公告)日: | 2008-03-19 |
| 發(fā)明(設(shè)計)人: | 王繼剛;謝世波;李翌 | 申請(專利權(quán))人: | 中興通訊股份有限公司 |
| 主分類號: | H04L12/24 | 分類號: | H04L12/24;H04L12/26;H04L1/22 |
| 代理公司: | 深圳創(chuàng)友專利商標(biāo)代理有限公司 | 代理人: | 羅瑤 |
| 地址: | 518057廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 消息 日志 容錯 集群 系統(tǒng) 方法 | ||
1.一種基于消息日志的容錯集群系統(tǒng),其特征在于,所述集群系統(tǒng)包括多個計算節(jié)點(diǎn),每個計算節(jié)點(diǎn)上運(yùn)行著多個應(yīng)用進(jìn)程,每個應(yīng)用進(jìn)程都對應(yīng)設(shè)有至少一個備用進(jìn)程,且備用進(jìn)程與其對應(yīng)的應(yīng)用進(jìn)程不在一個計算節(jié)點(diǎn)上;各應(yīng)用進(jìn)程及其備用進(jìn)程均記錄有該應(yīng)用進(jìn)程所發(fā)送消息的消息日志,備用進(jìn)程用于在計算節(jié)點(diǎn)發(fā)生故障時通過激活消息日志取代應(yīng)用進(jìn)程。
2.根據(jù)權(quán)利要求1所述的基于消息日志的容錯集群系統(tǒng),其特征在于,所述應(yīng)用進(jìn)程和備用進(jìn)程中還設(shè)有用于記錄給其它進(jìn)程所發(fā)送消息的最大發(fā)送序列號列表,以及用于記錄從其它進(jìn)程接收消息的接收序列號列表。
3.根據(jù)權(quán)利要求2所述的基于消息日志的容錯集群系統(tǒng),其特征在于,所述的最大發(fā)送序列號列表、接收序列號列表、進(jìn)程所發(fā)送消息的消息日志保存在進(jìn)程所屬計算節(jié)點(diǎn)的主存中。
4.一種基于消息日志的容錯方法,其特征在于,所述方法包括以下處理過程:
1)設(shè)定檢查點(diǎn),應(yīng)用進(jìn)程將其狀態(tài)保存到檢查點(diǎn)中,并將檢查點(diǎn)信息同步到備用進(jìn)程;
2)發(fā)送應(yīng)用進(jìn)程向接收應(yīng)用進(jìn)程發(fā)送消息,并對發(fā)送的消息以消息日志的方式保持到發(fā)送應(yīng)用進(jìn)程和接收應(yīng)用進(jìn)程中;
3)當(dāng)計算節(jié)點(diǎn)發(fā)生故障,計算節(jié)點(diǎn)中失效的應(yīng)用進(jìn)程對應(yīng)的備用進(jìn)程通過保存的檢查點(diǎn)和消息日志激活,并取代應(yīng)用進(jìn)程的工作。
5.根據(jù)權(quán)利要求4所述的基于消息日志的容錯方法,其特征在于,所述步驟1)中具體包括以下處理過程:
11)設(shè)定檢查點(diǎn),應(yīng)用進(jìn)程將其狀態(tài)保存到檢查點(diǎn)中,并將檢查點(diǎn)信息給其備用進(jìn)程;
12)備用進(jìn)程收到檢查點(diǎn)信息后,用新的檢查點(diǎn)信息替代舊的檢查點(diǎn)信息,并向應(yīng)用進(jìn)程反饋確認(rèn)信息。
6.根據(jù)權(quán)利要求5所述的基于消息日志的容錯方法,其特征在于,所述步驟12)之后還包括以下處理步驟:
13)應(yīng)用進(jìn)程通過向更新檢查點(diǎn)前所有與其有消息交互的應(yīng)用進(jìn)程以及其備份進(jìn)程發(fā)送垃圾收集信息,收到垃圾收集信息的進(jìn)程根據(jù)信息內(nèi)容刪除消息日志中的歷史垃圾消息。
7.根據(jù)權(quán)利要求4所述的基于消息日志的容錯方法,其特征在于,其特征在于,所述步驟2)具體包括以下處理過程:
21)發(fā)送應(yīng)用進(jìn)程向接收應(yīng)用進(jìn)程發(fā)送帶有消息發(fā)送序列號的通信請求;
22)接收應(yīng)用進(jìn)程收到請求后,根據(jù)請求中帶有的消息發(fā)送序列號在接收應(yīng)用進(jìn)程的消息日志中查詢,對于確認(rèn)該消息沒有收到過,則為待接收的消息分配接收序列號,并向發(fā)送應(yīng)用進(jìn)程反饋;
23)發(fā)送應(yīng)用進(jìn)程向接收應(yīng)用進(jìn)程發(fā)送消息。
8.根據(jù)權(quán)利要求7所述的基于消息日志的容錯方法,其特征在于,所述步驟23)具體為:
當(dāng)發(fā)送應(yīng)用進(jìn)程與接收應(yīng)用進(jìn)程在同一計算節(jié)點(diǎn)時,
231)發(fā)送應(yīng)用進(jìn)程將消息、發(fā)送序列號、接收序列號發(fā)送到發(fā)送應(yīng)用進(jìn)程的備份進(jìn)程;
232)發(fā)送應(yīng)用進(jìn)程的備份進(jìn)程收到消息后,將內(nèi)容保存到其消息日志中,并向發(fā)送應(yīng)用進(jìn)程發(fā)送確認(rèn)信息;
233)發(fā)送應(yīng)用進(jìn)程向接收應(yīng)用進(jìn)程發(fā)送消息;
當(dāng)發(fā)送應(yīng)用進(jìn)程與接收應(yīng)用進(jìn)程在不同的計算節(jié)點(diǎn)時,
234)發(fā)送應(yīng)用進(jìn)程將待發(fā)送消息、接收序列號保存在其消息日志中;
235)發(fā)送應(yīng)用進(jìn)程向接收應(yīng)用進(jìn)程發(fā)送消息。
9.根據(jù)權(quán)利要求4所述的基于消息日志的容錯方法,其特征在于,所述步驟3)具體包括以下處理過程:
31)當(dāng)計算節(jié)點(diǎn)發(fā)生故障,計算節(jié)點(diǎn)中失效的應(yīng)用進(jìn)程對應(yīng)的備用進(jìn)程通過保存的檢查點(diǎn)和消息日志激活,并向其它應(yīng)用進(jìn)程發(fā)送廣播消息;
32)其它應(yīng)用進(jìn)程收到廣播消息后,向備用進(jìn)程發(fā)送之前已發(fā)送給失效的應(yīng)用進(jìn)程的消息,并附有各消息的接收序列號和最大接收序列號;
33)被激活的備份進(jìn)程從收到的接收序列號中找到最大值,開始重新分配接收序列號,完成取代應(yīng)用進(jìn)程的工作。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中興通訊股份有限公司,未經(jīng)中興通訊股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710077179.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





