Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проект / Лабы_Итог_Финал.docx
Скачиваний:
0
Добавлен:
12.03.2026
Размер:
3.87 Mб
Скачать
  1. База данных

База данных используется для хранения структурированных данных:

  • информация о пользователях;

  • учетные записи и данные авторизации;

  • метаданные изображений (название, описание, теги, категории);

  • связи между пользователями и изображениями;

  • ссылки (URL) на медиафайлы.

  1. Object Storage

Объектное хранилище используется для хранения бинарных данных:

  • изображений;

  • мультимедийных файлов.

Object Storage оптимизировано для хранения и масштабируемой обработки больших файлов и используется для хранения самих изображений.

3.1. Архитектура бизнес-процесса получения контента

Запрос контента от клиента

Пользователь использует веб-приложение или мобильное приложение для запроса определённого контента (например, ленты изображений или результатов поиска). Клиент отправляет HTTP-запрос на сервер бизнес-логики.

Обработка запроса на сервере бизнес-логики

Сервер бизнес-логики принимает запрос от клиента и выполняет:

  • проверку подлинности пользователя;

  • проверку прав доступа;

  • обработку бизнес-правил.

После успешной обработки сервер бизнес-логики формирует запрос к базе данных для получения метаданных изображений.

Запрос метаданных к базе данных

Сервер бизнес-логики отправляет SQL-запрос в базу данных для получения информации о запрашиваемом контенте, включая:

  • идентификаторы изображений;

  • описания, теги, категории;

  • информацию об авторе;

  • путь или URL к медиафайлу в файловом или объектном хранилище.

База данных выполняет запрос и возвращает результат серверу бизнес-логики.

Ответ клиенту с метаданными

Сервер бизнес-логики формирует HTTP-ответ и передаёт клиенту метаданные изображений в формате JSON, включая URL или путь к медиафайлам.

На данном этапе медиафайлы не передаются, клиент получает только описание контента и ссылки на изображения.

Запрос медиафайла от клиента

После получения URL изображения клиент отправляет прямой HTTP-запрос на сервер хранения файлов, через сервер бизнес-логики.

  • Клиент отправляет запрос серверу бизнес-логики.

  • Сервер бизнес-логики запрашивает файл из файлового / объектного хранилища.

  • Полученный медиафайл сервер передаёт клиенту.

Отображение медиафайла пользователю

Клиент получает медиафайл (изображение) по HTTP-ответу и отображает его в пользовательском интерфейсе приложения.

3.2. Процедура авторизации

В системе используется ролевая модель управления доступом. Права пользователя определяются его ролью, которая назначается при регистрации или администрировании системы.

Авторизация осуществляется после успешной аутентификации пользователя (ввод логина и пароля или иного способа подтверждения личности). После авторизации сервер бизнес-логики определяет роль пользователя и предоставляет доступ только к разрешённым функциям системы. В таблице 6 представлены роли и их права.

Таблица 6 - Роли и права доступа

Роль

Описание

Основные права

Незарегистрированный пользователь

Пользователь без учетной записи

Просмотр публичного контента, поиск изображений

Зарегистрированный пользователь

Пользователь с учетной записью

Публикация изображений, лайки, комментарии, избранное

Привилегированный пользователь

Пользователь с расширенными возможностями

Приоритетная публикация, доступ к расширенной статистике

Заблокированный пользователь

Пользователь с ограниченным доступом

Просмотр контента без возможности взаимодействия

Модератор

Контроль пользовательского контента

Модерация изображений, комментариев, блокировка пользователей

Аналитик

Анализ активности системы

Просмотр статистики, отчетов и аналитических данных

Разработчик

Поддержка и развитие системы

Доступ к логам, тестовым данным, API

Тестировщик

Проверка качества системы

Доступ к тестовой среде, создание тестовых аккаунтов

Техническая поддержка БД

Обслуживание базы данных

Мониторинг БД, резервное копирование, восстановление

Администратор данных

Ввод и корректировка данных

Добавление и редактирование справочной информации

Администратор

Управление системой

Управление пользователями, ролями и настройками

Суперадминистратор (админ админа)

Полный контроль

Назначение администраторов, управление всеми правами

Ниже представлено описание ролей:

1. Незарегистрированный пользователь

Пользователь, не прошедший процедуру регистрации. Имеет доступ только к просмотру общедоступного контента и использованию функций поиска без возможности взаимодействия с системой.

2. Зарегистрированный пользователь

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

3. Привилегированный пользователь

Расширенная версия зарегистрированного пользователя. Имеет дополнительные возможности, такие как приоритетная публикация контента, доступ к расширенной статистике и повышенные лимиты на загрузку изображений.

4. Заблокированный пользователь

Пользователь, доступ которого ограничен администратором или модератором. Может просматривать контент, но лишён возможности публиковать, комментировать и взаимодействовать с системой.

5. Модератор

Пользователь с правами контроля пользовательского контента. Может проверять и удалять изображения и комментарии, блокировать пользователей, а также рассматривать жалобы.

6. Аналитик

Роль, предназначенная для анализа работы системы. Имеет доступ к статистике посещений, активности пользователей и аналитическим отчётам без возможности изменения данных.

7. Разработчик

Пользователь, участвующий в разработке и сопровождении системы. Имеет доступ к логам, технической информации и API системы, но не управляет пользовательскими данными.

8. Тестировщик

Пользователь, отвечающий за проверку корректности работы системы. Имеет доступ к тестовой среде, может создавать тестовые данные и выявлять ошибки.

9. Техническая поддержка базы данных

Роль, отвечающая за техническое обслуживание базы данных. Имеет доступ к резервному копированию, восстановлению данных и мониторингу производительности БД без вмешательства в бизнес-логику.

10. Администратор данных

Роль, ответственная за ввод, обновление и корректировку справочной информации и контента системы. Не имеет прав на управление пользователями или системными настройками.

11. Администратор

Пользователь с расширенными правами управления системой. Может управлять пользователями, назначать роли, изменять настройки и контролировать работу системы.

12. Суперадминистратор (администратор администратора)

Высшая роль в системе. Имеет полный доступ ко всем функциям системы, включая назначение администраторов, управление ролями и конфигурацией системы.

Использование ролевой модели доступа позволяет:

  • обеспечить безопасность данных;

  • ограничить доступ к критическим функциям;

  • упростить администрирование системы;

  • повысить надежность и масштабируемость архитектуры.