Cloud 遙測資料模擬

軟體定義車輛 (SDV) 雲端遙測模擬平台提供可擴充的隨選基礎架構,可在 Google Cloud 執行車輛遙測模擬。

系統可讓您從虛擬 Android Automotive 環境 (Cuttlefish) 模擬遙測活動,不需實體硬體。它會接收要求、建立臨時 Compute Engine 虛擬機器 (VM)、在 Docker 容器中執行模擬、收集結果並上傳至 Cloud Storage,以及刪除資源,藉此自動化調度管理模擬生命週期。

這種做法提供符合成本效益且高度可擴充的平台,可用於測試遙測管道,因為只有在執行模擬時才會耗用資源。

用途和功能

系統會自動調度模擬生命週期,並省去底層基礎架構的管理作業。

  • 隨選擴充性:系統只會在模擬期間建立資源 (Compute Engine VM),並依用量計費。
  • 並行管理:系統會對平行模擬作業強制執行可設定的限制 (例如預設為 5)。系統會將超出的要求排入佇列,並在有可用運算單元時自動排程。
  • 事件導向架構:系統使用 Cloud Functions 和 Pub/Sub 進行去耦合且彈性的工作流程自動化調度管理,包括要求處理、排程、完成和清除。
  • 整合式狀態管理:系統使用 Firestore 資料庫追蹤每項模擬作業的即時狀態和設定 (例如 Simulation request received、running、completed、failed 或 cancelled)。
  • 構件管理:系統會自動處理所需輸入檔案的下載作業,並將所有模擬輸出內容 (例如報表、記錄、錯誤報告和 Logcat 檔案) 上傳至 Cloud Storage。
  • 資源清理:自動化 Cloud Scheduler 工作會清理孤立的 VM 或資料庫項目,防止資源外洩。

建築

系統採用無伺服器、事件導向架構,並搭配多項 Google Cloud 服務。您可以使用網頁 UI 或 REST API 與系統互動。

  • 使用者互動:您可以使用提供的網頁試用版、自訂應用程式,或直接與 API 端點互動。
  • 調度管理層:
    • read-simulation:這項函式可讓您查詢模擬、執行中的 VM 數量,以及同時執行 VM 的設定數量上限。
    • receive-request:系統會根據嚴格的映像檔指紋許可清單驗證要求,並將要求發布至 Pub/Sub。
    • schedule-simulation:Eventarc 會根據 Pub/Sub 訊息或 Firestore 變更觸發這個函式。檢查並行限制並佈建 VM。
    • finish-simulation:代理會在執行作業結束時叫用這個函式,更新狀態並觸發清理作業。
    • delete-simulation:這個函式會處理手動取消和資源清理作業。
  • 狀態管理 (Firestore):Firestore 資料庫會追蹤每個模擬作業的狀態 (例如 Simulation request received、running、completed、failed 或 cancelled) 和設定。這個資料庫會儲存所有模擬執行資料。
  • 資料儲存庫 (Cloud Storage):系統會將所有模擬相關檔案儲存在 Cloud Storage bucket 中。包括輸入設定檔、輸出報告、Cuttlefish 裝置的記錄、錯誤報告和 Logcat 檔案。
  • 執行層 (Compute Engine):
    • schedule-simulation 函式會為每個模擬作業建立 Compute Engine VM。VM 會執行 simulation-agent Docker 容器。
    • simulation-agent 會從 Cloud Storage 提取輸入檔案、啟動 SDV 執行個體,並管理與 Cuttlefish 虛擬裝置的互動,以執行遙測模擬器並擷取結果資料。
  • 維護 (Cloud Scheduler):定期執行排定的工作,清理孤立資源 (例如失敗的 VM 或過時的資料庫項目),防止資源外洩。

後續步驟

如要開始使用 Cloud Telemetry Simulation,請參閱下列指南:

  • 部署指南:瞭解如何設定基礎架構及建構模擬代理。
  • 使用手冊:瞭解如何使用網頁版試用或 REST API 執行模擬。