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


Реализация обработки аудиофайлов из большого массива данных

Работа №128457

Тип работы

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

Предмет

информационные системы

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

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


Введение 5
1. Постановка задачи 6
2. Обзор 7
2.1. Распределенная система 7
2.1.1. Микросервисная архитектура 7
2.1.2. Межпроцессное взаимодействие 9
2.2. Кэширование 11
2.2.1. Политика записи 11
2.2.2. Политика промаха записи 12
2.2.3. Согласованность кэша 13
2.3. Кластеризация 14
2.4. Высокопроизводительные вычисления 15
2.5. Используемые технологии 16
2.5.1. Java 16
2.5.2. Spring Framework 16
2.5.3. PostgreSQL 17
2.5.4. Apache Ignite 18
3. Архитектура системы 21
3.1. Функциональные требования к системе 21
3.2. Модули системы 21
3.3. Описание API 23
3.3.1. Схема обработки задания 23
3.3.2. Схема обработки команд 24
3.3.3. Схема обработки запросов 24
4. Реализация системы 25
4.1. Описание API заданий 25
4.1.1. Описание запроса на создание задания 25
4.1.2. Описание ответа о выполненном задании 27
4.2. Описание API команд 27
4.3. Описание API запросов 29
4.4. Модуль взаимодействия с клиентом 30
4.5. Модуль обработки аудиофайлов 30
4.5.1. Задания voice модуля 30
4.5.2. Команды voice модуля 32
4.5.3. Запросы voice модуля 33
4.5.4. Работа с кэшом 34
4.5.4.1. Горячие списки 34
4.5.4.2. База идентификации 35
5. Тестирование 36
Заключение 38
Список литературы 39


Когда-то люди писали программы, которые выполнялись на одной машине и к которым также осуществлялся доступ с этой машины. Сейчас почти каждое приложение представляет собой распределенную систему, работающую на нескольких машинах и доступную множеству пользователей со всего мира.
Распределенная система — это совокупность автономных вычислительных элементов, которая представляется своим пользователям как единая связная система. На данный момент почти каждый разработчик является разработчиком или потребителем (или и тем и другим) распределенных систем [14].
С развитием технологий количество пользователей, количество данных, а также требования по скорости работы приложений растут. Для удовлетворения данных условий система должна быть масштабируемой. Следовательно, любое приложение, которое сейчас разрабатывается, должно создаваться с расчетом на масштабирование в ответ на увеличивающийся спрос. Эти ограничения и требования означают, что почти каждое разрабатываемое приложение, будь то мобильная клиентская программа или сервис обработки платежей, должно быть распределенной системой [8].
Таким образом, актуальной является задача создания системы распределенной обработки аудиофайлов, позволяющей создавать модели и сравнивать их между собой.


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

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

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


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



[1] AWS // Обзор кэширования.—2021.—Режим доступа: https://aws.amazon.com/ru/caching/ (дата обращения: 10.05.2021).
[2] Andrews G.R. Foundations of Multithreaded, Parallel, and Distributed Programming. — Addison-Wesley, 1999.
[3] Apache // What is Apache Ignite? — 2020. — Access mode: https://apacheignite.readme.io/docs/what-is-ignite (online; accessed: 16.12.2020).
[4] Apache // Apache Ignite Documentation. — 2020. — Access mode: https://ignite.apache.org/docs/latest/index (online; accessed: 16.12.2020).
[5] Bhuiyan Shamim, Zheludkov Michael, Isachenko Timur. High Per¬formance In-Memory Computing with Apache Ignite. — Lulu.com, 2017. —ISBN:1365732355.
[6] Bottomley James // Understanding Caching. — 2004. — Access mode: https://www.linuxjournal.com/article/7105 (online; ac¬cessed: 10.05.2021).
[7] Cache hit ratio maximization in device-to-device communications over¬laying cellular networks / Liang Zhong, Xueqian Zheng, Yong Liu et al. //China Communications. — 2020. — Vol. 17, no. 2. — P. 232¬238.
[8] Chris Richardson. Microservices patterns : with examples in Java. — Shelter Island, 2019. — ISBN:9781617294549 1617294543.
[9] Fielding Roy Thomas. REST: Architectural Styles and the De¬sign of Network-based Software Architectures : Doctoral disserta¬tion / Roy Thomas Fielding ; University of California, Irvine. — 2000.—Access mode: http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm.
[10] Hennessy John L., Patterson David A. Computer Architecture, Fifth Edition: A Quantitative Approach. — 5th edition. — San Fran¬cisco, CA, USA : Morgan Kaufmann Publishers Inc., 2011. — ISBN:012383872X.
[11] Plattner H., Zeier A. In-Memory Data Management: Technology and Applications. SpringerLink : Bucher. — Springer Berlin Hei¬delberg, 2012.—ISBN:9783642295751.—Access mode: https://books.google.ru/books?id=zzlY9glKPfkC.
[12] SkillFactory // Самые популярные языки программирования. Хабратоп 2020 года. — 2020. — Режим доступа: https://habr.com/ru/company/skillfactory/blog/531360/ (дата обращения: 21.05.2021).
[13] Solihin Yan. Fundamentals of Parallel Multicore Architecture. — 1st edition. — Chapman Hall/CRC, 2015.—ISBN:1482211181.
[14] Tanenbaum Andrew S., Steen Maarten van. Distributed Systems: Principles and Paradigms (2nd Edition). — USA : Prentice-Hall, Inc., 2006. — ISBN:0132392275.
[15] Thomadakis Michael. The Architecture of the Nehalem Processor and Nehalem-EP SMP Platforms // JFE Technical Report. — 2011. — 03.


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




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