Biraz kafa karıştırıcı başlık için özür dilerim. Bunun nasıl yapıldığını gerçekten bilmiyorum. Benim durumum şudur: Akademik bir simülasyon aracım var, benim için bir web geliştirme süreci geliştiriyorum. C++ tabanlı simülatör, küçük sistemler için hesaplama açısından oldukça verimli (ikinci bir çalışma zamanının onda biri ile yüzlerce arasında) olsa da, önemli miktarda (web uygulaması açısından) veri miktarını (~ 4-6mb) oluşturabilir. Kullanıcı index.html dosyasını erişirSunucu tarafı simülasyonu için büyük veri kümeleri nasıl kullanılır -> istemci tarayıcısı
- aşağıdaki- olarak
Şu kurulduğundan. Sol taraftaki bu sayfa, kullanıcının simülasyon parametrelerini girebileceği etkileşimli bir forma sahiptir. Sağ tarafta, oluşturdukları sistemin bir temsili ve simülasyon verilerinin çeşitli grafikleri için bazı grileştirilmiş sekmeler vardır.
- Kullanıcı "Simülasyon çalıştır" ı tıklatır. Bu, istenen sim parametrelerini bir AJAX çağrısı yoluyla bir runSimulation.php dosyasına gönderir. runSimulation.php, gönderilen verilere dayanarak bir girdi dosyası oluşturur, daha sonra bu giriş dosyasını kullanarak simülatörü çalıştırır. Simülatör, çeşitli çıktı dosyalarında 4-6mb'lik veri yayıyor.
- Simülasyon tamamlandığında, tarayıcıya verilen yanıt, returnData.php dosyasını çağıran başka bir javascript işlevidir. Bu php betiği, çıktı dosyalarındaki verileri JSON verileri olarak paketler, JSON verilerini tarayıcıya döndürür, ardından veri dosyalarını siler.
- Bu yanıt verileri daha sonra tarayıcının javascriptindeki birkaç çizim nesnesine beslenir ve çizim sekmeleri etkinleşir. Kullanıcı daha sonra çizilen verilerle açılabilir ve etkileşime girebilir.
Bu kurulum ancak iki konu çalıştırıyorum, Tamam çalışıyor:
- dönüş veri yüklenmesi zaman alabilir geri geliyor verilerin yavaş 4-6mb olduğunu. (Bu veri gziplidir, bu da tarafini önemli ölçüde azaltir, ancak yine de daha hizli bir baglantida 20+ saniye sürebilir)
- Bir sonraki hedef, kullanicilarin, sonuçlari karsilastirabilecekleri çoklu simülasyon çalismalari çizmesine izin vermektir.
Düşüncelerim, kullanıcı oturumu etkinken, veri dosyalarını sunucuda tutmak isteyebileceğim. Bu, kullanıcının sadece görüntülemek istediği arsaya ilişkin verileri yükleyebilmesini (ve mevcut artalanın sonuçlarını görüntüledikçe arka planda diğer verileri yükleyebilmesini) sağlayacaktır. Birden fazla işlem için, sunucuda oturan birden fazla veri kümesine sahip olabilir, kullanıcının ihtiyaç duyduğu anda/zamanda indirmesi için hazır olabilir.
Ancak, bu düşünce çizgisiyle büyük bir sorunum var - kullanıcının sunucuyu terk ettiğini (php'de) nasıl tanıyacağını ve verileri nasıl sileceğimi nasıl anlarım? Kullanıcıların makinedeki sürücü alanını devralmasını istemiyorum. Bu tür bir web uygulaması için en iyi uygulamalar hakkında düşünceleriniz var mı?