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


Большие двоичные объекты сетевого монитора

Большой двоичный объект (BLOB) сетевого монитора — это универсальная структура данных, содержащая сведения о конфигурации и расположении сетевых карт. Используйте большие двоичные объекты для представления сетевых карт и фильтрации записей в списке сетевых адаптеров. Большие двоичные объекты также могут содержать данные, относящиеся к конкретному приложению, не влияя на другие данные, которые они хранят. Реализация BLOB непрозрачна для всех уровней, которые должны получать доступ к BLOB-объектам с помощью API BLOB.

Структура BLOB

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

Структурные характеристики BLOB-объектов включают:

  • Вспомогательные функции BLOB в одном процессе защищены друг от друга с помощью мьютекса, встроенного в каждый BLOB.
  • Каждый BLOB имеет внутренний номер версии, чтобы вспомогательные средства могли обрабатывать как текущую, так и будущую формы BLOB. Конфликты версий могут возникать при отправке большого двоичного объекта на другой компьютер через удаленный вызов процедуры.
  • Большой двоичный объект сам по себе является указателем на пустоту. Имейте в виду, что приложения должны выделять большие двоичные объекты с модификатором const , чтобы избежать изменения содержимого.
  • Каждый из структур, а также их значения являются строками. Имейте в виду, что строки, возвращаемые функциями GetString , фактически являются указателями на большой двоичный объект и не должны изменяться. По этой причине эти строки должны быть указаны как const char**pX*, чтобы не допустить случайного изменения приложений.

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