專利名稱:數據震蕩環境下的高可靠性備份的實現方法及裝置的制作方法
技術領域:
本發明涉及網絡通訊技術領域,尤其涉及一種適用于分布式系統中主備板卡在數據震蕩環境下的高可靠性備份的實現方法及裝置。
背景技術:
電信級或軍事用途的以太網網絡,對于網絡可靠性的要求非常高。一般會采用機架式的設備,通過分布式系統達到提高網絡可靠性的目的。其中主備板卡的冗余備份,是分布式系統高可靠性實現的重要一部分。通常而言,主備板卡的冗余備份在實現上分為初始備份和增量備份。其中初始備份是備板初始化完成時,主板卡將目前所有狀態和數據備份到備板卡上,實現狀態一致;增量備份是指備板卡完成初始備份后,主板卡在運行過程中將狀態的實時變化通知備板卡,備份項是更新的狀態數據,不是全部狀態和數據。備板卡通過增量備份更新內部狀態和數據,達到與主板卡狀態同步的目的。基于狀態備份的分布式系統,通常的做法是主板卡的任何狀態變化都實時通知到備板卡,無論外部網絡環境是如何的,即不關心外部網絡數據是否處于震蕩狀態,以實現主備板卡狀態一致。然而,如果系統處于一個數據震蕩的網絡環境中,主板卡上的數據和狀態不斷更新,此時的實時增量備份數據量是相當巨大的。主板卡在處理網絡業務的同時還需要生成大量的備份消息,發往備板卡,以供備板卡同步狀態。但是此時主板卡上生成和發送備份消息會消耗大量CPU資源,擠占處理網絡震蕩的CPU資源,使得數據震蕩的時間延長;甚至在某些情況下會加劇網絡震蕩,直至宕機。所以,上述在任何環境下的實時增量備份在某些情況下,不但不能增加系統的可靠性,反而會使得系統更加脆弱。因此,有必要提供一種數據震蕩環境下的高可靠性備份的實現方法及裝置以克服上述問題。
發明內容
本發明的目的在于提供一種數據震蕩環境下的高可靠性備份的實現方法。本發明的另一目的在于提供一種數據震蕩環境下的高可靠性備份的實現裝置,所述裝置應用數據震蕩環境下的高可靠性備份的實現方法。相應地,一種數據震蕩環境下的高可靠性備份的實現方法,包括以下步驟 S10,檢測主備板卡進行增量備份的網絡環境是否處于異常的數據震蕩環境; S20, SlO判斷為否時,繼續進行增量備份;
S30,SlO判斷為是時,關閉增量備份,同時設置延時定時器時長,并啟動延時定時器; S40,判斷延時定時器是否超時;
S50, S40判斷為是時,執行初始備份,并打開增量備份開關,然后循環至SlO步驟; S60, S40判斷為否時,繼續等待延時定時器超時并在超時后執行S50步驟。作為本發明的進一步改進,所述SlO具體包括以下步驟S101,統計單位時間內進行增量備份的備份數據量; S102,判斷SlOl中的備份數據量是否大于備份數據量的閾值; S103,若是,則檢測主備板卡增量備份時的敏感數據源在單位時間內處理的次數是否大于該次數的閾值。作為本發明的進一步改進,所述SlOl及S103任意一步判斷為否時均循環至S20步驟。作為本發明的進一步改進,所述S30中延時定時器的時長等于初始時長乘以2的 N次方秒,其中該N為連續超時的次數。作為本發明的進一步改進,所述S20具體包括如下步驟 S201,檢測增量備份開關是否關閉;
S202, S201判斷為否時,繼續進行增量備份;
S203,S201判斷為是時,檢測進行增量備份的數據量是否小于恢復閾值,若小于則循環至所述S50步驟,若大于則結束處理。作為本發明的進一步改進,一種數據震蕩環境下的高可靠性備份的實現裝置包括
檢測單元,用于檢測主備板卡進行增量備份的網絡環境是否處于異常的數據震蕩環
境;
第一執行單元,用于在檢測單元判斷為否時,繼續進行增量備份; 第二執行單元,包括一延時定時器,用于在檢測單元判斷為是時,關閉增量備份,同時設置延時定時器時長,啟動延時定時器;
第一判斷單元,用于判斷延時定時器是否超時;
第三執行單元,用于在第一判斷單元判斷為是時,執行初始備份,并在執行完初始備份后打開增量備份開關,同時啟動檢測單元;
第四執行單元,用于在第一判斷單元判斷為否時,繼續等待延時定時器超時并在超時后啟動上述第三執行單元。
作為本發明的進一步改進,所述檢測單元進行網絡環境的檢測主要是用于 統計單位時間內進行增量備份的備份數據量判斷該備份數據量是否大于備份數據量的閾值;
在判斷為是時,檢測主備板卡增量備份時的敏感數據源在單位時間內處理的次數是否大于該次數的閾值。作為本發明的進一步改進,所述檢測單元中兩項判斷或檢測中任意一項判斷為否時均啟動第一執行單元。作為本發明的進一步改進,所述第二執行單元中延時定時器的時長等于初始時長乘以2的N次方秒,其中該N為連續超時的次數。作為本發明的進一步改進,所述第一執行單元還用于
在判斷為是時,檢測進行增量備份的數據量是否小于恢復閾值,若小于恢復閾值則啟動第三執行單元,若大于恢復閾值則結束處理。本發明的有益效果是通過在網絡數據震蕩環境下,在適當的時機利用初始備份代替增量備份,降低主板卡上備份數據所消耗的CPU占用率,提高主板卡處理網絡業務的能力;同時,也保證了絕大多數情況下,主備板卡的狀態是始終是狀態同步的,提高分布式系統的高可靠性性能,降低宕機風險。
圖1是本發明一具體實施方式
數據震蕩環境下的高可靠性備份的實現方法的流程圖2是圖1中SlO的具體處理流程圖3是本發明一具體實施方式
數據震蕩環境下的高可靠性備份的實現裝置的模塊圖。
具體實施例方式以下將結合附圖所示的各實施方式對本發明進行詳細描述。但這些實施方式并不限制本發明,本領域的普通技術人員根據這些實施方式所做出的結構、方法、或功能上的變換均包含在本發明的保護范圍內。請參閱圖1所示的是本發明一具體實施方式
數據震蕩環境下的高可靠性備份的實現方法的流程圖,其中該實現方法主要包含兩個方面一個是對數據震蕩環境的檢測,二是網絡數據震蕩后,主備板卡間的備份流程。其中這里所說的數據震蕩環境,必須滿足兩大特征,一是CPU利用率急劇上升,處理數據量大幅增加,如果主備板卡間采用實時增量備份,則備份數據會大幅增加;二是單位時間內多次處理重復數據。以OSPF協議(Open Shortest Path First,開放式最短路優先協議)為例,當某個物理端口不停的UP/DOWN時,UP導致OSPF計算出1000條OSPF路由, DOWN導致OSPF刪除這1000條OSPF路由。單位時間內多次處理某條特定的OSPF路由,且處理數據量巨大,這種情況就是典型的數據震蕩環境。結合該圖1所示,該實現方法主要包括如下步驟
S10,檢測主備板卡進行增量備份的網絡環境是否處于異常的數據震蕩環境; S20, SlO判斷為否時,繼續進行增量備份;
S30,SlO判斷為是時,關閉增量備份,同時設置延時定時器時長,并啟動延時定時器; 其中所述S30中延時定時器的時長的計算采用懲罰機制的計算方式,為延時定時器的初始時長乘以2的N次方秒,其中該N為連續超時的次數,這樣,可以在長時間的數據震蕩環境中減少初始備份的次數,增強系統處理網絡業務震蕩的能力; S40,判斷延時定時器是否超時;
S50, S40判斷為是時,執行初始備份,并打開增量備份開關,然后循環至SlO步驟; S60, S40判斷為否時,繼續等待延時定時器超時并在超時后執行S50步驟。請參閱圖2所示,并結合上述數據震蕩環境檢測必須具備的兩大特征可得,所述 SlO具體包括以下步驟
S101,統計單位時間內進行增量備份的備份數據量;
S102,判斷SlOl中的備份數據量是否大于備份數據量的閾值;假設分布式系統在網絡典型應用下,主備板卡間增量備份的平均數據量為A條/秒,增量備份最大數據量為B條每秒,那么,當系統主備板卡間增量備份數據量大于(A+2B)/3條每秒時,則認為系統備份數據量過大,滿足數據震蕩環境條件之一;該(A+2B)/3條每秒即為備份數據量的閾值;S103,若是,則檢測主備板卡增量備份時的敏感數據源在單位時間內處理的次數是否大于該次數的閾值;主要是在系統中預先設定敏感數據源,如上述例子中,OSPF路由條目即為敏感數據源;主備板卡進行增量備份時,統計相同敏感數據源單位時間內處理的次數, 如果大于閾值,則認為滿足數據震蕩環境另外一個條件;該閾值是預先設置的敏感數據源單位時間內處理的最多次數。由此可見,所述SlOl及S103步驟分別進行數據量的檢測及敏感數據源單位時間處理次數的檢測是數據震蕩環境的界定的兩個必要條件,在任意一步判斷為否時均循環至 S20步驟。請結合圖1所示,所述S20具體包括如下步驟 S201,檢測增量備份開關是否關閉;
S202, S201判斷為否時,繼續進行增量備份;
S203,S201判斷為是時,檢測進行增量備份的數據量是否小于恢復閾值,若小于則循環至所述S50步驟,若大于則結束處理。以上數據震蕩環境下得高可靠性備份的實現方法即可理解為實際處理中,當網絡環境正常,主備板卡間的增量備份機制采用實時增量備份的方法;當網絡異常,有數據震蕩,且實時增量備份的數據量大于閾值,即上面所講的(A+2B) /3條每秒時,主板卡停止實時增量備份,啟動延時定時器;在延時定時器超時后,主板卡采取初始備份的方式,將所有當前狀態備份到備板卡后,檢測當前的增量備份數據量,若仍然大于增量備份的數據量閾值,且滿足上述數據震蕩環境的兩個必要條件,即仍處于震蕩環境下,則持續停止實時增量備份,重新計算延時定時器時長,等待下次超時后再執行初始備份。請參閱圖3所示的是本發明數據震蕩環境下的高可靠性備份的實現裝置的模塊圖。可以看出該裝置包括
檢測單元,用于檢測主備板卡進行增量備份的網絡環境是否處于異常的數據震蕩環
境;
第一執行單元,用于在檢測單元判斷為否時,繼續進行增量備份; 第二執行單元,包括一延時定時器,用于在檢測單元判斷為是時,關閉增量備份,同時設置延時定時器時長,啟動延時定時器;其中所述延時定時器的時長的計算采用懲罰機制的計算方式,為延時定時器的初始時長乘以2的N次方秒,其中該N為連續超時的次數,這樣,可以在長時間的數據震蕩環境中減少初始備份的次數,增強系統處理網絡業務震蕩的能力;
第一判斷單元,用于判斷延時定時器是否超時;
第三執行單元,用于在第一判斷單元判斷為是時,執行初始備份,并在執行完初始備份后打開增量備份開關,并啟動檢測單元;
第四執行單元,用于在第一判斷單元判斷為否時,繼續等待延時定時器超時并在超時后啟動上述第三執行單元。所述檢測單元進行網絡環境的檢測主要是用于首先統計單位時間內進行增量備份的備份數據量;判斷該備份數據量是否大于備份數據量的閾值,假設分布式系統在網絡典型應用下,主備板卡間增量備份的平均數據量為A條每秒,增量備份最大數據量為B條每秒,那么,當系統主備板卡間增量備份數據量大于(A+2B)/3條每秒時,則認為系統備份數據量過大,即滿足數據震蕩環境條件之一,該(A+2B)/3條每秒即為備份數據量的閾值;在判斷為是時,然后檢測主備板卡增量備份時的敏感數據源在單位時間內處理的次數是否大于該次數的閾值,主要是在系統中預先設定敏感數據源,如上述例子中,OSPF路由條目即為敏感數據源;主備板卡進行增量備份時,統計相同敏感數據源單位時間內處理的次數,如果大于閾值,則認為滿足數據震蕩環境另外一個條件;該閾值是預先設置的敏感數據源單位時間內處理的最多次數。所述檢測單元中兩項判斷或檢測為數據震蕩環境的兩個必要條件,其中任意一項判斷為否時均啟動第一執行單元。所述第一執行單元還用于檢測增量備份開關是否關閉;在判斷為否時,繼續進行增量備份;在判斷為是時,檢測進行增量備份的數據量是否小于恢復閾值,若小于恢復閾值則啟動第三執行單元,若大于恢復閾值則結束處理。綜上所述,本發明數據震蕩環境下的高可靠性備份的實現方法或裝置通過在網絡數據震蕩環境下,在適當的時機利用初始備份代替增量備份,降低主板卡上備份數據所消耗的CPU占用率,提高主板卡處理網絡業務的能力;同時,也保證了絕大多數情況下,主備板卡的狀態是始終是狀態同步的,提高分布式系統的高可靠性性能,降低宕機風險。為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現。通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現。基于這樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品可以存儲在存儲介質中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備 (可以是個人計算機,服務器,或者網絡設備等)執行本申請各個實施方式或者實施方式的某些部分所述的方法。以上所描述的裝置實施方式僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施方式方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解并實施。本申請可用于眾多通用或專用的計算系統環境或配置,或通信設備中。例如個人計算機、服務器計算機、手持設備或便攜式設備、平板型設備、多處理器系統、基于微處理器的系統、置頂盒、可編程的消費電子設備、網絡PC、小型計算機、大型計算機、包括以上任何系統或設備的分布式計算環境等等。本申請可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布式計算環境中實踐本申請,在這些分布式計算環境中,由通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以位于包括存儲設備在內的本地和遠程計算機存儲介質中。應當理解,雖然本說明書按照實施方式加以描述,但并非每個實施方式僅包含一個獨立的技術方案,說明書的這種敘述方式僅僅是為清楚起見,本領域技術人員應當將說明書作為一個整體,各實施方式中的技術方案也可以經適當組合,形成本領域技術人員可以理解的其他實施方式。 上文所列出的一系列的詳細說明僅僅是針對本發明的可行性實施方式的具體說明,它們并非用以限制本發明的保護范圍,凡未脫離本發明技藝精神所作的等效實施方式或變更均應包含在本發明的保護范圍之內。
權利要求
1.一種數據震蕩環境下的高可靠性備份的實現方法,其特征在于,包括以下步驟 S10,檢測主備板卡進行增量備份的網絡環境是否處于異常的數據震蕩環境; S20, SlO判斷為否時,繼續進行增量備份;S30,SlO判斷為是時,關閉增量備份,同時設置延時定時器時長,并啟動延時定時器; S40,判斷延時定時器是否超時;S50, S40判斷為是時,執行初始備份,并打開增量備份開關,然后循環至SlO步驟; S60, S40判斷為否時,繼續等待延時定時器超時并在超時后執行S50步驟。
2.根據權利要求1所述的數據震蕩環境下的高可靠性備份的實現方法,其特征在于, 所述SlO具體包括以下步驟S101,統計單位時間內進行增量備份的備份數據量; S102,判斷SlOl中的備份數據量是否大于備份數據量的閾值; S103,若是,則檢測主備板卡增量備份時的敏感數據源在單位時間內處理的次數是否大于該次數的閾值。
3.根據權利要求2所述的數據震蕩環境下的高可靠性備份的實現方法,其特征在于, 所述SlOl及S103任意一步判斷為否時均循環至S20步驟。
4.根據權利要求1所述的數據震蕩環境下的高可靠性備份的實現方法,其特征在于, 所述S30中延時定時器的時長等于初始時長乘以2的N次方秒,其中該N為連續超時的次數。
5.根據權利要求1所述的數據震蕩環境下的高可靠性備份的實現方法,其特征在于, 所述S20具體包括如下步驟S201,檢測增量備份開關是否關閉; S202, S201判斷為否時,繼續進行增量備份;S203,S201判斷為是時,檢測進行增量備份的數據量是否小于恢復閾值,若小于則循環至所述S50步驟,若大于則結束處理。
6.一種數據震蕩環境下的高可靠性備份的實現裝置,其特征在于,包括檢測單元,用于檢測主備板卡進行增量備份的網絡環境是否處于異常的數據震蕩環境;第一執行單元,用于在檢測單元判斷為否時,繼續進行增量備份; 第二執行單元,包括一延時定時器,用于在檢測單元判斷為是時,關閉增量備份,同時設置延時定時器時長,啟動延時定時器;第一判斷單元,用于判斷延時定時器是否超時;第三執行單元,用于在第一判斷單元判斷為是時,執行初始備份,并在執行完初始備份后打開增量備份開關,同時啟動檢測單元;第四執行單元,用于在第一判斷單元判斷為否時,繼續等待延時定時器超時并在超時后啟動上述第三執行單元。
7.根據權利要求6所述的數據震蕩環境下的高可靠性備份的實現裝置,其特征在于, 所述檢測單元進行網絡環境的檢測主要是用于統計單位時間內進行增量備份的備份數據量; 判斷該備份數據量是否大于備份數據量的閾值;在判斷為是時,檢測主備板卡增量備份時的敏感數據源在單位時間內處理的次數是否大于該次數的閾值。
8.根據權利要求7所述的數據震蕩環境下的高可靠性備份的實現裝置,其特征在于, 所述檢測單元中兩項判斷或檢測中任意一項判斷為否時均啟動第一執行單元。
9.根據權利要求6所述的數據震蕩環境下的高可靠性備份的實現裝置,其特征在于, 所述第二執行單元中延時定時器的時長等于初始時長乘以2的N次方秒,其中該N為連續超時的次數。
10.根據權利要求6所述的數據震蕩環境下的高可靠性備份的實現裝置,其特征在于, 所述第一執行單元還用于檢測增量備份開關是否關閉;在判斷為否時,繼續進行增量備份;在判斷為是時,檢測進行增量備份的數據量是否小于恢復閾值,若小于恢復閾值則啟動第三執行單元,若大于恢復閾值則結束處理。
全文摘要
本發明提供一種數據震蕩環境下的高可靠性備份的實現方法,包括以下步驟S10,檢測主備板卡進行增量備份的網絡環境是否處于異常的數據震蕩環境;S20,S10判斷為否時,繼續進行增量備份;S30,S10判斷為是時,關閉增量備份,同時設置延時定時器時長,并啟動延時定時器;S40,判斷延時定時器是否超時;S50,S40判斷為是時,執行初始備份,并打開增量備份開關,然后循環至S10步驟;S60,S40判斷為否時,繼續等待延時定時器超時并在超時后執行S50步驟。由此可降低主板卡上備份數據所消耗的CPU占用率,提高主板卡處理網絡業務的能力,提高分布式系統的高可靠性性能,降低宕機風險。
文檔編號H04L1/22GK102412948SQ201110365488
公開日2012年4月11日 申請日期2011年11月17日 優先權日2011年11月17日
發明者張衛峰, 曹坤, 李偉浩, 王巍 申請人:盛科網絡(蘇州)有限公司