В настоящее время информационные системы, использующие принципы облачных технологий, активно разрабатываются и успешно внедряются в различные сферы совместной работы пользователей, удаленного хранения и обработки данных [1–5]. Основной предпосылкой для широкого внедрения в практику программных решений с использованием принципов облачных технологий является экономическая целесообразность таких сервисов. Расширение функционального спектра облачных сервисов и совершенствование их качественных характеристик является одним из актуальных на сегодняшний день направлений развития таких систем.
В данной работе представлены алгоритмы функционирования облачного сервиса групповой работы пользователей с фиксированным набором доступных пользовательских действий. Предложенные алгоритмы реализуются в нескольких разрабатываемых программных средствах, предназначенных для систем автоматизированного перевода, автоматизированных систем информационного обмена для медицинских учреждений и автоматизированных систем групповой экспертной работы.
Одной из ведущих проблем развития облачных сервисов является задача обеспечения безопасности данных, предотвращения утечки конфиденциальной информации и получения доступа неуполномоченными лицами [1, 3, 4]. При входе в систему, для обеспечения безопасности данных в разрабатываемых нами программных средствах, пользователи через администратора проходят процедуру авторизации, вводя полученные при регистрации логин и пароль. Кроме этого, хранимые в облаке данные подлежат шифрованию, что реализует специализированный программный модуль. На рис. 1 представлена схема алгоритма авторизации. Программный модуль, реализующий этот алгоритм, предназначен для присвоения пользователю прав действий в системе на основе установленной роли и доступа к ресурсам системы. Авторизация может осуществляться по трем направлениям: по сетевому интерфейсу, при обращении к виртуальной файловой системе и при взаимодействии с API. Данные пользователя при этом расположены в базе данных системы.
Рис. 1. Схема авторизации
Программный модуль, предназначенный для хранения шаблонов, документации и других материалов информационных системных объектов и объектов пользователей, реализует функции получения файла, бронирования ресурса для файла, его сегментации и трансляции сегментированных блоков в расположение места хранения. Схема функционирования модуля приведена на рис. 2.
Рис. 2. Схема хранения данных
Рис. 3. Схема функционирования модуля поиска данных
Поиск информации в системе, схематично представленный на рис. 3, реализуется с помощью программного модуля поиска по хэш-индексированным наименованиям шаблонов, документации и другим материалам. Выборка документов для результатов поиска выполняется из структуры каталога, реализованной в системной базе данных на основе технологии ключ-значение Redis. Программный модуль статистической обработки предназначен для формирования информации о работе в системе, а именно статистики по документам конкретного пользователя (рис. 4).
Рис. 4. Схема функционирования модуля формирования статистических отчетов по документам конкретного пользователя
Результаты сравнительного эксперимента
Номер эксперимента |
Средний размер файлов, кб |
Количество одновременных сессий |
Скорость копирования разрабатываемого программного обеспечения, Мб/с |
Скорость копирования системой SAMBA, Мб/с |
1 |
10 |
10 |
28,4 |
20,6 |
2 |
100 |
10 |
28,6 |
21,7 |
3 |
1000 |
10 |
28,4 |
23,8 |
4 |
10000 |
10 |
28,5 |
24,6 |
5 |
100000 |
10 |
28,5 |
25,5 |
6 |
10 |
1000 |
28,5 |
20,7 |
7 |
100 |
1000 |
28,6 |
21,7 |
8 |
1000 |
1000 |
28,6 |
23,5 |
9 |
10000 |
1000 |
28,5 |
24 |
10 |
100000 |
1000 |
28,5 |
25,5 |
В основе разрабатываемого программного обеспечения виртуальная файловая система, которая обеспечивает передачу данных, минуя физическую файловую систему на стороне клиента, поскольку данные хранятся в распределенном облаке. В процессе обработки файла из облака реализуется следующая последовательность действий: после входа в систему пользователь переходит на страницу «файлы». Далее веб-сервер обращается к серверу распределённого хранилища данных и выполняет запрос структуры каталогов и файлов, после чего сервер хранилища возвращает структуру каталогов и файлов. Веб-сервером формируется рабочая html-страница, которую использует пользующийся системой клиент. Пользователь перемещается по дереву каталогов, путем выбора гиперссылок с именами каталогов. После выбора пользователем необходимого ему файла происходит следующая последовательность действий: запрос пользователя передается веб-сервером в распределённое хранилище данных; сервером хранилища формируется файл из облака и передаётся обратно веб-серверу. Далее файл возвращается пользователю с возможностью сохранить или открыть его в соответствующем приложении или локальной файловой системе.
Для экспериментального подтверждения эффективности разрабатываемого программного обеспечения были выполнены эксперименты по сравнению его производительности и сетевой файловой системой SAMBA при работе в программном комплексе IBM Lotus Domino Server при прямом копировании с облачного сервиса на клиентское приложение. Результаты экспериментов приведены в таблице. Эксперименты проводились при загруженности процессора сервера не более 20 %, что обеспечивало отсутствие существенного влияния этого показателя на результаты эксперимента.
Таким образом, испытания показали, что разработанное программное обеспечение повышает скорость копирования практически на 20 %, при этом разрабатываемое программное обеспечение обладает положительными свойствами, характерными для облачных сервисов.
В работе использованы результаты, полученные при финансовой поддержке РФФИ в рамках проекта № 14-07-00404 «Исследование закономерностей и особенностей обработки информации и разработка общих принципов для повышения эффективности использования облачных технологий».