Die Plattform Software-Defined Vehicle (SDV) Telemetry Cloud Simulation bietet eine skalierbare On-Demand-Infrastruktur für die Ausführung von Fahrzeugtelemetriesimulationen in Google Cloud.
Mit dem System können Sie Telemetriekampagnen in einer virtuellen Android Automotive-Umgebung (Cuttlefish) ohne physische Hardware simulieren. Es orchestriert den Simulationslebenszyklus, indem es Anfragen empfängt, temporäre virtuelle Compute Engine-Maschinen (VMs) erstellt, Simulationen in Docker-Containern ausführt, Ergebnisse erfasst und in Cloud Storage hochlädt und Ressourcen löscht.
Dieser Ansatz bietet eine kostengünstige und hochgradig skalierbare Plattform zum Testen von Telemetrie-Pipelines, da Ressourcen nur während der Ausführung der Simulation genutzt werden.
Zweck und Funktionen
Das System orchestriert den Simulationslebenszyklus und abstrahiert die zugrunde liegende Infrastrukturverwaltung.
- On-Demand-Skalierbarkeit:Das System erstellt Ressourcen (Compute Engine-VMs) nur für die Dauer einer Simulation, um nutzungsbasierte Kosten zu ermöglichen.
- Verwaltung der Parallelität:Das System erzwingt ein konfigurierbares Limit für parallele Simulationen (z. B. standardmäßig 5). Überschüssige Anfragen werden in die Warteschlange gestellt und automatisch geplant, wenn Slots verfügbar werden.
- Ereignisgesteuerte Architektur:Das System verwendet Cloud Functions und Pub/Sub für die entkoppelte und robuste Workflow-Orchestrierung, einschließlich der Verarbeitung von Anfragen, der Planung, der Finalisierung und der Bereinigung.
- Integrierte Statusverwaltung:Das System verwendet eine Firestore-Datenbank, um den Livestatus und die Konfiguration jeder Simulation zu verfolgen (z. B.
PENDING,RUNNING,COMPLETEDoderFAILED). - Artefaktverwaltung:Das System lädt automatisch die erforderlichen Eingabedateien herunter und lädt alle Simulationsausgaben (z. B. Berichte, Logs, Fehlerberichte und Logcat-Dateien) in Cloud Storage hoch.
- Ressourcenbereinigung:Ein automatisierter Cloud Scheduler-Job verhindert Ressourcenlecks, indem er verwaiste VMs oder Datenbankeinträge bereinigt.
Architektur
Das System verwendet eine serverlose, ereignisgesteuerte Architektur mit mehreren Google Cloud-Diensten. Sie können über eine Web-UI oder eine REST API mit dem System interagieren.
- Nutzerinteraktion:Sie können die bereitgestellte Webdemo oder eine benutzerdefinierte Anwendung verwenden oder direkt mit den API-Endpunkten interagieren.
- Orchestrierungsebene:
read-simulation: Mit dieser Funktion können Sie Simulationen, die Anzahl der ausgeführten VMs und die maximal konfigurierte Anzahl der gleichzeitig ausgeführten VMs abfragen.receive-request: Das System validiert Anfragen anhand einer strengen Zulassungsliste von Bild-Fingerprints und veröffentlicht sie in Pub/Sub.schedule-simulation: Eventarc löst diese Funktion basierend auf Pub/Sub-Nachrichten oder Firestore-Änderungen aus. Sie prüft das Limit für die Parallelität und stellt VMs bereit.finish-simulation: Der Agent ruft diese Funktion am Ende eines Laufs auf, um den Status zu aktualisieren und die Bereinigung auszulösen.delete-simulation: Diese Funktion übernimmt die manuelle Kündigung und das Bereinigen von Ressourcen.
- Statusverwaltung (Firestore): Eine Firestore-Datenbank verfolgt den Status (z. B.
PENDING,RUNNING,COMPLETEDoderFAILED) und die Konfiguration jeder Simulation. In dieser Datenbank werden alle Daten zur Ausführung von Simulationen gespeichert. - Datenspeicher (Cloud Storage): Das System speichert alle simulationsbezogenen Dateien in einem Cloud Storage-Bucket. Dazu gehören Eingabekonfigurationsdateien, Ausgabedateien, Protokolle vom Cuttlefish-Gerät, Fehlerberichte und Logcat-Dateien.
- Ausführungsebene (Compute Engine):
- Mit der Funktion
schedule-simulationwird für jede Simulation eine Compute Engine-VM erstellt. Auf der VM wird der Docker-Containersimulation-agentausgeführt. - Das
simulation-agentruft Eingabedateien aus Cloud Storage ab, startet die SDV-Instanz und verwaltet die Interaktionen mit dem virtuellen Cuttlefish-Gerät, um den Telemetriesimulator auszuführen und die resultierenden Daten abzurufen.
- Mit der Funktion
- Wartung (Cloud Scheduler): Ein geplanter Job wird regelmäßig ausgeführt, um verwaiste Ressourcen (z. B. fehlgeschlagene VMs oder veraltete Datenbankeinträge) zu bereinigen und so Ressourcenlecks zu verhindern.
Nächste Schritte
Die folgenden Anleitungen erleichtern Ihnen den Einstieg in die Cloud Telemetry Simulation:
- Bereitstellungsleitfaden: Hier erfahren Sie, wie Sie die Infrastruktur einrichten und den Simulations-Agent erstellen.
- Nutzerhandbuch: Hier erfahren Sie, wie Sie Simulationen mit der Webdemo oder der REST API ausführen.