intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Phát triển nền tảng phân tích dữ liệu thời gian thực cho thành phố thông minh

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:3

16
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Hiện nay, các thành phố hiện đại đang tìm cách xây dựng các ứng dụng thông minh có thể cung cấp nhiều dịch vụ công ích đáp ứng mọi nhu cầu của người dân. Bài viết Phát triển nền tảng phân tích dữ liệu thời gian thực cho thành phố thông minh giới thiệu quy trình công nghệ phân tích dữ liệu lớn mới được cho là hiệu quả hơn so với ETL.

Chủ đề:
Lưu

Nội dung Text: Phát triển nền tảng phân tích dữ liệu thời gian thực cho thành phố thông minh

  1. Tuyển tập Hội nghị Khoa học thường niên năm 2018. ISBN: 978-604-82-2548-3 PHÁT TRIỂN NỀN TẢNG PHÂN TÍCH DỮ LIỆU THỜI GIAN THỰC CHO THÀNH PHỐ THÔNG MINH Nguyễn Văn Nam1, Nguyễn Ngọc Doanh2 1,2 JEAI WARM Thuyloi University, Vietnam and UMMISCO/IRD, France MSLab, CSE, Thuyloi University 1. GIỚI THIỆU CHUNG 2.2. Quy trình khai thác dữ liệu lớn Hiện nay, các thành phố hiện đại đang tìm Lưu trữ dữ liệu Tương tác dữ liệu Dữ Thu thập dữ liệut cách xây dựng các ứng dụng thông minh có liệu thể cung cấp nhiều dịch vụ công ích đáp ứng mọi nhu cầu của người dân. Điều này có thể Hình 1. Quy trình khai thác được thực hiện thông qua việc phân tích dữ Quy trình khai thác dữ liệu lớn (Hình 1) liệu nhật ký ghi lại các sự kiện xảy ra hàng được chia thành ba giai đoạn chính là : thu ngày, hàng giờ. Quy trình công nghệ khai thập dữ liệu (ingestion), lưu trữ dữ liệu phá dữ liệu truyền thống ETL (Extract- (storage) và tương tác dữ liệu (interaction) Transfer-Load) loại bỏ dữ liệu dư thừa gây (ISI)[2]. Quy trình ISI có tính mở cho phép thất thoát lượng lớn thông tin. Mục đích của thu nhận các dữ liệu mới với khuôn dạng và bài báo là giới thiệu quy trình công nghệ kích thước thay đổi, lưu trữ dữ liệu phân tán, phân tích dữ liệu lớn mới được cho là hiệu phân tích và xử lý dữ liệu gốc nhanh. quả hơn so với ETL. 2.2.1. Thu thập dữ liệu 2. PHƯƠNG PHÁP NGHIÊN CỨU Giai đoạn thu thập dữ liệu thực hiện hai công 2.1. Đặt vấn đề việc chính là phân giải dữ liệu (data filtering) và vận chuyển dữ liệu (data shipping). Thông tin về mọi hoạt động hàng ngày Dữ liệu lớn phi cấu trúc và thường là tuần trong thành phố thường được phản ánh và lưu tự theo thời gian cần phải được phân giải lại dưới dạng dữ liệu nhật ký. Đây là loại dữ thông qua các lược đồ dữ liệu (data schema). liệu lớn có khuôn dạng và kích thước không Lược đồ dữ liệu tuần tự đơn giản nhất là các xác định do tiến hóa liên tục. Nhưng đây lại tệp CSV trong đó sử dụng dấu phân cách để là nguồn dữ liệu có giá trị lớn cần phải được phân tách các trường thông tin. Tuy nhiên, khai thác hiệu quả. Quy trình khai thác dữ định dạng tệp văn bản không định nghĩa rõ liệu truyền thồng [1] gồm ba bước : lấy ràng kiểu dữ liệu của các trường thông tin. (Extract) dữ liệu từ các cơ sở dữ liệu khác JSON cũng là định dạng văn bản với các nhau, chuyển đổi (Transfer) khuân dạng dữ trường thông tin được định nghĩa trong các liệu về một dạng chuẩn chung và chuyển tải cặp khóa-giá trị. JSON cho phép xác định rõ (Load) các tập dữ liệu con đến nơi sử dụng. kiểu dữ liệu của các giá trị. Quy trình ETL dùng cho các khuôn dạng dữ Lược đồ dữ liệu Avro (Lược đồ 1) cho liệu cố định và nhu cầu có sẵn. Vì vậy, ETL phép dữ liệu được ghi lại dưới dạng JSON và loại bỏ nhiều dữ liệu dư thừa, khó mở rộng dạng nhị phân. Dữ liệu nhị phân cho phép cho các yêu cầu cũng như các khuôn dạng việc phân giải dữ liệu chính xác ngay cả khi dữ liệu mới. không biết lược đồ dữ liệu. 169
  2. Tuyển tập Hội nghị Khoa học thường niên năm 2018. ISBN: 978-604-82-2548-3 Lược đồ 1: Lược đồ dữ liệu Avro 2.2.3. Tương tác dữ liệu { "type":"record", Dữ liệu được lưu trữ cần có giao diện "name":"productrecord", tương tác với người sử dụng bên ngoài phục "fields":[ {"name":"id","type":"long"}, vụ cho các mục đích tìm hiểu, phân tích, dự {"name":"created","type":"int"}, đoán. NoSQL được thiết kế để phân tích dữ {"name":"product","type":"string"}, liệu thời gian thực. Spark cung cấp Spark- {"name":"price","type":"double"} ] SQL chứa các lệnh truy vấn tương tác trực } tiếp với RDD. Mặc dù, Spark-Streaming hỗ Dữ liệu từ xuất phát từ nhiều nguồn khác trợ việc xử lý luồng dữ liệu nhưng tốc độ xử nhau được vận chuyển đến nhiều nơi sử dụng lý còn khá chậm do cần thời gian để chuyển khác nhau. Để tránh tắc nghẽn khi vận đổi dữ liệu từ lô sang luồng. Dữ liệu cũng chuyển, hàng đợi dữ liệu (message queue) [4] cần được phân tích để nhận biết hình dạng và với cơ chế định tuyến quảng bá/ thuê bao kích cỡ. Spark-MLlib là thư viện hỗ trợ mạnh (publish/subcribe) được sử dụng. mẽ các thuật toán học máy khám phá này. 2.2.2. Lưu trữ dữ liệu 2.2.4. Tích hợp hệ thống Hadoop dựa trên hệ thống tệp phân tán Nền tảng công nghệ cho thành phố thông (HDFS) cho phép lưu trữ các tệp dữ liệu với minh (hình 2) bao gồm tầng thu thập dữ liệu khuôn dạng và kích thước bất kỳ. Hadoop sử dụng nền tảng Confluent có chứa hàng đợi cung cấp cơ chế MapReduce giúp ánh xạ dữ dữ liệu Kafka Stream. Cấu trúc của các liệu thành các bản ghi khóa-giá trị giống như nguồn dữ liệu nhật ký được định nghĩa bởi trong bảng băm. Sau đó các bản ghi được truy Avro. Các lược đồ dữ liệu mới được đăng ký xuất song song trên nhiều máy khác nhau. với hệ thống thông qua Schema Registry MapReduce thích hợp cho việc xử lý lô dữ liệu (ZooKeeper). lớn. Tuy nhiên, việc xử lý các yêu cầu tương tác trong MapReduce không hiệu quả do các dữ liệu liên quan phải lưu trữ ở bộ nhớ ngoài. Apache Spark khắc phục các điểm yếu của Hadoop bằng cách sử dụng cấu trúc dữ liệu RDD (Resilient Distributed Dataset) có thể chứa bất kỳ kiểu dữ liệu trong các ngôn ngữ lập trình phổ biến cũng như do người dùng tự định nghĩa. RDD lưu trữ ở bộ nhớ trong và cả bộ nhớ ngoài trong trường hợp kích cỡ lớn. Các mô hình quản trị cơ sở dữ liệu NoSQL (Not only SQL) được thiết kế bằng cách nhóm các tập dữ liệu liên quan phục vụ các Hình 2. Nền tảng phân tích dữ liệu lớn yêu cầu phân tích tương tác hay phân tích thời gian thực. Các lược đồ dữ liệu tiên tiến Dữ liệu gốc thông qua Kafka được đưa đến như JSON, Avro, Thrift được sử dụng để NoSQL Cassandra, đến ElasticSearch với cơ biểu diễn các luồng dữ liệu. Các lược đồ dữ chế đánh chỉ số ngược và đến Hadoop. liệu khác nhau trong cơ sở dữ liệu có thể Golang được sử dụng như cổng đa dịch vụ được nhóm thành các cột (Column-Family) (REST API gateway) để phát triển các ứng vì số cột nhỏ hơn số hàng (chẳng hạn dụng phân tích thời gian thực. Kibana đi liền Cassandra) hoặc tập tài liệu (Document- với ElasticSearch là giao diện hiển thị kết based) để có thể chứa nhiều khóa liên quan quả tìm kiếm tùy biến của người dùng. Spark hay đồ thị (Graph-based) để phục vu các đối kết hợp với Hadoop tạo ra hạ tầng phân tích tượng dữ liệu với các thuộc tính liên quan. tương tác hiệu quả. 170
  3. Tuyển tập Hội nghị Khoa học thường niên năm 2018. ISBN: 978-604-82-2548-3 3. KẾT QUẢ NGHIÊN CỨU 3.1. Kịch bản thử nghiệm Thành phố NewYork, Mỹ [5] triển khai dịch vụ WiFi miễn phí ở một số khu vực đông người như quảng trường, siêu thị, bến xe. Họ muốn giám sát, phân tích dữ liệu nhật ký sử dụng Wifi tại các điểm truy cập trên toàn thành phố từ đó có thể cải thiện chất lượng dịch vụ. 3.2. Nguồn dữ liệu Hình 4. Biểu đồ sử dụng Wifi Chúng tôi đưa vào hệ thống hai luồng dữ liệu của thành phố thông minh từ 02/2016 4. KẾT LUẬN đến 07/2017 có khuôn dạng khác nhau. Tập Quy trình ISI được cho là phù hợp với việc dữ liệu thứ nhất [6] là thông tin về tên, định lưu trữ và xử lý dữ liệu lớn tốt hơn các quy danh, tọa độ vị trí, tình trạng hoạt động các trình cũ ở mức độ linh hoạt và khả năng mở điểm truy cập WiFi [7]. Tập dữ liệu thứ hai là rộng. Bài báo đưa ra một trường hợp nghiên là lịch sử thống kê sử dụng dịch vụ tại các cứu đơn giản để có thể thấy một số khía cạnh điểm truy cập WiFi. nổi bật của ISI. 3.3. Kết quả 5. TÀI LIỆU THAM KHẢO Hai luồng dữ liệu sau khi qua Kafka [1] Philip Russom, Data Lakes Purposes, Stream sẽ được lưu trữ trong Cassandra. Practices, Patterns, and Platforms. Best Chúng tôi phát triển ứng dụng trên AngularJS practices report in Transforming Data With và Golang cho phép người dân xem bản đồ Intelligence-Talend Company, 2017. trực tuyến các điểm truy cập Wifi công cộng [2] Christoph Quix, Data Lakes: A Solution or (Hình 3). a new Challenge for Big Data Integrations?, Proceedings of 5th International Conference on Data Management Technologies and Applications, Lisbon, Portugal, 24-26, July, 2016. [3] Huan Tan, Exploratory research of data lake, Technical Report, Universiteit Leiden, 28/08/2015. [4] John, Vineet and Xia Liu. “A Survey of Distributed Message Broker Queues.” CoRRabs/1704.00411 (2017): n. pag. [5] City of NewYork Open Data, http://opendata.cityofnewyork.us. Hình 3. Bản đồ sử dụng Wifi [6] NYC Wi-Fi Hotspot Locations, https://data.cityofnewyork.us/City- Ngoài ra, giao diện Kibana (hình 4) kết nối Government/NYC-Wi-Fi-Hotspot- trực tiếp với ElasticSearch cho phép hiển thị Locations/yjub-udmw. báo cáo tổng hợp việc sử dụng dịch vụ Wifi [7] LinkNYC Usage Statistics, công cộng trong thành phố. Các báo cáo là cơ https://data.cityofnewyork.us/City- sở trợ giúp ra quyết định cải thiện chất lượng Government/LinkNYC-Usage- dịch vụ. Statistics/69wu-b929. 171
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2