專利名稱:無盤系統中實現服務器熱備份的方法
技術領域:
本發明屬于信息技術領域,涉及多服務器實時備份方法,具體涉及一種在無盤系統中實現服務器熱備份的方法。
背景技術:
現有技術中,常規的多服務器實時備份的技術一般通過服務器集群方式來實現,其實現和維護的成本很高。所以在一般無盤網絡環境中,多服務器備份都不是實時的,如發生服務器宕機的情況,客戶端會停止運行,必須重啟客戶端才能從其他備份服務器啟動運行。這樣會導致產生客戶端數據丟失的問題。
發明內容
本發明的目的是克服上述現有技術中的問題,提供一種無盤系統中實現服務器熱備份的方法,該方法能夠實現無盤網絡多服務器環境下服務器之間互為熱備份的功能,且工作性能穩定可靠,適用范圍較為廣泛。為了實現上述目的,本發明采用的技術方案如下一種無盤系統中實現服務器熱備份的方法,所述無盤系統包括客戶端和至少兩臺服務器,所述客戶端通過網絡與各服務器連接,所述方法包括以下步驟I)所述各服務器之間保持同步 和數據一致性,且所述客戶端設定其中一臺服務器為主服務器,其它服務器為副服務器;2)所述客戶端通過網絡從所述主服務器中讀取數據信息,并根據用戶的輸入操作同時向所述主服務器和所述副服務器中寫入數據信息;3)所述主服務器發生故障時,所述客戶端重新設定其它服務器中的一臺服務器為主服務器,并通過該主服務器進行步驟2)所述讀取或寫入數據的操作。上述方法中,所述服務器中的數據信息讀寫方式為以扇區的方式進行讀寫操作。上述方法中,所述服務器中的數據信息存儲區域為虛擬磁盤鏡像文件。上述方法中,所述服務器每隔一預設時間檢測一遍鏡像包版本號是否一致,如果不一致,則副服務器從主服務器進行鏡像包同步。優選地,所述預設時間為I秒鐘。一種采用上述方法實現服務器熱備份的無盤系統,包括客戶端和至少兩臺服務器,所述客戶端通過網絡與各服務器連接;所述各服務器之間保持同步和數據一致性,且其中一臺服務器為主服務器,其它服務器為副服務器;所述客戶端通過網絡從所述主服務器中讀取數據信息,并根據用戶的輸入操作同時向所述主服務器和所述副服務器中寫入輸入數據信息;所述主服務器發生故障時,所述客戶端設定其它服務器中的一臺服務器為主服務器。本發明的無盤系統中實現服務器熱備份控制的方法,由于其中服務器的虛擬磁盤鏡像文件是以扇區的方式讀寫,而不是以文件的形式讀寫,從而保證服務器之間同步的數據是完全相同的,客戶端在切換服務器時所讀取的數據也是完全一致的;同時客戶端在向服務器寫入臨時數據時,會同時往兩臺互為熱備份的服務器各寫入一份相同的數據,這樣就保證了在一臺服務器有故障時,客戶端能從另一臺熱備服務器繼續正常讀寫數據,而不會發生數據丟失的情況,從而實現了無盤網絡多服務器環境下服務器之間互為熱備份的功能。服務器所負載的客戶端即使在開機運行的狀態下也能在線自動切換至正常的服務器,客戶端不會死機、也不會有停頓,運行完全正常,從而對客戶端不會有任何影響;客戶端會自動轉換至正常服務器讀寫數據,且這個過程對用戶而言是透明的、無縫的,工作性能穩定可靠,適用范圍較為廣泛,尤其能夠應用于金融、軍隊等高可靠性要求的行業。
圖1為實施例的無盤系統中實現服務器熱備份控制的方法中服務器端部署示意圖。圖2為實施例的無盤系統中實現服務器熱備份控制的方法中正常情況下客戶端和服務器端的讀寫過程示意圖。圖3為實施例的無盤系統中實現服務器熱備份控制的方法中主服務器故障情況下客戶端和服務器端讀寫過程示意圖。
具體實施方式
為了能夠更清楚地理解本發明的技術內容,特舉以下實施例詳細說明。請參閱圖1所示,本實施例的無盤系統中實現服務器熱備份控制的方法,其所述的無盤系統包括客戶端和至少兩臺服務器,所述的客戶端通過網絡與各個服務器均相連接,該方法包括以下步驟(I)客戶端和服務器均進行啟動和初始化操作;(2)所述的各個服務器之間保持同步和數據一致性,且所述的客戶端設定其中一臺服務器為主服務器;(3)所述的客戶端通過網絡從主服務器中讀取數據信息;(4)所述的客戶端根據用戶的輸入操作,同時向所述的主服務器和其它服務器中寫入輸入數據信息;(5)在所述的主服務器發生故障的情況下,客戶端重新設定其它服務器中一臺服務器為主服務器,即客戶端自動轉換至正常服務器;(6)返回上述的步驟(3),客戶端從新的主服務器中讀取數據或向其中寫入數據。上述方法中,所述服務器中的數據信息讀寫方式為以扇區的方式進行讀寫操作,所述的服務器中的數據信息存儲區域為虛擬磁盤鏡像文件。上述方法主要實現了無盤網絡多服務器環境下,服務器之間互為熱備份的功能。其特點是實現了 “實時在線熱備份”,簡單點說,就是某臺服務器如意外宕機或其他故障導致無法正常運行,那么該服務器所負載的客戶端即使在開機運行的狀態下也能在線自動切換至正常的服務器,客戶端不會死機、也不會有停頓,運行完全正常。上述方法的實現原理是服務端的虛擬磁盤鏡像文件是以扇區的方式讀寫,而不是以文件的形式讀寫;另外,服務器每隔一預設時間(如I秒鐘)檢測一遍鏡像包版本號是否一致,如果不一致,則副服務器會從主服務器開始進行鏡像包同步,這樣就能保證服務器之間同步數據是及時的和完全相同的,客戶端在切換服務器時所讀取到數據也是完全一致的。而客戶端在向服務器寫入臨時數據時,會同時往至少兩臺互為熱備份的服務器各寫入一份相同的數據(同時往各服務器的回寫目錄中寫入臨時數據),這樣就保證了在一臺服務器有故障時,客戶端能從另一臺熱備服務器繼續正常讀寫數據,而不會發生數據丟失的情況,從而實現熱備份功能。其實現方式可以是雙機熱備份,也可以是多機熱備份,視不同的應用需求而定。下面以兩臺服務器為例,說明上述方法的具體實現步驟(I)假設A、B兩臺服務器,A是主服務器(可由客戶端設定),B是副服務器,如圖1所示;副服務器從主服務器實時同步,確保兩臺服務器數據一致;(2)客戶端C從A服務器啟動,從A服務器讀取數據,而寫入數據時會同時向A、B兩臺服務器寫入相同的數據,如圖2所示;(3)如果此時A服務器發生故障,客戶端C因此無法從A服務器獲得數據,則其切換機制開始生效,客戶端C會立即向B服務器請求數據,如圖3所示;由于A、B兩臺服務器內容完全相同,所以客戶端C仍可正常讀取。而寫入數據部分由于先前客戶端C是同時往兩臺服務器寫入了相同的內容,所以在切換到副服務器B后,仍能繼續正常寫入數據,從而保證了客戶端正常運行。同時,上述方法是完全的實時熱備份,在多服務器互相備份的情況下,如發生服務器意外宕機的情況,那么對其負載的客戶端不會有任何影響,客戶端會自動轉換至正常服務器讀寫數據,這個過程對用戶而言是透明的、無縫的,客戶端保持正常運行。所以通過本發明的服務器熱備份技術,使無盤系統能夠應用于金融、軍隊等高可靠性要求的行業。本發明的無盤系統中實現服務器熱備份控制的方法,由于其中服務器的虛擬磁盤鏡像文件是以扇區的方式讀寫,而不是以文件的形式讀寫,從而保證服務器之間同步的數據是完全相同的,客戶端在切換服務器時所讀取的數據也是完全一致的。同時客戶端在向服務器寫入臨時數據時,會同時往兩臺互為熱備份的服務器各寫入一份相同的數據,這樣就保證了在一臺服務器有故障時,客戶端能從另一臺熱備服務器繼續正常讀寫數據,而不會發生數據丟失的情況,從而實現了無盤網絡多服務器環境下服務器之間互為熱備份的功能。服務器所負載的客戶端即使在開機運行的狀態下也能在線自動切換至正常的服務器,客戶端不會死機、也不會有停頓,運行完全正常,從而對客戶端不會有任何影響;客戶端會自動轉換至正常服務器讀寫數據,且這個過程對用戶而言是透明的、無縫的,工作性能穩定可靠,適用范圍較為廣泛,尤其能夠應用于金融、軍隊等高可靠性要求的行業。以上實施例僅用以說明本發明的技術方案而非對其進行限制,本領域的普通技術人員可以對本發明的技術方案進行修改或者等同替換,而不脫離本發明的精神和范圍,本發明的保護范圍應以權利要求書所述為準。
權利要求
1.一種無盤系統中實現服務器熱備份的方法,所述無盤系統包括客戶端和至少兩臺服務器,所述客戶端通過網絡與各服務器連接,所述方法包括以下步驟1)所述各服務器之間保持同步和數據一致性,且所述客戶端設定其中一臺服務器為主服務器,其它服務器為副服務器;2)所述客戶端通過網絡從所述主服務器中讀取數據信息,并根據用戶的輸入操作同時向所述主服務器和所述副服務器中寫入數據信息;3)所述主服務器發生故障時,所述客戶端重新設定其它服務器中的一臺服務器為主服務器,并通過該主服務器進行步驟2)所述讀取或寫入數據的操作。
2.如權利要求1所述的方法,其特征在于所述服務器以扇區的方式進行數據信息讀寫操作。
3.如權利要求1所述的方法,其特征在于所述服務器中的數據信息存儲區域為虛擬磁盤鏡像文件。
4.如權利要求1所述的方法,其特征在于所述服務器每隔一預設時間檢測一遍鏡像包版本號是否一致,如果不一致,則副服務器從主服務器進行鏡像包同步。
5.如權利要求4所述的方法,其特征在于所述預設時間為I秒鐘。
6.一種實現服務器熱備份的無盤系統,包括客戶端和至少兩臺服務器,所述客戶端通過網絡與各服務器連接;所述各服務器之間保持同步和數據一致性,且其中一臺服務器為主服務器,其它服務器為副服務器;所述客戶端通過網絡從所述主服務器中讀取數據信息, 并根據用戶的輸入操作同時向所述主服務器和所述副服務器中寫入數據信息;所述主服務器發生故障時,所述客戶端設定其它服務器中的一臺服務器為主服務器。
7.如權利要求6所述的無盤系統,其特征在于所述服務器以扇區的方式進行數據信息讀寫操作。
8.如權利要求6所述的無盤系統,其特征在于所述服務器中的數據信息存儲區域為虛擬磁盤鏡像文件。
9.如權利要求6所述的無盤系統,其特征在于所述服務器每隔一預設時間檢測一遍鏡像包版本號是否一致,如果不一致,則副服務器從主服務器進行鏡像包同步。
10.如權利要求9所述的無盤系統,其特征在于所述預設時間為I秒鐘。
全文摘要
本發明提供一種無盤系統中實現服務器熱備份的方法,所述無盤系統包括客戶端和至少兩臺服務器,所述方法包括以下步驟各服務器之間保持同步和數據一致性,且其中一臺服務器為主服務器,其它服務器為副服務器;客戶端通過網絡從主服務器中讀取數據信息,并根據用戶的輸入操作同時向主服務器和副服務器中寫入數據信息;主服務器發生故障時,所述客戶端重新設定其它服務器中的一臺服務器為主服務器,并通過該主服務器進行讀取或寫入數據的操作。所述服務器以扇區的方式進行數據信息讀寫操作,數據信息存儲區域為虛擬磁盤鏡像文件。本發明能夠實現無盤網絡多服務器環境下服務器之間互為熱備份的功能,且工作性能穩定可靠,適用范圍較為廣泛。
文檔編號H04L12/24GK103036722SQ20121054165
公開日2013年4月10日 申請日期2012年12月13日 優先權日2012年12月13日
發明者陳實如, 代忠財, 鄭長兵, 賈娟花 申請人:方正科技集團股份有限公司