Морозова Т.Ю.1, Иванова И.А.2, Никонов В.В.3 ©
'Доктор технических наук, профессор; 2,3кандидат технических наук,
«Московский государственный университет приборостроения и информатика»
УПРАВЛЕНИЕ ДАННЫМИ В БЕСПРОВОДНЫХ СИСТЕМАХ МОНИТОРИНГА
Аннотация
Целью работы является повышение эффективности использования ресурсов БСС. Это возможно за счёт новой системы формирования и управления информационными потоками в БСС. При этом применяются методы формирования произвольной области наблюдения, гибкой организация запросов к сенсорным узлам, выбора пути с минимальным энергопотреблением. В результате разработана система запросов на основе SQL-подобных языков, позволяющая существенно сократить энергопотребление узлами БСС. Полученные результаты являются основой для дальнейшего развития систем управления информационными потоками в промышленных БСС.
Ключевые слова: беспроводные сенсорные сети, код Прюфера, система запросов. Keywords: wireless sensor networks, Prufer code, query systems.
Для своевременного обнаружения катастроф и принятия необходимых мер по предотвращению серьезного ущерба перспективным направлением является сбор данных с сенсоров и передача информации по беспроводной системе (БС).
Основу БС составляет сенсорный узел (СУ), включающий датчики, микроконтроллер, радио-приемопередатчик, автономный источник питания. БС, использующая СУ в целях мониторинга, называется беспроводной сенсорной сетью (БСС).
Важным фактором при работе БСС является ограниченная емкость батарей СУ. В связи с этим на узлах выполняется только простейшая обработка данных с целью уменьшения объема передаваемой информации и числа циклов передачи. Исследования ведутся, в основном, в области разработки новых протоколов связи. Однако при увеличении количества СУ и с учетом неопределенной помехо-сигнальной обстановки, классическое применение коммуникационных протоколов теряет свою эффективность [1,268].
В связи со значительной востребованностью БСС проблема эффективного использования ресурсов БСС ощущается особенно остро. По причине наличия узлов с различными характеристиками и различным функциональным назначением практически отсутствуют нормативы и методики по организации и управлению данными в БС, однозначные рекомендации по процедурам использования базы данных БС для хранения информации о состоянии сети и снятых датчиками показаний. В настоящее время заложены только основы для создания методологической базы по построению БС промышленного мониторинга.
Рассмотрим сеть со следующими свойствами: множество соседей каждого узла, с которыми связь потенциально возможна, ограничено и со временем становится известным; существует цикличность в изменении состояния связей. В зависимости от поведения узлы делятся на три типа: 1) стационарные - работающие постоянно. К таким относятся, например, базовые станции; 2) динамические - работающие по расписанию; 3) случайные -график работы не известен.
Для любого сенсорного узла S существует такая область R(S), называемая зоной чувствительности, которая описывает площадь, в пределах которой сенсор может регистрировать физическое явление [2,26]. Расстояние от узла до границы области называется радиусом действия узла.
© Морозова Т.Ю., Иванова И.А., Никонов В.В., 2013 г.
Два соседних узла могут не иметь возможности обмениваться информацией напрямую, даже если их радиусы действия пересекаются. Узлы называются соседними, если пересечение не является пустым множеством [3,11]:
R(S1)fЩS])ф0,
где R(Si), R(Sj) - радиусы действия СУ Sг,Sj,i,j=1,2,...,n, при этом Щ. Угол зоны пересечения областей R(S) узлов определяется как
#=агссоз
2 2 2 х Г + Пк - г к2
2ггк • Г
где Гг - радиус действия узла &; Гк-радиус действия узла Sk; Пк-наименьшее расстояние между узлами Si и Sk.
Одной из задач БСС является определение границ зоны покрытия. Для этого требуется, чтобы каждый узел определил свое местонахождение в сети - находится ли он внутри зоны покрытия сети или на ее границе.
Максимальное расстояние между Si и любым другим узлом Sj, где Sj находится в зоне радиовидимости Si, называется радиусом связи Si. В этом случае Si называется соседом Sj в радиосети. Два узла& и Sj могут иметь прямую радиосвязь только тогда, когда
S1eN(S])лS]eN(Si), где М^) - множество соседей по радиосвязи.
Для формирования схемы обмена данными между узлами БС разработан алгоритм, состоящий из двух самостоятельных этапов: нахождения зоны покрытия узлов и построения дерева передачи данных. Алгоритм нахождения зоны покрытия, в свою очередь, состоит из двух частей: этапа самоидентификации развертываемой сети и этапа определения типов узлов. На этапе самоидентификации (сразу после развёртывания сети) узлы обмениваются информацией с целью нахождения соседей по зоне покрытия. Каждый узел сообщает другим свой идентификатор, радиус действия и координаты. Когда узлы определились со своими соседями, исполняется второй этап алгоритма. Узлы, основываясь на данных о своих соседях по зоне покрытия, определяют, являются ли они пограничными или внутренними [2,27].
Построим математическую модель дерева передачи данных.
Рассмотрим т случайных узлов, d динамических, и q стационарных. Пусть узлы появляются последовательно, и случайный узел Si предпочитает установить связь с соседним узлом Sj. Каждый способ распределения узлов определяется преобразованием р из множества схем связи узлов Х={1,2, ..., т}.
Если р(i)=Si, /=1,2, ...,т, то вектор предпочтения (Sl,S2, ...,Sm) однозначно определяет распределения узлов предпочтения.
Рассмотрим совокупность отображений вида:
р': X®,
где Х={1,2,...,т}, Y={1,2,...,(m+1)}.
Каждое отображение р' определяется производным вектором ^/^'...А'), Si'=р'(i), /=1,2,.,т.
При использовании вектора предпочтения (Slr,S2r,.,Smf) считается, что если Si'=m+1, то при занятом (т+1) динамическом узле г-й случайный узел устанавливает связь с динамическим узлом, который имеет наименьший вес.
Каждый произвольный вектор определяет расположение узлов, при котором один из узлов оказывается свободным. Общее число производных векторов равно (т+1)т.
Число возможных способов установления связи между узлами определяется следующим образом [4,33; 5, 163]:
У= ^тиг = (т+1Г.
т + 1
Каждому свободному дереву с (т+1) вершиной ставится во взаимно однозначное соответствие вектор предпочтения. Вектору ..., Sm) ставится в соответствие вектор:
(К, К ..., К-г),
где к=(Si+г-Si)mod(m+l).
Далее вектору (к, к ..., К-г), соответствующему коду Прюфера [6,4; 7,5], ставится в соответствие дерево с (т+1) вершинами (блок-схема алгоритма приведена на рисунке 1).
Рис.1. Блок-схема алгоритма построения дерева из кода Прюфера
Отметим, что:
1. Если вершина V имеет степень d(v), то эта вершина встречается в коде Прюфера d(v)-1 раз.
2. Вершина со степенью 1, то есть лист, в коде никогда не встречается.
Предположим, что длины путей между всеми парами отправитель-получатель (ОП)
представлены матрицей. Пары ОП обозначают листья (конечные узлы), принадлежащие дереву Т. Пусть существует уникальное дерево Т, которое описывается матрицей графа между всеми его листьями. Легко показать, что если бы между какой-либо парой ОП существовал еще один путь, то у нас был бы цикл, что противоречит определению дерева. Эта идея лежит в основе взаимно однозначных отношений между матрицей графа, кодом Прюфера и нумерованным деревом.
Узлы-листья пронумерованы числами 1,2,3,...,г и составляют множество Я. Необходимо найти правильные номера внутренних узлов, соединяющих эти листья и описать их кодом Прюфера.
Так как лист с наименьшим номером легко определяется, предположим, что т будет первым из внутренних узлов, который соединяется с листом с наименьшей меткой. Номер т будет г+1. Таким образом создадим уникальные номера в возрастающем порядке для каждого найденного внутреннего узла. Предположим, что наименьшая метка это I. Теперь т входит в путь для всех пар ОП, имеющих I в качестве отправителя (получателя), а длина пути до (от т) уменьшается на 1 в сравнении с длиной пути до (от) I. По алгоритму создания кода Прюфера I следует удалить, а его ближайшего соседа т добавить в код. Также вершина т добавляется в матрицу графа с указанием всех длин путей до связанных с ней вершин.
Теперь для т возможны два варианта:
1. т соединена с другим узлом-листом с меньшим номером (не равным I). Это можно увидеть, проверив, существует ли путь длиной 1 между листом и т.
2. после удаления I вершина т становится листом.
Это процедура повторяется для следующего наименьшего номера в R.
Когда все листья найдены, множество вновь найденных узлов £ разделяется на два множества: листьев R' и внутренние узлы. Множество R' выделяется из £ при проверке транзитивных отношений между всеми вновь найденными узлами. Поскольку удаление листа из дерева не изменяет свойств дерева, то следующий узел с наименьшим номером в множестве R' может быть легко найден. Затем для R' процедура повторяется. Алгоритм останавливается, когда остается всего два узла, соединенные путем длиной 1.
Существует взаимно однозначное соответствие между вектором (р1, р2, ■■■, Р-О и
нумерованным деревом. Определим матрицу размером 2х(п-1)
/ \ х х2 ... х„_!
У У1 У2 ••• Уп-1 '
в которой (хиу,) - г-ое ребро, удаленное в процессе конструирования кода Прюфера, и Xi - это удаленный лист. Последний столбец (Хп-1,уп-1), где Хп-<Уп-1 будет представлять последнее оставшееся ребро. Эта матрица называется расширенным кодом Прюфера для дерева. Расширенный код Прюфера позволяет восстановить дерево передачи данных в случае потери узлов.
Алгоритм построения кода Прюфера для организации схемы передачи данных представлен на рисунке 2.
Так как существует взаимно однозначное соответствие между нумерованным деревом и кодом Прюфера, то исходное дерево может быть восстановлено из расширенного кода Прюфера, поскольку его ребра заданы столбцами матрицы. Граф, полученный из этого расширенного кода, является деревом, соответствующим коду Прюфера, представляющему исходное дерево.
{Входные данные: множество у з лов Я=(1,2,3,...Д матрицу графаС?[1..^1 ..>].
входные данные: иод Прюфера Р.} начало
поспедний_узеп'.=г, Р={} повторить
нц пока (Я? 0)
5:={}
¿г=узел с наименьшим номером из Я е спи к имеет соседа Р-, в последовательности Рта
присоединить т к последовательности Р удалить к из матрица фа фа есгиЗдр! ^е Сто
перейти к метае готово
все
иначе
увеличить поспедний_узеп
т.=поспеднему_узпу
считаем тсоседом к
добавляем т к последовательности Р
удаляем к из матрица фа фа
и добавляем т к матрица фафа
добавляем т кЗ
все
Щ
Р, л=взятъ_узгы_из(Я(?) если р |=2 ид^1 ш
перейти к метке готово
иначе
Я .=Я 'перейти к меже повторить
все
готово: напечатать юод ПрюфераР кднец
Рис.2. Алгоритм построения кода Прюфера для организации схемы передачи данных
Расширенный код определяется кодом Прюфера. Возьмем множество (ц, у2, ...,уп-2). Зададим уп-1. Затем для каждого ¡=1,2,...,п-1 найдем хг с наименьшим номером, не принадлежащим набору {хи,..., хг-1}и{уг, ...,уп-1}. Таким образом, вхождение Xi является наименьшей возможной меткой, не показанной слева [от минимальной метки, записанной в ряду] в первом ряду или справа во втором ряду.
Например,
'2 3 5 4 6 11
1 4 4 6 1
1 4 4 6 1 7
Если изначальная последовательность действительно является кодом Прюфера для некоторого дерева, то можно заметить, что числа, не принадлежащие множеству {х^..., хг-1}и{уг-, ...,уп-1}, в действительности являются листьями этого дерева после г удалений. Так как при кодировании выбирается наименьший текущий лист, то матрица, сгенерированная выше описанным процессом, на самом деле является расширенным кодом Прюфера исходного дерева.
Теперь, взяв матрицу размера 2х(п-1) с вхождениями из {1,2,...,п} определим граф, чьи ребра являются столбцами матрицы. Если начать с произвольной последовательности длины п-2 из алфавита {1,2,...,п} и преобразовать ее в расширенный код, то можно
утверждать, что полученный граф является деревом, более того, код Прюфера этого дерева -та самая последовательность, с которой все началось.
Для существующего кода столбцы матрицы соответствующего расширенного кода являются деревом, для которого код Прюфера является исходным кодом. Построим граф, начиная с ребра (x„i, yn.i) и добавляя (xn-i-i,yn-i-i) для i=1,2,...,n-2. Покажем, что получившийся граф является деревом. Действительно, начальное ребро является деревом по определению. Теперь допустим, что граф H состоит из ребер (xk+i, yk+i), ...,(xn-i, Уп-i). Очевидно, что новый граф H, полученный из H добавлением ребра (xfc yk), также является деревом.
Для повышения эффективности управления сенсорными узлами, объединенными в древовидную структуру, разработана система запросов на основе SQL-подобных языков. Такая система имеет ряд новшеств: ветвление в запросе (процедура оператора CASE) и определение запрашиваемого узла (процедура оператора WITHIN). При этом, WITHIN позволяет минимизировать энергопотребление сети за счет снижения активности датчиков, обеспечивая при этом целостность данных. Организованный процесс выборки защищает узлы от необходимости тратить больше энергии по сравнению с остальными. Таким образом, вся сеть может поддерживать баланс потребления энергии так, что время жизни всей сети увеличивается. В основе данного подхода лежит тот факт, что данные, посылаемые соседними узлами, редко бывают разнородными и достаточно похожи, даже когда они собраны с произвольного числа сенсорных узлов [8].
Оператор WITHIN устанавливает количество сенсорных узлов, участвующих в процессе сбора данных. Определение участия узла в работе сети при выполнении процедуры оператора WITHIN осуществляется с помощью случайной величины K е [0,1] и функции участия H(n):
H(nj= -, u = —, u £ n,
1 - ur(1 - u) n
где и' - число узлов, участвующих в работе сети, г-относительное число запросов, в течении
которых узел не участвовал в работе, п - число узлов сети.
Моделирование набора узлов, участвующих в организации сбора данных в беспроводной системе мониторинга базируется на методе статистических испытаний Монте-Карло.
Если узел выбран в каком-либо запросе, то r устанавливается
I -1
u
чтобы
уменьшить вероятность выбора при следующем запросе. Значение функции запроса H(n) увеличивается при увеличении числа узлов u, участвующих в работе сети и числа запросов r, в течение которых узел не участвовал в работе.
Для организации запросов с целью адаптации процесса управления к изменениям объекта наблюдения применяется оператор CASE.
Предлагаемая система организации запросов состоит из двух модулей: серверного -для стационарных узлов (базовых станций) и сенсорного - для динамических и случайных узлов сети. На рисунке 3 показана схема организации работы серверного модуля. Схема организации работы сенсорного модуля показана на рисунке 4.
Рис.3. Схема организации работы серверного модуля
1
k - узел
СТ бд
' 1 Обработчик
Метаданные запросов
сенсора 1 к
Очередь
сенсора Функциональный
Измерение анализатор
п
Рис.4. Схема организации работы сенсорного модуля
Разработана схема передачи данных в БС мониторинга посредством запросов (рисунок 5). В данной системе пользователь взаимодействует с БСС посредством приложений, скрывающих от него физическую структуру сети. Получив запрос от пользователя, система управления анализирует запрос, разделяя его на подзапросы. Если ответ на запрос уже имеется в базе обработанных данных, то результат отправляется пользователю немедленно, в противном случае запрос на недостающие данные отправляется к сенсорным узлам. Также вместо запросов могут передаваться команды управления, задающие поведение узлов во времени или в зависимости от происходящих событий.
Рис.5. Схема передачи данных БС
В результате проведенной работы разработаны метод и алгоритмы управления потоками данных в беспроводных системах промышленного мониторинга. Разработан алгоритм и реализована модель определения зоны покрытия БСС на основе геометрической вероятности. Разработана математическая модель и алгоритм построения дерева передачи данных на основе кода Прюфера.
Уменьшение время работы сенсорного узла за счет его участия не во всех проводимых опросах и исключения повторяющихся запросов за счет агрегирования и ведения истории запросов позволило снизить энергопотребление и увеличить жизненный цикл БСС. Создана система управления запросами в БСС с использованием схем разделения и агрегации запросов. Разработаны новые процедуры использования операторов SQL-подобного языка CASE и WITHIN для уменьшения количества опрашиваемых сенсорных узлов в зависимости от состояния наблюдаемого объекта. Предложена распределенная схема организации базы данных, включающая в себя серверный (для базовой станции) и сенсорные модули.
Полученные результаты в ходе проведенных исследований являются основой для дальнейшего развития математического, методического и алгоритмического обеспечения систем управления потоками данных в БС промышленного мониторинга.
Литература
1. Морозова Т.Ю., Никонов В.В., Тверской А.Н. Защита данных в беспроводных сетях.//Каталог Системы безопасности № 1(15) -М.: ГРОТЕСК, 2008, стр. 266-270.
2. Иванова И.А. Определение периметра зоны покрытия беспроводных сенсорных сетей // Промышленные АСУ и контроллеры.- 2010-№ 10.- с. 25-30.
3. Ежов И.И., Скороходов А.В., Ядренко М.И. Элементы комбинаторики / Перевод с украинского Кулик З.Л., М.: «Наука», 1977. 80с.
4. Вилекин Н.Я. Комбинаторика, Москва: «Наука», 1969. - 328с.
5. Сачков В.Н. Введение в комбинаторные методы дискретной математики. Москва: Наука. Главная редакция физико-математической литературы, 1982, 384с.
6. Tim Paulden, David K. Smith Developing new locality results for the Prufer Code using a remarkable linear-time decoding algorithm, 2007, The electronic journal of combinatorics, pages 20, [Электронный ресурс]. - Режим доступа: http://www.combinatorics.org/ojs/index.php/eljc/article/ view/v14i1r55
7. Manwon Cho, Dongsu Kim, Seunghyun Seo and Heesung Shin Colored Prufer codes for £-edge colored trees // the electronic journal of combinatorics 11 (2004), №10, с. 7. [Электронный ресурс]. - Режим доступа: http://www.combinatorics .org/oj s/index.php/elj c/article/view/v 11i1n10
Angelo Brayner, Aretusa Lopes, DiorgensMeira, Ricardo Vasconcelos, RonaldoMenezes ADAGA -ADaptive AGgregation Algorithm for sensor networks [Электронный ресурс]. - Режим доступа: http://dl.acm.org/citation.cfm?id=1346571