log_sort - процедура для просмотра журнала событий с возможностями сортировки и фильтрации по идентификатору, дате и категории события;
Входные параметры:
- in_sort (VARCHAR2) - имя атрибута, по которому будет выполняться сортировка,
- in_prdk (VARCHAR2) - показатель направления сортировки (asc/desc),
- in_fltr_id (VARCHAR2) - показатель применения фильтрации событий по идентификатору,
- in_fltr_class (VARCHAR2) - показатель применения фильтрации событий по категории,
- in_fltr_date (VARCHAR2) - показатель применения фильтрации событий по времени происхождения,
- in_op_id (VARCHAR2) - название операции сравнения при фильтрации событий по идентификатору,
- in_op_class (VARCHAR2) - название операции сравнения при фильтрации событий по категории,
- in_op_date (VARCHAR2) - название операции сравнения при фильтрации событий по времени происхождения,
- in_value_id (VARCHAR2) - сравниваемое значение при фильтрации событий по идентификатору,
- in_value_class (VARCHAR2) - сравниваемое значение при фильтрации событий по категории,
- in_value_date (VARCHAR2) - сравниваемое значение при фильтрации событий по времени происхождения;
Выходной параметр:
- out_queue (REF CURSOR) - курсор, содержащий список событий и сопутствующую информацию.
queue_block - процедура для блокирования или разблокирования задания;
Входные параметры:
- in_id (NUMBER) - идентификатор задания;
Выходной параметр:
- out_res (VARCHAR2) - показатель успешности выполнения процедуры.
queue_del - процедура физического удаления задания;
Входной параметр:
- in_id (NUMBER) - идентификатор задания;
Выходной параметр:
- out_res (VARCHAR2) - показатель успешности выполнения процедуры.
queue_set - процедура изменения приоритета задания;
Входные параметры:
- in_id (NUMBER) - идентификатор задания,
- in_rank (NUMBER) - значение приоритета задания;
Выходной параметр:
- out_res (VARCHAR2) - показатель успешности выполнения процедуры.
queue_op_SetRank (NUMBER) - функция, определяющая доступность операции изменения приоритета задания;
Входные параметры:
- in_id (NUMBER) - идентификатор задания.
queue_op_Block (NUMBER) - функция, определяющая доступность операции блокирования задания;
Входные параметры:
- in_id (NUMBER) - идентификатор задания.
queue_op_UnBlock (NUMBER) - функция, определяющая доступность операции разблокирования задания;
Входные параметры:
- in_id (NUMBER) - идентификатор задания.
queue_op_GetRes (NUMBER) - функция, определяющая доступность операции получения промежуточных результатов вычислений;
Входные параметры:
- in_id (NUMBER) - идентификатор задания.
queue_op_Del (NUMBER) - функция, определяющая доступность операции удаления задания;
Входные параметры:
- in_id (NUMBER) - идентификатор задания.
queue_sort - процедура для просмотра очереди заданий с возможностями сортировки и фильтрации по нескольким атрибутам.
Входные параметры:
- in_sort (VARCHAR2) - имя атрибута, по которому будет выполняться сортировка,
- in_prdk (VARCHAR2) - показатель направления сортировки (asc/desc),
- in_filter (VARCHAR2) - имя поля, по которому будет выполняться фильтрация заданий,
- in_op (VARCHAR2) - название операции сравнения при фильтрации заданий,
- in_value (VARCHAR2) - сравниваемое значение при фильтрации заданий;
Выходной параметр:
- out_queue (REF CURSOR) - курсор, содержащий список заданий и сопутствующую информацию.
task_res - процедура для удаления задания с получением промежуточных результатов или без;
Входные параметры:
- in_id (NUMBER) - идентификатор кластера;
- in_action (NUMBER) - код операции (забирать промежуточные результаты или нет);
Выходной параметр:
- out_res (NUMBER) - показатель успешности выполнения процедуры.
cluster_access (NUMBER) - функция проверки прав доступа пользователя к кластеру;
Входные параметры:
- in_user_id - идентификатор пользователя,
- in_cluster_id - идентификатор кластера.
Следующие функции находятся в разработке:
cluster_reload - процедура перезагрузки кластера;
Входной параметр:
- in_id (NUMBER) - идентификатор кластера;
Выходной параметр:
- out_res (VARCHAR2) - показатель успешности выполнения процедуры.
analyze_general - процедура для вывода общей статистики использования системы за указанный период времени.
Входные параметры:
- in_start_time (VARCHAR2) - дата начала обзора статистики,
- in_finish_time (VARCHAR2)
- дата окончания обзора статистики;
Выходной параметр:
- out_queue (REF CURSOR) - курсор, содержащий статистическую информацию: список характеристик системы и их значения за указанный период времени.
analyze_cluster - процедура для вывода статистической информации по использованию определенного кластера за указанный период времени.
Входные параметры:
- in_start_time (VARCHAR2) - дата начала обзора статистики,
- in_finish_time (VARCHAR2) - дата окончания обзора статистики,
- in_cluster_id (NUMBER) - идентификатор кластера;
Выходной параметр:
- out_queue (REF CURSOR) - курсор, содержащий статистическую информацию по заданному кластеру: список характеристик и их значения за указанный период времени.
analyze_user - процедура для вывода статистической информации по использованию системы определенным пользователем за указанный период времени.
Входные параметры:
- in_start_time (VARCHAR2) - дата начала обзора статистики,
- in_finish_time (VARCHAR2) - дата окончания обзора статистики,
- in_user_id (NUMBER) - идентификатор пользователя;
Выходной параметр:
- out_queue (REF CURSOR) - курсор, содержащий статистическую информацию по
заданному пользователю: список характеристик и их значения за указанный период
времени.
В рамках проекта (РНП.3.2.3.4256): «Создание типового
информационно-вычислительного портала для организации учебной и научной
деятельности ВУЗа» аналитической ведомственной целевой программы «Развитие
научного потенциала высшей школы (2006-2014 годы)» в 2006-2007 годах был
реализован прототип клиентского интерфейса системы УД и УРВР, в котором были
заложены базовые функции. В ходе выполнения данной работы, этот прототип был
адаптирован к измененной структуре данных системы, а также была существенно
расширена его функциональность.
Были определены следующие функции клиента системы УД и УРВР:
- Управление проектами:
- Просмотреть список своих проектов;
- Создать проект;
- Добавить (удалить) файлы проекта:
— make-файл;
— файлы исходного кода;
- Изменить параметры проекта (компилятор, ОС, архитектура);
- Отправить проект на компиляцию;
- Удалить проект;
- Работа с очередью заданий:
- Просмотреть список своих заданий;
- Создать задание;
- Получить промежуточные результаты вычислений;
- Удалить задание;
- Управление сериями и расчетами:
- Создать серию (подсерию) расчетов;
- Создать расчет;
- Просмотреть дерево серий и расчетов;
- Удалить расчет;
- Удалить серию расчетов;
- Работа с результатами вычислений:
- Просмотреть файлы результатов/ошибок расчета;
- Просмотреть файлы результатов/ошибок всех расчетов в заданной серии, включая ее подсерии;
- Удалить файлы.
Для формализации механизма функционирования данного компонента системы, были составлены следующие диаграммы:
— Диаграмма вариантов использования;
— Диаграмма последовательности действий;
— Диаграмма связей между web-формами.
Диаграмма вариантов использования для клиента системы УД и УРВР представлена на рисунке 25.
Управлять проектами. Клиент должен иметь возможность просматривать список своих проектов, создавать и удалять проекты, добавлять (удалять) make-файлы и файлы исходного кода, компилировать проекты, изменять их атрибуты, такие как: компилятор, вычислительная архитектура и операционная система.
Управлять сериями и расчетами. Клиент должен иметь возможность просматривать дерево серий и расчетов, создавать и удалять серии (подсерии) и расчеты, добавлять и удалять файлы данных.
Рисунок 25 - Диаграмма вариантов использования (клиент)
Управлять заданиями. Клиент должен иметь возможность просматривать список своих заданий, создавать и удалять задания, получать промежуточные результаты выполнения задания.
Работать с результатами вычислений. Клиент должен иметь возможность просматривать файлы результатов и ошибок для расчета, а также для всех расчетов серии (включая ее подсерии), а также удалять файлы результатов и ошибок.
Диаграмма последовательности действий (рисунок 26) описывает типовой сценарий работы клиента с системой УД и УРВР.
На рисунке 27 представлена диаграмма связей между формами интерфейса клиента.
Функциональные требования:
— Реализация функций клиента в соответствии с пунктом 2.1.
Требования к прикладному ПО:
— Доступ к системе должен осуществляться в удаленном режиме
посредством web-браузера.
Рисунок 26 - Диаграмма последовательности действий (клиент)
интерфейс удаленный вычислительный распределительный
Рисунок 27 - Диаграмма связей между web-формами интерфейса клиента
Системные требования:
— Для обеспечения интеграции с системой УД и УРВР, компонент должен строиться на основе СУБД Oracle, сервера приложений Tomcat и пакета KemsuWeb.
Требования к web-интерфейсу:
— Наличие кнопок навигации по формам (перехода на родительские формы);
— Отображение всей необходимой информации об объектах;
— Генерация предупреждений при удалении объектов;
— Наличие возможностей сортировки и фильтрации отображаемой информации.
Требования к защите информации:
— Система должна предусматривать разграничение возможностей манипулирования информационными объектами в зависимости от уровня привилегий пользователя.
В соответствии пунктом 2.3, были определены необходимые для компонента «Интерфейс клиента» web-формы и их содержание. Реализация web-форм показана на рисунках.
1. Форма просмотра списка клиентских проектов (рисунок 28). На данной
форме отображается список проектов клиента с описанием и указанием статуса и
даты последней модификации. Доступны операции редактирования и удаления
проекта, а также создания проекта (кнопка «Создать проект»).
Рисунок 28 - Просмотр списка проектов (projects.htm)
2. Форма создания проекта (рисунок 29). На данной форме можно задать
основные атрибуты нового проекта, такие как: название, описание, компилятор,
вычислительная и параллельная архитектуры, операционная система. Значения
атрибутов «Компилятор», «Операционная система», «Вычислительная архитектура» и
«Параллельная архитектура» задаются с помощью выпадающих списков, содержимое
которых формируется запросом к БД. При нажатии на кнопку «Добавить проект»,
информация о новом проекте заносится в базу данных, и осуществляется переход на
форму просмотра списка проектов.
Рисунок 29 - Создание проекта (project_ins.htm)
3. Форма редактирования проекта (рисунок 30). На данной форме отображается полная информация о проекте: идентификатор, название, описание, дата модификации и статус текущего проекта. Далее показаны основные параметры проекта, такие как: компилятор, вычислительная и параллельная архитектуры и операционная система. Их можно изменить с помощью кнопки «Изменить параметры проекта». Затем следует блок управления файлами проекта. В нем отображаются относящиеся к проекту файлы исходного кода и make-файл, а также кнопки для добавления файлов и компиляции проекта. В случае ошибки при компиляции, отображается файл ошибки и сопутствующая информация. Далее показывается дерево серий и расчетов с указанием их названия и описания, а также кнопки для создания и удаления серий (подсерий) и расчетов, редактирования расчетов и просмотра файлов результатов и ошибок всех расчетов серии.
. Форма создания серии расчетов (рисунок 31). На данной форме можно
задать название и описание новой серии расчетов. При нажатии на кнопку «Создать
серию», информация о новой серии расчетов заносится в базу данных, и
осуществляется переход на форму редактирования родительского проекта.
Рисунок 30 - Редактирование проекта (project_view.htm)
5. Форма создания расчета (рисунок 32). На данной форме можно задать
название и описание нового расчета. При нажатии на кнопку «Создать расчет»,
информация о новом расчете заносится в базу данных, и осуществляется переход на
форму редактирования родительского проекта.
Рисунок 31 - Создание серии расчетов (series_ins.htm)
Рисунок 32 - Создание расчета (calculation_ins.htm)
6. Форма редактирования расчета (рисунок 33). На данной форме отображается основная информация о расчете: идентификатор, название, описание, дата модификации и статус текущего расчета. Далее показан список файлов данных для этого расчета с указанием имени, размера и даты модификации каждого файла. Доступны операции просмотра, редактирования, удаления файлов, а также добавления файлов данных. В блоке «Просмотр заданий» показаны все задания, относящиеся к данному расчету, а также подробная информация о каждом задании. В зависимости от текущего статуса задания, доступны определенные операции, такие как: блокирование, получение промежуточных результатов и удаление задания (с получением промежуточных результатов или без). Далее расположена таблица файлов результатов и ошибок для данного расчета, в которой представлена полная информация о каждом файле. Доступна операция удаления файла. Затем следует блок постановки расчета в очередь на вычисление, где представлены поля для выбора кластера, определения описания задания, требуемого количества процессоров, объема оперативной памяти и времени запуска (возможны варианты немедленного или отложенного запуска). В поле «Параметры командной строки» задаются специальные опции запуска. При нажатии на кнопку «Поставить в очередь», в БД формируется задание, и осуществляется переход на форму редактирования родительского проекта.
7. Формы добавления исходного, make-файла и файла данных (рисунок 34). На данных формах
(их вид одинаков) присутствует поле для ввода полного пути к загружаемому
файлу, а также кнопка «Обзор» (для поиска файла с помощью диалогового окна
«Выбор файла»). При нажатии на кнопку «Загрузить», происходит загрузка
выбранного файла в БД, и осуществляется переход на форму редактирования
родительского проекта (при загрузке файла данных - на форму редактирования
расчета).
Рисунок 34 - Добавление исходного файла (sourcefile_set.htm)