新四季網

用於分布式系統中的應用的實時遷移和自動恢復的系統的製作方法

2023-06-12 12:41:01

用於分布式系統中的應用的實時遷移和自動恢復的系統的製作方法
【專利摘要】用於在多個伺服器之中的應用分布的方法和裝置,確保對用於該應用的主設備上的應用數據的改變被異步地複製到用於該應用的多個從設備。伺服器可以位於地理上不同的位置中;本發明準許通過高等待時間和有損的網絡連接的數據複製以及在硬體和網絡故障條件下的故障容許。對應用的訪問由分布式協議處理機調解,其允許針對任何應用的任何請求被尋址到任何伺服器,並且其當與複製系統合作地工作時,即刻暫停連接以允許應用及其狀態在伺服器之前的無縫、一致的實時遷移。另外,一種系統,其基於由每個應用所生成的負載的動態測量和每個應用的拓撲偏好而控制上述實時遷移,以便自動將伺服器保持在最優利用水平。
【專利說明】用於分布式系統中的應用的實時遷移和自動恢復的系統

【技術領域】
[0001] 本發明涉及在伺服器集群上管理多個應用,並且具體地但不排他地涉及用於以分 區和容許故障的方式異步地複製與跨高等待時間的聯網系統中的多個(虛擬或物理)服務 器(集群)的應用集合有關的數據的機制和裝置。

【背景技術】
[0002] 對於託管(host)網絡連接的應用的組織(包括但不限於,託管網際網路上的網站的 公司)而言,存在兩個關鍵問題 : 1.組件、伺服器、網絡和存儲設備可能故障,在這種情況下將需要也許手動地從輔助 (secondary)數據存儲(諸如在災難恢復站點處的備份)中恢復應用。我們將稱此為冗餘問 題。
[0003] 2.由應用所生成的負載可能隨時間而顯著地變化,例如網站可能經歷業務量中的 尖峰,因此應用可能需要在伺服器之間移動以便維持可接受水平的利用。我們將稱此為負 載平衡問題。
[0004] 在冗餘問題的情況下,當前解決方案包括: ?例如通過雙冗餘電源的使用來在物理硬體層級上添加冗餘。對於該途徑的缺點包括: 在單個伺服器內完全消除單點故障是極其困難(即,昂貴)的,並且即便這能夠實現,系統仍 將在作業系統或其它應用軟體中具有單點故障(例如web (網絡)伺服器或內核(kernel)可 能崩潰)。
[0005] ?虛擬化伺服器並且將存儲器和系統狀態中的每個改變通過高速LAN (局域 網)複製到第二物理主機,使得如果第一主機故障則第二主機能夠接管,例如利用VMware vMotion。對該途徑的缺點包括:虛擬化在應用上強加性能開銷,其需要幾乎兩個伺服器 的資源來運行(實時的那個和複製品),並且複製品在地理上只能夠定位在本地。此外該途 徑僅在共享的存儲後端的情況下工作,其可能昂貴得令人望而卻步。而且該途徑在沒有 伺服器之間的高速連接性的情況下不能被應用在數據中心之間或者商品設置(commodity setup)上。
[0006] 在負載平衡問題的情況下,當前解決方案包括: ?當負載的尖峰發生時在伺服器之間手動地移動應用。該途徑的缺點包括:單獨的服 務器易受其所託管的應用中任何一個的負載中的尖峰傷害,其能夠導致伺服器上所有託管 的應用崩潰,以及對於可能顯著延遲恢復時間的手動幹預的需要。
[0007] ?利用作業系統層級約束來隔離在系統上生成大量負載的應用,例如CloudLinux 內核擴展。該途徑的缺點包括:如果應用經歷負載中的尖峰,則實際上使該應用離線(或者 使其非常緩慢地運行),直到它被手動移動到另一伺服器為止。
[0008] ?使用負載平衡器裝置(硬體或軟體),結合無狀態或半無狀態應用伺服器和共享 的存儲後端(SAN),以便跨多個伺服器而分配應用的負載。我們將稱該解決方案為"經典 集群"。對於該途徑的缺點包括:SAN自身充當單點故障,其故障可以是災難性的,並且這 樣的集群不能在地理上跨不同區域而進行操作。對於典型集群的另外的缺點包括:需要 實現針對"裂腦(split-brain)"問題的複雜解決方案,其中伺服器變成從彼此斷開但卻不 從共享的存儲介質斷開,這能夠導致數據毀損,從而需要管理員設置定額(quorum)、圍欄 (fencing)或ST0NITH ("將其它節點爆頭"),用以如果伺服器變得無響應則將其物理斷電。


【發明內容】

[0009] -種被配置成將服務遞送到被連接到伺服器的至少一個客戶端的伺服器,所述服 務器可操作於主角色(master role)或從角色(slave role)的任一個中以用於多個應用中 的每一個,所述伺服器包括: 用於將伺服器連接到類似伺服器的集群中的至少一個其它類似伺服器的網絡接口; 當伺服器處於針對應用的主角色中時可操作的服務遞送邏輯,以用於託管該應用以將 服務遞送到客戶端; 當伺服器處於針對應用的主角色中時可操作的主邏輯,其被配置成將該應用的數據中 的改變複製到集群的可配置數量的伺服器; 當伺服器處於針對託管在集群中另一伺服器上的應用的從角色中時可操作的從邏輯, 其被配置成從集群的用於該應用的當前主伺服器接收經複製的數據改變並且維護用於該 應用的實時應用數據的版本; 控制邏輯,其被配置成檢測集群中的事件並且響應於該事件而自主地將用於應用中的 一個或多個的伺服器的角色在從和主之間轉變,其中角色由從到主的改變使用所維護的版 本來託管該應用。
[0010] 伺服器能夠託管一個或多個應用一也就是說它能夠是用於一個或多個實時應用 的主伺服器。該伺服器還能夠同時充當用於由不同伺服器託管的一個或多個實時應用的從 設備(slave)。 toon] 將顯而易見的是,短語"在主和從之間"覆蓋角色由主到從或由從到主的改變。
[0012] 在實施例中,主邏輯可以包括文件系統安裝處理機(handler),其可操作於發送模 式中以將數據中的改變傳輸到集群的可配置數量的伺服器。
[0013] 主邏輯可以包括快照複製器,其被配置成拍下服務當前所託管的應用的文件系統 的快照。
[0014] 主邏輯可以包括至少一個每從設備發送器(per slave sender)以用於將由服務 器託管的實時應用的數據中的改變複製到集群的相應伺服器。
[0015] 所述至少一個每從設備發送器可以由基於所需數量的從伺服器而用於每個從設 備的快照複製器所例示。
[0016] 從邏輯可以包括被配置成接收經複製的數據改變的接收複製器以及被配置在接 收模式中以維護實時應用數據的版本的文件系統安裝處理機。
[0017] 控制邏輯可以被配置成發出指示其在集群中的實時存在的周期性心跳信號。
[0018] 控制邏輯可以被配置成從集群中的其它類似伺服器接收心跳信號,並且從而確定 伺服器在集群中的實時存在狀態。
[0019] 控制邏輯可以被配置成檢測選自以下各項的事件: (i)用於應用的當前主伺服器的故障; (ii) 集群的分區; (iii) 集群中伺服器的數量的減少; (iv) 集群中伺服器的數量的增加; (v) 將用戶針對其已表達了對於託管應用的偏好的伺服器引入到集群中; (vi) 在集群中伺服器之中的應用的負載改變,使得需要負載重新平衡事件。
[0020] 控制邏輯可以被配置成發送和接收來自集群中其它伺服器的消息,所述消息輸送 數據,由此能夠做出關於伺服器針對應用的角色的自主決定。
[0021] 所述消息可以包括指示所述自主決定的二進位數據。
[0022] 控制邏輯可以被配置成檢測來自集群中所有實時存在的伺服器的消息,並且在做 出關於其針對應用的角色的決定之前從所有這樣的伺服器接收消息。
[0023] 網絡接口可以可操作以維持到集群中最少一個其它類似伺服器的永久連接,由此 在伺服器之間的消息能夠交換。
[0024] 所述或另一網絡接口可以被配置成建立臨時會話以用於傳輸經複製的數據改變。
[0025] 伺服器可以包括協議處理機,其可操作以在該伺服器正託管實時應用時將針對服 務的請求路由到該伺服器。
[0026] 根據本發明的另一方面,可以提供一種系統,其包括多個根據以上伺服器特徵中 任一項的伺服器。
[0027] 根據本發明的另一方面,提供了 一種在伺服器處安裝持有用於實時應用的數據的 文件系統的方法,所述方法包括: 在引起在伺服器處安裝應用的事件之前,在伺服器處從託管該應用的當前主伺服器接 收實時應用數據中的改變並且維護實時應用數據的版本; 響應於該事件,伺服器將其自身識別為新的主伺服器並且使用其所維護的實時應用數 據的版本來安裝用於實時應用的文件系統; 接收針對伺服器處應用的請求並且使用實時應用來服務該請求以遞送服務。
[0028] 在實施例中,所述方法可以被用於從當前主設備的故障中恢復,並且故障可以由 將形成新的主伺服器的從設備自主地檢測到。
[0029] 所述方法可以被用於從當前主伺服器的故障中恢復,並且故障可以由伺服器集群 中的另一伺服器自主地檢測到,其中所述主伺服器與至少一個其它伺服器相連接。
[0030] 所述方法可以被用於從伺服器集群中的分區中恢復,其中當前主伺服器與至少一 個其它伺服器相連接,跟隨在該分區之後,至少兩個伺服器可以自主地將自身標識為潛在 的新的主伺服器,並且在從分區恢復時,潛在的新的主伺服器可以與彼此並且與集群的其 它伺服器協商以確定主伺服器的狀態是應當維持還是轉移。
[0031] 所述方法可以被用於管理其中連接了主伺服器的伺服器集群中的負載,所述方法 可以包括檢測集群中伺服器的數量及其當前的應用負載,並且與集群中的其它伺服器交換 消息以遷移應用來平衡負載。
[0032] 在與集群中的其它伺服器交換消息以確定最高質心度量的文件系統版本之後,月艮 務器可以基於對已被接收的實時應用數據中的改變的快照的分析而將自身標識為新的主 伺服器。
[0033] 安裝實時應用可以包括例示用於將新安裝的文件系統的數據中的改變發送到集 群中至少一個從伺服器的複製器發送功能。
[0034] 當前主設備可以在來自伺服器集群的集合中選擇作為潛在從伺服器的伺服器的 數量。
[0035] 根據本發明的另一方面,提供了一種管理由伺服器集群託管的多個應用的方法, 所述伺服器各自具有通過網絡可連接到至少一個客戶端的接口,每個應用在客戶端處遞送 服務,所述方法包括: 推選集群中的伺服器作為主伺服器,所述主伺服器託管至少一個實時應用; 當主伺服器在託管實時應用時,將實時應用的應用數據中的改變複製到集群中被推選 為從伺服器的可配置數量的伺服器,由此每個所推選的從伺服器維護實時應用的應用數據 的版本,其中當檢測到事件時,響應於集群中的事件,應用的託管從主伺服器轉移到在沒有 用戶幹預的情況下確定的所推選的從伺服器之一,所推選的從伺服器使用其當前應用數據 的版本來安裝應用並且成為新的主伺服器。
[0036] 在實施例中,所述事件可以是基於集群中伺服器的負載而在集群中檢測優選的可 替換主伺服器。
[0037] 所述事件可以是基於集群中伺服器的地點而檢測優選的可替換主伺服器。
[0038] 所述事件可以是基於預定義的用戶偏好而在集群中檢測優選的可替換主伺服器。
[0039] 將實時應用從其當前主伺服器遷移到其從伺服器之一的決定可以在當前主設備 的負載大於集群中所有伺服器的負載平均值以及阻尼因子(Q)時做出。本文中稱為"阻尼" 因子(或"乏晰(fudge)"因子),Q是防止集群中的伺服器不斷交換負載的值。
[0040] 可以通過與集群中的其它伺服器交換消息來檢測事件。
[0041] 事件可以是向集群的添加伺服器。
[0042] 在一個伺服器的添加之前,集群可以包括在單個伺服器中。
[0043] 事件可以是從集群移除伺服器,其中所述移除是預期的並且受控實時遷移被發 起。
[0044] 在向集群添加伺服器時,可以確定伺服器的新負載,並且可以做出關於由集群託 管的應用中的哪些應當被遷移到新添加的伺服器的決定。
[0045] 事件可以是集群中伺服器的故障,其中用於由故障的伺服器所託管的實時應用的 數據可以通過使用集群中正在繼續操作的伺服器上的當前應用的版本來恢復。
[0046] 事件可以是集群的分區,並且在從分區恢復之後,可以從多個潛在競爭的主服務 器中選擇優選的可替換主伺服器作為具有更加有價值的當前應用數據的版本的伺服器。
[0047] 在伺服器之一上所託管的領導者功能(leader function)可以確定用於應用的新 的主伺服器,其中所述領導者功能可以在不同於主設備的伺服器上。
[0048] 根據本發明的另一方面,提供了一種從主伺服器轉移應用的方法,主伺服器從客 戶端接收針對由應用所遞送的服務的請求,所述方法包括: 在引起轉移的事件之前,將應用狀態中的改變複製到集群中的至少一個其它伺服器; 響應於該事件,自主地暫停主伺服器處進入的請求一段時期,其中未決請求被處理; 以及在該時期屆滿之後,在其中未決請求被處理的情況下,在用於服務該應用的應用 數據的版本已經被維護的至少一個其它伺服器處路由所述請求。
[0049] 在實施例中,當未決請求在該時期內未完成時,所述請求可以不被路由到所述至 少一個其它伺服器,並且放棄對應用的轉移。
[0050] 在該時期屆滿之後,主伺服器可以通過例示用於接收經複製的應用數據改變的復 制器接收功能而自主地採用作為用於其之前託管的應用的從設備的角色。
[0051] 多個應用可以由主伺服器託管,其中主伺服器可以將改變複製到為每個應用所選 的從伺服器的集合。
[0052] 可以基於負載、用戶偏好和地點中的至少一個來選擇用於每個應用的從伺服器。
[0053] 伺服器可以基於在伺服器集群中檢測優選的可替換主伺服器而自主地放棄其作 為主伺服器的角色。
[0054] 根據本發明的另一方面,提供了一種在伺服器處託管應用的方法,伺服器從客戶 端接收針對由應用所遞送的服務的請求,所述方法包括: 確定在一個時間間隔中對支持該應用的文件系統的修改數量; 在可配置的時間點處拍下文件系統的相繼快照,其中所述時間點取決於在該時間間隔 中對文件系統的修改數量;以及 將快照發送到複製器以用於從伺服器的傳輸。
[0055] 根據本發明的另一方面,提供了一種管理文件系統的快照的方法,其中文件系統 跨連接在集群中的多個伺服器而被複製,所述方法包括: 通過以包括快照標識符、到其中拍下快照的特定伺服器上的較早快照的父指針以及其 中目前存儲了該快照的伺服器集合的二進位序列形式的快照節點(snapnode)對象來標識 每個快照; 在多個伺服器中的每一個上存儲文件系統的快照集合的快照節點對象的圖,所述服務 器之一為文件系統的活動主設備; 活動主設備拍下文件系統的新快照並且創建用於新快照的快照節點對象,從而將活動 主設備標識為其中存儲了新快照的伺服器; 將新快照傳輸到多個伺服器中的其它伺服器;並且修改快照節點對象以將所述其它服 務器標識為其中存儲了新快照的伺服器。
[0056] 在實施例中,所述方法可以被用於在其中活動主設備要確認或修改其狀態的事件 之後管理文件系統的恢復。
[0057] 所述事件可以是對其中連接了活動主設備和其它伺服器的伺服器集群的分區,其 中在從分區恢復之後,可以存在至少兩個候選主伺服器,各自都具有用於文件系統的快照 節點對象的圖,其中可以遍歷每個候選主設備處的圖以評估它的值,並且具有指示最高值 的圖的候選主設備可以採用作為用於文件系統的新的主設備的角色。
[0058] 在執行比較之前,可以跨伺服器而全局同步快照數據,由此可以對著全局同步的 快照數據來評估每個候選主設備處的數據的版本的偏離(divergence)。
[0059] 事件可以是多個伺服器中的至少一個其它伺服器的丟失,其在充當對於活動主設 備的從伺服器,其中在替換從設備已經由主設備指定之後,主設備可以指令新的從設備復 制文件系統的完整現狀,使得複製能夠從當前點開始。
[0060] 所述方法可以包括將來自圖中的給定切片點(slice point)的快照保存到本地存 儲區域的步驟。
[0061] 所述方法可以包括修剪快照的步驟。
[0062] 所述方法可以包括基於以下各項來確定採取哪個行動以便解決表示相同文件系 統的多個伺服器上的圖的偏離的步驟: (1) 用於文件系統的當前主設備; (2) 用於該文件系統全局狀態的快照節點對象的圖; (3) 對用於該文件系統的該主設備的當前從伺服器的列表。
[0063] 快照標識符可以標識拍下快照的時間以及其上拍下快照的伺服器。
[0064] 在以上伺服器或方法中任一項的實施例中,可以向用戶呈現用戶接口以用於準許 經由用戶對由用戶所選的快照的訪問。
[0065] 根據本發明的另一方面,可以提供一種使託管多個應用的伺服器的集群中的負載 平衡的方法,所述方法包括: 確定每個伺服器的當前負載; 確定將集群中的伺服器處的負載考慮在內的平均負載; 為伺服器確定其負載是小於還是大於平均負載加上阻尼因子(Q); 當伺服器的負載大於平均值加上阻尼因子時做出從該伺服器遷移應用的決定。
[0066] 根據本發明的另一方面,可以提供一種包括其上存儲了計算機指令集的計算可讀 介質的電腦程式產品,所述計算機指令集當由處理裝置執行時執行根據上文的伺服器或 方法特徵中任一項的操作。
[0067] 本發明的實施例提供了用於既調解(mediate)對所託管的應用的訪問又控制上述 數據複製的機制和裝置以使得應用能夠響應於改變每個應用的拓撲偏好和負載而在服務 器之間無縫地實時遷移。
[0068] 本發明的實施例提供貯存(stashing)能力。一般而言,貯存發生在文件系統偏離 時(其例如可以是由於網絡分區,或者在從伺服器離線從而使得在故障的和重新引入的從 設備上的最近快照不再是對於新複製的有效切片點時發生的修剪)-並且導致接收複製的 從設備上的文件系統的部分或全部被貯存到稱為"貯存器"的特殊本地存儲區域中而不是 其中實時文件系統所居於的主存儲區域中。
[0069] 根據本發明的另一方面,提供了一種用於在伺服器之間動態遷移應用的系統,所 述系統包括多個用於託管應用的伺服器,所述多個伺服器中的每一個都包括用於接收針對 應用的請求的協議處理機,其中所述協議處理機被配置成在應用在伺服器之間的遷移期間 暫停針對應用的進入的請求。
[0070] 所述系統此外可以包括用於測量多個伺服器之一上的負載的負載平衡器,所述負 載由該伺服器上託管的一個或多個應用引起,所述負載平衡器被配置成當所測量的伺服器 的預定負載條件滿足時,發起一個或多個應用從所測量的伺服器到另一伺服器的遷移。
[0071] 所述多個伺服器可以各自都具有控制器,其維護其上當前託管了應用的伺服器的 記錄,並且協議處理機被配置成檢查該記錄以確定進入的應用請求要被指向的伺服器。
[0072] 協議處理機可以被配置成暫停針對應用的進入的請求並且在預定時間段之後終 止針對應用的當前請求。
[0073] 附加地或可替換地,協議處理機可以被配置成在預定時間段內暫停針對應用的進 入的請求並且如果針對應用的當前請求在預定時間段中尚未完成則釋放所暫停的請求。 [0074] 根據本發明的另一方面,提供了一種用於在第一伺服器與第二伺服器之間的分區 之前和之後在第一伺服器與第二伺服器之間複製文件系統的方法,所述方法包括:在第一 伺服器處,在文件系統的修改之後的預定時間點處拍下文件系統當前狀態的快照,每個快 照記錄在伺服器上文件系統的當前狀態與在先前快照的時間點處伺服器上文件系統的狀 態之間的差別;一拍下快照就將第一伺服器上所拍下的快照連續複製到第二伺服器;在檢 測到分區時,第一和第二伺服器這兩者成為用於文件系統的主設備並且接受對文件系統的 新修改;在分區的恢復之後,執行更新過程以更新文件系統,所述更新過程包括:標識第一 伺服器和第二伺服器中的哪個含有文件系統最當前的版本;將這樣標識的伺服器任命為主 伺服器並且將另一伺服器任命為從伺服器;標識對主伺服器和從伺服器二者共同的快照; 以及將隨後的快照從主伺服器複製到從伺服器。
[0075] 標識第一伺服器和第二伺服器中的哪個含有文件系統最當前的(即最有價值的) 版本可以包括為伺服器中每一個上的文件系統的版本計算質心度量,所述質心度量表示每 個伺服器上的文件系統快照的平均年齡以及由每個伺服器上的快照所表示的對文件系統 的改變的數量。
[0076] 標識第一伺服器和第二伺服器中的哪個含有文件系統最當前的(即最有價值的) 版本此外可以包括標識文件系統的快照集合,其對於每個伺服器,每個快照集合包含僅存 在於該伺服器上的快照,以及基於該伺服器的快照集合來為每個伺服器計算質心度量。 [0077] 更新過程此外可以包括存儲在共同快照之後拍下的從伺服器的快照。
[0078] 根據本發明的另一方面,提供了一種用於在第一伺服器與第二伺服器之間的分區 之前和之後在第一伺服器與第二伺服器之間複製文件系統的系統,所述系統包括:快照裝 置,其用於在文件系統的修改之後的預定時間點處拍下第一伺服器上的文件系統當前狀態 的快照,每個快照記錄在伺服器上文件系統的當前狀態與在先前快照的時間點處伺服器上 文件系統的狀態之間的差別;複製器裝置,其用於一拍下快照就將第一伺服器上所拍下的 快照連續複製到第二伺服器;檢測裝置,其被配置以使得在檢測到分區時,第一和第二服務 器這兩者成為用於文件系統的主設備並且接受對文件系統的新修改;更新裝置,其被配置 成在分區的恢復之後執行更新過程以更新文件系統,所述更新過程包括:標識第一伺服器 和第二伺服器中的哪個含有文件系統最當前的版本(即最有價值的);將這樣標識的伺服器 任命為主伺服器並且將另一伺服器任命為從伺服器;標識對主伺服器和從伺服器二者共同 的快照;以及將隨後的快照從主伺服器複製到從伺服器。
[0079] 標識第一伺服器和第二伺服器中的哪個含有文件系統最當前的(即最有價值的) 版本可以包括為伺服器中每一個上的文件系統的版本計算質心度量,所述質心度量表示每 個伺服器上的文件系統快照的平均年齡以及由每個伺服器上的快照所表示的對文件系統 的改變的數量。
[0080] 標識第一伺服器和第二伺服器中的哪個含有文件系統最當前的(即最有價值的) 版本此外可以包括標識文件系統的快照集合,其對於每個伺服器,每個快照集合包含僅存 在於該伺服器上的快照,以及基於該伺服器的快照集合來為每個伺服器計算質心度量。
[0081] 更新過程此外可以包括存儲在共同快照之後拍下的從伺服器的快照。
[0082] 所述系統此外可以包括存儲裝置,其用於存儲為文件系統所拍下的快照,使得文 件系統的先前快照能夠由用戶從所存儲的快照中選擇以將系統還原到其在所選快照的時 間處的狀態。
[0083] 文件系統的先前快照藉助於被呈現給用戶的用戶接口可以是可選擇的。
[0084] 根據本發明的另一方面,提供了計算機軟體,其當由適當處理裝置執行時,使得處 理裝置實現本方面的第一、第二和第三方面的系統和方法。

【專利附圖】

【附圖說明】
[0085] 現在將嚴格僅作為示例、參照附圖來描述本發明的實施例,其中: 圖1是將快照2複製到已經具有快照1的第二伺服器B的第一伺服器A的示意性表 示; 圖1A是託管多個應用的伺服器的集群的示意性框圖; 圖1B是伺服器的示意圖; 圖2是在網絡分區和偏離的情況下圖1的複製的示意性表示; 圖2A是經分區的集群的示意圖; 圖3是示例複製系統配置的示意性表示,其中存在三個伺服器A、B和C以及兩個文件 系統F和G ; 圖4是示出了快照複製器狀態的示意圖; 圖5是示出了每從設備發送複製器狀態的示意圖; 圖6是示出了接收複製器狀態的示意圖; 圖7是示出了控制器狀態轉換(transition)的示意圖;以及 圖8是分布式協議處理機的示意性表示。
[0086] 圖9是實時遷移狀態機轉換的示意性表示。

【具體實施方式】
[0087] 術語 圖la圖示了其中本文所討論的本發明的各種方面能夠有效地實現的計算機系統的示 意性架構。將容易領會到,這僅僅是一個示例,並且可以設想到伺服器集群的許多變型(包 括1的集群)。
[0088] 圖1A圖示了如集群那樣操作的伺服器1的集合。集群形成在2個子集中,其中服 務器被標註為1E的第一集合和其中伺服器被標註為1W的第二集合。子集可以在地理上分 離,例如伺服器1E可以在美國的東海岸上,而標註為1W的伺服器可以在美國的西海岸上。 子集E的伺服器1E通過交換機3E連接。交換機可以以任何形式實現一所有所需要的是該 子集中的每個伺服器藉助於其能夠與該子集中的另一伺服器進行通信的機制。所述交換 機能夠是具有連接到伺服器的埠的實際物理交換機,或者更可能地可以是區域網或內聯 網。西部子集的伺服器1W類似地通過交換機3W連接。交換機3E和3W自身經由網絡互連, 所述網絡可以是用於跨越地理距離的任何合適的網絡。網際網路是一種可能性。所述網絡在 圖1A中被指定為8。
[0089] 每個伺服器與能夠構成任何合適的存儲裝置的本地存儲設施6相關聯,例如碟或 其它形式的存儲器。存儲設施6支持文件系統10。文件系統10支持在伺服器1上運行的 應用,所述應用例如正將服務經由網際網路遞送到一個或多個客戶端終端7。本發明的實施例 在通過網際網路遞送基於web的應用的領域中特別有利。本發明的實施例對於支持電子郵件 伺服器同樣是有用的,其具有本文中所討論的益處,其中文件系統支持郵箱。
[0090] 在每一個都能夠取決於所選模式而自主地作為主設備或從設備而操作的意義上, 伺服器和相關聯的文件系統基本上類似或同質(homogenous)。
[0091] 定義對象: 每個客戶端7能夠發動(launch)諸如web瀏覽器之類的軟體程序,以用於訪問由服務 器之一所遞送的應用(或資料庫)。託管該應用的伺服器與客戶端通信例如以使用HTTP協 議遞送網頁。在本文中,術語應用旨在覆蓋在能夠由客戶端訪問的伺服器處的任何活動軟 件或數據結構,並且具體地但沒有限制地覆蓋程序、資料庫和電子郵件(郵箱)或其它消息 發送結構。
[0092] 在本描述中,我們利用基本數學符號,包括: A :=定義 集合: {1,2, 3}對於唯一的元素1,2, 3 映射:
[1 -A,2 - B]對於唯一的鍵(key) 1,2 有序數組: (1,2,B)其可以是不同類型 複合類型定義(命名數組): 類型(A,B,C)。
[0093] 假設 我們假設本發明的實施例所取決於的兩個底層系統的存在: 1.每個伺服器本地的文件系統10,其能夠包含任意多的子文件系統(每個應用或數據 庫一個)。注意到,在下文中,文件系統支持應用或資料庫並且對每個伺服器能夠存在多於 一個,即,子文件系統在下文被稱作"文件系統"。文件系統能夠包括任何合適的存儲裝置, 例如碟。每個文件系統能夠具有任意多的一致時間點快照,各自以本地唯一的字符串命名, 並且此外存在將兩個快照之間的差別從一個機器複製到另一個的機制。滿足這些需求的文 件系統的一個示例是開源ZFS文件系統。如本文更加全面地描述的,本發明的實施例使用 文件系統的這種能力來將差別從一個伺服器複製到另一個以允許伺服器自主地遷移應用/ 資料庫。嚴格作為示例,伺服器A上可能存在具有快照{1,2, 3}的文件系統F,並且伺服器 B上可能存在相同文件系統的快照{1,2}。注意到,快照不必作為文件系統的整個比特圖像 而被存儲和傳輸-文件系統允許我們複製快照2和3之間的差別(例如,僅盤上的塊,其發 生了改變)以使伺服器B是最新的,使得其包含快照{1,2,3}。然而,在以下實施例中,儘管 僅傳輸差別是便利的,但是可以傳輸完整圖像。
[0094] 2.由網絡8支持的群組消息發送服務GMS,其允許消息Ml、M2···. Μη在集群中的 伺服器之間發送。關鍵地,群組消息發送服務提供關於被廣播給群組的消息的某些保證:甚 至在有損、高等待時間的網絡鏈路上,還向群組的所有當前活動成員保證消息遞送,並且消 息排序跨所有伺服器是邏輯上一致的。嚴格作為示例,如果伺服器Α向群組發送一條消息, 並且同時伺服器B發送另一消息,群組的所有成員(包括A和B)將以相同的順序接收到消 息。滿足這些需求的群組消息發送系統的一個示例是開源Spread工具包。
[0095] 圖1B為單個伺服器1的示意圖。伺服器包括適合於執行指令以遞送如本文中更 加清楚討論的不同功能的處理器。另外,伺服器包括用於支持處理器的操作的存儲器(未示 出)。該存儲器不同於支持文件系統10的存儲設施6。正如將從以下容易地理解的,服務 器1能夠在任何給定時間處支持多個應用。這些以圖解形式通過標註為app的圓示出。示 出為交叉影線的app指明作為稍後討論的應用遷移過程的結果而最近已被安裝在伺服器1 上的應用。以虛線示出的app圖示了剛已從伺服器1遷移走的應用。伺服器1支持協議處 理機5,其與集群中的其它伺服器的類似協議處理機協作以提供本文中更加全面地討論的 分布式協議處理機機制。伺服器1還支持群組消息協議4。協議處理機5通過網絡8從客 戶端終端7接收請求並且負責將請求路由到該請求所尋址到的應用,並且負責向客戶端返 回從應用所提供的服務數據以用於將服務遞送到客戶端7。群組消息發送協議4負責與集 群中的其它伺服器交換消息ml到m4。注意到,這些消息能夠在本地通過本地交換機3E/3W 和/或遠程地經由網絡8來交換。伺服器1還支持發送和接收複製器34/38,其負責發送和 接收在支持應用的文件系統上的應用數據的快照。注意到,圖1B是高度示意性的,特別是 在伺服器1可以具有通過其提供了所有內部和外部通信路徑的單個或多個埠的意義上。 因而,儘管可能的是提供專用埠用於向客戶端終端遞送服務、消息交換、以及快照的接收 和遞送,但是這不是必需的,並且這可以全部發生在伺服器的相同物理埠上。在此時注意 至IJ,伺服器1和存儲設施6之間的關係並未在本文中被進一步討論,因為可以使用任何合適 的文件系統布置。因此,儘管被示出為分離的模塊,但是如果期望或必要的話,將文件系統 存儲設施集成在伺服器內是可能的。
[0096] 將領會到,在以下定義的結構和功能能夠以硬體、固件或軟體的任何合適的組合 來實現。特別地,功能能夠通過運行在伺服器的處理器上的合適代碼來實現。因而,當在本 文中使用時,術語模塊不一定意味著分離的物理模塊,而是還能夠暗示提供特定功能的指 令集的架構描述。
[0097] 概述 在正常操作期間,系統將為每個應用推選一個主伺服器,使得每個應用被託管在集群 中的恰好一個伺服器上。在主設備上對該應用所發生的改變被異步地複製到用於該文件系 統的η個從伺服器,為了文件系統的總計n+1個拷貝。這使得系統η冗餘,因為它能夠容忍 η個伺服器的故障。對應用的改變是在應用或資料庫狀態(數據)中的改變,如當其為實時 的時候在用於該應用的文件系統中記錄的那樣。
[0098] 複製系統 SnapshotGraphForest (快照圖森林)數據結構 在本示例中通過(快照圖森林)來提供集群的在任意故障和分 區條件下執行伺服器之間的數據複製的能力。該數據結構表示給定文件系統跨集群中的所 有伺服器的全局狀態。
[0099] 我們以具有一個文件系統F的集群的簡單情況開始。
[0100] 圖1表示伺服器A將第二快照2複製到已經具有快照1的伺服器B。伺服器A是 託管文件系統F的應用的主伺服器,並且正在將狀態中的改變複製到至少一個所推選的從 伺服器B。
[0101] 快照圖森林是快照圖G的集合。快照圖是快照節點的有向非循環圖(DAG)。快照 節點是文件系統的特定、全局唯一的版本,包括父邊緣(parent edge)的集合,其標識該快 照節點在圖中的位置。
[0102] 圖為DAG,因為快照節點能夠具有多個父級(parent)以及多個子級(child)。它是 非循環的,因為父快照總是老於子快照,因此在該圖中永遠不能夠形成循環。
[0103] 每個快照節點由對象類型SnapNode (it/, i遞?)])限定,其 中ii/為全局唯一的快照標識符,為父指針,其指代其上持有該快照的特定伺服器上的 較早快照的iW(如果它是第一快照,則這可以是空值(NULL),在這種情況下其說成是基於原 點),wks是其上目前存儲了快照的伺服器集合,表示由快照所捕獲的相對於其父快 照的文件系統修改的數量,並且表示給定快照在給定伺服器上是否不可變(其是否可 以被刪除)。我們將忽略直到我們稍後討論修剪為止。快照標識符標識在何處(主機服 務器)以及在何時(時間戳)拍下快照。
[0104] 觀察到,SnapNode (快照節點)對象能夠表示文件系統同時在多個伺服器上的狀 態,並且捕獲到以下事實:在不同伺服器上,每個快照的父快照可以不同,即便快照捕獲的 數據是完全相同的。
[0105] 快照圖被定義為SnapGraph (快照節點的集合),其中,圖中所有的快照節點經由那 些節點的父和子指針可到達。
[0106] 在圖1中的示例中,在由箭頭R標示的複製之前,在森林中存在圖G :

【權利要求】
1. 一種伺服器,其被配置成將服務遞送到被連接到伺服器的至少一個客戶端,所述服 務器可操作於用於多個應用中每一個的主角色或從角色中任一個,所述伺服器包括: 網絡接口,其用於將伺服器連接到類似伺服器集群中的至少一個其它類似伺服器; 服務遞送邏輯,其在伺服器處於針對應用的從角色中時是可操作的,以用於託管該應 用以將服務遞送到客戶端; 主邏輯,其在伺服器處於針對應用的主角色中時是可操作的,其被配置成將該應用的 數據中的改變複製到集群的可配置數量的伺服器; 從邏輯,其在伺服器處於針對託管在集群中另一伺服器上的應用的從角色中時是可操 作的,其被配置成從集群的用於該應用的當前主伺服器接收經複製的數據改變並且維護用 於該應用的實時應用數據的版本; 控制邏輯,其被配置成檢測集群中的事件並且響應於所述事件來自主地將伺服器針對 應用中的一個或多個的角色在從和主之間轉變,其中角色由從到主的改變使用所維護的版 本來託管應用。
2. 根據權利要求1所述的伺服器,其中所述主邏輯包括文件系統安裝處理機,其可操 作於發送模式以將數據中的改變傳輸到集群的可配置數量的伺服器。
3. 根據權利要求2所述的伺服器,其中所述主邏輯包括快照複製器,其被配置成給服 務當前所託管的應用的文件系統拍下快照。
4. 根據權利要求2或3所述的伺服器,其中所述主邏輯包括至少一個每從設備發送器 以用於將由伺服器託管的實時應用的數據中的改變複製到集群的相應伺服器。
5. 根據權利要求4所述的伺服器,其中所述至少一個每從設備發送器由基於所需數量 的從伺服器而用於每個從設備的快照複製器所例示。
6. 根據任一項前述權利要求所述的伺服器,其中所述從邏輯包括被配置成接收經複製 的數據改變的接收複製器以及被配置在接收模式中以維護實時應用數據的版本的文件系 統安裝處理機。
7. 根據任一項前述權利要求所述的伺服器,其中所述控制邏輯被配置成發出指示其在 集群中的實時存在的周期性心跳信號。
8. 根據任一項前述權利要求所述的伺服器,其中所述控制邏輯被配置成從集群中的其 它類似伺服器接收心跳信號,並且從而確定伺服器在集群中的實時存在狀態。
9. 根據任一項前述權利要求所述的伺服器,其中所述控制邏輯被配置成檢測選自以下 各項的事件: (i) 用於應用的當前主伺服器的故障; (ii) 集群的分區; (iii) 集群中伺服器數量的減少; (iv) 集群中伺服器數量的增加; (v) 將用戶針對其已表達了對於託管應用的偏好的伺服器引入到集群中; (vi) 在集群中伺服器之中的應用的負載改變,使得需要負載重新平衡事件。
10. 根據任一項前述權利要求所述的伺服器,其中所述控制邏輯被配置成發送和接收 來自集群中其它伺服器的消息,所述消息輸送數據,由此能夠做出關於伺服器針對應用的 角色的自主決定。
11. 根據權利要求8所述的伺服器,其中所述消息包括指示所述自主決定的二進位數 據。
12. 根據任一項前述權利要求所述的伺服器,其中所述控制邏輯被配置成檢測來自集 群中所有實時存在的伺服器的消息,並且在做出關於其針對應用的角色的決定之前從所有 這樣的伺服器接收消息。
13. 根據任一項前述權利要求所述的伺服器,其中所述網絡接口可操作以維持到集群 中最少一個其它類似伺服器的永久連接,由此伺服器之間的消息能夠交換。
14. 根據任一項前述權利要求所述的伺服器,其中所述或另一網絡接口被配置成建立 臨時會話以用於傳輸經複製的數據改變。
15. 根據任一項前述權利要求所述的伺服器,包括協議處理機,其可操作以在該伺服器 正託管實時應用時將針對服務的請求路由到所述伺服器。
16. -種系統,其包括多個根據權利要求1到15中任一項所述的伺服器。
17. -種在伺服器處安裝持有用於實時應用的數據的文件系統的方法,所述方法包 括: 在引起在伺服器處安裝應用的事件之前,在伺服器處從託管所述應用的當前主伺服器 接收實時應用數據中的改變並且維護實時應用數據的版本; 響應於所述事件,所述伺服器將其自身識別為新的主伺服器並且使用其所維護的實時 應用數據的版本來安裝用於該實時應用的文件系統; 接收針對伺服器處的應用的請求並且通過使用所述實時應用來服務所述請求以遞送 服務。
18. 根據權利要求17所述的方法,當用於從當前主設備的故障中恢復時,故障是由將 形成新的主伺服器的從設備自主檢測到的。
19. 根據權利要求17所述的方法,當用於從當前主伺服器的故障中恢復時,故障是由 其中連接了主伺服器和至少一個其它伺服器的伺服器集群中的另一伺服器自主檢測到的。
20. 根據權利要求17所述的方法,當用於從其中連接了當前主伺服器和至少一個其它 伺服器的伺服器集群中的分區中恢復時,其中跟隨在所述分區之後,至少兩個伺服器自主 地將自身標識為潛在的新的主伺服器,並且其中在從分區恢復時,潛在的新的主伺服器與 彼此以及與集群的其它伺服器協商以確定主伺服器的狀態是應當維持還是轉移。
21. 根據權利要求17所述的方法,當用於管理其中連接了主伺服器的伺服器集群中的 負載時,通過檢測集群中伺服器的數量及其當前應用負載,並且與集群中的其它伺服器交 換消息以遷移應用來平衡負載。
22. 根據權利要求21所述的方法,其中在與集群中的其它伺服器交換消息以確定最高 質心度量的文件系統的版本之後,伺服器基於對已被接收的實時應用數據中的改變的快照 的分析而將自身標識為新的主伺服器。
23. 根據權利要求17到22中任一項所述的方法,其中安裝實時應用包括例示複製器發 送功能,以用於將新安裝的文件系統的數據中的改變發送到集群中至少一個從伺服器。
24. 根據權利要求17到23中任一項所述的方法,其中當前主設備在來自伺服器集群的 集合中選擇作為潛在從伺服器的伺服器的數量。
25. -種管理由伺服器集群託管的多個應用的方法,所述伺服器各自具有通過網絡可 連接到至少一個客戶端的接口,每個應用在客戶端處遞送服務,所述方法包括: 推選集群的伺服器作為主伺服器,所述主伺服器託管至少一個實時應用; 當主伺服器正託管實時應用時,將實時應用的應用數據中的改變複製到集群中被推選 為從伺服器的可配置數量的伺服器,由此每個所推選的從伺服器維護實時應用的應用數據 的版本,其中當檢測到事件時,響應於應用的託管從主伺服器轉移到在沒有用戶幹預的情 況下確定的所推選的從伺服器之一的集群中的事件,所推選的從伺服器使用其當前應用數 據的版本來安裝應用並且變成新的主伺服器。
26. 根據權利要求25所述的方法,其中所述事件是基於集群中伺服器的負載而在集群 中檢測優選的可替換主伺服器。
27. 根據權利要求25所述的方法,其中所述事件是基於集群中伺服器的地點而檢測優 選的可替換主伺服器。
28. 根據權利要求25所述的方法,其中所述事件是基於預定義的用戶偏好而在集群中 檢測優選的可替換主伺服器。
29. 根據權利要求26所述的方法,其中將實時應用從其當前主伺服器遷移到其從服務 器之一的決定是在當前主設備的負載大於集群中所有伺服器的負載平均值和阻尼因子(Q) 時做出的。
30. 根據權利要求25到29中任一項所述的方法,其中所述事件是通過與集群的其它服 務器交換消息而被檢測的。
31. 根據權利要求25到30中任一項所述的方法,其中所述事件是將伺服器添加到集 群。
32. 根據權利要求31所述的方法,其中所述集群在一個伺服器的添加之前包括單個服 務器。
33. 根據權利要求25到30中任一項所述的方法,其中所述事件是從集群移除伺服器, 其中所述移除是所預期的。
34. 根據權利要求31所述的方法,其中在伺服器被添加到集群時,確定伺服器的新負 載,並且做出關於由集群所託管的應用中的哪個應當被遷移到新添加的伺服器的決定。
35. 根據權利要求25到30中任一項所述的方法,其中所述事件是集群中伺服器的故 障,其中用於由故障伺服器所託管的實時應用的數據通過使用集群中繼續進行操作的服務 器上的當前應用的版本而被恢復。
36. 根據權利要求25到35中任一項所述的方法,其中所述事件是集群的分區,並且其 中在從分區恢復之後,從多個潛在競爭的主伺服器中選擇優選的可替換主伺服器作為具有 更加有價值的當前應用數據的版本的伺服器。
37. 根據權利要求25到36中任一項所述的方法,其中託管在伺服器之一上的領導者功 能確定用於應用的新的主伺服器,其中所述領導者功能在不同於主設備的伺服器上。
38. 根據權利要求25到36中任一項所述的方法,其中託管在當前主伺服器上的領導者 功能確定新的主伺服器。
39. -種從主伺服器轉移應用的方法,所述主伺服器從客戶端接收針對由所述應用所 遞送的服務的請求,所述方法包括: 在引起轉移的事件之前,將應用狀態中的改變複製到集群中至少一個其它伺服器; 響應於所述事件,自主地暫停主伺服器處進入的請求一段時期,其中未決請求被處 理; 以及在所述時期屆滿之後,在其中未決請求被處理的情況下,在其中用於服務所述應 用的應用數據的版本已經被維護的至少一個其它伺服器處路由所述請求。
40. 根據權利要求39所述的方法,其中當未決請求在所述時期內未完成時,所述請求 不被路由到所述至少一個其它伺服器,並且應用的轉移被放棄。
41. 根據權利要求40所述的方法,其中在所述時期屆滿之後,主伺服器通過例示用於 接收經複製的應用數據改變的複製器接收功能而自主地採用作為用於其之前託管的應用 的從設備的角色。
42. 根據權利要求40所述的方法,其中多個應用由主伺服器託管,其中所述主伺服器 將改變複製到為每個應用所選擇的從伺服器的集合。
43. 根據權利要求42所述的方法,其中基於負載、用戶偏好和地點中的至少一個來選 擇用於每個應用的從伺服器。
44. 根據權利要求40到43中任一項所述的方法,其中用於實時應用的主伺服器基於在 伺服器集群中檢測到優選的可替換主伺服器而自主地放棄其作為主伺服器的角色。
45. -種在伺服器處託管應用的方法,所述伺服器從客戶端接收針對由所述應用所遞 送的服務的請求,所述方法包括: 確定在一個時間間隔中對支持所述應用的文件系統的修改數量; 在可配置的時間點處拍下文件系統的相繼快照,其中所述時間點取決於在該時間間隔 中對文件系統的修改數量;以及 將快照發送到複製器以用於從伺服器的傳輸。
46. -種管理文件系統的快照的方法,其中文件系統跨連接在集群中的多個伺服器而 被複製,所述方法包括: 通過以包括快照標識符、到其中拍下快照的特定伺服器上的較早快照的父指針以及其 中目前存儲了該快照的伺服器集合的二進位序列形式的快照節點對象來標識每個快照; 將文件系統的快照集合的快照節點對象的圖存儲在多個伺服器中的每一個上,所述服 務器之一是文件系統的活動主設備; 活動主設備拍下文件系統的新快照並且創建用於新快照的快照節點對象,從而將活動 主設備標識為其中存儲了新快照的伺服器; 將新快照傳輸給多個伺服器中的其它伺服器;並且修改快照節點對象以將所述其它服 務器標識為其中存儲了新快照的伺服器。
47. 根據權利要求46所述的方法,當被用於在其中活動主設備要確認或修改其狀態的 事件之後管理文件系統的恢復時。
48. 根據權利要求47所述的方法,其中所述事件是其中連接了活動主設備和其它服務 器的伺服器集群的分區,其中在從分區恢復之後,存在至少兩個候選主伺服器,各自都具有 用於該文件系統的快照節點對象的圖,其中遍歷每個候選主設備處的圖以評估它的值,並 且具有指示最高值的圖的候選主設備採用作為用於該文件系統的新的主設備的角色。
49. 根據權利要求48所述的方法,其中在執行比較之前,跨伺服器來全局同步快照數 據,由此能夠對著全局同步的快照數據來評估每個候選主設備處的數據的版本的偏離。
50. 根據權利要求47所述的方法,其中所述事件是多個伺服器中至少一個其它伺服器 的丟失,其在充當對於活動主設備的從伺服器,其中在替換從設備已經由主設備指定之後, 主設備指令新的從設備複製完整的文件系統拷貝,使得複製能夠從當前點開始。
51. 根據權利要求46所述的方法,包括將來自圖中的給定切片點的快照保存到本地存 儲區域的步驟。
52. 根據權利要求46所述的方法,包括修剪快照的步驟。
53. 根據權利要求46所述的方法,包括基於以下各項來確定要採取哪個行動以便解決 多個伺服器上表示相同文件系統的圖的偏離的步驟: (1) 用於文件系統的當前主設備; (2) 用於該文件系統全局狀態的快照節點對象的圖; (3) 對於用於該文件系統的該主設備的當前從伺服器的列表。
54. 根據權利要求46到53中任一項所述的方法,其中快照標識符標識拍下快照的時間 和其上拍下快照的伺服器。
55. 根據任一項前述權利要求所述的方法或伺服器,其中向用戶呈現用戶接口以用於 準許經由用戶對由用戶所選快照的訪問。
56. -種使託管多個應用的伺服器集群中的負載平衡的方法,所述方法包括: 確定每個伺服器的當前負載; 確定將集群中伺服器處的負載考慮在內的平均負載; 為伺服器確定它的負載是小於還是大於平均負載加上阻尼因子(Q); 當其負載大於平均值加上阻尼因子時做出從伺服器遷移應用的決定。
57. 根據權利要求1到15中任一項所述的伺服器,其被配置成充當用於第一實時應用 的主伺服器並且充當用於託管在不同伺服器上的第二實時應用的從伺服器。
58. 根據權利要求25到34中任一項所述的方法,其中在檢測到所述事件時發起受控的 實時遷移,其中在所推選的從伺服器上的版本利用主伺服器上的版本而被複製成最新,由 此遷移基本上是無縫的。
59. -種用於在伺服器之間動態遷移應用的系統,所述系統包括多個伺服器以用於託 管應用,所述多個伺服器中的每一個都包括協議處理機以用於接收針對應用的請求,其中 協議處理機被配置成在應用在伺服器之間的遷移期間暫停針對應用的進入的請求。
60. 根據任一項前述權利要求所述的系統或方法,此外包括負載平衡器以用於測量所 述多個伺服器之一上由該伺服器上所託管的一個或多個應用所引起的負載,所述負載平衡 器被配置成當所測量的伺服器的預定負載條件滿足時,發起一個或多個應用從所測量的服 務器到另一伺服器的遷移。
61. 根據任一項前述權利要求所述的系統或方法,其中所述多個伺服器各自都具有控 制器,其維持其上當前託管了應用的伺服器的記錄,並且所述協議處理機被配置成檢查該 記錄以確定進入的應用請求要被指向的伺服器。
62. 根據前述權利要求中任一項所述的系統或方法,其中所述協議處理機被配置成暫 停針對應用的進入的請求並且在預定時間段之後終止針對應用的當前請求。
63. 根據任一項前述權利要求所述的系統或方法,其中所述協議處理機被配置成在預 定時間段內暫停針對應用的進入的請求並且如果針對應用的當前請求在預定時間段中未 完成則釋放所暫停的請求。
64. -種用於在第一伺服器與第二伺服器之間的分區之前和之後在第一伺服器與第二 伺服器之間複製文件系統的方法,所述方法包括: 在第一伺服器處,在文件系統的修改之後的預定時間點處拍下文件系統當前狀態的快 照,每個快照記錄伺服器上文件系統的當前狀態與在先前快照的時間點處伺服器上文件系 統的狀態之間的差別; 一拍下快照就將第一伺服器上所拍下的快照連續地複製到第二伺服器; 在檢測到分區時,第一和第二伺服器二者都變成用於文件系統的主設備並且接受對文 件系統的新修改; 在分區恢復之後,執行更新過程以更新文件系統,所述更新過程包括: 標識第一伺服器和第二伺服器中的哪個含有文件系統最當前的版本; 將這樣標識的伺服器任命為主伺服器並且將另一伺服器任命為從伺服器; 標識對於主伺服器和從伺服器二者共同的快照;以及 將隨後的快照從主伺服器複製到從伺服器。
65. 根據任一項前述權利要求所述的系統或方法,其中標識第一伺服器和第二伺服器 中的哪個含有文件系統最當前的版本包括為伺服器中每一個上的文件系統的版本計算質 心度量,所述質心度量表示每個伺服器上文件系統快照的平均年齡以及由每個伺服器上的 快照所表示的對文件系統的改變的數量。
66. 根據任一項前述權利要求7所述的系統或方法,其中標識第一伺服器和第二服務 器中的哪個含有文件系統最當前的版本此外包括標識文件系統的快照集合,其對於每個服 務器,每個快照集合包含僅存在於該伺服器上的快照,以及基於該伺服器的快照集合而為 每個伺服器計算質心度量。
67. 根據任一項前述權利要求所述的系統或方法,其中所述更新過程此外包括存儲在 共同快照之後拍下的從伺服器的快照。
68. -種用於在第一伺服器與第二伺服器之間的分區之前和之後在第一伺服器與第二 伺服器之間複製文件系統的系統,所述系統包括: 快照裝置,其用於在文件系統的修改之後的預定時間點處拍下第一伺服器上的文件系 統當前狀態的快照,每個快照記錄伺服器上文件系統的當前狀態與在先前快照的時間點處 伺服器上文件系統的狀態之間的差別; 複製器裝置,其用於一拍下快照就將第一伺服器上所拍下的快照連續地複製到第二服 務器; 檢測裝置,其被配置成使得在檢測到分區時,第一和第二伺服器二者都變成用於文件 系統的主設備並且接受對文件系統的新修改; 更新裝置,其被配置成在分區恢復之後,執行更新過程以更新文件系統,所述更新過程 包括: 標識第一伺服器和第二伺服器中的哪個含有文件系統最當前的(即最有價值的)版本; 將這樣標識的伺服器任命為主伺服器並且將另一伺服器任命為從伺服器; 標識對於主伺服器和從伺服器二者共同的快照;以及 將隨後的快照從主伺服器複製到從伺服器。
69. 根據任一項前述權利要求所述的系統或方法,其中標識第一伺服器和第二伺服器 中的哪個含有文件系統最當前的(即最有價值的)版本包括為伺服器中每一個上的文件系 統的版本計算質心度量,所述質心度量表示每個伺服器上文件系統快照的平均年齡以及由 每個伺服器上的快照所表示的對文件系統的改變的數量。
70. 根據任一項前述權利要求所述的系統或方法,其中標識第一伺服器和第二伺服器 中的哪個含有文件系統最當前的(即最有價值的)版本此外包括標識文件系統的快照集合, 其對於每個伺服器,每個快照集合包含僅存在於該伺服器上的快照,以及基於該伺服器的 快照集合而為每個伺服器計算質心度量。
71. 根據任一項前述權利要求所述的系統或方法,其中所述更新過程此外包括存儲在 共同快照之後拍下的從伺服器的快照。
72. 根據任一項前述權利要求所述的系統或方法,此外包括存儲裝置,其用於存儲為文 件系統所拍下的快照,使得文件系統的先前快照能夠由用戶從所存儲的快照中選擇以將系 統還原到其在所選快照的時間處的狀態。
73. 根據任一項前述權利要求所述的系統或方法,其中所述文件系統的先前快照能夠 藉助於呈現給用戶的用戶接口來選擇。
74. -種計算機軟體,其當由適當處理裝置執行時,使處理裝置實現根據前述權利要求 中任一項所述的系統或方法。
【文檔編號】H04L29/08GK104115469SQ201280057719
【公開日】2014年10月22日 申請日期:2012年9月24日 優先權日:2011年9月23日
【發明者】L.馬斯頓 申請人:混合電路邏輯有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀