數據庫容災系統和數據庫容災方法
【專利摘要】本發明公開了一種數據庫容災系統和數據庫容災方法,該容災系統包括:主用服務器、第一備用服務器、至少一個第二備用服務器、檢測單元、浮動IP控制單元和切換腳本。本發明的技術方案通過在該容災系統處于初始狀態時,主用服務器配置第一浮動IP,第一備用服務器配置第二浮動IP,主用服務器具備數據寫入業務,第一備用服務器具備數據讀取業務,從而實現了容災系統的負載分攤;同時,檢測單元檢測主用服務器、第一備用服務器以及第二備用服務器是否異常,且當檢測出主用服務器、第一備用服務器以及第二備用服務器中的至少一個異常時,浮動IP控制單元控制第一浮動IP和/或第二浮動IP浮動至目標服務器,從而實現了服務器的互備容災,最大化保證系統內資源可用。
【專利說明】數據庫容災系統和數據庫容災方法
【技術領域】
[0001]本發明涉及數據庫【技術領域】,特別涉及一種數據庫容災系統和數據庫容災方法。
【背景技術】
[0002]企業對數據庫需求多樣,尤其對于不同配置、不同容量、不同功能的完全資源隔離數據庫產品的需求日益強烈,目前部署單一配置數據庫產品難以應付企業的多樣化需求。
[0003]市場上存在的數據庫產品基本是部署在物理服務器內的,這就導致遷移、備份和應對多種不同業務需求比較困難;若在云計算環境下的虛機上直接部署數據庫,形成的單純的數據庫系統的1性能滿足不了需求,并且數據資源的安全性能也比較差。
【發明內容】
[0004]本發明提供一種數據庫容災系統和數據庫容災方法,該數據庫容災系統實現了服務器的負載分攤、互備容災,最大化保證了系統內資源可用。
[0005]為實現上述目的,本發明提供一種數據庫容災系統,包括:
[0006]主用服務器,配置有第一浮動IP ;
[0007]第一備用服務器和至少一個第二備用服務器,其中第一備用服務器配置有第二浮動IP ;
[0008]檢測單元,用于檢測所述主用服務器、所述第一備用服務器以及所述第二備用服務器是否異常;
[0009]浮動IP控制單元,用于當檢測出所述主用服務器、所述第一備用服務器以及所述第二備用服務器中的至少一個異常時,控制所述第一浮動IP和/或所述第二浮動IP浮動至目標服務器;
[0010]腳本控制單元,控制所述目標服務器運行切換腳本,以使所述目標服務器具備相應的服務業務。
[0011]可選地,所述第二備用服務器的數量為一個。
[0012]可選地,所述浮動IP控制單元具體用于,當檢測出所述主用服務器異常時,控制所述第一浮動IP浮動至目標服務器,所述目標服務器為第二備用服務器。
[0013]可選地,所述浮動IP控制單元具體用于,當檢測出所述第一備用服務器異常時,控制所述第二浮動IP浮動至目標服務器,所述目標服務器為第二備用服務器。
[0014]可選地,所述浮動IP控制單元具體用于,當檢測出所述主用服務器和所述第一備用服務器均異常時,控制所述第一浮動IP浮動和所述第二浮動IP浮動至目標服務器,所述目標服務器為第二備用服務器。
[0015]可選地,所述浮動IP控制單元具體用于,當檢測出所述主用服務器和所述第二備用服務器均異常時,控制所述第一浮動IP浮動至目標服務器,所述目標服務器為第一備用服務器。
[0016]可選地,所述浮動IP控制單元具體用于,當檢測出所述第一備用服務器和所述第二備用服務器均異常時,控制所述第二浮動IP浮動至目標服務器,所述目標服務器為主用服務器。
[0017]為實現上述目的,本發明提供一種數據庫容災方法,包括:
[0018]檢測所述主用服務器、所述第一備用服務器以及所述第二備用服務器是否異常,所述主用服務器配置有第一浮動IP,所述第一備用服務器配置有第二浮動IP ;
[0019]當檢測出所述主用服務器、所述第一備用服務器以及所述第二備用服務器中的至少一個異常時,控制所述第一浮動IP和/或所述第二浮動IP浮動至目標服務器;
[0020]控制所述目標服務器運行切換腳本,以使所述目標服務器具備相應的服務業務。
[0021]可選地,所述第二備用服務器的數量為一個。
[0022]可選地,所述當檢測出所述主用服務器、所述第一備用服務器以及所述第二備用服務器中的至少一個異常時,控制所述第一浮動IP或第二浮動IP浮動至目標服務器的步驟包括:
[0023]當檢測出所述主用服務器異常時,控制所述第一浮動IP浮動至目標服務器,所述目標服務器為第二備用服務器。
[0024]可選地,所述當檢測出所述主用服務器、所述第一備用服務器以及所述第二備用服務器中的至少一個異常時,控制所述第一浮動IP或第二浮動IP浮動至目標服務器的步驟包括:
[0025]當檢測出所述第一備用服務器異常時,控制所述第二浮動IP浮動至目標服務器,所述目標服務器為第二備用服務器。
[0026]可選地,所述當檢測出所述主用服務器、所述第一備用服務器以及所述第二備用服務器中的至少一個異常時,控制所述第一浮動IP或第二浮動IP浮動至目標服務器的步驟包括:
[0027]當檢測出所述主用服務器和所述第一備用服務器均異常時,控制所述第一浮動IP浮動和所述第二浮動IP浮動至目標服務器,所述目標服務器為第二備用服務器。
[0028]可選地,所述當檢測出所述主用服務器、所述第一備用服務器以及所述第二備用服務器中的至少一個異常時,控制所述第一浮動IP或第二浮動IP浮動至目標服務器的步驟包括:
[0029]當檢測出所述主用服務器和所述第二備用服務器均異常時,控制所述第一浮動IP浮動至目標服務器,所述目標服務器為第一備用服務器。
[0030]可選地,所述當檢測出所述主用服務器、所述第一備用服務器以及所述第二備用服務器中的至少一個異常時,控制所述第一浮動IP或第二浮動IP浮動至目標服務器的步驟包括:
[0031]當檢測出所述第一備用服務器和所述第二備用服務器均異常時,控制所述第二浮動IP浮動至目標服務器,所述目標服務器為主用服務器。
[0032]本發明具有以下有益效果:
[0033]本發明提供了一種數據庫容災系統和數據庫容災方法,該數據庫容災系統包括:一個主用服務器、一個第一備用服務器、至少一個第二備用服務器、檢測單元、浮動IP控制單元和切換腳本,該數據庫容災系統的結構清晰、簡單,便于實現。同時,當該數據庫容災系統處于初始狀態時主用服務器配置有第一浮動IP,第一備用服務器配置有第二浮動IP,主用服務器具備數據寫入業務,第一備用服務器具備數據讀取業務,從而實現了數據庫容災系統的負載分攤。進一步地,檢測單元實時檢測主用服務器、第一備用服務器以及第二備用服務器是否異常,浮動IP控制單元用于當檢測出主用服務器、第一備用服務器以及第二備用服務器中的至少一個異常時,控制第一浮動IP和/或第二浮動IP浮動至目標服務器,從而實現了服務器之間的互備容災,最大化保證了系統內資源可用,而且整個容災過程基本不用手工干預,所有動作自動完成。
【專利附圖】
【附圖說明】
[0034]圖1為本發明實施例一提供的一種數據庫容災系統的結構示意圖;
[0035]圖2為本發明實施例二提供的一種數據庫容災方法的流程圖。
【具體實施方式】
[0036]為使本領域的技術人員更好地理解本發明的技術方案,下面結合附圖對本發明提供的數據庫容災系統和數據庫容災方法進行詳細描述。
[0037]實施例一
[0038]圖1為本發明實施例一提供的一種數據庫容災系統的結構示意圖,如圖1所示:包括:一個主用服務器1、一個第一備用服務器2、至少一個第二備用服務器3 (圖1中示例性畫出了一個)、檢測單元4、浮動IP控制單元5和腳本控制單元6,其中,主用服務器I配置有第一浮動IP,第一備用服務器2配置有第二浮動IP,檢測單元4用于檢測主用服務器1、第一備用服務器2以及第二備用服務器3是否異常;浮動IP控制單元5用于當檢測出主用服務器1、第一備用服務器2以及第二備用服務器3中的至少一個異常時,控制第一浮動IP和/或第二浮動IP浮動至目標服務器;腳本控制單元6用于控制目標服務器運行切換腳本,以使目標服務器具備相應的服務業務。
[0039]具體地,當目標服務器上配置第一浮動IP時,若目標服務器運行該切換腳本,則目標服務器具備數據寫入業務;當目標服務器上配置第二浮動IP時,若目標服務器運行該切換腳本,則目標服務器備數據只讀業務;當目標服務器上配置第一浮動IP和第二浮動IP時,若目標服務器運行該切換腳本,則目標服務器具備數據寫入業務和數據只讀業務。其中,切換腳本可預先存儲于各服務器的服務目錄中。
[0040]下面結合實例來描述該數據庫容災系統的容災過程。其中,假定第二備用服務器3的數量為一個。
[0041]參考圖1,數據庫容災系統初始狀態:主用服務器I上配置有第一浮動IP,主用服務器I具備數據寫入業務(應用程序向配置有第一浮動IP的服務器寫入數據);第一備用服務器2上配置有第二浮動IP,第一備用服務器2具備數據讀取業務(應用程序向配置有第二浮動IP讀取數據);第二備用服務器3沒有配置浮動IP,第二服務器處于空閑狀態。此時,第一備用服務器2和第二備用服務器3向主用服務器I發送數據更新請求,以實現第一備用服務器2和第二備用服務器3與主用服務器I中的數據同步。同時,檢測單元4實時的檢測主用服務器1、第一備用服務器2以及第二備用服務器3是否異常。需要說明的是,這里“異常”是指服務器硬件發生故障或者服務器硬件沒有故障但是服務器的服務出現故障。本實施例中,數據同步的方向是單向的,只能是不具備數據寫入業務的服務器向具備數據寫入業務的服務器請求數據同步。
[0042]在本實施例中,利用主用服務器I承擔數據寫入業務,第一備用服務器2承擔數據讀取業務,該數據庫容災系統通過讀寫分離的方式,實現了兩個服務器對負載的分擔,從而有效的提升了服務器的運算速度。
[0043]下面針對在不同的服務器出現異常情況下,該數據庫容災系統的相應的工作過程進行描述。
[0044]情形一,當檢測單元4檢測出主用服務器I異常時,浮動IP控制單元5控制主用服務器I上的第一浮動IP浮動至第二備用服務器3,第一備用服務器2上的第二浮動IP不動。同時,將主用服務器I拿去做檢修。需要說明的是,本實施例中通過對IP控制單元5進行設置,使得第一浮動IP或第二浮動IP在浮動時,第一浮動IP或第二浮動IP優先浮動至處于空閑狀態的服務器上。
[0045]當第一浮動IP浮動至第二備用服務器3時,即為第二備用服務器3配置了第一浮動IP,但是此時的第二備用服務器3還不具備數據寫入業務。當腳本控制單元6控制第二備用服務器3運行切換腳本后,第二備用服務器3具備數據寫入業務,應用程序可以向第二備用服務器3寫入數據。此時,第一備用服務器2向第二備用服務器3請求同步數據。
[0046]當主用服務器I修復好并重新處于數據庫容災系統中時,第二備用服務器3上的第一浮動IP重新浮動到主用服務器1,第二備用服務器3再次處于空閑狀態。同時,腳本控制單元6控制主用服務器I運行切換腳本,從而具備數據寫入業務,數據庫容災系統恢復至初始狀態。
[0047]情形二,當檢測單元4檢測出第一備用服務器2異常時,浮動IP控制單元5控制第一備用服務器2上的第二浮動IP浮動至第二備用服務器3,主用服務器I上的第一浮動IP不動。同時,將第一備用服務器2拿去做檢修。
[0048]腳本控制單元6控制第二備用服務器3運行切換腳本后,第二備用服務器3具備數據讀取業務,應用程序可以向第二備用服務器3讀取數據。此時,僅第二備用服務器3向主用務器請求同步數據。
[0049]當第一備用服務器2修復好并重新處于數據庫容災系統中時,第二備用服務器3上的第二浮動IP重新浮動到第一備用服務器2上,第二備用服務器3再次處于空閑狀態。同時,腳本控制單元6控制第一備用服務器2運行切換腳本,從而具備數據讀取業務,數據庫容災系統恢復至初始狀態。
[0050]情形三,當檢測單元4檢測出第二備用服務器3異常時,第一浮動IP和第二浮動IP均不移動,直接將第二備用服務器3進行檢修即可。
[0051 ] 情形四,當檢測單元4檢測出主用服務器I和第一備用服務器2均異常時,浮動IP控制單元5控制第一浮動IP浮動和第二浮動IP浮動至第二備用服務器3。
[0052]在情形四中又具體包括兩種情況:其一,檢測單元4先檢測出主用服務器I異常,且在主用服務器I修復好之前又檢測出第一備用服務器2異常。其二,檢測單元4線先檢測出第一備用服務器2異常,且在第一備用服務器2修復好之前又檢測出主用服務器I異堂巾O
[0053]下面第一種情況為例進行描述。
[0054]具體地,檢測單元4先檢測出主用服務器I異常,浮動IP控制單元5控制第一浮動IP浮動至第二備用服務器3上,腳本控制單元6控制第二備用服務器3運行切換腳本以具備數據寫入業務。此時,檢測單元4又檢測出第一備用服務器2異常,浮動IP控制單元5控制第二浮動IP浮動至第二備用服務器3上,腳本控制單元6控制第二備用服務器3運行切換腳本以具備數據讀取業務。
[0055]此時,第二備用服務器3上配置有第一浮動IP和第二浮動IP,且第二備用服務器3具備數據寫入業務和數據讀取業務。
[0056]當主用服務器I修復好后,第二備用服務器3上的第一浮動IP重新浮動至主用服務器I上;當第一備用服務器2修復好后,第一備用服務器2上的第二浮動IP重新浮動至第一備務器上。當第二備用服務器3上沒有配置浮動IP時,第二備用服務器3再次處于空閑狀態,數據庫容災系統恢復至初始狀態。
[0057]對于第二種情況,浮動IP控制單元5則先控制第二浮動IP浮動至第二備用服務器3上,再控制第一浮動IP浮動至第二備用服務器3上,具體過程可參照上述第一中情況中的描述,此處不再贅述。
[0058]情形五,當檢測單元4檢測出主用服務器I和第二備用服務器3均異常時,浮動IP控制單元5控制第一浮動IP浮動至第一備用服務器2。
[0059]在情形五中又具體包括兩種情況:其一,檢測單元4先檢測出主用服務器I異常,且在主用服務器I修復好之前又檢測出第二備用服務器3異常。其二,檢測單元4線先檢測出第二備用服務器3異常,且在第二備用服務器3修復好之前又檢測出主用服務器I異堂巾O
[0060]下面第一種情況為例進行描述。
[0061]具體地,檢測單元4先檢測出主用服務器I異常,浮動IP控制單元5控制第一浮動IP浮動至第二備用服務器3上,腳本控制單元6控制第二備用服務器3運行切換腳本以具備數據寫入業務。此時,檢測單元4又檢測出第二備用服務器3異常,浮動IP控制單元5控制第二備用服務器3上的第一浮動IP浮動至第一備用服務器2上,腳本控制單元6控制第一備用服務器2運行切換腳本以具備數據寫入業務。
[0062]此時,第一備用服務器2上配置有第一浮動IP和第二浮動IP,且第一備用服務器2具備數據寫入業務和數據讀取業務。
[0063]當主用服務器I修復好后,第一備用服務器2上的第一浮動IP重新浮動至主用服務器I上;當第二備用服務器3修復好后,直接將第二備用服務器3置于數據庫容災系統中即可。數據庫容災系統恢復至初始狀態。
[0064]對于第二種情況,當檢測單元4檢測先出第二備用服務器3異常時,第一浮動IP和第二浮動IP均不動,此時檢測單元4又檢測出主用模塊異常,則浮動IP控制單元5控制主用服務器I上的第一浮動IP浮動至第一備用服務器2上,具體過程不再描述。
[0065]情形六,當檢測單元4檢測出第一備用服務器2和第二備用服務器3均異常時,浮動IP控制單元5控制第二浮動IP浮動至主用服務器I。
[0066]在情形六中又具體包括兩種情況:其一,檢測單元4先檢測出第一備用服務器2異常,且在第一備用服務器2修復好之前又檢測出第二備用服務器3異常。其二,檢測單元4線先檢測出第二備用服務器3異常,且在第二備用服務器3修復好之前又檢測出第一備用服務器2異常。
[0067]下面以第一種情況為例進行描述。
[0068]具體地,檢測單元4先檢測出第一備用服務器2異常,浮動IP控制單元5控制第二浮動IP浮動至第二備用服務器3上,腳本控制單元6控制第二備用服務器3運行切換腳本以具備數據寫入業務。此時,檢測單元4又檢測出第二備用服務器3異常,浮動IP控制單元5控制第二備用服務器3上的第二浮動IP浮動至主用服務器I上,腳本控制單元6控制主用服務器I運行切換腳本以具備數據讀取業務。
[0069]此時,主用服務器I上配置有第一浮動IP和第二浮動IP,主用服務器I具備數據寫入業務和數據讀取業務。
[0070]當第一備用服務器2修復好后,主用服務器I上的第二浮動IP重新浮動至第一備用服務器2上;當第二備用服務器3修復好后,直接將第二備用服務器3置于數據庫容災系統中即可。數據庫容災系統恢復至初始狀態。
[0071]對于第二種情況,當檢測單元4檢測先出第二備用服務器3異常時,第一浮動IP和第二浮動IP均不動,此時檢測單元4又檢測出第一備用模塊異常,則浮動IP控制單元5控制第一備用服務器2上的第二浮動IP浮動至主用服務器I上,具體過程不再描述。
[0072]情形七,當檢測單元4檢測出主用服務器1、第一備用服務器2和第二備用服務器3均異常時,容災失敗。因此第二備用服務器3的個數為一個時,該數據庫容災系統可承受的異常服務器的最大數量為兩個。
[0073]需要說明的是,本實施中第二備用服務器的個數為一個的情況并不對本發明的技術方案產生限制,本發明中第二備用服務器的數量還可以為兩個或多個,且該數據庫容災系統中第二備用服務器的數量越多則容災能力越強,但是會增加相應的硬件成本。
[0074]本實施例一提供了一種數據庫容災系統,該數據庫容災系統包括:一個主用服務器、一個第一備用服務器、至少一個第二備用服務器、檢測單元、浮動IP控制單元和切換腳本,該數據庫容災系統的結構清晰、簡單,便于實現。同時,當該數據庫容災系統處于初始狀態時,主用服務器配置有第一浮動IP,第一備用服務器配置有第二浮動IP,主用服務器具備數據寫入業務,第一備用服務器具備數據讀取業務,從而實現了數據庫容災系統的負載分攤。進一步地,檢測單元實時檢測主用服務器、第一備用服務器以及第二備用服務器是否異常,浮動IP控制單元用于當檢測出主用服務器、第一備用服務器以及第二備用服務器中的至少一個異常時,控制第一浮動IP和/或第二浮動IP浮動至目標服務器,從而實現了服務器之間的互備容災,最大化保證了系統內資源可用,而且整個容災過程基本不用手工干預,所有動作自動完成。
[0075]實施例二
[0076]圖2為本發明實施例二提供的一種數據庫容災方法的流程圖,如圖2所示,該數據庫容災方法基于數據庫容災系統,該數據庫容災系統可采用上述實施例一提供的數據庫容災系統,該數據庫容災方法包括:
[0077]步驟101:檢測主用服務器、第一備用服務器以及第二備用服務器是否異常。
[0078]步驟101可由上述實施例一中的檢測單元來執行,具體可參見上述實施例一中的描述。
[0079]該數據庫容災系統處于初始狀態時,主用服務器配置有第一浮動IP,所述第一備用服務器配置有第二浮動IP。
[0080]步驟102:當檢測出主用服務器、第一備用服務器以及第二備用服務器中的至少一個異常時,控制第一浮動IP和/或第二浮動IP浮動至目標服務器;
[0081]步驟102可有上述實施例一中的浮動IP檢測單元來執行,具體可參見上述實施例一中的描述。
[0082]在本實施例中,假定第二備用服務器的數量為一個,在步驟102中,浮動IP檢測單元檢測出的服務器的異常可為如下幾種情形。
[0083]情形一,當檢測單元檢測出主用服務器異常時,浮動IP控制單元控制主用服務器上的第一浮動IP浮動至目標服務器,該目標服務器為第二備用服務器。
[0084]情形二,當檢測單元檢測出第一備用服務器異常時,浮動IP控制單元控制第一備用服務器上的第二浮動IP浮動至目標服務器,該目標服務器為第二備用服務器。
[0085]情形三,當檢測單元檢測出第二備用服務器異常時,第一浮動IP和第二浮動IP均不移動,直接將第二備用服務器進行檢修即可。
[0086]情形四,當檢測單元檢測出主用服務器和第一備用服務器均異常時,浮動IP控制單元控制第一浮動IP浮動和第二浮動IP浮動至目標服務器,該目標服務器為第二備用服務器。
[0087]在情形四中又具體包括兩種情況:其一,檢測單元先檢測出主用服務器異常,且在主用服務器修復好之前又檢測出第一備用服務器異常。對于此種情況,浮動IP控制單元先控制主用服務器異常上的第一浮動IP浮動至第二備用服務器,然后再控制第一備用服務器上的第二浮動IP浮動至第二備用服務器上。
[0088]其二,檢測單元線先檢測出第一備用服務器異常,且在第一備用服務器修復好之前又檢測出主用服務器異常。對于此種情況:浮動IP控制單元先控制第一備用服務器上的第二浮動IP浮動至第二備用服務器上,然后再控制主用服務器異常上的第一浮動IP浮動至第二備用服務器上。
[0089]情形五,當檢測單元檢測出主用服務器和第二備用服務器均異常時,浮動IP控制單元控制第一浮動IP浮動至目標服務器,目標服務器為第一備用服務器。
[0090]在情形五中又具體包括兩種情況:其一,檢測單元先檢測出主用服務器異常,且在主用服務器修復好之前又檢測出第二備用服務器異常。對于此種情況,浮動IP控制單元先控制主用服務器異常上的第一浮動IP浮動至第二備用服務器,然后再控制第二備用服務器上的第一浮動IP浮動至第一備用服務器上。
[0091]其二,檢測單元線先檢測出第二備用服務器異常,且在第二備用服務器修復好之前又檢測出主用服務器異常。對于此種情況:當先檢測出第二備用服務器異常時,浮動IP控制單元不作任何處理,當后檢測出主用服務器異常時,浮動IP控制單元控制主用服務器上的第一浮動IP浮動至第一備用服務器上。
[0092]情形六,當檢測單元檢測出第一備用服務器和第二備用服務器均異常時,浮動IP控制單元控制第一浮動IP浮動和第二浮動IP浮動至目標服務器,該目標服務器為主用服務器。
[0093]在情形六中又具體包括兩種情況:其一,檢測單元先檢測出第一備用服務器異常,且在第一備用服務器修復好之前又檢測出第二備用服務器異常。對于此種情況,浮動IP控制單元先控制第一備用服務器異常上的第二浮動IP浮動至第二備用服務器,然后再控制第二備用服務器上的第二浮動IP浮動至主用服務器上。
[0094]其二,檢測單元線先檢測出第二備用服務器異常,且在第二備用服務器修復好之前又檢測出第一備用服務器異常。對于此種情況:當先檢測出第二備用服務器異常時,浮動IP控制單元不作任何處理,當后檢測出第一備用服務器異常時,浮動IP控制單元控制第一備用服務器上的第二浮動IP浮動至主用服務器上。
[0095]步驟103:控制目標服務器運行切換腳本,以使目標服務器具備相應的服務業務。
[0096]步驟103可由上述實施例一中的腳本控制單元來執行,具體可參見上述實施例一中的描述。
[0097]在步驟103中,當目標服務器上配置第一浮動IP時,若目標服務器運行切換腳本,則目標服務器具備數據寫入業務;當目標服務器上配置第二浮動IP時,若目標服務器運行切換腳本,則目標服務器備數據只讀業務;當目標服務器上配置第一浮動IP和第二浮動IP時,若目標服務器運行切換腳本,則目標服務器具備數據寫入業務和數據只讀業務。
[0098]本實施例二提供了一種數據庫容災方法,該數據庫容災方法基于數據庫容災系統,該數據庫容災系統包括:一個主用服務器、一個第一備用服務器、至少一個第二備用服務器、檢測單元、浮動IP控制單元和切換腳本,該數據庫容災系統的結構清晰、簡單,便于實現。同時,當該數據庫容災系統處于初始狀態時,主用服務器配置有第一浮動IP,第一備用服務器配置有第二浮動IP,主用服務器具備數據寫入業務,第一備用服務器具備數據讀取業務,從而實現了數據庫容災系統的負載分攤。進一步地,檢測單元實時檢測主用服務器、第一備用服務器以及第二備用服務器是否異常,浮動IP控制單元用于當檢測出主用服務器、第一備用服務器以及第二備用服務器中的至少一個異常時,控制第一浮動IP和/或第二浮動IP浮動至目標服務器,從而實現了服務器之間的互備容災,最大化保證了系統內資源可用,而且整個容災過程基本不用手工干預,所有動作自動完成。
[0099]可以理解的是,以上實施方式僅僅是為了說明本發明的原理而采用的示例性實施方式,然而本發明并不局限于此。對于本領域內的普通技術人員而言,在不脫離本發明的精神和實質的情況下,可以做出各種變型和改進,這些變型和改進也視為本發明的保護范圍。
【權利要求】
1.一種數據庫容災系統,其特征在于,包括: 主用服務器,配置有第一浮動IP ; 第一備用服務器和至少一個第二備用服務器,其中第一備用服務器配置有第二浮動IP ; 檢測單元,用于檢測所述主用服務器、所述第一備用服務器以及所述第二備用服務器是否異常; 浮動IP控制單元,用于當檢測出所述主用服務器、所述第一備用服務器以及所述第二備用服務器中的至少一個異常時,控制所述第一浮動IP和/或所述第二浮動IP浮動至目標服務器; 腳本控制單元,用于控制所述目標服務器運行切換腳本,以使所述目標服務器具備相應的服務業務。
2.根據權利要求1所述的數據庫容災系統,其特征在于,所述第二備用服務器的數量為一個。
3.根據權利要求2所述的數據庫容災系統,其特征在于,所述浮動IP控制單元具體用于,當檢測出所述主用服務器異常時,控制所述第一浮動IP浮動至目標服務器,所述目標服務器為第二備用服務器。
4.根據權利要求2所述的數據庫容災系統,其特征在于,所述浮動IP控制單元具體用于,當檢測出所述第一備用服務器異常時,控制所述第二浮動IP浮動至目標服務器,所述目標服務器為第二備用服務器。
5.根據權利要求2所述的數據庫容災系統,其特征在于,所述浮動IP控制單元具體用于,當檢測出所述主用服務器和所述第一備用服務器均異常時,控制所述第一浮動IP浮動和所述第二浮動IP浮動至目標服務器,所述目標服務器為第二備用服務器。
6.根據權利要求2所述的數據庫容災系統,其特征在于,所述浮動IP控制單元具體用于,當檢測出所述主用服務器和所述第二備用服務器均異常時,控制所述第一浮動IP浮動至目標服務器,所述目標服務器為第一備用服務器。
7.根據權利要求2所述的數據庫容災系統,其特征在于,所述浮動IP控制單元具體用于,當檢測出所述第一備用服務器和所述第二備用服務器均異常時,控制所述第二浮動IP浮動至目標服務器,所述目標服務器為主用服務器。
8.一種數據庫容災方法,其特征在于,包括: 檢測所述主用服務器、所述第一備用服務器以及所述第二備用服務器是否異常,所述主用服務器配置有第一浮動IP,所述第一備用服務器配置有第二浮動IP ; 當檢測出所述主用服務器、所述第一備用服務器以及所述第二備用服務器中的至少一個異常時,控制所述第一浮動IP和/或所述第二浮動IP浮動至目標服務器; 控制所述目標服務器運行切換腳本,以使所述目標服務器具備相應的服務業務。
9.根據權利要求1所述的數據庫容災方法,其特征在于,所述第二備用服務器的數量為一個。
10.根據權利要求9所述的數據庫容災方法,其特征在于,所述當檢測出所述主用服務器、所述第一備用服務器以及所述第二備用服務器中的至少一個異常時,控制所述第一浮動IP或第二浮動IP浮動至目標服務器的步驟包括: 當檢測出所述主用服務器異常時,控制所述第一浮動IP浮動至目標服務器,所述目標服務器為第二備用服務器。
11.根據權利要求9所述的數據庫容災方法,其特征在于,所述當檢測出所述主用服務器、所述第一備用服務器以及所述第二備用服務器中的至少一個異常時,控制所述第一浮動IP或第二浮動IP浮動至目標服務器的步驟包括: 當檢測出所述第一備用服務器異常時,控制所述第二浮動IP浮動至目標服務器,所述目標服務器為第二備用服務器。
12.根據權利要求9所述的數據庫容災方法,其特征在于,所述當檢測出所述主用服務器、所述第一備用服務器以及所述第二備用服務器中的至少一個異常時,控制所述第一浮動IP或第二浮動IP浮動至目標服務器的步驟包括: 當檢測出所述主用服務器和所述第一備用服務器均異常時,控制所述第一浮動IP浮動和所述第二浮動IP浮動至目標服務器,所述目標服務器為第二備用服務器。
13.根據權利要求9所述的數據庫容災方法,其特征在于,所述當檢測出所述主用服務器、所述第一備用服務器以及所述第二備用服務器中的至少一個異常時,控制所述第一浮動IP或第二浮動IP浮動至目標服務器的步驟包括: 當檢測出所述主用服務器和所述第二備用服務器均異常時,控制所述第一浮動IP浮動至目標服務器,所述目標服務器為第一備用服務器。
14.根據權利要求9所述的數據庫容災方法,其特征在于,所述當檢測出所述主用服務器、所述第一備用服務器以及所述第二備用服務器中的至少一個異常時,控制所述第一浮動IP或第二浮動IP浮動至目標服務器的步驟包括: 當檢測出所述第一備用服務器和所述第二備用服務器均異常時,控制所述第二浮動IP浮動至目標服務器,所述目標服務器為主用服務器。
【文檔編號】G06F17/30GK104239548SQ201410491536
【公開日】2014年12月24日 申請日期:2014年9月23日 優先權日:2014年9月23日
【發明者】王貴宗 申請人:中電長城網際系統應用有限公司