1.一種基于虛擬存儲(chǔ)器快照的數(shù)據(jù)庫檢查點(diǎn)構(gòu)建方法,其特征在于,所述方法包括:
步驟A:數(shù)據(jù)庫中有事務(wù)進(jìn)程且數(shù)量為一個(gè),當(dāng)接收到寫入或者修改請求時(shí),寫入內(nèi)存即可返回完成,內(nèi)存由非易失內(nèi)存模塊構(gòu)成;
步驟B:數(shù)據(jù)庫中有調(diào)度進(jìn)程且數(shù)量為一個(gè),在滿足條件時(shí),調(diào)度進(jìn)程主動(dòng)通知事務(wù)進(jìn)程發(fā)起設(shè)立檢查點(diǎn)的動(dòng)作,而后調(diào)度進(jìn)程接受事務(wù)進(jìn)程和檢查點(diǎn)進(jìn)程的報(bào)告,更新系統(tǒng)狀態(tài);
步驟C:事務(wù)進(jìn)程在接收到調(diào)度進(jìn)程通知后,建立虛擬存儲(chǔ)快照的操作,然后啟動(dòng)檢查點(diǎn)進(jìn)程,事務(wù)進(jìn)程負(fù)責(zé)所有的聯(lián)機(jī)事務(wù)處理過程請求;
步驟D:檢查點(diǎn)進(jìn)程啟動(dòng)后,檢查點(diǎn)依據(jù)虛擬存儲(chǔ)快照,將此刻內(nèi)存中全部更新數(shù)據(jù)以及日志寫入磁盤中,完成任務(wù)通知調(diào)度進(jìn)程,然后通知調(diào)度進(jìn)程自動(dòng)結(jié)束。
2.根據(jù)權(quán)利要求1所述的基于虛擬存儲(chǔ)器快照的數(shù)據(jù)庫檢查點(diǎn)構(gòu)建方法,其特征在于,更新數(shù)據(jù)存在多版本并發(fā)控制。
3.根據(jù)權(quán)利要求1所述的基于虛擬存儲(chǔ)器快照的數(shù)據(jù)庫檢查點(diǎn)構(gòu)建方法,其特征在于,數(shù)據(jù)庫中數(shù)據(jù)表由多個(gè)分區(qū)組成,相關(guān)信息作為元數(shù)據(jù)信息存儲(chǔ)在內(nèi)存中。
4.根據(jù)權(quán)利要求3所述的基于虛擬存儲(chǔ)器快照的數(shù)據(jù)庫檢查點(diǎn)構(gòu)建方法,其特征在于,事務(wù)進(jìn)程產(chǎn)生多個(gè)線程,每一個(gè)線程負(fù)責(zé)一個(gè)分區(qū)的事務(wù)處理,當(dāng)事務(wù)不涉及多個(gè)分區(qū)時(shí),各個(gè)線程之間不需要同步,各自獨(dú)立的完成相關(guān)事務(wù);當(dāng)事務(wù)涉及多個(gè)分區(qū)時(shí),由第一特殊線程來負(fù)責(zé)統(tǒng)籌完成。
5.根據(jù)權(quán)利要求4所述的基于虛擬存儲(chǔ)器快照的數(shù)據(jù)庫檢查點(diǎn)構(gòu)建方法,其特征在于,各個(gè)線程在完成自己分區(qū)事務(wù)后,并行的在內(nèi)存中維護(hù)所轄分區(qū)操作日志;跨分區(qū)的事務(wù)將由第二特殊線程負(fù)責(zé)記錄日志。
6.根據(jù)權(quán)利要求1所述的基于虛擬存儲(chǔ)器快照的數(shù)據(jù)庫檢查點(diǎn)構(gòu)建方法,其特征在于,事務(wù)進(jìn)程創(chuàng)建虛擬儲(chǔ)器快照,事務(wù)進(jìn)程運(yùn)行在自己虛擬地址空間,檢查點(diǎn)進(jìn)程啟動(dòng)后處于另外一個(gè)虛擬地址空間,在事務(wù)進(jìn)程并未進(jìn)行數(shù)據(jù)修改時(shí),事務(wù)進(jìn)程的虛擬地址空間和檢查點(diǎn)進(jìn)程的虛擬地址空間中相同的虛擬地址指向一致的物理地址。
7.根據(jù)權(quán)利要求6所述的基于虛擬存儲(chǔ)器快照的數(shù)據(jù)庫檢查點(diǎn)構(gòu)建方法,其特征在于,當(dāng)事務(wù)進(jìn)程修改數(shù)據(jù)時(shí),由操作系統(tǒng)和硬件對該數(shù)據(jù)對應(yīng)的物理頁進(jìn)行拷貝,該數(shù)據(jù)的虛擬地址指向新產(chǎn)生的物理頁,并且將更新應(yīng)用于新的物理頁。
8.根據(jù)權(quán)利要求6所述的基于虛擬存儲(chǔ)器快照的數(shù)據(jù)庫檢查點(diǎn)構(gòu)建方法,其特征在于,創(chuàng)建虛擬存儲(chǔ)快照后,事務(wù)進(jìn)程中所有的舊的日志被標(biāo)記刪除,后續(xù)新的操作將記錄在新的日志中。
9.根據(jù)權(quán)利要求7所述的基于虛擬存儲(chǔ)器快照的數(shù)據(jù)庫檢查點(diǎn)構(gòu)建方法,其特征在于,舊的日志由檢查點(diǎn)進(jìn)程歸檔到硬盤中。
10.根據(jù)權(quán)利要求1所述的基于虛擬存儲(chǔ)器快照的數(shù)據(jù)庫檢查點(diǎn)構(gòu)建方法,其特征在于,在完成對應(yīng)的檢查點(diǎn)工作之后刪除虛擬存儲(chǔ)器快照,數(shù)據(jù)庫周期性地或者按照自身需求創(chuàng)建新的虛擬存儲(chǔ)器快照來進(jìn)行建立新的檢查點(diǎn)的操作。