Негізгі модульдерге шолу

IIoT платформасы жүйесінде деректер кестелер түрінде ұйымдастырылады, оларды деректерді ұсынудың негізгі модульдері бойынша жіктеуге болады.

Бұл модульдер шикі өлшемдердің, оларды құрайтын құрылғылардың, олар жиналатын байланыс сеанстарының және солардың барлығын санаттарға бөлетін анықтамалық деректердің өзара қалай байланысатынын сипаттайды. Төмендегі кестелерде әрбір модульдің негізгі өрістері және оларды байланыстыратын сыртқы кілттер егжей-тегжейлі келтірілген.

Деректер архивтері

Деректер архивтерінде IoT-құрылғылардың метрикалары, жабдық деректері және басқа да өлшемдер сияқты тарихи ақпарат сақталады. Архив деректерін сақтауға арналған негізгі кесте — channel_data.

ӨрісТүріСипаттамасы
idbigintЖазбаның бірегей идентификаторы (бастапқы кілт).
equipment_idbigintЖабдыққа сілтеме (equipment.id).
seance_idbigintСеансқа сілтеме (seances.id).
channel_idbigintАрнаға сілтеме (channels.id).
unit_idbigintӨлшем бірлігіне сілтеме (units.id).
archive_type_idintegerАрхив түріне сілтеме (referenceparameters.id).
event_timeintegerОқиға уақыты (мысалы, уақыт белгісі).
valuecharacter varying(100)Арнадан алынған мән.
created_attimestamp(6) without time zoneЖазба жасалған уақыт.
updated_attimestamp(6) without time zoneЖазба соңғы рет жаңартылған уақыт.

Бұл кесте жабдық арналарынан алынған деректерді сақтайды және сыртқы кілттер арқылы әрбір жазбаны жабдыққа, сеанстарға, арналарға және өлшем бірліктеріне байланыстырады. Бұл деректерді әрі қарай талдау мен өңдеу үшін көрсетілген атрибуттар бойынша жіктеуге мүмкіндік береді.

  • equipment_id equipment кестесіне сілтейді.
  • seance_id seances кестесіне сілтейді.
  • channel_id channels кестесіне сілтейді.
  • unit_id units кестесіне сілтейді.
  • archive_type_id referenceparameters кестесіне сілтейді.

Есепке алу торабтары

equipment кестесінде жүйеде пайдаланылатын жабдық туралы ақпарат сақталады. Бұл модуль есептегіштер, сенсорлар, контроллерлер және басқа да жабдық түрлері сияқты физикалық құрылғыларға қатысты деректерді басқару үшін негізгі болып табылады.

ӨрісТүріСипаттамасы
idbigintЖазбаның бірегей идентификаторы (бастапқы кілт).
equipment_type_idbigintЖабдық түріне сілтеме.
serial_numbercharacter varying(25)Жабдықтың сериялық нөмірі.
manufacture_datetimestamp(6) without time zoneЖабдықтың шығарылған күні.
installation_datetimestamp(6) without time zoneЖабдықтың орнатылған күні.
program_versioncharacter varying(100)Жабдықтың бағдарламалық жасақтама нұсқасы.
created_attimestamp(6) without time zoneЖазба жасалған уақыт.
updated_attimestamp(6) without time zoneЖазба соңғы рет жаңартылған уақыт.

equipment кестесі:

  • жабдық туралы сериялық нөмір, шығарылған және орнатылған күндер сияқты негізгі деректерді сақтайды;
  • жабдыққа орнатылған бағдарламалық жасақтаманың нұсқасын қадағалау үшін program_version өрісін пайдаланады;
  • жабдық деректеріндегі өзгерістерді қадағалау үшін created_at және updated_at өрістерін пайдаланады;
  • сыртқы кілттер арқылы equipment_types, channel_data және channels сияқты басқа кестелермен байланысады;
  • жүйедегі жабдық туралы ақпаратты қосуға, жаңартуға және алуға мүмкіндік береді.

equipment кестесіне негізделген деректерді ұсыну модулі жүйедегі жабдық туралы ақпаратты тиімді басқаруды қамтамасыз етеді.

Ол мыналарды ұсынады:

  • жабдықтың негізгі деректерін сақтау;
  • бағдарламалық жасақтама нұсқасын басқару;
  • жүйенің басқа нысандарымен байланыс.

Байланыс сеанстары

seances кестесінде байланыс сеанстары мен жабдық белсенділігі туралы ақпарат сақталады. Сеанстар — жабдық пен жүйе арасында деректер алмасатын белсенділік кезеңдері. Бұл модуль байланыс сеанстарына қатысты деректерді басқару мен талдау үшін негізгі болып табылады.

Бұл модульді толығырақ қарастырайық.

ӨрісТүріСипаттамасы
idbigintЖазбаның бірегей идентификаторы (бастапқы кілт).
telemetry_idbigintТелеметрияға сілтеме (telemetry.id).
event_timeintegerОқиға уақыты.
evtidsmallintОқиға идентификаторы.
trycntsmallintӘрекеттер саны.
tryflcharacter varying(12)Әрекет жалаушасы.
statesmallintСеанс күйі.
btmintegerБатарея заряды.
rssiintegerСигнал деңгейі (пайдаланылса).
created_attimestamp(6) without time zoneЖазба жасалған уақыт.
updated_attimestamp(6) without time zoneЖазба соңғы рет жаңартылған уақыт.

seances модулі мыналар үшін пайдаланылады:

  • байланыс сеанстары мен жабдық жұмысы туралы ақпаратты сақтау;
  • сеансқа қатысты деректерді басқару (мысалы, оқиға уақыты, сеанс күйі, сигнал деңгейі және батарея заряды);
  • мәселелерді анықтау немесе жүйе өнімділігін оңтайландыру үшін сеанстарды талдау;
  • сеанс күйін басқару: state өрісі сеанс күйін бақылауға мүмкіндік береді (мысалы, сәтті, қате және т.б.);
  • сеансты талдау: duration_session және session_traffic өрістері сеанс трафигінің ұзақтығы мен көлемін талдауға мүмкіндік береді;
  • өзгерістерді қадағалау: created_at және updated_at өрістері сеанс деректеріндегі өзгерістерді қадағалауға мүмкіндік береді.

Архив түрлері

archive_type_id атрибуты channel_data кестесіндегі деректерді архив түрі бойынша санаттарға бөледі. Бұл деректерді сағаттық, тәуліктік, айлық, төтенше жағдайлар және басқа да архив түрлері сияқты әртүрлі санаттарға ұйымдастыруға мүмкіндік береді. referenceparameters кестесінде архив түрлері туралы анықтамалық ақпарат сақталады.

Бұл модуль channel_data және referenceparameters кестелерінің арасындағы байланысқа негізделген.

ӨрісТүріСипаттамасы
idbigintЖазбаның бірегей идентификаторы (бастапқы кілт).
namecharacter varying(30)Архив түрінің атауы.
varnamecharacter varying(30)Архив түрінің қысқа айнымалы атауы.
descriptioncharacter varying(100)Архив түрінің сипаттамасы.
parent_idintegerАталық параметрге сілтеме (иерархия).
referencemodel_idintegerАнықтамалық модельге сілтеме.
created_attimestamp(6) without time zoneЖазба жасалған уақыт.
updated_attimestamp(6) without time zoneЖазба соңғы рет жаңартылған уақыт.
deleted_attimestamp(6) without time zoneЖазба жойылған уақыт (жұмсақ жою).

channel_data кестесіндегі archive_type_id өрісі деректерді архив түрі бойынша санаттарға бөлуге мүмкіндік береді.

Мысалы:

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'],
    ...
  ]
]

Қажет болса, бұл архивтерді топтарға ұйымдастыруға болады:

  • ағымдағы деректер (current_state) — байланыс сеансы кезіндегі көрсеткіштер;
  • біріктірілген деректер (hourly, daily, monthly) — белгілі бір уақыт кезеңіндегі жиынтық көрсеткіштер;
  • оқиғалар мен төтенше жағдайлар (nesht, event) — жүйедегі елеулі өзгерістердің немесе оқиғалардың жазбалары. Олар жабдыққа, пайдаланушыларға немесе сыртқы факторларға қатысты болуы мүмкін;
  • клапан күйі (valve) — есептегіш клапанының күйі мен басқарылуы, егер ондай болса;
  • басқару әрекеттері (update_app, send_sms, send_json) — жүйені немесе жабдықты басқару үшін орындалған командалардың немесе әрекеттердің жазбалары;
  • және т.б.

archive_type_id деректерін ұсыну модулі деректерді архив түрлеріне тиімді жіктеуге және анықтамалық ақпаратты басқаруға мүмкіндік береді. Ол мыналарды қамтамасыз етеді:

  • channel_data кестесіндегі деректерді жіктеу;
  • архив түрлері туралы анықтамалық ақпаратты басқару;
  • деректерді архив түрі бойынша талдау.

Қатысты тақырыптар

Соңғы жаңарту

Бұл бет пайдалы болды ма?