2012-07-01 33 views
3

我有一個Java REST web服務,當前正在將文本文件下載到iPad應用程序。我們希望將服務擴展到現在可以從多個請求一次下載10 - 20 Mb的二進制數據。這些請求的範圍將從幾kb到幾Mbs。我們現在如何設置它,下載效率不高,大部分時間沒有完成下載。有沒有人對資源或行動計劃有任何建議?Java REST服務二進制下載

謝謝

編輯以提供更多信息。目前的設置是tomcat web服務器,沒有額外的框架。我傳遞一個URL來獲得一堆插入語句和大約40個鏈接來下載blob數據。然後,我一次提出40個請求2,直到過程完成。我已經嘗試了2個以上的請求,但是它通常會在客戶端發生嚴重連接錯誤時很快失敗。存儲二進制數據的數據庫是SQLite。

是否有任何其他信息需要幫助?

+1

請提供更多詳細信息,說明哪些工作不正常,以及爲什麼您認爲這是...目前的設置是什麼? –

+0

您是否從普通網絡瀏覽器進行過測試?問題可能在於從sqlite中讀取blob的部分嗎?你評估過40Mb斑點的替代品嗎? –

+0

@SimoneGianni不幸的是blob是強制性的。我不會這樣走,但這是我堅持的。當我的Java應用程序啓動而不是直接查詢數據庫時,我用一些緩存提高了查詢的性能。謝謝! –

回答

0

這應該很容易與Apache Tomcat一起使用。我在iOS上開發了幾個應用程序,通過多個請求(圖像,JSON和XML)從服務器下載數據。我認爲這個問題可能在iOS應用程序中。你是否在單獨的線程中從你的應用程序發出多個請求? iOS不喜歡用於網絡操作的UI線程被阻止。

+0

我正在使用ASIHttpRequest庫進行下載。這是用自己的nsopeartionqueue風味。我認爲主要的問題是,如果有很多請求,tomcat會將用戶放入隊列中,但這會增加等待時間,甚至開始下載數據。 –