Responsive image
博碩士論文 etd-0630114-110751 詳細資訊
Title page for etd-0630114-110751
論文名稱
Title
設計以Linux容器為基礎之金融程式交易平台
The Design of a Linux Container-based Platform for Program Trading
系所名稱
Department
畢業學年期
Year, semester
語文別
Language
學位類別
Degree
頁數
Number of pages
88
研究生
Author
指導教授
Advisor
召集委員
Convenor
口試委員
Advisory Committee
口試日期
Date of Exam
2014-07-18
繳交日期
Date of Submission
2014-07-30
關鍵字
Keywords
Docker、Dynamic Provisioning、Rstudio、雲端開發平台、Turnkey、R語言
Cloud development platform, Rstudio, Dynamic Provisioning, Docker, R language, Turnkey
統計
Statistics
本論文已被瀏覽 5738 次,被下載 64
The thesis/dissertation has been browsed 5738 times, has been downloaded 64 times.
中文摘要
雲端開發平台之建置經常需要花費大量的時間安裝與設定環境,不難想像,當雲端服務系統需要更新或者遷移時所需付出的成本將隨著系統擴增而急速上升。因此,我們希望藉由將預先安裝好的R語言程式開發平台包裝成Turnkey的型式,用戶只需要簡易安裝Turnkey的執行環境-Docker,並將Turnkey掛載於其上,便能快速建置與部署雲端服務平台,如此不論用戶想要更新或者遷移整個雲端平台,只需要將更新後的Turnkey重新掛載或者遷移至新的雲端環境,不再需要重新安裝與設定所有機器,有效的減少雲端開發平台重新建置時所必須付出的龐大成本。
在雲端服務平台之中,運算資源也是不可或缺的存在,為了避免過剩的運算節點造成資源浪費,我們針對運算資源管理設計了一套動態調節(Dynamic Provisioning)機制,藉由在每個執行的運算單元中加入timeout機制,適時增加與刪減運算節點之數量,藉此減少資源浪費與不足的情形發生,達到有效使用雲端資源的目的。
除此之外,為了使開發平台服務更具可攜性(Portability),不論是整合式開發環境-Rstudio,或者是應用程式之上傳與部署介面,我們皆採取網頁形式呈現,用戶只需透過瀏覽器即可在個人電腦、行動裝置等多種前端平台上開發個人的策略腳本,不再受限於硬體設備與作業系統,有效的提高整體系統的可攜性。
Abstract
Cloud development platform development with traditional virtual machine has always been too complex, too expensive, and too slow, therefore we hope to reduce costs by replacing traditional virtual machine with docker container. We build the cloud development platform which can run R language program on the docker container and make it to a turnkey. The user can update, migrate and run the turnkey quickly without reinstalling or resetting the host. It will reduce the cost of re-building the cloud development platform effectively.
In the cloud service platform, the computing resources are very precious. We design a dynamic provisioning mechanism for them so as to avoid redundant compute nodes. We adjust the number of compute nodes by timeout mechanism. When the running job is timeout, it means the system is too busy, and then we need to provide more compute nodes. When the utilization of compute nodes are too low, we will remove some compute nodes to reduce waste of resources.
In order to make our platform services have more portability, we implement our platform service on the web server. The users can using the platform service including the IDE (Rstudio) and the function of deployment on the PC, netbook or any mobile device (e.g. smart phone, tablet PC). The user will not be limited by hardware device and it will incresase the portability of system effectively.
目次 Table of Contents
論文審定書 i
致謝 ii
摘要 iii
Abstract iii
目錄… iv
圖目錄 vii
表目錄 ix
第 一 章 序論 1
1.1 研究動機與目的 1
1.2 研究步驟 2
1.3 章節介紹 3
第 二 章 研究背景 4
2.1 雲端運算及雲端開發平台介紹 4
2.1.1 雲端運算 4
2.1.2 雲端開發平台 4
2.2 Linux Container介紹 5
2.2.1 Linux Container架構 5
2.2.2 Container與Virtual Machine比較 6
2.3 Docker介紹 8
2.3.1 Docker container四大特性 9
2.3.1.1 隔離性 10
2.3.1.2 可配額/可度量 11
2.3.1.3 移動性 11
2.3.1.4 安全性 12
2.4 R及Rstudio介紹 13
2.4.1 R 13
2.4.2 RStudio 13
2.5 加密機制 14
2.5.1 AES 15
2.5.2 RSA 18
第 三 章 系統設計 21
3.1 系統介紹 21
3.1.1 系統環境的建置 21
3.1.2 系統功能 21
3.1.3 系統限制 22
3.1.4 名詞解釋 22
3.2 系統架構設計 23
3.2.1 系統架構 23
3.2.2 系統運作流程 25
第 四 章 系統實作 26
4.1 Deployment node 26
4.1.1 程式開發 27
4.1.2 部署程式 28
4.1.3 執行策略 29
4.2 Compute node 29
4.2.1 Compute-Node-Disposition-Control-Algorithm 31
4.3 Security 32
4.4 工作排程機制 33
4.5 工作排程與運算節點動態調整機制流程 35
4.6 自動檢查並安裝R套件 37
4.7 節點關聯 38
4.7.1 運算節點註冊 38
4.7.1.1 節點註冊API 38
4.7.1.2 註冊Physical Machine 39
4.7.1.3 註冊Container 39
4.7.2 開發節點與部署節點登入帳號傳遞 40
4.7.3 部署節點與運算節點即時訊號傳遞 41
4.7.4 部署節點與運算節點檔案分享 41
4.7.5 工作派送與停止 42
4.8 使用者介面 44
4.8.1 登入與註冊介面 44
4.8.1.1 登入介面 44
4.8.1.2 註冊介面 45
4.8.2 策略部署與管理介面 46
4.8.3 策略開發介面 48
4.8.4 結果顯示與歷史訊息介面 49
4.8.4.1 結果顯示 49
4.8.4.2 歷史資訊介面 49
第 五 章 效能分析與調校 50
5.1 實驗環境 50
5.2 實驗設計 50
5.3 前置實驗與實驗結果 53
5.3.1 前置實驗 53
5.3.2 實驗一 54
5.3.3 實驗二 55
5.3.4 實驗三 56
第 六 章 結論與未來展望 58
參考文獻 60
附錄1 63
I. Introduction 63
II. Related Work 63
III. System Overview 64
IV. System Implementation 65
V. Simulated Result 68
VI. Conclusion 70
VII. References 71
附錄2 72
參考文獻 References
[1] 蔡政修, “雲端系統中異質虛擬資源之低耗能動態管理機制”,行政院國家科學委員會補助大專學生參與專題研究計畫研究成果報告,2012.
[2] “Linux KVM 研究室”, http://linuxkvm.blogspot.tw/2012/10/linux-container-linux.html
[3] “Linux 核心虛擬技術 – 容器篇”, http://tobala.net/download/lxc/
[4] “LXC”,https://help.ubuntu.com/lts/serverguide/lxc.html#lxc-cgroups
[5] “Comparison between OS virtualization and Hypervisor-based virtualization (container vs. virtual machine)”,http://www.servernest.com/container-virtual-machine.html
[6] “Docker”, https://docs.docker.com/
[7] “R (programming language)”, http://en.wikipedia.org/wiki/R_(programming_language)
[8] “R”,http://www.r-project.org/
[9] “RStudio Server Administrator’s Guide”, https://s3.amazonaws.com/rstudio-server/ rstudio-server-pro-0.98.501-admin-guide.pdf
[10] “RStudio”, http://www.rstudio.com/products/rstudio/
[11] “Advanced Encryption Standard”, http://en.wikipedia.org/wiki/Advanced_Encryption_ Standard
[12] “The RSA Algorithm”,https://www.math.washington.edu/~morrow/336_09/papers/ Yevgeny.pdf
[13] “TurnKey”, http://en.wikipedia.org/wiki/Turnkey
[14] 姜林杰祐,“程式交易:觀念、方法、技術與解決方案”, 新陸書局出版, 2009.
[15] “Nginx”,http://nginx.com/
[16] “apache / lighttpd / nginx 三大開放WEB伺服器比較”, http://mike7120.blogspot.tw/ 2011/02/apache-lighttpd-nginx-web.html
[17] H. Shafi, P.J. Bohrer and J. Phelan, Design and validation of a performance and power simulator for PowerPC systems. IBM Journal of Research and Development,47 5–6 (2003), pp. 641–652
[18] Michael L. Pinedo, “Scheduling: theory, algorithms, and systems Forth Edition”, 2012.
[19] W.Richard Stevens, “TCP/IP Illustrated, Volume 1: The Protocols”, March, 2011.
[20] W. Stevens, “TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms”, January 1997.
[21] “Google APP Engine – Google Developers”, https://developers.google.com/appengine/
[22] “Azure: Microsoft’s Cloud Platform”, http://azure.microsoft.com/en-us/
[23] “MariaDB”, https://mariadb.org/
[24] “Redis”, http://redis.io/
[25] S. Patidar, D. Rane and P. Jain, “Challenges of Software Development on Cloud Platform,” World Congress on Information and Communication Technologies (WICT), Mumbai, 11-14 December 2011, pp. 1009-1013.
[26] Shuai Zhang; Shufen Zhang; Xuebin Chen. Cloud Computing Research and Development Trend. Future Networks, 2010. ICFN '10. JAN 2010. Pages 93-97
[27] W. Liu, “Research on Cloud Computing Security Problem and Strategy,”2nd International Conference on Consumer Electronics, Communications and Networks, YiChang, 21-23 April 2012, pp. 1216-1219.
[28] C. Tsai, U. Lin, A. Chang and C. Chen, “Information Security Issue of Enterprises Adopting the Application of Cloud Computing,” 6th International Conference on Networked Computing and Advanced Information Management (NCM), Seoul, 16-18 August 2010, pp. 645-649.
[29] “xts: Extensible Time Series”, http://cran.r-project.org/web/packages/xts/vignettes/ xts.pdf
[30] Liu, Wentao. "Research on cloud computing security problem and strategy." Consumer Electronics, Communications and Networks (CECNet), 2012 2nd International Conference on. IEEE, 2012.
[31] Mohamed, E. M., Abdelkader, H. S., & El-Etriby, S. (2012, May). Enhanced data security model for cloud computing. In Informatics and Systems (INFOS), 2012 8th International Conference on (pp. CC-12). IEEE.
[32] Baba, Norio, and Kou Nin. "Prediction of Golden Cross and Dead Cross by artificial neural networks could contribute a lot for constructing an intelligent decision support system for dealing stocks." Control, Automation and Systems, 2008. ICCAS 2008. International Conference on. IEEE, 2008.
[33] Liao, Raymond R-F., and Andrew T. Campbell. "Dynamic core provisioning for quantitative differentiated services." IEEE/ACM Transactions on Networking (TON) 12.3 (2004): pp. 429-442.
[34] Buyya, Rajkumar, et al. "Cloud computing and emerging IT platforms: Vision, hype, and reality for delivering computing as the 5th utility." Future Generation computer systems 25.6 (2009): pp. 599-616.
[35] Gorlach, Katharina, and Frank Leymann. "Dynamic service provisioning for the cloud." Services Computing (SCC), 2012 IEEE Ninth International Conference on. IEEE, 2012.
[36] Zaman, Sharrukh, and Daniel Grosu. "An online mechanism for dynamic VM provisioning and allocation in clouds." Cloud Computing (CLOUD), 2012 IEEE 5th International Conference on. IEEE, 2012.
[37] Boampong, Philogene A., and Luay A. Wahsheh. "Different facets of security in the cloud." Proceedings of the 15th Communications and Networking Simulation Symposium. Society for Computer Simulation International, 2012.
[38] Floréal Morandat, Brandon Hill, Leo Osvald, and Jan Vitek. 2012. Evaluating the design of the R language: objects and functions for data analysis. In Proceedings of the 26th European conference on Object-Oriented Programming (ECOOP'12), James Noble (Ed.). Springer-Verlag, Berlin, Heidelberg, pp. 104-131.
[39] Esfahanipour, Akbar, and Somayeh Mousavi. "A genetic programming model to generate risk-adjusted technical trading rules in stock markets." Expert Systems with Applications 38.7 (2011): 8438-8445.
[40] Juraj Somorovsky, Mario Heiderich, Meiko Jensen, Jörg Schwenk, Nils Gruschka, and Luigi Lo Iacono. 2011. All your clouds are belong to us: security analysis of cloud management interfaces. In Proceedings of the 3rd ACM workshop on Cloud computing security workshop (CCSW '11). ACM, New York, NY, USA, pp. 3-14.
電子全文 Fulltext
本電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。
論文使用權限 Thesis access permission:自定論文開放時間 user define
開放時間 Available:
校內 Campus: 已公開 available
校外 Off-campus: 已公開 available


紙本論文 Printed copies
紙本論文的公開資訊在102學年度以後相對較為完整。如果需要查詢101學年度以前的紙本論文公開資訊,請聯繫圖資處紙本論文服務櫃台。如有不便之處敬請見諒。
開放時間 available 已公開 available

QR Code