新四季網

一種分布式系統事務管理方法及裝置與流程

2023-11-03 05:33:42 2


本發明涉及計算機技術領域,特別是涉及一種分布式系統事務管理方法及裝置。



背景技術:

分布式系統是建立在網絡之上的系統,它可以將一個龐大複雜的系統分解為若干個小的服務模塊,各服務模塊之間通過遠程調用的方式互相通信,協同處理業務。隨著網絡系統架構的演進,基於分布式系統的靈活性和可插拔的特性,越來越受到開發者的青睞。

對於傳統的單節點網絡系統,由於是單節點部署,因此可以使用本地事務進行事務管理,來保證數據的一致性。而對於分布式系統,每一服務模塊作為一個獨立系統擁有自己的事務管理機制,當發生模塊和模塊之間的調用時,就必須解決因為其調用方執行發生異常被調用方需回滾自己數據,或者被調用方發生異常調用方需回滾數據的問題,否則會導致數據的不一致。舉例來說,服務a中的業務是在資料庫中插入一條數據,然後調用服務b的業務方法,服務b的業務也是在資料庫中插入一條數據。假設服務b的方法在執行過程中發生異常,那麼服務a中之前插入的數據需要從資料庫中刪除,避免髒數據的出現。而整個過程中服務a和服務b是相互隔離的,如何通知服務a自動完成數據的回滾操作是需要解決的問題。

現有技術中,分布式系統主流採用的事務管理方案是兩階段提交和三階段提交,但這兩種方案都存在同步阻塞問題,導致實現複雜,還存在性能較差的弊端。



技術實現要素:

本發明的目的是提供一種分布式系統事務管理方法及裝置,實現了各服務模塊間數據的一致性,並可克服現有方法存在的弊端。

為解決上述技術問題,本發明提供如下技術方案:

一種分布式系統事務管理方法,包括:

監測參與業務活動的主服務模塊、各從服務模塊的操作是否正常,所述主服務模塊用於發起並完成整個業務活動,所述從服務模塊用於提供可被調用的業務方法;

若各服務模塊的操作都正常,則確認提交所述業務活動,控制各服務模塊執行確認操作;

若至少一個服務模塊的操作出現異常,則取消提交所述業務活動,控制各服務模塊執行取消操作。

可選地,還包括:對所述主服務模塊預配置確認操作方法和取消操作方法,對所述從服務模塊預配置確認操作方法和取消操作方法,所述確認操作方法指服務模塊執行業務活動要進行的處理邏輯,所述取消操作方法指服務模塊取消執行業務活動要進行的處理邏輯。

可選地,當監測到出現未預知的問題阻斷事務進行時,以預設方式恢復事務。

可選地,所述預設方式為:以預設時間間隔恢復事務,當恢復事務的次數達到預設最大次數時,停止恢復。

可選地,還包括:對所述主服務模塊與各所述從服務模塊之間進行調用的調用信息保存,並將所述調用信息展示給用戶。

一種分布式系統事務管理裝置,包括:

監測模塊,用於監測參與業務活動的主服務模塊、各從服務模塊的操作是否正常,所述主服務模塊用於發起並完成整個業務活動,所述從服務模塊用於提供可被調用的業務方法;

控制模塊,用於若各服務模塊的操作都正常,則確認提交所述業務活動,控制各服務模塊執行確認操作;若至少一個服務模塊的操作出現異常,則取消提交所述業務活動,控制各服務模塊執行取消操作。

可選地,還包括:

配置模塊,用於對所述主服務模塊預配置確認操作方法和取消操作方法,對所述從服務模塊預配置確認操作方法和取消操作方法,所述確認操作方法指服務模塊執行業務活動要進行的處理邏輯,所述取消操作方法指服務模塊取消執行業務活動要進行的處理邏輯。

可選地,還包括:

事務恢復模塊,用於當監測到出現未預知的問題阻斷事務進行時,以預設方式恢復事務。

可選地,所述預設方式為:以預設時間間隔恢復事務,當恢復事務的次數達到預設最大次數時,停止恢復。

可選地,還包括:

資料庫,用於對所述主服務模塊與各所述從服務模塊之間進行調用的調用信息保存;

控制臺,用於將所述調用信息展示給用戶。

由上述技術方案可知,本發明所提供的分布式系統事務管理方法及裝置,監測參與業務活動的主服務模塊、各從服務模塊的操作是否正常,若各服務模塊的操作都正常,則確認提交所述業務活動,控制各服務模塊執行確認操作;若至少一個服務模塊的操作出現異常,則取消提交所述業務活動,控制各服務模塊執行取消操作,取消已執行的業務,恢復數據,從而保證了各服務模塊之間數據的一致性。

本發明分布式系統事務管理方法及裝置,實現了各服務模塊間數據的一致性,與現有方法相比,克服了現有方法存在的實施複雜,性能較差的弊端。

附圖說明

為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。

圖1為本發明實施例提供的一種分布式系統事務管理方法的示意圖;

圖2為本發明實施例中分布式系統的示意圖;

圖3為本發明實施例提供的一種分布式系統事務管理裝置的示意圖;

圖4為本發明實施例中分布式系統事務管理裝置的連接示意圖。

具體實施方式

為了使本技術領域的人員更好地理解本發明中的技術方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本發明保護的範圍。

請參考圖1,本發明實施例提供的一種分布式系統事務管理方法,包括:

s10:監測參與業務活動的主服務模塊、各從服務模塊的操作是否正常,所述主服務模塊用於發起並完成整個業務活動,所述從服務模塊用於提供可被調用的業務方法。

可參考圖2,在分布式系統中,一個完整的業務活動由一個主服務模塊20和若干從服務模塊21組成,其中,主服務模塊20用於發起並完成整個業務活動,從服務模塊21用於提供可被調用的業務方法。

在主服務模塊20發起一個業務活動後,主服務模塊20和各從服務模塊21根據該業務活動進行相應的一些操作。

其中,從服務模塊21進行的操作包括:在主服務模塊20發起業務活動後,從服務模塊21為所述業務活動預留資源。

在此過程中,監測主服務模塊20、各從服務模塊21進行的操作,並日誌記錄各服務模塊進行的操作。

優選的,可以將記錄的各服務模塊的操作日誌記錄存儲在資料庫中。

s11:若各服務模塊的操作都正常,則確認提交所述業務活動,控制各服務模塊執行確認操作。

這裡所說的確認操作是指確認執行業務活動。

若監測到各服務模塊,包括主服務模塊20和從服務模塊21,進行操作都正常,則確認提交所述業務活動,控制主服務模塊20、各從服務模塊21確認執行業務活動。這樣,在主服務模塊和各從服務模塊進行操作都正常時,保證各服務模塊都執行業務活動,使各服務模塊之間數據保持一致。

在具體實施時,會預先在主服務模塊20中配置確認操作方法,會預先在從服務模塊21中配置確認操作方法,確認操作方法指服務模塊執行業務活動要進行的處理邏輯。

s12:若至少一個服務模塊的操作出現異常,則取消提交所述業務活動,控制各服務模塊執行取消操作。

這裡所說的取消操作是指取消執行業務活動。

若監測到各服務模塊,包括主服務模塊20和從服務模塊21中至少一個進行操作出現異常時,則取消提交所述業務活動,控制主服務模塊20、各從服務模塊21取消執行業務活動。這樣,當各服務模塊中至少一個操作出現異常,則對所有參與業務活動的服務模塊取消執行業務活動,保證所有服務模塊之間數據的一致性。

在具體實施時,會預先在主服務模塊20中配置取消操作方法,會預先在從服務模塊21中配置取消操作方法,取消操作方法指服務模塊取消執行業務活動要進行的處理邏輯。

可以看出,本實施例分布式系統事務管理方法,通過監測參與業務活動的主服務模塊、各從服務模塊的操作是否正常,當至少一個服務模塊的操作出現異常,則取消提交業務活動,各服務模塊執行取消操作。取消已執行的業務,恢復數據,從而保證各服務模塊之間數據的一致性。

在本分布式系統事務管理方法的又一實施例中,在上述實施例描述內容的基礎上,還包括:當監測到出現未預知的問題阻斷事務進行時,以預設方式恢復事務。這樣保證業務活動和數據的一致性。

在具體實施時,所述預設方式可以是:以預設時間間隔恢復事務,當恢復事務的次數達到預設最大次數時,停止恢復。

當監測到出現不可預知的問題,導致事務活動執行中斷時,會定期恢復事務,具體為以預設時間間隔定期恢復事務,並當恢復事務的次數達到預設最大次數時停止恢復,即在恢復事務的執行次數超過預設最大次數時不再進行恢復,示例性的,用戶可設置恢復事務的時間間隔以及預設最大次數,比如時間間隔為120s,預設最大次數為30次。

另外優選的,本方法中,開發人員可以不採用默認的恢復方式,如果想自定義恢復策略可以按照需求自行配置。

由此可見本實施例分布式系統事務管理方法提供了方案事務的安全保障。可以防止因為不可抗拒因素比如斷電導致的事務中斷。

進一步的,本方法還包括:對所述主服務模塊與各所述從服務模塊之間進行調用的調用信息保存,並將所述調用信息展示給用戶。

在本分布式系統中設置資料庫,將主服務模塊與各從服務模塊之間進行調用的調用信息存儲在資料庫中,成為本事務管理方案的數據基礎。

在本分布式系統中可設置控制臺,將主服務模塊與各從服務模塊之間的調用信息展示到控制臺,從而管理員可以通過控制臺查詢調用信息,查看事務的執行情況。並能夠人為幹預事務的執行,能夠通過控制臺控制選擇某服務模塊作為主服務模塊,控制主服務模塊發起業務活動,並選擇被主服務模塊調用的從服務模塊。

因此,本實施例分布式系統事務管理方法對事務管理具有可視性,管理方便,使得在每次發起一次跨服務調用時,能夠在資料庫中保留調用記錄,方便管理、查看和幹預。

相應的,請參考圖3,本發明實施例還提供一種分布式系統事務管理裝置,包括:

監測模塊30,用於監測參與業務活動的主服務模塊、各從服務模塊的操作是否正常,所述主服務模塊用於發起並完成整個業務活動,所述從服務模塊用於提供可被調用的業務方法;

控制模塊31,用於若各服務模塊的操作都正常,則確認提交所述業務活動,控制各服務模塊執行確認操作;若至少一個服務模塊的操作出現異常,則取消提交所述業務活動,控制各服務模塊執行取消操作。

可以看出,本實施例分布式系統事務管理裝置,包括監測模塊和控制模塊,監測參與業務活動的主服務模塊、各從服務模塊的操作是否正常,若各服務模塊的操作都正常,則確認提交所述業務活動,控制各服務模塊執行確認操作;若至少一個服務模塊的操作出現異常,則取消提交所述業務活動,控制各服務模塊執行取消操作,取消已執行的業務,恢復數據,從而保證了各服務模塊之間數據的一致性。因此,本實施例分布式系統事務管理裝置,實現了各服務模塊間數據的一致性,與現有方法相比,克服了現有方法存在的實施複雜,性能較差的弊端。

可參考圖2和圖4,在分布式系統中,一個完整的業務活動由一個主服務模塊20和若干從服務模塊21組成,其中,主服務模塊20用於發起並完成整個業務活動,從服務模塊21用於提供可被調用的業務方法。

在主服務模塊20發起一個業務活動後,主服務模塊20和各從服務模塊21根據該業務活動進行相應的一些操作。

在此過程中,分布式系統事務管理裝置監測模塊30監測主服務模塊20、各從服務模塊21進行的操作,並日誌記錄各服務模塊進行的操作。

根據監測模塊30監測的情況,若各服務模塊的操作都正常,控制模塊31則確認提交所述業務活動,控制各服務模塊執行確認操作;若至少一個服務模塊的操作出現異常,控制模塊31則取消提交所述業務活動,控制各服務模塊執行取消操作。

本實施例裝置中,還包括:

配置模塊,用於對所述主服務模塊預配置確認操作方法和取消操作方法,對所述從服務模塊預配置確認操作方法和取消操作方法,所述確認操作方法指服務模塊執行業務活動要進行的處理邏輯,所述取消操作方法指服務模塊取消執行業務活動要進行的處理邏輯。

本實施例分布式系統事務管理裝置中,還包括:

事務恢復模塊,用於當監測到出現未預知的問題阻斷事務進行時,以預設方式恢復事務。

當監測到出現不可預知的問題,導致事務活動執行中斷時,會定期恢復事務,這樣保證業務活動和數據的一致性。

在具體實施時,預設方式可以是:以預設時間間隔恢復事務,當恢復事務的次數達到預設最大次數時,停止恢復。

當監測到出現不可預知的問題時,會定期恢復事務,以預設時間間隔定期恢復事務,並當恢復事務的次數達到預設最大次數時停止恢復,即在恢復事務的執行次數超過預設最大次數時不再進行恢復,示例性的,用戶可設置恢復事務的時間間隔以及預設最大次數,比如時間間隔為120s,預設最大次數為30次。

另外優選的,開發人員可以不採用默認的恢復方式,如果想自定義恢復策略可以按照需求自行配置。

進一步的,本實施例分布式系統事務管理裝置,還包括:

資料庫,用於對所述主服務模塊與各所述從服務模塊之間進行調用的調用信息保存;

控制臺,用於將所述調用信息展示給用戶。

將主服務模塊與各從服務模塊之間的調用信息展示到控制臺,使管理員可以通過控制臺查詢調用信息,查看事務的執行情況。並能夠人為幹預事務的執行,能夠通過控制臺控制選擇某服務模塊作為主服務模塊,控制主服務模塊發起業務活動,並選擇調用的從服務模塊。

因此,本實施例分布式系統事務管理裝置對事務管理具有可視性,管理方便,使得在每次發起一次跨服務調用時,能夠在資料庫中保留調用記錄,方便管理、查看和幹預。

以上對本發明所提供的一種分布式系統事務管理方法及裝置進行了詳細介紹。本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想。應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以對本發明進行若干改進和修飾,這些改進和修飾也落入本發明權利要求的保護範圍內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀