Приложение по обработке заказов
СОДЕРЖАНИЕ
Введение
.
Основная часть
.1
Описание элементов схемы
.2
Определение емкости накопителей
.3
Построение функции распределения времени обслуживания заявки
Список
использованных источников
ВВЕДЕНИЕ
Задание на курсовую работу
Распределенный банк данных системы
сбора информации организован на базе ЭВМ, соединенных дуплексным каналом связи.
Поступающий запрос обрабатывается на первой ЭВМ и с вероятностью 50%
необходимая информация обнаруживается на месте. В противном случае необходима
посылка запроса во вторую ЭВМ. Запросы поступают через с.,
первичная обработка запроса занимает 2 с., выдача ответа требует с., передача
по каналу связи занимает 3 с. Временные характеристики второй ЭВМ аналогичным
первой.
Смоделировать прохождение 400
запросов. Определить необходимую емкость накопителей перед ЭВМ, обеспечивающую
безотказную работу системы, и функцию распределения времени обслуживания
системы.
1. ОСНОВНАЯ ЧАСТЬ
.1 Описание элементов схемы
Сама схема изображена на рис. 1.
Рисунок 1. Схема модели банка данных
Модель каждой ЭВМ состоит из следующих
элементов:_1 (Nakopitel_2) - блок FIFO Queue, имитирует дисковый накопитель
перед соответствующей ЭВМ. Параметры блока приведены на рис. 2, параметры
вывода статистики приведены на рис. 3. Блоки идентичны для обоих ЭВМ.
Рисунок 2. Параметры блока Nakopitel_1
Рисунок 3. Параметры статистики блока
Nakopitel_1
_1 (Pervichnaja_2) - блок Single Server,
имитирует процесс первичной обработки запроса. Параметры блока приведены на
рис. 4, параметры вывода статистики приведены на рис. 5. Блоки идентичные для
обоих ЭВМ.
Рисунок 4. Параметры блока Pervichnaja_1
Рисунок 5. Параметры статистики блока
Pervichnaja_1
Queue1, FIFO Queue2, FIFO Queue3, FIFO Queue4 -
блоки FIFO Queue, имитируют промежуточные хранилища данных в ЭВМ (оперативная
память, дисковая подсистема). Параметры блока приведены на рис. 6, параметры
вывода статистики приведены на рис. 7. Все блоки по своим параметрам идентичны.
запрос моделирование безотказный
Рисунок 6. Параметры блока FIFO Queue1
Рисунок 7. Параметры статистики блока FIFO
Queue1
_1 (Otvet_2) - блок Single Server, имитирует
процесс выдачи ответа на запрос. Параметры блока приведены на рис. 8, параметры
вывода статистики приведены на рис. 9. Блоки по своим параметрам идентичны для
обоих ЭВМ.
Рисунок 8. Параметры блока Otvet_1
Рисунок 9. Параметры статистики блока Otvet_1
_1 (Peredacah_2) - блок Single Server, имитирует
процесс передачи ответа по каналу связи. Параметры блока приведены на рис. 10,
параметры вывода статистики приведены на рис. 11. Блоки по своим параметрам
идентичны для обоих ЭВМ.
Рисунок 10. Параметры блока Peredacha_1
Рисунок
11. Параметры статистики блока Peredacha_1
Obraboano_1 (Obrabotano_2) - блок Entity Sink,
имитирует накопление обслуженных заявок для каждой ЭВМ. Параметры вывода
статистики приведены на рис. 12. Блоки по своим параметрам идентичны для обоих
ЭВМ.
|
Рисунок
12. Параметры статистики блока Obrabotano_1
|
_zaprosov - блок Time based Entity Generator,
имитирует поступление запросов на поиск информации. Параметры блока приведены
на рис. 13, параметры вывода статистики приведены на рис. 14.
|
Рисунок
13. Параметры блока Generator_zaprosov
|
|
Рисунок
14. Параметры статистики блока Generator_zaprosov
|
Based Random Number (1 - 3) - блоки
предназначены для формирования псевдослучайных значений времени генерирования
запросов на поиск информации (1) и значений времени, необходимых для вывода
ответа (для первой и второй ЭВМ отдельно). Параметры
блоков
Event-Based Random Number, Event-Based Random Number2, Event-Based Random
Number3 приведены
на
рис.
15, рис.
16, рис.
17 соответственно.
|
Рисунок
15. Параметры
блока
Event-Based Random Number
|
|
Рисунок
16. Параметры
блока
Event-Based Random Number2
|
|
Рисунок
17. Параметры
блока
Event-Based Random Number3
|
Блоки Intens_postupl, Intens_obrab_1,
Intens_obrab_2, Intens_obrab_vsego предназначены для вывода интенсивности
поступления заявок, интенсивности обработки заявок первой ЭВМ, интенсивности
обработки заявок второй ЭВМ, интенсивности обработки заявок для всего банка
данных соответственно. Выводимые значения вычисляются структурами Clock -
Divide, Clock2 - Divide2, Clock3 - Divide3, Clock4 - Divide4 соответственно.
Структура Add - Compare To Constant - Data Type
Conversion - Stop Simulation предназначена для принудительной остановки
процесса симуляции после прохождения 400 запросов через банк данных.
Подсистема Infa_ON_ALL предназначена для записи
в рабочую область номеров заявок, завершивших обслуживание и времени завершения
обработки для каждой заявки. Структура подсистемы представлена на рис. 18.
|
Рисунок
18. Структура подсистемы Infa_ON_ALL
|
Структура Add-Transport Delay необходима для
формирования прямоугольных импульсов для включения триггерной подсистемы.
Параметры блока Transport Delay представлены на рис. 19.
|
Рисунок
19. Параметры блока Transport Delay
|
Триггерная подсистема осуществляет
непосредственно запись данных в рабочую область. Структура триггерной
подсистемы приведена на рис. 20.
|
Рисунок
20. Структура триггерной подсистемы
|
.2 Определение емкости накопителей
Так как время первичной обработки заявки (2 с.)
горазда меньше, чем временные интервалы генерирования заявок (от 7 до 13
секунд), то очереди на обработку заявок перед первой и второй ЭВМ не возникают
и, при любом значении емкости накопителей перед ЭВМ, система будет работать без
сбоев.
График зависимости количества обработанных
заявок от времени симуляции представлен на рис. 21.
|
Рисунок
21. График зависимости количества обработанных заявок от времени симуляции
|
Уравнение прямой линии, представленной на
графике может быть найдено по формуле:
где - координаты точки А
- координаты точки В
Уравнение для данной прямой будет
иметь вид:
Временной интервал между двумя
соседними заявками равен 18.
Зная уравнение функции, используя
табличный процессор MS Excel 2010 (файл Статистика.xlsx), получаем значение
времени симуляции для каждой из обработанных заявок.
Определяем математическое ожидание
для времени обслуживания :
где n - объем выборки
- варианты или значения признака
Математическое ожидание для времени
обслуживания равно:
Вычислим среднее квадратическое
отклонение для времени обслуживания:
Вычислим стандартное отклонение для
времени обслуживания заявок:
Используя полученные данные и
встроенную функцию НОРМРАСП, получим график функции распределения времени
обслуживания заявки, представленный на рис. 22.
Нормальное распределение
(распределение Гаусса) задается следующей функцией плотности распределения:
Для полученных данных функция
плотности распределения имеет вид:
Все промежуточные данные,
использовавшиеся при расчетах не приводятся ввиду больших размеров расчетных
таблиц
.
|
Рисунок
22. График функции распределения времени обслуживания заявки.
|
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Лазарев
Ю. Моделирование процессов и систем в Matlab. Учебный курс. СПб.: Питер; Киев:
Издательская группа BHV, 2005. 512 с.