Asosiy modullar haqida umumiy maʼlumot

IIoT platformasi tarkibida maʼlumotlar jadvallar koʻrinishida tashkil etilgan boʻlib, ularni maʼlumotlarni taqdim etishning asosiy modullari boʻyicha tasniflash mumkin.

Ushbu modullar xom oʻlchovlar, ularni ishlab chiqaradigan qurilmalar, oʻlchovlar yigʻiladigan aloqa seanslari hamda ularni toifalarga ajratuvchi maʼlumotnoma maʼlumotlarining bir-biriga qanday bogʻlanishini tavsiflaydi. Quyidagi jadvallarda har bir modulning asosiy maydonlari va ularni bir-biriga bogʻlovchi tashqi kalitlar batafsil keltirilgan.

Maʼlumotlar arxivi

Maʼlumotlar arxivi IoT qurilmalari koʻrsatkichlari, jihozlar maʼlumotlari va boshqa oʻlchovlar kabi tarixiy axborotni saqlaydi. Arxiv maʼlumotlarini saqlash uchun asosiy jadval — channel_data.

MaydonTurTavsif
idbigintYozuvning yagona identifikatori (asosiy kalit).
equipment_idbigintJihozga havola (equipment.id).
seance_idbigintSeansga havola (seances.id).
channel_idbigintKanalga havola (channels.id).
unit_idbigintOʻlchov birligiga havola (units.id).
archive_type_idintegerArxiv turiga havola (referenceparameters.id).
event_timeintegerHodisa vaqti (masalan, vaqt belgisi).
valuecharacter varying(100)Kanaldan olingan qiymat.
created_attimestamp(6) without time zoneYozuv yaratilgan vaqt.
updated_attimestamp(6) without time zoneYozuv oxirgi marta yangilangan vaqt.

Bu jadval jihoz kanallaridan olingan maʼlumotlarni saqlaydi va har bir yozuvni tashqi kalitlar orqali jihoz, seans, kanal va oʻlchov birligi bilan bogʻlaydi. Bu maʼlumotlarni keyingi tahlil va qayta ishlash uchun koʻrsatilgan atributlar boʻyicha tasniflash imkonini beradi.

  • equipment_id equipment jadvaliga havola qiladi.
  • seance_id seances jadvaliga havola qiladi.
  • channel_id channels jadvaliga havola qiladi.
  • unit_id units jadvaliga havola qiladi.
  • archive_type_id referenceparameters jadvaliga havola qiladi.

Hisoblash tugunlari

equipment jadvali tizimda foydalaniladigan jihozlar haqidagi maʼlumotlarni saqlaydi. Bu modul hisoblagichlar, datchiklar, kontrollerlar va boshqa turdagi jihozlar kabi fizik qurilmalar bilan bogʻliq maʼlumotlarni boshqarishda asosiy hisoblanadi.

MaydonTurTavsif
idbigintYozuvning yagona identifikatori (asosiy kalit).
equipment_type_idbigintJihoz turiga havola.
serial_numbercharacter varying(25)Jihozning seriya raqami.
manufacture_datetimestamp(6) without time zoneJihozning ishlab chiqarilgan sanasi.
installation_datetimestamp(6) without time zoneJihozning oʻrnatilgan sanasi.
program_versioncharacter varying(100)Jihozning dasturiy taʼminot versiyasi.
created_attimestamp(6) without time zoneYozuv yaratilgan vaqt.
updated_attimestamp(6) without time zoneYozuv oxirgi marta yangilangan vaqt.

equipment jadvali:

  • jihoz haqidagi asosiy maʼlumotlarni, masalan, seriya raqami hamda ishlab chiqarilgan va oʻrnatilgan sanalarni saqlaydi;
  • jihozga oʻrnatilgan dasturiy taʼminot versiyasini kuzatish uchun program_version maydonidan foydalanadi;
  • jihoz maʼlumotlaridagi oʻzgarishlarni kuzatish uchun created_at va updated_at maydonlaridan foydalanadi;
  • tashqi kalitlar orqali equipment_types, channel_data va channels kabi boshqa jadvallar bilan bogʻlangan;
  • tizimda jihoz haqidagi maʼlumotni qoʻshish, yangilash va olish imkonini beradi.

equipment jadvaliga asoslangan maʼlumotlarni taqdim etish moduli tizimdagi jihoz haqidagi axborotni samarali boshqarish imkonini beradi.

U quyidagilarni taʼminlaydi:

  • jihoz haqidagi asosiy maʼlumotlarni saqlash;
  • dasturiy taʼminot versiyasini boshqarish;
  • tizimdagi boshqa obyektlar bilan oʻzaro aloqa.

Aloqa seanslari

seances jadvali aloqa seanslari va jihoz faolligi haqidagi maʼlumotlarni saqlaydi. Seanslar — bu jihoz bilan tizim oʻrtasida maʼlumot almashinadigan faollik davrlari. Bu modul aloqa seanslari bilan bogʻliq maʼlumotlarni boshqarish va tahlil qilishda asosiy hisoblanadi.

Keling, ushbu modulni batafsilroq koʻrib chiqaylik.

MaydonTurTavsif
idbigintYozuvning yagona identifikatori (asosiy kalit).
telemetry_idbigintTelemetriyaga havola (telemetry.id).
event_timeintegerHodisa vaqti.
evtidsmallintHodisa identifikatori.
trycntsmallintUrinishlar soni.
tryflcharacter varying(12)Urinish bayrogʻi.
statesmallintSeans holati.
btmintegerBatareya zaryadi.
rssiintegerSignal kuchi (agar ishlatilsa).
created_attimestamp(6) without time zoneYozuv yaratilgan vaqt.
updated_attimestamp(6) without time zoneYozuv oxirgi marta yangilangan vaqt.

seances moduli quyidagilar uchun ishlatiladi:

  • aloqa seanslari va jihozning ishlashi haqidagi maʼlumotlarni saqlash;
  • seans bilan bogʻliq maʼlumotlarni (masalan, hodisa vaqti, seans holati, signal kuchi va batareya quvvati) boshqarish;
  • muammolarni aniqlash yoki tizim ishlashini optimallashtirish maqsadida seanslarni tahlil qilish;
  • seans holatini boshqarish: state maydoni seans holatini (masalan, muvaffaqiyatli, xato va hokazo) kuzatish imkonini beradi;
  • seansni tahlil qilish: duration_session va session_traffic maydonlari seansning davomiyligi va trafik hajmini tahlil qilish imkonini beradi;
  • oʻzgarishlarni kuzatish: created_at va updated_at maydonlari seans maʼlumotlaridagi oʻzgarishlarni kuzatish imkonini beradi.

Arxiv turlari

archive_type_id atributi channel_data jadvalidagi maʼlumotlarni arxiv turi boʻyicha toifalarga ajratadi. Bu maʼlumotlarni soatlik, kunlik, oylik, favqulodda vaziyatlar va boshqa arxiv turlari kabi turli toifalarga ajratish imkonini beradi. referenceparameters jadvali arxiv turlari haqidagi maʼlumotnoma axborotini saqlaydi.

Bu modul channel_data va referenceparameters jadvallari oʻrtasidagi bogʻlanishga asoslangan.

MaydonTurTavsif
idbigintYozuvning yagona identifikatori (asosiy kalit).
namecharacter varying(30)Arxiv turining nomi.
varnamecharacter varying(30)Arxiv turi uchun qisqa oʻzgaruvchi nomi.
descriptioncharacter varying(100)Arxiv turining tavsifi.
parent_idintegerOta parametrga havola (ierarxiya).
referencemodel_idintegerMaʼlumotnoma modeliga havola.
created_attimestamp(6) without time zoneYozuv yaratilgan vaqt.
updated_attimestamp(6) without time zoneYozuv oxirgi marta yangilangan vaqt.
deleted_attimestamp(6) without time zoneYozuv oʻchirilgan vaqt (yumshoq oʻchirish).

channel_data jadvalidagi archive_type_id maydoni maʼlumotlarni arxiv turi boʻyicha toifalarga ajratish imkonini beradi.

Masalan:

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

Zarur boʻlganda bu arxivlarni guruhlarga ajratish mumkin:

  • joriy maʼlumotlar (current_state) — aloqa seansi vaqtidagi koʻrsatkichlar;
  • jamlangan maʼlumotlar (hourly, daily, monthly) — maʼlum vaqt davri uchun yigʻma koʻrsatkichlar;
  • hodisalar va favqulodda vaziyatlar (nesht, event) — tizimdagi muhim oʻzgarishlar yoki hodisalar yozuvlari. Ular jihoz, foydalanuvchilar yoki tashqi omillar bilan bogʻliq boʻlishi mumkin;
  • klapan holati (valve) — agar mavjud boʻlsa, hisoblagich klapanining holati va boshqaruvi;
  • boshqaruv amallari (update_app, send_sms, send_json) — tizim yoki jihozni boshqarish uchun bajarilgan buyruqlar yoki amallar yozuvlari;
  • va hokazo.

archive_type_id maʼlumotlarni taqdim etish moduli maʼlumotlarni arxiv turlariga samarali ajratish va maʼlumotnoma axborotini boshqarish imkonini beradi. U quyidagilarni taʼminlaydi:

  • channel_data jadvalidagi maʼlumotlarni tasniflash;
  • arxiv turlari haqidagi maʼlumotnoma axborotini boshqarish;
  • maʼlumotlarni arxiv turi boʻyicha tahlil qilish.

Aloqador mavzular

Oxirgi yangilanish

Ushbu sahifa foydali boʻldimi?