Для реализации архитектуры клиент / сервер в дипломном проекте был использован сервер InterBase компании Inprise (прежнее название – Borland). Выбор в пользу именно этого сервера был сделан по следующим причинам.
InterBase – «родной» сервер для Delphi и для доступа к нему не нужно устанавливать дополнительных драйверов. Продукция фирмы Inprise(Borland) давно зарекомендовала себя с положительной стороны.
InterBase весьма прост в установке и не требует дополнительных усилий по настройке. InterBase относительно прост в администрировании по сравнению с другими SQL-серверами. Установка программного обеспечения клиента также чрезвычайно проста.
Сервер InterBase использует ряд уникальных технологий. Например, активное ядро сервера реализует блокировку данных на уровне отдельных записей. Кроме того, сервер не прихотлив и практически не требует администрирования. Этот сервер обладает прекрасными функциональными возможностями [3]. Также InterBaseработает практически со стандартным SQL (дополнения и изменения невелики).
За работой сервера внимательно следит утилита InterBase Guardian, ее пиктограмма видна на нижней панели Windows. Эта утилита осуществляет начальный запуск сервера, а также его перезапуск, если по каким-либо причинам сервер «рухнул». Фактически восстановление работоспособности сервера происходит за считанные доли секунды, так что многие пользователи даже, возможно, не заметят сбоя в работе. [3]
Кроме того, в вариант поставки DelphiEnterpriseвходит InterBase 4.2 для Windows 32, что делает его доступным для большинства пользователей.
В Delphi 5 для работы с данными, когда в качестве сервера баз данных задействуется InterBase, поддерживается технология InterBaseExpress(IBX), с помощью которой компоненты IBX связываются с сервером минуя BDE через программный интерфейс IBDataBaseAPI, который предоставляется клиентской частью IBDataBase. Созданные прикладные системы будут обладать максимально возможной производительностью, способностью работать при минимально доступных ресурсах и смогут использовать специфические возможности этого сервера баз данных: сигнализаторы событий, поля BLOB, средства двухфазного завершения транзакций и т.п.
2.4 Построение математической модели
Разработанный программный продукт предназначен для использования его в архитектуре клиент / сервер. Предполагается, что сеть будет включать сервер и 3 клиентских компьютера. Рассмотрим следующую схему обработки сервером запросов от клиентских компьютеров.
Рисунок 3
От рабочих станций к серверу поступают запросы. Сервер должен обслуживать запросы, приходящие от клиентов. При чем в каждый момент времени сервер может выполнять запрос только от одной рабочей станции. Если рабочая станция при обращении к серверу застает его в этот момент свободным, то ее заявка обслуживается немедленно. В противном случае, она становится в очередь и ждет пока сервер не освободится и не выполнит ее запрос.
Для рабочих станций возможны следующие состояния:
-работа в локальном режиме;
-обмен информацией с сервером, который включает:
· обращение к серверу;
· получение информации от сервера;
· ожидание;
-ожидание в очереди.
Для сервера возможны следующие состояния:
-ожидание запросов;
-обмен информацией с одной из рабочих станций, включающий:
· прием информации от клиента;
· обработка информации для клиента;
· передача информации клиенту.
Как нетрудно убедиться, эта система обслуживания сервером клиентских компьютеров представляет собой замкнутую систему массового обслуживания (рис. 4). Заявки (запросы от рабочих станций), обслуженные системой, опять возвращаются в источник заявок и дополняют его, вновь становясь потенциальными источниками появления заявок.
Система состоит из одного канала обслуживания (сервер) и трех источников заявок (рабочие станции). Сервер может одновременно обслуживать только одну заявку (запрос рабочей станции). На вход системы из ограниченного источника поступает поток заявок, поэтому в системе может находиться не более 3 заявок. Заявки, которые поступили в систему и застали канал обслуживания свободным, сразу же идут на обслуживание. Если же при поступлении заявки канал обслуживания занят, то заявка становится в очередь и ждет до тех пор, пока канал не освободится.
Время появления заявок в системе, т.е. время обращения рабочих станций к серверу, t является случайной величиной. Примем, что поток поступающих заявок является пуассоновским. Интенсивность потока требований каждой рабочей станции равна l0, а интервал времени между обращениями к серверу имеет показательное распределение с плотностью:
.Интенсивность потока заявок, поступающих к серверу, зависит от того, сколько рабочих станций в данный момент работают в локальном режиме. Если в системе N потенциальных источников заявок и n из них обслуживаются в среднем в единицу времени или ожидает очереди для обслуживания (т.е. находится в системе), то плотность потока заявок в системе будет равна:
.Тогда для нашей системы имеем:
. (1)Время обслуживания заявки, т.е. продолжительность обработки сервером данных для рабочих станций, Q также является случайной величиной и в общем случае ее закон распределения может быть отличен от показательного. Если считать, что Q имеет показательное распределение:
,то рассматриваемая замкнутая система массового обслуживания относится к классу марковских систем и ее параметры могут быть оценены аналитически.
Рисунок 5
Изобразим процесс перехода компьютерной сети в процессе работы из одного состояния в другое в виде графа состояний (рис. 5).
Возможные состояния системы:
0. все станции работают в локальном режиме, сервер «простаивает»;
1. одна станция обслуживается сервером, остальные работают локально;
2. одна станция обслуживается сервером, одна станция ждет обслуживания в очереди, одна станция работает локально;
3. одна станция обслуживается сервером, две другие станции ждут обслуживания в очереди.
Напишем линейные алгебраические уравнения для финальных вероятностей состояний данной системы (их существование вытекает из того, что из каждого состояния можно перейти в каждое другое, и число состояний конечно) [8]. Для состояния 0 имеем:
. (2)Для состояния 1:
.В силу формулы 2 это равенство приводится к виду:
.Аналогично можно вывести формулы для остальных состояний. Тогда получим следующую систему уравнений:
Вводя в систему нормировочное условие
P0 + P1 + P2 + P3 = 1,
решим эту систему уравнений и получим выражения для нахождения финальных вероятностей.
Величина
называется интенсивностью обслуживания. Тогда получим следующие формулы:Приведем расчетные формулы для некоторых других характеристик системы:
1. среднее число заявок в системе в единицу времени:
; (7)2. коэффициент «простоя» сервера:
3.
; (8)4. среднее время между обращениями рабочих станций к серверу:
; (9)5. среднее время пребывания заявки в системе (время ожидания рабочей станцией данных от сервера):
Зададим численные значения интенсивностей l0 и m и найдем характеристики системы.
Пусть l0 = 0.2
(t = 5 сек.),m = 0.5
(Q = 2 сек.).Тогда
.Вычислим финальные вероятности системы (по формулам 3-6):
,