System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本說明書實施例涉及分布式鎖,尤其涉及一種面向金融分布式系統的分布式鎖引擎及控制方法。
技術介紹
1、在金融分布式系統中,分布式系統變得日趨復雜,特別是企業級應用場景下,針對共享資源的互斥訪問也成為很多業務必須要面對的需求,這個場景下通常會引入分布式鎖來解決問題。目前流行的加鎖方式有數據庫加鎖、redis加鎖、rheakv加鎖等,每種加鎖方式都有其優缺點,也都有適用的場景。
2、針對金融分布式系統中,應用場景多、業務多,加鎖需求不同,沒有統一的引擎對多種分布式鎖進行結合,在更換加鎖模式時,需要修改源碼,對于業務方切換時使用不方便,代碼入侵性大。
技術實現思路
1、為解決現有技術中沒有統一的引擎對多種分布式鎖進行結合,在更換加鎖模式時,需要修改源碼,對于業務方切換時使用不方便,代碼入侵性大的問題,本說明書實施例提供了一種面向金融分布式系統的分布式鎖引擎及控制方法,通過抽象統一的鎖接口,通過定義引擎的方式,將多種加鎖模式分別提供實現,用戶可以通過引擎結合配置進行加鎖模式的確定和加鎖以及解鎖的操作,在加鎖模式的切換時,只需要修改配置文件就可以實現切換,沒有代碼侵入。
2、本說明書實施例的具體技術方案如下:
3、一方面,本說明書實施例提供了一種面向金融分布式系統的分布式鎖引擎,所述分布式鎖引擎應用于金融分布式系統,包括:實現引擎、配置引擎和管理引擎;
4、所述實現引擎中包括多個不同版本的分布式鎖各自對應的鎖實現,所述鎖實現用于調用相應的所述分布
5、所述配置引擎用于根據分布式鎖配置信息從所述多個不同版本的分布式鎖中確定目標分布式鎖,建立所述金融分布式系統與所述目標分布式鎖的服務器之間的通信連接;
6、所述管理引擎用于當所述金融分布式系統中的節點訪問所述金融分布式系統的目標共享資源時,調用所述實現引擎中所述目標分布式鎖對應的鎖實現,以便于所述鎖實現調用所述目標分布式鎖的功能接口對所述目標共享資源執行加鎖或解鎖操作。
7、進一步地,所述實現引擎還包括:
8、加鎖等待時間配置接口,用于接收所述金融分布式系統根據業務場景確定的加鎖等待時間,以便于當所述管理引擎調用所述目標分布式鎖對應的鎖實現時,該鎖實現將所述加鎖等待時間作為所述目標分布式鎖的功能接口的調用參數并調用所述目標分布式鎖的功能接口,所述目標分布式鎖對應的服務器對所述目標共享資源執行加鎖操作時,判斷在所述加鎖等待時間內是否加鎖成功,并向該鎖實現返回加鎖結果。
9、進一步地,所述實現引擎還包括:
10、鎖釋放超時時間配置接口,用于接收所述金融分布式系統根據業務場景確定的鎖釋放超時時間,以便于當所述管理引擎調用所述目標分布式鎖對應的鎖實現時,該鎖實現將所述鎖釋放超時時間作為所述目標分布式鎖的功能接口的調用參數并調用所述目標分布式鎖的功能接口,所述目標分布式鎖對應的服務器在對所述目標共享資源執行加鎖操作成功后,判斷在所述鎖釋放超時時間內所述目標共享資源的鎖是否被釋放,若否,則釋放所述目標共享資源的鎖。
11、進一步地,所述配置引擎還用于根據所述分布式鎖配置信息確定所述目標分布式鎖操作的目標數據源。
12、進一步地,所述管理引擎進一步用于當所述金融分布式系統中的節點訪問所述目標數據源中的共享資源時,調用所述實現引擎中所述目標分布式鎖對應的鎖實現,以便于所述鎖實現調用所述目標分布式鎖的功能接口對所述目標數據源中的共享資源執行加鎖或解鎖操作。
13、基于同一專利技術構思,本說明書實施例還提供了一種面向金融分布式系統的分布式鎖引擎的控制方法,應用于上述的面向金融分布式系統的分布式鎖引擎,所述控制方法包括:
14、控制實現引擎創建多個不同版本的分布式鎖各自對應的鎖實現,所述鎖實現用于調用相應的所述分布式鎖的功能接口,對所述金融分布式系統的相應共享資源執行加鎖或解鎖操作;
15、當接收到分布式鎖配置信息后,控制配置引擎根據所述分布式鎖配置信息從所述多個不同版本的分布式鎖中確定目標分布式鎖,建立所述金融分布式系統與所述目標分布式鎖的服務器之間的通信連接;
16、當所述金融分布式系統中的節點訪問所述金融分布式系統的目標共享資源時,控制管理引擎調用所述實現引擎中所述目標分布式鎖對應的鎖實現,以便于所述鎖實現調用所述目標分布式鎖的功能接口對所述目標共享資源執行加鎖或解鎖操作。
17、進一步地,所述控制方法還包括:
18、通過所述實現引擎中的加鎖等待時間配置接口接收所述金融分布式系統根據業務場景確定的加鎖等待時間;
19、當所述管理引擎調用所述目標分布式鎖對應的鎖實現時,控制該鎖實現將所述加鎖等待時間作為所述目標分布式鎖的功能接口的調用參數并調用所述目標分布式鎖的功能接口,以便于所述目標分布式鎖對應的服務器對所述目標共享資源執行加鎖操作時,判斷在所述加鎖等待時間內是否加鎖成功,并向該鎖實現返回加鎖結果。
20、進一步地,所述控制方法還包括:
21、通過所述實現引擎中的鎖釋放超時時間配置接口接收所述金融分布式系統根據業務場景確定的鎖釋放超時時間;
22、當所述管理引擎調用所述目標分布式鎖對應的鎖實現時,控制該鎖實現將所述鎖釋放超時時間作為所述目標分布式鎖的功能接口的調用參數并調用所述目標分布式鎖的功能接口,以便于所述目標分布式鎖對應的服務器在對所述目標共享資源執行加鎖操作成功后,判斷在所述鎖釋放超時時間內所述目標共享資源的鎖是否被釋放,若否,則釋放所述目標共享資源的鎖。
23、進一步地,所述控制方法還包括:
24、控制所述配置引擎根據所述分布式鎖配置信息確定所述目標分布式鎖操作的目標數據源。
25、進一步地,所述控制方法還包括:
26、當所述金融分布式系統中的節點訪問所述目標數據源中的共享資源時,控制所述管理引擎調用所述實現引擎中所述目標分布式鎖對應的鎖實現,以便于所述鎖實現調用所述目標分布式鎖的功能接口對所述目標數據源中的共享資源執行加鎖或解鎖操作。
27、另一方面,本說明書實施例還提供了一種計算機設備,包括存儲器、處理器、以及存儲在存儲器上的計算機程序,處理器執行所述計算機程序時實現上述的控制方法。
28、另一方面,本說明書實施例還提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機程序,所述計算機程序被處理器執行時實現上述的控制方法。
29、最后,本說明書實施例還提供了一種計算機程序產品,所述計算機程序產品包括計算機程序,所述計算機程序被處理器執行時實現上述的控制方法。
30、利用本說明書實施例,通過定義引擎的方式,將多個不同版本的分布式鎖分別提供實現,用戶可以通過引擎結合配置進行加鎖模式的確定和加鎖以及解鎖的操作,在加鎖模式的切換時,只需要修改分布式鎖配置信息本文檔來自技高網...
【技術保護點】
1.一種面向金融分布式系統的分布式鎖引擎,其特征在于,所述分布式鎖引擎應用于金融分布式系統,包括:實現引擎、配置引擎和管理引擎;
2.根據權利要求1所述的面向金融分布式系統的分布式鎖引擎,其特征在于,所述實現引擎還包括:
3.根據權利要求1所述的面向金融分布式系統的分布式鎖引擎,其特征在于,所述實現引擎還包括:
4.根據權利要求1所述的面向金融分布式系統的分布式鎖引擎,其特征在于,所述配置引擎還用于根據所述分布式鎖配置信息確定所述目標分布式鎖操作的目標數據源。
5.根據權利要求4所述的面向金融分布式系統的分布式鎖引擎,其特征在于,所述管理引擎進一步用于當所述金融分布式系統中的節點訪問所述目標數據源中的共享資源時,調用所述實現引擎中所述目標分布式鎖對應的鎖實現,以便于所述鎖實現調用所述目標分布式鎖的功能接口對所述目標數據源中的共享資源執行加鎖或解鎖操作。
6.一種面向金融分布式系統的分布式鎖引擎的控制方法,應用于權利要求1-5任意一項所述的面向金融分布式系統的分布式鎖引擎,其特征在于,所述控制方法包括:
7.根
8.根據權利要求6所述的控制方法,其特征在于,所述控制方法還包括:
9.根據權利要求6所述的控制方法,其特征在于,所述控制方法還包括:
10.根據權利要求9所述的控制方法,其特征在于,所述控制方法還包括:
11.一種計算機設備,包括存儲器、處理器、以及存儲在所述存儲器上的計算機程序,其特征在于,所述處理器執行所述計算機程序時,實現權利要求6至10任一所述的控制方法。
12.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質存儲有計算機程序,所述計算機程序被處理器執行時實現權利要求6至10任一所述的控制方法。
13.一種計算機程序產品,其特征在于,所述計算機程序產品包括計算機程序,所述計算機程序被處理器執行時實現權利要求6至10任一所述的控制方法。
...【技術特征摘要】
1.一種面向金融分布式系統的分布式鎖引擎,其特征在于,所述分布式鎖引擎應用于金融分布式系統,包括:實現引擎、配置引擎和管理引擎;
2.根據權利要求1所述的面向金融分布式系統的分布式鎖引擎,其特征在于,所述實現引擎還包括:
3.根據權利要求1所述的面向金融分布式系統的分布式鎖引擎,其特征在于,所述實現引擎還包括:
4.根據權利要求1所述的面向金融分布式系統的分布式鎖引擎,其特征在于,所述配置引擎還用于根據所述分布式鎖配置信息確定所述目標分布式鎖操作的目標數據源。
5.根據權利要求4所述的面向金融分布式系統的分布式鎖引擎,其特征在于,所述管理引擎進一步用于當所述金融分布式系統中的節點訪問所述目標數據源中的共享資源時,調用所述實現引擎中所述目標分布式鎖對應的鎖實現,以便于所述鎖實現調用所述目標分布式鎖的功能接口對所述目標數據源中的共享資源執行加鎖或解鎖操作。
6.一種面向金融分布式系統的分布式鎖引擎的控制方法,應用于權利要求1-5...
【專利技術屬性】
技術研發人員:王海濤,杜海森,
申請(專利權)人:中國光大銀行股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。