System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現(xiàn)步驟摘要】
本專利技術涉及金融科技領域,尤其涉及微服務領域,具體是指一種針對微服務間實現(xiàn)行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的方法、系統(tǒng)、裝置、處理器及其計算機可讀存儲介質(zhì)。
技術介紹
1、微服務是指將系統(tǒng)拆分成一組小而自治的服務的架構風格。每個微服務都獨立運行,并且通過輕量級的通信機制來相互協(xié)作。市面上越來越多單體龐大的行情系統(tǒng)朝著微服務化發(fā)展,如何高效的進行微服務間的行情數(shù)據(jù)調(diào)用成了需要解決的問題。
2、證券市場的行情是波動的,投資者們關注股票各不相同,且存在市場不平衡的特點,存在市場突發(fā)事件下,投資者對某些股票數(shù)據(jù)突增關注的現(xiàn)象,基于微服務的證券行情系統(tǒng)中的行情數(shù)據(jù)調(diào)用往往存在熱點數(shù)據(jù)的問題和高并發(fā)的問題。
3、目前的解決方法通常是通過將熱點股票存在服務端本地或者redis等緩存組件中設置永不過期,但存在的問題是證券市場開盤高峰期時,投資者涌入,從而客戶端并發(fā)調(diào)用大量增高,且覆蓋的股票數(shù)據(jù)較多,市場變化莫測,熱點股票不斷變化,導致緩存使用越來越大。或者是后臺通過監(jiān)控緩存使用,在緩存數(shù)據(jù)即將過期時,異步更新緩存延長過期時間,該方法的缺陷是另外需要一個后臺線程更新緩存中的數(shù)據(jù)。
技術實現(xiàn)思路
1、本專利技術的目的是克服了上述現(xiàn)有技術的缺點,提供了一種滿足高效、操作簡便、適用范圍較為廣泛的針對微服務間實現(xiàn)行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的方法、系統(tǒng)、裝置、處理器及其計算機可讀存儲介質(zhì)。
2、為了實現(xiàn)上述目的,本專利技術的針對微服務間實現(xiàn)行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的方法、系統(tǒng)、裝置
3、該針對微服務間實現(xiàn)行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的方法,其主要特點是,所述的方法包括客戶端進行行情實時數(shù)據(jù)調(diào)用優(yōu)化的步驟和服務端進行行情實時數(shù)據(jù)調(diào)用優(yōu)化的步驟,
4、所述的客戶端進行行情實時數(shù)據(jù)調(diào)用優(yōu)化的步驟,具體包括以下步驟:
5、(1-1)客戶端向服務端發(fā)起行情數(shù)據(jù)調(diào)用的請求;
6、(1-2)查看該請求在客戶端本地是否存在歷史行情結果的緩存數(shù)據(jù),獲取緩存結果數(shù)據(jù)的時間戳,若無則獲取時間戳為0,將其攜帶于請求頭中,將請求發(fā)給服務端,等待服務端返回數(shù)據(jù);
7、(1-3)如果服務端返回數(shù)據(jù)結果集為非空,則服務端返回帶有最新數(shù)據(jù),更新本地緩存數(shù)據(jù)以及時間戳;如果服務端返回數(shù)據(jù)結果為空,則服務端返回未帶有最新數(shù)據(jù),確認客戶端緩存中的數(shù)據(jù)為最新,讀取本地緩存數(shù)據(jù);
8、所述的服務端進行行情實時數(shù)據(jù)調(diào)用優(yōu)化的步驟,具體包括以下步驟:
9、(2-1)服務端接收實時的數(shù)據(jù)調(diào)用請求;
10、(2-2)進行攔截預處理,對比請求頭所帶的時間戳與本地緩存數(shù)據(jù)的時間戳;
11、(2-3)如果請求頭所帶時間戳不小于本地緩存數(shù)據(jù)的時間戳,則確認客戶端有最新數(shù)據(jù),服務端則不繼續(xù)訪問數(shù)據(jù),直接返回空數(shù)據(jù)集;如果請求頭所帶時間戳小于本地緩存數(shù)據(jù)的時間戳,則執(zhí)行步驟(2-4);
12、(2-4)如果請求頭所帶的時間戳小于服務端時間戳的請求,則服務端數(shù)據(jù)為最新,需要進一步調(diào)用并訪問存儲組件的數(shù)據(jù);
13、(2-5)對相同鍵查詢的請求進行合并調(diào)用,對其中第一個達到的請求進行數(shù)據(jù)調(diào)用,其他查詢相同鍵的并發(fā)請求阻塞等待第一個調(diào)用的結果;
14、(2-6)基于查詢相同鍵的并發(fā)請求,對第一個到達的請求發(fā)起數(shù)據(jù)調(diào)用,訪問存儲組件中的新數(shù)據(jù),判斷該過程是否在規(guī)定時間內(nèi)獲取到數(shù)據(jù),如果未超時獲取到數(shù)據(jù),則執(zhí)行步驟(2-7);如果超時,則執(zhí)行步驟(2-8);
15、(2-7)將獲取的最新數(shù)據(jù)更新到本地緩存,并將數(shù)據(jù)結果返回客戶端;
16、(2-8)再次請求訪問存儲組件,并將數(shù)據(jù)結果返回客戶端。
17、較佳地,所述的方法還包括以下步驟:
18、根據(jù)預設的過期時間及其緩存容量監(jiān)控刪除客戶端微服務和服務端微服務的本地緩存行情數(shù)據(jù)。
19、較佳地,所述的方法還包括以下步驟:
20、根據(jù)時間窗口滑動的機制,淘汰服務端微服務中的存儲組件中的行情數(shù)據(jù)。
21、較佳地,所述的步驟(1-2)、(2-2)、(2-3)或(2-4)中采用interceptor攔截器,所述的interceptor攔截器包括客戶端攔截器和服務器攔截器,所述的客戶端攔截器為grpc客戶端在調(diào)用實際rpc之前調(diào)用的函數(shù);所述的服務器攔截器為grpc服務器在到達實際rpc方法之前調(diào)用的函數(shù);客戶端的請求被發(fā)送出去之前獲取本地緩存時間戳,服務端接收到請求時優(yōu)先對請求中的時間戳與服務端本地時間戳進行比較。
22、較佳地,所述的步驟具體為:
23、通過對客戶端發(fā)送請求的預處理與服務端的攔截處理,獲取其時間戳進行比較,對于客戶端時間戳不小于服務端時間戳的請求,則直接返回,采用客戶端本地緩存數(shù)據(jù)作為結果;對于客戶端時間戳小于服務端時間戳的請求,服務端進行數(shù)據(jù)調(diào)用的處理,并對相同鍵訪問的請求進行合并調(diào)用。
24、該針對微服務間進行行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的系統(tǒng),其主要特點是,所述的系統(tǒng)包括客戶端,所述的客戶端包括:
25、發(fā)送請求預處理模塊,用于預處理請求,將查詢請求在本地緩存是否存在結果集,如果有結果集,則獲取其時間戳;如果沒有結果集,則時間戳賦值為0,并攜帶時間戳向服務端發(fā)送數(shù)據(jù)調(diào)用請求;
26、請求返回處理模塊,與所述的發(fā)送請求預處理模塊相連接,用于接收服務端返回的數(shù)據(jù)結果集,根據(jù)是否未空數(shù)據(jù)集,進行不同的返回處理;如果返回空數(shù)據(jù),則確認客戶端本地緩存中的結果集為最新數(shù)據(jù);如果返回數(shù)據(jù),則更新客戶端的本地緩存。
27、較佳地,所述的系統(tǒng)還包括服務端,所述的服務端包括:
28、請求攔截預處理模塊,用于接收數(shù)據(jù),且在數(shù)據(jù)真正調(diào)用前進行攔截預處理,比較請求頭所帶時間戳與服務端本地緩存時間戳大小,如果請求頭所帶時間戳不小于服務端本地緩存時間戳,則確認客戶端的緩存數(shù)據(jù)為最新,服務端不需要繼續(xù)調(diào)用,直接返回空數(shù)據(jù);如果請求頭所帶時間戳小于服務端本地緩存時間戳,則請求繼續(xù)調(diào)用;
29、合并調(diào)用處理模塊,與所述的請求攔截預處理模塊相連接,用于在繼續(xù)調(diào)用的請求中,對相同鍵查詢的請求進行合并調(diào)用,其中第一個達到的請求進行數(shù)據(jù)調(diào)用,而其他查詢相同鍵的并發(fā)請求阻塞等待第一個調(diào)用的結果;
30、調(diào)用優(yōu)先級處理模塊,與所述的合并調(diào)用處理模塊相連接,用于基于查詢相同鍵的并發(fā)請求,對第一個到達的請求發(fā)起數(shù)據(jù)調(diào)用,并進行處理;
31、數(shù)據(jù)訪問模塊,與所述的調(diào)用優(yōu)先級處理模塊相連接,用于訪問存儲組件中的數(shù)據(jù);
32、數(shù)據(jù)返回模塊,與所述的數(shù)據(jù)訪問模塊相連接,用于返回數(shù)據(jù)結果,如果在攔截預處理中返回則返回空數(shù)據(jù);如果在攔截預處理后返回則返回真實數(shù)據(jù)結果。
33、較佳地,所述的客戶端還包括客戶端的緩存淘汰模塊,與所述的請求返回處理模塊相連接,用于淘汰緩存數(shù)據(jù)。
34、較佳地,所述的本文檔來自技高網(wǎng)...
【技術保護點】
1.一種針對微服務間實現(xiàn)行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的方法,其特征在于,所述的方法包括客戶端進行行情實時數(shù)據(jù)調(diào)用優(yōu)化的步驟和服務端進行行情實時數(shù)據(jù)調(diào)用優(yōu)化的步驟,
2.根據(jù)權利要求1所述的針對微服務間實現(xiàn)行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的方法,其特征在于,所述的方法還包括以下步驟:
3.根據(jù)權利要求1所述的針對微服務間實現(xiàn)行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的方法,其特征在于,所述的方法還包括以下步驟:
4.根據(jù)權利要求1所述的針對微服務間實現(xiàn)行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的方法,其特征在于,所述的步驟(1-2)、(2-2)、(2-3)或(2-4)中采用interceptor攔截器,所述的interceptor攔截器包括客戶端攔截器和服務器攔截器,所述的客戶端攔截器為gRPC客戶端在調(diào)用實際RPC之前調(diào)用的函數(shù);所述的服務器攔截器為gRPC服務器在到達實際RPC方法之前調(diào)用的函數(shù);客戶端的請求被發(fā)送出去之前獲取本地緩存時間戳,服務端接收到請求時優(yōu)先對請求中的時間戳與服務端本地時間戳進行比較。
5.根據(jù)權利要求3所述的針對微服務間實現(xiàn)行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的方法
6.一種實現(xiàn)權利要求1的方法的針對微服務間進行行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的系統(tǒng),其特征在于,所述的系統(tǒng)包括客戶端,所述的客戶端包括:
7.根據(jù)權利要求6所述的針對微服務間進行行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的系統(tǒng),其特征在于,所述的系統(tǒng)還包括服務端,所述的服務端包括:
8.根據(jù)權利要求6所述的針對微服務間進行行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的系統(tǒng),其特征在于,所述的客戶端還包括客戶端的緩存淘汰模塊,與所述的請求返回處理模塊相連接,用于淘汰緩存數(shù)據(jù)。
9.根據(jù)權利要求6所述的針對微服務間進行行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的系統(tǒng),其特征在于,所述的服務端還包括服務端的緩存淘汰模塊,與所述的數(shù)據(jù)返回模塊相連接,用于淘汰緩存數(shù)據(jù)。
10.一種用于實現(xiàn)針對微服務間進行行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的裝置,其特征在于,所述的裝置包括:
11.一種用于實現(xiàn)針對微服務間進行行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的處理器,其特征在于,所述的處理器被配置成執(zhí)行計算機可執(zhí)行指令,所述的計算機可執(zhí)行指令被所述的處理器執(zhí)行時,實現(xiàn)權利要求1至5中任一項所述的針對微服務間實現(xiàn)行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的方法的各個步驟。
12.一種計算機可讀存儲介質(zhì),其特征在于,其上存儲有計算機程序,所述的計算機程序可被處理器執(zhí)行以實現(xiàn)權利要求1至5中任一項所述的針對微服務間實現(xiàn)行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的方法的各個步驟。
...【技術特征摘要】
1.一種針對微服務間實現(xiàn)行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的方法,其特征在于,所述的方法包括客戶端進行行情實時數(shù)據(jù)調(diào)用優(yōu)化的步驟和服務端進行行情實時數(shù)據(jù)調(diào)用優(yōu)化的步驟,
2.根據(jù)權利要求1所述的針對微服務間實現(xiàn)行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的方法,其特征在于,所述的方法還包括以下步驟:
3.根據(jù)權利要求1所述的針對微服務間實現(xiàn)行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的方法,其特征在于,所述的方法還包括以下步驟:
4.根據(jù)權利要求1所述的針對微服務間實現(xiàn)行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的方法,其特征在于,所述的步驟(1-2)、(2-2)、(2-3)或(2-4)中采用interceptor攔截器,所述的interceptor攔截器包括客戶端攔截器和服務器攔截器,所述的客戶端攔截器為grpc客戶端在調(diào)用實際rpc之前調(diào)用的函數(shù);所述的服務器攔截器為grpc服務器在到達實際rpc方法之前調(diào)用的函數(shù);客戶端的請求被發(fā)送出去之前獲取本地緩存時間戳,服務端接收到請求時優(yōu)先對請求中的時間戳與服務端本地時間戳進行比較。
5.根據(jù)權利要求3所述的針對微服務間實現(xiàn)行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的方法,其特征在于,所述的步驟具體為:
6.一種實現(xiàn)權利要求1的方法的針對微服務間進行行情實時數(shù)據(jù)調(diào)用優(yōu)化處理的系統(tǒng),其特征在于,...
【專利技術屬性】
技術研發(fā)人員:俞楓,胡爽,趙振江,
申請(專利權)人:國泰君安證券股份有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。