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

Nền tảng Mô phỏng đo từ xa trên đám mây của 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 hoạt động mô phỏng đo từ xa của xe trên Google Cloud.

Hệ thống cho phép bạn mô phỏng các chiến dịch đo từ xa trong môi trường Android Automotive ảo (Cuttlefish) mà không cần phần cứng thực. Ứng dụ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) Compute Engine tạm thời, chạy mô phỏng bên trong các vùng chứa Docker, thu thập và tải kết quả lên Cloud Storage, đồng thời xoá các 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 sử dụng trong quá trình thực thi mô phỏng.

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

Hệ thống đ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 chỉ tạo tài nguyên (VM 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ý tính đồng thời: Hệ thống thực thi một giới hạn có thể định cấu hình đối với các hoạt động mô phỏng song song (ví dụ: 5 theo mặc định). Nó xếp hàng các yêu cầu dư thừa và tự động lên lịch cho các yêu cầu đó khi có khoảng trống.
  • Cấu trúc hướng sự kiện: Hệ thống sử dụng Cloud Functions và Pub/Sub để điều phối quy trình làm việc tách biệt và linh hoạt, bao gồm cả việc xử lý yêu cầu, lập 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 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 mọi hoạ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 tự động xử lý việc tải các tệp đầu vào bắt buộc xuống và tải tất cả đầu ra mô phỏng (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: Một 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 nhập cơ sở dữ liệu không còn được dùng.

Kiến trúc

Hệ thống này sử dụng một kiến trúc dựa trên sự kiện, không cần máy chủ 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 trên 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, một ứ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 hoạt động mô phỏng, số lượng máy ảo đang chạy và số lượng máy ảo tối đa được định cấu hình đang chạy đồng thời.
    • receive-request: Hệ thống xác thực các yêu cầu dựa trên danh sách cho phép nghiêm ngặt gồm các 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. Nó kiểm tra giới hạn đồng thời và cung cấp các máy ảo.
    • finish-simulation: Tác nhân gọi hàm này vào 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ỷ theo cách 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 mọi hoạ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 lưu trữ tất cả các tệp liên quan đến mô phỏng trong một bộ chứa Cloud Storage. Trong đó có 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 Compute Engine cho từng mô phỏng. VM chạy vùng chứa Docker simulation-agent.
    • simulation-agent sẽ kéo các tệp đầu vào từ Cloud Storage, khởi động phiên bản 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 công việc theo lịch sẽ chạy định kỳ để dọn dẹp mọi tài nguyên không còn được dùng (ví dụ: các VM bị lỗi hoặc các mục nhập 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 Cloud Telemetry Simulation, hãy xem các hướng dẫn sau: