ЖУРНАЛ СТА 3/2009

П РОГ РАММНОЕ ОБ Е СП Е Ч Е НИ Е / СИС Т ЕМЫ Р Е АЛ Ь НОГО В Р ЕМЕ НИ несено выполнение тех или иных вы- числительных задач. Для обеспечения такой возможности QNX Neutrino под- держивает механизм, который позволяет распределять запросы клиентов между процессами-серверами, выполняющи- мися на разных узлах сети Qnet. Суть механизма заключается в том, что при получении от клиента запроса на установление соединения сервер может вместо возврата клиенту идентифика- тора соединения перенаправить клиента к другому серверу, имеющему другое пу- тевое имя. Решение о перенаправлении может за- даваться разработчиком АС на основе различных исходных данных, например с учётом загрузки физических каналов связи или текущей загрузки серверов, реально обрабатывающих запросы кли- ентов. Кроме того, этот механизм может быть использован в интересах информа- ционной безопасности. Т ЕХНОЛОГИЯ АВТОМАТИЧЕСКОГО ВОССТАНОВЛЕНИЯ ПРОЦЕССОВ Автоматическое восстановление про- цессов позволяет повышать коэффици- ент готовности АС путём сокращения времени восстановления работоспособ- ного состояния. В основе этой технологии лежит уже упоминавшийся монитор ключевых процессов. Основное назначение мони- тора – максимально быстрое определе- ние факта сбоя серверного приложения и принятие мер для восстановления нор- мальной работы сервиса. Чтобы выполнять свои задачи, мони- тор для начала «клонирует» самого себя, то есть порождает дублирующий про- цесс, которому, используя механизм разделяемой памяти, предоставляет полную информацию о мониторинге АС [2]. Монитор и его дублёр строго следят друг за другом, и при сбое од- ного из них второй процесс немедленно порождает новый процесс-дублёр. В ка- честве объекта мониторинга могут быть заданы любые (серверные или клиент- ские) процессы, выполняющиеся как на той же ЭВМ, что и монитор, так и на других узлах Qnet. Для каждого из объектов мониторинга указывается пе- речень событий, на которые следует реагировать монитору. Например, со- бытиями являются завершение про- цесса-объекта или его перезапуск. И на- конец, для каждого из событий опре- деляется реакция – действие или перечень действий. Технология автоматического восста- новления процессов позволяет создавать сценарии многоступенчатого восста- новления достаточно сложных распре- делённых АС. На одной ЭВМ может быть запущен один тандем монитора ключевых процессов и его дублёра. Мо- ниторы могут быть запущены на любом количестве узлов Qnet. И при этом каж- дый из мониторов сети Qnet может конт- ролировать объекты, работающие на лю- бом из доступных узлов Qnet. Т ЕХНОЛОГИЯ АВТОМАТИЗАЦИИ ВОССТАНОВЛЕНИЯ ЛОГИЧЕСКИХ СОЕДИНЕНИЙ Эта технология предназначена для со- хранения логических соединений между клиентами и серверами в случаях вре- менных отказов физических линий связи. Суть решаемой проблемы заключается в следующем. При отсутствии физиче- ского соединения системные средства поддержки сетевых протоколов пы- таются в течение определённого вре- мени (тайм-аута) «достучаться» до уда- лённой ЭВМ. Если по истечении тайм- аута соединение не восстановилось, функция в приложении, инициировав- шая передачу данных, завершится с ошибкой, имеющей определённый код. Следовательно, для обеспечения восста- новления работоспособности приложе- ния при сбоях физических линий связи программист должен предусмотреть в клиентской программе обработку кодов ошибок, возникающих при разрывах со- единений, и принять меры к восстанов- лению соединений. Это существенно усложняет программирование. Для того чтобы разделить логику вы- полнения прикладной задачи и логику обработки отказов линий связи, а также для автоматизации идентификации от- каза в приложении существует техноло- гия восстановления логических соеди- нений, основанная на использовании библиотеки восстановления клиента (Client Recovery Library). Обычно её со- четают с технологией автоматического восстановления процессов, как это по- казано на рис. 3. З АКЛЮЧЕНИЕ Думаю, что сказанного достаточно для иллюстрации уникальных возмож- ностей микроядерной архитектуры QNX Neutrino, которые в сочетании с различ- ными штатными средствами позволяют создавать АС жёсткого реального вре- мени высокой надёжности. Следует помнить, что справочная служба QNX Neutrino содержит беспрецедентно об- ширную документацию, и данное обстоятельство в сочетании с доступ- ностью исходных текстов этой популяр- ной ОС РВ открывает перед разработ- чиками чрезвычайно богатые возмож- ности. ● Л ИТЕРАТУРА 1. Операционная система реального времени QNX Neutrino 6.3. Руководство пользова- теля: пер. с англ. – СПб. : БХВ-Петербург, 2009. – 480 с.: ил. 2. Зыль С.Н. QNX Momentics. Основы при- менения. – СПб.: БХВ-Петербург, 2004. – 149 с.: ил. Автор – сотрудник ООО«СВДВстраиваемые системы» E-mail: s.zyl@kpda.ru 90 www.cta.ru CTA 3/2009 Монитор Дублёр монитора Драйвер Приложение Сервер Клиент Статус мониторинга Самовосстанавливающиеся соединения Мониторинг и восстановление приложений Рис. 3. Схема использования технологии автоматического восстановления процессов и соединений © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy