軟體定義車輛 (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-agentDocker 容器。simulation-agent會從 Cloud Storage 提取輸入檔案、啟動 SDV 執行個體,並管理與 Cuttlefish 虛擬裝置的互動,以執行遙測模擬器並擷取結果資料。
- 維護 (Cloud Scheduler):定期執行排定的工作,清理孤立資源 (例如失敗的 VM 或過時的資料庫項目),防止資源外洩。
後續步驟
如要開始使用 Cloud Telemetry Simulation,請參閱下列指南: