Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Network: Dosya Kopyalama (Java)


Öne çıkan mesajlar

Mesaj tarihi:
Simdi bir sorum var diyelim ki cok fazla ve büyük dosyalari network üzeri kopyalacagiz.Bu performans sorunlari yaratiyor. bu en iyi nasil yapabilirim? deneyimi olan var mi?
Özellikle java örnekleri olursa süper olur yada framework öneleri.
Mesaj tarihi:
ilk önce ftp aciyoruz karsi tarafa sonra temp klasörü acip
güzelce indiriyoruz. Temp klasöründen de network de bir yere kopyaliyoruz. bu kopyalama esnasinda network sürünüyor.
(networkü adama edecek personel yok orda bir ayar cekemiyorum).
1MB lik dosyada var 250MBlik dosyada.
Mesaj tarihi:
FTP en yavas calisan protokollerden biri. Haliyle son care degilse direkt es gec.

Su noktada imkanlarin ne oldugunu bilmeden soruyu cevaplamak da guc. Karsi tarafta yazilim calistirabiliyo musun mesela ? Karsidaki sunucu hep sabit mi kaliyo ? OS olarak hep linux mu calistiriyo ? Kopyalama icin sana sunulan bir protokol listesi mi var yoksa sen ne istersen uygulanacak mi ? Dosyayi illa Java ile mi okuyup gondereceksin yoksa sistem ustunde komut calistirip izlemen olasi mi ?

Neden ahiret sorusu gibi dizdim onu da diyeyim; surekli lnux-to-linux calisiyosan ve rsync sahane mesela bu is icin. Ayni sekilde scp ya da modifiye edilmis cp komutu da sahane is gorebiliyo.
Mesaj tarihi:
ufak ufak dosyalarsa di'ye katılıyorum.
ftp'nin de sürünmemesi lazım aslında ama
systemcall ile yapılan bir scp veya sshj ile yapılan bir scp işini gayet güzel görür.

yok ben fantazi adamıyım diyorsan raw socket access ile halledebilirsin.
bir de yukarda önerdiğim yöntem var.
Mesaj tarihi:
simdi senaryoyu yazayim daha iyi anlasilir.
Simdi hala hazirda benim yazdigim bir programm var bu isi yapan.
ama performansi gercekten cok kötü. Yani Java örnekleriyle gelirseniz sevinirim.

Elimizde iki Server var biri Windows biri Linux. Bunlarin databaseleri var her gün backup yapilmak zorunda. Bu iki server Webserver ve FTPleri var. Serverlar bizim networkümüzde degil. sadece ftp yolu ile ulasabilirim.
O yüzden programim söyle calisiyor.

FTP Baglan-> dizini scan et-> dosyalari temp klasörünü indir-> Temp klasöründen backup klaösürüne kopyala.

FTP baglanti olayinda apache commons net'i kullaniyorum. orda cok bir sorun yok gibi. olay lokal dosya kopyalamada.

http://baptiste-wicht.com/posts/2010/08/file-copy-in-java-benchmark.html
surasi ilginc bu aksam oturup okuyacam.

Aslinda bana örnek Java kodu yada framework söyleyin desem daha iyi.
Mesaj tarihi:
Benim anladigim kadariyla hali hazirda problemini cozecek rsync scp cp ... ne kadar komut varsa bunlari es gecip problemi kendi yazacagin programla cozmek istiyosun.

O noktada p2p protokol olarak dusunup soyle bir sey buldum : http://www.freepastry.org/

pek anlamam bu islerden, p2p java file copy diye aradim googleda bu cikti.load balancing falan demis.belki isini gorur.
Mesaj tarihi:
FTP yaptiktan sonra local file move da network nasil surunuyor, backup directory nfs mount vs. ?

FTP yaparken network surunuyor ise FTP den baska carem yok dedigin icin diyecek pek birsey kalmiyor.

Protobuf ile local yada network de file copy/move overkill, duzgun fragmentation yapilmazsa memory kucaga gelir, protobuf daha cok protocol logic messaging icin.
Mesaj tarihi:
camel uzerinden basit bir blueprint ile isin hallolur, daha complex islere ihtyacim var dersen Apache Servicemix.

Tabi bu adamlarinda yapacagi is eninde sonunda FTP yapmak, eger bottleneck in FTP de ise degisen birsey olmayacaktir.
Mesaj tarihi:
yok abi anlatamadim. olay ftp degil olay.
server1 'den server2' ye dosya kopyalama. (network ve rounting boktan olabilir). domain'de 3-5 GB veri kopyalama yaptigin zaman olay siciyor.
Mesaj tarihi:
Yani eğer uygulama ağa bağlı bi makinede çalışacaksa ve server1 ve server2'ye yazmak/okumak için gerekli yetkilere sahip olursa çok basit bi şekilde (Camel context).from("file://server1/ahmet.txt").to("file://server2/ahmet.txt") gibi bi şey yapmak yeterli olacaktır. http://camel.apache.org/file2.html
×
×
  • Yeni Oluştur...