к.т.н.
В.Ю. ШАДХІН, Р.М. ЛУЦЕНКО, Д.С. ЛИННИК
Черкаський державний технологічний університет
ЕВРИСТИЧНІ АЛГОРИТМИ
ДИНАМІЧНОГО КЕРУВАННЯ РОЗПОДІЛОМ ПОТОКУ ЗАЯВОК В КОМП’ЮТЕРНИХ МЕРЕЖАХ
Існує кілька способів розподілу
навантаження:
§
DNS із
циклічним обслуговуванням (у більшості систем уже не використовується);
§
кругове
балансування навантаження, метод найменшого числа підключень;
§
метод
"зважених характеристик";
§
алгоритм
балансування навантаження, що одержав назву "найшвидший";
§
метод
найбільшого числа підключень;
§
моніторинг
за допомогою серверного демона.
Найбільш ефективний і гнучкий, на наш погляд, є
метод розподілу навантаження з використанням серверного демона. Використання
цього методу розподілу навантаження обумовлене можливістю, одержувати
достовірну інформацію про стан інформаційних серверів і на підставі отриманих
даних оперативно впливати на розподіл потоку даних.
Механізм розподілу навантаження між серверами
мережі
Серверна мережа, як згадувалося раніше,
являє собою ряд розподілених серверів зв'язаних між собою каналами зв'язку. У якості
каналів зв'язки використовується Internet і Ethernet з'єднання, VPN мережі, або
інші способи серверної комунікації. Якість з'єднання й пропускна здатність
каналів зв'язки для кожного сервера індивідуальна, як і апаратне забезпечення,
через що сервера мають різну продуктивність. Крім забезпечення роботи мережі,
сервера вирішують свої локальні завдання, що також впливає на їхню
продуктивність.
Сервера мережі розділяються на два типи:
інформаційні сервера й "Демон" серверів. Інформаційні сервера
обслуговують заявки клієнтів, на кожному з них виконується завдання, яке ми
будемо йменувати "агентом" інформаційного сервера. Демон серверів
виконує збір даних про систему й ухвалює рішення щодо адміністрування
розподіленої серверної мережі. Схематично робота серверної мережі представлено
на Рис. 3.1.
Агенти інформаційних серверів - це
самостійні одиниці розподіленої серверної мережі, кожний з них має власна
вистава про навколишнє його середовище, побудоване виходячи із власних даних і
даних отриманих від інших агентів інформаційних серверів. На даному етапі
розвитку розподілених систем немає єдиного визначення агента [1]. Ми під інтелектуальним агентом будемо
розуміти систему, що володіє рядом характеристик:
-
автономність.
Дії агента визначаються тільки його внутрішнім станом, ніякі зовнішні
подразники не можуть директивно впливати на поведінку агента, якщо це не було
передбачено його структурою;
-
реактивність.
Агенти існують у рамках деякого оточення, з яким взаємодіють, тобто здатні сприймати
зміни середовища й реагувати на них;
-
проактивність.
Проявляють цілеспрямовану поведінку для розв'язку свого завдання, тобто агент
намагається розв'язати поставлене перед ним завдання в умовах мінливого
середовища, для чого планує свої дії самостійно;
-
соціальні
здібності. Здатність взаємодіяти й кооперуватися один з одним для розв'язку
поставлених завдань.
Завданням агента є збір інформації про
навантаження на свій інформаційний сервер і формуванні звітних даних у
якій-небудь формі. Координатором роботи серверної системи виступає виділений
сервер - Демон серверів. Даний сервер збирає інформацію від агентів
інформаційних серверів, аналізує її й ухвалює рішення щодо розподілу потоку
заявок клієнтів між інформаційними серверами мережі.
Клієнтами мережі виступають вилучені термінали.
Зв'язок між клієнтами й серверами організована засобами Інтернет з'єднання,
можливі варіанти локальної або віртуально-локальної мережі з'єднання [2].
клієнт клієнт клієнт клієнт клієнт клієнт дані запит до серверної системи відсоток навантаження фактична адреса серверу Демон серверів агент Аналізатор стану системи Маршрутизатор агент Сервер Б Сервер А дані інтернет Модуль розподілу навантаження

Рисунок 1 – Схема роботи системи розподілу
навантаження
Наприклад, керуючий проектом може запустити або
призупинити виконання завдань, але він не управляє агентами в системі,
відмінними від себе самого як агента.
Крім менеджера проекту, передбачається відсутність
централізованого керування завданнями. Підзадачі створюються, коли необхідно
задовольнити деяких запит. У системі відсутнє глобальне планування, як
централізоване, так і розподілене. Хоча, звичайно, існують заздалегідь певні
послідовності виконання деяких підзадач. Якщо відомо, що деяку підзадачу найкраще
виконувати саме в цьому порядку, то порядок буде застосований.
Важливим є питання глобальної цілісності мережі. У
системі підтримується тільки мінімальний рівень цілісності. Передбачається, що
кожний агент має локальну копію даних моделі, з якої він працює. У деяких
випадках, наприклад при проектуванні механізмів, є можливість організувати
одночасну роботу декількох агентів над однією моделлю [3]. Але навіть у цьому випадку різні версії проекту, створювані різними
групами зберігаються окремо в окремих базах даних з різними версіями.
Об'єднання версій проекту, що надходять від окремих груп, відбувається з деякою
періодичністю на нарадах. За цей процес відповідальний менеджер продукту, який,
за допомогою відповідного об'єднуючого інструмента, створює загальну версію
проекту, з якої робота буде продовжена в рамках груп.
Клієнти є джерелом формування заявок. Потрапляючи
в серверну систему, заявки обробляються Демоном серверів.
Даний сервер виконує ряд дій по аналізі стану
системи й передає запит клієнта на один з інформаційних серверів мережі.
Інформаційний сервер, у свою чергу, одержуючи переадресований запит клієнта,
обробляє його, формує пакет звітних даних по запиту й відправляє його
клієнтові. Надалі, якщо зв'язок клієнта з інформаційним сервером не переривалася,
то всі запити, сформовані клієнтом, обробляються даним інформаційним сервером.
На Рисунку 2 представлений алгоритм обміну даними клієнта із серверною
системою.


Рисунок 2 – Алгоритм обміну даними клієнта
з інформаційної
системою
Розглянутий евристичний алгоритм обміну даними
клієнта із серверною системою ілюструє узагальнений механізм роботи серверної
мережі (Рисунок 1).
Висновки.
Було отримано евристичний алгоритм
обміну даними клієнта з розподіленою серверною мережею. Описана ієрархічна
модель розподіленої серверної мережі. Сформульовані загальні принципи взаємодії
між об'єктами мережі, дають узагальнена вистава про методи обміну даними в
системі у зв'язуваннях: клієнт - сервер, демон - інформаційний сервер.
Література:
1.
Олифер В.Г, Олифер Н.А. Компьютерные сети: Принципы, технологии, протоколы. –
СПб.: Питер, 2003. – 576с.
2.
Ананьев А.Н. Разработка и исследование методов расчета задержки в корпоративных
сетях региональных операторов связи. – Автоматика, связь, информатика. – 2002.
– №10. – С. 31 – 34.
3.
Уолрэнд Дж. Телекоммуникационные и компьютерные сети. Вводный курс. – М.:
Постмаркет, 2001. – 480с.