Unifikatsiya komponentlari
Maʼlumotlarni unifikatsiya qilishning asosiy tarkibiy qismlari — format standartlashtirish, struktura unifikatsiyasi, semantik unifikatsiya, normallashtirish va unifikatsiyalangan maʼlumotlardan foydalanish.
Format standartlashtirish
Turli manbalardan keladigan barcha maʼlumotlar yagona formatga keltiriladi.
Masalan, IoT qurilmalaridan kelgan maʼlumotlar JSON formatida keladi:
{
"device_id": "sensor-123",
"temp": 27.3,
"time": 1739960923
}Maʼlumotlar strukturasini unifikatsiya qilish
Manbasidan qatʼi nazar, barcha maʼlumotlar uchun yagona struktura aniqlanadi.
Barcha maʼlumotlar channel_data jadvalida saqlanadi, bu ularni jihoz, seanslar, kanallar va oʻlchov birliklari bilan bogʻlaydi:
| Maydon | Tur | Tavsif |
|---|---|---|
id | bigint | Yozuvning yagona identifikatori (birlamchi kalit). |
equipment_id | bigint | Jihozga havola (equipment.id). |
seance_id | bigint | Seansga havola (seances.id). |
channel_id | bigint | Kanalga havola (channels.id). |
unit_id | bigint | Oʻlchov birligiga havola (units.id). |
archive_type_id | integer | Arxiv turiga havola (referenceparameters.id). |
event_time | integer | Hodisa vaqti (masalan, vaqt belgisi). |
value | character varying(100) | Kanaldan olingan qiymat. |
created_at | timestamp(6) without time zone | Yozuv yaratilgan vaqt. |
updated_at | timestamp(6) without time zone | Yozuv oxirgi marta yangilangan vaqt. |
Bu yerda:
equipment_id: Jihozning yagona identifikatori.seance_id: Seansning yagona identifikatori.channel_id: Kanalning yagona identifikatori.unit_id: Oʻlchov birligining yagona identifikatori.
Turli qurilmalardan kelgan maʼlumotlar markaziy omborda saqlanganda:
- maʼlumotlar yagona format va strukturaga keltiriladi;
- ular
channel_dataunifikatsiyalangan maʼlumotlar jadvalida saqlanadi.
Semantik unifikatsiya
Barcha maʼlumotlar barcha tizimlarda bir xil maʼno va talqinga ega.
Masalan:
- Barcha vaqt belgilari
UTCformatida boʻladi. Bu tizimni loyihalash bosqichida amalga oshirilgan. - Barcha tizimlar bir xil oʻlchov birliklaridan foydalanadi (masalan, Selsiy gradusi).
Oʻlchov birliklarini unifikatsiya qilish uchun tizimga Units modeli qoʻshildi. Unda kanal maʼlumotlari uchun ishlatiladigan oʻlchov birliklari saqlanadi.
| Maydon | Tur | Tavsif |
|---|---|---|
id | bigint | Yozuvning yagona identifikatori (birlamchi kalit). |
name | character varying(30) | Oʻlchov birligining nomi. |
varname | character varying(30) | Oʻlchov birligining qisqa oʻzgaruvchi nomi. |
description | character varying(100) | Oʻlchov birligining tavsifi. |
conversion_factor | double precision | Oʻlchov birligi uchun aylantirish koeffitsiyenti. |
rounding | smallint | Yaxlitlanadigan oʻnli kasr xonalari soni. |
synonyms | character varying[] | Oʻlchov birligi sinonimlari massivi. |
created_at | timestamp(6) without time zone | Yozuv yaratilgan vaqt. |
updated_at | timestamp(6) without time zone | Yozuv oxirgi marta yangilangan vaqt. |
Maʼlumotlarni normallashtirish
Tizimning maʼlumotlar modeli atomar (skalyar) qiymatlar nuqtai nazaridan Boyce-Codd (uchinchi) normal formaga keltirilgan. Maʼlumotlar modelidagi baʼzi obyektlar kam uchraydigan, nostandart atributlar bilan ishlashni optimallashtirish uchun kompozit strukturalardan foydalanadi.
Maʼlumotlar mantiqiy jadvallarga (equipment, channels, units, sessions) boʻlinadi, bu ortiqchalik va takrorlanishni bartaraf etadi.
Masalan:
channel_datajadvaliequipment,channels,unitsvasessionsjadvallariga tashqi kalitlar orqali murojaat qiladi.
Unifikatsiyalangan maʼlumotlardan foydalanish
Unifikatsiyalangan maʼlumotlar tahlil, vizualizatsiya, mashinaviy oʻqitish va boshqa vazifalar uchun ishlatilishi mumkin.
SQL yordamida maʼlumotlarni tahlil qilish
SELECT equipment_id, AVG(value) as avg_value
FROM channel_data
WHERE archive_type_id = 4 AND channel_id = 3
GROUP BY equipment_id
ORDER BY equipment_idREST API orqali maʼlumotlarni soʻrash
Soʻrov namunasi:
GET /api/v1/channel_data?equipment_id=1&archive_type=daily&channel_id=3Javob namunasi:
[
{
"id": 123,
"equipment_id": 1,
"seance_id": 2,
"channel_id": 3,
"archive_type_id": 4,
"value": 42.5,
"event_time": 1739950861
}
]Aloqador mavzular
Ushbu sahifa foydali boʻldimi?
Fikr-mulohazangiz uchun rahmat!