Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursach_OUVS.docx
Скачиваний:
6
Добавлен:
26.09.2019
Размер:
85.61 Кб
Скачать

Федеральное агентство связи

Государственное образовательное учреждение высшего профессионального образования

«Сибирский государственный университет телекоммуникаций и информатики»

Кафедра вс

Курсовая работа по дисциплине

«Отказоустойчивые вычислительные системы»

на тему: «Отказоустойчивая система на примере клиент серверной технологии: запрос погоды»

Выполнили:

Студенты гр. ИУ-010

Ильин Е.О.

Каргин А.В.

Проверил:

Майданов Юрий Сергеевич

Новосибирск 2012

Содержание

Введение.....................................................................................................................3

Постановка задачи………………………………………………………………….4

Алгоритм работы программы……………………………………………………...5

Функции и процедуры……………………………………………………………...6

Интерфейс…………………………………………………………………………...7

Код программы………………………………………………………………………8

Заключение………………………………………………………………………….12

Введение

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

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

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

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

Постановка задачи

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

Сервер 1

Сервер 2

Клиент

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

Алгоритм работы

  1. Запускается сервер и альтернативный сервер, прослушивающие 999 порт по всем диапазонам айпи адресов. В случае получения пакета по этому порту анализируется содержащаяся в пакете информация, если первый символ “p” то это пакет проверки связи от клиента, после символа «p» содержится айпи адрес отправителя на который отправляется пакет аналогичного типа с информацией о том что сервер доступен. Если второй символ «z», то это запрос погоды, в таком случае сервер формирует ответный пакет содержащий информацию о температуре воздуха и облачности.

  2. Аналогично работает второй сервер.

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

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

Структура пакетов:

«Пинг» клиента:

Р<адрес клиента>

«Пинг» сервера:

Р

Запрос погоды:

Z<адрес клиента>

Ответ с погодой

Z;температура;облачность; - ; разграничение для анализа строки

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]