Sürüm vektör - Version vector

Bir sürüm vektör bir verilerdeki değişiklikleri izlemek için bir mekanizmadır dağıtılmış sistemin birden ajanlar farklı zamanlarda veri güncelleme olabilir. Versiyon vektör bir güncelleştirme başka (öncesinde ise katılımcılar belirlemesine olanak sağlar oldu-öncesi ), bunu takiben veya iki güncellemeler eşzamanlı olduysa (ve bu nedenle birbirleriyle çakışabilir). Bu şekilde, sürüm vektörler etkinleştirmek nedenselliği veri kopyaları arasında izleme ve için temel bir mekanizma olan iyimser çoğaltma . Matematiksel açıdan, sürüm vektör bir üretir ön sipariş önce olayları izler ve bu nedenle daha sonra, güncellemeler etkileyebilir.

Versiyon vektörleri olarak özdeş durumunu korumak vektör saat ancak güncelleme kuralları biraz farklıdır; Bu örnekte, kopyaları (örneğin, yerel düğüm bir dosyanın düzenlenmesini kullanıcı) yerel güncellemelerini yaşayabilirsiniz ya veya başka bir kopyasıyla senkronize edebilirsiniz:

  • Başlangıçta tüm vektör sayaçları sıfırdır.
  • Bir yineleme yerel güncelleme olayı yaşandığı her sefer, birer vektör kendi sayacını ilerletir.
  • Her seferinde iki kopyaları ve her ikisi de hem sayaçların genelinde elemanın maksimum vektörün kendi kopyasında unsurları ayarlamak, senkronize: . Senkronizasyon işlemi, iki kopyaları aynı versiyonu vektörleri.

Yinelemeler çiftleri, , , kendi versiyon vektörleri kontrol ile karşılaştırılmıştır ve olduğu tespit edilebilir ya da: özdeş ( ), eş zamanlı ( ) ya da (sıralı veya ). Vector: sıralı ilişki olarak tanımlanır ve eğer her eleman yalnızca, daha az ya da buna karşılık gelen elemanına eşittir , ve elemanların en azından bir daha sıkı bir şekilde daha azdır. Ne olursa ya ama vektörler aynı değil, daha sonra iki vektörler eşzamanlı olması gerekir.

Sürüm vektörler veya varyantları gibi birçok dağıtık dosya sistemleri güncellemeleri takip etmek için kullanılır Coda (dosya sistemi) ve Ficus ve iyimser çoğaltma arkasındaki ana veri yapısı vardır.

Diğer mekanizmalar

  • Hash Geçmişini her güncellenmiş versiyonunun sağlamalarının bir dizi tutmak ve ayarlamak katılmasıyla bu setleri karşılaştırarak sayaçların kullanımını önlemek. Ancak bu mekanizma sadece olasılık garantiler verebilir.
  • Dosya sistemindeki dizin yapılarında gibi birden çoğaltılmış öğeleri işlerken Özlü Sürüm Vektörler önemli uzay tasarrufu yapılmaktadır.
  • Sürüm Pul kopyalarından oluşan bir değişken sayıda izleme izin ve sayaçlar çare yoktur. Bu mekanizma, bazı ortamlarda ölçeklenebilirlik sorunları tasvir edebilir, ancak Aralığı Ağacı Saatler_M değiştirilebilir.
  • Aralıklı Ağacı Saatler versiyonu vektörleri ve vektör saatler genelleme ve kopyaları / süreçlerin dinamik numaralarını verir.
  • Sınırlı Sürüm Vektörler sürece çoğaltma çiftleri atomik senkronize edilebilir olarak, sınırlı boyut sayaçları ile, sınırlı bir uygulanmasına izin.
  • Noktalı Sürüm Vektörler eşzamanlı istemcilerin çok sayıda yineleme erişimini aracılık sunucuların küçük bir set ile ölçeklenebilirlik yöneliktir.

Referanslar

Dış bağlantılar