Chương 1: NGHIÊN CĀU TäNG QUAN Chươ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 6 CH¯¡NG 1: NGHIÊN CĀU TàNG QUAN 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 g n đây cÿa IDC cho thấy viác t¿o và tiêu thā dữ liáu toàn c u ngày càng tng, dự báo rằng vào nm 2025, tång dung lưÿng dữ liáu toàn c u (global datasphere) 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. 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 c u hóa và thÁ giới sá như hián nay. Tÿ các dữ liáu lớn thu đưÿc qua các cÁm biÁn theo dõi máy móc, cơ sở h¿ t ng như các thiÁt bị thông gió, c u hoặc động cơ máy bay. Dữ liáu này có thá đưÿc sā dāng cho các phân tí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 c u dây vng tÿ dữ liáu thu đưÿc cÿa há tháng SHM.
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-Ph n mßm đưÿc thiÁ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à ph n mßm xā lý dữ liáu truyßn tháng khó có thá xā lý đưÿc. Các công nghá Big Data hàng đ u đưÿc chia thành 4 lĩnh vực đưÿc phân lo¿i như sau: - 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. 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 n đi đÁn thông tin vß t n sá dao động đá phân tích so sánh. Đá 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 cÿa công trình c u thì viác thu thập các dữ liáu c n phÁi đưÿc thực hián một cách đãng bộ. Ph n mßm quÁn lý dữ liáu s¿ đưÿc thiÁt kÁ cho các tr¿ng thái, māc độ làm viác khác nhau cÿa công trình liên quan đÁn t n suất thu thập đãng bộ tất cÁ các đ¿i lưÿng vật lý tÿ 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. 8 - 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 u cấm c u) [12]. Đá 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 c n thiÁt cho công trình mà còn thực hián đánh giá các mā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. 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 c u, so sánh đánh giá theo thời gian quan trắc.
9 CH¯¡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 c u xây dựng há tháng cÁnh báo bất thường cho c u dây vng.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 c u dọc theo hành lang I-275 nằm ở bang Michigan. Gunner et al.
[8] thì sā dāng Kafka, InfluxDB và Grafana cho há tháng quan trắc c u treo Clifton, Vương Quác Anh. Andrew Scullion [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 c u dây vng tÿ dữ liáu thu đưÿc cÿa há tháng SHM 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.
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.1 10 dướ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.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 ph n c n thiÁt đá xác định giÁi pháp dữ liáu lớn cho bài luận vn này. Lớp thu thập dữ liệu Lớp này là bước đ u tiên đá dữ liáu tÿ các nguãn khác nhau bắt đ u hành trình 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 cÿa đường áng dữ liáu. Với yêu c u nguãn dữ liáu đ u vào là nguãn dữ liáu tÿ các cÁm 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.2: CÃu trúc c¢ bÁn cÿa Kafka 12 Trong 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.
Các thành ph n chính cÿa Kafka đưÿc minh họa trong Hình 2.3: Các thành phÅn chính cÿa Kafka • Topic: Dữ liáu truyßn trong Kafka đưÿc phân chia theo topic, khi c n truyßn dữ liáu cho các āng dāng khác nhau thì s¿ t¿o ra các topic khác nhau. • Partition: Đây là nơi dữ liáu cho một topic đưÿc lưu trữ. Một topic có thá có một hay nhißu partition. Trên mỗi partition thì dữ liáu lưu trữ cá định và đưÿc gán cho một ID gọi là offset.
Trong một Kafka cluster thì một partition có thá replicate (sao chgp) ra nhißu bÁn. Trong đó có một bÁn leader chịu trách nhiám đọc ghi dữ liáu và các bÁn còn l¿i gọi là follower. Khi bÁn leader bị lỗi thì s¿ có một bÁn follower lên làm leader thay thÁ. NÁu muán dùng nhißu consumer đọc song song dữ liáu cÿa một topic thì topic đó c n phÁi có nhißu partition.
• 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. 13 • 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.