Бмена сообщениями проведены специальные исследования и выбран эффективный способ организации очередей для промежуточного хранения передаваемых по сети сообщений

Вид материалаДокументы
Подобный материал:

УДК 004(06) Компьютерные системы и технологии


В.Ю. БОРОДАКИЙ, Г.Е. ОКОРОЧЕНКО

Московский инженерно-физический институт (государственный университет)


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


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


Системы обмена сообщениями относят к категории промежуточного программного обеспечения (Message-Oriented Middleware), которое предоставляет услуги передачи сообщений от одних программ к другим [1, 2]. Программа-источник кладет свое сообщение во входную очередь службы, а программа приемник извлекает его из выходной очереди. Доставку сообщений служба осуществляет через ряд промежуточных серверов (менеджеров очередей), на которых сообщения также хранятся в очередях, связанных с направлениями пересылки.

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

Важнейшим фактором, от которого зависит работа подсистемы управления очередями, является структура данных для хранения очередей.

На выбор структуры в данной работе повлияли следующие основные особенности подсистемы и свойства сообщений:
  • количество сообщений в очереди может достигать нескольких тысяч, а их размер – десятков мегабайт;
  • сообщения бывают обычными и срочными;
  • сообщения могут быть направлены нескольким адресатам (групповые сообщения);
  • поиск и выборку сообщений из очереди производят по их приоритету или идентификатору.

В рамках данной работы рассмотрена только та часть подсистемы, которая для хранения сообщений использует ресурсы оперативной памяти. Это, прежде всего, относится к передаче срочных сообщений.

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

Для экспериментальной оценки эффективности разработаны программные классы, реализующие основные из этих структур. Создана программа, позволяющая протестировать надежность классов и получить количественные данные для сравнения эффективности. В программу включен генератор псевдослучайного потока сообщений, обеспечивающий задание идентификаторов, размера и приоритета сообщений, а также интервалов между моментами их записи в очередь и выборки из очереди.

В результате исследования был принят ряд решений, позволивших существенно улучшить работу подсистемы управления очередями сообщений, в частности:
  • заголовки и тела сообщений отделены друг от друга и помещены в разные очереди, что особенно удобно для обработки групповых сообщений, т.к. тело сообщения при этом всегда хранится в одном экземпляре;
  • в качестве структуры хранения очереди выбрано двойное дерево, в одном из которых указатели на заголовки сообщений упорядочены по приоритету сообщений, а в другом – по их идентификатору.


Использование двойной древовидной структуры дало возможность в условиях эксперимента сократить среднее время доступа к очереди по сравнению с двунаправленным списком более чем на два порядка.


Список литературы


1. Игнатович Н. IBM MQSeries: архитектура системы очередей сообщений. Журнал ссылка скрыта, №9-10,1999. u/os/1999/09-10/036.htm

2. Москаленко А.Ш., Окороченко Г.Е. Модель асинхронного взаимодействия узлов среды передачи сообщений. Научная сессия МИФИ-2005. Сборник научных трудов. В 15 т. М.: МИФИ, 2005. Т. 12. Информатика и процессы управления. Компьютерные системы и технологии. С. 171.


ISBN 5-7262-0633-9. НАУЧНАЯ СЕССИЯ МИФИ-2006. Том 12