Calibration Katmanı
Kalibrasyon ham cihaz ölçümünün normalize edilmesini sağlar. Kural yönetimi DB’dedir, çalışma zamanı çözümlemesi Redis cache üzerinden yapılır.
Çözümleme Önceliği
- Cihaz özel (
device_id = gerçek cihaz) - Global (
device_id = '0') - Varsayılan (
gain=1,offset=0)
Uygulama Formülü
calibrated_value = raw_value * gain + offset
Tablo: calibrations
| Kolon | Tip | Not |
|---|---|---|
id | bigint PK | |
device_id | varchar(21) FK | 0 global |
variable_id | varchar(30) FK | Hedef değişken |
gain | double precision | Çarpan |
offset | double precision | Ofset |
status | boolean | Aktif/Pasif |
priority | integer | Çakışma çözümü |
valid_from, valid_to | timestamptz | Geçerlilik aralığı |
version | integer | Snapshot sürümü |
create_time, update_time | timestamptz |
Redis Cache Stratejisi
- key:
cal:{device_id}:{version} - miss: DB fallback
- update: cache invalidation
- worker local cache: 30–60 sn (opsiyonel)
Operasyon Notu
Kalibrasyon çözümleme adımı ham segment tablolara yazımdan önce çalışmalıdır; böylece hem ham segment hem sentez tutarlı giriş üzerinden ilerler.