2014-09-08 2 views
-1

현재 시나리오 : webservice (php/mysql 빌드)가 있습니다. 사용자가 채운 데이터는 원격 서버에 저장됩니다.원격 서버와 데이터를 동기화하기위한 아키텍처

문제는 사용자의 인터넷 연결 상태가 매우 좋지 않아 웹 서비스가 대부분 중단 된 것입니다. 데이터를 로컬에 저장하고 인터넷을 사용할 수있을 때 동기화 할 수 있습니까? 사용자는 자신의 컴퓨터에 데이터베이스가 설치되어 있지 않을 수도 있으며 작업 할 로컬 서버도 없습니다. 로컬 스토리지 위한 HTML 5의 기능에

+0

정보는 로컬 어딘가에 저장해야하므로 데이터베이스가 필요합니다. 그렇지 않으면 새로운 인터넷 연결을 요청하십시오. – machineaddict

+0

좋은 제안; -) ...하지만 그것은 항상 해결책이 아닐 수도 있습니다 ... 사용자가 여행 중이며 연결이 자주 켜지거나 꺼지는 경우에는 어떻게 될까요? 또한 때로는 사용자가 모바일 데이터 대신 WIFI 또는 측정되지 않은 연결을 사용하는 경우에만 데이터를 전송하려고합니다 ... – Amol

답변

0

모습 일반적으로 내가 IndexDB와 함께 갈 것와 연결이 다시

http://diveintohtml5.info/storage.html되면 다음 서버에 로컬 데이터를 밀어 - 당신에게 기능에 대한 간략한을 제공해야하며, 이행.

1

사용자가 상자에 RDBMS를 설치 한 경우에도 통신 할 수있는 방법이 없을 것입니다. HTML 5 Storage API을 사용할 수는 있지만 연결 문제는 해결되지 않습니다.

그리고 아마도 localStorage (JavaScript)에서만 직접 사용할 수 있기 때문에이를 활용하기 위해서는 복잡하고 완전한 기능의 JS 응용 프로그램을 만들어야합니다.

참고 : 프로필을 기반으로, 당신의 자바 스크립트 기술을 등의 작업에 적합하지 것이라고 추정한다.

대상 사용자가 모바일 사용자 인 경우 기본 대안을 만들 수 있습니다.

인터페이스에 HTML을 사용할 수 있습니다 (내장 웹 브라우저 구성 요소 사용). 또한 모바일 장치에서 SQLite DB 및 파일 저장소를 사용할 수있게하여 필요한 데이터를 캐시 할 수 있습니다.

+0

이미지를 업로드해야하므로 localStorage로 충분할 것으로 생각됩니다. 내 타겟 고객은 모바일 사용자가 아닙니다. 또한 사용자에게 일종의 RDBMS가 설치되어 있으면 인터넷을 사용할 수있을 때 데이터를 업로드 할 수 있습니다. –

+0

사용자에게 RDBMS가 설치되어 있어도 (sqlite, mysql 등) ** JS에서 액세스 할 수있는 방법은 ** 없습니다. 그리고 사용자의 컴퓨터에서 백엔드 코드를 실행할 수 없습니다. –

+0

할 수는 있지만 사용자는 할 수 있습니다. 그물이 뜨면, 그는 데이터를 업로드하기 위해 버튼을 클릭하고, 문제는 RDBMS없이 관계형 뷰를 유지하는 방법을 말할 수 있습니다. –

관련 문제