Научная статья на тему 'Нерекурсивная модель иерархии объектов транспортных и технологических систем'

Нерекурсивная модель иерархии объектов транспортных и технологических систем Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
148
19
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБЪЕКТНО-РЕЛЯЦИОННАЯ СТРУКТУРА / ИЕРАРХИЯ / РЕКУРСИЯ / МОДЕЛИРОВАНИЕ / ТЕХНОЛОГИЧЕСКИЕ СИСТЕМЫ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бортяков Даниил Евгеньевич, Мещеряков Сергей Владимирович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Бортяков Даниил Евгеньевич, Мещеряков Сергей Владимирович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

New method of handling data hierarchy in object-relational systems is proposed. Recursive-free relationship is the principal advantage of new hierarchical structure that allows effective modeling of transport and manufacturing objects having deep nesting level

Текст научной работы на тему «Нерекурсивная модель иерархии объектов транспортных и технологических систем»

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 не содержит рекурсию, поэтому ошибки иерархии не влияют на работу БД.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Тестирование показало более высокую производительность нерекурсивного метода по сравнению с традиционными. Построение индекса позволило упорядочить иерархические данные и, как результат, улучшить масштабируемость системы, возможность наращивать объем данных и глубину иерархии без ущерба производительности СУБД.

Известен пример успешной практической реализации модели (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] .

Логико-вероятностный метод стал теоретической и практической базой при построении алгоритма поиска неисправностей в ОК. Метод включает следующие этапы:

i Надоели баннеры? Вы всегда можете отключить рекламу.