Responsive image
博碩士論文 etd-0706111-002030 詳細資訊
Title page for etd-0706111-002030
論文名稱
Title
Linux網路應用框架之研究:以MongoDB為例之實作
Study of Linux Network Application Framework: Case Implementation of the MongoDB Services
系所名稱
Department
畢業學年期
Year, semester
語文別
Language
學位類別
Degree
頁數
Number of pages
60
研究生
Author
指導教授
Advisor
召集委員
Convenor
口試委員
Advisory Committee
口試日期
Date of Exam
2011-05-27
繳交日期
Date of Submission
2011-07-06
關鍵字
Keywords
Linux網路應用框架
Linux Network Application Framework, Etch, MongoDB, Thrift
統計
Statistics
本論文已被瀏覽 5644 次,被下載 0
The thesis/dissertation has been browsed 5644 times, has been downloaded 0 times.
中文摘要
Linux網路應用框架可幫助在Linux平台上開發網路服務程式設計師,使其只需專注於應用程式的邏輯實現,客戶端和服務端之間的網路傳輸和資料序列化可交由框架完成,甚至根據框架支援的程式語言,客戶端和服務端可使用不同程式語言實現並彼此溝通。
本論文選擇Linux網路應用框架中的Thrift、Etch,闡述其介面描述語言、序列化技術及網路架構,並設計實驗對兩種框架應用於MongoDB資料庫的實作、序列化協定和多客戶端對單服務端的效能表現。整體來說,Thrift比Etch具有較豐富的功能及略佳的效能。
Abstract
Linux network application framework can help programmers developing network service applications on Linux. Programmers can concentrate on the business logic of applications, and do not have to care about network transmission and serialization between client and server. In addition, application’s client and server can be implemented by different programming languages and communicate with each other according to the programming languages supported by framework.
This paper chooses Thrift and Etch to be the topic of Linux network application framework, and introduces their interface definition language, serialization and network architecture. This paper also makes experiments on the implementation of MongoDB, choosing of serialization and situation of multiple clients to a single server to get the performances of two frameworks. In general, Thrift has richer features and slightly better performance than Etch.
目次 Table of Contents
誌謝 i
摘要 ii
Abstract iii
目錄 iv
圖次 vii
表次 viii
第一章 序論 1
第二章 研究動機 2
第三章 問題描述 3
第四章 Thrift與Etch 5
4.1 Thrift簡介 5
4.2 Thrift介面定義語言 5
4.2.1 基本型態 6
4.2.2 容器 7
4.2.3 結構 7
4.2.4 異常 8
4.2.5 服務 8
4.2.6 Thrift在Cassandra之應用 9
4.3 Thrift網路架構 10
4.3.1 TTransport 10
4.3.2 TProtocol 12
4.3.3 TProcessor 15
4.3.4 TServer 16
4.4 Thrift版本管理 16
4.5 Etch簡介 17
4.6 Etch網路服務描述語言 18
4.6.1 基本型態 18
4.6.2 擴充型態 19
4.6.3 結構 20
4.6.4 異常 20
4.6.5 註釋 20
4.6.6 訊息 21
4.6.7 服務 21
4.7 Etch網路架構 22
4.8 其他序列化技術 23
4.8.1 Protocol Buffers 23
4.8.2 Sun XDR 25
第五章 MongoDB資料庫應用實例 29
5.1 MongoDB簡介 29
5.2 架構 29
5.3 BSON 32
5.4 操作 33
5.4.1 插入 33
5.4.2 刪除 33
5.4.3 更新 33
5.4.4 查詢 34
5.4.5 索引 34
第六章 實作、測試與實驗結果分析 35
6.1 軟體介紹 35
6.2 環境架構 35
6.3 實作內容 36
6.3.1 資料結構 36
6.3.2 服務 38
6.4 測試 41
6.4.1 MongoDB實作 41
6.4.2 協定 42
6.4.3 多客戶端對單服務端 43
6.5 實驗結果分析 45
第七章 結論 47
參考文獻 49
參考文獻 References
[1] Alexa the Web Information Company, http://www.alexa.com/
[2] Apache Cassandra Project, http://cassandra.apache.org/
[3] Apache Cassandra Wikipedia, http://en.wikipedia.org/wiki/Apache_Cassandra
[4] Apache Etch Project, https://cwiki.apache.org/ETCH/home.html
[5] Apache Etch Wikipedia, http://en.wikipedia.org/wiki/Etch_%2rotocol%29
[6] Apache Thrift Project , http://incubator.apache.org/thrift/
[7] Apache Thrift Wikipedia , http://en.wikipedia.org/wiki/Apache_Thrift
[8] Apache Thrift Introduction for Java Developers,
http://jnb.ociweb.com/jnb/jnbJun2009.html
[9] BSON, http://bsonspec.org/
[10] JSON, http://json.org/
[11] Kristina Chodorow and Michael Dirolf, “MongoDB: The Definitive Guide”, O'Reilly Media, 2010
[12] Mark Slee, Aditya Agarwal, and Marc Kwiatkowski. “Thrift: Scalable Cross-Language Services Implementation”, http://incubator.apache.org/thrift/static/thrift-20070401.pdf
[13] MongoDB Project, http://www.mongodb.org/
[14] MongoDB Wikipedia, http://en.wikipedia.org/wiki/MongoDB
[15] Protocol Buffers, Etch, Hadoop and Thrift Comparison, http://www.predic8.com/protobuf-etch-thrift-comparison.htm
[16] Protocol Buffers Project, http://code.google.com/p/protobuf/
[17] Protocol Buffers Wikipedia, http://en.wikipedia.org/wiki/Protocol_Buffers
[18] RFC 1014(XDR), http://tools.ietf.org/html/rfc1014
[19] Thrift: The Missing Guide, http://diwakergupta.github.com/thrift-missing-guide/
[20] Variable-length quantity Wikipedia, http://en.wikipedia.org/wiki/Variable_length_unsigned_integer
電子全文 Fulltext
本電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。
論文使用權限 Thesis access permission:校內校外均不公開 not available
開放時間 Available:
校內 Campus:永不公開 not available
校外 Off-campus:永不公開 not available

您的 IP(校外) 位址是 3.144.93.73
論文開放下載的時間是 校外不公開

Your IP address is 3.144.93.73
This thesis will be available to you on Indicate off-campus access is not available.

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

QR Code