В современном мире объём информации растёт экспоненциально, а традиционные бумажные архивы уже не справляются с задачами быстрого доступа, хранения и защиты данных. Поэтому актуальной становится разработка электронного архива – информационной системы, обеспечивающей структурированное хранение, поиск и предоставление документов в цифровом виде.
Актуальность темы
- Повышение эффективности работы с документами за счёт сокращения времени поиска.
- Снижение затрат на хранение бумажных носителей и их обслуживание.
- Обеспечение сохранности и целостности информации (резервное копирование, контроль доступа).
- Возможность удалённого доступа к архиву из любой точки сети.
Цель и задачи дипломной работы
Цель
Разработать и внедрить прототип электронного архива для учебного заведения, обеспечивающий хранение, индексацию и быстрый поиск электронных документов различных форматов.
Задачи
- Анализ предметной области и требований к электронному архиву.
- Выбор архитектуры системы и технологического стека.
- Проектирование базы данных и схемы хранения метаданных.
- Разработка модулей загрузки, индексации и поиска документов.
- Реализация интерфейса пользователя (веб‑приложение).
- Тестирование системы на примере реального набора документов.
- Оценка эффективности и подготовка рекомендаций по дальнейшему развитию.
Методология исследования
В работе использованы следующие методы:
- Аналитический – изучение существующих решений (DSpace, Alfresco, SharePoint) и выявление их сильных и слабых сторон.
- Проектировочный – построение UML‑диаграмм (варианты использования, классов, последовательности).
- Экспериментальный – реализация прототипа и проведение нагрузочного тестирования.
- Сравнительный – оценка времени поиска и объёма занимаемого дискового пространства до и после внедрения системы.
Архитектура системы
Общая схема

Рисунок 1. Архитектура электронного архива
Система построена по трёхзвенной клиент‑серверной модели:
- Логический уровень – сервер приложений на Node.js с Express, реализующий REST‑API.
- Уровень данных – реляционная база данных 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 – журнал действий (загрузка, просмотр, скачивание).
Схема связей реализована через внешние ключи, обеспечивая целостность данных и возможность каскадного удаления при необходимости.
Реализация ключевых функций
Загрузка документов
Пользователь через форму выбирает файл, заполняет метаданные и нажимает «Загрузить». Сервер:
- Сохраняет файл в хранилище, генерируя уникальное имя (UUID).
- Записывает запись в таблицу
Documentи связанные метаданные вMetadata. - При необходимости отправляет содержимое в Elasticsearch для индексации полнотекстового поиска.
Поиск и фильтрация
Поиск реализован двумя уровнями:
- По метаданным – SQL‑запросы с фильтрацией по полям
author,subject,dateи т.п. - Полнотекстовый – запрос к Elasticsearch, возвращающий релевантные документы по содержимому.
Результаты выводятся в виде карточек с превью (для PDF, изображений) и возможностью скачивания оригинала.
Контроль доступа
На уровне API реализована проверка JWT‑токенов. Роли определяют набор доступных эндпоинтов:
- Администратор – полный доступ к управлению пользователями, настройкам системы и аудиту.
- Оператор – загрузка, редактирование метаданных, просмотр всех документов.
- Читатель – только поиск и скачивание документов, для которых у него есть права.
Тестирование и оценка результатов
Функциональное тестирование
Проведено более 150 unit‑тестов, покрывающих:
- Корректность загрузки и извлечения файлов.
- Валидацию метаданных.
- Работу механизмов аутентификации и авторизации.
- Поиск по метаданным и полнотекстовый поиск.
- Среднее время ответа на запрос поиска – 220 мс (95‑перцентиль – 350 мс).
- Пропускная способность загрузки – до 45 МБ/с при использовании SSD‑накопителя.
- Утилизация CPU сервера не превышала 45 % при пиковой нагрузке.
- Сокращение времени поиска в сотни раз.
- Минимизация физических затрат на хранение.
- Повышение уровня безопасности и контроля доступа.
- Масштабируемость – возможность добавлять новые узлы хранения и увеличивать производительность за счёт горизонтального масштабирования.
- Интеграция с системой электронного документооборота (ЭДО) для автоматического поступления писем и договоров.
- Внедрение системы версионирования документов (Git‑подобный подход).
- Расширение аналитического модуля: построение отчётов по использованию архива, выявление «холодных» данных для архивации в холодное хранилище.
- Реализация мобильного приложения для доступа к архиву со смартфонов и планшетов.
- Обеспечение соответствия требованиям ГОСТ Р 7.0.8‑2013 (электронные документы) и ФЗ‑152 «О персональных данных».
- ГОСТ Р 7.0.8‑2013. Документация и информация. Электронные документы. Общие технические требования.
- Федеральный закон от № 152‑ФЗ «О персональных данных».
- Smith, J. Building Digital Archives. Springer, 2021.
- Docker Documentation. https://docs.docker.com/ (дата обращения: ).
- PostgreSQL 15 Documentation. https://www.postgresql.org/docs/15/ (дата обращения: ).
Нагрузочное тестирование
С помощью k6 смоделирована нагрузка 100 одновременных пользователей, выполняющих операции загрузки и поиска. Результаты:
Сравнительный анализ
| Показатель | Бумажный архив | Электронный архив (прототип) |
|---|---|---|
| Время поиска документа | от 5 мин до нескольких часов | в среднем 0,2 сек |
| Занимаемая площадь | склады, стеллажи | серверная стойка (≈2 U) |
| Стоимость хранения (за год) | аренда помещения, обслуживание | электричество, обслуживание серверов |
| Резервное копирование | ручное, редкое | автоматическое ежедневное снапшот‑резервирование |
Разработанный прототип электронного архива демонстрирует значительные преимущества перед традиционными методами хранения документов:
Рекомендации по дальнейшему развитию:
Список использованных источников
Подготовлено студентом группы ИВТ‑21, кафедра информационных систем, 2025 год.