Π’Π΅Ρ€ΠΌΠΈΠ½ cyclic record часто встрСчаСтся Π² тСхничСской Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, спСцификациях Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ описаниях Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Дословный ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π½Π° русский язык Π·Π²ΡƒΡ‡ΠΈΡ‚ ΠΊΠ°ΠΊ «цикличСская запись», ΠΎΠ΄Π½Π°ΠΊΠΎ Π² зависимости ΠΎΡ‚ контСкста это понятиС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ смысловыС ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠΈ. ПониманиС Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ значСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ ΠΈ настройки систСм хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π’ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌ смыслС Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ старыС Π² Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π±ΡƒΡ„Π΅Ρ€Π΅ ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Π΅. Π­Ρ‚ΠΎ позволяСт систСмС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ бСсконСчно Π΄ΠΎΠ»Π³ΠΎ Π±Π΅Π· нСобходимости Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° для очистки Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ². Cyclic record являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈ систСм Ρ‚Π΅Π»Π΅ΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ.

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ пСрСводится этот Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Π² Ρ€Π°Π·Π½Ρ‹Ρ… отраслях IT, рассмотрим тСхничСскиС Π½ΡŽΠ°Π½ΡΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠΌ Π½Π° часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ вопросы. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ цикличности ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Основной ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΈ сСмантичСский Π°Π½Π°Π»ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°

НаиболСС Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ ΠΈ распространСнным ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ Ρ„Ρ€Π°Π·Ρ‹ cyclic record являСтся «цикличСская запись». Однако Π² ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ срСдС ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ «цикличСский ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Β» ΠΈΠ»ΠΈ «цикличСский ΠΆΡƒΡ€Π½Π°Π» событий». Π’Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ записываСтся ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ эта информация.

Π‘Π»ΠΎΠ²ΠΎ Β«cyclicΒ» ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ процСсса. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ достигаСтся ΠΊΠΎΠ½Π΅Ρ† Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ пространства, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ записи возвращаСтся Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅. ЦикличСская запись Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ объСм Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ памяти Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ прСвысит установлСнный Π»ΠΈΠΌΠΈΡ‚.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ тСхничСской Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ ΠΏΡƒΡ‚Π°Ρ‚ΡŒ Β«cyclic recordΒ» с Β«circular recordΒ». Π₯отя ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ схоТи, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… спСцифичСских Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ»ΡŒΡ†Π΅Π²Ρ‹Π΅ Π±ΡƒΡ„Π΅Ρ€Ρ‹ Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ…) тСрминология ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ.

Π’ русскоязычной Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‚Π°ΠΊΠΆΠ΅ встрСчаСтся Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «циркулярная запись», хотя ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π΅ΠΆΠ΅. Основной Π°ΠΊΡ†Π΅Π½Ρ‚ всСгда дСлаСтся Π½Π° автоматичСской пСрСзаписи старых Π΄Π°Π½Π½Ρ‹Ρ… Π½ΠΎΠ²Ρ‹ΠΌΠΈ Π±Π΅Π· прСрывания процСсса сбора ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

πŸ“Š Какой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π²Π°ΠΌ встрСчаСтся Ρ‡Π°Ρ‰Π΅ всСго?
  • ЦикличСская запись
  • ЦикличСский ΠΆΡƒΡ€Π½Π°Π»
  • ΠšΠΎΠ»ΡŒΡ†Π΅Π²ΠΎΠΉ Π±ΡƒΡ„Π΅Ρ€
  • Циркулярный Π»ΠΎΠ³

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Π±Π°Π·Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ систСмах логирования

Π’ контСкстС Π‘Π£Π‘Π” ΠΈ систСм логирования cyclic record часто рСализуСтся ΠΊΠ°ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ», ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ фиксированный Ρ€Π°Π·ΠΌΠ΅Ρ€. Когда Ρ‚Π°Π±Π»ΠΈΡ†Π° заполняСтся, систСма Π½Π΅ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ пСрСполнСния, Π° удаляСт ΡΠ°ΠΌΡƒΡŽ ΡΡ‚Π°Ρ€ΡƒΡŽ строку ΠΈ добавляСт Π½ΠΎΠ²ΡƒΡŽ. Π­Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½ΠΎ для систСм ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, Π³Π΄Π΅ Π²Π°ΠΆΠ½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½Π΅ ΠΈΡ… полная история.

Рассмотрим основныС характСристики Ρ‚Π°ΠΊΠΈΡ… систСм:

  • πŸ”„ АвтоматичСская ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ: старыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΡΡ‡Π΅Π·Π°ΡŽΡ‚ Π±Π΅Π· участия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  • πŸ“ Ѐиксированный Ρ€Π°Π·ΠΌΠ΅Ρ€:占用 дискового пространства строго Π»ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ.
  • ⚑ Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: отсутствиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ слоТной сортировки ΠΈΠ»ΠΈ поиска свободного мСста.
  • πŸ›‘ ΠžΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ: систСма Π½Π΅ ΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π»ΠΎΠ³Π°.

Часто для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ cyclic record ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ спСциализированныС Π΄Π²ΠΈΠΆΠΊΠΈ хранСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ RRDtool (Round Robin Database). Π’ Ρ‚Π°ΠΊΠΈΡ… Π±Π°Π·Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… агрСгация Π΄Π°Π½Π½Ρ‹Ρ… происходит автоматичСски: Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ записи хранятся ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ врСмя, Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΡΡ€Π΅Π΄Π½ΡΡŽΡ‚ΡΡ для долгосрочного хранСния.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ цикличСскиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ для хранСния Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² сСссий ΠΈΠ»ΠΈ послСдних дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ€Π°Π·Π΄ΡƒΠ²Π°Ρ‚ΡŒ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….

РСализация цикличСских Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² понятиС cyclic record тСсно связано с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΊΠΎΠ»ΡŒΡ†Π΅Π²Ρ‹Ρ… Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² (circular buffers). Π­Ρ‚ΠΎ структура Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ Π±ΡƒΡ„Π΅Ρ€ фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, соСдинСнный Β«Π² ΠΊΠΎΠ»ΡŒΡ†ΠΎΒ». Π—Π°ΠΏΠΈΡΡŒ Π΄Π°Π½Π½Ρ‹Ρ… происходит ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈ ΠΏΡ€ΠΈ достиТСнии ΠΊΠΎΠ½Ρ†Π° Π±ΡƒΡ„Π΅Ρ€Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ возвращаСтся ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ.

Алгоритм Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  1. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ Π»ΠΈ Π±ΡƒΡ„Π΅Ρ€ (Ссли трСбуСтся сохранСниС всСх Π΄Π°Π½Π½Ρ‹Ρ…).
  2. Π—Π°ΠΏΠΈΡΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ.
  3. Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ указатСля Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ.
  4. Если ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹ΡˆΠ΅Π» Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ массива, ΠΎΠ½ сбрасываСтся Π½Π° ноль.

Π’ языках высокого уровня, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Python ΠΈΠ»ΠΈ Java, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°ΠΊΠΈΠΌΠΈ структурами. НапримСр, Π² Python класс collections.deque с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ maxlen автоматичСски Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ цикличСской записи.

from collections import deque

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ цикличСского Π±ΡƒΡ„Π΅Ρ€Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 3

buffer = deque(maxlen=3)

buffer.append(1)

buffer.append(2)

buffer.append(3)

buffer.append(4) # 1 Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π° автоматичСски

print(buffer) # Π’Ρ‹Π²ΠΎΠ΄: deque([2, 3, 4], maxlen=3)

ИспользованиС цикличСских структур позволяСт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ дорогостоящих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ выдСлСния ΠΈ освобоТдСния памяти (malloc/free) Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ цикличСский Π±ΡƒΡ„Π΅Ρ€ быстрСС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ списка?

Π’ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ спискС ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ элСмСнта Π² Π½Π°Ρ‡Π°Π»ΠΎ трСбуСтся сдвиг всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов. Π’ цикличСском Π±ΡƒΡ„Π΅Ρ€Π΅ ΠΌΡ‹ просто мСняСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ индСксу, Ρ‡Ρ‚ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ константноС врСмя O(1).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Π² ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ

Π’ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ cyclic record часто встрСчаСтся Π² контСкстС PLC (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… логичСских ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²). Π—Π΄Π΅ΡΡŒ Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ цикличСской записи диагностичСских Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… процСсса. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ постоянно обновляСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ массив рСгистров.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ сцСнарии использования Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚:

  • 🏭 Π—Π°ΠΏΠΈΡΡŒ послСдних 1000 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ для Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚Ρ€Π΅Π½Π΄ΠΎΠ².
  • 🚨 Ѐиксация событий Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΉ сигнализации с ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒΡŽ старых ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ.
  • πŸ“‘ ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Ρ‚Π΅Π»Π΅ΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ Π² SCADA-систСму ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….
  • βš™οΈ Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ настроСк оборудования Π² энСргонСзависимой памяти.

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Modbus ΠΈΠ»ΠΈ OPC UA, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ cyclic record ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ². Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Ρƒ-программисту Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ «скачущиС» значСния, Ссли ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ чтСния Π½Π΅ синхронизирована со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ записи.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ОписаниС ВлияниС Π½Π° систСму
Π Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΡ„Π΅Ρ€Π° ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ записСй Π΄ΠΎ пСрСзаписи ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ истории Π΄Π°Π½Π½Ρ‹Ρ…
Частота записи Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π» обновлСния Π΄Π°Π½Π½Ρ‹Ρ… ВлияСт Π½Π° Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° CPU
Π Π΅ΠΆΠΈΠΌ пСрСполнСния ДСйствиС ΠΏΡ€ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ (overwrite)
Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Π—Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ чтСния Π²ΠΎ врСмя записи ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ чтСния Β«Ρ€Π²Π°Π½Ρ‹Ρ…Β» Π΄Π°Π½Π½Ρ‹Ρ…
πŸ’‘

Π’ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… систСмах критичСски Π²Π°ΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ цикличСского Π±ΡƒΡ„Π΅Ρ€Π° Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π» врСмя Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ систСмы бСзопасности.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ синхронизации ΠΈ цСлостности Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с cyclic record Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… срСдах Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ спСцифичСскиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Если ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡ‚ΠΎΠΊ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΠΊΠ° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΈΡ… пСрСзаписываСт, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ нСконсистСнтноС состояниС (Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ «грязноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅Β»). Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° запись Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΡ‚Π° процСссора.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ (locks) ΠΈΠ»ΠΈ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Однако Π² Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСмах Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠΌ мСстом. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ часто ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ Β«Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ буфСризирования» (double buffering), Π³Π΄Π΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Ρ‚ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π°, ΠΏΠΎΠΊΠ° запись ΠΈΠ΄Π΅Ρ‚ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ, послС Ρ‡Π΅Π³ΠΎ ΠΎΠ½ΠΈ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ мСстами.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ систСм с цикличСской записью ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ снимок (snapshot) Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΌ, Ссли процСсс записи ΠΏΡ€Π΅Ρ€Π²Π°Π½ Π½Π° ΠΏΠΎΠ»ΠΏΡƒΡ‚ΠΈ.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Β«ABAΒ», ΠΊΠΎΠ³Π΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ адрСсу А мСняСтся Π½Π° Π‘, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° А, ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΡƒ каТСтся, Ρ‡Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ измСнилось, хотя Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ опСрация ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π°. Для cyclic record это Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ счСтчиков вСрсий (version counters) ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записи.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ цикличСского Π±ΡƒΡ„Π΅Ρ€Π°

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ с Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ записью ΠΈ Π°Ρ€Ρ…ΠΈΠ²Π°Ρ†ΠΈΠ΅ΠΉ

Часто ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ встаСт Π²Ρ‹Π±ΠΎΡ€: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ cyclic record ΠΈΠ»ΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ запись с Π°Ρ€Ρ…ΠΈΠ²Π°Ρ†ΠΈΠ΅ΠΉ. ЛинСйная запись сохраняСт всС Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° дискового пространства, послС Ρ‡Π΅Π³ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ автоматичСского создания Π°Ρ€Ρ…ΠΈΠ²Π° ΠΈ очистки.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ отличия ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ²:

  • πŸ“‰ Cyclic record: Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ мСньшС рСсурсов управлСния, Π½ΠΎ история ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π±ΡƒΡ„Π΅Ρ€Π°. ИдСально для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°.
  • πŸ“ˆ ЛинСйная запись: сохраняСт ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ слоТной систСмы Ρ€ΠΎΡ‚Π°Ρ†ΠΈΠΈ Π»ΠΎΠ³ΠΎΠ³ (log rotation) ΠΈ большого объСма дискового пространства.
  • ⏱ ВрСмя доступа: Π² цикличСском Π±ΡƒΡ„Π΅Ρ€Π΅ доступ ΠΊ послСдним Π΄Π°Π½Π½Ρ‹ΠΌ всСгда быстрый, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π² Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ поиск старых записСй ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ врСмя.

Π’Ρ‹Π±ΠΎΡ€ стратСгии зависит ΠΎΡ‚ бизнСс-Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ. Если Π·Π°ΠΊΠΎΠ½ΠΎΠ΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈ дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π³ΠΎΠ΄, cyclic record Π² чистом Π²ΠΈΠ΄Π΅ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ Π±Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

Π’ соврСмСнных систСмах часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄: цикличСская запись вСдСтся Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈΠ»ΠΈ быстром SSD для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°, Π° Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ пСриодичСски ΡΠ±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² долгосрочноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

МоТно Π»ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ послС пСрСзаписи Π² cyclic record?

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв β€” Π½Π΅Ρ‚. ЀизичСская ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° ΠΈΠ»ΠΈ ячСйки Ρ„Π»Π΅Ρˆ-памяти ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ состояниС. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ слоТныС ΠΈ Π΄ΠΎΡ€ΠΎΠ³ΠΈΠ΅ Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ восстановлСния, Π½ΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΡˆΡ‚Π°Ρ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ПО Π΄Π°Π½Π½Ρ‹Π΅ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΡƒΡ‚Ρ€Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ cyclic record ΠΈ circular buffer?

Cyclic record β€” это скорСС логичСскоС понятиС, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ систСмы записи Π΄Π°Π½Π½Ρ‹Ρ… (ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ старых Π½ΠΎΠ²Ρ‹ΠΌΠΈ). Circular buffer β€” это конкрСтная структура Π΄Π°Π½Π½Ρ‹Ρ… (массив с указатСлями), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого повСдСния Π² памяти. Π‘ΡƒΡ„Π΅Ρ€ β€” это инструмСнт, запись β€” это процСсс.

Как пСрСвСсти "cyclic logging" Π½Π° русский?

НаиболСС Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ β€” «цикличСскоС Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β». Π’Π°ΠΊΠΆΠ΅ допустимы Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ «цикличСский ΠΆΡƒΡ€Π½Π°Π» событий» ΠΈΠ»ΠΈ «запись Π»ΠΎΠ³ΠΎΠ² ΠΏΠΎ ΠΊΡ€ΡƒΠ³ΡƒΒ». Π‘ΡƒΡ‚ΡŒ процСсса остаСтся Ρ‚ΠΎΠΉ ΠΆΠ΅: старыС Π»ΠΎΠ³ΠΈ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹ΠΌΠΈ послС заполнСния ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ объСма.

БСзопасно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ cyclic record для финансовых Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ?

НСт, для финансовых Π΄Π°Π½Π½Ρ‹Ρ…, Π°ΡƒΠ΄ΠΈΡ‚Π° ΠΈ ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… дСйствий использованиС чистой цикличСской записи Π±Π΅Π· Π°Ρ€Ρ…ΠΈΠ²Π°Ρ†ΠΈΠΈ катСгоричСски Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ.δΈ’ε€± Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°ΠΊΠΈΡ… систСмах нСдопустимо. Π—Π΄Π΅ΡΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ линСйная запись с Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ долгосрочным Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ.

Какой ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ цикличСская запись?

Π Π°Π·ΠΌΠ΅Ρ€ ограничиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ адрСсным пространством систСмы ΠΈ доступной ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Однако Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ cyclic record выбираСтся исходя ΠΈΠ· Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: слишком большиС Π±ΡƒΡ„Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ…ΡƒΠΆΠ΅ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ процСссором, слишком малСнькиС β€” Π½Π΅ Π΄Π°ΡŽΡ‚ достаточной Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ Π°Π½Π°Π»ΠΈΠ·Π°.

Π§Ρ‚ΠΎ происходит с ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ записи ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ систСмы?

Π­Ρ‚ΠΎ зависит ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ энСргозависимой памяти (RAM) ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ сбрасываСтся, ΠΈ Π±ΡƒΡ„Π΅Ρ€ очищаСтся. Π’ энСргонСзависимой памяти (Flash, EEPROM) ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ часто сохраняСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ запись ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ»Π°ΡΡŒ с мСста остановки, Π»ΠΈΠ±ΠΎ систСма Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ запись Π·Π°Π½ΠΎΠ²ΠΎ со стартового адрСса, помСчая старыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ Π½Π΅Π²Π°Π»ΠΈΠ΄Π½Ρ‹Π΅.