Ben veri üreten ve sunucuya geri gönderir mobil cihazdan (gömülü bir uygulama var) iş verilerini senkronize edecek bir sistem tasarlıyorum. Senkronize edilen her satır, veritabanında belirli bir iş günlüğü oluşturur.
Senkronize ettiğim şey, iş verilerimin son değişiklik tarihinden daha düşük bir tarihle (senkronizasyon verileri dahilinde) veri oluşturuyorsa, yok saymalı ve sadece giriş veritabanını eklemeliyim. Yüklenen veriler işlendikten sonra veriler veritabanından alınır ve cihaza indirilir.
Bu indirme işleminden hemen sonra, senkronizasyon senkronize olmalıdır. Mevcut çözümümü değiştirmek için yeterli bir değere sahipse yine de bir okuyucu / yazar desenine sahip olmak mümkündür. Daha da önemlisi, güncel verileri indirebilmektir. Bu veriler bir bütün olarak getirilir, şu anda uygulanan bir fark yoktur (daha sonra gelebilir, ancak bu bir sorun olmayacaktır).
Aynı iş nesnesi üzerinde çalışan birden fazla senkronizasyon olabilir, bu olası değildir, ancak gerçekleşebilir ve bununla başa çıkmayı tercih ederim. Yerleşik mobil uygulamayı birkaç gün boyunca yeniden senkronize etmeden kullanmadıkça senkronizasyonun birkaç saniye sürmesi beklenir, ancak birkaç dakika sürmez.
Senkronize edilen veri hacminin ne senkronizasyon işlemi ne de büyük olması beklenmez.
Bu nedenle, senkronizasyon yöntemimde karşılıklı bir dışlama kullanarak, daha doğrusu, Java kullanıyorum ve salt okunur senkronizasyonu engellememek için tüm senkronizasyon sürecine değil yazma yöntemine bir senkronize koydum.
Bilmek isterim :
- Bu şekilde mantıklıysa? Senkronizasyon işleminin hacmi ve süresi hala kabul edilebilir olduğu sürece.
- Genel olarak, hangi kavramlara bakmalıyım. Bonus: Bir Spring modülünde bu kavramların herhangi bir uygulaması varsa.