Организация очередей для системы передачи сообщений

advertisement
УДК 004(06) Компьютерные системы и технологии
В.Ю. БОРОДАКИЙ, Г.Е. ОКОРОЧЕНКО
Московский инженерно-физический институт (государственный университет)
ОРГАНИЗАЦИЯ ОЧЕРЕДЕЙ ДЛЯ СИСТЕМЫ ПЕРЕДАЧИ
СООБЩЕНИЙ
В рамках реализации сети обмена сообщениями проведены специальные
исследования и выбран эффективный способ организации очередей для
промежуточного хранения передаваемых по сети сообщений.
Системы обмена сообщениями относят к категории промежуточного
программного обеспечения (Message-Oriented Middleware), которое
предоставляет услуги передачи сообщений от одних программ к другим [1,
2]. Программа-источник кладет свое сообщение во входную очередь
службы, а программа приемник извлекает его из выходной очереди.
Доставку сообщений служба осуществляет через ряд промежуточных
серверов (менеджеров очередей), на которых сообщения также хранятся в
очередях, связанных с направлениями пересылки.
Таким образом, очереди в данной системе повсеместно используют
для промежуточного буферирования и хранения принимаемой и
передаваемой информации. Через них проходит весь информационный
поток. Поэтому эффективность работы подсистемы управления
очередями существенно влияет на эффективность работы всей системы
передачи сообщений в целом и, прежде всего, на надежность и скорость
доставки сообщений.
Важнейшим фактором, от которого зависит работа подсистемы
управления очередями, является структура данных для хранения
очередей.
На выбор структуры в данной работе повлияли следующие основные
особенности подсистемы и свойства сообщений:
 количество сообщений в очереди может достигать нескольких
тысяч, а их размер – десятков мегабайт;
 сообщения бывают обычными и срочными;
 сообщения могут быть направлены нескольким адресатам
(групповые сообщения);
 поиск и выборку сообщений из очереди производят по их
приоритету или идентификатору.
ISBN 5-7262-0633-9. НАУЧНАЯ СЕССИЯ МИФИ-2006. Том 12
120
УДК 004(06) Компьютерные системы и технологии
В рамках данной работы рассмотрена только та часть подсистемы,
которая для хранения сообщений использует ресурсы оперативной
памяти. Это, прежде всего, относится к передаче срочных сообщений.
Для выбора эффективного способа хранения таких данных сделан
обзор наиболее распространенных структур и произведена теоретическая
оценка эффективности их использования с учетом перечисленных выше
особенностей. Рассмотрены однонаправленные и двунаправленные
списки, хэш-таблицы, а также различные типы древовидных списковых
структур.
Для экспериментальной оценки эффективности разработаны
программные классы, реализующие основные из этих структур. Создана
программа, позволяющая протестировать надежность классов и получить
количественные данные для сравнения эффективности. В программу
включен
генератор
псевдослучайного
потока
сообщений,
обеспечивающий задание идентификаторов, размера и приоритета
сообщений, а также интервалов между моментами их записи в очередь и
выборки из очереди.
В результате исследования был принят ряд решений, позволивших
существенно улучшить работу подсистемы управления очередями
сообщений, в частности:
 заголовки и тела сообщений отделены друг от друга и помещены в
разные очереди, что особенно удобно для обработки групповых
сообщений, т.к. тело сообщения при этом всегда хранится в одном
экземпляре;
 в качестве структуры хранения очереди выбрано двойное дерево, в
одном из которых указатели на заголовки сообщений упорядочены
по приоритету сообщений, а в другом – по их идентификатору.
Использование двойной древовидной структуры дало возможность в
условиях эксперимента сократить среднее время доступа к очереди по
сравнению с двунаправленным списком более чем на два порядка.
Список литературы
1. Игнатович Н. IBM MQSeries: архитектура системы очередей сообщений. Журнал
"Открытые Системы", №9-10,1999. http://www.osp.ru/os/1999/09-10/036.htm
2. Москаленко А.Ш., Окороченко Г.Е. Модель асинхронного взаимодействия узлов
среды передачи сообщений. Научная сессия МИФИ-2005. Сборник научных трудов. В 15 т.
М.: МИФИ, 2005. Т. 12. Информатика и процессы управления. Компьютерные системы и
технологии. С. 171.
ISBN 5-7262-0633-9. НАУЧНАЯ СЕССИЯ МИФИ-2006. Том 12
121
Download