新四季網

邏輯日誌生成方法、資料庫備份/恢復方法與系統的製作方法

2023-05-30 22:19:56 2


專利名稱::邏輯日誌生成方法、資料庫備份/恢復方法與系統的製作方法
技術領域:
:本發明涉及計算機領域,尤其涉及一種邏輯日誌生成方法及資料庫備份方法、恢復方法和資料庫備份系統。
背景技術:
:隨著計算機技術的不斷發展,資料庫的備份成為保存資料庫信息的一個重要手段,而資料庫管理系統就是用來管理大量的資料庫悽t據的系統。目前所用的資料庫備份方法主要包括物理備份和邏輯日誌備份兩種。物理備份是將某時間點資料庫的存儲內容複製到多個存儲設備如磁帶、磁碟上保存起來的過程,它是資料庫備份中採用的基本手段。若單獨採用物理備份,則在備份過程中必須禁止用戶對資料庫的訪問,即物理備份期間資料庫應當處於關閉狀態,否則如果在物理備份過程中有用戶對正在備份的資料庫進行訪問,例如該訪問對存儲空間內的存儲結果進行了修改,則在修改時間點之前已備份的存儲空間的最後修改結果沒有得到備份,此次物理備份只備份了修改時間點之後進行備份的存儲空間的修改結果。可見,現有技術物理備份過程中需要阻塞操作請求,即物理備份過程會阻塞用戶的新的操作請求,反而言知,每次物理備份必須避開操作請求時間,在對資料庫的長時間連續的業務請求情況下,兩次物理備份的時間間隔會需要很長,進一步會導致資料庫備份不及時,在資料庫出現故障時,容易丟失大量有用數據;如果物理備份時間間隔較短,則導致系統頻繁地進行備份,新的操作請求不斷受阻。曰志是用來記錄每次對資料庫的訪問操作的文件。邏輯日誌備份是指對資料庫進行訪問時,將該次訪問的資料庫的過程記錄在邏輯日誌中,並將該邏輯日誌進行存儲。可見,邏輯日誌備份是備份資料庫的存儲空間的變化過程。現有的邏輯日誌中對操作的描述大部分為直接描述,因此重複執行某一條邏輯日誌時,如果兩次操作描述中操作對象的基礎狀態不同或操作對象不同會使得多次執行邏輯日誌的結果不一致。例如某一次對資料庫的操作在邏輯日誌中的操作描述可能是"把數據A的值增加5",則恢復資料庫時,多次重複執行這個操作後,後一次數據區中的數據值總比前一次大5。可見,操作對象的基礎狀態不同影響多次的操作結果;又例如某一次對資料庫的操作在邏輯日誌中的操作描述為"修改屬性類型為A且屬性值等於1的記錄,將其屬性值修改成2;修改屬性類型為A且屬性值等於2的記錄,將其屬性值修改成3",則恢復資料庫時,按照上述操作描述對數據區重新執行該操作時,由於第一次執行操作時將屬性類型為A且屬性值等於1的記錄中的該屬性值修改成2,因此,第二次執行操作時,相對於第一次操作來說,"屬性類型為A且屬性值等於2的記錄"這一操作描述包含的操作對象的範圍變化了,則第二次執行操作後,會把最初屬性類型為A且屬性值等於1的記錄也歸屬到屬性類型為A且屬性值等於3的集合中。可見,對於同一條邏輯日誌,該邏輯日誌的操作描述包含的操作對象不同也影響多次執行邏輯日誌的操作結果。若單獨採用邏輯日誌備份方法對資料庫進行備份,每次備份時必須把對資料庫的存儲空間的所有歷史邏輯日誌都記錄下來,這樣導致備份的數據量過大,且在恢復資料庫時,恢復延遲太大,有礙系統效率。為解決上述單獨採用邏輯日誌備份的缺陷,現有一種物理備份和邏輯曰志備份組合的資料庫備份方法,具體實施方法為使用物理備份方法定期對資料庫進行備份,每次物理備份完成時間點之後對資料庫進行邏輯日誌備份。即每次物理備份開始時間點之前的邏輯日誌執行結果都體現在物理備份中,物理備份完成時間點之後至卞一次物理備份開始之前的時間段間的邏輯日誌執行結果體現在邏輯日誌備份中。該方法在每次物理備份時只需要備份本次物理備份完成時間點之後的邏輯日誌,無需備份所有歷史邏輯日誌。但是採用該方法進行資料庫備份時,物理備份過程仍然需要阻塞操作請求,否則即使在物理備份過程中進行了邏輯日誌備份,但是恢復資料庫時,無法根據錯誤的物理備份結果恢復出正確的數據。例如,假設某次物理備份啟動時資料庫中有兩個數據A-10和B-10,在物理備份過程中,當物理備份完數據A且還沒開始備份數據B的某個時刻tl,如果對資料庫進行的一項操作請求包含操作描述為"將資料庫中的所有數據的當前值都增加5"的操作請求,則此時資料庫中的數據A和數據B的值都變為15,如果某個時刻t2(t2>tl)開始物理備^f分數據B,則物理備份完成後數據B的值為15,而由於數據A的值在資料庫才艮據上述操作請求進行相應操作時已經備份完成了,因此最後物理備份的結果為A=10,B=15。而物理備份過程中的邏輯日誌記錄中的描述為將資料庫中的所有數據的值都增加5,因此,當恢復資料庫時,會根據物理備份的結果"A=10,B=15"以及上述邏輯日誌,把資料庫中的數據恢復為"A=5,B=10"。或者,如果以物理備份的結果A:IO,B=15"為操作對象,重新執行描述為"將資料庫中的所有數據的值都增加5"的邏輯日誌,則執行一次該邏輯日誌後,恢復出的資料庫數據為A=15,B=20。可見,現有的物理備份和邏輯日誌備份組合方法中,物理備份過程仍然需要阻塞操作請求。綜上所述,本發明人發現現有的對資料庫進行物理備份的過程中,資料庫管理系統不允許接收新的操作請求。
發明內容本發明實施例提供一種邏輯日誌生成方法及資料庫備份方法、恢復方法和資料庫備份系統,用以解決現有技術中存在的物理備份過程中資料庫管理系統無法接收新的操作請求的問題。本發明實施例提供一種邏輯日誌生成方法,包括獲取對資料庫進行操作的操作請求中包含的操作描述;根據所述操作描述生成包含操作對象的唯一確定標識和操作類型標識的邏輯日誌;其中,所述操作類型標識包含刪除操作類型標識或覆蓋操作類型標識;當所述操作類型標識為覆蓋操作類型標識時,所述邏輯日誌還包括對操作對象進行覆蓋操作的覆蓋數據。採用上述的邏輯日誌生成方法,本發明實施例還提供一種資料庫備份方法,包括對數據區進行新的物理備份;將上一次物理備份啟動時刻之後至所述新的物理備份啟動時刻之前記錄的邏輯日誌備份至第一目錄下;將所述新的物理備份啟動時刻之後的邏輯曰志備份至第二目錄下。此外,本發明實施例還提供一種資料庫恢復方法,應用於對採用上述的資料庫備份方法備份的資料庫進行恢復,該方法包括使用物理備份的數據恢復出所述物理備份啟動時刻之前的數據區數據;執行所述物理備4分啟動時刻後備份的邏輯日誌。此外,本發明實施例還提供一種資料庫備份系統,包括邏輯日誌生成模塊、物理備份模塊、邏輯日誌備份模塊和數據區,其中邏輯日誌生成模塊,用於根據對資料庫進行操作的操作請求中包含的操作描述,生成包含操作對象的唯一確定標識、並包含操作類型標識為覆蓋操作類型標識或刪除操:作類型標識的邏輯日誌;物理備份模塊,用於根據物理備份觸發條件對所述數據區中存儲的數據進行物理備份;邏輯日誌備份模塊,用於對邏輯日誌生成模塊生成的邏輯日誌進行實時備份;並將所述物理備份啟動時刻之前的邏輯日誌和所述物理備份啟動時刻之後的邏輯日誌分別進行備份;數據區,用於存儲資料庫數據。本發明實施例提供的資料庫備份方法中,對數據區進行物理備份;將對資料庫進行操作的操作請求記錄為邏輯日誌並對生成的邏輯日誌進行實時備份;記錄邏輯日誌時,先根據對資料庫進行操作的操作請求包含的搡作描述生成包含操作對象的唯一確定標識及操作類型標識為覆蓋操作類型標識或刪除操作類型標識的邏輯日誌;備份邏輯日誌時,對邏輯日誌進行分流備份,具體為將上一次物理備份啟動時刻之後至本次物理備份啟動時刻之前記錄的邏輯日誌備份至第一目錄下;將本次物理備份啟動時刻之後的邏輯日誌備份至第二目錄下。因此,採用此方法實施例對數所庫備份時可實現如下有益效果1、資料庫的物理備份過程中邏輯日誌可記錄下資料庫的所有動作,實現對資料庫的實時備份,物理備份過程不再阻塞操作請求,實現了資料庫備份過程不中斷業務的要求,提高了系統的備份效率;2、邏輯備份時不需要備份所有的歷史邏輯日誌,而只需要根據物理備份啟動時刻,備份上一次物理備份啟動時刻至本次物理備份啟動時刻之間的邏輯日誌,極大地減少了邏輯日誌的備份量,縮短了系統的備份時間,再次提高了系統的備份效率。採用本發明實施例提供的資料庫備份方法,對資料庫進行恢復時,使用物理備份的數據恢復出物理備份啟動時刻之前的數據區數據;執行物理備份啟動時刻後備份的邏輯日誌即可。由於備份的邏輯日誌中,對資料庫進行操作的所有操作請求包含的操作描述都轉換成操作對象以唯一固定的標識表示的覆蓋操作類型或刪除操作類型的操作描述,因此,在恢復資料庫過程中執行邏輯日誌能帶來如下有益效果1、可以使資料庫在物理備份過程中接收新的操作請求,且能提高資料庫備份以及資料庫恢復的準確性和可靠性;2、資料庫恢復過程不需要重做所有的歷史邏輯日誌,減少了資料庫的恢復時間,提高了資料庫恢復效率。圖1為本發明實施例提供的資料庫備份方法中一次物理備份啟動之後邏輯日誌的實時備份流程圖;圖2為本發明實施例提供的一種資料庫備份系統結構示意圖。具體實施方式本發明實施例^提供一種邏輯日誌生成方法,用該方法生成邏輯日誌時,先獲取對資料庫進行操作的操作請求包含的操作描述;然後根據該操作描述生成包含操作對象的唯一確定標識和操作類型標識的邏輯日誌。此外,當生成邏輯曰志還可以包括對操作對象進行覆蓋操作的覆蓋數據。採用本發明實施例提供的方法,能實現多次執行邏輯日誌後操作對象的操作結果與執行邏輯日誌的次數無關。上述生成邏輯日誌的過程中,將原操作請求中的操作描述轉換成操作對象以唯一確定標識表示的、操作類型標識為覆蓋操作類型標識或刪除操作類型標識的操作描述。下面結合具體例子對本發明實施例提供的邏輯日誌的生成方法進行詳細描述。首先,為滿足在多次執行邏輯日誌時操作對象都相同的要求,實行如下操作描述轉換將每次操作涉及的操作對象分別使用表示唯一且範圍不可變的標識表示。較佳地,由於資料庫中的存取單位的地址或者存取單位的標識(ID)是一種唯一且固定不變的標識,因此對於每個操作描述,可以使用資料庫存儲空間的最小存取單位的地址或者存取單位的ID代表該操作描述包含的操作對象。例如一次刪除表數據的操作請求可能涉及幾個數據區內記錄的刪除,則進行操作描述轉換時,可以將被刪除記錄對應的存取單位的ID來表示對應的操作對象。其次,為了滿足操作對象的基礎狀態不影響操作結果的要求,實行如下操作類型轉換將操作描述包含的操作類型轉換成覆蓋操作類型或刪除操作類型。實行該操作類型轉換後,對同一個操作對象,重複執行邏輯日誌時是以轉換後的操作描述中的內容對操作對象的現有內容進行覆蓋或刪除,因此無論將該邏輯日誌運行多少次,對操作對象的操作結果都與操作一次的結果一致。如下表1所示,假設資料庫創建初期資料庫中一存儲區的標識(ID)為ChunklO,該存儲區ChunklO被均分為10個存儲單位,每個存儲單位用Slot表示,設每個存儲單位的標識用XMID表示,並設每一個存儲區只存放同一個數據表,每一個存儲單位Slot對應存儲一條記錄。每個Slot包括頭部信息區SoltHead和數據區SoltData:SoltHead中主要存儲可用操作類型標識;SoltData用於存儲用戶數據。假設SoltData中存儲的數據長度為8位,且每個SoltData中存儲的數據包括屬性標識(attributeID)和數值(value)兩部分,其中前4^f立存》文value^f直只十應的attributeID,後44立存方文value<直。表1tableseeoriginaldocumentpage11當資料庫管理系統接收一個關於ChunklO的操作請求時,該操作請求的操作對象可能是ChunklO中的幾個Slot的內容,因此可以先轉換操作描述包含的操作對象,將操作描述涉及到的每個Slot使用其對應的XMID表示。然後再將操作描述包含的操作類型轉換為覆蓋或刪除操作類型。轉換操作描述後的邏輯日誌記錄格式為"XMID+OperateType+SlotData"。其中,XMID由兩位ChunklD+兩位SlotID表示(SlotID為該Chunk中對應的Slot的ID)。OperateType為操作類型標識,對應於存儲區的SoltHead,該標識包括刪除操作類型標識和覆蓋操作類型標識兩類刪除操作類型標識對應於SoltHead的未使用狀態標記,覆蓋操作類型標識對應於SoltHead的使用狀態標記。例如,如果存儲區的SoltHead的使用狀態標記包括"0"和'T,兩種,其中SoltHead為"0"表示該存儲單元沒有使用,SoltHead為"1"表示該存儲單元已用於存儲數據,則可將OperateType根據兩大類操作類型設定其可以取值為"0"和"1","0"表示刪除操作類型,"1"表示覆蓋操作類型,即OperateType取值為"0"表示刪除該條邏輯日誌所指的Slot的數據區內容;OperateType取值為"1"表示使用該條邏輯日誌內記錄的SlotData覆蓋對應的Slot的數據區的數據。其中,刪除操作類型標識對應刪除操作,覆蓋操作類型標識對應增加操作、更新操作和增量更新操作等其餘非刪除操作。下面舉例對兩種不同的操作類型標識的邏輯日誌記錄方法進行詳細說明為表述方便,設所有的操作請求的操作對象都是存儲區ChunklO:1、OperateType為覆蓋操:作類型標識(非刪除操作類型標識)a、i曾力"己^L才喿4乍例如設當前ChunklO處於表1所示的狀態,資料庫管理系統接收了一條操作描述為"增加記錄(attributelD-0001,value=0011},,的操作請求,則先確定出該操作描述包含的操作對象,再根據該操作對象的存儲單元地址記錄邏輯曰志。例如要將所述記錄增加到ChunklO中SlotID為01的數據區,則對應該操作請求的邏輯日誌前4位為1001,第5位記為l表示覆蓋操作類型,最終邏輯曰志可記為1001100010011,表示對SlotID為01的Slot的SoltHead使用1覆蓋,並將該存儲單元對應的SlotData數據以00010011進行覆蓋;其中,按從左至右的順序,前4位"1001"表示與SlotID為01對應的唯一標識XMID,第5位"1"表示操作類型為覆蓋操作,後8位表示覆蓋的具體數值為"00010011"。隨後資料庫管理系統又接收一條操作描述為"增加記錄{attributeID=0002,value=0012}"和一條操作描述為"增力口記錄{attributeID=0003,value=0010},,的操作請求,假設這兩條操作描述包含的操作對象為ChunklO中SlotID為02和03的數據區,則邏輯日誌可記為1002100020012和1003100030010,表示對SlotID為02的Slot的SoltHead使用1覆蓋,並將該存儲單元對應的SlotData數據以00020012進行覆蓋,並對SlotID為03的Slot的SoltHead使用1覆蓋,並將該存儲單元對應的SlotData數據以00030010進行覆蓋。增加後兩條記錄後存儲區ChunklO的存儲狀態如表2所示表2tableseeoriginaldocumentpage13b、更新記錄糹喿作例如當ChunklO處於表2所示的狀態時,資料庫管理系統接收了一條操作描述為"將所有attributelD^0002的記錄對應的Slot的attributeID更新為0001"的操作請求,則寫邏輯日誌的時候,需要先找出該操作描述包含的所有操作對象,在本例中,操作對象為SlotID為02和03的兩個存儲單位,則邏輯日誌的前4位分別記為1002和1003,邏輯日誌的第5位記為1(覆蓋操作),最終記錄下的邏輯日誌為1002100010012和1003100010010,表示對SlotID為02的Slot的SoltHead使用1覆蓋,並將該存儲單元對應的SlotData數據以00010012進行覆蓋,並對SlotID為03的Slot的SoltHead使用1覆蓋,並將該存儲單元對應的SlotData數據以00010010進行覆蓋,覆蓋後的ChunklO存儲狀態如表3所示表3tableseeoriginaldocumentpage14c、增量更新操作例如當ChunklO處於表3所示的狀態時,資料庫管理系統接收了一條操作描述為"將attributeID為0001的記錄對應的value的末位值都增加1"的操作請求,則寫邏輯日誌前,先確定出才喿作對象為SlotID為01,02和03的三個存儲單位,然後記錄邏輯日誌的前4位分別為1001、1002和1003,邏輯曰志的第5位均記為1(覆蓋操作),最終記錄下的邏輯日誌為1001100010012,1002100010013和1003100010011,執行該操作請求後,ChunklO存儲狀態如表4所示表4tableseeoriginaldocumentpage14tableseeoriginaldocumentpage152、OperateType為刪除操作類型標識例如當Chunkl0處於表3所示的狀態時,資料庫管理系統接收了一條才喿作描述為"將attributeID為0001的記錄刪除"的操作請求,則寫邏輯日誌前,先確定出操作對象為SlotID為01,02和03的三個存儲單位,然後可記錄邏輯日誌為1001000000000,1002000000000和1003000000000。其中,邏輯曰志的第5位記錄為O表示將對應存儲單位的數據區內容刪除(釋放),寫完邏輯日誌後資料庫執行該操作,ChunklO的操作結果如表5所示表5tableseeoriginaldocumentpage15以上兩種操作類型中,對於刪除操作,由於OperateType為0表示將對應存儲單位的數據區內容刪除,因此寫邏輯日誌時,無需設定其中的SlotData的值為00000000,即刪除操作描述對應的邏輯日誌還可記錄為"XMID+OperateType+任意值的SlotData,,或者"XMID+OperateType,,。若以對應的存儲區為操作對象重複運行這兩種邏輯日誌,則操作時都是將邏輯曰志中記錄的XMID的使用狀態標識置為未使用狀態標記值(例如根據OperateType=0將SoltHead置為0),然後將該XMID對應的存儲單位的數據區內容刪除,最後的存儲區的操作結果是一致的,操作結果均與邏輯日誌中的SlotData沒有關係,因此對於刪除操作,邏輯日誌中至少需要記錄操作對象地址標識以及刪除操作類型標識。對於OperateType為覆蓋操作類型標識的邏輯日誌,由於對應於非刪除搮:作,因此覆蓋操作的邏輯日誌還可記錄為"XMID+OperateType(刪除操作類型標識外的任意值)+SlotData",例如,如果刪除#:作類型標識設定為0,則記錄非刪除操作請求對應的邏輯日誌時,可以將邏輯日誌中的OperateType記為非0的任意允許設定的值,以表示該邏輯日誌記錄的操作請求為覆蓋操作(非刪除操作)。重複運行邏輯日誌"XMID+OperateType(刪除操作類型標識外的任意值)+SlotData"時,可規定將XMID對應的slot的SoltHead置為1。綜上所述,對應於某條梯:作請求,邏輯日誌可記錄為標準方式"XMID+OperateType+SlotData",其中,OperateType根據操作類型可設置為兩種值,具體記錄方式見前面所述內容,不再重述。除上述方法外,記錄邏輯日誌時還可規定OperateType為某一值時表示刪除操作,對於非刪除操作請求,可將OperateType記錄為與非刪除操作不同的任意值,重新運行該邏輯曰志時,如果OperateType對應的值為設定的刪除操作值,則無論OperateType後的SlotData為多少,都將該邏輯日誌中XMID對應的存儲單位的SoltHead值置為非使用狀態標識值,並刪除該XMID對應的存儲單位的存儲區數據;如果OperateType對應的值不是設定的刪除操作值,則無論OperateType的值為多少,都將該邏輯日誌中XMID對應的存儲單位的SoltHead值置為使用狀態標識值,並將該邏輯日誌中記錄的SlotData數據覆蓋原XMID對應的存儲單位的存儲區數據。由上可見,對於刪除操作,即使多次重複運行轉換後的邏輯日誌,操作結果都是將對應存儲區的數據刪除,操作結果與邏輯日誌重複運行的次數無關;對於非刪除操作,由於轉換後的邏輯日誌使用了覆蓋操作,因此邏輯日誌即使多次重複運行也不會改變對應的存儲單位數據,操作對象的操作結果都是邏輯日誌中記錄的SlotData值。基於上述邏輯日誌生成方法,本發明提供一種資料庫備份方法,該方法包括使用本發明提供的邏輯日誌生成方法將對資料庫進行操作的操作請求寫為邏輯日誌,並對生成的邏輯日誌進行實時備份;根據定期發起(或用戶發起)的數據區備份請求對數據存儲區存儲的數據進行物理備份。其中,進行邏輯日誌備份時,將上一次物理備份啟動時刻至本次物理備份啟動時刻之間備份的邏輯日誌做為本次物理備份之前的邏輯日誌,將本次物理備份啟動時刻之後的邏輯日誌備份與本次物理備份之前的邏輯日誌分別進行備份。具體實施時,將本次物理備份啟動時刻之後(下一次物理備份啟動時刻之前)生成的邏輯日誌實時備份至第二目錄下;在每一次物理備份結束時,可將上一次物理備份啟動時刻至本次物理備份啟動時刻之間的記錄的邏輯日誌備份至第一目錄下。圖1所示為一次物理備份啟動之後邏輯日誌的實時備份方法流程圖,包括S101:接收數據區備份請求,將當前第二目錄下存儲的邏輯日誌轉存至第三目錄下。其中,轉存時,直接使用當前第二目錄下存儲的邏輯日誌覆蓋原第三目錄下的內容。S102:將本次數據區物理備份過程中存儲在緩衝區的邏輯日誌實時備份至所述第二目錄下。其中,如果數據區進行物理備份過程中,資料庫管理系統接收了新的操作請求,則根據前面提供的邏輯日誌備份方法,將該操作請求包含的操作描述轉換後備份為邏輯日誌並存儲在緩衝區中,該操作請求對應的操作結束後,將緩衝區中備份的邏輯日誌實時備份至所述第二目錄下。S103:判斷是否有數據區備份結束請求,如果有,則繼續執行S104,否則返回執行S102。S104:將當前第三目錄下存儲的上一次物理備份啟動時刻至本次物理備份啟動時刻之間記錄的邏輯日誌轉存至所述第一目錄。S105:將緩沖區的邏輯日誌實時備份至第二目錄,並繼續執行S106。S106:判斷是否有新的數據區備份請求,如果有,則返回執行S101,否則返回執行S105。其中,上述步驟S101-S104中,在數據區備份結束之前,使用第三目錄備份本次物理備份啟動時刻之前存儲於第二目錄下的邏輯日誌,而不直接將本次物理備份啟動時刻之前存儲於第二目錄下的邏輯日誌備份至第一目錄的原因為如果本次物理備^f分失敗,則可以將轉存至第三目錄下的本次物理備份啟動時刻之前的邏輯日誌簡單恢復至第二目錄下,等待下一次數據區備份請求的到來。否則,如果在步驟S101中直接將本次物理備份啟動時刻之前存儲於第二目錄下的邏輯日誌備份至第一目錄下,則如果本次數據區備份失敗,需要恢復第一目錄下存儲的大量數據;或者,由於第一目錄的存儲容量有限,在將本次物理備份啟動時刻之前存儲於第二目錄下的邏輯日誌備份至第一目錄下時,會覆蓋原第一目錄下備份的部分內容,導致不能完整恢復本次物理備份啟動時間點之前第一目錄下的內容。較佳地,可將備份到第二目錄下的物理備份過程中的邏輯日誌和本次物理備份完成之後的邏輯日誌分別進行備份。例如可預先在邏輯日誌中創建一個LogOld目錄,一個LogDirty目錄,一個Log目錄,進行某次物理備份時,將本次物理備^f分啟動時刻前的邏輯日誌(即上一次成功完成物理備^f分時刻至本次物理備份啟動時刻之間的邏輯日誌)備份到LogOld目錄下;將物理備份過程中的邏輯日誌實時備4分到LogDirty目錄下;將物理備份完成時刻之後的邏輯曰志實時備份到Log目錄下。這樣,可以方便地將物理備份過程中的邏輯日誌進一步作另行備份或供其餘操作使用,同時可以進一步降低另行備份時的備份量。本發明實施例提供的資料庫備份方法中,將每次物理備份前、物理備份過程中以及物理備份完成之後的邏輯日誌進行了邏輯日誌的實時備份,因此,對資料庫的所有操作都能得到實時備份;此外,整個資料庫備份過程中的邏輯日誌備份不需要備份所有的歷史邏輯日誌,只需要備份前後兩次物理備份間隔時長內記錄的邏輯日誌即可。可見此種資料庫備份方法大大降低了邏輯日誌備4分量,相應的恢復資料庫時也不再需要執行所有的歷史邏輯日誌。此外,本發明實施例提供的資料庫備份方法中,由於將對資料庫進行操作的操作請求包含的操作描述轉換成操作對象以唯一確定標識表示、操作類型標識為覆蓋或刪除操作類型標識的操作描述,因此,即使多次執行轉換後的操作描述對應的操作,操作結果都是相同的,從而在恢復資料庫時,可以以某次物理備份結果為操作對象,執行該次物理備份過程中以本發明提供的方法記錄的邏輯日誌,即可完整且正確的恢復資料庫。可見,使用本發明提供的邏輯日誌備份方法,物理備份過程不再需要阻塞操作請求。對應於本發明實施例提供的資料庫備份方法,本發明實施例還提供一種資料庫恢復方法,該方法包括使用物理備份的數據恢復物理備份啟動時刻之前的數據區數據;以恢復出的數據區數據為操作對象執行物理備份啟動時刻後備份的邏輯日誌。如果對資料庫備份時在物理備份啟動時刻之後,對物理備份過程的邏輯日誌和物理備份完成之後的邏輯日誌分別進行了備份,則上述資料庫恢復方法中執行物理備份啟動時刻之後備份的邏輯日誌,包括1)、執行物理備份過程中備份的邏輯曰志;2)、執行物理備份完成後備份的邏輯日誌。以下為表述方便,以前述存儲區ChunklO的某次物理備份過程和恢復方法為例,對本發明實施例提供的資料庫恢復方法進行詳細說明。例如某次物理備份啟動時刻需要備份的存儲區Chunk10的數據狀態如前面的表2所示,設物理備份啟動時刻為tl,設在物理備份過程中的t2時刻(t2>tl),資料庫管理系統接收了一個操作描述為"將所有attributelD^0002的記錄對應的attributeID更新為0001"的新的操作請求(設整個物理備份過程資料庫管理系統只接收了這一次新操作),假設t2時刻物理備份已經完成對ChunklO中SlotID為02的存儲單位中數據的備份,但是還沒開始備份SlotID為03的存儲單位中的數據,則物理備份完成之後,ChunklO的物理備份結果^口表6戶斤示表6tableseeoriginaldocumentpage20可見,物理備份過程中沒有備份下SlotID為02的Slot對應的SlotData數據執行操作後的變更的數據。按照本發明實施例提供的邏輯日誌生成方法,t2時刻資料庫管理系統接收的#:作所對應的邏輯日誌按照標準記錄方式記為1002100010012和1003100010010。因此,採用本發明實施例提供的資料庫恢復方法恢復tl時刻之後存儲區ChunklO的數據時,首先採用物理備份的數據恢復出表6所示的數據,然後執行備除的邏輯日誌1002100010012和1003100010010,可知執行邏輯日誌後,對ChunklO中SlotID為02的Slot對應的SlotData數據以00010012進行覆蓋,因此,該存儲單位的數據區中錯誤的物理備份數據00020012被覆蓋後變為00010012;對SlotID為03的Slot對應的SlotData數據以00010010進行覆蓋,由於覆蓋前和覆蓋後該存儲單位中的數據一致,因此,覆蓋後的數據也是正確的資料庫操作結果。覆蓋後的ChunklO數據狀態如表7所示表7tableseeoriginaldocumentpage21上述資料庫恢復方法中,由於以物理備份恢復出的數據為操作對象,重新執行了邏輯日誌備份中備份的邏輯日誌,將邏輯日誌中記錄的各存儲單位的數據分別覆蓋了物理備份恢復出的對應存儲單位的數據,使恢復出的資料庫數據準確可靠。圖2所示為本發明實施例提供的一種資料庫系統,該系統包括邏輯日誌生成模塊21、物理備份模塊22、邏輯日誌備份模塊23和數據區24,其中邏輯日誌生成模塊21,根據對資料庫進行操作的操作請求包含的操作描述,將接收的操作請求包含的操作描述轉換成操作對象以唯一且固定不變的標識表示的覆蓋類型或刪除類型的操作描述,並生成相應邏輯日誌。物理備份模塊22,根據物理備份觸發條件對數據區24中存儲的數據進行物理備份。邏輯日誌備份模塊23,對邏輯日誌生成模塊21生成的邏輯日誌進行實時備份;並將物理備份啟動時刻之前的邏輯日誌和啟動時刻之後的邏輯日誌分別進行備份。數據區24,用於存儲資料庫數據。通過本發明實施例提供的上述技術方案,可以對資料庫數據區的數據進行實時備份,且物理備份的過程中不再需要阻塞操作請求,在恢復資料庫時可以將備份的邏輯日誌重複執行,準確可靠地恢復出的對應數據區的存儲的數據。明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。權利要求1、一種邏輯日誌生成方法,其特徵在於,包括獲取對資料庫進行操作的操作請求中包含的操作描述;根據所述操作描述生成包含操作對象的唯一確定標識和操作類型標識的邏輯日誌;其中,所述操作類型標識包含刪除操作類型標識或覆蓋操作類型標識;當所述操作類型標識為覆蓋操作類型標識時,所述邏輯日誌還包括對操作對象進行覆蓋操作的覆蓋數據。2、如權利要求1所述的方法,其特徵在於,所述根據操作描述生成包含操作對象的唯一確定標識和揭:作類型標識的邏輯日誌,包括對獲取的操作描述進行轉換,使轉換後的操作描述中包含轉換前的操作描述包含的操作對象的唯一確定標識和操作類型標識;或者轉換後的操作描述還包含對操作對象進行覆蓋操作的覆蓋數據;根據轉換後的梯:作描述生成所述邏輯日誌。3、如權利要求1或2所述的方法,其特徵在於,所述操作對象的唯一確定標識為資料庫存儲空間的最小存取單位的地址,或者所述操作對象的唯一確定標識為資料庫存儲空間的最小存取單位的標識。4、如權利要求1所述的方法,其特徵在於,所述邏輯日誌包括第一欄位和第二欄位;所述第一欄位為所述操作對象的唯一確定標識,所述第二欄位為所述操作類型標識;或者所述邏輯日誌包括第一欄位、第二欄位和第三欄位;所述第一欄位為所述操作對象的唯一確定標識,所述第二欄位為所述操作類型標識,所述第三欄位為所述對覆蓋操作進行覆蓋操作的覆蓋數據。5、一種資料庫備份方法,其特徵在於,包括對數據區進行新的物理備份;將上一次物理備份啟動時刻之後至所述新的物理備份啟動時刻之前記錄的邏輯日誌備份至第一目錄下;將所述新的物理備份啟動時刻之後的邏輯日誌備份至第二目錄下;其中,所述邏輯日誌包含#:作對象的唯一確定標識和#:作類型標識;所述操作類型標識包含刪除梯:作類型標識或覆蓋操:作類型標識;或者,所述邏輯日誌還包括對操作對象進行覆蓋操作的覆蓋數據。6、如權利要求5所述的方法,其特徵在於,所述將新的物理備份啟動時刻之後的邏輯日誌備份至第二目錄下之後,當再次接收到對資料庫的數據區備份請求時,所述資料庫備份方法還包括以下步驟將當前第二目錄下存儲的邏輯日誌轉存至第三目錄下;在所述再次數據區物理備份過程中,將存儲在緩衝區的邏輯日誌實時備份至所述第二目錄下;接收到數據區備份結束請求後,將所述第三目錄下存儲的邏輯日誌轉存至所述第一目錄下;在接收下一次數據區備份請求前,將存儲在緩衝區的邏輯日誌實時備份至所述第二目錄下。7、如權利要求5所述的方法,其特徵在於,還包括將所述新的物理備份過程中的邏輯日誌和所述新的物理備份完成之後的邏輯日誌分別進行備份。8、一種資料庫恢復方法,其特徵在於,包括使用物理備份的數據恢復出所述物理備份啟動時刻之前的數據區數據;執行所述物理備份啟動時刻後備份的邏輯日誌;其中,所述邏輯日誌包括操作對象的唯一確定標識和操:作類型標識;所述操作類型標識包括刪除操作類型標識或覆蓋操作類型標識;或者,所述邏輯曰志還包括對操作對象進行覆蓋操作的覆蓋數據;所述該次物理備份啟動時刻後備份的邏輯日誌包括該次物理備份過程中的邏輯日誌和該次物理備份完成之後的邏輯日誌。9、如權利要求8所述的方法,其特徵在於,所述執行物理備份啟動時刻後備份的邏輯日誌,包括根據所述邏輯日誌中包含的操作對象及操作類型,對所述操作對象對應的數據進行操作。10、如權利要求9所述的方法,其特徵在於,所述根據所述邏輯日誌中包含的操作對象及操作類型,對所述操作對象對應的數據進行操作,具體包括當所述操作類型為刪除操作類型時,刪除所述操作對象對應的數據;當所述操作類型為覆蓋操作類型時,用所述邏輯日誌中包含的對操作對象進行覆蓋操作的覆蓋數據覆蓋所述操作對象對應的數據。11、一種資料庫備份系統,其特徵在於,包括邏輯日誌生成模塊、物理備份模塊、邏輯日誌備份模塊和數據區,其中邏輯日誌生成模塊,用於根據對資料庫進行操作的l喿作請求中包含的操作描述,生成包含操作對象的唯一確定標識、並包含操作類型標識為覆蓋操作類型標識或刪除操作類型標識的邏輯日誌;物理備份模塊,用於根據物理備份觸發條件對所述數據區中存儲的數據進行物理備份;邏輯日誌備份模塊,用於對邏輯日誌生成模塊生成的邏輯日誌進行實時備份;並將所述物理備份啟動時刻之前的邏輯日誌和所述物理備份啟動時刻之後的邏輯日誌分別進行備份;數據區,用於存儲資料庫數據。全文摘要本發明公開了一種邏輯日誌生成方法,包括獲取對資料庫進行操作的操作請求中包含的操作描述;根據所述操作描述生成包含操作對象的唯一確定標識和操作類型標識的邏輯日誌;其中,所述操作類型標識包含刪除操作類型標識或覆蓋操作類型標識。採用所述的邏輯日誌生成方法,本發明還提供一種基於上述邏輯日誌生成方法的資料庫備份方法和資料庫恢復方法,使用本發明提供的方法對資料庫進行物理備份時資料庫可以接收其餘操作請求,且在恢復資料庫時可以得到物理備份過程中數據的完全恢復。文檔編號G06F11/34GK101122924SQ20071016422公開日2008年2月13日申請日期2007年9月30日優先權日2007年9月30日發明者唐金根,明方,郭育洲申請人:華為技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀