Архив электронных документов на C# – хранилище документов с использованием PostgreSQL
Дипломная работа (ВКР)
в среде программирования C# Visual Studio
Среда программирования: C# Visual Studio
Название работы: Архив электронных документов на C# – хранилище документов с использованием PostgreSQL
Вид работы: Дипломная работа (ВКР)
Описание: Архив электронных документов на C# – хранилище документов с использованием PostgreSQL
Цель – создать централизованное хранилище документов с помощью ORM и Entity Framework.
Десктопная версия с функциями: загрузить в сетевое хранилище и записать в БД уникальные по хеш файлы, просмотреть результат поиска, выгрузить – минимум. Максимум – менять статус документов и объектов на Архивный, чтобы у документов рассчиталась дата Хранить до; автоматическое удаление документов из базы с истекшим сроком хранения.
Для тестирования приложения нужно сгенерировать файлы массивами (в т.ч. с дублями) по шаблону: Тип документа_Категория_Бизнес-дата.
1массив- 10000 файлов по 1 мб,
2массив- 10000 файлов по 10 кб, сгенерированные с наименованиями.
Несколько тестовых наборов из 10 файлов по 1 мб с определенным количеством дублей.
Нужны:
-отчет по функциям программы
-код для работы с БД
-набор классов для таблиц БД
-контекст для запросов к БД (загрузка справочников, запрос в БД для поиска дубля по хеш, запрос для просмотра документов по конкретному объекту, запрос на выгрузку документа)
-десктопная версия:
-выбрать объект , по которому будут грузить документы
-выбор директории с тестовым файлами для загрузки,
-хеширование файлов хеш-функцией Стрибог
-поиск дублей файлов по хеш в БД:
- Если хеш файла не найден в БД – загрузить файл в сетевое хранилище, записать в БД хеш файла, путь к файлу, распарсить наименование файла и записать данные в атрибуты документа.
- Если хеш файла найден в БД – не грузить файл в хранилище и указать в сообщении, что были найдены дубли.
-запись в БД данных этих документов,
-генерация файлов для тестирования и их запись в директорию для тестирования
консольное приложение для тестирования хеш-функций – т.е. функция одна - тестирование хеш-функций. Далее алгоритм действия программы:
-генерация файлов для тестирования и их запись в директорию для тестирования
-Пользователь вбивает любую директорию с файлами, например, директорию с тестовым файлами для загрузки (в директории может быть 1 файл)
После указания директории в п.1. она используется для работы с файлами в ней, вне зависимости от того, сколько там файлов и какие они.
Далее система производит:
-хеширование файлов из директории 4 хеш-функциями CRC32/MD5/Стрибог/MurmurHash64 (замер времени хеширования)
-сообщение в консоли о времени хеширования для каждой функции
Меню выбора действий и запросов не предполагалось для пользователя в консоли, т.к. консоль нужна для выбора хеш-функции в основном приложении. Для хеширования файлов пользователь не должен выбирать пункт 2. Пользователь выбирает/вбивает только директорию с файлами для их хеширования. После выбора директории пользователем система хеширует файлы, выводит сообщение о замере хешировании, ищет дубль по хеш, записывает уникальные файлы из директории, сообщает о найденных дублях.
Тогда оставил отдельным пунктом хеширование и все операции при выборе директории
-поиск дублей файлов по хеш в БД, (не выбирается пользователем)
Нужно подождать, как и с хешированием.
Для поиска дублей пользователю не должен выбирать пункт 3.
-Если хеш файла не найден в БД – записать в БД хеш файла,
-Если хеш файла найден в БД – не записать в БД хеш файла,
+ подсчет найденных дублей, (не выбирается пользователем)
На скрине выше показано
Для подсчета дублей пользователь не должен выбирать пункт 3. Если сейчас пользователь и не выбирает пункт 3 для этого, то можете убрать этот пункт из меню?
+сообщение в консоли, сколько дублей нашли для каждой функции
+возможность очистки БД от хеш (не выбирается пользователем, вероятно нужно было для тестирования каждой хеш-функции) Если метод не используется для тестирования хеш-функции, его нужно убрать)
Загружать документы с проверкой на дубль – min до 15 января - Выбрать объект (не нашла в реализации)
-Выбрать путь к директории с файлами
- хеширование каждого файла 1 хеш-функцией CRC32/MD5/Стрибог (замер хеширования)
- Поиск дубля файла по хеш в БД:
- Если хеш файла не найден в БД – загрузить файл в сетевое хранилище, записать в БД хеш файла, путь к файлу, распарсить наименование файла и записать данные в атрибуты документа.
- Если хеш файла найден в БД – не грузить файл в хранилище и указать в сообщении, что файлы не прогружены
- Считается количество найденных дублей и сравнивается с количеством загруженных дублей
- Протокол с результатами загрузки в xsl
Просмотр документов по объекту
-выбрать объект
-отражается таблица с загруженными документами
Выгружать документы из БД
-нажать на ссылку с файлом из результата поиска для выгрузки
- файл загружается на локальную машину
Менять статус объекта на Архивный – менять статус объекта на Архивный
- у документа рассчитывается дата Хранить до (см Алгоритм расчета даты Хранить до)
Уничтожать документы в БД – реализация в марте
- система удаляет Архивные документы с истекшим сроком хранения
- файл удаляется из сетевого хранилища, из БД стирается хеш, в БД документу меняется статус на Удален
Справочники:
1. Справочник объектов (покажите, как загрузить данные в справочник объектов, как менять наименования объектов)
ID объекта Наименование Адрес объекта
Данного функционала не было в ТЗ (чтобы можно было менять данные), но я реализовал такую возможность, добавлять или удалять объекты
Можно ли загрузить и редактировать справочник через прямое обращение к базе, а не консольное приложение в PostgreSQL?
Да, кончено. На скрине показано как добавлять/изменять через pgAdmin
2. Справочник документов
Номер документа Тип документа Категория Бизнес-дата ID объекта Хеш-сумма
файла Путь к файлу
3. Категории документов
ID категории Наименование категории
1 ОВиК
2 ЭС
3 АР
4 ВК
4. Номенклатура дел документов:
ID Типа документа Тип документа Срок хранения (в годах)
1 Исполнительная документация 5
2 Акты 3
3 Протокол проверки 1
5. Статусы объектов:
>Действующий
>Архивный
6. Статусы документов:
>Действующий
>Архивный
>Уничтожен
Год: 2024
Данный заказ (дипломная работа (ВКР)) выполнялся нашим сайтом в 2024-м году, в рамках этого заказа была разработана программа в среде программирования C# Visual Studio. Если у Вас похожее задание на программу, которую нужно написать на C# Visual Studio, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2024-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".
Viber:
+79374242235
Telegram: kursovikcom ВКонтакте: kursovikcom WhatsApp +79374242235 E-mail: info@kursovik.com Skype: kursovik.com |