Інтернет-конференції НУБіП України, Теоретичні та прикладні аспекти розробки комп’ютерних систем '2019

Розмір шрифту: 
Програмне забезпечення системи гнучкого налаштування звітів з великим об'ємом даних
Олександр Олександрович Цируль

Остання редакція: 02-04-2019

Тези доповіді


УДК 004.4

Програмне забезпечення системи гнучкого налаштування звітів з великим об'ємом даних

Цируль О.О., студент ОКР «Магістр», 1 курс

Науковий керівник Міловідов Ю.О., старший викладач

Метою дослідження є: визначити оптимальні засоби для роботи з великими об’ємами звітної інформації.

Об’єкт та предмет дослідження: застосування алгоритмів генерації OpenXml для роботи зі звітною інформацією засобами продуктів Microsoft Excel.

Завдання дослідження:

  1. Дослідити алгоритми для роботи з великою кількістю даних;
  2. Використання засобів динамічного генерування запитів до ресурсів з даними;
  3. Виконати порівняльні заміри алгоритмів на справжніх об’ємах даних;
  4. Привести висновки по дослідженню та аргументувати при яких умовах краще використовувати той чи інший алгоритм.

Актуальність: У сучасному світі з великою кількістю компаній, які займаються збереження, обробкою зміною великої кількості інформації, рано чи пізно всі починають дивитись в сторону звітності для візуального відображення статистики, звітності перед керівництвом, можливість підстановки графіків для аналітики.

Мови програмування та технології для реалізації.

Для реалізації алгоритмів та візуалізації програмної системи були обрані такі технології та мови:

Інтерфейс користувача

  • HTML5 – мова для структурування та подання вмісту всесвітньої павутини;
  • CSS3 - мова стилів, який визначає відображення HTML-документів;
  • JavaScript - це мова програмування, яка додає інтерактивність для веб-сайту;
  • ExtJs - це бібліотека JavaScript для розробки веб-застосунків і користувальницьких інтерфейсів;
  • BpmOnline.UI – бібліотека з допоміжними засобами для генерації інтерфейсу.

Збереження та отримання даних

  • MSSQL -комерційна система керування базами даних від компанії Microsoft;
  • Oracle - об'єктно-реляційна система керування базами даних від Oracle Corporation;
  • PostgreSQL - об'єктно-реляційна система керування базами даних з відкритим кодом;
  • Terrasoft.Core.Entities – бібліотека для динамічного створення запитів до баз даних на основі роботи з об’єктами.

Звітність

  • OpenXml - міжнародний стандарт формату файлів для електронних документів.

Система керування версіями

  • Svn - вільна система управління версіями.

Підходи до генерації електронних документів

Пакет Open XML SDK забезпечує два підходу до аналізу файлів Open XML. Можна використовувати модель DOM для пакетів SDK або функції читання і запису Simple API для XML (SAX). Модель DOM для пакетів SDK дозволяє спростити запити і аналіз файлів Open XML за допомогою строго типізованих класів. Однак при використанні моделі DOM всі частини Open XML потрібно повністю завантажити в пам'ять, що може викликати виключення “Недостатньо пам'яті” при роботі з дуже великими файлами. Якщо використовується SAX, OpenXMLReader можна застосовувати для читання XML у файлі по одному елементу за раз, не завантажуючи весь файл в пам'ять. Після замірів цих підходів було обрано SAX оскільки використання, для прикладу, при генерації файлу Excel на 1000000 строк, використання оперативної пам'яті не перевищувало 100мб, а при використанні підходу DOM більше 2000мб.

Інтерфейс користувача

Генерація інтерфейсу налаштування звітів виконано за допомогою платформи BpmOnline, що надає систему пакетів, тобто можливість розширення існуючих рішень простим встановленням додаткових модулів. Для побудови інтерфейсу було створено пакет, з використанням деяких можливостей платформи.