Современные информационные
технологии/3.Программное обеспечение
Артемов
И.Ю.
Тверской
государственный технический университет, Российская Федерация
Использование кластерных технологий в
программных комплексах автоматизации процедуры сбора данных
В текущий момент
времени, большинство крупных производителей товаров повседневного спроса (FMCG)
заинтересованы в повышении эффективности работы сотрудников отделов продаж
(торговых представителей - ТП). Одним из возможных способов повышения
эффективности является использование SFA (sales force automation) систем.
Характерной особенностью использования SFA систем у крупных
производителей является то, что данные компании напрямую не осуществляют продаж
продукции. Продажами занимаются дистрибуторы (как правило, территориально
распределённые по всей стране), в рамках которых работают сотрудники
производителя. Также необходимо учитывать тот факт, что у дистрибуторов и
производителя разные корпоративные информационные системы (КИС). При этом часть
данных собранных ТП должна передаваться дистрибуторам (это заказы продукции), а
другая часть производителю (информация о представленности продукции в торговой
точке).
С учётом всего перечисленного, в настоящий момент времени,
наиболее часто используются следующие варианты развёртывания SFA-систем:
·
У
каждого дистрибутора устанавливалось серверное оборудование SFA-системы. Данный
сервер подключался к КИС дистрибутора и отвечал за обслуживание небольшой
группы ТП.
·
В
специализированном дата-центре устанавливается сервер SFA-системы, который
отвечает за обслуживание всех дистрибуторов и ТП.
В связи с тем, что дистрибуторов у производителя достаточно
много (как правило сотни), то первый вариант развёртывания SFA-систем
характеризуется как высокой стоимостью владения (совокупная стоимость
оборудования, программного обеспечения и дальнейшей поддержки
аппаратно-программного комплекса), так и чрезвычайно низкой надёжностью
(возрастает вероятность выхода оборудования из строя; нестабильность каналов
связи у дистрибуторов и т. д.). Главным достоинством данного варианта
является возможность распределения нагрузки на серверные элементы SFA-системы и
ускорения попадания данных в КИС дистрибутора.
Второй вариант развёртывания SFA-системы (единый сервер)
позволяет (в большей или меньшей степени) устранить все перечисленные выше
недостатки первого варианта, однако в данном случае к серверу SFA-системы
предъявляются повышенные требования по надёжности аппаратно-программного
комплекса в целом. На самом деле, проблема надёжности выходит на первый план,
т. к. выход центрального узла из строя приведёт к калапсу всей
SFA-системы.
Фактически, единственным способом, которым можно повысить
отказоустойчивость системы является организация кластера состоящего из
нескольких узлов [1]. Под кластером понимается группа компьютеров,
объединённых высокоскоростными каналами связи и представляющая с точки зрения
пользователя единый аппаратный ресурс. К кластеру SFA-системы предъявляются следующие основные требования:
·
кластер
должен гарантировать высокую отказоустойчивость системы, связанную с возможным
выходом аппаратного обеспечения сервера из строя;
·
кластер
не должен содержать центрального узла;
·
все
узлы кластера должны работать полностью автономно друг от друга (взаимное
влияние узлов должно быть полностью исключено);
·
узлы
кластера после сбоя должны вводиться в эксплуатацию без необходимости временной
остановки всей системы.
В настоящее время выделяют следующие виды кластеров [1, 2]:
·
Отказоустойчивые
кластеры (High-availability clusters,
HA, кластеры высокой доступности);
▪ с холодным резервом;
▪ с горячим резервом;
▪ с модульной
избыточностью.
·
Кластеры
с балансировкой нагрузки (Load balancing clusters).
·
Вычислительные кластеры (High perfomance computing clusters).
·
Grid-системы.
Для решения поставленной задачи необходимо использовать
кластера высокой доступности с модульной избыточность. Только в этом случае
гарантируется, что разные узлы кластера будут находится всегда в едином
состоянии, либо различия гарантировано не повлияют на дальнейшую работу. При
этом, количество узлов, входящих в кластер, должно быть не менее двух,
желательно расположенных в разных дата-центрах. Все остальные виды кластеров,
по тем или иным причинам, не позволяют решить поставленную задачу в полной
мере: отказоустойчивые кластеры с холодным/горячим резервом подразумевают
потенциальную возможность простоя, если основной узел вышел из строя и не
гарантируютне эквивалентность данных хранящихся на узлах; кластер с
балансировкой нагрузки предполагает наличие центральных узлов, отвечающих за
диспетчерезацию данных; вычислительные кластера и grid-системы используются
для других целей.
С учетом всего перечисленного выше, схема элементов HA-кластера
с модульной избыточностью будет иметь вид, приведенный на рисунке. Как видно из
приведенной на рискнке схемы, кластер не содержит центрального узла, все
элементы кластера равноправны и не зависят друг от друга. Выход любого узла
кластера из строя не повлечёт за собой отказ всей системы. Процедура выбора
доступного узла кластера реализована на стороне мобильного терминала. Данный
подход позволяет отказаться от использования центрального узла кластера,
который отвечает за диспетчеризацию принимаемых потоков данных. Фактически, за
диспетчеризацию данных отвечает каждый мобильный терминал самостоятельно.
Схема взаимодействия
элементов SFA-системы
(HA-кластер
с модульной избыточностью)
В заключении необходимо отметить, что разработанная
архитектура кластера высокой доступности с избыточной модульностью позволяет
реализовать SFA-систему, работающую в режиме 24X7X365,
т. е. фактически обеспечивать необходимый сервис в непрерывном режиме в
любой момент времени круглый год.
Литература:
1. Brian S. Everitt,
Sabine Landau, Morven Leese. Cluster Analysis. A Hodder Arnold Publication
2001, pp. 120-234.
2. Пономаренко В.С., Листровой С.В., Минухин С.В. Методы и модели планирования ресурсов в GRID-системах, НЖЭК, 2008, С. 95 — 102.