Поделиться через


BLOB-объекты сетевого монитора

Двоичный большой объект сетевого монитора (BLOB) — это универсальная структура данных, содержащая сведения о конфигурации и расположении карт сетевых интерфейсов (СЕТЕВЫе адаптеры). Используйте большие двоичные объекты для представления сетевых карт и фильтрации записей в списке сетевых адаптеров. BLOB-объекты также могут содержать данные, относящиеся к приложениям, не затрагивая другие данные, которые они хранят. Реализация BLOB непрозрачна ко всем уровням, которые должны обращаться к BLOB-объектам с помощью API БОЛЬШИХ ДВОИЧНЫх объектов.

Структура BLOB

BLOB-объект можно рассматривать как иерархическое дерево, используемое для назначения строк. Это дерево содержит три уровня: владелец, категория и тег. Владелец является строкой, которая указывает, как правило, кто считывает запись. Категория также представляет собой строку, которая обозначает общую функциональную группу тегов под владельцем. Тег — это фактическое имя записи.

К структурным характеристикам BLOB-объектов относятся:

  • Вспомогательные функции BLOB в одном процессе защищены друг от друга мьютексом, встроенным в каждый БОЛЬШОЙ ДВОИЧНЫй объект.
  • Каждый БОЛЬШОЙ ДВОИЧНЫй объект имеет внутренний номер версии, чтобы вспомогательные средства могли обрабатывать как нынешние, так и будущие формы BLOB. Конфликты версий могут возникать при отправке BLOB-объекта на другой компьютер с помощью удаленного вызова процедуры.
  • Сам BLOB - это указатель на пустоту. Помните, что приложения должны выделять БОЛЬШИЕ двоичные объекты с модификатором констант, чтобы избежать изменения содержимого.
  • Каждый из конструкторов, а также их значения, являются строками. Помните, что строки, возвращаемые функции GetString, фактически являются указателями на БОЛЬШОЙ ДВОИЧНЫй объект и не должны быть изменены. По этой причине эти строки должны быть указаны как const char**pX* для случайного изменения приложений.

Как правило, все параметры с констант конструктор поощряют вызывающего пользователя воздерживаться от изменения значений, а не запрещать вспомогательным функциям изменять их. На самом деле вспомогательные функции обычно изменяют эти значения.