3. Феллер, В. Введение в теорию вероятности и ее приложения [Текст]/ В. Феллер; Пер. с англ. -М.: Мир, 1984. В 2-х т. Т.2.- 738 с.
4. Айвазян, С.А. Теория вероятностей и прикладная статистика [Текст]/С.А. Айвазян, В.С. Мхитарян. - М.: Юнити, 2001. -Т. 1. -656 с.
5. Grenander, U. On the theory of mortality measurement [Текст] / U. Grenander // Skandinavise Aktuarietid-skrift. -1956. -P. II. -Vol.39. -P. 125-153.
6. Деврой, Л. Непараметрическое оценивание плотности [Текст]/Л. Деврой, Л. Дьердж//Ъ1-подход; Пер. с англ. -М.: Мир, 1988. - 408с.
7. Rosenblatt, M. Remarks on some nonparametric estimates of a density function [Текст]/М. Rosenblatt// Ann. Math. Statist. -1956. -Vol.27.-P. 832-837.
8. Parzen, E. On the estimation of a probability density function and mode [Текст]/Е. Parzen// Ann. Math. Statist. -1962. -Vol.33. -P.1056-1076.
9. Groenebom, P. Estimating a monotone density [Текст] / P. Groenebom //Proc. of the Neyman Kiefer Conference. -1983.
10. Devroye, L. An application of the Efron-Stein inequality in density estimation [Текст] /L. Devroye// The Annals of Statistics. -1987. -Vol.15. -№.3. -P.1317-1320.
УДК 681.3.016
Д.Е. Бортяков, С.В. Мещеряков нерекурсивная модель иерархии объектов
транспортных и технологических систем
Постановка задачи
В [2, 3] рассмотрены традиционные методы организации иерархии данных и их недостатки, главный из которых - наличие рекурсии в реляционной модели и запросах к базе данных (БД). Попытки избавиться от рекурсивности приводят к появлению избыточности (дополнительных полей) в модели данных и ограничениям в ее практической реализации по глубине вложенности и количеству объектов-потомков. В данной статье
поставлена задача разработки новой иерархической структуры данных, которая не содержит рекурсию и превосходит существующие модели по общепринятым критериям ресурсов занимаемой памяти, времени доступа к БД, ее масштабируемости [1].
Моделирование иерархии транспортных и технологических систем (ТТС) в объектно-реляционной СУБД (табл.) имеет специфику и связано с определенными трудностями. В про-
Пример иерархической структуры объектов ТТС
№ Наименование объекта
1.0 Цех первичной переработки продукции
1.1 Участок загрузки и обработки сырья
1.2 Участок отгрузки готовой продукции
1.2.1 Нагревательная установка
1.2.2 Установка вакуумной упаковки
1.2.3 Установка сортировки и складирования
2.0 Цех 2
6.0 Ремонтно-механический цех
6.1 Здания и сооружения
6.2 Металлорежущие станки и инструмент
6.3 Трубопроводная и запорно-регулирующая арматура
6.4 Насосы и компрессоры
6.5 Грузоподъемные машины и механизмы
6.5.1 Надземные краны
6.5.1.1 Мостовые подвесные краны
6.5.2 Мостовые перегружатели
6.5.3 Грузовые лифты
6.5.4 Автокары
6.6 Компьютерное и электрооборудование
цессе эксплуатации объем хранимой информации непрерывно увеличивается, а иерархия ТТС усложняется.
1. Наращивание парка ТТС, подлежащих учету. Наряду с появлением новых типов оборудования, устаревшие не удаляются из БД, т. к. с ними связаны технические мероприятия, проведенные в период эксплуатации.
2. Увеличение степени детализации. В результате ремонта и замены деталей и узлов они становятся отдельным объектом учета. Иерархия ТТС усложняется по глубине вложенности и степени разветвленности.
3. Расширение набора параметров, характеризующих техническое состояние объектов ТТС. Конструкция современных машин усложняется и для их обслуживания требуется контролировать все больше характеристик.
Предсказать потребности производства довольно сложно. Количество моделируемых объектов, их атрибутов, поток запросов к СУБД рано или поздно может достичь 100 % загрузки ее ресурсов, когда происходит критическое снижение производительности БД или отказ в обслуживании. Поэтому в статье поставлена вторая задача -тестирование новой структуры для оценивания поведения БД при накоплении иерархических данных.
Описание нерекурсивной модели иерархии данных
Для организации многоуровневой иерархии разработан специальный компонент NODE [6], который представляет собой новый, определяемый пользователем, тип данных. Он позволяет нумеровать иерархические объекты в виде последовательности чисел, разделенных точкой, где каждое число определяет один уровень вложенности. Например, значение '6.5.4' из таблицы (автокары) обозначает 4-й элемент 3-го уровня иерархии, у которого предок 5-й элемент 2-го уровня (грузоподъемные машины), для которого предок 6-й элемент 1-го уровня (ремонтно-механический цех).
Такой метод представления иерархии не имеет ограничений ни по глубине вложенности, ни по количеству потомков одного уровня. Кроме того, тип NODE поддерживает упорядоченность иерархических данных, так что, к примеру, будет справедливо следующее неравенство:
'6.5' < '6.5.4' < '6.6'. (1)
Описание иерархической структуры таблицы для моделирования иерархии с использованием компонента NODE на языке SQL имеет вид:
CREATE TABLE TBL_NAME ( ID NODE NOT NULL PRIMARY KEY, (2) NAME VARCHAR (254) NOT NULL)
Минимальная ширина таблицы БД - два столбца, другие могут добавляться в соответствии со спецификой предметной области. Потомки произвольного объекта иерархии имеют первичные ключи (ID) в диапазоне значений соседних родительских узлов. На примере объекта '6.5' из неравенства (1) все потомки грузоподъемных машин и механизмов (табл.) могут быть получены посредством следующего SQL-запроса. Количество таких потомков в общем случае не ограничено:
SELECT * FROM TBL_NAME WHERE ID > '6.5' AND ID < '6.6'
(3)
Для выделения непосредственных потомков нужна дополнительная проверка длины первичного ключа. В нашем примере (1) с объектом '6.5' выборку прямых потомков 3-го уровня из таблицы (надземные краны за исключением мостовых подвесных, мостовые перегружатели, грузовые лифты, автокары) можно получить с помощью SQL-оператора:
SELECT * FROM TBL_NAME WHERE ID > '6.5' AND ID < '6.6' AND LENGTH (ID) = 3
(4)
Все основные операции с иерархическими данными (добавление, удаление, перемещение и др.) выполняются средствами SQL. Кроме того, современные объектно-реляционные СУБД (MS SQL Server, IBM Informix, Oracle) предоставляют дополнительные возможности программирования функций на языке C, реализуемых на стороне сервера БД и повышающих эффективность SQL-запросов. Например, в операторе (4) проверку трех условий можно заменить одной функцией ISCHILD (прямые потомки):
SELECT * FROM TBL_NAME WHERE ISCHILD (ID, '6.5')
Для иерархии ТТС (см. табл.) полный путь от объекта '6.5.4' (автокары) до корня иерархического дерева представляет собой набор {'6.5', '6.0'}, что означает грузоподъемные машины и механизмы в ремонтно-механическом цехе. В результате
(5)
перемещения объекта '6.5.4' со всей его ветвью потомков из подчинения предку '6.0' (ремонтно-механический цех) к новому родителю '1.2.3' (установка сортировки и складирования) все объекты перемещенной ветви получат новые уникальные порядковые значения ключа по следующим правилам, реализованным в СУБД:
'6.5.4' — '1.2.3.4' '6.5.4.1' — '1.2.3.4.1' '6.5.4.2' — '1.2.3.4.2'
(6)
'6.5.*
'1.2.3.*'
При этом проверяется, находится ли перемещаемый объект '6.5.4' в непосредственном подчинении прародителя '6.0' или, другими словами, находятся ли автокары в ремонтно-механическом цехе.
Предложенный метод обладает несомненными преимуществами. Нумерация иерархических объектов интуитивно понятна и проста в реализации. Отсутствие рекурсии повышает производительность запросов БД по сравнению с рекурсивными моделями данных. Наконец, тип NODE является упорядоченным, позволяет построить индекс по полю ID и тем самым значительно ускорить доступ к данным.
Известно, что быстродействие последовательного перебора прямо пропорционально объему выборки данных [5]:
t ~ n • к (7)
и каждое избыточное поле требует 8 байт/запись, в то время как зависимость поиска по индексу от размера таблицы - логарифмическая:
t. ~ ln (n).
(8)
где t - время последовательного перебора; ?. - время поиска с использованием индекса; п, к - длина и ширина таблицы данных.
Время доступа к индексированной таблице не зависит от ее ширины к и, следовательно, менее чувствительно к увеличению объема данных. Для проверки этих утверждений поставлен вычислительный эксперимент.
Экспериментальная проверка нерекурсивной модели иерархии
С целью проверки относительного преимущества нерекурсивной модели иерархии данных по сравнению с традиционными поставлены две
серии вычислительных экспериментов по оценке производительности БД - в зависимости от глубины вложенности и размера иерархических таблиц. Конечная цель тестирования - не измерение абсолютных значений времени, а анализ их относительного изменения при увеличении числа уровней вложенности и длины иерархической таблицы данных.
Все тесты производительности проводились в компьютерной сети промышленного предприятия на стабилизированной системе, при отсутствии перегрузки ресурсов сервера БД (процессоров, оперативной и дисковой памяти). Каждая итерация теста выполнялась не менее трех раз, крайние максимальное и минимальное значения исключались из выборки. Из оставшихся измерений вычислялось среднее. Погрешность измерений, выполненных на стабилизированной системе, составила не более 2 %.
На рис. 1 приведены диаграммы сравнения производительности операции доступа в зависимости от глубины вложенности, а на рис. 2 - от размера таблицы БД для различных вариантов иерархии - традиционных и без рекурсии. Для оценки полученных преимуществ использованы относительные показатели Ry1 и R31 (рис. 3 и 4), которые позволяют оценить производительность в удельных единицах измерения (с/уровень, с/запись) и вычисляются согласно известной методике SPEC [4] как отношение времени доступа к числу уровней вложенности и длине иерархической таблицы:
(9)
RV1 = Vn
R31 = Vn
(10)
где ЯУ1, ЯЗ1 - отношение времени доступа соответственно к числу уровней вложенности и количеству записей; ТИ - измеренное время операции (с); ^ - глубина иерархии (уровней); N - длина таблицы (число записей).
Улучшение производительности оценивается коэффициентом:
-Т„
PT = '2/Т
(11)
где РТ - коэффициент улучшения производительности; Т, Т2 - абсолютные показатели измерения времени доступа соответственно для традиционной иерархии и модели без рекурсии.
Результаты тестирования показали преимущество нового подхода и область его эффективного применения. При наличии рекурсии время доступа
—>
иерархии (число уровней)
Рис. 1. Зависимость времени доступа от глубины иерархии (Г~1) традиционные иерархии; (Н) иерархии без рекурсии
Рис. 2. Зависимость времени доступа от размера таблицы данных н) традиционные иерархии; иерархии без рекурсии
2 3 4 5
Глубина иерархии (число уровней)
Рис. 3. Отношение времени доступа к числу уровней иерархии (Г~1) традиционные иерархии; (Н) иерархии без рекурсии
зависит от объема данных пропорционально (рис. 2), а от глубины иерархии - экспоненциально (рис. 1), что подтверждается теоретическими выражениями (7) и (8). При отсутствии рекурсии сложность иерархии незначительно влияет на производительность. При небольшом объеме данных (до 500 записей, рис. 4) и ограниченной глубине иерархии (2-3 уровня, рис. 3) применение нового подхода неэффективно. Но с увеличением глубины вложенности отсутствие рекурсии и построенные индексы дают значительное улучшение показателя производительности Р вычисляемого по выражению (11), - от 4 до 125 раз в зависимости
Количество строк
Рис. 4. Отношение времени доступа к количеству строк таблицы данных традиционные иерархии; иерархии без рекурсии
от глубины иерархии и размера таблицы данных. Чем больше объектов иерархии и ее глубина, тем заметнее преимущество нерекурсивного метода по сравнению с традиционными.
Несмотря на стремительный прогресс в развитии информационных технологий, рекурсия по-прежнему остается основным недостатком и главным препятствием на пути применения традиционных моделей иерархии в объектно-реляционных СУБД. Рекурсивные связи и SQL-запросы замедляют получение упорядоченной выборки иерархических данных, а в случае некорректных ссылок могут привести к отказу
(
в обслуживании сервера БД. Новая структура с компонентом NODE не содержит рекурсию, поэтому ошибки иерархии не влияют на работу БД.
Тестирование показало более высокую производительность нерекурсивного метода по сравнению с традиционными. Построение индекса позволило упорядочить иерархические данные и, как результат, улучшить масштабируемость системы, возможность наращивать объем данных и глубину иерархии без ущерба производительности СУБД.
Известен пример успешной практической реализации модели (2) при моделировании иерархического дерева объектов ТТС в объектно-реляционной СУБД Informix [5].
Новый подход можно рекомендовать к использованию при создании информационных моделей промышленных объектов ТТС, для которых характерны глубокая детализация, широкий спектр технических параметров эксплуатации и непрерывно возрастающий объем хранимых данных.
список литературы
1. Аносов, А. Критерии выбора СУБД при создании информационных систем [Текст] / А. Аносов // Корпоративные базы данных: Мат. XVI техн. конф.- М.: РАН, 2001 (http://citforum.ru/database/articles/criteria/).
2. Бортиков, Д.Е. Проблемы иерархии данных в задачах проектирования специальных грузоподъемных механизмов и машин [Текст] / Д.Е. Бортяков, С.В. Мещеряков // Научно-технические ведомости СПбГПУ-2011.- № 3.
3. Мещеряков, С.В. Сравнительный анализ вариантов организации иерархии в базах данных [Текст] / С.В. Мещеряков // Системы управления и информационные технологии.- 2009.- № 1 (35).- С. 34-37.
4. Французов, Д. Новое поколение тестов SPEC [Текст] I Д. Французов, Д. Волков II Открытые системы.- 1996.- № 4 (http:IIwww.osp.ruIosI1996IG4I58.htm).
5. Mescheryakov, S. A Successful Implementation of a Data Structure for Storing Multilevel Objects with Varying Attributes [Text]IS. MescheryakovllIBM. Developer Works. Information Management. Technical Library. -2GG2 (http:ll www.ibm.comIdeveloperworksIdataIzonesIinformixIlibraryI techarticleIG212mescheryakovIG212mescheryakov.html).
6. Roy, J. Solving Hierarchical Problems with the Node Component [Электронный ресурс] I J.Roy II Informix Developer's Network. -2GG2. -Режим доступа: http:llwww. informix.com7idn
УДК 007.2
Г.С. Петриченко, Л.М. Крицкая, М.Ю. Срур
методика поиска и устранения неисправностей
в электронных блоках средств вычислительной техники
Проблема поиска неисправностей в электронных блоках средств вычислительной техники (ВТ) возникает в процессе производства, эксплуатации и ремонта. Поиск неисправностей возможен для устройств, обладающих следующими свойствами: устройство находится в состоянии отказа и разделено на функциональные элементы. Поиск неисправностей осуществляется путем выполнения диагностического эксперимента над объектом и распознавания его результатов.
В статье рассмтривается одно из направлений построения алгоритма поиска неисправностей в электронных блоках средств вычислительной технике на примере жидкокристаллического монитора с применением информационного критерия (логико-вероятностного метода).
До настоящего времени при построении алгоритма поиска неисправностей в электронных блоках применялась технология ручного построения моделей объекта контроля (ОК). Наиболее часто при поиске неисправностей ОК представляют в виде функциональной или функционально-логической модели.
Современные электронные устройства представляют собой сложные многофункциональные динамические системы. При их эксплуатации необходимо оперативно реагировать на отказы ОК в реальном масштабе времени [1] .
Логико-вероятностный метод стал теоретической и практической базой при построении алгоритма поиска неисправностей в ОК. Метод включает следующие этапы: