Tôi cũng muán bày tß sự biÁt ơn đÁn các Lãnh đ¿o trong công ty cå phxây dựng Phú Mỹ đã cho phgp Tôi đưÿc sā dāng dữ liáu trực tiÁp vß các thông sá cÿa c Cuái cùng, tôi xin gāi lời cÁm
Trang 1HâC VIÞN CÔNG NGHÞ B¯U CHÍNH VIâN THÔNG
-
LUÀN VN TH¾C Sþ Kþ THUÀT (Theo đánh h°áng āng dāng)
TP Hâ CHÍ MINH –NM 2022
Trang 2HâC VIÞN CÔNG NGHÞ B¯U CHÍNH VIâN THÔNG
-
CHUYÊN NGÀNH: HÞ THÞNG THÔNG TIN
MÃ Sà: 8.48.01.04
LUÀN VN TH¾C Sþ Kþ THUÀT (Theo đánh h°áng āng dāng)
NG¯âI H¯àNG D¾N KHOA HâC: TS HUþNH TRâNG TH¯A
TP Hâ CHÍ MINH – NM 2022
Trang 3LâI CAM ĐOAN Tôi cam đoan rằng luận vn th¿c sĩ há tháng thông tin: <Hß thßng cÁnh báo bÃt th°ãng cho cÅu dây vng= là công trình do tôi nghiên cāu tång hÿp và thực hián
Tôi cam đoan các sá liáu, kÁt quÁ nêu trong luận vn là trung thực và chưa tÿng đưÿc ai công bá trong bất kỳ công trình nào khác
Không có sÁn phẩm/nghiên cāu nào cÿa người khác đưÿc sā dāng trong luận vn này mà không đưÿc trích dẫn theo đúng quy định
TP HCM, ngày 16 tháng 07 năm 2022
H漃⌀c viên thư뀣c hißn luãn vn
Ph¿m Thá Xuy¿n
Trang 4LâI CÀM ¡N
Trước tiên Tôi xin cÁm ơn ThþNH TRâNG TH¯A - GiÁng viên
hướng dẫn trực tiÁp cÿa tôi CÁm ơn ThThphép tôi nêu quan điám đãng thời đưa ra những nhận xét, dẫn dắt tôi đi đúng hướng trong suát thời gian nghiên cāu, thực hián đß tài luận vn th¿c sĩ
Tôi cũng xin trân trọng cÁm ơn các thvián Công nghá Bưu chính vißn thông Cơ sở Thành phá Hã Chí Minh đã truyßn đ¿t những kiÁn thāc chuyên môn sâu rộng trong ngành cho tôi, có đưÿc nßn tÁng kiÁn thāc hỗ trÿ rất lớn cho tôi trong quá trình nghiên cāu, hoàn thián luận vn
Tôi cũng muán bày tß sự biÁt ơn đÁn các Lãnh đ¿o trong công ty cå phxây dựng Phú Mỹ đã cho phgp Tôi đưÿc sā dāng dữ liáu trực tiÁp vß các thông sá cÿa c
Cuái cùng, tôi xin gāi lời cÁm ơn chân thành đÁn gia đình, b¿n bè và các anh chị em trong lớp cũng như anh chị em công tác cùng lĩnh vực vì đã luôn đãng hành, t¿o đißu kián, hỗ trÿ và khuyÁn khích tôi cá gắng trong suát những nm tháng học tập cũng như quá trình nghiên cāu viÁt luận vn này
Xin chân thành cÁm ơn!
TP.HCM, ngày 16 tháng 07 nm 2022 H漃⌀c viên thư뀣c hißn luãn vn
Ph¿m Thá Xuy¿n
Trang 54 Đái tưÿng và ph¿m vi nghiên cāu 4
5 Phương pháp nghiên cāu 5
6 Cấu trúc luận vn 5
CH¯¡NG 1: NGHIÊN CĀU TàNG QUAN 6
1.1 Tång quan vß Big Data 6
1.2 Các công nghá Big Data 7
1.3 Cơ sở phân tích dữ liáu quan trắc c1.4 Yêu cCH¯¡NG 2: PHÂN TÍCH THI¾T K¾ 9
2.1 Mô tÁ vấn đß 9
2.2 KiÁn trúc Big Data 9
2.2.1 Lớp thu thập dữ liệu 11
Trang 63.3.1 Triển khai hệ thống thu thập, xử lý và lưu trữ dữ liệu từ các cảm biến 25
3.3.2 Phân tích và mô hình hóa dữ liệu 31
3.3.3 Quản lý khai thác và bảo trì cầu dây văng Phú Mỹ dựa trên kết quả phân tích 39
CH¯¡NG 4: ĐÁNH GIÁ K¾T QUÀ THĀ NGHIÞM 40
4.1 Mô tÁ vß quá trình truyßn dữ liáu phát dữ liáu 40
4.2 Mô tÁ há tháng lưu trữ, xā lý và quÁn trị dữ liáu 41
4.3 Phân tích và xuất trình báo cáo 42
4.3.1 Theo dõi dưc liệu 42
Trang 7DANH SÁCH HÌNH VẼ
Hình 2.1: KiÁn trúc Big Data tång quan 10
Hình 2.2: Cấu trúc cơ bÁn cÿa Kafka 11
Hình 2.3: Các thành phHình 2.4: So sánh Spark Structured Streaming với các công cā truyßn phát khác 14
Hình 2.5: Luãng dữ liáu dưới d¿ng bÁng không giới h¿n 15
Hình 2.6: Mô hình lập trình cho Structured Streaming 16
Hình 2.7: Minh họa Time-series Data 17
Hình 2.8: BÁng xÁp h¿ng 10 cơ sở dữ liáu chuỗi thời gian hàng đEngines 18
Hình 2.9: Mô hình xā lý tång quan 19
Hình 2.10: Mô hình xā lý chi tiÁt cÿa há tháng 20
Hình 3.1: Đã hình vị trí cHình 3.2: Kích thước hình học chính cHình 3.3: Kích thước mặt cắt ngang dHình 3.4: Sơ đã chi tiÁt há truyßn dẫn 23
Hình 3.5: Dữ liáu nguãn 24
Hình 3.6: Chi tiÁt định d¿ng tên và cấu trúc lưu trữ các file dữ liáu 24
Trang 8Hình 3.7: Các cột dữ liáu trong file csv thu đưÿc tÿ cRIO 9031 26
Hình 3.8: Các cột dữ liáu trong file csv thu đưÿc tÿ cRIO 9065 27
Hình 2.9: Sơ đã luãng dữ liáu vào Kafka 28
Hình 3.10: Các bÁn ghi trong mỗi file dữ liáu thu đưÿc sau mỗi phút 28
Hình 3.11: Các thư māc lưu trữ dữ liáu 29
Hình 3.12: Sơ đã thu thập dữ liáu tÿ há há quan trắc cHình 3.13: Mã nguãn lấy dữ liáu tÿ Kafka 30
Hình 3.14: Mã nguãn ghi dữ liáu vào Kafka 31
Hình 3.15: Mô hình cơ sở dữ liáu 31
Hình 3.16: KÁt nái Grafana với InfluxDB 32
HÌnh 3.17: Truy vấn dữ liáu và trực quan hóa dữ liáu 33
Hình 3.18: Mã code biÁn đåi FFT xác định tHình 3.19: Cài đặt tHình 3.20: Cài đặt kênh nhận cÁnh báo 37
Hình 3.2: Cấu hình SMTP đá gāi mail trong Grafana 37
Hình 3.22: Lựa chọn mác thời gian cho các bÁng báo cáo 38
Hình 3.23: Mã nguãn lấy và tính toán các giá trị min, max, mean tÿ cơ sở dữ liáu 38
Hình 4.1: Các file dữ liáu chuyán sang folder finished sau khi truyßn dữ liáu kÁt thúc 40
Trang 9Hình 4.2: BÁng đißu khián khi dữ liáu truyán phát trực tiÁp bị gián đo¿n 41
Hình 4.3: Cơ sở dữ liáu thực tÁ đưÿc ghi vào InfluxDB 41
Hình 4.4: Đã thị theo dõi lực cng dây cáp 2215 42
Hình 4.5: BÁng đißu khián theo dõi các thông tin thời tiÁt 43
Hình 4.6: BÁng đißu khián theo dõi các thông tin dao động cÿa 4 cáp theo các phương cùng các giá trị min, max, mean tương āng 43
Hình 4.7: BÁng đißu khián theo dõi độ nghiêng đỉnh tháp và chân tháp 44
Hình 4.8: BÁng đißu khián theo dõi các thông tin dao động dcác giá trị min, max, mean tương āng 44
Hình 4.9: Dashboard cÿa há tháng giám sát cHình 4.10: Đã thị hián thị tác độ gió bình thường 46
Hình 4.11: Đã thị hián thị tác độ gió vưÿt ngưỡng cÁnh báo đưÿc cài đặt 47
Hình 4.12: CÁnh báo gāi vß email khi giá trị vưÿt ngưỡng cÁnh báo đã cài đặt 47
HÌnh 4.13: Báo cáo kÁt quÁ thực tÁ theo TuHÌnh 4.14: Báo cáo kÁt quÁ thực tÁ theo Tháng 48
Hình 4.15: Báo cáo kÁt quÁ tháng 3 nm 2022 49
Trang 10DANH SÁCH BÀNG
BÁng 3.1: Danh sách các cÁm biÁn 23
BÁng 3.2: Chi tiÁt vß các trường dữ liáu cÿa các file csv thu đưÿc tÿ cRIO 9031 26
BÁng 3.3: Chi tiÁt vß các trường dữ liáu cÿa các file csv thu đưÿc tÿ cRIO 9065 27
BÁng 3.4: Đặc trưng cáp 34
BÁng 4.1: Giá trị cÁnh báo 46
Trang 11DANH MĀC CÁC THUÀT NGĂ, CHĂ VI¾T T¾T
Locator
Đường dẫn hay địa chỉ dùng đá tham chiÁu tới các tài nguyên trên
m¿ng internet 3 FFT Fast Fourier Transform BiÁn đåi nhanh Fourier 4 HDFS Hadoop Distributed File
System
Há tháng tập tin phân tán cÿa
Hadoop 5 DAU Data Acquisition Unit Há tháng thu thập dữ liáu
Monitoring
Há tháng quan trắc c7 TSDB Time Series Database Cơ sở dữ liáu chuỗi thời gian
Language Ngôn ngữ truy vấn có cấu trúc
Trang 12Mä ĐÄU 1 Lý do ch漃⌀n đß tài
Với sự phát trián vưÿt bậc cÿa khoa học kỹ thuật, sá lưÿng cgiới đưÿc xây dựng ngày càng nhißu Do vai trò đặc biát quan trọng cÿa chúng, cộng với giá thành xây dựng rất đắt đß, các cxuyên và kịp thời Quá trình này thường gặp nhißu khó khn do nhißu lý do như vị trí xây dựng khắc nghiát, sá chi tiÁt nhißu, cấu t¿o phāc t¿p, chi phí lớn… [1] Chính vì vậy, nhằm đáp āng nhu clớn, há tháng quan trắc cáp dāng t¿i Viát Nam, đặc biát sau khi Bộ GTVT ban hành Thông tư 52/2013/TT-BGTVT quy định vß quÁn lý, khai thác và bÁo trì công trình đường bộ, trong đó yêu ccác công trình ctháng quan trắc [2]
Há tháng quan trắc ccông nghá tiên tiÁn nhằm quan trắc, giám sát tr¿ng thái công trình liên tāc trong thời gian thực [3] Hián nay, t¿i Viát Nam đã và đang xây dựng rất nhißu ctrắc giám sát sāa khße cThơ, cmßm do các công ty nước ngoài cung cấp, vì thÁ khi các sự cá xÁy ra đái với há tháng này rất khó có thá tự can thiáp và khắc phāc [4] Bên c¿nh đó, viác quÁn lý, phân tích, xā lý và lưu trữ dữ liáu, thông sá thu thập đưÿc tÿ há tháng quan trắc trong quá trình khai thác ở nhißu công trình còn lúng túng, chưa hiáu quÁ và sá lưÿng chuyên gia còn h¿n chÁ [5]
Trang 13Vấn đß đặt ra là làm sao trián khai đưÿc một há tháng không những có thá quÁn lý khái lưÿng lớn dữ liáu thu đưÿc mỗi ngày một cách hiáu quÁ, dß mở rộng, khÁ nng chịu lỗi cao mà còn có thá phân tích và đưa ra cÁnh báo bất thường ghi nhận đưÿc vß tình tr¿ng kỹ thuật cccāu <Hß thßng cÁnh báo bÃt th°ãng cho cÅu dây vng”
2 Táng quan vÃn đß nghiên cāu
Trên thÁ giới đã có nhißu công trình nghiên cāu āng dāng công nghá Big Data vào viác quÁn lý và phân tích dữ liáu cho há tháng SHM Seongwoon Jeong et al [6, 7] đã đß xuất mô hình quÁn lý và phân tích dữ liáu lớn cho viác giám sát cliáu tÿ há tháng quan trắc Mô hình này bao gãm các máy Áo đám mây, há tháng cơ sở dữ liáu phân tán như Cassandra, NoSQL cùng với Spark cluster và máy chÿ KÁt quÁ cho thấy khung đß xuất không chỉ quÁn lý dữ liáu lớn và phāc t¿p đưÿc thu thập tÿ viác giám sát c
S Gunner et al [8] trián khai há tháng quÁn lý dữ liáu mã nguãn mở tích hÿp với há tháng quan trắc công trình cVương Quác Anh Há tháng cho phép thu thập, lưu trữ, truy xuất, xā lý và trực quan hóa
lớn phdữ liáu chuỗi thời gian InfluxDB cung cấp khÁ nng lưu trữ lâu dài cho dữ liáu và giao dián trực quan hóa dữ liáu dựa trên Grafana
Andrew Scullion [9] đã khai thác công nghá dữ liáu lớn mã nguãn mở đá xā lý dữ liáu cÿa há tháng SHM và giÁi thích cách một sá công nghá mã nguãn mở mới nhất như Python, Redis, Apache, PostgreSQL, WebGL, JQuery, Hadoop ecosystem… đã cho phép chuyán đåi dữ liáu thành thông tin và có thá đưa ra quyÁt định hiáu quÁ trong viác quÁn lý c
Trang 14Có nhißu nghiên cāu áp dāng các công nghá khác nhau đá thu thập, quÁn lý lưu trữ và phân tích dữ liáu thu đưÿc cho há tháng SHM Tuy nhiên, ph¿m vi đß tài luận vn chỉ tập trung áp dāng các công nghá Big Data trên há tháng cÁnh báo bất thường cho cdây vng tÿ dữ liáu thu đưÿc cÿa há tháng SHM Viác āng dāng công nghá Big Data mã nguãn mở không những tái ưu vß mặt chi phí mà còn có khÁ nng mở rộng, khÁ nng chịu lỗi và độ tin cậy cao
3 Māc tiêu nghiên cāu Māc tiêu táng quát
thu đưÿc tÿ các cÁm biÁn cÿa há quan trắc cấu trúc công trình c
Big Data Māc tiêu cā thá
liáu quan trắc đã qua xā lý và các dữ liáu lịch sā bằng các d¿ng đã thị khác nhau theo yêu cthiÁt lập các māc cÁnh báo và giám sát c
- Xác định tình tr¿ng bất thường bằng cách sā dāng các ngưỡng cÁnh báo cho phép đái với tác độ gió, lực cng cáp, độ nghiêng, độ dao động dđó so sánh đái chiÁu với giá trị đã đưÿc xā lý tÿ dữ liáu thô đá hián thị thông tin cÁnh báo
- Gāi các thông tin cÁnh báo bất thường ghi nhận đưÿc vß tình tr¿ng kỹ thuật cthông qua một sá trình thông báo khác nhau bao gãm PagerDuty, SMS, email hoặc Slack như: 1) CÁnh báo vß tác độ gió báo động, 2) Lực cng cáp báo động, lực cng cáp nguy hiám, 3) Độ nghiêng đỉnh tháp, độ nghiêng chân tháp, 4) Dao động d
Trang 15- Đánh giá vß tình tr¿ng tång quát clực cng cáp, độ nghiêng, độ dao động dbáo: a) Māc 1: Bình thường, b) Māc 2: CÁnh báo, c) Māc 3: Nguy hiám
4 Đßi t°ÿng và ph¿m vi nghiên cāu Đßi t°ÿng nghiên cāu
- BiÁn đåi dữ liáu thô thu đưÿc tÿ các cÁm biÁn cÿa há quan trắc cấu trúc công trình c
- Kỹ thuật phân tích dữ liáu thô như phương pháp tiÁp cận mißn tFourier), lý thuyÁt vß tính lực cng, góc nghiêng, dao động
tích tính toán tÿ mô hình phân tích 3D cÿa công trình và dựa trên cơ sở thực nghiám
- Các công nghá Big Data đá quÁn lý, phân tích dữ liáu như: Kafka, Apache Spark Structured Streaming, InfluxDB, Grafana
Ph¿m vi nghiên cāu
- Sā dāng dữ liáu tÿ các cÁm biÁn thu đưÿc thông qua há tháng quan trắc cÿa cdây vng Phú Mỹ như: CÁm biÁn đo nghiêng, gia tác kÁ, cÁm biÁn thời tiÁt, phong kÁ
- Tập trung cÁnh báo: 1) Tác độ gió báo động, 2) Lực cng cáp báo động, lực cng cáp nguy hiám, 3) Độ nghiêng đỉnh tháp, độ nghiêng chân tháp, 4) Dao động ddao động cáp, 5) Các thông tin vß thời tiÁt bất lÿi cho ccÿa c
- Đánh giá tình hình tång quát chiám
Trang 16Chương 2: PHÂN TÍCH THIÀT KÀ Chương 3: TRIàN KHAI ĀNG DĀNG Chương 4: ĐÁNH GIÁ KÀT QUÀ THĀ NGHIàM
Trang 17CH¯¡NG 1: NGHIÊN CĀU TàNG QUAN 1.1 Táng quan vß Big Data
Dữ liáu lớn (Big Data) là thuật ngữ dùng đá mô tÁ các bộ dữ liáu có kích thước rất lớn, tác độ phát trián nhanh và khó thu thập, lưu trữ, quÁn lý và phân tích với các công cā hay āng dāng truyßn tháng Khi công nghá tiÁn bộ theo thời gian, kích thước cÿa các dữ liáu cũng s¿ tng lên và Big Data đưÿc hiáu luôn có kích thước lớn hơn rất nhißu Theo một phân tích gcdatasphere) s¿ tng lên tới 175 Zettabytes so với māc 33 Zettabytes đưÿc t¿o ra trong nm 2018 [10] Xgt trên quan điám toàn dián hơn, Big Data là <một hián tưÿng vn hóa, công nghá và học thuật dựa trên sự tương tác cÿa: (1) Công nghá tái đa hóa sāc m¿nh tính toán và độ chính xác thuật toán đá thu thập, phân tích, liên kÁt, và so sánh các tập dữ liáu lớn (2) Phân tích t¿o ra trên dữ liáu lớn đá xác định mô hình giÁi thích các hián tưÿng kinh tÁ, xã hội, kỹ thuật và pháp lý= [11]
Có rất nhißu khía c¿nh đá tìm hiáu và āng dāng lên quan tới Big Data như: Āng dāng Big Data giúp doanh nghiáp tìm hiáu đưÿc giá trị thông tin thực sự nằm sau dữ liáu sẵn có, đặc biát trong một xã hội toàn cliáu lớn thu đưÿc qua các cÁm biÁn theo dõi máy móc, cơ sở h¿ tthông gió, ctích, đá sāa chữa hoặc thay thÁ trước khi chúng bị hßng… Tuy nhiên, ph¿m vi đß tài luận vn chỉ tập trung áp dāng các công nghá Big Data trên há tháng cÁnh báo bất thường cho
Trang 181.2 Các công nghß Big Data
Công nghá Dữ liáu lớn có thá đưÿc định nghĩa là một Tián ích-PhthiÁt kÁ đá phân tích, xā lý và trích xuất thông tin tÿ một bộ dữ liáu cực kỳ phāc t¿p và lớn mà phData hàng đ
- Lưu trữ dữ liáu: Hadoop, MongoDB, InfluxDB, Rainstor… - Khai thác dữ liáu: Presto, Elasticsearch, Apache Spark… - Phân tích dữ liáu: Apache Kafka, Splunk, KNIME, Apache Spark… - Trực quan hóa dữ liáu: Tableau, Plotly, Grafana …
1.3 C¢ så phân tích dă lißu quan tr¿c cÅu
Viác thu nhận dữ liáu đưÿc thực hián một cách liên tāc theo thời gian thực, khi có những sự kián đặc biát, một sá cÁm biÁn riêng biát s¿ đo những sá liáu liên quan cÿa các sự kián này Tất cÁ các dữ liáu này đßu đưÿc lưu trữ và phân tích dựa theo tính chất cÿa chúng, khác với giá trị tháng kê thô trước đó Chẳng h¿n như đái với thông sá dao động thì c
Đá các cơ sở dữ liáu phÁn ánh một cách chính xác tr¿ng thái kÁt cấu và sāc khße
bộ Phnhau cÿa công trình liên quan đÁn ttÿ các cÁm biÁn và các thiÁt bị quan trắc
- Māc 1 – Ho¿t động bình thường: đãng bộ thu thập tất cÁ các dữ liáu cā mỗi 1 phút cho các cÁm biÁn, gia tác và thiÁt bị đo nghiêng, đo độ dao động
- Māc 2 – CÁnh báo: Thông báo cho người chịu trách nhiám quÁn lý các kịch bÁn có thá xÁy ra
Trang 19- Māc 3 – Nguy hiám: Thông báo cho người chịu trách nhiám vß nguy cơ hư h¿i cÿa (công trình ví dā như yêu c
Đá phāc vā tát cho công tác duy tu bÁo dưỡng, há tháng không chỉ cho phgp thiÁt lập các māc cÁnh báo và giám sát cmāc cÁnh báo một cách tự động thông qua các giá trị nhận đưÿc bởi tính toán phân tích dữ liáu
1.4 Yêu cÅu báo cáo sß lißu cho hß thßng
Viác báo cáo tháng kê phÁi mang tính chất định kỳ bao gãm: - Báo cáo hàng ngày,
- Báo cáo hàng tháng, - Báo cáo nm
Trong đó các kÁt quÁ phÁi phân tích đánh giá đÁn thông sá yêu cgiá theo thời gian quan trắc
Trang 20CH¯¡NG 2: PHÂN TÍCH THI¾T K¾
Trong chương này trình bày một sá công nghá Big Data, so sánh đánh giá ưu nhưÿc điám cÿa các công nghá này đá lựa chọn mô hình phù hÿp nhất cho yêu cdựng há tháng cÁnh báo bất thường cho c
2.1 Mô tÁ vÃn đß
Có nhißu nghiên cāu áp dāng các công nghá khác nhau đá thu thập, quÁn lý lưu trữ và phân tích dữ liáu thu đưÿc cho há tháng SHM Seongwoon Jeong et al [6, 7] đã sā dāng các máy Áo đám mây, há tháng cơ sở dữ liáu phân tán như Cassandra, NoSQL cùng với Spark cluster và máy chÿ đá xây dựng há tháng giám sát các cây chành lang I-275 nằm ở bang Michigan S Gunner et al [8] thì sā dāng Kafka, InfluxDB và Grafana cho há tháng quan trắc cScullion [9] đã phân tích một sá công nghá mã nguãn mở mới nhất như Python, Redis, Apache, PostgreSQL, WebGL, JQuery, Hadoop ecosystem… đá xā lý dữ liáu cÿa há tháng SHM
Thông qua viác đánh giá nguãn dữ liáu thu đưÿc tÿ há quan trắc là kiáu dữ liáu chuỗi thời gian và khái lưÿng dữ liáu thu đưÿc là rất lớn do nó đưÿc t¿o ra mỗi phút liên tāc trong thời gian thực Do đó viác áp dāng các công nghá Big Data mã nguãn mở trên há tháng cÁnh báo bất thường cho ckhông những tái ưu vß mặt chi phí mà còn có khÁ nng mở rộng, khÁ nng chịu lỗi và độ tin cậy cao
2.2 Ki¿n trúc Big Data
KiÁn trúc Big Data bao gãm một khái lôgic, do đó đá khám phá những lÿi ích cÿa kiÁn trúc đòi hßi phÁi hiáu rõ vß các lớp khác nhau và chāc nng cÿa chúng Hình 2.1
Trang 21dưới đây mô tÁ một trong những phương pháp hay dùng cÿa kiÁn trúc Big Data đó là kiÁn trúc phân lớp
Hình 2.1: Ki¿n trúc Big Data táng quan
KiÁn trúc phân lớp đưÿc chia thành các lớp khác nhau trong đó mỗi lớp thực hián một chāc nng cā thá KiÁn trúc này bao gãm các lớp kiÁn trúc chính như sau: Lớp nguãn dữ liáu, lớp thu thập và truyßn dữ liáu, lớp xā lý dữ liáu, lớp lưu trữ dữ liáu, lớp truy vấn dữ liáu, lớp trực quan hóa dữ liáu KiÁn trúc phân lớp giúp xác định các thành phthiÁt đá xác định giÁi pháp dữ liáu lớn cho bài luận vn này
Trang 222.2.1 Lớp thu thập dữ liệu
Lớp này là bước đcÿa nó Dữ liáu ở đây đưÿc đánh giá, phân lo¿i và đưÿc vận chuyán đÁn các lớp còn l¿i
biÁn tryßn tới liên tāc mỗi phút trong thời gian thực, vậy làm thÁ nào trián khai các kÁt nái truyßn dữ liáu tÿ nơi nó đưÿc t¿o ra đÁn nhißu nơi khác nhau đá xā lý và đÁm bÁo rằng dữ liáu vào s¿ không bị mất trước khi nó đưÿc chuyán tới các lớp khác Đá làm đưÿc đißu đó thì <messaging= là một công nghá quan trọng đá kÁt nái dữ liáu trong môi trường này
Messaging là một thuật ngữ bao gãm một sá mô hình khác nhau dựa trên các dữ liáu đưÿc chuyán tÿ người gāi sang người nhận Hai mô hình chính trong công nghá này là <message queue= và <publish-subcribe messaging= Khác mới message queue – mỗi tin nhắn s¿ đưÿc gāi cho một topic hay channel và xā lý bởi chính xác một consumer thì publish-subcribe messaging cho phép nhißu consumer nhận tÿng message trong một topic Hơn nữa publish-subcribe messaging đÁm bÁo rằng mỗi consumer nhận đưÿc message trong một topic theo thā tự chính xác mà há tháng message nhận đưÿc
Hình 2.2: CÃu trúc c¢ bÁn cÿa Kafka
Trang 23Trong tất cÁ các công nghá sā dāng publish-subcribe messaging thì Kafka [13] là một mô hình có tác độ nhanh, khÁ nng mở rộng, độ tin cậy và đÁm bÁo tính chịu lỗi cao Ngoài ra Kafka có thá truyßn một lưÿng lớn dữ liáu trong thời gian thực, vì có độ tin cậy vào tính chịu lỗi cao nên trong trường hÿp bên nhận chưa nhận, dữ liáu vẫn đưÿc lưu trữ sao lưu trên một hàng đÿi và cÁ trên å đĩa đá đÁm bÁo an toàn
• Replicas: là một bÁn backup ÿa partition, chỉ đưÿc dùng đá lưu trữ, tránh mất dữ liáu và nó không đưÿc dùng đá đọc ghi
Trang 24• Broker: là một Kafka server NÁu ch¿y đãng thời nhißu Kafka server thì s¿ gọi đó là Cluster Mỗi Broker (Kafka server) s¿ là một node trong cluster đó Như vậy khi nói đÁn Broker, node thì s¿ hiáu đó là Kafka server Chịu trách nhiám đißu tiÁt thông điáp input output Partition s¿ nằm bên trong Broker Một Broker có thá có không, hoặc một hoặc nhißu partition đặt bên trong đó
• Producer: Kafka lưu, phân lo¿i message theo topic, sā dāng producer đá publish message vào các topic Dữ liáu đưÿc gāi đán partition cÿa topic lưu trữ trên Broker
• Consumer:Kafka sā dāng consumer đá subscribe vào topic, các consumer đưÿc định danh bằng các group name Nhißu consumer có thá cùng đọc một topic
• Leader: Mỗi partition s¿ có một Broker chịu trách nhiám chính trong viác đọc và ghi dữ liáu vào partition đó Broker đó đưÿc gọi là Leader
• Follower: Đây là một con replicas cÿa partition Khi có một Broker làm Leader thì các Broker còn l¿i trong Cluster s¿ làm replicas cÿa partition, nó s¿ làm Follower cho partition đó Nó s¿ theo dõi Leader, nÁu Leader bị chÁt thì Zookeeper s¿ chịu trách nhiám bgiáng như một con Consumer, nhiám vā cÿa nó là lấy dữ liáu tÿ Leader vß lưu cho riêng nó
• Zookeeper: Đưÿc sā dāng đá quÁn lý đißu phái các Kafka Broker Zookeeper đưÿc sā dāng chÿ yÁu cho viác thông báo cho producer và consumer biÁt thông tin cÿa một borker mới thêm vào hoặc thông tin cÿa một Kafka broker lỗi trong há tháng Kafka Sau mỗi thông báo cÿa Zookeeper vß viác borker thêm vào hay broker bị lỗi thì producer và consumer s¿ quyÁt định và bắt đViác truyßn tÁi dữ liáu giữa các há tháng khác với Kafka broker đưÿc thực hián thông qua giao thāc TCP Viác phát trián, phân tích dữ liáu có thá thực hián trên nhißu nßn tÁng ngôn ngữ lập trình khác nhau
Trang 252.2.2 Lớp xử lý dữ liệu
Các công nghá hỗ trÿ xā lý dữ liáu thời gian thực đưÿc đánh giá cao và sā dāng trong các mô hình ở trên là Apache Spark [14] cā thá là Apache Spark Streaming và Apache Spark Structured Streaming Spark Structured Streaming nhận dữ liáu tÿ các nguãn streaming data, cā thá ở trong các mô hình trên là Kafka Vß mặt khái niám, Structured Streaming coi dữ liáu stream là một bÁng (table) không giới h¿n và dữ liáu liên tāc đưÿc thêm vào tÿng dòng cÿa bÁng này Do đó mô hình xā lý Stream cÿa Spark cũng tương tự với mô hình xā lý batch (coi dữ liáu trong mỗi batch là khoÁng 1 giây, 5 giây ) và ta có thá sā dāng các truy vấn stream trong Spark tương tự như các truy vấn trong xā lý batch Structured Streaming là phiên bÁn mới, xā lý stream dựa trên Dataset/DataFrame và có nhißu tính nng cÁi thián hơn so với các công cā truyßn phát khác như Hình 2.4
Hình 2.4: So sánh Spark Structured Streaming vái các công cā truyßn phát khác
(Nguồn tham khảo [14])
Trang 26Mô hình lập trình Spark Structured Streaming coi dòng dữ liáu đTable= Mỗi māc dữ liáu tới trên luãng đưÿc thêm vào trong dòng cÿa <Input Table= này như Hình 2.5
Hình 2.5: Lußng dă lißu d°ái d¿ng bÁng không giái h¿n
Mỗi truy vấn ở đsā, cā sau một giây), các hàng mới s¿ đưÿc thêm vào <Input Table=, cuái cùng s¿ cập nhật <Result Table= Bất cā khi nào <Result Table= đưÿc cập nhật, các hàng kÁt quÁ đã thay đåi s¿ đưÿc viÁt vào một há tháng bên ngoài, chẳng h¿n như S3, HDFS hoặc cơ sở dữ liáu như InfluxDB Với māc đích này, Structured Streaming cung cấp ba chÁ độ đra Mô hình lập trình cho Structured Streaming đưÿc mô phßng trong Hình 2.6
• Complete Mode: Toàn bộ bÁng kÁt quÁ đưÿc cập nhật s¿ đưÿc ghi vào bộ nhớ ngoài
• Append Mode: Chỉ các hàng mới đưÿc thêm vào <Result Table= vì lcuái cùng s¿ đưÿc ghi vào bộ nhớ ngoài Đißu này chỉ áp dāng cho các truy vấn mà các hàng hián có trong BÁng KÁt quÁ s¿ không thay đåi
• Update Mode: Chỉ những hàng đã đưÿc cập nhật trong BÁng kÁt quÁ ká tÿ lkích ho¿t cuái cùng s¿ đưÿc ghi vào bộ nhớ ngoài ChÁ độ này khác với <Complete Mode= ở chỗ chÁ độ này chỉ xuất ra các hàng đã thay đåi ká tÿ lcùng
Trang 27Hình 2.6: Mô hình lãp trình cho Structured Streaming
Mô hình này rất khác với các công cā xā lý phát trực tuyÁn khác Nhißu há tháng phát trực tuyÁn yêu ctrách nhiám cập nhật <Result Table= khi có dữ liáu mới, do đó giúp người dùng không phÁi suy đoán vß nó
2.2.3 Lớp lưu trữ dữ liệu
Trong đß tài luận vn sā dāng dữ liáu thu đưÿc tÿ các cÁm biÁn và là kiáu dữ liáu chuỗi thời gian, trước khi đi vào chi tiÁt vß lớp lưu trữ ta s¿ tìm hiáu vß kiáu dữ liáu Time-series Data
a Time-series Data
Time-series Data, còn đưÿc gọi là dữ liáu đưÿc đóng dấu thời gian, là một chuỗi các điám dữ liáu đưÿc lập chỉ māc theo thā tự thời gian Các điám dữ liáu này thường bao gãm các phgp đo liên tiÁp đưÿc thực hián tÿ cùng một nguãn trong một khoÁng thời gian và đưÿc sā dāng đá theo dõi sự thay đåi theo thời gian Hình 2.7 Minh họa một tập dữ liáu theo chuỗi thời gian tÿ các cÁm biÁn thu đưÿc trên cđưÿc cập nhật sau mỗi 02 millisecond và liên tāc theo thời gian
Trang 28Hình 2.7: Minh h漃⌀a Time-series Data
b Āng dāng cÿa Time-series Data
Dữ liáu chuỗi thời gian đưÿc sā dāng trong nhißu ngữ cÁnh khác nhau, trong đó phå biÁn nhất là:
• Phân tích chuỗi thời gian: Phân tích chuỗi thời gian đưÿc sā dāng đá tìm hiáu cách
một biÁn sá nhất định thay đåi theo thời gian Ví dā: Phân tích vß độ nghiêng cÿa đỉnh tháp ctích chuỗi thời gian
• Phân tích hồi quy: Phân tích hãi quy có thá đưÿc sā dāng đá kiám tra xem những
thay đåi liên quan đÁn một biÁn cā thá có thá gây ra sự thay đåi như thÁ nào đái với các biÁn khác trong cùng một khoÁng thời gian Ví dā: Phân tích vß các giá trị thu đưÿc tÿ các cÁm biÁn trên cthời gian Ánh hưởng như thÁ nào tới thông sá cÿa các vị trí khác như độ nghiêng cÿa
Trang 29cPhân tích hãi quy
• Dự báo chuỗi thời gian: Dự báo chuỗi thời gian sā dāng thông tin liên quan đÁn các
giá trị lịch sā và các mẫu liên quan đá dự đoán ho¿t động trong tương lai Ví dā: Dự báo thời tiÁt, Dự báo đāt cáp, v.v
Tÿ các phân tích vß kiáu dữ liáu chuỗi thời gian ở trên, đá lưu trữ một lưÿng lớn dữ liáu thời gian thực, crộng Một vài cơ sở dữ liáu chuỗi thời gian (Time Series Database - TSDB) và thā tự xÁp h¿ng cÿa chúng đưÿc hián thị trong Hình 2.8 cÿa DB-Engines DB-Engines là một trang web tích hÿp, xÁp h¿ng cơ sở dữ liáu dựa trên māc độ phå biÁn cÿa công cā tìm kiÁm, tham khÁo trên m¿ng xã hội, các bài đng công viác và tTính tới tháng 9 nm 2020, InfluxDB [15] là một cơ sở dữ liáu chuỗi thời gian đưÿc xÁp h¿ng sá 1 trong danh sách này Hình 2.8 cũng thá hián sự thay đåi theo thời gian cÿa các cơ sở dữ liáu nhưng có thá thấy rằng, vào tháng 9 nm 2020, InfluxDB cũng là TSDB hàng đ
Hình 2.8: BÁng x¿p h¿ng 10 c¢ så dă lißu chuỗi thãi gian hàng đÅu th¿ giái theo
DB-Engines
(Nguồn tham khảo [17])
Trang 302.2.4 Lớp trực quan hóa dữ liệu
Kibana và Grafana đßu là nßn tÁng phân tích và trực quan hóa mã nguãn mở, sā dāng trong viác phân tích các dữ liáu thu thập đưÿc và hián thị một cách trực quan dữ liáu thu thập đưÿc ở nhißu d¿ng khác nhau Tuy nhiên vß cát lõi chúng đßu đưÿc sā dāng cho các lo¿i dữ liáu và các āng dāng khác nhau: Gafana [18] cùng với cơ sở dữ liáu chuỗi thời gian thực như Graphite hoặc InfluxDB là sự kÁt hÿp đưÿc sā dāng đá phân
phá dữ liáu nhật ký
Ngoài các chāc nng biáu dißn dữ liáu với các bÁng đißu khián m¿nh m¿ thì Grafana cũng hỗ trÿ cài đặt và gāi cÁnh báo qua một sá trình thông báo khác nhau bao gãm PagerDuty, SMS, email hoặc Slack Trong khi đó Kibana không có khÁ nng cÁnh báo vưÿt trội, đá thêm cÁnh báo cho Kibana người dùng có thá trián khai thêm các gói tián ích bå sung khác như ElastAlert hoặc sā dāng X-Pack
2.3 Đánh giá và lư뀣a ch漃⌀n mô hình phát trián hß thßng
Dựa vào kÁt quÁ đánh giá các công nghá sā dāng trong kiÁn trúc Big Data ở trên cùng với viác đánh giá các mô hình tương tự đang đưÿc nghiên cāu và áp dāng trong thực tÁ đưÿc công bá gnày đưÿc mô tÁ như trong Hình 2.9: Mô hình xā lý tång quan
Hình 2.9: Mô hình xā lý táng quan
Các cÁm biÁn đưÿc đặt t¿i ctuyÁn và đưÿc lưu trữ trong thư māc nguãn Thư māc lưu trữ dữ liáu đưÿc giám sát bởi
Trang 31thư vián Kafka Connect SpoolDir dựa trên Kafka Connect đá đọc và ghi dữ liáu tÿ
các file csv vào Kafka và tÿ Kafka ra há tháng bên ngoài Kafka Connect SpoolDir
theo dõi thư māc nguãn đưÿc cấu hình thông qua <input.path= và đọc dữ liáu tÿ các tập
tin mới đưÿc đưa vào thư māc Khi một táp tin đã đọc xong nó s¿ đưÿc chuyán sang thư māc đưÿc cấu hình thông qua <finished.path= Dữ liáu tÿ Kafka đưÿc đẩy ra và đưÿc xā lý bởi Spark Structured Streaming sau đó s¿ lưu trữ trong InfluxDB đá sā dāng các công cā phân tích và báo cáo khác nhau
Dữ liáu vß tất cÁ các sự kián đßu đưÿc lưu trữ trong InfluxDB trong thời gian thực, có nghĩa là khi dữ liáu cÿa một topic trong Kafka đưÿc thêm mới, ngay lập tāc nó s¿ đưÿc lưu vào há tháng và truyßn đÁn Spark Structured Streaming xā lý đá lưu trữ vào InfluxDB Sá liáu tóm tắt, tång hÿp và báo cáo hay các cÁnh báo cũng đưÿc thá hián dựa vào các thay đåi cÿa các cÁm biÁn dißn ra trong thời gian thực và đưÿc trực quan hóa thông qua Grafana
Tÿ mô hình xā lý tång quan Hình 2.9 kÁt hÿp với dữ liáu thực tÁ cÿa ccũng như lý thuyÁt tång quan vß các lớp dữ liáu trong māc 2.1, 2.2, 2.3 ta có mô hình chi tiÁt cÿa há tháng như sau:
Hình 2.10: Mô hình chi ti¿t cÿa hß thßng
Trang 32CH¯¡NG 3: TRIàN KHAI ĀNG DĀNG 3.1 Giái thißu táng quan vß cÅu dây vng Phú Mÿ
- Thông tin chung:
• Đái tưÿng vưÿt: sông Sài Gòn, nái quận 7 và quận 2, thành phá Hã Chí Minh
• Lý trình: nằm trên đường vành đai ngoài thành phá Hã Chí Minh • Thời điám xây dựng: tháng 9/2005 đÁn tháng 9/2009 [19]
Hình 3.1: Đß hình vá trí cÅu Phú Mÿ
(Nguãn công ty cổ phần đầu tư xây dựng Phú Mỹ)
• KÁt cấu chính:
• C• Móng trā tháp đưÿc đặt trên há cọc khoan nhãi đường kính 2,05m sâu 75m
Trang 33• Trā tháp c• Há d
nhau bằng bÁn mặt c• Hình học chính cÿa c
Hình 3.2: Kích th°ác hình h漃⌀c chính cÅu dây vng Phú Mÿ
(Nguãn công ty cổ phần đầu tư xây dựng Phú Mỹ)
Hình 3.3: Kích th°ác mặt c¿t ngang dÅm cÅu Phú Mÿ
(Nguãn công ty cổ phần đầu tư xây dựng Phú Mỹ)
3.2 Thư뀣c tr¿ng khai thác và bÁo trì cÅu dây vng Phú Mÿ
C