folder Tahribat.com Forumları
linefolder Webmaster ve Yazılım Geliştiriciler
linefolder Server Klasörleme Mantığı (İleri Programlama)



Server Klasörleme Mantığı (İleri Programlama)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manglerman
    manglerman's avatar
    Kayıt Tarihi: 30/Aralık/2003
    Erkek
    SharpShooter bunu yazdı

    bildiğin yanlışlardan biri,

    klasör içinde dosyaların çok olursa sıkıntı çıkar.

    klasör içinde istediğin kadar klasör açarsın

    boşuna debelenme diye diyorum :) gerçi hoş hem bilgisiz hem çok atarlısın

     

    neyse senle uğraşmaya gerek kalmamış.

     

    çözdüm arkadaşlar 10 derinlik olacak şekilde her folder da maksimum 10 folder. buda 10 üzeri 10 ihtimalle aynı id si olanların aynı klasörde olacağı anlamına geliyor.

    rakamlara göre klasör oluşturuyorum çünkü örnek sonuçlar aşağıda

     

    247439 > /1/6/8/8/1/7/9/3/1/6/247439/
    247441 > /3/3/9/3/4/8/5/6/8/3/247441/
    255093 > /1/8/2/5/1/3/7/3/3/8/255093/
    255095 > /6/6/2/3/3/7/9/2/4/6/255095/
    264005 > /1/8/2/4/1/0/9/7/5/9/264005/
    264007 > /6/6/1/3/1/0/3/4/5/6/264007/
    264009 > /1/4/5/2/5/8/7/0/9/1/264009/
    264011 > /5/0/1/4/8/9/0/6/8/5/264011/
    264031 > /5/0/1/4/8/9/0/6/6/5/264031/
    264033 > /1/6/6/4/2/8/8/4/8/0/264033/
    264059 > /1/4/5/2/5/8/7/1/2/1/264059/
    264065 > /1/8/2/4/1/0/9/7/5/7/264065/
    264077 > /6/6/1/3/1/0/3/4/4/6/264077/
    268953 > /1/3/6/0/2/1/5/9/1/3/268953/
    268955 > /5/5/3/6/4/6/8/5/9/5/268955/
    268957 > /6/0/9/1/5/2/5/5/5/6/268957/
    268959 > /2/1/2/8/1/8/2/3/2/9/268959/
    268961 > /1/7/7/1/9/5/1/9/6/8/268961/
    268963 > /1/3/6/0/2/1/5/9/1/4/268963/
    268965 > /5/5/3/6/4/6/8/6/0/5/268965/
    268969 > /2/1/2/8/1/8/2/3/2/8/268969/

     

    son subfolder adını da productid yapıyorum ki aynı hashi alan başka bir id olursa farklı klasörlere resimleri atılabilisin diye.

    kodum şu şekilde: 

        private string ReturnPath(string id, string path = "")
        {
            if (path == "")
                path = @"/";
    
            string hashcode = id.GetHashCode().ToString().Replace("-", "");
            hashcode = hashcode + hashcode + hashcode + hashcode + hashcode + hashcode + hashcode;
    
            try
            {hashcode = hashcode.Substring(0, 10);}
            catch{}
    
            foreach (char c in hashcode)
                path += c.ToString() + "/";
    
            path += id.ToString() + "/";
            return path;
        }

     

    açıklaması şu şekilde: aynı id nin hashcode sini ne zaman alırsam alayım aynı sayı dönüyor. random bir değer değil. bazen - sayı döndüğü için -  leri replace ediyorum. 10 karakterden kısa olması ihtimaline karşı. neden böyle yapıyorum çünkü hepsinin roota olan uzaklığının eşit olması gerekiyor. şu anda hepsi 10.deeptte

    daha sonra foreachla path'i oluşturuyorum.

    eğer sizede lazım olursa substring(0,10) yazan yeri 5 yaparak 5 derinlikte de halledebilirsiniz.

    pm den ulaşanlar. maille uğraşanlar. buraya fikir beyan edenler. hepiniz sağolun :)

     

     

    manglerman tarafından 16/Tem/13 11:06 tarihinde düzenlenmiştir

    türk kızlarından sabun yapalım, rus kızları elini yıkasın.:)
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek

    neden böyle bir klasörleme ile uğraştığını anlayamadım hocam.


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Buremba
    Buremba's avatar
    Kayıt Tarihi: 16/Haziran/2006
    Erkek

    SharpShooter şu adamın banını sakın açmayın.


    . . .. . ... .
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manglerman
    manglerman's avatar
    Kayıt Tarihi: 30/Aralık/2003
    Erkek
    TeRRoR bunu yazdı

    neden böyle bir klasörleme ile uğraştığını anlayamadım hocam.

    çünkü hocam 1. mesajda da belirttiğim gibi

    windowsta eğer alt klasör sayısı abarırsa hdd nin io değerleri aşırı düşüyor ve bütün sistem iis dahik aşırı yavaşlıyor.

    ntfs nin dosya kabiliyeti yüksek olabilir bir bir klasörde maksimum 4,294,967,295 file olabilir kısmıda doğrudur ama bunların hepsi teorikte böyle. malesef pratikte böyle değil.

    hiç içinde 600.000 dosya olan bir klasöre girdinmi bilmiyorum. yada 1.000.000 subfolder olan  bir klasöre girdinmi bilmiyorum. ama ben ikisiylede karşılaştım explorer dondu defalarca. serveri restart ettik.  üstelik burası türkiyenin en büyük haber ajanslarından birisiydi :)

    velhasılı kelam böyle bir mantık gerekliydi ve şu anda halloldu :)


    türk kızlarından sabun yapalım, rus kızları elini yıkasın.:)
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SerYolcu
    SerYolcu's avatar
    Kayıt Tarihi: 14/Ocak/2010
    Erkek

    Senin sorununu tam olarak çözebilir mi bilemiyorum ama..

    HADOOP a bir baksan ?

    https://hadoop.apache.org/

    https://burakisikli.wordpress.com/tag/hadoop/

     


    Ondan çocuk olmamıştır (Kimsenin babası değildir). Kendisi de doğmamıştır (kimsenin çocuğu değildir). İhlas Suresi 3 üncü ayette bunlar yazar.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manglerman
    manglerman's avatar
    Kayıt Tarihi: 30/Aralık/2003
    Erkek
    SerYolcu bunu yazdı

    Senin sorununu tam olarak çözebilir mi bilemiyorum ama..

    HADOOP a bir baksan ?

    https://hadoop.apache.org/

    https://burakisikli.wordpress.com/tag/hadoop/

     

    onlarda arama indexleme filan var. bende hiç text yok aynı id ile istediğim yere ulaşabiliyorum.

    zaten hallettim hocam şu anda download kodunu yazıyorum :)

     

    sağol yinede.

     

     


    türk kızlarından sabun yapalım, rus kızları elini yıkasın.:)
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek
    manglerman bunu yazdı
    TeRRoR bunu yazdı

    neden böyle bir klasörleme ile uğraştığını anlayamadım hocam.

    çünkü hocam 1. mesajda da belirttiğim gibi

    windowsta eğer alt klasör sayısı abarırsa hdd nin io değerleri aşırı düşüyor ve bütün sistem iis dahik aşırı yavaşlıyor.

    ntfs nin dosya kabiliyeti yüksek olabilir bir bir klasörde maksimum 4,294,967,295 file olabilir kısmıda doğrudur ama bunların hepsi teorikte böyle. malesef pratikte böyle değil.

    hiç içinde 600.000 dosya olan bir klasöre girdinmi bilmiyorum. yada 1.000.000 subfolder olan  bir klasöre girdinmi bilmiyorum. ama ben ikisiylede karşılaştım explorer dondu defalarca. serveri restart ettik.  üstelik burası türkiyenin en büyük haber ajanslarından birisiydi :)

    velhasılı kelam böyle bir mantık gerekliydi ve şu anda halloldu :)

    Hocam bu durumda senin dosyalarını windows'da barındırman sorun zaten. Bence folder'lara takla attıracağına düzgün ve kalıcı bir çözüm baksan daha faydalı olur.


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek

    Elinin altında windows varsa win 2008 DFS'ine göz atabilirsin.


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    janni
    janni's avatar
    Kayıt Tarihi: 06/Nisan/2010
    Erkek

    Db ne kullanıyonuz hocam?

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manglerman
    manglerman's avatar
    Kayıt Tarihi: 30/Aralık/2003
    Erkek
    TeRRoR bunu yazdı

    Elinin altında windows varsa win 2008 DFS'ine göz atabilirsin.

    hocam DFS ye baktım genelde farklı pc lerde paylaşılmış olan klasörleri tek çatı altında toplamak için kullanılıyormuş.

    bizde şimdilik tek server var. 2X1 TB raid 1 ve  2X120 GB sas file serveri 1tb lik raidde tutucam. sas ların biri sistem. diğeri database server, mail server ve web server.

    ilerde file serveri ayırmak istersek o zaman kullanılabilir.

     

    database: sqlserver 2008 r2 dc edition.

     

     

     


    türk kızlarından sabun yapalım, rus kızları elini yıkasın.:)
Toplam Hit: 3405 Toplam Mesaj: 29