Mô phỏng dữ liệu đo từ xa trên đám mây

Nền tảng Mô phỏng đám mây về đo từ xa cho xe được xác định bằng phần mềm (SDV) cung cấp cơ sở hạ tầng có thể mở rộng theo yêu cầu để chạy các mô phỏng về đo từ xa cho xe trên Google Cloud.

Hệ thống này cho phép bạn mô phỏng các chiến dịch đo từ xa từ một môi trường Android Automotive ảo (Cuttlefish) mà không cần phần cứng thực tế. Hệ thống này điều phối vòng đời mô phỏng bằng cách nhận yêu cầu, tạo máy ảo (VM) tạm thời trong Compute Engine, chạy mô phỏng bên trong vùng chứa Docker, thu thập và tải kết quả lên Cloud Storage, đồng thời xoá tài nguyên.

Phương pháp này cung cấp một nền tảng tiết kiệm chi phí và có khả năng mở rộng cao để kiểm thử các quy trình đo từ xa, vì tài nguyên chỉ được tiêu thụ trong quá trình thực thi mô phỏng.

Mục đích và khả năng

Hệ thống này điều phối vòng đời mô phỏng và trừu tượng hoá việc quản lý cơ sở hạ tầng cơ bản.

  • Khả năng mở rộng theo yêu cầu: Hệ thống này chỉ tạo tài nguyên (VM trong Compute Engine) trong thời gian mô phỏng để cung cấp chi phí dựa trên mức sử dụng.
  • Quản lý đồng thời: Hệ thống này thực thi một giới hạn có thể định cấu hình đối với các mô phỏng song song (ví dụ: 5 theo mặc định). Hệ thống này xếp hàng các yêu cầu vượt quá và tự động lên lịch cho các yêu cầu đó khi có vị trí trống.
  • Kiến trúc dựa trên sự kiện: Hệ thống này sử dụng Cloud FunctionsPub/Sub để điều phối quy trình công việc tách biệt và linh hoạt, bao gồm xử lý yêu cầu, lên lịch, hoàn tất và dọn dẹp.
  • Quản lý trạng thái tích hợp: Hệ thống này sử dụng cơ sở dữ liệu Firestore để theo dõi trạng thái và cấu hình trực tiếp của từng mô phỏng (ví dụ: PENDING, RUNNING, COMPLETED hoặc FAILED).
  • Quản lý cấu phần phần mềm: Hệ thống này tự động xử lý việc tải các tệp đầu vào cần thiết xuống và tải tất cả kết quả mô phỏng lên (ví dụ: báo cáo, nhật ký, báo cáo lỗi và tệp Logcat) lên Cloud Storage.
  • Dọn dẹp tài nguyên: Tác vụ Cloud Scheduler tự động ngăn chặn tình trạng rò rỉ tài nguyên bằng cách dọn dẹp các VM hoặc mục cơ sở dữ liệu không còn được dùng.

Kiến trúc

Hệ thống này sử dụng kiến trúc không máy chủ, dựa trên sự kiện với một số dịch vụ của Google Cloud. Bạn có thể tương tác với hệ thống bằng giao diện người dùng web hoặc API REST.

  • Lượt tương tác của người dùng: Bạn có thể sử dụng bản minh hoạ web được cung cấp, ứng dụng tuỳ chỉnh hoặc tương tác trực tiếp với các điểm cuối API.
  • Lớp điều phối:
    • read-simulation: Hàm này cho phép bạn truy vấn các mô phỏng, số lượng VM đang chạy và số lượng VM tối đa được định cấu hình để chạy đồng thời.
    • receive-request: Hệ thống này xác thực các yêu cầu dựa trên danh sách cho phép nghiêm ngặt về dấu vân tay hình ảnh và xuất bản các yêu cầu đó lên Pub/Sub.
    • schedule-simulation: Eventarc kích hoạt hàm này dựa trên thông báo Pub/Sub hoặc các thay đổi trong Firestore. Hệ thống này kiểm tra giới hạn đồng thời và cung cấp VM.
    • finish-simulation: Tác nhân này gọi hàm này ở cuối một lần chạy để cập nhật trạng thái và kích hoạt quá trình dọn dẹp.
    • delete-simulation: Hàm này xử lý việc huỷ thủ công và dọn dẹp tài nguyên.
  • Quản lý trạng thái (Firestore): Cơ sở dữ liệu Firestore theo dõi trạng thái (ví dụ: PENDING, RUNNING, COMPLETED hoặc FAILED) và cấu hình của từng mô phỏng. Cơ sở dữ liệu này lưu trữ tất cả dữ liệu thực thi mô phỏng.
  • Lưu trữ dữ liệu (Cloud Storage): Hệ thống này lưu trữ tất cả các tệp liên quan đến mô phỏng trong một nhóm Cloud Storage. Điều này bao gồm các tệp cấu hình đầu vào, báo cáo đầu ra, nhật ký từ thiết bị Cuttlefish , báo cáo lỗi và tệp Logcat.
  • Lớp thực thi (Compute Engine):
    • Hàm schedule-simulation tạo một VM trong Compute Engine cho mỗi mô phỏng. VM chạy vùng chứa Docker simulation-agent.
    • simulation-agent kéo các tệp đầu vào từ Cloud Storage, khởi động thực thể SDV và quản lý các hoạt động tương tác với thiết bị ảo Cuttlefish để thực thi trình mô phỏng đo từ xa và truy xuất dữ liệu kết quả.
  • Bảo trì (Cloud Scheduler): Một tác vụ theo lịch chạy định kỳ để dọn dẹp mọi tài nguyên không còn được dùng (ví dụ: VM bị lỗi hoặc mục cơ sở dữ liệu cũ) nhằm ngăn chặn tình trạng rò rỉ tài nguyên.

Các bước tiếp theo

Để bắt đầu sử dụng tính năng Mô phỏng đo từ xa trên đám mây, hãy xem các hướng dẫn sau: