專利名稱:一種圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)數(shù)據(jù)恢復(fù)的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本申請(qǐng)涉及數(shù)據(jù)處理領(lǐng)域,特別是涉及一種圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)數(shù)據(jù)恢復(fù)的方法 及系統(tǒng)。
背景技術(shù):
圖形數(shù)據(jù)庫(kù)是利用計(jì)算機(jī)將點(diǎn)、線、畫(huà)霹圖形基本元素按一定數(shù)據(jù)結(jié)同灶行存儲(chǔ) 的數(shù)據(jù)集合,將地圖與其它類型的平面圖中的圖形描述為點(diǎn)、線、面等基本元素,并將這些 圖形元素按一定數(shù)據(jù)結(jié)構(gòu)(通常為拓?fù)鋽?shù)據(jù)結(jié)構(gòu))建立起來(lái)的數(shù)據(jù)集合。通常在數(shù)據(jù)庫(kù)系統(tǒng)中,事務(wù)是工作的離散單位;例如,一個(gè)數(shù)據(jù)庫(kù)事務(wù)可以是修改 一個(gè)用戶的賬戶平衡或庫(kù)存項(xiàng)的寫操作。聯(lián)機(jī)事務(wù)處理系統(tǒng)(OLTP)實(shí)時(shí)地采集處理與事 務(wù)相連的數(shù)據(jù)以及共享數(shù)據(jù)庫(kù)和其它文件的地位的變化。在聯(lián)機(jī)事務(wù)處理過(guò)程中,事務(wù)是 被立即執(zhí)行的,這與批處理相反,一批事務(wù)被存儲(chǔ)一段時(shí)間,然后再被執(zhí)行,大多數(shù)批處理 (例如賬目交換)是在夜間進(jìn)行的。聯(lián)機(jī)事務(wù)處理系統(tǒng)的結(jié)果可以在這個(gè)數(shù)據(jù)庫(kù)中立即獲 得,這里假設(shè)這些事務(wù)可以完成。聯(lián)機(jī)事務(wù)處理以實(shí)時(shí)的方式發(fā)生。由于聯(lián)機(jī)事務(wù)處理是實(shí)時(shí)發(fā)生的,當(dāng)在圖形數(shù)據(jù)庫(kù)的事務(wù)處理過(guò)程中,如遭遇網(wǎng) 絡(luò)中斷、停電、設(shè)備故障等意外時(shí),會(huì)產(chǎn)生數(shù)據(jù)不一致的錯(cuò)誤,因此需要對(duì)中斷的事務(wù)進(jìn)行 恢復(fù)。發(fā)明人經(jīng)過(guò)研究發(fā)現(xiàn),現(xiàn)有技術(shù)中還沒(méi)有存在有效的方法對(duì)意外中斷事務(wù)的數(shù)據(jù)進(jìn) 行恢復(fù)。
發(fā)明內(nèi)容
為解決上述技術(shù)問(wèn)題,本申請(qǐng)實(shí)施例提供一種圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)數(shù)據(jù)恢復(fù)的方 法及系統(tǒng),能夠有效的實(shí)現(xiàn)對(duì)意外中斷事務(wù)的數(shù)據(jù)進(jìn)行恢復(fù)。技術(shù)方案如下—種圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)數(shù)據(jù)恢復(fù)的方法,包括定義圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)的處理層次;對(duì)所述聯(lián)機(jī)事務(wù)處理過(guò)程中的操作事務(wù)進(jìn)行檢查;當(dāng)檢查得出所述操作事務(wù)中含有異常操作事務(wù)時(shí),調(diào)用恢復(fù)機(jī)制對(duì)所述異常操作 事務(wù)進(jìn)行數(shù)據(jù)恢復(fù)。上述的方法,優(yōu)選的,所述圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)的處理層次包括上、中、下三個(gè)層 次;其中所述中間層為事務(wù)邏輯控制層,依據(jù)事務(wù)的操作類別分為同步區(qū)與非同步 區(qū)。上述的方法,優(yōu)選的,所述對(duì)聯(lián)機(jī)事務(wù)處理過(guò)程中的操作事務(wù)進(jìn)行檢查的過(guò)程中, 對(duì)所述中間層同步區(qū)中的操作事務(wù)進(jìn)行檢查。上述的方法,優(yōu)選的,所述異常操作事務(wù)包括過(guò)期事務(wù)、回滾中斷事務(wù)、提交中斷事務(wù)及過(guò)期中斷事務(wù)。
上述的方法,優(yōu)選的,當(dāng)檢查得出所述操作事務(wù)中含有過(guò)期事務(wù)時(shí),調(diào)用回滾恢復(fù) 機(jī)制對(duì)所述過(guò)期事務(wù)進(jìn)行回滾操作,并檢查所述回滾操作執(zhí)行過(guò)程中,是否存在回滾中斷 事務(wù),當(dāng)存在回滾中斷事務(wù)時(shí),對(duì)所述回滾中斷事務(wù)進(jìn)行回滾操作。上述的方法,優(yōu)選的,當(dāng)檢查得出所述操作事務(wù)中含有提交中斷事務(wù)時(shí),調(diào)用提交 恢復(fù)機(jī)制對(duì)所述提交中斷事務(wù)進(jìn)行提交操作;所述提交操具體為刪除鎖定數(shù)據(jù);更改臟數(shù)據(jù)狀態(tài);刪除提交事務(wù)記錄,完成事務(wù)的提交。上述的方法,優(yōu)選的,當(dāng)檢查得出所述操作事務(wù)中含有過(guò)期中斷事務(wù)時(shí),調(diào)用回滾 恢復(fù)機(jī)制對(duì)所述過(guò)期中斷事務(wù)進(jìn)行回滾操作。上述的方法,優(yōu)選的,所述回滾操作具體為刪除過(guò)期事務(wù)的臟數(shù)據(jù);解除鎖定的數(shù)據(jù);刪除事務(wù)記錄,完成事務(wù)的回滾?!N圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)數(shù)據(jù)恢復(fù)系統(tǒng),包括定義單元、檢查單元和恢復(fù)單元;其中所述定義單元用于定義圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)的處理層次;所述檢查單元用于對(duì)所述定義單元定義的聯(lián)機(jī)事務(wù)處理過(guò)程中的操作事務(wù)進(jìn)行 檢查;所述恢復(fù)單元用于在所述檢查單元檢查得出所述操作事務(wù)中含有異常操作事務(wù) 時(shí),調(diào)用恢復(fù)機(jī)制對(duì)所述異常操作事務(wù)進(jìn)行數(shù)據(jù)恢復(fù)。上述的系統(tǒng),優(yōu)選的,所述恢復(fù)單元包括回滾子單元和提交子單元;所述回滾子單元用于當(dāng)所述檢查單元檢查得出所述操作事務(wù)中含有過(guò)期事務(wù)或 過(guò)期中斷事務(wù)時(shí),對(duì)所述過(guò)期事務(wù)或過(guò)期中斷事務(wù)進(jìn)行回滾操作;所述提交子單元用于當(dāng)所述檢查單元檢查得出所述操作事務(wù)中含有提交中斷事 務(wù)時(shí),對(duì)所述提交中斷事務(wù)進(jìn)行提交操作。由以上本申請(qǐng)實(shí)施例提供的技術(shù)方案可見(jiàn),本發(fā)明提供的圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)數(shù) 據(jù)恢復(fù)方法,在進(jìn)入聯(lián)機(jī)事務(wù)處理流程后,對(duì)聯(lián)機(jī)事務(wù)處理流程中的操作事務(wù)進(jìn)行檢查,查 看操作事務(wù)中是否含有異常操作事務(wù),當(dāng)存在異常操作事務(wù)時(shí),調(diào)用恢復(fù)機(jī)制對(duì)異常操作 事務(wù)進(jìn)行數(shù)據(jù)恢復(fù)。本申請(qǐng)實(shí)施例提供的異常操作事務(wù)恢復(fù)機(jī)制中包含回滾操作、提交操 作等恢復(fù)機(jī)制,能夠及時(shí)有效的對(duì)圖形數(shù)據(jù)庫(kù)事務(wù)處理過(guò)程中,由于意外造成中斷的事務(wù) 進(jìn)行恢復(fù)。
為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本 申請(qǐng)中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下, 還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本申請(qǐng)實(shí)施例提供的一種圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)恢復(fù)的方法流程圖;圖2為本申請(qǐng)實(shí)施例提供的聯(lián)機(jī)事務(wù)處理的層次結(jié)構(gòu)圖;圖3為本申請(qǐng)實(shí)施例提供的一種圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)恢復(fù)方法的一詳細(xì)流程圖;圖4為本申請(qǐng)實(shí)施例提供的數(shù)據(jù)恢復(fù)過(guò)程中提交操作過(guò)程的方法流程圖;圖5為本申請(qǐng)實(shí)施例提供的數(shù)據(jù)恢復(fù)過(guò)程中回滾操作過(guò)程的方法流程圖;圖6為本申請(qǐng)實(shí)施例提供的一種圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)恢復(fù)系統(tǒng)的結(jié)構(gòu)示意圖;圖7為本申請(qǐng)實(shí)施例提供的圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)恢復(fù)系統(tǒng)的一詳細(xì)結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了使本技術(shù)領(lǐng)域的人員更好地理解本申請(qǐng)方案。下面將結(jié)合本申請(qǐng)實(shí)施例中的 附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是 本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員 在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請(qǐng)保護(hù)的范圍。本申請(qǐng)實(shí)施例提供的圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)恢復(fù)的方法流程圖,包括步驟SlOl 定義圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)的處理層次;步驟S102 對(duì)所述聯(lián)機(jī)事務(wù)處理過(guò)程中的操作事務(wù)進(jìn)行檢查;步驟S103 當(dāng)檢查得出所述操作事務(wù)中含有異常操作事務(wù)時(shí),調(diào)用恢復(fù)機(jī)制對(duì)所 述異常操作事務(wù)進(jìn)行數(shù)據(jù)恢復(fù)。本申請(qǐng)實(shí)施例提供的聯(lián)機(jī)事務(wù)層次處理的結(jié)構(gòu)圖如圖2所示,本申請(qǐng)實(shí)施例提供 的聯(lián)機(jī)事務(wù)處理自上而下分為三層最上層為暴露給外部調(diào)用程序的API ;中間層為事務(wù)邏輯控制層,按操作類別分為同步區(qū)與非同步區(qū),同步區(qū)意味著在 同一時(shí)間只能有一個(gè)操作進(jìn)行,其他操作在進(jìn)入同步區(qū)之間均處理等待狀態(tài),該機(jī)制利用 Java語(yǔ)言的線程同步鎖定特性實(shí)現(xiàn)。非同步區(qū)的操作則不受限制,在任何時(shí)間均可以進(jìn) 行;最下層為存儲(chǔ)數(shù)據(jù)的DataSet操作抽象層,在DataSet中,保存有聯(lián)機(jī)事務(wù)自身的 狀態(tài)信息,以及數(shù)據(jù)的事務(wù)狀態(tài)屬性信息。在圖形數(shù)據(jù)庫(kù)中,,聯(lián)機(jī)事務(wù)的狀態(tài)數(shù)據(jù)存儲(chǔ)在名稱為graphiC_db_tX_def的 DataSet中,該Datakt的數(shù)據(jù)結(jié)構(gòu)如表1所示
權(quán)利要求
1.一種圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)數(shù)據(jù)恢復(fù)的方法,其特征在于,包括 定義圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)的處理層次;對(duì)所述聯(lián)機(jī)事務(wù)處理過(guò)程中的操作事務(wù)進(jìn)行檢查;當(dāng)檢查得出所述操作事務(wù)中含有異常操作事務(wù)時(shí),調(diào)用恢復(fù)機(jī)制對(duì)所述異常操作事務(wù) 進(jìn)行數(shù)據(jù)恢復(fù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)的處理層次包 括上、中、下三個(gè)層次;其中所述中間層為事務(wù)邏輯控制層,依據(jù)事務(wù)的操作類別分為同步區(qū)與非同步區(qū)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述對(duì)聯(lián)機(jī)事務(wù)處理過(guò)程中的操作事務(wù) 進(jìn)行檢查的過(guò)程中,對(duì)所述中間層同步區(qū)中的操作事務(wù)進(jìn)行檢查。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述異常操作事務(wù)包括 過(guò)期事務(wù)、回滾中斷事務(wù)、提交中斷事務(wù)及過(guò)期中斷事務(wù)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)檢查得出所述操作事務(wù)中含有過(guò)期事 務(wù)時(shí),調(diào)用回滾恢復(fù)機(jī)制對(duì)所述過(guò)期事務(wù)進(jìn)行回滾操作,并檢查所述回滾操作執(zhí)行過(guò)程中, 是否存在回滾中斷事務(wù),當(dāng)存在回滾中斷事務(wù)時(shí),對(duì)所述回滾中斷事務(wù)進(jìn)行回滾操作。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)檢查得出所述操作事務(wù)中含有提交中 斷事務(wù)時(shí),調(diào)用提交恢復(fù)機(jī)制對(duì)所述提交中斷事務(wù)進(jìn)行提交操作;所述提交操具體為 刪除鎖定數(shù)據(jù); 更改臟數(shù)據(jù)狀態(tài);刪除提交事務(wù)記錄,完成事務(wù)的提交。
7.根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)檢查得出所述操作事務(wù)中含有過(guò)期中 斷事務(wù)時(shí),調(diào)用回滾恢復(fù)機(jī)制對(duì)所述過(guò)期中斷事務(wù)進(jìn)行回滾操作。
8.根據(jù)權(quán)利要求5或7所述的方法,其特征在于,所述回滾操作具體為 刪除過(guò)期事務(wù)的臟數(shù)據(jù);解除鎖定的數(shù)據(jù);刪除事務(wù)記錄,完成事務(wù)的回滾。
9.一種圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)數(shù)據(jù)恢復(fù)系統(tǒng),其特征在于,包括 定義單元、檢查單元和恢復(fù)單元;其中所述定義單元用于定義圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)的處理層次;所述檢查單元用于對(duì)所述定義單元定義的聯(lián)機(jī)事務(wù)處理過(guò)程中的操作事務(wù)進(jìn)行檢查;所述恢復(fù)單元用于在所述檢查單元檢查得出所述操作事務(wù)中含有異常操作事務(wù)時(shí),調(diào) 用恢復(fù)機(jī)制對(duì)所述異常操作事務(wù)進(jìn)行數(shù)據(jù)恢復(fù)。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述恢復(fù)單元包括回滾子單元和提交子 單元;所述回滾子單元用于當(dāng)所述檢查單元檢查得出所述操作事務(wù)中含有過(guò)期事務(wù)或過(guò)期 中斷事務(wù)時(shí),對(duì)所述過(guò)期事務(wù)或過(guò)期中斷事務(wù)進(jìn)行回滾操作;所述提交子單元用于當(dāng)所述檢查單元檢查得出所述操作事務(wù)中含有提交中斷事務(wù)時(shí),對(duì)所述提交中斷事務(wù)進(jìn)行提交操作。
全文摘要
本申請(qǐng)公開(kāi)了一種圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)數(shù)據(jù)恢復(fù)的方法,包括定義圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)的處理層次;對(duì)所述聯(lián)機(jī)事務(wù)處理過(guò)程中的操作事務(wù)進(jìn)行檢查;當(dāng)檢查得出所述操作事務(wù)中含有異常操作事務(wù)時(shí),調(diào)用恢復(fù)機(jī)制對(duì)所述異常操作事務(wù)進(jìn)行數(shù)據(jù)恢復(fù)。本發(fā)明提供的圖形數(shù)據(jù)庫(kù)聯(lián)機(jī)事務(wù)數(shù)據(jù)恢復(fù)方法,在進(jìn)入聯(lián)機(jī)事務(wù)處理流程后,對(duì)聯(lián)機(jī)事務(wù)處理流程中的操作事務(wù)進(jìn)行檢查,查看操作事務(wù)中是否含有異常操作事務(wù),當(dāng)存在異常操作事務(wù)時(shí),調(diào)用恢復(fù)機(jī)制對(duì)異常操作事務(wù)進(jìn)行數(shù)據(jù)恢復(fù);本申請(qǐng)實(shí)施例提供的異常操作事務(wù)恢復(fù)機(jī)制中包含回滾操作、提交操作等恢復(fù)機(jī)制,能夠及時(shí)有效的對(duì)圖形數(shù)據(jù)庫(kù)事務(wù)處理過(guò)程中,由于意外造成中斷的事務(wù)進(jìn)行恢復(fù)。
文檔編號(hào)G06F11/14GK102141946SQ201110074449
公開(kāi)日2011年8月3日 申請(qǐng)日期2011年3月25日 優(yōu)先權(quán)日2011年3月25日
發(fā)明者于洪方, 井衛(wèi)軍, 劉健, 姚福源, 蔣建平, 陳升 申請(qǐng)人:北京世紀(jì)互聯(lián)工程技術(shù)服務(wù)有限公司, 北京云快線軟件服務(wù)有限公司