GLIDEFINDER
Cốt truyện
Cháy rừng là một trong những thảm họa thiên nhiên mà chúng ta không thể kiểm soát. Tuy nhiên, bằng cách áp dụng các công nghệ hiện đại, chúng ta có cơ hội dự đoán chúng và giảm thiểu hậu quả cho cả cá nhân và doanh nghiệp. Chúng tôi muốn chia sẻ kinh nghiệm làm việc trên GlideFinder, một nền tảng sử dụng hình ảnh từ các vệ tinh của NASA để phân tích thông tin về cháy rừng trong thời gian thực và cảnh báo cho những người ở gần.
Sau khi chúng tôi nhận được email từ Dmitry Kryuk , Người sáng lập và CTO của GlideFinder, người đang tìm kiếm các nhà phát triển Google Cloud có kinh nghiệm. Anh ấy muốn chúng tôi cải thiện sản phẩm bằng cách thực hiện một số thay đổi đối với kiến trúc của sản phẩm. Đặc biệt, anh ấy cần tích hợp các công cụ phân tích dữ liệu trực tuyến và kết nối các vệ tinh bổ sung của NASA để có thông tin cháy rừng chính xác và chính xác hơn.
Làm thế nào nó hoạt động?
GlideFinder là một nền tảng định vị các vụ cháy rừng, cảnh báo cho người đăng ký và cung cấp phân tích kịp thời. Ban đầu, GlideFinder được phát triển cho khu vực California, nơi hỏa hoạn đặc biệt nguy hiểm và hàng năm phá hủy hàng trăm ngôi nhà, dẫn đến thiệt hại hàng tỷ đô la, doanh nghiệp phá sản và nhiều người thiệt mạng. Giờ đây, công ty muốn giúp mọi người trên toàn thế giới giảm thiểu hậu quả của cháy rừng.
- Vệ tinh Suomi NPP (Đối tác quỹ đạo cực quốc gia) của NASA
- Vệ tinh VIIRS (Bộ máy đo bức xạ hình ảnh hồng ngoại có thể nhìn thấy)
Để đưa ra dự đoán về sự lan rộng của cháy rừng, sản phẩm sẽ phân tích dữ liệu từ:
- Dữ liệu hỏa hoạn MODIS/VIIRS lịch sử của NASA được thu thập trong 17 năm trước
- Cơ sở dữ liệu của Cơ quan Quản lý Cứu hỏa Hoa Kỳ
- Dữ liệu của Cục điều tra dân số Hoa Kỳ
Khi GlideFinder phát hiện cháy rừng, nó sẽ cảnh báo người dùng về mối nguy hiểm qua SMS. Người dùng cũng có thể theo dõi chuyển động, hướng, tốc độ và kích thước của ngọn lửa trên bản đồ thời gian thực được tích hợp trên trang web GlideFinder.
Người dùng GlideFinder cũng có thể thấy đám cháy rừng cách nhà họ, trường học của con cái họ, nhà của cha mẹ và văn phòng bao xa. Hầu hết các phân tích dữ liệu diễn ra trên Google Cloud Platform, giúp giảm độ trễ và cung cấp tất cả các công cụ phân tích dữ liệu cần thiết.
Yêu cầu khách hàng
Dmitry cần một nhóm để nâng cấp sản phẩm. Đối với nhiệm vụ này, anh ta có các yêu cầu sau:
- Tích hợp phân tích dữ liệu truyền phát . Vì kiến trúc của dự án chính hoạt động dựa trên quá trình xử lý dữ liệu hàng loạt nên chúng tôi cần nâng cấp nó để sản phẩm có thể thực hiện phân tích dữ liệu theo thời gian thực tốt hơn.
- Tích hợp các Vệ tinh môi trường hoạt động địa tĩnh bổ sung (GOES-16 và GOES-17) sẽ chạy các lần quét mới cứ sau 5-15 phút để nền tảng có thể nhận được thông tin chi tiết hơn về một vụ cháy rừng.
Ngoài ra, nền tảng này có thể hợp nhất dữ liệu vệ tinh thành một định dạng cụ thể. Vì vậy, chúng tôi cần định cấu hình chuẩn bị dữ liệu với các phép biến đổi không gian địa lý.
Giải pháp của chúng tôi và những trở ngại
Để tích hợp phân tích dữ liệu phát trực tuyến, chúng tôi đã phát triển một quy trình ETL (trích xuất, chuyển đổi, tải) dựa trên các thành phần của Google Cloud như Dataflow, PubSub, Cloud Function, BigQuery, v.v. Chúng tôi cũng hiện thực hóa các chế độ xem với logic nghiệp vụ bắt buộc và sử dụng một Công việc Dataflow để xử lý dữ liệu đó và ghi vào các tệp JSON trong Cloud Storage và Cloud Firestore.
Trong quá trình tích hợp Luồng dữ liệu, chúng tôi cần sử dụng Python SDK vì toàn bộ kiến trúc được phát triển bằng ngôn ngữ lập trình này. Vì kiến trúc Python ít được ghi lại hơn (không giống như Java mà chúng tôi áp dụng thường xuyên hơn), nên chúng tôi đã dành một lượng thời gian đáng kể cho quá trình điều tra.
Để thêm các vệ tinh môi trường hoạt động địa tĩnh nguồn mở, chúng tôi phải tìm hiểu sâu hơn về cách làm việc với dữ liệu địa lý, vì vậy chúng tôi đã tiến hành nghiên cứu thêm. Chúng tôi lấy các hình ảnh nhận được từ vệ tinh và chia chúng thành các vùng địa lý bằng cách sử dụng các phép biến đổi không gian địa lý.
Ở giai đoạn này, chúng tôi cũng đã áp dụng cho Thư viện trừu tượng dữ liệu không gian địa lý, một thư viện phần mềm máy tính để đọc và ghi các định dạng dữ liệu không gian địa lý raster và vector. Chúng tôi mất khoảng bốn tháng để hoàn thành tất cả các nhiệm vụ này.
Chúng tôi đã làm như thế nào?
Đối với dự án này, chúng tôi đã tạo các Bộ chứa mới (các bộ chứa cần thiết chứa dữ liệu của dự án) trên Google Cloud Storage. Sau đó, để nâng cấp cơ sở hạ tầng của sản phẩm, chúng tôi dần dần di chuyển các thành phần dữ liệu hàng loạt sang cơ sở hạ tầng phát trực tuyến.
Việc tích hợp GOES-16 và GOES-17 đã đưa chúng tôi thực hiện các hành động sau:
- Liên lạc với các kỹ sư của Cơ quan Quản lý Khí quyển và Đại dương Quốc gia và yêu cầu họ phản chiếu dữ liệu vệ tinh GOES vào các thùng GCS
- Đã kết nối hệ thống Glidefinder ETL với thông báo GOES GCS
- Dữ liệu lịch sử GOES đã xử lý
- Dữ liệu lịch sử GOES được lưu trữ vào bộ dữ liệu BigQuery
- Đã thêm Dataflow Xử lý luồng dữ liệu GOES
- Đã thêm các phép biến đổi không gian địa lý để căn chỉnh dữ liệu GOES với dữ liệu vệ tinh (như VIIRS) đã được thu thập
Hệ thống lưu trữ
Thành phần đội
1 Quản lý dự án
2 Nhà khoa học dữ liệu
Kết quả
Chúng tôi đã trao quyền cho GlideFinder với cơ sở hạ tầng mới phù hợp nhất để phân tích dữ liệu trực tuyến. Chúng tôi cũng tích hợp các vệ tinh địa tĩnh GOES-16 và GOES-17 để thực hiện các lần quét mới sau mỗi 5-15 phút, vì vậy, người dùng của nền tảng có thể nhận được nhiều dữ liệu liên quan hơn về các vụ cháy rừng gần đó. Bạn có thể thử nền tảng trên liên kết .
Chúng tôi tự hào đã tham gia vào quá trình phát triển của GlideFinder vì chúng tôi đã có cơ hội duy nhất, không chỉ để nâng cao kiến thức chuyên môn về Google Cloud Platform của mình mà còn giúp cứu sống những người khác.