Проект: | Распределение запросов к электронному каталогу по поисковым индексам и поисковым терминам |
---|---|
Рамки проекта: | 13.02.2006 - 05.06.2006 |
Заказчик: | Научная библиотека Петрозаводского государственного университета. | Ответственные: | Горшкова Галина Анатольевна, заведующая отделом компьютерной обработки документов и создания каталогов. Эл. почта: . Раб. тел.: 719602. Библиотека: каб. 102. Гурьев Дмитрий Борисович, ведущий программист РЦНИТ. Эл. почта:. Раб. тел.: 784775. Интернет-центр. |
Инструктор: | Кулаков Кирилл Александрович. Эл.почта:. Раб.тел.: 711015. 215 каб. |
Информация для инструктора: | Группа номер 13 |
Связанные документы: |
Обзор проекта
План проекта
График работы (диаграмма Гантта)
Спецификация требований
Проектирование
Тестирование
Документ реализации
Документ тестирования
Взаимодействие с заказчиком Связь с разработчиками Отчёты Прогресс разработки Глоссарий Руководство пользователя |
Программная система состоит из трёх модулей: интерфейса, механизм создания отчётов и таблиц.
Модуль интерфейса в свою очередь состоит из формы доступа, на которой расположены кнопки (ссылки) на запросы. Номера запросов соответствуют номерам запросов из спецификации первичных требований.Модуль механизма создания отчётов содержит триггеры: разбора строки, обновления статистики; функцию вывода результатов. Триггер разбора строки состоит из функции разбора строки, функции обновления статистики. Функции предназначены для заполнения таблиц статистики и запросов, данные берутся из лог – таблицы.
Рис.1. Проект архитектуры.
Триггер обновления статистики предназначен для заполнения таблицы запросов и вызывается, при изменении таблицы запросов.
Модуль таблиц содержит таблицы: статистики и запросов.
При добавлении данных в лог - таблицу они разбираются по таблицам статистики и запросов, используя при этом триггер разбора строки. В котором функция обновления статистики заполняет таблицу статистики, а функция разбора строки заполняет таблицу запросов. К тому же таблица разбора строки сама обновляется при поступлении данных при помощи триггера обновления статистики привязанного к ней.
Модуль интерфейса представлен главной страницей и страницей с результатом запроса. На главной странице расположены четыре ссылки на CGI скрипт. Скрип написан на языке Shell и вызывает утилиту SQL Plus, которая делает запрос и формирует результат в виде HTML странички.
Интерфейс с модулем механизма создания отчётов через утилиту SQL plus.
Рис.2. Модуль интерфейса взаимодействие с другими модулями.
Состоит из 4 функций, хранящихся в пакете stat_report_pack на сервере БД и шаблона таблицы MS Excel и правила заполнения шаблона.
Название | Описание | Входные данные | Выходные данные |
---|---|---|---|
Request_cut_trig | Триггер разбора строки запроса из лог таблицы | переменная new (содержит добавляемую запись) | Обработанная запись |
Statistics_update_trig | Триггер обновления статистики | переменная new (содержит добавляемую запись) | Обработанная запись |
Request_cut_func | Функция разбора строки | переменная new (содержит добавляемую запись) переменная ind (начальная позиция поиска) | Id добавленной записи |
Statistics_update_func | Функция обновления статистики | переменная new (содержит добавляемую запись) | Обработанная запись |
Statistics_print_func | Функция вывода результата | переменная new (содержит добавляемую запись) start_dt (дата начала промежутка) end_dt (дата конца промежутка) field (поле для подсчёта) | Строка (состоит из 7 чисел) |
Интерфейс с модулем создания таблиц через утилиту SQL Plus.
Содержит таблицы, которые генерируются и изменяются с помощью функции, содержащихся в модуле механизма создания отчётов.
Интерфейс с модулем механизма создания отчётов через утилиту SQL Plus.
В проекте две основных структуры данных: таблица статистики и таблица запросов. Эти таблицы необходимы для ускорения работы системы и содержат в себе информацию, как из лог-таблицы так и частично уже обработанную информацию из лог-таблицы. Что обеспечивает увеличение производительности системы за счет снижения нагрузки на сервер при конкретном обращении, т.е. эти таблицы формируются по ходу изменения лог-таблицы, а не при выполнение конкретного запроса.
Поле | Тип | Описание |
---|---|---|
Id | NUMBER (6) NOT NULL PRIMARY KEY | Идентификатор |
R_date | DATE | Дата (день, месяц, год) |
Reqday | NUMBER (5) | Кол-во запросов за день |
Reqindex | VARCHAR2 (50) | Кол-во запросов за день по индексу (строка из 7 чисел, соответствующих индексам) |
Reqsec | VARCHAR2 (50) | Кол-во уточняющих запросов за день по индексу (строка из 7 чисел, соответствующих индексам) |
Reqdif | VARCHAR2 (50) | Кол-во сложных запросов за день по индексу (строка из 7 чисел, соответствующих индексам) |
Reqres | VARCHAR2 (50) | Кол-во результативных запросов за день по индексу (строка из 7 чисел, соответствующих индексам) |
Reqnull | VARCHAR2 (50) | Кол-во нулевых запросов за день по индексу (строка из 7 чисел, соответствующих индексам) |
Поле | Тип | Описание |
---|---|---|
Id | NUMBER (6) NOT NULL PRIMARY KEY | Идентификатор |
Ind | VARCHAR2 (10) | Внешний ключ на таблицу, где содержатся индексы |
Krit | VARCHAR2 (5) | Внешний ключ на таблицу, где содержатся критерии |
Termin | VARCHAR2 (50) | Поисковый термин |
Iftype | VARCHAR2 (50) | Тип соединения запросов |
Idadd | NUMBER (5) | Ссылка на следующую часть запроса |
Res | NUMBER (5) | Результат (кол-во) |
R_Type | VARCHAR2 (50) | Тип запроса |
Freq | NUMBER (5) | Частота появления запроса |
В системе присутствуют четыре наиболее сложных алгоритма. Все они реализованы в виде хранимых функций, процедур или триггеров.
Рис.3. Триггер обновления статистики.
Рис.4. Функция разбора строки.
Рис.5. Функция обновления статистики.
Рис.6. Функция вывода результатов.
Для установки системы необходимо создать две таблицы: статистики ("table_of_statistics") и запросов("table_of_requests"). Эти таблицы описаны в структурах данных. Далее необходимо инсталлировать на сервер пакет install.sql при помощи стандартных средств SQL Plus. В пакете содержатся все функции и триггеры программной системы.
Действие: Открывает форму отображения статистики
Входные параметры: запрос SQL Plus, поисковый индекс равен номеру текущего месяца
Выходные параметры: статистические данные, результат запроса
Действие: Открывает форму отображения статистики
Входные параметры: запрос SQL Plus, поисковый индекс равен номеру текущего года
Выходные параметры: статистические данные, результат запроса
Действие: Открывает форму отображения статистики
Входные параметры: период учета статистики (с первого года учета по текущий)
Выходные параметры: статистические данные, результат запроса
Действие: Открывает форму отображения статистики
Входные параметры: запрос SQL Plus.
Выходные параметры: результат запроса, статистические данные
Действие: Открывает форму отображения статистики
Входные параметры: запрос SQL Plus
Выходные параметры: результат запроса, статистические данные
Рис.7. Шаблон, используемый для отображения данных в Интернете.
В АРМ администратора для отображение статистических данных будет использоваться шаблон следующего вида.
Рис.8. Шаблон используемый для отображения данных в АРМ Администратора.
Заказчик предъявил первоначальный список требований. После обработки этих требований командой разработчиков, требования были рецензированы заказчиком.