информационные технологии »

advertisement
Раздел: информационные технологии.
Разработка информационной системы «Дистанционная лаборатория»1
Автор: ассистент кафедры радиофизики и электроники ФГБОУ ВО «СГУ им.
Питирима Сорокина» Квочкин Дмитрий Олегович, г. Сыктывкар
Основной целью научно-технической разработки является создание
простого и легковесного клиент-серверного приложения, позволяющее удовлетворить потребности естественнонаучных лабораторий в сборе и хранении информации по проведённым экспериментам. Для достижения поставленной цели необходимо решить ряд задач, среди них в первой части разработки выделяются следующие: построение модели ИС, выбор подходящих
программных средств для реализации «front-end» и «back-end» звеньев, создание концептуальной модели базы данных ИС, проработка первичных алгоритмов работы промежуточного звена «application server».
Рис. 1. – Структура информационной системы.
Отличительными особенностями разработки являются: возможность
создания распределённой БД, объединение научных сообществ в рамках одной «научной сети».
1
Работа выполнена при поддержке гранта «УМНИК-2014» по договору № 8219ГУ2/2015
от 02.12.2015 г.
Разрабатываемая информационная система классифицируется как многозвенная распределённая групповая автоматизированная информационносправочная система (со структурой «клиент-сервер»). Общий вид модели ИС
приведён на рис. 1.
Центральным узлом ИС является сервер, на котором располагаются:
1. БД пользователей (обеспечивающая авторизацию в системе),
2. БД экспериментов (обеспечивающая структурированное хранение информации о том или ином эксперименте),
3. СУБД для доступа к обеим базам данных («back-end»),
4. Веб-сервер в связке с веб-фреймворком в качестве промежуточного звена («application server»),
5. Функциональный веб-сайт («front-end») для доступа пользователя
к базе данных экспериментов,
6. Приложение-сервис «Менеджер лаборатории», обеспечивающее
низкоуровневый доступ к лабораторным установкам.
Связь сервера ИС с экспериментальными установками обеспечивается
через согласующие аппаратные модули с одной стороны и программным
обеспечением сервера с другой стороны. Аппаратные модули могут быть
специфическими коммерческими разработками, предоставляющие возможность для сбора и обработки данных по стандартным интерфейсам: RS-232,
USB, Ethernet, или аппаратные модули собственной разработки. В настоящее
время, в рамках тестирования и первичной наладки ИС в качестве аппаратного модуля использовуется собственная разработка сетевого модуля сбора
данных, обеспечивающая передачу информации с экспериментальных установок в сеть передачу данных стандарта Ethernet, выполненная на связке
микроконтроллера ATmega8 и Ethernet-контроллера ENC28J60. Предложенное аппаратное решение является неотъемлемой частью (в отсутствии прочих сторонних коммерческих модулей-систем сбора данных) информацион-
ной системы, обеспечивающее низкоуровневый доступ сервера ИС к экспериментальным установкам.
Функциональный веб-сайт строится на базе Python фреймворка Django,
что упрощает процесс непосредственной разработки функционала сайта. В
качестве модели БД выбрана реляционная модель данных (реляционная БД).
Взаимодействие между СУБД и веб-сайтом осуществляется через адаптер
SQLite3 платформы Django.
Приложение-сервис «Менеджер лаборатории» это приложение-сервис,
запущенное на серверной стороне, отслеживающее запросы с сайта на проведение того или иного эксперимента.
Связь между веб-сайтом и «Менеджером лаборатории» реализована
через локальный TCP-сокет. Сервис «Менеджер лаборатории» управляется
через TCP порт 55555 на localhost с помощью текстовых команд. При получении запроса от пользователя через веб-сайт «Менеджер лаборатории» проверяет доступность эксперимента, генерирует буферный файл (файл данных),
в который осуществляется накопление собранной с удалённой установки
экспериментальных данных. После этого «Менеджер лаборатории» запускает
дочерний процесс, осуществляющий низкоуровневые операции с модулем
сетевого управления на удалённой экспериментальной установке. Связь с дочерними процессами осуществляется через локальные TCP-сокеты. По окончанию эксперимента дочерний процесс закрывает файл данных и возвращает
на сайт информацию для занесения в БД экспериментов с пометками даты,
описания эксперимента и ответственных за эксперимент.
В ходе работы над второй частью разработки информационной системы были решены следующие задачи: переработана модель взаимодействия
веб-сайта и удалённых экспериментальных установок, ИС переведена на
фреймворк Django 1.9, улучшена система хранения данных и конфигураций
экспериментальных установок.
В настоящее время работа над проектом продолжается.
Download