Saturarea modulului

Actualizat acum 28 zile

Un modul afectat de zgomot poate emite câteva zeci de impulsuri pe secundă. Fiecare verigă a lanțului avansează în ritmul său propriu: atunci când sosesc mai multe impulsuri decât ies, o coadă de așteptare se umple. Această pagină descrie amplasarea acestor cozi, limitele lor cunoscute și mecanismul de protecție pus în aplicare de aplicație.

Cifrele-cheie

Valoare Ce desemnează
1 pe rând impulsuri procesate de tabletă, o coadă pentru fiecare mașină
100 / 20 s sincronizare către platformă în mod implicit, adică cel mult 5 elemente/s
15 000 sarcini în așteptare pe tabletă: întreruperea Bluetooth-ului
500 sarcini rămase: reconectare la modul

Lanțul, verigă cu verigă

Trei rezervoare se succedă. Fiecare absoarbe șocurile, atât timp cât debitul de intrare nu depășește în mod durabil debitul de ieșire.

Senzorul afectat de zgomot trimite impulsuri către modul, care le stochează în memoria sa și le transmite prin Bluetooth către tabletă. Tableta le procesează una câte una, apoi le plasează în coada de sincronizare, trimisă către platformă în pachete de 100 la fiecare 20 de secunde. Peste 15 000 de sarcini în așteptare, tableta întrerupe Bluetooth-ul.

Impulsurile stocate (cu portocaliu) așteaptă să fie procesate; elementele cu albastru așteaptă să fie trimise. Săgeata roșie reprezintă mecanismul de protecție descris mai jos. Pastilele 1 și 2 identifică cele două puncte de strangulare cunoscute.

Memoria modulului

Modulul înregistrează fiecare impuls împreună cu marcajul său temporal. Atunci când este conectat, îl transmite tabletei. Atunci când este deconectat, îl păstrează și își golește memoria imediat după reconectare. Este vorba despre un tampon, și nu despre un punct de strangulare.

1. Procesarea pe tabletă

Fiecare impuls este înregistrat în baza de date, apoi procesat pentru a construi perflog-urile, unul singur pe rând pentru fiecare mașină. Debitul depinde de tabletă și de încărcarea acesteia: nu este fix.

2. Sincronizarea către platformă

Un pachet de 100 de elemente la fiecare 20 s, adică cel mult 5 pe secundă.

Atunci când zgomotul depășește capacitatea de sincronizare

Cu setările implicite, sincronizarea transmite cel mult 5 elemente pe secundă. Tot ceea ce sosește peste acest prag se adaugă la întârzierea platformei, oră după oră, chiar dacă tableta reușește să proceseze fluxul.

La 10 impulsuri pe secundă, întârzierea de sincronizare crește cu 18 000 de elemente pe oră; la 30 pe secundă, cu 90 000; la 50 pe secundă, cu 162 000. Doar 5 impulsuri pe secundă sunt trimise.

Cu albastru, volumul transmis pe măsură ce sosește; cu portocaliu, volumul care se acumulează în coada de sincronizare. Aceste valori sunt ordine de mărime, stabilite pe baza unui element de sincronizat pentru fiecare impuls. Întârzierea se resoarbe numai atunci când fluxul coboară din nou sub 5 impulsuri pe secundă; mărirea dimensiunii pachetelor sau scurtarea intervalului ridică acest plafon.

Mecanismul de protecție: deconectare temporară

Atunci când tableta nu mai reușește să țină pasul cu fluxul, coada sa de procesare se alungește. Pentru a evita saturarea, aplicația întrerupe Bluetooth-ul și lasă modulul să asigure stocarea în locul său, pe durata necesară resorbirii întârzierii.

Cu un zgomot continuu, coada de procesare a tabletei atinge 15 000 de sarcini, Bluetooth-ul este întrerupt, coada coboară la 500 în timp ce memoria modulului se umple. La reconectare, modulul își golește memoria dintr-odată, iar coada urcă imediat la 15 000: ciclul reîncepe.

Ilustrație realizată cu un zgomot neîntrerupt; scara de timp este orientativă. Scara verticală a cozii este respectată, ceea ce explică faptul că pragul de 500 apare aproape de zero.

  1. Zgomotul umple coada mai repede decât o golește tableta.
  2. La 15 000 de sarcini în așteptare, pentru toate mașinile tabletei luate împreună, aplicația deconectează toate modulele.
  3. Modulul continuă contorizarea și păstrează impulsurile în memoria sa.
  4. Atunci când coada coboară la 500, aplicația se reconectează, iar modulul își golește memoria dintr-odată.
  5. Dacă zgomotul persistă, această rafală readuce coada la 15 000 și începe un nou ciclu.

💡 Sunt utilizate două praguri îndepărtate unul de celălalt, în locul unui prag unic, pentru ca aplicația să nu înlănțuie întreruperi și reconectări pentru o diferență de câteva sarcini.

Patru scenarii

De la cazul cel mai benign la cel mai critic, în funcție de debitul zgomotului și de durata acestuia.

Scenariu Condiție Tabletă Platformă Bluetooth
Zgomot absorbit mai puțin de 5 impulsuri/s la zi la zi conectat
Platformă în întârziere mai mult de 5 impulsuri/s, tableta ține pasul cu fluxul la zi în întârziere conectat
Tabletă saturată, zgomot punctual mai multe impulsuri decât procesează tableta în întârziere în întârziere întrerupt temporar
Tabletă saturată, zgomot continuu zgomotul nu se întrerupe întârziere în creștere întârziere în creștere întreruperi repetate
  • Zgomot absorbit — Niciun efect vizibil. Cozile se golesc pe măsură ce datele sosesc.
  • Platformă în întârziere — Tableta rămâne în timp real. Datele platformei înregistrează o întârziere, resorbită după ce zgomotul a scăzut.
  • Tabletă saturată, zgomot punctual — Mașina nu mai este în timp real: acțiunile care impun acest lucru, precum schimbarea produsului, sunt refuzate. Dacă este cazul, întrerupere la 15 000, apoi reconectare la 500. Situația revine apoi la normal.
  • Tabletă saturată, zgomot continuu — Fiecare reconectare provoacă o nouă saturare. Aplicația nu își resoarbe întârzierea atât timp cât sursa zgomotului nu este tratată.

Evitarea scenariului

Există două familii de măsuri, după cum zgomotul este suportat sau controlat.

Întreruperea la sursă

Zgomotul nu intră niciodată în memoria modulului.

Scoaterea modulului de sub tensiune

Modul scos de sub tensiune: nici senzorul, nici tableta nu comunică cu acesta.

Modulul nu mai înregistrează niciun impuls, iar tableta îl consideră deconectat până la repunerea sa sub tensiune.

Deconectarea senzorului

Senzor deconectat: legătura dintre senzor și modul este întreruptă, modulul rămâne conectat la tabletă.

Modulul rămâne sub tensiune și conectat, dar zgomotul nu mai ajunge la el: niciun impuls nu este înregistrat.

Ignorarea impulsurilor de către aplicație

Această soluție se aplică unui zgomot controlat, pe o durată cunoscută. Modulul continuă să transmită, dar tableta îndepărtează impulsurile imediat ce sosesc: acestea nu sunt nici înregistrate, nici procesate, nici sincronizate.

Lansarea unei sarcini

Sarcină în curs: modulul transmite în continuare, tableta îndepărtează impulsurile la sosire.

O sarcină de curățare, de exemplu: timpul este calificat, iar impulsurile sunt ignorate până la sfârșitul sarcinii. Lansarea poate impune timpul real; sarcina trebuie, prin urmare, pornită înainte de apariția zgomotului, și nu în timpul saturării.

Ignorarea impulsurilor

Impulsuri ignorate: modulul transmite în continuare, tableta îndepărtează impulsurile la sosire.

Opțiunea „Ignorați impulsurile modulului”: un buton glisant pe ecranul principal. Ascultarea trebuie reactivată după încheierea operațiunii.

⚠️ În toate cazurile, producția reală nu este contorizată în această perioadă: configurația nominală trebuie restabilită înainte de reluare. Întreruperea Bluetooth-ului sau închiderea aplicației nu are niciun efect, modulul continuând să înregistreze zgomotul și să îl restituie la reconectare.

Ce vede utilizatorul

Ce se afișează Când Conținut
Acțiune refuzată coada de procesare nu este goală „Necesită să fiți în timp real — Impulsuri în așteptarea procesării: N”
Acțiune refuzată modulul își golește memoria după o reconectare „Necesită să fiți în timp real — Recuperarea datelor modulului în curs”
Fereastră de alertă în timpul întreruperii; se închide automat la reconectare „Au fost primite multe mesaje de la modul. Aplicația s-a deconectat temporar pentru a procesa aceste mesaje și se va reconecta ulterior.”
Pictogramă Bluetooth verde-portocaliu în timpul întreruperii; o apăsare pe pictogramă afișează „Multe impulsuri de procesat, deconectat temporar de la modul”

De reținut

  • Întreruperea nu antrenează nicio pierdere de impulsuri, în limita memoriei modulului: acesta le păstrează, iar tableta le înregistrează în baza de date înainte de a le procesa.
  • Marcajele temporale provin de la modul: perflog-urile rămân exacte în timp. Doar afișarea și platforma înregistrează o întârziere.
  • Pragul de 15 000 este comun întregii tablete, iar întreruperea se aplică tuturor modulelor sale: o mașină afectată de zgomot penalizează celelalte mașini ale aceleiași tablete.
  • Remediul se află la sursa zgomotului. Ajustarea sincronizării accelerează platforma, dar nu și tableta.