<?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%2FFSArch&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/FSArch" title="Modules/FSArch">Modules/FSArch</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/FSArch.html" title="Modules/FSArch (100% translated)">English</a> • ‎<a class="mw-pt-progress mw-pt-progress--complete" href="../../ru/Modules/FSArch.html" title="Модули/ÐÑ€Ñ…Ð¸Ð²Ð°Ñ†Ð¸Ñ Ð½Ð° ФС (98% 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/FSArch.html" title="Special:MyLanguage/Modules/FSArch">FSArch</a> </td> <td> Ðрхіватор на файлову ÑиÑтему </td> <td> 3.8 </td> <td> GPL2 </td> <td> arh_FSArch.so </td> <td> en,uk,ru,de </td> <td> x86,x86_64,ARM </td> <td> Ðрхів </td> <td> Роман Савоченко </td> <td> Модуль архіватору. Ðадає функції Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ та значень на файлову ÑиÑтему. </td></tr></table> <p>Модуль призначено Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ та значень 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> <ul> <li class="toclevel-2 tocsection-2"><a href="#.D0.A4.D0.BE.D1.80.D0.BC.D0.B0.D1.82_.D1.84.D0.B0.D0.B9.D0.BB.D1.96.D0.B2_.D0.B0.D1.80.D1.85.D1.96.D0.B2.D1.83_.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.1</span> <span class="toctext">Формат файлів архіву повідомлень</span></a></li> <li class="toclevel-2 tocsection-3"><a href="#.D0.9F.D1.80.D0.B8.D0.BA.D0.BB.D0.B0.D0.B4_.D1.84.D0.B0.D0.B9.D0.BB.D1.83_.D0.B0.D1.80.D1.85.D1.96.D0.B2.D1.83_.D0.BF.D0.BE.D0.B2.D1.96.D0.B4.D0.BE.D0.BC.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F"><span class="tocnumber">1.2</span> <span class="toctext">Приклад файлу архіву повідомленнÑ</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-4"><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> <ul> <li class="toclevel-2 tocsection-5"><a href="#.D0.A4.D0.BE.D1.80.D0.BC.D0.B0.D1.82_.D1.84.D0.B0.D0.B9.D0.BB.D1.96.D0.B2_.D0.B0.D1.80.D1.85.D1.96.D0.B2.D1.83_.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D1.8C"><span class="tocnumber">2.1</span> <span class="toctext">Формат файлів архіву значень</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-6"><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">3</span> <span class="toctext"><span>ЕфективніÑть</span></span></a></li> <li class="toclevel-1 tocsection-7"><a href="#.D0.9F.D0.BE.D1.81.D0.B8.D0.BB.D0.B0.D0.BD.D0.BD.D1.8F"><span class="tocnumber">4</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>Ðрхіватор повідомлень цього Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð´Ð¾Ð·Ð²Ð¾Ð»ÑÑ” зберігати дані Ñк у файлах формату мови XML, так Ñ– у форматі плаÑкого текÑту. Мова розмітки XML Ñ” Ñтандартним форматом, Ñкий з легкіÑтю розуміють багато Ñторонніх додатків. Однак, Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ‚Ð° розбір файлів у такому форматі вимагає значних реÑурÑів. З іншого боку, формат плаÑкого текÑту вимагає значно менше реÑурÑів, хоча Ñ– не Ñ” уніфікованим, а також вимагає знань його Ñтруктури Ð´Ð»Ñ Ñтороннього розбору. </p><p>У будь Ñкому разі, підтримуютьÑÑ Ð¾Ð±Ð¸Ð´Ð²Ð° формати та кориÑтувач може обрати будь Ñкий з них відповідно до влаÑних потреб. </p><p>Файли архівів іменуютьÑÑ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸ відповідно до дати першого Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ архіві, наприклад, так: "2018-05-03 17.57.03.msg". </p><p>Файли архівів можуть обмежуватиÑÑ Ð·Ð° розміру та чаÑом. ПіÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð»Ñ–Ð¼Ñ–Ñ‚Ñƒ ÑтворюєтьÑÑ Ð½Ð¾Ð²Ð¸Ð¹ файл. МакÑимальна кількіÑть файлів у теці архіватору також може бути обмежена. ПіÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð»Ñ–Ð¼Ñ–Ñ‚Ñƒ на кількіÑть файлів, Ñтарі файли почнуть видалÑтиÑÑ! </p><p>З метою оптимізації викориÑÑ‚Ð°Ð½Ð½Ñ Ð´Ð¸Ñкового проÑтору архіватори підтримують упаковку Ñтарих архівів пакувальником gzip. Упаковка здійÑнюєтьÑÑ Ð¿Ñ–ÑÐ»Ñ Ñ‚Ñ€Ð¸Ð²Ð°Ð»Ð¾Ð³Ð¾ невикориÑÑ‚Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñƒ. </p><p>При викориÑтанні архівів у форматі мови XML, відповідні файли завантажуютьÑÑ Ñ†Ñ–Ð»ÐºÐ¾Ð¼! Ð”Ð»Ñ Ð²Ð¸Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½ÐµÐ²Ð¸ÐºÐ¾Ñ€Ð¸Ñтаних тривалий Ñ‡Ð°Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñ–Ð² заÑтоÑовуєтьÑÑ Ñ‚Ð°Ð¹Ð¼Ð°ÑƒÑ‚ доÑтупу до архіву, піÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñкого архів вивантажуєтьÑÑ Ñ–Ð· пам'Ñті, а потім Ñ– пакуєтьÑÑ. </p><p>Модулем надаютьÑÑ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ– параметри Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу архівуваннÑ, риÑунок 1. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:840px;"><a class="image" href="http://oscada.org/wiki/File:FSArch_mess_a_prm_uk.png"><img class="thumbimage" height="768" src="../files/FSArch_mess_a_prm_uk.png" width="838" /></a> <div class="thumbcaption">РиÑ.1. Додаткові параметри Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ.</div></div></div></div> <p>До чиÑла цих параметрів входÑть: </p> <ul><li> <i>Файли архіву у XML</i> — включає Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ у файли XML-формату, заміÑть плаÑкого текÑту. ВикориÑÑ‚Ð°Ð½Ð½Ñ Ñƒ архівуванні XML-формату вимагає більше оперативної пам'Ñті, оÑкільки необхідне: повне Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ, XML-розбір та Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ñƒ пам'Ñті на момент викориÑтаннÑ.</li> <li> <i>Запобігати дублікатам</i> — включає перевірку наÑвноÑті дубльованих повідомлень під Ñ‡Ð°Ñ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð¾ архіву. При наÑвноÑті дублікату, Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ðµ розташовуєтьÑÑ Ñƒ архіві. Ð¦Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Ð´ÐµÑ‰Ð¾ збільшує Ñ‡Ð°Ñ Ð·Ð°Ð¿Ð¸Ñу до архіву, але, у випадку Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½ÑŒ у архіві зворотнім чиÑлом із зовнішніх джерел, дозволÑÑ” виключити дублюваннÑ.</li> <li> <i>Вважати дублікатами та запобігати з рівним чаÑом, категорією, рівнем</i> — включає перевірку наÑвноÑті дублювальних повідомлень під Ñ‡Ð°Ñ Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ архів. Дублювальними вважаютьÑÑ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð· рівним чаÑом, категорією та рівнем. Ðове дублювальне Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¼Ñ–Ð½ÑŽÑ” у архіві Ñтаре. Ð¦Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Ð¿ÐµÑ€ÐµÐ²Ð°Ð¶Ð½Ð¾ кориÑна Ð´Ð»Ñ Ð·Ð¼Ñ–Ð½Ð¸ текÑту запиÑу повідомленнÑ, наприклад, Ð´Ð»Ñ ÑтатуÑу порушеннÑ.</li> <li> <i>МакÑимальний розмір файлу архіву, у кілобайтах</i> — вÑтановлює Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° розмір одного файлу архіву. Відключити Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð° вÑтановивши параметр у нуль.</li> <li> <i>МакÑимальна кількіÑть файлів</i> — обмежує макÑимальну кількіÑть файлів архіву та, разом з розміром окремого файлу, визначає розмір архіву на диÑку. ПовніÑтю знÑти це Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð° вÑтановивши параметр у нуль.</li> <li> <i>Розмір файлу за чаÑом, у днÑÑ…</i> — вÑтановлює Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° розмір одного файлу архіву за чаÑом.</li> <li> <i>Таймаут Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² архіву, у хвилинах</i> — вÑтановлює проміжок чаÑу за закінченнÑм Ñкого, та у випадку відÑутноÑті звернень, файли архівів будуть пакуватиÑÑ gzip архіватором. Ð’Ñтановити у нуль Ð´Ð»Ñ Ð²Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ ÑƒÐ¿Ð°ÐºÐ¾Ð²ÐºÐ¸ gzip.</li> <li> <i>Період перевірки архівів, у хвилинах</i> — вÑтановлює періодичніÑть перевірки архівів на предмет поÑви або Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñƒ теці файлів архівів, а також Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð»Ñ–Ð¼Ñ–Ñ‚Ñ–Ð² та Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñтарих файлів архівів.</li> <li> <i>ВикориÑтовувати інформаційний файл Ð´Ð»Ñ ÑƒÐ¿Ð°ÐºÐ¾Ð²Ð°Ð½Ð¸Ñ… архівів</i> — вказує на потребу ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ з інформацією про запаковані gzip-архіватором файли архіву. При копіюванні файлів архіву на іншу Ñтанцію цей інформаційний файл дозволÑÑ” приÑкорити Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ запуÑку цільової Ñтанції, за рахунок Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸ Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ gzip-архівів Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ—.</li> <li> <i>Перевірити теку архіватору зараз</i> — команда, Ñка дозволÑÑ” запуÑтити перевірку архівів негайно, наприклад, піÑÐ»Ñ Ñ€ÑƒÑ‡Ð½Ð¾Ñ— зміни у теці архіватору.</li></ul> <p>Ð”Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŽ за файлами архіватору Ви можете подивитиÑÑ Ñƒ вкладці "Файли", риÑунок 2. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1036px;"><a class="image" href="http://oscada.org/wiki/File:FSArch_mess_files_uk.png"><img class="thumbimage" height="739" src="../files/FSArch_mess_files_uk.png" width="1034" /></a> <div class="thumbcaption">РиÑ.2. Вкладка "Файли" архіватору повідомлень.</div></div></div></div> <h3><span class="mw-headline" id=".D0.A4.D0.BE.D1.80.D0.BC.D0.B0.D1.82_.D1.84.D0.B0.D0.B9.D0.BB.D1.96.D0.B2_.D0.B0.D1.80.D1.85.D1.96.D0.B2.D1.83_.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.1</span> Формат файлів архіву повідомлень</span></h3> <p>У таблиці нижче наведено ÑинтакÑÐ¸Ñ Ñ„Ð°Ð¹Ð»Ñƒ архіву, побудованого на XML-мові: </p> <table class="wikitable"> <tr> <th> Тег </th> <th> ÐžÐ¿Ð¸Ñ </th> <th> Ðтрибути </th> <th> ВміÑÑ‚ </th></tr> <tr> <td> FSArch </td> <td> Кореневий елемент. Ідентифікує файл, Ñк той що належить цьому модулю. </td> <td> <p><i>Version</i> — верÑÑ–Ñ Ñ„Ð°Ð¹Ð»Ñƒ архіву;<br /> <i>Begin</i> — Ñ‡Ð°Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ архіву (hex - UTC в Ñекундах від 01/01/1970);<br /> <i>End</i> — Ñ‡Ð°Ñ Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñƒ (hex - UTC в Ñекундах від 01/01/1970). </p> </td> <td> (m) </td></tr> <tr> <td> m </td> <td> Тег окремого повідомленнÑ. </td> <td> <p><i>tm</i> — Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ (hex - UTC в Ñекундах від 01/01/1970);<br /> <i>tmu</i> — мікроÑекунди чаÑу повідомленнÑ;<br /> <i>lv</i> — рівень повідомленнÑ;<br /> <i>cat</i> — ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ñ–Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ. </p> </td> <td> ТекÑÑ‚ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ </td></tr></table> <p>Ðрхівний файл на оÑнові плаÑкого текÑту ÑкладаєтьÑÑ Ñ–Ð·: </p> <ul><li> заголовок у форматі: "<b>FSArch {vers} {charset} {beg_tm} {end_tm}</b>"; Де: <ul><li> <i>vers</i> — верÑÑ–Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ;</li> <li> <i>charset</i> — ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ, за звичай UTF-8;</li> <li> <i>beg_tm</i> — UTC Ñ‡Ð°Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ архіву з епохи 01.01.1970, у шіÑтнадцÑтковій формі;</li> <li> <i>end_tm</i> — UTC Ñ‡Ð°Ñ Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ архіву з епохи 01.01.1970, у шіÑтнадцÑтковій формі.</li></ul></li> <li> запиÑи повідомлень у форматі: "<b>{tm} {lev} {cat} {mess}</b>"; Де: <ul><li> <i>tm</i> — Ñ‡Ð°Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ виглÑді: "<b>{utc_sec}:{usec}</b>", де: <ul><li> <i>utc_sec</i> — UTC Ñ‡Ð°Ñ Ð· епохи 01.01.1970, у шіÑтнадцÑтковій формі;</li> <li> <i>usec</i> — мікроÑекунди чаÑу, у деÑÑтковій формі.</li></ul></li> <li> <i>lev</i> — рівень важливоÑті повідомленнÑ;</li> <li> <i>cat</i> — ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ñ–Ñ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ;</li> <li> <i>mess</i> — текÑÑ‚ повідомленнÑ.</li></ul></li></ul> <p>ТекÑÑ‚ Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ‚Ð° ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ñ–Ñ ÐºÐ¾Ð´ÑƒÑŽÑ‚ÑŒÑÑ Ð· метою Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñимволів роздільників — Ñимвол пробілу. </p> <h3><span class="mw-headline" id=".D0.9F.D1.80.D0.B8.D0.BA.D0.BB.D0.B0.D0.B4_.D1.84.D0.B0.D0.B9.D0.BB.D1.83_.D0.B0.D1.80.D1.85.D1.96.D0.B2.D1.83_.D0.BF.D0.BE.D0.B2.D1.96.D0.B4.D0.BE.D0.BC.D0.BB.D0.B5.D0.BD.D0.BD.D1.8F"><span class="mw-headline-number">1.2</span> Приклад файлу архіву повідомленнÑ</span></h3> <p><b>Приклад вміÑту архівного файлу у форматі мови XML:</b> </p> <pre style="white-space: pre-wrap;"> <?xml version='1.0' encoding='UTF-8' ?> <FSArch Version="3.2.0" Begin="4a27dfbc" End="4a28c990"> <m tm="4a28c982" tmu="905587" lv="4" cat="/sub_DAQ/mod_DiamondBoards/">Помилка dscInit.</m> <m tm="4a28c990" tmu="595549" lv="4" cat="/sub_Transport/mod_Sockets/out_HDDTemp/">Помилка Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ Internet Ñокету: ÐžÐ¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑÑ Ð½Ð° цей чаÑ!</m> </FSArch> </pre> <p><b>Приклад вміÑту архівного файлу у форматі плаÑкого текÑту:</b> </p> <pre style="white-space: pre-wrap;"> FSArch 3.2.0 UTF-8 4a27dfbb 4a28c991 4a28c98f:432619 1 / ЗапуÑк! 4a28c98f:432858 1 /sub_Transport/ ПуÑк%20підÑиÑтеми. 4a28c98f:455400 1 /sub_DAQ/mod_DAQGate/cntr_test/ ВключеннÑ%20контролеру! 4a28c98f:457360 1 /sub_DAQ/mod_ModBus/cntr_testTCP/ ВключеннÑ%20контролеру! 4a28c98f:460691 1 /sub_DAQ/mod_ModBus/cntr_testRTU/ ВключеннÑ%20контролеру! 4a28c98f:464227 1 /sub_DAQ/mod_BlockCalc/cntr_Anast1to2node/ ВключеннÑ%20контролеру! 4a28c98f:680767 1 /sub_DAQ/mod_BlockCalc/cntr_KM102cntr/ ВключеннÑ%20контролеру! 4a28c98f:705683 1 /sub_DAQ/mod_BlockCalc/cntr_Anast1to2node_cntr/ ВключеннÑ%20контролеру! 4a28c98f:753659 1 /sub_DAQ/mod_BlockCalc/cntr_KM101/ ВключеннÑ%20контролеру! 4a28c98f:905073 1 /sub_DAQ/mod_BlockCalc/cntr_KM102/ ВключеннÑ%20контролеру! 4a28c990:81670 1 /sub_DAQ/mod_BlockCalc/cntr_KM201/ ВключеннÑ%20контролеру! 4a28c990:206208 1 /sub_DAQ/mod_BlockCalc/cntr_КМ202/ ВключеннÑ%20контролеру! 4a28c990:333471 1 /sub_DAQ/mod_BlockCalc/cntr_KM301/ ВключеннÑ%20контролеру! 4a28c990:457490 1 /sub_DAQ/mod_BlockCalc/cntr_KM302/ ВключеннÑ%20контролеру! 4a28c990:591702 1 /sub_DAQ/mod_System/cntr_AutoDA/ ВключеннÑ%20контролеру! 4a28c990:595549 4 /sub_Transport/mod_Sockets/out_HDDTemp/ Помилка%20підключеннÑ%20к%20Internet%20Ñокету:%20ОпераціÑ%20виконуєтьÑÑ%20на%20цей%20чаÑ! 4a28c990:618617 1 /sub_DAQ/mod_SoundCard/cntr_test/ ВключеннÑ%20контролеру! 4a28c990:621487 1 /sub_DAQ/mod_LogicLev/cntr_experiment/ ВключеннÑ%20контролеру! 4a28c990:729323 1 /sub_DAQ/mod_JavaLikeCalc/cntr_testCalc/ ВключеннÑ%20контролеру! 4a28c990:733434 1 /sub_DAQ/mod_Siemens/cntr_test/ ВключеннÑ%20контролеру! 4a28c990:754368 1 /sub_DAQ/mod_DAQGate/cntr_test/ ВключеннÑ%20контролеру! 4a28c990:786925 1 /sub_Archive/ ПуÑк%20підÑиÑтеми. 4a28c990:955967 1 /sub_DAQ/mod_BlockCalc/cntr_Anast1to2node/ ЗапуÑк%20контролера! 4a28c990:957251 1 /sub_DAQ/mod_BlockCalc/cntr_KM102cntr/ ЗапуÑк%20контролера! 4a28c990:957636 1 /sub_DAQ/mod_BlockCalc/cntr_Anast1to2node_cntr/ ЗапуÑк%20контролера! 4a28c990:958006 1 /sub_DAQ/mod_BlockCalc/cntr_KM101/ ЗапуÑк%20контролера! 4a28c990:958637 1 /sub_DAQ/mod_BlockCalc/cntr_KM102/ ЗапуÑк%20контролера! 4a28c990:959268 1 /sub_DAQ/mod_BlockCalc/cntr_KM201/ ЗапуÑк%20контролера! 4a28c990:959875 1 /sub_DAQ/mod_BlockCalc/cntr_КМ202/ ЗапуÑк%20контролера! 4a28c990:961261 1 /sub_DAQ/mod_BlockCalc/cntr_KM301/ ЗапуÑк%20контролера! 4a28c990:961919 1 /sub_DAQ/mod_BlockCalc/cntr_KM302/ ЗапуÑк%20контролера! 4a28c990:963775 1 /sub_DAQ/mod_System/cntr_AutoDA/ ЗапуÑк%20контролера! 4a28c990:966980 1 /sub_DAQ/mod_LogicLev/cntr_experiment/ ЗапуÑк%20контролера! 4a28c991:26791 1 /sub_Archive/ ПуÑк%20підÑиÑтеми. 4a28c991:28489 1 /sub_UI/mod_VCAEngine/ Старт%20модулÑ. </pre> <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>Загальну Ñхему Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ наочно зображено на риÑунку 3. </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">РиÑ.3. Загальна Ñхема процеÑу Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ.</div></div></div></div> <p>Файли архівів іменуютьÑÑ Ð°Ñ€Ñ…Ñ–Ð²Ð°Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸ відповідно до дати першого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ архіві та ідентифікатору архіву, наприклад, так: "CPULoad_load 2018-04-03 19.13.52.val". </p><p>Файли архівів можуть обмежуватиÑÑ Ð·Ð° чаÑом. ПіÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð»Ñ–Ð¼Ñ–Ñ‚Ñƒ ÑтворюєтьÑÑ Ð½Ð¾Ð²Ð¸Ð¹ файл. МакÑимальна кількіÑть файлів у теці архіватору також може обмежуватиÑÑ. ПіÑÐ»Ñ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð»Ñ–Ð¼Ñ–Ñ‚Ñƒ на кількіÑть файлів Ñтарі файли почнуть видалÑтиÑÑ! </p><p>З метою економії диÑкового проÑтору архіватори підтримують пакуваннÑ, додатково до поÑлідовного пакуваннÑ, Ñтарих архівів пакувальником gzip. ÐŸÐ°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð´Ñ–Ð¹ÑнюєтьÑÑ Ð¿Ñ–ÑÐ»Ñ Ñ‚Ñ€Ð¸Ð²Ð°Ð»Ð¾Ð³Ð¾ невикориÑÑ‚Ð°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñƒ. Ð”Ð»Ñ Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾Ñті швидкого Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð²ÐµÐ»Ð¸ÐºÐ¸Ñ… архівів до іншої Ñтанції можна Ð´Ð»Ñ ÑƒÐ¿Ð°ÐºÐ¾Ð²Ð°Ð½Ð¸Ñ… файлів включити викориÑÑ‚Ð°Ð½Ð½Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ð¹Ð½Ð¾Ð³Ð¾ файлу, що попередить попереднє Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÑÑ–Ñ… файлів на іншій Ñтанції. </p><p>Модулем надаютьÑÑ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ– параметри Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу архівуваннÑ, риÑунок 4. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:768px;"><a class="image" href="http://oscada.org/wiki/File:FSArch_val_a_prm_uk.png"><img class="thumbimage" height="893" src="../files/FSArch_val_a_prm_uk.png" width="766" /></a> <div class="thumbcaption">РиÑ.4. Додаткові параметри Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ.</div></div></div></div> <p>До чиÑла цих параметрів входÑть: </p> <ul><li> <i>Розмір файлів архіву за чаÑом, в годинах</i> — параметр вÑтановлюєтьÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾ при зміні періодичноÑті значень архіватору та в цілому пропорційний до періодичноÑті значень архіватору. </li></ul> <dl><dd><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> Великі файли архіву будуть довше оброблÑтиÑÑ Ñ‡ÐµÑ€ÐµÐ· тривале розпакуванню gzip-файлів та первинну індекÑацію, при доÑтупі до ділÑнкам архіву глибоко у Ñ–Ñторії.</dd></dl> <ul><li> <i>МакÑимальна кількіÑть файлів одного архіву</i> — обмежує макÑимальну кількіÑть файлів архіву та, разом з розміром окремого файлу, визначає розмір архіву на диÑку. ПовніÑтю знÑти це Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð° вÑтановивши параметр у нуль.</li> <li> <i>МакÑимальний розмір вÑÑ–Ñ… архівів, у мегабайтах</i> — вÑтановлює Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° макÑимально займаний об'єм диÑкового проÑтору файлами вÑÑ–Ñ… архівів архіватору. Перевірка здійÑнюєтьÑÑ Ð· періодичніÑтю перевірки архівів (далі), в результаті Ñкої, та за Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð»Ñ–Ð¼Ñ–Ñ‚Ñƒ, здійÑнюєтьÑÑ Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñамих Ñтарих файлів вÑÑ–Ñ… архівів. ПовніÑтю знÑти це Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð° вÑтановивши параметр у нуль.</li> <li> <i>ÐžÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð½Ñ Ñ‡Ð¸Ñлових значень (%)</i> — вÑтановлює граничний відÑоток різниці значень параметрів цілого та реального типів при Ñкому вони вважаютьÑÑ Ð¾Ð´Ð½Ð°ÐºÐ¾Ð²Ð¸Ð¼Ð¸ та розташовуютьÑÑ Ñƒ архіві Ñк одне значеннÑ, за поÑередництвом поÑлідовного пакуваннÑ. ДозволÑÑ” добре пакувати параметри за межами доÑтовірноÑті — Ñкі Ñлабко змінюютьÑÑ. Відключити цю влаÑтивіÑть можна вÑтановивши параметр у нуль.</li> <li> <i>Таймаут Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñ–Ð² архіву, у хвилинах</i> — вÑтановлює проміжок чаÑу за закінченнÑм Ñкого, та у випадку відÑутноÑті звернень, файли архівів будуть пакуватиÑÑ gzip архіватором. Ð’Ñтановити у нуль Ð´Ð»Ñ Ð²Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ ÑƒÐ¿Ð°ÐºÐ¾Ð²ÐºÐ¸ gzip.</li> <li> <i>Період перевірки архівів, у хвилинах</i> — вÑтановлює періодичніÑть перевірки архівів на предмет поÑви або Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñƒ теці файлів архівів, а також Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð»Ñ–Ð¼Ñ–Ñ‚Ñ–Ð² та Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñтарих файлів архівів.</li> <li> <i>ВикориÑтовувати інформаційний файл Ð´Ð»Ñ ÑƒÐ¿Ð°ÐºÐ¾Ð²Ð°Ð½Ð¸Ñ… архівів</i> — вказує на потребу ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ з інформацією про запаковані gzip-архіватором файли архіву. При копіюванні файлів архіву на іншу Ñтанцію цей інформаційний файл дозволÑÑ” приÑкорити Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ запуÑку цільової Ñтанції, за рахунок Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±Ð¸ Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ gzip-архівів Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ—.</li> <li> <i>Видалити оригінальний файл архіву при помилці розпакуваннÑ</i> — Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð±ÑƒÐ²Ð°Ñ”Ñ‚ÑŒÑÑ Ð¿Ñ€Ð¾Ñ‚Ñгом перевірки архівів Ñ– це кориÑне Ð´Ð»Ñ Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ñ–Ð¿Ñованих файлів архіву.</li> <li> <i>Перевірити теку архіватору зараз</i> — команда, Ñка дозволÑÑ” запуÑтити перевірку архівів негайно, наприклад, піÑÐ»Ñ Ñ€ÑƒÑ‡Ð½Ð¾Ñ— зміни у теці архіватору.</li></ul> <p>Ð”Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŽ за файлами архіватору Ви можете подивитиÑÑ Ñƒ вкладці "Файли", риÑунок 5. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:1217px;"><a class="image" href="http://oscada.org/wiki/File:FSArch_val_files_uk.png"><img class="thumbimage" height="782" src="../files/FSArch_val_files_uk.png" width="1215" /></a> <div class="thumbcaption">РиÑ.5. Вкладка "Файли" архіватору значень.</div></div></div></div> <h3><span class="mw-headline" id=".D0.A4.D0.BE.D1.80.D0.BC.D0.B0.D1.82_.D1.84.D0.B0.D0.B9.D0.BB.D1.96.D0.B2_.D0.B0.D1.80.D1.85.D1.96.D0.B2.D1.83_.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D1.8C"><span class="mw-headline-number">2.1</span> Формат файлів архіву значень</span></h3> <p>До реалізації Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° файлову ÑиÑтему пред'ÑвлÑлиÑÑ Ð½Ð°Ñтупні вимоги: </p> <ul><li> швидкий та проÑтий доÑтуп на Ð´Ð¾Ð´Ð°Ð½Ð½Ñ Ð´Ð¾ архіву та Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ–Ð· архіву;</li> <li> можливіÑть зміни значень у чинному архіві, з метою Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¾Ñ‚Ð²Ð¾Ñ€Ñ–Ð² у дубльованих ÑиÑтемах;</li> <li> циклічніÑть, Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ;</li> <li> можливіÑть ÑтиÑÐ½ÐµÐ½Ð½Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð¾Ð¼ упаковки поÑлідовноÑті однакових значень, зберігаючи можливіÑть швидкого доÑтупу — поÑлідовне пакуваннÑ;</li> <li> можливіÑть Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ñтарілих даних Ñтандартними архіваторами (gzip, bzip2 ...) із можливіÑтю Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸ звернені.</li></ul> <p>Згідно до вищенаведених вимог, організовано Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð¾Ð¼ множинноÑті файлів (Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ джерела). ЦиклічніÑть архіву реалізуєтьÑÑ Ð½Ð° рівні файлів, тобто ÑтворюєтьÑÑ Ð½Ð¾Ð²Ð¸Ð¹ файл, а Ñамий Ñтарий видалÑєтьÑÑ. Ð”Ð»Ñ ÑˆÐ²Ð¸Ð´ÐºÐ¾Ð³Ð¾ ÑтиÑÐ½ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтовуєтьÑÑ Ð¼ÐµÑ‚Ð¾Ð´ притÑÐ³Ð½ÐµÐ½Ð½Ñ Ð´Ð¾ оÑтаннього однакового значеннÑ. Ð”Ð»Ñ Ñ†Ð¸Ñ… цілей у файлі архіву передбачаєтьÑÑ Ð±Ñ–Ñ‚Ð¾Ð²Ð° Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ ÑƒÐ¿Ð°ÐºÐ¾Ð²ÐºÐ¸ розміром один в один із кількіÑтю збережених даних. Тобто, кожний біт відповідає одному значенню у архіві. Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð±Ñ–Ñ‚Ñƒ вказує на наÑвніÑть значеннÑ. Ð”Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ однакових значень біти обнулено. У випадку із архівом Ñ€Ñдків, Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ” не бітовою а байтовою та міÑтить довжину відповідного значеннÑ. У випадку Ð½Ð°Ð´Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÑƒ однакових значень, довжина буде нульовою та читатиÑÑ Ð±ÑƒÐ´Ðµ перше однакове значеннÑ. ОÑкільки Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð±Ð°Ð¹Ñ‚Ð¾Ð²Ð° то архів може зберігати Ñ€Ñдки довжиною не більше 255 Ñимволів. Таким чином, методики Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð° розділити на методику даних фікÑованого та нефікÑованого розміру. Загальну Ñтруктуру файлу архіву наведено на риÑунку 6. </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:202px;"><a class="image" href="http://oscada.org/wiki/File:FSArch_file_struct_uk.png"><img class="thumbimage" height="339" src="../files/FSArch_file_struct_uk.png" width="200" /></a> <div class="thumbcaption">РиÑ.6. Загальна Ñтруктура файлу архіву значень.</div></div></div></div> <p>При Ñтворені нового файлу архіву формуютьÑÑ: заголовок (Ñтруктура заголовку у таблиці 1), нульова бітова Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ ÑƒÐ¿Ð°ÐºÐ¾Ð²ÐºÐ¸ архіву та перше недоÑтовірне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ (EVAL). Таким чином, виходить архів, ініційований недоÑтовірними значеннÑми. Ðадалі, нові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð±ÑƒÐ´ÑƒÑ‚ÑŒ вÑтавлÑтиÑÑ Ñƒ облаÑть значень із коригуваннÑм індекÑної таблиці упаковки. З цього Ñлідує, що паÑивні архіви будуть вироджуватиÑÑ Ñƒ файли розміром з заголовок та бітову таблицю. </p><p><b>Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ 1.</b> Структура заголовку файлу архіву </p> <table class="wikitable"> <tr> <th> Поле </th> <th> ÐžÐ¿Ð¸Ñ </th> <th> Розмір байт(біт) </th></tr> <tr> <td> f_tp </td> <td> СиÑтемне ім'Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñƒ ("OpenSCADA Val Arch.") </td> <td> 20 </td></tr> <tr> <td> archive </td> <td> Ім'Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñƒ до Ñкого належить файл. </td> <td> 20 </td></tr> <tr> <td> beg </td> <td> Ð§Ð°Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ архівних даних, у мікроÑекундах </td> <td> 8 </td></tr> <tr> <td> end </td> <td> Ð§Ð°Ñ Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ð½Ð¸Ñ… даних, у мікроÑекундах </td> <td> 8 </td></tr> <tr> <td> period </td> <td> Період архіву, у мікроÑекундах </td> <td> 8 </td></tr> <tr> <td> vtp </td> <td> Тип Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñƒ архіві: Логічний, Цілий (Цілий16, Цілий32, Цілий64), Реальний (Float, Double), Ð Ñдок </td> <td> (3) </td></tr> <tr> <td> hgrid </td> <td> Ознака викориÑÑ‚Ð°Ð½Ð½Ñ Ð¶Ð¾Ñ€Ñткої Ñітки у буфері архіву </td> <td> (1) </td></tr> <tr> <td> hres </td> <td> Ознака викориÑÑ‚Ð°Ð½Ð½Ñ Ñ‡Ð°Ñу виÑокої роздільної здатноÑті (мікроÑекунди) у буфері архіву </td> <td> (1) </td></tr> <tr> <td> reserve </td> <td> Резерв </td> <td> 14 </td></tr> <tr> <td> term </td> <td> Символ Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ архіву (0x55) </td> <td> 1 </td></tr></table> <p>Роз'ÑÑÐ½ÐµÐ½Ð½Ñ Ð¼ÐµÑ…Ð°Ð½Ñ–Ð·Ð¼Ñƒ поÑлідовної упаковки наведено на риÑунку 7. Як можна бачити з риÑунку, ознака упаковки міÑтить довжину (нефікÑовані типи) або ознаку упаковки (фікÑовані типи) окремо взÑтого значеннÑ. Це означає, що Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾Ð³Ð¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½ÐµÐ¾Ð±Ñ…Ñ–Ð´Ð½Ð¾ ÑклаÑти довжини вÑÑ–Ñ… попередніх дійÑних значень. ЗдійÑÐ½ÐµÐ½Ð½Ñ Ñ†Ñ–Ñ”Ñ— операції кожний раз та Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ” дуже накладною операцією тому було запроваджено механізм ÐºÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ñ‰ÐµÐ½ÑŒ значень. Механізм кешує Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ через визначену Ñ—Ñ… кількіÑть, а також кешує Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¾Ñтаннього значеннÑ, до Ñкого здійÑнювавÑÑ Ð´Ð¾Ñтуп (окремо на Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ‚Ð° запиÑ). </p> <div class="center"><div class="thumb tnone"><div class="thumbinner" style="width:601px;"><a class="image" href="http://oscada.org/wiki/File:FSArch_file_mpack_uk.png"><img class="thumbimage" height="323" src="../files/FSArch_file_mpack_uk.png" width="599" /></a> <div class="thumbcaption">РиÑ.7. Механізм поÑлідовної упаковки значень.</div></div></div></div> <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">3</span> <span id="Efficiency" title="#Efficiency">ЕфективніÑть</span></span></h2> <p>При проектуванні та реалізації цього Ð¼Ð¾Ð´ÑƒÐ»Ñ Ð±ÑƒÐ»Ð¾ закладено механізми Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ ÐµÑ„ÐµÐºÑ‚Ð¸Ð²Ð½Ð¾Ñті процеÑу архівуваннÑ. </p><p>Першим механізмом Ñ” блокове (покадрове або транзакційне) Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… у файл архіву значень. Такий механізм дозволÑÑ” доÑÑгти макÑимальної швидкоÑті архівуваннÑ, а відповідно Ñ– дозволÑÑ” одночаÑно архівувати більше потоків даних. ДоÑвід практичного заÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð², що ÑиÑтема K8-3000 із звичайним IDE жорÑтким диÑком Ñпроможна архівувати до 300000 потоків даних із періодом 1 Ñекунда або, ÑиÑтема K5-400 з IDE диÑком (2.5") Ñпроможна архівувати до 100 параметрів з періодом 1 міліÑекунда. </p><p>Другим механізмом Ñ” Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñк поточних значень, так Ñ– заÑтарілих файлів архівів, Ð´Ð»Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ñ–Ð·Ð°Ñ†Ñ–Ñ— викориÑÑ‚Ð°Ð½Ð½Ñ Ð´Ð¸Ñкового проÑтору. Реалізовано два механізми пакуваннÑ: механізм поÑлідовної Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ (архіви значень) та механізм дотиÑÐºÐ°Ð½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñ–Ð² Ñтандартним пакувальником (gzip). Цей підхід дозволив доÑÑгти виÑокої продуктивноÑті у процеÑÑ– Ð°Ñ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¸Ñ… даних з ефективним механізмом поÑлідовного ÑтиÑненнÑ, та дотиÑÐºÐ°Ð½Ð½Ñ Ñтандартним пакувальником заÑтарілих архівів завершує загальну картину компактного Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð²ÐµÐ»Ð¸ÐºÐ¸Ñ… маÑивів даних. СтатиÑтика практичного заÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð² умовах реального зашумленого Ñигналу(найгірша ÑитуаціÑ) показала, що Ñтупінь поÑлідовної упаковки Ñклала 10%, а Ñтупінь повної упаковки Ñклала 71%. </p> <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">4</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> <li> <a class="external" href="http://oscada.org/wiki/File:FSArch_file_struct_uk.dia" title="File:FSArch file struct uk.dia">Діаграма: Загальна Ñтруктура файлу архіву значень Ð¼Ð¾Ð´ÑƒÐ»Ñ Archive.FSArch.</a></li> <li> <a class="external" href="http://oscada.org/wiki/File:FSArch_file_mpack_uk.dia" title="File:FSArch file mpack uk.dia">Діаграма: Механізм поÑлідовної упаковки значень Ð¼Ð¾Ð´ÑƒÐ»Ñ Archive.FSArch.</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/FSArch/uk">Modules/FSArch/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>