分布式災(zāi)難恢復(fù)文件同步服務(wù)器系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本公開內(nèi)容涉及存儲系統(tǒng),并且更具體地涉及在災(zāi)難恢復(fù)期間用于服務(wù)器/存儲 系統(tǒng)的文件同步。
【背景技術(shù)】
[0002] 在相關(guān)領(lǐng)域中,存在涉及客戶端網(wǎng)絡(luò)和存儲提供者的存儲/服務(wù)器系統(tǒng)。存儲網(wǎng)關(guān) 從客戶端網(wǎng)絡(luò)向存儲服務(wù)發(fā)送更新數(shù)據(jù),存儲服務(wù)按卷存儲更新的數(shù)據(jù)。數(shù)據(jù)也被存儲到 本地數(shù)據(jù)存儲庫。如果在本地數(shù)據(jù)存儲庫中存儲的數(shù)據(jù)發(fā)生某事,則將通過利用在存儲服 務(wù)中按卷存儲的數(shù)據(jù)來恢復(fù)丟失的數(shù)據(jù)。
[0003] 然而,相關(guān)領(lǐng)域并未考慮存儲服務(wù)的災(zāi)難恢復(fù),并且也未考慮存儲服務(wù)中的卷恢 復(fù)。
【發(fā)明內(nèi)容】
[0004] 本申請的各方面包括一種服務(wù)器,該服務(wù)器可以包括:接口,該接口被配置為與多 個客戶端設(shè)備對接;存儲器,該存儲器被配置為存儲關(guān)于在恢復(fù)點處的、由服務(wù)器管理的第 一文件的版本的信息;以及處理器,該處理器被配置為從多個客戶端設(shè)備接收多個文件以 通過使用多個客戶端設(shè)備中的多個文件來恢復(fù)服務(wù)器中的文件,并且對于多個接收的文件 中的具有比在恢復(fù)點處的第一文件的版本更加新的版本的第二文件,將第二文件中的一個 第二文件管理作為第一文件的新版本,并且將第二文件中的另一第二文件管理作為與第二 文件中的該一個第二文件的沖突文件。
[0005] 本申請的附加方面包括一種用于管理服務(wù)器的方法。該方法可以包括:存儲關(guān)于 在恢復(fù)點處的、由服務(wù)器管理的第一文件的版本的信息;從多個客戶端設(shè)備接收多個文件 以通過使用多個客戶端設(shè)備中的多個文件來恢復(fù)服務(wù)器中的文件,并且對于多個接收的文 件中的具有比在恢復(fù)點處的第一文件的版本更加新的版本的第二文件,將第二文件中的一 個第二文件管理作為第一文件的新版本,并且將第二文件中的另一第二文件管理作為與第 二文件中的該一個第二文件的沖突文件。
[0006] 本申請的附加方面包括一種用于管理服務(wù)器的計算機程序。該計算機程序可以包 括用于以下操作的指令:存儲關(guān)于在恢復(fù)點處的、由服務(wù)器管理的第一文件的版本的信息; 從多個客戶端設(shè)備接收多個文件以通過使用多個客戶端設(shè)備中的多個文件來恢復(fù)服務(wù)器 中的文件,并且對于多個接收的文件中的具有比在恢復(fù)點的處第一文件的版本更加新的版 本的第二文件,將第二文件中的一個第二文件管理作為第一文件的新版本,并且將第二文 件中的另一第二文件管理作為與第二文件中的該一個第二文件的沖突文件。
【附圖說明】
[0007] 圖1圖示了可以在其上實施示例實現(xiàn)方式的示例系統(tǒng)架構(gòu)。
[0008] 圖2圖示了可以在其上實施示例實現(xiàn)方式的示例計算機系統(tǒng)。
[0009]圖3圖示了根據(jù)示例實現(xiàn)方式的文件系統(tǒng)和安裝點的示例客戶端和服務(wù)器視圖。
[0010 ]圖4A圖示了根據(jù)示例實現(xiàn)方式的流程圖。
[0011 ]圖4B和圖4C圖示了根據(jù)示例實現(xiàn)方式的流程圖執(zhí)行的示例。
[0012]圖5A圖示了根據(jù)示例實現(xiàn)方式的用于恢復(fù)PUT的流程圖。
[0013]圖5B圖示了根據(jù)示例實現(xiàn)方式的用于恢復(fù)UPDATE的流程圖。
[0014]圖5C和圖f5D圖示了基于圖5A和圖5B的示例實現(xiàn)方式的、在客戶端與服務(wù)器之間的 示例交互。
[0015] 圖5E和圖5F圖示了基于圖5A的示例實現(xiàn)方式的、在客戶端與服務(wù)器之間的示例交 互。
[0016] 圖5G和圖5H圖示了基于圖5A和圖5B的示例實現(xiàn)方式的、在客戶端與服務(wù)器之間的 示例交互。
【具體實施方式】
[0017] 以下具體描述提供對本申請的各圖和示例實現(xiàn)方式的進一步細節(jié)。為了清楚而省 略了在各圖之間的冗余單元的標號和描述。貫穿該描述而被使用的術(shù)語被提供作為示例而 并未旨在于限制。例如,使用術(shù)語"自動"可以根據(jù)實踐本申請的實現(xiàn)方式的本領(lǐng)域普通技 術(shù)人員的希望的實現(xiàn)方式而涉及全自動或者半自動實現(xiàn)方式,后者涉及用戶或者管理員對 實現(xiàn)方式的某些方面的控制。這里描述的實現(xiàn)方式也并未旨在于限制,而是可以根據(jù)希望 的實現(xiàn)方式按照各種方式被實施。
[0018] 這里描述的示例實現(xiàn)方式涉及從服務(wù)器/存儲系統(tǒng)的客戶端的數(shù)據(jù)恢復(fù)和在災(zāi)難 恢復(fù)情形中的用于共享的文件夾的簡化的數(shù)據(jù)恢復(fù)。
[0019] 組織可以依賴于具有對它們的數(shù)據(jù)的連續(xù)訪問。因此,關(guān)鍵系統(tǒng)和應(yīng)用可能需要 健壯的災(zāi)難恢復(fù)計劃以最小化在系統(tǒng)故障的情況下的數(shù)據(jù)丟失。隨著無結(jié)構(gòu)非易變數(shù)字內(nèi) 容的增長,管理和備份數(shù)據(jù)可能有挑戰(zhàn)性。在相關(guān)領(lǐng)域的分布式客戶端服務(wù)器系統(tǒng)中,來自 系統(tǒng)中的服務(wù)器的數(shù)據(jù)被周期性地備份到另一系統(tǒng)。周期性數(shù)據(jù)備份可以提供對系統(tǒng)性能 的最小影響(在與連續(xù)數(shù)據(jù)備份比較時),但是產(chǎn)生對于數(shù)據(jù)損失的潛在可能;自從上次備 份起向系統(tǒng)添加的任何數(shù)據(jù)可能在故障之后變得不可恢復(fù)。
[0020] 圖1圖示了可以在其上實施示例實現(xiàn)方式的示例系統(tǒng)架構(gòu)。系統(tǒng)架構(gòu)可以涉及如 圖2中描述的服務(wù)器205,服務(wù)器205可以被配置為管理與一個或者多個數(shù)據(jù)庫對應(yīng)的一個 或者多個節(jié)點。服務(wù)器可以維護對象存儲裝置1〇2(例如,存儲系統(tǒng)或者其它外部存儲裝置) 以在服務(wù)器中存儲與由一個或者多個節(jié)點管理的數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)。服務(wù)器可以通過網(wǎng)絡(luò) 101與一個或者多個客戶端(客戶端計算機100)交互??蛻舳撕头?wù)器可以經(jīng)由代表狀態(tài)轉(zhuǎn) 移(REST)應(yīng)用編程接口(APIH03相互交互。在穩(wěn)定狀態(tài)操作期間,可以存在與服務(wù)器周期 性地通信的客戶端??蛻舳送ㄟ^向服務(wù)器發(fā)送新文件內(nèi)容并且從服務(wù)器接收更新的文件來 與服務(wù)器同步文件。用于給定的用戶的所有客戶端同步相同文件集合。用于不同用戶的客 戶端同步用于那些用戶的文件。在圖2中說明了服務(wù)器的細節(jié)。每個客戶端包括處理器、存 儲器、存儲設(shè)備,并且客戶端中的處理器可以被配置為有助于如例如在圖4A中描述的一個 或者多個實現(xiàn)方式。
[0021]圖2圖示了可以在其上實施示例實現(xiàn)方式的示例計算機系統(tǒng)200。計算機系統(tǒng)200 包括可以涉及I/O單元235、存儲裝置260(和/或存儲器)和可操作用于如本領(lǐng)域技術(shù)人員已 知的那樣執(zhí)行一個或者多個單元的處理器210的服務(wù)器205。如圖2中所示的服務(wù)器205代表 涉及一個節(jié)點的配置,但是服務(wù)器可以如圖1中所示具有附加節(jié)點。服務(wù)器205可以經(jīng)由接 口(比如REST接口 103)與關(guān)聯(lián)于服務(wù)的一個或者多個客戶端對接。如這里所用的術(shù)語"計算 機可讀介質(zhì)"是指參與向處理器210提供指令以用于執(zhí)行的任何介質(zhì),該介質(zhì)可以具有計算 機可讀存儲介質(zhì)的形式,比如但不限于光盤、磁盤、只讀存儲器、隨機存取存儲器、固態(tài)設(shè)備 和驅(qū)動或者適合用于存儲電子信息的任何其它類型的非瞬態(tài)介質(zhì)或者計算機可讀信號介 質(zhì),這可以包括媒體(比如載波)。I/O單元處理來自用戶接口 240和操作者接口 245的輸入, 這些接口可以利用輸入設(shè)備,比如鍵盤、鼠標、觸摸設(shè)備或者口頭命令。
[0022]服務(wù)器205也可以連接到外部存儲裝置250(例如,比如如圖1中所示的對象存儲裝 置102),該外部存儲裝置250可以包含存儲裝置,比如存儲系統(tǒng)(RAID系統(tǒng)或者DISD陣列)、 便攜硬驅(qū)動、光介質(zhì)(CD或者DVD)、盤介質(zhì)或者服務(wù)器205可以從其讀取數(shù)據(jù)的任何其它介 質(zhì)。服務(wù)器205也可以連接到輸出設(shè)備255(比如顯示器)以向用戶輸出數(shù)據(jù)和其它信息,以 及請求來自用戶的附加信息。從服務(wù)器205到用戶接口 240、操作者接口 245、外部存儲裝置 250、接口 103和輸出設(shè)備255的連接可以經(jīng)由無線協(xié)議(比如802.11標準、藍牙?或者蜂 窩協(xié)議)或者經(jīng)由物理傳輸介質(zhì)(比如線纜或者光纖)。輸出設(shè)備255因此還可以充當用于與 用戶交互的輸入設(shè)備。
[0023] 處理器210可以被配置為有助于如例如圖4A、圖5A和圖5B中描述的一個或者多個 實現(xiàn)方式。處理器可以處理如圖5A和圖5B中描述的確定以從客戶端設(shè)備恢復(fù)服務(wù)器并且在 服務(wù)器恢復(fù)之后處理來自客戶端的客戶端恢復(fù)文件和文件更新。如果服務(wù)器205失?。ɡ?如,由于服務(wù)器上的故障或者事故),則服務(wù)器將執(zhí)行恢復(fù)過程以執(zhí)行服務(wù)器恢復(fù)。這一過 程可以包括利用在(例如,被實施為存儲裝置260或者外部存儲裝置250的)存儲系統(tǒng)中存儲 的備份或者快照以恢復(fù)文件并且將服務(wù)器205回滾到之前的備份點,并且確定該點是恢復(fù) 點。即,恢復(fù)點意味著恰在通過利用在存儲系統(tǒng)中存儲的備份或者快照來執(zhí)行恢復(fù)過程之 后和在通過利用客戶端中的數(shù)據(jù)來執(zhí)行恢復(fù)過程之前的點。在恢復(fù)之后,服務(wù)器205然后可 以與一