Lựa chọn công nghệ

Một phần của tài liệu nghiên cứu kiến trúc hệ thống media - lbs (Trang 72 - 86)

Do hệ thống đƣợc thiết kế trên nền web và nền tảng hệ điều hành Android nên công lập trình cũng đƣợc lựa chọn tƣơng ứng với mục tiêu này.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

3.2.1. Công nghệ lưu trữ

Nhƣ đã nêu trong chƣơng 2, với các đặc điểm nổi bật của công nghệ lƣu trữ điện toán đám mây của Google. Trong phần demo tác giả sử dụng hệ thống quản lý dữ liệu phẳng Cloud Datastore. Là một công nghệ quản lý dữ liệu dạng đối tƣợng miễn phí, luôn sẵn sàng đối với ngƣời dùng.

3.2.2. Công nghệ lập trình giao tiếp với CSDL Cloud Datastore

Java Servlet là thành phần chính đƣợc sử dụng để phát triển các chƣơng

trình dịch vụ Java ở phía máy chủ. Các Servlet là các chƣơng trình Java thực hiện ở các ứng dụng Server (tên gọi “Servlet” cũng gần giống như “Applet” ở phía máy Client) để trả lời cho các yêu cầu của Client. Các Servlet không bị ràng buộc chặt với một giao thức Client-Server cụ thể nào cả, nhƣng giao thức thƣờng đƣợc sử dụng là HTTP, do vậy, khi nói tới Servlet nghĩa là nói tới HTTP Servlet. Servlet là sự phát triển mở rộng của CGI để đảm bảo Server thực hiện đƣợc các chức năng của mình. Có thể sử dụng Servlet của Java để tuỳ chỉnh lại một dịch vụ bất kỳ, nhƣ Web Server, Mail Server, v.v.

Web Server hiển thị các tƣ liệu đƣợc viết trong HTML và hồi đáp cho yêu cầu của ngƣời sử dụng qua HTTP. Các tƣ liệu HTML chứa các văn bản đƣợc đánh dấu (định dạng) để các trình duyệt nhƣ IE, Netscape… đọc đƣợc.

Hình C3. 1: Vai trò của Serverlet

Nhƣ vậy với serverlet rất dễ dàng cho phép tác giả giao tiếp với CSDL Coud datastore, trả về dữ liệu cho ngƣời dùng nhanh chóng.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Java là một ngôn ngữ lập trình dạng lập trình hƣớng đối tƣợng (OOP). Khác với phần lớn ngôn ngữ lập trình thông thƣờng, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java đƣợc thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ đƣợc môi trƣờng thực thi chạy.

Đặc điểm nổi bật nhất của Java là không phụ thuộc vào hệ điều hành và bộ xử lý. Điều này cho phép một ứng dụng viết bằng Java có thể đƣợc thực hiện trên bất kỳ hệ điều hành và hệ xử lý nào có hỗ trợ Java. Do vậy, nó đƣợc chọn cho việc xây dựng ứng dụng trên Android. Tuy nhiên ngƣời phát triển ứng dụng trên Android chỉ sử dụng 1 phần nhỏ thƣ viện J2EE đƣợc xem là máy ảo Dalvik. Để xây dựng ứng dụng trên Android ta xem xét kiến trúc của Hệ điều hành Android.

Hệ điều hành Android có kiến trúc chia làm 5 tầng chính:

- Tầng lõi ARM Linux: là tầng thấp nhất đƣợc xây dựng từ 2 thành phần chính là Linux kernel và bộ vi xử lý ARM (Acorn RISC Machine). Bộ vi xử lý ARM hoạt động với hiệu suất cao nhƣng tiêu thị năng lƣợng rất ít.

- Tầng thƣ viện: chứa mã nguồn cấp thấp cho những chức năng cơ bản

nhƣ: mã hóa và giải mã âm thanh, hình ảnh kỹ thuật số, trình bày các giao diện đồ họa, bảo mật lƣu lƣợng TCP/IP, …

- Tầng máy ảo Android: là phần mềm dùng để chạy các ứng dụng trên

thiết bị Android, bao gồm tập các thƣ viện lõi. Mỗi ứng dụng Android đƣợc chạy trong 1 tiến trình riêng và 1 máy ảo Dalvik riêng.

- Tầng khung ứng dụng Android: định nghĩa Android API, cung cấp bộ công cụ ở mức cao

- Tầng ứng dụng lõi Android: bao gồm các ứng dụng cơ bản hỗ trợ thêm cho ngƣời lập trình.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình C3. 2: Sơ đồ kiến trúc của hệ điều hành Android

3.2.4. Một số công nghệ phụ trợ

Google Maps Javascript API v3: Cho phép ứng dụng giao tiếp với bản

đồ số của Google, nó cho phép nhúng Maps (bản đồ số) vào trang web thông qua Javascripts. Dịch vụ này hoàn toàn miễn phí.

Google Maps Android API v2: Hỗ trợ lập trình viên nhúng module bản

đồ của Google vào trong ứng dụng Android. Các hàm, các dịch vụ đƣợc cung cấp khá đầy đủ và tiện ích. Google Maps Android API còn hỗ trợ đầy đủ các hàm để lập trình viên có thể tối đa tùy biến, cá nhân hóa ứng dụng Android của mình, cũng nhƣ đƣa đƣợc dữ liệu vị trí địa lý cá nhân lên trên bản đồ số để hiển thị cho ngƣời dùng.

Google Cloud Datastore API: Cho phép lập trình viên giao tiếp với

Cloud Datastore để quản trị dữ liệu.

3.3. Phân tích và Thiết kế hệ thống (adsbygoogle = window.adsbygoogle || []).push({});

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình C3. 3: Mô hình thử nghiệm hệ thống Media LBS

Trong mô hình này ngƣời sử dụng truy cập vào hệ thống Media LBS bằng hai thiết bị là máy tính và thiết bị di động chạy hệ điều hành Android. Dữ liệu đa phƣơng tiên và vị trí tƣơng ứng đƣợc ngƣời dùng đƣa lên hệ thông thông qua internet tại địa chỉ http://1-dot-kmedialbs.appspot.com bằng máy tính. Ngƣời sử dụng thiết bị động sử dụng ứng dụng dạng .apk đƣợc cài đặt vào máy di động sẽ kết nối với hệ thống dữ liệu trên Cloud Datastore nhận về dữ liệu dạng JSON và đối sánh với vị trí hiện tại của thiết bị và hiển thị dữ liệu đa phƣơng tiện tƣơng ứng với vị trí.

3.3.1Các module được xây dựng trong chương trình

Hệ thống đƣợc chia làm 2 module chính là module phía Server và module phía Client, trong đó:

- Module Server: là ứng dụng web (web application) cung cấp các dịch vụ khai thác dữ liệu đƣợc chạy trực tuyến trên Internet. Có các chức năng quản lý dữ liệu về các địa điểm địa lý và các thông tin đa phƣơng tiện:

Công nghệ sử dụng: Java Serverlet, Javascript, Google Maps Javascript API v3, Google Maps Services, Google Cloud Datastore API.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

- Module Client: là một ứng dụng dạng .apk chạy trên thiết bị di động cài đặt hệ điều hành Android, có khả năng định vị vị trí hiện tại của thiết bị và kết nối mạng Internet. Ứng dụng cho phép ngƣời dùng tải dữ liệu bản đồ từ Google Maps, tải dữ liệu từ Cloud datastore, lấy thông tin vị trí hiện tại để đối sánh và hiển thị thông tin đa phƣơng tiện tƣơng ứng.

Công nghệ sử dụng: Java for Android, Google Maps Android API.

Việc truyền dữ liệu giữa 2 module đƣợc thực hiện bằng việc truyền thông trên mạng Internet thông thƣờng, thông qua GPRS, 3G, 4G hoặc Wifi…

3.3.2Thiết kế hệ thống

Các tác nhân của hệ thống:

- Quản trị dữ liệu: Đƣa dữ liệu về thông tin vị trí, thông tin đa phƣơng tiện lên Server và xuất dữ liệu dạng JSON cho ứng dụng phía Client.

Hình C3. 4: Sơ đồ Ca sử dụng của tác nhân Quản trị dữ liệu

- Ngƣời dùng: Ngƣời sử dụng thiết bị di động với mong muốn nhận đƣợc các thông tin đa phƣơng tiện tại vị trí hiện tại của thiết bị.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình C3. 5: Sơ đồ Ca sử dụng của tác nhân Ngƣời dùng

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình C3. 7: Sơ đồ triển khai ứng dụng 3.4. Cài đặt bài toán

3.4.1. Dữ liệu thử nghiệm

Dữ liệu thử nghiệm của chƣơng trình đƣợc thiết lập là các đơn vị lớn nằm trên đƣờng Lạch Tray – Quận Ngô Quyền – Hải Phòng.

Danh mục địa điểm nhƣ sau:

STT Địa chỉ Latitude Longitude Mô tả

1. 213 A Lạch Tray, Ngô Quyền, Hải Phòng, Việt Nam 20.839246 7 106.6954599 0000006 Thƣ viện khoa học tổng hợp thành phố Hải phòng 2. Nam Cƣờng Hotel, Lạch Tray, Ngô Quyền, Hải Phòng, Việt Nam 20.849247 070667815 106.6897051 2226224 Khách sạn 3 sao Nam Cƣờng 3. Lạch Tray, Ngô Quyền, Hải Phòng, Việt Nam 20.845938 350983378 106.6916416 7717099

Hiệu sách Tiền Phong, Lạch Tray - Hải Phòng 4. Lạch Tray, Ngô Quyền, Hải Phòng, 20.840649 26159767 106.6940342 0761228 Cầu Vƣợt Lạch Tray

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Việt Nam

5. 213A Lạch Tray, Ngô Quyền, Hải Phòng, Việt Nam

20.838904 573334375 (adsbygoogle = window.adsbygoogle || []).push({});

106.6951607 3539853

Trung tâm Công nghệ Phần mềm Hải Phòng

6. Đổng Quốc Bình, Ngô Quyền, Hải Phòng, Việt Nam 20.838307 965523896 106.6951124 5563626 Ngã 4 Đổng Quốc Bình 7. Cầu Rào, Đằng Giang, Ngô Quyền, Hải Phòng, Việt Nam

20.829950 19411917

106.6992323 2868314

Vòng xuyến cầu Rào

8. Kênh Dƣơng, Lê Chân, Hải Phòng, Việt Nam 20.836719 87999253 106.6943011 8570563 Trƣờng Đại học Hàng Hải Hải Phòng 9. Số 2 Nguyễn Bình, Ngô Quyền, Hải Phòng, Việt Nam 20.838715 269155607 106.6941617 1083685 Trƣờng chính trị Tô Hiệu 10. Trƣờng Đại học Y Hải Phòng, Kênh Dƣơng, Ngô Quyền, Hải Phòng, Việt Nam

20.837153 98958382 106.6960163 6007428 Trƣờng đại học Y Hải Phòng 11. Ngã 4 Trại Lính, Ngô Quyền, Hải Phòng, Việt Nam 20.852174 725586373 106.6859178 4313321

Ngã 4 giao giữa đƣờng Cầu Đất, Lê Lợi, Tô Hiệu, Lạch Tray. Đây là điểm đầu tiên của tuyến đƣờng Lạch Tray 12. Số 2 Lạch Tray, Ngô Quyền, Hải Phòng, Việt Nam 20.852024 333742563 106.6859500 2964139

Ban Chỉ huy Quân sự thành phố Hải Phòng

13. 4 Lạch Tray, Lạch Tray, Ngô Quyền, Hải Phòng, Việt Nam

20.850771 062530107 106.6877846 6060758 Sân vận động Lạch Tray, nơi diễn ra các trận đá bóng của đội bóng Đất Cảng 14. Số 23 Lạch Tray,

Ngô Quyền, Hải Phòng, Việt Nam

20.849738 359204448

106.6891579 516232

Ngân hàng Thƣơng mại và cổ phần Quốc tế Việt Nam (vib CN Hải Phòng)

15. Hồ Quần Ngựa, Lạch Tray, Ngô Quyền, Hải Phòng, Việt Nam

20.849337 3074581 106.6895817 4064755 Hồ Quần ngựa Bảng 9: Dữ liệu thử nghiệm

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

3.4.2. Giao diện chương trình

Giao diện web application chạy phía Server nhằm cập nhật và hiệu chỉnh các thông tin về địa điểm và đa phƣơng tiện

Hình C3. 8: Giao diện ban đầu của ứng dụng web

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình C3. 10: Giao diện cập nhật địa điểm và đa phƣơng tiện kmediaLBS

Giao diện chƣơng trình chạy phía di động lấy thông tin về địa điểm và trả về cho ngƣời dùng những thông tin đa phƣơng tiện tƣơng ứng.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

KẾT LUẬN Kết quả đạt đƣợc

Luận văn “Nghiên cứu kiến trúc hệ thống Media LBS” đã khái quát và trình bày các công nghệ cần thiết để xây dựng kiến trúc tổng thể của hệ thống. Media LBS là sự phát triển tất yếu của LBS, đồng thời là một trong những công nghệ mới hiện nay.

Trong luận văn tác giả đã đƣa ra định nghĩa về kiến trúc của hệ thống, xây dựng kiến trúc của hệ thống, nêu ra các thành phần chính trong hệ thống nhƣ thành phần phía Server của Google, thành phần chạy trên thiết bị di động, các công nghệ hỗ trợ hệ thống nhƣ công nghệ phân lớp dữ liệu, công nghệ bảo mật, công nghệ nén dữ liệu, công nghệ định vị GPS, công nghệ định vị trong nhà (indoor)...

Tác giả đã thực hiện xây dựng thành công hệ thống Media LBS trên công nghệ điện toán đám mây của Google. Đã xây dựng đƣợc ứng dụng web cho phép giao tiếp với cơ sở dữ liệu của Google để nhập và quản lý các thông tin về vị trí và đa phƣơng tiện. Đã xây dựng đƣợc ứng dụng chạy trên thiết bị di động chạy hệ điều hành Android kết nối với cơ sở dữ liệu của Google để so sánh vị trí và trả về các thông tin đa phƣơng tiện. (adsbygoogle = window.adsbygoogle || []).push({});

Tác giả cũng đánh giá sơ bộ tác động của hệ thống với xã hội, từ đó có cái nhìn tổng quát hơn cho hƣớng phát triển của hệ thống đã đề xuất.

Hạn chế:

- Về mặt công nghệ của kiến trúc hệ thống Media LBS chƣa đƣợc đánh giá bằng thực tiễn.

- Tác giả chƣa xây dựng đƣợc hệ thống chƣơng trình thử nghiệm thể hiện đầy đủ kiến trúc Media LBS. Hiện tại chƣơng trình chỉ dừng lại ở việc mô tả kiến trúc và cách thức hoạt động của hệ thống.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

- Chƣa xây dựng đƣợc chƣơng trình sử dụng cơ sở dữ liệu trả tiền của Google mà chỉ sử dụng phần miễn phí nên chƣơng trình chạy thử nghiệm còn nhiều hạn chế.

Hƣớng phát triển:

- Tiếp tục nghiên cứu kiến trúc hệ thống Media LBS để đánh giá và thực nghiệm hệ thống.

- Phát triển kiến trúc hệ thống ở mức cao hơn, tạo ra một cộng đồng sử dụng hệ thống, bảo đảm tính khả thi của hệ thống.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

TÀI LIỆU THAM KHẢO Tiếng Việt

[1] Đặng Văn Đức, Hệ thống thông tin địa lý, NXB Khoa học và kỹ thuật, 2001. [2] Đặng Văn Đức, Nguyễn Tiến Phƣơng, Đỗ Tuấn Anh, Nguyễn Sơn, Trần

Mạnh Trƣờng (2008), Một số kỹ thuật áp dụng trong việc phát triển mô hình dịch vụ trên cơ sở vị trí địa lý, Báo cáo khoa học tại Hội nghị khoa học ICT.rda08, Hà Nội.

[3] Nguyễn Tiến Phƣơng, Đặng Văn Đức và cộng sự, Một phƣơng pháp xây dựng ứng dụng bản đồ số trên thiết bị trợ giúp các nhân (PDA), Kỷ yếu hội thảo Quốc gia về Công nghệ thông tin, Đà lạt, 2006.

[4] Nguyễn Tiến Phƣơng, Đặng Văn Đức, Một mô hình dịch vụ trên cơ sở vị trí địa lý để theo dõi, giám sát đối tƣợng chuyển động, Kỷ yếu hội thảo Quốc gia về Công nghệ thông tin, Đồng Nai, 2009

[5] Vũ Dƣơng Tùng, Nguyễn Tiến Phƣơng và cộng sự, Phát triển dịch vụ dựa trên vị trí (LBS) trên nền tảng điện toán đám mây, Kỷ yếu hội thảo Quốc gia về các vấn đề chọn lọc của CNTT, Hà Nội, 2012

Tiếng nƣớc ngoài

[6] Balqies Sadoun, Omar Al-Bayari (2007), “Location based services using geographical information systems”

[7] Dang Van Duc, MapOnline – A Geographical Information Service on Internet. The Journal of Cities and Regions, GIS Special, International Statistical Institute, The Netherlands, November 2000, pp 78-83.

[8] David Munoz, Frantz Bouchereau, Cesar Vargas and Rogerio Enriquez, Position Location Techniques and Applications, Elsevier Inc, 2009 [9] Google App Engine, http://code.google.com/appengine/

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

[10] GSM Association, Location Based Services, Permanent Reference

Document SE.23, 2006.

[11] Ronald Lenz, Locative Media, 2011

[12] Stefan Steiniger, Moritz Neun and Alistair Edwardes (2006), “Lecture Notes on LBS”, Foundations of Location Based Services, V. 1.0.

Một phần của tài liệu nghiên cứu kiến trúc hệ thống media - lbs (Trang 72 - 86)