確定用于作業(yè)復(fù)制在存儲(chǔ)裝置上存儲(chǔ)的對象的時(shí)間表的制作方法
【專利摘要】一種技術(shù)包括排隊(duì)復(fù)制在存儲(chǔ)裝置上存儲(chǔ)的對象數(shù)據(jù)的作業(yè)。對于至少一個(gè)所述作業(yè),所述技術(shù)包括至少部分地基于完成所述作業(yè)的失敗嘗試的數(shù)量選擇性地調(diào)整所述作業(yè)何時(shí)出現(xiàn)在時(shí)間表中。
【專利說明】確定用于作業(yè)復(fù)制在存儲(chǔ)裝置上存儲(chǔ)的對象的時(shí)間表
【背景技術(shù)】
[0001] 典型的計(jì)算機(jī)網(wǎng)絡(luò)可以具有備份和恢復(fù)系統(tǒng),以用于在數(shù)據(jù)變成被損壞、被蓋寫、 受到病毒攻擊等的情形下把網(wǎng)絡(luò)上的數(shù)據(jù)(例如,被包含在一個(gè)或多個(gè)文件中的數(shù)據(jù))復(fù)原 到先前狀態(tài)的目的。備份和恢復(fù)系統(tǒng)典型地包括大容量存儲(chǔ)設(shè)備,諸如,磁帶驅(qū)動(dòng)器和/或 硬盤驅(qū)動(dòng)器;以及所述系統(tǒng)可以包括物理和/或虛擬的可移除存儲(chǔ)設(shè)備。
[0002] 例如,備份和恢復(fù)系統(tǒng)可以在磁帶上存儲(chǔ)備份數(shù)據(jù),并且在把備份數(shù)據(jù)轉(zhuǎn)移到給 定磁帶之后,磁帶可以被從其帶驅(qū)動(dòng)器中移除,并且被存儲(chǔ)在安全位置中,諸如,在防火保 險(xiǎn)箱中??商娲?,備份和恢復(fù)系統(tǒng)可以是基于虛擬帶庫的系統(tǒng),所述系統(tǒng)模仿并取代物理 磁帶驅(qū)動(dòng)器系統(tǒng)。以這種方式,在基于虛擬帶庫的系統(tǒng)的情形下,虛擬盒式磁帶(而不是磁 帶)存儲(chǔ)所述備份數(shù)據(jù)。
【專利附圖】
【附圖說明】
[0003] 圖1是依據(jù)示例實(shí)現(xiàn)方式的包括備份和恢復(fù)系統(tǒng)的計(jì)算機(jī)網(wǎng)絡(luò)的示意圖。
[0004] 圖2是依據(jù)示例實(shí)現(xiàn)方式的由圖1的備份和恢復(fù)系統(tǒng)使用的對象存儲(chǔ)的圖示說 明。
[0005] 圖3是依據(jù)示例實(shí)現(xiàn)方式的在備份會(huì)話期間創(chuàng)建的對象存儲(chǔ)中的對象的圖示說 明。
[0006] 圖4是依據(jù)示例實(shí)現(xiàn)方式的描繪了復(fù)制備份數(shù)據(jù)的技術(shù)的流程圖。
[0007] 圖5是依據(jù)示例實(shí)現(xiàn)方式的描繪了訪問在圖1的備份和恢復(fù)系統(tǒng)上存儲(chǔ)的基于對 象的備份數(shù)據(jù)并且控制復(fù)制備份數(shù)據(jù)的操作的至少一個(gè)方面的技術(shù)的流程圖。
[0008] 圖6是依據(jù)示例實(shí)現(xiàn)方式的描繪了由圖1的備份應(yīng)用使用來調(diào)整由備份和恢復(fù)系 統(tǒng)對數(shù)據(jù)的復(fù)制的技術(shù)的流程圖。
[0009] 圖7是依據(jù)示例實(shí)現(xiàn)方式的描繪了由圖1的備份應(yīng)用使用以搜索和/或分組在備 份和恢復(fù)系統(tǒng)上存儲(chǔ)的數(shù)據(jù)對象的技術(shù)的流程圖。
[0010] 圖8是依據(jù)示例實(shí)現(xiàn)方式的描繪了調(diào)度復(fù)制作業(yè)的技術(shù)的流程圖。
[0011] 圖9是依據(jù)示例實(shí)現(xiàn)方式的描繪了設(shè)置復(fù)制作業(yè)以其被嘗試的速率的技術(shù)的流 程圖。
[0012] 圖10是依據(jù)示例實(shí)現(xiàn)方式的描繪了把作業(yè)預(yù)期地標(biāo)記為失敗的技術(shù)的流程圖。
[0013] 圖11是依據(jù)示例實(shí)現(xiàn)方式的描繪了調(diào)整狀態(tài)請求查詢的計(jì)時(shí)的技術(shù)的流程圖。
[0014] 圖12是依據(jù)示例實(shí)現(xiàn)方式的描繪了調(diào)整用于客戶端重新提交狀態(tài)請求查詢的時(shí) 間的技術(shù)的流程圖。
【具體實(shí)施方式】
[0015] 圖1描繪了包括備份和恢復(fù)系統(tǒng)4以及所述系統(tǒng)4的一個(gè)或多個(gè)客戶端90的示 例計(jì)算機(jī)網(wǎng)絡(luò)5,所述客戶端90生成在所述系統(tǒng)4上存儲(chǔ)的備份數(shù)據(jù)(在備份會(huì)話期間)。 備份數(shù)據(jù)可以包括眾多類型的數(shù)據(jù),諸如,應(yīng)用導(dǎo)出的數(shù)據(jù)、系統(tǒng)狀態(tài)信息、應(yīng)用、文件、配 置數(shù)據(jù)等。通常,給定客戶端90可以在恢復(fù)會(huì)話期間訪問備份和恢復(fù)系統(tǒng)4,以把所選擇的 數(shù)據(jù)復(fù)原到特定先前狀態(tài)以及可能地把客戶端復(fù)原到特定先前狀態(tài)。作為非限制性示例, (一個(gè)或多個(gè))客戶端90通??梢允俏丛趫D1中圖示的網(wǎng)絡(luò)服務(wù)器。
[0016] 依據(jù)不例實(shí)現(xiàn)方式,備份和恢復(fù)系統(tǒng)4包括存儲(chǔ)用于(一個(gè)或多個(gè))客戶端90的備 份數(shù)據(jù)的主存儲(chǔ)裝置20,以及存儲(chǔ)這個(gè)備份數(shù)據(jù)的副本的輔助存儲(chǔ)裝置100。以這種方式, 出于這種添加備份安全的附加層的目的,主存儲(chǔ)裝置20可以偶爾復(fù)制在主存儲(chǔ)裝置20上 存儲(chǔ)的備份數(shù)據(jù),以產(chǎn)生由輔助存儲(chǔ)裝置100存儲(chǔ)的對應(yīng)復(fù)制的備份數(shù)據(jù)。
[0017] 依賴特定的實(shí)現(xiàn)方式,主存儲(chǔ)裝置20和輔助存儲(chǔ)裝置100可以位于相同的設(shè)施, 并且共享本地連接(例如,局域網(wǎng)(LAN)連接),或可以被布置在不同的位置并且被(例如,經(jīng) 由廣域網(wǎng)(WAN)連接)遠(yuǎn)程地連接。在圖1中所描繪的示例中,主存儲(chǔ)裝置20使用通信鏈 路88與輔助存儲(chǔ)裝置100通信。通信鏈路88表示一種或多種類型的網(wǎng)絡(luò)結(jié)構(gòu)(S卩,WAN連 接、LAN連接無線連接、互聯(lián)網(wǎng)連接等)。
[0018] (一個(gè)或多個(gè))客戶端90使用通信鏈路96(諸如,一個(gè)或多個(gè)總線或其它快速互連) 與主存儲(chǔ)裝置20通信。通信鏈路96表示一種或多種類型的網(wǎng)絡(luò)結(jié)構(gòu)(S卩,WAN連接、LAN連 接無線連接、互聯(lián)網(wǎng)連接等)。通常,(一個(gè)或多個(gè))客戶端90可以使用一個(gè)或多個(gè)協(xié)議(諸 如,串行附連小型計(jì)算機(jī)系統(tǒng)接口(SCSI)總線協(xié)議、并行SCSI協(xié)議、通用串行總線(USB)協(xié) 議、光纖通道協(xié)議、以太網(wǎng)協(xié)議等)與主存儲(chǔ)裝置20通信。
[0019] 依賴特定實(shí)現(xiàn)方式,通信鏈路96可以與相對高的帶寬(例如,LAN連接)、相對低的 帶寬(例如,WAN連接)或中間帶寬相關(guān)聯(lián)。此外,依賴于特定實(shí)現(xiàn)方式,給定客戶端90可以 位于主存儲(chǔ)裝置20的相同設(shè)施處,或者可以位于與主存儲(chǔ)裝置20相比不同的位置處。一 個(gè)客戶端90相對于主存儲(chǔ)裝置20可以是本地的,另一個(gè)客戶端90可以被相對于主存儲(chǔ)裝 置遠(yuǎn)程地安置等。因此,許多變化被考慮到,其在所附權(quán)利要求的范圍內(nèi)。
[0020] 依據(jù)一些實(shí)現(xiàn)方式,主存儲(chǔ)裝置20、輔助存儲(chǔ)裝置100以及(一個(gè)或多個(gè))客戶端 90是"物理機(jī)器",或者由機(jī)器可執(zhí)行指令(S卩,"軟件")和硬件組成的實(shí)際機(jī)器。盡管主存 儲(chǔ)裝置20、輔助存儲(chǔ)裝置100以及(一個(gè)或多個(gè))客戶端90中的每一個(gè)在圖1中被描繪為 包含在框內(nèi),但特定物理機(jī)器可以是分布式機(jī)器,分布式機(jī)器具有提供分布式和并行處理 系統(tǒng)的多個(gè)節(jié)點(diǎn)。
[0021] 依據(jù)一些實(shí)現(xiàn)方式,物理機(jī)器可以位于一個(gè)機(jī)柜(或機(jī)架)內(nèi);或可替代地,物理機(jī) 器可以位于多個(gè)機(jī)柜(或機(jī)架)中。
[0022] 給定客戶端90可以包括硬件92,諸如,一個(gè)或多個(gè)中央處理單元(CPU)93,以及存 儲(chǔ)機(jī)器可執(zhí)行指令93、應(yīng)用數(shù)據(jù)、配置數(shù)據(jù)等的存儲(chǔ)器94。通常,存儲(chǔ)器94是非臨時(shí)性存 儲(chǔ)器,其可以包括半導(dǎo)體存儲(chǔ)設(shè)備、磁性存儲(chǔ)設(shè)備、光學(xué)存儲(chǔ)設(shè)備等??蛻舳?0可以包括各 種其它硬件部件,諸如,下列各項(xiàng)中的一個(gè)或多個(gè):大容量存儲(chǔ)驅(qū)動(dòng)器;采用通信鏈路96通 信的網(wǎng)絡(luò)接口卡;顯示器;輸入設(shè)備(諸如,鼠標(biāo)和鍵盤等)。
[0023] 給定的客戶端90可以包括機(jī)器可執(zhí)行指令91,當(dāng)其由客戶端90的(一個(gè)或多個(gè)) CPU 93執(zhí)行時(shí),形成備份應(yīng)用97。通常,所述備份應(yīng)用97執(zhí)行關(guān)于備份和復(fù)原用于客戶端 90的數(shù)據(jù)的各種功能。作為示例的非窮舉列表,由備份應(yīng)用97執(zhí)行的所述功能可以包括下 列各項(xiàng)中的一個(gè)或多個(gè):生成備份數(shù)據(jù);把備份數(shù)據(jù)傳送到主存儲(chǔ)裝置20 ;訪問主存儲(chǔ)裝 置20上的備份數(shù)據(jù);搜索和組織主存儲(chǔ)裝置20上備份數(shù)據(jù)的存儲(chǔ);讀取、寫入和修改所述 備份數(shù)據(jù)的屬性;監(jiān)控和控制至少部分地由主存儲(chǔ)裝置20執(zhí)行以把備份數(shù)據(jù)復(fù)制到輔助 存儲(chǔ)裝置100上的復(fù)制操作的一個(gè)或多個(gè)方面;執(zhí)行給定復(fù)制操作的一個(gè)或多個(gè)功能;在 恢復(fù)會(huì)話期間復(fù)原客戶端20上的數(shù)據(jù)或系統(tǒng)狀態(tài)等。
[0024] 依據(jù)在此公開的示例性實(shí)現(xiàn)方式,客戶端90可以包括一組機(jī)器可執(zhí)行指令,當(dāng)其 由客戶端90的(一個(gè)或多個(gè))CPU 93執(zhí)行時(shí),形成應(yīng)用編程接口(API) 98以用于訪問備份 和恢復(fù)系統(tǒng)4。通常,API 98由備份應(yīng)用97用來與主存儲(chǔ)裝置20通信,以用于執(zhí)行應(yīng)用97 的以上所述的功能中的一個(gè)的目的。
[0025] 依據(jù)實(shí)現(xiàn)方式,所述客戶端90可以包括形成用于備份應(yīng)用97的適配器的一組機(jī) 器可執(zhí)行指令,所述適配器把由備份應(yīng)用97發(fā)出的命令和請求轉(zhuǎn)變成對應(yīng)的API命令/請 求,并且反之亦然。
[0026] 給定客戶端90可以包括其它各種的其它組機(jī)器可執(zhí)行指令,當(dāng)其由客戶端90的 (一個(gè)或多個(gè))CPU 93執(zhí)行時(shí)執(zhí)行其它功能。作為示例,給定客戶端90可以包含機(jī)器可執(zhí)行 指令,以用于形成操作系統(tǒng);虛擬機(jī)管理程序;控制備份/復(fù)原操作的圖形用戶接口(GUI); 設(shè)備驅(qū)動(dòng)器等的目的。因此,許多變化被考慮到,其在所附權(quán)利要求的范圍內(nèi)。
[0027] 作為物理機(jī)器,主存儲(chǔ)裝置20還包含硬件60和機(jī)器可執(zhí)行指令68。例如,主存 儲(chǔ)裝置20的硬件60可以包括一個(gè)或多個(gè)CPU 62 ;存儲(chǔ)機(jī)器可執(zhí)行指令、應(yīng)用數(shù)據(jù)、配置數(shù) 據(jù)、備份相關(guān)數(shù)據(jù)等的非臨時(shí)性存儲(chǔ)器80 (由半導(dǎo)體存儲(chǔ)設(shè)備、磁性存儲(chǔ)設(shè)備、光學(xué)存儲(chǔ)設(shè) 備等形成的存儲(chǔ)器);以及存儲(chǔ)備份相關(guān)數(shù)據(jù)、應(yīng)用數(shù)據(jù)、配置數(shù)據(jù)等的一個(gè)或多個(gè)隨機(jī)訪 問驅(qū)動(dòng)器63 (光學(xué)驅(qū)動(dòng)器、固態(tài)驅(qū)動(dòng)器、磁性存儲(chǔ)驅(qū)動(dòng)器等);一個(gè)或多個(gè)順序訪問的大容量 存儲(chǔ)設(shè)備(例如,帶驅(qū)動(dòng)器);網(wǎng)絡(luò)接口卡等。
[0028] 又作為圖1中所描繪的,當(dāng)機(jī)器可執(zhí)行指令68由主存儲(chǔ)裝置20的一個(gè)或多個(gè)CPU 62執(zhí)行時(shí),形成用于所述裝置20的各種軟件實(shí)體,諸如,在此所描述的下述各項(xiàng)中的一個(gè) 或多個(gè):引擎70、資源管理器74、存儲(chǔ)管理器76、去重復(fù)引擎73和帶附連引擎75。
[0029] 與主存儲(chǔ)裝置20相似,輔助存儲(chǔ)裝置100也是物理機(jī)器,其包含硬件(諸如,存儲(chǔ) 器120);-個(gè)或多個(gè)CPU ;大容量存儲(chǔ)驅(qū)動(dòng)器;網(wǎng)絡(luò)接口卡等。此外,輔助存儲(chǔ)裝置100還 包含機(jī)器可執(zhí)行指令來形成各種應(yīng)用、設(shè)備驅(qū)動(dòng)器、操作系統(tǒng)、控制復(fù)制操作的部件等。
[0030] 依據(jù)在此公開的實(shí)現(xiàn)方式,備份和恢復(fù)系統(tǒng)4管理作為"對象"的備份數(shù)據(jù)(例如, 當(dāng)與依照基于文件的系統(tǒng)管理作為文件的備份數(shù)據(jù)相比較時(shí))。如可以由本領(lǐng)域的技術(shù)人 員認(rèn)識到的,"對象"是以性質(zhì)(諸如,身份、狀態(tài)和行為)為特征的實(shí)體;并且通常,所述對象 可以通過執(zhí)行機(jī)器可執(zhí)行指令來操控。特別地,在此公開的對象的性質(zhì)可以由備份應(yīng)用97 創(chuàng)建、修改、檢索以及一般訪問。依據(jù)一些實(shí)現(xiàn)方式,對象可以具有操作系統(tǒng)定義的最大尺 寸。
[0031] 在備份和恢復(fù)系統(tǒng)4中存儲(chǔ)的對象可以在數(shù)據(jù)容器或"對象存儲(chǔ)"中被組織。通 常,依據(jù)示例性實(shí)現(xiàn)方式,對象存儲(chǔ)具有非層次的或"平坦"的地址空間,使得在給定對象存 儲(chǔ)中存儲(chǔ)的對象不以目錄類型組織來布置。
[0032] 對于圖1中所描繪的示例,主存儲(chǔ)裝置20以一個(gè)或多個(gè)對象86的形式存儲(chǔ)備份 數(shù)據(jù),所述對象86被組織或布置成一個(gè)或多個(gè)對象存儲(chǔ)84。此外,對于在圖1中所描繪的 示例,對象86和對象存儲(chǔ)84被描繪為被存儲(chǔ)在存儲(chǔ)器80中,盡管底層數(shù)據(jù)可以被存儲(chǔ)在 主存儲(chǔ)裝置20的一個(gè)或多個(gè)大容量存儲(chǔ)驅(qū)動(dòng)器中。
[0033] 輔助存儲(chǔ)裝置100以一個(gè)或多個(gè)復(fù)制對象126的形式存儲(chǔ)復(fù)制的備份數(shù)據(jù),所述 復(fù)制對象126被組織或布置在一個(gè)或多個(gè)對象存儲(chǔ)124中。換言之,復(fù)制對象126從在主 存儲(chǔ)裝置20上存儲(chǔ)的對象86得出。此外,對于圖1中所描繪的示例,對象126和對象存儲(chǔ) 124被描繪為被存儲(chǔ)在存儲(chǔ)器120中,盡管底層數(shù)據(jù)可以被存儲(chǔ)在輔助存儲(chǔ)裝置100的一個(gè) 或多個(gè)大容量存儲(chǔ)驅(qū)動(dòng)器中。
[0034] 在給定的備份會(huì)話期間,給定客戶端90的備份應(yīng)用97通過通信鏈路96訪問主存 儲(chǔ)裝置20,以創(chuàng)建、修改(例如,增補(bǔ))或蓋寫一個(gè)或多個(gè)備份對象86,以用于存儲(chǔ)或更新主 存儲(chǔ)裝置20上的備份數(shù)據(jù)的目的。同樣地,在給定復(fù)原會(huì)話期間,給定客戶端90的備份應(yīng) 用97可以訪問主存儲(chǔ)裝置20來檢索一個(gè)或多個(gè)備份對象86。依據(jù)一些實(shí)現(xiàn)方式,主存儲(chǔ) 裝置20上的對象86可以被從在輔助存儲(chǔ)裝置100上存儲(chǔ)的對應(yīng)的復(fù)制對象126復(fù)原。
[0035] 出于從給定對象86讀取或?qū)懭虢o定對象86的目的,備份應(yīng)用97打開對象86并 且然后尋找所打開對象86的給定位置來讀取/寫入字節(jié)的集合。此外,因?yàn)榇鎯?chǔ)在對象86 中的數(shù)據(jù)可以被壓縮(如在此進(jìn)一步公開的),所以讀取/寫入數(shù)據(jù)可以包括在不首先解壓 縮(或再水化)的情形下讀取/寫入所述數(shù)據(jù);或可替代地,所述讀取/寫入可以涉及首先 再水化所述數(shù)據(jù)。
[0036] 通常,API 98把對象存儲(chǔ)84和對象86的呈現(xiàn)提供到備份應(yīng)用97,這允許備份應(yīng) 用97搜索對象86、修改對象86、創(chuàng)建對象86、刪除對象86、檢索關(guān)于某些對象86的信息、更 新關(guān)于某些對象86的信息等。結(jié)合圖1參考圖2,作為更具體的示例,API 98可以把給定 對象存儲(chǔ)84呈現(xiàn)給備份應(yīng)用97,所述給定對象存儲(chǔ)84包含N個(gè)對象86 (作為示例描繪的 對象86-1…86-N)。通常,對象86可以包含在一個(gè)或多個(gè)備份會(huì)話期間生成的數(shù)據(jù),諸如, 備份數(shù)據(jù)、特定客戶端狀態(tài)的圖像、頭部數(shù)據(jù)等。API 98進(jìn)一步向備份應(yīng)用97呈現(xiàn)對象元 數(shù)據(jù)150,所述備份應(yīng)用97可以訪問和/或修改所述元數(shù)據(jù)150。通常,元數(shù)據(jù)150與對象 86 -起被存儲(chǔ),并且描述相關(guān)聯(lián)對象86的各種性質(zhì),以及存儲(chǔ)與對象86相關(guān)的增值信息。
[0037] 作為示例,元數(shù)據(jù)150可以指示用于給定相關(guān)聯(lián)對象86的下列各項(xiàng)中的一個(gè)或多 個(gè):對象類型;時(shí)間/數(shù)據(jù)戳;與作業(yè)歷史相關(guān)的狀態(tài)信息以及對象86與作業(yè)歷史的關(guān)系; 用于相關(guān)聯(lián)對象86的標(biāo)識符;用于相關(guān)聯(lián)對象86的相關(guān)對象存儲(chǔ);關(guān)于等同于傳統(tǒng)帶的 盒式磁帶存儲(chǔ)器內(nèi)容的信息;密鑰等。作為示例,對象類型可以指增量或完全備份是否被用 于所述對象86 ;標(biāo)識創(chuàng)建對象86的備份應(yīng)用97 ;標(biāo)識與對象86相關(guān)聯(lián)的客戶端90 ;數(shù)據(jù) 類型(作為示例,頭部數(shù)據(jù)、原始備份數(shù)據(jù)、圖像數(shù)據(jù))等。
[0038] 對象86的訪問和控制經(jīng)由與主存儲(chǔ)裝置的引擎70、資源管理器74、存儲(chǔ)管理器 76、去重復(fù)引擎73和帶附連引擎75的交互而發(fā)生。依據(jù)一些示例性實(shí)現(xiàn)方式,引擎70用 作數(shù)據(jù)路徑和控制的通信鏈路88和96的外部服務(wù)端點(diǎn)。更具體地,依據(jù)一些實(shí)現(xiàn)方式,由 客戶端90發(fā)出的命令和請求由引擎70處理,并且反之亦然。作為非限制性示例,由引擎70 處理的命令包括如下命令:打開對象、關(guān)閉對象、向?qū)ο髮懭霐?shù)據(jù)、蓋寫對象、讀取對象、讀 取對象數(shù)據(jù)、刪除對象、修改/寫入關(guān)于對象的元數(shù)據(jù)相關(guān)信息、讀取關(guān)于對象的元數(shù)據(jù)信 息、設(shè)置優(yōu)選和配置參數(shù)等。請求例如可以包括狀態(tài)查詢請求(諸如像關(guān)于特定復(fù)制作業(yè)的 狀態(tài)的請求)。引擎70進(jìn)一步控制備份和恢復(fù)系統(tǒng)4是以低帶寬操作模式(以下所描述的) 操作還是以高帶寬操作模式(以下所描述的)操作,并且通??刂茝?fù)制操作以創(chuàng)建/修改輔 助存儲(chǔ)裝置100上的復(fù)制對象126。
[0039] 資源管理器74考慮到資源的約束(例如,可用的物理存儲(chǔ)器)管理對象86的鎖定 (即,防止一次一個(gè)以上的實(shí)體的修改)。通常,資源管理器74保持關(guān)于對象訪問和修改的 一致性,因?yàn)閷o定對象86的訪問可能由一個(gè)以上的實(shí)體并發(fā)地請求。
[0040] 主存儲(chǔ)裝置20的存儲(chǔ)管理器76負(fù)責(zé)檢索給定對象存儲(chǔ)84、控制可以創(chuàng)建和刪除 對象存儲(chǔ)84的實(shí)體,控制對對象存儲(chǔ)的訪問,控制對象存儲(chǔ)84如何被管理等。
[0041] 主存儲(chǔ)裝置20的去重復(fù)引擎73控制主存儲(chǔ)裝置20的哈希和分塊操作(以下所描 述的)以用于主存儲(chǔ)裝置的高帶寬操作模式(也是以下所描述的)。去重復(fù)引擎73還可以檢 查組塊是否已經(jīng)被存儲(chǔ),并且因此判定是否存儲(chǔ)數(shù)據(jù)或參考現(xiàn)有數(shù)據(jù)。去重復(fù)引擎73依據(jù) 示例性實(shí)現(xiàn)方式針對低和高帶寬模式二者執(zhí)行這個(gè)檢查。
[0042] 帶附連引擎75可以由客戶端90訪問以用于把一個(gè)或多個(gè)對象86的復(fù)制物理副 本存儲(chǔ)在物理帶上的目的,所述物理帶被插入到耦合到帶附連引擎75的物理帶驅(qū)動(dòng)器(在 圖1中未示出)中。
[0043] 結(jié)合圖1參考圖3,依據(jù)示例性實(shí)現(xiàn)方式,備份應(yīng)用97可以在示例性備份會(huì)話期間 創(chuàng)建和/或修改給定組的對象86。對于這個(gè)示例,對象在主存儲(chǔ)裝置20上的示例性對象存 儲(chǔ)84-1中被創(chuàng)建。對象86的創(chuàng)建/修改通常涉及與引擎70、資源管理器74和存儲(chǔ)管理器 76的交互。
[0044] 用于這個(gè)示例的對象86包括頭部對象86-1,其包含用于特定備份會(huì)話的頭部信 息。作為非限制性示例,頭部對象86-1可以包含如下信息,該信息標(biāo)識用于備份會(huì)話的其 它對象86、標(biāo)識備份會(huì)話、指示壓縮是否被使用、標(biāo)識用于數(shù)據(jù)對象的特定次序等。用于這 個(gè)示例的對象86進(jìn)一步包括各種數(shù)據(jù)對象(在圖3中被描繪的數(shù)據(jù)對象86-2…86-P),各 種數(shù)據(jù)對象對應(yīng)于備份會(huì)話的順序定序的數(shù)據(jù)片段,并且其可以(或可以不)被壓縮。對于 這個(gè)示例,對象86包括圖像對象86-P+1,其可以被用作恢復(fù)圖像,以用于把客戶端90復(fù)原 到給定狀態(tài)的目的。
[0045] 注意的是:備份應(yīng)用97可以隨機(jī)地訪問對象86。因此,不像在物理或虛擬順序訪 問設(shè)備(諸如,物理帶驅(qū)動(dòng)器或虛擬帶驅(qū)動(dòng)器)上所存儲(chǔ)的備份數(shù)據(jù),備份應(yīng)用97可以在對 象86期滿時(shí)選擇性地刪除與給定備份會(huì)話相關(guān)聯(lián)的數(shù)據(jù)對象86。此外,備份應(yīng)用97可以 修改給定對象86或把數(shù)據(jù)增補(bǔ)到對象86,而不管在相同備份會(huì)話中被創(chuàng)建/修改的其它數(shù) 據(jù)對象86的狀態(tài)。
[0046] 出于生成在輔助存儲(chǔ)裝置100上存儲(chǔ)的復(fù)制對象126的目的,備份和恢復(fù)系統(tǒng)4 使用數(shù)據(jù)復(fù)制操作(被稱為"去重復(fù)操作")。所述去重復(fù)操作通常減少了否則橫跨主存儲(chǔ)裝 置20和輔助存儲(chǔ)裝置100之間的通信鏈路88被傳送的數(shù)據(jù)量。當(dāng)通信鏈路88與相對低 的帶寬(諸如像,WAN連接)相關(guān)聯(lián)時(shí),這種減少可能特別有益。
[0047] 圖4 一般地描繪了依據(jù)一些實(shí)現(xiàn)方式的示例復(fù)制操作200,以用于復(fù)制在主存儲(chǔ) 裝置20上存儲(chǔ)的對象86從而產(chǎn)生對應(yīng)的復(fù)制對象126的目的,所述復(fù)制對象126被存儲(chǔ) 在輔助存儲(chǔ)裝置1〇〇上的對應(yīng)的對象存儲(chǔ)124中。結(jié)合圖1參考圖4,依據(jù)示例性實(shí)現(xiàn)方 式,復(fù)制操作200包括把源數(shù)據(jù)(S卩,源對象86的數(shù)據(jù))分割(塊204)成數(shù)據(jù)塊(被稱為"組 塊")。以這種方式,分割產(chǎn)生了定序順序的組塊,以作為目的復(fù)制對象126的一部分被存儲(chǔ) 在輔助存儲(chǔ)裝置1〇〇上。
[0048] 出于減少通過通信鏈路88傳送的數(shù)據(jù)量的目的,如果相同的組塊(S卩,具有匹配 或相同的字節(jié)式樣的組塊)已經(jīng)被存儲(chǔ)在輔助存儲(chǔ)裝置100上,則組塊不被橫跨通信鏈路 88傳送。替代地,對之前存儲(chǔ)的組塊的參考被存儲(chǔ)在其目的對象中的位置處,從而導(dǎo)致數(shù)據(jù) 壓縮。
[0049] 出于確定給定組塊是否已經(jīng)被存儲(chǔ)在輔助存儲(chǔ)裝置100上的目的,組塊的簽名首 先被傳送到輔助存儲(chǔ)裝置100。更具體地,依據(jù)示例性實(shí)現(xiàn)方式,加密功能可以被應(yīng)用于給 定的候選組塊,以用于確定(圖4的塊208)用于所述數(shù)據(jù)的對應(yīng)的唯一哈希的目的。所述 哈希然后被傳送到輔助存儲(chǔ)裝置1〇〇 (依照塊212)。輔助存儲(chǔ)裝置100把所接收的哈希與 用于其存儲(chǔ)的組塊的哈希相比較,以確定候選組塊的副本是否被存儲(chǔ)在裝置1〇〇上,并且 向主存儲(chǔ)裝置20通知所述確定。
[0050] 如果匹配發(fā)生(判定塊216),則主存儲(chǔ)裝置20不把候選組塊傳送到輔助存儲(chǔ)裝置 100。替代地,主存儲(chǔ)裝置20傳送對已經(jīng)被存儲(chǔ)的組塊的對應(yīng)參考,以便在其目的對象中 的位置處被使用(依照塊220)。否則,如果匹配不發(fā)生(依照判定塊216),則主存儲(chǔ)裝置20 橫跨通信鏈路88把候選組塊傳送到輔助存儲(chǔ)裝置100 (依照塊224)。因此,輔助存儲(chǔ)裝置 100在對應(yīng)對象126中存儲(chǔ)組塊或?qū)M塊的參考。
[0051] 如果有另一個(gè)組塊要處理(判定塊228),則控制返回到塊208。因此,所述組塊以 以上描述的方式被處理直到源數(shù)據(jù)已被以其壓縮的形式復(fù)制到輔助存儲(chǔ)裝置100上。由于 以上所描述的數(shù)據(jù)去重復(fù)操作200所引起的數(shù)據(jù)減少可以以數(shù)據(jù)壓縮或"去重復(fù)"率為特 征。
[0052] 向回參考圖1,依據(jù)示例性實(shí)現(xiàn)方式,對象86的以上所描述的復(fù)制可以以備份和 恢復(fù)系統(tǒng)4的兩個(gè)操作模式中的一個(gè)被執(zhí)行:低帶寬操作模式;或高帶寬操作模式。對于 低帶寬操作模式,客戶端90執(zhí)行復(fù)制操作的以上所參考的分塊和哈希功能。換言之,客戶 端90把源數(shù)據(jù)分割成組塊;把加密功能應(yīng)用到組塊以生成對應(yīng)的哈希;傳送所述哈希;以 及隨后傳送組塊或?qū)λ鼋M塊的參考(依賴匹配是否發(fā)生)。低帶寬操作模式在如下情形中 可以是特別有益的:客戶端90具有相對高度的處理能力;通信鏈路96是相對低的帶寬鏈 路(例如,WAN連接);去重復(fù)率相對高;或這些因素中的一個(gè)或多個(gè)的組合促成將由客戶端 90執(zhí)行的分塊和哈希。
[0053] 在高帶寬操作模式中,分塊和哈希功能由主存儲(chǔ)裝置20來執(zhí)行。高帶寬操作模式 在如下情形中可以是特別有益的:主存儲(chǔ)裝置20具有相對高度的處理能力;通信鏈路96 具有相對高的帶寬(例如,LAN連接);去重復(fù)率相對低;或這些因素中的一個(gè)或多個(gè)的組合 促成將由主存儲(chǔ)裝置100執(zhí)行的分塊和哈希。
[0054] 依據(jù)一些實(shí)現(xiàn)方式,備份應(yīng)用97可以指定關(guān)于低帶寬還是高帶寬操作模式將被 使用的優(yōu)選。作為示例,所述優(yōu)選可以被經(jīng)由在客戶端90和引擎70之間被傳送的命令傳 送?;谶@個(gè)優(yōu)選,引擎70依賴于客戶端90 (針對低帶寬操作模式)或依賴于去重復(fù)引擎 73 (針對高帶寬操作模式)來執(zhí)行分塊和哈希功能。
[0055] 結(jié)合圖1參考圖5,總之,依據(jù)示例性實(shí)現(xiàn)方式,API 98允許備份應(yīng)用97執(zhí)行技術(shù) 250。依照技術(shù)250, API 98向存儲(chǔ)裝置的客戶端提供接口,所述接口允許客戶端訪問在存 儲(chǔ)裝置上存儲(chǔ)的對象(所述"源對象(依照塊254)??蛻舳丝梢耘c存儲(chǔ)裝置通信(塊258) 以控制復(fù)制源對象的至少一部分而生成目的對象的操作的至少一個(gè)方面。因此,如以上闡 述的,作為示例,依照技術(shù)260 (參見圖6),備份應(yīng)用97可以訪問(塊262)在主存儲(chǔ)裝置20 上存儲(chǔ)的對象86,并且促使用于對象86的元數(shù)據(jù)(塊266)指示關(guān)于客戶端90或主存儲(chǔ)裝 置20是否執(zhí)行用于對象86的去重復(fù)的壓縮(分塊和哈希)的優(yōu)選。
[0056] 注意的是:復(fù)制可以發(fā)生在相同存儲(chǔ)裝置上的不同對象存儲(chǔ)之間,或者甚至在給 定對象存儲(chǔ)內(nèi)的兩個(gè)對象之間的數(shù)據(jù)。盡管整個(gè)對象可以被復(fù)制,但給定復(fù)制操作可以涉 及復(fù)制給定對象的部分,而不是復(fù)制整個(gè)對象。此外,目的對象可以從來自一個(gè)或多個(gè)源對 象的一個(gè)或多個(gè)復(fù)制區(qū)域被構(gòu)造;并且目的對象可以被散置有從客戶端直接備份到目的對 象的數(shù)據(jù)的一個(gè)或多個(gè)區(qū)域。因此,許多變化被考慮到,其在所附權(quán)利要求的范圍內(nèi)。
[0057] 例如,與基于虛擬帶驅(qū)動(dòng)器的系統(tǒng)(其中備份數(shù)據(jù)被安排在依據(jù)帶驅(qū)動(dòng)器格式存 儲(chǔ)的文件中)相比較,備份和恢復(fù)系統(tǒng)4使用對象允許備份數(shù)據(jù)的相對更豐富的搜索和分 組。更具體地,結(jié)合圖1參考圖7,依照技術(shù)270,備份應(yīng)用97可以訪問(塊274)在主存儲(chǔ) 裝置上存儲(chǔ)的對象,并且(依照塊278)基于相關(guān)聯(lián)的元數(shù)據(jù)搜索和/或分組搜索對象。
[0058] 依據(jù)示例實(shí)現(xiàn)方式,復(fù)制引擎70包括調(diào)度器71,其用于調(diào)度復(fù)制作業(yè)來復(fù)制對象 86,從而生成在輔助存儲(chǔ)裝置100上存儲(chǔ)的對應(yīng)的復(fù)制對象126。以這種方式,調(diào)度器71存 儲(chǔ)(或排隊(duì))用于隊(duì)列72中掛起的復(fù)制作業(yè)的標(biāo)識符,以用于把給定對象86中的數(shù)據(jù)的部 分或全部拷貝到目的對象存儲(chǔ)124中的目標(biāo)對象126的定義位置的目的。注意的是:給定 復(fù)制操作可以涉及對象的完整或部分的蓋寫。
[0059] 依據(jù)在此公開的實(shí)現(xiàn)方式,調(diào)度器71基于多個(gè)潛在標(biāo)準(zhǔn)管理隊(duì)列72中的作業(yè)何 時(shí)被運(yùn)行。作為非限制性示例,這些標(biāo)準(zhǔn)可以包括空閑資源的數(shù)量/范圍;(由客戶施加的) 中斷窗口;網(wǎng)絡(luò)連接性;以及源裝置和目標(biāo)裝置何時(shí)在線并且可用。
[0060] 通常,由于事件(諸如,給定裝置下線或另一個(gè)可暫停條件發(fā)生(例如,網(wǎng)絡(luò)鏈路不 可用)),調(diào)度器71暫停作業(yè)的運(yùn)行;以及調(diào)度器71在這種事件終止時(shí)重新開始所述作業(yè)。 調(diào)度器71進(jìn)一步在不可恢復(fù)錯(cuò)誤發(fā)生(作為非限制性示例,諸如,目的裝置用盡其磁盤空 間、許可不存在、賬戶不被允許、或客戶取消作業(yè))時(shí)取消給定作業(yè)。
[0061] 通常,調(diào)度器71使用在此公開的技術(shù)以用于在不招致掃描可能的可運(yùn)行作業(yè)的 相當(dāng)大量的時(shí)間的情形下相對高效地運(yùn)行作業(yè)的目的。以這種方式,依據(jù)一些實(shí)現(xiàn)方式,在 隊(duì)列72中存儲(chǔ)的作業(yè)的數(shù)量可以在數(shù)百萬可能作業(yè)的規(guī)模上。因此,依據(jù)示例實(shí)現(xiàn)方式, 在此公開以用于調(diào)度作業(yè)的技術(shù)涉及告知用于調(diào)度器71的相對低的開銷和等待時(shí)間。
[0062] 作為非限制性示例,調(diào)度器71確定用于執(zhí)行作業(yè)的時(shí)間表,S卩,用于將被運(yùn)行或 被再次運(yùn)行的作業(yè)中的每一個(gè)的時(shí)間。依據(jù)示例性實(shí)現(xiàn)方式,調(diào)度器71基于之前的運(yùn)行嘗 試確定在試圖運(yùn)行失敗過的復(fù)制作業(yè)之前等待多久。
[0063] 使用方程1和2,調(diào)度器71可以依照技術(shù)300 (其在圖8中被一般地描繪)調(diào)度作 業(yè)。依照技術(shù)300,調(diào)度器71排隊(duì)(塊304)作業(yè)以把存儲(chǔ)在第一存儲(chǔ)裝置上的對象復(fù)制到 第二存儲(chǔ)裝置上,并且確定(塊308)用于執(zhí)行所述作業(yè)的時(shí)間。對于至少一個(gè)所述作業(yè),調(diào) 度器71至少部分地基于完成作業(yè)的失敗嘗試的數(shù)量選擇性地調(diào)整所述作業(yè)何時(shí)出現(xiàn)在時(shí) 間表中(依照塊312)。
[0064] 作為更具體的示例,調(diào)度器71可以至少部分地基于在完成所述作業(yè)過程中一 個(gè)或多個(gè)失敗嘗試的數(shù)量調(diào)整作業(yè)每隔多久被嘗試一次(即,調(diào)整對于給定作業(yè)的"嘗試 率")。例如,圖9描述了示例技術(shù)320,其可以由調(diào)度器71依據(jù)一些實(shí)現(xiàn)方式使用。依據(jù)技 術(shù)320,調(diào)度器71依賴失敗嘗試的數(shù)量逐漸地設(shè)置較低的嘗試率以用于運(yùn)行給定作業(yè)。對 于這個(gè)示例,常數(shù)K (判定塊322)、N2 (判定塊326)和NP (判定塊330)是從K到乂單調(diào) 增加的,使得&〈隊(duì)〈乂。初始地,對于給定作業(yè)的嘗試率可以是相對高的(S卩,可以以相對高 的頻率發(fā)生)。然而,隨著對于給定作業(yè)的嘗試的數(shù)量的增加,對應(yīng)的嘗試率降低。以這種 方式,圖9公開了示例性嘗試率& (塊324)、R2 (塊328)和RP (塊332),使得RpRpRp。嘗 試率&、R2和RP分別對應(yīng)于失敗嘗試常數(shù)%、N 2和NP。以這種方式,如果失敗嘗試的數(shù)量 小于K (判定塊322),則調(diào)度器71把對應(yīng)的嘗試率設(shè)置(塊324)在&,其是相對較高的嘗 試率。然而,如果失敗嘗試增加使得所述嘗試高于K并且仍小于N 2,則調(diào)度器71 (依照判 定塊326)把嘗試率設(shè)置(塊328)在較低的嘗試率R2。嘗試之間的時(shí)間間隔的逐漸后退繼 續(xù),因?yàn)楫?dāng)失敗嘗試超過N P (判定塊330)時(shí),調(diào)度器71把嘗試率設(shè)置(塊334)在最低的嘗 試率RP+1。依據(jù)示例實(shí)現(xiàn)方式,當(dāng)調(diào)度器71檢測之前作業(yè)的失敗出于對于這個(gè)作業(yè)會(huì)是公 共的原因而失敗時(shí),調(diào)度器71不運(yùn)行給定作業(yè)。
[0065] 更具體地,調(diào)度器71基于以上確定的時(shí)間表周期性地掃描用于準(zhǔn)備運(yùn)行的復(fù)制 作業(yè)的隊(duì)列72 (依照技術(shù)320)。在這個(gè)方面,依據(jù)示例性實(shí)現(xiàn)方式,復(fù)制作業(yè)可以把相對 少數(shù)量的存儲(chǔ)裝置作為目標(biāo)(即,每個(gè)目標(biāo)存儲(chǔ)裝置一個(gè)以上的作業(yè))。如果在特定掃描期 間,對于特定裝置的復(fù)制作業(yè)被嘗試但由于也會(huì)影響全部其它作業(yè)(其可能在這個(gè)掃描中 開始運(yùn)行到那個(gè)存儲(chǔ)裝置)的原因(作為非限制性示例,磁盤空間全部錯(cuò)誤、鏈路錯(cuò)誤、中斷 窗口)無法運(yùn)行,則其它復(fù)制作業(yè)不被嘗試。替代地,調(diào)度器71預(yù)期地認(rèn)為這些其它作業(yè)對 于公用共享的問題也會(huì)失敗,并且對應(yīng)地也把這些作業(yè)標(biāo)記為失敗。這種方法避免了嘗試 運(yùn)行不能夠運(yùn)行(至少針對當(dāng)前的掃描)的作業(yè)中的開銷。
[0066] 因此,依據(jù)示例實(shí)現(xiàn)方式,調(diào)度器71可以執(zhí)行在圖10中描繪的技術(shù)334。依照技 術(shù)334,調(diào)度器71確定(判定塊336)給定復(fù)制作業(yè)是否已失敗,并且如果如此,則確定(判 定塊338)促成失敗的相同問題是否適用于隊(duì)列72中的一個(gè)或多個(gè)其它復(fù)制作業(yè)。如果如 此,則調(diào)度器71把(一個(gè)或多個(gè))其它復(fù)制作業(yè)標(biāo)記(塊340)為失敗(例如,在由隊(duì)列72存 儲(chǔ)的狀態(tài)字段中制作一個(gè)或多個(gè)對應(yīng)的條目)。
[0067] 盡管中斷窗口對于多個(gè)作業(yè)是公共的,但依據(jù)一些實(shí)現(xiàn)方式,由于中斷窗口和其 它失敗原因引起的失敗之間的區(qū)別是中斷窗口被配置在主存儲(chǔ)裝置20。因此,主存儲(chǔ)裝置 20知道中斷窗口何時(shí)不再施加。依據(jù)示例實(shí)現(xiàn)方式,隊(duì)列72存儲(chǔ)下一個(gè)運(yùn)行時(shí)間以及指示 作業(yè)為何不運(yùn)行的原因的標(biāo)識符。在下一個(gè)掃描時(shí),如果用于給定作業(yè)的給定狀態(tài)標(biāo)識符 指示上一個(gè)作業(yè)由于中斷窗口不運(yùn)行,則調(diào)度器71把相關(guān)聯(lián)的下一個(gè)運(yùn)行時(shí)間復(fù)位到"立 即地"并且復(fù)位失敗嘗試的數(shù)量,使得如果作業(yè)出于不同的原因在將來無法運(yùn)行,則所述作 業(yè)從清白歷史開始。
[0068] 向回參考圖1,客戶端90通常把狀態(tài)查詢提交到主存儲(chǔ)裝置20,以用于獲取與對 應(yīng)的復(fù)制作業(yè)相關(guān)的狀態(tài)的目的。為了管理這些狀態(tài)查詢(出于諸如減少網(wǎng)絡(luò)業(yè)務(wù)并且減 少調(diào)度器71上的開銷的目的),調(diào)度器71用作作業(yè)管理器,其采用請求客戶端90在重新檢 查所述狀態(tài)之前等待的對應(yīng)時(shí)間回復(fù)來自請求客戶端90的給定狀態(tài)請求查詢。
[0069] 通常,依據(jù)示例實(shí)現(xiàn)方式,調(diào)度器71執(zhí)行在圖11中描繪的技術(shù)350。依照技術(shù) 350,調(diào)度器71排隊(duì)(塊354)用以復(fù)制在一個(gè)或多個(gè)存儲(chǔ)裝置上存儲(chǔ)的對象數(shù)據(jù)的作業(yè)。調(diào) 度器71從客戶端90接收(塊358)狀態(tài)請求查詢,并且回復(fù)(塊362)所述狀態(tài)請求查詢,以 及所述回復(fù)指示客戶端90提供另一個(gè)狀態(tài)請求查詢的時(shí)間(S卩,最小等待時(shí)間)。
[0070] 在確定狀態(tài)請求查詢時(shí)間中,調(diào)度器71可以確定給定作業(yè)的完成的百分比(被稱 為"完成百分比"),如下所述: 完成百分比=原始目標(biāo)范圍大小/(到目前為止拷貝的字節(jié)), 方程1 其中"原始目標(biāo)范圍大小"表示對象86的大小,以及"到目前為止拷貝的字節(jié)"表示已 被拷貝到輔助存儲(chǔ)裝置100的字節(jié)數(shù)。調(diào)度器71還可以估計(jì)完成時(shí)間(被稱為"所估計(jì)的 完成時(shí)間"),闡述如下: 所估計(jì)的完成時(shí)間=現(xiàn)在的時(shí)間+(作業(yè)運(yùn)行時(shí)間秒* (100作業(yè)完成百分比))/(作 業(yè)完成百分比)),方程2 其中"作業(yè)運(yùn)行時(shí)間秒"表示作業(yè)已運(yùn)行的當(dāng)前時(shí)間,以及"100作業(yè)完成百分比"表 示常數(shù),諸如"100"。
[0071] 在這方面,依據(jù)示例實(shí)現(xiàn)方式,調(diào)度器71響應(yīng)于給定狀態(tài)請求查詢,采用客戶端 90在重新提交狀態(tài)查詢之前等待的時(shí)間響應(yīng)或回復(fù)。注意的是:依賴特定實(shí)現(xiàn)方式,所述 時(shí)間可以是絕對時(shí)間或可以是從客戶端90在其已提交之前的查詢或已從調(diào)度器71接收響 應(yīng)的時(shí)間起的相對等待時(shí)間間隔。
[0072] 作為示例,圖12描繪了技術(shù)400,其可以由調(diào)度器71使用,以用于針對關(guān)于特定復(fù) 制作業(yè)的所接收的狀態(tài)請求查詢確定一個(gè)或多個(gè)查詢時(shí)間(如下面進(jìn)一步描述的)的目的。 依照技術(shù)400,調(diào)度器71 (例如,使用方程1)確定(塊404)用于所述作業(yè)的完成百分比,以 及(例如,使用方程2)估計(jì)(塊408)用于復(fù)制作業(yè)的完成時(shí)間。通常,如果調(diào)度器71確定 (判定塊412)復(fù)制作業(yè)被暫?;驋炱?所述作業(yè)在隊(duì)列72中等待再次被運(yùn)行),則調(diào)度器71 拖延關(guān)于復(fù)制作業(yè)的任何更多的狀態(tài)查詢,直到依照技術(shù)300被估計(jì)的時(shí)間。以這種方式, 對于暫?;驋炱鹱鳂I(yè),調(diào)度器71把下一個(gè)狀態(tài)查詢時(shí)間設(shè)置(塊416)到下一個(gè)運(yùn)行嘗試時(shí) 間。
[0073] 如果調(diào)度器71確定(判定塊412)復(fù)制作業(yè)未被暫?;驋炱穑瑒t調(diào)度器71確定(判 定塊420)所述作業(yè)當(dāng)前是否正在運(yùn)行。如果如此,調(diào)度器71拖延任何更多的狀態(tài)查詢,直 到作業(yè)進(jìn)展?fàn)顟B(tài)已可測量地改變。更具體地,依據(jù)示例實(shí)現(xiàn)方式,調(diào)度器71可以把狀態(tài)查 詢時(shí)間設(shè)置(塊424)到所測量的進(jìn)展將發(fā)生的所估計(jì)時(shí)間。例如,依賴特定實(shí)現(xiàn)方式,基于 例如由方程1的完成百分比的確定所闡述的給定粒度的改變(例如,1%的改變)、被轉(zhuǎn)移的 固定數(shù)量的字節(jié)(例如,1吉字節(jié)(GB))或這些標(biāo)準(zhǔn)中的任一中的最大的,調(diào)度器71可以認(rèn) 為所述作業(yè)進(jìn)展已可測量地改變。
[0074] 因此,依據(jù)一些實(shí)現(xiàn)方式,調(diào)度器71調(diào)整給定客戶端90的狀態(tài)查詢,使得客戶端 90查詢正好頻繁到足夠來從調(diào)度器71接收所指示的狀態(tài)變化。如果調(diào)度器71確定(判定 塊420)作業(yè)當(dāng)前未在運(yùn)行,則調(diào)度器71確定(塊428)所述作業(yè)是否被取消或完成。如果 否,狀態(tài)請求查詢以未標(biāo)識的作業(yè)為目標(biāo);以及調(diào)度器71采取適當(dāng)校正的動(dòng)作。否則,如 果所述作業(yè)被取消或完成,則調(diào)度器71把查詢時(shí)間設(shè)置(塊432)到基于固定時(shí)間間隔的時(shí) 間。例如,當(dāng)取消是用于那個(gè)作業(yè)的最終狀態(tài)時(shí),調(diào)度器71可以把下一個(gè)查詢時(shí)間設(shè)置到 最大值(作為示例,5分鐘)。
[0075] 給定客戶端狀態(tài)查詢許多關(guān)于多個(gè)復(fù)制作業(yè)的狀態(tài)的查詢。對于這些請求,調(diào)度 器71確定在返回的狀態(tài)回復(fù)中用于每個(gè)作業(yè)的所建議的下一個(gè)查詢時(shí)間,以及然后把下 一個(gè)總查詢時(shí)間設(shè)置成與所確定的查詢時(shí)間的最短間隔一致。因此,客戶端90經(jīng)由所述回 復(fù)具有用于最快速地改變作業(yè)狀態(tài)的最新的信息。因此,依據(jù)一些示例實(shí)現(xiàn)方式,調(diào)度器71 確定(判定塊436)狀態(tài)請求查詢是否與多個(gè)作業(yè)相關(guān)聯(lián)。如果否,則調(diào)度器71采用用于單 個(gè)復(fù)制作業(yè)的下一個(gè)查詢時(shí)間回復(fù)(塊440)。否則,依據(jù)示例實(shí)現(xiàn)方式,調(diào)度器71采用用于 每個(gè)作業(yè)的查詢時(shí)間回復(fù)(塊437),并且進(jìn)一步采用下一個(gè)總查詢時(shí)間(例如,單獨(dú)查詢時(shí) 間中最小的)回復(fù)。
[0076] 依據(jù)示例實(shí)現(xiàn)方式,調(diào)度器71可以在由最小值(例如,30秒鐘)和最大值(例如,5 分鐘)定義的范圍內(nèi)限制或約束下一個(gè)查詢時(shí)間。
[0077] 盡管有限數(shù)量的示例已在此被公開,但本領(lǐng)域的技術(shù)人員受益于這個(gè)公開后將從 其中認(rèn)識到眾多修改和變化。旨在所附的權(quán)利要求覆蓋所有這種修改和變化。
【權(quán)利要求】
1. 一種方法,包括: 排隊(duì)復(fù)制在存儲(chǔ)裝置上存儲(chǔ)的對象數(shù)據(jù)的作業(yè); 確定用于執(zhí)行所述作業(yè)的時(shí)間表;以及 對于所述作業(yè)中的至少一個(gè),至少部分地基于完成作業(yè)的失敗嘗試的數(shù)量選擇性地調(diào) 整所述作業(yè)何時(shí)出現(xiàn)在所述時(shí)間表中。
2. 如權(quán)利要求1所述的方法,其中選擇性地調(diào)整包括:基于失敗嘗試的數(shù)量改變用于 執(zhí)行作業(yè)的等待間隔,使得較長的等待間隔對應(yīng)于較大數(shù)量的失敗嘗試。
3. 如權(quán)利要求1所述的方法,其中選擇性地調(diào)整包括:把失敗嘗試的數(shù)量與失敗嘗試 的第二時(shí)間表相比較,以及至少部分地基于所述比較調(diào)節(jié)用于執(zhí)行所述作業(yè)的等待間隔。
4. 如權(quán)利要求1所述的方法,進(jìn)一步包括響應(yīng)于至少一個(gè)備份會(huì)話把所述作業(yè)接收到 隊(duì)列中,所述備份會(huì)話由在耦合到第一存儲(chǔ)裝置的客戶端上執(zhí)行的備份應(yīng)用生成。
5. 如權(quán)利要求1所述的方法,進(jìn)一步包括:進(jìn)一步使時(shí)間表基于至少一個(gè)作業(yè)是否由 于用戶施加的復(fù)制中斷間隔而失敗。
6. 如權(quán)利要求1所述的方法,進(jìn)一步包括: 確定所述作業(yè)中的給定作業(yè)是否已失敗并且是否受到與所述其它作業(yè)中的至少一個(gè) 相關(guān)聯(lián)的失敗問題的影響;以及 至少部分地基于所述確定,選擇性地把所述其它作業(yè)中的至少一個(gè)標(biāo)記為失敗。
7. -種設(shè)備,包括 隊(duì)列,用于標(biāo)識復(fù)制在存儲(chǔ)裝置上存儲(chǔ)的對象數(shù)據(jù)的作業(yè);以及 基于處理器的作業(yè)管理器,用于: 接收從客戶端到存儲(chǔ)裝置對所述作業(yè)中的至少一個(gè)的狀態(tài)的狀態(tài)請求查詢;以及 響應(yīng)于所述狀態(tài)請求查詢,指示用于所述客戶端提供另一個(gè)狀態(tài)請求的時(shí)間。
8. 如權(quán)利要求7所述的設(shè)備,其中所述作業(yè)管理器適合于至少部分地基于所述作業(yè)在 其預(yù)期被完成的時(shí)間而指示所述時(shí)間。
9. 如權(quán)利要求7所述的設(shè)備,其中所述作業(yè)管理器適合于至少部分地基于用于所述作 業(yè)的下一個(gè)運(yùn)行嘗試數(shù)據(jù)而設(shè)置所述時(shí)間。
10. 如權(quán)利要求7所述的設(shè)備,其中所述作業(yè)管理器適合于使所述時(shí)間基于固定的時(shí) 間間隔,并且基于所述作業(yè)是否已被取消或完成的確定。
11. 如權(quán)利要求7所述的設(shè)備,其中所述狀態(tài)請求與多個(gè)作業(yè)相關(guān)聯(lián),并且所述作業(yè)管 理器適合于指示用于所述作業(yè)中的每一個(gè)的時(shí)間以及用于客戶端提供另一個(gè)狀態(tài)請求的 總時(shí)間。
12. -種包括存儲(chǔ)指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的物品,當(dāng)所述指令由至少一個(gè)處理器 執(zhí)行時(shí),促使所述至少一個(gè)處理器來: 排隊(duì)復(fù)制在存儲(chǔ)裝置上存儲(chǔ)的對象數(shù)據(jù)的作業(yè); 確定用于執(zhí)行所述作業(yè)的時(shí)間表;以及 對于所述作業(yè)中的至少一個(gè),至少部分地基于完成作業(yè)的失敗嘗試的數(shù)量選擇性地調(diào) 整所述作業(yè)何時(shí)出現(xiàn)在所述時(shí)間表中。
13. 如權(quán)利要求12所述的物品,存儲(chǔ)介質(zhì)存儲(chǔ)指令,當(dāng)所述指令由至少一個(gè)處理器執(zhí) 行時(shí),促使所述至少一個(gè)處理器來:基于失敗嘗試的數(shù)量改變用于執(zhí)行作業(yè)的等待間隔,使 得較長的等待間隔對應(yīng)于較大數(shù)量的失敗嘗試。
14. 如權(quán)利要求12所述的物品,存儲(chǔ)介質(zhì)存儲(chǔ)指令,當(dāng)所述指令由至少一個(gè)處理器執(zhí) 行時(shí),促使所述至少一個(gè)處理器來:把失敗嘗試的數(shù)量與失敗嘗試的第二時(shí)間表相比較,以 及至少部分地基于所述比較調(diào)節(jié)用于執(zhí)行所述作業(yè)的等待間隔。
15. 如權(quán)利要求12所述的物品,存儲(chǔ)介質(zhì)存儲(chǔ)指令,當(dāng)所述指令由至少一個(gè)處理器執(zhí) 行時(shí),促使所述至少一個(gè)處理器來:進(jìn)一步使時(shí)間表基于至少一個(gè)作業(yè)是否由于用戶施加 復(fù)制中斷間隔而失敗。
【文檔編號】G06F12/16GK104067219SQ201280068688
【公開日】2014年9月24日 申請日期:2012年4月24日 優(yōu)先權(quán)日:2012年3月15日
【發(fā)明者】P.T.坎布爾, A.托德, K.錢德拉塞卡蘭 申請人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)