本發(fā)明涉及數(shù)據(jù)處理,尤其涉及一種基于關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)處理方法、裝置、設(shè)備及介質(zhì)。
背景技術(shù):
1、在一般的管理系統(tǒng)中,都會(huì)存在數(shù)據(jù)刪除的操作,而在很多場(chǎng)景下,為了方便數(shù)據(jù)恢復(fù),或者審計(jì)等,通常會(huì)采取修改刪除標(biāo)志字段(is_deleted)的軟刪除的方式。軟刪除雖然具有數(shù)據(jù)恢復(fù)方便,避免數(shù)據(jù)丟失的優(yōu)點(diǎn),但存在數(shù)據(jù)膨脹垃圾數(shù)據(jù)持續(xù)增加,查詢邏輯復(fù)雜,查詢性能下降,數(shù)據(jù)一致性等問(wèn)題。而直接硬刪除(物理刪除)雖然沒(méi)有數(shù)據(jù)膨脹等問(wèn)題,但會(huì)造成數(shù)據(jù)丟失,無(wú)法恢復(fù)數(shù)據(jù)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明主要解決的問(wèn)題是提供一種基于關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)處理方法、裝置、設(shè)備及介質(zhì),解決現(xiàn)有技術(shù)刪除數(shù)據(jù)時(shí)存在數(shù)據(jù)膨脹導(dǎo)致處理性能下降,或者數(shù)據(jù)丟失后無(wú)法恢復(fù)的問(wèn)題。
2、為解決上述技術(shù)問(wèn)題,本發(fā)明采用的一個(gè)技術(shù)方案是提供一種基于關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)處理方法,所述方法包括以下步驟:獲取源端數(shù)據(jù)處理指令,所述源端數(shù)據(jù)處理指令包括源端數(shù)據(jù)刪除指令和源端數(shù)據(jù)鏡像指令;利用所述源端數(shù)據(jù)刪除指令,從數(shù)據(jù)庫(kù)中查詢?cè)炊藬?shù)據(jù);執(zhí)行所述源端數(shù)據(jù)鏡像指令,對(duì)所述源端數(shù)據(jù)進(jìn)行鏡像處理,獲得鏡像數(shù)據(jù),并將所述鏡像數(shù)據(jù)暫存至內(nèi)存中;執(zhí)行所述源端數(shù)據(jù)刪除指令,刪除所述數(shù)據(jù)庫(kù)中的所述源端數(shù)據(jù),并將所述鏡像數(shù)據(jù)保存至回收站;將所述鏡像數(shù)據(jù)從所述回收站保存至所述數(shù)據(jù)庫(kù)。
3、在一些實(shí)施例中,所述源端數(shù)據(jù)刪除指令包括源端數(shù)據(jù)標(biāo)識(shí)和數(shù)據(jù)刪除操作字段;所述源端數(shù)據(jù)鏡像指令包括源端數(shù)據(jù)標(biāo)識(shí)和數(shù)據(jù)鏡像操作字段。
4、在一些實(shí)施例中,所述利用所述源端數(shù)據(jù)刪除指令,從數(shù)據(jù)庫(kù)中查詢?cè)炊藬?shù)據(jù),包括步驟:攔截所述源端數(shù)據(jù)刪除指令,生成源端數(shù)據(jù)查詢指令;執(zhí)行所述源端數(shù)據(jù)查詢指令,進(jìn)行源端數(shù)據(jù)查詢操作,獲得所述源端數(shù)據(jù)。
5、在一些實(shí)施例中,所述源端數(shù)據(jù)處理指令還包括鏡像數(shù)據(jù)查詢指令和源端數(shù)據(jù)恢復(fù)指令,所述方法還包括步驟:執(zhí)行所述鏡像數(shù)據(jù)查詢指令和源端數(shù)據(jù)恢復(fù)指令,恢復(fù)所述源端數(shù)據(jù)。
6、在一些實(shí)施例中,所述鏡像數(shù)據(jù)查詢指令包括鏡像數(shù)據(jù)標(biāo)識(shí)和數(shù)據(jù)查詢操作字段;所述源端數(shù)據(jù)恢復(fù)指令包括源端數(shù)據(jù)標(biāo)識(shí)和數(shù)據(jù)恢復(fù)操作字段。
7、在一些實(shí)施例中,所述執(zhí)行所述鏡像數(shù)據(jù)查詢指令和源端數(shù)據(jù)恢復(fù)指令,恢復(fù)所述源端數(shù)據(jù),包括步驟:執(zhí)行所述鏡像數(shù)據(jù)查詢指令,查詢所述鏡像數(shù)據(jù),并生成所述源端數(shù)據(jù)恢復(fù)指令;執(zhí)行所述源端數(shù)據(jù)恢復(fù)指令,恢復(fù)所述源端數(shù)據(jù),并刪除所述鏡像數(shù)據(jù)。
8、本發(fā)明還提供一種基于關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)處理裝置,所述裝置包括:指令獲取單元,用于獲取源端數(shù)據(jù)處理指令,所述源端數(shù)據(jù)處理指令包括源端數(shù)據(jù)刪除指令和源端數(shù)據(jù)鏡像指令;數(shù)據(jù)刪除單元,用于利用所述源端數(shù)據(jù)刪除指令,從數(shù)據(jù)庫(kù)中查詢?cè)炊藬?shù)據(jù),還用于執(zhí)行所述源端數(shù)據(jù)刪除指令,刪除所述數(shù)據(jù)庫(kù)中的所述源端數(shù)據(jù);數(shù)據(jù)鏡像單元,用于執(zhí)行所述源端數(shù)據(jù)鏡像指令,對(duì)所述源端數(shù)據(jù)進(jìn)行鏡像處理,獲得鏡像數(shù)據(jù),并將所述鏡像數(shù)據(jù)暫存至內(nèi)存中;數(shù)據(jù)回收單元,用于將所述鏡像數(shù)據(jù)保存至回收站,還用于將所述鏡像數(shù)據(jù)從所述回收站保存至所述數(shù)據(jù)庫(kù)。
9、在一些實(shí)施例中,所述裝置還包括:數(shù)據(jù)恢復(fù)單元,用于執(zhí)行所述指令獲取單元獲取的鏡像數(shù)據(jù)查詢指令和源端數(shù)據(jù)恢復(fù)指令,恢復(fù)所述源端數(shù)據(jù)。
10、本發(fā)明還提供一種電子設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如上述方法的步驟。
11、本發(fā)明還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述方法的步驟。
12、本發(fā)明的有益效果是:本發(fā)明公開(kāi)了一種基于關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)處理方法、裝置、設(shè)備及介質(zhì),該方法包括以下步驟:獲取源端數(shù)據(jù)處理指令,源端數(shù)據(jù)處理指令包括源端數(shù)據(jù)刪除指令和源端數(shù)據(jù)鏡像指令;利用源端數(shù)據(jù)刪除指令,從數(shù)據(jù)庫(kù)中查詢?cè)炊藬?shù)據(jù);執(zhí)行源端數(shù)據(jù)鏡像指令,對(duì)源端數(shù)據(jù)進(jìn)行鏡像處理,獲得鏡像數(shù)據(jù),并將鏡像數(shù)據(jù)暫存至內(nèi)存中;執(zhí)行源端數(shù)據(jù)刪除指令,刪除數(shù)據(jù)庫(kù)中的源端數(shù)據(jù),并將鏡像數(shù)據(jù)保存至回收站;將鏡像數(shù)據(jù)從回收站保存至數(shù)據(jù)庫(kù)。本發(fā)明的數(shù)據(jù)處理方法使用數(shù)據(jù)庫(kù)通用的數(shù)據(jù)回收站技術(shù),可以只需額外使用極少量的代碼就可實(shí)現(xiàn)將刪除的源端數(shù)據(jù)備份至數(shù)據(jù)庫(kù)中的回收站表,通過(guò)通用的接口就可一鍵恢復(fù)源端數(shù)據(jù)。相比于傳統(tǒng)軟刪除的方式,這種方式可以有效防止垃圾數(shù)據(jù)的持續(xù)增加,提升數(shù)據(jù)查詢的性能;同時(shí),無(wú)需在所有涉及到查詢的地方都額外加上is_deleted=false的查詢條件,且回收站表和源端表格在一個(gè)數(shù)據(jù)庫(kù)內(nèi),使所有的操作均可在一個(gè)事務(wù)內(nèi)實(shí)現(xiàn),可保證數(shù)據(jù)的一致性。
1.一種基于關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)處理方法,其特征在于,所述方法包括以下步驟:
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理方法,其特征在于,所述源端數(shù)據(jù)刪除指令包括源端數(shù)據(jù)標(biāo)識(shí)和數(shù)據(jù)刪除操作字段;所述源端數(shù)據(jù)鏡像指令包括源端數(shù)據(jù)標(biāo)識(shí)和數(shù)據(jù)鏡像操作字段。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理方法,其特征在于,所述利用所述源端數(shù)據(jù)刪除指令,從數(shù)據(jù)庫(kù)中查詢?cè)炊藬?shù)據(jù),包括步驟:
4.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理方法,其特征在于,所述源端數(shù)據(jù)處理指令還包括鏡像數(shù)據(jù)查詢指令和源端數(shù)據(jù)恢復(fù)指令,所述方法還包括步驟:
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)處理方法,其特征在于,所述鏡像數(shù)據(jù)查詢指令包括鏡像數(shù)據(jù)標(biāo)識(shí)和數(shù)據(jù)查詢操作字段;所述源端數(shù)據(jù)恢復(fù)指令包括源端數(shù)據(jù)標(biāo)識(shí)和數(shù)據(jù)恢復(fù)操作字段。
6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)處理方法,其特征在于,所述執(zhí)行所述鏡像數(shù)據(jù)查詢指令和源端數(shù)據(jù)恢復(fù)指令,恢復(fù)所述源端數(shù)據(jù),包括步驟:
7.一種基于關(guān)系型數(shù)據(jù)庫(kù)的數(shù)據(jù)處理裝置,其特征在于,所述裝置包括:
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)處理裝置,其特征在于,所述裝置還包括:
9.一種電子設(shè)備,其特征在于,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如權(quán)利要求1至6任一項(xiàng)所述方法的步驟。
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至6任一項(xiàng)所述方法的步驟。