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

管理數(shù)據(jù)庫(kù)恢復(fù)時(shí)間的制作方法

文檔序號(hào):6365696閱讀:175來(lái)源:國(guó)知局
專利名稱:管理數(shù)據(jù)庫(kù)恢復(fù)時(shí)間的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫(kù)管理。
背景技術(shù)
計(jì)算機(jī)和計(jì)算系統(tǒng)已經(jīng)影響了現(xiàn)代生活的幾乎每個(gè)方面。計(jì)算機(jī)通常在工作、休閑、保健、運(yùn)輸、娛樂(lè)、家政管理等中都有涉獵。計(jì)算系統(tǒng)可用于實(shí)現(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)。數(shù)據(jù)庫(kù)系統(tǒng)通常存儲(chǔ)信息供其它客戶機(jī)計(jì)算系統(tǒng)使用。數(shù)據(jù)庫(kù)系統(tǒng)允許不同的客戶機(jī)訪問(wèn)數(shù)據(jù)庫(kù)系統(tǒng),包括執(zhí)行諸如從數(shù)據(jù)庫(kù)系統(tǒng)讀取數(shù)據(jù)、向數(shù)據(jù)庫(kù)系統(tǒng)寫入數(shù)據(jù)或?qū)?shù)據(jù)庫(kù)系統(tǒng)更新數(shù)據(jù)的動(dòng)作。因?yàn)椴煌目蛻魴C(jī)訪問(wèn)可能會(huì)彼此沖突,數(shù)據(jù)庫(kù)系統(tǒng)可實(shí)現(xiàn)事務(wù)數(shù)據(jù) 處理功能。例如,假定客戶機(jī)訪問(wèn)數(shù)據(jù)庫(kù)以將錢從一個(gè)賬戶轉(zhuǎn)帳到另一個(gè)賬戶??蛻魴C(jī)將讀取關(guān)于第一賬戶的信息以確定第一賬戶中資金的金額。如果資金的金額是足夠的,則客戶機(jī)將通過(guò)使第一賬戶的賬戶余額減少要轉(zhuǎn)帳的金額(具體地通過(guò)用減少的余額來(lái)替換第一賬戶的余額)來(lái)對(duì)第一賬戶記入借方(debit)??蛻魴C(jī)然后將(或在相同時(shí)間或重疊的時(shí)間)訪問(wèn)第二賬戶并讀取第二賬戶的余額??蛻魴C(jī)可通過(guò)使要轉(zhuǎn)帳的金額加上第二賬戶的余額并將該總數(shù)寫入數(shù)據(jù)庫(kù)作為第二賬戶的余額來(lái)對(duì)要轉(zhuǎn)帳的金額記入貸方(credit)。如果第二客戶機(jī)在第一客戶機(jī)正在執(zhí)行轉(zhuǎn)帳時(shí)能夠訪問(wèn)賬戶余額,則第二客戶機(jī)可能會(huì)讀取過(guò)時(shí)的信息,或者可能寫入稍后可能會(huì)被第一客戶機(jī)重寫或可能引起轉(zhuǎn)帳交易問(wèn)題的數(shù)據(jù)。為此,數(shù)據(jù)庫(kù)系統(tǒng)使用各種類型的事務(wù)計(jì)算。例如,在一些示例中,數(shù)據(jù)庫(kù)使用樂(lè)觀事務(wù)。在這些事務(wù)中,數(shù)據(jù)庫(kù)假定其它系統(tǒng)將不會(huì)干擾這些事務(wù)。在事務(wù)受到干擾的情況下,數(shù)據(jù)庫(kù)存儲(chǔ)了在該事務(wù)開始之前存在的值,且可使用存儲(chǔ)的值來(lái)中止事務(wù),并使受到影響的數(shù)據(jù)庫(kù)元素返回到它們?cè)谑聞?wù)開始之前所處的狀態(tài)中。具體地,數(shù)據(jù)庫(kù)系統(tǒng)將存儲(chǔ)數(shù)據(jù)的老版本和數(shù)據(jù)的新版本。當(dāng)作出持久的改變或提交了事務(wù)時(shí),數(shù)據(jù)的新版本成為數(shù)據(jù)庫(kù)的當(dāng)前狀態(tài)。當(dāng)事務(wù)被中止時(shí),數(shù)據(jù)的老版本保持作為數(shù)據(jù)庫(kù)的當(dāng)前狀態(tài)。數(shù)據(jù)庫(kù)通常具有數(shù)據(jù)庫(kù)項(xiàng)目的存儲(chǔ)器中版本以及存儲(chǔ)在持久存儲(chǔ)中(諸如硬盤上)的數(shù)據(jù)庫(kù)項(xiàng)目的持久存儲(chǔ)的版本。存儲(chǔ)器中版本可被存儲(chǔ)在緩沖池中。當(dāng)正在操作數(shù)據(jù)庫(kù)中的項(xiàng)目時(shí),它們通常使用存儲(chǔ)器中的副本來(lái)操作。例如,數(shù)據(jù)庫(kù)項(xiàng)目可從諸如硬盤的持久存儲(chǔ)中讀取以存入諸如系統(tǒng)RAM和/或處理器高速緩存的存儲(chǔ)器中。計(jì)算系統(tǒng)然后可訪問(wèn)數(shù)據(jù)庫(kù)來(lái)讀取數(shù)據(jù)庫(kù)項(xiàng)目,數(shù)據(jù)庫(kù)項(xiàng)目將按照存儲(chǔ)器中的副本提供給計(jì)算系統(tǒng)。計(jì)算系統(tǒng)可修改數(shù)據(jù)庫(kù)項(xiàng)目,這導(dǎo)致存儲(chǔ)器中的修改。尚未被保存到持久存儲(chǔ)中的、緩沖池中的被應(yīng)用了改變的頁(yè)在此可被稱為臟頁(yè)。通常,對(duì)數(shù)據(jù)庫(kù)項(xiàng)目的改變通常在事務(wù)日志中作出或記錄在事務(wù)日志中。當(dāng)數(shù)據(jù)庫(kù)故障發(fā)生和/或發(fā)現(xiàn)數(shù)據(jù)庫(kù)不一致時(shí),可使用事務(wù)日志來(lái)還原數(shù)據(jù)庫(kù)。具體地,可使用事務(wù)日志來(lái)重新應(yīng)用已經(jīng)提交的事務(wù)的改變,并退回來(lái)自正在進(jìn)行中但在發(fā)現(xiàn)不一致性時(shí)未被提交的事務(wù)的改變。事務(wù)日志包括各種日志記錄。每一日志記錄與數(shù)據(jù)庫(kù)頁(yè)相關(guān)聯(lián),并包括對(duì)數(shù)據(jù)庫(kù)頁(yè)的改變。通常當(dāng)發(fā)現(xiàn)數(shù)據(jù)庫(kù)不一致時(shí),使用持久存儲(chǔ)中的數(shù)據(jù)庫(kù)的數(shù)據(jù)來(lái)解決該不一致性。因此,為了解決不一致性,數(shù)據(jù)頁(yè)從持久存儲(chǔ)讀取、存儲(chǔ)在存儲(chǔ)器中,且根據(jù)事務(wù)日志應(yīng)用改變。數(shù)據(jù)庫(kù)的還原可通過(guò)周期性地對(duì)持久存儲(chǔ)寫入日志記錄改變來(lái)優(yōu)化。具體地,日志記錄可通過(guò)將日志記錄的數(shù)據(jù)頁(yè)讀入存儲(chǔ)器中、對(duì)數(shù)據(jù)頁(yè)作出在日志記錄中標(biāo)識(shí)的改變、并將數(shù)據(jù)頁(yè)寫回至持久存儲(chǔ)中來(lái)處理。日志記錄通常由日志序列號(hào)(LSN)標(biāo)識(shí)。LSN通常是單調(diào)增加的號(hào)碼,使得可容易地確定日歷記錄是以何種次序來(lái)創(chuàng)建的。周期性地將日志記錄改變寫入持久存儲(chǔ)中通常是結(jié)合設(shè)置檢查點(diǎn)來(lái)完成的。檢查點(diǎn)表示時(shí)間點(diǎn),且可與LSN相關(guān)聯(lián)??稍O(shè)置檢查點(diǎn),且LSN可與檢查點(diǎn)相關(guān)聯(lián)。系統(tǒng)然后開始更新數(shù)據(jù)庫(kù)頁(yè),從最老的LSN開始,并朝向與新近設(shè)置的檢查點(diǎn)相關(guān)聯(lián)的LSN執(zhí)行??上蛳到y(tǒng)確保,已經(jīng)處理了下一最新近設(shè)置的檢查點(diǎn)(即,當(dāng)前設(shè)置的檢查點(diǎn)之前設(shè)置的檢查點(diǎn))之前的所有日志記錄,并且其中歸檔的改變被應(yīng)用于持久存儲(chǔ)。還原系統(tǒng)的恢復(fù)時(shí)間在系統(tǒng)中可能會(huì)變化。盡管檢查點(diǎn)設(shè)置可減少恢復(fù)時(shí)間,由于在檢查點(diǎn)之間有太多日志記錄或頁(yè)要處理,這樣仍可能導(dǎo)致無(wú)法接受的恢復(fù)時(shí) 間,或者當(dāng)要處理相對(duì)小數(shù)量的改變時(shí),由于要執(zhí)行的檢查點(diǎn)設(shè)置而導(dǎo)致資源的過(guò)度利用。具體地,盡管檢查點(diǎn)可減少恢復(fù)時(shí)間,通常也需要顯著的資源利用來(lái)從持久存儲(chǔ)中讀取數(shù)據(jù)頁(yè)并根據(jù)日志記錄應(yīng)用改變。對(duì)這樣的資源的使用可在管理恢復(fù)時(shí)間時(shí)驗(yàn)證,然而當(dāng)設(shè)置檢查點(diǎn)不會(huì)顯著地減少恢復(fù)時(shí)間時(shí),這可能是一種對(duì)資源的低效使用或是一種會(huì)從正在執(zhí)行的其它操作取走資源的使用。此外,即使臟頁(yè)的百分比很小,檢查點(diǎn)將通常遍歷整個(gè)緩沖池來(lái)尋找臟頁(yè)。在較大的存儲(chǔ)器系統(tǒng)中,臟頁(yè)的百分比與總的緩沖池大小相比可能小得多。此外,在檢查點(diǎn)持續(xù)時(shí)間期間,禁用所緩沖的寫入日志記錄的生成。如果在注意到檢查點(diǎn)完成之前,數(shù)據(jù)庫(kù)變?yōu)椴灰恢禄虮罎?,則可能沒(méi)有檢測(cè)已經(jīng)向持久存儲(chǔ)發(fā)出的寫入操作的機(jī)制,從而導(dǎo)致恢復(fù)期間的不必要的數(shù)據(jù)頁(yè)讀取以從持久存儲(chǔ)中讀取實(shí)際上已經(jīng)根據(jù)對(duì)其應(yīng)用的日志記錄更新的數(shù)據(jù)頁(yè)。在沒(méi)有估計(jì)預(yù)期的恢復(fù)時(shí)間的任何合理機(jī)制的情況下,自動(dòng)檢查點(diǎn)是基于無(wú)法表征所有不同類型的工作負(fù)載的推斷的。這導(dǎo)致不可預(yù)測(cè)的恢復(fù)表現(xiàn),并使得“最小恢復(fù)間隔”不可靠。在此要求保護(hù)的主題不限于解決任何缺點(diǎn)或僅在諸如上述環(huán)境中操作的各個(gè)實(shí)施例。相反,提供該背景僅用以示出在其中可實(shí)踐在此描述的部分實(shí)施例的一個(gè)示例性技術(shù)領(lǐng)域。

發(fā)明內(nèi)容
此處示出的一個(gè)實(shí)施例涉及一種在計(jì)算環(huán)境中實(shí)施的方法。該方法包括用于管理數(shù)據(jù)庫(kù)恢復(fù)時(shí)間的動(dòng)作。該方法包括接收指定數(shù)據(jù)庫(kù)的目標(biāo)恢復(fù)時(shí)間的用戶輸入。該方法還包括確定從持久存儲(chǔ)讀取數(shù)據(jù)庫(kù)的數(shù)據(jù)頁(yè)的時(shí)間量。該方法還包括確定處理數(shù)據(jù)庫(kù)的日志記錄以對(duì)數(shù)據(jù)頁(yè)應(yīng)用日志記錄中指定的改變的時(shí)間量。該方法還包括確定如果發(fā)生數(shù)據(jù)庫(kù)故障則當(dāng)前要在恢復(fù)中讀取的臟頁(yè)的數(shù)量。該方法還包括確定如果發(fā)生數(shù)據(jù)庫(kù)故障則要在恢復(fù)中處理的日志記錄的數(shù)量。該方法還包括根據(jù)指定的目標(biāo)恢復(fù)時(shí)間,調(diào)整當(dāng)前要在恢復(fù)中讀取的臟頁(yè)的數(shù)量或要在恢復(fù)中處理的日志記錄的數(shù)量中的至少一個(gè)。
提供本發(fā)明內(nèi)容以便以簡(jiǎn)化形式介紹將在以下具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并非旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。另外的特征和優(yōu)點(diǎn)將在以下的描述中闡述,并且部分可從該描述中顯而易見,或者可以從此處的教示實(shí)踐中習(xí)得。本發(fā)明的特征和優(yōu)點(diǎn)可以通過(guò)在所附權(quán)利要求中特別指出的手段和組合來(lái)實(shí)現(xiàn)并獲取。本發(fā)明的特征將從以下描述和所附權(quán)利要求書中變得完全顯而易見,或者可通過(guò)如下所述對(duì)本發(fā)明的實(shí)踐而獲知。


為了描述可獲得本主題的上述和其它優(yōu)點(diǎn)和特征的方式,將通過(guò)參考附圖中示出的本主題的具體實(shí)施例來(lái)呈現(xiàn)以上簡(jiǎn)要描述的本主題的更具體描述。應(yīng)該理解,這些附圖僅描繪了各典型實(shí)施例,因此其不應(yīng)被認(rèn)為是對(duì)范圍的限制,各實(shí)施例將通過(guò)使用附圖用附加特征和細(xì)節(jié)來(lái)描述并解釋,在附圖中 圖I示出了數(shù)據(jù)庫(kù)恢復(fù)系統(tǒng)的各部分;以及圖2示出了管理數(shù)據(jù)庫(kù)恢復(fù)時(shí)間的方法。
具體實(shí)施例方式此處描述的一些實(shí)施例包括根據(jù)系統(tǒng)中的臟頁(yè)數(shù)量、活動(dòng)日志大小和系統(tǒng)IO特征來(lái)對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的預(yù)期恢復(fù)時(shí)間建模的功能。此外在一些實(shí)施例中,系統(tǒng)IO特征可以是實(shí)際系統(tǒng)的觀察到的特征。該模型可用于估計(jì)數(shù)據(jù)庫(kù)的恢復(fù)時(shí)間,并試圖保證用戶指定的最小恢復(fù)間隔??蓪?shí)現(xiàn)一些實(shí)施例,其中最小恢復(fù)間隔需要由用戶指定,而無(wú)需指定如下參數(shù)(1)啟動(dòng)期間的IO目標(biāo)或(2)最后一個(gè)檢查點(diǎn)后的日志的邊界。IO目標(biāo)基于用戶,該用戶知曉I/O系統(tǒng)如何執(zhí)行以及規(guī)定用戶愿意在恢復(fù)期間引發(fā)的I/O的量。最后一個(gè)檢查點(diǎn)之后的日志的邊界被用于限定應(yīng)重做的日志。對(duì)最后一個(gè)檢查點(diǎn)之后的日志的邊界,用戶必須理解其系統(tǒng)的重做速度并設(shè)置這一目標(biāo)。這兩個(gè)設(shè)置要求用戶很好地理解其環(huán)境并根據(jù)所需的恢復(fù)間隔推斷各值。相反,此處的一些實(shí)施例包括其中系統(tǒng)可動(dòng)態(tài)地學(xué)習(xí)類似特征的功能。此外,可實(shí)現(xiàn)各實(shí)施例以按照FirstDirtiedLSN(首次弄臟LSN)次序維護(hù)分區(qū)列表,其中FirstDirtiedLSN是首次弄臟頁(yè)的日志記錄的LSN。各實(shí)施例可使用可在無(wú)需總體次序的情況下使用分區(qū)列表的算法。說(shuō)明性地,每一數(shù)據(jù)庫(kù)可維護(hù)臟緩沖區(qū)的列表。列表可按照FirstDirtiedLSN的次序排序。在存儲(chǔ)器中的數(shù)據(jù)頁(yè)的生存周期中,可在其被寫入持久存儲(chǔ)之前對(duì)其應(yīng)用多個(gè)改變。FirstDirtiedLSN表示頁(yè)面的這些尚未保存的更新中的最早一個(gè)。盡管在概念上,每一數(shù)據(jù)庫(kù)可被認(rèn)為具有單個(gè)列表,但為了避免全局資源上的爭(zhēng)用,可對(duì)每一處理器維護(hù)一個(gè)列表。使用列表的組件可被設(shè)計(jì)成處理部分次序。各實(shí)施例可實(shí)現(xiàn)間接檢查點(diǎn)。具體地,周期性地,數(shù)據(jù)庫(kù)執(zhí)行輕量間接檢查點(diǎn),該檢查點(diǎn)使用臟頁(yè)列表記錄最小恢復(fù)LSN(即,來(lái)自重做應(yīng)開始處的LSN)。然而,間接檢查點(diǎn)本身不執(zhí)行任何頁(yè)寫入,而是能夠通過(guò)基于其它機(jī)制執(zhí)行的寫入記錄最小恢復(fù)LSN來(lái)優(yōu)化恢復(fù)。如此處所用,“周期性”不必定需要操作以給定間隔進(jìn)行,但也不排除操作以給定間隔進(jìn)行。相反,“周期性”可包括隨機(jī)或偽隨機(jī)時(shí)間周期、增加或減少的時(shí)間周期、恒定間隔的時(shí)間周期或任何其它合適的時(shí)間周期。各實(shí)施例可通過(guò)僅對(duì)弄臟的頁(yè)進(jìn)行操作來(lái)優(yōu)化。即使在非常大的系統(tǒng)上,這些臟頁(yè)通常也僅是整個(gè)存儲(chǔ)器的一小部分。現(xiàn)在參考圖1,示出了示例環(huán)境。圖I示出緩沖池102。緩沖池102將數(shù)據(jù)庫(kù)頁(yè)(此處一般稱為104,但是在104-1、104-2、104-3、104-4和104-5示出了具體示例)存儲(chǔ)在存儲(chǔ)器中。每一數(shù)據(jù)庫(kù)頁(yè)是被配置成存儲(chǔ)數(shù)據(jù)庫(kù)數(shù)據(jù)的預(yù)定大小的存儲(chǔ)器量。每一頁(yè)具有頭部(一般被稱為106,但是在106-1、106-2、106-3、106-4和106-5具體示出)。在所示示例中,頭部存儲(chǔ)了頁(yè)面標(biāo)識(shí)符和LSN。例如,頭部106-1具有頁(yè)面標(biāo)識(shí)符01和LSN 101。頭部106中的LSN標(biāo)識(shí)了對(duì)頁(yè)面作出最后即最新近改變的LSN。頭部106中的LSN有時(shí)被稱為pageLSN(頁(yè)LSN)。如下所示,pageLSN與存儲(chǔ)在臟頁(yè)列表114中的LSN不同。頭部104還可包括對(duì)頁(yè)104是臟的的指示。在所示示例中,如果頁(yè) 為臟,則頭部106包括D。然而,在實(shí)踐中,各實(shí)施例可具有單個(gè)臟位或其它指示符來(lái)指示頁(yè)104是臟的。一般而言,當(dāng)緩沖池102中的頁(yè)104在從持久存儲(chǔ)112讀取或被寫入持久存儲(chǔ)112之后被寫入(即,使頁(yè)中的值改變)時(shí),頁(yè)104為臟。具體地,緩沖池102中的臟頁(yè)104有可能(但不必)與存儲(chǔ)在持久存儲(chǔ)112中的同一頁(yè)不同。例如,在一些實(shí)施例中,頁(yè)可能為臟,即使導(dǎo)致頁(yè)為臟的動(dòng)作包括用相同的值重寫頁(yè)104中的值,或頁(yè)中的值被寫成某一其它值然后使值還原成原始值。每一頁(yè)還具有數(shù)據(jù)部分,此處一般稱為108,但在108-1、108-2、108-3、108-4和108-5具體示出。數(shù)據(jù)部分存儲(chǔ)要對(duì)數(shù)據(jù)庫(kù)頁(yè)操作的數(shù)據(jù)庫(kù)數(shù)據(jù)。如圖所示,一個(gè)或多個(gè)處理器(此處一般稱為110,但在110-1-110-n具體示出)可用于從持久存儲(chǔ)112讀取數(shù)據(jù),并將數(shù)據(jù)寫入緩沖池102。持久存儲(chǔ)112例如可以是一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器、一個(gè)或多個(gè)閃存驅(qū)動(dòng)器、一個(gè)或多個(gè)磁帶驅(qū)動(dòng)器或可保存數(shù)據(jù)的其它存儲(chǔ),具體地在一些實(shí)施例中,持久存儲(chǔ)112可保存數(shù)據(jù)而無(wú)需對(duì)持久存儲(chǔ)設(shè)備施加電力來(lái)保存數(shù)據(jù)。圖I還示出了臟頁(yè)列表,一般被稱為114,但在114-1到114-n具體示出,在該示例中,n等效于用于處理器110的n,如下將更詳細(xì)描述。盡管示出了示例示出了非分區(qū)緩沖池,但應(yīng)理解,在其它實(shí)施例中,緩沖池本身可被分區(qū),例如在非統(tǒng)一存儲(chǔ)器訪問(wèn)(NUMA)機(jī)器的情況中。此處的實(shí)施例可對(duì)NUMA機(jī)器良好運(yùn)作。在所示示例中,每一物理恢復(fù)單元維護(hù)以其FirstDirtiedLSN的升序鏈接的臟緩沖區(qū)的列表。當(dāng)干凈的緩沖區(qū)被頁(yè)操作弄臟時(shí),相應(yīng)的LSN被標(biāo)記為頁(yè)104的FirstDirtiedLSN0對(duì)頁(yè)面的相繼更新更新了頭部106的pageLSN,但不會(huì)影響臟頁(yè)列表104中包括的FirstDirtiedLSN。干凈的緩沖區(qū)不具有與之相關(guān)聯(lián)的FirstDirtiedLSN。當(dāng)臟緩沖區(qū)被保存在持久存儲(chǔ)112中時(shí),該FirstDirtiedLSN值被復(fù)位成NULL。與pageLSN不同,在頁(yè)在緩沖池中為臟時(shí)FirstDirtiedLSN適用,從而它不必被保存。每一緩沖區(qū)頭部106包含與緩沖區(qū)頁(yè)104相關(guān)聯(lián)的FirstDirtiedLSN的值;當(dāng)緩沖區(qū)頁(yè)104被首次修改并被插入到臟頁(yè)列表114時(shí),該值被置位。盡管在概念上,可對(duì)物理恢復(fù)單元概念化單個(gè)臟頁(yè)列表,但維護(hù)一個(gè)臟頁(yè)列表可能會(huì)引入瓶頸。從而,可實(shí)現(xiàn)一些實(shí)施例,在其中臟頁(yè)列表114被分區(qū)以使得為每個(gè)處理器110維護(hù)一個(gè)臟頁(yè)列表114。在一些實(shí)施例中,每一臟頁(yè)列表114由單獨(dú)的旋轉(zhuǎn)鎖保護(hù)。弄臟干凈的緩沖區(qū)頁(yè)104并更新FirstDirtiedLSN的線程(或處理器110)向與其處理器110相關(guān)聯(lián)的列表添加緩沖區(qū)條目。添加緩沖區(qū)條目可包括將緩沖區(qū)條目添加到臟頁(yè)列表114中的適當(dāng)位置,并將緩沖區(qū)條目適當(dāng)?shù)?即,按次序)鏈接到其它緩沖區(qū)條目。當(dāng)頁(yè)面104被寫入持久存儲(chǔ)112時(shí),從適當(dāng)?shù)牧斜碇幸瞥彌_區(qū)條目。以下說(shuō)明了各個(gè)過(guò)程。以下所述的過(guò)程被設(shè)計(jì)成它們不必從多個(gè)臟頁(yè)列表構(gòu)造單個(gè)臟頁(yè)列表114或查看到臟頁(yè)列表的一致視圖(這可能包括周期性地阻塞對(duì)列表的改變)。如圖I中所示,在緩沖區(qū)條目結(jié)構(gòu)中維護(hù)FirstDirtiedLSN。在所示示例中,如圖I中所示的緩沖區(qū)條目結(jié)構(gòu)還維護(hù)至臟頁(yè)列表114中的鄰 近緩沖區(qū)條目的鏈接。然而,這不是必需的。具體地,在一個(gè)示例中,維護(hù)FirstDirtiedLSN以及至臟頁(yè)列表中下一條目的鏈接的結(jié)構(gòu)可處于緩沖區(qū)條目結(jié)構(gòu)之外,而緩沖區(qū)條目結(jié)構(gòu)可僅具有對(duì)此外部結(jié)構(gòu)的引用。在一些實(shí)施例中,對(duì)臟頁(yè)列表114的分區(qū)是通過(guò)為每個(gè)主要調(diào)度器維護(hù)一個(gè)列表來(lái)實(shí)現(xiàn)的,其中給定主要調(diào)度器負(fù)責(zé)為給定處理器調(diào)度工作。每一列表受到旋轉(zhuǎn)鎖的保護(hù)。使用隱藏調(diào)度器作為用于調(diào)度和控制內(nèi)部/后臺(tái)任務(wù)的處理器時(shí)間切片的附加調(diào)度器。使這些后臺(tái)任務(wù)在單獨(dú)的調(diào)度器上獨(dú)立調(diào)度,確保了它們不會(huì)與用戶活動(dòng)爭(zhēng)用資源(以及餓死)。隱藏調(diào)度器使用與主要調(diào)度器相關(guān)聯(lián)的列表,主要調(diào)度器與當(dāng)前的工作程序正在其上運(yùn)行的處理器110相關(guān)聯(lián)。弄臟干凈的緩沖區(qū)并更新FirstDirtiedLSN的工作程序?qū)⒕彌_區(qū)條目添加到與其調(diào)度器相關(guān)聯(lián)的臟頁(yè)列表114。當(dāng)頁(yè)被寫入持久存儲(chǔ)之后,由處理IO完成的工作程序?qū)⒕彌_區(qū)條目從其相應(yīng)的臟頁(yè)列表114移除。由于IO完成是在上下文切換期間處理的,列表訪問(wèn)可使用非掛起同步對(duì)象(諸如旋轉(zhuǎn)鎖)來(lái)同步。各實(shí)施例可實(shí)現(xiàn)并利用檢查點(diǎn)和間接檢查點(diǎn)。在一些實(shí)施例中,檢查點(diǎn)如下操作各實(shí)施例,寫入標(biāo)記檢查點(diǎn)的起始的開始檢查點(diǎn)日志記錄。與開始檢查點(diǎn)日志記錄相關(guān)聯(lián)的LSN是CheckpointLSN(檢查點(diǎn)LSN)。日志118被刷新至CheckpointLSN0 (2)各實(shí)施例可執(zhí)行高速緩存刷新。這可包括在緩沖池102中刷新臟數(shù)據(jù)頁(yè)。執(zhí)行對(duì)緩沖池的隨機(jī)走查以定位和寫入在該檢查點(diǎn)開始之前弄臟的所有臟頁(yè)。(3)各實(shí)施例可考慮活動(dòng)事務(wù)信息。生成包含關(guān)于活動(dòng)事務(wù)的信息的日志記錄。這些記錄用于分析以構(gòu)造事務(wù)表。(4)各實(shí)施例然后可刷新Delta(增量)計(jì)數(shù),提交表內(nèi)容等。(5)各實(shí)施例可寫入標(biāo)記檢查點(diǎn)的結(jié)尾的日志記錄。該日志記錄標(biāo)注CheckpointLSN和MinRecoveryLSN(最小恢復(fù)LSN)。MinRecoveryLSN是所有臟頁(yè)列表114中的緩沖區(qū)條目之中的FirstDirtiedLSN的最小值。MinRecoveryLSN當(dāng)前被設(shè)為CheckpointLSN,因?yàn)楦咚倬彺嫠⑿虏襟E中的邏輯確保在CheckpointLSN之前沒(méi)有需要重做的日志記錄。分析在MinRecoveryLSN開始。日志118中記錄的活動(dòng)日志信息可用于獲取關(guān)于可能在MinRecoveryLSN之前啟動(dòng)的事務(wù)的信息,而不必實(shí)際地從最老的活動(dòng)事務(wù)開始掃描日志118。(6)各實(shí)施例可將CheckpointLSN寫入數(shù)據(jù)庫(kù)引導(dǎo)頁(yè)。(7)更新日志截?cái)郘SN來(lái)反映成功的檢查點(diǎn)。一些實(shí)施例可實(shí)現(xiàn)間接檢查點(diǎn)。間接檢查點(diǎn)是輕量檢查點(diǎn),其不會(huì)將頁(yè)或改變寫入持久存儲(chǔ),但會(huì)記錄標(biāo)識(shí)最老臟頁(yè)的信息。對(duì)間接檢查點(diǎn),高速緩存刷新不會(huì)寫入臟頁(yè)。相反,它計(jì)算作為最早的日志記錄的MinRecoveryLSN,恢復(fù)的分析和重做階段應(yīng)從該日志記錄開始掃描日志118。MinRecoveryLSN是物理恢復(fù)單元中的臟頁(yè)列表中的臟緩沖區(qū)之中的FirstDirtiedLSN的最小值。可實(shí)現(xiàn)其中結(jié)尾檢查點(diǎn)日志記錄將與CheckpointLSN分開地標(biāo)注MinRecoveryLSN的間接檢查點(diǎn)實(shí)施例,因?yàn)閮烧呔鶎⒃诜治鲭A段使用??蓪?shí)現(xiàn)其中MinRecoveryLSN和CheckpointLSN均分開寫入引導(dǎo)頁(yè)的間接檢查點(diǎn)實(shí)施例??蓪?shí)現(xiàn)其中MinRecoveryLSN可比CheckpointLSN早的間接檢查點(diǎn)實(shí)施例,從而日志截?cái)嗫捎蛇@些值的最小值門控。由于在一些實(shí)施例中,頁(yè)操作日志記錄是在更新pageLSN和標(biāo)記頁(yè)面為臟之前生成的,各實(shí)施例可能有生成了日志記錄但未被標(biāo)記為臟且因此未被插入到臟頁(yè)列表中的頁(yè)。可實(shí)現(xiàn)對(duì)MinRecoveryLSN的計(jì)算以便不會(huì)錯(cuò)過(guò)這樣的頁(yè),因?yàn)樵诨謴?fù)期間會(huì)跳過(guò)對(duì)這些頁(yè)的更新。這是如下實(shí)現(xiàn)的當(dāng)弄臟緩沖區(qū)時(shí),跟著進(jìn)行以下步驟(I)臟頁(yè)列表114中的緩沖區(qū)條目被準(zhǔn)備好弄臟。這是通過(guò)(a)設(shè)置檢查點(diǎn)生成以及(b)將緩沖區(qū)條目添加到臟頁(yè)列表114的頭部,并將FirstDirtiedLSN設(shè)為NuIILSN來(lái)完成的。(2) 生成pageLog(頁(yè)面日志)記錄并修改頁(yè)面104。(3)使緩沖區(qū)條目指示頁(yè)104為臟。在將頁(yè)標(biāo)記為臟之前,F(xiàn)irstDirtiedLSN被設(shè)為來(lái)自步驟2的pageLSN,且在臟頁(yè)列表114中移動(dòng)緩沖區(qū)條目以維護(hù)經(jīng)排序的次序。這可在臟頁(yè)列表114旋轉(zhuǎn)鎖定的情況下進(jìn)行。在一些實(shí)施例中,檢查點(diǎn)線程如下計(jì)算MinRecoveryLSN (I)如果在臟頁(yè)列表114中存在其FirstDirtiedLSN為NullLSN、且在較老的檢查點(diǎn)生成中弄臟的任何緩沖區(qū)條目,則檢查點(diǎn)線程等待該緩沖區(qū)上的更新鎖存。更新模式鎖存確保在有其它線程可讀取頁(yè)的同時(shí),沒(méi)有其它實(shí)體可修改該頁(yè)。(2) 一旦所有的緩沖區(qū)條目或者在新檢查點(diǎn)生成中被弄臟或者具有有效的FirstDirtiedLSN,將MinRecoveryLSN計(jì)算為所有臟頁(yè)列表114中的緩沖區(qū)條目之中的FirstDirtiedLSN的最小值。各實(shí)施例可包括用于估計(jì)和限制恢復(fù)時(shí)間的功能。數(shù)據(jù)庫(kù)恢復(fù)可包括三個(gè)階段,即分析、重做和撤銷。還將撤銷階段進(jìn)一步分成撤銷系統(tǒng)事務(wù)和隨后撤銷用戶事務(wù)。在一些實(shí)施例中,直到系統(tǒng)事務(wù)撤銷完成之前,數(shù)據(jù)庫(kù)不可用??墒箶?shù)據(jù)庫(kù)可用于在并發(fā)運(yùn)行撤銷時(shí)進(jìn)行用戶連接。由于系統(tǒng)事務(wù)不頻繁且較短,系統(tǒng)事務(wù)撤銷可以近乎瞬時(shí)。從而,數(shù)據(jù)庫(kù)可用性中的延遲很大程度上是由分析和重做階段花費(fèi)的時(shí)間來(lái)確定的。在所示示例中,分析階段包括對(duì)日志118進(jìn)行順序掃描、并構(gòu)建諸如臟頁(yè)表等存儲(chǔ)器中數(shù)據(jù)結(jié)構(gòu)和在后續(xù)恢復(fù)遍期間使用的事務(wù)表的遍。可在分析中花費(fèi)的時(shí)間很大程度上由日志118的活動(dòng)部分的順序10所需的時(shí)間確定的假設(shè)下實(shí)現(xiàn)各實(shí)施例。重做階段包括使用小的隨機(jī)10將數(shù)據(jù)頁(yè)集合從持久存儲(chǔ)112讀入緩沖池102的遍。重做階段所需的時(shí)間依賴于從持久存儲(chǔ)112對(duì)所有受影響的數(shù)據(jù)頁(yè)的讀取效率有多高。重做遍還訪問(wèn)日志118中與由分析階段所讀取的相同的部分。在一些實(shí)施例中,不必考慮日志讀取的10,因?yàn)?a)如果日志118和數(shù)據(jù)處于分開的持久存儲(chǔ)設(shè)備(通常如此)上,則10成本被讀入臟頁(yè)的成本掩蓋,以及(b)分析階段期間讀取的日志118的尾部可被高速緩存以便在重做期間重新使用。數(shù)據(jù)庫(kù)的恢復(fù)時(shí)間可如下大致估計(jì)—f活動(dòng)日志的大小)f#來(lái)自單個(gè)磁盤的最大獨(dú)特隨機(jī)數(shù)據(jù)10)
I~磁盤帶寬~J I隨機(jī)IO的等待時(shí)間J可對(duì)其中以下為真或至少大致為真的實(shí)施例進(jìn)行優(yōu)化。要在恢復(fù)期間掃描的活動(dòng)日志118的大小比日志118中的典型事務(wù)的覆蓋區(qū)的跨度大得多。這對(duì)其中大多數(shù)事務(wù)較短的典型的在線事務(wù)處理工作負(fù)荷通常為真。頁(yè)寫入被記錄在日志118中且可在分析遍中被發(fā)現(xiàn)。在一些實(shí)施例中,為具有對(duì)應(yīng)于最老的頁(yè)寫入的FlushLSN(刷新LSN)的頁(yè)集合生成頁(yè)寫入日志記錄。這可招致恢復(fù)期間對(duì)一些頁(yè)面的浪費(fèi)的頁(yè)讀取。一些實(shí)施例在估計(jì)限制臟頁(yè)的閾值時(shí)忽視這一不準(zhǔn)確性。在一些實(shí)施例中,假定數(shù)據(jù)庫(kù)的數(shù)據(jù)和日志118日志處于分開的持久存儲(chǔ)設(shè)備上,如圖I中所示。如果在數(shù)據(jù)庫(kù)中存在多個(gè)數(shù)據(jù)文件,一些實(shí)施例可假定它們處于分開的存儲(chǔ)設(shè)備上,如圖I中的持久存儲(chǔ)112中包括的多個(gè)存儲(chǔ)設(shè)備所示。可擴(kuò) 展實(shí)施例以使用文件系統(tǒng)API來(lái)檢測(cè)位于同處的文件。取決于所使用的數(shù)據(jù)庫(kù)的類型,數(shù)據(jù)庫(kù)中的數(shù)據(jù)布局可能對(duì)系統(tǒng)是已知的(或可使其對(duì)系統(tǒng)已知)??蓪?shí)現(xiàn)其中數(shù)據(jù)基本上在所涉及的文件上均勻分布的實(shí)施例。然而,可通過(guò)基于對(duì)所有文件的平均測(cè)量而計(jì)算推斷來(lái)實(shí)現(xiàn)其中數(shù)據(jù)不是均勻分布在所涉及的文件上的替換實(shí)施例。如上可見,臟頁(yè)列表114可具有臟緩沖區(qū)及其相應(yīng)的用于RecoveryUnit (恢復(fù)單元)的FirstDirtiedLSN。在給定時(shí)間,MinrecoveryLSN是所有臟緩沖區(qū)的最小FirstDirtiedLSNo 按照 FirstDirtiedLSN 的升序發(fā)出頁(yè)寫入,確保 MinRecoveryLSN 保持前進(jìn),從而限制所需重做的數(shù)量。當(dāng)允許數(shù)據(jù)庫(kù)進(jìn)行快速恢復(fù)時(shí),快速恢復(fù)寫入器116使用可用的計(jì)算資源在后臺(tái)中連續(xù)寫入臟頁(yè),以便限制恢復(fù)期間的重做工作。如上所述,快速恢復(fù)寫入器116結(jié)合使用間接檢查點(diǎn)可有助于減少恢復(fù)時(shí)間??烧{(diào)整快速恢復(fù)寫入器116所進(jìn)行的后臺(tái)寫入的步伐,以提高后臺(tái)寫入的速率或降低后臺(tái)寫入的速率。例如,當(dāng)弄臟頁(yè)104的速率提升時(shí),可調(diào)整快速恢復(fù)寫入器116來(lái)提高后臺(tái)寫入的速率。在另一示例中,當(dāng)日志118的活動(dòng)部分的增加的速率顯著高于使用后臺(tái)寫入使MinRecoveryLSN前進(jìn)的能力時(shí),可調(diào)整快速恢復(fù)寫入器116以增加后臺(tái)寫入的速率。當(dāng)弄臟頁(yè)104的速率下降時(shí),可調(diào)整快速恢復(fù)寫入器116來(lái)降低后臺(tái)寫入的速率以節(jié)省系統(tǒng)資源。當(dāng)日志118的活動(dòng)部分的增加的速率顯著低于使用后臺(tái)寫入使MinRecoveryLSN前進(jìn)的能力時(shí),可調(diào)整快速恢復(fù)寫入器116以降低后臺(tái)寫入的速率。各實(shí)施例可包括用于估計(jì)分析階段中花費(fèi)的時(shí)間的功能。以下示出了可用于估計(jì)在分析階段中花費(fèi)的時(shí)間的示例公式
八卞斤時(shí)■間—(MinRecoveryLSN,EndOfLogLSN (日志結(jié)尾LSN))間的空間間隔 刀 'LogProcessingRate (日志處理速率)為了簡(jiǎn)化該模型,各實(shí)施例可假定,為要在分析階段期間處理的日志118的每個(gè)字節(jié),完成了固定量的工作。從而,可例如通過(guò)假定分析遍受到對(duì)持久存儲(chǔ)的IO操作限制,且因此使用在運(yùn)行時(shí)觀察到的順序帶寬來(lái)作為預(yù)期的日志處理速率,來(lái)計(jì)算LogProcessingRate (日志處理速率)。在替換實(shí)施例中,實(shí)施例可使用對(duì)分析時(shí)間和從之前恢復(fù)處理的日志字節(jié)的測(cè)量來(lái)估計(jì)日志處理速率??筛郊拥鼗蛱鎿Q地使用這些和其它估計(jì)方法的組合。各實(shí)施例可包括用于確定可在重做階段期間發(fā)出的數(shù)據(jù)IO的數(shù)量的功能。以下
示出了可用于這樣的判斷的示例公式
權(quán)利要求
1.一種在計(jì)算環(huán)境中的管理數(shù)據(jù)庫(kù)恢復(fù)時(shí)間的方法,所述方法包括 (a)接收指定數(shù)據(jù)庫(kù)的目標(biāo)恢復(fù)時(shí)間的用戶輸入(202); (b)確定從持久存儲(chǔ)讀取數(shù)據(jù)庫(kù)的數(shù)據(jù)頁(yè)的時(shí)間量(204); (c)確定處理數(shù)據(jù)庫(kù)的日志記錄以對(duì)數(shù)據(jù)頁(yè)應(yīng)用日志記錄中指定的改變的時(shí)間量(206); (d)確定如果發(fā)生數(shù)據(jù)庫(kù)故障則當(dāng)前要在恢復(fù)中讀取的臟頁(yè)的數(shù)量(208); (e)確定如果發(fā)生數(shù)據(jù)庫(kù)故障則要在恢復(fù)中處理的日志記錄的數(shù)量(210); (f)根據(jù)指定的目標(biāo)恢復(fù)時(shí)間,調(diào)整當(dāng)前要在恢復(fù)中讀取的臟頁(yè)的數(shù)量或要在恢復(fù)中處理的日志記錄的數(shù)量中的至少一個(gè)(212)。
2.如權(quán)利要求I所述的方法,其特征在于,在正在進(jìn)行的基礎(chǔ)上重復(fù)所述動(dòng)作(d)、(e)和(f)以試圖在數(shù)據(jù)庫(kù)操作的一段時(shí)間上維持期望的恢復(fù)時(shí)間。
3.如權(quán)利要求I所述的方法,其特征在于,確定當(dāng)前要在恢復(fù)中要讀取的臟頁(yè)的數(shù)量是基于一個(gè)或多個(gè)臟頁(yè)列表來(lái)確定的。
4.如權(quán)利要求2所述的方法,其特征在于,所述一個(gè)或多個(gè)臟頁(yè)列表是基于輕量檢查點(diǎn)來(lái)維護(hù)的,輕量檢查點(diǎn)不對(duì)持久存儲(chǔ)寫入頁(yè)或改變,而是記錄標(biāo)識(shí)最老臟頁(yè)的信息。
5.如權(quán)利要求2所述的方法,其特征在于,按照調(diào)度器維護(hù)一個(gè)或多個(gè)臟頁(yè)列表。
6.如權(quán)利要求I所述的方法,其特征在于,接收指定數(shù)據(jù)庫(kù)的目標(biāo)恢復(fù)時(shí)間的用戶輸入是在不接收指定啟動(dòng)期間的IO目標(biāo)或最后一個(gè)檢查點(diǎn)之后的日志邊界的附加用戶輸入的情況下完成的。
7.如權(quán)利要求I所述的方法,其特征在于,確定從持久存儲(chǔ)讀取數(shù)據(jù)庫(kù)的數(shù)據(jù)頁(yè)的時(shí)間量是基于數(shù)據(jù)庫(kù)的持久存儲(chǔ)的觀察到的IO特征的。
8.如權(quán)利要求I所述的方法,其特征在于,根據(jù)指定的目標(biāo)恢復(fù)時(shí)間,調(diào)整當(dāng)前要在恢復(fù)中讀取的臟頁(yè)的數(shù)量或要在恢復(fù)中處理的日志記錄的數(shù)量中的至少一個(gè)是基于數(shù)據(jù)庫(kù)中的持久存儲(chǔ)設(shè)備的數(shù)量的。
9.如權(quán)利要求I所述的方法,其特征在于,根據(jù)指定的目標(biāo)恢復(fù)時(shí)間,調(diào)整當(dāng)前要在恢復(fù)中讀取的臟頁(yè)的數(shù)量或要在恢復(fù)中處理的日志記錄的數(shù)量中的至少一個(gè)是基于鄰近因數(shù)的,其中鄰近因數(shù)基于數(shù)據(jù)庫(kù)增長(zhǎng)大小,數(shù)據(jù)庫(kù)增長(zhǎng)大小確定可按照順序讀取方式從持久存儲(chǔ)中讀取的數(shù)據(jù)頁(yè)的數(shù)量。
10.如權(quán)利要求I所述的方法,其特征在于,調(diào)整當(dāng)前要在恢復(fù)中讀取的臟頁(yè)的數(shù)量或要在恢復(fù)中處理的日志記錄的數(shù)量中的至少一個(gè)包括使用盡力寫入來(lái)將頁(yè)寫入持久存儲(chǔ)中。
11.一個(gè)或多個(gè)包括計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),這些指令當(dāng)由一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得以下動(dòng)作被執(zhí)行 (a)標(biāo)識(shí)數(shù)據(jù)庫(kù)的目標(biāo)恢復(fù)時(shí)間; (b)確定讀取數(shù)據(jù)庫(kù)中已經(jīng)被持久存儲(chǔ)的數(shù)據(jù)頁(yè)的時(shí)間量(204); (c)確定處理數(shù)據(jù)庫(kù)的日志記錄以對(duì)數(shù)據(jù)頁(yè)應(yīng)用所述日志記錄中指定的改變的時(shí)間量(206); (d)確定如果發(fā)生數(shù)據(jù)庫(kù)故障則將要在恢復(fù)中讀取的臟頁(yè)的數(shù)量(208); (e)確定要在恢復(fù)中處理的日志記錄的數(shù)量(210);(f)根據(jù)標(biāo)識(shí)的目標(biāo)恢復(fù)時(shí)間,調(diào)整當(dāng)前要在恢復(fù)中讀取的臟頁(yè)的數(shù)量或要在恢復(fù)中處理的日志記錄的數(shù)量中的至少一個(gè)(212)。
12.如權(quán)利要求11所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,在正在進(jìn)行的基礎(chǔ)上重復(fù)所述動(dòng)作(d)、(e)和(f)以試圖在數(shù)據(jù)庫(kù)操作的一段時(shí)間上維持期望的恢復(fù)時(shí)間。
13.如權(quán)利要求11所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,確定如果發(fā)生數(shù)據(jù)庫(kù)故障則將要在恢復(fù)中讀取的臟頁(yè)的數(shù)量是基于一個(gè)或多個(gè)臟頁(yè)列表來(lái)確定的。
14.如權(quán)利要求13所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述一個(gè)或多個(gè)臟頁(yè)列表是基于輕量檢查點(diǎn)來(lái)維護(hù)的,輕量檢查點(diǎn)不對(duì)持久存儲(chǔ)寫入頁(yè)或改變,而是記錄標(biāo)識(shí)最老臟頁(yè)的信息。
15.如權(quán)利要求13所述的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述一個(gè)或多個(gè)臟頁(yè)列表是按照調(diào)度器維護(hù)的。
全文摘要
管理數(shù)據(jù)庫(kù)恢復(fù)時(shí)間。一方法包括接收指定數(shù)據(jù)庫(kù)的目標(biāo)恢復(fù)時(shí)間的用戶輸入。該方法還包括確定從持久存儲(chǔ)讀取數(shù)據(jù)庫(kù)的數(shù)據(jù)頁(yè)的時(shí)間量。該方法還包括確定處理數(shù)據(jù)庫(kù)的日志記錄以對(duì)數(shù)據(jù)頁(yè)應(yīng)用日志記錄中指定的改變的時(shí)間量。該方法還包括確定如果發(fā)生數(shù)據(jù)庫(kù)故障則當(dāng)前要在恢復(fù)中要讀取的臟頁(yè)的數(shù)量。該方法還包括確定如果發(fā)生數(shù)據(jù)庫(kù)故障則要在恢復(fù)中處理的日志記錄的數(shù)量。該方法還包括調(diào)整當(dāng)前要在恢復(fù)中讀取的臟頁(yè)的數(shù)量或要在恢復(fù)中處理的日志記錄的數(shù)量中的至少一個(gè)以滿足指定的目標(biāo)恢復(fù)時(shí)間。
文檔編號(hào)G06F17/30GK102682069SQ20121005293
公開日2012年9月19日 申請(qǐng)日期2012年3月2日 優(yōu)先權(quán)日2011年3月4日
發(fā)明者H·R·科達(dá)瓦拉, R·D·達(dá)曼卡 申請(qǐng)人:微軟公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
铁岭市| 清流县| 汤原县| 兴海县| 东宁县| 雷山县| 区。| 辉南县| 皋兰县| 长白| 宣城市| 合江县| 攀枝花市| 英吉沙县| 兰西县| 宁远县| 郑州市| 镇沅| 修武县| 建瓯市| 中江县| 东港市| 宁城县| 文山县| 荥阳市| 湛江市| 大理市| 新晃| 曲周县| 凌源市| 射阳县| 灵丘县| 盘山县| 舒兰市| 兴海县| 建始县| 佛教| 湖口县| 仙桃市| 桂阳县| 墨玉县|