Kart Okuyucu Verisi Neden Kirlidir? Çift Okutma, Eksik Çıkış ve Bilinmeyen Kartlar
Gerçek bir otelde kart okuyucudan gelen giriş-çıkış verisinde karşılaşılan çift okutma, eksik çıkış, unutulan kart, saat kayması ve bilinmeyen kart sorunlarının nedenleri ve veri temizleme yöntemleri.
Kart okuyucu "doğru veri" üretir gibi görünür: kart numarası, zaman, yön. Gerçekte bu veri insanlarla, kapılarla ve saatlerle temas ettiği için kirlidir. Bir otelde personel takip paneli kurarken ilk iki ayda en çok zamanı, algoritmadan çok veriyi anlamaya harcadık. Bu not, karşılaştığımız veri sorunlarını, nedenlerini ve nasıl ele aldığımızı sıralıyor. Eşleştirmenin kendisi için çalışma süresi hesaplama ve gece vardiyası yazılarına bakın.
1. Çift okutma
Personel kartı okuyucuya tutar, ışık yanmaz, bir daha tutar. Sonuç: aynı kişiden birkaç saniye arayla iki GİRİŞ. İlk sürümde bu iki ayrı giriş sayıldı ve vardiya "eksik çıkış" olarak işaretlendi. Çözüm: aynı kart ve aynı yönde, kısa bir pencere (bizde 60 saniye) içindeki ikinci okutmayı yok say. Ham kayıt silinmez, yalnızca hesapta tekrar olarak işaretlenir; böylece sonradan pencereyi değiştirmek mümkündür. Pencereyi gereğinden geniş tutmak gerçek bir "girdi-çıktı" hareketini yutabilir, bu yüzden birkaç dakikayı geçmeyin.
2. Eksik çıkış
En sık sorun: personel çıkışta kartını okutmayı unutur. Veri tarafında bir GİRİŞ'in karşılığı yoktur. Yanlış çözüm, çıkışı "vardiya sonu" saatiyle otomatik tamamlamaktır: gerçekte kişinin ne zaman çıktığını bilmiyoruz. Çözüm: vardiya eksik olarak işaretlenir, ayrı bir "eksik çıkışlar" listesinde yöneticiye gösterilir ve düzeltme ayrı bir kayıt olarak, kimin yaptığı yazılarak eklenir (denetim kaydı). Üst süre sınırı da gerekir: 16 saatten uzun açık kalmış bir giriş büyük olasılıkla bir sonraki günün girişiyle karışır.
3. Yetim çıkış
Girişi olmayan bir ÇIKIŞ: kişi girişte kartı okutmayı unutmuş ya da giriş başka bir kapıdan yapılmış olabilir. Bunlar vardiya hesabına katılmaz ama ayrı bir listede görünür. Tekrar eden yetim çıkışlar genellikle bir kapının okuyucusunun sorunlu olduğunu gösterir.
4. Bilinmeyen kart
Hiçbir personele atanmamış bir kart numarası okutuldu. İlk sürümde sistem hata verip o olayı yutuyordu; bu kötü bir tasarımdı çünkü sessiz kayıp demekti. Şimdi bilinmeyen kartlar ayrı bir listede toplanıyor. Nedenleri: yeni işe başlayan henüz tanımlanmamış, kart değiştirilmiş, ödünç verilmiş ya da kaybolmuş. Bu liste, güvenlik açısından da değerlidir: kullanılmayan bir kartın birden çok kez okunması şüphelidir.
5. Saat kayması
Okuyucunun kendi saati yıllar içinde kayabilir ya da elektrik kesilince sıfırlanabilir. Sonuç: tüm kayıtlar birkaç dakika (bazen saat) yanlış. Ayrıca sunucu ve okuyucu farklı saat dilimlerindeyse kayıtlar bir gün kayar. Çözümler: okuyucu ve sunucunun saati düzenli senkronize edilir (NTP); sistemde tüm zamanlar tek bir biçimde (UTC) saklanıp yalnızca gösterimde Türkiye saatine çevrilir (zaman damgası aracı); toplayıcı, okuyucu saatiyle sunucu saati arasında belli bir farktan büyükse uyarı üretir.
6. Veri hiç gelmiyor
Okuyucunun ağ bağlantısı kopar, toplayıcı betik durur ya da veritabanı dolar; sistem çalışıyor görünür ama yeni kayıt gelmez. Bunu kimsenin fark etmemesi en büyük risktir. Çözüm: "son kayıt zamanı" izlenir; gündüz saatlerinde belirli bir süreden eski ise uyarı üretilir (servis izleme ve alarm). Ayrıca sabah gelen günlük özet e-postası bir "kalp atışı" gibi çalışır: e-posta gelmezse bir şey ters gidiyordur (günlük özet e-postası).
7. Aynı anda birden çok okuyucu
Bir otelde ana giriş, personel girişi ve mutfak girişi ayrı okuyuculardır. Aynı kişi bir kapıdan girip başka bir kapıdan çıkabilir. Bu yüzden eşleştirme kapıya göre değil kişiye göre yapılmalı; kapı bilgisi yalnızca ek bilgi olarak saklanır.
Veri temizleme ilkeleri
- Ham veriyi koruyun. Hiçbir temizlik ham kaydı silmez; temizlik hesap katmanında yapılır.
- Her varsayımı görünür kılın. "Eksik çıkış", "tekrar", "yetim" gibi etiketler kullanıcıya gösterilir; sessiz düzeltme yoktur.
- Düzeltmeyi kayıt altına alın. Kim, ne zaman, neden.
- Oranları izleyin. Haftalık eksik çıkış oranı ya da çift okutma oranı artıyorsa bir donanım ya da eğitim sorunu vardır.
- Personeli bilgilendirin. Çıkış okutmayı unutmanın sonuçlarını açıkça anlatmak, sorunu teknik çözümden daha çok azaltır.
Sonuç
Kart verisini temizlemek bir kez yapılan bir iş değil, sürekli bir süreçtir. İlk haftalarda eksik çıkış oranı yüksekti; görünür listeler, kısa bir bilgilendirme ve bir okuyucunun yeri değiştirildikten sonra belirgin biçimde düştü. Sistemi kuran kişi için asıl ders şu: bir takip sisteminin doğruluğu algoritmasından çok, onu besleyen verinin ve alışkanlıkların kalitesine bağlıdır. Kişisel veri açısından bu kayıtların nasıl ele alınacağı için KVKK notlarına bakın. Vardiya sürelerini kendiniz denemek için vardiya hesaplayıcıyı kullanabilirsiniz.