Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Hệ thống phân tích tình trạng giao thông
Ứng dụng công cụ xử lý dữ liệu lớn thời
gian thực
Sinh viên thực hiện: Trương Hoà...
Nội Dung
Thiết kế hệ thống
Lựa chọn công nghệ
Tích hợp hệ thống
Khai phá dữ liệu
Thử nghiệm và đánh giá
Giới thiệu chung
K...
Nội Dung
Thiết kế hệ thống
Lựa chọn công nghệ
Tích hợp hệ thống
Khai phá dữ liệu
Thử nghiệm và đánh giá
Giới thiệu chung
K...
Đặt vấn đề
 Hiện trạng giao thông
 Cơ sở hạ tầng
 Ý thức người tham gia
giao thông
 Ùn tắc trầm trọng
 Thu thập dữ li...
Giải pháp
5
HỆ
THỐNG
XỬ LÝ DỮ
LIỆU GIAO
THÔNG
Xử lý thời gian thực
Độ tin cậy
Hiển thị trực quan
Kết quả đạt được
Giao diện trang chủ
6
Kết quả đạt được
Giao diện hiển thị tình trạng giao thông thời gian thực
7
Kết quả đạt được
Giao diện tìm đường đi
8
Các bước thực hiện đồ án
 Phân tích dữ liệu thô
 Xây dựng hệ thống
• TÌm hiểu
 Khai phá dữ liệu
 Hiển thị
 So sánh, đ...
Nội Dung
Thiết kế hệ thống
Lựa chọn công nghệ
Tích hợp hệ thống
Khai phá dữ liệu
Thử nghiệm và đánh giá
Giới thiệu chung
K...
Thiết kế hệ thống
Mô hình tổng thể của hệ thống
11
Đảm bảo:
- Không mất mát dữ liệu
- Xử lý dữ liệu thời gian thực
- Lưu t...
Khối khai phá dữ liệu – Mô hình chi tiết
Mô hình chi tiết khối khai phá dữ liệu
-Thông lượng cao
-Không mất mát dữ liệu
-D...
Nội Dung
Thiết kế hệ thống
Lựa chọn công nghệ
Tích hợp hệ thống
Khai phá dữ liệu
Thử nghiệm và đánh giá
Giới thiệu chung
K...
 Hệ thống truyền thông điệp phân tán
 Thành phần
• Topic
• Broker
• Partition
• Producer
• Consumer
 Đặc điểm
• Khả năn...
Xử lý luồng dữ liệu phân tán – Spark Streaming
 Apache Spark
 Thành phần chính
 Mô hình hoạt động trên cụm
15
RDD
-Tập ...
Xử lý luồng dữ liệu phân tán – Spark Streaming
Kiến trúc của Spark Streaming
16
Xử lý liên tục
RDD
DStream
Xử lý luồng dữ liệu phân tán – Spark Streaming
 Áp dụng một thao tác biến đổi trên DStream
17
Cơ sở dữ liệu - MongoDb
 Dễ sử dụng
 Đảm bảo cơ chế ghi tốc độ cao và tin cậy
 Các thành phần chính
 Collection
 Docu...
Xử lý luồng dữ liệu phân tán – Apache Storm
 Hệ thống tính toán phân tán mã nguồn mở thời
gian thực miễn phí
Kiến trúc củ...
 Các thành phần chính
 Topology
• Đồ thị tính toán xử lý các luồng dữ liệu liên tục
• Các thành phần
– Spout
– Bolt
– Cá...
Cơ sở dữ liệu - Geomesa
 Đánh chỉ mục dữ liệu theo tọa độ
Hệ sinh thái Accumulo
Cơ sở dữ liệu Geomesa
Nội Dung
Thiết kế hệ thống
Lựa chọn công nghệ
Tích hợp hệ thống
Khai phá dữ liệu
Thử nghiệm và đánh giá
Giới thiệu chung
K...
Tích hợp hệ thống
23
Spark Streaming
24
1429847742000,D5DAE94,106.715
82139756944,10.747578125,11.1
<32578711-1, (1/39.5,1) >
<0, (1/11.2,1) >
...
Mô-đun kết nối
25
Kafka Spout
Reverse
GeoCode
Bolt
Statistic
Bolt
Kafka
Bolt
Storage
Bolt
1429847742000,D5DAE94,106.71582139756944,
10.74757...
Nội Dung
Thiết kế hệ thống
Lựa chọn công nghệ
Tích hợp hệ thống
Khai phá dữ liệu
Thử nghiệm và đánh giá
Giới thiệu chung
K...
Cơ sở lý thuyết
28
Định dạng dữ liệu
Trong đó:
 time_stamp: Thời gian dữ liệu GPS được gửi
lên
 car_id: Id của xe
 lon...
Cơ sở lý thuyết
Ánh xạ tọa độ vào đường
Phương pháp ánh xạ tọa độ điểm-điểm
 Tính vận tốc trung bình
 Vận tốc của một p...
Tiền xử lý dữ liệu
Cấu trúc dữ liệu bản đồ OSM
 Trích xuất dữ liệu
30
Khai phá dữ liệu
Thuật toán ánh xạ tọa độ sử dụng cây k-d
 Thuật toán tìm láng giềng gần nhất trên cây k-d
 Thuật toán ...
Nội Dung
Thiết kế hệ thống
Lựa chọn công nghệ
Tích hợp hệ thống
Khai phá dữ liệu
Thử nghiệm và đánh giá
Giới thiệu chung
K...
Thử nghiệm và đánh giá
Cài đặt
Kết quả thử nghiệm
Dữ liệu thử nghiệm
Kết quả
33
Thử nghiệm và đánh giá
So sánh Spark và Storm
34
0
5
10
15
20
25
3.200.000 bản ghi 8.500.000 bản ghi
Đỗ trễ
0
100
200
300...
Kết quả đạt được
So sánh Spark Streaming và Storm
35
0
5
10
15
20
25
3.200.000 bản ghi 8.500.000 bản ghi
Đỗ trễ
(giây)
0
1...
Tích hợp hệ thống
 Cải tiến đảm bảo dữ liệu được xử lý duy nhất.
 Vấn đề của Spark Streaming với Kafka dùng bộ nhận:
• D...
Nội Dung
Thiết kế hệ thống
Lựa chọn công nghệ
Tích hợp hệ thống
Khai phá dữ liệu
Thử nghiệm và đánh giá
Giới thiệu chung
K...
Kết luận
Kết quả đạt được
Những điểm hạn chế
Định hướng phát triển
38
Tài liệu tham khảo
 Andrew W.Moore: An introductory tutorial on kd-tree, Cargeghie Mellon
University, Canada
 Robert F. ...
www.themegallery.com
Cảm ơn thầy cô và
các bạn đã lắng nghe!
Cải tiến
41
Spark Streaming
Kafka
Thông điệp
Nhận và sao
chép
 Vấn đề của Spark Streaming với Kafka dùng bộ nhận
 Có thể...
Cải tiến
42
Spark StreamingKafka
Thông điệp
Tôi xử lý
xong lô này
rồi
Spark Streaming
lỗi, dữ liệu đẩy ra
chưa hết
 Vấn đ...
Cải tiến
43
 Giải pháp
 .
1. Viết lại bộ nhận
2. Tạo transaction
<id đầu, Thông điệp>
………………………
………………………
………………………
<id ...
Upcoming SlideShare
Loading in …5
×

Hệ thống phân tích tình trạng giao thông: Ứng dụng công cụ xử lý dữ liệu lớn thời gian thực

1,425 views

Published on

Today, the accelerating development in traveling demand and the number of vehicle circulating on the roads in Viet Nam‟s densely populated cities has been putting the transportation infrastructure under high pressure. The traffic congestion consecutively occurs especially in the rush hours. Besides, the public‟s conception as participating in transportation also directly have detrimental impacts on this burning issue.

With the widespread growth of GPS satellite located equipment, especially according to the circulars 91/2009/ND-CP of Viet Nam Transportation Ministry, the vehicles must be equipped monitoring facilitates which send transportation information continuously to the converging data centers. In fact, there is massive amount of transportation data being directed to these centers per second, hence it consists of features of “big data” – a key word which is used for huge and complicated sets of data. Thereby, it is impossible for traditional data processing to tackle this problem.

The ultimate goal of this graduation thesis is to build a system which is capable to process, analysis consecutive blocks of GPS data in real-time and then show the information about transportation state of roads and provide capacity of finding the fastest way in time-dependent spatial networks. With this information, the participants can chose an appropriate route to avoid traffic jam and the managers can schedule for developing policies of infrastructure, therefore making great contribution to tackling traffic congestion and giving a boost for the development of the society.

This graduation thesis will show the result of study process, requirement analyzing, real-time big data processing system installing and designing, putting the reduction of traffic jam in realistic perspective..

Published in: Technology
  • Be the first to comment

Hệ thống phân tích tình trạng giao thông: Ứng dụng công cụ xử lý dữ liệu lớn thời gian thực

  1. 1. Hệ thống phân tích tình trạng giao thông Ứng dụng công cụ xử lý dữ liệu lớn thời gian thực Sinh viên thực hiện: Trương Hoàng Linh– 20102688 Bùi Duy Khánh - 20101702 Giáo viên hướng dẫn: TS. Trần Việt Trung
  2. 2. Nội Dung Thiết kế hệ thống Lựa chọn công nghệ Tích hợp hệ thống Khai phá dữ liệu Thử nghiệm và đánh giá Giới thiệu chung Kết luận 2
  3. 3. Nội Dung Thiết kế hệ thống Lựa chọn công nghệ Tích hợp hệ thống Khai phá dữ liệu Thử nghiệm và đánh giá Giới thiệu chung Kết luận Giới thiệu chung 3
  4. 4. Đặt vấn đề  Hiện trạng giao thông  Cơ sở hạ tầng  Ý thức người tham gia giao thông  Ùn tắc trầm trọng  Thu thập dữ liệu giao thông (91/2009/NĐCP)  150.000 phương tiện lắp đặt thiết bị GPS (2011), thêm 15.000 phương tiện mỗi năm  Gửi dữ liệu 30s/lần.  Dữ liệu lớn, liên tục 4
  5. 5. Giải pháp 5 HỆ THỐNG XỬ LÝ DỮ LIỆU GIAO THÔNG Xử lý thời gian thực Độ tin cậy Hiển thị trực quan
  6. 6. Kết quả đạt được Giao diện trang chủ 6
  7. 7. Kết quả đạt được Giao diện hiển thị tình trạng giao thông thời gian thực 7
  8. 8. Kết quả đạt được Giao diện tìm đường đi 8
  9. 9. Các bước thực hiện đồ án  Phân tích dữ liệu thô  Xây dựng hệ thống • TÌm hiểu  Khai phá dữ liệu  Hiển thị  So sánh, đánh giá 9 Phương pháp Map matching
  10. 10. Nội Dung Thiết kế hệ thống Lựa chọn công nghệ Tích hợp hệ thống Khai phá dữ liệu Thử nghiệm và đánh giá Giới thiệu chung Kết luận Thiết kế hệ thống 10
  11. 11. Thiết kế hệ thống Mô hình tổng thể của hệ thống 11 Đảm bảo: - Không mất mát dữ liệu - Xử lý dữ liệu thời gian thực - Lưu trữ kết quả xử lý
  12. 12. Khối khai phá dữ liệu – Mô hình chi tiết Mô hình chi tiết khối khai phá dữ liệu -Thông lượng cao -Không mất mát dữ liệu -Dễ dàng mở rộng -Xử lý nhanh chóng -Khả năng xử lý liên tục -Dễ dàng mở rộng -Khả năng chịu lỗi Thông lượng cao -Lưu trữ khối lượng dữ liệu lớn -Dễ dàng mở rộng -Ghi dữ liệu nhanh chóng 12
  13. 13. Nội Dung Thiết kế hệ thống Lựa chọn công nghệ Tích hợp hệ thống Khai phá dữ liệu Thử nghiệm và đánh giá Giới thiệu chung Kết luận Lựa chọn công nghệ 13
  14. 14.  Hệ thống truyền thông điệp phân tán  Thành phần • Topic • Broker • Partition • Producer • Consumer  Đặc điểm • Khả năng mở rộng • Thông lượng cao • Độ tin cậy Kiến trúc của Kafka Hàng đợi thông điệp – Apache Kafka 14
  15. 15. Xử lý luồng dữ liệu phân tán – Spark Streaming  Apache Spark  Thành phần chính  Mô hình hoạt động trên cụm 15 RDD -Tập hợp dữ liệu đầu vào -Chia thành các partition -Phân phối trên các node -Xử lý trên bộ nhớ trong -Lưu lại các thao tác sinh ra nó nhanh Driver Worker -Lập lịch, điều phối nhiệm vụ -Thực hiện nhiệm vụ -Lưu trữ dữ liệu RDD (cache) -Lưu trữ dữ liệu đầu vào Chịu lỗi API mức cao Thuận tiện, dễ dàng
  16. 16. Xử lý luồng dữ liệu phân tán – Spark Streaming Kiến trúc của Spark Streaming 16 Xử lý liên tục RDD DStream
  17. 17. Xử lý luồng dữ liệu phân tán – Spark Streaming  Áp dụng một thao tác biến đổi trên DStream 17
  18. 18. Cơ sở dữ liệu - MongoDb  Dễ sử dụng  Đảm bảo cơ chế ghi tốc độ cao và tin cậy  Các thành phần chính  Collection  Document 18
  19. 19. Xử lý luồng dữ liệu phân tán – Apache Storm  Hệ thống tính toán phân tán mã nguồn mở thời gian thực miễn phí Kiến trúc của Apache Storm
  20. 20.  Các thành phần chính  Topology • Đồ thị tính toán xử lý các luồng dữ liệu liên tục • Các thành phần – Spout – Bolt – Các liên kết – Bộ phận giám sát lỗi Xử lý luồng dữ liệu phân tán – Apache Storm Chịu lỗi Tốc độ xử lý nhanh Spout A Bolt B Bolt D Bolt C
  21. 21. Cơ sở dữ liệu - Geomesa  Đánh chỉ mục dữ liệu theo tọa độ Hệ sinh thái Accumulo Cơ sở dữ liệu Geomesa
  22. 22. Nội Dung Thiết kế hệ thống Lựa chọn công nghệ Tích hợp hệ thống Khai phá dữ liệu Thử nghiệm và đánh giá Giới thiệu chung Kết luận Tích hợp hệ thống 22
  23. 23. Tích hợp hệ thống 23
  24. 24. Spark Streaming 24 1429847742000,D5DAE94,106.715 82139756944,10.747578125,11.1 <32578711-1, (1/39.5,1) > <0, (1/11.2,1) > <32578711-1, (1/39.5,1) > <32578711-1, (4.8,200) > <32578711-1, (41.67 ,200) > 32578711-1-41.67-200
  25. 25. Mô-đun kết nối 25
  26. 26. Kafka Spout Reverse GeoCode Bolt Statistic Bolt Kafka Bolt Storage Bolt 1429847742000,D5DAE94,106.71582139756944, 10.747578125,11.1 <32578711-1,(1/39.5)> 32578711-1-41.67-200 32578711-1-41.67-200 1429847742000,D5DAE94,106.71582139756944, 10.747578125,11.1 Apache Storm
  27. 27. Nội Dung Thiết kế hệ thống Lựa chọn công nghệ Tích hợp hệ thống Khai phá dữ liệu Thử nghiệm và đánh giá Giới thiệu chung Kết luận Khai phá dữ liệu 27
  28. 28. Cơ sở lý thuyết 28 Định dạng dữ liệu Trong đó:  time_stamp: Thời gian dữ liệu GPS được gửi lên  car_id: Id của xe  lon: Kinh độ  lat: Vĩ độ  Speed: Tốc độ của xe
  29. 29. Cơ sở lý thuyết Ánh xạ tọa độ vào đường Phương pháp ánh xạ tọa độ điểm-điểm  Tính vận tốc trung bình  Vận tốc của một phương tiện giao thông 𝑣𝑖 = 𝐷 𝑡𝑖  Vận tốc trung bình trong khoảng thời gian ti 𝑣𝑠 = 𝑖=1 𝑁 𝐷 𝑖=1 𝑁 𝑡𝑖 = 𝑁 × 𝐷 𝑖=1 𝑁 𝐷 𝑣𝑖 = 𝑁 𝑖=1 𝑁 1 𝑣𝑖 29
  30. 30. Tiền xử lý dữ liệu Cấu trúc dữ liệu bản đồ OSM  Trích xuất dữ liệu 30
  31. 31. Khai phá dữ liệu Thuật toán ánh xạ tọa độ sử dụng cây k-d  Thuật toán tìm láng giềng gần nhất trên cây k-d  Thuật toán ánh xạ tọa độ vào đường • Hệ tọa độ: Cartesian • Thuật toán 31
  32. 32. Nội Dung Thiết kế hệ thống Lựa chọn công nghệ Tích hợp hệ thống Khai phá dữ liệu Thử nghiệm và đánh giá Giới thiệu chung Kết luận Thử nghiệm và đánh giá 32
  33. 33. Thử nghiệm và đánh giá Cài đặt Kết quả thử nghiệm Dữ liệu thử nghiệm Kết quả 33
  34. 34. Thử nghiệm và đánh giá So sánh Spark và Storm 34 0 5 10 15 20 25 3.200.000 bản ghi 8.500.000 bản ghi Đỗ trễ 0 100 200 300 400 500 600 700 800 900 1000 3.200.000 bản ghi 8.500.000 bản ghi Tốc độ xử lý Spark Streaming Storm
  35. 35. Kết quả đạt được So sánh Spark Streaming và Storm 35 0 5 10 15 20 25 3.200.000 bản ghi 8.500.000 bản ghi Đỗ trễ (giây) 0 100 200 300 400 500 600 700 800 900 1000 3.200.000 bản ghi 8.500.000 bản ghi Tốc độ xử lý Spark Streaming Storm (giây)
  36. 36. Tích hợp hệ thống  Cải tiến đảm bảo dữ liệu được xử lý duy nhất.  Vấn đề của Spark Streaming với Kafka dùng bộ nhận: • Dữ liệu nhận từ Kafka có thể trùng lặp • Kết quả ra hệ thống ngoài có thể không đầy đủ.  Phương pháp: 1. Xây dựng mô-đun lấy dữ liệu cùng id trong Kafka 2. Tạo transaction với id đó, đẩy dữ liệu kết quả vào mongodb 3. Hệ thống lỗi => dùng id cũ trong mongodb => lấy dữ liệu và xử lý lại 36
  37. 37. Nội Dung Thiết kế hệ thống Lựa chọn công nghệ Tích hợp hệ thống Khai phá dữ liệu Thử nghiệm và đánh giá Giới thiệu chung Kết luậnKết luận 37
  38. 38. Kết luận Kết quả đạt được Những điểm hạn chế Định hướng phát triển 38
  39. 39. Tài liệu tham khảo  Andrew W.Moore: An introductory tutorial on kd-tree, Cargeghie Mellon University, Canada  Robert F. Sproull: Refinements to Nearest-Neighbor Searching in k- Dimensional Trees.  M. Otair: Approximate k-nearest neighbour based spatial clustering using k-d tree. International Journal of Database Management Systems 5(1) (2013).  P. Taylor Goetz, Hortonworks: Apache Storm and Apache Spark Streaming Compared.  Holden Karau, Andy Konwinski, Patrick Wendell, Matei Zaharia: Learning Spark, Lightning- Fast Big Data Analysis.  Ugur Demiryurek, Farnoush Banaei-Kashani, Cyrus Shahabi, and Anand Ranganathan: Online Computation of Fastest Path in Time-Dependent Spatial Networks, University of Southern California- Department of Computer Science Los Angeles, CA USA.  https://www.openstreetmap.org/  Nguyễn Đức Vinh, Hệ thống phân tích tình trạng giao thông – Xây dựng ứng dụng phía người dùng, Đồ án tốt nghiệp Kỹ sư, Trường Đại học Bách Khoa Hà Nội, Việt Nam, 2015 39
  40. 40. www.themegallery.com Cảm ơn thầy cô và các bạn đã lắng nghe!
  41. 41. Cải tiến 41 Spark Streaming Kafka Thông điệp Nhận và sao chép  Vấn đề của Spark Streaming với Kafka dùng bộ nhận  Có thể trùng lặp dữ liệu đầu vào Thông báo Trùng lặp dữ liệu đầu vào
  42. 42. Cải tiến 42 Spark StreamingKafka Thông điệp Tôi xử lý xong lô này rồi Spark Streaming lỗi, dữ liệu đẩy ra chưa hết  Vấn đề của Spark Streaming với Kafka dùng bộ nhận  Có thể mất dữ liệu kết quả Tôi đẩy dữ liệu ra
  43. 43. Cải tiến 43  Giải pháp  . 1. Viết lại bộ nhận 2. Tạo transaction <id đầu, Thông điệp> ……………………… ……………………… ……………………… <id cuối, Thông điệp> RDD Spark Streaming <id, Thông điệp> Kafka Khởi tạo transaction <id transaction, id đầu, id cuối, trạng thái> PROCESSING FINISH

×