Установка ОС Linux за 500 рублей!!!
 
 
Главная
 

 

Универсальный сервер

Ресурсы, накопленные за годы существования СУБД часто оказываются невостребованы из-за проблем обеспечения широкого доступа к ним через Web. Сервер являются технологической основой разработки информационных систем в компании Интернета, призван облегчить эту задачу путем реализации функций универсального шлюза для выхода во Всемирную паутину. Основная цель разработки — реализация интеллектуального алгоритма обработки запросов и распределения вычислительных ресурсов, обеспечивающего управление качеством сервиса, а не только его предоставление как такового. В статье рассмотрены основные принципы внутренней организации сервера, особенности его реализации и использования для удержания показателей качества (например, времени ответа) в некоторых заданных пределах.

Проблема обеспечения качества сервиса наиболее остро стоит перед разработчиками информационных систем, работающих в режиме реального времени. Например, время ответа системы обслуживания биржевых торгов должно быть минимальным, чтобы оставить брокеру как можно больше времени на принятие решения. Уменьшить время ответа можно, увеличив вычислительные мощности, обслуживающие систему, но эти мощности будут востребованы лишь на короткий период торговой сессии, все остальное время они будут простаивать. Проблема может быть решена путем размещения на одних и тех же вычислительных ресурсах различных информационных систем с разными приоритетами, например, разместить на одном сервере систему on-line торгов и систему доступа к архивной информации, менее требовательную ко времени ответа. В этом случае, на время торговой сессии максимальное количество ресурсов должно быть предоставлено системе торгов, в остальное время ресурсы будут использованы системой доступа к архиву.

Большинство существующих на сегодняшний день технологий не предусматривают реализацию подобных саморегулирующихся систем и тем более не позволяют сформулировать требования в терминах показателей качества, например: «время ответа системы X не должно превышать 1 секунды, а вероятность отказа системы Y обязана быть на более 3%». Универсальный сервер предоставляет разработчикам подобный интерфейс управления системой в целом. Эта возможность обеспечена использованием в оригинальных алгоритмов, основанных на методах теории массового обслуживания и позволяющих в реальном времени оценивать и корректировать показатели качества сервиса.

В задачи управляющего модуля входят обеспечение запуска и остановки сервера, распределение ресурсов компьютера между модулями, сбор и визуализация статистики. Приемник обеспечивает получение запроса от клиента и передачу его одному из сервисов. Задача сервиса — принять клиентский запрос от приемника, обработать и либо сообщить клиенту о завершении обработки (успешном или ошибочном), либо передать частично обработанный запрос другому сервису. Все сервисы имеют одинаковую структуру, различия между ними заключаются лишь в логике функционирования обработчиков.

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

Если посмотреть на универсальный сервер с точки зрения архитектуры клиент-сервер, то мы увидим, что это несколько серверных компонентов, объединенных единым блоком управления. Подобная схема реализации универсального сервера имеет целый ряд достоинств. Во-первых, она хорошо подходит для реализации на объектно-ориентированном языке программирования, что, в свою очередь, ведет к существенному снижению трудозатрат на расширение функциональности сервера. Фактически, для добавления нового сервиса необходимо лишь создать модуль обработчика, вся остальная инфраструктура уже существует и едина для всех сервисов. Второе достоинство в том, что распределение ресурсов компьютера между сервисами происходит на уровне модуля управления сервера, что позволяет реализовать более гибкую схему распределения, чем в случае, когда сервисы — это независимые процессы и распределение ресурсов происходит на уровне операционной системы. Кроме того, благодаря наличию связей между сервисами внутри сервера, значительно снижается накладной расход на обработку комплексных запросов, то есть таких запросов, в обработке которых участвуют два или более сервисов.

Обмен данными между клиентом и сервером происходит по протоколу TCP/IP — началом сеанса работы можно считать организацию нового TCP/IP соединения между клиентом и приемником сервера. Задача приемника в этом случае — просто принять соединение и, не производя никаких действий, передать его на обработку специально выделенному сервису-диспетчеру. Заметим, что диспетчер выделен лишь с точки зрения логики его работы, в остальном — это такой же сервис, как и все остальные. В задачи диспетчера входят (в порядке исполнения).

1. Безусловная проверка возможности соединения (допустимо ли вообще соединение с IP адреса клиента).

2. Получение заголовка запроса (кто осуществил соединение и к какому сервису требуется обращение, при необходимости — авторизация клиента).

3. Условная проверка возможности соединения (имеет ли доступ этот клиент к запрашиваемому сервису).

4. Вычисление приоритета запроса, исходя из внутренних правил и пожеланий клиента.

5. Постановка запроса в очередь на обслуживание требуемым сервисом в соответствии с вычисленным приоритетом.

Задача сервиса в данной конфигурации — извлечь из очереди запрос клиента, обработать его, возвратить клиенту результат и либо завершить обработку запроса, либо передать его (поставить в очередь) на дальнейшую обработку другому сервису.
Применение системы

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

 

-------------------------------
Установка ОС
---------------------
W i n d o w s:
- Windows XP, - Windows 7
- Windows Vista


B S D:
- FreeBSD, - OpenBSD
- NetBSD, - DragonFly BSD
- PC-BSD, - РУС-BSD
- Mac OS X, - DesktopBSD


L i n u x:
- Debian, - Fedora, - Slackware
- Ubuntu, - OpenSuse


S o l a r i s


- подробнее >>

-------------------------------
Установка ПО
---------------------
Офисные программы
Антивирусы
Видеокодеки
Драйвера
Родительский контроль
подробнее >>

-------------------------------
Обслуживание
---------------------
Абонентское
Апгрейд ПК
Настройка, ремонт ПК
Поддержка ПО
подробнее >>

-------------------------------
Лицензирование ПО
---------------------
- Для чего это нужно?
- Ответственность за пиратское ПО.
- Не придут ли однажды за вами?
- Что делать если за вами все-таки пришли?

 

-------------------------------
WEB-Дизайн
---------------------
Разработка сайта
- Дизайн сайта
- Размещение Web-сайта
- Разработка логотипа
- Хостинг
Поддержка сайта
- Обновление сайта
- Заполнение сайта
- Продвижение сайта
подробнее >>

-------------------------------
Монтаж
---------------------
Фото
- Сканнирование
- Ретушь, реставрация
Видео

- Оцифровка видео
- Монтаж видео
подробнее >>

-------------------------------
GPS-Навигаторы
---------------------
Прошивка
- Установка карт
- Установка ПО
- Настройка

- подробнее

-------------------------------
Серверы
---------------------
- Универсальные серверы
- Маршрутизация
- Динамическая маршрутизация
- Сетевые службы
- Информационные службы
- Файл-серверы
- Серверы доступа к данным
- Службы обмена сообщениями
- Серверы удаленного доступа
- Игровые серверы
- Серверные решения

 

 
 
Тел.: +7 951 792 793 6 © ТЕХНОЗЛАТ Info@TEXNOZLAT.ru
Linux Solaris BSD Администрирование Акции Главная