# Veri akışı

> Bir değerin makineden Edge Gateway'e, veri ağacına, veri hedeflerine ve geçmiş veri deposuna yolunu ve bağlantı koptuğunda ne olduğunu anlatır.

Kaynak: https://proxus.io/tr/docs/concepts/data-flow

Bu sayfa tek bir değerin, örneğin bir mikserin sıcaklığının, makineden rapora kadar izlediği yolu ve her aşamada
neler olduğunu anlatır. Yoldaki bir noktaya ulaşılamadığında değerin nerede beklediğini de açıklar.

## 1. Okuma

Cihazı, o cihaza atanmış Edge Gateway okur. Okuma yöntemi protokole göre değişir:

- **Sorgulamalı protokoller** (Modbus, Siemens S7, EtherNet/IP ve diğerleri): Edge Gateway, cihazın **Okuma
  aralığı** ayarında belirtilen sıklıkla cihazdan bütün veri noktalarını ister.
- **Veriyi kendisi gönderen cihazlar**, Edge Gateway'in MQTT sunucusuna yayın yapar ya da HTTP uç noktasına veri
  gönderir. Her cihaz, kimliğini kendi erişim anahtarıyla kanıtlar.
- **Simülatör**, değerleri doğrudan Edge Gateway'de üretir.

Edge Gateway her değere bir **zaman** (okunduğu an) ve bir **veri kalitesi** ekler. Okuma başarılıysa kalite
**Geçerli**, başarısızsa **Geçersiz** olur. Sürekli hata veren bir cihaz tam hızda sorgulanmaya devam etmez. Uç
cihaz, cihaz yanıt verene kadar giderek uzayan aralıklarla yeniden dener. Böylece ulaşılamayan tek bir makine
diğerlerini yavaşlatmaz.

## 2. Düzenleme

Değer herhangi bir yere gitmeden önce Edge Gateway, tanımladığınız mantığı değer üzerinde çalıştırır:

- Her değeri ilk olarak Edge Gateway'deki **fonksiyonlar** görür.
- Ardından veriyi düzenleyen **işlem akışları**, belirlediğiniz sırayla çalışır. Bu akışlar birim dönüştürebilir,
  değeri ölçekleyebilir, veri noktasının adını değiştirebilir, bağlam bilgisi ekleyebilir, değeri atabilir ya da
  yönlendirebilir. Sonraki bütün aşamalar, bu akışlardan çıkan değeri alır.

Sonra Edge Gateway yeni değerleri öncekilerle karşılaştırır ve hangilerinin değiştiğini işaretler. Veriye göre işlem
yapan işlem akışları (alarm üretmek, bildirim göndermek, cihaza yazmak gibi) ve Edge Gateway'deki **alarm kuralları**
bu sonuç üzerinde çalışır. İkisi arasındaki farkı
[İşlem akışı, alarm kuralı, fonksiyon](https://proxus.io/tr/docs/concepts/pipelines-and-rules) sayfası açıklar.

## 3. Yayınlama ve yönlendirme

Değer Edge Gateway'den aynı anda üç yere gider:

- **Ortak veri modeli (UNS).** Edge Gateway değeri yerleşik MQTT sunucusunda, cihazın tesisteki yerine karşılık gelen konu
  altında yayınlar. Örnek:
  `v1/Meridian/Lyon_Foods_Plant/Processing/Dough/DOCS_TUTORIAL_MIXER_01/telemetry/Temperature`. Erişim izni
  olan her MQTT istemcisi bu konuya abone olabilir. Ayrıntılar [Ortak veri modeli (UNS)](https://proxus.io/tr/docs/concepts/unified-namespace)
  sayfasındadır.
- **Veri hedefleri.** Cihazda işaretlenen her hedef, değeri Edge Gateway'den alır. Hedefe neyin gideceğini hedefin
  **Aktarım stratejisi** belirler: bütün değerler (**Doğrudan aktar**), yalnızca değişen değerler
  (**Değiştiğinde**) ya da yalnızca işlem akışlarının o hedefe gönderdikleri (**Yalnızca işlem akışları**).
- **Merkez sunucu.** Değer geçmiş veri deposuna gider. Geçmiş veri deposu, cihazın hedef listesinde
  **SYSTEM INTERNAL DB** adıyla görünür. Her yeni cihazın listesinde bu hedef vardır; hedeften çıkarılan bir
  cihazın geçmişi olmaz. Edge Gateway değeri mesaj sunucusuna verir, mesaj sunucusu da merkez
  sunucuya taşır.

## 4. Ara bellek

Uzak Edge Gateway değerleri merkez sunucuya doğrudan göndermez. Önce kendi mesaj sunucusu aracılığıyla Edge Gateway'in
diskine yazar. Merkez sunucu değerleri buradan kopyalar. Merkez sunucuyla bağlantı koptuğunda ya da merkez sunucu
durduğunda değerler Edge Gateway'de birikmeye devam eder. Bağlantı geri gelince merkez sunucu kaçırdığı değerleri
okundukları zaman bilgisiyle birlikte alır. Böylece geçmiş veride boşluk oluşmaz.

- Edge Gateway'in gönderemediği değerleri ne kadar süre saklayacağı her Edge Gateway için ayrı ayarlanır. Bu ayar, uç
  cihazdaki **Ara bellek saklama süresi (saat)** alanıdır. Varsayılan değer 48 saattir, 1 ile 720 arasında
  ayarlanabilir. Bu süreyi aşan değerler, en eskiden başlayarak silinir.
- Edge Gateway'in diski, kendi veri hızıyla bu kadar saatlik veriyi tutabilmelidir.
- **SYSTEM** Edge Gateway'i merkez sunucunun yanında çalıştığı için ara bellek ayarı yoktur.

Uzak Edge Gateway'de oluşan alarmlar ve bildirimler de aynı şekilde ara belleğe alınır. Edge Gateway her birini, merkez
sunucu aldığını doğrulayana kadar saklar ve oluştukları sırayla gönderir.

> **Not:**
Ara bellek, merkez sunucuya giden yolu korur. Veri hedeflerinin ise Edge Gateway'de kendi kalıcı kuyrukları vardır. Bir
hedefe ulaşılamadığı sürece o hedefe gidecek veri, aynı **Ara bellek saklama süresi (saat)** boyunca kuyrukta bekler.
Hedefe yeniden ulaşıldığında veri sırasıyla yazılır. Hedefin veri gönderip göndermediği ve kuyrukta kaç mesaj
beklediği, [Veri hedefleri](https://proxus.io/tr/docs/connect/outbound-targets) ekranındaki hedef durumunda görünür.

## 5. Saklama ve gösterme

Merkez sunucuya ulaşan değer:

- cihaz, veri noktası, birim ve zaman bilgisiyle birlikte **geçmiş veri deposuna** (ClickHouse veritabanı) yazılır;
- cihaz sayfası, Veri ağacı (UNS) ve Anlık durum gibi **canlı görünümleri** günceller;
- geçmiş veri deposundan okuyan **Trend çalışma alanı**, **Panolar** ve **Raporlar** ekranlarında kullanılabilir
  hale gelir.

Geçmiş veri deposu varsayılan olarak her değeri saklar. Yapılandırmada bir saklama süresi belirlenebilir.
Ayrıntılar [Yapılandırma](https://proxus.io/tr/docs/administer/configuration) sayfasındadır.

## Yapılandırma ters yönde akar

Yapılandırma da aynı yolu izler, ancak merkez sunucudan Edge Gateway'lere doğru ilerler. Bir cihazı kaydettiğinizde
merkez sunucu cihazı, bağlı olduğu Edge Gateway'e gönderir. Edge Gateway değişikliği uygular ve onaylar. Cihaz kurulum
sihirbazının doğrulama adımında bu aşamalar **Kaydedildi**, **Edge Gateway'e gönderildi**, **Cihaz bağlandı** ve
**İlk değerler** olarak görünür. Çevrim dışı bir Edge Gateway, değişikliği yeniden bağlandığında alır. Yeni açılan bir
Edge Gateway ise bütün yapılandırmasını merkez sunucudan alır.

## Sonraki adımlar

- [Mimari](https://proxus.io/tr/docs/concepts/architecture): merkez sunucu, Edge Gateway'ler ve mesaj sunucusu.
- [Veri sorunlarını giderme](https://proxus.io/tr/docs/troubleshoot/data): bir değer beklediğiniz yere ulaşmıyorsa buradan başlayın.
