TWI509423B - 在叢集檔案系統間之同步更新 - Google Patents
在叢集檔案系統間之同步更新 Download PDFInfo
- Publication number
- TWI509423B TWI509423B TW101139558A TW101139558A TWI509423B TW I509423 B TWI509423 B TW I509423B TW 101139558 A TW101139558 A TW 101139558A TW 101139558 A TW101139558 A TW 101139558A TW I509423 B TWI509423 B TW I509423B
- Authority
- TW
- Taiwan
- Prior art keywords
- file system
- point
- data
- consistency point
- consistency
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本發明係關於在叢集檔案系統間之資料同步。更具體而言,本發明係關於追蹤檔案系統中之改變且使用標準協定重新執行該等改變至另一檔案系統。
在快取遠端檔案資料之可按比例調整且可寫之快取系統中,自遠端站台獲取資料且在快取站台(亦稱做源站台)進行更新,並且在遠端站台(亦稱做目標站台)重新執行資料。已知源站台與目標站台之間的網路連接性可能經受臨時斷接。當兩個站台之間的斷接發生時,源站台應仍可用於存取先前被快取之資料,且因此,源站台繼續支援資料及後設資料更新。此時,由於兩個站台之間的連接性恢復,因此資料及後設資料更新需要與目標站台同步。
本發明包含用於自與一可組態計算資源之共用集區通信的源資料站台向目標資料站台同步更新資料及後設資料的方法、系統及物品。
在一個態樣中,提供用於同步更新資料之方法。在週期性基礎上在源檔案系統中創建一致性點。每一一致性點表示在一時間點之檔案系統資料及後設資料,並且被用來建立修復點。更具體而言,一致性點之週期性創建包括在第一時間點創建第一一致性點及在第二時間點創建第二一致性點。比較第一與第二一致性點以識別任何相異處。另
外,基於物件之間的對應關係將源檔案系統物件映射至目標檔案系統物件。應用在第一與第二一致性點之間的所識別相異處。更具體而言,相異處之應用包括作為一或多個檔案系統操作來重新執行所識別相異處。
在另一態樣中,系統具備工具以支援一致性資料之同步。可組態電腦資源之共用集區具備與其通信之功能單元,該功能單元在其中具有工具以支援該同步。該等工具包括資料管理器、差異(delta)管理器及資料移動器。資料管理器在共用集區中之源站台處處理資料並且在源站台之源檔案系統中週期性地創建一致性點。每一一致性點表示在一時間點之源檔案系統資料及後設資料,從而建立修復點。更具體而言,資料管理器在第一時間點創建第一一致性點及在第二時間點創建第二一致性點。與資料管理器通信之差異管理器起作用來比較第一一致性點與第二一致性點。更具體而言,差異管理器識別第一與第二一致性點之間的任何相異處。與差異及應用管理器通信之資料移動器應用第一與第二一致性點之間的所識別相異處。相異處之應用包括基於源檔案系統物件至目標檔案系統物件之映射而重新執行所識別相異處。
在又一態樣中,經由網路連接將電腦程式產品作為服務而傳遞。該電腦程式產品包含一具有電腦可讀程式碼的電腦可讀儲存媒體。提供電腦可讀程式碼來處理可組態資源之共用集區中的源站台處之資料,包括在源站台之源檔案系統中週期性創建一致性點。每一所創建的一致性點表示
在一時間點之源檔案系統資料及後設資料,並且被用作修復點。更具體而言,該程式碼在第一時間點創建第一一致性點及在第二時間點創建第二一致性點。進一步提供電腦可讀程式碼來比較第一一致性點與第二一致性點,並且具體而言來識別第一與第二一致性點之間的任何相異處。另外,提供電腦可讀程式碼來映射源檔案系統物件至目標檔案系統物件,其中該映射係基於該等物件之間的關係。提供電腦可讀程式碼來應用第一與第二一致性點之間的所識別相異處。更具體而言,該程式碼基於該映射而作為一或多個檔案系統操作來重新執行所識別相異處。
在再一態樣中,提供一種方法來同步更新資料。更具體而言,在第一時間點在源檔案系統中創建第一一致性點,及在第二時間點在源檔案系統中創建第二一致性點。該第一一致性點表示在第一時間點之檔案系統資料及後設資料,並且起作用來建立第一修復點。該第二一致性點表示在第二時間點之檔案系統資料及後設資料,並且起作用來建立第二修復點。在與源檔案系統相關聯的通信故障之後,比較第一一致性點與該第二一致性點。該比較包括識別第一與第二一致性點之間的改變。應用第一與第二一致性點之間的所識別改變來支援該同步。更具體而言,該應用包括基於源檔案系統物件至目標檔案系統物件之映射重新執行作為檔案系統操作之該等改變。
結合附圖,自本發明之目前較佳實施例之以下詳細描述中,本發明之其他特徵及優點將變得顯而易見。
本文中所參看之圖式形成本說明書之一部分。除非另有明確指示,否則在圖式中所示之特徵意欲作為本發明之僅僅一些實施例之說明,而非本發明之全部實施例之說明。
應易於理解,可以各種各樣的不同組態來配置及設計如本文中之圖式中大體所描述及說明的本發明之組件。因此,如圖式中所呈現的對本發明之裝置、系統及方法之實施例的以下詳細說明不意欲限制如所主張之本發明之範疇,而僅僅係本發明之選定實施例之代表。
在本說明書中描述之功能單元已被標為管理器。可在諸如場可程式化閘陣列、可程式化陣列邏輯、可程式化邏輯器件或類似者之可程式化之硬體器件中實施管理器。亦可在用於由各種類型之處理器處理之軟體中實施管理器。可執行程式碼之所識別管理器可例如包含電腦指令之一或多項實體或邏輯區塊,該等區塊可例如經組織為物件、程序、功能或其他構造。然而,所識別管理器之可執行碼不需要在實體上定位在一起,而可包含儲存於不同位置之全異指令,該等指令當在邏輯上被接合至一起時包含管理器且達成管理器之設定目的。
實際上,可執行程式碼之管理器可為單一指令或許多指令,並且甚至可被分佈於若干不同碼段之上、在不同應用間及在若干記憶體器件間。類似地,在本文中,操作資料可經識別並說明於管理器內,且可以任何合適之形式體現且組織於任何合適類型之資料結構內。操作資料可經收集
以作為單一資料集或可分佈於不同位置上(包括在不同儲存器件上),且可至少部分地作為電子信號存在於系統或網路上。
貫穿本說明書引用之「選擇實施例」、「一項實施例」或「實施例」意謂結合實施例所描述的特定特徵、結構或特性包括在本發明之至少一實施例中。因此,貫穿本發明在各種位置出現之短語「選擇實施例」、「在一項實施例中」或「在實施例中」未必指相同實施例。
此外,所描述的特徵、結構或特性可在一或多項實施例中以任何合適之方式組合。在以下描述中,提供許多具體細節,諸如資料移動器、複製管理器、遷移管理器等之實例,從而提供對本發明之實施例之詳盡理解。然而,熟習相關技術者將認識到,可在無需具體細節中之一或多者的情況下或者可用其他方法、組件、材料等來實踐本發明。
藉由參看圖式將最佳地理解本發明之所說明實施例,在該等圖式中相同部分貫穿全文由相同數字指定。以下描述意欲僅為舉例而言,且僅說明與如本文中所主張之本發明一致的器件、系統及程序之某些選定實施例。
雲端計算環境係服務導向的,聚焦於無狀態、低耦合度、模組性及語義互通性。在雲端計算之核心處為包含互連節點之網路的基礎結構。現參看圖1,展示雲端計算節點的實例之示意圖。雲端計算節點(10)僅為合適的雲端計算節點之一項實例,且不意欲暗示關於本文中所描述的本發明之實施例的使用或功能性的範疇之任何限制。無論如
何,雲端計算節點(10)能夠被實施及/或執行在上文中所闡述的功能性中之任一者。在雲端計算節點(10)中,存在電腦系統/伺服器(12),其在許多其他通用或專用計算系統環境或組態情況下可操作。可適合於與電腦系統/伺服器(12)一起使用之熟知計算系統、環境及/或組態之實例包括(但不限於):個人電腦系統、伺服器電腦系統、精簡型用戶端、複雜型用戶端、手持型或膝上型器件、多處理器系統、基於微處理器之系統、機上盒、可程式化消費型電子器件、網路PC、迷你電腦系統、大型主機電腦系統,及包括上述系統或器件中之任一者的分散式雲端計算環境,及其類似者。
可在電腦系統可執行指令(諸如由電腦系統執行之程式模組)之一般上下文中描述電腦系統/伺服器(12)。大體言之,程式模組可包括執行特定任務或實施特定抽象資料類型之常式、程式、物件、組件、邏輯、資料結構等等。可在藉由遠端處理器件(其經由通信網路連結)執行任務的分散式雲端計算環境中實踐電腦系統/伺服器(12)。在分散式雲端計算環境中,程式模組可定位於包括記憶體儲存器件之本端電腦系統儲存媒體及遠端電腦系統儲存媒體中。
如圖1中所示,以通用計算器件之形式展示雲端計算節點(10)中之電腦系統/伺服器(12)。電腦系統/伺服器(12)之組件可包括(但不限於)一或多個處理器或處理單元(16)、系統記憶體(28)、及將包括系統記憶體(28)之各種系統組件耦合至處理器(16)之匯流排(18)。匯流排(18)表示若
干類型之匯流排結構中之任何類型中的一或多者,包括記憶體匯流排或記憶體控制器、周邊匯流排、加速圖形埠,及使用各種匯流排架構中之任一者的處理器或區域匯流排。藉由實例(且非限制),此架構包括工業標準架構(ISA)匯流排、微通道架構(MCA)匯流排、增強型ISA(EISA)匯流排、視電標準協會(VESA)區域匯流排及周邊元件互連(PCI)匯流排。電腦系統/伺服器(12)通常包括各種電腦系統可讀媒體。此媒體可為可由電腦系統/伺服器(12)存取之任何可用媒體,且其包括揮發性及非揮發性媒體、可抽換式及非可抽換式媒體兩者。
系統記憶體(28)可包括以揮發性記憶體形式之電腦系統可讀媒體,諸如隨機存取記憶體(RAM)(30)及/或快取記憶體(32)。電腦系統/伺服器(12)可進一步包括其他可抽換式/非可抽換式、揮發性/非揮發性電腦系統儲存媒體。僅藉由實例,可提供用於自非可抽換式、非揮發性磁性媒體(未圖示且通常被稱作「硬碟機」)讀取及寫入至該非可抽換式、非揮發性磁性媒體之儲存系統(34)。雖然未展示,但可提供用於自可抽換式、非揮發性磁碟(例如,「軟碟」)讀取或寫入至可抽換式、非揮發性磁碟的磁碟機以及用於自可抽換式、非揮發性光碟(諸如,CD-ROM、DVD-ROM或其他光學媒體)讀取或寫入至可抽換式、非揮發性光碟的光碟機。在此等例項中,每一者可藉由一或多個資料媒體介面連接至匯流排(18)。如下文進一步描繪及描述,記憶體(28)可包括至少一程式產品,該程式產品具有經組態
以進行本發明的實施例之功能的程式模組集合(例如,至少一個)。
藉由實例(且非限制),具有程式模組(42)之集合(至少一個)的程式/公用程式(40)以及作業系統、一或多個應用程式、其他程式模組及程式資料可儲存於記憶體(28)中。作業系統、一或多個應用程式、其他程式模組及程式資料或其某種組合中之每一者可包括網路環境之實施。程式模組(42)通常進行如本文中所描述的本發明之實施例之功能及/或方法學。
計算系統/伺服器(12)亦可與以下器件通信:一或多個外部器件(14),諸如鍵盤、指標器件、顯示器(24)等;使使用者能夠與電腦系統/伺服器(12)互動之一或多個器件;及/或使電腦系統/伺服器(12)能夠與一或多個其他計算器件通信之任何器件(例如,網路卡、數據機等)。此通信可經由輸入/輸出(I/O)介面(22)發生。另外,電腦系統/伺服器(12)可經由網路配接器(20)而與一或多個網路(諸如,區域網路(LAN)、一般廣域網路(WAN)及/或公用網路(例如,網際網路))通信。如所描繪的,網路配接器(20)經由匯流排(18)與電腦系統/伺服器(12)之其他組件通信。應理解,儘管未圖示,但可結合電腦系統/伺服器(12)來使用其他硬體及/或軟體組件。實例包括(但不限於):微碼、器件驅動程式、冗餘處理單元、外部磁碟機陣列、RAID系統、磁帶機,及資料封存儲存系統等。
現參看圖2,描繪說明性雲端計算環境(50)。如所展
示,雲端計算環境(50)包含一或多個雲端計算節點(10),其可與由雲端消費者所使用之本端計算器件通信,該等本端計算器件諸如個人數位助理(PDA)或蜂巢式電話(54A)、桌上型電腦(54B)、膝上型電腦(54C)及/或汽車電腦系統(54N)。節點(10)可彼此通信。在如上文中所描述的一或多個網路(諸如專用、共用、公用或混合雲端)或其組合中可實體上或虛擬上聚集該等節點(未圖示)。此允許雲端計算環境(50)提供基礎結構、平台及/或軟體來作為服務,針對該等服務,雲端消費者不需要在本端計算器件上維護資源。應理解圖2中展示之計算器件(54A)至(54N)之類型意欲僅為說明性,且計算節點(10)及雲端計算環境(50)可在任何類型之網路及/或網路可定址連接上與任何類型之電腦化器件通信(例如,使用網頁瀏覽器)。
現參看圖3,展示由雲端計算環境(50)(圖2)提供之功能抽象層之集合。應預先理解,圖3中所展示之組件、層及功能意欲僅為說明性,且本發明之實施例不限於此。如所描繪的,提供以下層及對應功能:硬體及軟體層(60)、虛擬化層(62)、管理層(64)及工作負荷層(66)。硬體及軟體層(60)包括硬體及軟體組件。硬體組件之實例包括:大型主機(在一項實例中為IBM® zSeries®系統);基於RISC(精簡指令集電腦)架構之伺服器(在一項實例中為IBM pSeries®系統);IBM xSeries®系統;IBM BladeCenter®系統;儲存器件;網路及網路連接組件。軟體組件之實例包括網路應用程式伺服器軟體(在一項實例中為IBM WebSphere®應用
程式伺服器軟體)及資料庫軟體(在一項實例中為IBM DB2®資料庫軟體)。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere及DB2為國際商用機器公司在全球範圍的許多司法管轄區中註冊之商標。)
虛擬化層(62)提供抽象層,自該抽象層可提供虛擬實體之以下實例:虛擬伺服器;虛擬儲存器;虛擬網路,包括虛擬專用網路;虛擬應用程式及作業系統;及虛擬用戶端。
在一項實例中,管理層(64)可提供以下功能:資源佈建、計量及定價、使用者入口、服務等級管理及服務等級協議(SLA)計劃及完成。在下文中描述該等功能。資源佈建提供用以在雲端計算環境內執行任務之計算資源及其他資源的動態採購。計量及定價隨著在雲端計算環境內利用資源而提供成本追蹤,並且提供針對此等資源之消耗的記帳或發票。在一項實例中,此等資源可包含應用軟體授權。安全性提供針對雲端消費者及任務之身分驗證,以及針對資料及其他資源之保護。使用者入口為消費者及系統管理者提供對雲端計算環境之存取。服務等級管理提供雲端計算資源分配及管理,使得滿足所要求之服務等級。服務等級協議(SLA)計劃及完成提供雲端計算資源的預先配置及採購,其中根據SLA預期對雲端計算資源之未來要求。
工作負荷層(66)提供可利用雲端計算環境之功能性的實例。可自此層提供之工作負荷及功能之實例包括(但不限
於):地圖測繪(mapping)及導航;軟體開發及生命週期管理;虛擬教室教育傳遞;資料分析學處理;操作處理;及維持一致的應用程式資料以支援雲端計算環境內之遷移。
在本文中所描述的可組態之電腦資源之共用集區(下文中稱為雲端計算環境)中,應用程式可遷移至任何資料中心(本文中亦稱為資料站台)。存在兩個一般情形,其中應用程式經受遷移,包括計劃遷移及非計劃遷移。在計劃遷移中,應用程式遷移至雲端中之任何資料中心(亦即,目標站台),同時維持嚴重損壞修復支援,並且在非計劃遷移中,應用程式經受故障且在雲端中之任何資料中心中恢復,同時維持嚴重損壞修復支援。因此,計劃遷移與非計劃遷移之間的相異處係有故障應用程式之故障及隨後的修復。
源站台為資料之主要位置,且目標站台提供源資料之複本。在一項實施例中,源站台以讀寫模式操作以支援讀取操作及寫入操作兩者,且目標站台以唯讀模式操作且限於支援讀取操作。提供源資料與目標站台之連續同步。在一項實施例中,源站台故障之後為目標站台被升級至新的源站台,從而支援讀取操作及寫入操作兩者。此種升級可要求應用程式及/或工具被遷移至新的源站台,從而支援新的源站台之功能性。
在檔案集層級定義來自源站台之資料。在一項實施例中,檔案集為檔案系統命名空間之子樹,該檔案系統命名空間為資料管理提供行政管理邊界。因此,複製及一致性
之粒度為檔案集。所界定之粒度之態樣保證在給定檔案集內之所有檔案間之所有依賴性寫入保證為有序的。圖4為說明將源站台處之資料及後設資料之改變置放於佇列中以傳達給目標站台之態樣的流程圖(400)。在將任何資料及/或後設資料改變置放於佇列中之前,創建在源站台處之映射,其具有在源站台及目標站台處之檔案識別符空間(402)。更具體而言,在源站台處之索引節點(inode)數目需要被映射成在目標站台處之等效索引節點數目,並且在源站台處之檔案名可能需要被映射成在目標站台處之等效檔案名。
應用程式在源站台處執行(404)。應用程式可支援讀取及/或寫入操作。將自寫入操作產生之資料儲存於源站台本端之資料儲存器(其中應用程式正在處理)中,例如本端儲存器(406)。同時,將自寫入操作創建之資料自本端資料儲存器複製至在目標站台處之備份資料儲存器,同時應用程式繼續處理一或多個操作(408)。在步驟(408)之複製包括來自寫入操作之資料及後設資料兩者。可將在步驟(408)之複製自源站台中之一或多個伺服器節點同步或非同步傳導至在目標站台中之一或多個伺服器節點。不管在步驟(408)之複製之格式如何,在源資料儲存器及目標資料儲存器兩者上創建資料一致性點。一致性點之創建確保一旦應用程式經受故障,應用程式可自一致性資料集中恢復。
可使用熟習此項技術者已知的若干不同方法來達成一致性點。在一項實施例中,採用檔案系統或儲存系統快照並
且使用寫入時複製語義學來儲存某一時間點之資料,無需延遲應用請求一段延長的時間。在一項實施例中,可使用任何層級之一致性,包括(但不限於)應用程式、系統故障、檔案系統等。因此,來自一或多個寫入操作之資料及後設資料被儲存於源資料儲存器中並且被複製至目標資料儲存器,其中在兩個資料儲存位置創建一或多個一致性點。
在源位置及目標位置兩者處創建及維持週期性一致性點,其中一致性點在發生站台故障之情況下充當修復點。更具體而言,在源站台本端選取一致性點,並且一旦在一致性點中反映之資料之全部已被傳輸至目標站台,即在目標站台處創建一致性點。因此,當資料及後設資料之改變在源站台處發生時,此等改變被反映在源站台本端之一致性點中,並且被傳達至目標站台,其中在目標站台本端創建目標一致性點。
為了支援網路頻寬之有效使用,一致性點自源站台至目標站台之傳輸可限於與一先前一致性點之相異處。圖5為說明管理源站台處之一致性點之程序的流程圖(500)。在源站台本端創建第一一致性點(502)。在時間間隔(504)之後,在源站台本端創建第二一致性點(506)。判定第一一致性點與第二一致性點之間是否有任何相異處(508)。對在步驟(508)之判定的肯定回應之後為識別具體相異處(510)。更具體而言,對源站台處之一致性點之比較包括搜尋如在索引節點中反映之後設資料及如在可能已創建、刪除或修
改的目錄項中反映之資料兩者。針對被識別為具有相異處之任何索引節點後設資料,創建索引節點輸出檔案(512),並且針對被識別為具有相異處之任何目錄項,創建目錄輸出檔案(514)。在一項實施例中,不需要創建及儲存輸出檔案。更具體而言,可使相異處排入佇列來直接在次要站台處重新執行,而無需使用中間檔案,例如,輸出檔案。類似地,在一項實施例中,可在單一通道中創建以佇列形式或者檔案形式之輸出。作為一系列檔案系統操作的重新執行輸出檔案之步驟可與目標站台同時或並行發生。在一項實施例中,檔案系統操作可為標準及/或非專屬檔案系統操作,諸如用於UNIX(POSIX)檔案系統操作之攜帶性作業系統介面。因此,創建一或多個輸出檔案或者實施佇列來重新執行所識別後設資料及資料相異處。
在於步驟(512)及/或(514)創建任何輸出檔案之後,將輸出檔案置放於源站台本端之記憶體內佇列中(516)。同時,源站台可繼續處理讀取及寫入操作,此可包括資料及/或後設資料之進一步改變。在步驟(516)或者對步驟(508)之判定的否定回應之後,程序返回至步驟(504)繼續,在此之後,重複隨後的一致性點之創建及其比較。在一項實施例中,在一致性點之間的一或多個相異處之應用不限於連續的一致性點。更具體而言,所識別的相異處可在任意兩個一致性點之間。舉例而言,可重新執行兩個一致性點之間的相異處以還原改變。若S1及S2分別為在時間T1及T2選取之連續的一致性點,並且其中T1在T2之前出現,則目標
站台可處於一致性點S1處並且在時間上被提前至S2,或者目標站台可處於一致性點S2處並且在時間上被移回S1。第一及第二一致性點在時間上並非總是連續的,該等一致性點可為任意兩個一致性點。因此,在週期性基礎上創建一致性點,其中經比較的一致性點之間的相異處經識別並且被置放於佇列中以傳達給目標站台。
認識到源站台與目標站台之間可能存在通信故障。故障因為各種原因而發生,並且此等故障之細節及其起因並非本發明之主題。然而,在發生故障之情況下,使用嚴重損壞修復來建立或重建在源站台與目標站台之間、在資料層級及後設資料層級兩者上的一致性。在一項實施例中,在佇列中之資料之傳輸以連續的方式非同步發生。若源站台經歷節點或站台故障,則目標站台將不接收在故障時可能已在佇列中之任何改變。在偵測源站台與目標站台之間的通信故障之後,調用演算法來解譯及執行對源站台之操作。執行操作包括與一致性點相關聯之兩個態樣,一態樣與後設資料之相異處有關且另一態樣與資料之相異處有關。
圖6為說明用於偵測源站台與目標站台之間的通信故障之程序以及對用源站台中之資料及後設資料使目標站台最新之修復的管理之第一態樣的流程圖(600)。針對在源站台處之最新近的一致性點中所參考之每一索引節點,判定在源站台處之先前一致性點中是否存在索引節點(602)。對步驟(602)之判定之否定回應係主題索引節點為新的索引節點
之指示(604)。在源站台處之新的索引節點之屬性經確定(606),並且臨時新的索引節點在目標站台處被創建且被映射至在源站台處之所參考的新的索引節點(608)。因此,針對在源節點處之最新近的一致性點中參考之每一新的索引節點,在目標站台處臨時創建新的索引節點。
若在步驟(602)判定主題索引節點曾存在於先前一致性點中,則藉由參考,此索引節點存在於目標站台處。對主題索引節點之參考指示與主題索引節點有關的現存檔案已被修改(610)。在步驟(608)或(610)之後,建立主題索引節點與經映射的目標索引節點之永久連結(612)。在一項實施例中,永久連結為將名稱與檔案系統上之現存檔案相關聯之目錄項。一旦建立永久連結,接著判定是否存在在主一致性點中參考且與主題索引節點相關聯之新的資料(614)。對步驟(614)之判定的肯定回應之後為在源站台處將新的資料置放於佇列中,並且經由永久連結將資料寫入至目標索引節點(616)。在下文中所描述的圖7中展示更新目標站台上的資料之細節。對步驟(614)之判定的否定回應之後為判定是否存在在主一致性點中參考且與主題索引節點相關聯之新的後設資料(618)。若對步驟(618)之判定之回應為否定,則後設資料之調解程序結束(620)。相反地,對步驟(618)之判定的肯定回應之後為自源站台中之一致性站台向目標站台更新後設資料屬性之全部(622)。因此,在通信故障之後,維持且調解源站台與目標站台之間的後設資料一致性。
如在圖6中所參看,在源站台處之兩個一致性點之間的相異處可相對於資料存在。圖7為說明調解源站台處之兩個一致性點中之目錄項的程序之流程圖(700)。針對每一所識別的改變的目錄(702),源索引節點映射至目標索引節點(704)。接著判定主題目錄是否位於最新近的一致性點中(706)。對步驟(706)之判定之否定回應係主題目錄已被移除或重命名之指示(708)。自源站台至目標站台建立主題目錄之連結(710)。因此,針對在一致性點比較中識別為已被移除或重命名之每一目錄,在兩個站台之間建立連結以自源站台至目標站台傳達改變。
然而,對步驟(708)之判定的肯定回應係已在目標站台建立目錄之指示。因此,對步驟(706)之判定的肯定回應之後為在位於目標站台處之經映射的索引節點處查找主題目錄(712)。接著判定主題目錄是否存在於經映射之索引節點中(714)。若目錄不存在,則在目標站台創建目錄並且目錄連結至源站台處之主題目錄(716)。然而,若目錄存在,則接著判定在位於源站台處之一致性點比較中所提到之檔案層級是否有改變(718)。對步驟(718)之判定之否定回應係改變處於目錄層級之指示(720)。相反地,對步驟(718)之判定的肯定回應展示改變處於資料層級並且建立自源站台至目標站台之連結,從而用改變的資料更新適當的目標索引節點及目錄(720)。因此,源站台與目標站台之間的資料一致性維持於目錄層級。
在源站台處執行之所有檔案系統操作在目標站台處以相
同的次序重新執行,藉此保證寫入次序及讀取穩定性。更具體而言,作為檔案系統操作而自源站台應用源站台一致性點與目標站台一致性點之間的所識別的相異處。
如在圖4至圖7中之流程圖中所示範,使用方法來支援自源站台至目標站台之資料同步。更具體而言,創建連續一致性點,識別一致性點之間的相異處,並且該等相異處作為檔案系統操作而自源站台至目標站台重新執行。在一項實施例中,支援同步之工具全部在源站台本端,同步包括創建一致性點、確定連續一致性點之間的相異處、及將經確定的相異處轉換成檔案系統操作以傳達至目標站台。圖8為說明內嵌於電腦系統中以支援如上文所描述的資料同步之工具的方塊圖(800)。更具體而言,可組態之電腦資源的共用集區經展示為具有第一資料中心(810)及第二資料中心(850)。為了描述之目的,第一資料中心(810)被稱為源站台及第二資料中心(850)被稱為目標站台。儘管在本文中之實例中僅展示兩個資料中心,但本發明不應限於在電腦系統中之此資料中心量。因此,可使用兩個或兩個以上資料中心來支援資料同步。
在系統中之資料中心中之每一者具備與資料儲存器通信之至少一伺服器。更具體而言,第一資料中心(810)具備伺服器(820),該伺服器(820)具有處理單元(822),該處理單元(822)跨越匯流排(826)與記憶體(824)通信,並且與第一本端儲存器(828)通信;及第二資料中心(850)具備伺服器(860),該伺服器(860)具有處理單元(862),該處理單元
(862)跨越匯流排(866)與記憶體(864)通信,並且與第三本端儲存器(868)通信。
在本文中所示的實例中,應用程式(880)處理在第一資料中心(810)本端之讀取及寫入操作。讀取操作由第一本端儲存器(828)中之資料支援。類似地,來自寫入操作之資料被寫入第一本端儲存器(828)中。提供若干工具來支援自第一資料中心(810)至第二資料中心(850)之寫入資料同步。更具體而言,功能單元(830)經設置於共用集區中之第一資料中心(810)本端,並且與伺服器(820)之記憶體(824)通信。功能單元(830)管理支援資料同步之工具。該等工具包括(但不限於)資料管理器(832)、差異管理器(834)及資料移動器(836)。資料管理器(832)起作用來經由使用一致性點處理在源站台(810)處之資料。更具體而言,資料管理器(832)在週期性基礎上在源站台(810)本端創建檔案系統(亦即,源檔案系統)之一致性點。
所創建的一致性點中之每一者表示在一時間點之檔案系統資料及後設資料,並且在發生故障之情況下起作用來建立修復點。資料管理器(832)至少在第一時間點創建第一一致性點及在第二時間點創建第二一致性點。在一項實施例中,在第二一致性點經產生且經複製至目標站台(850)之後,可自源站台(810)刪除第一一致性點。因此,資料管理器(832)起作用來在不同的時間點擷取源檔案系統之至少兩個影像。
因為存在源檔案系統之至少兩個一致性點,所以在發生
第一資料中心(810)與第二資料中心(850)之間的通信故障之情況下一致性點需要被傳達至第二資料中心(850)。為了減輕頻寬利用,通信可限於兩個一致性點之間的相異處。差異管理器(834)經設置與資料管理器(832)通信,其中差異管理器(834)之功能性為支援此等相異處之識別及管理。更具體而言,差異管理器(834)比較第一一致性點與第二一致性點,並且識別第一一致性點與第二一致性點之間的任何相異處。因此,差異管理器(834)起作用來識別在兩個一致性點之間、在後設資料層級及資料層級兩者上之相異處。
最後,資料移動器(836)經設置與差異管理器(834)通信,從而管理在如差異管理器(834)所識別的兩個一致性點之間的相異處之應用。更具體而言,資料移動器(836)產生含有所識別相異處之輸出檔案,將所識別相異處置放於佇列中,並且作為檔案系統操作而重新執行輸出檔案。在一項實施例中,自源站台(810)至目標站台(850)重新執行檔案系統操作,其中操作包括以同時方式的多個檔案系統操作。由資料移動器(836)使用之檔案系統操作僅重新執行在如差異管理器(834)所創建的精確差異中反映之彼等改變。在一項實施例中,資料移動器(836)允許合併兩個或兩個以上檔案更新並且忽略瞬間後設資料操作,例如,暫時檔案。因為資料移動器(836)替換檔案系統操作以傳達檔案系統改變,所以源站台(810)及目標站台(850)不限於同質檔案系統。在一項實施例中,源站台(810)及目標站台(850)
可為異質檔案系統。因此,資料移動器(836)負責以檔案系統操作的形式自源站台(810)至目標站台(850)傳達所識別的檔案系統改變。
如本文中所示,檔案系統改變經識別且自資源之共用集區中之源站台(810)至目標站台(850)同步。更具體而言,同步由資料管理器(832)、差異管理器(834)及資料移動器(836)支援。在一項實施例中,自源站台(810)之資料之同步回應於自源站台(810)之通信中之故障而發生,從而確保目標站台(850處)之一致的資料版本得到維持且發展。因此,資料一致性在雲端中之兩個位置處得到維持,從而確保自源站台之資料的複本在次要位置可用。
如所示,工具(832)至(836)經設置於源站台(810)本端之可組態電腦資源之共用集區(亦即,雲端)中。在一項實施例中,目標站台不需要任何額外工具來使電腦程式碼支援同步功能性。如上文所識別,資料管理器(832)、差異管理器(834)及資料移動器(836)分別展示為駐留在源資料中心(810)本端之伺服器(820)之記憶體(824)中。儘管在一項實施例中,資料管理器(832)、差異管理器(834)及資料移動器(836)分別可作為伺服器(820)之記憶體(824)之外部的硬體工具駐留,或其可作為硬體與軟體之組合實施。類似地,在一項實施例中,管理器(832)至(836)可經組合成併入分離項之功能性的單一功能項。如本文中所示,管理器中之每一者經展示為在一個資料中心本端。然而,在一項實施例中,該等管理器可集體或個別分佈於可組態電腦資
源之共用集區間,且充當管理一致性資料自源站台至目標站台之同步的單元。因此,管理器可經實施為軟體工具、硬體工具或軟體及硬體工具之組合。
如熟習此項技術者將瞭解,本發明之態樣可體現為系統、方法或電腦程式產品。因此,本發明之態樣可採用完全硬體實施例、完全軟體實施例(包括韌體、常駐軟體、微碼等)或組合軟體與硬體態樣之實施例的形式,該等實施例在本文中皆可通稱為「電路」、「模組」或「系統」。此外,本發明之態樣可採用體現於一或多個電腦可讀媒體中之電腦程式產品之形式,該一或多個電腦可讀媒體上具有體現於其上的電腦可讀程式碼。
可利用一或多個電腦可讀媒體之任何組合。電腦可讀媒體可為電腦可讀信號媒體或電腦可讀儲存媒體。舉例而言,電腦可讀儲存媒體可為(但不限於)電子、磁性、光學、電磁、紅外線或半導體系統、裝置或器件,或前述系統、裝置或器件的任何合適組合。電腦可讀儲存媒體之較具體實例(非詳盡清單)將包括以下各者:具有一或多條導線之電連接件、攜帶型電腦磁片、硬碟、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可抹除可程式化唯讀記憶體(EPROM或快閃記憶體)、光纖、攜帶型光碟唯讀記憶體(CD-ROM)、光學儲存器件、磁性儲存器件,或前述各者之任何合適組合。在本文件之上下文中,電腦可讀儲存媒體可為可含有或儲存供指令執行系統、裝置或器件使用或結合指令執行系統、裝置或器件而使用之程式的任何有形
媒體。
電腦可讀信號媒體可包括經傳播之資料信號,該經傳播之資料信號具有體現於其中(例如,在基頻中或作為載波之部分)之電腦可讀程式碼。此傳播信號可採用各種形式中之任一者,包括(但不限於)電磁、光學或其任何合適組合。電腦可讀信號媒體可為並非電腦可讀儲存媒體且可傳達、傳播或傳送供指令執行系統、裝置或器件使用或結合指令執行系統、裝置或器件而使用之程式的任何電腦可讀媒體。
可使用任何適當媒體來傳輸體現於電腦可讀媒體上之程式碼,適當媒體包括(但不限於)無線、有線、光纖纜線、RF等或前述各者之任何合適組合。
可以一或多種程式設計語言之任何組合來撰寫用於進行本發明之態樣之操作的電腦程式碼,該一或多種程式設計語言包括諸如Java、Smalltalk、C++或其類似者之物件導向式程式設計語言及諸如「C」程式設計語言或類似程式設計語言之習知程序性程式設計語言。程式碼可完全在使用者電腦上執行,部分地在使用者電腦上執行,作為獨立套裝軟體而執行,部分地在使用者電腦上執行且部分地在遠端電腦上執行,或完全在遠端電腦或伺服器上執行。在完全在遠端電腦或伺服器上執行的情形中,遠端電腦可經由任何類型之網路(包括區域網路(LAN)或廣域網路(WAN))連接至使用者電腦,或可連接至外部電腦(例如,使用網際網路服務提供者,經由網際網路)。
上文參看根據本發明之實施例之方法、裝置(系統)及電腦程式產品的流程圖說明及/或方塊圖來描述本發明之態樣。應理解,可藉由電腦程式指令來實施該等流程圖說明及/或方塊圖中之每一方塊及該等流程圖說明及/或方塊圖中之方塊的組合。可將此等電腦程式指令提供至通用電腦、專用電腦或其他可程式化資料處理裝置之一處理器以產生一機器,以使得經由該電腦或其他可程式化資料處理裝置之該處理器而執行之指令創建用於實施在該或該等流程圖及/或方塊圖方塊中所指定之功能/動作之構件。
亦可將此等電腦程式指令儲存於一電腦可讀媒體中,其可命令電腦、其他可程式化資料處理裝置或其他器件以特定方式發揮作用,使得儲存於該電腦可讀媒體中之指令產生一製品,該製品包括實施在該或該等流程圖及/或方塊圖方塊中所指定之功能/動作的指令。
該等電腦程式指令亦可載入至電腦、其他可程式化資料處理裝置或其他器件上,以使在該電腦、其他可程式化裝置或其他器件上執行一系列操作步驟以產生一電腦實施程序,使得在該電腦或其他可程式化裝置上執行之指令提供用於實施在該或該等流程圖及/或方塊圖方塊中所指定之功能/動作的程序。
現參看圖9為展示用於實施本發明之實施例之系統的方塊圖(900)。該電腦系統包括一或多個處理器,諸如處理器(902)。處理器(902)連接至通信基礎結構(904)(例如,通信匯流排、跨接叉線(cross-over bar)或網路)。該電腦系統可
包括顯示介面(906),該顯示介面(906)自通信基礎結構(904)(或自未圖示的訊框緩衝器)轉發圖形、文字及其他資料以在顯示單元(908)上顯示。該電腦系統亦包括主記憶體(910)(較佳為隨機存取記憶體(RAM)),且亦可包括次要記憶體(912)。次要記憶體(912)可包括(例如)硬碟機(914)及/或可抽換式儲存隨身碟(916),表示為(例如)軟碟機、磁帶機或光碟機。可抽換式儲存隨身碟(916)以一般技術者所熟知的方式自可抽換式儲存單元(918)讀取及/或寫入至可抽換式儲存單元(918)。可抽換式儲存單元(918)表示(例如)軟碟、光碟、磁帶或光碟等,該單元由可抽換式儲存隨身碟(916)讀取及寫入。如應瞭解,可抽換式儲存單元(918)包括電腦可讀媒體,該電腦儲存媒體具有儲存於其中之電腦軟體及/或資料。
在替代實施例中,次要記憶體(912)可包括其他類似構件,用於允許電腦程式或其他指令被載入電腦系統中。此等構件可包括(例如)可抽換式儲存單元(920)及介面(922)。此等構件之實例可包括(諸如在視訊遊戲器件中發現之)程式包及封裝介面,可抽換式記憶體晶片(諸如EPROM或PROM)及相關聯之插座,及允許軟體及資料自可抽換式儲存單元(920)轉移至電腦系統之其他可抽換式儲存單元(920)及介面(922)。
該電腦系統亦可包括通信介面(924)。通信介面(924)允許軟體及資料在電腦系統與外部器件之間轉移。通信介面(924)之實例可包括數據機、網路介面(諸如乙太網路卡)、
通信埠或PCMCIA插槽及卡等。經由通信介面(924)轉移之軟體及資料呈信號之形式,該等信號可為(例如)能夠由通信介面(924)接收之電子、電磁、光學或其他信號。經由通信路徑(亦即,頻道)(926)將此等信號提供給通信介面(924)。此通信路徑(926)載運信號且可使用電線或纜線、光纖、電話線、蜂巢式電話鏈路、射頻(RF)鏈路及/或其他通信頻道來實施。
在此文件中,術語「電腦程式媒體」、「電腦可用媒體」及「電腦可讀媒體」用來通常指諸如主記憶體(910)及次要記憶體(912)、可抽換式儲存隨身碟(916)及安裝於硬碟機(914)中之硬碟的媒體。
電腦程式(亦稱做電腦控制邏輯)儲存於主記憶體(910)及/或次要記憶體(912)中。電腦程式亦可經由通信介面(924)接收。此等電腦程式在執行時使電腦系統能夠執行如本文中所討論之本發明之特徵。特定而言,電腦程式在執行時使處理器(902)能夠執行電腦系統之特徵。因此,此等電腦程式表示電腦系統之控制器。
圖式中之流程圖及方塊圖說明根據本發明之各種實施例之系統、方法及電腦程式產品之可能實施的架構、功能性及操作。就此而言,流程圖或方塊圖中之每一區塊可表示程式碼之模組、區段或部分,其包含用於實施所指定邏輯功能的一或多個可執行指令。亦應注意,在一些替代實施中,區塊中所提到之功能可不以諸圖中所提到之次序發生。舉例而言,取決於所涉及之功能性,連續展示之兩個
區塊實際上可實質上同時執行,或該等區塊有時可以相反次序執行。亦應注意,可藉由執行指定之功能或動作的基於專用硬體之系統或專用硬體與電腦指令之組合來實施方塊圖及/或流程圖說明之每一方塊及方塊圖及/或流程圖說明中之方塊的組合。
本文所使用之術語僅為了描述特定實施例,且並不意欲限制本發明。如本文中所使用,單數形式「一」及「該」意欲亦包括複數形式,除非上下文另有清晰指示。應進一步理解,術語「包含」在用於本說明書中時指定所陳述之特徵、整數、步驟、操作、元件及/或組件之存在,但不排除一或多個其他特徵、整數、步驟、操作、元件、組件及/或其群組之存在或添加。
以下申請專利範圍中之所有構件或步驟加功能元件之對應結構、材料、動作及等效物意欲包括用於連同如具體所主張之其他所主張元件一起執行功能的任何結構、材料或動作。已呈現本發明之描述以用於達成說明及描述之目的,但其並不意欲為詳盡的或限於所揭示之形式下的本發明。在不脫離本發明之範疇及精神之情況下,許多修改及變化對於一般熟習此項技術者將顯而易見。選擇並描述實施例以便最佳地解釋本發明之原理及實務應用,且使其他一般熟習此項技術者能夠理解本發明之各種實施例,該等實施例具有適合於所涵蓋之特定用途的各種修改。因此,增強雲端計算模型支援相對於應用程式處理及嚴重損壞修復之靈活性,包括(但不限於)支援資料之位置與應用程式
位置之分離及適當的修復站台之選擇。
應瞭解,儘管為了說明在本文中已描述本發明之具體實施例,但可在不脫離本發明之精神及範疇之情況下進行各種修改。特定而言,系統可經組態以支援在第一資料中心操作之資料及後設資料之計劃及非計劃同步。因此,本發明之保護範疇僅由以下申請專利範圍及其等效物限制。
10‧‧‧雲端計算節點
12‧‧‧電腦系統/伺服器
14‧‧‧外部器件
16‧‧‧處理器或處理單元
18‧‧‧匯流排
20‧‧‧網路配接器
22‧‧‧輸入/輸出(I/O)介面
24‧‧‧顯示器
28‧‧‧記憶體
30‧‧‧隨機存取記憶體(RAM)
32‧‧‧快取記憶體
34‧‧‧儲存系統
40‧‧‧程式/公用程式
42‧‧‧程式模組
50‧‧‧雲端計算環境
54A‧‧‧個人數位助理(PDA)或蜂巢式電話
54B‧‧‧桌上型電腦
54C‧‧‧膝上型電腦
54N‧‧‧汽車電腦系統
60‧‧‧硬體及軟體層
62‧‧‧虛擬化層
64‧‧‧管理層
66‧‧‧工作負荷層
810‧‧‧第一資料中心/源站台/源資料中心
820‧‧‧伺服器
822‧‧‧處理單元
824‧‧‧記憶體
826‧‧‧匯流排
828‧‧‧第一本端儲存器
830‧‧‧功能單元
832‧‧‧資料管理器
834‧‧‧差異管理器
836‧‧‧資料移動器
850‧‧‧第二資料中心/目標站台
860‧‧‧伺服器
862‧‧‧處理單元
864‧‧‧記憶體
866‧‧‧匯流排
868‧‧‧第三本端儲存器
880‧‧‧應用程式
902‧‧‧處理器
904‧‧‧通信基礎結構
906‧‧‧顯示介面
908‧‧‧顯示單元
910‧‧‧主記憶體
912‧‧‧次要記憶體
914‧‧‧硬碟機
916‧‧‧可抽換式儲存隨身碟
918‧‧‧可抽換式儲存單元
920‧‧‧可抽換式儲存單元
922‧‧‧介面
924‧‧‧通信介面
926‧‧‧通信路徑
圖1描繪根據本發明之實施例之雲端計算節點。
圖2描繪根據本發明之實施例之雲端計算環境。
圖3描繪根據本發明之實施例之抽象模型層。
圖4描繪說明將源站台處之資料及後設資料之改變置放於佇列中以傳達至目標站台之程序的流程圖。
圖5描繪說明管理源站台處之一致性點之程序的流程圖。
圖6描繪說明偵測源站台與目標站台之間的通信故障之程序以及對用源站台中之資料及後設資料使目標站台最新之修復的管理之第一態樣的流程圖。
圖7描繪說明調解在源站台處之兩個一致性點中之目錄項的程序之流程圖。
圖8描繪說明內嵌於電腦系統中以支援資料之同步的工具之方塊圖。
圖9描繪展示用於實施本發明之實施例之系統的方塊圖。
10‧‧‧雲端計算節點
12‧‧‧電腦系統/伺服器
14‧‧‧外部器件
16‧‧‧處理器或處理單元
18‧‧‧匯流排
20‧‧‧網路配接器
22‧‧‧輸入/輸出(I/O)介面
24‧‧‧顯示器
28‧‧‧記憶體
30‧‧‧隨機存取記憶體(RAM)
32‧‧‧快取記憶體
34‧‧‧儲存系統
40‧‧‧程式/公用程式
42‧‧‧程式模組
Claims (25)
- 一種用於同步更新資料之方法,其包含:在一源檔案系統中週期性創建一個一致性點,每一一致性點表示在一時間點之檔案系統資料及後設資料從而建立一修復點,該一致性點之該週期性創建包括在一第一時間點創建一第一一致性點及在一第二時間點創建一第二一致性點;比較該第一一致性點與該第二一致性點,包括識別該第一一致性點與該第二一致性點之間的相異處;基於一源檔案系統物件與一目標檔案系統物件之間的一對應關係而將該源檔案系統物件映射至該目標檔案系統物件;應用該第一一致性點與該第二一致性點之間的該等所識別相異處,包括作為一或多個檔案系統操作來重新執行該等所識別相異處。
- 如請求項1之方法,其中應用該等所識別相異處之該步驟使用一源檔案系統索引節點至一目標檔案系統索引節點之一映射。
- 如請求項1之方法,其中應用該等所識別相異處之該步驟包括:使用檔案名稱來識別對檔案系統物件之檔案系統操作。
- 如請求項1之方法,其中應用該第一一致性點與該第二一致性點之間的該等所識別相異處之該步驟包括:產生任何後設資料改變及任何資料改變之一精確差異,並且 僅重新執行在該精確差異中反映之彼等改變。
- 如請求項1之方法,其進一步包含針對該等所識別相異處產生一輸出檔案並且作為一系列檔案系統操作而重新執行該輸出檔案,其中可與一目標站台同時重新執行該等操作中之一些。
- 如請求項1之方法,其進一步包含在該源檔案系統與該目標檔案系統之間的通信故障之後重新執行該輸出檔案。
- 如請求項1之方法,其中該源檔案系統與該目標檔案系統為異質檔案系統。
- 如請求項1之方法,其進一步包含藉由移至一較舊的一致性點來還原在該目標檔案系統處之改變。
- 如請求項1之方法,其中該第一一致性點與該第二一致性點不限於連續的一致性點。
- 一種支援一致性資料之同步的系統,其包含:可組態電腦資源之一共用集區;與該共用集區通信之一功能單元,該功能單元包含:一資料管理器,其處理在該共用集區中之一源站台處之資料,包括在該源站台之一源檔案系統中週期性創建一一致性點,每一一致性點表示在一時間點之源檔案系統資料及後設資料,從而建立一修復點,該一致性點之該資料管理器創建包括該資料管理器在一第一時間點創建一第一一致性點及在一第二時間點創建一第二一致性點; 一差異管理器,其與該資料管理器通信,該差異管理器比較該第一一致性點與該第二一致性點,包括識別該第一一致性點與該第二一致性點之間的任何相異處;及一資料移動器,其與該差異管理器通信,該資料移動器應用該第一一致性點與該第二一致性之間的該等所識別的相異處,包括基於一源檔案系統物件至一目標檔案系統物件之一映射之該等所識別相異處之一重新執行。
- 如請求項10之系統,其中該資料移動器使用一源檔案系統索引節點至一目標檔案系統索引節點之一映射來應用該等所識別相異處。
- 如請求項10之系統,其中藉由該資料移動器應用該等所識別相異處包括:使用檔案名稱來識別對檔案系統物件之檔案系統操作。
- 如請求項10之系統,其中該差異管理器自該等所識別相異處產生一精確差異,該精確差異包括任何後設資料改變及任何資料改變,並且該資料移動器僅重新執行在該精確差異中反映之彼等改變。
- 如請求項10之系統,其進一步包含該資料移動器以針對該所識別相異處產生一輸出檔案並且支援一系列檔案系統操作與一目標站台之一同時重新執行。
- 如請求項10之系統,其進一步包含該資料移動器以在該源站台與一目標站台之間的通信故障之後重新執行該輸 出檔案。
- 一種電腦程式產品,其包含具有電腦可讀程式碼的一電腦可讀儲存媒體,該電腦可讀程式碼包含:經組態以處理在可組態資源之一共用集區中之一源站台處之資料的電腦可讀程式碼,包括在該源站台之一源檔案系統中週期性創建一個一致性點,每一一致性點表示在一時間點之源檔案系統資料及後設資料從而建立一修復點,該一致性點之該週期性創建包括在一第一時間點創建一第一一致性點及在一第二時間點創建一第二一致性點;經組態以比較該第一一致性點與該第二一致性點的電腦可讀程式碼,包括識別該第一一致性點與該第二一致性點之間的任何相異處;及經組態以基於一源檔案系統物件與一目標檔案系統物件之間的一對應關係將該源檔案系統物件映射至該目標檔案系統物件的電腦可讀程式碼;經組態以應用該第一一致性點與該第二一致性點之間的該等所識別相異處的電腦可讀程式碼,包括基於該源檔案系統物件至該目標檔案系統物件之該映射作為一或多個檔案系統操作來重新執行該等所識別相異處。
- 如請求項16之電腦程式產品,其中應用該等所識別相異處之該程式碼使用一源檔案系統索引節點至一目標檔案系統索引節點之一映射。
- 如請求項16之電腦程式產品,其中應用該等所識別相異 處之該程式碼包括:使用檔案名稱識別對檔案系統物件之檔案系統操作的程式碼。
- 如請求項16之電腦程式產品,其中經組態以應用該第一一致性點與該第二一致性點之間的該等所識別相異處之該程式碼產生任何後設資料改變與任何資料改變之一精確差異,並且僅重新執行在該精確差異中反映之彼等改變。
- 如請求項16之電腦程式產品,其進一步包含經組態以針對該等所識別相異處來產生一輸出檔案並且同時應用該第一一致性點與該第二一致性點之間的該等所識別相異處從而支援多個同時檔案系統操作的電腦程式碼。
- 如請求項16之電腦程式產品,其進一步包含經組態以在該源站台與一目標站台之間的通信故障之後重新執行該輸出檔案的電腦程式碼。
- 如請求項16之電腦程式產品,其中該第一一致性點與該第二一致性點不限於連續的一致性點。
- 如請求項16之電腦程式產品,其進一步包含經組態以藉由移至一較舊的一致性點來還原在該目標檔案系統處之改變的電腦程式碼。
- 一種方法,其包含:在一第一時間點在一源檔案系統中創建一第一一致性點及在一第二時間點在該源檔案系統中創建一第二一致性點,該第一一致性點表示在一第一時間點之檔案系統資料及後設資料從而建立一第一修復點,及該第二一致 性點表示在一第二時間點之檔案系統資料及後設資料從而建立一第二一致性點;在與該源檔案系統相關聯之一通信故障之後,比較該第一一致性點與該第二一致性點,包括識別該第一一致性點與該第二一致性點之間的改變;及應用該第一一致性點與該第二一致性點之間的該等所識別改變,包括基於一源檔案系統物件至一目標檔案系統物件之一映射作為一檔案系統操作來重新執行該等所識別改變。
- 如請求項24之方法,其進一步包含:在一第三時間點在該源檔案系統中創建一第三一致性點,該第三一致性點與該第一一致性點及該第二一致性點連續;及移除該第一一致性點。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/305,784 US20130138615A1 (en) | 2011-11-29 | 2011-11-29 | Synchronizing updates across cluster filesystems |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201337588A TW201337588A (zh) | 2013-09-16 |
TWI509423B true TWI509423B (zh) | 2015-11-21 |
Family
ID=47172847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101139558A TWI509423B (zh) | 2011-11-29 | 2012-10-25 | 在叢集檔案系統間之同步更新 |
Country Status (7)
Country | Link |
---|---|
US (3) | US20130138615A1 (zh) |
EP (1) | EP2786273B1 (zh) |
JP (1) | JP2015504202A (zh) |
CN (1) | CN103946844B (zh) |
CA (1) | CA2851200C (zh) |
TW (1) | TWI509423B (zh) |
WO (1) | WO2013080063A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI756202B (zh) * | 2017-01-24 | 2022-03-01 | 香港商阿里巴巴集團服務有限公司 | 調整資料片段分布的方法及資料伺服器 |
Families Citing this family (114)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8326814B2 (en) | 2007-12-05 | 2012-12-04 | Box, Inc. | Web-based file management system and service |
US8671265B2 (en) | 2010-03-05 | 2014-03-11 | Solidfire, Inc. | Distributed data storage system providing de-duplication of data using block identifiers |
GB2500356A (en) | 2011-01-20 | 2013-09-18 | Box Inc | Real time notification of activities that occur in a web-based collaboration environment |
US9063912B2 (en) | 2011-06-22 | 2015-06-23 | Box, Inc. | Multimedia content preview rendering in a cloud content management system |
WO2013009328A2 (en) | 2011-07-08 | 2013-01-17 | Box.Net, Inc. | Collaboration sessions in a workspace on cloud-based content management system |
EP2729877A4 (en) | 2011-07-08 | 2015-06-17 | Box Inc | DESKTOP APPLICATION FOR ACCESS AND INTERACTION WITH JOBS IN A CLOUD-BASED CONTENT MANAGEMENT SYSTEM AND SYNCHRONIZATION MECHANISMS THEREFOR |
US9197718B2 (en) | 2011-09-23 | 2015-11-24 | Box, Inc. | Central management and control of user-contributed content in a web-based collaboration environment and management console thereof |
US8515902B2 (en) | 2011-10-14 | 2013-08-20 | Box, Inc. | Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution |
US9098474B2 (en) | 2011-10-26 | 2015-08-04 | Box, Inc. | Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience |
US8990307B2 (en) | 2011-11-16 | 2015-03-24 | Box, Inc. | Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform |
WO2013082320A1 (en) | 2011-11-29 | 2013-06-06 | Box, Inc. | Mobile platform file and folder selection functionalities for offline access and synchronization |
US9019123B2 (en) | 2011-12-22 | 2015-04-28 | Box, Inc. | Health check services for web-based collaboration environments |
US9054992B2 (en) | 2011-12-27 | 2015-06-09 | Solidfire, Inc. | Quality of service policy sets |
US9838269B2 (en) | 2011-12-27 | 2017-12-05 | Netapp, Inc. | Proportional quality of service based on client usage and system metrics |
US9904435B2 (en) | 2012-01-06 | 2018-02-27 | Box, Inc. | System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment |
US11232481B2 (en) | 2012-01-30 | 2022-01-25 | Box, Inc. | Extended applications of multimedia content previews in the cloud-based content management system |
US9965745B2 (en) | 2012-02-24 | 2018-05-08 | Box, Inc. | System and method for promoting enterprise adoption of a web-based collaboration environment |
US9195636B2 (en) | 2012-03-07 | 2015-11-24 | Box, Inc. | Universal file type preview for mobile devices |
US9054919B2 (en) | 2012-04-05 | 2015-06-09 | Box, Inc. | Device pinning capability for enterprise cloud service and storage accounts |
US9575981B2 (en) | 2012-04-11 | 2017-02-21 | Box, Inc. | Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system |
WO2013166520A1 (en) | 2012-05-04 | 2013-11-07 | Box, Inc. | Repository redundancy implementation of a system which incrementally updates clients with events that occurred via cloud-enabled platform |
US9691051B2 (en) | 2012-05-21 | 2017-06-27 | Box, Inc. | Security enhancement through application access control |
US9027108B2 (en) | 2012-05-23 | 2015-05-05 | Box, Inc. | Systems and methods for secure file portability between mobile applications on a mobile device |
US8914900B2 (en) | 2012-05-23 | 2014-12-16 | Box, Inc. | Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform |
US9021099B2 (en) | 2012-07-03 | 2015-04-28 | Box, Inc. | Load balancing secure FTP connections among multiple FTP servers |
US9712510B2 (en) | 2012-07-06 | 2017-07-18 | Box, Inc. | Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform |
US9792320B2 (en) | 2012-07-06 | 2017-10-17 | Box, Inc. | System and method for performing shard migration to support functions of a cloud-based service |
GB2505072A (en) | 2012-07-06 | 2014-02-19 | Box Inc | Identifying users and collaborators as search results in a cloud-based system |
US9473532B2 (en) | 2012-07-19 | 2016-10-18 | Box, Inc. | Data loss prevention (DLP) methods by a cloud service including third party integration architectures |
US9794256B2 (en) | 2012-07-30 | 2017-10-17 | Box, Inc. | System and method for advanced control tools for administrators in a cloud-based service |
US8745267B2 (en) | 2012-08-19 | 2014-06-03 | Box, Inc. | Enhancement of upload and/or download performance based on client and/or server feedback information |
US9369520B2 (en) | 2012-08-19 | 2016-06-14 | Box, Inc. | Enhancement of upload and/or download performance based on client and/or server feedback information |
US9558202B2 (en) | 2012-08-27 | 2017-01-31 | Box, Inc. | Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment |
US9135462B2 (en) | 2012-08-29 | 2015-09-15 | Box, Inc. | Upload and download streaming encryption to/from a cloud-based platform |
US9195519B2 (en) | 2012-09-06 | 2015-11-24 | Box, Inc. | Disabling the self-referential appearance of a mobile application in an intent via a background registration |
US9311071B2 (en) | 2012-09-06 | 2016-04-12 | Box, Inc. | Force upgrade of a mobile application via a server side configuration file |
US9117087B2 (en) | 2012-09-06 | 2015-08-25 | Box, Inc. | System and method for creating a secure channel for inter-application communication based on intents |
CN102857949B (zh) * | 2012-09-14 | 2018-11-20 | 中兴通讯股份有限公司 | 一种规划数据一致性保证的方法和装置 |
US9292833B2 (en) | 2012-09-14 | 2016-03-22 | Box, Inc. | Batching notifications of activities that occur in a web-based collaboration environment |
US10200256B2 (en) | 2012-09-17 | 2019-02-05 | Box, Inc. | System and method of a manipulative handle in an interactive mobile user interface |
US9553758B2 (en) | 2012-09-18 | 2017-01-24 | Box, Inc. | Sandboxing individual applications to specific user folders in a cloud-based service |
US10915492B2 (en) | 2012-09-19 | 2021-02-09 | Box, Inc. | Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction |
ES2845299T3 (es) * | 2012-09-21 | 2021-07-26 | Nyse Group Inc | Transmisión de datos en flujo de alto rendimiento |
US9959420B2 (en) | 2012-10-02 | 2018-05-01 | Box, Inc. | System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment |
US9405474B2 (en) * | 2012-10-03 | 2016-08-02 | Microsoft Technology Licensing, Llc | Configurable and tunable data store tradeoffs |
US9495364B2 (en) | 2012-10-04 | 2016-11-15 | Box, Inc. | Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform |
US9705967B2 (en) | 2012-10-04 | 2017-07-11 | Box, Inc. | Corporate user discovery and identification of recommended collaborators in a cloud platform |
US9665349B2 (en) | 2012-10-05 | 2017-05-30 | Box, Inc. | System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform |
EP2784717A1 (en) | 2012-10-17 | 2014-10-01 | Box, Inc. | Remote key management in a cloud-based environment |
US9756022B2 (en) | 2014-08-29 | 2017-09-05 | Box, Inc. | Enhanced remote key management for an enterprise in a cloud-based environment |
US10235383B2 (en) | 2012-12-19 | 2019-03-19 | Box, Inc. | Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment |
US9396245B2 (en) | 2013-01-02 | 2016-07-19 | Box, Inc. | Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
US9953036B2 (en) | 2013-01-09 | 2018-04-24 | Box, Inc. | File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
EP2755151A3 (en) | 2013-01-11 | 2014-09-24 | Box, Inc. | Functionalities, features and user interface of a synchronization client to a cloud-based environment |
EP2757491A1 (en) | 2013-01-17 | 2014-07-23 | Box, Inc. | Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform |
US9286320B2 (en) * | 2013-03-06 | 2016-03-15 | Infinidat Ltd. | System and method for maintaining consistency among metadata elements of filesystem's logical objects |
US10846074B2 (en) | 2013-05-10 | 2020-11-24 | Box, Inc. | Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client |
US10725968B2 (en) | 2013-05-10 | 2020-07-28 | Box, Inc. | Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform |
US9633037B2 (en) | 2013-06-13 | 2017-04-25 | Box, Inc | Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform |
US9805050B2 (en) | 2013-06-21 | 2017-10-31 | Box, Inc. | Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform |
US10229134B2 (en) | 2013-06-25 | 2019-03-12 | Box, Inc. | Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform |
US10110656B2 (en) | 2013-06-25 | 2018-10-23 | Box, Inc. | Systems and methods for providing shell communication in a cloud-based platform |
US9535924B2 (en) | 2013-07-30 | 2017-01-03 | Box, Inc. | Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform |
US9704137B2 (en) | 2013-09-13 | 2017-07-11 | Box, Inc. | Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform |
US9213684B2 (en) | 2013-09-13 | 2015-12-15 | Box, Inc. | System and method for rendering document in web browser or mobile device regardless of third-party plug-in software |
GB2518298A (en) | 2013-09-13 | 2015-03-18 | Box Inc | High-availability architecture for a cloud-based concurrent-access collaboration platform |
US9535909B2 (en) | 2013-09-13 | 2017-01-03 | Box, Inc. | Configurable event-based automation architecture for cloud-based collaboration platforms |
US10509527B2 (en) | 2013-09-13 | 2019-12-17 | Box, Inc. | Systems and methods for configuring event-based automation in cloud-based collaboration platforms |
US8892679B1 (en) | 2013-09-13 | 2014-11-18 | Box, Inc. | Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform |
US10866931B2 (en) | 2013-10-22 | 2020-12-15 | Box, Inc. | Desktop application for accessing a cloud collaboration platform |
US20150244795A1 (en) | 2014-02-21 | 2015-08-27 | Solidfire, Inc. | Data syncing in a distributed system |
US10530854B2 (en) | 2014-05-30 | 2020-01-07 | Box, Inc. | Synchronization of permissioned content in cloud-based environments |
US9602514B2 (en) | 2014-06-16 | 2017-03-21 | Box, Inc. | Enterprise mobility management and verification of a managed application by a content provider |
US9798728B2 (en) | 2014-07-24 | 2017-10-24 | Netapp, Inc. | System performing data deduplication using a dense tree data structure |
US9894119B2 (en) | 2014-08-29 | 2018-02-13 | Box, Inc. | Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms |
US10574442B2 (en) | 2014-08-29 | 2020-02-25 | Box, Inc. | Enhanced remote key management for an enterprise in a cloud-based environment |
US10038731B2 (en) | 2014-08-29 | 2018-07-31 | Box, Inc. | Managing flow-based interactions with cloud-based shared content |
US10133511B2 (en) | 2014-09-12 | 2018-11-20 | Netapp, Inc | Optimized segment cleaning technique |
US9671960B2 (en) | 2014-09-12 | 2017-06-06 | Netapp, Inc. | Rate matching technique for balancing segment cleaning and I/O workload |
US9430267B2 (en) * | 2014-09-30 | 2016-08-30 | International Business Machines Corporation | Multi-site disaster recovery consistency group for heterogeneous systems |
CN104298761B (zh) * | 2014-10-23 | 2017-08-25 | 浪潮通用软件有限公司 | 一种异构软件系统间主数据匹配的实现方法 |
US9836229B2 (en) | 2014-11-18 | 2017-12-05 | Netapp, Inc. | N-way merge technique for updating volume metadata in a storage I/O stack |
CN105701116A (zh) * | 2014-11-27 | 2016-06-22 | 英业达科技有限公司 | 数据同步系统 |
US9798740B2 (en) * | 2014-12-29 | 2017-10-24 | Here Global B.V. | Updates for navigational map data organized in lists |
TWI571754B (zh) * | 2015-02-02 | 2017-02-21 | 群暉科技股份有限公司 | 用來進行檔案同步控制之方法與裝置 |
US9720601B2 (en) | 2015-02-11 | 2017-08-01 | Netapp, Inc. | Load balancing technique for a storage array |
US9557984B2 (en) * | 2015-03-16 | 2017-01-31 | International Business Machines Corporation | Performing code load operations on managed components in a system |
US9762460B2 (en) | 2015-03-24 | 2017-09-12 | Netapp, Inc. | Providing continuous context for operational information of a storage system |
US9710317B2 (en) | 2015-03-30 | 2017-07-18 | Netapp, Inc. | Methods to identify, handle and recover from suspect SSDS in a clustered flash array |
US9740566B2 (en) | 2015-07-31 | 2017-08-22 | Netapp, Inc. | Snapshot creation workflow |
US9965361B2 (en) | 2015-10-29 | 2018-05-08 | International Business Machines Corporation | Avoiding inode number conflict during metadata restoration |
CN106682040A (zh) * | 2015-11-11 | 2017-05-17 | 中兴通讯股份有限公司 | 数据管理方法及装置 |
US10713215B2 (en) | 2015-11-13 | 2020-07-14 | International Business Machines Corporation | Allocating non-conflicting inode numbers |
CN105404667B (zh) * | 2015-11-13 | 2018-08-24 | 重庆大学 | 一种用于内存文件系统的文件数据一致性更新方法 |
US11100136B2 (en) | 2015-11-24 | 2021-08-24 | T2 Data Ab | Synchronization of databases comprising spatial entity attributes |
WO2017089355A1 (en) * | 2015-11-24 | 2017-06-01 | T2 Data Ab | Data synchronization in a distributed data storage system |
US10841148B2 (en) | 2015-12-13 | 2020-11-17 | Microsoft Technology Licensing, Llc. | Disaster recovery of cloud resources |
US9613046B1 (en) * | 2015-12-14 | 2017-04-04 | Netapp, Inc. | Parallel optimized remote synchronization of active block storage |
CN107291724A (zh) * | 2016-03-30 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 集群数据复制方法、优先级确定方法及装置 |
US10929022B2 (en) | 2016-04-25 | 2021-02-23 | Netapp. Inc. | Space savings reporting for storage system supporting snapshot and clones |
EP4216072A1 (en) * | 2016-04-26 | 2023-07-26 | Umbra Technologies Ltd. | Sling-routing logic and load balancing |
CN106020736B (zh) * | 2016-06-08 | 2019-02-12 | 重庆大学 | 一种内存文件系统中的数据一致性更新方法 |
US10642763B2 (en) | 2016-09-20 | 2020-05-05 | Netapp, Inc. | Quality of service policy sets |
US10467424B2 (en) * | 2017-10-12 | 2019-11-05 | International Business Machines Corporation | File system content based security |
CN111008026B (zh) | 2018-10-08 | 2024-03-26 | 阿里巴巴集团控股有限公司 | 集群管理方法、装置及系统 |
EP3840730B1 (en) | 2018-12-11 | 2023-09-20 | Disruption Labs Inc. | Compositions for the delivery of therapeutic agents and methods of use and making thereof |
CN109754849B (zh) * | 2018-12-24 | 2023-02-24 | 武汉大学 | 一种云计算环境中的个人健康流数据处理系统及方法 |
US11068364B2 (en) * | 2019-07-12 | 2021-07-20 | Intelliflash By Ddn, Inc. | Predictable synchronous data replication |
US11520746B2 (en) | 2019-08-12 | 2022-12-06 | International Business Machines Corporation | Apparatus, systems, and methods for accelerated replication of file metadata on different sites |
US11392617B2 (en) | 2020-03-26 | 2022-07-19 | International Business Machines Corporation | Recovering from a failure of an asynchronous replication node |
US11609898B2 (en) * | 2020-06-18 | 2023-03-21 | Apple Inc. | Ensuring consistent metadata across computing devices |
CN114691631A (zh) * | 2020-12-31 | 2022-07-01 | 华为技术有限公司 | 一种数据同步方法和装置 |
CN113051347B (zh) * | 2021-03-25 | 2024-03-29 | 未鲲(上海)科技服务有限公司 | 异构数据库之间数据同步方法、系统、设备及存储介质 |
US20230169091A1 (en) * | 2021-11-26 | 2023-06-01 | Scality, S.A. | Method and apparatus for rapidly synchronizing a replicate storage system with an active storage system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030182325A1 (en) * | 2002-03-19 | 2003-09-25 | Manley Stephen L. | System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping |
US20050262097A1 (en) * | 2004-05-07 | 2005-11-24 | Sim-Tang Siew Y | System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services |
US20060112219A1 (en) * | 2004-11-19 | 2006-05-25 | Gaurav Chawla | Functional partitioning method for providing modular data storage systems |
US7739234B1 (en) * | 2005-12-15 | 2010-06-15 | Teradata Us, Inc. | Techniques for synchronizing data store tables |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6144999A (en) | 1998-05-29 | 2000-11-07 | Sun Microsystems, Incorporated | Method and apparatus for file system disaster recovery |
US6434681B1 (en) | 1999-12-02 | 2002-08-13 | Emc Corporation | Snapshot copy facility for a data storage system permitting continued host read/write access |
US7373364B1 (en) * | 2002-03-05 | 2008-05-13 | Network Appliance, Inc. | System and method for creating a point-in-time restoration of a database file |
US6993539B2 (en) * | 2002-03-19 | 2006-01-31 | Network Appliance, Inc. | System and method for determining changes in two snapshots and for transmitting changes to destination snapshot |
US7475098B2 (en) * | 2002-03-19 | 2009-01-06 | Network Appliance, Inc. | System and method for managing a plurality of snapshots |
US7546364B2 (en) | 2002-05-16 | 2009-06-09 | Emc Corporation | Replication of remote copy data for internet protocol (IP) transmission |
US7100089B1 (en) | 2002-09-06 | 2006-08-29 | 3Pardata, Inc. | Determining differences between snapshots |
US7769722B1 (en) * | 2006-12-08 | 2010-08-03 | Emc Corporation | Replication and restoration of multiple data storage object types in a data network |
US20040268068A1 (en) * | 2003-06-24 | 2004-12-30 | International Business Machines Corporation | Efficient method for copying and creating block-level incremental backups of large files and sparse files |
US7567991B2 (en) | 2003-06-25 | 2009-07-28 | Emc Corporation | Replication of snapshot using a file system copy differential |
US20050015416A1 (en) * | 2003-07-16 | 2005-01-20 | Hitachi, Ltd. | Method and apparatus for data recovery using storage based journaling |
US8095511B2 (en) * | 2003-06-30 | 2012-01-10 | Microsoft Corporation | Database data recovery system and method |
US20050033777A1 (en) * | 2003-08-04 | 2005-02-10 | Moraes Mark A. | Tracking, recording and organizing changes to data in computer systems |
US9489150B2 (en) * | 2003-08-14 | 2016-11-08 | Dell International L.L.C. | System and method for transferring data between different raid data storage types for current data and replay data |
US7720801B2 (en) * | 2003-12-19 | 2010-05-18 | Netapp, Inc. | System and method for supporting asynchronous data replication with very short update intervals |
US7315965B2 (en) | 2004-02-04 | 2008-01-01 | Network Appliance, Inc. | Method and system for storing data using a continuous data protection system |
US7392324B2 (en) * | 2004-08-13 | 2008-06-24 | International Business Machines Corporation | Consistent snapshots of dynamic heterogeneously managed data |
US20060047715A1 (en) * | 2004-08-27 | 2006-03-02 | Archer Analytics, Inc. | System and method for managing and analyzing data from an operational database |
WO2006029032A2 (en) | 2004-09-03 | 2006-03-16 | Red Hat, Inc. | Methods, systems, and computer program products for implementing single-node and cluster snapshots |
US7809691B1 (en) * | 2005-02-22 | 2010-10-05 | Symantec Operating Corporation | System and method of applying incremental changes prior to initialization of a point-in-time copy |
US7546431B2 (en) | 2005-03-21 | 2009-06-09 | Emc Corporation | Distributed open writable snapshot copy facility using file migration policies |
US7672979B1 (en) * | 2005-04-22 | 2010-03-02 | Symantec Operating Corporation | Backup and restore techniques using inconsistent state indicators |
US7613743B1 (en) * | 2005-06-10 | 2009-11-03 | Apple Inc. | Methods and apparatuses for data protection |
JP4236677B2 (ja) * | 2006-09-20 | 2009-03-11 | 株式会社日立製作所 | Cdpを用いたリカバリ方法 |
US8131723B2 (en) * | 2007-03-30 | 2012-03-06 | Quest Software, Inc. | Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity |
US8700574B2 (en) | 2008-03-21 | 2014-04-15 | Omnitracs, Llc | Pourover journaling |
US8200638B1 (en) * | 2008-04-30 | 2012-06-12 | Netapp, Inc. | Individual file restore from block-level incremental backups by using client-server backup protocol |
US8078655B2 (en) * | 2008-06-04 | 2011-12-13 | Microsoft Corporation | Generation of database deltas and restoration |
US8121981B2 (en) * | 2008-06-19 | 2012-02-21 | Microsoft Corporation | Database snapshot management |
US8204859B2 (en) * | 2008-12-10 | 2012-06-19 | Commvault Systems, Inc. | Systems and methods for managing replicated database data |
US8805953B2 (en) * | 2009-04-03 | 2014-08-12 | Microsoft Corporation | Differential file and system restores from peers and the cloud |
US20110016085A1 (en) * | 2009-07-16 | 2011-01-20 | Netapp, Inc. | Method and system for maintaining multiple inode containers in a storage server |
US9165012B2 (en) | 2009-10-02 | 2015-10-20 | Symantec Corporation | Periodic file system checkpoint manager |
CN101833486B (zh) * | 2010-04-07 | 2014-08-20 | 浪潮电子信息产业股份有限公司 | 一种远程备份和恢复系统设计方法 |
US8290994B2 (en) * | 2010-05-05 | 2012-10-16 | International Business Machines Corporation | Obtaining file system view in block-level data storage systems |
US20120011176A1 (en) * | 2010-07-07 | 2012-01-12 | Nexenta Systems, Inc. | Location independent scalable file and block storage |
US10423509B2 (en) * | 2011-08-05 | 2019-09-24 | Entit Software Llc | System and method for managing environment configuration using snapshots |
US9058371B2 (en) * | 2011-11-07 | 2015-06-16 | Sap Se | Distributed database log recovery |
US8527462B1 (en) * | 2012-02-09 | 2013-09-03 | Microsoft Corporation | Database point-in-time restore and as-of query |
-
2011
- 2011-11-29 US US13/305,784 patent/US20130138615A1/en not_active Abandoned
-
2012
- 2012-08-20 US US13/589,256 patent/US9235594B2/en not_active Expired - Fee Related
- 2012-10-17 JP JP2014542956A patent/JP2015504202A/ja active Pending
- 2012-10-17 WO PCT/IB2012/055654 patent/WO2013080063A1/en unknown
- 2012-10-17 CA CA2851200A patent/CA2851200C/en active Active
- 2012-10-17 EP EP12784347.2A patent/EP2786273B1/en active Active
- 2012-10-17 CN CN201280057128.0A patent/CN103946844B/zh active Active
- 2012-10-25 TW TW101139558A patent/TWI509423B/zh active
-
2015
- 2015-12-15 US US14/969,574 patent/US10698866B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030182325A1 (en) * | 2002-03-19 | 2003-09-25 | Manley Stephen L. | System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping |
US20050262097A1 (en) * | 2004-05-07 | 2005-11-24 | Sim-Tang Siew Y | System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services |
US20060112219A1 (en) * | 2004-11-19 | 2006-05-25 | Gaurav Chawla | Functional partitioning method for providing modular data storage systems |
US7739234B1 (en) * | 2005-12-15 | 2010-06-15 | Teradata Us, Inc. | Techniques for synchronizing data store tables |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI756202B (zh) * | 2017-01-24 | 2022-03-01 | 香港商阿里巴巴集團服務有限公司 | 調整資料片段分布的方法及資料伺服器 |
Also Published As
Publication number | Publication date |
---|---|
EP2786273B1 (en) | 2019-04-17 |
CN103946844B (zh) | 2017-11-24 |
US20130138615A1 (en) | 2013-05-30 |
CA2851200A1 (en) | 2013-06-06 |
JP2015504202A (ja) | 2015-02-05 |
US9235594B2 (en) | 2016-01-12 |
CN103946844A (zh) | 2014-07-23 |
CA2851200C (en) | 2019-09-10 |
US20160103850A1 (en) | 2016-04-14 |
US20130138616A1 (en) | 2013-05-30 |
TW201337588A (zh) | 2013-09-16 |
WO2013080063A1 (en) | 2013-06-06 |
US10698866B2 (en) | 2020-06-30 |
EP2786273A1 (en) | 2014-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI509423B (zh) | 在叢集檔案系統間之同步更新 | |
US8949182B2 (en) | Continuous and asynchronous replication of a consistent dataset | |
US10216431B2 (en) | Consistent data retrieval in a multi-site computing infrastructure | |
US10956286B2 (en) | Deduplication replication in a distributed deduplication data storage system | |
US10169167B2 (en) | Reduced recovery time in disaster recovery/replication setup with multitier backend storage | |
US11481139B1 (en) | Methods and systems to interface between a multi-site distributed storage system and an external mediator to efficiently process events related to continuity | |
US11392617B2 (en) | Recovering from a failure of an asynchronous replication node | |
US9904600B2 (en) | Generating initial copy in replication initialization | |
US20240134828A1 (en) | Techniques for efficient encryption and decryption during file system cross-region replication | |
US20240104062A1 (en) | Techniques for resolving snapshot key inter-dependency during file system cross-region replication | |
Vugt et al. | Clustering Storage |