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

使用位圖數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)恢復(fù)的制作方法

文檔序號(hào):11530678閱讀:216來(lái)源:國(guó)知局
使用位圖數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)恢復(fù)的制造方法與工藝



背景技術(shù):

系統(tǒng)可以使用用于在源與目標(biāo)之間復(fù)制數(shù)據(jù)的基于日志的復(fù)制??梢栽谌罩局胁杉丛O(shè)備的更新,并且日志可以被發(fā)送給一個(gè)或多個(gè)目標(biāo)設(shè)備以用于復(fù)制。在操作期間,目標(biāo)的日志可以失去與源的日志同步。其關(guān)于本申請(qǐng)被引導(dǎo)到的該通常技術(shù)環(huán)境。



技術(shù)實(shí)現(xiàn)要素:

提供該概述以引入以在詳細(xì)描述中下文進(jìn)一步描述的簡(jiǎn)化形式的概念的選擇。該概述不旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或基本特征,其也不旨在用于限制所要求保護(hù)的主題的范圍。

本公開(kāi)的示例描述在源設(shè)備與目標(biāo)設(shè)備之間失去同步時(shí)實(shí)現(xiàn)基于位圖的復(fù)制。根據(jù)一個(gè)示例,可以從目標(biāo)設(shè)備接收時(shí)間標(biāo)識(shí)符。如果源設(shè)備確定主要復(fù)制方法不能夠用于復(fù)制與時(shí)間標(biāo)識(shí)符相關(guān)聯(lián)的數(shù)據(jù),則可以發(fā)起次要復(fù)制方法。次要復(fù)制方法可以使用恢復(fù)位圖,恢復(fù)位圖標(biāo)識(shí)自先前事件以來(lái)在源設(shè)備上已經(jīng)改變的數(shù)據(jù)塊。

在一個(gè)示例中,開(kāi)始的日志序列號(hào)(lsn)和結(jié)束的lsn可以在被標(biāo)記在恢復(fù)位圖中以跟蹤自先前事件以來(lái)在源設(shè)備上已經(jīng)改變的數(shù)據(jù)塊的復(fù)制。恢復(fù)位圖的創(chuàng)建可以包括貫穿為了目標(biāo)設(shè)備而維持的分層位圖結(jié)構(gòu)來(lái)傳播位圖數(shù)據(jù)?;謴?fù)位圖可以包括由分層位圖結(jié)構(gòu)所指示的數(shù)據(jù)的累積。除了恢復(fù)位圖之外,分層位圖結(jié)構(gòu)可以包括對(duì)應(yīng)于當(dāng)前虛擬日志文件中的數(shù)據(jù)記錄的檢查點(diǎn)位圖和對(duì)應(yīng)于多個(gè)日志文件中的數(shù)據(jù)記錄的累積位圖。在由檢查點(diǎn)位圖表示的當(dāng)前日志文件充滿時(shí),數(shù)據(jù)可以從檢查點(diǎn)位圖被傳播到累積位圖。在確定主要復(fù)制方法不能用于復(fù)制與時(shí)間標(biāo)識(shí)符相關(guān)聯(lián)的數(shù)據(jù)時(shí),數(shù)據(jù)可以從累積位圖被傳播到恢復(fù)位圖。次要復(fù)制方法的發(fā)起可以進(jìn)一步包括將恢復(fù)位圖發(fā)送到目標(biāo)設(shè)備。

在一個(gè)示例中,主要復(fù)制方法是基于日志的復(fù)制方法,時(shí)間標(biāo)識(shí)符是lsn,并且先前事件是通過(guò)最近先前地接收到的lsn所指示的事務(wù)、數(shù)據(jù)向目標(biāo)設(shè)備的先前復(fù)制。進(jìn)一步地,恢復(fù)位圖可以標(biāo)識(shí)對(duì)應(yīng)于由恢復(fù)位圖表示的最近數(shù)據(jù)改變的lsn。即,源設(shè)備可以從目標(biāo)設(shè)備接收第二lsn?;诘诙sn的接收,源設(shè)備可以確定針對(duì)目標(biāo)設(shè)備的累積位圖是否為空。當(dāng)針對(duì)目標(biāo)設(shè)備的累積位圖為空時(shí),源設(shè)備可以使用主要復(fù)制方法(諸如基于日志的復(fù)制)將復(fù)制數(shù)據(jù)提供到目標(biāo)設(shè)備。當(dāng)針對(duì)目標(biāo)的累積位圖不為空時(shí),數(shù)據(jù)可以從累積位圖被傳播到恢復(fù)位圖,以從恢復(fù)位圖被發(fā)送到目標(biāo)設(shè)備。

除了其中源設(shè)備管理針對(duì)單個(gè)目標(biāo)設(shè)備的復(fù)制數(shù)據(jù)的示例之外,源設(shè)備可以管理數(shù)據(jù)向多個(gè)目標(biāo)設(shè)備的復(fù)制。該源設(shè)備可以創(chuàng)建和維持針對(duì)多個(gè)目標(biāo)設(shè)備的每個(gè)目標(biāo)設(shè)備的分離的恢復(fù)位圖。

在其中在源設(shè)備上發(fā)生數(shù)據(jù)改變的示例中,當(dāng)在源設(shè)備上進(jìn)行新的更新時(shí),可以設(shè)定恢復(fù)位圖中的新的比特。作為示例,新的比特可以等于在其中已經(jīng)發(fā)生改變的源設(shè)備的存儲(chǔ)范圍。

示例的附加方面、特征和/或優(yōu)點(diǎn)將在以下描述中部分被闡述并且部分從描述將是明顯的或者可以通過(guò)本公開(kāi)的實(shí)踐進(jìn)行學(xué)習(xí)。

附圖說(shuō)明

參考以下附圖描述非限制性和非排他性的示例。

圖1a圖示了可以被用于實(shí)現(xiàn)本文所描述的示例的系統(tǒng)的概述。

圖1b圖示了可以被用于實(shí)現(xiàn)本文所描述的示例的包括源和目標(biāo)的系統(tǒng)的概述。

圖2圖示了如本文所描述的用于傳播分層位圖結(jié)構(gòu)中的數(shù)據(jù)的過(guò)程圖。

圖3a圖示了如本文所描述的用于使用次要復(fù)制方法處理請(qǐng)求的操作流。

圖3b圖示了如本文所描述的用于處理包括日志序列號(hào)(lsn)的請(qǐng)求的操作流。

圖4是用于目標(biāo)設(shè)備上的數(shù)據(jù)復(fù)制的操作流。

圖5是圖示可以利用其實(shí)踐本公開(kāi)的各方面的計(jì)算設(shè)備的示例的框圖。

圖6a和圖6b是可以利用其實(shí)踐本公開(kāi)的各方面的移動(dòng)計(jì)算設(shè)備的簡(jiǎn)化框圖。

圖7是在其中可以實(shí)踐本公開(kāi)的各方面的分布式計(jì)算系統(tǒng)的簡(jiǎn)化框圖。

具體實(shí)施方式

本公開(kāi)的示例描述當(dāng)在源設(shè)備與目標(biāo)設(shè)備之間失去同步時(shí)實(shí)現(xiàn)利用使用數(shù)據(jù)結(jié)構(gòu)的次要復(fù)制方法。

復(fù)制系統(tǒng)與其他復(fù)制系統(tǒng)共享由日志序列號(hào)lsn標(biāo)識(shí)的日志記錄,作為關(guān)于將源數(shù)據(jù)存儲(chǔ)庫(kù)和目標(biāo)數(shù)據(jù)存儲(chǔ)庫(kù)同步的目標(biāo)的復(fù)制協(xié)議的一部分。當(dāng)應(yīng)用向數(shù)據(jù)存儲(chǔ)庫(kù)發(fā)出更新時(shí),復(fù)制系統(tǒng)將更新同步地記錄到復(fù)制日志并且滿足應(yīng)用請(qǐng)求。當(dāng)其便于設(shè)備處理更新時(shí),可以從復(fù)制日志應(yīng)用對(duì)數(shù)據(jù)存儲(chǔ)庫(kù)本身的更新。

存在記錄以確保如果死機(jī)發(fā)生,則在死機(jī)之后在數(shù)據(jù)存儲(chǔ)庫(kù)中將正確地反映提交的事務(wù)。其確保未提交的事務(wù)將被正確地重新運(yùn)行并且在死機(jī)之后未反映在數(shù)據(jù)存儲(chǔ)庫(kù)中。日志記錄的lsn用于在由復(fù)制系統(tǒng)所實(shí)施的恢復(fù)協(xié)議期間構(gòu)建正確的恢復(fù)順序。當(dāng)構(gòu)建恢復(fù)協(xié)議中的恢復(fù)順序時(shí),可以對(duì)日志序列號(hào)進(jìn)行比較。進(jìn)一步地,使用日志的復(fù)制許可目標(biāo)設(shè)備維持同步,而不要求大量的數(shù)據(jù)被傳輸給目標(biāo)設(shè)備。相反,在初始化時(shí),目標(biāo)設(shè)備接收源設(shè)備的數(shù)據(jù)存儲(chǔ)庫(kù)的全部復(fù)制,并且此后源設(shè)備保持影響源設(shè)備數(shù)據(jù)存儲(chǔ)庫(kù)的任何事務(wù)的日志。事務(wù)的日志周期性地被發(fā)送到目標(biāo)設(shè)備,使得這樣的事務(wù)可以在目標(biāo)設(shè)備數(shù)據(jù)存儲(chǔ)庫(kù)處被重放以保持兩個(gè)數(shù)據(jù)存儲(chǔ)庫(kù)處于同步。

虛擬日志文件(vlf)可以用于輔助復(fù)制日志的內(nèi)部管理。當(dāng)vlf變滿時(shí),記錄自動(dòng)地繼續(xù)使用復(fù)制日志中的下一vlf。然而,一旦最后的vlf充滿時(shí),日志“包裹”并且開(kāi)始重寫(xiě)第一vlf中的日志數(shù)據(jù)。因此,復(fù)制日志可以被實(shí)現(xiàn)為循環(huán)文件。

目標(biāo)設(shè)備可能與源設(shè)備失去同步,或者可能不能夠以源設(shè)備在源數(shù)據(jù)存儲(chǔ)庫(kù)處正應(yīng)用日志記錄的相同速率來(lái)消耗日志記錄。這可以針對(duì)包括通信失敗、暫時(shí)機(jī)器停機(jī)等的若干原因發(fā)生。在一些情況下,可以期望源設(shè)備應(yīng)當(dāng)繼續(xù)接受數(shù)據(jù)事務(wù)請(qǐng)求,同時(shí)目標(biāo)設(shè)備嘗試趕上。在其中目標(biāo)設(shè)備存儲(chǔ)不能夠針對(duì)延長(zhǎng)時(shí)間段與源數(shù)據(jù)存儲(chǔ)庫(kù)通信或者不能夠以源數(shù)據(jù)存儲(chǔ)庫(kù)正創(chuàng)建新記錄的相同速率消耗日志記錄時(shí),存在可能發(fā)生日志包裹的機(jī)會(huì)。也即,當(dāng)記錄到達(dá)日志的結(jié)尾時(shí),其包裹以再次開(kāi)始并且開(kāi)始重寫(xiě)之前在那里的那些。一旦發(fā)生該情況,日志就不再由目標(biāo)數(shù)據(jù)存儲(chǔ)庫(kù)可用于與源數(shù)據(jù)存儲(chǔ)恢復(fù)同步。

目標(biāo)設(shè)備可以嘗試通過(guò)日志復(fù)制數(shù)據(jù),但是如果目標(biāo)至此不同步已經(jīng)發(fā)生日志包裹,則目標(biāo)設(shè)備可能不能夠使用日志文件復(fù)制。在過(guò)去,目標(biāo)數(shù)據(jù)存儲(chǔ)可能已經(jīng)需要復(fù)制整個(gè)源數(shù)據(jù)存儲(chǔ)庫(kù),其是帶寬和處理的低效的使用。因此,本公開(kāi)的示例涉及利用位圖復(fù)制不再由基于日志的恢復(fù)方法可復(fù)制的數(shù)據(jù)的一種數(shù)據(jù)復(fù)制方法和系統(tǒng)。

與維持日志文件并行,源數(shù)據(jù)存儲(chǔ)庫(kù)處的復(fù)制系統(tǒng)可以維持存儲(chǔ)器內(nèi)位圖以跟蹤當(dāng)日志記錄被應(yīng)用到源數(shù)據(jù)存儲(chǔ)庫(kù)時(shí)已經(jīng)寫(xiě)到的磁盤(pán)塊。存儲(chǔ)器內(nèi)位圖可以維持對(duì)自從先前事件(諸如日志檢查點(diǎn))以來(lái)已經(jīng)發(fā)生的源數(shù)據(jù)存儲(chǔ)上的數(shù)據(jù)的所有改變。該源設(shè)備可以將數(shù)據(jù)從該全局位圖傳播到在源設(shè)備上維持的目標(biāo)特定位圖。使用針對(duì)每個(gè)目標(biāo)數(shù)據(jù)存儲(chǔ)的分離的分層位圖結(jié)構(gòu)慮及多個(gè)目標(biāo)設(shè)備與獨(dú)立于其他目標(biāo)設(shè)備的源設(shè)備同步。也即,來(lái)自源數(shù)據(jù)存儲(chǔ)庫(kù)的數(shù)據(jù)可以繼續(xù)使用基于日志的復(fù)制被復(fù)制到某些目標(biāo)設(shè)備,同時(shí)相同源數(shù)據(jù)可以使用一個(gè)或多個(gè)分層位圖結(jié)構(gòu)將數(shù)據(jù)復(fù)制到其他目標(biāo)設(shè)備。

圖1a圖示了可以被用于實(shí)現(xiàn)本文所描述的示例的系統(tǒng)100的概述。圖1a圖示了可以在源102和其相關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)庫(kù)104與多個(gè)目標(biāo)(例如,108、112、116)和其相應(yīng)的數(shù)據(jù)存儲(chǔ)庫(kù)110、114和118之間發(fā)生的相互作用。源102可以包括復(fù)制系統(tǒng)106,其與源數(shù)據(jù)存儲(chǔ)庫(kù)104操作性地連接。該復(fù)制系統(tǒng)106可以包括在源102(其可以是計(jì)算設(shè)備)上操作以保持源數(shù)據(jù)存儲(chǔ)庫(kù)104和目標(biāo)數(shù)據(jù)存儲(chǔ)庫(kù)110、114和118同步的軟件應(yīng)用。作為示例,復(fù)制系統(tǒng)106可以酌情實(shí)現(xiàn)主要復(fù)制方法(例如,基于日志的復(fù)制)和次要復(fù)制方法。復(fù)制系統(tǒng)106可以在主要復(fù)制方法與次要復(fù)制方法之間切換。例如,針對(duì)包括提供目標(biāo)108的最近同步的指示的lsn的日志數(shù)據(jù),源102可以從目標(biāo)108接收查詢。源可以確定是否可以通過(guò)使用主要復(fù)制方法實(shí)現(xiàn)針對(duì)目標(biāo)設(shè)備108的同步。例如,如果源102的數(shù)據(jù)存儲(chǔ)庫(kù)104上的日志不能夠用于復(fù)制一個(gè)或多個(gè)必要的記錄,則源102的復(fù)制系統(tǒng)106可以切換到次要復(fù)制方法。從那里,數(shù)據(jù)可以被傳輸?shù)侥繕?biāo)108以恢復(fù)與源102同步。如本文所解釋的,次要復(fù)制方法可以包括基于位圖的復(fù)制方法。

在另一示例中,包括目標(biāo)108、目標(biāo)112和目標(biāo)116的多個(gè)目標(biāo)可以針對(duì)數(shù)據(jù)的同步查詢?cè)?02。當(dāng)對(duì)不同的查詢作出反應(yīng)時(shí),源102可能能夠并行運(yùn)行主要復(fù)制方法和次要復(fù)制方法二者。例如,目標(biāo)108可以與源102基本上同步,因此基于日志的復(fù)制仍然是與目標(biāo)108一起使用的。相反,目標(biāo)112可能已經(jīng)經(jīng)歷長(zhǎng)的失敗,并且在這期間,影響由目標(biāo)112需要的日志數(shù)據(jù)的日志包裹可能已經(jīng)發(fā)生,在該情況下,源102可以切換到針對(duì)目標(biāo)112的基于位圖的復(fù)制程序。與源102類(lèi)似,目標(biāo)108、112和116可以可配置為實(shí)現(xiàn)基于日志的復(fù)制和基于位圖的復(fù)制二者以用于重新同步。

圖1b圖示了可以被用于實(shí)現(xiàn)本文所描述的示例的包括源102和目標(biāo)108的系統(tǒng)120的概述。源102和目標(biāo)108可以被連接在網(wǎng)絡(luò)中以執(zhí)行任何類(lèi)型的復(fù)制。在另一示例中,源102可以與多個(gè)目標(biāo)108、112和116連接,如在圖1a中所示??梢栽谠?02與目標(biāo)108之間執(zhí)行磁盤(pán)存儲(chǔ)復(fù)制,包括例如同步復(fù)制或異步復(fù)制??梢酝ㄟ^(guò)創(chuàng)建到在具有處理器的設(shè)備上運(yùn)行的操作系統(tǒng)中的軟件的實(shí)施方式來(lái)實(shí)現(xiàn)復(fù)制。

參考圖1b,目標(biāo)108可以向源102通知時(shí)間標(biāo)識(shí)符(諸如lsn)。時(shí)間標(biāo)識(shí)符指示復(fù)制請(qǐng)求在目標(biāo)108上已經(jīng)處理到達(dá)的時(shí)間點(diǎn)。在其中基于日志的復(fù)制由復(fù)制系統(tǒng)106使用的示例中,時(shí)間標(biāo)識(shí)符可以是lsn。目標(biāo)108可以向源102通知lsn。這允許源102標(biāo)識(shí)目標(biāo)108已經(jīng)復(fù)制源數(shù)據(jù)直到的點(diǎn)。如果目標(biāo)108在有效的基于日志的復(fù)制后面太遠(yuǎn)(例如,影響由目標(biāo)108需要的數(shù)據(jù)的日志包裹已經(jīng)發(fā)生),那么源102的復(fù)制系統(tǒng)106可以切換到次要復(fù)制方法以發(fā)送目標(biāo)108數(shù)據(jù)以用于復(fù)制。

在該方面中,源102可以維持全局存儲(chǔ)器內(nèi)位圖122,其被用于指示自從先前事件以來(lái)已經(jīng)被記錄在源數(shù)據(jù)存儲(chǔ)庫(kù)104上已經(jīng)改變的數(shù)據(jù)。在一個(gè)示例中,先前事件可以是日志檢查點(diǎn),并且全局存儲(chǔ)器內(nèi)位圖122將詳述自從先前的日志檢查點(diǎn)以來(lái)已經(jīng)由任何事務(wù)改變的磁盤(pán)的所有范圍。全局存儲(chǔ)器內(nèi)位圖122的每個(gè)比特可以被設(shè)定為等于在其中數(shù)據(jù)改變已經(jīng)發(fā)生在源102的數(shù)據(jù)存儲(chǔ)庫(kù)104上的磁盤(pán)的特定范圍。作為示例,一個(gè)比特可以等于源盤(pán)的256k。在該示例中,如果自先前事件以來(lái)已經(jīng)改變?cè)幢P(pán)的該256k的任何部分,則對(duì)應(yīng)于源盤(pán)的該256k部分的比特被設(shè)定在位圖中(例如,從零改變到一),以指示源盤(pán)的該部分中的改變。然而,全局存儲(chǔ)器內(nèi)位圖122的比特的映射是任意的并且可以被改變。例如,使每個(gè)比特對(duì)應(yīng)于源盤(pán)的較小部分提高準(zhǔn)確度,而且增加必須維持的位圖的大小。

當(dāng)創(chuàng)建新復(fù)制伙伴時(shí)(例如,目標(biāo)108),源102可以代表目標(biāo)108存儲(chǔ)持續(xù)的位圖集。該位圖集可以用于在其中目標(biāo)108需要通過(guò)基于位圖的恢復(fù)方法復(fù)制數(shù)據(jù)的情況下,跟蹤針對(duì)目標(biāo)108的位圖數(shù)據(jù)。在一個(gè)示例中,目標(biāo)特定位圖可以包括檢查點(diǎn)位圖124、累積位圖126和恢復(fù)位圖128,如在圖1b中所示。

當(dāng)新檢查點(diǎn)被記錄在源102上時(shí),在目標(biāo)108需要通過(guò)基于位圖的復(fù)制復(fù)制數(shù)據(jù)的情況下,復(fù)制系統(tǒng)106將全局存儲(chǔ)器內(nèi)位圖122的位圖數(shù)據(jù)傳播到目標(biāo)特定位圖。那時(shí)候,可以對(duì)存儲(chǔ)器內(nèi)位圖122進(jìn)行重置。針對(duì)源102將被復(fù)制到的所有目標(biāo)(例如,圖1a中所示的示例中的目標(biāo)108、112和118)執(zhí)行該過(guò)程,這是因?yàn)樵?02將維持針對(duì)每個(gè)這種目標(biāo)的目標(biāo)特定位圖。如上文所指出的,堅(jiān)持源102的磁盤(pán)上的目標(biāo)特定位圖集慮及獨(dú)立于其他目標(biāo)設(shè)備的獨(dú)立壽命和同步協(xié)議。

全局存儲(chǔ)器內(nèi)位圖122標(biāo)記日志檢查點(diǎn)的開(kāi)始的lsn和結(jié)束的lsn。當(dāng)新檢查點(diǎn)被寫(xiě)在源數(shù)據(jù)存儲(chǔ)庫(kù)104上時(shí),源102可以將位圖數(shù)據(jù)從全局存儲(chǔ)器內(nèi)位圖122傳播到每個(gè)檢查點(diǎn)位圖124。作為示例,存儲(chǔ)器內(nèi)位圖122例如與檢查點(diǎn)位圖124進(jìn)行or(邏輯or)以傳播位圖數(shù)據(jù)。在將位圖的比特傳輸?shù)綑z查點(diǎn)位圖124時(shí),比特可以被標(biāo)記有由先前的檢查點(diǎn)所標(biāo)識(shí)的lsn和全局存儲(chǔ)器內(nèi)位圖122中的結(jié)束的lsn。在將存儲(chǔ)器內(nèi)位圖122傳播到檢查點(diǎn)位圖124時(shí),存儲(chǔ)器內(nèi)位圖122的開(kāi)始和結(jié)束的lsn被發(fā)送到檢查點(diǎn)位圖124。檢查點(diǎn)位圖124表示對(duì)應(yīng)于可以由多個(gè)文件表示的虛擬日志的數(shù)據(jù)記錄的磁盤(pán)塊集。如此,檢查點(diǎn)位圖124可以包括由在當(dāng)前虛擬日志中表示的事務(wù)影響的源102的磁盤(pán)塊的編譯。當(dāng)基于日志的復(fù)制正并行操作時(shí),對(duì)源數(shù)據(jù)的改變繼續(xù)被添加到當(dāng)前虛擬日志直到當(dāng)前虛擬日志充滿。一旦當(dāng)前虛擬日志充滿,檢查點(diǎn)位圖124就被傳播到累積位圖126(例如,進(jìn)行or)。

當(dāng)檢查點(diǎn)位圖124被傳播到累積位圖126時(shí),針對(duì)累積位圖的元數(shù)據(jù)被調(diào)節(jié)以反映新“結(jié)束的”lsn以等于由正傳播到累積位圖的檢查點(diǎn)位圖124反映的最后的lsn。此外,在傳播到累積位圖126時(shí),檢查點(diǎn)位圖124被清除。在示例中,無(wú)論何時(shí)該目標(biāo)使用基于日志的復(fù)制成功地復(fù)制數(shù)據(jù),針對(duì)特定目標(biāo)的檢查點(diǎn)位圖124也可以被清除(由于在檢查點(diǎn)位圖124中反映的數(shù)據(jù)改變將已經(jīng)反映在由基于日志的復(fù)制所提供的日志中)。當(dāng)新虛擬日志被添加時(shí),檢查點(diǎn)位圖124lsn指向新的虛擬日志文件(n+1)中的第一記錄。

累積位圖126表示磁盤(pán)塊的累積集合,其對(duì)應(yīng)于由尚未復(fù)制到目標(biāo)108的數(shù)據(jù)存儲(chǔ)庫(kù)110的先前虛擬日志文件影響的數(shù)據(jù)記錄。例如,累積位圖126可以表示由多個(gè)虛擬日志影響的源磁盤(pán)塊(當(dāng)每次新的虛擬日志被創(chuàng)建時(shí),檢查點(diǎn)位圖124例如與累積位圖126進(jìn)行or(邏輯or))。與累積位圖126相關(guān)聯(lián)的元數(shù)據(jù)還跟蹤由累積位圖126所表示的lsn。

當(dāng)源102從目標(biāo)108接收時(shí)間標(biāo)識(shí)符并且確定基于位圖的復(fù)制需要復(fù)制數(shù)據(jù)時(shí),源102可以將數(shù)據(jù)從累積位圖126傳播到恢復(fù)位圖128。也即,當(dāng)做出請(qǐng)求以發(fā)送用于復(fù)制的數(shù)據(jù)時(shí),并且日志文件不能用于充分地完成復(fù)制,數(shù)據(jù)可以從累積位圖126傳播到恢復(fù)位圖128。當(dāng)數(shù)據(jù)被傳播到恢復(fù)位圖128時(shí),重置累積位圖126。在示例中,無(wú)論何時(shí)目標(biāo)108使用基于日志的復(fù)制成功地復(fù)制數(shù)據(jù),針對(duì)目標(biāo)108的檢查點(diǎn)位圖126可以被清除(由于在累積位圖126中反映的數(shù)據(jù)改變將已經(jīng)反映在由基于日志的復(fù)制所提供的日志中)。在累積位圖126與恢復(fù)位圖128之間傳播數(shù)據(jù)時(shí),累積位圖126例如與恢復(fù)位圖128進(jìn)行or(邏輯or)。即,傳播數(shù)據(jù)包括將數(shù)據(jù)從累積位圖126復(fù)制到恢復(fù)位圖128。

從該點(diǎn),恢復(fù)位圖128可以被傳輸?shù)侥繕?biāo)108以許可復(fù)制。目標(biāo)108可以然后請(qǐng)求源102以向目標(biāo)108發(fā)送由恢復(fù)位圖128中所指示的源數(shù)據(jù)存儲(chǔ)庫(kù)104的部分中的所有數(shù)據(jù)。例如,目標(biāo)108可以執(zhí)行源102的磁盤(pán)的受影響部分的讀取。當(dāng)恢復(fù)位圖被傳輸?shù)侥繕?biāo)108時(shí),可以重置恢復(fù)位圖128。目標(biāo)108還可以接收指示反映在所接收到的恢復(fù)位圖128中的最新lsn的元數(shù)據(jù)。目標(biāo)108可以然后使用恢復(fù)位圖的最新lsn來(lái)提供目標(biāo)108在復(fù)制中最新的程度的前進(jìn)的指示。

目標(biāo)108可以繼續(xù)將復(fù)制請(qǐng)求發(fā)送到源102。源102可以接收包括另一時(shí)間標(biāo)識(shí)符(例如,由先前接收到的恢復(fù)位圖128所表示的最新lsn)的這樣的請(qǐng)求并且重置累積位圖126。新的時(shí)間標(biāo)識(shí)符可以指示目標(biāo)108同步的點(diǎn)(包括在消耗由恢復(fù)位圖128所指示的數(shù)據(jù)之后)。如果基于位圖的復(fù)制仍然需要將源102與目標(biāo)108同步(例如,如果針對(duì)目標(biāo)108的累積位圖不為空),則源102可以繼續(xù)將位圖數(shù)據(jù)傳播到目標(biāo)108。備選地,如果更新的針對(duì)復(fù)制的請(qǐng)求的時(shí)間標(biāo)識(shí)符指示目標(biāo)108足夠地更新,則復(fù)制系統(tǒng)106可以切換回到使用針對(duì)目標(biāo)108的基于日志的復(fù)制方法。

圖2示了如本文所描述的用于傳播分層位圖結(jié)構(gòu)中的數(shù)據(jù)的過(guò)程200。分層位圖結(jié)構(gòu)的示例可以包括檢查點(diǎn)位圖124、累積位圖126和恢復(fù)位圖128,如參考圖1b所描述的。也即,源102可以將位圖數(shù)據(jù)從全局存儲(chǔ)器內(nèi)位圖122傳播到分層目標(biāo)特定位圖結(jié)構(gòu)。參考針對(duì)關(guān)于每個(gè)位圖和分層位圖結(jié)構(gòu)內(nèi)的處理流的細(xì)節(jié)的以上圖1b的描述。

參考圖2,提供了用于創(chuàng)建分層位圖結(jié)構(gòu)的過(guò)程200。在示例中,當(dāng)新的復(fù)制伙伴被創(chuàng)建時(shí)(例如,新的目標(biāo)被配置為復(fù)制源(諸如源102)),復(fù)制系統(tǒng)106在源數(shù)據(jù)存儲(chǔ)庫(kù)104處開(kāi)始過(guò)程200。源數(shù)據(jù)存儲(chǔ)庫(kù)104可以創(chuàng)建包括針對(duì)新伙伴(例如,目標(biāo)108)的檢查點(diǎn)位圖124、累積位圖126和恢復(fù)位圖128的持久位圖集。如在圖2中所示,位圖邏輯地跟蹤虛擬日志文件的結(jié)構(gòu)。例如,檢查點(diǎn)位圖124跟蹤由當(dāng)前虛擬日志影響的源數(shù)據(jù)的各部分。累積位圖126跟蹤由自針對(duì)相關(guān)目標(biāo)的最后更新以來(lái)已經(jīng)完成的先前虛擬日志影響的源數(shù)據(jù)的各部分?;謴?fù)位圖128表示目標(biāo)的最后的同步更新與其當(dāng)前同步請(qǐng)求之間的改變的源數(shù)據(jù)部分的快照。這允許存儲(chǔ)器內(nèi)位圖122、檢查點(diǎn)位圖124和累積位圖126繼續(xù)采集源數(shù)據(jù)變化,同時(shí)由恢復(fù)位圖128所指示的改變繼續(xù)由目標(biāo)108消耗。

在示例中,針對(duì)檢查點(diǎn)位圖124和累積位圖126中的每一個(gè)的初始值被設(shè)定到全部零,同時(shí)針對(duì)恢復(fù)位圖128的初始值被設(shè)定到全部“一”。這使得目標(biāo)108能夠執(zhí)行整個(gè)數(shù)據(jù)存儲(chǔ)庫(kù)的初始全部數(shù)據(jù)復(fù)制,作為其恢復(fù)協(xié)議的一部分。當(dāng)目標(biāo)在復(fù)制由恢復(fù)位圖128所指示的數(shù)據(jù)存儲(chǔ)塊的過(guò)程中時(shí),源數(shù)據(jù)存儲(chǔ)庫(kù)104可以經(jīng)歷進(jìn)而由位圖集記錄的修改,如上文所描述的。這使得源102能夠繼續(xù)處理數(shù)據(jù),同時(shí)目標(biāo)108通過(guò)數(shù)據(jù)復(fù)制恢復(fù)同步。如上文所描述的,通過(guò)包括檢查點(diǎn)位圖124、累積位圖126和恢復(fù)位圖128的目標(biāo)特定位圖集從存儲(chǔ)器內(nèi)位圖122傳播位圖。在恢復(fù)位圖128完全消耗之后,目標(biāo)可以請(qǐng)求進(jìn)一步的復(fù)制更新,在該點(diǎn)處源102的復(fù)制系統(tǒng)106檢查累積位圖是否為空。如果不是的話,其將累積位圖126復(fù)制到恢復(fù)位圖128并且清除累積位圖126??梢灾貜?fù)過(guò)程200直到恢復(fù)位圖128為空或者直到基于日志的復(fù)制可以再次被恢復(fù)。

下表概述用于傳播至少圖1b和圖2中所描述的基于位圖的復(fù)制的數(shù)據(jù)的觸發(fā)器的示例:

下表概述用于至少圖1b和圖2中所描述的位圖的重置的觸發(fā)器的示例:

圖3a圖示了如本文所描述的用于使用次要復(fù)制方法處理請(qǐng)求的操作流300。在操作302處開(kāi)始,源(例如,源102)可以從目標(biāo)(例如,目標(biāo)108)接收時(shí)間標(biāo)識(shí)符。作為示例,時(shí)間標(biāo)識(shí)符可以是lsn。

從操作302轉(zhuǎn)到操作304,可以確定主要復(fù)制方法(例如,實(shí)現(xiàn)基于日志的復(fù)制方法)是否能夠復(fù)制與時(shí)間標(biāo)識(shí)符相關(guān)聯(lián)的數(shù)據(jù)。如果主要復(fù)制系統(tǒng)能夠復(fù)制與時(shí)間標(biāo)識(shí)符相關(guān)聯(lián)的數(shù)據(jù),則主要復(fù)制方法被實(shí)現(xiàn)為將復(fù)制數(shù)據(jù)傳輸?shù)侥繕?biāo)108。

如果主要復(fù)制方法不能夠復(fù)制數(shù)據(jù),則流300轉(zhuǎn)到其中可以使用次要復(fù)制方法(例如,實(shí)現(xiàn)基于位圖的復(fù)制方法)發(fā)起數(shù)據(jù)的復(fù)制的操作306。當(dāng)數(shù)據(jù)復(fù)制完成時(shí),目標(biāo)108可以將第二時(shí)間標(biāo)識(shí)符(例如,第二lsn)發(fā)送到源102以指示目標(biāo)現(xiàn)在已經(jīng)復(fù)制到的lsn。

移動(dòng)到操作308,可以從目標(biāo)接收第二時(shí)間標(biāo)識(shí)符(例如,lsn)。從那里,可以確定(在操作310處)是否可以使用主要復(fù)制方法或者次要復(fù)制方法(操作310)處理第二請(qǐng)求。適當(dāng)?shù)膹?fù)制方法可以然后被用于使得目標(biāo)108能夠復(fù)制數(shù)據(jù)。

圖3b圖示了用于使用主要基于日志的復(fù)制方法和次要位圖恢復(fù)方法的復(fù)制處理的操作流312。在示例中,可以通過(guò)源設(shè)備(諸如源102)執(zhí)行操作流312。流312在操作314處開(kāi)始,其中可以從目標(biāo)(例如,目標(biāo)108)接收l(shuí)sn。lsn可以被包括在數(shù)據(jù)復(fù)制請(qǐng)求中。

流312轉(zhuǎn)到?jīng)Q定316,其中確定lsn的復(fù)制是否能夠使用基于日志的復(fù)制方法,或者確定是否需要實(shí)現(xiàn)基于位圖的處理以復(fù)制數(shù)據(jù)。例如,源可以通過(guò)評(píng)價(jià)lsn確定請(qǐng)求是否可以由基于日志的復(fù)制滿足。如果使用日志文件復(fù)制是可能的,則至少一個(gè)日志文件被發(fā)送(操作318)以實(shí)現(xiàn)基于日志的復(fù)制。如果lsn指示復(fù)制不能夠使用日志文件被執(zhí)行,則基于位圖的處理可以被用于復(fù)制數(shù)據(jù)(操作320)。

一旦已經(jīng)使用基于位圖的處理完成復(fù)制(例如,恢復(fù)位圖已經(jīng)被發(fā)送到目標(biāo)并且由目標(biāo)消耗),則可以從指示目標(biāo)已經(jīng)復(fù)制源的點(diǎn)的目標(biāo)接收第二lsn(操作322)。第二lsn可以被接收作為第二復(fù)制請(qǐng)求的一部分。流312可以轉(zhuǎn)到?jīng)Q定324,其中確定目標(biāo)是否參與位圖處理例程(操作324)。例如,源可以確定該目標(biāo)的最后的復(fù)制是否是基于位圖的復(fù)制。如果目標(biāo)參與位圖處理例程,則確定針對(duì)該目標(biāo)的累積位圖是否為空(決定326)。如果累積位圖不為空,則累積位圖被傳播到恢復(fù)位圖(如上文所描述的)并且恢復(fù)位圖被發(fā)送到用于復(fù)制的目標(biāo)108(操作328)。

在其中累積位圖126被確定為空的情況下(例如,在決定326處)或者當(dāng)確定目標(biāo)未參與位圖處理例程(例如,在決定324處)時(shí),確定第二lsn是否是從日志數(shù)據(jù)可復(fù)制的(決定330)。如果第二lsn是使用至少一個(gè)日志文件可復(fù)制的,流312轉(zhuǎn)到操作322,其中(一個(gè)或多個(gè))文件被發(fā)送到目標(biāo)以通過(guò)主要基于日志的復(fù)制方法滿足復(fù)制請(qǐng)求。然而,在決定330處,如果第二lsn指示基于日志的復(fù)制是不可用的,則流312返回操作320,其中位圖處理被用于復(fù)制數(shù)據(jù)以傳輸?shù)侥繕?biāo)108。

由目標(biāo)發(fā)送的接收和評(píng)價(jià)lsn的過(guò)程可以繼續(xù)允許目標(biāo)維持與源同步或者在源與目標(biāo)之間失去同步的情況下恢復(fù)同步。

圖4是用于目標(biāo)設(shè)備(諸如圖1a的目標(biāo)108、116或116)上的數(shù)據(jù)復(fù)制的操作流400。當(dāng)日志序列號(hào)(lsn)被發(fā)送到源(例如,源102)時(shí),流400在操作402處開(kāi)始。源可以確定數(shù)據(jù)復(fù)制是否不能使用基于日志的復(fù)制方法被執(zhí)行。在其中基于日志的復(fù)制方法可以復(fù)制與lsn相關(guān)聯(lián)的數(shù)據(jù)的源的情況下,源可以將至少一個(gè)日志文件發(fā)送到目標(biāo)設(shè)備以用于復(fù)制處理。移動(dòng)到操作404,來(lái)自源的日志數(shù)據(jù)許可目標(biāo)執(zhí)行復(fù)制處理。

隨著時(shí)間的經(jīng)過(guò),目標(biāo)設(shè)備可以接收日志數(shù)據(jù)的許多傳輸以維持同步。然而,同步可能最終失去。轉(zhuǎn)到操作406,目標(biāo)可以檢測(cè)故障的發(fā)生。故障可以具有包括網(wǎng)絡(luò)連接或者硬件故障的任何類(lèi)型。如果故障持續(xù)足夠長(zhǎng)的時(shí)間段,則目標(biāo)將可能失去與源同步。

在目標(biāo)從故障恢復(fù)之后,另一lsn可以被發(fā)送(操作408)到源以便恢復(fù)復(fù)制同步。如果源不能完全恢復(fù)來(lái)自日志文件的數(shù)據(jù),則源可以經(jīng)由基于位圖的復(fù)制發(fā)起復(fù)制處理。源可以將位圖數(shù)據(jù)傳播到目標(biāo)特定分層位圖結(jié)構(gòu),其包括恢復(fù)位圖(諸如恢復(fù)位圖128)。一旦位圖數(shù)據(jù)被傳播通過(guò)目標(biāo)特定分層位圖結(jié)構(gòu),恢復(fù)位圖的數(shù)據(jù)就可以被接收(410)用于復(fù)制處理。

然后,可以消耗位圖數(shù)據(jù)(操作412)并且可以執(zhí)行復(fù)制處理。例如,目標(biāo)可以請(qǐng)求源向目標(biāo)復(fù)制由位圖數(shù)據(jù)所指示的源盤(pán)部分中的所有數(shù)據(jù)。在執(zhí)行復(fù)制處理之后,第三lsn(操作414)可以被發(fā)送到源。第三lsn可以被提供作為更新的復(fù)制請(qǐng)求的一部分。在示例中,第三lsn等于作為由位圖數(shù)據(jù)表示的最近lsn的在所接收到的位圖數(shù)據(jù)中所指示的lsn。數(shù)據(jù)的復(fù)制可以使用基于日志的復(fù)制或者基于位圖的復(fù)制之一繼續(xù)直到目標(biāo)與源同步。

圖5至圖7和相關(guān)聯(lián)的描述提供了在其中可以實(shí)踐本發(fā)明的示例的各種操作環(huán)境的討論。然而,關(guān)于圖5至圖7所圖示和所討論的設(shè)備和系統(tǒng)出于示例和說(shuō)明的目的并且對(duì)可以被用于實(shí)踐本文所描述的本發(fā)明的示例的大量的計(jì)算設(shè)備配置是非限制性的。

圖5是圖示可以實(shí)踐本發(fā)明的示例利用的計(jì)算設(shè)備502的物理部件(例如,如本文所描述的源機(jī)器102和目標(biāo)機(jī)器104)的框圖。下文所描述的計(jì)算設(shè)備部件可以適于上文所描述的計(jì)算設(shè)備。在基本配置中,計(jì)算設(shè)備502可以包括至少一個(gè)處理單元504和存儲(chǔ)器系統(tǒng)506。取決于計(jì)算設(shè)備的配置和類(lèi)型,系統(tǒng)存儲(chǔ)器506可以包括但不限于:易失性存儲(chǔ)(例如,隨機(jī)存取存儲(chǔ)器)、非易失性存儲(chǔ)(例如,只讀存儲(chǔ)器)、閃速存儲(chǔ)器或者這樣的存儲(chǔ)器的任何組合。系統(tǒng)存儲(chǔ)器506可以包括操作系統(tǒng)507和適于允許運(yùn)行軟件應(yīng)用520(諸如針對(duì)數(shù)據(jù)復(fù)制的應(yīng)用528、io管理器524和其他實(shí)用程序526)的一個(gè)或多個(gè)程序模塊508。例如,操作系統(tǒng)507可以適于控制計(jì)算設(shè)備502的操作。此外,本發(fā)明的示例可以結(jié)合圖形庫(kù)、其他操作系統(tǒng)或者任何其他應(yīng)用程序被實(shí)踐并且不限于任何特定應(yīng)用或者系統(tǒng)。通過(guò)虛線522內(nèi)的那些部件在圖5中圖示該基本配置。計(jì)算設(shè)備502可以具有附加的特征或功能性。例如,計(jì)算設(shè)備502還可以包括附加的(可移除和/或不可移除的)數(shù)據(jù)存儲(chǔ)設(shè)備(諸如例如磁盤(pán)、光盤(pán)或者磁帶)。通過(guò)可移除的存儲(chǔ)設(shè)備509和不可移除的存儲(chǔ)設(shè)備510在圖5中圖示這樣的附加存儲(chǔ)裝置。

如上文所陳述的,若干程序模塊和數(shù)據(jù)文件可以被存儲(chǔ)在系統(tǒng)存儲(chǔ)器506中。當(dāng)在處理單元504上執(zhí)行時(shí),程序模塊508(例如,應(yīng)用528、輸入/輸出(i/o)管理器524和其他實(shí)用程序526)可以執(zhí)行包括但不限于例如圖4中所圖示的操作流400的階段中的一個(gè)或多個(gè)的過(guò)程。根據(jù)本發(fā)明的示例可以使用的其他程序模塊可以包括電子郵件和聯(lián)系人應(yīng)用、字處理應(yīng)用、電子數(shù)據(jù)表應(yīng)用、數(shù)據(jù)庫(kù)應(yīng)用、幻燈片演示應(yīng)用、繪圖或者計(jì)算機(jī)輔助應(yīng)用等。

此外,本發(fā)明的示例可以被實(shí)踐在包括分離的電子元件的電路、包含邏輯門(mén)的封裝或者集成電子芯片、利用微處理器的電路中或者包含電子元件或微處理器的單個(gè)芯片上。例如,本發(fā)明的示例可以經(jīng)由片上系統(tǒng)(soc)被實(shí)踐,其中圖5中所圖示的每個(gè)或許多部件可以被集成到單個(gè)集成電路上。這樣的soc設(shè)備可以包括一個(gè)或多個(gè)處理單元、圖形單元、通信單元、系統(tǒng)虛擬化單元和全部被集成(或者“被燒制”)到芯片襯底上作為單個(gè)集成電路的各種應(yīng)用功能。當(dāng)經(jīng)由soc操作時(shí),本文所描述的功能可以經(jīng)由單個(gè)集成電路(芯片)上的計(jì)算設(shè)備502的其他部件集成的專用邏輯操作。本公開(kāi)的示例還可以使用能夠執(zhí)行邏輯操作(諸如例如and、or和not)的其他技術(shù)實(shí)踐,包括但不限于機(jī)械、光學(xué)、流體和量子技術(shù)。另外,本發(fā)明的示例可以被實(shí)踐在通用計(jì)算機(jī)內(nèi)或在任何其他電路或系統(tǒng)中。

計(jì)算設(shè)備502還可以具有(一個(gè)或多個(gè))輸入設(shè)備512,諸如鍵盤(pán)、鼠標(biāo)、筆、聲音輸入設(shè)備、觸摸輸入設(shè)備等。還可以包括(一個(gè)或多個(gè))輸出設(shè)備(諸如顯示器、揚(yáng)聲器、打印機(jī)等)。前述設(shè)備是示例并且可以使用其他示例。計(jì)算設(shè)備504可以包括允許與其他計(jì)算設(shè)備518通信的一個(gè)或多個(gè)通信連接516。適合的通信連接516的示例包括但不限于rf發(fā)射器、接收器和/或收發(fā)器電路;通用串行總線(usb)、并行端口和/或串行端口。

如本文所使用的術(shù)語(yǔ)計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)可以包括以用于信息(諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)或者程序模塊)的存儲(chǔ)的任何方法或者技術(shù)中實(shí)現(xiàn)的易失性和非易失性、可移除和不可移除的介質(zhì)。系統(tǒng)存儲(chǔ)器506、可移除的存儲(chǔ)設(shè)備509和不可移除的存儲(chǔ)設(shè)備510是全部計(jì)算機(jī)存儲(chǔ)介質(zhì)示例(即,存儲(chǔ)器存儲(chǔ)裝置)。計(jì)算機(jī)存儲(chǔ)介質(zhì)可以包括ram、rom、電可擦只讀存儲(chǔ)器(eeprom)、閃速存儲(chǔ)器或者其他存儲(chǔ)器技術(shù)、cd-rom、數(shù)字多用光盤(pán)(dvd)或者其他光學(xué)存儲(chǔ)、磁帶盒、磁帶、磁盤(pán)存儲(chǔ)或者其他磁性存儲(chǔ)設(shè)備或者可以用于存儲(chǔ)信息并且可以由計(jì)算設(shè)備502訪問(wèn)的任何其他制品。任何這樣的計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是計(jì)算設(shè)備502的一部分。計(jì)算機(jī)存儲(chǔ)介質(zhì)不包括載波或者其他傳播或者調(diào)制數(shù)據(jù)信號(hào)。

可以由計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或者經(jīng)調(diào)制的數(shù)據(jù)信號(hào)(諸如載波或者其他傳輸機(jī)制)中的其他數(shù)據(jù)實(shí)現(xiàn)通信介質(zhì),并且包括任何信息遞送介質(zhì)。術(shù)語(yǔ)“經(jīng)調(diào)制數(shù)據(jù)信號(hào)”可以描述具有以關(guān)于將信息編碼在信號(hào)中的這樣的方式設(shè)定或改變的一個(gè)或多個(gè)特性的信號(hào)。以示例而非限制的方式,通信介質(zhì)包括有線介質(zhì)(諸如有線網(wǎng)絡(luò)或直接有線連接)和無(wú)線介質(zhì)(諸如聲學(xué)、射頻(rf)、紅外和其他無(wú)線介質(zhì))。

圖6a和圖6b圖示了可以實(shí)踐本發(fā)明的示例利用的移動(dòng)計(jì)算設(shè)備600,例如,移動(dòng)電話、智能電話、平板個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)等。例如,移動(dòng)計(jì)算設(shè)備600可以被用于實(shí)現(xiàn)源102和目標(biāo)108。參考圖6a,圖示了用于實(shí)現(xiàn)示例的移動(dòng)計(jì)算設(shè)備600的一個(gè)示例。在基本配置中,移動(dòng)計(jì)算設(shè)備600是具有輸入元件和輸出元件二者的手持式計(jì)算機(jī)。移動(dòng)計(jì)算設(shè)備600通常包括顯示器605和一個(gè)或多個(gè)輸入按鈕610,其允許用戶將信息輸入到移動(dòng)計(jì)算設(shè)備600中。移動(dòng)計(jì)算設(shè)備600的顯示器605還可以用作輸入設(shè)備,例如,觸摸屏顯示器。如果被包括的話,可選側(cè)面輸入元件615允許進(jìn)一步的用戶輸入。側(cè)面輸入元件615可以是旋轉(zhuǎn)開(kāi)關(guān)、按鈕或者任何其他類(lèi)型的手動(dòng)輸入元件。在備選示例中,移動(dòng)計(jì)算設(shè)備600可以包含更多或更少的輸入元件。例如,在一些示例中,顯示器605可以不是觸摸屏。在又一備選示例中,移動(dòng)計(jì)算設(shè)備600是便攜式電話系統(tǒng)(諸如蜂窩電話)。移動(dòng)計(jì)算設(shè)備600還可以包括可選的小鍵盤(pán)635??蛇x的小鍵盤(pán)635可以是物理小鍵盤(pán)或觸摸屏顯示器上生成的“軟”小鍵盤(pán)。在各種示例中,輸出元件包括用于示出圖形用戶接口(gui)、視覺(jué)指示器620(例如,發(fā)光二極管)和/或音頻換能器625(例如,揚(yáng)聲器)的顯示器605。在一些示例中,移動(dòng)計(jì)算設(shè)備600包含用于給用戶提供觸覺(jué)反饋的振動(dòng)換能器。在又一示例中,移動(dòng)計(jì)算設(shè)備600包含輸入和/或輸出端口(諸如音頻輸入(例如,麥克風(fēng)插孔))、音頻輸出(例如,頭戴式耳機(jī)插孔)和用于將信號(hào)發(fā)送到外部設(shè)備或從外部設(shè)備接收信號(hào)的視頻輸出(例如,hdmi端口)。

圖6b是圖示移動(dòng)計(jì)算設(shè)備的一個(gè)示例的架構(gòu)的框圖。也即,移動(dòng)計(jì)算設(shè)備600可以包含用于實(shí)現(xiàn)一些示例的系統(tǒng)(即,架構(gòu))602。在一個(gè)示例中,系統(tǒng)602被實(shí)現(xiàn)為能夠運(yùn)行一個(gè)或多個(gè)應(yīng)用(例如,瀏覽器、電子郵件、日歷、聯(lián)系人管理器、消息客戶端、游戲和媒體客戶端/播放器)的“智能電話”。在一些示例中,系統(tǒng)602被集成為計(jì)算設(shè)備,諸如集成個(gè)人數(shù)字助理(pda)和無(wú)線電話。

一個(gè)或多個(gè)應(yīng)用程序666可以被加載到存儲(chǔ)器662中并且在操作系統(tǒng)664上運(yùn)行或與操作系統(tǒng)664相關(guān)聯(lián)。應(yīng)用程序的示例包括電話撥號(hào)器程序、電子郵件程序、個(gè)人信息管理(pim)程序、詞語(yǔ)處理程序、電子數(shù)據(jù)表程序、因特網(wǎng)瀏覽器程序、消息程序等。系統(tǒng)602還包括存儲(chǔ)器662內(nèi)的非易失性存儲(chǔ)區(qū)域668。非易失性存儲(chǔ)區(qū)域668可以用于存儲(chǔ)在系統(tǒng)602斷電的情況下不應(yīng)當(dāng)丟失的持久信息。應(yīng)用程序666可以使用和存儲(chǔ)非易失性存儲(chǔ)區(qū)域668中的信息(諸如電子郵件或由電子郵件應(yīng)用使用的其他消息等)。同步應(yīng)用(未示出)還駐留在系統(tǒng)602上并且被編程為與駐留在主機(jī)計(jì)算機(jī)上的對(duì)應(yīng)的同步應(yīng)用相互作用以保持存儲(chǔ)在非易失性存儲(chǔ)區(qū)域668中的信息與存儲(chǔ)在主機(jī)計(jì)算機(jī)處的對(duì)應(yīng)的信息同步。如應(yīng)當(dāng)理解,其他應(yīng)用可以被加載到存儲(chǔ)器662并且在移動(dòng)計(jì)算設(shè)備600上運(yùn)行,包括用于數(shù)據(jù)復(fù)制的應(yīng)用528、io管理器524和本文所描述的其他實(shí)用程序526。

系統(tǒng)602具有電源670,其可以被實(shí)現(xiàn)為一個(gè)或多個(gè)電池。電源670可能進(jìn)一步包括外部電源,諸如對(duì)電池補(bǔ)充或者再充電的ac適配器或加電對(duì)接支架。

系統(tǒng)602可以包括外圍設(shè)備端口678,其執(zhí)行促進(jìn)系統(tǒng)602與一個(gè)或多個(gè)外圍設(shè)備之間的連接的功能。在操作系統(tǒng)604的控制下,進(jìn)行到外圍設(shè)備端口672的傳輸和從外圍設(shè)備端口672的傳輸。換句話說(shuō),由外圍設(shè)備端口678接收的通信可以經(jīng)由操作系統(tǒng)664被傳播到應(yīng)用程序666,并且反之亦然。

系統(tǒng)602還可以包括無(wú)線電672,其執(zhí)行發(fā)射和接收射頻通信的功能。無(wú)線電672經(jīng)由通信載波或者服務(wù)提供商促進(jìn)系統(tǒng)602與“外部世界”之間的無(wú)線連接。在操作系統(tǒng)664的控制下進(jìn)行到無(wú)線電672的傳輸和從無(wú)線電672的傳輸。換句話說(shuō),由無(wú)線電672接收的通信可以經(jīng)由操作系統(tǒng)664被傳播到應(yīng)用程序666,并且反之亦然。

視覺(jué)指示器620可以用于提供視覺(jué)通知,和/或音頻接口674可以被用于經(jīng)由音頻換能器625產(chǎn)生可聽(tīng)通知。在所圖示的示例中,視覺(jué)指示器620是發(fā)光二極管(led),并且音頻換能器625是揚(yáng)聲器。這些設(shè)備可以直接耦合到電源670,使得當(dāng)被激活時(shí),其即使處理器660和其他部件可能關(guān)閉以用于保留電池功率,其也保持由通知機(jī)制所指示的持續(xù)時(shí)間。led可以被編程以保持無(wú)線地直到用戶采取動(dòng)作指示設(shè)備的加電狀態(tài)。音頻接口674用于將可聽(tīng)信號(hào)提供給用戶和從用戶接收可聽(tīng)信號(hào)。例如,除了被耦合到音頻換能器625之外,音頻接口674還可以被耦合到麥克風(fēng)以接收可聽(tīng)輸入(諸如促進(jìn)電話交談)。根據(jù)本發(fā)明的示例,麥克風(fēng)還可以用作音頻傳感器以促進(jìn)通知的控制,如下文將描述的。系統(tǒng)602可以進(jìn)一步包括視頻接口676,其使得板上照相機(jī)630的操作能夠記錄靜止圖像、視頻流等。

實(shí)現(xiàn)系統(tǒng)602的移動(dòng)計(jì)算設(shè)備600可以具有附加的特征或功能。例如,移動(dòng)計(jì)算設(shè)備600還可以包括附加的(可移除和/或不可移除的)數(shù)據(jù)存儲(chǔ)設(shè)備(諸如磁盤(pán)、光盤(pán)或者磁帶)。通過(guò)非易失性存儲(chǔ)區(qū)域668在圖6b中圖示這樣的附加存儲(chǔ)裝置。

由移動(dòng)計(jì)算設(shè)備600生成或采集并且經(jīng)由系統(tǒng)602存儲(chǔ)的數(shù)據(jù)/信息本地存儲(chǔ)在移動(dòng)計(jì)算設(shè)備600上,如上文所描述的,或者數(shù)據(jù)可以被存儲(chǔ)在經(jīng)由無(wú)線電672或者經(jīng)由移動(dòng)計(jì)算設(shè)備600與關(guān)聯(lián)于移動(dòng)計(jì)算設(shè)備600(例如,分布式計(jì)算網(wǎng)絡(luò)(諸如因特網(wǎng))中的服務(wù)器計(jì)算機(jī))的分離的計(jì)算設(shè)備之間的有線連接可以由設(shè)備訪問(wèn)的任何數(shù)目的存儲(chǔ)介質(zhì)。如應(yīng)當(dāng)理解,可以經(jīng)由移動(dòng)計(jì)算設(shè)備600或者無(wú)線電672或者經(jīng)由分布式計(jì)算網(wǎng)絡(luò)訪問(wèn)這樣的數(shù)據(jù)/信息。類(lèi)似地,根據(jù)眾所周知的數(shù)據(jù)/信息傳送和存儲(chǔ)裝置(包括電子郵件和合作數(shù)據(jù)/信息共享系統(tǒng)),這樣的數(shù)據(jù)/信息可以在計(jì)算設(shè)備之間容易地傳送以用于存儲(chǔ)和使用。

圖7圖示了如上文所描述的用于提供可靠地訪問(wèn)存儲(chǔ)系統(tǒng)上的目標(biāo)數(shù)據(jù)并且處理到一個(gè)或多個(gè)客戶端設(shè)備的通信失敗的應(yīng)用的系統(tǒng)的架構(gòu)的一個(gè)示例。與應(yīng)用528、io管理器524、其他實(shí)用程序526和存儲(chǔ)(例如,存儲(chǔ)104和存儲(chǔ)110)相關(guān)聯(lián)訪問(wèn)、相互作用或者編輯的目標(biāo)數(shù)據(jù)可以被存儲(chǔ)在不同的通信信道或者其他存儲(chǔ)類(lèi)型中。例如,可以使用目錄服務(wù)722、web門(mén)戶724、郵箱服務(wù)726、即時(shí)消息存儲(chǔ)728或社交聯(lián)網(wǎng)站點(diǎn)730存儲(chǔ)各種文檔。應(yīng)用528、io管理器524、其他實(shí)用程序526和存儲(chǔ)系統(tǒng)可以使用用于使能數(shù)據(jù)利用的這些類(lèi)型的系統(tǒng)等中的任一個(gè),如本文所描述的。服務(wù)器720可以提供用于由通過(guò)網(wǎng)絡(luò)715在通用計(jì)算設(shè)備502和(一個(gè)或多個(gè))移動(dòng)設(shè)備600上操作的客戶端使用的存儲(chǔ)系統(tǒng)。通過(guò)示例,網(wǎng)絡(luò)715可以包括因特網(wǎng)或者任何其他類(lèi)型的局域網(wǎng)或者廣域網(wǎng),并且客戶端節(jié)點(diǎn)可以被實(shí)現(xiàn)為實(shí)現(xiàn)在個(gè)人計(jì)算機(jī)中的計(jì)算設(shè)備502、平板計(jì)算設(shè)備和/或移動(dòng)計(jì)算設(shè)備600(例如,智能電話)??梢詮拇鎯?chǔ)庫(kù)716獲得內(nèi)容客戶端計(jì)算設(shè)備502或600的這些示例中的任一個(gè)示例。

本公開(kāi)的示例描述在源設(shè)備與目標(biāo)設(shè)備之間失去同步時(shí)實(shí)現(xiàn)基于位圖的復(fù)制。根據(jù)一個(gè)示例,可以從目標(biāo)設(shè)備接收時(shí)間標(biāo)識(shí)符。如果源設(shè)備確定主要復(fù)制方法不能夠用于復(fù)制與時(shí)間標(biāo)識(shí)符相關(guān)聯(lián)的數(shù)據(jù),則可以發(fā)起次要復(fù)制方法。次要復(fù)制方法可以使用標(biāo)識(shí)自從先前事件以來(lái)在源設(shè)備上已經(jīng)改變的數(shù)據(jù)塊的恢復(fù)位圖。

在一個(gè)示例中,開(kāi)始的lsn和結(jié)束的lsn可以在被標(biāo)記在恢復(fù)位圖中以跟蹤自從先前事件以來(lái)在源設(shè)備上已經(jīng)改變的數(shù)據(jù)塊的復(fù)制。恢復(fù)位圖的創(chuàng)建可以包括貫穿為了目標(biāo)設(shè)備而維持的分層位圖結(jié)構(gòu)而傳播位圖數(shù)據(jù)。該恢復(fù)位圖可以包括由分層位圖結(jié)構(gòu)所指示的數(shù)據(jù)的累積。除了恢復(fù)位圖之外,分層位圖結(jié)構(gòu)可以包括對(duì)應(yīng)于當(dāng)前虛擬日志文件中的數(shù)據(jù)記錄的檢查點(diǎn)位圖和對(duì)應(yīng)于多個(gè)日志文件中的數(shù)據(jù)記錄的累積位圖。在由檢查點(diǎn)位圖所表示的當(dāng)前日志文件充滿時(shí),數(shù)據(jù)可以從檢查點(diǎn)位圖被傳播到累積位圖。在確定主要復(fù)制方法不能用于復(fù)制與時(shí)間標(biāo)識(shí)符相關(guān)聯(lián)的數(shù)據(jù)時(shí),數(shù)據(jù)可以從累積位圖被傳播到恢復(fù)位圖。次要復(fù)制方法的發(fā)起可以進(jìn)一步包括將恢復(fù)位圖發(fā)送到目標(biāo)設(shè)備。

在示例中,主要復(fù)制方法是基于日志的復(fù)制方法,時(shí)間標(biāo)識(shí)符是lsn,并且先前事件是通過(guò)由lsn所指示的事務(wù)、數(shù)據(jù)向目標(biāo)設(shè)備的先前復(fù)制。在另一示例中,恢復(fù)位圖可以標(biāo)識(shí)對(duì)應(yīng)于由恢復(fù)位圖表示的最近數(shù)據(jù)改變的lsn。也即,源設(shè)備可以從目標(biāo)設(shè)備接收第二lsn。基于第二lsn的接收,源設(shè)備可以確定針對(duì)目標(biāo)設(shè)備的累積位圖是否為空。當(dāng)針對(duì)目標(biāo)設(shè)備的累積位圖為空時(shí),源設(shè)備可以使用主要復(fù)制方法(諸如基于日志的復(fù)制)將復(fù)制數(shù)據(jù)提供到目標(biāo)設(shè)備。當(dāng)針對(duì)目標(biāo)的累積位圖不為空時(shí),數(shù)據(jù)可以從累積位圖被傳播到恢復(fù)位圖,以從恢復(fù)位圖被發(fā)送到目標(biāo)設(shè)備。

除了其中源設(shè)備管理針對(duì)單個(gè)目標(biāo)設(shè)備的復(fù)制數(shù)據(jù)的示例之外,源設(shè)備可以管理對(duì)多個(gè)目標(biāo)設(shè)備的數(shù)據(jù)的復(fù)制。該源設(shè)備可以創(chuàng)建和維持針對(duì)多個(gè)目標(biāo)設(shè)備的每個(gè)目標(biāo)設(shè)備的分離的恢復(fù)位圖。

在其中在源設(shè)備上發(fā)生數(shù)據(jù)改變的示例中,當(dāng)在源設(shè)備上進(jìn)行新更新時(shí),可以設(shè)定恢復(fù)位圖中的新的比特。作為示例,新的比特可以等于在其中已經(jīng)發(fā)生改變的源設(shè)備的存儲(chǔ)的范圍。

本公開(kāi)的進(jìn)一步的示例描述從目標(biāo)設(shè)備接收l(shuí)sn并且確定基于日志的復(fù)制方法是否能夠復(fù)制與lsn相關(guān)聯(lián)的數(shù)據(jù)。如果基于日志的復(fù)制方法不能夠復(fù)制與lsn相關(guān)聯(lián)的數(shù)據(jù),則源設(shè)備可以使用基于位圖的復(fù)制方法發(fā)起數(shù)據(jù)的復(fù)制。基于位圖的復(fù)制方法使用標(biāo)識(shí)自先前事件以來(lái)在源設(shè)備上已經(jīng)發(fā)生的數(shù)據(jù)塊的恢復(fù)位圖?;谖粓D的恢復(fù)方法的發(fā)起可以包括通過(guò)包括恢復(fù)位圖的目標(biāo)特定位圖結(jié)構(gòu)來(lái)傳播位圖數(shù)據(jù)。目標(biāo)特定位圖結(jié)構(gòu)還可以包括對(duì)應(yīng)于當(dāng)前虛擬日志文件中的數(shù)據(jù)記錄的檢查點(diǎn)位圖和對(duì)應(yīng)于多個(gè)日志文件中的數(shù)據(jù)記錄的累積位圖。數(shù)據(jù)的比特從恢復(fù)位圖被傳輸?shù)侥繕?biāo)設(shè)備以用于復(fù)制,其中每個(gè)數(shù)據(jù)比特等于來(lái)自在其中自從對(duì)目標(biāo)設(shè)備的先前復(fù)制以來(lái)已經(jīng)發(fā)生改變的源設(shè)備的磁盤(pán)數(shù)據(jù)的范圍。一旦與lsn相關(guān)聯(lián)的數(shù)據(jù)可以由目標(biāo)設(shè)備處理,目標(biāo)設(shè)備就可以將第二lsn發(fā)送給源設(shè)備?;诘诙sn的接收,源設(shè)備可以確定針對(duì)目標(biāo)設(shè)備的累積位圖是否為空。當(dāng)針對(duì)目標(biāo)設(shè)備的累積位圖為空時(shí),源設(shè)備可以使用基于位圖的復(fù)制方法將復(fù)制數(shù)據(jù)提供到目標(biāo)設(shè)備。當(dāng)針對(duì)目標(biāo)的累積位圖不為空時(shí),數(shù)據(jù)可以從累積位圖被傳播到恢復(fù)位圖并且恢復(fù)位圖的數(shù)據(jù)可以被發(fā)送到目標(biāo)設(shè)備。

貫穿本說(shuō)明書(shū)對(duì)“一個(gè)示例”或“示例”已經(jīng)做出的引用意指所描述的特定特征、結(jié)構(gòu)或特性被包括在至少一個(gè)示例中。因此,這樣的短語(yǔ)的使用可以指代超過(guò)僅一個(gè)示例。此外,所描述的特征、結(jié)構(gòu)或特性可以以任何適合的方式被組合在一個(gè)或多個(gè)示例中。

然而,相關(guān)領(lǐng)域的技術(shù)人員可以認(rèn)識(shí)到,可以在沒(méi)有特定細(xì)節(jié)中的一個(gè)或多個(gè)的情況下或者在其他方法、資源、材料等的情況下實(shí)踐這些示例。在其他實(shí)例中,未詳細(xì)示出或者描述眾所周知的結(jié)構(gòu)、資源或操作以僅觀察示例的難以理解的方面。

雖然已經(jīng)圖示和描述了示例性示例和應(yīng)用,但是應(yīng)理解到,示例不限于本文所描述的精確配置和資源。在不脫離所要求變化的示例的范圍的情況下,可以在本文所公開(kāi)的方法和系統(tǒng)的布置、操作和細(xì)節(jié)中做出對(duì)本領(lǐng)域的技術(shù)人員明顯的各種修改、變化和變型。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
沁水县| 云龙县| 岗巴县| 绥芬河市| 太仓市| 南召县| 门头沟区| 石屏县| 宁城县| 南和县| 建湖县| 南漳县| 峡江县| 仙桃市| 太原市| 太白县| 霍邱县| 朝阳区| 仁怀市| 惠州市| 旬邑县| 东源县| 澄城县| 庄浪县| 偃师市| 筠连县| 通道| 泽库县| 辽中县| 上犹县| 蛟河市| 大化| 太谷县| 成都市| 怀仁县| 拜城县| 二连浩特市| 且末县| 嵩明县| 长兴县| 扬州市|