Cloud 遙測資料模擬

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

您可以在虛擬 Android Automotive 環境 (Cuttlefish) 中模擬遙測活動,不必使用實體硬體。這項服務會接收要求、建立臨時 Compute Engine 虛擬機器 (VM)、在 Docker 容器中執行模擬、收集結果並上傳至 Cloud Storage,以及刪除資源,藉此協調模擬生命週期。

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

用途和功能

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

  • 隨需擴充性:系統只會在模擬期間建立資源 (Compute Engine VM),因此費用會根據用量計算。
  • 並行管理:系統會對並行模擬強制執行可設定的限制 (例如預設為 5)。系統會將超出上限的要求排入佇列,並在有空位時自動排定要求。
  • 事件導向架構:系統使用 Cloud FunctionsPub/Sub 進行工作流程自動化調度管理,包括處理要求、排程、完成和清除作業,可確保工作流程彼此獨立且具備恢復彈性。
  • 整合式狀態管理:系統會使用 Firestore 資料庫追蹤每項模擬的即時狀態和設定 (例如 PENDINGRUNNINGCOMPLETEDFAILED)。
  • 構件管理:系統會自動處理必要輸入檔案的下載作業,並將所有模擬輸出內容 (例如報表、記錄、錯誤報告和 Logcat 檔案) 上傳至 Cloud Storage
  • 資源清理:自動 Cloud Scheduler 工作會清理孤立的 VM 或資料庫項目,防止資源洩漏。

建築

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

  • 使用者互動:您可以使用提供的網頁版試用版、自訂應用程式,或直接與 API 端點互動。
  • 調度管理層:
    • read-simulation:這個函式可讓您查詢模擬作業、執行中的 VM 數量,以及設定的並行執行 VM 數量上限。
    • receive-request:系統會根據嚴格的圖片指紋允許清單驗證要求,並將要求發布至 Pub/Sub
    • schedule-simulationEventarc 會根據 Pub/Sub 訊息或 Firestore 變更觸發這個函式。系統會檢查並行限制,並佈建 VM。
    • finish-simulation:代理程式會在執行作業結束時呼叫這個函式,更新狀態並觸發清理作業。
    • delete-simulation:這項函式會處理手動取消作業和資源清除作業。
  • 狀態管理 (Firestore):Firestore 資料庫會追蹤每項模擬的狀態 (例如 PENDINGRUNNINGCOMPLETEDFAILED) 和設定。這個資料庫會儲存所有模擬執行資料。
  • 資料儲存空間 (Cloud Storage):系統會將所有模擬相關檔案儲存在 Cloud Storage 值區中。包括輸入設定檔、輸出報告、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 執行模擬。