<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

賬戶的處理方法、裝置、電子設備及計算機存儲介質與流程

文檔序號:37128343發布日期:2024-02-22 21:52閱讀:30556來源:國知局
賬戶的處理方法、裝置、電子設備及計算機存儲介質與流程

本技術涉及計算機,特別涉及一種賬戶的處理方法、裝置、電子設備及計算機存儲介質。


背景技術:

1、目前,在銀行賬務處理中,記賬處理過程主要包括兩部分,一是登記賬務流水登記簿,二是更新賬戶的余額。為了保證賬戶不被其他請求影響數據的準確性,記賬處理時,會先對賬戶的資源加鎖,記賬處理結束后釋放鎖。

2、但是,隨著賬務處理業務量的增大,賬務數據庫中的賬戶會在瞬間產生多個并發操作,但所有對應的并發的線程中只有一個線程能持有當前賬戶的資源鎖,其他線程必須等待該鎖被釋放后再逐一進行記賬處理,該賬戶會被頻繁加鎖釋放鎖,該賬戶成為熱點賬戶,產生性能瓶頸點,熱點賬戶帶來的是性能問題,多筆交易需要給同一賬戶記賬時,會產生一筆交易等待前一筆交易記賬完成后才能接著記賬,會產生鎖等待引發事務超時。


技術實現思路

1、有鑒于此,本技術提供了一種賬戶的處理方法、裝置、電子設備及計算機存儲介質,有效解決高并發下的鎖超時問題。

2、本技術第一方面提供了一種賬戶的處理方法,包括:

3、接收記賬請求,判斷redis是否可用;

4、若判斷出redis可用,則從redis中對賬戶進行加鎖,并讀取redis賬戶余額;

5、根據記賬分錄計算得到賬戶的最新余額,并將所述賬戶的最新余額更新至redis中;

6、新增記賬流水至數據庫;

7、若判斷出redis不可用,則觸發更新賬戶主表余額組件,計算本次記賬前數據庫余額;其中,采用傳統的記賬方式,從數據庫對賬戶進行加鎖,然后讀取賬戶余額,根據記賬分錄計算得到賬戶的最新余額,并更新賬戶解鎖賬戶;

8、新增記賬流水至數據庫。

9、可選的,所述賬戶的處理方法,還包括:

10、接收查詢請求,判斷redis是否可用;

11、若判斷出redis可用,則從redis中查詢余額;

12、若判斷出redis不可用,則觸發更新賬戶主表余額組件,查詢數據庫賬戶余額。

13、可選的,賬戶的處理方法,還包括:

14、系統啟動時,觸發更新賬戶主表余額組件,更新數據庫賬戶余額;

15、觸發同步數據庫賬戶余額到redis組件,將數據庫中賬戶余額同步到redis。

16、可選的,賬戶的處理方法,還包括:

17、每到第一預定時間,更新賬戶主表余額組件;其中,所述第一預定時間為根據業務特點進行設定。

18、可選的,賬戶的處理方法,還包括:

19、每到第二預定時間,將數據庫內余額更新到redis;其中,所述第二預定時間為根據業務特點進行設定;

20、比對數據庫余額和redis余額是否一致;

21、若數據庫余額和redis余額不一致,則記錯誤日志并發預警。

22、可選的,賬戶的處理方法,還包括:

23、每到第三預定時間,確定redis的可用狀態;

24、若redis由可用變為不可用,更新數據庫的redis狀態為不可用,觸發更新賬戶主表余額組件,更新數據庫賬戶余額,并將記賬模式切換為數據庫模式;

25、若redis由不可用變為可用,更新數據庫的redis狀態為可用,觸發更新賬戶主表余額組件,更新數據庫賬戶余額,觸發同步數據庫賬戶余額到redis組件,將數據庫余額全部同步到redis,并將記賬模式切換為redis模式。

26、本技術第二方面提供了一種賬戶的處理裝置,包括:

27、第一判斷單元,用于接收記賬請求,判斷redis是否可用;

28、讀取單元,用于若所述第一判斷單元判斷出redis可用,則從redis中對賬戶進行加鎖,并讀取redis賬戶余額;

29、第一更新單元,用于根據記賬分錄計算得到賬戶的最新余額,并將所述賬戶的最新余額更新至redis中;

30、新增單元,用于新增記賬流水至數據庫;

31、計算單元,用于若所述第一判斷單元判斷出redis不可用,則觸發更新賬戶主表余額組件,計算本次記賬前數據庫余額;其中,采用傳統的記賬方式,從數據庫對賬戶進行加鎖,然后讀取賬戶余額,根據記賬分錄計算得到賬戶的最新余額,并更新賬戶解鎖賬戶。

32、可選的,賬戶的處理裝置,還包括:

33、第二判斷單元,用于接收查詢請求,判斷redis是否可用;

34、查詢單元,用于若所述第二判斷單元判斷出redis可用,則從redis中查詢余額;

35、所述查詢單元,還用于若所述第二判斷單元判斷出redis不可用,則觸發更新賬戶主表余額組件,查詢數據庫賬戶余額。

36、可選的,賬戶的處理裝置,還包括:

37、第一觸發單元,用于系統啟動時,觸發更新賬戶主表余額組件,更新數據庫賬戶余額;

38、第二觸發單元,用于觸發同步數據庫賬戶余額到redis組件,將數據庫中賬戶余額同步到redis。

39、可選的,賬戶的處理裝置,還包括:

40、第二更新單元,用于每到第一預定時間,更新賬戶主表余額組件;其中,所述第一預定時間為根據業務特點進行設定。

41、可選的,賬戶的處理裝置,還包括:

42、第三更新單元,用于每到第二預定時間,將數據庫內余額更新到redis;其中,所述第二預定時間為根據業務特點進行設定;

43、比對單元,用于比對數據庫余額和redis余額是否一致;

44、預警單元,用于若數據庫余額和redis余額不一致,則記錯誤日志并發預警。

45、可選的,賬戶的處理裝置,還包括:

46、確定單元,用于每到第三預定時間,確定redis的可用狀態;

47、第三觸發單元,用于若redis由可用變為不可用,更新數據庫的redis狀態為不可用,觸發更新賬戶主表余額組件,更新數據庫賬戶余額,并將記賬模式切換為數據庫模式;

48、第四觸發單元,用于若redis由不可用變為可用,更新數據庫的redis狀態為可用,觸發更新賬戶主表余額組件,更新數據庫賬戶余額,觸發同步數據庫賬戶余額到redis組件,將數據庫余額全部同步到redis,并將記賬模式切換為redis模式。

49、本技術第三方面提供了一種電子設備,包括:

50、一個或多個處理器;

51、存儲裝置,其上存儲有一個或多個程序;

52、當所述一個或多個程序被所述一個或多個處理器執行時,使得所述一個或多個處理器實現如第一方面任意一項所述的賬戶的處理方法。

53、本技術第四方面提供了一種計算機存儲介質,其上存儲有計算機程序,其中,所述計算機程序被處理器執行時實現如第一方面任意一項所述的賬戶的處理方法。

54、由以上方案可知,本技術提供一種賬戶的處理方法、裝置、電子設備及計算機存儲介質,通過redis分布式鎖保存賬戶余額信息,提高數據讀寫速率,減小事務執行時間,降低鎖的持有時間來解決熱表的鎖超時問題。同時由于記賬過程中任何的賬務丟失都是不允許的,特針對redis崩潰的場景設計了redis和數據庫的無縫切換。

當前第1頁1 2 
網友詢問留言 已有1條留言
  • 184082... 來自[中國] 2024年02月24日 00:23
    有點意思
    32
1
韩国伦理电影