Details

Title: Радар Технологий: выпускная квалификационная работа бакалавра: 09.03.04 - Программная инженерия ; 09.03.04_01 - Технология разработки и сопровождения качественного программного продукта
Creators: Калинин Глеб Леонидович
Scientific adviser: Молодяков Сергей Александрович
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2019
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: машинное обучение; фреймворк; клиент-серверное приложение; machine learning; framework; client-server application; Spark; BigData; Java
Document type: Bachelor graduation qualification work
File type: PDF
Language: Russian
Level of education: Bachelor
Speciality code (FGOS): 09.03.04
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
Links: Отзыв руководителя; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2019/vr/vr19-953
Rights: Доступ по паролю из сети Интернет (чтение)
Record key: ru\spstu\vkr\2480

Allowed Actions:

Action 'Read' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

Цель настоящей работы - спроектировать и реализовать набор вспомогательных инструментов для заказчика, работодателя, архитектора решений и любого заинтересованного лица в сфере IT. В рамках данной выпускной квалификационной работы были проанализированы требования заказчика, выбраны технологии, построена архитектура проекта, а также проведен анализ существующих на рынке альтернатив, на основании которого было принято решение спроектировать и реализовать сервис, позволяющий отслеживать изменения в трендах по технологиям в реальном времени. Сервис имеет набор решений, основанных на BigData технологиях с применением Каппа-архитектуры для распределенной обработки больших объемов данных с помощью фреймворка Spark на языке Scala, а также клиент-серверное приложение, написанное на языке Java с использованием Spring.

The main purpose of this thesis is to design and develop the set of tools for customer, employer, solution architect and any interested person in IT. Customer’s requirements have been analyzed, technologies have been selected, the architecture have been created and the analysis of competitors has been performed in the course of this graduation work, on the basis of which it was decided to design and implement a service, that allows to track trends in technology trends in real time. The service has a set of solutions based on BigData technologies with the use of Kappa architecture for distributed processing of large amounts of data using the Spark framework in Scala and a client-server application written in Java using the Spring framework.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read
Internet Authorized users SPbPU Read
-> Internet Anonymous

Table of Contents

  • ВВЕДЕНИЕ
    • 1.1 Анализ предметной области
    • Одним из преимуществ сервиса является отслеживание популярности по регионам, которая представлена на рис. 1.2.
    • 2. АРХИТЕКТУРА ПРОЕКТА
      • 2.1 Глобальная архитектура
      • После того как источник данных был выбран и способы получения этих данных изучены, можно переходить к построению архитектуры проекта. Так как объем данных является довольно большим, было принято решение использовать технологии, предназначенные для па...
      • Так как обработка такого объема данных занимает довольно длительное время и требует много ресурсов было принято использовать кластер, состоящий из четырех машин и построенный на базе Hortonworks Data Platform.
      • В проекте реализована Каппа-архитектура, то есть обработка данных последовательно из двух источников - сначала предобработка всех данных, которые у имеются в хранилище и затем обработка в реальном времени новых данных.
      • Подробная архитектура представлена на рис. 2.1.
      • Для гарантированной доставки сообщений в проекте используется Confluent Kafka. Архитектура представлена на рис. 2.3.
      • 2.3 Архитектура хранения данных
      • Все сырые данные хранятся в виде сущностей в бинарном колонко-ориентированном формате Parquet в распределенном файловом хранилище HDFS. Архитектура HDFS представлена на рис. 2.4.
      • LSH - это вероятностный метод нахождения близких точек в многомерных пространствах. Работает он следующим образом: случайным образом выбираются несколько хеш-функций. Затем пространство разбивается ими на сектора. Информация о попавших в каждый секто...
    • 3. РАЗРАБОТКА ПРОЕКТА «РАДАР ТЕХНОЛОГИЙ»
      • 3.1 Реализация клиентской части
      • Клиентская часть разработана с использованием языка разметки HTML, CSS, фреймворка Bootstrap, а также скриптов Javascript.
      • Сайт включает в себя четыре страницы, каждая из которых поддерживает пользовательский ввод для вывода результатов по определенной технологии, а также выпадающие списки для выбора различных параметров. Все запросы обрабатываются в реальном времени на к...
      • Главная страница предоставляет информацию о самых популярных тегах за выбранный период. В левой части можно увидеть выпадающий список с возможностью выбора временного периода, а также результаты в виде таблицы, содержащей название тега и количество уп...
      • 3.2 Реализация серверной части
  • ЗАКЛЮЧЕНИЕ
  • Результатом выполнения выпускной квалификационной работы является веб-сервис для анализа технологий на мировом рынке и их трендов посредством получения, обработки, трансформации, нейронного обучения, агрегации и визуализации данных.
  • Разработан полный ETL процесс, включающий в себя обработку всего хранилища данных, а также обработку новых данных, поступающих в реальном времени. Реализована трансформация данных и агрегирование для получения представлений для дальнейшей обработки и...
  • Автоматизировано выполнение одноразовых и ежедневных задач из которых состоит весь ETL процесс, описанный выше.
  • Все основные требования к проекту были учтены и реализованы в ходе выполнения выпускной квалификационной работы.
  • При разработке архитектуры проекта учитывалась актуальность и полезность технологий. Таким образом, был выбран наиболее подходящий стек современных технологий, позволяющий выполнять распределенные вычисления.
  • В планах на будущее планируется расширить имеющиеся источники данных, а также добавить больше возможностей для анализа по определенному периоду времени.
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Usage statistics

stat Access count: 38
Last 30 days: 0
Detailed usage statistics