2013-01-14 29 views

cevap

7

Bunun için bir Guid kullanabilirsiniz:

Sandrino bazı üçüncü taraf kitaplıkları düşünebiliriz ( çoğaltılamaz olma ihtimali daha düşüktür GUID kullanarak) söylediklerine ek olarak
string blobName = Guid.NewGuid().ToString(); 
4

hangi çatışma içermeyen tanımlayıcılar örnek oluşturmak: Flake ID Generator

DÜZENLEME

Herve, herhangi bir blob adıyla, Azure Depolama yük dengeleme ve blob ayrıştırma ile dikkate alınması gereken çok geçerli Azure Blob özelliğine işaret etmiştir.

Azure tüm blomaları bölüm sunucularında tutar. Belirli bir bloğu depolamak için hangi bölüm sunucusu kullanılmalıdır blob konteyner ve blob dosya adı üzerinde karar verilir. Ne yazık ki, blob bölümleme için kullanılan algoritmayı açıklayamadım ve bulamadım.

Azure Blob mimarisi hakkında daha fazla bilgi Windows Azure Storage Architecture Overview makalesinde bulunabilir.

4

"Eklentide" benzersiz bir ad üreten hiçbir şey yoktur; zamanın önünde ismin gelmesi gerekiyor. Bloğunuzun adını seçerken, bir çeşit ardışık sayı üreten herhangi bir algoritma kullanırken (bir blobun adının başında veya sonunda) dikkatli olun. Bkz. Azure Depolama, yük dengeleme için ismine dayanır; Sıralı değerleri kullanarak Azure Blobs'a erişme/yazma konusunda çekişme oluşturabilir, çünkü Azure'un depolamasını düzgün şekilde yük dengelemesini önleyebilir. Her düğümde (yani sunucuda) 60MB/Sn elde edersiniz. Bu nedenle, yük dengelemeyi sağlamak ve birden çok depolama düğümünde 60MB/Sn kaldırabilmek için, lekeleriniz için rastgele adlar kullanmanız gerekir. Sandrino'nun önerdiği gibi, bu sorunu önlemek için genellikle Guids kullanıyorum.

+0

bu çok geçerli bir nokta (+1). BTW, bölme katmanı tarafından blob * 'u blob depolama düğümlerinde dağıtmak için kullanılan algoritmayı açıklayan bir makaleye atıfta bulunuyor mu? Soru açısından çok faydalı olacağını düşünüyorum. – Tom

+0

Hayır Yapmam; Bunun devam ettiği gerçeğiyle ilgili bir MS makalesi vardı (altta yatan detaylar olmadan), ama artık bulamıyorum ... Eğer göndereceğim bağlantıyı bulursam. MS'in bölümleme ile neler yaptığını kontrol edemezsiniz ve verilerinizin ve diğer kiracı verilerinizin kullanımına dayalı olarak dinamik olması muhtemeldir. Yani yaptığım şey, temel erişim katmanını deterministik olarak ele alıyorum. –

+0

bu yeterince adil. Azure Depolama mimarisini anlatan bir bloga yalnızca aşağıdaki bağlantıyı buldum: http://blogs.msdn.com/b/windowsazurestorage/archive/2010/12/30/windows-azure-storage-architecture-overview.aspx – Tom

İlgili konular