Разработка 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.8 (373 отзыва)
    Работаю на сайте четвертый год. Действующий преподаватель вуза. Основные направления: микробиология, биология и медицина. Написано несколько кандидатских, магистерских... Читать все
    Работаю на сайте четвертый год. Действующий преподаватель вуза. Основные направления: микробиология, биология и медицина. Написано несколько кандидатских, магистерских диссертаций, дипломных и курсовых работ. Слежу за новинками в медицине.
    #Кандидатские #Магистерские
    566 Выполненных работ
    Алёна В. ВГПУ 2013, исторический, преподаватель
    4.2 (5 отзывов)
    Пишу дипломы, курсовые, диссертации по праву, а также истории и педагогике. Закончила исторический факультет ВГПУ. Имею высшее историческое и дополнительное юридическо... Читать все
    Пишу дипломы, курсовые, диссертации по праву, а также истории и педагогике. Закончила исторический факультет ВГПУ. Имею высшее историческое и дополнительное юридическое образование. В данный момент работаю преподавателем.
    #Кандидатские #Магистерские
    25 Выполненных работ
    Сергей Н.
    4.8 (40 отзывов)
    Практический стаж работы в финансово - банковской сфере составил более 30 лет. За последние 13 лет, мной написано 7 диссертаций и более 450 дипломных работ и научных с... Читать все
    Практический стаж работы в финансово - банковской сфере составил более 30 лет. За последние 13 лет, мной написано 7 диссертаций и более 450 дипломных работ и научных статей в области экономики.
    #Кандидатские #Магистерские
    56 Выполненных работ
    Александра С.
    5 (91 отзыв)
    Красный диплом референта-аналитика информационных ресурсов, 8 лет преподавания. Опыт написания работ вплоть до докторских диссертаций. Отдельно специализируюсь на повы... Читать все
    Красный диплом референта-аналитика информационных ресурсов, 8 лет преподавания. Опыт написания работ вплоть до докторских диссертаций. Отдельно специализируюсь на повышении уникальности текста и оформлении библиографических ссылок по ГОСТу.
    #Кандидатские #Магистерские
    132 Выполненных работы
    Татьяна П. МГУ им. Ломоносова 1930, выпускник
    5 (9 отзывов)
    Журналист. Младший научный сотрудник в институте РАН. Репетитор по английскому языку (стаж 6 лет). Также знаю французский. Сейчас занимаюсь написанием диссертации по и... Читать все
    Журналист. Младший научный сотрудник в институте РАН. Репетитор по английскому языку (стаж 6 лет). Также знаю французский. Сейчас занимаюсь написанием диссертации по истории. Увлекаюсь литературой и темой космоса.
    #Кандидатские #Магистерские
    11 Выполненных работ
    Кормчий В.
    4.3 (248 отзывов)
    Специализация: диссертации; дипломные и курсовые работы; научные статьи.
    Специализация: диссертации; дипломные и курсовые работы; научные статьи.
    #Кандидатские #Магистерские
    335 Выполненных работ
    Катерина М. кандидат наук, доцент
    4.9 (522 отзыва)
    Кандидат технических наук. Специализируюсь на выполнении работ по метрологии и стандартизации
    Кандидат технических наук. Специализируюсь на выполнении работ по метрологии и стандартизации
    #Кандидатские #Магистерские
    836 Выполненных работ
    Дарья П. кандидат наук, доцент
    4.9 (20 отзывов)
    Профессиональный журналист, филолог со стажем более 10 лет. Имею профильную диссертацию по специализации "Радиовещание". Подробно и серьезно разрабатываю темы научных... Читать все
    Профессиональный журналист, филолог со стажем более 10 лет. Имею профильную диссертацию по специализации "Радиовещание". Подробно и серьезно разрабатываю темы научных исследований, связанных с журналистикой, филологией и литературой
    #Кандидатские #Магистерские
    33 Выполненных работы
    Анна В. Инжэкон, студент, кандидат наук
    5 (21 отзыв)
    Выполняю работы по экономическим дисциплинам. Маркетинг, менеджмент, управление персоналом. управление проектами. Есть опыт написания магистерских и кандидатских диссе... Читать все
    Выполняю работы по экономическим дисциплинам. Маркетинг, менеджмент, управление персоналом. управление проектами. Есть опыт написания магистерских и кандидатских диссертаций. Работала в маркетинге. Практикующий бизнес-консультант.
    #Кандидатские #Магистерские
    31 Выполненная работа

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