1. <rt id="e600n"></rt>
      1. <pre id="e600n"><strong id="e600n"><pre id="e600n"></pre></strong></pre>
      2. 岛国免费AV,无码人妻精品一区二区三区夜夜嗨,又大又粗又硬又爽黄毛少妇,精品国产AV二区,91视频最新网址,久操无码,久久无码人妻一区二区三区午夜,国产精品视频中文字幕

        多數據庫事務處理方法及相關裝置與流程

        文檔序號:45733971發布日期:2026-06-06 00:28閱讀:3來源:國知局

        本申請涉及計算機,尤其涉及一種多數據庫事務處理方法及相關裝置。


        背景技術:

        1、在數據庫事務處理領域,單服務單庫的事務操作可以直接通過單機事務機制保證事務處理的acid特性(atomicity原子性、consistency一致性、isolation隔離性和持久性durability)。隨著企業數據庫架構的升級、業務表數據遷移需求的產生,出現了單服務多庫的事務場景。

        2、為保證多庫事務的處理可靠性,當前通常采用業務層手動實現逆流程回滾的方案。例如,對于結算收單服務,在將流水表從數據庫sqlserver遷移至數據庫tidb后,該服務需要操作數據庫sqlserver存儲結算數據,操作數據庫tidb存儲結算流水,使得原本的單庫事務拆分為跨sqlserver與tidb的多庫事務,基于現有方案,需要在結算數據保存失敗的情況下,手動執行sql回滾結算流水表的數據。

        3、由于多庫事務涉及多個數據庫,使得應用現有方案進行回滾時可能發生某個數據庫回滾失敗導致的數據不一致問題,并且由于每個回滾任務都需要根據業務場景進行定制化開發,無通用復用能力,開發工作量大。


        技術實現思路

        1、鑒于上述問題,本申請提供了一種多數據庫事務處理方法及相關裝置,以解決單服務的多數據庫事務處理任務中的數據不一致問題。

        2、具體方案如下:

        3、本申請第一方面提供一種多數據庫事務處理方法,包括:

        4、生成待處理事務的全局事務id;所述待處理事務由單服務發起且涉及多個數據庫;

        5、從分布式鎖集群獲取所述全局事務id對應的分布式鎖;

        6、向事務協調器發送攜帶所述全局事務id的事務開始消息,以使所述事務協調器在超時未收到所述待處理事務的事務終態消息且滿足預設條件時根據所述全局事務id進行異常兜底處理,所述預設條件包括所述全局事務id對應的分布式鎖未被釋放或所述全局事務id對應的分布式鎖被所述事務協調器獲?。?/p>

        7、執行構成所述待處理事務的各個單庫事務,并通過回滾日志記錄執行過程;所記錄的回滾日志包括所述全局事務id和數據信息,所述數據信息用于指示執行單庫事務對應的數據操作前后的數據情況;

        8、若各個單庫事務均執行成功,則向所述待處理事務涉及的各個數據庫寫入已提交的事務終態;否則依據所記錄的回滾日志進行全局回滾處理,向所述待處理事務涉及的各個數據庫寫入已回滾的事務終態;

        9、釋放所述全局事務id對應的分布式鎖,并向所述事務協調器發送攜帶所述全局事務id的事務終態消息。

        10、在一種可能實現中,執行構成所述待處理事務的各個單庫事務,并通過回滾日志記錄執行過程,包括:

        11、執行非終態事務,并通過回滾日志記錄所述非終態事務的執行過程;

        12、在各個非終態事務均執行完成后,對終態事務對應的數據庫執行所述終態事務對應的數據操作,并向所述終態事務對應的數據庫寫入所述終態事務對應的事務狀態,以供所述事務協調器在進行所述異常兜底處理時確定全局事務走向;

        13、其中,所述終態事務為構成所述待處理事務的各個單庫事務中最后一個執行的單庫事務,所述非終態事務為構成所述待處理事務的各個單庫事務中除所述終態事務外的單庫事務。

        14、在一種可能實現中,對于各個非終態事務的每一個事務,當前事務的執行過程包括:

        15、對所述當前事務對應的數據庫執行所述當前事務對應的數據操作;

        16、在執行所述當前事務對應的數據操作之后,查詢所述當前事務所要處理的目標數據的操作后狀態,并向所述當前事務對應的數據庫的回滾日志中寫入查詢到的操作后狀態;

        17、在完成操作后狀態寫入后,提交所述當前事務;

        18、在所述當前事務對應的數據操作為修改操作或刪除操作的情況下,所述當前事務的執行過程還包括:

        19、在執行所述當前事務對應的數據操作之前,查詢所述目標數據的舊數據,并向所述當前事務對應的數據庫的回滾日志中寫入查詢到的舊數據。

        20、在一種可能實現中,在所述當前事務對應的數據操作為新增操作的情況下,所記錄的所述當前事務的回滾日志還包括所述當前事務對應的數據庫回寫的自增id。

        21、在一種可能實現中,在所述當前事務對應的數據操作為新增操作的情況下,所記錄的所述當前事務的回滾日志還包括所述當前事務對應的數據庫回寫的自增id。

        22、在一種可能實現中,所述事務協調器的兜底回滾時長小于所述分布式鎖集群的預設上鎖時長。

        23、在一種可能實現中,所述向事務協調器發送攜帶所述全局事務id的事務開始消息包括:

        24、通過消息中間件向事務協調器發送攜帶所述全局事務id的事務開始消息;

        25、向所述事務協調器發送攜帶所述全局事務id的事務終態消息包括:

        26、通過所述消息中間件向所述事務協調器發送攜帶所述全局事務id的事務終態消息。

        27、本申請第二方面提供一種多數據庫事務處理設備,包括至少一個處理器和與所述處理器連接的存儲器,其中:

        28、所述存儲器用于存儲計算機程序;

        29、所述處理器用于執行所述計算機程序,以實現上述第一方面所述的多數據庫事務處理方法。

        30、本申請第三方面提供一種存儲介質,所述存儲介質承載有一個或多個計算機程序,當所述一個或多個計算機程序被電子設備執行時,能夠使所述電子設備實現上述第一方面所述的多數據庫事務處理方法。

        31、本申請第四方面提供一種計算機程序產品,包括計算機可讀指令,當所述計算機可讀指令在電子設備上運行時,能夠使所述電子設備實現上述第一方面所述的多數據庫事務處理方法。

        32、借由上述技術方案,本申請在處理多數據庫事務時,先生成待處理事務的全局事務id,再從分布式鎖集群獲取所述全局事務id對應的分布式鎖,向事務協調器發送攜帶所述全局事務id的事務開始消息,以使所述事務協調器在超時未收到所述待處理事務的事務終態消息且滿足預設條件時根據所述全局事務id進行異常兜底處理,而后執行構成所述待處理事務的各個單庫事務,并通過回滾日志記錄執行過程,若各個單庫事務均執行成功,則向所述待處理事務涉及的各個數據庫寫入已提交的事務終態,若任一單庫事務執行失敗,則依據所記錄的回滾日志進行全局回滾處理,向所述待處理事務涉及的各個數據庫寫入已回滾的事務終態,最后,釋放所述全局事務id對應的分布式鎖,并向所述事務協調器發送攜帶所述全局事務id的事務終態消息。

        33、本申請通過全局分布式鎖避免了數據并發以及臟讀臟寫問題,通過記錄回滾日志實現了數據的可回溯回滾,通過tc異常兜底流程解決了由服務器宕機等因素導致的事務異常中斷問題,依此解決了現有手動回滾方案導致的數據一致性風險問題。


        技術特征:

        1.一種多數據庫事務處理方法,其特征在于,該方法包括:

        2.根據權利要求1所述的多數據庫事務處理方法,其特征在于,執行構成所述待處理事務的各個單庫事務,并通過回滾日志記錄執行過程,包括:

        3.根據權利要求2所述的多數據庫事務處理方法,其特征在于,對于各個非終態事務的每一個事務,當前事務的執行過程包括:

        4.根據權利要求3所述的多數據庫事務處理方法,其特征在于,在所述當前事務對應的數據操作為新增操作的情況下,所記錄的所述當前事務的回滾日志還包括所述當前事務對應的數據庫回寫的自增id。

        5.根據權利要求1-4中任一項所述的多數據庫事務處理方法,其特征在于,在存在執行失敗的單庫任務的情況下,該方法還包括:

        6.根據權利要求5所述的多數據庫事務處理方法,其特征在于,所述事務協調器的兜底回滾時長小于所述分布式鎖集群的預設上鎖時長。

        7.根據權利要求1-4中任一項所述的多數據庫事務處理方法,其特征在于,所述向事務協調器發送攜帶所述全局事務id的事務開始消息包括:

        8.一種多數據庫事務處理設備,其特征在于,包括至少一個處理器和與所述處理器連接的存儲器,其中:

        9.一種存儲介質,其特征在于,所述存儲介質承載有一個或多個計算機程序,當所述一個或多個計算機程序被電子設備執行時,能夠使所述電子設備實現如權利要求1至7中任意一項所述的多數據庫事務處理方法。

        10.一種計算機程序產品,其特征在于,包括計算機可讀指令,當所述計算機可讀指令在電子設備上運行時,能夠使所述電子設備實現如權利要求1至7中任意一項所述的多數據庫事務處理方法。


        技術總結
        本申請公開了一種多數據庫事務處理方法及相關裝置,涉及計算機領域,包括:生成待處理事務的全局事務ID;從分布式鎖集群獲取對應的分布式鎖,以避免出現數據并發及臟讀臟寫問題;向事務協調器TC發送事務開始消息,以使TC能夠在異常情況下進行異常兜底處理;執行構成待處理事務的各個單庫事務,并通過回滾日志記錄執行過程,以實現數據的可回溯回滾;若各個單庫事務均執行成功,向各個數據庫寫入已提交的事務終態,否則依據回滾日志進行全局回滾處理,向各個數據庫寫入已回滾的事務終態;最后釋放對應的分布式鎖,并發送事務終態消息。本申請通過TC異常兜底流程解決了現有手動回滾方案導致的數據一致性風險問題。

        技術研發人員:周桐,張曉艷,田家聿
        受保護的技術使用者:攜程計算機技術(上海)有限公司
        技術研發日:
        技術公布日:2026/6/5
        網友詢問留言 留言:0條
        • 還沒有人留言評論。精彩留言會獲得點贊!
        主站蜘蛛池模板: 国产成人精品亚洲资源| 亚洲精品高清av在线播放 | 成人三级一区二区三区| 国产精品中文字幕免费| 精品人妻二区中文字幕| 一本色道久久综合亚洲精品图片| 岛国av免费| 一本色道久久东京热| 一本加勒比hezyo无码人妻| 国产一区二区精品网站看黄| 激情国产av做激情国产爱| 福利一区二区不卡国产| 黑人好猛厉害爽受不了好大撑| 911国产自产精品a| 久久熟| 国产成人综合色视频精品| 韩国福利一区二区三区| 夜色福利导航| 国产免费一区二区三区最新| 国产高清在线男人的天堂| 中文乱字幕视频一区| 欧美中文字幕人妻系列| caoporm超免费公开视频| 中国少妇人妻xxxxx| 99久久国产福利自产拍| 午夜福利视频| 高潮少妇高潮少妇av| 日韩成人在线视频观看| 岛国岛国免费v片在线观看| 亚洲精品之国产av| 亚洲男人天堂2022| 亚洲AV无码国产精品色午夜软件| 青青草原国产精品啪啪视频| 精品麻豆一卡2卡三卡4卡乱码| 天天爽爽夜夜爽| 久久久久久久99精品免费观看| 无码人妻丰满熟妇区毛片18| 四虎永久免费高清视频| 国产精品久久久久久久久齐齐| 久久婷婷国产综合尤物精品| 2021无码最新国产在线观看|