2012-12-30 3 views
2

여기에 대한 조언과 권장 사항이있을 경우 바로.조언 : sqllite ios를 웹에 동기화하는 가장 좋은 방법

기기의 로컬 데이터베이스에 데이터를 쓰고 곧바로 또는 나중에 웹 서비스 (기본적으로 클라우드 서비스)에 해당 레코드를 복제하는 iPad 앱 (IOS6)을 만듭니다.

당신이 생각하는 가장 좋은 방법은 무엇입니까?

"동기화"라는 로컬 DB에 열이 있고 레코드가 생성되면 즉시 플래그를 '0'으로 설정하고 즉시 또는 일반 모드에서 '0'으로 레코드를 동기화하려고합니다. 간격. 그런 다음 각 레코드가 복제 될 때 플래그를 '1'로 설정하십시오.

앱을 오프라인으로 작업 한 다음 기기가 내 웹 서비스에 사용 가능한 연결을 가지고있을 때 동기화하려고합니다.

이상적으로 모든 레코드를 즉시 또는 초 후에 복제해야하지만 네트워크에 연결되지 않은 경우 복제를 대기열에 넣을 수 있기를 원합니다.

그래서 당신이 생각하는 가장 좋은 방법은 무엇입니까? 미리 감사드립니다 :)

답변

2

솔루션은 전체 솔루션의 복잡성에 크게 의존합니다.

예를 들어, 레코드가 로컬 장치에서만 생성 된 다음 업로드되지 않고 수정되지 않으면 솔루션이 충분할 것입니다.

그러나 로컬 장치에서 레코드 업데이트를 허용하거나 웹 서비스에 들어간 후에 레코드를 업데이트 할 수 있으면 충돌 해결 관리를 시작해야합니다. 이 상황을 해결하는 방법은 "마스터"데이터베이스 (웹 서비스에 의해 업데이트 된 데이터베이스)에 타임 스탬프를 기록하고 레코드가 새 레코드 또는 업데이트로 업로드 될 때 해당 타임 스탬프를 동기화하는 것입니다. 사용자가 레코드를 업데이트하면 타임 스탬프를 보내고 데이터베이스의 값이 보낸 데이터베이스와 다른 경우 업데이트 요청이 거부됩니다. 물론이 충돌 해결 방법에는 여러 가지 방법이 있습니다.이 방법은 응용 프로그램과 사용자에게 적합합니다.

+0

로컬 레코드는 작성된 후에 변경되지 않습니다. 그럼 내가 올바른 길을 가고있는 것처럼 들리네. – Bobster4300

+0

네, 맞습니다. 한 번만 쓸 수 있으면 복잡해 질 필요가 없습니다. –

+0

조언 해 주셔서 감사합니다. – Bobster4300

관련 문제