[發明專利]事務執行方法、裝置、計算設備及存儲介質有效
| 申請號: | 202111214946.4 | 申請日: | 2021-10-19 |
| 公開(公告)號: | CN115098537B | 公開(公告)日: | 2023-03-10 |
| 發明(設計)人: | 熊亮春;潘安群;雷海林 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F16/2453 | 分類號: | G06F16/2453;G06F16/242 |
| 代理公司: | 北京三高永信知識產權代理有限責任公司 11138 | 代理人: | 孫曉麗 |
| 地址: | 518057 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 事務 執行 方法 裝置 計算 設備 存儲 介質 | ||
本申請公開了一種事務執行方法、裝置、計算設備及存儲介質,屬于數據庫技術領域。本申請通過以數據塊作為處理DDL事務的最小單元,使得在DDL事務執行中斷時,能夠方便地定位到執行中斷前處理完畢的最后一個數據塊,從而無需整體回滾該DDL事務,而是從下一個數據塊開始繼續執行該DDL事務,也避免了從頭開始重做DDL事務的冗余工作量,提高了DDL語句所對應的DDL事務的成功率,且能夠適用于各類業務場景下DDL事務的推進,如在智慧交通場景下新增停車位的描述信息屬于一種DDL事務,該方法能夠顯著提升此類DDL事務的成功率,提高了數據庫的資源利用率。
技術領域
本申請涉及數據庫技術領域,特別涉及一種事務執行方法、裝置、計算設備及存儲介質。
背景技術
隨著數據庫技術的發展,SQL(Structured Query Language,結構化查詢語言)是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統。在SQL命令中涉及一類DDL(Data Definition Language,數據定義語言)語句,DDL語句是用于修改數據庫中的對象(如表、索引、列、觸發器等)的定義的語句。
目前,在對數據庫中的某個對象執行DDL語句時,通常需要對該對象加鎖,以阻塞在該DDL語句執行期間其他業務事務對該對象中數據的修改,這樣是為了保證DDL語句所操作的對象中所存儲數據的一致性。如果在DDL語句執行期間,由于某種故障導致DDL語句的執行線程崩潰,那么數據庫系統需要對該DDL語句進行重做,針對該DDL語句操作的對象所存儲的數據量較大(例如存儲了海量數據的表)的情況,數據庫系統重做該DDL語句的代價較高,換言之,DDL語句的成功率較低,數據庫資源利用率較低。
發明內容
本申請實施例提供了一種事務執行方法、裝置、計算設備及存儲介質,能夠提高DDL事務的成功率、提高數據庫的資源利用率。該技術方案如下:
一方面,提供了一種事務執行方法,該方法包括:
響應于執行中斷的數據定義語言DDL事務符合恢復條件,確定所述DDL事務在執行中斷前處理完畢的最后一個數據塊;
從所述最后一個數據塊的下一個數據塊開始,繼續執行所述DDL事務;
響應于對所述DDL事務操作的各個數據塊均處理完畢,提交所述DDL事務。
一方面,提供了一種事務執行裝置,該裝置包括:
確定模塊,用于響應于執行中斷的數據定義語言DDL事務符合恢復條件,確定所述DDL事務在執行中斷前處理完畢的最后一個數據塊;
執行模塊,用于從所述最后一個數據塊的下一個數據塊開始,繼續執行所述DDL事務;
提交模塊,用于響應于對所述DDL事務操作的各個數據塊均處理完畢,提交所述DDL事務。
在一種可能實施方式中,所述確定模塊包括:
獲取單元,用于獲取所述DDL事務的管理數據,所述管理數據用于記錄所述DDL事務處理完畢的各個數據塊;
查詢單元,用于從所述管理數據中,查詢得到所述最后一個數據塊。
在一種可能實施方式中,所述管理數據為動態數組,所述動態數組中存儲有所述DDL事務處理完畢的各個數據塊的數據塊標識;
所述查詢單元用于:
將所述動態數組中最后一個元素內存儲的數據塊標識所對應的數據塊,確定為所述最后一個數據塊。
在一種可能實施方式中,在對任一個數據塊中存儲的各條數據記錄處理完畢時,將所述任一個數據塊的數據塊標識記錄在所述管理數據中。
在一種可能實施方式中,所述裝置還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111214946.4/2.html,轉載請聲明來源鉆瓜專利網。





