Alberga los resultados y los errores individuales surgidos al eliminar datos masivos de diagnóstico por categorías.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: e28735957e77ProcedenciaPreguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
Alberga los resultados y los errores individuales surgidos al eliminar datos masivos de diagnóstico por categorías.
La estructura ara::diag::SovdBulkData::DeleteByCategoryResult proporciona el resultado agregado al eliminar todos los datos masivos de una categoría en el módulo de diagnóstico SOVD ([SWS_DM_01926]). Divide los resultados en entradas eliminadas con éxito (deleted_items) e instancias erróneas junto con la causa del error (failed_items) ([SWS_DM_01842], [SWS_DM_01843]). Los llamadores deben evaluar ambas listas para gestionar éxitos parciales de forma determinista.
Contexto
La estructura ara::diag::SovdBulkData::DeleteByCategoryResult actúa como tipo de resultado estandarizado para el método «Delete All Bulk Data Defined by Category» en el ámbito de la gestión de datos masivos de Service-Oriented Vehicle Diagnostics (SOVD) ([SWS_DM_01926], AUTOSAR_AP_SWS_Diagnostics §8.53.3 «Struct: DeleteByCategoryResult»). En el módulo de diagnóstico de AUTOSAR Adaptive (diag), los datos masivos como archivos de registro, registros de trazas o series de medición pueden asignarse a categorías semánticas. Si un cliente de diagnóstico solicita la eliminación de todas las instancias de una categoría a través de la interfaz ara::diag::SovdBulkData, esta estructura de datos resume el estado global de la operación (AUTOSAR_AP_SWS_Diagnostics §8.53.3 «Definition of API class ara::diag::SovdBulkData::DeleteByCategoryResult»).
Como interlocutores intervienen típicamente un cliente SOVD externo o una aplicación de diagnóstico, la interfaz de diagnóstico funcional ara::diag::SovdBulkData y el subsistema de persistencia interno para datos masivos. El objeto de resultado salva la frontera entre la unidad de ejecución síncrona o asíncrona y el cliente evaluador al agregar el estado de todos los objetos de datos afectados.
Ciclo de vida
Conforme a la definición de clase en la cabecera #include "ara/diag/sovd_bulk_data.h", se trata de una estructura de datos pasiva (struct) sin lógica de estados compleja propia ([SWS_DM_01842], [SWS_DM_01843]). Su creación se lleva a cabo en el lado del servidor mediante el entorno de ejecución de diagnóstico inmediatamente después de concluir la eliminación de datos masivos referida a la categoría. Durante este proceso, las variables miembro deleted_items y failed_items se rellenan con los descriptores y objetos de error correspondientes.
Dado que se trata de una estructura pura de transferencia de datos, es de esperar que la transferencia a la entidad llamadora en el contexto de la Adaptive Platform se realice por valor (value) o con semántica de movimiento (move), por ejemplo, empaquetada en un contenedor de resultados asíncrono. Pregunta Q-bafa9fbd3ae683c1 (abierta) En este proceso, la propiedad se transfiere por completo al llamador. La destrucción del objeto y la liberación de la memoria de las instancias ara::core::Vector contenidas tienen lugar de forma determinista al salir del ámbito (scope) del llamador. A nivel de instancia no existe concurrencia compartida; solicitudes de eliminación paralelas para diferentes categorías generan instancias independientes entre sí.
Ruta de uso
El flujo de uso típico comprende la iniciación de la eliminación, la ejecución por parte del servicio de diagnóstico y la evaluación por separado del objeto resultante por parte del llamador:
Un cliente de diagnóstico solicita la eliminación de todos los datos masivos asociados mediante el método para eliminar por categoría.
El servidor itera sobre las instancias de la categoría indicada y ejecuta los procesos de eliminación.
Las entradas eliminadas con éxito se registran en la lista deleted_items ([SWS_DM_01842]).
Las instancias que han fallado se recopilan con su respectivo motivo de error en failed_items ([SWS_DM_01843]).
El DeleteByCategoryResult agregado se devuelve al llamador ([SWS_DM_01926]), el cual acusa recibo de las eliminaciones satisfactorias y evalúa posibles errores.
Una característica central de la eliminación de datos masivos es la posibilidad de un éxito parcial. Dado que una categoría puede agrupar una gran cantidad de registros independientes, la operación global no falla necesariamente ante errores individuales. Para el llamador, la división en dos vectores independientes probablemente significa que se lleva a cabo un procesamiento parcial sin reversión (rollback) atómica. Pregunta Q-35307a7eccf0afa9 (abierta)
Las eliminaciones fallidas de registros individuales se transmiten mediante el elemento failed_items, tipificado como ara::core::Vector<DeletionError> ([SWS_DM_01843], AUTOSAR_AP_SWS_Diagnostics §8.53.3.1.2 «failed_items»). Como precondición para una notificación de éxito completa, los llamadores deben comprobar si failed_items.empty() se cumple. Si la lista contiene elementos, se puede analizar el error de eliminación específico para cada instancia de datos masivos afectada (por ejemplo, bloqueo debido a un acceso de lectura activo o permisos insuficientes). Al mismo tiempo, deleted_items documenta de forma fiable todos los registros que pudieron eliminarse a pesar de los errores individuales presentes ([SWS_DM_01842]).
Esta guía se basa en la especificación AUTOSAR Adaptive Platform R25-11 y fue creada de forma automatizada.
Diagrama de clases UML
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · Original en alemán