Nimmt die Ergebnisse und aufgetretenen Einzelfehler beim kategorieweisen Löschen von Diagnostik-Massendaten auf.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: e28735957e77HerkunftOffene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Nimmt die Ergebnisse und aufgetretenen Einzelfehler beim kategorieweisen Löschen von Diagnostik-Massendaten auf.
Die Struktur ara::diag::SovdBulkData::DeleteByCategoryResult liefert das aggregierte Ergebnis beim Löschen aller Massendaten einer Kategorie im SOVD-Diagnosemodul ([SWS_DM_01926]). Sie trennt die Resultate in erfolgreich gelöschte Einträge (deleted_items) und fehlerhafte Instanzen samt Fehlerursache (failed_items) ([SWS_DM_01842], [SWS_DM_01843]). Aufrufer müssen beide Listen auswerten, um Teilerfolge deterministisch zu behandeln.
Kontext
Die Struktur ara::diag::SovdBulkData::DeleteByCategoryResult fungiert als standardisierter Ergebnistyp für die Methode „Delete All Bulk Data Defined by Category“ im Bereich des Service-Oriented Vehicle Diagnostics (SOVD) Massendatenmanagements ([SWS_DM_01926], AUTOSAR_AP_SWS_Diagnostics §8.53.3 „Struct: DeleteByCategoryResult“). Im AUTOSAR-Adaptive-Diagnosemodul (diag) können Massendaten wie Protokolldateien, Trace-Aufzeichnungen oder Messreihen semantischen Kategorien zugeordnet werden. Fordert ein Diagnose-Client über die Schnittstelle ara::diag::SovdBulkData das Löschen aller Instanzen einer Kategorie an, fasst diese Datenstruktur den Gesamtstatus der Operation zusammen (AUTOSAR_AP_SWS_Diagnostics §8.53.3 „Definition of API class ara::diag::SovdBulkData::DeleteByCategoryResult“).
Als Interaktionspartner treten typischerweise ein externer SOVD-Client bzw. eine Diagnose-Applikation, die funktionale Diagnoseschnittstelle ara::diag::SovdBulkData und das interne Persistenz-Subsystem für Massendaten auf. Das Ergebnisobjekt überbrückt die Grenze zwischen der synchronen oder asynchronen Ausführungseinheit und dem auswertenden Client, indem es den Status aller betroffenen Datenobjekte aggregiert.
Lebenszyklus
Gemäß der Klassendefinition im Header #include "ara/diag/sovd_bulk_data.h" handelt es sich um eine passive Datenstruktur (struct) ohne eigene komplexe Zustandslogik ([SWS_DM_01842], [SWS_DM_01843]). Ihre Erzeugung erfolgt serverseitig durch die Diagnose-Laufzeitumgebung unmittelbar nach Abschluss der kategoriebezogenen Massendatenlöschung. Dabei werden die Mitgliedsvariablen deleted_items und failed_items mit den jeweiligen Deskriptoren und Fehlerobjekten befüllt.
Da es sich um eine reine Datentransferstruktur handelt, dürfte die Übergabe an die aufrufende Stelle im Kontext der Adaptive-Plattform per Wert (Value) oder Move-Semantik – beispielsweise verpackt in einem asynchronen Resultat-Container – erfolgen. Frage Q-bafa9fbd3ae683c1 (offen) Die Besitzverhältnisse gehen dabei vollständig an den Aufrufer über. Die Zerstörung des Objekts und die Freigabe des Speichers der enthaltenen ara::core::Vector-Instanzen erfolgen deterministisch beim Verlassen des Aufrufer-Gültigkeitsbereichs (Scope). Auf Instanzebene existiert keine geteilte Nebenläufigkeit; parallele Löschanforderungen für unterschiedliche Kategorien erzeugen voneinander unabhängige Instanzen.
Nutzungspfad
Der typische Nutzungsablauf umfasst die Initiierung der Löschung, die Ausführung durch den Diagnosedienst und die getrennte Auswertung des resultierenden Objekts durch den Aufrufer:
Ein Diagnose-Client fordert über die Methode zum Löschen nach Kategorie die Entfernung aller zugehörigen Massendaten an.
Der Server iteriert über die Instanzen der angegebenen Kategorie und führt die Löschvorgänge durch.
Erfolgreich entfernte Einträge werden in der Liste deleted_items protokolliert ([SWS_DM_01842]).
Fehlgeschlagene Instanzen werden mit ihrem jeweiligen Fehlergrund in failed_items gesammelt ([SWS_DM_01843]).
Das aggregierte DeleteByCategoryResult wird an den Aufrufer zurückgegeben ([SWS_DM_01926]), welcher die erfolgreichen Löschungen quittiert und eventuelle Fehler auswertet.
Ein zentrales Merkmal der Massendatenlöschung ist die Möglichkeit eines partiellen Erfolgs. Da eine Kategorie eine Vielzahl unabhängiger Datensätze bündeln kann, schlägt die Gesamtoperation bei Einzelfehlern nicht notwendigerweise fehl. Für den Aufrufer bedeutet die Aufteilung in zwei separate Vektoren vermutlich, dass eine partielle Abarbeitung ohne atomaren Rollback stattfindet. Frage Q-35307a7eccf0afa9 (offen)
Fehlerhafte Löschungen einzelner Datensätze werden über das Element failed_items transportiert, das als ara::core::Vector<DeletionError> typisiert ist ([SWS_DM_01843], AUTOSAR_AP_SWS_Diagnostics §8.53.3.1.2 „failed_items“). Aufrufer müssen als Vorbedingung für eine vollständige Erfolgsmeldung prüfen, ob failed_items.empty() zutrifft. Enthält die Liste Elemente, kann für jede betroffene Massendaten-Instanz der spezifische Löschfehler (beispielsweise Sperrung durch einen aktiven Lesezugriff oder unzureichende Berechtigungen) analysiert werden. Gleichzeitig dokumentiert deleted_items verlässlich alle Datensätze, die trotz vorliegender Einzelfehler gelöscht werden konnten ([SWS_DM_01842]).
Dieser Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive Platform R25-11 und wurde automatisiert erstellt.
UML-Klassendiagramm
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-medium· 2026-10-13