2012-07-01 2 views
3

현재 자바 애플리케이션 인 REST 웹 서비스가 있는데,이 서비스는 현재 텍스트 파일을 iPad 애플리케이션에 다운로드하고 있습니다. 우리는이 서비스를 확장하여 여러 요청에서 한 번에 10 - 20Mb의 바이너리 데이터를 다운로드하려고합니다. 이러한 요청은 수 킬로바이트에서 수 메가 비트에 이릅니다. 우리가 지금 어떻게 설치했는지, 다운로드는 매우 효율적이지 않으며 대부분 다운로드가 끝나지 않습니다. 누구든지 자원이나 행동 계획에 대한 제안이 있습니까?Java REST 서비스 바이너리 다운로드

감사

편집은 좀 더 많은 정보를 제공합니다. 현재 설정은 별도의 프레임 워크가없는 Tomcat 웹 서버입니다. 나는 URL에 blob 데이터를 다운로드하기위한 insert 문과 40여 개의 링크를 가져온다. 그런 다음 프로세스가 완료 될 때까지 한 번에 2 개의 요청을 2 개씩 만듭니다. 2 개 이상의 요청을 시도했지만 일반적으로 클라이언트가 연결 오류를 닫으면 더 빨리 실패합니다. 바이너리 데이터가 저장된 데이터베이스는 SQLite입니다.

도움이되는 데 필요한 다른 정보가 있습니까?

+1

잘 작동하지 않는 부분과 이것이 왜 생각되는 이유에 대해 자세히 알려주십시오 ... 현재 설정이란 무엇입니까? –

+0

일반적인 웹 브라우저에서 테스트 해 보셨습니까? 문제는 sqlite에서 BLOB를 읽는 부분에있을 수 있습니까? 40Mb 얼룩에 대한 대안을 평가 한 적이 있습니까? –

+0

@SimoneGianni 유감 스럽지만 얼룩은 필수 항목입니다. 나는 이런 식으로 가지 않았을 것이지만, 그것은 내가 붙어있는 것입니다. 데이터베이스를 직접 쿼리하는 대신 내 Java 응용 프로그램을 시작할 때 일부 캐싱을 사용하여 쿼리 성능을 향상 시켰습니다. 감사! –

답변

0

이것은 Apache Tomcat에서 쉽게 작동합니다. 여러 요청 (이미지, JSON 및 XML)을 통해 서버에서 데이터를 다운로드하는 iOS에서 여러 앱을 개발했습니다. 문제는 iOS 앱에있을 수 있습니다. 별도의 스레드로 앱에서 여러 요청을하고 있습니까? iOS는 네트워크 작업을 위해 차단할 UI 스레드를 좋아하지 않습니다.

+0

ASIHttpRequest 라이브러리를 사용하여 다운로드하고 있습니다. 이것은 자신의 향미료를 사용하고 있습니다. 나는 주된 문제는 많은 요청이있는 경우 사용자가 대기열에 들어가게되지만 대기 시간이 길어지기 때문에 데이터를 다운로드하기 시작한다는 것입니다. –