[發明專利]保證數據庫操作原子性的方法及裝置在審
| 申請號: | 201611155864.6 | 申請日: | 2016-12-14 |
| 公開(公告)號: | CN108228617A | 公開(公告)日: | 2018-06-29 |
| 發明(設計)人: | 侯欣超 | 申請(專利權)人: | 北京國雙科技有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 100086 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據庫操作 文檔 操作記錄 原子性 還原 操作成功 操作信息 保證 成功 存儲 失敗 | ||
本發明公開了一種保證數據庫操作原子性的方法及裝置,可以存儲當前數據庫操作的操作信息,生成操作記錄,在執行當前數據庫操作完畢后,判斷當前數據庫操作對其所針對的各個文檔的操作是否均成功,如果否,則根據操作記錄將已成功操作的文檔還原為執行當前數據庫操作之前的文檔。通過本發明的方案,數據庫操作在對至少兩個文檔進行操作時,如對某文檔的操作沒有成功,則本發明根據操作記錄將操作成功的文檔進行還原,使得該數據庫操作全部“失敗”,保證了整個數據庫操作的原子性。
技術領域
本發明涉及數據庫原子性技術領域,尤其涉及保證數據庫操作原子性的方法及裝置。
背景技術
隨著互聯網高速發展,很多公司已經更新使用Mongo數據庫。Mongo數據庫是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。Mongo數據庫最大的特點是它支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能。
但是,Mongo數據庫沒有完整事務支持,操作原子性只到單個文檔(document)級別,所以通常操作粒度比較小。當一個數據庫操作為對多個文檔的操作時,雖然Mongo數據庫可以保證對單個文檔的操作原子性,但無法保證對多個文檔的操作原子性。因此,如何實現Mongo數據庫中對多個文檔的操作原子性仍舊是一個亟待解決的技術問題。
當然,除Mongo數據庫外,Cassandra、Hbase、DynamoDB和Riak等數據庫也存在相同問題。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的保證數據庫操作原子性的方法及裝置,方案如下:
一種保證數據庫操作原子性的方法,包括:
存儲當前數據庫操作的操作信息,生成操作記錄;
在執行所述當前數據庫操作完畢后,判斷所述當前數據庫操作對其所針對的各個文檔的操作是否均成功,如果否,則根據所述操作記錄將已成功操作的文檔還原為執行所述當前數據庫操作之前的文檔。
可選的,在執行所述當前數據庫操作前,所述方法還包括:對所述當前數據庫操作針對的每一個文檔:生成存儲有該文檔中的字段值的一個文檔記錄;在每一文檔記錄中均添加對應文檔的第一狀態標識及對應文檔的所述操作記錄的標識;
在執行所述當前數據庫操作完畢后,所述判斷所述當前數據庫操作對其所針對的各個文檔的操作是否均成功之前,所述方法還包括:將操作成功的文檔對應的文檔記錄中的第一狀態標識修改為第二狀態標識并更新該文檔記錄中的字段值;
所述判斷所述當前數據庫操作對其所針對的各個文檔的操作是否均成功,包括:
判斷所述當前數據庫操作針對的各個文檔的文檔記錄中是否均包含第二狀態標識,如果不是,則確定所述當前數據庫操作對其所針對的各個文檔的操作未均成功;
所述根據所述操作記錄將已成功操作的文檔還原為執行所述當前數據庫操作之前的文檔,包括:
查找包含第二狀態標識的文檔記錄中的操作記錄的標識所匹配的操作記錄,并將查找到的所述操作記錄對應的文檔的字段值還原為執行所述當前數據庫操作之前的字段值。
可選的,所述方法還包括:
如果所述當前數據庫操作針對的各個文檔的文檔記錄中均包含第二狀態標識,則刪除所述當前數據庫操作針對的各個文檔的文檔記錄并刪除所述操作記錄。
可選的,在將查找到的所述操作記錄對應的文檔的字段值還原為執行所述當前數據庫操作之前的字段值后,所述方法還包括如下處理中的任何一種:
刪除所述當前數據庫操作針對的各個文檔的文檔記錄中的狀態標識;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京國雙科技有限公司,未經北京國雙科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611155864.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:日志信息處理方法、系統及裝置
- 下一篇:單證數據核對的方法和裝置





