<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'> <html class="client-nojs" dir="ltr" lang="en"> <head> <meta charset="UTF-8" /> <title>Модулі/ÐÑ€Ñ…Ñ–Ð²Ð°Ñ†Ñ–Ñ Ð½Ð° БД - OpenSCADAWiki</title> <meta content="MediaWiki 1.26.4" name="generator" /> <link href="https://www.gnu.org/copyleft/fdl.html" rel="copyright" /> <link href="../../en/files/doc.css" rel="stylesheet" /></head> <body><div class="floatright"><a href="../index.html"><img alt="OpenSCADA" src="../../en/files/index.png" /></a></div><div id="mw_header"> <div class="mw-indicators"> </div> <h1 id="firstHeading" lang="uk">Модулі/ÐÑ€Ñ…Ñ–Ð²Ð°Ñ†Ñ–Ñ Ð½Ð° БД</h1> </div><div class="mw-content-ltr" dir="ltr" id="mw-content-text" lang="uk"><div class="mw-pt-translate-header noprint" dir="ltr" lang="en">This page is a <span class="plainlinks"><a class="external text" href="http://oscada.org/wiki/index.php?title=Special:Translate&group=page-Modules%2FDBArch&action=page&filter=&language=uk" rel="nofollow noreferrer noopener" target="_blank">translated version</a></span> of the page <a class="external" href="http://oscada.org/wiki/Modules/DBArch" title="Modules/DBArch">Modules/DBArch</a> and the translation is 100% complete.</div><hr /><div class="mw-pt-languages" dir="ltr" lang="en"><div class="mw-pt-languages-list autonym"><a class="mw-pt-languages-ui mw-pt-progress mw-pt-progress--complete" href="../../en/Modules/DBArch.html" title="Modules/DBArch (100% translated)">English</a> • ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../../ru/Modules/DBArch.html" title="Модули/ÐÑ€Ñ…Ð¸Ð²Ð°Ñ†Ð¸Ñ Ð½Ð° БД (100% translated)">mRussian</a> • ‎<span class="mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete">УкраїнÑька</span></div></div> <table class="wikitable"> <tr> <th> Модуль </th> <th> Ім'Ñ </th> <th> ВерÑÑ–Ñ </th> <th> Ð›Ñ–Ñ†ÐµÐ½Ð·Ñ–Ñ </th> <th> Джерело </th> <th> Мови </th> <th> Платформи </th> <th> Тип </th> <th> Ðвтор </th> <th> ÐžÐ¿Ð¸Ñ </th></tr> <tr> <td> <a href="../Modules/DBArch.html" title="Special:MyLanguage/Modules/DBArch">DBArch</a> </td> <td> Ðрхіватор до БД </td> <td> 3.1 </td> <td> GPL2 </td> <td> arh_DBArch.so </td> <td> en,uk,ru,de </td> <td> x86,x86_64,ARM </td> <td> Ðрхів </td> <td> Роман Савоченко </td> <td> Модуль архіватору. Ðадає функції архівації повідомлень та значень до БД. <ul><li> <b>Загальна працеміÑткіÑть:</b> > 5 <span title="людино-днів, 1ЛД — 10 годин">ЛД<sup style="color: blue">[!]</sup></span></li> <li> <b>СпонÑоруваннÑ, імплементації групових таблиць на 3.5 <span title="людино-днів, 1ЛД — 10 годин">ЛД<sup style="color: blue">[!]</sup></span>:</b> УÑтьÑнцев Михайло</li></ul> </td></tr></table> <p>Модуль призначено Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ та значень OpenSCADA на одну із баз даних, підтримуваних OpenSCADA. </p><p>Будь Ñка SCADA ÑиÑтема надає можливіÑть Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ñ–Ð±Ñ€Ð°Ð½Ð¸Ñ… даних, тобто Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–Ñторії змін (динаміки) процеÑів. Ðрхіви умовно можна поділити на два типи: архіви повідомлень та архіви значень. </p><p>ОÑобливіÑтю архівів повідомлень Ñ” те, що архівуютьÑÑ Ñ‚Ð°Ðº звані повідомленнÑ. Характерною ознакою Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ” Ñ‡Ð°Ñ Ð¹Ð¾Ð³Ð¾ виникненнÑ. Ðрхіви повідомлень за звичай викориÑтовуютьÑÑ Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ програми, тобто Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð»Ð¾Ð³Ñ–Ð² та протоколів. Залежно від джерела, Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶ÑƒÑ‚ÑŒ клаÑифікуватиÑÑ Ð·Ð° різними критеріÑми. Ðаприклад, це можуть бути: протоколи аварійних Ñитуацій, протоколи дій операторів, протоколи збоїв зв'Ñзку та інше. </p><p>ОÑобливіÑтю архівів значень Ñ” Ñ—Ñ… періодичніÑть, Ñка визначаєтьÑÑ Ð¿Ñ€Ð¾Ð¼Ñ–Ð¶ÐºÐ¾Ð¼ чаÑу між двома Ñуміжними значеннÑми. Ðрхіви значень заÑтоÑовуютьÑÑ Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñ–Ñторії безперервних процеÑів. ОÑкільки Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð±ÐµÐ·Ð¿ÐµÑ€ÐµÑ€Ð²Ð½Ð¸Ð¹ то й архівувати його можна тільки шлÑхом Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ð¾Ð½ÑÑ‚Ñ‚Ñ ÐºÐ²Ð°Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‡Ð°Ñу опитуваннÑ, оÑкільки інакше ми отримуємо архіви неÑкінченних розмірів через неперервніÑть Ñамої природи процеÑу. Крім того, практично ми можемо отримати Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð· періодом, обмеженим Ñамими джерелами даних. Ðаприклад, доволі ÑкіÑні джерела даних у промиÑловоÑті рідко дозволÑють отримувати дані з чаÑтотою більшою за 1кГц. І це без Ð²Ñ€Ð°Ñ…ÑƒÐ²Ð°Ð½Ð½Ñ Ñамих давачів, Ñкі мають ще менш ÑкіÑні характериÑтики. </p><p>Ð”Ð»Ñ Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñ–Ð² у OpenSCADA передбачено <a href="../Program_manual.html#Arch" title="Special:MyLanguage/Documents/Program manual">підÑиÑтему "Ðрхіви-ІÑторіÑ"</a>. Ð¦Ñ Ð¿Ñ–Ð´ÑиÑтема, відповідно до типів архівів, ÑкладаєтьÑÑ Ñ–Ð· двох чаÑтин: архів повідомлень та архіви значень. ПідÑиÑтема, загалом, Ñ” модульною, що дозволÑÑ” Ñтворювати архіви, оÑновані на різній природі та ÑпоÑобах Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…. Цей модуль надає механізм Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° файлову ÑиÑтему Ñк Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ повідомлень, так Ñ– Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ значень. </p> <div class="toc" id="toc"><div id="toctitle"><h2>Contents</h2></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#.D0.90.D1.80.D1.85.D1.96.D0.B2.D0.B0.D1.82.D0.BE.D1.80_.D0.BF.D0.BE.D0.B2.D1.96.D0.B4.D0.BE.D0.BC.D0.BB.D0.B5.D0.BD.D1.8C"><span class="tocnumber">1</span> <span class="toctext">Ðрхіватор повідомлень</span></a></li> <li class="toclevel-1 tocsection-2"><a href="#.D0.90.D1.80.D1.85.D1.96.D0.B2.D0.B0.D1.82.D0.BE.D1.80_.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D1.8C"><span class="tocnumber">2</span> <span class="toctext">Ðрхіватор значень</span></a></li> <li class="toclevel-1 tocsection-3"><a href="#.D0.86.D0.BD.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.86.D1.96.D0.B9.D0.BD.D0.B0_.D1.82.D0.B0.D0.B1.D0.BB.D0.B8.D1.86.D1.8F_.D0.B0.D1.80.D1.85.D1.96.D0.B2.D0.BD.D0.B8.D1.85_.D1.82.D0.B0.D0.B1.D0.BB.D0.B8.D1.86.D1.8C"><span class="tocnumber">3</span> <span class="toctext">Інформаційна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð½Ð¸Ñ… таблиць</span></a></li> <li class="toclevel-1 tocsection-4"><a href="#.D0.95.D1.84.D0.B5.D0.BA.D1.82.D0.B8.D0.B2.D0.BD.D1.96.D1.81.D1.82.D1.8C"><span class="tocnumber">4</span> <span class="toctext"><span>ЕфективніÑть</span></span></a></li> <li class="toclevel-1 tocsection-5"><a href="#.D0.9F.D0.BE.D1.81.D0.B8.D0.BB.D0.B0.D0.BD.D0.BD.D1.8F"><span class="tocnumber">5</span> <span class="toctext">ПоÑиланнÑ</span></a></li> </ul> </div> <h2><span class="mw-headline" id=".D0.90.D1.80.D1.85.D1.96.D0.B2.D0.B0.D1.82.D0.BE.D1.80_.D0.BF.D0.BE.D0.B2.D1.96.D0.B4.D0.BE.D0.BC.D0.BB.D0.B5.D0.BD.D1.8C"><span class="mw-headline-number">1</span> Ðрхіватор повідомлень</span></h2> <p>Ðрхіви повідомлень формуютьÑÑ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸, Ñких може бути багато та з індивідуальними налаштуваннÑми, що дозволÑÑ” відокремлювати Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€Ñ–Ð·Ð½Ð¸Ñ… клаÑів повідомлень. </p><p>Ðрхіватор повідомлень цього Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ” дані у таблиці БД, Ñка називаєтьÑÑ "DBAMsg_{ArchID}", де: </p> <ul><li> <i>ArchID</i> — ідентифікатор архіватору повідомлень.</li></ul> <p>Модулем надаютьÑÑ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ– параметри Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу архівуваннÑ, риÑунок 1. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:799px;"><a class="image" href="http://oscada.org/wiki/File:DBArch_mess_a_prm_uk.png"><img class="thumbimage" height="709" src="../files/DBArch_mess_a_prm_uk.png" width="797" /></a> <div class="thumbcaption">РиÑ.1. Додаткові параметри Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ.</div></div></div></div> <p>До чиÑла додаткових параметрів входÑть: </p> <ul><li> <i>Розмір архіву, днів</i> — визначає розмір архіву за чаÑом. ПіÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð»Ñ–Ð¼Ñ–Ñ‚Ñƒ Ñтарі запиÑи почнуть видалÑтиÑÑ! Ð’Ñтановити у 0 Ð´Ð»Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ‚Ð° деÑкого Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ð¸Ð²Ð½Ð¾Ñті.</li> <li> <i>Формувати Ñ‡Ð°Ñ Ñк Ñ€Ñдок</i> — зберігати Ñ‡Ð°Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ читабельному виглÑді. Тільки Ð´Ð»Ñ Ð‘Ð” Ñкі підтримують таке за поÑередництвом Ñпецифічних типів даних на кшталт "datetime" у MySQL. <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../../en/files/At.png" width="22" /></a> Ð¦Ñ Ð¾Ð¿Ñ†Ñ–Ñ Ð½ÐµÑуміÑна, тобто при Ñ—Ñ— зміні Ви втратите чинні архіви.</li> <li> <i>Унікальні та недублюючі Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð»Ð¸ÑˆÐµ за чаÑом та категорією</i> — у первинному ключі викориÑтовуютьÑÑ Ð¿Ð¾Ð»Ñ <b>MIN</b>, <b>TM</b>, <b>TMU</b> та <b>CATEG</b>; інакше поле Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ”Ñ‚ÑŒÑÑ Ð´Ð¾ первинного ключа та його обмежено 255 Ñимволами.</li></ul> <p>Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð‘Ð” архіватору повідомлень має Ñтруктуру <b>{<u>MIN</u>, <u>TM</u>, <u>TMU</u>, <u>CATEG</u>, MESS, LEV}</b>, де: </p> <ul><li> <i>MIN</i> — UTC чаÑ, у хвилинах, викориÑтовуєтьÑÑ Ð´Ð»Ñ Ð¿Ñ€Ð¸ÑÐºÐ¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¸ читанні хвилинами.</li> <li> <i>TM</i> — UTC Ñ‡Ð°Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ, Ñекунди від епохи (01.01.1970). Тут може викориÑтовуватиÑÑ Ñпеціалізований тип Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ "Формувати Ñ‡Ð°Ñ Ñк Ñ€Ñдок", Ñкщо він підтримуєтьÑÑ Ð‘Ð”.</li> <li> <i>TMU</i> — мікроÑекунди чаÑу.</li> <li> <i>CATEG</i> — ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ñ–Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ.</li> <li> <i>MESS</i> — текÑÑ‚ повідомленнÑ.</li> <li> <i>LEV</i> — рівень повідомленнÑ.</li></ul> <h2><span class="mw-headline" id=".D0.90.D1.80.D1.85.D1.96.D0.B2.D0.B0.D1.82.D0.BE.D1.80_.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D1.8C"><span class="mw-headline-number">2</span> Ðрхіватор значень</span></h2> <p>Ðрхіви значень, по замовченню, формуютьÑÑ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸ значень індивідуально Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ зареєÑтрованого архіву. Ðрхіваторів може бути багато та з індивідуальними налаштуваннÑми, що дозволÑÑ” поділити архіви за різними параметрами, наприклад, за точніÑтю та глибиною. Ðрхіви параметрів одного архіватору можуть поєднуватиÑÑ Ð·Ð° групами — одна таблицÑ, із вказаним обмеженнÑм кількоÑті параметрів у групі. Ð“Ñ€ÑƒÐ¿ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»ÑÑ” значно підвищити продуктивніÑть архівації за рахунок надÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð´Ð¾ БД одного запиту із значеннÑми параметрів у групі. </p><p>Ðрхів значень Ñ” незалежним компонентом, Ñкий включає буфер, що оброблÑєтьÑÑ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸. ОÑновним параметром архіву значень Ñ” джерело даних. У ролі джерела даних можуть виÑтупати атрибути параметрів підÑиÑтеми "Збір даних", а також інші зовнішні джерела даних (паÑивний режим). Іншими джерелами даних можуть бути: мережеві архіватори віддалених OpenSCADA Ñтанцій, Ñередовище Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ OpenSCADA та інше. Ðе менш важливими параметрами архіву Ñ” параметри його буферу. Від параметрів буферу залежить можливіÑть роботи архіваторів. <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../../en/files/At.png" width="22" /></a> Так, періодичніÑть значень у буфері має бути не більше за періодичніÑть Ñамого швидкого архіватору, а розмір буферу не менш подвійного розміру Ð´Ð»Ñ Ñамого повільного архіватору. Інакше можливі втрати даних. </p><p>Загальну Ñхему Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ наочно зображено на риÑунку 2. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:688px;"><a class="image" href="http://oscada.org/wiki/File:Arch_val_sh_uk.png"><img class="thumbimage" height="419" src="../files/Arch_val_sh_uk.png" width="686" /></a> <div class="thumbcaption">РиÑ.2. Загальна Ñхема процеÑу Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ.</div></div></div></div> <p>Ðрхіватор значень цього Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ñ” дані у таблиці БД, Ñка називаєтьÑÑ "DBAVl_{ArchivatorID}_{ArchiveID}", Ð´Ð»Ñ Ð¾Ð´Ð¸Ð½Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ режиму, та "DBAVl_{ArchivatorID}_<GRP>{N}", Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¾Ð²Ð¾Ð³Ð¾ режиму, де: </p> <ul><li> <i>ArchivatorID</i> — ідентифікатор архіватору значень;</li> <li> <i>ArchiveID</i> — ідентифікатор архіву значень;</li> <li> <i>N</i> — номер групи, опущено Ð´Ð»Ñ Ð¿ÐµÑ€ÑˆÐ¾Ñ—.</li></ul> <p>Модулем надаютьÑÑ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ– параметри Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу архівуваннÑ, риÑунок 3. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:712px;"><a class="image" href="http://oscada.org/wiki/File:DBArch_val_a_prm_uk.png"><img class="thumbimage" height="670" src="../files/DBArch_val_a_prm_uk.png" width="710" /></a> <div class="thumbcaption">РиÑ.3. Додаткові параметри Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ.</div></div></div></div> <p>До чиÑла додаткових параметрів входÑть: </p> <ul><li> <i>Розмір архіву, днів</i> — визначає розмір архіву за чаÑом. ПіÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð»Ñ–Ð¼Ñ–Ñ‚Ñƒ Ñтарі запиÑи почнуть видалÑтиÑÑ! Ð’Ñтановити у 0 Ð´Ð»Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ‚Ð° деÑкого Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ð¸Ð²Ð½Ð¾Ñті.</li> <li> <i>Формувати Ñ‡Ð°Ñ Ñк Ñ€Ñдок</i> — зберігати Ñ‡Ð°Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ читабельному виглÑді. Тільки Ð´Ð»Ñ Ð‘Ð” Ñкі підтримують таке за поÑередництвом Ñпецифічних типів даних на кшталт "datetime" у MySQL. <a class="image" href="http://oscada.org/wiki/File:At.png"><img alt="At.png" height="22" src="../../en/files/At.png" width="22" /></a> Ð¦Ñ Ð¾Ð¿Ñ†Ñ–Ñ Ð½ÐµÑуміÑна, тобто при Ñ—Ñ— зміні Ви втратите чинні архіви.</li> <li> <i>ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð³Ñ€ÑƒÐ¿ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð²</i> — ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ” групове Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° визначає Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° кількіÑть параметрів у групі/таблиці.</li></ul> <p>Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð‘Ð” архіватору значень має Ñтруктуру <b>{<u>MARK</u>, <u>TM</u>, VAL}</b>, Ð´Ð»Ñ Ð¾Ð´Ð¸Ð½Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ режиму, та <b>{<u>MARK</u>, <u>TM</u>, {PRM1}, {PRM2}, {PRMN}}</b>, Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¾Ð²Ð¾Ð³Ð¾, де: </p> <ul><li> <i>MARK</i> — мітка швидкого доÑтупу/Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñƒ, {TM}/(10*{period}).</li> <li> <i>TM</i> — UTC Ñ‡Ð°Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ, Ñекунди від епохи (01.01.1970). Тут може викориÑтовуватиÑÑ Ñпеціалізований тип Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ "Формувати Ñ‡Ð°Ñ Ñк Ñ€Ñдок", Ñкщо він підтримуєтьÑÑ Ð‘Ð”.</li> <li> <i>VAL</i> — Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ у одиночному режимі, тип Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ” тип цієї колонки (Ціле, Реальне, Ð Ñдок).</li> <li> <i>PRM1...PRMN</i> — Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ з ідентифікатором у назві Ñтовпчика, Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¾Ð²Ð¾Ð³Ð¾ режиму, тип Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð°Ñ” тип цієї колонки (Ціле, Реальне, Ð Ñдок).</li></ul> <h2><span class="mw-headline" id=".D0.86.D0.BD.D1.84.D0.BE.D1.80.D0.BC.D0.B0.D1.86.D1.96.D0.B9.D0.BD.D0.B0_.D1.82.D0.B0.D0.B1.D0.BB.D0.B8.D1.86.D1.8F_.D0.B0.D1.80.D1.85.D1.96.D0.B2.D0.BD.D0.B8.D1.85_.D1.82.D0.B0.D0.B1.D0.BB.D0.B8.D1.86.D1.8C"><span class="mw-headline-number">3</span> Інформаційна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð½Ð¸Ñ… таблиць</span></h2> <p>Ð”Ð»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ, ÐºÑ–Ð½Ñ†Ñ Ñ‚Ð° іншої Ñлужбової інформації архівів у архівних таблицÑÑ…, ÑтворюєтьÑÑ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ð¹Ð½Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ–Ð· назвою цього Ð¼Ð¾Ð´ÑƒÐ»Ñ "DBArch". Ð¦Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¼Ð°Ñ” Ñтруктуру <b>{<u>TBL</u>, BEGIN, END, PRM1, PRM2, PRM3}</b>, де: </p> <ul><li> <i>TBL</i> — ім'Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– архіву.</li> <li> <i>BEGIN</i> — початок даних у архіві. Секунди Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ та мікроÑекунди Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ від епохи UNIX (01.01.1970).</li> <li> <i>END</i> — кінець даних у архіві. Секунди Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ та мікроÑекунди Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ від епохи UNIX (01.01.1970).</li> <li> <i>PRM1</i> — додатковий параметр 1: періодичніÑть значень, у мікроÑекундах.</li> <li> <i>PRM2</i> — додатковий параметр 2: тип значень параметру, у одиночному режимі, або перелік параметрів у групі <b>{Type}:{ArchiveId}</b>, Ð´Ð»Ñ Ð³Ñ€ÑƒÐ¿Ð¾Ð²Ð¾Ð³Ð¾ режиму.</li> <li> <i>PRM3</i> — додатковий параметр 3.</li></ul> <p>Згідно інформації у вказаній таблиці, Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ñ–Ð² значень підтримуєтьÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±'єктів архіву. </p> <h2><span class="mw-headline" id=".D0.95.D1.84.D0.B5.D0.BA.D1.82.D0.B8.D0.B2.D0.BD.D1.96.D1.81.D1.82.D1.8C"><span class="mw-headline-number">4</span> <span id="Efficiency" title="#Efficiency">ЕфективніÑть</span></span></h2> <p>При проектуванні та реалізації цього Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð¾Ñобливих механізмів Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ ÐµÑ„ÐµÐºÑ‚Ð¸Ð²Ð½Ð¾Ñті процеÑу Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ закладалоÑÑ Ñ‡ÐµÑ€ÐµÐ· наÑвніÑть об'єктивних обмежень Ñамих баз даних та інтерфейÑів доÑтупу до них. Відповідно, ефективніÑть архівації на БД переважно пов'Ñзана із Ñамою БД та інтерфейÑом доÑтупу до неї. З більш ефективних інтерфейÑів та підходів до Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ð¸Ð²Ð½Ð¾Ñті треба відзначити наÑтупні: </p> <ul><li> Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð· БД декількох запиÑів не окремими/конкретними командами SELECT, а узагальнювальними SELECT запитами, що Ð´Ð»Ñ Ð²ÑÑ–Ñ… БД мінімум на порÑдок швидше. Ð”Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ñ†Ñ–Ñ”Ñ— оÑобливоÑті, прошарок доÑтупу до БД у OpenSCADA, запитом "dataSeek()", було розширено на предмет підтримки Ð¿Ñ€ÐµÐ´Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð²ÑÑ–Ñ… запиÑів відповіді на запит у <i>full</i>. Цим модулем така оÑобливіÑть також тепер викориÑтовуєтьÑÑ, дозволÑючи дані отримувати чаÑто швидше ніж вони потім оброблÑютьÑÑ, хоча й поÑтупаючиÑÑŒ <a href="../Modules/FSArch.html" title="Special:MyLanguage/Modules/FSArch">архівації на файлову ÑиÑтему</a>.</li> <li> ЗапиÑ, до БД, окремого Ñтовпчика також значно швидше ніж окремого запиÑу таблиці. Даним модулем Ñ†Ñ Ð¾ÑобливіÑть викориÑтовуєтьÑÑ Ð² чаÑтині архівації значень Ñ– у режимі групуваннÑ, тобто Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¾ÐºÑ€ÐµÐ¼Ð¸Ñ… Ñигналів пишутьÑÑ Ð´Ð¾ однієї таблиці Ñк окремий Ñтовпчик.</li></ul> <p>Результати Ð²Ð¸Ð¼Ñ–Ñ€ÑŽÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ð¸Ð²Ð½Ð¾Ñті архівації зведені в таблиці нижче: </p> <table class="wikitable"> <tr> <th> ТеÑÑ‚ / ÐžÑ‚Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð° БД </th> <th> Intel Core3 1.3GHz, Локальний PostgreSQL 9.3, SSD </th> <th> AMD A8 3.5GHz, Локальний PostgreSQL 9.3, HDD </th></tr> <tr> <td> Values archiving, 60 records, 1 signal (seconds) </td> <td> 53...63 </td> <td> 13...14 </td></tr> <tr> <td> Values archiving, 60 records, 10 signal (seconds) </td> <td> 65...67 </td> <td> 16...19 </td></tr> <tr> <td> Values archiving, 60 records, 100 signal (seconds) </td> <td> 154...163 </td> <td> 52...60 </td></tr> <tr> <td> <i>Result:</i> average time of the writing 60 values of the signal (millisecond),<br /> <p>estimated maximum number of the archiving signals in the 1 second periodicity </p> </td> <td> 1, 60000 </td> <td> 0.4, 150000 </td></tr></table> <h2><span class="mw-headline" id=".D0.9F.D0.BE.D1.81.D0.B8.D0.BB.D0.B0.D0.BD.D0.BD.D1.8F"><span class="mw-headline-number">5</span> ПоÑиланнÑ</span></h2> <ul><li> <a class="external" href="http://oscada.org/wiki/File:Arch_val_sh_uk.odg" title="File:Arch val sh uk.odg">Діаграма: Загальна Ñхема процеÑу Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ.</a></li></ul> </div><table style="border-top: dotted 2px #999999; margin-top: 20pt; color: gray;" width="100%"><tr><td style="text-align: left;" width="40%"><a href="http://oscada.org/wiki/Modules/DBArch/uk">Modules/DBArch/uk</a> - <a href="http://oscada.org/en/main/about-the-project/licenses/">GFDL</a></td><td style="text-align: center;">April 2025</td><td style="text-align: right;" width="40%">OpenSCADA 1+r3018</td></tr></table></body> </html>