ระบบจ ดการอ พโหลดไฟล ผ านโปรโตคอลเว บซ อกเก ตส าหร บแอนดรอยด สมาร ทโฟน - PDF

Description
ระบบจ ดการอ พโหลดไฟล ผ านโปรโตคอลเว บซ อกเก ตส าหร บแอนดรอยด สมาร ทโฟน File Upload Manager via Websocket Protocol for Android Smartphone วรพงษ ร ตนประส ทธ (Worapong Rataprasit) 1 และ เชษฐ พ ฒโนท ย(Chate

Please download to get full document.

View again

of 6
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Information
Category:

Environment

Publish on:

Views: 9 | Pages: 6

Extension: PDF | Download: 0

Share
Transcript
ระบบจ ดการอ พโหลดไฟล ผ านโปรโตคอลเว บซ อกเก ตส าหร บแอนดรอยด สมาร ทโฟน File Upload Manager via Websocket Protocol for Android Smartphone วรพงษ ร ตนประส ทธ (Worapong Rataprasit) 1 และ เชษฐ พ ฒโนท ย(Chate Patanothai) 2 1 ภาคว ชาว ศวกรรมคอมพ วเตอร คณะว ศวกรรมศาสตร จ ฬาลงกรณ มหาว ทยาล ย 2 ภาคว ชาว ศวกรรมคอมพ วเตอร คณะว ศวกรรมศาสตร จ ฬาลงกรณ มหาว ทยาล ย บทค ดย อ โปรโตคอลเว บซ อกเก ต เป นโปรโตคอลการส งข อม ลท ม ความเป นไปได ท จะสามารถน ามาพ ฒนาเป นระบบอ พโหลด ไฟล ท รวดเร วและย นย นความถ กต องของข อม ลได บทความ ทางว ชาการน น าเสนอระบบจ ดการอ พโหลดไฟล ต นแบบท ใช โปรโตคอลเว บซ อกเก ตในการอ พโหลดไฟล จากแอนดรอยด สมาร ทโฟนไปย งเซ ร ฟเวอร การทดสอบแสดงผลว าม ความเร ว ส งกว าเอชท ท พ ในกรณ ของการอ พโหลดไฟล ขนาดใหญ 2ค าส าค ญ: การส งไฟล เว บซ อกเก ต แอนดรอยด เคร อข ายไร สาย Abstract Websocket protocol is a network transport protocol that is possible to develop into file upload system that fast data transfer and confirm data integrity. In this paper, we propose a file upload manager prototype system that uses Websocket protocol to upload file from android smartphone to server. Experiment result shows that Websocket is faster than HTTP in case of large file upload. Keywords: File Transfer, Websocket, Android, Wireless Network. 1. บทน า แนวโน มในการใช สมาร ทโฟนเพ อท าการอ พโหลดไฟล ไป ย งเซ ร ฟเวอร น นม การใช งานท แพร หลายมากข น ต วอย าง โปรแกรมท ม ความสามารถด งกล าวต วอย างเช น เฟซบ ก (Facebook) ดรอปบอคซ (Dropbox) เป นต น การอ พโหลด ไฟล ควรจะต องใช แบนว ธอย างค มค า สามารถอ พโหลดได อย าง รวดเร ว รวมถ งตรวจสอบความถ กต องของข อม ลด วยเช นก น การส งข อม ลผ านโปรโตคอลเอชท ท พ (HTTP) [1] หร อ โปรโตคอลเอฟท พ (FTP) [2] เป นว ธ การอ พโหลดไฟล ท ใช ท วไปส าหร บอ ปกรณ สมาร ทโฟน ในป 2011 ได ม การน าเสนอ โปรโตคอลเว บซ อกเก ต (Websocket) ซ งรองร บการส งข อม ล ฐานสอง (Binary) จ งเป นไปได ท จะน าโปรโตคอลน มาใช ใน การอ พโหลดไฟล ได เช นก น แต เอพ ไอ (API) ของเว บซ อกเก ต น นน ามาใช ในการอ พโหลดไฟล ได ยาก เพราะต องท าการ จ ดการข อม ลร บส ง และแปลงเป นไฟล ด วยต วเอง บทความทางว ชาการน จ งม ว ตถ ประสงค เพ อน าเสนอระบบ ต นแบบ (Prototype) จ ดการอ พโหลดไฟล จากแอนดรอยด สมาร ทโฟนไปย งเซ ร ฟเวอร ผ านโปรโตคอลเว บซ อกเก ต ท ม ความสามารถเล อกไฟล จากในอ ปกรณ สมาร ทโฟนท จะอ พ โหลด จ ดการรายการระหว างอ พโหลดไฟล ได ต งเวลาท จะอ พ โหลดไฟล ได จากน นแสดงผลการทดสอบประส ทธ ภาพเวลาท ใช และความเร วในการอ พโหลด โดยอ างอ งการต งค าท เหมาะสมท ได จากการทดลองท ผ านมา 2. ทฤษฎ ท เก ยวข อง 2.1 โปรโตคอลเว บซ อกเก ต เว บซ อกเก ตเป นโปรโตคอลการส อสารในเคร อข ายแบบ สองทางเต มอ ตรา (Full-Duplex) ไออ ท เอฟ (IETF Internet Engineering Task Force) เป นผ ก าหนดเป นมาตรฐานอาร เอฟ ซ 6455 เพ อการส อสารแบบ ไคลแอนต -เซ ร ฟเวอร การท างาน ค อเม อม การตกลงจ บม อ (Handshake) ก นระหว างอ ปกรณ โปรโตคอลเอชท ท พ เด ม จะเปล ยนเป นการส งข อม ลด วย โปรโตคอลเว บซ อกเก ต หล กการคล ายก บการส อสารแบบ ซ อกเก ตอ น ๆ เช น จาวาซ อกเก ต (Java Socket) ม เอพ ไอของ ภาษาต าง ๆ เช น จาวา (Java) จาวาสคร ปต (Javascript) 713 เป นต น ข อด ของเว บซ อกเก ต เช น เม อเปร ยบเท ยบก บ โปรโตคอลเอชท ท พ พบว าขนาดของข อม ลส วนห ว (Header) ในเวลาส งแพคเกจข อม ลของเว บซ อกเก ตม ขนาดเพ ยง 2 ไบต [3] เล กกว าข อม ลส วนห วของเอชท ท พ มาก และเว บซ อกเก ตม ค าเวลาแฝง (Latency) ท น อยกว าโพลล ง (Polling) และ ลองโพลล ง (Long-Polling) ในการส งข อม ลแบบเด ยวก น [4] 2.1 ระบบปฏ บ ต การณ แอนดรอยด (Android Operating System) แอนดรอยด [5] เป นระบบปฏ บ ต การณ ของอ ปกรณ สมาร ทโฟนและแท บเล ต ซ งเป นท น ยมในอ ปกรณ ม อถ อ หลากหลายย ห อหลายร น เป ดช องทางให ผ พ ฒนาเป นร ปแบบ โอเพ นซอร ส (Open-source) ม เอพ ไอภาษาจาวา ส าหร บใช ใน การพ ฒนาโปรแกรมของแอนดรอยด 3. งานท เก ยวข อง งานว จ ยพ ฒนาระบบด แลส ขภาพของโรงพยาบาล [4] ได พ ฒนาระบบท ม ไคลแอนต เป นสมาร ทโฟนแอนดรอยด และม เซ ร ฟเวอร จ ดการส งกระจายข อม ลร ปแบบพ บล ช/ซ บสไครบ (Publish/Subscribe) ผ ว จ ยท าการทดลองว ดผลในแง ของเวลา เปร ยบเท ยบก บโพลล ง ได ผลว าเว บซ อกเก ตตอบสนองเร วกว า โพลล ง ไบนาร เจเอส (BinaryJS) [6] โอเพ นซอร สไลบราร (Library) ของการส งข อม ลส าหร บเว บแอพล เคช น (Web Application) พ ฒนาต อยอดเอพ ไอพ นฐานของเว บซ อกเก ต ให สามารถส งข อม ลร ปแบบสตร มม งข อม ลฐานสองได ซ ง พ ฒนาด วยโหนดเจเอส (Node.js) ท เป นภาษาจาวาสค ร ป ช วย ให ผ พ ฒนาอ นสามารถน าไปใช ในการพ ฒนาโปรแกรมต อได โดยไม ต องจ ดการการร บส งข อม ลเองผ านเอพ ไอพ นฐานของ เว บซ อกเก ต แต ผ พ ฒนาย งไม ได พ ฒนาให รองร บแพลตฟอร ม (Platform) สมาร ทโฟน งานว จ ย [7] น าเสนอว ธ การส งข อม ล ระหว างไคลแอนต -เซ ร ฟเวอร โดยใช จาวาซ อกเก ตในการส ง ข อม ลจากไคลแอนต ท เป นแอนดรอยด สมาร ทโฟน แต งานว จ ย น ไม ได ว ดประส ทธ ภาพในการส งข อม ล และกล าวในบทสร ป ว า ย งไม ได ค าน งถ งความถ กต องของข อม ล โปรแกรมจ ดการ ดาวน โหลด แฟลชเก ต (Download Manager Flashget) [8] เป นโปรแกรมจ ดการดาวน โหลดไฟล ผ านเคร อข าย จากการ โหลดไฟล ผ านเบราเซอร (Browser) ไม สามารถดาวน โหลด ใหม ต อจากเด มได เม อเก ดข อผ ดพลาด แฟลชเก ตสามารถ ดาวน โหลดไฟล ได หลายไฟล พร อมก น สามารถดาวน โหลดต อ จากข อม ลเด มได สามารถสร างหลายการเช อมต อต อหน งการ ดาวน โหลดเพ อเพ มความเร วได และสามารถต งเวลาในการ ดาวน โหลดได 4. ข นตอนว ธ การด าเน นงาน 4.1 ออกแบบแนวค ด การค าน งถ งความถ กต องของข อม ลท ได ร บ ย นย นว าข อม ล ของไฟล ท ได ร บน นถ กต อง ท าโดยการตรวจสอบค าผลรวม ตรวจสอบ (Checksum) โดยเวลาก อนส งข อม ลฐานสอง ระบบ ฝ งไคลแอนต จะต องอ านไฟล เป นข อม ลค าฐานสอง และน าค า น นเข าแฮชฟ งก ช น (Hash Function) เพ อให ได ค าผลรวม ตรวจสอบ จากน นจ งส งค าผลรวมตรวจสอบให เซ ร ฟเวอร เก บ ไว พอเซ ร ฟเวอร ได ร บข อม ลฐานสอง น าข อม ลเข าแฮชฟ งก ช น ด วยว ธ การเข ารห สแบบเด ยวก นก บท ฝ งไคลแอนต ใช ผลล พธ ท ได น ามาเปร ยบเท ยบก บค าผลรวมตรวจสอบท ได ร บก อนหน า ถ าค าผลรวมตรวจสอบตรงก น ก สามารถย นย นได ว า ข อม ลท ได ร บน นถ กต องครบถ วน การใช งานแบนว ธได อย างม ประส ทธ ภาพ ท าโดยระบบ จะต องสามารถส งข อม ลต อได โดยท ไม ต องเร มต นส งข อม ล ใหม ต งแต ต น กรณ ท เก ดการส งข อม ลผ ดพลาด เช นขาดการ เช อมต อก นระหว างท าการส งข อม ล เราจะใช หล กการของค า ผลรวมตรวจสอบเข ามาช วย โดยในกรณ ท เซ ร ฟเวอร ม ข อม ล ไฟล อย ส วนหน งแล ว เม อเซ ร ฟเวอร ได ร บข อความท ม ค า ผลรวมตรวจสอบ เซ ร ฟเวอร ก จะอ านไฟล ท ม อย ในต าแหน งท ตรงก นและขนาดเท าก นก บข อม ลท จะได ร บ น าข อม ลท อ าน ได มาเข าแฮชฟ งก ช นเพ อหาค าผลรวมตรวจสอบ หร อในกรณ ท ม การจ ดเก บรายการข อม ลท เซ ร ฟเวอร ได ร บลงฐานข อม ล (รวมถ งค าผลรวมตรวจสอบ) ก สามารถใช ว ธ อ านค าผลรวม ตรวจสอบจากฐานข อม ลได เช นก น ตรวจสอบว าค าผลรวม ตรวจสอบบนเซ ร ฟเวอร ตรงก นก บค าผลรวมตรวจสอบท ได ร บ หร อไม ถ าค าตรงก นก ย นย นได ว าเซ ร ฟเวอร ม ข อม ลส วนท ก าล ง จะส งมา ก ส งข อม ลตอบกล บให ไคลแอนต ข ามการส งข อม ล ฐานสองในส วนน ไป ไม ต องส นเปล องแบนว ธในการส งข อม ล เด มข นมา 714 4.2 ออกแบบข นตอนในการอ พโหลดไฟล ข นตอนการส งข อม ลแสดงด งภาพท 1 ข อม ลเข าแฮชฟ งก ช น และเปร ยบเท ยบค าผลรวมตรวจสอบท ได ร บก อนหน า ถ าตรงก นก น าข อม ลเข ยนลงไฟล และตอบกล บ ให ส งข อม ลส วนถ ดไป ถ าไม ตรงก นก ตอบกล บให ส งข อม ล ส วนน ใหม วนซ าจนได ข อม ลครบ จ งป ดการเช อมต อ ส งข อม ลหลายส วนพร อมก น ด วยการเช อมต อเว บซ อกเก ต มากกว า 1 ช อง ซ งคาดว าจะช วยลดเวลารวมในการอ พโหลด ไฟล ได ท งฝ งไคลแอนต และเซ ร ฟเวอร จะต องจ ดกา ร บส ง ข อม ลหลายการเช อมต อได เวลาอ านหร อเข ยนไฟล ต องจ ดการ ไม ให เก ดการล อกไฟล หร อเข ยนข อม ลผ ดต าแหน ง 4.3 ออกแบบระบบ แผนภาพคลาสแสดงด งภาพท 2 ภาพท 1 : แผนภาพก จกรรม (Activity Diagram) ข นตอนการ ต ดต อส อสารเพ ออ พโหลดไฟล ข นตอนการส อสารระหว างไคลแอนต ก บเซ ร ฟเวอร เร มจาก ไคลแอนต แบ งไฟล สร างการเช อมต อเว บซ อกเก ต เร มส ง ข อม ลโดยอ านไฟล ท ละส วน ส งข อม ลประเภทข อความบอก รายละเอ ยดของไฟล ต าแหน งของข อม ลฐานสองท จะเข ยนลง ไฟล และค าผลรวมตรวจสอบก อน เม อเซ ร ฟเวอร ได ร บ ก ตรวจสอบค าผลรวมตรวจสอบก บไฟล ท ม อย ถ าข อม ลตรงก นก ตอบกล บให ข ามการส งข อม ลฐานสองในส วนน ไปได แต ถ าค า ผลรวมตรวจสอบไม ตรงหร อไม ม ข อม ล เซ ร ฟเวอร จ งตอบกล บ ให ท าการส งข อม ลตามท แจ งไว เม อได ร บข อม ลฐานสองจ งน า ภาพท 2 : แผนภาพคลาส (Class Diagram) ไลบราร ของระบบ ฝ งไคลแอนต ส วนต อประสานจะเร ยกใช งานไลบราร ผ าน FileUploadPugin ไปย ง UploadCommandReceiver และส ง UploadService ให สร าง FileUploadConnectionManager ท าการแบ งอ านไฟล ท าแฮชฟ งก ช นข อม ล เก บใน FileData สร าง FileUploadConnection ท าการเช อมต อเว บซ อกเก ตและ ร บส งข อม ล FileUploadListDataManager บ นท กข อม ลลง ฐานข อม ล โดยเร ยกใช ค าส งภาษาเอสค วแอล (SQL) ผ าน FileUploadListDatabaseHelper ฝ ง เ ซ ร ฟ เ ว อ ร จ ะ ม UploadWebsockerServer คอยร บการเช อมต อ FileWriter จ ดการเข ยนไฟล และ FileDataModel บ นท กลงฐานข อม ล 715 ภาพรวมระบบแสดงด งภาพท 3 ภาพท 3 : แผนภาพการต ดต ง (Deployment Diagram) ภาพรวมของ ระบบ ส วนของไคลแอนต เป นโปรแกรมประย กต แอนดรอยด ท ม ความสามารถในการเล อกไฟล ภายในอ ปกรณ ม ส วนจ ดการ รายการไฟล ท จะอ พโหลด และก าหนดตารางเวลาของการอ พ โหลดได เม ออ พโหลด จะอ านไฟล ท เล อกอ พโหลด จ ดการอ าน รายละเอ ยดข อม ลของไฟล รวมถ งจ ดการค าผลรวมตรวจสอบ ของการอ านข อม ลไฟล และสร างการเช อมต อเว บซ อกเก ต คอย ควบค มการเช อมต อการร บส งข อม ล ส วนของเซ ร ฟเวอร เป นโปรแกรมเว บซ อกเก ตเซ ร ฟเวอร คอยร บการเช อมต อเว บซ อกเก ต เม อได ร บก จะคอยควบค มการ เช อมต อ การร บส งข อม ล คอยท าการเข ยนไฟล จากข อม ลท ฝ ง ไคล
Related Search
Similar documents
View more...
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks