Управлять очередью заданий. Администратор должен иметь возможность
просматривать очередь заданий, блокировать и разблокировать задания, изменять
приоритет заданий, а также удалять задания (например, при подозрении на
«зависание»). Доступность этих операций определяется статусом задания. В
зависимости от статуса удаляемого задания в некоторых случаях клиенту могут
прийти промежуточные результаты.
Рисунок 11 - Диаграмма вариантов использования (администратор)
Просмотреть статистику. Администратор должен иметь возможность просматривать статистику использования системы (для оценки эффективности ее работы), включая просмотр общей статистики, статистики по определенному кластеру и по определенному пользователю, а также просмотр журнала событий, произошедших в системе.
Управлять пользователями. Администратор должен иметь возможность просматривать списки пользователей и групп, назначать пользователям и группам права на доступ к кластерам, а также изменять атрибуты пользователей (например, добавлять пользователя в группу или исключать из нее, назначать (изменять) приоритеты).
На рисунке 12 представлена диаграмма связей между web-формами интерфейса администратора.
Рисунок 12 - Диаграмма связей между web-формами интерфейса администратора
Функциональные требования:
— Реализация основных функций администратора в соответствии с пунктом 1.1.
Требования к прикладному ПО:
— Доступ к системе должен осуществляться в удаленном режиме посредством web-браузера.
Системные требования:
— Для обеспечения интеграции с системой УД и УРВР, компонент должен строиться на основе СУБД Oracle, сервера приложений Tomcat и пакета KemsuWeb.
Требования к web-интерфейсу:
— Наличие кнопок навигации по формам (перехода на родительские формы);
— Отображение всей необходимой информации об объектах;
— Генерация предупреждений при удалении объектов;
— Наличие возможностей сортировки и фильтрации отображаемой
информации.
В соответствии пунктом 1.3, были определены необходимые для компонента «Интерфейс администратора» web-формы и их содержание. Реализация web-форм показана на рисунках.
Функции управления кластерами
1. Форма «Рабочий стол администратора» (рисунок 13). На данной форме
расположены ссылки на группы функций (разделы) с описанием доступных действий в
данном разделе. При нажатии на ссылку, осуществляется переход на
соответствующую форму.
Рисунок 13 - Рабочий стол администратора (all_view.htm)
2. Форма просмотра состояния кластеров (рисунок 14). На данной форме
отображается список кластеров в системе, а также некоторые их атрибуты, такие
как: идентификатор кластера, название, описание, архитектура, операционная
система, количество процессоров (общее и доступное), максимальное количество
задач, количество запущенных задач, статус, состояние, объем памяти (общий и
доступный). Доступны операции изменения параметров кластера,
блокирования/разблокирования, удаления, перезагрузки кластера, добавления
нового кластера, а также просмотра статистики по кластеру. При выборе
определенной операции, осуществляется переход на соответствующую ей web-форму.
Рисунок 14 - Просмотр состояния кластеров (cluster_view.htm)
3. Форма добавления кластера (рисунок 15). На данной форме можно задать
основные атрибуты нового кластера, такие как: название, описание, архитектура,
операционная система, количество процессоров, максимальное количество задач,
статус, объем памяти. Значения атрибутов «Архитектура» и «ОС» задаются с
помощью выпадающих списков, содержимое которых формируется запросом к БД. При
нажатии на кнопку «Добавить», информация о новом кластере заносится в базу
данных, и осуществляется переход на форму просмотра состояния кластеров.
Рисунок 15 - Добавление кластера (cluster_add.htm)
4. Форма изменения параметров кластера (рисунок 16). Данная форма позволяет
изменить основные атрибуты выбранного кластера, такие как: название, описание,
архитектура, операционная система, количество процессоров, максимальное
количество задач, статус, объем памяти. Значения атрибутов «Архитектура» и «ОС»
задаются с помощью выпадающих списков, содержимое которых формируется запросом
к БД. При нажатии на кнопку «Применить изменения», обновленная информация
заносится в базу данных, и осуществляется переход на форму просмотра состояния
кластеров. Доступны операции блокирования/разблокирования, удаления,
перезагрузки кластера, а также просмотра статистики по кластеру. При выборе
определенной операции, осуществляется переход на соответствующую ей web-форму. Для удобства работы, на этой
форме отображается список заданий, выполняемых на изменяемом кластере, и
доступных операций с ними, а также полная информация о заданиях. Имеются
возможности сортировки и фильтрации заданий по любому атрибуту.
Рисунок 16 - Изменение параметров кластера (cluster_set.htm)
5. Форма блокирования кластера (рисунок 17). На данной форме можно заблокировать/разблокировать кластер. Отображаются основные атрибуты выбранного кластера и список выполняемых на нем заданий. Для удобства работы, на этой форме отображается список заданий, выполняемых на блокируемом кластере, и доступных операций с ними, а также полная информация о заданиях. Имеются возможности сортировки и фильтрации заданий по любому атрибуту. При нажатии кнопки «Заблокировать» или кнопки «Разблокировать», изменяется статус выбранного кластера, и осуществляется переход на форму просмотра состояния кластеров. Доступна операция просмотра статистики по кластеру.
6. Форма удаления кластера (рисунок 18). Данная форма позволяет
удалить кластер. Отображаются основные атрибуты выбранного кластера и список
выполняемых на нем заданий. Для удобства работы, на этой форме отображается
список заданий, выполняемых на удаляемом кластере, и доступных операций с ними,
а также полная информация о заданиях. Имеются возможности сортировки и
фильтрации заданий по любому атрибуту. При нажатии на кнопку «Удалить»,
информация о данном кластере удаляется из базы данных, и осуществляется переход
на форму просмотра состояния кластеров. Доступна операция просмотра статистики
по кластеру.
Рисунок 17 - Блокирование кластера (cluster_block.htm)
Рисунок 18 - Удаление кластера (cluster_del.htm)
7. Форма перезагрузки кластера (рисунок 19). На данной форме можно
перезагрузить кластер. Отображаются основные атрибуты выбранного кластера и
список выполняемых на нем заданий. Для удобства работы, на этой форме
отображается список заданий, выполняемых на перезагружаемом кластере, и
доступных операций с ними, а также полная информация о заданиях. Имеются
возможности сортировки и фильтрации заданий по любому атрибуту. При нажатии на
кнопку «Перезагрузить», в БД происходит изменение статуса кластера, вследствие
чего, на кластер должна отправляться команда на перезагрузку. В настоящее время
данная функция не поддерживается системой УД и УРВР. Доступна операция
просмотра статистики по кластеру.
Рисунок 19 - Перезагрузка кластера (cluster_reload.htm)
Функции управления очередью заданий
8. Форма просмотра очереди заданий (рисунок 20). Данная форма позволяет
просмотреть список заданий в системе, а также их основные параметры, такие как:
идентификатор задачи, название, описание, идентификатор пользователя,
идентификатор расчета, идентификатор кластера, требуемые количество
процессоров, объем памяти, время запуска и окончания обсчета задания, его
статус и приоритет. Для обеспечения удобства просмотра, предусмотрены
возможности фильтрации и сортировки заданий по любому параметру. В зависимости
от статуса задания, доступны определенные операции, такие как: изменение
приоритета задания, блокирование, удаление задания (с отправкой клиенту
промежуточных результатов или без).
Рисунок 20 - Просмотр очереди заданий (queue_view.htm)
9. Форма изменения приоритета задания (рисунок 21). На данной форме можно
изменить приоритет задания. Отображаются основные атрибуты выбранного задания.
При нажатии на кнопку «Применить изменения», обновленная информация заносится в
базу данных, и осуществляется переход на форму просмотра очереди заданий.
Данная операция доступна, если задание находится либо в состоянии «Поставлено в
очередь», либо в состоянии «Ожидает».
Рисунок 21 - Изменение приоритета задания (queue_set.htm)
10. Форма блокирования задания (рисунок 22). Данная форма позволяет
заблокировать/разблокировать задание. Отображаются его основные атрибуты. При
нажатии кнопки «Заблокировать» или кнопки «Разблокировать», соответственным
образом изменяется статус выбранного задания, и осуществляется переход на форму
просмотра очереди заданий. Данная операция доступна, если задание находится в
одном из следующих состояний: «Новое», «Поставлено в очередь», «Ожидает» или
«Заблокировано» (т.е. до того, как задание было запущено на кластере).
Рисунок 22 - Блокирование задания (queue_block.htm)
11. Форма удаления задания (рисунок 23). На данной форме можно удалить задание. Отображаются основные атрибуты выбранного задания. При нажатии на кнопку «Удалить», задание помечается на удаление, и осуществляется переход на форму просмотра очереди заданий. В связи с использованием информации о заданиях для сбора статистики и расчета приоритетов пользователей, задания физически не удаляются из базы данных. Данная операция доступна, если задание находится в одном из состояний, связанных с ожиданием на сервере или обработкой на кластере.
Функции просмотра статистики использования системы
12. Форма просмотра журналов (рисунок 24). Данная форма позволяет
просмотреть список событий, произошедших в системе, с указанием даты, времени и
типа события. Для обеспечения удобства просмотра, предусмотрены возможности
сортировки по любому атрибуту и фильтрации записей по категории, дате и
идентификатору события.
Рисунок 23 - Удаление задания (queue_del.htm)
Рисунок 24 - Просмотр журнала событий (log_view.htm)
13. Форма просмотра общей статистики использования системы. На данной форме отображаются характеристики системы в целом, такие как: количество запущенных заданий, число созданных проектов и расчетов, число скомпилированных проектов, общее время выполнения заданий и среднее время, потраченное на задание, количество заданий, завершенных успешно/неудачно и др. Статистика предоставляется за любой выбранный период функционирования системы, по умолчанию - за последнюю неделю. Форма находится в разработке.
14. Форма просмотра статистики по кластеру. Данная форма предоставляет подробную информацию об использовании конкретных кластеров системы. Здесь отображаются основные характеристики использования ВР. Форма находится в разработке.
. Форма просмотра статистики по пользователю. Данная форма предоставляет подробную информацию об активности конкретных пользователей системы. Здесь отображаются основные характеристики использования системы. Форма находится в разработке.
Функции управления пользователями
16. Форма управления пользователями. На данной форме будут доступны функции: просмотра списков пользователей и групп, назначения пользователям и группам прав на доступ к кластерам и изменения атрибутов пользователей, в частности, принадлежности группам. При реализации этих функций, будут производиться манипуляции с данными в таблицах T_ACCESS, T_GROUP_ACCESS, T_USER и T_USER_GROUP. Форма находится в разработке.
На всех формах есть кнопки для перехода на родительскую форму (например, кнопка «Рабочий стол» на форме просмотра состояния кластеров). Кроме того, при удалении кластеров или заданий, выдается предупреждение, и требуется подтверждение операции (во избежание случайного удаления).
Для обеспечения работы функций интерфейса администратора, также был реализован ряд web-форм служебного назначения, посредством которых происходит вызов хранимых в БД процедур и функций из пакета p_admin.
Список служебных форм:
- cluster_add2.htm - вызывает функцию добавления нового кластера;
- cluster_block2.htm - вызывает функции блокирования/разблокирования кластера;
- cluster_del2.htm - вызывает функцию удаления кластера;
- cluster_reload2.htm - вызывает функцию перезагрузки кластера;
- cluster_set2.htm - вызывает функцию изменения параметров кластера;
- queue_block2.htm - вызывает функцию блокирования задания;
- queue_set2.htm - вызывает функцию изменения приоритета задания;
- queue_del2.htm - вызывает функцию физического удаления задания;
- task_res.htm - вызывает функции удаления задания
и получения промежуточных результатов.
Для реализации функций администратора в базе данных был написан пакет p_admin. Сейчас он содержит 20 процедур и функций, использующихся в администраторской части.
Состав пакета p_admin:
cluster_add - процедура добавления кластера;
Входные параметры:
- in_name (VARCHAR2) - имя кластера,
- in_description (VARCHAR2) - описание кластера,
in_arch_id (NUMBER) - идентификатор архитектуры кластера,
- in_os_id (NUMBER) - идентификатор операционной системы кластера,
- in_proc_num (NUMBER) - число процессоров в кластере,
- in_max_task (NUMBER) - максимальное число заданий, обрабатываемых кластером одновременно,
- in_status (VARCHAR2) - статус кластера,
in_mem (NUMBER) - объем памяти кластера;
Выходной параметр:
- out_res (VARCHAR2) - показатель успешности выполнения процедуры.
cluster_block - процедура для блокирования или разблокирования кластера;
Входные параметры:
- in_id (NUMBER) - идентификатор кластера;
- in_action (NUMBER) - код операции (блокировать или разблокировать);
Выходной параметр:
- out_res (VARCHAR2) - показатель успешности выполнения процедуры.
cluster_del - процедура удаления кластера;
Входной параметр:
- in_id (NUMBER) - идентификатор кластера;
Выходной параметр:
- out_res (VARCHAR2) - показатель успешности выполнения процедуры.
cluster_set - процедура изменения параметров кластера;
Входные параметры:
- in_id (NUMBER) - идентификатор кластера,
- in_name (VARCHAR2) - имя кластера,
- in_description (VARCHAR2) - описание кластера,
in_arch_id (NUMBER) - идентификатор архитектуры кластера,
- in_os_id (NUMBER) - идентификатор операционной системы кластера,
- in_proc_num (NUMBER) - число процессоров в кластере,
- in_max_task (NUMBER) - максимальное число заданий, обрабатываемых кластером одновременно,
- in_status (VARCHAR2) - статус кластера,
in_mem (NUMBER) - объем памяти кластера;
Выходной параметр:
- out_res (VARCHAR2) - показатель успешности выполнения процедуры.