Принимает результаты и возникшие отдельные ошибки при удалении массивных диагностических данных по категориям.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: e28735957e77ПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Принимает результаты и возникшие отдельные ошибки при удалении массивных диагностических данных по категориям.
Структура ara::diag::SovdBulkData::DeleteByCategoryResult возвращает агрегированный результат при удалении всех массивных данных категории в диагностическом модуле SOVD ([SWS_DM_01926]). Она разделяет результаты на успешно удаленные записи (deleted_items) и ошибочные экземпляры с указанием причины ошибки (failed_items) ([SWS_DM_01842], [SWS_DM_01843]). Вызывающие стороны должны анализировать оба списка для детерминированной обработки частичных успехов.
Контекст
Структура ara::diag::SovdBulkData::DeleteByCategoryResult выступает стандартизированным типом результата для метода «Delete All Bulk Data Defined by Category» в области управления массивными данными Service-Oriented Vehicle Diagnostics (SOVD) ([SWS_DM_01926], AUTOSAR_AP_SWS_Diagnostics §8.53.3 «Struct: DeleteByCategoryResult»). В диагностическом модуле AUTOSAR Adaptive (diag) массивные данные, такие как файлы журналов, записи трассировки или серии измерений, могут быть сопоставлены с семантическими категориями. Если диагностический клиент запрашивает через интерфейс ara::diag::SovdBulkData удаление всех экземпляров некоторой категории, эта структура данных обобщает общий статус операции (AUTOSAR_AP_SWS_Diagnostics §8.53.3 «Definition of API class ara::diag::SovdBulkData::DeleteByCategoryResult»).
В качестве участников взаимодействия обычно выступают внешний клиент SOVD или диагностическое приложение, функциональный интерфейс диагностики ara::diag::SovdBulkData и внутренняя подсистема персистентности для массивных данных. Объект результата связывает синхронный или асинхронный блок выполнения и анализирующий клиент, агрегируя статус всех затронутых объектов данных.
Жизненный цикл
Согласно определению класса в заголовочном файле #include "ara/diag/sovd_bulk_data.h", это пассивная структура данных (struct) без собственной сложной логики состояний ([SWS_DM_01842], [SWS_DM_01843]). Ее создание выполняется на стороне сервера средой выполнения диагностики непосредственно после завершения удаления массивных данных по категории. При этом переменные-члены deleted_items и failed_items заполняются соответствующими дескрипторами и объектами ошибок.
Поскольку это чистая структура передачи данных, передача вызывающей стороне в контексте Adaptive Platform, вероятно, осуществляется по значению (Value) или с использованием move-семантики — например, в составе асинхронного контейнера результатов. Вопрос Q-bafa9fbd3ae683c1 (открытый) При этом права владения полностью переходят к вызывающей стороне. Уничтожение объекта и освобождение памяти содержащихся экземпляров ara::core::Vector происходят детерминированно при выходе вызывающей стороны из области видимости (Scope). На уровне экземпляра разделяемый параллелизм отсутствует; параллельные запросы на удаление для различных категорий создают независимые друг от друга экземпляры.
Путь использования
Типичный процесс использования включает инициирование удаления, выполнение диагностической службой и раздельный анализ полученного объекта вызывающей стороной:
Диагностический клиент запрашивает через метод удаления по категории удаление всех связанных массивных данных.
Сервер выполняет итерацию по экземплярам указанной категории и производит операции удаления.
Успешно удаленные записи протоколируются в списке deleted_items ([SWS_DM_01842]).
Экземпляры, завершившиеся ошибкой, собираются в failed_items с указанием соответствующей причины ошибки ([SWS_DM_01843]).
Агрегированный DeleteByCategoryResult возвращается вызывающей стороне ([SWS_DM_01926]), которая подтверждает успешные удаления и анализирует возможные ошибки.
Ключевой особенностью удаления массивных данных является возможность частичного успеха. Поскольку категория может объединять множество независимых записей данных, общая операция не обязательно завершается сбоем при возникновении отдельных ошибок. Для вызывающей стороны разделение на два отдельных вектора, вероятно, означает, что частичная обработка выполняется без атомарного отката. Вопрос Q-35307a7eccf0afa9 (открытый)
Неудачные удаления отдельных записей данных передаются через элемент failed_items, который типизирован как ara::core::Vector<DeletionError> ([SWS_DM_01843], AUTOSAR_AP_SWS_Diagnostics §8.53.3.1.2 «failed_items»). В качестве предусловия для формирования сообщения о полном успехе вызывающие стороны должны проверить выполнение failed_items.empty(). Если список содержит элементы, для каждого затронутого экземпляра массивных данных можно проанализировать конкретную ошибку удаления (например, блокировку из-за активного доступа на чтение или недостаточные полномочия). В то же время deleted_items достоверно документирует все записи данных, которые удалось удалить, несмотря на наличие отдельных ошибок ([SWS_DM_01842]).
Данное руководство основано на спецификации AUTOSAR Adaptive Platform R25-11 и создано автоматически.
UML-диаграмма классов
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал