• / 6
  • 下載費用:30 金幣  

面向非易失性內存的內存數據庫并行日志方法.pdf

摘要
申請專利號:

CN201510336836.3

申請日:

2015.06.17

公開號:

CN104899117A

公開日:

2015.09.09

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 11/14申請日:20150617|||公開
IPC分類號: G06F11/14; G06F12/02 主分類號: G06F11/14
申請人: 江蘇師范大學
發明人: 周曉云; 覃雄派
地址: 221116江蘇省徐州市銅山新區上海路101號
優先權:
專利代理機構: 南京瑞弘專利商標事務所(普通合伙)32249 代理人: 楊曉玲
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510336836.3

授權公告號:

||||||

法律狀態公告日:

2019.04.16|||2015.10.07|||2015.09.09

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

一種面向非易失性內存的內存數據庫并行日志方法,屬于內存數據庫并行日志方法。在內存數據庫運行過程中,事務不斷地修改數據,這些數據可能分布在不同的頁面上;對于每個數據的修改操作,記錄數據頁面ID;然后把這些日志信息按照頁面ID進行分解,寫入隸屬頁面ID的非易失性內存中的緩沖區;非易失性內存在掉電的情況下,仍然保持其數據,于是保證了內存數據庫的可恢復性;一旦日志信息抵達非易失性內存,即日志信息已經實現了持久化,事務可以提交了;各個頁面的日志緩沖寫盤操作,不存在依賴關系,通過多線程技術并行執行。優點:利用差分日志的結合律和交換律,把日志記錄按照數據頁面進行組織,暫時緩存在非易失性內存中,保證事務的可恢復性。

權利要求書

權利要求書
1.  一種面向非易失性內存的內存數據庫并行日志方法,其特征是:面向非易失性內存的基于差分技術的并行日志方法,具體如下:
在內存數據庫運行過程中,事務不斷地修改數據,這些數據可能分布在不同的頁面上;對于每個數據的修改操作,記錄數據頁面ID,數據的位置信息即偏移量、以及差分日志即前像和后像的異或值;
然后把這些日志信息按照頁面ID進行分解,寫入隸屬頁面ID的非易失性內存中的緩沖區;非易失性內存在掉電的情況下,仍然保持其數據,于是保證了內存數據庫的可恢復性;一旦日志信息抵達非易失性內存,即日志信息已經實現了持久化,事務可以提交了;
為每個頁面準備兩個非易失性內存的緩沖區;一個用于不斷接收日志信息,保證事務的提交;另外一個是一個已滿的緩沖,用于寫到磁盤,日志記錄轉移到磁盤后,該緩沖處于待命狀態;當某個頁面的非易失性內存緩沖已滿的時候,這些日志信息被轉移到磁盤,即寫入磁盤;如果此時有事務修改該頁面,生成了新的日志信息,這些日志信息寫入另外一個緩沖區,兩個緩沖區一個用于接收當前活躍事務的日志,一個用于轉移日志到磁盤,兩者交替使用;
各個頁面的日志緩沖寫盤操作,不存在依賴關系,通過多線程技術并行執行。

說明書

說明書面向非易失性內存的內存數據庫并行日志方法
技術領域
本發明涉及一種內存數據庫并行日志方法,特別是一種面向非易失性內存的內存數據庫并行日志方法。
背景技術
目前,內存數據庫通過把數據常駐內存,獲得比磁盤數據庫快若干數據量的性能。在斷電或者軟件錯誤導致硬件宕機時,內存中的內容會消失。為了支持內存數據庫的可恢復性,必須把事務對數據的所有修改歷史,以日志記錄的方式,記錄在磁盤上。
日志記錄的內容包括數據修改以前的值(稱為前像,Before Image)、以及數據修改以后的值(稱為后像,After Image)。比如當事務把數據X從5,修改成7,然后又修改成10,那么必須記錄兩個日志記錄,分別是日志記錄1=<X數據的位置,5,7>,日志記錄2=<X數據的位置,7,10>。在內存數據庫失敗以后,可以把上一個檢查點(Checkpoint),裝載到內存,然后把上一個檢查點以來的日志重新應用到數據上,即可把數據恢復到最新的狀態。比如檢查點里的數據X的初值裝載進來,為5,然后把日志記錄1,和日志記錄2應用到數據值上,把5修改成7,然后把7修改成10,數據即可恢復到最新狀態。
數據庫也可以從最初的狀態,也就是數據庫為空的情況,把最初狀態以來的日志重新播放一遍,恢復到最新狀態。檢查點的設置,是不時地把數據庫的最新狀態保存一個完整的影像,恢復時,只需播放上次檢查點以來的日志即可,加快恢復過程。
現有技術的問題和缺點:對日志記錄進行前像和后像記錄的日志方法,其缺點是日志應用必須串行執行,比如在上一個實例中,動作1(把5修改成7)和動作2(把7修改成10),必須嚴格按照記錄日志的順序進行應用,串行地進行日志掃描和應用,限制了內存數據庫恢復的效率。
另一方面,由于日志記錄應用的串行性,每個數據頁面(page),在所有的日志記錄應用完畢之前,不能保證其已經恢復到最新狀態,那么整個恢復過程中,所有的數據頁面都是不可用的。
發明內容
本發明的目的是要提供一種面向非易失性內存的內存數據庫并行日志方法,解決現有技術的數據庫恢復過程中限制內存數據庫恢復效率的問題。
本發明的目的是這樣實現的:該內存數據庫并行日志方法,具體如下:
在內存數據庫運行過程中,事務不斷地修改數據,這些數據可能分布在不同的頁面上;對于每個數據的修改操作,記錄數據頁面ID,數據的位置信息即偏移量、以及差分日志即前像和后像的異或值;
然后把這些日志信息按照頁面ID進行分解,寫入隸屬頁面ID的非易失性內存中的緩沖區;非易失性內存在掉電的情況下,仍然保持其數據,于是保證了內存數據庫的可恢復 性;一旦日志信息抵達非易失性內存,即日志信息已經實現了持久化,事務可以提交了;
為每個頁面準備兩個非易失性內存的緩沖區;一個用于不斷接收日志信息,保證事務的提交;另外一個是一個已滿的緩沖,用于寫到磁盤,日志記錄轉移到磁盤后,該緩沖處于待命狀態;當某個頁面的非易失性內存緩沖已滿的時候,這些日志信息被轉移到磁盤,即寫入磁盤;如果此時有事務修改該頁面,生成了新的日志信息,這些日志信息寫入另外一個緩沖區,兩個緩沖區一個用于接收當前活躍事務的日志,一個用于轉移日志到磁盤,兩者交替使用;
各個頁面的日志緩沖寫盤操作,不存在依賴關系,通過多線程技術并行執行。
有益效果,由于采用了上述方案,基于數據的前像和后像,計算差分值,作為日志信息;差分值的應用復合交換律和結合律,于是日志可以進行隨意分組和亂序應用。利用這個特點,采用并行日志記錄方法,利用多路I/O實現并行日志記錄;恢復的時候以數據頁面為單位,應用該頁面的日志信息之后,頁面就達到可用狀態,可以接受新事務的存取。解決了現有技術的數據庫恢復過程中限制內存數據庫恢復效率的問題,達到了本發明的目的。
與現有技術相比的優點:
(1)利用差分日志符合結合律和交換律的特點,把日志記錄按照數據頁面進行組織,暫時緩存在非易失性內存中,保證事務的可恢復性。當非易失性內存已經滿的時候,把日志轉存到磁盤中。各個頁面的日志記錄,可以并行寫入磁盤,加快事務提交過程。
(2)恢復過程中,各個數據頁面的恢復是獨立的,頁面的檢查點被裝載以后,頁面的日志被裝載和應用到數據上,該頁面即可恢復到最新狀態,存取該頁面的新事務即可繼續運行,無需等待所有日志信息處理完畢。
附圖說明:
圖1是本發明的差分日志的結合律與交換律圖。
圖2是本發明的面向非易失性內存的內存數據庫并行日志方法框架圖。
具體實施方式
該內存數據庫并行日志方法,具體如下:
在內存數據庫運行過程中,事務不斷地修改數據,這些數據可能分布在不同的頁面上;對于每個數據的修改操作,記錄數據頁面ID,數據的位置信息即偏移量、以及差分日志即前像和后像的異或值;
然后把這些日志信息按照頁面ID進行分解,寫入隸屬頁面ID的非易失性內存中的緩沖區;非易失性內存在掉電的情況下,仍然保持其數據,于是保證了內存數據庫的可恢復性;一旦日志信息抵達非易失性內存,即日志信息已經實現了持久化,事務可以提交了;
為每個頁面準備兩個非易失性內存的緩沖區;一個用于不斷接收日志信息,保證事務的提交;另外一個是一個已滿的緩沖,用于寫到磁盤,日志記錄轉移到磁盤后,該緩沖處于待命狀態;當某個頁面的非易失性內存緩沖已滿的時候,這些日志信息被轉移到磁盤, 即寫入磁盤;如果此時有事務修改該頁面,生成了新的日志信息,這些日志信息寫入另外一個緩沖區,兩個緩沖區一個用于接收當前活躍事務的日志,一個用于轉移日志到磁盤,兩者交替使用;
各個頁面的日志緩沖寫盤操作,不存在依賴關系,通過多線程技術并行執行。
實施例1:本發明的并行日志方法依賴于差分日志的特點,下面通過一個實例說明該差分日志的具體計算及其符合交換律、結合律的特點。方法如下:
數據X的原值為5,二進制為0101,經過第一次修改,變成7,二進制值為0111;進而經過第二次修改,變成10,二進制值為1010;第一次改變的前像為0101,后像為0111,那么兩者的異或值為0010;第二次改變的前像為0111,后像為1010,那么兩者的異或值為1101;兩個日志記錄分別是日志記錄1=<數據X的位置信息,0010>,日志記錄2=<數據X的位置信息,1101>;
異或操作的真值表為,0異或0=0,1異或1=0,0異或1=1,1異或0=1;
差分日志符合結合律,把兩個日志記錄合并,即把0010和1101先進行異或操作,得到1111,然后應用到數據的原值上5,得到二進制值1010,這個數值正好是數據的最新值10即二進制值1010;
差分日志復合交換律,把日志記錄按照<日志記錄1,日志記錄2>的順序應用到數據上,或者按照<日志記錄2,日志記錄1>的順序應用到數據上,結果是一樣的,即0101即十進制5,先異或0010,再異或1101,得到1010即十進制10,0101即十進制5先異或1101,再異或0010,也得到1010即十進制10,參見圖2。
實施例2:具體實施方式
(1)對于數據更新,計算前像和后像的異或值。
(2)結合修改數據的位置信息,構成日志記錄,形如<數據位置信息,前像和后像的異或值>。
(3)日志按照頁面ID進行分組,記錄到非易失性內存。
(4)當某個事務的日志信息都寫入非易失性內存,事務可以提交。
(5)針對某個頁面的日志非易失性內存緩沖已經滿的時候,日志信息緩沖區整個被寫入磁盤。各個頁面的日志緩沖可以通過多路I/O寫入不同的磁盤設備。
(6)在日志從非易失性內存緩沖中寫入磁盤的同時,如果有事務存取和修改該頁面,那么日志信息被寫入另外一個非易失性內存緩沖。我們為每個頁面準備了兩個非易失性內存緩沖,一個寫磁盤,一個接受新的日志信息,交替使用。

關 鍵 詞:
面向 非易失性 內存 數據庫 并行 日志 方法
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:面向非易失性內存的內存數據庫并行日志方法.pdf
鏈接地址:http://www.rgyfuv.icu/p-6373690.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图