System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及金融交易領(lǐng)域,具體是一種用于金融交易場景的數(shù)據(jù)處理方法、介質(zhì)及電子設(shè)備。
技術(shù)介紹
1、在高并發(fā)數(shù)據(jù)處理場景中,如在線交易系統(tǒng)和實時數(shù)據(jù)分析,系統(tǒng)需要快速、高效地處理大量并發(fā)請求。目前在高頻數(shù)據(jù)處理場景中,常見的實現(xiàn)方案有使用傳統(tǒng)的阻塞隊列(如arrayblockingqueue或linkedblockingqueue)結(jié)合線程池來進行數(shù)據(jù)生產(chǎn)和消費。
2、傳統(tǒng)的隊列和鎖機制往往難以滿足高性能要求,容易導致線程競爭和性能瓶頸。ringbuffer作為一種高效的緩沖區(qū)結(jié)構(gòu),可以提供高吞吐量和低延遲,而threadlocal可以為每個線程提供獨立的變量存儲,避免線程間的共享和競爭。
技術(shù)實現(xiàn)思路
1、鑒于上述問題,提出了本專利技術(shù)以便提供克服上述問題或者至少部分地解決上述問題的一種用于金融交易場景的數(shù)據(jù)處理方法、介質(zhì)及電子設(shè)備。
2、為實現(xiàn)上述目的,在本申請的第一方面提供了一種用于金融交易場景的數(shù)據(jù)處理方法,所述方法包括:
3、初始化環(huán)形緩沖區(qū);
4、使用threadlocal進行線程本地存儲;
5、在生產(chǎn)者線程中,通過threadlocal獲取線程本地事件對象,并將交易數(shù)據(jù)寫入線程本地事件對象;
6、獲取環(huán)形緩沖區(qū)下一個可用的序列號,通過獲取的序列號,從環(huán)形緩沖區(qū)中獲取對應的事件對象;
7、將線程本地事件對象中的數(shù)據(jù)寫入環(huán)形緩沖區(qū)中的事件對象;
8、通過環(huán)形緩沖區(qū)發(fā)布事件,通
9、消費者線程從環(huán)形緩沖區(qū)中獲取事件,使用消費者線程的序列號來標識需要處理的事件,并通過threadlocal獲取消費者線程本地的處理狀態(tài)對象;
10、使用線程本地的處理狀態(tài)對象處理從環(huán)形緩沖區(qū)中獲取交易數(shù)據(jù);
11、在處理交易數(shù)據(jù)后,更新線程本地的處理狀態(tài)對象。
12、可選的,所述初始化環(huán)形緩沖區(qū)包括:
13、根據(jù)交易系統(tǒng)的預期并發(fā)量和數(shù)據(jù)處理需求選擇緩沖區(qū);
14、選擇等待策略以平衡系統(tǒng)延遲和cpu使用率;
15、創(chuàng)建事件工廠,事件工廠用于創(chuàng)建環(huán)形緩沖區(qū)中的事件對象;
16、初始化disruptor框架,通過disruptor框架創(chuàng)建和管理環(huán)形緩沖區(qū);
17、配置事件處理器,事件處理器用于處理從環(huán)形緩沖區(qū)中讀取的事件。
18、可選的,,所述使用threadlocal進行線程本地存儲包括:
19、確定需要threadlocal存儲的對象;
20、創(chuàng)建threadlocal變量,為每個需要線程本地存儲的對象創(chuàng)建threadlocal變量;
21、初始化threadlocal變量,在系統(tǒng)初始化過程中,為每個線程初始化threadlocal變量;
22、在線程中獲取threadlocal對象,在處理交易數(shù)據(jù)時,通過threadlocal變量獲取線程本地存儲的對象;
23、在生產(chǎn)者線程中,將交易數(shù)據(jù)寫入threadlocal存儲的交易事件對象;
24、在消費者線程中,通過threadlocal變量獲取處理狀態(tài)對象。
25、可選的,所述存儲的對象包括交易事件對象和處理狀態(tài)對象,交易事件對象包括交易id和交易價格,處理狀態(tài)對象包括交易處理的中間狀態(tài)和交易處理的結(jié)果。
26、可選的,在處理交易數(shù)據(jù)后,還會根據(jù)處理結(jié)果來執(zhí)行日志記錄操作或者通知其他系統(tǒng)。
27、可選的,所述環(huán)形緩沖區(qū)通過compare-and-swap機制實現(xiàn)無鎖的序列號獲取和事件發(fā)布。
28、可選的,環(huán)形緩沖區(qū)支持多生產(chǎn)者和多消費者模式,通過同步機制,多個生產(chǎn)者可以同時發(fā)布事件,多個消費者可以同時處理事件。
29、可選的,通過無鎖設(shè)計和預分配內(nèi)存,事件對象在環(huán)形緩沖區(qū)中預先分配,以確保在高并發(fā)環(huán)境下數(shù)據(jù)的一致性和處理的準確性。
30、在本申請的第二方面提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)中存儲有計算機程序,所述計算機程序被處理器加載并執(zhí)行時,采用了第一方面中任一項所述的方法。
31、在本申請的第三方面提供了一種電子設(shè)備,包括存儲器、處理器及存儲在存儲器中并能夠在處理器上運行的計算機程序,所述處理器加載并執(zhí)行計算機程序時,采用了第一方面中任一項所述的方法。
32、綜上所述,由于采用了上述技術(shù)方案,本專利技術(shù)的有益效果是:
33、本專利技術(shù)結(jié)合使用環(huán)形緩沖區(qū)和threadlocal,提供了一種高效、低延遲、線程安全的金融交易系統(tǒng)數(shù)據(jù)處理方法,顯著提高了處理性能,滿足了金融系統(tǒng)高并發(fā)、高吞吐量、低延遲的嚴格要求,具有廣泛的應用前景和市場價值。
本文檔來自技高網(wǎng)...【技術(shù)保護點】
1.一種用于金融交易場景的數(shù)據(jù)處理方法,其特征在于,所述方法包括:
2.如權(quán)利要求1所述的一種用于金融交易場景的數(shù)據(jù)處理方法,其特征在于,所述初始化環(huán)形緩沖區(qū)包括:
3.如權(quán)利要求1所述的一種用于金融交易場景的數(shù)據(jù)處理方法,其特征在于,所述使用ThreadLocal進行線程本地存儲包括:
4.如權(quán)利要求3所述的一種用于金融交易場景的數(shù)據(jù)處理方法,其特征在于,所述存儲的對象包括交易事件對象和處理狀態(tài)對象,交易事件對象包括交易ID和交易價格,處理狀態(tài)對象包括交易處理的中間狀態(tài)和交易處理的結(jié)果。
5.如權(quán)利要求1所述的一種用于金融交易場景的數(shù)據(jù)處理方法,其特征在于,在處理交易數(shù)據(jù)后,還會根據(jù)處理結(jié)果來執(zhí)行日志記錄操作或者通知其他系統(tǒng)。
6.如權(quán)利要求1所述的一種用于金融交易場景的數(shù)據(jù)處理方法,其特征在于,所述環(huán)形緩沖區(qū)通過Compare-And-Swap機制實現(xiàn)無鎖的序列號獲取和事件發(fā)布。
7.如權(quán)利要求1所述的一種用于金融交易場景的數(shù)據(jù)處理方法,其特征在于,環(huán)形緩沖區(qū)支持多生產(chǎn)者和多消費者模式,通過同步機制,多個
8.如權(quán)利要求1所述的一種用于金融交易場景的數(shù)據(jù)處理方法,其特征在于,通過無鎖設(shè)計和預分配內(nèi)存,事件對象在環(huán)形緩沖區(qū)中預先分配,以確保在高并發(fā)環(huán)境下數(shù)據(jù)的一致性和處理的準確性。
9.一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)中存儲有計算機程序,其特征在于,所述計算機程序被處理器加載并執(zhí)行時,采用了權(quán)利要求1-8中任一項所述的方法。
10.一種電子設(shè)備,包括存儲器、處理器及存儲在存儲器中并能夠在處理器上運行的計算機程序,其特征在于,所述處理器加載并執(zhí)行計算機程序時,采用了權(quán)利要求1-8中任一項所述的方法。
...【技術(shù)特征摘要】
1.一種用于金融交易場景的數(shù)據(jù)處理方法,其特征在于,所述方法包括:
2.如權(quán)利要求1所述的一種用于金融交易場景的數(shù)據(jù)處理方法,其特征在于,所述初始化環(huán)形緩沖區(qū)包括:
3.如權(quán)利要求1所述的一種用于金融交易場景的數(shù)據(jù)處理方法,其特征在于,所述使用threadlocal進行線程本地存儲包括:
4.如權(quán)利要求3所述的一種用于金融交易場景的數(shù)據(jù)處理方法,其特征在于,所述存儲的對象包括交易事件對象和處理狀態(tài)對象,交易事件對象包括交易id和交易價格,處理狀態(tài)對象包括交易處理的中間狀態(tài)和交易處理的結(jié)果。
5.如權(quán)利要求1所述的一種用于金融交易場景的數(shù)據(jù)處理方法,其特征在于,在處理交易數(shù)據(jù)后,還會根據(jù)處理結(jié)果來執(zhí)行日志記錄操作或者通知其他系統(tǒng)。
6.如權(quán)利要求1所述的一種用于金融交易場景的數(shù)據(jù)處理方法,其特征在于,所述環(huán)形緩沖區(qū)通過compar...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:梁慶林,
申請(專利權(quán))人:北銀金融科技有限責任公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。