本技術涉及計算機,具體而言,涉及一種異構數據庫的全局防重方法、裝置、電子設備和存儲介質。
背景技術:
1、交易處理是設計數據庫管理系統的核心要點,且為了避免用戶重復支付,目前,常采用以業務唯一鍵作為唯一索引設計業務防重表來實現防重,進而隨著時間推移,業務防重表所需的存儲空間越來越大,且由于數據庫的容量限制,容易出現數據庫崩潰,導致數據丟失的情況,進而出現無法對數據庫進行有效防重的技術問題。
2、針對相關技術中無法對數據庫進行有效防重的技術問題,目前尚未提出有效的解決方案。
技術實現思路
1、本技術的主要目的在于提供一種異構數據庫的全局防重方法、裝置、電子設備和存儲介質,以解決相關技術中無法對數據庫進行有效防重的技術問題。
2、為了實現上述目的,根據本技術的一個方面,提供了一種異構數據庫的全局防重方法。該方法包括:獲取異構數據庫中的第一數據庫的業務請求,其中,異構數據庫用于表征不同類型的數據庫管理系統組成的數據庫,業務請求用于表征目標對象對第一數據庫的操作需求;響應于業務請求,在異構數據庫中的第二數據庫存儲的目標控制表中,查詢與業務請求對應任務的業務標識信息,得到查詢結果,其中,查詢結果用于表征在目標控制表中是否查詢到業務標識信息,第二數據庫的場景復雜度高于第一數據庫的場景復雜度;基于查詢結果,按照全局判重策略對異構數據庫進行防重控制,其中,全局判重策略用于表征對異構數據庫進行防重控制的規則。
3、可選地,目標控制表包括:目標存量防重控制表和目標業務防重控制表,在獲取異構數據庫中的第一數據庫的業務請求之前,該方法還包括:獲取第一數據庫的初始業務防重控制表,以及第二數據庫的初始存量防重控制表;基于第一數據庫在目標時間段內的交易信息,對初始業務防重控制表進行更新,得到目標業務防重控制表;基于初始存量防重控制表和目標業務防重控制表,確定目標存量防重控制表。
4、可選地,基于初始存量防重控制表和目標業務防重控制表,確定目標存量防重控制表,包括:將目標業務防重控制表存儲于第二數據庫,基于目標業務防重控制表,對初始存量防重控制表進行更新,得到目標存量防重控制表。
5、可選地,基于查詢結果,按照全局判重策略對異構數據庫進行防重控制,包括:響應于查詢結果為在目標控制表中已查詢到業務標識信息,生成拒絕執行指令,其中,拒絕執行指令用于表征拒絕執行業務請求;響應于查詢結果為在目標控制表中未查詢到業務標識信息,生成目標防重記錄,且將目標防重記錄存儲至目標控制表的目標業務防重控制表。
6、可選地,響應于業務請求,在異構數據庫中的第二數據庫存儲的目標控制表中,查詢與業務請求對應任務的業務標識信息,得到查詢結果,包括:獲取第一數據庫的數據交易狀態;基于數據交易狀態,確定目標控制表的使用狀態;響應于使用狀態為正常使用狀態,基于業務請求,在目標控制表中查詢業務標識信息,得到查詢結果。
7、可選地,基于數據交易狀態,確定目標控制表的使用狀態,包括:響應于數據交易狀態為第一數據庫中的數據處于正常交易狀態,調用第二數據庫的查詢服務,得到調用結果,其中,調用結果用于表征第一數據庫成功調用查詢服務;基于調用結果,確定第一數據庫的切流操作,其中,切流操作用于表征將第一數據庫中的數據同步存儲至第二數據庫;基于切流操作,確定目標控制表的使用狀態為正常使用狀態。
8、可選地,該方法還包括:響應于數據交易狀態為第一數據庫中的數據處于異常交易狀態,確定使用狀態為異常使用狀態;基于異常使用狀態,觸發交易回退指令;響應于交易回退指令,生成交易回退信息。
9、為了實現上述目的,根據本技術的另一方面,提供了一種異構數據庫的全局防重裝置。該裝置包括:第一獲取單元,用于獲取異構數據庫中的第一數據庫的業務請求,其中,異構數據庫用于表征不同類型的數據庫管理系統組成的數據庫,業務請求用于表征目標對象對第一數據庫的操作需求;查詢單元,用于響應于業務請求,在異構數據庫中的第二數據庫存儲的目標控制表中,查詢與業務請求對應任務的業務標識信息,得到查詢結果,其中,查詢結果用于表征在目標控制表中是否查詢到業務標識信息,第二數據庫的場景復雜度高于第一數據庫的場景復雜度;控制單元,用于基于查詢結果,按照全局判重策略對異構數據庫進行防重控制,其中,全局判重策略用于表征對異構數據庫進行防重控制的規則。
10、可選地,目標控制表包括:目標存量防重控制表和目標業務防重控制表,在獲取異構數據庫中的第一數據庫的業務請求之前,該裝置還包括:第二獲取單元,用于獲取第一數據庫的初始業務防重控制表,以及第二數據庫的初始存量防重控制表;更新單元,用于基于第一數據庫在目標時間段內的交易信息,對初始業務防重控制表進行更新,得到目標業務防重控制表;確定單元,用于基于初始存量防重控制表和目標業務防重控制表,確定目標存量防重控制表。
11、可選地,確定單元可以包括:更新模塊,用于將目標業務防重控制表存儲于第二數據庫,基于目標業務防重控制表,對初始存量防重控制表進行更新,得到目標存量防重控制表。
12、可選地,控制單元可以包括:第一生成模塊,用于響應于查詢結果為在目標控制表中已查詢到業務標識信息,生成拒絕執行指令,其中,拒絕執行指令用于表征拒絕執行業務請求;第二生成模塊,用于響應于查詢結果為在目標控制表中未查詢到業務標識信息,生成目標防重記錄,且將目標防重記錄存儲至目標控制表的目標業務防重控制表。
13、可選地,查詢單元可以包括:獲取模塊,用于獲取第一數據庫的數據交易狀態;第一確定模塊,用于基于數據交易狀態,確定目標控制表的使用狀態;查詢模塊,用于響應于使用狀態為正常使用狀態,基于業務請求,在目標控制表中查詢業務標識信息,得到查詢結果。
14、可選地,第一確定模塊可以包括:調用子模塊,用于響應于數據交易狀態為第一數據庫中的數據處于正常交易狀態,調用第二數據庫的查詢服務,得到調用結果,其中,調用結果用于表征第一數據庫成功調用查詢服務;第一確定子模塊,用于基于調用結果,確定第一數據庫的切流操作,其中,切流操作用于表征將第一數據庫中的數據同步存儲至第二數據庫;第二確定子模塊,用于基于切流操作,確定目標控制表的使用狀態為正常使用狀態。
15、可選地,查詢單元還可以包括:第二確定模塊,用于響應于數據交易狀態為第一數據庫中的數據處于異常交易狀態,確定使用狀態為異常使用狀態;觸發模塊,用于基于異常使用狀態,觸發交易回退指令;第三生成模塊,用于響應于交易回退指令,生成交易回退信息。
16、在本技術實施例中,可以獲取異構數據庫中的第一數據庫的業務請求,根據該業務請求,在異構數據庫中的第二數據庫存儲的目標控制表中,查詢與該業務請求對應任務的業務標識信息,以便得到查詢結果,進而根據該查詢結果,可以按照全局判重策略對異構數據庫進行防重控制,避免異構數據庫存儲某條業務處理的多條記錄,有效的節省了異構數據庫的存儲空間,從而實現了可以對數據庫進行有效防重的技術效果,解決了無法對數據庫進行有效防重的技術問題。