Содержание к диссертации
Введение
1 Особенности организации вычислительного процесса для задач анализа и идентификации изображений 14
Анализ проблемы информационного обмена между процессорами обработки по сети передачи данных 14
1.1.1 Схемы маркерного доступа 16
1.1.2 Протоколы CSMAICD 22
1.1.3 Алгоритмы, использующие элементы группового тестирования 25
1.1.4 Гибриды token- CSMAICD 27
1.1.5 Схема FARAICS 30
1.1.6 Состояние проблемы 31
1.2 Методы реализации распределенных систем обработки 32
1.2.1 Программное обеспечение распределенных систем обработки 33
1.2.2 Реализация распределенных систем 36
1.2.3 Требования к распределенным системам 47
1.3 Методы формализации задач анализа и обработки изображений 48
1.3.1 Выделение границ изображения 49
1.3.2 Приведение изображений к единым условиям съема 60
1.3.3 Классификация и идентификация изображений 67
1.3.3 Задачи реализации прикладных объектов систем обработки и анализа изображений 76 ,
1.4 Реализация программно-технических систем распознавания изображений 77
Выводы 83
2 Организация доступа в локальную сеть 85
2.1 Базовый протокол «пульсирующее кольцо» (ПК) 85
2.1.1 Версия ПК/СС 87
2.1.2 Версия ПК/СП 87
2.1.3 Внутренние характеристики протокола 98
2.2 Модификации протокола ПК 103
2.2.1 Протокол с чистым деревом конфликта (ПКЧ) 103
2.2.2 Протокол с классическим деревом конфликта 112
2.2.3 Протокол с механизмом захвата 114
2.2.4 Приоритетные схемы 120
2.3 Протоколы интервально-маркерного доступа с распределительной задержкой автоматически подстраиваемой под конфигурацию активных станций сетей 125
2.3.1 Протокол ИМЦ-ОА с абсолютной децентрализацией управления 126
2.3.2 Протокол ИМД-ОА/АД с частичной децентрализацией управления 137
Выводы 141
3 Комплексация вычислительных машин для задач анализа и обработки изображений 143
3.1 Концептуальные основы системы «Базис» 143
3.1.1 Модель прикладных объектов 146
3.1.2 Объект-модуль 148
3.1.3 Типы сигналов 148
3.1.4 Объект-значение 149
3.1.5 Входы и выходы прикладного объекта 150
3.1.6. Шина объектов «Базис» 150
3.1.7 Менеджер конфигураций «Базис» 154
3.1.8 Организация управления информационным обменом в «Базис» 156
3.2 Анализ эффективности системы «Базис» 170
3.2.1 Имитационная модель системы 170
3.2.2 Модели конфликтных ситуаций при распределении нагрузки 175
3.3.1 Модель алгоритма подстройки интенсивностей потоков данных 178
3.3 Экспериментальное исследование программного комплекса «Базис» 183
3.3.1 Технология создания прикладного объекта 183
3.3.2 Структура экспериментальной системы на основе комплекса «Базис» 184
3.3.3 Оценка характеристик системы 189
Выводы 200
4 Реализация прикладных объектов систем обработки и анализа изображений 201
4.1 Декомпозиция задачи 201
4.2 Выделение сюжета изображения 210
4.3 Приведение форм изображений 213
4.4 Алгоритм принятия решения при идентификации изображений 228
Выводы 236
5 Реализация систем обработки и анализа изображений 238
5.1 Аппаратно-программный комплекс автоматической идентификации личности по оптическому изображению лица 238
5.1.1 Организация интерфейса пользователя 244
5.1.2 Объекты и режимы работы АПК 245
5.1.3 Оценка метрологических характеристик АПК 252
5.2 Распределенная система видеонаблюдения и идентификации «Лик» 256
5.2.1 Создание и управление конфигурацией системы 259,
5.2.2 Компонент отображения видеопотока 260
5.2.3 Компонент выделения лиц на изображении 261
5.2.4 Компонент опознавания личности по изображению лица 262
5.2.5 Совместная работа модулей унаследованной системы «Лик» 264
5.2.6 Компонент видеоперехвата для нескольких потоков 265
5.2.7 Компонент считывания ключей системы «Лик» 267
5.2.8 Компонент управления исполнительными устройствами системы «Лик».. 267
5.2.9 Контроллер источника 268
5.2.10 Протокол доступа и видеонаблюдения 269
5.2.12 Оповещение о наличии сигнала 270
5.2.13 Экспериментальная оценка характеристик системы 271
Выводы 273
Заключение 274
Список используемой литературы
- Алгоритмы, использующие элементы группового тестирования
- Протокол с классическим деревом конфликта
- Входы и выходы прикладного объекта
- Распределенная система видеонаблюдения и идентификации «Лик»
Алгоритмы, использующие элементы группового тестирования
Первой формой множественного доступа в широковещательный канал является обслуживание по детерминированному принципу. Согласно такому подходу, процесс доступа регулируется, либо посредством какого-то центрального диспетчера (polling [38-40]) либо распределение на базе некоторого изначально заданного логического кольца, по которому постоянно циркулирует маркер, предоставляя поочередно станциям сети право доступа в канал (token-passing [41,42], маркерный доступ [32], метод передачи полномочий [36]).
По типу маркера - виртуальному или реальному - схемы token-passing разбиваются на два класса. В схемах первого из указанных классов, называемых обычно протоколами ИМД (интервально-маркерный доступ) [43], станции сети определяют право доступа посредством специальной фиксированной функции задержки.
Наиболее простым вариантом ИМД является протокол BRAM [44]. В BRAM станция постоянно следит за каналом и при его освобождении фиксирует номер станции, закончившей передачу. После освобождения канала станцией / станция j подсчитывает текущую распределительную задержку #(/) по формуле Я.(/) = (а + Д) [(;-/ + M-l)modM], (1.1) где а = 2т, А, - максимальное время реакции станций на появление и исчезновение песу щей. Станция і потенциально может начать передачу по окончании этой задержки. Если за время #Д /) в канале появится очередная передача, то станция с учетом нового номера передающей станции подсчитывает новую распределительную задержку.
Схема BRAM проста: нумерация станций в ней произвольна; знание каких-либо величин, отражающих конфигурацию сети, не требуется. Кроме того, эта схема универсальна в отношении топологии канала. Однако накладные расходы времени принимают довольно большие значения.
Все более поздние ИМД схемы являются попытками избавиться от этого недостатка. Наиболее просто это делается в частном случае магистрального канала. Требуется лишь, чтобы станции логически были упорядочены в соответствии с их физическим расположением таким образом, чтобы номера станций последовательно возрастали по мере их удаления от некоторого выбранного конца канала. Подобный подход нашел отражение в полностью распределенной схеме Silentnet [42] и частично распределенных L-Expressnet [45] и BID [46].
В BID и базовом Silentnet виртуальный маркер меняет направление обхода после каждого цикла, и соответствующие функции задержки имеют вид: (] - і -1) A, j i и обход слева направо Hj(/) =Ui-j-l)A, j і и обход справа налево оо в остальных случаях; (1.2) (;-/-1)А, j i НМт + (Л -/ + 1)Д, 1-і a + (M-j)A, j i обход слева направо; (./-/-1)А, j i H,{i)wAa + {M-M)b, j = i (13) a+(M-j)A, j i, обход справа налево. В протоколе L-Expressnet. Функция задержки задана на интервалах време ни, соответствующих свободному каналу, и имеет «скалярный» вид: я,(1)=(;-2)д, что означает привязку всех станций к передачам лишь одной станции - первой из активных в текущем цикле по порядку номеров на кольце. Как видно из выражений (1.2) и (1.3), «скорость» передачи маркера в BID, Silentnet и L-Expressnet практически не зависит от конфигурационных характеристик сети и определяется только величиной Д (порядка 1 мкс).
В GBRAM [35] станции логически разбиты на группы в соответствии с их физической кластеризацией. Логическое «месторасположение» станции задается номером группы, к которой она принадлежит, и ее порядковым номером в группе. Нумерация групп и станций внутри групп произвольна. Функция задержки имеет вид; 2а[( gj - g, + А/)тосШ] + Qj( лу -1), g;- g, HnJ,8i{npSj) = аі(пГпі) 8, = gl, nj ni (1A) 2a_M+aj(nj-l), gJ = gi, nj ni, где g. - номер группы, п. - порядковый номер в этой группе станции j, а - максимальное время распространения сигнала между группами, a j- максимальное удвоенное время распространения сигнала между станциями группы j.
Данная распределительная функция включает два ряда слагаемых, содержащих параметр а и содержащих параметры а., что соответствует двум «скоростям» передачи маркера: первая «скорость» такая же, как в BRAM, а вторая более близка к BID. В целом масштаб функции задержки в данном протоколе хоть и существенно меньше, чем в BRAM, но все еще в значительней мере определяется размерами сети.
В S0SAM [47] нумерация станций может быть как произвольной, так и основанной на учете их совместного физического размещения. Для реализации протокола необходимо знать матрицу г J (i,j = I,Mj, где хц - время распространения сигнала между станциями / и j. Функция задержки определяется следующим рекуррентным выражением: Яд/J-J [# м (0 + V + TM,J - hi + A і - ! Если организовать так, чтобы станции - «соседи» по каналу оказывались и «соседями» по логическому кольцу, то тогда «скорость» передачи маркера в SOSAM окажется практически такой же, как и в протоколах для магистрального канала.
Базовыми схемами с реальным маркером являются token-passing [41], Sound-off [48], а также ITP [49]. В первых двух маркер представляет собой последовательность битов, передаваемую специальным пакетом, а в протоколе ITP маркер может также передаваться и с информационным пакетом.
Наличие гарантированного верхнего порога для времени доставки пакета считается и высокая эффективность в условиях большой нагрузки главными достоинствами детерминированного доступа [32,49,50].
Однако следует отметить, что эти достоинства проявляются лишь при определенных ограничениях. Так, гарантированный верхний порог не показателен для сетей с большим количеством станций, так подобная задержка может случиться несколько раз за все время существования ЛВС.
Высокая же эффективность в интенсивном трафике имеет место лишь в условиях достаточно однородной нагрузки, когда все станции на кольце вносят примерно одинаковый вклад в ее создание, что в реальных сетях обычно не выполняется. Наглядное представление о характере неустойчивости детерминированного доступа дает функция C(M,N) (полезная загрузка канала при условии, что N станций кольца все время имеют пакеты, а остальные М-N «молчат») [42].
Выразим данную функцию для различных протоколов. Будем предполагать, что канальное время представляет собой совокупность свободных тактов (СВ) (такты, в которых станции отказывались от своих передач) и тактов ус пешной передачи (УП).
Для BRAM длительность тактов СВ равна а. Соответственно для BID, Si-lentnet, L-Expressnet имеем значение А. Для SOSAM различаются два варианта: упорядоченный и случайный (в которое станциям номера присваиваются без какой-либо привязки к их местоположениям). В первом варианте имеем величину А, что и в BID. Во втором варианте необходимо взять среднее значение на множестве многочленов вида г., , + г,, .-г. , + А. Так как выбор адресов случайный, то вместо среднего на множестве указанных многочленов можно просто взять среднее значение г на множестве всех величин типа т.. (i j) и добавить к нему величину А. Для стандартного протокола при упорядоченной нумерации длину тактов СВ необходимо принять равной Тм (Тм - время передачи маркера), а при случайном, соответственно, -т+Тм. Для длительности тактов УП величину Т + ТМ (Т - время, требуемое на передачу пакета).
Протокол с классическим деревом конфликта
То есть вариации количества т станций на одной позиции кольца становятся все меньше и меньше, а само это количество все чаще принимает значение 1 (рис.2.11). В предельной ситуации, когда все М активных станций постоянно готовы к передаче, кольцо R трансформируется в статическое кольцо емкости Н = М с одной станцией на каждой позиции, т.е. в обычное кольцо классических маркерных схем. Таким образом, в области высоких нагрузок протокол реализует политику эффективного для этого случая детерминированного доступа. Основную суть своего адаптивного поведения протокол сохраняет и в условиях существенно несбалансированного трафика.
Вторым механизмом, обеспечивающим высокие характеристики протокола ПК, является схема обработки конфликта, в основу которой положена древовидная структура. Согласно такой схеме, конфликт разрешается очень быстро. При этом важным является тот факт, что, благодаря механизму адаптации в канале при любой нагрузке величина кратности происходящих конфликтов поддерживается на постоянном, низком уровне; главным образом превалируют конфликты кратности 2 (см. рис.2.12). А это оптимальная ситуация для работы древовидных алгоритмов [72-74]. иллюстрирует характер влияния распределения длин передаваемых пакетов на эффективность работы протокола. Для анализа взяты два крайних по величине дисперсии типы распределения - фиксированное и геометрическое. Как видно из рисунка, влияние дисперсии времени обслуживания пакетов в канале не является для протокола ПК таким значительным, как для случайного доступа [168] или как для идеального канала (накладные расходы, требуемые на организацию доступа, равны нулю). При больших нагрузках величина средней задержки вообще инвариантна к характеру распределения длин пакетов.
Рисунок 2.14 отражает структуру канального времени. Величины К2 и К0 обозначают вклад в общее время канала соответственно тактов СТ и тактов СВ. Как следует из графика (рис. 2.14), столкновения составляют незначительную часть емкости канала при любой степени его загруженности.
Влияние параметра В на характеристику протокола иллюстрируется графиками на рисунке 2.15. Из них следует, что эффективность протокола при В 3 заметно уступает его эффективности в случаях В = \ и В = 2, причем тем заметнее, чем большее значение принимает данный параметр. Сравнение вари 102 антов В = \ и В = 2 показывает, что они практически равнозначны. Исходя же из технологической целесообразности предпочтительней выглядит симметричное дерево конфликта (5 = 1).
Эта модификация протокола отличается от базового тем, что, согласно его инструкциям, пока все станции, испытавшие столкновение/конфликт, не пере 103 дадут по одному пакету, никакие другие станции не могут иметь права доступа. Протокол ПКЧ обеспечивает примерно такие же характеристики функционирования канала, что и в случае базового протокола.
Описание протокола
Инициализация системы имеет вид: Я -1; Л -» Я; и -1, где и - дополнительная переменная, принимающая значения из множества {0;l}. Станция обладает правом доступа в тех тактах, в начале которых выполняется двойное условие: h = H, и м=1. Управление переменными и, h, Н станция осуществляет в конце каждого текущего такта с учетом его типа и действий самой станции в этом такте. Вначале производятся операции (в случае их необходимости) над переменной и.
Действия над переменными h и Я - по точно таким же инструкциям, что и в базовом протоколе. Поведение станций по протоколу иллюстрирует таблица 2.3. Адреса станций, у которых переменная и равна 0, выделены курсивом.
Данные, приведенные в табл. 2.14 демонстрируют невозможность разрастания дерева конфликта в ПКЧ. Так, у станции 3 за время разрешения конфликта появился готовый пакет, но она уже инициирует, как в случае ПК, новый конфликт. «Вето» на право передачи с нее снимется не ранее, чем она попадет на позицию 1 кольца. Это обеспечивает устранение конфликтов высокой краткости. Второй момент является негативным и в данном сценарии касается станции 7. Эта станция также пассивно обходит дерево конфликта, между тем нее с определенного момента имеется в наличии готовый пакет. С этим пакетом она доходит до уровня h = Н и потенциально, в силу монопольного владения этой позицией кольца, могла бы его успешно передать, но протокол запрещает эту возможность, и такт канала пропадает зря.
Как мы сейчас увидим, полярные эффекты, обусловленные отмеченными моментами, нейтрализуются, и протокол ПКЧ обеспечивает практически такие же характеристики канала, что и базовый протокол.
Входы и выходы прикладного объекта
Для того чтобы получить исчерпывающую характеристику ИМД-ОА/АД, необходимо его сравнить с другими протоколами. Наиболее целесообразно это сравнение проводить с протоколом ПККД и стандартной маркерной схемой. Такой выбор объясняется тем, что масштаб доступа определялся одним и тем же параметром дальнодействия а. А как было показано в разделе 2.2.2, среди группы протоколов «пульсирующее кольцо» наиболее эффективным по этому параметру является протокол ПККД.
Чтобы сравнение было адекватным, необходимо также привлечь к нему и универсальные протоколы со слабо выраженной зависимостью их эффективности от размеров сети (протокол со стандартной маркерной схемой). С одним таким протоколом SOSAM обстоятельное и не требующее используемых далее средств сопоставление проводилось в разделах 2.1.2, 2.1.3.
Результаты сравнения приведены на рис.2.33 - 2.36. Расчеты проводились по схемам модели с блокировками пакетов.
На рисунках 2.33-2.34 отражена ситуация, соответствующая случайной нумерации станций в стандартном и ИМД-ОА/АД протоколах. При моделировании подобной ситуации длительности тактов СВ в первом и втором из перечисленных протоколов предполагались соответственно равными а/6 + Тм и а/6, где а - длительность (в абсолютных единицах) тактов СВ в ПККД. Такая последовательность выбрана, исходя из следующего. Если рассматривать сеть с параметром дальнодействия а, представляющую собой в топологическом плане звезду с некоторым количеством лучей одинаковой протяженности ас /4 (с - скорость сигналов), то при достаточно большом количестве станций в сети М независимо от количества лучей в звезде для случайной дискретной величины х (расстояние между станциями) хорошим непрерывным приближением будет случайная величина x = \Z1-Z2\, где Z,, и Z2 задаются одним и тем же
Сравнение протоколов ИМД-ОА/АД, ПККД и стандартной маркерной схемы по показателю стандартного отклонения задержки при упорядочном логическом размещении станций и однородном трафике, Тм IT = ОД .1 - ПККД; 2 - ИМД-ОА/АД; 3 - стандартный протокол
Математическое ожидание для случайной величины х равно ас /6. Переходя на временную шкалу, таким образом окончательно получаем: т « а.
Из рисунков 2.33, 2.34 следует заметное превосходство во всем диапазоне нагрузок протокола ИМД-ОА/АД над стандартной маркерной схемой. При сопоставлении с ПККД (при моделировании принималось а = Ь) невозможно отдать явное преимущество какому-то одному протоколу. Для малого трафика эффективней ПККД, а для большого - интервально-маркерный протокол. Результаты сравнения не изменяются при варьировании протяженностью сети (случай ат = 0,5 соответствует сильно протяженной сети).
Рисунок 2.35 отражает соотношение между протоколами в условиях однородного трафика. Здесь превосходство интервально-маркерного протокола в зоне больших нагрузок на порядок выше подобного превосходства протокола ГЖКД в области умеренных нагрузок. Причем в случае сильно протяженной сети ат = 0,5 можно говорить о более высокой эффективности ИМД-ОА/АД практически во всем диапазоне нагрузок. Соотношение со стандартным протоколом в целом осталось тем же самым, что и при случайной нумерации станций.
Совокупность приведенных выше данных указывает на то, что протокол ИМД-ОА/АД эффективней других универсальных протоколов в приложении к крупногабаритным ЛВС.
Логика подключения новых активных станций, соответственно, логика смены режимов функционирования системы в данном протоколе те же, что и в ИМД-ОА/АД. Без изменений остается и алгоритм передач станций в периодах реконфигурации системы. Различие же заключается в собираемой в периодах реконфигурации информации и алгоритме действий активных станций на интервалах нормальной работы системы. В основу последнего алгоритма положены идеи синхронизирующей станции и виртуального времени, применяемые в L-Expressnet.
Основные измерения сводятся к следующему. Станция v Ф1. В момент окончания первой передачи в канале станция включает таймер (ТА), присвоив ему начальное значение 0. Далее таймер работает лишь в периоды свободного канала, т.е. он периодически выключается в моменты обнаружения несущей и выключается в моменты ее пропадания. Как только наступит время доступа данной станции, она фиксирует в этот момент текущее значение Q таймера, затем преобразует это значение по формуле и заносит его себе в специальный регистр R.
Станция v = 1. В момент окончания своей первой передачи станция запускает таймер ТА. В момент начала своей второй передачи станция фиксирует текущее значение Q таймера, преобразует это значение по формуле и заносит его в регистр/?.
В процессе нормальной работы системы станция с виртуальным адресом v = l, являющаяся синхронизирующей, производя непрерывно отсчеты времени, соответствующие свободному каналу, передает в принудительном порядке пакеты с периодом, равным значению ее регистра R. В случае, когда у станции у = 1 нет данных, такой пакет содержит лишь заголовок с виртуальным адресом этой станции.
Станции с v Ф1 в периодах нормальной работы системы также непрерывно ведут отсчет виртуального времени, привязываясь при этом к моментам, соответствующим передачам синхропакетов станции v = 1. Каждый раз, как только с момента последней такой передачи пройдет по часам данной станции с v Ф1 время, равное значению ее регистра R, она констатирует факт получения ею права доступа в канал. При этом на нее не накладывается никаких обязательств по использованию этого права.
Для обработки таких ситуаций, как переход в неактивное состояние ведомой станции или отказа аппаратуры этой станции, приводящие к ее «молчанию», все остальные станции из кольца V измеряют в периоде реконфигурации общую длину цикла, т.е. интервал по виртуальному времени между двумя передачами станции v = 1. Эту величину (F) каждая станция хранит в специальном регистре F. Если в основном режиме работы системы появляется пауза в передачах станции v = l длительности F + є(є - изначально задаваемый параметр, є « F), то тогда каждая станция начинает функционировать так, словно она одна на канале, т.е. передачи готовых пакетов следуют сразу же, как только эти пакеты появляются.
Такая логика в конце концов приводит к столкновению и запускается процедура реконфигурации. Ведомая станция в момент своего перехода в состояние неактивности никаких действий не осуществляет. Сравнение временных параметров процессов доступа в версиях АД и ЧД Без учета времени передачу синхропакета процесс разделения канала в версии ЧД идентичен процессу в версии АД. Выберем произвольно одну из активных станций сети, имеющую некоторый виртуальный адрес j 2, и рассмотрим содержимое ее регистра R..
Распределенная система видеонаблюдения и идентификации «Лик»
Для оптимального управления в процессе функционирования любой системы необходимо знать о том, какую нагрузку создает на систему тот или иной компонент [181,186].
Счетчики производительности «Базис» подразделяются на три категории. Первая категория - счетчики, предоставляемые операционной системой. Для слежения за ними используются стандартные средства Windows. Вторая категория - счетчики, предоставляемые «Базис» и прикладными объектами. Для этой категории счетчиков используется собственный механизм, реализуемый в «Базис». И последняя категория счетчиков - расчетная. Значения этих счетчиков рассчитываются монитором производительности «Базис» на основе счетчиков первых двух категорий.
Для хранения показателей счетчиков используется планируемый в память файл, который находится в рабочей директории «Базис» и имеет вид Perfomance. dat. Все поставщики счетчиков производительности планируют в свое адресное пространство этот файл. Монитор производительности, в свою очередь, планирует этот файл в свое адресное пространство с правами только для чтения. Планируемый файл представляет собой набор из шестнадцати тысяч элементов типа DWORD. Для записи состояний счетчиков производительности используется вспомогательный класс CPerfWriter. На этапе создания этого класса он получает доступ к ключу системного реестра HKLM\Software\Basis\Perfomance. В этом ключе находится список значений типа DWORD. Имя каждого значения представляет собой имя счетчика производительности, а присвоенное ему число, -номер элемента файла, содержащего состояние этого счетчика. После получения доступа к этому ключу класс планирует в память файл Perfomance. dat. Далее программа, использующая этот класс для обновления информации о своих счетчиках производительности, передает классу вызовом метода Connect имя счетчика и адрес переменной типа DWORD, в которой будет храниться текущее со 164 стояние счетчика. После регистрации всех счетчиков в процессе работы компонент вызывает метод Update класса CPerfWriter, который записывает текущие показатели в планируемый файл.
Чтение показателей производительности происходит методами класса чтения счетчиков - CPerfReader. Данные классы позволяют подключаться к счетчикам производительности и в процессе работы, то есть между вызовами Update.
Для регистрации счетчика производительности используется класс Рег-fKeeper. Для завершения работы с классом вызывается метод Disconnect. Метод Register регистрирует новый счетчик. При вызове этого метода класс находит не занятый ни одним из счетчиков элемент планируемого файла и записывает в реестр информацию о том, что этот элемент будет содержать состояние регистрируемого счетчика.
В отличие от механизма счетчиков производительности, предоставляемого Microsoft [187,188], такой подход позволяет существенно упростить и ускорить механизм обмена информацией о производительности. Отпадает необходимость в создании динамически подключаемой библиотеки, отвечающей за получение значений счетчиков.
Расчетные счетчики производительности предоставляются монитором производительности «Базис». В них содержатся те значения, которые не могут быть предоставлены с использованием счетчиков первого и второго рода в силу того, что расчет этих значений либо создает дополнительные затраты, либо для их расчета у компонентов системы недостаточно информации.
Прикладные процессы могут создавать свои собственные счетчики производительности, предусмотренные их разработчиком. Журнал событий «Базис»
Информирование о событиях в «Базис» реализовано с использованием журнала событий Windows[181]. Для ведения журнала событий в Windows создается отдельный журнал с именем Basis. Все события «Базис» разбиваются на две категории: локальные и глобальные. Локальные события информируют администратора о происшествиях на отдельно взятом компьютере. Глобальные описывают события в рамках всей распределенной системы и присутствуют в журнале каждой из машин системы. К первой категории относятся такие события, как ошибки доступа к ресурсам, невозможность совершения какой-либо операции, касающейся ресурсов локальной системы. К событиям второй категории относятся такие, как информация о запуске, останове или сбое работы объекта или даже одной из шин объектов.
Запись в журнал происходит либо набором соответствующих функций API, для работы с журналами событий, описанных в разделе Windows Develop-ment\Windows Base Services\Debugging and Error HandlingVSDK Documentaion\Debugging and Error Handling\Event Logging, либо методами вспомогательного класса «Базис» CLogHelper. Класс CLogHelper имеет три метода: для инсталляции источника, открытия журнала и добавления сообщения в журнал. Просмотр событий осуществляется с помощью API или с помощью консоли управления локальной системой (compmgmt. msc) во вкладке System Tools\Event View\Basis. В список стандартных источников событий «Базис» включаются: - локальная шина; - менеджер конфигураций; - информационная среда; - прикладной объект. Локальная шина предоставляет информацию о событиях, происходящих на подчиненной ей машине.
Менеджер конфигураций предоставляет сообщения о неправильной работе или недоступности одного из компьютеров системы, или ошибке в формате потока конфигурации, или о попытке изменения скорости потока с использованием неправильного ключа сеанса, что может быть расценено как попытка дестабилизировать работу системы.
Информационная среда поставляет информацию о работе каналов передачи данных через разделяемую память или сеть.
Прикладной объект информирует администратора о своих внутренних события и проблемах, для каждого прикладного объекта набор таких сообщений, а также их категорий может быть индивидуальным.
Далее сообщения подразделяются на информационные сообщения, предупреждения и сообщения об ошибках. Структуру журнала событий «Базис» можно представить в виде диаграммы, показанной на рисунке 3.5.