ОБРАБОТКА И ПЕРЕДАЧА ИНФОРМАЦИИ
УДК 004.772
И. А. Миронов, Я. А. Жук
Белорусский государственный технологический университет
ЦЕНТРАЛИЗОВАННАЯ СИСТЕМА ХРАНЕНИЯ И СИНХРОНИЗАЦИИ ЭЛЕКТРОННЫХ УЧЕБНЫХ МАТЕРИАЛОВ НА ОСНОВЕ «ОБЛАЧНЫХ» ТЕХНОЛОГИЙ
Статья посвящена описанию проблем доступности и синхронизации версий учебных материалов на устройствах преподавателей и студентов. В качестве решений данной проблемы рассматриваются такие программные средства, как FTP- и web-серверы, а также современные «облачные» хранилища. Поскольку FTP- и web-серверы решают проблему доступности, но нуждаются в дополнительных средствах оповещения о необходимости синхронизации, рекомендуется применять «облачные» хранилища, решающие весь комплекс рассматриваемых проблем. При выборе «облачного» хранилища акцент сделан на необходимость доступа к учебным материалам во время занятий, поэтому в качестве наиболее приемлемого предлагается решение с открытым исходным кодом OwnCloud, которое размещается на web-сервере в локальной сети образовательного учреждения с возможностью доступа из сети Интернет. Для данного решения рассматриваются как общие принципы организации решения в целом, так и детали реализации базы данных, файлового хранилища, серверного и клиентского приложений, синхронизации данных. Особое внимание уделено возможности расширения данного программного комплекса при помощи дополнительных пакетов из репозитория и принципам разработки собственных дополнений на основе классов серверного и клиентского приложений при помощи специализированного инструментария.
Ключевые слова: централизованное хранение, синхронизация, надежность, «облачные» технологии.
I. A. Mironov, Ya. A. Zhuk
Belarusian State Technological University
CENTRAL STORAGE AND SYNCHRONIZATION SYSTEM FOR E-LEARNING MATERIALS BASED ON "CLOUD" TECHNOLOGIES
The article describes the problems of accessibility and version synchronization of educational materials on the teachers' and students' devices. As solutions to this problem such tools as FTP and web servers, as well as modern "cloud" storages are discussed. Since the FTP and web servers solve the problem of availability, they require additional tools for synchronization, that's why the use of "cloud" storages, solving the whole complex of the problems under consideration is recommended. When choosing cloud storage, the emphasis is on the need of access to educational materials in the classroom, therefore, the most acceptable solution is open source software OwnCloud, which is hosted on a web server in the educational institutions local network with access to the Internet. The general principles of the overall solution organization and implementation details of the database, file storage, server and client applications, data synchronization are discussed for this solution. Special attention is paid to the possibility of extending this software with additional packages from a repository, design principles and specialized tools for self-made extensions development based on server and client application classes.
Key words: central storage, synchronization, reliability, "cloud" technologies.
Введение. В современной учебной практике широкое распространение получили электронные учебные материалы. Одним из преимуществ данных материалов является возможность более частого внесения изменений и до-
полнений по сравнению с печатными изданиями. Однако простота копирования данных материалов создает проблему распространения устаревших версий учебных материалов. Это обусловлено отсутствием постоянного доступа
И. А. Миронов, Я А. Жук
153
к наиболее актуальной версии материала и механизмов синхронизации между устройствами студентов и преподавателей.
Основная часть. Одним из способов решения данных проблем является размещение учебных материалов на web- и FTP-серверах, однако все обозначенные проблемы не решаются, так как требуется дополнительное оповещение о размещении на сервере новой версии материала. Поэтому необходимо более полноценное решение, соответствующее современным тенденциям в области информационных технологий.
Современное общество, став за последнее десятилетие информационным, теперь стремительно становится мобильным. Это означает, что доступ к информации и услугам обеспечивается пользователям постоянно, независимо от времени и места нахождения. Для обеспечения такой мобильности появились новые классы компьютерных устройств (смартфоны, планшеты и т. п.), а также новые технологии работы с информационными ресурсами и услугами («облачные» технологии).
Как отмечено в «Концепции информатизации системы образования Республики Беларусь на период до 2020 года» [1], одной из устойчивых мировых тенденций развития средств информатизации является миграция к так называемым «облачным» технологиям. Эти техно -логии основаны на централизованном хранении и обработке информации в центрах обработки данных (ЦОД), на гибких механизмах управления ресурсами и выделения их удаленным пользователям. В настоящее время концепция «облачных» технологий предполагает оказание следующих типов услуг пользователям:
- все как услуга (Everything as a Service). При таком виде сервиса пользователю будет предоставлено все от программно-аппаратной части до управления бизнес-процессами, включая взаимодействие между пользователями. От пользователя требуется только наличие доступа в сеть Интернет. Данный вид сервиса - это более общее понятие по отношению к другим услугам, являющимся более частными случаями;
- инфраструктура как услуга (Infrastructure as a service). Пользователю предоставляется компьютерная инфраструктура, обычно виртуальные платформы (компьютеры), связанные в сеть, которые он самостоятельно настраивает под собственные цели;
- платформа как услуга (Platform as a service). Пользователю предоставляется компьютерная платформа с установленными операционной системой и программным обеспечением;
- программное обеспечение как услуга (Software as a service). Данный вид услуги
обычно позиционируется как «программное обеспечение по требованию». Это программное обеспечение развернуто на удаленных серверах, и пользователь может получать к нему доступ посредством Интернета, причем все вопросы обновления и лицензий на данное программное обеспечение регулируются поставщиком данной услуги. Оплата в данном случае производится за фактическое использование программного обеспечения;
- аппаратное обеспечение как услуга (Hardware as a Service). В данном случае пользователю услуги предоставляется оборудование на правах аренды, которое он может использовать для собственных целей. Данный вариант позволяет экономить на обслуживании оборудования, хотя по своей сути мало чем отличается от вида услуги «Инфраструктура как сервис», за исключением того, что вы имеете «голое» оборудование, на основе которого разворачиваете свою собственную инфраструктуру с использованием наиболее подходящего программного обеспечения;
- рабочее место как услуга (Workplace as a Service). В данном случае компания использует «облачные» вычисления для организации рабочих мест своих сотрудников, настроив и установив все нужное программное обеспечение, необходимое для работы персонала;
- безопасность как сервис (Security as a Service). Данный вид услуги предоставляет возможность пользователям быстро развертывать продукты, позволяющие обеспечить безопасное использование web-технологий, безопасность электронной переписки, а также безопасность локальной системы, что дает возможность пользователям данного сервиса экономить на развертывании и поддержании своей собственной системы безопасности;
- данные как услуга (Data as a Service). Основная идея данного вида услуги заключается в том, что пользователю предоставляется дисковое пространство, которое он может использовать для хранения больших объемов информации.
Также в концепции отмечен переход от персональных компьютеров к широкому ряду личных мобильных устройств, что позволяет повысить качество обучения путем вовлечения данных устройств в учебный процесс.
Таким образом, в качестве полноценного решения обозначенных проблем предлагается использовать «облачные» и мобильные технологии и, в частности, «облачные» хранилища, выполняющие контроль версий учебных материалов и их синхронизацию со всем спектром устройств пользователей. В настоящее время общедоступные «облачные» хранилища предоставляются
154
Уентрализованная система хранения и синхронизации электронных учебных материалов
рядом крупных компании, однако с целью снижения времени доступа к учебным материалам и повышения надежности доступа к материалам на учебных занятиях было решено развернуть решение под названием OwnCloud на базе ЦОД БГТУ.
Данное решение является проектом с открытым исходным кодом. Серверное приложение разработано на языке программирования PHP и способно взаимодеиствовать с сервером баз данных MySQL. В серверном приложении с помощью media-запросов в таблицах стилей CSS и JavaScript библиотеки JQuery реализован адаптивный интерактивный web-интерфейс. Фрагмент структуры базы данных с наиболее важными таблицами представлен на рисунке.
Как видно из рисунка, для хранения логинов пользователей, их отображаемых имен и паролей используется таблица OC_users. Объединение пользователей в группы выполняется при помощи таблицы OC_group_user. Администраторы групп добавляются в таблицу OCgroupadmin. Текущие действия пользователей хранятся в таблице OCactivity для реализации совместной работы с документами. Выдаваемые пользова-
телями разрешения на общий доступ по ссылке и на доступ для других пользователей облака записываются в таблицу OC share. Свойства файлов, среди которых стоит отметить хеш-сумму и дату, хранятся в таблице OC_filecache, которая соединяется с таблицей OC users при помощи вспомогательной таблицы OCstorages. Сами файлы хранятся в файловой системе сервера в папке data, внутри которой для каждого пользователя создается своя подпапка.
Хеш-сумма используется для определения необходимости синхронизации: если рассчитанная клиентским приложением хеш-сумма не совпадает с хеш-суммой, хранящейся на сервере, и при этом дата синхронизации больше, чем дата изменения файла на клиентском устройстве, то выполняется передача файла с сервера на клиентское устройство, а если дата синхронизации меньше, чем дата изменения файла на клиентском устройстве, реализуется загрузка файла с клиента на сервер. При совпадении хеш-сумм на клиентском устройстве и на сервере передача файлов не выполняется, так как с момента последней синхронизации изменений не произошло.
Фрагмент структуры базы данных OwnCloud
И. А. Миронов, Я. А. Жук
155
Клиентские приложения разработаны при помощи кроссплатформенного инструментария QT. Компиляция исходного кода приложения в исполняемые файлы для различных операционных систем является встроенной функцией QT. Тем не менее отдельные функции интеграции с операционными системами, такие как отображение клиентского приложения на панели задач, добавление пунктов в контекстное меню и др., выполнены отдельно для операционных систем (Windows, Mac OS) и файловых менеджеров (Nautilus, Dolphin). Также для обеспечения кроссплатформенности используются директивы компилятора вида #ifdef QOSWIN.
Инициаторами синхронизации выступают клиентские приложения. Связь между клиентским и серверным приложениями выполняется по защищенному протоколу HTTPS. Обработкой всех запросов, как от клиентских приложений, так и от браузеров, занимается главный файл серверного приложения index.php.
Структура серверного приложения представляет собой панель, в которую подключаются различные модули. Главным модулем является модуль «Файлы», позволяющий просматривать, загружать и делиться файлами. Дополнительные модули, такие как текстовый редактор, календарь и др., могут быть подключены администратором.
Дополнительные модули доступны для загрузки из репозитория. Для создания собственного модуля необходимо использовать специальный инструментарий ocdev. Данный инструментарий позволяет создать все необходимые
для разработки модуля папки и файлы, включающие в себя ресурсы и маршруты, контроллер, описание структуры дополнительных таблиц базы данных, сущности, фабрики, службы, исключения и ошибки, тесты, конфигурацию. Внутри создаваемых файлов размещаются классы, наследующие соответствующие базовые классы. Для работы со списком пользователей и файловым хранилищем в собственных классах необходимо использовать соответствующие встроенные функции.
Описание таблиц базы данных выполняется в ХМЬ-документах в нотации МББ2. Обновление базы данных осуществляется автоматически при изменении в файле описания версии базы данных.
Аналогично серверному приложению, библиотеки клиентских приложений могут быть использованы для разработки собственных приложений по управлению файлами в хранилище.
Заключение. Развернутая в ЦОД БГТУ централизованная система хранения и синхронизации учебных материалов положительно зарекомендовала себя в ходе лабораторных учебных занятий студентов факультета информационных технологий. Данная система позволила преподавателям сконцентрироваться на улучшении учебных материалов, не отвлекаясь на проблемы их распространения среди студентов. Также снабжение актуальными версиями учебных материалов позволило избавить студентов от поиска актуальной информации по изучаемым дисциплинам, что было воспринято ими положительно.
Литература
1. Концепция информатизации системы образования Республики Беларусь на период до 2020 года: утв. С. А. Маскевичем 24 июня 2013 г. Минск, 2013. 20 с.
References
1. Kontseptsiya informatizatsii sistemy obrazovaniya Respubliki Belarus' naperiod do 2020 goda [The concept of the Republic of Belarus education system informatization for the period till 2020 year]. Minsk, 2013. 20 p.
Информация об авторах
Миронов Игорь Александрович - ассистент кафедры информатики и веб-дизайна. Белорусский государственный технологический университет (220006, г. Минск, ул. Свердлова, 13а, Республика Беларусь). E-mail: [email protected]
Жук Ярослав Александрович - аспирант. Белорусский государственный технологический университет (220006, г. Минск, ул. Свердлова, 13а, Республика Беларусь). E-mail: [email protected]
Information about the authors
Mironov Igor Aleksandrovich - assistant lecturer, the Department of Informatics and Web-design. Belarusian State Technological University (13a, Sverdlova str., 220006, Minsk, Republic of Belarus). E-mail: [email protected]
Zhuk Yaroslav Aleksandrovich - PhD student. Belarusian State Technological University (13a, Sverdlova str., 220006, Minsk, Republic of Belarus). E-mail: [email protected]
Поступила 04.03.2016