[發明專利]一種分布式數據庫事務處理系統有效
| 申請號: | 201811593985.8 | 申請日: | 2018-12-25 |
| 公開(公告)號: | CN109800062B | 公開(公告)日: | 2020-02-07 |
| 發明(設計)人: | 徐飛;劉汪根;陶燁 | 申請(專利權)人: | 星環信息科技(上海)有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46;G06F16/23;G06F16/242 |
| 代理公司: | 31243 上海百一領御專利代理事務所(普通合伙) | 代理人: | 汪祖樂;邵棟 |
| 地址: | 200233 上海市*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 目標表 加鎖 版本信息 會話 分布式數據庫 事務處理系統 接收目標 計算層 并發 事務管理器 處理成功 會話標識 加鎖成功 表標識 存儲層 申請 發送 沖突 | ||
1.一種分布式數據庫事務處理系統,其中,包括:
事務管理器,用于接收SQL層發送的對待處理的當前會話中的目標表的加鎖請求,其中,所述加鎖請求中包括所述當前會話的會話標識、所述目標表的表標識及加鎖類型;基于所述加鎖請求對所述表標識對應的目標表進行所述加鎖類型對應的加鎖處理;若所述加鎖處理成功,則標記所述會話標識對應的當前會話中的所述目標表加鎖成功,并將待處理的所述目標表的表版本信息發送給所述SQL層;
所述SQL層,用于接收所述目標表的表版本信息并發送給計算層;
所述計算層,用于接收所述目標表的表版本信息并對存儲層中的所述表版本信息對應的目標表進行對應的處理;
其中,若所述事務管理器中記錄的所述目標表存在至少兩個表版本,則所述事務管理器根據預設的事務隔離規則向所述SQL層返回其他會話對應的所述目標表的表版本信息,以使所述SQL層基于返回的所述其他會話對應的所述目標表的表版本信息,確定所述當前會話待處理的表版本信息,并對所述當前會話待處理的表版本信息對應的所述目標表進行對應的處理。
2.根據權利要求1所述的系統,其中,若所述所加鎖類型為加寫鎖,則所述事務管理器對所述目標表進行加鎖成功時所做的標記為加寫鎖成功,所述計算層用于對所述存儲層中的所述表版本信息對應的目標表進行寫處理;
若所述所加鎖類型為加讀鎖,則所述事務管理器對所述目標表進行加鎖成功時所做的標記為加讀鎖成功,所述計算層用于對所述存儲層中的所述表版本信息對應的目標表進行讀處理。
3.根據權利要求1所述的系統,其中,所述事務管理器根據預設的事務隔離規則向所述SQL層返回其他會話對應的所述目標表的表版本信息,包括:
所述事務管理器根據預設的事務隔離規則和所述其他會話對應的所述目標表的處理進度,向所述SQL層返回其他會話對應的所述目標表的表版本信息。
4.根據權利要求3所述的系統,其中,所述事務管理器還用于:
根據預設的事務隔離規則和當前系統中活躍的所有會話對應的所述目標表的處理進度,對所述事務管理器中存儲的所述目標表的至少兩個表版本發起合并,得到合并后的表版本對應的目標表后,并將所述目標表進行合并的所述至少兩個表版本刪除。
5.根據權利要求4所述的系統,其中,所述事務管理器還用于:
根據預設的事務隔離規則和當前系統中活躍的所有會話對應的所述目標表的處理進度,對所述事務管理器中存儲的所述目標表的至少兩個表版本發起合并的同時,對所述目標表加讀鎖以保護所述合并,得到合并后的表版本對應的目標表后,并將所述目標表進行合并的至少兩個表版本刪除。
6.根據權利要求1所述的系統,若所述事務管理器檢測到當前會話與任何其他會話之間處于死鎖狀態時,所述事務管理器中止所述其他會話并釋放所述其他會話對所述目標表所加的鎖,或所述事務管理器中止所述當前會話。
7.根據權利要求1所述的系統,其中,所述事務管理器還用于將自身的狀態信息存儲在高可用的存儲設備上,其中,所述高可用的存儲設備包括內嵌在所述事務管理器中的存儲或第三方存儲設備,以便對外提供高可用的服務。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于星環信息科技(上海)有限公司,未經星環信息科技(上海)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811593985.8/1.html,轉載請聲明來源鉆瓜專利網。





