Курсовая работа: Новий підхід моделювання завантаженості SQL серверів
Функція produceChart одна з основних, і призначена для визначення інтервалу часу, протягом якого проводився деякий тест, та подальшого виклику функції createChart.
Функція createChart призначена для створення графічних елементів вікна, які необхідні для графічного відображення сітки координат, а також самої кривої. Додаткові функції setTime та setColor призначені для встановлення внутрішніх змінних та полів класу, які необхідні для роботи класу.
Рис. 2.1 Алгоритм роботи функції produceChart.
Під час обробки даних про час відбувається розклад даних про точку початку та точку закінчення проходження тесту. В подальшому проводиться встановлення параметрів малювання графіку таких, як колір лінії та кількість ліній на графіку.
Після встановлення всіх необхідних параметрів відбувається виклик функції createChart, яка проведе генерацію графіку по заданих даних, після чого, графік буде повернуто у точку виклику. Вказана точка виклику знаходиться в класі ChartServlet.
Даний клас призначений для виконання послідовних дій для отримання графіка завантаженості, та виводу даного графіку у вигляді малюнку на HTML-сторінці. Послідовність дій, які виконує даний сервлет включає в себе:
1. Визначення з параметрів запиту тип графіку, який необхідно вивести користувачу.
2. Запуск класу, що отримує початкові параметри для відображення для заданого типу графіку з xml-файлу.
a) створення екземплярів класів, які необхідні для розбирання xml-файла;
b) створення класів для читання атрибутів;
c) пошук атрибутів для вхідного типу класу;
d) повернення атрибутів викликаю чому об’єкту.
3. Обробка початкових параметрів.
4. Створення екземпляру класу MyChart2.
5. Збереження отриманого графіку в тимчасовій директорії у вигляді файлу.
6. Передача файлу користувачу.
7. Знищення тимчасового файлу графіку.
Для спрощення внесення змін або обновлення параметрів відображення графіків, добавлення нових типів графіків тощо, використовується xml-файл. Приклад вказання параметрів для типу графіка, що буде відповідати за відображення вхідного завантаження мережі буде мати вигляд:
. . .
<chart
id="MyChart2"
class="Additional.MyChart2"
width="780"
height="480"/>
. . .
Проте, вищеописані класи працюють з вже існуючою інформацією про координати точок графіка. Ці створення цих часових залежностей і призначений клас ParseData. Робота класу заключається в обробці даних лог-файлу, який створюється зовнішньою програмою аналізу трафіку. При цьому в класі здійснюється обробка тільки тих рядків файлу, які відповідають нашому заданому періоду тестування. Це дозволяє проводити обробку лог-файлу одночасно з внесенням змін в нього самою програмою-аналізатором.
При проведенні аналізу переданих даних, клас ParseData проводить також аналіз даних, які вказують на те, які дані були передані - вхідні (вхідний трафік) чи вихідні (вихідний трафік). Після цього відбувається перерозподіл даних згідно їх приналежності до однієї з трьох структур:
a) серії вхідного трафіку;