具體的,到價判斷模塊根據(jù)讀取的第二隊列中的價格區(qū)間數(shù)據(jù)與預(yù)設(shè)的委托交易價格進行對比判斷,如果符合預(yù)設(shè)的委托交易價格,并且買賣雙方能夠達成一致的協(xié)議,則認為委托發(fā)起成功。
[0046]用于當(dāng)?shù)絻r判斷模塊104判斷得到委托發(fā)起成功時進行委托交易的委托交易模塊 105。
[0047]當(dāng)委托發(fā)起成功后,由委托交易模塊處理委托,若委托發(fā)起失敗,則進行下一個委托的處理,直至委托發(fā)起成功。
[0048]本申請中,牌價處理裝置的個數(shù)不做限定,可以為I個也可以為多個,具體根據(jù)牌價數(shù)據(jù)的數(shù)量來定,多個牌價處理裝置可以拉低每臺牌價處理裝置需要處理的牌價數(shù)據(jù)的數(shù)量的峰值,避免數(shù)據(jù)的積壓,具有更高的實時性。
[0049]由以上技術(shù)方案可知,本申請實施例一提供了一種委托處理牌價的系統(tǒng),該系統(tǒng)通過采用讀寫分離的方式,以及將牌價疊加處理得到價格區(qū)間數(shù)據(jù),然后進行到價處理,有效的解決了牌價堆積的問題,減少了到價判斷的次數(shù),降低了系統(tǒng)的壓力。
[0050]實施例二
[0051]在實施例一的基礎(chǔ)上,本申請實施例二提供了另一種委托處理牌價的系統(tǒng),如圖2所示,圖2為本申請實施例二提供的一種委托處理牌價的系統(tǒng)的結(jié)構(gòu)示意圖。該系統(tǒng)包括:數(shù)據(jù)源模塊201、控制模塊202和至少一個牌價處理裝置203。
[0052]數(shù)據(jù)源模塊201用于將牌價數(shù)據(jù)發(fā)送給第一隊列。其中,數(shù)據(jù)源模塊201具體通過輪詢發(fā)送機制,實時傳輸最新的牌價數(shù)據(jù)給第一隊列。
[0053]控制模塊202,用于根據(jù)數(shù)據(jù)源模塊201發(fā)送的牌價數(shù)據(jù)的數(shù)量,增加或減少連接入系統(tǒng)的牌價處理裝置203的個數(shù)。
[0054]當(dāng)控制模塊檢測到數(shù)據(jù)源模塊發(fā)送的牌價數(shù)據(jù)的數(shù)量較大時,可以根據(jù)牌價處理速度計算需要的牌價處理裝置的個數(shù),并根據(jù)當(dāng)前連入系統(tǒng)的牌價處理裝置個數(shù)來增加相應(yīng)個數(shù)的牌價處理裝置連入系統(tǒng);當(dāng)處理器控制模塊檢測到數(shù)據(jù)源模塊發(fā)送的待處理數(shù)據(jù)量較小時,可以根據(jù)牌價處理速度計算需要的牌價處理裝置個數(shù),并根據(jù)當(dāng)前連入系統(tǒng)的牌價處理裝置的個數(shù)來減少相應(yīng)個數(shù)的牌價處理裝置連入系統(tǒng)。
[0055]其中,控制模塊202可以為PLC控制器,在此不作限制。
[0056]需要說明的是,本申請中牌價處理裝置的個數(shù)可以為固定的個數(shù),即不需要控制模塊的參與,也就是說,本系統(tǒng)也可以只包括數(shù)據(jù)源模塊和牌價處理裝置即可。
[0057]本申請中,牌價處理裝置203包括:
[0058]至少一對牌價處理隊列,每對牌價處理隊列包括用于寫入牌價數(shù)據(jù)并將牌價數(shù)據(jù)進行疊加以得到價格區(qū)間數(shù)據(jù)的第一隊列和用于讀取價格區(qū)間數(shù)據(jù)以進行到價判斷的第二隊列。
[0059]具體的,第一隊列和第二隊列還可以分別劃分為:買入價格隊列和賣出價格隊列。其中,第一隊列的買入價格隊列中對寫入的多個買入價格進行疊加,生成買入價格區(qū)間;在第一隊列的賣出價格隊列中對寫入的多個賣出價格進行疊加,生成賣出價格區(qū)間。在進行到價判斷時,可根據(jù)用戶需求和用戶設(shè)定的委托交易價格分別與相應(yīng)隊列中的區(qū)間價進行對比,并在符合條件的情況下進行交易。需要說明的是,在本實施例中,并不限定將第一隊列和第二隊列再分別為劃分為兩個子隊列,即第一隊列和第二隊列依然可以分別作為一個完整的隊列存在,而不分為買入價格隊列和賣出價格隊列。
[0060]用于監(jiān)控所有的第二隊列的價格區(qū)間數(shù)據(jù)的剩余量的監(jiān)控模塊。
[0061]用于在監(jiān)控模塊檢測到第二隊列的價格區(qū)間數(shù)據(jù)剩余量為零時,控制第二隊列轉(zhuǎn)換為新的第一隊列,同時控制第一隊列轉(zhuǎn)換為新的第二隊列的動態(tài)互換引擎模塊。
[0062]用于將從第二隊列中讀取的價格區(qū)間數(shù)據(jù)與用戶設(shè)定的委托交易價格對比以進行到價判斷的到價判斷模塊。
[0063]其中,到價判斷模塊還用于將用戶設(shè)定的委托交易價格進行由小到大或由大到小的順序排序,這樣有效的降低了判斷次數(shù)。例如,在到達價格時,止損判斷小于當(dāng)前價格的所有委托交易全部執(zhí)行,這樣大大降低了判斷次數(shù),提高了處理性能。
[0064]用于當(dāng)?shù)絻r判斷模塊判斷得到委托發(fā)起成功時進行委托交易的委托交易模塊。
[0065]其中,委托交易模塊為多線程處理器,從而進一步提高了并發(fā)處理性能,使處理速度更快。其他具體可參見實施例一,在此不再贅述。
[0066]由以上技術(shù)方案可知,本申請實施例二提供的該委托處理牌價的系統(tǒng)通過采用報價消息輪詢發(fā)送機制,支持牌價處理服務(wù)動態(tài)分布式部署,并進一步通過將牌價疊加處理得到價格區(qū)間數(shù)據(jù),然后進行到價處理,有效的解決了牌價堆積的問題,減少了到價判斷的次數(shù),降低了系統(tǒng)的壓力,將牌價價格區(qū)間數(shù)據(jù)交由多線程處理模塊進行牌價處理,提高了并發(fā)處理的性能,解決了客戶業(yè)務(wù)擴展帶來的系統(tǒng)壓力的問題,而且通過將用戶設(shè)定的委托交易價格進行由小到大或由大到小的順序排序,有效的降低了判斷次數(shù),進一步提高了處理性能。
[0067]實施例三
[0068]本申請實施例三提供了一種委托處理牌價的方法,應(yīng)用于如實施例一所述的委托處理牌價的系統(tǒng)中,該系統(tǒng)包括至少一個牌價處理裝置,其中,每個牌價處理裝置包括:至少一個牌價處理隊列、與牌價處理隊列一一對應(yīng)的監(jiān)控模塊和動態(tài)互換引擎模塊、到價判斷模塊和委托交易模塊。
[0069]如圖3所示,圖3為本申請實施例三提供的一種委托處理牌價的方法的流程圖。該方法包括:
[0070]S301:利用第一隊列進行牌價數(shù)據(jù)的寫入,并將牌價數(shù)據(jù)進行疊加以得到價格區(qū)間數(shù)據(jù);
[0071]S302:利用第二隊列進行價格區(qū)間數(shù)據(jù)的讀??;
[0072]其中,第一隊列和第二隊列共同構(gòu)成一個數(shù)據(jù)處理隊列。
[0073]S303:將讀取的價格區(qū)間數(shù)據(jù)與用戶設(shè)定的委托交易價格對比以進行到價判斷,并當(dāng)判斷得到委托發(fā)起成功時進行委托交易;
[0074]S304:當(dāng)?shù)诙犃械膬r格區(qū)間數(shù)據(jù)剩余量為零時,控制第一隊列與第二隊列進行切換。
[0075]具體的,當(dāng)檢測到第二隊列的價格區(qū)間數(shù)據(jù)剩余量為零時,控制第二隊列轉(zhuǎn)換為新的第一隊列進行牌價數(shù)據(jù)的寫入與疊加,同時控制第一隊列轉(zhuǎn)換為新的第二隊列進行讀取。
[0076]由以上技術(shù)方案可知,本申請實施例三提供了一種委托處理牌價的方法,該方法通過采用讀寫分離的方式,以及將牌價疊加處理得到價格區(qū)間數(shù)據(jù),然后進行到價處理,有效的解決了牌價堆積的問題,減少了到價判斷的次數(shù),降低了系統(tǒng)的壓力。
[0077]實施例四
[0078]在本申請實施例三的基礎(chǔ)上,本申請是實施例四提供了另一種委托處理牌價的方法,應(yīng)用于如實施例二所述的系統(tǒng)中。
[0079]如圖4所示,圖4為本申請實施例四提供的一種委托處理牌價的方法的流程圖。該方法包括:
[0080]S401:利用輪詢發(fā)送機制將牌價數(shù)據(jù)發(fā)送給第一隊列。
[0081 ] 具體的,采用數(shù)據(jù)源模塊將牌價數(shù)據(jù)發(fā)送給第一隊列。其中,數(shù)據(jù)源模塊具體通過輪詢發(fā)送機制將牌價數(shù)據(jù)發(fā)送給第一隊列。采用報價消息輪詢發(fā)送機制,實時傳輸最新牌價,將牌價數(shù)據(jù)接收后放到寫隊列中,進行預(yù)處理與正處理隊列分離。
[0082]S402:利用第一隊列進行牌價數(shù)據(jù)的寫入,并將牌價數(shù)據(jù)進行疊加以得到價格區(qū)間數(shù)據(jù);
[0083]預(yù)處理牌價數(shù)據(jù)進行疊加,形成買賣價格區(qū)間。
[0084]S403:利用第二隊列進行價格區(qū)間數(shù)據(jù)的讀??;
[0085]其中,第一隊列和第二隊列共同構(gòu)成一個數(shù)據(jù)處理隊列。動態(tài)互換引擎模塊將從讀取隊列中讀取數(shù)據(jù)交由多線程批量處理模塊進行數(shù)據(jù)處理,提高并發(fā)處理性能。
[0086]S404:將用戶設(shè)定的委托交易價格進行順序排序;
[0087]雖然,報價通過牌價疊加的方式形成區(qū)間價,解決了牌價堆積的問題,也使到價判斷縮減為一次,提高了處理速度,但是,在委托交易筆數(shù)數(shù)據(jù)量大的情況下,在進行到價判斷時也是需要進行依次判斷的,這樣判斷次數(shù)過多,即使分線程處理也無法達到最優(yōu)效果,也會浪費資源,因此,本申請通過將用戶設(shè)定的委托交易價格進行由小到大或由大到小的順序排序,將滿足條件的所有委托交易全部執(zhí)行,這樣有效的減少到價判斷的次數(shù)。
[0088]S405:將讀取的價格區(qū)間數(shù)據(jù)與用戶設(shè)定的委托交易價格對比以進行到價判斷,并當(dāng)判斷得到委托發(fā)起成功時進行委托交易