Creation of an Internet portal providing meteorological forecasting services on multiprocessor platform
The Internet portal for providing meteorological forecasting services is created. The services are based on a parallel implementation of atmospheric circulation tasks modeling upon a multiprocessor platform. The features of the portal system, algorithms and methods as well as the architectural aspec...
Gespeichert in:
Datum: | 2017 |
---|---|
Hauptverfasser: | , , , , |
Format: | Artikel |
Sprache: | Ukrainian |
Veröffentlicht: |
Інститут програмних систем НАН України
2017
|
Schlagworte: | |
Online Zugang: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/145 |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Назва журналу: | Problems in programming |
Institution
Problems in programmingid |
pp_isofts_kiev_ua-article-145 |
---|---|
record_format |
ojs |
resource_txt_mv |
ppisoftskievua/1a/1f8b6273acbc7c61639438a6cbf84e1a.pdf |
spelling |
pp_isofts_kiev_ua-article-1452018-07-16T15:38:20Z Creation of an Internet portal providing meteorological forecasting services on multiprocessor platform К созданию Интернет-портала пре-доставления услуг метеорологического прогнозирования на мультипроцессорной платформе До створення Інтернет-порталу надання послуг метеорологічного прогнозування на мультипроцесорній платформі Doroshenko, А.Yu. Ivanenko, P.A. Ovdii, O.M. Pavliuchyn, T.O. Vitriak, I.A. UDC 681.5 УДК 681.5 УДК 681.5 The Internet portal for providing meteorological forecasting services is created. The services are based on a parallel implementation of atmospheric circulation tasks modeling upon a multiprocessor platform. The features of the portal system, algorithms and methods as well as the architectural aspects of the complex problem solving are described. Рассмотрены вопросы создания Интернет-портала для предоставления сервисов метеорологического прогнозирования на основе параллельной реализации задач моделирования циркуляции атмосферы на мультипроцессорной платформе. Рассмотрены особенности портальной системы, описаны использованные алгоритмы и методы, а также архитектурные аспекты комплексного решения проблемы. Розглядаються питання створення Інтернет-порталу для надання сервісів метеорологічного прогнозування на основі паралельної реалізації задач моделювання циркуляції атмосфери на мультипроцесорній платформі. Розглянуті особливості портальної системи, описані використані алгоритми та методи, а також архітектурні аспекти комплексного вирішення проблеми. Інститут програмних систем НАН України 2017-06-15 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/145 PROBLEMS IN PROGRAMMING; No 3 (2015) ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 3 (2015) ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 3 (2015) 1727-4907 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/145/138 Copyright (c) 2017 ПРОБЛЕМИ ПРОГРАМУВАННЯ |
institution |
Problems in programming |
baseUrl_str |
https://pp.isofts.kiev.ua/index.php/ojs1/oai |
datestamp_date |
2018-07-16T15:38:20Z |
collection |
OJS |
language |
Ukrainian |
topic |
UDC 681.5 |
spellingShingle |
UDC 681.5 Doroshenko, А.Yu. Ivanenko, P.A. Ovdii, O.M. Pavliuchyn, T.O. Vitriak, I.A. Creation of an Internet portal providing meteorological forecasting services on multiprocessor platform |
topic_facet |
UDC 681.5 УДК 681.5 УДК 681.5 |
format |
Article |
author |
Doroshenko, А.Yu. Ivanenko, P.A. Ovdii, O.M. Pavliuchyn, T.O. Vitriak, I.A. |
author_facet |
Doroshenko, А.Yu. Ivanenko, P.A. Ovdii, O.M. Pavliuchyn, T.O. Vitriak, I.A. |
author_sort |
Doroshenko, А.Yu. |
title |
Creation of an Internet portal providing meteorological forecasting services on multiprocessor platform |
title_short |
Creation of an Internet portal providing meteorological forecasting services on multiprocessor platform |
title_full |
Creation of an Internet portal providing meteorological forecasting services on multiprocessor platform |
title_fullStr |
Creation of an Internet portal providing meteorological forecasting services on multiprocessor platform |
title_full_unstemmed |
Creation of an Internet portal providing meteorological forecasting services on multiprocessor platform |
title_sort |
creation of an internet portal providing meteorological forecasting services on multiprocessor platform |
title_alt |
К созданию Интернет-портала пре-доставления услуг метеорологического прогнозирования на мультипроцессорной платформе До створення Інтернет-порталу надання послуг метеорологічного прогнозування на мультипроцесорній платформі |
description |
The Internet portal for providing meteorological forecasting services is created. The services are based on a parallel implementation of atmospheric circulation tasks modeling upon a multiprocessor platform. The features of the portal system, algorithms and methods as well as the architectural aspects of the complex problem solving are described. |
publisher |
Інститут програмних систем НАН України |
publishDate |
2017 |
url |
https://pp.isofts.kiev.ua/index.php/ojs1/article/view/145 |
work_keys_str_mv |
AT doroshenkoayu creationofaninternetportalprovidingmeteorologicalforecastingservicesonmultiprocessorplatform AT ivanenkopa creationofaninternetportalprovidingmeteorologicalforecastingservicesonmultiprocessorplatform AT ovdiiom creationofaninternetportalprovidingmeteorologicalforecastingservicesonmultiprocessorplatform AT pavliuchynto creationofaninternetportalprovidingmeteorologicalforecastingservicesonmultiprocessorplatform AT vitriakia creationofaninternetportalprovidingmeteorologicalforecastingservicesonmultiprocessorplatform AT doroshenkoayu ksozdaniûinternetportalapredostavleniâuslugmeteorologičeskogoprognozirovaniânamulʹtiprocessornojplatforme AT ivanenkopa ksozdaniûinternetportalapredostavleniâuslugmeteorologičeskogoprognozirovaniânamulʹtiprocessornojplatforme AT ovdiiom ksozdaniûinternetportalapredostavleniâuslugmeteorologičeskogoprognozirovaniânamulʹtiprocessornojplatforme AT pavliuchynto ksozdaniûinternetportalapredostavleniâuslugmeteorologičeskogoprognozirovaniânamulʹtiprocessornojplatforme AT vitriakia ksozdaniûinternetportalapredostavleniâuslugmeteorologičeskogoprognozirovaniânamulʹtiprocessornojplatforme AT doroshenkoayu dostvorennâínternetportalunadannâposlugmeteorologíčnogoprognozuvannânamulʹtiprocesorníjplatformí AT ivanenkopa dostvorennâínternetportalunadannâposlugmeteorologíčnogoprognozuvannânamulʹtiprocesorníjplatformí AT ovdiiom dostvorennâínternetportalunadannâposlugmeteorologíčnogoprognozuvannânamulʹtiprocesorníjplatformí AT pavliuchynto dostvorennâínternetportalunadannâposlugmeteorologíčnogoprognozuvannânamulʹtiprocesorníjplatformí AT vitriakia dostvorennâínternetportalunadannâposlugmeteorologíčnogoprognozuvannânamulʹtiprocesorníjplatformí |
first_indexed |
2025-07-17T09:33:03Z |
last_indexed |
2025-07-17T09:33:03Z |
_version_ |
1838499525268865024 |
fulltext |
Моделі та засоби паралельних і розподілених програм
© А.Ю. Дорошенко, П.А. Іваненко, О.М. Овдій, Т.О. Павлючин, Є.А. Вітряк, 2015
24 ISSN 1727-4907. Проблеми програмування. 2015. № 3
УДК 681.5.
А.Ю. Дорошенко, П.А. Іваненко, О.М. Овдій, Т.О. Павлючин, Є.А. Вітряк
ДО СТВОРЕННЯ ІНТЕРНЕТ-ПОРТАЛУ НАДАННЯ
ПОСЛУГ МЕТЕОРОЛОГІЧНОГО ПРОГНОЗУВАННЯ
НА МУЛЬТИПРОЦЕСОРНІЙ ПЛАТФОРМІ
Розглядаються питання створення Інтернет-порталу для надання сервісів метеорологічного прогнозу-
вання на основі паралельної реалізації задач моделювання циркуляції атмосфери на мультипроцесорній
платформі. Розглянуті особливості портальної системи, описані використані алгоритми та методи, а та-
кож архітектурні аспекти комплексного вирішення проблеми.
Вступ
В наші дні прогностичні систем
стають все більш актуальними у зв’язку зі
впровадженням різноманітних автомати-
зованих систем прийняття рішень, керу-
вання та оцінки ризиків у різних сферах
людської діяльності. Зокрема, метеороло-
гічне прогнозування окрім задоволення
потреб звичайних користувачів викорис-
товується для вирішення різноманітних
задач у транспортній галузі, авіації, сільсь-
кому господарстві, наукових досліджень
тощо. Суттєве значення має актуальність
отриманого прогнозу, його достовірність
та оперативність отримання. Швидкість
отримання результатів прогнозу в деяких
ситуаціях має критичне значення. Не менш
важливим є наочність відображення отри-
маних даних.
Задача метеорологічного прогнозу-
вання є складною прикладної обчислюва-
льною задачею з високими вимогами до
точності отриманих результатів та жорст-
кими часовими обмеженнями. Великий
обсяг обчислень над великими масивами
даних потребує впровадження паралель-
них реалізацій та оптимізації обчислюва-
льних алгоритмів.
У даній роботі запропоновано під-
хід до створення порталу для надання пос-
луг з метеорологічного прогнозування,
який поєднує комплексність використання
адекватних фізичних моделей атмосфер-
них процесів з ефективними обчислюваль-
ними схемами і методами програмування
високопродуктивних обчислень на муль-
типроцесорних системах, що дає змогу
досягати належного ступеня точності, пов-
ноти і своєчасності інформації, необхідної
для задоволення потреб широкого кола
користувачів.
У даній роботі описується реаліза-
ція комплексної сервісно-орієнтованої си-
стеми, що дозволяє користувачам швидко
та зручно отримувати дані метеорологіч-
них прогнозів. Використання сервісно-
орієнтованих та портальних технологій
дозволяє легко масштабувати та нарощу-
вати потужність та функціональність сис-
теми.
Структура роботи є наступною: пе-
рший розділ містить постановку задачі й
опис математичної моделі; у розділі 2 ви-
світлюються архітектурні аспекти побудо-
ваної системи; у розділі 3 представлено
опис та деталі реалізації інтерфейсу порта-
лу і візуалізації даних прогнозу.
1. Постановка задачі
Математична модель
В атмосфері є процеси та явища рі-
зних типів. Одні процеси розвиваються на
обмеженій території на протязі невеликого
відрізку часу, інші – на широкому просторі
довгий час. В залежності від просторової
протяжності всі процеси та явища в атмо-
сфері можна умовно поділити на три типи:
мікромасштабні (до кілометра), мезомасш-
табні (порядку десятків і сотень кіломет-
рів) та макромасштабні (понад 1000 км).
Формування процесів та явищ в атмосфері
в кожній конкретній області виникає під
впливом процесів всіх перерахованих ви-
ще масштабів [1].
Регіональні та локальні моделі, що
описують мезомасштабні та мікромасшта-
Моделі та засоби паралельних і розподілених програм
25
бні метеорологічні процеси та явища, ви-
значають формування погоди в окремих
пунктах та регіонах, призначені для ство-
рення більш обґрунтованих та деталізова-
них як в просторі, так і за часом прогнозу
погоди.
Сучасні системи чисельного про-
гнозу погоди складаються із прогностич-
ної моделі та системи отримання даних
реальних спостережень. Модель зображує
динаміку глобальної атмосферної цирку-
ляції й повинна адекватно описувати коро-
ткочасні (від годин до декількох днів) мак-
ромасштабні атмосферні процеси. Також
модель має описувати частини процесів
мезометеорологічного масштабу із періо-
дами від десятків хвилин до кількох годин.
Постійна нестійкість атмосфери значно
ускладнює задачу прогнозування погоди.
Фактично межа передбачуваності для си-
ноптичних процесів рівна 1–2 тижням.
Сьогодні є чотири перспективні напрямки
вдосконалення чисельних прогнозів [2]:
підвищення точності розв’язання
рівнянь гідротермодинаміки атмосфери
[3];
врахування фізичних процесів
підсіткового масштабу [4];
покращення оцінки початкового
стану атмосфери [5];
та врахування хаотичних власти-
востей атмосферних процесів.
Математична модель цієї роботи
орієнтована на перший та другий напрям-
ки. Підвищення точності розв’язання дося-
гається за рахунок застосування ефектив-
них чисельних методів й переходу до негі-
дростатичних рівнянь.
Ефективність для метеорології асо-
ціюється із часом обчислень й рівнем по-
милки відтворення атмосферної циркуля-
ції. Чисельний метод має обчислювати
прогноз за хвилини тому, зважаючи на
досить великий обсяг обчислень, обов’яз-
ковою вимогою є наявність внутрішнього
паралелізму, що дозволяє реалізацію мо-
делі на багатопроцесорній ЕОМ.
Використання негідростатичних рі-
внянь є актуальним за просторової роз-
дільності 10 км та вище. За такої розділь-
ності негідростатичні ефекти (наприклад,
стисненість повітря [6]) мають значний
вплив.
Врахування рельєфу земної пове-
рхні. Наявність рельєфу суттєво впливає
на процеси та явища, що мають місце в
нижній частині атмосфери. В обраній мо-
делі врахування рельєфу здійснюється
шляхом переходу до нової вертикальної
координати, а саме до вибору вертикаль-
ною координатою нормованого тиску
0pp , де 0p – приземний тиск.
Початково-крайові умови моделі.
Для постановки початкових та крайових
умов моделі використовувався електрон-
ний архів даних об’єктивного аналізу по-
лів метеовеличин, що отриманий із регіо-
нального центру прогнозування погоди у
м. Офенбах [7]. Формат цих метеорологіч-
них даних є таким:
вертикальна координата – тиск;
вертикальна протяжність від
1000 до 50 гПа. 10 рівнів що приблизно
відповідають висотам від 8000 до 18000
метрів;
просторова область 0° – 90° пвн.
ш. та 0° – 90° сх. д.;
просторова дискретність 0.5° за
широтою та довготою (180 точок за кож-
ним напрямком);
часова дискретність 12 годин.
Варто зазначити, що між архівними
даними та моделлю існує неузгодженість.
Це пов’язано із тим, що модель є абстрак-
тнішою за дані. Відтак, вона не здатна від-
творити динаміку деяких процесів (напри-
клад, вплив на циркуляцію перетворень
вологи та хмарності), інформація про які
вже міститься у початкових та крайових
умовах. Проте якісно динаміка атмосфер-
ної циркуляції має відтворюватися добре,
оскільки тиск, що є головною рушійною
силою, вважається відомою величиною та
задається у всій розрахунковій області для
усіх моментів часу.
Модельовані фізичні величини й
паралельний алгоритм. Обрана модель
дозволяє отримати прогноз для наступних
фізичних величин: швидкість та напрям
вітру, температура й вологість повітря у
кожній точці області обчислень.
Моделі та засоби паралельних і розподілених програм
26
Програмна реалізація чисельного
методу використовує модифіковану адити-
вно-усереднену схему розщеплення [8]
яка дозволяє поєднати геометричне та опе-
раторне розщеплення й не потребує поста-
новки крайових умов усередині розрахун-
кової області. Більш детально познайоми-
тися з чисельним методом можна у [8].
Паралельний алгоритм докладно описаний
в роботі [9].
2. Архітектура системи
В рамках даної роботи було спрое-
ктовано та реалізовано сервіс-орієнтовану
систему надання послуг метеорологічного
прогнозування з використанням парале-
льних обчислень на мультипроцесорній
платформі та портальних технологій.
Отримана система складається з декількох
модулів-сервісів, кожен з яких виконує
окрему, незалежну від інших сервісів, фу-
нкцію. Це придає системі гнучкості, до-
зволяючи при необхідності замінювати
однотипні сервіси.
Значна частина системи написана
на мові Java, крім власне паралельних про-
грам для виконання обрахунку прогнозу,
яка розроблені на мові C++ за стандартом
OpenMP [10]. Це дозволяє розташовувати
систему на більшості обчислювальних
платформ.
Структурна схема архітектури сис-
теми показана на рис. 1.
Далі наведено опис основних елеме-
нтів системи.
Інтернет-портал надає інтерфейс
доступу до сервісів системи кінцевому
користувачу. Вибір саме портального рі-
шення зумовлений можливістю легко інте-
грувати та забезпечувати єдину точку дос-
тупу до різноманітних сервісів, нарощую-
чи функціональність системи.
Інтернет
Сервіс управління
метеорологічними
прогнозами
БД
Постачальники
прогнозів
Постачальник
метеоданих
Сервіс розрахунку
метеорологічних
прогнозів
Мультипроцесорна
платформа
Інтернет
Інтернет-портал
(Liferay)
Рис. 1. Структурна схема архітектури системи
Моделі та засоби паралельних і розподілених програм
27
Він реалізований за допомогою відк-
ритого програмного продукту Liferay [11],
що є досить потужним корпоративним
порталом, але при цьому простий в інста-
ляції та адмініструванні.
За даними звітів авторитетної аналі-
тичної агенції Gartner [12], яка на протязі
останніх років проводить аналіз ринку ко-
рпоративних порталів, Liferay є одним із
лідерів індустрії і навіть випереджає біль-
шість відомих комерційних продуктів.
Нами було використано версію з
вільною ліцензією, яка була розгорнуту в
контейнері сервлетів Apache Tomcat.
Розробка інтерфейсу Інтернет-
порталу виконувалась за допомогою ство-
рення «портлетів» – внутрішньо-
портальних додатків, які одночасно про-
понують користувачеві графічний інтер-
фейс, можуть реалізовувати нескладну
логіку для оперування даними та мають
можливість спілкуватись з сервісами. Та-
ким чином, вони є мостом між користува-
чем та основною частиною розробленої
системи.
Сервіс керування метеорологічни-
ми прогнозами є базовим сервісом, який
виконує функції планування, синхронізації
та управління системою (рис. 2).
Далі розглянемо детальніше функці-
ональні елементи цього сервісу.
Сервіс приймає заявки, в яких міс-
титься інформація про час, місце та тип
прогнозу.
Обробка заявок відбувається наступ-
ним чином:
1) заявка перенаправляється
"Фронт-сервлетом" на "Сервіс прийняття
рішень та планування", який оброблює
запит та робить перевірку на наявність вже
обрахованого прогнозу в базі даних;
2) у випадку, якщо в БД обрахова-
ного прогнозу з даними параметрами не
знайдено, заявка направляється в "Форму-
вач задач";
3) у "Формувачі задач" по заявці
формується відповідна задача;
4) далі "Формувач задач" отримує
з БД дані для обрахунку прогнозу і сфор-
мовану задачу передає на "Сервіс розраху-
нку метеорологічних прогнозів";
5) "Сервіс розрахунку метеороло-
гічних прогнозів" повертає результат об-
рахунку прогнозу на запит. «Сервіс
прийняття рішень та планування» зберігає
об’єкт в БД, та передає його на «Веб-
портал» у форматі JSON [13];
6) якщо даних розрахунку недо-
статньо для надання повноцінного прогно-
зу, сервіс виконує запит до зовнішніх сис-
тем метеорологічного прогнозування з ме-
тою отримання показників, яких не виста-
чає (наприклад, температури, хмарності
тощо);
Фронт-
сервлет
Заявка
на
прогноз
Прогноз
Сервіс управління метеорологічними прогнозами
Сервіс розрахунку
метеорологічних
прогнозів
Формувач
задач
БД
Сервіс прийняття
рішень та
планування
Запит до постачальника прогнозів
Рис. 2. Схема сервісу управління метеорологічними прогнозами
Моделі та засоби паралельних і розподілених програм
28
7) крім того, "Сервіс прийняття
рішень" синхронізує БД, періодично зава-
нтажуючи вхідні метеодані від "Постача-
льників метеоданих".
Постачальники метаданих. Один
або декілька постачальників вихідних ме-
теоданих, за якими розраховуються уточ-
нюючі прогнози. В даний час використо-
вуються дані надані метеорологічним цен-
тром у м. Офенбах [7].
Постачальники прогнозів. Зовні-
шні системи, які надають послуги метео-
рологічного прогнозування. У поточній
реалізації зовнішнім постачальником про-
гнозів є сервіс OpenWeatherMap [14].
База даних (БД) містить як вихідні
метеодані, так і дані розрахованих уточ-
нюючих прогнозів. Обрано PostgresSQL в
якості СУБД. До переваг якої можна від-
нести потужність, надійність та вільну лі-
цензію.
Паралельні програми для реаліза-
ції метеорологічного прогнозування на
даний момент використовуються у трьох
варіантах для обрахунку прогнозів: 2D, 3D
та періодичного.
Сервіс розрахунку метеорологіч-
них прогнозів. Проводить розрахунок ме-
теорологічних прогнозів з використанням
паралельної програми, яка виконується на
мультипроцесорній платформі. Сервіс роз-
роблено за концепцією побудови розподі-
лених програмних систем REST
(Representational State Transfer) [15] та реа-
лізовано на базі модуля Spring Framework
– Spring MVC [16].
Схема сервісу розрахунку метеоро-
логічних прогнозів показана на рис. 3.
Сервіс складається з декількох фун-
кціональних блоків:
Фронт-сервлет – об’єднує обробку
запитів шляхом їх направлення через єди-
ний об'єкт-обробник. Цей об’єкт реалізо-
вує загальну поведінку, яка може бути змі-
нена під час виконання за допомогою шаб-
лону декоратор. Після цього "Фронт-
сервлет" створює потрібні об’єкти відпо-
відно до запиту та викликає методи для
реалізації конкретної задачі.
Черга задач – блокуюча черга реа-
лізована на базі LinkedBlockingQueue біб-
ліотеки java.util.concurrent, що реалізує
алгоритм "two lock queue": одне блоку-
вання на додавання, інше на діставання
елемента.
Елементи черги – це задачі на обра-
хунок прогнозу, які відрізняються між со-
бою типом задачі 2D чи 3D, часом прогно-
зу та координатами. Для кожної задачі
зберігається інформація про статус
("DONE" – обрахований прогноз,
"IN_ORDER" – задача на прогноз перебу-
ває в черзі на виконання, "PENDING" –
Задача Задача Задача
Черга задач
Пул потоків
Потік
Потік
Потік
Потік
Фронт-
сервлет
ПП
ПП
ПП
ПП
Мультипроцесорна
платформа
Задача
Прогноз
Сервіс розрахунку метеорологічних прогнозів
Процеси
Рис. 3. Схема сервісу розрахунку метеорологічних прогнозів
Моделі та засоби паралельних і розподілених програм
29
задача на прогноз виконується в даний
момент ). Система може в будь-який мо-
мент дізнатися поточний статус задачі на
прогноз.
Елементи черги зберігаються в
порядку "перший прийшов, перший ви-
йшов" (FIFO – first in, first out).
LinkedBlockingQueue гарантує, що будь-
яка спроба дістати елемент з порожньої
черги заблокує викликаючий потік до тих
пір, поки в колекції не з'явиться елемент,
який можна дістати. Аналогічно, будь-яка
спроба вставити елемент в заповнену чергу
заблокує викликаючий потік, поки в черзі
не звільниться місце для нового елемента.
LinkedBlockingQueue вирішує проблему
передачі елементів, зібраних одним пото-
ком, для обробки в інший потік без явних
проблем синхронізації.
Пул потоків – реалізований на базі
інтерфейсу ExecutorService з пакету
java.util.concurrent також бере на себе ро-
боту по запуску і зупинці потоків. Дана
реалізація в найбільшій мірі підходить для
паралельного асинхронного обрахунку
прогнозів. Розмір пулу автоматично вста-
новлюється відповідно обчислювальних
можливостей системи та дорівнює кількос-
ті фізичних ядер процесорної системи на
якій запущений сервіс.
Обрахунок прогнозу виконується в
такій послідовності.
1. На вхід системи від "Сервісу
управління метеорологічними прогнозами"
надходить "Задача". "Фронт-сервлет" пере-
віряє наявність вільного місця в "Черзі за-
дач" та у разі успіху кладе задачу в чергу.
2. Далі чергу обслуговує незалеж-
ний потік, який переміщує задачі з черги в
"Пул потоків" за мірою звільнення систем-
них ресурсів (ядер).
3. "Пул потоків" автоматично за-
пускає на виконання задачі.
4. Кожна задача при старті резер-
вує необхідну їй кількість ядер та запускає
паралельну програму – "ПП", відповідно
до параметрів запиту.
5. В результаті виконання "ПП"
результати обрахунків записуються в тим-
часові файли.
6. Задача опрацьовує файли та
створює Прогноз (Java POJO-об’єкти) та
повертає його на "Фронт-сервлет".
7. По завершенню обрахунку за-
дача звільняє системні ресурси та видаляє
тимчасові файли.
8. "Фронт-сервлет" відповідає на
запит "Сервісу управління метеорологіч-
ними прогнозами".
3. Інтерфейс системи та
візуалізація даних прогнозу
Для реалізації інтерфейсної частини
системи був використаний портальний
програмний продукт Liferay, що вільно
розповсюджується і має відкритий код.
Інтерфейс Інтернет-порталу складається із
декількох окремих портлетів, які взаємо-
діють між собою та іншими внутрішніми
та зовнішніми сервісами. Наприклад, з
"Сервісом розрахунку метеорологічних
прогнозів" портлети спілкуються за допо-
могою методу взаємодії REST [15]. Даний
спосіб взаємодії було обрано завдяки його
простоті та невеликого розміру повідом-
лень, що передаються між компонентами
системи.
Головна сторінка порталу показана
на рис. 4.
За допомогою портлету пошуку
користувач має можливість здійснювати
пошук місця для якого йому необхідно
надати прогноз. Пошук реалізовано з ви-
користанням сервісу геокодування Google
Maps. Пошук можливий за назвами будь-
яких географічних об’єктів та за їх індек-
сами, а також за назвами організацій та
підприємств.
Візуалізація результатів прогнозу ви-
конується декількома різними способами.
Картографічне представлення ре-
зультатів метеорологічного прогнозу роз-
роблено з використанням сервісу Google
Maps [17]. Було реалізовано три варіанти
представлення метеорологічних даних:
за допомогою векторів (для си-
ли вітру);
за допомогою ізоліній;
за допомогою напівпрозорих
ізообластей.
Ці представлення можуть відобра-
жатися як окремо, так і одночасно, відпо-
відно до вибраного в даний момент типу
прогнозу.
Моделі та засоби паралельних і розподілених програм
30
Рис. 4. Головна сторінка Інтернет-порталу
Для побудови ізоліній було викори-
стано алгоритм Conrec [18], що є одним з
найбільш популярних алгоритмів для об-
числення контурних ліній.
Початково мапа центрується на міс-
ті, яке отримано з сервісу геолокації та
відповідає поточному місцезнаходженню
користувача. Таким чином, можна швидко
отримати необхідний прогноз без попере-
днього пошуку за місцевістю. Місцезнахо-
дження користувача або шукана місцевість
позначається спеціальним маркером на
мапі.
Крім того за один клік можна отри-
мати стислу інформацію по прогнозу для
конкретної точки на мапі у спливаючому
вікні (рис. 5).
Детальна інформація по прогнозу
для обраної місцевості складається з роз-
рахованих системою даних метеорологіч-
ного прогнозу (на даний момент це дані за
силою вітру та температурою) та допов-
нюючих даних, отриманих з зовнішнього
постачальника прогнозів, сервіса
OpenWeatherMap [14] (рис. 6).
Рис. 5. Стисла інформація по прогнозу для
конкретної точки на висоті 8000 м
Моделі та засоби паралельних і розподілених програм
31
Рис. 6. Портлет детальної інформації
Нині в системі реалізовано два ал-
горитми метеорологічного прогнозування:
двовимірний, що оперує тільки швидкістю
вітру, та тривимірний, що розраховує як
швидкість вітру, так і температуру. Крім
того тривимірна задача дозволяє розраху-
вати прогнози для різних висот. Згадані
параметри розрахунку можна вибрати за
допомогою портлетів вибору типу про-
гнозу та вибору висоти.
Висновки
В роботі розглянуто розробку Інте-
рнет-порталу для комплексної сервісно-
орієнтованої реалізації задачі метеорологі-
чного прогнозування на мультипроцесор-
ній платформі. Розглянуті особливості
портальних систем, описані використані
алгоритми та методи, а також архітектурні
аспекти запропонованого рішення.
Представлену систему створено за
допомогою сучасних провідних техноло-
гій, таких як Інтернет-портали та мікро-
сервіси. Завдяки сервісно-орієнтованій
архітектурі вона інтегрує як власні неза-
лежні сервіси так і зовнішні, які виступа-
ють у ролі постачальників даних або допо-
внюють функціональність системи. Таким
чином, розроблена система є прикладом
переваг сервісно-орієнтованої архітектури.
В подальшому планується розвива-
ти цю систему додаючи нові сервіси, фун-
кціонально збагачувати існуючі, проводи-
ти подальшу оптимізацію виконання алго-
ритмів прогнозування на мультипроцесор-
ній платформі та використовувати нові
мультипроцесорні платформи.
1. Прусов В.А., Дорошенко А.Ю. Моделюван-
ня природних і техногенних процесів в
атмосфері. – К.: Наукова думка, 2006. –
542 с.
2. Толстих М.А., Фролов А.В. Некоторые
современные проблемы численного про-
гноза погоды. – М.: Известия РАН. Физика
атмосферы и океана. – 2005. – Т. 41, № 3. –
С. 315–327.
3. Белов П.Н., Борисенков Е.П., Панин Б.Д.
Численные методы прогноза погоды. – Л.:
Гидрометеоиздат, 1989. – 376 с.
4. Марчук Г.И., Дымников В.П., Залесный В.Б.
и др. Математическое моделирование об-
щей циркуляции атмосферы и океана. – Л.:
Гидрометеоиздат, 1984. – 320 с.
5. Фролов А.В., Важник А.И., Свиренко П.И.
и др. Глобальная система усвоения данных
наблюдений о состоянии атмосферы. –
Спб.: Гидрометеоиздат, 2000. – 187 с.
6. Белоцерковский О.М., Крачинский Л.М.,
Опарин А.М. Численное моделирование
пространственных течений в стратифи-
цированной атмосфере, вызванных силь-
ными крупномасштабными возмущения-
ми // Журнал вычислительной математи-
ческой физики. – 2003. – Т. 43, N 11. –
С. 1722–1737.
7. http://www.dwd.de (веб-сайт метеорологіч-
ного центру у м. Офенбах)
8. Прусов В.А., Дорошенко А.Е., Черныш Р.И.
Метод численного решения многомерной
задачи конвективной диффузии // Кибер-
нетика и системный анализ. – 2009. –
№ 1. – С. 100–107.
9. Черниш Р.І., Тирчак Ю.М., Іваненко П.А.
Побудова паралельного алгоритму чисель-
ного розв’язання багатовимірної задачі мо-
делювання навколишнього середовища //
Проблеми програмування. – 2009. – № 1. –
С. 85–91.
10. http://openmp.org/wp/ електронний ресурс
11. http://www.liferay.com/ електронний ресурс
12. http://www.gartner.com/ електронний ре-
сурс
13. http://json.org/ електронний ресурс
14. http://openweathermap.org/ електронний
ресурс
15. Fielding R.T., Taylor R.N. Principled Design
of the Modern Web Architecture // In
Proceedings of the 2000 International
Conference on Software Engineering
Моделі та засоби паралельних і розподілених програм
32
(ICSE 2000). Limerick, Ireland. – 2000. –
C. 407–416.
16. http://projects.spring.io/spring-framework/
електронний ресурс
17. http://maps.google.com/ електронний ресурс
18. http://paulbourke.net/papers/conrec/ елект-
ронний ресурс
19. Дорошенко А.Ю., Бекетов О.Г., Прусов
В.А., Тирчак Ю.М., Яценко О.А. Формалі-
зоване проектування та генерація парале-
льної програми чисельного прогнозування
погоди // Проблеми програмування. – 2014.
– № 2–3. – С. 72–81.
20. Іваненко П.А., Дорошенко А.Ю., Овдій
О.М., Суслова Л.М. Автотьюнер та візуалі-
зація для задачі метеорологічного прогно-
зування // Проблеми програмування –
2013. – № 4. – С. 64–73.
Одержано 09.04.2015
Про авторів:
Дорошенко Анатолій Юхимович,
доктор фізико-математичних наук,
професор, завідуючий відділом теорії
комп’ютерних обчислень Інституту про-
грамних систем НАН України,
Іваненко Павло Андрійович,
молодший науковий співробітник
Інституту програмних систем
НАН України,
Овдій Ольга Михайлівна,
молодший науковий співробітник
Інституту програмних систем
НАН України,
Павлючин Тарас Олександрович,
студент кафедри автоматики та управління
в технічних системах Національного
технічного університету України
"Київський політехнічний інститут",
Вітряк Євгеній Андрійович,
студент кафедри автоматики та управління
в технічних система Національного
технічного університету України
"Київський політехнічний інститут".
Місце роботи авторів:
Інститут програмних систем
НАН України.
03680, Київ-187,
Проспект Академіка Глушкова, 40.
Тел.: (044) 526 1538.
Національний технічний
університет України "КПІ".
03056, Київ-56,
Проспект Перемоги, 37.
Тел.: (044) 236 7989.
E-mail: dor@isofts.kiev.ua,
paiv@ukr.net,
olga.ovdiy@gmail.com,
pavlyuchin@ukr.net,
steplerbush@gmail.com
https://maps.google.com/
http://paulbourke.net/papers/conrec/
mailto:dor@isofts.kiev.ua
mailto:paiv@ukr.net
mailto:olga.ovdiy@gmail.com
mailto:pavlyuchin@ukr.net
mailto:steplerbush@gmail.com
|