Проект: | Распределение запросов к электронному каталогу по поисковым индексам и поисковым терминам |
---|---|
Рамки проекта: | 13.02.2006 - 05.06.2006 |
Заказчик: | Научная библиотека Петрозаводского государственного университета. | Ответственные: | Горшкова Галина Анатольевна, заведующая отделом компьютерной обработки документов и создания каталогов. Эл. почта: . Раб. тел.: 719602. Библиотека: каб. 102. Гурьев Дмитрий Борисович, ведущий программист РЦНИТ. Эл. почта:. Раб. тел.: 784775. Интернет-центр. |
Инструктор: | Кулаков Кирилл Александрович. Эл.почта:. Раб.тел.: 711015. 215 каб. |
Информация для инструктора: | Группа номер 13 |
Связанные документы: |
Обзор проекта
План проекта
График работы (диаграмма Гантта)
Спецификация требований
Проектирование
Тестирование
Документ реализации
Документ тестирования
Взаимодействие с заказчиком Связь с разработчиками Отчёты Прогресс разработки Глоссарий Руководство пользователя |
От программной системы требуется предоставление следующих локальных статистик:
Использовать следующие поисковые индексы:
Определены два типа пользователей. Первые получают статистику через веб интерфейс, а вторые кроме доступа через веб интерфейс имеют доступ к дополнительным статистикам через АРМ Администратора. Отчёты, доступные через АРМ Администратора, представлены в виде файла электронных таблиц Excel.
Пользователи могут выбирать нужные им отчёты. Некоторые отчёты требуют введения определённых данных. После ввода необходимых данных формируется запрос, который отправляется на сервер. Обработав запрос, СУБД Oracle выдаёт результат, отформатированный средствами языка разметки гипертекста.
Рис.1. Модель предметной области.
В соответствии с требованиями заказчика, схему работы с системой можно изобразить следующей диаграммой:
Рис.2. Варианты использования системы.
Пользователь вводит определенные данные в поля запроса на форме интерфейсе. После ввода необходимых данных формируется запрос, который обращается к серверу. Обработав запрос, сервер выдаёт результат, отформатированный средствами SQL Plus и представленный с помощью языка разметки гипертекста.
Рис.3. Сценарии использования системы с точки зрения пользователя.
Администратор может воспользоваться web-интерфейсом, тогда его действия идентичны действиям пользователя. Но кроме этого, администратор может получить дополнительную статистику через АРМ. Администратор формирует запрос посредством АРМ, после чего запрос отправляется на сервер. Обработав запрос, сервер выдает ответ представленный в виде файла электронных таблиц Excel .
Рис.4. Сценарии использования системы с точки зрения администратора.
Используя веб-интерфейс, пользователь делает запрос по одной из статистик. Запрос передаётся консоли SQL*Plus, которая обращается к базе данных посредством процедур на стороне сервера и создаёт отчёт по выбранной статистике. Этот отчёт в дальнейшем отображается в веб-интерфейсе. Модель схематично изображена на следующем рисунке:
Рис.5. Модель архитектуры.
Первый вид архитектуры не отличается использованием дополнительных объектов для получения интересующей информации по запросу. В нём предусмотрено существование процедур на сервере, которые вызываются при помощи клиента. После вызова процедур они выполняют команды, записанные в них, для получения данных и их обработки им необходимо получить информацию из лог таблицы. Окончательный результат запроса возвращается клиенту. Этот тип архитектуры выполняется в "лоб", что будет занимать некоторое время.
Рис.6. Вариант прямой модели архитектуры сервера.
Второй вид архитектуры в отличие от первого использует статистические кэш таблицы. Клиент обращается с запросом к кэш таблицам. Эти таблицы создаются процедурами сервера, используя данные из лог таблицы. Для вызова процедур сервера используется скрипт, который можно настроить на определённое время срабатывания. Это используется для сокращения времени обработки лог таблицы, т.е. кэш таблицы это обработанные части лог таблицы. Каждый раз при вызове хранимой процедуры СУБД вся кэш таблица заполняется заново. За счёт того, что кэш таблицы это разобранное и упрощённое воплощение содержимого лог таблицы скорость выполнения запроса должна увеличится на время, которое уходит на разбор полей лог таблицы.
Рис.7. Модель архитектуры сервера с таймером.
Третий вид архитектуры использует триггеры (хранимые процедуры, привязанные к определённой таблице, срабатывающие на определённые события), которые срабатывают при изменении лог таблицы. Первый раз таблицы заполняются запуском хранимой процедуры. Все следующие обновления кэш таблиц происходят автоматически при изменение лог таблицы, что значительно ускоряет скорость выполнения запроса.
Рис.8. Модель архитектуры сервера с триггерами.