專利名稱:一種基于快速同步網絡的分布式文件系統監控方法
技術領域:
本發明涉及并行文件系統的通信系統,特別涉及一種基于快速同步網絡的分布式文件系統監控方法。
背景技術:
分布式系統中通信系統作為系統各節點之間的通信基礎,具有重要的意義。由于分布式系統中的每一個節點均可能出現故障,而為了提高系統的可用性,需要在節點和服務出現故障之后,能夠快速的進行故障檢測和定位,以便于系統的后續故障恢復和處理。因此分布式系統的監控和檢測的速度和準確率變得重要。傳統的系統監控方法,通過節點之間相互發出服務狀態監控消息,這種方法能夠檢測出系統故障,但是隨著系統規模的擴大, 其對網絡中正常消息的干擾會急劇上升。同時故障檢測和通知的速度均存在問題。在這種背景下,本專利提出了一種利用快速同步網絡進行分布式文件系統監控的機制,有效的保證了可擴展性和檢測通知的速度。
發明內容
本發明的目的是解決隨著系統規模擴到導致的文件系統監控的可擴展性和速度的問題,基于快速同步網絡,提供了一種分布式系統監控機制。本發明采用了一套快速同步網絡,該快速同步網絡與每一個服務節點相互連接, 采用樹狀或者其他拓撲形狀,連接起來,構成一個同步組,每一個服務節點在快速同步網絡中間有一個獨立的編號。對于同步組中間的節點上,存在一個同步代理模塊,用于獲取節點上運行服務的狀態,和同步組中間的其他節點之間進行消息交互,包括報告自身的服務狀態,獲取整個系統的節點服務狀態。在一個同步組中間,存在一個主節點,用以周期性的發起狀態收集命令,向所有節點報告整個系統的運行狀態。其他從節點負責處理主節點發出的狀態收集命令,收集本地節點服務狀態,并向主節點應答本節點的狀態。同時從節點負責接收來自主節點的系統狀態報告,根據該狀態報告進行故障處理。當系統規模擴大之后,同步組可以分層,每一層內部為一個同步組,內部完成同步之后,由每一層提供的同步組的頭結點構成的高一層同步組之間再進行同步操作。當主節點出現故障的時候,需要同步組能夠迅速檢查到主節點故障,并進行換主操作。本發明實現了一種動態換主方法。詳細步驟為Si,對于每一個從節點,會周期性的檢測是否存在來自主節點的系統狀態報告消息;S2,如果發現主節點未報告,則增加主節點失敗計數;如果主節點的失敗記錄超過閾值,則從節點向同步組中間上次活動的序號最小的從節點發出接管命令,等待接管完成命令;
S3,該最小節點在接收到接管命令之后,向主節點發出狀態詢問命令,如果收到主節點的應答命令,則無操作;否則,認為主節點死機,進行主節點接管操作,在接管操作完成之后,向所有節點發出接管完成命令;S4,如果其他從節點在幾個周期內未收到接管完成命令,則認為該最小節點死機, 繼續步驟S2,選出下一個可用的主節點為止;S5,新接管完成的主節點定期發起請求狀態查詢。本發明提出的一種基于快速同步網絡的分布式文件系統監控機制,能夠快速同步系統中的每一個節點上服務的狀態,對于N個節點,全系統只需要發送3N個消息即可完成整個系統的狀態監控和同步,因此具有較好的可擴展性,能夠隨著系統規模進行擴展。同時采用了基于選舉的動態換主方法,不存在單點故障。同時根據系統與其他節點的通信狀態, 進一步壓縮了同步消息的數量,降低了監控的開銷。
以下,結合附圖來詳細說明本發明的實施例,其中圖1為基于快讀同步網絡的監控系統示意圖;圖2為節點監控機制示意圖;圖3為多層次系統的同步方式示。
具體實施例方式下面結合附圖和具體實施方式
對本發明的方法進行說明。快速同步網絡的連接如圖1所示,快速同步網絡與每一套服務節點相互連接,同步網絡的具體實現形式不限定,可以為物理的獨立的管理網絡,可以為和數據網絡一樣的物理網絡。節點監控方式如圖2所示,對于同步組中間的狀態收集和同步方式分為如下幾個步驟步驟Si,頭節點根據當前節點和其他節點的連接狀態,以及在監測時間間隔內是否發送過消息,構建狀態收集組,如果時間間隔內發送過消息,則無需向該節點發送狀態收集命令;如果未發送消息,則將對應節點加入到狀態收集組中步驟S2,頭結點向其他節點以廣播的方式發出狀態收集請求,等待其他節點應答狀態通知步驟S3,同步組中其他節點在接收到狀態收集消息之后,檢測自己的服務狀態,并向頭結點發出應答通知。步驟S4,頭結點收集所有的應答通知,如果有節點在規定時間內未應答,則認為該節點上的服務未響應,如果死機次數超過規定閾值,則認為該節點死機,修改對應的節點狀態。步驟S5,頭結點在完成收集應答通知步驟之后,向同步組中的所有有效節點發出系統狀態通知。步驟S6,其他節點在接收到系統狀態通知之后,獲知系統中整個節點狀態,根據狀態通知,進行相應的故障處理。
多層次系統的同步方式示例如圖3所示步驟Si,主節點0和次主節點1,次主節點2構成一個同步組0,主節點0首先以廣播方式發起狀態收集請求,等待同步組的應答步驟S2次主節點1和其內部的從節點構成一個次同步組1,次主節點1在收到主節點0發出的狀態收集請求,次主節點1以廣播的方式發起狀態收集請求,在內部收集完成之后,向主節點0發送同步組0的應答操作。同樣的次主節點2在次同步組2內部發起狀態收集請求,在次同步組2內部完成狀態收集之后,向主節點0發送同步組0的應答操作。步驟S3,主節點0在收到次主節點1和次主節點2的應答操作之后,計算全系統的狀態,向次主節點發送系統狀態報告步驟S4,次主節點在接收到系統狀態報告之后,向各自的次同步組內部廣播系統狀態。步驟S5,各個節點都接收到系統狀態,完成一次同步操作。
權利要求
1.一種基于快速同步網絡的分布式文件系統監控方法,其特征在于服務器節點通過快速同步網絡相互連接組成一個同步組,每個服務器節點在快速同步網絡中有獨立的編號;在一個同步組中,設置一個主節點用于周期性發起狀態收集命令,向所有節點報告整個系統的運行狀態;其他從節點負責處理主節點發出的狀態收集命令,收集本地節點服務狀態,并向主節點應答本節點的狀態;同時從節點負責接收來自主節點的系統狀態報告,根據該狀態報告進行故障處理。
2.如權利要求1所述的方法,其特征在于所述同步組中存在一個同步代理模塊,用于獲取節點上運行服務的狀態,和同步組中間的其他節點之間進行消息交互,包括報告自身的服務狀態,獲取整個系統的節點服務狀態。
3.如權利要求1所述的方法,其特征在于所述同步組可以分層,每一層內部為一個同步組,內部完成同步之后,由每一層提供的同步組的頭結點構成的高一層同步組之間再進行同步操作。
4.如權利要求1所述的方法,其特征在于所述主節點在出現故障時,同步組的換主方法為Si,對于每一個從節點,系統周期性的檢測是否存在來自主節點的系統狀態報告消息;S2,如果發現主節點未報告,則增加主節點失敗計數;如果主節點的失敗記錄超過閾值,則從節點向同步組中間上次活動的序號最小的從節點發出接管命令,等待接管完成命令;S3,該最小節點在接收到接管命令之后,向主節點發出狀態詢問命令,如果收到主節點的應答命令,則無操作;否則,認為主節點死機,進行主節點接管操作,在接管操作完成之后,向所有節點發出接管完成命令;S4,如果其他從節點在幾個周期內未收到接管完成命令,則認為該最小節點死機,繼續步驟S2,選出下一個可用的主節點為止,S5,新接管完成的主節點定期發起請求狀態查詢。
全文摘要
本發明提出的一種基于快速同步網絡的分布式文件系統監控機制,能夠快速同步系統中的每一個節點上服務的狀態,對于N個節點,全系統只需要發送3N個消息即可完成整個系統的狀態監控和同步,因此具有較好的可擴展性,能夠隨著系統規模進行擴展。同時采用了基于選舉的動態換主方法,不存在單點故障。同時根據系統與其他節點的通信狀態,進一步壓縮了同步消息的數量,降低了監控的開銷。
文檔編號H04L29/08GK102387210SQ201110325988
公開日2012年3月21日 申請日期2011年10月25日 優先權日2011年10月25日
發明者劉新春, 張攀勇, 王勇, 苗艷超, 袁重橋, 趙力, 邵宗有 申請人:曙光信息產業(北京)有限公司