[發明專利]基于分布式邏輯時間戳的分布式數據庫管理方法及裝置在審
| 申請號: | 201911014865.2 | 申請日: | 2019-10-23 |
| 公開(公告)號: | CN110795506A | 公開(公告)日: | 2020-02-14 |
| 發明(設計)人: | 許建輝;陳元熹;何國明;王濤 | 申請(專利權)人: | 廣州巨杉軟件開發有限公司 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27 |
| 代理公司: | 44202 廣州三環專利商標代理有限公司 | 代理人: | 郭浩輝;麥小嬋 |
| 地址: | 510060 廣東省廣州市廣州番禺*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 事務 數據節點 協調節點 事務開始 時間戳 校時 仲裁 分布式數據庫管理 分布式存儲 分布式邏輯 時間戳順序 時間相差 提升系統 消息發 回滾 預設 重試 網絡 | ||
本發明公開了一種基于分布式邏輯時間戳的分布式數據庫管理方法及裝置,方法包括:對事務的事務開始時間進行設置;若數據節點與協調節點的本地邏輯時間的相差值超出預設的閾值,則將數據節點的本地邏輯時間進行校時,并使協調節點回滾該事務,在將協調節點的時間進行校時后,重試該事務;若事務預提交時間與事務開始時間相差值大于該事務的事務容忍誤差,則將事務預提交時間以及該事務的預提交消息發送到所有參與該事務的數據節點;根據兩個不同事務的時間戳的相差值情況,選取一個數據節點作為仲裁節點以對兩個不同事務的時間戳順序進行仲裁。本發明能夠在滿足分布式存儲和處理的要求的同時,減少網絡的開銷,從而有效提升系統的整體性能。
技術領域
本發明涉及數據庫技術領域,尤其是涉及一種基于分布式邏輯時間戳的分布式數據庫管理方法及裝置。
背景技術
分布式數據庫管理系統是分布式系統中的實際應用中非常重要的部分,它不僅具備和使用了所有分布式系統的特性,還對數據存儲,處理提出了更高的要求。數據庫管理系統自上世紀八十年代開始被廣泛的應用,最初數據庫都在一臺計算機上部署,所有交易在這一個單機數據庫內處理。隨這數據量和業務量的急劇擴大,單機已無法滿足數據存儲和數據處理能力的要求,分布式數據庫系統成為各類應用部署的首選架構。解決好分布式數據庫中分布式存儲,分布式運算和高并發下的低延時響應對其他分布式系統有極大的借鑒意義。
在分布式數據系統中通常需要維護一個全局唯一性的ID來區別并發的事務,標識產生或變更的數據。這個ID通常有如下特征:不能有單點故障,以時間為序或包含時間,可以控制數據分片的ID,不要太長。
實現這樣一個全局唯一的ID通常結合事務發起的時間,依賴時間戳加上其他的一些標識位來。這個時間戳的產生一般有兩種:基于硬件的時鐘和基于軟件實現的邏輯時鐘。前者利用原子的特性,利用硬件實現,保證每個時鐘設備在很長時間內相互誤差小到可以忽略。這樣參與集群的各計算節點可以直接查詢并使用本地時鐘作為全局時間戳。其缺點是成本非常高,無法推廣應用。實際應用中更多利用軟件實現的邏輯時鐘。現有的實現多是在分布式系統計算機集群中部署一臺或一個小的集群(全局事務管理節點GTM)來產生分發一個統一的包含時間戳全局ID,集群中所有其他計算機同步查詢GTM來獲得一個ID。這個ID具有遞增屬性,從而保證每次查詢得到的ID唯一。這樣實現的缺點是當系統集群規模很大,并發操作很多時,GTM的負載會很重,同時網絡開銷會非常大,導致系統整體性能降低。同時,為避免單點故障使用小集群中實現GTM也非常復雜,且無法完全保證可靠性。
發明內容
本發明實施例提供了一種基于分布式邏輯時間戳的分布式數據庫管理方法及裝置,能夠避免強制所有參與節點從GTM中獲取唯一ID的步驟,從而能夠在滿足分布式存儲和處理的要求的同時,減少網絡的開銷,提升系統的整體性能。
為了解決上述技術問題,本發明實施例提供了一種基于分布式邏輯時間戳的分布式數據庫管理方法,所述分布式數據庫包括協調節點、編目節點和數據節點,各個節點的本地邏輯時間分別根據預設的全局邏輯時間進行同步校時;
所述基于分布式邏輯時間戳的分布式數據庫管理方法包括:
在事務開始時,將該事務的事務開始時間設為所述協調節點的本地邏輯時間;
在所述數據節點首次接收到所述協調節點發送的消息時,判斷所述數據節點的本地邏輯時間與所述協調節點的本地邏輯時間的相差值是否超出預設的第一誤差閾值;若是,則將所述數據節點的本地邏輯時間進行同步校時,同時,控制所述數據節點返回錯誤消息至所述協調節點,以使所述協調節點回滾該事務,并將所述協調節點的本地邏輯時間進行同步校時后,重試該事務;
在事務預提交時,將該事務的事務預提交時間設為所述協調節點的當前本地邏輯時間,判斷所述事務預提交時間與所述事務開始時間的相差值是否大于該事務的事務容忍誤差;若否,則暫緩執行;若是,則將所述事務預提交時間以及該事務的預提交消息發送到所有參與該事務的數據節點;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州巨杉軟件開發有限公司,未經廣州巨杉軟件開發有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911014865.2/2.html,轉載請聲明來源鉆瓜專利網。





