欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

通過圍欄和解圍欄對復制信息的權限進行的粒度控制的制作方法

文檔序號:6419497閱讀:171來源:國知局
專利名稱:通過圍欄和解圍欄對復制信息的權限進行的粒度控制的制作方法
技術領域
本發(fā)明一般涉及計算設備,尤其涉及資源復制系統(tǒng)。
背景技術
機會主義、多主復制系統(tǒng)允許對參與給定復制品集合的任一機器上的復制內容進行無限制的變化。使用一組沖突分解標準在復制系統(tǒng)的控制下協(xié)調這些潛在沖突變化,沖突分解標準為每一沖突情況定義了哪一沖突的變化優(yōu)先于其它變化。過去,使用的主要沖突分解標準為變化的物理或邏輯時間,最近的變化優(yōu)先于所有其它變化。
然而,當用戶或應用可能希望有另外的方法來控制哪一并發(fā)的更新優(yōu)先于其它更新,并且相反地,哪一更新應放棄優(yōu)先級時,存在許多問題。需要一種控制哪一內容獲得優(yōu)先級并被復制的靈活的方法和系統(tǒng)。

發(fā)明內容
簡單而言,本發(fā)明提供了一種用于控制哪一內容獲得優(yōu)先級并被復制的方法和系統(tǒng)。復制品集合包括一組資源。每一資源與資源數(shù)據(jù)和資源元數(shù)據(jù)關聯(lián)。對文件而言,資源數(shù)據(jù)包括文件內容和屬性,而資源元數(shù)據(jù)包括有關在復制過程中協(xié)商同步的另外的屬性。向與每一資源關聯(lián)的元數(shù)據(jù)添加名為“圍欄值(fence value)”的附加域。在同步過程中,比較圍欄值。具有最高圍欄值的資源包括正在控制的內容并獲得復制。如果圍欄值相等(并大于一特定值),則基于其它元數(shù)據(jù)確定控制資源。
圍欄值與對內容的本地變化不相關。即,盡管內容中的本地變化可能影響其它元數(shù)據(jù)(如,時間標記、時鐘值或其它),內容中的本地變化不影響圍欄值,除非另外指示。
在本發(fā)明的一個方面,資源可能具有指示該資源未圍欄的圍欄值。如果該資源未圍欄,則這指示不應從儲存該資源的機器發(fā)送該資源。當接收到競爭的資源用于同步時,未圍欄的資源負于(并且在同步過程中被替代)已圍欄的資源。
在本發(fā)明的另一方面,僅發(fā)送具有獲勝資源的機器和具有失敗內容的機器上的資源之間的差異。例如,可能發(fā)送資源元數(shù)據(jù)而不發(fā)送資源內容。作為另一示例,可能在同步過程中發(fā)送資源內容的差異。
結合附圖閱讀以下詳細描述,將清楚其它優(yōu)點。


圖1是可以在其中結合本發(fā)明的計算機系統(tǒng)的方框圖;圖2是依照本發(fā)明的各方面包括復制資源的兩機器的資源復制系統(tǒng)的方框圖;圖3是依照本發(fā)明的各方面在其中兩機器試圖協(xié)調兩者都包括的資源的系統(tǒng)的方框圖;圖4示出依照本發(fā)明的各方面能夠用于圖2和3的機器的一些示例性資源數(shù)據(jù)和元數(shù)據(jù);圖5示出依照本發(fā)明的各方面可以使用的一些示例性資源數(shù)據(jù)和元數(shù)據(jù);圖6是依照本發(fā)明的各方面一般代表了可能出現(xiàn)的用以同步兩機器之間的資源的示例性步驟的數(shù)據(jù)流圖;圖7是依照本發(fā)明的各方面一般代表了可能出現(xiàn)的用以執(zhí)行非授權備份的示例性步驟的數(shù)據(jù)流圖;圖8所示是依照本發(fā)明的各方面被配置以在資源復制系統(tǒng)中運行的示例機器的方框圖。
具體實施例方式
示例性操作環(huán)境圖1所示是適合在其中實現(xiàn)本發(fā)明的計算系統(tǒng)環(huán)境100的示例。計算系統(tǒng)環(huán)境100僅為合適計算環(huán)境的一個示例,并非對本發(fā)明的使用或功能的范圍的任何限制。也不應將計算環(huán)境100解釋為對示例性操作環(huán)境100中所示的組件的任一或其組合具有任何依賴或需求。
本發(fā)明適用于眾多其他通用或專用計算系統(tǒng)環(huán)境或配置??梢赃m合使用本發(fā)明的眾所周知的計算系統(tǒng)、環(huán)境和/或配置包括(但不限于)個人計算機、服務器計算機、手持式或膝上設備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、可編程消費者電子產(chǎn)品、網(wǎng)絡PC、小型機、大型機、包括任一上述系統(tǒng)或設備的分布式計算環(huán)境等等。
可以采用由計算機執(zhí)行的一般語境的計算機可執(zhí)行指令(如程序模塊)來描述本發(fā)明。一般而言,程序模塊包括例程、程序、對象、組件、數(shù)據(jù)結構等等,執(zhí)行特定的任務或實現(xiàn)特定的抽象數(shù)據(jù)類型。本發(fā)明也可以在分布式計算環(huán)境中實踐,其中,任務由通過通信網(wǎng)絡連接的遠程處理設備來執(zhí)行。在分布式計算環(huán)境中,程序模塊可以位于本地和遠程計算機存儲媒質中,包括存儲器存儲設備。
參考圖1,用于實現(xiàn)本發(fā)明的示例性系統(tǒng)包括以計算機110形式的通用計算設備。計算機110的組件可包括(但不限于)處理單元120、系統(tǒng)存儲器130以及將包括系統(tǒng)存儲器的各類系統(tǒng)組件耦合至處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是若干種總線結構中的任一種,包括存儲器總線或存儲器控制器、外圍總線以及使用任一多種總線體系結構的本地總線。作為示例而非局限,這類體系結構包括工業(yè)標準體系結構(ISA)總線、微通道結構(MCA)總線、增強ISA(EISA)總線、視頻電子標準協(xié)會(VESA)本地總線以及外圍部件互連(PCI)總線,也稱為Mezzanine總線。
計算機110通常包括多種計算機可讀媒質。計算機可讀媒質可以是可由計算機110訪問的任一可用媒質,并包括易失和非易失媒質以及可移動和不可移動媒質。作為示例而非局限,計算機可讀媒質可包括計算機存儲媒質和通信媒質。計算機存儲媒質包括易失和非易失、可移動和不可移動媒質,以用于儲存信息的任一方法和技術來實現(xiàn),信息如計算機可讀指令、數(shù)據(jù)結構、程序模塊或其它數(shù)據(jù)。計算機存儲媒質包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲器技術、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲裝置、磁存儲設備磁帶、磁盤存儲裝置或可以用來儲存所期望的信息并可由計算機110訪問的任一其它媒質。通信媒質通常在諸如載波或其它傳輸機制的已調制數(shù)據(jù)信號中包含計算機可讀指令、數(shù)據(jù)結構、程序模塊或其它數(shù)據(jù),并包括任一信息傳送媒質。術語“已調制數(shù)據(jù)信號”指采用對信號中的信息進行編碼的方式來設定或改變其一個或多個特征的信號。作為示例而非局限,通信媒質包括有線媒質,如有線網(wǎng)絡或直接連線連接,以及無線媒質,如聲學、RF、紅外和其它無線媒質。上述的任一組合也應當包括在計算機可讀媒質的范圍之內。
系統(tǒng)存儲器130包括易失和/非易失存儲器形式的計算機存儲媒質,如只讀存儲器(ROM)131和隨機存取存儲器(RAM)132?;据斎?輸出系統(tǒng)133(BIOS)包含如在啟動時幫助在計算機110內的元件之間傳輸信息的基本例程,通常儲存在ROM 131中。RAM 132通常包含處理單元120直接可訪問和/或當前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非局限,圖1說明了操作系統(tǒng)134、應用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計算機110也可包括其它可移動/不可移動、易失/非易失計算機存儲媒質。僅作示例,圖1說明了對不可移動、非易失磁媒質進行讀寫的硬盤驅動器140、對可移動、非易失磁盤152進行讀寫的磁盤驅動器151以及對可移動、非易失光盤156,如CD ROM或其它光媒質進行讀寫的光盤驅動器155。能夠在示例性操作環(huán)境中使用的其它可移動/不可移動、易失/非易失計算機存儲媒質包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅動器141通常通過不可移動存儲器接口,如接口140連接至系統(tǒng)總線121,磁盤驅動器151和光盤驅動器155通常通過可移動存儲器接口,如接口150連接至系統(tǒng)總線121。
以上描述并在圖1中說明的驅動器及其關聯(lián)的計算機存儲媒質為計算機110提供了計算機可讀指令、數(shù)據(jù)結構、程序模塊和其它數(shù)據(jù)的存儲。在圖1中,例如,將硬盤驅動器141描述成是儲存操作系統(tǒng)144、應用程序145、其它程序模塊146以及程序數(shù)據(jù)147。注意,這些組件可以與操作系統(tǒng)134、應用程序135、其它程序模塊136以及程序數(shù)據(jù)137相同,也可以與它們不同。這里對操作系統(tǒng)144、應用程序145、其它程序模塊146以及程序數(shù)據(jù)147給予不同的數(shù)字,來說明至少它們是不同的副本。用戶可以通過輸入設備,如鍵盤162和指向設備161(通常指鼠標、軌跡球或觸摸板)向計算機110輸入命令和信息。其它輸入設備(未示出)可包括麥克風、操縱桿、游戲板、圓盤式衛(wèi)星天線、掃描儀、手持式PC的觸敏屏幕或其它書寫板等等。這些和其它輸入設備通常通過耦合至系統(tǒng)總線的用戶輸入接口160連接至處理單元120,但是也可以通過其它接口和總線結構(如并行端口、游戲端口或通用串行總線(USB)來連接。監(jiān)視器191或其它類型的顯示設備也通過接口,如視頻接口190連接至系統(tǒng)總線121。除監(jiān)視器之外,計算機經(jīng)常包括其它外圍輸出設備,如揚聲器197和打印機196,可通過輸出外圍接口190來連接。
計算機110可以在使用到一個或多個遠程計算機,如遠程計算機180的邏輯連接的網(wǎng)絡化環(huán)境中運行。遠程計算機180可以是個人計算機、服務器、路由器、網(wǎng)絡PC、對等設備或其它公用網(wǎng)絡節(jié)點,并通常包括上述與計算機110相關的元件的許多或全部,盡管在圖1中僅示出了存儲器存儲設備181。圖1所示的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可包括其它網(wǎng)絡。這類網(wǎng)絡環(huán)境常見于辦公室、企業(yè)范圍計算機網(wǎng)絡、內聯(lián)網(wǎng)和因特網(wǎng)。
當在LAN環(huán)境中使用時,計算機110通過網(wǎng)絡接口或適配器170連接至LAN171。當在WAN環(huán)境中使用時,計算機110通常包括調制解調器172或其它裝置,用于通過WAN 173,如因特網(wǎng)建立通信。調制解調器172可以是內置的或外置的,通過用戶輸入接口160或其它合適的機制連接至系統(tǒng)總線121。在網(wǎng)絡化環(huán)境中,所描述的與計算機110相關的程序模塊或其部分可以儲存在遠程存儲器存儲設備181中??梢岳斫?,示出的網(wǎng)絡連接是示例性的,也可以使用在計算機之間建立通信鏈路的其它裝置。
資源復制中的控制更新圖2所示是依照本發(fā)明的各方面包括復制資源的兩機器的資源復制系統(tǒng)的結構圖。機器201和202復制資源A并且并發(fā)地將其從具有內容x更新為具有內容y、u或z。內容x、y、u和z可能對應于例如資源A的不同版本的序列號和時鐘。
術語“機器”不僅限于物理機器。相反,單個物理機器可包括多個虛擬機器。如這里所使用的,從一個機器復制到另一機器指將同一復制品集合的一個或多個成員從一個虛擬或物理機器復制到另一虛擬或物理機器。單個物理機器可包括同一復制品集合的多個成員。由此,復制復制品集合的成員可涉及同步包括同一復制品集合的兩個或多個成員的單個物理機器的成員。
復制系統(tǒng)通常對每一資源保留兩個相關的數(shù)據(jù)集合資源數(shù)據(jù)和資源元數(shù)據(jù)。在基于文件系統(tǒng)中命名的文件的包括數(shù)據(jù)存儲的復制系統(tǒng)中,資源數(shù)據(jù)可包括文件內容以及與文件內容關聯(lián)地儲存在文件系統(tǒng)中的任一文件屬性。文件屬性可包括存取控制表(ACL)、創(chuàng)建/修改次數(shù)以及與文件關聯(lián)的其它數(shù)據(jù)。在不基于文件系統(tǒng)中的命名的文件的包括數(shù)據(jù)存儲的復制系統(tǒng)(如,其資源儲存在數(shù)據(jù)庫或基于對象的數(shù)據(jù)存儲中的系統(tǒng))中,儲存對數(shù)據(jù)存儲合適的資源數(shù)據(jù)。在整篇文檔中,經(jīng)常使用基于文件系統(tǒng)中的文件的復制系統(tǒng)來說明,但是應當理解,在不脫離本發(fā)明的精神或范圍的情況下可以使用能夠儲存內容的任一數(shù)據(jù)存儲。
資源元數(shù)據(jù)包括與在復制過程中協(xié)商同步相關的一組另外的屬性。對于每一資源,資源元數(shù)據(jù)可包括全局唯一標識符(GUID)、資源是否已被刪除、版本序列號以及變化的原作者、反映出現(xiàn)變化的時間的時鐘值以及其它域,如概括資源數(shù)據(jù)值并可包括對資源內容的簽名的摘要。例如,摘要可用于復制同步過程中的快速比較以繞過數(shù)據(jù)傳輸。如果目的地機器上的資源與源機器上的內容同步(如,由摘要指示),可以通過僅發(fā)送資源元數(shù)據(jù)而不發(fā)送資源數(shù)據(jù)其本身來最小化網(wǎng)絡額外開銷。發(fā)送資源元數(shù)據(jù),使得目的地機器可以在其隨后的復制行動中反映包括在源機器上的元數(shù)據(jù)。例如,這使目的地機器能夠在隨后的復制行動中成為源機器。在不脫離本發(fā)明的精神或范圍的情況下,資源元數(shù)據(jù)可以與資源數(shù)據(jù)一起儲存,或者可以與其分開儲存。
一般而言,在廣域分布式系統(tǒng)中,在非常粒度級別上假定時鐘同步是不可行的。這阻礙了資源系統(tǒng)使用全局時鐘來對并發(fā)的更新和創(chuàng)建確定勝者。復制器通常使用在元數(shù)據(jù)上對分布式內容標記的邏輯分布式時鐘。當更新內容時,邏輯時鐘遞增,與之形成對比的是邏輯時鐘被變化時刻的物理本地時鐘所覆蓋。因此,邏輯時鐘考慮因果性對同一內容的更新使用永久遞增的時鐘值來標記。例如,圖2的時鐘值A:x可以為四(“4”)。復制系統(tǒng)然后確保與A:y和A:z關聯(lián)的時鐘值大于4。這些時鐘值之間的關系是任意的。值可能相等也可能不相等,因為它們是獨立賦值的(如,機器201向時鐘值賦值A:y,而機器202向時鐘值賦值A:z)。
在正常的復制同步中,可以基于最后一個書寫者勝出的沖突分解策略來使用時鐘值來確定沖突的勝者。具有最高時鐘值的數(shù)據(jù)可以指示比具有較小時鐘值的復制數(shù)據(jù)更近的數(shù)據(jù)。最后一個書寫者勝出的策略與邏輯時鐘一致,因為它們都保持了因果性。
依照本發(fā)明的一個方面,使用名為“圍欄值”的數(shù)值域來擴充資源元數(shù)據(jù)。圍欄值可以分配到每一資源或其部分。在沖突分解過程中,依照一組下文定義的規(guī)則,結合其它元數(shù)據(jù)來使用圍欄值。
在本發(fā)明的一個實施例中,依照規(guī)則,圍欄值被初始化為0或1。0值表示不應將該資源發(fā)送到另一機器或令其對另一機器可見(通過復制機制)。1值表示該資源可以被復制并且可令其對其它機器可見。圍欄值為0的資源可以被認為是從資源,而圍欄值為1的資源可以被認為是主資源。
如果在兩機器間的復制行動過程中,機器之一(如機器201)上的資源(如資源A)比另一機器(如機器202)上的同一資源具有更高的圍欄值,則具有更高的圍欄值的資源復制到具有較低圍欄值資源的機器上。換言之,具有更高圍欄值的資源勝出(并被復制),無論現(xiàn)存什么其它資源元數(shù)據(jù)。
在復制已在兩機器上存在但不同的資源時,可以使用試圖盡可能少地傳播數(shù)據(jù)來同步資源的機制。例如,作為對發(fā)送與資源相關聯(lián)的所有數(shù)據(jù)的替代,復制機制可以確定在發(fā)送機器上的資源中的哪些數(shù)據(jù)與在接收機器上的資源中的數(shù)據(jù)不同,并發(fā)送一個或多個差異或增量來更新接收機器上的資源。
如果在復制行動過程中,圍欄值相同并且大于0,則哪一資源勝出(并被復制)取決于與每一資源相關聯(lián)的其它資源元數(shù)據(jù)。換言之,當圍欄值相等時,復制依照與復制相關聯(lián)的普通規(guī)則進行。
由此,圍欄值提供了對沖突分解進程的較佳粒度控制,因為它們在沖突分解中采用了優(yōu)先級。即,當比較兩資源的元數(shù)據(jù)時,具有最高圍欄值的資源占先。僅當圍欄相等時比較其它屬性,如邏輯時鐘。
圍欄值可能具有與邏輯時鐘類似的特性,如在一個實現(xiàn)中它們只能增加,或復位為0。例如,當用戶或進程命令復制系統(tǒng)增加圍欄值時,圍欄值增加。有時候這被稱為“對資源進行圍欄(fence)”或簡稱為“圍欄”。對圍欄值的增加與對資源數(shù)據(jù)的更新不相關。圍欄增量由復制變?yōu)榭梢?如,在元數(shù)據(jù)中發(fā)送)。由于圍欄不是一種頻繁的操作,可以使用壁鐘(wall-clock)的整數(shù)表示來將圍欄增加至(當前圍欄值加1)與(當前壁鐘時間)的最大值。
當用戶或進程指示復制系統(tǒng)將圍欄值復位為0時,圍欄值被復位為0。有時候這也被稱為“對資源進行解圍欄(unfence)”,或簡稱為“解圍欄”。被解圍欄的從模式資源(即,其圍欄值被復位為0的資源)可能無法復制到除保留它們的機器之外的其它機器上。這防止了從模式資源變?yōu)橥獠靠梢?。因此,圍欄值復位不被復制變?yōu)榭梢姟?br> 除圍欄和解圍欄之外,圍欄值在復制過程中保持恒定。具體說來,當更新資源數(shù)據(jù)或當邏輯時鐘改變時,正圍欄值不改變。當對從機器更新內容時,0值的圍欄值應當也不改變。
應當理解,在一個機器上對資源進行圍欄允許強迫對所述資源的復制,而不管對該復制品集合中其它成員上的資源的并發(fā)更新。還應當理解,對資源進行解圍欄允許強迫任一其它復制的資源優(yōu)先于本地(未圍欄)資源并防止了未圍欄的資源被復制出去。
可以通過對所選擇的資源進行圍欄的復制系統(tǒng)應用編程接口(API)在現(xiàn)存的資源上設置圍欄。此外,可以通過展現(xiàn)當資源變?yōu)閷椭葡到y(tǒng)可見時對匹配具體參數(shù)(如資源名稱和屬性)的資源進行圍欄的API以在未來的資源上設置圍欄。也可以通過指定粘附性(stickiness)來提供對未來圍欄和解圍欄的控制創(chuàng)建間接相關的資源,如位于已圍欄/未圍欄目錄下的資源,可能繼承基于在父資源上設置的策略的圍欄值。
解圍欄也提供了一種控制復制對方的主或從行為的粒度化方式。在選擇資源上設置圍欄有效地令機器成為該版本的內容的主機器(直到該內容首次被更新)。對選擇的資源進行解圍欄令機器成為對于與選擇的資源相關的內容的從機器。
應當理解,可以在許多領域內使用圍欄和解圍欄,包括備份恢復、帶外復制、升級到復制器的更新版本以及提供管理員控制。
包括未圍欄資源(如,其圍欄值為0的資源)的機器可以對在從機器上本地更新的資源選擇將未圍欄的資源圍欄值改變?yōu)橐褔鷻谫Y源值(如,1)。例如,可以完成這一過程來使更新可見。
圖3所示是依照本發(fā)明的各方面在其中兩機器試圖協(xié)調兩者都包括的資源的系統(tǒng)的結構圖。在圖3中,每一機器具有該資源的其自己的版本,并且該資源具有同一名稱或標識符。在復制的結尾,目的是擁有一個或者具有內容x或y的已復制資源。在圖3所示的系統(tǒng)中,機器301的內容x戰(zhàn)勝機器302的內容y。例如,當機器301上的資源A的圍欄值較高,或者通過對其它資源的元數(shù)據(jù)進行比較時,會出現(xiàn)這一情況。
圖4所示是依照本發(fā)明的各方面可以用于圖2和圖3的A:x的一些示例性資源數(shù)據(jù)和元數(shù)據(jù)。資源元數(shù)據(jù)包括圍欄值1、時鐘值、GUID、作出變化的復制品成員以及摘要。資源數(shù)據(jù)包括資源名稱、數(shù)據(jù)其自身、創(chuàng)建時間、修改時間以及資源數(shù)據(jù)的其它屬性。
圖5所示是依照本發(fā)明的各方面可以使用的一些示例性資源數(shù)據(jù)和元數(shù)據(jù),與圖3所示的同步相關。機器501上的內容(如,x)戰(zhàn)勝機器502上的內容(如,y),并因此可以復制到機器502,因為與x關聯(lián)的該資源的圍欄值(即,1056603359)比與y關聯(lián)的圍欄值(即,1)大。注意,在常規(guī)復制方法中,y將戰(zhàn)勝x,因為它具有更大的更新時鐘時間。
圖6所示是依照本發(fā)明的各方面一般代表可能出現(xiàn)來同步兩機器之間的資源的示例性步驟的數(shù)據(jù)流圖。進程在塊605開始。
在塊610,確定圍欄值的至少一個是否指示了該資源應當被傳播??梢詫蓢鷻谥翟O置為未圍欄狀態(tài)(如,0)。在這一情況下,該資源不應被傳播。如果圍欄值的其中之一被設置為已圍欄值(如,1或更大),則如需要,應當傳播該資源來同步兩資源。
在塊615,如果該資源應當被傳播,則進程分支到塊620;否則進程分支到塊635。在塊620,確定圍欄值是否相等。如果是這樣,則進程分支到塊625,使用元數(shù)據(jù)來確定如何傳播該資源。在塊627,該資源或其部分(如,元數(shù)據(jù)、圍欄值、內容差異等等)被從在塊625確定的機器傳播。
如果在塊620圍欄值不相等,則進程分支到塊630。在塊630,該資源或其一部分(如,元數(shù)據(jù)、圍欄值、內容差異等等)被從具有較高的資源圍欄值的機器傳播到具有較低的資源圍欄值的機器。在塊635,進程結束。
以下是可在其中使用本發(fā)明的一些示例性情形。
非授權備份恢復當數(shù)據(jù)被破壞或丟失時,管理復制資源系統(tǒng)的成員的用戶可以通過資源復制系統(tǒng)擦除該成員并要求獲取與該成員相關聯(lián)的所有數(shù)據(jù)。當與將成員連接到資源復制系統(tǒng)的鏈路的帶寬相比較,成員相對較大時,這一行動的過程可能消耗較長時間或較多成本。然而,使用本發(fā)明的一個方面,用戶可以從備份中恢復成員的資源。用戶然后可以對備份中的資源進行解圍欄(即,將圍欄值設為0),并允許資源復制系統(tǒng)更新過時的資源。在這一情況下,恢復的內容僅擔當“內容高速緩存”的角色,給予適當?shù)倪壿?,可以由復制器用來避免通過慢鏈路(即,“通過線”)傳輸內容,由此,在受需要更新的元數(shù)據(jù)和資源限制的備份恢復之后保持了初始的同步通信量。在同步之后,任何圍欄值為0的剩余資源可以被刪除或可以將其圍欄值設為1來允許它們被復制。
帶外復制復制品集合的新成員可能潛在地包括大量數(shù)據(jù)。為方便更快和/或較不昂貴的傳輸,可以通過對用戶具有較低成本和/或更快服務的信道來發(fā)送新成員。例如,可以將新成員復制到硬盤或燒錄到CD-ROM或DVD-ROM上,并連夜運送。在遠程站點上將新成員復制到系統(tǒng)時,它們可能如上文關于非授權備份恢復所描述的那樣被解圍欄。對新成員進行解圍欄避免了將復制到遠程站點上的內容傳輸?shù)狡渌军c。
授權備份恢復用戶可能希望從備份中恢復并將恢復的內容傳播到復制資源系統(tǒng)中的所有系統(tǒng)。為完成這一過程,用戶可以將資源恢復到系統(tǒng),然后對用戶希望傳播的資源進行圍欄。
特別情形用戶可能期望強迫復制一組資源的特定版本,并優(yōu)先于復制品集合中任一其它沖突的內容。這可以通過對該組資源進行圍欄來完成。
初始同步初始同步是帶外復制的一個特殊情況。在設立或升級復制系統(tǒng)時,用戶可以將一個機器指定為主機器(即,包含將要復制到其它機器的內容),并將其它機器指定為從機器(即,從主機器接收內容)。為完成這一過程,用戶可以對主機器上的資源進行圍欄從而具有初始圍欄值1,并以圍欄值0對從機器上的現(xiàn)有資源進行解圍欄。在這一初始化之后出現(xiàn)在從機器上的資源可以用1來圍欄,使其能夠被復制。由于未復制未圍欄的從資源,當該資源負于來自主機器的名稱沖突的資源時,不需要對這一資源同步另外的元數(shù)據(jù)。
圖7是依照本發(fā)明的各方面一般代表可能出現(xiàn)來執(zhí)行非授權備份恢復的示例性步驟的數(shù)據(jù)流圖。成員中的數(shù)據(jù)被刪除或被破壞(塊710)。管理員從備份恢復資源(塊715)。管理員將恢復的數(shù)據(jù)標記為未圍欄(塊720)。同步出現(xiàn),如塊725所示。管理員刪除剩余資源或以圍欄值1標記剩余資源(塊730),進程結束(塊735)。
提供圖7作為可能在上述非授權備份中出現(xiàn)的步驟的一個示例。應當理解,上文中也足夠詳細地描述了其它應用以簡單地減少到數(shù)據(jù)流圖。也可以理解,可以在不脫離本發(fā)明的精神或范圍的情況下對圖7的步驟或上述應用作出許多其它變化。
圖8所示是依照本發(fā)明的各方面被配置以在資源復制系統(tǒng)中運行的機器的結構圖。機器805包括更新機制810、資源822以及通信機制840。
更新機制810包括圍欄比較器邏輯815,用于比較圍欄值并確定資源是否應當被從機器805傳播或資源是否應當甚至對其它機器可見。圍欄比較器邏輯815也可以用于確定如果發(fā)生圍欄操作或資源元數(shù)據(jù)830的破壞或刪除以及隨后的重建(如下文更詳細的描述)時,應當如何更新圍欄值。
其它元數(shù)據(jù)沖突分解邏輯820包括用于確定當資源的圍欄值相等時哪一資源勝出(并應當被傳播)的邏輯。在應用其它元數(shù)據(jù)沖突分解邏輯820時,更新機制810可以訪問資源元數(shù)據(jù)830和/或資源數(shù)據(jù)825中的數(shù)據(jù)來確定資源(或其部分)是否應當被傳播到另一機器或從另一機器接收。
資源822包括資源數(shù)據(jù)825和資源元數(shù)據(jù)830。資源數(shù)據(jù)和資源元數(shù)據(jù)之間的區(qū)別如上文參照圖2所描述的那樣。盡管在同一框中示出,資源數(shù)據(jù)825可能儲存在相對于資源元數(shù)據(jù)830分離的存儲中。
通信機制840允許更新機制810與其它機器上的其它更新機制(未示出)進行通信。更新機制一起確定應當同步哪一資源以及同步應當如何出現(xiàn)。通信機制840可以是網(wǎng)絡接口或適配器170、調制解調器172或任一其它裝置,用于如結合圖1所述的那樣建立通信。
可以理解,在不脫離本發(fā)明的精神和范圍的情況下實現(xiàn)圖8所示的機器的其它變異。
在本發(fā)明的一個實施例中,有三個初始圍欄值-1、0和1。-1扮演上述0的角色(即,未圍欄值),0可以代表只要沒有具有1或更高的圍欄值的其它資源就可以復制該資源。這一擴展的一種使用是處理復制元數(shù)據(jù)的丟失。例如,資源復制器可以在對于用來儲存復制數(shù)據(jù)的存儲分離的存儲中保存元數(shù)據(jù)。由此,該元數(shù)據(jù)和該資源數(shù)據(jù)(即,內容)可能不相關地失敗。在重建過程中,丟失其元數(shù)據(jù)的機器可以初始地使用值-1來對其資源進行圍欄,因為它不知道該資源是否已被復制或者剛被本地創(chuàng)建(并且因此不被復制品集合中的其它機器所知)。過早地將圍欄值從-1改變?yōu)?將導致將舊內容重新引入回網(wǎng)絡中,作為來自更新的內容,但是斷開連接的機器可能被改寫。另一方面,將圍欄從-1改變?yōu)?,可以允許重新向上引入這一內容,直到某一其它參與方確定它為舊。注意,如果僅期望正整數(shù),則替代地可以使用0、1和2(或一些其它編號模式),對上述每一值移位。
本發(fā)明的再一實施例使用-∞和0作為可能的初始圍欄值。在功能上,圍欄值-∞代替了0(即,為未圍欄值),而0代替了1(即,指示該資源應當被復制)。另外,可以使用其它負圍欄值(如,-1、-2、-3、…、-n)來指示可以被復制的資源。這類圍欄值將負于以更高的值圍欄的資源。這一一般化的一種使用包括新鮮資源的可用性比恢復過程中的帶寬使用更重要的情形。每一機器可能被分配在初始資源上使用的一個不同的圍欄值(如,-1、-2、…、-n)。該順序給予使用圍欄值-1的領導機器優(yōu)先級,然而來自所有機器的非沖突內容立即可用。
這一表示的另一應用包括每次當機器恢復或重建其元數(shù)據(jù)作為對元數(shù)據(jù)的破壞或丟失的響應時確定圍欄值。這一應用的啟發(fā)值是每次當機器重建其元數(shù)據(jù)時,儲存在機器上的資源數(shù)據(jù)可能變少并較不可靠和/或較不新。通過這一機制,較不頻繁地重建其元數(shù)據(jù)的機器上的內容被認為是更可靠的,并且通過圍欄值戰(zhàn)勝較頻繁地重建其元數(shù)據(jù)的機器上的內容。
應當理解,上述圍欄值是可以在任一多種物理圍欄值中實現(xiàn)的邏輯圍欄值。例如,在不脫離本發(fā)明的精神或范圍的情況下,圍欄值可以物理地被表示為無符號整數(shù)、浮點數(shù)、比特值或任一其它類型的編號模式。
從上述詳細描述中可以看到,本發(fā)明提供了一種用于粒度化地控制復制信息的改進的系統(tǒng)和方法。盡管本發(fā)明可以具有各種修改和替代構造,然而在附圖中示出并詳細描述了其特定的說明實施例。然而,應當理解,這并非將本發(fā)明限制在所揭示的特定形式中,而是相反,本發(fā)明覆蓋了處于本發(fā)明的精神和范圍之內的所有的修改、替代構造和等效物。
權利要求
1.一種具有計算機可執(zhí)行指令的計算機可讀媒質,其特征在于,它包括接收在多個機器上復制的資源的元數(shù)據(jù),所述資源具有駐留在復制所述資源的每一機器上的元數(shù)據(jù)和內容,所述元數(shù)據(jù)包括只要通過任一本地更新改變所述資源的所述內容時就被更新的一個或多個值,以及一與對所述內容的任一本地改變不相關的圍欄值;將所述多個機器中的第一機器上的所述內容的第一圍欄值與所述多個機器中的第二機器的所述內容的第二圍欄值相比較;以及如果所述第一圍欄值優(yōu)先于所述第二圍欄值,則更新所述第二機器。
2.如權利要求1所述的計算機可讀媒質,其特征在于,所述元數(shù)據(jù)儲存在與所述內容分離的存儲器中。
3.如權利要求1所述的計算機可讀媒質,其特征在于,更新所述第二機器包括確定所述第一和第二機器上的所述內容之間的一個或多個差異,并發(fā)送所述一個或多個差異。
4.如權利要求1所述的計算機可讀媒質,其特征在于,更新所述第二機器包括僅發(fā)送所述元數(shù)據(jù)。
5.如權利要求4所述的計算機可讀媒質,其特征在于,所述第一和第二機器上的所述內容相同。
6.如權利要求1所述的計算機可讀媒質,其特征在于,所述內容包括文件數(shù)據(jù)和文件屬性。
7.如權利要求1所述的計算機可讀媒質,其特征在于,每一機器上的每一元數(shù)據(jù)包括概括所述資源的摘要。
8.如權利要求8所述的計算機可讀媒質,其特征在于,它還包括比較所述機器上的所述元數(shù)據(jù)的所述摘要,并且如果所述摘要等效,則繞過更新。
9.如權利要求1所述的計算機可讀媒質,其特征在于,更新所述第二機器包括將所述第二圍欄值更新為等于所述第一圍欄值。
10.如權利要求1所述的計算機可讀媒質,其特征在于,它還包括,如果所述圍欄值等效時,則比較所述元數(shù)據(jù)中的其它數(shù)據(jù)來確定是否應當更新內容。
11.如權利要求1所述的計算機可讀媒質,其特征在于,每一圍欄值被分配到其相應資源的一個或多個部分。
12.如權利要求1所述的計算機可讀媒質,其特征在于,具有特定圍欄值的內容不被傳播到其它機器。
13.如權利要求1所述的計算機可讀媒質,其特征在于,具有特定圍欄值的內容對其它機器不可見。
14.如權利要求1所述的計算機可讀媒質,其特征在于,它還包括將所述圍欄值之一設置為包括所述一個圍欄值的所述資源所駐留的機器的(其本身+1)與(時鐘時間)中的最大值。
15.如權利要求1所述的計算機可讀媒質,其特征在于,它還包括將每一圍欄值保持為與同所述圍欄值變化關聯(lián)的內容相同。
16.一種具有計算機可執(zhí)行指令的計算機可讀媒質,其特征在于,它包括確定是否應當使用駐留在第一機器上的第一資源來更新駐留在第二機器上的第二資源,每一所述資源與元數(shù)據(jù)和內容關聯(lián),每一所述元數(shù)據(jù)包括只要所述關聯(lián)的資源的所述內容改變時就被更新的一個或多個域,以及一圍欄值,每一所述圍欄值表示是否應當使用其關聯(lián)的資源優(yōu)先于來自其它元數(shù)據(jù)的資源來更新另一機器上的資源;如果所述第二資源的所述圍欄值指示所述第二資源不應從所述第二機器傳播,則防止從所述第二機器傳播;以及如果所述第一資源的所述圍欄值優(yōu)先于所述第二資源的所述圍欄值,則從所述第一資源更新所述第二資源。
17.如權利要求16所述的方法,其特征在于,它還包括,如果所述第一和第二資源的所述圍欄值相等,則基于元數(shù)據(jù)而非所述圍欄值來確定哪一機器將更新另一個。
18.如權利要求17所述的方法,其特征在于,所述其它元數(shù)據(jù)包括指示最后一次更新所述相應內容的邏輯時鐘。
19.如權利要求18所述的方法,其特征在于,圍欄值指示其相應的資源可以傳播到其它機器,直到具有更高圍欄值的另一資源定位于另一機器上。
20.如權利要求16所述的方法,其特征在于,與所述第一資源關聯(lián)的所述元數(shù)據(jù)儲存在與其相應資源分離的數(shù)據(jù)結構中。
21.如權利要求20所述的方法,其特征在于,所述數(shù)據(jù)結構被破壞或刪除,它還包括重建所述數(shù)據(jù)結構并遞減與所述第一資源關聯(lián)的所述圍欄值。
22.如權利要求21所述的方法,其特征在于,它還包括多次重建所述數(shù)據(jù)結構,并在每次重建所述數(shù)據(jù)結構時遞減與所述第一資源關聯(lián)的所述圍欄值。
23.如權利要求22所述的方法,其特征在于,它還包括,如果所述第二資源的所述圍欄值更優(yōu)先于所述第一資源的所述圍欄值時,從所述第二資源更新所述第一資源。
24.一種用于復制數(shù)據(jù)的方法,其特征在于,它包括將數(shù)據(jù)加載到第一機器上;使用指示不應從所述第一機器發(fā)送所述數(shù)據(jù)來更新任一其它機器上的數(shù)據(jù)的圍欄值來標記所述數(shù)據(jù);使用第二機器上的數(shù)據(jù)來同步所述數(shù)據(jù)的至少一個部分。
25.如權利要求24所述的方法,其特征在于,它還包括,在同步所述數(shù)據(jù)的所述至少一個部分之后,使用指示可以從所述第一機器發(fā)送所述數(shù)據(jù)來更新任一其它機器上的數(shù)據(jù)的圍欄值來標記所述數(shù)據(jù)的剩余部分。
26.如權利要求24所述的方法,其特征在于,它還包括在同步所述數(shù)據(jù)的所述至少一個部分之后,刪除所述數(shù)據(jù)的剩余部分。
27.如權利要求24所述的方法,其特征在于,所述數(shù)據(jù)從備份中加載。
28.如權利要求24所述的方法,其特征在于,所述數(shù)據(jù)從發(fā)送自另一機器的數(shù)據(jù)的副本中加載。
29.如權利要求24所述的方法,其特征在于,它還包括標記在指示應當在同步過程中同步所述相應數(shù)據(jù)的第二機器上的相應數(shù)據(jù)。
30.如權利要求24所述的方法,其特征在于,它還包括改變所述數(shù)據(jù)的一部分并使用指示應當在同步過程中同步所述改變的部分的圍欄值來標記所述改變的部分。
31.一種用于復制數(shù)據(jù)的系統(tǒng),其特征在于,它包括具有第一組資源的第一機器;具有第二組資源的第二機器,其中,每一所述機器上的每一所述資源與元數(shù)據(jù)和內容相關聯(lián),每一所述元數(shù)據(jù)包括只要所述關聯(lián)的資源的所述內容改變時就被更新的一個或多個域以及一圍欄值,每一所述圍欄值指示是否應當使用其關聯(lián)的資源來與其它元數(shù)據(jù)不相關地更新另一機器上的資源,其中,所述第一和第二機器被配置以傳遞有關兩者都包含的所述資源信息;以及依照以下優(yōu)先級更新每一過時的資源如果所述機器之一上的資源的圍欄值更優(yōu)先于另一機器上的相應資源的所述圍欄值,則使用所述一個機器上的所述資源來更新所述另一機器;否則基于數(shù)據(jù)而非所述圍欄值來更新所述機器上的資源。
32.如權利要求31所述的系統(tǒng),其特征在于,所述第一組資源從備份中加載,并且設置其圍欄值以使所述第一組資源優(yōu)先于任一其它資源組,使得與所述資源組相應的任一其它機器上的任一其它資源組從所述第一組資源更新。
33.如權利要求31所述的系統(tǒng),其特征在于,所述第一組資源的所述圍欄值被標記為優(yōu)先于其它機器上的相應資源,使得所述相應資源從所述第一組資源更新。
全文摘要
一種用于控制哪一內容獲得優(yōu)先級并被復制的方法與系統(tǒng)。復制品集合包括一組資源。每一資源與資源數(shù)據(jù)和資源元數(shù)據(jù)相關聯(lián)。對于基于文件的系統(tǒng),資源數(shù)據(jù)包括文件內容和屬性,而資源元數(shù)據(jù)包括與在復制過程中協(xié)商同步相關的另外的屬性。將名為“圍欄值”的附加域添加到與每一資源相關聯(lián)的元數(shù)據(jù)上。在同步過程中,比較第一圍欄值。具有最高圍欄值的資源包括控制并復制的內容。如果圍欄值相等(并大于特定值),則基于其它元數(shù)據(jù)確定控制資源。
文檔編號G06F17/30GK1607500SQ20041006365
公開日2005年4月20日 申請日期2004年7月9日 優(yōu)先權日2003年7月10日
發(fā)明者D·笛奧多西油, N·S·布妖爾納 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宜兴市| 秦安县| 抚远县| 上饶县| 尉氏县| 辉南县| 新建县| 西贡区| 松溪县| 沧州市| 富锦市| 双牌县| 房产| 龙南县| 托里县| 盐城市| 蛟河市| 吉林市| 措美县| 翁源县| 诸暨市| 南澳县| 年辖:市辖区| 彩票| 漳平市| 南安市| 略阳县| 治多县| 泰州市| 乌拉特后旗| 台安县| 会昌县| 城固县| 永修县| 南开区| 修文县| 玛曲县| 孟州市| 水富县| 城固县| 田东县|