Разработка Data API для нейрофизиологических исследований

Грибков Кирилл Владимирович
Бесплатно
В избранное
Работа доступна по лицензии Creative Commons:«Attribution» 4.0

Современную научную деятельность невозможно представить без активного использования информационных технологий. В частности, это относится к исследованиям в области патологий мозга. Проведение комплексных исследований затрудняет неоднородность данных, разнообразие форматов представления и ресурсоемкая предварительная обработка. Для решения вышеизложенных задач, совместно с институтом Бехтерева разрабатывается проект информационной системы в области исследований человеческого мозга. В рамках данной работы разработана Data API – система для хранения и доставки данных на узлы кластера и реализована единая система авторизации для всего проекта.

Введение 4

1. Обзор предметной области 5
1.1. ckan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2. Распределенные файловые системы . . . . . . . . . . . . . 6
1.3. Протоколы передачи данных . . . . . . . . . . . . . . . . 6
1.4. Система единой авторизации . . . . . . . . . . . . . . . . 6
1.4.1. CAS . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.2. OIDC . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5. Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2. Используемые технологии 9
2.1. MEAN стек . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2. MongoDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3. Node.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4. Angular 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5. express.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6. npm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.7. Mongoose . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.8. OpenID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.9. .Net Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3. Архитектура DataAPI 12
3.1. Data API . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2. Сервисы узла системы . . . . . . . . . . . . . . . . . . . . 15
3.2.1. Сервис Sendfile . . . . . . . . . . . . . . . . . . . . . 15
3.2.2. Сервис Watcher . . . . . . . . . . . . . . . . . . . . 15
3.3. Клиентское приложение для передачи файлов . . . . . . 16
3.4. Клиентские приложения Data API . . . . . . . . . . . . . 16

4. База данных: MongoDB 19
4.1. Схема профиля пользователя . . . . . . . . . . . . . . . . 19
4.1.1. Схема . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.1.2. Виртуальные методы . . . . . . . . . . . . . . . . . 20
4.2. Схема узла DataAPI . . . . . . . . . . . . . . . . . . . . . 21
4.3. Схема файла . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4. Схема токена . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5. Единая система аутентификации 25
5.1. Общая конфигурация OIDC . . . . . . . . . . . . . . . . . 26
5.1.1. Блок настройки доступа к данным . . . . . . . . . 27
5.2. Адаптер базы данных . . . . . . . . . . . . . . . . . . . . . 27
5.3. Список клиентских приложений . . . . . . . . . . . . . . . 28
5.4. Ключи шифрования . . . . . . . . . . . . . . . . . . . . . . 28

6. DataAPI 30
6.1. API для клиентских приложений . . . . . . . . . . . . . . 30
6.1.1. Проверка авторизованности пользователя . . . . . 33
6.1.2. Проверка роли пользователя . . . . . . . . . . . . 34
6.2. API для узлов кластера . . . . . . . . . . . . . . . . . . . 35
6.2.1. Предобработка запроса от узла кластера . . . . . 35
6.2.2. Подпись с помощью секретного ключа узла . . . . 36
6.3. API для клиентского приложения Sendfile . . . . . . . . . 37
6.4. Передача файлов . . . . . . . . . . . . . . . . . . . . . . . 37
6.4.1. Протокол передачи файла . . . . . . . . . . . . . . 38
6.5. Перепроверка файлов . . . . . . . . . . . . . . . . . . . . . 38
6.5.1. Data API . . . . . . . . . . . . . . . . . . . . . . . . 39
6.5.2. Watcher-сервис . . . . . . . . . . . . . . . . . . . . . 41
6.6. Проверка доступности сервисов на вычислительном узле 42
6.7. Обнаружение и устранение проблем у файлов . . . . . . 44

Заключение 47

Список литературы 48

Современную научную деятельность невозможно представить без
активного использования информационных технологий. В частности,
это относится к исследованиям в области патологий мозга.
Проведение комплексных исследований затрудняет неоднородность
данных, разнообразие форматов представления и ресурсоемкая пред-
варительная обработка. Для исследователя процесс объединения дан-
ных для каждого отдельного случая весьма трудоемок, кроме времени,
требуются также глубокие знания в области информационных техно-
логий. Решить проблему совместного использования разнородных дан-
ных, можно информационной системой с единым доступом к разнород-
ным данным. Для внедрения такой системы требуется создания модели
объединения разнородных данных в единую информационную среду и
адаптации методов предварительной обработки, применяемых индиви-
дуально к каждому отдельному типу данных.
Для решения вышеизложенных задач, совместно с институтом Бех-
терева разрабатывается проект информационной системы в области ис-
следований человеческого мозга[16]. Данный проект включает в себя
множество компонентов, каждый из которых решает отдельную задачу:
система сбора и хранения информации о пациентах и анализах в рам-
ках проекта; консолидация разнородных данных; система Data API —
хранение и доставка данных на узлы вычислительного кластера; систе-
ма единой авторизации для всех компонентов проекта; разнообразные
вычислительные компоненты, которые используют полученную инфор-
мацию о пациентах и анализах для исследований.
Целью настоящей работы является разработка системы Data API
и реализация единой авторизации в рамках проекта по созданию ин-
формационной системы в области исследований человеческого мозга.
Конкретные задачи для достижения указанной цели: разработать Data
API; разработать клиентское приложение Data API; разработать струк-
туру БД; разработать систему загрузки и выгрузки данных; реализо-
вать единую авторизацию всех компонентов проекта в системе.

В рамках данной работы были достигнуты следующие результаты:

• Разработан Data API

• Разработано клиентское приложение Data API

• Разработана структура БД

• Разработана система загрузки и выгрузки данных в виде кли-
ентского приложения sendfile и сервисов узлов кластера: sendfile-
сервис и watcher-сервис.

• Реализована единая система авторизации для компонентов про-
екта

• Опубликована статья V. Korkhov, V. Volosnikov, A. Vorontsov,
K. Gribkov, N. Zalutskaya, A. Degtyarev, A. Bogdanov. Data storage,
processing and analysis system to support brain research // Lecture
Notes in Computer Science (including subseries Lecture Notes in
Artificial Intelligence and Lecture Notes in Bioinformatics), 2018, vol.
10963, pp. 78–90, ISBN: 978-331962403-7.

Заказать новую

Лучшие эксперты сервиса ждут твоего задания

от 5 000 ₽

Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям

    Нажимая на кнопку, я соглашаюсь на обработку персональных данных и с правилами пользования Платформой

    Хочешь уникальную работу?

    Больше 3 000 экспертов уже готовы начать работу над твоим проектом!

    Татьяна С. кандидат наук
    4.9 (298 отзывов)
    Большой опыт работы. Кандидаты химических, биологических, технических, экономических, юридических, философских наук. Участие в НИОКР, Только актуальная литература (пос... Читать все
    Большой опыт работы. Кандидаты химических, биологических, технических, экономических, юридических, философских наук. Участие в НИОКР, Только актуальная литература (поставки напрямую с издательств), доступ к библиотеке диссертаций РГБ
    #Кандидатские #Магистерские
    551 Выполненная работа
    Антон П. преподаватель, доцент
    4.8 (1033 отзыва)
    Занимаюсь написанием студенческих работ (дипломные работы, маг. диссертации). Участник международных конференций (экономика/менеджмент/юриспруденция). Постоянно публик... Читать все
    Занимаюсь написанием студенческих работ (дипломные работы, маг. диссертации). Участник международных конференций (экономика/менеджмент/юриспруденция). Постоянно публикуюсь, имею высокий индекс цитирования. Спикер.
    #Кандидатские #Магистерские
    1386 Выполненных работ
    Екатерина Д.
    4.8 (37 отзывов)
    Более 5 лет помогаю в написании работ от простых учебных заданий и магистерских диссертаций до реальных бизнес-планов и проектов для открытия своего дела. Имею два об... Читать все
    Более 5 лет помогаю в написании работ от простых учебных заданий и магистерских диссертаций до реальных бизнес-планов и проектов для открытия своего дела. Имею два образования: экономист-менеджер и маркетолог. Буду рада помочь и Вам.
    #Кандидатские #Магистерские
    55 Выполненных работ
    Шагали Е. УрГЭУ 2007, Экономика, преподаватель
    4.4 (59 отзывов)
    Серьезно отношусь к тренировке собственного интеллекта, поэтому постоянно учусь сама и с удовольствием пишу для других. За 15 лет работы выполнила более 600 дипломов и... Читать все
    Серьезно отношусь к тренировке собственного интеллекта, поэтому постоянно учусь сама и с удовольствием пишу для других. За 15 лет работы выполнила более 600 дипломов и диссертаций, Есть любимые темы - они дешевле обойдутся, ибо в радость)
    #Кандидатские #Магистерские
    76 Выполненных работ
    Алёна В. ВГПУ 2013, исторический, преподаватель
    4.2 (5 отзывов)
    Пишу дипломы, курсовые, диссертации по праву, а также истории и педагогике. Закончила исторический факультет ВГПУ. Имею высшее историческое и дополнительное юридическо... Читать все
    Пишу дипломы, курсовые, диссертации по праву, а также истории и педагогике. Закончила исторический факультет ВГПУ. Имею высшее историческое и дополнительное юридическое образование. В данный момент работаю преподавателем.
    #Кандидатские #Магистерские
    25 Выполненных работ
    Александр О. Спб государственный университет 1972, мат - мех, преподав...
    4.9 (66 отзывов)
    Читаю лекции и веду занятия со студентами по матанализу, линейной алгебре и теории вероятностей. Защитил кандидатскую диссертацию по качественной теории дифференциальн... Читать все
    Читаю лекции и веду занятия со студентами по матанализу, линейной алгебре и теории вероятностей. Защитил кандидатскую диссертацию по качественной теории дифференциальных уравнений. Умею быстро и четко выполнять сложные вычислительные работ
    #Кандидатские #Магистерские
    117 Выполненных работ
    Екатерина П. студент
    5 (18 отзывов)
    Работы пишу исключительно сама на основании действующих нормативных правовых актов, монографий, канд. и докт. диссертаций, авторефератов, научных статей. Дополнительно... Читать все
    Работы пишу исключительно сама на основании действующих нормативных правовых актов, монографий, канд. и докт. диссертаций, авторефератов, научных статей. Дополнительно занимаюсь английским языком, уровень владения - Upper-Intermediate.
    #Кандидатские #Магистерские
    39 Выполненных работ
    Анна Александровна Б. Воронежский государственный университет инженерных технол...
    4.8 (30 отзывов)
    Окончила магистратуру Воронежского государственного университета в 2009 г. В 2014 г. защитила кандидатскую диссертацию. С 2010 г. преподаю в Воронежском государственно... Читать все
    Окончила магистратуру Воронежского государственного университета в 2009 г. В 2014 г. защитила кандидатскую диссертацию. С 2010 г. преподаю в Воронежском государственном университете инженерных технологий.
    #Кандидатские #Магистерские
    66 Выполненных работ
    Мария А. кандидат наук
    4.7 (18 отзывов)
    Мне нравится изучать все новое, постоянно развиваюсь. Могу написать и диссертацию и кандидатскую. Есть опыт в различных сфера деятельности (туризм, экономика, бухучет... Читать все
    Мне нравится изучать все новое, постоянно развиваюсь. Могу написать и диссертацию и кандидатскую. Есть опыт в различных сфера деятельности (туризм, экономика, бухучет, реклама, журналистика, педагогика, право)
    #Кандидатские #Магистерские
    39 Выполненных работ

    Другие учебные работы по предмету