Тип работы:
Предмет:
Язык работы:


Оптимизация хранения официальных документов

Работа №126908

Тип работы

Бакалаврская работа

Предмет

база данных

Объем работы19
Год сдачи2023
Стоимость4800 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
47
Не подходит работа?

Узнай цену на написание


Введение 3
Мотивация 3
Технические особенности 5
Реализация проекта 7
База данных и запросы 7
Обработка документов 7
Запросы 9
Тестирование 10
Тестирование на растущих деревьях 10
Ускорение работы 13
Заключение 18
Список использованных информационных материалов 19

Мотивация
Люди постоянно взаимодействуют между собой, эти взаимодействия надо как-то регламентировать и записывать, именно к этому пришла наша цивилизация. Для этого используются документы. Что такое документ? Это отдельный большой вопрос. Давайте смотреть на него как на некоторый объект, хранящий информацию.
Также он обладает некоторыми важными свойствами, одно из которых это то, что документ нельзя уничтожить (так как он регламентирует какое-то событие или его возможность), а чтобы что-то изменить надо выпустить новый. Так для одного человека может накапливаться огромная куча документов из разных сфер жизни. Чем важна работа с такими документами? Можно привести множество примеров, приведу один самый показательный: если бы все документы хранились бы в одном месте с удобным доступом, то для получения кредита необходимо было бы всего лишь предоставить доступ, а дальше банк быстро мог бы обработать их и выписать разрешение, ещё удобнее было бы это для более сложных сделок где наборы документов нужны в различных местах.
Еще одной важной особенностью документов является их зависимость, отношения между людьми могут быть горизонтальными и вертикальными, так некоторые действия либо согласуются, либо разрешаются, аналогично и для документов, чтобы один документ был действителен нужна ссылка на другой подтверждающий или разрешающий документ, таким образом создаются целые сети документов, которые зависимы друг от друга. Для одного человека это не такое большое количество, а вот для компаний с кучей нормативных актов зависимости могут очень сильно разрастаться.
Таким образом создаётся огромное количество зависимых друг от друга данных определенного вида.
В разных сферах жизни документы хранятся в разных местах, поэтому давайте посмотрим на документацию и зависимости одной фирмы. Раньше документы хранились в бумажном виде и со временем отправлялись со временем в архив, сейчас же по мере цифровизации всё больше документов хранятся в электронном виде в различных базах данных, чаще всего это простые реляционные базы данных, да там есть зависимости, но оптимальность данного подхода оставляет желать лучшего, так как для вычисления даже самых простых запросов необходимо будет пробегать по всей базе данных и иногда даже не один раз, так как наши зависимости могут аннулировать ранее существующие документы и это надо учитывать. Конечно, иногда с этим можно побороться раздуванием таблицы и учётом этих самых зависимостей, как отдельных параметров, но эффективность и размеры сильно страдают при увеличении количества документов, поэтому сейчас мы рассмотрим несколько другой подход к данной проблеме хранения официальных документов и их обработке с целью получения данных.
Технические особенности
Посмотрим на это всё, как на граф, в нём вершины это документы, хранящие некоторую информацию, а ориентированные ребра это уже ссылки между ними. Далее для построения нашей модели надо понять, как удобно хранить документы, так как они относятся к Linked Data, то есть к структурированным данным, которые взаимосвязаны с другими данными. Многие данные сейчас передаются в формате JSON (текстовый формат обмена данными, основанный на JavaScript), но нам нужна немного более усовершенствованная версия, созданная специально для взаимосвязанных данных, а именно JSON-LD. Она удобна тем, что изначально Одной из целей JSON-LD было потребовать от разработчиков как можно меньше усилий для преобразования существующего JSON в JSON-LD.
Но это всё же официальные документы и они должны иметь под собой некоторый гарант подлинности. Для этого в документах используется Verifiable Credentials Data Model, с её помощью документ содержит специальную цифровую подпись подтверждающую защищенные данные.
Таким образом мы будем иметь модель документа, который можно будет проверить на подлинность. а так же в нём будет содержаться ссылка на другой документ.
Осталось разобраться со структурой нашего графа, то есть с разрешенными связями. Некоторые ссылки разрешены, а некоторые нет, то есть у нас задаётся некоторая графовая грамматика, по которой можно проверять правильность построения графа документов. Если же собрать все правила вместе, то получим граф разрешённых зависимостей. Ниже приведен граф разрешённых зависимостей с которыми мы будем работать и проводить тесты. Это граф для компании Truvity, содержащий информацию о сотрудниках, то есть документы позволяющие устроить их на работу, документы содержащие информацию об их текущей работе и об изменениях в статусе этой работы (изменение должности, изменение зарплаты, увольнение).
Рисунок.
Заметим, что все документы здесь вписываются в систему Verifiable Credentials Data Model v1.1[1].
Понятно, что система документов может быть проще или в десятки раз сложнее с различными зависимостями, но граф по такой грамматике действительно можно будет построить, это большая тема для обсуждения освященная в работе Matrix Graph Grammars, Pedro Pablo Perez Velasco [4].

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


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


[1] Verifiable Credentials Data Model v1.1, W3C Recommendation, 03 March 2022, URL https://www.w3.org/TR/vc-data-model/
[2] JSON-LD Articles and Presentations, URL https://json-ld.org/learn.html
[3] Matrix Graph Grammars, Pedro Pablo Perez Velasco, February 2009
[4] Partial State in Dataflow-Based Materialized Views, Jon Ferdinand Ronge Gjengset, February 2021
[5] Amozon Neptune User Guide, URL https://docs.aws.amazon.com/neptune/latest/userguide/graph-get-started.html


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ