ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN THÀNH CÔNG TÍCH HỢP DỊCH VỤ CHIA SẺ DỮ LIỆU PHÂN TÁN VÀO HỆ THỐNG QUẢN LÝ DỮ LIỆU MỞ Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 8.01 LUẬN VĂN THẠC SĨ TP. HỒ CHÍ MINH, tháng 01 năm 2021 CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG –HCM Cán bộ hướng dẫn khoa học: PGS.TS Đặng Trần Khánh Cán bộ chấm nhận xét 1: PGS.TS Huỳnh Trung Hiếu Cán bộ chấm nhận xét 2: PGC.TS Nguyễn Tuấn Đăng Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp. HCM ngày 22 tháng 01 năm 2021 Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: 1.TS Trần Minh Quang 2.
Phan Trọng Nhân 3.TS Huỳnh Trung Hiếu 4.TS Nguyễn Tuấn Đăng 5.TS Đặng Trần Khánh Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có). CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA KH&KTMT ĐẠI HỌC QUỐC GIA TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự do - Hạnh phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Nguyễn Thành Công MSHV: 1870010 Ngày, tháng, năm sinh: 23/08/1992 Nơi sinh: Nam Định Chuyên ngành: Khoa học máy tính Mã số : 8480101 I. TÊN ĐỀ TÀI: TÍCH HỢP DỊCH VỤ CHIA SẺ DỮ LIỆU PHÂN TÁN VÀO HỆ THỐNG QUẢN LÝ DỮ LIỆU MỞ II. NHIỆM VỤ VÀ NỘI DUNG: Nghiên cứu nắm được các khái niệm, kiến trúc của hệ thống quản lý dữ liệu mở Nghiên cứu nắm được các khái niệm, mô hình, kiến trúc và cách thức hoạt động của Data Distributed Service Đề xuất ra được giải pháp để tích hợp Data Distributed Service vào hệ thống quản lý dữ liệu mở Đề xuất được giải pháp để chuyển đổi dữ liệu theo chuẩn của Data Distributed Service (Interface Definition Language) sang chuẩn của hệ thống quản lý dữ liệu mở hiện tại (JSON) Đánh giá được các phương pháp để tổ chức dữ liệu streaming theo dạng JSON hiện tại và tìm ra được phương pháp phù hợp với hệ thống hiện tại Đánh giá được tính khả thi của mô hình, và hoàn cảnh áp dụng cụ thể, cách thức hoạt động của giải pháp III.
NGÀY GIAO NHIỆM VỤ : 21/09/2020 IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 03/01/2021 V. CÁN BỘ HƯỚNG DẪN: PGS.TS Đặng Trần Khánh Tp. CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên và chữ ký) (Họ tên và chữ ký) TRƯỞNG KHOA (Họ tên và chữ ký) Lời cảm ơn Lời đầu tiên, tôi muốn gửi lời cảm ơn chân thành đến thầy PGS.TS Đặng Trần Khành, trong thời gian qua, đã hướng dẫn và giúp đỡ tôi trong quá trình thực hiện luận văn tốt nghiệp.
Những lời nhận xét, góp ý và hướng dẫn của Thầy đã giúp tôi có một định hướng đúng trong quá trình thực hiện đề tài, giúp tôi thấy được những ưu khuyết điểm của từng phương pháp tiếp cận và từng bước khắc phục để ngày một tốt hơn. Đồng thời tôi cũng muốn gửi lời cảm ơn sâu sắc đến gia đình và bạn bè đã động viên, cổ vũ tinh thần và góp ý trong suốt quá trình học tập và thực hiện đề tài. Sau cùng, tôi xin cảm ơn thầy cô trong tổ bộ môn Khoa Học Máy Tính, các thầy cô tại trường đại học Bách Khoa đã giảng dạy, giúp đỡ trong suốt quá trình học tập và nghiên cứu. Trân trọng cảm ơn! Tóm tắt luận văn Dữ liệu ngày càng thể hiện vai trò cực kỳ quan trọng cho sự phát triển của rất nhiều lĩnh vực như: giáo dục, y tế, khoa học và kỹ thuật.
Góp phần thúc đẩy sự phát triển của kinh tế, nâng cao chất lượng cuộc sống và tạo ra những tri thức hoàn toàn mới cho nhân loại. Sự ảnh hướng này kéo theo sự phát triển của lĩnh vực phân tích dữ liệu nhằm tận dụng tối đa giá trị mà dữ liệu mang lại. Hạt nhân của các hệ thống phân tích dữ liệu chính là dữ liệu. Dữ liệu càng nhiều thì độ chính xác của các hệ thống phân tích càng cao.
Do đó chia sẻ dữ liệu là môt xu hướng hiện nay. Một mô hình được tạo ra từ xu hướng này đó chính là dữ liệu mở. Ngoài ra, trong bối cảnh phát triển của mạng xã hội, các hạ tầng xây dựng thành phố thông minh, IoT, … Dẫn đến dữ liệu được sinh ra liên tục và đa dạng trong đó dữ liệu dạng liên tục (stream data) đóng vai trò hết sức quan trọng. Điều này dẫn đến một nhu cầu tích hợp các giải pháp cho phép chia sẻ các dữ liệu dạng liên tục vào các hệ thống quản lý dữ liệu mở.
Luận văn trình bày mô hình giải pháp tích hợp dịch vụ chia sẻ dữ liệu phân tán để cho phép chia sẻ các dữ liệu dạng liên tục vào các hệ thống quản lý dữ liệu mở CKAN. Kết quả được trình bày chi tiết trong nội dung luận văn cho thấy đây là sự kết hợp hợp lý và là một hướng đi khả thi mang tính ứng dụng cao. Giải pháp đề xuất mang tính tổng quát và có khả năng mở rộng trong tương lai. Abstract Data increasingly plays an extremely important role in the development of many fields such as education, health, science, and technology.
Contributing to promoting economic development, improving the quality of life, and creating completely new knowledge for mankind. This influence leads to the development of the field of data analysis to take full advantage of the value that data brings. The core of data analysis systems is data. The more data, the higher the accuracy of the analytical systems.
Hence data sharing is a trend nowadays. One pattern created by this trend is open data. Besides, the development of social networks, smart city infrastructure, IoT,. leads to continuous and diverse data generation in which stream data is closed.
very important role. This leads to a need to integrate solutions that enable continuous sharing of data into open data management systems. The thesis presents a solution model to integrate distributed data sharing service to enable continuous sharing of data into CKAN open data management systems. The results are detailed in the content of the thesis shows that this is a reasonable combination and a feasible direction with high applicability.
The proposed solution is general and likely to be expanded in the future. Lời cam đoan Tôi là Nguyễn Thành Công học viên cao học khoa Khoa Học và Kỹ Thuật Máy Tính, Đại Học Bách Khoa TP. Tôi xin cam đoan luân văn được trình bày là kết quả nghiên cứu của cá nhân tôi, không sao chép từ bất kỳ ai. Nôi dung nghiên cứu là do tôi tự tìm hiểu, phân tích một cách trung thực, khách quan dưới sự hướng dẫn khoa học của PGS.TS Đặng Trần Khánh.
Tôi xin hoàn toàn chịu trách nhiệm về lời cam đoan này TP. Hồ Chí Minh, 01/2021 Nguyễn Thành Công MỤC LỤC Mục Lục Hình Ảnh. Giới thiệu bài toán. Phạm vi và kết quả cần đạt được.
Tích hợp Data Distributed vào hệ thống quản lý dữ liệu mở. Chuyển đổi dữ liệu từ Interface Definition Language sang chuẩn JSON. JSON tối ưu cho dữ liệu streaming. Các bài toán khác có liên quan trong bối cảnh hiện nay.
Tính riêng tư của dữ liệu. Quyền sở hữu dữ liệu. Kiểm tra và đánh giá chất lượng của dữ liệu. CƠ SỞ TRI THỨC VÀ CÔNG NGHỆ LIÊN QUAN.
Dữ liệu mở - Open Data. Hệ thống quản lý dữ liệu mở CKAN. Dữ liệu Streaming. Lợi ích của dữ liệu Streaming.
So sánh xử lý bó và xử lý luồng. Dịch vụ chia sẻ dữ liệu phân tán - Data Distributed Service. Các thành phần cơ bản. Luồng dữ liệu trong Data Distributed Service.
Các tính năng quan trọng của DDS. Quality of Service – QoS. Kiểu dữ liệu trong Distributed Data Service. Lịch sử - Tiêu chuẩn.
Cấu trúc - cú pháp. Ứng dụng - Cộng đồng. Cách lưu trữ dữ liệu streaming bằng JSON. Các thành phần chính của kiến trúc MongoDB.
Ưu điểm của MongaDB. Nhược điểm của MongoDB. Kiến trúc Docker Engine. Ưu đểm của Docker Container.
Giới thiệu – Lịch sử phát triển. Nhược điểm. NỘI DUNG GIẢI PHÁP ĐỀ XUẤT. Bài toán tích hợp.
Cơ chế nhập dữ liệu trong hệ thống dữ liệu mở CKAN. Chức năng mở rộng - Plugin. Công việc chạy nền - Background jobs. Bài toán chuyển đổi.
Chuyển đổi từ Plain Language Object thông qua IDL file. Bài toán lưu trữ và chia sẻ. Cơ chế tự động sinh mã và biên dịch tập tin thực thi. Cơ chế cập nhật dữ liệu nhận được vào datastore của CKAN và MongoDB.
Tích hợp các thành phần tạo thành giải pháp hoàn chỉnh. Đánh giá khả năng của giải pháp. HIỆN THỰC GIẢI PHÁP. Môi trường hiện thực và công cụ sử dụng.
Thiết lập vận hành nền tảng CKAN. Xây dựng plugin trong CKAN. API để cập nhật dữ liệu vào DataStore của MongoDB và CKAN. API để lưu các tập tin cấu hình mạng và mô tả kiểu dữ liệu.
Thiết lập môi trường cho OpenDDS. Xây dựng bộ sinh mã để chuyển đổi. Xây dựng hệ thống hoàn chỉnh. Kiểm tra và đánh giá.
Phương pháp và tiêu chí. Tiến hành cài đặt và kiểm tra. Tổng kết nội dung. Hướng phát triển.
65 DANH MỤC CÁC TÀI LIỆU THAM KHẢO. 67 Mục Lục Hình Ảnh Hình 1: Mô hình hệ thống chuyển đổi dữ liệu mở (1). 2 Hình 2: Mô hình hệ thống chuyển đổi dữ liệu mở (2). 3 Hình 3: Mô hình hệ thống dữ liệu mở kết hợp với DDS.
4 Hình 4: kiến trúc code của ckan. 10 Hình 5: Kiểu máy khách - máy chủ. 13 Hình 6: Mạng ngang hàng. 13 Hình 7: Mô hình đăng ký- xuất bản.
14 Hình 8: Cấu trúc OMG DDS. 16 Hình 9: Không gian dữ liệu toàn cầu (GDS). 16 Hình 10: Global Data Space trong DDS. 17 Hình 11: Các loại QoS hiện tại trong DDS.
20 Hình 12: Quá trình so sánh QoS. 20 Hình 13: QoS trong Data Distributed Service. 21 Hình 14: Mối quan hệ giữa Type System, Type Representation, Language Binding, và Data Representation. 25 Hình 15: Một ví dụ thể hiện mối quan hệ giữa Type System, Type Representation, Language Binding, và Data Representation.
25 Hình 16: Lịch sử phát triển của JSON. 30 Hình 17: Mối quan hệ giữa Cơ sở dữ liệu quan hệ (RDBMS) và MongoDB. 33 Hình 18: Các công ty sử dụng sản phẩm MongoDB. 33 Hình 19: Một ví dụ thể hiện quan hệ giữa RDBMS và MongoDB.
34 Hình 20: Ứng dụng Docker. 36 Hình 21: Kiến trúc Docker Engine .