Henk 發表於 16-9-28 16:11

看到這篇討論串實在太精彩了~
有好多問題想要請教,但不知如何問起。

我自已也有架一台LINUX SERVER,也有收集資料的需求~
目前的想法是用JAVA JNA INVOKE 卷商的報價API再透過JDBC存資料到DB~
但卷商的報價API都是DLL檔,所以勢必要架win環境的虛擬機

您在文中是用Python在LINUX環境中執行,接收DDE的資料,
文中您也提到會透過IBSim讓MC即時回補盤中1Min資料,
意思是DDE有可能漏資料?所以必需透過這個方式回補資料嗎?

wldtw2008 發表於 16-10-12 13:05

Henk 發表於 16-9-28 16:11
看到這篇討論串實在太精彩了~
有好多問題想要請教,但不知如何問起。



說來話長,我盡量長話短說,若您有興趣歡迎抓我的虛擬機去做測試。可以省掉您很多的功夫,尤其是Tick轉分檔、秒檔、日期區間查詢等等都已經現成的了。
1. 的確券商的API都是DLL,所以我的確是在WIN平台上擷取DLL報價後,以文字TCP/IP StreamServer提供服務。
2. 我的Linux主機上(TQDB),跑CassandraDB,然後在有一個Daemon Script去上面的TCP/IP StreamServer取得報價後寫DB。
3. 由IBSim補資料的原因是,跑MC的主機如果掛了、或是報價源DLL掛了,那麼MC的歷史資料就會出現漏洞。如果我有多台MC,好多個商品,那光補正資料我就會補到頭暈眼花。現在我只要盡力維護好一個TQDB的正確性,則多台MC就可以透過IBSim跟TQDB同步這些維護好的資料。您可以想成TQDB是一個自己維護的私服(不是很多人抱怨XX的歷史資料不夠正確嗎? 有這個東西就可以自己維護了)。




最近TQDB的專案上我更新CentOS 7的步驟,有興趣可以自己裝出來。套件的部分主要就是裝Lighttpd + Java + Cassandra3.2 + CassandraPythonDriver,相關資訊請自行查閱https://github.com/wldtw2008/tqdb/blob/master/InitialTQDB.readme

Henk 發表於 16-10-13 10:32

感謝回文!

1、您之前有提到您是用Kairosdb提供的telnet傳資料,
所以您是在windows環境接收報價源後,再telnet到Linux主機嗎??

2、第一點說明,看起來是您在windows環境架了一個 TCP/IP Stream Server提供服務
再由第二點所述,透過Daemon Script自己到Stream Server取得資料,這個架構跟之前爬文看到的似乎不一樣?是否是因為效能的考量?

3、想再跟您請教IBSim的實作邏輯,如果casandara的資料真的不完全,您是如何回補資料?是再透過API去取得遺漏的資料嗎?

4、IBSim可以串接DB資料再餵資料給MC嗎?

抱歉問題有點多

wldtw2008 發表於 16-10-13 13:06

本帖最後由 wldtw2008 於 16-10-13 14:40 編輯


這張圖應該就可以說明了。
報價主機負責把報價以TCP/IP服務,等待有報價需求的Client來連,一連上就開始甩報價下去。IBSim & TQDB(Cassandra) 就是這樣的Client,會主動連報價主機取得報價。
黑色是即時資料的部分:IBSim會來要,然後打入QM,MC。TQDB也會來要,存入CassandraDB
紅色是歷史資料的部分:當後端的MC有需要回補資料時,會跟IBSim要,IBSim再跟TQDB要。
綠色是下單的部分:MC把單子下到IBSim(是的,他真的把IBSim當作IB),IBSim洗價觸價後送出FilledOrder命令。

簡單回答您的問題
1. 經您一提,我才發現,當初這個帖子最早是研究Kairosdb的,但幾年過去了,我已經忘了這個東西,是什麼原因不用的真的完全記不起來了,目前我算是自己從底盤造起,在Cassandra這個底盤上搭建一層WebApi & 寫些Deamon去提供我需要的東西。
2. 架構如上圖,考量的是能夠切開各個服務,讓各個服務以方便有效的方式工作。
3. TQDB透過Web提供服務,也有提供Web畫面的匯入功能,但目前還不完善,有興趣一起來開發,將來TQDB如果成氣候,我們都是共同開發人,人生履歷加分很多!
4. 是,如上圖所示。


Henk 發表於 16-11-11 16:33

感謝詳細的解說~
您提供的服務與功能小弟確實有需要,未來有可能會跟您交關一下~
目前應該是沒辦法JOIN您的專案,因小弟公司專案實在太大~怕拖累大大的進度~
但您的分享,給小弟很多的啟發~!
頁: 1 2 [3]
查看完整版本: Time series database (時間序列的資料庫)