專利名稱:用于云存儲系統的服務節點狀態監控方法
技術領域:
本發明一般地涉及計算機技術領域,更具體地來說,涉及用于云存儲系統的服務節點狀態監控方法。
背景技術:
云存儲系統的服務節點監控包括節點服務狀態監控、磁盤工作狀態監控、網絡監控等。網絡監控主要是指在系統安裝部署和工作過程中探測拓撲圖中節點之間的網絡連接狀態以及網絡性能(帶寬、傳輸速率、使用情況等)。而節點服務狀態的監 控主要是監控存儲系統啟動環境狀態和軟件的服務狀態,同時還包括該節點與其它節點的網絡互連情況。現有的云存儲系統服務節點狀態監控主要是通過管理節點和服務端之間的通信交互來完成的,管理節點周期性檢測各服務節點的服務狀態和網絡連接狀態,然后將檢測結果返回給監控進程,這種機制適用于小規模的存儲系統。在較大規模的云存儲系統環境下,依靠管理節點和服務端之間的消息交互來完成節點服務狀態的訪問,一方面在網絡狀況較差時通信時延比較大,采集大量服務節點狀態的周期比較長;另一方面管理節點和服務端之間的網絡的不穩定性也會導致訪問失效。雖然服務節點狀態自治在一定程度上提高了云存儲系統狀態監控的效率,即各服務節點各自維護自己的服務狀態和網絡連接狀態,但是該機制仍然無法避免管理節點與服務節點之間交互失效的問題。例如,服務節點宕機時通信鏈路斷開,管理節點無法獲取服務節點的狀態;此外,在網絡繁忙時,管理節點采集服務節點狀態的時延變大,在服務節點數量龐大的情況下,采集時延更加明顯,用戶體驗較差。
發明內容
針對現有技術中在網絡狀況較差時通信時延比較大,采集大量服務節點狀態的周期比較長以及管理節點和服務端之間的網絡的不穩定性也會導致訪問失效的缺陷,本發明提出了能夠解決上述缺陷的用于云存儲系統的服務節點狀態監控方法。本發明提供了一種用于云存儲系統的服務節點狀態監控方法,其中多個服務節點中的每一個服務節點都以預定周期向管理節點發送狀態信息;以及管理節點建立用于記錄每個服務節點狀態的狀態信息記錄表,并根據接收到的狀態信息更新狀態信息記錄表中相應服務節點的運行狀態。優選地,服務節點狀態監控方法還包括客戶節點向管理節點發送用于指示查詢一個或多個服務節點的運行狀態的查詢請求;以及管理節點將具有與一個或多個服務節點相對應的運行狀態的查詢響應反饋給客戶節點。優選地,服務節點在啟動之后并且在向管理節點發送狀態信息之前根據運行狀態生成狀態信息。優選地,如果管理節點在一個預定周期內沒有接收到來自服務節點的狀態信息,則保存服務節點所對應的當前的運行狀態之后將運行狀態設置為未知狀態,然后探測與所述未知狀態相對應的所述服務節點的實際運行狀態。優選地,當管理節點接收到與未知狀態相對應的服務節點的狀態信息時,則根據狀態信息將未知狀態更新為相應的運行狀態。優選地,在管理節點將運行狀態設置為未知狀態的同時,管理節點進行報警;以及在管理節點將未知狀態更新為相應的運行狀態的同時,管理節點取消報警。優選地,管理節點在更新運行狀態以后的預定時間內將狀態信息記錄表中的運行狀態發送給與運行狀態相對應的服務節點之外的其他服務節點。優選地,當與一個或多個服務節點相對應的運行狀態為未知狀態時,管理節點將具有保存的當前的運行狀態和未知狀態的查詢響應反饋給客戶節點。優選地,運行狀態包括服務狀態、網絡性能狀態和網絡連接狀態。
·
優選地,服務狀態包括服務關閉、服務啟動完畢、服務修改和服務崩潰等。利用本發明的服務節點狀態監控方法,通過服務節點向管理節點周期性上報狀態信息,管理節點根據上報的狀態信息實時更新狀態信息記錄表,減小了狀態信息記錄表的更新時延。管理節點將在預定周期內沒有更新的狀態信息相對應的服務節點的運行狀態設置為未知狀態,從而消除了由于服務節點故障或者網絡連接故障所導致的狀態信息記錄表的更新時延。此外,當客戶節點可以直接從狀態信息記錄表獲取相應服務節點的運行狀態,而無需管理節點進一步繼續訪問服務節點。將采集服務節點狀態的進程和訪問服務節點狀態的進程分離開,通過共享狀態信息記錄表中的相應服務節點的狀態信息,避免單次訪問服務節點運行狀態的網絡時延問題,從而即能及時更新服務節點的運行狀態,又能快捷地訪問服務節點的運行狀態。本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
以下結合附圖對本發明的優選實施例進行說明,應當理解,此處所描述的優選實施例僅用于說明和解釋本發明,并不用于限定本發明。在附圖中
圖1為根據本發明的實施例的服務節點狀態監控方法的流程圖;圖2為根據本發明的實施例的服務節點狀態監控方法的具體流程圖;以及圖3為根據本發明的實施例的在管理節點沒有接收到狀態信息的情況下的服務節點狀態的監控方法的流程圖。
具體實施例方式以下結合附圖對本發明的優選實施例進行說明,應當理解,此處所描述的優選實施例僅用于說明和解釋本發明,并不用于限定本發明。云存儲系統中包括相互連接的多個服務器,簡稱為節點。管理節點為管理節點的節點;服務節點為云存儲系統中的存儲節點;以及客戶節點是訪問云存儲系統的節點,可以為客戶端等。圖1為根據本發明的實施例的服務節點狀態監控方法的流程圖。本發明提供了用于云存儲系統的服務節點狀態監控方法100,該方法包括在步驟102中,多個服務節點中的每一個服務節點都以預定周期向管理節點發送狀態信息;以及在步驟104中,管理節點建立用于記錄每個服務節點狀態的狀態信息記錄表,并根據接收到的狀態信息更新狀態信息記錄表中相應服務節點的運行狀態。在本發明的實施例中,利用該服務節點狀態監控方法可以通過服務節點以預定周期向管理節點發送狀態信息,然后管理節點根據該狀態信息更新狀態信息記錄表,在該方法中,省略了管理節點向服務節點發送查詢請求的步驟,縮短了管理節點獲取服務節點的狀態信息的時間,減少了更新狀態信息記錄表的時延,從而能夠更快地更新狀態信息記錄表。圖2為根據本發明的實施例的服務節點狀態監控方法的具 體流程圖。該服務節點狀態監控方法200包括在步驟202中,服務節點在啟動之后并且在向管理節點發送狀態信息之前根據運行狀態生成狀態信息。其中,服務節點的運行狀態包括服務狀態、網絡性能和網絡連接狀態。具體地,服務狀態包括服務關閉、服務啟動完畢、服務修改和服務崩潰等。服務節點進行自監控,在服務節點開啟后,其自身維護本地節點狀態、存儲服務節點狀態和網絡連接狀態。服務節點從服務開啟到服務關閉,維護的節點狀態主要有服務關閉、服務啟動準備就緒、服務啟動完畢、服務修復、服務崩潰和服務關閉等。服務狀態監控是服務節點在啟動和運行過程中監控該服務節點的服務狀態、該服務節點的性能狀態和該服務節點的網絡連接狀態。該服務節點監控網絡性能和網絡連接狀態是指在系統安裝部署和工作過程中監控云存儲系統的拓撲圖中節點之間的網絡連接狀態以及網絡性能狀態。具體地,網絡性能包括帶寬、傳輸速率和使用情況等。然后,服務節點利用本領域公知的方法根據這些運行狀態生成狀態信息。在步驟204中,多個服務節點中的每一個服務節點都以預定周期向管理節點發送狀態信息。該預定周期可以根據系統要求和用戶需要進行設置。在一個實施例中,服務節點將該預定周期設置為2秒至30秒,例如,多個服務節點中的每一個節點都以5秒為周期向管理節點發送狀態信息。在其他實施例中,根據系統需要,可以預定周期設置為更短或者更長。在步驟206中,管理節點建立用于記錄每個服務節點狀態的狀態信息記錄表,并根據接收到的狀態信息更新狀態信息記錄表中相應服務節點的運行狀態。管理節點首先在內存中建立用于記錄每個服務節點狀態的狀態信息記錄表,然后根據從服務節點所接收到的狀態信息更新存儲在內存中的狀態信息記錄表中的相應服務節點的運行狀態。在步驟208中,客戶節點向管理節點發送用于指示查詢一個或多個服務節點的運行狀態的查詢請求。在云存儲系統中,客戶節點也需要及時掌握服務節點的運行狀態以能夠更好地訪問云存儲系統或向該云存儲系統存儲數據。當客戶節點需要時,向管理節點發送至少一個或多個服務節點的運行狀態的查詢請求。在步驟210中,管理節點將具有與一個或多個服務節點相對應的運行狀態的查詢響應反饋給客戶節點。當管理節點接收到來自客戶節點的查詢請求時,將存儲在內存中的狀態信息記錄表中的與一個或多個服務節點相對應的運行狀態讀取出來,并將讀取的運行狀態的信息發送給客戶節點。在本發明的實施例中,客戶節點可以直接從狀態信息記錄表中獲取相應服務節點的運行狀態,而無需管理節點在接收到的客戶節點的查詢請求時繼續訪問服務節點。將采集服務節點狀態的進程和訪問服務節點狀態的進程分離開,通過共享狀態信息記錄表中的相應服務節點的狀態信息,避免單次訪問服務節點運行狀態的網絡時延問題,大大縮短了客戶節點監控服務節點的運行狀態的時間周期。因此,即能及時更新服務節點的運行狀態,又能快捷地訪問服務節點的運行狀態。圖3為根據本發明的實施例的在管理節點沒有接收到狀態信息的情況下的服務節點狀態的監控方法300的流程圖。在步驟302中,如果管理節點在一個預定周期內沒有接收到來自服務節點的狀態信息,則保存服務節點所對應的當前的運行狀態之后將運行狀·態設置為未知狀態,然后探測與所述未知狀態相對應的所述服務節點的實際運行狀態。管理節點需要在一個更新周期內更新所使用服務節點的狀態,如果管理節點長時間沒有收到服務節點的上報的狀態信息,則需要將該服務節點的狀態設置為未知狀態,以此來標示服·務節點異常。由于云存儲系統中存在成百上千個服務節點,在管理節點監控多個服務節點的過程中,如果某一個或多個服務節點宕機、服務重啟或者與云存儲系統的網絡連接斷開的情況下,管理節點都不能接收到服務節點的狀態信息,這樣狀態信息記錄表中與該一個或多個服務節點相對應的服務狀態就不能及時更新,從而影響了整個云存儲系統中其他服務節點的運行狀態的及時更新。在預定時間周期內,如果管理節點沒有接收到來自服務節點的狀態信息,則管理將服務節點所對應的當前的運行狀態(即,管理節點最后一次接收到的服務節點的運行狀態)保存在狀態信息記錄表中之后將運行狀態設置為未知狀態,然后,利用一定的探測策略探測與未知狀態相對應的服務節點的實際運行狀態。具體地,探測策略可以是管理節點定時向該未知節點發送查詢請求等,以探測該未知服務節點的實際運行狀態。另外,在管理節點將運行狀態設置為未知狀態的同時,管理節點進行報警。例如,管理節點以紅色字體在顯示器上顯示相應的服務節點故障,或者管理節點以短消息或者郵件形式通知管理員相應的服務節點故障。在步驟304中,當管理節點接收到與未知狀態相對應的服務節點的狀態信息時,根據狀態信息將未知狀態更新為相應的運行狀態。當服務節點恢復以后,即,服務節點或者網絡連接故障解除以后,管理節點接收到來自該服務節點的運行狀態信息時,該管理節點可以根據接收到的狀態信息將未知狀態更新為相應的運行狀態。在管理節點將未知狀態更新為相應的運行狀態的同時,管理節點取消報警。例如,管理節點取消在顯示器上顯示的服務節點故障。此外,管理節點在更新運行狀態以后的預定時間內將狀態信息記錄表中的運行狀態發送給與運行狀態相對應的服務節點之外的其他服務節點。在服務節點的運行狀態為未知狀態時,管理節點可以將該未知狀態通知云存儲系統中的其他服務節點。以便于其他服務接單與該服務節點及時斷開,以確保云存儲系統中的數據安全。另外,當與一個或多個服務節點相對應的運行狀態為未知狀態時,管理節點將具有保存的當前的運行狀態和未知狀態的查詢響應反饋給客戶節點。這樣,客戶節點能夠監控到服務節點最后一次向管理節點發送的運行狀態和目前的未知狀態。避免了客戶節點訪問服務節點狀態失效的問題。利用本發明實施例的服務節點狀態監控方法,首先,管理節點根據從服務節點接收到的狀態信息更新狀態信息記錄表,不需要向服務節點發送查詢請求,這樣更新狀態信息記錄表的時間至少減少了一半。其次,在客戶節點監控服務節點時,客戶節點可以直接從狀態信息記錄表中獲取相應服務節點的運行狀態,而無需管理節點在接收到的客戶節點的查詢請求時繼續訪問服務節點。將采集服務節點狀態的進程和訪問服務節點狀態的進程分離開,通過共享狀態信息記錄表中的相應服務節點的狀態信息,避免單次訪問服務節點運行狀態的網絡時延問題,大大縮短了客戶節點監控服務節點的運行狀態的時間周期。因此,即能及時更新服務節點的運行狀態,又能快捷地訪問服務節點的運行狀態。最后,管理節點在預定周期內沒有接收到服務節點的狀態信息時,則將狀態信息記錄表中與該服務節點相對應的運行狀態設置為未知狀態,從而大大縮短了更新該服務節點的運行狀態所需要的時間,同時避免了在網絡不穩定或服務節點異常情況下訪問服務節點的運行狀態失效的問題。另外,在服務節點的運行狀態為未知狀態時,客戶節點可以監控到服務節點最后一次向管理節點發送的運行狀態,有利于客戶節點更多地了解到服務節點的運行狀態。 以上僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種用于云存儲系統的服務節點狀態監控方法,其特征在于 多個服務節點中的每一個服務節點都以預定周期向管理節點發送狀態信息;以及 所述管理節點建立用于記錄每個所述服務節點狀態的狀態信息記錄表,并根據接收到的所述狀態信息更新所述狀態信息記錄表中相應所述服務節點的運行狀態。
2.根據權利要求1所述的服務節點狀態監控方法,還包括 客戶節點向所述管理節點發送用于指示查詢一個或多個所述服務節點的所述運行狀態的查詢請求;以及 所述管理節點將具有與一個或多個所述服務節點相對應的所述運行狀態的查詢響應反饋給所述客戶節點。
3.根據權利要求2所述的服務節點狀態監控方法,其特征在于,所述服務節點在啟動之后并且在向所述管理節點發送所述狀態信息之前根據所述運行狀態生成所述狀態信息。
4.根據權利要求2所述的服務節點狀態監控方法,其特征在于,如果所述管理節點在一個所述預定周期內沒有接收到來自所述服務節點的所述狀態信息,則保存所述服務節點所對應的當前的所述運行狀態之后將所述運行狀態設置為未知狀態,然后探測與所述未知狀態相對應的所述服務節點的實際運行狀態。
5.根據權利要求4所述的服務節點狀態監控方法,其特征在于,當所述管理節點接收到與所述未知狀態相對應的所述服務節點的所述狀態信息時,則根據所述狀態信息將所述未知狀態更新為相應的運行狀態。
6.根據權利要求4或者5所述的服務節點狀態監控方法,其特征在于, 在所述管理節點將所述運行狀態設置為未知狀態的同時,所述管理節點進行報警;以及 在所述管理節點將所述未知狀態更新為所述相應的運行狀態的同時,所述管理節點取消報警。
7.根據權利要求5所述的服務節點狀態監控方法,其特征在于,所述管理節點在更新所述運行狀態以后的預定時間內將所述狀態信息記錄表中的所述運行狀態發送給與所述運行狀態相對應的所述服務節點之外的其他服務節點。
8.根據權利要求7所述的服務節點狀態監控方法,其特征在于,當與一個或多個所述服務節點相對應的所述運行狀態為所述未知狀態時,所述管理節點將具有保存的當前的所述運行狀態和所述未知狀態的查詢響應反饋給所述客戶節點。
9.根據權利要求1所述的服務節點狀態監控方法,其特征在于,所述運行狀態包括服務狀態、網絡性能狀態和網絡連接狀態。
10.根據權利要求9所述的服務節點狀態監控方法,其特征在于,所述服務狀態包括服務關閉、服務啟動完畢、服務修改和服務崩潰等。
全文摘要
本發明提供了一種用于云存儲系統的服務節點狀態監控方法,其中,多個服務節點中的每一個服務節點都以預定周期向管理節點發送狀態信息;以及所述管理節點建立用于記錄每個所述服務節點狀態的狀態信息記錄表,并根據接收到的所述狀態信息更新所述狀態信息記錄表中相應所述服務節點的運行狀態。管理節點根據從服務節點接收到的狀態信息更新狀態信息記錄表,不需要向服務節點發送查詢請求,不但簡化了步驟,而且縮短了更新狀態信息記錄表的時間,從而減少更新狀態信息記錄表的時延。
文檔編號H04L12/24GK103001809SQ20121057079
公開日2013年3月27日 申請日期2012年12月25日 優先權日2012年12月25日
發明者張健, 苗艷超, 劉新春, 邵宗有 申請人:曙光信息產業(北京)有限公司