СЕТЕВЫЕ ДАННЫЕ
NETDATA — это формат файла, используемый в основном для передачи и хранения данных в IBM мэйнфреймах , хотя доступны реализации и для других систем.
Описание
[ редактировать ]Файлы NETDATA представляют собой 80-байтовые файлы изображений карт , содержащие выгруженные данные файла и метаданные , позволяющие восстановить исходный файл в принимающей системе. Полный файл NETDATA состоит из ряда управляющих записей , за которыми следуют записи данных и завершаются концевой записью . Все записи имеют одинаковый формат:
- Поле длины в один байт, содержащее длину логического сегмента файла. Сегмент имеет максимальную длину 255 байт. С учетом длины и флагов сегмент может содержать до 253 байтов данных. [ 1 ]
- Однобайтовое поле флагов, описывающее этот сегмент:
- X'80' - это первый отрезок пластинки
- X'40' - это последний отрезок записи. Если для записи требуется только один сегмент, флаги будут содержать X'C0'.
- X’20’ — этот сегмент является частью контрольной записи
- X'10' - этот сегмент содержит номер следующей записи.
- X'0F' - зарезервировано
Контрольные записи
[ редактировать ]Управляющие записи имеют шестизначный идентификатор EBCDIC в байтах 2–7, следующих за длиной и флагами. Они содержат ряд самоопределяющихся полей , называемых текстовыми единицами . Каждый текстовый блок состоит из двухбайтового ключа текстового блока, идентифицирующего этот текстовый блок, двухбайтового двоичного числа пар данных длины с порядком байтов , которые следуют за этим ключом (обычно одна), двухбайтового поля длины, идентифицирующего длину текстового блока. данные текстового блока и текстовый блок указанной длины. Ожидается, что реализации будут игнорировать любую информацию о текстовых блоках, не относящуюся к принимающей системе.
Контрольная запись заголовка
Запись заголовка должна быть первой записью файла NETDATA. Он имеет идентификатор «INMR01». Он содержит информацию, идентифицирующую отправителя: узел (хост), временную метку и идентификатор пользователя, длину сегментов управляющей записи, а также целевой (получающий) узел и идентификатор пользователя. Он может дополнительно содержать запрос на подтверждение получения, номер версии формата данных, количество файлов в передаче и «строку пользовательских параметров». CMS допускает только один файл за передачу, но TSO/E и другие системы могут разрешать более одного файла.
Запись управления файловой утилитой
Эта запись описывает, как следует восстановить данные файла. Его идентификатор — «INMR02». Байты 8–11 содержат двоичный номер файла с обратным порядком байтов, к которому применяется эта запись. Если в передаче несколько файлов, они нумеруются, начиная с единицы. Остальная часть этой записи описывает формат файла и один или несколько шагов («служебные программы»), которые необходимо выполнить для восстановления этого файла. Текстовые единицы идентифицируют организацию файла (INMDSORG: последовательный, секционированный и т. д.), фиксированную максимальную длину записи (INMLRECL), формат записи (INMRECFM: фиксированный, переменный и т. д.), приблизительный размер файла (IBMSIZE), и имя(а) служебной программы (INMUTILN). Он также может содержать размер блока файла, дату создания, количество блоков каталога, имя, дату истечения срока действия, номер режима файла, дату последнего изменения, последнюю дату ссылки, список имен элементов (для секционированных наборов данных), файл примечаний и имя пользователя. строка параметра.
Запись контроля данных
Запись управления данными непосредственно предшествует данным и описывает их формат, аналогичный записи управления утилитами. Его идентификатор — «INMR03». Эта запись игнорируется CMS, но используется TSO/E. Он содержит организацию файла (INMDSORG), длину его записи (INMLRECL), формат записи (INMRECFM) и размер файла (IBMSIZE).
Запись управления пользователем
Запись пользовательского контроля может появиться в любой точке потока данных. Его идентификатор — «INMR04». Если он присутствует, он игнорируется CMS, но может использоваться другими системами. Он содержит только строку пользовательских параметров (INMUSERP).
Запись контроля прицепа
Эта запись отмечает конец файла. Его идентификатор — «INMR06». Никакие другие данные для этой записи не определены.
Контрольная запись подтверждения
Эта запись имеет идентификатор «INMR07». Он используется принимающей системой для подтверждения получения передачи. Он содержит одно из текстовых блоков «Имя файла» (INMDSNM) или «Файл примечания» (INMTERM) плюс, необязательно, временную метку источника (INMFTIME).
Файл заметок (иногда называемый « заметкой PROFS ») «представляет собой короткое сообщение, обычно отправляемое в письме». [ 2 ]
Записи данных
[ редактировать ]Записи данных (идентифицируемые по значению флага) следуют за записью управления данными, если она присутствует, и предшествуют записи управления трейлером. Записи могут быть любого размера, вплоть до INMLRECL. Они отправляются в виде нескольких сегментов длиной до 253 байт, разбиваются на записи по 80 байт для передачи и повторно собираются получателем. Настройки байта флагов в каждой записи отмечают начало, конец или полную запись файла. Байты записи могут содержать любую битовую комбинацию. Никакие символьные значения не зарезервированы.
Ссылки
[ редактировать ]- ^ Корпорация IBM. «x/VM: Справочник по макросам и функциям CMS» . Центр знаний IBM . Проверено 5 сентября 2019 г.
- ^ Корпорация IBM. «z/VM:Справочник по командам и утилитам CMS» . ИБМ . Проверено 6 сентября 2019 г.