[發明專利]集群腦裂處理方法和裝置在審
| 申請號: | 201410515113.5 | 申請日: | 2014-09-29 |
| 公開(公告)號: | CN105450717A | 公開(公告)日: | 2016-03-30 |
| 發明(設計)人: | 胡智江 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 北京安信方達知識產權代理有限公司 11262 | 代理人: | 解婷婷;龍洪 |
| 地址: | 518057 廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 集群 處理 方法 裝置 | ||
技術領域
本發明涉及計算機應用領域,尤其涉及一種集群腦裂處理方法和裝置。
背景技術
高可用集群是以減少服務中斷時間為目的的服務器集群技術。正在運行服務的節點稱為主用機。不在運行服務,但后續可能接替主用機運行服務的節點稱為備用機。當主用機故障后,備用機就會接手繼續運行服務,達到提供持續的服務的效果。
節點間互聯網絡稱為心跳線。通過心跳線,集群中的每個節點都可以跟任何其它節點進行通信,通過通信協議還可以獲知當前集群中有哪些節點(下文將提供通信功能的模塊稱為“心跳通信模塊”)。一旦某個節點發現跟另外一個節點通信出現問題,則有可能是心跳線故障了,也有可能是對端節點故障了。總之,集群可能會分裂為若干個子集。業界將這種情況叫做“腦裂”。當某個子集中的節點無法了解其他子集失去聯系的具體原因時,它不能猜測原因,更不能基于猜測來決定要不要運行服務(下文將控制服務啟動或停止的模塊稱為“服務控制邏輯模塊”),否則集群可能會出現丟失主用或出現多主的問題。
舉兩個節點A,B組成集群為例,A上正運行某服務,B作為備機。當節點B發現無法跟A通信時,如果它猜測是網絡故障,則B會保持備機角色不變。但如果實際上是A節點故障,那么集群將失去主用,上層應用無法繼續運行。反之,如果B節點猜測是A節點故障,則B將接替A來運行服務。但如果只是網絡故障,A還在正常運行的話,則集群出現了A,B兩個主用機。多個主用機的情況也是集群需要極力避免的,因為多個主用機互相競爭資源,嚴重情況下可能導致數據被破壞。
綜上,在集群發生腦裂時,如何繼續對集群進行控制存在問題。
發明內容
本發明提供了一種集群腦裂處理方法和裝置,解決了集群腦裂后的控制問題。
一種集群腦裂處理方法,包括:
在集群發生腦裂時,選取該集群中唯一允許繼續服務的子集;
控制除所述唯一允許繼續服務的子集外的其他子集中的節點停止工作。
優選的,在集群發生腦裂時,選取該集群中唯一允許繼續服務的子集包括:
選取在腦裂發生前的主要節點所在子集為期望的主要子集;
選取節點數量大于腦裂發生前集群節點數量一半的子集作為唯一大子集;
從所述期望的主要子集和所述唯一大子集中,選擇唯一允許繼續服務的子集。
優選的,該方法還包括:
在集群初始化時,在共享介質上開辟一塊磁盤空間作為判決盤,將所述判決盤分區,將所述集群中的每個節點唯一對應到所述判決盤的一個分區上;
所述集群中的各個節點通過磁盤I/O操作向所述判決盤中對應的分區里寫入當前時間戳;
選擇持續更新時間戳的節點之一作為主要節點。
優選的,該方法還包括:
所述集群中的各個節點在沒有發生腦裂的正常情況下,通過額外的Ethernet網絡周期廣播或組播KeepAlive消息;
選擇持續發出所述KeepAlive消息的節點之一作為主要節點。
優選的,選取在腦裂發生前的主要節點所在子集為期望的主要子集的步驟之后,還包括:
從所述期望的主要子集中指派一個代表節點,指示所述代表節點在第一延遲時間之后通知除所述期望的主要子集外的其他各個子集的全部節點停止工作。
優選的,從所述期望的主要子集和所述唯一大子集中,選擇唯一允許繼續服務的子集包括:
在不存在唯一大子集時,選擇所述期望的主要子集作為唯一允許繼續服務的子集;
在所述期望的主要子集與所述唯一大子集為同一子集時,以該子集作為唯一允許繼續服務的子集;
在所述期望的主要子集與所述唯一大子集為不同子集時,以所述唯一大子集作為唯一允許繼續服務的子集。
優選的,選取節點數量大于腦裂發生前集群節點數量一半的子集作為唯一大子集的步驟之后,還包括:
從所述唯一大子集中選擇一個節點作為唯一大子集代表;
指示所述唯一大子集代表判定所述唯一大子集與所述期望的主要子集為不同子集時,在零時延或第二延遲時間后,通知除所述唯一大子集外的其他子集的全部節點停止工作,所述第二延遲時間小于所述第一延遲時間。
優選的,該方法還包括:
在節點檢測到心跳線通信發生中斷時,中斷該節點底層心跳通信與上層服務控制邏輯間的通信,至達到第一時間長度后,判定腦裂發生,恢復所述底層心跳通信與上層服務控制邏輯間的通信。
優選的,在以所述唯一大子集作為唯一允許繼續服務的子集時,該方法還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410515113.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:智能家居型社區管理網絡系統
- 下一篇:音頻處理裝置及方法





