Manifest полноты выгрузки отдельно от hash файлов
Все пришедшие файлы проходят SHA256, но один ожидаемый файл вообще не поступил. Такая ситуация показывает разницу между целостностью имеющегося содержимого и комплектностью выгрузки. Для хозяйства нужно знать ожидаемый состав пакета, иначе успешно проверенные части могут создать ложную отметку завершённого архива за нужный период наблюдений.
Определить состав до передачи
RFC8493 BagIt различает структуру пакета и проверку перечисленного содержимого. (RFC8493 — BagIt File Packaging Format1.0) Это информационный формат, не обязательный стандарт телеметрии. Для своего решения можно создать собственный manifest, но не следует называть его соответствующим BagIt без выполнения всех требований выбранного формата и версии.
В собственном контракте укажите идентичность пакета, список ожидаемых частей и смысл границ данных. Для измерений важны также известные источники и интервалы. Одного числа файлов недостаточно, если два разных файла случайно имеют похожие имена, а нужный период одного узла остался за пределами списка.
Проверить наличие и соответствие
Сначала сопоставьте фактический набор с ожидаемым. Отдельно отмечайте отсутствующие, лишние и повторно полученные части. Затем проверяйте размеры и выбранные контрольные значения. SHA256 относится к конкретной последовательности байтов. (NIST — FIPS180-4 Secure Hash Standard) Совпадение его значения не создаёт отсутствующий файл и не объясняет неожиданную дополнительную часть.
Увеличить схему
Не генерируйте новый ожидаемый список только по уже пришедшему каталогу, называя это независимой проверкой полноты. Источник manifest должен быть определён процессом подготовки. Для доверия к составу нужен согласованный маршрут и сохранение исходной версии, а не автоматическое согласие с любым обнаруженным набором файлов.
Сопоставить прикладные записи
Если формат позволяет, проверьте идентификаторы и количество измерений по контракту. Файл может быть целым, но содержать другой интервал либо неверную схему. Байтовая проверка и прикладная комплектность остаются разными этапами, каждый с понятной областью подтверждения и собственным исходным результатом в журнале приёмки.
На стенде подготовьте полный пакет, вариант с отсутствующей частью и вариант с изменённым содержимым. Ожидаемые ошибки должны различаться. Добавьте повторную передачу известного пакета: она не должна автоматически создавать новую физическую историю только потому, что транспортное задание получило другое имя каталога.
Завершить приёмку явно
Общий статус появляется после выполнения предусмотренных критериев. Если пакет неполон, сохраните принятые части и следующий шаг по договорённому контракту. Не очищайте единственную локальную копию всего интервала по одному частичному подтверждению, если ответственность за оставшиеся измерения ещё не принята получателем.
Для хозяйства результатом становится объяснимый состав выгрузки и проверяемая судьба каждой части. Manifest помогает обнаружить отсутствие, hash — изменение байтов, а прикладной контроль — неверный смысл содержимого. Их совместное использование подтверждает нужный уровень приёма без подмены одной проверки другой.