Prezentarea modulelor de bază

În Data Platform datele sunt organizate în tabele, care se pot clasifica după principalele module de reprezentare a datelor.

Aceste module descriu cum se îmbină datele brute de măsurare, dispozitivele care le generează, sesiunile de comunicație în care sunt colectate și nomenclatoarele după care sunt clasificate. Tabelele de mai jos prezintă câmpurile principale ale fiecărui modul și cheile străine care leagă modulele între ele.

Arhive de date

Arhivele de date stochează informații istorice, precum indicatorii dispozitivelor IoT, datele echipamentelor și alte măsurări. Tabelul principal în care se stochează datele arhivelor este channel_data.

CâmpTipDescriere
idbigintIdentificatorul unic al înregistrării (cheie primară).
equipment_idbigintReferință la echipament (equipment.id).
seance_idbigintReferință la sesiune (seances.id).
channel_idbigintReferință la canal (channels.id).
unit_idbigintReferință la unitatea de măsură (units.id).
archive_type_idintegerReferință la tipul de arhivă (referenceparameters.id).
event_timeintegerMomentul evenimentului (de ex. marcă temporală).
valuecharacter varying(100)Valoarea primită de la canal.
created_attimestamp(6) without time zoneMomentul creării înregistrării.
updated_attimestamp(6) without time zoneMomentul ultimei actualizări a înregistrării.

Acest tabel stochează datele primite de la canalele echipamentelor și asociază fiecare înregistrare, prin chei străine, cu echipamentul, sesiunea, canalul și unitatea de măsură. Astfel, datele pot fi clasificate după aceste atribute pentru analiză și prelucrare ulterioară.

  • equipment_id face referire la tabelul equipment.
  • seance_id face referire la tabelul seances.
  • channel_id face referire la tabelul channels.
  • unit_id face referire la tabelul units.
  • archive_type_id face referire la tabelul referenceparameters.

Puncte de măsurare

Tabelul equipment stochează informații despre echipamentele utilizate în sistem. Acest modul este esențial pentru gestionarea datelor asociate dispozitivelor fizice, precum contoare, senzori, controlere și alte tipuri de echipamente.

CâmpTipDescriere
idbigintIdentificatorul unic al înregistrării (cheie primară).
equipment_type_idbigintReferință la tipul de echipament.
serial_numbercharacter varying(25)Numărul de serie al echipamentului.
manufacture_datetimestamp(6) without time zoneData fabricației echipamentului.
installation_datetimestamp(6) without time zoneData instalării echipamentului.
program_versioncharacter varying(100)Versiunea de software a echipamentului.
created_attimestamp(6) without time zoneMomentul creării înregistrării.
updated_attimestamp(6) without time zoneMomentul ultimei actualizări a înregistrării.

Tabelul equipment:

  • stochează datele de bază despre echipamente, precum numărul de serie, data fabricației și data instalării;
  • utilizează câmpul program_version pentru a urmări versiunea software-ului instalat pe echipament;
  • utilizează câmpurile created_at și updated_at pentru a urmări modificările datelor despre echipamente;
  • este legat prin chei străine de alte tabele, precum equipment_types, channel_data și channels;
  • vă permite să adăugați, să actualizați și să obțineți informații despre echipamentele din sistem.

Modulul de reprezentare a datelor bazat pe tabelul equipment permite gestionarea eficientă a informațiilor despre echipamentele din sistem.

Acesta asigură:

  • stocarea datelor de bază despre echipamente;
  • gestionarea versiunilor de software;
  • legătura cu alte entități din sistem.

Sesiuni de comunicație

Tabelul seances stochează informații despre sesiunile de comunicație și despre activitatea echipamentelor. Sesiunile sunt perioade de activitate în care echipamentele schimbă date cu sistemul. Acest modul este esențial pentru gestionarea și analiza datelor asociate sesiunilor de comunicație.

Să examinăm mai îndeaproape acest modul.

CâmpTipDescriere
idbigintIdentificatorul unic al înregistrării (cheie primară).
telemetry_idbigintReferință la telemetrie (telemetry.id).
event_timeintegerMomentul evenimentului.
evtidsmallintIdentificatorul evenimentului.
trycntsmallintNumărul de încercări.
tryflcharacter varying(12)Marcajul încercării.
statesmallintStatusul sesiunii.
btmintegerStarea de încărcare a bateriei.
rssiintegerPuterea semnalului (dacă se utilizează).
created_attimestamp(6) without time zoneMomentul creării înregistrării.
updated_attimestamp(6) without time zoneMomentul ultimei actualizări a înregistrării.

Modulul seances se utilizează pentru:

  • stocarea informațiilor despre sesiunile de comunicație și despre funcționarea echipamentelor;
  • gestionarea datelor legate de sesiuni (de exemplu, momentul evenimentului, statusul sesiunii, puterea semnalului și starea de încărcare a bateriei);
  • analiza sesiunilor, pentru a identifica problemele sau a optimiza funcționarea sistemului;
  • gestionarea statusului sesiunii: câmpul state vă permite să monitorizați statusul sesiunii (de exemplu, reușită, eroare etc.);
  • analiza sesiunilor: câmpurile duration_session și session_traffic vă permit să analizați durata sesiunii și volumul traficului de date al acesteia;
  • urmărirea modificărilor: câmpurile created_at și updated_at vă permit să urmăriți modificările datelor despre sesiuni.

Tipuri de arhive

Atributul archive_type_id clasifică datele din tabelul channel_data după tipul de arhivă. Astfel, datele pot fi organizate în diferite categorii, precum arhivele orare, zilnice și lunare, arhiva regimurilor anormale și alte tipuri de arhive. Tabelul referenceparameters stochează nomenclatorul tipurilor de arhive.

Acest modul se bazează pe relația dintre tabelele channel_data și referenceparameters.

CâmpTipDescriere
idbigintIdentificatorul unic al înregistrării (cheie primară).
namecharacter varying(30)Denumirea tipului de arhivă.
varnamecharacter varying(30)Numele scurt de variabilă al tipului de arhivă.
descriptioncharacter varying(100)Descrierea tipului de arhivă.
parent_idintegerReferință la parametrul părinte (ierarhie).
referencemodel_idintegerReferință la modelul nomenclatorului.
created_attimestamp(6) without time zoneMomentul creării înregistrării.
updated_attimestamp(6) without time zoneMomentul ultimei actualizări a înregistrării.
deleted_attimestamp(6) without time zoneMomentul ștergerii logice a înregistrării (soft delete).

Câmpul archive_type_id din tabelul channel_data vă permite să clasificați datele după tipul de arhivă.

De exemplu:

ruby
[ 'Archive types', 'archive_types', 'Archive types (hourly, daily, monthly)',
  [
    ['Hourly readings archive', 'hourly'],
    ['Daily readings archive', 'daily'],
    ['Monthly readings archive', 'monthly'],
    ['Emergency situations archive', 'nesht'],
    ['Events archive', 'event'],
    ['Valve status', 'valve'],
    ['Current state', 'current_state'],
    ['Updated firmware', 'update_app'],
    ['Send SMS', 'send_sms'],
    ['Send JSON', 'send_json'],
    ...
  ]
]

La nevoie, aceste arhive pot fi organizate în grupuri:

  • date curente (current_state) – citirile din momentul sesiunii de comunicație;
  • date agregate (hourly, daily, monthly) – citiri de sinteză pe o anumită perioadă;
  • evenimente și regimuri anormale (nesht, event) – înregistrări ale unor modificări sau întâmplări semnificative din sistem, care pot fi legate de echipamente, de utilizatori sau de factori externi;
  • starea robinetului (valve) – starea și comanda robinetului contorului, dacă acesta există;
  • acțiuni de comandă (update_app, send_sms, send_json) – înregistrări ale unor comenzi sau acțiuni executate pentru comanda sistemului sau a echipamentelor;
  • și altele.

Modulul de reprezentare a datelor archive_type_id vă permite să clasificați eficient datele pe tipuri de arhive și să gestionați nomenclatorul acestora. Acesta asigură:

  • clasificarea datelor din tabelul channel_data;
  • gestionarea nomenclatorului tipurilor de arhive;
  • analiza datelor pe tipuri de arhive.

Subiecte conexe

Ultima actualizare:

A fost utilă această pagină?