跳到主要內容

臺灣博碩士論文加值系統

(18.97.14.82) 您好!臺灣時間:2025/01/23 04:39
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

: 
twitterline
研究生:王耀頡
研究生(外文):Yao-chieh Wang
論文名稱:即時推播系統設計與實作
論文名稱(外文):Realtime Push System Design and Implementation
指導教授:林俊宏林俊宏引用關係
指導教授(外文):Chun-Hung Lin
學位類別:碩士
校院名稱:國立中山大學
系所名稱:資訊工程學系研究所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2016
畢業學年度:105
語文別:中文
論文頁數:55
中文關鍵詞:HTML5WebSocketApache KafkaNode.jsLINEFacebook MessagerGoogle Cloud Messaging推播服務
外文關鍵詞:Apache KafkaGoogle Cloud MessagingLINENode.jsWebSocketHTML5Facebook MessagerPush service
相關次數:
  • 被引用被引用:0
  • 點閱點閱:543
  • 評分評分:
  • 下載下載:30
  • 收藏至我的研究室書目清單書目收藏:0
推播服務為網際網路一項重要服務,Google的免費推播服務Google Cloud Messaging就是一項推播服務標準介面,另外,一些社群網路軟體,也提供推播的服務,例如:LINE、Facebook messager、Microsoft Skype。然而上述這些服務,並非適合所有的應用,特別是API (Application Programming Interface)常常不符合需要,或者傳遞訊息的長度或型式(如:只允許文字訊息)。所以開發新的推播服務,是有其需求,本論文就是研究如何設計與建置一個推播服務系統。
本論文採用Apache kafka開放軟體做為訊息儲存系統,考慮以web-programming為基礎的API,以達到跨平台的目的。網頁是基於瀏覽器去讀取,所以平台的差異自然是由瀏覽器去處理,加上HTML5轉apk和ipa的工具,無論是要使用瀏覽器、Android或者iOS的App,都是同樣的程式去執行,充分展現跨平台的優點。因此本論文將以Node.js為主軸,連接Apache Kafka和HTML5,完成一個跨平台的即時推播系統介面。
Push service is an important Internet service, which has a big capacity buffering system to keep all messages, push engine to forward messages to their receiver, and API (Application Programming Interface) to provide service interface to users. Google GCM (Google Cloud Messaging) is a well-known free push service. The other social network applications, e.g., LINE, Facebook messager, Microsoft skype, have similar push service. However, not all these service can meet requirements of all applications because of constraints in these services, for example, message length and type (multimedia or text only), API, etc.
It may be required to design and implement a customized push service. In this thesis, we develop a push system, which contains a buffering subsystem, push engine and API. With web-based design, it is platform-independent and can run over different operating systems. It guarantees reliability, allows multimedia message, and is real-time. HTML5, Apache Kafka and Node.js are the main tools used in our system. Finally, there are performance comparison illustrated in the experiment report in the thesis.
論文審定書 i
誌謝 ii
摘要 iii
Abstract iv
目錄 v
圖次 viii
表次 ix
第一章 緒論 1
1.1. 研究動機與目的 1
1.2. 論文架構 2
第二章 研究背景 3
2.1. Google Cloud Messaging 3
2.2. HTML5 4
2.3. JavaScript 5
2.4. Node.js 6
2.4.1. NPM 7
2.4.2. Kafka-node 7
2.5. WebSocket 7
2.5.1. HTTP/1.1 v.s. WebSocket 7
2.5.2. polling v.s. WebSocket 9
2.6. Apache ZooKeeper 11
2.7. Apache Kafka 12
2.7.1. Kafka簡介 12
2.7.2. Kafka架構 13
2.7.3. Kafka特色 14
2.8. JSON 14
第三章 系統設計及架構 15
3.1. 系統需求 15
3.1.1. Server端需求 15
3.1.2. Client需求 15
3.2. 系統架構 17
第四章 系統實作 18
4.1. Producer端 18
4.1.1. Kafka broker開啟刪除權限 18
4.1.2. 增加傳輸上限 19
4.1.3. 列出當前已存在topic 19
4.1.4. 即時動態建立/刪除topic 21
4.1.5. 刪除topic 22
4.1.6. 建立資料格式 22
4.1.7. Socket.io 24
4.2. Consumer端 25
4.2.1. 自動化增加topic 25
4.2.2. 自動化刪除topic 28
4.2.3. 訂閱/取消訂閱 29
第五章 系統成果展示 31
5.1. API應用呈現 31
5.2. 效能比較 37
第六章 結論與未來展望 38
參考文獻 39
附錄A 42
Kafka環境建置與操作 42
Node.js環境建置 43
[1]Y. Alghamdi and P. Seeling, "Activity-based cloud sending: Push services for
user device multiplicity," IEEE Consumer Communications and Networking
Conference , 2015.
[2]R. R. Brooks and C. Vutsinas, "Kafka in the academy: a note on ethics in IA
education," IEEE Security & Privacy vol. 4, pp. 50-53, 2006.
[3]M. Doyle. (2011). JSON Basics: What You Need to Know. Available:
http://www.elated.com/articles/json-basics/
[4]K. Goodhope, J. Koshy, J. Kreps, N. Narkhede, R. Park, J. Rao, et al., "Building
LinkedIn''s Real-time Activity Data Pipeline.," Data Eng., 2012.
[5]S. K. Gudla, J. Bose, S. Sunkara, and S. Verma, "A unified Push Notifications
service for mobile devices," IEEE Electronics, Computing and Communication
Technologies , 2015.
[6]D. Herman, Effective JavaScript: 68 Specific Ways to Harness the Power of
JavaScript: Addison-Wesley Professional, 2012.
[7]S. Jobs. (2010). Thoughts on Flash. Available:
http://www.apple.com/hotnews/thoughts-on-flash/
[8]A. Kafka. Kafka 0.8.2 Documentation. Available:
http://kafka.apache.org/082/documentation.html
[9]K. Kowal. (2009). CommonJS effort sets JavaScript on path for world
domination. Available: http://arstechnica.com/business/2009/12/commonjs-
effort-sets-javascript-on-path-for-world-domination/
[10]J. Kreps, N. Narkhede, and J. Rao., "Kafka: A distributed messaging system for
log processing.," NetDB, 2011.
[11]A. Kumar and S. Johari, "Push notification as a business enhancement technique
for e-commerce," IEEE Image Information Processing , 2015.
[12]N. Li, Y. Du, and G. Chen, "Survey of Cloud Messaging Push Notification
Service," IEEE Information Science and Cloud Computing Companion, 2013.
[13]P. Li, Y. Chen, T. Li, R. Wang, and J. Sun, "Implementation of Cloud Messaging
System Based on GCM Service," IEEE Computational and Information
Sciences, 2013.
[14]R. Li and X. Luo, "Inspection of Hidden Dangers Based on Cloud Messaging
Push Service," IEEE UIC-ATC-ScalCom, 2015.
[15]X. Lu, Z. Yu, and A. Makarenko. (2015). kafka-node Client for Apache Kafka
v0.8+. Available: https://www.npmjs.com/package/kafka-node
[16]P. Lubbers, F. Greco, and K. Corporation. HTML5 WebSocket: A Quantum Leap
in Scalability for the Web. Available: http://www.websocket.org/quantum.html
[17]G. C. Messaging. (2016). Set up a GCM Client App on Android Available:
https://developers.google.com/cloud-messaging/android/client
[18]C. Mike, Node.js in Action: Manning Publications, 2013.
[19]T. Norris. (2015). Understanding the Node.js Event Loop. Available:
https://nodesource.com/blog/understanding-the-nodejs-event-loop/
[20]G. Wang, J. Koshy, S. Subramanian, K. Paramasivam, M. Zadeh, N. Narkhede, et
al., "Building a replicated logging system with Apache Kafka.," PVLDB, 2015.
[21]Z. Wang, W. Dai, F. Wang, H. Deng, S. Wei, X. Zhang, et al., "Kafka and Its
Using in High-throughput and Reliable Message Distribution," IEEE Intelligent
Networks and Intelligent Systems, 2015.
[22]F. Yang, E. Tschetter, X. L. e, N. Ray, G. Merlino, and D. Ganguli, "Druid: a
real-time analytical data store.," In proceedings of the 2014 ACM SIGMOD
international conference on management of data., 2014.
[23]Y. S. Yilmaz, B. I. Aydin, and M. Demirbas, "Google cloud messaging (GCM):
An evaluation," IEEE Global Communications Conference, 2014.
[24]E. Zeydan, U. Yabas, S. u. S?z?er, and a. r. z. Etemo?lu, "Streaming alarm data
analytics for mobile service providers," IEEE Network Operations and
Management Symposium, 2016.
[25]Y. Zhao, K. Kim, and N. Venkatasubramanian, "Dynatops: A dynamic topic-
based publish/subscribe architecture.," DEBS, 2013.
[26]郭家寶, Google御用網頁語言Node.js : 一流程式設計師養成精華. 臺北市:
佳魁, 2014.
[27]陳惠貞, HTML 5.CSS 3 JavaScript jQuery Mobile跨裝置網頁設計. 臺北市:
碁峰, 2013.
[28]陳會安, JavaScript+jQuery Mobile+Node.js跨平台網頁設計範例教本. 臺北
市: 碁峰, 2014.
[29]數位新知 and 陳婉凌, HTML5+CSS3+jQuery Mobile輕鬆打造App與行動
網站. 新北市: 博碩, 2014.
[30]錢逢祥, 蔡政崇, and 楊傑文, Node.js[模組參考手冊]. 臺北市: 松崗, 2015.
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top
無相關期刊