Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Мережні технології оброблення інформації



Зі збільшенням масштабів застосування електронної обчислювальної техніки в наукових дослідженнях, проектно-конструкторських роботах, управлінні виробництвом і транспортом та в інших галузях стала очевидною необхідність об'єднання систем обробки даних (СОД), які обслуговували окремі підприємства і колективи. Об'єднання розрізнених СОД забезпечує доступ до даних і процедур їх обробки для всіх користувачів, об'єднаних загальною сферою діяльності.

Наприкінці 60-х рр. ХХ ст. був запропонований спосіб побудови обчислювальних мереж, які об'єднують ЕОМ (обчислювальні комплекси) за допомогою базової мережі передачі даних. Сукупність ЕОМ, об'єднаних мережею передачі даних, утворює мережу ЕОМ. До ЕОМ безпосередньо або за допомогою каналів зв'язку підключаються термінали, через які користувачі взаємодіють з мережею. Сукупність терміналів і засобів зв'язку, які використовують для підключення терміналів до ЕОМ, утворює термінальну мережу.

Обчислювальна мережа – композиція базової мережі передачі даних, мережі ЕОМ і термінальної мережі.

Обчислювальні мережі – найбільш ефективний спосіб побудови великомасштабних СОД. Їх використання дозволяє автоматизувати управління галузями виробництва, транспортом, матеріально-технічним постачанням у масштабі великих регіонів і держави в цілому. За рахунок концентрації в мережі великих обсягів інформації і загальнодоступності засобів обробки значно покращується інформаційне обслуговування досліджень. Крім цього, об'єднання ЕОМ в обчислювальні мережі дозволяє суттєво підвищити ефективність їх використання. Як свідчить практика, вартість обробки даних в обчислювальних глобальних мережах в 1,5 рази менша, ніж при застосуванні автономних ЕОМ.

Найпростішою мережею можна назвати щонайменше два комп'ютери, з'єднані між собою. Поняття ”з'єднані між собою” означає виконання двох умов:

1) ці машини мають фізичний зв'язок через спеціальні мережеві кабелі;

2) підтримують однаковий мережний протокол.

Мережний протокол – це стандарт, який обумовлює певний спосіб взаємодії пристроїв у мережі. Основна його функція полягає у визначенні послідовності передавання електричних сигналів і порядку функціонування об'єктів мережі, інакше кажучи, мережний протокол – це мова, за допомогою якої об'єкти мережі можуть спілкуватися між собою.

Такі два комп'ютери вже є локальною мережею.

Локальна мережа (LAN – local area network) – це система двох і більше комп'ютерів, об'єднаних у межах невеликої території, призначена для спільного використання мережевих пристроїв (принтерів, сканерів, плотерів тощо) та обміну інформацією.

Усі комп'ютери в мережі поділяють на два типи: робочі станції та сервери.

Робочі станції – це комп'ютери, за якими безпосередньо працюють користувачі, а сервери – спеціально виділені машини, призначені для обслуговування робочих станцій користувачів. Проте, бувають також мережі, в яких немає спеціально виділеної машини під сервер, тобто функції сервера виконує комп'ютер, який одночасно є і робочою станцією. Така мережа називається одноранговою і сьогодні є рідкісною.

Сервер (від англ. serve – обслуговування) – це окремий комп'ютер, на якому встановлене спеціальне програмне забезпечення. Таке програмне забезпечення також називають сервером. Тому потрібно розрізняти терміни ” програма-сервер ” і ” комп'ютер-сервер ”. На одному комп'ютері-сервері можна завантажити декілька програм-серверів, які виконуватимуть різні функції.

Основне завдання програми-сервера – обслуговувати запити клієнтів.

Клієнт (від англ. client – замовник) – це робоча машина, за якою працює користувач і на якій встановлена спеціальна програма – клієнт. Вона завантажується для того, щоб робоча станція могла подавати запит до сервера, який її обслуговує. Наприклад, працюючи в мережі, ви хочете на своїй робочій станції переглянути або скопіювати файл, який міститься на файловому сервері. Для цього програма-клієнт зв'язується з сервером і посилає до нього запит на отримання вказаного користувачем файла. Сервер, отримавши запит від робочої станції, відшукує файл на своєму жорсткому диску і передає на ваш комп'ютер. Такий принцип роботи між сервером та робочою станцією називається ”клієнт – сервер”.

Об'єднання локальних мереж утворює так звану глобальну мережу (WAN – wide area network). Слово ”глобальна” в цьому випадку не зовсім доречне, бо ”глобальною” всесвітньою мережею є саме Internet, а глобальна мережа (WAN) – лише його складова частина.

Глобальна мережа об'єднує щонайменше дві локальні мережі незалежно від їхнього розміру. У цьому випадку між локальними мережами повинен бути фізичний зв'язок і підтримуватися зрозумілий для них протокол.

Глобальні обчислювальні мережі реалізують міжмережеву взаємодію і можуть об'єднувати ЕОМ з локальними мережами, а також одні локальні мережі з іншими ЛОМ.

WAN – це мережа мереж або інтермережа, оскільки об'єднання ЛОМ глобальних мереж відкрило доступ до світових інформаційних ресурсів.

Програмно-апаратну основу мережних технологій складають: комп'ютерні компоненти (основні та допоміжні ЕОМ, host-ЕОМ); топологія мережі (зірка, кільце, дерево, шина); фізичне середовище передачі даних (коаксіальні та оптово-волоконні кабелі); методи доступу до фізичного середовища: випадковий і детермінований (централізований і децентралізований); операційні системи (ОС-мережеві та клієнтські); системи стандартів і мережеве забезпечення (семирівневі моделі ISO); засоби розробки прикладного програмного забезпечення (Gupta's, SQL, Microsoft Office); засоби підтримки БД (SQL – орієнтовані системи управління БД, Oracle); засоби організації користувацького інтерфейсу.

Однією з найважливіших мережних технологій є розподілена обробка даних. ПК встановлюються на робочих місцях (у місцях виникнення і використання інформації) і з'єднуються каналами зв'язку. Це дає можливість розподілити їх ресурси за окремими функціональними сферами діяльності та змінити технологію обробки даних у напрямку децентралізації.

Перевагами розподіленої обробки даних є велика кількість користувачів, що взаємодіють між собою і виконують функції збору, реєстрації, зберігання, передачі та видачі інформації; зняття пікових навантажень з централізованої БД на різних ЕОМ; забезпечення доступу інформаційного працівника до обчислювальних ресурсів мережі ЕОМ; забезпечення обміну даними між віддаленими користувачами.

Організація обробки даних залежить від способу їх розподілу. Існує централізований, децентралізований і змішаний способи розподілу даних.

Централізована організація даних (рис.4.5) є найпростішою для реалізації.

Рис. 4.5. Централізована організація даних

На одному сервері знаходиться єдина копія бази даних. Усі операції з базою даних забезпечуються цим сервером. Доступ до даних виконується за допомогою віддаленого запиту (одиничного запиту до одного сервера) або віддаленої трансакції. Перевагою такого способу є легка підтримка БД в актуальному стані, а недоліком – те, що розмір бази обмежений розміром зовнішньої пам'яті; всі запити направляються до єдиного сервера з відповідними витратами на вартість зв'язку і часову затримку. Звідси – обмеження на паралельну обробку. База може бути недоступною для віддалених користувачів при появі помилок зв'язку і повністю виходити з ладу при відмові центрального сервера.

Децентралізована організація даних передбачає розбиття інформаційної бази на декілька фізично розподілених. Кожен клієнт користується своєю базою даних, яка може бути або частиною загальної інформаційної бази (рис. 4.6), або копією інформаційної бази в цілому (рис. 4.7), що призводить до її дублювання для кожного клієнта.

Рис. 4.6. Децентралізована організація даних способом поділу

Рис. 4.7. Децентралізована організація даних способом дублювання

При розподілі даних на основі розбиття база даних розміщається на декількох серверах. Існування копій окремих частин неприпустиме.

Переваги цього методу: більшість запитів задовольняються локальними базами, що скорочує час відповіді; вартість запитів на вибірку та оновлення зменшується порівняно з централізованим розподілом; система залишиться частково працездатною, якщо вийде з ладу один сервер.

Недоліки: частина віддалених запитів може вимагати доступ до всіх серверів, що збільшує час очікування і ціну обслуговування; необхідно мати дані про розміщення інформації в різних БД. Однак доступність і надійність збільшаться.

Спосіб дублювання полягає в тому, що в кожному сервері мережі ЕОМ розміщується певна база даних.

Недоліки способу: підвищені вимоги до обсягу зовнішньої пам'яті; ускладнення коригування баз, оскільки необхідна синхронізація з метою узгодженості копій.

Переваги: всі запити виконуються локально, що забезпечує швидкий доступ. Цей спосіб використовується, коли фактор надійності є критичним, база невелика, інтенсивність оновлення незначна.

Можлива й змішана організація зберігання даних, яка об'єднує два способи розподілу: розбиття і дублювання (рис. 4.8), набуваючи при цьому і переваг, і недоліків обох способів.

З'являється і необхідність зберігати інформацію про те, де знаходяться дані в мережі. При цьому досягається компроміс між обсягом пам'яті під базу в цілому і під базу в кожному сервері, щоб забезпечити надійність і ефективність її роботи; легко реалізується паралельна обробка (обслуговування розподіленого запиту).

Рис. 4.8. Змішана організація даних

Незважаючи на гнучкість змішаного способу організації даних, залишається проблема взаємозалежності факторів, проблема її надійності та виконання вимог до пам'яті. Змішаний спосіб організації даних можна використовувати лише при наявності мережевої СУБД.

4.6.4. Технологія ”клієнт-сервер”

Технологія ”клієнт-сервер” означає таку архітектуру програмного комплексу, при якій його функціональні частини взаємодіють за схемою ” запит-відповідь ”. Якщо розглянути дві взаємодіючі частини цього комплексу, то одна з них (клієнт) виконує активну функцію, тобто ініціює запити, а інша (сервер) пасивно на них відповідає. По мірі розвитку системи ролі можуть змінюватися, наприклад певний програмний блок буде одночасно виконувати функції сервера за відношенням до одного блоку і клієнта за відношенням до іншого.

Відзначимо, що будь-яка ІС повинна мати щонайменше три основні функціональні частини:

– модулі збереження даних;

– модулі їх обробки;

– інтерфейс з користувачем.

Кожна з цих частин може бути реалізована незалежно від двох інших. Наприклад, не змінюючи програм, що використовуються для збереження й обробки даних, можна змінити інтерфейс з користувачем таким чином, що одні й ті ж дані будуть відображатися у вигляді таблиць, графіків або гістограм. Не змінюючи програм подання даних і їх збереження, можна змінити програми обробки, наприклад змінивши алгоритм повнотекстового пошуку. І врешті-решт, не змінюючи програм подання й обробки даних, можна змінити ПЗ для збереження даних, перейшовши, наприклад, на іншу файлову систему.

В класичній архітектурі ”клієнт-сервер” доводиться розподіляти три основні частини додатка за двома фізичними модулями. Зазвичай ПЗ збереження даних розташовується на сервері (наприклад, сервері бази даних), інтерфейс з користувачем – на боці клієнта, а ось обробку даних доводиться розподіляти між клієнтською і серверними частинами. Але в цьому й полягають проблеми двохрівневої архітектури, які сильно ускладнюють розробку ”клієнт-серверних” систем.

При розбивці алгоритмів обробки даних необхідно синхронізувати поведінку обох частин системи. Усі розробники повинні мати повну інформацію про останні зміни, внесені в систему, й розуміти ці зміни. Це створює певні труднощі при розробці ”клієнт-серверних” систем, їх установці і супроводу, оскільки необхідно витрачати значні зусилля на координацію дій різних груп фахівців. В діях розробників часто виникають протиріччя, а це гальмує розвиток системи й змушує змінювати вже готові і перевірені елементи.

Щоб уникнути неузгодженості різних елементів архітектури, намагаються виконувати обробку даних на одній з двох фізичних частин – або на стороні клієнта (”товстий” клієнт[3]), або на сервері (”тонкий” клієнт[4], або архітектура, що називається ”2,5- рівневий клієнт-сервер”).

Кожний підхід має свої недоліки. У першому випадку невиправдано перевантажується мережа, оскільки нею передаються неопрацьовані, а значить, надлишкові дані. Крім того, ускладнюється підтримка системи і її зміна, оскільки заміна алгоритму обчислень або виправлення помилки вимагає одночасної повної заміни усіх інтерфейсних програм, а інакше можуть виникнути помилки або неузгодженість даних. Якщо ж вся обробка інформації виконується на сервері (коли таке взагалі можливе), то виникає проблема опису вбудованих процедур і їх відлагодження. Справа в тому, що, мова опису вбудованих процедур зазвичай є декларативною і, отже, в принципі не припускає покрокового відлагодження. Крім того, систему з обробкою інформації на сервері абсолютно неможливо перенести на іншу платформу, що є серйозним недоліком.

Більшість сучасних засобів швидкої розробки додатків (RAD[5]), які працюють з різними базами даних, реалізує першу стратегію, тобто ”товстий” клієнт забезпечує інтерфейс з сервером бази даних через вбудовану мову структурованих запитів – SQL. Такий варіант реалізації системи з ”товстим” клієнтом, крім перерахованих вище недоліків, зазвичай забезпечує неприпустимо низький рівень безпеки. Наприклад, в банківських системах доводиться усім операціоністам давати права на запис в основну таблиці облікової системи. Крім того, дану систему майже неможливо перевести на Web-технологію, оскільки для доступу до сервера бази даних використовується спеціалізоване клієнтське ПЗ.

Отже, розглянуті вище моделі мають такі недоліки.

1. ”Товстий” клієнт:

– складність адміністрування;

– ускладнюється оновлення ПЗ, оскільки його заміну потрібно провадити одночасно по всій системі;

– ускладнюється розподіл повноважень, оскільки розмежування доступу відбувається не за діями, а за таблицями;

– перевантажується мережа внаслідок передачі по ній неопрацьованих даних;

– слабкий захист даних, оскільки складно правильно розподілити повноваження.

2. ”Товстий” сервер:

– ускладнюється реалізація, оскільки мови типу PL/SQL не пристосовані для розробки подібного ПЗ і відсутні прийнятні засоби відлагодження;

– продуктивність програм, написаних на мовах типу PL/SQL, значно нижче, чим створених на інших мовах, що має важливе значення для складних систем;

– програми, написані на СУБД-мовах, зазвичай працюють недостатньо надійно; помилка в них може привести до виходу з ладу усього сервера баз даних;

– програми, що отримані таким чином, повністю не можна перенести на інші системи і платформи.

Для розв'язку перерахованих проблем використовуються багаторівневі (три і більше рівнів) архітектури ”клієнт-сервер”.

4.6.5. Багаторівневі архітектури ”клієнт-сервер”

Багаторівневі архітектури ”клієнт-сервер” більш раціонально розподіляють модулі обробки даних, які в цьому випадку виконуються на одному або декількох окремих серверах. Ці програмні модулі виконують функції сервера для інтерфейсів з користувачами і клієнта – для серверів баз даних. Крім того, різні сервери додатків можуть взаємодіяти між собою для більш точного розподілу системи на функціональні блоки, що виконують певні ролі. Наприклад, можна виокремити сервер управління персоналом, який буде виконувати усі необхідні для управління персоналом функції. Зв'язавши з ним окрему базу даних, можна приховати від користувачів усі деталі реалізації цього сервера, дозволивши їм звертатися тільки до його загальнодоступних функцій. Крім того, таку систему дуже просто адаптувати до Web, оскільки простіше розробляти html-форми для доступу користувачів до певних функцій бази даних, чим до усіх даних.

У трьохрівневій архітектурі ”тонкий” клієнт не перевантажений функціями обробки даних, а виконує свою основну роль системи подання інформації, що надходить з сервера додатків. Такий інтерфейс можна реалізувати за допомогою стандартних засобів Web-технології – браузера, CGI і Java. Це зменшує об'єм даних, що передаються між клієнтом і сервером додатків, що дозволяє підключати клієнтські комп'ютери навіть повільними лініями (телефонними каналами). Крім того, клієнтська частина може бути настільки простою, що у більшості випадків її реалізують за допомогою універсального браузера. Однак якщо змінювати її все ж таки доведеться, то цю процедуру можна здійснити швидко і безболісно.

Трьохрівнева архітектура ”клієнт-сервер” дозволяє більш точно призначати повноваження користувачів, оскільки вони одержують права доступу не до самої бази даних, а до певних функцій сервера додатків. Це підвищує захищеність системи (порівняно зі звичайною архітектурою) не тільки від навмисного нападу, але й від помилкових дій персоналу.

Як приклад, розглянемо систему, різні частини якої працюють на декількох віддалених один від одного серверах. Припустимо, що від розробника надійшла нова версія системи, для встановлення якої у двохрівневій архітектурі необхідно одночасно замінити усі системні модулі. Якщо ж цього не зробити, то взаємодія старих клієнтів з новими серверами може привести до непередбачених наслідків, оскільки розробники зазвичай не розраховують на таке використання системи. В трьохрівневій архітектурі ситуація спрощується. Справа в тому, що помінявши сервер додатків і сервер збереження даних (це легко зробити одночасно, оскільки обидва вони зазвичай знаходяться поруч), ми відразу змінюємо набір доступних сервісів. Таким чином, імовірність помилки через невідповідності версій серверної і клієнтської частин різко скорочується. Якщо у новій версії якийсь сервіс зник, то елементи інтерфейсу, що обслуговують його в старій системі, просто не будуть працювати. Якщо ж змінився алгоритм роботи сервісу, то він буде коректно працювати навіть зі старим інтерфейсом.

Багаторівневі ”клієнт-серверні” системи достатньо легко можна перевести на Web-технологію – для цього достатньо замінити клієнтську частину універсальним або спеціалізованим браузером, а сервер додатків доповнити Web-сервером і невеликими програмами виклику процедур сервера. Для розробки цих програм можна використовувати як Common Gateway Interface (CGI), так і більш сучасну технологію Java.

Треба відзначити й той факт, що у трьохрівневій системі каналом зв'язку між сервером додатків і базою даних передається достатньо багато інформації. Однак це не сповільнює обчислень, оскільки для зв'язку зазначених елементів можна використовувати більш швидкісні лінії. Це вимагає мінімальних витрат, оскільки обидва сервера зазвичай знаходяться в одному приміщенні. Таким чином, збільшується сумарна продуктивність системи – над однією задачею тепер працюють два різних сервера, а зв'язок між ними можна здійснювати по більш швидкісним лініям з мінімальними витратами коштів. Правда, виникає проблема узгодженості спільних обчислень, яку покликані вирішувати менеджери транзакцій – нові елементи багаторівневих систем.





Дата публикования: 2015-01-23; Прочитано: 1547 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.011 с)...