|
臺灣期貨交易所資訊部組長田振湘 |
臺灣期貨交易所負責臺灣所有期貨商品的交易,每1秒鐘,交易所的資訊系統就要處理數萬筆交易記錄。為了讓系統作業人員能夠在最短時間內,發現每1支交易程式的問題,臺灣期貨交易所資訊部組長田振湘使用開源的Ajax框架ZK,來開發新的監控系統,「ZK框架的互動性,讓我們更容易監控每天交易金額達六、七百億的交易系統。」他說。
每個交易日的早晨,天還沒亮,臺灣期貨交易所作業組人員,就需要到辦公室,6點準時啟動系統,用舊資料來模擬實際的開盤交易,透過監控軟體,判斷交易系統是否正常運作之後,才將交易系統開放給全臺灣證券商4千部終端機,進行連線和準備正式開盤作業。
用即時監控確保交易穩定
在每天5個小時的交易過程中,作業人員必須隨時監控400多支交易程式,以及它們每秒所送出的8千個狀態指標。當出現警告訊息時,作業人員要立即了解問題,進行狀況排除。對作業人員而言,即時掌握系統狀態,是每天最重要的工作。
曾有一次,期貨交易系統有1顆SCSI硬碟損壞,但監控軟體沒有事先發現,當時系統又無法立即切換,因而必須關閉少數金融商品的伺服器,來更換新硬碟。田振湘說:「在停機的45分鐘,整個期貨市場損失了2千多萬元手續收入。」若能提早發現硬碟問題,就能在開市前事先更換,避免損失。「對我們來說,即時預警非常重要。」田振湘說。
過去,臺灣期貨交易所曾以C++開發了一套PC上的監控軟體,不過田振湘表示,用C++開發的軟體,不容易部署到不同平臺,只能安裝在特定電腦中。當監控系統出現警訊時,田振湘說:「所有的人都得擠到那一臺電腦的螢幕前查詢,非常沒有效率。」
為了解決多人同步查詢的需求,田振湘決定將監控軟體移植到Web上。也因為C語言人才難覓,他正考慮將部分系統移植到其他開發平臺。於是,他開始積極評估Java平臺上可行的Web應用技術。但是,他不是向資訊服務廠商探詢,反而是到開源社群中尋找。
向開源軟體學習開發祕訣
過去,田振湘常會到開源社群中,了解最新的軟體技術,汲取軟體開發的經驗。當有系統開發需求時,他會先尋找類似功能的開源軟體,從開放的程式碼中學習別人開發的經驗。例如他從開源軟體的程式碼中,學會二進位搜尋的演算法要如何做最佳化的調整。田振湘說:「雖然程式碼還是自行撰寫,但從開源軟體中,可以知道很多要注意的細節,那些是資服業者不會告訴你的實務經驗。」
因此,延續過去的好經驗,田振湘同樣在開源軟體分享網站SourceForge中,尋找可行的Web技術,因而找到了臺灣本地公司普奇科技推出的Ajax框架ZK。
ZK是普奇科技開發的伺服器端Ajax框架,使用Java語言開發。自兩年前獲得波音使用後,陸續獲得其他美國財星五百大企業青睞,連昇陽都為ZK撰寫了ZK Plugin for NetBeans的開發工具插件。在SourceForge開源網站上,ZK是下載率前三名的Ajax框架。
一開始,田振湘有點擔心ZK的技術支援能力,不過在普奇科技只用一周的時間,在ZK的圖表元件中,增加了田振湘想要的新功能後,讓田振湘決定信賴本地原創公司的技術支援,採用ZK來開發新的監控系統。這個決定,也讓後來的開發過程,節省很多時間,田振湘不用自行撰寫框架元件中不足的功能,直接將需求告訴普奇科技,由普奇科技協助開發新功能。
在系統開發上,田振湘仍舊透過系統整合業者,來開發監控系統,再由普奇科技提供ZK框架的技術支援。只用了4個月,田振湘就將既有的監控系統,順利移植到Web平臺上。
用ZK打造互動式監控圖表
新監控系統的架構,仍舊採取既有的資料蒐集方法,將所有交易程式的狀態資訊,都先集中寫入到1臺Web伺服器中的資料庫,再由ZK框架開發的監控網頁程式,讀取資料庫中的狀態資訊。監控系統先用樹狀圖,呈現出每一支程式執行狀態,再針對作業人員要追蹤的特定程式,每秒更新所需指標的相關數據,畫出不同指標的變化曲線。
臺灣期貨交易所監控系統架構示意圖 |
臺灣期貨交易所用ZK來開發監控系統的前端平臺,監控400支交易程式送出的8千個狀態指標。作業人員可以從螢幕上選取要追蹤的指標,ZK的圖表元件會繪製出指標數據的時間變化曲線,選取任一小段曲線,還能立即放大,顯示更多細節資訊。![]() |
ZK框架的高互動性,讓作業人員很方便可以追蹤問題數據的變化情形。在新監控系統的圖表曲線中,作業人員可以選取一段區間的曲線,而ZK的圖表元件能夠將這個曲線的顯示單位放大,展開更多細節數據,讓作業人員進一步觀察,突然增加的數據是否有異。田振湘表示:「這種呈現變化的控制,過去自己用Java開發很難做到。」
不同於一般的Web應用,期貨交易所的監控系統,對資料呈現的及時性,要求相當嚴苛,全臺灣4千多個證券商連線據點,每一秒鐘會累積出4萬筆交易記錄,因此處理1筆交易不能超過0.1秒,監控系統每秒要更新的數據量非常可觀。
田振湘認為過去ZK框架的壓力測試,還不足以應付這樣的應用規模。在上線實測時,近500項指標樹狀圖網頁開啟速度延遲,普奇科技為此重新修改ZK程式碼來改善效能,終於逐漸讓監控系統達到田振湘期待的反應速度。
臺灣期貨交易所新的監控系統,最近準備上線使用,田振湘表示:「這是第一個嘗試,成功了,未來會用ZK框架來開發其他的對外服務。」文⊙王宏仁
用開源軟體掌握SI廠商不公開的開發祕訣 |
臺灣期貨交易所的系統以自行開發為主,但是,期交所資訊部組長田振湘卻常常到開源網站中,尋找與業務系統有關的開源軟體。田振湘表示:「不用開源軟體,也能夠從中學到很多,我透過開源來了解最新的技術進展。」因為開源軟體,多半也會提供原始程式碼,田振湘表示他從這些程式碼中,學習到很多開發的實務經驗,不用自己花費時間摸索。例如有次他需要開發二進位檔案的搜尋功能,他先到SourceForge中搜尋,有哪些開源軟體,具有這種功能。在這些軟體的程式碼中,了解現行有哪些演算法,程式碼要如何最佳化等開發細節。田振湘說:「我們還是自行撰寫所有的程式碼,但是,觀摩這些程式碼,即使是不熟悉的領域,也能得知很多需要注意的細節,這些細節是SI業者不會告訴你的實務經驗。」文⊙王宏仁 |
公司檔案─臺灣期貨交易所
●成立時間:1997年
●營收:20.8億元(2006年)
●員工人數:150人
●主要業務:期貨交易
應用概要
●應用規模:臺灣期貨交易所的交易系統,每秒鐘要接受全臺灣4千臺交易終端機近4萬筆下單,每日交易金額高達數百億元。為了確保交易期間,40臺伺服器中的每一支交易程式都能順利執行,臺灣期貨交易所用ZK打造監控系統的前臺,讓作業人員可以透過瀏覽器畫面,及時掌握4百支交易程式送出的8千個狀態指標。
●關鍵產品與設備:
● Web伺服器: Tomcat
● 前端網頁:Ajax框架ZK
● 後端資料蒐集:C語言
●專案組員:
● 臺灣期貨交易所資訊部組長田振湘與規畫組組員
● 敦陽科技(系統整合)
● 普奇科技(ZK技術支援)
●專案時程:
● 2007年8月人員教育訓練
● 2007年9月開始開發
● 2008年1月測試
● 2008年3月底上線
熱門新聞
2025-02-08
2025-02-12
2025-02-11
2025-02-13
2025-02-10
2025-02-12
2025-02-11