[發明專利]一種基于CMSP的DRDB數據庫數據同步的方法在審
| 申請號: | 202010741669.1 | 申請日: | 2020-07-29 |
| 公開(公告)號: | CN111881214A | 公開(公告)日: | 2020-11-03 |
| 發明(設計)人: | 張明;孫思清;李朝銘 | 申請(專利權)人: | 浪潮云信息技術股份公司 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27;G06F9/54 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 闞恭勇 |
| 地址: | 250100 山東省濟南市高*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 cmsp drdb 數據庫 數據 同步 方法 | ||
1.一種基于CMSP的DRDB數據庫數據同步系統,其特征在于,
分為三個模塊,
作為數據采集端的Reader,即從原始數據源獲取信息的生產者;
作為消息投遞的Transfer,即負責中間消息的投遞者,
作為消息的最終消費者的Writer,即發揮數據的轉換處理、任務構建調度執行的目標庫寫入者。
2.根據權利要求1所述的方法,其特征在于,
Reader與Writer之間通過消息協議進行通信,包括用于結構化數據的元信息、控制信息、消息信息的負載。
采用CMSP作為消息轉發投遞的Transfer;
Reader與Writer作為一個統一的抽象稱作Processor,即作為數據的處理單元。
3.根據權利要求2所述的方法,其特征在于,
Reader與Writer可以通過進程間內建隊列進行通信;
通過定義統一消息交換格式,用于負載相關元信息、控制信息以及數據信息。
4.根據權利要求3所述的方法,其特征在于,
消息負載針對數據庫的同步場景,主要提供兩種事件消息的抽象,即DDL事件,以及DML事件;DDL主要負責傳遞表元信息,負載相關的表操作包括刪除、創建、變更事件;DML主要負責負載數據記錄的變更;DML事件通過元信息標簽與DDL事件綁定;編解碼單元綜合相關源信息與DML記錄負載,解析出具體的數據庫記錄負載,即通常的增、刪、改操作記錄;將DML進一步劃分為兩種任務,一種是可并發操作記錄,主要用于基準數據的同步,類似離線同步的場景,數據以一種流式的消息在源和目的之間進行傳輸;非并發消息主要針對的是增量數據的變更。
5.根據權利要求4所述的方法,其特征在于,
對于Reader經由Transfer到達Writer的整個流程,DDL負載的元信息只在必要場景下需要提供,即首次啟動信息流,信息流變更;
Reader需要保證DML消息負載的元信息標簽對應的元信息先于DML事件被發送。
6.根據權利要求5所述的方法,其特征在于,
消息交換格式的元信息,主要包裹原始庫字段名、字段類型描述、字段屬性、時區、編碼。
7.根據權利要求5所述的方法,其特征在于,
在Writer端使用正則文本映射的方式;針對不同數據庫提供默認的映射規則,同時用戶可以在不變更程序的前提下,對數據類型提供針對性定制。
8.根據權利要求7所述的方法,其特征在于,
消息的流轉到達Writer必然經過如下流程:
1)消息讀取
2)解碼
3)處理執行
4)執行結果反饋
Writer服務主要分為如下功能模塊:
1)消息源代理
2)編解碼單元
3)任務構建單元
4)任務執行器
針對所有的Transfer相關操作,獨立到單獨的處理線程負責;使用PULL模式從Transfer獲取數據;
為每個消息流提供兩個有界預處理隊列,一個面向IO線程,另一個面向處理線程,IO線程先將數據預讀取到本側的有界隊列中,處理線程從本側隊列中取數據,當處理端處理數據為空時,直接交換嘗試獲取鎖,交換兩個預處理隊列即可。
9.根據權利要求8所述的方法,其特征在于,
采用無鎖方式實現隊列交換操作的互斥線程安全;IO線程內,將每個消息流抽象為一個任務,通過協程在用戶層進行調度,降低上下文切換的開銷,同時針對每個消息處理流的處理快慢,動態調整對應信息流調度的優先級,優化調度。
10.根據權利要求9所述的方法,其特征在于,
編解碼單元由處理線程根據消息進行事件驅動;編解碼單元通過內部有界隊列,對合法的消息發送給任務構建單元;
任務構建單元,主要負責根據編解碼單元解析的消息負載構建相關的任務對象,任務根據對應的消息負載,初始化具體的內部狀態運行邏輯;根據相關消息的并發標記位,任務構建單元通過引入任務并發組的概念,對可并發不可并發任務進行隔離,并發組在主要的實現方式是通過信號通知構建WaitGroup;
任務執行器本身作為無狀態的服務長久運行,任務構建器通過有界隊列向任務執行器分發任務。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮云信息技術股份公司,未經浪潮云信息技術股份公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010741669.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種網篩狀多孔零件加工設備
- 下一篇:一種云環境自動化資源管理方法和系統





