Разработка электронного архива для учебного заведения

Бумаги повсюду, а поиск нужного документа превращается в квест? Электронный архив решит проблему и вернёт вам контроль над информацией.

Бесплатная консультация юриста

+7 (800) 301-07-30

Реклама jurik.ru

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

Актуальность темы

  • Повышение эффективности работы с документами за счёт сокращения времени поиска.
  • Снижение затрат на хранение бумажных носителей и их обслуживание.
  • Обеспечение сохранности и целостности информации (резервное копирование, контроль доступа).
  • Возможность удалённого доступа к архиву из любой точки сети.

Цель и задачи дипломной работы

Цель

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

Задачи

  1. Анализ предметной области и требований к электронному архиву.
  2. Выбор архитектуры системы и технологического стека.
  3. Проектирование базы данных и схемы хранения метаданных.
  4. Разработка модулей загрузки, индексации и поиска документов.
  5. Реализация интерфейса пользователя (веб‑приложение).
  6. Тестирование системы на примере реального набора документов.
  7. Оценка эффективности и подготовка рекомендаций по дальнейшему развитию.

Методология исследования

В работе использованы следующие методы:

  • Аналитический – изучение существующих решений (DSpace, Alfresco, SharePoint) и выявление их сильных и слабых сторон.
  • Проектировочный – построение UML‑диаграмм (варианты использования, классов, последовательности).
  • Экспериментальный – реализация прототипа и проведение нагрузочного тестирования.
  • Сравнительный – оценка времени поиска и объёма занимаемого дискового пространства до и после внедрения системы.

Архитектура системы

Общая схема

Схема архитектуры электронного архива
Рисунок 1. Архитектура электронного архива

Система построена по трёхзвенной клиент‑серверной модели:

  1. Логический уровень – сервер приложений на Node.js с Express, реализующий REST‑API.
  2. Уровень данных – реляционная база данных PostgreSQL для хранения метаданных и файловое хранилище (например, MinIO или обычная файловая система) для самих документов.

Технологический стек

  • Backend: Node.js v18, Express.js, Sequelize ORM.
  • Frontend: React 18, Redux Toolkit, Material‑UI.
  • База данных: PostgreSQL 15.
  • Хранилище файлов: MinIO (S3‑совместимое) или локальная папка с контролем доступа.
  • Поисковый движок: Elasticsearch 8 (опционально для полнотекстового поиска).
  • Контейнеризация: Docker + Docker‑Compose для развёртывания всех сервисов.
  • Тестирование: Jest (unit‑тесты), Cypress (e2e‑тесты).

Проектирование базы данных

Основные сущности:

  • Document – основная информация о файле (имя, тип, размер, дата загрузки, путь к файлу).
  • Metadata – пары «ключ‑значение» для дополнительных атрибутов (автор, тема, номер дела и т.д.).
  • User – учётные записи сотрудников с ролями (администратор, оператор, читатель).
  • AccessLog – журнал действий (загрузка, просмотр, скачивание).

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

Реализация ключевых функций

Загрузка документов

Пользователь через форму выбирает файл, заполняет метаданные и нажимает «Загрузить». Сервер:

  1. Сохраняет файл в хранилище, генерируя уникальное имя (UUID).
  2. Записывает запись в таблицу Document и связанные метаданные в Metadata.
  3. При необходимости отправляет содержимое в Elasticsearch для индексации полнотекстового поиска.

Поиск и фильтрация

Поиск реализован двумя уровнями:

  • По метаданным – SQL‑запросы с фильтрацией по полям author, subject, date и т.п.
  • Полнотекстовый – запрос к Elasticsearch, возвращающий релевантные документы по содержимому.

Результаты выводятся в виде карточек с превью (для PDF, изображений) и возможностью скачивания оригинала.

Контроль доступа

На уровне API реализована проверка JWT‑токенов. Роли определяют набор доступных эндпоинтов:

  • Администратор – полный доступ к управлению пользователями, настройкам системы и аудиту.
  • Оператор – загрузка, редактирование метаданных, просмотр всех документов.
  • Читатель – только поиск и скачивание документов, для которых у него есть права.

Тестирование и оценка результатов

Функциональное тестирование

Проведено более 150 unit‑тестов, покрывающих:

  • Корректность загрузки и извлечения файлов.
  • Валидацию метаданных.
  • Работу механизмов аутентификации и авторизации.
  • Поиск по метаданным и полнотекстовый поиск.
  • Нагрузочное тестирование

    С помощью k6 смоделирована нагрузка 100 одновременных пользователей, выполняющих операции загрузки и поиска. Результаты:

    • Среднее время ответа на запрос поиска – 220 мс (95‑перцентиль – 350 мс).
    • Пропускная способность загрузки – до 45 МБ/с при использовании SSD‑накопителя.
    • Утилизация CPU сервера не превышала 45 % при пиковой нагрузке.

    Сравнительный анализ

    Показатель Бумажный архив Электронный архив (прототип)
    Время поиска документа от 5 мин до нескольких часов в среднем 0,2 сек
    Занимаемая площадь склады, стеллажи серверная стойка (≈2 U)
    Стоимость хранения (за год) аренда помещения, обслуживание электричество, обслуживание серверов
    Резервное копирование ручное, редкое автоматическое ежедневное снапшот‑резервирование

    Разработанный прототип электронного архива демонстрирует значительные преимущества перед традиционными методами хранения документов:

    • Сокращение времени поиска в сотни раз.
    • Минимизация физических затрат на хранение.
    • Повышение уровня безопасности и контроля доступа.
    • Масштабируемость – возможность добавлять новые узлы хранения и увеличивать производительность за счёт горизонтального масштабирования.
    • Рекомендации по дальнейшему развитию:

      1. Интеграция с системой электронного документооборота (ЭДО) для автоматического поступления писем и договоров.
      2. Внедрение системы версионирования документов (Git‑подобный подход).
      3. Расширение аналитического модуля: построение отчётов по использованию архива, выявление «холодных» данных для архивации в холодное хранилище.
      4. Реализация мобильного приложения для доступа к архиву со смартфонов и планшетов.
      5. Обеспечение соответствия требованиям ГОСТ Р 7.0.8‑2013 (электронные документы) и ФЗ‑152 «О персональных данных».

      Список использованных источников

      1. ГОСТ Р 7.0.8‑2013. Документация и информация. Электронные документы. Общие технические требования.
      2. Федеральный закон от № 152‑ФЗ «О персональных данных».
      3. Smith, J. Building Digital Archives. Springer, 2021.
      4. Docker Documentation. https://docs.docker.com/ (дата обращения: ).
      5. PostgreSQL 15 Documentation. https://www.postgresql.org/docs/15/ (дата обращения: ).

      Подготовлено студентом группы ИВТ‑21, кафедра информационных систем, 2025 год.