新四季網

分布式資料庫系統的故障檢測方法及其系統與流程

2024-03-08 05:31:15 1


本發明涉及分布式資料庫領域,尤其涉及一種分布式資料庫系統的故障檢測方法及其系統。



背景技術:

大數據時代,分布式資料庫成為數據存儲的必要基礎設施。分布式資料庫系統存在一些問題,其中,對於大多數應用服務來說,可用性問題是一個基本問題。提供一定程度高可用性服務,是分布式資料庫系統必備的特徵之一。

目前有很多分布式資料庫系統的高可用性方案,常採用單節點高可用性組件(ha組件)進行故障檢測和故障處理。該方案存在單點故障,在高可用性組件本身異常時,將無法提供高可用性服務。

對於高可用性組件多節點部署的分布式高可用性系統,可以解決單點問題。但是,多個高可用性組件節點之間必須確定主備關係,只有主節點可以對故障進行處理,否則多個高可用性節點的操作很容易造成衝突。

在申請號為201210148938.9的專利公開文件中,提出了一種資料庫集群單點故障的監控系統及方法,應用於若干個資料庫的資料庫集群中,所述資料庫包括主庫或從庫,監控系統包括:若干個資料庫代理,至少三個基於分布式協調機制相互通信的協調終端,其中至少三個協調終端中包括一個領導協調終端;一個資料庫代理與資料庫集群中的一個資料庫對應設置在一臺伺服器上,每個資料庫代理中均保存各個協調終端的地址;通過資料庫代理定時檢測對應資料庫的讀寫狀態,領導協調終端根據來自資料庫代理的資料庫讀寫狀態信息,對資料庫集群中的單點故障進行識別,能夠解決現有技術中,分布式mysql資料庫單點故障的解決方案中存在的效率低下的問題。但該方法只有通過領導協調終端進行故障檢測處理,在網絡抖動的情況下容易出現誤檢測。



技術實現要素:

本發明所要解決的技術問題是:提供一種分布式資料庫系統的故障檢測方法及其系統,提高故障檢測的準確性,防止出現誤檢測。

為了解決上述技術問題,本發明採用的技術方案為:一種分布式資料庫系統的故障檢測方法,包括:

ha組件集群中的主節點按照預設的時間周期探測資料庫節點,得到第一探測結果;

若所述第一探測結果為失敗的次數大於等於預設值,則所述主節點發送所述資料庫節點故障確認的通知;

ha組件集群中的至少一個從節點接收所述通知後對所述資料庫節點進行探測,得到第二探測結果;

所述從節點將第二探測結果反饋給主節點;

所述主節點根據所述第二探測結果,判斷所述資料庫節點是否故障。

本發明還涉及一種分布式資料庫系統的故障檢測系統,包括:

第一探測模塊,用於ha組件集群中的主節點按照預設的時間周期探測資料庫節點,得到第一探測結果;

第一發送模塊,用於若所述第一探測結果為失敗的次數大於等於預設值,則所述主節點發送所述資料庫節點故障確認的通知;

第二探測模塊,用於ha組件集群中的至少一個從節點接收所述通知後對所述資料庫節點進行探測,得到第二探測結果;

反饋模塊,用於所述從節點將第二探測結果反饋給主節點;

第一判斷模塊,用於所述主節點根據所述第二探測結果,判斷所述資料庫節點是否故障。

本發明的有益效果在於:同一時刻只有主節點和資料庫節點交互,可有效保證資料庫集群狀態數據的一致性;採用主節點進行故障探測,從節點輔助故障確認的故障檢測策略,能有效防止發生誤檢測,提高了故障檢測的準確性。

附圖說明

圖1為本發明一種分布式資料庫系統的故障檢測方法的流程圖;

圖2為本發明實施例一的分布式資料庫系統的架構示意圖;

圖3為本發明實施例一的方法流程圖;

圖4為本發明一種分布式資料庫系統的故障檢測系統的結構示意圖;

圖5為本發明實施例二的系統結構示意圖。

標號說明:

1、資料庫集群;2、ha組件集群;3、資料庫代理;4、協調組件;

101、第一探測模塊;102、第一發送模塊;103、第二探測模塊;104、反饋模塊;105、第一判斷模塊;106、第二判斷模塊;107、第一處理模塊;108、第二處理模塊;

1021、第一發送單元;1022、第二發送單元;

1041、第一反饋單元;1042、第二反饋單元;

1051、第一判定單元;1052、第二判定單元。

具體實施方式

為詳細說明本發明的技術內容、所實現目的及效果,以下結合實施方式並配合附圖詳予說明。

本發明最關鍵的構思在於:主節點進行故障探測,從節點輔助故障確認,提高故障檢測的準確性。

請參閱圖1,一種分布式資料庫系統的故障檢測方法,包括:

ha組件集群中的主節點按照預設的時間周期探測資料庫節點,得到第一探測結果;

若所述第一探測結果為失敗的次數大於等於預設值,則所述主節點發送所述資料庫節點故障確認的通知;

ha組件集群中的至少一個從節點接收所述通知後對所述資料庫節點進行探測,得到第二探測結果;

所述從節點將第二探測結果反饋給主節點;

所述主節點根據所述第二探測結果,判斷所述資料庫節點是否故障。

從上述描述可知,本發明的有益效果在於:採用主節點進行故障探測,從節點輔助故障確認的故障檢測策略,可提高了故障檢測的準確性。

進一步地,所述「所述主節點根據所述第二探測結果,判斷所述資料庫節點是否故障」具體為:若所述從節點反饋的第二探測結果均為異常,則判定所述資料庫節點故障;若至少一個從節點反饋的第二探測結果為正常,則判定所述資料庫節點正常。

由上述描述可知,根據所有從節點反饋的第二探測結果來判斷資料庫節點是否故障,極大降低因網絡抖動引起的誤檢測,保證了資料庫服務的高可用性。

進一步地,所述「所述主節點根據所述第二探測結果,判斷所述資料庫節點是否故障」之後,進一步包括:

若故障的資料庫節點為主資料庫節點,則在可用的備資料庫節點中選取一個新的主資料庫節點。

由上述描述可知,若主資料庫節點故障則選取新的主資料庫節點,繼續提供服務,進一步保證了資料庫服務的高可用性。

進一步地,所述「所述主節點發送所述資料庫節點故障確認的通知」具體為:

所述主節點發送所述資料庫節點故障確認的通知給協調組件;

協調組件將所述通知發送給ha組件集群中的所有從節點。

進一步地,所述「所述從節點將第二探測結果反饋給主節點」具體為:

所述從節點將第二探測結果反饋給協調組件;

協調組件將第二探測結果反饋給所述主節點。

由上述描述可知,通過協調組件實現主節點和從節點之間的相互通信,提高了主節點和從節點的效率。

請參照圖4,本發明還提出一種分布式資料庫系統的故障檢測系統,包括

第一探測模塊,用於ha組件集群中的主節點按照預設的時間周期探測資料庫節點,得到第一探測結果;

第一發送模塊,用於若所述第一探測結果為失敗的次數大於等於預設值, 則所述主節點發送所述資料庫節點故障確認的通知;

第二探測模塊,用於ha組件集群中的至少一個從節點接收所述通知後對所述資料庫節點進行探測,得到第二探測結果;

反饋模塊,用於所述從節點將第二探測結果反饋給主節點;

第一判斷模塊,用於所述主節點根據所述第二探測結果,判斷所述資料庫節點是否故障。

進一步地,所述第一判斷模塊包括:

第一判定單元,用於若所述從節點反饋的第二探測結果均為異常,則判定所述資料庫節點故障;

第二判定單元,用於若至少一個從節點反饋的第二探測結果為正常,則判定所述資料庫節點正常。

進一步地,還包括:

第一處理模塊,用於若故障的資料庫節點為主資料庫節點,則在可用的備資料庫節點中選取一個新的主資料庫節點。

進一步地,所述第一發送模塊包括:

第一發送單元,用於所述主節點發送所述資料庫節點故障確認的通知給協調組件;

第二發送單元,用於協調組件將所述通知發送給ha組件集群中的所有從節點。

進一步地,所述反饋模塊包括:

第一反饋單元,用於所述從節點將第二探測結果反饋給協調組件;

第二反饋單元,用於協調組件將第二探測結果反饋給所述主節點。

實施例一

請參照圖1,本發明的實施例一為:一種分布式資料庫系統的故障檢測方法,請參照圖2,所述分布式資料庫系統包括資料庫集群1、ha組件集群2、資料庫代理3和協調組件4。所述資料庫集群1由至少一個資料庫組構成,一個資料庫組包含一個主資料庫節點和至少一個備資料庫節點。所述ha組件集群2中的ha組件提供資料庫集群1的高可用性功能。所述協調組件4保存資料庫集群1信 息,包括所有的資料庫組和其中的資料庫節點的主備信息等,當資料庫集群1信息發生改變時,主動通知資料庫代理3和ha組件。所述資料庫代理3從協調組件4讀取整個資料庫集群1信息,根據一定的分片規則,將客戶端的請求路由到對應的資料庫節點。當資料庫集群1信息發生變化時,由協調組件4通知資料庫代理3更新信息。ha組件從協調組件4讀取資料庫集群1信息,隨後定期對資料庫節點進行故障檢測,若有故障發生,則進行相應的故障處理。

所述ha組件採用分布式多節點部署,避免單點問題。每個ha組件有兩種角色狀態,主節點和從節點。在一個分布式部署的ha組件集群2中,同一時刻有且只有一個ha組件節點是主節點,其它ha組件節點均是從節點。ha組件都具有故障處理和故障確認的功能,但只有主節點能夠對資料庫節點進行探測和故障處理,從節點只進行輔助的故障確認。

所述協調組件4可多節點分布式部署,且應具有如下特徵:

順序一致性,按照客戶端發送請求的順序更新數據;

原子性,更新要麼成功,要麼失敗,不會出現部分更新;

單一性,無論客戶端連接哪個節點,都會看到同一個視圖;

可靠性,一旦數據更新成功,將一直保持,直到新的更新;

及時性,客戶端會在一個確定的時間內得到最新的數據。

圖2中的實線表示數據傳輸,點劃線表示心跳,虛線表示監聽。

所述協調組件4可以自主開發,也可以使用如zookeeper、etcd等開源的分布式應用程式協調服務軟體。

請參照圖3,所述方法包括如下步驟:

s1:ha組件集群中的主節點按照預設的時間周期探測資料庫節點,判斷所述資料庫節點是否能夠正常提供服務,例如,使用ping資料庫命令進行探測,得到第一探測結果。

s2:判斷第一探測結果為失敗的次數是否大於等於預設,若否,則繼續執行s1,若是,則執行s3。

s3:主節點發送對所述資料庫節點進行故障確認的通知給從節點;優選地,通過協調組件發送給從節點,即主節點發送所述通知給協調組件;協調組件將 所述通知發送給ha組件集群中的所有從節點。

s4:ha組件集群中的至少一個從節點接收所述通知後對所述資料庫節點進行一次性的狀態探測,得到第二探測結果;

s5:所述從節點將第二探測結果反饋給主節點;優選地,通過協調組件反饋給主節點,即從節點將第二探測結果反饋給協調組件;協調組件將第二探測結果反饋給所述主節點。

s6:判斷從節點反饋的第二探測結果是否均為異常,若否,執行s7,若是,執行s8。

s7:判定所述資料庫節點能夠正常提供服務,執行s1。

s8:判定所述資料庫節點故障,執行s9。

s9:判斷所述故障的資料庫節點是否為主資料庫節點,若是,執行s10,若否,執行s11。

s10:進行主備節點的切換,在可用的備資料庫節點中選取一個新的主資料庫節點,繼續提供服務。

s11:根據預設流程對所述故障的備資料庫節點進行處理,如重啟所述資料庫節點或發送郵件通知等。

本實施例採用主節點進行故障探測,從節點輔助故障確認的故障檢測策略,主節點可根據所有從節點反饋的第二探測結果來判斷資料庫節點是否故障,能有效降低因網絡抖動引起的誤檢測,提高了故障檢測的準確性,保證了資料庫服務的高可用性。

實施例二

請參照圖5,本實施例為一種分布式資料庫系統的故障檢測系統,包括:

第一探測模塊101,用於ha組件集群中的主節點按照預設的時間周期探測資料庫節點,得到第一探測結果;

第一發送模塊102,用於若所述第一探測結果為失敗的次數大於等於預設值,則所述主節點發送所述資料庫節點故障確認的通知;

第二探測模塊103,用於ha組件集群中的至少一個從節點接收所述通知後對所述資料庫節點進行探測,得到第二探測結果;

反饋模塊104,用於所述從節點將第二探測結果反饋給主節點;

第一判斷模塊105,用於所述主節點根據所述第二探測結果,判斷所述資料庫節點是否故障。

所述第一判斷模塊105包括:

第一判定單元1051,用於若所述從節點反饋的第二探測結果均為異常,則判定所述資料庫節點故障;

第二判定單元1052,用於若至少一個從節點反饋的第二探測結果為正常,則判定所述資料庫節點正常。

所述第一發送模塊102包括:

第一發送單元1021,用於若所述第一探測結果為失敗的次數大於等於預設值,所述主節點發送所述資料庫節點故障確認的通知給協調組件;

第二發送單元1022,用於協調組件將所述通知發送給ha組件集群中的所有從節點。

所述反饋模塊104包括:

第一反饋單元1041,用於所述從節點將第二探測結果反饋給協調組件;

第二反饋單元1042,用於協調組件將第二探測結果反饋給所述主節點。

該系統還包括:

第二判斷模塊106,用於判斷故障的資料庫節點為是否為主資料庫節點,得到第二判斷結果;

第一處理模塊107,用於若第二判斷結果為是,則在可用的備資料庫節點中選取一個新的主資料庫節點。

第二處理模塊108,用於若第二判斷結果為否,則根據預設流程對所述資料庫節點進行處理。

綜上所述,本發明提供的一種分布式資料庫系統的故障檢測方法及其系統,同一時刻只有主節點和資料庫節點交互,可有效保證資料庫集群狀態數據的一致性;採用主節點進行故障探測,從節點輔助故障確認的故障檢測策略,能有效防止發生誤檢測,提高了故障檢測的準確性;根據所有從節點反饋的第二探測結果來判斷資料庫節點是否故障,極大降低因網絡抖動引起的誤檢測,保證 了資料庫服務的高可用性;通過協調組件實現主節點和從節點之間的相互通信,提高了主節點和從節點的效率。

以上所述僅為本發明的實施例,並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等同變換,或直接或間接運用在相關的技術領域,均同理包括在本發明的專利保護範圍內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀