亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種數(shù)據(jù)庫(kù)的處理方法、裝置及系統(tǒng)的制作方法

文檔序號(hào):9787385閱讀:766來(lái)源:國(guó)知局
一種數(shù)據(jù)庫(kù)的處理方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)庫(kù)的處理方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002] 數(shù)據(jù)庫(kù)操作的原子性是事務(wù)型數(shù)據(jù)庫(kù)的基本特征,用于保證對(duì)數(shù)據(jù)庫(kù)的某一操作 結(jié)果的完整性,即要么完全被執(zhí)行要么完全不被執(zhí)行。目前很多種類型的數(shù)據(jù)庫(kù)不支持事 務(wù)處理,如分析型數(shù)據(jù)庫(kù)和某些數(shù)據(jù)庫(kù)的存儲(chǔ)引擎。在使用這些數(shù)據(jù)庫(kù)處理數(shù)據(jù)的過(guò)程中 可能需要保證某一執(zhí)行過(guò)程的原子性,如數(shù)據(jù)的入庫(kù)過(guò)程、報(bào)表的預(yù)統(tǒng)計(jì)執(zhí)行過(guò)程。在使用 不支持事務(wù)的數(shù)據(jù)庫(kù)處理這些業(yè)務(wù)時(shí),不能保證數(shù)據(jù)處理過(guò)程的原子性。

【發(fā)明內(nèi)容】

[0003] 本發(fā)明的目的在于提供一種數(shù)據(jù)庫(kù)的處理方法、裝置及系統(tǒng),使得數(shù)據(jù)庫(kù)執(zhí)行的 結(jié)果要么完全被執(zhí)行要么不被執(zhí)行,保證了數(shù)據(jù)庫(kù)執(zhí)行的原子性。
[0004] 為了達(dá)到上述目的,本發(fā)明提供一種數(shù)據(jù)庫(kù)的處理方法,包括:
[0005] 1. -種數(shù)據(jù)庫(kù)的處理方法,其特征在于,包括:
[0006] 根據(jù)所述數(shù)據(jù)庫(kù)的業(yè)務(wù)需求將所述數(shù)據(jù)庫(kù)的執(zhí)行流程依次分割為多個(gè)需要提供 原子性保護(hù)的原子模塊;
[0007] 實(shí)時(shí)獲取正在運(yùn)行的目的原子模塊的異常狀態(tài),根據(jù)所述異常狀態(tài)確定異常類 型;
[0008] 若所述異常類型為回退類型,獲取與所述回退類型對(duì)應(yīng)的第一處理方法并執(zhí)行所 述第一處理方法使得所述目的原子模塊回退到該目的原子模塊運(yùn)行前的狀態(tài)。
[0009] 其中,所述方法還包括:
[0010] 若所述異常類型不為回退類型,獲取與該異常類型對(duì)應(yīng)的第二處理方法并執(zhí)行所 述第二處理方法對(duì)所述異常類型進(jìn)行處理。
[0011] 其中,若所述異常類型為回退類型,獲取與所述回退類型對(duì)應(yīng)的第一處理方法并 執(zhí)行所述第一處理方法使得所述目的原子模塊回退到該目的原子模塊運(yùn)行前的狀態(tài)的步 驟包括:
[0012] 若所述異常類型為回退類型,獲取預(yù)先存儲(chǔ)的與該回退類型對(duì)應(yīng)的第一處理方法 的回退代碼;
[0013] 執(zhí)行所述回退代碼,使得所述目的原子模塊回退到該目的原子模塊運(yùn)行前的狀 態(tài),并結(jié)束流程。
[0014] 其中,若所述異常類型不為回退類型,獲取與該異常類型對(duì)應(yīng)的第二處理方法執(zhí) 行所述第二處理方法對(duì)所述異常進(jìn)行處理的步驟包括:
[0015] 若所述異常類型不為回退類型,獲取預(yù)先存儲(chǔ)的與該異常類型對(duì)應(yīng)的第二處理方 法的處理代碼;
[0016] 執(zhí)行所述處理代碼后,進(jìn)一步獲取所述目的原子模塊的異常狀態(tài);
[0017] 若所述目的原子模塊不存在異常,則所述數(shù)據(jù)庫(kù)繼續(xù)執(zhí)行下一原子模塊;若所述 目的原子模塊存在異常,則結(jié)束流程。
[0018] 進(jìn)一步的,所述回退代碼為刪除語(yǔ)句。
[0019] 本發(fā)明實(shí)施例還提供一種數(shù)據(jù)庫(kù)的處理裝置,包括:
[0020] 分割模塊,用于根據(jù)所述數(shù)據(jù)庫(kù)的業(yè)務(wù)需求將所述數(shù)據(jù)庫(kù)的執(zhí)行流程依次分割為 多個(gè)需要提供原子性保護(hù)的原子模塊;
[0021] 異常獲取模塊,用于實(shí)時(shí)獲取正在運(yùn)行的目的原子模塊的異常狀態(tài),根據(jù)所述異 常狀態(tài)確定所述異常的異常類型;
[0022] 第一執(zhí)行模塊,用于若所述異常類型為回退類型,獲取與所述回退類型對(duì)應(yīng)的第 一處理方法并執(zhí)行所述第一處理方法使得所述目的原子模塊回退到該目的原子模塊運(yùn)行 前的狀態(tài)。
[0023] 其中,上述處理裝置還包括:
[0024] 第二執(zhí)行模塊,用于若所述異常類型不為回退類型,獲取與該異常類型對(duì)應(yīng)的第 二處理方法并執(zhí)行所述第二處理方法對(duì)所述異常類型進(jìn)行處理。
[0025] 其中,所述第一執(zhí)行模塊包括:
[0026] 第一獲取單元,用于若所述異常類型為回退類型,獲取預(yù)先存儲(chǔ)的與該回退類型 對(duì)應(yīng)的第一處理方法的回退代碼;
[0027] 執(zhí)行單元,用于執(zhí)行所述回退代碼,使得所述目的原子模塊回退到該目的原子模 塊運(yùn)行前的狀態(tài),并結(jié)束流程。
[0028] 其中,所述第二執(zhí)行模塊包括:
[0029] 第二獲取單元,用于若所述異常類型不為回退類型,獲取預(yù)先存儲(chǔ)的與該異常類 型對(duì)應(yīng)的第二處理方法的處理代碼;
[0030] 第三獲取單元,用于執(zhí)行所述處理代碼后,進(jìn)一步獲取所述目的原子模塊的異常 狀態(tài);
[0031] 判斷單元,用于若所述目的原子模塊不存在異常,則所述數(shù)據(jù)庫(kù)繼續(xù)執(zhí)行下一原 子模塊;若所述目的原子模塊存在異常,則結(jié)束流程。
[0032] 進(jìn)一步的,所述回退代碼為刪除語(yǔ)句。
[0033] 本發(fā)明實(shí)施例還提供一種系統(tǒng),包括數(shù)據(jù)庫(kù),所述數(shù)據(jù)庫(kù)包括多個(gè)需要提供原子 性保護(hù)的原子模塊,所述系統(tǒng)還包括如權(quán)利要求6至10任一項(xiàng)所述的數(shù)據(jù)庫(kù)的處理裝置; [0034] 當(dāng)所述原子模塊出現(xiàn)異常類型為回退類型的異常時(shí),所述數(shù)據(jù)庫(kù)的處理裝置調(diào)用 與所述回退類型對(duì)應(yīng)的回退代碼并執(zhí)行,使得所述數(shù)據(jù)庫(kù)回退到該原子模塊執(zhí)行之前的狀 〇
[0035] 本發(fā)明的上述技術(shù)方案至少具有如下有益效果:
[0036] 本發(fā)明實(shí)施例的數(shù)據(jù)庫(kù)的處理方法中,通過(guò)為每一個(gè)原子模塊的異常類型設(shè)置相 應(yīng)的處理方法,保證了在異常類型為回退類型時(shí),對(duì)應(yīng)的原子模塊能夠執(zhí)行相應(yīng)的處理方 法回退到該原子模塊運(yùn)行前的狀態(tài),保證了每一個(gè)原子模塊在執(zhí)行業(yè)務(wù)上具有原子性,從 而保證了整個(gè)數(shù)據(jù)執(zhí)行的原子性。
【附圖說(shuō)明】
[0037] 圖1表示本發(fā)明實(shí)施例的數(shù)據(jù)庫(kù)的處理方法的基本步驟示意圖;
[0038] 圖2表示本發(fā)明實(shí)施例的數(shù)據(jù)庫(kù)的處理方法中第二處理方法的執(zhí)行步驟示意圖;
[0039] 圖3表示本發(fā)明實(shí)施例的數(shù)據(jù)庫(kù)的處理方法的具體應(yīng)用流程示意圖;
[0040] 圖4表示本發(fā)明實(shí)施例的數(shù)據(jù)庫(kù)的處理裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0041] 為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具 體實(shí)施例進(jìn)行詳細(xì)描述。
[0042] 本發(fā)明針對(duì)現(xiàn)有技術(shù)中很多不支持事務(wù)處理數(shù)據(jù)庫(kù)在執(zhí)行過(guò)程中無(wú)法保證原子 性的問題,提供一種數(shù)據(jù)庫(kù)的處理方法、裝置及系統(tǒng),通過(guò)為每一個(gè)原子模塊的異常類型設(shè) 置相應(yīng)的處理方法,保證了在異常類型為回退類型時(shí),對(duì)應(yīng)的原子模塊能夠執(zhí)行相應(yīng)的處 理方法回退到該原子模塊運(yùn)行前的狀態(tài),保證了每一個(gè)原子模塊在執(zhí)行業(yè)務(wù)上具有原子 性,從而保證了整個(gè)數(shù)據(jù)執(zhí)行的原子性。
[0043] 如圖1所示,本發(fā)明實(shí)施例提供一種數(shù)據(jù)庫(kù)的處理方法,包括:
[0044] 步驟10,根據(jù)所述數(shù)據(jù)庫(kù)的業(yè)務(wù)需求將所述數(shù)據(jù)庫(kù)的執(zhí)行流程依次分割為多個(gè)需 要提供原子性保護(hù)的原子模塊;
[0045] 步驟11,實(shí)時(shí)獲取正在運(yùn)行的目的原子模塊的異常狀態(tài),根據(jù)所述異常狀態(tài)確定 所述異常的異常類型;
[0046] 步驟12,若所述異常類型為回退類型,獲取與所述回退類型對(duì)應(yīng)的第一處理方法 并執(zhí)行所述第一處理方法使得所述目的原子模塊回退到該目的原子模塊運(yùn)行前的狀態(tài)。 [0047] 本發(fā)明的上述實(shí)施例中,數(shù)據(jù)庫(kù)的執(zhí)行流程為該數(shù)據(jù)庫(kù)的整個(gè)執(zhí)行過(guò)程,該整個(gè) 執(zhí)行過(guò)程從業(yè)務(wù)需求上可以劃分為多個(gè)原子模塊,該多個(gè)原子模塊在執(zhí)行業(yè)務(wù)上需要保證 原子性。具體的,原子模塊的業(yè)務(wù)需求可以為數(shù)據(jù)的入庫(kù)過(guò)程、報(bào)表的預(yù)統(tǒng)計(jì)執(zhí)行過(guò)程、數(shù) 據(jù)的出庫(kù)過(guò)程等等一系列過(guò)程,在此不一一列舉。
[0048] 具體的,本發(fā)明實(shí)施例的實(shí)際應(yīng)用中,例如一段執(zhí)行代碼如下:
[0049]
[0051] 比如執(zhí)行update語(yǔ)句的時(shí)候出錯(cuò),col2和col3的和超出了 coll字段的范圍 等;這時(shí)候就需要將整個(gè)代碼塊回退到之前的狀態(tài),需要將插入的所有數(shù)據(jù)清除掉,執(zhí)行 delete語(yǔ)句可以實(shí)現(xiàn)。
[0052] 本發(fā)明上述實(shí)施例中,所述方法還包括:
[0053] 步驟13,若所述異常類型不為回退類型,獲取與該異常類型對(duì)應(yīng)的第二處理方法 并執(zhí)行所述第二處理方法對(duì)所述異常類型進(jìn)行處理。
[0054] 本發(fā)明具體實(shí)施例中,數(shù)據(jù)庫(kù)運(yùn)行過(guò)程中可能會(huì)出現(xiàn)各種異常,若異常類型不為 回退類型,即出現(xiàn)該異常時(shí),無(wú)需將數(shù)據(jù)庫(kù)回退到前一狀態(tài),而是通過(guò)其他方法進(jìn)行修復(fù), 若修復(fù)完成則繼續(xù)運(yùn)行數(shù)據(jù)庫(kù);若無(wú)法修復(fù),則報(bào)錯(cuò)退出,由其他人員或設(shè)備進(jìn)行后續(xù)處 理。
[0055] 本發(fā)明中主要將異常類型分為回退類型和不回退類型,需要說(shuō)明的是,回退類型 的異常情況也分為很多種不同的情況,需根據(jù)不同的情況提供不同的分支處理流程,但其 最終目的均是將其回退到前一狀態(tài);同樣不回退類型也分為很多種不同的情況,數(shù)據(jù)庫(kù)根 據(jù)不同的情況分別處理。
[0056] 具體的,本發(fā)明上述實(shí)施例中,如圖2所示,步驟13包括:
[0057] 步驟131,若所述異常類型不為回退類型,獲取預(yù)先存儲(chǔ)的與該異常類型對(duì)應(yīng)的第 二處理方法的處理代碼;
[0058] 步驟132,執(zhí)行所述處理代碼后,進(jìn)一步獲取所述目的原子模塊的異常狀態(tài);
[0059] 步驟133,若所述目的原子模塊不存在異常,則所述數(shù)據(jù)庫(kù)繼續(xù)執(zhí)行下一原子模 塊;若所述目的原子模塊存在異常,則結(jié)束流程。
[0060] 本發(fā)明上述實(shí)施例中,若目的原子模塊的異常類型不是回退類型,也獲取相應(yīng)的 處理方法,并對(duì)其進(jìn)行處理,若處理完成后該目的原子模塊不存在異常,則繼續(xù)運(yùn)行下一原 子模塊;若處理完成后該目的原子模塊還存在其他異常且無(wú)法處理,則報(bào)錯(cuò)退出數(shù)據(jù)庫(kù),由 后續(xù)人員或程序進(jìn)行進(jìn)一步處理。
[0061] 本發(fā)明的上述實(shí)施例中,步驟12包括:
[0062] 步驟121,若所述異常類型為回退類型,獲取預(yù)先存儲(chǔ)的與該回退類型對(duì)應(yīng)的第一 處理方法的回退代碼;
[0063] 步驟122,執(zhí)行所述回退代碼,使得所述目的原子模塊回退到該目的原子模塊運(yùn)行 前的狀態(tài),并結(jié)束流程。
[0064] 本發(fā)明具體實(shí)施例中,原子模塊
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1